CN113590639A - 一种网闸隔离的数据库之间数据同步方法 - Google Patents
一种网闸隔离的数据库之间数据同步方法 Download PDFInfo
- Publication number
- CN113590639A CN113590639A CN202110871936.1A CN202110871936A CN113590639A CN 113590639 A CN113590639 A CN 113590639A CN 202110871936 A CN202110871936 A CN 202110871936A CN 113590639 A CN113590639 A CN 113590639A
- Authority
- CN
- China
- Prior art keywords
- data
- export
- sql
- database
- import
- 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 51
- 230000008676 import Effects 0.000 claims abstract description 65
- 238000012544 monitoring process Methods 0.000 claims abstract description 27
- 230000002159 abnormal effect Effects 0.000 claims abstract description 20
- 230000008859 change Effects 0.000 claims abstract description 19
- 230000008569 process Effects 0.000 claims abstract description 19
- 238000004519 manufacturing process Methods 0.000 claims description 44
- 230000001360 synchronised effect Effects 0.000 claims description 17
- 238000012423 maintenance Methods 0.000 claims description 10
- 238000012217 deletion Methods 0.000 claims description 3
- 230000037430 deletion Effects 0.000 claims description 3
- 230000002457 bidirectional effect Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 230000006837 decompression Effects 0.000 description 3
- 239000000047 product Substances 0.000 description 3
- 238000013481 data capture Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
Images
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/23—Updating
- G06F16/2358—Change logging, detection, and notification
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/275—Synchronous replication
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6227—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种网闸隔离的数据库之间数据同步方法,包括,数据库监听数据表的数据变化并记录到监听中间表或数据导出表中;基于作业调度和存储过程,将监听中间表的数据解析为SQL语句,并同步至数据导出表中,以及,将数据导出表中的数据转换为第一导出文件;将第一导出文件通过隔离的数据交换保存至另一个系统;另一个系统基于作业调度或人为操作将第一导出文件转换为SQL语句,导入SQL语句并记录导入信息,从而实现数据同步;本发明提出的网闸隔离的数据库之间数据同步方法,保证了数据的安全性和可靠性,适配市面上的关系型数据库,跟踪导入导出信息,对异常的导入进行修改并重新执行,避免大量问题SQL导入导致的数据出现死锁。
Description
技术领域
本发明涉及数据库领域,尤其涉及一种网闸隔离的数据库之间数据同步方法。
背景技术
运用涉及关键技术的产品制造厂商,由于生产过程中生产数据涉及高级别的商业机密甚至国家机密,所以一般将智能制造系统通过网闸拆分为专网和工控网两套独立的系统当中进行运维。其中专网制造系统主要负责涉及机密的人员信息、涉密生产基础数据以及涉密的其他车间生产数据的录入;工控网制造系统主要负责正式产品生产线生产数据的录入以及工控网内部业务流程流转数据的录入。两套系统虽然被网闸隔离相互独立,但两套系统间又相辅相成、互相依赖。
现有的数据同步方式主要有三种:1)通过接口实现数据同步;2)通过EXCEL数据导入实现数据同步;3)通过数据库导入实现数据同步。
采用EXCEL数据导入,在制造系统当中存在许多业务互相关联的数据,直接通过EXCEL实现数据同步容错性低,容易因为业务单据关联数据导入不全导致智能制造系统当中的由于数据有误而无法实现业务流转。且EXCEL导入需要大量的EXCEL导出模版,大型数据库的EXCEL导出量大,同时导入的时候容易出现数据库死锁导致智能制造系统效率降低等问题。
数据库导入,市面上拥有很多数据库产品,同一个厂商通过网闸相互隔离的两个智能制造系统存在使用不同数据库管理系统的场景,数据库导入需要根据不同数据库对导出的数据库文件进行转换,转换操作麻烦且容易引起数据丢失。在网闸隔离的不同智能制造系统还存在各自独立的业务流程,若直接使用数据库导入容易将制造系统各自的业务流程产生的数据覆盖导致数据流失的问题。
发明内容
本发明为了克服以上技术的不足,提供了一种网闸隔离的数据库之间数据同步方法,应用于被网闸隔绝的独立的,但需要进行部分基础数据以及业务数据同步的智能制造系统,通过触发监听数据变化,系统将变化数据的SQL语句导出加密并压缩,并将加密压缩后的SQL导入导出实现智能制造系统间的数据同步。
本发明克服其技术问题所采用的技术方案是:
本发明提出的一种网闸隔离的数据库之间数据同步方法,应用于设置网闸的智能制造系统,所述智能制造系统通过网闸至少隔离为两个独立运维的第一系统和第二系统,其中,第一系统基于第一数据库运维,第二系统基于第二数据库运维,所述方法包括如下步骤:第一/二系统数据库监听数据表的数据变化并记录到监听中间表/数据导出表当中;若将数据表的数据变化记录到监听中间表中,则将监听中间表的数据解析为SQL语句,并同步至数据导出表中;基于数据库作业调度和存储过程,将数据导出表中未导出的数据转换为第一导出文件;将第一/二系统的第一导出文件保存在第一目录,并通过隔离的数据交换保存至第二/一系统的第二目录;第二/一系统基于作业调度或人为操作将第一导出文件转换为SQL语句,导入SQL语句并记录导入信息;第二/一系统基于第一导出文件确定导入的数据是否存在,若存在,则执行SQL语句实现数据同步,否则,记录对应的SQL语句以及异常操作至第二/一数据库的数据导入表。
进一步的,若将数据表的数据变化记录到监听中间表中,将监听中间表的数据解析为SQL语句,并同步至数据导出表中,具体包括:基于作业调度定时调用存储过程,将监听中间表中的数据解析为插入/修改/删除的SQL语句;将解析后的SQL语句插入到数据导出表中,将数据导出表中更新的数据标记为未导出数据。
进一步的,基于数据库作业调度和存储过程,将数据导出表中未导出的数据转换为第一导出文件,具体包括:基于3DES加密将标记为未导出的数据加密写入文本文件;并将文本文件压缩为压缩文件作为第一导出文件。
采用3DES加密算法写入文本文件后压缩成压缩文件,保证了信息的安全性和可靠性。
进一步的,所述第二/一系统基于作业调度或人为操作将第一导出文件转换为SQL语句,导入SQL语句并记录导入信息,具体包括:所述第二/一系统基于作业调度定时查询第二目录或者人为操作同步第一导出文件,从而将保存至将第二目录下的第一导出文件解密解压缩为文本文件,其中文本文件至少包括同步数据量以及同步数据信息,作业调度至少包括Spring作业调度或Windows作业调度,所述同步数据信息至少包括同步的数据表名,数据操作类型,主键ID以及SQL语句;将文本文件解析为SQL语句;导入SQL语句以及记录SQL的导入信息,其中导入信息至少包括导入的文件名,导入时间,导入状态,导入人以及导入的SQL明细数据。
记录所有导入导出信息,方便执行数据同步的相关人员跟踪问题,以及查看导入导出情况。
进一步的,第二/一系统基于第一导出文件确定导入的数据是否存在,若存在,则执行SQL语句实现数据同步,否则,记录对应的SQL语句以及异常操作至第二/一数据库的数据导入表,具体包括:基于第一导出文件解密解压缩后的文本文件中的数据表名、操作类型以及主键ID确定导入的数据是否存在,若操作类型为新增,则基于数据表名和/或主键ID查询数据是否存在,若数据表名和/或主键ID已存在,则不执行SQL语句,并将对应的SQL语句以及异常操作记录到数据导入表中;若数据表名及主键ID不存在,执行SQL语句,从而实现数据同步。
避免对不必要的数据重复导入。
进一步的,导入SQL语句以及记录SQL的导入信息,具体包括:导入SQL语句记录同步数据量以及所有导入SQL语句,并逐条执行SQL语句;若SQL语句执行异常,不回滚导入的SQL语句的操作,并将SQL语句,SQL语句执行情况,SQL是否异常以及异常信息记录到数据导入表。
进一步的,还包括基于数据导入表和数据导出表,对导入导出失败的SQL语句可以进行再次编辑并重新导入导出。
方便执行数据同步的相关人员跟踪问题,也可以方便操作人员根据实际情况修改SQL重新执行或者是忽略改问题SQL,以此避免数据导入的时候大量问题SQL导入导致数据出现死锁等问题。
进一步的,所述第一/二数据库为SQLSERVER数据库或国产达梦数据库。
进一步的,第一/二数据库监听数据表的数据变化并记录到监听中间表/数据导出表当中,具体包括:若第一数据库和/或第二数据库为国产达梦数据库,则国产达梦数据库基于表级触发器监听数据表中数据增加或删除或更新,并记录数据导出表中;若第一数据库和/或第二数据库为SQLSERVER,则基于SQLSERVER CDC监听数据表的数据增加或删除或更新,并记录到监听中间表中。
进一步的,若国产达梦数据库基于表级触发器监听数据表中数据更新,则比较更新操作前后数据,若更新前后数据无区别,则不记录到数据导出表中;若SQLSERVER基于SQLSERVER CDC监听数据表中数据更新,通过存储过程对比新老数据的区别,若无差异则不更新到监听中间表中。
对于数据更新前后进行数据比对,避免对不必要的数据进行操作。
本发明的有益效果是:
1、用SQLSERVER CDC技术和达梦数据库的表级触发器技术分别实时对应数据库的数据变化监听。
2、针对数据监听到有更新操作,对新老数据进行比较,避免数据导入的时候对不必要的数据重复导入。
3、将增删改操作产生的数据变化用SQL语句导出,导入的时候直接执行相应的SQL语句,能够适配了市面上大部分的关系型数据库;
4、将导出的SQL语句利用3DES加密算法技术加密写入文本文件后压缩成压缩文件,保证了信息的安全性和可靠性;
5、对导入导出信息进行跟踪,方便执行数据同步的相关人员跟踪导出数据和数据导入情况的相关问题,并能够对异常导入SQL进行修改重新执行导入操作。
6、对单向网闸和双向网闸数据流通的异常情况进行处理,特别是针对主键ID进行重复检测,避免数据导入的时候大量问题SQL导入导致数据出现死锁等问题。
附图说明
图1为本发明网闸隔离的数据库之间数据同步方法实施例流程图;
图2为本发明实施例的网闸隔离的数据库之间数据同步实现流程图
图3为本发明实施例的数据导入导出实现流程示意图;
具体实施方式
为了便于本领域人员更好的理解本发明,下面结合附图和具体实施例对本发明做进一步详细说明,下述仅是示例性的不限定本发明的保护范围。
为了更好的理解本申请的技术方案,首先对本申请中一些专业术语进行说明。
智能制造系统:面向制造企业车间执行层的生产信息化管理系统
SQLSERVER CDC:变更数据捕获(Change Data Capture,简称CDC),变更数据捕获记录SQL Server表的插入、更新和删除活动。SQLServer的操作会写日志,这也是CDC捕获数据的来源。开启cdc的源表在插入、更新和删除活动时会插入数据到日志表中。cdc通过捕获进程将变更数据捕获到变更表中,通过cdc提供的查询函数,我们可以捕获这部分数据。
网闸:两个独立的主机系统通过网闸进行隔离,使系统间不存在通信的物理连接、逻辑连接及信息传输协议,不存在依据协议进行的信息交换,而只有以数据文件形式进行的无协议摆渡。
单向网闸:为保证高密级别网络中的数据不能流向低密级网络,但低密级网络中的数据可以流向高密级网络。
双向网闸:高密级别网络和低密级别中的数据可以进行隔离的数据交换。
3DES:三重数据加密算法。
SQL语句:结构化查询语句,用于存取数据以及查询、更新和管理关系数据库系统。
如图1所示,为本发明的一种网闸隔离的数据库之间数据同步方法的流程图,应用于设置网闸的智能制造系统,智能制造系统通过网闸至少隔离为两个独立运维的第一系统和第二系统,其中,第一系统基于第一数据库运维,第二系统基于第二数据库运维。
若第一/第二数据库为SQLSERVER数据库,利用SQLSERVER CDC技术实时监听数据表的数据变化并记录到数据库监听表当中,通过数据库作业调度和存储过程获取监听到的数据变化,判断数据是否需要导出,然后将需要导出的数据解析为SQL语句记录到数据导出表;
若第一/二系统数据库为达梦数据库,利用表级触发器实时监听数据表的数据变化,数据更新的时候比较更新前后的数据信息,判断该更新数据是否需要导出,将要导出的数据解析成为SQL语句记录至数据导出表中,以及,将数据导出表中未导出的数据通过3DES加密算法进行加密操作转换为第一导出文件并将数据状态改成“已导出”,从而防止数据的重复导出。
将第一/二系统的第一导出文件压缩并保存在第一/二系统的第一目录,并通过隔离的数据交换保存至第二/一系统的第二目录;第二/一系统基于Spring作业调度或者人为操作事件去读取第二/一系统的第二目录当中的导入文件,解压缩后读取文件,将加密的文件的内容解密成相应的SQL语句,执行相应的SQL语句并将执行记录记录到导入信息表当中;第二/一系统数据库基于解压缩解密后的第一文件当中的SQL判断新增的数据是否存在,确定是否执行SQL语句,若存在新增数据,则执行SQL语句实现数据同步,否则,记录相应的SQL语句以及异常操作至第二/一数据库的数据导入表。
如图2所示,为实现数据同步过程的示意图。两个独立的制造系统通过数据库监听数据变化,系统将变化数据的SQL语句导出加密并压缩成压缩文件,通过加密压缩的SQL文件导入导出实现智能制造系统间的数据同步。
下面结合具体实施例说明本发明的一种网闸隔离的数据库之间数据同步方法。
如图3所示,智能智造系统通过设置单向网闸或者双向网闸划分为独立的制造系统A和制造系统B,制造系统A和制造系统B的网络独立,接口独立。
在本发明的一个实施例中,制造系统A采用SQLSERVER数据库,智能系统B采用达梦数据库,并将制造系统A中对数据的更改同步到制造系统B。
制造系统A的SQLSERVER对生产基础数据、生产数据、检验数据、出入库数据等数据进行增删改的操作,SQLSERVER数据库利用SQLSERVER CDC技术实时监听开启CDC的数据表当中的数据增删改操作,并将操作相关的SQL语句记录到监听中间表当中。
制造系统B的达梦数据库通过数据表的表级触发器监听开启触发器的数据表当中的数据增删改操作,并将操作相关的SQL语句记录到监听中间表当中。
SQLSERVER数据库的SQLSERVER CDC技术在开启需要进行捕获数据变化表的CDC功能后,数据库会自动生成cdc.dbo_开启CDC功能的表名_CT表,根据表中字段[__$operate]对比做更新操作的旧数据与新数据,通过存储过程比对新老数据的区别,若无差异则不更新到监听中间表当中。
数据库利用作业调度定时调用存储过程将监听中间表的数据解析出操作表、操作SQL语句等信息并更新到数据同步导出表当中并将导入状态标记成为未导出。
制造系统A的SQLSERVER开启调度任务定时将数据同步导出表中被标记未导出的数据,利用3DES加密技术将操作数据信息加密写入文本当中并压缩成为压缩文件到指定目录下。
将导出的加密压缩文件通过可移动存储介质传送到制造系统B下执行导入的指定目录下,制造系统B的通过调度任务定时查询导入的文件夹,将未导入的数据进行解密解压缩。
在一些实施方式中,可移动存储介质可以是光盘,保密U盘。
网络2下制造系统B的达梦数据库对解密解压缩的文件进行解析并执行文件当中的操作SQL语句,并将执行的SQL语句以及语句执行情况记录到系统当中。网络2下的制造系统B对导入的数据SQL逐条进行执行,从而实现了系统A向系统B的单向网闸数据同步。
在一些实施方式中,如果遇到问题SQL语句不会将所有SQL语句回滚,而是回滚问题SQL并记录问题SQL语句、所有SQL和所有SQL执行情况、是否异常SQL以及异常信息。操作人员可以通过记录可以查看到所有问题SQL并能够将问题SQL进行重新编辑并执行,保证数据的正确性。
在一些实施方式中,系统A和系统B之间设置了双向网闸需进行数据同步,系统A新增数据,系统A的SQLSERVER数据库利用SQLSERVER CDC技术实时监听开启CDC的数据表当中的数据增加操作,并将操作相关的SQL语句记录到监听中间表中,SQLSERVER数据库利用作业调度定时将监听中间表的数据解析为插入SQL语句,将解析后的SQL语句插入到数据导出表中,并将数据导出表中更新的数据标记为未导出数据,基于3DES加密将未导出的数据加密写入文本文件,并将文本文件压缩为压缩文件作为第一导出文件用于数据同步。
其中,同步的数据包括同步的数据表名、操作类型、主键ID以及SQL语句,系统B根据数据表名、操作类型以及主键ID。
通过人为或者任务调度第一导出文件导入可移动存储介质,通过可移动存储介质,将第一导出文件保存到系统B的第二目录。系统B通过定时查询第二目录,获得第一导出文件,并将第一导出文件解密解压缩后得到文本文件,并解析为SQL语句。当操作类型为新增,则判断数据表名或者是主键ID查询新增数据是否已经存在,如果不存在则执行SQL语句,并执行相应的新增数据任务操作。如果存在则不继续执行,并将异常信息记录保存至数据导出表中。
这种方式是为了解决双向网闸数据同步时发生的重复同步数据的异常情况。系统A发生的新增数据,同步至系统B后,系统B也会同步新增数据,系统B也会生产一个主键ID相同的数据包,并生产同步文件,如果系统A收到这个同步文件,根据主键ID进行判断,对同一主键ID的SQL文件不进行处理,避免了重复同步。
在一些实施方式中,需要系统A和系统B的数据均进行更改,通过网闸进行双向同步,还未进行数据同步时,系统A新增一条数据,系统B新增一条数据,两个系统生成的同步文件中的主键ID一样,则在数据同步过程中,那就需要后续人工干预进行,对主键ID进行修改。
在一些实施方式中,系统A和系统B的所有导出信息,都记录导出人、导出数据条数以及导出时间等信息,导入SQL也记录导入的文件名、导入时间、导入状态、导入人以及导入的SQL明细数据。方便执行数据同步的相关人员跟踪问题。
在一些实施方式中,如果在数据导入的过程,出现不执行SQL语句,则将异常的SQL记录到输入导入表中,后续可以方便操作人员根据实际情况修改SQL重新执行或者是忽略改问题SQL,以此避免数据导入的时候大量问题SQL导入导致数据出现死锁等问题。
在一些实施方式中,如果系统A中对数据进行了修改,但是未对修改数据进行保存,实际数据未发生变化,当SQLSERVER CDC触发器监听到数据表当中的数据为更新操作时,对比新老数据的区别,若无区别则不更新该操作记录到监听中间表,避免对不必要的数据进行操作。
以上仅描述了本发明的基本原理和优选实施方式,本领域人员可以根据上述描述做出许多变化和改进,这些变化和改进应该属于本发明的保护范围。
Claims (10)
1.一种网闸隔离的数据库之间数据同步方法,其特征在于,应用于设置网闸的智能制造系统,所述智能制造系统通过网闸至少隔离为两个独立运维的第一系统和第二系统,其中,第一系统基于第一数据库运维,第二系统基于第二数据库运维,所述方法包括如下步骤:
第一/二系统数据库监听数据表的数据变化并记录到监听中间表/数据导出表当中;
若将数据表的数据变化记录到监听中间表中,则将监听中间表的数据解析为SQL语句,并同步至数据导出表中;
基于数据库作业调度和存储过程,将数据导出表中未导出的数据转换为第一导出文件;
将第一/二系统的第一导出文件保存在第一目录,并通过隔离的数据交换保存至第二/一系统的第二目录;
第二/一系统基于作业调度或人为操作将第一导出文件转换为SQL语句,导入SQL语句并记录导入信息;
第二/一系统基于第一导出文件确定导入的数据是否存在,若导入的数据存在,则执行SQL语句实现数据同步,否则,记录对应的SQL语句以及异常操作至第二/一数据库的数据导入表。
2.根据权利要求1所述的网闸隔离的数据库之间数据同步方法,其特征在于,若将数据表的数据变化记录到监听中间表中,将监听中间表的数据解析为SQL语句,并同步至数据导出表中,具体包括:
基于作业调度定时调用存储过程,将监听中间表中的数据解析为插入/修改/删除的SQL语句;
将解析后的SQL语句插入到数据导出表中,将数据导出表中更新的数据标记为未导出数据。
3.根据权利要求2所述的网闸隔离的数据库之间数据同步方法,其特征在于,基于数据库作业调度和存储过程,将数据导出表中未导出的数据转换为第一导出文件,具体包括:
基于3DES加密将标记为未导出的数据加密写入文本文件;
并将文本文件压缩为压缩文件作为第一导出文件。
4.根据权利要求1所述的网闸隔离的数据库之间数据同步方法,其特征在于,所述第二/一系统基于作业调度或人为操作将第一导出文件转换为SQL语句,导入SQL语句并记录导入信息,具体包括:
所述第二/一系统基于作业调度定时查询第二目录或者人为操作同步第一导出文件,从而将保存至将第二目录下的第一导出文件解密解压缩为文本文件,其中文本文件至少包括同步数据量以及同步数据信息,作业调度至少包括Spring作业调度或Windows作业调度,所述同步数据信息至少包括同步的数据表名,数据操作类型,主键ID以及SQL语句;
将文本文件解析为SQL语句;
导入SQL语句以及记录SQL的导入信息,其中导入信息至少包括导入的文件名,导入时间,导入状态,导入人以及导入的SQL明细数据。
5.根据权利要求4所述的网闸隔离的数据库之间数据同步方法,其特征在于,第二/一系统基于第一导出文件确定导入的数据是否存在,若存在,则执行SQL语句实现数据同步,否则,记录对应的SQL语句以及异常操作至第二/一数据库的数据导入表,具体包括:
基于第一导出文件解密解压缩后的文本文件中的数据表名、操作类型以及主键ID确定导入的数据是否存在,
若操作类型为新增,则基于数据表名和/或主键ID查询数据是否存在,
若数据表名和/或主键ID已存在,则不执行SQL语句,并将对应的SQL语句以及异常操作记录到数据导入表中;
若数据表名及主键ID不存在,执行SQL语句,从而实现数据同步。
6.根据权利要求4所述的网闸隔离的数据库之间数据同步方法,其特征在于,导入SQL语句以及记录SQL的导入信息,具体包括:
导入SQL语句记录同步数据量以及所有导入SQL语句,并逐条执行SQL语句;
若SQL语句执行异常,不回滚导入的SQL语句的操作,并将SQL语句,SQL语句执行情况,SQL是否异常以及异常信息记录到数据导入表。
7.根据权利要求1所述的网闸隔离的数据库之间数据同步方法,其特征在于,还包括基于数据导入表和数据导出表,对导入导出失败的SQL语句可以进行再次编辑并重新导入导出。
8.根据权利要求1-7任一项所述的网闸隔离的数据库之间数据同步方法,其特征在于,所述第一/二数据库为SQLSERVER数据库或国产达梦数据库。
9.根据权利要求8所述的网闸隔离的数据库之间数据同步方法,其特征在于,第一/二数据库监听数据表的数据变化并记录到监听中间表/数据导出表当中,具体包括:
若第一数据库和/或第二数据库为国产达梦数据库,则国产达梦数据库基于表级触发器监听数据表中数据增加或删除或更新,并记录数据导出表中;
若第一数据库和/或第二数据库为SQLSERVER,则基于SQLSERVER CDC监听数据表的数据增加或删除或更新,并记录到监听中间表中。
10.根据权利要求9所述的网闸隔离的数据库之间数据同步方法,其特征在于,还包括:若国产达梦数据库基于表级触发器监听数据表中数据更新,则比较更新操作前后数据,若更新前后数据无区别,则不记录到数据导出表中;若SQLSERVER基于SQLSERVER CDC监听数据表中数据更新,通过存储过程对比新老数据的区别,若无差异则不更新到监听中间表中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110871936.1A CN113590639A (zh) | 2021-07-30 | 2021-07-30 | 一种网闸隔离的数据库之间数据同步方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110871936.1A CN113590639A (zh) | 2021-07-30 | 2021-07-30 | 一种网闸隔离的数据库之间数据同步方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113590639A true CN113590639A (zh) | 2021-11-02 |
Family
ID=78252687
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110871936.1A Pending CN113590639A (zh) | 2021-07-30 | 2021-07-30 | 一种网闸隔离的数据库之间数据同步方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113590639A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113988025A (zh) * | 2021-12-28 | 2022-01-28 | 天津联想协同科技有限公司 | 协同处理文档的发送、传输、接收方法、装置及系统 |
CN114785807A (zh) * | 2022-03-16 | 2022-07-22 | 深信服科技股份有限公司 | 一种数据处理方法、装置、电子设备及存储介质 |
CN116319035A (zh) * | 2023-03-23 | 2023-06-23 | 北京安盟信息技术股份有限公司 | 一种防火墙连接状态同步方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109254950A (zh) * | 2018-09-27 | 2019-01-22 | 贵州华云创谷科技有限公司 | 一种基于二维码的隔离网间数据库摆渡方法及系统 |
CN110019524A (zh) * | 2017-12-01 | 2019-07-16 | 北京京穗蓝盾信息安全技术有限公司 | 基于触发器sql文件的隔离网闸数据库同步技术 |
WO2020147392A1 (zh) * | 2019-01-16 | 2020-07-23 | 平安科技(深圳)有限公司 | 数据库之间的数据同步方法和系统 |
CN112506947A (zh) * | 2020-12-04 | 2021-03-16 | 舒刚勇 | 一种基于隔离网闸的异构数据库同步系统 |
-
2021
- 2021-07-30 CN CN202110871936.1A patent/CN113590639A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110019524A (zh) * | 2017-12-01 | 2019-07-16 | 北京京穗蓝盾信息安全技术有限公司 | 基于触发器sql文件的隔离网闸数据库同步技术 |
CN109254950A (zh) * | 2018-09-27 | 2019-01-22 | 贵州华云创谷科技有限公司 | 一种基于二维码的隔离网间数据库摆渡方法及系统 |
WO2020147392A1 (zh) * | 2019-01-16 | 2020-07-23 | 平安科技(深圳)有限公司 | 数据库之间的数据同步方法和系统 |
CN112506947A (zh) * | 2020-12-04 | 2021-03-16 | 舒刚勇 | 一种基于隔离网闸的异构数据库同步系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113988025A (zh) * | 2021-12-28 | 2022-01-28 | 天津联想协同科技有限公司 | 协同处理文档的发送、传输、接收方法、装置及系统 |
CN114785807A (zh) * | 2022-03-16 | 2022-07-22 | 深信服科技股份有限公司 | 一种数据处理方法、装置、电子设备及存储介质 |
CN116319035A (zh) * | 2023-03-23 | 2023-06-23 | 北京安盟信息技术股份有限公司 | 一种防火墙连接状态同步方法及装置 |
CN116319035B (zh) * | 2023-03-23 | 2023-09-19 | 北京安盟信息技术股份有限公司 | 一种防火墙连接状态同步方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210089502A1 (en) | Application-aware and remote single instance data management | |
US9262248B2 (en) | Log configuration of distributed applications | |
WO2022126974A1 (zh) | 基于Kafka的增量数据同步方法、装置、设备及介质 | |
US8219524B2 (en) | Application-aware and remote single instance data management | |
US8799225B2 (en) | Process and system for auditing database activity | |
CN110879813A (zh) | 一种基于二进制日志解析的MySQL数据库增量同步实现方法 | |
CN105183860B (zh) | 数据同步方法和系统 | |
CN113590639A (zh) | 一种网闸隔离的数据库之间数据同步方法 | |
CN111563130A (zh) | 一种基于区块链技术的数据可信数据治理方法和系统 | |
CN104717085A (zh) | 一种日志解析方法及装置 | |
CN106802905B (zh) | 一种同构plm系统的协同数据交换方法 | |
CN110837535A (zh) | 数据同步的方法、装置、设备和介质 | |
KR20190063835A (ko) | 인-메모리 데이터베이스의 실시간 데이터 변경 처리 시스템 | |
CN107491558B (zh) | 元数据更新方法及装置 | |
US9047354B2 (en) | Statement categorization and normalization | |
CN109902070B (zh) | 一种面向WiFi日志数据的解析存储搜索方法 | |
US20220413971A1 (en) | System and Method for Blockchain Based Backup and Recovery | |
CN112015463B (zh) | 一种配置版本管理装置及其工作方法 | |
KR101191832B1 (ko) | 네트워크 패킷 분석을 통한 데이터베이스 복제 방법 및 시스템 | |
KR100935831B1 (ko) | 복수의 이벤트 식별자가 포함된 데이타구조체를 이용한 데이타동기화 방법 및 상기 방법을 이용한 데이타 백업솔루션 | |
US20070266061A1 (en) | Data Multiplexing System | |
CN107168822B (zh) | Oracle streams的异常修复系统及方法 | |
CN110222169A (zh) | 一种可视化数据处理解析系统及其处理方法 | |
CN113342890A (zh) | 一种实现跨安全隔离网闸数据库实时同步的方法及系统 | |
CN113239005A (zh) | 一种电力监控系统i、iv区数据同步方法及装置 |
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 |