CN101247370A - 消息呈现业务的实现方法和系统 - Google Patents
消息呈现业务的实现方法和系统 Download PDFInfo
- Publication number
- CN101247370A CN101247370A CNA2008101019368A CN200810101936A CN101247370A CN 101247370 A CN101247370 A CN 101247370A CN A2008101019368 A CNA2008101019368 A CN A2008101019368A CN 200810101936 A CN200810101936 A CN 200810101936A CN 101247370 A CN101247370 A CN 101247370A
- Authority
- CN
- China
- Prior art keywords
- client
- information
- node
- good friend
- described client
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及一种消息呈现业务的实现方法和系统。该方法包括:当超级节点接收到客户端发送的注册请求时成为客户端的服务节点,解析获取客户端的用户帐户信息;通过分布式网络将用户信息转发给客户端的存储节点进行存储。该系统包括:构成分布式网络的多个客户端的服务节点和多个客户端的存储节点,且服务节点包括第一处理模块、转发模块和第二处理模块;存储节点包括资源存储模块和第三处理模块,服务节点和存储节点通过分布式网络交互信息。本发明采用分布式网络来承载消息呈现业务,且分布存储客户端的用户信息,能够缓解服务器压力,改善了系统的性能;能实现资源快速定位,降低了带宽成本;系统可扩展性强,能满足逐渐增多的客户规模需求。
Description
技术领域
本发明涉及一种消息呈现业务的实现方法和系统,尤其涉及一种能够在通信网络中实现消息呈现业务的方法以及执行该方法的系统。
背景技术
目前,随着互联网的普及,越来越多的人喜欢通过即时通信的方式来与别人保持联系,而现有的消息呈现(以下称为Presence)业务在上述即时通信中发挥着非常重要的作用。
所谓Presence业务,即:以某种通信方式,按照某种接入标准,实时获取用户的Presence信息,例如用户状态信息,并告之其他用户的一种业务。Presence信息一般根据用户终端来划分,通常每个用户终端对应一个Presence信息包。当一个用户有多个终端,例如同时有手机、固定电话、PDA等多个终端时,则该用户对应多个Presence信息包。每个Presence信息包一般可以包括如下信息:状态,表示业务或终端设备当前的情况,如是否开机、是否在线、是否忙等;通信信息,如通信方式、通信地址等,其中通信方式指该终端支持什么通信方式,如何与该终端设备联系等,如是否支持SMS、MMS或直接的语音通话等,通信地址指与通信方式相关的具体地址描述,如E-mail地址、电话号码等;附加信息,除状态和通信信息之外的其他信息,如用户此时的表情是高兴,还是烦恼等。
常用的Presence业务功能包括如下几方面:
首先,Presence用户可以配置自己的Presence业务喜好,添加朋友或家人为好友。例如喜爱的通讯方式,Presence用户可以阻止某一用户与其通信,或者能够配置指示其他用户如何与自己联系的相关信息,例如指示其他用户自己当前正在开会,其他用户可以通过即时消息联系;
其次,Presence用户还可以与支持Presence业务应用的其他用户共享Presence信息。其包括使用户的Presence信息可用、能使用什么样的Presence信息以及Presence信息中的哪些部分能被访问等;
另外,Presence用户还能搜索到其他也使用Presence业务的用户,从而可以更新Presence信息。如用户在改变了Presence状态后,Presence信息能立即更新,并且订阅该用户的Presence信息的观察者也能得到Presence信息改变的通知等。
综上所述可以看出,能支持的Presence信息越丰富,Presence业务对用户的吸引力就越强。但是随着Presence业务功能的不断丰富,其实现时需要处理的消息信令也随之增多,尤其是需要频繁发送保活(Keepalive)信令,保活信令用于判断自身节点当前有多少用户在线,以便进行更新消息的交互。而且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为本发明消息呈现业务的实现系统具体实施例二的局部结构示意图。
图中:
10-服务节点 11-第一处理模块 111-注册请求单元
112-资源定位单元 113-好友添加单元 114-状态修改单元
115-注销请求单元 12-转发模块 13-第二处理模块
20-存储节点 21-资源存储模块 22-第三处理模块
221-注册处理单元 222-资源查询单元 223-好友添加确认单元
224-状态更新单元 225-注销处理单元 30-客户端
具体实施方式
消息呈现业务的实现方法实施例一
如图1A所示为本发明消息呈现业务的实现方法具体实施例一的流程图,图1B为本实施例的信令流程图。该实现方法是基于分布式网络来实现的。执行该方法所需要的分布式网络架构一般如图2所示,包括多个预先设定的超级节点(Super Node,简称SN),且超级节点可以动态的加入和退出。超级节点具有组网功能,分布式网络中的超级节点不是孤立的节点,而是彼此间相互联系的,传统C/S模式下的服务器是不具备此功能的。多个超级节点组成了分布式网络,也可称为重叠网络(Overlay Network)。当客户端(Client)需要使用消息呈现业务时,即可加入该分布式网络,通过该分布式网络来承载消息呈现业务。其中,客户端注册消息呈现业务的具体流程如下:
步骤A1、当某个超级节点接收到一个客户端发送的注册请求时,该超级节点就成为该客户端的服务节点(FSN),该客户端的服务节点从注册请求中解析获取客户端的用户帐户信息;
步骤A2、客户端的服务节点根据客户端的用户帐户信息,通过分布式网络确定一超级节点作为该客户端的存储节点,并将接收自客户端的用户信息转发给客户端的存储节点进行存储,其中,客户端的用户信息可以是与注册请求一同发送的,也可以是由客户端单独发送的。
本实施例中步骤A2的一种较佳实现方式是:客户端的服务节点根据本地存储的哈希表对客户端的用户帐户信息进行哈希运算,根据哈希运算结果将包含有客户端用户信息的注册请求通过分布式网络转发至下一跳的超级节点,下一跳的超级节点重复执行哈希运算查询及转发操作,直到确定一个超级节点作为客户端的存储节点以存储客户端的用户信息。上述哈希运算转发操作可以依据“Chord”算法来实现。客户端的存储节点可以和客户端的服务节点为同一超级节点,这由哈希运算结果来决定。客户端的服务节点根据用户帐户信息进行哈希运算,当通过哈希运算后确定所连的服务节点就是客户端的存储节点时,那么客户端的服务节点和存储节点就是同一超级节点;当通过哈希运算确定除服务节点的其他某个超级节点是客户端的存储节点时,那么客户端的服务节点和存储节点就不是同一超级节点。
在本实施例中,客户端的服务节点可以是根据一定原则为客户端指定的,例如按照区域划分。客户端确定服务节点的一种方式还可以是客户端通过发送探测包来确定服务节点,其具体步骤可以为:客户端向所有超级节点分别发送探测包并计时,当接收到各个超级节点回复的探测响应时,比较计时结果,选择计时时间最短的超级节点确定为自身的服务节点,而后向其发送注册请求。发送探测包的方法即查询哪个预布设超级节点的性能相对与该客户端来说是最佳的。例如超级节点返回探测响应的时间最短,说明该预布设超级节点对探测包的处理时间最短,客户端可以选取该处理时间最短的预布设超级节点作为自己的服务节点。
在本实施例中,采用分布式网络中的一个超级节点作为客户端的服务节点,再查询到适当的超级节点作为客户端的存储节点,能够实现所有客户端的消息呈现业务分散至多个超级节点进行处理,所有客户端为实现消息呈现业务所需保存的资源分散至多个超级节点进行存储。
采用本实施例的技术方案,充分利用了分布式网络来实现消息呈现业务,合理利用分布式网络中的超级节点资源,不需要服务器的参与。充分利用超级节点资源,消息呈现业务所需传输的信息可在各超级节点间交互,超级节点可完成传统服务器的部分功能,例如:查找、存储功能,但超级节点的功能并不限于传统服务器的功能,还可以进行适当的扩展。例如:客户端的存储节点通过客户端发来的保活信令来判断自身节点当前有多少用户是在线的。该技术方案能够合理利用带宽,降低系统带宽成本和维护成本。采用上述方法,超级节点的数量可动态增加或减少,承载消息呈现业务的分布式网络规模可扩展性增强,稳定性增加。
消息呈现业务的实现方法实施例二
如图3A所示为本发明消息呈现业务的实现方法具体实施例二的流程图,图3B为本实施例的信令流程图。本实施例以实施例一为基础,能够进一步实现消息呈现业务中的资源查询定位功能,其具体流程如下:
步骤E1、当客户端A的服务节点FSN_A接收到客户端A发送的资源查询请求时,经过数据包分析识别出是资源查询请求,则从资源查询请求中解析获取待查终端B的用户帐户信息;
步骤E2、客户端A的服务节点FSN_A根据待查终端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的服务节点FSN_A根据好友终端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的服务节点FSN_A;
步骤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以完成好友添加确认的流程。
本实施例的消息呈现业务实现方法中,基于分布式网络来实现好友添加功能,实现了分布式管理消息呈现业务,能够降低服务器的负荷压力,且充分利用了带宽,提高了消息呈现业务的速度和质量。
消息呈现业务的实现方法实施例四
如图5A所示为本发明消息呈现业务的实现方法具体实施例四的流程图,图5B为本实施例消息呈现业务实现方法中状态修改的信令流程图。本实施例在上述实施例一、实施例二和实施例三的基础上,进一步实现客户端的状态修改流程,即在上述步骤B6后可执行下述流程:
步骤C1、当客户端的服务节点接收到客户端发送的状态修改信息时,从状态修改信息中解析获取客户端的用户帐户信息;
步骤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,与第一处理模块11相连,用于根据第一处理模块11中获取的目标帐户通过分布式网络转发该待转发信息,转发模块12可作为该服务节点10的接口,该待转发信息可由其发送给其他的超级节点,以逐跳发送给目标的超级节点;第二处理模块13,用于通过分布式网络接收到反馈信息时向客户端30转发该反馈信息,该反馈信息的发送源超级节点可以为该客户端的存储节点,也可以为其他客户端的存储节点或服务节点。作为客户端30的存储节点20,超级节点的具体结构包括:资源存储模块21,用于存储客户端30的用户信息;第三处理模块22,用于当接收到客户端30的服务节点10中的转发模块12所发送的待转发信息时,对该信息进行识别,并对资源存储模块21中存储的客户端30的用户信息进行相应处理。
本实施例的消息呈现业务实现系统可执行本发明消息呈现业务实现方法任意实施例的技术方案,服务节点用于与客户端直接交互信息,并根据客户端发送的信息与存储节点交互,执行相应的处理,获取相应的反馈信息,例如,当客户端发送了注册请求时,服务节点即向存储节点转发注册请求以在为该客户端分配存储资源;当客户端发送了状态修改信息时,服务节点即向存储节点转发该状态修改信息,以指示存储节点对客户端对应存储的资源进行更新。
在本实施例中,该转发模块的具体结构可以包括:哈希表存储单元,用于存储哈希表;哈希操作单元,与第一处理模块相连,用于采用“Chord”算法,根据哈希表存储单元中存储的哈希表对目标帐户进行哈希运算,根据哈希运算结果通过分布式网络逐跳转发待转发信息。
本实施例的消息呈现业务实现系统充分利用了分布式网络,预布设了多个超级节点作为服务节点和存储节点,分布式处理客户端的消息呈现业务,且分布存储为实现客户端消息呈现业务所需要的信息。该系统中的超级节点可采用满足一定性能和功能要求的服务终端来承担,能够缓解网络中服务器的负荷压力,提供了系统的性能,且超级节点的数量可增加或减少,因此承载消息呈现业务的系统具有极强的可扩展性,这对于用户日益增多的现状极为有利。
消息呈现业务的实现系统实施例二
如图8所示为本发明消息呈现业务的实现系统具体实施例二的局部结构示意图,本实施例以实施例一为基础,具体可实现用户注册功能、资源查询定位功能、好友添加功能、状态信息修改功能和用户注销功能。在本实施例中,第一处理模块11具体包括:注册请求单元111,用于当识别到客户端发送的信息为注册请求时,解析获取客户端的用户帐户信息作为目标帐户,将注册请求作为待转发信息;资源定位单元112,用于当识别到客户端发送的信息为资源查询请求时,解析获取待查终端的用户帐户信息作为目标帐户,将资源查询请求作为待转发信息;好友添加单元113,用于当识别到客户端发送的信息为好友添加请求时,解析获取待添加的好友终端的用户帐户信息作为目标帐户,将好友添加请求作为待转发信息;状态修改单元114,用于当识别到客户端发送的信息为状态修改信息时,解析获取客户端的用户帐户信息作为目标帐户,将状态修改信息作为待转发信息;注销请求单元115,用于当识别到客户端发送的信息为注销请求时,解析获取客户端的用户帐户信息作为目标帐户,将注销请求作为待转发信息。该注册请求单元111、资源定位单元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中的用户资源进行操作。
本实施例的消息呈现业务实现系统可执行本发明消息呈现业务实现方法任意实施例的技术方案,具体可实现上述功能,但是本发明的消息呈现业务实现系统并不限于具有上述模块来实现上述功能,该系统也可以通过服务节点、存储节点的相互配合来承载消息呈现业务中的其他功能。例如,采用分布式资源存储方式,预布设的超级节点充当消息呈现业务的资源服务器,可以发布用户的“Username”、“IP”、“Port”、“State”、“ID”等信息;用户资源查找定位采用“Chord”算法,但不限于该算法。这样一方面可以充分利用P2P网络资源查找的优势,来快速定位待查用户的信息;另一方面可以大大缓解系统服务器的压力,留有更多的资源处理,使系统服务于其他突发问题。
本发明的消息呈现业务实现方法和系统提出了基于分布式Presence业务架构的业务实现方案。P2P网络是一种具有较高扩展性的分布式系统结构,其对等概念是指网络中的物理节点在逻辑上具有相同的地位。相对于传统的集中式客户端/服务器模型,P2P网络弱化了中心服务器的概念,系统中没有中央节点,它对网络进行自由管理,每个节点既可请求服务,也可提供服务,从而有效地整合互联网的潜在资源,将基于网页的互联网转变成动态存取、自由交互的海量信息网络。本发明由预布设超级节点构成P2P式的分布式网络,采用专有协议进行通信,例如可以采用会话初始化协议(SIP)、SIP协议扩展协议(Simple协议)来实现,这样客户端就可以直接将Presence消息信令发送到P2P分布式网络,由这些超级节点来处理消息信令,也就是说基于P2P网络结构的Presence消息信令,不需经过系统服务器转发、处理,大大减轻了服务器的负担,提高了系统的性能。另外超级节点实现了用户Presence资源的分布式存储,便于资源的查找,缓解了服务器的压力,充分利用P2P网络的优势,提高查找速率,提高系统处理性能。
因此,基于分布式Presence结构实现Presence业务,可以大大缓解系统服务器转发、处理消息信令的压力,可以提高系统的性能,另外分布式资源存储方式,可以大大降低系统的带宽成本及维护成本,从而也可以缓解系统的压力。在实现过程中,随着用户的规模不断增加,这种利用P2P技术优势来缓解服务器压力的优势更明显,该方案具有容量大、稳定性强以及易于扩展的优点。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (21)
1、一种消息呈现业务的实现方法,其特征在于,包括:
步骤A1、当超级节点接收到客户端发送的注册请求时,该超级节点成为所述客户端的服务节点,所述客户端的服务节点从所述注册请求中解析获取所述客户端的用户帐户信息;
步骤A2、所述客户端的服务节点根据所述客户端的用户帐户信息通过分布式网络确定一超级节点作为所述客户端的存储节点,并将接收自所述客户端的用户信息转发给所述客户端的存储节点进行存储。
2、根据权利要求1所述的消息呈现业务的实现方法,其特征在于,所述步骤A2具体为:所述客户端的服务节点根据本地存储的哈希表对所述客户端的用户帐户信息进行哈希运算,根据哈希运算结果将包含有所述客户端用户信息的所述注册请求通过分布式网络转发至下一跳的超级节点,所述下一跳的超级节点重复执行哈希运算查询及转发操作,直到确定一超级节点作为所述客户端的存储节点以存储所述客户端的用户信息。
3、根据权利要求2所述的消息呈现业务的实现方法,其特征在于,在所述步骤A1前还包括:
所述客户端向所有所述超级节点分别发送探测包并计时,当接收到各所述超级节点回复的探测响应时,比较计时结果,选择计时时间最短的超级节点确定为所述客户端的服务节点。
4、根据权利要求1或2或3所述的消息呈现业务的实现方法,其特征在于,在所述步骤A2之后还包括:
步骤E1、当所述客户端的服务节点接收到所述客户端发送的资源查询请求时,从所述资源查询请求中解析获取待查终端的用户帐户信息;
步骤E2、所述客户端的服务节点根据所述待查终端的用户帐户信息通过分布式网络将所述资源查询请求转发给所述待查终端的存储节点;
步骤E3、当所述客户端的服务节点接收到所述待查终端的存储节点反馈的目标资源时,将所述目标资源发送给所述客户端。
5、根据权利要求4所述的消息呈现业务的实现方法,其特征在于,所述步骤E2具体为:所述客户端的服务节点根据本地存储的哈希表对所述待查终端的用户帐户信息进行哈希运算,根据哈希运算结果将所述资源查询请求通过分布式网络转发至下一跳的超级节点,所述下一跳的超级节点重复执行哈希运算查询及转发操作,直到将所述资源查询请求转发至所述待查终端的存储节点。
6、根据权利要求4所述的消息呈现业务的实现方法,其特征在于,在所述步骤E2和E3之间还包括:所述待查终端的存储节点根据所述资源查询请求查询目标资源,并从转发的所述资源查询请求中解析获取所述客户端的服务节点的标识,将所述目标资源发送给所述客户端的服务节点。
7、根据权利要求1或2或3所述的消息呈现业务的实现方法,其特征在于,在所述步骤A2之后还包括:
步骤B1、当所述客户端的服务节点接收到所述客户端发送的好友添加请求时,从所述好友添加请求中解析获取待添加的好友终端的用户帐户信息;
步骤B2、所述客户端的服务节点根据所述好友终端的用户帐户信息将所述好友添加请求通过分布式网络转发给所述好友终端的存储节点;
步骤B3、所述好友终端的存储节点将所述好友添加请求通过分布式网络转发给所述好友终端的服务节点;
步骤B4、所述好友终端的服务节点向所述好友终端发送添加确认请求,并在接收到所述好友终端回复的添加确认响应时,将所述添加确认响应通过分布式网络转发给所述好友终端的存储节点;
步骤B5、所述好友终端的存储节点在接收到所述添加确认响应时更新所述好友终端的好友目录,并将所述添加确认响应转发给所述客户端的服务节点;
步骤B6、所述客户端的服务节点向所述客户端发送好友添加成功信息。
8、根据权利要求7所述的消息呈现业务的实现方法,其特征在于,所述步骤B2和步骤B3中通过分布式网络转发的步骤具体为:通过重复执行哈希运算查询和转发的操作来完成转发。
9、根据权利要求7所述的消息呈现业务的实现方法,其特征在于,所述步骤B6具体为:所述客户端的服务节点将所述添加确认响应通过分布式网络转发给所述客户端的存储节点以进行所述客户端的好友目录的更新,并向所述客户端发送好友添加成功信息。
10、根据权利要求7所述的消息呈现业务的实现方法,其特征在于,在所述步骤B6之后还包括:
步骤C1、当所述客户端的服务节点接收到客户端发送的状态修改信息时,从所述状态修改信息中解析获取所述客户端的用户帐户信息;
步骤C2、所述客户端的服务节点根据所述客户端的用户帐户信息将所述状态修改信息通过分布式网络转发给所述客户端的存储节点以进行状态更新。
11、根据权利要求10所述的消息呈现业务的实现方法,其特征在于,在所述步骤C2之后还包括:
步骤C3、当所述客户端的服务节点接收到所述客户端的存储节点回复的状态修改响应时,将所述状态修改响应转发给客户端以提示所述客户端将状态修改信息发送给客户端的所有好友终端。
12、根据权利要求10所述的消息呈现业务的实现方法,其特征在于,在所述步骤C2之后还包括:
步骤C3′、当所述客户端的存储节点对所述客户端的用户信息进行状态更新后,根据所述客户端的好友目录将所述状态修改信息转发给所述客户端所有好友终端。
13、根据权利要求10所述的消息呈现业务的实现方法,其特征在于,所述步骤C2中通过分布式网络转发的步骤具体为:通过重复执行哈希运算查询和转发的操作来完成转发。
14、根据权利要求7所述的消息呈现业务的实现方法,其特征在于,在所述步骤B6之后还包括:
步骤D1、当所述客户端的服务节点接收到客户端发送的注销请求时,从所述注销请求中解析获取所述客户端的用户帐户信息;
步骤D2、所述客户端的服务节点根据所述客户端的用户帐户信息将所述注销请求通过分布式网络转发给所述客户端的存储节点以释放所述客户端占用的存储资源。
15、根据权利要求14所述的消息呈现业务的实现方法,其特征在于,在所述步骤D2之后还包括:
步骤D3、当所述客户端的服务节点接收到所述客户端的存储节点回复的注销响应时,将所述注销响应转发给客户端以提示所述客户端将注销响应发送给客户端的所有好友终端。
16、根据权利要求14所述的消息呈现业务的实现方法,其特征在于,在所述步骤D2之后还包括:
步骤D3′、当所述客户端的存储节点释放所述客户端占用的资源后,根据所述客户端的好友目录将注销响应转发给所述客户端的所有好友终端。
17、根据权利要求14所述的消息呈现业务的实现方法,其特征在于,所述步骤D2中通过分布式网络转发的步骤具体为:通过重复执行哈希运算查询和转发的操作来完成转发。
18、一种消息呈现业务的实现系统,其特征在于包括:构成分布式网络的多个服务节点和多个存储节点,且
所述服务节点包括:
第一处理模块,用于当接收到客户端发送的信息时进行识别,从中解析获取目标帐户,并产生待转发信息;
转发模块,与所述第一处理模块相连,用于根据所述目标帐户通过所述分布式网络转发所述待转发信息;
第二处理模块,用于通过分布式网络接收到反馈信息时向所述客户端转发;
所述存储节点包括:
资源存储模块,用于存储所述客户端的用户信息;
第三处理模块,用于当接收到所述服务节点发送的待转发信息时进行识别,并对所述资源存储模块中存储的客户端的用户信息进行相应处理。
19、根据权利要求18所述的消息呈现业务的实现系统,其特征在于,所述转发模块具体包括:
哈希表存储单元,用于存储哈希表;
哈希操作单元,用于根据所述哈希表存储单元中存储的哈希表对所述目标帐户进行哈希运算,根据哈希运算结果通过分布式网络逐跳转发所述待转发信息。
20、根据权利要求18或19所述的消息呈现业务的实现系统,其特征在于,所述第一处理模块具体包括:
注册请求单元,用于当识别到所述客户端发送的信息为注册请求时,解析获取所述客户端的用户帐户信息作为目标帐户,将所述注册请求作为待转发信息;
资源定位单元,用于当识别到所述客户端发送的信息为资源查询请求时,解析获取待查终端的用户帐户信息作为目标帐户,将所述资源查询请求作为待转发信息;
好友添加单元,用于当识别到所述客户端发送的信息为好友添加请求时,解析获取待添加的好友终端的用户帐户信息作为目标帐户,将所述好友添加请求作为待转发信息;
状态修改单元,用于当识别到所述客户端发送的信息为状态修改信息时,解析获取所述客户端的用户帐户信息作为目标帐户,将所述状态修改信息作为待转发信息;
注销请求单元,用于当识别到所述客户端发送的信息为注销请求时,解析获取所述客户端的用户帐户信息作为目标帐户,将所述注销请求作为待转发信息;
所述注册请求单元、资源定位单元、好友添加单元、状态修改单元和注销请求单元分别与所述转发模块相连。
21、根据权利要求20所述的消息呈现业务的实现系统,其特征在于,所述第三处理模块具体包括:
注册处理单元,用于当识别到接收的所述待转发信息为注册请求时,解析所述目标帐户作为所述客户端的用户帐户信息,在资源存储模块中为所述客户端的用户帐户信息分配资源以存储所述客户端的用户信息;
资源查询单元,用于当识别到接收的所述待转发信息为资源查询请求时,解析所述目标帐户作为待查终端的用户帐户信息,根据所述待查终端的用户帐户信息在资源存储模块中查询目标资源,将所述目标资源作为所述反馈信息发送给所述服务节点的所述第二处理模块;
好友添加确认单元,用于当识别到接收的所述待转发信息为好友添加请求时,解析所述目标帐户作为待添加的好友终端的用户帐户信息,将所述好友添加请求发送给所述好友终端的服务节点进行好友添加确认,并当接收到好友添加确认响应时,将所述好友添加确认响应作为所述反馈信息回复给所述第二处理模块以通知所述客户端好友添加成功;
状态更新单元,用于当识别到接收的所述待转发信息为状态修改信息时,解析所述目标帐户作为所述客户端的用户帐户信息,根据所述状态修改信息对所述资源存储模块中的资源进行更新;
注销处理单元,用于当识别到接收的所述待转发信息为注销请求时,解析所述目标帐户作为所述客户端的用户帐户信息,根据所述客户端的用户帐户信息释放所述资源存储模块中对应存储的资源,并向所述第二处理模块发送注销响应作为所述反馈信息;
所述注册处理单元、资源查询单元、好友添加确认单元、状态更新单元和注销处理单元分别与所述资源存储模块相连。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101019368A CN101247370B (zh) | 2008-03-14 | 2008-03-14 | 消息呈现业务的实现方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101019368A CN101247370B (zh) | 2008-03-14 | 2008-03-14 | 消息呈现业务的实现方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101247370A true CN101247370A (zh) | 2008-08-20 |
CN101247370B CN101247370B (zh) | 2010-09-29 |
Family
ID=39947578
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101019368A Expired - Fee Related CN101247370B (zh) | 2008-03-14 | 2008-03-14 | 消息呈现业务的实现方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101247370B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103297402A (zh) * | 2012-03-01 | 2013-09-11 | 腾讯科技(深圳)有限公司 | 一种控制帐号注册的方法及系统 |
CN103379021A (zh) * | 2012-04-24 | 2013-10-30 | 中兴通讯股份有限公司 | 实现分布式消息队列的方法及系统 |
CN101674257B (zh) * | 2008-09-10 | 2014-03-05 | 阿里巴巴集团控股有限公司 | 一种消息存储方法、装置及一种消息处理系统 |
CN104717258A (zh) * | 2013-12-16 | 2015-06-17 | 华为技术有限公司 | 一种数据发送方法及系统 |
CN111818305A (zh) * | 2020-07-09 | 2020-10-23 | 杭州海康威视数字技术股份有限公司 | 一种分布式系统、业务控制方法及装置 |
CN113364825A (zh) * | 2020-03-06 | 2021-09-07 | 联通系统集成有限公司 | 分布式资源集成系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0993163A1 (en) * | 1998-10-05 | 2000-04-12 | Backweb Technologies Ltd. | Distributed client-based data caching system and method |
US7587491B2 (en) * | 2002-12-31 | 2009-09-08 | International Business Machines Corporation | Method and system for enroll-thru operations and reprioritization operations in a federated environment |
CN1889586A (zh) * | 2005-06-30 | 2007-01-03 | 华为技术有限公司 | 一种注册/注销系统和注册/注销方法 |
US7801912B2 (en) * | 2005-12-29 | 2010-09-21 | Amazon Technologies, Inc. | Method and apparatus for a searchable data service |
-
2008
- 2008-03-14 CN CN2008101019368A patent/CN101247370B/zh not_active Expired - Fee Related
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101674257B (zh) * | 2008-09-10 | 2014-03-05 | 阿里巴巴集团控股有限公司 | 一种消息存储方法、装置及一种消息处理系统 |
CN103297402A (zh) * | 2012-03-01 | 2013-09-11 | 腾讯科技(深圳)有限公司 | 一种控制帐号注册的方法及系统 |
CN103379021A (zh) * | 2012-04-24 | 2013-10-30 | 中兴通讯股份有限公司 | 实现分布式消息队列的方法及系统 |
CN103379021B (zh) * | 2012-04-24 | 2017-02-15 | 中兴通讯股份有限公司 | 实现分布式消息队列的方法及系统 |
CN104717258A (zh) * | 2013-12-16 | 2015-06-17 | 华为技术有限公司 | 一种数据发送方法及系统 |
CN104717258B (zh) * | 2013-12-16 | 2018-09-28 | 华为技术有限公司 | 一种数据发送方法及系统 |
CN113364825A (zh) * | 2020-03-06 | 2021-09-07 | 联通系统集成有限公司 | 分布式资源集成系统 |
CN113364825B (zh) * | 2020-03-06 | 2022-12-06 | 联通系统集成有限公司 | 分布式资源集成系统 |
CN111818305A (zh) * | 2020-07-09 | 2020-10-23 | 杭州海康威视数字技术股份有限公司 | 一种分布式系统、业务控制方法及装置 |
CN111818305B (zh) * | 2020-07-09 | 2021-12-10 | 杭州海康威视数字技术股份有限公司 | 一种分布式系统、业务控制方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101247370B (zh) | 2010-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9083654B2 (en) | Use of information channels to provide communications in a virtual environment | |
CN101388837B (zh) | 路由选择方法、业务网络及网络设备 | |
US7496602B2 (en) | Optimizing communication using scalable peer groups | |
EP1397923B1 (en) | Mobile instant messaging and presence service | |
CN100384186C (zh) | 多个账号同时在一个客户端上实现imps业务的系统及方法 | |
CN106464685A (zh) | 服务器资源的自适应分配 | |
CN101247370B (zh) | 消息呈现业务的实现方法和系统 | |
KR20080092925A (ko) | 요청 브로드캐스팅을 통한 서비스 접속을 데이터 패킷네트워크를 통해 로케이팅하고 취득하기 위한 시스템 및방법 | |
US20120309539A1 (en) | System and method for implementing turn-based online games | |
CN101682618A (zh) | 一种在分布式散列表中提供和保持实时最新数据的节点和方法 | |
WO2007081523A2 (en) | Optimizing communication using scaleable peer groups | |
CN102474508A (zh) | 点对点网络中的节点的层次结构 | |
CN101459526B (zh) | 基于服务发现的投影仪共享会议系统 | |
CN104753877A (zh) | 一种群组通信方法及装置 | |
CN105743958A (zh) | 一种终端之间的通信方法和装置 | |
KR20110137917A (ko) | Pn 라우팅 테이블을 이용한 개인 네트워크의 구성 장치 및 방법 | |
CN102136990A (zh) | 一种业务叠加网络的业务路由方法及系统 | |
CN103841090A (zh) | 实现会话发起协议多业务服务器分发的方法、装置及系统 | |
US20090094611A1 (en) | Method and Apparatus for Load Distribution in Multiprocessor Servers | |
CN101925158A (zh) | 号码详情的获取系统及方法 | |
JP5239184B2 (ja) | プレゼンスサービスシステム | |
CN103685485A (zh) | 移动终端VoIP通讯音频管理系统 | |
CN100415006C (zh) | 短信网址装置及实现短信增值业务的系统和方法 | |
CN102882906A (zh) | 受限应用协议中数据通信的方法和装置 | |
US20130295891A1 (en) | Method an apparatus of providing service mobility among user equipments |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100929 Termination date: 20150314 |
|
EXPY | Termination of patent right or utility model |