CN105827699A - 数据同步方法 - Google Patents
数据同步方法 Download PDFInfo
- Publication number
- CN105827699A CN105827699A CN201610147590.XA CN201610147590A CN105827699A CN 105827699 A CN105827699 A CN 105827699A CN 201610147590 A CN201610147590 A CN 201610147590A CN 105827699 A CN105827699 A CN 105827699A
- Authority
- CN
- China
- Prior art keywords
- data
- frame data
- updated
- logic module
- described frame
- 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
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 Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种数据同步方法,包括:获取帧数据,各帧数据具有相同的数据结构,所述数据结构至少包括更新标识位及待更新数据,所述更新标识位用于表示所述帧数据是否更新;以及检测所述帧数据的更新标识位,若所述更新标识位表示所述帧数据经过更新,则对所述待更新数据进行传输同步。本发明提供的数据同步方法可以快速高效地同步数据。
Description
技术领域
本发明涉及数据传输处理领域,尤其涉及一种数据同步方法。
背景技术
在电子设备的各类应用程序中,客户端与服务端之间的数据需要进行实时更新和同步,以实现应用程序的各类功能。例如,社交应用程序中,客户端处修改用户资料、添加/删除好友、评论等操作中的数据都需与服务端进行数据同步,进而保存用户的社交信息。又例如,游戏应用程序中,客户端处执行移动、攻击、选择武器等操作中的数据也需与服务端进行数据同步,进而在客户端处进一步显示这些操作所产生的效果。
在现有的实现方式中,客户端与服务端之间的数据同步通常会有许多重复的数据传输。例如,对同一数据的多次修改会在客户端和服务端之间同步多次,浪费网络资源。又例如,帧数据修改后,将整个帧数据作为同步更新的数据进行传输,并未修改的部分也在数据同步时进行传输,导致网络传输量增大。
发明内容
本发明为了克服上述现有技术存在的缺陷,提供一种快速高效的数据同步方法。
本发明提供一种数据同步方法,包括:获取帧数据,各帧数据具有相同的数据结构,所述数据结构至少包括更新标识位及待更新数据,所述更新标识位用于表示所述帧数据是否更新;以及检测所述帧数据的更新标识位,若所述更新标识位表示所述帧数据经过更新,则对所述待更新数据进行传输同步。
优选地,所述待更新数据通过同一数据接口在客户端和服务端之间进行传输同步。
优选地,所述待更新数据通过服务端在多个客户端之间进行传输同步。
优选地,所述帧数据经一个或多个逻辑模块进行逻辑运算进而获得所述待更新数据。
优选地,所述一个或多个逻辑模块对所述帧数据进行逻辑运算后,向所述逻辑模块所在的客户端发送一更新通知,所述更新通知指示所述客户端使所述帧数据的更新标识位表示所述帧数据已被更新。
优选地,所述一个或多个逻辑模块对所述帧数据进行逻辑运算后,向所述逻辑模块所在的服务端发送一更新通知,所述更新通知指示所述服务端使所述帧数据的更新标识位表示所述帧数据已被更新。
优选地,所述更新标识位还用于表示与所述帧数据的待更新数据对应的逻辑模块。
优选地,同一逻辑模块多次对所述帧数据进行逻辑运算时,所述帧数据的待更新数据根据所述帧数据同步前该逻辑模块最后一次对所述帧数据进行的逻辑运算获得。
优选地,所述待更新数据以字符串或者二进制的格式进行传输。
优选地,获取帧数据包括:按一预定采样间隔获取帧数据。
本发明通过帧数据统一的数据结构可以判断和获取需要更新的待更新数据,进而在客户端和服务端之间同步数据时,减少不必要的数据传输,降低数据传输量。同时,统一的数据结构可通过同一个数据接口来传输数据,进而简化应用程序的研发工作。
附图说明
通过参照附图详细描述其示例实施方式,本发明的上述和其它特征及优点将变得更加明显。
图1示出了根据本发明实施例的数据同步方法的流程图。
图2示出了根据本发明第一实施例的数据同步方法的拓扑图。
图3示出了根据本发明第二实施例的数据同步方法的拓扑图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的实施方式;相反,提供这些实施方式使得本发明将全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的结构,因而将省略对它们的重复描述。
为了减少现有技术中的数据传输量,本发明提供了一种数据同步方法,参见图1。图1示出了根据本发明实施例的数据同步方法的流程图,包括两个步骤:
步骤S110:获取帧数据。
帧数据是客户端与服务端之间传输时的一个数据单元。帧数据一般由帧头和数据区组成。帧头包括接收端物理地址的定位以及其它网络信息。数据区包括数据体。由于帧数据的传输需要客户端与服务端使用同一种通讯协议,因此数据区中的数据体由数据头部和具体数据组成。数据头部可以包括IP源地址、IP目标地址以及其他信息。具体数据可以包括用户数据协议(UDP),传输控制协议(TCP),还有具体数据的其他信息。
具体而言,本发明所提供的帧数据都具有相同的数据结构。该数据结构至少包括更新标识位及待更新数据。更新标识位用于表示帧数据是否更新。例如,按如下代码定义本发明提供的数据结构:
其中,EUserDataTypeType为更新标识位,EUserDataTypeType=1表示该帧数据已被更新;系统默认EUserDataTypeType=EUSERDATATYPE_MIN表示该帧数据初始默认未被更新。unit64value表示字符串格式的待更新数据,并具有4个字节的大小。bytesdata表示二进制格式的待更新数据。待更新数据可以字符串格式或二进制格式进行传输。在本实施例中,系统默认unit64value=0,表示系统默认待更新数据以二进制格式进行传输。本发明所提供的帧数据都使用相同的数据结构,使得使用本发明所提供的数据同步方法的应用程序可以使用同一数据接口在多个设备间进行传输,简化了应用程序的研发工作。
具体而言,可由一个或多个逻辑模块在帧数据同步传输前对帧数据进行逻辑运算。经逻辑运算后更新的数据作为需要传输的待更新数据。逻辑模块可根据应用程序的实际功能来设计。例如,应用程序是图像处理程序,则其逻辑模块可以包括放大/缩小模块、裁剪模块、平移模块等等。
当同一逻辑模块对同一帧数据进行多次修改时,中间修改多次的数据并非必要同步传输的数据。因此,为了减少数据传输量,本发明优选地,仅传输根据该逻辑模块在帧数据传输前最后一次进行的逻辑运算所获得的待更新数据。若有多个逻辑模块对帧数据进行修改,为了区分不同的逻辑模块与待更新数据的对应关系,本发明所提供的更新标识位还用于表示与帧数据的待更新数据对应的逻辑模块,也就是说,本发明所提供的更新标识位还用于表示对帧数据进行过逻辑运算的逻辑模块。当一逻辑模块要对帧数据进行逻辑运算时,检测更新标识位,判断该逻辑模块是否对该帧数据进行过逻辑运算。所判断该逻辑模块对该帧数据进行过逻辑运算,则进一步根据更新标识位找到与该逻辑模块对应的待更新数据,进而将所找到的待更新数据更新为此次逻辑运算后所获得的待更新数据。若仅由一个逻辑模块对帧数据进行修改,则本发明所提供的更新标识位可以仅表示帧数据是否更新。
进一步地,逻辑模块对帧数据进行逻辑运算后,通知该逻辑模块所在的设备,指示该设备使该帧数据的更新标识位表示帧数据已更新。
在本发明的一个优选例中,帧数据可以按一预定采样间隔来获取。这样周期性的获取方式相比每次更新都要进行同步的传输的方式,进一步减少了数据传输量及系统资源的使用。
步骤S120:检测帧数据的更新标识位,若更新标识位表示帧数据经过更新,则对待更新数据进行传输同步。
下面结合图2和图3的实施例,进一步说明本发明所提供的数据同步方法。
第一实施例
图2示出了根据本发明第一实施例的数据同步方法的拓扑图。
具体而言,图2示出了客户端210与服务端220之间进行数据同步的实施例。客户端210与服务端220都储存有对应的帧数据。客户端210的逻辑模块对帧数据进修改后,客户端210的逻辑模块向客户端210发送一通知指示客户时帧数据的更新标识位表示帧数据已被更新。客户端210周期性获取帧数据,并检测帧数据的更新标识位,由于此时帧数据的更新标识位表示帧数据已被更新,因此,客户端210将帧数据的待更新数据发送至服务端220处进行同步。
对应地,服务端220的逻辑模块对帧数据进修改后,服务端220的逻辑模块向服务端220发送一通知指示客户时帧数据的更新标识位表示帧数据已被更新。服务端220周期性获取帧数据,并检测帧数据的更新标识位,由于此时帧数据的更新标识位表示帧数据已被更新,因此,服务端220将帧数据的待更新数据发送至客户端210处进行同步。
第二实施例
图3示出了根据本发明第二实施例的数据同步方法的拓扑图。
具体而言,图3示出了多个客户端310A、310B通过服务端320进行数据同步的实施例。
以客户端310A向客户端310B传输同步数据为例。优选地,客户端310A、客户端310B及服务端220都储存有对应的帧数据。客户端310A的逻辑模块对帧数据进修改后,客户端310A的逻辑模块向客户端310A发送一通知指示客户时帧数据的更新标识位表示帧数据已被更新。客户端310A周期性获取帧数据,并检测帧数据的更新标识位,由于此时帧数据的更新标识位表示帧数据已被更新,因此,客户端310A将帧数据的待更新数据发送至服务端320。优选地,待更新数据具有客户端310B的标识信息,例如,客户端310B的IP地址。服务端320收到待更新数据后,根据客户端310B的标识信息,将待更新数据转发至客户端310B。在本发明的一个实施例中,服务端320收到待更新数据还对其储存的帧数据进行同步更新。
在本发明的又一个实施例中,服务端320收到客户端310A发送的待更新数据后,周期性地向客户端310B转发待更新数据。若在一个周期内,服务端320收到客户端310A发送的多个待更新数据,服务端320可以根据更新标识位判断多个待更新数据是否由同一逻辑模块的逻辑运算获得。若服务端320根据更新标识位判断多个待更新数据由同一逻辑模块的逻辑运算获得,则将该周期内接收到的最后一个由同一逻辑模块的逻辑运算获得的待更新数据转发至客户端310B。
本发明通过帧数据统一的数据结构可以判断和获取需要更新的待更新数据,进而在客户端和服务端之间同步数据时,减少不必要的数据传输,降低数据传输量。同时,统一的数据结构可通过同一个数据接口来传输数据,进而简化应用程序的研发。
以上具体地示出和描述了本发明的示例性实施方式。应该理解,本发明不限于所公开的实施方式,相反,本发明意图涵盖包含在所附权利要求范围内的各种修改和等效置换。
Claims (10)
1.一种数据同步方法,其特征在于,包括:
获取帧数据,各帧数据具有相同的数据结构,所述数据结构至少包括更新标识位及待更新数据,所述更新标识位用于表示所述帧数据是否更新;以及
检测所述帧数据的更新标识位,若所述更新标识位表示所述帧数据经过更新,则对所述待更新数据进行传输同步。
2.如权利要求1所述的数据同步方法,其特征在于,所述待更新数据通过同一数据接口在客户端和服务端之间进行传输同步。
3.如权利要求1所述的数据同步方法,其特征在于,所述待更新数据通过服务端在多个客户端之间进行传输同步。
4.如权利要求1至3任一项所述的数据同步方法,其特征在于,所述帧数据经一个或多个逻辑模块进行逻辑运算进而获得所述待更新数据。
5.如权利要求4所述的数据同步方法,其特征在于,所述一个或多个逻辑模块对所述帧数据进行逻辑运算后,向所述逻辑模块所在的客户端发送一更新通知,所述更新通知指示所述客户端使所述帧数据的更新标识位表示所述帧数据已被更新。
6.如权利要求4所述的数据同步方法,其特征在于,所述一个或多个逻辑模块对所述帧数据进行逻辑运算后,向所述逻辑模块所在的服务端发送一更新通知,所述更新通知指示所述服务端使所述帧数据的更新标识位表示所述帧数据已被更新。
7.如权利要求4所述的数据同步方法,其特征在于,所述更新标识位还用于表示与所述帧数据的待更新数据对应的逻辑模块。
8.如权利要求7所述的数据同步方法,其特征在于,同一逻辑模块多次对所述帧数据进行逻辑运算时,所述帧数据的待更新数据根据所述帧数据同步前该逻辑模块最后一次对所述帧数据进行的逻辑运算获得。
9.如权利要求1至3任一项所述的数据同步方法,其特征在于,所述待更新数据以字符串或者二进制的格式进行传输。
10.如权利要求1至3任一项所述的数据同步方法,其特征在于,获取帧数据包括:
按一预定采样间隔获取帧数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610147590.XA CN105827699A (zh) | 2016-03-16 | 2016-03-16 | 数据同步方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610147590.XA CN105827699A (zh) | 2016-03-16 | 2016-03-16 | 数据同步方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105827699A true CN105827699A (zh) | 2016-08-03 |
Family
ID=56987254
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610147590.XA Pending CN105827699A (zh) | 2016-03-16 | 2016-03-16 | 数据同步方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105827699A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109688176A (zh) * | 2017-10-18 | 2019-04-26 | 腾讯科技(深圳)有限公司 | 一种文件同步方法及终端、网络设备、存储介质 |
CN114726932A (zh) * | 2022-05-12 | 2022-07-08 | 欧梯恩智能科技(苏州)有限公司 | 一种数据传输方法、装置与电子设备 |
CN115510166A (zh) * | 2022-11-23 | 2022-12-23 | 云账户技术(天津)有限公司 | 数据同步服务的方法、装置、远程平台和电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101051925A (zh) * | 2006-04-04 | 2007-10-10 | 腾讯科技(深圳)有限公司 | 一种实现网络通讯录数据同步的方法 |
CN101316256A (zh) * | 2007-05-28 | 2008-12-03 | 微码(北京)移动技术有限公司 | 一种数据更新的方法 |
CN101325478A (zh) * | 2008-08-06 | 2008-12-17 | 北京北纬通信科技股份有限公司 | 数据同步方法及系统 |
CN103164422A (zh) * | 2011-12-09 | 2013-06-19 | 百度在线网络技术(北京)有限公司 | 采用通用数据存储格式进行数据同步的方法、设备与系统 |
-
2016
- 2016-03-16 CN CN201610147590.XA patent/CN105827699A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101051925A (zh) * | 2006-04-04 | 2007-10-10 | 腾讯科技(深圳)有限公司 | 一种实现网络通讯录数据同步的方法 |
CN101316256A (zh) * | 2007-05-28 | 2008-12-03 | 微码(北京)移动技术有限公司 | 一种数据更新的方法 |
CN101325478A (zh) * | 2008-08-06 | 2008-12-17 | 北京北纬通信科技股份有限公司 | 数据同步方法及系统 |
CN103164422A (zh) * | 2011-12-09 | 2013-06-19 | 百度在线网络技术(北京)有限公司 | 采用通用数据存储格式进行数据同步的方法、设备与系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109688176A (zh) * | 2017-10-18 | 2019-04-26 | 腾讯科技(深圳)有限公司 | 一种文件同步方法及终端、网络设备、存储介质 |
CN109688176B (zh) * | 2017-10-18 | 2022-01-11 | 腾讯科技(深圳)有限公司 | 一种文件同步方法及终端、网络设备、存储介质 |
CN114726932A (zh) * | 2022-05-12 | 2022-07-08 | 欧梯恩智能科技(苏州)有限公司 | 一种数据传输方法、装置与电子设备 |
CN115510166A (zh) * | 2022-11-23 | 2022-12-23 | 云账户技术(天津)有限公司 | 数据同步服务的方法、装置、远程平台和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20060212582A1 (en) | Architecture for building a peer to peer messaging platform | |
US20160173415A1 (en) | Issuing method for forwarding adjacency link | |
US20190207843A1 (en) | Network analysis | |
JP6195014B2 (ja) | 通信システム、通信方法、中継装置、および、通信プログラム | |
CN110224935B (zh) | 一种处理组播数据报文的方法及装置 | |
CN104243630A (zh) | Vxlan网络中的mac地址学习方法及装置 | |
CN106921578B (zh) | 一种转发表项的生成方法和装置 | |
CN112202746B (zh) | Rpc成员信息获取方法、装置、电子设备和存储介质 | |
CN105827699A (zh) | 数据同步方法 | |
CN107547346B (zh) | 一种报文传输方法和装置 | |
CN105580334A (zh) | 一种数据传输方法、终端和服务器 | |
EP3226518B1 (en) | Content delivery across heterogeneous networks | |
EP3226516A1 (en) | Unified data networking across heterogeneous networks | |
CN105827439A (zh) | 实现无线设备自组网的方法 | |
CN107979645B (zh) | 一种物联网实现方法 | |
CN108134801B (zh) | 一种基于消息过滤算法的mqtt协议智能家居的识别方法 | |
EP3311536A1 (en) | Path setup in a mesh network | |
CN107634975A (zh) | 一种数据同步方法、设备和系统 | |
CN104363084A (zh) | 一种链路状态同步方法及装置 | |
CN103095549A (zh) | 一种即时通信工具间消息传递的方法和系统 | |
JP4111968B2 (ja) | マルチキャスティングのためのトンネリング方法及びトンネリング装置 | |
JPWO2015162672A1 (ja) | 通信装置および車両統合管理システム | |
CN110650097A (zh) | 一种数据传播方法、装置以及计算机可读存储介质 | |
CN101841453B (zh) | 一种网络错误源的处理方法、系统及网络节点 | |
US20160344591A1 (en) | Determining Connections of Non-External Network Facing Ports |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160803 |