一种文档并行处理方法及系统的制作方法

文档序号:6585048阅读:216来源:国知局
专利名称:一种文档并行处理方法及系统的制作方法
技术领域
本发明属于文档处理技术领域,具体涉及一种文档并行处理方法及系统。
背景技术
在日常生活和工作中,文档占有着重要的地位,尤其是在报业与出版业。目前,文 档的处理技术主要有文本处理、样式处理、格式处理和痕迹比对。文本处理,顾名思义主要是处理文档中的文字信息,即文档的内容。虽然文字是文 档的主体,但是单单的文本处理已经无法满足现在社会对文档处理的要求。样式处理主要 指文本是以何种形式呈现,如加粗、倾斜、下划线等等。格式处理主要指文本是怎么组织的, 如对文本内容进行标号等。痕迹比对是对文档被处理的轨迹进行跟踪,显示出每个人对文 档的修改,是综合运行文本处理、样式处理和格式处理的处理方式。虽然上述文档处理技术已经比较成熟,但是随着社会分工的细化,在文档处理的 专业领域,上述文档处理技术已经不能满足人们的需要。人们追求对现有生产力的最大化 利用,即并行处理,现有的文档处理技术还无法达到这个要求。例如,责任编辑接到一篇投 稿,需要经过A、B和C三位编辑处理后再由责任编辑对A、B和C三位编辑的修改进行确认。 按照目前的文档处理技术,责任编辑需要将稿件先传送给编辑A,编辑A处理完后将稿件传 送给编辑B ;编辑B处理完成后将稿件再传送给编辑C ;编辑C处理完成后最终将稿件传到 责任编辑手中。责任编辑打开文档处理器,文档处理器显示出每位编辑所作的修改,责任编 辑对三位编辑的修改进行确认。由此可见目前的文档处理是一个串行的过程,效率较低, 效率较低的瓶颈不在人,而在于目前的文档处理技术没有支持对文档的并行处理。微软公司的字处理软件Word提供了一种通过对文档的比较来确定文档修改痕迹 的方法,但存在如下缺陷l.Word只能同时比较两个文档,不能实现对多个文档同时进行比较;2. Word不仅对文档的纯文本进行比较,而且还比较样式,因此比较结果不精确;3. Word记录对文档的所有修改操作,比较繁琐。例如,对文档中一段文字先进行了 修改,然后又改回了原来的文字,从整体上来说,等于没有修改,但Word却记录了两次修改 操作。

发明内容
针对现有技术中存在的缺陷,本发明的目的是提供一种文档并行处理方法及系 统。该方法及系统能够同时比较多个文档,并在一个文档中展现出所有对同一文档进行修 改的修改痕迹。为了实现上述目的,本发明采用的技术方案如下一种文档并行处理方法,包括以下步骤(1)对原始文档进行并行修改,生成若干个修改文档;(2)将所有修改文档和原始文档进行合并,生成合并文档,所述合并文档中包含所有修改文档的所有修改痕迹以及修改痕迹所属修改文档标记;(3)呈现包含所有修改痕迹的合并文档内容。一种文档并行处理系统,包括若干用于对原始文档进行修改,并生成修改文档的 文档修改模块;与若干个文档修改模块连接,将所有修改文档和原始文档进行合并,生成合并文 档的文档修改痕迹处理模块,所述合并文档中包含所有修改文档的所有修改痕迹以及修改 痕迹所属修改文档标记;以及与文档修改痕迹处理模块连接,用于呈现合并文档内容的文档修改痕迹呈现 模块。本发明所述方法及系统,通过对所有修改文档与原始文档的比较,实现了所有修 改文档的修改痕迹在一个文档中显示,并能够区分出不同的修改文档对原始文档所作的修 改。而且,能够并行处理多个文档,并通过对文档进行预处理,在文档比较之前去除了文档 格式与样式的方式,提高了文档比较的效率和准确性。


图1是本发明所述文档并行处理系统的优选实施方式的结构方框图;图2是具体实施方式
中图1所示文档修改痕迹处理模块的结构方框图;图3是具体实施方式
中采用图1所示系统并行处理文档的方法流程图;图4是具体实施方式
中图3所示方法将所有文档进行合并,生成合并文档的流程 图;图5是实施例中展现所有修改痕迹的效果图。
具体实施例方式本发明的核心思想是并行对同一原始文档进行修改,生成多个修改文档;然后 通过比较所有修改文档和原始文档,将所有文档进行合并,生成合并文档,该合并文档中包 含所有修改文档的所有修改痕迹以及修改痕迹所属修改文档标记;最后呈现包含所有修改 痕迹和修改痕迹所属修改文档标记的合并文档内容,并对所有修改痕迹进行确认,接受或 拒绝对原始文档所作的修改。所述修改痕迹是指对文档内容修改的标记,如标记出文档增 加的内容或文档删除的内容等。下面结合具体实施方式
和附图,对本发明进行详细描述。图1是本发明所述文档并行处理系统的优选实施方式的结构方框图。该系统包括 若干个文档修改模块1、与若干个文档修改模块1连接的文档修改痕迹处理模块2、与文档 修改痕迹处理模块2连接的文档修改痕迹呈现模块3、以及与文档修改痕迹呈现模块3连接 的文档修改痕迹确认模块4。文档修改模块1用于对原始文档进行修改,生成修改文档。若干个文档修改模块 1可以并行对同一个原始文档进行修改,生成若干个修改文档,提交给文档修改痕迹处理模 块2。文档修改模块1的数量由对原始文档进行修改的用户数量以及文档修改痕迹处理模 块2能够并行处理的文档数量确定。文档修改痕迹处理模块2用于将所有修改文档和原始文档进行合并,生成合并文档,提交给文档修改痕迹呈现模块3。所述合并文档中包含所有修改文档的所有修改痕迹以 及修改痕迹所属修改文档标记。文档修改痕迹呈现模块3用于呈现包含所有修改痕迹和修改痕迹所属修改文档 标记的合并文档内容。文档修改痕迹确认模块4用于对文档修改痕迹呈现模块3呈现的修改痕迹进行确 认。图2是图1中文档修改痕迹处理模块2的具体结构方框图。该模块2包括文档预 处理子模块21、与文档预处理子模块21连接的文档合并子模块22、以及与文档合并子模块 22连接的文档合并结果生成子模块23。文档预处理子模块21用于将原始文档与对原始文档经过不同修改后的若干个修 改文档进行预处理,生成去掉样式与格式的纯文本。文档合并子模块22用于对所有文档进 行建模,并通过比较建模后的修改文档纯文本与原始文档纯文本将所有文档进行合并,合 并后的文档包含所有修改文档的所有修改痕迹以及修改痕迹所属修改文档标记。文档合并 结果生成子模块23用于对合并文档内容进行再处理,生成可显示的文档内容数据。图3是采用图1所示系统并行处理文档的方法流程图。该方法包括以下步骤(1)若干个文档修改模块1对原始文档进行并行修改,生成若干个修改文档,分别 为文档1、文档2……文档n,提交给文档修改痕迹处理模块2 ;(2)文档修改痕迹处理模块2将所有文档进行合并,生成合并文档,提交给文档修 改痕迹呈现模块3,合并文档中包含所有修改文档的所有修改痕迹和修改痕迹所属修改文 档标记;(3)文档修改痕迹呈现模块3呈现包含所有修改痕迹和修改痕迹所属修改文档标 记的合并文档内容;(4)文档修改痕迹确认模块4对文档修改痕迹呈现模块3呈现的所有修改痕迹进 行确认,接受或拒绝对原始文档所作的修改。步骤O)中,将所有文档进行合并,生成合并文档的具体过程如图4所示,包括以 下步骤①文档预处理子模块21将原始文档和若干个修改文档进行预处理,生成去掉样 式与格式的纯文本,提交给文档合并子模块22。由于各个修改文档的样式与格式可能不同,所以各个修改文档呈现的效果也会不 同。但是,文档的不同呈现效果与文档内容是如何被修改的没有关系,检测对文档格式与样 式的修改痕迹不仅繁琐而且没有意义,还容易出现错误,因此对文档进行预处理,去掉文档 的格式与样式信息,这样可以提高文档比较的准确性与效率。②文档合并子模块22先对所有文档的纯文本进行建模,即将每个文档的纯文本 包含的字符切分成一个一个的独立单元,每个独立单元的数据结构为其包含的具体字符和 该字符的操作类型,如下所示enum oprType{unhandled = 0,same = 1,
6
add = 2,del = 3,};typedef struct{wchar_t character ;oprType type ;} oneChar ;其中,“wchar_t”表示独立单元包含的具体字符,“oprType”表示该字符的操作类
型。“enum oprType”中定义了所有的操作类型,包括未处理“unhandled”、相同“same”、增 加“add”和删除“del”。经过上述处理后,所有文档的纯文本便由若干个(由每个文档纯文本包含的字符 数决定)如上所述数据结构的独立单元集合组成,独立单元的排列顺序与文档中字符的排 列顺序相同。③文档合并子模块22将所有建模后的文档合并成一个包含所有修改痕迹和修改 痕迹所属修改文档标记的文档(以下简称合并文档)。在合并过程中确定每个字符的操作 类型及所属文档标记。文档合并子模块22比较建模后的修改文档纯文本与原始文档纯文本,将所有 文档中均包含的字符(即未经过修改的字符)的操作类型置为“same”,将增加的字符 的操作类型置为“add”,将删除的字符的操作类型置为“del”。在未进行比较之前,所有 修改文档中字符的操作类型均为“unhandled”,即步骤②中建模后字符的操作类型均为 "unhandled,,。④对标记了每个字符的操作类型和修改痕迹所属修改文档标记后的合并文档进 行处理,生成描述合并文档内容的数据,其数据结构如下typedef struct{wstring str ;oprType type ;int version ;}fragment ;该数据结构是对上述一个独立单元的数据结构的扩展,即对位置连续并具有相同 操作类型的字符进行合并,合并为一个字符串,该字符串具有共同的操作类型。例如,假设 如下内容“根据国务院办公室……”中的“根据国务院”部分是所有文档中共同拥有的,具 有共同的操作类型“same”,因此将“根”、“据”、“国”、“务”、“院”五个独立单元中的字符合并 成一个字符串“根据国务院”,形成一个新的独立单元,其操作类型为“same”。“办公室”为 一个修改文档中增加的内容,所以其操作类型为“add”,将“办”、“公”、“室”三个独立单元中 的字符合并成一个字符串“办公室”,形成一个新的独立单元,类型为“add”。“version”表 示字符串所属文档的标记。⑤文档合并结果生成子模块23对上一步生成的不便于直接显示的合并文档内容数据作进一步处理,生成直观的、可用于直接显示的文档数据。可以采用HTML以不同的方 式来标记字符的显示效果,例如,用黑色(字符颜色)表示所有文档中相同的字符(即未经 过修改的原始文档中的字符),字符颜色加下划线表示操作类型是“add”的字符,字符颜色 加删除线表示操作类型是“del”的文本,并用不同的颜色标识不同的修改文档的修改痕迹。下面以修改如下内容的原始文档为例,对上述方法进行举例说明。“根据国务院统一部署,今年第四季度,在保障企业退休人员、城乡低保对象等低 收入群众基本生活的同时,国家有关部门将进一步完善有关政策措施,加大资助困难学生、 优抚救济、住房保障等方面的工作力度”本实施例中,原始文档由用户“小李”编辑。由用户“小李”编辑的原始文档需要由 “小张”、“小明”和“小王”审查,三个用户可以通过文档修改模块1对原始文档进行修改,即 文档修改模块1为三个。最后由“小赵”对所有文档的修改痕迹进行确认。如果采用现有的方式,只能先将原始文档发送给“小张”,“小张”处理完后再发送 给“小明”,“小明”处理完后再发送给“小王”,“小王”处理完后再发送给“小赵”确认。这种 串行的方式显然效率较低。采用本发明所述方法,可以将原始文档,同时发送给“小张”、“小明”和“小王”进 行处理,处理完成后将三个处理后的修改文档提交给文档修改痕迹处理模块2。其中,“小张”对原始文档修改如下,记为修改文档1 :“根据国务院办公室统一部署,今年第四季度,在保障企业退休人员、城乡低保对 象等低收入群众基本生活的同时,国家有关部门将进一步完善有关政策措施,加大资助困 难学生、优抚救济、住房保障等方面的工作”。“小明”对原始文档修改如下,记为修改文档2 “根据国务院统一部署,今年第四季度,在全力保障企业退休人员、城乡低保对象 等低收入群众基本生活的同时,国家有关部门将进一步完善有关政策措施,加大资助困难 学生、优抚救济、住房保障等方面的工作。落实好家庭家庭经济困难学生资助政策体系,确保家庭经济困难学生都能上得起 大学、接受职业教育,今年中央财政共安排助学经费223亿元。”。“小王”对原始文档修改如下,记为修改文档3 “根据国务院统一部署,今年第四季度,在全力保障企业退休人员、城乡低保对象 等低收入群众基本生活的同时,中央政府有关部门将进一步完善有关政策措施,加大资助 困难学生、优抚救济、住房保障等方面的工作”。文档修改痕迹处理模块2接收到原始文档和修改文档1、修改文档2、修改文档3 后,先由文档预处理子模块21将原始文档和修改文档1、修改文档2、修改文档3的样式和 格式去除,生成纯文本,提交给文档合并子模块22。文档合并子模块22先对四个文档的纯 文本进行建模,将每个文档纯文本中的字符切分成一个一个的独立单元,每个独立单元包 含具体字符和该字符的操作类型。本实施例中,对原始文档的纯文本建模后其表现形式为 “{ ‘根,,unhandled} { ‘据’,unhandled} { ‘国’,unhandled} { ‘务’,unhandled} { ‘院,, unhandled}……”。其中,括号内前面为具体字符,后面为操作类型,在比较之前所有字符的 操作类型均为“unhandled”。完成对所有文档纯文本建模后,通过比较修改文档1纯文本(以下简称修改文档1)、修改文档2纯文本(以下简称修改文档幻和修改文档3纯文本(以下简称修改文档3) 与原始文档纯文本(以下简称原始文档),将所有文档进行合并,生成合并文档,合并文档 中包含所有修改文档的所有修改痕迹以及修改痕迹所属文档标记,如果是原始文档内容, 则标记为原始文档。然后将位置连续且操作类型相同的字符合并成一个字符串。下面以修改文档1为例说明修改后的文档与原始文档的比较过程。修改文档1与 原始文档有两处不同一是在“根据国务院”后添加了“办公室” ;二是删除了原始文档中的 “力度”。首先按照寻找两个字符串最大相同子串的算法(该算法为现有技术中的算法), 得到最大子串为“统一部署,今年第四季度,在保障企业退休人员、城乡低保对象等低收入 群众基本生活的同时,国家有关部门将进一步完善有关政策措施,加大资助困难学生、优抚 救济、住房保障等方面的工作”。这样原始文档和修改文档1依据最大的相同部分可以分别 被分成三部分相同的部分,相同部分以前的部分,相同部分以后的部分。然后处理相同部分以前的部分。原始文档为“根据国务院”,修改文档1为“根据 国务院办公室”,两者最大的相同部分为“根据国务院”,“办公室”在原始文档中不存在,在 修改文档1中存在。于是得到如下结果{ ‘跟,,same,0}{ ‘据,,same,0}{ ‘国,,same,0}{ ‘务,,same,0}{ ‘院,,same,0} { ‘办,,add,0}{ ‘公,,add,0}{ ‘室,,add,0}。再处理相同部分后面的文本,其处理过程与处理相同部分以前部分的处理方式相 同,递归进行上述过程,完成对整个文档的处理。按照上述方法再分别将修改文档2和3与原始文档进行比较,得到处理结果。最 后将原始文档和修改文档1、2和3进行合并,按照字符类型为same的字符为参考点,将类 型为add的字符平行排列,将类型为del的相同部分进行合并。再将类型相同的连续字符 合并成字符串。本实施例中,处理后合并文档内容的数据结构如下{ ‘根据国务院’,Same,0}{ ‘办公室’,add,1} { ‘统一部署,今年第四季度,在’, same,0}{ ‘全力’,add,2}{ ‘保障企业退休人员、城乡低保对象等低收入群众基本生活的同 时,,,憲,0}{ ‘国家’,del,3}{ ‘中央政府’,add,3} { ‘有关部门将进一步完善有关政策 措施,加大资助困难学生、优抚救济、住房保障等方面的工作’,same,0} { ‘力度’,del,l、2、 3}{ ‘。,,add,2}{ ‘落实好家庭家庭经济困难学生资助政策体系,确保家庭经济困难学生都能上得 起大学、接受职业教育,今年中央财政共安排助学经费223亿元。’,add,2}。其中的数字表示修改文档的编号,0表示原始文档,1表示修改文档1,以此类推。文档合并结果生成子模块23对上述合并文档内容进行再处理,生成可显示的文 档内容数据。采用HTML以不同的方式来标记字符的显示效果,操作类型为“same”的字符 串用黑色显示,操作类型为“add”的字符串用颜色加下划线显示,操作类型为“del”的字符 串用颜色加删除线显示,用不同的颜色标识不同的修改版本。本实施例中,HTML格式如下〈pXspan color = “black”〉根据国务院〈/spanXspan color =“blue”Xu>办公 室 </u></span><span color = “black”〉统一部署,今年第四季度,在〈/spanXspancolor = “darkorchid”>全力〈/spanXspan color = “black” >全力保障企业退休人员、城乡 低保对象等低收入群众基本生活的同时,〈/spanXspan color = “blueviolet” >国家</spanXspan color = "blueviolet,,> 中央政府 </span><spancolor = "black,,> 有关部 门将进一步完善有关政策措施,加大资助困难学生、优抚救济、住房保障等方面的工作</ spanXspan color = "red,,> 力度 </span><span color = "blueviolet,,>。</span></ pXpXspan color = “darkorchid”〉落实好家庭经济困难学生资助政策体系,确保家庭经 济困难学生都能上得起大学、接受职业教育,今年中央财政共安排助学经费223亿元。</ spanX/p>。最后,由文档修改痕迹呈现模块3呈现包含所有修改痕迹的数据,如图5所示,文 档修改痕迹确认模块4对所有修改痕迹进行确认,接受或者拒绝修改痕迹,并且可以再次 对文档进行编辑。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精 神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其同等技术的范围 之内,则本发明也意图包含这些改动和变型在内。
权利要求
1.一种文档并行处理方法,包括以下步骤(1)对原始文档进行并行修改,生成若干个修改文档;(2)将所有修改文档和原始文档进行合并,生成合并文档;所述合并文档中包含所有 修改文档的所有修改痕迹以及修改痕迹所属修改文档标记;(3)呈现合并文档内容。
2.如权利要求1所述的文档并行处理方法,其特征在于步骤(1)中所述修改文档的 个数为2个或2个以上。
3.如权利要求1或2所述的文档并行处理方法,其特征在于步骤(2)中所述将所有 修改文档和原始文档进行合并,生成合并文档的具体过程包括以下步骤(a)对所有文档进行预处理,生成去掉样式与格式的纯文本;(b)对所有文档纯文本进行建模,将每个文档纯文本包含的字符切分成一个一个的独 立单元,每个独立单元的数据结构为其包含的具体字符和该字符的操作类型;(c)比较建模后的修改文档纯文本与原始文档纯文本,将所有文档纯文本合并成一个 包含所有修改文档的所有修改痕迹以及修改痕迹所属修改文档标记的合并文档;(d)将合并文档中位置连续且操作类型相同的字符合并成一个字符串,并确定该字符 串的操作类型及所属文档标记;(e)确定合并文档内容数据中所有字符的显示方式,生成可用于显示的文档内容数据。
4.如权利要求3所述的文档并行处理方法,其特征在于所述操作类型包括“未处理”、 “相同”、“增加”和“删除”;步骤(b)中每个文档建模后,其包含的所有字符的操作类型均为 “未处理”。
5.如权利要求4所述的文档并行处理方法,其特征在于步骤(c)中所述比较建模后 的修改文档纯文本与原始文档纯文本的具体过程包括以下步骤(cl)找出修改文档与原始文档中最大的相同子串;(c2)将修改文档划分为最大相同子串前面部分、最大相同子串部分和最大相同子串后 面部分;(c3)对最大相同子串前面部分重复步骤(c 1)至步骤(c2),直到不存在最大的相同子 串,确定修改文档对原始文档所作的修改;(c4)对最大相同子串后面部分重复步骤(cl)至步骤(c2),直到不存在最大的相同子 串,确定修改文档对原始文档所作的修改。
6.如权利要求5所述的文档并行处理方法,其特征在于步骤(c)中,将修改文档中与 原始文档相同的字符的操作类型置为“相同”,增加的字符的操作类型置为“增加”,删除的 字符的操作类型置为“删除”。
7.如权利要求4至6之一所述的文档并行处理方法,其特征在于步骤(e)中,将操作 类型为“相同”的字符串用黑色显示,操作类型为“增加”的字符串用一种颜色加下划线显 示,操作类型为“删除”的字符串用一种颜色加删除线显示,并用不同的颜色表示属于不同 修改文档的修改痕迹。
8.如权利要求3所述的文档并行处理方法,其特征在于步骤(e)中,采用HTML对合 并文档内容数据中的所有字符的显示方式进行描述。
9.如权利要求1所述的文档并行处理方法,其特征在于所述方法在呈现合并文档内容后,还包括对所有修改痕迹进行确认,接受或拒绝对原始文档所作修改的步骤。
10.一种文档并行处理系统,包括若干用于对原始文档进行修改,并生成修改文档的文 档修改模块(1);与若干个文档修改模块(1)连接,将所有修改文档和原始文档进行合并,生成合并文 档的文档修改痕迹处理模块(2),所述合并文档中包含所有修改文档的所有修改痕迹以及 修改痕迹所属修改文档标记;以及与文档修改痕迹处理模块(2)连接,用于呈现合并文档内容的文档修改痕迹呈现 模块⑶。
11.如权利要求10所述的文档并行处理系统,其特征在于所述文档修改痕迹处理模 块(2)包括用于对原始文档和所有修改文档进行预处理,生成去掉样式与格式的纯文本的 文档预处理子模块(21);与文档预处理子模块(21)连接,用于对所有文档进行建模,并通过比较建模后的修改 文档纯文本与原始文档纯文本将所有文档进行合并的文档合并子模块(22);以及与文档合并子模块(22)连接,用于对合并文档内容进行再处理,生成可显示的文 档内容数据的文档合并结果生成子模块(23)。
12.如权利要求10或11所述的文档并行处理系统,其特征在于所述系统还包括与文 档修改痕迹呈现模块(3)连接,用于对所有修改痕迹进行确认的文档痕迹确认模块(4)。
全文摘要
本发明公开了一种文档并行处理方法及系统,属于文档处理技术领域。现有文档处理方法及系统不能同时对三个或三个以上的文档进行比较,而且精确性和效率较差。本发明所述方法及系统,并行对同一原始文档进行修改,生成多个修改文档;然后通过比较所有修改文档和原始文档,将所有文档进行合并,生成合并文档,该合并文档中包含所有修改文档的所有修改痕迹以及修改痕迹所属修改文档标记;最后呈现包含所有修改痕迹和修改痕迹所属修改文档标记的合并文档内容,并对所有修改痕迹进行确认,接受或拒绝对原始文档所作的修改。本发明特别适用于需要多人对同一文档进行并行编辑的场合。
文档编号G06F17/24GK102096660SQ200910241908
公开日2011年6月15日 申请日期2009年12月15日 优先权日2009年12月15日
发明者王纬, 纪永凤 申请人:北京北大方正电子有限公司, 北大方正集团有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1