基于WebSocket的协同编辑系统的设计与实现

来源 :哈尔滨工业大学 | 被引量 : 0次 | 上传用户:sharkzw
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着信息革命的进行,计算机技术的飞速发展和网络通信的普及,人与人之间的交互已经逐渐跨越了时间和空间上的鸿沟,使得协同操作成为可能。协同编辑系统,是为了实现多人同时在线编辑文档的正确性和一致性需求而设计的。协同编辑系统具备以下的基本功能:只有具有相应权限的用户才可以对文档进行相应的操作,没有权限或者权限不够的用户不可以进行他无权限的操作;文件需要系统性地管理;用户编辑文档时要进行并发控制与一致性维护,防止文档的不同副本出现不一致性;文档在编辑过程中可以实现版本控制,利用Undo操作实现文档的操作撤销使文档回退到历史版本;该系统采用的是集中式的体系结构,前端用户对文档的所做所有操作都需要传递到服务器作用于数据库文档表的文档记录上,为了防止同一片文档因为不同的用户编辑导致他们各自的文档副本出现了不一致,必须及时的将每一个用户对他的文档副本所做的操作同步到其他用户的文档副本中。为了实现上述系统所具备的功能,本人主要设计了权限控制,文件管理,并发操作控制,操作回退,消息推送等五个模块。权限控制模块主要进行了以下设计:对文件进行操作时在线文件需要进行读写权限控制,有编辑权限的可以实现在线编辑,有读取文件权限的只能进行在线查看,文件创建时,要为文件赋予读者写者以及处理好文件如何继承上层文件夹权限,文件权限修改时,要重新定义文件与上层文件夹以及子文件的权限关系;文件管理模块主要实现对在线文档进行系统化的文件管理,用户可以创建/删除文件,上传/下载文件,导入/导出文件,复制/移动文件到特定位置,收藏/取消收藏文件,文件重命名,显示最近更新的文件,按名字模糊查找文件等基本文件系统管理;并发操作控制模块主要考虑多人同时在线编辑同一篇文档时,各个用户只对自己的副本进行编辑,这样不同用户的副本在各自的编辑下会接受用户的不同操作,这必然会引发一致性维护问题,即不同用户的不同副本产生了不一致,操作转换技术允许用户无约束地执行本地操作,它会将各个用户有冲突的操作进行转换后作用于文档,而不需要额外地申请锁或操作令牌。因此,即使用户在高延迟的广域网上进行协作,也可以获得很好的本地响应性。同时,操作转换技术会保留所有用户操作的效果,将所有用户操作的效果在不改变其“操作意愿”的前提下进行自动合并,避免了操作之间的覆盖和重写,使用操作转换算法实现有编辑权限的用户同时编辑同一篇文档时保证文档的正确性和一致性,保证文档不发生错误;操作回退模块使用户可以看到文档从建立到现在所有的历史记录,利用操作合并执行Undo操作,使文档回退到历史的某个版本;消息推送模块使用前后端全双工通信的WebSocket协议实现一个用户对一篇文档进行的操作要实时展示到别的用户的这个文档的副本中。系统编码实现之后,采用V模型进行系统的测试,首先对各个模块的各个子功能进行了单元测试,再将各个模块下的子功能串联在一起进行集成测试,最后通过完整的一个使用流程对系统进行系统测试,测试完成后,通过打包服务器将代码打包发布到服务器上,外部用户即可通过远程登陆,在浏览器前端通过UI使用系统。
其他文献
知识图谱是描述真实网络世界中实体事实的图结构知识库,随着互联网数据日益激增,知识图谱中实体的描述变得越来越复杂和冗长。用户在使用知识图谱时,容易迷失在海量实体信息中,区分和比较实体变得越来越困难。知识图谱中实体画像工作的研究目标,是寻找实体间最具有区分度的结构化特征为实体画像,帮助用户较快的区分比较同类型下多个实体。目前尚未有专门的工作对知识图谱中实体画像方法进行研究,本文提出一种基于结构化标签的
自Barclays Bank Ltd v Quistclose Investments Ltd案,Quistclose信托被广泛运用于英国的商事实践中。它的特殊交易结构、性质及在运用过程中体现出的种种功能引起了司法界和学界权威人士的高度关注与深度讨论。Quistclose关系究竟是否为信托关系,为何种信托关系,受益人是谁等问题,在理论与实务中均存在分歧。特别是在这种法律构造走出英国、迈向世界的背景
通过对加筋土的室内实验研究和加筋机理分析,研究了加筋土在软土地基处理中的应用.通过工程实例分析计算表明:加筋堤坝的稳定性有了很大的提高,显示了良好的加固效果.
结合工程实例说明基坑围护结构方案的优化选择对于保护周边环境安全以及技术和经济效益的重大影响,讨论如何对各种可能的围护方案进行比较和分析,寻求环境保护和经济效益的最
弯管结构是输水管道工程中实现高低管道连接的重要部分,其结构形式和受力都比较特殊.结合一具体工程,按三维实体单元对弯管结构在内水压力下的应力进行了弹性力学计算分析,为
大脑内复杂的神经网络是由庞大数量的神经元通过突触连接形成的。神经元之间信息的传递与处理,是大脑认知和记忆的功能基础。活体成像技术,结合功能标记来记录神经元动态活动,已经成为了脑功能研究的主要方法之一。而颅窗方法,解决了颅骨不透明等问题,为直接观察皮层神经活动提供了技术支撑。但是,颅窗方法还存在着固定不稳和颅窗不密闭等问题,这些问题阻碍了对清醒动物成像的研究。具体的说,第一,小鼠头部固定问题。实验中