论文部分内容阅读
摘 要:针对电信运营商业务支撑系统(BSS)账务处理模块体量庞大、逻辑复杂、难于验证的特点。遵循"面向对象"的设计思想,在对BSS账务处理对象进行逻辑建模的基础上,提出了"方法戳"的概念和BSS账务处理分类验证的方案,并在此基础上提供了上述方案的一个具体实现,有效解决了电信运营商BSS系统账务处理流程化验证的问题。
关键词:BSS;账务处理;分类验证;方法戳
1 引言
BSS系统(Business support system,即业务支撑系统)是电信行业IT战略规划三大支柱内容之一,是电信运营商一体化和信息资源共享的支持性系统,它主要由网络管理、系统管理、计费、账务、营业和客户服务等功能模块组成。在BSS系统的几个主要功能模块中,账务处理处于一个举足轻重的特殊地位,它是BSS系统账单生产流程的“发动机”,直接决定了BSS系统账单生成的质量,并对用户感知具有重大影响。
2 BSS账务处理模型概述
虽然各运营商的BSS系统之间并不具有兼容性,但是由于客体对象的一致性,因此可以为BSS账务处理构建一个统一的模型。
BSS账务处理的客体对象是用户,用户的通信行为产生不同类型的账单,用户对象和账单对象分别具有不同的属性;账务处理对象与用户对象和账单对象交互,根据用户订购,参考用户对象和账单对象的属性,执行账务处理方法,生成输出。
根据分析得出如下结论:BSS系统账务处理验证工作是一项复杂程度很高的任务,完全按照原系统处理逻辑复制处理器的验证方式,成本太高,实际是行不通的;要完成这项任务,就应该在与宿主系统实现充分耦合的基础上,独辟蹊径,找到一种复杂程度适中、资源要求不高的“绿色环保”的处理方式。
3 BSS账务处理分类验证方案的提出
基于上述结论,结合笔者多年从事BSS系统维护工作的经验,现提出一种BSS账务处理验证的新思路,即:BSS账务处理分类验证方案;该方案的基本思想是对账务处理方法进行分类,针对每个类别,分别给出相对简单的UPDATE语句或存储过程,验证账务处理方法执行的正确性。
4 方案创新点
此方案主要具有以下几个方面的创新点:一是在处理方法集合和验证方法集合之间建立起了一个N对一的映射,大幅度降低了任务的复杂程度,使方案的实施成为可能;二是屏蔽了宿主系统的实现细节,为方案实施植入了易用性的天然基因;三是独创性。本文是国内首篇系统论证BSS账务处理验证的论文,所提出的分类验证项具有开创性的工作。虽然这个方案可能并非最好,也不是最高效的,但是对于后来者而言,它应该可以起到抛砖引玉的作用。
5 方案技术难点
本论文论述的方案主要具有以下几个方面的技术难点:一是如何确定方案的数据模型和数据流程;二是如何实现对海量处理方法的有效分类;三是如何实现界面化的多任务并发执行;四是如何实现对Update语法的扩展。把握住四个难点,实施正确的方法,增强方案的易用性,使方案的实施成为可能。
6 BSS账务处理分类验证方案的实现
以宿主系统为例,采用Java Web编程技术,在逐一给出本案技术难点解决方案的基础上,详细说明BSS账务处理分类验证方案的具体实现(以下简称为样本实施)。
6.1宿主系统数据模型
宿主系统的数据模型是一个树形结构,从顶层的资费到底层的费用优惠和费用计算,是通过表间的纵向关联实现的;样本实施需要把这种纵向模型转化为横向模型,以简化本案分类验证思想的实现。
6.2 样本实施数据模型
样本实施数据模型包括参数、清单和方法定义三部分,核心是资费明细表和批价政策明细表。资费明细表是将宿主系统的数据模型横向展开到优惠动作级别,其逻辑含义为:满足什么条件,执行什么操作;其中的cond_detail解析了到达动作的条件路径,param_impl_detail解析了宿主系统的参数化实现,exec_detail解析了宿主系统的费用优惠定义。
批价政策明细表是在上述资费明细表的基础上,将宿主系统的数据模型进一步展开到明细条件级别,以解析出宿主系统明细条件配置中参考的对象;其中object_id为对象标识,source_detail为参考对象的引用场景,譬如:条件、计算或优惠结果。
6.3 样本实施数据流程
样本实施的数据流程是一个以结果表求取为中心的数据流程,它包括求取流程和参数流程两部分,流程的运行由页面操作驱动且支持用户中断和断点处理;在结果表的求取和验证过程中,求取流程和参数流程之间将产生多点交互。
需要说明的是,订购求取中的事务一致性处理是为了保证用户集的事务完整性,即保证能取到所有相关用户的订购和账单数据。
6.4 账务处理方法分类实施方案
为了对账务处理方法进行有效分类,特提出方法戳的概念:方法戳是账务处理方法参考属性的集合,能够标识账务处理方法的特征,是账务处理方法分类的主要依据。
在账务处理模型的几类属性中,费用账单属性(费用)和累计量账单属性(累计量)都是数值型属性,在账务处理方法中仅做简单的四则运算和判断,只需用一个是或否的标志映射到方法戳中即可。
6.5多任务并发执行实施方案
多任务并发执行的实施需要用到软件设计中的多线程技术,其設计模式与业务场景密切相关;设计目标是在实现并发的同时,保证数据的完整性和一致性。
在样本实施中,系统基于本地网运行(每个本地网分别维护一套独立的参数集),其中存在着本地网和用户两种层级的并发场景;要保证两种并发场景下数据的完整性和一致性,就必须实现系统的多点登陆和单点执行。
6.6后台过程并发实施
样本实施中的后台过程包括资费构成分析、批价政策构成分析、参考账目分析、结果账目分析、资费分类表分析、稽核流程执行六大任务;其中除稽核流程执行为用户并发外,其它任务均为本地网并发;任务的类型、优先级及其与功能框架的对应关系。
6.7验证语句并发实施
对于用户层级的验证语句并发而言,“多点登陆,单点执行”的含义为:在用户边界内,多点登陆场景下的并发事务只能以单点模式执行,而在事务内部则允许多任务的并发执行,验证语句并发的对象模型,
6.8 Update语法扩展实施方案
对Update原生语法的扩展主要有两个目的:一是为了简化语句的书写,二是为了解析语句书写过程中使用到的变量。采用的技术是JAVA中基于正则表达式的字符串解析技术,主要实现了三种类型的扩展,即:字面值替换、参数型替换、函数型替换。字面值替换是根据正则表达式的规则字符串,对Update语句中的目标字符串做简单的替换处理;参数型替换在字面值替换的基础上,为正则替换的结果增加单引号边界;函数型替换主要用于求取资料属性在方法戳中的位置,建立对象名到字段名的映射
7 结论
论文的分类验证思想是在对BSS系统逻辑建模的基础上提出的,因此不具有特异性,可以供各电信运营商在规划BSS系统时参考;而样本实施作为本案的个性化实现,可以在中国联通内部推广应用。
参考文献:
[1] 刘伟,张利国.Java Web开发与实战[M].科学出版社,2008.
[2]刘启明,韩庆田.网页设计教程[M].清华大学出版社,2010.
作者简介:
王勇,男,1972年出生,河北省衡水市人,工程师;王杰,男,1974年出生,高级工程师,河北省元氏人。
关键词:BSS;账务处理;分类验证;方法戳
1 引言
BSS系统(Business support system,即业务支撑系统)是电信行业IT战略规划三大支柱内容之一,是电信运营商一体化和信息资源共享的支持性系统,它主要由网络管理、系统管理、计费、账务、营业和客户服务等功能模块组成。在BSS系统的几个主要功能模块中,账务处理处于一个举足轻重的特殊地位,它是BSS系统账单生产流程的“发动机”,直接决定了BSS系统账单生成的质量,并对用户感知具有重大影响。
2 BSS账务处理模型概述
虽然各运营商的BSS系统之间并不具有兼容性,但是由于客体对象的一致性,因此可以为BSS账务处理构建一个统一的模型。
BSS账务处理的客体对象是用户,用户的通信行为产生不同类型的账单,用户对象和账单对象分别具有不同的属性;账务处理对象与用户对象和账单对象交互,根据用户订购,参考用户对象和账单对象的属性,执行账务处理方法,生成输出。
根据分析得出如下结论:BSS系统账务处理验证工作是一项复杂程度很高的任务,完全按照原系统处理逻辑复制处理器的验证方式,成本太高,实际是行不通的;要完成这项任务,就应该在与宿主系统实现充分耦合的基础上,独辟蹊径,找到一种复杂程度适中、资源要求不高的“绿色环保”的处理方式。
3 BSS账务处理分类验证方案的提出
基于上述结论,结合笔者多年从事BSS系统维护工作的经验,现提出一种BSS账务处理验证的新思路,即:BSS账务处理分类验证方案;该方案的基本思想是对账务处理方法进行分类,针对每个类别,分别给出相对简单的UPDATE语句或存储过程,验证账务处理方法执行的正确性。
4 方案创新点
此方案主要具有以下几个方面的创新点:一是在处理方法集合和验证方法集合之间建立起了一个N对一的映射,大幅度降低了任务的复杂程度,使方案的实施成为可能;二是屏蔽了宿主系统的实现细节,为方案实施植入了易用性的天然基因;三是独创性。本文是国内首篇系统论证BSS账务处理验证的论文,所提出的分类验证项具有开创性的工作。虽然这个方案可能并非最好,也不是最高效的,但是对于后来者而言,它应该可以起到抛砖引玉的作用。
5 方案技术难点
本论文论述的方案主要具有以下几个方面的技术难点:一是如何确定方案的数据模型和数据流程;二是如何实现对海量处理方法的有效分类;三是如何实现界面化的多任务并发执行;四是如何实现对Update语法的扩展。把握住四个难点,实施正确的方法,增强方案的易用性,使方案的实施成为可能。
6 BSS账务处理分类验证方案的实现
以宿主系统为例,采用Java Web编程技术,在逐一给出本案技术难点解决方案的基础上,详细说明BSS账务处理分类验证方案的具体实现(以下简称为样本实施)。
6.1宿主系统数据模型
宿主系统的数据模型是一个树形结构,从顶层的资费到底层的费用优惠和费用计算,是通过表间的纵向关联实现的;样本实施需要把这种纵向模型转化为横向模型,以简化本案分类验证思想的实现。
6.2 样本实施数据模型
样本实施数据模型包括参数、清单和方法定义三部分,核心是资费明细表和批价政策明细表。资费明细表是将宿主系统的数据模型横向展开到优惠动作级别,其逻辑含义为:满足什么条件,执行什么操作;其中的cond_detail解析了到达动作的条件路径,param_impl_detail解析了宿主系统的参数化实现,exec_detail解析了宿主系统的费用优惠定义。
批价政策明细表是在上述资费明细表的基础上,将宿主系统的数据模型进一步展开到明细条件级别,以解析出宿主系统明细条件配置中参考的对象;其中object_id为对象标识,source_detail为参考对象的引用场景,譬如:条件、计算或优惠结果。
6.3 样本实施数据流程
样本实施的数据流程是一个以结果表求取为中心的数据流程,它包括求取流程和参数流程两部分,流程的运行由页面操作驱动且支持用户中断和断点处理;在结果表的求取和验证过程中,求取流程和参数流程之间将产生多点交互。
需要说明的是,订购求取中的事务一致性处理是为了保证用户集的事务完整性,即保证能取到所有相关用户的订购和账单数据。
6.4 账务处理方法分类实施方案
为了对账务处理方法进行有效分类,特提出方法戳的概念:方法戳是账务处理方法参考属性的集合,能够标识账务处理方法的特征,是账务处理方法分类的主要依据。
在账务处理模型的几类属性中,费用账单属性(费用)和累计量账单属性(累计量)都是数值型属性,在账务处理方法中仅做简单的四则运算和判断,只需用一个是或否的标志映射到方法戳中即可。
6.5多任务并发执行实施方案
多任务并发执行的实施需要用到软件设计中的多线程技术,其設计模式与业务场景密切相关;设计目标是在实现并发的同时,保证数据的完整性和一致性。
在样本实施中,系统基于本地网运行(每个本地网分别维护一套独立的参数集),其中存在着本地网和用户两种层级的并发场景;要保证两种并发场景下数据的完整性和一致性,就必须实现系统的多点登陆和单点执行。
6.6后台过程并发实施
样本实施中的后台过程包括资费构成分析、批价政策构成分析、参考账目分析、结果账目分析、资费分类表分析、稽核流程执行六大任务;其中除稽核流程执行为用户并发外,其它任务均为本地网并发;任务的类型、优先级及其与功能框架的对应关系。
6.7验证语句并发实施
对于用户层级的验证语句并发而言,“多点登陆,单点执行”的含义为:在用户边界内,多点登陆场景下的并发事务只能以单点模式执行,而在事务内部则允许多任务的并发执行,验证语句并发的对象模型,
6.8 Update语法扩展实施方案
对Update原生语法的扩展主要有两个目的:一是为了简化语句的书写,二是为了解析语句书写过程中使用到的变量。采用的技术是JAVA中基于正则表达式的字符串解析技术,主要实现了三种类型的扩展,即:字面值替换、参数型替换、函数型替换。字面值替换是根据正则表达式的规则字符串,对Update语句中的目标字符串做简单的替换处理;参数型替换在字面值替换的基础上,为正则替换的结果增加单引号边界;函数型替换主要用于求取资料属性在方法戳中的位置,建立对象名到字段名的映射
7 结论
论文的分类验证思想是在对BSS系统逻辑建模的基础上提出的,因此不具有特异性,可以供各电信运营商在规划BSS系统时参考;而样本实施作为本案的个性化实现,可以在中国联通内部推广应用。
参考文献:
[1] 刘伟,张利国.Java Web开发与实战[M].科学出版社,2008.
[2]刘启明,韩庆田.网页设计教程[M].清华大学出版社,2010.
作者简介:
王勇,男,1972年出生,河北省衡水市人,工程师;王杰,男,1974年出生,高级工程师,河北省元氏人。