CN112818022A - 数据流式同步系统、设备以及方法 - Google Patents

数据流式同步系统、设备以及方法 Download PDF

Info

Publication number
CN112818022A
CN112818022A CN202110211711.3A CN202110211711A CN112818022A CN 112818022 A CN112818022 A CN 112818022A CN 202110211711 A CN202110211711 A CN 202110211711A CN 112818022 A CN112818022 A CN 112818022A
Authority
CN
China
Prior art keywords
data
synchronization
message
module
increment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110211711.3A
Other languages
English (en)
Inventor
张丙松
阮金亮
高学鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Xinzhi Junyang Information Technology Co ltd
Original Assignee
Beijing Xinzhi Junyang Information Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Xinzhi Junyang Information Technology Co ltd filed Critical Beijing Xinzhi Junyang Information Technology Co ltd
Priority to CN202110211711.3A priority Critical patent/CN112818022A/zh
Publication of CN112818022A publication Critical patent/CN112818022A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24568Data stream processing; Continuous queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种数据流式同步系统,包括同步配置单元、消息读取单元、数据加工单元以及数据入库单元,该同步配置单元被配置为:维护目标系统的增量订阅信息,根据订阅配置确定是否启用相关表的增量同步,需要同步的字段范围,目标端写入的同步表信息,目标端选择的审计表信息;该消息读取单元被配置为:执行增量消息的格式检查及异常处理;该数据加工单元被配置为:执行消息结构的解析与加工;该数据入库单元被配置为:执行增量消息的过滤分组,消息主键的匹配与排序,增量数据的插入,数据库事务的提交与回滚,异常捕获与抛出,其中该数据流式同步系统的各单元形成星型拓扑结构,基于消息队列中间件解耦上下游系统间的数据同步关联。

Description

数据流式同步系统、设备以及方法
技术领域
本发明涉及计算机领域,尤其涉及一种数据流式同步系统、设备以及方法。
背景技术
随着各行业内企业之间的竞争越来越激烈,数据信息化是各企业提高行业竞争力必要路径之一。伴随着各个企业数据信息化建设的发展,越来越多的信息系统的建设大大提高了企业的信息化水平。然而,由于早期各个系统建设的体系结构不尽相同,以及缺乏长远的规划,应用经常面临信息孤岛的问题。系统与系统之间的功能重复建设,相互协作缺乏规范,交互复杂,造成单个系统如果需要向其他系统开放服务或进行数据交互,需要对多个不同体系架构的系统开放接口,甚至部分业务系统之间数据库环境差异,数据格式不一致等系统现状,导致数据传递通道堵塞。同时,随着业务的发展,分支机构遍布全国、全球的情况日益增多,地域跨度大,网络环境复杂,也造成了信息互通的障碍。
因此,各业务系统间的互联互通、信息共享、业务协同是各行业企业发展迫切需要解决的问题,而解决这些问题的关键在于如何构建统一的数据集成平台或数据湖,但平台建立后,如何满足下游系统对数据集成同步的功能需求及时效性需求,是个较为复杂的问题。
如图1所示,在现有技术方案中,多个源系统与目标系统之间的同步链路需要开发部署多套数据同步程序;当流式同步的表范围发生变化时,需要添加对应表的同步逻辑并重新打包发布程序。
发明内容
本发明的目的之一在于提供一种数据流式同步系统、设备以及方法,能够提供企业级统一的增量数据实时同步的通道,通过明确源、目标系统、同步链路、消息格式、异常处理等标准方法与责任,通过消息队列中间件解耦上下游系统间的数据同步关联,从而实现星型拓扑结构,简化数据同步流程,解决信息孤岛问题,保证各业务系统的增量数据同步工作简单、及时、高效地顺利进行。
为了实现本发明的至少一个发明目的,本发明提供了一种数据流式同步系统,所述数据流式同步系统包括同步配置单元、消息读取单元、数据加工单元以及数据入库单元,其中所述同步配置单元被配置为:维护目标系统的增量订阅信息,根据订阅配置确定是否启用相关表的增量同步,需要同步的字段范围,目标端写入的同步表信息,目标端选择的审计表信息;所述消息读取单元被配置为:执行增量消息的格式检查及异常处理;所述数据加工单元被配置为:执行消息结构的解析与加工;所述数据入库单元被配置为:执行增量消息的过滤分组,消息主键的匹配与排序,增量数据的插入,数据库事务的提交与回滚,异常捕获与抛出,其中所述数据流式同步系统的各单元形成星型拓扑结构,基于消息队列中间件解耦上下游系统间的数据同步关联。
在一些实施例中,其中所述消息读取单元包括增量消息读取模块、消息格式检验模块、异常数据抛出模块以及系统日志告警功能模块,其中所述增量消息读取模块用于从目标系统所订阅的同步表所在的消息队列主题中实时流式读取消息,所述消息格式检验模块用于逻辑校验该消息是否符合消息结构标准,若不符合标准,所述异常数据抛出模块将该消息数据写入到异常数据存储目录中,并且所述系统日志告警功能模块在系统日志中输出打印相应的告警信息。
在一些实施例中,其中所述数据加工单元包括消息过滤模块、数据处理模块、消息分组模块以及增量排序模块,其中所述消息过滤模块中的逻辑按照消息中的同步表名称信息将目标系统未订阅表的增量消息剔除掉,所述数据处理模块将消息加工为数据入库所需的增量格式;所述数据处理模块完成对应的数据处理后,所述消息分组模块按照同步表名称信息进行消息分组,每张同步表的增量信息被分配到各自的组中;所述增量排序模块按照增量时间信息进行排序后准备进行入库操作。
在一些实施例中,其中所述数据处理模块将更新类型的消息拆分为一条更新前状态数据与一条更新后状态数据,用于执行目标表更新及审计表流水记录。
在一些实施例中,其中所述数据入库单元包括目标系统连接模块、同步表结构获取模块、增量数据写入模块、事务处理模块以及异常捕获与日志输出模块,其中所述目标系统连接模块基于连接池保持与目标系统数据库的会话连接,当增量信息完成对应的流式处理后,所述同步表结构获取模块获取当前同步的表结构信息,所述增量数据写入模块将流式加工完成的数据根据主键更新到同步表及审计表中,当数据库提交完成后,所述事务处理模块在消息队列中提交本次处理的消息偏移量,完成一次同步事务,如果在入库过程中出现问题,所述异常捕获与日志输出模块的异常处理逻辑将其捕获并输出到日志中,并根据问题情况确定是否需要中止流式同步。
在一些实施例中,其中所述数据流式同步系统还包括数据一致性处理单元,所述数据一致性处理单元被配置为:确认数据库记录已提交或成功抛出异常后提交消息队列的偏移量。
根据本发明的另一方面,还提供了一种数据流式同步方法,所述数据流式同步方法包括以下步骤:
设置源系统,依据规范推送增量消息或增量文件到数据流式同步系统;
设置目标系统,创建接收增量数据的同步表与审计表;
数据流式同步系统配置所需处理的源系统及目标系统同步表信息;
数据流式同步系统接收并校验源系统推送的数据,如果校验未通过则生成错误日志,并将发生错误的增量消息写入错误数据存储目录;
增量数据被加工为数据流式同步系统使用的消息格式,并执行相关的分组以及排序处理;以及
数据流式同步系统为目标系统提供数据同步入库服务。
在一些实施例中,其中所述数据流式同步方法还包括增量消息转换步骤,所述增量消息转换步骤包括以下步骤:
启动增量消息转换程序,周期地从资料库中获取各源系统配置的需要转换的表对应文件的推送信息;
当在对应系统的路径下扫描到以dsv后缀结尾的增量文件时,增量消息转换程序根据文件名执行分组,根据时间戳部分进行排序后顺序读取解析;
根据同步表信息将文件中的记录加工为符合规范的JSON结构增量消息,并将其推送到消息队列中;以及
已完成处理的文件被压缩存储到归档路径目录中,避免被重复处理。
根据本发明的另一方面,还提供了一种数据流式同步设备,所述数据流式同步设备包括:软件应用程序、用于存储软件应用程序的存储器,以及处理器,用于执行所述软件应用程序,所述软件应用程序的各程序相对应地执行所述数据流式同步方法中的步骤。
根据本发明的另一方面,还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时执行所述数据流式同步方法中的步骤。
附图说明
图1是现有技术中传统的系统数据交互方式图。
图2是根据本发明的一个实施例的一种数据流式同步系统的结构示意图。
具体实施方式
以下描述用于揭露本发明以使本领域技术人员能够实现本发明。以下描述中的优选实施例只作为举例,本领域技术人员可以想到其他显而易见的变型。在以下描述中界定的本发明的基本原理可以应用于其他实施方案、变形方案、改进方案、等同方案以及没有背离本发明的精神和范围的其他技术方案。
可以理解的是,术语“一”应理解为“至少一”或“一个或多个”,即在一个实施例中,一个元件的数量可以为一个,而在另外的实施例中,该元件的数量可以为多个,术语“一”不能理解为对数量的限制。
本发明中的相关术语的定义如下:
“源系统”:又叫源数据提供方、上游系统,相对于数据流向来说处于数据流向的上游,相对于处在数据走向下游的系统来说是供数方。
“目标系统”:又叫数据接收方、下游系统,相对于数据流向来说处于数据流向的下游,相对于处在数据走向的上游系统来说是目标方。
“同步表”:需要在源系统捕获增量数据,并同步更新到目标系统的表。
“审计表”:目标端记录同步表增量变动轨迹的流水表。
“增量数据”:增量数据是指源系统在一定期间内发生变化的数据,包括新增,修改,删除操作。
“增量文件”:增量文件是指按照一定格式存储增量数据的平面文件。
“增量消息”:增量消息是指将增量数据转换为指定数据结构后推入消息队列的消息。
“增量订阅”:指目标系统在流式数据同步系统中对需要获取增量的同步表进行订阅的配置。
“消息队列”:消息队列是在消息的传输过程中保存消息的容器。
“同步链路”:同步链路是指增量数据从源系统到目标系统传输的过程中经过的流程。
本发明为涉及计算机程序的发明。本发明阐述了为解决本发明提出的问题,以计算机程序处理流程为基础,通过计算机执行按上述流程编制的计算机程序,对计算机外部对象或者内部对象进行控制或处理的解决方案。通过本发明的一种数据流式同步方法,能够提供企业级统一的增量数据实时同步的通道,通过明确源、目标系统、同步链路、消息格式、异常处理等标准方法与责任,通过消息队列中间件解耦上下游系统间的数据同步关联,从而实现星型拓扑结构,简化数据同步流程,解决信息孤岛问题,保证各业务系统的增量数据同步工作简单、及时、高效地顺利进行。
具体地,所述数据流式同步方法包括以下步骤:
S100:设置源系统,依据规范推送增量消息或增量文件到数据流式同步系统;
S200:设置目标系统,创建接收增量数据的同步表与审计表;
S300:数据流式同步系统配置所需处理的源系统及目标系统同步表信息;
S400:数据流式同步系统接收并校验源系统推送的数据,如果校验未通过则生成错误日志,并将发生错误的增量消息写入错误数据存储目录;
S500:增量数据被加工为数据流式同步系统使用的消息格式,并执行相关的分组以及排序处理;以及
S600:数据流式同步系统为目标系统提供数据同步入库服务。
在通常的业务场景中,一个目标系统可能从多个源系统同步数据,多个目标系统与多个源系统之间可能存在多套同步链路,本发明的所述数据流式同步方法能够优化数据同步架构,流式数据同步平台使用消息队列组件将源系统与目标系统之间的强关联关系进行解耦。消息队列是数据流式同步系统中提供的源系统与目标系统数据交换的媒介,源系统与目标系统的数据传递都统一通过消息队列进行。
值得一提的是,由于一些源系统只支持通过文件交换的形式推送增量数据。因此,需要制定与上游进行文件交换的规范。所述数据流式同步方法还包括增量消息转换步骤。在所述增量转换步骤中,通过增量消息转换程序将源系统推送的增量数据推送到消息队列,制定了与上游进行文件交换的规范,以支持将源系统推送的文件转换为符合消息队列接收格式的增量消息。
在具体的实施例中,文件接收处理的规范为:
①文件目录的规则为:各源系统分别使用对应的/data/<系统简称>/file/目录
②文件名的命名规则为:<库名>.<表名>@<时间戳(YYYY-MM-DD_hh_mm_ss)>#<五位序号>.dsv,例如LIS.LCPOL@2020-03-18_20-42-16#03858.dsv
③文件内容格式的规则为:以控制字符\001为列分隔符,回车为行分隔符的平面文件。
④文件推送的规则为:源系统需先将文件后缀设置为.dsv.temp,确认文件传输完成并校验通过后,再重新设置文件名后缀为.dsv,以避免传输未完成或存在错误的文件被流式数据同步平台加工处理。
具体地,所述数据流式同步方法的所述增量转换步骤包括以下步骤:
S10:启动增量消息转换程序,周期地从资料库中获取各源系统配置的需要转换的表对应文件的推送信息;
S20:当在对应系统的路径下扫描到以dsv后缀结尾的增量文件时,增量消息转换程序根据文件名执行分组,根据时间戳部分进行排序后顺序读取解析;
S30:根据同步表信息将文件中的记录加工为符合规范的JSON结构增量消息,并将其推送到消息队列中;
S40:已完成处理的文件被压缩存储到归档路径目录中,避免被重复处理。
本领域的技术人员能够理解的是,可以以方法、系统或计算机程序产品的形式提供本发明的实施例。因此,本发明可采取全硬件实施例、全软件实施例,或者组合软件和硬件的实施例的形式。
本领域的技术人员可以理解的是,本发明的所述数据流式同步方法可以通过硬件、软件,或者软、硬件结合来实现。本发明可以在至少一个计算机系统中以集中方式实现,或者由分布在几个互连的计算机系统中的不同部分以分散方式实现。任何可以实现方法的计算机系统或其它设备都是可适用的。常用软硬件的结合可以是安装有计算机程序的通用计算机系统,通过安装和执行程序控制计算机系统,使其按方法运行。
本发明可以嵌入在计算机程序产品中,它包括使此处描述的方法得以实施的所有特征。所述计算机程序产品被包含在一个或多个计算机可读存储介质中,所述计算机可读存储介质具有包含于其中的计算机可读程序代码。根据本发明的另一方面,还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时能够执行本发明的所述数据流式同步方法的步骤。计算机存储介质是计算机存储器中用于存储某种不连续物理量的媒体。计算机存储介质包括但不限于半导体、磁盘存储器、磁芯、磁鼓、磁带、激光盘等。本领域的技术人员可以理解的是,计算机存储介质并不局限于前述举例,前述例子仅仅作为举例而并不限于本发明。
根据本发明的另一方面,还提供了一种数据流式同步设备,所述数据流式同步设备包括:软件应用程序、用于存储软件应用程序的存储器,以及处理器,用于执行所述软件应用程序。所述软件应用程序的各程序能够相对应地执行本发明的所述数据流式同步方法中的步骤。
如图2所示,根据本发明的另一方面,还提供了一种数据流式同步系统,所述数据流式同步系统包括同步配置单元、消息读取单元、数据加工单元以及数据入库单元。所述同步配置单元被配置为:维护目标系统的增量订阅信息,根据订阅配置确定是否启用相关表的增量同步,需要同步的字段范围,目标端写入的同步表信息,目标端选择的审计表信息。所述消息读取单元被配置为:执行增量消息的格式检查及异常处理。所述数据加工单元被配置为:执行消息结构的解析与加工。所述数据入库单元被配置为:执行增量消息的过滤分组,消息主键的匹配与排序,增量数据的插入,数据库事务的提交与回滚,异常捕获与抛出。
具体地,所述同步配置单元包括订阅信息维护模块以及配置表读写模块。所述订阅信息维护模块是通过资料库中的配置表实现的,当某个目标系统需要同步指定源系统所推送的增量数据时,需要在配置表中添加相关的配置项,从而使数据流式同步系统能够从消息队列的对应主题中捕获相关表的增量消息,并将其同步到指定的目标表与审计表中。
具体地,所述消息读取单元包括增量消息读取模块、消息格式检验模块、异常数据抛出模块以及系统日志告警功能模块。所述增量消息读取模块用于从目标系统所订阅的同步表所在的消息队列主题中实时流式读取消息,所述消息格式检验模块用于逻辑校验该消息是否符合消息结构标准,若不符合标准,所述异常数据抛出模块将该消息数据写入到异常数据存储目录中,并且所述系统日志告警功能模块在系统日志中输出打印相应的告警信息。
在本发明的具体的实施例中,流式数据同步系统规定读取的增量消息规范为如下:
1.消息结构为无嵌套的单层json,键值对无顺序要求顺序;key名需小写,value值全部为双引号括起来的文本格式;值对应的字段类型由系统根据同步配置模块自行匹配,无需标注;值内容需将空格,回车换行,null值转换为空字符串。例如:{"key1":"value1","key3":"value3","key2":"value2"}。
2.除业务字段外,还需包含特殊审计字段用于对数据库操作,共需5个特殊字段:
①目标表名如"table":"scott.dept",用于说明增量要写入的表(英文字母需要小写)。
②数据库操作时间,如"op_ts":"2020-02-19 18:03:52.000080",用于说明数据库提交事务的时间,要求为精确到纳秒的时间戳类型,用于确定同一张表多个事务正确的变动入库顺序。
③操作日志点,如"pos":"10000843289",这是数据库日志中该条操作的position,用于确定同一条记录在同一事务中多次变化时正确的变动入库顺序。
④推送程序操作时间,如"current_ts":"2020-02-19 18:05:41.041000",这是程序往kafka推送的数据,用于判断增量延迟情况及入库时间。
⑤操作类型,如"op_type":"D",用于说明增量操作类型。大写英文字母I/B/A/D分别表示这条记录是插入/更新前/更新后/删除的数据。(注:由于部分大数据平台不支持更新主键,源端的更新主键操作需要将一条数据拆分为操作类型分别为删除、插入的两条json消息进行推送。更新其他字段需要拆分为操作类型分别为更新前/更新后的两条json数据用于表的增量变更轨迹记录审计)。
具体地,所述数据加工单元包括消息过滤模块、数据处理模块、消息分组模块以及增量排序模块。对于所述消息读取单元读入的程序,所述数据加工单元将对其执行流式处理。首先通过所述消息过滤模块中的逻辑按照消息中的同步表名称信息将目标系统未订阅表的增量消息剔除掉,并且所述数据处理模块将消息加工为数据入库所需的增量格式。例如,新增或删除类型的消息无需处理,更新类型的消息则需要将其拆分为一条更新前状态数据与一条更新后状态数据,用于进行目标表更新及审计表流水记录工作。在所述数据处理模块完成对应的数据处理后,所述消息分组模块按照同步表名称信息进行消息分组,每张同步表的增量信息被分配到各自的组中,所述增量排序模块按照增量时间信息进行排序后准备进行入库操作。
具体地,数据入库单元包括目标系统连接模块、同步表结构获取模块、增量数据写入模块、事务处理模块以及异常捕获与日志输出模块。所述数据入库单元的所述目标系统连接模块基于连接池保持与目标系统数据库的会话连接,当增量信息完成对应的流式处理后,所述数据入库单元的所述同步表结构获取模块获取当前同步的表结构信息,如字段名称,字段类型,主键配置等,并且所述增量数据写入模块将流式加工完成的数据根据主键更新到同步表及审计表中。当数据库提交完成后,所述事务处理模块在消息队列中提交本次处理的消息偏移量,完成一次同步事务。如果在入库过程中出现问题,所述异常捕获与日志输出模块的异常处理逻辑将其捕获并输出到日志中,并根据问题情况确定是否需要中止流式同步。
值得一提的是,为保障数据同步的稳定性,所述数据流式同步系统的消息队列服务器需以集群方式部署运行,以避免在出现服务器单点故障时造成数据丢失、同步中断等问题。同时,系统逻辑中应做好数据一致性处理,如确认数据库记录已提交或成功抛出异常后才提交消息队列的偏移量。
为提升数据同步的性能,所述数据流式同步系统在接收增量消息时需配置合理的批量发送大小与等待时间,不同的源系统与目标系统也应设计使用不同的主题,从而增大系统的吞吐量。同时目标系统的数据库也应尽量避免流式数据同步带来的资源压力与存储碎片化问题,通过设定合理的缓存大小与数据刷新阈值等参数来优化同步性能。
本领域的技术人员可以理解的是,已参考根据本发明的方法、系统及计算机程序产品的流程图和/或方框图说明了本发明。流程图和/或方框图中的每个方框,以及流程图和/或方框图中的方框的组合显然可由计算机程序指令实现。这些计算机程序指令可被提供给通用计算机、专用计算机、嵌入式处理器或者其他可编程的数据处理设备的处理器,以产生一台机器,从而指令(所述指令通过计算机或者其他可编程数据处理设备的处理器)产生用于实现在流程图和/或方框图的一个或多个方框中规定的功能的装置。
本领域的技术人员应理解,上述描述及附图中所示的本发明的实施例只作为举例而并不限制本发明。本发明的目的已经完整并有效地实现。本发明的功能及结构原理已在实施例中展示和说明,在没有背离该原理下,本发明的实施方式可以有任何变形或修改。

Claims (10)

1.一种数据流式同步系统,其特征在于,所述数据流式同步系统包括同步配置单元、消息读取单元、数据加工单元以及数据入库单元,其中所述同步配置单元被配置为:维护目标系统的增量订阅信息,根据订阅配置确定是否启用相关表的增量同步,需要同步的字段范围,目标端写入的同步表信息,目标端选择的审计表信息;所述消息读取单元被配置为:执行增量消息的格式检查及异常处理;所述数据加工单元被配置为:执行消息结构的解析与加工;所述数据入库单元被配置为:执行增量消息的过滤分组,消息主键的匹配与排序,增量数据的插入,数据库事务的提交与回滚,异常捕获与抛出,其中所述数据流式同步系统的各单元形成星型拓扑结构,基于消息队列中间件解耦上下游系统间的数据同步关联。
2.如权利要求1所述的数据流式同步系统,其中所述消息读取单元包括增量消息读取模块、消息格式检验模块、异常数据抛出模块以及系统日志告警功能模块,其中所述增量消息读取模块用于从目标系统所订阅的同步表所在的消息队列主题中实时流式读取消息,所述消息格式检验模块用于逻辑校验该消息是否符合消息结构标准,若不符合标准,所述异常数据抛出模块将该消息数据写入到异常数据存储目录中,并且所述系统日志告警功能模块在系统日志中输出打印相应的告警信息。
3.如权利要求1所述的数据流式同步系统,其中所述数据加工单元包括消息过滤模块、数据处理模块、消息分组模块以及增量排序模块,其中所述消息过滤模块中的逻辑按照消息中的同步表名称信息将目标系统未订阅表的增量消息剔除掉,所述数据处理模块将消息加工为数据入库所需的增量格式;所述数据处理模块完成对应的数据处理后,所述消息分组模块按照同步表名称信息进行消息分组,每张同步表的增量信息被分配到各自的组中;所述增量排序模块按照增量时间信息进行排序后准备进行入库操作。
4.如权利要求3中所述的数据流式同步系统,其中所述数据处理模块将更新类型的消息拆分为一条更新前状态数据与一条更新后状态数据,用于执行目标表更新及审计表流水记录。
5.如权利要求1所述的数据流式同步系统,其中所述数据入库单元包括目标系统连接模块、同步表结构获取模块、增量数据写入模块、事务处理模块以及异常捕获与日志输出模块,其中所述目标系统连接模块基于连接池保持与目标系统数据库的会话连接,当增量信息完成对应的流式处理后,所述同步表结构获取模块获取当前同步的表结构信息,所述增量数据写入模块将流式加工完成的数据根据主键更新到同步表及审计表中,当数据库提交完成后,所述事务处理模块在消息队列中提交本次处理的消息偏移量,完成一次同步事务,如果在入库过程中出现问题,所述异常捕获与日志输出模块的异常处理逻辑将其捕获并输出到日志中,并根据问题情况确定是否需要中止流式同步。
6.如权利要求1至5中任一所述的数据流式同步系统,其中所述数据流式同步系统还包括数据一致性处理单元,所述数据一致性处理单元被配置为:确认数据库记录已提交或成功抛出异常后提交消息队列的偏移量。
7.一种数据流式同步方法,其特征在于,所述数据流式同步方法包括以下步骤:
设置源系统,依据规范推送增量消息或增量文件到数据流式同步系统;
设置目标系统,创建接收增量数据的同步表与审计表;
数据流式同步系统配置所需处理的源系统及目标系统同步表信息;
数据流式同步系统接收并校验源系统推送的数据,如果校验未通过则生成错误日志,并将发生错误的增量消息写入错误数据存储目录;
增量数据被加工为数据流式同步系统使用的消息格式,并执行相关的分组以及排序处理;以及
数据流式同步系统为目标系统提供数据同步入库服务。
8.如权利要求7所述的数据流式同步方法,其中所述数据流式同步方法还包括增量消息转换步骤,所述增量消息转换步骤包括以下步骤:
启动增量消息转换程序,周期地从资料库中获取各源系统配置的需要转换的表对应文件的推送信息;
当在对应系统的路径下扫描到以dsv后缀结尾的增量文件时,增量消息转换程序根据文件名执行分组,根据时间戳部分进行排序后顺序读取解析;
根据同步表信息将文件中的记录加工为符合规范的JSON结构增量消息,并将其推送到消息队列中;以及
已完成处理的文件被压缩存储到归档路径目录中,避免被重复处理。
9.一种数据流式同步设备,其特征在于,所述数据流式同步设备包括:软件应用程序、用于存储软件应用程序的存储器,以及处理器,用于执行所述软件应用程序,所述软件应用程序的各程序相对应地执行如权利要求7至8中所述数据流式同步方法中的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时执行权利要求7至8中所述数据流式同步方法中的步骤。
CN202110211711.3A 2021-02-25 2021-02-25 数据流式同步系统、设备以及方法 Pending CN112818022A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110211711.3A CN112818022A (zh) 2021-02-25 2021-02-25 数据流式同步系统、设备以及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110211711.3A CN112818022A (zh) 2021-02-25 2021-02-25 数据流式同步系统、设备以及方法

Publications (1)

Publication Number Publication Date
CN112818022A true CN112818022A (zh) 2021-05-18

Family

ID=75865641

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110211711.3A Pending CN112818022A (zh) 2021-02-25 2021-02-25 数据流式同步系统、设备以及方法

Country Status (1)

Country Link
CN (1) CN112818022A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113160918A (zh) * 2021-05-21 2021-07-23 山东健康医疗大数据有限公司 一种变化数据捕获的统一处理方法及工具
CN113342898A (zh) * 2021-06-29 2021-09-03 杭州数梦工场科技有限公司 数据同步方法及装置
CN114722014A (zh) * 2022-06-09 2022-07-08 杭银消费金融股份有限公司 基于数据库日志文件的批量数据时间序列传输方法及系统

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113160918A (zh) * 2021-05-21 2021-07-23 山东健康医疗大数据有限公司 一种变化数据捕获的统一处理方法及工具
CN113342898A (zh) * 2021-06-29 2021-09-03 杭州数梦工场科技有限公司 数据同步方法及装置
CN113342898B (zh) * 2021-06-29 2022-10-04 杭州数梦工场科技有限公司 数据同步方法及装置
CN114722014A (zh) * 2022-06-09 2022-07-08 杭银消费金融股份有限公司 基于数据库日志文件的批量数据时间序列传输方法及系统
CN114722014B (zh) * 2022-06-09 2022-09-02 杭银消费金融股份有限公司 基于数据库日志文件的批量数据时间序列传输方法及系统

Similar Documents

Publication Publication Date Title
CN112818022A (zh) 数据流式同步系统、设备以及方法
US11604804B2 (en) Data replication system
US8938421B2 (en) Method and a system for synchronizing data
US7702698B1 (en) Database replication across different database platforms
US10848464B2 (en) System for managing communication ports between servers
US8660987B2 (en) Data cache techniques in support of synchronization of databases in a distributed environment
CN107958010B (zh) 用于在线数据迁移的方法及系统
TWI472934B (zh) 用於交叉同步資料之方法、物品及裝置
US8190562B2 (en) Linking framework for information technology management
US10831619B2 (en) Fault-tolerant stream processing
US20200104404A1 (en) Seamless migration of distributed systems
US9971779B2 (en) Automated data intake system
US11954123B2 (en) Data processing method and device for data integration, computing device and medium
CN114722119A (zh) 数据同步方法及系统
CN111680017A (zh) 一种数据同步的方法及装置
CN110019169B (zh) 一种数据处理的方法及装置
US11537455B2 (en) Schema management using an event stream
CN115048372A (zh) 多流数据的关联方法和关联装置
US20180337987A1 (en) Method and system for high availability topology for master-slave data systems with low write traffic
CN113612832A (zh) 流式数据分发方法与系统
CN117407362B (zh) 一种异构文件系统间文件迁移的方法与装置
US20240192970A1 (en) Automated user interface generation for an application programming interface (api)
EP4383079A2 (en) Schema and application code management using an event stream
US20230030208A1 (en) Bulk data extract hybrid job processing
Pereira et al. Mediator framework for inserting xDRs into Hadoop

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination