一种基于内容差异比较的文档共享方法技术

技术编号:3952734 阅读:321 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种基于内容差异比较的文档共享方法,该方法包括:初始化共享文档,将要共享的文档在各网络用户终端进行初始化;等待文档内容的更改;将更改后的文档与更改前的内容进行差异比较;将差异比较的结果进行无损压缩并共享;浏览终端用户接收来自操作终端的更新包;解压更新包并与当前文档合并。本发明专利技术即可以保证在线文档共享的完整性、实时性,又可以大大降低由于文档共享带来的网络带宽资源消耗。

【技术实现步骤摘要】

本专利技术属于数据库
,具体涉及。
技术介绍
随着Internet的不断普及,新技术的不断发展,自动化的办公系统已经在很大程度上取缔了传统办公室的许多功能。许多企业开始使用网络技术、数据库技术对日常工作 中的各种报表、演讲稿和其它文档进行共享和协同操作,实现了无纸化办公。在日益发展的 网络应用中,有限的网络带宽条件依旧是网络应用的一个限制条件,文档共享属于一种海 量数据在网络上的应用,其应用的效果受限于采用的技术和网络带宽条件。目前,文档共享技术主要有以下几种方式基于Web服务的在线查看,基于数据库 存储的文档检索,基于电子邮件的传输,基于计算机目录共享的文档拷贝,基于桌面共享的 文档共享方法。基于Web服务的在线查看方法主要是通过网页的形式向用户提供服务,共享的文 档首先需要传输的Web服务器上,供用户下载查看。这种方式下文档是单向传播,如果文档 做了更新,共享文档的一方需要重新上传到服务器,浏览的用户还需重新下载,交互性和实 时性都比较差。如果用户只需要查看内容,不需要进行多方交互的时候可以采用该种方法 进行文档共享。基于数据库存储的文档检索主要是使用数据库服务向用户提供内容查阅。共享的 文档首先需要存储到数据库中,再向用户提供内容检索,用户可以通过服务终端查找自己 想要的文档。随着内容的增加,数据库会越来越大,负载也随着数据库的增大而加重,对数 据库的维护成本也很高,数据库的性能直接影响用户使用的效果。这种方式也属于单向交 互,缺乏共享内容的实时更新,只有当数据库里的相应内容更新后,浏览终端才能获取到最 新的文档内容。基于电子邮件的文档共享主要是通过发送邮件附件的形式,将需要共享的文档发 送到需要的用户端,这种方式在日常中最常见。对于文档尺寸不太大的文档,采用邮件附件 的形式比较方便,如果文档比较大,邮件发送的速度就会严重受到影响,有些邮件服务器还 会限制附件的大小,过滤掉邮件的附件。对于需要多方进行商讨的文档,可以通过发送邮件 附件的方式进行共享协作,但是这种方式比较繁琐,效率低下,而且不可靠。基于计算机目录共享的文档拷贝方法主要是在文档共享方将自己计算机中的目 录共享出来,将需要共享的文档放到该共享的目录实现文档共享。文档共享的一方可以设 置共享目录的权限,有访问权限的浏览终端可以直接访问这个共享目录,从共享目录中将 共享文档拷贝到本地机器中查看,或者将修改后的文档放入该共享目录。这种方法的优点 是可以对任何文档进行远程共享,但是存在安全性问题,也缺少内容更新的实时性。基于桌面共享的文档共享方法主要是将需要进行文档共享的一方的计算机桌面 共享出来,提供给浏览方观看。共享一方可以将自己的桌面共享,可以将需要共享的文档在 桌面上打开进行操作,浏览方可以在远程观看到桌面,如果获得了操作权限还可以对远程文档进行操作。这种方式可以实现两个终端之间的文档共享,但是无法实现多方之间的共享,也存在安全方面的风险。
技术实现思路
本专利技术的目的是减少文档共享在网络传输中所占的网络带宽资源,提出一种内容 即时更新的文档共享,可以同时在多人之间共享文档。本专利技术提供了一种基于内容差异比 较的文档共享方法。在实际的应用中,共享的文档可能需要经过多次反复的修改,也可能需 要多人在同一时间对一份文档集中进行修订,要求各浏览节点能够快速、准确地呈现最新 的文档内容,也能够参与文档的修订任务,本专利技术可以很好的解决这样的应用需求。文档的内容差异比较不能像人脑一样,只通过眼睛就能从文字上辨别出不同之 处。通常在文档中所看到的汉字、图片等对象在计算机处理中是不能直接使用的,都需要 转换成计算机能够识别的格式,一个汉字在计算机中采用了双字节字符表示,而一个英文 字母只占用一个字节,根据这种转换关系就可以将对汉字的比较转换为对双字节字符的比 较。文档内容差异比较方法需要首先将文档保存为二进制的格式,采用选取的关键词对文 档进行分块,将整篇文档的比较转换为对各文件块的比较,拆分关键词的选择很重要,它将 影响到文档被拆分的细度和比较的时空效率。基于内容差异比较的文档共享方法包括文档操作终端和浏览终端,该方法的实现 过程如下在文档操作终端,步骤如下步骤一共享文档初始化;对需要共享的文档首先进行初始化操作,包括打开文档,保存文档,将初始化文档 传输到浏览终端进行共享。步骤二 等待文档内容的更改;对共享的文档做各种编辑操作,并将修改后的文档以二进制的格式保存到一个新 的内存文件中,为步骤三做准备。步骤三将更改后的文档与更改前的内容进行差异比较;将更改前的内存文件和更改后的内存文件进行拆分,按照指定的关键词将内存文 件拆分成块,通常采用换行符作为拆分关键词。记录每个文件块的尺寸、所在文档中的位 置,将文件块按顺序保存到列表中,然后对每一个文件块进行差异比较,从而得到文档变化 的内容。采用结构化的存储方式对变化的内容进行精确的记录,为步骤四做准备。步骤四将差异比较的结果进行压缩并共享;文档的差异比较结果存放在一个列表中,首先,遍历列表中的每个元素,将列表序 列化并将结果存放在内存空间中,列表序列化的目的是将结构化的数据转换成二进制的数 据。采用无损压缩方法对内存中的数据进行压缩,最后将压缩后的数据通过网络传输到各 浏览终端,如果经过压缩后的数据尺寸超过了每次发送报文的尺寸,则对大的数据包进行 拆分后发送,浏览终端接到数据后进行相反地操作,实现文档内容的共享。在文档浏览终端,还需要继续实施以下步骤步骤五接收来自操作终端的更新包;浏览终端监听网络接收端口,当有新的数据到达时,触发接收线程对网络数据进行接收,并对接收到的数据类型进行判断如果是更新包数据,就对数据包的完整性做检验,为正确解压更新包做准备;如果不是更新包数据,就交给消息处理线程做处理。步骤六解压更新包并与当前文档进行合并。首先对接收到的压缩更新包进行解压操作,接着对解压后的数据进行分析,重构 差异比较结果列表,遍历列表中的每个行对象,根据行的操作类型和位置信息与当前文档 内容进行合并,最终得到更新后的文档。本专利技术的优点在于(1)使用了内容差异比较方法,只对文档中变化的内容做分发共享;(2)采用了结构化的数据存储方式,保证更新内容合并的快速准确;(3)对传输的数据进行压缩,最大程度的降低网络带宽资源的占用和提高传输的 快速;(4)共享文档内容的快速、实时更新。 附图说明图1为本专利技术基于内容差异比较的文档共享方法流程图;图2为本专利技术文件块的哈希值计算方法流程图;图3为本专利技术两个文件块内容差异比较的方法流程图;图4为本专利技术从操作终端到浏览终端的Word文档共享效果图;图5为本专利技术从操作终端到浏览终端的Excel文档共享效果图。具体实施例方式下面将结合附图和实施例对本专利技术作进一步的详细说明。本专利技术是,图1示出了本专利技术的具体实施 流程对于提供文档共享的操作终端,步骤如下步骤一共享文档初始化;主要是对需要共享的文档首先进行初始化操作,包括打开文档、保存文档、通过文 档传输协议将该初始文档传输到浏览终端进行共享。为了保证各浏览终端的初始状态和操 作终端的状态一致,首先需要将一份完整的初始文档通过网络分发到各浏览终端进行初始 化,以该初始化文档的内容作为更新的基点。初始化操作还包括保存文档内容本文档来自技高网
...

【技术保护点】
一种基于内容差异比较的文档共享方法,其特征在于,该方法同时包括操作终端和文档浏览终端两部分内容,具体如下,对于操作终端,步骤有:步骤一:共享文档初始化;对需要共享的文档首先进行初始化操作,包括打开文档、保存文档、通过文件传输协议将该初始文档传输到浏览终端进行共享;首先将一份完整的初始文档通过网络分发到各浏览终端进行初始化,以该初始化文档的内容作为更新的基点;初始化操作还包括保存文档内容,以二进制的格式将文档内容保存到内存文件中;其中所述的内存文件是计算机在内存中开辟的一段存储,在差异比较过程中所输出的结果就是两份文档的内容差异比较结果;在比较过程完成后,比较的结果按顺序都保存到结果列表中,结果列表中的每个元素都是一个行结构对象,该行结构定义中包括行的字符串值、行在文档中的位置信息、行的操作类型;其中操作类型有四种情况,分别是:行增加、行删除、行更改、行相同;遍历这个结果列表能够得到从旧文档到新文档所做的内容变化;步骤四:将差异比较的结果进行压缩并共享;在步骤三中,文档的差异比较结果存放在一个列表中;首先,按顺序遍历列表中的每个元素,将列表序列化并将结果存放在内存空间中;接着采用无损压缩方法对内存中的数据进行压缩;最后将压缩后的数据通过网络传输到浏览终端,如果经过压缩后的数据尺寸超过了每次发送报文的尺寸,则对大的数据包进行拆分后发送;浏览终端接到数据后进行相反地操作,实现文档内容的共享;对于文档浏览终端,继续实施以下步骤:步骤五:接收来自操作终端的更新包;浏览终端监听网络接收端口,当有新的数据到达时,触发接收线程对网络数据进行接收,并对接收到的数据类型进行判断:如果是内容更新包数据,就对数据包的完整性做检验,为正确解压更新包做准备;如果不是内容更新包数据,就将接收到的数据交给消息处理线程作相应的处理;步骤六:解压更新包并与当前文档进行合并;首先对接收到的压缩更新包进行解压操作,解压接收到的压缩更新包就是对接收到的压缩更新包进行解压操作;接着对解压后的数据进行分析,解压后的数据只是一段二进制的流数据,对解压后的数据进行反序列化操作将其还原成结构化数据;然后重构差异比较结果列表,列表中的每个对象存储的信息包括操作类型、改动内容在文档中的位置信息;最后遍历列表中的行对象,根据行对象的操作类型和位置信息与当前文档内容进行合并,合并更新操作都是在内存文件中操作,根据合并完成后的内容做界面刷新就能够观看到最新的文档内容了。空...

【技术特征摘要】

【专利技术属性】
技术研发人员:李晓耕
申请(专利权)人:北京大用科技有限责任公司
类型:发明
国别省市:11[中国|北京]

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

1