数据同步的标记方法和装置的制造方法
【技术领域】
[0001] 本发明设及信息技术领域,特别设及一种数据同步的标记方法和装置。
【背景技术】
[0002] 随着信息技术的发展,互联网上数据资源的数量和种类越来越多。为了便于多个 用户间彼此分享所拥有的数据资源,可通过建立一个数据资源共享群实现。为了使数据资 源共享群内的各个用户快速地获取到最新的更新数据,常常需要对数据资源共享群内的更 新数据进行标记。
[0003] 相关技术在对更新数据进行标记时,服务器可W通过接收数据资源共享群内终端 发送的数据更新消息,并获取接收到数据更新消息的时间,然后根据获取到的数据更新消 息的时间生成序列号,进而采用生成的序列号对更新数据进行标记。
[0004] 在实现本发明的过程中,发明人发现相关技术至少存在W下问题:
[0005] 相关技术在对更新数据进行标记时,由于基于获取到的数据更新消息的时间,对 更新的数据进行标记,当同一时间内服务器接收到群内的多个终端发送的数据更新消息 时,服务器会基于相同的时间生成序列号,对所有更新的数据进行标记,此时一个序列号将 对应多个更新数据,此时用户很难根据序列号对不同的更新数据进行区分,从而导致在后 续同步过程中数据同步出错等情况,造成同步效率低。
【发明内容】
[0006] 为了解决相关技术的问题,本发明实施例提供了一种数据同步的标记方法和装 置。所述技术方案如下:
[0007] 第一方面,提供了一种数据同步的标记方法,所述方法包括:
[000引接收终端发送的数据更新消息,所述数据更新消息中至少携带更新数据及触发所 述数据更新消息的操作类型;
[0009] 获取传递数据更新消息的网关信息,并根据所述网关信息、所述操作类型及所述 终端执行操作的次数,生成第一序列号;
[0010] 根据接收所述数据更新消息的时间,生成第二序列号;
[0011] 基于所述第一序列号和所述第二序列号,生成目标序列号;
[0012] 使用所述目标序列号,对所述更新数据进行标记。
[0013] 结合第一方面,在第一方面的第一种可能的实现方式中,所述根据所述网关信息、 所述操作类型及预设时长内所述终端执行操作的次数,生成第一序列号,包括:
[0014] 根据所述网关信息,生成第一特征码;
[0015] 根据所述操作类型,生成第二特征码;
[0016] 根据所述终端执行操作的次数,生成第=特征码;
[0017] 基于所述第一特征码、所述第二特征码及所述第=特征码,生成所述第一序列号。 [001引结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式 中,所述根据所述网关信息,生成第一特征码之前,还包括:
[0019] 预先为每个进程设置对应的编号;
[0020] 所述根据所述网关信息,生成第一特征码,包括:
[0021] 根据所述网关信息,确定所述终端进行数据更新操作时使用的进程;
[0022] 获取所述终端进行数据更新操作时使用的进程对应的编号,并将所述编号作为第 一特征码。
[0023] 结合第一方面的第一种可能的实现方式,在第一方面的第=种可能的实现方式 中,所述操作类型为删除操作、增加操作及更改操作,且不同的操作类型对应不同的编号;
[0024] 所述根据所述操作类型,生成第二特征码,包括:
[0025] 若所述操作类型为删除操作,则将所述删除操作对应的编号作为所述第二特征 码;
[0026] 若所述操作类型为增加操作,则将所述增加操作对应的编号作为所述第二特征 码;
[0027] 若所述操作类型为更改操作,则将所述更改操作对应的编号作为所述第二特征 码。
[002引结合第一方面,在第一方面的第四种可能的实现方式中,所述根据接收所述数据 更新消息的时间,生成第二序列号,包括:
[0029] 计算接收到所述数据更新消息的时间与参考时间的时间差;
[0030] 基于所述时间差,生成所述第二序列号。
[0031] 结合第一方面,在第一方面的第五种可能的实现方式中,所述数据更新消息中携 带数据库映射信息;
[0032] 所述使用所述目标序列号,对所述更新数据进行标记之后,还包括:
[0033] 将已标记序列号的更新数据存储至主数据库,并根据数据库的主从同步功能同步 主数据库中存储的数据到从数据库,其中,所述主数据库用于数据的写入,所述从数据库用 于数据的读出。
[0034] 结合第一方面,在第一方面的第六种可能的实现方式中,所述使用所述目标序列 号,对所述更新数据进行标记之后,还包括:
[0035] 将所述目标序列号发送至所述终端,由所述终端进行存储。
[0036] 结合第一方面至第一方面的第六种可能的实现方式,在第一方面的第走种可能的 实现方式中,所述使用所述目标序列号,对所述更新数据进行标记之后,还包括:
[0037] 接收数据同步请求,所述数据同步请求中至少携带待同步序列号及数据库映射信 息;
[003引获取从数据库中存储的最大序列号;
[0039] 根据所述待同步序列号及所述最大序列号,进行数据同步。
[0040] 结合第一方面的第走种可能的实现方式,在第一方面的第八种可能的实现方式 中,所述根据所述待同步序列号及所述最大序列号,进行数据同步,包括:
[0041] 将所述待同步序列号与所述最大序列号进行比较;
[0042] 根据比较结果确定所述待同步序列号对应的数据是否为最新数据;
[0043] 若所述待同步序列号对应的数据不为最新数据,则根据所述从数据库中存储的数 据进行数据同步。
[0044] 结合第一方面的第八种可能的实现方式,在第一方面的第九种可能的实现方式 中,所述根据比较结果确定所述待同步序列号对应的数据是否为最新数据,包括:
[0045] 若所述待同步序列号小于所述最大序列号,则确定所述待同步序列号对应的数据 不为最新数据;
[0046] 若所述待同步序列号等于所述最大序列号,则确定所述待同步序列号对应的数据 为最新数据。
[0047] 结合第一方面的第八种可能的实现方式,在第一方面的第十种可能的实现方式 中,所述根据所述从数据库中存储的数据进行数据同步,包括:
[0048] 在所述从数据库中获取大于所述待同步序列号的所有序列号对应的数据,并将获 取到的数据存储至发送所述数据同步请求的终端。
[0049] 第二方面,提供了一种数据同步的标记装置,所述装置包括:
[0化0] 第一接收模块,用于接收终端发送的数据更新消息,所述数据更新消息中至少携 带更新数据及触发所述数据更新消息的操作类型;
[0化1] 获取模块,用于获取传递数据更新消息的网关信息;
[0化2] 第一生成模块,用于根据所述网关信息、所述操作类型及所述终端执行操作的次 数,生成第一序列号;
[0化3] 第二生成模块,用于根据接收所述数据更新消息的时间,生成第二序列号;
[0化4] 第S生成模块,用于基于所述第一序列号和所述第二序列号,生成目标序列号;
[0化5] 标记模块,用于使用所述目标序列号,对所述更新数据进行标记。
[0化6] 结合第二方面,在第二方面的第一种可能的实现方式中,所述第一生成模块,包 括:
[0化7] 第一生成单元,用于根据所述网关信息,生成第一特征码;
[0化引第二生成单元,用于根据所述操作类型,生成第二特征码;
[0化9] 第=生成单元,用于根据所述终端执行操作的次数,生成第=特征码;
[0060] 第四生成单元,用于基于所述第一特征码、所述第二特征码及所述第=特征码,生 成所述第一序列号。
[0061] 结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式 中,所述装置,还包括:
[0062] 设置模块,用于预先为每个进程设置对应的编号;
[0063] 所述第一生成单元,包括:
[0064] 确定子单元,用于根据所述网关信息,确定所述终端进行数据更新操作时使用的 进程;
[0065] 获取子单元,用于获取所述终端进行数据更新操作时使用的进程对应的编号,并 将所述编号作为第一特征码。
[0066] 结合第二方面的第一种可能的实现方式,在第二方面的第=种可能的实现方式 中,所述操作类型为删除操作、增加操作及更改操作,且不同的操作类型对应不同的编号;
[0067] 所述第二生成单元,用于当所述操作类型为删除操作时,将所述删除操作对应的 编号作为所述第二特征码;当所述操作类型为增加操作时,将所述增加操作对应的编号作 为所述第二特征码;当所述操作类型为更改操作时,将所述更改操作对应