一种模型评估方法、装置、电子设备及存储介质与流程
未命名
08-06
阅读:105
评论:0
1.本技术涉及数据处理领域,尤其涉及一种模型评估方法、装置、电子设备及存储介质。
背景技术:
2.yang(yet another next generation)是一种数据建模语言,一种非标签语言。yang模型定义了数据的层次化结构,主要用于基于网络配置管理协议的操作,包括对配置数据、状态数据、远程过程调用和通知进行模型化。通过yang描述数据结构、数据完整性约束、数据操作,形成了一个个yang模型(或者叫yang文件)。
3.传统用于网络配置管理的协议主要是简单网络管理协议(simple network management protocol,snmp),yang相对于snmp的模型,更有层次化,能够区分配置和状态,可扩展性强。随着标准化的推行,yang正逐渐成为业界主流的数据描述规范,标准组织、厂商、运营商、纷纷定义各自的yang模型。
技术实现要素:
4.本技术提供一种模型评估方法、装置、电子设备及存储介质,用以解决现阶段无法对yang模型进行抽象化程度评估的问题。
5.为了解决上述技术问题,本技术采用如下技术方案:
6.第一方面,本技术提供一种模型评估方法,包括:获取待评估模型中每个子模块的功能类别属性;其中,功能类别属性用于表征子模块实现的功能;确定待评估模型中每个子模块之间的分层关系属性;其中,分层关系属性用于表征每个子模块之间的引用关系和增补关系;根据功能类别属性、分层关系属性和预设打分规则,确定目标指标的参数值;其中,目标指标用于表征待评估模型的抽象化程度;根据目标指标的参数值,确定待评估模型的抽象化评估结果。
7.基于上述技术方案,本技术通过定义对yang接口模型的抽象化程度评价的原则和指标,然后通过分析接口模型中子模块对应的单个yang文件的功能和多个yang文件之间的引用和增补的关联关系,根据算法量化计算出各个指标,最后加权得到整个接口模型的抽象化程度。由此,实现了对yang模型抽象化程度的高效评估。
8.在一种可能的实现方式中,待评估模型为yang模型,目标指标包括以下至少一项:第一指标、第二指标、第三指标、第四指标;其中,第一指标用于表征子模块包括的功能数量,第二指标用于表征每个子模块之间的引用关系和增补关系的复杂程度,第三指标用于表征每个子模块之间分层的复杂程度,第四指标用于表征每个子模块之间关联的密切程度;根据功能类别属性、分层关系属性和预设打分规则,确定目标指标的参数值,具体包括:根据功能类别属性和分层关系属性,确定目标指标;根据目标指标和预设打分规则,确定目标指标的参数值。
9.在一种可能的实现方式中,在确定待评估模型中每个子模块之间的分层关系属性
之前,方法还包括:对待评估模型进行分层,确定每个子模块归属的层级;其中,层级包括顶层、中层、底层。
10.在一种可能的实现方式中,第一指标为每个子模块包括的平均功能数量,第一指标满足以下公式:
[0011][0012]
其中,index1表示第一指标,m表示子模块的数量,mofi表示子模块包括的功能数量。
[0013]
在一种可能的实现方式中,第二指标为圈复杂度,第二指标满足以下公式:
[0014]
index2=i-m+2p
[0015]
其中,index2表示第二指标,i表示子模块之间引用关系和增补关系的数量,m表示子模块的数量,p表示每个子模块之间不连通的数量。
[0016]
在一种可能的实现方式中,第三指标为扇入扇出度,第三指标满足以下公式:
[0017][0018]
其中,index3表示第三指标,fin
bottom
表示待评估模型的底层结构扇入率,fout
middle
表示待评估模型的中层结构扇出率,fout
top
表示待评估模型的顶层结构扇出率。
[0019]
在一种可能的实现方式中,第四指标为耦合复杂度,第四指标满足以下公式:
[0020][0021]
其中,index4表示第四指标,imp表示每个子模块之间引用的次数,aum表示每个子模块之间增补的次数,m表示子模块的数量。
[0022]
在一种可能的实现方式中,根据目标指标和预设打分规则,确定目标指标的参数值,具体包括:根据预设打分规则,确定目标指标中每个指标的打分表;根据目标指标和目标指标中每个指标的打分表,确定目标指标的参数值。
[0023]
在一种可能的实现方式中,根据目标指标的参数值,确定待评估模型的抽象化评估结果,具体包括:对目标指标的参数值进行预处理,确定目标指标中每个指标的权重值;其中,预处理包括标准化处理和/或归一化处理;根据目标指标中每个指标的权重值,确定待评估模型的抽象化评估结果。
[0024]
第二方面,本技术提供一种模型评估装置,包括:获取单元和处理单元;获取单元,用于获取待评估模型中每个子模块的功能类别属性;其中,功能类别属性用于表征子模块实现的功能;处理单元,用于确定待评估模型中每个子模块之间的分层关系属性;其中,分层关系属性用于表征每个子模块之间的引用关系和增补关系;处理单元,还用于根据功能类别属性、分层关系属性和预设打分规则,确定目标指标的参数值;其中,目标指标用于表征待评估模型的抽象化程度;处理单元,还用于根据目标指标的参数值,确定待评估模型的抽象化评估结果。
[0025]
在一种可能的实现方式中,处理单元,还用于根据功能类别属性和分层关系属性,确定目标指标;处理单元,还用于根据目标指标和预设打分规则,确定目标指标的参数值。
[0026]
在一种可能的实现方式中,处理单元,还用于对待评估模型进行分层,确定每个子
模块归属的层级;其中,层级包括顶层、中层、底层。
[0027]
在一种可能的实现方式中,第一指标为每个子模块包括的平均功能数量,第一指标满足以下公式:
[0028][0029]
其中,index1表示第一指标,m表示子模块的数量,mofi表示子模块包括的功能数量。
[0030]
在一种可能的实现方式中,第二指标为圈复杂度,第二指标满足以下公式:
[0031]
index2=i-m+2p
[0032]
其中,index2表示第二指标,i表示子模块之间引用关系和增补关系的数量,m表示子模块的数量,p表示每个子模块之间不连通的数量。
[0033]
在一种可能的实现方式中,第三指标为扇入扇出度,第三指标满足以下公式:
[0034][0035]
其中,index3表示第三指标,fin
bottom
表示待评估模型的底层结构扇入率,fout
middle
表示待评估模型的中层结构扇出率,fout
top
表示待评估模型的顶层结构扇出率。
[0036]
在一种可能的实现方式中,第四指标为耦合复杂度,第四指标满足以下公式:
[0037][0038]
其中,index4表示第四指标,imp表示每个子模块之间引用的次数,aum表示每个子模块之间增补的次数,m表示子模块的数量。
[0039]
在一种可能的实现方式中,处理单元,还用于根据预设打分规则,确定目标指标中每个指标的打分表;处理单元,还用于根据目标指标和目标指标中每个指标的打分表,确定目标指标的参数值。
[0040]
在一种可能的实现方式中,处理单元,还用于对目标指标的参数值进行预处理,确定目标指标中每个指标的权重值;其中,预处理包括标准化处理和/或归一化处理;处理单元,还用于根据目标指标中每个指标的权重值,确定待评估模型的抽象化评估结果。
[0041]
第三方面,本技术提供了一种电子设备,该电子设备包括:处理器和通信接口;通信接口和处理器耦合,处理器用于运行计算机程序或指令,以实现如第一方面和第一方面的任一种可能的实现方式或第二方面和第二方面的任一种可能的实现方式中所描述的模型评估方法。
[0042]
第四方面,本技术提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当指令在终端上运行时,使得终端执行如第一方面和第一方面的任一种可能的实现方式或第二方面和第二方面的任一种可能的实现方式中所描述的模型评估方法。
[0043]
第五方面,本技术提供一种包含指令的计算机程序产品,当计算机程序产品在模型评估装置上运行时,使得模型评估装置执行如第一方面和第一方面的任一种可能的实现方式或第二方面和第二方面的任一种可能的实现方式中所描述的模型评估方法。
[0044]
第六方面,本技术提供一种芯片,芯片包括处理器和通信接口,通信接口和处理器耦合,处理器用于运行计算机程序或指令,以实现如第一方面和第一方面的任一种可能的
实现方式或第二方面和第二方面的任一种可能的实现方式中所描述的模型评估方法。
[0045]
具体的,本技术中提供的芯片还包括存储器,用于存储计算机程序或指令。
[0046]
需要说明的是,上述计算机指令可以全部或者部分存储在计算机可读存储介质上。其中,计算机可读存储介质可以与装置的处理器封装在一起的,也可以与装置的处理器单独封装,本技术对此1不作限定。
[0047]
第七方面,本技术提供一种模型评估系统,包括:终端和第一接入网设备,其中,终端用于执行如第一方面和第一方面的任一种可能的实现方式中所描述的模型评估方法,第一接入网设备用于执行如第二方面和第二方面的任一种可能的实现方式中所描述的模型评估方法。
[0048]
本技术中第二方面至第七方面的描述,可以参考第一方面的详细描述;并且,第二方面至第七方面的描述的有益效果,可以参考第一方面的有益效果分析,此处不再赘述。
[0049]
在本技术中,上述模型评估装置的名字对设备或功能模块本身不构成限定,在实际实现中,这些设备或功能模块可以以其他名称出现。只要各个设备或功能模块的功能和本技术类似,属于本技术权利要求及其等同技术的范围之内。
[0050]
本技术的这些方面或其他方面在以下的描述中会更加简明易懂。
附图说明
[0051]
图1为本技术提供的一种模型评估方法的流程示意图;
[0052]
图2为本技术提供的另一种模型评估方法的流程示意图;
[0053]
图3为本技术提供的另一种模型评估方法的流程示意图;
[0054]
图4为本技术提供的一种待评估模型的子模块分层关系图;
[0055]
图5为本技术提供的一种模型评估装置的结构示意图;
[0056]
图6为本技术提供的另一种模型评估装置的结构示意图。
具体实施方式
[0057]
下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。
[0058]
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。
[0059]
本技术的说明书以及附图中的术语“第一”和“第二”等是用于区别不同的对象,或者用于区别对同一对象的不同处理,而不是用于描述对象的特定顺序。
[0060]
此外,本技术的描述中所提到的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括其他没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0061]
需要说明的是,本技术实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本技术实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应
被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
[0062]
在本技术的描述中,除非另有说明,“多个”的含义是指两个或两个以上。
[0063]
以下,对本技术实施例涉及的名词进行解释,以方便读者理解。
[0064]
一、yang模型
[0065]
yang是一种数据建模语言,一种非标签语言,在yang模型之前,建模语言一直存在,因此yang只能定义为yet another next generation,即称为另一代的新模型。yang模型定义了数据的层次化结构,主要用于基于网络配置管理协议的操作,包括对配置数据、状态数据、远程过程调用和通知进行模型化。通过yang描述数据结构、数据完整性约束、数据操作,形成了一个个yang模型(或者叫yang文件)。
[0066]
yang有标准语法定义,互联网工程任务组(the internet engineering task force,ietf)组织对yang进行了标准定义,请求评论(request for comments,rfc)7950从词法、声明、内置类型等方面描述了yang语言1.1版本的语法和语义,并提出了一些用于辅助开发yang数据模型的指导和建议。
[0067]
yang语言的特点为:基于层次化的树状结构建模;数据模型以模块(module)和子模块(submodule)呈现;定义内置的数据模型和允许可扩展类型。
[0068]
yang模型是一种树形结构,是由无数的容器(container)、叶子(leaf)、列表(list)、叶列表(leaf-list)等节点组成的描述整个数据结构的一棵树,这些节点类型可以用来清晰地划分层次,其中每个节点都有一个名称,或者一个值或一组子节点。yang提供了对节点的清晰简洁的描述,以及这些节点之间的交互。
[0069]
下面以一个简单的yang语句定义为例进行说明:
[0070][0071]
上述语句定义了一个container节点,名称是system。该节点下包含一个container子节点,名称是login;login节点下包含一个叶子节点,名称是message,其数据类型是字符串类型并定义了相关描述信息。上述模型定义实例化以后可以转化为json或xml格式进行传输,转成xml进行编码示例如下:
[0072][0073]
模块是yang里定义的基本单位。一个yang文件通常是由一个模块定义的。在网络管控接口模型的定义过程中,通常将不同的接口功能定义为不同的yang文件,比如网络拓扑可以定义为一个yang文件、性能管理定义为另一个。
[0074]
但是不同模块之间也可以有不同的关联关系,比如模块a可以通过“import”语句从其他外部模块b导入定义。同时,augment”语句允许一个模块将数据节点添加到另一个模块中定义的层次结构中。
[0075]
通常,一套网络管控的接口模型会由多个yang文件组成来满足网络管控的功能要求,包括拓扑管理、资源管理、业务配置下发、性能告警管理等,但是对于实现相同的接口功能,不同的人针对yang模型可能有不同的定义方式,在完成管控系统与设备或管控系统之间的传输任务的前提下,接口模型应把握合理的抽象化程度,既能够保证信息的完整性和有效性,又能够在一定程度上降低碎片化信息为管控系统或设备带来的处理难度。
[0076]
二、圈复杂度
[0077]
圈复杂度是一种基于图论和程序结构控制理论的一种静态软件度量方法,已被证实可用于评估结构设计的合理性。图论理论中圈复杂度v(g)的计算方法如下。
[0078]
v(g)=e-n+2p
[0079]
其中,e为图中边数,n为图中节点数,p为图中不连通的部分(若全部连通则p=1)。
[0080]
将多个yang文件中引用或增补关系抽象为图的边,单个yang文件即模块抽象为图的节点,即可以将多个yang文件及其关系抽象为关系图。
[0081]
在本技术中,使用圈复杂度来表征yang模型中每个子模块之间的引用关系和增补关系的复杂程度。
[0082]
三、扇入扇出度
[0083]
根据软件的结构化设计方法,一个应用程序是由多个功能相对独立的模块所组成,扇入和扇出的概念是指应用程序模块之间的层次调用情况,因此可以用扇入扇出度描述接口模块间结构化关系。
[0084]
扇入是指该模块对高层的驱动关系,即该模块被上级模块调用的总次数。扇出是该模块运行所要求的依赖关系,即该模块直接调用的下级模块的数量。扇入大表示模块的复用程度高,扇出大表示该结构层次的复杂度较高,设计该层次模块时需考虑更多的问题,例如需要控制和协调大量的低层次模块等。底层结构扇入率fin
bottom
、中层结构扇出率fout
middle
和顶层结构扇出率fout
top
计算公式如下:
[0085][0086]
[0087][0088]
其中,i
bottom
表示底层结构扇入,n
bottom
表示底层结构包含的模块数,o
middle
表示中层结构扇出,n
middle
表示中层结构包含的模块数,o
top
表示顶层结构扇出,n
top
表示顶层结构包含的模块数。
[0089]
接口结构要求底层结构起到集中支撑作用,其中定义的公用基本类型被多个上层模块共享,但是不能为了获得高扇入而把不相关的东西凑成一个模块;中层结构包含的模块数较多,以广泛、全面地完成网络层功能的基础计算;顶层结构包含的模块数较少,充分依赖于中层结构进行特定功能的实现,达到功能汇聚和综合的效果。因此,设计良好的接口通常具有“底层结构扇入比较大,中层结构扇出比较小,高层结构扇出比较大”的特点。扇出过大或过小都不符合结构层次的划分,如果某结构的扇出过大,就表明结构过分复杂,需要协调和控制过多的下属模块,缺乏中间层级;如果扇出过小,例如某层结构的扇出度是1,则失去了该层存在的价值,增加了调用和返回的时间开销,降低了系统的工作效率。
[0090]
为了控制模块的复杂性,一个模块的扇出不宜过大,一般认为不要超过7,通常认为合理的扇出是3-5。为保证公平量化地评估扇入扇出度,制定了扇入扇出度综合评分规则,根据底层结构扇入率、中层结构扇出率和高层结构扇出率这三项子指标值的区间范围,得出对应积分值,累积计算扇入扇出度评分,作为接口模型复杂度中“扇入扇出度”这一指标值。各子指标区间范围及其对应积分值如下表所示。扇入扇出度评分由三个子指标的积分值求和得出,评分越小代表模型结构越合理。
[0091]
一般来说,扇入扇出度的评分规则如下表所示:
[0092]
表1扇入扇出度评分规则
[0093] [0,1](1,3](3,5](5,7](7,+∞)fin
bottom
12345fout
middle
15432fout
top
23541
[0094]
在本技术中,采用扇入扇出度来表示yang模型中每个子模块之间分层的复杂程度。
[0095]
四、耦合复杂度
[0096]
耦合复杂度表示一个系统中模块和模块间相互关联的密切程度。一般来说,耦合复杂度越大,一方面,模块越容易受到其他模块中错误和变更的影响,可维护性越差,风险越高;另一方面,接口开发人员理解接口模型的难度就越大,同时负责接口测试和维护等的工作人员不但需要进行本模块的测试和修改,还要熟悉并能做到对耦合模块的测试和修改,相关人员的工作难度也会相应增大。因此耦合复杂度越高,接口的抽象程度越差。
[0097]
在本技术中,采用耦合复杂度来表示yang模型中每个子模块之间关联的密切程度。
[0098]
五、抽象化程度
[0099]
抽象,简而言之,就是从相似的对象中得出共性,是为了某种目的,对一个概念或一种现象包含的信息进行过滤,移除不相关的信息,只保留与某种最终目的相关的信息。具体到网络管控接口的yang模型定义上,可以从单一yang模块和多个yang模块之间的关系两
个角度考虑整个网络管控接口模型的抽象化程度。
[0100]
六、引用关系和增补关系
[0101]
一般来说,从多个yang模块之间的关系考虑,可以通过分析yang模块之间的引用关系和增补关系梳理模块间联系,同一套接口模型中的不同yang模型主要包含引用和增补两类关系:import和augment。import语句将外部yang模型引入到当前yang模型中,以便当前模型后续引用外部模型中的内容。augment语句将当前模型中的这一语句增补至指定模型的指定位置,“augment”声明定义了在数据模型树形结构中新节点插入的位置,“when”声明了新节点生效的必要条件。
[0102]
因此,可以将引用关系和增补关系生成包含所有模块的关系图,并从圈复杂度、扇入扇出度、耦合复杂度的角度量化网络管控接口模型的抽象化程度。
[0103]
以上对本技术涉及的技术名词进行了说明。
[0104]
现阶段,传统用于网络配置管理的协议主要是snmp,yang相对于snmp的模型mib,更有层次化,能够区分配置和状态,可扩展性强。随着标准化的推行,yang正逐渐成为业界主流的数据描述规范,标准组织、厂商、运营商、ott纷纷定义各自的yang模型。
[0105]
但是,目前现有技术中没有针对yang模型抽象化程度进行评估的方法。
[0106]
为了解决上述技术问题,本技术提供一种模型评估方法及装置,首先通过获取待评估模型中每个子模块的功能类别属性,以及确定待评估模型中每个子模块之间的分层关系属性,结合预设的打分规则,来计算出四种指标的参数值,最后将四种指标的参数值分别与其对应的权重值相乘,确定待评估模型的最终的抽象化评估结果。由此,本技术通过定义对yang接口模型的抽象化程度评价的原则和指标,然后通过分析接口模型中子模块对应的单个yang文件的功能和多个yang文件之间的引用和增补的关联关系,根据算法量化计算出各个指标,最后加权得到整个接口模型的抽象化程度,实现了对yang模型抽象化程度的高效评估。
[0107]
需要指出的是,在本技术提供的模型评估方法中,执行主体是模型评估装置。该模型评估装置可以是一种电子设备(例如电脑终端、服务器),还可以是电子设备中的处理器,还可以是电子设备中用于模型评估的控制模块,还可以是电子设备中用于模型评估的客户端。
[0108]
示例性的,如图1所示,本技术提供一种模型评估方法,包括以下步骤:
[0109]
s101、模型评估装置获取待评估模型中每个子模块的功能类别属性。
[0110]
其中,功能类别属性用于表征子模块实现的功能。
[0111]
可选地,待评估模型为yang接口模型。该yang模型中,包括多个子模块,每个子模块对应一个yang文件。
[0112]
可以理解的是,从单一yang模块的角度,在功能层面上,一个yang模块对应的功能数量越少,说明该模块承担的职能越单一,接口功能的分工越明确,抽象化程度越高。不同yang模块可经由不同领域的人员负责开发,减少了开发人员之间的业务交叉和干扰,功能复杂度较低。以北向接口为例,常见的接口功能包括控制器管理功能、拓扑管理功能、业务管理功能、通知管理功能、告警管理功能和保护恢复功能。
[0113]
因此,针对不同应用场景的接口模型,可以由相关场景确定接口功能的分类,由此计算出单一yang模块平均包含的功能数量。
[0114]
s102、模型评估装置确定待评估模型中每个子模块之间的分层关系属性。
[0115]
其中,分层关系属性用于表征每个子模块之间的引用关系和增补关系。
[0116]
可以理解的是,模型评估装置在确定待评估模型中每个子模块之间的分层关系属性,可首先对待评估模型包括的子模块进行分层。示例性地,模型评估装置将待评估模型中包括的子模块分为顶层、中层、底层共计三层。
[0117]
在此之后,模型评估装置根据待评估模型中的子模块的分层,确定出每个子模块之间的分层关系属性。
[0118]
需要说明的是,模型评估装置具体对待评估模型包括的子模块进行分层的流程可参见后续步骤s201,此处不再赘述。
[0119]
s103、模型评估装置根据功能类别属性、分层关系属性和预设打分规则,确定目标指标的参数值。
[0120]
其中,目标指标用于表征待评估模型的抽象化程度。
[0121]
可选地,目标指标包括以下至少一项:第一指标、第二指标、第三指标、第四指标。其中,第一指标用于表征子模块包括的功能数量,第二指标用于表征每个子模块之间的引用关系和增补关系的复杂程度,第三指标用于表征每个子模块之间分层的复杂程度,第四指标用于表征每个子模块之间关联的密切程度。
[0122]
可选地,第一指标为每个子模块包括的平均功能数量。
[0123]
可选地,第二指标为圈复杂度。圈复杂度是一种由thomas j.mccabe提出的基于图论和程序结构控制理论的一种静态软件度量方法,已被证实可用于评估结构设计的合理性。
[0124]
可选地,第三指标为扇入扇出度。应理解,根据软件的结构化设计方法,一个应用程序是由多个功能相对独立的模块所组成,扇入和扇出的概念是指应用程序模块之间的层次调用情况,因此可以用扇入扇出度描述接口模块间结构化关系。
[0125]
可选地,第四指标为耦合复杂度。耦合复杂度表示一个系统中模块和模块间相互关联的密切程度。
[0126]
具体圈复杂度、扇入扇出度、耦合复杂度的介绍可参见上文中技术名词介绍的部分,此处不再赘述。
[0127]
需要说明的是,模型评估装置具体确定第一指标、第二指标、第三指标、第四指标的流程参见下述步骤s301-s302,此处不再赘述。
[0128]
可选地,模型评估装置确定第一指标、第二指标、第三指标、第四指标后,根据预设打分规则,确定目标指标中每个指标的打分表。
[0129]
进一步的,模型评估装置根据目标指标和目标指标中每个指标的打分表,确定目标指标的参数值。
[0130]
需要说明的是,模型评估装置具体确定目标指标中每个指标的打分表,根据目标指标和目标指标中每个指标的打分表,确定目标指标的参数值的流程参见下述步骤s301-s302,此处不再赘述。
[0131]
s104、模型评估装置根据所述目标指标的参数值,确定所述待评估模型的抽象化评估结果。
[0132]
可选地,模型评估装置对目标指标的参数值进行预处理,确定目标指标中每个指
标的权重值;其中,预处理包括标准化处理和/或归一化处理。
[0133]
在此之后,模型评估装置根据目标指标中每个指标的权重值,确定待评估模型的抽象化评估结果。
[0134]
示例性地,4个指标权重相同,则抽象化评估结果的最终得分为
[0135][0136]
其中,s代表抽象化评估结果的最终得分,index1表示所述第一指标,index2表示所述第二指标,index3表示所述第三指标,index4表示所述第四指标。
[0137]
基于上述技术方案,本技术通过定义对yang接口模型的抽象化程度评价的原则和指标,然后通过分析接口模型中子模块对应的单个yang文件的功能和多个yang文件之间的引用和增补的关联关系,根据算法量化计算出各个指标,最后加权得到整个接口模型的抽象化程度,实现了对yang模型抽象化程度的高效评估。
[0138]
示例性的,结合图1,如图2所示,本技术提供的模型评估方法中,还包括以下步骤:
[0139]
s201、模型评估装置对待评估模型进行分层,确定每个子模块归属的层级。
[0140]
可选地,层级包括顶层、中层、底层。
[0141]
示例性地,模型评估装置对待评估模型进行分层后,确定出待评估模型的关系图。具体来说:接口模型的关系图首先可以将整个接口模型包含的yang文件分为底层、中层、顶层三个部分。底层结构包括一些被广泛引用的基础结构,如yang语言的基本对象、类型和属性定义、ietf规定的基本类型等,如tapi模型中的tapi-common模块,actn模型中的ietf-inet-types模块、ietf-yang-types模块等;中层结构和高层结构是与接口模型具体功能相关的模块,其中中层结构依赖于底层结构,同时服务于高层结构,主要负责网络层基础对象定义,以及接口功能中连接、计算等承上启下的工作,如网络接口模型中常见的路由、网络资源、隧道等,如tapi模型中的tapi-connectivity模块、tapi-path-computation模块,actn模型中的ietf-mpls模块等;高层结构依赖于中层和底层结构,完成了业务、连接的顶层建模,规定了与网络管理功能相关的具体操作,如拓扑、业务、性能检测等,如actn模型中的拓扑模块、l2vpn模块、l3vpn模块等。需要注意的是,孤立模块不存在任何引用关系,因此划分结构层次时仅考虑包含至少一个引用关系的模块。
[0142]
可以理解的是,基于上述对顶层、中层、底层的解释或定义,模型评估装置能够对待评估模型中包括的子模块进行分层,确定每个子模块归属的层级。
[0143]
基于上述技术方案,本技术能够对待评估模型中包括的子模块进行分层,以便于后续确定子模块的分层关系属性的顺利进行。
[0144]
示例性地,结合图2,如图3所示,本技术提供的模型评估方法中,还包括以下步骤:
[0145]
s301、模型评估装置根据预设打分规则,确定目标指标中每个指标的打分表。
[0146]
下面针对模型评估装置已确定待评估模型的分层关系图,以及目标指标包括第一指标、第二指标、第三指标、第四指标的情况进行说明:
[0147]
(1)第一指标
[0148]
可选地,第一指标为每个子模块包括的平均功能数量,第一指标满足以下公式:
[0149]
[0150]
其中,index1表示第一指标,m表示子模块的数量,mofi表示子模块包括的功能数量。
[0151]
可以理解的是,为了方便最后对第一指标进行标准化处理计算,可以对指标1进行建立打分表,分值为1-5分,单一模块包含的功能数越少,抽象化程度越好,评分越高。具体如下表2所示:
[0152]
表2第一指标打分表
[0153]
index1[1,2)[2,3)[3,4)[4,5)≥5分数54321
[0154]
(2)第二指标
[0155]
可选地,所述第二指标为圈复杂度,所述第二指标满足以下公式:
[0156]
index2=i-m+2p
[0157]
其中,index2表示所述第二指标,,i表示所述子模块之间引用关系和增补关系的数量,m表示所述子模块的数量,p表示所述每个子模块之间不连通的数量。
[0158]
需要说明的是,当p>1时,待评估模型的分层关系图中存在孤立模块或多于1个孤立模块组。孤立模块是指关系图中不存在引用或被引用关系的模块,即图中孤立点。孤立模块组是指内部存在引用关系,但不存在连接到外部的引用关系的模块组,即由若干个点和这些点之间连线组成的子图。
[0159]
圈复杂度在简单描述模块间依赖关系时考虑了孤立状态,圈复杂度越高,证明孤立模块越多或者节点之间的引用和增补关系越复杂,抽象度越低,得分越低。因此可作为模块抽象化程度的基础评价指标。
[0160]
可以理解的是,同样为了方便最后对第二指标进行标准化处理计算,也对第二指标建立打分表,具体如下表3:
[0161]
表3第二指标打分表
[0162]
index2[1-10)[10-20)[20-30)[30-40)≥40分数54321
[0163]
(3)第三指标
[0164]
可选地,第三指标为扇入扇出度,第三指标满足以下公式:
[0165][0166]
其中,index3表示第三指标,fin
bottom
表示待评估模型的底层结构扇入率,fout
middle
表示待评估模型的中层结构扇出率,fout
top
表示待评估模型的顶层结构扇出率。
[0167]
可选地,为保证公平量化地评估扇入扇出度,本技术制定了扇入扇出度综合评分规则,根据底层结构扇入率、中层结构扇出率和高层结构扇出率这三项子指标值的区间范围,得出对应积分值,累积计算扇入扇出度评分,作为接口模型复杂度中“扇入扇出度”这一指标值。
[0168]
具体的,各子指标区间范围及其对应积分值如下表4所示。扇入扇出度评分由三个子指标的积分值求和得出,评分越小代表模型结构越合理。
[0169]
表4扇入扇出度评分规则
[0170][0171][0172]
(4)第四指标
[0173]
可选地,第四指标为耦合复杂度,第四指标满足以下公式:
[0174][0175]
其中,index4表示第四指标,imp表示每个子模块之间引用的次数,aum表示每个子模块之间增补的次数,m表示子模块的数量。
[0176]
需要说明的是,同样为了方便最后对第四指标进行标准化处理计算,也对第四指标建立打分表,具体如下表5所示:
[0177]
表5第四指标打分表
[0178]
index4[0-2)[2-4)[4-6)[6-8)≥8分数54321
[0179]
s302、模型评估装置根据目标指标和目标指标中每个指标的打分表,确定目标指标的参数值。
[0180]
可以理解的是,结合上述s301中的目标指标的计算方式和打分表,易得出目标指标的参数值。
[0181]
基于上述技术方案,本技术能够根据预设的打分规则,和指标计算方式,来确定出四种指标的参数值,以便于后续模型抽象化程度评估的顺利进行。
[0182]
示例性的,下面结合图4所示的待评估模型的具体分层关系图,对本技术设计的具体实例进行说明:
[0183]
如图4所示,该yang接口模型包括包括9个yang文件,也即该模型包括9个子模块,这些子模块之间import和augment的关系如图4所示。
[0184]
示例性的,该yang接口模型中每个子模块承载的功能如下表6所示:
[0185]
表6子模块功能表
[0186]
[0187][0188]
(1)对于第一指标的计算,m=9:
[0189][0190]
结合上述s301中第一指标的评分规则,指标第一得分为5分;
[0191]
(2)对于第二指标圈复杂度的计算,e=18,n=9,p=1
[0192]
index2=e-n+2p=11
[0193]
结合上述s301中第二指标的评分规则,第二指标得分为4分;
[0194]
(3)对于第三指标扇入扇出度的计算:
[0195][0196][0197][0198]
结合上述s301中第三指标的评分规则,第三指标得分为11分;
[0199][0200]
(4)对于第四指标耦合度的计算,imp=15,aum=3,m=9
[0201][0202]
结合上述s301中第四指标的评分规则,第四指标得分为4分;
[0203]
由此,得到四个指标后,可以对四个指标进行标准化或归一化处理后,由相关领域技术人员去确定不同指标的权重综合计算得到接口模型的抽象化程度。
[0204]
示例性的,假设4个指标权重相同,则最终得分为
[0205][0206]
本技术实施例可以根据上述方法示例对模型评估装置进行功能模块或者功能单元的划分,例如,可以对应各个功能划分各个功能模块或者功能单元,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块或者功能单元的形式实现。其中,本技术实施例中对模块或者单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
[0207]
示例性地,如图5所示,为本技术实施例所涉及的一种模型评估装置的一种可能的结构示意图。该模型评估装置500包括:获取单元501和处理单元502。
[0208]
其中,获取单元501,用于获取待评估模型中每个子模块的功能类别属性。其中,功能类别属性用于表征子模块实现的功能。
[0209]
处理单元502,用于确定待评估模型中每个子模块之间的分层关系属性。其中,分层关系属性用于表征每个子模块之间的引用关系和增补关系。
[0210]
处理单元502,还用于根据功能类别属性、分层关系属性和预设打分规则,确定目标指标的参数值。其中,目标指标用于表征待评估模型的抽象化程度。
[0211]
处理单元502,还用于根据目标指标的参数值,确定待评估模型的抽象化评估结果。
[0212]
可选地,处理单元502,还用于根据功能类别属性和分层关系属性,确定目标指标。
[0213]
可选地,处理单元502,还用于根据目标指标和预设打分规则,确定目标指标的参数值。
[0214]
可选地,处理单元502,还用于对待评估模型进行分层,确定每个子模块归属的层级。其中,层级包括顶层、中层、底层。
[0215]
可选地,处理单元502,还用于根据预设打分规则,确定目标指标中每个指标的打分表。
[0216]
可选地,处理单元502,还用于根据目标指标和目标指标中每个指标的打分表,确定目标指标的参数值。
[0217]
可选地,处理单元502,还用于对目标指标的参数值进行预处理,确定目标指标中每个指标的权重值。其中,预处理包括标准化处理和/或归一化处理。
[0218]
可选地,处理单元502,还用于根据目标指标中每个指标的权重值,确定待评估模型的抽象化评估结果。
[0219]
可选地,模型评估装置500还可以包括存储单元(图5中以虚线框示出),该存储单元存储有程序或指令,当处理单元501执行该程序或指令时,使得模型评估装置可以执行上述方法实施例所述的模型评估方法。
[0220]
此外,图5所述的模型评估装置的技术效果可以参考上述实施例所述的模型评估方法的技术效果,此处不再赘述。
[0221]
示例性地,图6为上述实施例中所涉及的模型评估装置的又一种可能的结构示意图。如图6所示,模型评估装置600包括:处理器602。
[0222]
其中,处理器602,用于对该模型评估装置的动作进行控制管理,例如,执行上述处理单元501执行的步骤,和/或用于执行本文所描述的技术方案的其它过程。
[0223]
上述处理器602可以是实现或执行结合本技术内容所描述的各种示例性的逻辑方框,模块和电路。该处理器可以是中央处理器,通用处理器,数字信号处理器,专用集成电路,现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本技术公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等。
[0224]
可选地,模型评估装置600还可以包括通信接口603、存储器601和总线604。其中,
通信接口603用于支持模型评估装置600与其他网络实体的通信。存储器601用于存储该模型评估装置的程序代码和数据。
[0225]
其中,存储器601可以是模型评估装置中的存储器,该存储器可以包括易失性存储器,例如随机存取存储器;该存储器也可以包括非易失性存储器,例如只读存储器,快闪存储器,硬盘或固态硬盘;该存储器还可以包括上述种类的存储器的组合。
[0226]
总线604可以是扩展工业标准结构(extended industry standard architecture,eisa)总线等。总线604可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0227]
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0228]
本技术实施例提供一种包含指令的计算机程序产品,当所述计算机程序产品在本技术的电子设备上运行时,使得所述计算机执行上述方法实施例所述的模型评估方法。
[0229]
本技术实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当计算机执行该指令时,该本技术的电子设备执行上述方法实施例所示的方法流程中模型评估装置执行的各个步骤。
[0230]
其中,计算机可读存储介质,例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘。随机存取存储器(random access memory,ram)、只读存储器(read-only memory,rom)、可擦式可编程只读存储器(erasable programmable read only memory,eprom)、寄存器、硬盘、光纤、便携式紧凑磁盘只读存储器(compact disc read-only memory,cd-rom)、光存储器件、磁存储器件、或者上述的人以合适的组合、或者本领域数值的任何其他形式的计算机可读存储介质。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于特定用途集成电路(application specific integrated circuit,asic)中。在本技术实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0231]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何在本技术揭露的技术范围内的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应该以权利要求的保护范围为准。
技术特征:
1.一种模型评估方法,其特征在于,所述方法还包括:获取待评估模型中每个子模块的功能类别属性;其中,所述功能类别属性用于表征所述子模块实现的功能;确定所述待评估模型中所述每个子模块之间的分层关系属性;其中,所述分层关系属性用于表征所述每个子模块之间的引用关系和增补关系;根据所述功能类别属性、分层关系属性和预设打分规则,确定目标指标的参数值;其中,所述目标指标用于表征所述待评估模型的抽象化程度;根据所述目标指标的参数值,确定所述待评估模型的抽象化评估结果。2.根据权利要求1所述的方法,其特征在于,所述待评估模型为yang模型,所述目标指标包括以下至少一项:第一指标、第二指标、第三指标、第四指标;其中,第一指标用于表征所述子模块包括的功能数量,所述第二指标用于表征所述每个子模块之间的引用关系和增补关系的复杂程度,所述第三指标用于表征所述每个子模块之间分层的复杂程度,所述第四指标用于表征所述每个子模块之间关联的密切程度;所述根据所述功能类别属性、分层关系属性和预设打分规则,确定所述目标指标的参数值,具体包括:根据所述功能类别属性和所述分层关系属性,确定所述目标指标;根据所述目标指标和所述预设打分规则,确定所述目标指标的参数值。3.根据权利要求2所述的方法,其特征在于,在所述确定所述待评估模型中所述每个子模块之间的分层关系属性之前,所述方法还包括:对所述待评估模型进行分层,确定所述每个子模块归属的层级;其中,所述层级包括顶层、中层、底层。4.根据权利要求3所述的方法,其特征在于,所述第一指标为所述每个子模块包括的平均功能数量,所述第一指标满足以下公式:其中,index1表示所述第一指标,m表示所述子模块的数量,mof
i
表示所述子模块包括的功能数量。5.根据权利要求3所述的方法,其特征在于,所述第二指标为圈复杂度,所述第二指标满足以下公式:index2=i-m+2p其中,index2表示所述第二指标,i表示所述子模块之间引用关系和增补关系的数量,m表示所述子模块的数量,p表示所述每个子模块之间不连通的数量。6.根据权利要求5所述的方法,其特征在于,所述第三指标为扇入扇出度,所述第三指标满足以下公式:其中,index3表示所述第三指标,fin
bottom
表示所述待评估模型的底层结构扇入率,fout
middle
表示所述待评估模型的中层结构扇出率,fout
top
表示所述待评估模型的顶层结构扇出率。
7.根据权利要求6所述的方法,其特征在于,所述第四指标为耦合复杂度,所述第四指标满足以下公式:其中,index4表示所述第四指标,imp表示所述每个子模块之间引用的次数,aum表示所述每个子模块之间增补的次数,m表示所述子模块的数量。8.根据权利要求7所述的方法,其特征在于,所述根据所述目标指标和所述预设打分规则,确定所述目标指标的参数值,具体包括:根据所述预设打分规则,确定所述目标指标中每个指标的打分表;根据所述目标指标和所述目标指标中每个指标的打分表,确定所述目标指标的参数值。9.根据权利要求8所述的方法,其特征在于,所述根据所述目标指标的参数值,确定所述待评估模型的抽象化评估结果,具体包括:对所述目标指标的参数值进行预处理,确定所述目标指标中每个指标的权重值;其中,所述预处理包括标准化处理和/或归一化处理;根据所述目标指标中每个指标的权重值,确定所述待评估模型的抽象化评估结果。10.一种模型评估装置,其特征在于,所述模型评估装置包括:获取单元和处理单元;所述获取单元,用于获取待评估模型中每个子模块的功能类别属性;其中,所述功能类别属性用于表征所述子模块实现的功能;所述处理单元,用于确定所述待评估模型中所述每个子模块之间的分层关系属性;其中,所述分层关系属性用于表征所述每个子模块之间的引用关系和增补关系;所述处理单元,还用于根据所述功能类别属性、分层关系属性和预设打分规则,确定目标指标的参数值;其中,所述目标指标用于表征所述待评估模型的抽象化程度;所述处理单元,还用于根据所述目标指标的参数值,确定所述待评估模型的抽象化评估结果。11.根据权利要求10所述的模型评估装置,其特征在于,所述处理单元,还用于根据所述功能类别属性和所述分层关系属性,确定所述目标指标;所述处理单元,还用于根据所述目标指标和所述预设打分规则,确定所述目标指标的参数值。12.根据权利要求11所述的模型评估装置,其特征在于,所述处理单元,还用于对所述待评估模型进行分层,确定所述每个子模块归属的层级;其中,所述层级包括顶层、中层、底层。13.根据权利要求12所述的模型评估装置,其特征在于,所述第一指标为所述每个子模块包括的平均功能数量,所述第一指标满足以下公式:其中,index1表示所述第一指标,m表示所述子模块的数量,mof
i
表示所述子模块包括的功能数量。
14.根据权利要求13所述的模型评估装置,其特征在于,所述第二指标为圈复杂度,所述第二指标满足以下公式:index2=i-m+2p其中,index2表示所述第二指标,i表示所述子模块之间引用关系和增补关系的数量,m表示所述子模块的数量,p表示所述每个子模块之间不连通的数量。15.根据权利要求14所述的模型评估装置,其特征在于,所述第三指标为扇入扇出度,所述第三指标满足以下公式:其中,index3表示所述第三指标,fin
bottom
表示所述待评估模型的底层结构扇入率,fout
middle
表示所述待评估模型的中层结构扇出率,fout
top
表示所述待评估模型的顶层结构扇出率。16.根据权利要求15所述的模型评估装置,其特征在于,所述第四指标为耦合复杂度,所述第四指标满足以下公式:其中,index4表示所述第四指标,imp表示所述每个子模块之间引用的次数,aum表示所述每个子模块之间增补的次数,m表示所述子模块的数量。17.根据权利要求16所述的模型评估装置,其特征在于,所述处理单元,还用于根据所述预设打分规则,确定所述目标指标中每个指标的打分表;所述处理单元,还用于根据所述目标指标和所述目标指标中每个指标的打分表,确定所述目标指标的参数值。18.根据权利要求17所述的模型评估装置,其特征在于,所述处理单元,还用于对所述目标指标的参数值进行预处理,确定所述目标指标中每个指标的权重值;其中,所述预处理包括标准化处理和/或归一化处理;所述处理单元,还用于根据所述目标指标中每个指标的权重值,确定所述待评估模型的抽象化评估结果。19.一种电子设备,其特征在于,包括:处理器和通信接口;所述通信接口和所述处理器耦合,所述处理器用于运行计算机程序或指令,以实现如权利要求1-9中任一项所述的模型评估方法。20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当计算机执行该指令时,该计算机执行如权利要求1-9中任一项所述的模型评估方法。
技术总结
本申请公开了一种模型评估方法、装置、电子设备及存储介质,涉及数据处理技术领域,用以解决现阶段无法对YANG模型进行抽象化程度评估的问题,包括:获取待评估模型中每个子模块的功能类别属性;其中,功能类别属性用于表征子模块实现的功能;确定待评估模型中每个子模块之间的分层关系属性;其中,分层关系属性用于表征每个子模块之间的引用关系和增补关系;根据功能类别属性、分层关系属性和预设打分规则,确定目标指标的参数值;其中,目标指标用于表征待评估模型的抽象化程度;根据目标指标的参数值,确定待评估模型的抽象化评估结果。本申请用于对YANG接口模型进行抽象化程度评估。评估。评估。
技术研发人员:韩博文 郑滟雷 王泽林 武成洁 朱琳
受保护的技术使用者:中国联合网络通信集团有限公司
技术研发日:2022.12.22
技术公布日:2023/8/5
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
上一篇:一种系带底座结构以及系带装置的制作方法 下一篇:一种模具生产的运输架的制作方法
