著录项信息
专利名称 | 用于信息传输的方法和装置 |
申请号 | CN201510218949.3 | 申请日期 | 2015-04-30 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2015-10-07 | 公开/公告号 | CN104967655A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04L29/08 | IPC分类号 | H;0;4;L;2;9;/;0;8查看分类表>
|
申请人 | 百度在线网络技术(北京)有限公司 | 申请人地址 | 北京市海淀区上地十街10号百度大厦
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 百度在线网络技术(北京)有限公司 | 当前权利人 | 百度在线网络技术(北京)有限公司 |
发明人 | 邓宇龙 |
代理机构 | 北京品源专利代理有限公司 | 代理人 | 孟金喆 |
摘要
本发明提供了一种用于信息传输的方法和装置。其中,该方法包括以下步骤:基于至第一设备的第一连接,确定至所述第一设备的一个或多个第二连接,其中,所述一个或多个第二连接建立在所述第一连接之上;基于待发送信息,确定所述一个或多个第二连接中的待用第二连接;通过所述待用第二连接,将所述待发送信息发送至所述第一设备。与现有技术相比,本发明在同一个第一连接之上能够通过动态确定第二连接来进行信息发送,从而减小了信息阻塞的可能性,提高了通信效率。
1.一种用于信息传输的方法,其中,该方法包括:
-基于至第一设备的第一连接,确定至所述第一设备的一个或多个第二连接,其中,所述一个或多个第二连接建立在所述第一连接之上并由所述第一连接支持;
-基于待发送信息,确定所述一个或多个第二连接中的待用第二连接,其中包括基于待发送信息以及所述一个或多个第二连接中的各个第二连接的状态,确定所述一个或多个第二连接中的待用第二连接;
-通过所述待用第二连接,将所述待发送信息发送至所述第一设备。
2.根据权利要求1所述的方法,其中,所述通过所述待用第二连接,将所述待发送信息发送至所述第一设备的步骤包括:
-将所述待发送信息划分为一个或多个待发送信息项;
-通过所述待用第二连接,将所述一个或多个待发送信息项中的各个待发送信息项分别发送至所述第一设备。
3.根据权利要求2所述的方法,其中,所述通过所述待用第二连接,将所述一个或多个待发送信息项中的各个待发送信息项分别发送至所述第一设备的步骤包括:
-通过多个所述待用第二连接,将所述一个或多个待发送信息项中的各个待发送信息项分别发送至所述第一设备。
4.根据权利要求1所述的方法,其中,所述方法还包括:
-通过所述一个或多个第二连接中的各个第二连接,分别接收所述第一设备所发送的信息。
5.根据权利要求1至4中任一项所述的方法,其中,所述方法还包括:
-通过所述第一连接,接收所述第一设备所发送的信息以确定所述第一连接的有效性;
和/或
-通过所述一个或多个第二连接中的各个第二连接,接收所述第一设备所发送的信息以确定所述一个或多个第二连接中的各个第二连接和/或所述第一连接的有效性。
6.根据权利要求1至4中任一项所述的方法,其中,所述方法还包括:
-通过所述第一连接,向所述第一设备发送信息,所述信息用于确定所述第一连接的有效性;和/或
-通过所述一个或多个第二连接中的各个第二连接,分别向所述第一设备发送信息,所述信息用于确定各个第二连接和/或所述第一连接的有效性。
7.根据权利要求1至4中任一项所述的方法,其中,所述第一连接为TCP连接。
8.一种用于信息传输的装置,其中,该装置包括:
-用于基于至第一设备的第一连接,确定至所述第一设备的一个或多个第二连接的装置,其中,所述一个或多个第二连接建立在所述第一连接之上并由所述第一连接支持;
-用于基于待发送信息,确定所述一个或多个第二连接中的待用第二连接的装置,其中包括用于基于待发送信息以及所述一个或多个第二连接中的各个第二连接的状态,确定所述一个或多个第二连接中的待用第二连接的装置;
-用于通过所述待用第二连接,将所述待发送信息发送至所述第一设备的装置。
9.根据权利要求8所述的装置,其中,所述用于通过所述待用第二连接,将所述待发送信息发送至所述第一设备的装置包括:
-用于将所述待发送信息划分为一个或多个待发送信息项的装置;
-用于通过所述待用第二连接,将所述一个或多个待发送信息项中的各个待发送信息项分别发送至所述第一设备的装置。
10.根据权利要求9所述的装置,其中,所述用于通过所述待用第二连接,将所述一个或多个待发送信息项中的各个待发送信息项分别发送至所述第一设备的装置包括:
-用于通过多个所述待用第二连接,将所述一个或多个待发送信息项中的各个待发送信息项分别发送至所述第一设备的装置。
11.根据权利要求8所述的装置,其中,所述装置还包括:
-用于通过所述一个或多个第二连接中的各个第二连接,分别接收所述第一设备所发送的信息的装置。
12.根据权利要求8至11中任一项所述的装置,其中,所述装置还包括:
-用于通过所述第一连接,接收所述第一设备所发送的信息以确定所述第一连接的有效性的装置;和/或
-用于通过所述一个或多个第二连接中的各个第二连接,接收所述第一设备所发送的信息以确定所述一个或多个第二连接中的各个第二连接和/或所述第一连接的有效性的装置。
13.根据权利要求8至11中任一项所述的装置,其中,所述装置还包括:
-用于通过所述第一连接,向所述第一设备发送信息,所述信息用于确定所述第一连接的有效性的装置;和/或
-用于通过所述一个或多个第二连接中的各个第二连接,分别向所述第一设备发送信息的装置,所述信息用于确定各个第二连接和/或所述第一连接的有效性。
14.根据权利要求8至11中任一项所述的装置,其中,所述第一连接为TCP连接。
用于信息传输的方法和装置\n技术领域\n[0001] 本发明涉及互联网领域,尤其涉及一种用于信息传输的方法和装置。\n背景技术\n[0002] 现有技术中,当通信双方,例如浏览器与服务器之间以面向连接的方式收发消息时首先需要建立连接(例如HTTP连接),然后通过该连接(例如HTTP连接)进行消息传递。然而,当通信双方,例如浏览器与服务器之间需要传递的消息较多时,由于其通过同一个HTTP连接来进行通信,消息容易被阻塞。例如,当服务器需要向浏览器推送消息时,该推送的消息可能由于被其他消息所阻塞而无法及时到达浏览器从而使得内容信息更新不及时,用户体验较差。虽然浏览器与服务器之间可以同时建立多个HTTP连接,但基于现有技术,则需要同时建立多个TCP连接,这对于系统资源及网络资源将造成负担。因此,如何不对系统资源或网络资源造成大的影响,减少通信阻塞并提高通信效率是一个需要解决的问题。\n发明内容\n[0003] 本发明的目的是提供一种信息传输的方法和装置。\n[0004] 根据本发明的一个方面,提供一种用于信息传输的方法,其中,该方法包括以下步骤:\n[0005] -基于至第一设备的第一连接,确定至所述第一设备的一个或多个第二连接,其中,所述一个或多个第二连接建立在所述第一连接之上;\n[0006] -基于待发送信息,确定所述一个或多个第二连接中的待用第二连接;\n[0007] -通过所述待用第二连接,将所述待发送信息发送至所述第一设备。\n[0008] 根据本发明的另一个方面,提供一种用于信息传输的装置,其中,该装置包括:\n[0009] -用于基于至第一设备的第一连接,确定至所述第一设备的一个或多个第二连接的装置,其中,所述一个或多个第二连接建立在所述第一连接之上;\n[0010] -用于基于待发送信息,确定所述一个或多个第二连接中的待用第二连接的装置;\n[0011] -用于通过所述待用第二连接,将所述待发送信息发送至所述第一设备的装置。\n[0012] 本发明基于待发送信息,来确定基于第一连接之上的第二连接用于发送该信息,并通过该第二连接来将该待发送信息发送至接收方设备。与现有技术相比,本发明在同一个第一连接之上能够通过动态确定第二连接来进行信息发送,从而减小了信息阻塞的可能性,提高了通信效率。\n附图说明\n[0013] 通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:\n[0014] 图1示出根据本发明一个方面的实施例的用于信息传输的方法的流程图;\n[0015] 图2示出根据本发明另一个方面的实施例的用于信息传输的装置的示意图。\n[0016] 附图中相同或相似的附图标记代表相同或相似的部件。\n具体实施方式\n[0017] 在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。\n[0018] 在上下文中所称“计算机设备”,也称为“电脑”,是指可以通过运行预定程序或指令来执行数值计算和/或逻辑计算等预定处理过程的智能电子设备,其可以包括处理器与存储器,由处理器执行在存储器中预存的存续指令来执行预定处理过程,或是由ASIC、FPGA、DSP等硬件执行预定处理过程,或是由上述二者组合来实现。计算机设备包括但不限于服务器、个人电脑、笔记本电脑、平板电脑、智能手机等。\n[0019] 所述计算机设备包括用户设备与网络设备。其中,所述用户设备包括但不限于电脑、智能手机、PDA等;所述网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(Cloud Computing)的由大量计算机或网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。其中,所述计算机设备可单独运行来实现本发明,也可接入网络并通过与网络中的其他计算机设备的交互操作来实现本发明。其中,所述计算机设备所处的网络包括但不限于互联网、广域网、城域网、局域网、VPN网络等。\n[0020] 需要说明的是,所述用户设备、网络设备和网络等仅为举例,其他现有的或今后可能出现的计算机设备或网络如可适用于本发明,也应包含在本发明保护范围以内,并以引用方式包含于此。\n[0021] 后面所讨论的方法(其中一些通过流程图示出)可以通过硬件、软件、固件、中间件、微代码、硬件描述语言或者其任意组合来实施。当用软件、固件、中间件或微代码来实施时,用以实施必要任务的程序代码或代码段可以被存储在机器或计算机可读介质(比如存储介质)中。(一个或多个)处理器可以实施必要的任务。\n[0022] 这里所公开的具体结构和功能细节仅仅是代表性的,并且是用于描述本发明的示例性实施例的目的。但是本发明可以通过许多替换形式来具体实现,并且不应当被解释成仅仅受限于这里所阐述的实施例。\n[0023] 应当理解的是,虽然在这里可能使用了术语“第一”、“第二”等等来描述各个单元,但是这些单元不应当受这些术语限制。使用这些术语仅仅是为了将一个单元与另一个单元进行区分。举例来说,在不背离示例性实施例的范围的情况下,第一单元可以被称为第二单元,并且类似地第二单元可以被称为第一单元。这里所使用的术语“和/或”包括其中一个或更多所列出的相关联项目的任意和所有组合。\n[0024] 应当理解的是,当一个单元被称为“连接”或“耦合”到另一单元时,其可以直接连接或耦合到所述另一单元,或者可以存在中间单元。与此相对,当一个单元被称为“直接连接”或“直接耦合”到另一单元时,则不存在中间单元。应当按照类似的方式来解释被用于描述单元之间的关系的其他词语(例如“处于...之间”相比于“直接处于...之间”,“与...邻近”相比于“与...直接邻近”等等)。\n[0025] 这里所使用的术语仅仅是为了描述具体实施例而不意图限制示例性实施例。除非上下文明确地另有所指,否则这里所使用的单数形式“一个”、“一项”还意图包括复数。还应当理解的是,这里所使用的术语“包括”和/或“包含”规定所陈述的特征、整数、步骤、操作、单元和/或组件的存在,而不排除存在或添加一个或更多其他特征、整数、步骤、操作、单元、组件和/或其组合。\n[0026] 还应当提到的是,在一些替换实现方式中,所提到的功能/动作可以按照不同于附图中标示的顺序发生。举例来说,取决于所涉及的功能/动作,相继示出的两幅图实际上可以基本上同时执行或者有时可以按照相反的顺序来执行。\n[0027] 下面结合附图对本发明作进一步详细描述。\n[0028] 图1为根据本发明一个方面的实施例的用于用于信息传输的方法的流程图。\n[0029] 其中,本实施例的方法既可以通过用户设备来实现,也可以通过网络设备来实现。\n所述用户设备包括但不限于PC机、平板电脑、智能手机、PDA等。所述网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(Cloud Computing)的由大量计算机或网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。\n[0030] 需要说明的是,所述网络设备和用户设备仅为举例,其他现有的或今后可能出现的网络设备和用户设备如可适用于本发明,也应包含在本发明保护范围以内,并以引用方式包含于此。\n[0031] 首先,在步骤S11中,基于至第一设备的第一连接,确定至所述第一设备的一个或多个第二连接,其中,所述一个或多个第二连接建立在所述第一连接之上。\n[0032] 此处,第一设备意指可以接收信息的设备。例如,当从浏览器端向服务器端发送信息时,第一设备为服务器端设备;当从服务器端向浏览器端发送信息时,第一设备为浏览器端设备。本领域技术人员应理解,此处,对于第一设备的相关描述仅为示例性而非限定性描述,存在其他各种第一设备而不背离本发明的精神或范畴,并以引用的方式包含于此。应注意的是,第一设备除可以接收信息之外,也可以发送信息。\n[0033] 此处,第一连接为至第一设备的连接。在一个实施例中,第一连接可以保持有效。\n其有效性可以持续一定的时间,或可以根据通信双方所约定的协议来维持其有效性。例如,通信双方可以通过单方或双方发送心跳消息来维持该第一连接的有效性。\n[0034] 在一个实施例中,第一连接为TCP连接。\n[0035] 第二连接为建立在第一连接之上的连接。例如,当第一连接为TCP连接时,第二连接为建立在该TCP连接之上的连接,例如HTTP连接,或其他任何TCP协议能够支持的连接。\n[0036] 本领域技术人员应理解,此处,对于第一连接以及第二连接的相关描述仅为示例性而非限定性描述,存在其他各种第一连接以及第二连接而不背离本发明的精神或范畴,并以引用的方式包含于此。应注意的是,第一设备除可以接收信息之外,也可以发送信息。\n[0037] 具体地,对于各个至第一设备的第一连接,可以在该第一连接之上建立一个或多个至第一设备的第二连接,并维护该一个或多个第二连接的列表。例如,以第一连接为TCP连接,第二连接为HTTP连接为例。可以在该TCP连接之上建立至该第一设备的一个或多个HTTP连接并维护该一个或多个HTTP连接的列表。则当需要发送消息时,可以基于第一连接以及该列表确定至该第一设备的该一个或多个第二连接。\n[0038] 接着,在步骤S12中,基于待发送消息,确定所述一个或多个第二连接中的待用第二连接。\n[0039] 此处,待用第二连接指将用于发送该待发送信息的第二连接。具体地,可以根据例如待发送信息的类型、待发送信息的优先级、多个待发送信息之间的连续性等来从所述一个或多个第二连接中确定待用第二连接。例如,可以预先定义各个第二连接所发送信息的类型。例如,可以预先定义第二连接1用于从服务器端向客户端所推送,也即主动发送的信息。则对于服务器端主动向客户端所发送的待发送信息,可确定该第二连接1为待用第二连接。又例如,可以预先定义各个第二连接的优先级。对于待发送信息,当其优先级较高时,则可确定具有较高优先级的第二连接为待用第二连接。例如,当多个待发送信息之间需要保持先后顺序时,可以确定在同一个第二连接上顺序发送该多个待发送信息。本领域技术人员应理解,此处,对于基于待发送信息,确定所述一个或多个第二连接中的待用第二连接的相关描述仅为示例性而非限定性描述,存在其他各种实现方式而不背离本发明的精神或范畴,并以引用的方式包含于此。\n[0040] 在一个优选实施例中,可以基于待发送信息以及所述一个或多个第二连接中的各个第二连接的状态,确定所述一个或多个第二连接中的待用第二连接。\n[0041] 此处,第二连接的状态指该第二连接的各种状态信息,例如负载量信息、是否被阻塞等。例如,可以利用上文所述的方法,基于待发送信息来获取一个或多个可发送该待发送信息的第二连接。然后可基于该等第二连接的状态来从该等第二连接中确定待用第二连接。例如可基于该等第二连接的负载量信息,来选择当前负载较低的第二连接作为待用第二连接。或又如,可基于该等第二连接当前是否由于等待消息响应而处于阻塞状态,来选择未被阻塞的第二连接作为待用第二连接。\n[0042] 接着,在步骤S13中,可通过所述待用第二连接,将所述待发送信息发送至所述第一设备。具体地,可通过至该第一设备的该待用第二连接,将该待发送信息通过网络发送至该第一设备。例如,当待用第二连接为HTTP连接时,可通过HTTP协议来通过该待用第二连接将信息发送至第一设备。\n[0043] 在一个优选实施例中,可以将待发送信息划分为一个或多个待发送信息项,然后再通过待用第二连接,将该一个或多个待发送信息项中的各个待发送信息项分别发送至第一设备。\n[0044] 具体地,可以将待发送信息划分成一定大小的一个或多个待发送信息项。应注意的是,待发送信息项彼此之间的大小可以相同,也可以不同。并且,可以根据实际需要对待发送信息项的大小进行调整。接着,可以通过待用第二连接,分别将各个待发送信息项发送至第一设备。此处,在每一次发送中,可以仅发送一个待发送信息项。或者,在每一次发送中,也可以发送数个待发送信息项。其中,可以按照具体需求来设置在一次发送中可发送的待发送信息项的数量。在一个实施例中,可以在对待发送信息进行划分时,将各个待发送信息项排序。然后可以按序将各个待发送信息项分别发送至第一设备。在另一个实施例中,可以将待发送信息项的排序信息记录在待发送信息项中。然后可以按照任意顺序发送各个待发送信息项至第一设备。当第一设备接收到各个待发送信息项后,可按照其中所记录的排序信息将其重新排序。\n[0045] 在一个实施例中,对于属于同一个待发送信息的各个待发送信息项,可以通过同一个待用第二连接进行发送。\n[0046] 在另一个实施例中,对于上述各个待发送信息项,可以通过多个待用第二连接,来将其分别发送至第一设备。例如,可以基于各个待发送信息项来分别确定各自的待用第二连接,然后在其各自的待用第二连接上分别发送该待发送信息项。又例如,可以基于各个待发送信息项来确定包括一个或多个待用第二连接的待用第二连接池,然后对于各个待发送信息项,可从该待用第二连接池中选择一个待用第二连接来进行发送。\n[0047] 本领域技术人员应理解,此处,对于发送待发送信息项的相关描述仅为示例性而非限定性描述,存在其他各种实现方式而不背离本发明的精神或范畴,并以引用的方式包含于此。\n[0048] 在一个实施例中,还可以通过至第一设备的一个或多个第二连接中的各个第二连接,分别接收所述第一设备所发送的信息。具体地,第一设备可以通过上述各个第二连接来发送信息。则相应地,可以通过各个第二连接来接收该第一设备所发送的信息。例如,当待用第二连接为HTTP连接时,可通过HTTP协议来通过该待用第二连接将信息接收该第一设备所发送的信息。在一个实施例中,第一设备还可以按照上文所述的方式,将信息划分为一个或多个信息项,并按照上文所述的方式,通过上述各个第二连接来发送各个信息项。从而,相应地,可以通过上述各个第二连接,分别接收所述第一设备所发送的各个信息项。\n[0049] 在一个实施例中,可以通过至第一设备的第一连接,接收所述第一设备所发送的信息以确定所述第一连接的有效性。\n[0050] 此处,第一连接的有效性指第一连接是否仍处于连接状态并可通过该第一连接来接收和/或发送信息。\n[0051] 例如,当所述第一连接为TCP连接时,可以通过该TCP连接来接收该第一设备通过该TCP连接所发送的信息,以确定该TCP连接的有效性。该信息可以为普通的信息,或者该信息也可以为用于确定第一连接有效性的特定信息,例如心跳信息。在一个实施例中,第一设备可以通过该第一连接,来定时发送心跳信息。相应地,则可以通过该第一连接来接收该定时发送的心跳信息。当接收到该信息后,可以确定该第一连接有效。反之,当超过阈值时间未接收到该信息或任何其他信息时,则可以认为该第一连接无效。\n[0052] 在另一个实施例中,还可以通过至第一设备的一个或多个第二连接中的各个第二连接,接收所述第一设备所发送的信息,以确定该一个或多个第二连接中的各个第二连接和/或至该第一设备的第一连接的有效性。\n[0053] 此处,第二连接的有效性指第二连接是否仍处于连接状态并可通过该第二连接来接收和/或发送信息。\n[0054] 例如,假定至第一设备的第一连接为TCP连接,而至第一设备的一个或多个第二连接为HTTP连接,其中各个HTTP连接建立在该TCP连接之上。则可以通过该一个或多个HTTP连接来分别接收该第一设备通过该各个HTTP连接所发送的信息,以分别确定该各个HTTP连接的有效性。该信息可以为普通的信息,或者该信息也可以为用于确定第二连接有效性的特定信息,例如心跳信息。在一个实施例中,第一设备可以通过各个第二连接,来定时发送心跳信息。相应地,则可以分别通过各个第二连接来接收第一设备所定时发送的心跳信息。当接收到该信息后,可以确定通过其接收到该信息的该第二连接有效。反之,当超过阈值时间未通过某个第二连接接收到该信息或任何其他信息时,则可以认为该第二连接无效。由于第二连接建立于第一连接之上,因此,当确定了该一个或多个第二连接中的任意一个有效,则可以确定该第一连接有效。\n[0055] 在一个实施例中,还可以通过至第一设备的第一连接,向该第一设备发送信息,所述信息用于确定该第一连接的有效性。具体地,可以通过上文所述的方法,来通过该第一连接向该第一设备发送信息,该信息用于确定该第一连接的有效性。例如,当该第一连接为TCP连接时,该信息可以为用于确定该第一连接的有效性的心跳消息。在一个实施例中,还可以定时地通过该第一连接向该第一设备发送信息,所述信息用于确定该第一连接的有效性。当第一设备通过该第一连接接收到该信息后,则可以确定该第一连接仍处于有效状态。\n反之,当第一设备超过阈值时间未接收到该信息或任何其他信息时,则可以认为该第一连接无效。\n[0056] 在另一个实施例中,还可以通过至第一设备的一个或多个第二连接中的各个第二连接,分别向该第一设备发送信息,该信息用于确定各个第二连接和/或至该第一设备的第一连接的有效性。具体地,可以通过上文所述的方法,来通过该各个第二连接分别向该第一设备发送信息,该信息用于确定该各个第二连接的有效性和/或至该第一设备的第一连接的有效性。例如,假定至第一设备的第一连接为TCP连接,而至第一设备的一个或多个第二连接为HTTP连接,其中各个HTTP连接建立在该TCP连接之上。则可以通过该一个或多个HTTP连接来分别向该第一设备发送信息,以用于确定该各个HTTP连接的有效性。该信息可以为普通的信息,或者该信息也可以为用于确定第二连接有效性的特定信息,例如心跳信息。在一个实施例中,可以通过各个第二连接,来定时发送心跳信息。相应地,第一设备则可以分别通过各个第二连接来接收被定时发送的心跳信息。当接收到该信息后,第一设备可以确定通过其接收到该信息的该第二连接有效。反之,当超过阈值时间未通过某个第二连接接收到该信息或任何其他信息时,则可以认为该第二连接无效。由于第二连接建立于第一连接之上,因此,当第一设备确定了该一个或多个第二连接中的任意一个有效,则第一设备可以确定该第一连接有效。\n[0057] 图2为根据本发明另一个方面的实施例的用于信息传输的装置的示意图。其中,该用于信息传输的装置包括用于基于至第一设备的第一连接,确定至所述第一设备的一个或多个第二连接的装置21,其中,所述一个或多个第二连接建立在所述第一连接之上,以下简称第一确定装置21;用于基于待发送信息,确定所述一个或多个第二连接中的待用第二连接的装置,以下简称第二确定装置22;用于通过所述待用第二连接,将所述待发送信息发送至所述第一设备的装置23,以下简称第一发送装置23。\n[0058] 其中,本实施例的方法既可以通过用户设备来实现,也可以通过网络设备来实现。\n所述用户设备包括但不限于PC机、平板电脑、智能手机、PDA等。所述网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(Cloud Computing)的由大量计算机或网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。\n[0059] 需要说明的是,所述网络设备和用户设备仅为举例,其他现有的或今后可能出现的网络设备和用户设备如可适用于本发明,也应包含在本发明保护范围以内,并以引用方式包含于此。\n[0060] 首先,第一确定装置21基于至第一设备的第一连接,确定至所述第一设备的一个或多个第二连接,其中,所述一个或多个第二连接建立在所述第一连接之上。\n[0061] 此处,第一设备意指可以接收信息的设备。例如,当从浏览器端向服务器端发送信息时,第一设备为服务器端设备;当从服务器端向浏览器端发送信息时,第一设备为浏览器端设备。本领域技术人员应理解,此处,对于第一设备的相关描述仅为示例性而非限定性描述,存在其他各种第一设备而不背离本发明的精神或范畴,并以引用的方式包含于此。应注意的是,第一设备除可以接收信息之外,也可以发送信息。\n[0062] 此处,第一连接为至第一设备的连接。在一个实施例中,第一连接可以保持有效。\n其有效性可以持续一定的时间,或可以根据通信双方所约定的协议来维持其有效性。例如,通信双方可以通过单方或双方发送心跳消息来维持该第一连接的有效性。\n[0063] 在一个实施例中,第一连接为TCP连接。\n[0064] 第二连接为建立在第一连接之上的连接。例如,当第一连接为TCP连接时,第二连接为建立在该TCP连接之上的连接,例如HTTP连接,或其他任何TCP协议能够支持的连接。\n[0065] 本领域技术人员应理解,此处,对于第一连接以及第二连接的相关描述仅为示例性而非限定性描述,存在其他各种第一连接以及第二连接而不背离本发明的精神或范畴,并以引用的方式包含于此。应注意的是,第一设备除可以接收信息之外,也可以发送信息。\n[0066] 具体地,对于各个至第一设备的第一连接,第一确定装置21可以在该第一连接之上建立一个或多个至第一设备的第二连接,并维护该一个或多个第二连接的列表。例如,以第一连接为TCP连接,第二连接为HTTP连接为例。第一确定装置21可以在该TCP连接之上建立至该第一设备的一个或多个HTTP连接并维护该一个或多个HTTP连接的列表。则当需要发送消息时,第一确定装置21可以基于第一连接以及该列表确定至该第一设备的该一个或多个第二连接。\n[0067] 接着,第二确定装置22基于待发送消息,确定所述一个或多个第二连接中的待用第二连接。\n[0068] 此处,待用第二连接指将用于发送该待发送信息的第二连接。具体地,第二确定装置22可以根据例如待发送信息的类型、待发送信息的优先级、多个待发送信息之间的连续性等来从所述一个或多个第二连接中确定待用第二连接。例如,第二确定装置22可以预先定义各个第二连接所发送信息的类型。例如,可以预先定义第二连接1用于从服务器端向客户端所推送,也即主动发送的信息。则对于服务器端主动向客户端所发送的待发送信息,第二确定装置22可确定该第二连接1为待用第二连接。又例如,可以预先定义各个第二连接的优先级。对于待发送信息,当其优先级较高时,则第二确定装置22可确定具有较高优先级的第二连接为待用第二连接。例如,当多个待发送信息之间需要保持先后顺序时,第二确定装置22可以确定在同一个第二连接上顺序发送该多个待发送信息。本领域技术人员应理解,此处,对于第二确定装置22的相关描述仅为示例性而非限定性描述,存在其他各种实现方式而不背离本发明的精神或范畴,并以引用的方式包含于此。\n[0069] 在一个优选实施例中,第二确定装置22中包括用于基于待发送信息以及所述一个或多个第二连接中的各个第二连接的状态,确定所述一个或多个第二连接中的待用第二连接的装置,以下简称第三确定装置221(未示出)。\n[0070] 第三确定装置221可以基于待发送信息以及所述一个或多个第二连接中的各个第二连接的状态,确定所述一个或多个第二连接中的待用第二连接。\n[0071] 此处,第二连接的状态指该第二连接的各种状态信息,例如负载量信息、是否被阻塞等。例如,第三确定装置221可以利用上文所述的方法,基于待发送信息来获取一个或多个可发送该待发送信息的第二连接。然后第三确定装置221可基于该等第二连接的状态来从该等第二连接中确定待用第二连接。例如第三确定装置221可基于该等第二连接的负载量信息,来选择当前负载较低的第二连接作为待用第二连接。或又如,第三确定装置221可基于该等第二连接当前是否由于等待消息响应而处于阻塞状态,来选择未被阻塞的第二连接作为待用第二连接。\n[0072] 接着,第一发送装置23可通过所述待用第二连接,将所述待发送信息发送至所述第一设备。具体地,第一发送装置23可通过至该第一设备的该待用第二连接,将该待发送信息通过网络发送至该第一设备。例如,当待用第二连接为HTTP连接时,第一发送装置23可通过HTTP协议来通过该待用第二连接将信息发送至第一设备。\n[0073] 在一个优选实施例中,第一发送装置23中包括用于将所述待发送信息划分为一个或多个待发送信息项的装置,以下简称划分装置231(未示出);以及用于通过所述待用第二连接,将所述一个或多个待发送信息项中的各个待发送信息项分别发送至所述第一设备的装置,以下简称第二发送装置232(未示出)。\n[0074] 划分装置231可以将待发送信息划分为一个或多个待发送信息项,然后第二发送装置232再通过待用第二连接,将该一个或多个待发送信息项中的各个待发送信息项分别发送至第一设备。\n[0075] 具体地,划分装置231可以将待发送信息划分成一定大小的一个或多个待发送信息项。应注意的是,待发送信息项彼此之间的大小可以相同,也可以不同。并且,划分装置\n231可以根据实际需要对待发送信息项的大小进行调整。接着,第二发送装置232可以通过待用第二连接,分别将各个待发送信息项发送至第一设备。此处,在每一次发送中,第二发送装置232可以仅发送一个待发送信息项。或者,在每一次发送中,第二发送装置232也可以发送数个待发送信息项。其中,第二发送装置232可以按照具体需求来设置在一次发送中可发送的待发送信息项的数量。在一个实施例中,划分装置231可以在对待发送信息进行划分时,将各个待发送信息项排序。然后第二发送装置232可以按序将各个待发送信息项分别发送至第一设备。在另一个实施例中,划分装置231可以将待发送信息项的排序信息记录在待发送信息项中。然后第二发送装置232可以按照任意顺序发送各个待发送信息项至第一设备。当第一设备接收到各个待发送信息项后,可按照其中所记录的排序信息将其重新排序。\n[0076] 在一个实施例中,对于属于同一个待发送信息的各个待发送信息项,第二发送装置232可以通过同一个待用第二连接进行发送。\n[0077] 在另一个实施例中,第二发送装置232中包括用于通过多个所述待用第二连接,将所述一个或多个待发送信息项中的各个待发送信息项分别发送至所述第一设备的装置,以下简称第三发送装置2321(未示出)。\n[0078] 对于上述各个待发送信息项,第三发送装置2321可以通过多个待用第二连接,来将其分别发送至第一设备。例如,第二确定装置22可以基于各个待发送信息项来分别确定各自的待用第二连接,然后第三发送装置2321在其各自的待用第二连接上分别发送该待发送信息项。又例如,第二确定装置22可以基于各个待发送信息项来确定包括一个或多个待用第二连接的待用第二连接池,然后对于各个待发送信息项,第三发送装置2321可从该待用第二连接池中选择一个待用第二连接来进行发送。\n[0079] 本领域技术人员应理解,此处,对于发送待发送信息项的相关描述仅为示例性而非限定性描述,存在其他各种实现方式而不背离本发明的精神或范畴,并以引用的方式包含于此。\n[0080] 在一个实施例中,所述用于信息传输的装置还包括用于通过所述一个或多个第二连接中的各个第二连接,分别接收所述第一设备所发送的信息的装置,以下简称第一接收装置24(未示出)。\n[0081] 第一接收装置24可以通过至第一设备的一个或多个第二连接中的各个第二连接,分别接收所述第一设备所发送的信息。具体地,第一设备可以通过上述各个第二连接来发送信息。则相应地,第一接收装置24可以通过上述各个第二连接来接收第一设备所发送的信息。例如,当待用第二连接为HTTP连接时,第一接收装置24可通过HTTP协议来通过该待用第二连接将信息接收该第一设备所发送的信息。在一个实施例中,第一设备还可以按照上文所述的方式,将信息划分为一个或多个信息项,并按照上文所述的方式,通过上述各个第二连接来发送各个信息项。从而,相应地,第一接收装置24可以通过上述各个第二连接,分别接收所述第一设备所发送的各个信息项。\n[0082] 在一个实施例中,该用于信息传输的装置还包括用于通过所述第一连接,接收所述第一设备所发送的信息以确定所述第一连接的有效性的装置,以下简称第二接收装置25(未示出)。\n[0083] 第二接收装置25可以通过至第一设备的第一连接,接收所述第一设备所发送的信息以确定所述第一连接的有效性。\n[0084] 此处,第一连接的有效性指第一连接是否仍处于连接状态并可通过该第一连接来接收和/或发送信息。\n[0085] 例如,当所述第一连接为TCP连接时,第二接收装置25可以通过该TCP连接来接收该第一设备通过该TCP连接所发送的信息,以确定该TCP连接的有效性。该信息可以为普通的信息,或者该信息也可以为用于确定第一连接有效性的特定信息,例如心跳信息。在一个实施例中,第一设备可以通过该第一连接,来定时发送心跳信息。相应地,则第二接收装置\n25可以通过该第一连接来接收该定时发送的心跳信息。当第二接收装置25接收到该信息后,可以确定该第一连接有效。反之,当超过阈值时间第二接收装置25未接收到该信息或任何其他信息时,则第二接收装置25可以认为该第一连接无效。\n[0086] 在另一个实施例中,该用于信息传输的装置还包括用于通过所述一个或多个第二连接中的各个第二连接,接收所述第一设备所发送的信息以确定所述一个或多个第二连接中的各个第二连接和/或所述第一连接的有效性的装置,以下简称第三接收装置26(未示出)。\n[0087] 第三接收装置26可以通过至第一设备的一个或多个第二连接中的各个第二连接,接收所述第一设备所发送的信息,以确定该一个或多个第二连接中的各个第二连接和/或至该第一设备的第一连接的有效性。\n[0088] 此处,第二连接的有效性指第二连接是否仍处于连接状态并可通过该第二连接来接收和/或发送信息。\n[0089] 例如,假定至第一设备的第一连接为TCP连接,而至第一设备的一个或多个第二连接为HTTP连接,其中各个HTTP连接建立在该TCP连接之上。则第三接收装置26可以通过该一个或多个HTTP连接来分别接收该第一设备通过该各个HTTP连接所发送的信息,以分别确定该各个HTTP连接的有效性。该信息可以为普通的信息,或者该信息也可以为用于确定第二连接有效性的特定信息,例如心跳信息。在一个实施例中,第一设备可以通过各个第二连接,来定时发送心跳信息。相应地,则第三接收装置26可以分别通过各个第二连接来接收第一设备所定时发送的心跳信息。当第三接收装置26接收到该信息后,第三接收装置26可以确定通过其接收到该信息的该第二连接有效。反之,当超过阈值时间第三接收装置26未通过某个第二连接接收到该信息或任何其他信息时,则第三接收装置26可以认为该第二连接无效。由于第二连接建立于第一连接之上,因此,当第三接收装置26确定了该一个或多个第二连接中的任意一个有效,则第三接收装置26可以确定该第一连接有效。\n[0090] 在一个实施例中,该用于信息传输的装置还包括用于通过所述第一连接,向所述第一设备发送信息,所述信息用于确定所述第一连接的有效性的装置,以下简称第四发送装置27(未示出)。\n[0091] 第四发送装置27可以通过至第一设备的第一连接,向该第一设备发送信息,所述信息用于确定该第一连接的有效性。具体地,第四发送装置27可以通过上文所述的方法,来通过该第一连接向该第一设备发送信息,该信息用于确定该第一连接的有效性。例如,当该第一连接为TCP连接时,该信息可以为用于确定该第一连接的有效性的心跳消息。在一个实施例中,第四发送装置27还可以定时地通过该第一连接向该第一设备发送信息,所述信息用于确定该第一连接的有效性。当第一设备通过该第一连接接收到该信息后,则可以确定该第一连接仍处于有效状态。反之,当第一设备超过阈值时间未接收到该信息或任何其他信息时,则可以认为该第一连接无效。\n[0092] 在另一个实施例中,该用于信息传输的装置还包括用于通过所述一个或多个第二连接中的各个第二连接,分别向所述第一设备发送信息的装置,所述信息用于确定各个第二连接和/或所述第一连接的有效性,以下简称第五发送装置28(未示出)。\n[0093] 第五发送装置28可以通过至第一设备的一个或多个第二连接中的各个第二连接,分别向该第一设备发送信息,该信息用于确定各个第二连接和/或至该第一设备的第一连接的有效性。具体地,第五发送装置28可以通过上文所述的方法,来通过该各个第二连接分别向该第一设备发送信息,该信息用于确定该各个第二连接的有效性和/或至该第一设备的第一连接的有效性。例如,假定至第一设备的第一连接为TCP连接,而至第一设备的一个或多个第二连接为HTTP连接,其中各个HTTP连接建立在该TCP连接之上。则第五发送装置28可以通过该一个或多个HTTP连接来分别向该第一设备发送信息,以用于确定该各个HTTP连接的有效性。该信息可以为普通的信息,或者该信息也可以为用于确定第二连接有效性的特定信息,例如心跳信息。在一个实施例中,第五发送装置28可以通过各个第二连接,来定时发送心跳信息。相应地,第一设备则可以分别通过各个第二连接来接收所发送的该信息。\n当接收到该信息后,第一设备可以确定通过其接收到该信息的该第二连接有效。反之,当超过阈值时间未通过某个第二连接接收到该信息或任何其他信息时,则可以认为该第二连接无效。由于第二连接建立于第一连接之上,因此,当第一设备确定了该一个或多个第二连接中的任意一个有效,则第一设备可以确定该第一连接有效。\n[0094] 需要注意的是,本发明可在软件和/或软件与硬件的组合体中被实施,例如,本发明的各个装置可采用专用集成电路(ASIC)或任何其他类似硬件设备来实现。在一个实施例中,本发明的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本发明的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本发明的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。\n[0095] 对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
法律信息
- 2019-05-07
- 2015-11-11
实质审查的生效
IPC(主分类): H04L 29/08
专利申请号: 201510218949.3
申请日: 2015.04.30
- 2015-10-07
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2011-11-16
|
2011-06-09
| | |
2
| |
2009-08-19
|
2009-03-31
| | |
3
| |
2007-11-28
|
2007-02-12
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |