有线接入型业务资源配置规则及技术实现方法研究

2014-02-28 06:13包晶晶申文俊彭志婷
电信科学 2014年10期
关键词:引擎资源配置规则

殷 洁,包晶晶,申文俊,彭志婷

(1.中国电信股份有限公司上海分公司网络资源中心 上海200031;2.中通服软件科技有限公司 上海200127;3.中国电信集团公司企业信息化事业部IT运营中心 上海200127)

1 引言

在电信行业的OSS(operation support system)域中,有线接入型业务需求的变化主要体现在资源配置的变化上,如何使得资源能够快速适应业务需求的变化,是快速响应业务需求的关键。在人机交互时代,资源配置都是通过人的操作实现,业务需求的变化规则都在操作人员的大脑里,大脑形成对资源的配置要求来指导人的操作。而在今天,为提高效率,资源配置自动化已经是一个必然的趋势,要求系统能够自动匹配需求的变化,调整资源配置的操作。而在OSS域如何实现这个目标一直是一个难题。本文试图将资源配置作为一种行为,通过行为分析方法找到一种途径来解决这个难题,为实现OSS域的智能化奠定基础。

2 资源配置行为分析

2.1 行为分析方法论

首先要了解为什么要进行行为分析。不同的行为可能会导致不同的结果,而同一种行为也可能产生不同的结果。行为分析的目标就是从纷繁复杂的行为中发现规律,找到行为的共性和个性之处,识别行为过程中有哪些因素影响行为的执行,而最终可以通过控制这些因素来获得需要的行为结果。

行为的共性,指一种行为区别于另一种行为的特性,可以抽象成一种行为的固定模式,以至于能够将它与其他行为区分开来。

因此,不妨把行为的作用分为行为模式和行为规则两个部分。所谓行为模式,就是已经固化的规则,对于该行为,其描述的是基本不变的操作模式,即相对固定的部分;所谓行为规则,则是相对来说会因为管理需要、事物发展而产生变化的一部分。由此看来,分析这些行为的关键是采用行为模式与行为规则分离的方式。

即把行为看成是:“行为”=“行为模式”+“行为规则”。

2.2 举例分析资源配置操作行为

资源配置是业务开通流程的一个环节,除无资源或者特殊管理要求需要做手动配置外,其余均做自动配置。通过分析自动配置的环节找到资源配置行为中行为模式与行为规则分离的方法。

在图1中,举例说明有线接入型业务的资源配置过程,根据用户安装地址信息,第一步配置从用户端到电信局端的一条连通“管道”路由,第二步配置和业务服务相关的码号资源。在每一个环节,如果无法继续,则回退到上一个环节,按照优先级选择另外的资源后,递归进行后续环节。

图1中,无底色部分的环节可定义为电信网络本身的特性以及电信业务所需要的网络能力所决定的,相对稳定,它不会因为业务发展或管理方式等的变化而变化,正是资源配置行为中的行为模式部分,例如资源和地址的覆盖情况、网络连通性、不同类型的产品所需要的不同资源类型,这些因素对资源配置环节的流转和结果产生的印象。而图中有阴影部分的环节是因为电信管理需要而形成的行为规则,是资源配置行为中的“行为规则”部分,例如用户等级、安装地址、产品操作动作以及之前的资源配置结果等对资源配置结果产生的影响。

资源配置环节,从通过设备地址覆盖关系开始,找到第一个接入点集合是行为模式作用的结果,从第一个接入点集合中筛选出符合条件的接入点是行为规则应用结果,以下根据网络连通性找到的下一个接入点集合直到终结设备端口,均为行为模式作用的结果,每个接入点筛选出的最终结果是行为规则应用结果,码号配置亦是如此。可以看出,整个配置过程,每一个环节的作用均可以分解为行为模式作用和行为规则应用两部分结果,符合行为模式和行为规则分离的方法论。

在行为模式与行为规则分离的行为分析方法的指导下,可以将任何行为按照这种方式来分离,并应用规则。对于本文研究的资源配置来说,均可用该方法来使用规则。

(1)接入型资源配置

如前文描述,从设备地址覆盖关系开始,根据网络连通性,依次找到接入管道的每一个接入点便是行为模式的应用,在每一个接入点的集合中,根据管理规则进行进一步筛选,是行为规则的应用。接入型资源配置,除需配置接入管道外,配置的码号同样可以依循此规律,码号本身作为标识资源的地址存在,同样具备构成电信网络本身的行为模式,除此之外的管理约束都是行为规则。

(2)带宽型资源配置

带宽型资源配置,如传输2 Mbit/s数字电路,一般在指定两端位置(机房)的情况下,根据网络联通性,依然能够找到下一个节点的集合,之后仍然根据管理规则筛选出合乎要求的资源子集;再如2 Mbit/s数据电路(DDN/ATM/FR/混合),其处理方式和接入型资源配置是很类似的,只是由于是端到端,需要分别配置两端接入层链路,这两端接入链路的接入方式也可能更加丰富,如光路、双绞线接入、五类线接入、数字传输链路都可能出现,且可能不对称出现,但无论是哪一种,都在之前描述的处理方法中出现过,其处理方法无非是前几种方法的组合。

(3)群组型服务

群组型服务可能是接入型的服务组合而成,也可能是带宽型的服务组合而成,对于组合中的每一个服务,其处理方式和前面的接入型服务以及带宽型服务都是相同的。

2.3 行为处理方式技术实现方法

对于类似资源配置这样的由一系列引导行为和目标行为组合而成的复杂行为,当其存在一定的规律可以用流程图的方式描述时,通常可以用流程引擎来实现。通过流程引擎的设计工具,将行为分解到最细粒度,并按照行为的过程绘制流程模板。流程模板由一个或多个细粒度的行为节点连接构成,刻画了一种复杂行为的行为模式。

一个资源配置行为的流程如图2所示。

从图2可以看出,一个完整的资源配置行为是由配置初始化、自动配光路、配光路、配置完成、重配、待报竣、自动报竣、资源报竣、定单归档9个行为组合而成,这些行为的前后关系、流转走向具有特定的规律,就是资源配置行为的行为模式。这样的行为模式可以用流程模板的方式定义,通过流程引擎来驱动行为的执行。而对于流程变化导致的行为模式的改变,也可以通过修改流程模板的方式实现。但这样的调整是大粒度的,通常执行的频度很低。

而在细粒度的行为层面,又可以继续细分为更细粒度的简单行为(习惯称之为方法)。这些简单行为组合构成细粒度行为的模式更趋于稳定,往往通过程序来实现。在详细设计过程中,对某一个处理过程的流程图就是这种行为模式的描述。

简单行为则不可以再进行细分,固定的行为模式可以通过过程实现,即通过编写代码或者脚本实现行为的各个步骤来完成整个行为。一种行为模式通常可以有标准的实现方法,这构成了行为实现的主体,而对于识别为策略行为的模式,可以引入行为规则来影响行为结果,行为编程的关键就在于识别行为的规则作用点,在规则作用点引入规则执行。除传统的通过数据配置来完成规则设置以及通过代码来实现的方式外,为实现复杂规则的统一管理,将在行为过程中引入规则引擎。

规则引擎由推理引擎发展而来,是一种嵌入在应用程序中的组件,实现了将业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策。规则引擎起源于基于规则的专家系统,它接收数据输入,解释业务规则,并根据业务规则做出业务决策,驱动过程执行,获取输出结果。使用规则引擎可以降低实现复杂业务逻辑组件的复杂性,降低应用程序的维护和可扩展性成本。

规则引擎是一种相对简单的推理机,可以将规则引擎作为一种组件嵌入应用系统中,从而将业务决策从应用程序代码中分离出来,并使用预定义的规则语言编写业务决策。使用规则引擎带来的好处如下:

·避免业务规则变化带来的重新编译和重新部署的问题;

·使用声明性编程方法,大大提高业务规则代码的可读性;

·开发人员不需要过多关注业务逻辑(根据各种情况判断发生了什么事情),可以专注于应用逻辑(在发生了什么事情时进行什么样的处理)。

引入规则引擎后,对于普通行为的处理过程如图3所示,具体介绍如下。

(1)通过行为拦截器引入可选的预处理和后处理过程。

(2)对于策略模式的方法,识别规则作用点,引入规则引擎处理。

(3)规则引擎在规则作用点匹配相应的规则(命名规则),执行相应的动作。

(4)将动作的结果反馈给方法作用点。

可以看出,通过这样的调整,对于这种行为,至少引入了3个可以适应需求变化的地方:预处理拦截器、以方法A命名的规则和后处理拦截器。

3 资源配置的技术实现

3.1 规则引擎和规则服务

目前主流的规则引擎组件多是基于Java和C++程序语言环境,已经有多种Java规则引擎商业产品与开源项目的实现,其中有的已经支持JSR94(Java规则引擎的API规范),有的正朝这个方向努力,见表1。

表1 主流规则引擎比较

在规则引擎的技术选型中,中文支持、技术支持力量、资源需求、JSR94兼容、开放性和扩展性、开发灵活性支持、性能、规则库管理以及成本是主要考虑的。

在规则引擎的基础上,构建了规则服务。规则服务屏蔽规则引擎的差异化,同时提供规则管理、规则查询和规则执行的服务,简化应用侧对规则的使用。

3.2 系统架构

资源配置是资源系统现有的一个环节,在引入规则服务的过程中,为避免对资源系统的影响,规则服务可以进行独立部署,而仅对资源配置动作中涉及的方法进行改造,使之能够调用规则服务完成规则的引入,如图4所示。

规则服务独立部署,规则库统一管理,使得企业规则作为一种经验资产统一保管和使用,企业各应用系统都可以共享这些规则服务,一方面规则得以结构化保存,另一方面各应用也可以规范各自的行为,保证行为结果的一致性。

3.3 处理流程

资源配置中调用规则引擎平台处理配置规则的流程,如图5所示。

定单通过流程引擎驱动配置过程,在配置过程的各个环节通过改环节的配置动作可以匹配相应的行为模式,然后通过行为的标示可以通过规则服务从规则库中获取符合这种配置行为模式下的配置规则,匹配并执行相应的规则获得该配置环节下的配置结果,然后驱动流程引擎进入下一环节,如此反复直到完成最后的配置环节,得到完整的配置结果输出。

3.4 规则服务的作用点和作用方式

3.4.1 作用点

资源配置规则种类繁多,每个特定的行为规则作用在操作点上,如码号规则的选择、终端规则的选择,均是操作点。

可以看到,在每一个操作点,输入为行为模式作用之后的集合以及当前场景的上下文,规则引擎接收到这些输入,以配置的有格式的行为规则为算法依据,得到符合条件的子集。

时计中央半球形的地球表面为一幅雕刻及手绘的地图,细致像真呈现海洋,山脉,沙漠及森林;处理地球表面有相当难度,当中涉及BOVET 播威在2017年起采用的一种技术,画匠在微绘时在颜料中混入夜光剂,令地球在黑暗中发亮,就像在太空观测到的地球一样。

因此,规则要应用到规则引擎中,需要为规则点分类,规则引擎识别不同的操作点对应的不同规则类型。

3.4.2 作用方式

对于行为模式所做的筛选,由于规则相对固定简单,可以认为在代码中是一些SQL形成的过滤条件。而对于行为规则,有些规则条件元素比较简单,也可以看作一些SQL形成的过滤条件,叠加在行为模式的SQL之上,共同作用于资源数据,完成数据筛选;而有些行为规则描述复杂,规则分支较多,变化也较大,可看作复杂规则形成的过滤器作用在行为模式形成的集合上,进一步筛选得到符合条件的子集。

3.5 有线接入型业务资源配置适应于作用点的规则库分类

根据资源配置规则方法论的指导及技术实现的要求,将电信接入型业务涉及的电信资源进行全面的分类和梳理,得到接入型资源配置规则分类(见表2),涵盖了有线接入型的基本业务,如语音、宽带、接入专线等。在此基础上再转换成规则和代码进行固化。

规则库分类举例:POTS端口管理规则如下。

过滤器:前关联配置结果优先级=“MDU(multiple dwelling unit,多用户接入单元)”>“AG(access gateway,接入网关)”>“PSTN交换机”。

通用规则:关联设备模块号空闲数最大then输出=true。

(1)条件1:业务限制

if定单子产品=“主叫显示”and(用户板类型<>“普通+反极+16 kHz”and用户板类型<>“普通+反极”)then输出=true

else if定单子产品=“16 kHz计费”and用户板类型<>“12用户板”then输出=true

else if定单子产品<>“主叫显示”and定单子产品<>“16 kHz计费”then输出=true

(2)条件2:群组限制

定单centrex_model crm=“华为”and设备厂商=“Huawei”then输出=true

else定单centrex_model crm<>“华为”then输出=true

表2 有线接入型业务资源配置规则分类

(3)条件3:PBX限制

if PBX分机接口传递P6Type:pbx_trunk,有pbx_group_num and配置端口模块类型=“模拟”then输出=true

else PBX分机接口传递<>P6Type then输出=true

(4)条件4:Centrex高级话务台限制

if定单CrmProductId=126 and端口模块类型=“数字”then输出=true

else输出=true

表3 普通接入型业务配置规则示例

将类似以上的条件规则进行结构化处理,可以形成规则表,见表3。结构化的规则表便于通过数据库表来进行存储。

4 结束语

在综合资源管理系统建设中,会碰到三大技术难题,一是要解决处理海量关系型数据的性能问题,二是要解决成千上万用户的实时并发处理能力问题,三是要解决资源配置规则复杂多变、相互作用的问题,导致需求管理复杂、开发速度慢、测试工作量大。前两个难题通过数据模型的设计,已经有了很好的解决办法。对于第3个难题,目前一直困扰着业务部门和系统开发部门。在面向资源自动配置的过程中,市场要求资源配置规则经常变化,因此要求资源系统必须具备提供依据业务规则快速变化、低成本更新规则的能力。

本文所述的有线接入型业务配置规则及技术实现方法的研究是在解决这一问题方面的有益尝试。通过配置规则的分离、引入规则引擎技术,业务人员如果能直接管理资源系统中的配置规则,对配置规则进行可视化管理,可以减少程序开发人员参与,实现既快速响应配置规则变化、提高系统性、减少测试工作量,又能够归纳出运维资源配置的经验库的目的。

从实践结果上看,引入规则技术上是可行的,这对于未来资源系统建设和实施具有指导意义。

1 中国电信股份有限公司上海分公司.业务资源派配规则及优先级原则,2013

2 Rupp N A.The logic of the bottom line:an introduction to the drools project.http://www.theserverside.com/news/1365158/An-Introduction-to-the-Drools-Project,2004

3 Schneier B.The rete matching algorithm.http://www.drdobbs.com/architecture-and-design/the-rete-matching-algorithm/184405218,2002

猜你喜欢
引擎资源配置规则
撑竿跳规则的制定
数独的规则和演变
我国制造业资源配置概述
让规则不规则
蓝谷: “涉蓝”新引擎
TPP反腐败规则对我国的启示
把资源配置到贫困人口最需要的地方
刑事侦查资源配置原则及其影响因素初探
辽宁:卫生资源配置出新标准
无形的引擎