CN116821245A - 分布式场景下数据聚合同步方法及存储介质 - Google Patents
分布式场景下数据聚合同步方法及存储介质 Download PDFInfo
- Publication number
- CN116821245A CN116821245A CN202310822242.8A CN202310822242A CN116821245A CN 116821245 A CN116821245 A CN 116821245A CN 202310822242 A CN202310822242 A CN 202310822242A CN 116821245 A CN116821245 A CN 116821245A
- Authority
- CN
- China
- Prior art keywords
- message
- data
- identification information
- aggregation
- synchronized
- 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
Links
- 230000002776 aggregation Effects 0.000 title claims abstract description 127
- 238000004220 aggregation Methods 0.000 title claims abstract description 127
- 238000000034 method Methods 0.000 title claims abstract description 69
- 230000001360 synchronised effect Effects 0.000 claims abstract description 70
- 230000008859 change Effects 0.000 claims abstract description 54
- 230000004044 response Effects 0.000 claims abstract description 28
- 238000001914 filtration Methods 0.000 claims abstract description 21
- 238000012544 monitoring process Methods 0.000 claims abstract description 4
- 238000004806 packaging method and process Methods 0.000 claims description 6
- 230000000737 periodic effect Effects 0.000 abstract description 3
- 239000002699 waste material Substances 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 19
- 238000012545 processing Methods 0.000 description 14
- 238000004590 computer program Methods 0.000 description 13
- 230000002159 abnormal effect Effects 0.000 description 10
- 238000005538 encapsulation Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005034 decoration Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Abstract
本公开实施例公开了一种分布式场景下数据聚合同步方法及存储介质,其中,方法包括:基于配置文件中配置的待监听消息队列,按照设定周期周期性拉取待监听消息队列内的消息;响应于监听到至少一条消息,获取至少一条消息对应的聚合根标识信息和变更字段;根据聚合根标识信息和变更字段,对至少一条消息进行去重和过滤处理,得到至少一个聚合根标识信息;根据至少一个聚合根标识信息和变更字段,调用对应的业务接口;将待同步数据同步至数据表。本公开实施例实现了对数据表的周期性全量更新,有效避免在单个字段发生更新时就执行单个字段更新操作所导致的资源浪费、ES平台压力大等问题。
Description
技术领域
本公开涉及数据处理技术领域,尤其涉及一种分布式场景下数据聚合同步方法及存储介质。
背景技术
目前,由于ES(Elastic search)具有检索效率高、支持分词场景以及支持多业务源数据的聚合搜索等优点,ES检索应用越来越广泛。
现有技术中,在业务方有单个字段发生更新时,ES平台需要先查询,再更新,在业务模块多,微服务众多的应用场景中,存在数据更新量大、数据变化快等情况,如果每次发生字段变化都执行查询、更新操作,则对ES平台造成很大压力,对ES平台的性能要求高。
发明内容
本公开实施例所要解决的一个技术问题是:提供一种分布式场景下数据聚合同步方法、装置及存储介质。
根据本公开实施例的一个方面,提供一种分布式场景下数据聚合同步方法,所述方法包括:
基于配置文件中配置的待监听消息队列,按照设定周期周期性拉取所述待监听消息队列内的消息;
响应于拉取到至少一条所述消息,获取至少一条所述消息对应的聚合根标识信息和变更字段;
根据所述聚合根标识信息和所述变更字段,对至少一条所述消息进行去重和过滤处理,得到至少一个聚合根标识信息;
根据至少一个所述聚合根标识信息和所述变更字段,调用对应的业务接口;
响应于通过所述对应的业务接口成功获取到待同步数据,将所述待同步数据同步至数据表。
在本公开的一些实施例中,根据至少一个所述聚合根标识信息和所述变更字段,调用对应的业务接口,包括:
响应于所述变更字段存在于两个以上数据表中,触发两个以上所述数据表对应的线程池;
通过两个以上所述数据表对应的线程池调用对应的业务接口,获取两个以上所述数据表对应的两组以上待同步数据;
将所述两组以上待同步数据分别同步至对应的数据表中。
在本公开一些实施例中所述根据至少一个所述聚合根标识信息,调用对应的业务接口之前,所述方法还包括:
预先在所述配置文件中配置至少一个封装模型,至少一个所述封装模型中存储有聚合根标识信息对应的业务接口。
在本公开的一些实施例中,所述拉取所述待监听消息队列内的消息,包括:
获取所述配置文件中配置的单线程拉取消息量和拉取线程数量;
通过所述单线程拉取消息量和拉取线程数量,拉取所述待监听消息队列内的消息。
在本公开一些实施例中,所述方法还包括:
响应于监听到指示消息积压的报警消息,调整所述单线程拉取消息量和/或拉取线程数量;
根据调整后的单线程拉取消息量和拉取线程数量,拉取所述消息队列内的消息。
在本公开一些实施例中,所述根据所述聚合根标识信息和所述变更字段,对至少一条所述消息进行去重和过滤处理,得到至少一个聚合根标识信息,包括:
响应于所述变更字段不是所述配置文件中配置的检索字段,过滤对应的消息,得到过滤后的消息;
获取所述过滤后的消息中的聚合根标识信息。
在本公开一些实施例中,所述通过所述对应的业务接口和所述接口参数获取待同步数据之后,还包括:
响应于通过所述对应的业务接口获取所述待同步数据失败,在第一时间间隔后执行所述调用对应的业务接口的操作;
若仍无法成功获取到所述待同步数据,将所述至少一个聚合根标识信息添加至异常处理表;
按照第二时间间隔,重复调用异常处理表中的对应的业务接口,获取至少一个聚合根标识信息对应的待同步数据;
在成功获取到对应的待同步数据后,将对应的聚合根标识信息从所述异常处理表中删除。
在本公开的一些实施例中,所述方法包括:
响应于通过解析至少一条所述消息不能获取到所述聚合根标识信息,通过第三方接口获取所述变更数据对应的所述聚合根标识信息。
在本公开的一些实施例中,所述按照设定周期周期性拉取所述待监听消息队列内的消息之前,所述方法还包括:
获取数据库的二进制日志文件,并从所述二进制日志文件中解析得到所述消息;
将所述消息插入所述待监听消息队列。
根据本公开实施例的又一方面,提供一种分布式场景下数据聚合同步装置,所述装置包括:
消息拉取模块,用于基于配置文件中配置的待监听消息队列,按照设定周期周期性拉取所述待监听消息队列内的消息;
消息解析模块,用于响应于拉取到至少一条所述消息,获取至少一条所述消息对应的聚合根标识信息和变更字段;
去重和过滤模块,用于根据所述聚合根标识信息和所述变更字段,对至少一条所述消息进行去重和过滤处理,得到至少一个聚合根标识信息;
接口调用模块,用于根据至少一个所述聚合根标识信息和变更字段,调用对应的业务接口;
同步模块,用于响应于通过所述对应的业务接口成功获取到待同步数据,将所述待同步数据同步至数据表。
在本公开一些实施例中,所述接口调用模块包括:
线程触发子模块,用于响应于所述变更字段存在于两个以上数据表中,触发两个以上所述数据表对应的线程池;
第三获取子模块,用于通过两个以上所述数据表对应的线程池调用对应的业务接口,获取两个以上所述数据表对应的两组以上待同步数据;
同步子模块,用于将所述两组以上待同步数据分别同步至对应的数据表中。
在本公开的一些实施例中,所述装置还包括:
配置模块,用于预先在所述配置文件中配置至少一个封装模型,至少一个所述封装模型中存储有聚合根标识信息对应的业务接口。
在本公开的一个实施例中,所述消息拉取模块包括:
第一获取子模块,用于获取所述配置文件中配置的单线程拉取消息量和拉取线程数量;
拉取子模块,用于通过所述单线程拉取消息量和拉取线程数量,拉取所述待监听消息队列内的消息。
在本公开一些实施例中,所述装置还包括:
调整模块,用于响应于监听到指示消息积压的报警消息,调整所述单线程拉取消息量和/或拉取线程数量;
所述消息拉取模块,用于根据调整后的单线程拉取消息量拉取线程数量,拉取所述待监听消息队列内的所有kafka消息。
在本公开一些实施例中,所述去重和过滤模块包括:
过滤子模块,用于响应于所述变更字段不是所述配置文件中配置的检索字段,过滤对应的消息,得到过滤后的消息;
第二获取子模块,用于获取所述过滤后的消息中的聚合根标识信息。
在本公开一些实施例中,所述装置还包括:
所述接口调用模块,用于响应于通过所述对应的业务接口获取所述待同步数据失败,在第一时间间隔后执行所述调用对应的业务接口的操作;
异常处理模块,用于若仍无法成功获取到所述待同步数据,将所述至少一个聚合根标识信息添加至异常处理表;
所述接口调用模块,用于按照第二时间间隔,重复调用异常处理表中的对应的业务接口,获取至少一个聚合根标识信息对应的待同步数据;
删除模块,用于在成功获取到对应的待同步数据后,将对应的聚合根标识信息从所述异常处理表中删除。
在本公开一些实施例中,所述装置包括:
标识获取模块,用于响应于通过解析至少一条所述消息不能获取到所述聚合根标识信息,通过第三方接口获取所述变更数据对应的所述聚合根标识信息。
在本公开的一些实施例中,所述装置还包括:
日志获取模块,用于获取数据库的二进制日志文件,并从所述二进制日志文件中解析得到所述消息;
消息入队模块,用于将所述消息插入所述待监听消息队列。
根据本公开实施例的再一方面,提供一种电子设备,该电子设备包括:
存储器,用于存储计算机程序;
处理器,用于执行所述存储器中存储的计算机程序,且所述计算机程序被执行时,实现上述分布式场景下数据聚合同步方法。
根据本公开实施例的再一方面,提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现上述分布式场景下数据聚合同步方法。
根据本公开实施例的再一方面,提供一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现上述分布式场景下数据聚合同步方法。
基于本公开上述实施例提供的分布式场景下数据聚合同步方法、装置以及存储介质,可以基于配置文件中配置的待监听消息队列,按照设定周期周期性拉取所述消息队列内的消息;响应于拉取到至少一条所述消息,获取至少一条消息对应的聚合根标识信息和变更字段;根据所述聚合根标识信息和所述变更字段,对至少一条所述消息进行去重和过滤处理,得到至少一个聚合根标识信息;根据所述至少一个聚合根标识信息,调用对应的业务接口;响应于通过所述对应的业务接口成功获取到待同步数据,将所述待同步数据同步至数据表。本公开技术方案可以实现在通过消息队列周期性拉取消息时,根据配置文件中配置的检索字段对消息进行过滤和去重处理,然后根据消息中获取的至少一个聚合根标识消息,对每个业务方进行调用并获取在当前周期内对聚合根标识信息对应的数据记录所做的更改,并将待同步数据并同步到数据表中,实现数据表的周期性全量更新,有效避免在单个字段发生更新时就执行单个字段更新操作所导致的资源浪费、ES平台压力大等问题。
下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。
附图说明
构成说明书的一部分的附图描述了本公开的实施例,并且连同描述一起用于解释本公开的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
图1为本公开的分布式场景下数据聚合同步方法的一个实施例的流程图;
图2A为本公开的拉取kafka消息的流程图;
图2B为本公开的分布式场景下数据聚合同步方法的应用架构图;
图2C为本公开的分布式场景下数据聚合同步示意图;
图2D为本公开的分布式场景下数据聚合同步中拉取kafka消息的示意图;
图3A为本公开的调用业务接口获取待同步数据时的异常处理流程图;
图3B为本公开的调用业务接口获取同步数据的示意图一;
图3C为本公开的调用业务接口获取同步数据的示意图二;
图4为本公开的分布式场景下数据聚合同步装置的一个实施例的结构示意图;
图5为本公开的分布式场景下数据聚合同步装置的又一个实施例的结构示意图;
图6为本公开的分布式场景下数据聚合同步装置的又一个实施例的结构示意图;
图7为本公开一示意性实施例提供的电子设备的结构图。
具体实施方式
现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
本公开实施例可以应用于计算机系统/服务器等电子设备,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与计算机系统/服务器等电子设备一起使用的众所周知的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统、大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
计算机系统/服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
本公开概述
本公开实施例提供的技术方案用于将跨领域业务数据聚合同步到ES检索平台的场景中,应用场景架构图可参见图2B,检索同步工具可以周期性监听不同的业务模块中(如在装修业务场景下,可以有订单业务模块、建筑信息模型(building informationmodeling,简称为bim)业务模块、客源业务模块等等)发生数据更新的消息,对消息进行处理(过滤、去重),然后调用接口获取待同步数据,该待同步数据包括发生数据更新的一条记录的全部字段,因此可以实现数据表的全量更新,有效避免在单个字段发生更新时就执行单个字段的更新操作。
示例性实施例
图1为本公开的分布式场景下数据聚合同步方法的一个实施例的流程图;该分布式场景下数据聚合同步方法可以应用在检索同步工具(如计算机系统、服务器)上,如图1所示,该分布式场景下数据聚合同步方法包括以下步骤:
在步骤101中,基于配置文件中配置的待监听消息队列,按照设定周期周期性拉取所述待监听消息队列内的消息。
在一些实施例中,为了实现本公开实施例,需要向数据库主设备发送dump协议(亚协议),由此数据库主设备根据该dump协议,即开始推送二进制日志文件,由此检索同步工具可以获取数据库的二进制日志文件,并从所述二进制日志文件中解析得到消息,并将所述消息插入所述待监听消息队列。
在一些实施例中,设定周期可以根据ES检索场景中所涉及的业务模块的多少、对检索时间的要求高低等自由设定,如业务模块过多,可以设置设定周期较小的值,或者对检索时间较高,也可设置设定周期较小的值;在一些实施例中,设定周期还可以为预先设置的一个固定值,例如,设定周期为3秒,也即,每三秒钟都要拉取所述待监听消息队列内的消息,如果在某一次拉取待监听消息队列内的消息时,待监听消息队列中没有消息,则此次不执行消息的处理,在下一个设定周期继续拉取待监听消息队列内的消息。
在一些实施例中,配置文件中的部分配置可以是所有ES数据表通用的,比如kafka的基本配置,消费的topic,消费者的分组id等;还有一部分是针对不同的ES数据表分别设置的,例如,例如动态扩容的参数、配置异常重试的参数等、配置拉取kafka消息所使用的线程数、每个ES数据表(ES数据表为ES检索平台上的一些数据表,用于用户的检索)中的聚合根以及每个ES数据表中的所有字段等等。其中,每一个ES数据表中单条记录都有一个唯一键,被称为聚合根,聚合根可以是一个字段,也可以是多个字段。参见图2B,其中配置平台中设置有配置文件,配置文件内可以配置动态扩容的参数,也即在待监听消息队列中消息过多,生成消息积压报警时,可通过配置文件中配置的动态扩容的参数,调整拉取线程数量或者单线程拉取消息量;可根据所述配置文件中配置的业务接口的分页查询条数,分页查询条数可通过与对应的业务模块协商确定,可以为30条,或者20条,或者其它数值等通过分页查询可以做到减少调用次数,达到接口限流的结果;而通过异常重试配置,则可在调用业务接口获取待同步数据失败时或者在数据合并或者数据推送到ES数据表的操作中出现失败时,根据异常重试的配置,实现再次执行重复的操作;而通过数据不长的配置,则可在调用API接口获取待同步数据失败时,通过数据补偿(包括自动补偿、手动补偿等方式)再次获取同步数据,直到获取到正确的数据,或者在增加新的字段时,通过手动补偿或者自动补偿的方式重新补偿字段数据。
在一些实施例中,可启动多线程拉取kafka消息,参见图2D,在订单、客源、人员、合同等业务模块的数据库发生数据变更,生成binlog消息时,不同的业务模块的binlog消息可以加入不同的kafka消息队列,然后检索同步工具可通过不同的消费线程拉取kafka消息队列中的消息。
在步骤102中,响应于拉取到至少一条所述消息,获取至少一条所述消息对应的聚合根标识信息和变更字段。
在一些实施例中,每一条消息中都包含有一个消息体,从中可解析到发生变更的变更字段和生成该消息的业务数据表中的所有字段。例如,业务A中订单号为1111111的订单记录中的订单金额发生了变更,则从对应的kafka消息中可以解析到变更字段为订单金额,以及该条订单记录的所有字段的字段值。
在一些实施例中,每一个ES数据表的单条记录都有一个唯一键,被称为聚合根,每条记录的聚合根的值即为聚合根标识信息。例如,ES数据表1的聚合根为订单号,其中一条记录的聚合根标识信息为1000。
在一些实施例中,根据配置文件配置的每个ES数据表的聚合根以及从kafka消息中解析到的所有字段以及字段值,可直接或者间接确定出该条kafka消息中的聚合根标识信息。
在一些实施例中,如果从kafka消息中解析到的所有字段中包含聚合根字段,则直接提取将该字段的值作为聚合根标识信息。
在一些实施例中,如果从kafka消息中解析到的所有字段均不为聚合根,则可根据第三方接口获取该kafka消息中所有字段的值对应的聚合根标识信息。例如,从kafka消息中解析到的所有字段有五个字段,分别为:合同号、合同金额、合同时间、合同甲方、合同乙方,这五个字段均不为聚合根字段,因此可通过一个第三方接口,查询该合同号对应的订单号(而订单号为ES数据表1的聚合根)。其中,第三方接口也是预先配置的不同字段值对应的聚合根标识信息的一个第三方。该第三方可以为一个数据表。
在步骤103中,根据所述聚合根标识信息和所述变更字段,对至少一条所述消息进行去重和过滤处理,得到至少一个聚合根标识信息。
在一些实施例中,可响应于所述变更字段不是所述配置文件中配置的检索字段,过滤对应的消息,得到过滤后的消息;获取所述过滤后的消息中的聚合根标识信息。具体实现时,可首先根据消息的变更字段,来过滤掉变更字段为ES数据表不关心字段(配置文件中配置的检索字段)的消息,例如,ES数据表中有5个字段来自业务模块A,而业务模块A的数据表在任何字段发生变化时,都会发送消息,但是同步检索工具只关心ES数据表中有的业务模块A的5个字段,而不关心业务模块A中除了这个五个字段之外的变更字段,因此在业务模块A的变更字段为除了这个五个字段之外的字段时,将过滤掉对应的消息。
在一些实施例中,根据聚合根标识信息,如果当多个业务模块对同一个聚合根标识信息的数据记录发生变化,或者一个业务对同一个聚合根标识信息的数据记录发生多次变化,比如:3s内,来了10条消息,有5条消息对应的聚合根标识信息都为ID=1000,则只需要根据聚合根标识信息ID=1000,调用一次对应业务方的接口来获取该聚合根标识信息对应的数据即可,而不需要查询5次,由此实现了消息去重,减轻业务接口的调用压力。
在步骤104中,根据所述至少一个聚合根标识信息和所述变更字段,调用对应的业务接口。
在一些实施例中,可以预先在所述配置文件中配置至少一个封装模型,至少一个所述封装模型中存储有聚合根标识信息对应的业务接口,后续即可根据聚合根标识信息获取对应的封装模型,并从封装模型中获取对应的业务接口。
在一些实施例中,如果变更字段只属于一个ES数据表,则可调用该ES数据表中调用的业务模块的接口,参见图3B,其中,在通过模型封装确定出业务接口,然后通过多个线程拉取ES数据表所需的字段,然后将获取的字段进行数据合并,并同步到ES数据表。
在一些实施例中,如果变更字段属于不同的ES数据表,可触发所述两个以上ES数据表对应的线程池;通过所述两个以上ES数据表对应的线程池调用对应的业务接口,获取所述两个以上ES数据表对应的两组以上待同步数据;将所述两组以上待同步数据分别同步至对应的ES数据表中。例如,参见图3C,其中,“客源信息”这个字段同时存在于ES数据表1和ES数据表2,则“客源信息”这个字段发生变化时,需要同时更新ES数据表1和ES数据表2,这两张表中的数据可通过service1线程池和service2线程池获取到,因此需要启动两个线程池,多线程地调用对应的业务借口,分别获取ES数据表1和ES数据表2所需的字段,然后将获取的字段分别按照ES数据表1和ES数据表2中分别包含的字段进行合并,再分别同步到ES数据表1和ES数据表2。
在一些实施例中,在调用对应的业务接口时,可根据所述配置文件中配置的业务接口的分页查询条数,通过分页查询方式调用对应的业务接口。例如,就消息去重和过滤后还剩余60条,这60条可以根据配置的分页查询条数,等比拆分,比如说配置的分页查询条数是20条,则可分三次查询,一次查询20条,分别三次查。在一些实施例中,分页查询条数可通过与对应的业务模块协商确定,可以为30条,或者20条,或者其它数值等。通过分页查询可以做到减少调用次数,达到接口限流的结果。
需要说明的是,在通过业务接口获取业务数据的过程可能成功也可能失败,通过所述对应的业务接口获取所述待同步数据失败后,可执行异常处理操作,具体可参见图3A所示实施例。
在步骤105中,响应于通过所述对应的业务接口成功获取到待同步数据,将所述待同步数据同步至数据表。
在一些实施例中,参见图2C,示意了分布式场景下数据聚合同步过程,可根据配置文件使用多个线程拉取每一个topic话题的消息,对消息进行过滤、去重,再分组执行service-module(其中每个ES数据表定义为一个service,将ES数据表在检索平台上的id定义为一个serviceId,每个service里调用的一个业务方提供的接口定义为一个module,多个接口定义为多个module),确定出消息需要调用的业务接口,然后再通过线程池(TypesExecutor)中的线程(singleTypesExecutor)调用业务接口,获取每个业务模块的数据,执行数据合并以及将数据推送到ES,即完成了检索数据的同步。在确定业务接口、调用业务接口、推送到ES数据表失败时,都可执行异常处理,也即将失败的聚合根标识信息添加到异常处理表MySql中。
上述步骤101~105,可以基于配置文件中配置的待监听kafka消息队列,按照设定周期周期性拉取待监听消息队列内的消息;响应于拉取到至少一条所述消息,获取至少一条所述消息对应的聚合根标识信息和变更字段;根据所述聚合根标识信息和所述变更字段,对至少一条消息进行去重和过滤处理,得到至少一个聚合根标识信息;根据所述至少一个聚合根标识信息和所述变更字段,调用对应的业务接口;响应于通过所述对应的业务接口成功获取到待同步数据,将所述待同步数据同步至数据表。本公开技术方案在通过待监听消息队列周期性拉取消息时,可以根据配置文件中配置的检索字段对kafka消息进行过滤和去重处理,然后根据kafka消息中获取的至少一个聚合根标识消息,对每个业务方进行调用并获取在当前周期内对聚合根标识信息所对应的数据记录所做的更改,获取到待同步数据并将获取的待同步数据同步到ES数据表中,实现ES数据表的周期性全量更新,有效避免在单个字段发生更新时就执行单个字段更新操作所导致的资源浪费、ES平台压力大等问题。
为了更好地说明本公开的分布式场景下数据聚合同步的方案,下面用另一个实施例说明。
图2A为本公开的拉取kafka消息的流程图,图2B为本公开的分布式场景下数据聚合同步方法的应用架构图,图2C为本公开的分布式场景下数据聚合同步示意图,图2D为本公开的分布式场景下数据聚合同步中拉取kafka消息的示意图;本实施例以如何拉取kafka消息为例进行示例性说明,如图2A所示,包括如下步骤:
在步骤201中,获取所述配置文件中配置的单线程拉取消息量和拉取线程数量。
在一些实施例中,单线程拉取消息量是指单个线程拉取消息的数量,拉取线程数量是指配置的用于拉取消息的线程数。其中,单线程拉取消息量和拉取线程数量可以预先在配置文件中设置一个值,也可以在后续拉取消息过程中根据实际情况进行变更。例如,在监听到指示消息积压的kafka报警消息时,可调整单线程拉取消息量和/或拉取线程数量;然后根据调整后的单线程拉取消息量拉取线程数量,拉取所述kafka消息队列内的所有kafka消息。
在一些实施例中,具体调整单线程拉取消息量和/或拉取线程数量时,可以在有消息积压报警,可先将拉取线程数量调大一倍,如果kafka消息仍然积压,则可在适当增加单线程拉取消息量;在一些实施例中,还可同时调大单线程拉取消息量和拉取线程数量;在一些实施例中,还可先调大单线程拉取消息量,在调大拉取线程数量。调整单线程拉取消息量和/或拉取线程数量的方式可视实际情况而定。
在一些实施例中,可启动多线程拉取kafka消息,参见图2D,在订单、客源、人员、合同等业务模块的数据库发生数据变更,生成binlog消息时,不同的业务模块的binlog消息可以加入不同的kafka消息队列,然后检索同步工具可通过不同的消费线程拉取kafka消息队列中的消息。
在步骤202中,通过所述单线程拉取消息量和拉取线程数量,拉取待监听消息队列内的消息。
通过上述步骤201~步骤202,可以实现根据配置文件,通过多线程拉取消息,并且可在消息积压(例如,业务模块刷数据时),动态扩容,拉取线程数量,及时解决消息积压的问题,提高检索数据同步的效率。
图3A为本公开的调用业务接口获取待同步数据时的异常处理流程图,图3B为本公开的调用业务接口获取同步数据的示意图一,图3C为本公开的调用业务接口获取同步数据的示意图二;本实施例以如何进行异常处理为例进行示例性说明,如图3A所示,包括如下步骤:
在步骤301中,响应于通过所述对应的业务接口获取所述待同步数据失败,在第一时间间隔后执行所述调用对应的业务接口的操作。
在一些实施例中,第一时间间隔可以为预先设置的一个固定值,如5s。
在一些实施例中,业务接口可能存在异常情况,导致获取待同步数据失败。
在步骤302中,若仍无法成功获取到所述待同步数据,将所述至少一个聚合根标识信息添加至异常处理表。
在一些实施例中,异常处理表可以为MySql表。
在步骤303中,按照第二时间间隔,重复调用异常处理表中的对应的业务接口,获取至少一个聚合根标识信息对应的待同步数据。
在步骤302和步骤303中,异常处理表中可以记录每一个没有正常获取到待同步数据的聚合根标识信息,对异常处理表中的每一个聚合根标识信息,可以按照第二时间间隔重复调用对应的业务接口,获取对应的待同步数据。
其中,第二时间间隔可以为预先设置的一个固定值,如5s或者3s。
在步骤304中,在成功获取到对应的待同步数据后,将对应的聚合根标识信息从所述异常处理表中删除。
需要说明的是,除了在调用业务接口获取待同步数据失败时,可执行异常重试操作,在数据合并或者数据推送到ES数据表的操作中,如果也出现失败的情况,也需要执行异常重试操作,重新调用业务接口获取数据。
通过上述步骤301~步骤304,通过异步重试的方式,例如,调用业务接口导致无法拿到数据的时候,可以重试,如果重试依然无法获取到数据,则可将聚合根添加至异常处理表中,通过定时重试异常数据将待同步数据同步到ES数据表中,可确保检索数据的最终一致性。
与前述分布式场景下数据聚合同步方法的实施例相对应,本公开还提供了分布式场景下数据聚合同步装置对应的实施例。
图4为本公开的分布式场景下数据聚合同步装置的一个实施例的结构示意图,该装置应用在检索同步工具(如计算机系统、服务器)上,如图4所示,该装置包括:
消息拉取模块41,用于基于配置文件中配置的待监听消息队列,按照设定周期周期性拉取所述待监听消息队列内的消息;
消息解析模块42,用于响应于拉取到至少一条所述消息,获取至少一条所述消息对应的聚合根标识信息和变更字段;
去重和过滤模块43,用于根据所述聚合根标识信息和所述变更字段,对至少一条所述消息进行去重和过滤处理,得到至少一个聚合根标识信息;
接口调用模块44,用于根据至少一个所述聚合根标识信息和变更字段,调用对应的业务接口;
同步模块45,用于响应于通过所述对应的业务接口成功获取到待同步数据,将所述待同步数据同步至数据表。
图5为本公开的分布式场景下数据聚合同步装置的又一个实施例的结构示意图,如图5所示,在图4所示实施例的基础上,在一些实施例中,所述接口调用模块44包括:
线程触发子模块441,用于响应于所述变更字段存在于两个以上数据表中,触发两个以上所述数据表对应的线程池;
第三获取子模块442,用于通过两个以上所述数据表对应的线程池调用对应的业务接口,获取两个以上所述数据表对应的两组以上待同步数据;
同步子模块443,用于将所述两组以上待同步数据分别同步至对应的数据表中。
在一些实施例中,所述装置还包括:
配置模块46,用于预先在所述配置文件中配置至少一个封装模型,至少一个所述封装模型中存储有聚合根标识信息对应的业务接口。
在一些实施例中,所述消息拉取模块41包括:
第一获取子模块411,用于获取所述配置文件中配置的单线程拉取消息量和拉取线程数量;
拉取子模块412,用于通过所述单线程拉取消息量和拉取线程数量,拉取所述待监听消息队列内的消息。
在一些实施例中,所述装置还包括:
调整模块47,用于响应于监听到指示消息积压的报警消息,调整所述单线程拉取消息量和/或拉取线程数量;
所述消息拉取模块41,用于根据调整后的单线程拉取消息量拉取线程数量,拉取待监听消息队列内的消息。
在一些实施例中,所述去重和过滤模块43包括:
过滤子模块431,用于响应于所述变更字段不是所述配置文件中配置的检索字段,过滤对应的消息,得到过滤后的消息;
第二获取子模块432,用于获取所述过滤后的消息中的聚合根标识信息。
图6为本公开的分布式场景下数据聚合同步装置的又一个实施例的结构示意图,如图6所示,在图4和/或图5所示实施例的基础上,在一些实施例中,所述装置还包括:
所述接口调用模块44,用于响应于通过所述对应的业务接口获取所述待同步数据失败,在第一时间间隔后执行所述调用对应的业务接口的操作;
异常处理模块48,用于若仍无法成功获取到所述待同步数据,将所述至少一个聚合根标识信息添加至异常处理表;
所述接口调用模块44,用于按照第二时间间隔,重复调用异常处理表中的对应的业务接口,获取至少一个聚合根标识信息对应的待同步数据;
删除模块49,用于在成功获取到对应的待同步数据后,将对应的聚合根标识信息从所述异常处理表中删除。
在本公开一些实施例中,所述装置包括:
标识获取模块50,用于响应于通过解析至少一条所述消息不能获取到所述聚合根标识信息,通过第三方接口获取所述变更数据对应的所述聚合根标识信息。
在一些实施例中,所述装置还包括:
日志获取模块51,用于获取数据库的二进制日志文件,并从所述二进制日志文件中解析得到所述消息;
消息入队模块52,用于将所述消息插入所述待监听消息队列。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本公开方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
下面,参考图7来描述根据本公开实施例的电子设备,其中可以集成本公开实施例实现方法的装置。图7为本公开一示意性实施例提供的电子设备的结构图,如图7所示,电子设备7包括一个或多个处理器71、一个或多个计算机可读存储介质的存储器72,以及存储在存储器上并可在处理器上运行的计算机程序。在执行存储器72的程序时,可以实现上述分布式场景下数据聚合同步方法。
具体的,在实际应用中,该电子设备还可以包括输入装置73、输出装置74等部件,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。本领域技术人员可以理解,图7中示出的电子设备的结构并不构成对该电子设备的限定,可以包括比图示更多或更少的部件,或者某些部件,或者不同的部件布置。其中:
处理器71可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,通过运行或执行存储在存储器72内的软件程序和/或模块,以及调用存储在存储器72内的数据,执行各种功能和处理数据,从而对该电子设备进行整体监控。
存储器72可以包括一个或多个计算机程序产品,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器71可以运行程序指令,以实现上文的本公开的各个实施例的分布式场景下数据聚合同步方法以及/或者其他期望的功能。在计算机可读存储介质中还可以存储诸如输入信号、信号分量、噪声分量等各种内容。
输入装置73可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆,光学或轨迹球信号输入。
输出装置74可以向外部输出各种信息,包括确定出的距离信息、方向信息等。该输出装置74可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
电子设备还可以包括给各个部件供电的电源,可以通过电源管理系统与处理器71逻辑相连,从而通过电源管理系统实现管理充电、放电,以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
当然,为了简化,图7中仅示出了该电子设备7中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备7还可以包括任何其他适当的组件。
除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的分布式场景下数据聚合同步方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的分布式场景下数据聚合同步方法中的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
可能以许多方式来实现本公开的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
本公开的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本公开限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本公开的原理和实际应用,并且使本领域的普通技术人员能够理解本公开从而设计适于特定用途的带有各种修改的各种实施例。
Claims (10)
1.一种分布式场景下数据聚合同步方法,其特征在于,所述方法包括:
基于配置文件中配置的待监听消息队列,按照设定周期周期性拉取所述待监听消息队列内的消息;
响应于拉取到至少一条所述消息,获取至少一条所述消息对应的聚合根标识信息和变更字段;
根据所述聚合根标识信息和所述变更字段,对至少一条所述消息进行去重和过滤处理,得到至少一个聚合根标识信息;
根据至少一个所述聚合根标识信息和所述变更字段,调用对应的业务接口;
响应于通过所述对应的业务接口成功获取到待同步数据,将所述待同步数据同步至数据表。
2.根据权利要求1所述的方法,其特征在于,所述根据至少一个所述聚合根标识信息和所述变更字段,调用对应的业务接口,包括:
响应于所述变更字段存在于两个以上数据表中,触发两个以上所述数据表对应的线程池;
通过两个以上所述数据表对应的线程池调用对应的业务接口,获取两个以上所述数据表对应的两组以上待同步数据;
将所述两组以上待同步数据分别同步至对应的数据表中。
3.根据权利要求1或2所述的方法,其特征在于,所述根据至少一个所述聚合根标识信息,调用对应的业务接口之前,所述方法还包括:
预先在所述配置文件中配置至少一个封装模型,至少一个所述封装模型中存储有聚合根标识信息对应的所述业务接口。
4.根据权利要求1所述的方法,其特征在于,所述拉取所述待监听消息队列内的消息,包括:
获取所述配置文件中配置的单线程拉取消息量和拉取线程数量;
通过所述单线程拉取消息量和拉取线程数量,拉取所述待监听消息队列内的消息。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
响应于监听到指示消息积压的报警消息,调整所述单线程拉取消息量和/或拉取线程数量;
根据调整后的单线程拉取消息量和拉取线程数量,拉取所述待监听消息队列内的消息。
6.根据权利要求1所述的方法,其特征在于,所述根据所述聚合根标识信息和所述变更字段,对至少一条所述消息进行去重和过滤处理,得到至少一个聚合根标识信息,包括:
响应于所述变更字段不是所述配置文件中配置的检索字段,过滤对应的消息,得到过滤后的消息;
获取所述过滤后的消息中的聚合根标识信息。
7.根据权利要求1所述的方法,其特征在于,所述通过所述对应的业务接口和所述接口参数获取待同步数据之后,还包括:
响应于通过所述对应的业务接口获取所述待同步数据失败,在第一时间间隔后执行所述调用对应的业务接口的操作;
若仍无法成功获取到所述待同步数据,将所述至少一个聚合根标识信息添加至异常处理表;
按照第二时间间隔,重复调用异常处理表中的对应的业务接口,获取至少一个聚合根标识信息对应的待同步数据;
在成功获取到对应的待同步数据后,将对应的聚合根标识信息从所述异常处理表中删除。
8.根据权利要求1所述的方法,其特征在于,所述方法包括:
响应于通过解析至少一条所述消息不能获取到所述聚合根标识信息,通过第三方接口获取所述变更数据对应的所述聚合根标识信息。
9.根据权利要求1所述的方法,其特征在于,所述按照设定周期周期性拉取所述待监听消息队列内的消息之前,所述方法还包括:
获取数据库的二进制日志文件,并从所述二进制日志文件中解析得到所述消息;
将所述消息插入所述待监听消息队列。
10.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,所述计算机指令被处理器执行时,实现上述权利要求1-8任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310822242.8A CN116821245A (zh) | 2023-07-05 | 2023-07-05 | 分布式场景下数据聚合同步方法及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310822242.8A CN116821245A (zh) | 2023-07-05 | 2023-07-05 | 分布式场景下数据聚合同步方法及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116821245A true CN116821245A (zh) | 2023-09-29 |
Family
ID=88139144
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310822242.8A Pending CN116821245A (zh) | 2023-07-05 | 2023-07-05 | 分布式场景下数据聚合同步方法及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116821245A (zh) |
Citations (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9354931B1 (en) * | 2015-05-14 | 2016-05-31 | Tmaxsoft, Co., Ltd. | Method, server and computer-readable recording medium for managing size of thread pool dynamically |
CN107783975A (zh) * | 2016-08-24 | 2018-03-09 | 北京京东尚科信息技术有限公司 | 分布式数据库同步处理的方法和装置 |
CN109587212A (zh) * | 2018-10-31 | 2019-04-05 | 武汉艺果互动科技股份有限公司 | 一种基于GraphQL的微服务架构设计方法、设备及存储设备 |
CN109815028A (zh) * | 2018-12-27 | 2019-05-28 | 北京摩拜科技有限公司 | 数据同步的系统、方法、装置和计算机存储介质 |
CN110019255A (zh) * | 2017-07-31 | 2019-07-16 | 北京嘀嘀无限科技发展有限公司 | 数据查询方法、装置、服务器及存储介质 |
CN110895534A (zh) * | 2018-08-24 | 2020-03-20 | 北京京东尚科信息技术有限公司 | 一种数据拼接方法、装置、介质及电子设备 |
CN111381987A (zh) * | 2020-03-13 | 2020-07-07 | 北京金山云网络技术有限公司 | 一种消息处理方法、装置、电子设备及介质 |
CN111913949A (zh) * | 2019-05-07 | 2020-11-10 | 北京京东尚科信息技术有限公司 | 数据处理方法、系统、装置和计算机可读存储介质 |
CN112115163A (zh) * | 2019-06-19 | 2020-12-22 | 北京京东尚科信息技术有限公司 | 一种数据聚合方法、装置、存储介质及电子设备 |
CN113032419A (zh) * | 2021-04-21 | 2021-06-25 | 上海微盟企业发展有限公司 | 一种多源数据聚合搜索方法、装置、设备及存储介质 |
CN113111129A (zh) * | 2021-04-16 | 2021-07-13 | 挂号网(杭州)科技有限公司 | 数据同步方法、装置、设备及存储介质 |
CN113760920A (zh) * | 2020-08-20 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种数据同步方法、装置、电子设备和存储介质 |
CN113918357A (zh) * | 2020-09-15 | 2022-01-11 | 京东科技控股股份有限公司 | 业务处理方法及装置、存储介质、电子设备 |
CN113961643A (zh) * | 2021-10-20 | 2022-01-21 | 广州华多网络科技有限公司 | 搜索引擎更新方法及其装置、设备、介质、产品 |
CN114490865A (zh) * | 2021-12-22 | 2022-05-13 | 天翼云科技有限公司 | 数据库同步方法、装置、设备及计算机存储介质 |
CN114547199A (zh) * | 2022-02-23 | 2022-05-27 | 阿维塔科技(重庆)有限公司 | 数据库增量同步响应方法、装置及计算机可读存储介质 |
CN114579668A (zh) * | 2022-05-06 | 2022-06-03 | 中建电子商务有限责任公司 | 一种数据库数据同步方法 |
CN114780564A (zh) * | 2022-04-21 | 2022-07-22 | 京东科技控股股份有限公司 | 数据处理方法、数据处理装置、电子设备和存储介质 |
CN115114319A (zh) * | 2022-06-15 | 2022-09-27 | 北京快乐茄信息技术有限公司 | 基于数据宽表进行数据查询的方法、装置及设备 |
CN115129788A (zh) * | 2022-07-20 | 2022-09-30 | 北京理房通支付科技有限公司 | 数据同步的方法和装置 |
CN115309761A (zh) * | 2022-08-08 | 2022-11-08 | 康键信息技术(深圳)有限公司 | 数据同步方法、装置、电子设备及存储介质 |
CN115438122A (zh) * | 2022-08-24 | 2022-12-06 | 南威软件股份有限公司 | 数据异构同步系统 |
CN115576719A (zh) * | 2022-11-02 | 2023-01-06 | 神策网络科技(北京)有限公司 | 一种数据处理方法、装置、智能终端及存储介质 |
CN115587096A (zh) * | 2022-10-13 | 2023-01-10 | 浙江惠瀜网络科技有限公司 | 实现MySQL同步数据到ES构建宽表的系统及方法 |
CN115599568A (zh) * | 2022-10-17 | 2023-01-13 | 中国工商银行股份有限公司(Cn) | 数据处理方法、装置、计算机设备和存储介质 |
CN115630122A (zh) * | 2022-11-03 | 2023-01-20 | 平安银行股份有限公司 | 一种数据同步方法、装置、存储介质和计算机设备 |
CN116383308A (zh) * | 2023-04-11 | 2023-07-04 | 杭州尚尚签网络科技有限公司 | 一种具备全链路反压特性的数据同步方法及系统 |
-
2023
- 2023-07-05 CN CN202310822242.8A patent/CN116821245A/zh active Pending
Patent Citations (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9354931B1 (en) * | 2015-05-14 | 2016-05-31 | Tmaxsoft, Co., Ltd. | Method, server and computer-readable recording medium for managing size of thread pool dynamically |
CN107783975A (zh) * | 2016-08-24 | 2018-03-09 | 北京京东尚科信息技术有限公司 | 分布式数据库同步处理的方法和装置 |
CN110019255A (zh) * | 2017-07-31 | 2019-07-16 | 北京嘀嘀无限科技发展有限公司 | 数据查询方法、装置、服务器及存储介质 |
CN110895534A (zh) * | 2018-08-24 | 2020-03-20 | 北京京东尚科信息技术有限公司 | 一种数据拼接方法、装置、介质及电子设备 |
CN109587212A (zh) * | 2018-10-31 | 2019-04-05 | 武汉艺果互动科技股份有限公司 | 一种基于GraphQL的微服务架构设计方法、设备及存储设备 |
CN109815028A (zh) * | 2018-12-27 | 2019-05-28 | 北京摩拜科技有限公司 | 数据同步的系统、方法、装置和计算机存储介质 |
CN111913949A (zh) * | 2019-05-07 | 2020-11-10 | 北京京东尚科信息技术有限公司 | 数据处理方法、系统、装置和计算机可读存储介质 |
CN112115163A (zh) * | 2019-06-19 | 2020-12-22 | 北京京东尚科信息技术有限公司 | 一种数据聚合方法、装置、存储介质及电子设备 |
CN111381987A (zh) * | 2020-03-13 | 2020-07-07 | 北京金山云网络技术有限公司 | 一种消息处理方法、装置、电子设备及介质 |
CN113760920A (zh) * | 2020-08-20 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种数据同步方法、装置、电子设备和存储介质 |
CN113918357A (zh) * | 2020-09-15 | 2022-01-11 | 京东科技控股股份有限公司 | 业务处理方法及装置、存储介质、电子设备 |
CN113111129A (zh) * | 2021-04-16 | 2021-07-13 | 挂号网(杭州)科技有限公司 | 数据同步方法、装置、设备及存储介质 |
CN113032419A (zh) * | 2021-04-21 | 2021-06-25 | 上海微盟企业发展有限公司 | 一种多源数据聚合搜索方法、装置、设备及存储介质 |
CN113961643A (zh) * | 2021-10-20 | 2022-01-21 | 广州华多网络科技有限公司 | 搜索引擎更新方法及其装置、设备、介质、产品 |
CN114490865A (zh) * | 2021-12-22 | 2022-05-13 | 天翼云科技有限公司 | 数据库同步方法、装置、设备及计算机存储介质 |
CN114547199A (zh) * | 2022-02-23 | 2022-05-27 | 阿维塔科技(重庆)有限公司 | 数据库增量同步响应方法、装置及计算机可读存储介质 |
CN114780564A (zh) * | 2022-04-21 | 2022-07-22 | 京东科技控股股份有限公司 | 数据处理方法、数据处理装置、电子设备和存储介质 |
CN114579668A (zh) * | 2022-05-06 | 2022-06-03 | 中建电子商务有限责任公司 | 一种数据库数据同步方法 |
CN115114319A (zh) * | 2022-06-15 | 2022-09-27 | 北京快乐茄信息技术有限公司 | 基于数据宽表进行数据查询的方法、装置及设备 |
CN115129788A (zh) * | 2022-07-20 | 2022-09-30 | 北京理房通支付科技有限公司 | 数据同步的方法和装置 |
CN115309761A (zh) * | 2022-08-08 | 2022-11-08 | 康键信息技术(深圳)有限公司 | 数据同步方法、装置、电子设备及存储介质 |
CN115438122A (zh) * | 2022-08-24 | 2022-12-06 | 南威软件股份有限公司 | 数据异构同步系统 |
CN115587096A (zh) * | 2022-10-13 | 2023-01-10 | 浙江惠瀜网络科技有限公司 | 实现MySQL同步数据到ES构建宽表的系统及方法 |
CN115599568A (zh) * | 2022-10-17 | 2023-01-13 | 中国工商银行股份有限公司(Cn) | 数据处理方法、装置、计算机设备和存储介质 |
CN115576719A (zh) * | 2022-11-02 | 2023-01-06 | 神策网络科技(北京)有限公司 | 一种数据处理方法、装置、智能终端及存储介质 |
CN115630122A (zh) * | 2022-11-03 | 2023-01-20 | 平安银行股份有限公司 | 一种数据同步方法、装置、存储介质和计算机设备 |
CN116383308A (zh) * | 2023-04-11 | 2023-07-04 | 杭州尚尚签网络科技有限公司 | 一种具备全链路反压特性的数据同步方法及系统 |
Non-Patent Citations (5)
Title |
---|
WORK HARD WORK SMAR: ""SpringBoot集成Kafka实践"", pages 1 - 2, Retrieved from the Internet <URL:《https://www.cnblogs.com/linlf03/p/12956675.html》> * |
司青: ""spring-kafka的线程模型与spring.kafka.listener.concurrency参数"", pages 1 - 2, Retrieved from the Internet <URL:《https://www.cnblogs.com/whongfei/p/17841279.html》> * |
吴晟 等: "《Apache SkyWalking实战》", vol. 1, 31 July 2020, 机械工业出版社, pages: 209 - 211 * |
布咚嘞: ""spring boot kafak 配置"", pages 1 - 3, Retrieved from the Internet <URL:《https://www.cnblogs.com/super-jing/p/12531939.html》> * |
董云龙: ""机票实时数据处理系统的设计与实现"", 《中国优秀硕士学位论文全文数据库 信息科技辑》, no. 02, pages 138 - 2019 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109739929B (zh) | 数据同步方法、装置及系统 | |
CN109189835B (zh) | 实时生成数据宽表的方法和装置 | |
US11663242B2 (en) | Mass insertion into single-threaded databases | |
CN112307037B (zh) | 一种数据同步方法和装置 | |
WO2016206600A1 (zh) | 一种信息流数据的处理方法和装置 | |
US10614087B2 (en) | Data analytics on distributed databases | |
CN110765206A (zh) | 一种数据同步系统、方法、装置、设备及存储介质 | |
CN106777046A (zh) | 一种基于nginx日志的数据分析方法 | |
CN113656407B (zh) | 一种数据拓扑生成方法、装置、电子设备及存储介质 | |
CN111651424B (zh) | 一种数据处理方法、装置、数据节点及存储介质 | |
CN113761052A (zh) | 数据库同步方法和装置 | |
CN116821245A (zh) | 分布式场景下数据聚合同步方法及存储介质 | |
CN113127225A (zh) | 一种数据处理任务的调度方法、装置和系统 | |
CN116383207A (zh) | 一种数据标签管理方法、装置、电子设备和存储介质 | |
US20060265448A1 (en) | Container-level transaction management system and method therefor | |
CN113760600A (zh) | 一种数据库备份方法、数据库还原方法和相关装置 | |
CN106230646B (zh) | 一种获取网管告警信息的方法及测试系统 | |
CN113297002B (zh) | 数据库工作模式的切换方法和装置 | |
CN112783925B (zh) | 分页检索方法和装置 | |
WO2024067832A1 (zh) | 数据处理方法、装置、电子设备及存储介质 | |
WO2021047506A1 (zh) | 数据统计分析系统、方法及计算机可读存储介质 | |
US20140075454A1 (en) | Efficient dynamic subscription updates in a content management system | |
CN108804463B (zh) | 一种MySQL数据库的数据同步方法、装置及电子设备 | |
CN117633116A (zh) | 数据同步方法、装置、电子设备及存储介质 | |
CN117931805A (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 |