一种在线计费系统测试方法及虚拟网元与流程

文档序号:17898959发布日期:2019-06-13 16:12阅读:488来源:国知局
一种在线计费系统测试方法及虚拟网元与流程

本发明涉及通信技术领域,更具体地,涉及基于一种在线计费系统测试方法及虚拟网元。



背景技术:

随着运营的发展,客户对移动业务的使用需要急剧增长,运营商也不断推出新的业务来吸引新客户,提升支撑系统能力来挽留老客户,因此促使boss计费系统从离线计费模式逐步向在线计费模式演化。

目前对在线计费系统的上线验收手段一般采用两种方式,一种是基于和实际网元进行联调测试最基本的业务使用场景,这种联调方式需要有实际网元支持,并且需要网元厂商人员参与;另一种是用工具通过构造业务使用请求报文来模拟网元的请求,驱动部分功能测试用例执行。

但是上述的基于和实际网元进行联调测试方法由于需要有实际网元支持,故而联调周期较长,可测试案例有限,不能很好的满足在线计费系统的日常上线验收,严重制约了在线计费系统的运维和系统的更新迭代的上线频度,用工具通过构造业务使用请求报文来模拟网元的请求由于是面向报文构造,报文格式是二进制的dcc消息流格式,报文格式是预先定义,维护修改都需要相应专家操作。导致在实际使用过程中,模拟的业务场景有限,且操作困难。

综上所述,为了更好地满足实际生产应用中功能测试和上线验收的需要,现亟须一种在线计费系统测试方法及虚拟网元,以满足日常功能测试,上线验收以及在线计费系统的大数据量批量对帐的需求。



技术实现要素:

本发明提供一种克服上述问题或者至少部分地解决上述问题的一种在线计费系统测试方法,包括:

步骤s1、基于用户设置的业务接口和在线计费系统接口,获取业务使用场景、业务数据以及所述在线计费系统接口对应的交互协议;

步骤s2、基于所述业务使用场景和所述业务数据,构造业务报文;

步骤s3、基于所述在线计费系统接口对应的交互协议和预设的dcc协议库,将所述业务报文编码为协议消息流,并将所述协议消息流发送给所述在线计费系统,以供所述在线计费系统应答;

步骤s4、当接收到所述在线计费系统的应答消息后,基于所述在线计费系统接口对应的交互协议和预设的dcc协议库,对所述应答消息进行解码,并将解码结果发送给用户。

其中,所述方法还包括:

将在线计费系统的业务使用日志和所述协议消息流同时发送给所述在线计费系统,以供所述在线计费系统批量对账。

其中,步骤s2之前所述方法还包括:

将任一业务报文的结构分解为基础结构和组件集;

基于所有业务使用场景,构建组件集库。

其中,步骤s2包括:

基于所述业务使用场景,在所述组件集库中选取所述业务使用场景对应的组件集;

基于所述基础结构、所述业务使用场景对应的组件集以及所述业务数据,构造业务报文。

其中,所述基于所述基础结构、所述业务使用场景对应的组件集以及所述业务数据,构造业务报文,包括:

基于在线计费系统接口对应的交互协议,将所述业务数据的数据结构封装为所述交互协议对应的在线计费系统内部数据结构。

其中,步骤s3包括:

基于所述在线计费系统接口对应的交互协议,在预设的dcc协议库中调用所述交互协议对应的dcc协议,将所述业务报文编码为协议消息流,所述协议消息流为二进制数据流;

将所述协议消息流发送给对应的在线计费系统,以供所述在线计费系统应答。

其中,所述方法还包括:

基于用户设置的扩展参数接口,获取业务补充数据;

基于所述业务补充数据,更新所述业务报文。

根据本发明的第二方面,提供一种虚拟网元,包括:

获取模块,用于基于用户设置的业务接口和在线计费系统接口,获取业务使用场景、业务数据以及所述在线计费系统接口对应的交互协议;

构造模块,用于基于所述业务使用场景和业务数据,构造业务报文;

编码发送模块,用于基于所述在线计费系统接口对应的交互协议和预设的dcc协议库,将所述业务报文编码为协议消息流,并将所述协议消息流发送给所述在线计费系统,以供所述在线计费系统应答;

接收解码模块,用于当接收到所述在线计费系统的应答消息后,基于所述在线计费系统接口对应的交互协议和预设的dcc协议库,对所述应答消息进行解码,并将解码结果发送给用户。

根据本发明的第三方面,提供一种计算机程序产品,包括程序代码,所述程序代码用于执行上述所述的一种在线计费系统测试方法。

根据本发明的第四方面,提供一种非暂态计算机可读存储介质,用于存储如前所述的计算机程序。

本发明提供的一种在线计费系统测试方法及虚拟网元,用户无须了解协议内容以及报文格式信息,就可以直接构造各种业务使用场景,满足了日常功能测试,上线验收以及在线计费系统的大数据量批量对帐的需求。

附图说明

图1是本发明实施例提供的一种在线计费系统测试方法流程图;

图2是本发明实施例提供的一种虚拟网元结构图;

图3是本发明实施例提供的虚拟网元逻辑架构示意图。

具体实施方式

下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。

图1是本发明实施例提供的一种在线计费系统测试方法流程图,如图1所示,所述方法包括:

步骤s1、基于用户设置的业务接口和在线计费系统接口,获取业务使用场景、业务数据以及所述在线计费系统接口对应的交互协议;

步骤s2、基于所述业务使用场景和所述业务数据,构造业务报文;

步骤s3、基于所述在线计费系统接口对应的交互协议和预设的dcc协议库,将所述业务报文编码为协议消息流,并将所述协议消息流发送给所述在线计费系统,以供所述在线计费系统应答;

步骤s4、当接收到所述在线计费系统的应答消息后,基于所述在线计费系统接口对应的交互协议和预设的dcc协议库,对所述应答消息进行解码,并将解码结果发送给用户。

目前,对在线计费系统的测试采用的网元为实际网元,实际网元需要网元厂商人员参与,联调周期长,可执行案例有限。

实际网元联调是由厂商网元维护人员在网元上对测试用户进行开通,再使用终端进行业务使用。网元可以向在线计费系统发起报文请求,在线计费系统收到请求后,进行业务处理,计算出业务使用量通过报文应答,反馈给网元。网元根据应答内容进行业务控制处理。用户进行业务使用直至结束,从而完成一个业务场景的验收。

可以理解的是,实际望远由于采用人员维护的方式,其联调周期较长,并且要求网元厂商人员才能够对网元设备进行验收联调准备,从而导致能够执行的案例很有限。

同时,现有的测试工具的可扩展性不强、操作困难,当变更或新增业务场景时,必须依赖相应的专家进行操作,因此现有的工具无法完成上线验收测试结果的需求。

具体的,网元和在线计费系统交互报文格式是二进制的dcc消息流格式,现有工具是面向报文构造,报文格式是预先定义,业务场景的内容大部分也是固化在报文里,只有少部分核心字段可以修改。这样就约束了业务场景的范围:首先是约束了报文格式,不能方便的构造业务场景,例如数据业务的多rg使用场景;其次是业务场景的内容约束,例如ggsn切换,网络切换等,这些业务使用场景都是日常生产中普通的使用场景,上线验收时不能覆盖到,从而造成生产很大的客户投诉风险。

针对上述现有技术中存在的问题,本发明实施例通过提出一种在线计费系统测试方法和虚拟网元,使得用户不需要了解协议,以及报文格式信息,就可以按用户对业务的理解来设置业务数据,构造业务使用场景。

并且案例执行快速,操作方便易用,各种业务使用场景都可以同样方便的构造。在案例执行过程中,能清晰的掌握发送的请求和接受的应答数据,以及详细报文消息流信息,提供给用户进行初步或深入分析案例执行情况,提高对测试结果的把控,能及时对可能错误进行定位。

可以理解的是,本发明实施例提供的在线计费系统业务处理方法的执行主体实质上是本发明实施例提供的一种虚拟网元,所述虚拟网元能提供用户输入的ui界面,用户通过ui界面能够输入用户想要设置的信息和业务内容,例如步骤s1中,用户通过ui界面输入业务接口字段,所述业务接口字段包括:根据案例设置业务场景内容、用户需要使用的业务项目以及用户的基本信息例如用户的手机号码等。同时,用户还需要如步骤s3中一样设置在线计费系统接口,通过用户设置在线计费系统的接口,虚拟网元能够确定发生交互关系的在线计费系统的类型和交互协议,从而通过预设的dcc协议库完成对网元需要的协议报文进行编码和解码。

那么本发明实施例提供的方案将业务使用和报文结构分离,从业务使用场景抽象用户接口。分离报文结构后,用户不需要了解和关心报文结构和协议,降低了对用户的协议专业知识的需要;按用户理解得形式抽象了业务使用场景,降低了用户对业务使用场景知识,用户只需要知道接口字段的变化就能够实现业务使用。这样就可以提供一个易操作界面,方便用户设置接口字段,以及清晰的交互次序,用户就可以驱动复杂的业务使用。

具体的,s1中,可以理解的是,不同的业务会存在不同的业务场景内容,而对应业务场景内容的不同,需要不同的报文格式进行发送,发送的具体内容概括为所述业务数据。

s2中,所述构造业务报文为本发明实施例提供的虚拟网元自设的报文重构功能,通过对报文的重构能够将报文结构和业务场景内容分离,然后结合二者动态拼装技术,实现对各种业务使用场景的覆盖。在使用过程中,用户只需要关心业务使用,就可以正确发起各种业务场景。只有当新增新的业务协议,或网元发生特殊变更,才需要专家进行维护修改。

s3中,所述预设的dcc协议库是本发明实施例提供的多个dcc协议的集合,通过确定在线计费系统的交互协议,在dcc协议库中选取相应的dcc协议对报文进行编码,本发明实施例将编码后的报文称为协议消息流,所述协议消息流为发送给相应在线计费系统的消息,其发送协议为本发明实施例提供的dcc协议库编码获得。

s4中,可以理解的是,对应于虚拟网元发送给在线计费系统的编码过程,当虚拟网元收到在线计费系统发送的应答消息后,同样需要在dcc协议库中选用相应的协议对应答消息进行解码,并将解码结果反馈给用户。需要说明的是,在解码和编码过程中,会将交互过程产生的数据实时处理和保存。当会话的所有请求和应答的交互数据都进行保存,直至会话正常结束或异常超时结束,才会清理该会话数据。

在上述实施例的基础上,所述方法还包括:

将在线计费系统的业务使用日志和所述协议消息流同时发送给所述在线计费系统,以供所述在线计费系统批量对账。

需要说明的是,在线计费系统进行整体割接上线时,上线验收的手段是大数据量的批量对帐。批量对帐要求使用实际生产的业务使用场景,再现用户实际业务使用过程,比较新老两套系统处理结果,本发明实施例将过去的生产在线计费系统的业务使用日志通过技术手段再现为报文请求,并发起请求交互。虚拟网元通过对业务使用日志分析,报文重建,会话控制等处理,再现业务使用报文请求和交互发起,从而实现批量对帐。

具体的,本发明实施例首先将在线计费系统的业务使用日志,即在线计费系统的历史数据重新按照报文请求的格式进行编辑,从而将业务使用日志转换为报文请求。

将报文请求和本次测试过程中产生的协议消息流同时发送给在线计费系统,通过对比两组数据之间的业务数据内容差异,完成批量对帐过程。

在上述实施例的基础上,步骤s2之前所述方法还包括:

将任一业务报文的结构分解为基础结构和组件集;

基于所有业务使用场景,构建组件集库。

需要说明的是,为了实现业务使用场景覆盖的尽可能大,本发明实施例将根据dcc报文结构定义消息体组件,结合各种网元对业务的定义,构造基础报文结构。当用户发起业务场景时,分析业务场景内容,得到本次报文需要的组件,动态拼装为具体需要的报文结构。

在上述实施例的基础上,步骤s2包括:

基于所述业务使用场景,在所述组件集库中选取所述业务使用场景对应的组件集;

基于所述基础结构、所述业务使用场景对应的组件集以及所述业务数据,构造业务报文。

具体的,根据获取到的业务使用场景,本发明实施例将在预先建立的组件集库中选取业务使用场景适用的组件集,将多个组件集和基础结构进行动态拼接,构造出本次业务使用场景所使用的业务报文结构,从而装载业务数据进行传送。

在上述实施例的基础上,所述基于所述基础结构、所述业务使用场景对应的组件集以及所述业务数据,构造业务报文,包括:

基于在线计费系统接口对应的交互协议,将所述业务数据的数据结构封装为所述交互协议对应的在线计费系统内部数据结构。

可以理解的是,用户只通过ui界面设置了业务接口字段,但采集到的业务数据的数据结构并不是在线计费系统能识别的数据结构,那么本发明实施例将对业务数据进行整理,从而将业务数据整理为在线计费系统内部的数据结构。

本发明实施例只采集业务使用场景数据,而不考虑具体的业务和网元要求,只将采集到的业务数据整理为系统内部的数据结构。

本发明实施例设置了用户参数数据结构用来保存业务信息,所述业务信息即本发明实施例所述的业务数据,数据结构设计如下:

<record>

<base>

<user_number>18808510030</user_number>

<imsi>460006514158261</imsi>

<start_time></start_time>

<session_id></session_id>

<imei></imei>

<auth_application_id></auth_application_id>

<charging_id></charging_id>

<pdp_type></pdp_type>

<pdp_address></pdp_address>

<ggsn_address></ggsn_address>

<apn_noi></apn_noi>

<nsapi></nsapi>

<cc_selection_mode></cc_selection_mode>

<timezone></timezone>

<apn_ni></apn_ni>

<charging_characteristics></charging_characteristics>

<origin_host></origin_host>

<origin_realm></origin_realm>

<origin_state_id></origin_state_id>

<destination_host></destination_host>

<destination_realm></destination_realm>

<service_id></service_id>

<process_type></process_type>

<cc_request_number></cc_request_number>

<multiple_services_indicator></multiple_services_indicator>

<sgsn_address></sgsn_address>

<qos_profile></qos_profile>\

<user_location_info></user_location_info>

<rat_type></rat_type>

</base>

<rgs>

<rgtype="u"order="2">

<service_code>2111000000</service_code>

<input_octets>800</input_octets>

<output_octets>200</output_octets>

<reporting_reason></reporting_reason>

</rg>

<rgtype="i"order="1">

<service_code>2111000001</service_code>

</rg>

......

</rgs>

<triggertype="1">

<sgsn_address>10.10.10.1</sgsn_address>

</trigger>

</record>。

在上述实施例的基础上,步骤s3包括:

基于所述在线计费系统接口对应的交互协议,在预设的dcc协议库中调用所述交互协议对应的dcc协议,将所述业务报文编码为协议消息流,所述协议消息流为二进制数据流;

将所述协议消息流发送给对应的在线计费系统,以供所述在线计费系统应答。

可以理解的是,通过用户设置的在线计费系统接口,本发明实施例提供的虚拟网元可以识别出所需进行测试的在线计费系统类别和其对应的交互协议类型。

本发明实施例提供的虚拟网元通过分析在线计费系统接口,获取交互协议类型,完成对协议的加载,并选择对应的业务逻辑模块,利用业务逻辑模块对业务数据进行处理,从而得到内部的协议类型,在dcc协议库中选择对应的协议,从而完成业务使用场景到用户接口数据的抽象双向映射,根据用户请求数据映射为业务协议编码数据。

待识别交互协议的类型后,即可调用相应协议库进行报文编码,编码对象是业务报文,业务报文可以分为报文结构数据和业务报文数据。其中,报文结构数据的数据结构设计如下:

[263;enc_octetstring;session_id;;;0;0],

[264;enc_octetstring;origin_host;scp172;;0;0],

[296;enc_octetstring;origin_realm;cmcc.com;;0;0],

[278;enc_unsigned32;origin_state_id;14;;0;0],

[283;enc_octetstring;destination_realm;cmcc.com;;0;0],

[258;enc_unsigned32;auth_application_id;4;;0;0],

[461;enc_octetstring;service_id;ps@cmcc.com;;0;0],

[416;enc_integer32;process_type;1;;0;0],

[415;enc_unsigned32;cc_request_number;0;;0;0],

[293;enc_octetstring;destination_host;;;0;0],

[55;enc_utctime_2;start_time;;;0;0],

[443;;##_1;;;0;0]([450;enc_unsigned32;subscription_id_type;;;0;0],

[444;enc_octetstring;subscription_id_data;;;0;0])

[458;;;;;0;0;]([459;enc_unsigned32;user_equipment_info_type;0;;0;0],

[460;enc_octetstring;imei;123456789987654321;;0;0])。

业务报文数据的数据结构设计如下:

user:13858187937;opp:13112345678;svg:12;svg2:34;msc:8613857523;##_1{(duration:123;starttime:20120531070808)(duration:456;starttime:20120631070808)};charge:321。

根据报文结构数据和业务报文数据进行编码,产生的协议消息流是dcc协议的二进制数据流,从而在线计费系统接收二进制数据流,获取业务信息。

在上述实施例的基础上,所述方法还包括:

基于用户设置的扩展参数接口,获取业务补充数据;

基于所述业务补充数据,更新所述业务报文。

若所述用户设置的业务接口和/或用户设置的在线计费系统接口改变,则重复步骤s1-s4。

可以理解的是,本发明实施例提供的步骤s1-s4是本发明实施例提供的一次完整的测试交互过程,那么当用户提供的业务接口和/或在线计费系统接口发生改变时,需要重新进行一次测试。

同时,用户也可通过改变业务接口和/或在线计费系统接口,来补充业务资料,驱动对在线计费系统上线验收的案例执行。

图2是本发明实施例提供的一种虚拟网元结构图,如图2所示,一种虚拟网元,包括:获取模块1、构造模块2、编码发送模块3以及接收解码模块4,其中:

获取模块1用于基于用户设置的业务接口和在线计费系统接口,获取业务使用场景、业务数据以及所述在线计费系统接口对应的交互协议;

构造模块2用于基于所述业务使用场景和业务数据,构造业务报文;

编码发送模块3用于基于所述在线计费系统接口对应的交互协议和预设的dcc协议库,将所述业务报文编码为协议消息流,并将所述协议消息流发送给所述在线计费系统,以供所述在线计费系统应答;

接收解码模块4用于当接收到所述在线计费系统的应答消息后,基于所述在线计费系统接口对应的交互协议和预设的dcc协议库,对所述应答消息进行解码,并将解码结果发送给用户。

图3是本发明实施例提供的虚拟网元逻辑架构示意图,如图3所示,本发明实施例提供的虚拟网元是软件实现,不依赖任何特殊硬件设备,也不对具体的用户资料依赖。当需要时,用户登录系统,可以便捷根据案例设置业务场景,并发起对在线计费系统的请求和交互,实时获取请求-应答信息,完成对案例的执行。整体执行效率相对联调有着巨大提升,一次业务使用可以在秒级时间完成。

通过本发明实施例提供的虚拟网元,能简洁方便地构造各种业务使用场景,驱动上线验收案例执行,能够很好的满足上线验收案例的需求。扩展性好,能够方便的进行新增协议的支持,网元报文结构的变更等。由于便捷的使用,高效的驱动案例执行,从而达到提升上线验收的充分性,降低在线计费系统上线风险的目的。

本发明实施例提供一种虚拟网元,包括:至少一个处理器;以及与所述处理器通信连接的至少一个存储器,其中:

所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令以执行上述各方法实施例所提供的方法,例如包括:步骤s1、基于用户设置的业务接口和在线计费系统接口,获取业务使用场景、业务数据以及所述在线计费系统接口对应的交互协议;步骤s2、基于所述业务使用场景和所述业务数据,构造业务报文;步骤s3、基于所述在线计费系统接口对应的交互协议和预设的dcc协议库,将所述业务报文编码为协议消息流,并将所述协议消息流发送给所述在线计费系统,以供所述在线计费系统应答;步骤s4、当接收到所述在线计费系统的应答消息后,基于所述在线计费系统接口对应的交互协议和预设的dcc协议库,对所述应答消息进行解码,并将解码结果发送给用户。

本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:步骤s1、基于用户设置的业务接口和在线计费系统接口,获取业务使用场景、业务数据以及所述在线计费系统接口对应的交互协议;步骤s2、基于所述业务使用场景和所述业务数据,构造业务报文;步骤s3、基于所述在线计费系统接口对应的交互协议和预设的dcc协议库,将所述业务报文编码为协议消息流,并将所述协议消息流发送给所述在线计费系统,以供所述在线计费系统应答;步骤s4、当接收到所述在线计费系统的应答消息后,基于所述在线计费系统接口对应的交互协议和预设的dcc协议库,对所述应答消息进行解码,并将解码结果发送给用户。

本实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:步骤s1、基于用户设置的业务接口和在线计费系统接口,获取业务使用场景、业务数据以及所述在线计费系统接口对应的交互协议;步骤s2、基于所述业务使用场景和所述业务数据,构造业务报文;步骤s3、基于所述在线计费系统接口对应的交互协议和预设的dcc协议库,将所述业务报文编码为协议消息流,并将所述协议消息流发送给所述在线计费系统,以供所述在线计费系统应答;步骤s4、当接收到所述在线计费系统的应答消息后,基于所述在线计费系统接口对应的交互协议和预设的dcc协议库,对所述应答消息进行解码,并将解码结果发送给用户。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后,本申请的方法仅为较佳的实施方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1