CN102193907B - 一种基于b/s结构的文稿对比方法及系统 - Google Patents
一种基于b/s结构的文稿对比方法及系统 Download PDFInfo
- Publication number
- CN102193907B CN102193907B CN201010126918.2A CN201010126918A CN102193907B CN 102193907 B CN102193907 B CN 102193907B CN 201010126918 A CN201010126918 A CN 201010126918A CN 102193907 B CN102193907 B CN 102193907B
- Authority
- CN
- China
- Prior art keywords
- manuscript
- contrast
- version
- longest
- user
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Document Processing Apparatus (AREA)
Abstract
本发明公开了一种基于B/S结构的文稿对比方法,包括:服务器依据用户提交的文稿提取请求,提取相应的文稿并返回至浏览器端,所述文稿包括多个版本;针对用户选定的第一版本文稿和第二版本文稿进行文稿对比;若所述不同版本的文稿内容存在差异,则采用预定义的标示规则分别在各个版本的文稿中进行标示。本发明可以实现在B/S结构下,进行快捷、方便并能满足用户个性化需求的文稿对比。
Description
技术领域
本发明涉及数据可视化的技术领域,特别是涉及一种基于B/S结构的文稿对比方法,以及,一种基于B/S结构的文稿对比系统。
背景技术
B/S(Browser/Server)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构(Client/Serve,客户机和服务器结构)的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(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具体可以包括以下子步骤:
子步骤S1、分别提取对比文稿中相应内容的字符串;
子步骤S2、查找所述对比字符串之间的最长匹配子串及编辑距离;
子步骤S3、依据所述最长匹配子串及编辑距离分别确定不同版本文稿中的差异。
在具体实现中,所述最长匹配子串可以通过以下步骤获得:
采用矩阵来记录两个对比字符串中所有位置的两个字符之间的匹配情况,若是匹配则为1,否则为0;
求出对角线最长的1序列,其对应的位置为最长匹配子串的位置。
在本发明实施例中,文稿对比原理在于查找两个字符串之间的最大相同子串以及编辑距离,一种具体的解法示例就是通过一个矩阵来记录两个字符串中所有位置的两个字符之间的匹配情况,若是匹配则为1,否则为0。然后求出对角线最长的1序列,其对应的位置就是最长匹配子串的位置。
为使本领域技术人员更好地理解本发明,以下提供一种应用的简单示例:
Publicstaticvoidmain(string[]args){
Object[]a=newobject[]{“a”,“b”,“c”,“d”,“e”};
Object[]b=newobject[]{“a”,“x”,“y”,“b”,“c”,
“j”,“e”};
Diffdiff=newDiff(a,b);
Listdiffout=diff.diff();
For(intI=0;i<diffout.size();i++){
Differencediffce=(difference)diffout.get(i);
System.out.println(diffce);
}
}
由上述代码演示了a变为b的过程,并输出如下结果:
del:[1,-1]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结构的文稿对比系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (8)
1.一种基于B/S结构的文稿对比方法,其特征在于,包括:
服务器依据用户提交的文稿提取请求,提取相应的文稿并返回至浏览器端,所述文稿包括多个版本;
针对用户选定的第一版本文稿和第二版本文稿进行文稿对比;
若第一版本文稿和第二版本文稿的内容存在差异,则采用预定义的标示规则分别在各个版本的文稿中进行标示;
所述进行文稿对比的步骤包括:
分别提取对比文稿中相应内容的字符串;
查找所述对比字符串之间的最长匹配子串及编辑距离;
依据所述最长匹配子串和编辑距离分别确定不同版本文稿中的差异。
2.如权利要求1所述的方法,其特征在于,所述最长匹配子串通过以下步骤获得:
采用矩阵来记录两个对比字符串中所有位置的两个字符之间的匹配情况,若是匹配则为1,否则为0;
求出对角线最长的1序列,其对应的位置为最长匹配子串的位置。
3.如权利要求1所述的方法,其特征在于,所述预定义的标示规则为采用不同颜色标示文稿中不同类型的修改。
4.如权利要求3所述的方法,其特征在于,还包括:
依据用户提交的修改还原操作,将选定的历史版本的文稿覆盖当前版本。
5.一种基于B/S结构的文稿对比系统,其特征在于,包括:
服务器的文稿提取模块,用于依据用户提交的文稿提取请求,提取相应的文稿并返回至浏览器端,所述文稿包括多个版本;
文稿对比模块,用于针对用户选定的第一版本文稿和第二版本文稿进行文稿对比;
差异标示模块,用于在第一版本文稿和第二版本文稿的内容存在差异时,采用预定义的标示规则分别在各个版本的文稿中进行标示;
所述文稿对比模块进一步包括:
字符串提取子模块,用于分别提取对比文稿中相应内容的字符串;
查找子模块,用于查找所述对比字符串之间的最长匹配子串及编辑距离;
差异确定子模块,用于依据所述最长匹配子串和编辑距离分别确定不同版本文稿中的差异。
6.如权利要求5所述的系统,其特征在于,所述最长匹配子串通过以下步骤获得:
采用矩阵来记录两个对比字符串中所有位置的两个字符之间的匹配情况,若是匹配则为1,否则为0;
求出对角线最长的1序列,其对应的位置为最长匹配子串的位置。
7.如权利要求5所述的系统,其特征在于,所述预定义的标示规则为采用不同颜色标示文稿中不同类型的修改。
8.如权利要求7所述的系统,其特征在于,还包括:
还原操作模块,用于依据用户提交的修改还原操作,将选定的历史版本的文稿覆盖当前版本。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010126918.2A CN102193907B (zh) | 2010-03-12 | 2010-03-12 | 一种基于b/s结构的文稿对比方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010126918.2A CN102193907B (zh) | 2010-03-12 | 2010-03-12 | 一种基于b/s结构的文稿对比方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102193907A CN102193907A (zh) | 2011-09-21 |
CN102193907B true CN102193907B (zh) | 2016-01-20 |
Family
ID=44601991
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010126918.2A Expired - Fee Related CN102193907B (zh) | 2010-03-12 | 2010-03-12 | 一种基于b/s结构的文稿对比方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102193907B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106970876A (zh) * | 2017-03-13 | 2017-07-21 | 北京云知声信息技术有限公司 | 软件测试方法、装置、测试文稿生成方法及装置 |
CN107798616A (zh) * | 2017-03-14 | 2018-03-13 | 平安科技(深圳)有限公司 | 一种产品差异信息显示方法和装置 |
CN108108962A (zh) * | 2018-02-02 | 2018-06-01 | 联合建管(北京)国际工程科技有限责任公司 | 建筑信息模型bim版本差异的在线展示方法及装置 |
CN110134923A (zh) * | 2018-02-08 | 2019-08-16 | 陈虎 | 一种电子文稿修改痕迹的查找方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101187924A (zh) * | 2007-11-28 | 2008-05-28 | 北京金山软件有限公司 | 一种从双语句对获取词对译文的方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7117242B2 (en) * | 2001-06-20 | 2006-10-03 | Hewlett-Packard Development Company, L.P. | System and method for workload-aware request distribution in cluster-based network servers |
-
2010
- 2010-03-12 CN CN201010126918.2A patent/CN102193907B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101187924A (zh) * | 2007-11-28 | 2008-05-28 | 北京金山软件有限公司 | 一种从双语句对获取词对译文的方法及系统 |
Non-Patent Citations (2)
Title |
---|
Mergely-an in browser diff viewer for files or URLs;Padraig Brady;《 http://www.pixelbeat.org/programming/diffs/#mergely》;20080213;第1-5页 * |
一种用于抄袭识别的文档距离度量;胡明晓等;《计算机工程与应用》;20100301;第46卷(第7期);第148-152,177页 * |
Also Published As
Publication number | Publication date |
---|---|
CN102193907A (zh) | 2011-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11263390B2 (en) | Systems and methods for informational document review, display and validation | |
US20200042560A1 (en) | Automatically generating a website specific to an industry | |
US9171182B2 (en) | Dynamic data masking | |
CN105144080B (zh) | 用于元数据管理的系统 | |
US9495429B2 (en) | Automatic synthesis and presentation of OLAP cubes from semantically enriched data sources | |
US20170212945A1 (en) | Branchable graph databases | |
US9292094B2 (en) | Gesture inferred vocabulary bindings | |
US20150186808A1 (en) | Contextual data analysis using domain information | |
US20110191381A1 (en) | Interactive System for Extracting Data from a Website | |
US20160259630A1 (en) | Systems, apparatus and methods for sharing visual model-based applications | |
US20170109442A1 (en) | Customizing a website string content specific to an industry | |
US9244707B2 (en) | Transforming user interface actions to script commands | |
CN102193907B (zh) | 一种基于b/s结构的文稿对比方法及系统 | |
US20200218741A1 (en) | Inferring location attributes from data entries | |
US20090327323A1 (en) | Integrating Data Resources by Generic Feed Augmentation | |
CN116594683A (zh) | 一种代码注释信息生成方法、装置、设备及存储介质 | |
Parmar et al. | MongoDB as an efficient graph database: An application of document oriented NOSQL database | |
US11567908B1 (en) | Virtual storage interface | |
US20170255475A1 (en) | Automatic execution of objects in a user interface | |
Szekely et al. | Exploiting semantics of web services for geospatial data fusion | |
US8607201B2 (en) | Augmenting visualization of a call stack | |
US11531527B1 (en) | Storage structure for pattern mining | |
CN115935915A (zh) | 文档处理方法、计算机设备、存储介质 | |
Li et al. | SQL2Cypher: automated data and query migration from RDBMS to GDBMS | |
US20140317154A1 (en) | Heterogeneous data management methodology and system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160120 Termination date: 20170312 |
|
CF01 | Termination of patent right due to non-payment of annual fee |