技术新讯 > 计算推算,计数设备的制造及其应用技术 > 一种XML结构化数据通用对比方法、装置及设备与流程  >  正文

一种XML结构化数据通用对比方法、装置及设备与流程

  • 国知局
  • 2024-08-08 16:55:43

本技术涉及通信网络管理领域,具体涉及一种xml结构化数据通用对比方法、装置及设备。

背景技术:

1、随着通信网络高速发展,网络管理系统的管理功能也日渐复杂,为了满足网络集约化的要求、支持各种不同的接入设备同时进行管理的需求,网络管理系统采用了用户侧功能抽象模型和设备侧配置数据模型分离的设计,不同设备按照各自的数据模型要求生成配置数据完成管理操作。在系统升级时,为了确保配置数据的兼容性、一致性,需要通过将新、旧版本网络管理系统的设备侧配置模型数据导出成结构化xml(extensible markuplanguage,可扩展标记语言)文本,并对新、旧版本的数据文本进行比对,检查系统的模型转换逻辑是否会导致设备配置模型数据差异,影响设备运行。

2、相关技术中,由于管理的设备种类、业务种类、配置功能数量庞大,导致网络管理系统的设备侧数据模型数量庞大,总数达到数百种,不同的模型数据在生成逻辑、格式、数据保存顺序上各有不同,导致数据导出后,通过现有的文本对比工具来对比分析数据差异时,对比结果包含干扰信息过多,导致对比结果不可靠或不可用,并且人工审查工作量巨大,很难检查出真正问题所在,无法确保比对审查结果的正确性。

技术实现思路

1、本技术提供一种xml结构化数据通用对比方法、装置及设备,可以解决现有技术中存在的对比结果包含干扰信息过多,且正确性较低的技术问题。

2、第一方面,本技术实施例提供一种xml结构化数据通用对比方法,其包括步骤:

3、读取xml数据文件并保留xml各元素的结构化信息,得到简化的元素结构树;上述结构化信息包括元素名称、属性列表和文本数据;

4、遍历上述元素结构树,生成各元素的元素标识键值,并对各元素标识键值按顺序排序,得到元素标识键值序列;上述元素标识键值包括从根元素到该元素的路径上所有元素的元素名称和该元素的属性,上述属性由上述属性列表提取;

5、将两个xml数据文件的元素标识键值序列进行合并得到混合序列;

6、将混合序列中各元素标识键值对应的结构化信息进行对比,生成每个元素的对比结果。

7、结合第一方面,在一种实施方式中,上述读取xml数据文件并保留xml各元素的结构化信息,具体包括:

8、读取xml数据文件,生成xml元素树;

9、遍历上述xml元素树,去除xml版本声明、xml文档格式和模式声明、数据名称空间声明和外部引用、注释、以及原始数据声明,得到xml各元素的结构化信息。

10、结合第一方面,在一种实施方式中,生成任一元素的元素标识键值,具体包括:

11、获取从根元素到该元素的路径上所有元素名称,并按照路径顺序组合成该元素的位置标识;

12、获取该元素的属性列表,取所有属性名称,按照属性名称顺序排列并组合成该元素的结构标识;

13、若上述属性列表的属性值项数大于等于3,则按照列表顺序,取前3项属性值组合成该元素的数据标识;否则,按照列表顺序获取各属性值,并组合成该元素的数据标识;

14、将该元素的位置标识、结构标识和数据标识通过分隔符号连接,形成该元素的元素标识键值。

15、结合第一方面,在一种实施方式中,将两个xml数据文件的元素标识键值序列进行合并,具体包括:

16、两个xml数据文件的元素标识键值序列分别为新元素标识键值序列和旧元素标识键值序列;

17、当新元素标识键值的位置标识和结构标识与旧元素标识键值均相同、新元素标识键值的位置标识和结构标识包含旧元素标识键值的位置标识和结构标识、或者旧元素标识键值的位置标识和结构标识包含新元素标识键值的位置标识和结构标识时,合并两个元素标识键值;此时,判断新元素标识键值和旧新元素标识键值相关;

18、当新元素标识键值不存在相关的旧元素标识键值时,保留新元素标识键值;

19、当旧元素标识键值不存在相关的新元素标识键值时,保留旧元素标识键值。

20、结合第一方面,在一种实施方式中,将两个xml数据文件的元素标识键值序列进行合并得到混合序列时,还包括:

21、分别在两个元素标识键值序列中标识出每个元素标识键值的合并状态。

22、结合第一方面,在一种实施方式中,分别在两个元素标识键值序列中标识出每个元素标识键值的合并状态,具体包括:

23、将旧元素标识键值序列中的所有元素标识键值的合并状态均标记为仅有旧状态;

24、当新元素标识键值的位置标识和结构标识与旧元素标识键值的位置标识和结构标识相同时,将该新元素标识键值和旧元素标识键值的合并状态均标记为新旧相同状态;

25、当新元素标识键值的位置标识和结构标识包含旧元素标识键值的位置标识和结构标识时,将该新元素标识键值和旧元素标识键值的合并状态均标记为新包含旧状态;

26、当旧元素标识键值的位置标识和结构标识包含新元素标识键值的位置标识和结构标识时,将该新元素标识键值和旧元素标识键值的合并状态均标记为旧包含新状态;

27、当新元素标识键值不存在相关的旧元素标识键值时,将该新元素标识键值的合并状态标记为仅有新状态。

28、结合第一方面,在一种实施方式中,将混合序列中各元素标识键值对应的结构化信息进行对比,生成每个元素的对比结果,具体包括:

29、依次获取上述混合序列中各元素标识键值对应的合并状态;上述合并状态包括新旧相同状态、新包含旧状态、旧包含新状态、仅有新状态、以及仅有旧状态;

30、分别将新旧相同状态、新包含旧状态、旧包含新状态的元素标识键值对应的两个元素的结构化信息进行对比,并生成相应的对比结果;

31、对于合并状态为仅有新状态或仅有旧状态的元素标识键值对应的元素,其对比结果直接标记为仅有新或仅有旧。

32、结合第一方面,在一种实施方式中,分别将新旧相同状态、新包含旧状态、旧包含新状态的元素标识键值对应的两个元素的结构化信息进行对比时,若两个元素的结构化信息相同,则其对比结果标记为相同;否则,标记为存在差异。

33、第二方面,本技术实施例提供了一种xml结构化数据通用对比装置,上述xml结构化数据通用对比装置包括:

34、元素结构树生成模块,其用于读取xml数据文件并保留xml各元素的结构化信息,得到简化的元素结构树;上述结构化信息包括元素名称、属性列表和文本数据;

35、元素标识键值序列生成模块,其用于遍历上述元素结构树,生成各元素的元素标识键值,并对各元素标识键值按顺序排序,得到元素标识键值序列;上述元素标识键值包括从根元素到该元素的路径上所有元素的元素名称和该元素的属性,上述属性由上述属性列表提取;

36、合并模块,其用于将两个xml数据文件的元素标识键值序列进行合并得到混合序列;

37、对比模块,其用于将混合序列中各元素标识键值对应的结构化信息进行对比,生成每个元素的对比结果。

38、第三方面,本技术实施例提供了一种xml结构化数据通用对比设备,上述xml结构化数据通用对比设备包括处理器、存储器、以及存储在上述存储器上并可被上述处理器执行的xml结构化数据通用对比程序,其中上述xml结构化数据通用对比程序被上述处理器执行时,实现如上述的xml结构化数据通用对比方法的步骤。

39、本技术实施例提供的技术方案带来的有益效果包括:

40、通过读取xml数据文件并保留xml各元素的结构化信息,得到简化的元素结构树;上述结构化信息包括元素名称、属性列表和文本数据;然后遍历上述元素结构树,生成各元素的元素标识键值,并对各元素标识键值按顺序排序,得到元素标识键值序列;上述元素标识键值包括从根元素到该元素的路径上所有元素的元素名称和该元素的属性,上述属性由上述属性列表提取;将两个xml数据文件的元素标识键值序列进行合并得到混合序列,将混合序列中各元素标识键值对应的结构化信息进行对比,生成每个元素的对比结果;既保留了对元素语意的识别,同时又缩小文本比较的范围,减少上下文数据的干扰,以实现准确比较数据的目标,解决相关技术中存在的对比结果包含干扰信息过多,且正确性较低的技术问题。

本文地址:https://www.jishuxx.com/zhuanli/20240808/271250.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。