CN110166519B - 信息同步的方法、客户端、服务器、终端设备与存储介质 - Google Patents

信息同步的方法、客户端、服务器、终端设备与存储介质 Download PDF

Info

Publication number
CN110166519B
CN110166519B CN201811385718.1A CN201811385718A CN110166519B CN 110166519 B CN110166519 B CN 110166519B CN 201811385718 A CN201811385718 A CN 201811385718A CN 110166519 B CN110166519 B CN 110166519B
Authority
CN
China
Prior art keywords
target object
information
target
server
movement information
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.)
Active
Application number
CN201811385718.1A
Other languages
English (en)
Other versions
CN110166519A (zh
Inventor
龚逸玲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Cyber Tianjin Co Ltd
Original Assignee
Tencent Cyber Tianjin Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Cyber Tianjin Co Ltd filed Critical Tencent Cyber Tianjin Co Ltd
Priority to CN201811385718.1A priority Critical patent/CN110166519B/zh
Publication of CN110166519A publication Critical patent/CN110166519A/zh
Application granted granted Critical
Publication of CN110166519B publication Critical patent/CN110166519B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种信息同步的方法,包括获取目标对象的移动信息,其中,移动信息包括目标对象每帧的移动位置以及对应的时钟标识;将移动信息加入至目标队列中,其中,目标队列包括目标对象的Y帧移动信息,Y为大于或等于1的整数;向服务器发送目标队列,以使服务器根据目标队列中的Y帧移动信息确定目标对象的水平位置;若目标对象的水平位置满足信息同步条件,则从服务器中获取目标对象的目标位置信息,其中,目标位置信息为服务器根据移动信息确定的。本发明还公开了客户端和服务器。本发明可降低信息同步的要求,从而降低了客户端从服务器同步信息的频率,大幅度地减小客户端进行数据回滚的可能性,提升业务的流畅度。

Description

信息同步的方法、客户端、服务器、终端设备与存储介质
技术领域
本发明涉及互联网技术领域,尤其涉及一种信息同步的方法以及相关装置。
背景技术
随着互联网技术的不断发展,越来越多的人们开始接触网络游戏。这类游戏以第一人称射击类游戏(first-person shooting game,FPS)为代表,用户在客户端侧对游戏人物进行操作(比如移动或者跳跃等操作),客户端会将这些操作数据发送至服务器,以使服务器同步更新操作。
目前,为了保证服务器和客户端之间的信息同步,客户端会将每帧按键信息上报给服务器,服务器根据每帧按键信息进行同步计算,请参阅图1,图1为现有方案中客户端与服务器之间同步信息的一个示意图,假设客户端把按键信息I1上报给服务器,服务器根据I1计算得到Q1的移动信息并将Q1下发至客户端,客户端比对预表现信息P1与移动信息Q1,如果两者有误差,则将预表现信息P1替换为服务器生成的移动信息Q1
然而,客户端在对比预表现信息P1与移动信息Q1时已经生成了后续的预表现信息,因此,客户端需通过数据回滚的方式与服务器保持信息的一致性。这对于网络信号较弱的情况而言,可能会导致多次数据回滚,从而增加客户端侧的计算量,降低业务的流畅度。
发明内容
本发明实施例提供了一种信息同步的方法以及相关装置,可降低信息同步的要求,从而降低了客户端从服务器同步信息的频率,由此大幅度地减小客户端进行数据回滚的可能性,提升业务的流畅度。
有鉴于此,本发明的第一方面提供了一种信息同步的方法,包括:
获取目标对象的移动信息,其中,所述移动信息包括所述目标对象每帧的移动位置以及对应的时钟标识;
将所述移动信息加入至目标队列中,其中,所述目标队列包括所述目标对象的Y帧移动信息,所述Y为大于或等于1的整数;
向服务器发送所述目标队列,以使所述服务器根据所述目标队列中的所述Y帧移动信息确定所述目标对象的水平位置;
若所述目标对象的水平位置满足信息同步条件,则从所述服务器中获取所述目标对象的目标位置信息,其中,所述目标位置信息为所述服务器根据所述移动信息确定的。
本发明的第二方面提供了一种信息同步的方法,包括:
接收客户端发送的目标队列,其中,所述目标队列包括所述目标对象的Y帧移动信息,所述移动信息包括所述目标对象每帧的移动位置以及对应的时钟标识,所述Y为大于或等于1的整数;
根据所述目标队列中的所述Y帧移动信息确定所述目标对象的水平位置;
根据所述目标队列中的所述Y帧移动信息确定所述目标对象的目标位置信息;
若所述目标对象的水平位置满足信息同步条件,则向所述客户端发送所述目标位置信息。
本发明的第三方面提供了一种客户端,包括:
获取模块,用于获取目标对象的移动信息,其中,所述移动信息包括所述目标对象每帧的移动位置以及对应的时钟标识;
添加模块,用于将所述获取模块获取获取的所述移动信息加入至目标队列中,其中,所述目标队列包括所述目标对象的Y帧移动信息,所述Y为大于或等于1的整数;
发送模块,用于向服务器发送所述添加模块添加后的所述目标队列,以使所述服务器根据所述目标队列中的所述Y帧移动信息确定所述目标对象的水平位置;
所述获取模块,还用于若所述目标对象的水平位置满足信息同步条件,则从所述服务器中获取所述目标对象的目标位置信息,其中,所述目标位置信息为所述服务器根据所述移动信息确定的。
本发明的第四方面提供了一种服务器,包括:
接收模块,用于接收客户端发送的目标队列,其中,所述目标队列包括所述目标对象的Y帧移动信息,所述移动信息包括所述目标对象每帧的移动位置以及对应的时钟标识,所述Y为大于或等于1的整数;
确定模块,用于根据所述接收模块接收的所述目标队列中的所述Y帧移动信息确定所述目标对象的水平位置;
所述确定模块,还用于根据所述接收模块接收的所述目标队列中的所述Y帧移动信息确定所述目标对象的目标位置信息;
发送模块,用于若所述确定模块确定的所述目标对象的水平位置满足信息同步条件,则向所述客户端发送所述目标位置信息。
本发明的第五方面提供了一种终端设备,包括:存储器、收发器、处理器以及总线***;
其中,所述存储器用于存储程序;
所述处理器用于执行所述存储器中的程序,包括如下步骤:
获取目标对象的移动信息,其中,所述移动信息包括所述目标对象每帧的移动位置以及对应的时钟标识;
将所述移动信息加入至目标队列中,其中,所述目标队列包括所述目标对象的Y帧移动信息,所述Y为大于或等于1的整数;
向服务器发送所述目标队列,以使所述服务器根据所述目标队列中的所述Y帧移动信息确定所述目标对象的水平位置;
若所述目标对象的水平位置满足信息同步条件,则从所述服务器中获取所述目标对象的目标位置信息,其中,所述目标位置信息为所述服务器根据所述移动信息确定的;
所述总线***用于连接所述存储器以及所述处理器,以使所述存储器以及所述处理器进行通信。
本发明的第六方面提供了一种服务器,包括:存储器、收发器、处理器以及总线***;
其中,所述存储器用于存储程序;
所述处理器用于执行所述存储器中的程序,包括如下步骤:
接收客户端发送的目标队列,其中,所述目标队列包括所述目标对象的Y帧移动信息,所述移动信息包括所述目标对象每帧的移动位置以及对应的时钟标识,所述Y为大于或等于1的整数;
所述总线***用于连接所述存储器以及所述处理器,以使所述存储器以及所述处理器进行通信。
本发明的第七方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
从以上技术方案可以看出,本发明实施例具有以下优点:
本发明实施例中,提供了一种信息同步的方法,首先客户端获取目标对象的移动信息,其中,移动信息包括目标对象每帧的移动位置以及对应的时钟标识;将移动信息加入至目标队列中,目标队列包括目标对象的Y帧移动信息,Y为大于或等于1的整数,然后客户端向服务器发送目标队列,以使服务器根据目标队列中的Y帧移动信息确定目标对象的水平位置,若目标对象的水平位置满足信息同步条件,则客户端从服务器中获取目标对象的目标位置信息,其中,目标位置信息为服务器根据移动信息确定的。通过上述方式,服务器不需要同时计算目标对象在水平方向和垂直方向上位置,而是仅以验证目标对象在水平方向上的位置来确定是否满足信息同步条件,这样的话,只利用一个方向上的信息进行误差判断,可降低信息同步的要求,从而降低了客户端从服务器同步信息的频率,由此大幅度地减小客户端进行数据回滚的可能性,提升业务的流畅度。
附图说明
图1为现有方案中客户端与服务器之间同步信息的一个示意图;
图2为本发明实施例中信息同步***的一个架构示意图;
图3为本发明实施例中信息同步的方法一个交互示意图;
图4为本发明实施例中信息同步的方法一个实施例示意图;
图5为本发明实施例中客户端与服务器之间同步信息的一个示意图;
图6为本发明实施例中信息同步的方法另一个实施例示意图;
图7为本发明实施例中服务器短时间内收到多个信息的一个示意图;
图8a为本发明实施例中逻辑时钟缓冲池的一个实施例示意图;
图8b为本发明实施例中逻辑时钟缓冲池的另一个实施例示意图;
图9为本发明实施例中客户端与服务器的加速时间一个示意图;
图10为本发明实施例中客户端与服务器的减速时间一个示意图;
图11为本发明实施例中客户端的一个实施例示意图;
图12为本发明实施例中客户端的另一个实施例示意图;
图13为本发明实施例中服务器的一个实施例示意图;
图14为本发明实施例中服务器的另一个实施例示意图;
图15为本发明实施例中终端设备的一个结构示意图;
图16为本发明实施例中服务器的一个结构示意图;
图17为本发明实施例中信息同步***一个实施例示意图。
具体实施方式
本发明实施例提供了一种信息同步的方法、客户端以及服务器,可降低信息同步的要求,从而降低了客户端从服务器同步信息的频率,由此大幅度地减小客户端进行数据回滚的可能性,提升业务的流畅度。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应理解,本发明主要应用于信息同步***,请参阅图2,图2为本发明实施例中信息同步***的一个架构示意图,该***主要包括客户端以及服务器,其中,客户端部署于终端设备,终端设备包含但不仅限于笔记本电脑、个人电脑、掌上电脑、手机以及平板电脑。更具体地,本发明还可以应用于交互式应用程序,交互式应用往往需要同步客户端和服务器的状态,比如基于客户端/服务器(client/server,C/S)架构的第一人称射击游戏(first-person shooter game,FPS)游戏,结合FPS人物移动的特点,利用FPS游戏人物移动时仅在Y(纵轴方向)方向的运动(跳跃或飞翔等),且与XZ平面的运动无关联的特性,同时,由于FPS人物在Y方向上的运动最终要落地,因此,服务器和客户端在Y方向上的计算误差在落地时可以自动消除,也就是说,客户端在Y方向上的预表现无需回滚。本发明实施例中,服务器在XZ平面上只进行速度大小校验,降低信息同步的要求,从而降低了客户端从服务器同步信息的频率,由此大幅度地减小客户端进行数据回滚的可能性,提升业务的流畅度。
为了便于理解,请参阅图3,图3为本发明实施例中信息同步的方法一个交互示意图,如图所示,具体地:
步骤101中,首先,客户端根据用户的对目标对象的操作获取移动信息,其中,移动信息包括目标对象在一段时间内的移动位置,比如从场景中的A点移动到B点,B点即为移动位置,且该移动信息中还包括时钟标识,每个移动信息对应一个时钟标识,可以表示移动信息的出现次序。
步骤102中,客户端将移动信息发送给服务器。
步骤103中,服务器利用该移动信息中的时钟标识以及移动位置,可以计算出目标对象的水平位置,其中,水平位置是相对与垂直位置而言的,垂直位置用于表示目标对象在场景中进行跳跃或者攀登的位置,水平位置用于表示目标对象在场景中进行移动等动作的位置。
步骤104中,服务器还可以根据客户端上报的移动信息确定该目标对象所在的目标位置信息;
步骤105中,若目标对象的水平位置满足信息同步条件,则服务器可以向客户端同步该目标位置信息,目标位置信息包括服务器计算得到的水平位置和垂直位置,在实际应用中,客户端也可以主动向服务器拉取该目标位置信息。
下面将从客户端的角度,对本发明中信息同步的方法进行介绍,请参阅图4,本发明实施例中信息同步的方法一个实施例包括:
201、获取目标对象的移动信息,其中,所述移动信息包括所述目标对象每帧的移动位置以及对应的时钟标识;
本实施例中,客户端根据用户的对目标对象的操作获取移动信息,其中,移动信息包括目标对象在固定时间内的移动位置,比如目标对象在固定时间内从场景中的A点移动到B点,B点的位置即为移动位置。该移动信息中还包括时钟标识,每N帧的移动位置的时钟标识记为1,也就是说,时钟标识与固定帧率具有对应关系,客户端以固定帧率N帧的频率进行移动,每次移动,时钟标识需要增加1。需要说明的是,通常情况下,1帧为33毫秒,N可以设置为1或2,也可以是其他合理的取值。
可以理解的是,时钟标识可以表示移动信息的出现次序,并且也意味着该移动信息所对应的时间。
202、将移动信息加入至目标队列中,其中,目标队列包括目标对象的Y帧移动信息,Y为大于或等于1的整数;
本实施例中,客户端把移动信息放入一个目标队列里。在目标队列中包括Y帧移动信息,这里的Y帧移动信息包括了至少一帧移动信息,因此,Y为大于或等于1的整数。
203、向服务器发送目标队列,以使服务器根据目标队列中的Y帧移动信息确定目标对象的水平位置;
本实施例中,客户端将获取到目标队列发送给服务器,服务器利用目标队列中的Y帧移动信息确定目标对象的水平位置,移动位置中包括水平位置,时钟标识应与客户端的时钟标识对应。比如,客户端侧表现出来的目标对象的水平位置为(5,10),且时钟标识为1,服务器侧表现出来的目标对象的水平位置为(5,9),且时钟标识为1,此时,将判断服务器侧的水平位置和客户端侧的水平位置是否匹配。
可以理解的是,水平位置是相对与垂直位置而言的,垂直位置用于表示目标对象在场景中进行跳跃或者攀登的位置,水平位置用于表示目标对象在场景中进行移动等动作的位置。
204、若目标对象的水平位置满足信息同步条件,则从服务器中获取目标对象的目标位置信息,其中,目标位置信息为服务器根据移动信息确定的。
本实施例中,如果服务器侧的水平位置和客户端侧的水平位置不一致,或者两者之间的水平位置之差大于预设水平位置门限,则说明满足信息同步条件,于是,服务器会通知客户端需要进行信息同步,客户端从服务器侧获取目标位置信息。
服务器可以根据客户端上报的移动信息确定目标对象的水平位置以及垂直位置,该目标对象的水平位置和垂直位置共同构成目标位置信息。
为了便于理解,请参阅图5,图5为本发明实施例中客户端与服务器之间同步信息的一个示意图,如图所示,客户端侧的目标对象从0毫秒开始移动,假设客户端逻辑上以固定帧率N帧(假设一帧为33毫秒)的频率移动,每次移动时钟标识加1,并且把每帧的移动信息放入一个队列中。客户端会向服务器规律性地上报移动信息(包括移动位置、时钟标识以及运动状态等),服务器会根据移动信息计算出目标对象的水平位置和垂直位置。然后,服务器仅对目标对象的水平位置进行校验,如果服务器侧的水平位置和客户端侧的水平位置不匹配(比如存在丢包情况导致两者位置相差过大),则服务器会通知客户端需要进行信息同步,客户端从服务器侧拉取目标位置信息。
本发明实施例中,提供了一种信息同步的方法,首先客户端获取目标对象的移动信息,其中,移动信息包括目标对象每帧的移动位置以及对应的时钟标识;将移动信息加入至目标队列中,目标队列包括目标对象的Y帧移动信息,Y为大于或等于1的整数,然后客户端向服务器发送目标队列,以使服务器根据目标队列中的Y帧移动信息确定目标对象的水平位置,若目标对象的水平位置满足信息同步条件,则客户端从服务器中获取目标对象的目标位置信息,其中,目标位置信息为服务器根据移动信息确定的。通过上述方式,服务器不需要同时计算目标对象在水平方向和垂直方向上位置,而是仅以验证目标对象在水平方向上的位置来确定是否满足信息同步条件,这样的话,只利用一个方向上的信息进行误差判断,可降低信息同步的要求,从而降低了客户端从服务器同步信息的频率,由此大幅度地减小客户端进行数据回滚的可能性,提升业务的流畅度。
可选地,在上述图4对应的实施例的基础上,本发明实施例提供信息同步的方法第一个可选实施例中,移动信息还包括停止标识、运动标识以及状态标识中的至少一项;
停止标识用于指示目标对象是否处于停止状态;
运动标识用于指示目标对象在垂直方向上的移动状态;
状态标识用于指示目标对象是否位于预设位置。
本实施例中,对于每个移动信息而言,具体可以包括时钟标识(logic_tick)、移动位置(position)、停止标识(is_stop)、运动标识(ID parent_id)以及状态标识(jump_cout),此外,还可以包括其他的信息,本实施例将以上述五种信息为例进行介绍。
在一个移动信息中,时钟标识表示这个移动信息的逻辑时钟,比如logic_tick=1,即表示时钟标识为1。
位置信息表示目标对象在整个场景中的坐标,比如,目标对象的位置信息可以表示为position=(a,b,c),a表示X轴方向上的位置,b表示Y轴方向上的位置,c表示Z轴方向上的位置,其中,a、b和c均可以为浮点数。利用a值和c值即可得到目标对象在XZ水平面上的水平位置,利用b值可以得到目标对象在Y方向上的垂直位置。
停止标识表示客户端是否向服务器发送了有效信息。比如,is_stop=0,表示客户端向服务器发送携带了目标对象相关的信息,is_stop=1,表示客户端可能因为网络问题,并没有向服务器发送与目标对象相关的信息。
运动标识和状态标识可以结合具体的场景来描述,比如,运动标识表示目的对象是否在交互式应用场景中的电梯上,而状态标识表示目标对象的跳跃次数。比如,IDparent_id=1,表示目标对象在交互式应用场景中的电梯上,ID parent_id=0,表示目标对象不在交互式应用场景中的电梯上。jump_cout=0,表示目标对象没有跳跃,jump_cout=1,表示目标对象跳跃了一次,jump_cout=2,表示目标对象连续跳跃了两次。
移动信息可以表示为message MoveMsg,message MoveMsg一种表达方式如下:
Figure GDA0003756019030000091
Figure GDA0003756019030000101
其次,本发明实施例中,介绍了移动信息除了可以包括移动位置以及时钟标识以外,还可以包括停止标识、运动标识以及状态标识中的至少一项。这些标识可以充分地表现出目标对象的运动情况,从而使得服务器能够利用这些标识计算出更准确的水平位置和垂直位置。
可选地,在上述图4或图4对应的第一个实施例的基础上,本发明实施例提供信息同步的方法第二个可选实施例中,还可以包括:
判断在预设时长内目标对象是否处于停止状态;
若在预设时长内目标对象处于停止状态,则向服务器发送M个连续的移动信息,以使服务器根据M个连续的移动信息停止更新目标对象的位置信息,M为大于或等于1的整数。
本实施例中,将介绍一种客户端与服务器之间同步信息的方法。在实际应用中,客户端所控制的目标对象可能会在一段时间内处于停止状态。假设预设时长为132毫秒,若在132毫秒内检测到目标对象一直处于停止状态,那么客户端就会向服务器上报目标对象的状态。具体方式为,客户端每N帧向服务器发送一个移动信息。N为大于或等于1的整数。需要说明的是,N的取值可以为2(比如每66毫秒上报一次移动信息),低频率上报移动信息还具有节省网络带宽的好处。
当客户端在确定目标对象静止时,该客户端向服务器发送M个连续的移动信息,M为大于或等于1的整数,假设M为5,那么客户端在5个移动信息中携带停止标识,且该停止标识为is_stop=1,即表示客户端没有向服务器发送与目标对象相关的信息。服务器接收到这5个移动信息后就不会对目标对象的位置进行更新。
再次,本发明实施例中,客户端还可以判断在预设时长内目标对象是否处于停止状态,若在预设时长内目标对象处于停止状态,则向服务器发送M个连续的移动信息,以使服务器根据M个连续的移动信息停止更新目标对象的位置信息。通过上述方式,如果客户端检测到目标对象在一段时间内都没有移动,那么就主动向服务器发送停止包,及时地通知服务器暂停更新目标对象的移动信息,从而能够有效地提升客户端与服务器之间的信息同步率。
下面将从服务器的角度,对本发明中信息同步的方法进行介绍,请参阅图6,本发明实施例中信息同步的方法一个实施例包括:
301、接收客户端发送的目标队列,其中,目标队列包括目标对象的Y帧移动信息,移动信息包括目标对象每帧的移动位置以及对应的时钟标识,Y为大于或等于1的整数;
本实施例中,客户端根据用户的对目标对象的操作获取移动信息,其中,移动信息包括目标对象在固定时间内的移动位置,比如目标对象在固定时间内从场景中的A点移动到B点,B点的位置即为移动位置。该移动信息中还包括时钟标识,每N帧的移动位置的时钟标识记为1,也就是说,时钟标识与固定帧率具有对应关系,客户端以固定帧率N帧的频率进行移动,每次移动,时钟标识需要增加1。需要说明的是,通常情况下,1帧为33毫秒,N可以设置为1或2,也可以是其他合理的取值。
可以理解的是,N帧移动信息对应一个时钟标识,可以表示移动信息的出现次序,并且也意味着该移动信息所对应的时间。
302、根据目标队列中的Y帧移动信息确定目标对象的水平位置;
本实施例中,服务器利用目标队列中的Y帧移动信息确定目标对象的水平位置,移动位置中包括水平位置,时钟标识应与客户端的时钟标识对应。比如,客户端侧表现出来的目标对象的水平位置为(5,10),且时钟标识为1,服务器侧表现出来的面部对象的水平位置为(5,9),且时钟标识为1,此时,将判断服务器侧的水平位置和客户端侧的水平位置是否匹配。
可以理解的是,水平位置是相对与垂直位置而言的,垂直位置用于表示目标对象在场景中进行跳跃或者攀登的位置,水平位置用于表示目标对象在场景中进行移动等动作的位置。
303、根据目标队列中的Y帧移动信息确定目标对象的目标位置信息;
本实施例中,移动信息中还可以包括目标对象在Y方向上的移动状态(比如跳跃),服务器可以根据客户端上报的目标队列中的Y帧移动信息,确定目标对象的水平位置以及垂直位置,该目标对象的水平位置和垂直位置共同构成目标位置信息。服务器结合目标对象在XZ方向(水平平面)上的移动情况以及在Y方向(竖直方向)上的移动情况,即可计算出目标位置信息。
304、若目标对象的水平位置满足信息同步条件,则向客户端发送目标位置信息。
本实施例中,如果服务器侧的水平位置和客户端侧的水平位置不匹配,则说明满足信息同步条件,于是,服务器会通知客户端需要进行信息同步,客户端从服务器侧获取目标位置信息。
本发明实施例中,提供了一种信息同步的方法,首先服务器接收客户端发送的移动信息,其中,移动信息包括目标对象在预设时间内的移动位置以及时钟标识,然后根据移动信息确定目标对象的水平位置,且根据移动信息确定目标对象的目标位置信息。如果目标对象的水平位置满足信息同步条件,则向客户端发送目标位置信息。通过上述方式,服务器不需要同时计算目标对象在水平方向和垂直方向上位置,而是仅以验证目标对象在水平方向上的位置来确定是否满足信息同步条件,这样的话,只利用一个方向上的信息进行误差判断,可降低信息同步的要求,从而降低了客户端从服务器同步信息的频率,由此大幅度地减小客户端进行数据回滚的可能性,提升业务的流畅度。
可选地,在上述图6对应的实施例的基础上,本发明实施例提供信息同步的方法第一个可选实施例中,接收客户端发送的目标队列之后,还可以包括:
判断在预设时间内接收到目标队列中的移动信息数量是否大于预设门限;
若在预设时间内接收到目标队列中的移动信息数量小于或等于预设门限,则执行根据目标队列中的Y帧移动信息确定目标对象的目标位置信息的步骤;
若在预设时间内接收到目标队列中的移动信息数量大于预设门限,则拒绝对移动信息进行处理。
本实施例中,提供了一种服务器对移动信息进行处理的方法。服务器需要判断预设时间内接收到目标队列中的移动信息数量是否大于预设门限,预设时间可以是1分钟,也可以是设定的其他时间。而预设门限可以是40,比如,服务器判断在1分钟之内收到目标队列中,移动信息数量是否大于40,如果大于40,则认为可能出现网络抖动较大的情况,从而拒绝处理这些移动信息。反之,如果小于或等于40,则可以继续根据目标队列中的Y帧移动信息确定目标对象的水平位置,以及根据目标队列中的Y帧移动信息确定目标对象的水平位置。
为了便于介绍,请参阅图7,图7为本发明实施例中服务器短时间内收到多个信息的一个示意图,如图所示,客户端在第0毫秒的时候向服务器发送了第一个移动信息,在第33毫秒的时候向服务器发送了第二个移动信息,在第66毫秒的时候向服务器发送了第三个移动信息,在第99毫秒的时候向服务器发送了第四个移动信息,由于弱网(即指在移动网络通信情况下,网络延迟,且网络包抖动会随着环境而变大)的网络抖动比较大,服务器有可能在短时间收到四个移动信息。服务器的逻辑时钟和客户端的逻辑时钟随着时间变化而发生偏移,因此,不能简单的比较服务器的逻辑时钟和客户端上报的逻辑时钟。
基于上述情况,本发明可以采用逻辑时钟缓冲池来解决客户端与服务器之间逻辑时钟同步的问题。逻辑时钟是计算机中的一个整数变量,其增加由程序控制,具体表现为本发明所提到的时钟标识。服务器需要根据收到的移动信息中的时钟标识是否超出逻辑时钟缓冲池的上限,来判断是否满足信息处理条件。如果最后收到的移动信息中的时钟标识超出了逻辑时钟缓冲池上限,也就意味着不满足信息处理条件,那么服务器就不会再对该移动信息进行处理,可以直接丢弃该移动信息。反之,如果最后收到的移动信息中的时钟标识没有超出逻辑时钟缓冲池上限,也就意味着满足信息处理条件,那么服务器可以利用该移动信息计算目标对象的水平位置以及目标位置信息。
具体地,请参阅图8a的,图8a为本发明实施例中逻辑时钟缓冲池的一个实施例示意图,如图所示,假设逻辑时钟缓冲池最多可以存储30个变量,如果在限定的时间内服务器收到不超过30个移动信息,则可以对这些移动信息进行处理。例如,服务器在限定时间内仅收到abc三个移动信息,那么可以对这三个移动信息进行处理,从而输出处理后的ABC三个信息。
请参阅图8b,图8b为本发明实施例中逻辑时钟缓冲池的另一个实施例示意图,如图所示,如果在限定的时间内服务器收到超过30个移动信息,则服务器不会对这些移动信息进行处理。例如,服务器在限定时间内收到a1至a33所对应的33个移动信息,那么服务器即便已经处理完信息A和信息B也不具有处理完这33个移动信息的能力,因此,服务器会丢弃多余的移动信息。
通常情况下,当服务器收到大量的移动信息时,可能是存在外挂的情况,采用上述方式,能够有效地防止外挂情况的发生。
其次,本发明实施例中,服务器需要根据时钟标识判断是否满足信息处理条件,若满足信息处理条件,则执行根据移动信息确定目标对象的水平位置,以及根据移动信息确定目标对象的目标位置信息的步骤,若不满足信息处理条件,则拒绝对移动信息进行处理。通过上述方式,服务器利用时钟标识判断是否需要对移动信息进行处理,因此,服务器并不会对所有状况下的移动信息都进行处理,这样的话,能够有效地降低信息处理的风险,可以实现反外挂的目的。
可选地,在上述图6对应的实施例的基础上,本发明实施例提供信息同步的方法第二个可选实施例中,根据移动信息确定目标对象的水平位置,包括:
获取历史移动信息,其中,历史移动信息包括历史移动位置以及历史时钟标识;
根据历史移动信息以及移动信息,计算得到目标对象的水平速度;
若目标对象的水平速度满足位置修正条件,则根据目标对象的水平速度调整目标对象的水平位置。
本实施例中,服务器能够校验客户端侧表现的目标对象的水平位置。具体地,服务器保存上一个处理过的移动信息,即历史移动信息。服务器对当前接收到的移动信息与历史移动信息做差,并除以时间,即可模拟出客户端侧目标对象的水平速度。然后服务器校验该水平速度的大小是否满足位置修正条件,如果满足该条件,服务器就会根据计算得到的目标对象的水平速度来修正目标对象的水平位置。
其中,当目标对象的水平速度大于该目标对象被配置的最大水平速度时,认为目标对象的水平速度满足位置修正条件。
其次,本发明实施例中,由于客户端与服务器之间的位置可能会出现偏差,服务器可以根据历史移动信息以及当前获取的移动信息来模拟客户端侧的目标对象水平速度,再利用目标对象的水平速度来调整目标对象的水平位置。通过上述方式,服务器能够与客户端尽可能地保持信息同步,并且通过模拟客户端侧的目标对象的水平速度,能够及时修正水平位置,从而提升方案的可行性和可操作性。
可选地,在上述图6对应的第二个实施例的基础上,本发明实施例提供信息同步的方法第三个可选实施例中,根据历史移动信息以及移动信息,计算得到目标对象的水平速度,可以包括:
根据时钟标识以及历史时钟标识计算时钟标识差值;
根据移动位置以及历史移动位置计算移动位置差值;
根据时钟标识差值以及移动位置差值,计算目标对象的水平速度。
本实施例中,提供了一种计算目标对象水平速度的方法,可以采用如下方式计算目标对象的水平速度:
V=(P1-P2)/Tick2Seconds(L1-L2);
其中,V表示目标对象的水平速度,P1表示移动位置,P2表示历史移动位置,Tick2Seconds()表示将逻辑时间转换为物理时间的函数,L1表示时钟标识,L2表示历史时钟标识。假设移动位置P1为(5,5),历史移动位置P2为(5,10),时钟标识L1为2,历史时钟标识L2为1,于是可以得到目标对象的水平速度V为5。
再次,本发明实施例中,提供了一种服务器计算目标对象水平速度的具体方式,即利用移动位置、历史移动位置、时钟标识以及历史时钟标识之间的关系,计算得到目标对象的水平速度。通过上述方式,为方案的实现提供了具体的实现依据,从而提升方案的实用性和可行性。
可选地,在上述图6对应的第二个实施例的基础上,本发明实施例提供信息同步的方法第四个可选实施例中,根据目标对象的水平速度调整目标对象的水平位置,包括:
根据目标对象的水平速度、时钟标识、历史时钟标识以及历史移动位置,计算得到修正位置;
根据修正位置对目标对象的水平位置进行调整。
本实施例中,将介绍一种服务器修正目标对象位置信息的方式,首先,服务器可以判断目标对象的水平速度是否满足位置修正条件,具体地,当目标对象的水平速度大于该目标对象被配置的最大水平速度时,认为目标对象的水平速度满足位置修正条件,也就需要由服务器修正目标对象的水平位置。服务器利用目标对象的水平速度、时钟标识、历史时钟标识以及历史移动位置,计算得到修正位置,可以计算得到修正位置,将原本计算得到的目标对象的水平位置调整为计算得到的修正位置。
在实际应用中,如果目标对象的水平速度不满足位置修正条件,那也就不需要进行位置的修正处理。
其次,本发明实施例中,如果目标对象的水平位置满足位置修正条件,则服务器根据时钟标识、历史时钟标识以及历史移动位置,计算得到修正位置,再利用修正位置对目标对象的水平位置进行调整。通过上述方式,服务器能够与客户端尽可能地保持信息同步,并且通过模拟客户端侧的目标对象的水平速度,能够及时修正水平位置,从而提升方案的可行性和可操作性。
可选地,在上述图6对应的第四个实施例的基础上,本发明实施例提供信息同步的方法第五个可选实施例中,根据目标对象的水平速度、时钟标识、历史时钟标识以及历史移动位置,计算得到修正位置,可以包括:
根据时钟标识以及历史时钟标识计算时钟标识差值;
对目标对象的水平速度进行标准化处理;
根据历史移动位置、时钟标识差值以及经过标准化处理后的目标对象的水平速度,计算得到修正位置。
本实施例中,可以采用如下方式计算修正位置:
P=P2+V_dir*max_speed*Tick2Seconds(L1–L2);
其中,P表示修正位置,P2表示历史移动位置,V_dir表示经过标准化处理的目标对象的水平速度,Tick2Seconds()表示将逻辑时间转换为物理时间的函数,L1表示时钟标识,L2表示历史时钟标识。
本实施例中,提供了一种计算修正位置的方法,即采用如下公式进行计算:
P=P2+V_dir*max_speed*Tick2Seconds(L1–L2);
其中,需要对目标对象的水平速度进行标准化处理,数据的标准化是将数据按比例缩放,使之落入一个小的特定区间。可以去除数据的单位限制,将其转化为无量纲的纯数值,便于不同单位或量级的指标能够进行比较和加权。其中最典型的就是数据的归一化处理,即将数据统一映射到[0,1]区间上。
此外,需要说明的是,如果计算得到的目标对象的水平位置与最大水平速度之间相差很大,比如客户端断网之后用户还继续操作目标对象移动一段距离,那当网络重连后,服务器就需要通知客户端拉取到服务器的位置。
再次,本发明实施例中,提供了一种服务器计算修正位置的具体方式,即利用目标对象的水平速度、时钟标识、历史时钟标识以及历史移动位置,计算得到修正位置,计算得到目标对象的水平速度。通过上述方式,为方案的实现提供了具体的实现依据,从而提升方案的实用性和可行性。
可选地,在上述图6以及图6对应的第一个至第五个实施例中任一项的基础上,本发明实施例提供信息同步的方法第六个可选实施例中,根据移动信息确定目标对象的目标位置信息,可以包括:
若目标对象的水平速度大于或等于第一速度阈值,则在加速时间根据移动信息确定目标对象的目标位置信息,其中,加速时间大于第一预设时间;
若目标对象的水平速度小于或等于第二速度阈值,则在减速时间根据移动信息确定目标对象的目标位置信息,其中,减速时间小于第二预设时间。
本实施例中,服务器在确定目标位置信息的过程中,还需要考虑到目标对象的移动情况。下面将结合图9和图10进行介绍。
具体地,服务器会根据移动信息计算得到目标对象的水平速度,目标对象可以是一个特定的游戏人物,比如“战士”,每个游戏人物都具有相应的配置,以“战士”为例,其配置的加速技能所对应的水平速度为15个单位每毫秒,而减速技能所对应的水平速度为5个单位每毫秒。请参阅图9,图9为本发明实施例中客户端与服务器的加速时间一个示意图,如图所示,若目标对象的水平速度大于或等于第一速度阈值(如15个单位每毫秒),则说明客户端对目标对象施加了加速技能,即从第66毫秒开始加速,直至第132毫秒,共加速66毫秒,加速技能由客户端预表现,在开始触发加速技能指令中,客户端会把释放技能时刻(第66毫秒)的目标对象位置上报给服务器,服务器利用该信息对齐位置,尽量保证客户端和服务器的初始状态一致,以使得信息同步。此时,服务器还需要在客户端加速的这段时间(第一预设时间)的基础上再增加一段时间,从而生成服务器的加速时间。服务器在加速时间内计算目标对象的目标位置信息,该目标位置信息可以与客户端表现的位置信息同步。
请参阅图10,图10为本发明实施例中客户端与服务器的减速时间一个示意图,如图所示,若目标对象的水平速度小于或等于第二速度阈值(如5个单位每毫秒),则说明客户端对目标对象施加了减速速技能,即从第66毫秒开始减速,直至第132毫秒,共减速66毫秒,减速技能由客户端预表现,在开始触发减速技能指令中,客户端会把释放技能时刻(第66毫秒)的目标对象位置上报给服务器,服务器利用该信息对齐位置,尽量保证客户端和服务器的初始状态一致,以使得信息同步。此时,服务器还需要在客户端减速的这段时间(第二预设时间)的基础上再减去一段时间,从而生成服务器的减速时间。服务器在减速时间内计算目标对象的目标位置信息,该目标位置信息可以与客户端表现的位置信息同步。
进一步地,本发明实施例中,在服务器根据移动信息确定目标对象的目标位置信息的过程中,若目标对象的水平速度大于或等于第一速度阈值,则在加速时间根据移动信息确定目标对象的目标位置信息,反之,若目标对象的水平速度小于或等于第二速度阈值,则在减速时间根据移动信息确定目标对象的目标位置信息。通过上述方式,在目标对象加速的时候,服务器会延迟一段时间再进行信息同步,保证客户端上报的最大速度不会超过该目标对象的最大速度。而在目标对象减速的时候,服务器会延迟一段时间之后再进行信息同步,从而实现服务器与客户端之间的同步,提升信息传输的可靠性。
下面对本发明中的客户端进行详细描述,请参阅图11,图11为本发明实施例中客户端一个实施例示意图,客户端40包括:
获取模块401,用于获取目标对象的移动信息,其中,所述移动信息包括所述目标对象每帧的移动位置以及对应的时钟标识;
添加模块402,用于将所述获取模块401获取的所述获取模块获取获取的所述移动信息加入至目标队列中,其中,所述目标队列包括所述目标对象的Y帧移动信息,所述Y为大于或等于1的整数;
发送模块403,用于向服务器发送所述添加模块402添加后的所述目标队列,以使所述服务器根据所述目标队列中的所述Y帧移动信息确定所述目标对象的水平位置;
所述获取模块401,还用于若所述目标对象的水平位置满足信息同步条件,则从所述服务器中获取所述目标对象的目标位置信息,其中,所述目标位置信息为所述服务器根据所述移动信息确定的。
本实施例中,获取模块401获取目标对象的移动信息,其中,所述移动信息包括所述目标对象每帧的移动位置以及对应的时钟标识,添加模块402将所述获取模块401获取的所述获取模块获取获取的所述移动信息加入至目标队列中,其中,所述目标队列包括所述目标对象的Y帧移动信息,所述Y为大于或等于1的整数,发送模块403向服务器发送所述添加模块402添加后的所述目标队列,以使所述服务器根据所述目标队列中的所述Y帧移动信息确定所述目标对象的水平位置,若所述目标对象的水平位置满足信息同步条件,则所述获取模块401从所述服务器中获取所述目标对象的目标位置信息,其中,所述目标位置信息为所述服务器根据所述移动信息确定的。
本发明实施例中,提供了一种信息同步的方法,首先客户端获取目标对象的移动信息,其中,移动信息包括目标对象每帧的移动位置以及对应的时钟标识;将移动信息加入至目标队列中,目标队列包括目标对象的Y帧移动信息,Y为大于或等于1的整数,然后客户端向服务器发送目标队列,以使服务器根据目标队列中的Y帧移动信息确定目标对象的水平位置,若目标对象的水平位置满足信息同步条件,则客户端从服务器中获取目标对象的目标位置信息,其中,目标位置信息为服务器根据移动信息确定的。通过上述方式,服务器不需要同时计算目标对象在水平方向和垂直方向上位置,而是仅以验证目标对象在水平方向上的位置来确定是否满足信息同步条件,这样的话,只利用一个方向上的信息进行误差判断,可降低信息同步的要求,从而降低了客户端从服务器同步信息的频率,由此大幅度地减小客户端进行数据回滚的可能性,提升业务的流畅度。
可选地,在上述图11所对应的实施例的基础上,本发明实施例提供的客户端40的另一实施例中,所述移动信息还包括停止标识、运动标识以及状态标识中的至少一项;
所述停止标识用于指示所述目标对象是否处于停止状态;
所述运动标识用于指示所述目标对象在垂直方向上的移动状态;
所述状态标识用于指示所述目标对象是否位于预设位置。
其次,本发明实施例中,介绍了移动信息除了可以包括移动位置以及时钟标识以外,还可以包括停止标识、运动标识以及状态标识中的至少一项。这些标识可以充分地表现出目标对象的运动情况,从而使得服务器能够利用这些标识计算出更准确的水平位置和垂直位置。
可选地,在上述图11所对应的实施例的基础上,请参阅图12,本发明实施例提供的客户端40的另一实施例中,所述客户端40还包括判断模块404;
所述判断模块404,还用于判断在预设时长内所述目标对象是否处于停止状态;
发送模块402,用于若所述判断模块403判断得到在所述预设时长内所述目标对象处于停止状态,则向所述服务器发送M个连续的移动信息,以使所述服务器根据所述M个连续的移动信息停止更新所述目标对象的位置信息,所述M为大于或等于1的整数。
再次,本发明实施例中,客户端还可以判断在预设时长内目标对象是否处于停止状态,若在预设时长内目标对象处于停止状态,则向服务器发送M个连续的移动信息,以使服务器根据M个连续的移动信息停止更新目标对象的位置信息。通过上述方式,如果客户端检测到目标对象在一段时间内都没有移动,那么就主动向服务器发送停止包,及时地通知服务器暂停更新目标对象的移动信息,从而能够有效地提升客户端与服务器之间的信息同步率。
上面已对本发明的客户端进行描述,下面将对本发明中的服务器进行详细描述,请参阅图13,图13为本发明实施例中服务器一个实施例示意图,服务器50包括:
接收模块501,用于接收客户端发送的目标队列,其中,所述目标队列包括所述目标对象的Y帧移动信息,所述移动信息包括所述目标对象每帧的移动位置以及对应的时钟标识,所述Y为大于或等于1的整数;
确定模块502,用于根据所述接收模块501接收的所述目标队列中的所述Y帧移动信息确定所述目标对象的水平位置;
所述确定模块502,还用于根据所述接收模块501接收的所述目标队列中的所述Y帧移动信息确定所述目标对象的目标位置信息;
发送模块503,用于若所述确定模块502确定的所述目标对象的水平位置满足信息同步条件,则向所述客户端发送所述目标位置信息。
本实施例中,接收模块501接收客户端发送的目标队列,其中,所述目标队列包括所述目标对象的Y帧移动信息,所述移动信息包括所述目标对象每帧的移动位置以及对应的时钟标识,所述Y为大于或等于1的整数,确定模块502根据所述接收模块501接收的所述目标队列中的所述Y帧移动信息确定所述目标对象的水平位置,所述确定模块502根据所述接收模块501接收的所述目标队列中的所述Y帧移动信息确定所述目标对象的目标位置信息,3若所述确定模块502确定的所述目标对象的水平位置满足信息同步条件,则发送模块50向所述客户端发送所述目标位置信息。
本发明实施例中,提供了一种服务器,首先服务器接收客户端发送的移动信息,移动信息包括目标对象在第一预设时间内的第一移动位置以及时钟标识,然后根据移动信息以及历史移动信息确定目标对象的水平位置,且根据移动信息确定目标对象的目标位置信息。如果目标对象的水平位置满足信息同步条件,则服务器向客户端发送目标位置信息。通过上述方式,服务器不需要同时计算目标对象在水平方向和垂直方向上位置,而是仅以验证目标对象在水平方向上的位置来确定是否满足信息同步条件,这样的话,只利用一个方向上的信息进行误差判断,可降低信息同步的要求,从而降低了客户端从服务器同步信息的频率,由此大幅度地减小客户端进行数据回滚的可能性,提升业务的流畅度。
可选地,在上述图13所对应的实施例的基础上,请参阅图14,本发明实施例提供的服务器50的另一实施例中,所述服务器50还包括判断模块504、执行模块505以及处理模块506;
所述判断模块504,用于所述接收模块501接收客户端发送的移动信息之后,判断在预设时间内接收到所述目标队列中的移动信息数量是否大于预设门限;
所述执行模块505,用于若所述判断模块504判断得到在所述预设时间内接收到所述目标队列中的移动信息数量小于或等于所述预设门限,则执行所述根据所述目标队列中的所述Y帧移动信息确定所述目标对象的目标位置信息的步;
所述处理模块506,用于若所述判断模块504判断得到在所述预设时间内接收到所述目标队列中的移动信息数量大于所述预设门限,则拒绝对所述移动信息进行处理。
其次,本发明实施例中,服务器需要根据时钟标识判断是否满足信息处理条件,若满足信息处理条件,则执行根据移动信息确定目标对象的水平位置,以及根据移动信息确定目标对象的目标位置信息的步骤,若不满足信息处理条件,则拒绝对移动信息进行处理。通过上述方式,服务器利用时钟标识判断是否需要对移动信息进行处理,因此,服务器并不会对所有状况下的移动信息都进行处理,这样的话,能够有效地降低信息处理的风险,可以实现反外挂的目的。
可选地,在上述图13所对应的实施例的基础上,本发明实施例提供的服务器50的另一实施例中,
所述确定模块502,具体用于获取所述历史移动信息,其中,所述历史移动信息包括历史移动位置以及历史时钟标识;
根据所述历史移动信息以及所述移动信息,计算得到所述目标对象的水平速度;
若所述目标对象的水平速度满足位置修正条件,则根据所述目标对象的水平速度调整所述目标对象的水平位置。
其次,本发明实施例中,由于客户端与服务器之间的位置可能会出现偏差,服务器可以根据历史移动信息以及当前获取的移动信息来模拟客户端侧的目标对象水平速度,再利用目标对象的水平速度来调整目标对象的水平位置。通过上述方式,服务器能够与客户端尽可能地保持信息同步,并且通过模拟客户端侧的目标对象的水平速度,能够及时修正水平位置,从而提升方案的可行性和可操作性。
可选地,在上述图13所对应的实施例的基础上,本发明实施例提供的服务器50的另一实施例中,
所述确定模块502,具体用于根据所述时钟标识以及所述历史时钟标识计算时钟标识差值;
根据所述移动位置以及所述历史移动位置计算移动位置差值;
根据所述时钟标识差值以及所述移动位置差值,计算所述目标对象的水平速度。
再次,本发明实施例中,提供了一种服务器计算目标对象水平速度的具体方式,即利用移动位置、历史移动位置、时钟标识以及历史时钟标识之间的关系,计算得到目标对象的水平速度。通过上述方式,为方案的实现提供了具体的实现依据,从而提升方案的实用性和可行性。
可选地,在上述图13所对应的实施例的基础上,本发明实施例提供的服务器50的另一实施例中,
所述确定模块502,具体用于根据所述目标对象的水平速度、所述时钟标识、所述历史时钟标识以及所述历史移动位置,计算得到修正位置;
根据所述修正位置对所述目标对象的水平位置进行调整。
其次,本发明实施例中,如果目标对象的水平位置满足位置修正条件,则服务器根据时钟标识、历史时钟标识以及历史移动位置,计算得到修正位置,再利用修正位置对目标对象的水平位置进行调整。通过上述方式,服务器能够与客户端尽可能地保持信息同步,并且通过模拟客户端侧的目标对象的水平速度,能够及时修正水平位置,从而提升方案的可行性和可操作性。
可选地,在上述图13所对应的实施例的基础上,本发明实施例提供的服务器50的另一实施例中,
所述确定模块502,具体用于根据所述时钟标识以及所述历史时钟标识计算时钟标识差值;
对所述目标对象的水平速度进行标准化处理;
根据所述历史移动位置、所述时钟标识差值以及经过标准化处理后的所述目标对象的水平速度,计算得到所述修正位置。
再次,本发明实施例中,提供了一种服务器计算修正位置的具体方式,即利用目标对象的水平速度、时钟标识、历史时钟标识以及历史移动位置,计算得到修正位置,计算得到目标对象的水平速度。通过上述方式,为方案的实现提供了具体的实现依据,从而提升方案的实用性和可行性。
可选地,在上述图13或图14所对应的实施例的基础上,本发明实施例提供的服务器50的另一实施例中,
所述确定模块502,具体用于若所述目标对象的水平速度大于或等于第一速度阈值,则在加速时间根据所述移动信息确定所述目标对象的目标位置信息,其中,所述加速时间大于所述第一预设时间;
若所述目标对象的水平速度小于或等于第二速度阈值,则在减速时间根据所述移动信息确定所述目标对象的目标位置信息,其中,所述减速时间小于所述第二预设时间。
进一步地,本发明实施例中,在服务器根据移动信息确定目标对象的目标位置信息的过程中,若目标对象的水平速度大于或等于第一速度阈值,则在加速时间根据移动信息确定目标对象的目标位置信息,反之,若目标对象的水平速度小于或等于第二速度阈值,则在减速时间根据移动信息确定目标对象的目标位置信息。通过上述方式,在目标对象加速的时候,服务器会延迟一段时间再进行信息同步,保证客户端上报的最大速度不会超过该目标对象的最大速度。而在目标对象减速的时候,服务器会延迟一段时间之后再进行信息同步,从而实现服务器与客户端之间的同步,提升信息传输的可靠性。
本发明实施例还提供了另一种终端设备,如图15所示,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该终端可以为包括手机、平板电脑、个人数字助理(Personal Digital Assistant,PDA)、销售终端(Point of Sales,POS)、车载电脑等任意终端设备,以终端为手机为例:
图15示出的是与本发明实施例提供的终端相关的手机的部分结构的框图。参考图15,手机包括:射频(Radio Frequency,RF)电路610、存储器620、输入单元630、显示单元640、传感器650、音频电路660、无线保真(wireless fidelity,WiFi)模块670、处理器680、以及电源690等部件。本领域技术人员可以理解,图15中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图15对手机的各个构成部件进行具体的介绍:
RF电路610可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器680处理;另外,将设计上行的数据发送给基站。通常,RF电路610包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low NoiseAmplifier,LNA)、双工器等。此外,RF电路610还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯***(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)等。
存储器620可用于存储软件程序以及模块,处理器680通过运行存储在存储器620的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器620可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器620可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元630可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元630可包括触控面板631以及其他输入设备632。触控面板631,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板631上或在触控面板631附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板631可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器680,并能接收处理器680发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板631。除了触控面板631,输入单元630还可以包括其他输入设备632。具体地,其他输入设备632可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元640可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元640可包括显示面板641,可选的,可以采用液晶显示器(Liquid CrystalDisplay,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板641。进一步的,触控面板631可覆盖显示面板641,当触控面板631检测到在其上或附近的触摸操作后,传送给处理器680以确定触摸事件的类型,随后处理器680根据触摸事件的类型在显示面板641上提供相应的视觉输出。虽然在图15中,触控面板631与显示面板641是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板631与显示面板641集成而实现手机的输入和输出功能。
手机还可包括至少一种传感器650,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板641的亮度,接近传感器可在手机移动到耳边时,关闭显示面板641和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路660、扬声器661,传声器662可提供用户与手机之间的音频接口。音频电路660可将接收到的音频数据转换后的电信号,传输到扬声器661,由扬声器661转换为声音信号输出;另一方面,传声器662将收集的声音信号转换为电信号,由音频电路660接收后转换为音频数据,再将音频数据输出处理器680处理后,经RF电路610以发送给比如另一手机,或者将音频数据输出至存储器620以便进一步处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块670可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图15示出了WiFi模块670,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器680是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器620内的软件程序和/或模块,以及调用存储在存储器620内的数据,执行手机的各种功能和处理数据。可选的,处理器680可包括一个或多个处理单元;可选的,处理器680可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器680中。
手机还包括给各个部件供电的电源690(比如电池),可选的,电源可以通过电源管理***与处理器680逻辑相连,从而通过电源管理***实现管理充电、放电、以及功耗管理等功能。
尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
在本发明实施例中,该终端所包括的处理器680还具有以下功能:
获取目标对象的移动信息,其中,所述移动信息包括所述目标对象每帧的移动位置以及对应的时钟标识;
将所述移动信息加入至目标队列中,其中,所述目标队列包括所述目标对象的Y帧移动信息,所述Y为大于或等于1的整数;
向服务器发送所述目标队列,以使所述服务器根据所述目标队列中的所述Y帧移动信息确定所述目标对象的水平位置;
若所述目标对象的水平位置满足信息同步条件,则从所述服务器中获取所述目标对象的目标位置信息,其中,所述目标位置信息为所述服务器根据所述移动信息确定的。
可选地,处理器680还用于执行如下步骤:
判断在预设时长内所述目标对象是否处于停止状态;
若在所述预设时长内所述目标对象处于停止状态,则向所述服务器发送M个连续的移动信息,以使所述服务器根据所述M个连续的移动信息停止更新所述目标对象的位置信息,所述M为大于或等于1的整数。
图16是本发明实施例提供的一种服务器结构示意图,该服务器700可因配置或性能不同而产生比较大的差异,可以包括一个或一个以***处理器(central processingunits,CPU)722(例如,一个或一个以上处理器)和存储器732,一个或一个以上存储应用程序742或数据744的存储介质730(例如一个或一个以上海量存储设备)。其中,存储器732和存储介质730可以是短暂存储或持久存储。存储在存储介质730的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器722可以设置为与存储介质730通信,在服务器700上执行存储介质730中的一系列指令操作。
服务器700还可以包括一个或一个以上电源726,一个或一个以上有线或无线网络接口750,一个或一个以上输入输出接口758,和/或,一个或一个以上操作***741,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述实施例中由服务器所执行的步骤可以基于该图16所示的服务器结构。
本发明实施例中,CPU 722用于执行如下步骤:
接收客户端发送的目标队列,其中,所述目标队列包括所述目标对象的Y帧移动信息,所述移动信息包括所述目标对象每帧的移动位置以及对应的时钟标识,所述Y为大于或等于1的整数;
根据所述目标队列中的所述Y帧移动信息确定所述目标对象的水平位置;
根据所述目标队列中的所述Y帧移动信息确定所述目标对象的目标位置信息;
若所述目标对象的水平位置满足信息同步条件,则向所述客户端发送所述目标位置信息。
可选地,CPU 722还用于执行如下步骤:
判断在预设时间内接收到所述目标队列中的移动信息数量是否大于预设门限;
若在所述预设时间内接收到所述目标队列中的移动信息数量小于或等于所述预设门限,则执行所述根据所述目标队列中的所述Y帧移动信息确定所述目标对象的目标位置信息的步骤;
若在所述预设时间内接收到所述目标队列中的移动信息数量大于所述预设门限,则拒绝对所述移动信息进行处理。
可选地,CPU 722具体用于执行如下步骤:
获取所述历史移动信息,其中,所述历史移动信息包括历史移动位置以及历史时钟标识;
根据所述历史移动信息以及所述移动信息,计算得到所述目标对象的水平速度;
若所述目标对象的水平速度满足位置修正条件,则根据所述目标对象的水平速度调整所述目标对象的水平位置。
可选地,CPU 722具体用于执行如下步骤:
根据所述时钟标识以及所述历史时钟标识计算时钟标识差值;
根据所述移动位置以及所述历史移动位置计算移动位置差值;
根据所述时钟标识差值以及所述移动位置差值,计算所述目标对象的水平速度。
可选地,CPU 722还用于执行如下步骤:
判断所述目标对象的水平位置是否满足所述位置修正条件;
若所述目标对象的水平位置满足所述位置修正条件,则根据所述时钟标识、所述历史时钟标识以及所述历史移动位置,计算得到修正位置;
根据所述修正位置对所述目标对象的水平位置进行调整。
可选地,CPU 722具体用于执行如下步骤:
根据所述时钟标识以及所述历史时钟标识计算时钟标识差值;
对所述目标对象的水平速度进行标准化处理;
根据所述历史移动位置、所述时钟标识差值以及经过标准化处理后的所述目标对象的水平速度,计算得到所述修正位置。
可选地,CPU 722具体用于执行如下步骤:
若所述目标对象的水平速度大于或等于第一速度阈值,则在加速时间根据所述移动信息确定所述目标对象的目标位置信息,其中,所述加速时间大于所述第一预设时间;
若所述目标对象的水平速度小于或等于第二速度阈值,则在减速时间根据所述移动信息确定所述目标对象的目标位置信息,其中,所述减速时间小于所述第二预设时间。
下面对本发明中的信息同步***进行详细描述,请参阅图17,请参阅图17,图17为本发明实施例中信息同步***一个实施例示意图,信息同步***包括:客户端801和服务器802;
本实施例中,客户端801获取目标对象的移动信息,其中,所述移动信息包括所述目标对象每帧的移动位置以及对应的时钟标识,客户端801将所述移动信息加入至目标队列中,其中,所述目标队列包括所述目标对象的Y帧移动信息,所述Y为大于或等于1的整数,客户端801向服务器802发送目标队列,以使所述服务器根据所述目标队列中的所述Y帧移动信息确定所述目标对象的水平位置,若所述目标对象的水平位置满足信息同步条件,则从所述服务器802中获取所述目标对象的目标位置信息,其中,所述目标位置信息为所述服务器根据所述移动信息确定的。
本发明实施例中,提供了一种信息同步***,首先客户端获取移动信息,其中,移动信息包括目标对象在预设时间内的移动位置以及时钟标识,然后向服务器发送移动信息,以使服务器根据移动信息确定目标对象的水平位置。若目标对象的水平位置满足信息同步条件,则客户端从服务器中获取目标对象的目标位置信息,目标位置信息为服务器根据移动信息确定的。通过上述方式,服务器不需要同时计算目标对象在水平方向和垂直方向上位置,而是仅以验证目标对象在水平方向上的位置来确定是否满足信息同步条件,这样的话,只利用一个方向上的信息进行误差判断,可降低信息同步的要求,从而降低了客户端从服务器同步信息的频率,由此大幅度地减小客户端进行数据回滚的可能性,提升业务的流畅度。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (14)

1.一种信息同步的方法,其特征在于,应用于客户端,所述方法包括:
获取目标对象的移动信息,其中,所述移动信息包括所述目标对象每帧的移动位置以及对应的时钟标识;
将所述移动信息加入至目标队列中,其中,所述目标队列包括所述目标对象的Y帧移动信息,所述Y为大于或等于1的整数;
向服务器发送所述目标队列,以使所述服务器根据所述目标队列中的所述Y帧移动信息确定所述目标对象的水平位置,具体包括:获取历史移动信息,所述历史移动信息包括历史移动位置以及历史时钟标识;根据所述历史移动信息以及所述Y帧移动信息,计算得到所述目标对象的水平速度;若所述目标对象的水平速度满足位置修正条件,则根据所述目标对象的水平速度调整所述目标对象的水平位置;
若所述目标对象的水平位置满足信息同步条件,则从所述服务器中获取所述目标对象的目标位置信息,其中,所述目标位置信息为所述服务器根据所述移动信息确定的;所述信息同步条件包括:所述目标对象在所述服务器中的水平位置和所述目标对象在所述客户端中的水平位置不一致,或者,所述目标对象在所述服务器中的水平位置和所述目标对象在所述客户端中的水平位置之差大于预设水平位置门限。
2.根据权利要求1所述的方法,其特征在于,所述移动信息还包括停止标识、运动标识以及状态标识中的至少一项;
所述停止标识用于指示所述目标对象是否处于停止状态;
所述运动标识用于指示所述目标对象在垂直方向上的移动状态;
所述状态标识用于指示所述目标对象是否位于预设位置。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
判断在预设时长内所述目标对象是否处于停止状态;
若在所述预设时长内所述目标对象处于停止状态,则向所述服务器发送M个连续的移动信息,以使所述服务器根据所述M个连续的移动信息停止更新所述目标对象的位置信息,所述M为大于或等于1的整数。
4.一种信息同步的方法,其特征在于,应用于服务器,所述方法包括:
接收客户端发送的目标队列,其中,所述目标队列包括目标对象的Y帧移动信息,所述移动信息包括所述目标对象每帧的移动位置以及对应的时钟标识,所述Y为大于或等于1的整数;
根据所述目标队列中的所述Y帧移动信息确定所述目标对象的水平位置,具体包括:获取历史移动信息,所述历史移动信息包括历史移动位置以及历史时钟标识;根据所述历史移动信息以及所述Y帧移动信息,计算得到所述目标对象的水平速度;若所述目标对象的水平速度满足位置修正条件,则根据所述目标对象的水平速度调整所述目标对象的水平位置;
根据所述目标队列中的所述Y帧移动信息确定所述目标对象的目标位置信息;
若所述目标对象的水平位置满足信息同步条件,则向所述客户端发送所述目标位置信息;所述信息同步条件包括:所述目标对象在所述服务器中的水平位置和所述目标对象在所述客户端中的水平位置不一致,或者,所述目标对象在所述服务器中的水平位置和所述目标对象在所述客户端中的水平位置之差大于预设水平位置门限。
5.根据权利要求4所述的方法,其特征在于,所述接收客户端发送的目标队列之后,所述方法还包括:
判断在预设时间内接收到所述目标队列中的移动信息数量是否大于预设门限;
若在所述预设时间内接收到所述目标队列中的移动信息数量小于或等于所述预设门限,则执行所述根据所述目标队列中的所述Y帧移动信息确定所述目标对象的目标位置信息的步骤;
若在所述预设时间内接收到所述目标队列中的移动信息数量大于所述预设门限,则拒绝对所述移动信息进行处理。
6.根据权利要求4所述的方法,其特征在于,所述根据所述历史移动信息以及所述移动信息,计算得到所述目标对象的水平速度,包括:
根据所述时钟标识以及所述历史时钟标识计算时钟标识差值;
根据所述移动位置以及所述历史移动位置计算移动位置差值;
根据所述时钟标识差值以及所述移动位置差值,计算所述目标对象的水平速度。
7.根据权利要求4所述的方法,其特征在于,所述根据所述目标对象的水平速度调整所述目标对象的水平位置,包括:
根据所述目标对象的水平速度、所述时钟标识、所述历史时钟标识以及所述历史移动位置,计算得到修正位置;
根据所述修正位置对所述目标对象的水平位置进行调整。
8.根据权利要求7所述的方法,其特征在于,所述根据所述目标对象的水平速度、所述时钟标识、所述历史时钟标识以及所述历史移动位置,计算得到修正位置,包括:
根据所述时钟标识以及所述历史时钟标识计算时钟标识差值;
对所述目标对象的水平速度进行标准化处理;
根据所述历史移动位置、所述时钟标识差值以及经过标准化处理后的所述目标对象的水平速度,计算得到所述修正位置。
9.根据权利要求4至8中任一项所述的方法,其特征在于,所述根据所述目标队列中的所述Y帧移动信息确定所述目标对象的目标位置信息,包括:
若所述目标对象的水平速度大于或等于第一速度阈值,则在加速时间根据所述移动信息确定所述目标对象的目标位置信息,其中,所述加速时间大于第一预设时间;
若所述目标对象的水平速度小于或等于第二速度阈值,则在减速时间根据所述移动信息确定所述目标对象的目标位置信息,其中,所述减速时间小于第二预设时间。
10.一种客户端,其特征在于,包括:
获取模块,用于获取目标对象的移动信息,其中,所述移动信息包括所述目标对象每帧的移动位置以及对应的时钟标识;
添加模块,用于将所述获取模块获取的所述移动信息加入至目标队列中,其中,所述目标队列包括所述目标对象的Y帧移动信息,所述Y为大于或等于1的整数;
发送模块,用于向服务器发送所述添加模块添加后的所述目标队列,以使所述服务器根据所述目标队列中的所述Y帧移动信息确定所述目标对象的水平位置,具体包括:获取历史移动信息,所述历史移动信息包括历史移动位置以及历史时钟标识;根据所述历史移动信息以及所述Y帧移动信息,计算得到所述目标对象的水平速度;若所述目标对象的水平速度满足位置修正条件,则根据所述目标对象的水平速度调整所述目标对象的水平位置;
所述获取模块,还用于若所述目标对象的水平位置满足信息同步条件,则从所述服务器中获取所述目标对象的目标位置信息,其中,所述目标位置信息为所述服务器根据所述移动信息确定的;所述信息同步条件包括:所述目标对象在所述服务器中的水平位置和所述目标对象在所述客户端中的水平位置不一致,或者,所述目标对象在所述服务器中的水平位置和所述目标对象在所述客户端中的水平位置之差大于预设水平位置门限。
11.一种服务器,其特征在于,包括:
接收模块,用于接收客户端发送的目标队列,其中,所述目标队列包括目标对象的Y帧移动信息,所述移动信息包括所述目标对象每帧的移动位置以及对应的时钟标识,所述Y为大于或等于1的整数;
确定模块,用于根据所述接收模块接收的所述目标队列中的所述Y帧移动信息确定所述目标对象的水平位置,具体包括:获取历史移动信息,所述历史移动信息包括历史移动位置以及历史时钟标识;根据所述历史移动信息以及所述Y帧移动信息,计算得到所述目标对象的水平速度;若所述目标对象的水平速度满足位置修正条件,则根据所述目标对象的水平速度调整所述目标对象的水平位置;
所述确定模块,还用于根据所述接收模块接收的所述目标队列中的所述Y帧移动信息确定所述目标对象的目标位置信息;
发送模块,用于若所述确定模块确定的所述目标对象的水平位置满足信息同步条件,则向所述客户端发送所述目标位置信息;所述信息同步条件包括:所述目标对象在所述服务器中的水平位置和所述目标对象在所述客户端中的水平位置不一致,或者,所述目标对象在所述服务器中的水平位置和所述目标对象在所述客户端中的水平位置之差大于预设水平位置门限。
12.一种终端设备,其特征在于,包括:存储器、收发器、处理器以及总线***;
其中,所述存储器用于存储程序;
所述处理器用于执行所述存储器中的程序以实现如下步骤:
获取目标对象的移动信息,其中,所述移动信息包括所述目标对象每帧的移动位置以及对应的时钟标识;
将所述移动信息加入至目标队列中,其中,所述目标队列包括所述目标对象的Y帧移动信息,所述Y为大于或等于1的整数;
向服务器发送所述目标队列,以使所述服务器根据所述目标队列中的所述Y帧移动信息确定所述目标对象的水平位置,具体包括:获取历史移动信息,所述历史移动信息包括历史移动位置以及历史时钟标识;根据所述历史移动信息以及所述Y帧移动信息,计算得到所述目标对象的水平速度;若所述目标对象的水平速度满足位置修正条件,则根据所述目标对象的水平速度调整所述目标对象的水平位置;
若所述目标对象的水平位置满足信息同步条件,则从所述服务器中获取所述目标对象的目标位置信息,其中,所述目标位置信息为所述服务器根据所述移动信息确定的;所述信息同步条件包括:所述目标对象在所述服务器中的水平位置和所述目标对象在所述终端设备中的水平位置不一致,或者,所述目标对象在所述服务器中的水平位置和所述目标对象在所述终端设备中的水平位置之差大于预设水平位置门限;
所述总线***用于连接所述存储器以及所述处理器,以使所述存储器以及所述处理器进行通信。
13.一种服务器,其特征在于,包括:
包括:存储器、收发器、处理器以及总线***;
其中,所述存储器用于存储程序;
所述处理器用于执行所述存储器中的程序以实现如下步骤:
接收客户端发送的目标队列,其中,所述目标队列包括目标对象的Y帧移动信息,所述移动信息包括所述目标对象每帧的移动位置以及对应的时钟标识,所述Y为大于或等于1的整数;
根据所述目标队列中的所述Y帧移动信息确定所述目标对象的水平位置,具体包括:获取历史移动信息,所述历史移动信息包括历史移动位置以及历史时钟标识;根据所述历史移动信息以及所述Y帧移动信息,计算得到所述目标对象的水平速度;若所述目标对象的水平速度满足位置修正条件,则根据所述目标对象的水平速度调整所述目标对象的水平位置;
根据所述目标队列中的所述Y帧移动信息确定所述目标对象的目标位置信息;
若所述目标对象的水平位置满足信息同步条件,则向所述客户端发送所述目标位置信息;所述信息同步条件包括:所述目标对象在所述服务器中的水平位置和所述目标对象在所述客户端中的水平位置不一致,或者,所述目标对象在所述服务器中的水平位置和所述目标对象在所述客户端中的水平位置之差大于预设水平位置门限;
所述总线***用于连接所述存储器以及所述处理器,以使所述存储器以及所述处理器进行通信。
14.一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1至3中任一项所述的方法,或者执行如权利要求4至9中任一项所述的方法。
CN201811385718.1A 2018-11-20 2018-11-20 信息同步的方法、客户端、服务器、终端设备与存储介质 Active CN110166519B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811385718.1A CN110166519B (zh) 2018-11-20 2018-11-20 信息同步的方法、客户端、服务器、终端设备与存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811385718.1A CN110166519B (zh) 2018-11-20 2018-11-20 信息同步的方法、客户端、服务器、终端设备与存储介质

Publications (2)

Publication Number Publication Date
CN110166519A CN110166519A (zh) 2019-08-23
CN110166519B true CN110166519B (zh) 2022-09-23

Family

ID=67645188

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811385718.1A Active CN110166519B (zh) 2018-11-20 2018-11-20 信息同步的方法、客户端、服务器、终端设备与存储介质

Country Status (1)

Country Link
CN (1) CN110166519B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110597657B (zh) * 2019-09-16 2023-03-10 腾讯科技(深圳)有限公司 客户端数据的校验方法、***及服务器
CN111760273B (zh) * 2020-07-06 2024-01-30 网易(杭州)网络有限公司 游戏碎块处理方法、装置及设备
CN111773680B (zh) * 2020-07-28 2024-04-26 网易(杭州)网络有限公司 虚拟角色的位置校验方法、装置、电子设备和存储介质
CN112169340A (zh) * 2020-08-21 2021-01-05 成都完美天智游科技有限公司 一种数据的同步验证方法、***、计算设备及存储介质
CN115025495B (zh) * 2022-06-02 2023-07-07 北京新唐思创教育科技有限公司 角色模型的同步方法、装置、电子设备及存储介质
CN117046102B (zh) * 2023-07-17 2024-02-13 广州三七极耀网络科技有限公司 一种游戏中对象坐标的同步方法、装置、设备及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009125266A (ja) * 2007-11-22 2009-06-11 Nhn Corp 同期制御方法及びゲームシステム
CN103701918A (zh) * 2013-12-31 2014-04-02 北京像素软件科技股份有限公司 客户端和服务器同步方法和装置
CN106375314A (zh) * 2016-08-31 2017-02-01 腾讯科技(深圳)有限公司 一种游戏同步方法、游戏客户端及游戏服务器
CN108159691A (zh) * 2017-12-06 2018-06-15 北京像素软件科技股份有限公司 游戏状态同步方法及***
WO2018201935A1 (zh) * 2017-05-02 2018-11-08 广州爱九游信息技术有限公司 多化身位置同步***、方法、装置及电子设备和存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009125266A (ja) * 2007-11-22 2009-06-11 Nhn Corp 同期制御方法及びゲームシステム
CN103701918A (zh) * 2013-12-31 2014-04-02 北京像素软件科技股份有限公司 客户端和服务器同步方法和装置
CN106375314A (zh) * 2016-08-31 2017-02-01 腾讯科技(深圳)有限公司 一种游戏同步方法、游戏客户端及游戏服务器
WO2018201935A1 (zh) * 2017-05-02 2018-11-08 广州爱九游信息技术有限公司 多化身位置同步***、方法、装置及电子设备和存储介质
CN108159691A (zh) * 2017-12-06 2018-06-15 北京像素软件科技股份有限公司 游戏状态同步方法及***

Also Published As

Publication number Publication date
CN110166519A (zh) 2019-08-23

Similar Documents

Publication Publication Date Title
CN110166519B (zh) 信息同步的方法、客户端、服务器、终端设备与存储介质
US11648484B2 (en) Collision judgment system, method, apparatus, and device
US20160110005A1 (en) Tapping Control Method and Terminal
CN107613128B (zh) 一种音量调节方法、终端及计算机可读存储介质
CN108322599B (zh) 一种网络访问方法和移动终端
CN108536490B (zh) 一种应用程序启动方法、移动终端以及计算机存储介质
CN111669664B (zh) 一种视频播放方法、视频播放装置、电子设备及存储介质
CN109144705B (zh) 应用程序管理方法、移动终端及计算机可读存储介质
CN107426156B (zh) 一种数据校验的方法及相关设备
US20210274365A2 (en) Method And Terminal For Monitoring A Radio Link
CN109831585A (zh) 一种运行参数调整方法及移动终端
CN107277364B (zh) 一种拍摄方法、移动终端及计算机可读存储介质
CN109309953B (zh) 功耗检测方法、装置、终端及可读存储介质
CN109126127B (zh) 游戏控制方法、双屏移动终端及计算机可读存储介质
CN110011766B (zh) 波束失败检测方法、终端及网络设备
CN107424393B (zh) 移动终端寻找方法、移动终端及存储介质
CN107104760B (zh) 一种传输数据包的方法、客户端以及服务器
CN110209449B (zh) 一种游戏中光标定位方法和装置
CN112286286A (zh) 待机控制方法及可穿戴设备、计算机可读存储介质
CN113260038A (zh) 参考时间信息的获取方法、信息收发方法及相关设备
CN112788516A (zh) 消防调度方法、装置、***及终端设备
CN110955377A (zh) 一种虚拟对象的控制方法以及相关装置
CN109885375A (zh) 一种列表滑动显示方法及移动终端
WO2019101207A1 (zh) 智能终端控制方法、智能终端及具有存储功能的装置
CN115118636A (zh) 网络抖动状态的确定方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant