早在20世纪80年代,贝尔实验室就首次提出了业务冲突问题。根据ITU-T对业务冲突的描述,业务冲突是指一个业务逻辑实例对另一业务逻辑实例或对同一业务逻辑的不同业务逻辑实例的不利影响。
实际电信网中的业务冲突可以理解为电信业务在实现时的相互干扰。
1、CPN Tools概述
Petri网是一种既具有图形表达能力又具有严格数学定义的模拟工具,CPN(Colored Petri Nets)则是对它的一种扩展。CPN适用于对具有并发性和分布式特点的电信系统进行图形化建模,并描述系统的动态特征。CPN Tools可以对软件中使用到的语义和结构进行自动检测,并为最后的仿真结果提供报告。利用CPN Tools对已知业务逻辑的电信业务进行建模和仿真,可以静态地检测出电信业务之间可能存在的冲突。
颜色集就是对建模中要用到的数据类型进行定义。颜色集的定义是CPN Tools中的重要部分,它包括基本颜色集和复合颜色集。位置和变迁则是CPN Tools中另外两个重要的概念。位置表示系统各个状态,变迁则表示系统要被触发的事件。位置和变迁之间通过有向弧(arc)连接。
CPN Tools对电信网业务的建模主要是把网络中的网元进行抽象,并利用CPN Tools本身分层式结构自顶向下地重建电信网络系统,如图1所示。CPN Tools抽象出了现有电信网络的主要功能构件,并将它们之间的通信内容封装成CPN Tools中的颜色集。
图1 利用CPN Tools对电信网系统建模
2、利用CPN Tools检测业务冲突的案例
下面两个案例所描述的业务冲突是将系统建模的业务运行的最终仿真结果通过CPN Tools建模并仿真所检测到的存在业务冲突的例子。我们这里所研究的业务冲突表现形式主要有功能互斥、功能屏蔽、功能死锁或死循环和功能违反等。
案例1:游子归家业务和同振业务之间的冲突(功能死循环类)
游子归家业务属于被叫方业务,就是把设定了游子归家业务的呼叫接续到其转移的号码。同振业务也属于被叫方业务,主要是在主叫方呼叫发起时,实现被叫方及其设定的同振号码的终端同时振铃。
假设号码为1350xxxxxxx的用户申请了游子归家业务,其转移号码为8711xxxx;而8711xxxx申请了同振业务,同振号码为1350xxxxxxx。现在用户A拨打号码1350xxxxxxx,而1350xxxxxxx的接续转移到8711xxxx,同时8711xxxx的同振又使话路接续回1350xxxxxxx,这时1350xxxxxxx和8711xxxx两个号码之间就形成了话路循环的业务冲突。经过使用CPN Tools模型运行一步到位仿真,证明号码1350xxxxxxx的游子归家业务和号码8711xxxx的同振业务不停地进行话路循环接续。在实际电信网中,这种情形有可能实现不了正常的话路呼叫,严重时会造成电信网络系统局部瘫痪。
案例2:移机不改号(NP)业务和800主叫付费业务之间的冲突(功能违反类)
NP业务属于主叫方业务,实现的功能是主叫方物理号码变更时而不改变原有的逻辑号码。800业务属于被叫方业务,由被叫方付费,而且呼叫的接续是从800号码接续的物理号码中选择与主叫方最近的物理号码。
假设号码为871100xx的用户申请了NP业务,它对应的逻辑号码是852900xx;而800号码800111abcd对应的物理号码有871100zz和852900yy。现在871100xx号码拨打800111abcd,按照就近接入的原则,系统会将871100xx与871100zz进行话路接续。但是871100xx申请的NP业务使系统判断主叫号码为852900xx,从而实际完成的话路接续是852900xx和852900yy,这就是发生了功能未实现的业务冲突。
经过使用CPN Tools模型运行一步到位仿真,证明号码871100xx的移机不改号业务和号码800111abcd的就近接入业务之间业务功能不能正确实现。在实际电信网中,这种情形有可能造成呼叫话路不能正确接续的冲突,从而影响电信网业务的管理。
3、业务冲突研究的发展
目前,关于电信业务冲突检测的研究主要集中在软件工程的方法、形式化语言的描述和在线的检测技术三个方面。
电信系统是一个巨大的、实时的分布式系统,如果严格按照软件工程技术开发一个电信业务,那么业务产生冲突的可能性就会减少。因此,电信网中的新开发业务和已有业务的冲突检测就可以借鉴软件工程中的测试技术和严格的质量控制。
而形式化语言描述业务冲突的最大优点就是可以直接描述电信系统以及业务的运行状态,而且形式化语言可以自动刻画出业务运行引起的系统变化和行为,从而很容易根据状态报告判断出系统中是否存在业务冲突。因此,形式化语言描述也适合已知业务逻辑的业务冲突检测。
以上两种都侧重于对业务冲突的离线检测。但是,业务在实际运行的任何时刻都有可能发生冲突,这就意味着业务冲突数量倍数于业务数量的增长,仅仅依靠静态检测技术远远不能满足电信业务(尤其是增值业务)开发对系统的要求。业务冲突的动态检测是一种必然趋势。所谓动态检测就是在业务运行环境中获取业务的必要信息(如业务特征、业务逻辑等),再依据业务设计规范判断可能存在的业务冲突。动态检测技术使得在电信网中开发新业务的同时保证已有业务稳定地运行成为可能,所以动态检测必将成为解决业务冲突的主要技术。
4、小结
随着电信行业的飞速发展,电信业务的开发也将越来越具有独立性和开放性,而业务冲突势必成为电信业发展的瓶颈。所以对业务冲突以及业务冲突检测的研究具有非常重要的意义,它将使电信运营商更好地服务于客户