CN108512672A - 业务编排方法、业务管理方法及装置 - Google Patents
业务编排方法、业务管理方法及装置 Download PDFInfo
- Publication number
- CN108512672A CN108512672A CN201710102897.2A CN201710102897A CN108512672A CN 108512672 A CN108512672 A CN 108512672A CN 201710102897 A CN201710102897 A CN 201710102897A CN 108512672 A CN108512672 A CN 108512672A
- Authority
- CN
- China
- Prior art keywords
- business
- business module
- module
- time delay
- sequence
- 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.)
- Granted
Links
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/0803—Configuration setting
- H04L41/084—Configuration by using pre-existing information, e.g. using templates or copying from other elements
- H04L41/0843—Configuration by using pre-existing information, e.g. using templates or copying from other elements based on generic templates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- 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/0893—Assignment of logical groups to network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/04—Interdomain routing, e.g. hierarchical routing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种业务编排方法、业务管理方法及装置,属于信息处理领域。该方法包括:根据第一业务模块集合中的各个业务模块的属性,确定各个业务模块之间的业务处理顺序,业务处理顺序至少包括并行顺序,根据业务处理顺序,建立与第一业务模块集合中的业务模块对应的第一业务链。本申请通过确定各个业务模块之间的并行顺序;使得业务编排设备通过对各个业务模块的简单分类来预先判断各个业务模块之间的依赖关系,并建立存在并联关系的有向矢量拓扑图,这种串并联混合的编排方法使得在后续过程中业务编排设备指示业务管理设备完成高效的业务部署,业务处理的总时延的消耗时间大大缩短,实现了基于时延最短的并行编排,提高了GiLAN接口的处理效率。
Description
技术领域
本申请涉及信息处理领域,尤其涉及一种业务编排方法、业务管理方法及装置。
背景技术
在第五代移动通信技术(the 5th generation mobile communication,5G)系统中,移动通信网和互联网之间通过LAN连接的Gi接口(SG-interface,local area network,GiLAN接口)进行通信,如图1所示,当移动通信网通过分组数据网网关(packet datanetwork gateway,PGW)10向互联网20发送一个业务流时,需要先通过GiLAN接口30中的至少一种业务模块对该业务流进行处理后,再向互联网20发送该处理后的业务流。其中,GiLAN接口30包括三大组成部分:业务编排设备31、业务管理设备32和业务处理设备33。业务编排设备31主要负责业务模块的编排,编排包括预先设置业务处理过程中所涉及的所有业务模块的业务处理顺序;由于不同的业务流所需要配置的业务模块不同,业务管理设备32主要负责业务流的识别,并根据该业务流所需要配置的业务模块和业务编排设备31预设的业务处理顺序对该业务流进行分流重定向,业务处理设备33主要负责将引导过来的业务流进行相关的业务处理,业务处理设备33包括业务模块1、业务模块2至业务模块n,n为大于1的整数。可选地,这些业务模块采用虚拟机实现。
相关技术中,业务编排设备31通常采用串联的方式对各个业务模块进行编排,得到的业务链为一条串行的路径。如图2所示,假设业务处理设备33上运行有n个业务模块,这11种业务模块的业务处理顺序依次为Internet协议安全性(Internet ProtocolSecurity,IPSec)、差分服务代码点(Differentiated Services Code Point,DSCP)、接入控制列表(Access Control List,ACL)、防火墙(Fire wall,FW)、入侵防护系统(IntrusionPrevention System,IPS)、内容过滤(英文:content filtering)、转码(英文:transcoding)、深度包检测(deep packet identify,DPI)、视频优化(英文:videooptimizer)、合法侦听(Lawful Interception,LI监听)和网络地址转换(network addresstranslation,NAT)。比如,对于业务流A,所需要配置的业务模块为DPI、IPSec、和DSCP,基于上述业务编排设备31所提供的业务链,按照IPSec、DSCP和DPI的先后顺序依次对业务流A进行处理;又比如,对于业务流B,所需要配置的业务模块为FW、IPS、IPSec、和NAT,基于上述业务编排设备31所提供的业务链,按照IPSec、FW、IPS和NAT的先后顺序依次对业务流B进行处理。
然而,这种串联的编排方法带来的最大总时延的消耗时间为涉及到的所有业务模块的时延的总和,比如,图2中最大总时延的消耗时间为11种业务模块的时延的总和,可见,串联的编排方法导致总时延的消耗时间过长,使得GiLAN接口的处理效率较低。
发明内容
为了解决串联的编排方法导致总时延的消耗时间过长的问题,本申请实施例提供了一种业务编排方法、业务管理方法及装置。所述技术方案如下:
第一方面,提供了一种业务编排方法,该方法包括:
获取第一业务模块集合,第一业务模块集合包括业务处理过程中所涉及的业务模块,每个业务模块用于对报文进行相应的业务处理;
根据各个业务模块的属性,确定各个业务模块之间的业务处理顺序,业务处理顺序用于表示对报文进行处理的顺序,业务处理顺序至少包括并行顺序;
根据业务处理顺序,建立与第一业务模块集合中的业务模块对应的第一业务链,第一业务链包括至少两条路径,每条路径上包括至少一个业务模块;
其中,并行顺序用于表示业务模块之间是并列执行的。
在本实施方式中,业务编排设备通过根据各个业务模块的属性,确定各个业务模块之间的并行顺序,并根据并行顺序建立第一业务链,这种存在并联处理的编排方法使得在后续过程中业务处理的总时延的消耗时间大大缩短,业务管理设备能够根据业务编排设备的指示完成高效的业务部署,实现了基于时延最短的并行编排,提高了GiLAN接口的处理效率。
在一个可选的实施例中,业务处理顺序还包括串行顺序,串行顺序用于表示业务模块之间是先后执行的,业务模块的属性用于表示业务模块处理报文的区段,报文包括m个区段,m为正整数;
根据各个业务模块的属性,确定各个业务模块之间的业务处理顺序,包括:
根据每个业务模块处理报文的区段,将各个业务模块划分为m个类型集合,每个类型集合对应于报文的一个区段;
确定属于不同类型集合的业务模块之间的业务处理顺序为并行顺序;
对于属于同一类型集合的任意两个业务模块,判断两个业务模块之间的处理逻辑是否存在依赖关系;
若存在依赖关系且其中的第一业务模块依赖于第二业务模块,则确定两个业务模块的业务处理顺序为串行顺序,在串行顺序中第二业务模块排序在第一业务模块之前;
若不存在依赖关系,则确定两个业务模块的业务处理顺序为并行顺序。
在本实施方式中,业务编排设备通过根据每个业务模块处理报文的区段,将各个业务模块划分为m个类型集合,根据类型集合的划分和两个业务模块之间的依赖关系的判断确定各个业务模块之间的业务处理顺序,使得业务编排设备能够通过每个业务模块处理报文的区段对各个业务模块进行简单分类,避免了需要对各个业务模块两两之间进行依赖性判断的情况。
在一个可选的实施例中,该方法,还包括;
获取第一业务链中每个业务模块对应的时延经验值,时延经验值为业务模块处理报文所消耗的时间;
根据每条路径上的业务模块的时延经验值,计算得到每条路径的总时延值;
将最大的总时延值对应的路径确定为第一关键路径,第一关键路径的总时延值用于表示业务处理过程的时延指标。
在本实施方式中,业务编排设备通过计算每条路径的总时延值,并将最大的总时延值对应的路径确定为第一关键路径,将业务处理过程的时延指标进行量化,确定为第一关键路径的总时延值,便于在后续过程中当某个业务模块发生变化时能够根据第一关键路径的总延时值是否改变判断是否满足业务处理过程的时延指标。
在一个可选的实施例中,该方法,还包括;
根据业务处理顺序,定义第一网络功能描述符(Network Function Descriptor,NFD),第一网络功能描述符用于描述第一业务链中各个业务模块的业务处理顺序;
向业务管理设备发送第一描述文档,第一描述文档携带有第一网络功能描述符和第一关键路径,以使得业务管理设备在接收到业务请求时,根据第一网络功能描述符和第一关键路径为各个业务模板分配资源,业务请求包括至少两个业务模块。
在本实施方式中,业务编排设备通过定义第一网络功能描述符,由于第一网络功能描述符用于描述第一业务链中各个业务模块的业务处理顺序,使得业务编排设备能够将第一网络功能描述符发送给业务管理设备,以使得业务管理设备更够根据第一网络功能描述符解析出各个业务模块之间的串行顺序或并行顺序。
在一个可选的实施例中,该方法,还包括;
获取业务管理设备发送的时延更新请求,时延更新请求携带有各个业务模块的时延实际值;
根据各个业务模块的时延实际值,将每个业务模块的时延经验值更新为对应的时延实际值。
在本实施方式中,业务编排设备通过各个业务模块的时延实际值来更新各个业务模块的时延经验值,使得当某个业务模块的预设的时延经验值与实际开销的时延实际值不匹配时,能够及时更新该业务模块的时延经验值。
在一个可选的实施例中,该方法,还包括;
当第一业务模块集合中插入或删除一个业务模块得到第二业务模块集合时,根据第二业务模块集合更新第一业务链,得到第二业务链;
根据第二业务链,确定第二关键路径,第二关键路径的总时延值用于表示第二业务链中业务处理过程的时延指标;
判断第二关键路径与第一关键路径是否一致;
若不一致,则重新执行根据各个业务模块的属性,确定业务模块之间的业务处理顺序的步骤;
若一致,则根据业务处理顺序,定义第二网络功能描述符,第二网络功能描述符用于描述第二业务链中的各个业务模块的业务处理顺序。
在本实施方式中,业务编排设备通过当第一业务模块集合中插入或删除一个业务模块得到第二业务模块集合时,若确定的第二关键路径与第一关键路径一致,即第一关键路径没有发生变化,则无需对原有的虚拟机部署进行大规模调整,只需要在原有的第一业务链上附加或删除一个子路径得到第二业务链即可,减少了运维的操作量和复杂度。
第二方面,提供了一种业务管理方法,该方法包括:
接收业务编排设备发送的第一描述文档,第一描述文档携带有第一网络功能描述符和第一关键路径,第一网络功能描述符用于描述第一业务链中各个业务模块的业务处理顺序,第一业务链包括至少两条路径,每条路径上包括至少一个业务模块,每个业务模块用于对报文进行相应的业务处理,业务处理顺序至少包括并行顺序,第一关键路径的总时延值用于表示业务处理过程的时延指标;
在接收到业务请求时,根据第一网络功能描述符和第一关键路径,按照预定策略为各个业务模块分配资源,业务请求包括至少两个业务模块,预定策略用于指示将资源分配至各个业务模块的方式;
其中,并行顺序用于表示业务模块之间是并列执行的。
在一个可选的实施例中,预定策略包括第一分配策略和/或第二分配策略,在接收到业务请求时,根据第一网络功能描述符和第一关键路径,按照预定策略为各个业务模块分配资源,包括:
对于在第一业务链中不同的路径采用第一分配策略分配资源,第一分配策略包括第一关键路径被分配到的第一子资源优于其他的任意一条路径被分配到的第一子资源,第一子资源用于表示一条路径被分配到的资源;和/或,
对于在每条路径上的各个业务模块,采用第二分配策略分配与路径对应的第一子资源,第二分配策略用于表示将同一条路径上的各个业务模块按照就近原则进行分配。
在一个可选的实施例中,该方法,还包括:
接收业务处理设备上报的各个业务模块的时延实际值;
根据各个业务模块的时延实际值,向业务编排设备发送时延更新请求,时延更新请求携带有各个业务模块的时延实际值,以使得业务编排设备根据各个业务模块的时延实际值,将每个业务模块的时延经验值更新为对应的时延实际值。
第三方面,提供了一种业务编排装置,该装置包括:
获取单元,用于获取第一业务模块集合,第一业务模块集合包括业务处理过程中所涉及的业务模块,每个业务模块用于对报文进行相应的业务处理;
确定单元,用于根据各个业务模块的属性,确定各个业务模块之间的业务处理顺序,业务处理顺序用于表示对报文进行处理的顺序,业务处理顺序至少包括并行顺序;
建立单元,用于根据业务处理顺序,建立与第一业务模块集合中的业务模块对应的第一业务链,第一业务链包括至少两条路径,每条路径上包括至少一个业务模块;
其中,并行顺序用于表示业务模块之间是并列执行的。
在一个可选的实施例中,业务处理顺序还包括串行顺序,串行顺序用于表示业务模块之间是先后执行的,业务模块的属性用于表示业务模块处理报文的区段,报文包括m个区段,m为正整数;
确定单元,还用于根据每个业务模块处理报文的区段,将各个业务模块划分为m个类型集合,每个类型集合对应于报文的一个区段;
确定单元,还用于确定属于不同类型集合的业务模块之间的业务处理顺序为并行顺序;
确定单元,还用于对于属于同一类型集合的任意两个业务模块,判断两个业务模块之间的处理逻辑是否存在依赖关系;
确定单元,还用于若存在依赖关系且其中的第一业务模块依赖于第二业务模块,则确定两个业务模块的业务处理顺序为串行顺序,在串行顺序中第二业务模块排序在第一业务模块之前;
确定单元,还用于若不存在依赖关系,则确定两个业务模块的业务处理顺序为并行顺序。
在一个可选的实施例中,该装置,还包括;
获取单元,还用于获取第一业务链中每个业务模块对应的时延经验值,时延经验值为业务模块处理报文所消耗的时间;
计算单元,用于根据每条路径上的业务模块的时延经验值,计算得到每条路径的总时延值;
确定单元,还用于将最大的总时延值对应的路径确定为第一关键路径,第一关键路径的总时延值用于表示业务处理过程的时延指标。
在一个可选的实施例中,该装置,还包括;
定义单元,用于根据业务处理顺序,定义第一网络功能描述符,第一网络功能描述符用于描述第一业务链中各个业务模块的业务处理顺序;
发送单元,用于向业务管理设备发送第一描述文档,第一描述文档携带有第一网络功能描述符和第一关键路径,以使得业务管理设备在接收到业务请求时,根据第一网络功能描述符和第一关键路径为各个业务模板分配资源,业务请求包括至少两个业务模块。
在一个可选的实施例中,该装置,还包括;
获取单元,还用于获取业务管理设备发送的时延更新请求,时延更新请求携带有各个业务模块的时延实际值;
更新单元,用于根据各个业务模块的时延实际值,将每个业务模块的时延经验值更新为对应的时延实际值。
在一个可选的实施例中,该装置,还包括;
更新单元,还用于当第一业务模块集合中插入或删除一个业务模块得到第二业务模块集合时,根据第二业务模块集合更新第一业务链,得到第二业务链;
确定单元,还用于根据第二业务链,确定第二关键路径,第二关键路径的总时延值用于表示第二业务链中业务处理过程的时延指标;
判断单元,用于判断第二关键路径与第一关键路径是否一致;
确定单元,还用于若不一致,则重新执行根据各个业务模块的属性,确定业务模块之间的业务处理顺序的步骤;
定义单元,还用于若一致,则根据业务处理顺序,定义第二网络功能描述符,第二网络功能描述符用于描述第二业务链中的各个业务模块的业务处理顺序。
第四方面,提供了一种业务管理装置,该装置包括:
接收单元,用于接收业务编排设备发送的第一描述文档,第一描述文档携带有第一网络功能描述符和第一关键路径,第一网络功能描述符用于描述第一业务链中各个业务模块的业务处理顺序,第一业务链包括至少两条路径,每条路径上包括至少一个业务模块,每个业务模块用于对报文进行相应的业务处理,业务处理顺序至少包括并行顺序,第一关键路径的总时延值用于表示业务处理过程的时延指标;
分配单元,用于在接收到业务请求时,根据第一网络功能描述符和第一关键路径,按照预定策略为各个业务模块分配资源,业务请求包括至少两个业务模块,预定策略用于指示将资源分配至各个业务模块的方式;
其中,并行顺序用于表示业务模块之间是并列执行的。
在一个可选的实施例中,该预定策略包括第一分配策略和/或第二分配策略,分配单元,还用于对于在第一业务链中不同的路径采用第一分配策略分配资源,第一分配策略包括第一关键路径被分配到的第一子资源优于其他的任意一条路径被分配到的第一子资源,第一子资源用于表示一条路径被分配到的资源;
分配单元,还用于对于在每条路径上的各个业务模块,采用第二分配策略分配与路径对应的第一子资源,第二分配策略用于表示将同一条路径上的各个业务模块按照就近原则进行分配。
在一个可选的实施例中,该装置,还包括:
接收单元,还用于接收业务处理设备上报的各个业务模块的时延实际值;
发送单元,用于根据各个业务模块的时延实际值,向业务编排设备发送时延更新请求,时延更新请求携带有各个业务模块的时延实际值,以使得业务编排设备根据各个业务模块的时延实际值,将每个业务模块的时延经验值更新为对应的时延实际值。
本申请实施例提供的技术方案带来的有益效果是:
通过业务编排设备获取第一业务模块集合,根据各个业务模块的属性,确定各个业务模块之间的业务处理顺序,根据业务处理顺序,建立与第一业务模块集合中的业务模块对应的第一业务链;使得业务编排设备通过对各个业务模块的简单分类来预先判断各个业务模块之间的依赖关系,并建立存在并联关系的有向矢量拓扑图,这种串并联混合的编排方法使得在后续过程中业务编排设备指示业务管理设备完成高效的业务部署,业务处理的总时延的消耗时间大大缩短,实现了基于时延最短的并行编排,提高了GiLAN接口的处理效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例涉及的业务编排系统的结构示意图;
图2是相关技术中采用串联的方式对各个业务模块进行编排的原理示意图;
图3是本申请一个实施例提供的一种业务编排方法的流程图;
图4A是本申请另一个实施例提供的一种业务编排方法的流程图;
图4B是本申请另一个实施例提供的一种业务编排方法涉及的第一业务链;
图4C是本申请另一个实施例提供的一种业务编排方法涉及的对第一业务链进行量化后的示意图;
图5A是本申请另一个实施例提供的一种业务编排方法的结构示意图;
图5B是本申请另一个实施例提供的一种业务编排方法的原理示意图;
图6A是本申请另一个实施例提供的一种业务编排方法的流程图;
图6B是本申请另一个实施例提供的一种业务编排方法涉及的第二业务链;
图7是本申请一个实施例提供的一种业务编排装置的结构图;
图8是本申请一个实施例提供的一种业务管理装置的结构图;
图9是本申请一个实施例提供的业务编排设备31的结构示意图;
图10是本申请一个实施例提供的业务管理设备32的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
请参考图3,其示出了本申请一个实施例提供的一种业务编排方法的流程图,该方法用于如图1所示的业务编排设备31中,该方法包括:
步骤301,获取第一业务模块集合,第一业务模块集合包括业务处理过程中所涉及的业务模块,每个业务模块用于对报文进行相应的业务处理。
可选的,业务编排设备获取第一业务模块集合,第一业务模块集合包括业务处理过程中所涉及的所有业务模块,每个业务模块用于对业务流中的报文进行相应的业务处理。例如,DPI用于通过对报文的有效载荷检测决定该报文的合法性,FW用于检测报文中是否包含外部数据。
可选的,业务编排设备为业务流的控制方,通过业务编排设备的转发功能,可将业务流转发至业务处理设备,实现业务流的处理。其中,业务流包括符合特定业务特征的至少一个报文;业务处理设备包括第一业务模块集合中的各个业务模块,为业务流的处理方,根据不同的需求,第一业务模块集合包括但不限于:IPSec、DSCP、ACL、FW、IPS、内容过滤、转码、DPI、视频优化、LI监听和NAT这11种业务模块中的全部或部分模块,本实施对第一业务模块集合中的业务模块的类型及数量不作具体的限定,仅以这11种业务模块进行举例说明。
步骤302,根据各个业务模块的属性,确定各个业务模块之间的业务处理顺序,业务处理顺序用于表示对报文进行处理的顺序,业务处理顺序至少包括并行顺序。
可选的,业务编排设备根据各个业务模块的属性,确定各个业务模块之间的业务处理顺序,业务处理顺序用于表示对报文进行处理的顺序,业务处理顺序至少包括并行顺序;其中,并行顺序用于表示业务模块之间是并列执行的。
可选的,业务处理顺序还包括串行顺序,串行顺序用于表示业务模块之间是先后执行的。
其中,业务模块的属性用于表示业务模块处理报文的区段,报文包括m个区段,m为正整数;示意性的,如表一所示,m取值为3,报文至少包括3个区段,分别为第一区段“IP(InternetProtocol,网络之间互连的协议)地址”、第二区段“IP报头”和第三区段“报文载荷”。
表一
第一区段 | IP地址 |
第二区段 | IP报头 |
第三区段 | 报文载荷 |
可选的,业务编排设备根据每个业务模块处理报文的区段,确定各个业务模块之间的业务处理顺序。
步骤303,根据业务处理顺序,建立与第一业务模块集合中的业务模块对应的第一业务链,第一业务链包括至少两条路径,每条路径上包括至少一个业务模块。
可选的,业务编排设备根据业务处理顺序,建立与第一业务模块集合中的业务模块对应的第一业务链,第一业务链包括至少两条路径,每条路径上包括至少一个业务模块,每条路径形成一条业务处理路径。
可选的,第一业务链为有向矢量拓扑图,该有向矢量拓扑图是根据各个业务模块的业务处理顺序建立的依赖关系模型。
综上所述,本申请实施例通过业务编排设备获取第一业务模块集合,根据各个业务模块的属性,确定各个业务模块之间的业务处理顺序,根据业务处理顺序,建立与第一业务模块集合中的业务模块对应的第一业务链;使得业务编排设备通过对各个业务模块的简单分类来预先判断各个业务模块之间的依赖关系,并建立存在并联关系的有向矢量拓扑图,这种串并联混合的编排方法使得在后续过程中业务编排设备指示业务管理设备完成高效的业务部署,业务处理的总时延的消耗时间大大缩短,实现了基于时延最短的并行编排,提高了GiLAN接口的处理效率。
请参考图4A,其示出了本申请另一个实施例提供的一种业务编排方法的流程图。该方法包括:
步骤401,获取第一业务模块集合,第一业务模块集合包括业务处理过程中所涉及的业务模块,每个业务模块用于对报文进行相应的业务处理。
可选的,业务编排设备获取第一业务模块集合,第一业务模块集合包括业务处理过程中所涉及的业务模块,每个业务模块用于对报文进行相应的业务处理。
步骤402,根据每个业务模块处理报文的区段,将各个业务模块划分为m个类型集合,每个类型集合对应于报文的一个区段。
可选的,业务编排设备根据每个业务模块处理报文的区段,将各个业务模块划分为m个类型集合,每个类型集合对应于报文的一个区段。
可选的,根据表一所示的报文的区段,业务编排设备将11种业务模块划分为三个类型集合,如表二所示,第一类型集合包括对报文的第一区段“IP地址”进行处理的各个业务模块,示意性的,第一类型集合包括ACL、NAT、FW和IPS;第二类型集合包括对报文的第二区段“IP报头”进行处理的各个业务模块,示意性的,第二类型集合包括IPSec和DSCP;第三类型集合包括对报文的第三区段“报文载荷”进行处理的各个业务模块,示意性的,第三类型集合包括DPI、内容过滤、转码、视频优化和LI监听。
表二
步骤403,确定属于不同类型集合的业务模块之间的业务处理顺序为并行顺序。
由于属于不同类型集合的两个业务模块是用于处于报文的不同区段的,因此通常情况下业务编排设备确定属于不同类型集合的业务模块是并联的。
可选的,业务编排设备确定属于不同类型集合的业务模块之间的业务处理顺序为并行顺序。
作为可选的实现方式,业务编排设备确定属于不同类型集合且不存在依赖关系的业务模块之间的业务处理顺序为并行顺序。因为在一些可能的情况下,若属于不同类型集合的两个业务模块之间存在依赖关系,这两个业务模块也可以串行处理,即属于不同类型集合的两个业务模块之间的业务处理顺序可以根据实际情况进行调整,通常为并行顺序,但也存在串行顺序,本实施例对此不加以限定。可选地,对于属于不同类型集合的两个业务模块,当两个业务模块存在依赖关系时,优先采用串行顺序。
步骤404,对于属于同一类型集合的任意两个业务模块,判断两个业务模块之间的处理逻辑是否存在依赖关系。
可选的,业务编排设备对于属于同一类型集合的任意两个业务模块,判断两个业务模块之间的处理逻辑是否存在依赖关系。
可选的,业务模块之间的依赖关系均是单向,比如:业务模块A依赖于业务模块B,那么业务模块B则不可能依赖于业务模块A;且,业务模块之间存在多种业务模块同时依赖于同一父级业务模块的情况,比如:DSCP、ACL、FW、IPS、DPI、转码、视频优化和LI监听均依赖于IPSec。
步骤405,若存在依赖关系且其中的第一业务模块依赖于第二业务模块,则确定两个业务模块的业务处理顺序为串行顺序,在串行顺序中第二业务模块排序在第一业务模块之前。
可选的,若存在依赖关系且其中的第一业务模块依赖于第二业务模块,则业务编排设备确定两个业务模块的业务处理顺序为串行顺序,在串行顺序中第二业务模块排序在第一业务模块之前。
步骤406,若不存在依赖关系,则确定两个业务模块的业务处理顺序为并行顺序。
可选的,若不存在依赖关系,则业务编排设备确定两个业务模块的业务处理顺序为并行顺序。这样得到的业务处理顺序不是简单的线性关系,而是全面、准确反映了各个业务模块之间的依赖关系,因此基于该业务处理顺序允许相互之间无依赖关系的业务模块并行处理。
示意性的,业务编排设备将11种业务模块根据每个业务模块处理报文的区段和相互之间的依赖关系,确定各个业务模块之间的业务处理顺序。首先,业务编排设备根据每个业务模块处理报文的区段确定三种可以并行处理的类型集合;然后,业务编排设备对于属于同一类型集合的任意两个业务模块的依赖关系进行判断,比如:在第一类型集合中,ACL、FW和IPS这三个相互之间不存在依赖关系,则确定ACL、FW和IPS相互并联;由于只有NAT改变了报文中被自身处理的区段,因此NAT对在第一类型集合中其它的业务模块的业务处理存在影响,NAT需要放在最后进行业务处理,即业务编排设备判断出NAT分别与ACL、FW和IPS存在依赖关系,且NAT依赖于ACL、FW和IPS,从而确定NAT与ACL或FW或IPS串联,NAT排序在与其串联的业务模块之后;又比如,在第二类型集合中,IPSec和DSCP存在依赖关系,且DSCP依赖于IPSec,则确定IPSec和DSCP串联,IPSec排序在DSCP之前;又比如,在第三类型集合中,DPI和内容过滤存在依赖关系,且内容过滤依赖于DPI,则确定DPI和内容过滤串联,DPI排序在内容过滤之前,而转码、视频优化和LI监听这三个相互之间不存在依赖关系,则确定转码、视频优化和LI监听相互并联。
需要说明的是,由于IPSec是对报文的IP报头进行业务处理,所以通常IPSec需要放在其它所有的业务模块之前;当报文的类型为视频资源时,在第三类型集合中的转码和视频优化存在依赖关系,且视频优化依赖于转码,则确定转码和视频优化串联,转码排序在视频优化之前。
步骤407,根据业务处理顺序,建立与第一业务模块集合中的业务模块对应的第一业务链,第一业务链包括至少两条路径,每条路径上包括至少一个业务模块。
可选的,业务编排设备根据各个业务模块之间的串行顺序或并行顺序,建立第一业务链。结合参考图4B,从中可以看出,若对于一条业务流(即报文)所需要配置的业务模块为这11种业务模块,则业务处理顺序如下:首先IPSec对该报文的IP报头进行业务处理,然后DSCP、ACL、FW、IPS、DPI、转码、视频优化和LI监听以并列顺序同时对该报文的相应区域进行业务处理,接着NAT和内容过滤对该报文的相应区域进行业务处理。
步骤408,获取第一业务链中每个业务模块对应的时延经验值,时延经验值为业务模块处理报文所消耗的时间。
可选的,为了对第一业务链中各个路径的总时延值进行量化,业务编排设备获取第一业务链中每个业务模块对应的时延经验值,时延经验值为业务模块处理报文所消耗的时间。可选地,该时延经验值可以由历史时间中采样的数据统计得到。
如表三所示,示意性的,由于第一类型集合中的ACL、NAT、FW和IPS均用于对报文中的IP地址进行业务处理,业务处理过程相对简单,假设第二类型集合中每个业务模块对应的时延经验值均为1;由于第二类型集合中的IPSec和DSCP均用于对报文中的IP报头进行业务处理,业务处理过程相对较复杂,假设第二类型集合中IPSec的时延经验值为10,DSCP的时延经验值为2;由于第三类型集合中的DPI、内容过滤、转码、视频优化和LI监听均用于对报文中的载荷进行业务处理,业务处理过程相对非常复杂,假设第三类型集合中DPI的时延经验值为3,内容过滤的时延经验值为5,转码的时延经验值为5,视频优化的时延经验值为7,LI监听的时延经验值为10。本实施例对各个业务模块对应的时延经验值的具体取值不加以限定。
表三
业务模块 | 时延经验值 |
ACL、NAT、FW或IPS | 1 |
IPSec | 10 |
DSCP | 2 |
DPI | 3 |
内容过滤 | 5 |
转码 | 5 |
视频优化 | 7 |
LI监听 | 10 |
步骤409,根据每条路径上的业务模块的时延经验值,计算得到每条路径的总时延值。
可选的,业务编排设备根据每条路径上的业务模块的时延经验值,计算得到每条路径的总时延值。
基于上述的表三所提供的各个业务模块对应的时延经验值,结合参考图4C,其示出了对图4B所提供的第一业务链进行量化后的示意图。其中,第二类型集合中的IPSec和DSCP分别用A1和B1表示,第一类型集合中的ACL、NAT、FW和IPS分别用A2、B2、C2和D2表示,第三类型集合中的DPI、内容过滤、转码、视频优化和LI监听分别用A3、B3、C3、D3和E3表示。
可选的,各条路径按照计算得到的路径的总时延值从大到小的顺序依次为:路径“A1/E3”(总时延值为20)、路径“A1/A3/B3”(总时延值为18)、路径“A1/C3”(总时延值为17)、路径“A1/D3”(总时延值为15)、路径“A1/B1”(总时延值为12)、路径“A1/A2/B2”(总时延值为12)、路径“A1/C2/B2”(总时延值为12)、路径“A1/D2/B2”(总时延值为12)、路径“A1/C2”(总时延值为11)、路径“A1/D2”(总时延值为11)。
可选的,如表四所示,业务编排设备按照路径的总时延值从大到小的顺序,将每条路径上的业务模块与该条路径的总延时指的对应关系存储在表格中。本实施例对存储路径的方式不加以限定。
表四
路径 | 路径的总延时值 |
IPSec/LI监听(A1/E3) | 20 |
IPSec/DPI/内容过滤(A1/A3/B3) | 18 |
IPSec/视频优化(A1/C3) | 17 |
IPSec/转码(A1/D3) | 15 |
IPSec/DSCP(A1/B1) | 12 |
IPSec/ACL/NAT(A1/A2/B2) | 12 |
IPSec/FW/NAT(A1/C2/B2) | 12 |
IPSec/IPS/NAT(A1/D2/B2) | 12 |
IPSec/FW(A1/C2) | 11 |
IPSec/IPS(A1/D2) | 11 |
步骤410,将最大的总时延值对应的路径确定为第一关键路径,第一关键路径的总时延值用于表示业务处理过程的时延指标。
可选的,业务编排设备将最大的总时延值对应的路径确定为第一关键路径,第一关键路径的总时延值用于表示业务处理过程的时延指标。
示意性的,业务编排设备将最大的总时延值“意性的对应的路径“IPSec/LI监听(A1/E3)”确定为第一关键路径,即业务处理过程的时延指标为“定0”。
步骤411,根据业务处理顺序,定义第一网络功能描述符,第一网络功能描述符用于描述第一业务链中各个业务模块的业务处理顺序。
可选的,业务编排设备根据业务处理顺序,定义第一网络功能描述符,第一网络功能描述符用于描述第一业务链中各个业务模块的业务处理顺序。
可选的,第一网络功能描述符中定义第一关键字和第二关键字,第一关键字用于表示业务模块在所属的类型集合中是不依赖其它的业务模块的,即该业务模块是独立的,第二关键字用于表示业务模块之间存在依赖关系。
比如,定义第一网络功能描述符为Dependency Model描述符,第一关键字为Alone,第二关键字为Beyond,Alone(F1,G1,H1,K1)表示业务模块F1、G1、H1和K1均是独立的,Beyond(F2,H2):表示业务模块F2与业务模块H2存在依赖关系,且业务模块F2需要排序在业务模块H2之前。
示意性的,以图4B所提供的第一业务链为例,与这11种业务模块的业务处理顺序对应的第一网络功能描述符M1表示如下:
Beyond(A1,B1):表示业务模块A1需要排序在业务模块B1之前;
Beyond(A2,B2):表示业务模块A2需要排序在业务模块B2之前;
Alone(A2,C2,D2);表示业务模块A2、C2、D2独立;
Beyond(A3,B3):表示业务模块A3需要排序在业务模块B3之前;
Alone(A3,C3,D3,E3):表示业务模块A3、C3、D3、E3独立。
需要说明的是,本实施例对第一关键字和第二关键字的定义方式不加以限定,对第一网络功能描述符的内容和表现形式不加以限定,只要是用于描述各个业务模块之间的业务处理顺序的描述方式均属于本实施例的范畴。
步骤412,向业务管理设备发送第一描述文档,第一描述文档携带有第一网络功能描述符和第一关键路径,以使得业务管理设备在接收到业务请求时,根据第一网络功能描述符和第一关键路径为各个业务模板分配资源,业务请求包括至少两个业务模块。
可选的,业务编排设备向业务管理设备发送第一描述文档,第一描述文档携带有第一网络功能描述符和第一关键路径;示意性的,第一描述文档为GiLAN文档。
对应的,业务管理设备接收业务编排设备发送的第一描述文档,在接收到业务请求时,根据第一网络功能描述符和第一关键路径,按照预定策略为各个业务模块分配资源,业务请求包括至少两个业务模块,预定策略用于指示将资源分配至各个业务模块的方式。可选地,每个业务模块在业务处理设备中通过一个虚拟机来实现,每个虚拟机所分配到的资源和部署位置,对该虚拟机所实现的业务模块的处理时延有直接的影响。
可选的,预定策略包括第一分配策略和/或第二分配策略。
在一种可能的实现方式中,预定策略包括第一分配策略,对于在第一业务链中不同的路径采用第一分配策略分配资源,第一分配策略包括第一关键路径被分配到的第一子资源优于其他的任意一条路径被分配到的第一子资源,第一子资源用于表示一条路径被分配到的资源;可选的,由于第一关键路径中的各个业务模块处理第一子资源优于其他的任意一条路径被分配到的第一子资源包括:第一关键路径上的各个业务模块被分配到的处理资源要更多、更快和相对更空闲,使得第一关键路径中的各个业务模块处理业务所消耗的时间缩短。
在另一种可能的实现方式中,预定策略包括第二分配策略,对于在每条路径上的各个业务模块,采用第二分配策略分配与路径对应的第一子资源,第二分配策略用于表示将同一条路径上的各个业务模块按照就近原则进行分配;其中,就近原则是指将同一条路径上的各个业务模块分别分配到同一个设备中相邻的虚拟机中或者相邻的所述设备中相邻的虚拟机中实现,每个虚拟机对应于一个业务模块;比如,将同一条路径上的ACL和NAT分别分配到同一个设备中相邻的虚拟机X1和虚拟机X2中。
步骤413,获取业务管理设备发送的时延更新请求,时延更新请求携带有各个业务模块的时延实际值。
可选的,业务管理设备接收业务处理设备上报的各个业务模块的时延实际值,根据各个业务模块的时延实际值,向业务编排设备发送时延更新请求;对应的,业务编排设备获取业务管理设备发送的时延更新请求,时延更新请求携带有各个业务模块的时延实际值。
步骤414,根据各个业务模块的时延实际值,将每个业务模块的时延经验值更新为对应的时延实际值。
可选的,业务编排设备获取业务管理设备发送的时延更新请求,时延更新请求携带有各个业务模块的时延实际值,在更新后,重复执行上述步骤401至步骤414;比如,DPI的时延实际值为4,将DPI时延经验值“延经更新为对应的时延实际值“4”。
可选的,业务编排设备在获取所有业务模块的时延实际值后,将每个业务模块的时延经验值更新为对应的时延实际值;或者,业务编排设备每当获取到一个业务流所配置的几个业务模块的时延实际值时,判断是否需要更新,若需要,则将这几个业务模块的时延经验值更新为对应的时延实际值;若不需要,则暂不更新。
可选的,如图5A所示,业务编排系统包括业务编排设备31、业务管理设备和业务处理设备,其中业务管理设备包括管理和编排40(Management and orchestration,MANO)和软件定义的网络(Software Defined Network,SDN)控制器50(即SDN控制器),业务处理设备包括基础设施即服务60(Infrastructure as a Service,IaaS);其中,MANO40中包括NFV编排引擎41(Network Function Virtualization Orchestrator,NFVO)和虚拟网络功能管理42(Virtualnetwork Function Manager,VNFM),NFVO41用于接收业务编排设备31发送的第一描述文档,并将该第一描述文档发送给VNFM41,VNFM41用于根据第一描述文档中的第一网络功能描述符和第一关键路径,确定各个业务模块的业务处理顺序,按照预定策略为各个业务模块分配资源,并向IaaS60发送部署指示。
结合参考图5B,业务编排方法包括:S01,业务编排设备31根据业务处理顺序,定义第一网络功能描述符;S02,业务编排设备31通过NFD接口向MANO40发送第一描述文档,第一描述文档携带有第一网络功能描述符和第一关键路径;S03,MANO40根据接收到的第一网络功能描述符和第一关键路径,按照预定策略为各个业务模块分配资源;S04,MANO40向IaaS60发送部署指示,该部署指示携带有每个业务模块所分配的资源和部署位置;S05,IaaS60根据部署指示确定与每个业务模块对应的用于实现该业务模块的虚拟机;S06,IaaS60根据各个虚拟机所实现的业务模块的处理时延,向SDN控制器50自行上报各个业务模块的时延实际值;S07,SDN控制器50根据接收到的时延实际值,向业务编排设备31发送时延更新请求;S08,业务编排设备31根据NFD接口接收到的时延更新请求更新各个业务模块的时延经验值。
综上所述,本申请实施例通过业务编排设备获取第一业务模块集合,根据各个业务模块的属性,确定各个业务模块之间的业务处理顺序,根据业务处理顺序,建立与第一业务模块集合中的业务模块对应的第一业务链;使得业务编排设备通过对各个业务模块的简单分类来预先判断各个业务模块之间的依赖关系,并建立存在并联关系的有向矢量拓扑图,这种串并联混合的编排方法使得在后续过程中业务编排设备指示业务管理设备完成高效的业务部署,业务处理的总时延的消耗时间大大缩短,实现了基于时延最短的并行编排,提高了GiLAN接口的处理效率。
需要说明的是,当GiLAN接口完成初始部署之后,通常会有新的业务模块加入或者移除,在相关技术中需要重新设计新的业务处理顺序;而在本申请实施例中无需每次都需要重新设计,若不改变第一关键路径,则无需对原有的虚拟机部署进行大规模调整,减少运维的操作量和复杂度。
请参考图6A,其示出了本申请一个实施例提供的一种业务编排方法的流程图。基于图4A提供的业务编排方法,该方法还包括:
步骤601,当第一业务模块集合中插入或删除一个业务模块得到第二业务模块集合时,根据第二业务模块集合更新第一业务链,得到第二业务链。
可选的,当第一业务模块集合中插入或删除一个业务模块得到第二业务模块集合时,业务编排设备根据第二业务模块集合更新第一业务链,得到第二业务链;示意性的,当第一业务模块集合中删除业务模块“NAT(B2)”时,业务编排设备将图4B进行更新,得到图6B即第二业务链。
步骤602,根据第二业务链,确定第二关键路径,第二关键路径的总时延值用于表示第二业务链中业务处理过程的时延指标。
可选的,业务编排设备根据第二业务链,确定第二关键路径;示意性的,业务编排设备基于各个业务模块的时延经验值,根据图6B确定第二关键路径为“IPSec/LI监听(A1/E3)”。
步骤603,判断第二关键路径与第一关键路径是否一致。
可选的,业务编排设备判断第二关键路径与第一关键路径是否一致。
步骤604,若不一致,则重新执行根据各个业务模块的属性,确定业务模块之间的业务处理顺序的步骤。
可选的,若不一致,则表示第一关键路径已经改变,即业务处理过程的时延指标发生改变,则业务编排设备需要根据各个业务模块的属性,重新确定业务模块之间的业务处理顺序。
步骤605,若一致,则根据业务处理顺序,定义第二网络功能描述符,第二网络功能描述符用于描述第二业务链中的各个业务模块的业务处理顺序。
可选的,若一致,则表示第一关键路径未改变,即业务处理过程的时延指标没有改变,则业务编排设备不需要重新设计业务处理顺序,直接在原来的图4B上插入或删除一个子路径得到第二业务链。
示意性的,业务编排设备判断出第二关键路径“A1/E3”与第一关键路径是一致的,根据第二业务链中各个业务模块的业务处理顺序,定义第二网络功能描述符M2,并向业务管理设备发送第二描述文档,第二描述文档携带有第二网络功能描述符M2和第二关键路径“A1/E3”(即第一关键路径),以使得业务管理设备在接收到业务请求时,根据第二网络功能描述符M2和第二关键路径“A1/E3”为各个业务模板分配资源。其中,第二网络功能描述符如下:
Beyond(A1,B1);
Alone(A2,C2,D2);
Beyond(A3,B3);
Alone(A3,C3,D3,E3)
综上所述,本申请实施例通过当第一业务模块集合中插入或删除一个业务模块得到第二业务模块集合时,若确定的第二关键路径与第一关键路径一致,即第一关键路径没有发生变化,则无需对原有的虚拟机部署进行大规模调整,只需要在原有的第一业务链上附加或删除一个子路径得到第二业务链即可,减少了运维的操作量和复杂度。
下面为本申请中的装置实施例,对于装置实施例中未详尽描述的细节,可以结合参考上述一一对应的方法实施例。
请参考图7,其示出了本申请一个实施例提供的业务编排装置的结构图。该业务编排装置可以通过软件、硬件或者两者的结合实现成为上述可提供业务编排方法的业务编排设备31的全部或者一部分。该装置包括:
获取单元701,用于实现上述步骤301、401、408、413中的至少一种;
确定单元702,用于实现上述步骤302、402至406、410、602、604中的至少一种;
建立单元703,用于实现上述步骤303和/或步骤407;
计算单元704,用于实现上述步骤409;
定义单元705,用于实现上述步骤411和/或步骤605;
发送单元706,用于实现上述步骤412;
更新单元707,还用于实现上述步骤414和/或步骤601;
判断单元708,用于实现上述步骤603;
相关细节可结合参考图3、图4A和图6A所示的方法实施例。其中,获取单元701还用于实现上述方法实施例中其他任意隐含或公开的与获取步骤相关的功能;确定单元702还用于实现上述方法实施例中其他任意隐含或公开的与确定步骤相关的功能;建立单元703还用于实现上述方法实施例中其他任意隐含或公开的与建立步骤相关的功能;计算单元704还用于实现上述方法实施例中其他任意隐含或公开的与计算步骤相关的功能;定义单元705还用于实现上述方法实施例中其他任意隐含或公开的与定义步骤相关的功能;发送单元706还用于实现上述方法实施例中其他任意隐含或公开的与发送步骤相关的功能;更新单元707还用于实现上述方法实施例中其他任意隐含或公开的与更新步骤相关的功能;判断单元708还用于实现上述方法实施例中其他任意隐含或公开的与判断步骤相关的功能。
请参考图8,其示出了本申请一个实施例提供的业务管理装置的结构图。该业务管理装置可以通过软件、硬件或者两者的结合实现成为上述可提供业务管理方法的业务管理设备32的全部或者一部分。该装置包括:
接收单元810,用于接收业务编排设备发送的第一描述文档,第一描述文档携带有第一网络功能描述符和第一关键路径,第一网络功能描述符用于描述第一业务链中各个业务模块的业务处理顺序,第一业务链包括至少两条路径,每条路径上包括至少一个业务模块,每个业务模块用于对报文进行相应的业务处理,业务处理顺序至少包括并行顺序,第一关键路径的总时延值用于表示业务处理过程的时延指标;
分配单元820,用于在接收到业务请求时,根据第一网络功能描述符和第一关键路径,按照预定策略为各个业务模块分配资源,业务请求包括至少两个业务模块,预定策略用于指示将资源分配至各个业务模块的方式;
其中,并行顺序用于表示业务模块之间是并列执行的。
预定策略包括第一分配策略和/或第二分配策略,分配单元820,还用于对于在第一业务链中不同的路径采用第一分配策略分配资源,第一分配策略包括第一关键路径被分配到的第一子资源优于其他的任意一条路径被分配到的第一子资源,第一子资源用于表示一条路径被分配到的资源;
分配单元820,还用于对于在每条路径上的各个业务模块,采用第二分配策略分配与路径对应的第一子资源,第二分配策略用于表示将同一条路径上的各个业务模块按照就近原则进行分配。
该装置,还包括:
接收单元810,还用于接收业务处理设备上报的各个业务模块的时延实际值;
发送单元830,用于根据各个业务模块的时延实际值,向业务编排设备发送时延更新请求,时延更新请求携带有各个业务模块的时延实际值,以使得业务编排设备根据各个业务模块的时延实际值,将每个业务模块的时延经验值更新为对应的时延实际值。
相关细节可结合参考图4A所示的方法实施例。其中,接收单元810还用于实现上述方法实施例中其他任意隐含或公开的与接收步骤相关的功能;分配单元820还用于实现上述方法实施例中其他任意隐含或公开的与分配步骤相关的功能;发送单元830还用于实现上述方法实施例中其他任意隐含或公开的与发送步骤相关的功能。
请参考图9,其示出了本申请一个实施例提供的业务编排设备31的结构示意图。该业务编排设备31包括中央处理器(英文:Central Processing Unit,CPU)910、存储器920、网络接口930。
中央处理器910包括一个或者一个以上处理核心。中央处理器910用于执行业务编排设备31的各种功能应用以及用于进行数据处理。
业务编排设备31通常包括多个网络接口930。业务编排设备31通过网络接口930与业务管理设备32进行通信。
存储器920通过总线与中央处理器910相连。存储器920用于存储指令,处理器910通过执行存储器920中存储的指令实现上述业务编排方法。
存储器920可存储操作系统921和至少一个功能所需的应用程序模块922。操作系统921包括LINUX操作系统、Unix操作系统、Windows操作系统中的至少一种。
可选地,应用程序模块922包括获取单元、确定单元、建立单元以及其他用于实现上述业务编排方法的单元等。
获取单元,用于获取第一业务模块集合,第一业务模块集合包括业务处理过程中所涉及的业务模块,每个业务模块用于对报文进行相应的业务处理。
确定单元,用于根据各个业务模块的属性,确定各个业务模块之间的业务处理顺序,业务处理顺序用于表示对报文进行处理的顺序,业务处理顺序至少包括并行顺序。
建立单元,用于根据业务处理顺序,建立与第一业务模块集合中的业务模块对应的第一业务链,第一业务链包括至少两条路径,每条路径上包括至少一个业务模块。
可选地,存储器920可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
请参考图10,其示出了本申请一个实施例提供的业务管理设备32的结构示意图。
该业务管理设备32包括CPU1010、存储器1020、网络接口1030。
中央处理器1010包括一个或者一个以上处理核心。中央处理器1010用于执行业务管理设备32的各种功能应用以及用于进行数据处理。
业务管理设备32通常包括多个网络接口1030。业务管理设备32通过网络接口1030分别与业务编排设备31和业务处理设备33进行通信。
存储器1020通过总线与中央处理器1010相连。存储器1020用于存储指令,处理器1010通过执行存储器1020中存储的指令实现上述业务管理方法。
存储器1020可存储操作系统1021和至少一个功能所需的应用程序模块1022。操作系统1021包括LINUX操作系统、Unix操作系统、Windows操作系统中的至少一种。。
可选地,应用程序模块1022包括接收单元、分配单元以及其他用于实现上述业务管理方法的单元等。
接收单元,用于接收业务编排设备发送的第一描述文档,第一描述文档携带有第一网络功能描述符和第一关键路径,第一网络功能描述符用于描述第一业务链中各个业务模块的业务处理顺序,第一业务链包括至少两条路径,每条路径上包括至少一个业务模块,每个业务模块用于对报文进行相应的业务处理,业务处理顺序至少包括并行顺序,第一关键路径的总时延值用于表示业务处理过程的时延指标。
分配单元,用于在接收到业务请求时,根据第一网络功能描述符和第一关键路径,按照预定策略为各个业务模块分配资源,业务请求包括至少两个业务模块,预定策略用于指示将资源分配至各个业务模块的方式。
可选地,存储器1020可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
需要说明的是,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中的存储器中所包含的计算机可读存储介质;也可以是单独存在,未装配入终端中的计算机可读存储介质。该计算机可读存储介质存储有一个或者一个以上程序,该一个或者一个以上程序被一个或者一个以上的处理器用来执行上述业务编排方法或业务管理方法。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请示例性地实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (18)
1.一种业务编排方法,其特征在于,所述方法包括:
获取第一业务模块集合,所述第一业务模块集合包括业务处理过程中所涉及的业务模块,每个所述业务模块用于对报文进行相应的业务处理;
根据各个所述业务模块的属性,确定各个所述业务模块之间的业务处理顺序,所述业务处理顺序用于表示对所述报文进行处理的顺序,所述业务处理顺序至少包括并行顺序;
根据所述业务处理顺序,建立与所述第一业务模块集合中的所述业务模块对应的第一业务链,所述第一业务链包括至少两条路径,每条所述路径上包括至少一个所述业务模块;
其中,所述并行顺序用于表示所述业务模块之间是并列执行的。
2.根据权利要求1所述的方法,其特征在于,所述业务处理顺序还包括串行顺序,所述串行顺序用于表示所述业务模块之间是先后执行的,所述业务模块的属性用于表示所述业务模块处理所述报文的区段,所述报文包括m个所述区段,m为正整数;
所述根据各个所述业务模块的属性,确定各个所述业务模块之间的业务处理顺序,包括:
根据每个所述业务模块处理所述报文的区段,将各个所述业务模块划分为m个类型集合,每个所述类型集合对应于所述报文的一个区段;
确定属于不同所述类型集合的所述业务模块之间的所述业务处理顺序为所述并行顺序;
对于属于同一所述类型集合的任意两个所述业务模块,判断两个所述业务模块之间的处理逻辑是否存在依赖关系;
若存在所述依赖关系且其中的第一业务模块依赖于第二业务模块,则确定两个所述业务模块的所述业务处理顺序为所述串行顺序,在所述串行顺序中所述第二业务模块排序在所述第一业务模块之前;
若不存在所述依赖关系,则确定两个所述业务模块的所述业务处理顺序为所述并行顺序。
3.根据权利要求1所述的方法,其特征在于,所述方法,还包括;
获取所述第一业务链中每个所述业务模块对应的时延经验值,所述时延经验值为所述业务模块处理所述报文所消耗的时间;
根据每条所述路径上的所述业务模块的所述时延经验值,计算得到每条所述路径的总时延值;
将最大的所述总时延值对应的所述路径确定为第一关键路径,所述第一关键路径的总时延值用于表示所述业务处理过程的时延指标。
4.根据权利要求3所述的方法,其特征在于,所述方法,还包括;
根据所述业务处理顺序,定义第一网络功能描述符,所述第一网络功能描述符用于描述所述第一业务链中各个所述业务模块的所述业务处理顺序;
向业务管理设备发送第一描述文档,所述第一描述文档携带有所述第一网络功能描述符和所述第一关键路径,以使得所述业务管理设备在接收到业务请求时,根据所述第一网络功能描述符和所述第一关键路径为各个所述业务模板分配资源,所述业务请求包括至少两个所述业务模块。
5.根据权利要求4所述的方法,其特征在于,所述方法,还包括;
获取所述业务管理设备发送的时延更新请求,所述时延更新请求携带有各个所述业务模块的时延实际值;
根据各个所述业务模块的所述时延实际值,将每个所述业务模块的所述时延经验值更新为对应的所述时延实际值。
6.根据权利要求4所述的方法,其特征在于,所述方法,还包括;
当所述第一业务模块集合中插入或删除一个所述业务模块得到第二业务模块集合时,根据所述第二业务模块集合更新所述第一业务链,得到第二业务链;
根据所述第二业务链,确定第二关键路径,所述第二关键路径的总时延值用于表示所述第二业务链中所述业务处理过程的时延指标;
判断所述第二关键路径与所述第一关键路径是否一致;
若不一致,则重新执行根据各个所述业务模块的属性,确定所述业务模块之间的业务处理顺序的步骤;
若一致,则根据所述业务处理顺序,定义第二网络功能描述符,所述第二网络功能描述符用于描述所述第二业务链中的各个所述业务模块的所述业务处理顺序。
7.一种业务管理方法,其特征在于,所述方法包括:
接收所述业务编排设备发送的第一描述文档,所述第一描述文档携带有第一网络功能描述符和第一关键路径,所述第一网络功能描述符用于描述第一业务链中各个业务模块的业务处理顺序,所述第一业务链包括至少两条路径,每条所述路径上包括至少一个所述业务模块,每个所述业务模块用于对报文进行相应的业务处理,所述业务处理顺序至少包括并行顺序,所述第一关键路径的总时延值用于表示所述业务处理过程的时延指标;
在接收到业务请求时,根据所述第一网络功能描述符和所述第一关键路径,按照预定策略为各个所述业务模块分配资源,所述业务请求包括至少两个所述业务模块,所述预定策略用于指示将所述资源分配至各个所述业务模块的方式;
其中,所述并行顺序用于表示所述业务模块之间是并列执行的。
8.根据权利要求7所述的方法,其特征在于,所述预定策略包括第一分配策略和/或第二分配策略,所述在接收到业务请求时,根据所述第一网络功能描述符和所述第一关键路径,按照预定策略为各个所述业务模块分配资源,包括:
对于在所述第一业务链中不同的所述路径采用所述第一分配策略分配所述资源,所述第一分配策略包括所述第一关键路径被分配到的第一子资源优于其他的任意一条所述路径被分配到的第一子资源,所述第一子资源用于表示一条所述路径被分配到的资源;和/或,
对于在每条所述路径上的各个所述业务模块,采用所述第二分配策略分配与所述路径对应的所述第一子资源,所述第二分配策略用于表示将同一条所述路径上的各个所述业务模块按照就近原则进行分配。
9.根据权利要求7所述的方法,其特征在于,所述方法,还包括:
接收业务处理设备上报的各个所述业务模块的时延实际值;
根据各个所述业务模块的所述时延实际值,向所述业务编排设备发送时延更新请求,所述时延更新请求携带有各个所述业务模块的时延实际值,以使得所述业务编排设备根据各个所述业务模块的所述时延实际值,将每个所述业务模块的所述时延经验值更新为对应的所述时延实际值。
10.一种业务编排装置,其特征在于,所述装置包括:
获取单元,用于获取第一业务模块集合,所述第一业务模块集合包括业务处理过程中所涉及的业务模块,每个所述业务模块用于对报文进行相应的业务处理;
确定单元,用于根据各个所述业务模块的属性,确定各个所述业务模块之间的业务处理顺序,所述业务处理顺序用于表示对所述报文进行处理的顺序,所述业务处理顺序至少包括并行顺序;
建立单元,用于根据所述业务处理顺序,建立与所述第一业务模块集合中的所述业务模块对应的第一业务链,所述第一业务链包括至少两条路径,每条所述路径上包括至少一个所述业务模块;
其中,所述并行顺序用于表示所述业务模块之间是并列执行的。
11.根据权利要求10所述的装置,其特征在于,所述业务处理顺序还包括串行顺序,所述串行顺序用于表示所述业务模块之间是先后执行的,所述业务模块的属性用于表示所述业务模块处理所述报文的区段,所述报文包括m个所述区段,m为正整数;
所述确定单元,还用于根据每个所述业务模块处理所述报文的区段,将各个所述业务模块划分为m个类型集合,每个所述类型集合对应于所述报文的一个区段;
所述确定单元,还用于确定属于不同所述类型集合的所述业务模块之间的所述业务处理顺序为所述并行顺序;
所述确定单元,还用于对于属于同一所述类型集合的任意两个所述业务模块,判断两个所述业务模块之间的处理逻辑是否存在依赖关系;
所述确定单元,还用于若存在所述依赖关系且其中的第一业务模块依赖于第二业务模块,则确定两个所述业务模块的所述业务处理顺序为所述串行顺序,在所述串行顺序中所述第二业务模块排序在所述第一业务模块之前;
所述确定单元,还用于若不存在所述依赖关系,则确定两个所述业务模块的所述业务处理顺序为所述并行顺序。
12.根据权利要求10所述的装置,其特征在于,所述装置,还包括;
所述获取单元,还用于获取所述第一业务链中每个所述业务模块对应的时延经验值,所述时延经验值为所述业务模块处理所述报文所消耗的时间;
计算单元,用于根据每条所述路径上的所述业务模块的所述时延经验值,计算得到每条所述路径的总时延值;
所述确定单元,还用于将最大的所述总时延值对应的所述路径确定为第一关键路径,所述第一关键路径的总时延值用于表示所述业务处理过程的时延指标。
13.根据权利要求12所述的装置,其特征在于,所述装置,还包括;
定义单元,用于根据所述业务处理顺序,定义第一网络功能描述符,所述第一网络功能描述符用于描述所述第一业务链中各个所述业务模块的所述业务处理顺序;
发送单元,用于向业务管理设备发送第一描述文档,所述第一描述文档携带有所述第一网络功能描述符和所述第一关键路径,以使得所述业务管理设备在接收到业务请求时,根据所述第一网络功能描述符和所述第一关键路径为各个所述业务模板分配资源,所述业务请求包括至少两个所述业务模块。
14.根据权利要求13所述的装置,其特征在于,所述装置,还包括;
所述获取单元,还用于获取所述业务管理设备发送的时延更新请求,所述时延更新请求携带有各个所述业务模块的时延实际值;
更新单元,用于根据各个所述业务模块的所述时延实际值,将每个所述业务模块的所述时延经验值更新为对应的所述时延实际值。
15.根据权利要求13所述的装置,其特征在于,所述装置,还包括;
所述更新单元,还用于当所述第一业务模块集合中插入或删除一个所述业务模块得到第二业务模块集合时,根据所述第二业务模块集合更新所述第一业务链,得到第二业务链;
所述确定单元,还用于根据所述第二业务链,确定第二关键路径,所述第二关键路径的总时延值用于表示所述第二业务链中所述业务处理过程的时延指标;
判断单元,用于判断所述第二关键路径与所述第一关键路径是否一致;
所述确定单元,还用于若不一致,则重新执行根据各个所述业务模块的属性,确定所述业务模块之间的业务处理顺序的步骤;
所述定义单元,还用于若一致,则根据所述业务处理顺序,定义第二网络功能描述符,所述第二网络功能描述符用于描述所述第二业务链中的各个所述业务模块的所述业务处理顺序。
16.一种业务管理装置,其特征在于,所述装置包括:
接收单元,用于接收所述业务编排设备发送的第一描述文档,所述第一描述文档携带有第一网络功能描述符和第一关键路径,所述第一网络功能描述符用于描述第一业务链中各个业务模块的业务处理顺序,所述第一业务链包括至少两条路径,每条所述路径上包括至少一个所述业务模块,每个所述业务模块用于对报文进行相应的业务处理,所述业务处理顺序至少包括并行顺序,所述第一关键路径的总时延值用于表示所述业务处理过程的时延指标;
分配单元,用于在接收到业务请求时,根据所述第一网络功能描述符和所述第一关键路径,按照预定策略为各个所述业务模块分配资源,所述业务请求包括至少两个所述业务模块,所述预定策略用于指示将所述资源分配至各个所述业务模块的方式;
其中,所述并行顺序用于表示所述业务模块之间是并列执行的。
17.根据权利要求16所述的装置,其特征在于,所述预定策略包括第一分配策略和/或第二分配策略,所述分配单元,还用于对于在所述第一业务链中不同的所述路径采用所述第一分配策略分配所述资源,所述第一分配策略包括所述第一关键路径被分配到的第一子资源优于其他的任意一条所述路径被分配到的第一子资源,所述第一子资源用于表示一条所述路径被分配到的资源;
所述分配单元,还用于对于在每条所述路径上的各个所述业务模块,采用所述第二分配策略分配与所述路径对应的所述第一子资源,所述第二分配策略用于表示将同一条所述路径上的各个所述业务模块按照就近原则进行分配。
18.根据权利要求16所述的装置,其特征在于,所述装置,还包括:
接收单元,还用于接收业务处理设备上报的各个所述业务模块的时延实际值;
发送单元,用于根据各个所述业务模块的所述时延实际值,向所述业务编排设备发送时延更新请求,所述时延更新请求携带有各个所述业务模块的时延实际值,以使得所述业务编排设备根据各个所述业务模块的所述时延实际值,将每个所述业务模块的所述时延经验值更新为对应的所述时延实际值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710102897.2A CN108512672B (zh) | 2017-02-24 | 2017-02-24 | 业务编排方法、业务管理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710102897.2A CN108512672B (zh) | 2017-02-24 | 2017-02-24 | 业务编排方法、业务管理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108512672A true CN108512672A (zh) | 2018-09-07 |
CN108512672B CN108512672B (zh) | 2020-12-04 |
Family
ID=63373521
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710102897.2A Active CN108512672B (zh) | 2017-02-24 | 2017-02-24 | 业务编排方法、业务管理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108512672B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109379217A (zh) * | 2018-09-27 | 2019-02-22 | 中国联合网络通信有限公司广东省分公司 | 一种城域网异厂家业务编排器 |
CN110336689A (zh) * | 2019-05-17 | 2019-10-15 | 清华大学 | 网络功能服务组链的处理方法、装置及电子设备 |
CN110442399A (zh) * | 2019-08-09 | 2019-11-12 | 广州小鹏汽车科技有限公司 | 应用的React Native业务执行方法、装置、存储介质及终端设备 |
CN111352724A (zh) * | 2018-12-24 | 2020-06-30 | 中国电信股份有限公司 | 安全资源选取实现方法和装置 |
CN111372075A (zh) * | 2020-02-28 | 2020-07-03 | 钱秀华 | 网络图像诊断方法、装置及图像处理设备 |
CN111800520A (zh) * | 2020-09-08 | 2020-10-20 | 北京维数统计事务所有限公司 | 业务处理方法、装置、电子设备和可读存储介质 |
CN115865672A (zh) * | 2022-11-21 | 2023-03-28 | 浪潮(北京)电子信息产业有限公司 | 一种网络加速方法、装置、设备及相关组件 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020120459A1 (en) * | 2000-12-26 | 2002-08-29 | Appareon | System, method and article of manufacture for manipulating the sequence of work item execution in a supply chain system |
CN101227416A (zh) * | 2008-01-15 | 2008-07-23 | 中兴通讯股份有限公司 | 一种通信网络中链路带宽分配方法 |
CN102594680A (zh) * | 2012-02-15 | 2012-07-18 | 迈普通信技术股份有限公司 | 一种报文分段处理系统及处理方法 |
CN103248659A (zh) * | 2012-02-13 | 2013-08-14 | 北京华胜天成科技股份有限公司 | 一种云计算资源调度方法和系统 |
CN103336885A (zh) * | 2013-06-03 | 2013-10-02 | 北京航空航天大学 | 一种基于差分进化算法解决武器-目标分配问题的方法 |
CN104811415A (zh) * | 2014-01-23 | 2015-07-29 | 杭州迪普科技有限公司 | 分布式扫描系统负载均衡方法及装置 |
CN104836853A (zh) * | 2015-04-22 | 2015-08-12 | 华为技术有限公司 | 编排业务的方法及装置 |
CN106341280A (zh) * | 2016-11-04 | 2017-01-18 | 金蝶软件(中国)有限公司 | 业务处理方法和装置 |
-
2017
- 2017-02-24 CN CN201710102897.2A patent/CN108512672B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020120459A1 (en) * | 2000-12-26 | 2002-08-29 | Appareon | System, method and article of manufacture for manipulating the sequence of work item execution in a supply chain system |
CN101227416A (zh) * | 2008-01-15 | 2008-07-23 | 中兴通讯股份有限公司 | 一种通信网络中链路带宽分配方法 |
CN103248659A (zh) * | 2012-02-13 | 2013-08-14 | 北京华胜天成科技股份有限公司 | 一种云计算资源调度方法和系统 |
CN102594680A (zh) * | 2012-02-15 | 2012-07-18 | 迈普通信技术股份有限公司 | 一种报文分段处理系统及处理方法 |
CN103336885A (zh) * | 2013-06-03 | 2013-10-02 | 北京航空航天大学 | 一种基于差分进化算法解决武器-目标分配问题的方法 |
CN104811415A (zh) * | 2014-01-23 | 2015-07-29 | 杭州迪普科技有限公司 | 分布式扫描系统负载均衡方法及装置 |
CN104836853A (zh) * | 2015-04-22 | 2015-08-12 | 华为技术有限公司 | 编排业务的方法及装置 |
CN106341280A (zh) * | 2016-11-04 | 2017-01-18 | 金蝶软件(中国)有限公司 | 业务处理方法和装置 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109379217A (zh) * | 2018-09-27 | 2019-02-22 | 中国联合网络通信有限公司广东省分公司 | 一种城域网异厂家业务编排器 |
CN109379217B (zh) * | 2018-09-27 | 2019-09-20 | 中国联合网络通信有限公司广东省分公司 | 一种城域网异厂家业务编排器 |
CN111352724A (zh) * | 2018-12-24 | 2020-06-30 | 中国电信股份有限公司 | 安全资源选取实现方法和装置 |
CN110336689A (zh) * | 2019-05-17 | 2019-10-15 | 清华大学 | 网络功能服务组链的处理方法、装置及电子设备 |
CN110442399A (zh) * | 2019-08-09 | 2019-11-12 | 广州小鹏汽车科技有限公司 | 应用的React Native业务执行方法、装置、存储介质及终端设备 |
CN111372075A (zh) * | 2020-02-28 | 2020-07-03 | 钱秀华 | 网络图像诊断方法、装置及图像处理设备 |
CN111372075B (zh) * | 2020-02-28 | 2021-03-05 | 上海营湾医疗科技有限公司 | 网络图像诊断方法、装置及图像处理设备 |
CN111800520A (zh) * | 2020-09-08 | 2020-10-20 | 北京维数统计事务所有限公司 | 业务处理方法、装置、电子设备和可读存储介质 |
CN115865672A (zh) * | 2022-11-21 | 2023-03-28 | 浪潮(北京)电子信息产业有限公司 | 一种网络加速方法、装置、设备及相关组件 |
Also Published As
Publication number | Publication date |
---|---|
CN108512672B (zh) | 2020-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108512672A (zh) | 业务编排方法、业务管理方法及装置 | |
EP3072260B1 (en) | Methods, systems, and computer readable media for a network function virtualization information concentrator | |
Sun et al. | Forecast-assisted NFV service chain deployment based on affiliation-aware vNF placement | |
CN109906592B (zh) | 监控切片性能的系统及方法 | |
CN112153700B (zh) | 一种网络切片资源管理方法及设备 | |
US20190150158A1 (en) | Systems and methods for performing traffic engineering through network slices | |
Xu et al. | Inclusion of artificial intelligence in communication networks and services | |
US7861247B1 (en) | Assigning resources to an application component by taking into account an objective function with hard and soft constraints | |
JP6380110B2 (ja) | リソース制御システム、制御パターン生成装置、制御装置、リソース制御方法及びプログラム | |
US20150215228A1 (en) | Methods, systems, and computer readable media for a cloud-based virtualization orchestrator | |
Xu et al. | Low latency security function chain embedding across multiple domains | |
CN108370328B (zh) | 一种nfv mano策略描述符的管理方法及装置 | |
Eramo et al. | Server resource dimensioning and routing of service function chain in NFV network architectures | |
CN108512890B (zh) | 一种基于机架感知的容器云平台资源调度方法及系统 | |
Globa et al. | Quality control for mobile communication management services in hybrid environment | |
CN110865881A (zh) | 一种资源调度的方法及装置 | |
KR101823346B1 (ko) | 서비스 기능 체이닝 시스템 및 그 방법 | |
Othman et al. | Efficient admission control and resource allocation mechanisms for public safety communications over 5G network slice | |
CN112769597B (zh) | 一种云边协同虚拟化场景的容器网络限流方法和系统 | |
Walton | Concave switching in single and multihop networks | |
Tegueu et al. | Towards application driven networking | |
CN111970149B (zh) | 一种基于硬件防火墙qos的共享带宽实现方法 | |
CN115866059A (zh) | 一种区块链节点调度方法和装置 | |
Djouela Kamgang et al. | A slice-based decentralized NFV framework for an end-to-end QoS-based dynamic resource allocation | |
US11182174B2 (en) | System configuration analysis for migration |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |