[发明专利]一种基于CRDT的轻量级异步移动协同编辑方法有效
申请号: | 202011594246.8 | 申请日: | 2020-12-29 |
公开(公告)号: | CN112738234B | 公开(公告)日: | 2022-08-23 |
发明(设计)人: | 吕晓;崔良中;刘玉秀 | 申请(专利权)人: | 中国人民解放军海军工程大学 |
主分类号: | H04L67/1095 | 分类号: | H04L67/1095;H04L67/133 |
代理公司: | 武汉开元知识产权代理有限公司 42104 | 代理人: | 李满 |
地址: | 430000 *** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 crdt 轻量级 异步 移动 协同 编辑 方法 | ||
1.一种基于CRDT的轻量级异步移动协同编辑方法,其特征在于:包括以下步骤:
A.移动设备的初始化,包括对初始共享文档副本状态的初始化,将操作日志清空,以及将同步变量初始化为0;
B.产生和集成本地操作,包括移动设备将本地操作加入到相应的操作日志中,然后调用本地操作的集成函数执行本地操作;
C.与其它移动设备的同步,包括将待同步的本地操作发送给其它移动设备,接收其它设备的远程操作;
D.集成远程操作,包括调用远程操作的集成函数,执行接收到的远程操作;
所有移动设备均设置有相同的数据结构和操作日志:locallog,locallog’,remotelog,remotelog’,log’,syn;所述数据结构包括用户视图层View和模型层Model;所述模型层Model是由哈希表HT和单链表List构成;其中,所述哈希表HT存储用户插入或者删除的文本,单链表List全序链接哈希表HT中用户插入或者删除文本;所述用户视图层View包含一个单链表Lview,由单链表List中所有可见文本链接而成,提供用户交互界面;所述locallog存储移动设备产生的本地操作;locallog’存放待与其它移动设备同步的本地操作;remotelog存储接收到的来自其它移动设备的远程操作;
remotelog’存储已经执行的本地操作;log存储所有已经执行的本地和远程操作;所述syn用来表示移动设备状态;如果移动设备离线,syn的值为0,即表示移动设备可以产生和执行本地操作;如果移动设备在线,所述syn值为1,移动设备将产生的本地操作同步给其它设备,同时接收并执行来自其它移动设备的远程操作;
一个操作o由六个元素组成,type,l,tar_key,cur_key,con,tar_o,其中type表示操作类型,包括插入操作insertion,删除操作deletion,撤销操作undo;l是一个变量,值1表示本地操作,值0表示远程操作;tar_key为目标操作的标识符;cur_key为操作o的标识符;con表示操作o的操作内容,如插入或者删除的本文;tar_o为待撤销的目标操作,用于undo操作;
操作o的标识符cur_key由三个元素组成,即s,site,ssv,其中s为唯一的协同会话号;site为唯一的移动站点号;ssv为操作的状态向量和;
给定任意两个操作oi和oj,它们的ID记作ID(oi)和ID(oj),当且仅当ID(oi)[s]ID(oj)[s],或者ID(oi)[s]=ID(oj)[s],ID(oi)[ssv]ID(oj)[ssv];或者ID(oi)[s]=ID(oj)[s],ID(oi)[ssv]=ID(oj)[ssv],ID(oi)[site]ID(oj)[site],即判定
的意思是oi的ID小于oj的ID,即判定两个操作ID的大小,首先判定session的ID大小(ID(oi)[s]ID(oj)[s]),当两个操作的session的ID大小相同时,再判定两个操作状态向量和的大小(ID(oi)[s]=ID(oj)[s],ID(oi)[ssv]ID(oj)[ssv]),当两个操作的session的ID大小相同并且两个操作状态向量和的大小相同时,再判定两个操作的站点号大小(ID(oi)[s]=ID(oj)[s],ID(oi)[ssv]=ID(oj)[ssv],ID(oi)[site]ID(oj)[site])。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军海军工程大学,未经中国人民解放军海军工程大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011594246.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种功能型贝雷片
- 下一篇:一种伸缩式电梯按键抗菌覆膜装置