1.一种基于ast的应用于vr会议协同白板编辑任务的方法,其特征在于,其包括服务器部分和客户端部分;
服务器部分:服务器自定义数据结构存储远程客户端传递的消息序列,对于收到的消息类型做判断:如果是新用户加入消息,将对应数据发送给新加入的客户端;如果是数据转发消息,则同时转发消息给现存所有客户端;
客户端部分:客户端收到本地消息,则立刻执行本地消息;收到远程消息,若是因果后序消息立刻执行,否则回溯到最近的因果后序消息按客户端顺序重新执行所有操作。
2.根据权利要求1所述的方法,其特征在于,服务器存储数据结构为定时texture+远程操作序列;客户端传递的消息序列结构为状态向量+操作行为的序列。
3.根据权利要求1所述的方法,其特征在于,服务器收到的消息通过操作码0/1判断消息类型。
4.根据权利要求1所述的方法,其特征在于,还包括步骤:
(1)服务器收到消息时,如果是消息转发数据,将数据存储在服务器缓存;
(2)服务器收到消息时,如果是新用户加入消息,将缓存中的数据发送给新客户端;
(3)客户端本地白板协同编辑操作,立即执行,同时将操作数据发送到服务器;
(4)客户端收到远程消息,对消息做判断,如果是远程同步消息,做因果顺序的判断,再做执行;如果是新用户加入消息,更新本地状态向量。
5.根据权利要求1述的白板协同编辑方法,其特征在于,还包括步骤:
(1)服务器收到新用户加入消息,将存储的定时texture+远程操作序列传递给新用户客户端,新用户客户端收到消息,将本地texture替换为定时texture,同时执行远程操作序列;
(2)客户端收到远程同步消息,多消息做解析,判断消息的状态向量与本地状态向量之间的关系,如果是因果先序关系,立即执行消息操作,否则回溯到操作发生时的状态,依次操作;
(3)客户端收到新用户加入消息,将本地状态向量size+1,同时末尾置0。