使用 FlowForce Server 实现数据转换的自动化
Altova 设计了 FlowForce Server,旨在为由专用高速服务器执行的数据转换提供全面的自动化、管理和控制功能。 FlowForce Server Beta 3 版本目前免费提供给 MapForce Enterprise 和 Professional 版本的用户,仅限在测试期间使用。 FlowForce Server 可以提供数据映射的热文件夹自动化功能,并维护详细的活动日志,用户可以通过网页浏览器窗口远程监控这些日志。 以下截图显示了运行 FlowForce Server 的日志 MapForce 我们在名为“……”的博客文章中介绍过一种数据映射方案,该方案可以将CameraLog数据转换为GPX格式 在一个数据映射过程中处理多个输入文件. 这个映射关系使用了通配符来指定多个输入文件,以便进行处理。

在 FlowForce Server 上,设置、运行和查看此类任务的结果只需要几分钟的时间。
使用通配符还是热文件夹? 通配符和热文件夹会增加数据转换工作流程的复杂性,成功使用它们需要仔细的规划。让我们花一点时间深入了解一下我们想要实现的场景。假设我们是一家出版自然和徒步指南的公司,负责IT部门。我们雇佣摄影师,他们外出徒步,并使用数码相机的GPS跟踪功能记录他们的路线。我们希望将相机GPS日志文件转换为基于XML的.gpx格式,以便进行地图绘制和其他处理。我们将公司网络上建立一个文件夹,供摄影师上传他们的GPS日志文件。这将是FlowForce Server监控的热文件夹,用于获取输入文件,以便进行CameraLogToGPX的映射转换。我们只需要对每个输入文件进行一次处理。因此,在数据转换完成后,我们可以将输入文件从热文件夹中删除。我们还希望将输出文件放置在单独的文件夹中。这表明以下FlowForce Server的工作流程步骤:
- 请查看“热文件夹”,看看是否有新的输入文件已经到达
- 对输入文件进行数据映射,并将输出文件放置在单独的文件夹中
- 将输入文件移动到永久存储位置
下图展示了一种我们可以使用的工作流程文件夹结构,其中包含已准备好的文件,可以直接放入“热文件夹”进行处理

指定的“热文件夹”为 C:CameraGPShotFolder,生成的 .gpx 文件将保存在 C:CameraGPSoutputFiles 文件夹中。当数据映射完成后,输入文件将被移动到 C:CameraGPScompletedInput 文件夹。
** 在服务器上部署映射** MapForce Beta 是 FlowForce Server 的一个组件,它与 MapForce 类似,并增加了一个功能,可以将映射文件部署到 FlowForce Server。现有的数据映射在部署时通常不需要进行任何特殊准备。我们只需要考虑输入和输出文件的文件名。我们将指示 FlowForce Server 将输入文件名作为作业参数,以便在新的文件到达“热文件夹”进行处理时,能够自动识别。原始映射中为输入组件指定了通配符文件名,这不再需要。我们还需要让 FlowForce 指定输出文件的位置。 可以在 MapForce Beta 中打开映射,从输入组件中移除文件名,并在输出文件中添加一个移除文件夹路径的功能,以便 FlowForce Server 可以设置目标位置。下图显示了映射中新的文件名定义。

在 MapForce Beta 的部署对话框中,为了部署映射关系,我们可以选择立即在 Web 浏览器中打开一个 FlowForce Server 的作业定义窗口,以便完成作业操作的配置。

在 FlowForce Server 中定义任务 以下截图展示了在 FlowForce Server 任务属性窗口中定义的完整任务步骤:

任务触发器定义在窗口的底部。每30秒,FlowForce Server 会检查指定的“热文件夹”。如果文件夹内容发生变化,FlowForce Server 将执行任务步骤。每个执行步骤可以是一个已部署的 MapForce 映射、一个系统步骤,甚至可以是另一个 FlowForce Server 任务。进入“热文件夹”的每个新文件的名称将成为一个名为 的参数,我们在映射步骤中将其用作输入文件名,在移动步骤中则用作要移动的文件名。映射步骤中的“工作目录”参数定义了输出文件将存储的位置。FlowForce Server 还提供了设置任务自动运行和停止时间、用户权限和角色,以及队列设置的功能,用于定义任务运行之间的最小时间间隔以及任务的最大并行实例数。在我们的场景中,我们很可能收到多个以组的形式传输的输入文件,这些文件是从摄影师的存储卡上复制而来的。多个并行运行可以显著提高处理速度。通常,您可以将并行运行的数量与运行 FlowForce Server 的机器上的核心或 CPU 数量相匹配。

查看工作日志
每次 FlowForce Server 运行我们的任务时,都会在“日志视图”中新增六行记录,如图所示。第一行和最后一行分别记录任务的开始和结束,而每个“执行步骤”都会生成自己的开始和结束消息。 “已成功完成,状态码:0” 表示该步骤成功执行,没有发生任何错误。

我们可以点击“更多”链接,以获取关于每个执行步骤的详细报告。下图显示了“MapForce”映射执行步骤的消息:

将每个文件放入“热文件夹”后,FlowForce Server 会生成一个独立的作业实例,即使是批量添加多个文件也是如此。这使得追踪任何导致错误的单个输入文件变得容易。当我们向“热文件夹”中放入四个文件时,FlowForce Server 运行了四个作业,输出文件夹的内容如下所示:
