消息呈现业务的实现方法和系统的制作方法

文档序号:7693054阅读:147来源:国知局
专利名称:消息呈现业务的实现方法和系统的制作方法
技术领域
本发明涉及一种消息呈现业务的实现方法和系统,尤其涉及一种能够在 背景技术目前,随着互联网的普及,越来越多的人喜欢通过即时通信的方式来与别人保持联系,而现有的消息呈现(以下称为Presence)业务在上述即时通信中发挥着非常重要的作用。所谓Presence业务,即以某种通信方式,按照某种接入标准,实时获 取用户的Presence信息,例如用户状态信息,并告之其他用户的一种业务。 Presence信息一4殳才艮据用户终端来划分,通常每个用户终端对应一个 Presence信息包。当一个用户有多个终端,例如同时有手才几、固定电话、PDA 等多个终端时,则该用户对应多个Presence信息包。每个Presence信息包 一般可以包括如下信息状态,表示业务或终端设备当前的情况,如是否开 机、是否在线、是否忙等;通信信息,如通信方式、通信地址等,其中通信 方式指该终端支持什么通信方式,如何与该终端设备联系等,如是否支持SMS 、 謹S或直接的语音通话等,通信地址指与通信方式相关的具体地址描述,如 E-mail地址、电话号码等;附加信息,除状态和通信信息之外的其他信息, 如用户此时的表情是高兴,还是烦恼等。常用的Presence业务功能包括如下几方面首先,Presence用户可以配置自己的Presence业务喜好,添加朋友或家 人为好友。例如喜爱的通讯方式,Presence用户可以阻止某一用户与其通信,或者能够配置指示其他用户如何与自己联系的相关信息,例如指示其他用户自己当前正在开会,其他用户可以通过即时消息联系;其次,Presence用户还可以与支持Presence业务应用的其4也用户共享 Presence信息。其包括使用户的Presence信息可用、能4吏用什么样的 Pre s ence ^言息以及P r e s ence信息中的哪些部分能^皮访问等;另外,Presence用户还能搜索到其他也4吏用Presence业务的用户,从而 可以更新Presence信息。如用户在改变了 Presence状态后,Presence信息 能立即更新,并且订阅该用户的Presence信息的观察者也能得到Presence 信息改变的通知等。综上所述可以看出,能支持的Presence信息越丰富,Presence业务对用 户的吸引力就越强。但是随着Presence业务功能的不断丰富,其实现时需要 处理的消息信令也随之增多,尤其是需要频繁发送保活(Ke印alive)信令, 保活信令用于判断自身节点当前有多少用户在线,以便进行更新消息的交互。 而且Presence业务需要存储的用户资源的数量也日趋庞大。现有技术是采用 集中式网络系统来实现Presence业务的,实现Presence业务的系统一般采 用客户端/服务器(C/S)模式,即在网络中设置专门的服务器来存储与 Presence业务相关的资源,也包括数量庞大的用户资源,而后由该服务器分 别联系各个Presence用户,进行信令和媒体的代理转发。随着Presence业 务功能的丰富,现有的集中式Presence业务实现方法不可避免的存在下述缺陷1、 Presence业务消耗资源较多,尤其是Presence业务需要以才及小的间 隔频繁发送保活信令,随着用户的增加,服务器需要转发、处理的消息信令 剧增,系统负荷压力呈指数增长,这势必造成系统压力过大而使系统性能下 降,也造成系统带宽成本不断提高;2、 随着用户的增加,服务器需存储的用户Presence信息增多,造成系 统带宽成本和维护成本的提高;3、 目前的Presence业务基本是免费业务,当大量宝贵的系统资源被用来支撑Presence业务时,系统就不能很好地服务其他重要业务和收费业务;4、由于服务器承载能力的限制,现有Presence业务的可扩展范围和稳 定性都受到了极大的影响。发明内容本发明的目的是提供一种消息呈现业务的实现方法和系统,以緩解网络 中服务器的压力,降低实现消息呈现业务的带宽成本和维护成本,提高消息 呈现业务的效率,改善其稳定性和可扩展性,同时避免消息呈现业务的发展 对现有其他业务的影响。为实现上述目的,本发明提供了一种消息呈现业务的实现方法,包括 步骤A1、当超级节点接收到客户端发送的注册请求时,该超级节点成为 客户端的服务节点,客户端的服务节点从注册请求中解析获取客户端的用户 帐户信息;步骤A2 、客户端的服务节点根据客户端的用户帐户信息通过分布式网络 确定一超级节点作为客户端的存储节点,并将接收自客户端的用户信息转发 给客户端的存储节点进行存储。为实现上述目的,本发明还提供了一种消息呈现业务的实现系统,包括 构成分布式网络的多个服务节点和多个存储节点,且 服务节点包括第一处理模块,用于当接收到客户端发送的信息时进行识别,从中 解析获取目标帐户,并产生待转发信息;转发模块,与第一处理模块相连,用于根据目标帐户通过分布式网 络转发该待转发信息;第二处理模块,用于通过分布式网络接收到反馈信息时向客户端转发;存储节点包括资源存储模块,用于存储客户端的用户信息;第三处理模块,用于当接收到服务节点发送的待转发信息时进行识 别,并对资源存储模块中存储的客户端的用户信息进行相应处理。由以上技术方案可知,本发明采用分布式网络来承载消息呈现业务,克 服了服务器负荷压力大的技术问题,利用分布式网络中的超级节点作为客户 端的服务节点和存储节点,分布式处理消息呈现业务,且分布存储客户端的用户信息。因此,本发明具有以下优点1、 通过多个超级节点来处理消息呈现业务,能够极大的緩解系统中服务 器的压力,从而能够保障服务器的性能,为其他用户提供有效支撑;2、 分布存储用户信息,充分利用了分布式网络超级节点的资源快速定位 能力,提高了业务能力和服务质量,并且能够充分利用网络中的带宽,降低 带宽成本;3、 分布式网络中的超级节点可动态增加和减少,因此本发明的消息呈现 业务实现方法的可扩展性强,尤其能够解决目前用户规模逐渐增多的情况。下面通过具体实施例并结合附图对本发明做进一步的详细描述。


图1A为本发明消息呈现业务的实现方法具体实施例一的流程图; 图1B为本发明消息呈现业务的实现方法具体实施例一的信令流程图; 图2为本发明消息呈现业务的实现方法具体实施例一所基于的分布式网 络结构示意图;图3A为本发明消息呈现业务的实现方法具体实施例二的流程图;图3B为本发明消息呈现业务的实现方法具体实施例二的信令流程图;图4A为本发明消息呈现业务的实现方法具体实施例三的流程图;图4B为本发明消息呈现业务的实现方法具体实施例三的信令流程图;图5A为本发明消息呈现业务的实现方法具体实施例四的流程图;图5B为本发明消息呈现业务的实现方法具体实施例四的信令流程图;图6A为本发明消息呈现业务的实现方法具体实施例五的流程图;图6B为本发明消息呈现业务的实现方法具体实施例五的信令流程图;图7为本发明消息呈现业务的实现系统具体实施例一的结构示意图;图8为本发明消息呈现业务的实现系统具体实施例二的局部结构示意图。图中IO-服务节点 112-资源定位单元 115-注销请求单元 20-存储节点 221-注册处理单元 224-状态更新单元11- 第一处理模块 113-好友添加单元12- 转发模块 21-资源存储模块 222-资源查询单元 225-注销处理单元111-注册请求单元114-状态^奮改单元13-第二处理模块22-第三处理模块223-好友添加确认单元30-客户端具体实施方式
消息呈现业务的实现方法实施例一如图1A所示为本发明消息呈现业务的实现方法具体实施例一的流程图, 图1B为本实施例的信令流程图。该实现方法是基于分布式网络来实现的。执 行该方法所需要的分布式网络架构一般如图2所示,包括多个预先设定的超 级节点(Super Node,简称SN),且超级节点可以动态的加入和退出。超级 节点具有组网功能,分布式网络中的超级节点不是孤立的节点,而是彼此间 相互联系的,传统C/S模式下的服务器是不具备此功能的。多个超级节点组 成了分布式网络,也可称为重叠网络(Overlay Network )。当客户端(Client ) 需要使用消息呈现业务时,即可加入该分布式网络,通过该分布式网络来承 载消息呈现业务。其中,客户端注册消息呈现业务的具体流程如下步骤Al、当某个超级节点接收到一个客户端发送的注册请求时,该超级 节点就成为该客户端的服务节点(FSN),该客户端的服务节点从注册请求中 解析获耳又客户端的用户帐户信息;步骤A2、客户端的服务节点根据客户端的用户帐户信息,通过分布式网 络确定一超级节点作为该客户端的存储节点,并将接收自客户端的用户信息 转发给客户端的存储节点进行存储,其中,客户端的用户信息可以是与注册 请求一同发送的,也可以是由客户端单独发送的。本实施例中步骤A2的一种较佳实现方式是客户端的服务节点根据本地存储的哈希表对客户端的用户帐户信息进行哈希运算,根据哈希运算结果将 包含有客户端用户信息的注册请求通过分布式网络转发至下一跳的超级节点,下一跳的超级节点重复执行哈希运算查询及转发操作,直到确定一个超 级节点作为客户端的存储节点以存储客户端的用户信息。上述哈希运算转发 操作可以依据"Chord"算法来实现。客户端的存储节点可以和客户端的服务 节点为同一超级节点,这由哈希运算结果来决定。客户端的服务节点根据用 户帐户信息进行哈希运算,当通过哈希运算后确定所连的服务节点就是客户 端的存储节点时,那么客户端的服务节点和存储节点就是同一超级节点;当 通过哈希运算确定除服务节点的其他某个超级节点是客户端的存储节点时, 那么客户端的服务节点和存储节点就不是同 一超级节点。在本实施例中,客户端的服务节点可以是根据一定原则为客户端指定的, 例如按照区域划分。客户端确定服务节点的 一种方式还可以是客户端通过发 送探测包来确定服务节点,其具体步骤可以为客户端向所有超级节点分别 发送探测包并计时,当接收到各个超级节点回复的探测响应时,比较计时结 果,选择计时时间最短的超级节点确定为自身的服务节点,而后向其发送注 册请求。发送探测包的方法即查询哪个预布设超级节点的性能相对与该客户 端来说是最佳的。例如超级节点返回探测响应的时间最短,说明该预布设超 级节点对探测包的处理时间最短,客户端可以选取该处理时间最短的预布设 超级节点作为自己的服务节点。在本实施例中,采用分布式网络中的一个超级节点作为客户端的服务节 点,再查询到适当的超级节点作为客户端的存储节点,能够实现所有客户端 的消息呈现业务分散至多个超级节点进行处理,所有客户端为实现消息呈现业务所需保存的资源分散至多个超级节点进行存储。采用本实施例的技术方案,充分利用了分布式网络来实现消息呈现业务, 合理利用分布式网络中的超级节点资源,不需要服务器的参与。充分利用超 级节点资源,消息呈现业务所需传输的信息可在各超级节点间交互,超级节点可完成传统服务器的部分功能,例如查找、存储功能,但超级节点的功 能并不限于传统服务器的功能,还可以进行适当的扩展。例如客户端的存 储节点通过客户端发来的保活信令来判断自身节点当前有多少用户是在线 的。该技术方案能够合理利用带宽,降低系统带宽成本和维护成本。采用上 述方法,超级节点的数量可动态增加或减少,承载消息呈现业务的分布式网 络规模可扩展性增强,稳定性增加。 消息呈现业务的实现方法实施例二如图3A所示为本发明消息呈现业务的实现方法具体实施例二的流程图, 图3B为本实施例的信令流程图。本实施例以实施例一为基础,能够进一步实 现消息呈现业务中的资源查询定位功能,其具体流程如下步骤E1、当客户端A的服务节点FSIA接收到客户端A发送的资源查询 请求时,经过数据包分析识别出是资源查询请求,则从资源查询请求中解析 获取待查终端B的用户帐户信息;步骤E2、客户端A的服务节点FSIA根据待查终端B的用户帐户信息通 过分布式网络将资源查询请求转发给待查终端B的存储节点HSN一B;步骤E3、当客户端A的服务节点FSN_A接收到待查终端B的存储节点 HSN_B反馈的目标资源时,将目标资源发送给客户端A。本实施例的步骤E2中,客户端的服务节点可以采用"Chord"算法,根 据本地存储的哈希表对待查终端的用户帐户信息进行哈希运算,根据哈希运 算结果将资源查询请求通过分布式网络转发至下一跳的超级节点,该下一跳 的超级节点重复执行哈希运算查询及转发操作,直到将资源查询请求转发至 待查终端的存储节点。在上述步骤E2和E3之间,如图3B的信令流程图所示,待查终端的存储节点查询到目标资源后向客户端的服务节点转发信令采用实线进行示意,这是因为根据"Chord"算法,通过哈希运算查找的过程需要经过一跳一跳来找 到目标节点,但是返回时可以一步到位,不需要再重复查找过程。因此,在 具体应用中,上述步骤E2和E3之间可以执行下述流程当待查终端的存储 节点接收到资源查询请求时,即可根据资源查询请求查询目标资源,并从转 发的资源查询请求中解析获取客户端的服务节点的标识,根据该标识将目标 资源直接发送回客户端的服务节点。本实施例的技术方案,充分利用了分布式网络资源快速查询定位的优势, 能够快速查找到客户端所需查询的资源,这正是目前消息呈现业务功能逐渐 丰富时所迫切需要的条件,因此,该技术方案能够有效提高消息呈现业务的质量。消息呈现业务的实现方法实施例三如图4A所示为本发明消息呈现业务的实现方法具体实施例三的流程图, 图4B所示为本实施例好友添加流程的信令流程图。本实施例在上述实施例一 或实施例二的基础上,进一步包括好友添加流程,即在上述步骤A2后,当用 户A点击了添加好友按钮,输入好友的用户帐号以发送了好友添加请求后可 执行下述流程步骤B1、当客户端A的服务节点FSN-A接收到客户端A发送的好友添加 请求时,从好友添加请求中解析获取待添加的好友终端B的用户帐户信息;步骤B2、客户端A的服务节点FSIA根据好友终端B的用户帐户信息将 好友添加请求通过分布式网络转发给好友终端B的存储节点HSN-B;步骤B3、好友终端B的存储节点HSN_B将好友添加请求通过分布式网络 转发给好友终端B的服务节点FSN_B;步骤B4、好友终端B的服务节点FSN_B向好友终端B发送添加确认请求, 并在接收到好友终端B回复的添加确认响应时,将添加确认响应通过分布式 网络转发给好友终端B的存储节点HSN—B;步骤B5、好友终端B的存储节点HSN—B在接收到添加确认响应时更新好 友终端B的好友目录,并将添加确认响应转发给客户端A的服务节点FSIA;步骤B6、客户端A的服务节点FSN—A将添加确认响应通过分布式网络转 发给客户端A的存储节点HSN_A以进行客户端A的好友目录更新,并向客户 端A发送好友添加成功信息。本实施例的步骤B6中,客户端A的服务节点FSN—A在添加好友成功后实 时的将好友添加成功信息转发给客户端A的存储节点HSN_A进行更新,在具 体应用中也可以有其他好友目录的更新方式,即在步骤B5后,客户端A的服 务节点FSN_A仅将好友添加成功信息发送给客户端A以通知添加成功,而在 此后由客户端A主动发起好友目录的修改,将好友目录已修改的信息发送给 客户端A的存储节点HSN_A进行更新。在上述步骤B2和步骤B3中,通过分布式网络将好友添加请求转发给好 友终端的存储节点或转发给好友终端的服务节点的步骤具体为依照"Chord" 算法,通过重复执行哈希运算查询和转发的操作来完成转发的操作。客户端一方面可以添加其他客户端为好友,另 一方面也可以;故别的客户 端添加为好友。当客户端的存储节点接收到其他客户端的服务节点发送的好 友添加请求时,即类似的执行上述B3 ~ B5以完成好友添加确认的流程。本实施例的消息呈现业务实现方法中,基于分布式网络来实现好友添加 功能,实现了分布式管理消息呈现业务,能够降低服务器的负荷压力,且充 分利用了带宽,提高了消息呈现业务的速度和质量。消息呈现业务的实现方法实施例四如图5 A所示为本发明消息呈现业务的实现方法具体实施例四的流程图, 图5B为本实施例消息呈现业务实现方法中状态修改的信令流程图。本实施例 在上述实施例一、实施例二和实施例三的基础上,进一步实现客户端的状态 修改流程,即在上述步骤B6后可执行下述流程步骤Cl、当客户端的服务节点接收到客户端发送的状态修改信息时,从 状态修 文信息中解析获取客户端的用户帐户信息;步骤C2、客户端的服务节点根据客户端的用户帐户信息将状态修改信息 通过分布式网络转发给客户端的存储节点以进行状态更新,该转发操作具体可以为采用"Chord"算法,通过重复执行哈希运算查询和转发的操作来完成 转发;步骤C3、当客户端的服务节点接收到客户端的存储节点回复的状态修改 响应时,将状态修改响应转发给客户端,以提示客户端将状态修改信息发送 给客户端的所有在线的好友终端。好友状态的变更对于该好友终端来说,就 是该好友终端的状态修改信息之一 。本实施例在步骤C3中,客户端在接收到状态修改响应时获知状态已修改, 则可以通知客户端的所有在线好友,告诉好友自己当前的状态,使得好友能 实时的获取该客户的状态,并且该好友终端能够及时的通知自身的存储节点 进行适当的更新。客户端的状态修改可以由客户端自行通知好友,可以在确 定修改后通知,也可以在发送状态修改信息时通知好友,或者还可以通过网 络侧来实现,其具体的实现方式可以是在步骤C2后以下述步骤替换步骤C3:步骤C3'、当客户端的存储节点对客户端的用户信息进行状态更新后, 根据本地存储的客户端的好友目录将状态修改信息转发给客户端所有在线的 好友终端。该方法能够通过网络侧来保证消息呈现业务所需存储资源的严格 同步。本实施例的消息呈现业务实现方法中,基于分布式网络来实现状态修改 功能,实现了分布式管理消息呈现业务,能够降低服务器的负荷压力,且充 分利用了带宽,提高了消息呈现业务的速度和质量。消息呈现业务的实现方法实施例五如图6A所示为本发明消息呈现业务的实现方法具体实施例五的流程图, 本实施例在上述实施例一、实施例二、实施例三和实施例四的基础上,进一 步实现客户端的注销流程,即在上述步骤B6后可执行下述流程步骤D1、当客户端的服务节点接收到客户端发送的注销请求时,从注销 请求中解析获耳又客户端的用户帐户信息;步骤D2、客户端的服务节点根据客户端的用户帐户信息将注销请求通过 分布式网络转发给客户端的存储节点以释放客户端占用的存储资源,其中,该转发操作具体可以为采用"Chord"算法,通过重复执行,哈希运算查询和转 发的操作来完成转发;步骤D3、当客户端的服务节点接收到客户端的存储节点回复的注销响应 时,将注销响应转发给客户端,以提示客户端将注销响应发送给客户端的所 有在线好友终端,以通知其好友该客户端已注销。对于该好友来说,该客户 端已注销就是该好友的状态修改信息之一。本实施例在步骤D3中,客户端在接收到注销响应时获知已注销,则可以 通知客户端的所有在线好友,告诉好友自己当前的状态,使得好友能实时的 获取该客户的状态,并且该好友终端能够及时的通知自身的存储节点进行适 当的更新。客户端的注销状态可以由客户端自行通知好友,可以在确定已注 销后通知,也可以在发送注销请求时通知好友,或者还可以通过网络侧来实 现,其具体的实现方式可以是在步骤D2后以下述步骤替换步骤D3:步骤D3'、当客户端的存储节点释放客户端占用的资源后,根据客户端 的好友目录将注销响应转发给客户端的所有好友终端。该方法能够通过网络 侧来保证消息呈现业务所需存储资源的严格同步。根据客户端的好友目录,向客户端的所有好友终端通报客户端已注销的 信息,其中客户端的服务节点可以通过分布式网络从客户端的存储节点中获取好友目录,也可以从客户端注册开始,每次添加好友时,即在服务节点在 记录该客户端的好友目录。如图6B为本实施例消息呈现业务实现方法中注销过程的信令流程图。本 实施例的消息呈现业务实现方法中,基于分布式网络来实现用户注销功能, 实现了分布式管理消息呈现业务,能够降低服务器的负荷压力,且充分利用 了带宽,提高了消息呈现业务的速度和质量。消息呈现业务的实现系统实施例一如图7所示为本发明消息呈现业务的实现系统具体实施例一的结构示意 图,该系统包括构成分布式网络的多个预布设超级节点,每个超级节点既可 以作为客户端30的服务节点10,也可以作为客户端30的存储节点20。超级节点组成哈希(Hash)环,其中每个预布设超级节点都是对等(Peer to Peer, 以下简称P2P)网络中具有P2P能力,参与分布式资源管理和搜索的节点。其 中,作为客户端30的服务节点10,超级节点的具体结构包括第一处理模块 11,用于当接收到客户端30发送的信息时对该信息进行识别,从中解析获取 目标帐户,并产生待转发信息;转发模块12,与第一处理模块ll相连,用于 根据第一处理模块11中获取的目标帐户通过分布式网络转发该待转发信息, 转发模块12可作为该服务节点10的接口,该待转发信息可由其发送给其他 的超级节点,以逐跳发送给目标的超级节点;第二处理模块13,用于通过分 布式网络接收到反馈信息时向客户端30转发该反馈信息,该反馈信息的发送 源超级节点可以为该客户端的存储节点,也可以为其他客户端的存储节点或 服务节点。作为客户端30的存储节点20,超级节点的具体结构包括资源存 储模块21,用于存储客户端30的用户信息;第三处理模块22,用于当接收 到客户端30的服务节点10中的转发模块12所发送的待转发信息时,对该信 息进行识别,并对资源存储模块21中存储的客户端30的用户信息进行相应 处理。本实施例的消息呈现业务实现系统可执行本发明消息呈现业务实现方法 任意实施例的技术方案,服务节点用于与客户端直接交互信息,并根据客户 端发送的信息与存储节点交互,执行相应的处理,获取相应的反馈信息,例 如,当客户端发送了注册请求时,服务节点即向存储节点转发注册请求以在 为该客户端分配存储资源;当客户端发送了状态修改信息时,服务节点即向 存储节点转发该状态修改信息,以指示存储节点对客户端对应存储的资源进 行更新。在本实施例中,该转发模块的具体结构可以包括哈希表存储单元,用 于存储哈希表;哈希操作单元,与第一处理模块相连,用于采用"Chord"算希运算结果通过分布式网络逐跳转发待转发信息。本实施例的消息呈现业务实现系统充分利用了分布式网络,预布设了多个超级节点作为服务节点和存储节点,分布式处理客户端的消息呈现业务, 且分布存储为实现客户端消息呈现业务所需要的信息。该系统中的超级节点 可采用满足一定性能和功能要求的服务终端来承担,能够緩解网络中服务器 的负荷压力,提供了系统的性能,且超级节点的数量可增加或减少,因此承 载消息呈现业务的系统具有极强的可扩展性,这对于用户日益增多的现状极 为有利。消息呈现业务的实现系统实施例二如图8所示为本发明消息呈现业务的实现系统具体实施例二的局部结构 示意图,本实施例以实施例一为基础,具体可实现用户注册功能、资源查询 定位功能、好友添加功能、状态信息修改功能和用户注销功能。在本实施例 中,第一处理模块11具体包括注册请求单元lll,用于当识别到客户端发 送的信息为注册请求时,解析获取客户端的用户帐户信息作为目标帐户,将 注册请求作为待转发信息;资源定位单元112,用于当识别到客户端发送的信 息为资源查询请求时,解析获取待查终端的用户帐户信息作为目标帐户,将 资源查询请求作为待转发信息;好友添加单元113,用于当识别到客户端发送 的信息为好友添加请求时,解析获取待添加的好友终端的用户帐户信息作为 目标帐户,将好友添加请求作为待转发信息;状态修改单元114,用于当识别 到客户端发送的信息为状态修改信息时,解析获取客户端的用户帐户信息作 为目标帐户,将状态修改信息作为待转发信息;注销请求单元115,用于当识 别到客户端发送的信息为注销请求时,解析获取客户端的用户帐户信息作为 目标帐户,将注销请求作为待转发信息。该注册请求单元lll、资源定位单元 112、好友添加单元113、状态修改单元114和注销请求单元115分别与转发 模块12相连,向转发模块12提供目标帐户和待转发信息。相应地,客户端 的存储节点20中的第三处理模块22具体包括注册处理单元221,用于当识 别到接收的待转发信息为注册请求时,解析目标帐户作为客户端的用户帐户 信息,在资源存储模块21中为客户端的用户帐户信息分配资源以存储客户端 的用户信息;资源查询单元222,用于当识别到接收的待转发信息为资源查询请求时,解析目标帐户作为待查终端的用户帐户信息,根据待查终端的用户帐户信息在资源存储模块21中查询目标资源,将目标资源作为反馈信息发送 给客户端的服务节点10的第二处理模块13;好友添加确认单元223,用于当 识别到接收的待转发信息为好友添加请求时,解析目标帐户作为待添加的好 友终端的用户帐户信息,将好友添加请求发送给好友终端的服务节点10进行 好友添加确认,并当接收到好友添加确认响应时,将好友添加确认响应作为 反馈信息回复给第二处理模块13以通知客户端好友添加成功;状态更新单元 224,用于当识别到接收的待转发信息为状态修改信息时,解析目标帐户作为 客户端的用户帐户信息,根据状态修改信息对资源存储模块21中的资源进行 更新;注销处理单元225,用于当识别到接收的待转发信息为注销请求时,解 析目标帐户作为客户端的用户帐户信息,根据客户端的用户帐户信息释放资 源存储模块21中对应存储的资源,并向第二处理模块13发送注销响应作为 反馈信息。该注册处理单元221、资源查询单元222、好友添加确认单元223、 状态更新单元224和注销处理单元225分别与资源存储模块21相连,对资源 存储坤莫块21中的用户资源进行操作。本实施例的消息呈现业务实现系统可执行本发明消息呈现业务实现方法 任意实施例的技术方案,具体可实现上述功能,但是本发明的消息呈现业务 实现系统并不限于具有上述模块来实现上述功能,该系统也可以通过服务节 点、存储节点的相互配合来承载消息呈现业务中的其他功能。例如,采用分 布式资源存储方式,预布设的超级节点充当消息呈现业务的资源服务器,可 以发布用户的"User画e" 、 "IP" 、 "Port" 、 "State" 、 "ID"等信息; 用户资源查找定位釆用"Chord"算法,但不限于该算法。这样一方面可以充 分利用P2P网络资源查找的优势,来快速定位待查用户的信息;另一方面可 以大大緩解系统服务器的压力,留有更多的资源处理,使系统服务于其他突 发问题。本发明的消息呈现业务实现方法和系统提出了基于分布式Presence业务 架构的业务实现方案。P2P网络是一种具有较高扩展性的分布式系统结构,其对等概念是指网络中的物理节点在逻辑上具有相同的地位。相对于传统的集中式客户端/服务器模型,P2P网络弱化了中心服务器的概念,系统中没有中央节点,它对网络进行自由管理,每个节点既可请求服务,也可提供服务, 从而有效地整合互联网的潜在资源,将基于网页的互联网转变成动态存取、自由交互的海量信息网络。本发明由预布设超级节点构成P2P式的分布式网 络,采用专有协议进行通信,例如可以采用会话初始化协议(SIP) 、 SIP协 议扩展协议(Si即le协议)来实现,这样客户端就可以直接将Presence消息 信令发送到P2P分布式网络,由这些超级节点来处理消息信令,也就是说基 于P2P网络结构的Presence消息信令,不需经过系统服务器转发、处理,大 大减轻了服务器的负担,提高了系统的性能。另外超级节点实现了用户 Presence资源的分布式存储,便于资源的查找,緩解了服务器的压力,充分 利用P2P网络的优势,提高查找速率,提高系统处理性能。因此,基于分布式Presence结构实现Presence业务,可以大大緩解系 统服务器转发、处理消息信令的压力,可以提高系统的性能,另外分布式资 源存储方式,可以大大降低系统的带宽成本及维护成本,从而也可以緩解系 统的压力。在实现过程中,随着用户的规模不断增加,这种利用P2P技术优 势来緩解服务器压力的优势更明显,该方案具有容量大、稳定性强以及易于 扩展的优点。本领域普通技术人员可以理解实现上述方法实施例的全部或部分步骤 可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读 取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述 的存储介质包括R0M、 RAM、磁碟或者光盘等各种可以存储程序代码的介质。最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对其 限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术 人员应当理解其依然可以对前述各实施例所记载的技术方案进行修改,或 者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
权利要求
1、一种消息呈现业务的实现方法,其特征在于,包括步骤A1、当超级节点接收到客户端发送的注册请求时,该超级节点成为所述客户端的服务节点,所述客户端的服务节点从所述注册请求中解析获取所述客户端的用户帐户信息;步骤A2、所述客户端的服务节点根据所述客户端的用户帐户信息通过分布式网络确定一超级节点作为所述客户端的存储节点,并将接收自所述客户端的用户信息转发给所述客户端的存储节点进行存储。
2、 根据权利要求1所述的消息呈现业务的实现方法,其特征在于,所述 步骤A2具体为所述客户端的服务节点根据本地存储的哈希表对所述客户端 的用户帐户信息进行哈希运算,根据哈希运算结果将包含有所述客户端用户 信息的所述注册请求通过分布式网络转发至下一跳的超级节点,所述下一跳 的超级节点重复执行哈希运算查询及转发操作,直到确定一超级节点作为所 述客户端的存储节点以存储所述客户端的用户信息。
3、 根据权利要求2所述的消息呈现业务的实现方法,其特征在于,在所 述步骤Al前还包括所述客户端向所有所述超级节点分别发送探测包并计时,当接收到各所 述超级节点回复的探测响应时,比较计时结果,选择计时时间最短的超级节 点确定为所述客户端的服务节点。
4、 根据权利要求1或2或3所述的消息呈现业务的实现方法,其特征在 于,在所述步骤A2之后还包括步骤El、当所述客户端的服务节点接收到所述客户端发送的资源查询请求 时,从所述资源查询请求中解析获取待查终端的用户帐户信息;步骤E2、所述客户端的服务节点根据所述待查终端的用户帐户信息通过分 布式网络将所述资源查询请求转发给所述待查终端的存储节点;步骤E3、当所述客户端的服务节点接收到所述待查终端的存储节点反馈的目标资源时,将所述目标资源发送给所述客户端。
5、 根据权利要求4所述的消息呈现业务的实现方法,其特征在于,所述 步骤E2具体为所述客户端的服务节点根据本地存储的哈希表对所述待查终 端的用户帐户信息进行哈希运算,根据哈希运算结果将所述资源查询请求通 过分布式网络转发至下一跳的超级节点,所述下一跳的超级节点重复执行哈 希运算查询及转发操作,直到将所述资源查询请求转发至所述待查终端的存 储节点。
6、 根据权利要求4所述的消息呈现业务的实现方法,其特征在于,在所 述步骤E2和E3之间还包括所述待查终端的存储节点根据所述资源查询请 求查询目标资源,并从转发的所迷资源查询请求中解析获取所述客户端的服 务节点的标识,将所述目标资源发送给所述客户端的服务节点。
7、 根据权利要求1或2或3所述的消息呈现业务的实现方法,其特征在 于,在所述步骤A2之后还包括步骤Bl、当所述客户端的服务节点接收到所述客户端发送的好友添加请 求时,从所述好友添加请求中解析获取待添加的好友终端的用户帐户信息;步骤B2、所述客户端的服务节点根据所述好友终端的用户帐户信息将所 述好友添加请求通过分布式网络转发给所述好友终端的存储节点;步骤B3、所述好友终端的存储节点将所述好友添加请求通过分布式网络 转发给所述好友终端的服务节点;步骤B4、所述好友终端的服务节点向所述好友终端发送添加确认请求, 并在接收到所述好友终端回复的添加确认响应时,将所述添加确认响应通过 分布式网络转发给所述好友终端的存储节点;步骤B5、所述好友终端的存储节点在接收到所述添加确认响应时更新所述 好友终端的好友目录,并将所述添加确认响应转发给所述客户端的服务节点;步骤B6、所述客户端的服务节点向所述客户端发送好友添加成功信息。
8、 根据权利要求7所述的消息呈现业务的实现方法,其特征在于,所述步骤B2和步骤B3中通过分布式网络转发的步骤具体为通过重复4丸行p合希 运算查询和转发的操作来完成转发。
9、 根据权利要求7所述的消息呈现业务的实现方法,其特征在于,所述 步骤B6具体为所述客户端的服务节点将所述添加确认响应通过分布式网络 转发给所述客户端的存储节点以进行所述客户端的好友目录的更新,并向所 述客户端发送好友添加成功信息。
10、 根据权利要求7所述的消息呈现业务的实现方法,其特征在于,在 所述步骤B6之后还包括步骤Cl、当所述客户端的服务节点接收到客户端发送的状态修改信息时, 从所述状态修改信息中解析获取所述客户端的用户帐户信息;步骤C2、所述客户端的服务节点根据所述客户端的用户帐户信息将所述状 态修 文信息通过分布式网络转发给所述客户端的存储节点以进行状态更新。
11、 才艮据权利要求10所述的消息呈现业务的实现方法,其特征在于, 在所述步骤C2之后还包括步骤C3 、当所述客户端的服务节点接收到所述客户端的存储节点回复的 状态修改响应时,将所述状态修改响应转发给客户端以提示所述客户端将状 态修改信息发送给客户端的所有好友终端。
12、 根据权利要求10所述的消息呈现业务的实现方法,其特征在于, 在所述步骤C2之后还包括步骤C3'、当所述客户端的存储节点对所述客户端的用户信息进行状态 更新后,根据所述客户端的好友目录将所述状态修改信息转发给所述客户端 所有好友终端。
13、 根据权利要求10所述的消息呈现业务的实现方法,其特征在于, 所述步骤C2中通过分布式网络转发的步骤具体为通过重复执行哈希运算查询和转发的4喿作来完成转发。
14、 根据权利要求7所述的消息呈现业务的实现方法,其特征在于,在所述步骤B6之后还包括步骤D1、当所述客户端的服务节点接收到客户端发送的注销请求时,从 所述注销请求中解析获取所述客户端的用户帐户信息;步骤D2、所述客户端的服务节点根据所述客户端的用户帐户信息将所述 注销请求通过分布式网络转发给所述客户端的存储节点以释放所述客户端占 用的存储资源。
15、 根据权利要求14所述的消息呈现业务的实现方法,其特征在于, 在所述步骤D2之后还包括步骤D3、当所述客户端的服务节点接收到所述客户端的存储节点回复的 注销响应时,将所述注销响应转发给客户端以提示所述客户端将注销响应发 送给客户端的所有好友终端。
16、 根据权利要求14所述的消息呈现业务的实现方法,其特征在于, 在所述步骤D2之后还包括步骤D3'、当所述客户端的存储节点释放所述客户端占用的资源后,根 据所述客户端的好友目录将注销响应转发给所述客户端的所有好友终端。
17、 根据权利要求14所述的消息呈现业务的实现方法,其特征在于, 所述步骤D2中通过分布式网络转发的步骤具体为通过重复执行哈希运算查 询和转发的操作来完成转发。
18、 一种消息呈现业务的实现系统,其特征在于包括构成分布式网络 的多个服务节点和多个存储节点,且所述服务节点包括第一处理模块,用于当接收到客户端发送的信息时进行识别,从中解 析获取目标帐户,并产生待转发信息;转发模块,与所述第一处理模块相连,用于根据所述目标帐户通过所 述分布式网络转发所述待转发信息;第二处理模块,用于通过分布式网络接收到反馈信息时向所ii^户端转发;所述存储节点包括 资源存储模块,用于存储所述客户端的用户信息; 第三处理模块,用于当接收到所述服务节点发送的待转发信息时进行 识别,并对所述资源存储模块中存储的客户端的用户信息进行相应处理。
19、 根据权利要求18所述的消息呈现业务的实现系统,其特征在于, 所述转发模块具体包括哈希表存储单元,用于存储哈希表;标帐户进行哈希运算,根据哈希运算结果通过分布式网络逐跳转发所述待转 发信息。
20、 根据权利要求18或19所述的消息呈现业务的实现系统,其特征在 于,所述第一处理模块具体包括注册请求单元,用于当识别到所述客户端发送的信息为注册请求时,解 析获取所述客户端的用户帐户信息作为目标帐户,将所述注册请求作为待转 发信息;资源定位单元,用于当识别到所述客户端发送的信息为资源查询请求时, 解析获取待查终端的用户帐户信息作为目标帐户,将所述资源查询请求作为 待转发信息;好友添加单元,用于当识别到所述客户端发送的信息为好友添加请求时, 解析获取待添加的好友终端的用户帐户信息作为目标帐户,将所述好友添加 请求作为待转发信息;状态修改单元,用于当识别到所述客户端发送的信息为状态修改信息时, 解析获取所述客户端的用户帐户信息作为目标帐户,将所述状态修改信息作 为待转发信息;注销请求单元,用于当识别到所述客户端发送的信息为注销请求时,解 析获取所述客户端的用户帐户信息作为目标帐户,将所述注销请求作为待转发信息;所述注册请求单元、资源定位单元、好友添加单元、状态修改单元和注 销请求单元分别与所述转发模块相连。
21、 根据权利要求20所述的消息呈现业务的实现系统,其特征在于, 所述第三处理;漠块具体包括注册处理单元,用于当识别到接收的所述待转发信息为注册请求时,解 析所述目标帐户作为所述客户端的用户帐户信息,在资源存储模块中为所述 客户端的用户帐户信息分配资源以存储所述客户端的用户信息;资源查询单元,用于当识别到接收的所述待转发信息为资源查询请求时, 解析所述目标帐户作为待查终端的用户帐户信息,根据所述待查终端的用户 帐户信息在资源存储模块中查询目标资源,将所述目标资源作为所述反馈信 息发送给所述服务节点的所述第二处理模块;好友添加确认单元,用于当识别到接收的所述待转发信息为好友添加请 求时,解析所述目标帐户作为待添加的好友终端的用户帐户信息,将所述好 友添加请求发送给所述好友终端的服务节点进行好友添加确认,并当接收到 好友添加确认响应时,将所述好友添加确认响应作为所述反馈信息回复给所 述第二处理模块以通知所述客户端好友添加成功;状态更新单元,用于当识别到接收的所述待转发信息为状态修改信息时, 解析所述目标帐户作为所述客户端的用户帐户信息,根据所述状态修改信息 对所述资源存储模块中的资源进行更新;注销处理单元,用于当识别到接收的所述待转发信息为注销请求时,解 析所述目标帐户作为所述客户端的用户帐户信息,根据所述客户端的用户帐 户信息释放所述资源存储模块中对应存储的资源,并向所述第二处理模块发 送注销响应作为所述反馈信息;所述注册处理单元、资源查询单元、好友添加确:〖人单元、状态更新单元 和注销处理单元分别与所述资源存储模块相连。
全文摘要
本发明涉及一种消息呈现业务的实现方法和系统。该方法包括当超级节点接收到客户端发送的注册请求时成为客户端的服务节点,解析获取客户端的用户帐户信息;通过分布式网络将用户信息转发给客户端的存储节点进行存储。该系统包括构成分布式网络的多个客户端的服务节点和多个客户端的存储节点,且服务节点包括第一处理模块、转发模块和第二处理模块;存储节点包括资源存储模块和第三处理模块,服务节点和存储节点通过分布式网络交互信息。本发明采用分布式网络来承载消息呈现业务,且分布存储客户端的用户信息,能够缓解服务器压力,改善了系统的性能;能实现资源快速定位,降低了带宽成本;系统可扩展性强,能满足逐渐增多的客户规模需求。
文档编号H04L29/06GK101247370SQ20081010193
公开日2008年8月20日 申请日期2008年3月14日 优先权日2008年3月14日
发明者房秉毅, 涛 林, 潘海鹏, 熊景松, 王志军, 申志伟, 陈九庆, 马少武 申请人:中国网通集团宽带业务应用国家工程实验室有限公司;中国科学院声学研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1