Transcript Slides

协同组编辑环境中的数据一致性维护方法
学生:杨江明
导师:顾 宁 教授
计算机与信息技术系
2016年8月6日
内容概要

背景及问题的提出

一致性模型

回溯思想与一致性维护方法

一致性维护的相关问题

效率分析与原型系统

总结与展望
2016年8月6日
复旦大学信息科学与工程学院
2
内容概要

背景及问题的提出

一致性模型

回溯思想与一致性维护方法

一致性维护的相关问题

效率分析与原型系统

总结与展望
2016年8月6日
复旦大学信息科学与工程学院
3
背景及问题的提出

协同组编辑是一个抽象的研究模型

传统的协同组编辑。


单机软件的协同化。


GroupSketch(Greenberg and Bohnet)、Grove(Ellis,
Gibbs, and Rein)、ShrEdit(McGuffin and Olson)、
DistEdit(Knister and Prakash)、REDUCE(Sub and Ellis)
ICT(D. Li and R. Li)、CoWord & CoPowerpoint(Xia et al.)、
CoAutoCAD(Gu et al.)
基于Web2.0的非实时组编辑。

CDVE 2007(Shen and Sun)
2016年8月6日
复旦大学信息科学与工程学院
4
背景及问题的提出

协同组编辑环境下问题

结果的一致性问题。
如果操作是不可交互的,则不同
的操作执行顺序会导致不同的结果。


操作的依赖性问题。


操作的意愿维护问题。


需要保证操作的执行条件
假设初始状态为“ABC”。在SR1,O3为Insert[“d”,1],即
将”d“插入到位置1(即A和B之间);而在SR3,O1为
Insert[”e“,2],即将”e“插入到位置2(即B和C之间)。当O1 到
达SR1 时,该站点已经被操作O3修改成”AdBC“,直接执行O1
会把字符e插入到字符d和B之间,这显然是错误的。
事务的支持性问题。
2016年8月6日
复旦大学信息科学与工程学院
5
内容概要

背景及问题的提出

一致性模型

回溯思想与一致性维护方法

一致性维护的相关问题

效率分析与原型系统

总结与展望
2016年8月6日
复旦大学信息科学与工程学院
6
数据及操作表示

线性结构
线性结构是多种数据类型的抽象表示。直观上的线性结构
包括:字符串,链表等数据结构。但事实上,线性结构维
护的是多个对象间的一个全序关系,而这样一种全序关系
是广泛存在的。
 全序关系的维护是协同环境下一致性维护的基础。


树型结构
一些主流的文档类型需要树型结构的表示。
 通过XML可以支持基于关系的操作,是Web应用的需求。

2016年8月6日
复旦大学信息科学与工程学院
7
一致性模型

因果关系维护(Causality preservation):所有操作
的执行顺序都按照它们之间的因果关系。对于任意的两
个操作O1和O2,如果O1→O2,则在所有的站点,操作O1都
在操作O2之前执行。

一致性维护(Convergence):当相同的操作在所有的站
点都执行完成之后,所有的数据副本保持一致。

意愿维护(Intention preservation):任何一个操作
在任何站点的执行效果都保持和它产生站点一致。
2016年8月6日
复旦大学信息科学与工程学院
8
内容概要

背景及问题的提出

一致性模型

回溯思想与一致性维护方法

一致性维护的相关问题

效率分析与原型系统

总结与展望
2016年8月6日
复旦大学信息科学与工程学院
9
回溯思想
2016年8月6日
复旦大学信息科学与工程学院
10
线性结构的回溯过程
2016年8月6日
复旦大学信息科学与工程学院
11
线性结构的回溯过程

对难题的解决
操作转换方法中TP2条件维护的困难
 dOPT难题



False-tie难题


假设几个插入操作都是面向相同的位置,操作之间满足因果
顺序或者是并发的。仅仅依靠强制规定操作间的优先级是无
法保证结果的收敛性的。
假设两个并发的插入操作可能会因为在它们之间一个并发的
删除操作,而丢失它们之间的左右位置关系,并且可能得到
一个相反的结果。
证明过程
2个操作
 N个操作

2016年8月6日
复旦大学信息科学与工程学院
12
树型结构的回溯过程
2016年8月6日
复旦大学信息科学与工程学院
13
树型结构的回溯过程

已有方法的不足
操作转换方法(Operation Transformation)方法无法支
持关系操作。
 基于锁和序列化的方法无法满足操作的响应时间和自由度。


证明过程
2个操作
 N个操作

2016年8月6日
复旦大学信息科学与工程学院
14
内容概要

背景及问题的提出

一致性模型

回溯思想与一致性维护方法

一致性维护的相关问题

效率分析与原型系统

总结与展望
2016年8月6日
复旦大学信息科学与工程学院
15
一致性维护的相关问题

操作的历史队列


Undo 操作支持


通过在回溯过程添加计数器,是回溯过程可以考虑Undo操
作
支持单站点并发操作的时间戳模型


通过状态向量表,精简操作的历史队列
通过分离考虑操作间关系和操作的执行状态,引入两个时
间戳,支持操作的并发执行。
事务操作的支持
2016年8月6日
复旦大学信息科学与工程学院
16
事务操作的支持
2016年8月6日
复旦大学信息科学与工程学院
17
内容概要

背景及问题的提出

一致性模型

回溯思想与一致性维护方法

一致性维护的相关问题

效率分析与原型系统

总结与展望
2016年8月6日
复旦大学信息科学与工程学院
18
线性结构效率分析

线性结构优化,通过调整数据结构,可以优化计数效率

平摊效率



插入操作的开销可以表示为O(h×logn + logn + d×h + h + d + m) ,
删除操作的开销为O(h×logn + logn + d×h + h + d)
其中h为历史队列长度,n为文档字符数,d为针对一个节点的操作数
2016年8月6日
复旦大学信息科学与工程学院
19
树型结构效率分析
2016年8月6日
复旦大学信息科学与工程学院
20
原型系统
2016年8月6日
复旦大学信息科学与工程学院
21
内容概要

背景及问题的提出

一致性模型

回溯思想与一致性维护方法

一致性维护的相关问题

效率分析与原型系统

总结
2016年8月6日
复旦大学信息科学与工程学院
22
总结

本文的工作
基于状态转换的一致性维护方法
 一致性维护的四个相关问题
 算法的理论分析和实验
 CoAutoCAD 演示系统


进一步的工作
关系数据库的协同化
 支持动态性的加入、退出
 进一步改善操作执行的并发性
 处理用户意愿的矛盾

2016年8月6日
复旦大学信息科学与工程学院
23
攻读硕士学位期间的科研工作

读硕士期间已发表和已录用的论文







顾宁,杨江明,张琦炜. 协同组编辑中基于地址空间转换的一致性维护方法.
计算机学报,第30卷,第5期,2007年5月, 763-774页.
杨江明,张琦炜,顾宁. 数据网格中复制式数据的一致性维护方法. 华中科技
大学学报(自然科学版). Vol.34, Sup I, 2006年9月, 49-52页.
Shichao Zhang, Ning Gu, Jiangming Yang. An Norm-driven State Machine
Model for CSCW Systems. Expert Systems With Applications, Volume 31,
Issue 4 , November 2006, Pages 800-807.
Jiangming Yang, Qiwei Zhang, Ning Gu. A Consistency Maintenance
Approach in Replicated Services. In Proceedings of 2006 IEEE international
conference on computer and information technology, Seoul, Korea, Sept
2006.
Qiwei Zhang, Jiangming Yang, Ning Gu, Yuwei Zong, Zhigang Ding,
Shaohua Zhang. Dynamic Replica Location Service Supporting Data Grid
Systems. In Proceedings of 2006 IEEE international conference on computer
and information technology, Seoul, Korea, Sept 2006.
Shichao Zhang, Jiangming Yang, Ning Gu. GridSM: a Norm-driven State
Machine Model of Grid Workflow. In Proceedings of International
Conference on CSCWD 2006, Nanjing, China, May, 2006.
杨江明,顾宁,吴筱媛. 基于地址空间转换方法的Undo操作支持. 通信学报,
第27卷,2006年3月,48-56页。
2016年8月6日
复旦大学信息科学与工程学院
24
攻读硕士学位期间的科研工作

读硕士期间已发表和已录用的论文







Ning Gu, Jiangming Yang, Qiwei Zhang. Consistency maintenance based on the
mark \& retrace technique in groupware systems. In Proceedings of the 2005
international ACM SIGGROUP conference on Supporting group work, Sanibel Island,
USA, pages 264-273, Nov 2005.
Ning Gu, Jun Xu, Xiaoyuan Wu, Jiangming Yang, and Wei Ye. Ontology based
semantic conflicts resolution in collaborative editing of design documents.
International Journal of Advanced Engineering Informatics (IJAEI), 19(2), 103-111,
2005.
Jiangming Yang, Qiwei Zhang, Ning Gu, Genxing Yang, and Zhenyu Liu. The multiversion and single-display strategy in undo scheme. In Proceedings of the 5th
international conference on computer and information technology, pages 290-296,
September 2005, Shanghai, China.
张琦炜,杨江明,顾宁,杨根兴,刘振宇. 数据网格中的动态分布式多入口技术. 计算
机科学,第32卷,2005年7月增刊A,127-131页。
Jiangming Yang, Ning Gu and Xiaoyuan Wu. A document mark based on method
supporting group undo. In International Workshop on Collaborative Editing Systems,
ACM CSCW’2004, November 2004, Chicago, USA.
Ning Gu, Jun Xu, Xiaoyuan Wu and Jiangming Yang. A solution to the semantic
conflicts in the collaborative editing of design documents. In Proceedings of
International Conference on CSCWD 2004, Volume II pages 179-185, May 2004,
Xiamen, China.
Shuo Wang, Feng Jing, Jianmging Yang, Jibo He. Long Query Suggestion List:
Prioritized or Organized? In HCI International Conference 2007. Accepted.
2016年8月6日
复旦大学信息科学与工程学院
25
攻读硕士学位期间的科研工作

专利及软件著作权





(专利) 顾宁、张世超、徐寅俊、杨江明. 一种规范驱动的网格工作流
描述和验证方法. 专利申请号:200510027785.2, 专利申请日:2005
年7月15日, 公开号:CN1719832
(专利) 顾宁、杨江明、张琦炜、绍斌. 标记回溯的一致性维护方法. 专
利申请号:200610025690.1, 专利申请日:2006年4月13日, 公开号:
CN1831776
(专利) 顾宁、杨江明、张琦炜. 面向XML的标记回溯的一致性维护方
法. 专利申请号:200610026459.4, 专利申请日:2006年5月11日, 公
开号:CN1845076
(计算机软件著作权) 软件名称:网格工作流管理系统软件V1.0, 编号:
软著登字第039155号, 登记号:2005SR07654, 首次发表日期:2005
年01月10日
(计算机软件著作权) 软件名称:Norm的描述和验证工具软件 [简称:
NormTools] V1.0, 编号:软著登字第039165号, 登记号:
2005SR07664, 首次发表日期:2004年11月10日
2016年8月6日
复旦大学信息科学与工程学院
26
攻读硕士学位期间的科研工作

硕士期间参与项目






线性结构组操作的理论与算法研究---上海市科委基础研究项目。主持
设计和实现了协同的Co-AutoCAD原型系统,该系统可以支持多人参
与的AutoCAD编辑与设计,可以在隐藏网络延迟的条件下处理用户间
的操作冲突。该原型已完成。在国际顶级会议ACM Group 2005发表
论文一篇。
上海高校网格---网格数据存储中间件---上海市教委重大项目。设计了
基于网格的分布式存储,支持数据冗余,容错,分布式上传下载,项
目已完成。
Norm驱动的虚拟组织关键技术研究---国家自然科学基金资助项目。
参与项目讨论和模型设计。
面向信息系统的符号学技术研究---上海市科委重点项目。参与设计了
基于Norm的网格系统描述工具,该工具已完成。
测试知识管理方法与技术的研究---上海市科委重点实验室人才基金。
参与了项目评估与设计。
基于Globus的网格工作流项目---HP公司资助项目。主要负责实现其中
的工作流引擎服务部分,项目已完成。
2016年8月6日
复旦大学信息科学与工程学院
27
谢谢!
2016年8月6日
复旦大学信息科学与工程学院
28