CN101872303A - 处理Diameter协议消息的方法 - Google Patents
处理Diameter协议消息的方法 Download PDFInfo
- Publication number
- CN101872303A CN101872303A CN201010191397A CN201010191397A CN101872303A CN 101872303 A CN101872303 A CN 101872303A CN 201010191397 A CN201010191397 A CN 201010191397A CN 201010191397 A CN201010191397 A CN 201010191397A CN 101872303 A CN101872303 A CN 101872303A
- Authority
- CN
- China
- Prior art keywords
- diameter
- message
- source template
- processing
- chained list
- 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.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种处理Diameter协议消息的方法,包括如下步骤:步骤1、应用根据Diameter消息的id获取内存中预先存储的Diameter消息模板,并把该Diameter消息模板的结构作为构建Diameter消息对象结构的初始状态;步骤2、根据实际的消息结构,增加或删除Diameter消息对象结构中的AVP对象,从而修改Diameter消息对象的结构;步骤3、用栈来记录步骤2中对Diameter消息结构的每次操作;步骤4、应用使用完消息后,根据栈中的记录,将Diameter消息对象的结构恢复为初始状态。本发明所提供的处理Diameter协议消息的方法,方便应用对消息的管理,降低系统资源的消耗。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种处理Diameter协议消息的方法。
背景技术
Diameter协议被IETF的AAA工作组作为下一代的AAA协议标准。Diameter(为直径,意味着Diameter协议是RADIUS协议的升级版本)协议包括基本协议、NAS(网络接入服务)协议、EAP(可扩展鉴别)协议、MIP(移动IP)协议、CMS(密码消息语法)协议等。Diameter协议支持移动IP、NAS请求和移动代理的认证、授权和计费工作,协议的实现和RADIUS类似,也是采用AVP(Attribute Value Pair,属性值对)来实现,但是其中详细规定了错误处理、failover机制,采用TCP协议,支持分布式计费,克服了RADIUS的许多缺点,是最适合未来移动通信系统的AAA协议。
各通信运营商对Diameter协议的实现,主要涉及中国移动的Diameter协议、中国电信的OCP协议和中国联通的DCC(Diameter Credit Control)协议。应用的场景有:(1)网元设备和在线计费系统(Online ChargingSystem)交互;(2)在线计费系统和余额管理中心交换等等。在线计费系统(Online Charging System,简称OCS)是指参与通信过程控制的计费系统,能够解决用户实时信用控制、预付费使用数据业务和增值业务实时计费等问题。
OCS是3GPP网络架构中最重要的组成部分之一。为更好地指导3G环境下计费支撑体系的建设,3GPP组织在32.815提出了OCS的参考结构,给出了具有开放性和通用性的实时计费系统框架,支持基于承载、会话和内容事件的统一计费。这一框架将话务控制功能与计费功能相分离,使计费系统参与到服务的使用过程中,用户边使用业务,OCS边计费。作为系统协议支撑Diameter,必须提供有力的实时性保证。现有的Diameter实现性能存在一定的瓶颈,在一定程度上限制了OCS的并发处理能力。
Diameter消息体可以认为是一个Grouped类型AVP,每个Grouped类型的AVP里面包含一组AVP(可以是Grouped类型)元素,也就是说,Diameter的消息体为多个AVP(属性值对,即消息中的信息单元)组成,因此Diameter消息可以看作以AVP元素作为节点的树。现在以电信的信用控制请求(Credit-Control-Request)消息为例,使用ABNF格式定义如下:
<Credit-Control-Request>::=<Diameter Header:272,REQ,PXY>Diameter协议头,REQ表示该消息为一个请求消息,其中272表示由Diameter协议标准组织分配该命令码的值;
<Session-Id>
{Origin-Host}源主机信息
{Origin-Realm}源服务域信息
{Destination-Realm}目的服务域信息
{Auth-Application-Id}
{Service-Context-Id}
{CC-Request-Type}
{CC-Request-Number}
[Destination-Host]
[User-Name]
[Origin-State-Id]
[Event-Timestamp]
*[Subscription-Id]
[Termination-Cause]
*[Route-Record]
[Requested-Action]
[Requested-Service-Unit]
*[Used-Service-Unit]
[Multiple-Services-Indicator]
*[Multiple-Services-Credit Control]
[CC-Correlation-Id]
[User-Equipment-Info]
*[Proxy-Info]
[Service-Information];
“<>”符号表示必选而且位置必须是在消息的开头的AVP,“{}”符号表示必选的AVP,“[]”符号表示可选的AVP,“*[]”符号表示可重复的可选的AVP。
针对以上Diameter消息结构抽象出的主要类有,用于存储AVP属性和值的类(CDiameterAVP),用于管理AVP的容器(CDiameterGroup)和用于管理整个消息的类(CDiameterMessage)。
这些类实现基本消息结构和基本数据的存储,通过这些类可以很轻松的搞定消息的管理。由于Diameter消息中存在“[]”和“*[]”类型的AVP,每个消息的结构都不是固定的。因此每次Diameter消息使用时都必须做一次CDiameterMessage的构造和析构操作,对应的CDiameterGroup和CDiameterAVP也需要构造和析构。如果以new(生成)和delete(销毁)操作时间为1μs(UNIX机器实测结果)来计算,具有100个AVP的消息其自身消耗的时间大概就是0.1ms。现在以电信OCS系统为例,当系统压力为1000CAPS(Call Attempts Per Second,每秒建立呼叫数量)时,每秒处理的CCR消息数目为2500个,每个消息业务处理的时间为0.4ms。消息自身处理时间和业务处理时间是同一个数量级,这个处理性能是满足不了OCS系统的。或许内存池可以解决这个问题,当发生频繁的内存操作时大家倾向于利用内存池来解决。但是,内存池只是解决了消息new和delete的性能,并没有解决消息中所有AVP的生成和销毁问题,采用内存池的实测结果也是同样的性能,因此并不能有效缩短消息处理时间。
发明内容
因此,本发明的目的在于提供一种处理Diameter协议消息的方法,减少Diameter协议消息对象的生成和销毁对系统资源的消耗。
为实现上述目的,本发明提供一种处理Diameter协议消息的方法,其包括如下步骤:
步骤1、应用根据Diameter消息的id获取内存中预先存储的Diameter消息模板,并把该Diameter消息模板的结构作为构建Diameter消息对象结构的初始状态;
步骤2、根据实际的消息结构,增加或删除Diameter消息对象结构中的AVP对象,从而修改Diameter消息对象的结构;
步骤3、用栈来记录步骤2中对Diameter消息结构的每次操作;
步骤4、应用使用完消息后,根据栈中的记录,将Diameter消息对象的结构恢复为初始状态。
其中,步骤2中,如果增加或删除的AVP对象为Grouped类型的AVP对象,采用递归方式处理所有的AVP对象。
其中,对于Diameter消息的接收方来说,步骤1中使用的Diameter消息模板为空结构。
其中,步骤1中,如果内存中该Diameter消息模板数量为1,则先克隆该Diameter消息模板,然后在克隆的Diameter消息模板基础上构建Diameter消息对象的结构。
其中,在步骤3中,将步骤2中对Diameter消息结构的每次操作依次压栈;步骤4中恢复Diameter消息对象的结构时,将步骤3中记录的操作依次出栈。
其中,在内存中以Diameter消息模板为对象建立对象池,同一种的Diameter消息模板存放于同一对象池中,多种Diameter消息模板分别以多个对象池来管理,用图来管理这些不同的对象池,以邻接表来表示该图,邻接表中的每个链表都表示一个对象池,通过增加或减少邻接表实现对象种类的增加或减少;
在任一链表中,把链表中的第一个Diameter消息模板对象作为种子,该种子具备自身的克隆功能,外部的应用从链表中获取Diameter消息模板对象时,当该链表中只有种子对象时,则返回一个种子克隆的对象,否则从该链表的队列中取一个对象返回。
其中,应用所获取的Diameter消息模板对象经过步骤1-4的处理后,应用释放该Diameter消息模板对象,并将该Diameter消息模板对象加入相应的对象池。
其中,该图通过控制链表长度的增加和减少来动态控制对象池中的对象数目。
其中,所述链表具有单链表功能。
其中,所述链表对外部应用提供获取和释放Diameter消息模板对象的接口。
本发明所提供的处理Diameter协议消息的方法,通过具备智能记忆功能的Diameter消息管理方式,以及能够动态增加对象种类和对象池大小的存放Diameter消息的动态对象池,方便应用对消息的管理,降低系统资源的消耗。
附图说明
下面结合附图,通过对本发明的具体实施方式详细描述,将使本发明的技术方案及其他有益效果显而易见。
附图中,
图1为本发明处理Diameter协议消息的方法一较佳实施例中智能记忆消息的设计类图;
图2为本发明处理Diameter协议消息的方法一较佳实施例中发送消息的记忆和恢复处理流程图;
图3为本发明处理Diameter协议消息的方法的流程图;
图4为本发明处理Diameter协议消息的方法一较佳实施例中动态对象池的设计图;
图5为本发明处理Diameter协议消息的方法一较佳实施例中动态对象池和智能记忆消息的时序图。
具体实施方式
简化消息结构的管理,减少消息对象的生成和销毁对系统资源的消耗(CPU和内存),才能根本上减少消息的处理时间。如何做呢?本发明采用智能记忆消息的方式,通过消息的智能记忆功能,达到消息的重复的利用。一次构造多次使用,从而避免了每次业务处理时的消息构造和销毁(这点类似于数据库的一次prepare,多次execute的道理)。
因此,在本发明在一较佳实施中,增加了用于消息结构改动的记忆类(CMemoryElem)和修改操作栈(statck<CMemoryElem*>),用于消息结构修改的记忆和消息结构的恢复。
如图1所示,其为本发明处理Diameter协议消息的方法一较佳实施例中智能记忆消息的设计类图。图中,CDiameterMessage组合CDiameterGroup和CDiameterAVP,用以表示消息结构和AVP的存储,并把这种结构作为消息的模板,通过消息id来区分。这样的消息模板可以根据Diameter协议预先确定并存储于内存中,应用通过在预先构造的消息模板的基础上修改其结构,构建符合应用需求的消息结构。CDiameterGroup和CDiameterAVP是双向关联的关系,首先CDiameterGroup是CDiameterAVP的容器,其次当CDiameterAVP表示Grouped类型的AVP时,对应的值为CDiameterGroup。CMemoryElem依赖于CDiameterGroup和CDiameterAVP,用于表示消息结构的改动,statck<CMemoryElem*>用于表示消息改动的整个过程。在此较佳实施例中,对智能记忆消息的设计类图中记忆功能相关的主要方法说明如下:
1)CDiameterMessage::clone,克隆方法
实现CDiameterMessage对象结构的构造和拷贝功能,进一步可与对象池协作来实现消息数目的动态增长。
2)CDiameterMessage::recover,恢复方法
从修改后的CDiameterMessage对象中恢复过来,把用户对CDiameterMessage对象操作进行逆操作(例如:增加AVP的操作变成删除AVP的操作)
3)CDiameterMessage::add(CDiameterGroup*group,int pos,int num),增删AVP操作
Group用来标识待修改的CDiameterGroup的对象;pos指示参照CDiameterAVP对象的位置;num代表增删的数目(>0表示增加,<0代表删除)。
4)CDiameterMessage::value,获取一个空闲的CDiameterAVP对象(分配相应的内存空间)
CDiameterMessage对象管理了一组CDiameterAVP对象,并且存在一些空闲的,用来修改CDiameterMessage对象结构的时候用。
5)CDiameterMessage::group,获取一个空闲的CDiameterGroup对象(分配相应的内存空间)
CDiameterMessage对象管理了一组CDiameterGroup对象,并且存在一些空闲的,用来修改CDiameterMessage对象结构的时候用。
6)stack::push,对象压栈
把修改操作(增加或删除CDiameterAVP对象)放入栈中,为CDiameterMessage对象恢复时用。
7)stack::pop,对象出栈
把修改操作(增加或删除CDiameterAVP对象)从栈中取出,用来恢复CDiameterMessage对象。
对于每一种Diameter消息,有两种原始状态,分别为发起方和接收方使用消息的状态。
发送方使用的原始消息结构(消息模板)是由“<>”、“{}”和一个“[]”的AVP组成。应用通过CDiameterMessage的add方法进行消息结构的调整,通过CDiameterMessage的recover方法把消息恢复成原始消息结构。当对应的“[]”部分不需要时,通过CDiameterMessage的add方法把CDiameterGroup对应位置的CDiameterAVP删除;当对应的“[]”需要多组(n组)时,通过CDiameterMessage的add方法把CDiameterGroup对应位置的CDiameterAVP增加n-1个。CDiameterMessage的每个add操作都会生成一个CMemoryElem压入栈中,当调用CDiameterMessage的recover方法时,依次把CMemoryElem出栈,并执行CMemoryElem的逆向操作。
如图2所示,其为本发明处理Diameter协议消息的方法一较佳实施例中发送消息的记忆和恢复处理流程图。发送消息的记忆和恢复处理流程如下:
1)build(),CDiameterMessage对象结构的构建,把该结构(Diameter消息模板)作为初始状态,以后的恢复操作就恢复到这个状态。
2)get(),应用获取到CDiameterMessage对象的句柄。
3)add(),根据实际的消息结构,应用修改CDiameterMessage对象,为其增加一个CDiameterAVP对象(本例程中仅仅是增加一个对象,实际上支持增加CDiameterGroup对象,可通过递归实现),从而生成满足应用需求的Diameter消息。
4)get(),获取一个CDiameterAVP对象,用于表示新增加的CDiameterAVP对象。
5)get(),获取一个CMemoryElem对象,用于记录刚才的增加操作。
6)push(),把CMemoryElem对象压栈,用于CDiameterMessage对象的恢复操作。
7)recover(),把CDiameterMessage对象恢复成初始状态,也就是恢复为模板的状态。
8)pop(),把栈中的CMemoryElem对象弹出,并根据这个对象获取对应的add()操作。
9)put(),把CMemoryElem对象释放,该方法名与get()配对,主要是考虑工整。
10)put(),释放CDiameterAVP对象。
整个操作过程就是AVP的增加和删除的过程。通过这个过程简单的展示了智能记忆和恢复过程,实际情况可能会复杂的多,例如增加一个Grouped类型的AVP,需要递归的处理完所有的AVP。可以把智能记忆理解为正操作和逆操作两个过程,应用修改消息结构是正操作,恢复操作就是对应的逆操作,堆栈是辅助完成逆操作的工具。
另一方面,接收方使用的原始消息结构(消息模板)是一个空结构,没有CDiameterGroup和CDiameterAVP。接收方在网络数据的解析过程中生成消息结构,遇到Gouped类型的AVP时则增加CDiameterGroup,其它情况则增加CDiameterAVP。当应用回收消息时,调用CDiameterGroup的recover方法,把消息恢复到空结构状态。接受消息的处理流程与发送消息类似这里就不再赘述。
综上,可得出本发明处理Diameter协议消息的方法。如图3所示,其为本发明处理Diameter协议消息的方法的流程图,本发明的处理Diameter协议消息的方法包括如下步骤:
步骤1、应用根据Diameter消息的id获取内存中预先存储的Diameter消息模板,以该Diameter消息模板为基础构建Diameter消息对象的结构,并把该结构作为初始状态;
步骤2、根据实际的消息结构,增加或删除Diameter消息对象结构中的AVP对象,从而修改Diameter消息对象的结构;
步骤3、用栈来记录步骤2中对Diameter消息结构的每次操作;
步骤4、应用使用完消息后,根据栈中的记录,将Diameter消息对象的结构恢复为初始状态,也就是恢复了消息模板的原始结构,从而可以使该模板再次使用。
步骤1中,如果内存中该Diameter消息模板数量为1,则先克隆该Diameter消息模板,然后在克隆的Diameter消息模板基础上构建Diameter消息对象的结构,从而可以保证内存中总是存在可用的Diameter消息模板。
在步骤3中,将步骤2中对Diameter消息结构的每次操作依次压栈;步骤4中恢复Diameter消息对象的结构时,将步骤3中记录的操作依次出栈。
在处理具体Diameter消息的方式上,本发明提供了这种具有智能记忆功能的Diameter消息,该消息是基于文档对象模型(Document Obiect Model)的机制设计,用于存储树状结构的AVP(Attribute-Length-Value),方便Diameter应用的消息操作,增删消息中的AVP和修改对应AVP的值;同时该消息具有记忆功能,能从修改操作中还原回来。
对于Diameter消息模板的集合,可进一步采用对象池的方式来处理。对象池是一组对象的集合,对应用提供获取和释放接口,实现对象的重用功能。但是,一般的对象池只能存放一类对象,如果需要管理多种对象,就必须创建多个对象池,大大增加的应用的复杂度。同时对象池的容量是固定的,容易造成对象不够用和资源的浪费的情况。对于Diameter消息模板组成的对象池来说,如何才能动态的增加对象的种类,满足业务不断的扩展的需要?如何动态的控制对象的数目,合理有效的利用资源?本发明提供了以下的解决办法:
在内存中以Diameter消息模板为对象建立对象池,同一种的Diameter消息模板存放于同一对象池中,多种Diameter消息模板分别以多个对象池来管理,用图来管理这些不同的对象池,以邻接表来表示该图,邻接表中的每个链表都表示一个对象池,通过增加或减少邻接表实现对象种类的增加或减少;
在任一链表中,把链表中的第一个Diameter消息模板对象作为种子,该种子具备自身的克隆功能,外部的应用从链表中获取Diameter消息模板对象时,当该链表中只有种子对象时,则返回一个种子克隆的对象,否则从该链表的队列中取一个对象返回。
如图4所示,其为本发明处理Diameter协议消息的方法一较佳实施例中动态对象池的设计图。本发明引入了图的概念和克隆技术,解决了动态的增加对象的种类和动态的控制对象的数目这两个问题。根据以上描述结合图4,在此较佳实施例中,用类CObjectGraph实现图,用来管理不同的对象池;用CObjectPool实现对象池,用来管理相同类别的对象;通过模板机制定义的CObjectGraph和CObjectPool,提供了更大扩展空间。CObjectGraph提供了add和del方法,实现链表的动态增加和减少,也就是说,该图通过控制链表长度的增加和减少来动态控制对象池中的对象数目。通过out和in方法实现对象的获取和回收。CObiectPool继承了标准库的list,实现了单链表功能,也就是说,邻接表中的链表具有单链表功能。CObiectPool同时对外提供out和in方法,实现相同对象的获取和回收,也就是说,链表对外部应用提供获取和释放Diameter消息模板对象的接口。
普通的对象池创建时指定对象的种类和池的大小,缺乏了灵活性和扩展性。本发明所提供的存放Diameter消息模板的动态对象池,有别于普通的对象池,对象的种类和池的大小可以进行动态的调整,在合理利用系统资源的同时大大的增加的应用的扩展性。与普通的对象池类似,本发明所应用的动态对象池在对外提供对象前,首先需要进行必要的初始化。有所不同的是,该动态对象池不需要创建最大数目的对象,只需要为每类对象创建一个种子,对象池会随着使用趋于平衡(找到对象的最大数目)。对象初始化完成后,就是对象的重复利用,直至对象池的销毁。也就是说,应用所获取的Diameter消息模板对象按照图3经过步骤1-4的处理后,应用释放该Diameter消息模板对象,并将该Diameter消息模板对象加入相应的对象池,也就是使用过的Diameter消息模板对象会重新加入对象池中,从而保证Diameter消息模板可以重复应用,而且Diameter消息模板的数量随着系统应用的需求而动态增加或减少,直至达到平衡状态。
如图5所示,其为本发明处理Diameter协议消息的方法一较佳实施例中动态对象池和智能记忆消息的时序图。消息流转时序如下:
1)out(),应用根据id从动态对象池中获取Diameter消息模板。
2)out(),从id对应的链表中获取Diameter消息模板。
3)size(),判断id对应的链表大小,如果大小为1,则进行对象的克隆操作即操作步骤4);否则执行操作步骤6)。
4)clone(),进行消息的克隆操作。
5)return(),消息克隆操作返回。
6)return(),链表操作返回。
7)return(),动态对象池操作返回。
8)operation(),修改Diameter消息的结构,增加或删除消息中的avp。调用CDiameterMessage::add()方法。
9)in(),应用释放Diameter消息。
10)in(),执行链表的回收操作。
11)recover(),Diameter消息模板恢复。
12)return(),消息恢复返回。
13)return(),链表操作返回。
14)return(),动态对象池操作返回。
综上,本发明所提供的处理Diameter协议消息的方法,通过具备智能记忆功能的Diameter消息管理方式,以及能够动态增加对象种类和对象池大小的存放Diameter消息的动态对象池,方便应用对消息的管理,降低系统资源的消耗。
以上所述,对于本领域的普通技术人员来说,可以根据本发明的技术方案和技术构思作出其他各种相应的改变和变形,而所有这些改变和变形都应属于本发明后附的权利要求的保护范围。
Claims (10)
1.一种处理Diameter协议消息的方法,其特征在于,包括如下步骤:
步骤1、应用根据Diameter消息的id获取内存中预先存储的Diameter消息模板,并把该Diameter消息模板的结构作为构建Diameter消息对象结构的初始状态;
步骤2、根据实际的消息结构,增加或删除Diameter消息对象结构中的AVP对象,从而修改Diameter消息对象的结构;
步骤3、用栈来记录步骤2中对Diameter消息结构的每次操作;
步骤4、应用使用完消息后,根据栈中的记录,将Diameter消息对象的结构恢复为初始状态。
2.如权利要求1所述的处理Diameter协议消息的方法,其特征在于,步骤2中,如果增加或删除的AVP对象为Grouped类型的AVP对象,采用递归方式处理所有的AVP对象。
3.如权利要求1所述的处理Diameter协议消息的方法,其特征在于,对于Diameter消息的接收方来说,步骤1中使用的Diameter消息模板为空结构。
4.如权利要求1所述的处理Diameter协议消息的方法,其特征在于,步骤1中,如果内存中该Diameter消息模板数量为1,则先克隆该Diameter消息模板,然后在克隆的Diameter消息模板基础上构建Diameter消息对象的结构。
5.如权利要求1所述的处理Diameter协议消息的方法,其特征在于,在步骤3中,将步骤2中对Diameter消息结构的每次操作依次压栈;步骤4中恢复Diameter消息对象的结构时,将步骤3中记录的操作依次出栈。
6.如权利要求1所述的处理Diameter协议消息的方法,其特征在于,在内存中以Diameter消息模板为对象建立对象池,同一种的Diameter消息模板存放于同一对象池中,多种Diameter消息模板分别以多个对象池来管理,用图来管理这些不同的对象池,以邻接表来表示该图,邻接表中的每个链表都表示一个对象池,通过增加或减少邻接表实现对象种类的增加或减少;
在任一链表中,把链表中的第一个Diameter消息模板对象作为种子,该种子具备自身的克隆功能,外部的应用从链表中获取Diameter消息模板对象时,当该链表中只有种子对象时,则返回一个种子克隆的对象,否则从该链表的队列中取一个对象返回。
7.如权利要求6所述的处理Diameter协议消息的方法,其特征在于,应用所获取的Diameter消息模板对象经过步骤1-4的处理后,应用释放该Diameter消息模板对象,并将该Diameter消息模板对象加入相应的对象池。
8.如权利要求6所述的处理Diameter协议消息的方法,其特征在于,该图通过控制链表长度的增加和减少来动态控制对象池中的对象数目。
9.如权利要求6所述的处理Diameter协议消息的方法,其特征在于,所述链表具有单链表功能。
10.如权利要求6所述的处理Diameter协议消息的方法,其特征在于,所述链表对外部应用提供获取和释放Diameter消息模板对象的接口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010191397 CN101872303B (zh) | 2010-06-03 | 2010-06-03 | 处理Diameter协议消息的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010191397 CN101872303B (zh) | 2010-06-03 | 2010-06-03 | 处理Diameter协议消息的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101872303A true CN101872303A (zh) | 2010-10-27 |
CN101872303B CN101872303B (zh) | 2013-06-12 |
Family
ID=42997177
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010191397 Active CN101872303B (zh) | 2010-06-03 | 2010-06-03 | 处理Diameter协议消息的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101872303B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102883308A (zh) * | 2012-09-12 | 2013-01-16 | 大唐移动通信设备有限公司 | 一种基于Diameter协议的Origin-State-Id AVP发送方法及装置 |
CN103218360A (zh) * | 2012-01-18 | 2013-07-24 | 中国石油天然气集团公司 | 工业实时数据库采用内存池技术实现动态内存管理的方法 |
CN104660548A (zh) * | 2013-11-19 | 2015-05-27 | 北京信威通信技术股份有限公司 | diameter消息解析方法及装置 |
CN107632790A (zh) * | 2017-09-30 | 2018-01-26 | 郑州云海信息技术有限公司 | 一种分布式存储系统中控制磁盘带宽的方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1652541A (zh) * | 2004-02-07 | 2005-08-10 | 华为技术有限公司 | 实现协议栈支持多种产品形态的方法 |
CN101621419A (zh) * | 2008-07-01 | 2010-01-06 | 大唐移动通信设备有限公司 | 可重用测试消息适配方法及系统 |
-
2010
- 2010-06-03 CN CN 201010191397 patent/CN101872303B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1652541A (zh) * | 2004-02-07 | 2005-08-10 | 华为技术有限公司 | 实现协议栈支持多种产品形态的方法 |
CN101621419A (zh) * | 2008-07-01 | 2010-01-06 | 大唐移动通信设备有限公司 | 可重用测试消息适配方法及系统 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103218360A (zh) * | 2012-01-18 | 2013-07-24 | 中国石油天然气集团公司 | 工业实时数据库采用内存池技术实现动态内存管理的方法 |
CN103218360B (zh) * | 2012-01-18 | 2016-08-03 | 中国石油天然气集团公司 | 工业实时数据库采用内存池技术实现动态内存管理的方法 |
CN102883308A (zh) * | 2012-09-12 | 2013-01-16 | 大唐移动通信设备有限公司 | 一种基于Diameter协议的Origin-State-Id AVP发送方法及装置 |
CN102883308B (zh) * | 2012-09-12 | 2015-08-19 | 大唐移动通信设备有限公司 | 一种基于Diameter协议的Origin-State-Id AVP发送方法及装置 |
CN104660548A (zh) * | 2013-11-19 | 2015-05-27 | 北京信威通信技术股份有限公司 | diameter消息解析方法及装置 |
CN104660548B (zh) * | 2013-11-19 | 2018-01-19 | 北京信威通信技术股份有限公司 | diameter消息解析方法及装置 |
CN107632790A (zh) * | 2017-09-30 | 2018-01-26 | 郑州云海信息技术有限公司 | 一种分布式存储系统中控制磁盘带宽的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101872303B (zh) | 2013-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104380670B (zh) | Diameter路由代理规则组的组织 | |
CN101583160B (zh) | 一种实现分层服务质量业务的装置及方法 | |
CN102880705B (zh) | 数据库主键生成装置和数据库主键生成方法 | |
CN104350713B9 (zh) | 路由决策上下文对象 | |
CN102571420B (zh) | 一种网元数据管理方法及系统 | |
CN104601680B (zh) | 一种资源管理方法及装置 | |
CN103336782B (zh) | 一种关系型分布式数据库系统 | |
CN108282342A (zh) | 计费管理方法、用户面功能实体以及控制面功能实体 | |
CN103888928A (zh) | 一种业务策略控制方法及系统 | |
EP1354273A1 (en) | Network service provider platform for supporting usage sensitive billing and operation services | |
CN110113399A (zh) | 负载均衡管理方法及相关装置 | |
CN101872303B (zh) | 处理Diameter协议消息的方法 | |
CN109947537A (zh) | 创建云容器服务的系统及方法 | |
CN106209402A (zh) | 一种虚拟网络功能的伸缩方法和设备 | |
CN107105050A (zh) | 一种业务对象的存储、下载方法及系统 | |
CN104956629B (zh) | 软件定义网络中的事件分发方法,控制设备和处理器 | |
CN101272258B (zh) | 一种实现组合计费业务的方法,系统及装置 | |
CN105556916A (zh) | 网络流的信息统计方法和装置 | |
CN108401231A (zh) | 一种计费方法、装置和系统 | |
CN110704438A (zh) | 一种区块链中布隆过滤器的生成方法及装置 | |
CN109874115A (zh) | 许可证调整方法及装置 | |
US8224933B2 (en) | Method and apparatus for case-based service composition | |
CN100357889C (zh) | 以类为单位的远程构件生命周期的管理方法 | |
Grybniak et al. | Waterfall: a scalable distributed ledger technology | |
CN106982126A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |