一种业务开通的方法及装置的制作方法

文档序号:7667951阅读:71来源:国知局
专利名称:一种业务开通的方法及装置的制作方法
技术领域
本发明涉及通信领域中的业务提供技术,特别是涉及一种业务开通的方 法及装置。
背景技术
目前,电信运营商拥有客户关系管理系统(Customer Relationship Management, CRM)、计费(Billing)、客户维护(Custom Care)和业务 运营支撑系统(Business & Operation Support System, BOSS )等业务支撑系 统(Business Support System, BSS )/运营支撑系统(Operation Support System, OSS)。这些系统交叉开展业务,或者与不同专网的BSS/OSS运营系统交叉 开展业务,都需要与网络侧的网元(Network Element, NE),如归属位置 寄存器(Home Location Register, HLR) /鉴斗又中心(Authentication Center, AuC)、无线智能网(Wireless Intelligent Network, WIN )、移动数据业务平 台(Mobile Data Service Platform, MDSP )、短消息业务中心(Short Message Service Center, SMSC )、语音邮箱系统(Voice Mail System, VMS)、多 i某体信息服务中心(Multimedia Messaging Service Center, MMSC)、统一 消息月艮务(Unified Message, UM )、下一代网络(Next Generation Network, NGN)、公共电话交换网(Public Switched Telephone Network, PSTN)等 存在接口。如果每个BSS/OSS业务请求系统都与网元直接相连,而每个网 元又存在不同特色的通信协议,那势必会形成一个庞大的网状结构,这样不 仅加大了运营商BSS/OSS系统的投入成本,同时还延长了运营商支撑新业 务的进度。另一方面,由各个BSS/OSS系统提供的网元接口功能往往非常 薄弱,不利于运营商快速地推出新业务。而且,此时的网元接口可维护性较
低,如果发生异常,将很难处理。
因此就需要这样一个系统,它相当于介于BSS/OSS和NE之间的接口 , 负责BSS/OSS和NE之间的协议转换,解决BSS/OSS和NE之间的连接问 题。这个系统被叫做业务开通系统,也被称为联机指令系统,或者被称为服 务开通系统,本发明统一称之为业务开通系统。图l是现有技术中业务开通 系统与业务支撑系统以及网元设备的连接关系示意图。如图l所示,业务开 通系统103作为BSS/OSS 101和NE 102之间的接口 。业务开通时,CRM 104、 Billing 105、 Custom Care 106和BOSS 107分别向业务开通系统103发出 业务请求,业务开通系统将网元指令发送给网元中的相应设备,如HLR/AuC 108、 WIN 109、 MDSP 110和SMSC 111,这些相应的设备通过业务开通系 统103向业务支撑系统返回业务请求响应。
目前业界的业务开通系统对于处理业务规则的实现方式,常见的是采用 数据库表的复杂结构来加以支持,该方式是针对新出现的业务规则需求首先 进行分析,看现有表结构以及相应的代码逻辑能否支持,如果不能支持则扩 展数据表结构以及修改程序并进行升级。
这种技术方案的缺点在于数据库的表结构会越来越复杂以至难以维护。 随着业务或网络的升级换代,在某些业务规则不再使用之后还会导致一些垃 圾表或垃圾数据难以清理,降低系统处理性能。同时由于程序的频繁升级, 导致系统不稳定的因素越来越多,最终导致业务开通系统庞大而效率低下。
针对上面这种技术方案出现的问题,业界存在一种较为普遍的解决方 案,即充分利用结构化查询语言(Structured Query Language, SQL )语句的 灵活性,将业务规则通过SQL语句来实现,利用SQL语句的高级特性,如 连接查询、子查询、函数等,对于特别复杂的业务规则配合数据库存储过程 加以实现,在一定程度上解决了使用数据库表结构方案的问题。针对新的业 务规则通常通过配置SQL语句来实现,而不必更改数据表结构或者修改程 序。
这种技术方案的缺点在于虽然SQL语句比较灵活,但是执行效率却较低,如果恰好在SQL语句中需要对未建索引的字段进行查询,将会更加延 长SQL语句的执行时间,而这一点对于未来层出不穷的新设备和新业务也 是无法避免的,对于用户量非常大(千万级)的电信运营商而言,这是不能 接受的。
现在的网络越来越复杂,新设备及其业务越来越多,对于业务开通系统 而言,需要灵活的配置业务规则,以便快速开展新业务。比如,对于在电信 网络中最复杂的开户业务,开通一个用户可能涉及的设备多达十种以上,而 且这些设备需要发送的指令往往具有严格的先后顺序规则,其中某些指令存 在并行处理规则、串行处理规则、回滚处理规则、错误码处理规则、条件参 数指令处理规则等等纷繁复杂的业务规则等,另外,在业务请求参数与指令 参数的转换规则中,针对不同厂商提供的设备,其指令参数往往有些独特的 要求,常常会出现需要业务参数灵活组合或计算以及依赖手机号码,国际移 动用户识别码(International Mobile Subscriber Identifier, IMSI),网元编码 等等参数以生成设备需要的指令参数值。由于SQL语句只是针对数据库进 行操作,因此在对这些规则的处理上就显得灵活性不足。不能灵活快捷的应 付新业务的开通。

发明内容
本发明的实施例提供了 一种业务开通的方法和装置,使得可以灵活快捷 地开通新业务。
本发明的实施例提供的 一种业务开通的方法包括以下步骤 根据业务的业务规则配置源规则表达式; 将所述源规则表达式变换为字节码表达式; 执行所述字节码表达式;
根据所述字节码表达式执行结果指示与业务开通相关的网元设备进行操作。
本发明的实施例提供的一种业务开通的装置包括以下模块
源规则表达式配置单元,用于根据业务的业务规则配置到源规则表达式;
字节码生成单元,用于将源规则表达式配置单元生成的源规则表达式转换 为字节码表达式;
字节码执行单元,用于执行字节码生成单元生成的字节码表达式;
网元设备操作单元,用于根据所述字节码执行单元的执行结果指示与业务 开通相关的网元设备进行操作。
使用本发明的实施例提出的这种方法和装置,针对新的业务规则只需要修 改相应的源规则表达式而无需改动或升级系统即可以支持,相应的提高了系统 的稳定性和扩展性,灵活性。
由于现有技术中采用SQL语句只是针对数据库进行操作,面对开通新 业务所需的纷繁复杂的业务规则时就显得灵活性不足,而本发明的方案是根 据业务规则配置源规则表达式,可以实现将开通新业务所需的种种业务规则 配置到源规则表达式中,从而提供现有技术所不能比拟的灵活性。
由于源规则表达式可以灵活配置,因此可以实现只对有索引的字段进行 检索,这就避免了 SQL方案中遇到没有索引字段时要进行长时间查询的问 题从而提高了业务开通的效率。
现有技术中以原SQL语句实现业务规则,执行的时候是采用解释执行 以及查询数据库的方式进行,执行效率较低。而本发明的方案中生成与业务 规则对应的字节码,该字节码能为业务开通系统所采用的虚拟机快速高效执 行,因此业务开通效率得到很大提升。


图1是现有技术中业务开通系统与业务支撑系统以及网元设备的连接关 系示意图。
图2是本发明实施例的业务开通整体流程的示意图。
图3是本发明实施例的业务开通中业务与指令关系定义示意图。
图4是本发明实施例的字节码表达式生成流程的示意图。
图5是本发明实施例的字节码表达式执行流程的示意图。 图6是本发明实施例的应用于实际业务开通的流程图。 图7是本发明实施例的业务开通装置结构的示意图。
具体实施例方式
为使本发明的技术方案和优点更加清楚,下面将结合附图及具体实施例对 本发明作进一步地详细描述。
图2是本发明实施例的业务开通的流程图。下面结合图2描述本发明实施 例的业务开通的流程。
在步骤201,首先将业务的业务规则配置到源规则表达式中。
在步骤202,将源规则表达式变换为字节码表达式。
在步骤203,执行字节码表达式。
在步骤204,根据字节码表达式执行结果指示与业务开通相关的网元设备 进行操作。
业务规则描述的是在业务开通过程中业务和指令之间的关系。譬如在开通 语音邮件业务(Voice Mail Service, VMS)时,开通成功后会有两个并4亍处 理的指令提交到信令协议及交换(Signaling Protocols and Switching, SPS ) 网元进行处理,这就是一个典型的并行处理业务规则。在本发明的实施例中, 这种业务与指令关系定义采用数据库表结构来体现并配置到源规则表达式中。
图3是本发明实施例的业务开通中业务与指令关系定义示意图。如图3 所示,业务与指令关系表304中的"业务标识,,是外键,它对应业务表303 中的主键"业务标识,,;业务与指令关系表304中的"指令标识"是外键, 它对应指令表305中的主键"指令标识",这样就把业务和指令之间的关系 对应起来了。通过这种表结构设计,可以表达在某个特定业务中,某条指令 执行的具体条件,实现指令执行处理中的并行处理规则,串行处理规则,回 滚处理规则,错误码处理规则,条件参数指令处理规则等等纷繁复杂的业务
规则。
在业务与指令的对应关系定义好之后,还需要实现业务中包含的业务参数 与指令中的指令参数的转换关系定义, 一般情况下业务参数的值可以直接赋值 给指令参数,但是针对某些特殊的网元设备以及未来未知变化的需要,指令参
数值的生成有可能是通过多个业务参数的值组合运算甚至加入一些系统参数的 组合运算而得到,针对这种情况,常规的业务参数与指令参数——对应的方式 是无法实现的,此时可以通过如图3的数据库表结构加以实现。
该数据库表结构的实现思想是首先找出那些需要特殊处理的指令参数,对 于这部分指令参数——配置对应的业务参数,再对这些特殊业务参数配置对应
的规则表达式源码和生成的字节码。首先通过业务参数关系表302得到业务(业 务表303 )和业务参数(业务参数表301 )的对应关系,通过指令参数关系表306 得到指令(指令表305)和指令参数(指令参数表307)的关系,然后通过业务 和指令关系表304为媒介将指令参数和业务参数对应起来,从而得到业务指令参 数关系表308。最后将这种对应关系写入源规则表达式中。
上面这种配置源规则表达式的方式非常灵活,可以将开展新业务所需的各 种复杂的业务规则配置到源规则表达式中,从而提供现有技术中SQL方案所不 能比拟的灵活性。
同时,由于可以配置源规则表达式只对有索引的字段进行检索,就避免了 SQL方案中遇到没有索引字段时要进行长时间查询的问题从而提高了业务开通 的效率
在业务与指令关系表304和业务参数表301中有两个字段, 一个是MJ3'源 码,用于保存源规则表达式,业务开通维护前台可以读取该源代码直接展现在 前台,以便对规则表达式进行查询和修改;另一个是规则目标码字段,用以保 存源规则表达式生成的字节码表达式。在业务开通后台进程启动的时候,将该 字节码表达式载入至内存中以备使用。这样的好处在于内存的读取速度更快, 能提高业务开通系统的效率。
图4是本发明实施例的字节码表达式生成流程示意图。如图4所示,在本发
明的实施例中,具有将源规则表达式转化为字节码表达式的功能,其中规则符 号字典用于存储所有的符号及其信息,例如基本数据类型,操作数据类型,操 作符,符号标志等等,并提供访问接口以备本过程中各步骤查询调用。 下面结合图4详细介绍生成字节码表达式的过程。
在步骤401中,对源规则表达式进行词法分析。在本发明的一个实施例中, 可以从左到右逐字符地读入源规则表达式字符串,对源规则表达式字符串进行 扫描和分解,从而识别出源规则对应的符号序列,并转换为符号字符串。
根据制定的语法规则,将符号字符串中符号的顺序进行检查,并将符号字 符串识别为相应的语法规则,并生成语法规则树。
在步骤402中,根据语法规则树的运算符的优先级,生成相应的中间代码 运算树。中间代码是一串符号列表。规则文法中的规则因子生成以后缀表达式 形式表示的符号序列。
在步骤403中,中间代码运算树虽然已经非常接近业务开通系统所采用的 虚拟机可以理解的符号串,但还必须进行最后翻译工作,最终生成可以在虚拟 机上直接高效执行的字节码。
在步骤404中,对本流程中各步骤产生的异常信息进行异常处理,通过检 索异常编码信息,进行异常处理,同时终止本流程。应该理解,步骤404的异常 处理不限于发生在步骤403之后,而是可以发生在步骤401至403中任何步骤的执 行过程中。
为了和具体的业务开通阶段相区别开来,上述的源规则表达式的配置和字 节码表达式的生成过程称为业务的预设置阶段。其中字节码表达式生成后可以 如上面所述放在数据库表中,如上文源规则表达式生成的字节码表达式则保存 在规则目标码字段中,也可以存放为单独的一个文件。这样就不用每次具体开 通业务时都将源规则表达式变换为可以被业务开通系统所使用的虛拟机所能快 速高效执行的字节码表达式,由此使得业务开通的速度更快,效率更高。
图5是本发明实施例的字节码表达式执行流程的示意图。下面结合图5详细 分析本发明实施例的执行功能核心实现的流程。
在步骤501中,将字节码表达式从保存介质(数据库或文件)中载入内存
并在内存中形成运算树,在加载过程中将变量、标志符等符号和业务开通所需 的实体对象进行绑定。这样在执行时,可以快捷地寻找到业务开通所需的实体 对象,提高了业务开通的速率。
在步骤502中,将基于业务开通系统所使用的虛拟机对已栽入内存的已绑 定变量等信息在内的字节码进行运算操作,并得到运算结果。
在步骤503中,对处理本流程中各步骤产生的异常信息进行异常处理,通 过检索异常编码信息,进行下一步处理,同时终止本流程。应该理解,步骤503 的异常处理不限于发生在步骤502之后,而是可以发生在步骤501或步骤502的执 行过程中。
这里简单介绍一下该技术方案的一个应用实例,以说明其用于业务开通系 统的优点。
图6是本发明实施例的应用于实际VMS业务开通的流程图。该示例表达的 是一种开户业务请求的指令实现流程,左边为主流程(从步骤601到步骤610), 右边为部分指令相应的回滚指令流程(从步骤611到步骤614),该业务需要在 HLR和智能网(Intelligent Network, IN)上开户且需要开通短信业务(Short Message Service, SMS)和VMS业务,下面以VMS业务的开通为例进行说明。
步骤601至603与常规的在HLR和IN上开户的流程一致。
在开通VMS业务之前,步骤604通过发送"QRYVMS,,指令至VMS网元查 询VMS业务状态,确认该VMS业务是否已经开通,如果VMS业务已经开通则结 束VMS开户流程,如果VMS业务没有开通则通过步骤606,使用发送"CREVMS" 指令至VMS网元来进行开通。
针对步骤606中"CREVMS,,指令返回的执行结果和信息,会出现三种执 行子步骤。其中步骤608和步骤609中的"CMD1"和"CMD2"指令是"CREVMS" 指令返回成功结果(返回结果为0)的情况下,需要发送到SPS网元并行处理的 指令;步骤610的"CMD3"指令是"CREVMS"指令返回成功结果(返回结果 为0)且返回的详细信息包含某特殊信息,如"Need Del xxx,,的情况下,发送到SPS网元进行处理的指令。在"CREVMS:,指令执行失败(返回结果不为O时) 后,则会执行指令611和612结束VMS的业务开户流程。在整个流程中应用到规 则表达式的步骤有两个,步骤605是对"QRYVMS"指令查询返回结果的解析 逻辑,步骤607则是对"CREVMS"指令返回结果的解析判断逻辑。步骤605比 较简单,这里不做解释,下面重点介绍步骤607如何利用本发明的规则表达式来 定义"CREVMS"指令的返回处理流程。
如下是图5中"规则表达式2"示例(其中"CREVMS"的返回信息定义为 参数变量"strReturn"):
〃判断返回结果码是否为0, VMS—GET—RESULT为内部自定义字符串解析函数 if VMS一GET一RESULT(strReturn) = 0 then
execute'CMD1, and'CMD2, 〃并行执行"CMD1"和"CMD2"指令
〃下面判断是否存在特殊字符,STRJNCLUDE为规则引擎函数,判断字符
串中是否包含特定字符串
if STR一INCLUDE(strReturn, 'Need Del xxx,) then
execute'CMD3, 〃执行"CMD3"指令
end 〃结束字符判断逻辑
else
execute'RMVSUB' 〃结果为失败则执行"RMVSUB"指令
end
通过以上定义过程,定义逻辑清楚且简单灵活易用,非常容易地实现了所 需要的逻辑。
如果要开通SMS业务的话,与上面流程不同之处^又在于步骤604发送查询 SMS业务状态的指令,相应的步骤605根据返回的结果判断是否需要开通,如果 需要开通,步骤606发出开通指令,步骤607根据步骤606的结果来决定步骤608 到610 (根据具体情况或多或少)的流程走向。在上述的两种业务的开通中,共 同之处在于都有业务的查询和开通,区别比较大的在于步骤605和步骤607中具 体流程走向的不同,而这些不同正是业务规则所表述的地方,也是本发明中规则表达式应用的地方。可见针对新的业务规则应用本发明只需要修 丈相应的规 则表达式而无需改动或升级系统即可以支持,相应的提高了业务开通系统的扩 展性和灵活性。同时,由于不用频繁的改动和升级系统,也提高了业务开通系 统稳定性。
本发明的实施例还提供了实现上述方法的装置。如图7所示即为该装置的
结构示意图。该装置包括源规则表达式配置单元710、字节码生成单元720、 字节码执行单元730、网元设备操作单元740和异常处理单元750。
源规则表达式配置单元710实现将业务规则配置到源规则表达式的功能。
字节码生成单元720将源规则表达式配置单元710输出的源规则表达式变 换为字节码表达式。字节码生成单元720主要包括规则符号字典724、语法规则 树生成模块721、中间代码生成模块722和字节码形成模块723。
其中,规则符号字典724用于存储字节码生成单元720中所有使用到的符号 及其信息,例如基本数据类型,操作数据类型,操作符,符号标志等等,并揭_ 供给其他模块访问接口以备其他相关模块查询调用处理。
语法规则树生成模块721从左到右逐字符地读入源规则表达式字符串,对 源规则表达式字符串进行扫描和分解,从而识别出源规则对应的符号序列,并 转换为符号字符串,然后根据制定的语法规则对符号字符串中符号的顺序进行 检查,并将符号字符串识别为相应的语法规则,生成语法规则树。
中间代码生成模块722根据语法规则树的运算符的优先级,生成相应的中 间代码运算树。中间代码是一串符号列表。规则文法中的规则因子生成以后缀 表达式形式表示的符号序列。
中间代码运算树虽然已经非常接近业务开通系统所采用的虚拟机可以理 解的符号串,但还必须通过字节码形成模块723进行最后翻译工作,最终生成可 以直接在虛拟机上直接高效执行的字节码表达式。
730包括两个模块字节码规则输入模块731和字节码运算模块732。
其中,字节码规则输入模块731将字节码表达式载入内存并在内存中形成
运算树,在加载过程中将变量、标志符等符号和业务开通所需的实体对象进行 绑定。
字节码运算模块732将基于业务开通系统所使用的虛拟机对已载入内存的
已绑定变量等信息在内的字节码进行运算操作。
网元设备操作单元740根据字节码执行模块730的运算输出结果,指示与运 算结果相关的网络设备进行操作,实现对应的业务规则。
异常处理单元750对本发明实施例装置中各单元在工作过程中产生的异常 信息进行处理,通过检索异常编码信息进行异常处理,同时终止本流程。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保 护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等, 均应包含在本发明的保护范围之内。
权利要求
1、一种业务开通的方法,其特征在于,包括根据业务的业务规则配置源规则表达式;将所述源规则表达式变换为字节码表达式;执行所述字节码表达式;根据所述字节码表达式执行结果指示与业务开通相关的网元设备进行操作。
2、 根据权利要求1所述的方法,其特征在于,所述根据业务的业务规则配 置源规则表达式包括将所述业务规则中的指令参数和业务参数之间的对应关系写入源规则表达式。
3、 根据权利要求1所述的方法,其特征在于,所述将源规则表达式变换为 所述字节码表达式的步骤在业务预设置阶段执行。
4、 根据权利要求l、 2或3任一所述的方法,其特征在于,所述将源规则 表达式变换为字节码表达式包括将所述源规则表达式变换为语法规则树; 将所述语法规则树变换为中间代码运算树; 将所述中间代码运算树转化为字节码表达式。
5、 根据权利要求4所述的方法,其特征在于,进一步包括 在所述将源规则表达式变换为字节码表达式之前,存储所述将源规则表达式变换为语法规则树、将语法规则树变换为中间代码运算树及将中间代码运算 树转化为字节码表达式各步骤所需的符号及其信息。
6、 根据权利要求1所述的方法,其特征在于,进一步包括 在所述源规则表达式变换为字节码表达式后,将所述字节码表达式保存在数据库表中或者单独文件中。
7、 根据权利要求1所述的方法,其特征在于,所述执行字节码表达式包括将所述字节码表达式载入内存形成运算树;基于虚拟机对所述运算树进行运算操作。
8、 根据权利要求7所述的方法,其特征在于,所述字节码表达式载入内存 的步骤在业务开通后台进程启动时执行。
9、 根据权利要求7所述的方法,其特征在于,进一步包括 在所述将字节码表达式载入内存的步骤中,将所述字节码表达式中的变量、标志符和业务开通所需的实体对象进行绑定。
10、 一种业务开通装置,其特征在于,包括源规则表达式配置单元,用于根据业务的业务规则配置源规则表达式; 字节码生成单元,用于将源规则表达式配置单元生成的源规则表达式转换 为字节码表达式;字节码执行单元,用于执行字节码生成单元生成的字节码表达式; 网元设备操作单元,用于根据所述字节码执行单元的执行结果指示与业务 开通相关的网元设备进行操作。
11、 根据权利要求IO所述的装置,其特征在于,所述字节码生成单元包括 语法规则树生成模块,用于将所述源规则表达式配置单元输出的源规则表达式变换为语法规则树;中间代码生成模块,用于将所述语法规则树生成模块生成的语法规则树变 换为中间代码运算树;字节码形成模块,用于将所述中间代码生成模块生成的中间代码运算树转 化为字节码表达式。
12、 根据权利要求11所述的装置,其特征在于,所述字节码生成单元进一 步包括规则符号字典,用于存储所述字节码生成单元中所有使用到的符号及其信 息,并分别提供给所述语法规则树生成模块、中间代码生成模块和字节码形成 模块访问接口;所述语法规则树生成模块通过与所述规则符号字典之间的访问接口查询并 调用其所需的符号及其信息;所述中间代码生成模块通过与所述规则符号字典之间的访问接口查询并调 用其所需的符号及其信息;所述字节码形成模块通过与所述规则符号字典之间的访问接口查询并调用 其所需的符号及其信息。
13、 根据权利要求10所述的装置,其特征在于,所述字节码执行单元包括: 字节码规则载入才莫块,用于将所述字节码生成单元生成的字节码表达式载入内存并在内存中形成运算树,并在加载过程中将所述字节码表达式中的变量、 标志符和业务开通所需的实体对象进行绑定。字节码运算模块,用于基于虚拟机对所述已载入内存的字节码表达式进行运算操作。
14、 根据权利要求10至13中任一项所述的装置,其特征在于,进一步包括异常处理单元,处理所述装置内部工作时产生的异常信息,通过;f企索异常 编码信息,进行异常处理。全文摘要
本发明提供了一种业务开通的方法,其包括根据业务的业务规则配置源规则表达式;将源规则表达式变换为字节码表达式;执行字节码表达式;根据字节码表达式执行结果指示业务开通所需的网元设备进行操作。同时,本发明还提供了一种与上述方法相对应的业务开通的装置。通过本发明的技术方案,可以在业务开通系统中方便灵活地对新业务进行配置,也可以极大的提高业务开通的效率,提高业务开通的稳定性。
文档编号H04W8/18GK101179772SQ20071019875
公开日2008年5月14日 申请日期2007年12月12日 优先权日2007年12月12日
发明者谷国栋, 胜 钱 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1