一种客户端与云平台间的高效数据同步方法与流程

未命名 09-19 阅读:122 评论:0


1.本发明涉及数据传输技术领域,更具体地,本发明涉及一种客户端与云平台间的高效数据同步方法。


背景技术:

2.通过网络连接,客户端发送数据请求后,然后云平台返回给客户端对用的应答,将云平台将数据同步到客户端,然而在需要同步的资源数据量比较庞大时,受限于网络带宽或者客户端自身的加载速度,会导致数据同步时间较长的情况,会消耗大量的时间,且可能存在数据丢失的情况。中国专利cn201611167491提供了一种云平台连续数据同步方法,解决了本地存储和异地存储装置对数据的吞吐问题,然而针对客户端与云平台之间需要同步的资源树数据量非常庞大时,同步时间有待提高。


技术实现要素:

3.针对现有技术中存在的一些问题,本发明第一个方面提供了一种客户端与云平台间的高效数据同步方法,包括:客户端登录云平台同步资源树的信息,并缓存在本地存储空间。
4.优选的,当客户端首次登录云平台时,需要同步资源树的全部信息,并缓存在本地存储空间,当客户端非首次登录云平台时,则先获取资源树各级节点的信息摘要,与缓存的资源树逐级对比,只需要重新获取并更新摘要信息不同的数据节点。
5.在一种实施方式中,客户端与云平台间的高效数据同步方法包括如下步骤:(1)客户端发出请求,用以向云平台发送资源树摘要信息请求;(2)云平台应答:用以将摘要信息与节点id一起发送至客户端;(3)对比摘要信息,用以将客户端收到云平台的摘要信息应答与本地资源树的摘要信息进行对比。
6.(4)请求更新节点数据,用于本地资源树完成数据同步更新。
7.在一种实施方式中,步骤(1)具体包括:客户端与云平台建立网络连接后,向云平台发送资源树摘要信息请求。
8.在一种实施方式中,步骤(2)具体包括:云平台收到来自客户端的资源树摘要信息请求后,计算资源树各节点的摘要信息,并将摘要信息与节点id一起发送至客户端,如果摘要信息没有改动则不进行计算资源树各节点的摘要信息。
9.在一种优选的实施方式中,计算资源树各节点的摘要信息包括下面步骤:1)遍历树形结构,用以遍历所有节点;2)计算枝干节点数字摘要信息,用于在遍历的过程中,计算所有节点的数字摘要信息。
10.在一种实施方式中,步骤1)中,采用先序遍历,从根节点开始使用递归的方式遍历所有节点。
11.在一种实施方式中,步骤2)中,在遍历的过程中,不限于md5、sha、sm3等常见算法。
12.在步骤2)中,为了避免重复计算和减少计算量,所有枝干节点的数字摘要是对其子节点数字摘要信息的二次数字摘要计算,只有叶子节点才是对数据内容的数字摘要计算。
13.在一种实施方式中,步骤(3)中,在客户端收到云平台的摘要信息应答与本地资源树的摘要信息进行对比时,采用先序遍历的方式,从根节点开始使用递归的方式遍历所有节点。
14.优选的,步骤(3)中,在进行对比摘要信息对比时,当某节点摘要信息相同时,停止该节点及其字节点的遍历对比,记录不存在的节点id或摘要信息不一致的叶子节点id。
15.在一种实施方式中,步骤(4)具体包括:客户端将记录的不一致节点id发送给云平台,要求云平台发送更新后的节点数据;云平台根据节点id发送最新的节点内容给客户端,客户端收到更新后的节点内容与本地资源树完成数据同步更新。
16.在一种实施方式中,客户端与云平台间的高效数据同步方法还包括步骤(5),资源数实时更新,用以实现云平台和客户端实时增加、删除、更改节点数据内容以及摘要信息,实现云平台和客户端信息实时同步。
17.优选的,步骤(5)具体包括:云平台将实时增加、删除、更改的节点数据内容以及摘要信息主动推送给客户端,客户端收到后立即同步到本地资源树;同理,客户端主动增加、删除、更改的节点也会主动推送给云平台,云平台收到后立即同步资源树数据并将更新的节点主动推送给具有访问权限的其它在线客户端。
18.本发明中客户端包括但不限于基于pc机、手机或其它装置的应用软件;云平台包括但不限于物联网、数据采集、监控/测控、信息服务等综合性软件平台。
19.本发明适用于客户端与云平台之间需要同步的资源树数据量非常庞大时,受限于网络带宽或者客户端自身的加载速度,导致数据同步时间较长的情况,同时也为客户端的载体终端节省网络流量。
20.本发明与现有技术相比具有以下有益效果:本发明客户端与云平台间的高效数据同步方法解决了目前同步数据比较庞大时同步时间长的问题,同时为客户端的载体终端节省网络流量。此外,可以保证数据不丢失,且实现数据的实时更新,用户体验感好。
附图说明
21.图1为因特网连接的云平台和客户端。
具体实施方式
22.以下通过具体实施方式说明本发明,但不局限于以下给出的具体实施例。
23.一种客户端与云平台间的高效数据同步方法,包括以下步骤:第2a步,客户端请求:如图1所示,客户端与云平台建立网络连接后,向平台发送资源树摘要信息请求;第2b步,云平台应答:云平台收到来自客户端的资源树摘要信息请求后,计算资源
树的数字摘要信息(如果摘要信息没有改动则省略该计算),并将摘要信息与节点id一起发送至客户端;第2c步,对比摘要信息:客户端收到云平台的摘要信息应答,采用先序遍历,从根节点开始使用递归的方式遍历所有节点的方式,与本地资源树的摘要信息进行逐级对比,当某节点摘要信息相同时,停止该节点及其子节点的遍历对比,记录不存在的节点id或摘要信息不一致的叶子节点id;其中,与本地资源树的摘要信息进行逐级对比具体如下:采用层次遍历顺序,即先比对根节点的摘要信息,如果一致,则说明不需要同步整个资源树;如果不一致,比对各子节点的摘要信息,对摘要信息不一致的字节点继续对比下一级字节点,记录不存在的子节点id,叶子节点id或摘要信息不一致的叶子节点id,叶子节点是指没有孩子节点的子节点;第2d步,请求更新的节点数据:客户端将记录的不一致节点id发送给云平台,要求云平台发送更新后的节点数据;通过2c步骤记录了所有对比不一致的子节点id或叶子节点id,将这些id发给平台,平台将这些节点的内容发给客户端,客户端收到更新后的节点内容与本地资源树完成数据同步更新;第2e步,资源树实时更新:云平台将实时增加、删除、更改的节点数据内容以及摘要信息主动推送给客户端,客户端收到后立即同步到本地资源树。同理,客户端主动增加、删除、更改的节点也会主动推送给云平台,云平台收到后立即同步资源树数据并将更新的节点主动推送给具有访问权限的其它在线客户端。具体的说,当云平台的资源树发生变化时,其对应的节点摘要信息就会发生变化。平台将发生变化的节点数据推送给客户端,客户端同步更新本地资源树。比如a用户添加了节点k,那么k所在分支的节点(包括根节点)的摘要信息都会发生变化,平台将k的节点数据推送给在线并且具有访问权限的其它用户。
24.其中,计算资源树的数字摘要信息,包括以下步骤:第1a步,遍历树形结构:在图1所示的云平台或客户端中,采用先序遍历,从根节点开始使用递归的方式遍历所有节点;第1b步,计算枝干节点数字摘要信息:在遍历的过程中,采用后续遍历的顺序,计算所有节点的数字摘要信息,不限于md5、sha、sm3等常见算法。为了避免重复计算和减少计算量,所有枝干节点的数字摘要是对其子节点数字摘要信息的二次数字摘要计算,只有叶子节点才是对数据内容的数字摘要计算。其中,二次数字摘要计算,是指对其孩子节点的数字摘要计算结果再进行数字摘要计算。

技术特征:
1.一种客户端与云平台间的高效数据同步方法,其特征在于,包括:第2a步,客户端请求:客户端与云平台建立网络连接后,向平台发送资源树摘要信息请求;第2b步,云平台应答:云平台收到来自客户端的资源树摘要信息请求后,计算资源树的数字摘要信息,并将摘要信息与节点id一起发送至客户端;第2c步,对比摘要信息:客户端收到云平台的摘要信息应答,采用先序遍历,从根节点开始使用递归的方式遍历所有节点的方式,与本地资源树的摘要信息进行逐级对比,当某节点摘要信息相同时,停止该节点及其子节点的遍历对比,记录不存在的节点id或摘要信息不一致的叶子节点id;其中,与本地资源树的摘要信息进行逐级对比具体如下:采用层次遍历顺序,即先比对根节点的摘要信息,如果一致,则说明不需要同步整个资源树;如果不一致,比对各子节点的摘要信息,对摘要信息不一致的字节点继续对比下一级字节点,记录不存在的子节点id,叶子节点id或摘要信息不一致的叶子节点id,叶子节点是指没有孩子节点的子节点;第2d步,请求更新的节点数据:客户端将记录的不一致节点id发送给云平台,要求云平台发送更新后的节点数据;通过2c步骤记录了所有对比不一致的子节点id或叶子节点id,将这些id发给平台,平台将这些节点的内容发给客户端,客户端收到更新后的节点内容与本地资源树完成数据同步更新;第2e步,资源树实时更新:云平台将实时增加、删除、更改的节点数据内容以及摘要信息主动推送给客户端,客户端收到后立即同步到本地资源树,同理,客户端主动增加、删除、更改的节点也会主动推送给云平台,云平台收到后立即同步资源树数据并将更新的节点主动推送给具有访问权限的其它在线客户端;其中,计算资源树的数字摘要信息,包括以下步骤:第1a步,遍历树形结构:在云平台或客户端中,采用先序遍历,从根节点开始使用递归的方式遍历所有节点;第1b步,计算枝干节点数字摘要信息:在遍历的过程中,采用后续遍历的顺序,使用md5算法计算所有节点的数字摘要信息,为了避免重复计算和减少计算量,所有枝干节点的数字摘要是对其子节点数字摘要信息的二次数字摘要计算,只有叶子节点才是对数据内容的数字摘要计算。2.根据权利要求1所述客户端与云平台间的高效数据同步方法,其特征在于,客户端与云平台间的高效数据同步方法还包括资源树实时更新,用以实现云平台和客户端实时增加、删除、更改节点数据内容以及摘要信息,实现云平台和客户端信息实时同步。3.根据权利要求2所述客户端与云平台间的高效数据同步方法,其特征在于,资源树实时更新具体包括:云平台将实时增加、删除、更改的节点数据内容以及摘要信息主动推送给客户端,客户端收到后立即同步到本地资源树;同理,客户端主动增加、删除、更改的节点也会主动推送给云平台,云平台收到后立即同步资源树数据并将更新的节点主动推送给具有访问权限的其它在线客户端。4.根据权利要求2或3所述客户端与云平台间的高效数据同步方法,其特征在于,客户端为基于pc机、手机或其它装置的应用软件;云平台为物联网、数据采集、监控/测控、信息服务综合性软件平台。

技术总结
本发明涉及数据传输技术领域,具体涉及H04L29/08,更具体地,本发明涉及一种客户端与云平台间的高效数据同步方法,包括:客户端登录云平台同步资源树的信息,并缓存在本地存储空间。本发明客户端与云平台间的高效数据同步方法解决了目前同步数据比较庞大时同步时间长的问题,同时为客户端的载体终端节省网络流量。此外,可以保证数据不丢失,且实现数据的实时更新,用户体验感好。用户体验感好。用户体验感好。


技术研发人员:苗正辉 曹博 叶义青
受保护的技术使用者:苏州成科自控设备有限公司
技术研发日:2023.07.24
技术公布日:2023/9/14
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐