Some content of this application is unavailable at the moment.
If this situation persist, please contact us atFeedback&Contact
1. (WO2019001321) YANG MODEL EXTENSION VERIFICATION METHOD, DEVICE, AND COMPUTER READABLE STORAGE MEDIUM
Document

说明书

发明名称 0001   0002   0003   0004   0005   0006   0007   0008   0009   0010   0011   0012   0013   0014   0015   0016   0017   0018   0019   0020   0021   0022   0023   0024   0025   0026   0027   0028   0029   0030   0031   0032   0033   0034   0035   0036   0037   0038   0039   0040   0041   0042   0043   0044   0045   0046   0047   0048   0049   0050   0051   0052   0053   0054   0055   0056   0057   0058   0059   0060   0061   0062   0063   0064   0065   0066   0067   0068   0069   0070   0071   0072   0073   0074   0075   0076   0077   0078   0079   0080   0081   0082   0083   0084   0085   0086   0087   0088   0089   0090   0091   0092   0093   0094   0095   0096   0097   0098   0099   0100   0101   0102   0103   0104   0105   0106   0107   0108   0109   0110   0111   0112   0113   0114   0115   0116   0117   0118   0119   0120   0121   0122   0123   0124   0125   0126   0127   0128   0129   0130   0131   0132   0133   0134   0135   0136   0137   0138   0139   0140   0141   0142   0143   0144   0145   0146   0147   0148   0149   0150   0151   0152   0153   0154   0155   0156   0157   0158   0159   0160   0161   0162   0163   0164   0165   0166   0167   0168   0169   0170   0171   0172   0173   0174   0175  

权利要求书

1   2   3   4   5   6   7   8   9   10  

附图

1   2   3   4  

说明书

发明名称 : 一种YANG模型扩展校验的方法及装置、计算机可读存储介质

技术领域

[0001]
本公开涉及但不限于通信技术领域,尤其是一种YANG模型扩展校验的方法及装置、计算机可读存储介质。

背景技术

[0002]
NETCONF(Network Configuration Protocol,网络配置管理协议)是一种解决网络配置管理问题较为有效的方法,是IETF(The Internet Engineering Task Force,互联网工程任务组)网络配置工作组提出的基于XML(Extensible Markup Language,可扩展标记语言)的网络数据设备配置协议,它提供了安装、操作和删除网络设备配置的机制。
[0003]
YANG(Yet Another Next Generation,简称YANG)语言是IETF提出的一种抽象的数据模型描述语言,作为NETCONF协议的重要的一部分,支持相对通用的关键字。
[0004]
发明内容
[0005]
在实际应用过程中,上述这些关键字并不能完全满足业务场景的需要,而这些业务场景在保证业务的稳定正常运行上起到了十分重要的作用。比如,当创建、修改、删除配置数据时,需要根据变更前后的数据进行数据完备性、取值范围合法性、引用关系合法性等的校验;再比如,为了方便操作,当创建某些配置数据时,让系统连带创建、删除一些关联的配置参数等,对于类似场景均不能通过本领域中已知的YANG语法进行描述及处理。
[0006]
本公开提供一种YANG模型扩展校验的方法及装置、计算机可读存储介质,以使业务场景能够通过YANG语法进行描述及处理。
[0007]
本公开实施例提供一种YANG模型扩展校验的方法,所述方法包括步骤:
[0008]
解析业务配置模型,从所述业务配置模型中获取使用YANG模型扩展标 签定义的校验参数;
[0009]
监听数据的变更操作,当监听到数据的变更操作时,收集变更操作的数据;
[0010]
根据获取到的校验参数以及收集到的变更操作的数据,获取脚本执行列表;
[0011]
根据获取的脚本执行列表,启动脚本运行环境执行所述脚本执行列表中的内容,并获取到YANG模型扩展校验结果。
[0012]
在一种示例性实施方式中,所述数据的变更操作包括数据的创建操作、数据的删除操作或者数据的修改操作。
[0013]
在一种示例性实施方式中,所述YANG模型扩展标签定义的校验参数包括:脚本优先级、触发脚本执行条件、脚本类型和脚本内容。
[0014]
在一种示例性实施方式中,所述根据获取到的校验参数以及收集到的变更操作的数据,获取脚本执行列表包括步骤:
[0015]
遍历所述变更操作的数据,并判断所述变更操作的数据是否满足所述校验参数中的触发脚本执行条件;
[0016]
当所述变更操作的数据满足所述校验参数中的触发脚本执行条件时,收集满足所述校验参数中的触发脚本执行条件的相对应的脚本,将遍历到的所述变更操作的数据及该相对应的脚本按照脚本优先级插入到所述脚本执行列表;
[0017]
当所述变更操作的数据不满足所述校验参数中的触发脚本执行条件时,继续遍历所述变更操作的数据,直至所有变更操作的数据遍历完成。
[0018]
在一种示例性实施方式中,所述根据获取的脚本执行列表,启动脚本运行环境执行所述脚本执行列表中的内容,并获取到YANG模型扩展校验结果包括步骤:
[0019]
根据获取的脚本执行列表,启动脚本运行环境执行所述脚本执行列表中的内容;
[0020]
当执行所述脚本执行列表中的内容全部通过时,YANG模型扩展校验结果为校验成功;
[0021]
当执行所述脚本执行列表中的内容没有全部通过时,YANG模型扩展校 验结果为校验失败。
[0022]
本公开实施例还提供的一种YANG模型扩展校验的装置,所述装置包括解析单元、数据变更收集单元、脚本收集单元及脚本执行单元;
[0023]
所述解析单元,设置为:解析业务配置模型,从所述业务配置模型中获取使用YANG模型扩展标签定义的校验参数;
[0024]
所述数据变更收集单元,设置为:监听数据的变更操作,当监听到数据的变更操作时,收集变更操作的数据;
[0025]
所述脚本收集单元,设置为:根据所述解析单元获取到的校验参数以及所述数据变更收集单元收集到的变更操作的数据,获取脚本执行列表;
[0026]
所述脚本执行单元,设置为:根据所述脚本收集单元获取的脚本执行列表,启动脚本运行环境执行所述脚本执行列表中的内容,并获取到YANG模型扩展校验结果。
[0027]
在一种示例性实施方式中,所述数据的变更操作包括数据的创建操作、数据的删除操作或者数据的修改操作。
[0028]
在一种示例性实施方式中,所述YANG模型扩展标签定义的校验参数包括:脚本优先级、触发脚本执行条件、脚本类型和脚本内容。
[0029]
本公开实施例还提供一种YANG模型扩展校验的装置,所述YANG模型扩展校验的装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的YANG模型扩展校验程序,所述YANG模型扩展校验程序被所述处理器执行时实现上述的YANG模型扩展校验的方法的步骤。
[0030]
本公开实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有YANG模型扩展校验程序,所述YANG模型扩展校验程序被处理器执行时实现上述的YANG模型扩展校验的方法的步骤。
[0031]
本公开实施例还提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令被执行时实现上述YANG模型扩展校验的方法。
[0032]
本公开实施例提供的一种YANG模型扩展校验的方法及装置、计算机可读存储介质,通过使用YANG模型扩展标签定义的校验参数及业务配置模型,获取脚本执行列表并执行,从而获取到YANG模型扩展校验结果;一方 面实现了对YANG语法的扩展,可以通过扩展满足用户的特殊需求,比如:1)在复杂业务约束场景下,用户可以通过扩展脚本实现对复杂业务关系的约束校验,从而为保证业务数据的正确性提供保证;2)当数据发生变更时,可以通过扩展脚本实现关联数据的增加,删除,修改改操作;3)当数据发生变更时,可以通过扩展脚本将变更数据整理成其他业务模块需要的格式,以便向其他业务模块传递;另一方面实现了业务配置模型和特定业务定义的解耦,扩展性较强,有利于后期的维护及升级处理。
[0033]
在阅读并理解了附图和详细描述后,可以明白其他方面。
[0034]
附图概述
[0035]
图1为本公开实施例的YANG模型扩展校验的方法流程示意图;
[0036]
图2为本公开实施例的YANG模型扩展校验的方法另一流程示意图;
[0037]
图3为本公开实施例的YANG模型扩展校验的装置结构示意图;
[0038]
图4为本公开另一实施例的YANG模型扩展校验的装置结构示意图。
[0039]
本公开的较佳实施方式
[0040]
下面结合附图对本公开的实施方式进行描述。
[0041]
第一实施例
[0042]
如图1所示,本公开第一实施例提供一种YANG模型扩展校验的方法,所述方法可包括步骤:
[0043]
S10、解析业务配置模型,从所述业务配置模型中获取使用YANG模型扩展标签定义的校验参数;
[0044]
在本实施例中,可根据YANG模型扩展需要来定义一个基础的校验参数模型,引入定义的校验参数模型可定义特定的业务配置模型。
[0045]
作为示例地,基础的校验参数模型的定义如下所示:
[0046]
1.1)定义脚本优先级的字段“priority”,此字段值越小则优先级越低。
[0047]
可选地,可以通过以下代码进行定义:
[0048]
[0049]
1.2)定义触发脚本执行条件的字段“target”,限定用模型中xpath作为脚本执行条件,当满足模型xpath定义格式时触发脚本执行。
[0050]
可选地,可以通过以下代码进行定义:
[0051]
[0052]
1.3)定义脚本类型的字段“script-type”。
[0053]
可选地,可以通过以下代码进行定义:
[0054]
[0055]
1.4)定义脚本内容的字段“script”。
[0056]
可选地,可以通过以下代码进行定义:
[0057]
[0058]
[0059]
作为示例地,引入已定义的校验参数模型可定义特定的业务配置模型:
[0060]
第一例脚本执行信息:
[0061]
[0062]
其中,在第一例脚本执行信息中,定义了:
[0063]
2.1.1)脚本类型为“lua”。
[0064]
2.1.2)此脚本优先级为100。
[0065]
2.1.3)触发脚本执行条件是:当有模型xpath为“/BizModel:BizRoot/leaf_A”发生变更时,触发执行脚本。
[0066]
2.1.4)脚本内容简述为:判断xpath“/BizModel:BizRoot/leaf_A”对应的值是否大于10,如果大于10则数据合法,返回真(true),如果不大于10则数据不合法,返回假(false)。
[0067]
第二例脚本执行信息:
[0068]
[0069]
[0070]
其中,在第二例脚本执行信息中,定义了:
[0071]
2.2.1)脚本类型为“lua”。
[0072]
2.2.2)此脚本优先级为101。
[0073]
2.2.3)触发脚本执行条件是:当有模型xpath匹配“/BizModel:BizRoot/listExam/BizChild//*”时触发,即只要BizChild节点下有数据变更就触发执行脚本。
[0074]
2.2.4)脚本内容简述为:比较“/BizModel:BizRoot/leaf_C”和“/BizModel:BizRoot/leaf_D”配置的值的大小,如果leaf_C大于leaf_D则数据合法,返回true,如果leaf_C不大于leaf_D则数据不合法,返回false。
[0075]
在校验参数模型和业务配置模型定义之后,通过解析业务配置模型,可从业务配置模型中获取使用YANG模型扩展标签定义的校验参数。需要处理的校验参数包括定义的所有参数,即脚本优先级、触发脚本执行条件、脚本类型和脚本内容。
[0076]
S12、监听数据的变更操作,当监听到数据的变更操作时,收集变更操作的数据;
[0077]
在本实施例中,所述数据的变更操作可包括数据的创建操作、数据的删除操作或者数据的修改操作。数据的变更操作触发后,可收集变更操作的数据。
[0078]
作为示例地,使用符合NETCONF协议规范的XML配置数据为例,对如下数据进行创建操作:
[0079]
[0080]
针对上述XML中的数据,由于上述数据均为全新创建,经过整理后,可得到如表1所示数据:
[0081]
表1
[0082]
[0083]
S14、根据获取到的校验参数以及收集到的变更操作的数据,获取脚本 执行列表;
[0084]
请参考图2所示,在本实施例中,根据获取到的校验参数以及收集到的变更操作的数据,获取脚本执行列表可包括步骤:
[0085]
S140、遍历所述变更操作的数据,并判断所述变更操作的数据是否满足所述校验参数中的触发脚本执行条件;
[0086]
S142、当所述变更操作的数据满足所述校验参数中的触发脚本执行条件时,收集满足所述校验参数中的触发脚本执行条件的相对应的脚本,将遍历到的所述变更操作的数据及该相对应的脚本按照脚本优先级插入到所述脚本执行列表;
[0087]
S144、当所述变更操作的数据不满足所述校验参数中的触发脚本执行条件时,继续遍历所述变更操作的数据,直至所有变更操作的数据遍历完成。
[0088]
仍以上述符合NETCONF协议规范的XML配置数据为例:
[0089]
在获得上述的表格数据之后,遍历所述变更操作的数据,即遍历上述的表格数据,并判断所述变更操作的数据是否满足所述校验参数中的触发脚本执行条件;在第一例和第二例脚本执行信息中,定义了触发脚本执行条件是:“当有模型xpath为“/BizModel:BizRoot/leaf_A”发生变更时,触发执行脚本”、“当有模型xpath匹配“/BizModel:BizRoot/listExam/BizChild//*”时触发,即只要BizChild节点下有数据变更就触发执行脚本”。
[0090]
遍历之后,可确定满足所述校验参数中的触发脚本执行条件的有3条记录,如表2所示:
[0091]
表2
[0092]
[0093]
遍历到之后,则将遍历到的3条记录及其相对应的脚本按照脚本优先级插入到脚本执行列表。由于“/BizModel:BizRoot/leaf_A”优先级较高,其对应的脚本排在前面。
[0094]
S16、根据获取的脚本执行列表,启动脚本运行环境执行所述脚本执行列表中的内容,并获取到YANG模型扩展校验结果。
[0095]
在本实施例中,所述根据获取的脚本执行列表,启动脚本运行环境执行所述脚本执行列表中的内容,并获取到YANG模型扩展校验结果可包括步骤(附图未示出):
[0096]
根据获取的脚本执行列表,启动脚本运行环境执行所述脚本执行列表中的内容;
[0097]
当执行所述脚本执行列表中的内容全部通过时,YANG模型扩展校验结果为校验成功;
[0098]
当执行所述脚本执行列表中的内容没有全部通过时,YANG模型扩展校验结果为校验失败。
[0099]
仍以上述符合NETCONF协议规范的XML配置数据为例:
[0100]
脚本执行列表包括遍历到的3条记录及其相对应的脚本,按照优先级先执行“/BizModel:BizRoot/leaf_A”的脚本内容,由于变更后的值为11满足脚本内容的判断,因此配置的数据合法,返回true。
[0101]
执行“/BizModel:BizRoot/listExam/BizChild/leaf_C”和“/BizModel:BizRoot/listExam/BizChild/leaf_D”的脚本内容时,由于leaf_C变更后的值为9,leaf_D变更后的值为10,不满足脚本内容中的判断,因此配置的数据不合法,返回false。
[0102]
通过上述的校验,由于执行脚本执行列表中的内容没有全部通过,因此YANG模型扩展校验结果为校验失败。
[0103]
本公开实施例的一种YANG模型扩展校验的方法,通过使用YANG模型扩展标签定义的校验参数及业务配置模型,获取脚本执行列表并执行,从而获取到YANG模型扩展校验结果;一方面实现了对YANG语法的扩展,可以通过扩展满足用户的特殊需求,比如:1)在复杂业务约束场景下,用 户可以通过扩展脚本实现对复杂业务关系的约束校验,从而为保证业务数据的正确性提供保证;2)当数据发生变更时,可以通过扩展脚本实现关联数据的增加,删除,修改改操作;3)当数据发生变更时,可以通过扩展脚本将变更数据整理成其他业务模块需要的格式,以便向其他业务模块传递;另一方面实现了业务配置模型和特定业务定义的解耦,扩展性较强,有利于后期的维护及升级处理。
[0104]
第二实施例
[0105]
如图3所示,本公开第二实施例提供一种YANG模型扩展校验的装置,所述装置可包括解析单元21、数据变更收集单元22、脚本收集单元23及脚本执行单元24;
[0106]
所述解析单元21,设置为:解析业务配置模型,从所述业务配置模型中获取使用YANG模型扩展标签定义的校验参数;
[0107]
在本实施例中,可根据YANG模型扩展需要来定义一个基础的校验参数模型,引入定义的校验参数模型可定义特定的业务配置模型。
[0108]
作为示例地,基础的校验参数模型的定义如下所示:
[0109]
1.1)定义脚本优先级的字段“priority”,此字段值越小则优先级越低。
[0110]
可选地,可以通过以下代码进行定义:
[0111]
[0112]
1.2)定义触发脚本执行条件的字段“target”,限定用模型中xpath作为脚本执行条件,当满足模型xpath定义格式时触发脚本执行。
[0113]
可选地,可以通过以下代码进行定义:
[0114]
[0115]
[0116]
1.3)定义脚本类型的字段“script-type”。
[0117]
可选地,可以通过以下代码进行定义:
[0118]
[0119]
1.4)定义脚本内容的字段“script”。
[0120]
可选地,可以通过以下代码进行定义:
[0121]
[0122]
作为示例地,引入已定义的校验参数模型可定义特定的业务配置模型:
[0123]
第一例脚本执行信息:
[0124]
[0125]
[0126]
其中,在第一例脚本执行信息中,定义了:
[0127]
2.1.1)脚本类型为“lua”。
[0128]
2.1.2)此脚本优先级为100。
[0129]
2.1.3)触发脚本执行条件是:当有模型xpath为“/BizModel:BizRoot/leaf_A”发生变更时,触发执行脚本。
[0130]
2.1.4)脚本内容简述为:判断xpath“/BizModel:BizRoot/leaf_A”对应的值是否大于10,如果大于10则数据合法,返回true,如果不大于10则数据不合法,返回false。
[0131]
第二例脚本执行信息:
[0132]
[0133]
其中,在第二例脚本执行信息中,定义了:
[0134]
2.2.1)脚本类型为“lua”。
[0135]
2.2.2)此脚本优先级为101。
[0136]
2.2.3)触发脚本执行条件是:当有模型xpath匹配“/BizModel:BizRoot/listExam/BizChild//*”时触发,即只要BizChild节点下有数据变更就触发执行脚本。
[0137]
2.2.4)脚本内容简述为:比较“/BizModel:BizRoot/leaf_C”和“/BizModel:BizRoot/leaf_D”配置的值的大小,如果leaf_C大于leaf_D则数据合法,返回true,如果leaf_C不大于leaf_D则数据不合法,返回false。
[0138]
在校验参数模型和业务配置模型定义之后,通过解析业务配置模型,可从业务配置模型中获取使用YANG模型扩展标签定义的校验参数。需要处理的校验参数可包括定义的所有参数,即脚本优先级、触发脚本执行条件、脚本类型和脚本内容。
[0139]
所述数据变更收集单元22,设置为:监听数据的变更操作,当监听到数据的变更操作时,收集变更操作的数据;
[0140]
在本实施例中,所述数据的变更操作可包括数据的创建操作、数据的删除操作或者数据的修改操作。数据的变更操作触发后,可收集变更操作的数据。
[0141]
作为示例地,使用符合NETCONF协议规范的XML配置数据为例,对如下数据进行创建操作:
[0142]
[0143]
[0144]
针对上述XML中的数据,由于上述数据均为全新创建,经过整理后,可得到如表3所示数据:
[0145]
表3
[0146]
[0147]
所述脚本收集单元23,设置为:根据所述解析单元21获取到的校验参数以及所述数据变更收集单元22收集到的变更操作的数据,获取脚本执行列表;
[0148]
可选地,所述脚本收集单元23遍历所述变更操作的数据,并判断所述变更操作的数据是否满足所述校验参数中的触发脚本执行条件;
[0149]
当所述变更操作的数据满足所述校验参数中的触发脚本执行条件时,收集满足所述校验参数中的触发脚本执行条件的相对应的脚本,将遍历到的所述变更操作的数据及该相对应的脚本按照脚本优先级插入到所述脚本执行列表;
[0150]
当所述变更操作的数据不满足所述校验参数中的触发脚本执行条件时,继续遍历所述变更操作的数据,直至所有变更操作的数据遍历完成。
[0151]
仍以上述符合NETCONF协议规范的XML配置数据为例:
[0152]
在获得上述的表格数据之后,遍历所述变更操作的数据,即遍历上述的表格数据,并判断所述变更操作的数据是否满足所述校验参数中的触发脚本执行条件;在第一例和第二例脚本执行信息中,定义了触发脚本执行条件是:“当有模型xpath为“/BizModel:BizRoot/leaf_A”发生变更时,触发执行脚本”、“当有模型xpath匹配“/BizModel:BizRoot/listExam/BizChild//*”时触发,即只要BizChild节点下有数据变更就触发执行脚本”。
[0153]
遍历之后,可确定满足所述校验参数中的触发脚本执行条件的有3条记录,如表4所示:
[0154]
表4
[0155]
[0156]
遍历到之后,则将遍历到的3条记录及其相对应的脚本按照脚本优先级插入到脚本执行列表。由于“/BizModel:BizRoot/leaf_A”优先级较高,其对应的脚本排在前面。
[0157]
所述脚本执行单元24,设置为:根据所述脚本收集单元23获取的脚本执行列表,启动脚本运行环境执行所述脚本执行列表中的内容,并获取到YANG模型扩展校验结果。
[0158]
可选地,脚本执行单元24根据获取的脚本执行列表,启动脚本运行环境执行所述脚本执行列表中的内容;
[0159]
当执行所述脚本执行列表中的内容全部通过时,YANG模型扩展校验结果为校验成功;当执行所述脚本执行列表中的内容没有全部通过时,YANG模型扩展校验结果为校验失败。
[0160]
仍以上述符合NETCONF协议规范的XML配置数据为例:
[0161]
脚本执行列表包括遍历到的3条记录及其相对应的脚本,按照优先级先执行“/BizModel:BizRoot/leaf_A”的脚本内容,由于变更后的值为11满足脚本内容的判断,因此配置的数据合法,返回true。
[0162]
执行“/BizModel:BizRoot/listExam/BizChild/leaf_C”和“/BizModel:BizRoot/listExam/BizChild/leaf_D”的脚本内容时,由于leaf_C变更后的值为9,leaf_D变更后的值为10,不满足脚本内容中的判断,因此配置的数据不合法,返回false。
[0163]
通过上述的校验,由于执行脚本执行列表中的内容没有全部通过,因此YANG模型扩展校验结果为校验失败。
[0164]
本公开实施例的一种YANG模型扩展校验的装置,通过使用YANG模型扩展标签定义的校验参数及业务配置模型,获取脚本执行列表并执行,从而获取到YANG模型扩展校验结果;一方面实现了对YANG语法的扩展,可以通过扩展满足用户的特殊需求,比如:1)在复杂业务约束场景下,用户可以通过扩展脚本实现对复杂业务关系的约束校验,从而为保证业务数据的正确性提供保证;2)当数据发生变更时,可以通过扩展脚本实现关联数据的增加,删除,修改改操作;3)当数据发生变更时,可以通过扩展脚本将变更数据整理成其他业务模块需要的格式,以便向其他业务模块传递;另一方面实现了业务配置模型和特定业务定义的解耦,扩展性较强,有利于后期的维护及升级处理。
[0165]
第三实施例
[0166]
如图4所示,本公开第三实施例提供一种YANG模型扩展校验的装置,所YANG模型扩展校验的装置可包括:存储器31、处理器32及存储在所述存储器31上并可在所述处理器32上运行的YANG模型扩展校验程序,所述YANG模型扩展校验程序被所述处理器执行时实现第一实施例所述的YANG模型扩展校验的方法的步骤。
[0167]
本公开实施例的一种YANG模型扩展校验的装置,通过使用YANG模型扩展标签定义的校验参数及业务配置模型,获取脚本执行列表并执行,从而获取到YANG模型扩展校验结果;一方面实现了对YANG语法的扩展, 可以通过扩展满足用户的特殊需求,比如:1)在复杂业务约束场景下,用户可以通过扩展脚本实现对复杂业务关系的约束校验,从而为保证业务数据的正确性提供保证;2)当数据发生变更时,可以通过扩展脚本实现关联数据的增加,删除,修改改操作;3)当数据发生变更时,可以通过扩展脚本将变更数据整理成其他业务模块需要的格式,以便向其他业务模块传递;另一方面实现了业务配置模型和特定业务定义的解耦,扩展性较强,有利于后期的维护及升级处理。
[0168]
第四实施例
[0169]
本公开第四实施例提供一种计算机可读存储介质,所述计算机可读存储介质上可存储有YANG模型扩展校验程序,所述YANG模型扩展校验程序被处理器执行时实现第一实施例所述的YANG模型扩展校验的方法的步骤。
[0170]
本公开实施例的计算机可读存储介质,通过使用YANG模型扩展标签定义的校验参数及业务配置模型,获取脚本执行列表并执行,从而获取到YANG模型扩展校验结果;一方面实现了对YANG语法的扩展,可以通过扩展满足用户的特殊需求,比如:1)在复杂业务约束场景下,用户可以通过扩展脚本实现对复杂业务关系的约束校验,从而为保证业务数据的正确性提供保证;2)当数据发生变更时,可以通过扩展脚本实现关联数据的增加,删除,修改改操作;3)当数据发生变更时,可以通过扩展脚本将变更数据整理成其他业务模块需要的格式,以便向其他业务模块传递;另一方面实现了业务配置模型和特定业务定义的解耦,扩展性较强,有利于后期的维护及升级处理。
[0171]
可以说明的是,上述装置实施例与方法实施例属于同一构思,其可选实现过程详见方法实施例,且方法实施例中的技术特征在装置实施例中均对应适用,这里不再赘述。
[0172]
本公开实施例还提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令被执行时实现上述YANG模型扩展校验的方法。
[0173]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通 过硬件来实现。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本公开每个实施例所述的方法。
[0174]
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于随机存取存储器(RAM,Random Access Memory)、只读存储器(ROM,Read-Only Memory)、电可擦除只读存储器(EEPROM,Electrically Erasable Programmable Read-only Memory)、闪存或其他存储器技术、光盘只读存储器(CD-ROM,Compact Disc Read-Only Memory)、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
[0175]
本领域的普通技术人员可以理解,可以对本公开的技术方案进行修改或者等同替换,而不脱离本公开技术方案的精神和范围,均应涵盖在本公开的权利要求范围当中。

权利要求书

[权利要求 1]
一种YANG模型扩展校验的方法,所述方法包括步骤: 解析业务配置模型,从所述业务配置模型中获取使用YANG模型扩展标签定义的校验参数; 监听数据的变更操作,当监听到数据的变更操作时,收集变更操作的数据; 根据获取到的校验参数以及收集到的变更操作的数据,获取脚本执行列表; 根据获取的脚本执行列表,启动脚本运行环境执行所述脚本执行列表中的内容,并获取到YANG模型扩展校验结果。
[权利要求 2]
根据权利要求1所述的YANG模型扩展校验的方法,其中,所述数据的变更操作包括数据的创建操作、数据的删除操作或者数据的修改操作。
[权利要求 3]
根据权利要求1所述的YANG模型扩展校验的方法,其中,所述YANG模型扩展标签定义的校验参数包括:脚本优先级、触发脚本执行条件、脚本类型和脚本内容。
[权利要求 4]
根据权利要求3所述的YANG模型扩展校验的方法,其中,所述根据获取到的校验参数以及收集到的变更操作的数据,获取脚本执行列表包括步骤: 遍历所述变更操作的数据,并判断所述变更操作的数据是否满足所述校验参数中的触发脚本执行条件; 当所述变更操作的数据满足所述校验参数中的触发脚本执行条件时,收集满足所述校验参数中的触发脚本执行条件的相对应的脚本,将遍历到的所述变更操作的数据及该相对应的脚本按照脚本优先级插入到所述脚本执行列表; 当所述变更操作的数据不满足所述校验参数中的触发脚本执行条件时,继续遍历所述变更操作的数据,直至所有变更操作的数据遍历完成。
[权利要求 5]
根据权利要求1至4中任一项所述的YANG模型扩展校验的方法, 其中,所述根据获取的脚本执行列表,启动脚本运行环境执行所述脚本执行列表中的内容,并获取到YANG模型扩展校验结果包括步骤: 根据获取的脚本执行列表,启动脚本运行环境执行所述脚本执行列表中的内容; 当执行所述脚本执行列表中的内容全部通过时,YANG模型扩展校验结果为校验成功; 当执行所述脚本执行列表中的内容没有全部通过时,YANG模型扩展校验结果为校验失败。
[权利要求 6]
一种YANG模型扩展校验的装置,所述装置包括解析单元、数据变更收集单元、脚本收集单元及脚本执行单元; 所述解析单元,设置为:解析业务配置模型,从所述业务配置模型中获取使用YANG模型扩展标签定义的校验参数; 所述数据变更收集单元,设置为:监听数据的变更操作,当监听到数据的变更操作时,收集变更操作的数据; 所述脚本收集单元,设置为:根据所述解析单元获取到的校验参数以及所述数据变更收集单元收集到的变更操作的数据,获取脚本执行列表; 所述脚本执行单元,设置为:根据所述脚本收集单元获取的脚本执行列表,启动脚本运行环境执行所述脚本执行列表中的内容,并获取到YANG模型扩展校验结果。
[权利要求 7]
根据权利要求6所述的YANG模型扩展校验的装置,其中,所述数据的变更操作包括数据的创建操作、数据的删除操作或者数据的修改操作。
[权利要求 8]
根据权利要求6所述的YANG模型扩展校验的装置,其中,所述YANG模型扩展标签定义的校验参数包括:脚本优先级、触发脚本执行条件、脚本类型和脚本内容。
[权利要求 9]
一种YANG模型扩展校验的装置,所述YANG模型扩展校验的装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的YANG模型扩展校验程序,所述YANG模型扩展校验程序被所述处理器执行时实现如权利要求1至5中任一项所述的YANG模型扩展校验的方法的步 骤。
[权利要求 10]
一种计算机可读存储介质,所述计算机可读存储介质上存储有YANG模型扩展校验程序,所述YANG模型扩展校验程序被处理器执行时实现如权利要求1至5中任一项所述的YANG模型扩展校验的方法的步骤。

附图

[ 图 1]  
[ 图 2]  
[ 图 3]  
[ 图 4]