WO2009152716A1 - 一种数据指纹保存方法、装置和多设备数据同步方法 - Google Patents

一种数据指纹保存方法、装置和多设备数据同步方法 Download PDF

Info

Publication number
WO2009152716A1
WO2009152716A1 PCT/CN2009/071870 CN2009071870W WO2009152716A1 WO 2009152716 A1 WO2009152716 A1 WO 2009152716A1 CN 2009071870 W CN2009071870 W CN 2009071870W WO 2009152716 A1 WO2009152716 A1 WO 2009152716A1
Authority
WO
WIPO (PCT)
Prior art keywords
fingerprint
terminal
algorithm
fingerprint algorithm
unified
Prior art date
Application number
PCT/CN2009/071870
Other languages
English (en)
French (fr)
Inventor
宋悦
王睿
刘海涛
Original Assignee
华为技术有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to CN2009801013612A priority Critical patent/CN101897147B/zh
Publication of WO2009152716A1 publication Critical patent/WO2009152716A1/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Definitions

  • An information judging module configured to determine whether device information of the plurality of terminals received by the information acquiring module is the same;
  • a fingerprint obtaining module configured to obtain a data fingerprint obtained by the unified fingerprint algorithm selected by the unified module of the algorithm sent by each terminal that can be unified by the fingerprint algorithm;
  • the fingerprint saving method is directed to a fingerprint generated by a terminal and saved by a server, that is, for a one-way fingerprint. After the server determines that a set of fingerprints is saved for multiple terminals, the server can inform the terminal of the data items that need not be sent and the fingerprints that need not be sent.
  • the application scenario of the embodiment of the present invention includes multiple terminals, in the foregoing S103 and S104, there is a terminal that does not specify a fingerprint algorithm and a terminal that specifies a fingerprint algorithm but allows the terminal of the specified fingerprint algorithm to coexist. In this case, all need to go to S107, W, for the end of the algorithm without fingerprint The terminal and the specified algorithm, but allowing the terminal of the specified fingerprint algorithm to change the operation of the unified fingerprint algorithm at the same time, such variations are also within the scope of the present invention.
  • the server saves corresponding data fingerprints for each terminal.
  • the S20K server obtains the fingerprint algorithm of multiple terminals.
  • the server notifies each terminal that supports the unified fingerprint algorithm to change the fingerprint algorithm to a unified fingerprint algorithm.
  • the comparison data fingerprint includes two cases - Case 1:
  • the server sends test data to each terminal using the same fingerprint algorithm, and the terminal calculates a data fingerprint according to the unified fingerprint algorithm for the test data and feeds back to the server, and the server receives and compares the data fingerprint. .
  • the terminal sends Pkg#5 to the server, and sends the data item corresponding to the ID of the data item indicated by the Pkg#4 to the server.
  • the server sends Pkg#6, returns the receiving status information, sends the modified data item of the server, and indicates whether the terminal feeds back the fingerprint and which fingerprints are fed back when the fingerprint is fed back.
  • the terminal sends Pkg#3 to the server, and includes an Alert message.
  • this is the leaf node that records the fingerprint algorithm used by a DS client or a database of the server. It is one of the algorithms supported by the client.
  • the information acquiring module 71 specifically includes two configurations according to the manner of obtaining the first mode.
  • the information acquiring module 71 includes:
  • the server further includes an algorithm unifying module 82, configured to determine, according to the fingerprint algorithm acquired by the information acquiring module 81, whether the fingerprint algorithm of each terminal can be unified, and when the fingerprint algorithms of the terminals can be unified, select a unified fingerprint algorithm for each terminal, and the algorithm
  • the unified module 82 may specifically include:
  • the server further includes: a fingerprint obtaining module 83, configured to acquire a data fingerprint obtained by each terminal according to a unified fingerprint algorithm selected by the algorithm unified module 82;

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Collating Specific Patterns (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

一种数据指纹保存方法、 装置和多设备数据同步方法 本申请要求于 2008年 6月 19日提交中国专利局、 申请号为 200810127065.7、 发明 名称为 "一种数据指纹保存方法和装置"的中国专利申请的优先权,其全部内容通过引 用结合在本申请中。
技术领域
本发明涉及数据通信领域, 特别是涉及一种数据指纹保存方法、 装置和多设备数据 同步方法。
发明背景
数据同步即通过数据通信使终端 (即终端设备)和服务器数据一致。
数据同步中可以引入指纹技术, 一个具体的例子为: 服务器判断终端存储的数据的 指纹与服务器存储的数据的指纹是否相同, 以确定终端存储的数据与服务器自身存储的 数据是否相同。 因为无论哪一方修改了数据, 指纹都会发生变化。 如果确定指纹相同, 则表明服务器与终端中存储的数据相同, 终端不需要向服务器发送数据, 如果确定指纹 不相同, 则表明数据有修改, 这时如果冲突检测策略是以服务器端的数据为准, 则终端 不需要向服务器发送数据。 通过比较指纹可以节省流量, 避免发送一些不必要的数据。 另外, 指纹也可以用作断点续传。
在现有技术中, 在指纹只由终端产生的情况下, 服务器需要对每一个终端都保存一 套指纹, 服务器通过对比终端发送来的指纹和服务器中为该终端存储的指紋, 来判断终 端中的数据是否与服务器中的数据相同。 另外, 服务器向终端同步完数据后, 终端需要 上报这些数据的指纹, 服务器保存上报的指纹。
在多个终端针对同一个数据库与服务器进行数据同步的场景下,服务器会为每一个 终端都保存一套指纹,从而浪费了存储空间。而且若多个终端中的数据发生了相同的更 改时,没有一种有效的手段在减少各终端向服务器发送数据量的同时降低服务器的处理 复杂度, 因为此时服务器会对指纹进行多次对比, 以确定某终端欲发送的数据与其他终 端的数据是否相同;另外,每个终端都会向服务器上报指纹,这将增加空中资源的开销。 发明内容
本发明实施例提供一种数据指紋保存方法、装置和多设备数据同步方法,解决在多 个设备与服务器中的同一个数据库进行同步时, 服务器需要保存多套指纹的问题, 简化 了服务器处理流程, 减少了资源占用。 本发明实施例提供的数据指纹保存方法, 包括- 从多个终端中选取采用统一指纹算法、针对相同数据能够计算出相同数据指纹的各 终端; 为所述选取的各终端仅保存一套通过所述统一指纹算法得到的数据指纹。
本发明实施例提供的多设备数据同步方法, 包括:
为多个终端保存一套相同的通过统一指纹算法得到的数据指纹;
接收终端发送的数据项的指纹;
判断所述接收到的指纹与已保存的所述相同的通过所述统一指纹算法得到的数据 指纹是否相同; 若所述指纹不相同, 则通知所述终端发送所述指纹不相同的数据项; 接收所述终端发送的所述指纹不相同的数据项。
本发明实施例提供的一种服务器, 包括- 信息获取模块, 用于获取多个终端的设备信息和指纹算法;
信息判断模块,用于判断所述信息获取模块所接收的所述多个终端的设备信息是否 相同;
算法统一模块,用于判断所述多个终端中设备信息相同的终端是否可以统一指纹算 法, 为设备信息相同且指纹算法可以统一的终端选择统一指纹算法;
指纹保存模块, 用于在所述算法统一模块选择所述统一指纹算法后, 为所述设备信 息相同且指纹算法可以统一的终端仅保存一套相同的通过所述算法统一模块选择的统 一指纹算法得到的数据指紋, 或在所述算法统一模块不能选择统一指紋算法时, 为所述 多个终端分别保存相应的数据指纹。
本发明实施例提供的另一种服务器, 包括- 信息获取模块, 用于获取多个终端的指纹算法;
算法统一模块,用于根据所述信息获取模块所获取的指纹算法判断是否可以统一各 所述终端的指纹算法, 并为各可以统一指纹算法的终端选择统一指纹算法;
指纹获取模块,用于获取各所述可以统一指纹算法的终端发送的根据所述算法统一 模块选择的统一指纹算法所得到的数据指纹;
指纹判断模块, 用于判断所述指纹获取模块接收的数据指纹是否相同; 指紋保存模块,用于为各所述指紋判断模块的判断结果为相同的终端仅保存一套相 同的通过所述统一指纹算法得到的数据指纹,或在所述算法统一模块不能选择统一指纹 算法时, 为各所述终端分别保存相应的数据指纹。
通过本发明实施例,服务器可以为针对同一个数据库同步的多个终端仅保存一套指 纹, 节约了存储空间, 并且还可以节省后续同步流程中的数据量, 节省了空口资源。 另 外, 使用这种方式, 相当于在服务器中保存了一套最新的指纹, 在智能同步时, 服务器 可以很方便的检测终端的一项数据是否最新, 节省了处理时间。 附图简要说明
图 1为本发明实施例一提供的一种数据指纹保存方法的流程示意图;
图 2为本发明实施例二提供的一种数据指纹保存方法的流程示意图;
图 3为本发明实施例三的保存一套指纹时服务器与终端的同步流程图; 图 4为本发明实施例四的保存一套指纹时服务器与终端的同步流程图; 图 5为本发明实施例五的一种服务器单独发起一个测试同步会话来判断是否保 存同一套指纹的方法流程图;
图 6为本发明实施例六的终端的指紋管理对象 MO的结构示意图;
图 7为本发明实施例九的一种服务器的结构示意图;
图 8为本发明实施例十的一种服务器的结构示意图。 实施本发明的方式
本发明实施例提供一种数据指紋保存方法、和装置和多设备数据同步方法,解决了 在多个设备与服务器中的同一个数据库进行数据同步时,服务器需要保存多套指纹的问 题, 简化了服务器处理流程, 减少了资源占用。
本发明实施例所述的指纹保存方法针对由终端产生指纹, 由服务器来保存的指纹, 也即针对单向指纹。服务器确定了为多个终端保存一套指纹后, 服务器可以告知终端不 需要发送的数据项和不需要发送的指纹。
如图 1所示, 为本发明实施例一提供的一种数据指纹保存方法的流程示意图。服务 器通过对比各个终端支持的指紋算法集、 针对某一数据的指纹算法及终端的设备信息 (也即设备参数) 来确定是否对各终端保存一套指纹。
获取终端指纹算法 /算法集的方法包括:
数据同步时由终端向服务器发送;
服务器从终端的 MO (Management Object, 管理对象) 中获取;
服务器从终端的设备信息中获取。
在获取指纹算法后服务器就可以对它们进行对比, 选出各个终端都支持的一种算 法, 并通过适当的方式通知终端, 然后服务器就可以对这些终端保存一套指纹。 具体步骤如下-
S10 服务器获取多个终端的设备信息和指纹算法。
服务器获取各终端的设备信息、针对某数据库的指纹算法(即针对某数据库的指定 指纹算法)、 以及可选地获取终端支持的指紋算法集。
其中, 设备信息具体为生产厂商和设备型号, 或, 操作系统类型、 设备类型、 设备 标识、 软件版本中的一项或多项的组合。
需要说明的是, 本步骤中设备信息、指纹算法以及指纹算法集的获取方法的具体流 程可以包括以下两种方法:
方法一: 服务器向各终端发送 DM (Device Management, 设备管理)会话的 GET 消息, 并接收各终端返回的指紋算法、指纹算法是否可以更改的标识和各终端支持的指 纹算法集中的一项或多项, 另一方面, 还可以是服务器和终端进行数据同步时, 服务器 通过数据同步会话获取各终端的设备信息, 且服务器通过向各终端发送 GET消息获取 各终端返回的指纹算法和指纹算法是否可以更改的标识中的一项或多项。
方法二: 服务器和终端进行数据同步时, 服务器通过数据同步会话获取各终端的设 备信息、指紋算法、该指纹算法是否可以更改的标识以及各终端支持的指纹算法集中的 一项或多项。
5102、 服务器判断各终端的设备信息是否相同。
当判断结果为各终端的设备信息不相同时, 转入 S109;
当判断结果为各终端的设备信息相同时, 转入 S103 , 服务器开始进一步判断是否 可以统一各终端的指纹算法,该判断过程包括多个子判断流程以及分支,具体说明如下:
5103、 服务器判断设备信息相同的各终端是否指定指纹算法。
当判断结果为各终端已指定指纹算法时, 转入 S104;
当判断结果为各终端没有指定指纹算法时, 转入 S107。
5104、服务器判断设备信息相同且指定指纹算法的各终端是否允许修改指定指纹算 法。
当指定指纹算法不允许被修改时, 转入 S105;
当指定指纹算法允许被修改时, 转入 S107。
需要进一步指出的是, 由于本发明实施例的应用场景包含多个终端, 所以, 在上述 的 S103和 S104中,存在没有指定指纹算法的终端和指定指纹算法但允许更改指定指纹 算法的终端共存的情况, 在该情况下, 均需转入 S107, W, 对没有指定指纹算法的终 端和指定算法但允许更改指定指纹算法的终端同时进行统一指纹算法的操作,这样的变 化同样属于本发明的保护范围。
5105、服务器判断设备信息相同且指定指纹算法不允许修改的各终端的指定指纹算 法是否相同。
当各终端的指定指纹算法相同时, 转入 S 106;
当各终端的指定指纹算法不相同时, 转入 S109。
5106、服务器选择该指定指纹算法为设备信息相同且指定指纹算法相同的各终端的 统一指纹算法, 并为这些终端保存通过该统一指纹算法计算得到的同一套数据指纹, 至 此, 本流程结束。
S107、服务器根据优先级规则, 在指纹算法集中选择设备信息相同且指定指纹算法 可以被更改的各终端和 /或未指定指纹算法的各终端全部支持或大部分终端支持的指纹 算法为统一指纹算法。
g卩, 服务器根据优先级规则, 在指纹算法集中选择设备信息相同、 指纹算法可以统 一的各终端全部支持或大部分终端支持的指纹算法为统一指纹算法。
其中,优先级规则,具体为:按照预设的各指紋算法的先后顺序选择统一指纹算法, 按照各指纹算法在指纹算法集中的终端支持率高低顺序选择统一指纹算法,优先考虑终 端的指定指纹算法选择统一指纹算法等。
S108、服务器通知支持统一指纹算法的各终端将指紋算法变更为统一指纹算法并为 这些终端保存通过该统一指纹算法计算得到的同一套数据指纹, 至此, 本流程结束。
S109、 服务器分别为各终端保存相应的数据指纹。
如图 2所示, 为本发明实施例二提供的一种数据指纹保存方法的流程示意图。服务 器通过对比各个终端的指纹算法及参考数据指纹来确定是否对各终端保存同一套指纹, 其中, 参考数据指纹具体包括已同步数据的指纹或测试数据的指纹。
S20K 服务器获取多个终端的指纹算法。
服务器获取各终端针对某数据库的指纹算法和 /或终端支持的指紋算法集。之后服务 器开始进一步判断是否可以统一各终端的指纹算法, 该判断过程包括:
S202、 服务器判断各终端是否指定指纹算法。
当判断结果为各终端已指定指纹算法时, 转入 S203 ;
当判断结果为各终端没有指定指纹算法时, 转入 S205。
S203、 服务器判断是否允许修改指定指纹算法。 当指定指纹算法不允许被修改时, 转入 S204;
当指定指纹算法允许被修改时, 转入 S205。
需要进一步指出的是, 由于本发明实施例的应用场景包含多个终端, 所以, 在上述 的 S202和 S203中,存在没有指定指纹算法的终端和指定算法但允许更改指定算法的终 端共存的情况, 在该情况下, 需转入 S205, 即, 对没有指定指纹算法的终端和指定算 法但允许更改指定算法的终端同时进行统一指纹算法的操作,这样的变化同样属于本发 明的保护范围。
5204、 服务器判断指定指纹算法是否相同。
当各终端的指定指纹算法相同时, 转入 S207;
当各终端的指定指纹算法不相同时, 转入 S209。
5205、服务器根据优先级规则, 在指纹算法集中选择终端全部支持或大部分终端支 持的指纹算法为统一指纹算法。
其中,优先级规则,具体为:按照预设的各指纹算法的先后顺序选择统一指纹算法, 按照各指纹算法在指纹算法集中的终端支持率高低顺序选择统一指纹算法,优先考虑终 端指定的指纹算法选择统一指纹算法等。
5206、 服务器通知支持统一指纹算法的各终端将指紋算法变更为统一指纹算法。
5207、服务器获取各终端根据统一指纹算法得到的数据指纹, 并判断该数据指纹是 否相同。
其中, 对比数据指纹包括两种情况- 情况一: 服务器向使用相同指纹算法的各终端发送测试数据, 终端针对该测试数据 根据统一指纹算法计算数据指纹并反馈给服务器, 服务器接收并对比该数据指纹。
情况二: 服务器获取使用相同指纹算法(即统一指纹算法) 的终端发送的指纹, 并 对针对已同步数据项的指纹进行对比。其中, 已同步的数据项是指各终端中的完全相同 的同一个数据条目。
当各终端的数据指纹相同时, 转入 S208;
当各终端的数据指纹不同时, 转入 S209。
5208、服务器为支持统一指紋算法的各终端保存通过该统一指纹算法计算得到的同 一套数据指纹, 至此, 本流程结束。
5209、 服务器分别为各终端保存相应的数据指纹。
通过应用上述的数据指纹保存方法, 在服务器确定为多个终端保存一套指纹后, 相 当于在服务器中保存了一套各终端发送的最新的指纹,这样服务器可以相应的改变一些 处理流程以简化操作和节约空中资源。
在实际应用中, 上述的数据指纹保存方法包括以下三种应用场景- 场景一、 在下一次同步时, 对于终端需要向服务器同步的数据项, 服务器可以先从 终端获取这些数据项的指纹, 与服务器中保存的上述数据项的指纹进行比较, 若结果相 同, 服务器指示终端不需要同步这些数据项, 对于多个终端对一个数据项产生相同修改 时, 可以更有效的判定是否需要进行同步, 简化了流程和服务器的操作。
场景二、 在下一次同步时, 对于服务器需要向终端同步的数据项, 终端可以先获取 服务器中保存的这些数据项的指纹, 并与本地计算的指紋进行对比, 若结果相同, 终端 指示服务器不需要同步这些数据项, 同样也简化了流程。
场景三、对于各个终端中已经相同的数据项, 服务器只需要从其中一个终端中获取 指纹即可, 这样也简化了流程和节约了空口资源。
下面结合附图和实施例, 对本发明的具体实施方式作进一步详细描述: 如图 3所示, 为本发明实施例三中, 保存一套指紋时服务器与终端 (图 3所示 的客户端位于终端中,在图 3所示的服务器为 DS ( Data Synchronization,数据同步) 服务器时, 图 3所示的客户端可以为 DS客户端。 在下述实施例中, 使用终端一词 来表示 DS客户端) 的同步流程图, 该流程图包含了上述场景一和场景三。
S30 终端向服务器发送数据包 Pkg#l。 其中, Pkg#l 包含为数据库指定的指 纹算法、 终端支持的指紋算法集、 指纹算法修改标志位。
S302、服务器综合分析各终端的指纹算法信息,其中, 还可选地分析设备信息。 收到 Pkg# l后, 服务器根据本发明实施例一中所提出的方法, 综合分析已经收 到的各终端的指纹算法信息及设备信息, 确定是否为多个终端保存一套指纹以及确 定通知哪些终端所确定的指纹算法, 或, 服务器根据本发明实施例二中所提出的方 法, 先确定使用同一个指纹算法的终端。
S303、 服务器向终端发送 Pkg#2, 向终端通知服务器确定的指紋算法 (即统一 指纹算法), 如果终端已经在使用该指纹算法则不需告知。
若服务器完成了为各终端确定统一指紋算法的过程, 并通知了支持该统一指纹 算法的终端更换当前算法为统一指纹算法。 在后续的步骤中, 服务器将利用保存的 同一套指纹对各终端进行数据同步操作, 具体过程如下:
S304、终端向服务器发送 Pkg#3, 向服务器通知终端欲发送的数据项的 ID和指 纹。
5305、 服务器判断该终端发送的指紋是否与服务器保存的指纹相同。
服务器把接收到的指纹与本地存储的指纹进行对比,确定需要指示终端发送哪些数 据项。
若相同则进行 S308;
若不相同则进行 S306。
5306、服务器记录指纹不相同的数据项的 ID, 并通过 Pkg#4将这些数据项的 ID通 知终端。
即需要终端发送指纹不相同的数据项以更新服务器数据。
5307、 终端向服务器发送 Pkg#5, 将上述 Pkg#4所指示的数据项的 ID对应的数据 项发送给服务器。
5308、服务器分析需要发送给终端的数据项, 确定是否需要指示客户端反馈指纹及 在需要反馈指纹时反馈哪些指纹。
若这些数据项的指纹已经存在了, 即已经从其它终端的反馈中获得了这些指紋, 服 务器就可以告知此终端不用反馈这些数据项的指纹, 所以在发送 Pkg#6之前, 服务器需 要分析这些数据项的指纹是否已经存在, 若全都存在, 则在发送 Pkg#6时告知终端不用 反馈指纹, 若不存在或有部分不存在, 则在发送 Pkg#6时告知终端需要反馈全部或部分 指紋。
5309、 服务器发送 Pkg#6, 返回接收状态信息, 发送服务器修改的数据项, 并指示 终端是否反馈指纹及在反馈指纹时反馈哪些指纹。
5310、 终端发送 Pkg#7, 根据服务器的要求反馈全部或部分指纹, 或者不反馈。 通过 S310, 客户端返回接收数据项的状态, 发送映射命令给服务器, 并根据服务 器的指示选择是否反馈全部纹或部分指纹。
S31 K 服务器发送 Pkg#8, 返回对映射命令的状态信息。
S312、若采用本发明实施例二提供的方法, 服务器可以从终端反馈的指纹中选出一 个, 与其它终端反馈的指纹作对比, 以确定是否能保存同一套指纹。
当然, 服务器要确保参加对比的指纹是基于相同的数据项计算得出的, 并在下一次 同步时告知客户端。
如图 4所示, 为本发明实施例四中, 保存一套指纹时服务器与终端的同步流程 图。 在多终端情况下, 服务器向终端进行同步的单向同步流程, 即服务器需要将更新的 数据项发给终端。 在现有技术中, 服务器中保存的指紋是不会发送给终端的, 因为那些 指纹本身就来自终端。而在此流程中终端先向服务器获取指纹, 再指示服务器发送数据 项, 这是因为服务器中保存的指纹可以是来自其它终端的, 这样该终端就可以比较指纹 以确定是否需要相应的数据项, 具体包括以下步骤:
S401~S403、 同 S301~S303。
5404、 终端分析本地的数据项更改情况。
5405、 当本地数据项有更改时, 终端向服务器发送 Pkg#3, 指示服务器发送指纹。
5406、 服务器根据终端的指示, 发送 Pkg#4, 向终端发送欲同步的数据项指纹。
5407、终端接收到 Pkg#4后, 将数据项指纹与本地指纹作比较, 确定是否需要服务 器发送对应的数据项。
5408、 如果需要, 终端发送 Pkg#5, 指示服务器发送数据项。
后续 S409~S411与现有技术相同。
如果不需要服务器发送对应的数据项, 终端发送 Pkg#5, 告知服务器, 而服务器在 Pkg#6中回复确认消息后流程即结束。
本发明实施例五提供了一种服务器单独发起一个测试同步会话来判断是否保存 同一套指纹的方法。
单独的测试同步会话是服务器向客户端发起的一个单向同步, 只向终端发送一 个测试数据, 流程如图 5所示-
S50 服务器与终端之间完成单向同步的初始化。
S502、 终端向服务器发送 Pkg#3 , 包含 Alert消息。
5503、 服务器根据接收到的信息进行该终端的同步分析。
5504、 服务器向终端发送 Pkg#4, 将同步数据包发送给终端, 其中包含服务器 确定的统一指纹算法的信息和测试数据。
服务器可以不用为测试数据指明一个 GUID (全局唯一标识),终端也可以不用分配 LUID (局部唯一标识), 该数据可以不属于某一个数据库, 但服务器需要指明该数据是 用于测试指纹, 这可以在会话初始化阶段告知, 例如在 Pkg#2中告知终端, 或者在会话 开始前的 Notification (通知) 消息中以同步类型的形式告知终端。
5505、 客户端根据接收到的同步数据包更新本地的指纹算法为统一指紋算法, 并通过该统一指纹算法为测试数据计算数据指纹。
S506、 终端发送 Pkg#5, 向服务器反馈测试数据的指纹。 终端可以不保存该测试数据,但终端可以选择在 Pkg#5中告知服务器是否保存该测 试数据, 这样若指纹算法改变且服务器需要再一次测试指纹时, 服务器可以不用再次发 送该测试数据。
S507、 服务器向终端发送 Pkg#6, 反馈测试数据指纹的确认结果。
如果相同, 则为产生相同的测试数据指纹的终端保存同一套相同的数据指紋, 如果不相同, 则分别为各终端保存相应的数据指纹。
通过这个测试同步, 服务器就可获取终端对该测试数据计算的指纹, 然后进行对比 以决定可否对参加测试的终端保存一套指纹。
另一方面, 在前述的本发明实施例一和二中, 提到了服务器使用单独的 DM和 DS 会话来确定是否为终端保存一套指纹, 而不是在数据同步时进行。本发明通过实施例六 对相应的过程进行说明。
通过应用此流程, 前述的 S101和 S108可以通过 DM的方法来实现, S102中, 服 务器使用的是仅交换设备信息的独立 DS会话。
对应本发明实施例一, 具体过程如下:
S101的内容变更为: 服务器通过下发 DM的 Get命令获取终端对某数据库指定的 指纹算法、终端支持的指纹算法集和指定算法是否可修改的标志位。此时终端的 MO如 图 6所示。
其中, MO中各参数说明如以下各表所示:
表 1 ^?>参数列表
Figure imgf000012_0001
如表 1所示, 这是一个内部节点, 记录 DS客户端或服务器与指紋相关的信息 表 2 ?>/<8叩 0116(^18>参数列表
Figure imgf000012_0002
如表 2所示, 这是一个内部节点, 记录 DS客户端所支持的指纹算法
表 3 <??>/<8 0116(1入^>/< >参数列表
Figure imgf000012_0003
REQUIRED ZeroOrMore Node Get
如表 3所示, 这是一个占位符节点, 用于包含一个或多个叶子节点, 记录 DS客户 端所支持的指纹算法。
表 4 <FP>/<SupportedAlg>/<X>/<Algorithm>参数列表
Figure imgf000013_0001
如表 4所示, 这是一个叶子节点, 记录 DS客户端所支持的指纹算法
这个节点可能的值及其含义如表 5所示:
表 5 节点可能值列表
Figure imgf000013_0002
Figure imgf000013_0003
如表 6所示,占位符节点用于指示对于客户端或服务器的不同的数据库的指纹特性。
表 7 <??>/< >/<0&1&810^>参数列表
Figure imgf000013_0004
如表 7所示, 用于指示该指纹特性是与哪个数据库相关。节点下存储客户端和服务 器对应的数据库的标识信息。
表 8 <??>/< >/<031&810 >/< ^01>参数列表
Figure imgf000014_0001
如表 8所示, 用于指示客户端数据库的标识。
表 9 <??>/^¾>/<0&1&810^>/<86^¾! 参数列表
Figure imgf000014_0002
如表 9所示, 用于指示服务器端数据库的标识。客户端数据库与服务器数据库必须 是成对的, 互相对应的。
表 10 <FP>/<x>/<FPSupport>参数列表
Figure imgf000014_0003
如表 10所示,用于指示 DS客户端或服务器的某个数据库是否支持指紋特性。其值 含义如表 11所示:
表 11 函数值含义列表
Figure imgf000014_0004
Figure imgf000014_0005
如表 12所示,这是叶子节点,记录 DS客户端或服务器某个数据库所采用的指纹算 法。 其值为客户端所支持的算法中的一个。
表 13 <FP>/<x>/<AlgChange>参数列表
Figure imgf000014_0006
如表 13所示, 这是叶子节点, 指示对于某个数据库, 指纹算法是否可以由服务器 更改。
基于以上的参数设置,服务器通过 Get命令就可以从该 MO中获取相应的指纹参数。 S108 变更为: 服务器通过 DM 的 Replace 命令, 对终端中 MO 的 <??>/<¾>/<入^01¾1101>节点进行更改。 之后, 在终端与服务器的后续同步中就使用服务 器指定的指纹算法。 本发明实施例结合具体的应用场景和数值对本发明的技术方案的应用过程进行说 明, 具体如本发明实施例七和本发明实施例八所述:
本发明实施例七, 现假设有 6个终端, 这 6个终端的指纹算法参数、 设备信息如表 14所示- 表 14 各终端的参数和算法情况 1
Figure imgf000015_0001
算法是否可修改标志位。设备信息是生产厂商和型号的组合, 设备信息还可以是设备标 识、 设备类型、 软件版本等可以标识或可以组合标识终端存储方式的参数, 若存储方式 相同, 则表明一个终端对某数据项计算的指纹跟另一个终端计算的相同。
服务器中保存的数据变更 (ChangeLog)的情况如表 15所示:
表 15 服务器保存的 ChangeLog情况 1
Figure imgf000015_0002
数据项 4 sss sss sss
其中 222是终端 2在服务器上对数据的更改,这个修改被记录到终端 1的 ChangeLog 中。 444是终端 4在服务器上做的更改, 而 sss是服务器自己对数据的更改。 最后一列 为这些数据项对应的指纹, 其中 sss还没有向任何终端发送过, 所以还没有对应指纹。
终端 1中的 ChangeLog情况: 如表 16所示:
表 16 终端 1保存的 ChangeLog情况 1
Figure imgf000016_0001
从表中可见数据项 1在终端 1中也已经更改为 222, 数据项 2没有任何更改。
根据本发明实施例三的场景描述, 服务器与终端 1的同步流程如下(假设其它终端 的各参数服务器已经获取):
Sl、 在 Pkg#l中, 终端 1将表 14中对应的算法参数及设备参数发送给了服务器。 S2、 收到 Pkg#l后, 若根据本发明实施例一中的流程, 服务器进行以下分析-
( 1 )分析各终端的设备信息, 发现终端 1与终端 2、 3、 4、 5是同一厂商生产的同 系列的设备,进行下面的(2)。而对于终端 6虽是同一厂商生产的设备,但是不同系列, 服务器确定为它单独保存指纹;
(2)服务器判断各终端是否为该数据库指定了指纹算法, 由表 14可知终端 1、 2、 3、 5已经指定, 然后服务器进一步判断这些指定的算法是否可以修改, 由表 14可知终 端 3和 5的算法不可以修改, 而终端 3和 5的指定算法是相同的, 此时服务器对这两个 终端保存同一套指纹。对于其它二个未指定算法及可以修改算法的终端 1、 2和 4, 服务 器进入下面的 (3 )。
(3 )服务器在终端 1、 2和 4这三个终端指定的指纹算法和算法集中优选出一种算 法。 根据支持率最高的原则及优先选择已指定的指纹算法的原则, 服务器选择 MD5算 法。
53、 服务器在 Pkg#2中通知终端 1选择出的指纹算法为 MD5。
54、终端 1在 Pkg#3中向服务器发送数据项 ID和对应的使用 MD5算法计算出的指 纹, 其中, 数据项 ID为数据项 1和数据项 3, 指纹为 0562和 0561。 服务器收到 Pkg#3 后, 根据实施例三 S305描述的步骤作出分析, 发现终端 1发送的数据项 1的指纹与服 务器中保存的相同, 而数据项 3对应的指纹不相同, 则在 Pkg#4中指示终端 1只发送数 据项 3。 其后, 终端 1在 Pkg#5中发送数据项 3。
55、在发送 Pkg#6之前,服务器首先根据 ChangeLog判断需要发送给终端 1的数据, 根据表 15可知需要发送数据项 2和数据项 4,然后判断需要终端 1反馈的指纹,可见需 要反馈指纹的数据项为数据项 4。 因此在 Pkg# 6中服务器向终端 1发送数据项 2和 4, 并告知终端 1反馈数据项 4的指纹。
56、 在 Pkg#7中终端 1反馈数据项 4的指紋 056s。
57、 假设在本流程 S2中, 服务器没有选择分析终端 1的设备信息, 则服务器可以 把终端 1在 S4中反馈的数据项 3的指紋 0561记录下来,在下一次向终端 2同步该数据 时, 从终端 2再获得数据项 3的指紋, 并进行对比以确定是否能对终端 1和终端 2保存 一套指纹。 这就是本发明另一具体实施方式。
通过本实施例可发现, 服务器可以根据已保存其它终端的指纹情况, 判断并告知终 端需要发送的数据项, 这样就减少了终端发送的数据量, 如 S4所述。 另外, 服务器可 以告知终端只反馈部分指纹, 也减少了终端发送的数据量, 如 S5和 S6所述。
本发明实施例八, 如表 17所示, 为各设备的指紋参数和设备信息情况:
表 17 各终端的参数和算法情况 2
Figure imgf000017_0001
根据本发明实施例四的场景描述, 首先是根据本发明实施例一所提出的方法在
Pkg#l和 Pkg#2的流程中确定指纹算法, 根据表 17可见有两个终端没有指定指纹算法, 另外三个终端指定的指纹算法也各不相同,然后服务器综合考虑各终端支持的指纹算法 集, 对于 MD5、 MD4和 TimeStamp算法, 都有 4个终端支持, 即支持率一样, 此时服 务器可以按算法集中的算法顺序选择出一个算法,即 MD5算法, (当然也可以按预先在 服务器中设置的优先级选择, 例如 MD4的优先级高, 则选择 MD4算法。) 然后服务器 在 Pkg#2中告知终端 1选定的算法。
另外, 对于终端 5 , 由于它不支持 MD5算法, 服务器可以为其选择一个算法, 然 后通知它, 并单独为其保存一套指纹。
51、 在发送 Pkg#3前终端 1分析本地的数据更改情况, 本地数据项 1和 3有更改, 则终端 1在 Pkg#3时指示服务器先发送数据项的指纹。
52、 服务器在 Pkg#4时向终端 1发送数据项 1、 2和 4的指纹。
S3、接收到 Pkg#4后, 终端将接收到的指纹与本地指紋作比较, 发现数据项 1的指 纹与服务器中保存的指纹相同, 则记录下数据项 1。
S4、 终端 1在 Pkg#5时指示服务器只发送数据项 2和 4, 后续与实施例四的最后三 个步骤相同。
通过本实施例可看出, 服务器保存的指纹可在向终端进行单向同步前发送给终端, 让终端选择性的接收数据, 以减少服务器向终端发送的数据量。
对应本发明实施例一所提出的方法, 本发明实施例九提出了一种服务器, 如图 7所 示, 具体包括:
信息获取模块 71 , 用于获取多个终端的设备信息和指纹算法。
其中, 根据获取方式的不同, 信息获取模块 71具体包括两种构成方式: 构成方式一, 信息获取模块 71包括:
发送子模块 711, 用于向各终端发送设备管理会话的获取消息;
接收子模块 712, 用于接收各终端返回的指纹算法、 指纹算法是否可以更改的标识 和各终端支持的指纹算法集中的一项或多项;
第一同步子模块 713, 用于通过数据同步会话获取各终端的设备信息。
构成方式二, 信息获取模块 71包括:
第二同步子模块 714, 用于通过数据同步会话获取各终端的设备信息、 各终端的指 纹算法、 指纹算法是否可以更改的标识和各终端支持的指纹算法集中的一项或多项。
服务器还包括, 信息判断模块 72, 用于判断信息获取模块 71所接收的各终端的设 备信息是否相同。
服务器还包括, 算法统一模块 73, 用于当信息判断模块 72判断各终端的设备信息 相同时,进一步判断是否可以统一各终端的指纹算法,当各终端的指纹算法可以统一时, 为各终端选择统一指紋算法;
算法统一模块 73具体可以包括:
第一判断子模块 731, 用于判断各终端是否指定指纹算法;
第二判断子模块 732, 用于当第一判断子模块 731判断各终端指定指纹算法时, 进 一步判断是否允许修改指定指纹算法;
第三判断子模块 733, 用于当第二判断子模块 732判断指定指纹算法不允许被修改 时, 进一步判断指定指纹算法是否相同;
算法选择子模块 734, 用于当第一判断子模块 731判断各终端未指定指纹算法时, 或当第二判断子模块 732判断指定指纹算法允许被修改时, 根据优先级规则, 在信息获 取模块 71所获取的指纹算法集中选择各终端全部支持或大部分支持的指纹算法为统一 指纹算法。
服务器还包括, 指纹保存模块 74, 用于在算法统一模块 73选择统一指纹算法后, 为各终端仅保存一套相同的通过算法统一模块 73选择的统一指紋算法得到的数据指纹, 或在算法统一模块 73不能选择统一指紋算法时, 为各终端分别保存相应的数据指纹; 指纹保存模块 74具体可以包括:指紋接收子模块 741 ,用于接收各终端发送的通过 算法统一模块 73选择的统一指纹算法得到的数据指纹。
服务器还包括, 算法发送模块 75 , 用于发送算法统一模块 73选择的统一指纹算法 发送给各终端, 以便各终端更新对应的指纹算法为统一指纹算法。
对应本发明实施例二所提出的方法, 本发明实施例十提出了一种服务器, 如图 8所 示, 包括:
信息获取模块 81, 用于获取多个终端的指纹算法。
其中, 根据获取方式的不同, 信息获取模块 81具体包括两种构成方式- 构成方式一, 信息获取模块 81具体包括:
发送子模块 811 , 用于向各终端发送设备管理会话的获取消息;
接收子模块 812, 用于接收各终端返回的指纹算法、 指纹算法是否可以更改的标识 和各终端支持的指纹算法集中的一项或多项。
构成方式二, 信息获取模块 81具体包括:
同步子模块 813, 用于通过数据同步会话获取各终端的指纹算法、 指纹算法是否可 以更改的标识和各终端支持的指纹算法集中的一项或多项。
服务器还包括, 算法统一模块 82, 用于根据信息获取模块 81所获取的指纹算法判 断是否可以统一各终端的指纹算法, 当各终端的指纹算法可以统一时, 为各终端选择统 一指纹算法, 算法统一模块 82具体可以包括:
第一判断子模块 821, 用于判断各终端是否指定指纹算法;
第二判断子模块 822, 用于当第一判断子模块 821判断各终端指定指纹算法时, 进 一步判断是否允许修改指定指纹算法;
第三判断子模块 823, 用于当第二判断子模块 822判断指定指纹算法不允许被修改 时, 进一步判断指定指纹算法是否相同;
算法选择子模块 824, 用于当第一判断子模块 821判断各终端未指定指纹算法时, 或当第二判断子模块 822判断指定指纹算法允许被修改时, 根据优先级规则, 在信息获 取模块所获取的指紋算法集中选择各终端全部支持或大部分支持的指纹算法为统一指 纹算法。
服务器还包括, 指纹获取模块 83, 用于获取各终端发送的根据算法统一模块 82选 择的统一指纹算法所得到的数据指纹;
服务器还包括, 指纹判断模块 84, 用于判断指纹获取模块 81接收的数据指纹是否 相同;
服务器还包括, 指纹保存模块 85 , 用于在指纹判断模块 84的判断结果为相同时, 为各终端仅保存一套相同的通过统一指纹算法得到的数据指纹, 或在算法统一模块 82 不能选择统一指纹算法时, 为各终端分别保存相应的数据指纹, 指纹保存模块 85具体 可以包括:
指纹接收子模块 851, 用于接收各终端发送的通过算法统一模块选择的统一指纹算 法得到的数据指纹。
服务器还包括, 算法发送模块 86, 用于发送算法统一模块 82选择的统一指纹算法 发送给各终端, 以便各终端更新对应的指纹算法为统一指纹算法。
服务器还包括, 测试数据发送模块 87, 用于向各终端发送测试数据。
通过本发明, 服务器可以为针对同一个数据库同步的多个终端仅保存一套指 纹, 节约了存储空间, 并且还可以节省后续同步流程中的数据量, 节省了空口资源。 另外, 使用这种方式, 相当于在服务器中保存了一套最新的指纹, 在智能同步时, 服务器可以很方便的检测终端的一项数据是否最新, 节省了处理时间。
通过以上的实施方式的描述, 本领域的技术人员可以清楚地了解到本发明可借 助软件加必需的通用硬件平台的方式来实现, 当然也可以通过硬件, 但很多情况下 前者是更佳的实施方式。 基于这样的理解, 本发明的技术方案本质上或者说对现有 技术做出贡献的部分可以以软件产品的形式体现出来, 该计算机软件产品存储在一 个存储介质中, 包括若干指令用以使得一台终端设备 (可以是手机, 个人计算机, 服务器, 或者网络设备等) 执行本发明各个实施例所述的方法。 以上所述仅是本发明的优选实施方式, 应当指出, 对于本技术领域的普通技术 人员来说, 在不脱离本发明原理的前提下, 还可以做出若干改进和润饰, 这些改进 和润饰也应视本发明的保护范围。

Claims

权利要求
1、 一种数据指紋保存方法, 其特征在于, 包括- 从多个终端中选取采用统一指纹算法、针对相同数据能够计算出相同数据指纹的各 终端;
为所述选取的各终端仅保存一套通过所述统一指纹算法得到的数据指纹。
2、 如权利要求 1所述的方法, 其特征在于, 所述从多个终端中选取采用统一指纹 算法针对相同数据能够计算出相同数据指纹的各终端包括:
获取多个终端的设备信息和指纹算法信息;
判断所述多个终端的设备信息是否相同;
根据所述设备信息相同的各终端的指纹算法信息确定所述设备信息相同的终端中 采用统一指纹算法的各终端。
3、 如权利要求 1所述的方法, 其特征在于, 所述从多个终端中选取采用统一指纹 算法针对相同数据能够计算出相同数据指纹的各终端包括:
获取多个终端的指纹算法信息;
根据所述多个终端的指纹算法信息确定所述多个终端中支持相同指紋算法的各终 端, 且为所述支持相同指纹算法的各终端选择统一指纹算法;
获取所述支持相同指纹算法的各终端根据所述统一指纹算法得到的数据指纹; 选取所述数据指紋相同的终端。
4、 如权利要求 2或 3所述的方法, 其特征在于, 所述指纹算法信息包括下述一项 或多项:
针对指定数据库的指定指纹算法, 终端支持的指纹算法集, 所述指定指纹算法是否 可以更改的标识。
5、 如权利要求 4所述的方法, 其特征在于, 所述获取多个终端的指纹算法信息, 具体为:
向所述多个终端发送设备管理 DM会话的获取 GET消息, 接收所述多个终端返回 的针对指定数据库的指定指纹算法、所述指定指纹算法是否可以更改的标识和所述多个 终端支持的指纹算法集中的一项或多项; 或,
通过数据同步 DS会话获取所述多个终端的设备信息、 所述多个终端的针对指定数 据库的指定指纹算法、所述指定指纹算法是否可以更改的标识和所述多个终端支持的指 纹算法集中的一项或多项。
6、 如权利要求 2所述的方法, 其特征在于, 所述获取多个终端的设备信息包括- 通过数据同步 DS会话获取所述多个终端的设备信息。
7、 如权利要求 2所述的方法, 其特征在于, 所述根据所述设备信息相同的各终端 的指纹算法信息确定所述设备信息相同的终端中采用统一指纹算法的各终端包括: 选取所述设备信息相同且未指定指纹算法的各终端, 根据优先级规则, 在所述设备 信息相同且未指定指纹算法的终端的指纹算法集中,选择所述设备信息相同且未指定指 纹算法的各终端全部支持或大部分支持的指纹算法为所述统一指纹算法。
8、 如权利要求 2所述的方法, 其特征在于, 所述根据所述设备信息相同的各终端 的指纹算法信息确定所述设备信息相同的终端中采用统一指纹算法的各终端包括- 选取所述设备信息相同且所述指定指纹算法允许被修改的各终端, 根据优先级规 贝 |J,在所述指定指纹算法允许被修改的各终端的指纹算法集中选择所述指定指纹算法允 许被修改的各终端全部支持或大部分支持的指纹算法为所述指定指纹算法允许被修改 的各终端的统一指纹算法。
9、 如权利要求 2所述的方法, 其特征在于, 所述根据所述设备信息相同的各终端 的指纹算法信息确定所述设备信息相同的终端中采用统一指纹算法的各终端包括: 选取所述设备信息相同且所述指定指纹算法不允许被修改的各终端,进一步判断所 述指定指纹算法不允许被修改的各终端的指定指纹算法是否相同,将所述指定指纹算法 相同的各终端的指定指纹算法确定为所述指定指紋算法相同的各终端的统一指纹算法。
10、 如权利要求 3所述的方法, 其特征在于, 所述根据所述多个终端的指纹算法信 息判断支持相同指纹算法的各终端,且为所述支持相同指纹算法的各终端选择统一指纹 算法包括- 确定未指定指纹算法的各终端;
根据优先级规则, 在所述未指定指紋算法的各终端的指纹算法集中, 选择所述未指 定指纹算法的各终端全部支持或大部分支持的指纹算法为所述未指定指紋算法的各终 端的统一指纹算法。
11、 如权利要求 3所述的方法, 其特征在于, 所述根据所述多个终端的指纹算法信 息判断支持相同指纹算法的各终端,且为所述支持相同指纹算法的各终端选择统一指纹 算法包括- 确定所述指定指纹算法允许被修改的各终端;
根据优先级规则,在所述指定指纹算法允许被修改的各终端的指纹算法集中选择所 述指定指紋算法允许被修改的各终端全部支持或大部分支持的指纹算法为所述指定指 纹算法允许被修改的各终端的统一指纹算法。
12、 如权利要求 3所述的方法, 其特征在于, 所述根据所述多个终端的指纹算法信 息判断支持相同指纹算法的各终端,且为所述支持相同指纹算法的各终端选择统一指纹 算法包括:
确定所述指定指纹算法不允许被修改的各终端;
从所述指定指紋算法不允许被修改的各终端中进一步确定出指定指紋算法相同的 各终端,将所述进一步确定出的各终端的指定指纹算法确定为所述进一步确定出的各终 端的所述统一指纹算法。
13、 如权利要求 1或 2或 3所述的方法, 其特征在于, 所述方法在从多个终端中选 取采用统一指纹算法的各终端之后还包括:
通知所述选取的各终端采用所述统一指纹算法。
14、 如权利要求 1或 2或 3所述的方法, 其特征在于, 所述为所述选取的各终端仅 保存一套通过所述统一指纹算法获得的数据指纹之后还包括:
接收所述选取的终端发送的欲发送的数据项的标识和指纹;
判断所述接收到的指纹与已保存的通过所述统一指纹算法得到的所述数据项的标 识对应的数据指纹是否相同;
通知所述终端发送所述指紋不相同的数据项。
15、 如权利要求 1或 2或 3所述的方法, 其特征在于, 所述为所述选取的各终端仅 保存一套通过所述统一指纹算法获得的数据指纹之后还包括- 判断需要向所述选取的终端发送的数据项的指纹是否存在;
通知所述选取的终端反馈不存在指纹的所述数据项的指纹。
16、 如权利要求 1或 2或 3所述数据指紋保存方法, 其特征在于, 所述为所述选取 的各终端仅保存一套通过所述统一指纹算法获得的数据指纹之后还包括:
服务器向所述选取的终端发送欲同步的数据项的指纹,所述指纹为所述服务器为所 述选取的终端保存的同一套指纹;
所述服务器接收所述选取的终端发送来的通知所述服务器发送指纹不相同的数据 项的信息;
所述指纹不相同是指:所述选取的终端接收到的指纹与通过所述统一指纹算法得到 的数据指纹不相同。
17、 一种多设备数据同步方法, 其特征在于, 包括- 为多个终端保存一套相同的通过统一指纹算法得到的数据指纹;
接收终端发送的数据项的指纹;
判断所述接收到的指纹与已保存的所述相同的通过所述统一指纹算法得到的数据 指纹是否相同;
若所述指纹不相同, 则通知所述终端发送所述指纹不相同的数据项;
接收所述终端发送的所述指纹不相同的数据项。
18、 一种服务器, 其特征在于, 包括:
信息获取模块, 用于获取多个终端的设备信息和指纹算法;
信息判断模块,用于判断所述信息获取模块所接收的所述多个终端的设备信息是否 相同;
算法统一模块,用于判断所述多个终端中设备信息相同的终端是否可以统一指纹算 法, 为设备信息相同且指纹算法可以统一的终端选择统一指纹算法;
指纹保存模块, 用于在所述算法统一模块选择所述统一指紋算法后, 为所述设备信 息相同且指纹算法可以统一的终端仅保存一套相同的通过所述算法统一模块选择的统 一指纹算法得到的数据指纹, 或在所述算法统一模块不能选择统一指纹算法时, 为所述 多个终端分别保存相应的数据指纹。
19、 如权利要求 18所述服务器, 其特征在于, 所述算法统一模块, 具体包括: 第一判断子模块, 用于判断所述设备信息相同的终端是否指定指纹算法; 第二判断子模块,用于当所述第一判断子模块判断所述设备信息相同的终端指定指 纹算法时, 进一步判断是否允许修改所述指定指纹算法;
第三判断子模块, 用于当所述第二判断子模块判断指定指纹算法不允许被修改时, 进一步判断所述指定指纹算法是否相同;
算法选择子模块,用于当所述第一判断子模块判断所述设备信息相同的终端未指定 指纹算法时, 或当所述第二判断子模块判断指定指纹算法允许被修改时, 根据优先级规 贝,在所述信息获取模块所获取的指纹算法集中选择所述设备信息相同的终端全部支持 或大部分支持的指纹算法为所述统一指紋算法。
20、 如权利要求 18所述服务器, 其特征在于, 还包括:
算法发送模块,用于发送所述算法统一模块选择的统一指纹算法发送给所述支持所 述统一指纹算法的终端,使得所述支持所述统一指纹算法的终端更新对应的指纹算法为 所述统一指纹算法。
21、 一种服务器, 其特征在于, 包括- 信息获取模块, 用于获取多个终端的指纹算法;
算法统一模块,用于根据所述信息获取模块所获取的指纹算法判断是否可以统一各 所述终端的指纹算法, 并为各可以统一指纹算法的终端选择统一指纹算法;
指纹获取模块,用于获取各所述可以统一指纹算法的终端发送的根据所述算法统一 模块选择的统一指纹算法所得到的数据指纹;
指纹判断模块, 用于判断所述指纹获取模块接收的数据指纹是否相同; 指纹保存模块,用于为各所述指纹判断模块的判断结果为相同的终端仅保存一套相 同的通过所述统一指纹算法得到的数据指纹,或在所述算法统一模块不能选择统一指纹 算法时, 为各所述终端分别保存相应的数据指纹。
22、 如权利要求 21所述服务器, 其特征在于, 所述算法统一模块, 具体包括: 第一判断子模块, 用于判断各所述终端是否指定指纹算法;
第二判断子模块, 用于当所述第一判断子模块判断各所述终端指定指纹算法时, 进 一步判断是否允许修改所述指定指纹算法;
第三判断子模块, 用于当所述第二判断子模块判断指定指纹算法不允许被修改时, 进一步判断所述指定指纹算法是否相同;
算法选择子模块, 用于当所述第一判断子模块判断各所述终端未指定指紋算法时, 或当所述第二判断子模块判断指定指纹算法允许被修改时, 根据优先级规则, 在所述信 息获取模块所获取的指纹算法集中选择各所述终端全部支持或大部分支持的指纹算法 为所述统一指纹算法。
23、 如权利要求 21所述服务器, 其特征在于, 还包括算法发送模块和测试数据发 送模块中的一个或多个:
所述算法发送模块,用于发送所述算法统一模块选择的统一指纹算法发送给各所述 终端, 以便各所述终端更新对应的指纹算法为所述统一指纹算法。
所述测试数据发送模块, 用于向各所述终端发送测试数据。
PCT/CN2009/071870 2008-06-19 2009-05-20 一种数据指纹保存方法、装置和多设备数据同步方法 WO2009152716A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009801013612A CN101897147B (zh) 2008-06-19 2009-05-20 一种数据指纹保存方法及装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN200810127065.7 2008-06-19
CN2008101270657A CN101610281B (zh) 2008-06-19 2008-06-19 一种数据指纹保存方法和装置

Publications (1)

Publication Number Publication Date
WO2009152716A1 true WO2009152716A1 (zh) 2009-12-23

Family

ID=41433681

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2009/071870 WO2009152716A1 (zh) 2008-06-19 2009-05-20 一种数据指纹保存方法、装置和多设备数据同步方法

Country Status (2)

Country Link
CN (2) CN101610281B (zh)
WO (1) WO2009152716A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112395436A (zh) * 2019-08-14 2021-02-23 北京迈格威科技有限公司 一种底库录入方法及装置

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103995863B (zh) * 2014-05-19 2018-06-19 华为技术有限公司 一种重复数据删除的方法及装置
CN106407768B (zh) * 2015-07-29 2019-06-07 阿里巴巴集团控股有限公司 一种设备指纹的确定、对目标设备进行识别的方法和设备
CN113923012B (zh) * 2021-09-30 2024-01-26 杭州默安科技有限公司 一种客户端设备的指纹生成方法和防篡改方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1770156A (zh) * 2004-11-02 2006-05-10 微软公司 对多个同步化数据流加速数据库查找的系统和方法
US20060126829A1 (en) * 2004-11-24 2006-06-15 Binbin Lai Image encryption method
CN101009516A (zh) * 2006-01-26 2007-08-01 华为技术有限公司 一种进行数据同步的方法及系统
CN101183323A (zh) * 2007-12-10 2008-05-21 华中科技大学 一种基于指纹的数据备份系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100442714C (zh) * 2005-12-29 2008-12-10 华为技术有限公司 通信指纹系统及通信指纹采集、管理方法
CN100393048C (zh) * 2006-01-13 2008-06-04 武汉大学 一种建立网络故障诊断规则库的方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1770156A (zh) * 2004-11-02 2006-05-10 微软公司 对多个同步化数据流加速数据库查找的系统和方法
US20060126829A1 (en) * 2004-11-24 2006-06-15 Binbin Lai Image encryption method
CN101009516A (zh) * 2006-01-26 2007-08-01 华为技术有限公司 一种进行数据同步的方法及系统
CN101183323A (zh) * 2007-12-10 2008-05-21 华中科技大学 一种基于指纹的数据备份系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112395436A (zh) * 2019-08-14 2021-02-23 北京迈格威科技有限公司 一种底库录入方法及装置

Also Published As

Publication number Publication date
CN101610281A (zh) 2009-12-23
CN101897147B (zh) 2013-04-24
CN101610281B (zh) 2012-11-21
CN101897147A (zh) 2010-11-24

Similar Documents

Publication Publication Date Title
CN107465767B (zh) 一种数据同步的方法和系统
CN111565404B (zh) 一种数据分流方法和装置
CN103986738B (zh) 一种多终端间的同步方法及系统
US9900167B2 (en) Document sharing method, system, and device
US10764742B1 (en) Subscriber management with a stateless network architecture in a fifth generation (5G) network
WO2018024121A1 (zh) 一种网络功能nf管理方法及nf管理设备
CN104184756A (zh) 一种数据同步方法、装置及系统
KR20080068110A (ko) 데이터 동기화 처리 방법 그리고 클라이언트 단말기, 서버및 그것의 데이터 동기화 시스템
CN103685332B (zh) 文件上传方法、客户端、服务器及系统
CN110831092A (zh) Pdu会话管理、节点关联和upf发现的方法及设备
CN108471361B (zh) 一种版本升级方法及装置
WO2009152716A1 (zh) 一种数据指纹保存方法、装置和多设备数据同步方法
CN116668511A (zh) 一种数据处理方法、网元设备以及可读存储介质
CN116055311A (zh) 一种通信方法及装置
US20220166842A1 (en) Data distribution method and electronic device
EP3079438B1 (en) Methods and apparatuses for establishing cooperative communication
US20130132338A1 (en) Information processing apparatus, information processing method, and storage medium
CN113132227A (zh) 更新路由信息的方法、装置、计算机设备和存储介质
JP2017062626A (ja) 通信装置およびその制御方法ならびにプログラム
US20160044588A1 (en) Method, device, and system for access technology configuration
CN111064785B (zh) 资源包下载方法、装置和系统
US20170310736A1 (en) Method and system for sharing file between mobile terminals
WO2016188081A1 (zh) 扩展端口的处理方法、装置及系统
CN112788135B (zh) 资源调度方法、设备及存储介质
KR20160026138A (ko) 클라우드 데이터 시스템의 급속 동기화 방법 및 그를 이용한 클라우드 데이터 시스템

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200980101361.2

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09765355

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09765355

Country of ref document: EP

Kind code of ref document: A1