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

技术编号:30534211 阅读:17 留言:0更新日期:2021-10-30 13:08
本发明专利技术公开了一种基于状态预测与校验的多人在线任务数据同步方法,在大型多人即时在线任务中使用,用户输入指令,客户端发送指令到服务器并且等待服务器返回指令结果,服务器收到指令分别在平台层和组件层进行处理,将处理后的结果数据整合并发给指定客户端,客户端将结果数据显示呈现。通过本发明专利技术的技术方案,能够降低大型多人即时在线任务的传输数据量和任务延迟,提高并发数和用户体验,同时避免传统帧同步和状态同步的重大缺陷。传统帧同步和状态同步的重大缺陷。传统帧同步和状态同步的重大缺陷。

【技术实现步骤摘要】
一种基于状态预测与校验的多人在线任务数据同步方法


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

技术介绍

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

技术实现思路
/>[0005]有鉴于此,本专利技术提出一种基于状态预测与校验的多人在线任务数据同步方法,能够降低大型多人即时在线任务的传输数据量和任务延迟,提高并发数和用户体验,同时避免传统帧同步和状态同步的重大缺陷。本专利技术的具体技术方案如下:
[0006]一种基于状态预测与校验的多人在线任务数据同步方法,通过DeepMirror平台实现,包括以下步骤:
[0007]S1:客户端接收到用户输入,根据用户输入编制为全局指令或者组件指令,将指令发送到服务器,同时客户端的组件用增量式预表现的方式对状态先行计算和呈现;
[0008]S2:服务器接收到指令,根据类别将指令对应转发到全局指令管理器或组件指令管理器,全局指令管理器将全局指令提交到同步管理器并转发到具体模块,组件指令管理器将组件指令分发到具体组件;
[0009]S3:全局模块接收到指令消息,改变服务器当前全局状态,并周期性将状态信息提交到同步管理器;
[0010]S4:组件接收到指令消息,传入逻辑模块进行处理,然后将处理后的状态信息提交到同步管理器;
[0011]S5:同步管理器接收到待发送消息,按照类型将消息分为指令和状态,指令类型的消息立即发送到所有客户端;状态类型的消息经过相同区域,区分设备,指定状态筛选出特定的客户端集合,然后将状态消息发送出去;
[0012]S6:客户端接收到同步消息,将消息按照类型分为指令消息和状态消息,指令消息立即转发到全局模块执行;状态消息转发到具体组件,组件比较预测的状态和收到的状态消息是否一致,若不一致则通过状态消息纠正组件呈现。
[0013]进一步地,所述步骤S1中,增量式预表现是一种预测方式,根据惯性运动或者线性计算的结果,提前在客户端呈现。
[0014]进一步地,所述步骤S1中,组件能够自主选择是否需要同步,不需同步的组件指令会在客户端直接屏蔽。
[0015]进一步地,所述步骤S6中,组件比较纠错过程中同时考虑消息传输延时。
[0016]进一步地,所述步骤S6中,所有客户端都会将指令消息和状态消息编序加时间戳压缩存储,回放时只需按照序列恢复状态和指令。
[0017]本专利技术的有益效果在于:本专利技术的同步方法是一种优于帧同步和传统状态同步的同步方式,适用包括但不限于大型多人即时在线任务等系统,通过组件自身的自主选择、延迟补偿、智能预测等定制化同步方法以及平台的分区域,分设备,分状态等优化规则,降低系统的数据传输量和网络延迟,提高系统并发数和及时响应性能,同时在跨平台、断线重连、反作弊外挂等方面都有优秀的表现。
附图说明
[0018]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,通过参考附图会更加清楚的理解本专利技术的特征和优点,附图是示意性的而不应理解为对本专利技术进行任何限制,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,可以根据这些附图获得其他的附图。其中:
[0019]图1是本专利技术的方法流程图。
具体实施方式
[0020]为了能够更清楚地理解本专利技术的上述目的、特征和优点,下面结合附图和具体实施方式对本专利技术进行进一步的详细描述。需要说明的是,在不冲突的情况下,本专利技术的实施例及实施例中的特征可以相互组合。
[0021]在下面的描述中阐述了很多具体细节以便于充分理解本专利技术,但是,本专利技术还可以采用其他不同于在此描述的其他方式来实施,因此,本专利技术的保护范围并不受下面公开的具体实施例的限制。
[0022]如图1所示,一种基于状态预测与校验的多人在线任务数据同步方法,通过DeepMirror平台实现,包括以下步骤:
[0023]S1:客户端接收到用户输入,根据用户输入编制为全局指令或者组件指令,将指令发送到服务器,同时客户端的组件用增量式预表现的方式对状态(例如位置和旋转)先行计算和呈现;
[0024]客户端也称为用户端,是指与服务器相对应,为客户提供本地服务的程序,与服务
器相对应;
[0025]S2:服务器接收到指令,根据类别将指令对应转发到全局指令管理器或组件指令管理器,全局指令管理器将全局指令提交到同步管理器并转发到具体模块,组件指令管理器将组件指令分发到具体组件;
[0026]S3:全局模块(环境变化、全局事件)接收到指令消息,改变服务器当前全局状态,并周期性将状态信息提交到同步管理器;
[0027]S4:组件接收到指令消息,传入逻辑模块进行处理,然后将处理后的状态信息提交到同步管理器;
[0028]S5:同步管理器接收到待发送消息,按照类型将消息分为指令和状态,指令类型的消息立即发送到所有客户端;状态类型的消息经过相同区域,区分设备,指定状态筛等平台过滤器选出特定的客户端集合,然后将状态消息发送出去;
[0029]S6:客户端接收到同步消息,将消息按照类型分为指令消息和状态消息,指令消息立即转发到全局模块执行;状态消息转发到具体组件,组件比较预测的状态和收到的状态消息是否一致,若不一致则通过状态消息纠正组件呈现。
[0030]在一些实施方式中,步骤S1中,增量式预表现是一种预测方式,根据惯性运动或者线性计算的结果,提前在客户端呈现。
[0031]在一些实施方式中,步骤S1中,组件能够自主选择是否需要同步,不需同步的组件指令会在客户端直接屏蔽。
[0032]在一些实施方式中,步骤S本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于状态预测与校验的多人在线任务数据同步方法,通过DeepMirror平台实现,其特征在于,包括以下步骤:S1:客户端接收到用户输入,根据用户输入编制为全局指令或者组件指令,将指令发送到服务器,同时客户端的组件用增量式预表现的方式对状态先行计算和呈现;S2:服务器接收到指令,根据类别将指令对应转发到全局指令管理器或组件指令管理器,全局指令管理器将全局指令提交到同步管理器并转发到具体模块,组件指令管理器将组件指令分发到具体组件;S3:全局模块接收到指令消息,改变服务器当前全局状态,并周期性将状态信息提交到同步管理器;S4:组件接收到指令消息,传入逻辑模块进行处理,然后将处理后的状态信息提交到同步管理器;S5:同步管理器接收到待发送消息,按照类型将消息分为指令和状态,指令类型的消息立即发送到所有客户端;状态类型的消息经过相同区域,区分设备,指定状态筛选出特定的客户端集合,然后将状态消息发送出去;S6:客户端接收到同步消息,将消息按照类型分...

【专利技术属性】
技术研发人员:李佳
申请(专利权)人:北京开云互动科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1