欢迎光临小豌豆知识网!
当前位置:首页 > 电学技术 > 电通讯技术> 一种数据同步的方法、装置、设备及存储介质独创技术114100字

一种数据同步的方法、装置、设备及存储介质

2021-02-25 20:13:58

一种数据同步的方法、装置、设备及存储介质

  技术领域

  本申请涉及通信技术领域,尤其涉及一种数据同步的方法、装置、设备及存储介质。

  背景技术

  如今,网络游戏竞技已非常普及,选手可以选择参加线上比赛或者线下比赛,其中,选手在参加线上比赛时,只需在比赛时间有一台能够上网进行游戏的终端设备即可。而线下比赛对选手的区域性要求较大,需要选手集中在一个地方,选手之间的沟通更加方便,也更有利于选手实力的发挥。

  目前,线下比赛通常采用如图1所示的架构,客户端1、客户端2和观察者客户端通过广域网(wide area network,WAN)与服务器建立物理连接,观察者客户端用于进行直播视频的录屏和推流。举行比赛时通过普通带宽接入WAN,或者通过专线接入WAN。

  基于上述架构,客户端与服务器之间的数据传输链路较长,需要经过WAN中若干未知的物理节点(例如,路由器或者交换机等)中转,只要任何一个物理节点出现故障,或者物理节点之间的物理线路出现故障,都可能造成网络抖动,甚至网络断开,导致数据传输失败。

  发明内容

  本申请实施例提供了一种数据同步的方法、相关装置、设备及存储介质,将服务器中的帧同步逻辑部署在终端设备侧,通过局域网达到数据同步的目的,无需经过多个物理节点即可实现数据的同步,降低网络抖动以及网络断开的风险,从而提升数据传输的实时性。

  有鉴于此,本申请一方面提供一种数据同步的方法,该方法应用于数据同步系统,数据同步系统至少包括第一终端设备以及第二终端设备,第一终端设备与第二终端设备建立局域网连接,数据同步方法包括:

  第一终端设备获取帧同步请求,其中,帧同步请求携带第一终端设备的标识;

  若第一终端设备在第一单位帧内获取到第一数据包,并且在第一单位帧内接收到第二终端设备发送的第二数据包,则第一终端设备根据第一数据包以及第二数据包生成第一目标帧数据;

  第一终端设备根据第一目标帧数据,在第二单位帧内更新第一终端设备的本地数据,其中,第二单位帧为第一单位帧相邻的后一个单位帧;

  第一终端设备向第二终端设备发送第一目标帧数据,以使第二终端设备根据第一目标帧数据,在第二单位帧内更新第二终端设备的本地数据。

  本申请另一方面提供一种数据同步的方法,该方法应用于数据同步系统,数据同步系统至少包括第一终端设备、第二终端设备、第三终端设备以及移动热点设备,第一终端设备、是第二终端设备、第三终端设备以及移动热点设备建立局域网连接,数据同步方法包括:

  第一终端设备获取帧同步请求,其中,帧同步请求携带第一终端设备的标识;

  若第一终端设备在第一单位帧内接收到第一数据包以及第二数据包,则第一终端设备根据第一数据包以及第二数据包生成第一目标帧数据,其中,第一数据包为第二终端设备发送的,第二数据包为第三终端设备发送的;

  第一终端设备根据第一目标帧数据,在第二单位帧内更新第一终端设备的本地数据,其中,第二单位帧为第一单位帧相邻的后一个单位帧;

  第一终端设备向第二终端设备发送第一目标帧数据,以使第二终端设备根据第一目标帧数据,在第二单位帧内更新第二终端设备的本地数据;

  第一终端设备向第三终端设备发送第一目标帧数据,以使第三终端设备根据第一目标帧数据,在第二单位帧内更新第三终端设备的本地数据。

  本申请另一方面提供一种数据同步的方法,该数据同步系统至少包括第一终端设备、第二终端设备、第三终端设备以及接入点AP,AP接入交换机,第一终端设备、是第二终端设备、第三终端设备以及AP建立局域网连接,数据同步方法包括:

  第一终端设备获取帧同步请求,其中,帧同步请求携带第一终端设备的标识;

  若第一终端设备在第一单位帧内接收到第一数据包以及第二数据包,则第一终端设备根据第一数据包以及第二数据包生成第一目标帧数据,其中,第一数据包为第二终端设备发送的,第二数据包为第三终端设备发送的;

  第一终端设备根据第一目标帧数据,在第二单位帧内更新第一终端设备的本地数据,其中,第二单位帧为第一单位帧相邻的后一个单位帧;

  第一终端设备向第二终端设备发送第一目标帧数据,以使第二终端设备根据第一目标帧数据,在第二单位帧内更新第二终端设备的本地数据;

  第一终端设备向第三终端设备发送第一目标帧数据,以使第三终端设备根据第一目标帧数据,在第二单位帧内更新第三终端设备的本地数据。

  本申请另一方面提供一种数据同步的方法,该方法应用于数据同步系统,数据同步系统至少包括第一终端设备、第二终端设备以及接入点AP,AP接入交换机,第一终端设备、第二终端设备以及AP建立局域网连接,数据同步方法包括:

  第一终端设备获取帧同步请求,其中,帧同步请求携带第一终端设备的标识;

  若第一终端设备在第一单位帧内获取到第一数据包,并且在第一单位帧内接收到第二终端设备发送的第二数据包,则第一终端设备根据第一数据包以及第二数据包生成第一目标帧数据;

  第一终端设备根据第一目标帧数据,在第二单位帧内更新第一终端设备的本地数据,其中,第二单位帧为第一单位帧相邻的后一个单位帧;

  第一终端设备向第二终端设备发送第一目标帧数据,以使第二终端设备根据第一目标帧数据,在第二单位帧内更新第二终端设备的本地数据。

  本申请另一方面提供一种数据同步的方法,该方法应用于数据同步系统,数据同步系统至少包括第一终端设备、第二终端设备、服务器以及接入点AP,AP接入交换机,第一终端设备、第二终端设备、服务器以及AP建立局域网连接,AP接入交换机,数据同步方法包括:

  若服务器在第一单位帧内接收到第一数据包以及第二数据包,则服务器根据第一数据包以及第二数据包生成目标帧数据,其中,第一数据包为第一终端设备发送的,第二数据包为第二终端设备发送的;

  服务器向第一终端设备发送目标帧数据,以使第一终端设备根据目标帧数据,在第二单位帧内更新第一终端设备的本地数据,其中,第二单位帧为第一单位帧相邻的后一个单位帧;

  服务器向第二终端设备发送目标帧数据,以使第二终端设备根据目标帧数据,在第二单位帧内更新第二终端设备的本地数据。

  本申请另一方面提供一种数据同步的方法,该方法应用于数据同步系统,数据同步系统至少包括第一终端设备、第二终端设备、服务器以及移动热点设备,第一终端设备、是第二终端设备、服务器以及移动热点设备建立局域网连接,数据同步方法包括:

  若服务器在第一单位帧内接收到第一数据包以及第二数据包,则服务器根据第一数据包以及第二数据包生成目标帧数据,其中,第一数据包为第一终端设备发送的,第二数据包为第二终端设备发送的;

  服务器向第一终端设备发送目标帧数据,以使第一终端设备根据目标帧数据,在第二单位帧内更新第一终端设备的本地数据,其中,第二单位帧为第一单位帧相邻的后一个单位帧;

  服务器向第二终端设备发送目标帧数据,以使第二终端设备根据目标帧数据,在第二单位帧内更新第二终端设备的本地数据。

  本申请另一方面提供一种客户端,该客户端部署于第一终端设备,第一终端设备与第二终端设备建立局域网连接,该客户端包括:

  获取模块,用于获取帧同步请求,其中,帧同步请求携带第一终端设备的标识;

  生成模块,用于若在第一单位帧内获取到第一数据包,并且在第一单位帧内接收到第二终端设备发送的第二数据包,则根据第一数据包以及第二数据包生成第一目标帧数据;

  更新模块,用于根据第一目标帧数据,在第二单位帧内更新第一终端设备的本地数据,其中,第二单位帧为第一单位帧相邻的后一个单位帧;

  发送模块,用于向第二终端设备发送第一目标帧数据,以使第二终端设备根据第一目标帧数据,在第二单位帧内更新第二终端设备的本地数据。

  在一种可能的设计中,在本申请实施例的另一方面的一种实现方式中,客户端还包括启动模块、接收模块以及建立模块;

  启动模块,用于在获取模块获取帧同步请求之前,启动热点功能;

  接收模块,用于接收第二终端设备发送的连接请求;

  建立模块,用于响应于连接请求,并与第二终端设备建立局域网连接;

  或者,

  发送模块,还用于在获取帧同步请求之前,当第二终端设备启动热点功能时,向第二终端设备发送连接请求,以使第二终端设备响应于连接请求,并与第一终端设备建立局域网连接。

  在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,

  生成模块,还用于在获取模块获取帧同步请求之后,若在第一单位帧内获取到第一数据包,则根据第一数据包生成第二目标帧数据;

  更新模块,还用于根据第二目标帧数据,在第二单位帧内更新第一终端设备的本地数据;

  发送模块,还用于向第二终端设备发送第二目标帧数据,以使第二终端设备根据第二目标帧数据,在第二单位帧内更新第二终端设备的本地数据;

  或者,

  生成模块,还用于在获取模块获取帧同步请求之后,若在第一单位帧内接收到第二终端设备发送的第二数据包,则根据第二数据包生成第三目标帧数据;

  更新模块,还用于根据第三目标帧数据,在第二单位帧内更新第一终端设备的本地数据;

  发送模块,还用于向第二终端设备发送第三目标帧数据,以使第二终端设备根据第三目标帧数据,在第二单位帧内更新第二终端设备的本地数据。

  本申请另一方面提供一种客户端,该客户端部署于第一终端设备,第一终端设备、是第二终端设备、第三终端设备以及移动热点设备建立局域网连接,该客户端包括:

  获取模块,用于获取帧同步请求,其中,帧同步请求携带第一终端设备的标识;

  生成模块,用于若在第一单位帧内接收到第一数据包以及第二数据包,则根据第一数据包以及第二数据包生成第一目标帧数据,其中,第一数据包为第二终端设备发送的,第二数据包为第三终端设备发送的;

  更新模块,用于第一终端设备根据第一目标帧数据,在第二单位帧内更新第一终端设备的本地数据,其中,第二单位帧为第一单位帧相邻的后一个单位帧;

  发送模块,用于第一终端设备向第二终端设备发送第一目标帧数据,以使第二终端设备根据第一目标帧数据,在第二单位帧内更新第二终端设备的本地数据;

  发送模块,还用于第一终端设备向第三终端设备发送第一目标帧数据,以使第三终端设备根据第一目标帧数据,在第二单位帧内更新第三终端设备的本地数据。

  在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,

  发送模块,还用于在获取模块获取帧同步请求之前,当移动热点设备启动热点功能时,向移动热点设备发送连接请求,以使移动热点设备响应于连接请求,并与第一终端设备建立局域网连接。在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,

  生成模块,还用于在获取模块获取帧同步请求,若在第一单位帧内接收到第二终端设备发送的第一数据包,则根据第一数据包生成第二目标帧数据;

  更新模块,还用于根据第二目标帧数据,在第二单位帧内更新第一终端设备的本地数据;

  发送模块,还用于向第二终端设备发送第二目标帧数据,以使第二终端设备根据第二目标帧数据,在第二单位帧内更新第二终端设备的本地数据;

  发送模块,还用于向第三终端设备发送第二目标帧数据,以使第三终端设备根据第二目标帧数据,在第二单位帧内更新第三终端设备的本地数据。

  本申请另一方面提供一种客户端,该客户端部署于第一终端设备,第一终端设备、是第二终端设备、第三终端设备以及接入点AP建立局域网连接,AP接入交换机,该客户端包括:

  获取模块,用于获取帧同步请求,其中,帧同步请求携带第一终端设备的标识;

  生成模块,用于若在第一单位帧内接收到第一数据包以及第二数据包,则根据第一数据包以及第二数据包生成第一目标帧数据,其中,第一数据包为第二终端设备发送的,第二数据包为第三终端设备发送的;

  更新模块,用于根据第一目标帧数据,在第二单位帧内更新第一终端设备的本地数据,其中,第二单位帧为第一单位帧相邻的后一个单位帧;

  发送模块,用于向第二终端设备发送第一目标帧数据,以使第二终端设备根据第一目标帧数据,在第二单位帧内更新第二终端设备的本地数据;

  发送模块,还用于向第三终端设备发送第一目标帧数据,以使第三终端设备根据第一目标帧数据,在第二单位帧内更新第三终端设备的本地数据。

  在一种可能的设计中,在本申请实施例的另一方面的一种实现方式中,

  发送模块,还用于在获取模块获取帧同步请求之前,向AP发送连接请求,以使AP响应于连接请求,并与第一终端设备建立局域网连接。

  在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,

  生成模块,还用于在获取模块获取帧同步请求之前,若在第一单位帧内接收到第二终端设备发送的第一数据包,则根据第一数据包生成第二目标帧数据;

  更新模块,还用于根据第二目标帧数据,在第二单位帧内更新第一终端设备的本地数据;

  发送模块,还用于向第二终端设备发送第二目标帧数据,以使第二终端设备根据第二目标帧数据,在第二单位帧内更新第二终端设备的本地数据;

  发送模块,还用于向第三终端设备发送第二目标帧数据,以使第三终端设备根据第二目标帧数据,在第二单位帧内更新第三终端设备的本地数据。

  本申请另一方面提供一种客户端,该客户端部署于第一终端设备,第一终端设备、第二终端设备以及接入点AP建立局域网连接,该客户端包括:

  获取模块,用于获取帧同步请求,其中,帧同步请求携带第一终端设备的标识;

  生成模块,用于若在第一单位帧内获取到第一数据包,并且在第一单位帧内接收到第二终端设备发送的第二数据包,则根据第一数据包以及第二数据包生成第一目标帧数据;

  更新模块,用于根据第一目标帧数据,在第二单位帧内更新第一终端设备的本地数据,其中,第二单位帧为第一单位帧相邻的后一个单位帧;

  发送模块,用于向第二终端设备发送第一目标帧数据,以使第二终端设备根据第一目标帧数据,在第二单位帧内更新第二终端设备的本地数据。

  在一种可能的设计中,在本申请实施例的另一方面的一种实现方式中,

  发送模块,还用于在获取模块获取帧同步请求之前,向AP发送连接请求,以使AP响应于连接请求,并与第一终端设备建立局域网连接。

  本申请另一方面提供一种数据同步装置,该数据同步装置部署于服务器,服务器、第一终端设备、第二终端设备以及接入点AP建立局域网连接,AP接入交换机,数据同步装置包括:

  生成模块,用于若在第一单位帧内接收到第一数据包以及第二数据包,则根据第一数据包以及第二数据包生成目标帧数据,其中,第一数据包为第一终端设备发送的,第二数据包为第二终端设备发送的;

  发送模块,用于向第一终端设备发送目标帧数据,以使第一终端设备根据目标帧数据,在第二单位帧内更新第一终端设备的本地数据,其中,第二单位帧为第一单位帧相邻的后一个单位帧;

  发送模块,还用于向第二终端设备发送目标帧数据,以使第二终端设备根据目标帧数据,在第二单位帧内更新第二终端设备的本地数据。

  在一种可能的设计中,在本申请实施例的另一方面的一种实现方式中,

  发送模块,还用于在生成模块根据第一数据包以及第二数据包生成目标帧数据之前,向AP发送连接请求,以使AP响应于连接请求,并与服务器建立局域网连接。

  本申请另一方面提供一种数据同步装置,该数据同步装置部署于服务器,服务器、第一终端设备、第二终端设备以及移动热点设备建立局域网连接,数据同步装置包括:

  生成模块,用于若在第一单位帧内接收到第一数据包以及第二数据包,则根据第一数据包以及第二数据包生成目标帧数据,其中,第一数据包为第一终端设备发送的,第二数据包为第二终端设备发送的;

  发送模块,用于向第一终端设备发送目标帧数据,以使第一终端设备根据目标帧数据,在第二单位帧内更新第一终端设备的本地数据,其中,第二单位帧为第一单位帧相邻的后一个单位帧;

  发送模块,还用于向第二终端设备发送目标帧数据,以使第二终端设备根据目标帧数据,在第二单位帧内更新第二终端设备的本地数据。

  在一种可能的设计中,在本申请实施例的另一方面的一种实现方式中,

  发送模块,还用于在生成模块根据第一数据包以及第二数据包生成目标帧数据之前,当移动热点设备启动热点功能时,向移动热点设备发送连接请求,以使移动热点设备响应于连接请求,并与服务器建立局域网连接。

  本申请另一方面提供一种终端设备,包括:存储器、收发器、处理器以及总线系统;

  其中,存储器用于存储程序;

  处理器用于执行存储器中的程序,包括执行上述各方面的方法;

  总线系统用于连接存储器以及处理器,以使存储器以及处理器进行通信。

  本申请另一方面提供一种服务器,包括:存储器、收发器、处理器以及总线系统;

  其中,存储器用于存储程序;

  处理器用于执行存储器中的程序,包括执行上述各方面的方法;

  总线系统用于连接存储器以及处理器,以使存储器以及处理器进行通信。

  本申请的另一方面提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面的方法。

  本申请的另一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方面种各种可选实现方式所提供的方法。

  从以上技术方案可以看出,本申请实施例具有以下优点:

  本申请实施例中,提供了一种数据同步的方法,其中,第一终端设备与第二终端设备建立局域网连接,首先第一终端设备获取帧同步请求,如果第一终端设备在第一单位帧内获取到第一数据包,并在第一单位帧内接收到第二终端设备发送的第二数据包,那么该第一终端设备生成第一目标帧数据,然后根据第一目标帧数据,在第二单位帧内更新第一终端设备的本地数据,并且向第二终端设备发送第一目标帧数据,以使第二终端设备根据第一目标帧数据,在第二单位帧内更新第二终端设备的本地数据。通过上述方式,将服务器中的帧同步逻辑部署在终端设备侧,当多个终端设备均处于同一个局域网的情况下,由其中一个终端设备进行帧同步处理,并通过局域网向其他终端设备传输数据,由此达到数据同步的目的。上述过程都是在局域网内完成的,无需经过多个物理节点即可实现数据的同步,很大程度上降低了网络抖动以及网络断开的风险,从而提升数据传输的实时性。

  附图说明

  图1为现有技术中数据同步系统的一个架构示意图;

  图2为本申请实施例中数据传输系统的一个环境示意图;

  图3为本申请实施例中数据同步方法的一个实施例示意图;

  图4为本申请实施例中数据同步系统的一个业务框架示意图;

  图5为本申请实施例中基于业务使用者实现帧同步的一个交互流程示意图;

  图6为本申请实施例中基于业务使用者实现帧同步的另一个交互流程示意图;

  图7为本申请实施例中基于业务使用者实现帧同步的另一个交互流程示意图;

  图8为本申请实施例中数据同步方法的另一个实施例示意图;

  图9为本申请实施例中数据同步系统的另一个业务框架示意图;

  图10为本申请实施例中基于业务观察者实现帧同步的一个交互流程示意图;

  图11为本申请实施例中数据同步系统的一个架构示意图;

  图12为本申请实施例中基于小型线下比赛场景的一个设备部署架构示意图;

  图13为本申请实施例中基于业务观察者实现帧同步的另一个交互流程示意图;

  图14为本申请实施例中数据同步方法的另一个实施例示意图;

  图15为本申请实施例中数据同步系统的另一个架构示意图;

  图16为本申请实施例中基于大型线下比赛场景的一个设备部署架构示意图;

  图17为本申请实施例中数据同步方法的另一个实施例示意图;

  图18为本申请实施例中数据同步系统的另一个架构示意图;

  图19为本申请实施例中数据同步方法的另一个实施例示意图;

  图20为本申请实施例中数据同步系统的另一个业务框架示意图;

  图21为本申请实施例中基于服务器实现帧同步的一个交互流程示意图;

  图22为本申请实施例中数据同步系统的另一个架构示意图;

  图23为本申请实施例中基于大型线下比赛场景的另一个设备部署架构示意图;

  图24为本申请实施例中数据同步方法的另一个实施例示意图;

  图25为本申请实施例中数据同步系统的另一个架构示意图;

  图26为本申请实施例中基于小型线下比赛场景的另一个设备部署架构示意图;

  图27为本申请实施例中客户端的一个实施例示意图;

  图28为本申请实施例中客户端的另一个实施例示意图;

  图29为本申请实施例中客户端的另一个实施例示意图;

  图30为本申请实施例中客户端的另一个实施例示意图;

  图31为本申请实施例中数据同步装置的一个实施例示意图;

  图32为本申请实施例中数据同步装置的另一个实施例示意图;

  图33为本申请实施例中终端设备的一个结构示意图;

  图34为本申请实施例中服务器的一个结构示意图。

  具体实施方式

  本申请实施例提供了一种数据同步的方法、相关装置、设备及存储介质,将服务器中的帧同步逻辑部署在终端设备侧,通过局域网达到数据同步的目的,无需经过多个物理节点即可实现数据的同步,降低网络抖动以及网络断开的风险,从而提升数据传输的实时性。

  本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“对应于”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

  应理解,本申请提供的数据同步方法可应用于对数据实时性要求较高的场景,例如,在线下的网络游戏比赛中,对游戏数据传输的实时性要求非常高,如果存在游戏画面卡顿的情况,那么不但会影响游戏选手的正常发挥,还会导致解说员出现解说滞后的问题,影响观众的观战体验。又例如,在线上拍卖的过程中,对竞价数据传输的实时性要求也非常高,如果在竞价时出现卡顿或者网络断开的情况,则可能在用户甲出价的时候,被拍卖物品就已经被用户乙拍下了,造成拍卖有失公平。

  本申请提供了一种数据同步的方法,该方法可应用于如图2所示的数据传输系统,请参阅图2,图2为本申请实施例中数据传输系统的一个环境示意图,如图所示,数据传输系统中包括服务器以及终端设备,以线下的网络游戏比赛为例,终端设备之间建立局域网连接,游戏过程中生成的实时数据在局域网(local area network,LAN)内进行传输,而对于鉴权、上传游戏结果以及更新游戏数据等这类非实时操作,都可以通过广域网(wide areanetwork,WAN)与服务器进行通信,以此实现上述的非实时操作。

  本申请涉及的服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content DeliveryNetwork,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端设备可以是智能手机、平板电脑、笔记本电脑、掌上电脑或者个人电脑等,但并不局限于此。具体地,将多个终端设备接入同一个路由器上,此时,这些终端设备之间可形成一个LAN,LAN内的各个设备之间可以路由器实现互相通信。终端设备之间也可以通过无线通信方式(例如,蓝牙,无线保真(Wireless Fidelity,WiFi)或紫蜂(ZigBee)网络等)组成一个对等网络(也可称为对等网络(Peer to Peer,P2P))。在一个示例中,用户可将终端设备均加入名称为“11111”的WiFi网络。该WiFi网络内的多个终端设备形成了一个P2P网络。终端设备之间还可以通过蜂窝网络互联,或者,终端设备之间还可以通过转接设备(例如,通用串行总线(Universal Serial Bus,USB)数据线)互联,从而终端设备之间的通信功能。终端设备与服务器之间的连接可以通过无线网络、有线网络或可移动存储介质进行通信。无线网络通常为互联网(Internet),但也可以是任何网络,包括但不限于蓝牙、LAN、城域网(Metropolitan Area Network,MAN)、WAN、移动网络、专用网络或者虚拟专用网络的任何组合。可以理解的是,图2中的示例仅用于理解本方案,在实际应用中,终端设备的数量和类型,以及服务器的数量和类型均应当结合实际情况灵活确定。

  结合上述介绍,下面将对本申请中数据同步的方法进行介绍,数据同步的方法应用于数据同步系统,数据同步系统至少包括第一终端设备以及第二终端设备,第一终端设备与第二终端设备建立LAN连接,请参阅图3,本申请实施例中数据同步方法的一个实施例包括:

  101、第一终端设备获取帧同步请求,其中,帧同步请求携带第一终端设备的标识;

  本实施例中,第一终端设备和第二终端设备向服务器发送应用请求,其中,服务器属于外部服务器,即不在LAN内,服务器与第一终端设备通过WAN建立通信连接,且服务器与第二终端设备也通过WAN建立通信连接。服务器收到应用请求之后,将分别通知第一终端设备和第二终端设备进行相关业务,并且指定其中一个终端设备作为用于执行帧同步服务逻辑,以网络游戏为例,帧同步服务逻辑可以部署于网络游戏的应用中,下载该网络游戏之后即具有帧同步服务逻辑。帧同步服务逻辑也可以通过专门的应用来实现,即用户下载该应用之后即具有帧同步服务逻辑。本申请以指定第一终端设备为例进行说明。

  具体地,以网络游戏场景为例,第一终端设备和第二终端设备分别向游戏服务器发送游戏启动请求,游戏启动请求中携带玩家的身份标识、账号以及密码等信息,由游戏服务器对其进行鉴权,鉴权通过之后,可指定第一终端设备执行帧同步服务逻辑,于是服务器向第一终端设备发送帧同步请求,该帧同步请求携带第一终端设备的标识,例如,设备标识、设备的网际互联协议(Internet Protocol,IP)地址或者设备的LAN地址等,此处不做限定。为了便于介绍,请参阅图4,图4为本申请实施例中数据同步系统的一个业务框架示意图,如图所示,第一终端设备与第二终端设备建立LAN连接,同时,在第一终端设备实现帧同步服务逻辑。

  需要说明的是,本申请以第一终端设备和第二终端设备为例进行说明,然而,在实际应用中,LAN内还可以包括更多的终端设备,此处不做限定。

  102、若第一终端设备在第一单位帧内获取到第一数据包,并且在第一单位帧内接收到第二终端设备发送的第二数据包,则第一终端设备根据第一数据包以及第二数据包生成第一目标帧数据;

  本实施例中,在数据同步过程中,第一终端设备在一个单位帧内可以获取来源于自身的操作数据,并以此生成第一数据包,与此同时,第一终端设备还可以接收来自于其他终端设备发送的第二数据包。由于第一终端设备具有帧同步服务逻辑,因此,可以根据第一数据包以及第二数据包生成第一目标帧数据,例如,第一数据包为基于第一操作生成的数据包,第一操作为控制游戏角色A向左移动10个像素点,第二数据包为基于第二操作生成的数据包,第二操作为控制游戏角色B发射技能,由此生成的第一目标帧数据。

  需要说明的是,每个单位帧的时长可以是10毫秒,或者20毫秒,又或者是其他时长,此处不做限定。

  103、第一终端设备根据第一目标帧数据,在第二单位帧内更新第一终端设备的本地数据,其中,第二单位帧为第一单位帧相邻的后一个单位帧;

  本实施例中,第一终端设备根据生成的第一目标帧数据,在第二单位帧内更新本地数据,以步骤102中的内容作为示例,第一目标帧数据包括游戏角色A向左移动10个像素点后的位置信息,以及游戏角色B发射技能之后的技能冷却时间、技能命中情况以及其他相关的数据,第一终端设备还可以基于第一目标帧数据渲染出下一帧的游戏画面。需要说明的是,为了能够更实时地同步游戏状态,可以在第二单位帧的起始时刻更新第一终端设备的本地数据,第二单位帧为第一单位帧相邻的后一帧。

  104、第一终端设备向第二终端设备发送第一目标帧数据,以使第二终端设备根据第一目标帧数据,在第二单位帧内更新第二终端设备的本地数据。

  本实施例中,第一终端设备向第二终端设备发送已生成的第一目标帧数据,第二终端设备也会在第二单位帧内更新本地数据,与步骤103类似,第二终端设备也会基于第一目标帧数据渲染出下一帧的游戏画面。需要说明的是,为了能够更实时地同步游戏状态,可以在第二单位帧的起始时刻更新第二终端设备的本地数据。

  为了便于介绍,请参阅图5,图5为本申请实施例中基于业务使用者实现帧同步的一个交互流程示意图,如图所示,假设帧号2所对应的单位帧为第一单位帧,帧号3所对应的单位帧为第二单位帧,业务使用者为游戏选手或者实际参与业务的用户。用户甲在第一终端设备侧进行操作,得到操作A1,基于操作A1生成第一数据包。用户乙在第二终端设备侧进行操作,得到操作B1,基于操作B1生成第二数据包,第一终端设备在第一单位帧内接收到第二数据包。于是第一终端设备根据帧同步服务逻辑,对第一数据包和第二数据包进行处理,得到第一目标帧数据,第一终端设备根据第一目标帧数据更新本地数据,并且向第二终端设备发送该第一目标帧数据,以使第二终端设备也根据第一目标帧数据更新本地数据。

  本实施例中可用于多用户在不同环境(比如,咖啡厅、办公室、操场以及住家等)下,进行网络游戏的场景。

  本申请实施例中,提供了一种数据同步的方法,通过上述方式,将服务器中的帧同步逻辑部署在终端设备侧,当多个终端设备均处于同一个LAN的情况下,由其中一个终端设备进行帧同步处理,并通过LAN向其他终端设备传输数据,由此达到数据同步的目的。上述过程都是在LAN内完成的,无需经过多个物理节点即可实现数据的同步,很大程度上降低了网络抖动以及网络断开的风险,从而提升数据传输的实时性。

  可选地,在上述图3对应的实施例的基础上,本申请实施例提供的另一个可选实施例中,第一终端设备获取帧同步请求之前,还可以包括如下步骤:

  第一终端设备启动热点功能;

  第一终端设备接收第二终端设备发送的连接请求;

  第一终端设备响应于连接请求,并与第二终端设备建立LAN连接;

  或者,第一终端设备获取帧同步请求之前,方法还包括:

  当第二终端设备启动热点功能时,第一终端设备向第二终端设备发送连接请求,以使第二终端设备响应于连接请求,并与第一终端设备建立LAN连接。

  本实施例中,介绍了两种终端设备之间建立LAN连接的方式,下面将分别进行说明:

  方式一,由第一终端设备提供热点功能;

  第一终端设备首先需要开启热点功能,于是第二终端设备可以向第一终端设备发送连接请求,该连接请求可以携带密码,也可以不携带密码,这取决于第一终端设备侧是否设置了密码。例如,第二终端设备在搜索到第一终端设备对应的无线网络“tom”,并输入密码“123456”之后,如果该密码准确,则第一终端设备响应于连接请求,由此与第二终端设备建立LAN连接。

  方式二,由第二终端设备提供热点功能;

  类似地,第二终端设备首先需要开启热点功能,于是第一终端设备可以向第二终端设备发送连接请求,该连接请求可以携带密码,也可以不携带密码,这取决于第二终端设备侧是否设置了密码。例如,第一终端设备在搜索到第二终端设备对应的无线网络“Mary”,并输入密码“654321”之后,如果该密码准确,则第二终端设备响应于连接请求,由此与第一终端设备建立LAN连接。

  需要说明的是,无线热点功能就是可以提供无线LAN服务的一种技术,无线热点功能可以部署在终端设备上,通过该终端设备形成一个小型LAN,让周围至少一个终端设备通过这个无线热点上网,大大的便利了共享上网方式。

  其次,本申请实施例中,提供了两种终端设备之间建立LAN连接的方式,通过上述方式,可以由第一终端设备开启热点功能,第二终端设备主动连接第一终端设备的热点,由此实现LAN连接,也可以由第二终端设备开启热点功能,第一终端设备主动连接第二终端设备的热点,由此实现LAN连接。不同的连接方式均能够实现相同的目的,从而提升方案的灵活性。

  可选地,在上述图3对应的实施例的基础上,本申请实施例提供的另一个可选实施例中,第一终端设备获取帧同步请求之后,还可以包括如下步骤:

  若第一终端设备在第一单位帧内获取到第一数据包,则第一终端设备根据第一数据包生成第二目标帧数据;

  第一终端设备根据第二目标帧数据,在第二单位帧内更新第一终端设备的本地数据;

  第一终端设备向第二终端设备发送第二目标帧数据,以使第二终端设备根据第二目标帧数据,在第二单位帧内更新第二终端设备的本地数据;

  或者,第一终端设备获取帧同步请求之后,还可以包括如下步骤:

  若第一终端设备在第一单位帧内接收到第二终端设备发送的第二数据包,则第一终端设备根据第二数据包生成第三目标帧数据;

  第一终端设备根据第三目标帧数据,在第二单位帧内更新第一终端设备的本地数据;

  第一终端设备向第二终端设备发送第三目标帧数据,以使第二终端设备根据第三目标帧数据,在第二单位帧内更新第二终端设备的本地数据。

  本实施例中,介绍了两种基于业务使用者实现帧同步的方式,下面将分别进行说明:

  方式一,单位帧内具有帧同步服务逻辑的终端设备生成操作数据;

  具体地,为了便于介绍,请参阅图6,图6为本申请实施例中基于业务使用者实现帧同步的另一个交互流程示意图,如图所示,假设帧号2所对应的单位帧为第一单位帧,帧号3所对应的单位帧为第二单位帧,用户甲在第一终端设备侧进行操作,得到操作A1,基于操作A1生成第一数据包。例如,第一数据包为基于第一操作生成的数据包,第一操作为控制游戏角色A向左移动10个像素点。但是在第一单位帧内,用户乙并未执行任何操作,于是,第一终端设备根据帧同步服务逻辑,仅对第一数据包进行处理,得到第二目标帧数据,第一终端设备根据第二目标帧数据更新本地数据,还可以渲染出下一帧的画面。此外,第一终端设备还需要向第二终端设备发送该第二目标帧数据,以使第二终端设备也根据第二目标帧数据更新本地数据,且渲染出下一帧的画面。

  方式二,单位帧内不具有帧同步服务逻辑的终端设备生成操作数据;

  具体地,为了便于介绍,请参阅图7,图7为本申请实施例中基于业务使用者实现帧同步的另一个交互流程示意图,如图所示,假设帧号2所对应的单位帧为第一单位帧,帧号3所对应的单位帧为第二单位帧,用户乙在第二终端设备侧进行操作,得到操作B1,基于操作B1生成第二数据包。例如,第二数据包为基于第二操作生成的数据包,第二操作为控制游戏角色B发射技能。但是在第一单位帧内,用户甲并未执行任何操作,于是,第一终端设备根据帧同步服务逻辑,仅对第二数据包进行处理,得到第三目标帧数据,第一终端设备根据第三目标帧数据更新本地数据,还可以渲染出下一帧的画面。此外,第一终端设备还需要向第二终端设备发送该第三目标帧数据,以使第二终端设备也根据第三目标帧数据更新本地数据,且渲染出下一帧的画面。

  再次,本申请实施例中,提供了两种基于业务使用者实现帧同步的方式,通过上述方式,将服务器中的帧同步逻辑部署在第一终端设备侧,该第一终端设备为业务使用者使用的终端设备,在LAN内,任何一个终端设备基于操作数据生成的数据包都会发送至第一终端设备,由第一终端设备处理得到相应的目标帧数据,再将目标帧数据同步至LAN内的其他终端设备,由此实现数据的同步,并且很大程度上降低了网络抖动以及网络断开的风险,从而提升数据传输的实时性。

  下面将对本申请中数据同步的方法进行介绍,数据同步的方法应用于数据同步系统,数据同步系统至少包括第一终端设备、第二终端设备、第三终端设备以及移动热点设备,第一终端设备、是第二终端设备、第三终端设备以及移动热点设备建立LAN连接,请参阅图8,本申请实施例中数据同步方法的另一个实施例包括:

  201、第一终端设备获取帧同步请求,其中,帧同步请求携带第一终端设备的标识;

  本实施例中,第二终端设备和第三终端设备向服务器发送应用请求,其中,服务器属于外部服务器,即不在LAN内,服务器与第二终端设备通过WAN建立通信连接,且服务器与第三终端设备也通过WAN建立通信连接。

  一种实现方式为,服务器收到应用请求之后,将分别通知第二终端设备和第三终端设备进行相关业务,并且指定第三方设备(即第一终端设备)作为用于执行帧同步服务逻辑。例如,服务器向第一终端设备发送帧同步请求,该帧同步请求携带第一终端设备的标识,例如,设备标识、设备的IP地址或者设备的LAN地址等,此处不做限定。

  另一种实现方式为,服务器收到应用请求之后,将分别通知第二终端设备和第三终端设备进行相关业务,由第二终端设备或第三终端设备中的至少一个终端设备,向第三方设备(即第一终端设备)发送业务响应消息,第一终端设备基于业务响应消息确定其他终端设备均处于等待业务开始的状态,于是生成帧同步请求,帧同步请求用于指示第一终端设备执行帧同步服务逻辑。

  需要说明的是,以网络游戏场景为例,第一终端设备可以为观察者(observer,OB)终端设备,该OB终端设备上部署有OB客户端,用户通过OB终端设备以观察者的身份进入游戏,而不直接参与游戏,例如,游戏裁判就是以这个视角进行公证的。以在线拍卖场景为例,第一终端设备可以为拍卖人使用的终端设备,拍卖人通过第一终端设备以进入线上拍卖会,并且设置被拍卖物品的底价等,而不直接参与拍卖。

  为了便于介绍,请参阅图9,图9为本申请实施例中数据同步系统的另一个业务框架示意图,如图所示,第一终端设备、第二终端设备与第三终端设备建立LAN连接,同时,在第一终端设备实现帧同步服务逻辑。

  需要说明的是,本申请以第二终端设备和第三终端设备为例进行说明,然而,在实际应用中,LAN内还可以包括更多的终端设备,此处不做限定。

  202、若第一终端设备在第一单位帧内接收到第一数据包以及第二数据包,则第一终端设备根据第一数据包以及第二数据包生成第一目标帧数据,其中,第一数据包为第二终端设备发送的,第二数据包为第三终端设备发送的;

  本实施例中,在数据同步过程中,第一终端设备在一个单位帧内可以接收到来自不同终端设备发送的数据包,即,如果第一终端设备还可以接收来自于其他终端设备发送的第二数据包。由于第一终端设备具有帧同步服务逻辑,因此,如果第一终端设备在第一单位帧内接收到第二终端设备发送的第一数据包,并且在第一单位帧内接收到第三终端设备发送的第二数据包,第一终端设备可以根据第一数据包以及第二数据包生成第一目标帧数据,例如,第一数据包为基于第一操作生成的数据包,第一操作为控制游戏角色A向左移动10个像素点,第二数据包为基于第二操作生成的数据包,第二操作为控制游戏角色B发射技能,由此生成的第一目标帧数据。

  需要说明的是,每个单位帧的时长可以是10毫秒,或者20毫秒,又或者是其他时长,此处不做限定。

  203、第一终端设备根据第一目标帧数据,在第二单位帧内更新第一终端设备的本地数据,其中,第二单位帧为第一单位帧相邻的后一个单位帧;

  本实施例中,第一终端设备根据生成的第一目标帧数据,在第二单位帧内更新本地数据,以步骤202中的内容作为示例,第一目标帧数据包括游戏角色A向左移动10个像素点后的位置信息,以及游戏角色B发射技能之后的技能冷却时间、技能命中情况以及其他相关的数据,第一终端设备还可以基于第一目标帧数据渲染出下一帧的游戏画面。需要说明的是,为了能够更实时地同步游戏状态,可以在第二单位帧的起始时刻更新第一终端设备的本地数据,第二单位帧为第一单位帧相邻的后一帧。

  204、第一终端设备向第二终端设备发送第一目标帧数据,以使第二终端设备根据第一目标帧数据,在第二单位帧内更新第二终端设备的本地数据;

  本实施例中,第一终端设备向第二终端设备发送已生成的第一目标帧数据,第二终端设备也会在第二单位帧内更新本地数据,与步骤203类似,第二终端设备也会基于第一目标帧数据渲染出下一帧的游戏画面。需要说明的是,为了能够更实时地同步游戏状态,可以在第二单位帧的起始时刻更新第二终端设备的本地数据。

  205、第一终端设备向第三终端设备发送第一目标帧数据,以使第三终端设备根据第一目标帧数据,在第二单位帧内更新第三终端设备的本地数据。

  本实施例中,第一终端设备向第三终端设备发送已生成的第一目标帧数据,第三终端设备也会在第二单位帧内更新本地数据,与步骤203类似,第三终端设备也会基于第一目标帧数据渲染出下一帧的游戏画面。需要说明的是,为了能够更实时地同步游戏状态,可以在第二单位帧的起始时刻更新第三终端设备的本地数据。

  为了便于介绍,请参阅图10,图10为本申请实施例中基于业务观察者实现帧同步的一个交互流程示意图,如图所示,假设帧号2所对应的单位帧为第一单位帧,帧号3所对应的单位帧为第二单位帧,业务观察者为游戏裁判或者以第三方视角参与业务的用户。用户甲在第二终端设备侧进行操作,得到操作A1,第一终端设备基于操作A1生成第一数据包。用户乙在第三终端设备侧进行操作,得到操作B1,第一终端设备基于操作B1生成第二数据包,第一终端设备在第一单位帧内接收到第一数据包以及第二数据包。于是第一终端设备根据帧同步服务逻辑,对第一数据包和第二数据包进行处理,得到第一目标帧数据,第一终端设备根据第一目标帧数据更新本地数据,并且向第二终端设备和第三终端设备分别发送该第一目标帧数据,第二终端设备和第三终端设备也分别根据第一目标帧数据更新本地数据。

  本实施例中可用于多用户在小型线下比赛现场(比如,办公室或者会议厅等)进行游戏的场景,游戏的过程中,还有第三方用户对比赛过程进行解说或者裁定等。

  本申请实施例中,提供了另一种数据同步的方法,通过上述方式,将服务器中的帧同步逻辑部署在终端设备侧,当多个终端设备均处于同一个LAN的情况下,由其中一个终端设备进行帧同步处理,并通过LAN向其他终端设备传输数据,由此达到数据同步的目的。上述过程都是在LAN内完成的,无需经过多个物理节点即可实现数据的同步,很大程度上降低了网络抖动以及网络断开的风险,从而提升数据传输的实时性。此外,将直播推流与其他用户(例如,观众或者外部观看人员)使用的终端设备置于LAN之外,不占用LAN的传输资源,杜绝了其他终端设备外对LAN内终端设备的影响甚至恶意干扰。

  可选地,在上述图8对应的实施例的基础上,本申请实施例提供的另一个可选实施例中,第一终端设备获取帧同步请求之前,还可以包括如下步骤:

  当移动热点设备启动热点功能时,第一终端设备向移动热点设备发送连接请求,以使移动热点设备响应于连接请求,并与第一终端设备建立LAN连接。

  本实施例中,提供了一种基于移动热点(Mobile WIFI,MiFi)设备建立LAN连接的方式。MiFi设备首先需要开启热点功能,于是第一终端设备、第二终端设备和第三终端设备可以分别向MiFi设备发送连接请求,该连接请求可以携带密码,也可以不携带密码,这取决于MiFi设备是否被设置有密码。例如,第一终端设备在搜索到MiFi设备对应的无线网络“MiFi123”,并输入密码“112233”之后,如果该密码准确,则MiFi设备响应于连接请求,由此与第一终端设备建立LAN连接。可以理解的是,第二终端设备和第三终端设备也采用与第一终端设备类似的方式,与MiFi设备建立LAN连接,此处不做赘述。

  为了便于理解,请参阅图11,图11为本申请实施例中数据同步系统的一个架构示意图,如图所示,如果第一终端设备与MiFi设备距离较近(例如,0.2米),那么第一终端设备可以接入至MiFi设备提供的2.4G频段,类似地,如果第二终端设备和第三终端设备均与MiFi设备距离较近,则第二终端设备和第三终端设备也可以接入至MiFi设备提供的2.4G频段。

  需要说明的是,2.4G频段的信号穿透力强,且传输距离较远,而5G频段的抗干扰能力强,信号比较稳定。MiFi设备可以同时支持2.4G频段和5G频段,图11所示的接入至2.4G频段仅为一个示意,在实际应用中,也可以接入至5G频段。

  基于此,在小型线下比赛场景中,可以使用一个便携的MiFi设备提供网络,考虑到小型线下比赛的场合多样性,比如,网络主播可以在自己的直播地点开展游戏。此时,无需额外的设备,只需要找一台MiFi设备开启热点即可组建LAN。为了便于说明,请参阅图12,图12为本申请实施例中基于小型线下比赛场景的一个设备部署架构示意图,如图所示,在MiFi设备开启热点功能之后,第一终端设备(即OB终端设备)、第二终端设备(即选手甲使用的终端设备)和第三终端设备(即选手乙使用的终端设备)均连接至MiFi设备,由此形成一个LAN。由于观看比赛的视角通常与OB视角一致,因此,可以采用视频采集线将第一终端设备与视频推流设备建立通信连接,从而实现视频推流。其中,视频采集线可以是高清线(High Definition Multimedia,HDMI),也可以其他连接线,此处不做限定。视频推流设备通过连接线连接至路由器,路由器通过宽带网络将比赛视频传输至游戏平台、直播平台或者其他设备。与此同时,路由器还连接有交换机,交换机与其他设备(包含但不限于话题、手机和电脑等)建立通信,使得其他设备也能正常连接网络,该网络与局域网之间是隔离的,因此,不会相互影响。

  其次,本申请实施例中,提供了一种基于MiFi设备建立LAN连接的方式,通过上述方式,需要连接到同一个LAN的终端设备均连接至MiFi设备即可,MiFi设备可以用来设置特定网络,通过蜂窝连接实现在任何地点共享网络连接,使小型LAN的设置过程简化,并且可以支持更多的终端设备加入该LAN,从而提升方案的灵活性。

  可选地,在上述图8对应的实施例的基础上,本申请实施例提供的另一个可选实施例中,第一终端设备获取帧同步请求,还可以包括如下步骤:

  若第一终端设备在第一单位帧内接收到第二终端设备发送的第一数据包,则第一终端设备根据第一数据包生成第二目标帧数据;

  第一终端设备根据第二目标帧数据,在第二单位帧内更新第一终端设备的本地数据;

  第一终端设备向第二终端设备发送第二目标帧数据,以使第二终端设备根据第二目标帧数据,在第二单位帧内更新第二终端设备的本地数据;

  第一终端设备向第三终端设备发送第二目标帧数据,以使第三终端设备根据第二目标帧数据,在第二单位帧内更新第三终端设备的本地数据。

  本实施例中,介绍了一种基于业务观察者实现帧同步的方式。具体地,为了便于介绍,请参阅图13,图13为本申请实施例中基于业务观察者实现帧同步的另一个交互流程示意图,如图所示,假设帧号2所对应的单位帧为第一单位帧,帧号3所对应的单位帧为第二单位帧,用户甲在第二终端设备侧进行操作,得到操作A1,基于操作A1生成第一数据包。例如,第一数据包为基于第一操作生成的数据包,第一操作为控制游戏角色A向左移动10个像素点。但是在第一单位帧内,用户乙并未执行任何操作,于是,第一终端设备根据帧同步服务逻辑,仅对第一数据包进行处理,得到第二目标帧数据,第一终端设备根据第二目标帧数据更新本地数据,还可以渲染出下一帧的画面。此外,第一终端设备还需要分别向第二终端设备和第三终端设备发送该第二目标帧数据,以使第二终端设备和第三终端设备也分别根据第二目标帧数据更新本地数据,且渲染出下一帧的画面。

  需要说明的是,如果在第一单位帧内,仅第三终端设备侧具有操作,那么第一终端设备也采用类似方式进行处理,此处不做赘述。

  再次,本申请实施例中,提供了一种基于业务观察者实现帧同步的方式,通过上述方式,将服务器中的帧同步逻辑部署在第一终端设备侧,该第一终端设备为业务观察者使用的终端设备,在LAN内,任何一个终端设备基于操作数据生成的数据包都会发送至第一终端设备,由第一终端设备处理得到相应的目标帧数据,再将目标帧数据同步至LAN内的其他终端设备,由此实现数据的同步,并且很大程度上降低了网络抖动以及网络断开的风险,从而提升数据传输的实时性。

  下面将对本申请中数据同步的方法进行介绍,数据同步的方法应用于数据同步系统,数据同步系统至少包括第一终端设备、第二终端设备、第三终端设备以及接入点(Access Point)AP,AP接入交换机,第一终端设备、是第二终端设备、第三终端设备以及AP建立LAN连接,请参阅图14,本申请实施例中数据同步方法的另一个实施例包括:

  301、第一终端设备获取帧同步请求,其中,帧同步请求携带第一终端设备的标识;

  本实施例中,用于实现帧同步服务逻辑的第一终端设备获取帧同步请求的方式,与上述实施例中步骤201所描述的步骤类似,且本实施例所采用的业务框架与图9类似,故此处不做赘述。

  需要说明的是,本申请以第二终端设备和第三终端设备为例进行说明,然而,在实际应用中,LAN内还可以包括更多的终端设备,此处不做限定。

  302、若第一终端设备在第一单位帧内接收到第一数据包以及第二数据包,则第一终端设备根据第一数据包以及第二数据包生成第一目标帧数据,其中,第一数据包为第二终端设备发送的,第二数据包为第三终端设备发送的;

  本实施例中,在数据同步过程中,第一终端设备在一个单位帧内可以接收到来自不同终端设备发送的数据包,具体实现方式与上述实施例中步骤202所描述的步骤类似,故此处不做赘述。

  303、第一终端设备根据第一目标帧数据,在第二单位帧内更新第一终端设备的本地数据,其中,第二单位帧为第一单位帧相邻的后一个单位帧;

  本实施例中,第一终端设备根据第一目标帧数据更新本地数据的方式,与上述实施例中步骤203描述的步骤类似,故此处不做赘述。

  304、第一终端设备向第二终端设备发送第一目标帧数据,以使第二终端设备根据第一目标帧数据,在第二单位帧内更新第二终端设备的本地数据;

  本实施例中,第二终端设备根据第一目标帧数据更新本地数据的方式,与上述实施例中步骤204描述的步骤类似,故此处不做赘述。

  305、第一终端设备向第三终端设备发送第一目标帧数据,以使第三终端设备根据第一目标帧数据,在第二单位帧内更新第三终端设备的本地数据。

  本实施例中,第三终端设备根据第一目标帧数据更新本地数据的方式,与上述实施例中步骤205描述的步骤类似,且需要说明的是,基于业务观察者实现帧同步的交互流程与图10所示的交互流程类似,故此处不做赘述。

  本实施例中可用于多用户在大型线下比赛现场(比如,大型赛场、广场或者操场等)进行官方比赛的场景,游戏的过程中,还有第三方用户对比赛过程进行解说或者裁定等。由于场地较大的情况下,MiFi设备的信号难以满足大场地内所有终端设备的需求,因此,可以采用专业供应商部署的交换机(可置于场地中央),通过有线连接的方式接入中继AP,再通过中继AP向终端设备提供网络。

  本申请实施例中,提供了另一种数据同步的方法,通过上述方式,将服务器中的帧同步逻辑部署在终端设备侧,当多个终端设备均处于同一个LAN的情况下,由其中一个终端设备进行帧同步处理,并通过LAN向其他终端设备传输数据,由此达到数据同步的目的。上述过程都是在LAN内完成的,无需经过多个物理节点即可实现数据的同步,很大程度上降低了网络抖动以及网络断开的风险,从而提升数据传输的实时性。此外,将直播推流与其他用户(例如,观众或者外部观看人员)使用的终端设备置于LAN之外,不占用LAN的传输资源,杜绝了其他终端设备外对LAN内终端设备的影响甚至恶意干扰。

  可选地,在上述图14对应的实施例的基础上,本申请实施例提供的另一个可选实施例中,第一终端设备获取帧同步请求之前,还可以包括如下步骤:

  第一终端设备向AP发送连接请求,以使AP响应于连接请求,并与第一终端设备建立LAN连接。

  本实施例中,介绍了一种基于AP和交换机建立LAN连接的方式,该AP具有中继功能,第一终端设备、第二终端设备和第三终端设备可以分别向AP发送连接请求,AP的数量可以是一个或者多个,接入到同一个局域网的AP需要连接同一个交换机,具体为一个二级交换机。其中,连接请求可以携带密码,也可以不携带密码,这取决于AP是否被设置有密码。例如,第一终端设备在搜索到AP对应的无线网络“AP123”,并输入密码“112233”之后,如果该密码准确,则AP响应于连接请求,由此与第一终端设备建立LAN连接。可以理解的是,第二终端设备和第三终端设备也采用与第一终端设备类似的方式,与AP建立LAN连接,此处不做赘述。

  为了便于理解,请参阅图15,图15为本申请实施例中数据同步系统的另一个架构示意图,如图所示,第一终端设备可以接入至AP提供的5G频段,类似地,第二终端设备和第三终端设备也可以接入至AP提供的5G频段,AP连接至二级交换机,二级交换机与一级交换机相连,一级交换机连接至路由器,通过路由器与宽带网络建立通信连接。其中,二级交换机不用于兼作它用,但是可以将网络环境进行隔离。需要说明的是,图15中示出的为3个AP,在实际应用中,可以仅使用1个AP,也可以使用多个AP,此处不做限定。此外,图15所示的接入至5G频段仅为一个示意,在实际应用中,也可以接入至2.4G频段。

  基于此,在大型线下比赛场景中,可以使用至少两台交换机提供网络,考虑到大型线下比赛的场所较大,因此,基于AP的中继功能能够更好地为终端设备提供可靠稳定的网络。为了便于说明,请参阅图16,图16为本申请实施例中基于大型线下比赛场景的一个设备部署架构示意图,如图所示,第一终端设备(即OB终端设备)、第二终端设备(即选手甲使用的终端设备)和第三终端设备(即选手乙使用的终端设备)均连接至同一个AP或者不同AP,这一个或多个AP都通过有线连接的方式连接至二级交换机,由此形成一个LAN。由于观看比赛的视角通常与OB视角一致,因此,可以采用视频采集线将第一终端设备与视频推流设备建立通信连接,从而实现视频推流。视频推流设备通过连接线连接至路由器,路由器通过宽带网络将比赛视频传输至游戏平台、直播平台或者其他设备。与此同时,路由器还连接有一级交换机,一级交换机与其他设备(包含但不限于话题、手机和电脑等)建立通信,使得其他设备也能正常连接网络,该网络与局域网之间是隔离的,因此,不会相互影响。

  其次,本申请实施例中,提供了一种基于AP和交换机建立LAN连接的方式,通过上述方式,需要连接到同一个LAN的终端设备均通过AP连接至交换机即可,AP可以作为中继设备,实现终端设备之间的无线网络连接,并且可以支持更多的终端设备加入该LAN,从而提升方案的灵活性。

  可选地,在上述图14对应的实施例的基础上,本申请实施例提供的另一个可选实施例中,第一终端设备获取帧同步请求,还可以包括如下步骤:

  若第一终端设备在第一单位帧内接收到第二终端设备发送的第一数据包,则第一终端设备根据第一数据包生成第二目标帧数据;

  第一终端设备根据第二目标帧数据,在第二单位帧内更新第一终端设备的本地数据;

  第一终端设备向第二终端设备发送第二目标帧数据,以使第二终端设备根据第二目标帧数据,在第二单位帧内更新第二终端设备的本地数据;

  第一终端设备向第三终端设备发送第二目标帧数据,以使第三终端设备根据第二目标帧数据,在第二单位帧内更新第三终端设备的本地数据。

  本实施例中,介绍了一种基于业务观察者实现帧同步的方式。具体地,为了便于介绍,请再次参阅图13,如图所示,用户甲在第二终端设备侧进行操作,由此生成第一数据包。但在第一单位帧内,用户乙并未执行任何操作,于是,第一终端设备根据帧同步服务逻辑,仅对第一数据包进行处理,得到第二目标帧数据,第一终端设备根据第二目标帧数据更新本地数据,还可以渲染出下一帧的画面。此外,第一终端设备还需要分别向第二终端设备和第三终端设备发送该第二目标帧数据,以使第二终端设备和第三终端设备也分别根据第二目标帧数据更新本地数据,且渲染出下一帧的画面。

  需要说明的是,如果在第一单位帧内,仅第三终端设备侧具有操作,那么第一终端设备也采用类似方式进行处理,此处不做赘述。

  再次,本申请实施例中,提供了一种基于业务观察者实现帧同步的方式,通过上述方式,将服务器中的帧同步逻辑部署在第一终端设备侧,该第一终端设备为业务观察者使用的终端设备,在LAN内,任何一个终端设备基于操作数据生成的数据包都会发送至第一终端设备,由第一终端设备处理得到相应的目标帧数据,再将目标帧数据同步至LAN内的其他终端设备,由此实现数据的同步,并且很大程度上降低了网络抖动以及网络断开的风险,从而提升数据传输的实时性。

  结合上述介绍,下面将对本申请中数据同步的方法进行介绍,数据同步系统至少包括第一终端设备、第二终端设备以及AP,AP接入交换机,第一终端设备、第二终端设备以及AP建立LAN连接,请参阅图17,本申请实施例中数据同步方法的另一个实施例包括:

  401、第一终端设备获取帧同步请求,其中,帧同步请求携带第一终端设备的标识;

  本实施例中,用于实现帧同步服务逻辑的第一终端设备获取帧同步请求的方式,与上述实施例中步骤101所描述的步骤类似,且本实施例所采用的业务框架与图4类似,故此处不做赘述。

  需要说明的是,本申请以第一终端设备和第二终端设备为例进行说明,然而,在实际应用中,LAN内还可以包括更多的终端设备,此处不做限定。

  402、若第一终端设备在第一单位帧内获取到第一数据包,并且在第一单位帧内接收到第二终端设备发送的第二数据包,则第一终端设备根据第一数据包以及第二数据包生成第一目标帧数据;

  本实施例中,在数据同步过程中,第一终端设备在一个单位帧内可以获取来源于自身的操作数据,并以此生成第一数据包,与此同时,第一终端设备还可以接收来自于其他终端设备发送的第二数据包。具体实现方式与上述实施例中步骤102所描述的步骤类似,故此处不做赘述。

  403、第一终端设备根据第一目标帧数据,在第二单位帧内更新第一终端设备的本地数据,其中,第二单位帧为第一单位帧相邻的后一个单位帧;

  本实施例中,第一终端设备根据第一目标帧数据更新本地数据的方式,与上述实施例中步骤103描述的步骤类似,故此处不做赘述。

  404、第一终端设备向第二终端设备发送第一目标帧数据,以使第二终端设备根据第一目标帧数据,在第二单位帧内更新第二终端设备的本地数据。

  本实施例中,第二终端设备根据第一目标帧数据更新本地数据的方式,与上述实施例中步骤104描述的步骤类似,且需要说明的是,基于业务使用者实现帧同步的交互流程与图5所示的交互流程类似,故此处不做赘述。

  本实施例中可用于多用户在大型线下场所(比如,大型赛场、广场或者操场等)进行游戏的场景。由于场地较大的情况下,MiFi设备的信号难以满足大场地内所有终端设备的需求,因此,可以采用专业供应商部署的交换机(可置于场地中央),通过有线连接的方式接入中继AP,再通过中继AP向终端设备提供网络。

  本申请实施例中,提供了一种数据同步的方法,通过上述方式,将服务器中的帧同步逻辑部署在终端设备侧,当多个终端设备均处于同一个LAN的情况下,由其中一个终端设备进行帧同步处理,并通过LAN向其他终端设备传输数据,由此达到数据同步的目的。上述过程都是在LAN内完成的,无需经过多个物理节点即可实现数据的同步,很大程度上降低了网络抖动以及网络断开的风险,从而提升数据传输的实时性。

  可选地,在上述图17对应的实施例的基础上,本申请实施例提供的另一个可选实施例中,第一终端设备获取帧同步请求之前,还可以包括如下步骤:

  第一终端设备向AP发送连接请求,以使AP响应于连接请求,并与第一终端设备建立LAN连接。

  本实施例中,介绍了一种基于AP和交换机建立LAN连接的方式,该AP具有中继功能,第一终端设备和第二终端设备可以分别向AP发送连接请求,AP的数量可以是一个或者多个,接入到同一个局域网的AP需要连接同一个交换机,具体为一个二级交换机。其中,连接请求可以携带密码,也可以不携带密码,这取决于AP是否被设置有密码。例如,第一终端设备在搜索到AP对应的无线网络“AP123”,并输入密码“112233”之后,如果该密码准确,则AP响应于连接请求,由此与第一终端设备建立LAN连接。可以理解的是,第二终端设备也采用与第一终端设备类似的方式,与AP建立LAN连接,此处不做赘述。

  为了便于理解,请参阅图18,图18为本申请实施例中数据同步系统的另一个架构示意图,如图所示,第一终端设备可以接入至AP提供的5G频段,类似地,第二终端设备也可以接入至AP提供的5G频段,AP连接至二级交换机,二级交换机与一级交换机相连,一级交换机连接至路由器,通过路由器与宽带网络建立通信连接。其中,二级交换机不用于兼作它用,但是可以将网络环境进行隔离。需要说明的是,图18中示出的为2个AP,在实际应用中,可以仅使用1个AP,也可以使用多个AP,此处不做限定。此外,图18所示的接入至5G频段仅为一个示意,在实际应用中,也可以接入至2.4G频段。

  其次,本申请实施例中,提供了一种基于AP和交换机建立LAN连接的方式,通过上述方式,需要连接到同一个LAN的终端设备均通过AP连接至交换机即可,AP可以作为中继设备,实现终端设备之间的无线网络连接,并且可以支持更多的终端设备加入该LAN,从而提升方案的灵活性。

  结合上述介绍,下面将对本申请中数据同步的方法进行介绍,数据同步系统至少包括第一终端设备、第二终端设备、服务器以及AP,AP接入交换机,第一终端设备、第二终端设备、服务器以及AP建立LAN连接,AP接入交换机,请参阅图19,本申请实施例中数据同步方法的另一个实施例包括:

  501、若服务器在第一单位帧内接收到第一数据包以及第二数据包,则服务器根据第一数据包以及第二数据包生成目标帧数据,其中,第一数据包为第一终端设备发送的,第二数据包为第二终端设备发送的;

  本实施例中,考虑到有些应用的业务逻辑非常复杂,如果将帧同步服务逻辑部署于终端设备可能导致终端设备无法正常运行,因此,可以将帧同步服务逻辑部署于在一台专用的服务器上,该服务器具有较高的计算能力,从而能够更好地应对业务需求。该服务器与外部服务器不同,该服务器通过LAN与第一终端设备和第二终端设备建立通信连接,而外部服务器需要通过WAN与第一终端设备和第二终端设备建立通信连接。

  为了便于介绍,请参阅图20,图20为本申请实施例中数据同步系统的另一个业务框架示意图,如图所示,第一终端设备、第二终端设备与服务器建立LAN连接,同时,在服务器实现帧同步服务逻辑。

  需要说明的是,本申请以第一终端设备和第二终端设备为例进行说明,然而,在实际应用中,LAN内还可以包括更多的终端设备,此处不做限定。

  在数据同步过程中,服务器在一个单位帧内可以接收到来自不同终端设备发送的数据包。由于服务器具有帧同步服务逻辑,因此,如果服务器在第一单位帧内接收到第一终端设备发送的第一数据包,并且在第一单位帧内接收到第二终端设备发送的第二数据包,则服务器可根据第一数据包以及第二数据包生成目标帧数据,例如,第一数据包为基于第一操作生成的数据包,第一操作为控制游戏角色A向左移动10个像素点,第二数据包为基于第二操作生成的数据包,第二操作为控制游戏角色B发射技能,由此生成的目标帧数据。

  需要说明的是,每个单位帧的时长可以是10毫秒,或者20毫秒,又或者是其他时长,此处不做限定。

  502、服务器向第一终端设备发送目标帧数据,以使第一终端设备根据目标帧数据,在第二单位帧内更新第一终端设备的本地数据,其中,第二单位帧为第一单位帧相邻的后一个单位帧;

  本实施例中,服务器向第一终端设备发送已生成的目标帧数据,第一终端设备在第二单位帧内更新本地数据,第一终端设备还会基于目标帧数据渲染出下一帧的游戏画面。需要说明的是,为了能够更实时地同步游戏状态,可以在第二单位帧的起始时刻更新第一终端设备的本地数据。

  503、服务器向第二终端设备发送目标帧数据,以使第二终端设备根据目标帧数据,在第二单位帧内更新第二终端设备的本地数据。

  本实施例中,服务器向第二终端设备发送已生成的目标帧数据,第二终端设备在第二单位帧内更新本地数据,第二终端设备还会基于目标帧数据渲染出下一帧的游戏画面。需要说明的是,为了能够更实时地同步游戏状态,可以在第二单位帧的起始时刻更新第二终端设备的本地数据。

  为了便于介绍,请参阅图21,图21为本申请实施例中基于服务器实现帧同步的一个交互流程示意图,如图所示,假设帧号2所对应的单位帧为第一单位帧,帧号3所对应的单位帧为第二单位帧,用户甲在第一终端设备侧进行操作,得到操作A1,第一终端设备基于操作A1生成第一数据包。用户乙在第二终端设备侧进行操作,得到操作B1,第二终端设备基于操作B1生成第二数据包,服务器在第一单位帧内接收到第一数据包和第二数据包。于是服务器根据帧同步服务逻辑,对第一数据包和第二数据包进行处理,得到目标帧数据。于是服务器分别向第一终端设备以及第二终端设备发送目标帧数据,第一终端设备和第二终端设备也分别根据目标帧数据更新本地数据。

  本实施例中可用于多用户在大型线下比赛现场(比如,办公室或者会议厅等)进行游戏的场景,游戏的过程中,还有第三方用户对比赛过程进行解说或者裁定等。更具体地,该服务器可以搬运到比赛现场,通常情况下,仅需要一台服务器即可完成帧同步服务逻辑。

  本申请实施例中,提供了另一种数据同步的方法,通过上述方式,将帧同步逻辑部署在服务器侧,当多个终端设备与服务器均处于同一个LAN的情况下,由服务器进行帧同步处理,并通过LAN向其他终端设备传输数据,由此达到数据同步的目的。上述过程都是在LAN内完成的,无需经过多个物理节点即可实现数据的同步,很大程度上降低了网络抖动以及网络断开的风险,从而提升数据传输的实时性。此外,将直播推流与其他用户(例如,观众或者外部观看人员)使用的终端设备置于LAN之外,不占用LAN的传输资源,杜绝了其他终端设备外对LAN内终端设备的影响甚至恶意干扰。

  可选地,在上述图19对应的实施例的基础上,本申请实施例提供的另一个可选实施例中,服务器根据第一数据包以及第二数据包生成目标帧数据之前,还可以包括如下步骤:

  服务器向AP发送连接请求,以使AP响应于连接请求,并与服务器建立LAN连接。

  本实施例中,介绍了一种基于AP和交换机建立LAN连接的方式,该AP具有中继功能,服务器、第一终端设备和第二终端设备可以分别向AP发送连接请求,AP响应于连接请求,由此与服务器建立LAN连接。可以理解的是,AP的数量可以是一个或者多个,接入到同一个局域网的AP需要连接同一个交换机,具体为一个二级交换机。第一终端设备和第二终端设备也采用与服务器类似的方式,与AP建立LAN连接,此处不做赘述。

  为了便于理解,请参阅图22,图22为本申请实施例中数据同步系统的另一个架构示意图,如图所示,服务器可以接入至AP提供的5G频段,类似地,第一终端设备和第二终端设备也可以接入至AP提供的5G频段,AP连接至二级交换机,二级交换机与一级交换机相连,一级交换机连接至路由器,通过路由器与宽带网络建立通信连接。其中,二级交换机不用于兼作它用,但是可以将网络环境进行隔离。需要说明的是,图22中示出的为3个AP,在实际应用中,可以仅使用1个AP,也可以使用多个AP,此处不做限定。此外,图22所示的接入至5G频段仅为一个示意,在实际应用中,也可以接入至2.4G频段。

  基于此,在大型线下比赛场景中,可以使用至少两台交换机提供网络,考虑到大型线下比赛的场所较大,因此,基于AP的中继功能能够更好地为终端设备和服务器提供可靠稳定的网络。为了便于说明,请参阅图23,图23为本申请实施例中基于大型线下比赛场景的另一个设备部署架构示意图,如图所示,服务器、第一终端设备(即选手甲使用的终端设备)和第二终端设备(即选手乙使用的终端设备)均连接至同一个AP或者不同AP,这一个或多个AP都通过有线连接的方式连接至二级交换机,由此形成一个LAN。为了能够为第三方提供比赛画面,还可以采用视频采集线将服务器与视频推流设备建立通信连接,从而实现视频推流。视频推流设备通过连接线连接至路由器,路由器通过宽带网络将比赛视频传输至游戏平台、直播平台或者其他设备。与此同时,路由器还连接有一级交换机,一级交换机与其他设备(包含但不限于话题、手机和电脑等)建立通信,使得其他设备也能正常连接网络,该网络与局域网之间是隔离的,因此,不会相互影响。

  其次,本申请实施例中,提供了一种基于AP和交换机建立LAN连接的方式,通过上述方式,需要连接到同一个LAN的终端设备和服务器均通过AP连接至交换机,AP作为中继设备,实现终端设备与服务器之间的无线网络连接,并且可以支持更多的终端设备加入该LAN,从而提升方案的灵活性。

  结合上述介绍,下面将对本申请中数据同步的方法进行介绍,数据同步系统至少包括第一终端设备、第二终端设备、服务器以及移动热点设备,第一终端设备、是第二终端设备、服务器以及移动热点设备建立LAN连接,请参阅图24,本申请实施例中数据同步方法的另一个实施例包括:

  601、若服务器在第一单位帧内接收到第一数据包以及第二数据包,则服务器根据第一数据包以及第二数据包生成目标帧数据,其中,第一数据包为第一终端设备发送的,第二数据包为第二终端设备发送的;

  本实施例中,考虑到有些应用的业务逻辑非常复杂,如果将帧同步服务逻辑部署于终端设备可能导致终端设备无法正常运行,因此,可以将帧同步服务逻辑部署于在一台专用的服务器上,该服务器具有较高的计算能力,从而能够更好地应对业务需求。该服务器与外部服务器不同,该服务器通过LAN与第一终端设备和第二终端设备建立通信连接,而外部服务器需要通过WAN与第一终端设备和第二终端设备建立通信连接。

  在数据同步过程中,服务器在一个单位帧内可以接收到来自不同终端设备发送的数据包。由于服务器具有帧同步服务逻辑,因此,如果服务器在第一单位帧内接收到第一终端设备发送的第一数据包,并且在第一单位帧内接收到第二终端设备发送的第二数据包,则服务器可根据第一数据包以及第二数据包生成目标帧数据。

  需要说明的是,本申请以第一终端设备和第二终端设备为例进行说明,然而,在实际应用中,LAN内还可以包括更多的终端设备。每个单位帧的时长可以是10毫秒,或者20毫秒,又或者是其他时长,此处不做限定。此外,本实施例涉及的业务框架与图20所示的业务框架相似,此处不做赘述。

  602、服务器向第一终端设备发送目标帧数据,以使第一终端设备根据目标帧数据,在第二单位帧内更新第一终端设备的本地数据,其中,第二单位帧为第一单位帧相邻的后一个单位帧;

  本实施例中,第一终端设备根据目标帧数据更新本地数据的方式,与上述实施例中步骤502描述的步骤类似,故此处不做赘述。

  603、服务器向第二终端设备发送目标帧数据,以使第二终端设备根据目标帧数据,在第二单位帧内更新第二终端设备的本地数据。

  本实施例中,第二终端设备根据目标帧数据更新本地数据的方式,与上述实施例中步骤503描述的步骤类似,且需要说明的是,基于业务使用者实现帧同步的交互流程与图21所示的交互流程类似,故此处不做赘述。

  本实施例中可用于多用户在小型线下场所(比如,会议室、教室或者小礼堂等)进行游戏的场景。游戏的过程中,还有第三方用户对比赛过程进行解说或者裁定等。

  本申请实施例中,提供了另一种数据同步的方法,通过上述方式,将帧同步逻辑部署在服务器侧,当多个终端设备与服务器均处于同一个LAN的情况下,由服务器进行帧同步处理,并通过LAN向其他终端设备传输数据,由此达到数据同步的目的。上述过程都是在LAN内完成的,无需经过多个物理节点即可实现数据的同步,很大程度上降低了网络抖动以及网络断开的风险,从而提升数据传输的实时性。此外,将直播推流与其他用户(例如,观众或者外部观看人员)使用的终端设备置于LAN之外,不占用LAN的传输资源,杜绝了其他终端设备外对LAN内终端设备的影响甚至恶意干扰。

  可选地,在上述图19对应的实施例的基础上,本申请实施例提供的另一个可选实施例中,服务器根据第一数据包以及第二数据包生成目标帧数据之前,还可以包括如下步骤:

  当移动热点设备启动热点功能时,服务器向移动热点设备发送连接请求,以使移动热点设备响应于连接请求,并与服务器建立LAN连接。

  本实施例中,提供了一种基于MiFi设备建立LAN连接的方式。MiFi设备首先需要开启热点功能,于是服务器、第一终端设备和第二终端设备可以分别向MiFi设备发送连接请求,MiFi设备响应于连接请求,由此与服务器建立LAN连接。可以理解的是,第一终端设备和第二终端设备也采用与服务器类似的方式,与MiFi设备建立LAN连接,此处不做赘述。

  为了便于理解,请参阅图25,图25为本申请实施例中数据同步系统的另一个架构示意图,如图所示,如果服务器与MiFi设备距离较近(例如,0.2米),那么服务器可以接入至MiFi设备提供的2.4G频段,类似地,如果第一终端设备和第二终端设备均与MiFi设备距离较近,则第一终端设备和第二终端设备也可以接入至MiFi设备提供的2.4G频段。

  需要说明的是,MiFi设备可以同时支持2.4G频段和5G频段,图25所示的接入至2.4G频段仅为一个示意,在实际应用中,也可以接入至5G频段。

  基于此,在小型线下比赛场景中,可以使用一个便携的MiFi设备提供网络,考虑到小型线下比赛的场合多样性,只需要找一台MiFi设备开启热点即可组建LAN。为了便于说明,请参阅图26,图26为本申请实施例中基于小型线下比赛场景的另一个设备部署架构示意图,如图所示,在MiFi设备开启热点功能之后,服务器、第一终端设备(即选手甲使用的终端设备)和第二终端设备(即选手乙使用的终端设备)均连接至MiFi设备,由此形成一个LAN。由于观看比赛的视角为第三方视角,因此,可以采用视频采集线将服务器与视频推流设备建立通信连接,从而实现视频推流。视频推流设备通过连接线连接至路由器,路由器通过宽带网络将比赛视频传输至游戏平台、直播平台或者其他设备。与此同时,路由器还连接有交换机,交换机与其他设备(包含但不限于话题、手机和电脑等)建立通信,使得其他设备也能正常连接网络,该网络与局域网之间是隔离的,因此,不会相互影响。

  其次,本申请实施例中,提供了一种基于MiFi设备建立LAN连接的方式,通过上述方式,需要连接到同一个LAN的终端设备和服务器均连接至MiFi设备即可,MiFi设备可以用来设置特定网络,通过蜂窝连接实现在任何地点共享网络连接,使小型LAN的设置过程简化,并且可以支持更多的终端设备加入该LAN,从而提升方案的灵活性。

  下面对本申请中的客户端进行详细描述,请参阅图27,图27为本申请实施例中客户端的一个实施例示意图,该客户端部署于第一终端设备,第一终端设备与第二终端设备建立局域网连接,客户端700包括:

  获取模块701,用于获取帧同步请求,其中,帧同步请求携带第一终端设备的标识;

  生成模块702,用于若在第一单位帧内获取到第一数据包,并且在第一单位帧内接收到第二终端设备发送的第二数据包,则根据第一数据包以及第二数据包生成第一目标帧数据;

  更新模块703,用于根据第一目标帧数据,在第二单位帧内更新第一终端设备的本地数据,其中,第二单位帧为第一单位帧相邻的后一个单位帧;

  发送模块704,用于向第二终端设备发送第一目标帧数据,以使第二终端设备根据第一目标帧数据,在第二单位帧内更新第二终端设备的本地数据。

  可选地,在上述图27所对应的实施例的基础上,本申请实施例提供的客户端700的另一实施例中,客户端700还包括启动模块705、接收模块706以及建立模块707;

  启动模块705,用于在获取模块701获取帧同步请求之前,启动热点功能;

  接收模块706,用于接收第二终端设备发送的连接请求;

  建立模块707,用于响应于连接请求,并与第二终端设备建立局域网连接;

  或者,

  发送模块704,还用于在获取模块701获取帧同步请求之前,当第二终端设备启动热点功能时,向第二终端设备发送连接请求,以使第二终端设备响应于连接请求,并与第一终端设备建立局域网连接。

  可选地,在上述图27所对应的实施例的基础上,本申请实施例提供的客户端700的另一实施例中,

  生成模块702,还用于在获取模块701获取帧同步请求之后,若在第一单位帧内获取到第一数据包,则根据第一数据包生成第二目标帧数据;

  更新模块703,还用于根据第二目标帧数据,在第二单位帧内更新第一终端设备的本地数据;

  发送模块704,还用于向第二终端设备发送第二目标帧数据,以使第二终端设备根据第二目标帧数据,在第二单位帧内更新第二终端设备的本地数据;

  或者,

  生成模块702,还用于在获取模块获取帧同步请求之后,若在第一单位帧内接收到第二终端设备发送的第二数据包,则根据第二数据包生成第三目标帧数据;

  更新模块703,还用于根据第三目标帧数据,在第二单位帧内更新第一终端设备的本地数据;

  发送模块704,还用于向第二终端设备发送第三目标帧数据,以使第二终端设备根据第三目标帧数据,在第二单位帧内更新第二终端设备的本地数据。

  下面对本申请中的客户端进行详细描述,请参阅图28,图28为本申请实施例中客户端的另一个实施例示意图,该客户端部署于第一终端设备,第一终端设备、是第二终端设备、第三终端设备以及移动热点设备建立局域网连接,客户端800包括:

  获取模块801,用于获取帧同步请求,其中,帧同步请求携带第一终端设备的标识;

  生成模块802,用于若在第一单位帧内接收到第一数据包以及第二数据包,则根据第一数据包以及第二数据包生成第一目标帧数据,其中,第一数据包为第二终端设备发送的,第二数据包为第三终端设备发送的;

  更新模块803,用于第一终端设备根据第一目标帧数据,在第二单位帧内更新第一终端设备的本地数据,其中,第二单位帧为第一单位帧相邻的后一个单位帧;

  发送模块804,用于第一终端设备向第二终端设备发送第一目标帧数据,以使第二终端设备根据第一目标帧数据,在第二单位帧内更新第二终端设备的本地数据;

  发送模块804,还用于第一终端设备向第三终端设备发送第一目标帧数据,以使第三终端设备根据第一目标帧数据,在第二单位帧内更新第三终端设备的本地数据。

  可选地,在上述图28所对应的实施例的基础上,本申请实施例提供的客户端800的另一实施例中,

  发送模块804,还用于在获取模块801获取帧同步请求之前,当移动热点设备启动热点功能时,向移动热点设备发送连接请求,以使移动热点设备响应于连接请求,并与第一终端设备建立局域网连接。

  在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,

  生成模块802,还用于在获取模块获取帧同步请求,若在第一单位帧内接收到第二终端设备发送的第一数据包,则根据第一数据包生成第二目标帧数据;

  更新模块803,还用于根据第二目标帧数据,在第二单位帧内更新第一终端设备的本地数据;

  发送模块804,还用于向第二终端设备发送第二目标帧数据,以使第二终端设备根据第二目标帧数据,在第二单位帧内更新第二终端设备的本地数据;

  发送模块804,还用于向第三终端设备发送第二目标帧数据,以使第三终端设备根据第二目标帧数据,在第二单位帧内更新第三终端设备的本地数据。

  下面对本申请中的客户端进行详细描述,请参阅图29,图29为本申请实施例中客户端的另一个实施例示意图,该客户端部署于第一终端设备,第一终端设备、是第二终端设备、第三终端设备以及接入点AP建立局域网连接,AP接入交换机,客户端900包括:

  获取模块901,用于获取帧同步请求,其中,帧同步请求携带第一终端设备的标识;

  生成模块902,用于若在第一单位帧内接收到第一数据包以及第二数据包,则根据第一数据包以及第二数据包生成第一目标帧数据,其中,第一数据包为第二终端设备发送的,第二数据包为第三终端设备发送的;

  更新模块903,用于根据第一目标帧数据,在第二单位帧内更新第一终端设备的本地数据,其中,第二单位帧为第一单位帧相邻的后一个单位帧;

  发送模块904,用于向第二终端设备发送第一目标帧数据,以使第二终端设备根据第一目标帧数据,在第二单位帧内更新第二终端设备的本地数据;

  发送模块904,还用于向第三终端设备发送第一目标帧数据,以使第三终端设备根据第一目标帧数据,在第二单位帧内更新第三终端设备的本地数据。

  可选地,在上述图29所对应的实施例的基础上,本申请实施例提供的客户端900的另一实施例中,

  发送模块904,还用于在获取模块901获取帧同步请求之前,向AP发送连接请求,以使AP响应于连接请求,并与第一终端设备建立局域网连接。

  可选地,在上述图29所对应的实施例的基础上,本申请实施例提供的客户端900的另一实施例中,

  生成模块902,还用于在获取模块901获取帧同步请求之前,若在第一单位帧内接收到第二终端设备发送的第一数据包,则根据第一数据包生成第二目标帧数据;

  更新模块903,还用于根据第二目标帧数据,在第二单位帧内更新第一终端设备的本地数据;

  发送模块904,还用于向第二终端设备发送第二目标帧数据,以使第二终端设备根据第二目标帧数据,在第二单位帧内更新第二终端设备的本地数据;

  发送模块904,还用于向第三终端设备发送第二目标帧数据,以使第三终端设备根据第二目标帧数据,在第二单位帧内更新第三终端设备的本地数据。

  下面对本申请中的客户端进行详细描述,请参阅图30,图30为本申请实施例中客户端的另一个实施例示意图,该客户端部署于第一终端设备,第一终端设备、第二终端设备以及接入点AP建立局域网连接,客户端1000包括:

  获取模块1001,用于获取帧同步请求,其中,帧同步请求携带第一终端设备的标识;

  生成模块1002,用于若在第一单位帧内获取到第一数据包,并且在第一单位帧内接收到第二终端设备发送的第二数据包,则根据第一数据包以及第二数据包生成第一目标帧数据;

  更新模块1003,用于根据第一目标帧数据,在第二单位帧内更新第一终端设备的本地数据,其中,第二单位帧为第一单位帧相邻的后一个单位帧;

  发送模块1004,用于向第二终端设备发送第一目标帧数据,以使第二终端设备根据第一目标帧数据,在第二单位帧内更新第二终端设备的本地数据。

  可选地,在上述图30所对应的实施例的基础上,本申请实施例提供的客户端1000的另一实施例中,

  发送模块1004,还用于在获取模块1001获取帧同步请求之前,向AP发送连接请求,以使AP响应于连接请求,并与第一终端设备建立局域网连接。

  下面对本申请中的数据同步装置进行详细描述,请参阅图31,图31为本申请实施例中数据同步装置的一个实施例示意图,该数据同步装置部署于服务器,服务器、第一终端设备、第二终端设备以及接入点AP建立局域网连接,AP接入交换机,数据同步装置1100包括:

  生成模块1101,用于若在第一单位帧内接收到第一数据包以及第二数据包,则根据第一数据包以及第二数据包生成目标帧数据,其中,第一数据包为第一终端设备发送的,第二数据包为第二终端设备发送的;

  发送模块1102,用于向第一终端设备发送目标帧数据,以使第一终端设备根据目标帧数据,在第二单位帧内更新第一终端设备的本地数据,其中,第二单位帧为第一单位帧相邻的后一个单位帧;

  发送模块1102,还用于向第二终端设备发送目标帧数据,以使第二终端设备根据目标帧数据,在第二单位帧内更新第二终端设备的本地数据。

  可选地,在上述图31所对应的实施例的基础上,本申请实施例提供的数据同步装置1100的另一实施例中,

  发送模块1102,还用于在生成模块1101根据第一数据包以及第二数据包生成目标帧数据之前,向AP发送连接请求,以使AP响应于连接请求,并与服务器建立局域网连接。

  下面对本申请中的数据同步装置进行详细描述,请参阅图32,图32为本申请实施例中数据同步装置的另一个实施例示意图,该数据同步装置部署于服务器,服务器、第一终端设备、第二终端设备以及移动热点设备建立局域网连接,数据同步装置1200包括:

  生成模块1201,用于若在第一单位帧内接收到第一数据包以及第二数据包,则根据第一数据包以及第二数据包生成目标帧数据,其中,第一数据包为第一终端设备发送的,第二数据包为第二终端设备发送的;

  发送模块1202,用于向第一终端设备发送目标帧数据,以使第一终端设备根据目标帧数据,在第二单位帧内更新第一终端设备的本地数据,其中,第二单位帧为第一单位帧相邻的后一个单位帧;

  发送模块1202,还用于向第二终端设备发送目标帧数据,以使第二终端设备根据目标帧数据,在第二单位帧内更新第二终端设备的本地数据。

  可选地,在上述图32所对应的实施例的基础上,本申请实施例提供的数据同步装置1200的另一实施例中,

  发送模块1202,还用于在生成模块1201根据第一数据包以及第二数据包生成目标帧数据之前,当移动热点设备启动热点功能时,向移动热点设备发送连接请求,以使移动热点设备响应于连接请求,并与服务器建立局域网连接。

  本申请实施例还提供了另一种图像显示控制装置,如图33所示,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。该终端设备可以为包括手机、平板电脑、个人数字助理(personal digital assistant,PDA)、销售终端设备(point of sales,POS)、车载电脑等任意终端设备,以终端设备为手机为例:

  图33示出的是与本申请实施例提供的终端设备相关的手机的部分结构的框图。参考图33,手机包括:射频(radio frequency,RF)电路1310、存储器1320、输入单元1330、显示单元1340、传感器1350、音频电路1360、无线保真(wireless fidelity,WiFi)模块1370、处理器1380、以及电源1390等部件。本领域技术人员可以理解,图33中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

  下面结合图33对手机的各个构成部件进行具体的介绍:

  RF电路1310可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器1380处理;另外,将设计上行的数据发送给基站。通常,RF电路1310包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(low noiseamplifier,LNA)、双工器等。此外,RF电路1310还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(globalsystem of mobile communication,GSM)、通用分组无线服务(general packet radioservice,GPRS)、码分多址(code division multiple access,CDMA)、宽带码分多址(wideband code division multiple access,WCDMA)、长期演进(long term evolution,LTE)、电子邮件、短消息服务(short messaging service,SMS)等。

  存储器1320可用于存储软件程序以及模块,处理器1380通过运行存储在存储器1320的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器1320可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1320可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

  输入单元1330可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元1330可包括触控面板1331以及其他输入设备1332。触控面板1331,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板1331上或在触控面板1331附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板1331可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1380,并能接收处理器1380发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板1331。除了触控面板1331,输入单元1330还可以包括其他输入设备1332。具体地,其他输入设备1332可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。

  显示单元1340可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元1340可包括显示面板1341,可选的,可以采用液晶显示器(liquidcrystal display,LCD)、有机发光二极管(organic light-emitting diode,OLED)等形式来配置显示面板1341。进一步的,触控面板1331可覆盖显示面板1341,当触控面板1331检测到在其上或附近的触摸操作后,传送给处理器1380以确定触摸事件的类型,随后处理器1380根据触摸事件的类型在显示面板1341上提供相应的视觉输出。虽然在图33中,触控面板1331与显示面板1341是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板1331与显示面板1341集成而实现手机的输入和输出功能。

  手机还可包括至少一种传感器1350,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板1341的亮度,接近传感器可在手机移动到耳边时,关闭显示面板1341和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。

  音频电路1360、扬声器1361,传声器1362可提供用户与手机之间的音频接口。音频电路1360可将接收到的音频数据转换后的电信号,传输到扬声器1361,由扬声器1361转换为声音信号输出;另一方面,传声器1362将收集的声音信号转换为电信号,由音频电路1360接收后转换为音频数据,再将音频数据输出处理器1380处理后,经RF电路1310以发送给比如另一手机,或者将音频数据输出至存储器1320以便进一步处理。

  WiFi属于短距离无线传输技术,手机通过WiFi模块1370可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图33示出了WiFi模块1370,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。

  处理器1380是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器1320内的软件程序和/或模块,以及调用存储在存储器1320内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器1380可包括一个或多个处理单元;可选的,处理器1380可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1380中。

  手机还包括给各个部件供电的电源1390(比如电池),可选的,电源可以通过电源管理系统与处理器1380逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。

  尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。

  上述实施例中由终端设备所执行的步骤可以基于该图33所示的终端设备结构。

  图34是本申请实施例提供的一种服务器结构示意图,该服务器1400可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processingunits,CPU)1422(例如,一个或一个以上处理器)和存储器1432,一个或一个以上存储应用程序1442或数据1444的存储介质1430(例如一个或一个以上海量存储设备)。其中,存储器1432和存储介质1430可以是短暂存储或持久存储。存储在存储介质1430的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1422可以设置为与存储介质1430通信,在服务器1400上执行存储介质1430中的一系列指令操作。

  服务器1400还可以包括一个或一个以上电源1426,一个或一个以上有线或无线网络接口1450,一个或一个以上输入输出接口1458,和/或,一个或一个以上操作系统1441,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。

  上述实施例中由服务器所执行的步骤可以基于该图34所示的服务器结构。

  所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

  在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

  所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

  另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

  所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

  以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

《一种数据同步的方法、装置、设备及存储介质.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)