一种在YANG模型中定义数据关系的方法、装置及系统制造方法及图纸

技术编号:19822543 阅读:28 留言:0更新日期:2018-12-19 14:58
本发明专利技术公开了一种在YANG模型中定义数据关系的方法、装置及系统,涉及通信技术领域中的网络管理技术,所述方法包括:网管侧获取来自网元的表征YANG模型的YANG文件;当所述网管侧需要对业务实体进行操作时,根据所述YANG文件,确定待操作的所述业务实体是否存在具有数据关系的模块间实体;所述网管侧根据确定结果,控制所述网元执行相应操作,实现对所述业务实体的操作。本发明专利技术可以在YANG业务模型上定义出模块间数据项的关系,减少模型无法完整表达数据项间关系带来的维护、操作等不便,减少沟通和开发成本,提高模型定义的完整性。

【技术实现步骤摘要】
一种在YANG模型中定义数据关系的方法、装置及系统
本专利技术涉及通信
中的网络管理技术,特别涉及一种在YANG模型中定义数据关系的方法、装置及系统。
技术介绍
YANG是一种数据建模语言,用来建模由NETCONF协议、NETCONF远端过程调用(RPCs)、和NETCONF通知(notification)操作的配置数据和状态数据。YANG模型是一种树形结构的建模语言,具有良好的可读性和可扩展性,它具有自己的语法格式,可以无差地转化为XML格式,同时通过yangtoolsplugin可以自动生成相应的java接口、类及方法等,为使用者处理编程提供了很大的便利,因此用YANG语言来建模业务模型已经渐渐地广泛应用于现有网络管理。然而在工程上,网管或第三方APP在下发NETCONF请求时,需要知道数据项之间的关系,比如:数据项间依赖、互斥等关系,然后根据此关系去下发合适的报文,以完成工程上的应用需要,比如有依赖的实体双方,在创建实体时须保证被依赖的实体存在,否则会导致创建失败。NETCONF数据模型语言YANG本身虽然提供了丰富的语法来表征数据项之间的关系,比如通过模块内父子节点的定义,能达到模块内的依赖;choicecase能保证各个case间是互斥的,但是在工程上这些手段仍然不足以将数据项之间的关系表达完整,比如无法定义模块间(即存在于不同YANG文件的数据项之间)的依赖/互斥关系等。因此有必要扩展出相应的功能将数据项之间的关系完整表达,在网管/APP和网元之间达成一致的认识,保证网管/APP能根据数据定义模型正确地下发报文。
技术实现思路
根据本专利技术实施例提供的一种在YANG模型中定义数据关系的方法、装置及系统,解决实体间关系表达不完整导致无法保证正确下发报文的问题。根据本专利技术实施例提供的一种在YANG模型中定义数据关系的方法,包括:网管侧获取来自网元的表征YANG模型的YANG文件;当所述网管侧需要对业务实体进行操作时,根据所述YANG文件,确定待操作的所述业务实体是否存在具有数据关系的模块间实体;所述网管侧根据确定结果,控制所述网元执行相应操作,实现对所述业务实体的操作。优选地,所述数据关系包括模块间业务实体的依赖或互斥或关联关系,根据所述YANG文件,确定待操作的所述业务实体是否存在具有数据关系的模块间实体包括:所述网管侧解析所述YANG文件,获得所述业务实体的描述信息;若所述业务实体的描述信息中,存在用于描述模块间业务实体的依赖或互斥或关联关系的YANG扩展语句,则确定所述业务实体存在具有数据关系的模块间实体。优选地,在确定所述业务实体存在具有数据关系的模块间实体的同时,所述网管侧进一步从所述YANG扩展语句中获取所述数据关系的用户策略。优选地,所述操作是创建操作,所述网管侧根据确定结果,控制所述网元执行相应操作,实现对所述业务实体的操作包括:当所述网管侧确定所述业务实体存在依赖的模块间实体时,查询所述网元中是否存在所述依赖的模块间实体;若查询到所述网元中存在所述依赖的模块间实体,则生成用于创建所述业务实体的请求,并发送至所述网元,以便所述网元创建所述业务实体;若未查询到所述网元中存在所述依赖的模块间实体,则生成用于先创建所述依赖的模块间实体再创建所述业务实体的请求,并发送至所述网元,以便所述网元在创建所述依赖的模块间实体后创建所述业务实体优选地,所述操作是创建操作,所述网管侧根据确定结果,控制所述网元执行相应操作,实现对所述业务实体的操作包括:当所述网管侧确定所述业务实体存在互斥的模块间实体时,确定所述互斥关系的用户策略;若确定所述用户策略是配置优先策略,或确定所述用户策略是存在优先策略且未查询到所述网元中存在所述互斥的模块间实体,则生成用于创建所述业务实体的请求,并发送至所述网元,以便所述网元创建所述业务实体;若确定所述用户策略是存在优先策略且查询到所述网元中存在所述互斥的模块间实体,则生成用于先删除所述互斥的模块间实体再创建所述业务实体的请求,并发送至所述网元,以便所述网元在删除所述互斥的模块间实体后创建所述业务实体。优选地,所述操作是创建操作,所述操作是创建操作,所述网管侧根据确定结果,控制所述网元执行相应操作,实现对所述业务实体的操作包括:当所述网管侧确定所述业务实体存在关联的模块间实体时,若确定所述关联的模块间实体满足创建所述业务实体的约束条件,则生成用于创建所述业务实体的请求,并发送至所述网元,以便所述网元创建所述业务实体。优选地,所述操作是删除操作,所述网管侧根据确定结果,控制所述网元执行相应操作,实现对所述业务实体的操作包括:当所述网管侧确定所述业务实体存在被依赖的模块间实体时,确定所述依赖关系的用户策略;若确定所述用户策略是配置优先策略,或确定所述用户策略是存在优先策略且未查询到所述网元中存在所述被依赖的模块间实体,则生成用于删除所述业务实体的请求,并发送至所述网元,以便所述网元删除所述业务实体;若确定所述用户策略是存在优先策略且查询到所述网元中存在所述被依赖的模块间实体,则生成用于先删除所述被依赖的模块间实体再删除所述业务实体的请求,并发送至所述网元,以便所述网元在删除所述被依赖的模块间实体后删除所述业务实体。根据本专利技术实施例提供的存储介质,其存储用于实现上述在YANG模型中定义数据关系的方法的程序。根据本专利技术实施例提供的一种在YANG模型中定义数据关系的装置,包括:文件获得模块,用于获取来自网元的表征YANG模型的YANG文件;关系确定模块,用于当所述网管侧需要对业务实体进行操作时,根据所述YANG文件,确定待操作的所述业务实体是否存在具有数据关系的模块间实体;实体操作模块,用于根据确定结果,控制所述网元执行相应操作,实现对所述业务实体的操作。优选地,所述数据关系包括模块间业务实体的依赖或互斥或关联关系,所述关系确定模块解析所述YANG文件,获得所述业务实体的描述信息,若所述业务实体的描述信息中,存在用于描述模块间业务实体的依赖或互斥或关联关系的YANG扩展语句,则确定所述业务实体存在具有数据关系的模块间实体。根据本专利技术实施例提供的一种在YANG模型中定义数据关系的系统,包括:网元侧设备,用于生成表征YANG模型的YANG文件;网管侧设备,用于获取所述YANG文件,并当需要对业务实体进行操作时,根据所述YANG文件,确定待操作的所述业务实体是否存在具有数据关系的模块间实体,并根据确定结果,控制所述网元侧设备执行相应操作,实现对所述业务实体的操作。本专利技术实施例提供的技术方案具有如下有益效果:通过本专利技术,在YANG模型上能够更丰富的表现出业务模型数据项之间的关系,即可以在YANG业务模型上定义出模块间数据项的依赖、互斥关系,能够保证正确下发报文,减少模型无法完整表述数据项间的关系带来的维护、操作等不便,减少沟通和开发成本,提高模型定义的完整性。附图说明图1是本专利技术实施例提供的在YANG模型中定义数据关系的方法流程图;图2是本专利技术实施例提供的在YANG模型中定义数据关系的装置框图;图3是归纳的数据项之间的关系图,以及此关系引起的行为约束举例示意图;图4是网管侧针对依赖关系在创建实体时的处理流程;图5是网管侧针对依赖关系在删除被依赖实体时的处理流程图;图6是网管侧针本文档来自技高网...

【技术保护点】
1.一种在YANG模型中定义数据关系的方法,包括:网管侧获取来自网元的表征YANG模型的YANG文件;当所述网管侧需要对业务实体进行操作时,根据所述YANG文件,确定待操作的所述业务实体是否存在具有数据关系的模块间实体;所述网管侧根据确定结果,控制所述网元执行相应操作,实现对所述业务实体的操作。

【技术特征摘要】
1.一种在YANG模型中定义数据关系的方法,包括:网管侧获取来自网元的表征YANG模型的YANG文件;当所述网管侧需要对业务实体进行操作时,根据所述YANG文件,确定待操作的所述业务实体是否存在具有数据关系的模块间实体;所述网管侧根据确定结果,控制所述网元执行相应操作,实现对所述业务实体的操作。2.根据权利要求1所述的方法,所述数据关系包括模块间业务实体的依赖或互斥或关联关系,根据所述YANG文件,确定待操作的所述业务实体是否存在具有数据关系的模块间实体包括:所述网管侧解析所述YANG文件,获得所述业务实体的描述信息;若所述业务实体的描述信息中,存在用于描述模块间业务实体的依赖或互斥或关联关系的YANG扩展语句,则确定所述业务实体存在具有数据关系的模块间实体。3.根据权利要求2所述的方法,在确定所述业务实体存在具有数据关系的模块间实体的同时,所述网管侧进一步从所述YANG扩展语句中获取所述数据关系的用户策略。4.根据权利要求1或2或3所述的方法,所述操作是创建操作,所述网管侧根据确定结果,控制所述网元执行相应操作,实现对所述业务实体的操作包括:当所述网管侧确定所述业务实体存在依赖的模块间实体时,查询所述网元中是否存在所述依赖的模块间实体;若查询到所述网元中存在所述依赖的模块间实体,则生成用于创建所述业务实体的请求,并发送至所述网元,以便所述网元创建所述业务实体;若未查询到所述网元中存在所述依赖的模块间实体,则生成用于先创建所述依赖的模块间实体再创建所述业务实体的请求,并发送至所述网元,以便所述网元在创建所述依赖的模块间实体后创建所述业务实体。5.根据权利要求3所述的方法,所述操作是创建操作,所述网管侧根据确定结果,控制所述网元执行相应操作,实现对所述业务实体的操作包括:当所述网管侧确定所述业务实体存在互斥的模块间实体时,确定所述互斥关系的用户策略;若确定所述用户策略是配置优先策略,或确定所述用户策略是存在优先策略且未查询到所述网元中存在所述互斥的模块间实体,则生成用于创建所述业务实体的请求,并发送至所述网元,以便所述网元创建所述业务实体;若确定所述用户策略是存在优先策略且查询到所述网元中存在所述互斥的模块间实体,则生成用于先删除所述互斥的模块间实体再创建所述业务实体的请求,并发送至所述网元,以便所述网元在删除所述...

【专利技术属性】
技术研发人员:叶旭
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:广东,44

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

1