CN111104788B - 文档差分内容的对齐方法、装置、存储介质、电子设备 - Google Patents

文档差分内容的对齐方法、装置、存储介质、电子设备 Download PDF

Info

Publication number
CN111104788B
CN111104788B CN201911236945.2A CN201911236945A CN111104788B CN 111104788 B CN111104788 B CN 111104788B CN 201911236945 A CN201911236945 A CN 201911236945A CN 111104788 B CN111104788 B CN 111104788B
Authority
CN
China
Prior art keywords
document
common data
data block
differential content
data blocks
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.)
Active
Application number
CN201911236945.2A
Other languages
English (en)
Other versions
CN111104788A (zh
Inventor
韩志刚
宋洋
于广伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Neusoft Corp
Original Assignee
Neusoft Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Neusoft Corp filed Critical Neusoft Corp
Priority to CN201911236945.2A priority Critical patent/CN111104788B/zh
Publication of CN111104788A publication Critical patent/CN111104788A/zh
Application granted granted Critical
Publication of CN111104788B publication Critical patent/CN111104788B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Document Processing Apparatus (AREA)

Abstract

本公开涉及一种文档差分内容的对齐方法、装置、存储介质、电子设备,所述方法包括:针对第一文档和第二文档中的每一种类型的数据,将所述第一文档和第二文档中属于同一种类型的数据进行比对,得到所述第一文档和第二文档中每一种类型的数据之间的差分内容以及每一种类型的数据的共通数据块对;根据所述第一文档中的第一共通数据块在所述第一文档中的位置信息对所述第一共通数据块排序,得到第一共通数据块序列;根据所述第二文档中的第二共通数据块在所述第二文档中的位置信息对所述第二共通数据块排序,得到第二共通数据块序列;根据每一差分内容在所属文档中的相邻共通数据块及共通数据块对应关系,确定该差分内容在另一文档中的对齐位置。

Description

文档差分内容的对齐方法、装置、存储介质、电子设备
技术领域
本公开涉及文档内容处理领域,具体地,涉及一种文档差分内容的对齐方法、装置、存储介质、电子设备。
背景技术
在日常应用中,文档的比较是一个存在于很多场景的需求,例如对两篇文章进行对比,对两个脚本文件中的代码进行对比等等。通常,文档的比较是为了寻找出不同文档之间的相关性和差异,从而简化后续的处理流程,降低工作量。
相关技术中,针对同时包含多个属性内容的多个文档,需要通过复杂的处理过程才能确定文档之间内容的相关性,增加了资源占用以及电力的消耗。
发明内容
本公开的目的是提供一种文档差分内容的对齐方法、装置、存储介质、电子设备,以解决上述技术问题。
为了实现上述目的,本公开的第一方面提供一种文档差分内容的对齐方法,所述方法包括:
针对第一文档和第二文档中的每一种类型的数据,将所述第一文档和所述第二文档中属于同一种类型的数据进行比对,得到所述第一文档和所述第二文档中每一种类型的数据之间的差分内容,以及每一种类型的数据的共通数据块对;
根据所述第一文档中的第一共通数据块在所述第一文档中的位置信息对所述第一共通数据块进行排序,得到第一共通数据块序列,以及根据所述第二文档中的第二共通数据块在所述第二文档中的位置信息对所述第二共通数据块进行排序,得到第二共通数据块序列;
根据每一所述差分内容在所属文档中的相邻共通数据块,以及共通数据块对应关系,确定该差分内容在另一文档中的对齐位置,所述共通数据块对应关系为所述第一共通数据块序列中的第一共通数据块与所述第二共通数据块序列中的第二共通数据块之间的对应关系。
可选地,所述根据每一所述差分内容在所属文档中的相邻共通数据块,以及共通数据块对应关系,确定该差分内容在另一文档中的对齐位置,包括:
针对位于任意两个相邻第一共通数据块之间的差分内容,若所述对应关系中与所述两个相邻第一共通数据块对应的两个第二共通数据块之间不存在差分内容,则将所述两个第二共通数据块的位置作为该差分内容在所述第二文档中的对齐位置。
可选地,所述方法还包括:
在所述第二文档中的所述对齐位置处生成删除标记,表征所述对齐位置处相对于所述第一文档删除了数据内容,并在所述第一文档中将该差分内容以表征内容已在所述第二文档中删除的显示方式进行显示;或者,
在所述第二文档中的所述对齐位置处生成添加标记,表征该差分内容是所述第一文档相对于所述第二文档,在所述第二文档的所述对齐位置处添加的数据内容,并在所述第一文档中将该差分内容以表征内容为添加的显示方式进行显示。
可选地,所述根据每一所述差分内容在所属文档中的相邻共通数据块,以及共通数据块对应关系,确定该差分内容在另一文档中的对齐位置,包括:
针对位于任意两个相邻第一共通数据块之间的差分内容,若所述对应关系中与该两个相邻第一共通数据块所对应的两个第二共通数据块之间存在差分内容,则将所述两个第二共通数据块之间存在的差分内容的位置,作为所述两个相邻第一共通数据块之间的差分内容在所述第二文档中的对齐位置。
可选地,所述方法包括:
针对位于首个第一共通数据块之前的差分内容,若所述对应关系中与所述首个第一共通数据块对应的第二共通数据块之前不存在差分内容,且该第二共通数据块之前的位置为空白页,则将所述空白页的中心坐标位置作为该差分内容在所述第二文档中的对齐位置。
可选地,针对图片类型的所述差分内容,与所述差分内容相邻的共通数据块是通过如下方式确定的:
确定所述差分内容在所属文档中的中心坐标,确定所述中心坐标在该文档中的目标页码及目标行号;
根据该文档中各个共通数据块的页码及行号与所述目标页码和所述目标行号确定与所述差分内容相邻的共通数据块,其中,所述第一文档和所述第二文档在进行数据比对时是按照行划分数据块进行比对的。
可选地,所述方法还包括:对于任一匹配成功的数据块对,采用统一的数据格式进行存储,所述统一的数据格式包括第一数据类型,第二数据类型,第一索引区间,第二索引区间,标志位;
其中,对于每一匹配成功的数据块,所述第一数据类型为该数据块的数据类型,所述第二数据类型为与该数据块匹配成功的目标数据块的数据类型,所述第一索引区间包括该数据块在所述第一文档中的位置信息,所述第二索引区间包括所述目标数据块在所述第二文档中的位置信息,所述标志位用于表征所述数据块与所述目标数据块匹配成功的类型。
第二方面,本公开提供一种文档差分内容的对齐装置,所述装置包括:
比较模块,用于针对第一文档和第二文档中的每一种类型的数据,将所述第一文档和所述第二文档中属于同一种类型的数据进行比对,得到所述第一文档和所述第二文档中每一种类型的数据之间的差分内容,以及每一种类型的数据的共通数据块对;
第一排序模块,用于根据所述第一文档中的第一共通数据块在所述第一文档中的位置信息对所述第一共通数据块进行排序,得到第一共通数据块序列;以及
第二排序模块,根据所述第二文档中的第二共通数据块在所述第二文档中的位置信息对所述第二共通数据块进行排序,得到第二共通数据块序列;
第一确定模块,用于根据每一所述差分内容在所属文档中的相邻共通数据块,以及共通数据块对应关系,确定该差分内容在另一文档中的对齐位置,所述共通数据块对应关系为所述第一共通数据块序列中的第一共通数据块与所述第二共通数据块序列中的第二共通数据块之间的对应关系。
可选地,所述第一确定模块包括:
第一执行子模块,用于针对位于任意两个相邻第一共通数据块之间的差分内容,在所述对应关系中与所述两个相邻第一共通数据块对应的两个第二共通数据块之间不存在差分内容时,将所述两个第二共通数据块的位置作为该差分内容在所述第二文档中的对齐位置。
可选地,所述装置还包括:
第一标记模块,用于在所述第二文档中的所述对齐位置处生成删除标记,表征所述对齐位置处相对于所述第一文档删除了数据内容,并在所述第一文档中将该差分内容以表征内容已在所述第二文档中删除的显示方式进行显示;或者,
第二标记模块,在所述第二文档中的所述对齐位置处生成添加标记,表征该差分内容是所述第一文档相对于所述第二文档,在所述第二文档的所述对齐位置处添加的数据内容,并在所述第一文档中将该差分内容以表征内容为添加的显示方式进行显示。
可选地,所述第一确定模块包括:
第二执行子模块,用于针对位于任意两个相邻第一共通数据块之间的差分内容,在所述对应关系中与该两个相邻第一共通数据块所对应的两个第二共通数据块之间存在差分内容时,将所述两个第二共通数据块之间存在的差分内容的位置,作为所述两个相邻第一共通数据块之间的差分内容在所述第二文档中的对齐位置。
可选地,所述装置包括:
执行模块,用于针对位于首个第一共通数据块之前的差分内容,在所述对应关系中与所述首个第一共通数据块对应的第二共通数据块之前不存在差分内容,且该第二共通数据块之前的位置为空白页时,将所述空白页的中心坐标位置作为该差分内容在所述第二文档中的对齐位置。
可选地,所述装置包括第二确定模块,用于针对图片类型的所述差分内容,确定与所述差分内容相邻的共通数据块,所述第二确定模块包括:
第一确定子模块,用于确定所述差分内容在所属文档中的中心坐标;
第二确定子模块,用于确定所述中心坐标在该文档中的目标页码及目标行号;
第三确定子模块,用于根据该文档中各个共通数据块的页码及行号与所述目标页码和所述目标行号确定与所述差分内容相邻的共通数据块,其中,所述第一文档和所述第二文档在进行数据比对时是按照行划分数据块进行比对的。
可选地,所述装置还包括:
存储模块,用于采用统一的数据格式对任一匹配成功的数据块对进行存储,所述统一的数据格式包括第一数据类型,第二数据类型,第一索引区间,第二索引区间,标志位;
其中,对于每一匹配成功的数据块,所述第一数据类型为该数据块的数据类型,所述第二数据类型为与该数据块匹配成功的目标数据块的数据类型,所述第一索引区间包括该数据块在所述第一文档中的位置信息,所述第二索引区间包括所述目标数据块在所述第二文档中的位置信息,所述标志位用于表征所述数据块与所述目标数据块匹配成功的类型。
第三方面,本公开提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一方面中任一项所述方法的步骤。
第四方面,本公开提供一种电子设备,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现上述第一方面中任一项所述方法的步骤。
上述技术方案至少可以包括如下有益效果:
通过对第一文档以及第二文档中的每一种同类型数据进行对比,从而能够得到所述第一文档和所述第二文档中每一种类型的数据之间的差分内容以及该类型数据的共通数据块对。此外,还可以根据第一文档中的第一共通数据块的位置信息、第二文档中的第二共通数据块的位置信息分别进行排列,从而得到对应于第一文档的第一共通数据块序列以及对应于第二文档的第二共通数据块序列。这样,针对任一差分内容,便可以根据所述差分内容在其所属的文档中相邻的共通数据块以及共通数据块的对应关系来确定该差分内容在另一文档中的对齐位置,从而实现任一属性内容在不同文档中的对齐。同时,采用这样的方式也能够避免繁琐的算法调用,简化计算流程,进而能够降低资源的使用量,节省电力。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是本公开一示例性实施例所示出的一种文档差分内容的对齐方法的流程示意图。
图2是本公开一示例性实施例所示出的一种文字数据比较的示意图。
图3是本公开一示例性实施例所示出的另一种文字数据比较的示意图。
图4是本公开一示例性实施例所示出的一种文档差分内容的对齐装置的框图。
图5是本公开一示例性实施例所示出的一种电子设备的框图。
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
介绍本公开所提供的文档差分内容的对齐方法之前,首先对本公开各实施例的应用场景进行介绍,本公开的各实施例可以应用于各种文档或是文件内容的比较场合,例如对两篇文章进行对比,或是对两个脚本文件中的代码内容进行对比等等。
相关对比场景下,所要进行对比的文档可能包括多种属性的内容,例如所述文档中可以同时包括文字数据、图片内容、音频内容等等。在这样的情况下,由于不同内容之间的数据类型存在差异,并且不同内容之间的关联性也较低,这就导致不同内容之间无法建立起相应的对应关系,即无法进行比较和对齐。
为此,本公开提供一种文档差分内容的对齐方法,参照图1所示出的一种文档差分内容的对齐方法的流程示意图,所述方法包括:
S11,针对第一文档和第二文档中的每一种类型的数据,将所述第一文档和所述第二文档中属于同一种类型的数据进行比对,得到所述第一文档和所述第二文档中每一种类型的数据之间的差分内容,以及每一种类型的数据的共通数据块对;
S12,根据所述第一文档中的第一共通数据块在所述第一文档中的位置信息对所述第一共通数据块进行排序,得到第一共通数据块序列,以及根据所述第二文档中的第二共通数据块在所述第二文档中的位置信息对所述第二共通数据块进行排序,得到第二共通数据块序列;
S13,根据每一所述差分内容在所属文档中的相邻共通数据块,以及共通数据块对应关系,确定该差分内容在另一文档中的对齐位置。
其中,所述共通数据块对应关系为所述第一共通数据块序列中的第一共通数据块与所述第二共通数据块序列中的第二共通数据块之间的对应关系。
上述方案能够包括如下有益效果:
通过对第一文档以及第二文档中的每一种同类型数据进行对比,从而能够得到所述第一文档和所述第二文档中每一种类型的数据之间的差分内容以及该类型数据的共通数据块对。此外,还可以根据第一文档中的第一共通数据块的位置信息、第二文档中的第二共通数据块的位置信息分别进行排列,从而得到对应于第一文档的第一共通数据块序列以及对应于第二文档的第二共通数据块序列。这样,针对任一差分内容,便可以根据所述差分内容在其所属的文档中相邻的共通数据块以及共通数据块的对应关系来确定该差分内容在另一文档中的对齐位置,从而实现任一属性内容在不同文档中的对齐。同时,采用这样的方式也能够避免繁琐的算法调用,简化计算流程,进而能够降低资源的使用量,节省电力。
具体来说,在步骤S11中,所述数据的类型可以包括文字、图片、音频、视频等等,应当理解,在具体实施时,所述第一文档以及第二文档中可以包括上述数据类型中的一种或多种。所述数据块对是所述第一文档中的第一数据内容以及所述第二文档中与所述第一数据内容相似度大于阈值的第二数据内容比较形成的数据对,所述第一数据内容和所述第二数据内容互为共通数据。示例地,所述第一文档以及第二文档中均包括文字数据以及视频数据,则所述步骤S11即是指将所述第一文档以及第二文档中的所述文字数据以及视频数据分别进行对比,得到文字数据之间的差分内容和共通数据块,以及视频数据之间的差分内容和共通数据块。
以文字数据的比较为例进行说明,在比较时首先可以根据比较的需要设置不同的粒度,并根据所述粒度对待比较的文字数据建立索引。例如,参照图2,可以将单个汉字作为一粒度,按照汉字的排列顺序依次对每一个字符分别建立一个索引。又或者,在一些场景中也可以以字符为粒度,或是以行、列为粒度等等,并通过类似的方法对待比较的文字数据建立索引。
参照图3,可以基于如图2所示的待比较对齐的文字数据,以及所述文字数据的索引,通过最长公共子序列算法确定所述第一文档以及第二文档的文字类型的共通数据块对(图3中上下行分别属于第一文档以及第二文档)。其中,共通数据块对包括两个具有对应关系的共通数据块,各共通数据块对组成所述第一文档以及第二文档的最长公共子序列对。最长公共子序列是指两文字数据中长度最长的相同的汉字序列,相同的最长公共子序列组成一最长公共子序列对,例如图3所示的“+换行对齐也应该有明确规定一个源文件的最”。
在一实施例中,方法执行端在求出所述最长公共子序列之后,还可以对所述第一文档以及第二文档进行划分,记录比较结果中相关内容的位置信息。以图3为例,所述位置信息可以包括{在第一文档中的索引,在第二文档中的索引,文字数量,该内容在第一文档以及第二文档的分布}。对应图3,所述位置信息可以包括:{0,0,2,IN12},{3,2,3,IN1},{6,3,10,IN12},{16,12,1,IN1},{15,13,2,IN2},{17,15,7,IN12},{23,21,1,IN2}。其中IN1表示该内容包括在第一文档中,其中IN2表示该内容包括在第二文档中,IN12表示该内容同时包括在第一文档中以及第二文档中。
值得注意的是,上述实施例中以文本内容的比较进行了说明,但对于文档中的非文本内容,例如图片、视频或者音频等等,也可以采用类似的方式得到对应各类型的数据的共通数据块对或是对各数据块内容所处位置进行记录,本公开对此不做限定。
在步骤S12中,可以根据所述共通数据块对中的第一共通数据块在所述第一文档中的位置信息以及所述共通数据块中的第二共通数据块在所述第二文档中的位置信息,分别对所述第一共通数据块以及第二共通数据块进行排列,得到第一共通数据块序列以及第二共通数据块序列。
需要说明的是,所述第一共通数据块以及第二共通数据块可以包括多个类型内容分别比较得到的共通数据块。示例地,所述第一文档以及第二文档均包括文字数据以及图片数据,则经过步骤S11的比较过程之后,所述第一共通数据块可以包括文字数据的共通数据块以及图片数据的共通数据块,在对所述第一共通数据块进行排序时可以根据各所述文字数据的共通数据块和图片数据的共通数据块在所述第一文档中的位置进行排序。
在步骤S13中,所述差分内容可以是指相邻两共通数据块之间的内容,其可以存在于第一文档中,也可以存在于第二文档中。以图3为例,所述差分内容可以包括第一文档中的“后怎么”、“。”以及第二文档中的“的,”、“后”。这样,针对任意属性的差分内容,便可以根据每一所述差分内容在所属文档中的相邻共通数据块,以及共通数据块对应关系,确定该差分内容在另一文档中的对齐位置,从而实现任一属性内容在不同文档中的对齐。
在一种可能的实施方式中,所述步骤S13包括:
针对位于任意两个相邻第一共通数据块之间的差分内容,若所述对应关系中与所述两个相邻第一共通数据块对应的两个第二共通数据块之间不存在差分内容,则将所述两个第二共通数据块的位置作为该差分内容在所述第二文档中的对齐位置。
需要注意的是,所述对齐位置可以是一个标记,在具体的数据内容中其并不一定对应于一个实际存在的位置。以图3为例,差分内容“后怎么”位于第一共通数据块“+换行”以及“对齐也应该有明确规定”之间,同时第二共通数据块“+换行”以及“对齐也应该有明确规定”之间不存在差分内容。在这种情况下,可以将所述两个第二共通数据块之间的位置作为该差分内容在所述第二文档中的对齐位置。
类似的,针对位于任意两个相邻第二共通数据块之间的差分内容,若所述对应关系中与所述两个相邻第二共通数据块对应的两个第一共通数据块之间不存在差分内容,那么也可以将所述两个第一共通数据块的位置作为该差分内容在所述第一文档中的对齐位置。
采用这样的方式,能够根据比较得到的两个文档的共通数据块之间的关联关系以及差分内容在第一文档或第二文档中所处的位置,确定该差分内容在对应第二文档或第一文档中所对应的位置,从而能够使得两个文档里有关的内容都能对应起来,实现对齐。
此外,针对所述对齐位置,在一种可能的实施方式中,可以在所述第二文档中的所述对齐位置处生成删除标记,以表征所述对齐位置处相对于所述第一文档删除了数据内容。
在一实施例中,还可以在所述第一文档中将该差分内容以表征内容已在所述第二文档中删除的显示方式进行显示。
在另一种可能的实施方式中,也可以在所述第二文档中的所述对齐位置处生成添加标记,以表征该差分内容是所述第一文档相对于所述第二文档,在所述第二文档的所述对齐位置处添加的数据内容。
在另一实施例中,还可以在所述第一文档中将该差分内容以表征内容为添加的显示方式进行显示。
这样,通过在差分内容在另一文档中的对齐位置进行标记和/或将差分内容以对应方式显示(例如可以通过不同的颜色来显示区分),能够进一步建立起差分内容与对应文档之间的联系,从而能够提升后续诸如阅读、校对、修改等过程的效率。
在一种可能的实施方式中,所述步骤S13包括:
针对位于任意两个相邻第一共通数据块之间的差分内容,若所述对应关系中与该两个相邻第一共通数据块所对应的两个第二共通数据块之间存在差分内容,则将所述两个第二共通数据块之间存在的差分内容的位置,作为所述两个相邻第一共通数据块之间的差分内容在所述第二文档中的对齐位置。
其中,若两个相邻第一共通数据块之间存在第一差分内容;与该两个相邻第一共通数据块所对应的两个第二共通数据块之间存在第二差分内容,且所述第一差分内容与所述第二差分内容不同,则将所述第一差分内容与所述第二差分内容之间的关系称为变更。在一实施例中,还可以对所述变更内容以表征内容为变更的显示方式进行显示。
通过上述方法,针对文档中的各个部分的内容都能够建立起对应的联系,从而能够提升后续诸如阅读、校对、修改等过程的效率。
可选地,针对位于首个第一共通数据块之前的差分内容,若所述对应关系中与所述首个第一共通数据块对应的第二共通数据块之前不存在差分内容,且该第二共通数据块之前的位置为空白页,则将所述空白页的中心坐标位置作为该差分内容在所述第二文档中的对齐位置。
举例来讲,若第一文档与第二文档均包括若干张图片,并且第一文档相对于第二文档仅仅缺少了第一张图片,在这种情况下可以将第二文档中的第一张图片的图片中心与第一文档中的第一个空白页中心对齐。类似的,针对位于最后一个第一共通数据块之后的差分内容,若所述对应关系中与所述最后一个第一共通数据块对应的第二共通数据块之后不存在差分内容,且该第二共通数据块之后的位置为空白页,则可以将所述空白页的中心坐标位置作为该差分内容在所述第二文档中的对齐位置。
值得说明的是,在一些场景中,对于差分内容处于第一文档内容开始处的情况,也可以将所述差分内容与之后的第二文档中的第一个第二共通数据块对齐;或者,对于差分内容处于第一文档内容末尾处的情况,也可以将所述差分内容与之前的第二文档中的倒数第一个第二共通数据块对齐,并进行相应的添加标记。
此外需要注意的是,上述“第一”、“第二”是一个相对概念,其仅仅是为了区分待比较的两个文档。也就是说,针对相关实施过程的描述,将所述“第一”与“第二”进行交换也同样有效。
可选地,针对图片类型的所述差分内容,与所述差分内容相邻的共通数据块是通过如下方式确定的:
确定所述差分内容在所属文档中的中心坐标,确定所述中心坐标在该文档中的目标页码及目标行号;
根据该文档中各个共通数据块的页码及行号与所述目标页码和所述目标行号确定与所述差分内容相邻的共通数据块,其中,所述第一文档和所述第二文档在进行数据比对时是按照行划分数据块进行比对的。
举例来讲,可以通过图片的页码来定位至所述图片所属的指定页面,并通过所述目标行号进一步确定与所述图片相邻的共通数据块。其中,针对所述共通数据块,可以通过确定所述数据块的几何中心与所述图片的坐标位置来确定所述图片与所述数据块的位置关系。例如,所述图片在该页码的中心坐标处于所述共通数据块的左侧,则可以将所述图片的对齐位置设置为所述共通数据块的前方。在所述数据块为以行为单位的文字数据时,即所述图片与该文字行的行头对齐。
通过这样的方式,能够将不同类型的数据内容的共通数据块进行排列,从而形成对应于文档的有序序列。进一步的,针对不同类型的数据内容,也能够在对应的文档中确定出对齐位置,解决了相关技术无法对不同类型的数据内容进行比较对齐的问题。
可选地,所述方法还包括:对于任一匹配成功的数据块对,采用统一的数据格式进行存储,所述统一的数据格式包括第一数据类型,第二数据类型,第一索引区间,第二索引区间,标志位;
其中,对于每一匹配成功的数据块,所述第一数据类型为该数据块的数据类型,所述第二数据类型为与该数据块匹配成功的目标数据块的数据类型,所述第一索引区间包括该数据块在所述第一文档中的位置信息,所述第二索引区间包括所述目标数据块在所述第二文档中的位置信息,所述标志位用于表征所述数据块与所述目标数据块匹配成功的类型。
此外,所述数据类型可能为不确定(None)、文字(Text)、图片(Image),音频(Audio)、视频(Video)等。第一数据类型和第二数据类型分别对应于所述匹配成功的数据块以及目标数据块,其可以相同也可以不同。所述索引区间依赖于比对数据的粒度,例如文字数据比较的粒度可以是行、段等等,图片数据比较的粒度可以是张等,则所述索引区间可以为行号、段号、图片张数等,所述两个索引区间也来自不同的文件。
所述标志位用于表征所述数据块与所述目标数据块匹配成功的类型,表示相关的数据状态,例如,文字数据的共通(Common)、添加(Added)、删除(Omitted)、变更(Changed);图片的添加(Added)、删除(Omitted)、匹配(Matched)等等。在具体实施时,可以设置一定长度的标志位,将所述标志位的每一位定义一种类型。例如,可以用一个无符号64位整数的0-15位表征文字数据的相关匹配类型,17-31位表征图片数据的相关匹配类型,32-47位表征音频数据的相关匹配类型,48-63位表征视频数据的相关匹配类型。
值得说明的是,这里的匹配成功是更为广义上的匹配成功,即能够通过上述比较过程建立起对应的逻辑联系的两个部分都属于所述匹配成功。举例来讲,通过上述方法,对于两个文档中的差分内容也能够在对应的另一文档中找到对应位置,因此,对于这种情况也属于本实施例中所描述的匹配成功。
具体来说,对于比较结果中的每一第一共通数据块,所述第一数据类型为该第一共通数据块的数据类型,所述第二数据类型为与该第一共通数据块为对应共通关系的第二共通数据块的数据类型。所述第一索引区间包括该第一共通数据块在所述第一文档中的位置信息,所述第二索引区间包括所述第二共通数据块在所述第二文档中的位置信息,所述标志位包括表征所述第一共通数据块与第二共通数据块为共通关系的标志信息。
对于所述第一文档中相对所述第二文档的变更数据块对,所述第一数据类型为所述第一文档中的第一变更数据块的数据类型,所述第二数据类型为所述第二文档中对应于所述第一变更数据块的第二变更数据块的数据类型,所述第一索引区间包括该第一变更数据块在所述第一文档中的位置信息,所述第二索引区间包括所述第二变更数据块在所述第二文档中的位置信息,所述标志位包括表征所述第一变更数据块与第二变更数据块为变更关系的标志信息。
对于所述第一文档相对所述第二文档添加的数据块,所述第一数据类型为该添加的数据块的数据类型,所述第二数据类型为所述第二文档中对应于该添加的数据块的第一目标数据块的数据类型,所述第一索引区间包括该添加的数据块在所述第一文档中的位置信息,所述第二索引区间包括所述第一目标数据块在所述第二文档中的位置信息,所述标志位包括表征该添加的数据块与所述第一目标数据块为添加关系的标志信息。
对于所述第一文档相对所述第二文档删除的数据块,所述第一数据类型为该删除的数据块的数据类型,所述第二数据类型为所述第二文档中对应于该删除的数据块的第二目标数据块的数据类型,所述第一索引区间包括该删除的数据块在所述第一文档中的位置信息,所述第二索引区间包括所述第二目标数据块在所述第二文档中的位置信息,所述标志位包括表征该删除的数据块与目标数据块为删除关系的标志信息。
通过这样的方式,能够将所述第一文档与第二文档的各种内容之间的对应关系进行存储,进而能够根据存储的所述对应关系对所述第一文档以及第二文档进行处理,例如,可以根据对应的添加或者删除关系在对应文档的对应位置添加相应的表征添加或者删除关系的标记,从而为后续处理过程提供支持。
图4是本公开一示例性实施例所示出的一种文档差分内容的对齐装置的框图,参照图4,所述装置400包括:
比较模块401,用于针对第一文档和第二文档中的每一种类型的数据,将所述第一文档和所述第二文档中属于同一种类型的数据进行比对,得到所述第一文档和所述第二文档中每一种类型的数据之间的差分内容,以及每一种类型的数据的共通数据块对;
第一排序模块402,用于根据所述第一文档中的第一共通数据块在所述第一文档中的位置信息对所述第一共通数据块进行排序,得到第一共通数据块序列;以及
第二排序模块403,根据所述第二文档中的第二共通数据块在所述第二文档中的位置信息对所述第二共通数据块进行排序,得到第二共通数据块序列;
第一确定模块404,用于根据每一所述差分内容在所属文档中的相邻共通数据块,以及共通数据块对应关系,确定该差分内容在另一文档中的对齐位置,所述共通数据块对应关系为所述第一共通数据块序列中的第一共通数据块与所述第二共通数据块序列中的第二共通数据块之间的对应关系。
所述装置能够通过对第一文档以及第二文档中的每一种同类型数据进行对比,从而能够得到所述第一文档和所述第二文档中每一种类型的数据之间的差分内容以及该类型数据的共通数据块对。此外,还可以根据第一文档中的第一共通数据块的位置信息、第二文档中的第二共通数据块的位置信息分别进行排列,从而得到对应于第一文档的第一共通数据块序列以及对应于第二文档的第二共通数据块序列。这样,针对任一差分内容,便可以根据所述差分内容在其所属的文档中相邻的共通数据块以及共通数据块的对应关系来确定该差分内容在另一文档中的对齐位置,从而实现任一属性内容在不同文档中的对齐。同时,采用这样的方式也能够避免繁琐的算法调用,简化计算流程,进而能够降低资源的使用量,节省电力。
可选地,所述第一确定模块包括:
第一执行子模块,用于针对位于任意两个相邻第一共通数据块之间的差分内容,在所述对应关系中与所述两个相邻第一共通数据块对应的两个第二共通数据块之间不存在差分内容时,将所述两个第二共通数据块的位置作为该差分内容在所述第二文档中的对齐位置。
可选地,所述装置还包括:
第一标记模块,用于在所述第二文档中的所述对齐位置处生成删除标记,表征所述对齐位置处相对于所述第一文档删除了数据内容,并在所述第一文档中将该差分内容以表征内容已在所述第二文档中删除的显示方式进行显示;或者,
第二标记模块,在所述第二文档中的所述对齐位置处生成添加标记,表征该差分内容是所述第一文档相对于所述第二文档,在所述第二文档的所述对齐位置处添加的数据内容,并在所述第一文档中将该差分内容以表征内容为添加的显示方式进行显示。
可选地,所述第一确定模块包括:
第二执行子模块,用于针对位于任意两个相邻第一共通数据块之间的差分内容,在所述对应关系中与该两个相邻第一共通数据块所对应的两个第二共通数据块之间存在差分内容时,将所述两个第二共通数据块之间存在的差分内容的位置,作为所述两个相邻第一共通数据块之间的差分内容在所述第二文档中的对齐位置。
可选地,所述装置包括:
执行模块,用于针对位于首个第一共通数据块之前的差分内容,在所述对应关系中与所述首个第一共通数据块对应的第二共通数据块之前不存在差分内容,且该第二共通数据块之前的位置为空白页时,将所述空白页的中心坐标位置作为该差分内容在所述第二文档中的对齐位置。
可选地,所述装置包括第二确定模块,用于针对图片类型的所述差分内容,确定与所述差分内容相邻的共通数据块,所述第二确定模块包括:
第一确定子模块,用于确定所述差分内容在所属文档中的中心坐标;
第二确定子模块,用于确定所述中心坐标在该文档中的目标页码及目标行号;
第三确定子模块,用于根据该文档中各个共通数据块的页码及行号与所述目标页码和所述目标行号确定与所述差分内容相邻的共通数据块,其中,所述第一文档和所述第二文档在进行数据比对时是按照行划分数据块进行比对的。
可选地,所述装置还包括:
存储模块,用于采用统一的数据格式对任一匹配成功的数据块对进行存储,所述统一的数据格式包括第一数据类型,第二数据类型,第一索引区间,第二索引区间,标志位;
其中,对于每一匹配成功的数据块,所述第一数据类型为该数据块的数据类型,所述第二数据类型为与该数据块匹配成功的目标数据块的数据类型,所述第一索引区间包括该数据块在所述第一文档中的位置信息,所述第二索引区间包括所述目标数据块在所述第二文档中的位置信息,所述标志位用于表征所述数据块与所述目标数据块匹配成功的类型。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
此外值得注意的是,在上述实施例中为了描述的方便和简洁,对上述各功能单元的划分进行了举例说明,但其各个部分并不一定是本公开所必需的。例如,所述第一排序模块402与所述第二排序模块403在具体实施时可以是相互独立的功能模块也可以是集成的同一功能模块。此外,本领域技术人员也应当知晓,在实际应用中,也可以根据需要而将上述功能分配由不同的功能单元完成,即将装置的内部结构划分成不同的功能单元,以完成以上描述的全部或者部分功能。上述描述功能单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本公开还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一实施例所述的文档差分内容的对齐方法的步骤。
本公开还提供一种电子设备,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现上述任一实施例所述的文档差分内容的对齐方法的步骤。
图5是根据一示例性实施例示出的一种电子设备500的框图。如图5所示,该电子设备500可以包括:处理器501,存储器502。该电子设备500还可以包括多媒体组件503,输入/输出(I/O)接口504,以及通信组件505中的一者或多者。
其中,处理器501用于控制该电子设备500的整体操作,以完成上述的文档差分内容的对齐方法中的全部或部分步骤。存储器502用于存储各种类型的数据以支持在该电子设备500的操作,这些数据例如可以包括用于在该电子设备500上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如待比较的文档、文档的比较结果等等。该存储器502可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件503可以包括屏幕组件。其中屏幕例如可以是触摸屏。I/O接口504为处理器501和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件505用于该电子设备500与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near Field Communication,简称NFC),2G、3G、4G、NB-IOT、eMTC、或其他5G等等,或它们中的一种或几种的组合,在此不做限定。因此相应的该通信组件505可以包括:Wi-Fi模块,蓝牙模块,NFC模块等等。
在一示例性实施例中,电子设备500可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital SignalProcessing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的文档差分内容的对齐方法。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的文档差分内容的对齐方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器702,上述程序指令可由电子设备700的处理器701执行以完成上述的文档差分内容的对齐方法。
在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于执行上述的文档差分内容的对齐方法的代码部分。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。

Claims (10)

1.一种文档差分内容的对齐方法,其特征在于,所述方法包括:
针对第一文档和第二文档中的每一种类型的数据,将所述第一文档和所述第二文档中属于同一种类型的数据进行比对,得到所述第一文档和所述第二文档中每一种类型的数据之间的差分内容,以及每一种类型的数据的共通数据块对;
根据所述第一文档中的第一共通数据块在所述第一文档中的位置信息对所述第一共通数据块进行排序,得到第一共通数据块序列,以及根据所述第二文档中的第二共通数据块在所述第二文档中的位置信息对所述第二共通数据块进行排序,得到第二共通数据块序列;
根据每一所述差分内容在所属文档中的相邻共通数据块,以及共通数据块对应关系,确定该差分内容在另一文档中的对齐位置,所述共通数据块对应关系为所述第一共通数据块序列中的第一共通数据块与所述第二共通数据块序列中的第二共通数据块之间的对应关系。
2.根据权利要求1所述的方法,其特征在于,所述根据每一所述差分内容在所属文档中的相邻共通数据块,以及共通数据块对应关系,确定该差分内容在另一文档中的对齐位置,包括:
针对位于任意两个相邻第一共通数据块之间的差分内容,若所述对应关系中与所述两个相邻第一共通数据块对应的两个第二共通数据块之间不存在差分内容,则将所述两个第二共通数据块的位置作为该差分内容在所述第二文档中的对齐位置。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在所述第二文档中的所述对齐位置处生成删除标记,表征所述对齐位置处相对于所述第一文档删除了数据内容,并在所述第一文档中将该差分内容以表征内容已在所述第二文档中删除的显示方式进行显示;或者,
在所述第二文档中的所述对齐位置处生成添加标记,表征该差分内容是所述第一文档相对于所述第二文档,在所述第二文档的所述对齐位置处添加的数据内容,并在所述第一文档中将该差分内容以表征内容为添加的显示方式进行显示。
4.根据权利要求1所述的方法,其特征在于,所述根据每一所述差分内容在所属文档中的相邻共通数据块,以及共通数据块对应关系,确定该差分内容在另一文档中的对齐位置,包括:
针对位于任意两个相邻第一共通数据块之间的差分内容,若所述对应关系中与该两个相邻第一共通数据块所对应的两个第二共通数据块之间存在差分内容,则将所述两个第二共通数据块之间存在的差分内容的位置,作为所述两个相邻第一共通数据块之间的差分内容在所述第二文档中的对齐位置。
5.根据权利要求1所述的方法,其特征在于,所述方法包括:
针对位于首个第一共通数据块之前的差分内容,若所述对应关系中与所述首个第一共通数据块对应的第二共通数据块之前不存在差分内容,且该第二共通数据块之前的位置为空白页,则将所述空白页的中心坐标位置作为该差分内容在所述第二文档中的对齐位置。
6.根据权利要求1-5任一项所述的方法,其特征在于,针对图片类型的所述差分内容,与所述差分内容相邻的共通数据块是通过如下方式确定的:
确定所述差分内容在所属文档中的中心坐标,确定所述中心坐标在该文档中的目标页码及目标行号;
根据该文档中各个共通数据块的页码及行号与所述目标页码和所述目标行号确定与所述差分内容相邻的共通数据块,其中,所述第一文档和所述第二文档在进行数据比对时是按照行划分数据块进行比对的。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:对于任一匹配成功的数据块对,采用统一的数据格式进行存储,所述统一的数据格式包括第一数据类型,第二数据类型,第一索引区间,第二索引区间,标志位;
其中,若通过比较能够建立一个文档中的数据块与另一文档中的目标数据块的关联关系,则确定该数据块与所述目标数据块为一匹配成功的数据块对;对于每一匹配成功的数据块,所述第一数据类型为该数据块的数据类型,所述第二数据类型为与该数据块匹配成功的目标数据块的数据类型,所述第一索引区间包括该数据块在所述第一文档中的位置信息,所述第二索引区间包括所述目标数据块在所述第二文档中的位置信息,所述标志位用于表征所述数据块与所述目标数据块匹配成功的类型。
8.一种文档差分内容的对齐装置,其特征在于,所述装置包括:
比较模块,用于针对第一文档和第二文档中的每一种类型的数据,将所述第一文档和所述第二文档中属于同一种类型的数据进行比对,得到所述第一文档和所述第二文档中每一种类型的数据之间的差分内容,以及每一种类型的数据的共通数据块对;
第一排序模块,用于根据所述第一文档中的第一共通数据块在所述第一文档中的位置信息对所述第一共通数据块进行排序,得到第一共通数据块序列;以及
第二排序模块,根据所述第二文档中的第二共通数据块在所述第二文档中的位置信息对所述第二共通数据块进行排序,得到第二共通数据块序列;
第一确定模块,用于根据每一所述差分内容在所属文档中的相邻共通数据块,以及共通数据块对应关系,确定该差分内容在另一文档中的对齐位置,所述共通数据块对应关系为所述第一共通数据块序列中的第一共通数据块与所述第二共通数据块序列中的第二共通数据块之间的对应关系。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-7中任一项所述方法的步骤。
10.一种电子设备,其特征在于,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现权利要求1-7中任一项所述方法的步骤。
CN201911236945.2A 2019-12-05 2019-12-05 文档差分内容的对齐方法、装置、存储介质、电子设备 Active CN111104788B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911236945.2A CN111104788B (zh) 2019-12-05 2019-12-05 文档差分内容的对齐方法、装置、存储介质、电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911236945.2A CN111104788B (zh) 2019-12-05 2019-12-05 文档差分内容的对齐方法、装置、存储介质、电子设备

Publications (2)

Publication Number Publication Date
CN111104788A CN111104788A (zh) 2020-05-05
CN111104788B true CN111104788B (zh) 2023-09-22

Family

ID=70422219

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911236945.2A Active CN111104788B (zh) 2019-12-05 2019-12-05 文档差分内容的对齐方法、装置、存储介质、电子设备

Country Status (1)

Country Link
CN (1) CN111104788B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08190570A (ja) * 1995-01-10 1996-07-23 Hitachi Ltd 文書データの比較検証システム
JP2013105321A (ja) * 2011-11-14 2013-05-30 Hitachi Ltd 文書処理装置、文書構成要素間の関係解析方法およびプログラム
US9275368B1 (en) * 2012-09-25 2016-03-01 Amazon Technologies, Inc. Annotation mapping
CN106897422A (zh) * 2017-02-23 2017-06-27 百度在线网络技术(北京)有限公司 文本处理方法、装置及服务器
CN109597913A (zh) * 2018-11-05 2019-04-09 东软集团股份有限公司 对齐文档图片的方法,装置,存储介质和电子设备
CN109740125A (zh) * 2018-12-28 2019-05-10 东软集团股份有限公司 用于文件比较的更新查找方法、装置、存储介质和设备
CN109740124A (zh) * 2018-12-25 2019-05-10 东软集团股份有限公司 文档比较的差异输出方法、装置、存储介质及电子设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105335360B (zh) * 2014-05-26 2018-06-08 国际商业机器公司 生成文档结构的方法和装置
US20190236102A1 (en) * 2018-01-29 2019-08-01 Planet Data Solutions System and method for differential document analysis and storage
US10838996B2 (en) * 2018-03-15 2020-11-17 International Business Machines Corporation Document revision change summarization

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08190570A (ja) * 1995-01-10 1996-07-23 Hitachi Ltd 文書データの比較検証システム
JP2013105321A (ja) * 2011-11-14 2013-05-30 Hitachi Ltd 文書処理装置、文書構成要素間の関係解析方法およびプログラム
US9275368B1 (en) * 2012-09-25 2016-03-01 Amazon Technologies, Inc. Annotation mapping
CN106897422A (zh) * 2017-02-23 2017-06-27 百度在线网络技术(北京)有限公司 文本处理方法、装置及服务器
CN109597913A (zh) * 2018-11-05 2019-04-09 东软集团股份有限公司 对齐文档图片的方法,装置,存储介质和电子设备
CN109740124A (zh) * 2018-12-25 2019-05-10 东软集团股份有限公司 文档比较的差异输出方法、装置、存储介质及电子设备
CN109740125A (zh) * 2018-12-28 2019-05-10 东软集团股份有限公司 用于文件比较的更新查找方法、装置、存储介质和设备

Also Published As

Publication number Publication date
CN111104788A (zh) 2020-05-05

Similar Documents

Publication Publication Date Title
CN108536745B (zh) 基于Shell的数据表提取方法、终端、设备及存储介质
US11222067B2 (en) Multi-index method and apparatus, cloud system and computer-readable storage medium
CN112115111A (zh) 一种基于ocr的文档版本管理方法和系统
CN111506608A (zh) 一种结构化文本的比较方法和装置
CN109740125B (zh) 用于文件比较的更新查找方法、装置、存储介质和设备
US8255424B2 (en) System and method for structuring data in a storage device
CN111602129B (zh) 针对注释和墨迹的智能搜索
CN111104788B (zh) 文档差分内容的对齐方法、装置、存储介质、电子设备
CN117671696A (zh) 一种ocr识别结果的处理方法及装置
CN111813485A (zh) 页面布局的处理方法、装置、设备及计算机可读存储介质
CN111190896B (zh) 数据处理方法、装置、存储介质和计算机设备
CN109977873B (zh) 基于手写笔迹的笔记生成方法、电子设备及存储介质
CN117390011A (zh) 报表数据处理方法、装置、计算机设备和存储介质
CN116755820A (zh) 选择页面数据的方法、装置、设备以及存储介质
CN111858581A (zh) 一种分页查询的方法、装置、存储介质和电子设备
CN107943760B (zh) Pdf文档编辑的字体优化方法、装置、终端设备和存储介质
CN115632866A (zh) 基于fpga实现的报文脱敏方法、装置、设备及介质
JP6994138B2 (ja) 情報管理装置並びにファイル管理方法
US20210056254A1 (en) Information processing apparatus and non-transitory computer readable medium
US20210208845A1 (en) Information processing apparatus and non-transitory computer readable medium
CN109840080B (zh) 字符属性比较方法、装置、存储介质及电子设备
CN113553454A (zh) 图元数据处理方法、装置及电子设备
CN108073712B (zh) 信息系统中的主数据删除方法、装置和计算机设备
CN107766863B (zh) 图像表征方法和服务器
CN112667596A (zh) 一种对多个逻辑数据类型字段的替代表示方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant