CN102025699A - 一种Diameter消息的封装、解封装方法和装置 - Google Patents
一种Diameter消息的封装、解封装方法和装置 Download PDFInfo
- Publication number
- CN102025699A CN102025699A CN2009101739467A CN200910173946A CN102025699A CN 102025699 A CN102025699 A CN 102025699A CN 2009101739467 A CN2009101739467 A CN 2009101739467A CN 200910173946 A CN200910173946 A CN 200910173946A CN 102025699 A CN102025699 A CN 102025699A
- Authority
- CN
- China
- Prior art keywords
- diameter
- avp
- data
- message
- creating
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 57
- 238000005538 encapsulation Methods 0.000 claims description 19
- 238000000605 extraction Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 19
- 238000012423 maintenance Methods 0.000 abstract description 11
- 238000011161 development Methods 0.000 abstract description 6
- 239000002131 composite material Substances 0.000 description 11
- 238000010586 diagram Methods 0.000 description 7
- 230000003993 interaction Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例公开了一种Diameter消息封装、解封装方法和装置,其中封装方法包括:根据业务应用所提供数据信息创建Diameter对象,其中,所述Diameter对象的数据域部分包括多个Diameter AVP对象,所述DiameterAVP对象的数据域部分包括所述业务应用所提供的所述数据信息;提取所述Diameter对象的头域和数据域,组成Diameter消息;而在解封装阶段,提取所接收到的Diameter消息的消息头和数据部分,分别组成Diameter对象的头域和数据域;根据所述Diameter对象的数据域获取Diameter AVP对象。本发明实施例所提供的技术方案,通过将不同业务应用的数据信息以统一的根式进行封装、解封装,可以有效减少接口的开发量和后续的维护工作,并相应降低在接口维护过程中其他业务应用所受影响。
Description
技术领域
本发明涉及通信技术领域,更具体地说,涉及一种Diameter消息的封装、解封装方法和装置。
背景技术
Diameter协议是由互联网工程任务组(IETF,Internet Engineering Task Force)开发的认证(Authentication)、授权(Authorization)和计费(Accounting)的AAA协议,用来给众多的接入技术提供AAA服务。
Diameter协议由两部分组成:Diameter基本协议和Diameter应用协议。Diameter基本协议用来传递Diameter数据单元、协商能力集、处理错误并提供可扩展性。Diameter应用协议部分则定义了特定应用的功能和数据单元,并且每个Diameter应用都具有单独定义。
Diameter基本协议可以使用传输控制协议(TCP,Transmission Control Protocol)或者流控制传输协议(SCTP,Stream Control Transmission Protocol)作为传输协议。Diameter应用协议在Diameter基本协议的基础上进行了扩展,以完成特定的接入应用业务。
而目前,由于Diameter应用协议的多样性,在对Diameter进行应用的过程中,需要为不同的Diameter应用协议提供对应的接口,使这些接口为对应的Diameter应用协议提供特定的编解码功能。例如:在在线计费应用中,电信智能网业务平台上的业务控制点(SCP,Service Control Point)上承载着多种电信业务,而对端的在线计费系统(OCS,Online Charging System)提供在线计费功能。通过在电信智能网业务平台和在线计费系统之间进行Diameter消息的交互,完成计费事务。
在实现本发明的过程中,发明人发现现有技术存在如下问题:由于SCP一般针对一种Diameter应用协议提供一套接口,而Diameter协议编解码功能是强应用相关的,同时SCP上可能承载多种不同的业务,并且每种业务可能用不同的应用协议与OCS进行交互,这样就必须提供多套接口,并相应需要开发大量的接口。
发明内容
有鉴于此,本发明实施例提供一种Diameter消息封装、解封装方法和装置,可以有效减少Diameter消息接口的开发和维护的工作量。
本发明实施例是这样实现的:
本发明实施例提供了一种Diameter消息封装方法,包括:
根据业务应用所提供数据信息创建Diameter对象,其中,所述Diameter对象的数据域包括多个Diameter AVP对象,所述Diameter AVP对象的数据域包括所述业务应用所提供的所述数据信息;
提取所述Diameter对象的头域和数据域,组成Diameter消息。
本发明实施例提供了一种Diameter消息解封装方法,包括:
提取所接收到的Diameter消息的消息头和数据部分,分别组成Diameter对象的头域和数据域;
根据所述Diameter对象的数据域获取Diameter AVP对象。
本发明实施例提供了一种Diameter消息封装平台,包括:
Diameter对象创建单元,用于根据业务应用所提供的数据信息创建Diameter对象;
Diameter消息组成单元,用于提取所创建的Diameter对象的头域和数据域,组成Diameter消息。
本发明实施例提供了一种Diameter消息解封装平台,包括:
Diameter对象获取单元,用于根据所接收到的Diameter消息的消息头和数据部分,分别组成Diameter对象的头域和数据域;
Diameter AVP对象获取单元,用于根据所述Diameter对象的数据域获取Diameter AVP对象。
与现有技术相比,本发明实施例提供的技术方案具有以下优点和特点:本发明实施例所提供的技术方案,通过将不同业务应用的数据信息以统一的封装格式进行封装,生成通用的Diameter消息,以供与对端平台进行信息交互;而当接收到对端平台发送的Diameter消息后,还可以将该Diameter消息以预先规定的格式进行解封装,获取不同业务应用的数据信息。本发明实施例所提供的技术方案可以有效减少接口的开发量和后续的维护工作,并相应降低在接口维护过程中其他业务应用所受影响。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例所涉及的一种Diameter消息封装方法流程图;
图2为本发明实施例所涉及的一种Diameter消息解封装方法流程图;
图3为本发明实施例所涉及的一种Diameter消息封装平台结构示意图;
图4为本发明实施例所涉及的一种Diameter消息封装平台中某一单元的结构示意图;
图5为本发明实施例所涉及的一种Diameter消息封装平台中另一单元的结构示意图;
图6为本发明实施例所涉及的一种Diameter消息解封装平台结构示意图;
图7为本发明实施例所涉及的另一种Diameter消息封装方法流程图;
图8为本发明实施例所涉及的另一种Diameter消息解封装方法流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种Diameter消息封装方法,该方法具体流程如图1所示,包括:
S101:根据业务应用所提供数据信息创建Diameter对象,其中,所述Diameter对象的数据域包括多个Diameter属性值对(AVP,Attribute-Length-Value Pair)对象,Diameter AVP对象的数据域包括业务应用所提供的数据信息;
在S101中,由于Diameter对象的数据域由多个Diameter AVP对象所构成,因此,在创建Diameter对象的过程中,可以首先创建Diameter AVP对象,根据所创建的Diameter AVP对象生成Diameter对象;当然也可以采用首先创建Diameter对象,再创建Diameter AVP对象,并将创建完成的Diameter AVP对象填充至Diameter对象的数据域部分。
其中,对于前面所述的两种方法中的第一种,可以具体为:
由于Diameter对象的数据域中包括Diameter AVP对象,因此,可以首先进行Diameter AVP对象的创建,并根据创建后的Diameter AVP对象进行Diameter对象的创建。其中。在进行Diameter AVP对象的创建时,需要首先提取业务应用所提供的各种数据信息,例如,在进行用户的认证业务时,所提供的数据信息可能会包括用户的标识信息;而在进行计费服务时,所提供的数据信息可能会包括用户的标识信息、资费标准等。在提取业务应用所提供的各种数据信息后,根据所提取的数据信息构建对应Diameter AVP对象的数据域,并根据所生成的Diameter AVP对象的数据域构建对应Diameter AVP对象的头域,从而实现创建一个完整的Diameter AVP对象。另外,在创建Diameter AVP对象时,由于业务应用所提供的数据信息之间有可能存在的是并列的关系,并且该数据信息中不包括其他子信息,例如在某用户的一次计费过程中所提供的用户标识信息、通话时长信息以及资费信息等,在这种情况下所创建的Diameter AVP对象可称为原子型Diameter AVP对象。同时,还存在另外一种情况,也就是说,业务应用所提供的数据信息中仍包含子信息,这样,在创建Diameter AVP对象时,就需要首先提取业务应用中所提供的最小单元信息,将该信息首先创建为对应的底层Diameter AVP对象,之后,再将这些创建好的底层Diameter AVP对象进行组合,生成上层底层Diameter AVP对象,在此,将这种Diameter AVP对象称为复合型Diameter AVP对象。
在创建Diameter AVP对象完成后,利用所创建的Diameter AVP对象组成Diameter对象的数据域,根据所组成的Diameter对象的数据域,生成对应的Diameter对象的头域,最终创建Diameter对象。
而对于前面所述的两种方法中的第二种,可以具体为:
首先进行Diameter对象的创建,之后再进行Diameter AVP对象的创建。此时,需要预估业务应用的业务量,并根据该业务量首先申请一定量的内存,并根据所申请到的内存,确定Diameter对象的头域和数据域。
在创建Diameter对象完成之后,进行Diameter AVP对象的创建,该创建过程同前面所述Diameter AVP的创建方法相同,在此不做赘述。之后,将创建完成的Diameter AVP对象填充至Diameter对象的数据域中即可。
S102:提取所述Diameter对象的头域和数据域,组成Diameter消息。
本发明实施例所提供的一种Diameter消息封装方法,该方法通过将不同业务应用的数据信息以统一的封装格式进行封装,生成通用的Diameter消息,以供与对端平台进行信息交互。本发明实施例所提供的技术方案可以有效减少接口的开发量和后续的维护工作,并相应降低在接口维护过程中其他业务应用所受影响。
本发明实施例提供了一种Diameter消息解封装方法,该方法具体流程如图2所示,包括:
S201:提取所接收到的Diameter消息的消息头和数据部分,分别组成Diameter对象的头域和数据域;
在S201中,在接收到对端平台发送的Diameter消息后,提取该Diameter消息的头部,构成Diameter对象的头域;提取该Diameter消息的数据部分,即构成Diameter对象的数据域。
S202:根据所述Diameter对象的数据域获取Diameter AVP对象。
在S202中,在获取Diameter对象之后,要对其数据域中所包括的Diameter AVP对象进行获取,在获取过程中,由于Diameter AVP对象有可能是原子型的,也有可能是复合型的,因此,在完成对顶层Diameter AVP对象的获取之后,还需要检查该Diameter AVP对象是否还对应有下层Diameter AVP对象,如果有,则需要对下层Diameter AVP对象进行获取,直至获取全部Diameter AVP对象。有前面所述封装过程可以得知,由于Diameter AVP对象中包括业务应用基本数据信息,因此,将所获取的Diameter AVP对象中所包括的各种进行按照所归属的业务应用进行处理。
本发明实施例所提供的一种Diameter消息解封装方法,该方法通过将所接收到的Diameter消息以预先规定的格式进行解封装,以获取不同业务应用的数据信息。本发明实施例所提供的技术方案可以有效减少接口的开发量和后续的维护工作,并相应降低在接口维护过程中其他业务应用所受影响。
相应地,本发明实施例还提供了一种Diameter消息封装平台,该装置结构如图3所示,包括:
Diameter对象创建单元301,用于根据业务应用所提供的数据信息创建Diameter对象;
Diameter消息组成单元302,用于提取所创建的Diameter对象的头域和数据域,组成Diameter消息。
其中,对于Diameter对象创建单元301,还可根据Diameter对象创建方式的不同做进一步划分,可包括如图4所述结构:
第一提取子单元401,用于提取所述业务应用所提供的数据信息;
Diameter AVP对象创建子单元402,用于根据所述数据信息创建Diameter AVP对象;
Diameter对象创建子单元403,用于利用所述Diameter AVP对象组成所述Diameter对象的数据域,根据所组成的Diameter对象的数据域,生成对应的Diameter对象的头域,并利用所述Diameter对象的数据域和头域创建生成所述Diameter对象。
除此以外,还可包括如图5所示结构:
Diameter对象创建子单元501,用于预先申请一定量内存,根据所申请内存生成所述Diameter对象;
第二提取子单元502,用于提取所述业务应用所提供的数据信息;
Diameter AVP对象创建子单元503,用于根据所述数据信息创建Diameter AVP对象,并将所述Diameter AVP对象填充至所述Diameter对象的数据域中。
本发明实施例所提供的一种Diameter消息封装平台,该装置通过将不同业务应用的数据信息以统一的封装格式进行封装,生成通用的Diameter消息,以供与对端平台进行信息交互。本发明实施例所提供的技术方案可以有效减少接口的开发量和后续的维护工作,并相应降低在接口维护过程中其他业务应用所受影响。
另外,本发明实施例还提供了一种Diameter消息解封装平台,该装置结构如图6所示,包括:
Diameter对象获取单元601,用于根据所接收到的Diameter消息的消息头和数据部分,分别组成Diameter对象的头域和数据域;
Diameter AVP对象获取单元602,用于根据所述Diameter对象的数据域获取Diameter AVP对象。
本发明实施例所提供的一种Diameter消息解封装平台,该装置通过将所接收到的Diameter消息以预先规定的格式进行解封装,以获取不同业务应用的数据信息。本发明实施例所提供的技术方案可以有效减少接口的开发量和后续的维护工作,并相应降低在接口维护过程中其他业务应用所受影响。
结合上述方法、系统、装置和具体用应场景,对本发明所涉及的技术方案做进一步介绍,目前,运营商为了减小运营成本以及提高设备的利用率,通常将多个电信业务加载于一个SCP上,而该SCP可以根据具体的业务应用通过向不同的平台进行信息交互为用户提供相应的服务。在本实施例中,以电信业务中的计费业务为例对本发明所涉及的技术方案做一个较为详细的介绍。具体步骤如图7所示:
步骤701:SCP上的某电信业务向通用软件开发工具包(SDK,Software Development Kit)提供计费数据信息;
在步骤701中,SCP上的某电信业务需要进行计费活动,此时,该业务应用需要向该SCP上的通用接口提供进行计费活动所需的相关数据,例如,该业务中所要计费的用户的标识信息、该业务的资费标准以及业务时长等信息。
需要说明的是,此处所提到的通用SDK,是指该SDK可以将同一SCP上所承载的不同业务应用所提供的数据信息按照统一的格式进行封装,以生成通用的Diameter消息。
步骤702:通用SDK根据该电信业务所提供的数据信息创建相应的Diameter AVP对象;
Diameter AVP对象存在原子型和复合型两种形式,其中,原子型Diameter AVP对象是指该Diameter AVP对象已不可进一步划分,并且各个Diameter AVP之间的关系为并列关系;以一次短信计费为例,某一Diameter AVP对象中包含的是用户的标识信息,而另一Diameter AVP对象中包含的是该条短信的资费标准,由此可以看出,该两个Diameter AVP对象已不可再进一步划分。而复合型Diameter AVP对象则是各个Diameter AVP对象以分层的形式存在,位于上层的Diameter AVP对象可以划分为多个下层Diameter AVP对象,以某用户一个月的电话计费为例,在上层的某一Diameter AVP对象中可包含该用户的标识信息,另一上层Diameter AVP对象中可包含此次计费的业务类型——电话业务,而在该Diameter AVP对象还可进行进一步划分,由于电话业务可包括长途电话业务或本地电话业务,因此,下层Diameter AVP对象中可分别包含长途电话业务的资费标准和本地电话业务的资费标准。
需要说明的是,无论是原子型Diameter AVP对象还是复合型Diameter AVP对象,均包括头域和数据域。其中,头域部分包括AVP码,该AVP码结合Vendor-ID,可构成该Diameter AVP对象的唯一标识,通常位于所创建的Diameter AVP对象的前4个字节;两外,头域部分还可包括消息标志位,位于所创建的Diameter AVP对象的第5字节,对于信息标志位,通常有V、M或P三个标识,其中V表示Vendor-ID有效、M表示该AVP必选、P表示需要进行端对端加密;除此以外,头域部分还可包括该Diameter AVP对象的长度以及发行商标识等信息。
由于Diameter AVP对象包括原子型和复合型两种,对于原子型Diameter AVP对象来说,通用SDK可以根据所要进行的业务中所提供的数据直接采用设置AVP值的方式来设置Diameter AVP对象内容。而对于复合型Diameter AVP对象来说,则需要逐层创建,即首先创建下层Diameter AVP对象,在完成下层Diameter AVP对象的创建工作后,通用SDK调用Append AVP List将该层所创建好的Diameter AVP对象加入到列表中,形成集合,然后利用集合中Diameter AVP对象的头域和数据域分别填充至对应的上层Diameter AVP对象的头域和数据以形成上层对应Diameter AVP对象。
步骤703:通用SDK根据创建完成的Diameter AVP对象创建Diameter对象;
在步骤703中,Diameter对象同样包括头域和数据域两部分,其中,数据域部分包括所创建的Diameter AVP对象的内容,由于Diameter AVP有原子型和复合型两种,如果所创建的Diameter AVP对象为原子型,则Diameter对象的数据域部分需要包括所有创建完成的Diameter AVP对象;而如果所创建的Diameter AVP对象为复合型,则Diameter对象的数据域部分只需要包括所有最上层Diameter AVP对象即可。
需要说明的是,由于一个Diameter对象可能包括多个Diameter AVP对象,因此在Diameter对象的数据域部分,每个Diameter AVP对象以首尾相接的方式存在,并且还可以根据Diameter AVP对象的长度动态改变Diameter对象的长度。
除了上述的数据域部分外,Diameter对象还包括携带有各种标识信息的头域部分,例如:版本信息,通常情况位于Diameter对象头域的第1个字节;信息长度,该信息位于Diameter对象头域第2-4个字节;消息标志位,相应地位于Diameter对象头域的第5个字节;消息命令码,位于Diameter对象头域的第6-8个字节,应用标识,位于Diameter对象头域的9-12个字节;除此以外,还包括匹配请求和相应以及检测重复消息标识等信息。
需要说明的是,在本发明实施例中,是首先创建Diameter AVP对象,并根据创建完成之后的Diameter AVP对象来创建Diameter对象。除了该种方法外,还可以首先进行Diameter对象的创建,之后再进行Diameter AVP对象的创建,下面将该方法做相应说明:此时通用SDK需要对业务应用所提供的数据量进行一个预估,并根据预估的结果申请一定量的内存,在申请到相应的内存之后,确定所创建的Diameter对象的头域和数据域。由于Diameter对象的数据域中应该包括的是多个Diameter AVP对象,因此,需要进行Diameter AVP对象的创建,此处对于Diameter AVP对象的创建与前面所述的方法相同,均是通过业务应用所提供的相应数据来进行创建,此处就不再做赘述。在利用这种方法进行Diameter对象的创建时,需要说明的是,由于在进行内存的申请时,是根据预估的业务数据量来进行申请的,因此,在遇到所申请的内存不够的情况时,通用SDK还可以根据实际需要进行内存的动态申请。
步骤704:通用SDK提取所创建的Diameter对象的头域和数据域,形成Diameter消息流。
在步骤704中,由于在创建Diameter对象的过程中,通用SDK均是按照统一的格式将不同业务的数据内容进行封装,例如创建生成的Diameter对象的头域和数据域所包括的信息内容以及各部分的字节长度等均有一定的标准和顺序,因此,在进行Diameter消息流的创建时,只需要将Diameter对象的头域部分和数据域部分进行提取即可。
步骤705:SCP将所生成的Diameter消息流发送至计费平台。
在步骤705中,在通用SDK将Diameter消息封装生成之后,SCP将生成的Diameter消息流利用可以识别Diameter消息的通信组件发送至对端的计费平台,使计费平台根据该Diameter消息流中所携带的信息进行对应业务的计费。
至此,SCP通过通用SDK将不同应用业务的数据进行封装转化为统一格式的Diameter消息的过程已全部结束。本实施例是通过将一个SCP上的业务应用所提供的数据信息以统一的格式进行封装,生成相应的Diameter消息,以用于进行相关业务。
如前面所述,一个SCP上很可能承载这多个业务应用,而当该SCP接收到某个对端平台发送的Diameter消息后,仍然需要利用通用SDK进行对该消息的解封装,并将解封装后的业务数据发送至对应的业务应用。其中,仍以上以实施例中所提供的计费业务为例,对本发明所提供的技术方案做相应介绍:
步骤801:SCP接收计费平台发送的Diameter消息流;
在步骤801中,SCP利用可以识别Diameter消息的通信组件接收到计费平台发送的Diameter消息,并执行步骤802。
步骤802:通用SDK将SCP所接收到的Diameter消息流转化为对应的Diameter对象;
在步骤802中,SCP在接收到计费平台返回的计费请求消息的反馈信息之后,需要通过通用SDK将该消息转化为对应的Diameter对象,在转化过程中,只需要将所接收到的Diameter反馈消息的消息头提取至Diameter对象的头域部分,而将消息的数据部分提取至Diameter对象的数据域即可。
步骤803:通用SDK获取Diameter对象中的Diameter AVP对象;
在步骤803中,在通用SDK将所接收到的Diameter消息转化为Diameter对象之后,有前面所述的封装过程可以得知,Diameter对象的数据域部分所包括的信息即为各个Diameter AVP对象,而由于Diameter AVP对象包括原子型和复合型两种,因此,在进行Diameter AVP对象的获取时,SDK通过Get AVP List方法首先获取顶层所有Diameter AVP对象内容,如果该Diameter对象中的Diameter AVP对象为原子型,则进行到该步骤就可获取全部的Diameter AVP对象;如果该Diameter对象中的Diameter AVP对象为复合型,则还需要对其他的Diameter AVP对象进行逐层获取,直至全部获取。
步骤804:通用SDK根据所获取的Diameter AVP对象进行业务应用数据信息的提取。
在步骤804中,由前面所述相关内容可以得知,Diameter AVP对象中所包含的内容为各种业务应用的具体数据信息,例如所进行业务的业务标识信息、用户的标识信息,结合本实施例中的计费业务,还包括各项通信业务的资费标识等。那么在计费平台所发送的Diameter消息中,所获取的Diameter AVP对象中相应包含所进行业务的业务标识信息、用户的标识信息以及计费结果信息等。
因此,在进行Diameter消息中数据信息的提取时,只需要逐个提取Diameter AVP对象中的数据域即可,之后执行步骤805。
步骤805:通用软件开发工具包SDK将所提取的业务应用的数据信息发送至对应业务应用。
在步骤805中,由于通用SDK已将该SCP所接收到的Diameter消息中所包含的业务数据信息进行了提取,因此可以根据所获取的数据信息找到对应的业务应用,并将该数据信息发送至对应的业务应用上。
在上两个实施例中,分别介绍了多业务SCP如何通过通用的SDK进行Diameter消息的封装和解封装。在实际应用过程中,由于多业务SCP可能会在一定情况下成为服务器端设备,例如接收用户的认证请求等业务;而在一定情况下也会成为客户端设备,例如向计费平台发送计费请求等。无论属于哪种情况,多业务SCP通过通用SDK对业务数据信息封装生成Diameter消息和对Diameter消息解封装生成业务数据信息的方式和过程并没有区别。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM(Read-Only Memory,只读存储记忆体)、RAM(Random Access Memory,随机存储记忆体)、磁碟或者光盘等各种可以存储程序代码的介质。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (11)
1.一种Diameter消息封装方法,其特征在于,包括:
根据业务应用所提供数据信息创建Diameter对象,其中,所述Diameter对象的数据域包括多个Diameter AVP对象,所述Diameter AVP对象的数据域包括所述业务应用所提供的所述数据信息;
提取所述Diameter对象的头域和数据域,组成Diameter消息。
2.根据权利要求1所述的方法,其特征在于,所述根据业务应用所提供的数据信息创建Diameter对象,包括:
提取所述业务应用所提供的数据信息;
根据所述数据信息创建Diameter AVP对象;
利用所述Diameter AVP对象组成所述Diameter对象的数据域,根据所组成的Diameter对象的数据域,生成对应的Diameter对象的头域,并利用所述Diameter对象的数据域和头域创建生成所述Diameter对象。
3.根据权利要求1所述的方法,其特征在于,所述根据业务用所提供数据信息创建Diameter对象,包括:
预先申请一定量内存,根据所申请内存生成所述Diameter对象,所述Diameter对象包括头域和数据域;
提取所述业务应用所提供的数据信息;
根据所述数据信息创建Diameter AVP对象;
将所述Diameter AVP对象填充至所述Diameter对象的数据域中。
4.根据权利要求2或3所述的方法,其特征在于,所述根据所述数据信息创建Diameter AVP对象,包括:
利用所述数据信息构成所述Diameter AVP对象的数据域;
根据所生成的Diameter AVP对象的数据域构建对应Diameter AVP对象的头域。
5.根据权利要求2或3所述的方法,其特征在于,所述根据所述数据信息创建对应的Diameter AVP对象,包括:
利用所述数据信息构成底层Diameter AVP对象的数据域;
根据所生成的底层Diameter AVP对象的数据域构建对应底层Diameter AVP对象的头域;
根据所述数据信息创建对应的底层Diameter AVP对象;
根据所述将所述底层Diameter AVP对象创建上层Diameter AVP对象。
6.一种Diameter消息解封装方法,其特征在于,包括:
提取所接收到的Diameter消息的消息头和数据部分,分别组成Diameter对象的头域和数据域;
根据所述Diameter对象的数据域获取Diameter AVP对象。
7.根据权利要求6所述的方法,其特征在于,所述根据所述Diameter对象的数据域获取Diameter AVP对象,包括:
提取所述Diameter对象的数据域内容,解析出其中所包括的Diameter AVP对象。
8.根据权利要求6所述的方法,其特征在于,所述根据所述Diameter对象的数据域获取Diameter AVP对象,包括:
提取所述Diameter对象的数据域内容,解析出其中所包括的最上层Diameter AVP对象,根据所述最上层Diameter AVP对象解析出对应的下层Diameter AVP对象。
9.一种Diameter消息封装平台,其特征在于,包括:
Diameter对象创建单元,用于根据业务应用所提供的数据信息创建Diameter对象;
Diameter消息组成单元,用于提取所创建的Diameter对象的头域和数据域,组成Diameter消息。
10.根据权利要求9所述的Diameter消息封装平台,其特征在于,所述Diameter对象创建单元包括:
第一提取子单元,用于提取所述业务应用所提供的数据信息;
Diameter AVP对象创建子单元,用于根据所述数据信息创建Diameter AVP对象;
Diameter对象创建子单元,用于利用所述Diameter AVP对象组成所述Diameter对象的数据域,根据所组成的Diameter对象的数据域,生成对应的Diameter对象的头域,并利用所述Diameter对象的数据域和头域创建生成所述Diameter对象;或者,
Diameter对象创建子单元,用于预先申请一定量内存,根据所申请内存生成所述Diameter对象;
第二提取子单元,用于提取所述业务应用所提供的数据信息;
Diameter AVP对象创建子单元,用于根据所述数据信息创建Diameter AVP对象,并将所述Diameter AVP对象填充至所述Diameter对象的数据域中。
11.一种Diameter消息解封装平台,其特征在于,包括:
Diameter对象获取单元,用于根据所接收到的Diameter消息的消息头和数据部分,分别组成Diameter对象的头域和数据域;
Diameter AVP对象获取单元,用于根据所述Diameter对象的数据域获取Diameter AVP对象。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101739467A CN102025699A (zh) | 2009-09-22 | 2009-09-22 | 一种Diameter消息的封装、解封装方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101739467A CN102025699A (zh) | 2009-09-22 | 2009-09-22 | 一种Diameter消息的封装、解封装方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102025699A true CN102025699A (zh) | 2011-04-20 |
Family
ID=43866561
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009101739467A Pending CN102025699A (zh) | 2009-09-22 | 2009-09-22 | 一种Diameter消息的封装、解封装方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102025699A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014177068A1 (zh) * | 2013-11-05 | 2014-11-06 | 中兴通讯股份有限公司 | 一种与在线计费系统的交互方法、装置及服务器 |
CN104660548A (zh) * | 2013-11-19 | 2015-05-27 | 北京信威通信技术股份有限公司 | diameter消息解析方法及装置 |
CN107729162A (zh) * | 2017-09-30 | 2018-02-23 | 北京小米移动软件有限公司 | 应用程序请求的处理方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101001159A (zh) * | 2006-12-30 | 2007-07-18 | 华为技术有限公司 | 一种解码方法和解码器 |
CN101252788A (zh) * | 2008-04-11 | 2008-08-27 | 北京首信科技有限公司 | 支持RADIUS协议的Diameter-AAA服务器及其工作方法 |
CN101282228A (zh) * | 2008-03-31 | 2008-10-08 | 华为技术有限公司 | 在线计费的方法、业务控制点、融合计费点和系统 |
-
2009
- 2009-09-22 CN CN2009101739467A patent/CN102025699A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101001159A (zh) * | 2006-12-30 | 2007-07-18 | 华为技术有限公司 | 一种解码方法和解码器 |
CN101282228A (zh) * | 2008-03-31 | 2008-10-08 | 华为技术有限公司 | 在线计费的方法、业务控制点、融合计费点和系统 |
CN101252788A (zh) * | 2008-04-11 | 2008-08-27 | 北京首信科技有限公司 | 支持RADIUS协议的Diameter-AAA服务器及其工作方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014177068A1 (zh) * | 2013-11-05 | 2014-11-06 | 中兴通讯股份有限公司 | 一种与在线计费系统的交互方法、装置及服务器 |
CN104618125A (zh) * | 2013-11-05 | 2015-05-13 | 中兴通讯股份有限公司 | 一种与在线计费系统的交互方法、装置及服务器 |
EP3068092A4 (en) * | 2013-11-05 | 2016-12-07 | Zte Corp | METHOD AND DEVICE FOR INTERACTING WITH ONLINE INVOICING SYSTEM, AND SERVER |
CN104618125B (zh) * | 2013-11-05 | 2019-08-23 | 中兴通讯股份有限公司 | 一种与在线计费系统的交互方法、装置及服务器 |
CN104660548A (zh) * | 2013-11-19 | 2015-05-27 | 北京信威通信技术股份有限公司 | diameter消息解析方法及装置 |
CN104660548B (zh) * | 2013-11-19 | 2018-01-19 | 北京信威通信技术股份有限公司 | diameter消息解析方法及装置 |
CN107729162A (zh) * | 2017-09-30 | 2018-02-23 | 北京小米移动软件有限公司 | 应用程序请求的处理方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110383762B (zh) | 一种实现策略控制的方法、装置和系统 | |
CN101262478A (zh) | 穿越网络地址转换nat的方法和设备 | |
CN107547213B (zh) | 一种业务规则的识别方法及装置 | |
JP5946467B2 (ja) | 電気通信ネットワークにおけるサービスのオーケストレーションのための通信サービスブローカー | |
US10015267B2 (en) | Generic multichannel center for network applications and services | |
CN102609837A (zh) | 基于特定信息与终端号码关联的支付方法和系统 | |
CN101964722A (zh) | 用于通信的方法和系统 | |
CN107483592A (zh) | 一种基于通用前置机的交易处理方法及一种通用前置机 | |
CN107079019A (zh) | 经由运营商网络的基于浏览器服务的认证 | |
CN104160676A (zh) | 对于机器到机器应用的服务质量支持 | |
CN101188505B (zh) | 内容类型识别的方法和设备 | |
US20150304279A1 (en) | Peripheral Interface for Residential laaS | |
WO2014139270A1 (zh) | 智能业务系统的业务实现方法及装置、智能业务系统 | |
CN110505069A (zh) | 一种生成定制化话单的方法及装置 | |
CN107832161A (zh) | 服务调用方法及装置、存储介质、电子设备 | |
CN104168553B (zh) | 一种业务报文发送和计费方法及装置 | |
CN102025699A (zh) | 一种Diameter消息的封装、解封装方法和装置 | |
CN113840249A (zh) | 区分计费话单的方法、计费网关和系统 | |
CN109962762A (zh) | 一种数据传输方法、发送装置及接收装置 | |
CN102255734A (zh) | 内容业务的计费方法、装置以及系统 | |
CN117579271A (zh) | 量子加密通话方法、装置及通信系统 | |
CN102790959B (zh) | 一种Diameter消息的发送方法及装置 | |
CN102395117B (zh) | 内容类型识别的方法和设备 | |
CN108737347B (zh) | 数据通信方法、装置及其设备 | |
WO2014177068A1 (zh) | 一种与在线计费系统的交互方法、装置及服务器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20110420 |