一种基于b/s结构的文稿对比方法及系统的制作方法

文档序号:7743927阅读:235来源:国知局
专利名称:一种基于b/s结构的文稿对比方法及系统的制作方法
技术领域
本发明涉及数据可视化的技术领域,特别是涉及一种基于B/S结构的文稿对比方法,以及,一种基于B/S结构的文稿对比系统。
背景技术
B/S (Browser/Server)结构即浏览器和服务器结构。它是随着hternet技术的兴起,对C/S结构(Client/krve,客户机和服务器结构)的一种变化或者改进的结构。在这种结构下,用户工作界面是通过Wffff浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本 (TCO)。
随着计算机信息技术和网络化技术的飞速发展,广播电台、电视台的文稿采编都提出了文稿对比的需求。具体而言,由于广播电台、电视台的实际工作流程的需要,往往一个文稿存在多个版本,如初稿、审核稿、修订稿等,并且,相关工作人员通常会在外地采访、 办公,并就写编撰文稿。在这种情况下,如何使相关工作人员方便、快捷、随时随地地进行文稿对比,以获知不同版本文稿的具体修订之处,则显得尤为重要。
现有技术中,文稿系统通常是基于C/S结构实现的,其中一般采用第三方的插件来实现文稿的对比,如基于word文件对比功能的插件。在这种情况下,不仅文稿对比功能必须通过特定客户端才能得以实现,不能满足用户随时随地查看文稿进行对比的需求;并且由于第三方插件的不对外开放性,文稿对比只能基于通用的标准和属性定义进行,很难满足各个电台、电视台的个性化需求。例如,某电视台希望删除文字的方式不采用删除线而采用颜色块覆盖的方式;或如,某电视台希望添加文字的方式不采用直接嵌入的方式而采用在行尾用不同颜色标记的方式等。
因而,目前迫切需要本领域技术人员解决的一个技术问题就是如何在B/S结构下,实现快捷、方便并能满足用户个性化需求的文稿对比。

发明内容
本发明所要解决的技术问题是提供一种基于B/S结构的文稿对比方法及系统,用以实现在B/S结构下,进行快捷、方便并能满足用户个性化需求的文稿对比。
为了解决上述技术问题,本发明实施例公开了一种基于B/S结构的文稿对比方法,包括 服务器依据用户提交的文稿提取请求,提取相应的文稿并返回至浏览器端,所述文稿包括多个版本; 针对用户选定的第一版本文稿和第二版本文稿进行文稿对比; 若所述不同版本的文稿内容存在差异,则采用预定义的标示规则分别在各个版本的文稿中进行标示。
优选的,所述进行文稿对比的步骤包括 分别提取对比文稿中相应内容的字符串; 查找所述对比字符串之间的最长匹配子串及编辑距离; 依据所述最长匹配子串及编辑距离分别确定不同版本文稿中的差异。
优选的,所述最长匹配子串通过以下步骤获得 采用矩阵来记录两个对比字符串中所有位置的两个字符之间的匹配情况,若是匹配则为1,否则为0; 求出对角线最长的1序列,其对应的位置为最长匹配子串的位置。
优选的,所述预定义的标示规则为采用不同颜色标示文稿中不同类型的修改。
优选的,所述的方法,还包括 依据用户提交的修改还原操作,将选定的历史版本的文稿覆盖当前版本。
本发明实施例还公开了一种基于B/S结构的文稿对比系统,包括 服务器的文稿提取模块,用于依据用户提交的文稿提取请求,提取相应的文稿并返回至浏览器端,所述文稿包括多个版本; 文稿对比模块,用于针对用户选定的第一版本文稿和第二版本文稿进行文稿对比; 差异标示模块,用于在所述不同版本的文稿内容存在差异时,采用预定义的标示规则分别在各个版本的文稿中进行标示。
优选的,所述文稿对比模块进一步包括 字符串提取子模块,用于分别提取对比文稿中相应内容的字符串; 查找子模块,用于查找所述对比字符串之间的最长匹配子串及编辑距离; 差异确定子模块,用于依据所述最长匹配子串及编辑距离分别确定不同版本文稿中的差异。
优选的,所述最长匹配子串通过以下步骤获得 采用矩阵来记录两个对比字符串中所有位置的两个字符之间的匹配情况,若是匹配则为1,否则为0; 求出对角线最长的1序列,其对应的位置为最长匹配子串的位置。
优选的,所述预定义的标示规则为采用不同颜色标示文稿中不同类型的修改。
优选的,所述的系统,还包括 还原操作模块,用于依据用户提交的修改还原操作,将选定的历史版本的文稿覆盖当前版本。
与现有技术相比,本发明具有以下优点 本发明通过由服务器依据用户提交的文稿提取请求,提取相应的文稿并返回至浏览器端,然后针对用户选定的第一版本文稿和第二版本文稿进行文稿对比,并在所述不同版本的文稿内容存在差异时,采用预定义的标示规则分别在各个版本的文稿中进行标示, 从而实现在B/S结构下,进行快捷、方便并能满足用户个性化需求的文稿对比。
再者,本发明通过采用查找所述对比字符串之间的最长匹配子串及编辑距离的文稿对比原理,可以兼容不同浏览器,更好地满足用户需求。


图1是本发明的一种基于B/S结构的文稿对比方法实施例的流程图; 图2是本发明的一种基于B/S结构的文稿对比系统实施例的结构框图。
具体实施例方式为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式
对本发明作进一步详细的说明。
参考图1,示出了本发明的一种基于B/S结构的文稿对比方法实施例的流程图,具体可以包括以下步骤 步骤101、服务器依据用户提交的文稿提取请求,提取相应的文稿并返回至浏览器端,所述文稿包括多个版本; 步骤102、针对用户选定的第一版本文稿和第二版本文稿进行文稿对比; 步骤103、若所述不同版本的文稿内容存在差异,则采用预定义的标示规则分别在各个版本的文稿中进行标示。
在文稿系统中,可以查看同一个稿件的多个版本,每个版本修改的地方都不一样, 如何知道对每个版本都做了什么修改,如何查找需要的修改版本是用户经常会遇到的问题。应用本发明实施例,当查找到一条文稿的多个历史版本时,选择任意一个版本就可以和当前版本进行对比,对比时按照预定义的标示规则标示稿件的修改,例如,所述预定义的标示规则可以为采用不同颜色标示文稿中不同类型的修改,则根据实际情况可以采用红色表示已经删除的地方,黄色表示修改的地方,这样用户可以很方便的查看对不同版本的修改。 在实际中,稿件的对比不局限于当前版本和历史版本,历史版本之间的任意两个版本之间也可以进行对比。
在本发明的一种优选实施例中,所述进行文稿对比的步骤102具体可以包括以下子步骤 子步骤Si、分别提取对比文稿中相应内容的字符串; 子步骤S2、查找所述对比字符串之间的最长匹配子串及编辑距离; 子步骤S3、依据所述最长匹配子串及编辑距离分别确定不同版本文稿中的差异。
在具体实现中,所述最长匹配子串可以通过以下步骤获得 采用矩阵来记录两个对比字符串中所有位置的两个字符之间的匹配情况,若是匹配则为1,否则为0; 求出对角线最长的1序列,其对应的位置为最长匹配子串的位置。
在本发明实施例中,文稿对比原理在于查找两个字符串之间的最大相同子串以及编辑距离,一种具体的解法示例就是通过一个矩阵来记录两个字符串中所有位置的两个字符之间的匹配情况,若是匹配则为1,否则为0。然后求出对角线最长的1序列,其对应的位置就是最长匹配子串的位置。
为使本领域技术人员更好地理解本发明,以下提供一种应用的简单示例 Public static void main(string[]args){ Object [] a = new object [] { “a”,“b”,“c”,“d”,“e,,}; Object []b = new object [] { “a”,“X”,“y”,“b”,“c,,,
,,U ,,1
,e };
Diff diff = new Diff(a,b); List diffout = diff. diff (); For(int I = 0 ;i < diffout. size() ;i++) {
Difference diffce = (difference)diffout. get(i); System, out. println(diffce); } } 由上述代码演示了 a变为b的过程,并输出如下结果 del [1, -l]add [1,2] del [3,3] add [5,5] 由上述示例可以得知,两个字符串之间的差别在于,目标字符串在第1-2行(从0 算起)增加了 X,y,第3行的d被第5行的j替换;如果delEnd或者addEnd为-1的话,就表示没有删除或者增加行为。
作为一种优选的实施例,本发明还可以包括如下步骤 依据用户提交的修改还原操作,将选定的历史版本的文稿覆盖当前版本。
即稿件对比还可以对修改的内容进行还原,例如,当发现当前版本修改有问题,而且修改的地方比较多,不想手动修改到之前的任意一个对的版本,那么稿件对比还可以将任意一个历史版本恢复以覆盖当前版本。同时还可以将当前版本和历史版本进行合并。
在本发明实施例中,稿件对比均是针对纯文本的,所以在所有涉及到纯文本比较的B/S系统中都可以采用本发明。
需要说明的是,对于前述的方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉, 说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
参考图2,示出了本发明的一种基于B/S结构的文稿对比系统实施例的结构框图, 具体可以包括以下模块 服务器的文稿提取模块201,用于依据用户提交的文稿提取请求,提取相应的文稿并返回至浏览器端,所述文稿包括多个版本; 文稿对比模块202,用于针对用户选定的第一版本文稿和第二版本文稿进行文稿对比; 差异标示模块203,用于在所述不同版本的文稿内容存在差异时,采用预定义的标示规则分别在各个版本的文稿中进行标示。
在本发明的一种优选实施例中,所述文稿对比模块202可以进一步包括以下子模块 字符串提取子模块,用于分别提取对比文稿中相应内容的字符串; 查找子模块,用于查找所述对比字符串之间的最长匹配子串及编辑距离; 差异确定子模块,用于依据所述最长匹配子串及编辑距离分别确定不同版本文稿中的差异。
在具体实现中,所述最长匹配子串通过以下步骤获得 采用矩阵来记录两个对比字符串中所有位置的两个字符之间的匹配情况,若是匹配则为1,否则为0; 求出对角线最长的1序列,其对应的位置为最长匹配子串的位置。
作为一种应用示例,所述预定义的标示规则为采用不同颜色标示文稿中不同类型的修改。
在本发明的一种优选实施例中,所述的系统还可以包括如下模块 还原操作模块,用于依据用户提交的修改还原操作,将选定的历史版本的文稿覆盖当前版本。
由于图2所示的系统实施例基本相应于前述图1所示的方法实施例,故本实施例的描述中未详尽之处,可以参见前述实施例中的相关说明,在此就不赘述了。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
本发明可用于众多通用或专用的计算系统环境或配置中。例如多处理器系统、服务器、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
以上对本发明所提供的一种基于B/S结构的文稿对比方法,以及,一种基于B/S结构的文稿对比系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式
及应用范围上均会有改变之处, 综上所述,本说明书内容不应理解为对本发明的限制。
权利要求
1.一种基于B/S结构的文稿对比方法,其特征在于,包括服务器依据用户提交的文稿提取请求,提取相应的文稿并返回至浏览器端,所述文稿包括多个版本;针对用户选定的第一版本文稿和第二版本文稿进行文稿对比; 若所述不同版本的文稿内容存在差异,则采用预定义的标示规则分别在各个版本的文稿中进行标示。
2.如权利要求1所述的方法,其特征在于,所述进行文稿对比的步骤包括 分别提取对比文稿中相应内容的字符串;查找所述对比字符串之间的最长匹配子串及编辑距离;依据所述最长匹配子串及编辑距离分别确定不同版本文稿中的差异。
3.如权利要求2所述的方法,其特征在于,所述最长匹配子串通过以下步骤获得采用矩阵来记录两个对比字符串中所有位置的两个字符之间的匹配情况,若是匹配则为1,否则为0;求出对角线最长的1序列,其对应的位置为最长匹配子串的位置。
4.如权利要求1所述的方法,其特征在于,所述预定义的标示规则为采用不同颜色标示文稿中不同类型的修改。
5.如权利要求4所述的方法,其特征在于,还包括依据用户提交的修改还原操作,将选定的历史版本的文稿覆盖当前版本。
6.一种基于B/S结构的文稿对比系统,其特征在于,包括服务器的文稿提取模块,用于依据用户提交的文稿提取请求,提取相应的文稿并返回至浏览器端,所述文稿包括多个版本;文稿对比模块,用于针对用户选定的第一版本文稿和第二版本文稿进行文稿对比; 差异标示模块,用于在所述不同版本的文稿内容存在差异时,采用预定义的标示规则分别在各个版本的文稿中进行标示。
7.如权利要求6所述的系统,其特征在于,所述文稿对比模块进一步包括 字符串提取子模块,用于分别提取对比文稿中相应内容的字符串;查找子模块,用于查找所述对比字符串之间的最长匹配子串及编辑距离; 差异确定子模块,用于依据所述最长匹配子串及编辑距离分别确定不同版本文稿中的差异。
8.如权利要求7所述的系统,其特征在于,所述最长匹配子串通过以下步骤获得采用矩阵来记录两个对比字符串中所有位置的两个字符之间的匹配情况,若是匹配则为1,否则为0;求出对角线最长的1序列,其对应的位置为最长匹配子串的位置。
9.如权利要求6所述的系统,其特征在于,所述预定义的标示规则为采用不同颜色标示文稿中不同类型的修改。
10.如权利要求9所述的系统,其特征在于,还包括还原操作模块,用于依据用户提交的修改还原操作,将选定的历史版本的文稿覆盖当前版本。
全文摘要
本发明公开了一种基于B/S结构的文稿对比方法,包括服务器依据用户提交的文稿提取请求,提取相应的文稿并返回至浏览器端,所述文稿包括多个版本;针对用户选定的第一版本文稿和第二版本文稿进行文稿对比;若所述不同版本的文稿内容存在差异,则采用预定义的标示规则分别在各个版本的文稿中进行标示。本发明可以实现在B/S结构下,进行快捷、方便并能满足用户个性化需求的文稿对比。
文档编号H04L29/08GK102193907SQ201010126918
公开日2011年9月21日 申请日期2010年3月12日 优先权日2010年3月12日
发明者胡丽娜, 曹志强, 吕辉, 蔡四兵 申请人:新奥特(北京)视频技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1