欢迎来到天天文库
浏览记录
ID:53000797
大小:1.24 MB
页数:4页
时间:2020-04-10
《Drools在电信网络开通系统中的应用及其改造.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Drools在电信网络开通系统中的应用及其改造[朱先飞]摘要电信数字程控交换机网络开通中的指令生成比较复杂,若将生成逻辑硬编码到程序中,会导致程序难以维护,文中介绍了Drools规则引擎的应用和改造并对现有的多种数字程控交换机的指令规则集进行了设计。关键词:数字程控交换机网络开通规则引擎Drools新技朱先飞术男,1998年毕业于长沙铁道学院计算机系,现工作于中国电信股份有限公司新广州研究院,从事软件研发、宽带差异化方面的工作。业务1引言用声明方式表达业务逻辑,可以使用Java/XML语法编写规则,Java代码可以直
2、接嵌入规则文件中,功能很强大。电信网络开通系统的核心功能主要是处理指令生成Drools还具有如下一些优点:成熟;非常活跃的社区;易的逻辑,不同交换机、交换机版本、业务、冲突功能、业用;快速的执行速度;与JSR94兼容;免费。务组合都会导致指令生成的变化,这些变化产生了一个庞Drools由Authoring和Runtime组件组成,如图1,2大的规则集,若将这些规则硬编码到程序中,会导致程序所示,Authoring组件用ANTLR3d语法解析drl或xml规则难以维护和难以对新业务提供快速支撑。而采用规则引擎配置文件,
3、用AST描述规则,PackageBuilder分析AST来设计、执行这些规则能显著地降低系统的复杂程度,提规则并做代码产生和编译工作,最后产生Package对高系统的灵活性和可维护性。象,Package对象由一个或多个规则组成。RuleBase则2Drools规则引擎概述是一个运行时组件,它包含一个或多个Package对象。RuleBase对象可以在任意时候实例化一个或多个WorkingDrools是Codehaus的一个开源项目,现已被纳入Memory对象,WorkingMemeory由Agenda等多个子组件JB
4、oss并更名为JBossRules,成为了JBoss应用服务器组成。当有对象被assert进WorkingMemory,可能会导的规则引擎。Drools是用Java语言编写的开源规则引擎,致一个或多个Activation的产生,然后由Agenda负责安排是基于CharlesForgy的RETE算法的实现。Drools允许使6Drools在电信网络开通系统中的应用及其改造这些Activation的执行。件中示例,对于维护操作人员,系统提供了专用的人机交互配置界面。规则由名称、优先级、条件、动作组成:规则名称:5ESS交
5、换机指令生成规则1优先级:100条件:1,交换机型为5ESS2,新老新功能位[呼出限制、呼叫等待、来电显示、免打扰、闹钟服务]=存在3,产品类型包含(ISDN(2B+D),v5ISDN(2B+D))动作:1,修改第一条指令为:dldb-isasg:dirnr=%055,bearerservgrp=sp3p1;图1Authoring组件图规则配置文件:技技6、orkorder">InnW术术orkOrder新新务InstructionHandlerinnworkorder.getNetElement().getType()==3&&(innworkorder.getProductId()==17、8、innworkorder.getProductId(9、)==2)&&RuleAction.isNewFuncOverOne(newint[]{4,9,17,19,21},innworkorder)图2Runtime组件图3Drools的应用与改造instructionhandler.setInstruct(1,0,"dldb-isasg:dirnr=Drools规则文件具有一个名为rule-set的根元素,%055,bearerservgrp=sp3p1;");它由一个或多个rule元素组成。每个ru10、le规则由一个或多个parameter元素、一个或多个condition元素以及一个consequence元素组成。rule-set元素还可以具有一个由于Drools只采用了Rete算法,考虑到在电信网络或多个import元素、一个或多个application-data元素以开通中指令的一次性
6、orkorder">InnW术术orkOrder新新务InstructionHandlerinnworkorder.getNetElement().getType()==3&&(innworkorder.getProductId()==1
7、
8、innworkorder.getProductId(
9、)==2)&&RuleAction.isNewFuncOverOne(newint[]{4,9,17,19,21},innworkorder)图2Runtime组件图3Drools的应用与改造instructionhandler.setInstruct(1,0,"dldb-isasg:dirnr=Drools规则文件具有一个名为rule-set的根元素,%055,bearerservgrp=sp3p1;");它由一个或多个rule元素组成。每个ru
10、le规则由一个或多个parameter元素、一个或多个condition元素以及一个consequence元素组成。rule-set元素还可以具有一个由于Drools只采用了Rete算法,考虑到在电信网络或多个import元素、一个或多个application-data元素以开通中指令的一次性
此文档下载收益归作者所有