一种基于文件的数据库数据双向同步系统及其方法技术方案

技术编号:36983388 阅读:14 留言:0更新日期:2023-03-25 18:02
本公开的基于文件的数据库数据双向同步系统及其方法,通过服务端,所述服务端安装在服务器上,用于同步初始数据库,收集并整合客户端的同步数据,并将整合后的同步数据发送给客户端;客户端,所述客户端安装在终端设备上,用于记录终端设备的本地数据库的数据变更情况,生成客户端同步数据,发送所述客户端同步数据到服务端,同时接收来自服务端的同步数据,根据所述服务端的同步数据同步客户端本地数据库。能够解决离线状态下数据库数据同步存在的同步效率低下和数据安全问题,提高数据同步效率、且同步数据难以被攻击者窃取和被攻击者篡改。者篡改。者篡改。

【技术实现步骤摘要】
一种基于文件的数据库数据双向同步系统及其方法


[0001]本专利技术属于软件
,具体涉及一种基于文件的数据库数据双向同步系统及其方法。

技术介绍

[0002]随着制造业企业信息化的不断发展,终端设备越来越多地应用于生产试验当中,用户可以从服务器实时下载查看生产试验数据,同时填写上报新产生的数据供其他用户使用。但在一些特殊行业,由于安全保密等原因,不允许终端设备使用无线网络,因此只能采用离线式数据同步。现有的同步方法是在将终端设备看作移动存储设备与服务器连接,通过USB的有线方式将数据存储的数据库文件直接拷贝,然后再通过数据对比的方式进行数据同步。由于是拷贝整个数据库后再进行同步,导致数据同步效率低下;同时,USB连接模式下无法对连接的设备进行安全认证,从而使攻击可以利用伪装的方法窃取和篡改数据,造成数据安全问题。

技术实现思路

[0003]本专利技术克服了现有技术的不足之一,提供了一种基于文件的数据库数据双向同步系统及其方法,能够解决离线状态下数据库数据同步存在的同步效率低下和数据安全问题。
[0004]根据本公开的一方面,提出了一种基于文件的数据库数据双向同步系统,所述系统包括:
[0005]服务端,所述服务端安装在服务器上,用于同步初始数据库,收集并整合客户端的同步数据,并将整合后的同步数据发送给客户端;
[0006]客户端,所述客户端安装在终端设备上,用于记录终端设备的本地数据库的数据变更情况,生成客户端同步数据,发送所述客户端同步数据到服务端,同时接收来自服务端的同步数据,根据所述服务端的同步数据同步客户端本地数据库。
[0007]在一种可能的实现方式中,所述服务器为一台,所述终端设备有多台。
[0008]根据本公开的另一方面,提出了一种基于文件的数据库数据双向同步方法,所述方法包括:
[0009]步骤S1:服务端使用加密算法对初始数据库进行加密生成已加密初始数据库,利用服务端签名算法生成所述已加密初始数据库的签名,将所述已加密初始数据库和签名作为初始同步数据发送给客户端;
[0010]步骤S2:客户端利用服务端签名验证算法对所述已加密初始数据库进行验证,若验证结果正确,使用解密算法对已加密初始数据库进行解密得到初始数据库,保存所述初始数据库在终端设备上,作为终端设备本地数据库;
[0011]步骤S3:客户端记录本地数据库变更操作,生成客户端本地数据库操作记录文件,利用整合算法将各客户端本地数据库操作记录文件进行整合,得到客户端数据库变更文
件;
[0012]步骤S4:客户端利用加密算法对所述客户端数据库变更文件进行加密,生成已加密客户端数据库变更文件,利用客户端签名算法生成所述已加密客户端数据库变更文件的签名,将所述已加密客户端数据库变更文件和签名作为客户端同步数据发送给服务端;
[0013]步骤S5:服务端使用客户端签名验证算法对所述已加密客户端数据库变更文件进行验证,若验证结果正确,使用解密算法对所述已加密客户端数据库变更文件进行解密得到各客户端数据库变更文件,利用整合算法将各客户端数据库变更文件进行整合得到服务端数据库变更文件,根据所述服务端数据库变更文件变更本地数据库;
[0014]步骤S6:服务端利用加密算法对服务端数据库变更文件行加密生成已加密服务端数据库变更文件,利用服务端签名算法生成所述已加密服务端数据库变更文件的签名,将所述已加密服务端数据库变更文件和签名作为服务端同步数据发送给客户端;
[0015]步骤S7:客户端利用服务端签名验证算法对所述已加密服务端数据库变更文件进行验证,若验证结果正确,使用解密算法对已加密服务端数据库变更文件进行解密得到服务端数据库变更文件,根据所述服务端数据库变更文件更新客户端数据库变更文件和客户端本地数据库,根据所述服务端数据库变更文件,形成新的客户端数据库变更文件,利用新的客户端数据库变更文件更新本地数据库;
[0016]步骤S8:重复步骤S3

S7,完成服务端和客户端基于文件的数据库数据的双向同步。
[0017]在一种可能的实现方式中,所述加密算法和解密算法使用AES对称加密算法。
[0018]在一种可能的实现方式中,所述服务端签名算法或客户端签名算法包括:
[0019]利用SHA1数据摘要算法计算目标文件的数据摘要值;
[0020]利用RSA非对称加密算法和服务端/客户端的私钥,对所述目标文件的数据摘要值进行签名操作,得到服务端/客户端的目标文件的签名;
[0021]其中,所述目标文件为已加密初始数据库、已加密客户端数据库变更文件或已加密服务端数据库变更文件。
[0022]在一种可能的实现方式中,所述服务端签名验证算法或客户端签名验证算法包括:
[0023]利用RSA非对称加密算法和服务端/客户端的公钥,对服务端/客户端发来的目标文件的签名进行解密,得到数据摘要值;
[0024]采用SHA1数据摘要算法计算目标文件的数据摘要,得到新的数据摘要值;
[0025]如果数据摘要值和新的数据摘要值相同,说明目标文件正确,否则不正确;
[0026]其中,所述目标文件为已加密初始数据库、已加密客户端数据库变更文件或已加密服务端数据库变更文件。
[0027]在一种可能的实现方式中,所述数据库中每条记录包括:唯一标识、创建者、修改者、创建时间、修改时间共5个字段。
[0028]在一种可能的实现方式中,所述数据库变更文件为XML格式;所述数据库变更文件中的每条变更记录包括:所在数据库、所在数据表、所在记录的唯一标识、变更类型、操作时间、操作者、变更内容所在字段、内容变更前值、内容变更后值;所述变更类型包括增加、更改和删除。
[0029]在一种可能的实现方式中,所述整合算法为:如果存在若干条所在数据库、所在数据表、所在记录的唯一标识、变更类型、变更内容所在字段存在相同的变更记录,则仅保留操作时间最近的变更记录。
[0030]在一种可能的实现方式中,将操作者为当前客户端所在设备的变更记录删除后的服务器数据库变更文件作为新的客户端数据库变更文件。
[0031]有益之处:本公开的基于文件的数据库数据双向同步系统及其方法,通过服务端,所述服务端安装在服务器上,用于同步初始数据库,收集并整合客户端的同步数据,并将整合后的同步数据发送给客户端;客户端,所述客户端安装在终端设备上,用于记录终端设备的本地数据库的数据变更情况,生成客户端同步数据,发送所述客户端同步数据到服务端,同时接收来自服务端的同步数据,根据所述服务端的同步数据同步客户端本地数据库。能够解决离线状态下数据库数据同步存在的同步效率低下和数据安全问题,提高数据同步效率、且同步数据难以被攻击者窃取和被攻击者篡改。
附图说明
[0032]附图用来提供对本申请的技术方案或现有技术的进一步理解,并且构成说明书的一部分。其中,表达本申请实施例的附图与本申请的实施例一起用于解释本申请的技术方本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于文件的数据库数据双向同步系统,其特征在于,所述系统包括:服务端,所述服务端安装在服务器上,用于同步初始数据库,收集并整合客户端的同步数据,并将整合后的同步数据发送给客户端;客户端,所述客户端安装在终端设备上,用于记录终端设备的本地数据库的数据变更情况,生成客户端同步数据,发送所述客户端同步数据到服务端,同时接收来自服务端的同步数据,根据所述服务端的同步数据同步客户端本地数据库。2.根据权利要求1所述的数据库数据双向同步系统,其特征在于,所述服务器为一台,所述终端设备有多台。3.一种基于文件的数据库数据双向同步方法,其特征在于,所述方法包括:步骤S1:服务端使用加密算法对初始数据库进行加密生成已加密初始数据库,利用服务端签名算法生成所述已加密初始数据库的签名,将所述已加密初始数据库和签名作为初始同步数据发送给客户端;步骤S2:客户端利用服务端签名验证算法对所述已加密初始数据库进行验证,若验证结果正确,使用解密算法对已加密初始数据库进行解密得到初始数据库,保存所述初始数据库在终端设备上,作为终端设备本地数据库;步骤S3:客户端记录本地数据库变更操作,生成客户端本地数据库操作记录文件,利用整合算法将各客户端本地数据库操作记录文件进行整合,得到客户端数据库变更文件;步骤S4:客户端利用加密算法对所述客户端数据库变更文件进行加密,生成已加密客户端数据库变更文件,利用客户端签名算法生成所述已加密客户端数据库变更文件的签名,将所述已加密客户端数据库变更文件和签名作为客户端同步数据发送给服务端;步骤S5:服务端使用客户端签名验证算法对所述已加密客户端数据库变更文件进行验证,若验证结果正确,使用解密算法对所述已加密客户端数据库变更文件进行解密得到各客户端数据库变更文件,利用整合算法将各客户端数据库变更文件进行整合得到服务端数据库变更文件,根据所述服务端数据库变更文件变更本地数据库;步骤S6:服务端利用加密算法对服务端数据库变更文件行加密生成已加密服务端数据库变更文件,利用服务端签名算法生成所述已加密服务端数据库变更文件的签名,将所述已加密服务端数据库变更文件和签名作为服务端同步数据发送给客户端;步骤S7:客户端利用服务端签名验证算法对所述已加密服务端数据库变更文件进行验证,若验证结果正确,使用解密算法对已加密服务端数据库变更文件进行解密得到服务...

【专利技术属性】
技术研发人员:陈漠连彦泽张豪黄河陈建伟周智力张庆民王林强陈旭东吴步祺王占彬张旭孟超王栋良石旸白剑
申请(专利权)人:中国运载火箭技术研究院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1