CN112732839A - 一种数据同步方法及装置 - Google Patents
一种数据同步方法及装置 Download PDFInfo
- Publication number
- CN112732839A CN112732839A CN202110087706.6A CN202110087706A CN112732839A CN 112732839 A CN112732839 A CN 112732839A CN 202110087706 A CN202110087706 A CN 202110087706A CN 112732839 A CN112732839 A CN 112732839A
- Authority
- CN
- China
- Prior art keywords
- data
- data block
- database
- client
- synchronization
- 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.)
- Granted
Links
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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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/602—Providing cryptographic facilities or services
-
- 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
-
- 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/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供一种数据同步方法及装置,该方法包括:将数据库中的数据封装成数据块;将所述数据块存储在中转数据库中;将所述中转数据库中的数据块同步至客户端。本发明中,通过将数据写入到各个块中,并引用中转数据库,形成服务端与客户端的数据同步,保证了数据同步的灵活性和安全性。
Description
技术领域
本发明涉及数据同步领域,尤其涉及一种数据同步方法及装置。
背景技术
随着网络搜索量的迅猛增长,人类的活动越来越依赖于数据,这也使得数据同步变得更加复杂,保密性要求更高。目前数据同步比较常见的技术比如通过发布或订阅的方式实现同步,可以快速的实现数据的备份同步,并且无需编写代码;但该类处理方案存在一些问题,比如对于同步双方的表结构要求必须一致,否则即需要重新生成数据库快照,并且对于大数据量的同步也不能有可靠的保证;此外,在网络波动的情况下也难以保证数据的准确性,以及无法进行加密和校验等安全保护行为。
发明内容
本发明实施例提供了一种数据同步方法及装置,用于解决现有技术中在数据同步时无法保证数据的准确性与安全性的问题。
为了解决上述问题,本发明是这样实现的:
第一方面,本发明实施例提供了一种数据同步方法,应用于服务端,所述方法包括:
将数据库中的数据封装成数据块;
将所述数据块存储在中转数据库中;
将所述中转数据库中的数据块同步至客户端。
可选的,将所述中转数据库中的数据块同步至客户端,包括:
将所述中转数据库中的数据块传输至外置存储设备,以通过所述外置存储设备同步至所述客户端。
可选的,将所述中转数据库中的数据块同步至客户端,包括:
启动同步服务,并初始化服务端配置;
与客户端进行双向认证;
认证成功后,接收所述客户端发送的数据块同步请求;
若所述数据块同步请求中的数据块存在,则将所述数据块同步至所述客户端;
若所述数据块同步请求中的数据块不存在,则进行数据块不存在提示并报错。
第二方面,本发明实施例提供了一种数据同步方法,应用于客户端,所述方法包括:
获取服务端的中转数据库中的数据块;
采用获取到的数据块,同步本地数据库中的数据。
可选的,所述采用获取到的数据块,同步本地数据库中的数据,包括:
启动同步服务,并初始化本地配置;
读取外置存储设备中的中转数据库中的数据块;
解压所述数据块,得到第一数据块文件;
从所述第一数据块文件的起始节点数据开始对所述第一数据块文件进行解析同步,所述起始节点数据为所述第一数据块文件的第一个数据,或者,所述第一数据块文件的上次同步的完结节点数据的下一个节点数据,得到解析后的数据。
可选的,所述采用获取到的数据块,同步本地数据库中的数据,包括:
启动定时同步连接服务,并初始化所述客户端配置;
与服务端进行双向认证;
认证成功后,与所述服务端建立连接;
向所述服务端发送数据块同步请求,请求待同步的数据块;
接收所述服务端通过中转数据库发送的所述待同步的数据块;
解压所述待同步的数据块,得到第一数据块文件;
从所述第一数据块文件的起始节点数据开始对所述第一数据块文件进行解析同步,所述起始节点数据为所述第一数据块文件的第一个数据,或者,所述第一数据块文件的上次同步的完结节点数据的下一个节点数据,得到解析后的数据。
可选的,判断解析后的数据中是否包含附加文件和/或加密字段;
若存在附加文件,则获取附加文件对应标识存入所述客户端的数据库;
若存在加密字段,则对所述解析后的数据进行加密,并将加密后的数据存入所述客户端的数据库。
第三方面,本发明实施例提供了一种服务端,包括:
第一处理模块,用于将数据库中的数据封装成数据块;
存储模块,用于将所述数据块存储在中转数据库中;
第一同步模块,用于将所述中转数据库中的数据块同步至客户端。
可选的,所述第一同步模块包括:
第一同步子模块,用于将所述中转数据库中的数据块传输至外置存储设备,以通过所述外置存储设备同步至所述客户端。
可选的,所述第一同步模块包括:
第一配置子模块,用于启动同步服务,并初始化服务端配置;
第一认证子模块,用于与客户端进行双向认证;
第一接收子模块,用于认证成功后,接收所述客户端发送的数据块同步请求;
第一判断子模块,用于若所述数据块同步请求中的数据块存在,则将所述数据块同步至所述客户端;若所述数据块同步请求中的数据块不存在,则进行数据块不存在提示并报错。
第四方面,本发明实施例提供了一种客户端,包括:
获取模块,用于获取服务端的中转数据库中的数据块;
第二同步模块,用于采用获取到的数据块,同步本地数据库中的数据。
可选的,所述第二同步模块包括:
第二配置子模块,用于启动同步服务,并初始化本地配置;
第一读取子模块,用于读取外置存储设备中的中转数据库中的数据块;
第一解压子模块,用于解压所述数据块,得到第一数据块文件;
第一同步子模块,用于从所述第一数据块文件的起始节点数据开始对所述第一数据块文件进行解析同步,所述起始节点数据为所述第一数据块文件的第一个数据,或者,所述第一数据块文件的上次同步的完结节点数据的下一个节点数据,得到解析后的数据。
可选的,所述第二同步模块包括:
第三配置子模块,用于启动定时同步连接服务,并初始化所述客户端配置;
第二认证子模块,用于与服务端进行双向认证;
第一连接子模块,用于认证成功后,与所述服务端建立连接;
第一发送子模块,用于向所述服务端发送数据块同步请求,请求待同步的数据块;
第二接收子模块,用于接收所述服务端通过中转数据库发送的所述待同步的数据块;
第二解压子模块,用于解压所述待同步的数据块,得到第一数据块文件;
第二同步子模块,用于从所述第一数据块文件的起始节点数据开始对所述第一数据块文件进行解析同步,所述起始节点数据为所述第一数据块文件的第一个数据,或者,所述第一数据块文件的上次同步的完结节点数据的下一个节点数据,得到解析后的数据。
可选的,所述第二同步模块还包括:
第二判断子模块,用于判断解析后的数据中是否包含附加文件和/或加密字段;
若存在附加文件,则获取附加文件对应标识存入所述客户端的数据库;
若存在加密字段,则对所述解析后的数据进行加密,并将加密后的数据存入所述客户端的数据库。
第五方面,本发明实施例提供了一种服务端,其特征在于,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现如第一方面所述的数据同步方法的步骤。
第六方面,本发明实施例提供了一种客户端,其特征在于,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现如第二方面所述的数据同步方法的步骤。
第七方面,本发明实施例提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的数据同步方法,或者实现如第二方面所述的数据同步方法的步骤。
本发明实施例中,通过将数据写入到各个块中,并引用中转数据库,形成服务端与客户端的数据同步,保证了数据同步的灵活性和安全性。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本发明实施例提供的一种数据同步方法应用于服务端的流程示意图;
图2为本发明实施例提供的一种与数据同步方法应用于客户端的流程示意图;
图3为本发明实施例提供的一种数据同步方法离线流程示意图;
图4为本发明实施例提供的一种数据同步方法在线流程示意图;
图5为本发明实施例提供的一种服务端的结构示意图;
图6为本发明实施例提供的一种客户端的结构示意图;
图7为本发明实施例提供的另一种服务端的结构示意图;
图8为本发明实施例提供的另一种客户端的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,本发明实施例提供了一种数据同步方法,其特征在于,应用于服务端,所述方法包括:
步骤11:将数据库中的数据封装成数据块;
步骤12:将所述数据块存储在中转数据库中;
步骤13:将所述中转数据库中的数据块同步至客户端。
本发明实施例中,可以选用BoltDB数据库作为中转数据库,也可以选用其他类型的数据库作为中转数据库实现,并且可以同时同步多种数据库,比如mysql数据库,pgsql数据库等,将数据库中的数据封装成块,放入该数据库特有的“桶”中,每个“桶”都有一个名字,其中保存着大量key/value对,是一个纯粹的key/value数据库;将这些“桶”迁移到客户端上。
本发明实施例中,通过将数据写入到各个块中,并引用中转数据库,形成服务端与客户端的数据同步,保证了数据同步的灵活性和安全性。
本发明实施例中,可选的,将所述中转数据库中的数据块同步至客户端,包括:
将所述中转数据库中的数据块传输至外置存储设备,以通过所述外置存储设备同步至所述客户端。
本发明实施例中,当服务端与客户端处于离线状态时进行数据同步,可以将所述中转数据库中的数据块传输至已加密的U盘、硬盘等外置存储设备,通过所述外置存储设备将所述数据块同步至所述客户端,使得数据经过闭环加密处理,且整体流程都需要加密解密操作完成,极大的保证了数据的安全性。
可选的,将所述中转数据库中的数据块同步至客户端,包括:
启动同步服务,并初始化服务端配置;
与客户端进行双向认证;
认证成功后,接收所述客户端发送的数据块同步请求;
若所述数据块同步请求中的数据块存在,则将所述数据块同步至所述客户端;
若所述数据块同步请求中的数据块不存在,则进行数据块不存在提示并报错。
本发明实施例中,当服务端与客户端处于在线连接状态时进行数据同步,需要启动同步服务,并初始化服务端配置,所述初始化服务端配置包括:初始化加密系统、文件传输系统,配置待同步数据库等;通过Open SSL(Open Secure Sockets Layer,开放式安全套接层协议)生成服务端和客户端用于双向认证的证书。
本发明实施例中,通过将数据写入到各个块中,并引用中转数据库,形成服务端与客户端的数据同步,并解决了离线和在线两种状态下的数据同步,保证了数据同步的灵活性和安全性。
请参考图2,本发明实施例提供了一种数据同步方法,应用于客户端,所述方法包括:
步骤21:获取服务端的中转数据库中的数据块;
步骤22:采用获取到的数据块,同步本地数据库中的数据。
本发明实施例中,可以选用BoltDB数据库作为中转数据库,也可以选用其他类型的数据库作为中转数据库实现,并且可以同时同步多种数据库,比如mysql数据库,pgsql数据库等,将数据库中的数据封装成块,放入该数据库特有的“桶”中,每个“桶”都有一个名字,其中保存着大量key/value对,是一个纯粹的key/value数据库;客户端获取服务端的中转数据库中的数据块,再对其中的数据块进行解析,同步本地数据库中的数据。
本发明实施例中,通过将数据写入到各个块中,并引用中转数据库,形成服务端与客户端的数据同步,保证了数据同步的灵活性和安全性。
可选的,所述采用获取到的数据块,同步本地数据库中的数据,包括:
启动同步服务,并初始化本地配置;
读取外置存储设备中的中转数据库中的数据块;
解压所述数据块,得到第一数据块文件;
从所述第一数据块文件的起始节点数据开始对所述第一数据块文件进行解析同步,所述起始节点数据为所述第一数据块文件的第一个数据,或者,所述第一数据块文件的上次同步的完结节点数据的下一个节点数据,得到解析后的数据。
本发明实施例中,当服务端与客户端处于离线状态时进行数据同步,启动同步服务,并初始化本地配置,所述初始化本地配置包括:初始化加密系统、文件传输系统,配置待同步数据库等;通过读取到的私钥文件去解密文本文件中的密文,得到压缩包解压密码明文;并通过所述压缩包解压密码明文解压同步数据库压缩包,得到多个数据块压缩包,依次解压得到数据块文件;根据本地数据库查询上次同步的完结节点数据,每次同步后都会将数据块文件的哈希值保存入数据库,作为下次同步的起始节点数据,以便查找;从起始节点数据开始,不断寻找本次同步工作数据块文件,直到本次待同步数据块均被同步;所述同步过程包含解析过程,解析数据块时,根据“桶”的名字遍历所有的”“桶”,解析key/value对,获取数据库表信息和操作信息,再进一步解析所包含数据;若所述数据包含附加文件或者需加密字段,对存在的附加文件,通过文件传输系统上传所述附加文件获取到所述附加文件对应ID存入数据库;对需加密字段,根据字段不同类型进行加密操作,将加密后数据存入数据库;监控数据同步进度,同步完成后更新数据库。
可选的,所述采用获取到的数据块,同步本地数据库中的数据,包括:
启动定时同步连接服务,并初始化所述客户端配置;
与服务端进行双向认证;
认证成功后,与所述服务端建立连接;
向所述服务端发送数据块同步请求,请求待同步的数据块;
接收所述服务端通过中转数据库发送的所述待同步的数据块;
解压所述待同步的数据块,得到第一数据块文件;
从所述第一数据块文件的起始节点数据开始对所述第一数据块文件进行解析同步,所述起始节点数据为所述第一数据块文件的第一个数据,或者,所述第一数据块文件的上次同步的完结节点数据的下一个节点数据,得到解析后的数据。
可选的,判断解析后的数据中是否包含附加文件和/或加密字段;
若存在附加文件,则获取附加文件对应标识存入所述客户端的数据库;
若存在加密字段,则对所述解析后的数据进行加密,并将加密后的数据存入所述客户端的数据库。
本发明实施例中,当服务端与客户端处于在线连接状态时进行数据同步,启动定时同步连接服务,并初始化所述客户端配置,所述初始化本地配置包括:初始化加密系统、文件传输系统,配置待同步数据库等;并通过双向认证与所述服务端建立连接;通过定时连接服务,每隔固定时间向服务端发送同步请求,请求内容即待同步的数据块名字,发送给服务端后,服务端去寻找对应名字的数据块,再下载该数据块,最后通过流传输的方式传输给客户端对数据同步服务进行申请,实现了自动化,减轻了人工操作的繁琐,并且双方进行了证书校验,保证了链路传输的安全性;与服务端建立连接后,根据本地数据库查询上次同步的完结节点数据,每次同步后都会将数据块文件的哈希值保存入数据库,作为下次同步的起始节点数据,以便查找;从起始节点数据开始,不断寻找本次同步工作数据块文件,直到本次待同步数据块均被同步;所述同步过程包含解析过程,解析数据块时,根据“桶”的名字遍历所有的“桶”,解析key/value对,获取数据库表信息和操作信息,再进一步解析所包含数据;若所述数据包含附加文件或者需加密字段,对存在的附加文件,通过文件传输系统上传所述附加文件获取到所述附加文件对应ID存入数据库;对需加密字段,根据字段不同类型进行加密操作,将加密后数据存入数据库;监控数据同步进度,同步完成后更新数据库。
本发明实施例中,通过将数据写入到各个块中,并引用中转数据库,形成服务端与客户端的数据同步,并解决了离线和在线两种状态下的数据同步,保证了数据同步的灵活性和安全性。
请参考图3,本发明实施例中,当服务端与客户端处于离线状态时进行数据同步,所述客户端读取外置存储设备中的中转数据库中的数据块,执行离线脚本文件;启动同步服务,并初始化本地配置,所述初始化本地配置包括:初始化加密系统、文件传输系统,配置待同步数据库等;读取私钥文件,根据读取到的私钥文件去解密文本文件中的密文,得到压缩包解压密码明文;并通过所述压缩包解压密码明文解压同步数据库压缩包,得到多个数据块压缩包,依次解压得到数据块文件;判断解压后的数据块文件是否为空,若不为空则进行同步,根据本地数据库查询上次同步的完结节点数据,每次同步后都会将数据块文件的哈希值保存入数据库,作为下次同步的起始节点数据,以便查找;从起始节点数据开始,不断寻找本次同步工作数据块文件,直到本次待同步数据块均被同步;所述同步过程包含解析过程,解析数据块时,根据“桶”的名字遍历所有的“桶”,解析key/value对,获取数据库表信息和操作信息,再进一步解析所包含数据;判断所述数据是否包含附加文件或者需加密字段;若所述数据包含附加文件或者需加密字段,对存在的附加文件,通过文件传输系统上传所述附加文件获取到所述附加文件对应ID存入数据库;对需加密字段,根据字段不同类型进行加密操作,将加密后数据存入数据库;监控数据同步进度,同步完成后插入更新数据库。
请参考图4,本发明实施例中,当服务端与客户端处于在线连接状态时进行数据同步,所述服务端启动同步服务,并初始化服务端配置;通过双向认证证书与客户端进行双向认证;认证成功后,接收所述客户端发送的数据块同步请求;若所述数据块同步请求中的数据块存在,则将所述数据块压缩并发送至所述客户端;若所述数据块同步请求中的数据块不存在,则进行数据块不存在提示并报错;所述客户端启动定时同步连接服务,并初始化所述客户端配置,所述初始化本地配置包括:初始化加密系统、文件传输系统,配置待同步数据库等;并通过双向认证与所述服务端建立连接;与服务端建立连接后,根据本地数据库查询上次同步的完结节点数据,每次同步后都会将数据块文件的哈希值保存入数据库,作为下次同步的起始节点数据,以便查找;从起始节点数据开始,不断寻找本次同步工作数据块文件,直到本次待同步数据块均被同步;所述同步过程包含解析过程,解析数据块时,根据“桶”的名字遍历所有的“桶”,解析key/value对,获取数据库表信息和操作信息,再进一步解析所包含数据;若所述数据包含附加文件或者需加密字段,对存在的附加文件,通过文件传输系统上传所述附加文件获取到所述附加文件对应ID存入数据库;对需加密字段,根据字段不同类型进行加密操作,将加密后数据存入数据库;监控数据同步进度,同步完成后更新数据库。
请参考图5,本发明实施例提供了一种服务端,包括:
第一处理模块51,用于将数据库中的数据封装成数据块;
存储模块52,用于将所述数据块存储在中转数据库中;
第一同步模块53,用于将所述中转数据库中的数据块同步至客户端。
本发明实施例中,可选的,所述第一同步模块包括:
第一同步子模块,用于将所述中转数据库中的数据块传输至外置存储设备,以通过所述外置存储设备同步至所述客户端。
本发明实施例中,可选的,所述第一同步模块包括:
第一配置子模块,用于启动同步服务,并初始化服务端配置;
第一认证子模块,用于与客户端进行双向认证;
第一接收子模块,用于认证成功后,接收所述客户端发送的数据块同步请求;
第一判断子模块,用于若所述数据块同步请求中的数据块存在,则将所述数据块同步至所述客户端;若所述数据块同步请求中的数据块不存在,则进行数据块不存在提示并报错。
本发明实施例提供的服务端能够实现图1的方法实施例中数据同步方法实现的各个过程,为避免重复,这里不再赘述。
请参考图6,本发明实施例提供了一种客户端,包括:
获取模块61,用于获取服务端的中转数据库中的数据块;
第二同步模块62,用于采用获取到的数据块,同步本地数据库中的数据。
本发明实施例中,可选的,所述第二同步模块包括:
第二配置子模块,用于启动同步服务,并初始化本地配置;
第一读取子模块,用于读取外置存储设备中的中转数据库中的数据块;
第一解压子模块,用于解压所述数据块,得到第一数据块文件;
第一同步子模块,用于从所述第一数据块文件的起始节点数据开始对所述第一数据块文件进行解析同步,所述起始节点数据为所述第一数据块文件的第一个数据,或者,所述第一数据块文件的上次同步的完结节点数据的下一个节点数据,得到解析后的数据。
本发明实施例中,可选的,所述第二同步模块包括:
第三配置子模块,用于启动定时同步连接服务,并初始化所述客户端配置;
第二认证子模块,用于与服务端进行双向认证;
第一连接子模块,用于认证成功后,与所述服务端建立连接;
第一发送子模块,用于向所述服务端发送数据块同步请求,请求待同步的数据块;
第二接收子模块,用于接收所述服务端通过中转数据库发送的所述待同步的数据块;
第二解压子模块,用于解压所述待同步的数据块,得到第一数据块文件;
第二同步子模块,用于从所述第一数据块文件的起始节点数据开始对所述第一数据块文件进行解析同步,所述起始节点数据为所述第一数据块文件的第一个数据,或者,所述第一数据块文件的上次同步的完结节点数据的下一个节点数据,得到解析后的数据。
本发明实施例中,可选的,所述第二同步模块还包括:
第二判断子模块,用于判断解析后的数据中是否包含附加文件和/或加密字段;
若存在附加文件,则获取附加文件对应标识存入所述客户端的数据库;
若存在加密字段,则对所述解析后的数据进行加密,并将加密后的数据存入所述客户端的数据库。
本发明实施例提供的服务端能够实现图2的方法实施例中数据同步方法实现的各个过程,为避免重复,这里不再赘述。
请参考图7,本发明实施例还提供一种服务端70,包括处理器71,存储器72,存储在存储器72上并可在所述处理器71上运行的计算机程序,该计算机程序被处理器71执行时实现上述数据同步方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
请参考图8,本发明实施例还提供一种客户端80,包括处理器81,存储器82,存储在存储器82上并可在所述处理器81上运行的计算机程序,该计算机程序被处理器81执行时实现上述数据同步方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现上述数据同步方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者终端等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
Claims (12)
1.一种数据同步方法,其特征在于,应用于服务端,所述方法包括:
将数据库中的数据封装成数据块;
将所述数据块存储在中转数据库中;
将所述中转数据库中的数据块同步至客户端。
2.根据权利要求1所述的数据同步方法,其特征在于,将所述中转数据库中的数据块同步至客户端,包括:
将所述中转数据库中的数据块传输至外置存储设备,以通过所述外置存储设备同步至所述客户端。
3.根据权利要求1所述的数据同步方法,其特征在于,将所述中转数据库中的数据块同步至客户端,包括:
启动同步服务,并初始化服务端配置;
与客户端进行双向认证;
认证成功后,接收所述客户端发送的数据块同步请求;
若所述数据块同步请求中的数据块存在,则将所述数据块同步至所述客户端;
若所述数据块同步请求中的数据块不存在,则进行数据块不存在提示并报错。
4.一种数据同步方法,其特征在于,应用于客户端,所述方法包括:
获取服务端的中转数据库中的数据块;
采用获取到的数据块,同步本地数据库中的数据。
5.根据权利要求4所述的数据同步方法,其特征在于,所述采用获取到的数据块,同步本地数据库中的数据,包括:
启动同步服务,并初始化本地配置;
读取外置存储设备中的中转数据库中的数据块;
解压所述数据块,得到第一数据块文件;
从所述第一数据块文件的起始节点数据开始对所述第一数据块文件进行解析同步,所述起始节点数据为所述第一数据块文件的第一个数据,或者,所述第一数据块文件的上次同步的完结节点数据的下一个节点数据,得到解析后的数据。
6.根据权利要求4所述的数据同步方法,其特征在于,所述采用获取到的数据块,同步本地数据库中的数据,包括:
启动定时同步连接服务,并初始化所述客户端配置;
与服务端进行双向认证;
认证成功后,与所述服务端建立连接;
向所述服务端发送数据块同步请求,请求待同步的数据块;
接收所述服务端通过中转数据库发送的所述待同步的数据块;
解压所述待同步的数据块,得到第一数据块文件;
从所述第一数据块文件的起始节点数据开始对所述第一数据块文件进行解析同步,所述起始节点数据为所述第一数据块文件的第一个数据,或者,所述第一数据块文件的上次同步的完结节点数据的下一个节点数据,得到解析后的数据。
7.根据权利要求5或6所述的数据同步方法,其特征在于,还包括:
判断解析后的数据中是否包含附加文件和/或加密字段;
若存在附加文件,则获取附加文件对应标识存入所述客户端的数据库;
若存在加密字段,则对所述解析后的数据进行加密,并将加密后的数据存入所述客户端的数据库。
8.一种服务端,其特征在于,包括:
第一处理模块,用于将数据库中的数据封装成数据块;
存储模块,用于将所述数据块存储在中转数据库中;
第一同步模块,用于将所述中转数据库中的数据块同步至客户端。
9.一种客户端,其特征在于,包括:
获取模块,用于获取服务端的中转数据库中的数据块;
第二同步模块,用于采用获取到的数据块,同步本地数据库中的数据。
10.一种服务端,其特征在于,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现如权利要求1至3中任一项所述的数据同步方法的步骤。
11.一种客户端,其特征在于,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现如权利要求4至7中任一项所述的数据同步方法的步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至3中任一项所述的数据同步方法,或者实现如权利要求4至7中任一项所述的数据同步方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110087706.6A CN112732839B (zh) | 2021-01-21 | 2021-01-21 | 一种数据同步方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110087706.6A CN112732839B (zh) | 2021-01-21 | 2021-01-21 | 一种数据同步方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112732839A true CN112732839A (zh) | 2021-04-30 |
CN112732839B CN112732839B (zh) | 2023-06-23 |
Family
ID=75595066
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110087706.6A Active CN112732839B (zh) | 2021-01-21 | 2021-01-21 | 一种数据同步方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112732839B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113268507A (zh) * | 2021-05-26 | 2021-08-17 | 大箴(杭州)科技有限公司 | 数据库的数据读取系统及方法、装置、电子设备 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100169302A1 (en) * | 2008-12-31 | 2010-07-01 | Arthur Vargas Lopes | System, method, and computer-readable medium for grouping database level object access counts per processing module in a parallel processing system |
CN101854392A (zh) * | 2010-05-20 | 2010-10-06 | 清华大学 | 一种基于云计算环境的个人数据管理方法 |
CN102255974A (zh) * | 2011-08-24 | 2011-11-23 | 无锡中科方德软件有限公司 | 一种云计算服务器的云存储方法 |
CN106131146A (zh) * | 2016-06-28 | 2016-11-16 | 山东中磁视讯股份有限公司 | 一种受限网络下的数据同步系统与方法 |
CN106528893A (zh) * | 2016-12-26 | 2017-03-22 | 北京奇虎科技有限公司 | 数据同步方法及装置 |
CN107729366A (zh) * | 2017-09-08 | 2018-02-23 | 广东省建设信息中心 | 一种普适多源异构大规模数据同步系统 |
CN109766341A (zh) * | 2018-12-27 | 2019-05-17 | 厦门市美亚柏科信息股份有限公司 | 一种建立哈希映射的方法、装置、存储介质 |
CN110196880A (zh) * | 2018-06-08 | 2019-09-03 | 腾讯科技(深圳)有限公司 | 异构数据库数据同步方法和装置、存储介质及电子装置 |
CN110837535A (zh) * | 2018-08-16 | 2020-02-25 | 中国移动通信集团江西有限公司 | 数据同步的方法、装置、设备和介质 |
-
2021
- 2021-01-21 CN CN202110087706.6A patent/CN112732839B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100169302A1 (en) * | 2008-12-31 | 2010-07-01 | Arthur Vargas Lopes | System, method, and computer-readable medium for grouping database level object access counts per processing module in a parallel processing system |
CN101854392A (zh) * | 2010-05-20 | 2010-10-06 | 清华大学 | 一种基于云计算环境的个人数据管理方法 |
CN102255974A (zh) * | 2011-08-24 | 2011-11-23 | 无锡中科方德软件有限公司 | 一种云计算服务器的云存储方法 |
CN106131146A (zh) * | 2016-06-28 | 2016-11-16 | 山东中磁视讯股份有限公司 | 一种受限网络下的数据同步系统与方法 |
CN106528893A (zh) * | 2016-12-26 | 2017-03-22 | 北京奇虎科技有限公司 | 数据同步方法及装置 |
CN107729366A (zh) * | 2017-09-08 | 2018-02-23 | 广东省建设信息中心 | 一种普适多源异构大规模数据同步系统 |
CN110196880A (zh) * | 2018-06-08 | 2019-09-03 | 腾讯科技(深圳)有限公司 | 异构数据库数据同步方法和装置、存储介质及电子装置 |
CN110837535A (zh) * | 2018-08-16 | 2020-02-25 | 中国移动通信集团江西有限公司 | 数据同步的方法、装置、设备和介质 |
CN109766341A (zh) * | 2018-12-27 | 2019-05-17 | 厦门市美亚柏科信息股份有限公司 | 一种建立哈希映射的方法、装置、存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113268507A (zh) * | 2021-05-26 | 2021-08-17 | 大箴(杭州)科技有限公司 | 数据库的数据读取系统及方法、装置、电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112732839B (zh) | 2023-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106850603B (zh) | 一种白盒密码双向身份认证方法、终端、服务端及系统 | |
CN109471844A (zh) | 文件共享方法、装置、计算机设备和存储介质 | |
CN111182525B (zh) | 一种存储数据的方法和装置 | |
CN107172001B (zh) | 网站代理服务器的控制方法及装置、密钥代理服务器 | |
EP3832980A1 (en) | Method for data transmission, battery management system, and storage medium | |
CN112468571B (zh) | 内外网数据同步方法、装置、电子设备及存储介质 | |
CN111181912B (zh) | 浏览器标识的处理方法、装置、电子设备及存储介质 | |
CN113507358B (zh) | 通信系统、认证方法、电子设备及存储介质 | |
CN113032357A (zh) | 文件的存储方法、装置和服务器 | |
CN113746638B (zh) | Nft存储方法、nft还原方法、计算机设备和存储介质 | |
CN114422134A (zh) | 一种数据安全传输方法及设备 | |
CN112511514A (zh) | 一种http加密传输方法、装置、计算机设备及存储介质 | |
CN108418679B (zh) | 一种多数据中心下处理密钥的方法、装置及电子设备 | |
JP2009193336A (ja) | 処理分散システム、認証サーバ、分散サーバ及び処理分散方法 | |
CN112732839B (zh) | 一种数据同步方法及装置 | |
CN110224824B (zh) | 数字证书处理方法、装置、计算机设备和存储介质 | |
CN111552938B (zh) | 文件加密方法及装置 | |
CN104184773B (zh) | 一种数据下载方法及系统 | |
CN112765276A (zh) | 一种增量数据同步方法及装置 | |
CN111262837B (zh) | 一种数据加密方法、数据解密方法、系统、设备和介质 | |
CN102045709B (zh) | 移动终端应用数据的下载方法、系统及移动终端 | |
CN110765147B (zh) | 基于区块链加密存储的内容更新方法、用户节点及介质 | |
CN112333699A (zh) | 一种物联网通信协议加密方法、设备及存储介质 | |
CN114221950A (zh) | 上传配置文件的方法、下载配置文件的方法及装置 | |
CN111797417A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |