一种可扩展标记语言解析系统及方法技术方案

技术编号:29401275 阅读:16 留言:0更新日期:2021-07-23 22:38
本发明专利技术提供一种可扩展标记语言解析系统及方法,包括:预先配置的至少一解析规则集;预先获取连接适配层的至少一网元管理系统的基本信息及其关联的解析规则集的存储路径;接收网元管理系统发送的采用可扩展标记语言的文档并获取网元管理系统的基本信息;根据基本信息匹配得到对应的存储路径并加载相应的解析规则集;依次读取文档中的待解析元素,针对每个待解析元素,根据获取得到的待解析元素的当前路径信息由解析规则集中进行解析规则的匹配,并在匹配到对应的解析规则时,执行对应的规则内容以对待解析元素进行解析得到解析内容。有益效果是各个网元管理系统的报文差异和网管接口版本差异可以通过一套解析配置规则适配,极大降低运维成本。

【技术实现步骤摘要】
一种可扩展标记语言解析系统及方法
本专利技术涉及通信
,尤其涉及一种可扩展标记语言解析系统及方法。
技术介绍
一直以来光传输网由于采用多厂家混合组网,各运营商上层OSS系统(OperationSupportSystems,运营支撑系统)对于网络缺乏一个有效的端到端的管控能力,网络的管控基本依赖各厂家的EMS网管系统(ElementManagementSystem,网元管理系统)。在云网融合大背景下,厂家要求按照《中国电信传输专业网管采集控制层接口规范》以WebService的形式开发规范中定义的接口,为运营商上层OSS系统实现对多厂家混合组网场景下的网络的统一管理及业务端到端模型提供数据基础和能力保证。但厂家对于规范的理解差异造成各个厂家对规范实现和接口的入参和出参的差异,规范的迭代更新也会造成厂家网管软件接口版本的不兼容。对于Java编程语言,可以使用Aegis,JAXB,SDO,XMLBeans等数据绑定技术,使用XSD、WSDL等规范描述文件生成Java代码,将XML映射到对象属性,但上述数据绑定技术只能将XML(ExtensibleMarkupLanguage,可扩展标记语言)元素与对象属性一对一的绑定,无法处理将多种不规则的XML与对象属性绑定,上层应用仍然需要适配不同厂家和不同网管版本的差异,如果XSD或WSDL不规范或者版本迭代之间不兼容,需要生成多份不同版本的Java代码。对于部署的服务,需要多个版本的客户端与服务端兼容,由此带来上层应用系统的开发与部署困难。
技术实现思路
针对现有技术中存在的问题,本专利技术提供一种可扩展标记语言解析系统,配置于光传输网的适配层,包括:第一存储模块,用于保存预先配置的至少一解析规则集,所述解析规则集包括多条解析规则,每条所述解析规则包括路径信息以及对应的规则内容;第二存储模块,用于保存预先获取的连接所述适配层的至少一网元管理系统的基本信息,以及所述基本信息关联的适配对应的所述网元管理系统的所述解析规则集的存储路径;解析模块,分别连接所述第一存储模块和所述第二存储模块,所述解析模块包括:接收单元,用于接收所述网元管理系统发送的采用可扩展标记语言的文档,并获取发送所述文档的所述网元管理系统的所述基本信息;加载单元,连接所述接收单元,用于根据所述基本信息匹配得到对应的所述存储路径,并根据所述存储路径由所述第一存储模块中加载相应的所述解析规则集;解析单元,分别连接所述接收单元和所述加载单元,用于依次读取所述文档中的待解析元素,针对每个所述待解析元素,根据获取得到的所述待解析元素的当前路径信息由所述解析规则集中进行所述解析规则的匹配,并在匹配到对应的所述解析规则时,执行对应的所述规则内容以对所述待解析元素进行解析得到解析内容。优选的,所述解析规则集被配置为包括:占位符部分,被配置为存储各所述解析规则的占位符;前缀部分,被配置为存储各所述解析规则的通用前缀;规则内容部分,被配置为存储各所述解析规则中去除所述占位符和所述通用前缀的剩余内容。优选的,所述剩余内容包括去除所述通用前缀的节点路径以及所述规则内容;则针对每条所述解析规则,所述解析单元由所述解析规则集中获取所述通用前缀以及所述剩余内容中的去除所述通用前缀的节点路径处理得到所述路径信息,以与所述当前路径信息进行匹配。优选的,所述规则内容包括标签位置标记和解析动作,所述标签位置标记包括起始标签位置、文本标签位置和结束标签位置;则所述解析单元包括:读取子单元,用于在匹配到对应的所述解析规则时,读取所述规则内容中所述起始标签位置的声明头获取所述待解析元素的数据结构;第一解析子单元,连接所述读取子单元,用于在所述数据结构为哈希表结构时,根据所述文本标签位置读取所述待解析元素的文本值,随后根据所述结束标签位置关联的所述解析动作对所述文本值进行处理得到所述待解析元素的所述解析内容;第二解析子单元,连接所述读取子单元,用于在所述数据结构为链表结构时,根据所述文本标签位置读取所述待解析元素的所述文本值,随后根据所述结束标签位置关联的所述解析动作将所述文本值以分隔符拼接的形式赋值给所述规则内容中预先配置的对象字段作为所述解析内容。优选的,所述数据结构为所述哈希表结构时,所述解析动作包括根据所述声明头中预先定义的标签与对象字段的映射关系将作为所述标签的所述文本值赋值给所述对象字段,或根据所述映射关系将作为所述标签的所述文本值以及所述数据结构的键值赋值给所述对象字段,或根据所述映射关系将作为所述标签的所述文本值以及所述键值赋值给所述对象字段,并在所述对象字段中存在一历史值时,将所述文本值和所述键值追加至所述历史值之后,或将所述文本值转换成JSON字符串后赋值给所述对象字段,或将所述文本值拼接形成一字符串后赋值给所述对象字段,或将所述文本值赋值给所述规则内容中预先配置的一预设字段。优选的,所述适配层通过所述网元管理系统的访问地址与所述网元管理系统建立连接,则所述接收单元通过所述访问地址获取发送所述文档的所述网元管理系统的所述基本信息。优选的,所述基本信息包括所述网元管理系统的厂家标识和软件版本。优选的,所述解析规则集按照分层目录结构存储于所述第一存储模块中,所述分层目录结构将所述厂家标识作为第一层目录,将所述软件版本作为所述第二层目录。本专利技术还提供一种可扩展标记语言解析方法,应用于上述的可扩展标记语言解析系统,所述可扩展标记语言解析系统中预先配置有至少一解析规则集,所述解析规则集包括多条解析规则,每条所述解析规则包括路径信息以及对应的规则内容;所述可扩展标记语言解析系统中还配置有预先获取的连接所述适配层的至少一网元管理系统的基本信息,以及所述基本信息关联的适配对应的所述网元管理系统的所述解析规则集的存储路径;则所述可扩展标记语言解析方法包括:步骤S1,所述可扩展标记语言解析系统接收所述网元管理系统发送的采用可扩展标记语言的文档,并获取发送所述文档的所述网元管理系统的所述基本信息;步骤S2,所述可扩展标记语言解析系统根据所述基本信息匹配得到对应的所述存储路径,并根据所述存储路径加载相应的所述解析规则集;步骤S3,所述可扩展标记语言解析系统依次读取所述文档中的待解析元素作为当前待解析元素;步骤S4,针对每个所述当前待解析元素,所述可扩展标记语言解析系统根据获取得到的所述当前待解析元素的当前路径信息由所述解析规则集中进行所述解析规则的匹配,是否匹配到对应的所述解析规则:若否,则转向步骤S5;若是,则执行对应的所述规则内容以对所述当前待解析元素进行解析得到解析内容;步骤S5,所述可扩展标记语言解析系统判断所述文档中的所有所述待解析元素是否均解析完成:若是,则退出;若否,则将下一个待解析元素作为所述当前待解析元素,随后返回所述步骤S4。优选的,所述规则内容包括标签位本文档来自技高网...

【技术保护点】
1.一种可扩展标记语言解析系统,配置于光传输网的适配层,其特征在于,包括:/n第一存储模块,用于保存预先配置的至少一解析规则集,所述解析规则集包括多条解析规则,每条所述解析规则包括路径信息以及对应的规则内容;/n第二存储模块,用于保存预先获取的连接所述适配层的至少一网元管理系统的基本信息,以及所述基本信息关联的适配对应的所述网元管理系统的所述解析规则集的存储路径;/n解析模块,分别连接所述第一存储模块和所述第二存储模块,所述解析模块包括:/n接收单元,用于接收所述网元管理系统发送的采用可扩展标记语言的文档,并获取发送所述文档的所述网元管理系统的所述基本信息;/n加载单元,连接所述接收单元,用于根据所述基本信息匹配得到对应的所述存储路径,并根据所述存储路径由所述第一存储模块中加载相应的所述解析规则集;/n解析单元,分别连接所述接收单元和所述加载单元,用于依次读取所述文档中的待解析元素,针对每个所述待解析元素,根据获取得到的所述待解析元素的当前路径信息由所述解析规则集中进行所述解析规则的匹配,并在匹配到对应的所述解析规则时,执行对应的所述规则内容以对所述待解析元素进行解析得到解析内容。/n

【技术特征摘要】
1.一种可扩展标记语言解析系统,配置于光传输网的适配层,其特征在于,包括:
第一存储模块,用于保存预先配置的至少一解析规则集,所述解析规则集包括多条解析规则,每条所述解析规则包括路径信息以及对应的规则内容;
第二存储模块,用于保存预先获取的连接所述适配层的至少一网元管理系统的基本信息,以及所述基本信息关联的适配对应的所述网元管理系统的所述解析规则集的存储路径;
解析模块,分别连接所述第一存储模块和所述第二存储模块,所述解析模块包括:
接收单元,用于接收所述网元管理系统发送的采用可扩展标记语言的文档,并获取发送所述文档的所述网元管理系统的所述基本信息;
加载单元,连接所述接收单元,用于根据所述基本信息匹配得到对应的所述存储路径,并根据所述存储路径由所述第一存储模块中加载相应的所述解析规则集;
解析单元,分别连接所述接收单元和所述加载单元,用于依次读取所述文档中的待解析元素,针对每个所述待解析元素,根据获取得到的所述待解析元素的当前路径信息由所述解析规则集中进行所述解析规则的匹配,并在匹配到对应的所述解析规则时,执行对应的所述规则内容以对所述待解析元素进行解析得到解析内容。


2.根据权利要求1所述的可扩展标记语言解析系统,其特征在于,所述解析规则集被配置为包括:
占位符部分,被配置为存储各所述解析规则的占位符;
前缀部分,被配置为存储各所述解析规则的通用前缀;
规则内容部分,被配置为存储各所述解析规则中去除所述占位符和所述通用前缀的剩余内容。


3.根据权利要求2所述的可扩展标记语言解析系统,其特征在于,所述剩余内容包括去除所述通用前缀的节点路径以及所述规则内容;
则针对每条所述解析规则,所述解析单元由所述解析规则集中获取所述通用前缀以及所述剩余内容中的去除所述通用前缀的节点路径处理得到所述路径信息,以与所述当前路径信息进行匹配。


4.根据权利要求1所述的可扩展标记语言解析系统,其特征在于,所述规则内容包括标签位置标记和解析动作,所述标签位置标记包括起始标签位置、文本标签位置和结束标签位置;
则所述解析单元包括:
读取子单元,用于在匹配到对应的所述解析规则时,读取所述规则内容中所述起始标签位置的声明头获取所述待解析元素的数据结构;
第一解析子单元,连接所述读取子单元,用于在所述数据结构为哈希表结构时,根据所述文本标签位置读取所述待解析元素的文本值,随后根据所述结束标签位置关联的所述解析动作对所述文本值进行处理得到所述待解析元素的所述解析内容;
第二解析子单元,连接所述读取子单元,用于在所述数据结构为链表结构时,根据所述文本标签位置读取所述待解析元素的所述文本值,随后根据所述结束标签位置关联的所述解析动作将所述文本值以分隔符拼接的形式赋值给所述规则内容中预先配置的对象字段作为所述解析内容。


5.根据权利要求4所述的可扩展标记语言解析系统,其特征在于,所述数据结构为所述哈希表结构时,所述解析动作包括根据所述声明头中预先定义的标签与对象字段的映射关系将作为所述标签的所述文本值赋值给所述对象字段,或
根据所述映射关系将作为所述标签的所述文本值以及所述数据结构的键值赋值给所述对象字段,或
根据所述映射关系将作为所述标签的所述文本值以及所述键值赋值给所述对象字段,并在所述对象字段中存在一历史值时,将所述文本值和所述键值追...

【专利技术属性】
技术研发人员:刘朝阳王骞仇道路
申请(专利权)人:中国电信集团工会上海市委员会
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1