一种实体间的审计方法及系统的制作方法

文档序号:7972685阅读:322来源:国知局
专利名称:一种实体间的审计方法及系统的制作方法
技术领域
本发明涉及移动通信技术,尤其涉及一种实体间的审计方法及系统。
背景技术
目前国际电信联盟(ITU,International Telecommunication Union)正在制定下一代网络(NGN,Next Generation Network)架构下的资源接入控制功能(RACF,Resource and Admission Control Function)子系统,RACF负责应用层和传输层的资源协商和分配,提供对接入网、核心网的QoS控制,包括接纳控制、QoS路由以及资源预留等;同时在网络边界处提供网络地址转换(NAT,Network Address Translation)、门控制和防火墙的穿越等。
在RACF子系统中主要有两类实体策略决定功能(PDF,Policy DecisionFunction)和传输资源控制功能(TRCF,Transport Resource Control Function)。其中,TRCF包括接入网传输资源控制功能(A-TRCF,Access TransportResource Control Function)和核心网传输资源控制功能(C-TRCF,CoreTransport Resource Control Function)。其中,A-TRCF负责接入网的资源管理和QoS控制;C-TRCF负责核心网的资源管理和QoS控制;PDF负责确定为每个业务流提供服务的A-TRCF或C-TRCF,并向应用层的业务控制功能(SCF,Service Control Function)实体提供一个单一的连接点,隐藏传输网络层的细节。
在上述交互的实体PDF与SCF之间,以及PDF与TRCF之间使用的是直径(Diameter)协议。由于该协议未对实体间的一致性检测,即审计机制进行规定,当存在网络延迟、设备故障等情况时,如SCF发起一个请求,PDF正常响应后,会话建立成功,当会话需要释放时,此时若发生网络问题造成传输丢包,释放消息无法通知到PDF,则SCF可能在多次重传后释放资源,而PDF由于没有收到释放消息而保持该会话,造成SCF和PDF的会话不一致。同样对于PDF与TRCF之间也会存在类似问题,导致正常业务不能进行。可见现有技术中很难保证两个实体间会话等资源的一致性。

发明内容
有鉴于此,本发明一方面提供一种实体间的审计方法,能够保证两个实体间的资源一致性。
本发明另一方面提供一种实体间的审计系统,能够保证两个实体间的资源一致性。
本发明所提供的实体间的审计方法是通过如下技术方案予以实现的该方法包括如下步骤A、第一实体针对要审计的会话向第二实体发送第一消息;B、第二实体对接收到的第一消息进行响应,向第一实体发送第二消息;C、第一实体根据接收到的第二消息,进行审计处理。
其中,所述第一消息包括一致性检测请求消息;所述第二消息包括一致性检测响应消息。
较佳地,步骤A具体为在当前会话流量减少或消失时,第一实体针对要审计的会话向第二实体发送第一消息。
其中,所述步骤B包括B1、第二实体根据接收到的一致性检测请求消息进行判断,如果该消息中请求一致性检测的会话存在,则执行步骤B2,否则,执行步骤B3;B2、第二实体向第一实体返回携带指示成功的结果码的一致性检测响应消息,或返回携带会话的业务信息的一致性检测响应消息,结束步骤B;B3、第二实体向第一实体返回携带指示失败的结果码的一致性检测响应消息。
其中,所述步骤C包括
第一实体在确定所接收的一致性检测响应消息中携带指示成功的结果码,则审计成功;在确定所接收的一致性检测响应消息中携带指示失败的结果码,则审计失败,进行失败处理。
或者,所述步骤C包括第一实体在确定所接收的一致性检测响应消息中携带会话的业务信息,则将该业务信息与本地存储的该会话的业务信息进行比较,如果二者一致,则审计成功;否则,审计异常,进行异常处理。
较佳地,该方法进一步包括预先设置周期定时器与周期定时器时长;则步骤A为第一实体根据周期定时器,周期性发送给第二实体的一致性检测请求消息。
较佳地,该方法进一步包括所述第一实体在周期定时器超时,或连续在预设的周期个数内周期定时器超时,未收到来自第二实体的一致性检测响应,则审计失败,进行失败处理。
较佳地,该方法进一步包括预先设置审计定时器与审计定时器时长;步骤A之前进一步包括第二实体启动审计定时器;步骤B中所述发送一致性检测响应消息之后,进一步包括第二实体重新启动审计定时器。
较佳地,该方法进一步包括第二实体在审计定时器超时,或连续在预设的超时次数内审计定时器超时,未收到来自所述第一实体的一致性检测请求消息,则审计异常,进行异常处理。
较佳地,所述周期定时器时长小于审计定时器时长。
较佳地,所述预先设置审计定时器时长包括第一实体与第二实体初始会话时,设定审计定时器时长。
较佳地,所述第一实体与第二实体初始会话时,设定审计定时器时长包括第二实体向第一实体发送携带审计定时器时长的初始会话请求消息;第一实体根据初始会话请求消息中的审计定时器时长,设定审计定时器时长,并向第二实体返回设定审计定时器时长响应的初始会话响应消息;
所述第二实体启动审计定时器包括第二实体根据初始会话响应消息启动审计定时器。
或者,所述第一实体与第二实体初始会话时,设定审计定时器时长包括第二实体向第一实体发送未携带审计定时器时长的初始会话请求消息;第一实体设定审计定时器时长,并向第二实体返回携带审计定时器时长的初始会话响应消息;所述第二实体启动审计定时器包括第二实体根据初始会话响应消息中的审计定时器时长启动审计定时器。
其中,所述初始会话请求消息包括初始授权认证请求AAR消息,所述初始会话响应消息包括初始授权认证响应AAA消息。
其中,所述一致性检测请求消息包括重新授权请求RAR消息,所述一致性检测响应消息包括重新授权响应RAA消息。
较佳地,所述第一实体包括直径Diameter服务器端,所述第二实体包括Diameter客户端。
其中,所述Diameter客户端为业务控制功能SCF,所述Diameter服务器端为策略决定功能PDF;或者所述Diameter客户端为策略决定功能PDF,所述Diameter服务器端为传输资源控制功能TRCF。
本发明所提供的实体间的审计系统是通过如下技术方案予以实现的该系统包括第一实体和第二实体,其中,第一实体,用于针对要审计的会话向第二实体发送第一消息,并接收第二实体返回的第二消息,根据接收结果,进行审计处理;第二实体,用于接收来自所述第一实体的第一消息,并做出响应,向第一实体返回第二消息。
较佳地,所述第一实体进一步用于设置周期定时器,针对要审计的会话周期性向第二实体发送第一消息。
较佳地,所述第一实体进一步用于根据周期定时器监控接收第二实体返回的第二消息的情况,在周期定时器超时,或连续在预设的周期个数内周期定时器超时,未收到来自第二实体的第二消息,则审计失败,进行失败处理。
较佳地,所述第二实体进一步用于设置审计定时器,在初始会话时向第一实体发送会话请求消息,与第一实体协商设定审计定时器时长,按照审计定时器时长启动审计定时器;并在向第一实体返回第二消息后,重新启动审计定时器;所述第一实体进一步用于在初始会话时接收第二实体的会话请求消息,并与第二实体协商设定审计定时器时长。
较佳地,所述第二实体进一步用于根据审计定时器监控接收第一实体发送的第一消息的情况,在审计定时器超时,或连续在预设的超时次数内审计定时器超时,未收到来自所述第一实体的第一消息,则审计异常,进行异常处理。
其中,所述第一实体为Diameter服务器端,所述第二实体为Diameter客户端。
从上述方案可以看出,本发明通过在实体间进行一致性检测的审计过程,即第一实体针对要审计的会话向第二实体发送第一消息;第二实体对接收到的第一消息进行响应,向第一实体发送第二消息;第一实体根据接收到的第二消息,进行审计处理。从而确保第一实体能够获知第二实体的当前状况,并根据当前状况做出相应处理,保证实体间的资源一致性。
进一步地,通过设置一个周期定时器,第一实体可以根据周期定时器,周期性的向第二实体发起一致性检测请求消息,从而可以确保第一实体能够及时获知第二实体的当前状况,进一步保证实体间的资源一致性。
此外,通过设置一个审计定时器,第二实体根据审计定时器监控接收第一实体的一致性检测请求消息,从而可以使第二实体及时获知第一实体的当前状况,并根据当前状况做出相应处理,最大限度的保证实体间的资源一致性。
其中,审计定时器的时长,可以在初始会话时,由第一实体和第二实体协商设定,提高了审计定时器时长设定的灵活性;此外,设置周期定时器时长小于审计定时器时长,保证第二实体在正常接收来自第一实体的一致性检测请求消息时,审计定时器不会超时。
最后,本发明在具体实施时,利用Diameter协议中已有的消息类型,使用Diameter消息携带上述审计过程所需的各种信息,从而使方案实现简单,方便易用。


图1为本发明实体间的审计方法的示例性流程图;图2为本发明实体间的审计系统的示例性结构示意图;图3为本发明实施例一中实体间的审计方法的流程图;图4为本发明实施例一中实体间的审计系统的结构示意图;图5为本发明实施例一中实体为PDF和SCF时,实体间的审计方法的流程图;图6为本发明实施例一中实体为PDF和SCF时,实体间的审计系统的结构示意图;图7为本发明实施例一中实体为TRCF和PDF时,实体间的审计方法的流程图;图8为本发明实施例一中实体为TRCF和PDF时,实体间的审计系统的结构示意图;图9为本发明实施例二中实体间的审计方法的流程图;图10为本发明实施例二中实体间的审计系统的结构示意图;图11为本发明实施例二中实体为PDF和SCF时,实体间的审计方法的流程图;图12为本发明实施例二中实体为PDF和SCF时,实体间的审计系统的结构示意图;图13为本发明实施例二中实体为TRCF和PDF时,实体间的审计方法的流程图;图14为本发明实施例二中实体为TRCF和PDF时,实体间的审计系统的结构示意图。
具体实施例方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明进一步详细说明。
本发明的基本思想是在实体间进行一致性检测的审计过程,并且该审计过程可以在会话流量减少或消失的情况进行,此时第一实体针对要审计的会话向第二实体发送第一消息;第二实体对接收到的第一消息进行响应,向第一实体发送第二消息;第一实体根据接收到的第二消息,进行审计处理。其中,第一消息和第二消息也即审计消息和审计响应消息。第一消息包括一致性检测请求消息,第二消息包括一致性检测响应消息。
图1为基于上述思想的实体间的审计方法的示例性流程图。
步骤101,第一实体针对要审计的会话向第二实体发送一致性检测请求消息。
本步骤中,可以设定为基于会话ID的一致性检测,也可以设定为基于会话的业务信息的一致性检测。若设定为基于会话ID的一致性检测,则将检测会话ID的指示信息携带在一致性检测请求消息中;若设定为基于会话业务信息的一致性检测,则将检测会话业务信息的指示信息携带在一致性检测请求消息中。并且一致性检测请求消息可以在会话流量减少或消失时发送。
其中,默认设置可以为基于会话的业务信息的一致性。
步骤102,第二实体对接收到的一致性检测请求消息进行响应,向第一实体发送一致性检测响应消息。
本步骤中,第二实体接收来自第一实体的一致性检测请求消息,并根据所接收的一致性检测请求消息,判断该消息所请求一致性检测的会话是否存在,并根据判断结果在一致性检测响应消息中携带不同的响应信息。
如果所请求一致性检测的会话存在,则根据一致性检测请求消息中是基于会话ID的一致性检测,还是基于会话的业务信息的一致性检测,如果是基于会话ID的一致性检测,则在一致性检测响应消息中携带指示成功的结果码;如果是基于会话业务信息的一致性检测,则在一致性检测响应消息中携带会话的业务信息。默认设置可返回会话的业务信息。
如果所请求一致性检测的会话不存在,则在一致性检测响应消息中携带指示失败的结果码。
步骤103,第一实体根据接收到的一致性检测响应消息,进行审计处理。
本步骤中,第一实体接收来自第二实体的一致性检测响应消息,根据一致性检测响应消息中响应信息的类型,进行审计处理。
如果响应信息为指示成功的结果码,则审计成功。
如果响应信息为指示失败的结果码,则审计失败,进行审计失败处理。如第一实体可以将所请求一致性检测的会话释放,并删除本地存储的该会话的业务信息,无需向第二实体发送会话异常请求消息。
如果响应信息为会话的业务信息,则将该业务信息与本地存储的该会话的业务信息进行比较,如果二者一致,则审计成功;否则,审计异常,进行异常处理。
其中,进行异常处理包括第一实体向第二实体发送会话异常请求消息,第二实体可以选择是否终止会话;或者第一实体用所接收的一致性检测响应消息中会话的业务信息更新本地存储的该会话的业务信息。
图2为基于上述思想的实体间的审计系统的示例性结构图。如图2所示,该系统包括第一实体和第二实体。
其中,第一实体用于针对要审计的会话向第二实体发送一致性检测请求消息,并接收第二实体返回的一致性检测响应消息,根据接收结果,进行审计处理。
第二实体用于接收来自所述第一实体的一致性检测请求消息,并做出响应,向第一实体返回一致性检测响应消息。
其中,第一实体中存储有要审计的会话的业务信息。第一实体针对要审计的会话向第二实体发送一致性检测请求消息时,可以设定为基于会话ID的一致性检测,也可以设定为基于会话的业务信息的一致性检测。若设定为基于会话1D的一致性检测,则将检测会话ID的指示信息携带在一致性检测请求消息中;若设定为基于会话业务信息的一致性检测,则将检测会话业务信息的指示信息携带在一致性检测请求消息中。
第二实体接收到来自第一实体的一致性检测请求消息后,判断该消息所请求一致性检测的会话是否存在,并根据判断结果在一致性检测响应消息中携带不同的响应信息。如果所请求一致性检测的会话存在,则根据一致性检测请求消息中是基于会话ID的一致性检测,还是基于会话的业务信息的一致性检测,如果是基于会话ID的一致性检测,则在一致性检测响应消息中携带指示成功的结果码;如果是基于会话业务信息的一致性检测,则在一致性检测响应消息中携带会话的业务信息。如果所请求一致性检测的会话不存在,则在一致性检测响应消息中携带指示失败的结果码。
第一实体接收到第二实体返回的一致性检测响应消息后,根据一致性检测响应消息中响应信息的类型,进行审计处理。如果响应信息为指示成功的结果码,则审计成功;如果响应信息为指示失败的结果码,则审计失败,进行审计失败处理,如第一实体可以将所请求一致性检测的会话释放,并删除本地存储的该会话的业务信息,无需向第二实体发送会话异常请求消息;如果响应信息为会话的业务信息,则将该业务信息与本地存储的该会话的业务信息进行比较,如果二者一致,则审计成功;否则,审计异常,进行异常处理。
其中,进行异常处理包括第一实体向第二实体发送会话异常请求消息,第二实体可以选择是否终止会话;或者第一实体用所接收的一致性检测响应消息中会话的业务信息更新本地存储的该会话的业务信息。
上述实体间的审计方法与系统实现了实体中第一实体获知第二实体当前状况并进行相应处理的目的,为了实现第一实体能及时的或周期性的获知第二实体当前状况并进行相应处理的目的。进一步地,本发明中预先设置周期定时器。
则对于审计方法,在步骤101中,第一实体根据周期定时器,针对要审计的会话周期性的向第二实体发送一致性检测消息,并对接收来自第二实体的一致性检测响应消息的情况进行监控,若在周期定时器超时,或连续在预设的周期个数内周期定时器超时,未收到来自第二实体的一致性检测响应时,则审计失败,进行失败处理。其中,进行失败处理包括第一实体释放所请求一致性检测的会话,并删除本地存储的该会话的业务信息,无需向第二实体发送会话异常请求消息。
对于审计系统,第一实体进一步用于设置周期定时器,针对要审计的会话周期性向第二实体发送一致性检测请求消息,根据周期定时器监控接收第二实体返回的一致性检测响应消息的情况,在周期定时器超时,或连续在预设的周期个数内周期定时器超时,未收到来自第二实体的一致性检测响应,则审计失败,进行失败处理。
此外,本发明为了让第二实体也能及时获知第一实体的当前状况并做出相应处理,同样第二实体也设置了对第一实体的监控。即再进一步地,在第二实体中预先设置审计定时器。并且为了保证第二实体在正常接收来自第一实体的一致性检测请求消息时,审计定时器不会超时,设置审计定时器时长大于周期定时器时长。
则对于审计方法,步骤101之前进一步包括第二实体启动审计定时器。并且根据审计定时器对接收来自第一实体的一致性检测消息的情况进行监控,在审计定时器超时,或连续在预设的超时次数内审计定时器超时,未收到来自所述第一实体的一致性检测请求消息,则审计异常,进行异常处理。如可以释放审计定时器超时的会话。步骤102中,在发送一致性检测响应消息之后,进一步包括第二实体重新启动审计定时器。
其中,审计定时器的时长,可以在第一实体与第二实体初始会话时,进行设定。具体过程包括第二实体向第一实体发送未携带审计定时器时长的初始会话请求消息;第一实体设定审计定时器时长,并向第二实体返回携带审计定时器时长的初始会话响应消息,然后第二实体根据初始会话响应消息中的审计定时器时长启动审计定时器。
或者第二实体向第一实体发送携带审计定时器时长的初始会话请求消息;第一实体根据初始会话请求消息中的审计定时器时长,设定审计定时器时长,并向第二实体返回设定审计定时器时长响应的初始会话响应消息;然后第二实体根据初始会话响应消息启动审计定时器。
其中,若第一实体对初始会话请求消息中的审计定时器时长进行修改,则初始会话响应消息中携带有修改后的审计定时器时长;若第一实体未对初始会话请求消息中的审计定时器时长进行修改,则初始会话响应消息中未携带审计定时器时长,然后第二实体根据初始会话响应消息启动审计定时器。即若初始会话响应消息中携带有审计定时器时长,则按照初始会话响应消息中的审计定时器时长启动审计定时器;否则,按照第二实体设定的审计定时器时长启动审计定时器。
对于审计系统,第二实体进一步用于设置审计定时器,在初始会话时向第一实体发送会话请求消息,与第一实体协商设定审计定时器时长,按照审计定时器时长启动审计定时器,根据审计定时器监控接收第一实体发送的一致性检测请求消息的情况,在审计定时器超时,或连续在预设的超时次数内审计定时器超时,未收到来自所述第一实体的一致性检测请求消息,则审计异常,进行异常处理;并在向第一实体返回一致性检测响应消息后,重新启动审计定时器。
第一实体进一步用于在初始会话时接收第二实体的会话请求消息,并与第二实体协商设定审计定时器时长。
具体实现时,本发明以Diameter协议为例,应用上述思想实现审计的过程。其中,第二实体为Diameter客户端,第一实体为Diameter服务器端,在NGN的RACF子系统中,Diameter客户端<—>Diameter服务器端包括SCF<—>PDF以及PDF<—>TRCF等,实现过程中,利用Diameter协议现有的消息,如在Diameter客户端与Diameter服务器端利用初始授权认证请求(AAR,Authorization Authentication Request)消息作为初始会话请求消息,以及利用初始授权认证响应(AAA,Authorization Authentication Answer)消息作为初始会话响应消息,实现审计定时器时长的设定;利用重新授权请求(RAR,Re-Auth-Request)消息作为一致性检测请求消息,以及利用重新授权响应(RAA,Re-Auth-Answer)消息作为一致性检测响应消息,实现一致性检测请求消息的发送与响应。
其中,审计定时器时长的设定可以由Diameter客户端将审计定时器时长携带在AAR消息中发送给Diameter服务器端,然后Diameter服务器端根据实际情况确定最终的审计定时器时长,通过AAA消息发送给Diameter客户端;或者是Diameter服务器端接收到来自Diameter客户端发送的普通AAR消息后,独自决定是否需要设定审计定时器,如果需要,则将审计定时器时长通过AAA消息告诉Diameter客户端。
下面将结合具体实施例对基于上述思想的实体间的审计方法及系统进行详细描述。
实施例一参见图3,图3为本发明实施例一中实体间的审计方法的流程图,如图3所示,该流程包括如下步骤步骤301,Diameter客户端针对要审计的会话向Diameter服务器端发送携带一致性检测请求信息的RAR消息。
本步骤中,可以设定为基于会话ID的一致性检测,也可以设定为基于会话的业务信息的一致性检测。若设定为基于会话ID的一致性检测,则将检测会话ID的指示信息携带在RAR消息中;若设定为基于会话业务信息的一致性检测,则将检测会话业务信息的指示信息携带在RAR消息中。并且携带一致性检测请求信息的RAR消息可以在会话流量减少或消失时发送。
步骤302,Diameter客户端接收来自Diamete服务器端的RAR消息。
步骤303~步骤304,根据RAR消息判断所请求一致性检测的会话是否存在,如果不存在,则响应信息为指示错误的结果码,然后执行步骤305;如果会话存在,则判断RAR消息中的一致性检测信息,如果是基于会话ID的一致性检测,则响应信息为指示成功的结果码,如果是基于会话业务信息的一致性检测,则响应信息为会话的业务信息,然后执行步骤305。
步骤305,Diameter客户端向Diameter服务器端返回携带响应信息的RAA消息。
步骤306,Diameter服务器端接收来自Diameter客户端的RAA消息。
步骤307,Diameter服务器端判断RAA消息中响应信息的类型,如果为指示成功的结果码,则审计成功;如果为指示失败的结果码,则审计失败,进行失败处理,可释放所请求一致性检测的会话;如果为业务信息,则执行步骤308。
步骤308,Diameter服务器端将所接收的RAA消息中的业务信息与本地存储的该会话的业务信息进行比较,如果二者一致,则审计成功;否则审计异常,可向Diameter客户端发送会话异常请求(ASR,Abort-Session-Request)消息;或者用RAA消息中的业务信息更新本地存储的业务信息。
图4为基于图3所示实体间的审计方法的审计系统的结构示意图。包括Diameter服务器端和Diameter客户端。
其中,Diameter服务器端用于针对要审计的会话向Diameter客户端发送携带一致性检测请求信息的RAR消息,并接收Diameter客户端返回的携带一致性检测响应信息的RAA消息,根据接收结果,进行审计处理。
Diameter客户端用于接收来自Diameter服务器端的携带一致性检测请求信息的RAR消息,并做出响应,向Diameter服务器端返回携带一致性检测响应信息的RAA消息。
其中,Diameter服务器端在发送RAR消息时,可以设定为基于会话ID的一致性检测,也可以设定为基于会话的业务信息的一致性检测。若设定为基于会话ID的一致性检测,则将检测会话ID的指示信息携带在RAR消息中;若设定为基于会话业务信息的一致性检测,则将检测会话业务信息的指示信息携带在RAR消息中。并且携带一致性检测请求信息的RAR消息可以在会话流量减少或消失时发送。
Diameter客户端接收到RAR消息后,根据RAR消息判断所请求一致性检测的会话是否存在,如果不存在,则响应信息为指示错误的结果码;如果会话存在,则判断RAR消息中的一致性检测信息,如果是基于会话ID的一致性检测,则响应信息为指示成功的结果码,如果是基于会话业务信息的一致性检测,则响应信息为会话的业务信息,然后Diameter客户端向Diameter服务器端返回携带响应信息的RAA消息。
Diameter服务器端接收到RAA消息后,判断RAA消息中响应信息的类型,如果为指示成功的结果码,则审计成功;如果为指示失败的结果码,则审计失败,进行失败处理,可释放所请求一致性检测的会话;如果为业务信息,则Diameter服务器端将所接收的RAA消息中的业务信息与本地存储的该会话的业务信息进行比较,如果二者一致,则审计成功;否则审计异常,可向Diameter客户端发送ASR消息;或者用RAA消息中的业务信息更新本地存储的业务信息。
下面以Diameter客户端为SCF,Diameter服务器端为PDF为例,进行详细描述。
参见图5,图5为本发明实施例一中实体为SCF和PDF时,实体间的审计方法的流程图,如图5所示,该流程包括如下步骤步骤501,SCF针对要审计的会话向PDF发送携带一致性检测请求信息的RAR消息。
本步骤中,可以设定为基于会话ID的一致性检测,也可以设定为基于会话的业务信息的一致性检测。若设定为基于会话ID的一致性检测,则将检测会话ID的指示信息携带在RAR消息中;若设定为基于会话业务信息的一致性检测,则将检测会话业务信息的指示信息携带在RAR消息中。并且携带一致性检测请求信息的RAR消息可以在会话流量减少或消失时发送。
步骤502,SCF接收来自PDF的RAR消息。
步骤503~步骤504,根据RAR消息判断所请求一致性检测的会话是否存在,如果不存在,则响应信息为指示错误的结果码,然后执行步骤505;如果会话存在,则判断RAR消息中的一致性检测信息,如果是基于会话ID的一致性检测,则响应信息为指示成功的结果码,如果是基于会话业务信息的一致性检测,则响应信息为会话的业务信息,然后执行步骤505。
步骤505,SCF向PDF返回携带响应信息的RAA消息。
步骤506,PDF接收来自SCF的RAA消息。
步骤507,PDF判断RAA消息中响应信息的类型,如果为指示成功的结果码,则审计成功;如果为指示失败的结果码,则审计失败,进行失败处理,可释放所请求一致性检测的会话;如果为业务信息,则执行步骤508。
步骤508,PDF将所接收的RAA消息中的业务信息与本地存储的该会话的业务信息进行比较,如果二者一致,则审计成功;否则审计异常,可向SCF发送ASR消息;或者用RAA消息中的业务信息更新本地存储的业务信息。
图6为基于图5所示实体间的审计方法的审计系统的结构示意图。包括PDF和SCF。
其中,PDF用于针对要审计的会话向SCF发送携带一致性检测请求信息的RAR消息,并接收SCF返回的携带一致性检测响应信息的RAA消息,根据接收结果,进行审计处理。
SCF用于接收来自PDF的携带一致性检测请求信息的RAR消息,并做出响应,向PDF返回携带一致性检测响应信息的RAA消息。
其中,PDF在发送RAR消息时,可以设定为基于会话ID的一致性检测,也可以设定为基于会话的业务信息的一致性检测。若设定为基于会话ID的一致性检测,则将检测会话ID的指示信息携带在RAR消息中;若设定为基于会话业务信息的一致性检测,则将检测会话业务信息的指示信息携带在RAR消息中。并且携带一致性检测请求信息的RAR消息可以在会话流量减少或消失时发送。
SCF接收到RAR消息后,根据RAR消息判断所请求一致性检测的会话是否存在,如果不存在,则响应信息为指示错误的结果码;如果会话存在,则判断RAR消息中的一致性检测信息,如果是基于会话ID的一致性检测,则响应信息为指示成功的结果码,如果是基于会话业务信息的一致性检测,则响应信息为会话的业务信息,然后SCF向PDF返回携带响应信息的RAA消息。
PDF接收到RAA消息后,判断RAA消息中响应信息的类型,如果为指示成功的结果码,则审计成功;如果为指示失败的结果码,则审计失败,进行失败处理,可释放所请求一致性检测的会话;如果为业务信息,则PDF将所接收的RAA消息中的业务信息与本地存储的该会话的业务信息进行比较,如果二者一致,则审计成功;否则审计异常,可向SCF发送ASR消息;或者用RAA消息中的业务信息更新本地存储的业务信息。
下面以Diameter客户端为PDF,Diameter服务器端为TRCF为例,进行详细描述。
参见图7,图7为本发明实施例一中实体为PDF和TRCF时,实体间的审计方法的流程图,如图7所示,该流程包括如下步骤步骤701,PDF针对要审计的会话向TRCF发送携带一致性检测请求信息的RAR消息。
本步骤中,可以设定为基于会话ID的一致性检测,也可以设定为基于会话的业务信息的一致性检测。若设定为基于会话ID的一致性检测,则将检测会话ID的指示信息携带在RAR消息中;若设定为基于会话业务信息的一致性检测,则将检测会话业务信息的指示信息携带在RAR消息中。并且携带一致性检测请求信息的RAR消息可以在会话流量减少或消失时发送。
步骤702,PDF接收来自TRCF的RAR消息。
步骤703~步骤704,根据RAR消息判断所请求一致性检测的会话是否存在,如果不存在,则响应信息为指示错误的结果码,然后执行步骤705;如果会话存在,则判断RAR消息中的一致性检测信息,如果是基于会话ID的一致性检测,则响应信息为指示成功的结果码,如果是基于会话业务信息的一致性检测,则响应信息为会话的业务信息,然后执行步骤705。
步骤705,PDF向TRCF返回携带响应信息的RAA消息。
步骤706,TRCF接收来自PDF的RAA消息。
步骤707,TRCF判断RAA消息中响应信息的类型,如果为指示成功的结果码,则审计成功;如果为指示失败的结果码,则审计失败,进行失败处理,可释放所请求一致性检测的会话;如果为业务信息,则执行步骤708。
步骤708,TRCF将所接收的RAA消息中的业务信息与本地存储的该会话的业务信息进行比较,如果二者一致,则审计成功;否则审计异常,可向PDF发送ASR消息;或者用RAA消息中的业务信息更新本地存储的业务信息。
图8为基于图7所示实体间的审计方法的审计系统的结构示意图。包括TRCF和PDF。
其中,TRCF用于针对要审计的会话向PDF发送携带一致性检测请求信息的RAR消息,并接收PDF返回的携带一致性检测响应信息的RAA消息,根据接收结果,进行审计处理。
PDF用于接收来自TRCF的携带一致性检测请求信息的RAR消息,并做出响应,向TRCF返回携带一致性检测响应信息的RAA消息。
其中,TRCF在发送RAR消息时,可以设定为基于会话ID的一致性检测,也可以设定为基于会话的业务信息的一致性检测。若设定为基于会话ID的一致性检测,则将检测会话ID的指示信息携带在RAR消息中;若设定为基于会话业务信息的一致性检测,则将检测会话业务信息的指示信息携带在RAR消息中。并且携带一致性检测请求信息的RAR消息可以在会话流量减少或消失时发送。
PDF接收到RAR消息后,根据RAR消息判断所请求一致性检测的会话是否存在,如果不存在,则响应信息为指示错误的结果码;如果会话存在,则判断RAR消息中的一致性检测信息,如果是基于会话ID的一致性检测,则响应信息为指示成功的结果码,如果是基于会话业务信息的一致性检测,则响应信息为会话的业务信息,然后PDF向TRCF返回携带响应信息的RAA消息。
TRCF接收到RAA消息后,判断RAA消息中响应信息的类型,如果为指示成功的结果码,则审计成功;如果为指示失败的结果码,则审计失败,进行失败处理,可释放所请求一致性检测的会话;如果为业务信息,则TRCF将所接收的RAA消息中的业务信息与本地存储的该会话的业务信息进行比较,如果二者一致,则审计成功;否则审计异常,可向PDF发送ASR消息;或者用RAA消息中的业务信息更新本地存储的业务信息。
在实施例一的基础上,可以进一步设置周期定时器计及周期定时器时长,则Diameter服务器端在周期定时器达到周期定时器时长时,向Diameter客户端发送携带一致性检测信息的RAR消息;并在成功接收到Diameter客户端的携带一致性检测响应信息的RAA消息,并审计成功时,重新启动周期定时器,达到周期性发送RAR消息的目的,并且通过周期定时器监控接收Diameter客户端返回RAA消息的情况,当在周期定时器超时,或连续在预设的周期个数内周期定时器超时,未收到来自Diameter客户端的RAA消息时,审计失败,进行失败处理,如释放所请求一致性检测的会话等。
同样,对于Diameter客户端为SCF,Diameter服务器端为PDF;或者Diameter客户端为PDF,Diameter服务器端为TRCF时情况一样。
在实施例一的基础上除了可设置周期定时器计及周期定时器时长外,还可以再设置审计定时器和审计定时器时长,并且审计定时器时长在Diameter服务器端和Diameter客户端初始会话时设定。同样对于Diameter客户端为SCF,Diameter服务器端为PDF;或者Diameter客户端为PDF,Diameter服务器端为TRCF时也适用。针对这种情况,下面结合实施例二进行详细描述。
实施例二
参见图9,图9为本发明实施例二中实体间的审计方法的流程图,如图9所示,该流程包括如下步骤步骤901,Diameter客户端向Diameter服务器端发送携带审计定时器时长的AAR消息。
在Diameter协议中,初始会话时,Diameter客户端会向Diameter服务器端发送含有Diameter客户端业务信息的AAR消息,供Diameter服务器端进行授权认,并对本次会话生成一个会话ID,用来标识该会话。本发明通过使用该消息携带Diameter客户端初始设定的审计定时器时长,告知Diameter服务器端进行审计,对一致性进行监控。其中,审计定时器时长可以由客户端根据不同的会话设定不同或相同的值。
步骤902,Diameter服务器端在接收到来自Diameter客户端的AAR消息并完成授权认证后,向Diameter客户端返回设定审计定时器时长响应的AAA消息。之后在Diameter服务器端执行步骤903,则Diameter客户端执行步骤905。
本步骤中,Diameter服务器端可以直接采用来自Diameter客户端的AAR消息中的审计定时器时长作为最终设定的审计定时器时长,也可以对该审计定时器进行修改,如果需要修改,则将修改后的审计定时器时长作为最终设定的审计定时器时长携带在AAA消息中发送给Diameter客户端。
Diameter服务器端在接收到AAR消息后,会将AAR消息中的业务信息存储在本地存储区中。
步骤903,Diameter服务器端设定周期定时器时长,该值小于设定的审计定时器时长。
本步骤中,为了避免由于Diameter服务器端的周期定时器和Diameter客户端的审计定时器时长相同,而造成的Diameter服务器端周期性发送一致性检测请求时,Diameter客户端的审计定时器正好超时的异常情况,可将周期定时器时长设置成审计定时器时长的二分之一、三分之一等小于审计定时器的值,具体值可根据实际情况确定。
步骤904,Diameter服务器端按照周期定时器时长启动周期定时器。
步骤905,Diameter客户端接收到AAA消息后,启动审计定时器。
本步骤中,Diameter客户端接收到AAA消息,判断AAA消息中是否携带有审计定时器,如果有,则按照AAA消息中的审计定时器时长启动审计定时器;否则,按照Diameter客户端设定的审计定时器时长启动审计定时器。根据审计定时器对步骤906中Diameter服务器端发送携带一致性检测请求信息的RAR消息进行监控。
步骤906,Diameter服务器端的周期定时器达到预设的周期定时器时长时,Diameter服务器端向Diameter客户端发送携带一致性检测请求信息的RAR消息。
本步骤中,在发送RAR消息时,在消息中添加指示该消息为一致性检测请求消息的标志,指示Diameter客户端对当前会话的一致性检测做出响应。若设定为基于会话ID的一致性检测,则将检测会话ID的指示信息携带在RAR消息中;若设定为基于会话业务信息的一致性检测,则将检测会话业务信息的指示信息携带在RAR消息中。
其中,一致性检测请求消息可以在会话流量减少或消失时发送。即如果会话正常,则定时器超时也可以不用发送该一致性检测请求消息。
步骤907,Diameter客户端判断是否在审计定时器超时之前接收到来自Diameter服务器端的RAR消息,如果是,则执行步骤908;否则,进行异常处理。
本步骤中,若Diameter客户端在审计定时器超时,即超过设定的审计定时器时长时;或者预先设置超时次数,Diameter客户端审计定时器在预设的超时次数内连续超时,未收到来自Diameter服务器端的携带一致性检测请求信息的RAR消息时,进行异常处理。
异常处理包括Diameter客户端根据实际情况决定是否释放审计定时器超时的本地会话,如果是释放本地会话,则在释放本地会话后结束本流程;或者决定是否重新向Diameter服务器端发送AAR消息,如果是,则返回执行步骤901,否则,结束本流程。
其中,如果会话正常,即能接收到会话消息,则即便审计定时器超时没有收到携带一致性检测请求信息的RAR消息时,也不认为异常。
步骤908,Diameter客户端接收到RAR消息后,对一致性检测请求进行响应,向Diameter服务器端发送携带响应信息的RAA消息,之后Diameter客户端执行步骤909,Diameter服务器端执行步骤910。
本步骤中,若Diameter服务器端在RAR消息中所请求的当前会话存在,则在RAA消息中携带指示成功的结果码或者携带会话的业务信息。若RAR消息中的指示信息为基于会话ID的一致性检测,则在会话ID一致的情况下,将指示成功的结果码携带在RAA消息中;若RAR消息中的指示信息为基于会话业务信息的一致性检测,则在会话ID一致的情况下,将会话的业务信息携带在RAA消息中,此时的业务信息可能与步骤901中的业务信息相同,也可能与步骤901中的业务信息不同,甚至比步骤901中的业务信息多。
若Diameter服务器端在RAR消息中所请求的当前会话不存在,则在RAA消息中携带指示失败的结果码。
步骤909,Diameter客户端判断一致性检测响应是否为成功信息,如果为成功信息,则Diameter客户端返回执行步骤904。
步骤910,Diameter服务器端判断是否在周期定时器超时之前接收到来自Diameter客户端的RAA消息,如果是,则执行步骤911;否则,进行异常处理。
本步骤中,若Diameter服务器端发出携带一致性检测信息的RAR消息后,在周期定时器超时,即超过设定的周期定时器时长时;或者预先设置周期个数,若Diameter服务器端周期定时器在预设的周期个数内连续超时未收到来自Diameter客户端的携带响应信息的RAA消息时,审计失败,可释放本地会话,并通知其它相关实体进行该会话的释放,并结束本流程;或者返回执行步骤906,重新向Diameter客户端发送携带一致性检测请求信息的RAR消息。
步骤911,Diameter服务器端收到RAA消息后,根据RAA消息中所携带的响应信息进行审计处理。如果响应信息为指示成功的结果码,则返回执行步骤904;如果响应信息为会话的业务信息,则执行步骤912;如果响应信息为指示失败的结果码,则进行异常处理。
本步骤中,如果响应信息为指示失败的结果码,则可释放本地会话,并通知其它相关实体进行该会话的释放,结束本流程。
步骤912,Diameter服务器端将响应信息中的业务信息与本地存储的该会话的业务信息进行比较,并判断二者是否一致,如果一致,则返回执行步骤904;否则进行异常处理。
本步骤中,异常处理包括将该业务信息与本地存储的该会话的业务信息进行比较时,若二者不一致,则Diameter服务器端可以向Diameter客户端发送ASR消息,由Diameter客户端选择是否终止会话;或者Diameter服务器端可以用RAA消息中的业务信息更新本地存储的该会话的业务信息,然后返回执行步骤904。
在上述图9所示流程中,步骤901和步骤902还可以为步骤901中Diameter客户端向Diameter服务器端发送的AAR消息为普通AAR消息,即未携带审计定时器时长。步骤902中Diameter服务器端在接收到来自Diameter客户端的AAR消息并完成授权认证后,根据需要决定是否设定审计定时器,如果设定审计定时器,则将设定的审计定时器时长携带在AAA消息中发送给Diameter客户端,并设定小于审计定时器时长的周期定时器时长。其余步骤不变。
以上对本发明实施例二中实体间的审计方法进行了详细描述,下面再对本发明实施例二中实体间的审计系统进行详细说明。
参见图10,图10为本发明实施例二中基于上述实体间的审计方法的审计系统的结构示意图。如图10所示,该系统包括Diameter服务器端和Diameter客户端。
Diameter客户端用于向Diameter服务器端发送携带审计定时器时长的AAR消息,并接收来自Diameter服务器端的设定审计定时器时长响应的AAA消息,根据AAA消息启动审计定时器;接收来自Diameter服务器端的携带一致性检测请求的RAR消息,对一致性检测请求进行响应,向Diameter服务器端返回携带响应信息的RAA消息。
其中,Diameter客户端接收到AAA消息后,判断AAA消息中是否携带有审计定时器,如果有,则按照AAA消息中的审计定时器时长启动审计定时器;否则,按照Diameter客户端设定的审计定时器时长启动审计定时器,并且Diameter客户端根据审计定时器监控接收来自Diameter服务器端的携带一致性检测请求的RAR消息的情况,并在超时或在预先设定的超时次数内未接收到RAR消息时,进行异常处理。异常处理包括Diameter客户端根据实际情况决定是否释放审计定时器超时的本地会话;或者决定是否重新向Diameter服务器端发送AAR消息。
其中,如果会话正常,则即便审计定时器超时没有收到携带一致性检测请求信息的RAR消息时,也不认为异常。
Diameter服务器端用于接收来自Diameter客户端的携带审计定时器时长的AAR消息,并设定最终的审计定时器时长,通过AAA消息发送给Diameter客户端;并设定小于审计定时器时长的周期定时器时长,按照周期定时器时长周期性向Diameter客户端发送携带一致性检测请求信息的RAR消息,并接收来自Diameter客户端响应的RAA消息,根据RAA消息中的响应信息进行审计处理。
其中,一致性检测请求消息可以在会话流量减少或消失时发送。即如果会话正常,则定时器超时也可以不用发送该一致性检测请求消息。
Diameter服务器端可以直接采用来自Diameter客户端的AAR消息中的审计定时器时长作为最终设定的审计定时器时长,也可以对该审计定时器进行修改,如果需要修改,则将修改后的审计定时器时长作为最终设定的审计定时器时长携带在AAA消息中发送给Diameter客户端;并且Diameter服务器端根据周期定时器监控接收RAA消息的情况,若在周期定时器超时,或者在预先设置的周期个数内连续超时未收到RAA消息时,可释放本地会话,并通知其它相关实体进行该会话的释放;或者重新向Diameter客户端发送携带一致性检测请求信息的RAR消息。
其中,根据RAA消息中的响应信息进行审计处理包括如果响应信息为指示成功的结果码,则重新启动周期定时器;如果响应信息为指示失败的结果码,则可释放本地会话,并通知其它相关实体进行该会话的释放;如果响应信息为会话的业务信息,则Diameter服务器端将响应信息中的业务信息与本地存储的该会话的业务信息进行比较,并判断二者是否一致,如果一致,则重新启动周期定时器;若二者不一致,则Diameter服务器端可以向Diameter客户端发送ARS消息,由Diameter客户端选择是否终止会话;或者Diameter服务器端可以用RAA消息中的业务信息更新本地存储的该会话的业务信息,然后重新启动周期定时器。
上述系统中的Diameter客户端向Diameter服务器端发送AAR消息时,可以不用携带审计定时器时长,而由Diameter服务器端根据实际需要决定是否设定审计定时器时长,如果需要设定,则将设定的审计定时器时长通过AAA消息发送给Diameter客户端,其余功能相同。
下面以Diameter客户端为SCF,Diameter服务器端为PDF为例,进行详细描述。
参见图11,图11为本发明实施例二中实体间的审计方法的流程图,如图11所示,该流程包括如下步骤步骤1101,SCF向PDF发送携带审计定时器时长的AAR消息。
在Diameter协议中,初始会话时,SCF会向PDF发送含有SCF业务信息的AAR消息,供PDF进行授权认,并对本次会话生成一个会话ID,用来标识该会话。本发明通过使用该消息携带SCF初始设定的审计定时器时长,告知PDF进行审计,对一致性进行监控。其中,审计定时器时长可以由客户端根据不同的会话设定不同或相同的值。
步骤1102,PDF在接收到来自SCF的AAR消息并完成授权认证后,向SCF返回设定审计定时器时长响应的AAA消息。之后在PDF执行步骤1103,则SCF执行步骤1105。
本步骤中,PDF可以直接采用来自SCF的AAR消息中的审计定时器时长作为最终设定的审计定时器时长,也可以对该审计定时器进行修改,如果需要修改,则将修改后的审计定时器时长作为最终设定的审计定时器时长携带在AAA消息中发送给SCF。
PDF在接收到AAR消息后,会将AAR消息中的业务信息存储在本地存储区中。
步骤1103,PDF设定周期定时器时长,该值小于设定的审计定时器时长。
本步骤中,为了避免由于PDF的周期定时器和SCF的审计定时器时长相同,而造成的PDF周期性发送一致性检测请求时,SCF的审计定时器正好超时的异常情况,可将周期定时器时长设置成审计定时器时长的二分之一、三分之一等小于审计定时器的值,具体值可根据实际情况确定。
步骤1104,PDF按照周期定时器时长启动周期定时器。
步骤1105,SCF接收到AAA消息后,启动审计定时器。
本步骤中,SCF接收到AAA消息,判断AAA消息中是否携带有审计定时器,如果有,则按照AAA消息中的审计定时器时长启动审计定时器;否则,按照SCF设定的审计定时器时长启动审计定时器。根据审计定时器对步骤1106中PDF发送携带一致性检测请求信息的RAR消息进行监控。
步骤1106,PDF的周期定时器达到预设的周期定时器时长时,PDF向SCF发送携带一致性检测请求信息的RAR消息。
本步骤中,在发送RAR消息时,在消息中添加指示该消息为一致性检测请求消息的标志,指示SCF对当前会话的一致性检测做出响应。若设定为基于会话ID的一致性检测,则将检测会话ID的指示信息携带在RAR消息中;若设定为基于会话业务信息的一致性检测,则将检测会话业务信息的指示信息携带在RAR消息中。
其中,一致性检测请求消息可以在会话流量减少或消失时发送。即如果会话正常,则定时器超时也可以不用发送该一致性检测请求消息。
步骤1107,SCF判断是否在审计定时器超时之前接收到来自PDF的RAR消息,如果是,则执行步骤1108;否则,进行异常处理。
本步骤中,若SCF在审计定时器超时,即超过设定的审计定时器时长时;或者预先设置超时次数,SCF审计定时器在预设的超时次数内连续超时,未收到来自PDF的携带一致性检测请求信息的RAR消息时,进行异常处理。
异常处理包括SCF根据实际情况决定是否释放审计定时器超时的本地会话,如果是释放本地会话,则在释放本地会话后结束本流程;或者决定是否重新向PDF发送AAR消息,如果是,则返回执行步骤1101,否则,结束本流程。
其中,如果会话正常,则即便审计定时器超时没有收到携带一致性检测请求信息的RAR消息时,也不认为异常。
步骤1108,SCF接收到RAR消息后,对一致性检测请求进行响应,向PDF发送携带响应信息的RAA消息,之后SCF执行步骤1109,PDF执行步骤1110。
本步骤中,若PDF在RAR消息中所请求的当前会话存在,则在RAA消息中携带指示成功的结果码或者携带会话的业务信息。若RAR消息中的指示信息为基于会话ID的一致性检测,则在会话ID一致的情况下,将指示成功的结果码携带在RAA消息中;若RAR消息中的指示信息为基于会话业务信息的一致性检测,则在会话ID一致的情况下,将会话的业务信息携带在RAA消息中,此时的业务信息可能与步骤1101中的业务信息相同,也可能与步骤1101中的业务信息不同,甚至比步骤1101中的业务信息多。
若PDF在RAR消息中所请求的当前会话不存在,则在RAA消息中携带指示失败的结果码。
步骤1109,SCF判断一致性检测响应是否为成功信息,如果为成功信息,则SCF返回执行步骤1104。
步骤1110,PDF判断是否在周期定时器超时之前接收到来自SCF的RAA消息,如果是,则执行步骤1111;否则,进行异常处理。
本步骤中,若PDF发出携带一致性检测信息的RAR消息后,在周期定时器超时,即超过设定的周期定时器时长时;或者预先设置周期个数,若PDF周期定时器在预设的周期个数内连续超时未收到来自SCF的携带响应信息的RAA消息时,审计失败,可释放本地会话,并通知其它相关实体进行该会话的释放,并结束本流程;或者返回执行步骤1106,重新向SCF发送携带一致性检测请求信息的RAR消息。
步骤1111,PDF收到RAA消息后,根据RAA消息中所携带的响应信息进行审计处理。如果响应信息为指示成功的结果码,则返回执行步骤1104;如果响应信息为会话的业务信息,则执行步骤1112;如果响应信息为指示失败的结果码,则进行异常处理。
本步骤中,如果响应信息为指示失败的结果码,则可释放本地会话,并通知其它相关实体进行该会话的释放,结束本流程。
步骤1112,PDF将响应信息中的业务信息与本地存储的该会话的业务信息进行比较,并判断二者是否一致,如果一致,则返回执行步骤1104;否则进行异常处理。
本步骤中,异常处理包括将该业务信息与本地存储的该会话的业务信息进行比较时,若二者不一致,则PDF可以向SCF发送ASR消息,由SCF选择是否终止会话;或者PDF可以用RAA消息中的业务信息更新本地存储的该会话的业务信息,然后返回执行步骤1104。
在上述图11所示流程中,步骤1101和步骤1102还可以为步骤1101中SCF向PDF发送的AAR消息为普通AAR消息,即未携带审计定时器时长。步骤1102中PDF在接收到来自SCF的AAR消息并完成授权认证后,根据需要决定是否设定审计定时器,如果设定审计定时器,则将设定的审计定时器时长携带在AAA消息中发送给SCF,并设定小于审计定时器时长的周期定时器时长。其余步骤不变。
以上对本发明实施例二中实体间的审计方法进行了详细描述,下面再对本发明实施例二中实体间的审计系统进行详细说明。
参见图12,图12为本发明实施例二中基于上述实体间的审计方法的审计系统的结构示意图。如图12所示,该系统包括PDF和SCF。
SCF用于向PDF发送携带审计定时器时长的AAR消息,并接收来自PDF的设定审计定时器时长响应的AAA消息,根据AAA消息启动审计定时器;接收来自PDF的携带一致性检测请求的RAR消息,对一致性检测请求进行响应,向PDF返回携带响应信息的RAA消息。
其中,SCF接收到AAA消息后,判断AAA消息中是否携带有审计定时器,如果有,则按照AAA消息中的审计定时器时长启动审计定时器;否则,按照SCF设定的审计定时器时长启动审计定时器,并且SCF根据审计定时器监控接收来自PDF的携带一致性检测请求的RAR消息的情况,并在超时或在预先设定的超时次数内未接收到RAR消息时,进行异常处理。异常处理包括SCF根据实际情况决定是否释放审计定时器超时的本地会话;或者决定是否重新向PDF发送AAR消息。
其中,如果会话正常,则即便审计定时器超时没有收到携带一致性检测请求信息的RAR消息时,也不认为异常。
PDF用于接收来自SCF的携带审计定时器时长的AAR消息,并设定最终的审计定时器时长,通过AAA消息发送给SCF;并设定小于审计定时器时长的周期定时器时长,按照周期定时器时长周期性向SCF发送携带一致性检测请求信息的RAR消息,并接收来自SCF响应的RAA消息,根据RAA消息中的响应信息进行审计处理。
其中,一致性检测请求消息可以在会话流量减少或消失时发送。即如果会话正常,则定时器超时也可以不用发送该一致性检测请求消息。
PDF可以直接采用来自SCF的AAR消息中的审计定时器时长作为最终设定的审计定时器时长,也可以对该审计定时器进行修改,如果需要修改,则将修改后的审计定时器时长作为最终设定的审计定时器时长携带在AAA消息中发送给SCF;并且PDF根据周期定时器监控接收RAA消息的情况,若在周期定时器超时,或者在预先设置的周期个数内连续超时未收到RAA消息时,可释放本地会话,并通知其它相关实体进行该会话的释放;或者重新向SCF发送携带一致性检测请求信息的RAR消息。
其中,根据RAA消息中的响应信息进行审计处理包括如果响应信息为指示成功的结果码,则重新启动周期定时器;如果响应信息为指示失败的结果码,则可释放本地会话,并通知其它相关实体进行该会话的释放;如果响应信息为会话的业务信息,则PDF将响应信息中的业务信息与本地存储的该会话的业务信息进行比较,并判断二者是否一致,如果一致,则重新启动周期定时器;若二者不一致,则PDF可以向SCF发送ARS消息,由SCF选择是否终止会话;或者PDF可以用RAA消息中的业务信息更新本地存储的该会话的业务信息,然后重新启动周期定时器。
上述系统中的SCF向PDF发送AAR消息时,可以不用携带审计定时器时长,而由PDF根据实际需要决定是否设定审计定时器时长,如果需要设定,则将设定的审计定时器时长通过AAA消息发送给SCF,其余功能相同。
下面以Diameter客户端为PDF,Diameter服务器端为TRCF为例,进行详细描述。
参见图13,图13为本发明实施例二中实体间的审计方法的流程图,如图13所示,该流程包括如下步骤步骤1301,PDF向TRCF发送携带审计定时器时长的AAR消息。
在Diameter协议中,初始会话时,PDF会向TRCF发送含有PDF业务信息的AAR消息,供TRCF进行授权认,并对本次会话生成一个会话ID,用来标识该会话。本发明通过使用该消息携带PDF初始设定的审计定时器时长,告知TRCF进行审计,对一致性进行监控。其中,审计定时器时长可以由客户端根据不同的会话设定不同或相同的值。
步骤1302,TRCF在接收到来自PDF的AAR消息并完成授权认证后,向PDF返回设定审计定时器时长响应的AAA消息。之后在TRCF执行步骤1303,则PDF执行步骤1305。
本步骤中,TRCF可以直接采用来自PDF的AAR消息中的审计定时器时长作为最终设定的审计定时器时长,也可以对该审计定时器进行修改,如果需要修改,则将修改后的审计定时器时长作为最终设定的审计定时器时长携带在AAA消息中发送给PDF。
TRCF在接收到AAR消息后,会将AAR消息中的业务信息存储在本地存储区中。
步骤1303,TRCF设定周期定时器时长,该值小于设定的审计定时器时长。
本步骤中,为了避免由于TRCF的周期定时器和PDF的审计定时器时长相同,而造成的TRCF周期性发送一致性检测请求时,PDF的审计定时器正好超时的异常情况,可将周期定时器时长设置成审计定时器时长的二分之一、三分之一等小于审计定时器的值,具体值可根据实际情况确定。
步骤1304,TRCF按照周期定时器时长启动周期定时器。
步骤1305,PDF接收到AAA消息后,启动审计定时器。
本步骤中,PDF接收到AAA消息,判断AAA消息中是否携带有审计定时器,如果有,则按照AAA消息中的审计定时器时长启动审计定时器;否则,按照PDF设定的审计定时器时长启动审计定时器。根据审计定时器对步骤1306中TRCF发送携带一致性检测请求信息的RAR消息进行监控。
步骤1306,TRCF的周期定时器达到预设的周期定时器时长时,TRCF向PDF发送携带一致性检测请求信息的RAR消息。
本步骤中,在发送RAR消息时,在消息中添加指示该消息为一致性检测请求消息的标志,指示PDF对当前会话的一致性检测做出响应。若设定为基于会话ID的一致性检测,则将检测会话ID的指示信息携带在RAR消息中;若设定为基于会话业务信息的一致性检测,则将检测会话业务信息的指示信息携带在RAR消息中。
其中,一致性检测请求消息可以在会话流量减少或消失时发送。即如果会话正常,则定时器超时也可以不用发送该一致性检测请求消息。
步骤1307,PDF判断是否在审计定时器超时之前接收到来自TRCF的RAR消息,如果是,则执行步骤1308;否则,进行异常处理。
本步骤中,若PDF在审计定时器超时,即超过设定的审计定时器时长时;或者预先设置超时次数,PDF审计定时器在预设的超时次数内连续超时,未收到来自TRCF的携带一致性检测请求信息的RAR消息时,进行异常处理。
异常处理包括PDF根据实际情况决定是否释放审计定时器超时的本地会话,如果是释放本地会话,则在释放本地会话后结束本流程;或者决定是否重新向TRCF发送AAR消息,如果是,则返回执行步骤1301,否则,结束本流程。
其中,如果会话正常,则即便审计定时器超时没有收到携带一致性检测请求信息的RAR消息时,也不认为异常。
步骤1308,PDF接收到RAR消息后,对一致性检测请求进行响应,向TRCF发送携带响应信息的RAA消息,之后PDF执行步骤1309,TRCF执行步骤1310。
本步骤中,若TRCF在RAR消息中所请求的当前会话存在,则在RAA消息中携带指示成功的结果码或者携带会话的业务信息。若RAR消息中的指示信息为基于会话ID的一致性检测,则在会话ID一致的情况下,将指示成功的结果码携带在RAA消息中;若RAR消息中的指示信息为基于会话业务信息的一致性检测,则在会话ID一致的情况下,将会话的业务信息携带在RAA消息中,此时的业务信息可能与步骤1301中的业务信息相同,也可能与步骤1301中的业务信息不同,甚至比步骤1301中的业务信息多。
若TRCF在RAR消息中所请求的当前会话不存在,则在RAA消息中携带指示失败的结果码。
步骤1309,PDF判断一致性检测响应是否为成功信息,如果为成功信息,则PDF返回执行步骤1304。
步骤1310,TRCF判断是否在周期定时器超时之前接收到来自PDF的RAA消息,如果是,则执行步骤1311;否则,进行异常处理。
本步骤中,若TRCF发出携带一致性检测信息的RAR消息后,在周期定时器超时,即超过设定的周期定时器时长时;或者预先设置周期个数,若TRCF周期定时器在预设的周期个数内连续超时未收到来自PDF的携带响应信息的RAA消息时,审计失败,可释放本地会话,并通知其它相关实体进行该会话的释放,并结束本流程;或者返回执行步骤1306,重新向PDF发送携带一致性检测请求信息的RAR消息。
步骤1311,TRCF收到RAA消息后,根据RAA消息中所携带的响应信息进行审计处理。如果响应信息为指示成功的结果码,则返回执行步骤1304;如果响应信息为会话的业务信息,则执行步骤1312;如果响应信息为指示失败的结果码,则进行异常处理。
本步骤中,如果响应信息为指示失败的结果码,则可释放本地会话,并通知其它相关实体进行该会话的释放,结束本流程。
步骤1312,TRCF将响应信息中的业务信息与本地存储的该会话的业务信息进行比较,并判断二者是否一致,如果一致,则返回执行步骤1304;否则进行异常处理。
本步骤中,异常处理包括将该业务信息与本地存储的该会话的业务信息进行比较时,若二者不一致,则TRCF可以向PDF发送ASR消息,由PDF选择是否终止会话;或者TRCF可以用RAA消息中的业务信息更新本地存储的该会话的业务信息,然后返回执行步骤1304。
在上述图13所示流程中,步骤1301和步骤1302还可以为步骤1301中PDF向TRCF发送的AAR消息为普通AAR消息,即未携带审计定时器时长。步骤1302中TRCF在接收到来自PDF的AAR消息并完成授权认证后,根据需要决定是否设定审计定时器,如果设定审计定时器,则将设定的审计定时器时长携带在AAA消息中发送给PDF,并设定小于审计定时器时长的周期定时器时长。其余步骤不变。
以上对本发明实施例二中实体间的审计方法进行了详细描述,下面再对本发明实施例二中实体间的审计系统进行详细说明。
参见图14,图14为本发明实施例二中基于上述实体间的审计方法的审计系统的结构示意图。如图14所示,该系统包括TRCF和PDF。
PDF用于向TRCF发送携带审计定时器时长的AAR消息,并接收来自TRCF的设定审计定时器时长响应的AAA消息,根据AAA消息启动审计定时器;接收来自TRCF的携带一致性检测请求的RAR消息,对一致性检测请求进行响应,向TRCF返回携带响应信息的RAA消息。
其中,PDF接收到AAA消息后,判断AAA消息中是否携带有审计定时器,如果有,则按照AAA消息中的审计定时器时长启动审计定时器;否则,按照PDF设定的审计定时器时长启动审计定时器,并且PDF根据审计定时器监控接收来自TRCF的携带一致性检测请求的RAR消息的情况,并在超时或在预先设定的超时次数内未接收到RAR消息时,进行异常处理。异常处理包括PDF根据实际情况决定是否释放审计定时器超时的本地会话;或者决定是否重新向TRCF发送AAR消息。
其中,如果会话正常,则即便审计定时器超时没有收到携带一致性检测请求信息的RAR消息时,也不认为异常。
TRCF用于接收来自PDF的携带审计定时器时长的AAR消息,并设定最终的审计定时器时长,通过AAA消息发送给PDF;并设定小于审计定时器时长的周期定时器时长,按照周期定时器时长周期性向PDF发送携带一致性检测请求信息的RAR消息,并接收来自PDF响应的RAA消息,根据RAA消息中的响应信息进行审计处理。其中,一致性检测请求消息可以在会话流量减少或消失时发送。即如果会话正常,则定时器超时也可以不用发送该一致性检测请求消息。
TRCF可以直接采用来自PDF的AAR消息中的审计定时器时长作为最终设定的审计定时器时长,也可以对该审计定时器进行修改,如果需要修改,则将修改后的审计定时器时长作为最终设定的审计定时器时长携带在AAA消息中发送给PDF;并且TRCF根据周期定时器监控接收RAA消息的情况,若在周期定时器超时,或者在预先设置的周期个数内连续超时未收到RAA消息时,可释放本地会话,并通知其它相关实体进行该会话的释放;或者重新向PDF发送携带一致性检测请求信息的RAR消息。
其中,根据RAA消息中的响应信息进行审计处理包括如果响应信息为指示成功的结果码,则重新启动周期定时器;如果响应信息为指示失败的结果码,则可释放本地会话,并通知其它相关实体进行该会话的释放;如果响应信息为会话的业务信息,则TRCF将响应信息中的业务信息与本地存储的该会话的业务信息进行比较,并判断二者是否一致,如果一致,则重新启动周期定时器;若二者不一致,则TRCF可以向PDF发送ARS消息,由PDF选择是否终止会话;或者TRCF可以用RAA消息中的业务信息更新本地存储的该会话的业务信息,然后重新启动周期定时器。
上述系统中的PDF向TRCF发送AAR消息时,可以不用携带审计定时器时长,而由TRCF根据实际需要决定是否设定审计定时器时长,如果需要设定,则将设定的审计定时器时长通过AAA消息发送给PDF,其余功能相同。
以上实施例以Diameter协议为例,对应用Diameter协议的实体间的审计方法及系统进行了详细描述,实际应用中,上述思想同样可以应用于使用其它协议的实体。本领域的技术人员在参考本发明的思想及实施例的基础上可以很容易的将该方案扩充到其它领域中。
可见,以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种实体间的审计方法,其特征在于,该方法包括如下步骤A、第一实体针对要审计的会话向第二实体发送第一消息;B、第二实体对接收到的第一消息进行响应,向第一实体发送第二消息;C、第一实体根据接收到的第二消息,进行审计处理。
2.如权利要求1所述的方法,其特征在于,所述第一消息为一致性检测请求消息;所述第二消息为一致性检测响应消息。
3.如权利要求1所述的方法,其特征在于,步骤A具体为在当前会话流量减少或消失时,第一实体针对要审计的会话向第二实体发送第一消息。
4.如权利要求2所述的方法,其特征在于,所述步骤B包括B1、第二实体根据接收到的一致性检测请求消息进行判断,如果该消息中请求一致性检测的会话存在,则执行步骤B2,否则,执行步骤B3;B2、第二实体向第一实体返回携带指示成功的结果码的一致性检测响应消息,或返回携带会话的业务信息的一致性检测响应消息,结束步骤B;B3、第二实体向第一实体返回携带指示失败的结果码的一致性检测响应消息。
5.如权利要求4所述的方法,其特征在于,所述步骤C包括第一实体在确定所接收的一致性检测响应消息中携带指示成功的结果码,则审计成功;在确定所接收的一致性检测响应消息中携带指示失败的结果码,则审计失败,进行失败处理。
6.如权利要求4所述的方法,其特征在于,所述步骤C包括第一实体在确定所接收的一致性检测响应消息中携带会话的业务信息,则将该业务信息与本地存储的该会话的业务信息进行比较,如果二者一致,则审计成功;否则,审计异常,进行异常处理。
7.如权利要求2所述的方法,其特征在于,该方法进一步包括预先设置周期定时器与周期定时器时长;则步骤A为第一实体根据周期定时器,周期性发送给第二实体的一致性检测请求消息。
8.如权利要求7所述的方法,其特征在于,该方法进一步包括所述第一实体在周期定时器超时,或连续在预设的周期个数内周期定时器超时,未收到来自第二实体的一致性检测响应,则审计失败,进行失败处理。
9.如权利要求7所述的方法,其特征在于,该方法进一步包括预先设置审计定时器与审计定时器时长;步骤A之前进一步包括第二实体启动审计定时器;步骤B中所述发送一致性检测响应消息之后,进一步包括第二实体重新启动审计定时器。
10.如权利要求9所述的方法,其特征在于,该方法进一步包括第二实体在审计定时器超时,或连续在预设的超时次数内审计定时器超时,未收到来自所述第一实体的一致性检测请求消息,则审计异常,进行异常处理。
11.如权利要求9所述的方法,其特征在于,所述预先设置审计定时器时长包括第一实体与第二实体初始会话时,设定审计定时器时长。
12.如权利要求11所述的方法,其特征在于,所述第一实体与第二实体初始会话时,设定审计定时器时长包括第二实体向第一实体发送携带审计定时器时长的初始会话请求消息;第一实体根据初始会话请求消息中的审计定时器时长,设定审计定时器时长,并向第二实体返回设定审计定时器时长响应的初始会话响应消息;所述第二实体启动审计定时器包括第二实体根据初始会话响应消息启动审计定时器。
13.如权利要求11所述的方法,其特征在于,所述第一实体与第二实体初始会话时,设定审计定时器时长包括第二实体向第一实体发送未携带审计定时器时长的初始会话请求消息;第一实体设定审计定时器时长,并向第二实体返回携带审计定时器时长的初始会话响应消息;所述第二实体启动审计定时器包括第二实体根据初始会话响应消息中的审计定时器时长启动审计定时器。
14.如权利要求12或13所述的方法,其特征在于,所述初始会话请求消息包括初始授权认证请求AAR消息,所述初始会话响应消息包括初始授权认证响应AAA消息。
15.如权利要求1至13中任意一项所述的方法,其特征在于,所述一致性检测请求消息包括重新授权请求RAR消息,所述一致性检测响应消息包括重新授权响应RAA消息。
16.如权利要求1至13中任意一项所述的方法,其特征在于,所述第一实体包括直径Diameter服务器端,所述第二实体包括Diameter客户端。
17.如权利要求16所述的方法,其特征在于,所述Diameter客户端为业务控制功能SCF,所述Diameter服务器端为策略决定功能PDF;或者所述Diameter客户端为策略决定功能PDF,所述Diameter服务器端为传输资源控制功能TRCF。
18.一种实体间的审计系统,其特征在于,该系统包括第一实体和第二实体,其中,第一实体,用于针对要审计的会话向第二实体发送第一消息,并接收第二实体返回的第二消息,根据接收结果,进行审计处理;第二实体,用于接收来自所述第一实体的第一消息,并做出响应,向第一实体返回第二消息。
19.如权利要求18所述的系统,其特征在于,所述第一实体进一步用于设置周期定时器,针对要审计的会话周期性向第二实体发送第一消息。
20.如权利要求19所述的系统,其特征在于,所述第一实体进一步用于根据周期定时器监控接收第二实体返回的第二消息的情况,在周期定时器超时,或连续在预设的周期个数内周期定时器超时,未收到来自第二实体的第二消息,则审计失败,进行失败处理。
21.如权利要求20所述的系统,其特征在于,所述第二实体进一步用于设置审计定时器,在初始会话时向第一实体发送会话请求消息,与第一实体协商设定审计定时器时长,按照审计定时器时长启动审计定时器;并在向第一实体返回第二消息后,重新启动审计定时器;所述第一实体进一步用于在初始会话时接收第二实体的会话请求消息,并与第二实体协商设定审计定时器时长。
22.如权利要求21所述的系统,其特征在于,所述第二实体进一步用于根据审计定时器监控接收第一实体发送的第一消息的情况,在审计定时器超时,或连续在预设的超时次数内审计定时器超时,未收到来自所述第一实体的第一消息,则审计异常,进行异常处理。
23.如权利要求18至22中任意一项所述的系统,其特征在于,所述第一实体为Diameter服务器端,所述第二实体为Diameter客户端。
全文摘要
本发明公开了一种实体间的审计方法,包括第一实体针对要审计的会话向第二实体发送第一消息;第二实体对接收到的第一消息进行响应,向第一实体发送第二消息;第一实体根据接收到的第二消息,进行审计处理。此外,本发明还公开了一种实体间的审计系统,包括第一实体和第二实体。本发明所提供的方法和系统能够保证实体间的资源一致性,使业务能够正常进行。
文档编号H04L29/06GK101022454SQ20061015398
公开日2007年8月22日 申请日期2006年9月15日 优先权日2006年2月16日
发明者薛莉莉, 简海燕, 王伟杰, 黄福清 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1