Ims架构中s-cscf对用户签约信息的保存方法

文档序号:7868092阅读:727来源:国知局
专利名称:Ims架构中s-cscf对用户签约信息的保存方法
技术领域
本发明涉及通信技术领域,特别是涉及一种IMS架构中S-CSCF对用户签约信息的保存方法。
背景技术
CSCF (Call Session Control Function,呼叫会话控制功能)是IP多媒体子系统内部的功能实体,是整个頂S (IP MultimediaSubsystem, IP多媒体子系统)网络的核心,主要负责处理多媒体呼叫会话过程中的信令控制。它管理MS网络的用户鉴权,MS承载面QoS,与其它网络实体配合进行SIP(Session Initiation Protocol,会话启动协议)会话的控制,以及业务协商和资源分配等。CSCF根据功能分为P-CSCF(PiX)Xy CSCF,代理CSCF),1-CSCF (Interrogating CSCF,查询 CSCF),S-CSCF (Se·rving CSCF,服务 CSCF)等。MS体系架构中,用户注册成功后,S-CSCF保存用户相关信息(即用户签约信息),包括身份信息和业务信息。由于实际应用中用户的签约业务一般为各种基本业务的组合,导致保存业务信息时占用的存储空间也较大。如何合理有效地保存所有注册用户的业务信息,进而减少对系统内存资源的占用,是S-CSCF实现过程中需要重点关注的问题。一个MS用户对应一份ServiceProfile数据,因此每个用户注册完毕,S-CSCF需在本地保存一份ServiceProfile。现有技术中对用户相关信息的保存方法实现较简单,但也存在着较大的缺点对内存占用极大。例如,按照一般组成计算,每个ServiceProfile占用内存为8K左右。按照一块单板支持5万用户计算,则ServiceProfile的保存需要占用内存约400M(50, 000*8K=400M),因而对于内存资源是一种极大的消耗。对于企业通信等小型化应用,其最终目标是在增加单系统处理能力的同时尽可能降低成本。为此,基于MS体系架构所开发的小型化应用中,S-CSCF可能和其它应用共同部署于同一块单板之上。此时,采用现有保存方法对内存消耗过大,将成为系统优化的瓶颈。

发明内容
(一)要解决的技术问题本发明首先要解决的技术问题是如何减少在MS架构中S-CSCF对保存用户签约信息时对系统内存资源的占用。(二)技术方案为了解决上述技术问题,本发明提供一种IP多媒体子系统MS架构中服务呼叫会话控制功能S-CSCF对用户签约信息的保存方法,用于在IMS架构中用户注册时,对SAA响应消息中用户签约信息的保存,所述用户签约信息包括用户身份信息和业务信息,包括以下步骤S1、所述S-CSCF对所述SAA响应消息进行解码,得到用户身份信息和业务信息,所述业务信息存储于ServiceProfile中;S2、所述S-CSCF检查所述ServiceProfile是否已存在,若是,则获取已存在ServiceProfile的ID,并根据所述ID将已存在的ServiceProfile与注册用户的用户表相关联;否则在本地ServiceProfile表中新增一条记录,将新的ServiceProfile保存在所新增的记录中,并根据新增记录的ID将新的ServiceProfile与注册用户的用户表相关联。优选地,所述SAA响应消息由所述S-CSCF从归属用户服务器HSS获取。优选地,在步骤SI之后还包括所述S-CSCF将所述用户身份信息存储到本地的步骤,且所述用户表中包含所述用户身份信息所对应的用户。优选地,所述S-CSCF利用遍历算法检查所述ServiceProfile是否已存在。本发明还提供了另一种IP多媒体子系统MS架构中服务呼叫会话控制功能S-CSCF对用户签约信息的保存方法,用于在IMS架构中用户注册时,对SAA响应消息中用户签约信息的保存,所述用户签约信息包括用户身份信息和业务信息,包括以下步骤SI’、所述S-CSCF对所述SAA响应消息进行解码,得到用户身份信息和业务信息,所述业务信息存储于ServiceProfile中;S2’、所述S-CSCF根据所述ServiceProfile计算Hash值,并判断所计算出的Hash值在本地ServiceProfile表中是否已存在,若是,则获取所述ServiceProfile的ID,并根据所述ID将所述ServiceProfile与注册用户的用户表相关联;否则,在本地ServiceProfile表中新增一条记录,将所计算出的Hash值插入新增的记录中,并根据新增记录的ID将所述ServiceProfile与注册用户的用户表相关联。优选地,在步骤S2’之前还包括步骤所述S-CSCF根据本地ServiceProfile表中每条记录的ServiceProfile计算对应的Hash值。优选地,利用Hash算法计算所述Hash值。优选地,所述SAA响应消息由S-CSCF从归属用户服务器HSS获取。优选地,在步骤SI’之后还包括所述S-CSCF将所述用户身份信息存储到本地的步骤,且所述用户表中包含所述用户身份信息所对应的用户。(三)有益效果上述技术方案具有如下优点本发明通过将用户身份信息和业务信息分开保存,并在进行业务信息保存时使不同用户共享相同的业务信息,从而减少了系统内存占用,节省了内存资源,降低了设备成本,在相同内存情况下可支持更大的用户容量。作为改进,本发明在保存过程中使用了 Hash算法,进一步提高了保存的效率。


图1是MS架构中用户注册流程图;图2是现有ServiceProfile组成结构图;图3是本发明的第一种实施例的方法流程图;图4书本发明的第二种实施例的方法流程图;。
具体实施例方式下面结合附图和实施例,对本发明的具体实施方式
作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。本发明提供了一种MS架 构中S-CSCF对用户签约信息的保存方法,由于其在MS架构中用户注册时使用,因此首先介绍MS架构中用户注册流程。如图1所示,IMS架构中用户在归属域采用AKA鉴权方式注册的流程如下10、用户设备UE向发现的代理呼叫会话控制功能P-CSCF发送一个SIP REGISTER请求。这个请求会包含一个需要被注册的用户标识符。20、P-CSCF对这个REGISTER请求进行处理,并把REGISTER请求发送给选择的1-CSCF。30、查询呼叫会话控制功能1-CSCF接着会联系归属用户服务器HSS,向HSS发出Cx查询(Cx-Query)消息,以查询服务呼叫会话控制功能S-CSCF的地址。40,HSS 选择 S-CSCF,并把 S-CSCF 地址通过 Cx 查询响应(Cx-Query Response)消息发给1-CSCF。50、在完成S-CSCF选择之后,1-CSCF把REGISTER请求转发给选择的S-CSCF。60、当S-CSCF发现用户没有被授权时,向HSS发送Cx鉴权(Cx-Authentication)请求消息。70、HSS根据Cx鉴权请求消息将鉴权认证数据通过Cx鉴权响应(Cx-Authentication Response)消息返回给 S-CSCF。80、S-CSCF向1-CSCF发送“401未授权(Unauthorized)”应答,用于质疑用户。90、1-CSCF 将 “401 未授权(Unauthorized)” 应答发送给 P-CSCF。100、P-CSCF 将 “401 未授权(Unauthorized)” 应答发送给 UE。110、UE给P-CSCF发送一个新的包含这个应答的REGISTER。120、P-CSCF会再一次找到1-CSCF,并将新的REGISTER消息发送给1-CSCF。130、1-CSCF接着会联系HSS,向HSS发出Cx查询(Cx-Query)消息,以查询S-CSCF的地址。140、HSS把选择到的S-CSCF地址通过Cx查询响应(Cx-QueryResponse)消息发给1-CSCF。150、1-CSCF把新的REGISTER请求转发给选择的S-CSCF。S-CSCF会检查这个应答,如果不正确,则鉴权失败,注册流程终止。如果正确,则鉴权成功,执行步骤160。160、S-CSCF将向HSS发送SAR请求消息。170、HSS保存对应该用户的S-CSCF名字,并返回SAA响应消息给S-CSCF。S-CSCF保存SAA响应消息中对应的用户相关信息,包括用户身份信息和业务信息。180、S-CSCF向1-CSCF发送一个“2000K”消息,表示接受这个注册。190、1-CSCF 向 P-CSCF 转发该 “2000K” 消息。200、P-CSCF 向 UE 发送 “ 2000K ” 消息。210、S-CSCF根据ServiceProfile中的初始过滤规则集进行业务触发,触发成功后向对应的应用服务器AS发送注册请求(REGISTER)消息。

220、AS向S-CSCF返回“2000K”消息,表示接受这个注册。按照协议要求,在上述注册流程的步骤170中,S-CSCF在收到HSS下发的SAA响应消息后,需要将其中的用户身份信息和业务信息保存在本地,以供后续呼叫、短消息等其它业务时使用。从SAA中获取的信息在本地一直保存至用户注销。而SAA响应消息中的业务信息主要保存于ServiceProfile中,现有ServiceProfile组成结构如图2所示,其中的Initial Filter Creteria及下级的各个属性值都属于业务信息。一个MS用户对应一份ServiceProfile数据,因此每个用户注册完毕,S-CSCF都需在本地保存一份ServiceProfiIe。结合图2中ServiceProfile组成结构,分析实际应用中用户的业务数据组成可发现,尽管每个用户的业务签约数据各不相同,但最终都是由一个个简单的基本业务(如基本呼叫、即时消息、群组、呈现业务、多媒体会议等)组合而成。对基本业务进行组合而形成的业务类型有限。以6个基本业务为例,极端情况下,6个基本业务进行组合的数目为 Cl6 + G26 + C36; + C46 + C56 + C66 =63如果考虑每种基本业务的优先级,则;S、共的数目为P16; + p26;十 p36; + p46 + p56 +p66 =1956从理论上分析,注册用户数超过1956时,在内存数据库中所保存的ServiceProfile有大量重复。在实际应用中,用户常用的业务签约数据基本都相同。结合以上分析,为减少内存数据库中的冗余数据,本发明的方法考虑对于相同的ServiceProfile只保存一次。基于该思路本发明所提出的第一种实施例的方法流程图如图3所示,包括以下步骤S1、所述S-CSCF对所述SAA响应消息进行解码,得到用户身份信息和业务信息,所述业务信息存储于ServiceProfile中;S2、所述S-CSCF利用遍历算法检查所述ServiceProfile是否已存在,若是,则获取已存在ServiceProfile的ID,并根据所述ID将已存在的ServiceProfile与注册用户的用户表相关联,从而使得不同用户能够共享相同的业务信息;否则在本地ServiceProfile表中新增一条记录,将新的ServiceProfile保存在所新增的记录中,并根据新增记录的ID将新的ServiceProfile与注册用户的用户表相关联,从而使得不同用户能够共享相同的业务信息。在步骤SI之后还包括所述S-CSCF将所述用户身份信息存储到本地的步骤,且所述用户表中包含所述用户身份信息所对应的用户。相比于现有实现的方法,本发明的方法将用户身份信息和业务信息分开保存,并在进行业务信息保存时使不同用户共享相同的业务信息,从而减少了系统内存占用,节省了内存资源,降低了设备成本,在相同内存情况下可支持更大的用户容量。而在上述方法中,由于在SAA解码后需要将当前注册用户的ServiceProfile与本地数据库中所保存数据用遍历算法进行比较,以检查是否已存在,由于遍历算法是逐个比较ServiceProfile中每个属性的值,效率低,因而会增加部分时延。为此,作为本发明提出的另一种更加优化的方法,可考虑在ServiceProfile表中增加一个字段,用于保存根据当前ServiceProfile值所计算出的Hash值。每次比较时,首先使用相同的Hash算法计算出待比较的ServiceProfile记录的Hash值(该Hash值是根据ServiceProfile记录中每个属性值计算出的关键值),然后使用Hash值与数据库中每个ServiceProfile记录的Hash值进行比较,由于关键值是利用Hash算法计算出的,因此比较当前ServiceProfile值所计算出的Hash值与数据库中的关键值时不会逐个比较,而是通过折半查找等更高效的算法进行比较,从而能够提高比较速度。该优化后的方法流程图如图4所示,包括以下步骤SI’、所述S-CSCF对所述SAA响应消息进行解码,得到用户身份信息和业务信息,所述业务信息存储于ServiceProfile中;S2’、所述S-CSCF根据所述ServiceProfile计算Hash值,并判断利用Hash算法所计算出的Hash值在本地ServiceProfile表中是否已存在,若是,则获取所述ServiceProfile的ID,并根据所述ID将所述ServiceProfile与注册用户的用户表相关联,从而使得不同用户能够共享相同的业务信息;否则,在本地ServiceProfile表中新增一条记录,将所计算出的Hash值插入新增的记录中,并根据新增记录的ID将所述ServiceProfile与注册用户的用户表相关联,从而使得不同用户能够共享相同的业务信肩、O在步骤S2’之前还包括步骤所述S-CSCF根据本地ServiceProfile表中每条记录的ServiceProfile计算对应的Hash值。在步骤SI’之后还包括所述S-CSCF将所述用户身份信息存储到本地的步骤,且所述用户表中包含所述用户身份信息所对应的用户。经实际测试 ,当本地ServiceProfile中有2000条记录时,计算Hash值加上比较Hash值的时间在0. 5秒之内,作为注册业务,其时延完全可接受。由以上实施例可以看出,本发明通过将用户身份信息和业务信息分开保存,并在进行业务信息保存时使不同用户共享相同的业务信息,从而减少了系统内存占用,节省了内存资源,降低了设备成本,在相同内存情况下可支持更大的用户容量。作为改进,本发明在保存过程中使用了 Hash算法,进一步提高了保存的效率。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和替换,这些改进和替换也应视为本发明的保护范围。
权利要求
1.一种IP多媒体子系统IMS架构中服务呼叫会话控制功能S-CSCF对用户签约信息的保存方法,用于在IMS架构中用户注册时,对SAA响应消息中用户签约信息的保存,所述用户签约信息包括用户身份信息和业务信息,其特征在于,包括以下步骤 51、所述S-CSCF对所述SAA响应消息进行解码,得到用户身份信息和业务信息,所述业务信息存储于ServiceProfile中; 52、所述S-CSCF检查所述ServiceProfile是否已存在,若是,则获取已存在ServiceProfile的ID,并根据所述ID将已存在的ServiceProfile与注册用户的用户表相关联;否则在本地ServiceProfile表中新增一条记录,将新的ServiceProfile保存在所新增的记录中,并根据新增记录的ID将新的ServiceProfile与注册用户的用户表相关联。
2.如权利要求1所述的方法,其特征在于,所述SAA响应消息由所述S-CSCF从归属用户服务器HSS获取。
3.如权利要求1所述的方法,其特征在于,在步骤SI之后还包括所述S-CSCF将所述用户身份信息存储到本地的步骤,且所述用户表中包含所述用户身份信息所对应的用户。
4.如权利要求广3中任一项所述的方法,其特征在于,所述S-CSCF利用遍历算法检查所述ServiceProfile是否已存在。
5.一种IP多媒体子系统IMS架构中服务呼叫会话控制功能S-CSCF对用户签约信息的保存方法,用于在IMS架构中用户注册时,对SAA响应消息中用户签约信息的保存,所述用户签约信息包括用户身份信息和业务信息,其特征在于,包括以下步骤 SI’、所述S-CSCF对所述SAA响应消息进行解码,得到用户身份信息和业务信息,所述业务信息存储于ServiceProfile中; S2’、所述S-CSCF根据所述ServiceProfile计算Hash值,并判断所计算出的哈希Hash值在本地ServiceProfile表中是否已存在,若是,则获取所述ServiceProfile的ID,并根据所述ID将所述ServiceProfile与注册用户的用户表相关联;否则,在本地ServiceProfile表中新增一条记录,将所计算出的Hash值插入新增的记录中,并根据新增记录的ID将所述ServiceProfile与注册用户的用户表相关联。
6.如权利要求5所述的方法,其特征在于,在步骤S2’之前还包括步骤所述S-CSCF根据本地ServiceProfile表中每条记录的ServiceProfile计算对应的Hash值。
7.如权利要求5所述的方法,其特征在于,利用Hash算法计算所述Hash值。
8.如权利要求5所述的方法,其特征在于,所述SAA响应消息由S-CSCF从归属用户服务器HSS获取。
9.如权利要求51中任一项所述的方法,其特征在于,在步骤SI’之后还包括所述S-CSCF将所述用户身份信息存储到本地的步骤,且所述用户表中包含所述用户身份信息所对应的用户。
全文摘要
本发明涉及通信技术领域,公开了一种IMS架构中S-CSCF对用户签约信息的保存方法。本发明通过将用户身份信息和业务信息分开保存,并在进行业务信息保存时使不同用户共享相同的业务信息,从而减少了系统内存占用,节省了内存资源,降低了设备成本,在相同内存情况下可支持更大的用户容量。作为改进,本发明在保存过程中使用了Hash算法,进一步提高了保存的效率。
文档编号H04W8/04GK103067906SQ20121052657
公开日2013年4月24日 申请日期2012年12月7日 优先权日2012年12月7日
发明者姚进华 申请人:大唐移动通信设备有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1