【问题标题】:Keeping files or database records? Java and Python保存文件或数据库记录? Java 和 Python
【发布时间】:2010-04-11 18:49:27
【问题描述】:

我的网站将使用神经网络根据用户数据预测事物。用户可以选择要用于训练网络的数据,然后使用他们训练的网络来预测事物。

我正在使用一个框架来创建、训练和查询网络。这使用Java。该框架具有将网络保存到 XML 文件的持久性。

存储这些文件的最佳方式是什么?我可以看到几个潜在的想法,但我需要帮助来选择最好的:

  1. 将每个网络保存到一个单独的 XML 文件中,该文件的名称存储在数据库中。每次都加载。
  2. 将所有网络保存到同一个 XML 文件中,每个网络具有不同的名称,存储在数据库中。
  3. 以某种方式将通常写入 XML 文件的内容传递到 Django 站点以写入数据库。当需要进行预测时,这需要返回给 Java 代码。

我可以做到 1 或 2,但我认为他们的性能将非常有限,而且我目前在共享主机上,所以我不知道他们会对数千个文件感到多么高兴。此外,在向一个 XML 文件添加几千条记录后,我注意到保存到该文件时性能会受到巨大影响。

如果我能够以某种方式实现版本 3,我认为那将是最好的。访问数据库的单独进程没有问题,我认为性能会更好。更不用说周围没有文件了。

但是,我用于保存到文件的神经网络框架 (Encog) 中的内容需要访问 Java 文件对象,而不是可以保存到数据库的字符串。除非我可以在这里做一些 Java 魔法(我对 Java 知之甚少),否则我能看到的唯一方法是使用临时文件,但我不知道这是否是正确的方法。

我将不胜感激有关实施上述 3 个想法或任何替代方案的最佳方式的任何想法。谢谢!

更新:在与我的老板交谈后,我们都同意想法 3 是最好的。这似乎是“正确”的做法。我希望有人可以帮助我们解决这个问题。谢谢。

【问题讨论】:

    标签: java xml database django file


    【解决方案1】:

    我认为我有最好的解决方案,因为没有人回答,这就是我目前要采用的解决方案。

    我正在用 Java 创建一个临时文件并使用它来保存数据。然后在退出之前,我读取该文件并将其输出到标准输出,以便 python 代码可以将其提取并存储在数据库中。值得庆幸的是,它始终是相似的大小,因此我可以将数据库字段上的字符数限制为 3500。

    如果有人得到更好的解决方案,请评论告诉我,但目前,这是我将使用的。

    【讨论】:

    • 也许您可以在 jython 上阅读有关 jython 和 django 的信息,以便将 webapp 与您的框架进行通信?
    猜你喜欢
    • 1970-01-01
    • 2021-02-02
    • 2017-10-25
    • 1970-01-01
    • 2012-03-27
    • 2010-11-06
    • 1970-01-01
    • 2021-05-09
    • 1970-01-01
    相关资源
    最近更新 更多