一种单向光闸以及异构数据库间进行数据同步的方法
【专利摘要】本发明涉及一种单向光闸,以及利用该单向光闸实现异构数据库之间同步数据的方法。该单向光闸包括通过单向分光链路连接的发送端和接收端。发送端的异构数据库同步模块将外网数据库中的数据导出并发送至接收端,接收端接收数据并由异构数据库同步模块同步更新到内网数据库。异构数据库同步模块采用JAVA的JDBC数据库驱动技术将常用数据库驱动集成到一起形成驱动池,在连接数据库之前先检测数据库类型和版本,然后选择加载正确的JDBC数据库驱动,再连接到数据库。本发明保证了数据只能从外网传输到内网,解决了数据库厂商差异和版本差异的问题,可以满足用户实际业务的安全数据单向同步需求,具有较高的市场价值。
【专利说明】一种单向光闸以及异构数据库间进行数据同步的方法
【技术领域】
[0001]本发明属于网络【技术领域】,涉及一种单向光闸设备,以及利用该单向光闸设备实现异构数据库之间同步数据的方法。
【背景技术】
[0002]目前很多政府及企事业都建设有外网业务系统和内网业务系统。绝大部分单位的内外网两个系统的数据都是存储在数据库中。出于对安全的考量,这两个网络都是隔离的。随着信息的发展和业务需求的扩展,经常需要把外网的数据同步到内网的数据库中。目前的同步技术存在如下两个方面的问题:
[0003]I)很多系统只是需要把外网数据库数据同步到内网数据库。但是往往使用网闸设备来做数据库隔离同步。然而网闸设备是双向传输设备,因此内网数据存在泄密到外网的风险。
[0004]2)内外网数据库存在不一致的情况,例如数据库发行厂商不同,或者厂商相同却部署的数据库版本不同的问题。这给数据同步带来了很大的难度。
【发明内容】
[0005]本发明的目的是提供一种单向光闸,以及利用该单向光闸设备实现异构数据库之间同步数据的方法,通过封装集成常见的JDBC数据库驱动,和采用基于表的同步策略技术,解决了网闸的泄密问题和异构数据库的数据同步问题。
[0006]为实现上述目的,本发明采用的技术方案如下:
[0007]一种单向光闸,包括发送端和接收端,其间通过单向分光链路连接;
[0008]所述发送端包含:
[0009]异构数据库同步模块,用于将外网数据库中的数据导出,
[0010]数据发送模块,用于将外网数据库中的数据发送至所述接收端;
[0011]所述接收端包含:
[0012]数据接收模块,用于接收所述发送端发来的数据;
[0013]异构数据库同步模块,用于将数据同步更新到内网数据库。
[0014]进一步地,所述单向分光链路包括配置在发送端与接收端的光网卡及带有收发功能TX和RX的多模光模块,发送端与接收端的光模块之间通过分光器连接,分光器的输入端连接到发送端的TX模块,输出端分别连接发送端与接收端的RX模块,整体传输过程不可逆。
[0015]进一步地,所述异构数据库同步模块采用JAVA的JDBC数据库驱动技术将常用数据库驱动集成到一起,形成驱动池。
[0016]进一步地,所述异构数据库同步模块在连接数据库之前先检测数据库类型和版本,然后根据所述驱动池选择加载正确的JDBC数据库驱动,再连接到数据库;连接到数据库后,不同的数据库都支持使用标准的SQL语句对数据库的数据进行操作。[0017]一种采用单向光闸进行异构数据库之间数据同步的方法,其步骤包括:
[0018]I)单向光闸的发送端通过异构数据库同步模块把外网数据库中的数据导出,由数据发送模块通过单向分光链路把数据发送到内网的单向光闸接收端;
[0019]2)单向光闸接收端通过数据接收模块接收光闸发送端发来的数据,并转给异构数据库同步模块,异构数据库同步模块把数据更新到内网数据库,实现数据库单向同步。
[0020]进一步地,所述异构数据库同步模块采用JAVA的JDBC数据库驱动技术将常用数据库驱动集成到一起,形成驱动池。
[0021]进一步地,所述异构数据库同步模块在连接数据库之前先检测数据库类型和版本,然后根据所述驱动池选择加载正确的JDBC数据库驱动,再连接到数据库;连接到数据库后,不同的数据库都支持使用标准的SQL语句对数据库的数据进行操作。
[0022]进一步地,外网的异构数据库同步模块连接到外网数据库后,根据内网数据库目的数据库的表字段来配置外网源数据库表的SQL查询策略。
[0023]进一步地,外网源数据库表有数据更新时,同步查询SQL把更新的数据导出,标记上内网目标表信息后通过数据发送模块发送到内网;内网的数据接收模块把数据转发给内网的异构数据库同步模块,内网的异构数据库同步模块根据目标表信息,把数据更新到内网数据库中,实现数据库外网到内网的同步。
[0024]进一步地,所述驱动池中预置的数据库驱动包括:MYSQL,ORACLE, SYBASE,SQLSERVER, DB2 等。
[0025]与现有技术相比,本发明具有如下优点:
[0026]I)采用单向光闸设备,物理链路上只有从外到内的链路,无从内到外的链路。保证了数据只能从外网传输到内网,内网数据无法传输到外网,杜绝了泄密的风险。
[0027]2)单向光闸集成封装好的统一的JDBC数据库驱动,包括MYSQL,ORACLE, SYBASE,SQL SERVER, DB2等,在外网端光闸应用自有研发的基于表的同步策略技术,彻底解决了数据库厂商差异和版本差异的问题。用户只需要配置JDBC驱动和表数据的同步策略,即可实现不同数据库之间的数据同步问题。
[0028]综上,本发明具有单向安全保证,同时配置简单,可以满足用户实际业务的安全数据单向同步需求,具有较高的市场价值。
【专利附图】
【附图说明】
[0029]图1是实施例中单向光闸的结构示意图。
[0030]图2是实施例中光闸部署网络拓扑结构示意图。
[0031]图3是实施例中单向分光示意图。
[0032]图4是实施例中数据库识别及连接流程示意图
【具体实施方式】
[0033]下面通过具体实施例和附图,对本发明做进一步说明。
[0034]图1是单向光闸的结构的示意图。单向光闸使用单向分光技术来实现物理单向链路的。单向光闸包括发送端和接收端两个部分,光闸发送端包括异构数据库同步模块和数据发送模块。异构数据库同步模块把外网数据库数据导出,由数据发送模块通过单向分光链路把数据发送到内网的光闸接收端。光闸接收端包括数据接收模块和异构数据库同步模块。数据接收模块接收外端即光闸发送端发来的数据,转给异构数据库同步模块,异构数据库同步模块把数据更新到内网数据库,实现数据库单向同步。
[0035]图2是光闸部署网络拓扑结构示意图。如该图所示,光闸部署于非涉密网和涉密网之间。非涉密网即外部网络,包括外网数据库、外网PC终端、外网交换机等设备。涉密网即内部网络,包括内网数据库、内网PC终端、内网交换机等设备。单向光闸通过外网交换机接收外部网络的数据,在单向光闸内部进行单向传输后,经内网交换机将数据更新到内部网络。
[0036]图3是光闸的单向分光示意图。在发送端与接收端各配置一个光网卡及带有收发功能(TX和RX)的多模光模块,发送端与接收端之间通过分光器连接,分光设备的输入端连接到发送端的TX模块,输出端分别连接发送端与接收端的RX模块,整体传输过程不可逆。接收端TX没有物理连接链路,因此杜绝了内网数据泄密到外网的可能。
[0037]单向光闸的异构数据库同步模块实现异构数据库的数据同步功能,其具体实现如下:
[0038]I)该模块采用JAVA的JDBC数据库驱动技术,把常用数据库驱动都集成到一起形成驱动池。图4描述了数据库识别和驱动加载并登录的过程。该模块在连接数据库前,先检测数据库类型和版本,然后选择加载正确的JDBC数据库驱动,再连接到数据库。经过上述步骤,就可以解决外网和内网数据库异构的问题,模块连接到数据库后,不同的数据库都支持使用标准的SQL语句对数据库的数据进行操作。
[0039]使用数据库JDBC驱动池的办法解决了异构数据库之间的连接问题。驱动池中预置了 MYSQL,ORACLE, SYBASE, SQL SERVER, DB2等常见数据库驱动,具有很强的兼容性,支持不同数据库之间的数据同步。图四描述了数据库识别和驱动加载并登录的过程。
[0040]2)光闸外网端的数据库同步模块连接到外网数据库后,根据内网数据库目的数据库的表字段来配置外网源数据库表的SQL查询策略。即用户先确定内网的表的结构,确认表哪些字段将会有数据更新,得到待更新数据的表字段信息后,在外网端光闸根据内网表字段信息生成源表的SQL查询语句。不同的表可以配置生成不同的SQL语句。
[0041]根据内网表字段信息配置外网同步策略的办法既解决了表结构异构情况,也实保证了 SQL语句配置的灵活性。
[0042]3)当有外网源数据库表有数据更新,同步查询SQL把更新的数据导出,标记上内网目标表信息。通过数据发送模块发送到内网。内网数据接收模块把数据转发给内网的异构数据库同步模块,内网异构数据库同步模块根据目标表信息,把数据更新到内网数据库中,最终实现数据库外网到内网的同步。
[0043]本发明使用单向光闸同步数据库,完全杜绝了内网数据库数据的泄密风险。采用JDBC驱动池封装不同数据库驱动,结合内网表字段的配置同步策略解决了数据库异构数据的同步问题。本发明具有单向安全保证,同时配置简单,可以满足用户实际业务的安全数据单向同步需求,具有较高的市场价值。
[0044]以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本发明的保护范围应以权利要求所述为准。
【权利要求】
1.一种单向光闸,其特征在于,包括发送端和接收端,其间通过单向分光链路连接; 所述发送端包含: 异构数据库同步模块,用于将外网数据库中的数据导出, 数据发送模块,用于将外网数据库中的数据发送至所述接收端; 所述接收端包含: 数据接收模块,用于接收所述发送端发来的数据; 异构数据库同步模块,用于将数据同步更新到内网数据库。
2.如权利要求1所述的单向光闸,其特征在于:所述单向分光链路包括配置在发送端与接收端的光网卡及带有收发功能TX和RX的多模光模块,发送端与接收端的光模块之间通过分光器连接,分光器的输入端连接到发送端的TX模块,输出端分别连接发送端与接收端的RX模块,整体传输过程不可逆。
3.如权利要求1所述的单向光闸,其特征在于:所述异构数据库同步模块采用JAVA的JDBC数据库驱动技术将常用数据库驱动集成到一起,形成驱动池。
4.如权利要求3所述的单向光闸,其特征在于:所述异构数据库同步模块在连接数据库之前先检测数据库类型和版本,然后根据所述驱动池选择加载正确的JDBC数据库驱动,再连接到数据库;连接到数据库后,不同的数据库都支持使用标准的SQL语句对数据库的数据进行操作。
5.一种采用单向光闸进行异构数据库之间数据同步的方法,其步骤包括: 1)单向光闸的发送端通过异构数据库同步模块把外网数据库中的数据导出,由数据发送模块通过单向分光链路把数据发送到内网的单向光闸接收端; 2)单向光闸接收端通过数据接收模块接收光闸发送端发来的数据,并转给异构数据库同步模块,异构数据库同步模块把数据更新到内网数据库,实现数据库单向同步。
6.如权利要求5所述的方法,其特征在于:所述异构数据库同步模块采用JAVA的JDBC数据库驱动技术将常用数据库驱动集成到一起,形成驱动池。
7.如权利要求6所述的方法,其特征在于:所述异构数据库同步模块在连接数据库之前先检测数据库类型和版本,然后根据所述驱动池选择加载正确的JDBC数据库驱动,再连接到数据库;连接到数据库后,不同的数据库都支持使用标准的SQL语句对数据库的数据进行操作。
8.如权利要求7所述的方法,其特征在于:外网的异构数据库同步模块连接到外网数据库后,根据内网数据库目的数据库的表字段来配置外网源数据库表的SQL查询策略。
9.如权利要求7所述的方法,其特征在于:外网源数据库表有数据更新时,同步查询SQL把更新的数据导出,标记上内网目标表信息后通过数据发送模块发送到内网;内网的数据接收模块把数据转发给内网的异构数据库同步模块,内网的异构数据库同步模块根据目标表信息,把数据更新到内网数据库中,实现数据库外网到内网的同步。
10.如权利要求6所述的方法,其特征在于:所述驱动池中预置的数据库驱动包括:MYSQL, ORACLE, SYBASE, SQL SERVER, DB2。
【文档编号】G06F17/30GK103714151SQ201310738028
【公开日】2014年4月9日 申请日期:2013年12月26日 优先权日:2013年12月26日
【发明者】刘志强, 陈锐 申请人:北京锐安科技有限公司