CN114328749A - 业务数据处理方法及其装置、计算机可读存储介质 - Google Patents

业务数据处理方法及其装置、计算机可读存储介质 Download PDF

Info

Publication number
CN114328749A
CN114328749A CN202111679982.8A CN202111679982A CN114328749A CN 114328749 A CN114328749 A CN 114328749A CN 202111679982 A CN202111679982 A CN 202111679982A CN 114328749 A CN114328749 A CN 114328749A
Authority
CN
China
Prior art keywords
data
target
storage medium
service
data storage
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
CN202111679982.8A
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.)
Postal Savings Bank of China Ltd
Original Assignee
Postal Savings Bank of China 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 Postal Savings Bank of China Ltd filed Critical Postal Savings Bank of China Ltd
Priority to CN202111679982.8A priority Critical patent/CN114328749A/zh
Publication of CN114328749A publication Critical patent/CN114328749A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种业务数据处理方法及其装置、计算机可读存储介质。其中,该方法包括:对业务单元进行数据更新请求的监听,得到监听结果,其中,业务单元由目标分布式业务系统按照业务数据进行水平切分后得到,数据更新请求用于请求对第一数据存储介质进行更新,第一数据存储介质用于存储目标分布式业务系统产生的所有数据;在监听结果表示监听到数据更新请求时,将数据更新请求添加到目标消息中;将目标消息发送至目标消息队列,以通过目标消息队列将数据更新请求中携带的目标业务数据发送至消费端;通过消费端将目标业务数据同步至第二数据存储介质。本发明解决了针对相关技术中遍历式查询数据库表导致系统压力过大的技术问题。

Description

业务数据处理方法及其装置、计算机可读存储介质
技术领域
本发明涉及数据处理领域,具体而言,涉及一种业务数据处理方法及其装置、计算机可读存储介质。
背景技术
在数据量较大分布式系统中,会按照一个或多个数据字段,对数据进行水平切分,分布到多个单元的数据库表中,从而提高查询效率。当按照分片键意外的维度进行查询时,则无法利用水平分表的优势,如果要遍历所有的数据单元进行查找,将会产生极大的耗时和数据库压力。
针对上述问题,可以将存在非分片键查询需求的表中共近期数据从多个水平单元汇总到一个聚会单元的单表中,常用的数据汇总手段包括:首先读取数据库日志到内存队列,解析日志筛选到需要同步的数据后,进行增量同步;或定时扫描数据库进行全表同步等。
然而,全表同步会导致数据库压力突然增大,且占用大量带宽;而日志解析则依赖数据库备库逻辑复制的能力,否则会增加对主库的压力,导致业务数据库响应速度降低,又占用额外的连接数,且增加系统的复杂度,导致更高的开发成本和较低的可用性。
针对上述相关技术中采用的数据同步方式可靠性比较低的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种业务数据处理方法及其装置、计算机可读存储介质,以至少解决针对相关技术中遍历式查询数据库表导致系统压力过大的技术问题。
根据本发明实施例的一个方面,提供了一种业务数据处理方法,包括:对业务单元进行数据更新请求的监听,得到监听结果,其中,所述业务单元由目标分布式业务系统按照业务数据进行水平切分后得到,所述数据更新请求用于请求对第一数据存储介质进行更新,所述第一数据存储介质用于存储所述目标分布式业务系统产生的所有数据;在所述监听结果表示监听到所述数据更新请求时,将所述数据更新请求添加到目标消息中;将所述目标消息发送至目标消息队列,以通过所述目标消息队列将所述数据更新请求中携带的目标业务数据发送至消费端;通过所述消费端将所述目标业务数据同步至第二数据存储介质,其中,所述第二数据存储介质存储所述第一数据存储介质中的部分数据。
可选地,所述业务单元在接收到新的业务数据时,生成所述数据更新请求。
可选地,在所述监听结果表示监听到所述数据更新请求时,将所述数据更新请求添加到目标消息中,包括:在确定所述数据更新请求未达到所述第一数据存储介质时,拦截所述数据更新请求;在确定对所述数据更新请求拦截成功时,将所述数据更新请求添加到所述目标消息中。
可选地,将所述目标消息发送至目标消息队列,包括:将所述目标消息写入目标事务;将所述目标事务提交到所述第一数据存储介质;在确定所述第一数据存储介质基于所述目标事务完成更新后,将所述目标消息发送至所述目标消息队列。
可选地,通过所述消费端将所述目标业务数据同步至第二数据存储介质,包括:通过所述消费端对所述目标消息进行解析,以得到所述目标业务数据所在目标数据表的表名;基于所述目标数据表的表名将所述目标业务数据同步至所述第二数据存储介质。
可选地,基于所述目标数据表的表名将所述目标业务数据同步至所述第二数据存储介质,包括:基于所述目标数据表的表名在所述第二数据存储介质中查找表名相同的聚合数据表;获取所述目标数据表的第一版本号以及所述聚合数据表的第二版本号;在确定所述第一版本号大于所述第二版本号时,将所述目标业务数据同步至所述第二数据存储介质。
根据本发明实施例的另外一个方面,还提供了一种业务数据处理装置,包括:监听模块,用于对业务单元进行数据更新请求的监听,得到监听结果,其中,所述业务单元由目标分布式业务系统按照业务数据进行水平切分后得到,所述数据更新请求用于请求对第一数据存储介质进行更新,所述第一数据存储介质用于存储所述目标分布式业务系统产生的所有数据;添加模块,用于在所述监听结果表示监听到所述数据更新请求时,将所述数据更新请求添加到目标消息中;发送模块,用于将所述目标消息发送至目标消息队列,以通过所述目标消息队列将所述数据更新请求中携带的目标业务数据发送至消费端;同步模块,用于通过所述消费端将所述目标业务数据同步至第二数据存储介质,其中,所述第二数据存储介质存储所述第一数据存储介质中的部分数据。
可选地,所述业务单元在接收到新的业务数据时,生成所述数据更新请求。
可选地,所述添加模块,包括:拦截单元,用于在确定所述数据更新请求未达到所述第一数据存储介质时,拦截所述数据更新请求;添加单元,用于在确定对所述数据更新请求拦截成功时,将所述数据更新请求添加到所述目标消息中。
可选地,所述发送模块,包括:写入单元,用于将所述目标消息写入目标事务;提交单元,用于将所述目标事务提交到所述第一数据存储介质;发送单元,用于在确定所述第一数据存储介质基于所述目标事务完成更新后,将所述目标消息发送至所述目标消息队列。
可选地,所述同步模块,包括:解析单元,用于通过所述消费端对所述目标消息进行解析,以得到所述目标业务数据所在目标数据表的表名;同步单元,用于基于所述目标数据表的表名将所述目标业务数据同步至所述第二数据存储介质。
可选地,所述同步单元,包括:查找子单元,用于基于所述目标数据表的表名在所述第二数据存储介质中查找表名相同的聚合数据表;获取子单元,用于获取所述目标数据表的第一版本号以及所述聚合数据表的第二版本号;同步子单元,用于在确定所述第一版本号大于所述第二版本号时,将所述目标业务数据同步至所述第二数据存储介质。
根据本发明实施例的另外一个方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序被处理器运行时控制所述计算机可读存储介质所在设备执行上述中任一项所述的业务数据处理方法。
根据本发明实施例的另外一个方面,还提供了一种处理器,所述处理器用于运行计算机程序,其中,所述计算机程序运行时执行上述中任一项所述的业务数据处理方法。
在本发明实施例中,对业务单元进行数据更新请求的监听,得到监听结果,其中,业务单元由目标分布式业务系统按照业务数据进行水平切分后得到,数据更新请求用于请求对第一数据存储介质进行更新,第一数据存储介质用于存储目标分布式业务系统产生的所有数据;在监听结果表示监听到数据更新请求时,将数据更新请求添加到目标消息中;将目标消息发送至目标消息队列,以通过目标消息队列将数据更新请求中携带的目标业务数据发送至消费端;通过消费端将目标业务数据同步至第二数据存储介质,其中,第二数据存储介质存储第一数据存储介质中的部分数据。通过本发明实施例提供的业务数据处理方法,达到了监听到数据请求更新时通过消费端将目标业务数据同步至聚合单元数据库的目的,从而实现了提升系统响应速度的技术效果,进而解决了针对相关技术中遍历式查询数据库表导致系统压力过大的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的业务数据处理方法的流程图;
图2是根据本发明实施例的消费端校验消息版本号的流程图;
图3是根据本发明实施例的优选的业务数据处理方法的流程图;
图4是根据本发明实施例的业务数据处理方法的时序流程图;
图5是根据本发明实施例的业务数据处理方法的虚拟装置模拟框图;
图6是根据本发明实施例的业务数据处理装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了便于描述,下面对本发明实施例中出现的部分名词或术语进行说明。
Mybatis:一种数据访问层框架,提供了可扩展的拦截器。
SQL:结构化查询语言,操作关系型数据库使用的语言。
拦截器:一种程序设计模式,用于在方法调用之前拦截方法参数,执行校验、赋值等操作。
消息队列:一种中间件,在内存中以队列结构存储消息。分布式服务请求的发送方和接收方可以通过消息队列进行解耦,发送请求到消息队列,消息队列代替发送方将请求按照程序开发者定义的规则发送给已注册的消费者,以同步或异步完成业务逻辑的处理。
分片键:数据表中用于将数据水平切分的字段。
业务单元:将分布式系统按照业务数据水平切分后的单元,除存储和处理的数据不同外,业务逻辑完全相同。这些单元定义为业务单元,每个业务单元由一套数据库、业务服务器及其依赖的消息队列等中间件服务组成。
聚合单元:汇总被切分的数据的单元,使用单库单表存储部分数据副本。该分布式系统中只存在一个聚合单元。
版本号:是数据表上的一个特定字段,用于标识每一行数据的当前版本,作为分布式系统中保证数据一致性的字段;在每次更新时必须以版本号为条件,并使其自增1,避免分布式系统中的两个服务并发更新同一行字段,造成数据不一致。
主键:数据表上的一个或多个字段,用于唯一标识表上的一条记录。
实施例1
根据本发明实施例,提供了一种业务数据处理方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的业务数据处理方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,对业务单元进行数据更新请求的监听,得到监听结果,其中,业务单元由目标分布式业务系统按照业务数据进行水平切分后得到,数据更新请求用于请求对第一数据存储介质进行更新,第一数据存储介质用于存储目标分布式业务系统产生的所有数据。
可选的,首先对业务单元进行数据更新请求的监听,需要说明的是,第一数据存储介质为业务单元主库。
步骤S104,在监听结果表示监听到数据更新请求时,将数据更新请求添加到目标消息中。
可选的,在上述步骤中,当监听到数据更新请求时,则将数据更新请求添加到目标消息中。
步骤S106,将目标消息发送至目标消息队列,以通过目标消息队列将数据更新请求中携带的目标业务数据发送至消费端。
可选的,需要说明的是,消息队列为一种中间件,在内存中以队列结构存储消息。分布式服务请求的发送方和接收方可以通过消息队列进行解耦,发送请求到消息队列,消息队列代替发送方将请求按照程序开发者定义的规则发送给已注册的消费者,以同步或异步完成业务逻辑的处理。
步骤S108,通过消费端将目标业务数据同步至第二数据存储介质,其中,第二数据存储介质存储第一数据存储介质中的部分数据。
可选的,需要说明的是,第二数据存储介质为聚合单元数据库。
由上可知,在本发明实施例中,首先可以对业务单元进行数据更新请求的监听,得到监听结果,其中,业务单元由目标分布式业务系统按照业务数据进行水平切分后得到,数据更新请求用于请求对第一数据存储介质进行更新,第一数据存储介质用于存储目标分布式业务系统产生的所有数据;接着可以在监听结果表示监听到数据更新请求时,将数据更新请求添加到目标消息中;接着可以将目标消息发送至目标消息队列,以通过目标消息队列将数据更新请求中携带的目标业务数据发送至消费端;最后可以通过消费端将目标业务数据同步至第二数据存储介质,其中,第二数据存储介质存储第一数据存储介质中的部分数据。通过本发明实施例提供的业务数据处理方法,达到了监听到数据请求更新时通过消费端将目标业务数据同步至聚合单元数据库的目的,从而实现了提升系统响应速度的技术效果,进而解决了针对相关技术中遍历式查询数据库表导致系统压力过大的技术问题。
作为一种可选的实施例,业务单元在接收到新的业务数据时,生成数据更新请求。
在上述可选的实施例中,在业务单元接收到新的业务数据的情况下,则生成数据更新请求,以发送给数据库以更新数据。
作为一种可选的实施例,在监听结果表示监听到数据更新请求时,将数据更新请求添加到目标消息中,包括:在确定数据更新请求未达到第一数据存储介质时,拦截数据更新请求;在确定对数据更新请求拦截成功时,将数据更新请求添加到目标消息中。
在上述步骤中,当确定数据更新请求未成功到达业务单元主库(即第一数据存储介质)时,则拦截数据更新请求,在确定对数据更新请求拦截成功的时候,将数据更新请求添加到目标消息中。
作为一种可选的实施例,将目标消息发送至目标消息队列,包括:将目标消息写入目标事务;将目标事务提交到第一数据存储介质;在确定第一数据存储介质基于目标事务完成更新后,将目标消息发送至目标消息队列。
在上述可选的实施例中,首先可以将目标消息写入目标事务,再将携带目标消息的目标事务提交至业务单元主库,接着业务单元主库基于目标事务进行更新成功完成后,将目标消息发送至目标消息队列。
作为一种可选的实施例,通过消费端将目标业务数据同步至第二数据存储介质,包括:通过消费端对目标消息进行解析,以得到目标业务数据所在目标数据表的表名;基于目标数据表的表名将目标业务数据同步至第二数据存储介质。
在上述可选的实施例中,首先可以通过消息消费方(即消费端)对目标消息进行解析,以解析出目标业务数据在目标数据表的表名,接着基于解析到的表名将目标业务数据同步至聚合单元数据库(即第二数据存储介质)。
作为一种可选的实施例,基于目标数据表的表名将目标业务数据同步至第二数据存储介质,包括:基于目标数据表的表名在第二数据存储介质中查找表名相同的聚合数据表;获取目标数据表的第一版本号以及聚合数据表的第二版本号;在确定第一版本号大于第二版本号时,将目标业务数据同步至第二数据存储介质。
图2是根据本发明实施例的消费端校验消息版本号的流程图,如图2所示,消费者接收到消息后,从中解析得到表名和数据版本号,与通过表名查询到的聚合单元数据库中的版本号进行对比,若消息中解析到的版本号大于等于聚合单元数据库中当前版本号,则进行回放,使数据同步到聚合单元,否则不做处理。
图3是根据本发明实施例的优选的业务数据处理方法的流程图,如图3所示,首先业务单元根据主键查询数据库获取包含版本号在内的全部字段当前值;即,业务单元发起更新前,根据期望更新的行的主键查询数据库,获取该行包括版本号在内的全部字段的值,其中,该值与业务单元更新的列将合并为更新请求的附加参数。然后业务单元向数据库发送包含SQL语句及附加参数的更新请求,接着业务单元内嵌的拦截器拦截更新请求,填入消息对象,将消息发送作为回调行为绑定到事务提交的模式下,接着拦截器释放,将更新请求继续发送到数据库中,接着判断业务单元主库事务提交是否成功,在失败的情况下,进入异常处理流程;在成功的情况下,则触发回调,发送消息到消息队列,最后消费者将消息解析成SQL语句和附加参数,提交到聚合单元数据库。
图4是根据本发明实施例的业务数据处理方法的时序流程图,如图4所示,在业务单元尝试对主数据库更新过程中间,拦截器生成了消息并在事务提交后将其发送到消息队列。消息的发送和消费都是异步的,最小化了对业务单元处理速度的影响。
图5是根据本发明实施例的业务数据处理方法的虚拟装置模拟框图,如图5所示,在业务单元中,应用程序中的拦截器对消息进行拦截并将拦截到的消息提交给数据库,数据库接着发送给消息队列,接着传递给聚合单元中的消费者端,然后提交给聚合单元中的数据库。
由上可知,通过本发明实施例提供的方法,扩展了Mybatis框架的拦截器,集成在业务单元的应用程序中。当业务单元进行更新时,拦截器发送消息到消息队列服务器,部署在其他服务器上的一组消费者应用程序订阅该消息队列并消费此条消息。一组消费者包含多个相同的实例,由消息队列本身的能力实现负载均衡,保证整套系统的高可用性,另外,本发明实施例实现的数据聚合汇总机制不需要启动额外的服务连接水平单元数据库,不会增加连接数;实现了增量同步,不会占用大量带宽,增大主库压力;系统的复杂度也更低。同时,本发明实施例还具有以下优势:
a.在事务提交到主库前,Mybatis拦截器将执行的SQL语句封装成消息,发送到消息队列,由消费者完成聚合单元的落库,消费过程必须是异步的。
b.发送消息失败不会影响主库事务的成功提交。
c.通过版本号字段,进行后发先至防范和防重检查,保证数据一致性。
实施例2
根据本发明实施例的另外一个方面,还提供了一种业务数据处理装置,图6是根据本发明实施例的业务数据处理装置的示意图,如图6所示,包括:监听模块61、添加模块63、发送模块65以及同步模块67。下面对该业务数据处理装置进行说明。
监听模块61,用于对业务单元进行数据更新请求的监听,得到监听结果,其中,业务单元由目标分布式业务系统按照业务数据进行水平切分后得到,数据更新请求用于请求对第一数据存储介质进行更新,第一数据存储介质用于存储目标分布式业务系统产生的所有数据。
添加模块63,用于在监听结果表示监听到数据更新请求时,将数据更新请求添加到目标消息中。
发送模块65,用于将目标消息发送至目标消息队列,以通过目标消息队列将数据更新请求中携带的目标业务数据发送至消费端。
同步模块67,用于通过消费端将目标业务数据同步至第二数据存储介质,其中,第二数据存储介质存储第一数据存储介质中的部分数据。
此处需要说明的是,上述监听模块61、添加模块63、发送模块65以及同步模块67对应于实施例1中的步骤S102至S108,上述模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以在诸如一组计算机可执行指令的计算机系统中执行。
由上可知,在本发明实施例中,首先可以借助监听模块61对业务单元进行数据更新请求的监听,得到监听结果,其中,业务单元由目标分布式业务系统按照业务数据进行水平切分后得到,数据更新请求用于请求对第一数据存储介质进行更新,第一数据存储介质用于存储目标分布式业务系统产生的所有数据;接着借助添加模块63在监听结果表示监听到数据更新请求时,将数据更新请求添加到目标消息中;接着借助发送模块65将目标消息发送至目标消息队列,以通过目标消息队列将数据更新请求中携带的目标业务数据发送至消费端;最后借助同步模块67通过消费端将目标业务数据同步至第二数据存储介质,其中,第二数据存储介质存储第一数据存储介质中的部分数据。通过本发明实施例提供的业务数据处理装置,达到了监听到数据请求更新时通过消费端将目标业务数据同步至聚合单元数据库的目的,从而实现了提升系统响应速度的技术效果,进而解决了针对相关技术中遍历式查询数据库表导致系统压力过大的技术问题。
可选地,业务单元在接收到新的业务数据时,生成数据更新请求。
可选地,添加模块,包括:拦截单元,用于在确定数据更新请求未达到第一数据存储介质时,拦截数据更新请求;添加单元,用于在确定对数据更新请求拦截成功时,将数据更新请求添加到目标消息中。
可选地,发送模块,包括:写入单元,用于将目标消息写入目标事务;提交单元,用于将目标事务提交到第一数据存储介质;发送单元,用于在确定第一数据存储介质基于目标事务完成更新后,将目标消息发送至目标消息队列。
可选地,同步模块,包括:解析单元,用于通过消费端对目标消息进行解析,以得到目标业务数据所在目标数据表的表名;同步单元,用于基于目标数据表的表名将目标业务数据同步至第二数据存储介质。
可选地,同步单元,包括:查找子单元,用于基于目标数据表的表名在第二数据存储介质中查找表名相同的聚合数据表;获取子单元,用于获取目标数据表的第一版本号以及聚合数据表的第二版本号;同步子单元,用于在确定第一版本号大于第二版本号时,将目标业务数据同步至第二数据存储介质。
实施例3
根据本发明实施例的另外一个方面,还提供了一种计算机可读存储介质,计算机可读存储介质包括存储的计算机程序,其中,在计算机程序被处理器运行时控制计算机可读存储介质所在设备执行上述中任一项的业务数据处理方法。
实施例4
根据本发明实施例的另外一个方面,还提供了一种处理器,处理器用于运行计算机程序,其中,计算机程序运行时执行上述中任一项的业务数据处理方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种业务数据处理方法,其特征在于,包括:
对业务单元进行数据更新请求的监听,得到监听结果,其中,所述业务单元由目标分布式业务系统按照业务数据进行水平切分后得到,所述数据更新请求用于请求对第一数据存储介质进行更新,所述第一数据存储介质用于存储所述目标分布式业务系统产生的所有数据;
在所述监听结果表示监听到所述数据更新请求时,将所述数据更新请求添加到目标消息中;
将所述目标消息发送至目标消息队列,以通过所述目标消息队列将所述数据更新请求中携带的目标业务数据发送至消费端;
通过所述消费端将所述目标业务数据同步至第二数据存储介质,其中,所述第二数据存储介质存储所述第一数据存储介质中的部分数据。
2.根据权利要求1所述的方法,其特征在于,所述业务单元在接收到新的业务数据时,生成所述数据更新请求。
3.根据权利要求1所述的方法,其特征在于,在所述监听结果表示监听到所述数据更新请求时,将所述数据更新请求添加到目标消息中,包括:
在确定所述数据更新请求未达到所述第一数据存储介质时,拦截所述数据更新请求;
在确定对所述数据更新请求拦截成功时,将所述数据更新请求添加到所述目标消息中。
4.根据权利要求1所述的方法,其特征在于,将所述目标消息发送至目标消息队列,包括:
将所述目标消息写入目标事务;
将所述目标事务提交到所述第一数据存储介质;
在确定所述第一数据存储介质基于所述目标事务完成更新后,将所述目标消息发送至所述目标消息队列。
5.根据权利要求1至4中任一项所述的方法,其特征在于,通过所述消费端将所述目标业务数据同步至第二数据存储介质,包括:
通过所述消费端对所述目标消息进行解析,以得到所述目标业务数据所在目标数据表的表名;
基于所述目标数据表的表名将所述目标业务数据同步至所述第二数据存储介质。
6.根据权利要求5所述的方法,其特征在于,基于所述目标数据表的表名将所述目标业务数据同步至所述第二数据存储介质,包括:
基于所述目标数据表的表名在所述第二数据存储介质中查找表名相同的聚合数据表;
获取所述目标数据表的第一版本号以及所述聚合数据表的第二版本号;
在确定所述第一版本号大于所述第二版本号时,将所述目标业务数据同步至所述第二数据存储介质。
7.一种业务数据处理装置,其特征在于,包括:
监听模块,用于对业务单元进行数据更新请求的监听,得到监听结果,其中,所述业务单元由目标分布式业务系统按照业务数据进行水平切分后得到,所述数据更新请求用于请求对第一数据存储介质进行更新,所述第一数据存储介质用于存储所述目标分布式业务系统产生的所有数据;
添加模块,用于在所述监听结果表示监听到所述数据更新请求时,将所述数据更新请求添加到目标消息中;
发送模块,用于将所述目标消息发送至目标消息队列,以通过所述目标消息队列将所述数据更新请求中携带的目标业务数据发送至消费端;
同步模块,用于通过所述消费端将所述目标业务数据同步至第二数据存储介质,其中,所述第二数据存储介质存储所述第一数据存储介质中的部分数据。
8.根据权利要求7所述的装置,其特征在于,所述业务单元在接收到新的业务数据时,生成所述数据更新请求。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序被处理器运行时控制所述计算机可读存储介质所在设备执行上述权利要求1至6中任一项所述的业务数据处理方法。
10.一种处理器,其特征在于,所述处理器用于运行计算机程序,其中,所述计算机程序运行时执行上述权利要求1至6中任一项所述的业务数据处理方法。
CN202111679982.8A 2021-12-31 2021-12-31 业务数据处理方法及其装置、计算机可读存储介质 Pending CN114328749A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111679982.8A CN114328749A (zh) 2021-12-31 2021-12-31 业务数据处理方法及其装置、计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111679982.8A CN114328749A (zh) 2021-12-31 2021-12-31 业务数据处理方法及其装置、计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN114328749A true CN114328749A (zh) 2022-04-12

Family

ID=81021983

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111679982.8A Pending CN114328749A (zh) 2021-12-31 2021-12-31 业务数据处理方法及其装置、计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN114328749A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117290451A (zh) * 2023-09-12 2023-12-26 上海沄熹科技有限公司 一种保证数据库系统事务一致性的方法及系统
CN117290451B (zh) * 2023-09-12 2024-06-07 上海沄熹科技有限公司 一种保证数据库系统事务一致性的方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117290451A (zh) * 2023-09-12 2023-12-26 上海沄熹科技有限公司 一种保证数据库系统事务一致性的方法及系统
CN117290451B (zh) * 2023-09-12 2024-06-07 上海沄熹科技有限公司 一种保证数据库系统事务一致性的方法及系统

Similar Documents

Publication Publication Date Title
EP3968175B1 (en) Data replication method and apparatus, and computer device and storage medium
CN111143389B (zh) 事务执行方法、装置、计算机设备及存储介质
US9652519B2 (en) Replicating data across multiple copies of a table in a database system
US10078682B2 (en) Differentiated secondary index maintenance in log structured NoSQL data stores
US9965364B2 (en) Fault tolerant listener registration in the presence of node crashes in a data grid
US5920857A (en) Efficient optimistic concurrency control and lazy queries for B-trees and other database structures
US9672244B2 (en) Efficient undo-processing during data redistribution
WO2021184761A1 (zh) 数据访问方法和装置、数据存储方法和装置
JP2023546249A (ja) トランザクション処理方法、装置、コンピュータ機器及びコンピュータプログラム
US20090210429A1 (en) System and method for asynchronous update of indexes in a distributed database
US20130110873A1 (en) Method and system for data storage and management
US20150032695A1 (en) Client and server integration for replicating data
CN111338766A (zh) 事务处理方法、装置、计算机设备及存储介质
CN111159252A (zh) 事务执行方法、装置、计算机设备及存储介质
CN112084258A (zh) 一种数据同步方法和装置
US11728976B1 (en) Systems and methods for efficiently serving blockchain requests using an optimized cache
CN113868028A (zh) 一种在数据节点上回放日志的方法、数据节点及系统
CN113010549A (zh) 基于异地多活系统的数据处理方法、相关设备及存储介质
CN115114374B (zh) 事务执行方法、装置、计算设备及存储介质
CN111404737B (zh) 一种容灾处理方法以及相关装置
CN112800060A (zh) 数据处理方法、装置、计算机可读存储介质及电子设备
CN114328749A (zh) 业务数据处理方法及其装置、计算机可读存储介质
CN116821232A (zh) 一种数据同步方法及相关装置
CN114265900A (zh) 一种数据处理方法、装置、电子设备及存储介质
CN114003622B (zh) 一种事务型数据库之间巨大事务增量同步方法

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