CN117520442A - 数据同步方法、装置、计算机程序产品、设备及存储介质 - Google Patents

数据同步方法、装置、计算机程序产品、设备及存储介质 Download PDF

Info

Publication number
CN117520442A
CN117520442A CN202210899992.0A CN202210899992A CN117520442A CN 117520442 A CN117520442 A CN 117520442A CN 202210899992 A CN202210899992 A CN 202210899992A CN 117520442 A CN117520442 A CN 117520442A
Authority
CN
China
Prior art keywords
data record
data
physical
database system
physical log
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
CN202210899992.0A
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202210899992.0A priority Critical patent/CN117520442A/zh
Publication of CN117520442A publication Critical patent/CN117520442A/zh
Pending legal-status Critical Current

Links

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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1805Append-only file systems, e.g. using logs or journals to store data
    • G06F16/1815Journaling file systems
    • 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
    • G06F16/2308Concurrency control
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本申请提供了一种数据同步方法,包括:在源端数据库系统中,获取需要进行数据同步处理的元数据和需要进行数据同步的第一数据记录;基于元数据构造元数据的物理日志;基于第一数据记录,构造第一数据记录的物理日志;将元数据的物理日志和第一数据记录的物理日志发送至目的端数据库系统;在目的端数据库系统中,对元数据的物理日志和第一数据记录的物理日志进行解析,得到物理日志解析结果;根据物理日志解析结果,在目的端数据库系统中进行数据同步。本申请还提供了数据同步装置、计算机程序产品、电子设备及存储介质。本申请能够利用物理日志进行数据的同步不需要占用数据库系统的硬件开销,减少了用户的使用成本。

Description

数据同步方法、装置、计算机程序产品、设备及存储介质
技术领域
本申请涉及数据同步技术,尤其涉及数据同步方法、装置、计算机程序产品、电子设备及存储介质。
背景技术
在联机事务和分析处理场景(HTAP Hybrid Transaction and AnalyticalProcess)中,通常需要将源端数据库系统(一般为OLTP数据库系统)中的数据同步到目的端数据库系统(一般为OLAP数据库系统)中,实现进一步数据分析处理。为了实施数据同步,源端数据库系统需要额外生成数据的逻辑日志,并同步给目的端数据库系统。这一过程中,额外生成用于同步的逻辑日志,对源端数据库系统有较大的开销,同时占据了大量的存储空间,这加重了硬件使用成本,不利于混合事务和分析处理场景的推广使用。
发明内容
有鉴于此,本申请实施例提供一种数据同步方法、装置、计算机程序产品、电子设备及存储介质,能够实现自动化的对不同数据库之间的数据进行同步处理,保证数据库的数据一致性,提升用户的使用效率,减少繁琐地数据手动同步所带来的数据遗失,保证数据的安全性和准确性,同时利用物理日志进行数据的同步不需要占用数据库系统的硬件开销,减少了用户的使用成本。
本申请实施例的技术方案是这样实现的:
本申请实施例提供了一种数据同步方法,所述方法包括:
1、一种数据同步方法,其特征在于,所述方法包括:
在源端数据库系统中,获取需要进行数据同步处理的元数据和需要进行数据同步的第一数据记录;
基于所述元数据构造元数据的物理日志;
基于所述第一数据记录,构造第一数据记录的物理日志;
将所述元数据的物理日志和所述第一数据记录的物理日志发送至目的端数据库系统;
在所述目的端数据库系统中,对所述元数据的物理日志和所述第一数据记录的物理日志进行解析,得到物理日志解析结果;
根据所述物理日志解析结果,在所述目的端数据库系统中进行数据同步,以实现更新所述目的端数据库系统的数据。
本申请实施例还提供了一种数据同步装置,所述装置包括:
信息传输模块,用于在源端数据库系统中,获取需要进行数据同步处理的元数据和需要进行数据同步的第一数据记录;
信息处理模块,用于基于所述元数据构造元数据的物理日志;
所述信息处理模块,用于基于所述第一数据记录,构造第一数据记录的物理日志;
所述信息处理模块,用于将所述元数据的物理日志和所述第一数据记录的物理日志发送至目的端数据库系统;
所述信息处理模块,用于在所述目的端数据库系统中,对所述元数据的物理日志和所述第一数据记录的物理日志进行解析,得到物理日志解析结果;
所述信息处理模块,用于根据所述物理日志解析结果,在所述目的端数据库系统中进行数据同步,以实现更新所述目的端数据库系统的数据。
上述方案中,
所述信息处理模块,用于当根据所述元数据中的字段信息,判断所述第一数据记录需要进行数据同步处理时,确定所述第一数据记录的修改操作类型;
所述信息处理模块,用于根据所述第一数据记录的修改操作类型,执行与所述修改操作类型相匹配的构造策略,得到所述第一数据记录的物理日志。
上述方案中,
所述信息处理模块,用于当所述第一数据记录的修改操作类型为数据记录插入操作时,获取数据页文件的插入偏移参数和所述第一数据记录的每个字段的数值;
所述信息处理模块,用于基于所述数据页文件的插入偏移参数和所述第一数据记录的每个字段的数值,构造所述第一数据记录的物理日志。
上述方案中,
所述信息处理模块,用于当所述第一数据记录的修改操作类型为数据记录删除操作时,获取数据页文件的删除偏移参数、标记删除字段的修改信息以及删除字段的标识信息;
所述信息处理模块,用于基于所述数据页文件的删除偏移参数、标记删除字段的修改信息以及删除字段的标识信息,构造所述第一数据记录的物理日志。
上述方案中,
所述信息处理模块,用于当所述第一数据记录的修改操作类型为数据记录更新操作时,获取数据页文件的更新偏移参数和更新字段的更新数值;
所述信息处理模块,用于当所述更新字段包括所述数据记录的标识信息时,根据所述数据页文件的更新偏移参数和更新字段的更新数值,构造所述第一数据记录的物理日志;
所述信息处理模块,用于当所述更新字段不包括所述数据记录的标识信息时,根据所述数据页文件的更新偏移参数、更新字段的更新数值以及数据表的主键的字段,构造所述第一数据记录的物理日志。
上述方案中,
所述信息处理模块,用于将所述元数据的物理日志和所述第一数据记录的物理日志,写入磁盘日志文件;
所述信息处理模块,用于通过所述磁盘日志文件,将所述元数据的物理日志和所述第一数据记录的物理日志发送至目的端数据库系统。
上述方案中,
所述信息处理模块,用于当所述第一数据记录的物理日志为数据记录插入操作类型时,解析获取插入数据记录的每个字段数值;
所述信息处理模块,用于根据目的端数据库系统的数据格式,将所述插入数据记录的每个字段数值整理为第二数据记录作为所述物理日志解析结果,以实现通过所述第二数据记录更新所述目的端数据库系统的数据。
上述方案中,
所述信息处理模块,用于当所述第一数据记录的物理日志为数据记录删除操作类型时,解析获取删除数据记录的删除字段的标识信息;
所述信息处理模块,用于将所述删除字段的标识信息整理为第二数据记录作为所述物理日志解析结果,以实现通过所述第二数据记录更新所述目的端数据库系统的数据。
上述方案中,
所述信息处理模块,用于当所述第一数据记录的物理日志为数据记录更新操作类型时,解析获取更新数据记录的标识信息和更新字段的更新数值;
所述信息处理模块,用于将所述更新数据记录的标识信息和更新字段的更新数值,整理为第二数据记录作为所述物理日志解析结果,以实现通过所述第二数据记录更新所述目的端数据库系统的数据。
上述方案中,
所述信息处理模块,用于根据所述目的端数据库系统的数据的标识信息,确定所述目的端数据库系统对应的云服务器网络;
将所述目的端数据库系统的数据的更新结果,保存在所述云服务器网络中;
当所述目的端数据库系统出现数据丢失时,通过所述云服务器网络将所述更新结果发送至所述目的端数据库系。
本申请实施例还提供了一种电子设备,所述电子设备包括:
存储器,用于存储可执行指令;
处理器,用于运行所述存储器存储的可执行指令时,实现前序的数据同步方法。
本申请实施例还提供了一种计算机可读存储介质,存储有可执行指令,所述可执行指令被处理器执行时实现前序的数据同步方法。
本申请实施例具有以下有益效果:
本申请通过在源端数据库系统中,获取需要进行数据同步处理的元数据和需要进行数据同步的第一数据记录;基于所述元数据构造元数据的物理日志;基于所述第一数据记录,构造第一数据记录的物理日志;将所述元数据的物理日志和所述第一数据记录的物理日志发送至目的端数据库系统;在所述目的端数据库系统中,对所述元数据的物理日志和所述第一数据记录的物理日志进行解析,得到物理日志解析结果;根据所述物理日志解析结果,在所述目的端数据库系统中进行数据同步,以实现更新所述目的端数据库系统的数据。由此能够实现自动化的对不同数据库之间的数据进行同步处理,保证数据库的数据一致性,提升用户的使用效率,减少繁琐地数据手动同步所带来的数据遗失,保证数据的安全性和准确性,同时利用物理日志进行数据的同步不需要占用数据库系统的硬件开销,减少了用户的使用成本。
附图说明
图1是本申请实施例提供的数据同步方法的使用环境示意图;
图2为本申请实施例提供的数据同步装置的组成结构示意图;
图3为本申请实施例提供的数据同步方法一个可选的流程示意图;
图4为本发明实施例中数据记录插入操作的第一数据记录的物理日志构造示意图;
图5为本发明实施例中数据记录删除操作的第一数据记录的物理日志构造示意图;
图6为本发明实施例中数据记录更新操作的第一数据记录的物理日志构造示意图;
图7为本发明实施例中数据记录更新操作的第一数据记录的物理日志构造示意图;
图8为本申请实施例提供的数据同步方法一个可选的流程示意图;
图9为本申请所提供的数据同步方法的前端显示示意图;
图10为本申请实施例提供的数据同步方法一个可选的流程示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,所描述的实施例不应视为对本发明的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
1)终端,包括但不限于:普通终端、专用终端,其中所述普通终端与发送通道保持长连接和/或短连接,所述专用终端与所述发送通道保持长连接。
2)客户端,终端中实现特定功能的载体,例如移动客户端(APP)是移动终端中特定功能的载体,例如执行报表制作的功能或者进行报表展示的功能。
3)OLAP数据库系统:联机分析处理(Online Analytical Processing)系统。
4)OLTP数据库系统:联机事务处理(Online Transaction Processing)系统。
5)HTAP数据库系统:联机事务与分析处理(Hybrid Transactional andAnalytical Processing)系统。
6)REDO日志:数据库系统中,用于保证事务持久性的日志。
7)物理日志:数据库系统中,一般REDO日志是记录磁盘上数据的物理修改,故称为物理日志。
8)逻辑日志:数据库系统中,记录数据逻辑修改的日志,一般用于数据库系统间同步数据。
9)数据表:数据库系统中,数据表是用来存储数据的对象,是有结构的数据的集合,包含一个或多个字段。
10)字段:数据库系统中,数据表的列称为字段,每个字段包含这一列的信息。
11)记录:数据库系统中,数据表的一行数据的所有字段的信息
在介绍本申请所提供的数据同步方法之前,首先对相关技术中的数据同步过程进行介绍,HTAP数据库系统是一种支持联机事务处理(On-Line Transaction Processing,OLTP)业务和联机分析处理(On-Line Analytical Processing,OLAP)业务同时处理的数据库系统。所以HTAP数据库系统是一种既支持在线更新任务、又支持在线分析查询请求的数据库系统。需要说明的是,HTAP数据库避免了在线与离线数据的大量数据交互,其创新的计算存储框架也可以支持弹性扩容,更好的应对高并发带来的挑战。为了实施数据同步,源端数据库系统需要额外生成数据的逻辑日志,并同步给目的端数据库系统。例如,在MySQL数据库系统中,为了实现数据库系统间的数据同步,需要额外生成逻辑日志,名为binlog日志。同时,对于MySQL数据库系统而言,本身也需要物理日志,名为REDO日志,来保证MySQL数据库系统的事务持久性。额外生成用于同步的逻辑日志,对源端数据库系统有较大的开销,包括逻辑日志生成时所需的CPU开销和逻辑日志写入磁盘的I/O开销等,同时还占据了大量的存储空间,加重了用户的硬件使用成本,不利于联机事务和分析处理场景的推广和使用。
图1为本申请实施例提供的数据同步方法的使用场景示意图,参见图1,在本申请实施例所提供的数据同步方法应用中,终端包括终端10-1和终端10-2。终端(包括终端10-1和终端10-2)上设置有能够显示相应金融交易信息的软件的客户端,例如虚拟资源或者实体资源进行金融活动或者通过虚拟资源(比如虚拟交易货币)支付的客户端或插件,
当然,本发明所提供的数据同步装置可以应用于虚拟资源或者实体资源进行金融活动或者通过实体金融资源支付环境(包括但不限于各类型的实体金融资源变化环境、电子支付购物环境、电商购物时进行反作弊的使用环境)或者社交软件进行信息交互的使用环境,在各类型的实体金融资源进行金融活动或者通过虚拟资源支付中通常会对不同数据来源的金融信息进行处理,最终在业务方设备的用户界面(User Interface,UI)上呈现出目的端数据库系统经过更新的数据。
在本发明的一些实施例中,数据同步过程可以由计算平台完成。计算平台可以是设于可信第三方设备的平台,也可以是设于多个服务器中的一个服务器或分布在多个服务器的平台。计算平台可以与各个服务器进行数据交互。图1中的多个业务方服务器(可以是持有不同的业务数据的服务器服务器)可以是相同数据类别的服务器,例如都是银行类别服务器,或者都是购物平台服务器等等。多个服务器也可以是不同类别的服务器,例如服务器10-1是购物平台服务器,服务器10-2是购物平台对应的即时通讯客户端服务器,或者服务器10-1是银行的总行服务器,服务器10-2是分行服务器。在数据同步场景下,这些服务器所提供的业务数据通常是同一类型的业务数据。例如,服务器10-1是购物平台服务器,服务器10-2是借贷平台服务器的情况下,如果购物平台绑定有付款银行卡号,借贷平台绑定有提款还款银行卡号,双方提供的用于数据同步的业务数据可以是银行卡号以及转账信息或者借贷信息。如果购物平台服务器和借贷平台服务器都登记有用户的银行卡信息和身份证信息,双方提供的用于数据同步的业务数据也可以是银行卡信息和身份证信息。在其他业务场景下,业务数据也可以包含其他数据,在此不再一一列举。
作为一个示例,服务器200用于布设数据同步装置以实现本申请所提供的数据同步方法。在执行数据同步方法时,在源端数据库系统中,获取需要进行数据同步处理的元数据和需要进行数据同步的第一数据记录;基于所述元数据构造元数据的物理日志;基于所述第一数据记录,构造第一数据记录的物理日志;将所述元数据的物理日志和所述第一数据记录的物理日志发送至目的端数据库系统;在所述目的端数据库系统中,对所述元数据的物理日志和所述第一数据记录的物理日志进行解析,得到物理日志解析结果;根据所述物理日志解析结果,在所述目的端数据库系统中进行数据同步,以实现更新所述目的端数据库系统的数据,最终实现不占用源端数据库系统的硬件开销即可实现目的端数据库系统的数据更新。
下面对本申请实施例的数据同步装置的结构做详细说明,数据同步装置可以各种形式来实施,如带有数据同步功能的专用终端,也可以为设置有数据同步功能的服务器,例如前序图1中的服务器200。图2为本申请实施例提供的数据同步装置的组成结构示意图,可以理解,图2仅仅示出了数据同步装置的示例性结构而非全部结构,根据需要可以实施图2示出的部分结构或全部结构。
本申请实施例提供的数据同步装置包括:至少一个处理器201、存储器202、用户接口203和至少一个网络接口204。数据同步装置20中的各个组件通过总线系统205耦合在一起。可以理解,总线系统205用于实现这些组件之间的连接通信。总线系统205除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统205。
其中,用户接口203可以包括显示器、键盘、鼠标、轨迹球、点击轮、按键、按钮、触感板或者触摸屏等。
可以理解,存储器202可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。本申请实施例中的存储器202能够存储数据以支持终端(如10-1)的操作。这些数据的示例包括:用于在终端(如10-1)上操作的任何计算机程序,如操作系统和应用程序。其中,操作系统包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序可以包含各种应用程序。
在一些实施例中,本申请实施例提供的数据同步装置可以采用软硬件结合的方式实现,作为示例,本申请实施例提供的数据同步装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的数据同步方法。例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific IntegratedCircuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
作为本申请实施例提供的数据同步装置采用软硬件结合实施的示例,本申请实施例所提供的数据同步装置可以直接体现为由处理器201执行的软件模块组合,软件模块可以位于存储介质中,存储介质位于存储器202,处理器201读取存储器202中软件模块包括的可执行指令,结合必要的硬件(例如,包括处理器201以及连接到总线205的其他组件)完成本申请实施例提供的数据同步方法。
作为示例,处理器201可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
作为本申请实施例提供的数据同步装置采用硬件实施的示例,本申请实施例所提供的装置可以直接采用硬件译码处理器形式的处理器201来执行完成,例如,被一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,ComplexProgrammable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable GateArray)或其他电子元件执行实现本申请实施例提供的数据同步方法。
本申请实施例中的存储器202用于存储各种类型的数据以支持数据同步装置20的操作。这些数据的示例包括:用于在数据同步装置20上操作的任何可执行指令,如可执行指令,实现本申请实施例的从数据同步方法的程序可以包含在可执行指令中。
在另一些实施例中,本申请实施例提供的数据同步装置可以采用软件方式实现,图2示出了存储在存储器202中的数据同步装置,其可以是程序和插件等形式的软件,并包括一系列的模块,作为存储器202中存储的程序的示例,可以包括数据同步装置,数据同步装置中包括以下的软件模块:信息传输模块2081,信息处理模块2082。当数据同步装置中的软件模块被处理器201读取到RAM中并执行时,将实现本申请实施例提供的数据同步方法,下面继续说明数据同步装置中各个软件模块的功能,具体包括:
信息传输模块2081,用于在源端数据库系统中,获取需要进行数据同步处理的元数据和需要进行数据同步的第一数据记录;
信息处理模块2082,用于基于所述元数据构造元数据的物理日志;
所述信息处理模块2082,用于基于所述第一数据记录,构造第一数据记录的物理日志;
所述信息处理模块2082,用于将所述元数据的物理日志和所述第一数据记录的物理日志发送至目的端数据库系统;
所述信息处理模块2082,用于在所述目的端数据库系统中,对所述元数据的物理日志和所述第一数据记录的物理日志进行解析,得到物理日志解析结果;
所述信息处理模块2082,用于根据所述物理日志解析结果,在所述目的端数据库系统中进行数据同步,以实现更新所述目的端数据库系统的数据。
根据图2所示的电子设备,在本申请的一个方面中,本申请还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请所提供的数据同步方法的各种可选实现方式中所提供的不同实施例及实施例的组合。
结合图2示出的数据同步装置说明本申请实施例提供的数据同步方法,参见图3,图3为本申请实施例提供的数据同步方法一个可选的流程示意图,可以理解地,图3所示的步骤可以由运行数据同步装置的各种电子设备执行,例如可以是如带有数据同步装置的专用终端、服务器或者服务器集群,其中,带有数据同步装置的专用终端可以为前序图2所示的实施例中带有数据同步装置的电子设备。下面针对图3示出的步骤进行说明。
步骤301:数据同步装置在源端数据库系统中,获取需要进行数据同步处理的元数据和需要进行数据同步的第一数据记录。
步骤302:数据同步装置基于所述元数据构造元数据的物理日志。
在构造元数据的物理日志时,可以将需要同步的数据表的元数据,包括每个字段的元信息,写入元数据的物理日志,源端数据库系统中的元数据又称中介数据、中继数据,是指描述数据的数据(Data about Data),是关于数据的组织、数据域及其关系的信息,主要是描述数据属性(Property)的信息,用来支持如指示数据分片的分片信息、存储位置、历史数据、资源查找、文件记录等功能。
步骤303:数据同步装置基于所述第一数据记录,构造第一数据记录的物理日志。
在本发明的一些实施例中,由于第一数据记录的修改操作类型包括了:修改、删除和更新,因此,在构造第一数据记录的物理日志时,根据元数据中的字段信息,判断第一数据记录需要进行数据同步处理时,需要首先确定第一数据记录的修改操作类型;之后根据第一数据记录的修改操作类型,执行与修改操作类型相匹配的构造策略,得到第一数据记录的物理日志。下面将根据第一数据记录的修改操作类型,对与修改操作类型相匹配的构造策略一一进行说明。
在本发明的一些实施例中,参考图4,图4为本发明实施例中数据记录插入操作的第一数据记录的物理日志构造示意图,当第一数据记录的修改操作类型为数据记录插入操作时,获取数据页文件的插入偏移参数和所述第一数据记录的每个字段的数值;基于数据页文件的插入偏移参数和所述第一数据记录的每个字段的数值,构造第一数据记录的物理日志。由于数据记录插入操作是将新的数据记录写入数据库,对应的物理日志由两部分组成:1)第一部分是数据记录写入数据库时所对应的数据页文件的偏移参数;2)第二部分是数据记录的每个字段的数值。如图4所示,当插入的数据记录有5个字段时。因此,不需要在第一数据记录的物理日志中加入额外信息,此时的第一数据记录的物理日志组成为:偏移参数、数据字段1(用于表示字段1的数值)、数据字段2(用于表示字段2的数值)、数据字段3(用于表示字段3的数值)、数据字段4(用于表示字段4的数值)以及数据字段5(用于表示字段5的数值)。
在本发明的一些实施例中,参考图5,图5为本发明实施例中数据记录删除操作的第一数据记录的物理日志构造示意图,当第一数据记录的修改操作类型为数据记录删除操作时,获取数据页文件的删除偏移参数、标记删除字段的修改信息以及删除字段的标识信息;基于数据页文件的插入偏移参数、标记删除字段的修改信息以及删除字段的标识信息,构造第一数据记录的物理日志。如图5所示,数据记录删除操作是在数据库中将对应的数据记录删除,可以为标记删除。进行删除时,在数据记录写入数据库时所对应的数据页文件的偏移处,通过一个标记删除字段标记这条记录已经被删除。因此,对应的原本的物理日志只会包含需要删除的数据记录在数据页文件中的偏移参数,以及对标记删除字段的修改。由于目的端数据库的数据页文件与源端的数据库的数据页文件不一致,因此需要在数据记录删除操作的物理日志中额外加入需要删除的数据记录的唯一标识(可以为数据表的主键的所有字段)。这样才能在目的端数据库中通过这个唯一标识找到需要删除的数据记录,并在目的端数据库中执行这条数据记录的删除操作,以保证目的端数据库中数据的准确性。如图5所示,删除的数据记录的主键有两个字段,即:主键字段1和主键字段2,此时第一数据记录的物理日志包括:删除偏移参数、删除字段的标识信息(标记删除)、主键字段1和主键字段2。
在本发明的一些实施例中,参考图6,图6为本发明实施例中数据记录更新操作的第一数据记录的物理日志构造示意图,当第一数据记录的修改操作类型为数据记录更新操作时,获取数据页文件的更新偏移参数和更新字段的更新数值;当更新字段包括所述数据记录的标识信息时,根据数据页文件的更新偏移参数和更新字段的更新数值,构造第一数据记录的物理日志。由于数据记录更新操作是更新的数据记录的部分字段,对应的物理日志由两部分组成,即1)数据记录写入数据库时所对应的数据页文件的偏移参数;2)数据记录中更新的字段的新的数值。如果更新的字段中涵盖了数据记录的唯一标识,即数据表的主键的所有字段,则不需要在物理日志中加入额外的信息。如图6所示,只更新数据记录的三个字段时(更新字段1、更新字段2和更新字段3),如果这三个字段涵盖了数据记录的主键的所有字段,此时,第一数据记录的物理日志可以包括:更新偏移参数、更新字段1、更新字段2以及更新字段3。
在本发明的一些实施例中,参考图7,图7为本发明实施例中数据记录更新操作的第一数据记录的物理日志构造示意图,当更新字段不包括数据记录的标识信息时,根据数据页文件的更新偏移参数、更新字段的更新数值以及数据表的主键的字段,构造第一数据记录的物理日志。如图7所示,由于更新的字段中无法涵盖数据记录的唯一标识,需要在物理日志中,额外补充数据表的主键的字段,即将数据表的主键的字段依次写入到物理日志中,使得在第一数据记录的物理日志中包含完整的数据记录的唯一标识。如图7所示,只更新数据记录的三个字段时,如果这三个字段没有涵盖数据记录的主键的字段,此时,第一数据记录的物理日志可以包括:更新偏移参数、更新字段1、更新字段2、更新字段3、主键字段1和主键字段2。
步骤304:数据同步装置将所述元数据的物理日志和所述第一数据记录的物理日志发送至目的端数据库系统。
在本发明的一些实施例中,可以将所述元数据的物理日志和所述第一数据记录的物理日志,写入磁盘日志文件;通过所述磁盘日志文件,将所述元数据的物理日志和所述第一数据记录的物理日志发送至目的端数据库系统。由于磁盘文件的传输不受断电影响,因此,可以有效地保证元数据的物理日志和第一数据记录的物理日志的安全传输,同时,还可以利用磁盘文件向云服务器网络中传输元数据的物理日志和第一数据记录的物理日志,以实现利用云服务器网络对元数据的物理日志和第一数据记录的物理日志进行备份,保证目的端数据库系统的数据安全。
需要说明的是,在本发明的一些实施例中,在执行步骤301-304时,可以首先构造元数据的物理日志,并将元数据的物理日志发送至目的端数据库系统,之后,构造第一数据记录的物理日志,再将第一数据记录的物理日志发送至目的端数据库系统,对此本申请不做具体的限制。
步骤305:数据同步装置在所述目的端数据库系统中,对所述元数据的物理日志和所述第一数据记录的物理日志进行解析,得到物理日志解析结果。
在进行数据记录的物理日志解析时,参见图8,图8为本申请实施例提供的数据同步方法一个可选的流程示意图,可以理解地,图8所示的步骤可以由运行数据同步装置的各种电子设备执行,例如可以是如带有数据同步装置的专用终端、服务器或者服务器集群,其中,带有数据同步装置的专用终端可以为前序图2所示的实施例中带有数据同步装置的电子设备。下面针对图8示出的步骤进行说明。
步骤801:判断第一数据记录的物理日志的数据记录类型。
步骤802:当所述第一数据记录的物理日志为数据记录插入操作类型时,解析获取插入数据记录的每个字段数值。
步骤803:根据目的端数据库系统的数据格式,将所述插入数据记录的每个字段数值整理为第二数据记录作为所述物理日志解析结果。
步骤804:当所述第一数据记录的物理日志为数据记录删除操作类型时,解析获取删除数据记录的删除字段的标识信息。
步骤805:将所述删除字段的标识信息整理为第二数据记录作为所述物理日志解析结果。
步骤806:当所述第一数据记录的物理日志为数据记录更新操作类型时,解析获取更新数据记录的标识信息和更新字段的更新数值。
步骤807:将所述更新数据记录的标识信息和更新字段的更新数值,整理为第二数据记录作为所述物理日志解析结果。
当通过图8所示的步骤得到物理日志解析结果后,可以继续执行步骤306以完成数据同步。
步骤306:数据同步装置根据所述物理日志解析结果,在所述目的端数据库系统中进行数据同步,以实现更新所述目的端数据库系统的数据。
具体来说,当第一数据记录的物理日志为数据记录插入操作类型时,由于数据记录插入操作的物理日志包含数据记录的每个字段的数值,因此,可以解析出插入数据记录的每个字段数值;按照目的端的数据格式,将所有字段的数值整理成新的数据记录;最后将新的数据记录插入目的端的数据库系统,完成数据的同步。
当第一数据记录的物理日志为数据记录删除操作类型时,由于数据记录删除操作的物理日志中包含删除的数据记录的唯一标识,因此,可以解析出需要删除的数据记录的唯一标识(例如可以为为数据表的主键中的所有字段的数值);通过数据记录的唯一标识,在目的端的数据库系统查询出这条数据记录;最后在目的端数据库中删除这条数据记录成数据的同步。
当第一数据记录的物理日志为数据记录更新操作类型时,由于数据记录更新操作的物理日志中包含更新的数据记录的唯一标识,因此,可以解析出需要更新的数据记录的唯一标识(例如可以为数据表的主键中的所有字段的数值),之后通过数据记录的唯一标识,在目的端的数据库系统查询出这条数据记录;之后利用物理日志中包含需要修改的字段的数值,在目的端数据库对需要更新的字段做更新操作。
当目的端数据库系统完成数据同步后,可以根据目的端数据库系统的数据的标识信息,确定目的端数据库系统对应的云服务器网络;将目的端数据库系统的数据的更新结果,保存在云服务器网络中;当目的端数据库系统出现数据丢失时,通过云服务器网络将所述更新结果发送至目的端数据库系统,由此可以增强目的端数据库系的数据安全性,避免用户由于目的端数据库系统的数据丢失造成用户的损失。
其中,目的端数据库系统可以云服务器或者云服务器集群,本申请实施例可结合云技术实现,云技术(Cloud technology)是指在广域网或局域网内将硬件、软件及网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术,也可理解为基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术及应用技术等的总称。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站,因此云技术需要以云计算作为支撑。
需要说明的是,云计算是一种计算模式,它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。作为云计算的基础能力提供商,会建立云计算资源池平台,简称云平台,一般称为基础设施即服务(IaaS,Infrastructure as a Service),在资源池中部署多种类型的虚拟资源,供外部客户选择使用。云计算资源池中主要包括:计算设备(可为虚拟化机器,包含操作系统)、存储设备和网络设备。
结合前序图1所示,本发明实施例所提供的数据同步方法可以通过相应的云端设备实现,例如:终端(包括终端10-1和终端10-2)通过网络300连接位于云端的服务器200,网络300可以是广域网或者局域网,又或者是二者的组合。值得说明的是,服务器200可为实体设备,也可为虚拟化设备。
下面结合不同的实施场景对本申请所提供的数据同步方法进一步的说明。其中,参见图9,图9为本申请所提供的数据同步方法的前端显示示意图。其中终端(例如图1中的终端10-1和终端10-2)上设置有能够显示进行金融支付的软件的客户端,例如虚拟资源或者实体资源进行金融活动或者通过虚拟资源借贷的客户端或插件。用户通过相应的客户端可以从金融机构进行贷款服务。其中,可以应用于金融风控场景的跨行业合作场景,例如服务器分别为银行A的源端数据库系统(总行系统)和银行A的目的端数据库系统(分行系统)。
银行A服务中包括OLTP业务和OLAP业,利用HTAP场景,OLTP业务运行在datanode主节点上,OLAP业务运行在datanode节点的备节点上,二者的数据同步采用流复制的方式来进行,可以实现对用户信息的插入,删除和更新。
同时,银行A的目的端数据库系统(分行系统)拥有那些存款高于10万元的用户集合以及相应的征信评分,参考表1。
表1
此时,A的源端数据库系统获得了储户的变化情况,需要同步给银行A的目的端数据库系统参考表2。
表2
此时,用户身份证ID37003的信息需要删除,37001的1征信得分需要更新,用户身份证ID37000的身份证ID需要插入,在源端数据库系统中,获取需要进行数据同步处理的元数据和需要进行数据同步的第一数据记录包括了:数据记录插入操作、数据记录删除操作和数据记录更新操作。参见图10,图10为本申请实施例提供的数据同步方法一个可选的流程示意图,具体包括以下步骤:
步骤1001:在A银行的源端数据库系统中,获取需要进行数据同步处理的元数据和需要进行数据同步的数据插入操作记录、数据删除操作记录和数据更新操作记录。
步骤1002:构造元数据的物理日志和插入操作记录的物理日志、数据删除操作记录的物理日志和数据更新操作记录的物理日志。
步骤1003:将元数据的物理日志和插入操作记录的物理日志、数据删除操作记录的物理日志和数据更新操作记录的物理日志,发送至A银行的目的端数据库系统。
步骤1004:A银行的目的端数据库系统,解析元数据的物理日志和插入操作记录的物理日志、数据删除操作记录的物理日志和数据更新操作记录的物理日志,得到解析结果。
步骤1005:A银行的目的端数据库系统,根据解析结果,对用户身份证ID37003的信息进行删除,ID37001的1征信得分进行更新,ID37000的身份证ID进行插入。
有益技术效果:
本申请通过在源端数据库系统中,获取需要进行数据同步处理的元数据和需要进行数据同步的第一数据记录;基于所述元数据构造元数据的物理日志;基于所述第一数据记录,构造第一数据记录的物理日志;将所述元数据的物理日志和所述第一数据记录的物理日志发送至目的端数据库系统;在所述目的端数据库系统中,对所述元数据的物理日志和所述第一数据记录的物理日志进行解析,得到物理日志解析结果;根据所述物理日志解析结果,在所述目的端数据库系统中进行数据同步,以实现更新所述目的端数据库系统的数据。由此能够实现自动化的对不同数据库之间的数据进行同步处理,保证数据库的数据一致性,提升用户的使用效率,减少繁琐地数据手动同步所带来的数据遗失,保证数据的安全性和准确性,同时利用物理日志进行数据的同步不需要占用数据库系统的硬件开销,减少了用户的使用成本。
以上所述,仅为本发明的实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (14)

1.一种数据同步方法,其特征在于,所述方法包括:
在源端数据库系统中,获取需要进行数据同步处理的元数据和需要进行数据同步的第一数据记录;
基于所述元数据构造元数据的物理日志;
基于所述第一数据记录,构造第一数据记录的物理日志;
将所述元数据的物理日志和所述第一数据记录的物理日志发送至目的端数据库系统;
在所述目的端数据库系统中,对所述元数据的物理日志和所述第一数据记录的物理日志进行解析,得到物理日志解析结果;
根据所述物理日志解析结果,在所述目的端数据库系统中进行数据同步,以实现更新所述目的端数据库系统的数据。
2.根据权利要求1所述的方法,其特征在于,所述基于所述第一数据记录,构造第一数据记录的物理日志,包括:
当根据所述元数据中的字段信息,判断所述第一数据记录需要进行数据同步处理时,确定所述第一数据记录的修改操作类型;
根据所述第一数据记录的修改操作类型,执行与所述修改操作类型相匹配的构造策略,得到所述第一数据记录的物理日志。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一数据记录的修改操作类型,执行与所述修改操作类型相匹配的构造策略,得到所述第一数据记录的物理日志,包括:
当所述第一数据记录的修改操作类型为数据记录插入操作时,获取数据页文件的插入偏移参数和所述第一数据记录的每个字段的数值;
基于所述数据页文件的插入偏移参数和所述第一数据记录的每个字段的数值,构造所述第一数据记录的物理日志。
4.根据权利要求2所述的方法,其特征在于,所述根据所述第一数据记录的修改操作类型,执行与所述修改操作类型相匹配的构造策略,得到所述第一数据记录的物理日志,包括:
当所述第一数据记录的修改操作类型为数据记录删除操作时,获取数据页文件的删除偏移参数、标记删除字段的修改信息以及删除字段的标识信息;
基于所述数据页文件的删除偏移参数、所述标记删除字段的修改信息以及所述删除字段的标识信息,构造所述第一数据记录的物理日志。
5.根据权利要求2所述的方法,其特征在于,所述根据所述第一数据记录的修改操作类型,执行与所述修改操作类型相匹配的构造策略,得到所述第一数据记录的物理日志,包括:
当所述第一数据记录的修改操作类型为数据记录更新操作时,获取数据页文件的更新偏移参数和更新字段的更新数值;
当所述更新字段包括所述数据记录的标识信息时,根据所述数据页文件的更新偏移参数和更新字段的更新数值,构造所述第一数据记录的物理日志;
当所述更新字段不包括所述数据记录的标识信息时,根据所述数据页文件的更新偏移参数、更新字段的更新数值以及数据表的主键的字段,构造所述第一数据记录的物理日志。
6.根据权利要求2所述的方法,其特征在于,所述将所述元数据的物理日志和所述第一数据记录的物理日志发送至目的端数据库系统,包括:
将所述元数据的物理日志和所述第一数据记录的物理日志,写入磁盘日志文件;
通过所述磁盘日志文件,将所述元数据的物理日志和所述第一数据记录的物理日志发送至目的端数据库系统。
7.根据权利要求2所述的方法,其特征在于,所述在所述目的端数据库系统中,对所述元数据的物理日志和所述第一数据记录的物理日志进行解析,得到物理日志解析结果,包括:
当所述第一数据记录的物理日志为数据记录插入操作类型时,解析获取插入数据记录的每个字段数值;
根据目的端数据库系统的数据格式,将所述插入数据记录的每个字段数值整理为第二数据记录作为所述物理日志解析结果,以实现通过所述第二数据记录更新所述目的端数据库系统的数据。
8.根据权利要求2所述的方法,其特征在于,所述在所述目的端数据库系统中,对所述元数据的物理日志和所述第一数据记录的物理日志进行解析,得到物理日志解析结果,包括:
当所述第一数据记录的物理日志为数据记录删除操作类型时,解析获取删除数据记录的删除字段的标识信息;
将所述删除字段的标识信息整理为第二数据记录作为所述物理日志解析结果,以实现通过所述第二数据记录更新所述目的端数据库系统的数据。
9.根据权利要求2所述的方法,其特征在于,所述在所述目的端数据库系统中,对所述元数据的物理日志和所述第一数据记录的物理日志进行解析,得到物理日志解析结果,包括:
当所述第一数据记录的物理日志为数据记录更新操作类型时,解析获取更新数据记录的标识信息和更新字段的更新数值;
将所述更新数据记录的标识信息和更新字段的更新数值,整理为第二数据记录作为所述物理日志解析结果,以实现通过所述第二数据记录更新所述目的端数据库系统的数据。
10.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述目的端数据库系统的数据的标识信息,确定所述目的端数据库系统对应的云服务器网络;
将所述目的端数据库系统的数据的更新结果,保存在所述云服务器网络中;
当所述目的端数据库系统出现数据丢失时,通过所述云服务器网络将所述更新结果发送至所述目的端数据库系。
11.一种数据同步装置,应用于数据同步系统中,所述数据同步系统包括:请求服务器和处理服务器,其特征在于,所述装置包括:
信息传输模块,用于在源端数据库系统中,获取需要进行数据同步处理的元数据和需要进行数据同步的第一数据记录;
信息处理模块,用于基于所述元数据构造元数据的物理日志;
所述信息处理模块,用于基于所述第一数据记录,构造第一数据记录的物理日志;
所述信息处理模块,用于将所述元数据的物理日志和所述第一数据记录的物理日志发送至目的端数据库系统;
所述信息处理模块,用于在所述目的端数据库系统中,对所述元数据的物理日志和所述第一数据记录的物理日志进行解析,得到物理日志解析结果;
所述信息处理模块,用于根据所述物理日志解析结果,在所述目的端数据库系统中进行数据同步,以实现更新所述目的端数据库系统的数据。
12.一种电子设备,其特征在于,所述电子设备包括:
存储器,用于存储可执行指令;
处理器,用于运行所述存储器存储的可执行指令时,实现权利要求1至10任一项所述的数据同步方法。
13.一种计算机程序产品,包括计算机程序或指令,其特征在于,所述计算机程序或指令被处理器执行时,实现权利要求1至10任一项所述的数据同步方法。
14.一种计算机可读存储介质,存储有可执行指令,其特征在于,所述可执行指令被处理器执行时实现权利要求1至10任一项所述的数据同步方法。
CN202210899992.0A 2022-07-28 2022-07-28 数据同步方法、装置、计算机程序产品、设备及存储介质 Pending CN117520442A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210899992.0A CN117520442A (zh) 2022-07-28 2022-07-28 数据同步方法、装置、计算机程序产品、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210899992.0A CN117520442A (zh) 2022-07-28 2022-07-28 数据同步方法、装置、计算机程序产品、设备及存储介质

Publications (1)

Publication Number Publication Date
CN117520442A true CN117520442A (zh) 2024-02-06

Family

ID=89744338

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210899992.0A Pending CN117520442A (zh) 2022-07-28 2022-07-28 数据同步方法、装置、计算机程序产品、设备及存储介质

Country Status (1)

Country Link
CN (1) CN117520442A (zh)

Similar Documents

Publication Publication Date Title
CN113254466B (zh) 一种数据处理方法、装置、电子设备和存储介质
CN108897874B (zh) 用于处理数据的方法和装置
CN112434015B (zh) 数据存储的方法、装置、电子设备及介质
CN111460285A (zh) 信息处理方法、装置、电子设备和存储介质
CN113076304A (zh) 一种分布式版本管理方法、装置和系统
CN112835904A (zh) 一种数据处理方法和数据处理装置
CN112445866A (zh) 数据处理方法、装置、计算机可读介质及电子设备
CN115168362A (zh) 数据处理方法、装置、可读介质及电子设备
CN111008865A (zh) 优惠券同步展示方法、装置、服务器及存储介质
CN113297453A (zh) 一种网络请求响应方法、装置、电子设备及存储介质
CN112765280A (zh) 区块数据存储方法、装置、计算机可读介质及电子设备
CN112148744A (zh) 页面展示方法、装置、电子设备和计算机可读介质
CN111124883A (zh) 一种基于树形表格的测试用例库引入方法、系统及设备
CN110852701A (zh) 产品需求管理方法、装置和系统
CN117520442A (zh) 数据同步方法、装置、计算机程序产品、设备及存储介质
CN114253922A (zh) 资源目录管理方法、资源管理方法、装置、设备及介质
CN109740027B (zh) 数据交换方法、装置、服务器和存储介质
CN116701452A (zh) 数据处理方法、相关设备、存储介质及程序产品
CN113610527A (zh) 联盟链的交易方法、装置、系统、终端设备及存储介质
CN113448757A (zh) 消息处理方法、装置、设备、存储介质和系统
CN115079873A (zh) 信息显示方法、装置、电子设备和存储介质
CN113761053A (zh) 一种数据查询方法、装置、电子设备及存储介质
CN112035581A (zh) 基于模型的任务处理方法、装置、设备和介质
CN112052234A (zh) 业务数据的处理方法和装置、存储介质、电子装置
CN111641690A (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