订阅和通知的方法、装置和系统 |
|||||||
申请号 | CN200810217431.8 | 申请日 | 2008-11-12 | 公开(公告)号 | CN101742475A | 公开(公告)日 | 2010-06-16 |
申请人 | 华为技术有限公司; | 发明人 | 曹俊亮; 王澜; 苏锋; 贾军军; | ||||
摘要 | 本 发明 公开了一种订阅和通知的方法、装置和系统,所述方法包括:归属用户 服务器 业务处理前端HSS?FE接收 应用服务器 AS发送的第一订阅 请求 ,所述第一订阅请求携带所述AS请求订阅的数据内容信息;HSS?FE向融合 数据库 发送第二订阅请求,所述第一订阅请求和第二订阅请求之间存在订阅关联信息;HSS?FE接收所述融合数据库根据所述第二订阅请求发送的通知;HSS?FE根据订阅关联信息将所述通知中包含的数据内容发送给所述应用服务器AS。使得AS可以从HSS?FE中获得订阅的数据。 | ||||||
权利要求 | 1.一种订阅和通知的方法,其特征在于,包括: |
||||||
说明书全文 | 技术领域本发明涉及通信技术,特别是一种订阅和通知的方法、装置和系统。 背景技术HSS(Home Subscriber Server,归属用户服务器)是IMS(IP MultimediaSubsystem,IP多媒体子系统)中所有与用户和服务相关数据的主要数据存储器,其中存储的数据主要包括用户身份、注册信息、接入参数和服务触发信息。AS(Application Server,应用服务器)是在IMS中提供增值多媒体服务的实体,AS和HSS之间的参考点为Sh参考点。AS通过Sh参考点操作HSS中的数据,并且可以对HSS中的数据进行订阅,订阅过程使得当HSS中指定用户的某些数据发生更新时,AS可以获得通知。 融合数据库是网络演进发展过程中出现的使用较为普遍的一种数据存储装置,融合数据库提供一个存储平台,将不同网络、不同网元的数据集中存储。 在引入融合数据库后,网络内的用户数据集中存储,原网络中的存储用户数据的网元需进行业务和数据分离改造,用户数据集中存储在融合数据库内,原用户数据网元仅处理其业务逻辑。 在对HSS进行了数据和业务分离后,HSS仅进行业务逻辑处理,称为HSS FE(Home Subscriber Server Front-End,归属用户服务器业务处理前端),HSS FE和AS之间仍然通过Sh参考点进行数据的订阅,如图1所示,而此时HSS中的数据存放在融合数据库中,因此AS无法从HSS FE中获得订阅的数据。 发明内容本发明实施例的目的在于提供一种订阅和通知的方法、装置和系统,使得HSS实现数据和业务分离后,AS可以从HSS FE中获得订阅的数据。 本发明实施例提供一种订阅和通知的方法,包括: 归属用户服务器业务处理前端HSS FE接收应用服务器AS发送的第一订阅请求,所述第一订阅请求携带所述AS请求订阅的数据内容信息; HSS FE向融合数据库发送第二订阅请求,所述第一订阅请求和第二订阅请求之间存在订阅关联信息; HSS FE接收所述融合数据库根据所述第二订阅请求发送的通知; HSS FE根据订阅关联信息将所述通知中包含的数据内容发送给所述应用服务器AS。 本发明实施例提供一种归属用户服务器业务处理前端HSS FE,包括: 第一接收单元,用于接收应用服务器AS发送的第一订阅请求,所述第一订阅请求携带所述AS请求订阅的数据内容信息; 订阅请求生成单元,用于根据接收到的所述第一订阅请求或允许所述AS订阅的数据内容信息生成发送给融合数据库的第二订阅请求; 订阅关联信息生成单元,用于生成所述第一订阅请求和所述第二订阅请求之间的订阅关联信息; 第一发送单元,用于将所述第二订阅请求发送给所述融合数据库; 第二接收单元,用于接收所述融合数据库发送的通知; 第二发送单元,用于根据所述订阅关联信息将接收到的所述通知中包含的数据内容发送给所述AS。 本发明实施例还提供一种订阅和通知的系统,包括应用服务器AS和融合数据库,还包括: 归属用户服务器业务处理前端HSS FE,用于接收所述AS发送的第一订阅请求,并向所述融合数据库发送第二订阅请求,其中,所述第一订阅请求和所述第二订阅请求之间存在订阅关联信息; 还用于接收所述融合数据库发送的通知,并根据所述订阅关联信息将所述通知中包含的数据内容发送给所述AS。 本发明实施例通过将AS到HSS FE的订阅转化为HSS FE到融合数据库的订阅,使得AS可以对融合数据库中的内容进行间接订阅,当融合数据库中AS的订阅内容发生改变时,HSS FE可以将发生改变的数据内容通知给AS,使得AS可以从HSS FE中获得订阅的数据。 附图说明 图1是现有技术中AS、HSS FE和融合数据库三者之间的关系图; 图2是本发明提供的一种订阅和通知方法的一个实施例流程图; 图3是本发明提供的一种订阅和通知方法的另一个实施例流程图; 图4是本发明提供的一种订阅和通知方法的另一个实施例流程图; 图5是本发明提供的一种订阅和通知方法的另一个实施例流程图; 图6是本发明提供的一种订阅和通知方法的另一个实施例流程图; 图7是本发明提供的一种归属用户服务器业务处理前端HSS FE的实施例框图; 图8是本发明提供的一种订阅和通知的系统框图。 具体实施方式本发明实施例提供了订阅和通知的方法、装置和系统,归属用户服务器业务处理前端HSS FE接收应用服务器AS发送的第一订阅请求;向融合数据库发送第二订阅请求,该第二订阅请求订阅的数据内容包含第一订阅请求订阅的数据内容,实现AS对融合数据库的间接订阅;当融合数据库中对应于第二订阅请求的订阅数据发生改变时,融合数据库发送的通知请求将该数据的改变通知给HSS FE,HSS FE将通知请求包含的数据内容通知给AS,使得AS可以从HSS FE中获得订阅的数据。 为了使本技术领域的人员更好地理解本发明实施例提供的技术方案,以下结合附图及实施例,对本发明实施例提供的技术方案做进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。 本发明提供的订阅和通知方法的一个实施例流程图如图2所示,具体包括: 步骤201:归属用户服务器业务处理前端HSS FE接收应用服务器AS发送的第一订阅请求,所述第一订阅请求携带所述AS请求订阅的数据内容信息; 步骤202:HSS FE向融合数据库发送第二订阅请求,所述第一订阅请求和第二订阅请求之间存在订阅关联信息; 步骤203:HSS FE接收所述融合数据库根据所述第二订阅请求发送的通知; 步骤204:HSS FE根据订阅关联信息将所述通知中包含的数据内容发送给所述应用服务器AS。 本发明方法的另一个实施例流程如图3所示,在该实施例中,HSS FE将AS发送的每个订阅都转化为相应的对融合数据库的订阅,即HSS FE将接收到的AS发送的第一订阅请求转化为发送给融合数据库的第二订阅请求,并且在订阅请求中通过通知辅助数据携带两个订阅之间的订阅关联信息,该订阅关联信息至少包含AS的地址,还可以包含AS的订阅内容、第二订阅请求的订阅标识和订阅有效时间等信息;当融合数据库中订阅的数据发生改变时,融合数据库向HSS FE发送通知请求,该通知请求中至少包含HSS FE的地址,发生改变的数据内容,还可以包含第二订阅请求的订阅标识等信息,通知请求中通过通知辅助数据携带订阅关联信息,HSS FE根据通知请求内容及订阅关联信息将收到的通知请求转化为发送给AS的通知请求,具体包括: 步骤301:AS通过SNR(Subscribe Notification Request,订阅请求)命令向HSS FE发起第一订阅请求,订阅内容可以包括:发起订阅的AS名称、用户身份、订阅的数据和订阅有效时间等信息; 步骤302:HSS FE接收AS发送的第一订阅请求后,对该订阅请求进行合法性检查,若订阅不合法,则返回检查失败;否则将该第一订阅请求转化为发送给融合数据库的第二订阅请求,生成第一订阅请求与第二订阅请求之间的订阅关联信息,该订阅关联信息至少包含AS的地址,还可以包含AS的订阅内容、第二订阅请求的订阅标识和订阅有效时间等信息,第二订阅请求订阅的数据内容包含第一订阅请求订阅的数据内容,订阅的触发条件为订阅的数据发生改变,通知接收者为HSS FE,在第二订阅请求中携带通知辅助数据,该通知辅助数据包含订阅关联信息; 步骤303:融合数据库接收第二订阅请求后对该订阅请求进行合法性检查,若订阅不合法,则返回检查失败;否则,执行步骤304; 步骤304:融合数据库查询保存的订阅信息判断是否存在相同订阅,即判断是否已经存在在先订阅与该第二订阅请求具有相同的标识和HSS FE地址,如是,则更新在先订阅对应的订阅信息的订阅有效时间,并返回订阅响应;若否,保存第二订阅请求的订阅信息和订阅关联信息,返回订阅响应; 步骤305:HSS FE接收融合数据库发送的订阅响应,然后向AS返回SNA(Subscribe Notification Answer,订阅响应); 步骤306:融合数据库中的数据发生改变时,融合数据库查询根据第二订阅请求构造的订阅信息,判断是否会触发订阅,当融合数据库中对应于第二订阅请求的订阅数据发生改变时,则融合数据库根据订阅信息构造通知请求,通知请求中携带通知辅助数据,所述通知辅助数据为订阅关联信息,该通知请求的内容可以包含HSS FE的地址、发生改变的数据内容和第二订阅请求的订阅标识; 步骤307:HSS FE接收融合数据库发送的通知请求,将所述通知请求中的通知内容转化为符合AS与HSS FE间Sh接口传送格式要求的内容,根据所述通知请求中携带的订阅关联信息确定AS的地址,提取发生改变的数据内容构造PNR(Push Notification Request,通知请求)并发送给相应的AS; 步骤308:AS收到HSS FE的通知请求后,向HSS FE返回PNA(PushNotification Answer,通知响应); 步骤309:HSS FE根据AS的通知响应向融合数据库返回对应的通知响应。 需要说明的是,步骤304中,融合数据库判断是否存在在先订阅与该第二订阅请求具有相同的标识和HSS FE地址的意义在于,当同一个AS对相同的内容进行重复订阅时,可以对该订阅的有效时间等其他信息进行更改。 如图4所示,为本发明提供的订阅和通知方法的另一个实施例流程具体过程如下: 步骤401:AS通过SNR命令向HSS FE发起第一订阅请求,订阅内容可以包括:发起订阅的AS名称、用户身份、订阅的数据和订阅有效时间等信息; 步骤402:HSS FE接收AS发送的第一订阅请求,对该订阅请求进行合法性检查,若订阅不合法,则返回检查失败;否则将该第一订阅请求转化为发送给融合数据库的第二订阅请求,生成第一订阅请求与第二订阅请求之间的订阅关联信息,该订阅关联信息至少包含AS的地址和第二订阅请求的订阅标识,还可以包含AS的订阅内容和订阅有效时间等信息,第二订阅请求的订阅内容为第一订阅请求的订阅数据所对应的融合数据库中的数据,订阅的触发条件为订阅的数据发生改变,通知接收者为HSS FE,将该关联信息保存在HSS FE中; 步骤403:融合数据库接收第二订阅请求后对该订阅请求进行合法性检查,若订阅不合法,则返回检查失败;否则,执行步骤404; 步骤404:融合数据库查询保存的订阅信息判断是否存在相同订阅,即判断是否已经存在在先订阅与该第二订阅请求具有相同的标识和HSS FE地址,如是,则更新在先订阅对应的订阅信息的订阅有效时间,并返回订阅响应;若否,保存第二订阅请求的订阅信息,返回订阅响应; 步骤405:HSS FE接收到融合数据库的订阅响应后,向AS返回订阅响应SNA; 步骤406:融合数据库中的数据发生改变时,融合数据库查询根据第二订阅请求构造的订阅信息,判断是否会触发订阅,当融合数据库中对应于第二订阅请求的订阅数据发生改变时,则融合数据库根据订阅信息构造通知请求,该通知请求的内容可以包含HSS FE的地址、发生改变的数据内容和第二订阅请求的订阅标识; 步骤407:HSS FE接收融合数据库发送的通知请求,将所述通知请求中的通知内容转化为符合AS与HSS FE间Sh接口传送格式要求的内容,根据通知请求中包含的第二订阅请求的订阅标识从本地查询对应的订阅关联信息,提取AS的地址,构造通知请求PNR发送给相应的AS; 步骤408:AS收到HSS FE的通知请求后,向HSS FE返回通知响应PNA; 步骤409:HSS FE根据AS的通知响应向融合数据库返回对应的通知响应。 本实施例中,HSS FE将接收的AS的每一个订阅转化为相应的发送给融合数据库的一个订阅,HSS FE在本地保存两个订阅之间的订阅关联信息,当融合数据库中的订阅被触发时融合数据库向HSS FE发起通知请求,HSS FE根据通知请求中包含的第二订阅请求的订阅标识从本地获取对应的订阅关联信息,提取AS的地址,将融合数据库发送的通知请求中的数据内容发送给相应的AS,使得AS可以从HSS FE中获得订阅的数据。 需要进一步说明的是,步骤402中订阅关联信息还可以保存在融合数据库中,保存在融合数据库的方法可以为HSS FE在第二订阅请求中携带订阅关联信息,融合数据库存储该订阅关联信息,也可以由HSS FE单独将订阅关联信息发送给融合数据库,相应地,步骤407中,当HSS FE接收融合数据库发送的通知请求,根据通知请求中包含的第二订阅请求的订阅标识向融合数据库查询对应的订阅关联信息,获取AS的地址,将通知请求中包含的数据内容转发给该AS。 本发明提供的订阅和通知的方法的另一个实施例流程如图5所示,具体步骤如下: 步骤501:在系统启动时,HSS FE向融合数据库发起第二订阅请求,订阅请求的订阅内容为允许AS订阅内容的超集,订阅的触发条件为订阅的数据发生改变,通知接收者为HSS FE; 步骤502:融合数据库接收第二订阅请求,对该订阅进行合法性检查,若订阅不合法,则检查失败;否则,保存订阅信息,并返回订阅响应给HSSFE,该订阅信息可以包括HSS FE地址、第二订阅请求的订阅内容,订阅的有效时间等信息; 步骤503:AS通过SNR命令向HSS FE发起第一订阅请求,该订阅请求的订阅内容包括:发起订阅的AS名称、用户身份、订阅的数据和订阅有效时间等信息; 步骤504:HSS FE接收AS发送的第一订阅请求并对该订阅请求进行合法性检查,若订阅不合法,则返回检查失败;否则,在本地保存第一订阅请求和第二订阅请求之间的订阅关联信息,并返回订阅响应SNA给AS,该订阅关联信息可以包括AS的地址,第一订阅请求的订阅内容和订阅有效时间等信息; 步骤505:融合数据库中的数据发生改变时,融合数据库查询根据第二订阅请求构造的订阅信息,判断是否会触发订阅,当融合数据库中对应于第二订阅请求的订阅数据发生改变时,则融合数据库根据订阅信息构造通知请求发送给HSS FE,该通知请求的内容可以包含HSS FE的地址、发生改变的数据内容等信息; 步骤506:HSS FE接收融合数据库发送的通知请求,向融合数据库返回通知响应; 步骤507:HSS FE根据接收的通知请求中包含的发生改变的数据内容从本地查找对应的订阅关联信息,从该订阅关联信息中提取AS的地址,根据接收的通知请求中发生改变的内容构造通知请求PNR并发送给相应的AS; 步骤508:AS接收HSS FE发送的通知请求并返回通知响应PNA。 本实施例中,HSS FE在启动时向融合数据库发起订阅,订阅内容为允许AS订阅内容的超集,当AS向HSS FE发起订阅请求时,HSS FE不需要再一次向融合数据库发起订阅,而是在本地保存两个订阅之间的订阅关联信息,即AS的地址、AS的订阅内容和订阅的有效时间等信息,当融合数据库中对应于HSS FE的订阅内容的数据发生改变时,融合数据库向HSS FE发送通知请求,HSS FE根据接收的通知请求中包含的发生改变的数据内容从本地查找对应的订阅关联信息,从该订阅关联信息中提取AS的地址,将融合数据库发送的通知请求中包含的发生改变的数据内容发送给相应的AS,使得AS可以从HSS FE中获得订阅的数据。 需要进一步说明的是,订阅关联信息也可以存储在融合数据中,即步骤504中,HSS FE可以将生成的订阅关联信息存储在融合数据库中,该订阅关联信息可以包含AS的地址和第一订阅请求的订阅内容,相应地,步骤507中,当HSS FE接收到融合数据库发送的通知请求时,根据通知请求中包含的发生改变的数据内容从融合数据库中查询对应的订阅关联信息,提取AS的地址,将融合数据库发送的通知请求中包含的发生改变的数据内容发送给相应的AS。 还需要进一步说明的是,步骤504中还可以包括,HSS FE接收AS发送的第一订阅请求后,查询在本地或融合数据库中存储的订阅关联信息,判断是否存在相同AS对同样的内容进行订阅,如是,则更新该订阅关联信息的订阅有效时间,如否,则生成该第一订阅请求对应的订阅关联信息。 本发明提供的订阅和通知的方法的另一个实施例流程如图6所示,具体步骤为: 步骤601:AS通过SNR命令向HSS FE发起第一订阅请求,订阅内容可以包括:发起订阅的AS名称、用户身份、订阅的数据和订阅有效时间等信息; 步骤602:HSS FE接收AS发送的第一订阅请求,对该订阅请求进行合法性检查,若订阅不合法,则返回检查失败;否则HSS FE判断是否存在在先订阅对所述第一订阅请求的订阅内容进行了订阅,具体判断方法为HSS FE查询保存在融合数据库或HSS FE中的订阅关联信息,查询是否存在与第一订阅请求的订阅内容相同的订阅关联信息: 如是,则提取在先订阅对应的订阅关联信息中保存的订阅标识与第一订阅请求中的AS地址、订阅内容等信息共同组合成第一订阅请求对应的订阅关联信息,返回订阅响应SNA,执行步骤605; 如否,则将所述第一订阅请求转化为发送给融合数据库的第二订阅请求,并生成所述第一订阅请求和第二订阅请求之间的订阅关联信息,订阅关联信息至少包含AS的地址和第二订阅请求订阅标识和AS的订阅内容,还可以包含订阅有效时间等信息,第二订阅请求的订阅内容为第一订阅请求的订阅数据所对应的融合数据库中的数据,订阅的触发条件为订阅的数据发生改变,通知接收者为HSS FE,将该关联信息保存在HSS FE中; 步骤603:融合数据库接收第二订阅请求后对该订阅请求进行合法性检查,若订阅不合法,则返回检查失败;否则,保存第二订阅请求的订阅信息,返回订阅响应; 步骤604:HSS FE接收到融合数据库的订阅响应后,向AS返回订阅响应SNA; 步骤605:融合数据库中的数据发生改变时,融合数据库查询保存的订阅信息,判断是否会触发订阅,当融合数据库中订阅的数据发生改变时,则融合数据库根据订阅信息构造通知请求,该通知请求的内容可以包含HSSFE的地址、发生改变的数据内容和第二订阅请求的订阅标识; 步骤606:HSS FE接收融合数据库发送的通知请求,将所述通知请求中的通知内容转化为符合AS与HSS FE间Sh接口传送格式要求的内容,根据通知请求中包含的第二订阅请求的订阅标识从本地查询对应的订阅关联信息,提取AS的地址,构造通知请求PNR发送给相应的AS; 步骤607:AS收到HSS FE的通知请求后,向HSS FE返回通知响应PNA; 步骤608:HSS FE根据AS的通知响应向融合数据库返回对应的通知响应。 需要说明的是,步骤602中订阅关联信息还可以保存在融合数据库中,保存在融合数据库的方法可以为HSS FE在第二订阅请求中携带订阅关联信息,融合数据库存储该订阅关联信息,也可以由HSS FE单独将订阅关联信息发送给融合数据库,相应地,步骤606中,当HSS FE接收融合数据库发送的通知请求,根据通知请求中包含的订阅标识向融合数据库查询对应的订阅关联信息,获取AS的地址,将通知请求中包含的数据内容转发给该AS,使得AS可以从HSS FE中获得订阅的数据。 需要进一步说明的是,在本发明提供的所有实施例中,第二订阅请求订阅标识的一种构造方法为:由HSS FE根据AS的地址和AS的订阅内容来构造,当HSS FE接收到相同AS对相同内容进行多次订阅时,多次订阅对应的转换后的第二订阅请求的订阅标识是一致的。此处提供第二订阅请求的订阅标识的一种构造方法,但并不限定于这一种实现方法。 与本发明实施例提供的订阅和通知的方法相对应,本发明实施例还提供了订阅和通知的装置和系统。 本发明实施例提供的一种归属用户服务器业务处理前端HSS FE框图如图7所示,包括第一接收单元701,订阅请求生成单元702,订阅关联信息生成单元703,第一发送单元704,第二接收单元705,第二发送单元706,其中, 第一接收单元701,用于接收应用服务器AS发送的第一订阅请求,所述第一订阅请求携带所述AS请求订阅的数据内容信息; 订阅请求生成单元702,用于根据接收到的所述第一订阅请求或允许所述AS订阅的数据内容信息生成发送给融合数据库的第二订阅请求; 订阅关联信息生成单元703,用于生成所述第一订阅请求和所述第二订阅请求之间的订阅关联信息; 第一发送单元704,用于将所述第二订阅请求发送给所述融合数据库; 第二接收单元705,用于接收所述融合数据库发送的通知; 第二发送单元706,用于根据所述订阅关联信息将接收到的所述通知中包含的数据内容发送给所述AS。 HSS FE还包括地址获取单元707,用于通过所述订阅关联信息获取所述AS的地址,并发送给所述第二发送单元。 HSS FE,还包括判断单元708,用于在所述HSS FE接收到所述AS发送的第一订阅请求后,判断是否存在与所述第一订阅请求具有相同的请求订阅的数据内容和AS地址的订阅信息。 本发明实施例提供了一种订阅和通知的系统如图8所示,包括应用服务器AS801和融合数据库803,其特征在于,还包括: 归属用户服务器业务处理前端HSS FE802,用于接收所述AS801发送的第一订阅请求,并向所述融合数据库803发送第二订阅请求,其中,所述第一订阅请求和所述第二订阅请求之间存在订阅关联信息; HSS FE802还用于接收所述融合数据库803发送的通知,并根据所述订阅关联信息将所述通知中包含的数据内容发送给所述AS801。 本发明实施例提供了订阅和通知的方法、装置和系统,通过将AS到HSSFE的订阅转化为HSS FE到融合数据库的订阅,使得AS可以对融合数据库中的内容进行间接订阅,当融合数据库中AS的订阅内容发生改变时,HSS FE可以将发生改变的数据内容通知给AS,使得AS可以从HSS FE中获得订阅的数据。 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中。所述的存储介质,如:ROM/RAM、磁碟、光盘等。 以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。 |