数据同步方法

文档序号:10473792阅读:364来源:国知局
数据同步方法
【专利摘要】本发明提供一种数据同步方法,包括:获取帧数据,各帧数据具有相同的数据结构,所述数据结构至少包括更新标识位及待更新数据,所述更新标识位用于表示所述帧数据是否更新;以及检测所述帧数据的更新标识位,若所述更新标识位表示所述帧数据经过更新,则对所述待更新数据进行传输同步。本发明提供的数据同步方法可以快速高效地同步数据。
【专利说明】
数据同步方法
技术领域
[0001 ]本发明设及数据传输处理领域,尤其设及一种数据同步方法。
【背景技术】
[0002] 在电子设备的各类应用程序中,客户端与服务端之间的数据需要进行实时更新和 同步,W实现应用程序的各类功能。例如,社交应用程序中,客户端处修改用户资料、添加/ 删除好友、评论等操作中的数据都需与服务端进行数据同步,进而保存用户的社交信息。又 例如,游戏应用程序中,客户端处执行移动、攻击、选择武器等操作中的数据也需与服务端 进行数据同步,进而在客户端处进一步显示运些操作所产生的效果。
[0003] 在现有的实现方式中,客户端与服务端之间的数据同步通常会有许多重复的数据 传输。例如,对同一数据的多次修改会在客户端和服务端之间同步多次,浪费网络资源。又 例如,帖数据修改后,将整个帖数据作为同步更新的数据进行传输,并未修改的部分也在数 据同步时进行传输,导致网络传输量增大。

【发明内容】

[0004] 本发明为了克服上述现有技术存在的缺陷,提供一种快速高效的数据同步方法。
[0005] 本发明提供一种数据同步方法,包括:获取帖数据,各帖数据具有相同的数据结 构,所述数据结构至少包括更新标识位及待更新数据,所述更新标识位用于表示所述帖数 据是否更新;W及检测所述帖数据的更新标识位,若所述更新标识位表示所述帖数据经过 更新,则对所述待更新数据进行传输同步。
[0006] 优选地,所述待更新数据通过同一数据接口在客户端和服务端之间进行传输同 步。
[0007] 优选地,所述待更新数据通过服务端在多个客户端之间进行传输同步。
[000引优选地,所述帖数据经一个或多个逻辑模块进行逻辑运算进而获得所述待更新数 据。
[0009] 优选地,所述一个或多个逻辑模块对所述帖数据进行逻辑运算后,向所述逻辑模 块所在的客户端发送一更新通知,所述更新通知指示所述客户端使所述帖数据的更新标识 位表示所述帖数据已被更新。
[0010] 优选地,所述一个或多个逻辑模块对所述帖数据进行逻辑运算后,向所述逻辑模 块所在的服务端发送一更新通知,所述更新通知指示所述服务端使所述帖数据的更新标识 位表示所述帖数据已被更新。
[0011] 优选地,所述更新标识位还用于表示与所述帖数据的待更新数据对应的逻辑模 块。
[0012] 优选地,同一逻辑模块多次对所述帖数据进行逻辑运算时,所述帖数据的待更新 数据根据所述帖数据同步前该逻辑模块最后一次对所述帖数据进行的逻辑运算获得。
[0013] 优选地,所述待更新数据W字符串或者二进制的格式进行传输。
[0014] 优选地,获取帖数据包括:按一预定采样间隔获取帖数据。
[0015] 本发明通过帖数据统一的数据结构可W判断和获取需要更新的待更新数据,进而 在客户端和服务端之间同步数据时,减少不必要的数据传输,降低数据传输量。同时,统一 的数据结构可通过同一个数据接口来传输数据,进而简化应用程序的研发工作。
【附图说明】
[0016] 通过参照附图详细描述其示例实施方式,本发明的上述和其它特征及优点将变得 更加明显。
[0017] 图1示出了根据本发明实施例的数据同步方法的流程图。
[0018] 图2示出了根据本发明第一实施例的数据同步方法的拓扑图。
[0019] 图3示出了根据本发明第二实施例的数据同步方法的拓扑图。
【具体实施方式】
[0020] 现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够W多种形 式实施,且不应被理解为限于在此阐述的实施方式;相反,提供运些实施方式使得本发明将 全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。在图中相同的附 图标记表示相同或类似的结构,因而将省略对它们的重复描述。
[0021] 为了减少现有技术中的数据传输量,本发明提供了一种数据同步方法,参见图1。 图1示出了根据本发明实施例的数据同步方法的流程图,包括两个步骤:
[0022] 步骤SllO:获取帖数据。
[0023] 帖数据是客户端与服务端之间传输时的一个数据单元。帖数据一般由帖头和数据 区组成。帖头包括接收端物理地址的定位W及其它网络信息。数据区包括数据体。由于帖数 据的传输需要客户端与服务端使用同一种通讯协议,因此数据区中的数据体由数据头部和 具体数据组成。数据头部可W包括IP源地址、IP目标地址W及其他信息。具体数据可W包括 用户数据协议(UDP),传输控制协议(TCP),还有具体数据的其他信息。
[0024] 具体而言,本发明所提供的帖数据都具有相同的数据结构。该数据结构至少包括 更新标识位及待更新数据。更新标识位用于表示帖数据是否更新。例如,按如下代码定义本 发明提供的数据结构:
[0025]
[00%]其中,EUserDa1:aType Type为更新标识位,EUserDa1:aType Type = 1 表不该帖数据 已被更新;系统默认抓SerDataType Type =抓SE畑ATATYPE_MIN表示该帖数据初始默认未 被更新。unit64value表示字符串格式的待更新数据,并具有4个字节的大小。bytes data表 示二进制格式的待更新数据。待更新数据可W字符串格式或二进制格式进行传输。在本实 施例中,系统默认unit64value = O,表示系统默认待更新数据W二进制格式进行传输。本发 明所提供的帖数据都使用相同的数据结构,使得使用本发明所提供的数据同步方法的应用 程序可W使用同一数据接口在多个设备间进行传输,简化了应用程序的研发工作。
[0027] 具体而言,可由一个或多个逻辑模块在帖数据同步传输前对帖数据进行逻辑运 算。经逻辑运算后更新的数据作为需要传输的待更新数据。逻辑模块可根据应用程序的实 际功能来设计。例如,应用程序是图像处理程序,则其逻辑模块可W包括放大/缩小模块、裁 剪模块、平移模块等等。
[0028] 当同一逻辑模块对同一帖数据进行多次修改时,中间修改多次的数据并非必要同 步传输的数据。因此,为了减少数据传输量,本发明优选地,仅传输根据该逻辑模块在帖数 据传输前最后一次进行的逻辑运算所获得的待更新数据。若有多个逻辑模块对帖数据进行 修改,为了区分不同的逻辑模块与待更新数据的对应关系,本发明所提供的更新标识位还 用于表示与帖数据的待更新数据对应的逻辑模块,也就是说,本发明所提供的更新标识位 还用于表示对帖数据进行过逻辑运算的逻辑模块。当一逻辑模块要对帖数据进行逻辑运算 时,检测更新标识位,判断该逻辑模块是否对该帖数据进行过逻辑运算。所判断该逻辑模块 对该帖数据进行过逻辑运算,则进一步根据更新标识位找到与该逻辑模块对应的待更新数 据,进而将所找到的待更新数据更新为此次逻辑运算后所获得的待更新数据。若仅由一个 逻辑模块对帖数据进行修改,则本发明所提供的更新标识位可W仅表示帖数据是否更新。
[0029] 进一步地,逻辑模块对帖数据进行逻辑运算后,通知该逻辑模块所在的设备,指示 该设备使该帖数据的更新标识位表示帖数据已更新。
[0030] 在本发明的一个优选例中,帖数据可W按一预定采样间隔来获取。运样周期性的 获取方式相比每次更新都要进行同步的传输的方式,进一步减少了数据传输量及系统资源 的使用。
[0031 ]步骤S120:检测帖数据的更新标识位,若更新标识位表示帖数据经过更新,则对待 更新数据进行传输同步。
[0032] 下面结合图2和图3的实施例,进一步说明本发明所提供的数据同步方法。
[0033] 第一实施例
[0034] 图2示出了根据本发明第一实施例的数据同步方法的拓扑图。
[0035] 具体而言,图2示出了客户端210与服务端220之间进行数据同步的实施例。客户端 210与服务端220都储存有对应的帖数据。客户端210的逻辑模块对帖数据进修改后,客户端 210的逻辑模块向客户端210发送一通知指示客户时帖数据的更新标识位表示帖数据已被 更新。客户端210周期性获取帖数据,并检测帖数据的更新标识位,由于此时帖数据的更新 标识位表示帖数据已被更新,因此,客户端210将帖数据的待更新数据发送至服务端220处 进行同步。
[0036] 对应地,服务端220的逻辑模块对帖数据进修改后,服务端220的逻辑模块向服务 端220发送一通知指示客户时帖数据的更新标识位表示帖数据已被更新。服务端220周期性 获取帖数据,并检测帖数据的更新标识位,由于此时帖数据的更新标识位表示帖数据已被 更新,因此,服务端220将帖数据的待更新数据发送至客户端210处进行同步。
[0037] 第二实施例
[0038] 图3示出了根据本发明第二实施例的数据同步方法的拓扑图。
[0039] 具体而言,图3示出了多个客户端310A、310B通过服务端320进行数据同步的实施 例。
[0040] W客户端310A向客户端310B传输同步数据为例。优选地,客户端310A、客户端310B 及服务端220都储存有对应的帖数据。客户端310A的逻辑模块对帖数据进修改后,客户端 310A的逻辑模块向客户端310A发送一通知指示客户时帖数据的更新标识位表示帖数据已 被更新。客户端310A周期性获取帖数据,并检测帖数据的更新标识位,由于此时帖数据的更 新标识位表示帖数据已被更新,因此,客户端310A将帖数据的待更新数据发送至服务端 320。优选地,待更新数据具有客户端310B的标识信息,例如,客户端310B的IP地址。服务端 320收到待更新数据后,根据客户端310B的标识信息,将待更新数据转发至客户端310B。在 本发明的一个实施例中,服务端320收到待更新数据还对其储存的帖数据进行同步更新。
[0041] 在本发明的又一个实施例中,服务端320收到客户端310A发送的待更新数据后,周 期性地向客户端310B转发待更新数据。若在一个周期内,服务端320收到客户端310A发送的 多个待更新数据,服务端320可W根据更新标识位判断多个待更新数据是否由同一逻辑模 块的逻辑运算获得。若服务端320根据更新标识位判断多个待更新数据由同一逻辑模块的 逻辑运算获得,则将该周期内接收到的最后一个由同一逻辑模块的逻辑运算获得的待更新 数据转发至客户端310B。
[0042] 本发明通过帖数据统一的数据结构可W判断和获取需要更新的待更新数据,进而 在客户端和服务端之间同步数据时,减少不必要的数据传输,降低数据传输量。同时,统一 的数据结构可通过同一个数据接口来传输数据,进而简化应用程序的研发。
[0043] W上具体地示出和描述了本发明的示例性实施方式。应该理解,本发明不限于所 公开的实施方式,相反,本发明意图涵盖包含在所附权利要求范围内的各种修改和等效置 换。
【主权项】
1. 一种数据同步方法,其特征在于,包括: 获取帧数据,各帧数据具有相同的数据结构,所述数据结构至少包括更新标识位及待 更新数据,所述更新标识位用于表示所述帧数据是否更新;以及 检测所述帧数据的更新标识位,若所述更新标识位表示所述帧数据经过更新,则对所 述待更新数据进行传输同步。2. 如权利要求1所述的数据同步方法,其特征在于,所述待更新数据通过同一数据接口 在客户端和服务端之间进行传输同步。3. 如权利要求1所述的数据同步方法,其特征在于,所述待更新数据通过服务端在多个 客户端之间进行传输同步。4. 如权利要求1至3任一项所述的数据同步方法,其特征在于,所述帧数据经一个或多 个逻辑模块进行逻辑运算进而获得所述待更新数据。5. 如权利要求4所述的数据同步方法,其特征在于,所述一个或多个逻辑模块对所述帧 数据进行逻辑运算后,向所述逻辑模块所在的客户端发送一更新通知,所述更新通知指示 所述客户端使所述帧数据的更新标识位表示所述帧数据已被更新。6. 如权利要求4所述的数据同步方法,其特征在于,所述一个或多个逻辑模块对所述帧 数据进行逻辑运算后,向所述逻辑模块所在的服务端发送一更新通知,所述更新通知指示 所述服务端使所述帧数据的更新标识位表示所述帧数据已被更新。7. 如权利要求4所述的数据同步方法,其特征在于,所述更新标识位还用于表示与所述 帧数据的待更新数据对应的逻辑模块。8. 如权利要求7所述的数据同步方法,其特征在于,同一逻辑模块多次对所述帧数据进 行逻辑运算时,所述帧数据的待更新数据根据所述帧数据同步前该逻辑模块最后一次对所 述帧数据进行的逻辑运算获得。9. 如权利要求1至3任一项所述的数据同步方法,其特征在于,所述待更新数据以字符 串或者二进制的格式进行传输。10. 如权利要求1至3任一项所述的数据同步方法,其特征在于,获取帧数据包括: 按一预定采样间隔获取帧数据。
【文档编号】H04L29/08GK105827699SQ201610147590
【公开日】2016年8月3日
【申请日】2016年3月16日
【发明人】孙惠伟
【申请人】心动网络股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1