一种多终端模型实时同步方法技术

技术编号:22915741 阅读:26 留言:0更新日期:2019-12-24 22:12
本发明专利技术涉及一种多终端模型实时同步方法,该多终端模型包括若干终端和服务器,终端发出交互指令和同步指令到服务器;服务器接收到交互指令后,解析交互指令的消息头,并根据解析出的交互信息转发到目标交互终端,目标交互终端接收到服务器发送的交互指令,处理交互指令后将交互指令转化为同步指令,发送给服务器进行全局广播;服务器接收到同步指令后,在全局广播同步指令,接收到同步指令的终端,验证自身状态与同步指令状态是否一致,如果一致,则保持当前的状态,否则将同步指令中的状态值更新当前终端的状态值。本发明专利技术通过各个终端或者模拟终端维护自身实体的状态,大大简化了同步操作的过程,并且满足一定的实时性要求,并且易于扩展。

【技术实现步骤摘要】
一种多终端模型实时同步方法
本专利技术涉及三维同步和即时数据同步领域,具体地说是一种多终端模型实时同步方法。
技术介绍
随着三维可视化技术的提高和人们对于交互体验的要求的增加,多终端同步应用越来越广泛,尤其在游戏开发及大型协同系统中的应用。多终端同步是指是实现在统一的数据集合的基础上,多个终端可以独立、即时的改变全局的数据集合,并且保证所有终端数据即时一致的技术。由于各个终端自主的与场景进行交互,并且可以通过与场景的交互与其他终端产生协作关系,所以多终端一致即要保证一定的实时性又要保证一致性,传统算法的复杂性给多个终端的数据一致和同步带来了困难。
技术实现思路
针对现有技术的不足,本专利技术提供一种多终端模型实时同步方法,通过各个终端或者模拟终端维护自身实体的状态,大大简化了同步操作的过程,并且满足一定的实时性要求,并且易于扩展。本专利技术为实现上述目的所采用的技术方案是:一种多终端模型实时同步方法,该多终端模型包括若干终端和服务器,终端发出交互指令和同步指令到服务器;服务器接收到交互指令后,解析交互指令的消息头,并根据解析出的交互信息转发到目标交互终端,目标交互终端接收到服务器发送的交互指令,处理交互指令后将交互指令转化为同步指令,发送给服务器进行全局广播;服务器接收到同步指令后,在全局广播同步指令,接收到同步指令的终端,验证自身状态与同步指令状态是否一致,如果一致,则保持当前的状态,否则将同步指令中的状态值更新当前终端的状态值。所述同步指令包含状态同步消息,状态同步消息包含的字段从消息头开始依次为:同步消息标识、发起者ID、同步实体ID,扩展字段和完整的指令数据。所述交互指令包含交互信息,交互信息包含的字段从消息头开始依次为:消息标识、交互发起者ID、交互者ID、交互实体ID、扩展字段和完整指令数据。如果所述服务器根据交互指令解析出交互信息中的目标交互终端为非在线终端或非用户控制终端,则将该交互指令转发给虚拟终端,虚拟终端接收该交互指令后转化为同步指令,发送给消息转发服务器进行全局广播。所述虚拟终端为:消息转发服务器在接收交互指令前,会在终端虚拟服务器虚拟化一定数量的虚拟终端,用于接收目标交互终端为非在线终端或非用户控制终端的交互指令;或消息转发服务器在接收并对交互指令解析后,如果判定目标交互终端为非在线终端或非用户控制终端时,会在终端虚拟服务器虚拟化一个与目标交互终端相对应的虚拟终端,用于处理交互指令。所述虚拟化过程为:终端虚拟服务器维护一个线程池,线程池中的线程为未初始化的虚拟终端,虚拟终端会在消息转发服务器上获得这个终端所对应的属性值与交互指令进行初始化,完成终端的虚拟化过程。所述消息转发服务器用于负责虚拟终端的指令转发和所有终端状态的存储,与终端模拟服务器之间物理分离。所述终端虚拟服务器用于终端虚拟化过程实现。本专利技术具有以下有益效果及优点:1.本专利技术的大部分计算操作都是在客户端完成,减少了服务器端的压力;2.本专利技术的结构简单,容易实现,避免了同步算法的复杂性为开发地带来的困难;3.本专利技术针对不同的场景,具有很好的扩展性。附图说明图1是本专利技术的消息转发服务器执行流程图;图2是本专利技术的终端虚拟服务器执行流程图;图3是本专利技术的终端与正常在线终端的交互流程图;图4是本专利技术的终端与非在线终端及非用户控制终端的交互流程图;图5是本专利技术的终端与虚拟终端接收到同步指令的处理流程图;图6是本专利技术的系统的整体架构图。具体实施方式下面结合附图及实施例对本专利技术做进一步的详细说明。如图1所示为本专利技术的消息转发服务器执行流程图,消息转发服务器主要用于判断指令信息的类型、交互目标的终端等信息,对于同步指令进行广播、对于交互指令转发给对应的目标交互终端或者终端虚拟服务器。图2所示为本专利技术的终端虚拟服务器执行流程图,主要是对特定的终端进行虚拟化产生虚拟终端并处理响应的交互和同步指令。本方法包括以下步骤:步骤1:由终端产生交互指令和同步指令并且接收服务器的交互指令和同步指令;步骤2:将与本终端管理的实体的处理过程在本终端进行,并生成同步指令发送给服务器;将于对其他终端的交互首先处理完成自身的处理,然后生成针对某个终端的交互指令,发送给服务器,由服务器转发给对应的终端进行处理;如图3所示为终端与其他在线终端的交互过程,终端产生交互指令通过消息转发服务器转发到目标交互终端,由目标交互终端处理生成同步指令后发送到指令转发服务器进行全局广播;步骤3:服务器接收到终端的交互指令和同步指令,解析交互指令的消息头将交互指令转发给对应的终端;解析同步指令,在全局广播同步指令;步骤4:当终端接受到服务器转发的交互指令,该终端决定如何处理该指令,并将交互指令转化为同步指令,发送给服务器,使全局了解该交互指令的结果;步骤5:当终端接受到同步指令的时候,验证自身的状态和同步指令状态是否一致,如果不一致进行校正,将同步指令中的状态值更新本地对应的状态值。如图5所示为终端接收到同步指令之后对比同步指令中属性的状态和本地持有的状态是否一致,如果不一致则使用同步指令中的属性值更新本地的属性。步骤6:服务器会虚拟一部分终端,这些终端只是被动接受交互指令并转化为同步指令。对于非在线的终端,当其他终端向其进行交互操作的时候,服务器端判断终端状态是否可行,如果不行则转发给虚拟终端处理,从而完成交互过程。步骤7:对于非用户控制的实体进行交互的时候,服务器决定哪个虚拟终端的执行会成功。这里用到了所有的终端的属性信息保存在服务器,之所以要设计虚拟终端,是因为很多交互指令的处理会比较耗时,而消息转发服务器需要高效即时的进行消息转发,如果交互指令也在转发服务器上处理,势必会影响消息转发的效率,所以使用虚拟终端,在其他服务器上进行处理。虚拟化过程为:终端虚拟服务器维护一个线程池,线程池中的线程为未初始化的虚拟终端,虚拟终端会在消息转发服务器上获得这个终端所对应的属性值与交互指令进行初始化,完成终端的虚拟化过程。虚拟终端的过程应该是在终端虚拟服务器上虚拟,消息转发服务器只负责转发或者广播和比较简单的消息判断等操作。消息转发服务器同时负责所有终端状态的保存,即广播同步指令之前会在本地存储这个属性。消息转发服务器判断消息的交互终端是非用户控制的终端时,会转发给终端虚拟服务器,让它转发给对应的虚拟终端来进行处理。关于同步操作的指令中包含两个部分:一种是交互指令;一种是同步指令。同步指令包含状态同步的消息,每个终端控制全局的某些实体,并且负责这几个实体的状态同步,只有控制这些实体的终端可以更改和同步这些实体的状态并生成同步指令。如表1所示,同步消息包含的字段有:同步消息标识、发起者ID、同步实体ID,扩展字段和完整的指令数据等。服务端接受到同步消息会进行解析并广播使所有终端的该状态和同步本文档来自技高网...

【技术保护点】
1.一种多终端模型实时同步方法,该多终端模型包括若干终端和服务器,其特征在于:/n终端发出交互指令和同步指令到服务器;/n服务器接收到交互指令后,解析交互指令的消息头,并根据解析出的交互信息转发到目标交互终端,目标交互终端接收到服务器发送的交互指令,处理交互指令后将交互指令转化为同步指令,发送给服务器进行全局广播;/n服务器接收到同步指令后,在全局广播同步指令,接收到同步指令的终端,验证自身状态与同步指令状态是否一致,如果一致,则保持当前的状态,否则将同步指令中的状态值更新当前终端的状态值。/n

【技术特征摘要】
1.一种多终端模型实时同步方法,该多终端模型包括若干终端和服务器,其特征在于:
终端发出交互指令和同步指令到服务器;
服务器接收到交互指令后,解析交互指令的消息头,并根据解析出的交互信息转发到目标交互终端,目标交互终端接收到服务器发送的交互指令,处理交互指令后将交互指令转化为同步指令,发送给服务器进行全局广播;
服务器接收到同步指令后,在全局广播同步指令,接收到同步指令的终端,验证自身状态与同步指令状态是否一致,如果一致,则保持当前的状态,否则将同步指令中的状态值更新当前终端的状态值。


2.根据权利要求1所述的多终端模型实时同步方法,其特征在于:所述同步指令包含状态同步消息,状态同步消息包含的字段从消息头开始依次为:同步消息标识、发起者ID、同步实体ID,扩展字段和完整的指令数据。


3.根据权利要求1所述的多终端模型实时同步方法,其特征在于:所述交互指令包含交互信息,交互信息包含的字段从消息头开始依次为:消息标识、交互发起者ID、交互者ID、交互实体ID、扩展字段和完整指令数据。


4.根据权利要求1所述的多终端模型实时同步方法,其特征在于:如果所述服务器根据交互指令解析出交互信息中的目标交互终端为非在线终端或非用户控制终端...

【专利技术属性】
技术研发人员:苏谟王宁赵玉彬曹铁军王丽丽陈月高煜航刘闽
申请(专利权)人:中国科学院沈阳计算技术研究所有限公司
类型:发明
国别省市:辽宁;21

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

1