数据同步方法、装置、设备和计算机可读存储介质制造方法及图纸

技术编号:34103243 阅读:10 留言:0更新日期:2022-07-11 23:55
本申请涉及一种数据同步方法、装置和计算机可读存储介质。该方法包括:判断第一实体的第一数据库是否存在数据更新;若第一数据库存在数据更新,则从第一数据库导出更新数据;将从第一数据库导出的更新数据进行云存储;判断是否需要对第二实体的第二数据库进行数据更新;若需要对第二实体的第二数据库进行数据更新,则下载已进行云存储的更新数据;将从第一数据库导出的更新数据导入至第二实体的第二数据库。本申请的技术方案可以实现跨实体之间的数据同步。的数据同步。的数据同步。

【技术实现步骤摘要】
数据同步方法、装置、设备和计算机可读存储介质


[0001]本申请涉及计算机网络领域,尤其涉及数据同步方法、装置、设备和计算机可读存储介质。

技术介绍

[0002]数据同步往往发生在不同应用、系统或设备之间,实现不同实体之间数据的备份或交互。例如,应用A、B分别是针对同一对象的主、备应用,当应用A的数据有所更新时,理论上,应用B也应当有更新。此时,将更新的数据从应用A导入至应用B即可完成两个应用之间数据的同步。相关技术中,数据同步方法是将两个不同应用连接至同一数据库,两个应用通过访问其共用的数据库实现数据的同步。然而,由于两个应用本身在数据的负载、并发量上存在巨大的差别,相关技术会使得共用数据库承载巨大的压力,甚至崩溃。

技术实现思路

[0003]为解决或部分解决相关技术中存在的问题,本申请提供一种数据同步方法、装置、设备和计算机可读存储介质,可以实现跨实体之间的数据同步。
[0004]本申请第一方面提供一种数据同步方法,包括:
[0005]判断第一实体的第一数据库是否存在数据更新;
[0006]若所述第一数据库存在数据更新,则从第一数据库导出更新数据;
[0007]将所述更新数据进行云存储;
[0008]判断第二实体的第二数据库是否需要对数据进行更新;
[0009]若所述第二实体的第二数据库需要对数据进行更新,则下载所述已进行云存储的更新数据;
[0010]将所述更新数据导入至第二实体的第二数据库。
[0011]本申请第二方面提供一种数据同步装置,包括:
[0012]第一判断模块,用于判断第一实体的第一数据库是否存在数据更新;
[0013]导出模块,用于若所述第一数据库存在数据更新,则从第一数据库导出更新数据;
[0014]存储模块,用于将所述更新数据进行云存储;
[0015]第二判断模块,用于判断是否需要对第二实体的第二数据库进行数据更新;
[0016]下载模块,用于若需要对所述第二实体的第二数据库进行数据更新,则下所述已进行云存储的更新数据;
[0017]导入模块,用于将所述更新数据导入至第二实体的第二数据库。
[0018]本申请第三方面提供一种电子设备,包括:
[0019]处理器;以及
[0020]存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如上所述的方法。
[0021]本申请第四方面提供一种计算机可读存储介质,其上存储有可执行代码,当所述
可执行代码被电子设备的处理器执行时,使所述处理器执行如上所述的方法。
[0022]本申请提供的技术方案可以包括以下有益效果:不同于相关技术在进行数据同步时共用一个数据库,本申请的技术方案中,更新数据是从第一实体的第一数据库导出并进行云存储,在将云存储的更新数据下载后,导入第二实体的第二数据库,由此可知,云存储只是作为更新数据的传输或存储中间件,更新数据的导出和导入仍然由各个实体访问自身的数据库实现,保证了一个实体对数据库访问的特征属性(例如,高并发)不会造成另一实体对数据库访问的压力,从而顺利实现跨实体之间的数据同步,特别适用于特征属性存在显著差别的实体之间的数据同步。
[0023]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
[0024]通过结合附图对本申请示例性实施方式进行更详细地描述,本申请的上述以及其它目的、特征和优势将变得更加明显,其中,在本申请示例性实施方式中,相同的参考标号通常代表相同部件。
[0025]图1是本申请实施例示出的数据同步方法的流程示意图;
[0026]图2是本申请实施例示出的数据同步装置的结构示意图;
[0027]图3是本申请实施例示出的电子设备的结构示意图。
具体实施方式
[0028]下面将参照附图更详细地描述本申请的实施方式。虽然附图中显示了本申请的实施方式,然而应该理解,可以以各种形式实现本申请而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本申请更加透彻和完整,并且能够将本申请的范围完整地传达给本领域的技术人员。
[0029]在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0030]应当理解,尽管在本申请可能采用术语“第一”、“第二”、“第三”等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
[0031]数据同步往往发生在不同应用、系统或设备等实体之间,实现不同实体之间数据的备份或交互。例如,应用A、B分别是针对同一对象的主、备应用,当应用A的数据有所更新时,理论上,应用B也应当有更新。此时,将更新的数据从应用A导入至应用B即可完成两个应用之间数据的同步。相关技术中,数据同步方法是将两个不同应用连接至同一数据库,两个应用通过访问其共用的数据库实现数据的同步。然而,由于两个应用本身在数据的负载、并
发量上存在巨大的差别,相关技术会使得共用数据库承载巨大的压力,甚至崩溃。
[0032]针对上述问题,本申请实施例提供一种数据同步方法,可以实现跨实体之间的数据同步。
[0033]以下结合附图详细描述本申请实施例的技术方案。
[0034]参见图1,是本申请实施例示出的数据同步方法的流程示意图,该方法主要包括步骤S101至步骤S106,说明如下:
[0035]步骤S101:判断第一实体的第一数据库是否存在数据更新。
[0036]在本申请实施例中,实体可以是应用、系统或设备等,这些应用、系统或设备等具有对应的数据库,例如,远程字典服务(Remote Dictionary Server,Redis)数据库;Redis是一种典型的键

值(Key

Value)数据库。当对数据库进行了数据写入、删除等操作后,数据库中的数据可能就与操作之前不再相同即数据库存在数据更新。由于数据库中的数据文件一般进行了加密,例如,利用第5版信息摘要算法(the fifth Message Digest Algorithm,MD5),不同的数据文件经MD5加密后会生成一个所谓MD5值,因此,一种判断数据库是否存在更新的方法是比较数据库当前数据文件的MD5值与前一份数据文件的MD5值是否相同,若两者相同,则数据库不存在数据更新,否则,存在本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据同步方法,其特征在于,所述方法包括:判断第一实体的第一数据库是否存在数据更新;若所述第一数据库存在数据更新,则从第一数据库导出更新数据;将所述更新数据进行云存储;判断是否需要对第二实体的第二数据库进行数据更新;若需要对所述第二实体的第二数据库进行数据更新,则下载所述已进行云存储的更新数据;将所述更新数据导入至第二实体的第二数据库。2.根据权利要求1所述的数据同步方法,其特征在于,所述若所述第一数据库存在数据更新,则从第一数据库导出更新数据,包括:若所述第一数据库存在数据更新,则获取所述更新数据的属性信息;根据所述更新数据的属性信息,从第一数据库导出所述更新数据。3.根据权利要求2所述的数据同步方法,其特征在于,所述根据所述更新数据的属性信息,从第一数据库导出所述更新数据,包括:根据所述更新数据的属性信息,确定所述更新数据的数据量;若所述更新数据的数据量大于预设导出数量阈值,则将所述更新数据分割为多个切片,每个所述切片对应切片描述信息;根据所述切片描述信息,从所述第一数据库中获取对应的切片并缓存至内存中;将所述缓存的切片存储至本地目标存储单元。4.根据权利要求1至3任意一项所述的数据同步方法,其特征在于,所述方法还包括:获取进程锁以对数据导出进程加锁,所述数据导出进程用于从所述第一数据库导出所述更新数据。5.根据权利要求4所述的数据同步方法,其特征在于,所述获取进程锁以对数据导出进程加锁,包括:根据所述进程锁的状态信息,判断所述进程锁的资源丰度是否大于预设阈值;若所述进程锁的资源丰度大于所述预设阈值,则获取所述进程锁以对所述数据导出进程加锁。6.根据权利要求4所述的数据同步方法,其特征在于,所述方法还包括:若所述第一实体的第一数据库不存在数据更新、和/或从所述第一数据库未成功导出所述更新数据、和/或将所述更新数据进行云存储执行完毕,则释...

【专利技术属性】
技术研发人员:骆振源
申请(专利权)人:奇安信安全技术珠海有限公司
类型:发明
国别省市:

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

1