CN104168335B - 一种数据同步方法和装置 - Google Patents
一种数据同步方法和装置 Download PDFInfo
- Publication number
- CN104168335B CN104168335B CN201410443889.0A CN201410443889A CN104168335B CN 104168335 B CN104168335 B CN 104168335B CN 201410443889 A CN201410443889 A CN 201410443889A CN 104168335 B CN104168335 B CN 104168335B
- Authority
- CN
- China
- Prior art keywords
- data
- equipment
- server
- user
- unique mark
- 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.)
- Active
Links
Abstract
本申请公开了一种数据同步方法和系统,其中方法包括:第一设备对用户进行测试,将测量到的数据进行标识,获得数据的唯一标识;然后,第一设备先向服务器发送携带唯一标识的编号请求,再获得服务器为该数据分配的编号;且所述服务器将所述唯一标识与为该数据分配的编号对应保存;当第二设备想要下载数据时,先向服务器发送查询请求,再获得服务器反馈的为所述用户的数据最近一次分配的编号;第二设备比较服务器反馈的编号是否大于自身所保存的所述用户的数据的编号,如果是,第二设备从第一设备下载待同步的数据。因此,本申请既能提高设备数据同步的效率和可靠性,又能降低服务器的负载,提高其在同步过程中的工作性能。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种数据同步方法和装置。
背景技术
随着各种智能设备的广泛应用,各种设备之间的数据同步问题已经是设备应用的重要问题。在具体实现时,有许多应用环境下均存在设备之间数据同步的问题,比如公司内部的数据共享、远程控制查询数据、健康管理领域的数据共享等。
为了解决实际环境下的多种设备间的数据共享问题,目前常采用的数据同步方法是将所有设备上需要同步的数据发送到服务器,当其他设备需要同步数据时,从该服务器上下载需要同步的数据即可,这种方法虽然简单易行,但是由于数据同步需要服务器的中转才能够实现,因此其数据同步速度慢;再者,随着设备数量的增大、需要同步的数据量的增大、服务器的容易出现超负载的现象,导致其处理性能下降,严重时会出现服务器瘫痪致使整个同步系统瘫痪。
发明内容
本发明实施例提供了一种数据同步方法和装置,能够提高数据同步的效率,同时降低服务器的负载,提高其在同步过程中的工作性能。
第一方面,本发明实施例提供了一种数据同步方法,该方法包括:
第一设备对用户进行测量,将测量到的数据进行标识,获得数据的唯一标识,所述用户的任何两条数据的唯一标识都不相同;
第一设备在对数据进行标识之后,先向服务器发送携带唯一标识的编号请求,再获得服务器为该数据分配的编号,所述用户的任何两条数据的编号都不相同;且所述服务器将所述用户的数据的唯一标识与为该数据分配的编号对应保存;
当第二设备想要下载数据时,先向服务器发送查询请求,再接收服务器反馈的为所述用户的数据最近一次分配的编号;第二设备比较服务器反馈的编号是否大于自身所保存的所述用户的数据的编号,如果是,第二设备从第一设备下载待同步的数据。
优选的,所述将测量到的数据进行标识,获得数据的唯一标识的步骤包括:
所述第一设备采用散列算法对时间戳、设备ID和用户ID进行处理,获得数据的唯一标识。
优选的,所述第二设备从第一设备下载待同步的数据的步骤包括:
所述第二设备向所述第一设备发送下载请求,所述下载请求包括:用户ID和待下载数据编号;
所述第一设备接收到所述下载请求之后,向所述第二设备发送所述待下载数据编号对应的数据。
优选的,所述方法还包括:
第一设备接收备份服务器的下载请求,将相应的数据发送给所述备份服务器,以使当第一设备无法为第二设备提供下载服务时,由所述备份服务器为第二设备提供下载服务;其中,所述备份服务器周期性遍历所有的第一设备,从每个第一设备下载相应的数据;或者,所述备份服务器与所述服务器建立订阅关系,以使所述服务器为所述第一设备分配编号时,将数据的唯一标识、编号、设备IP地址和用户ID发送给所述备份服务器,所述备份服务器从相应的第一设备下载相应的数据。5、根据权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括:
当用户对第一设备中已保存的数据进行修改或者删除时,第一设备设置修改后的数据或者删除后的数据与原始数据采用相同的标识;
当所述第二设备从第一设备下载修改后的数据或者删除后的数据时,所述第二设备根据待下载数据的标识查找到原始数据,对原始数据进行相应地修改或者删除操作。
第二方面,本发明实施例还提供了一种数据同步系统,该系统包括:至少一个第一设备、至少一个第二设备和服务器;
所述第一设备,用于对用户进行测量,将测量到的数据进行标识,获得数据的唯一标识,所述用户的任何两条数据的唯一标识都不相同;在对数据进行标识之后,先向所述服务器发送携带唯一标识的编号请求,再获得所述服务器为该数据分配的编号,所述用户的任何两条数据的编号都不相同;
所述服务器,用于根据编号请求向第一设备测量到的数据分配编号,将所述用户的数据的唯一标识与为该数据分配的编号对应保存;
所述第二设备,用于当想要下载数据时,先向所述服务器发送查询请求,再接收所述服务器反馈的为所述用户的数据最近一次分配的编号;比较所述服务器反馈的编号是否大于自身所保存的所述用户的数据的编号,如果是,从所述第一设备下载待同步的数据。
优选的,所述第一设备具体用于采用散列算法对时间戳、设备ID和用户ID进行处理,获得数据的唯一标识。
优选的,所述第二设备具体用于向所述第一设备发送下载请求,所述下载请求包括:用户ID和待下载数据编号;
则所述第一设备具体用于接收到所述下载请求之后,向所述第二设备发送所述待下载数据编号对应的数据。
优选的,所述系统还包括:
备份服务器,用于周期性遍历所有的第一设备,从每个第一设备下载相应的数据,以实现当第一设备无法为第二设备提供下载服务时,由备份服务器为第二设备提供下载服务;或者
所述备份服务器用于与所述服务器建立订阅关系,以使所述服务器为所述第一设备分配编号时,将数据的唯一标识、编号、设备IP地址和用户ID发送给所述备份服务器,所述备份服务器从相应的第一设备下载相应的数据,以实现当第一设备无法为第二设备提供下载服务时,由备份服务器为第二设备提供下载服务。
优选的,所述第一设备还用于当用户对第一设备中已保存的数据进行修改或者删除时,设置修改后的数据或者删除后的数据与原始数据采用相同的标识;
则所述第二设备还用于当从第一设备下载修改后的数据或者删除后的数据时,根据待下载数据的标识查找到原始数据,对原始数据进行相应地修改或者删除操作。
本发明实施例提供的方法和系统,通过第一设备对用户进行测量,将测量到的数据进行标识,再通过服务器为该数据进行编号,所述用户的每条数据都有唯一的标识和编号,服务器中仅保存该数据的标识和编号,当第二设备想要下载数据时,则先向服务器查询服务器中为所述用户的数据最近一次分配的编号,然后第二设备比较自身保存的所述用户的编号和服务器反馈的编号,以判断是否需要从第一设备同步数据,如果是,则直接从第一设备下载待同步数据,该技术方案不再需要服务器来保存设备测量的数据,而是利用服务器保存数据的标识和编号,减少服务器的负载,同时第二设备直接从第一设备下载数据,而不用经过服务器的中转,降低了服务器的负载,提高了其在同步过程中的工作性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例的数据同步方法的实施例1的流程图;
图2是本发明实施例的数据同步方法的实施例2的流程图;
图3是本发明实施例的数据同步方法的实施例3的流程图;
图4是本发明实施例的数据同步系统的示意图;
图5是现有技术的数据同步系统示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,图1是本发明实施例的数据同步方法的实施例1的流程图,该方法具体包括:
步骤101,第一设备对用户进行测量,将测量到的数据进行标识,获得数据的唯一标识,所述用户的任何两条数据的唯一标识都不相同。
在具体应用中,第一设备可以是任意具有测试功能和数据传输功能的终端,比如血压仪、血糖测试仪、计步器、手机、平板、计算机等终端。需要说明的是,该第一设备可以是归属于一个或者多个用户的设备,也可以是公用设备如医院、图书馆、火车站等公共场所的公用设备。即,一个设备可以测量一个用户的相关数据,也可以测量多个用户的相关数据,也可以测量任意用户的相关数据。其中,测量并不一定是实质地测量用户的体征特征的操作,也可以是测量用户在设备上输入或者上传的数据等信息,如用户录入语音、输入文字、上传图片等,只要第一设备可以获得用户的相关数据(用户体征参数、用户操作数据等与用户有关系的数据),对于第一设备而言均指测量用户得到的数据。用户在使用这些终端时完成测量后,可能在其他场景下需要通过其他终端观测这些数据,比如用户使用血糖测试仪监测自身血糖变化情况,当用户去医院检查时,需要通过其他终端查询血糖测试仪监测到的数据。再比如用户在办公室使用计算机测试到的数据,又想在家里通过平板电脑查询相关的数据。在这种情况下就需要实现设备与设备间的数据同步。
在本步骤的具体实现时,第一设备可以采用散列算法对测量到的数据、时间戳,设备ID和用户ID进行处理,获得数据的唯一标识。在软件实现时散列算法又被称之为散列函数、哈希函数,典型的散列算法包括MD2、MD4、MD5、SH A-1和SH A-256算法等。散列算法是把不同长度的信息转化成杂乱的128位的编码,这些编码值作为散列值,其本质就是找到一种数据内容和数据存放地址直接的映射关系。
由于一个用户会拥有多个设备分别完成不同的测量功能,测量得到不同的类型的数据,或者拥有多个设备完成相同的测量功能,对于用户而言其具有一个用户ID(可以是用户的姓名、身份证或者其他信息,用户ID用于标识该用户,可以是数字、字母、文字或者图片形式或其任意组合形式),而他所拥有的每个设备也分别各自具有一个设备ID,用户ID是为了标识测量数据时归属于哪一个用户,设备ID是为了标识该数据是哪一个设备测量得到的。在设备完成测量的同时会记录当前测量活动发生的具体时间,该时间作为时间戳。第一设备在完成测量之后,采用散列算法将用户ID、设备ID、时间戳等信息转化成编码值,该编码值作为该数据的唯一标识。一个用户可以在一个设备上产生多条数据,也可以在多个设备上共产生多条数据,这些数据的唯一标识均不相同,针对一个用户的所有数据的唯一标识都不相同。
步骤102,第一设备在对数据进行标识之后,先向服务器发送携带唯一标识的编号请求,再获得服务器为该数据分配的编号,所述用户的任何两条数据的编号都不相同;且所述服务器将所述用户的数据的唯一标识与为该数据分配的编号对应保存。
第一设备完成数据标识之后,还需要通过服务器对该数据进行编号,以保证数据同步的正确性,针对一个用户的数据的编号必须是在服务器统一进行,以保证该用户的数据的编号是全局的,这样才能够保证任何设备在想要进行某个用户的数据同步时,通过服务器查看针对该用户最新的编号,从而决定是否进行数据同步。比如如果设备自身已保存的用户1的数据编号与服务器中反馈的用户1的数据编号一致,则表明设备自身的保存的用户1的数据已经是最新的数据,不需要再进行数据同步。如果设备自身已保存的用户1的数据编号与服务器中反馈的用户1的编号不一致,则表明设备需要与用户1使用过的其他设备进行数据同步,以同步最新的数据。
本步骤在具体实现时,第一设备首先向服务器发送编号请求,该编号请求包括数据的唯一标识;服务器接收到该编号请求之后,为该数据分配对应的编号,服务器按照接收编号请求的时间顺序,编号从小到大的原则依次为不同的数据分配不同的编号,比如从1~N的编号顺序。对于服务器而言,其需要针对不同的用户为其搭建一个虚拟文件,该虚拟文件中包括了该用户的数据的唯一标识和编号,最大编号的记录代表了最新的测量数据的编号。
在具体实现时,用户使用第一设备时,需要利用用户ID登录个人账户,此时第一设备将该用户ID发送给服务器,以告知服务器当前是哪一个用户在使用设备,此时产生的数据归属于哪一个用户;第一设备也可以在发送编号请求时,在编号请求中携带该用户ID,同样用于告知服务器当前产生的数据是哪一个用户的数据,以保证服务器为该用户的数据分配正确的编号。
S103,当第二设备想要下载数据时,先向服务器发送查询请求,再获得服务器反馈的为所述用户的数据最近一次分配的编号;
在具体实现时,服务器根据第二设备发送的用户ID查找相应的编号,由于服务器按照从小到大的原则分配编号,因此服务器查看为该用户的数据分配的最大编号作为最近一次分配的编号。
S104,第二设备比较服务器反馈的编号是否大于自身所保存的所述用户的数据的编号,如果是,执行S105,第二设备从第一设备下载待同步的数据。
在具体应用中,用户想要通过第二设备查看相关数据时,则需要先通过第二设备向服务器发送查询请求,该查询请求可以包括用户ID;服务器根据查询请求知道当前需要查询哪一个用户的数据,则将该用户相关的最新的编号(最大编号)发送给第二设备,第二设备接收到该编号之后,将该编号与自身已保存的该用户的最大编号值进行对比,由于服务器为设备的测量到的数据分配编号,因此服务器中的编号是最新的(最大的),不会存在其他设备的编号比服务器中编号大的情况。如果该编号大于自身已保存的最大编号,则表明第二设备需要同步数据,如果相等,则表明第二设备无需同步数据。
比如:用户A,通过设备1和设备2和设备3分别完成测试数据的功能,服务器分别为这三个设备的测试数据分配编号,当用户A想要通过设备4查看相关数据时,则通过设备4向服务器发送查询请求,查询请求中包括用户A的ID,以使服务器确定该用户A对应的数据的最大编号,将该编号反馈给设备4。假设设备1、设备2和设备3分别依次测量到一条数据,服务器为这三条数据依次分配编号1、2和3;这用户A对应的数据的最大编号为3;设备4接收到该编号之后,将该编号与设备4自身保存的用户A的最大编号进行对比,假如设备4自身保存的用户A的最大编号为2,且仅保存了编号2的数据,则设备4可通过设备1和设备3同步编号1和3的数据。假如设备4自身保存的用户A的最大编号为3,且保存了编号1~3的数据,则设备4无需再同步数据。
另外,设备1、设备2和设备3也可以通过向服务器发送查询请求,以实现与其他设备间的数据同步,比如设备1向服务器发送查询请求,得到用户A的数据的最大编号,若设备1中仅保存编号1的数据,则设备1可以通过设备2和设备3分别同步编号2和编号3的数据。因此,本步骤中的第一设备和第二设备并没有严格意义上的区分,在某种场合下有些设备可以作为第一设备也可以作为第二设备。
接下来对第二设备从第一设备下载待同步的数据的步骤进行详细解释说明。
该步骤在具体实现时,可以通过以下方式,包括:
所述第二设备向所述第一设备发送下载请求,所述下载请求包括:用户ID和待下载数据编号;
其中待下载数据编号可以是一个数据编号,也可以是一段数据编号,还可以是离散的几个数据编号,如数据编号5、数据编号5~8、数据编号5、7、8等。
所述第一设备接收到所述下载请求之后,向所述第二设备发送所述待下载数据编号对应的数据。
在具体实现时,一个用户可以拥有多个第一设备,则当第二设备想要同步数据时,可以采用轮询地方式从该用户的所有的第一设备下载对应的待同步数据。所有的设备上都预先设置好该用户的其他设备的IP地址;或者当设备需要同步数据时,从服务器获取该用户的其他设备的IP地址。
第二设备从第一设备下载待同步的数据,具体可以是第二设备先从服务器获取待同步的数据所在的设备IP地址,然后第二设备利用该IP地址从对应的设备下载对应的数据。也可以是第二设备从服务器获取用户所有的设备的IP地址,然后再从对应的设备下载对应的数据。
通过上述实施例可以看出:本发明提供的数据同步方法具体是利用设备保存自身测量的用户的数据且为数据设置唯一标识,利用服务器为数据设置编号且保存数据的唯一标识和编号;当其他设备想要同步数据时,通过服务器保存的编号能够确定是否需要同步数据,当需要时,设备直接从其他设备下载对应的待同步数据。整个同步过程中,服务器无需再保存所有设备测量的数据,仅保存数据的编号和唯一标识,设备直接从其他设备下载数据,不经过服务器的中转,降低了服务器的负载,提高了其在同步过程中的工作性能。
考虑到,用户要实现设备与设备间的数据同步时,必须要求设备处于联网状态,由于网络覆盖不完善或者设备电池供电不足等客观原因,致使设备无法做到时时刻刻处于联网状态。基于此,本发明还提供了优选方案,该优选方案是在上述实施例1的基础上,引进备份服务器,备份服务器的作用是将设备上的测量数据备份保存,以便在设备无法联网提供数据同步服务时,该备份服务器为其他设备下载数据。该备份服务器的存在既提高了数据同步的效率,又提高了系统的可靠性和扩展性。下面通过具体实施例对该优选方案进行解释说明。
参阅图2,图2是本发明实施例的数据同步方法的实施例2的流程图,该方法包括:
S201,第一设备对用户进行测量,将测量到的数据进行标识,获得数据的唯一标识,所述用户的任何两条数据的唯一标识都不相同。
S202第一设备在对数据进行标识之后,先向服务器发送携带唯一标识的编号请求,再获得服务器为该数据分配的编号,所述用户的任何两条数据的编号都不相同;且所述服务器将所述用户的数据的唯一标识与为该数据分配的编号对应保存;
S203,当第二设备想要下载数据时,先向服务器发送查询请求,再获得服务器反馈的为所述用户的数据最近一次分配的编号;
S204,第二设备比较服务器反馈的编号是否大于自身所保存的所述用户的数据的编号,如果是,执行S205,第二设备从第一设备下载待同步的数据。
S201~S205和上述实施例1中S101~105相同,在此不再赘述。
S206,第一设备接收备份服务器的下载请求,将相应的数据发送给所述备份服务器,以使当第一设备无法为第二设备提供下载服务时,由所述备份服务器为第二设备提供下载服务;其中,所述备份服务器周期性遍历所有的第一设备,从每个第一设备下载相应的数据;或者,所述备份服务器与所述服务器建立订阅关系,以使所述服务器为所述第一设备分配编号时,将数据的唯一标识和编号发送给所述备份服务器,所述备份服务器从相应的第一设备下载相应的数据。需要说明的是,S206与上述S201~205没有严格的执行顺序关系,只要第一设备接收到备份服务器发送的下载请求,就将相应的数据发送给所述备份服务器,对于该备份服务器而言,其需要将所有的第一设备测量的数据收集保存,其可以被看作是虚拟的第一设备,其保存了一个用户的第一设备,或者多个用户的第一设备的数据,当用户的第一设备无法为第二设备提供下载数据的服务时,则由该备份服务器起到虚拟第一设备的作用,替代第一设备为第二设备提供下载数据的服务。
对于备份服务器而言,为了及时更新保存每个第一设备的数据,则需要周期性遍历每个第一设备,并且从每个设备下载相应的数据。备份服务器需要周期性向服务器查询每个第一设备是否有新的数据生成,进而从相应的第一设备下载相应的数据。这种遍历方式在第一设备数目较多时,其效果不够好。针对这种情况,本实施例还提供了以下优选方案。
该备份服务器可以与所述服务器之间建立一种订阅关系,即当所述服务器为某个用户的某个设备的数据分配编号时(某个用户的某个设备上传了数据的唯一标识),所述服务器将数据的唯一标识、编号、设备IP地址和用户ID发送给备份服务器,该备份服务器可以根据设备IP地址从相应的第一设备下载该用户ID的相应的数据。对于所述服务器而言,也可以是按照预设时间向所述备份服务器推送相关订阅信息,即所述服务器将预设时间内某些用户的某些设备的相关数据信息发送给所述备份服务器,该预设时间可以根据实际需求调整大小。
由于备份服务器将第一设备的数据以及数据相关信息都备份保存,因此,当第一设备无法为第二设备提供数据同步服务时,备份服务器可以替代第一设备为第二设备提供数据同步服务,这样能够进一步保证设备之间数据同步的可靠性。通过上述实施例可以看出,本发明优选方案一方面通过第一设备保存自己测量的数据,并为其建立唯一标识,通过服务器为该数据分配对应的编号,在服务器中保存该数据的唯一标识和编号,设备之间同步数据时,只需要从对应设备上直接下载相关数据即可;另一方面利用备份服务器备份所有第一设备的历史数据,从而当第一设备无法提供数据同步服务时,由该备份服务器提供数据同步服务。该优选方案能够进一步提高数据同步的可靠性和同步速率。
用户使用设备测量数据实现不同设备间的数据同步时,还存在对某个设备中的历史数据的修改或者删除等处理需求。比如用户使用计步器测量自己运动步行数时,用户想修改或者删除上个月某一天的测量数据。基于用户的这种需求,在数据同步时还需要考虑对修改或者删除后的数据如何再同步的问题。基于此,本发明还提供了优选方案,下面通过具体实施例对该优选方案进行解释说明。
参阅图3,图3是本发明实施例的数据同步方法的实施例3的流程图,该方法包括:
S301,第一设备对用户进行测量,将测量到的数据进行标识,获得数据的唯一标识,所述用户的任何两条数据的唯一标识都不相同。
S302,第一设备在对数据进行标识之后,先向服务器发送携带唯一标识的编号请求,再获得服务器为该数据分配的编号,所述用户的任何两条数据的编号都不相同;且所述服务器将所述用户的数据的唯一标识与为该数据分配的编号对应保存;
S303,当第二设备想要下载数据时,先向服务器发送查询请求,再接收服务器反馈的为所述用户的数据最近一次分配的编号;
S304,第二设备比较服务器反馈的编号是否大于自身所保存的所述用户的数据的编号,如果是,执行S205,第二设备从第一设备下载待同步的数据。
S301~S305和上述实施例1中S101~105相同,在此不再赘述。
S306,当用户对第一设备测量到的数据进行修改或者删除时,第一设备设置修改后数据或者删除后的数据与原始数据采用相同的标识;
S307,当所述第二设备从第一设备下载修改后的数据或者删除后的数据时,所述第二设备根据待下载数据的标识查找到原始数据,对原始数据进行相应地修改或者删除操作。
下面对S306~S307详细解释说明。
第一设备和第二设备已进行过至少一次数据同步,而用户修改或者删除的是已被同步过的数据。假设第一设备测量得到数据1,标识A,编号001,第二设备按照S304已经同步了第一设备的数据1,标识A,编号001。在此同步之后,用户将第一设备中的数据1进行了修改,如数据1的原始数据是“血压120”,用户将其修改为“血压90”,这样第一设备将修改后的数据“血压90”作为一个新的测量数据,但设置修改后的数据采用与原始数据“血压120”采用相同的标识A,第一设备仍旧需要向服务器发送编号请求,此时服务器为该数据“血压90”分配编号2;如此处理之后,第二设备仍旧需要执行S303和S304,也就是说,当第二设备想要下载数据时,先向服务器发送查询请求,再获得服务器反馈的最近一次分配的编号2,然后,第二设备比较服务器反馈的编号2大于自身所保存的编号1,此时,第二设备从第一设备下载编号2对应的数据,得到编号2对应的数据标识A查找对应的原始数据“血压120”,将其修改成“血压90”。当用户执行删除操作时,其基本原理与修改操作相同,只不过删除后的数据为空或者无效。
通过上述实施例可以看出,本发明优选方案一方面通过第一设备保存自己测量的数据,并为其建立唯一标识,通过服务器为该数据分配对应的编号,在服务器中保存该数据的唯一标识和编号,设备之间同步数据时,只需要从对应设备上直接下载相关数据即可;另一方面通过设置修改后或者删除后的数据与原始数据采用相同标识的技术手段,以保证其他设备再次同步该标识的数据时能够针对性地执行相同的处理,保证数据同步的可靠性。该优选方案能够进一步提高数据同步的可靠性和同步速率。
本发明还提供了一种数据同步系统,下面通过具体实施例对该系统作进一步解释说明。
参阅图4,图4是本发明实施例的数据同步系统的示意图,图4中仅以一个第一设备(mobilephone,手机)、两个第二设备(laptop笔记本、PC个人计算机)和服务器为例,该系统包括:
至少一个第一设备、至少一个第二设备和服务器;
所述第一设备,用于对用户进行测量,将测量到的数据进行标识,获得数据的唯一标识,所述用户的任何两条数据的唯一标识都不相同;在对数据进行标识之后,先向所述服务器发送携带唯一标识的编号请求,再获得所述服务器为该数据分配的编号,所述用户的任何两条数据的编号都不相同;
所述服务器,用于根据编号请求向第一设备测量到的数据分配编号,将所述用户的数据的唯一标识与为该数据分配的编号对应保存;
所述第二设备,用于当想要下载数据时,先向所述服务器发送查询请求,再接收所述服务器反馈的为所述用户的数据最近一次分配的编号;比较所述服务器反馈的编号是否大于自身所保存的所述用户的数据的编号,如果是,从所述第一设备下载待同步的数据。
优选的,所述第一设备具体用于采用散列算法对测量到的数据、时间戳,设备ID和用户ID进行处理,获得数据的唯一标识。
优选的,所述第二设备具体用于向所述第一设备发送下载请求,所述下载请求包括:用户ID和待下载数据编号;
则所述第一设备具体用于接收到所述下载请求之后,向所述第二设备发送所述待下载数据编号对应的数据。
优选的,所述系统还包括:
备份服务器,用于周期性遍历所有的第一设备,从每个第一设备下载相应的数据,以实现当第一设备无法为第二设备提供下载服务时,由备份服务器为第二设备提供下载服务;或者
所述备份服务器用于与所述服务器建立订阅关系,以使所述服务器为所述第一设备分配编号时,将数据的唯一标识、编号、设备IP地址和用户ID发送给所述备份服务器,所述备份服务器从相应的第一设备下载相应的数据,以实现当第一设备无法为第二设备提供下载服务时,由备份服务器为第二设备提供下载服务。
优选的,所述第一设备还用于当用户对第一设备中已保存的数据进行修改或者删除时,设置修改后的数据或者删除后的数据与原始数据采用相同的标识;
则所述第二设备还用于当从第一设备下载修改后的数据或者删除后的数据时,根据待下载数据的标识查找到原始数据,对原始数据进行相应地修改或者删除操作。
需要说明的是,图4中仅仅是一个手机作为第一设备,一个笔记本和一个计算机作为第二设备,在具体实现时,只要能够实现第一设备的测试、通信功能的设备均可以作为第一设备,且第一设备的个数不作限定,可以是一个也可以是多个。同样的,只要能够实现第二设备的下载、通信功能的设备均可以作为第二设备,且第二设备的个数也不作限定,可以是一个也可以是多个。对于第一设备、第二设备具体是什么设备并不作具体限定,不同的应用领域下或者不同的应用场景下,第一设备、第二设备的设备实体可能不一样。
比如,在健康管理领域中,第一设备可以是血糖仪、血压测试仪、血氧测试仪、心电测试设备等能够实现测试功能且能够与其他设备和服务器之间实现通信的电子设备,第二设备可以是笔记本、计算机、手机等设备。这样用户可以利用本发明上述系统将第一设备测试到的数据同步到第二设备中,以便随时查询。
再比如,用户远程查看资料的场景中,第一设备可以是笔记本、手机、计算机等设备,用户可以在第一设备上输入或者编辑数据,这些数据作为第一设备测试到的数据,第二设备也可以是笔记本、手机、计算机等设备,这样用户在利用第二设备同步第一设备中的数据,以便随时查询共享这些数据。
为了更清楚地解释本发明实施例提供的系统,下面通过将该系统与现有技术的系统进行对比分析。图4中,mobilephone向服务器发送编号请求,而不是发送测量数据,服务器返回编号并保存数据的唯一标识和编号,并不是保存数据本身,其他设备laptop和PC直接从mobilephone下载对应的数据,从而实现数据同步。参阅图5,图5是现有技术的数据同步系统示意图。图5中mobilephone将测量到的数据传送给服务器,由服务器保存测量数据,然后其他设备laptop和PC均是直接通过服务器下载测量数据,从而实现数据同步。通过以上对比分析可知:本发明实施例提供的系统,不再需要服务器实现数据中转,而是通过在服务器中保存数据唯一标识和编号的方式,设备直接通过其他设备下载对应的数据,该方式降低了服务器的负载,提高了服务器的性能,相应的,提高了数据同步的可靠性和同步速率。
对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:ROM/RAM、磁碟、光盘等。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种数据同步方法,其特征在于,包括:
第一设备对用户进行测量,将测量到的数据进行标识,获得数据的唯一标识,所述用户的任何两条数据的唯一标识都不相同;
第一设备在对数据进行标识之后,先向服务器发送携带唯一标识的编号请求,再获得服务器按照从小到大的分配原则为该数据分配的编号,所述用户的任何两条数据的编号都不相同;且所述服务器将所述用户的数据的唯一标识与为该数据分配的编号对应保存;
当第二设备想要下载数据时,先向服务器发送查询请求,再接收服务器反馈的为所述用户的数据最近一次分配的编号;第二设备比较服务器反馈的编号是否大于自身所保存的所述用户的数据的编号,如果是,第二设备从第一设备下载待同步的数据。
2.根据权利要求1所述的方法,其特征在于,所述将测量到的数据进行标识,获得数据的唯一标识的步骤包括:
所述第一设备采用散列算法对时间戳、设备ID和用户ID进行处理,获得数据的唯一标识。
3.根据权利要求1所述的方法,其特征在于,所述第二设备从第一设备下载待同步的数据的步骤包括:
所述第二设备向所述第一设备发送下载请求,所述下载请求包括:用户ID和待下载数据编号;
所述第一设备接收到所述下载请求之后,向所述第二设备发送所述待下载数据编号对应的数据。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
第一设备接收备份服务器的下载请求,将相应的数据发送给所述备份服务器,以使当第一设备无法为第二设备提供下载服务时,由所述备份服务器为第二设备提供下载服务;其中,所述备份服务器周期性遍历所有的第一设备,从每个第一设备下载相应的数据;或者,所述备份服务器与所述服务器建立订阅关系,以使所述服务器为所述第一设备分配编号时,将数据的唯一标识、编号、设备IP地址和用户ID发送给所述备份服务器,所述备份服务器从相应的第一设备下载相应的数据。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括:
当用户对第一设备中已保存的数据进行修改或者删除时,第一设备设置修改后的数据或者删除后的数据与原始数据采用相同的标识;
当所述第二设备从第一设备下载修改后的数据或者删除后的数据时,所述第二设备根据待下载数据的标识查找到原始数据,对原始数据进行相应地修改或者删除操作。
6.一种数据同步系统,其特征在于,包括:至少一个第一设备、至少一个第二设备和服务器;
所述第一设备,用于对用户进行测量,将测量到的数据进行标识,获得数据的唯一标识,所述用户的任何两条数据的唯一标识都不相同;在对数据进行标识之后,先向所述服务器发送携带唯一标识的编号请求,再获得所述服务器为该数据分配的编号,所述用户的任何两条数据的编号都不相同;
所述服务器,用于按照从小到大的分配原则,根据编号请求向第一设备测量到的数据分配编号,将所述用户的数据的唯一标识与为该数据分配的编号对应保存;
所述第二设备,用于当想要下载数据时,先向所述服务器发送查询请求,再接收所述服务器反馈的为所述用户的数据最近一次分配的编号;比较所述服务器反馈的编号是否大于自身所保存的所述用户的数据的编号,如果是,从所述第一设备下载待同步的数据。
7.根据权利要求6所述的系统,其特征在于,所述第一设备具体用于采用散列算法对时间戳、设备ID和用户ID进行处理,获得数据的唯一标识。
8.根据权利要求6所述的系统,其特征在于,所述第二设备具体用于向所述第一设备发送下载请求,所述下载请求包括:用户ID和待下载数据编号;
则所述第一设备具体用于接收到所述下载请求之后,向所述第二设备发送所述待下载数据编号对应的数据。
9.根据权利要求6所述的系统,其特征在于,所述系统还包括:
备份服务器,用于周期性遍历所有的第一设备,从每个第一设备下载相应的数据,以实现当第一设备无法为第二设备提供下载服务时,由备份服务器为第二设备提供下载服务;或者
所述备份服务器用于与所述服务器建立订阅关系,以使所述服务器为所述第一设备分配编号时,将数据的唯一标识、编号、设备IP地址和用户ID发送给所述备份服务器,所述备份服务器从相应的第一设备下载相应的数据,以实现当第一设备无法为第二设备提供下载服务时,由备份服务器为第二设备提供下载服务。
10.根据权利要求6至9中任一项所述的系统,其特征在于,
所述第一设备还用于当用户对第一设备中已保存的数据进行修改或者删除时,设置修改后的数据或者删除后的数据与原始数据采用相同的标识;
则所述第二设备还用于当从第一设备下载修改后的数据或者删除后的数据时,根据待下载数据的标识查找到原始数据,对原始数据进行相应地修改或者删除操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410443889.0A CN104168335B (zh) | 2014-09-02 | 2014-09-02 | 一种数据同步方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410443889.0A CN104168335B (zh) | 2014-09-02 | 2014-09-02 | 一种数据同步方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104168335A CN104168335A (zh) | 2014-11-26 |
CN104168335B true CN104168335B (zh) | 2018-08-03 |
Family
ID=51911956
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410443889.0A Active CN104168335B (zh) | 2014-09-02 | 2014-09-02 | 一种数据同步方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104168335B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104539577A (zh) * | 2014-11-27 | 2015-04-22 | 英业达科技有限公司 | 信息推送系统及其方法 |
CN104639291B (zh) * | 2015-01-29 | 2019-01-01 | 深圳市创梦天地科技有限公司 | 一种信息收发方法、系统及装置 |
CN108345598B (zh) * | 2017-01-22 | 2023-07-18 | 杭州爱钥医疗健康科技有限公司 | 测量记录迁移方法、装置及电子设备 |
CN107993727A (zh) * | 2017-12-07 | 2018-05-04 | 东软熙康健康科技有限公司 | 一种数据处理方法、装置及系统 |
CN108848024A (zh) * | 2018-07-25 | 2018-11-20 | 深圳市比特熊科技有限公司 | 消息同步方法、系统及装置 |
CN109558458B (zh) * | 2018-12-30 | 2021-08-03 | 贝壳找房(北京)科技有限公司 | 数据同步方法、配置平台、交易平台及数据同步系统 |
CN115102968A (zh) * | 2022-06-16 | 2022-09-23 | 普联技术有限公司 | 数据同步方法、装置、系统及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101562515A (zh) * | 2008-04-15 | 2009-10-21 | 中兴通讯股份有限公司 | 一种多处理机同步关键数据的方法 |
CN102130948A (zh) * | 2011-02-11 | 2011-07-20 | 宇龙计算机通信科技(深圳)有限公司 | 应用资源共享的实现方法及移动终端 |
CN102523279A (zh) * | 2011-12-12 | 2012-06-27 | 云海创想信息技术(无锡)有限公司 | 一种分布式文件系统及其热点文件存取方法 |
CN102821111A (zh) * | 2012-09-07 | 2012-12-12 | 普华基础软件股份有限公司 | 文件云存储实时同步方法 |
CN103716384A (zh) * | 2013-12-17 | 2014-04-09 | 创新科存储技术(深圳)有限公司 | 跨数据中心实现云存储数据同步的方法和装置 |
CN103841167A (zh) * | 2012-11-27 | 2014-06-04 | 中国移动通信集团公司 | 一种用户数据同步方法及设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8352870B2 (en) * | 2008-04-28 | 2013-01-08 | Microsoft Corporation | Conflict resolution |
-
2014
- 2014-09-02 CN CN201410443889.0A patent/CN104168335B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101562515A (zh) * | 2008-04-15 | 2009-10-21 | 中兴通讯股份有限公司 | 一种多处理机同步关键数据的方法 |
CN102130948A (zh) * | 2011-02-11 | 2011-07-20 | 宇龙计算机通信科技(深圳)有限公司 | 应用资源共享的实现方法及移动终端 |
CN102523279A (zh) * | 2011-12-12 | 2012-06-27 | 云海创想信息技术(无锡)有限公司 | 一种分布式文件系统及其热点文件存取方法 |
CN102821111A (zh) * | 2012-09-07 | 2012-12-12 | 普华基础软件股份有限公司 | 文件云存储实时同步方法 |
CN103841167A (zh) * | 2012-11-27 | 2014-06-04 | 中国移动通信集团公司 | 一种用户数据同步方法及设备 |
CN103716384A (zh) * | 2013-12-17 | 2014-04-09 | 创新科存储技术(深圳)有限公司 | 跨数据中心实现云存储数据同步的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104168335A (zh) | 2014-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104168335B (zh) | 一种数据同步方法和装置 | |
CN104486445B (zh) | 一种基于云平台的分布式可扩展资源监控系统 | |
CN101316226B (zh) | 一种获取资源的方法、装置及系统 | |
US11553014B2 (en) | Downloading of server-based content through peer-to-peer networks | |
CN104584000B (zh) | 用于增强的网页性能的标签延迟监视与控制系统 | |
CN103116615B (zh) | 一种基于版本矢量的数据索引方法及服务器 | |
CN110414771A (zh) | 企业组织架构数据的更新方法、装置、服务器及客户端 | |
CN109710614A (zh) | 一种实时数据存储与查询的方法及装置 | |
CN105988846B (zh) | 页面加载方法及页面加载装置 | |
CN103095843A (zh) | 一种基于版本矢量的数据备份方法及客户端 | |
US20120023065A1 (en) | System and method for managing data on an occasionally connected mobile device | |
CN109032803A (zh) | 数据处理方法和装置、客户端 | |
CN112328448A (zh) | 基于Zookeeper的监控方法、监控装置、设备及存储介质 | |
CN113434312A (zh) | 数据血缘关系处理方法及装置 | |
CN109145053A (zh) | 数据处理方法和装置、客户端、服务器 | |
CN103516851A (zh) | 一种无线产品云测试平台系统 | |
CN112838935A (zh) | 一种电子数据交换方法和系统 | |
CN106294345A (zh) | 应用程序的日志内容的处理方法和装置 | |
CN105339906B (zh) | 控制对永久存储设备的数据写入的方法 | |
CN107172061A (zh) | 一种实现共享的方法和系统 | |
Brunette et al. | Optimizing mobile application communication for challenged network environments | |
CN107180034A (zh) | MySQL数据库的集群系统 | |
CN108243208A (zh) | 一种数据同步方法及装置 | |
CN114760240B (zh) | 数据传输的方法、装置、电子设备及计算机可读存储介质 | |
CN110489483A (zh) | 数据同步方法、装置、计算机设备以及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20170811 Address after: 338, room 001, building 750, 315040 Yuan Yuan Road, Ningbo high tech Zone, Zhejiang, China Applicant after: Ningbo (Neusoft) intellectual Health Institute Limited Address before: 100179, No. 315-9, building 321, room 6, 8 West Wang Lu, Haidian District, Beijing Applicant before: Neusoft Xikang Health Technology Co., Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant |