一种数据库的数据同步方法、设备和计算机存储介质技术

技术编号:22817084 阅读:23 留言:0更新日期:2019-12-14 13:08
本申请公开一种数据库的数据同步方法、设备和计算机存储介质,为物联网终端设备和云端服务器的数据库的版本信息设置时间戳和版本哈希值,只有它们数据库各自的某个版本信息的时间戳和版本哈希值均一致时,才进行数据库的同步,且云端服务器仅仅将其最新更新记录对应的数据库的数据与一致性校验成功所对应版本的数据库的数据之间不同的数据发送给物联网终端设备进行同步。通过上述方案,可以确保云端服务器和物联网终端设备的数据库的数据同步,而且,云端服务器在进行一致性校验成功后,仅仅发送其最新版本的数据库与一致性校验成功时数据库之间的差异数据,可以降低资源占用率,提高同步速度。

A data synchronization method, equipment and computer storage medium of database

【技术实现步骤摘要】
一种数据库的数据同步方法、设备和计算机存储介质
本申请实施例涉及互联网
,尤其涉及一种数据库的数据同步方法、设备和计算机存储介质。
技术介绍
随着互联网和电子摄像技术的发展,人脸识别技术得到广泛的应用,例如,可以应用到海关、银行、门禁等等各种需要身份识别的领域。人脸识别技术中被广泛采用的区域特征分析算法,它融合计算机图像人脸识别处理技术与生物统计学原理于一体,利用计算机图像处理技术从视频中提取人像特征点,利用生物统计学的原理进行分析建立数学模型,即人脸特征模板。利用已建成的人脸特征模板与被测者的人的面像进行特征分析,根据分析的结果来给出一个相似值,通过这个值即可确定是否为同一人。自2012年后,人脸识别技术的应用呈现出了爆发式增长。2016年12月亚马逊推出线下无人售货便利店,顾客选好自己想要的商品后就可以通过人脸识别付款直接离开,无需排队结账。2017年阿里也在推出了无人超市,用射频识别(RadioFrequencyIdentification,RFID)和生物识别相结合的方案替代人类收银员。无人零售核心技术就是人脸识别,随着AI技术的更新普及,逐渐渗透到各行各业,人脸算法基本能满足现有产业的业务需求。但亚马逊搭建起来的无人售货便利店至今仍未对外开放,因为它无法应对超过20个人同时购物的场景。目前在新零售行业,面对日趋增大的客流量,在于如何保证物联网终端设备(例如,银行、机场、超市、海关等等人脸识别终端)和云端服务器人脸数据库数据保持一致,满足在低网络带宽的消耗下,保证较高的同步性,同时满足灾备需求的成熟技术方案却很少。现有技术中,有如下三种方法处理云端服务器的人脸数据库和人脸提取设备的人脸数据库的不一致性:1)云端服务器的人脸数据库数量大于物联网终端设备的人脸数据库数据,将云端服务器多余的人脸数据库及人脸同步到物联网终端设备的人脸数据库。2)云端服务器的人脸数据库少于物联网终端设备的人脸数据库,将物联网终端设备多余的人脸数据库进行排除。3)云端服务器的人脸数据库等于物联网终端设备的人脸数据库,进行人脸数据库编号比对,防止出现人脸数据库数量相同,但是人脸数据库内容不同的情况。现有技术方案能很好的解决单机系统,方案实现和维护都比较简单。但是,现有技术方案的人脸数量有限,无法横向扩展,检索并发度低,过滤条件无法灵活变化,尤其对大数据的人脸数据库,难以保障在低通信资源下的一致性同步,而且同步速度很慢。
技术实现思路
鉴于上述问题,本申请实施例提供了一种数据库的数据同步方法、设备和计算机存储介质,克服了上述问题或者至少部分地解决了上述问题。本申请的第一方面提供一种数据库的数据同步方法,云端服务器为其数据库的每次版本更新设置更新时间戳和对应于时间戳的版本哈希值并存储在版本更新记录中,其中,所述数据库的数据同步方法包括:所述云端服务器接收物联网终端设备请求数据同步时发送的所述物联网终端设备数据库的第一版本信息,所述第一版本信息包括与所述第一版本信息对应的时间戳和版本哈希值;当所述云端服务器确定其数据库的版本更新记录存在与所述第一版本信息包括的所述时间戳相同的时间戳且该相同时间戳对应的版本哈希值与所述第一版本信息包括的版本哈希值一致时,所述云端服务器确定一致性校验成功;所述云端服务器在确定一致性校验成功之后,将其数据库的版本更新记录中最新更新记录对应的数据库的数据与一致性校验成功所对应版本的数据库的数据之间不同的数据发送给所述物联网终端设备,以使所述物联网终端设备将所述不同的数据加入到所述物联网终端设备发送的一致性校验成功的版本信息对应的数据库并作为所述物联网终端设备的最新版本的数据库,以实现与所述云端服务器的最新更新记录对应的数据库同步。可选地,当所述云端服务器确定其数据库的版本更新记录不存在与所述第一版本信息包括的所述时间戳相同的时间戳时,或确定其数据库的版本更新记录存在与所述第一版本信息包括的所述时间戳相同的时间戳但该相同时间戳对应的版本哈希值与所述第一版本信息包括的版本哈希值不一致时,所述云端服务器确定一致性校验失败;所述云端服务器在确定一致性校验失败之后,向所述物联网终端设备发送版本信息的回退指示,所述版本信息的回退指示用于指示所述物联网终端设备从距离所述第一版本信息包括的所述时间戳最近的回退版本信息开始依次进行数据库版本信息回退;所述云端服务器依次接收所述物联网终端设备每次进行数据库版本信息回退后发送的回退版本信息,并依次对每次接收的回退版本信息进行一致性校验,直到确定一个回退版本信息一致性校验成功,其中,每个回退版本信息包括其对应的时间戳和版本哈希值。可选地,当所述云端服务器对所述物联网终端设备发送的所有回退版本信息进行一致性校验均失败时,所述云端服务器将其数据库的版本更新记录中最新更新记录对应的数据库的数据发送给所述物联网终端设备,以使得所述物联网终端设备将其最新版本的数据库更新与所述云端服务器的最新更新记录对应的数据库相同,以实现数据库同步。可选地,所述云端服务器接收所述物联网终端设备发送的所述第一版本信息之后,所述方法还包括:所述云端服务器确定其数据库的版本更新记录是否存在与所述第一版本信息包括的所述时间戳相同的时间戳;如果所述云端服务器确定其数据库的版本更新记录存在与所述第一版本信息包括的所述时间戳相同的时间戳,获取所述相同时间戳对应的版本哈希值;所述云端服务器确定所述相同时间戳对应的版本哈希值与所述第一版本信息包括的版本哈希值是否一致。可选地,所述第一版本信息为所述物联网终端设备的数据库的最新的版本信息。可选地,当所述物联网终端设备进行的数据库同步失败时,所述云端服务器接收所述物联网终端设备进行数据库版本信息回退后发送的回退版本信息,所述发送的回退版本信息包括其对应的时间戳和版本哈希值;所述云端服务器对所述发送的回退版本信息进行一致性校验。本申请的第二方面提供一种数据库的数据同步方法,云端服务器为其数据库的每次版本更新设置更新时间戳和对应于时间戳的版本哈希值并存储在版本更新记录中,其中,所述数据库的数据同步方法包括:物联网终端设备向所述云端服务器请求数据同步时发送所述物联网终端设备的数据库的第一版本信息,所述第一版本信息包括与所述第一版本信息对应的时间戳和版本哈希值;当所述云端服务器确定其数据库的版本更新记录存在与所述第一版本信息包括的所述时间戳相同的时间戳且该相同时间戳对应的版本哈希值与所述第一版本信息包括的版本哈希值一致时,所述物联网终端设备接收所述云端服务器发送的其数据库的版本更新记录中最新更新记录对应的数据库的数据与一致性校验成功所对应版本的数据库的数据之间不同的数据;所述物联网终端设备将所述不同的数据加入到所述物联网终端设备发送的一致性校验成功的版本信息对应的数据库并作为所述物联网终端设备的最新版本的数据库,以实现与所述云端服务器的最新更新记录对应的数据库同步。可选地,当所本文档来自技高网
...

【技术保护点】
1.一种数据库的数据同步方法,其特征在于,云端服务器为其数据库的每次版本更新设置更新时间戳和对应于时间戳的版本哈希值并存储在版本更新记录中,其中,所述数据库的数据同步方法包括:/n所述云端服务器接收物联网终端设备请求数据同步时发送的所述物联网终端设备数据库的第一版本信息,所述第一版本信息包括与所述第一版本信息对应的时间戳和版本哈希值;/n当所述云端服务器确定其数据库的版本更新记录存在与所述第一版本信息包括的所述时间戳相同的时间戳且该相同时间戳对应的版本哈希值与所述第一版本信息包括的版本哈希值一致时,所述云端服务器确定一致性校验成功;/n所述云端服务器在确定一致性校验成功之后,将其数据库的版本更新记录中最新更新记录对应的数据库的数据与一致性校验成功所对应版本的数据库的数据之间不同的数据发送给所述物联网终端设备,以使所述物联网终端设备将所述不同的数据加入到所述物联网终端设备发送的一致性校验成功的版本信息对应的数据库并作为所述物联网终端设备的最新版本的数据库,以实现与所述云端服务器的最新更新记录对应的数据库同步。/n

【技术特征摘要】
1.一种数据库的数据同步方法,其特征在于,云端服务器为其数据库的每次版本更新设置更新时间戳和对应于时间戳的版本哈希值并存储在版本更新记录中,其中,所述数据库的数据同步方法包括:
所述云端服务器接收物联网终端设备请求数据同步时发送的所述物联网终端设备数据库的第一版本信息,所述第一版本信息包括与所述第一版本信息对应的时间戳和版本哈希值;
当所述云端服务器确定其数据库的版本更新记录存在与所述第一版本信息包括的所述时间戳相同的时间戳且该相同时间戳对应的版本哈希值与所述第一版本信息包括的版本哈希值一致时,所述云端服务器确定一致性校验成功;
所述云端服务器在确定一致性校验成功之后,将其数据库的版本更新记录中最新更新记录对应的数据库的数据与一致性校验成功所对应版本的数据库的数据之间不同的数据发送给所述物联网终端设备,以使所述物联网终端设备将所述不同的数据加入到所述物联网终端设备发送的一致性校验成功的版本信息对应的数据库并作为所述物联网终端设备的最新版本的数据库,以实现与所述云端服务器的最新更新记录对应的数据库同步。


2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述云端服务器确定其数据库的版本更新记录不存在与所述第一版本信息包括的所述时间戳相同的时间戳时,或确定其数据库的版本更新记录存在与所述第一版本信息包括的所述时间戳相同的时间戳但该相同时间戳对应的版本哈希值与所述第一版本信息包括的版本哈希值不一致时,所述云端服务器确定一致性校验失败;
所述云端服务器在确定一致性校验失败之后,向所述物联网终端设备发送版本信息的回退指示,所述版本信息的回退指示用于指示所述物联网终端设备从距离所述第一版本信息包括的所述时间戳最近的回退版本信息开始依次进行数据库版本信息回退;所述云端服务器依次接收所述物联网终端设备每次进行数据库版本信息回退后发送的回退版本信息,并依次对每次接收的回退版本信息进行一致性校验,直到确定一个回退版本信息一致性校验成功,其中,每个回退版本信息包括其对应的时间戳和版本哈希值。


3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
当所述云端服务器对所述物联网终端设备发送的所有回退版本信息进行一致性校验均失败时,所述云端服务器将其数据库的版本更新记录中最新更新记录对应的数据库的数据发送给所述物联网终端设备,以使得所述物联网终端设备将其最新版本的数据库更新与所述云端服务器的最新更新记录对应的数据库相同,以实现数据库同步。


4.根据权利要求1所述的方法,其特征在于,所述云端服务器接收所述物联网终端设备发送的所述第一版本信息之后,所述方法还包括:
所述云端服务器确定其数据库的版本更新记录是否存在与所述第一版本信息包括的所述时间戳相同的时间戳;
如果所述云端服务器确定其数据库的版本更新记录存在与所述第一版本信息包括的所述时间戳相同的时间戳,获取所述相同时间戳对应的版本哈希值;
所述云端服务器确定所述相同时间戳对应的版本哈希值与所述第一版本信息包括的版本哈希值是否一致。


5.根据权利要求1所述的方法,其特征在于,所述第一版本信息为所述物联网终端设备的数据库的最新的版本信息。


6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述物联网终端设备进行的数据库同步失败时,所述云端服务器接收所述物联网终端设备进行数据库版本信息回退后发送的回退版本信息,所述发送的回退版本信息包括其对应的时间戳和版本哈希值;
所述云端服务器对所述发送的回退版本信息进行一致性校验。


7.一种数据库的数据同步方法,其特征在于,云端服务器为其数据库的每次版本更新设置更新时间戳和对应于时间戳的版本哈希值并存储在版本更新记录中,其中,所述数据库的数据同步方法包括:
物联网终端设备向所述云端服务器请求数据同步时发送所述物联网终端设备的数据库的第一版本信息,所述第一版本信息包括与所述第一版本信息对应的时间戳和版本哈希值;
当所述云端服务器确定其数据库的版本更新记录存在与所述第一版本信息包括的所述时间戳相同的时间戳且该相同时间戳对应的版本哈希值与所述第一版本信息包括的版本哈希值一致时,所述物联网终端设备接收所述云端服务器发送的其数据库的版本更新记录中最新更新记录对应的数据库的数据与一致性校验成功所对应版本的数据库的数据之间不同的数据;
所述物联网终端设备将所述不同的数据加入到所述物联网终端设备发送的一致性校验成功的版本信息对应的数据库并作为所述物联网终端设备的最新版本的数据库,以实现与所述云端服务器的最新更新记录对应的数据库同步。


8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
当所述云端服务器确定其数据库的版本更新记录不存在与所述第一版本信息包括的所述时间戳相同的时间戳时,或确定其数据库的版本更新记录存在与所述第一版本信息包括的所述时间戳相同的时间戳但该相同时间戳对应的版本哈希值与所述第一版本信息包括的版本哈希值不一致时,所述物联网终端设备接收所述云端服务器发送的版本信息回退指示;
所述物联网终端设备根据版本信息的回退指示和其本地版本更新记录从距离所述第一版本信息包括的所述时间戳最近的回退版本信息开始依次进行数据库版本信息回退;所述物联网终端设备依次向所述云端服务器发送每次进行数据库版本信息回退后的回退版本信息,以便所述云端服务器依次对每次接收的回退版本信息进行一致性校验,直到确定一个回退版本信息一致性校验成功,其中,每个回退版本信息包括其对应的时间戳和版本哈希值。


9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
当所述物联网终端设备发送的所有回退版本信息进行的一致性校验均失败时,所述物联网终端设备接收所述云端服务器发送的其数据库的版本更新记录中最新更新记录对应的数据库的数据;
所述物联网终端设备将其最新版本的数据库更新与所述云端服务器的最新更新记录对应的数据库相同,以实现数据库同步。


10.根据权利要求7所述的方法,其特征在于,所述物联网终端设备将其最新版本的数据库更新与所述云端服务器的最新更新记录对应的数据库相同具体包括:
所述物联网终端设备确定存在于所述云端服务器的最新更新记录对应的所述数据库中但不存在于所述物联网终端设备的最新版本的数据库的新数据时,所述物联网终端设备将所述新数据加入到所述物联网终端设备的最新版本的数据库中;和/或
所述物联网终端设备确定同时存在于所述云端服务器的最新更新记录对应的所述数据库和所述物联网终端设备的最新版本的数据库的重复数据时,所述物联网终端设备保持所述物联网终端设备的最新版本的数据库中所述重复数据不变;和/或
所述物联网终端设备确定存在于所述物联网终端设备的最新版本的数据库中但不存在于所述云端服务器的最新更新记录对应的所述数据库的多余数据,所述物联网终端设备排除所述物联网终端设备的最新版本的数据库中所述多余数据。


11.根据权利要求7所述的方法,其特征在于,所述第一版本信息为所述物联网终端设备的数据库的最新的版本信息。


12.根据权利要求7所述的方法,其特征在于,所述方法还包括:
当所述物联网终端设备进行的数据库同步失败时,所述物联网终端设备进行数据库版本信息的回退,向所述云端服务器发送所述物联网终端设备进行数据库版本信息的回退后的回退版本信息,所述发送的回退版本信息包括其对应的时间戳和版本哈希值,以便所述云端服务器对所述发送的回退版本信息进行一致性校验。


13.一种云端服务器,其特征在于,包括:
设置模块,用于为所述云端服务器的数据库的每次版本更新设置更新时间戳和对应于时间戳的版本哈希值并存储在版本更新记录中;
接收模块,用于接收物联网终端设备请求数据同步时发送的所述物联网终端设备的数据库的第一版本信息,所述第一版本信息包括与所述第一版本信息对应的时间戳和版本哈希值;
校验模块,用于当确定所述云端服务器的数据库的版本更新记录存在与所述第一版本信息包括的所述时间戳相同的时间戳且该相同时间戳对应的版本哈希值与所述第一版本信息包括的版本哈希值一致时,确定一致性校验...

【专利技术属性】
技术研发人员:李铭骏王蕾陈凯胡昱林周天外
申请(专利权)人:上海商魁信息科技有限公司上海商米科技集团股份有限公司
类型:发明
国别省市:上海;31

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

1