admin 管理员组文章数量: 1086019
2024年4月28日发(作者:qq联系代码生成)
Drools在电信网络开通系统中的应用
及其改造
[朱先飞]
摘要
电信数字程控交换机网络开通中的指令生成比较复杂,若将生成逻辑硬编码
到程序中,会导致程序难以维护,文中介绍了Drools规则引擎的应用和改造并对
现有的多种数字程控交换机的指令规则集进行了设计。
关键词:
数字程控交换机 网络开通 规则引擎 Drools
新
技
术
新
业
务
朱先飞
男,1998年毕业于长沙铁道学院计算机系,现工作于中国电信股份有限公司
广州研究院,从事软件研发、宽带差异化方面的工作。
1 引言
电信网络开通系统的核心功能主要是处理指令生成
的逻辑,不同交换机、交换机版本、业务、冲突功能、业
务组合都会导致指令生成的变化,这些变化产生了一个庞
大的规则集,若将这些规则硬编码到程序中,会导致程序
难以维护和难以对新业务提供快速支撑。而采用规则引擎
来设计、执行这些规则能显著地降低系统的复杂程度,提
高系统的灵活性和可维护性。
用声明方式表达业务逻辑,可以使用Java/XML语法编写
规则,Java代码可以直接嵌入规则文件中,功能很强大。
Drools还具有如下一些优点:成熟;非常活跃的社区;易
用;快速的执行速度;与JSR 94兼容;免费。
Drools由Authoring和Runtime组件组成,如图1,2
所示,Authoring组件用ANTLR3d语法解析drl或xml规则
配置文件,用AST描述规则,PackageBuilder分析AST
规则并做代码产生和编译工作,最后产生Package对
象,Package对象由一个或多个规则组成。RuleBase则
2 Drools规则引擎概述
Drools 是Codehaus 的一个开源项目,现已被纳入
JBoss并更名为JBoss Rules,成为了JBoss 应用服务器
的规则引擎。Drools是用Java语言编写的开源规则引擎,
是基于Charles Forgy的RETE算法的实现。Drools允许使
是一个运行时组件,它包含一个或多个Package对象。
RuleBase对象可以在任意时候实例化一个或多个Working
Memory对象,Working Memeory由Agenda等多个子组件
组成。当有对象被assert进Working Memory,可能会导
致一个或多个Activation的产生,然后由Agenda负责安排
6
Drools在电信网络开通系统中的应用及其改造
这些Activation的执行。
图1 Authoring组件图
图2 Runtime组件图
3 Drools的应用与改造
Drools 规则文件具有一个名为 rule-set 的根元素,
它由一个或多个 rule 元素组成。每个 rule 规则由一个或
多个 parameter 元素、一个或多个 condition 元素以及一
个 consequence 元素组成。rule-set 元素还可以具有一个
或多个 import 元素、一个或多个 application-data 元素以
及一个 functions 元素。
以下是电信网络开通系统中Drools的一个规则配置文
件中示例,对于维护操作人员,系统提供了专用的人机交
互配置界面。
规则由名称、优先级、条件、动作组成:
规则名称: 5ESS交换机指令生成规则1
优先级:100
条件:
1,交换机型为5ESS
2, 新老新功能位[呼出限制、呼叫等待、来电显示、
免打扰、闹钟服务]=存在
3, 产品类型包含(ISDN(2B+D),v5 ISDN(2B+D))
动作:1,修改第一条指令为:dldb-isasg:dirnr=%05
5,bearerservgrp=sp3p1;
规则配置文件:
loop="true"> 新 技 orkOrder 术 新 ler" > 业 务 Element().getType() == 3 && (ductId()==1||innworkorder. getProductId()==2)&& uncOverOne(new int[]{4,9,17,19, 21},innworkorder) truct(1,0,"dldb-isasg:dirnr= %055,bearerservgrp=sp3p1;");
由于Drools只采用了Rete算法,考虑到在电信网络
开通中指令的一次性施工的特点,需要避免Rete算法中
规则执行结果的改变导致条件的改变的现象,因此需要对
Drools的源码进行修改,修改时需要注意不能破坏Drools
2007.11
.
广东通信技术
7
新技术
.
新业务
的结构,同时能保留Rete算法的实现,对Drools的主要修
改如下:
1,在Drools的Agenda类里添加成员函数
List
ArrayList
//保留最初的agengda
public void saveItemtoList(){
if(()>0){
return;
}
while(!isEmpty( )){
((AgendaItem) this.
( ));
}
新
}
技
public void fireItem(int index){
术
//如果不执行RETE算法则执行以下代码
新
try {
业
务
(index).fire(this.
workingMemory);
} catch (ConsequenceException e) {
}
}
public void fireAllItem(){
for(int i=0;i<();i++){
fireItem(i);
}
}
2,修改WorkingMemoryImp类的assertObject函
数,在最后增加
emtoList();
3,增加WorkingMemoryImp类的fireListRules函数
public void fireListRules(){
agenda.fireAllItem();
}
8
4 数字程控交换机规则集设计
目前的电信网络开通中,新的电信设备对外接口先
对比较规范,大部分设备都有对外提供了标准的协议支持
或可二次开发API,施工指令比较单一。但是数字程控交
换机的开通施工却比较复杂,数字程控交换机的指令生成
规则数量很多,若将这些规则整合到少量的规则配置文件
里,对规则引擎的执行性能会造成很大影响,同时对规则
集的维护不利。经过对电信现有的5ESS等数字程控交换
机的分析和归纳,对程控交换机规则集进行划分设计:
(1)引入环节的概念,将环节分为:业务环节,负责
提取普通业务的指令,如:装机,移机,拆机等;程控新
功能环节,负责提取新功能的指令,如:缩位拨号等;长
权环节,负责提取长途类型的指令 ,如:国际长途等。
(2)将规则集分类,将规则集分为:普通业务
规则集,负责提取普通业务的指令,如:装机移机
等。不含5ESS,NEXA61新功能规则集,负责提取非
(5ESS,NEXA61)新功能指令,如:缩位拨号等。5ESS新
功能规则集,负责提取(5ESS) 新功能的指令。NEXA61
新功能与长权规则集,负责提取(NEXA61)新功能的指
令。长权规则集不含NEXA61,负责提取非(NEXA61)长
途类型的指令 。
(3)环节通过设备型号条件转换成规则集,比如:
业务环节加设备型号可以对应普通业务规则集。程控
新功能环节加设备型号可以对应新功能规则集不含
5ESS,NEXA61或5ESS新功能规则集或NEXA61新功能与
长权规则集。长权环节加设备型号可以对应长权规则集不
含NEXA61或NEXA61新功能与长权规则集。
(4)将配置频繁的规则提炼出来作为二级规则,可被
相关环节规则集调用,二级规则集分为:V5规则集,负
责普通产品与v5产品之间的转换,如装普通电话。复通规
则集,负责复话相关的开通,如S1240复话时若存在校园
通就要取其新开指令。互斥规则集,负责新功能之间的互
斥,或多取一如公话用户,IC卡公话,投币电话。关联规
则集,负责新功能之间的关联或业务对新功能影响等。参
数更新规则集,负责更新指令的参数。
规则集关系如图3所示。
(下转第41页)
知识管理在电信企业大客户项目营销中的应用
客户的需求也无止境,大客户项目营销管理的模式有待进
一步健全和完善,唯有不断推陈出新,建立与社会经济发
展相适应、与客户需求相符合的营销服务新机制,才能真
正赢得客户、赢得市场。
3 陈绿洲.营销知识管理和保障体系初探[J].企业经济, 2003, 7:
107-109
4 王娟.企业业务流程中的知识管理[J].图书情报工作, 2003,
(9): 57-60
5 (美)Philip Kotler, Gary Armstrong著,赵平等译.市场营销
原理[M]. 北京:清华大学出版社,1999, 9:48-50
参考文献
1 郝雨风编著.大客户战略与管理[M].北京:中国经济出版
社,2005,6:5-6
2 周伟. 知识管理将成电信行业“助推器”..
/web/experts/zhouwei/20050807/123,1723,,
2005
6 (加)赫瑞比著,郑晓明等译.管理知识员工:挖掘企业智力
资本[M].北京:机械工业出版社,2000,7: 263-264
(收稿日期:2007-9-25)
(上接第8页)
规则集并生成指令→调用参数更新
规则集更新指令→发送指令到交换
机,等待交互机的施工结果→分析
交换机的施工结果。
经
营
与
管
理
5 小结
Drools规则引擎在电信网络开
通中的应用为系统带来了良好的灵
活性,使复杂的指令生成逻辑与系
统代码分离,提高了系统的可维护
性和代码质量,同时,配置规则的
图形配置界面也为运维人员带来了
方便,提高了网络开通的统一可管
控性。
参考文献
1 /drools/
2 数字程控交换机教材
图3 数字程控交换机指令规则集关系图
规则集划分后指令生成和施工过程如下:获取环节
数据→根据环节和机型映射到相应规则集→匹配相应的
3 电信综合网络开通系统规范
(收稿日期:2007-10-10)
2007.11
.
广东通信技术
41
版权声明:本文标题:Drools在电信网络开通系统中的应用及其改造 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1714267873a672616.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论