首页 / 专利库 / 软件 / 逻辑文件 / 一种模拟Diameter服务器端的方法及其装置

一种模拟Diameter服务器端的方法及其装置

阅读:117发布:2024-02-06

专利汇可以提供一种模拟Diameter服务器端的方法及其装置专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种模拟Diameter 服务器 端的方法及其装置,用于对Diameter客户端的功能和性能进行测试,其中该方法包括:配置管理步骤,用于根据所述Diameter客户端需要返回的消息进行配置,得到配置数据;消息处理步骤,用于接收所述Diameter客户端发送的Diameter消息;对所述Diameter消息进行解析,得到相应的消息类型、应答包的内容;并根据所述应答包的内容取出相应的配置数据,组包后发送至所述Diameter客户端。本发明完成了对Diameter客户端的功能、性能的测试,并对CCR消息的某些字段通过配置决定是否直接返回配置内容或根据用户信息进行逻辑处理,达到较高程度的仿真。,下面是一种模拟Diameter服务器端的方法及其装置专利的具体信息内容。

1.一种模拟Diameter服务器端的方法,用于对Diameter客户端的功能和性能进行测试,其特征在于,包括:
配置管理步骤,用于根据所述Diameter客户端需要返回的消息进行配置,得到配置数据;当接收到配置更新命令后,重新读取所有所述配置数据到内部存储器
消息处理步骤,用于接收所述Diameter客户端发送的Diameter消息;
对所述Diameter消息进行解析,得到相应的消息类型、应答包的内容;并根据所述消息类型进行不同的处理:
当所述Diameter消息为能交换请求消息时,根据所述配置数据组成能力交换应答包,并记录日志;
当所述Diameter消息为设备监控请求消息时,根据所述配置数据组成设备监控应答包,并记录日志;
当所述Diameter消息为拆除对等端连接请求消息时,中断与所述Diameter客户端的通信连接,并记录日志;
当所述Diameter消息为信用控制请求消息时,解析所述信用控制请求消息中的关键字段,并根据所述应答包的内容取出相应的配置数据,组包后发送至所述Diameter客户端。
2.根据权利要求1所述的模拟Diameter服务器端的方法,其特征在于,所述消息处理步骤中,所述Diameter消息的消息类型包括能力交换请求消息、设备监控请求消息、拆除对等端连接请求消息、中断会话应答消息、信用控制请求消息中的一种或多种。
3.根据权利要求2所述的模拟Diameter服务器端的方法,其特征在于,所述消息处理步骤中,进一步包括:
当所述Diameter消息为信用控制请求消息时,进一步判断是否需要根据所述信用控制请求消息进行逻辑处理的步骤;具体判断过程为:
判定是否有业务逻辑,当存在业务逻辑时进行相应的逻辑处理,否则不进行逻辑处理。
4.根据权利要求3所述的模拟Diameter服务器端的方法,其特征在于,所述消息处理步骤中,进一步包括:
当判断不需要进行逻辑处理时,根据所述关键字段确定所述应答包的内容,并根据所述应答包的内容取出相应的配置数据,根据该配置数据组包,记录日志;否则根据所述内部存储器中的用户信息进行逻辑处理。
5.一种模拟Diameter服务器端的装置,用于对Diameter客户端的功能和性能进行测试,其特征在于,包括:
数据通讯模,负责所述装置与所述Diameter客户端之间的通信连接;
配置管理模块,用于根据所述Diameter客户端需要返回的消息进行配置,得到配置数据;还用于当接收到配置更新命令后,重新读取所有所述配置数据到内部存储器;及消息处理模块,用于通过所述数据通讯模块接收所述Diameter客户端发送的Diameter消息;对所述Diameter消息进行解析,得到相应的消息类型、应答包的内容;并根据所述消息类型进行不同的处理:
当所述Diameter消息为能力交换请求消息时,根据所述配置数据组成能力交换应答包,并记录日志;
当所述Diameter消息为设备监控请求消息时,根据所述配置数据组成设备监控应答包,并记录日志;
当所述Diameter消息为拆除对等端连接请求消息时,中断与所述Diameter客户端的通信连接,并记录日志;
当所述Diameter消息为信用控制请求消息时,解析所述信用控制请求消息中的关键字段,并根据所述应答包的内容从所述配置管理模块取出相应的配置数据,组包后发送至所述Diameter客户端。
6.根据权利要求5所述的模拟Diameter服务器端的装置,其特征在于,所述配置管理模块又包括:
内部存储器,用于存储所述配置数据和用户数据;
所述配置数据为配置文件中的不同消息类型的所述Diameter消息的配置数据;所述用户数据为用户基本信息。
7.根据权利要求5所述的模拟Diameter服务器端的装置,其特征在于,所述消息处理模块还包括:
消息适配器,用于对所述Diameter消息进行适配、校验、分拣,得到对应的消息类型;
消息解析器,用于根据消息类型对所述Diameter消息进行解析确定所述应答包的内容;及
消息组包模块,用于根据所述应答包的内容从所述配置管理模块取出相应的配置数据并进行组包。
8.根据权利要求5、6或7所述的模拟Diameter服务器端的装置,其特征在于,还包括:
日志处理模块,用于记录所述消息处理模块在消息处理过程中的来往日志,并通过日志查看所述消息处理模块接收及发送的消息的属性值对AVP值、码流,以供功能测试使用;
和/或
命令行功能模块,用于提供命令行方式,通过命令行对所述配置管理模块、所述消息处理模块完成相应的操作处理。
9.根据权利要求5、6或7所述的模拟Diameter服务器端的装置,其特征在于,所述数据通讯模块以一对多或多对多的连接方式实现所述装置与所述Diameter客户端之间的通信连接。

说明书全文

一种模拟Diameter服务器端的方法及其装置

技术领域

[0001] 本发明涉及工程应用过程中对于Diameter协议客户端的一种测量方法,特别是涉及一种模拟Diameter服务器端的方法及其装置。

背景技术

[0002] Diameter(直径)系列协议是新一代的AAA(Authentication、Authorization、Accounting,认证、授权、计费)技术。Diameter协议是指RADIUS(半径)协议的升级,包含基础协议、传送协议、不同的应用扩展,如NASREQ和移动IP等。Diameter协议的设计目的是创建一个能够充分满足目前乃至今后IP网络(包括NGN及3G等等)用户访问控制要求的AAA协议。所有应用和服务共用的基本功能都在Diameter基础协议中实现,而应用特定的功能则会在不同的应用中实施。
[0003] Diameter基础协议旨在提供一个AAA框架,以用于各种应用。Diameter基础协议还定义了所有Diameter应用使用的,并且所有Diameter设备都必须支持的消息格式、传输、差错报告和安全服务。
[0004] 目前国内外很多厂家都已经或正在推广Diameter协议的应用,比如在线计费系统OCS(Online Charging System)的推广实施。
[0005] 在Diameter协议的工程应用中,Diameter设备的两端往往由不同的供应商来实施,在集成测试之前需要各自的设备进行功能和性能的测试和衡量。

发明内容

[0006] 本发明所要解决的技术问题在于提供一种模拟Diameter服务器端的方法及其装置,用于通过配置适配的Diameter服务器端的功能及性能测试桩完成对Diameter客户端的功能测试和性能指标衡量。
[0007] 为了实现上述目的,本发明提供了一种模拟Diameter服务器端的方法,用于对Diameter客户端的功能和性能进行测试,其特征在于,包括:
[0008] 配置管理步骤,用于根据所述Diameter客户端需要返回的消息进行配置,得到配置数据;
[0009] 消息处理步骤,用于接收所述Diameter客户端发送的Diameter消息;对所述Diameter消息进行解析,得到相应的消息类型、应答包的内容;并根据所述消息类型进行不同的处理:
[0010] 当所述Diameter消息为能交换请求消息时,根据所述配置数据组成能力交换应答包,并记录日志;
[0011] 当所述Diameter消息为设备监控请求消息时,根据所述配置数据组成设备监控应答包,并记录日志;
[0012] 当所述Diameter消息为拆除对等端连接请求消息时,中断与所述Diameter客户端的通信连接,并记录日志;
[0013] 当所述Diameter消息为信用控制请求消息时,解析所述信用控制请求消息中的关键字段,并根据所述应答包的内容取出相应的配置数据,组包后发送至所述Diameter客户端。
[0014] 所述的模拟Diameter服务器端的方法,其中,所述配置管理步骤中,进一步包括:
[0015] 当接收到配置更新命令后,重新读取所有所述配置数据到内部存储器的步骤。
[0016] 所述的模拟Diameter服务器端的方法,其中,所述消息处理步骤中,所述Diameter消息的消息类型包括能力交换请求消息、设备监控请求消息、拆除对等端连接请求消息、中断会话应答消息、信用控制请求消息中的一种或多种。
[0017] 所述的模拟Diameter服务器端的方法,其中,所述消息处理步骤中,进一步包括:
[0018] 当所述Diameter消息为信用控制请求消息时,进一步判断是否需要根据所述信用控制请求消息进行逻辑处理的步骤;具体判断过程为:
[0019] 判定是否有业务逻辑,当存在业务逻辑时进行相应的逻辑处理,否则不进行逻辑处理。
[0020] 所述的模拟Diameter服务器端的方法,其中,所述消息处理步骤中,进一步包括:
[0021] 当判断不需要进行逻辑处理时,根据所述关键字段确定所述应答包的内容,并根据所述应答包的内容取出相应的配置数据,根据该配置数据组包,记录日志;否则根据所述内部存储器中的用户信息进行逻辑处理。
[0022] 为了实现上述目的,本发明提供了一种模拟Diameter服务器端的装置,用于对Diameter客户端的功能和性能进行测试,其特征在于,包括:
[0023] 数据通讯模,负责所述装置与所述Diameter客户端之间的通信连接;
[0024] 配置管理模块,用于根据所述Diameter客户端需要返回的消息进行配置,得到配置数据;还用于当接收到配置更新命令后,重新读取所有所述配置数据到内部存储器;及[0025] 消息处理模块,用于通过所述数据通讯模块接收所述Diameter客户端发送的Diameter消息;对所述Diameter消息进行解析,得到相应的消息类型、应答包的内容;并根据所述消息类型进行不同的处理:
[0026] 当所述Diameter消息为能力交换请求消息时,根据所述配置数据组成能力交换应答包,并记录日志;
[0027] 当所述Diameter消息为设备监控请求消息时,根据所述配置数据组成设备监控应答包,并记录日志;
[0028] 当所述Diameter消息为拆除对等端连接请求消息时,中断与所述Diameter客户端的通信连接,并记录日志;
[0029] 当所述Diameter消息为信用控制请求消息时,解析所述信用控制请求消息中的关键字段,并根据所述应答包的内容从所述配置管理模块取出相应的配置数据,组包后发送至所述Diameter客户端。
[0030] 所述的模拟Diameter服务器端的装置,其中,所述配置管理模块又包括:
[0031] 内部存储器,用于存储所述配置数据和用户数据;
[0032] 所述配置数据为配置文件中的不同消息类型的所述Diameter消息的配置数据;所述用户数据为用户基本信息。
[0033] 所述的模拟Diameter服务器端的装置,其中,所述消息处理模块还包括:
[0034] 消息适配器,用于对所述Diameter消息进行适配、校验、分拣,得到对应的消息类型;
[0035] 消息解析器,用于根据消息类型对所述Diameter消息进行解析确定所述应答包的内容;及
[0036] 消息组包模块,用于根据所述应答包的内容从所述配置管理模块取出相应的配置数据并进行组包。
[0037] 所述的模拟Diameter服务器端的装置,其中,还包括:
[0038] 日志处理模块,用于记录所述消息处理模块在消息处理过程中的来往日志,并通过日志查看所述消息处理模块接收及发送的消息的属性值对AVP值、码流,以供功能测试使用;和/或
[0039] 命令行功能模块,用于提供命令行方式,通过命令行对所述配置管理模块、所述消息处理模块完成相应的操作处理。
[0040] 所述的模拟Diameter服务器端的装置,其中,所述数据通讯模块以一对多或多对多的连接方式实现所述装置与所述Diameter客户端之间的通信连接。
[0041] 本发明的有益技术效果:
[0042] 与现有技术相比较,本发明通过配置适配的Diameter服务器端的功能及性能测试桩完成了对Diameter客户端的功能测试和性能指标的衡量,不需要把响应消息内容写在代码中,提供一个应答消息的模版,消息内容可以根据需要灵活配置。另外对于CCR消息的某些字段可以通过配置来决定是否直接返回配置内容,或者根据载入内存的用户信息来进行逻辑处理,达到较高程度的仿真。
[0043] 此外,本发明在LINUX(UNIX)下应用时还提供了友好的人机界面,提供自定义人机命令。
[0044] 以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。

附图说明

[0045] 图1是本发明的应用模型示意图;
[0046] 图2是本发明一种模拟Diameter服务器端的装置结构图;
[0047] 图3是本发明一种模拟Diameter服务器端的方法流程图
[0048] 图4是本发明一种模拟Diameter服务器端的主要消息处理流程图。

具体实施方式

[0049] 下面结合附图和具体实施方式对本发明的技术方案作进一步更详细的描述。
[0050] 如图1所示,是本发明的应用模型示意图,该应用模型用于对Diameter服务器端的模拟,主要提供一个消息环路,作为Diameter客户端的功能及性能测试的一个设备。模拟器可以提供一个或者多个同Diameter客户端的连接,支持多线程。Diameter客户端同Diameter服务器端底层采用TCP协议通讯,遵循Diameter应用协议规范。
[0051] 图1中,包括Diameter客户端1~m、Diameter服务器端1~n,其中m、n为自然数。
[0052] Diameter客户端1~m通过TCP协议与Diameter服务器端1~n连接,采用TCP协议进行通讯。
[0053] 如图2所示,是本发明一种模拟Diameter服务器端的装置结构图。该装置200是模拟Diameter服务器端的模拟器,包括如下单元:数据通讯模块21、消息处理模块22、配置管理模块23,还可包括日志处理模块24、命令行功能模块25。
[0054] 数据通讯模块21,负责与Diameter客户端底层通信的连接,支持多个一对多、多对多的连接;提供底层通讯支撑,负责侦听指定端口,维护底层链路的正常。
[0055] 消息处理模块22,负责对Diameter消息及CCR消息的部分解析,区分消息类型,对某些AVP字段进行解析,确定需要应答的消息类型,然后从内存中取出配置数据组包;具体包括:
[0056] 消息适配器221,对接收到的消息进行适配,负责消息校验,消息分拣;
[0057] 消息解析器222,对Diameter消息根据Diameter客户端测试需要对部分字段进行解析,解析的字段为关键字段,通过解析的字段可以确定应答包的内容,另一方面也为后续可能的逻辑处理准备数据;
[0058] 消息组包223,负责取出内存中的配置数据,并进行组包。
[0059] 区分的消息类型包括:CER消息、DWR消息、DPR消息、ASA消息、CCR消息。
[0060] CER(Capabilities-Exchange-Request)指能力交换请求;
[0061] DWR(Device-Watchdog-Request)指设备监控请求;
[0062] DPR(Disconnect-Peer-Request)指拆除对等端连接请求;
[0063] ASA(Abort-Session-Answer)指中断会话应答;
[0064] CCR(Credit-Control-Request)是信用控制请求。
[0065] 需要应答的消息类型包括CEA消息、DWA消息。
[0066] CEA(Capabilities-Exchange-Answer)指能力交换应答;
[0067] DWA(Device-Watchdog-Answer)指设备监控应答。
[0068] 通过CER消息、CEA消息实现对等端的能力交换。
[0069] 当两个对等端之间没有流量交互时,发送DWR消息/DWA消息至对等端;一旦检测到传输差错,则该消息不允许发送至备选对等端。
[0070] 任何服务器通过向提供接入服务的接入设备发送ASA消息,来请求中断Session-Id表示的会话。
[0071] 通过将DPR消息发送至对等端,提示对方自己将关闭传输连接。
[0072] Diameter客户端通过向Diameter服务器端发送CCR消息,比如鉴权计费,该消息由用户自己定义。
[0073] 配置管理模块23,用于根据Diameter客户端需要返回的消息进行配置,即配置各类消息的AVP(Attribute-Value Pairs,属性值对),然后在线更新内存配置,具体包括:
[0074] 用户数据231,主要存放用户基本信息;在处理CCR消息时可以根据这些用户基本信息进行逻辑处理,比如可以模拟用户余额不足、用户不存在等较为真实的情况。用户基本信息可以设在命令行,比如,DiameterStub>generate_card******;
[0075] 配置文件232,负责各种消息的配置数据,在程序启动时装入内部存储器233,或者程序运行过程中通过命令重新加载配置数据,配置的内容如下所示:
[0076] [RAR]
[0077] value_name = Session-Id,Origin-Host,Origin-Realm,Destination-Realm,Destination-Host,Auth-Application-Id
[0078] Session-Id=263,0,OctetString,0,0,1,cc1.zte.com.cn;1876543210;523[0079] Origin-Host=264,0,OctetString,0,0,1,cc1.zte.com.cn[0080] ……
[0081] 格式遵循:AVP Code Flag Type Length Vid Level Value
[0082] 内部存储器233,连接消息组包223,负责存放用户信息、配置数据。
[0083] 日志处理模块24,连接消息处理模块22,负责记录消息处理过程中的来往日志,根据需要可以设定日志级别,通过日志可以查看到接收及发送消息的各个AVP值以及详细消息码流,在功能测试过程中使用。
[0084] 命令行功能模块25,负责提供非Windows平台下的命令行功能,可以通过命令行来维护用户信息、显示消息统计、内存动态装载等一系列功能,且方便扩展。
[0085] 命令行功能模块25在UNIX平台下面可以提供命令行方式,用户可以通过自定义的命令完成系列操作,比如查看各类消息实时统计、对用户信息进行维护、在线更新配置、批量生成用户信息等功能。
[0086] 如图3所示,是本发明一种模拟Diameter服务器端的方法流程图。结合图1、2,该方法流程具体包括如下步骤:
[0087] 配置管理流程31,接收到配置更新的命令后,将重新读取所有配置到内存;对于用户信息,可以在配置文件和内存之间互相转换,即实现配置文件动态装载到内存,同时内存中用户数据可以动态写入配置文件中。
[0088] 消息处理流程32,该流程大体上包括:
[0089] 步骤321,接收来自对端的消息,并对消息进行校验;
[0090] 步骤322,确定消息类型,并根据消息类型进行不同的处理:
[0091] a1)对于CER消息、DWR消息、DPR消息,根据协议规定来完成相应的动作;
[0092] a2)对于CCR消息,根据该请求消息的关键AVP字段,确定需要返回的消息,从而从内部存储器233中找出相应的配置数据,组包并发送响应。
[0093] 步骤323,在消息的入口和消息的出口都可以选择是否打印消息的码流,同时统计消息个数。
[0094] 如图4所示,是本发明一种模拟Diameter服务器端的主要消息处理流程图。结合图1-3,该主要消息处理流程描述如下:
[0095] 步骤401,消息处理接口接收来自Diameter客户端的Diameter消息;
[0096] 步骤402,对接收的消息包头解析;
[0097] 步骤403,判断消息是否为CER消息,如果是转入步骤408,否则转入步骤404;
[0098] 步骤404,判断消息是否为DWR消息,如果是转入步骤409,否则转入步骤405;
[0099] 步骤405,判断消息是否为DPR消息,如果是转入步骤410,否则转入步骤406;
[0100] 步骤406,判断消息是否为ASA消息,如果是转入步骤411,否则转入步骤407;
[0101] 步骤407,判断消息是否是CCR消息,如果是转入步骤412,否则转入步骤416;
[0102] 步骤408,根据Diameter协议组CEA应答包,记录日志;
[0103] 步骤409,根据Diameter协议组DWA应答包,记录日志;
[0104] 步骤410,中断同Diameter客户端连接,并记录日志;
[0105] 步骤411,记录日志,不做其它处理;
[0106] 步骤412,解析CCR消息中的关键AVP字段,为后面组包作准备;
[0107] 步骤413,判断是否需要根据请求消息做逻辑处理,如果是转入步骤414,否则转入步骤415;
[0108] 步骤414,进行简单逻辑处理;
[0109] 步骤415,根据关键AVP字段获取内存中的配置数据进行组包,并记录日志,返回步骤401;
[0110] 步骤416,进行异常消息处理。
[0111] 本发明提供一个模拟Diameter服务器端的方法及装置,在单元测试或者不具备集成测试条件下提供一个测试桩,完成对Diameter客户端的功能测试和性能指标的衡量;该装置作为Diameter服务器端的模拟器,其通过对客户端请求消息的处理及响应,或主动触发部分协议指定的消息,从而实现对Diameter客户端的功能以及性能进行测试。
[0112] 当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈