一种跨网段数据库同步方法、装置、存储介质及电子设备与流程

文档序号:28367465发布日期:2022-01-05 13:13阅读:169来源:国知局
一种跨网段数据库同步方法、装置、存储介质及电子设备与流程

1.本技术实施例涉及数据库同步领域,尤其涉及一种跨网段数据库同步方法、装置、存储介质及电子设备。


背景技术:

2.随着数据库技术的迅速发展,企业可以选择的数据库产品增多,位于不同网段的不同产品由于技术或需求等因素很可能使用不同类型的数据库产品,同时企业内部对信息共享要求的不断提高,自动化的数据同步成为一个必然的需求。跨网段数据库同步问题作为一个重要的研究方向,在理论与实际应用上都具有十分深远的意义。
3.市面上对于同网段同构、同网段异构数据库同步有比较成熟的方案,但对于跨网段异构数据库的同步研究不够,尤其是跨网段异构数据库中的二进制类型字段的同步尚没有成熟的解决方案。
4.导致同步后二进制数据在源数据库和目标数据库之间存在很大偏差。


技术实现要素:

5.本技术实施例提供一种跨网段数据库同步方法、装置、存储介质及电子设备,解决了跨网段异构数据库不能流传输的问题,以及解决了二进制类型数据同步后大小、内容不一致的问题。
6.第一方面,本技术实施例提供了一种跨网段数据库同步方法,该方法包括:
7.获取源数据库中的目标数组;其中,所述目标数组由二进制类型数据构成;
8.按照预设编码格式将所述目标数组转换成目标字符串,并将所述目标字符串保存成目标文件;
9.利用光纤将所述目标文件传输至目标数据库,以进行跨网段数据库二进制类型数据的同步。
10.第二方面,本技术实施例提供了一种跨网段数据库同步装置,该装置包括:
11.目标数组获取模块,用于获取源数据库中的目标数组;其中,所述目标数组由二进制类型数据构成;
12.目标文件生成模块,用于按照预设编码格式将所述目标数组转换成目标字符串,并将所述目标字符串保存成目标文件;
13.文件传输模块,用于利用光纤将所述目标文件传输至目标数据库,以进行跨网段数据库二进制类型数据的同步。
14.第三方面,本技术实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本技术实施例所述的跨网段数据库同步方法。
15.第四方面,本技术实施例提供了一种电子设备,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如本技术实施例所述的跨网段数据库同步方法。
16.本技术实施例所提供的技术方案,获取源数据库中的目标数组,按照预设编码格式将目标数组转换成目标字符串,并将目标字符串保存成目标文件,利用光纤将目标文件传输至目标数据库,以进行跨网段数据库二进制类型数据的同步。本技术方案,可以解决跨网段异构数据库不能流传输的问题,以及解决二进制类型数据同步后大小、内容不一致的问题。
附图说明
17.图1是本技术实施例一提供的跨网段数据库同步方法的流程图;
18.图2是本技术实施例二提供的跨网段数据库同步过程的示意图;
19.图3是本技术实施例二提供的数据库同步示意图;
20.图4是本技术实施例三提供的跨网段数据库同步装置的结构示意图;
21.图5是本技术实施例五提供的一种电子设备的结构示意图。
具体实施方式
22.下面结合附图和实施例对本技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本技术,而非对本技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本技术相关的部分而非全部结构。
23.在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
24.实施例一
25.图1是本技术实施例一提供的跨网段数据库同步方法的流程图,本实施例可适用于跨网段异构数据库二进制类型数据同步的情况,该方法可以由本技术实施例所提供的跨网段数据库同步装置执行,该装置可以由软件和/或硬件的方式来实现,并可集成于用于数据同步处理的智能终端等设备中。
26.如图1所示,所述跨网段数据库同步方法包括:
27.s110、获取源数据库中的目标数组;其中,所述目标数组由二进制类型数据构成;
28.在本方案中,网段可以是指计算机网络中使用同一物理层设备能够直接进行通讯的那一部分。源数据库和目标数据库分别所属不同的网段,数据库类型也不同,为了保证跨网段异构数据库二进制类型数据的同步后大小、内容一致,需要对源数据库中的二进制类型数据进行处理。其中,数据库类型包括oracle数据库、mysql数据库以及sql server数据库等。
29.其中,源数据库中的二进制类型数据以数组的形式存储在源数据库中。可以将源数据库中某一个表中某一列的目标数组进行跨网段同步到目标数据库的某一个表中某一列中。
30.在本实施例中,可以基于预先配置的定时任务,从源数据库中获取目标数组。
31.s120、按照预设编码格式将所述目标数组转换成目标字符串,并将所述目标字符
串保存成目标文件;
32.在本方案中,可以采用常规技术手段将目标数组转换成字符串形式的数据,并将字符串保存成文件。
33.s130、利用光纤将所述目标文件传输至目标数据库,以进行跨网段数据库二进制类型数据的同步。
34.其中,光纤是一种将讯息转换为光从一端传送到另一端的媒介。
35.在本方案中,由于是跨网段同步,不能以流的方式传输数据,则将获取到的源数据库中的目标数组转换成字符串形式,并保存成目标文件,利用光纤将目标文件从源数据库传输至目标数据库,能够解决跨网段异构数据库不能流传输的问题,以及解决二进制类型数据同步后大小、内容不一致的问题。
36.在本技术方案中,可选的,利用光纤将所述目标文件传输至目标数据库,包括:
37.基于数据库同步发送端服务,利用光纤将所述目标文件传输至数据库同步接收端服务;
38.通过所述数据库同步接收端服务解析所述目标文件,得到目标数组,并按照预设同步配置信息将所述目标数组存入目标数据库;其中,所述同步配置信息用于确定与源数据库相关联的目标数据库。
39.其中,同步配置消息用于确定与源数据库先关联的目标数据库,以用于跨网段异构数据库同步。例如,通过配置同步配置信息,可以将a数据库中表1第一列的数据同步到b数据库中表1第一列。
40.在本方案中,在两个不同的网段分别部署数据库同步发送端服务和数据库同步接收端服务,由数据库同步发送端服务利用光纤将目标文件传输至数据库同步接收端服务,数据库同步接收端服务将接收到的目标文件的内容进行解析,并将解析结果存储到目标数据库中对应的位置。
41.通过在不同网段部署数据库同步发送端服务和数据库同步接收端服务,能够实现跨网段异构数据库二进制类型数据的同步。
42.在本技术方案中,可选的,所述同步配置信息包括源数据库和目标数据库的ip、端口、已开通远程访问权限的用户名和密码、数据库类型、数据库名称以及同步间隔时间。
43.其中,ip(internet protocol,网际互连协议)是tcp/ip体系中的网络层协议;端口可以是指计算机与外界通讯交流的出口;同步间隔时间可以是指源数据库和目标数据库数据同步间隔的时间,可以根据数据传输需求进行设置。
44.在本方案中,在数据库发送端服务配置源数据库和目标数据库的同步配置信息,并利用光纤将同步配置信息发送至数据库接收端服务。
45.通过配置同步配置信息,可以确定不同网段的源数据库和目标数据库,以用于跨网段异构数据库同步。
46.在本技术方案中,可选的,将所述目标文件传输至目标数据库,包括:
47.若为首次传输的情况下,采用全量同步方式,将所述目标文件传输至目标数据库;
48.若为非首次传输的情况下,采用全量同步方式或增量同步方式,将所述目标文件传输至目标数据库。
49.其中,增量同步和全量同步是数据库同步的两种方式。全量同步是一次性同步全
部数据,增量同步则只同步两个数据库不同的部分。
50.在本方案中,启动同步后,在首次传输的情况下,目标文件以全量同步的方式传输至目标数据库;在非首次传输的情况下,根据源数据库中表的结构,将目标文件以全量同步方式或者增量同步方式传输至目标数据库。
51.采用不同的同步方式将目标文件从源数据库传输至目标数据库,能够提高目标文件的传输效率。
52.本技术实施例所提供的技术方案,获取源数据库中的目标数组,按照预设编码格式将目标数组转换成目标字符串,并将目标字符串保存成目标文件,利用光纤将目标文件传输至目标数据库,以进行跨网段数据库二进制类型数据的同步。通过执行本技术方案,可以解决跨网段异构数据库不能流传输的问题,以及解决二进制类型数据同步后大小、内容不一致的问题。
53.实施例二
54.图2是本技术实施例提供的跨网段数据库同步过程的示意图,本实施例二在实施例一的基础上进行进一步地优化。具体优化为:在获取源数据库中的目标数组之前,所述方法还包括:确定至少两个网段部署的数据库同步发送端服务和数据库同步接收端服务;确定所述数据库同步发送端服务和数据库同步接收端服务的同步配置信息,并基于所述同步配置信息生成定时任务;相应的,获取源数据库中的目标数组,包括:基于定时任务,获取源数据库中的byte数组。其中,未在本实施例中详尽描述的内容详见实施例一。如图2所示,该方法包括以下步骤:
55.s210、确定至少两个网段部署的数据库同步发送端服务和数据库同步接收端服务;
56.在本实施例中,可以响应于用户的部署操作,在不同网段部署数据库同步发送端服务和数据库同步接收端服务。
57.s220、确定所述数据库同步发送端服务和数据库同步接收端服务的同步配置信息,并基于所述同步配置信息生成定时任务;
58.在本方案中,在数据库同步发送端服务配置源数据库和目标数据库的同步配置信息,保存配置后,每个同步配置信息生成一个对应的定时任务,同时数据库发送端服务以sql(structured query language)文件形式存储同步配置信息,通过光纤单向传输将同步配置信息发送到数据库同步接收端服务。
59.在本技术方案中,可选的,在确定所述数据库同步发送端服务和数据库同步接收端服务的同步配置信息之后,所述方法还包括:
60.获取源数据库的表信息和列信息;其中,所述表信息包括数据库任务、同步方式、源数据库的表名称、源数据库的主键、目标数据库的表名称、目标数据库的主键以及更新时间;所述列信息包括源数据库的列名称、源数据库的类型、目标数据库的列名称、目标数据库的类型以及更新时间;
61.根据所述表信息和列信息,配置目标数据库的表信息和列信息,以用于源数据库和目标数据库的同步。
62.在本实施例中,可以根据源数据库中的表信息和列信息配置目标数据库对应的表信息和列信息。其中,若源数据库和目标数据库的表和列相同,可使用默认配置。
63.通过对目标数据库的表信息和列信息进行配置,能够解决跨网段异构数据库二进制字段的数据库同步问题。
64.s230、基于定时任务,获取源数据库中的byte数组;
65.其中,byte数组表示8位二进制数据。
66.在本实施例中,源数据库中的数据以byte数组的形式存储在源数据库中。启动同步后,由数据库发送端服务获取源数据中的byte数组。
67.s240、按照iso8859

1编码格式将所述byte数组转换成目标字符串,并将所述目标字符串保存成csv文件;
68.其中,iso8859

1编码是单字节编码,能够快速将byte数组转换成目标字符串。
69.在本实施例中,csv(逗号分隔值文件格式)文件是一种通用的、相对简单的文件格式应用是在程序之间转移表格数据,而这些程序本身是在不兼容的格式上进行操作的。由于支持异构数据库同步,所以csv文件以数据库中的表为单位,存储字段名、字段值、操作类型(增加、更新、删除),不直接存储sql语句。
70.s250、利用光纤将所述csv文件传输至目标数据库,以进行跨网段数据库二进制类型数据的同步。
71.在本实施例中,将从源数据库中获取的byte数组转化为iso8859

1编码格式的字符串后再存入csv文件中的对应字段位置。数据库接收端服务从csv中取出字符串后,以编码格式iso8859

1再转化为byte数组,存入目标数据库对应字段,能够解决跨网段异构数据库二进制字段的数据库同步问题。
72.示例性的,图3是本技术实施例二提供的数据库同步示意图,如图3所示,在两个不同的网段分别部署数据库同步发送端服务和数据库同步接收端服务,数据库发送端服务用于配置源数据库和目标数据库的同步配置信息,将同步配置信息发送至数据库同步接收端服务,然后基于数据库发送端服务获取源库数据(采用全量获取和增量获取两种方式),并将不同类型的数据转化为指定格式的字符串存入csv文件,然后通过光纤单向传输将csv文件发送到数据库接收端服务,数据库接收端服务从csv中取出字符串后,以编码格式iso8859

1再转化为byte数组,存入目的库表对应字段,以解决跨网段异构数据库二进制字段的数据库同步问题。
73.本技术实施例所提供的技术方案,获取源数据库中的目标数组,按照预设编码格式将目标数组转换成目标字符串,并将目标字符串保存成目标文件,利用光纤将目标文件传输至目标数据库,以进行跨网段数据库二进制类型数据的同步。通过执行本技术方案,可以解决跨网段异构数据库不能流传输的问题,以iso8859

1编码格式转化二进制类型数据,能够解决二进制类型数据同步后大小、内容不一致的问题。
74.实施例三
75.图4是本技术实施例三提供的跨网段数据库同步装置的结构示意图,如图4所示,跨网段数据库同步装置包括:
76.目标数组获取模块410,用于获取源数据库中的目标数组;其中,所述目标数组由二进制类型数据构成;
77.目标文件生成模块420,用于按照预设编码格式将所述目标数组转换成目标字符串,并将所述目标字符串保存成目标文件;
78.文件传输模块430,用于利用光纤将所述目标文件传输至目标数据库,以进行跨网段数据库二进制类型数据的同步。
79.在本技术方案中,可选的,文件传输模块430,包括:
80.目标文件传输单元,用于基于数据库同步发送端服务,利用光纤将所述目标文件传输至数据库同步接收端服务;
81.目标数组存入单元,用于通过所述数据库同步接收端服务解析所述目标文件,得到目标数组,并按照预设同步配置信息将所述目标数组存入目标数据库;其中,所述同步配置信息用于确定与源数据库相关联的目标数据库。
82.在本技术方案中,可选的,所述同步配置信息包括源数据库和目标数据库的ip、端口、已开通远程访问权限的用户名和密码、数据库类型、数据库名称以及同步间隔时间。
83.在本技术方案中,可选的,所述装置还包括:
84.数据库同步端确定模块,用于确定至少两个网段部署的数据库同步发送端服务和数据库同步接收端服务;
85.定时任务生成模块,用于确定所述数据库同步发送端服务和数据库同步接收端服务的同步配置信息,并基于所述同步配置信息生成定时任务;
86.相应的,目标数组获取模块410,具体用于:
87.基于定时任务,获取源数据库中的byte数组。
88.在本技术方案中,可选的,目标文件生成模块420,具体用于:
89.按照iso8859

1编码格式将所述byte数组转换成目标字符串,并将所述目标字符串保存成csv文件。
90.在本技术方案中,可选的,所述装置还包括:
91.数据库信息获取模块,用于获取源数据库的表信息和列信息;其中,所述表信息包括数据库任务、同步方式、源数据库的表名称、源数据库的主键、目标数据库的表名称、目标数据库的主键以及更新时间;所述列信息包括源数据库的列名称、源数据库的类型、目标数据库的列名称、目标数据库的类型以及更新时间;
92.数据库信息配置模块,用于根据所述表信息和列信息,配置目标数据库的表信息和列信息,以用于源数据库和目标数据库的同步。
93.在本技术方案中,可选的,文件传输模块430,具体用于:
94.若为首次传输的情况下,采用全量同步方式,将所述目标文件传输至目标数据库;
95.若为非首次传输的情况下,采用全量同步方式或增量同步方式,将所述目标文件传输至目标数据库。
96.上述产品可执行本技术实施例所提供的方法,具备执行方法相应的功能模块和有益效果。
97.实施例四
98.本技术实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种跨网段数据库同步方法,该方法包括:
99.获取源数据库中的目标数组;其中,所述目标数组由二进制类型数据构成;
100.按照预设编码格式将所述目标数组转换成目标字符串,并将所述目标字符串保存成目标文件;
101.利用光纤将所述目标文件传输至目标数据库,以进行跨网段数据库二进制类型数据的同步。
102.存储介质——任何的各种类型的存储器设备或存储设备。术语“存储介质”旨在包括:安装介质,例如cd

rom、软盘或磁带装置;计算机系统存储器或随机存取存储器,诸如dram、ddr ram、sram、edo ram,兰巴斯(rambus)ram等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。存储介质可以还包括其它类型的存储器或其组合。另外,存储介质可以位于程序在其中被执行的计算机系统中,或者可以位于不同的第二计算机系统中,第二计算机系统通过网络(诸如因特网)连接到计算机系统。第二计算机系统可以提供程序指令给计算机用于执行。术语“存储介质”可以包括可以驻留在不同位置中(例如在通过网络连接的不同计算机系统中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器执行的程序指令(例如具体实现为计算机程序)。
103.当然,本技术实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的跨网段数据库同步操作,还可以执行本技术任意实施例所提供的跨网段数据库同步方法中的相关操作。
104.实施例五
105.本技术实施例提供了一种电子设备,该电子设备中可集成本技术实施例提供的跨网段数据库同步装置。图5是本技术实施例五提供的一种电子设备的结构示意图。如图5所示,本实施例提供了一种电子设备500,其包括:一个或多个处理器520;存储装置510,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器520执行,使得所述一个或多个处理器520实现本技术实施例所提供的跨网段数据库同步方法,该方法包括:
106.获取源数据库中的目标数组;其中,所述目标数组由二进制类型数据构成;
107.按照预设编码格式将所述目标数组转换成目标字符串,并将所述目标字符串保存成目标文件;
108.利用光纤将所述目标文件传输至目标数据库,以进行跨网段数据库二进制类型数据的同步。
109.当然,本领域技术人员可以理解,处理器520还实现本技术任意实施例所提供的跨网段数据库同步方法的技术方案。
110.图5显示的电子设备500仅仅是一个示例,不应对本技术实施例的功能和使用范围带来任何限制。
111.如图5所示,该电子设备500包括处理器520、存储装置510、输入装置530和输出装置540;电子设备中处理器520的数量可以是一个或多个,图5中以一个处理器520为例;电子设备中的处理器520、存储装置510、输入装置530和输出装置540可以通过总线或其他方式连接,图5中以通过总线550连接为例。
112.存储装置510作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块单元,如本技术实施例中的跨网段数据库同步方法对应的程序指令。
113.存储装置510可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储装置510可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置510
可进一步包括相对于处理器520远程设置的存储器,这些远程存储器可以通过网络连接。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
114.输入装置530可用于接收输入的数字、字符信息或语音信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。输出装置540可包括显示屏、扬声器等电子设备。
115.本技术实施例提供的电子设备,可以达到解决跨网段异构数据库不能流传输的问题,以及解决二进制类型数据同步后大小、内容不一致的问题的目的。
116.上述实施例中提供的跨网段数据库同步装置、存储介质及电子设备可执行本技术任意实施例所提供的跨网段数据库同步方法,具备执行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本技术任意实施例所提供的跨网段数据库同步方法。
117.注意,上述仅为本技术的较佳实施例及所运用技术原理。本领域技术人员会理解,本技术不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本技术的保护范围。因此,虽然通过以上实施例对本技术进行了较为详细的说明,但是本技术不仅仅限于以上实施例,在不脱离本技术构思的情况下,还可以包括更多其他等效实施例,而本技术的范围由所附的权利要求范围决定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1