CN114095347A - 网络业务自动化平台、冲突管理方法、设备及存储介质 - Google Patents
网络业务自动化平台、冲突管理方法、设备及存储介质 Download PDFInfo
- Publication number
- CN114095347A CN114095347A CN202010762172.8A CN202010762172A CN114095347A CN 114095347 A CN114095347 A CN 114095347A CN 202010762172 A CN202010762172 A CN 202010762172A CN 114095347 A CN114095347 A CN 114095347A
- Authority
- CN
- China
- Prior art keywords
- rule
- conflict
- node
- instance
- result
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0876—Aspects of the degree of configuration automation
- H04L41/0886—Fully automatic configuration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0866—Checking the configuration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5041—Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5041—Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
- H04L41/5051—Service on demand, e.g. definition and deployment of services in real time
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5041—Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
- H04L41/5054—Automatic deployment of services triggered by the service manager, e.g. service implementation by automatic configuration of network components
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Automation & Control Theory (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了网络业务自动化平台、冲突管理方法、设备及存储介质,方法包括:首先,获取业务意图,获取与业务意图匹配的目标模板或者目标节点类型。接着,在分解目标模板得到目标模板的分解结果或实例化目标节点类型得到目标节点实例后,执行用于验证冲突的第一规则,得到分解结果或目标节点实例与已实施规则的第一冲突验证结果,分解结果包括至少一个节点实例。支持在运行时动态接受意图和策略,自动检查所有相关的意图/策略、策略/策略之间的冲突,并尝试自动解决,支持意图被正确地翻译、实施、保障和修复。
Description
技术领域
本申请涉及通信技术领域,尤其涉及网络业务自动化平台、冲突管理方法、设备及存储介质。
背景技术
随着对网络业务自动化需求的增加,面向多种业务的通用网络业务自动化平台应运而生。为了尽可能敏捷地提供新的网络业务服务并且及时保障,网络业务自动化平台支持自行定义、设计业务发放、运维的数据模型和控制逻辑,避免对业务和技术进行硬编码,从而缩短新业务的上线时间。
相关技术中,网络业务自动化平台使用编排引擎来实现网络业务自动化发放,使用策略驱动引擎来实现事件驱动的闭环自动化,且策略驱动引擎通常使用规则引擎。设计时,导入模板到编排引擎,导入规则到规则引擎,模板和规则各自独立地使用不同的技术实现。在运行时,编排引擎响应用户请求查找并执行对应模板,而规则引擎响应控制器或者网元的事件执行相应的操作。当用户(业务使用者或维护者)创建了新的意图和/或策略和已有的意图发放实例发生冲突,则修改上级模板然后重新导入修改后的模板到编排引擎。当用户创建了新的策略和已有的规则实例发生冲突,则修改规则重新发布到规则引擎。
不难看出,相关技术提供的网络业务自动化平台在对冲突进行管理时,编排引擎和规则引擎相互独立,意图和/或策略冲突管理只是通过模板实现。而模板需要设计时就确定好,如果因为业务运维策略需要调整模板,则需要开发者使用设计时的工具修改模板。因此,相关技术所提供的冲突管理方式灵活性不高,效率较低。
发明内容
本申请提供了一种网络业务自动化平台、冲突管理方法、设备及存储介质,以解决相关技术提供的问题,技术方案如下:
第一方面,提供了一种网络业务自动化平台,该网络业务自动化平台包括编排引擎、规则引擎以及仓库模块,仓库模块中存储有节点类型、模板及规则集合,节点类型用于被编排引擎和规则引擎共享使用,而规则集合包括用于验证冲突的第一规则。其中,编排引擎,用于获取业务意图,还用于获取与业务意图匹配的目标模板或者目标节点类型,还用于分解目标模板得到目标模板的分解结果或实例化目标节点类型得到目标节点实例后,调用规则引擎执行存储在仓库模块中的第一规则,得到分解结果或目标节点实例与已实施规则的第一冲突验证结果,分解结果包括至少一个节点实例。
本申请实施例提供的网络业务自动化平台,结合模板编排、规则编程技术,在意图发放和闭环流程引入编排引擎和规则引擎的互动,改变了相关技术中不够敏捷的不足。例如,本申请实施例提供的网络业务自动化平台可在设计时将运维偏好有关的策略写在模板等,支持在运行时动态接受意图和策略,自动检查所有相关的意图/策略、策略/策略之间的冲突,并尝试自动解决,支持意图被正确地翻译、实施、保障和修复。
在一种可能的实现方式中,规则集合还包括用于解决冲突的第二规则;编排引擎,还用于基于第一冲突验证结果指示存在第一冲突,调用规则引擎执行存储在仓库模块中的第二规则,以用于解决第一冲突。
在一种可能的实现方式中,编排引擎,用于调用规则引擎执行存储在仓库模块中的第一规则,以验证分解结果或目标节点实例是否与已实施规则相匹配;基于存在与分解结果或目标节点实例不匹配的已实施规则,得到指示存在第一冲突的第一冲突验证结果。
在一种可能的实现方式中,规则集合还包括用于分解模板的第三规则;编排引擎,用于调用规则引擎执行存储在仓库模块中的第三规则,得到与业务意图匹配的目标模板或者目标节点类型。
在一种可能的实现方式中,规则集合还包括用于事件条件动作ECA闭环的第四规则;
规则引擎,用于接收对象事件,根据对象事件关联的节点类型查询仓库模块中的至少一个第四规则,得到至少一个预案;对于至少一个预案中的任一预案,调用编排引擎模拟执行任一预案对应的配置动作,得到包括配置实例的模拟执行结果;
规则引擎,还用于执行存储在仓库模块中的第一规则,得到模拟执行结果与已有的相关意图或策略的第二冲突验证结果。
在一种可能的实现方式中,规则引擎,还用于基于第二冲突验证结果指示存在第二冲突,执行存储在仓库模块中的第二规则,以用于解决第二冲突。
在一种可能的实现方式中,规则引擎,用于执行存储在仓库模块中的第一规则,验证模拟执行结果包括的配置实例是否符合已有的相关意图或策略;基于模拟执行结果包括的配置实例不符合已有的相关意图或策略,则得到指示存在第二冲突的第二冲突验证结果。
在一种可能的实现方式中,规则引擎,还用于基于第二冲突验证结果指示不存在第二冲突,或者存在的第二冲突被解决,实施模拟执行结果包括的配置实例。
在一种可能的实现方式中,规则引擎,还用于基于存在的第二冲突无法解决,查询与对象事件关联的节点类型的上一级节点类型,按照对对象事件相关的节点类型的处理方式来处理上一级节点类型,直至调用第一规则得到指示不存在冲突的第二冲突验证结果。
在一种可能的实现方式中,规则引擎,还用于获取网络业务自动化平台运行时部署的第一策略,将第一策略转换成应用到第一节点类型的新规则;
规则引擎,还用于从仓库模块中查询第一节点类型的已有规则,执行存储在仓库模块中的第一规则,得到第一节点类型的新规则与第一节点类型的已有规则的第三冲突验证结果。
在一种可能的实现方式中,规则引擎,还用于查询符合第一节点类型的至少一个第一节点实例;对于至少一个第一节点实例中的任一第一节点实例,查询任一第一节点实例的已有规则;
规则引擎,还用于比较第一节点类型的新规则与任一第一节点实例的已有规则的优先级;基于第一节点类型的新规则的优先级高于任一第一节点实例的已有规则的优先级,执行存储在仓库模块中的第一规则,得到第一节点类型的新规则与任一第一节点实例的第四冲突验证结果。
在一种可能的实现方式中,规则引擎,还用于获取网络业务自动化平台运行时部署的第二策略,将第二策略转换成应用到第二节点实例的新规则;
规则引擎,还用于从仓库模块中查询第二节点实例的已有规则,执行存储在仓库模块中的第一规则,得到第二节点实例的新规则与第二节点实例的已有规则的第五冲突验证结果。
在一种可能的实现方式中,规则引擎,还用于执行存储在仓库模块中的第一规则,得到第二节点实例的新规则与第二节点实例的第六冲突验证结果。
第二方面,提供了一种应用于网络业务自动化平台的冲突管理方法,该方法包括:首先,获取业务意图,获取与业务意图匹配的目标模板或者目标节点类型。接着,在分解目标模板得到目标模板的分解结果或实例化目标节点类型得到目标节点实例后,执行用于验证冲突的第一规则,得到分解结果或目标节点实例与已实施规则的第一冲突验证结果,分解结果包括至少一个节点实例。
在一种可能的实现方式中,得到分解结果或目标节点实例与已实施规则的第一冲突验证结果之后,还包括:
基于第一冲突验证结果指示存在第一冲突,执行用于解决冲突的第二规则,以用于解决第一冲突。
在一种可能的实现方式中,执行验证冲突的第一规则,得到分解结果或目标节点实例与已实施规则的第一冲突验证结果,包括:
执行用于验证冲突的第一规则,以验证分解结果或目标节点实例是否与已实施规则相匹配;
基于存在与分解结果或目标节点实例不匹配的已实施的规则,得到指示存在第一冲突的第一冲突验证结果。
在一种可能的实现方式中,获取与业务意图匹配的目标模板或者目标节点类型,包括:
执行用于模板分解的第三规则,执行第三规则,得到与业务意图匹配的目标模板或者目标节点类型。
在一种可能的实现方式中,方法还包括:
接收对象事件,根据对象事件关联的节点类型查询至少一个用于事件条件动作ECA闭环的第四规则,得到至少一个预案;
对于至少一个预案中的任一预案,执行任一预案对应的配置动作,得到包括配置实例的模拟执行结果;
执行用于验证冲突的第一规则,得到模拟执行结果与已有的相关意图或策略的第二冲突验证结果。
在一种可能的实现方式中,得到模拟执行结果对应的第二冲突验证结果之后,还包括:
基于第二冲突验证结果指示存在第二冲突,执行用于解决冲突的第二规则,以用于解决第二冲突。
在一种可能的实现方式中,执行用于验证冲突的第一规则,得到模拟执行结果对应的第二冲突验证结果,包括:
执行用于验证冲突的第一规则,验证模拟执行结果包括的配置实例是否符合已有的相关意图或策略;
基于模拟执行结果包括的配置实例不符合已有的相关意图或策略,则得到指示存在第二冲突的第二冲突验证结果。
在一种可能的实现方式中,执行用于验证冲突的第一规则,得到模拟执行结果对应的第二冲突验证结果之后,还包括:
基于第二冲突验证结果指示不存在第二冲突,或者存在的第二冲突被解决,实施模拟执行结果包括的配置实例。
在一种可能的实现方式中,执行用于解决冲突的第二规则,以用于解决第二冲突之后,还包括:
基于存在的第二冲突无法解决,查询与对象事件关联的节点类型的上一级节点类型,按照对对象事件相关的节点类型的处理方式来处理上一级节点类型,直至调用第一规则得到指示不存在冲突的第二冲突验证结果。
在一种可能的实现方式中,方法还包括:
获取网络业务自动化平台运行时部署的第一策略,将第一策略转换成应用到第一节点类型的新规则;
查询第一节点类型的已有规则,执行用于验证冲突的第一规则,得到第一节点类型的新规则与第一节点类型的已有规则的第三冲突验证结果。
在一种可能的实现方式中,执行用于验证冲突的第一规则,得到第一节点类型的新规则与第一节点类型的已有规则的第三冲突验证结果之后,还包括:
查询第一节点类型的至少一个第一节点实例;
对于至少一个第一节点实例中的任一第一节点实例,查询任一第一节点实例的已有规则;
比较第一节点类型的新规则与任一第一节点实例的已有规则的优先级;
基于第一节点类型的新规则的优先级高于任一第一节点实例的已有规则的优先级,执行用于验证冲突的第一规则,得到第一节点类型的新规则与任一第一节点实例的第四冲突验证结果。
在一种可能的实现方式中,方法还包括:
获取网络业务自动化平台运行时部署的第二策略,将第二策略转换成应用到第二节点实例的新规则;
查询第二节点实例的已有规则,执行用于验证冲突的第一规则,得到第二节点实例的新规则与第二节点实例的已有规则的第五冲突验证结果。
在一种可能的实现方式中,将第二策略转换成应用到第二节点实例的新规则之后,还包括:
执行用于验证冲突的第一规则,得到第二节点实例的新规则与第二节点实例的第六冲突验证结果。
第三方面,提供了一种冲突管理装置,该冲突管理装置包括:
获取模块,用于获取业务意图;
获取模块,还用于获取与业务意图匹配的目标模板或者目标节点类型;
执行模块,用于分解目标模板得到目标模板的分解结果或实例化目标节点类型得到目标节点实例后,执行用于验证冲突的第一规则,得到分解结果或目标节点实例与已实施规则的第一冲突验证结果,分解结果包括至少一个节点实例。
在一种可能的实现方式中,执行模块,还用于基于第一冲突验证结果指示存在第一冲突,执行用于解决冲突的第二规则,以用于解决第一冲突。
在一种可能的实现方式中,执行模块,用于执行用于验证冲突的第一规则,以验证分解结果或目标节点实例是否与已实施规则相匹配;基于存在与分解结果或目标节点实例不匹配的已实施的规则,得到指示存在第一冲突的第一冲突验证结果。
在一种可能的实现方式中,获取模块,用于执行用于模板分解的第三规则,执行第三规则,得到与业务意图匹配的目标模板或者目标节点类型。
在一种可能的实现方式中,装置还包括:接收模块,用于接收对象事件,根据对象事件关联的节点类型查询至少一个用于事件条件动作ECA闭环的第四规则,得到至少一个预案;
执行模块,还用于对于至少一个预案中的任一预案,执行任一预案对应的配置动作,得到包括配置实例的模拟执行结果;执行用于验证冲突的第一规则,得到模拟执行结果与已有的相关意图或策略的第二冲突验证结果。
在一种可能的实现方式中,执行模块,还用于基于第二冲突验证结果指示存在第二冲突,执行用于解决冲突的第二规则,以用于解决第二冲突。
在一种可能的实现方式中,执行模块,用于执行用于验证冲突的第一规则,验证模拟执行结果包括的配置实例是否符合已有的相关意图或策略;基于模拟执行结果包括的配置实例不符合已有的相关意图或策略,则得到指示存在第二冲突的第二冲突验证结果。
在一种可能的实现方式中,装置还包括:实施模块,用于用于基于第二冲突验证结果指示不存在第二冲突,或者存在的第二冲突被解决,实施模拟执行结果包括的配置实例。
在一种可能的实现方式中,装置还包括:查询模块,用于基于存在的第二冲突无法解决,查询与对象事件关联的节点类型的上一级节点类型;
处理模块,用于按照对对象事件相关的节点类型的处理方式来处理上一级节点类型,直至调用第一规则得到指示不存在冲突的第二冲突验证结果。
在一种可能的实现方式中,获取模块,还用于获取网络业务自动化平台运行时部署的第一策略,将第一策略转换成应用到第一节点类型的新规则;执行模块,还用于查询第一节点类型的已有规则,执行用于验证冲突的第一规则,得到第一节点类型的新规则与第一节点类型的已有规则的第三冲突验证结果。
在一种可能的实现方式中,执行模块,还用于查询第一节点类型的至少一个第一节点实例;对于至少一个第一节点实例中的任一第一节点实例,查询任一第一节点实例的已有规则;比较第一节点类型的新规则与任一第一节点实例的已有规则的优先级;基于第一节点类型的新规则的优先级高于任一第一节点实例的已有规则的优先级,执行用于验证冲突的第一规则,得到第一节点类型的新规则与任一第一节点实例的第四冲突验证结果。
在一种可能的实现方式中,获取模块,还用于获取网络业务自动化平台运行时部署的第二策略,将第二策略转换成应用到第二节点实例的新规则;查询第二节点实例的已有规则,执行用于验证冲突的第一规则,得到第二节点实例的新规则与第二节点实例的已有规则的第五冲突验证结果。
在一种可能的实现方式中,执行模块,还用于执行用于验证冲突的第一规则,得到第二节点实例的新规则与第二节点实例的第六冲突验证结果。
第四方面,提供了一种冲突管理设备,该设备包括:存储器及处理器,存储器中存储有至少一条指令,至少一条指令由处理器加载并执行,以实现上述第一方面任一所述的冲突管理方法。
第五方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如上第一方面任一所述的冲突管理方法。
第六方面,提供了另一种通信装置,该装置包括:收发器、存储器和处理器。其中,该收发器、该存储器和该处理器通过内部连接通路互相通信,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,以控制收发器接收信号,并控制收发器发送信号,并且当该处理器执行该存储器存储的指令时,使得该处理器执行第一方面或第一方面的任一种可能的实施方式中的方法。
作为一种示例性实施例,所述处理器为一个或多个,所述存储器为一个或多个。
作为一种示例性实施例,所述存储器可以与所述处理器集成在一起,或者所述存储器与处理器分离设置。
在具体实现过程中,存储器可以为非瞬时性(non-transitory)存储器,例如只读存储器(read only memory,ROM),其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本申请实施例对存储器的类型以及存储器与处理器的设置方式不做限定。
第七方面,提供了一种计算机程序(产品),所述计算机程序(产品)包括:计算机程序代码,当所述计算机程序代码被计算机运行时,使得所述计算机执行上述各方面中的方法。
第八方面,提供了一种芯片,包括处理器,用于从存储器中调用并运行所述存储器中存储的指令,使得安装有所述芯片的通信设备执行上述各方面中的方法。
第九方面,提供了另一种芯片,包括:输入接口、输出接口、处理器和存储器,所述输入接口、输出接口、所述处理器以及所述存储器之间通过内部连接通路相连,所述处理器用于执行所述存储器中的代码,当所述代码被执行时,所述处理器用于执行上述各方面中的方法。
附图说明
图1为相关技术提供的网络业务自动化平台的结构示意图;
图2为相关技术提供的网络业务自动化平台的结构示意图;
图3为相关技术提供的类型架构、类型、模板和实例之间的关系示意图;
图4为相关技术提供的业务意图发放过程示意图;
图5为相关技术提供的基于规则引擎技术的闭环自动化的过程示意图;
图6为本申请实施例提供的网络业务自动化平台的结构示意图;
图7为本申请实施例提供的规则应用过程示意图;
图8为本申请实施例提供的冲突管理方法流程图;
图9为本申请实施例提供的冲突管理方法流程图;
图10为本申请实施例提供的冲突管理方法流程图;
图11为本申请实施例提供的冲突管理方法流程图;
图12为本申请实施例提供的冲突管理方法流程图;
图13为本申请实施例提供的冲突管理方法流程图;
图14为本申请实施例提供的冲突管理装置的结构示意图;
图15为本申请实施例提供的冲突管理设备的结构示意图。。
具体实施方式
本申请的实施方式部分使用的术语仅用于对本申请的实施例进行解释,而非旨在限定本申请。
为了在不同运营商之间的多种网络结构、多种客户需求的环境下实现网络业务自动化,面向多种业务的网络业务自动化平台应运而生。为了尽可能敏捷地提供新的网络业务服务并且及时保障,如图1所示,相关技术提供的网络业务自动化平台引入了面向发放自动化的编排引擎(框架)和面向闭环运维的策略驱动引擎(框架)。且该网络业务自动化平台仅使用编排引擎来实现网络业务自动化发放,而策略驱动引擎则主要用于事件驱动的闭环自动化(如故障自动修复和自动优化)。
如图2所示的另一种相关技术提供的网络业务自动化平台,通常使用基于模板的编排引擎实现网络业务编排,而使用规则引擎实现闭环自动化的策略驱动,例如该规则引擎为IF/THEN(条件选择语句)规则引擎。此外,模板和规则各自独立地使用不同的技术实现。例如,基于模板的编排技术通常通过领域特定语言(domainspecific language,DSL)提供定义模型、模板、集成外部接口(例如脚本)的能力。通过模板技术中的云应用拓扑编排规范(topology and orchestration specification for cloud applications,TOSCA)支持用可扩展标记语言(extensible markup language,XML)或者另一种标记语言(YAML Ain'tMarkup Language,YAML)语言定义类型(type)和模板(template)层次的信息模型。
以如图3所示的类型架构(type schema)、类型(type)、模板(templates)和实例(instances)之间的关系为例,其中,节点类型(nodetype)用来定义意图类型,业务类型,资源类型等任意对象类型。属性(properties)用来定义对象类型的一般属性,接口(interface)定义操作该对象的实现方法,能力(capabilities)用来定义提供给其他对象类型的能力,要求(requirements)定义对其他节点能力的提出的需求。能力(capabilities)和要求(requirements)是描述对象类型关系的隐性方式,关系类型(relationshiptype)则是显式定义对象关系的方式。
如图3所示,节点类型(node type)和关系类型(relationshiptype)部分参数实例化后成为节点模板(nodetemplate)和关系模板(relationshiptemplate)。由节点模板(nodetemplate)和关系模板(relationshiptemplate)组成的网络拓扑模板(topologytemplate)可用于描述业务对象如何映射为多个资源对象。
以如图4所示的业务意图发放过程为例,通过模板置换(templatesubstitution),某个网络拓扑模板(topology template)中包含的节点模板(nodetemplate)可以置换成具有相同属性(properties),能力(capabilities)和要求(requirements)定义的另一个网络拓扑模板(topology template)。在意图转换过程中,意味着顶层意图模型对象可以通过多次模板映射到具体的网络资源对象。上级网络拓扑模板(topology template)在待置换的节点模板(nodetemplate)通过能力(capabilities)等参数给出具体需求,编排引擎根据上级模板相关声明匹配合乎要求的下级模板。
基于图4所示,当用户(业务使用者或维护者)创建了新的意图/策略可能和已有的意图发放实例发生冲突,例如,对某种资源对象资源类型的属性取值规定了新的约束条件,导致已有的上下级模板映射关系不再成立时,这种情况下,相关技术提供的网络业务自动化平台需要开发者修改上级模板,然后将修改后的上级模板重新导入到编排引擎。
以图5所示的基于规则引擎技术的闭环自动化的过程为例,规则引擎可被看作if/then语句的解析器,而规则就是if/then语句。针对网络故障、事件的维护策略在设计时被开发者事先写成规则,规则引擎在运行时收到事件后执行规则,输出自动选择的维护动作。
其中,规则的If语句需要检查(被监控的)数据对象的值,then语句则要说明维护动作。其中的数据对象和维护动作一般用通用语言来定义,例如java。而当用户创建了新的策略和已有的规则实例发生冲突,例如,对某种资源对象的属性取值范围规定了新的约束条件,已有规则的then语句中定义的维护动作设置了超出取值范围的属性值,这种情况下,相关技术提供的网络业务自动化平台需要开发者修改if-then语句重新发布到规则引擎。
基于上述分析,不难看出,当用户(业务使用者或维护者)创建了新的意图和/或策略时,如果新的意图和/或策略和已有的意图发放实例发生冲突,无论是图1所示的网络业务自动化平台还是图2所示的网络业务自动化平台,则需要开发者修改上级模板然后重新导入到编排引擎。当用户创建了新的策略和已有的规则实例发生冲突,则需要开发者修改规则语句重新发布到规则引擎。
但由于编排引擎和规则引擎使用两种不同技术,编程语言也相互独立,导致相同的对象模型要用两种语言各自定义,且针对意图或策略发放过程的事后验证逻辑和闭环动作的事后验证逻辑也要用两种语言各自定义。因此,相关技术提供的网络业务自动化平台存在代码冗余,容易引入错误。
此外,由于编排引擎和规则引擎相互独立,冲突检查只是通过模板实现。而模板需要设计时就确定好,不能在运行时动态修改,所以当由于业务运维策略需要调整的时候需要开发者使用设计时的工具修改模板。因此,冲突的处理方式灵活性不高,效率较低。
对此,本申请实施例提供了一种网络业务自动化平台。该网络业务自动化平台需要能够接收并满足来自用户和操作员的意图和/或策略。由于用户和用户之间,操作员和操作员之间,用户和操作员之间的意图和/或策略可能会存在冲突,该网络自动化平台还需要能够检查出可能存在的冲突并给出解决建议。其中,意图发放场景中的冲突检查包括但不限于:两个用户对于同一个资源是否设置了不同的属性;用户申请资源容量是否超出了操作员设定的范围;用户业务使用的资源对象是否符合操作员制定的约束条件等等。策略闭环场景中的冲突检查包括但不限于:策略闭环动作对某个资源对象、属性或状态的修改是否符合操作员制定的约束条件。
以本申请实施例提供的网络业务自动化平台如图6所示为例,该网络业务自动化平台除了包括编排引擎和规则引擎,还包括仓库(repository)模块。其中,本申请实施例提供的网络业务自动化平台中的编排引擎和规则引擎较相关技术中的编排引擎和规则引擎进行了增强。示例性地,通过对规则引擎进行增强,使得对象模型只用一种语言定义就可以被另外一种语言共享使用,例如,对象模型使用模板语言定义,即可被规则语言共同使用。示例性地,通过对编排引擎进行增强,使得本申请实施例提供的编排引擎和规则引擎之间能够相互交互,在业务发放和闭环运维场景提供基于意图/策略的冲突检查和解决能力。例如,编排引擎在运行时可调用规则引擎执行关于下级模板选择的规则和对象属性检查等规则,避免了固化在设计时的模板中,从而支持运行时动态修改。
如图6所示,本申请实施例提供的网络业务自动化平台的仓库模块中存储有节点类型、模板及规则集合,节点类型用于被编排引擎和规则引擎共享使用。在示例性实施例中,规则集合包括用于验证冲突的第二规则。示例性地,该规则集合还包括用于模板分解的第一规则。在示例性实施例中,该规则集合还包括用于解决冲突的第三规则。除此之外,该规则集合还包括用于事件条件动作(event condition action,ECA)闭环的第四规则。
示例性地,第一规则也可称为细化规则(refinement rule),用于模板分解,例如,该第一规则是指当使用模板实例化某节点或者关系对象类型并且满足其他上下文的条件下,增加或修改当前模板的参数,以达到影响对象实例化效果的规则。
第二规则也可称为验证规则(verification rule),用于验证冲突。例如,该第二规则是指当新建、修改、删除某节点或者关系对象时,通过评估新建和相关的已存在对象属性来决定是否批准新建/修改/删除动作的规则。
第三规则也可称为解决冲突(resolution rule),用于解决冲突。例如,该第三规则是指第四规则和第二规则冲突的情况下,调用和第四规则不同的其他模板API的规则。
第四规则也可称为重配置规则(reconfiguration rule),用于ECA闭环。例如,该第四规则是指当发生网络事件(例如对象状态属性发生变化等)并且满足其他上下文的条件下,调用对应模板的应用程序接口(application programming interface,API)重新创建已经实例化的对象,或者修改对象实例的属性的规则。
为了便于理解以上第一规则、第二规则、第三规则和第四规则,以图7所示的应用过程为例进行说明。如图7所示,网络拓扑模板(topology template)“c1”中包括节点模板(nodetemplate)“b”和节点模板(nodetemplate)“a”。节点模板(nodetemplate)“b”和节点模板(nodetemplate)“a”满足要求(requirements),而该要求(requirements)来源于关系类型(relationship type)。节点模板(nodetemplate)“a”来源于节点类型(node type)“A”。节点类型(node type)“A”置换成网络拓扑模板(topology template)“a2”和网络拓扑模板(topology template)“a1”。
例如,Refinement规则伪码为:If对象“c1”被创建,而且对象“a”被创建,Then设置对象“a”的属性”P1”为xx。
Reconfiguration规则伪码为:If发生事件“e1”,Then替换实例“a1”为实例“a2”。
Verification规则伪码为:If类型为“A”的对象被创建,而且属性“P2”的取值大于100,Then拒绝创建类型为“A”的对象。
Resolution规则伪码为:If规则“rule1”请求创建对象“a2”而且规则“rule2”拒绝创建对象“a2”,Then创建对象”a2”并且设置属性”P1”为xx。
在示例性实施例中,本申请实施例提供的网络业务自动化平台可分别在用户业务意图发放、操作员策略管理和闭环控制等场景中使用,也可以在用户业务意图发放、操作员策略管理和闭环控制等组合场景中使用。接下来,针对本申请实施例提供的网络业务自动化平台在各个场景中的应用方式进行说明。
针对业务意图发放场景,本申请实施例提供的网络业务自动化平台的编排引擎,用于获取业务意图。由于意图发放时需要编排引擎进行模板的多层分解或者节点类型实例化,在模板分解前或者节点类型实例化之前,编排引擎与业务意图匹配的目标模板或者目标节点类型。示例性地,编排引擎调用规则引擎执行存储在仓库模块中的第一规则,得到与业务意图匹配的目标模板或者目标节点类型。之后,该编排引擎,分解该目标模板得到目标模板的分解结果或实例化目标节点类型得到目标节点实例。
需要说明的是,本申请实施例中的目标模板的分解结果包括至少一个节点实例。也就是说,如果基于业务意图直接匹配到节点类型,则将节点类型实例化得到节点实例。如果基于业务意图匹配到目标模板,则分解目标模板,得到至少一个节点实例,也即分解结果。
该编排引擎,还用于分解目标模板得到目标模板的分解结果或实例化目标节点类型得到目标节点实例后,调用规则引擎执行存储在仓库模块中的第二规则,得到分解结果或目标节点实例与已实施规则的第一冲突验证结果。其中,编排引擎可每分解得到一个或多个节点实例,均调用规则引擎执行第二规则,得到该节点实例与已实施规则的第一冲突验证结果,以验证该节点实例是否与已实施规则存在冲突。
如果第一冲突验证结果指示存在第一冲突,该该编排引擎还用于基于第一冲突验证结果指示存在第一冲突,调用规则引擎执行存储在仓库模块中的第三规则,以用于解决第一冲突。
本申请实施例不对调用规则引擎执行存储在仓库模块中的第二规则,得到分解结果或目标节点实例与已实施规则的第一冲突验证结果的方式进行限定,示例性地,编排引擎,用于调用规则引擎执行存储在仓库模块中的第二规则,以验证分解结果或目标节点实例是否与已实施规则相匹配;基于存在与分解结果或目标节点实例不匹配的已实施规则,则得到指示存在第一冲突的第一冲突验证结果。
例如,调用规则引擎执行存储在仓库模块中的第二规则,验证分解结果与已实施规则不匹配,则得到该分解结果的第一冲突验证结果指示存在第一冲突。通过调用规则引擎执行存储在仓库模块中的第三规则,来解决该第一冲突。如果有多个目标模板,则对于一个目标模板验证得到的第一冲突被解决,则继续分解下一层模板,并在下一层模板有对应的第一规则的情况下,调用规则引擎执行第一规则对下一层模板继续分解,并对分解结果进行验证,如此循环,直至所有模板均通过验证。如果任一层模板未通过验证,即任一层模板验证存在第一冲突且该第一冲突未被解决,则停止分解。除此之外,还可以发出告警,本申请实施例不对第一冲突未被解决的方式进行限定。
如果目标模板分解得到多个节点实例,则对于一个节点实例得到的第一冲突被解决,则继续对下一个节点实例进行验证,如此循环,直至所有节点实例均通过验证。如果任一节点实例未通过验证,即任一节点实例验证存在第一冲突且该第一冲突未被解决,则停止验证。除此之外,还可以发出告警,本申请实施例不对第一冲突未被解决的方式进行限定。
针对ECA闭环冲突检查和解决场景,规则引擎,用于接收对象事件,根据对象事件关联的节点类型查询仓库模块中的至少一个第四规则,得到至少一个预案;对于至少一个预案中的任一预案,调用编排引擎模拟执行任一预案对应的配置动作,得到包括配置实例的模拟执行结果。规则引擎,还用于执行存储在仓库模块中的第二规则,得到模拟执行结果对应的第二冲突验证结果;基于第二冲突验证结果指示存在第二冲突,执行存储在仓库模块中的第三规则,以用于解决第二冲突。
需要说明的是,在本申请实施例提供的方法中,规则引擎根据对象事件关联的节点类型查询道的第四规则有可能为多个,得到多个预案,每个预案均可按照上述任一预案的处理方式进行处理。
关于执行存储在仓库模块中的第二规则,得到模拟执行结果对应的第二冲突验证结果的方式,本申请实施例不进行限定。示例性地,规则引擎,用于执行存储在仓库模块中的第二规则,验证模拟执行结果包括的配置实例是否符合已有的相关意图或策略;基于模拟执行结果包括的配置实例不符合已有的相关意图或策略,则得到指示存在第二冲突的第二冲突验证结果。
示例性地,规则引擎,还用于基于第二冲突验证结果指示不存在第二冲突,或者存在的第二冲突被解决,实施模拟执行结果包括的配置实例。
示例性地,规则引擎,还用于基于存在的第二冲突无法解决,查询相关的上一级节点类型,按照对对象事件相关的节点类型的处理方式来处理上一级节点类型,直至调用第二规则得到指示不存在冲突的第二冲突验证结果。
针对策略发放的冲突检查场景,策略可被转换成节点类型的规则,也可被转换成节点实例的规则,因而,在策略发放的冲突检查场景中,包括但不限于两种情况。
情况一:策略被转换成节点类型的规则
规则引擎,用于获取运行时部署的第一策略,将第一策略转换成应用到第一节点类型的新规则;规则引擎,还用于从仓库模块中查询第一节点类型的已有规则,执行存储在仓库模块中的第一规则,得到第一节点类型的新规则与第一节点类型的已有规则的第三冲突验证结果。需要说明的是,在示例性实施例中,如果第三冲突验证结果指示存在第三冲突,例如第一节点类型的新规则与第一节点类型的已有规则不匹配,则可停止策略发放流程。可选地,也可以继续进行节点实例的验证。
示例性地,规则引擎,还用于查询符合第一节点类型的至少一个第一节点实例;对于至少一个第一节点实例中的任一第一节点实例,查询任一第一节点实例的已有规则。之后,规则引擎,还用于比较第一节点类型的新规则与任一第一节点实例的已有规则的优先级;基于第一节点类型的新规则的优先级高于任一第一节点实例的已有规则的优先级,执行存储在仓库模块中的第一规则,得到第一节点类型的新规则与任一第一节点实例的第四冲突验证结果。
需要说明的是,在规则检查过程中,当应用到派生类节点类型的规则和应用到基类节点类型的规则产生冲突时,缺省情况下派生类节点类型的规则有更高优先级,这时不产生冲突。类似地,应用到节点实例的规则比应用到节点类型的规则有更高优先级。如果第一节点类型的新规则的优先级不高于任一第一节点实例的已有规则的优先级,则可继续遍历下一个节点实例,而不进行第四冲突验证。
情况二:策略被转换成节点实例的规则
本申请实施例提供的网络业务自动化平台的规则引擎,用于获取运行时部署的第二策略,将第二策略转换成应用到第二节点实例的新规则。之后,该规则引擎,还用于从仓库模块中查询第二节点实例的已有规则,执行存储在仓库模块中的第一规则,得到第二节点实例的新规则与第二节点实例的已有规则的第五冲突验证结果。
示例性地,规则引擎,还用于执行存储在仓库模块中的第一规则,得到第二节点实例的新规则与第二节点实例的第六冲突验证结果。
需要说明的是,关于第五冲突验证结果指示存在第五冲突,可不继续执行第六冲突验证过程。另外,本申请实施例不对第五冲突验证过程与第六冲突验证过程的顺序不进行限定。
综上所述,本申请实施例提供的网络业务自动化平台,结合模板编排、规则编程技术,在意图发放和闭环流程引入编排引擎和规则引擎的互动,改变了相关技术中不够敏捷的不足。例如,本申请实施例提供的网络业务自动化平台可在设计时将运维偏好有关的策略写在模板等,支持在运行时动态接受意图和策略,自动检查所有相关的意图/策略、策略/策略之间的冲突,并尝试自动解决,支持意图被正确地翻译、实施、保障和修复。
此外,通过增强规则语言,例如直接引用模板定义的节点类型,面向意图验证等用途的的规则可以一次编写,全面应用于意图发放、闭环保障的全生命周期,解决了代码冗余问题。
基于上述图6所示的网络业务自动化平台,本申请实施例提供了一种应用于该网络业务自动化平台的冲突管理方法,以该方法流程如图8所示为例,该方法包括如下过程。
801,获取业务意图。
如图6所示的网络业务自动化平台,可由编排引擎获取业务意图,该业务意图可以是用户输入的业务意图,本申请实施例不对业务意图的内容进行限定。
802,获取与业务意图匹配的目标模板或者目标节点类型。
示例性地,执行用于模板分解的第三规则,得到与业务意图匹配的目标模板或者目标节点类型。
示例性地,结合图6所示的网络业务自动化平台,可由编排引擎调用规则引擎执行仓库模块中存储的第三规则,得到与业务意图匹配的目标模板或者目标节点类型。
803,分解目标模板得到目标模板的分解结果或实例化目标节点类型得到目标节点实例后,执行用于验证冲突的第一规则,得到分解结果或目标节点实例对应的第一冲突验证结果。
示例性地,结合图6所示的网络业务自动化平台,可由编排引擎分解目标模板得到目标模板的分解结果或实例化目标节点类型得到目标节点实例后,调用规则引擎执行仓库模块中存储的用于验证冲突的第一规则,得到分解结果或目标节点实例对应的第一冲突验证结果。
示例性地,执行用于验证冲突的第一规则,得到分解结果或目标节点实例对应的第一冲突验证结果,包括:执行用于验证冲突的第一规则,以验证分解结果或目标节点实例是否与已实施的规则相匹配;基于分解结果或目标节点实例与已实施的规则不匹配,则得到指示存在第一冲突的第一冲突验证结果。
可选地,该方法还包括基于第一冲突验证结果指示存在第一冲突,执行用于解决冲突的第二规则,以用于解决第一冲突。
示例性地,结合图6所示的网络业务自动化平台,可由编排引擎基于第一冲突验证结果指示存在第一冲突,调用规则引擎执行仓库模块中存储的用于解决冲突的第二规则,以用于解决第一冲突。
针对ECA闭环冲突检查和解决场景,以如图9所示的本申请实施例提供的冲突管理方法为例,包括如下几个过程。
901,接收对象事件,根据对象事件关联的节点类型查询至少一个用于事件条件动作ECA闭环的第四规则,得到至少一个预案。
结合图6所示的网络业务自动化平台,可由规则引擎接收对象事件,根据对象事件关联的节点类型查询至少一个用于事件条件动作ECA闭环的第四规则,得到至少一个预案。本申请实施例不对查询到的第四规则的数量进行限定,同样不对预案的数量进行限定,每个预案对应有配置动作。
902,对于至少一个预案中的任一预案,执行任一预案对应的配置动作,得到包括配置实例的模拟执行结果。
结合图6所示的网络业务自动化平台,对于至少一个预案中的任一预案,可由规则引擎执行任一预案对应的配置动作,得到包括配置实例的模拟执行结果。
903,执行用于验证冲突的第一规则,得到模拟执行结果对应的第二冲突验证结果。
结合图6所示的网络业务自动化平台,可由规则引擎执行用于验证冲突的第一规则,得到模拟执行结果对应的第二冲突验证结果。
示例性地,执行用于验证冲突的第一规则,得到模拟执行结果对应的第二冲突验证结果,包括:执行用于验证冲突的第一规则,验证模拟执行结果包括的配置实例是否符合已有的相关意图或策略;基于模拟执行结果包括的配置实例不符合已有的相关意图或策略,则得到指示存在第二冲突的第二冲突验证结果。
可选地,还包括基于第二冲突验证结果指示存在第二冲突,执行用于解决冲突的第二规则,以用于解决第二冲突。
结合图6所示的网络业务自动化平台,可由规则引擎基于第二冲突验证结果指示存在第二冲突,执行用于解决冲突的第二规则,以用于解决第二冲突。
在示例性实施例中,执行用于解决冲突的第二规则,以用于解决第二冲突之后,还包括:基于存在的第二冲突无法解决,查询相关的上一级节点类型,按照对对象事件相关的节点类型的处理方式来处理上一级节点类型,直至调用第一规则得到指示不存在冲突的第二冲突验证结果。
在示例性实施例中,执行用于验证冲突的第一规则,得到模拟执行结果对应的第二冲突验证结果之后,还包括:基于第二冲突验证结果指示不存在第二冲突,或者存在的第二冲突被解决,实施模拟执行结果包括的配置实例。
针对策略发放的冲突检查和解决场景,以如图10所示的本申请实施例提供的冲突管理方法为例,包括如下几个过程。
1001,获取运行时部署的第一策略,将第一策略转换成应用到第一节点类型的新规则。
结合图6所示的网络业务自动化平台,可由规则引擎获取运行时部署的第一策略,将第一策略转换成应用到第一节点类型的新规则。本申请实施例不对第一策略的内容进行限定,可由操作员输入。此外,本申请实施例不对第一节点类型进行限定,与该第一策略匹配即可。
1002,查询第一节点类型的已有规则,执行用于验证冲突的第一规则,得到第一节点类型的新规则与第一节点类型的已有规则的第三冲突验证结果。
第一节点类型的新规则包括但不限于新的第三规则、新的第一规则、新的第二规则以及新的第四规则中的至少一种规则。相应的,第一节点类型的已有规则也包括但不限于已有的第三规则、第一规则、第二规则以及第四规则中的至少一种规则。关于执行用于验证冲突的第一规则,得到第一节点类型的新规则与第一节点类型的已有规则的第三冲突验证结果的方式,本申请实施例不进行限定。例如,如果第一节点类型的新规则与第一节点类型的已有规则不匹配,则第三冲突验证结果指示存在第三冲突。又例如,如果第一节点类型的新规则与第一节点类型的已有规则匹配,则第三冲突验证结果指示不存在第三冲突。
在示例性实施例中,执行用于验证冲突的第一规则,得到第一节点类型的新规则与第一节点类型的已有规则的第三冲突验证结果之后,可继续验证该第一节点类型的新规则与节点实例是否存在冲突。因此,在示例性实施例中,如图11所示,本申请实施例提供的方法还包括如下过程。
1003,查询符合第一节点类型的至少一个第一节点实例;对于至少一个第一节点实例中的任一第一节点实例,查询任一第一节点实例的已有规则。
结合图6所示的网络业务自动化平台,可由规则引擎从仓库模块中查询符合第一节点类型的至少一个第一节点实例;对于至少一个第一节点实例中的任一第一节点实例,查询任一第一节点实例的已有规则。
1004,比较第一节点类型的新规则与任一第一节点实例的已有规则的优先级。
结合图6所示的网络业务自动化平台,可由规则引擎比较第一节点类型的新规则与任一第一节点实例的已有规则的优先级。
需要说明的是,在规则检查过程中,当应用到派生类节点类型的规则和应用到基类节点类型的规则产生冲突时,缺省情况下派生类节点类型的规则有更高优先级,这时不产生冲突。类似地,应用到节点实例的规则比应用到节点类型的规则有更高优先级。
1005,基于第一节点类型的新规则的优先级高于任一第一节点实例的已有规则的优先级,执行用于验证冲突的第一规则,得到第一节点类型的新规则与任一第一节点实例的第四冲突验证结果。
结合图6所示的网络业务自动化平台,可由规则引擎基于第一节点类型的新规则的优先级高于任一第一节点实例的已有规则的优先级,执行用于验证冲突的第一规则,得到第一节点类型的新规则与任一第一节点实例的第四冲突验证结果。
另外,需要说明的是,如果第一节点类型的新规则的优先级不高于任一第一节点实例的已有规则的优先级,则可以不执行该1005,而返回查询下一个第一节点实例的已有规则。并按照该任一第一节点实例的处理方式,继续验证,直至至少一个第一节点实例中的所有第一节点实例验证完毕。
针对策略发放的冲突检查和解决场景,以如图12所示的本申请实施例提供的冲突管理方法为例,包括如下几个过程。
1201,获取运行时部署的第二策略,将第二策略转换成应用到第二节点实例的新规则。
结合图6所示的网络业务自动化平台,可由规则引擎获取运行时部署的第二策略,将第二策略转换成应用到第二节点实例的新规则。本申请实施例不对第二策略的内容进行限定,可由操作员输入。此外,本申请实施例不对第二节点实例进行限定,该第二节点实例与第二策略匹配即可。
1202,查询第二节点实例的已有规则,执行用于验证冲突的第一规则,得到第二节点实例的新规则与第二节点实例的已有规则的第五冲突验证结果。
结合图6所示的网络业务自动化平台,可由规则引擎查询第二节点实例的已有规则,执行用于验证冲突的第一规则,得到第二节点实例的新规则与第二节点实例的已有规则的第五冲突验证结果。如果第五冲突验证结果指示存在第五冲突,例如第二节点实例的新规则与第二节点实例的已有规则不匹配,则可停止策略发放流程。或者,也可以继续验证第二节点实例的新规则与第二节点实例是否存在冲突。
针对验证第二节点实例的新规则与第二节点实例是否存在冲突的过程,如图13所示,本申请实施例提供的方法将第二策略转换成应用到第二节点实例的新规则之后,还包括:
1203,执行用于验证冲突的第一规则,得到第二节点实例的新规则与第二节点实例的第六冲突验证结果。
需要说明的是,本申请实施例不对1202和1203的执行顺序进行限定,在示例性实施例中,也可以先执行1203,在第六冲突验证结果指示不存在第六冲突的情况下,再执行1202。或者,第六冲突验证结果是否指示存在第六冲突,均在1203之后执行1202。采用哪种执行顺序,本申请实施例不进行限定。
图8-图12中的方法还可以相互引用组合实现。
本申请实施例提供了一种冲突管理装置,该冲突管理装置用于执行图8-图13任一实施例所述的方法。如图14所示,该装置包括:
获取模块1401,用于获取业务意图;
获取模块1401,还用于获取与业务意图匹配的目标模板或者目标节点类型;
执行模块1402,用于分解目标模板得到目标模板的分解结果或实例化目标节点类型得到目标节点实例后,执行用于验证冲突的第一规则,得到分解结果或目标节点实例与已实施规则的第一冲突验证结果,分解结果包括至少一个节点实例。
在一种可能的实现方式中,执行模块1402,还用于基于第一冲突验证结果指示存在第一冲突,执行用于解决冲突的第二规则,以用于解决第一冲突。
在一种可能的实现方式中,执行模块1402,用于执行用于验证冲突的第一规则,以验证分解结果或目标节点实例是否与已实施规则相匹配;基于存在与分解结果或目标节点实例不匹配的已实施的规则,得到指示存在第一冲突的第一冲突验证结果。
在一种可能的实现方式中,获取模块1401,用于执行用于模板分解的第三规则,执行第三规则,得到与业务意图匹配的目标模板或者目标节点类型。
在一种可能的实现方式中,装置还包括:接收模块,用于接收对象事件,根据对象事件关联的节点类型查询至少一个用于事件条件动作ECA闭环的第四规则,得到至少一个预案;
执行模块1402,还用于对于至少一个预案中的任一预案,执行任一预案对应的配置动作,得到包括配置实例的模拟执行结果;执行用于验证冲突的第一规则,得到模拟执行结果与已有的相关意图或策略的第二冲突验证结果。
在一种可能的实现方式中,执行模块1402,还用于基于第二冲突验证结果指示存在第二冲突,执行用于解决冲突的第二规则,以用于解决第二冲突。
在一种可能的实现方式中,执行模块1402,用于执行用于验证冲突的第一规则,验证模拟执行结果包括的配置实例是否符合已有的相关意图或策略;基于模拟执行结果包括的配置实例不符合已有的相关意图或策略,则得到指示存在第二冲突的第二冲突验证结果。
在一种可能的实现方式中,装置还包括:实施模块,用于基于第二冲突验证结果指示不存在第二冲突,或者存在的第二冲突被解决,实施模拟执行结果包括的配置实例。
在一种可能的实现方式中,装置还包括:查询模块,用于基于存在的第二冲突无法解决,查询与对象事件关联的节点类型的上一级节点类型;
处理模块,用于按照对对象事件相关的节点类型的处理方式来处理上一级节点类型,直至调用第一规则得到指示不存在冲突的第二冲突验证结果。
在一种可能的实现方式中,获取模块1401,还用于获取网络业务自动化平台运行时部署的第一策略,将第一策略转换成应用到第一节点类型的新规则;执行模块1402,还用于查询第一节点类型的已有规则,执行用于验证冲突的第一规则,得到第一节点类型的新规则与第一节点类型的已有规则的第三冲突验证结果。
在一种可能的实现方式中,执行模块1402,还用于查询第一节点类型的至少一个第一节点实例;对于至少一个第一节点实例中的任一第一节点实例,查询任一第一节点实例的已有规则;比较第一节点类型的新规则与任一第一节点实例的已有规则的优先级;基于第一节点类型的新规则的优先级高于任一第一节点实例的已有规则的优先级,执行用于验证冲突的第一规则,得到第一节点类型的新规则与任一第一节点实例的第四冲突验证结果。
在一种可能的实现方式中,获取模块1401,还用于获取网络业务自动化平台运行时部署的第二策略,将第二策略转换成应用到第二节点实例的新规则;查询第二节点实例的已有规则,执行用于验证冲突的第一规则,得到第二节点实例的新规则与第二节点实例的已有规则的第五冲突验证结果。
在一种可能的实现方式中,执行模块1402,还用于执行用于验证冲突的第一规则,得到第二节点实例的新规则与第二节点实例的第六冲突验证结果。
应理解的是,上述图14提供的装置在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图15为本申请实施例的冲突管理设备1500的硬件结构示意图。图15所示冲突管理设备1500可以执行上述图8-图13任一实施例所提供的冲突管理方法中的相应步骤。
如图15所示,冲突管理设备1500包括处理器1501、存储器1502、接口1503和总线1504。其中接口1503可以通过无线或有线的方式实现,示例性地,该接口1503可以是网卡。上述处理器1501、存储器1502和接口1503通过总线1504连接。
接口1503可以包括发送器和接收器,用于与其他通信设备通信。处理器1501用于执行上述图8-13所示实施例中的相关步骤。处理器1501和/或用于本文所描述的技术的其他过程。存储器1502包括操作系统15021和应用程序15022,用于存储程序、代码或指令,当处理器或硬件设备执行这些程序、代码或指令时可以完成方法实施例中涉及冲突管理设备1500的处理过程。可选的,存储器1502可以包括只读存储器(英文:Read-only Memory,缩写:ROM)和随机存取存储器(英文:Random Access Memory,缩写:RAM)。其中,ROM包括基本输入/输出系统(英文:Basic Input/Output System,缩写:BIOS)或嵌入式系统;RAM包括应用程序和操作系统。当需要运行冲突管理设备1500时,通过固化在ROM中的BIOS或者嵌入式系统中的bootloader引导系统进行启动,引导冲突管理设备1500进入正常运行状态。在冲突管理设备1500进入正常运行状态后,运行在RAM中的应用程序和操作系统,从而,完成方法实施例中涉及冲突管理设备1500的处理过程。
可以理解的是,图15仅仅示出了冲突管理设备1500的简化设计。在实际应用中,冲突管理设备1500可以包含任意数量的接口,处理器或者存储器。
应理解的是,上述处理器可以是中央处理器(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(digital signal processing,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。值得说明的是,处理器可以是支持进阶精简指令集机器(advanced RISC machines,ARM)架构的处理器。
进一步地,在一种可选的实施例中,上述存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。
该存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用。例如,静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic random access memory,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data dateSDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(directrambus RAM,DR RAM)。
本申请实施例还提供了一种计算机可读存储介质,存储介质中存储有至少一条指令,指令由处理器加载并执行以实现如上任一所述的冲突管理方法。
本申请实施例提供了一种计算机程序,当计算机程序被计算机执行时,可以使得处理器或计算机执行上述方法实施例中对应的各个步骤和/或流程。
本申请实施例提供了一种芯片,包括处理器,用于从存储器中调用并运行所述存储器中存储的指令,使得安装有所述芯片的通信设备执行上述各方面中的方法。
本申请实施例提供另一种芯片,包括:输入接口、输出接口、处理器和存储器,所述输入接口、输出接口、所述处理器以及所述存储器之间通过内部连接通路相连,所述处理器用于执行所述存储器中的代码,当所述代码被执行时,所述处理器用于执行上述各方面中的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid StateDisk)等。
以上所述的具体实施方式,对本申请的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本申请的具体实施方式而已,并不用于限定本申请的保护范围,凡在本申请的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本申请的保护范围之内。
Claims (28)
1.一种网络业务自动化平台,所述网络业务自动化平台包括编排引擎、规则引擎以及仓库模块,所述仓库模块中存储有节点类型、模板及规则集合,所述节点类型用于被所述编排引擎和所述规则引擎共享使用,所述规则集合包括用于验证冲突的第一规则;
所述编排引擎,用于获取业务意图;
所述编排引擎,还用于获取与所述业务意图匹配的目标模板或者目标节点类型;
所述编排引擎,还用于分解所述目标模板得到所述目标模板的分解结果或实例化所述目标节点类型得到所述目标节点实例后,调用所述规则引擎执行存储在所述仓库模块中的所述第一规则,得到所述分解结果或所述目标节点实例与已实施规则的第一冲突验证结果,所述分解结果包括至少一个节点实例。
2.根据权利要求1所述的网络业务自动化平台,其特征在于,所述规则集合还包括用于解决冲突的第二规则;所述编排引擎,还用于基于所述第一冲突验证结果指示存在第一冲突,调用所述规则引擎执行存储在所述仓库模块中的所述第二规则,以用于解决所述第一冲突。
3.根据权利要求1或2所述的网络业务自动化平台,其特征在于,所述编排引擎,用于调用所述规则引擎执行存储在所述仓库模块中的第一规则,以验证所述分解结果或所述目标节点实例是否与已实施规则相匹配;基于存在与所述分解结果或所述目标节点实例不匹配的已实施规则,得到指示存在第一冲突的第一冲突验证结果。
4.根据权利要求1-3任一所述的方法,其特征在于,所述规则集合还包括用于分解模板的第三规则;所述编排引擎,用于调用所述规则引擎执行存储在所述仓库模块中的所述第三规则,得到与所述业务意图匹配的目标模板或者目标节点类型。
5.根据权利要求1-4任一所述的网络业务自动化平台,其特征在于,所述规则集合还包括用于事件条件动作ECA闭环的第四规则;
所述规则引擎,用于接收对象事件,根据所述对象事件关联的节点类型查询所述仓库模块中的至少一个第四规则,得到至少一个预案;对于所述至少一个预案中的任一预案,调用所述编排引擎模拟执行所述任一预案对应的配置动作,得到包括配置实例的模拟执行结果;
所述规则引擎,还用于执行存储在所述仓库模块中的所述第一规则,得到所述模拟执行结果与已有的相关意图或策略的第二冲突验证结果。
6.根据权利要求5所述的网络业务自动化平台,其特征在于,所述规则引擎,还用于基于所述第二冲突验证结果指示存在第二冲突,执行存储在所述仓库模块中的所述第二规则,以用于解决所述第二冲突。
7.根据权利要求5或6所述的网络业务自动化平台,其特征在于,所述规则引擎,用于执行存储在所述仓库模块中的所述第一规则,验证所述模拟执行结果包括的配置实例是否符合已有的相关意图或策略;基于所述模拟执行结果包括的配置实例不符合已有的相关意图或策略,则得到指示存在第二冲突的第二冲突验证结果。
8.根据权利要求5-7任一所述的网络业务自动化平台,其特征在于,所述规则引擎,还用于基于所述第二冲突验证结果指示不存在第二冲突,或者存在的第二冲突被解决,实施所述模拟执行结果包括的配置实例。
9.根据权利要求5-8任一所述的网络业务自动化平台,其特征在于,所述规则引擎,还用于基于存在的第二冲突无法解决,查询与所述对象事件关联的节点类型的上一级节点类型,按照对所述对象事件相关的节点类型的处理方式来处理所述上一级节点类型,直至调用所述第一规则得到指示不存在冲突的第二冲突验证结果。
10.根据权利要求1-9任一所述的网络业务自动化平台,其特征在于,所述规则引擎,还用于获取所述网络业务自动化平台运行时部署的第一策略,将所述第一策略转换成应用到第一节点类型的新规则;
所述规则引擎,还用于从所述仓库模块中查询所述第一节点类型的已有规则,执行存储在所述仓库模块中的所述第一规则,得到所述第一节点类型的新规则与所述第一节点类型的已有规则的第三冲突验证结果。
11.根据权利要求10所述的网络业务自动化平台,其特征在于,所述规则引擎,还用于查询符合所述第一节点类型的至少一个第一节点实例;对于所述至少一个第一节点实例中的任一第一节点实例,查询所述任一第一节点实例的已有规则;
所述规则引擎,还用于比较所述第一节点类型的新规则与所述任一第一节点实例的已有规则的优先级;基于所述第一节点类型的新规则的优先级高于所述任一第一节点实例的已有规则的优先级,执行存储在所述仓库模块中的所述第一规则,得到所述第一节点类型的新规则与所述任一第一节点实例的第四冲突验证结果。
12.根据权利要求1-9任一所述的网络业务自动化平台,其特征在于,所述规则引擎,还用于获取所述网络业务自动化平台运行时部署的第二策略,将所述第二策略转换成应用到第二节点实例的新规则;
所述规则引擎,还用于从所述仓库模块中查询所述第二节点实例的已有规则,执行存储在所述仓库模块中的所述第一规则,得到所述第二节点实例的新规则与所述第二节点实例的已有规则的第五冲突验证结果。
13.根据权利要求12所述的网络业务自动化平台,其特征在于,所述规则引擎,还用于执行存储在所述仓库模块中的所述第一规则,得到所述第二节点实例的新规则与所述第二节点实例的第六冲突验证结果。
14.一种冲突管理方法,其特征在于,所述方法应用于网络业务自动化平台,所述方法包括:
获取业务意图;
获取与所述业务意图匹配的目标模板或者目标节点类型;
分解所述目标模板得到所述目标模板的分解结果或实例化所述目标节点类型得到所述目标节点实例后,执行用于验证冲突的第一规则,得到所述分解结果或所述目标节点实例与已实施规则的第一冲突验证结果,所述分解结果包括至少一个节点实例。
15.根据权利要求14所述的方法,其特征在于,所述得到所述分解结果或所述目标节点实例与已实施规则的第一冲突验证结果之后,还包括:
基于所述第一冲突验证结果指示存在第一冲突,执行用于解决冲突的第二规则,以用于解决所述第一冲突。
16.根据权利要求14或15所述的方法,其特征在于,所述执行验证冲突的第一规则,得到所述分解结果或所述目标节点实例与已实施规则的第一冲突验证结果,包括:
执行用于验证冲突的第一规则,以验证所述分解结果或所述目标节点实例是否与已实施规则相匹配;
基于存在与所述分解结果或所述目标节点实例不匹配的已实施的规则,得到指示存在第一冲突的第一冲突验证结果。
17.根据权利要求14-16任一所述的方法,其特征在于,所述获取与所述业务意图匹配的目标模板或者目标节点类型,包括:
执行用于模板分解的第三规则,执行所述第三规则,得到与所述业务意图匹配的目标模板或者目标节点类型。
18.根据权利要求14-17任一所述的方法,其特征在于,所述方法还包括:
接收对象事件,根据所述对象事件关联的节点类型查询至少一个用于事件条件动作ECA闭环的第四规则,得到至少一个预案;
对于所述至少一个预案中的任一预案,执行所述任一预案对应的配置动作,得到包括配置实例的模拟执行结果;
执行用于验证冲突的第一规则,得到所述模拟执行结果与已有的相关意图或策略的第二冲突验证结果。
19.根据权利要求18所述的方法,其特征在于,所述得到所述模拟执行结果对应的第二冲突验证结果之后,还包括:
基于所述第二冲突验证结果指示存在第二冲突,执行用于解决冲突的第二规则,以用于解决所述第二冲突。
20.根据权利要求18或19所述的方法,其特征在于,所述执行用于验证冲突的第一规则,得到所述模拟执行结果对应的第二冲突验证结果,包括:
执行用于验证冲突的第一规则,验证所述模拟执行结果包括的配置实例是否符合已有的相关意图或策略;
基于所述模拟执行结果包括的配置实例不符合已有的相关意图或策略,则得到指示存在第二冲突的第二冲突验证结果。
21.根据权利要求18-20任一所述的方法,其特征在于,所述执行用于验证冲突的第一规则,得到所述模拟执行结果对应的第二冲突验证结果之后,还包括:
基于所述第二冲突验证结果指示不存在第二冲突,或者存在的第二冲突被解决,实施所述模拟执行结果包括的配置实例。
22.根据权利要求18-21任一所述的方法,其特征在于,所述执行用于解决冲突的第二规则,以用于解决所述第二冲突之后,还包括:
基于存在的第二冲突无法解决,查询与所述对象事件关联的节点类型的上一级节点类型,按照对所述对象事件相关的节点类型的处理方式来处理所述上一级节点类型,直至调用所述第一规则得到指示不存在冲突的第二冲突验证结果。
23.根据权利要求14-22任一所述的方法,其特征在于,所述方法还包括:
获取所述网络业务自动化平台运行时部署的第一策略,将所述第一策略转换成应用到第一节点类型的新规则;
查询所述第一节点类型的已有规则,执行用于验证冲突的第一规则,得到所述第一节点类型的新规则与所述第一节点类型的已有规则的第三冲突验证结果。
24.根据权利要求23所述的方法,其特征在于,所述执行用于验证冲突的第一规则,得到所述第一节点类型的新规则与所述第一节点类型的已有规则的第三冲突验证结果之后,还包括:
查询所述第一节点类型的至少一个第一节点实例;
对于所述至少一个第一节点实例中的任一第一节点实例,查询所述任一第一节点实例的已有规则;
比较所述第一节点类型的新规则与所述任一第一节点实例的已有规则的优先级;
基于所述第一节点类型的新规则的优先级高于所述任一第一节点实例的已有规则的优先级,执行用于验证冲突的第一规则,得到所述第一节点类型的新规则与所述任一第一节点实例的第四冲突验证结果。
25.根据权利要求14-24任一所述的方法,其特征在于,所述方法还包括:
获取所述网络业务自动化平台运行时部署的第二策略,将所述第二策略转换成应用到第二节点实例的新规则;
查询所述第二节点实例的已有规则,执行用于验证冲突的第一规则,得到所述第二节点实例的新规则与所述第二节点实例的已有规则的第五冲突验证结果。
26.根据权利要求25所述的方法,其特征在于,所述将所述第二策略转换成应用到第二节点实例的新规则之后,还包括:
执行用于验证冲突的第一规则,得到所述第二节点实例的新规则与所述第二节点实例的第六冲突验证结果。
27.一种冲突管理设备,其特征在于,所述冲突管理设备包括存储器及处理器;所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行,以实现所述权利要求14-26任一项所述的冲突管理方法。
28.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条指令,所述指令由处理器加载并执行,以实现所述权利要求14-26任一项所述的冲突管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010762172.8A CN114095347A (zh) | 2020-07-31 | 2020-07-31 | 网络业务自动化平台、冲突管理方法、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010762172.8A CN114095347A (zh) | 2020-07-31 | 2020-07-31 | 网络业务自动化平台、冲突管理方法、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114095347A true CN114095347A (zh) | 2022-02-25 |
Family
ID=80295095
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010762172.8A Pending CN114095347A (zh) | 2020-07-31 | 2020-07-31 | 网络业务自动化平台、冲突管理方法、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114095347A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114640599A (zh) * | 2022-03-21 | 2022-06-17 | 亚信科技(中国)有限公司 | 意图的冲突处理方法、装置、存储介质及计算机程序产品 |
CN114884821A (zh) * | 2022-06-17 | 2022-08-09 | 北京邮电大学 | 一种自智网络中的多策略冲突规避方法 |
-
2020
- 2020-07-31 CN CN202010762172.8A patent/CN114095347A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114640599A (zh) * | 2022-03-21 | 2022-06-17 | 亚信科技(中国)有限公司 | 意图的冲突处理方法、装置、存储介质及计算机程序产品 |
CN114884821A (zh) * | 2022-06-17 | 2022-08-09 | 北京邮电大学 | 一种自智网络中的多策略冲突规避方法 |
CN114884821B (zh) * | 2022-06-17 | 2023-07-18 | 北京邮电大学 | 一种自智网络中的多策略冲突规避方法 |
US11909592B2 (en) | 2022-06-17 | 2024-02-20 | Beijing University Of Posts And Telecommunications | Method for multi-policy conflict avoidance in autonomous network |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11392393B2 (en) | Application runtime configuration using design time artifacts | |
US9690822B2 (en) | System and method for metadata level validation of custom setup objects | |
Huang et al. | Confvalley: A systematic configuration validation framework for cloud services | |
US7779043B2 (en) | Extensible mechanism for object composition | |
US7765485B2 (en) | Extensible user interface framework for a componentized application environment | |
US20110185340A1 (en) | Software modeling framework | |
CN107041158A (zh) | 用于模块化反射的限制性访问控制 | |
US20060129880A1 (en) | Method and system for injecting faults into a software application | |
CN109002033B (zh) | 基于uds的自动化标定系统及方法 | |
CN114095347A (zh) | 网络业务自动化平台、冲突管理方法、设备及存储介质 | |
US20230418623A1 (en) | Application remodeling method, system, cluster, medium, and program product | |
CN112256249A (zh) | 扩展Android系统功能的方法、设备及计算机存储介质 | |
CN113312113A (zh) | 业务规则信息的动态配置方法、装置、设备及存储介质 | |
CN103186463A (zh) | 确定软件的测试范围的方法和系统 | |
CN115993966A (zh) | 应用开发系统及方法 | |
US20220385535A1 (en) | Cloud service component dependencies | |
CN112395339B (zh) | 系统间数据准入校验方法、装置、计算机设备和存储介质 | |
CN104423932A (zh) | Javascript中调用二进制组件的方法 | |
Zalila et al. | MoDMaCAO: a model-driven framework for the design, validation and configuration management of cloud applications based on OCCI | |
US8176092B2 (en) | Consistency enforcement system for XML objects stored in an SOA-registry | |
Strembeck | Testing policy-based systems with scenarios | |
US7831960B2 (en) | Configuration tool with multi-level priority semantic | |
CN105393216B (zh) | 运行时内存调节 | |
CN113805859A (zh) | 一种智慧屏中间件设计的方法、系统及介质 | |
Benato et al. | Infrastructure Based on Template Engines for Automatic Generation of Source Code for Self-adaptive Software Domain. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |