CN102083034A - 计费消息的分发方法、装置和系统 - Google Patents
计费消息的分发方法、装置和系统 Download PDFInfo
- Publication number
- CN102083034A CN102083034A CN2009101884808A CN200910188480A CN102083034A CN 102083034 A CN102083034 A CN 102083034A CN 2009101884808 A CN2009101884808 A CN 2009101884808A CN 200910188480 A CN200910188480 A CN 200910188480A CN 102083034 A CN102083034 A CN 102083034A
- Authority
- CN
- China
- Prior art keywords
- data
- acr
- data processing
- processing unit
- follow
- 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
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例公开了一种计费消息的分发方法,包括:接收一次会话的初始ACR数据;将初始ACR数据分发到目标数据处理装置进行处理;发送目标数据处理装置对初始ACR数据处理完毕后生成的ACA数据,ACA数据携带有DDI标识目标数据处理装置的字段;记录DDI字段,当ACA数据丢失后,根据DDI字段的指示,将重发的初始ACR数据发送到同一目标数据处理装置;接收一次会话产生的后续ACR数据,根据后续ACR数据携带有DDI字段,将后续ACR数据分发到目标数据处理装置进行处理。本发明实施例还公开了一种数据处理装置和计费消息的分发系统。通过上述技术方案,能够高效的对接收到的ACR数据进行分发,提高了分发效率。
Description
技术领域
本发明涉及通信技术领域,特别地,涉及一种计费消息分发的方法、装置和系统。
背景技术
在3GPP网络的离线计费架构中定义了计费触发功能(Charging TriggerFunction,CTF)和计费采集功能(Charging Collectiong Function,CCF)两个逻辑功能模块,Rf(离线计费参考点)接口是CTF和CCF之间的接口,CTF通过此接口将离线计费事件实时发送给CCF,CCF在此接口上回送确认消息。对基于会话的计费,使用三种类型的消息:Start ACR(Start Accounting Request,初始计费请求)数据、Interim ACR(Interim Accounting Request,中间计费请求)数据和Stop ACR(Stop Accounting Request,停止计费请求)数据来传送计费信息,在一个会话中,可能包含多个INTERIM ACR数据。
随着电信技术和应用的发展,软交换、SGSN、CSCF等网元的容量已经达到千万级用户规模。在这种规模下,Rf接口上的消息流量十分巨大,单个物理服务器已经承担不了CCF的处理能力,需要使用多个服务器或处理模块组成分布式系统来完成CCF的功能。对于多模块或多服务器分布式的CCF,要将Rf接口上的消息均匀分发到各个模块或服务器上处理,并且要将同一个会话的计费消息发送到相同的模块或服务器上,在实际应用中,一般采用以下这种分发计费消息的方法:
在CCF上设置消息分发模块,消息分发模块维护一张SID-MID对应表,当消息分发模块收到初始ACR数据时根据预先定义的策略选择一个处理此会话计费请求的模块或服务器,记录初始ACR数据的会话标识SID和处理此初始ACR数据的模块或服务器的模块号MID到SID-MID对应表,收到后续的ACR数据后取出SID,查SID-MID对应表得到MID,然后将此后续ACR数据分发到对应的模块或服务器上。
这种方法的主要缺点在于,消息分发模块作为汇聚点,要做大量的搜索比较工作,分发效率较低,很容易成为系统的性能瓶颈。
发明内容
本发明实施例提供一种计费消息的分发方法、数据分发装置和计费消息的分发系统,以提高计费消息的分发效率。
本发明实施例提供一种计费消息的分发方法,包括:
接收一次会话的初始计费请求ACR数据,按照预定的策略选择目标数据处理装置,将所述初始ACR数据分发到所述目标数据处理装置进行处理;
发送所述目标数据处理装置对所述初始ACR数据处理完毕后生成的计费应答ACA数据,所述ACA数据携带有分发目的地指示DDI字段,所述DDI字段用于标识所述目标数据处理装置;
记录所述DDI字段,当所述ACA数据在发送过程中丢失时,接收重发的初始ACR数据,根据记录的所述DDI字段,将所述重发的初始ACR数据分发到所述DDI字段标识的所述目标数据处理装置进行处理;
接收所述一次会话产生的后续ACR数据,所述后续ACR数据携带有所述DDI字段,根据所述DDI字段,将所述后续ACR数据分发到所述目标数据处理装置进行处理。
本发明实施例提供一种数据分发装置,包括:
第一接收模块,用于接收一次会话的初始ACR数据;
分发选择模块,用于按照预定的策略选择目标数据处理装置,将所述初始ACR数据分发到所述目标数据处理装置进行处理;
第一发送模块,用于发送所述目标数据处理装置对所述初始ACR数据处理完毕后生成的ACA数据,所述ACA数据携带有DDI字段,所述DDI字段用于标识所述目标数据处理装置;
第一故障处理模块,用于记录所述DDI字段,当所述ACA数据在发送过程中丢失时,接收重发的初始ACR数据,根据记录的所述DDI字段,将所述重发的初始ACR数据分发到所述DDI字段标识的所述目标数据处理装置进行处理;
第二接收模块,用于接收所述一次会话产生的后续ACR数据,所述后续ACR数据携带有所述DDI字段;
第二发送模块,用于根据所述DDI字段,将所述后续ACR数据分发到所述目标数据处理装置进行处理。
本发明实施例提供一种计费消息的分发系统,包括数据发送装置和至少一个数据分发装置,
所述数据发送装置,用于发送一次会话的初始ACR数据;接收所述数据分发装置发送的由数据处理装置产生的ACA数据;保存所述ACA数据中的DDI字段,将所述DDI字段写入所述一次会话产生的后续ACR数据中;发送所述后续ACR数据;
所述数据分发装置,用于接收所述一次会话的初始ACR数据;按照预定的策略选择目标数据处理装置,将所述初始ACR数据分发到所述目标数据处理装置进行处理;发送所述目标数据处理装置对所述初始ACR数据处理完毕后生成的ACA数据,所述ACA数据携带有DDI字段,所述DDI字段用于标识所述目标数据处理装置;记录所述DDI字段,当所述ACA数据在发送过程中丢失时,接收重发的初始ACR数据,根据记录的所述DDI字段,将所述重发的初始ACR数据分发到所述DDI字段标识的所述目标数据处理装置进行处理;接收所述一次会话产生的后续ACR数据,所述后续ACR数据携带有所述DDI字段;根据所述DDI字段,将所述后续ACR数据分发到所述目标数据处理装置进行处理。
本发明实施例通过以上技术方案,在后续ACR数据中携带标识数据处理装置的DDI字段,根据DDI字段的指示,将同一次会话产生的ACR数据分发到同一个数据处理装置,分发过程中不用建立和搜索数据表格,保证了分发过程的无状态,且在系统发生故障时,通过记录DDI字段,仍能保证将同一次会话产生的ACR数据分发到同一数据处理装置,这样降低了系统的处理负荷,能够高效快速的对接收到的ACR数据进行分发,提高了分发效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1本发明实施例提供一种计费消息的分发方法流程图;
图2本发明实施例提供一种计费消息的分发方法流程图;
图3本发明实施例提供一种数据分发装置的结构图;
图4本发明实施例提供一种数据分发装置的第二发送模块的结构图;
图5本发明实施例提供一种计费消息的分发系统的结构图;
图6本发明实施例提供一种计费消息的分发系统的结构图;
图7本发明实施例提供一种计费消息的分发系统的应用场景示意图;
图8本发明实施例提供一种计费消息的分发系统的应用场景示意图;
图9本发明实施例提供一种计费消息的分发方法流程图;
图10本发明实施例提供一种计费消息的分发方法流程图;
图11本发明实施例提供一种数据分发装置的结构图;
图12本发明实施例提供一种数据分发装置的结构图;
图13本发明实施例提供一种计费消息的分发方法流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供一种计费消息的分发方法,包括:
S101,接收一次会话的初始ACR数据;
S103,按照预定的策略选择目标数据处理装置,将该初始ACR(Start ACR)数据分发到目标数据处理装置进行处理;
在一个实施例中,接收到Start ACR数据后,根据数据处理装置的负荷情况,选择负荷最低的数据处理装置,发送Start ACR到最低负荷的数据处理装置。
在一个实施例中,接收到Start ACR后,采用轮选的方式选择目标数据处理装置,发送Start ACR到目标数据处理装置。
在一个实施例中,接收到Start ACR后,取出该消息中的会话标识(session-id),对会话标识做哈希运算,将哈希结果映射到一个特定的数据处理装置,发送Start ACR到该特定的数据处理装置。
S105,发送上述数据处理装置对改初始ACR数据处理完毕后生成的ACA数据,该ACA数据中携带有分发目的地指示(Dispatch-Destination-Indication)DDI字段,该DDI字段用于标识步骤S103中目标数据处理装置;
S107,接收本次会话产生的后续ACR数据,该后续ACR数据携带有上述DDI字段,根据该后续ACR数据中的DDI字段,将该后续ACR数据分发到步骤S103中选择出的目标数据处理装置进行处理。
在一个实施例中,数据发送装置可以将DDI字段放在后续ACR数据的预置的固定位置。这样数据分发装置在接受到数据发送装置发送的后续ACR数据后,只需解析后续ACR的预置的固定位置部分,就可得到其中携带的DDI字段值,从而有效降低数据分发装置的处理负荷。
在一个实施例中,可以将DDI字段放在后续ACR数据的第二个字段,即会话标识(session-id)之后。这样数据分发装置在接收到数据发送装置发送的后续ACR数据后,只需要部分解析后续ACR数据(即,只需解析后续ACR数据的第二个字段)即可得到其中携带的DDI字段值,从而有效降低数据分发装置的处理负荷。
由于数据分发装置会根据后续ACR数据中的DDI字段,将后续ACR数据分发到该DDI标识的选择出的数据处理装置进行处理。这就保证了,将同一次会话产生的ACR数据分发到同一个数据处理装置进行处理。
本发明实施例通过以上技术方案,在后续ACR数据中携带标识数据处理装置的DDI字段,根据DDI字段的指示,将同一次会话产生的ACR数据分发到同一个数据处理装置,本发明实施例通过在后续ACR数据中携带DDI字段,不用建立和搜索数据表格,保证了分发过程的无状态,降低了系统的处理负荷,能够高效快速的对接收到的ACR数据进行分发,提高了分发效率。
在另一个实施例中,如图9所示,在图1所示的实施例的基础上,该计费消息的分发方法还可以包括:
S106,记录上述DDI字段,当上述ACA数据在发送过程中丢失时,在收到重发的初始ACR数据时,根据记录的上述DDI字段,将重发的初始ACR数据分发到该DDI字段标识的数据处理装置进行处理。
在一个实施例中,当发生异常情况(一些预期外的突发情况,如系统掉电、软件进程异常、连接终端等)后,系统仍需要保证同一次会话产生的ACR数据分发到统一数据处理装置进行处理,步骤S106是针对初始ACR数据对应的应答消息ACA数据丢失后的处理方法。
图9中的其余步骤和图1中的相同,在此不再赘述。
本发明实施例通过以上技术方案,在后续ACR数据中携带标识数据处理装置的DDI字段,根据DDI字段的指示,将同一次会话产生的ACR数据分发到同一个数据处理装置,本发明实施例通过在后续ACR数据中携带DDI字段,不用建立和搜索数据表格,保证了分发过程的无状态,降低了系统的处理负荷,能够高效快速的对接收到的ACR数据进行分发,提高了分发效率。而且在系统发生异常情况时,采用本发明实施例提供的处理方式,仍能保证同一次会话产生的的ACR数据分发到统一数据处理装置进行处理。
在另一个实施例中,如图10所示,在图1所示的实施例的基础上,该计费消息的分发方法还可以包括:
S108,上述目标数据处理装置发生故障时,若在指定时长内,该目标数据处理装置尚未恢复,则丢弃该会话产生的后续ACR数据;若超过指定时长,该目标数据处理装置尚未恢复,则数据分发装置转发后续ACR到其它数据处理装置,该其它数据处理装置,在应答消息中通知数据发送装置更改DDI标识。
图10中的其余步骤和图1中的相同,在此不再赘述。
在一个实施例中,当发生异常情况(一些预期外的突发情况,如系统掉电、软件进程异常、连接终端等)后,系统仍需要保证同一次会话产生的ACR数据分发到统一数据处理装置进行处理,步骤S108是针对初始ACR数据已在数据处理装置上成功保存,但是其对应的ACA数据在传输路径上丢失,且此时正好有新的数据处理装置动态加入系统,这种异常情况的处理方法。
当然很好理解的是,如图13所示,在另一个实施例中,该计费消息的分发方法,还可以同时包括步骤S106和步骤S108。
本发明实施例通过以上技术方案,在后续ACR数据中携带标识数据处理装置的DDI字段,根据DDI字段的指示,将同一次会话产生的ACR数据分发到同一个数据处理装置,本发明实施例通过在后续ACR数据中携带DDI字段,不用建立和搜索数据表格,保证了分发过程的无状态,降低了系统的处理负荷,能够高效快速的对接收到的ACR数据进行分发,提高了分发效率。而且在系统发生异常情况时,采用本发明实施例提供的处理方式,仍能保证同一次会话产生的的ACR数据分发到统一数据处理装置进行处理。
如图2所示,本发明实施例提供一种计费消息的分发方法,包括:
S110,一次会话开始,数据发送装置产生初始ACR(Start ACR)数据,发送给数据分发装置;
在一个实施例中,数据发送装置不对Start ACR特殊处理,依然沿用diameter协议定义的做法来产生Start ACR数据。
S120,数据分发装置接收到数据发送装置发送的ACR数据,判断为StartACR数据,按照预定的策略选择目标数据处理装置,将该Start ACR数据分发到该目标数据处理装置进行处理;
在一个实施例中,ACR数据的头部会有标识信息,该标识信息用于标识该ACR数据为Start ACR、Interim ACR或者Stop ACR。
在一个实施例中,数据分发装置接收到ACR后,首先解析该ACR数据,判断ACR是否为Start ACR,如果是Start ACR,根据数据处理装置的负荷情况,发送此消息到最低负荷的数据处理装置。
在一个实施例中,数据分发装置接收到ACR后,首先解析该ACR数据,判断ACR是否为Start ACR,如果是Start ACR,数据分发装置采用轮选的方式选择一个数据处理装置,发送Start ACR到目标数据处理装置。
在一个实施例中,数据分发装置接收到ACR后,首先解析该ACR数据,判断ACR是否为Start ACR,如果是Start ACR,取出该消息中的会话标识(session-id),对会话标识做哈希运算,将哈希结果映射到一个数据处理装置,发送此Start ACR到该数据处理装置。
S130,该目标数据处理装置对初始ACR数据处理完毕后,生成ACA数据;该应答消息中携带有分发目的地指示(Dispatch-Destination-Indication)DDI字段,该DDI字段用于标识该目标数据处理装置;
该目标数据处理装置处理完ACR数据后,生成唯一标识该装置的DDI,并将此DDI填入生成的ACA数据中。
S140,数据分发装置将ACA数据转发给数据发送装置;
S150,数据发送装置接收到ACA数据后,保存其中的DDI字段,并将该DDI字段写入本次会话产生的后续ACR中,然后发送给数据分发装置;
在一个实施例中,数据发送装置接受到ACA应待消息后,可以将其中的DDI字段保存到本地数据库中。
在一个实施例中,当本次会话产生后续ACR数据,如Interim ACR或者Stop ACR,数据发送装置将上述保存的DDI字段写入Interim ACR或者StopACR中。
在一个实施例中,数据发送装置可以将DDI字段放在后续ACR数据的预置的固定位置。这样数据分发装置在接受到数据发送装置发送的后续ACR数据后,只需解析后续ACR的预置的固定位置部分,就可得到其中携带的DDI字段值,从而有效降低数据分发装置的处理负荷。
在一个实施例中,数据发送装置可以将DDI字段放在后续ACR数据的第二个字段,即会话标识(session-id)之后。这样数据分发装置在接收到数据发送装置发送的后续ACR数据后,只需要部分解析后续ACR数据即可得到其中携带的DDI字段值,从而有效降低数据分发装置的处理负荷。
S160,数据分发装置接收到数据发送装置发送的后续ACR数据,根据该后续ACR数据中的DDI字段,将该后续ACR数据分发到DDI标识的目标数据处理装置进行处理。
由于数据分发装置会根据后续ACR数据中的DDI字段,将后续ACR数据分发到该DDI标识的目标数据处理装置进行处理。这就保证了,将同一次会话产生的ACR数据分发到同一个数据处理装置进行处理。
本发明实施例通过以上技术方案,在后续ACR数据中携带标识数据处理装置的DDI字段,能够保证同一次会话产生的ACR数据分发到同一个数据处理装置,本发明实施例通过在后续ACR数据中携带DDI字段,不用建立和搜索数据表格,保证了分发过程的无状态,降低了系统的处理负荷,能够高效快速的对接收到的ACR数据进行分发,提高了分发效率。而且DDI字段可以放在后续ACR数据的预置的固定位置。这样数据分发装置在接受到数据发送装置发送的后续ACR数据后,只需解析后续ACR的预置的固定位置部分,就可得到其中携带的DDI字段值,从而有效降低数据分发装置的处理负荷。
在一个实施例中,进一步地,当发生异常情况(一些预期外的突发情况,如系统掉电、软件进程异常、连接终端等)后,系统仍需要保证同一次会话产生的ACR数据分发到统一数据处理装置进行处理。本发明实施例将异常情况分为两种:
1、Start ACR数据对应的应答消息ACA数据丢失后的处理;
2、数据处理装置故障后的处理。
下面针对这两种情况分别详述本发明实施例提供的处理方案。
1、Start ACR对应的ACA数据丢失后的处理:
假设Start ACR数据已在数据处理装置上成功保存,但是其对应的ACA数据在传输路径上丢失,且此时正好有新的数据处理装置动态加入系统。数据发送装置未收到ACA数据,必然重发Start ACR数据(此时,无法携带DDI字段),数据分发装置收到重发的Start ACR数据后,由于有新的新的数据处理装置动态加入系统,所以数据分发装置要依据新的hash映射表做转发,这样重发的Start ACR数据就可能被分发到其他数据处理装置上,此时会造成重单。
为减少上述问题,此时数据分发装置的处理机制如下:
1)、数据分发装置记录每一个Start ACR数据的DDI字段;。
2)、数据分发装置收到重发的Start ACR数据时,根据记录的DDI字段选择该DDI字段标识的数据处理装置完成Start ACR数据的分发,即将重发的Start ACR数据发送到记录的DDI字段所标识的数据处理装置。
2、消息处理装置故障后的处理:
在一个实施例中,在一次会话中,数据分发装置收到Start ACR数据,通过预定的策略(如,负载均衡算法、轮选或者哈希运算)选择数据处理装置A。将Start ACR数据发给消息处理装置A后,消息处理装置A发生故障,可能的原因包括:①消息处理装置A主动注销;②数据分发装置检测到消息处理装置A链路故障;③ACR数据多次尝试转发失败。
这样,对于该会话的后续ACR数据(Interim ACR或Stop ACR),为确保同一次会话的后续ACR数据仍然分发到同一数据处理装置,数据分发装置不能选择其他消息处理装置处理。此时数据分发装置和数据处理装置的处理机制如下:
1)、在指定时长内,如果数据处理装置A尚未恢复,则数据分发装置丢弃该会话产生的后续ACR数据,丢弃的后续ACR数据会由数据发送装置重发;
在一个实施例中,可以在数据分发装置上配置可允许数据处理装置的故障时长。
2)、超过指定时长,如果数据处理装置尚A未恢复,则数据分发装置转发后续ACR数据到其它数据处理装置,接收到数据分发装置转发的后续ACR数据的数据处理装置,在应答消息中通知数据发送装置更改DDI标识。
在这里,因为超过指定时长,数据处理装置尚未回复,那么数据分发装置就转发后续ACR数据到其它的数据处理装置(当然,可以采用负载均衡。轮询或者哈希运算来决定转发个哪个数据处理装置),由于收到数据分发装置转发的后续ACR数据的数据处理装置已经不是原来的数据处理装置,所以接收到数据分发装置转发的后续ACR数据的数据处理装置,在应答消息中通知数据发送装置更改DDI标识。
本发明实施例通过以上技术方案,在后续ACR数据中携带标识数据处理装置的DDI字段,能够保证同一次会话产生的ACR数据分发到同一个数据处理装置,本发明实施例通过在后续ACR数据中携带DDI字段,不用建立和搜索数据表格,保证了分发过程的无状态,降低了系统的处理负荷,能够高效快速的对接收到的ACR数据进行分发,提高了分发效率。而且DDI字段可以放在后续ACR数据的预置的固定位置。这样数据分发装置在接受到数据发送装置发送的后续ACR数据后,只需解析后续ACR的预置的固定位置部分,就可得到其中携带的DDI字段值,从而有效降低数据分发装置的处理负荷。而且在系统发生异常情况时,采用本发明实施例提供的处理方式,仍能保证同一次会话产生的的ACR数据分发到统一数据处理装置进行处理。
如图3所示,本发明实施例提供一种数据分发装置,包括:
第一接收模块210,用于接收一次会话的初始ACR数据;
分发选择模块220,用于按照预定的策略选择目标数据处理装置,将该初始ACR数据分发到目标数据处理装置进行处理;
在一个实施例中,接收到Start ACR后,分发选择模块220根据数据处理装置的负荷,发送此消息到最低负荷的数据处理装置。
在一个实施例中,接收到Start ACR后,分发选择模块220采用轮选的方式选择数据处理装置,发送Start ACR到目标数据处理装置。
在一个实施例中,接收到Start ACR后,分发选择模块220取出该消息中的会话标识(session-id),对会话标识做哈希运算,将哈希结果映射到一个数据处理装置,发送Start ACR到该数据处理装置。
第一发送模块230,用于发送上述数据处理装置对该初始ACR数据处理完毕后生成的ACA数据,该ACA数据中携带有DDI字段,该DDI字段用于标识该目标数据处理装置;
第二接收模块240,用于接收本次会话产生的后续ACR数据,该后续ACR数据携带有上述DDI字段;
第二发送模块250,用于根据该后续ACR数据中的DDI字段,将该后续ACR数据发送到分发选择模块220中选择出的目标数据处理装置进行处理。
在一个实施例中,DDI字段可以放在后续ACR数据的预置的固定位置。这样第二发送模块250在第二接收模块240接受到数据发送装置发送的后续ACR数据后,只需解析后续ACR的预置的固定位置部分,就可得到其中携带的DDI字段值,从而有效降低数据分发装置的处理负荷。
在一个实施例中,DDI字段可以放在后续ACR数据的第二个字段,即会话标识(session-id)之后。这样第二发送模块250在第二接收模块240接收到数据发送装置发送的后续ACR数据后,只需要部分解析后续ACR数据(即,只需解析后续ACR数据的第二个字段)即可得到其中携带的DDI字段值,从而有效降低数据分发装置的处理负荷。
由于第二发送模块250会根据后续ACR数据中的DDI字段,将后续ACR数据分发到该DDI标识的选择出的数据处理装置进行处理。这就保证了,将同一次会话产生的ACR数据分发到同一个数据处理装置进行处理。
如图4所示,在另一个实施例中,第二发送模块250可以包括:
解析单元251,用于解析第二接收模块240接收到的后续ACR数据的预置的固定位置,得到上述DDI字段;
分发单元252,用于根据解析单元251解析得到的DDI字段中获得DDI字段标识的分发选择模块220选择的目标数据处理装置,将后续ACR数据分发到分发选择模块220选择的目标数据处理装置进行处理。
本发明实施例通过以上技术方案,在后续ACR数据中携带标识数据处理装置的DDI字段,能够保证同一次会话产生的ACR数据分发到同一个数据处理装置,本发明实施例通过在后续ACR数据中携带DDI字段,不用建立和搜索数据表格,保证了分发过程的无状态,降低了系统的处理负荷,能够高效快速的对接收到的ACR数据进行分发,提高了分发效率。而且DDI字段可以放在后续ACR数据的预置的固定位置。这样数据分发装置在接受到数据发送装置发送的后续ACR数据后,只需解析后续ACR的预置的固定位置部分,就可得到其中携带的DDI字段值,从而有效降低数据分发装置的处理负荷。
如图11所示,在另一个实施例中,图3所示的数据分发装置还可以包括:
第一故障处理模块260,用于记录上述DDI字段,在收到重发的初始ACR数据时,根据记录的上述DDI字段,将重发的初始ACR数据分发到该DDI字段标识的数据处理装置进行处理。
在一个实施例中,当发生异常情况(一些预期外的突发情况,如系统掉电、软件进程异常、连接终端等)后,系统仍需要保证同一次会话产生的ACR数据分发到统一数据处理装置进行处理,第一故障处理模块260提供当初始ACR数据对应的应答消息ACA数据丢失后的处理。
本发明实施例通过以上技术方案,在后续ACR数据中携带标识数据处理装置的DDI字段,根据DDI字段的指示,将同一次会话产生的ACR数据分发到同一个数据处理装置,本发明实施例通过在后续ACR数据中携带DDI字段,不用建立和搜索数据表格,保证了分发过程的无状态,降低了系统的处理负荷,能够高效快速的对接收到的ACR数据进行分发,提高了分发效率。而且在系统发生异常情况时,采用本发明实施例提供的处理方式,仍能保证同一次会话产生的的ACR数据分发到统一数据处理装置进行处理。
如图12所示,在另一个实施例中,图3所示的数据分发装置还可以包括:
第二故障处理模块270,用于选择数据处理装置发生故障时,若在指定时长内,该目标数据处理装置尚未恢复,则丢弃该会话产生的后续ACR数据;若超过指定时长,该目标数据处理装置尚未恢复,则数据分发装置转发后续ACR到其它数据处理装置,该其它数据处理装置,在应答消息中通知数据发送装置更改DDI标识。
在一个实施例中,当发生异常情况(一些预期外的突发情况,如系统掉电、软件进程异常、连接终端等)后,系统仍需要保证同一次会话产生的ACR数据分发到统一数据处理装置进行处理,第二故障处理模块270提供对初始ACR数据已在数据处理装置上成功保存,但是其对应的ACA数据在传输路径上丢失,且此时正好有新的数据处理装置动态加入系统,这种异常情况的处理。
当然很好理解的是,在另一个实施例中,该数据分发装置还可以同时包含第一故障处理模块260和第二故障处理模块270。
本发明实施例通过以上技术方案,在后续ACR数据中携带标识数据处理装置的DDI字段,根据DDI字段的指示,将同一次会话产生的ACR数据分发到同一个数据处理装置,本发明实施例通过在后续ACR数据中携带DDI字段,不用建立和搜索数据表格,保证了分发过程的无状态,降低了系统的处理负荷,能够高效快速的对接收到的ACR数据进行分发,提高了分发效率。而且在系统发生异常情况时,采用本发明实施例提供的处理方式,仍能保证同一次会话产生的的ACR数据分发到统一数据处理装置进行处理。
如图5所示,本发明实施例提供一种计费消息的分发系统,包括数据发送装置10和至少一个数据分发装置20,图中示出的至少一个数据处理装置30,为外部的数据处理装置。
数据发送装置10,用于产生一次会话的初始ACR数据,发送本次会话的初始ACR数据至数据分发装置20;接收数据分发装置20发送的数据处理装置30产生的ACA数据,保存其中的DDI字段,并将该DDI字段写入本次会话产生的后续ACR中,然后发送给数据分发装置20;
数据分发装置20,用于接收数据发送装置10发送的一次会话的初始ACR数据;按照预定的策略选择数据处理装置30,将该初始ACR数据分发到数据处理装置30进行处理;发送述数据处理装置30生成的ACA数据,该应答消息中携带有DDI字段,该DDI字段用于标识数据处理装置30;接收数据发送装置10发送的本次会话产生的后续ACR数据,该后续ACR数据携带有上述DDI字段,根据该后续ACR数据中的DDI字段,将该后续ACR数据分发到数据处理装置30进行处理。
需要说明的是,外部的数据处理装置为至少一个,当数据分发装置20接收到一次会话的初始ACR数据后,按照预定的策略(如,负载均衡算法、轮选或者哈希运算)选择一个数据处理装置对该初始数据进行处理,为方便描述,本实施例假定目标数据处理装置即为图5中的数据处理装置30。
数据处理装置30,用于对数据分发装置20发送的初始ACR数据进行处理,处理完毕后生成ACA数据,该应答消息中携带有DDI字段,该DDI字段用于标识数据处理装置30。
数据分发装置20的任一中具体结构和功能详见上述实施例,在此不再赘述。
图5示出了分发系统包括至少一个数据分发装置20和系统外部的数据处理装置为至少一个数据处理装置30的情况,在图6中,本发明另一个实施例示出了数据分发装置和数据处理装置为多个时的结构示意图。
在一个实施例中,数据分发装置20可以根据预定的策略选择数据处理装置30对初始ACR数据进行处理,而数据发送装置10产生的本次会话的后续ACR数据也将发送到数据处理装置30进行处理。当然很好理解的是,在另一个实施例中,数据分发装置20还可以根据预定的策略选择数据处理装置31对初始ACR苏剧进行处理,而数据发送装置10产生的本次会话的后续ACR数据也将发送到数据处理装置31进行处理。具体的过程在上述实施例中已经详细描述,在此不再赘述。
图6中的数据发送装置10,每个数据分发装置和每个数据处理装置的功能如上述实施例所述,不再赘述。
本发明实施例通过以上技术方案,在后续ACR数据中携带标识数据处理装置的DDI字段,能够保证同一次会话产生的ACR数据分发到同一个数据处理装置,本发明实施例通过在后续ACR数据中携带DDI字段,不用建立和搜索数据表格,保证了分发过程的无状态,降低了系统的处理负荷,能够高效快速的对接收到的ACR数据进行分发,提高了分发效率。而且DDI字段可以放在后续ACR数据的预置的固定位置。这样数据分发装置在接受到数据发送装置发送的后续ACR数据后,只需解析后续ACR的预置的固定位置部分,就可得到其中携带的DDI字段值,从而有效降低数据分发装置的处理负荷。
如图7所示,本发明实施例提供一种计费消息的分发系统的应用场景示意图,数据分发装置(对应CTF端)和CCF之间的接口为Rf接口。
在本实施例中包括多个数据分发装置,在图中示出为n个,这n个数据分发装置部署在数据发送端,在本实施例中是将这n个数据分发装置嵌入到数据发送装置,在数据发送端对数据处理装置进行负载均衡。每个数据处理装置对应一个接口模块,接口模块用来完成ACR/ACA数据的分发。在一个实施例中,这些接口模块可以为Diameter接口模块。
由图7可见,在本实施例中,CCF包括多个数据处理装置,即每个数据处理装置均作为CCF的一个模块,具有相同的主机名。数据分发装置与数据处理装置之间有多条链路。在一个实施例中,数据分发装置可以根据ACR数据中的DDI字段选择合适的链路来完成ACR数据的分发。例如,在一个实施例中,数据分发装置20接收到接口模块发送的后续ACR数据后,根据该后续ACR数据中的DDI字段,得知该DDI标识的为数据处理装置31,那么数据分发装置20就会从其与数据处理装置31之间的多条链路中,选择一条合适的链路(如,可以为负荷较轻的链路),来将后续ACR数据发送给数据处理装置31进行处理。详细的分发处理流程在上述实施例中已经详细描述,在此不再赘述。
在一个实施例中,数据分发装置与数据处理装置之间的链路可以为Diameter链路。
本发明实施例通过以上技术方案,在后续ACR数据中携带标识数据处理装置的DDI字段,能够保证同一次会话产生的ACR数据分发到同一个数据处理装置,本发明实施例通过在后续ACR数据中携带DDI字段,不用建立和搜索数据表格,保证了分发过程的无状态,降低了系统的处理负荷,能够高效快速的对接收到的ACR数据进行分发,提高了分发效率。
如图8所示,本发明实施例提供一种计费消息的分发系统的应用场景示意图,数据分发装置(对应CTF端)和CCF之间的接口为Rf接口。
在本实施例中包括一个数据分发装置20,数据分发装置20部署在CCF内,在本实施例中,CCF还包括多个数据处理装置,即每个数据处理装置均作为CCF的一个模块,具有相同的主机名。
在一个实施例中,数据分发装置20可以根据ACR数据中的DDI字段选择相应的数据处理装置来完成ACR数据的分发。例如,在一个实施例中,数据分发装置20接收到数据发送装置10发送的后续ACR数据后,根据该后续ACR数据中的DDI字段,得知该DDI标识的为数据处理装置30,数据分发装置20便根据DDI字段的指示,将后续ACR数据发送给数据处理装置30。
本发明实施例通过以上技术方案,在后续ACR数据中携带标识数据处理装置的DDI字段,能够保证同一次会话产生的ACR数据分发到同一个数据处理装置,本发明实施例通过在后续ACR数据中携带DDI字段,不用建立和搜索数据表格,保证了分发过程的无状态,降低了系统的处理负荷,能够高效快速的对接收到的ACR数据进行分发,提高了分发效率。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,或者二者的结合来实施。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该软件模块或计算机软件产品可以存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。存储介质可以是随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质。
以上所述仅为本发明的几个实施例,本领域的技术人员依据申请文件公开的可以对本发明进行各种改动或变型而不脱离本发明的精神和范围。
Claims (10)
1.一种计费消息的分发方法,其特征在于,包括:
接收一次会话的初始计费请求ACR数据,按照预定的策略选择目标数据处理装置,将所述初始ACR数据分发到所述目标数据处理装置进行处理;
发送所述目标数据处理装置对所述初始ACR数据处理完毕后生成的计费应答ACA数据,所述ACA数据携带有分发目的地指示DDI字段,所述DDI字段用于标识所述目标数据处理装置;
记录所述DDI字段,当所述ACA数据在发送过程中丢失时,接收重发的初始ACR数据,根据记录的所述DDI字段,将所述重发的初始ACR数据分发到所述DDI字段标识的所述目标数据处理装置进行处理;
接收所述一次会话产生的后续ACR数据,所述后续ACR数据携带有所述DDI字段,根据所述DDI字段,将所述后续ACR数据分发到所述目标数据处理装置进行处理。
2.如权利要求1所述的计费消息的分发方法,其特征在于,所述DDI字段包含在所述后续ACR数据的预置的固定位置。
3.如权利要求2所述的计费消息的分发方法,其特征在于,根据所述DDI字段,将所述后续ACR数据分发到所述目标数据处理装置进行处理,包括:
解析所述后续ACR数据的预置的固定位置得到所述DDI字段;
从所述DDI字段中获得所述DDI字段标识的所述目标数据处理装置,将所述后续ACR数据分发到所述目标数据处理装置进行处理。
4.如权利要求1所述的计费消息的分发方法,其特征在于,所述方法还包括:
当所述目标数据处理装置发生故障时,若在指定时长内,所述目标数据处理装置尚未恢复,丢弃所述后续ACR数据;若超过指定时长,所述目标数据处理装置尚未恢复,转发所述后续ACR数据到其它数据处理装置,所述其它数据处理装置,在对所述后续ACR数据处理完毕后生成的ACA数据中通知数据发送装置更改DDI标识。
5.如权利要求1所述的计费消息的分发方法,其特征在于,所述按照预定的策略选择数据处理装置,将所述初始ACR数据分发到目标数据处理装置进行处理,包括:
根据所述数据处理装置的负荷情况,选则负荷最低的数据处理装置,将所述初始ACR数据分发到所述负荷最低的数据处理装置进行处理;
或者,采用轮选的方式选择目标数据处理装置,将所述初始ACR数据分发到所述目标数据处理装置进行处理;
或者,对所述初始ACR数据中的会话标识做哈希运算,将哈希结果映射到特定的数据处理装置,将所述初始ACR数据分发到所述特定的数据处理装置进行处理。
6.一种数据分发装置,其特征在于,包括:
第一接收模块,用于接收一次会话的初始ACR数据;
分发选择模块,用于按照预定的策略选择目标数据处理装置,将所述初始ACR数据分发到所述目标数据处理装置进行处理;
第一发送模块,用于发送所述目标数据处理装置对所述初始ACR数据处理完毕后生成的ACA数据,所述ACA数据携带有DDI字段,所述DDI字段用于标识所述目标数据处理装置;
第一故障处理模块,用于记录所述DDI字段,当所述ACA数据在发送过程中丢失时,接收重发的初始ACR数据,根据记录的所述DDI字段,将所述重发的初始ACR数据分发到所述DDI字段标识的所述目标数据处理装置进行处理;
第二接收模块,用于接收所述一次会话产生的后续ACR数据,所述后续ACR数据携带有所述DDI字段;
第二发送模块,用于根据所述DDI字段,将所述后续ACR数据分发到所述目标数据处理装置进行处理。
7.如权利要求6所述的数据分发装置,其特征在于,所述第二发送模块包括:
解析单元,用于解析所述后续ACR数据的预置的固定位置,得到所述DDI字段;
分发单元,用于根据所述解析单元解析得到的所述DDI字段中获得所述DDI字段标识的所述分发选择模块选择的目标数据处理装置,将所述后续ACR数据分发到所述目标数据处理装置进行处理。
8.如权利要求6所述的数据分发装置,其特征在于,所述装置还包括:
第二故障处理模块,用于当所述目标数据处理装置发生故障时,若在指定时长内,所述目标数据处理装置尚未恢复,丢弃所述后续ACR数据;若超过指定时长,所述目标数据处理装置尚未恢复,转发后续ACR到其它数据处理装置,所述其它数据处理装置,在对所述后续ACR数据完毕后生成的ACA数据中通知数据发送装置更改所述DDI标识。
9.一种计费消息的分发系统,包括数据发送装置和至少一个数据分发装置,其特征在于,
所述数据发送装置,用于发送一次会话的初始ACR数据;接收所述数据分发装置发送的由数据处理装置产生的ACA数据;保存所述ACA数据中的DDI字段,将所述DDI字段写入所述一次会话产生的后续ACR数据中;发送所述后续ACR数据;
所述数据分发装置,用于接收所述一次会话的初始ACR数据;按照预定的策略选择目标数据处理装置,将所述初始ACR数据分发到所述目标数据处理装置进行处理;发送所述目标数据处理装置对所述初始ACR数据处理完毕后生成的ACA数据,所述ACA数据携带有DDI字段,所述DDI字段用于标识所述目标数据处理装置;记录所述DDI字段,当所述ACA数据在发送过程中丢失时,接收重发的初始ACR数据,根据记录的所述DDI字段,将所述重发的初始ACR数据分发到所述DDI字段标识的所述目标数据处理装置进行处理;接收所述一次会话产生的后续ACR数据,所述后续ACR数据携带有所述DDI字段;根据所述DDI字段,将所述后续ACR数据分发到所述目标数据处理装置进行处理。
10.如权利要求9所述的计费消息的分发系统,其特征在于,所述数据分发装置还用于:
当所述目标数据处理装置发生故障时,若在指定时长内,所述目标数据处理装置尚未恢复,丢弃所述后续ACR数据;若超过指定时长,所述目标数据处理装置尚未恢复,转发所述后续ACR数据到其它数据处理装置,所述其它数据处理装置,在对所述后续ACR数据处理完毕后生成的ACA数据中通知数据发送装置更改DDI标识。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101884808A CN102083034A (zh) | 2009-11-28 | 2009-11-28 | 计费消息的分发方法、装置和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101884808A CN102083034A (zh) | 2009-11-28 | 2009-11-28 | 计费消息的分发方法、装置和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102083034A true CN102083034A (zh) | 2011-06-01 |
Family
ID=44088750
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009101884808A Pending CN102083034A (zh) | 2009-11-28 | 2009-11-28 | 计费消息的分发方法、装置和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102083034A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107766508A (zh) * | 2017-10-23 | 2018-03-06 | 深圳市中润四方信息技术有限公司 | 一种数据文件采集分发的方法、系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1968105A (zh) * | 2006-05-31 | 2007-05-23 | 华为技术有限公司 | 基于通信网络的计费系统及计费方法 |
US20070165622A1 (en) * | 2006-01-17 | 2007-07-19 | Cisco Technology, Inc. | Techniques for load balancing over a cluster of subscriber-aware application servers |
CN101472023A (zh) * | 2007-12-28 | 2009-07-01 | 华为技术有限公司 | 计费请求处理方法及系统、计费触发和分发方法及装置 |
-
2009
- 2009-11-28 CN CN2009101884808A patent/CN102083034A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070165622A1 (en) * | 2006-01-17 | 2007-07-19 | Cisco Technology, Inc. | Techniques for load balancing over a cluster of subscriber-aware application servers |
CN1968105A (zh) * | 2006-05-31 | 2007-05-23 | 华为技术有限公司 | 基于通信网络的计费系统及计费方法 |
CN101472023A (zh) * | 2007-12-28 | 2009-07-01 | 华为技术有限公司 | 计费请求处理方法及系统、计费触发和分发方法及装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107766508A (zh) * | 2017-10-23 | 2018-03-06 | 深圳市中润四方信息技术有限公司 | 一种数据文件采集分发的方法、系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104539739B (zh) | 一种文件上传的系统、方法及装置 | |
CN108933727B (zh) | 消息回执的处理方法和装置 | |
CN101039273B (zh) | 通信设备、传输控制方法、和传输控制程序 | |
CN106330414A (zh) | 一种报文传输方法及装置 | |
CN101834834A (zh) | 一种鉴权方法、装置及鉴权系统 | |
CN105516080A (zh) | Tcp连接的处理方法、装置及系统 | |
CN102422704A (zh) | 传送rlc数据块的方法 | |
CN101507318B (zh) | 移动通信系统中使用的无线通信装置及方法 | |
KR100976259B1 (ko) | 무선망 환경에서 동적 ip기반의 양방향 푸시 서비스 시스템 | |
KR101092478B1 (ko) | 이종 링크 상에서의 패킷 전송 방법 및 그 시스템 | |
CN103384181A (zh) | 数据包的传输方法和设备 | |
CN100596123C (zh) | 一种网关系统及其消息业务处理方法 | |
CN103067184B (zh) | 离线计费的异常处理方法及系统 | |
CN101873235A (zh) | 设备网络联通的检测方法、网管系统及网络系统 | |
JP4767336B2 (ja) | メールサーバシステム及び輻輳制御方法 | |
CN101449539B (zh) | 配置连接的方法、无线电信网和移动终端 | |
CN101510872B (zh) | 远程用户拨号认证服务客户端、服务器、发送/接收方法 | |
CN102804664A (zh) | 通信系统、通信设备、通信方法和程序 | |
CN104753761A (zh) | 消息的处理方法、服务器及系统 | |
CN110808917B (zh) | 多链路聚合数据重传方法及发送设备 | |
CN102083034A (zh) | 计费消息的分发方法、装置和系统 | |
CN110266446B (zh) | 一种基于sack模式调整乱序时长的方法和装置 | |
CN103647622A (zh) | 一种实现跨机房数据传输的方法、装置和系统 | |
CN101741605B (zh) | 一种处理报文的方法、设备和系统 | |
CN101548514A (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: 20110601 |