[0066] 在本发明实施例提供的数据业务带宽控制场景中,PCRF、PCEF与OCS及周边功能实体间的协议交互方式如图1所示。当用户使用数据业务时,PCEF首先通过Gx接口向PCRF申请可用带宽;PCRF通过Sy接口与OCS交互,从OCS获取带宽控制参考因子并计算可用带宽,将计算结果通过Gx接口返回给PCEF;PCEF通过Gy接口和OCS交互,向OCS上报计费请求,由OCS完成费用的预留及扣除。
[0067] 带宽计算功能由PCRF完成,PCRF从OCS获取带宽决策算法所需的一些参考因子例如约定的参数参考计数标识(Counter-ID,参考计数标识)和Counter-ID的级别(Counter-Level,参考计数级别,账户的带宽级别)。PCRF通过SLR消息探询获得当前业务中有效的参考计数器标识(Counter-ID)和级别(Counter-Level),基于这些信息以及本地配置的带宽决策策略来完成带宽计算,并通过Gx消息(通过Gx接口传输的消息)将计算结果下发给PCEF。当OCS通过Gy接口进行计费请求消息处理时监控到参考计数标识对应的级别发生变化时,也会通过Sy SNR消息主动下发新的级别给PCRF,指示其重新计算带宽并下发Gx RAR消息给PCEF用于带宽控制重鉴权。
[0068] OCS为计费网元,PCEF的数据业务均需上报Gy消息(通过Gy接口传输的消息)给OCS来进行费用的预留及扣除。Gy协议中包含三类消息:
[0069] Initial CCR/CCA:PCEF上报Initial CCR消息至OCS,OCS根据Initial CCR消息创建在线计费会话并进行费用预留,再向PCEF返回Initial CCA消息,PCEF通过Initial CCA消息获得实际可使用的授权业务量(GSU:Granted Service Unit);
[0070] Update CCR/CCA:PCEF向OCS上报Update CCR消息,所述消息用于发送当前已使用业务量(USU:Used Service Unit)并可以请求新业务量,OCS扣除已使用业务量的费用,并对请求的新业务量进行授权及费用预留,再向PCEF返回Update CCA消息;
[0071] Terminate CCR/CCA:PCEF向OCS上报Terminate CCR消息以通知OCS当前在线计费会话已结束,OCS对于该消息上报的已使用的业务量进行扣费并结束会话,并向PCEF返回Terminate CCA消息。
[0072] 在本发明实施例提供的数据业务带宽控制技术中,PCEF与OCS之间的交互流程如图2所示,包括:
[0073] 1)用户的上网行为触发PCEF上报Initial CCR(CCR-I)消息至OCS,此处CCR为3GPP Gy接口约定中定义的计费请求消息;
[0074] 2)OCS接收到Initial CCR消息后,创建在线计费会话,针对请求业务量进行费用预留及授权,并设置在线计费会话的有效保存时长;向PCEF返回Initial CCA(CCA-I)消息,该消息中携带有所述有效保存时长(参数Validity-Time),此处CCA为3GPP Gy接口约定中定义的计费响应消息。
[0075] 3)PCEF接收Initial CCA消息,在GSU(Granted Service Unit,授权业务量)用尽,或者Validity-Time指示的时间到来时向OCS上报更新的CCR消息(Update CCR(CCR-U))消息,其中携带USU(Used Service Unit,已使用业务量)信息。
[0076] 4)OCS接收Update CCR消息,对已使用业务量进行扣费,并对新请求业务量进行费用预留及授权。之后更新在线计费会话的有效保存时长Validity-Time,并将新授权业务量和更新的有效保存时长在Update CCA(CCA-U)消息中返回给PCEF。
[0077] 5)当用户终止上网时,PCEF向PCS上报Terminate CCR(CCR-T)消息,该消息携带有USU信息。
[0078] 6)OCS收到Terminate CCR消息后,对已使用业务量扣费并结束会话,向PCEF返回Terminate CCA(CCA-T)消息。
[0079] 当OCS在设定的时间内未收到下一个消息时,会在等待一个时间间隔(如120秒)后自动清理OCS侧的在线计费会话,以便及时释放资源。以下举例说明:用户10:00:00上网,OCS中设置的Validity-Time为1800秒,则Initial CCA消息中携带的Validity-Time为1800秒,在10:30:00前PCEF需要上报新的消息(Update CCR或Terminate CCR均可),否则会触发OCS的周期清理机制;在10:20:00由于授权业务量(GSU)用尽,PCEF上报了Update CCR消息,在OCS返回的Update CCA消息中Validity-Time依旧为1800秒,此时OCS的会话保存时间更新为10:50:00,PCEF需要在10:50:00前上报下一个消息。
[0080] PCRF中配置带宽控制计算规则,在需要请求带宽授权或者指示带宽重新决策时,业务通过PCEF向PCRF上报相关消息,PCRF接收到相关消息后进行带宽计算,带宽计算中依赖的参考因子包括参考计数标识Counter-ID和Couter-Level。PCEF、PCRF(Policy and Charging Rule Function,策略与计费规则功能模块)与OCS(Online Charging System,在线计费系统)之间交互过程如图3所示,包括:
[0081] 1)用户通过数据业务请求触发PCEF,PCEF上报Gx Initial CCR消息(按3GPP Gx接口约定定义)至PCRF,CCR消息中包含Charging Rule(计费规则);
[0082] 2)PCRF根据计费规则在本地查询得到相应的Counter-ID;
[0083] 3)PCRF上报Sy SLR(Spending-Limit-Request,使用限制请求)消息(3GPP Sy接口约定中定义的特定Counter状态信息查询消息)至OCS以请求用户当前的Counter信息,该消息中可以携带步骤2)中的Counter-ID,或者不携带,不携带时,OCS默认查询当前用户所有有效的Counter信息。
[0084] 4)OCS接收到Sy SLR消息后,根据Counter-ID得到对应的Counter-Level,将Counter-ID和Counter-Level保存于Counter-Status(计数器状态信息)。
[0085] 5)OCS向PCRF返回Sy SLA(Spending-Limit-Answer,使用限制响应)消息(3GPP Sy接口约定中定义的OCS返回PCRF的响应消息,与Sy SLR对应),该消息携带有Counter-Status;
[0086] 6)PCRF根据OCS返回的Counter状态信息结合计费规则计算可授权带宽;
[0087] 7)PCRF向PCEF返回Gx Initial CCA消息(按3GPP Gx接口约定定义),该消息中携带有QoS(Quality of Service,服务质量)信息(包含可授权带宽)及其对应的计费规则;
[0088] 8)PCEF接收到Gx Initial CCA消息后,上报Gy Initial CCR消息(按3GPP Gy接口约定定义)至OCS申请业务量授权及费用预留;
[0089] 9)OCS接收到Gy Initial CCR消息后,计算可授权业务量并为余额预留费用;
[0090] 10)OCS完成计算,返回Gy Initial CCA消息(按3GPP Gy接口约定定义)至PCEF,该消息包含授权业务量和Validity-Time;
[0091] 11)当已授权业务量用尽或者达到Validity-Time时,PCEF上报Gy Update CCR消息至OCS,消息中包含已使用业务量;
[0092] 12)OCS首先对已使用业务量进行扣费,然后计算新的授权业务量,更新余额及预留费用;
[0093] 13)在结算完已使用业务量费用后,OCS确认是否发生了带宽变化,具体地,确认Counter-Level是否发生了变化;
[0094] 14)如果Counter-Level发生了变化,OCS下发Sy SNR消息给PCRF,消息中携带Policy-Counter-Status-Report信息,其中,Sy SNR
[0095] (Spending-Status-Notification-Request,使用状态通知请求)消息为3GPP Sy接口约定定义的指示Counter状态信息变化的消息;
[0096] 15)PCRF根据Policy-Counter-Status-Report携带的Counter-ID信息,得到对应的Charge Rule,也就是根据Counter-ID映射Charge Rule;
[0097] 16)PCRF根据得到的计费规则,重新计算带宽信息;
[0098] 17)PCRF下发Gx RAR(Re-authentication Request,重认证请求)消息给PCEF,消息中携带新的QoS信息及其对应的计费规则;
[0099] 18)PCEF接收Gx RAR消息,在应用新的QoS之后,返回Gx RAA(Re-authentication Answer,信用重授权应答)消息给PCRF;
[0100] 19)PCRF接收到Gx RAA消息后,返回Sy SNA消息给OCS,其中,Sy SNA(Spending-Notification-Answer,使用通知响应)消息为3GPP Sy接口约定定义的PCRF向OCS返回的响应,与Sy SNR对应;
[0101] 20)当结束数据业务会话时,PCEF上报Gx Termination CCR消息至PCRF;
[0102] 21)PCRF接收到Gx Termination CCR消息后,发送Sy STR消息给OCS,请求结束会话,其中,Sy STR(Session-Termination-Request,会话终止请求)消息为3GPP Sy接口约定定义的PCRF向OCS发送的指示不再报告Counter状态信息变化的消息;
[0103] 22)OCS结束会话;
[0104] 23)OCS结束会话后,返回Sy STA消息给PCRF,其中,Sy STA为(Session-Termination-Answer,会话终止响应)消息为3GPP Sy接口约定定义的OCS向PCRF返回的响应消息,与Sy STR对应;
[0105] 24)PCRF接收到Sy STA消息后,结束本侧的会话;
[0106] 25)PCRF返回Gx Termination CCA消息给PCEF。
[0107] OCS侧的数据业务带宽控制会话信息,是通过与PCRF之间的Sy消息(基于3GPP Sy接口约定的消息)交互来保证和PCRF侧会话的一致性,图4为图3中PCRF与OCS之间交互流程简化示意图,如图4所示:1、PCRF向OCS上报Initial SLR消息;2、当接收到PCRF向OCS上报的Initial SLR消息后,OCS创建会话;3、PCRF向OCS上报STR消息;4、当PCRF接收到向OCS上报的STR消息后,OCS结束会话。
[0108] 参见图5,为本发明实施例所提供的一种OCS无效会话清理方法,所述方法包括:
[0109] 步骤S501,策略与控制增强功能模块PCEF或策略与计费规则功能模块PCRF向OCS发送消息,所述消息携带有会话有效性检查标识,若所述PCEF或PCRF上存在未向所述OCS发送会话结束消息的已终止会话,所述会话有效性检查标识等于设定值;
[0110] 步骤S502,所述OCS接收所述消息,得到所述会话有效性检查标识,若所述会话有效性检查标识等于设定值,清除所述OCS中与所述PCEF或所述PCRF对应的无效会话。
[0111] 本发明实施例所提供的OCS无效会话清理方法,在Gy CCR/Sy SLR消息中增加扩展参数:会话有效性检查标识,或者会话有效性检查标识和有效会话标识。在一种实施方式中,由PCEF/PCRF检测当前是否存在在本侧已终止但并未向OCS侧发送Gy Terminate CCR(PCEF发送)/Sy STR(PCRF发送)消息的会话;当存在时,PCEF/PCRF向OCS发送消息,通过消息中的扩展参数来指示OCS进行无效会话清理,从而使得OCS侧无效的Gy/Sy会话及时得到释放,避免产生拒绝服务故障、新会话无法接入或其它业务规则上的问题。
[0112] 其中,会话有效性检查标识等于设定值时,表示OCS应当进行无效会话清理。所述设定值预先规定,例如设定值为“True”(或“T”),会话有效性检查标识作为变量,其值等于“True”(或“T”)时,表示OCS应当进行无效会话清理,会话有效性检查标识等于“False”(或者“F”)或者其他非“True”的值时,OCS不进行无效会话清理。
[0113] 会话有效性检查标识等于设定值,可以为会话有效性检查标识作为变量,其值等于设定值;或者会话有效性检查标识本身表示空或非空的值,也就是消息中设置保存会话有效性检查标识的位置,若所述位置非空(即所述位置存在一个参数),则存在会话有效性检查标识,若所述位置为空,则不存在会话有效性检查标识,OCS接收到所述消息后,读取消息中的所述位置,若从该位置得到参数(即得到会话有效性检查标识),也就是所述会话有效性检查标识为非空值,OCS进行无效会话清理。以下主要以会话有效性检查标识作为变量,其值等于设定值为例来说明本发明实施例所提供的技术方案。
[0114] 具体地,当需要通知OCS进行无效会话清理时,PCEF在基于Gy协议的Initial CCR消息中、PCRF在基于Sy协议的Initial SLR消息中增加扩展参数,扩展参数可以如表1所示:
[0115]
[0116] 其中,Valid-Session-ID也可以为标识当前有效会话列表的参数,也可以替换为其它能够表示当前有效会话信息的参数,例如有效会话个数,OCS可以根据预设的规则(例如最先创建最先清理)进行清理,仅保留“有效会话个数”所指定个数的会话。
[0117] 本发明实施例所述提供的技术方案中,PCEF及OCS之间的Gy协议会话交互流程可以如图6所示:1、PCEF检查是否存在未向所述OCS发送会话结束消息(Terminate CCR消息)的已终止会话,若确定存在,则在发送的新会话的Initial CCR消息中携带扩展参数;2、OCS接收到PCEF上报的Initial CCR消息后,在OCS侧进行无效会话清理,以及新会话的创建。
[0118] 具体地,用户使用数据业务,通过数据业务请求触发PCEF上报Gy Initial CCR消息至OCS,所述消息发送前,PCEF可以先检查是否存在未向所述OCS发送会话结束消息(Terminate CCR消息)的已终止会话。若确定存在,则在发送的新会话的Initial CCR消息中携带扩展参数(Session-Verify-Flag(其值为设定值“T”)),如果除新会话外还有其他在线会话,则在新会话的Initial CCR消息中还可以携带扩展参数Valid-Session-ID(一个或多个),如果除新会话外没有其他在线会话,则Initial CCR消息中可以不携带Valid-Session-ID;如果确定不存在,则Initial CCR消息中不必携带上述扩展参数。OCS接收到Initial CCR消息后,解析得到会话有效性检查标识(值为“True”)及有效会话标识(一个或多个,或者替换为有效会话标识列表),则清除OCS侧除所述有效会话标识对应的会话之外的其他Gy会话(即基于Gy协议的会话),然后进行新会话创建及处理,向PCEF返回Initial CCA消息。
[0119] 具体地,PCEF可以在创建新会话之前检查是否存在未向所述OCS发送会话结束消息的已终止会话,也可以在创建新会话后,向OCS发送Initial CCR消息之前检查是否存在未向所述OCS发送会话结束消息的已终止会话。当存在PCEF已终止但未上报Terminate CCR消息给OCS的会话时,PCEF在CCR消息中携带会话有效性检查标识且会话有效性检查标识等于设定值。PCEF网元升级或者服务异常中止时,或者PCEF根据特定错误码直接终止会话时,或者网络超时使得会话超时导致PCEF直接终止会话时,都会出现PCEF已终止但未上报Terminate CCR消息给OCS的会话。
[0120] 具体地,可以在PCEF侧设置一个在线会话的计数器,PCEF向OCS每上报一次Initial CCR消息,所述计数器加一次1,PCEF向OCS每上报一次Terminate CCR消息,则所述计数器减一次1。当PCEF侧实际的在线会话数与计数器的计数不同时,确定存在PCEF已终止但未上报Terminate CCR消息给OCS的会话。这种方式简洁且有利于及时地通知OCS进行无效会话清理。
[0121] PCEF也可以任何情况下都通知OCS进行无效会话清理(也就是任何情况下都在CCR消息中携带会话有效性检查标识且会话有效性检查标识等于设定值),但这样会增加网元的资源占用。或者PCEF在中断服务后的一定时间内始终通知OCS进行无效会话清理,这样可以相对减少网元的资源占用,但可能会漏掉其他需要进行无效会话清理的情况。或者PCEF可以在检测到存在超时的会话后立刻向OCS发送消息通知OCS进行无效会话清理,这样有利于OCS及时清理超时的无效会话。
[0122] 如果确定存在PCEF已终止但未上报Terminate CCR消息给OCS的会话,则PCEF在向OCS上报的Initial CCR消息中携带上述扩展参数(例如Session-Verify-Flag,或者Session-Verify-Flag和Valid-Session-ID)。
[0123] 具体地,基于本发明实施例所提供的OCS无线会话清理方法,OCS接收到PCEF上报的Initial CCR消息后,在OCS侧进行无效会话清理,以及新会话的创建,具体流程可以如图7所示:OCS接收到Initial CCR消息后,解析Initial CCR消息,可以判断其中是否携带了会话有效性检查标识(Session-Verify-Flag),如果携带了,判断会话有效性检查标识的值是否为设定值(例如为“T”),如果没有携带,或者会话有效性检查标识的值不为设定值,则按通常情况处理,直接开始创建新会话。如果会话有效检查标识的值为设定值,则可以进一步判断是否携带了有效会话标识(一个或多个,或者替换为有效会话标识列表),如果携带了,则清除OCS侧的无效Gy会话(即基于Gy协议的会话),所述无效Gy会话即OCS侧除所述有效会话标识对应的会话之外的其他Gy会话;如果没有携带有效会话标识,则说明当前OCS侧所有历史Gy会话都是无效的,则OCS清理所有历史Gy会话。
[0124] 若PCEF在任何情况下都通知OCS进行无效会话清理,则OCS也可以不需判断CCR消息中是否携带有会话有效性检查标识,而是按照预先规定非格式读取CCR消息,得到会话有效性检查标识,若同时读取到有效会话标识,则清除与所述有效会话标识对应的会话之外的其他Gy会话,否则清除所有历史Gy会话;若预先规定CCR中必须有有效会话标识,则OCS也无需判断CCR中是否携带有有效会话标识,而是直接读取有效会话标识,再清除与所述有效会话标识对应的会话之外的其他Gy会话。这种实现方式也适用于PCRF和OCS之间的交互。以下举例说明:假设用户在10:00:00开始上网,PCEF创建会话1,检测到当前计数器的数值为0,计数器便直接加1,然后发送Initial CCR消息给OCS;OCS创建会话1,Validity-Time为半小时(1800秒),故会话的有效期至10:30:00。在OCS返回给PCEF的Initial CCA消息中,OCS指示PCEF授权业务量GSU=10Mb,Vaility-Time=1800秒。在10:10:00,PCEF由于系统宕机或中断升级等原因停止服务,该侧所有在线会话全部异常结束。10:15:00PCEF服务恢复正常。10:16:00用户重新开始上网,则PCEF创建会话2,检测到当前计数器的数值为1,而当前属于该用户的实际在线会话数为0,由此确定需要进行无效会话检查,在基于会话2的Initial CCR消息中包含至为“T”(True)的Session-Verify-Flag参数,由于当前不存在有效的在线会话,因此不包含Valid-Session-ID。OCS接收到基于会话2的Initial CCR消息后,在创建会话2之前,对属于用户的会话进行检查,发现当前存在一个无效会话即会话1,故清理会话1。
[0125] 本发明实施例所述提供的技术方案中,PCRF及OCS之间的Sy协议会话交互流程和上述PCEF和OCS之间的Gy协议会话交互流程类似,将PCEF替换为PCRF,Initial CCR替换成Initial SLR即可。例如图8所示:1、PCRF检查是否存在未向所述OCS发送会话结束消息(STR消息)的已终止会话,若确定存在,则在发送的新会话的SLR消息中携带扩展参数;2、OCS接收到PCRF上报的SLR消息后,在OCS侧进行无效会话清理,以及新会话的创建。
[0126] 具体地,PCRF在上报Initial SLR消息至OCS前,先检查是否存在未向所述OCS发送会话结束消息(STR消息)的已终止会话,若确定存在,则在发送的新会话的SLR消息中携带扩展参数(Session-Verify-Flag(值为“T”)),如果除新会话外还有其他在线会话,则在新会话的Initial SLR消息中还可以携带扩展参数Valid-Session-ID,如果除新会话外没有其他在线会话,则Initial SLR消息中可以不携带Valid-Session-ID;如果确定不存在,则Initial SLR消息中不必携带上述扩展参数。
[0127] 基于本发明实施例所提供的OCS无线会话清理方法,OCS接收到PCRF上报的Initial SLR消息后,在OCS侧进行无效会话清理,以及新会话的创建,具体流程可以如图9所示:OCS接收到Initial SLR消息后,解析Initial SLR消息,判断其中是否携带了会话有效性检查标识(Session-Verify-Flag),如果携带了,判断会话有效性检查标识的值是否为“T”(“True”),如果没有携带,或者会话有效性检查标识的值不为“T”,则按通常情况处理,直接开始创建新会话。如果会话有效检查标识的值为“T”,则进一步判断是否携带了有效会话标识,如果携带了,则清除OCS侧的无效Sy会话(即基于Sy协议的会话),所述无效Sy会话即OCS侧除所述有效会话标识对应的会话之外的其他Sy会话;如果没有携带,则说明当前OCS侧所有历史Sy会话都是无效的,OCS清理所有历史Sy会话。
[0128] 本发明实施例所提供的技术方案,在PCRF/PCEF中可以增加是否存在未向所述OCS发送会话结束消息的已终止会话的处理,若确定存在,则在向OCS上报的Initial CCR/SLR消息中增加扩展参数Session-Verify-Flag,或者Session-Verify-Flag和Valid-Session-ID;OCS接收到Initial CCR/SLR消息后,根据扩展参数提前进行无效会话清理,不依赖于Terminate CCR或者STR消息的上报。这样可以最大程度地保证OCS与PCEF/PCRF之间业务会话的一致性,使得OCS侧的Gy/Sy无效会话能够及时被释放,从而进一步带来如下有益效果:减少无效会话对OCS侧系统资源的占用,避免由于无效会话释放不及时导致拒绝服务或新会话不可接入;及时释放OCS侧无效会话预留的余额,避免新接入的会话无法使用这部分余额而导致扣费顺序紊乱;避免OCS基于无效的Sy会话发送SNR消息,减少网络资源的滥用,减轻PCRF侧可能存在的无效告警。
[0129] 在PCEF/PCRF确定存在已终止但未向OCS发送Terminate CCR消息会话后,除使用增加了扩展参数的Initial CCR/Initial SLR消息通知OCS外,也可以使用独立的一组消息来通知OCS进行无效会话清理。以PCEF和OCS之间的Gy协议交互流程为例,如图10所示,1、PCEF检查当前是否存在已终止但未向OCS发送Terminate CCR消息会话,若确定存在,则PCEF向OCS发送特定消息(例如SSR(Session-Synchronize-Request,会话同步请求))消息,在该消息中携带所述扩展参数:会话有效检查标识Session-Verify-Flag或者会话有效检查标识Session-Verify-Flag和有效会话标识Valid-Session-ID。2、OCS清除无效Gy会话,成功后返回响应消息(例如SSA(Session-Synchronize-Answer,会话同步响应)消息),具体地,OCS接收到所述特定消息后,解析得到会话有效性检查标识,或者得到会话有效性检查标识和有效会话标识,若会话有效性检查标识的值不为设定值(例如“T”),则按通常情况处理,直接开始创建新会话;如果会话有效检查标识的值为设定值,则进一步判断是否携带了有效会话标识,如果携带了,则清除OCS侧的无效Gy会话,所述无效Gy会话即OCS侧除所述有效会话标识对应的会话之外的其他Gy会话;如果没有携带,则说明当前OCS侧所有Gy会话都是无效的,OCS清除所有Gy会话。无效Gy会话清除成功后OCS向PCEF返回响应消息(例如SSA(Session-Synchronize-Answer,会话同步响应)消息)。然后PCEF和OCS之间执行新会话创建的步骤:3、接收到SSA消息后,PCEF向OCS上报Initial CCR消息;4、当接收到PCEF向OCS上报的Initial CCR消息后,OCS创建新会话,并向PCEF返回Initial CCA消息。
[0130] PCRF和OCS之间的Sy协议交互可参考图10所示的例子,例如图11所示,将PCEF替换为PCRF,将Terminate CCR替换为STR,以及将会话创建过程中的CCR替换为SLR、CCA替换为SLA即可。1、PCRF检查当前是否存在已终止但未向OCS发送Terminate CCR消息会话,若确定存在,则PCRF向OCS发送特定消息(例如SSR(Session-Synchronize-Request,会话同步请求))消息,在该消息中携带所述扩展参数:会话有效检查标识Session-Verify-Flag或者会话有效检查标识Session-Verify-Flag和有效会话标识Valid-Session-ID。2、OCS清除无效Sy会话,成功后返回SSA消息,具体地,OCS接收到所述特定消息后,解析得到会话有效性检查标识,或者得到会话有效性检查标识和有效会话标识,若会话有效性检查标识的值不为设定值(例如“T”),则按通常情况处理,直接开始创建新会话;如果会话有效检查标识的值为设定值,则进一步判断是否携带了有效会话标识,如果携带了,则清除OCS侧的无效Sy会话,所述无效Sy会话即OCS侧除所述有效会话标识对应的会话之外的其他Sy会话;如果没有携带,则说明当前OCS侧所有Sy会话都是无效的,OCS清除所有Sy会话。无效Gy会话清除成功后OCS向PCEF返回响SSA消息。然后PCRF和OCS之间执行新会话创建的步骤:3、接收到SSA消息后,PCRF向OCS上报SLR消息;4、当接收到PCRF向OCS上报的SLR消息后,OCS创建新会话,并向PCRF返回SLA消息。
[0131] 不使用CCR或者SLR消息携带扩展参数,而是使用包含所述扩展参数的特定消息来通知OCS进行无效会话检查和清理,可以避免参数过多而使CCR或SLR消息出错,以及使OCS更容易解析到正确的扩展参数,从而更正确地进行无效会话检查和清理,但这种实现方式会增加PCER/PCRF和OCS之间的交互次数。基于SSR/SSA消息的会话机制也可以设计成系统级的,例如在PCEF(同样适用于PCRF)因升级终止服务前,可以在系统级层面发送SSR/SSA消息给OCS,指示OCS该消息时间点之前创建的会话全部为无效会话,可以立即启动清理,这种方式由系统进行控制,不需PCEF和PCRF与OCS交互消息,但不适用于会话超时或PCEF(或PCRF)根据错误码终止会话导致在OCS侧出现无效会话的情况。
[0132] 本发明实施例还提供一种OCS无效会话清理方法,应用于PCEF或PCRF侧,所述方法包括:若PCEF或PCRF确定存在未向所述OCS发送会话结束消息的已终止会话,向OCS发送第一消息,所述第一消息中携带有会话有效性检查标识,所述会话有效性检查标识等于设定值。
[0133] 其中,所述第一消息还可以携带有效会话标识,所述有效会话标识为所述PCEF或PCRF中除所述未向所述OCS发送会话结束消息的已终止会话之外的当前会话的标识。
[0134] 其中,所述PCRF或所述PCEF确定存在未向所述OCS发送会话结束消息的已终止会话,可以包括:若所述PCRF中的在线会话数不等于第一参考会话数,确定所述PCRF中存在未向所述OCS发送会话结束消息的已终止会话,所述参考会话数等于所述PCEF向OCS发送Initial CCR消息的次数减去发送Terminate CCR消息的次数;若所述PCEF中的在线会话数不等于第二参考会话数,确定所述PCEF中存在未向所述OCS发送会话结束消息的已终止会话,所述第二参考会话数等于所述PCRF向OCS发送SLR消息的次数减去发送STR消息的次数。
[0135] 所述方法还包括:PCEF或PCRF收所述OCS返回的第二消息,所述第二消息用于通知无效会话清理成功。
[0136] 本发明实施例还提供一种OCS无效会话清理方法,应用于OCS侧,所述方法包括:OCS接收PCEF或PCRF发送的消息,所述消息携带有会话有效性检查标识,若所述PCEF或PCRF存在未向所述OCS发送会话结束消息的已终止会话,所述会话有效性检查标识等于设定值;
OCS得到所述会话有效性检查标识,若所述会话有效性检查标识等于设定值,清除所述OCS中与所述PCEF或所述PCRF对应的无效会话。
[0137] 其中,所述清除所述OCS中与所述PCEF或所述PCRF对应的无效会话可以包括:判断所述第一消息中是否携带有有效会话标识,所述有效会话标识为所述PCEF或PCRF中除所述未向所述OCS发送会话结束消息的已终止会话之外的当前会话的标识;若所述第一消息携带有所述有效会话标识,清除除所述有效会话标识对应的会话之外的历史会话;若所述第一消息未携带所述有效会话标识,清除所述OCS中与所述PCEF或所述PCRF对应的所有历史会话。
[0138] 或者,所述清除所述OCS中与所述PCEF或所述PCRF对应的无效会话包括:清除所述OCS中与所述PCEF或所述PREF对应的所有历史会话。或者,所述第一消息还携带有有效会话标识,所述有效会话标识为所述PCEF或PCRF中除所述未向所述OCS发送会话结束消息的已终止会话之外的当前会话的标识,所述清除所述OCS中与所述PCEF或所述PCRF对应的无效会话:清除所述OCS中除所述有效会话标识对应的会话之外的历史会话。
[0139] 所述方法还包括:OCS向所述PCEF或PCRF返回第二消息,所述第二消息用于通知无效会话清理成功。
[0140] 本发明实施例还提供一种OCS无效会话清理系统,包括PCEF、PCRF和OCS,其中:
[0141] PCEF,用于向OCS发送第一消息,所述第一消息携带有会话有效性检查标识,若所述PCEF上存在未向所述OCS发送会话结束消息的已终止会话,所述会话有效性检查标识等于设定值;
[0142] PCRF,用于向OCS发送第二消息,所述第二消息携带有会话有效性检查标识,若所述PCRF上存在未向所述OCS发送会话结束消息的已终止会话,所述会话有效性检查标识等于设定值;
[0143] OCS,用于接收所述第一消息或所述第二消息,得到所述会话有效性检查标识,若所述会话有效性检查标识等于设定值,清除所述OCS中与所述PCEF或所述PCRF对应的无效会话。
[0144] 其中,所述OCS具体用于:判断所述第一消息中是否携带有有效会话标识,所述有效会话标识为所述PCEF或PCRF中除所述未向所述OCS发送会话结束消息的已终止会话之外的当前会话的标识;若所述第一消息携带有所述有效会话标识,清除除所述有效会话标识对应的会话之外的历史会话;若所述第一消息未携带所述有效会话标识,清除所述OCS中与所述PCEF或所述PCRF对应的所有历史会话。
[0145] 或者,所述OCS具体用于:清除所述OCS中与所述PCEF或所述PREF对应的所有历史会话。或者,所述第一消息还携带有有效会话标识,所述有效会话标识为所述PCEF或PCRF中除所述未向所述OCS发送会话结束消息的已终止会话之外的当前会话的标识,所述OCS具体用于:清除所述OCS中除所述有效会话标识对应的会话之外的历史会话。
[0146] 其中,若所述PCRF或所述PCEF确定存在未向所述OCS发送会话结束消息的已终止会话,向所述OCS发送所述第一消息。所述PCEF具体用于:若所述PCEF中的在线会话数不等于第一参考会话数,确定所述PCEF中存在未向所述OCS发送会话结束消息的已终止会话,所述第一参考会话数等于所述PCEF向OCS发送Initial CCR消息的次数减去发送Terminate CCR消息的次数。所述PCRF具体用于:若所述PCRF中的在线会话数不等于第二参考会话数,确定所述PCRF中存在未向所述OCS发送会话结束消息的已终止会话,所述第二参考会话数等于所述PCRF向OCS发送SLR消息的次数减去发送STR消息的次数。
[0147] 本发明实施例还提供一种PCEF,如图12所示,所述PCEF包括:发送单元,用于若确定存在未向OCS发送会话结束消息的已终止会话,向所述OCS发送第一消息,所述第一消息中携带有会话有效性检查标识,所述会话有效性检查标识等于设定值。
[0148] 其中,所述第一消息还可以携带有效会话标识,所述有效会话标识为所述PCEF中除所述未向所述OCS发送会话结束消息的已终止会话之外的当前会话的标识。
[0149] 所述PCEF还包括处理单元,用于:若所述PCEF中的在线会话数不等于第一参考会话数,确定所述PCEF中存在未向所述OCS发送会话结束消息的已终止会话,所述第一参考会话数等于所述发送单元向OCS发送Initial CCR消息的次数减去发送Terminate CCR消息的次数。
[0150] 所述PCEF还包括接收单元,用于接收所述OCS返回的第二消息,所述第二消息用于通知无效会话清理成功。
[0151] 本发明实施例还提供一种PCRF,如图13所示,所述PCRF包括:发送单元,用于若确定存在未向OCS发送会话结束消息的已终止会话,向所述OCS发送第一消息,所述第一消息中携带有会话有效性检查标识,所述会话有效性检查标识等于设定值。
[0152] 其中,所述第一消息还可以携带有效会话标识,所述有效会话标识为所述PCRF中除所述未向所述OCS发送会话结束消息的已终止会话之外的当前会话的标识。
[0153] 所述PCRF还包括处理单元,用于:若所述PCRF中的在线会话数不等于第二参考会话数,确定所述PCRF中存在未向所述OCS发送会话结束消息的已终止会话,所述第二参考会话数等于所述PCRF向OCS发送SLR消息的次数减去发送STR消息的次数。
[0154] 所述PCRF还包括接收单元,用于接收所述OCS返回的第二消息,所述第二消息用于通知无效会话清理成功。
[0155] 本发明实施例还提供一种OCS,如图14所示,所述OCS包括接收单元和处理单元,所述接收单元用于:接收PCEF或PCRF发送的消息,所述消息携带有会话有效性检查标识,若所述PCEF或PCRF存在未向所述OCS发送会话结束消息的已终止会话,所述会话有效性检查标识等于设定值;所述处理单元用于:得到所述会话有效性检查标识,若所述会话有效性检查标识等于设定值,清除所述OCS中与所述PCEF或所述PCRF对应的无效会话。
[0156] 其中,所述处理单元还用于:判断所述第一消息中是否携带有有效会话标识,所述有效会话标识为所述PCEF或PCRF中除所述未向所述OCS发送会话结束消息的已终止会话之外的当前会话的标识;若所述第一消息携带有所述有效会话标识,清除除所述有效会话标识对应的会话之外的历史会话;若所述第一消息未携带所述有效会话标识,清除所述OCS中与所述PCEF或所述PCRF对应的所有历史会话。
[0157] 或者,所述处理单元还用于:清除所述OCS中与所述PCEF或所述PCRF对应的无效会话包括:清除所述OCS中与所述PCEF或所述PREF对应的所有历史会话。或者,所述第一消息还携带有有效会话标识,所述有效会话标识为所述PCEF或PCRF中除所述未向所述OCS发送会话结束消息的已终止会话之外的当前会话的标识,所述处理单元还用于:清除所述OCS中除所述有效会话标识对应的会话之外的历史会话。
[0158] 所述OCS还包括发送单元,用于向所述PCEF或PCRF返回第二消息,所述第二消息用于通知无效会话清理成功。
[0159] 参见图15,图15为本发明实施例提供的PCEF的硬件结构图,所述PCRF包括总线、处理器、存储器、输入输出接口和通信接口。总线是连接所描述的元素的电路并且在这些元素之间实现传输,例如,处理器通过总线从其它元素接收到命令,解密接收到的命令,根据解密的命令执行计算或数据处理。存储器可以包括程序模块,例如内核(kernel),中间件(middleware),应用程序接口(AP)和应用,所述程序模块可以是由软件、固件或硬件、或其中的至少两种组成。输入输出接口转发用户通过输入输出设备(例如感应器、键盘、触摸屏)输入的命令或数据。通信接口将本终端与其它终端、服务器、网络进行连接,例如,通信接口可以通过有线或无线连接到网络以连接到外部其它的终端或服务器。
[0160] 在联网环境下,PCEF中存储的计算机执行指令可以存储在远程存储设备中,而不限于在本地存储。当PCEF的处理器执行存储器中存储的可执行代码或应用程序时,PCEF可以执行以上实施例中应用于PCEF一侧的方法步骤,具体执行过程可以参见上述应用于PCEF一侧的方法实施例,在此不再赘述。
[0161] 参见图16,图16为本发明实施例提供的PCRF的硬件结构图,所述PCRF包括总线、处理器、存储器、输入输出接口和通信接口。总线是连接所描述的元素的电路并且在这些元素之间实现传输,例如,处理器通过总线从其它元素接收到命令,解密接收到的命令,根据解密的命令执行计算或数据处理。存储器可以包括程序模块,例如内核(kernel),中间件(middleware),应用程序接口(AP)和应用,所述程序模块可以是由软件、固件或硬件、或其中的至少两种组成。输入输出接口转发用户通过输入输出设备(例如感应器、键盘、触摸屏)输入的命令或数据。通信接口将本终端与其它终端、服务器、网络进行连接,例如,通信接口可以通过有线或无线连接到网络以连接到外部其它的终端或服务器。
[0162] 在联网环境下,PCRF中存储的计算机执行指令可以存储在远程存储设备中,而不限于在本地存储。当PCRF的处理器执行存储器中存储的可执行代码或应用程序时,PCRF可以执行以上实施例中应用于PCRF一侧的方法步骤,具体执行过程可以参见上述应用于PCRF一侧的方法实施例,故不再赘述。
[0163] 参见图17,图17为本发明实施例提供的OCS的硬件结构图,所述OCS包括总线、处理器、存储器、输入输出接口和通信接口。总线是连接所描述的元素的电路并且在这些元素之间实现传输,例如,处理器通过总线从其它元素接收到命令,解密接收到的命令,根据解密的命令执行计算或数据处理。存储器可以包括程序模块,例如内核(kernel),中间件(middleware),应用程序接口(AP)和应用,所述程序模块可以是由软件、固件或硬件、或其中的至少两种组成。输入输出接口转发用户通过输入输出设备(例如感应器、键盘、触摸屏)输入的命令或数据。通信接口将本终端与其它终端、服务器、网络进行连接,例如,通信接口可以通过有线或无线连接到网络以连接到外部其它的终端或服务器。
[0164] 在联网环境下,OCS中存储的计算机执行指令可以存储在远程存储设备中,而不限于在本地存储。当OCS的处理器执行存储器中存储的可执行代码或应用程序时,OCS可以执行以上实施例中应用于OCS一侧的方法步骤,具体执行过程可以参见上述应用于OCS一侧的方法实施例,故不再赘述。
[0165] 本发明实施例还提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如图5所示的方法。
[0166] 本发明实施例还提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如图5所示的方法。
[0167] 需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个对象与另一个对象区分开来,而不一定要求或者暗示这些对象之间存在任何这种实际的关系或者逆序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、装置或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、装置或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、装置或者系统中还存在另外的相同要素。
[0168] 本说明书中各个实施例之间相同或相似的部分互相参见即可。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。