是否有书籍或任何文档可以描述设计批处理(离线)流程以便在双方之间共享数据的最佳实践?
我在spring批次网站上找到了一些有用的信息,但它的级别相当低: batch processing strategies和batch principles guidelines。
批次有很多注意事项,例如:
如果有一些确保设计遵循现场最佳实践的授权文件或清单,那将是件好事。
<小时/> 的更新:
我会在遇到这些内容时添加本节的答案。
本节摘自@ user1813068的回答。
您可以在此link以及此link找到一些架构设计模式,这些模式描述了合作伙伴进行合作伙伴集成和数据同步的方法。
此维基百科页面还提供了架构模式的高级概述,并包含数据集成的模式:architectural patterns。
这本书Data Integration Blueprint and Modeling也非常好。
本节中的大部分内容来自此处:source
使用页眉和页脚进行平面文件交换被认为是最佳实践。可以在没有页眉和页脚的情况下交换平面文件,并且文件的命名可以概述与标题相同的一些信息。使用分隔文件时,始终需要字段列表标题。
在系统之间交换数据时,接收方确切知道正在发送的数据类型非常重要。确保这一点的一种方法是提供一个标题行,其中包含有关数据内容及其处理方式的相关信息。
使用平面文件时,文件名本身也可用于通知接收方文件内容。但是,标题行可以为所有可用选项提供更好的支持。
使用API时,可以以类似的方式提供这些标题字段。实施将由API服务的开发人员确定。
如果包含标题,则它由一组数据组成,并且必须始终是文件中的第一个数据。
使用基于文件的格式表示没有剩余数据可供处理时,可能会提供页脚。
处理时,应忽略页脚行后面的数据。此外,在创建数据时,请注意页脚行之后的任何数据都将被忽略。
分隔文件
事实上的行业标准是分隔文件。
逗号分隔(CSV或逗号分隔值)文件通常需要数据封装,通常使用双引号(“);然后必须使用反斜杠()或双引号(”“对双引号进行转义。由于CSV实现的不一致,建议使用制表符作为分隔符,不进行封装。在这种情况下,必须从数据中删除制表符。分隔文件通常可以更快地处理XML文件。
XML文件
业内有些人更喜欢XML文件。 XML允许更清晰地表示信息,因为它支持嵌套数据。许多公司对此格式的支持有限或不支持,因此不建议这样做。
UTF-8编码
所有数据都应采用UTF-8编码,以确保所有系统之间的最大兼容性。
日期&amp;次
建议将UTC时间用于所有日期和时间。时间字段以防止混淆。
答案 0 :(得分:5)
您可以在此link以及此link找到一些架构设计模式,这些模式描述了合作伙伴进行合作伙伴集成和数据同步的方法。
此维基百科页面还提供了架构模式的高级概述,并包含数据集成的模式:architectural patterns。
答案 1 :(得分:1)
根据您的要求,您可以查看数据复制系统以按原样传输数据。有很多商业和开源工具。您可以查看SymmetricDS
的源代码和文档如果您需要进行一些转换和处理,可以查看ETL(提取,转换,加载)工具。大多数数据仓库书籍都有关于该主题的章节,例如Here