3

在我们作为一家气象公司的 Web 开发人员工作期间,我们一遍又一遍地面临着同样的任务:从某个地方(FTP/Web/目录/邮件)获取一些文件并将包含的数据导入数据库。

当然,文件格式永远不会相同,数据库总是设计不同,必须处理无数特殊情况等等。

所以现在我正在为这种工作计划一个导入框架。由于我们都是经验丰富的 PHP 开发人员,并且当前的脚本是 PHP 或 Perl,我们将坚持使用 PHP 作为脚本语言。

  • 数据获取器将从源中获取文件,将其打开并将内容存储到字符串变量中。(别担心,PHP 会从我们这里获得足够的内存。)
  • 数据处理程序将完成复杂的工作以将字符串转换为某种数组。
  • 该数组将被保存到数据库或写入新文件或我们应该对它执行的任何操作。

除了这个功能之外,还有一些常见的错误处理、日志写入和电子邮件报告。

这个想法是使用类的集合(一些 getter 类,许多专门的处理程序,一些 writer 类)。

我的问题:我如何在工作脚本中实际组织这些课程?我是否发明了某种将被解释的元语言并相应地调用类?或者只是提供这些类必须实现的一些简单接口,而我的用户(就像我说的:经验丰富的 PHP 开发人员)会编写加载这些类的小型 PHP 脚本?

第二个版本几乎可以肯定提供最大的灵活性和可扩展性。

对于这样的事业,您还有其他想法吗?

4

3 回答 3

4

我建议借鉴数据转换服务(DTS) 的概念。您可以拥有数据源和数据接收器、导入任务、转换任务等。

于 2009-02-09T09:49:52.513 回答
3

在需要导入和导出的数十种不同外部数据格式的类似环境中工作,我可以建议至少尝试让它们统一数据格式。我们开发了一些工具来帮助我们公司以外的其他人将他们的数据转换为我们的格式,从而取得了一些成功。我们还免费为他们提供了源代码。

其他一些人现在正在使用我们的工具为我们转换他们的数据,如果他们改变了格式,就是他们改变了转换工具。对我们来说,头痛的原因之一少了。

在一种情况下,它甚至会导致另一家公司切换到我们系统内部使用的文件格式。当然,这只是一个案例,但我认为这是漫长道路上的第一步;-)

于 2009-02-09T10:30:54.567 回答
0

定义标准 Web 服务在这里不起作用是有原因的吗?然后,您可以提供标准格式的数据,如果出现错误,则返回 SOAP 错误(可能由输入文档中的字段填充)。

它可能比 Pavel 的建议更有限(或者需要更多的前期设计),但可能值得考虑。

于 2009-02-09T10:34:54.120 回答