通信专业计费规则引擎的运用在通信业高速发展的今天,新业务层出不穷,各业务的处理逻辑、流程五花八门
譬如,语音业务包括市话、长途、漫游、可视通话等;短信包括短信、彩信等;数据业务包括手机上网、无线上网卡业务等;增值业务包括手机电视、手机音乐等
使用这些业务所产生的使用事件类型更是多种多样,譬如长途事件可分为省内长途、国内长途、港澳台长途、国际长途等
批价或账务模块需要确定、区分这些使用事件类型,针对不同业务采用不同的方法处理
如果在代码中列出目前所有的事件因素,然后根据不同情况来分别判断,这样虽然可以满足现状,但程序就没有了扩展性
如果新增一项业务、其所需的事件因素又不同于已有数据,这样程序就需升级,否则就不能开展此业务
基于上述情况,专业计费软件必须对各项业务进行分析,抽象出其本质属性,使用通用的算法和基于事件驱动的模式,才能实现支撑全业务融合计费的目标,更有力地支撑、推动业务发展
规则引擎算法可以满足这一要求
1规则引擎算法的通用性规则引擎算法,是根据输入对象的属性,依次将属性值与预期结果进行比较,通过则进行下一个属性的判断,不通过则比较另一个预期结果,如此形成一个递归,直至能确定一个唯一的输出对象
根据上述思路,由属性来驱动下一步判断,算法可以不对输入对象和输出对象做限定;并且是递归处理,不限制属性间是“且”还是“或”的关系,属性和预期结果都是在数据库配置,对象的属性和个数不必固定
至此,其实现了不区分业务的通用性
比如在新增3g可视电话业务时,配置完相应的参数后,可以使用规则引擎算法确定一张详单的使用事件类型
如图1所示,首先从详单文件中取出一条话单,判断该话单的交换机属性(即字段)的值:若等于1则表示为固网交换机产生的话单,若等于2则为2g语音交换机产生的话单,若等于3则为3g语音交换机产生的话单
假设此值等于3,说明该话单为3g语音通话,接下来判断其中的可视标识属