数据同步的标记方法和装置的制造方法_4

文档序号:8398182阅读:来源:国知局
行操作 的次数,并将记录的结果作为第=特征码。其中,预设数值可W为1000、2000、3000等,本实 施例不对预设数值作具体的限定。关于预设数值的设定方法,包括但限于;根据第=特征码 的位数进行设定。例如,若第S特征码的位数为10位,则设定预设数值为2W;若第S特征 码的位数为20位,则设定预设数值为22°。
[0160] 第四步,基于第一特征码、第二特征码及第=特征码,生成第一序列号。
[0161] 在生成第一特征码、第二特征码及第S特征码之后,即可基于第一特征码、第二 特征码及第=特征码,生成第一序列号。具体地,基于第一特征码、第二特征码及第=特 征码,生成第一序列号时,可将生成的第一特征码、第二特征码及第=特征码顺序组成一 个字符串,并将该字符串作为第一序列号,也可将生成的第一特征码、第二特征码及第= 特征码随机组成一个字符串,并将该字符串作为第一序列号,本实施例对此不作具体的 限定。例如,设定第一特征码为101,第二特征码为1,第S特征码为2,在基于第一特征 码、第二特征码及第=特征码,生成第一序列号时,可将第一特征码、第二特征码及第=特 征码顺序组成一个32位的字符串00001100101100000000000000000010,并将该字符串 00001100101100000000000000000010作为第一序列号;当然,除了采用上述方式外,也可 将第一特征码、第二特征码及第=特征码随机组成的一个字符串0000000000000000001000 0011001011,并将该字符串 00000000000000000010000011001011 作为第一序列号。
[0162]需要说明的是,由于第一序列号仅与第一特征码、第二特征码及第S特征码的内 容有关,与第一特征码、第二特征码及第=特征码的生成顺序无关,无论先生成第一特征 码,还是后生成第一特征码,最后得到的第一序列号都是相同的,因此,在本实施例中仅W 先生成第一特征码,再生成第二特征码,最后生成第=特征码为例进行说明。
[0163] 203、服务器根据接收数据更新消息的时间,生成第二序列号。
[0164] 其中,第二序列号的形式包括但不限于;由数字组成的字符串、由字母组成的字符 串或者由数字及字母混合组成的字符串等等,本实施例不对第二序列号的形式作具体的限 定。第二序列号的位数可W为32位、64位等,本实施例不对第二序列号的位数作具体的限 定。为了简化后续过程的计算量,本实施例中W第二序列号的位数为32位,第二序列号的 形式为由数字组成的字符串的形式进行说明。
[01化]关于根据接收数据更新消息的时间,生成第二序列号的方式,包括但不限于:
[0166]首先,计算接收到数据更新消息的时间与参考时间的时间差;
[0167]其中,参考时间包括但不限于 1990-01-01 00:00:00、2000-01-01 00:00:00 等, 本实施例不对参考时间作具体的限定。在本实施例中选定格林威治标准时间1970-01-01 00:00:00作为参考时间。在计算接收到数据更新消息的时间与参考时间得到时间差之后, 可将得到的时间差采用不同的时间单位进行表示,如,可W秒为单位进行表示等。
[0168]例如,设定W秒为单位表示得到的时间差,若接收到数据更新消息的时间为 2014-09-05 14:37:50,则计算接收到的数据更新消息的时间与参考时间的时间差为 1409899070 ;若接收到数据更新消息的时间为2014-09-05 19:46:16,则计算接收到的数 据更新消息的时间与参考时间的时间差为1409917576。
[0169] 其次,基于时间差,生成第二序列号。
[0170] 通过计算得到接收到的数据更新消息的时间与参考时间的时间差之后,可将得到 的时间差作为第二序列号。例如,若计算得到接收到的数据更新消息的时间与参考时间的 时间差为1409917576,则可将1409917576作为第二序列号。
[0171] 204、服务器基于第一序列号和第二序列号,生成目标序列号,并使用目标序列号, 对更新数据进行标记。
[0172] 关于基于第一序列号和第二序列号,生成目标序列号的方式,包括但不限于;将生 成的第一序列号及第二序列号转化为二进制形式,并将二进制形式的第一序列号及第二序 列号进行合并,得到一个二进制形式的字符串,并将得到的二进制形式的字符串转化为十 进制形式,最后得到目标序列号。具体地,在将二进制形式的第一序列号及第二序列号进行 合并的方式,包括但不限于;将第一序列号添加到第二序列号的后面等,本实施例不对将二 进制形式的第一序列号及第二序列号进行合并的方式作具体的限定。
[0173] 上述过程,根据接收到的终端发送的数据更新消息中携带的信息,生成第一序列 号,并根据接收数据消息的时间,生成第二序列号,进而使用基于第一序列号和第二序列号 生成的目标序列号,对更新数据进行标记,从而保证了不同的更新数据具有不同的序列号, 且只增量同步有标记变化的数据即可,提高了同步效率较高。
[0174] 为了便于理解上述过程,下面将W-个具体的例子进行详细地解释说明。
[0175] 例如,设定第一特征码的位数为11位,第二特征码的位数为1位,第S特征码的 位数为20位,第二序列号的位数为32位,并设定将第一特征码、第二特征码及第=特征码 W顺序的形式,生成第一序列号。若获取到的第一特征码为;〇〇〇11〇〇1〇1,第二特征码为: 1,第=特征码为;〇〇〇〇〇〇〇〇〇〇〇〇〇〇〇〇〇〇1〇,则基于第一特征码、第二特征码及第=特征码, 生成的第一序列号为;〇〇〇11〇〇1〇11〇〇〇〇〇〇〇〇〇〇〇〇〇〇〇〇〇〇1〇,该第一序列号为二进制形式; 若获取到第二序列号为1409918723,将第二序列号转化为二进制形式为;01010100000010 011010011100000011,采将第一序列号添加到第二序列号的后面,得到的二进制的字符串 为;0101010000001001101001110000001100001100101100000000000000000010。将该二进 制字符串转化为十进制数为;6055554805515943938。该十进制数6055554805515943938, 即为生成的目标序列号。当然,在生成目标序列号之后,就可使用生成的目标序列号 6055554805515943938,对更新数据进行标记。
[0176] 进一步地,终端发送的数据更新消息中除了携带更新数据、触发数据更新消息的 操作类型外,还携带着数据库映射信息,在对服务器上存储的数据进行更新时,根据数据库 映射信息可确定出主数据库,而主数据库中可存储终端的更新数据,因此,在使用目标序列 号,对更新数据进行标记之后,本实施例提供的方法还将已标记序列号的更新数据存储至 主数据库,并根据数据库的主从同步功能同步主数据库中存储的数据至从数据库。其中,主 数据库和从数据库为同一个数据资源共享群的两个功能不同的数据库,主数据库用于数据 的写入,从数据库用于数据的读出。当数据资源共享群中的任一终端存储的数据有更新时, 可通过上述过程,将更新数据的存储到主数据库,并根据数据库的主从同步功能同步主数 据库中存储的数据至从数据库;同时,当数据资源共享群中任一终端需要获取同步数据时, 任一终端可通过从数据库获取到更新的数据。
[0177] 另外,为了便于终端获知本地存储的数据在服务器上标记的序列号,本实施例提 供的方法在使用目标序列号,对更新数据进行标记之后,还将目标序列号发送至终端,由终 端进行存储。
[0178] 至此,通过上述过程,实现了对要同步数据的标记,在此基础上,本实施例提供的 方法还支持数据的同步,具体的同步过程,可参见下述步骤。
[0179] 第一步,接收数据同步请求,数据同步请求中至少携带待同步序列号及数据库映 射信息。
[0180] 虽然终端本地存储的每一个数据都对应一个序列号,但仅终端本地存储的最大序 列号为判断是否需要进行数据同步的重要依据,因此,为了提高数据同步的准确性,终端在 向服务器发送数据同步请求时,同步请求中携带的待同步的序列号应为终端本地存储的最 大的序列号。
[0181] 第二步,获取从数据库中存储的最大序列号。
[0182] 同样为了提高数据同步的准确性,服务器在获取从数据库中存储的序列号时,也 应获取从数据库中所存储序列号中最大的序列号。
[0183] 第=步,根据待同步序列号及最大序列号,进行数据同步。
[0184] 具体地,根据待同步序列号及最大序列号,进行数据同步,包括但不限于:
[0185] 首先,将待同步序列号与最大序列号进行比较;
[0186] 其次,根据比较结果确定待同步序列号对应的数据是否为最新数据;
[0187] 根据比较结果确定待同步序列号对应的数据是否为最新数据,包括但不限于如下 两种情况:
[0188
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1