CN110427426A - 一种数据同步处理方法及装置 - Google Patents
一种数据同步处理方法及装置 Download PDFInfo
- Publication number
- CN110427426A CN110427426A CN201910710935.1A CN201910710935A CN110427426A CN 110427426 A CN110427426 A CN 110427426A CN 201910710935 A CN201910710935 A CN 201910710935A CN 110427426 A CN110427426 A CN 110427426A
- Authority
- CN
- China
- Prior art keywords
- data
- synchronous documents
- database
- incremental
- incremental data
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/275—Synchronous replication
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种数据同步处理方法及装置,将增量数据的获取与数据库内的逻辑结构(例如触发器)解耦,对数据库日志进行解析抓取,实现数据的准确性与实时性,并对数据库本身的性能影响降到最低。通过消息中间件实现数据的传递和分发,且可横向扩展,保证数据流的高时效与高吞吐量。生成同步文件的消费者通过分布式部署,依托云平台实现快速部署和动态伸缩。同步文件的结构、时效性可灵活定制,与数据库类型、数据库对象解耦,实现异构数据库间的数据同步。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种数据同步处理方法及装置。
背景技术
近年来随着互联网应用的兴起,系统功能朝着小、快、灵的方向发展,各系统各模块各司其职,互相之间的交互越来越频繁,对数据的时效性要求也越来越高。在此背景下,若信息交互发生在系统间(不同数据库之间),不同系统间的数据需要同步,以保证数据交互的准确性。
现有技术中,数据同步模式一般是接口同步或文件同步,接口同步时效性虽高,但通常同步信息量小,较适合于类似业务控制信息交互等场景。文件同步的信息量虽大,但通常需要在数据库中开发加工作业处理,消耗大,频率低(频率太高容易占用数据库资源),且一般放在晚间,时效性很难保证(通常是t+1日),已越来越跟不上业务的发展要求。
发明内容
本发明实施例提供了一种数据同步处理方法及装置,实现了数据同步的准确性和实时性。
一方面,提供了一种数据同步处理方法,所述方法包括:
实时监控源数据库的日志数据;
若监控到所述日志数据发生变动,则将变动数据转换为序列化的二进制格式;
对转换后的变动数据进行持久化缓存,并维持所述变动数据的有序队列;
按照预先设置的同步文件的基础定义,从缓存中拉取对应的变动数据,生成对应的同步文件,其中,所述基础定义包括:数据的存储位置、时效;
根据所述同步文件对应的时效,将所述同步文件发送到目标数据库或数据交换中心。
另一方面,提供了一种数据同步处理装置,包括:
日志数据监控单元,用于实时监控源数据库的日志数据;
变动数据抓取单元,用于若监控到所述日志数据发生变动,则将变动数据转换为序列化的二进制格式;
数据存储单元,用于对转换后的变动数据进行持久化缓存,并维持所述变动数据的有序队列;
同步数据生成单元,用于按照预先设置的同步文件的基础定义,从缓存中拉取对应的变动数据,生成对应的同步文件,其中,所述基础定义包括:数据的存储位置、时效;
数据发送单元,用于根据所述同步文件对应的时效,将所述同步文件发送到目标数据库或数据交换中心。
又一方面,提供了一种数据同步处理设备,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现上述实施例中的数据同步处理方法。
又一方面,提供了一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现上述实施例中的数据同步处理方法。
又一方面,提供了一种数据同步处理系统,包括:目标数据库、数据交换中心中的至少一个,以及源数据库、数据库日志抓取装置、生产者装置、消息储存装置、消费者装置,其中:
所述数据库日志抓取装置与所述源数据库连接,用于抓取源数据库中发生变动的变动数据,并将所述变动数据推送到指定的数据表集合中,由所述数据表集合将变动数据发送到所述生产者装置;
所述生产者装置接收所述数据库日志抓取装置发送的动动数据,将所述变动数据转换为序列化的二进制格式,并将序列化格式注册到一致模式注册表中;
所述消息储存装置用于接收所述生产者装置发送的变动数据,将接收到的变动数据持久化缓存,并维持有序队列;
所述消费者装置用于从所述消息储存装置读取预设的同步文件的基础定义,根据所述基础定义从所述消息缓存装置中拉取对应的变动数据,生成对应的同步文件,并将生成的同步文件投递到所述目标数据库或所述数据交换中心。
在本发明实施例中提供了一种数据同步处理方法、装置、处理设备、计算机存储介质、系统,将增量数据的获取与数据库内的逻辑结构(例如触发器)解耦,对数据库日志进行解析抓取,实现数据的准确性与实时性,并对数据库本身的性能影响降到最低。通过消息中间件实现数据的传递和分发,且可横向扩展,保证数据流的高时效与高吞吐量。生成同步文件的消费者通过分布式部署,依托云平台实现快速部署和动态伸缩。同步文件的结构、时效性可灵活定制,与数据库类型、数据库对象解耦,实现异构数据库间的数据同步。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中:
图1是本说明书一个实施例中数据同步处理方法的流程示意图;
图2是本说明书一个实施例中数据同步处理系统的结构示意图;
图3是本说明书又一个实施例中数据同步处理的流程示意图;
图4是本说明书一个实施例中数据同步处理装置的结构示意图;
图5是本说明书实施例中数据同步处理服务器的硬件结构框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并不作为对本发明的限定。
随着互联网技术的发展,系统功能朝着小、快、灵的方向发展,各个系统中不同模块有不同的功能,不同模块之间的数据交互越来越频繁,数据交互需要各个模块的数据同步,确保数据交互的准确性。
本说明书一些实施例提供了一种数据同步处理方法,将增量数据的获取与数据库内的逻辑结构(例如触发器)解耦,对数据库日志进行解析抓取,实现数据的准确性与实时性,并对数据库本身的性能影响降到最低。通过消息中间件实现数据的传递和分发,且可横向扩展,保证数据流的高时效与高吞吐量。生成同步文件的消费者通过分布式部署,依托云平台实现快速部署和动态伸缩。同步文件的结构、时效性可灵活定制,与数据库类型、数据库对象解耦,实现异构数据库间的数据同步。
本说明书中数据同步处理方法可以应用在包括不同数据库的系统中,如银行系统。可以实现不同数据库之间的数据及时同步,确保数据交互的准确性。
本说明书中数据同步处理方法可以应用在客户端或服务器中,客户端可以是智能手机、平板电脑、智能可穿戴设备(智能手表、虚拟现实眼镜、虚拟现实头盔等)、智能车载设备等电子设备。
具体地,图1是本说明书一个实施例中数据同步处理方法的流程示意图,如图1所示,该方法可以包括以下步骤:
步骤102、实时监控源数据库的日志数据。
在具体的实时过程中,可以对源数据库的日志数据进行实时监控,源数据库可以表示应用侧的数据库,可以表示数据的源头,通常情况下,数据流由源数据库向下游传送。本说明书实施例中,不需要设置触发器,将数据库内部的逻辑结构解耦,通过监控源数据库的日志数据,及时发现发生变动的数据,以及时对数据进行同步。
步骤104、若监控到所述日志数据发生变动,则将变动数据转换为序列化的二进制格式。
在具体的实施过程中,可以实时抓取源数据库中发生变动的数据,并将抓取到的变动数据转换为序列化的二进制格式。如:可以对变动数据使用Apache Avro方式序列化为二进制格式,Avro可以表示一个数据序列化系统,可以实现将数据序列化二进制格式。
步骤106、对转换后的变动数据进行持久化缓存,并维持所述变动数据的有序队列。
在具体的实施过程中,可以对转换为序列化的二进制格式的数据进行持久化缓存,并维持有序队列,为后续同步数据的拉取奠定了数据基础。其中,持久化缓存的方法可以根据实际需要进行选择,本说明书实施例不作具体限定。
步骤108、按照预先设置的同步文件的基础定义,从缓存中拉取对应的变动数据,生成对应的同步文件,其中,所述基础定义包括:数据的存储位置、时效。
在具体的实施过程中,同步文件可以表示需要同步的数据或数据集合,可以预先设置同步文件对应的基础定义,基础定义可以表示同步文件对应的属性如:同步文件中数据对应的存储位置、时效等。其中,时效可以表示同步文件生成的频率,即多久生成一次,通过定制同步文件的时效可以控制数据同步的频率,如:可以通过设置同步文件的时效将数据同步的时效性可降低到秒级。从源数据库中拉取的变动数据,缓存在指定的位置中,可以根据预先设置的同步文件的基础定义中同步文件的存储位置,从缓存中拉取对应的变动数据,生成对应的同步文件。
例如:预先设置同步文件A的表名为a、文件名为b,可以从缓存中拉取表名为a、文件名为b的变动数据,生成对应的同步文件。
此外,同步文件的基础定义根据实际需要还可以包括其他内容如:字段数量、字段格式、时效性、分隔换行符等,通过定制同步文件的基础定义,使得数据的同步不依赖于数据源的结构,实现数据同步的灵活定制。
步骤110、将所述同步文件发送到目标数据库或数据交换中心。
在具体的实施过程中,生成同步文件后,可以按照同步文件对应的时效将同步文件发送到目标数据库或数据交换中心,实现变动数据的及时同步,确保数据交互的准确性和实时性。其中,目标数据和数据交换中心可以表示与源数据库有直接或间接数据交互关系的数据存储设备,或者区别于源数据库的数据存储设备。
本说明书实施例提供的数据同步处理方法,不需要设置触发器,可以将变动数据的获取与数据库内部的逻辑结构解耦,对数据库的日志数据进行解析实时抓取,实现数据同步的准确性和实时性。并且,本说明书实施例中的数据同步不牵涉业务逻辑,不具有侵入性,同步文件的结构和时效可以根据实际需要进行定制,实现数据同步的灵活性,并且可以实现不同类型数据库之间的数据同步。
在上述实施例的基础上,本说明书一些实施例中,所述根据所述同步文件对应的时效,将所述同步文件发送到目标数据库或数据交换中心,包括:
根据所述同步文件对应的时效,判断所述同步文件是否写入完成,若所述同步文件没有写入完成,则继续从缓存中拉取对应的变动数据,直至所述同步文件的写入完成;
将拉取的同步数据生成的同步文件发送到目标数据库或数据交换中心。
在具体的实施过程中,在拉取变动数据,生成同步文件时,可以根据同步文件对应的时效,判断同步文件是否写入完成,即判断是否达到同步文件生成、发放的时间,若没有写入完成,则继续根据同步文件的基础定义从缓存中拉取对应的变动数据,直至同步文件写入完成。将拉取的变动数据生成对应的同步文件,并将生成的同步文件发送至目标数据库或数据交换中心。
例如:若同步文件A的时效为1小时,即每隔1小时生成一次同步文件,将同步文件发送到下游数据库。上一次同步文件A的生成时间为上午11:00,当前时间为上午11:35,根据同步文件A的时效可以确定当前还没有到达同步文件A下发的时间。可以根据同步文件A的基础定义继续从缓存中拉取对应的变动数据,直至到达上午12:00,则将拉取到的变动数据生成同步文件A,并将生成的同步文件A发送至下游的目标数据库。
本说明书实施例,通过灵活定义同步文件的时效,控制同步数据的生成频率,实现数据的定制性和灵活性同步。在实现高定制性的基础上,通过定制同步文件的时效,可以将数据同步的时效性可降低到秒级,且时效性所依托的性能可根据集群规模线性扩展。
在上述实施例的基础上,本说明书一些实施例中,所述方法还包括:
若监控到所述日志数据发生变动后,将所述变动数据发送的指定的数据表集合中;
将所述数据表集合中的变动数据转换为序列化的二进制格式,并将序列化格式注册到一致模式注册表中。
在具体的实施过程中,在监控到源数据库的日志数据发生变动后,可以将发生变动的变动数据发送到指定的数据表集合,数据表集合中包括多个数据表可以用户存储数据。再将数据表集合中的变动数据转换为序列化的二进制格式,并将序列化格式注册到一致模式注册表(Confluent Schema Registry)中。其中,一致模式注册表Confluent SchemaRegistry可以表示Kafka平台的一个注册表。
本说明书实施例,利用基于分布式Kafka流平台对变动数据进行传递和分发,且可横向扩展,保证数据流的高时效与高吞吐量。
在上述实施例的基础上,本说明书一些实施例中,所述数据表集合包括多个数据表,所述将所述变动数据发送的指定的数据表集合中,包括:
根据所述变动数据对应的存储位置,将所述变动数据发送到对应的数据表中,所述数据表在一个或多个数据表集合中。
在具体的实施过程中,抓取到源数据库的变动数据后,可以将抓取到的变动数据发送到对应的数据表中,该数据表可以位于一个或多个数据表集合。即数据表集合中的数据表可以部分重复,在推送抓取到的变动数据时,只根据数据对应的存储的数据表,一次将数据推送到对应的数据表,不需要多次推送,提高数据传输的效率。
例如:数据表集合1和数据表集合2中,都有个数据表f,抓取到变动数据Q后,根据变动数据的存储位置,确定变动数据需要存储在数据表f中,则将变动数据Q一次发送到数据表集合1和数据表集合2中的数据表f中。
在上述实施例的基础上,本说明书一些实施例中,所述方法还包括:
在将所述同步文件发送到目标数据库或数据交换中心之前,备份所述同步文件。
在具体的实施过程中,在将同步文件发送到目标数据库或数据交换中心之前,可以将同步文件备份存储,以防止后续同步文件传输失败或有误后,可以查询备份的同步文件,确保数据的准确性。
图2是本说明书一个实施例中数据同步处理系统的结构示意图,如图2所示,本说明书一些实施例中的数据同步处理系统可以包括源数据库1、数据库日志抓取装置2、生产者装置3、消息储存装置4、消费者装置5、目标数据库6、数据交换中心7,其中:
数据库日志抓取装置2与源数据库1以及生产者装置3相连,用于从源数据库1抓取数据库日志,实时抓取发生变动的变动数据,推送到各个数据表集合,由各个数据表集合将数据投递到生产者装置3进行消息预处理。
生产者装置3与数据库日志抓取装置2、消息储存装置4相连,用于接收数据库日志抓取装置2投递过来的数据消息,对数据使用Apache Avro方式序列化为二进制格式,将序列化格式注册到Confluent Schema Registry,并将数据投递到消息储存装置4。
消息储存装置4与生产者装置3、消费者装置5相连,用于收到生产者装置3投递的数据消息后,对数据消息即转换格式后的变动数据进行持久化缓存,并维持有序队列,供消费者装置5拉取消费;消息储存装置4同时储存有同步文件的结构格式定义即同步文件的基础定义,供消费者装置5读取处理,当然同步文件的基础定义也可以存储在源数据库中或其他装置中,本说明书实施例不作具体限定。
消费者装置5与消息储存装置4和目标数据库6或数据交换中心7相连,从消息储存装置4读取同步文件的基础定义,包括预定、表名、文件名、时效等,按此基础定义拉取对应的变动数据,生成相应同步文件。按同步文件定制的时效,消费者装置5将同步文件传递到目标数据库6或数据交换中心7。
本说明书实施例提供的系统,将增量数据的获取与数据库内的逻辑结构(例如触发器)解耦,对数据库日志进行解析抓取,实现数据的准确性与实时性,并对数据库本身的性能影响降到最低。通过消息中间件实现数据的传递和分发,且可横向扩展,保证数据流的高时效与高吞吐量。生成同步文件的消费者通过分布式部署,依托PAAS((Platform-as-a-Service:平台即服务)云平台实现快速部署和动态伸缩。同步文件的结构、时效性可灵活定制,与数据库类型、数据库对象解耦,实现异构数据库间的数据同步。
图3是本说明书又一个实施例中数据同步处理的流程示意图,下面结合图2、图3具体介绍本说明书实施例提供的数据同步流程:
步骤S301:数据库日志抓取装置从源数据库抓取数据库日志,实时抓取发生变动的数据,推送到各个数据表集合,由各个数据表集合定将数据投递到生产者装置进行消息预处理。
步骤S302:生产者装置接收数据库日志抓取装置投递过来的数据消息,对数据使用Apache Avro方式序列化为二进制格式,将序列化格式注册到Confluent SchemaRegistry,并将数据投递到消息储存装置。
步骤S303:消息储存装置收到生产者装置投递的消息后,对消息进行持久化缓存,并维持有序队列。
步骤S304:消费者装置从消息储存装置读取同步文件的基础定义,包括预定、表名、文件名、时效等,按此基础定义拉取具体数据,生成相应同步文件。
步骤S305:消费者装置根据定制的时效,判断一个批次的文件是否写入完成,如果没有写入完成,继续重复步骤S304进行写入。
步骤S306:消费者装置备份本次写入完成的同步文件。
步骤S307:消费者装置将同步文件发送到目标数据库或数据交换中心。
本说明书实施例提供的数据同步方法,满足高时效(准实时级)、低开销(无需触发器)、非侵入式(不牵涉业务逻辑)、高准确性(基于数据库日志)、可定制(同步文件的结构、时效等方面可定制)、高吞吐量(基于分布式Kafka流平台)、跨平台(不同类型数据库间可数据同步)同步构件,为不同数据库间数据同步提供了一种新思路。
本说明书中上述方法的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。相关之处参见方法实施例的部分说明即可。
基于上述所述的数据同步处理方法,本说明书一个或多个实施例还提供一种数据同步处理方法装置。所述的装置可以包括使用了本说明书实施例所述方法的系统(包括分布式系统)、软件(应用)、模块、组件、服务器、客户端等并结合必要的实施硬件的装置。基于同一创新构思,本说明书实施例提供的一个或多个实施例中的装置如下面的实施例所述。由于装置解决问题的实现方案与方法相似,因此本说明书实施例具体的装置的实施可以参见前述方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
具体地,图4是本说明书一个实施例中数据同步处理装置的结构示意图,如图4所示,本说明书实施例中一种数据同步处理装置可以包括:日志数据监控单元41、变动数据抓取单元42、数据存储单元43、同步数据生成单元44、数据发送单元45,其中:
日志数据监控单元41,可以用于实时监控源数据库的日志数据;
变动数据抓取单元42,可以用于若监控到所述日志数据发生变动,则将变动数据转换为序列化的二进制格式;
数据存储单元43,可以用于对转换后的变动数据进行持久化缓存,并维持所述变动数据的有序队列;
同步数据生成单元44,可以用于按照预先设置的同步文件的基础定义,从缓存中拉取对应的变动数据,生成对应的同步文件,其中,所述基础定义包括:数据的存储位置、时效;
数据发送单元45,可以用于根据所述同步文件对应的时效,将所述同步文件发送到目标数据库或数据交换中心。
本说明书实施例提供的数据同步处理装置,不需要设置触发器,可以将变动数据的获取与数据库内部的逻辑结构解耦,对数据库的日志数据进行解析实时抓取,实现数据同步的准确性和实时性。并且,本说明书实施例中的数据同步不牵涉业务逻辑,不具有侵入性,同步文件的结构和时效可以根据实际需要进行定制,实现数据同步的灵活性,并且可以实现不同类型数据库之间的数据同步。
在上述实施例的基础上,本说明书一些实施例中,所述数据发送单元具体用于:
根据所述同步文件对应的时效,判断所述同步文件是否写入完成,若所述同步文件没有写入完成,则继续从缓存中拉取对应的变动数据,直至所述同步文件的写入完成;
将拉取的同步数据生成的同步文件发送到目标数据库或数据交换中心。
本说明书实施例,通过灵活定义同步文件的时效,控制同步数据的生成频率,实现数据的定制性和灵活性同步。
需要说明的,上述所述的装置根据方法实施例的描述还可以包括其他的实施方式。具体的实现方式可以参照相关方法实施例的描述,在此不作一一赘述。
本说明书实施例还提供一种数据同步处理设备,包括:至少一个处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现上述实施例的数据同步处理方法,如:运行在配置在应用程序中的辅助容器中,所述方法包括:
实时监控源数据库的日志数据;
若监控到所述日志数据发生变动,则将变动数据转换为序列化的二进制格式;
对转换后的变动数据进行持久化缓存,并维持所述变动数据的有序队列;
按照预先设置的同步文件的基础定义,从缓存中拉取对应的变动数据,生成对应的同步文件,其中,所述基础定义包括:数据的存储位置、时效;
根据所述同步文件对应的时效,将所述同步文件发送到目标数据库或数据交换中心。
需要说明的,上述所述的终端设备根据方法实施例的描述还可以包括其他的实施方式。具体的实现方式可以参照相关方法实施例的描述,在此不作一一赘述。
在上述实施例的基础上,本说明书一个实施例中还可以提供一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现上述实施例中数据同步处理方法,如:运行在配置在应用程序中的辅助容器中,所述方法包括:
实时监控源数据库的日志数据;
若监控到所述日志数据发生变动,则将变动数据转换为序列化的二进制格式;
对转换后的变动数据进行持久化缓存,并维持所述变动数据的有序队列;
按照预先设置的同步文件的基础定义,从缓存中拉取对应的变动数据,生成对应的同步文件,其中,所述基础定义包括:数据的存储位置、时效;
根据所述同步文件对应的时效,将所述同步文件发送到目标数据库或数据交换中心。
所述存储介质可以包括用于存储信息的物理装置,通常是将信息数字化后再以利用电、磁或者光学等方式的媒体加以存储。所述存储介质有可以包括:利用电能方式存储信息的装置如,各式存储器,如RAM、ROM等;利用磁能方式存储信息的装置如,硬盘、软盘、磁带、磁芯存储器、磁泡存储器、U盘;利用光学方式存储信息的装置如,CD或DVD。当然,还有其他方式的可读存储介质,例如量子存储器、石墨烯存储器等等。
需要说明的,上述所述的计算机可读存储介质根据方法实施例的描述还可以包括其他的实施方式。具体的实现方式可以参照相关方法实施例的描述,在此不作一一赘述。
本说明书提供的系统可以为单独的数据同步处理系统,也可以应用在多种数据分析处理系统中。所述系统可以包括上述实施例中任意一个数据同步处理装置。所述的系统可以为单独的服务器,也可以包括使用了本说明书的一个或多个所述方法或一个或多个实施例装置的服务器集群、系统(包括分布式系统)、软件(应用)、实际操作装置、逻辑门电路装置、量子计算机等并结合必要的实施硬件的终端装置。所述核对差异数据的检测系统可以包括至少一个处理器以及存储计算机可执行指令的存储器,所述处理器执行所述指令时实现上述任意一个或者多个实施例中所述方法的步骤。
本说明书实施例所提供的方法实施例可以在移动终端、计算机终端、服务器或者类似的运算装置中执行。以运行在服务器上为例,图5是本说明书实施例中数据同步处理服务器的硬件结构框图。如图5所示,服务器10可以包括一个或多个(图中仅示出一个)处理器100(处理器100可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器200、以及用于通信功能的传输模块300。本邻域普通技术人员可以理解,图5所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,服务器10还可包括比图5中所示更多或者更少的组件,例如还可以包括其他的处理硬件,如数据库或多级缓存、GPU,或者具有与图5所示不同的配置。
存储器200可用于存储应用软件的软件程序以及模块,如本说明书实施例中的风险防控方法对应的程序指令/模块,处理器100通过运行存储在存储器200内的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器200可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器200可进一步包括相对于处理器100远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输模块300用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输模块300包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输模块300可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书提供的上述实施例所述的方法或装置可以通过计算机程序实现业务逻辑并记录在存储介质上,所述的存储介质可以计算机读取并执行,实现本说明书实施例所描述方案的效果。
本说明书实施例提供的上述风险防控方法或装置可以在计算机中由处理器执行相应的程序指令来实现,如使用windows操作系统的c++语言在PC端实现、linux系统实现,或其他例如使用android、iOS系统程序设计语言在智能终端实现,以及基于量子计算机的处理逻辑实现等。
需要说明的是说明书上述所述的装置、处理设备、计算机存储介质、系统根据相关方法实施例的描述还可以包括其他的实施方式,具体的实现方式可以参照对应方法实施例的描述,在此不作一一赘述。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于硬件+程序类实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
虽然本申请提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、车载人机交互设备、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
虽然本说明书实施例提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或终端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书实施例的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
以上所述仅为本说明书实施例的实施例而已,并不用于限制本说明书实施例。对于本领域技术人员来说,本说明书实施例可以有各种更改和变化。凡在本说明书实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书实施例的权利要求范围之内。
Claims (10)
1.一种数据同步处理方法,其特征在于,
实时监控源数据库的日志数据;
若监控到所述日志数据发生变动,则将变动数据转换为序列化的二进制格式;
对转换后的变动数据进行持久化缓存,并维持所述变动数据的有序队列;
按照预先设置的同步文件的基础定义,从缓存中拉取对应的变动数据,生成对应的同步文件,其中,所述基础定义包括:数据的存储位置、时效;
根据所述同步文件对应的时效,将所述同步文件发送到目标数据库或数据交换中心。
2.根据权利要求1所述的方法,其特征在于,所述根据所述同步文件对应的时效,将所述同步文件发送到目标数据库或数据交换中心,包括:
根据所述同步文件对应的时效,判断所述同步文件是否写入完成,若所述同步文件没有写入完成,则继续从缓存中拉取对应的变动数据,直至所述同步文件的写入完成;
将拉取的同步数据生成的同步文件发送到目标数据库或数据交换中心。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若监控到所述日志数据发生变动后,将所述变动数据发送的指定的数据表集合中;
将所述数据表集合中的变动数据转换为序列化的二进制格式,并将序列化格式注册到一致模式注册表中。
4.根据权利要求3所述的方法,其特征在于,所述数据表集合包括多个数据表,所述将所述变动数据发送的指定的数据表集合中,包括:
根据所述变动数据对应的存储位置,将所述变动数据发送到对应的数据表中,所述数据表在一个或多个数据表集合中。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在将所述同步文件发送到目标数据库或数据交换中心之前,备份所述同步文件。
6.一种数据同步处理装置,其特征在于,包括:
日志数据监控单元,用于实时监控源数据库的日志数据;
变动数据抓取单元,用于若监控到所述日志数据发生变动,则将变动数据转换为序列化的二进制格式;
数据存储单元,用于对转换后的变动数据进行持久化缓存,并维持所述变动数据的有序队列;
同步数据生成单元,用于按照预先设置的同步文件的基础定义,从缓存中拉取对应的变动数据,生成对应的同步文件,其中,所述基础定义包括:数据的存储位置、时效;
数据发送单元,用于根据所述同步文件对应的时效,将所述同步文件发送到目标数据库或数据交换中心。
7.根据权利要求6所述的装置,其特征在于,所述数据发送单元具体用于:
根据所述同步文件对应的时效,判断所述同步文件是否写入完成,若所述同步文件没有写入完成,则继续从缓存中拉取对应的变动数据,直至所述同步文件的写入完成;
将拉取的同步数据生成的同步文件发送到目标数据库或数据交换中心。
8.一种数据同步处理设备,其特征在于,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现权利要求1-5任一项所述方法的步骤。
9.一种计算机可读存储介质,其特征在于,其上存储有计算机指令,所述指令被执行时实现权利要求1-5任一项所述方法的步骤。
10.一种数据同步处理系统,其特征在于,包括:目标数据库、数据交换中心中的至少一个,以及源数据库、数据库日志抓取装置、生产者装置、消息存储装置、消费者装置,其中:
所述数据库日志抓取装置与所述源数据库连接,用于抓取源数据库中发生变动的变动数据,并将所述变动数据推送到指定的数据表集合中,由所述数据表集合将变动数据发送到所述生产者装置;
所述生产者装置接收所述数据库日志抓取装置发送的动动数据,将所述变动数据转换为序列化的二进制格式,并将序列化格式注册到一致模式注册表中;
所述消息存储装置用于接收所述生产者装置发送的变动数据,将接收到的变动数据持久化缓存,并维持有序队列;
所述消费者装置用于从所述消息存储装置读取预设的同步文件的基础定义,根据所述基础定义从所述消息缓存装置中拉取对应的变动数据,生成对应的同步文件,并将生成的同步文件投递到所述目标数据库或所述数据交换中心。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910710935.1A CN110427426A (zh) | 2019-08-02 | 2019-08-02 | 一种数据同步处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910710935.1A CN110427426A (zh) | 2019-08-02 | 2019-08-02 | 一种数据同步处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110427426A true CN110427426A (zh) | 2019-11-08 |
Family
ID=68413841
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910710935.1A Pending CN110427426A (zh) | 2019-08-02 | 2019-08-02 | 一种数据同步处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110427426A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111767339A (zh) * | 2020-05-11 | 2020-10-13 | 北京奇艺世纪科技有限公司 | 一种数据同步方法、装置、电子设备及存储介质 |
CN112000681A (zh) * | 2020-08-25 | 2020-11-27 | 浪潮云信息技术股份公司 | 一种能够自适应模式变更的同步方法 |
CN113032381A (zh) * | 2021-04-07 | 2021-06-25 | 杭州共有科技有限公司 | 一种用于解决分布式异构数据时效性的方法 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130304700A1 (en) * | 2012-05-08 | 2013-11-14 | Softframe, Inc. | Data synchronization using a composite change clock |
CN104317843A (zh) * | 2014-10-11 | 2015-01-28 | 上海瀚之友信息技术服务有限公司 | 一种数据同步etl系统 |
CN107180116A (zh) * | 2017-06-28 | 2017-09-19 | 努比亚技术有限公司 | 一种数据同步处理方法、移动终端以及计算机可读存储介质 |
CN107423303A (zh) * | 2016-05-24 | 2017-12-01 | 北京京东尚科信息技术有限公司 | 数据同步的方法和系统 |
CN107491526A (zh) * | 2017-08-18 | 2017-12-19 | 国云科技股份有限公司 | 一种实现数据库同步的系统及其方法 |
CN107783975A (zh) * | 2016-08-24 | 2018-03-09 | 北京京东尚科信息技术有限公司 | 分布式数据库同步处理的方法和装置 |
CN108763387A (zh) * | 2018-05-20 | 2018-11-06 | 湖北九州云仓科技发展有限公司 | 异构平台的大数据融合方法、电子设备、存储介质及系统 |
CN109033268A (zh) * | 2018-07-10 | 2018-12-18 | 安心财产保险有限责任公司 | 数据同步方法、装置、设备及存储介质 |
CN109582731A (zh) * | 2018-10-18 | 2019-04-05 | 恒峰信息技术有限公司 | 一种数据实时同步方法及系统 |
CN109815028A (zh) * | 2018-12-27 | 2019-05-28 | 北京摩拜科技有限公司 | 数据同步的系统、方法、装置和计算机存储介质 |
CN109885581A (zh) * | 2019-03-14 | 2019-06-14 | 苏州达家迎信息技术有限公司 | 数据库的同步方法、装置、设备及存储介质 |
-
2019
- 2019-08-02 CN CN201910710935.1A patent/CN110427426A/zh active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130304700A1 (en) * | 2012-05-08 | 2013-11-14 | Softframe, Inc. | Data synchronization using a composite change clock |
CN104317843A (zh) * | 2014-10-11 | 2015-01-28 | 上海瀚之友信息技术服务有限公司 | 一种数据同步etl系统 |
CN107423303A (zh) * | 2016-05-24 | 2017-12-01 | 北京京东尚科信息技术有限公司 | 数据同步的方法和系统 |
CN107783975A (zh) * | 2016-08-24 | 2018-03-09 | 北京京东尚科信息技术有限公司 | 分布式数据库同步处理的方法和装置 |
CN107180116A (zh) * | 2017-06-28 | 2017-09-19 | 努比亚技术有限公司 | 一种数据同步处理方法、移动终端以及计算机可读存储介质 |
CN107491526A (zh) * | 2017-08-18 | 2017-12-19 | 国云科技股份有限公司 | 一种实现数据库同步的系统及其方法 |
CN108763387A (zh) * | 2018-05-20 | 2018-11-06 | 湖北九州云仓科技发展有限公司 | 异构平台的大数据融合方法、电子设备、存储介质及系统 |
CN109033268A (zh) * | 2018-07-10 | 2018-12-18 | 安心财产保险有限责任公司 | 数据同步方法、装置、设备及存储介质 |
CN109582731A (zh) * | 2018-10-18 | 2019-04-05 | 恒峰信息技术有限公司 | 一种数据实时同步方法及系统 |
CN109815028A (zh) * | 2018-12-27 | 2019-05-28 | 北京摩拜科技有限公司 | 数据同步的系统、方法、装置和计算机存储介质 |
CN109885581A (zh) * | 2019-03-14 | 2019-06-14 | 苏州达家迎信息技术有限公司 | 数据库的同步方法、装置、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
腾讯云+社区: "kafka生态系统-kafka核心,kafka流,kafka连接,kafka REST代理和模式注册", 《HTTPS://WWW.CNBLOGS.COM/QCLOUD1001/P/8145016.HTML》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111767339A (zh) * | 2020-05-11 | 2020-10-13 | 北京奇艺世纪科技有限公司 | 一种数据同步方法、装置、电子设备及存储介质 |
CN111767339B (zh) * | 2020-05-11 | 2023-06-30 | 北京奇艺世纪科技有限公司 | 一种数据同步方法、装置、电子设备及存储介质 |
CN112000681A (zh) * | 2020-08-25 | 2020-11-27 | 浪潮云信息技术股份公司 | 一种能够自适应模式变更的同步方法 |
CN113032381A (zh) * | 2021-04-07 | 2021-06-25 | 杭州共有科技有限公司 | 一种用于解决分布式异构数据时效性的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110427426A (zh) | 一种数据同步处理方法及装置 | |
CN112069265B (zh) | 配置数据的同步方法、业务数据系统、计算机系统和介质 | |
CN109815028A (zh) | 数据同步的系统、方法、装置和计算机存储介质 | |
CN109819048B (zh) | 数据同步方法、装置、终端及存储介质 | |
CN109684036B (zh) | 一种容器集群管理方法、存储介质、电子设备及系统 | |
CN109189835A (zh) | 实时生成数据宽表的方法和装置 | |
CN109189589A (zh) | 一种分布式大数据计算引擎及架构方法 | |
CN109542865A (zh) | 分布式集群系统配置文件同步方法、装置、系统及介质 | |
CN109491776A (zh) | 任务编排方法和系统 | |
CN109299088A (zh) | 海量数据存储方法、装置、存储介质及电子设备 | |
CN108959341A (zh) | 一种数据同步的方法、装置及设备 | |
CN111966748B (zh) | 分布式空基仿真运行控制管理方法 | |
CN110262902A (zh) | 信息处理方法及系统、介质和计算设备 | |
CN109614404A (zh) | 一种数据缓存系统及方法 | |
CN109284305A (zh) | 一种数据的更新方法、装置及系统 | |
CN109144785A (zh) | 用于备份数据的方法和装置 | |
CN104580532A (zh) | 一种跨平台应用系统 | |
CN103716397B (zh) | 一种面向服务仿真时钟推进方法 | |
CN110309156A (zh) | 数据库系统、数据库更新、扩容方法及设备 | |
CN110262825A (zh) | 热更新方法、装置、电子设备及可读存储介质 | |
CN109635020A (zh) | 一种业务的处理方法、装置、设备及系统 | |
CN109558143A (zh) | 一种集群中部署应用的方法及装置 | |
CN110609967B (zh) | 一种榜单生成方法、装置及存储介质 | |
CN103782277B (zh) | 用于管理便携式计算装置上的平行资源请求的方法及系统 | |
CN110502575A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191108 |