信息处理方法和服务器的制造方法
【专利摘要】本发明公开了一种信息处理方法和服务器,所述方法应用于信息处理系统中的发送端服务器,所述信息处理系统至少包括所述发送端服务器和接收端服务器,所述发送端服务器连接到发送端客户端,所述接收端服务器连接到接收端客户端,所述方法包括:从所述发送端客户端接收所述信息;生成信息发送任务;在所述发送端服务器与所述接收端服务器之间建立任务调用连接;以及通过所述任务调用连接来向所述接收端服务器发送所述信息发送任务,以使得所述接收端服务器执行所述信息发送任务,从而向所述接收端客户端发送所述信息。因此,在本发明中,信息处理系统可以通过任务调用的方式来实现服务器的集群方案,以支持更多数目的客户端。
【专利说明】信息处理方法和服务器
【技术领域】
[0001]本发明涉及计算机【技术领域】,更具体地,本发明涉及一种信息处理方法和服务器。
【背景技术】
[0002]即时通信(IM)是一种终端服务,其允许两个或多个用户使用网络来即时地相互传递文本信息和多媒体信息(诸如,音频和视频信息)等,以实现沟通目的。
[0003]随着頂技术的不断发展,可扩展消息传送和呈现协议(XMPP)协议应运而生。XMPP是基于可扩展标记语言(XML)的协议,它旨在促进服务器之间的准即时操作。
[0004]典型地,Openfire是一种基于XMPP协议实现的、使用Java语言编写的頂服务器。由于其功能强大、成熟稳定、并且开源,所以它在业界得到广泛应用。然而,由于传送控制协议(TCP)长连接与Java语言的限制,导致目前单台的Openfire服务器所支持的客户端连接数仅为6000到10000个用户之间,而这对于大型的IM服务提供商而言显然是远远不够的。
[0005]针对此技术问题,现有技术中的第一解决方案在于,通过采用Openfire连接管理模块(Connect1n Manager Module)、利用主从模式来增加IM系统中的客户端的连接数量。具体地,在頂系统中,将一台Openfire服务器作为管理服务器,并且将其他安装了连接管理模块的服务器作为连接服务器,由于每个连接管理模块可以连接5000多个用户,所以在IM系统中实现了更多用户数量的支持。然而,此解决方案所支持的总连接数量仍然存在上限,约为30万左右。也就是说,此解决方案为整个頂系统所带来的扩容能力有限,当希望頂系统向30万以上的用户提供頂服务时,仅仅通过增加安装了连接管理模块的服务器将无法实现这一目标。
[0006]此外,现有技术中的第二解决方案在于,通过增加更多的Openfire服务器并以Openfire集群的方式来在一个頂系统中支持海量的用户。例如,甲骨文(Oracle)公司提出的相干集群关键中间件(Oracle Coherence Clustering Plugin)就是这样的集群解决方案。然而,由于Coherence为商业软件,内部实现不可见,所以如果发生程序错误(bug),IM服务提供商无法自己修复,而必须等待相应厂商发布补丁包来进行升级和解决,这无疑是效率低下的。而且,Coherence分为标准版、企业版、网格版。其中标准版免费,却只能单机使用,无法实现上述集群功能;而企业版和网格版实现了集群功能,但是为收费软件,价格按照中央处理单元(CPU)的数量收费,而且单价高昂,所以在IM系统中集群节点数量很大的情况下,这将是一笔巨额花费。
[0007]因此,需要一种新型的信息处理方法和服务器来解决上述问题。
【发明内容】
[0008]为了解决上述技术问题,根据本发明的一个方面,提供了一种信息处理方法,所述方法应用于信息处理系统中的发送端服务器,所述信息处理系统至少包括所述发送端服务器和接收端服务器,所述发送端服务器连接到发送端客户端,所述接收端服务器连接到接收端客户端,所述方法包括:当所述发送端客户端向所述接收端客户端发送信息时,从所述发送端客户端接收所述信息;生成信息发送任务,所述信息发送任务用于向所述接收端客户端发送所述信息;基于所述接收端服务器的任务调用地址来在所述发送端服务器与所述接收端服务器之间建立任务调用连接;以及通过所述任务调用连接来向所述接收端服务器发送所述信息发送任务,以使得所述接收端服务器执行所述信息发送任务,从而向所述接收端客户端发送所述信息。
[0009]此外,根据本发明的另一方面,提供了一种信息处理方法,所述方法应用于信息处理系统中的接收端服务器,所述信息处理系统至少包括发送端服务器和所述接收端服务器,所述发送端服务器连接到发送端客户端,所述接收端服务器连接到接收端客户端,所述方法包括:基于所述发送端服务器的任务调用地址来在所述发送端服务器与所述接收端服务器之间建立任务调用连接;通过所述任务调用连接来从所述发送端服务器接收信息发送任务,所述信息发送任务用于向所述接收端客户端发送所述信息;以及执行所述信息发送任务,从而向所述接收端客户端发送所述信息。
[0010]根据本发明的又一方面,提供了一种发送端服务器,所述发送端服务器属于信息处理系统,所述信息处理系统至少包括所述发送端服务器和接收端服务器,所述发送端服务器连接到发送端客户端,所述接收端服务器连接到接收端客户端,所述发送端服务器包括:信息接收单元,用于当所述发送端客户端向所述接收端客户端发送信息时,从所述发送端客户端接收所述信息;任务生成单元,用于生成信息发送任务,所述信息发送任务用于向所述接收端客户端发送所述信息;连接建立单元,用于基于所述接收端服务器的任务调用地址来在所述发送端服务器与所述接收端服务器之间建立任务调用连接;以及任务发送单元,用于通过所述任务调用连接来向所述接收端服务器发送所述信息发送任务,以使得所述接收端服务器执行所述信息发送任务,从而向所述接收端客户端发送所述信息。
[0011]根据本发明的又一方面,提供了一种接收端服务器,所述接收端服务器属于信息处理系统,所述信息处理系统至少包括发送端服务器和所述接收端服务器,所述发送端服务器连接到发送端客户端,所述接收端服务器连接到接收端客户端,所述接收端服务器包括:连接建立单元,用于基于所述发送端服务器的任务调用地址来在所述发送端服务器与所述接收端服务器之间建立任务调用连接;任务接收单元,用于通过所述任务调用连接来从所述发送端服务器接收信息发送任务,所述信息发送任务用于向所述接收端客户端发送所述信息;以及任务执行单元,用于执行所述信息发送任务,从而向所述接收端客户端发送所述信息。
[0012]根据本发明的又一方面,提供了一种信息处理系统,所述信息处理系统包括:上述的发送端服务器;上述的接收端服务器;状态服务器,所述状态服务器用于存储所述发送端服务器和所述接收端服务器的标识符、任务调用地址、和所连接的客户端。
[0013]与现有技术相比,采用根据本发明的信息处理方法、发送端服务器和接收端服务器,在发送端客户端向接收端客户端发送信息时,发送端服务器从发送端客户端接收所述信息并生成信息发送任务,基于接收端服务器的任务调用地址来在所述发送端服务器与所述接收端服务器之间建立任务调用连接,通过所述任务调用连接来向所述接收端服务器发送所述信息发送任务,并且由接收端服务器执行所述信息发送任务,从而向所述接收端客户端发送所述信息。因此,在本发明中,信息处理系统可以通过任务调用的方式来实现服务器的集群方案,以支持更多数目的客户端,而没有最高上限,并且成本低廉且维护效率高。
[0014]本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
【专利附图】
【附图说明】
[0015]附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
[0016]图1图示了在现有技术中存在的技术问题。
[0017]图2图示了根据现有技术的解决方案。
[0018]图3图示了根据本发明的信息处理方法。
[0019]图4图示了根据本发明的发送端服务器。
[0020]图5图示了根据本发明的信息处理方法。
[0021]图6图示了根据本发明的接收端服务器。
[0022]图7图示了根据本发明实施例的信息处理方法。
[0023]图8图示了根据本发明实施例的信息处理系统的架构。
[0024]图9图示了根据本发明实施例的信息处理系统的功能框图。
【具体实施方式】
[0025]将参照附图详细描述根据本发明的各个实施例。这里,需要注意的是,在附图中,将相同的附图标记赋予基本上具有相同或类似结构和功能的组成部分,并且将省略关于它们的重复描述。
[0026]首先,将参考图1和2来描述现有技术的问题及其解决方案。
[0027]图1图示了在现有技术中存在的技术问题,而图2图示了根据现有技术的解决方案。
[0028]如图1所图示的,在现有技术中基于XMPP协议的頂系统通常包括一个Openfire服务器和多个XMPP客户端。在该頂系统中,某一个使用XMPP客户端的用户可以通过Openfire服务器而与另一个使用XMPP客户端的用户进行即时通信。然而,由于基于XMPP和Java语言实现的Openfire服务器受限于TCP长连接和Java语言,所以单台的Openfire服务器所支持的客户端连接数受到限制(大约为6000到10000)。
[0029]为了使得IM系统能够支持更多数目的客户端,现有技术的第一解决方案提出在Openfire服务器与XMPP客户端之间添加连接服务器,该连接服务器是安装有连接管理模块的服务器。
[0030]如图2所图示的,在第一解决方案中,基于XMPP协议的頂系统包括一个Openfire服务器、多个连接服务器和多个XMPP客户端。其中,单台Openfire服务器可以与多个连接服务器通信,并且负责处理属于相同或不同连接服务器的客户端之间的IM通信。由于每台连接服务器中的连接管理模块可以支持的客户端连接数大约为5000,所以当在该頂系统中的用户连接数用尽时,可以通过添加一个连接服务器并将它连接到该Openfire服务器,来支持更多的XMPP客户端。
[0031]尽管该第一解决方案在一定程度上扩大了 IM系统的客户端容量,但是它所支持的总连接数量仍然存在最高上限(大约为30万),也就是说,当在IM系统中的客户端总数超过30万时,即使继续增加连接服务器以连接更多的客户端,单台Openfire服务器也无法再对这些新增客户端的頂通信逻辑进行管理。
[0032]另外,如【背景技术】中所描述的,尽管现有技术中的第二解决方案提出通过Openfire服务器集群的方式来在一个IM系统中支持海量的用户,但是它亦存在成本高昂、维护效率低等问题。
[0033]对此,本发明人提出了一种新型的信息处理方法和服务器。
[0034]在下文中,将参考图3到图6来描述根据本发明的信息处理方法和服务器。
[0035]图3图示了根据本发明的信息处理方法,而图4图示了根据本发明的发送端服务器。
[0036]图3所图示的信息处理方法应用于信息处理系统中的发送端服务器,所述信息处理系统至少包括所述发送端服务器和接收端服务器,所述发送端服务器连接到发送端客户端,所述接收端服务器连接到接收端客户端。具体地,如图4所图示的,所述发送端服务器100包括:信息接收单元110、任务生成单元120、连接建立单元130、和任务发送单元140。
[0037]如图3所图示的,所述信息处理方法包括:
[0038]在步骤SllO中,当所述发送端客户端向所述接收端客户端发送信息时,信息接收单元110从所述发送端客户端接收所述信息;
[0039]在步骤S120中,任务生成单元120生成信息发送任务,所述信息发送任务用于向所述接收端客户端发送所述信息;
[0040]在步骤S130中,连接建立单元130基于所述接收端服务器的任务调用地址来在所述发送端服务器与所述接收端服务器之间建立任务调用连接;以及
[0041]在步骤S140中,任务发送单元140通过所述任务调用连接来向所述接收端服务器发送所述信息发送任务,以使得所述接收端服务器执行所述信息发送任务,从而向所述接收端客户端发送所述信息。
[0042]图5图示了根据本发明的信息处理方法,而图6图示了根据本发明的接收端服务器。
[0043]图5所图示的信息处理方法应用于信息处理系统中的接收端服务器,所述信息处理系统至少包括发送端服务器和所述接收端服务器,所述发送端服务器连接到发送端客户端,所述接收端服务器连接到接收端客户端。具体地,如图6所图示的,所述接收端服务器200包括:连接建立单元210、任务接收单元220、和任务执行单元230。
[0044]如图5所图示的,所述信息处理方法包括:
[0045]在步骤S210中,连接建立单元210基于所述发送端服务器的任务调用地址来在所述发送端服务器与所述接收端服务器之间建立任务调用连接;
[0046]在步骤S220中,任务接收单元220通过所述任务调用连接来从所述发送端服务器接收信息发送任务,所述信息发送任务用于向所述接收端客户端发送所述信息;以及
[0047]在步骤S230中,任务执行单元230执行所述信息发送任务,从而向所述接收端客户端发送所述信息。
[0048]由此可见,采用根据本发明的信息处理方法、发送端服务器和接收端服务器,在发送端客户端向接收端客户端发送信息时,发送端服务器从发送端客户端接收所述信息并生成信息发送任务,基于接收端服务器的任务调用地址来在所述发送端服务器与所述接收端服务器之间建立任务调用连接,通过所述任务调用连接来向所述接收端服务器发送所述信息发送任务,并且由接收端服务器执行所述信息发送任务,从而向所述接收端客户端发送所述信息。因此,在本发明中,信息处理系统可以通过任务调用的方式来实现服务器的集群方案,以支持更多数目的客户端,而没有最高上限,并且成本低廉且维护效率高。
[0049]在下文中,将参考图7和图8来描述根据本发明实施例的信息处理方法和信息处理系统。
[0050]图7图示了根据本发明实施例的信息处理方法,图8图示了根据本发明实施例的信息处理系统1000的架构,而图9图示了根据本发明实施例的信息处理系统1000的功能框图。
[0051]图7所图示的根据本发明实施例的信息处理方法可以通过图8所图示的信息处理系统1000来实现。如图8所图示的,信息处理系统1000可以至少包括多个服务节点100、200和至少一个状态服务器300。例如,该信息处理系统1000可以是基于XMPP协议并具有集群功能的信息处理系统,而服务节点100、200可以是Openfire服务器。
[0052]在多个服务节点100、200之间,可以按照约定的通信实现方法来传输即时通信数据。以向属于这些服务节点的客户端提供IM服务。
[0053]例如,在本发明的实施例中,该约定的通信实现方法可以使用Java远程方法调用(RMI)。该RMI是用于支持开发分布式应用程序的Java应用程序接口(API)。Java作为一种风靡一时的网络开发语言,其巨大的威力就体现在它强大的开发分布式网络应用的能力上,而RMI就是开发百分之百纯Java的网络分布式应用系统的核心解决方案之一。实际上,它可以被看作是远程过程调用(RPC)的Java版本。但是传统RPC并不能很好地应用于分布式对象系统;而Java RMI则支持在存储于不同地址空间的程序级对象之间彼此进行通信,以实现远程对象之间的无缝远程调用。
[0054]具体而言,RMI集合了 Java序列化和Java远程方法协议,并且通常包括两个独立的程序:服务器程序和客户端程序。典型的服务器应用程序将创建多个远程对象,使这些远程对象能够被引用,然后等待客户端调用这些远程对象的方法。而典型的客户端程序则从服务器中得到一个或多个远程对象的引用,然后调用远程对象的方法。因此,RMI为服务器和客户端进行通信和信息传递提供了一种机制,并充分简化了程序开发的复杂度。
[0055]另外,每个服务节点100、200可以作为集群节点而加入该信息处理系统1000,以与其他服务节点和状态服务器300建立通信连接。一旦检测到存在新加入的服务节点,状态服务器300将向其分配一个唯一的标识符(例如,服务节点编号等),以在该信息处理系统1000中唯一地标识这个服务节点。然后,状态服务器300在自己所保存的数据库中创建一个新的信息条目,并在该信息条目中记录该服务节点的标识符以及其他相关信息。
[0056]例如,为了节约成本和提高查询效率,在本发明的实施例中,可以使用开源的键值(K-V)数据库(例如Redis数据库或Memcached数据库)来构建该状态服务器300。
[0057]此后,每个服务节点在运行过程中,例如通过心跳功能,周期性地、随机地或实时地向状态服务器300提交自己的运行信息,以使得状态服务器300能够得知该服务节点的活动状态。如果在一段时间中没有接收到某一个服务节点的运行信息(或心跳信息),则状态服务器300认为该服务节点出现问题(例如,宕机),已经离开的整个集群系统。
[0058]因此,除了每个服务节点的标识符之外,该状态服务器300还可以保存有该服务节点的活动状态、以及RMI任务调用地址(RMI URL)、该服务节点为其提供IM服务的客户端等,作为与服务节点相关的其他信息。
[0059]下面,为了方便,仅仅在单向IM通信的过程中说明根据本发明实施例的信息处理方法和/[目息处理系统。
[0060]假设在该单向頂通信过程中,服务节点100是发送端服务器,服务节点200是接收端服务器,并且发送端服务器100、接收端服务器200、和状态服务器300通过网络(例如,有线网络和/或无线网络)而连接在一起。
[0061 ] 另外,该发送端服务器100连接到发送端客户端10,而该接收端服务器200连接到接收端客户端20。通过发送端服务器100和接收端服务器200之间的交互通信,使用发送端客户端10的第一用户可以按照约定的通信实现方法来与使用接收端客户端20的第二用户进行即时通信,以传送文本信息和/或多媒体信息等。
[0062]具体地,如图9所图示的,与图4中一样的,该发送端服务器100包括:信息接收单元110、任务生成单元120、连接建立单元130、和任务发送单元140。此外,优选地,为了实现一种或多种附加功能,该发送端服务器100还包括:标识符查询单元150、状态判断单元160、地址确定单元170、和/或心跳传送单元180。
[0063]与图6中一样的,该接收端服务器200包括:连接建立单元210、任务接收单元220、和任务执行单元230。此外,优选地,为了实现附加功能,该接收端服务器200还包括:心跳传送单元240。
[0064]另外,该状态服务器300可以包括:信息存储单元310,以用于存储与信息处理系统1000中的服务器相关联的各种信息。
[0065]如图7所图示的,根据本发明实施例的信息处理方法包括:
[0066]在步骤S310中,从发送端客户端接收信息。
[0067]当第一用户希望向第二用户进行即时通信,以传送文本信息和/或多媒体信息等时,第一用户可以通过目前正在使用的发送端客户端10输入IM信息,并且将该IM信息发送到正在为自己提供頂服务的信息处理系统1000,以便将该IM信息最终传送到正在使用接收端客户端20的第二用户。
[0068]如图9所图示的,在信息处理系统1000中,正在向第一用户的发送端客户端10提供頂服务的服务节点是发送端服务器100。
[0069]相应地,在该发送端服务器100中,信息接收单元110从发送端客户端10接收该頂信息。
[0070]为了使得信息处理系统1000能够以Openfire服务器集群的方式来支持可以任意扩容的客户端数量,在本发明的实施例中,发送端服务器100不是简单地将IM信息直接发送到接收端服务器200,而是将创建一个用于发送该信息的远程对象(RMI任务),并使该远程对象能够被接收端服务器200引用,以便该接收端服务器200调用远程对象的方法。
[0071]故此,该信息接收单元110将该頂信息发送到任务生成单元120,以进行后续处理。
[0072]在步骤S320中,生成信息发送任务。
[0073]在从信息接收单元110接收到该頂信息之后,任务生成单元120生成信息发送任务,所述信息发送任务用于使得执行实体向所述接收端客户端20发送所述信息。
[0074]例如,该信息发送任务的名称可以为“task(M informat1n) ”,其具体格式为“send IM informat1n to client20,,。
[0075]在步骤S330中,确定接收端服务器的任务调用地址。
[0076]接下来,地址确定单元170确定接收端服务器200的任务调用地址。
[0077]在一个示例中,发送端服务器100可以在自己的数据库中保存在整个信息处理系统1000中所有服务节点的任务调用地址,以保证最快的查询速度。
[0078]在另一示例中,服务节点的任务调用地址可以以分布式存储的方式而分散在信息处理系统1000中的各个服务节点中。这样,可以减少每个服务节点用于存储相关信息所占用的存储空间,并且仍然能够保证较快的查询速度。
[0079]在又一示例中,为了统一地维护关于服务节点的各种信息并释放每个服务节点的存储空间,可以由状态服务器300存储所有服务节点的任务调用地址,以便地址确定单元170通过发送端服务器100与状态服务器300之间的通信来查询接收端服务器200的任务调用地址。
[0080]为此,该状态服务器300可以在数据库中存储有每个服务节点的标识符、任务调用地址(RMI URL)、以及该服务节点所服务的客户端的集合。
[0081]在发送端服务器100中,标识符查询单元150可以向状态服务器300查询所述接收端客户端20所连接到的接收端服务器200的标识符。
[0082]例如,该标识符查询单元150可以首先确定接收端客户端20的标识信息。这个标识信息可以是正在使用接收端客户端20本身的标识符、和/或该第二用户的用户ID、用户编号、用户账户名称等。这样,标识符查询单元150可以利用接收端客户端20的标识信息向状态服务器300进行查询,以确定所述接收端客户端20所连接到的服务节点是接收端服务器200,确定该接收端服务器200的标识符,并且将该标识符返回到地址确定单元170。
[0083]然后,地址确定单元170根据所述接收端服务器200的标识符来查询状态服务器300,以确定所述接收端服务器200的任务调用地址。
[0084]另外,如上所述,因为服务节点可能由于网络故障、服务器宕机等原因而从信息处理系统1000中脱离,所以优选地,在地址确定单元170确定所述接收端服务器200的任务调用地址之前,状态判断单元160可以根据所述接收端服务器200的标识符来判断所述接收端服务器的活动状态,并且只有当判断出所述接收端服务器200处于活动状态时,才通知所述地址确定单元170根据所述接收端服务器200的标识符来确定所述接收端服务器200的任务调用地址。
[0085]为此,每个服务节点100、200在运行过程中,例如通过心跳功能,周期性地、随机地或实时地向状态服务器300提交自己的运行信息,以使得状态服务器300能够得知该服务节点的活动状态。具体地,在发送端服务器100中,心跳传送单元180可以不断地向所述状态服务器300传送心跳信息,所述心跳信息用于向所述状态服务器表明所述发送端服务器100处于活动状态。如果在一段时间中没有接收到某一个服务节点的心跳信息,则状态服务器300在数据库中将该服务节点标识为非活动状态。
[0086]这样,该状态服务器300可以在数据库中存储有每个服务节点的标识符、活动状态、RMI URL、以及该服务节点所服务的客户端的集合,如表1所示。
[0087]
【权利要求】
1.一种信息处理方法,所述方法应用于信息处理系统中的发送端服务器, 所述信息处理系统至少包括所述发送端服务器和接收端服务器,所述发送端服务器连接到发送端客户端,所述接收端服务器连接到接收端客户端, 其特征在于,所述方法包括: 当所述发送端客户端向所述接收端客户端发送信息时,从所述发送端客户端接收所述信息; 生成信息发送任务,所述信息发送任务用于向所述接收端客户端发送所述信息;基于所述接收端服务器的任务调用地址来在所述发送端服务器与所述接收端服务器之间建立任务调用连接;以及 通过所述任务调用连接来向所述接收端服务器发送所述信息发送任务,以使得所述接收端服务器执行所述信息发送任务,从而向所述接收端客户端发送所述信息。
2.根据权利要求1的方法,其特征在于,所述信息处理系统还包括状态服务器,所述状态服务器用于存储所述发送端服务器和所述接收端服务器的标识符、任务调用地址、和所连接的客户端,并且 所述方法还包括: 向所述状态服务器查询所述接收端客户端所连接到的所述接收端服务器的标识符;以及 根据所述接收端服务器的标识符来确定所述接收端服务器的任务调用地址。
3.根据权利要求2的方法,其特征在于,所述状态服务器还用于存储所述发送端服务器和所述接收端服务器的活动状态,并且 所述方法还包括: 根据所述接收端服务器的标识符来判断所述接收端服务器的活动状态; 如果判断出所述接收端服务器处于非活动状态,则丢弃所述信息发送任务;以及如果判断出所述接收端服务器处于活动状态,则根据所述接收端服务器的标识符来确定所述接收端服务器的任务调用地址。
4.根据权利要求3的方法,其特征在于,所述方法还包括: 向所述状态服务器传送心跳信息,所述心跳信息用于向所述状态服务器表明所述发送端服务器处于活动状态。
5.根据权利要求4的方法,其特征在于,所述心跳信息包括:所述发送端服务器的标识符、任务调用地址、和所连接的客户端。
6.根据权利要求2的方法,其特征在于,所述状态服务器采用键值(K-V)数据库来实现。
7.根据权利要求1的方法,其特征在于,所述任务调用地址是Java远程方法调用(RMI)统一资源定位符(URL)。
8.一种信息处理方法,所述方法应用于信息处理系统中的接收端服务器, 所述信息处理系统至少包括发送端服务器和所述接收端服务器,所述发送端服务器连接到发送端客户端,所述接收端服务器连接到接收端客户端, 其特征在于,所述方法包括: 基于所述发送端服务器的任务调用地址来在所述发送端服务器与所述接收端服务器之间建立任务调用连接; 通过所述任务调用连接来从所述发送端服务器接收信息发送任务,所述信息发送任务用于向所述接收端客户端发送所述信息;以及 执行所述信息发送任务,从而向所述接收端客户端发送所述信息。
9.根据权利要求8的方法,其特征在于,所述信息处理系统还包括状态服务器,所述状态服务器用于存储所述发送端服务器和所述接收端服务器的活动状态,并且 所述方法还包括: 向所述状态服务器传送心跳信息,所述心跳信息用于向所述状态服务器表明所述接收端服务器处于活动状态。
10.根据权利要求9的方法,其特征在于,所述状态服务器还用于存储所述发送端服务器和所述接收端服务器的标识符、任务调用地址、和所连接的客户端,并且 所述心跳信息包括:所述接收端服务器的标识符、任务调用地址、和所连接的客户端。
11.根据权利要求9的方法,其特征在于,所述状态服务器采用键值(K-V)数据库来实现。
12.根据权利要求8的方法,其特征在于,所述任务调用地址是Java远程方法调用(RMI)统一资源定位符(UR L)。
13.—种发送端服务器,所述发送端服务器属于信息处理系统,所述信息处理系统至少包括所述发送端服务器和接收端服务器,所述发送端服务器连接到发送端客户端,所述接收端服务器连接到接收端客户端, 其特征在于,所述发送端服务器包括: 信息接收单元,用于当所述发送端客户端向所述接收端客户端发送信息时,从所述发送端客户端接收所述信息; 任务生成单元,用于生成信息发送任务,所述信息发送任务用于向所述接收端客户端发送所述信息; 连接建立单元,用于基于所述接收端服务器的任务调用地址来在所述发送端服务器与所述接收端服务器之间建立任务调用连接;以及 任务发送单元,用于通过所述任务调用连接来向所述接收端服务器发送所述信息发送任务,以使得所述接收端服务器执行所述信息发送任务,从而向所述接收端客户端发送所述信息。
14.根据权利要求13的发送端服务器,其特征在于,所述信息处理系统还包括状态服务器,所述状态服务器用于存储所述发送端服务器和所述接收端服务器的标识符、任务调用地址、和所连接的客户端,并且 所述发送端服务器还包括: 标识符查询单元,用于向所述状态服务器查询所述接收端客户端所连接到的所述接收端服务器的标识符;以及 地址确定单元,用于根据所述接收端服务器的标识符来确定所述接收端服务器的任务调用地址。
15.根据权利要求14的发送端服务器,其特征在于,所述状态服务器还用于存储所述发送端服务器和所述接收端服务器的活动状态,并且所述发送端服务器还包括: 状态判断单元,用于根据所述接收端服务器的标识符来判断所述接收端服务器的活动状态,如果判断出所述接收端服务器处于非活动状态,则丢弃所述信息发送任务;以及如果判断出所述接收端服务器处于活动状态,则通知所述地址确定单元根据所述接收端服务器的标识符来确定所述接收端服务器的任务调用地址。
16.根据权利要求15的发送端服务器,其特征在于,所述发送端服务器还包括: 心跳传送单元,用于向所述状态服务器传送心跳信息,所述心跳信息用于向所述状态服务器表明所述发送端服务器处于活动状态。
17.根据权利要求16的发送端服务器,其特征在于,所述心跳信息包括:所述发送端服务器的标识符、任务调用地址、和所连接的客户端。
18.根据权利要求14的发送端服务器,其特征在于,所述状态服务器采用键值(K-V)数据库来实现。
19.根据权利要求13的发送端服务器,其特征在于,所述任务调用地址是Java远程方法调用(RMI)统一资源定位符(URL)。
20.一种接收端服务器,所述接收端服务器属于信息处理系统,所述信息处理系统至少包括发送端服务器和所述接收端服务器,所述发送端服务器连接到发送端客户端,所述接收端服务器连接到接收端客户端, 其特征在于,所述接收端服务器包括: 连接建立单元,用于基于所述发送端服务器的任务调用地址来在所述发送端服务器与所述接收端服务器之间建立任务调用连接; 任务接收单元,用于通过所述任务调用连接来从所述发送端服务器接收信息发送任务,所述信息发送任务用于向所述接收端客户端发送所述信息;以及 任务执行单元,用于执行所述信息发送任务,从而向所述接收端客户端发送所述信息。
21.根据权利要求20的接收端服务器,其特征在于,所述信息处理系统还包括状态服务器,所述状态服务器用于存储所述发送端服务器和所述接收端服务器的活动状态,并且 所述接收端服务器还包括: 心跳传送单元,用于向所述状态服务器传送心跳信息,所述心跳信息用于向所述状态服务器表明所述接收端服务器处于活动状态。
22.根据权利要求21的接收端服务器,其特征在于,所述状态服务器还用于存储所述发送端服务器和所述接收端服务器的标识符、任务调用地址、和所连接的客户端,并且 所述心跳信息包括:所述接收端服务器的标识符、任务调用地址、和所连接的客户端。
23.根据权利要求21的接收端服务器,其特征在于,所述状态服务器采用键值(K-V)数据库来实现。
24.根据权利要求20的接收端服务器,其特征在于,所述任务调用地址是Java远程方法调用(RMI)统一资源定位符(URL)。
25.一种信息处理系统,其特征在于,所述信息处理系统包括: 根据权利要求13到19中任一项的发送端服务器; 根据权利要求20到24中任一项的接收端服务器;以及 状态服务器,所述状态服务器用于存储所述发送端服务器和所述接收端服务器的标识符、任务调用地址、和所连接的客户端。
26.根据权利要求25的信息处理系统,其特征在于,所述状态服务器还用于存储所述发送端服务器和所述接收端服务器的活动状态。
27.根据权利要求25的方法,其特征在于,所述状态服务器采用键值(K-V)数据库来实现。
【文档编号】H04L29/06GK104052723SQ201310084536
【公开日】2014年9月17日 申请日期:2013年3月15日 优先权日:2013年3月15日
【发明者】刘刚 申请人:联想(北京)有限公司