CN101924747A - 处理数据冲突的方法、装置、网络侧服务器及终端 - Google Patents
处理数据冲突的方法、装置、网络侧服务器及终端 Download PDFInfo
- Publication number
- CN101924747A CN101924747A CN 200910203684 CN200910203684A CN101924747A CN 101924747 A CN101924747 A CN 101924747A CN 200910203684 CN200910203684 CN 200910203684 CN 200910203684 A CN200910203684 A CN 200910203684A CN 101924747 A CN101924747 A CN 101924747A
- Authority
- CN
- China
- Prior art keywords
- content
- network node
- time
- network
- data item
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000012545 processing Methods 0.000 title abstract description 14
- 230000001360 synchronised effect Effects 0.000 abstract description 6
- 230000008569 process Effects 0.000 description 11
- 238000012937 correction Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 239000013078 crystal Substances 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 238000012896 Statistical algorithm Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006854 communication Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 239000010453 quartz Substances 0.000 description 1
- VYPSYNLAJGMNEJ-UHFFFAOYSA-N silicon dioxide Inorganic materials O=[Si]=O VYPSYNLAJGMNEJ-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种处理数据冲突的方法,包括:第一网络节点获取第二内容,其中,所述第二内容为第二网络节点提供的网络数据集合中的数据项的内容;如果所述第二内容与第一内容不同,则第一网络节点以所述第一内容和所述第二内容中最新的内容为准进行网络数据集合的同步,其中,所述第一内容为所述第一网络节点保存的所述数据项的内容。本发明还提供一种处理数据冲突的装置、一种网络侧服务器和一种终端。在本发明中,如果两个网络节点保存的同一个数据项的内容不一致,那么就以两个网络节点保存的内容中最新的内容为准进行网络数据集合的同步,这样可以保证最后同步的内容准确无误。
Description
技术领域
本发明涉及网络数据集合的同步技术,尤其涉及处理数据冲突的技术。
背景技术
目前,终端和网络侧可以存储相同的网络数据,这些网络数据以网络数据集合的形式存在,网络数据集合例如是网络地址本。
具体的,用户一般都会在其使用的多个终端上存储一些亲友的信息。例如,一个用户在其使用的移动电话和个人数字助理(PDA,Personal DigitalAssistant)中存储有通讯录,在其使用的台式计算机和便携式计算机中也存储有通讯录。如果这些通讯录的内容不完全相同,那么当这个用户需要查询某个联系人的信息时,这个用户很可能必须要在某个终端上才能查询到这个联系人的信息。如果由于这个用户没有随身携带这个终端等原因,导致这个用户当时并不能使用这个终端,那么这个用户就无法查询到这个联系人的信息,这样就会给这个用户的工作等方面造成一些麻烦。所以,人们希望自己使用的各个终端存储的通讯录的内容都能保持一致,也就是要求各个终端存储的通讯录都具有统一的标准。
为此,本领域技术人员提出了融合地址本(CAB,Converged Address Book)技术,其中,地址本中具有联系人的信息。CAB技术支持用户将地址本备份到网络侧,并且支持多终端接入,即,备份到网络侧的地址本能够被用户的多个终端复用。将地址本备份到网络侧后,用户可以修改地址本中的信息,并同步网络侧和各个终端保存的地址本中的信息。
在实际应用中,网络侧和终端存储的同一个网络数据集合中的数据可能会发生冲突。还是以网络地址本为例,当网络侧和终端进行地址本的同步后,网络侧和终端有可能会分别修改地址本的同一个数据项,但修改后的这个数据项的内容不相同,这样,存储在网络侧和终端的同一个数据项的内容就会不一致,即,发生了数据冲突。另外,网络侧和终端也有可能分别修改不同的数据项,之后,当网络侧和终端同步地址本时,网络侧或终端会发现双方存储的地址本中有很多数据项的内容不一致,即,发生了数据冲突。
现有技术提出了下面两种处理数据冲突的方案:
1.以网络侧记载的内容为准,忽略终端记载的不一致的内容;
2.以终端记载的内容为准,忽略网络侧记载的不一致的内容。
本发明的发明人在仔细研究上述两种处理数据冲突的方案后发现:对于方案1,假设一个用户通过某一个终端在网络侧将一个数据项的内容修改为第一内容,之后,这个用户又希望将这个数据项的内容修改为第二内容,于是,这个用户在另一个终端上将同一个数据项的内容修改为第二内容,当网络侧和终端进行地址本的同步时,由于要求以网络侧记载的内容为准,所以网络侧和终端最后保存的这个数据项的内容是第一内容。但是,第一内容并不是这个用户希望保存的内容,因此,网络侧和终端最后保存的这个数据项的内容是不准确的。同理,对于方案2,假设一个用户在一个终端上将一个数据项的内容修改为第一内容,之后,这个用户又希望将这个数据项的内容修改为第二内容,于是,这个用户通过另一个终端在网络侧将同一个数据项的内容修改为第二内容,当网络侧和终端进行地址本的同步时,由于要求以终端记载的内容为准,所以网络侧和终端最后保存的这个数据项的内容是第一内容。但是,第一内容并不是这个用户希望保存的内容,因此,网络侧和终端最后保存的这个数据项的内容是不准确的。
由此可见,现有的处理数据冲突的方案可能会使网络数据集合同步后的内容不准确。
发明内容
本发明实施例提供处理数据冲突的方法、装置、网络侧服务器及终端,用以保证在同步网络数据集合的过程中,当同一个数据项的内容发生冲突时,同步后的内容准备无误。
一种处理数据冲突的方法,包括:第一网络节点获取第二内容,其中,所述第二内容为第二网络节点提供的网络数据集合中的数据项的内容;如果所述第二内容与第一内容不同,则第一网络节点以所述第一内容和所述第二内容中最新的内容为准进行网络数据集合的同步,其中,所述第一内容为所述第一网络节点保存的所述数据项的内容。
一种处理数据冲突的装置,包括:存储单元,用于存储网络数据集合;获得单元,用于获取第二内容,其中,所述第二内容为第二网络节点提供的网络数据集合中的数据项的内容;判断单元,用于判断所述第二内容与第一内容是否相同,其中,所述第一内容为所述存储单元存储的所述数据项的内容;同步单元,用于如果判断单元判断出所述第二内容与所述第一内容不同,则以所述第一内容和所述第二内容中最新的内容为准进行网络数据集合的同步。
一种网络侧服务器,包括上述的处理数据冲突的装置。
一种终端,包括上述的处理数据冲突的装置。
在本发明实施例中,如果两个网络节点保存的同一个数据项的内容不一致,那么就以两个网络节点保存的内容中最新的内容为准进行网络数据集合的同步。由于最新的内容是用户希望保存的内容,所以,以最新的内容为准进行网络数据集合的同步可以保证最后同步的内容准确无误。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的一种处理数据冲突的方法的流程图;
图2为本发明实施例的一种处理数据冲突的装置的逻辑结构图;
图3为图2所示的同步单元204的一种逻辑结构图;
图4为图2所示的同步单元204的另一种逻辑结构图;
图5为本发明的第一个具体实施例的流程图;
图6为本发明的第二个具体实施例的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为便于本领域技术人员理解本发明实施例,首先对几个技术用语进行说明。
一个网络数据集合可以包括多个数据项,每个数据项可以具有至少一个内容,以网络地址本为例,数据项例如是联系人的姓名、联系人的电话号码等。如果数据项是联系人的姓名,那么数据项的内容例如是张XX的形式;如果数据项是联系人的电话号码,那么数据项的内容例如是139XXXXXXXX的形式。当然,数据项有时也可以称为属性等用语。
更新某个数据项的内容可以是指,将这个数据项的内容由一个内容更新为另一个内容。更新某个数据项的内容也可以是指,这个数据项的内容原本是空白的,或者说,这个数据项原本无内容,更新后,将某个内容填充到这个数据项中,使这个数据项具有了内容。
下面对本发明实施例的一种处理数据冲突的方法进行说明。如图1所示,这种方法包括:
S101:第一网络节点获取第二内容,其中,第二内容为第二网络节点提供的网络数据集合中的数据项的内容;
S102:如果第二内容与第一内容不同,则第一网络节点以第一内容和第二内容中最新的内容为准进行网络数据集合的同步,其中,第一内容为第一网络节点保存的上述数据项的内容。
第一网络节点可以是指网络侧存储网络数据集合的服务器,第二网络节点可以是指终端;第一网络节点也可以是指终端,第二网络节点可以是指网络侧存储网络数据集合的服务器;此外,第一网络节点可以是指终端,第二网络节点也可以是指终端。另外,第一网络节点和第二网络节点都存储S101中提到的网络数据集合,也就是说,S101中提到的网络数据集合既存储在第一网络节点中,又存储在第二网络节点中。
在实际应用中,如果第一网络节点与第二网络节点存储的相同的网络数据集合中的某个数据项的内容发生更新,那么第一网络节点和第二网络节点就需要进行网络数据集合的同步。
具体的,第二网络节点可以向第一网络节点提供第二网络节点保存的网络数据集合,这个网络数据集合包括S101中提到的数据项。这样,第一网络节点通过获取第二网络节点提供的第二网络节点保存的网络数据集合,就获取了第二网络节点提供的上述数据项的第二内容。
当然,第二网络节点也可以在将上述数据项的内容更新为第二内容后,向第一网络节点提供第二内容。可选的,如果第二网络节点只将上述数据项的内容更新为第二内容,那么第二网络节点可以只向第一网络节点提供第二内容。通过这种方式,第一网络节点也可以获取第二网络节点提供的上述数据项的第二内容。
如果第一内容是最新的内容,则第一网络节点可以将第一内容提供给第二网络节点;如果第二内容是最新的内容,则第一网络节点可以将第一网络节点保存的上述数据项的第一内容更新为第二内容。
如果第二内容与第一网络节点保存的上述数据项的第一内容不同,那么为了以最新的内容为准完成网络数据集合的同步,就需要先区分第一内容和第二内容中的哪个内容是最新的。对此,第一网络节点和第二网络节点在更新任何一个数据项的内容后,可以记录更新的时间。在第二网络节点向第一网络节点提供第二内容的同时,第二网络节点向第一网络节点同时提供第二网络节点将S101中提到的数据项的内容更新为第二内容的时间,即,第一网络节点除获取第二网络节点提供的第二内容外,还获取第二网络节点提供的第二网络节点将上述数据项的内容更新为第二内容的第二时间。这样,第一网络节点就可以比较第二时间和第一网络节点将上述数据项的内容更新为第一内容的第一时间。如果第一时间在第二时间之后,那么说明第一内容是最新的,此时,第一网络节点可以将第一内容提供给第二网络节点,以便第二网络节点将上述数据项的内容由第二内容修改为第一内容。如果第一时间在第二时间之前,那么说明第二内容是最新的,此时,第一网络节点需要将第一网络节点保存的上述数据项由第一内容更新为第二内容。
在上述方式中,要求第一网络节点使用的时间和第二网络节点使用的时间是一致的。而在实际应用中,有些网络节点使用的时间可能相对会有些偏差。对此,本发明实施例还提供了另外一种区分最新的内容的方式。即,第一网络节点和第二网络节点在更新任何一个数据项的内容后,可以记录此次更新的时间与第一网络节点和第二网络节点最近一次完成网络数据集合同步的时间之间的间隔。在第二网络节点向第一网络节点提供第二内容的同时,第二网络节点可以向第一网络节点提供第二网络节点将上述数据项的内容更新为第二内容的第二时间间隔,第二时间间隔是指第二网络节点将上述数据项的内容更新为第二内容的第二时间与第一网络节点和第二网络节点最近一次完成网络数据集合同步的时间之间的间隔,即,第一网络节点除获取第二网络节点提供的第二内容外,还获取第二网络节点提供的上述第二时间间隔。这样,第一网络节点就可以比较第二时间间隔和第一网络节点将上述数据项的内容更新为第一内容的第一时间间隔,第一时间间隔是指第一网络节点将上述数据项的内容更新为第一内容的第一时间与第一网络节点和第二网络节点最近一次完成网络数据集合同步的时间之间的间隔。如果第一时间间隔大于第二时间间隔,那么说明第一内容是最新的,此时,第一网络节点可以将第一内容提供给第二网络节点,以便第二网络节点将上述数据项的内容由第二内容修改为第一内容。如果第一时间间隔小于第二时间间隔,那么说明第二内容是最新的,此时,第一网络节点将第一网络节点保存的上述数据项的第一内容更新为第二内容。由此可见,根据时间间隔区分最新的内容可以不必要求两个网络节点使用的时间一致,所以,这种方式更具有普遍适用性。
特别的,在以时间间隔为依据确定最新的内容的情形下,当第一网络节点和第二网络节点完成某次网络数据集合的同步后,如果第一网络节点和第二网络节点中的一个网络节点始终没有修改上述数据项的内容,那么当第一网络节点和第二网络节点再次进行网络数据集合的同步时,这个网络节点更新上述数据项的内容的时间间隔为0。只要另一个网络节点更新上述数据项的内容的时间间隔大于0,那么另一个网络节点更新上述数据项后的内容就是最新的内容。
特别的,上面提到的时间可以是指网络节点所应用的时钟,也可以是指为区分最新的内容而单独设置的时钟,还可以是指晶振时钟。
特别的,一个用户可能会在多个网络节点修改同一个数据项的内容,并且修改后的内容互不相同。这种情况下,第一网络节点除获取第二网络节点提供的上述数据项的第二内容外,还可能获取其他网络节点提供的上述数据项的其他内容。此时,第一网络节点可以从所有的网络节点存储的上述数据项的内容中选择出最新的内容,并以最新的内容为准完成网络数据集合的同步。
对应于上述的处理数据冲突的方法,本发明实施例还提供一种处理数据冲突的装置。如图2所示,这种装置包括:存储单元201,用于存储网络数据集合;获得单元202,用于获取第二内容,其中,第二内容为第二网络节点提供的网络数据集合中的数据项的内容;判断单元203,用于判断第二内容与第一内容是否相同,其中,第一内容为存储单元201存储的上述数据项的内容;同步单元204,用于如果判断单元203判断出第二内容与第一内容不同,则以第一内容和第二内容中最新的内容为准进行网络数据集合的同步。
在实际应用中,如果存储单元201与第二网络节点存储的相同的网络数据集合中的某个数据项的内容发生更新,那么同步单元204和第二网络节点就需要进行网络数据集合的同步。
具体的,第二网络节点可以向获得单元202提供第二网络节点保存的网络数据集合,这个网络数据集合包括上述数据项。这样,获得单元202通过获取第二网络节点提供的第二网络节点保存的网络数据集合,就获取了第二网络节点提供的上述数据项的第二内容。
当然,第二网络节点也可以在将上述数据项的内容更新为第二内容后,向获得单元202提供第二内容。优选的,如果第二网络节点只将上述数据项的内容更新为第二内容,那么获得单元202可以只向第一网络节点提供第二内容。通过这种方式,获得单元202也可以获取第二网络节点提供的上述数据项的第二内容。
如果第一内容是最新的内容,则同步单元204可以将第一内容提供给第二网络节点;如果第二内容是最新的内容,则同步单元204可以将第一网络节点保存的上述数据项的第一内容更新为第二内容。
如果判断单元203判断出第二内容与存储单元201保存的上述数据项的第一内容不同,那么同步单元204为了以最新的内容为准完成网络数据集合的同步,就需要先区分第一内容和第二内容中的哪个内容是最新的。
对此,同步单元204和第二网络节点在更新任何一个数据项的内容后,可以记录更新的时间。在第二网络节点向获得单元202提供第二内容的同时,第二网络节点向获得单元202同时提供第二网络节点将上述数据项的内容更新为第二内容的时间,即,获得单元202除获取第二网络节点提供的第二内容外,还获取第二网络节点提供的第二网络节点将上述数据项的内容更新为第二内容的第二时间。这样,同步单元204就可以比较第二时间和同步单元204将上述数据项的内容更新为第一内容的第一时间。如果第一时间在第二时间之后,那么说明第一内容是最新的,此时,同步单元204可以将第一内容提供给第二网络节点,以便第二网络节点将上述数据项的内容由第二内容修改为第一内容。如果第一时间在第二时间之前,那么说明第二内容是最新的,此时,同步单元204需要将存储单元201保存的上述数据项由第一内容更新为第二内容。在具体实现时,同步单元204的逻辑结构可以如图3所示,即,包括:第一比较子单元2041A,用于比较第一时间和第二时间;第一提供子单元2042A,用于如果第一比较子单元2041A确定第一时间在第二时间之后,则将第一内容提供给第二网络节点;第一更新子单元2043A,用于如果第一比较子单元2041A确定第一时间在第二时间之前,则将存储单元201保存的上述数据项的第一内容更新为第二内容。
另外,同步单元204和第二网络节点在更新任何一个数据项的内容后,可以记录此次更新的时间与同步单元204和第二网络节点最近一次完成网络数据集合同步的时间之间的间隔。在第二网络节点向获得单元202提供第二内容的同时,第二网络节点可以向获得单元202提供第二网络节点将上述数据项的内容更新为第二内容的第二时间间隔,第二时间间隔是指第二网络节点将上述数据项的内容更新为第二内容的第二时间与同步单元204和第二网络节点最近一次完成网络数据集合同步的时间之间的间隔,即,获得单元202除获取第二网络节点提供的第二内容外,还获取第二网络节点提供的上述第二时间间隔。这样,同步单元204就可以比较第二时间间隔和同步单元204将上述数据项的内容更新为第一内容的第一时间间隔,第一时间间隔是指同步单元204将上述数据项的内容更新为第一内容的第一时间与同步单元204和第二网络节点最近一次完成网络数据集合同步的时间之间的间隔。如果第一时间间隔大于第二时间间隔,那么说明第一内容是最新的,此时,同步单元204可以将第一内容提供给第二网络节点,以便第二网络节点将上述数据项的内容由第二内容修改为第一内容。如果第一时间间隔小于第二时间间隔,那么说明第二内容是最新的,此时,同步单元204将存储单元201保存的上述数据项的第一内容更新为第二内容。在具体实现时,同步单元204的逻辑结构可以如图4所示,即,包括:第二比较子单元2041B,用于比较第一时间间隔和第二时间间隔;第二提供子单元2042B,用于如果第二比较子单元2041B确定第一时间间隔大于第二时间间隔,则将第一内容提供给第二网络节点;第二更新子单元2043B,用于如果第二比较子单元2041B确定第一时间间隔小于第二时间间隔,则将存储单元201保存的上述数据项的第一内容更新为第二内容。
特别的,在以时间间隔为依据确定最新的内容的情形下,当同步单元204和第二网络节点完成某次网络数据集合的同步后,如果同步单元204或第二网络节点始终没有修改上述数据项的内容,那么当同步单元204和第二网络节点再次进行网络数据集合的同步时,同步单元204或第二网络节点更新上述数据项的内容的时间间隔为0。只要第二网络节点或同步单元204更新上述数据项的内容的时间间隔大于0,那么第二网络节点或同步单元204更新上述数据项后的内容就是最新的内容。
特别的,上面提到的时间可以是指网络节点所应用的时钟,也可以是指为区分最新的内容而单独设置的时钟,还可以是指晶振时钟。
特别的,一个用户可能会在多个网络节点修改同一个数据项的内容,并且修改后的内容互不相同。这种情况下,获得单元202除获取第二网络节点提供的上述数据项的第二内容外,还可能获取其他网络节点提供的上述数据项的其他内容。此时,同步单元204可以从所有的网络节点存储的上述数据项的内容中选择出最新的内容,并以最新的内容为准完成网络数据集合的同步。
需要说明的是,上述的处理数据冲突的装置中的每个单元都可以设置或应用在网络侧服务器或终端中,这些单元在网络侧服务器或终端中的工作方式与在上述的处理数据冲突的装置中的工作方式相同,这里不再赘述。
还需要说明的是,上述的处理数据冲突的装置可以设置或应用在第一网络节点中。此时,第一网络节点可以是网络侧存储网络数据集合的服务器,第二网络节点可以是终端。第一网络节点也可以是终端,第二网络节点也可以是网络侧存储网络数据集合的服务器。此外,第一网络节点可以是终端,第二网络节点也可以是终端。另外,第一网络节点和第二网络节点都可以存储上述数据项所在的网络数据集合,也就是说,上述数据项所在的网络数据集合既存储在第一网络节点中,又存储在第二网络节点中。
为使本领域技术人员更加清楚的理解本发明实施例,下面再介绍两个具体实施例,在这两个实施例中,网络数据集合均为网络地址本。
第一个具体实施例
在这个具体实施例中,以进行修改的时间作为依据,选择出最新的内容。具体流程如图5所示,包括:
S501:终端和服务器分别对同一个网络地址本(即第一网络地址本)的同一个数据项(即第一数据项)的内容进行更新,并且终端记录更新时间为Ta,服务器记录更新时间为Tb;
S502:终端将其更新后的上述数据项的内容及更新时间Ta同步给服务器;
S503:服务器检查出终端更新后的上述数据项的内容与服务器更新后的上述数据项的内容不同,之后,服务器比较Ta和Tb,如果Ta早于Tb,则转S504,如果Ta晚于Tb,则转S506;
S504:服务器将其更新后的上述数据项的内容同步给终端,转S505;
S505:终端将其更新后的上述数据项的内容更新为服务器更新后的上述数据项的内容;同步流程结束。
S506:服务器将其更新后的上述数据项的内容更新为终端更新后的上述数据项的内容。同步流程结束。
对于第一个具体实施例,正确的选择出最新的内容的一个前提是,终端的时钟与服务器的时钟应该达到同步。
在具体实现时,可以使用多种方式来实现时钟的同步。
例如,对于码分多址(CDMA,Code Division Multiple Access)系统,由于CDMA网络自身的特性,可以直接通过时钟与CDMA网络时间同步的方式来实现。
再例如,采用网络时间协议(NTP,Network Time Protocol)的方式来实现。
NTP是用来使计算机时间同步化的一种协议,它可以使计算机对其服务器或时钟源(如石英钟、全球定位系统(GPS,Global Position System)等)进行同步化,它可以提供高精准度的时间校正(局域网(LAN,Local AreaNetwork)上与标准间差小于1毫秒,广域网(WAN,Wide Area Network)上与标准间差小于几十毫秒),且可由加密确认的方式来防止恶毒的协议攻击。
NTP提供准确时间,首先要有准确的时间来源,这一时间应该是国际标准时间(UTC,Coordinated Universal Time maintained by International TimeBureau)。NTP获取UTC的时间来源可以是原子钟、天文台、卫星,当然,也可以从互联网(Internet)上获取。时间可以按NTP服务器的等级传播。具体的,按照离外部UTC源的远近将所有服务器归入不同的Stratum(层)中。Stratum-1在顶层,有外部UTC接入,而Stratum-2则从Stratum-1获取时间,Stratum-3从Stratum-2获取时间,以此类推,但Stratum层的总数限制在15以内。所有的服务器在逻辑上形成阶梯式的架构相互连接,而Stratum-1的时间服务器是整个系统的基础。
计算机主机一般同多个时间服务器连接,利用统计学的算法过滤来自不同服务器的时间,以选择最佳的路径和来源来校正主机时间。即使主机在长时间无法与某一时间服务器相联系的情况下,NTP服务依然有效运转。
为防止对时间服务器的恶意破坏,NTP使用了识别(Authentication)机制,检查来对时的信息是否是真正来自所宣称的服务器,并检查资料的返回路径,以提供对抗干扰的保护机制。
时间服务器可以利用以下三种方式与其他服务器对时:广播(broadcast)/组播(multicast)、客户端(client)/服务器(server)和对称方式(symmetric)。
broadcast/multicast方式主要适用于局域网的环境,时间服务器周期性的以广播的方式,将时间信息传送给其他网络中的时间服务器,其时间仅会有少许的延迟,而且配置非常的简单。但是,通过此方式得到的时间的精确度并不高,对时间精确度要求不是很高的情况下可以采用。
在symmetric方式中,一台服务器可以从远端的时间服务器获取时钟,如果需要,也可将时间信息提供给远端的时间服务器。此方式适用于配置冗余的时间服务器,时间服务器可以提供更高的精确度给主机。
client/server方式与symmetric方式相似,只是不向其他时间服务器提供时间信息,此方式适用于一台时间服务器接收上层时间服务器的时间信息,并提供时间信息给下层的用户。
对于上述三种方式,时间信息的传输都使用用户数据报文协议(UDP,User Datagram Protocol)。每一个时间包内包含最近一次事件的时间信息、包上次事件的发送与接收时间、传递当前事件的当地时间以及此包的接收时间。在收到上述包后,即可计算出时间的偏差量与传递资料的时间延迟。时间服务器利用一个过滤演算法,及先前八个校时资料计算出时间参考值,判断后续校时包的精确性,一个相对较高的离散程度,表示一个对时资料的可信度比较低。仅从一个时间服务器获取校时信息,不能校正通信过程所造成的时间偏差,而同时与许多时间服务器通信校时,就可利用过滤算法找出相对较可靠的时间来源,然后采用找出的可靠的时间来校时。
第二个优具体施例
在这个具体实施例中,以进行修改的时间间隔作为依据,选择出最新的内容。具体流程如图6所示,包括:
S601:终端和服务器进行网络地址本的同步,终端记录完成同步的时间Ta,服务器记录完成同步的时间Tb;
S602:终端和服务器分别对同一个数据项(即第一数据项)的内容进行更新,终端记录更新的时间间隔Δt1,Δt1为终端更新上述数据项的内容的时间与Ta的差值,服务器记录更新的时间间隔Δt2,Δt2为服务器更新上述数据项的内容的时间与Tb的差值。在实际应用中,终端可以设置一个计时器1,服务器也可以设置一个计时器2,在时间Ta,计时器1的计数可以置于0,在时间Tb,计时器2的计数可以置于0。当终端更新完上述数据项的内容时,计数器1的计数就是Δt1;当服务器更新完上述数据项的内容时,计数器2的计数就是Δt2。
需要说明的是,终端更新上述数据项的内容时,终端可以处于离线状态,即,终端没有与服务器连接,当然,无论终端是处于在线状态,还是处于离线状态,计数器1都照常计时。
S603:终端将其更新后的上述数据项的内容及时间间隔Δt1同步给服务器。例如,当终端上线时,终端可以与服务器之间进行网络地址本的同步,在具体实现时,终端可以将其更新后的上述数据项的内容同步给服务器。
S604:服务器检查出终端更新后的上述数据项的内容与服务器更新后的上述数据项的内容不同,之后,服务器比较Δt1和Δt2,如果Δt1小于Δt2,则转S605,如果Δt1大于Δt2,则转S607;
S605:服务器将其更新后的上述数据项的内容同步给终端,转S606;
S606:终端将其更新后的上述数据项的内容更新为服务器更新后的上述数据项的内容;结束对该数据项的同步。
S607:服务器将其更新后的上述数据项的内容更新为终端更新后的上述数据项的内容;结束对该数据项的同步。
在实际应用中,由于某种或某些原因,终端的时钟可能会发生非正常的变化。例如,有的终端重新启动后,其时钟可能会归0。再例如,使用终端的用户对终端的时钟进行修改。这种情况下,终端记录的更新时间或时间间隔可能会影响服务器选择最新的内容,或者说,可能会导致服务器选择的内容并不是最新的内容。例如,假设当终端在与服务器完成网络数据集合的同步后,终端的电池能量耗尽,时钟归零。当终端更新某个数据项的内容时,终端记录的更新时间为零。如果服务器在与终端完成网络数据集合的同步后,也更新了上述数据项的内容,并记录了大于零的时间Tb,那么当终端将其更新后的上述数据项的内容及更新时间提供给服务器后,服务器必然要认为自己更新后的上述数据项的内容才是最新的内容,于是,终端与服务器以服务器更新后的上述数据项的内容为准完成网络数据集合的同步。显然,终端与服务器最后存储的上述数据项的内容不是用户希望存储的内容。对此,当终端需要更新上述数据项的内容时,可以先检查当前时间与之前一次完成网络数据集合同步的时间,如果当前时间早于之前一次完成网络数据集合同步的时间,则说明终端的时钟在之前一次完成网络数据集合后调整过,此时,终端可以向用户提示,将当前时钟调整到与之前一次完成网络数据集合同步的时间相适应。当用户将终端的时钟调整到与之前一次完成网络数据集合同步的时间相适应后,终端记录的更新时间才是准确的参考时间。
需要说明的是,在实际应用中,一个数据项可以有多个数据,这些数据组成了这个数据项的内容。以网络地址本为例,在电话号码这个数据项中,可能有形式为“010-59XXXXXX”(固定电话号码)的数据和形式为“139XXXXXXXX”(移动电话号码)的数据,电话号码这个数据项的内容就是“010-59XXXXXX”和“139XXXXXXXX”。在实际应用中,对于同一个数据项,第一网络节点可能保存了关于这个数据项的多个数据,第二网络节点可能只保存了关于这个数据项的一个数据。当第二网络节点将关于这个数据项的这一个数据提供给第一网络节点时,如果第一网络节点发现第二网络节点提供的这一个数据与第一网络节点自己保存的关于这个数据项的多个数据中的一个数据相同,那么可以认为这种情形不属于第二网络节点提供的这个项的内容与第一网络节点自己保存的这个项的内容不同的情形。例如,对于电话号码这个数据项,假设网络侧服务器保存了“010-59XXXXXX”和“139XXXXXXXX”,终端只保存了“010-59XXXXXX”,当终端将其保存的“010-59XXXXXX”上报给网络侧服务器后,如果网络侧服务器发现终端提供的“010-59XXXXXX”与网络侧服务器自己保存的“010-59XXXXXX”是相同的号码,那么网络侧服务器可以认为自己保存的电话号码这个数据项的内容与终端保存的电话号码这个数据项的内容并不属于不相同的情形,这种情况下,网络侧服务器可以不发起网络地址本的同步过程。当然,对于同一个数据项,如果第一网络节点发现第二网络节点只保存关于这个数据项的一个数据,而第一网络节点自己保存了关于这个数据项的多个数据,那么第一网络节点也可以认为这种情形属于第二网络节点提供的这个项的内容与第一网络节点自己保存的这个项的内容不同的情形,这种情况下,第一网络节点可以发起网络地址本的同步过程,以使第一网络节点保存的这个数据项的内容与第二网络节点保存的这个数据项的内容完全一致。
还需要说明的是,在本发明实施例中,对于同一个数据项,两个网络节点保存的这个数据项的内容不同可以是指,两个网络节点分别将自己保存的这个数据项的内容修改为不同的内容,而导致两个网络节点对于同一个数据项保存了不同的内容,即,两个网络节点保存的同一个数据项的内容发生了冲突。例如,假设网络侧服务器和终端进行网络地址本的同步后,网络侧服务器将联系人A的电话号码修改为“010-59XXXXXX”,终端将联系人A的电话号码修改为“021-67XXXXXX”。当终端将其保存的联系人A的电话号码提供给网络侧服务器时,网络侧服务器会发现自己保存的联系人A的电话号码“010-59XXXXXX”与终端提供的联系人A的电话号码“021-67XXXXXX”不一致,即,网络侧服务器保存的联系人A的电话号码与终端保存的联系人A的电话号码发生了冲突。
综上所述,如果两个网络节点保存的同一个数据项的内容不一致,那么就以两个网络节点保存的内容中最新的内容为准进行网络数据集合的同步。由于最新的内容是用户希望保存的内容,所以,以最新的内容为准进行网络数据集合的同步可以保证最后同步的内容准确无误。
需要说明的是,对于本发明实施例的处理数据冲突的装置、网络侧服务器及终端来说,其中包括的很多单元都是虚拟单元,即,由计算机语言的语句或语句组合实现。在实际应用中,不同语句的组合实现的功能可以有所不同,这种情况下,对虚拟单元的划分也可能有所不同。也就是说,本发明实施例只是给出了一种虚拟单元的划分方式,在实际应用中,本领域技术人员可以根据实际需要而采用不同的虚拟单元的划分方式,只要保证能够实现本发明实施例提到的处理数据冲突的装置、网络侧服务器及终端所具有的功能即可。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (15)
1.一种处理数据冲突的方法,其特征在于,包括:
第一网络节点获取第二内容,其中,所述第二内容为第二网络节点提供的网络数据集合中的数据项的内容;
如果所述第二内容与第一内容不同,则第一网络节点以所述第一内容和所述第二内容中最新的内容为准进行网络数据集合的同步,其中,所述第一内容为所述第一网络节点保存的所述数据项的内容。
2.如权利要求1所述的方法,其特征在于,第一网络节点获取所述第二内容包括:第一网络节点获取第二网络节点提供的第二网络节点保存的网络数据集合,所述网络数据集合包括所述数据项;或
第一网络节点获取第二网络节点在将所述数据项的内容更新为所述第二内容后、提供的第二内容。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
所述第一网络节点获取所述第二网络节点提供的第二网络节点将所述数据项的内容更新为第二内容的第二时间;
所述第一网络节点保存所述第一网络节点将所述数据项的内容更新为所述第一内容的第一时间;
所述第一网络节点以所述第一内容和所述第二内容中最新的内容为准进行网络数据集合的同步包括:
所述第一网络节点比较所述第一时间和所述第二时间;
如果第一时间在第二时间之前,则所述第一网络节点将所述第一网络节点保存的所述数据项的所述第一内容更新为所述第二内容。
4.如权利要求3所述的方法,其特征在于,如果所述第一时间在所述第二时间之后,所述方法还包括:
所述第一网络节点将所述第一内容提供给所述第二网络节点。
5.如权利要求1所述的方法,其特征在于,所述方法还包括:
所述第一网络节点获取第二网络节点提供的第二时间间隔,所述第二时间间隔为第二网络节点将所述数据项的内容更新为所述第二内容的第二时间与第一网络节点和第二网络节点最近一次完成网络数据集合同步的时间之间的间隔;
第一网络节点保存第一时间间隔,所述第一时间间隔为第一网络节点将所述数据项的内容更新为所述第一内容的第一时间与第一网络节点和第二网络节点最近一次完成网络数据集合同步的时间之间的间隔;
所述第一网络节点以所述第一内容和所述第二内容中最新的内容为准进行网络数据集合的同步包括:
所述第一网络节点比较所述第一时间间隔和所述第二时间间隔;
如果所述第一时间间隔小于所述第二时间间隔,则所述第一网络节点将所述第一网络节点保存的所述数据项的所述第一内容更新为所述第二内容。
6.如权利要求5所述的方法,其特征在于,如果所述第一时间间隔大于所述第二时间间隔,所述方法还包括:所述第一网络节点将所述第一内容提供给所述第二网络节点。
7.如权利要求1-6任意一项所述的方法,其特征在于,第一网络节点是网络侧存储网络数据集合的服务器,第二网络节点是终端;或者,
第一网络节点是终端,第二网络节点是网络侧存储网络数据集合的服务器;或者,
第一网络节点是终端,第二网络节点是终端。
8.一种处理数据冲突的装置,其特征在于,包括:
存储单元,用于存储网络数据集合;
获得单元,用于获取第二内容,其中,所述第二内容为第二网络节点提供的网络数据集合中的数据项的内容;
判断单元,用于判断所述第二内容与第一内容是否相同,其中,所述第一内容为所述存储单元存储的所述数据项的内容;
同步单元,用于如果判断单元判断出所述第二内容与所述第一内容不同,则以所述第一内容和所述第二内容中最新的内容为准进行网络数据集合的同步。
9.如权利要求8所述的装置,其特征在于,所述获得单元具体用于获取第二网络节点提供的第二网络节点保存的网络数据集合,所述网络数据集合包括所述数据项;或者
所述获得单元具体用于获取第二网络节点在将所述数据项的内容更新为所述第二内容后、提供的第二内容。
10.如权利要求8所述的装置,其特征在于,所述获得单元还用于获取所述第二网络节点提供的第二网络节点将所述数据项更新为第二内容的第二时间;
所述存储单元还用于保存同步单元将存储单元存储的所述数据项的内容更新为所述第一内容的第一时间;
所述同步单元包括:
第一比较子单元,用于比较所述第一时间和所述第二时间;
第一更新子单元,用于如果所述第一比较子单元确定第一时间在第二时间之前,则将所述存储单元保存的所述数据项的所述第一内容更新为所述第二内容。
11.如权利要求10所述的装置,其特征在于,所述同步单元还包括:第一提供子单元,用于如果所述第一比较子单元确定第一时间在第二时间之后,则将所述第一内容提供给第二网络节点。
12.如权利要求8所述的装置,其特征在于,所述获得单元还用于获取第二网络节点提供的第二时间间隔,所述第二时间间隔为第二网络节点将所述数据项的内容更新为所述第二内容的第二时间与同步单元和第二网络节点最近一次完成网络数据集合同步的时间之间的间隔;
所述存储单元还用于保存第一时间间隔,所述第一时间间隔为同步单元将存储单元存储的所述数据项的内容更新为所述第一内容的第一时间与同步单元和第二网络节点最近一次完成网络数据集合同步的时间之间的间隔;
所述同步单元包括:
第二比较子单元,用于比较所述第一时间间隔和所述第二时间间隔;
第二更新子单元,用于如果第二比较子单元确定所述第一时间间隔小于所述第二时间间隔,则将所述存储单元保存的所述数据项的所述第一内容更新为所述第二内容。
13.如权利要求12所述的装置,其特征在于,所述同步单元还包括:第二提供子单元,用于如果第二比较子单元确定所述第一时间间隔大于所述第二时间间隔,则将所述第一内容提供给第二网络节点。
14.一种网络侧服务器,其特征在于,包括如权利要求8-13任意一项所述的处理数据冲突的装置。
15.一种终端,其特征在于,包括如权利要求8-13任意一项所述的处理数据冲突的装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910203684 CN101924747A (zh) | 2009-06-17 | 2009-06-17 | 处理数据冲突的方法、装置、网络侧服务器及终端 |
PCT/CN2010/073488 WO2010145457A1 (zh) | 2009-06-17 | 2010-06-03 | 处理数据冲突的方法、装置、网络侧服务器及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910203684 CN101924747A (zh) | 2009-06-17 | 2009-06-17 | 处理数据冲突的方法、装置、网络侧服务器及终端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101924747A true CN101924747A (zh) | 2010-12-22 |
Family
ID=43339396
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200910203684 Pending CN101924747A (zh) | 2009-06-17 | 2009-06-17 | 处理数据冲突的方法、装置、网络侧服务器及终端 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN101924747A (zh) |
WO (1) | WO2010145457A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103514064A (zh) * | 2012-06-28 | 2014-01-15 | 国际商业机器公司 | 记录备份信息的方法和装置 |
CN105100290A (zh) * | 2015-09-30 | 2015-11-25 | 北京恒华伟业科技股份有限公司 | 一种数据同步方法及装置 |
CN111428453A (zh) * | 2019-12-31 | 2020-07-17 | 杭州海康威视数字技术股份有限公司 | 批注同步过程中的处理方法、装置以及系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7730026B2 (en) * | 2004-07-01 | 2010-06-01 | Apple Inc. | Method and system using reusable state information for synchronization and maintenance of data |
JP2008027163A (ja) * | 2006-07-20 | 2008-02-07 | Fujitsu Ltd | データ記録装置、データ記録プログラムおよびデータ記録方法 |
CN101068156B (zh) * | 2006-12-20 | 2012-11-07 | 腾讯科技(深圳)有限公司 | 数据同步时冲突处理方法及冲突处理服务器 |
-
2009
- 2009-06-17 CN CN 200910203684 patent/CN101924747A/zh active Pending
-
2010
- 2010-06-03 WO PCT/CN2010/073488 patent/WO2010145457A1/zh active Application Filing
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103514064A (zh) * | 2012-06-28 | 2014-01-15 | 国际商业机器公司 | 记录备份信息的方法和装置 |
CN105100290A (zh) * | 2015-09-30 | 2015-11-25 | 北京恒华伟业科技股份有限公司 | 一种数据同步方法及装置 |
CN111428453A (zh) * | 2019-12-31 | 2020-07-17 | 杭州海康威视数字技术股份有限公司 | 批注同步过程中的处理方法、装置以及系统 |
CN111428453B (zh) * | 2019-12-31 | 2023-09-05 | 杭州海康威视数字技术股份有限公司 | 批注同步过程中的处理方法、装置以及系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2010145457A1 (zh) | 2010-12-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2378718B1 (en) | Method, node and system for controlling version in distributed system | |
RU2438263C2 (ru) | Способы и устройство для синхронизации набора данных в среде беспроводной связи | |
US8332867B2 (en) | Methods and devices for sending transmission-time or reception-time information for a transmitted or received message | |
US20050235019A1 (en) | Method and system for transmitting data for data synchronization between server and client when data synchronization session was abnormally terminated | |
CN103530362B (zh) | 一种用于多副本分布式系统的计算机数据读写方法 | |
EP3890411A1 (en) | Time synchronization method and apparatus | |
WO2020043181A1 (zh) | 时钟同步方法及装置、系统、存储介质、电子装置 | |
EP2378437A1 (en) | Data synchronization methods in communication systems | |
JP2012170076A (ja) | アビオニクスネットワーク内のフリーランニングノードを時間同期させる方法 | |
US9417612B2 (en) | Methods and apparatuses for processing time zone identifiers | |
WO2018104237A1 (en) | Method, device, and computer program for improving synchronization of clocks in devices linked according to a daisy-chain topology | |
CN111259072A (zh) | 数据同步方法、装置、电子设备和计算机可读存储介质 | |
CN104052565A (zh) | 一种时间同步方法和通信终端 | |
CN111835446A (zh) | 主设备确定方法、装置及设备、介质 | |
CN101924747A (zh) | 处理数据冲突的方法、装置、网络侧服务器及终端 | |
CN114157677A (zh) | 数据同步方法及相关产品 | |
CN102594874A (zh) | 一种同步处理方法和装置 | |
JP2013160521A (ja) | 時刻設定方法、通信装置、および時刻設定プログラム | |
CN110071778B (zh) | 一种对时方法、装置、设备及介质 | |
JP2012113504A (ja) | 通信端末、該通信端末の制御方法、及びプログラム | |
EP2584479B1 (en) | Synchronization method and associated apparatus | |
CN105141687A (zh) | 一种生产消息的方法 | |
JP5115265B2 (ja) | 情報処理装置およびタイミング同期方法 | |
US20220263593A1 (en) | Time sync device, time sync method, and program | |
US11956331B2 (en) | System and method for cache synchronization among network gateways in networks such as software defined networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20101222 |