CN117951223A - 数据同步方法、装置、计算机设备和存储介质 - Google Patents
数据同步方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN117951223A CN117951223A CN202410135024.1A CN202410135024A CN117951223A CN 117951223 A CN117951223 A CN 117951223A CN 202410135024 A CN202410135024 A CN 202410135024A CN 117951223 A CN117951223 A CN 117951223A
- Authority
- CN
- China
- Prior art keywords
- data
- financial database
- incremental
- target
- table field
- 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
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000006243 chemical reaction Methods 0.000 claims abstract description 21
- 238000004590 computer program Methods 0.000 claims description 24
- 238000001514 detection method Methods 0.000 claims description 5
- 230000001360 synchronised effect Effects 0.000 abstract description 13
- 238000005516 engineering process Methods 0.000 abstract description 3
- 238000004891 communication Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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
-
- 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/23—Updating
-
- 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/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种数据同步方法、装置、计算机设备和存储介质,涉及金融科技技术领域。通过检测到第一数据的业务数据更新信息时,将第一存储位置的增量业务数据发送至预设消息中间件集群中目标标识对应的缓存位置,确定第二金融数据库对应的目标数据格式和目标标识在第二金融数据库对应的第二存储位置后,将缓存位置的增量业务数据进行格式转换,将转换得到的目标增量业务数据同步至第二金融数据库。相较于传统的分别访问不同的数据库获取业务数据的方式,本方案通过在数据库更新增量数据时,通过消息中间件集群缓存增量数据并结合其他数据库的格式同步至其他数据库对应的位置,***仅需访问一个位置即可得到相应的数据,提高了银行业务执行效率。
Description
技术领域
本申请涉及金融科技技术领域,特别是涉及一种数据同步方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
随着银行业务的进行和银行***的版本迭代更新,银行***会产生大量业务数据,这些业务数据存储在不同的数据库中,使得银行***内部存在多数据源并行的状态。为保证银行业务的及时响应,需要保证不同数据库之间的数据完整性和同步性。目前在多数据源并行情况下进行银行业务的方式通常是分别访问每个数据源以获取所需的数据。然而,通过从多个数据源中分别获取相应数据的方式,会导致银行业务的执行效率降低。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高银行业务执行效率的数据同步方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种数据同步方法,所述方法包括:
检测到第一金融数据库的业务数据更新信息,根据所述业务数据更新信息,获取所述第一金融数据库中的增量业务数据以及所述增量业务数据在所述第一金融数据库中的第一存储位置;
根据所述第一存储位置,将所述增量业务数据发送至预设消息中间件集群中目标标识对应的缓存位置;所述目标标识与所述第一存储位置对应;
获取第二金融数据库对应的目标数据格式,获取所述第二金融数据库中所述目标标识对应的第二存储位置;
根据所述目标数据格式对所述将所述缓存位置中的增量业务数据进行格式转换,得到目标增量业务数据,将所述目标增量业务数据同步至所述第二金融数据库中的第二存储位置。
在其中一个实施例中,获取增量业务数据在所述第一金融数据库中的第一存储位置的步骤包括:
获取所述第一金融数据库中存储所述增量业务数据的第一数据表字段;
根据所述第一数据表字段得到所述增量业务数据在所述第一金融数据库中的第一存储位置。
在其中一个实施例中,所述预设消息中间件集群为卡夫卡集群;所述根据所述第一存储位置,将所述增量业务数据发送至预设消息中间件集群中目标标识对应的缓存位置,包括:
根据所述第一数据表字段查询预设存储位置对应表,得到所述第一数据表字段在所述卡夫卡集群中对应的目标标识;所述预设存储位置对应表包括预设的各第一数据表字段与所述卡夫卡集群中各标识的对应关系;
将所述增量业务数据发送至所述卡夫卡集群中所述目标标识对应的缓存位置。
在其中一个实施例中,所述方法还包括:
针对所述第一金融数据库中每个第一数据表字段,根据所述第一数据表字段查询所述第二金融数据库;
若所述第二金融数据库中不存在所述第一数据表字段相同的第二数据表字段,根据所述第一数据表字段以及所述第二金融数据库的数据格式,在所述第二金融数据库中生成所述第二数据表字段;
根据所述第一数据表字段和所述第二数据表字段,得到预设存储位置对应表。
在其中一个实施例中,所述获取所述第二金融数据库中所述目标标识对应的第二存储位置,包括:
根据预设存储位置对应表,确定所述第一数据表字段在所述第二金融数据库中对应的第二数据表字段;
根据所述第一数据表字段与所述目标标识的对应关系,以及所述第一数据表字段与所述第二数据表字段的对应关系,得到所述第二金融数据库中所述目标标识对应的第二存储位置。
在其中一个实施例中,所述根据所述目标数据格式对所述将所述缓存位置中的增量业务数据进行格式转换,得到目标增量业务数据,包括:
通过预设数据消费工具获取所述缓存位置中的增量业务数据,得到消费数据;
根据所述目标数据格式对所述消费数据进行格式转换,得到目标增量业务数据。
第二方面,本申请提供了一种数据同步装置,所述装置包括:
检测模块,用于检测到第一金融数据库的业务数据更新信息,根据所述业务数据更新信息,获取所述第一金融数据库中的增量业务数据以及所述增量业务数据在所述第一金融数据库中的第一存储位置;
缓存模块,用于根据所述第一存储位置,将所述增量业务数据发送至预设消息中间件集群中目标标识对应的缓存位置;所述目标标识与所述第一存储位置对应;
获取模块,用于获取第二金融数据库对应的目标数据格式,获取所述第二金融数据库中所述目标标识对应的第二存储位置;
同步模块,用于根据所述目标数据格式对所述将所述缓存位置中的增量业务数据进行格式转换,得到目标增量业务数据,将所述目标增量业务数据同步至所述第二金融数据库中的第二存储位置。
第三方面,本申请提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述的方法的步骤。
第四方面,本申请提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法的步骤。
第五方面,本申请提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述的方法的步骤。
上述数据同步方法、装置、计算机设备、存储介质和计算机程序产品,通过检测到第一数据的业务数据更新信息时,确定增量业务数据及其第一存储位置,将增量业务数据发送至预设消息中间件集群中目标标识对应的缓存位置,确定第二金融数据库对应的目标数据格式和目标标识在第二金融数据库对应的第二存储位置后,根据目标数据格式将缓存位置的增量业务数据进行格式转换,将转换得到的目标增量业务数据同步至第二金融数据库中的第二存储位置。相较于传统的分别访问不同的数据库以获取相应的业务数据的方式,本方案通过在一个数据库更新增量数据时,通过消息中间件集群缓存增量数据并结合其他数据库的格式同步至其他数据库对应的位置,***仅需访问一个位置即可得到相应的数据,提高了银行业务执行效率。
附图说明
图1为一个实施例中数据同步方法的应用环境图;
图2为一个实施例中数据同步方法的流程示意图;
图3为另一个实施例中数据同步方法的流程示意图;
图4为一个实施例中数据同步装置的结构框图;
图5为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的数据同步方法,可以应用于如图1所示的应用环境中。其中,终端通过网络与分别与第一数据库、第二数据库和预设消息中间件进行通信,第一数据库、第二数据库和预设消息中间件之间可以进行通信。预设消息中间件可以设置在终端中。第一数据库、第二数据库均可以存储银行***需要处理的数据。第一数据库、第二数据库均可以集成在服务器上,也可以放在云上或其他网络服务器上。终端可以检测第一金融数据库的业务数据更新信息,并在检测到业务数据更新信息时,结合预设消息中间件,为第一金融数据库和第二金融数据库进行业务数据的增量同步。其中,终端可以但不限于是各种个人计算机、笔记本电脑、智能手机和平板电脑。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种数据同步方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
步骤S202,检测到第一金融数据库的业务数据更新信息,根据上述业务数据更新信息,获取上述第一金融数据库中的增量业务数据以及上述增量业务数据在上述第一金融数据库中的第一存储位置。
其中,第一金融数据库可以是用于存储银行中相应业务数据的数据库。其中,银行中可以包括多种业务,由于每种业务的开展时间不同,不同时间内银行中的***存在迭代更新,因此每种业务的业务数据可以存储在相同或不同的金融数据库中,即银行***中存在多个金融数据库。银行中每种业务的业务数据之间存在关联,即开展一种业务需要用到本业务的业务数据,也可以使用其他业务的业务数据。则银行***执行各业务的过程中,各业务对各金融数据库中的数据进行调用和获取时,终端需要保证业务数据的调用及时性。以提高银行业务的执行效率。
由于银行业务在执行时需要调用多种业务数据,这些业务数据存储在不同金融数据库时,业务通过分别查询不同金融数据库以获取不同的业务数据的方式效率较低,因此终端可以通过增量同步的方式,将某个金融数据库中更新的数据同步至其他金融数据库。
其中,终端可以检测各金融数据库的业务数据是否有更新,若终端检测到第一金融数据库的业务数据更新信息时,可以获取该业务数据更新信息,并根据上述业务数据更新信息,确定第一金融业务数据库中的增量业务数据,以及确定第一金融业务数据库中的增量业务数据的第一存储位置。其中,增量业务数据表示第一金融数据库中新增的业务数据,例如银行工作人员针对第一金融数据库对应的银行业务手动输入的业务数据,或银行业务周期自动更新的业务数据等。这些业务数据可以以分散形式存储在第一金融数据库中的各个不同位置,终端结合各个不同位置形成上述第一存储位置;这些业务数据也可以以整体形式存储在第一金融数据库中同一位置,终端基于该同一位置确定增量业务数据的第一存储位置。
终端确定上述第一金融数据中的增量业务数据和增量业务数据在第一金融数据库中的第一存储位置后,可以获取第一金融业务数据库中的增量业务数据以及上述增量业务数据在第一金融数据库中的第一存储位置。从而终端可以利用上述增量业务数据以及增量业务数据对应的第一存储位置,将上述增量业务数据在多个金融数据库之间进行增量同步。
步骤S204,根据上述第一存储位置,将上述增量业务数据发送至预设消息中间件集群中目标标识对应的缓存位置;上述目标标识与上述第一存储位置对应。
其中,第一存储位置可以是终端通过查询第一金融数据库得到的增量业务数据在上述第一金融数据库中的存储位置。终端获取上述增量业务数据以及上述增量业务数据的第一存储位置后,可以将上述增量业务数据发送至预设消息中间件集群中,并将增量业务数据缓存至预设消息中间件集群中目标标识对应的缓存位置。其中,预设消息中间件可以是设置在终端中的,用于作为两个数据库的中转容器的中间件集群。预设中间件集群中可以包括具有不同标识的多个缓存位置,其中每个缓存位置的标识与上述第一金融数据库中的各个第一存储位置对应,即第一金融数据库中不同第一存储位置可以缓存至预设消息中间件中不同标识对应的缓存位置。终端可以预先针对产生的增量业务数据的金融数据库构建上述目标标识与存储位置的对应关系。
例如,终端预先构建上述第一金融数据库中各第一存储位置与预设消息中间件中各目标标识之间的对应关系。其中,各第一存储位置与各目标标识之间可以通过数值对应,例如预设消息中间件中各标识的数值不同,终端将数值相同的第一存储位置和目标标识进行关联对应;也可以通过特定对应关系进行对应,例如接收业务人员针对各第一存储位置和各目标标识输入的对应关系,基于接收的对应关系得到第一存储位置与目标标识的对应关系。在一些实施例中,若产生增量业务数据的金融数据库为第二金融数据库,终端也可以预先针对第二金融数据库构建目标标识与存储位置的对应关系。
步骤S206,获取第二金融数据库对应的目标数据格式,获取上述第二金融数据库中上述目标标识对应的第二存储位置。
其中,第二金融数据库可以是上述增量业务数据的同步目的地。终端需要将上述增量业务数据同步至第二金融数据库。为实现增量同步,终端可以将上述增量业务数据缓存至上述预设消息中间件集群,并通过上述预设消息中间件将缓存的增量业务数据同步至第二金融数据库。其中,第二金融数据库中的数据格式可以与第一金融数据库中数据格式不同,上述增量业务数据以预设的数据格式缓存在预设消息中间件集群中目标标识对应的缓存位置,例如以第一金融数据库的数据格式缓存在预设消息中间件集群中目标标识对应的缓存位置。
终端可以将预设消息中间件集群中,缓存在目标标识对应的缓存位置的增量业务数据同步至上述第二金融数据库中。则终端可以获取第二金融数据库对应的目标数据格式,并获取第二金融数据库中与上述目标标识对应的第二存储位置。其中,目标数据格式可以提供给预设消息中间件集群,在预设消息中间件集群中基于目标数据格式对缓存的增量业务数据进行数据格式的转换;并且由于第一存储位置与目标标识对应,确定第二存储位置可以为上述增量业务数据同步至第二金融数据库中第一存储位置对应的位置提供依据。
步骤S208,根据上述目标数据格式对上述将上述缓存位置中的增量业务数据进行格式转换,得到目标增量业务数据,将上述目标增量业务数据同步至上述第二金融数据库中的第二存储位置。
其中,终端确定上述第二金融数据库的目标数据格式,以及第二金融数据库中用于存储增量业务数据的第二存储位置后。终端可以基于上述目标数据格式对各个缓存位置中的增量业务数据进行格式转换,得到目标增量业务数据。其中,终端可以在预设消息中间件集群中获取目标标识对应的缓存位置处的增量业务数据,并基于上述目标数据格式对增量业务数据进行数据格式转换,终端基于目标标识与第二金融数据库中各存储位置的对应关系,将数据格式转换后的目标增量业务数据同步存储至上述目标标识对应的第二存储位置,实现第一金融数据库与第二金融数据的增量同步。
上述数据同步方法中,通过检测到第一数据的业务数据更新信息时,确定增量业务数据及其第一存储位置,将增量业务数据发送至预设消息中间件集群中目标标识对应的缓存位置,确定第二金融数据库对应的目标数据格式和目标标识在第二金融数据库对应的第二存储位置后,根据目标数据格式将缓存位置的增量业务数据进行格式转换,将转换得到的目标增量业务数据同步至第二金融数据库中的第二存储位置。相较于传统的分别访问不同的数据库以获取相应的业务数据的方式,本方案通过在一个数据库更新增量数据时,通过消息中间件集群缓存增量数据并结合其他数据库的格式同步至其他数据库对应的位置,***仅需访问一个位置即可得到相应的数据,提高了银行业务执行效率。
在一个实施例中,获取增量业务数据在上述第一金融数据库中的第一存储位置的步骤包括:获取上述第一金融数据库中存储上述增量业务数据的第一数据表字段;根据上述第一数据表字段得到上述增量业务数据在上述第一金融数据库中的第一存储位置。
本实施例中,上述第一金融数据和第二金融数据库中均预先设置有多个数据表。每个数据表中具有对应的各个数据表字段,每个数据表字段可以存储相应的业务数据。上述存储位置可以表示金融数据库中的数据表字段。则上述增量业务数据可以存储在对应的数据表字段中。终端检测到增量业务数据的出现后,可以获取上述第一金融数据库中增量业务数据的第一数据表字段。其中,上述增量业务数据可以有多个,则上述第一数据表字段可以包括多个增量业务数据对应的多个数据表字段。终端可以根据第一数据表字段,得到增量业务数据在第一金融数据库中的第一存储位置。其中,上述第一数据表字段可以以数字命名或字母进行命名。
通过本实施例,终端通过基于金融数据库中增量业务数据的数据表字段,得到增量业务数据在第一金融数据库中的第一存储位置,终端基于第一存储位置进行增量同步,通过增量同步后的金融数据库执行银行业务,提高了银行业务执行的效率。
在一个实施例中,根据上述第一存储位置,将上述增量业务数据发送至预设消息中间件集群中目标标识对应的缓存位置,包括:根据上述第一数据表字段查询预设存储位置对应表,得到上述第一数据表字段在上述卡夫卡集群中对应的目标标识;上述预设存储位置对应表包括预设的各第一数据表字段与上述卡夫卡集群中各标识的对应关系;将上述增量业务数据发送至上述卡夫卡集群中上述目标标识对应的缓存位置。
本实施例中,上述预设消息中间件集群可以是Kafka(卡夫卡)集群,Kafka是一个开源的分布式消息中间件,同时Kafka也是一个流处理平台。Kakfa支持以发布或订阅的方式在应用间传递消息。在Kafka集群中,一个Kafka节点的消息由Topic(主题)来承载,可以存储在一个或多个主题分区中。发布消息的应用为生产者,例如上述第一金融数据库、消费消息的应用为消费者,例如预设的数据消费工具。
其中,卡夫卡集群中各个主题可以表示各个缓存位置。终端可以预先生成包含各第一数据表字段与卡夫卡集群中各标识的对应关系的预设存储位置对应表。其中,第一数据表字段与卡夫卡集群中各主题对应的标识可以通过数值进行关联,例如终端将数值相同的第一数据表字段和标识进行关联,也可以通过业务人员针对第一数据表字段和卡夫卡集群中各标识输入的关联关系得到。终端可以根据上述第一数据表字段查询预设存储位置对应表,得到第一数据表字段在卡夫卡集群中对应的目标标识。从而终端可以将上述增量业务数据发送至卡夫卡集群中目标标识对应的缓存位置,实现增量业务数据的缓存。
具体地,设第一金融数据库为源数据库A,源数据库A中包含的第一数据表字段包括表1、表2…表N。其中N为自然数。卡夫卡集群中的各标识对应的缓存位置为topic1、topic2…topicN。其中N为自然数。则终端可以基于预设存储位置对应表确定第一数据表字段对应的目标标识,例如表N对应topicN的数值对应关系。终端可以使用数据采集器,分别实时采集源数据库A中的表1、表2...表N的增量业务数据到kafka集群的topic1、topic2...topicN中,分别进行缓存。
通过本实施例,终端可以通过数据表字段与卡夫卡集群中的标识之间的对应关系,实现增量业务数据到卡夫卡集群中的缓存,通过卡夫卡集群对增量业务数据进行增量同步,使得银行业务在执行业务过程中更快捷获取数据,提高业务执行的效率。
在一个实施例中,还包括:针对上述第一金融数据库中每个第一数据表字段,根据上述第一数据表字段查询上述第二金融数据库;若上述第二金融数据库中不存在上述第一数据表字段相同的第二数据表字段,根据上述第一数据表字段以及上述第二金融数据库的数据格式,在上述第二金融数据库中生成上述第二数据表字段;根据上述第一数据表字段和上述第二数据表字段,得到预设存储位置对应表。
本实施例中,上述预设存储位置对应表还包括第一金融数据库中的第一数据表字段与第二金融数据库中的第二数据表字段之间的对应关系。其中,在进行增量数据同步时,需要保证增量业务数据产生的数据库与增量业务数据同步至的数据库中均包含对应的数据表字段。则终端可以预先构建第一数据表字段和第二数据表字段之间的对应关系。其中,对于第一金融数据库中的每个第一数据表字段,终端可以根据上述第一数据表字段查询第二金融数据库,终端检测第二金融数据库中是否存在第一数据表字段相同的第二数据表字段,若终端检测到第二金融数据库中存在第一数据表字段相同的第二数据表字段,则终端可以将上述第一数据表字段与该相同的第二数据表字段进行关联,生成第一数据表字段与第二数据表字段之间的对应关系,并存储在预设存储位置对应表中。
若终端检测到第二金融数据库中不存在上述第一数据表字段相同的第二数据表字段,终端可以根据上述第一数据表字段以及上述第二金融数据库的数据格式,在上述第二金融数据库中生成上述第二数据表字段。从而终端可以根据第一数据表字段和第二数据表字段之间的对应关系,得到预设存储位置对应表。
具体地,第二金融数据库可以有多个,可以包括与第一金融数据库同类的金融数据库,也可以包括与第一金融数据库不同类的金融数据库。以第一金融数据库是源数据库A、第二金融数据库包括与A同类的金融数据库B和与A不同类的金融数据库C为例。在对金融数据库进行增量同步时,终端可以确保各第二金融数据库中存在与源数据库A一样的数据表字段,其中,源数据库A与金融数据库B、C中的数据表字段需要一一对应。若终端检测到金融数据库B或C中不存在与上述源数据库A一样的数据表字段,终端可以在金融数据库B或C中新增对应的数据表字段。从而源数据库A中的数据表字段可以表示为表1、表2...表N,金融数据库B中对应的表为表11、表21...表N1,金融数据库C中对应的表为表12、表22...表N2。其中N为自然数。
另外,在进行增量同步时,终端需要在预设消息中间件中将缓存的增量业务数据同步存储至第二金融数据库中对应的第二存储位置,则终端可以根据上述预设存储位置对应表,确定增量业务数据所在的目标标识对应的缓存位置,对应于第二金融数据库中的位置。
例如,在一个实施例中,获取上述第二金融数据库中上述目标标识对应的第二存储位置,包括:根据预设存储位置对应表,确定上述第一数据表字段在上述第二金融数据库中对应的第二数据表字段;根据上述第一数据表字段与上述目标标识的对应关系,以及上述第一数据表字段与上述第二数据表字段的对应关系,得到上述第二金融数据库中上述目标标识对应的第二存储位置。
本实施例中,上述预设存储位置对应表包括第一数据表字段与第二数据表字段之间的对应关系,还可以包括第一数据表字段与目标标识之间的对应关系,则为了将目标标识对应的缓存位置处的增量业务数据同步至第二金融数据库中,终端可以根据预设存储位置对应表,确定上述第一数据表字段在上述第二金融数据库中对应的第二数据表字段,并根据上述第一数据表字段与上述目标标识的对应关系,以及上述第一数据表字段与上述第二数据表字段的对应关系,得到上述第二金融数据库中上述目标标识对应的第二存储位置。例如,上述目标标识可以有多个,上述第二数据表字段也可以有多个,终端根据上述第一数据表字段与各个目标标识的对应关系,以及上述第一数据表字段与各个第二数据表字段的对应关系,得到各目标标识对应的各第二数据表字段,从而终端可以发送上述第二数据表字段至预设消息中间件集群中,使得终端结合各目标标识对应的各第二数据表字段,将增量业务数据同步至第二金融数据库中对应的第二数据表字段处进行存储
通过上述实施例,终端可以通过预先在第二金融数据库中生成与第一金融数据库中相同的数据表字段,并基于相同的数据表字段和预设存储位置对应表,对增量业务数据进行同步,从而银行***基于增量同步后的数据执行业务,提高了业务执行的效率。
在一个实施例中,根据上述目标数据格式对上述将上述缓存位置中的增量业务数据进行格式转换,得到目标增量业务数据,包括:通过预设数据消费工具获取上述缓存位置中的增量业务数据,得到消费数据;根据上述目标数据格式对上述消费数据进行格式转换,得到目标增量业务数据。
本实施例中,终端可以将上述卡夫卡集群中缓存位置的增量业务数据同步至第二金融数据库中。其中,增量业务数据可以是第一金融数据库的数据格式的数据。为使其符合第二金融数据库的数据要求,终端可以获取预设数据消费工具,并通过预设数据消费工具获取缓存位置中的增量业务数据,得到消费数据。终端可以以第二金融数据库对应的目标数据格式,对消费数据进行格式转换,从而得到目标增量业务数据。
具体地,上述消费工具可以是开源的logstash(存放)工具进行消费,也可以是自行编写的消费代码进行消费。上述第一金融数据库中的数据是以一定的格式存储在kafka集群的缓存位置里面的,终端通过消费工具从kafka取数,取到数据后,在写入金融数据库时,转换各字段的数据格式以匹配金融数据库。以卡夫卡集群中的缓存位置包括topic1、topic2...topicN,第二金融数据库包括金融数据库B和C为例,其中N为自然数。终端可以使用相应的数据消费工具,从卡夫卡集群中的topic1、topic2...topicN中消费数据,将消费得到的数据按照金融数据库B可识别的目标数据格式进行数据转换后,写入金融数据库B中的表11、表21...表N1,以及按照金融数据库C可识别的目标数据格式进行数据转换后,写入金融数据库C中的表12、表22...表N2。若有多个第二金融数据库,终端可以采用相同的方法进行数据增量同步。
通过本实施例,终端可以基于数据消费工具,对卡夫卡集群中的缓存的增量业务数据进行数据同步,银行***基于同步后的数据进行业务,提高了银行业务的执行效率。
在一个实施例中,如图3所示,图3为另一个实施例中数据同步方法的流程示意图。本实施例中,为保证在多源数据库并行期,不同库之间的数据完整性及其实时同步,终端可以利用kafka集群作为两个数据库的中转容器,通过实时监测源数据库的内容,将变更数据实时采集到kafka中进行中转缓存,消费者从kafka读取数据以金融数据库的格式进行消费,实现增量数据的准实时同步,例如mysql到myspl、mysql到oracle,oracle到mysql等的实时同步。保障多源数据库并行期时,业务数据的稳定。其中,以上方法可以作为同应用的数据库迁移改造;另外,若是不同应用之间,可以根据目的应用所需读取的源数据库中的表字段,用该方法同步到金融数据库,目的应用仅读取金融数据库即可完成工作,无需两个数据库反复读取。
终端可以预先确定与源数据库A(第一金融数据库)同类的金融数据库B(第二金融数据库),以及与源数据库A不同类的金融数据库C(第二金融数据库)中是否存在源数据库A中一样的数据表字段,若不存在,终端可在相应的金融数据库中新增数据表字段。其中,对于存量数据,即金融数据库中出增量业务数据之外的数据,终端可提前同步,例如通过导出SQL的方式进行同步,将存量数据在各个金融数据库之间进行同步。
其中,源数据库A中的表为表1、表2...表N,金融数据库B中对应的表为表11、表21...表N1,金融数据库C中对应的表为表12、表22...表N2,N为自然数。卡夫卡集群中的缓存位置可以以topic1、topic2...topicN表示,N表示标识,且为自然数。终端可以使用数据采集器分别实时采集源数据库A中的表1、表2...表N的增量数据到kafka集群的topic1、topic2...topicN。并使用预设数据消费工具,从kafka的topic1、topic2...topicN中消费数据,并将数据以金融数据库B可识别的格式进行数据格式的转换后,写入金融数据库B中对应的表11、表21...表N1,以金融数据库C可识别的格式进行数据格式的转换后,写入金融数据库C中对应的写入表12、表22...表N2。其中,若有多个第二金融数据库,终端可以使用相同方法进行数据增量同步。从而终端以卡夫卡集群为中转容器,实现两个同类数据源(A和B)之间的增量业务数据同步,也可以实现两个非同类数据源(A和C)之间的增量业务数据同步。
通过上述实施例,终端通过在一个数据库更新增量数据时,通过消息中间件集群缓存增量数据并结合其他数据库的格式同步至其他数据库对应的位置,实现不同数据源的数据库进行数据同步,以及实现增量业务数据的准实时同步。并且,***仅需访问一个位置即可得到相应的数据,提高了银行业务执行效率。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的数据同步方法的数据同步装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个数据同步装置实施例中的具体限定可以参见上文中对于数据同步方法的限定,在此不再赘述。
在一个实施例中,如图4所示,提供了一种数据同步装置,包括:检测模块500、缓存模块502、获取模块504和同步模块506,其中:
检测模块500,用于检测到第一金融数据库的业务数据更新信息,根据上述业务数据更新信息,获取上述第一金融数据库中的增量业务数据以及上述增量业务数据在上述第一金融数据库中的第一存储位置。
缓存模块502,用于根据上述第一存储位置,将上述增量业务数据发送至预设消息中间件集群中目标标识对应的缓存位置;上述目标标识与上述第一存储位置对应。
获取模块504,用于获取第二金融数据库对应的目标数据格式,获取上述第二金融数据库中上述目标标识对应的第二存储位置。
同步模块506,用于根据上述目标数据格式对上述将上述缓存位置中的增量业务数据进行格式转换,得到目标增量业务数据,将上述目标增量业务数据同步至上述第二金融数据库中的第二存储位置。
在一个实施例中,上述检测模块500,具体用于获取上述第一金融数据库中存储上述增量业务数据的第一数据表字段;根据上述第一数据表字段得到上述增量业务数据在上述第一金融数据库中的第一存储位置。
在一个实施例中,上述缓存模块502,具体用于根据上述第一数据表字段查询预设存储位置对应表,得到上述第一数据表字段在上述卡夫卡集群中对应的目标标识;上述预设存储位置对应表包括预设的各第一数据表字段与上述卡夫卡集群中各标识的对应关系;将上述增量业务数据发送至上述卡夫卡集群中上述目标标识对应的缓存位置。
在一个实施例中,上述装置还包括:构建模块,用于针对上述第一金融数据库中每个第一数据表字段,根据上述第一数据表字段查询上述第二金融数据库;若上述第二金融数据库中不存在上述第一数据表字段相同的第二数据表字段,根据上述第一数据表字段以及上述第二金融数据库的数据格式,在上述第二金融数据库中生成上述第二数据表字段;根据上述第一数据表字段和上述第二数据表字段,得到预设存储位置对应表。
在一个实施例中,上述获取模块504,具体用于根据预设存储位置对应表,确定上述第一数据表字段在上述第二金融数据库中对应的第二数据表字段;根据上述第一数据表字段与上述目标标识的对应关系,以及上述第一数据表字段与上述第二数据表字段的对应关系,得到上述第二金融数据库中上述目标标识对应的第二存储位置。
在一个实施例中,上述同步模块506,具体用于通过预设数据消费工具获取上述缓存位置中的增量业务数据,得到消费数据;根据上述目标数据格式对上述消费数据进行格式转换,得到目标增量业务数据。
上述数据同步装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图5所示。该计算机设备包括通过***总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***和计算机程序。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种数据同步方法。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置。显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述的数据同步方法。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述的数据同步方法。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述的数据同步方法。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种数据同步方法,其特征在于,所述方法包括:
检测到第一金融数据库的业务数据更新信息,根据所述业务数据更新信息,获取所述第一金融数据库中的增量业务数据以及所述增量业务数据在所述第一金融数据库中的第一存储位置;
根据所述第一存储位置,将所述增量业务数据发送至预设消息中间件集群中目标标识对应的缓存位置;所述目标标识与所述第一存储位置对应;
获取第二金融数据库对应的目标数据格式,获取所述第二金融数据库中所述目标标识对应的第二存储位置;
根据所述目标数据格式对所述将所述缓存位置中的增量业务数据进行格式转换,得到目标增量业务数据,将所述目标增量业务数据同步至所述第二金融数据库中的第二存储位置。
2.根据权利要求1所述的方法,其特征在于,获取增量业务数据在所述第一金融数据库中的第一存储位置的步骤包括:
获取所述第一金融数据库中存储所述增量业务数据的第一数据表字段;
根据所述第一数据表字段得到所述增量业务数据在所述第一金融数据库中的第一存储位置。
3.根据权利要求2所述的方法,其特征在于,所述预设消息中间件集群为卡夫卡集群;所述根据所述第一存储位置,将所述增量业务数据发送至预设消息中间件集群中目标标识对应的缓存位置,包括:
根据所述第一数据表字段查询预设存储位置对应表,得到所述第一数据表字段在所述卡夫卡集群中对应的目标标识;所述预设存储位置对应表包括预设的各第一数据表字段与所述卡夫卡集群中各标识的对应关系;
将所述增量业务数据发送至所述卡夫卡集群中所述目标标识对应的缓存位置。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
针对所述第一金融数据库中每个第一数据表字段,根据所述第一数据表字段查询所述第二金融数据库;
若所述第二金融数据库中不存在所述第一数据表字段相同的第二数据表字段,根据所述第一数据表字段以及所述第二金融数据库的数据格式,在所述第二金融数据库中生成所述第二数据表字段;
根据所述第一数据表字段和所述第二数据表字段,得到预设存储位置对应表。
5.根据权利要求4所述的方法,其特征在于,所述获取所述第二金融数据库中所述目标标识对应的第二存储位置,包括:
根据预设存储位置对应表,确定所述第一数据表字段在所述第二金融数据库中对应的第二数据表字段;
根据所述第一数据表字段与所述目标标识的对应关系,以及所述第一数据表字段与所述第二数据表字段的对应关系,得到所述第二金融数据库中所述目标标识对应的第二存储位置。
6.根据权利要求1至4任意一项所述的方法,其特征在于,所述根据所述目标数据格式对所述将所述缓存位置中的增量业务数据进行格式转换,得到目标增量业务数据,包括:
通过预设数据消费工具获取所述缓存位置中的增量业务数据,得到消费数据;
根据所述目标数据格式对所述消费数据进行格式转换,得到目标增量业务数据。
7.一种数据同步装置,其特征在于,所述装置包括:
检测模块,用于检测到第一金融数据库的业务数据更新信息,根据所述业务数据更新信息,获取所述第一金融数据库中的增量业务数据以及所述增量业务数据在所述第一金融数据库中的第一存储位置;
缓存模块,用于根据所述第一存储位置,将所述增量业务数据发送至预设消息中间件集群中目标标识对应的缓存位置;所述目标标识与所述第一存储位置对应;
获取模块,用于获取第二金融数据库对应的目标数据格式,获取所述第二金融数据库中所述目标标识对应的第二存储位置;
同步模块,用于根据所述目标数据格式对所述将所述缓存位置中的增量业务数据进行格式转换,得到目标增量业务数据,将所述目标增量业务数据同步至所述第二金融数据库中的第二存储位置。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410135024.1A CN117951223A (zh) | 2024-01-31 | 2024-01-31 | 数据同步方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410135024.1A CN117951223A (zh) | 2024-01-31 | 2024-01-31 | 数据同步方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117951223A true CN117951223A (zh) | 2024-04-30 |
Family
ID=90794058
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410135024.1A Pending CN117951223A (zh) | 2024-01-31 | 2024-01-31 | 数据同步方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117951223A (zh) |
-
2024
- 2024-01-31 CN CN202410135024.1A patent/CN117951223A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8886598B1 (en) | Tag-based synchronization | |
CN107977396B (zh) | 一种KeyValue数据库的数据表的更新方法与表数据更新装置 | |
CN115544183B (zh) | 数据可视化方法、装置、计算机设备和存储介质 | |
CN112860777B (zh) | 数据处理方法、装置及设备 | |
CN103559247A (zh) | 一种数据业务处理方法及装置 | |
CN117390011A (zh) | 报表数据处理方法、装置、计算机设备和存储介质 | |
CN101261639A (zh) | 数据库对象的共享 | |
CN117951223A (zh) | 数据同步方法、装置、计算机设备和存储介质 | |
CN115495452A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN113934729A (zh) | 一种基于知识图谱的数据管理方法、相关设备及介质 | |
WO2024016789A1 (zh) | 日志数据查询方法、装置、设备和介质 | |
CN113918996B (zh) | 分布式数据处理方法、装置、计算机设备和存储介质 | |
CN114036171B (zh) | 应用数据管理方法、装置、计算机设备和存储介质 | |
EP4009175A1 (en) | Simulation service providing a generic api endpoint | |
CN114647630A (zh) | 文件同步、信息生成方法、装置、计算机设备和存储介质 | |
CN116400922A (zh) | 界面引导示意图生成方法、装置、计算机设备和存储介质 | |
CN116069865A (zh) | 库存共享方法、装置、计算机设备和存储介质 | |
CN117933200A (zh) | 一种单据编辑方法、装置、计算机设备和存储介质 | |
CN117435589A (zh) | 数据转存方法、装置、计算机设备、存储介质 | |
CN114138196A (zh) | 电力***数据存储方法、装置、计算机设备和存储介质 | |
CN116910115A (zh) | 客群查询方法、装置、计算机设备和存储介质 | |
CN118332002A (zh) | 数据查询方法、装置、计算机设备和存储介质 | |
CN117495518A (zh) | 银行积分***的物品管理方法、装置、设备和存储介质 | |
CN117421365A (zh) | 数据转换方法、装置、计算机设备和存储介质 | |
CN116756148A (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 |