一种代理状态检测方法、装置和系统的制作方法

文档序号:7989971阅读:223来源:国知局
专利名称:一种代理状态检测方法、装置和系统的制作方法
技术领域
本发明涉及通信领域,尤其涉及一种代理状态检测方法、装置和系统。
背景技术
SIP (Session Initiation Protocol,会话初始协议)是一种在 IP (InternetProtocol)网络中建立、修改和中止多媒体会话的应用层协议,其应用包括语音、视频、游戏、消息、呼叫控制等。SIP由于其简单性和可扩展性,后来被采纳为VoIP (Voice over IP,IP电话)的信令协议,并于 1999 年最终成为 IETF (Internet Engineering Task Force, Internet 工程任务组)的标准。之后SIP在互操作性、设计的优化和新特性等方面得到了进一步增强,并形成了新的标准rfc3261。IMS(IP Multimedia Subsystem, IP 多媒体子系统)是 3GPP 组织在 Release5 版本标准中提出的支持IP多媒体业务的子系统。頂S使用SIP呼叫控制机制来创建、管理和终结各种类型的多媒体业务。各种类型的客户端通过MS都可以建立起端到端的IP通信,并可获得所需要的服务质量,可以说頂S提供了业务融合的基础,基于IP技术,它同时支持语音、数据和多媒体业务以及新的应用。正是由于上述优点,MS正被越来越多的运营商所采用,作为下一代融合网络形式。在IMS网络中,UE(User Equipment,用户设备)通过代理设备接入核心网络实现各种业务。代理设备可能是SBC (Session Borden Controller,会话边界控制器),也可能是 P-CSCF (Proxy-Call Session Control Function,代理-呼叫会话控制功能)。—个代理可以同时服务于许多用户,而一个用户某一时刻只使用一个代理上行。能够服务于同一个用户设备的代理同时可能存在多个,这种情况叫做多归属,双归属就是指同时有两个代理,他是多归属的一种特定形式,也是目前使用比较广泛的一种,多归属存在主要是出于下述目的:(I)负荷分担:这种形式是由于代理的业务处理能力有限,一个代理无法处理下辖的所有用户业务而采用的一种形式。这种方式下某一个用户通过哪一个代理上行是根据各代理的负载情况随机分配的。(2)冗余备份:这种形式是处于可靠性容灾的要求。一般由一个主用代理和一到多个备份代理组成,在主用代理故障后,业务能够转移到备份代理继续处理,从而提高业务的可靠性。在双归属的组网下,UE需要感知上行代理的状态以便于在代理之间切换,这个就需要对代理的状态进行检测。现有的一种方案是采用UE对每个代理独立周期性的发送基于SIP的OPTIONS请求,根据OPTIONS请求的响应来判定代理的可用性,因为OPTIONS请求与用户注册和呼叫都无关,因此不会影响到用户的正常注册和呼叫。
还有一种方案是复用了 UE注册刷新机制,这种方式通过周期内的注册刷新和其他的呼叫消息(例如初始INVITE请求)的响应来判定代理的状态。然而,在集群用户设备(用户数由几百个到几千个不等)中,因为用户的代理相同,因此可以通过一个和几个用户检测代理的状态,所有设备用户均根据检测的结果进行切换判定。但是对于海量分布的小规格设备(用户个数通常只有几个,例如ONT(OpticalNetwork Terminal,光网络终端)),每个设备独立的检测机制依然会导致大量的非业务消息冲击代理服务器,影响业务处理的性能。

发明内容
本发明一个实施例提供一种代理检测方法,包括:接收来自用户设备的授权申请消息,所述授权申请消息携带所述用户设备的代理设备的地址列表以及所述代理设备的状态;判断本地是否保存有所述代理设备的地址列表,如果有,则将所述用户设备的地址添加到所述代理设备的状态同步列队中,向所述用户设备发送携带所述代理设备的地址列表以及所述代理设备的状态的失败响应消息;如果没有,则创建所述代理设备的地址列表并记录所述代理设备的状态,向所述用户设备发送成功响应消息,以授权所述用户设备对所述代理设备的状态进行检测。本发明一个实施例提供一种接入设备,所述接入设备连接至少一个代理设备以及连接多个用户设备,所述接入设备包括:网络侧端口,用于连接所述至少一个代理设备;用户侧端口,用于连接所述多个用户设备;以及用于接收来自用户设备的授权申请消息,所述授权申请消息携带所述用户设备的代理设备的地址列表以及所述代理设备的状态;处理单元,用于判断本地是否保存有所述代理设备的地址列表,如果有,则将所述用户设备的地址添加到所述代理设备的状态同步列队中,通过所述用户侧端口向所述用户设备发送携带所述代理设备的地址列表以及所述代理设备的状态的失败响应消息;如果没有,则创建所述代理设备的地址列表并记录所述代理设备的状态,通过所述用户侧端口向所述用户设备发送成功响应消息,以授权所述用户设备对所述代理设备的状态进行检测。本发明一个实施例提供一种代理状态检测系统,包括接入设备以及多个用户设备。所述接入设备,用于接收来自用户设备的授权申请消息,所述授权申请消息携带所述用户设备的代理设备的地址列表以及所述代理设备的状态;判断本地是否保存有所述代理设备的地址列表,如果有,则将所述用户设备的地址添加到所述代理设备的状态同步列队中,向所述用户设备发送携带所述代理设备的地址列表以及所述代理设备的状态的失败响应消息;如果没有,则创建所述代理设备的地址列表并记录所述代理设备的状态,向所述用户设备发送成功响应消息,以授权所述用户设备对所述代理设备的状态进行检测。本发明实施例提供的代理状态检测方法、装置和系统,授权一个用户设备对代理设备的状态进行检测,接入设备将代理设备的状态通知其他用户设备,其他用户设备可以不用启动对代理设备的状态检测,可以减少代理设备的消息处理量。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例提供的系统的架构图;图2为本发明实施例提供的方法流程图;图3为本发明实施例提供的方法流程图;图4为本发明实施例提供的装置的结构示意图;图5为本发明实施例提供·的系统的架构图。
具体实施例下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。图1为本发明实施例提供的系统架构图,在图1中,接入设备10下可以连接多个用户设备,这多个用户设备通过接入设备10汇聚上行接入代理设备12,代理设备12可以是一个或多个代理设备。一般来说,接入设备10下连接的用户设备的某个业务的上行代理设备为同一个或者几个,这里的业务可以是语音业务等。图1中的接入设备10可以^ OLT(Optical Line Terminal,光线路终端)、DSLAM(Digital Subscriber Line AccessMultiplexer,数字用户线接入复用器)或者MSAN(Multiservice Access Node,多业务接入节点)等,用户设备可以是CPE (Customer Premises Equipment,用户驻地设备)或者ONT等,代理设备12可以是一到多个SBC或者P-CSCF等。基于图1的架构,接入设备10下连接的每个用户设备都要独立发起代理检测机制的话,检测机制带来的消息量会很大,鉴于此,本发明实施例提供一种代理检测方法,如图2所示,包括:步骤200,接收来自用户设备的授权申请消息。接入设备接收来自用户设备(如用户设备14)的授权申请消息(AUTH REQ),请求授权对代理设备的状态进行检测,AUTHREQ携带代理设备的地址列表以及代理设备的状态,如{A = normal,B = normal},其中A,B分别为用户设备14的两个代理设备的地址,AUTHREQ中携带的是代理设备的初始状态,本实施例中均为normal。步骤202,判断本地是否保存有所述代理设备的地址列表,如果有,执行步骤204 ;如果没有,执行步骤208。接入设备判断本地是否保存有上述代理设备的地址列表,也即代理状态观察表,如果存在,说明已经存在授权对代理设备的状态进行检测的用户设备;如果不存在,则说明还未授权用户设备对代理设备的状态进行检测。步骤204,将所述用户设备的地址添加到所述代理设备的状态同步队列中。
本实施例中,由于一个接入设备下连接的多个用户设备可能使用同一个或同几个代理设备,也有可能是几个用户设备使用一组代理设备,另外另外用户设备使用另外一组代理设备,如在图1中,可以是用户设备14、16使用代理设备{A,B},用户设备18、19使用代理设备{C,D}等。因此可以给一组代理设备设置一个状态同步队列,状态同步队列记录使用该组代理设备的用户设备的地址,当代理设备中的一个或多个的状态发生变换时,可以根据状态同步队列通知相应的用户设备,以下实施例将使用这种方式作为举例。本发明另外一个实施例中,也可以给每一个代理设备设置一个状态同步队列,记录使用该代理设备的用户设备的地址,在这个代理设备的状态发生变换时,通知相应的用户设备。步骤206,向所述用户设备发送失败响应消息。接入设备向用户设备发送失败响应消息,携带代理设备的地址列表以及状态,如{A = normal, B = normal},失败响应消息中还可以携带授权失败的原因。用户设备收到失败响应消息后,可以不启动代理设备状态检测过程。步骤208,创建所述代理设备的地址列表并记录所述代理设备的状态。接入设备创建包含代理设备的地址列表的代理状态观察表,记录每个代理设备的状态。步骤210,向所述用户设备发送成功响应消息,以授权所述用户设备对所述代理设备的状态进行检测。接入设备标记该用户设备为已授权,向该用户设备发送成功响应消息,授权该用户设备对代理设备的状态进行检测,成功响应消息中还可以携带代理设备的地址列表以及状态,如{A = normal, B = normal}。用户设备收到成功响应消息后,启动对代理设备的状态检测,具体检测过程本领域普通技术人员都应知悉,在此不再阐述。在上述方法中,如果接入设备收到的授权申请消息是来已经授权的用户设备,则接入设备也向该用户设备发送成功响应消息,以使得该用户设备启动对代理设备的状态检测。而对于用户设备,如果没有收到接入设备的响应消息、或者收到不支持的响应消息,则启动对代理设备的状态检测。用户设备在链路故障恢复后,也需要重新向接入设备发送授权申请消息。本实施例提供的方法,还可以包括如图3所示的步骤:步骤300,接收授权的用户设备的状态通知消息(NOTIFY REQ),所述状态通知消息中携带代理设备的地址列表以及代理设备的状态。授权的用户设备对代理设备的状态进行检测后,会将代理设备的状态携带在NOTIFY REQ消息中发送给接入设备,如{A = failure, B = normal}。可选的,接入设备可以向该授权的用户设备发送状态通知响应消息(NOTIFYRSP),向用户设备确认状态通知成功。步骤302,根据所述状态通知消息更新本地保存的对应代理设备的状态。接入设备在收到上述N0TIFYREQ后,更新本地保存的代理设备的状态。步骤304,向所述状态同步队列中的其他用户设备发送携带代理设备的地址列表以及代理设备的状态的状态通知消息,以使得所述其他用户设备更新代理设备的状态。本实施例提供的方法中,接入设备如果检测到授权的用户设备掉线或出现链路故障,则在状态同步队列中删除该授权的用户设备的地址,并从状态同步列队中指定一个用户设备,向其发送授权指示消息(IND REQ),授权该指定的用户终端对代理设备的状态进行检测,如果接入设备在设定时间内没有收到该用户的指示响应消息(IND RSP),则从状态同步队列中删除指定用户设备的地址,如果状态同步列表为空,则删除状态同步列表。接入设备还可以接收来自授权的用户设备的授权解除消息(UNAUTH REQ),所述授权解除消息携带代理设备的地址列表;接入设备根据所述授权解除消息中携带的代理设备的地址列表找到对应的状态同步列队,从状态同步列队中删除所述授权的用户设备的地址,并从状态列队中指定一个用户终端,授权该指定的用户终端对代理设备的状态进行检测。本实施例提供的代理状态检测方法,授权一个用户设备对代理设备的状态进行检测,接入设备将代理设备的状态通知其他用户设备,其他用户设备可以不用启动对代理设备的状态检测,可以减少代理设备的消息处理量。本发明一个实施例提供一种接入设备,所述接入设备连接至少一个代理设备以及连接多个用户设备,如图4所示,包括:网络侧端口 40,用于连接所述至少一个代理设备;用户侧端口 42,用于连接所述多个用户设备;以及用于接收来自用户设备的授权申请消息,所述授权申请消息携带所述用户设备的代理设备的地址列表以及所述代理设备的状态;处理单元44,用于判断本地是否保存有所述代理设备的地址列表,如果有,则将所述用户设备的地址添加到所述代理设备的状态同步列队中,通过所述用户侧端口 42向所述用户设备发送携带所述代理设备的地址列表以及所述代理设备的状态的失败响应消息;如果没有,则创建所述代理设备的地址列表并记录所述代理设备的状态,通过所述用户侧端口 42向所述用户设备发送成功响应消息,以授权所述用户设备对所述代理设备的状态进行检测。用户侧端口 42还可以用于接收授权的用户设备的状态通知消息,所述状态通知消息携带代理设备的地址列表以及代理设备的状态。处理单元44还可以用于根据所述状态通知消息携带的代理设备的状态更新本地保存的对应代理设备的状态;以及用于向所述状态同步队列中的其他用户设备发送携带代理设备的地址列表以及代理设备的状态的状态通知消息,以使得所述其他用户设备更新代理设备的状态。用户侧端口 42还用于接收来自授权的用户设备的授权解除消息,所述授权解除消息携带代理设备的地址列表。处理单元44还用于根据所述授权解除消息中携带的代理设备的地址列表找到对应的状态同步列队,从状态同步列队中删除所述授权的用户设备的地址,并从状态列队中指定一个用户终端,授权该指定的用户终端对代理设备的状态进行检测。其中处理单兀44可以是CPU (Central Processing Unit,中央处理单兀)或者DSP (Digital Signal Processing,数字信号处理)等。
本实施例提供的接入设备可以是DSLAM、OLT或者MSAN等设备。本实施例提供的接入设备通过授权一个用户设备对代理设备的状态进行检测,在获取代理设备的状态后,发送给其他用户设备,这样其他用户设备不用都对代理设备的状态进行检测,可以减少代理设备的消息处理量。本发明实施例提供一种代理状态检测系统,包括接入设备以及多个用户设备,如图5所示,其中,接入设备50,用于接收来自用户设备52的授权申请消息,所述授权申请消息携带用户设备52的代理设备的地址列表以及所述代理设备的状态;判断本地是否保存有所述代理设备的地址列表,如果有,则将用户设备52的地址添加到所述代理设备的状态同步列队中,向用户设备52发送携带所述代理设备的地址列表以及所述代理设备的状态的失败响应消息;如果没有,则创建所述代理设备的地址列表并记录所述代理设备的状态,向用户设备52发送成功响应消息,以授权用户设备52对所述代理设备的状态进行检测。接入设备还用于接收授权的用户设备的状态通知消息,所述状态通知消息携带代理设备的地址列表以及代理设备的状态,根据状态通知消息更新本地保存的代理设备的状态。接入设备还用于在代理设备的状态发生变化时,向对应的状态同步列队中的用户设备发送携带代理设备的地址列表以及代理设备的状态的状态通知消息。用户设备收到状态通知消息后,更新对应代理设备的状态。本实施例提供的代理设备状态检测系统,通过授权一个用户设备对代理设备的状态进行检测,在获取代理设备的状态后,发送给其他用户设备,这样其他用户设备不用都对代理设备的状态进行检测,可以减少代理设备的消息处理量。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一计算机可读存储介质中,如R0M/RAM、磁碟或光盘等。以上所述,仅为本发明的具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内,因此,本发明的保护范围应所述以权利要求的保护范围为准。
权利要求
1.一种代理状态检测方法,其特征在于,包括步骤: 接收来自用户设备的授权申请消息,所述授权申请消息携带所述用户设备的代理设备的地址列表以及所述代理设备的状态; 判断本地是否保存有所述代理设备的地址列表,如果有,则将所述用户设备的地址添加到所述代理设备的状态同步列队中,向所述用户设备发送携带所述代理设备的地址列表以及所述代理设备的状态的失败响应消息;如果没有,则创建所述代理设备的地址列表并记录所述代理设备的状态,向所述用户设备发送成功响应消息,以授权所述用户设备对所述代理设备的状态进行检测。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括: 接收授权的用户设备的状态通知消息,所述状态通知消息携带代理设备的地址列表以及代理设备的状态; 根据所述状态通知消息携带的代理设备的状态更新本地保存的代理设备的状态。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括: 向所述状态同步队列中的其他用户设备发送携带代理设备的地址列表以及代理设备的状态的状态通知消息,以使得所述其他用户设备更新代理设备的状态。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括: 向所述授权的用户设备发送状态通知响应消息。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括: 接收授权的用户设备的授权解除消息,所述授权解除消息携带代理设备的地址列表; 根据所述授权解除消息中携带的代理设备的地址列表找到对应的状态同步列队,从状态同步列队中删除所述授权的用户设备的地址,并从状态列队中指定一个用户终端,授权该指定的用户终端对代理设备的状态进行检测。
6.根据权利要求1-5任意一项所述的方法,其特征在于,所述方法还包括: 如果没有在设定时间内收到授权的用户设备的状态通知消息,则在状态同步队列中删除该授权的用户设备的地址,并从状态列队中指定一个用户终端,授权该指定的用户终端对代理设备的状态进行检测。
7.一种接入设备,所述接入设备连接至少一个代理设备以及连接多个用户设备,其特征在于,所述接入设备包括: 网络侧端口,用于连接所述至少一个代理设备; 用户侧端口,用于连接所述多个用户设备;以及用于接收来自用户设备的授权申请消息,所述授权申请消息携带所述用户设备的代理设备的地址列表以及所述代理设备的状态; 处理单元,用于判断本地是否保存有所述代理设备的地址列表,如果有,则将所述用户设备的地址添加到所述代理设备的状态同步列队中,通过所述用户侧端口向所述用户设备发送携带所述代理设备的地址列表以及所述代理设备的状态的失败响应消息;如果没有,则创建所述代理设备的地址列表并记录所述代理设备的状态,通过所述用户侧端口向所述用户设备发送成功响应消息,以授权所述用户设备对所述代理设备的状态进行检测。
8.根据权利要求7所述的接入设备,其特征在于, 所述用户侧端口还用于接收授权的用户设备的状态通知消息,所述状态通知消息携带代理设备的地址列表以及代理设备的状态; 所述处理单元还用于根据所述状态通知消息携带的代理设备的状态更新本地保存的对应代理设备的状态;以及用于向所述状态同步队列中的其他用户设备发送携带代理设备的地址列表以及代理设备的状态的状态通知消息,以使得所述其他用户设备更新代理设备的状态。
9.一种代理状态检测系统,包括接入设备以及多个用户设备,其特征在于, 所述接入设备,用于接收来自用户设备的授权申请消息,所述授权申请消息携带所述用户设备的代理设备的地址列表以及所述代理设备的状态;判断本地是否保存有所述代理设备的地址列表,如果有,则将所述用户设备的地址添加到所述代理设备的状态同步列队中,向所述用户设备发送携带所述代理设备的地址列表以及所述代理设备的状态的失败响应消息;如果没有,则创建所述代理设备的地址列表并记录所述代理设备的状态,向所述用户设备发送成功响应消息,以授权所述用户设备对所述代理设备的状态进行检测。
10.根据权利要求9所述的系统,其特征在于,所述接入设备还用于接收授权的用户设备的状态通知消息,所述状 态通知消息携带代理设备的地址列表以及代理设备的状态;根据所述状态通知消息携带的代理设备的状态更新本地保存的对应代理设备的状态;以及用于向所述状态同步队列中的其他用户设备发送携带代理设备的地址列表以及代理设备的状态的状态通知消息,以使得所述其他用户设备更新代理设备的状态。
全文摘要
本发明提供一种代理状态检测方法、装置和系统,其中方法包括步骤接收来自用户设备的授权申请消息,所述授权申请消息携带所述用户设备的代理设备的地址列表以及所述代理设备的状态;判断本地是否保存有所述代理设备的地址列表,如果有,则将所述用户设备的地址添加到所述代理设备的状态同步列队中,向所述用户设备发送携带所述代理设备的地址列表以及所述代理设备的状态的失败响应消息;如果没有,则创建所述代理设备的地址列表并记录所述代理设备的状态,向所述用户设备发送成功响应消息,以授权所述用户设备对所述代理设备的状态进行检测。
文档编号H04L12/28GK103138998SQ20111038482
公开日2013年6月5日 申请日期2011年11月28日 优先权日2011年11月28日
发明者唐春平, 张波, 邓全胜 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1