富文本数据处理方法、装置、设备、存储介质及程序产品与流程

摘要: 本技术涉及数据处理,尤其涉及富文本数据处理方法、装置、设备、存储介质及程序产品。背景技术:1、在融媒体内容生产与内容管理系统(contentmanagement...
富文本数据处理方法、装置、设备、存储介质及程序产品与流程

本技术涉及数据处理,尤其涉及富文本数据处理方法、装置、设备、存储介质及程序产品。

背景技术:

1、在融媒体内容生产与内容管理系统(content management system,cms)场景下,编辑人员对同一图文稿件多次修改保存后会形成多个历史版本。审阅人员需要对比当前版本与历史版本,精准识别正文文本、图片、音视频及嵌入式富文本组件的增删改变化。该类富文本稿件普遍具有超文本标记语言(hypertext markup language,html)结构复杂、内联样式丰富、媒体元素与文字交错排列的特点。

2、如何在保留完整排版结构的前提下,对两份独立存储的富文本html历史快照进行高精度、语义化的离线差异比对,成为融媒体内容审核、版本追溯与稿件复盘中的关键。

技术实现思路

1、本技术的主要目的在于提供一种富文本数据处理方法、装置、设备、存储介质及程序产品,旨在解决相关技术中富文本数据处理复杂度高的技术问题。

2、第一方面,为实现上述目的,本技术提供一种富文本数据处理方法,方法包括:

3、获取并分别拆分待对比的两个富文本html文档,获得富文本html文档的纯文本片段、媒体片段和嵌套富组件片段;

4、构建第一私用区和第二私用区,针对每一个待对比的富文本html文档,

5、将各媒体片段按照在富文本html文档出现的顺序,从第一私用区的起始位置分配第一私用区占位符,将各嵌套富组件片段按照在富文本html文档出现的顺序,从第二私用区的起始位置分配第二私用区占位符;其中,分配过程中记录各占位符归属的富文本html文档;

6、将第一私用区占位符、第二私用区占位符和纯文本片段按照对应富文本html文档的原始排列顺序有序拼接,获得待对比的两个扁平化片段序列;

7、对两个扁平化片段序列进行差异计算,确定各片段的操作类型;

8、基于操作类型,对纯文本片段、媒体片段和嵌套富组件片段进行行为判定,确定富文本html文档的变更情况。

9、在一实施例中,针对每一个待对比的富文本html文档,将各媒体片段按照在富文本html文档出现的顺序分配第一私用区占位符,将各嵌套富组件片段按照在富文本html文档出现的顺序分配第二私用区占位符的步骤包括:

10、基于各媒体片段在富文本html文档中的出现顺序,为各媒体片段从第一私用区的起始区间开始,依次分配第一私用区占位符,建立第一私用区占位符与对应媒体片段之间的第一映射关系;

11、基于各嵌套富组件片段在富文本html文档中的出现顺序,为各嵌套富组件片段从第二私用区的起始区间开始依次分配第二私用区占位符,建立第二私用区占位符与对应嵌套富组件片段之间的第二映射关系。

12、在一实施例中,将第一私用区占位符、第二私用区占位符和纯文本片段按照原始排列顺序有序拼接,获得待对比的两个扁平化片段序列的步骤之前,还包括步骤:

13、将第一私用区占位符、第二私用区占位符和纯文本片段按照原始排列顺序有序拼接,获得待对比的两个扁平化字符序列的步骤之前,还包括步骤:

14、识别纯文本片段中与第一私用区占位符和第二私用区占位符发生冲突的原生字符;

15、将原生字符替换为预设对象替换字符。

16、在一实施例中,基于操作类型,对纯文本片段、媒体片段和嵌套富组件片段进行行为判定,确定富文本html文档的变更情况的步骤包括:

17、基于第一映射关系,对扁平化片段序列中的第一私用区占位符进行逆映射处理,确定第一私用区占位符对应的媒体片段的操作类型;

18、基于第二映射关系,对扁平化片段序列中的第二私用区占位符进行逆映射处理,确定第二私用区占位符对应的嵌套富组件片段的操作类型;

19、对纯文本片段、媒体片段和嵌套富组件片段进行行为判定,确定富文本html文档的变更情况。

20、在一实施例中,对纯文本片段、媒体片段和嵌套富组件片段进行行为判定,确定富文本html文档的变更情况的步骤包括:

21、若两个富文本html文档中同一对齐位置的第一媒体片段和第二媒体片段的操作类型为不变,则确定第一媒体片段和第二媒体片段的媒体类型;

22、若媒体类型不同,则确定变更情况为替换;

23、若媒体类型不相同,则比对第一媒体片段的资源地址和第二媒体片段的资源地址;

24、若不相同,则确定变更情况为替换。

25、在一实施例中,对纯文本片段、媒体片段和嵌套富组件片段进行行为判定,确定富文本html文档的变更情况的步骤包括:

26、若两个富文本html文档中同一对齐位置的第一嵌套富组件片段和第二嵌套富组件片段的操作类型为不变,则确定第一嵌套富组件片段和第二嵌套富组件片段的唯一标识;

27、若唯一标识不同,则确定变更情况为替换;

28、若唯一标识相同,则对第一嵌套富组件片段的内部dom结构和第二嵌套富组件的内部dom结构进行递归差异计算,以确定内容变更情况。

29、第二方面,为实现上述目的,本技术继续提供一种富文本数据处理装置,装置包括:

30、获取模块,用于获取并分别拆分待对比的两个富文本html文档,获得富文本html文档的纯文本片段、媒体片段和嵌套富组件片段;

31、分配模块,构建第一私用区和第二私用区,针对每一个待对比的富文本html文档,

32、将各媒体片段按照在富文本html文档出现的顺序,从第一私用区的起始位置分配第一私用区占位符,将各嵌套富组件片段按照在富文本html文档出现的顺序,从第二私用区的起始位置分配第二私用区占位符;其中,分配过程中记录各占位符归属的富文本html文档;

33、拼接模块,用于将第一私用区占位符、第二私用区占位符和纯文本片段按照对应富文本html文档的原始排列顺序有序拼接,获得待对比的两个扁平化片段序列;

34、差异计算模块,用于对两个扁平化片段序列进行差异计算,确定各片段的操作类型;

35、情况确定模块,用于基于操作类型,对纯文本片段、媒体片段和嵌套富组件片段进行行为判定,确定富文本html文档的变更情况。

36、第三方面,为实现上述目的,本技术继续提供一种富文本数据处理设备,设备包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,计算机程序配置为实现上述的富文本数据处理方法的步骤。

37、第四方面,为实现上述目的,本技术继续提供一种存储介质,存储介质为计算机可读存储介质,存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述的富文本数据处理方法的步骤。

38、第五方面,为实现上述目的,本技术继续提供一种计算机程序产品,计算机程序产品包括计算机程序,计算机程序被处理器执行时实现上的富文本数据处理方法的步骤。

39、本技术提出的一个或多个技术方案,至少具有以下技术效果:

40、本技术通过将富文本html文档拆分为纯文本片段、媒体片段和嵌套富组件片段,并利用相互隔离的第一私用区和第二私用区对媒体片段及嵌套富组件片段进行原子化占位,将复杂的html结构转换为可进行统一差异计算的扁平化片段序列,在避免原生字符与占位符冲突的同时,借助通用差异算法确定各片段的操作类型,并通过映射关系恢复媒体片段和嵌套富组件片段的原始结构,进一步结合媒体类型、资源地址及嵌套富组件唯一标识进行变更行为判定,并对同一嵌套富组件进行内部递归差异计算,从而能够在保留原有富文本结构和组件完整性的基础上,实现对文本、媒体及复杂富组件的精准增删改识别,降低复杂html直接比对造成的结构错乱和语义误判,提高富文本版本差异比对的准确性、完整性及可读性。