CN113572814A - 一种基于状态预测与校验的多人在线任务数据同步方法 - Google Patents
一种基于状态预测与校验的多人在线任务数据同步方法 Download PDFInfo
- Publication number
- CN113572814A CN113572814A CN202110695902.1A CN202110695902A CN113572814A CN 113572814 A CN113572814 A CN 113572814A CN 202110695902 A CN202110695902 A CN 202110695902A CN 113572814 A CN113572814 A CN 113572814A
- Authority
- CN
- China
- Prior art keywords
- instruction
- message
- state
- component
- client
- 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.)
- Granted
Links
Images
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 Transfer Between Computers (AREA)
Abstract
本发明公开了一种基于状态预测与校验的多人在线任务数据同步方法,在大型多人即时在线任务中使用,用户输入指令,客户端发送指令到服务器并且等待服务器返回指令结果,服务器收到指令分别在平台层和组件层进行处理,将处理后的结果数据整合并发给指定客户端,客户端将结果数据显示呈现。通过本发明的技术方案,能够降低大型多人即时在线任务的传输数据量和任务延迟,提高并发数和用户体验,同时避免传统帧同步和状态同步的重大缺陷。
Description
技术领域
本发明属于虚拟现实、通信、电子技术、虚拟仿真和网络游戏领域,尤其涉及一种基于状态同步的同步和回放方法。
背景技术
Deep Mirror平台是是北京开云互动科技有限公司独立研发拥有全自主知识产权的虚拟现实内容生产与应用一体化平台,基于状态同步机制,针对平台中拥有大量内容和组件的即时多人在线任务,提供平台层和组件层的双层同步和录像回放解决方案。对于平台层,采用分区域,分设备,分状态的统一通用的同步机制;对于组件层,采用自主选择、延迟补偿、智能预测的定制化同步机制。通过双层同步方案,极大的降低了任务过程中的状态同步数据,提高了大型任务的同时在线人数,同时提高了用户的使用体验。
当前主流系统实现同步的方式主要有帧同步和状态同步。帧同步实现:用户输入指令,客户端执行输入指令,修改组件相关属性,并且发送指令到服务器,服务器广播指令到各个客户端。但是该方式只能满足少量用户的情况,大量用户会造成指令数据成几何程度增加。同时对延迟要求比较高,对于中途加入或者断线重连的用户,需要从起始帧开始计算加速追帧到当前位置,实现较为复杂。
传统状态同步的实现,用户输入指令,客户端发送指令到服务器并且等待服务器返回指令结果,客户端使用服务器返回的状态数据还原当前显示。当场景中的组件数量较多,组件的逻辑和需同步数据复杂时,状态数据量也会很大。由于网络延迟等原因,有时也会造成不同用户屏幕表现并不一致的问题。
发明内容
有鉴于此,本发明提出一种基于状态预测与校验的多人在线任务数据同步方法,能够降低大型多人即时在线任务的传输数据量和任务延迟,提高并发数和用户体验,同时避免传统帧同步和状态同步的重大缺陷。本发明的具体技术方案如下:
一种基于状态预测与校验的多人在线任务数据同步方法,通过DeepMirror平台实现,包括以下步骤:
S1:客户端接收到用户输入,根据用户输入编制为全局指令或者组件指令,将指令发送到服务器,同时客户端的组件用增量式预表现的方式对状态先行计算和呈现;
S2:服务器接收到指令,根据类别将指令对应转发到全局指令管理器或组件指令管理器,全局指令管理器将全局指令提交到同步管理器并转发到具体模块,组件指令管理器将组件指令分发到具体组件;
S3:全局模块接收到指令消息,改变服务器当前全局状态,并周期性将状态信息提交到同步管理器;
S4:组件接收到指令消息,传入逻辑模块进行处理,然后将处理后的状态信息提交到同步管理器;
S5:同步管理器接收到待发送消息,按照类型将消息分为指令和状态,指令类型的消息立即发送到所有客户端;状态类型的消息经过相同区域,区分设备,指定状态筛选出特定的客户端集合,然后将状态消息发送出去;
S6:客户端接收到同步消息,将消息按照类型分为指令消息和状态消息,指令消息立即转发到全局模块执行;状态消息转发到具体组件,组件比较预测的状态和收到的状态消息是否一致,若不一致则通过状态消息纠正组件呈现。
进一步地,所述步骤S1中,增量式预表现是一种预测方式,根据惯性运动或者线性计算的结果,提前在客户端呈现。
进一步地,所述步骤S1中,组件能够自主选择是否需要同步,不需同步的组件指令会在客户端直接屏蔽。
进一步地,所述步骤S6中,组件比较纠错过程中同时考虑消息传输延时。
进一步地,所述步骤S6中,所有客户端都会将指令消息和状态消息编序加时间戳压缩存储,回放时只需按照序列恢复状态和指令。
本发明的有益效果在于:本发明的同步方法是一种优于帧同步和传统状态同步的同步方式,适用包括但不限于大型多人即时在线任务等系统,通过组件自身的自主选择、延迟补偿、智能预测等定制化同步方法以及平台的分区域,分设备,分状态等优化规则,降低系统的数据传输量和网络延迟,提高系统并发数和及时响应性能,同时在跨平台、断线重连、反作弊外挂等方面都有优秀的表现。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,通过参考附图会更加清楚的理解本发明的特征和优点,附图是示意性的而不应理解为对本发明进行任何限制,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,可以根据这些附图获得其他的附图。其中:
图1是本发明的方法流程图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
如图1所示,一种基于状态预测与校验的多人在线任务数据同步方法,通过DeepMirror平台实现,包括以下步骤:
S1:客户端接收到用户输入,根据用户输入编制为全局指令或者组件指令,将指令发送到服务器,同时客户端的组件用增量式预表现的方式对状态(例如位置和旋转)先行计算和呈现;
客户端也称为用户端,是指与服务器相对应,为客户提供本地服务的程序,与服务器相对应;
S2:服务器接收到指令,根据类别将指令对应转发到全局指令管理器或组件指令管理器,全局指令管理器将全局指令提交到同步管理器并转发到具体模块,组件指令管理器将组件指令分发到具体组件;
S3:全局模块(环境变化、全局事件)接收到指令消息,改变服务器当前全局状态,并周期性将状态信息提交到同步管理器;
S4:组件接收到指令消息,传入逻辑模块进行处理,然后将处理后的状态信息提交到同步管理器;
S5:同步管理器接收到待发送消息,按照类型将消息分为指令和状态,指令类型的消息立即发送到所有客户端;状态类型的消息经过相同区域,区分设备,指定状态筛等平台过滤器选出特定的客户端集合,然后将状态消息发送出去;
S6:客户端接收到同步消息,将消息按照类型分为指令消息和状态消息,指令消息立即转发到全局模块执行;状态消息转发到具体组件,组件比较预测的状态和收到的状态消息是否一致,若不一致则通过状态消息纠正组件呈现。
在一些实施方式中,步骤S1中,增量式预表现是一种预测方式,根据惯性运动或者线性计算的结果,提前在客户端呈现。
在一些实施方式中,步骤S1中,组件能够自主选择是否需要同步,不需同步的组件指令会在客户端直接屏蔽。
在一些实施方式中,步骤S6中,组件比较纠错过程中同时考虑消息传输延时。
在一些实施方式中,步骤S6中,所有客户端都会将指令消息和状态消息编序加时间戳压缩存储,回放时只需按照序列恢复状态和指令。
步骤S6中,组件比较纠错过程中同时考虑消息传输延时,例如对于位置和旋转,客户端在接收到运动指令后,组件从当前状态(增量式预表现后的状态)通过线性插值到最终状态,执行时需要减去消息传输延时。
为了方便理解本发明的上述技术方案,以下通过具体实施例对本发明的上述技术方案进行详细说明。
实施例1
本实施例使用的物理引擎为Unity,编译环境为Visual Studio 2015,系统框架为.NetFrameWork3.5,分析一个大型多人即时在线任务。
在一个1000人的即时在线任务中,用户A通过客户端A控制A角色,用户B通过客户端B控制B角色,A角色和B角色处于相同的任务区域,载具C和D有动画,但在未激活的状态下不需要同步,物体E由组件自身决定不需同步。
具体步骤如下:
S1:用户A输入打开背包指令,该指令不会被同步,角色A在客户端A打开背包并屏蔽指令发送;用户A输入W按键移动,客户端A将移动信息编制为组件指令发送到服务器,并且在客户端A通过计算增量预表现使角色A向前移动,此时只有A用户可以看到移动,服务器和其他客户端中A角色不会移动;
S2:服务器接收到指令,按照类别将指令转发到组件指令管理器,然后由指令管理器再具体分发到角色A;
S3:服务器中角色A接收到指令信息,传入移动逻辑模块进行处理,在服务器中向前移动,然后将移动后的状态信息提交到同步管理器;
S4:同步管理器接收到角色A移动后的同步信息,按照类型将消息分归为状态类;服务器经过平台过滤器筛选(区域,设备,状态),得到角色A(消息发出者),角色B(相同区域),角色M(全局视角角色且设备性能好),角色N(不同区域但是处于特殊状态)的集合,将状态消息发送给角色A,角色B,角色M和角色N所在的客户端;
S5:客户端A接收到状态消息,将状态消息转发到角色A,角色A通过增量预表现后的位置和状态消息一致,则不处理;角色A通过增量预表现后位置在状态消息记录位置的前方,将角色A纠正回退到状态消息位置处,用户A则看到控制的角色A卡顿回退。客户端B,M,N接收到状态消息,转发到所在客户端的A角色,根据状态消息呈现。
S6:该区域角色AB同步过程不涉及其他900多个客户端的同步信息,极大的减少了多人在线任务中的同步信息数据量,降低网络延迟。
本发明的同步机制主要在大型多人即时在线任务中使用,用户输入指令,客户端发送指令到服务器并且等待服务器返回指令结果,服务器收到指令分别在平台层和组件层进行处理,将处理后的结果数据整合并发给指定客户端,客户端将结果数据显示呈现。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.一种基于状态预测与校验的多人在线任务数据同步方法,通过DeepMirror平台实现,其特征在于,包括以下步骤:
S1:客户端接收到用户输入,根据用户输入编制为全局指令或者组件指令,将指令发送到服务器,同时客户端的组件用增量式预表现的方式对状态先行计算和呈现;
S2:服务器接收到指令,根据类别将指令对应转发到全局指令管理器或组件指令管理器,全局指令管理器将全局指令提交到同步管理器并转发到具体模块,组件指令管理器将组件指令分发到具体组件;
S3:全局模块接收到指令消息,改变服务器当前全局状态,并周期性将状态信息提交到同步管理器;
S4:组件接收到指令消息,传入逻辑模块进行处理,然后将处理后的状态信息提交到同步管理器;
S5:同步管理器接收到待发送消息,按照类型将消息分为指令和状态,指令类型的消息立即发送到所有客户端;状态类型的消息经过相同区域,区分设备,指定状态筛选出特定的客户端集合,然后将状态消息发送出去;
S6:客户端接收到同步消息,将消息按照类型分为指令消息和状态消息,指令消息立即转发到全局模块执行;状态消息转发到具体组件,组件比较预测的状态和收到的状态消息是否一致,若不一致则通过状态消息纠正组件呈现。
2.根据权利要求1所述的一种基于状态预测与校验的多人在线任务数据同步方法,其特征在于,所述步骤S1中,增量式预表现是一种预测方式,根据惯性运动或者线性计算的结果,提前在客户端呈现。
3.根据权利要求1所述的一种基于状态预测与校验的多人在线任务数据同步方法,其特征在于,所述步骤S1中,组件能够自主选择是否需要同步,不需同步的组件指令会在客户端直接屏蔽。
4.根据权利要求1所述的一种基于状态预测与校验的多人在线任务数据同步方法,其特征在于,所述步骤S6中,组件比较纠错过程中同时考虑消息传输延时。
5.根据权利要求1所述的一种基于状态预测与校验的多人在线任务数据同步方法,其特征在于,所述步骤S6中,所有客户端都会将指令消息和状态消息编序加时间戳压缩存储,回放时只需按照序列恢复状态和指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110695902.1A CN113572814B (zh) | 2021-06-23 | 2021-06-23 | 一种基于状态预测与校验的多人在线任务数据同步方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110695902.1A CN113572814B (zh) | 2021-06-23 | 2021-06-23 | 一种基于状态预测与校验的多人在线任务数据同步方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113572814A true CN113572814A (zh) | 2021-10-29 |
CN113572814B CN113572814B (zh) | 2022-09-23 |
Family
ID=78162518
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110695902.1A Active CN113572814B (zh) | 2021-06-23 | 2021-06-23 | 一种基于状态预测与校验的多人在线任务数据同步方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113572814B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116884286A (zh) * | 2023-05-29 | 2023-10-13 | 华中科技大学同济医学院附属同济医院 | 一种基于vr的多人在线配合创伤急救护理规范化培训系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9218128B1 (en) * | 2007-11-30 | 2015-12-22 | Matthew John Yuschik | Method and system for training users to utilize multimodal user interfaces |
CN108144297A (zh) * | 2017-12-18 | 2018-06-12 | 福建天晴在线互动科技有限公司 | 一种区域信息同步方法及终端 |
CN109873876A (zh) * | 2019-03-25 | 2019-06-11 | 中国科学技术大学 | 一种分布式虚拟环境的交互和计算负载均衡分配的方法 |
CN110033665A (zh) * | 2019-04-17 | 2019-07-19 | 福建省电力有限公司泉州电力技能研究院 | 一种电力vr仿真培训的多人协同方法及装置 |
CN110611638A (zh) * | 2018-06-14 | 2019-12-24 | 中国科学院沈阳计算技术研究所有限公司 | 一种多终端模型实时同步方法 |
-
2021
- 2021-06-23 CN CN202110695902.1A patent/CN113572814B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9218128B1 (en) * | 2007-11-30 | 2015-12-22 | Matthew John Yuschik | Method and system for training users to utilize multimodal user interfaces |
CN108144297A (zh) * | 2017-12-18 | 2018-06-12 | 福建天晴在线互动科技有限公司 | 一种区域信息同步方法及终端 |
CN110611638A (zh) * | 2018-06-14 | 2019-12-24 | 中国科学院沈阳计算技术研究所有限公司 | 一种多终端模型实时同步方法 |
CN109873876A (zh) * | 2019-03-25 | 2019-06-11 | 中国科学技术大学 | 一种分布式虚拟环境的交互和计算负载均衡分配的方法 |
CN110033665A (zh) * | 2019-04-17 | 2019-07-19 | 福建省电力有限公司泉州电力技能研究院 | 一种电力vr仿真培训的多人协同方法及装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116884286A (zh) * | 2023-05-29 | 2023-10-13 | 华中科技大学同济医学院附属同济医院 | 一种基于vr的多人在线配合创伤急救护理规范化培训系统 |
CN116884286B (zh) * | 2023-05-29 | 2024-03-19 | 华中科技大学同济医学院附属同济医院 | 一种基于vr的多人在线配合创伤急救护理规范化培训系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113572814B (zh) | 2022-09-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100523785B1 (ko) | 분산 처리 시스템, 분산 처리 방법, 및 그 방법을 이용할수 있는 클라이언트 단말 | |
CN107332719A (zh) | 一种cdn系统内日志实时分析的方法 | |
CN113572814B (zh) | 一种基于状态预测与校验的多人在线任务数据同步方法 | |
CN108632633A (zh) | 一种网络直播的数据处理方法和装置 | |
CN113706719B (zh) | 虚拟场景的生成方法及装置、存储介质、电子设备 | |
CN110611638A (zh) | 一种多终端模型实时同步方法 | |
EP3770858A1 (en) | Network resource oriented data communication | |
CN111031399B (zh) | 弹幕处理方法和系统 | |
CN109940621A (zh) | 一种酒店机器人的服务方法和系统及其装置 | |
US11595480B2 (en) | Server system for processing a virtual space | |
CN109660559B (zh) | 一种基于时间戳的客户端与服务器端场景同步方法 | |
CN112023436A (zh) | 一种应用于中药提取浓缩工艺的增强现实系统 | |
CN110321092A (zh) | 向单个显示频率同步视频输出 | |
CN115294212A (zh) | 虚拟运镜序列生成方法、装置、电子设备及存储介质 | |
EP2888660B1 (en) | Systems and methods for data synchronization in a network application | |
CN113440838A (zh) | 端到端的图像渲染融合方法及系统 | |
CN113395527A (zh) | 一种基于vr技术的远程直播虚拟背景云合成系统 | |
CN114173162A (zh) | 互动直播系统、发布-订阅关系的维护方法及相关设备 | |
Jarmasz et al. | Designing a distributed multimedia synchronization scheduler | |
CN112600640A (zh) | 伺服驱动设备的同步方法、装置、设备及存储介质 | |
CN101610274A (zh) | 一种基于企业融合通信平台的数据同步方法 | |
CN106161197B (zh) | 基于rcs公众平台的业务处理方法和装置 | |
WO2024212803A1 (zh) | 虚拟场景数据处理方法、装置、电子设备、存储介质及程序产品 | |
CN107862578A (zh) | 一种提供娱乐内容定制的客运飞机订单系统 | |
WO2024198564A1 (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 |