一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于状态预测与校验的多人在线任务数据同步方法与流程

2021-10-29 21:47:00 来源:中国专利 TAG:同步 虚拟现实 回放 仿真 电子技术


1.本发明属于虚拟现实、通信、电子技术、虚拟仿真和网络游戏领域,尤其涉及一种基于状态同步的同步和回放方法。


背景技术:

2.deep mirror平台是是北京开云互动科技有限公司独立研发拥有全自主知识产权的虚拟现实内容生产与应用一体化平台,基于状态同步机制,针对平台中拥有大量内容和组件的即时多人在线任务,提供平台层和组件层的双层同步和录像回放解决方案。对于平台层,采用分区域,分设备,分状态的统一通用的同步机制;对于组件层,采用自主选择、延迟补偿、智能预测的定制化同步机制。通过双层同步方案,极大的降低了任务过程中的状态同步数据,提高了大型任务的同时在线人数,同时提高了用户的使用体验。
3.当前主流系统实现同步的方式主要有帧同步和状态同步。帧同步实现:用户输入指令,客户端执行输入指令,修改组件相关属性,并且发送指令到服务器,服务器广播指令到各个客户端。但是该方式只能满足少量用户的情况,大量用户会造成指令数据成几何程度增加。同时对延迟要求比较高,对于中途加入或者断线重连的用户,需要从起始帧开始计算加速追帧到当前位置,实现较为复杂。
4.传统状态同步的实现,用户输入指令,客户端发送指令到服务器并且等待服务器返回指令结果,客户端使用服务器返回的状态数据还原当前显示。当场景中的组件数量较多,组件的逻辑和需同步数据复杂时,状态数据量也会很大。由于网络延迟等原因,有时也会造成不同用户屏幕表现并不一致的问题。


技术实现要素:

5.有鉴于此,本发明提出一种基于状态预测与校验的多人在线任务数据同步方法,能够降低大型多人即时在线任务的传输数据量和任务延迟,提高并发数和用户体验,同时避免传统帧同步和状态同步的重大缺陷。本发明的具体技术方案如下:
6.一种基于状态预测与校验的多人在线任务数据同步方法,通过deepmirror平台实现,包括以下步骤:
7.s1:客户端接收到用户输入,根据用户输入编制为全局指令或者组件指令,将指令发送到服务器,同时客户端的组件用增量式预表现的方式对状态先行计算和呈现;
8.s2:服务器接收到指令,根据类别将指令对应转发到全局指令管理器或组件指令管理器,全局指令管理器将全局指令提交到同步管理器并转发到具体模块,组件指令管理器将组件指令分发到具体组件;
9.s3:全局模块接收到指令消息,改变服务器当前全局状态,并周期性将状态信息提交到同步管理器;
10.s4:组件接收到指令消息,传入逻辑模块进行处理,然后将处理后的状态信息提交到同步管理器;
11.s5:同步管理器接收到待发送消息,按照类型将消息分为指令和状态,指令类型的消息立即发送到所有客户端;状态类型的消息经过相同区域,区分设备,指定状态筛选出特定的客户端集合,然后将状态消息发送出去;
12.s6:客户端接收到同步消息,将消息按照类型分为指令消息和状态消息,指令消息立即转发到全局模块执行;状态消息转发到具体组件,组件比较预测的状态和收到的状态消息是否一致,若不一致则通过状态消息纠正组件呈现。
13.进一步地,所述步骤s1中,增量式预表现是一种预测方式,根据惯性运动或者线性计算的结果,提前在客户端呈现。
14.进一步地,所述步骤s1中,组件能够自主选择是否需要同步,不需同步的组件指令会在客户端直接屏蔽。
15.进一步地,所述步骤s6中,组件比较纠错过程中同时考虑消息传输延时。
16.进一步地,所述步骤s6中,所有客户端都会将指令消息和状态消息编序加时间戳压缩存储,回放时只需按照序列恢复状态和指令。
17.本发明的有益效果在于:本发明的同步方法是一种优于帧同步和传统状态同步的同步方式,适用包括但不限于大型多人即时在线任务等系统,通过组件自身的自主选择、延迟补偿、智能预测等定制化同步方法以及平台的分区域,分设备,分状态等优化规则,降低系统的数据传输量和网络延迟,提高系统并发数和及时响应性能,同时在跨平台、断线重连、反作弊外挂等方面都有优秀的表现。
附图说明
18.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,通过参考附图会更加清楚的理解本发明的特征和优点,附图是示意性的而不应理解为对本发明进行任何限制,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,可以根据这些附图获得其他的附图。其中:
19.图1是本发明的方法流程图。
具体实施方式
20.为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。
21.在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
22.如图1所示,一种基于状态预测与校验的多人在线任务数据同步方法,通过deepmirror平台实现,包括以下步骤:
23.s1:客户端接收到用户输入,根据用户输入编制为全局指令或者组件指令,将指令发送到服务器,同时客户端的组件用增量式预表现的方式对状态(例如位置和旋转)先行计算和呈现;
24.客户端也称为用户端,是指与服务器相对应,为客户提供本地服务的程序,与服务
器相对应;
25.s2:服务器接收到指令,根据类别将指令对应转发到全局指令管理器或组件指令管理器,全局指令管理器将全局指令提交到同步管理器并转发到具体模块,组件指令管理器将组件指令分发到具体组件;
26.s3:全局模块(环境变化、全局事件)接收到指令消息,改变服务器当前全局状态,并周期性将状态信息提交到同步管理器;
27.s4:组件接收到指令消息,传入逻辑模块进行处理,然后将处理后的状态信息提交到同步管理器;
28.s5:同步管理器接收到待发送消息,按照类型将消息分为指令和状态,指令类型的消息立即发送到所有客户端;状态类型的消息经过相同区域,区分设备,指定状态筛等平台过滤器选出特定的客户端集合,然后将状态消息发送出去;
29.s6:客户端接收到同步消息,将消息按照类型分为指令消息和状态消息,指令消息立即转发到全局模块执行;状态消息转发到具体组件,组件比较预测的状态和收到的状态消息是否一致,若不一致则通过状态消息纠正组件呈现。
30.在一些实施方式中,步骤s1中,增量式预表现是一种预测方式,根据惯性运动或者线性计算的结果,提前在客户端呈现。
31.在一些实施方式中,步骤s1中,组件能够自主选择是否需要同步,不需同步的组件指令会在客户端直接屏蔽。
32.在一些实施方式中,步骤s6中,组件比较纠错过程中同时考虑消息传输延时。
33.在一些实施方式中,步骤s6中,所有客户端都会将指令消息和状态消息编序加时间戳压缩存储,回放时只需按照序列恢复状态和指令。
34.步骤s6中,组件比较纠错过程中同时考虑消息传输延时,例如对于位置和旋转,客户端在接收到运动指令后,组件从当前状态(增量式预表现后的状态)通过线性插值到最终状态,执行时需要减去消息传输延时。
35.为了方便理解本发明的上述技术方案,以下通过具体实施例对本发明的上述技术方案进行详细说明。
36.实施例1
37.本实施例使用的物理引擎为unity,编译环境为visual studio 2015,系统框架为.netframework3.5,分析一个大型多人即时在线任务。
38.在一个1000人的即时在线任务中,用户a通过客户端a控制a角色,用户b通过客户端b控制b角色,a角色和b角色处于相同的任务区域,载具c和d有动画,但在未激活的状态下不需要同步,物体e由组件自身决定不需同步。
39.具体步骤如下:
40.s1:用户a输入打开背包指令,该指令不会被同步,角色a在客户端a打开背包并屏蔽指令发送;用户a输入w按键移动,客户端a将移动信息编制为组件指令发送到服务器,并且在客户端a通过计算增量预表现使角色a向前移动,此时只有a用户可以看到移动,服务器和其他客户端中a角色不会移动;
41.s2:服务器接收到指令,按照类别将指令转发到组件指令管理器,然后由指令管理器再具体分发到角色a;
42.s3:服务器中角色a接收到指令信息,传入移动逻辑模块进行处理,在服务器中向前移动,然后将移动后的状态信息提交到同步管理器;
43.s4:同步管理器接收到角色a移动后的同步信息,按照类型将消息分归为状态类;服务器经过平台过滤器筛选(区域,设备,状态),得到角色a(消息发出者),角色b(相同区域),角色m(全局视角角色且设备性能好),角色n(不同区域但是处于特殊状态)的集合,将状态消息发送给角色a,角色b,角色m和角色n所在的客户端;
44.s5:客户端a接收到状态消息,将状态消息转发到角色a,角色a通过增量预表现后的位置和状态消息一致,则不处理;角色a通过增量预表现后位置在状态消息记录位置的前方,将角色a纠正回退到状态消息位置处,用户a则看到控制的角色a卡顿回退。客户端b,m,n接收到状态消息,转发到所在客户端的a角色,根据状态消息呈现。
45.s6:该区域角色ab同步过程不涉及其他900多个客户端的同步信息,极大的减少了多人在线任务中的同步信息数据量,降低网络延迟。
46.本发明的同步机制主要在大型多人即时在线任务中使用,用户输入指令,客户端发送指令到服务器并且等待服务器返回指令结果,服务器收到指令分别在平台层和组件层进行处理,将处理后的结果数据整合并发给指定客户端,客户端将结果数据显示呈现。
47.以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜