CN104767679B - 一种在网络系统中传输数据的方法及装置 - Google Patents
一种在网络系统中传输数据的方法及装置 Download PDFInfo
- Publication number
- CN104767679B CN104767679B CN201410008150.7A CN201410008150A CN104767679B CN 104767679 B CN104767679 B CN 104767679B CN 201410008150 A CN201410008150 A CN 201410008150A CN 104767679 B CN104767679 B CN 104767679B
- Authority
- CN
- China
- Prior art keywords
- node
- data packet
- network connection
- session
- network
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/38—Flow based routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/142—Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms
Abstract
本发明涉及一种在网络系统中传输数据的方法及装置。在一个实施例中,上述方法包括:在第一加速节点通过第一网络连接接收所述客户端发送的第一数据包;获取一个用于唯一标识用户的第一会话标识符;判断所述第一数据包在所述第一加速节点中的传输类型;根据所述第一会话标识符从所述第一加速节点与所述第一数据包的目标节点之间的连接池内获取第二网络连接;通过所述第二网络连接将所述第一数据包发送至所述第一数据包的目标节点;以及分别存储所述第一会话标识符与所述第一数据包的传输类型、所述第一网络连接的标识符、以及所述第二网络连接的标识符之间的对应关系。根据上述的方法及装置,可提升数据传输效率以及增加单机的接入连接能力。
Description
技术领域
本发明涉及数据传输技术,尤其涉及一种在网络系统中传输数据的方法及装置。
背景技术
用户使用移动端客户端进行通讯等行为时,客户端需要将用户的数据包通过移动网络发往接收数据包的服务器,用户数据包到达服务器中进行处理后才能完成通讯过程。移动客户端在与服务器进行通信的过程中面临非常复杂的网络环境。通常面临的一个问题是移动客户端与服务器相隔较远,数据包在长距离网络传输时容易碰到网络拥塞以及丢包的影响,在数据包跨省传输及跨运营商传输时尤其可能碰到。这导致移动端在与服务器通信的过程中数据包传输不够稳定,成功率不高。
所以就需要提供一种新的数据传输方式,能够加速数据传输过程。
发明内容
有鉴于此,有必要提供一种在网络系统中传输数据的方法及装置,其可加速发送端与接收端之间的数据传输过程。
一种在网络系统中传输数据的方法,所述网络系统包括客户端、多个加速节点以及应用服务器,所述网络系统用于在所述客户端与所述应用服务器之间传输数据,所述方法包括:
在第一加速节点通过第一网络连接接收所述客户端发送的第一数据包,所述第一加速节点为所述多个加速节点中与所述客户端直接连接的加速节点;
根据所述第一数据包获取一个用于唯一标识用户的第一会话标识符;
根据所述第一加速节点在所述网络系统中的位置判断所述第一数据包在所述第一加速节点中的传输类型;
根据所述第一会话标识符从所述第一加速节点与所述第一数据包的目标节点之间的连接池内获取第二网络连接,所述第一数据包的目标节点为所述应用服务器或者所述多个加速节点中不同于所述第一加速节点的其他加速节点;
通过所述第二网络连接将所述第一数据包发送至所述第一数据包的目标节点;以及
分别存储所述第一会话标识符与所述第一数据包的传输类型、所述第一网络连接的标识符、以及所述第二网络连接的标识符之间的对应关系。
一种在网络系统中传输数据的装置,所述网络系统包括客户端、多个加速节点以及应用服务器,所述网络系统用于在所述客户端与所述应用服务器之间传输数据,所述装置包括:
接收模块,用于在第一加速节点通过第一网络连接接收所述客户端发送的第一数据包,所述第一加速节点为所述多个加速节点中与所述客户端直接连接的加速节点;
会话标识符获取模块,用于根据所述第一数据包获取一个用于唯一标识用户的第一会话标识符;
传输类型判定模块,用于根据所述第一加速节点在所述网络系统中的位置判断所述第一数据包在所述第一加速节点中的传输类型;以及
第一转发模块,用于:
根据所述第一会话标识符从所述第一加速节点与所述第一数据包的目标节点之间的连接池内获取第二网络连接,所述第一数据包的目标节点为所述应用服务器或者所述多个加速节点中不同于所述第一加速节点的其他加速节点;
通过所述第二网络连接将所述第一数据包发送至所述第一数据包的目标节点;以及
分别存储所述第一会话标识符与所述第一数据包的传输类型、所述第一网络连接的标识符、以及所述第二网络连接的标识符之间的对应关系。
根据上述的方法及装置,数据包可以被快速的转发至应用服务器或者客户端,提升了数据传输效率以及增加单机的接入连接能力。
为让本发明的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。
附图说明
图1为第一实施例提供的数据传输系统的架构示意图。
图2为图1的数据传输系统的加速节点的结构框图。
图3为图1的数据传输系统的应用服务器的结构框图。
图4为图1的数据传输系统的客户端的结构框图。
图5为第二实施例提供的在网络系统中传输数据的方法流程图。
图6为第三实施例提供的在网络系统中传输数据的方法流程图。
图7为第四实施例提供的在网络系统中传输数据的方法流程图。
图8为第五实施例提供的在网络系统中传输数据的方法流程图。
图9为第六实施例提供的在网络系统中传输数据的方法流程图。
图10为第七实施例提供的在网络系统中传输数据的方法流程图。
图11为第八实施例提供的在网络系统中传输数据的的方法流程图。
图12为第九实施例提供的在网络系统中传输数据的的方法流程图。
图13为第十实施例提供的在网络系统中传输数据的装置结构框图。
具体实施方式
为更进一步阐述本发明为实现预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明的具体实施方式、结构、特征及其功效,详细说明如后。
图1为第一实施例提供的数据传输系统的架构示意图。如图1所示,数据传输系统100包括:客户端、加速节点以及应用服务器30。上述的客户端例如可包括客户端11、客户端12、客户端13以及客户端14。加速节点例如可包括加速节点201、加速节点202、加速节点203、加速节点204、加速节点205、加速节点206、加速节点207、以及加速节点208。
加速节点的角色以及数据包的传输类型
加速节点的作用在于将来自客户端或者其他加速节点的数据包转发给应用服务器30或者其他加速节点。对于每一个数据包,其在加速节点中的传输类型,若者说加速节点在当前数据包的传输任务中所担任的角色可能是不同的。加速节点的角色或者数据包在加速节点中传输类型是当前数据包的传输路径决定的。
对于当前处理的数据包,其在当前加速节点的传输类型是决定于数据包的来源节点来型以及要被传输到的节点的类型所决定的。具体地,可参阅下表1:
表1数据包的传输类型的区分
对于一个数据包,若其来源节点为客户端,要被传输到的节点的类型为加速节点,则当前加速节点中所述数据包的传输类型为接入。
对于一个数据包,若其来源节点为加速节点,要被传输到的节点的类型为加速节点,则当前加速节点中所述数据包的传输类型为传输。
对于一个数据包,若其来源节点为客户端,要被传输到的节点的类型为应用服务器,则当前加速节点中所述数据包的传输类型为接入+会话。
对于一个数据包,若其来源节点为加速节点,要被传输到的节点的类型为应用服务器,则当前加速节中所述数据包点的传输类型为会话。
以上是以上行数据包为例进行说明,对于下行数据包,可采用与下行数据包相同的传输路径,在同一节点中,数据包的传输类型可相同。
例如,加速节点201直接与客户端11相连,来自客户端11的数据包只能转发至加速节点202或者加速节点205。对于来自客户端11的数据包,其在加速节点201的传输类型为接入。与此相似,来自客户端12的数据包,其在加速节点204的传输类型为接入。
以加速节点205为例,对于来自加速节点204或者加速节点201的数据包,其传输类型为传输。而对于来自客户端13的数据包,其传输类型为接入。对于加速节点206而言,其与应用服务器30直接相连,其传输类型为会话。然而,其同时又与客户端14相连,对于客户端14的数据包,其在加速节点206的传输类型为接入+会话。
连接池
各加速节点之间或者加速节点与应用服务器30之间会维持一定数量的长连接。可以理解,此处的长连接例如是指TCP(Transmission Control Protocol,传输控制协议)长连接。每两个节点之间的所有长连接共同构成一个连接池。连接池的数量可根据具体的需求进行设定。例如,两个回加速节点之间或者加速节点与应用服务器之间可以维持包括3万条长连接的连接池。
对于同一个加速节点,其连接可以分为前向连接与后向连接。其中,前向连接是指与在传输路径中更加靠近应用服务器30的节点之间的连接;而后向连接是指与在传输路径中更加靠近客户端的节点之间的连接。
例如,加速节点201与加速节点202之间的连接,对于加速节点201而言是前向连接,而对于加速节点202而言是后向连接。
可以理解,各加速节点实际上可以部署为一台或多台服务器。参阅图2,其为加速节点的一个实施例的结构框图。如图2所示,加速节点100包括:存储器102、处理器104以及网络模块106。可以理解,图2所示的结构仅为示意,其并不对加速节点100的结构造成限定。例如,加速节点100还可包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。
存储器102可用于存储软件程序以及模块,处理器104通过运行存储在存储器102内的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器102可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器102可进一步包括相对于处理器104远程设置的存储器,这些远程存储器可以通过网络连接至加速节点100。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输模块106用于接收以及发送网络信号。上述网络信号可包括无线信号或者有线信号。在一个实例中,上述网络信号为有线网络信号。此时,传输模块106可包括处理器、随机存储器、转换器、晶体振荡器等元件。
上述的软件程序以及模块包括:操作系统122以及传输模块124。其中操作系统122例如可为LINUX,UNIX,WINDOWS,其可包括各种用于管理系统任务(例如内存管理、存储设备控制、电源管理等)的软件组件和/或驱动,并可与各种硬件或软件组件相互通讯,从而提供其他软件组件的运行环境。传输模块124运行在操作系统122的基础上,并通过操作系统122的网络服务监听来自网络的请求,接收客户端、应用服务器、或者其他加速节点发送的数据包,并进行数据包的转发操作。
参阅图3,其为应用服务器30的一个实施例的结构框图。如图3所示,应用服务器30实质与加速节点相似,其不同之处在于,不包括传输模块124,而包括应用服务模块126。应用服务模块126运行在操作系统122的基础上,并通过操作系统122的网络服务监听来自加速节点的数据包,根据数据包的内容进行相应的数据处理,并将处理结果返回给对应的加速节点。应用服务模块126可以基于上述的数据包实现某种网络服务,例如文字、语音、视频消息的转发服务。
参阅图4,其为上述的客户端的一个实施例的结构框图。如图6所示,客户端20包括存储器202、存储控制器204,一个或多个(图中仅示出一个)处理器206、外设接口208、射频模块210、定位模块212、摄像模块214、音频模块216、触控屏幕218以及按键模块220。这些组件通过一条或多条通讯总线/信号线222相互通讯。
可以理解,图4所示的结构仅为示意,客户端20还可包括比图4中所示更多或者更少的组件,或者具有与图4所示不同的配置。图4中所示的各组件可以采用硬件、软件或其组合实现。
存储器202可用于存储软件程序以及模块,处理器206通过运行存储在存储器202内的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器202可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器202可进一步包括相对于处理器206远程设置的存储器,这些远程存储器可以通过网络连接至移动终端30。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。处理器206以及其他可能的组件对存储器202的访问可在存储控制器204的控制下进行。
本领域普通技术人员可以理解,相对于处理器206来说,所有其他的组件均属于外设,处理器206与这些外设之间通过多个外设接口208相耦合。外设接口208可基于以下标准实现:通用异步接收/发送装置(Universal Asynchronous Receiver/Transmitter,UART)、通用输入/输出(General Purpose Input Output,GPIO)、串行外设接口(SerialPeripheral Interface,SPI)、内部集成电路(Inter-Integrated Circuit,I2C),但不并限于上述标准。在一些实例中,外设接口208可仅包括总线;在另一些实例中,外设接口208还可包括其他元件,如一个或者多个控制器,例如用于连接液晶显示面板的显示控制器或者用于连接存储器的存储控制器。此外,这此控制器还可以从外设接口208中脱离出来,而集成于处理器206内或者相应的外设内。也就是说,在一些实施例中,外设接口208、处理器206以及存储控制器204可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。
射频模块210用于接收以及发送电磁波,实现电磁波与电信号的相互转换,从而与通讯网络或者其他设备进行通讯。射频模块210可包括各种现有的用于执行这些功能的电路元件,例如,天线、射频收发器、数字信号处理器、加密/解密芯片、用户身份模块(SIM)卡、存储器等等。射频模块210可与各种网络如互联网、企业内部网、无线网络进行通讯或者通过无线网络与其他设备进行通讯。上述的无线网络可包括蜂窝式电话网、无线局域网或者城域网。上述的无线网络可以使用各种通信标准、协议及技术,包括但并不限于全球移动通信系统(Global System for Mobile Communication,GSM)、增强型移动通信技术(Enhanced Data GSM Environment,EDGE),宽带码分多址技术(wideband code divisionmultiple access,W-CDMA),码分多址技术(Code division access,CDMA)、时分多址技术(time division multiple access,TDMA),蓝牙,无线保真技术(Wireless,Fidelity,WiFi)(如美国电气和电子工程师协会标准IEEE802.11a,IEEE802.11b,IEEE802.11g和/或IEEE802.11n)、网络电话(Voice over internet protocal,VoIP)、全球微波互联接入(Worldwide Interoperability for Microwave Access,Wi-Max)、其他用于邮件、即时通讯及短数据包的协议,以及任何其他合适的通讯协议,甚至可包括那些当前仍未被开发出来的协议。
定位模块212用于获取移动终端20的当前位置。例如,定位模块212可接收卫星播报的定位信号,并根据定位信号计算出自身的位置。上述位置例如可用经度、纬度以及海拔高度来表示。可用的卫星定位系统包括全球定位系统(Global Positioning System,GPS)、北斗卫星定位系统(Compass Navigation Satellite System,CNSS)或者格洛纳斯系统(Global Navigation Satellite System,GLONASS)。定位模块212也并不限于采用卫星定位技术,例如,还可采用无线定位技术,例如基于无线基站的定位技术或者无线热点的定位技术。此时,定位模块212可被替换成相应的模块,或者直接经由处理器206执行特定的定位程序来实现。
摄像模块214用于拍摄照片或者视频。拍摄的照片或者视频可以存储至存储器202内,并可通过射频模块210发送。摄像模块214具体可包括镜头模组、影像感测器以及闪光灯等组件。镜头模组用于对被拍摄的目标成像,并将所成的像映射至影像感测器中。影像感测器用于接收来自镜头模组的光线,实现感光,以记录图像信息。具体地,影像感测器可基于互补金属氧化物半导体(Complementary Metal Oxide Semiconductor,CMOS)、电荷耦合元件(Charge-coupled Device,CCD)或者其他影像感测原理实现。闪光灯用于在拍摄时进行曝光补偿。一般来说,用于移动终端20的闪光灯可为发光二极体(Light Emitting Diode,LED)闪光灯。
音频模块216向用户提供音频接口,其可包括一个或多个麦克风、一个或者多个扬声器以及音频电路。音频电路从外设接口208处接收声音数据,将声音数据转换为电信息,将电信息传输至扬声器。扬声器将电信息转换为人耳能听到的声波。音频电路还从麦克风处接收电信息,将电信号转换为声音数据,并将声音数据传输至外设接口208中以进行进一步的处理。音频数据可以从存储器202处或者通过射频模块210获取。此外,音频数据也可以存储至存储器202中或者通过射频模块210进行发送。在一些实例中,音频模块216还可包括一个耳机播孔,用于向耳机或者其他设备提供音频接口。
触控屏幕218在移动终端30与用户之间同时提供一个输出及输入界面。具体地,触控屏幕218向用户显示视频输出,这些视频输出的内容可包括文字、图形、视频、及其任意组合。一些输出结果是对应于一些用户界面对象。触控屏幕218还接收用户的输入,例如用户的点击、滑动等手势操作,以便用户界面对象对这些用户的输入做出响应。检测用户输入的技术可以是基于电阻式、电容式或者其他任意可能的触控检测技术。触控屏幕218显示单元的具体实例包括但并不限于液晶显示器或发光聚合物显示器。在另一些实施例中,触控屏幕218还可被替换成其他类型的显示装置,例如包括一个投影显示装置。相比于一般的显示面板,投影显示装置还需要包括一些用于投影的部件例如透镜组。
按键模块220同样提供用户向移动终端20进行输入的接口,用户可以通过按下不同的按键以使移动终端20执行不同的功能。
存储器202内的软件程序以及模块可包括:操作系统224以及应用程序226。操作系统224例如可为任意适宜于移动终端的操作系统如:谷歌公司的安卓(Android)操作系统、苹果公司的IOS操作系统以及微软公司的Windows Mobile操作系统等。应用程序226运行在操作系统224的基础上。在一个实例中,应用程序226可包括一个网络通信应用程序,提供用户发联系人发送文字、语音、视频的功能。可以理解,文字可以是通过触控屏幕218或者按键模块220采集的,语音可以是通过音频模块216输入的,而视频可以是通过摄像模块214与音频模块216实时录制的。在用户的输入操作触发了预定的发送操作后,会将数据包发送到应用服务器30以完成通讯功能,其具体过程如下。
如图1所示,客户端要发送给应用服务器30的数据包,实际上可先被发送至对应的加速节点,然后由加速节点进行转发。在加速节点中,会首先判断当前数据包的传输类型,并按照不同的传输类型分别采用对应的处理逻辑进行数据包的转发操作。而数据包的传输类型的判定可按照上述的表格所示的对应关系进行。
若数据包的传输类型为接入,则按照与接入对应的逻辑进行数据包的转发操作。以客户端11为例,其数据包会被发送至加速节点201。相应地,加速节点201接收客户端11发送的数据包。根据上述的传输类型的对应关系,此数据包在加速节点201内的传输类型为接入。
加速节点201会根据接收到的数据包获取会话标识符(seq)。上述的会话标识符例如可以是加速节点201根据客户端11的连接请求生成的,用于唯一标识一个网络会话,并可被包括在后续客户端11发送的数据包内。当然,会话标识符并不限于是由加速节点201生成的,还可由专门设置的服务器生成的,只要能保证唯一性即可。一般来说,客户端11会与加速节点201之间维持长连接,长连接的维持时间就是网络会话的存续时间,也就是会话标识符的有效时间。当长连接断开后,客户端11再次请求连接加速节点201时,可为其生成新的会话标识符。因此,同一客户端11在不同的网络会话期间,会使用不同的会话标识符,但这些不同的会话标识符均能唯一的对应于客户端11。也就是说,会话标识符也可用于唯一标识用户。
会话标识符可以直接从数据包中解析出来的,还可以是间接获取的。例如,加速节点201在建立与客户端11之间的网络连接后,存储网络连接的标识符与会话标识符的对应关系。如此,根据数据包的来源网络连接的标识符(Key)即可获取对应的会话标识符。为了提升根据网络连接查找对应的会话标识符的速度,两者之间的对应关系可以采用哈希表来存储,如此,可以在O(1)的时间复杂度内找到对应的会话标识符。
然后,加速节点201根据获取的会话标识符去查询对应的用户是否是老用户,也就是说是否已经有使用该会话标识符的用户数据包被转发过。具体地,加速节点201查询是否已经存在与上述的会话标识符对应的状态机。
加速节点201会存储与用户身份对应的唯一标识符与状态机之间的对应关系。例如可以采用哈希表来存储这个对应关系,如表2所示:
表2用户状态机的存储结构
Key[1] | 状态机1 |
Key[2] | 状态机2 |
… | … |
Key[n-1] | 空 |
Key[n] | 空 |
在要查找时,根据获取的会话标识符以及预定的哈希算法计算对应的哈希表的键,具体的,可以根据以下公式计算:Key=hash(seq),然后读取哈希表中与该键对应的位置,若该位置已经存在状态机则已经有使用该会话标识符的用户数据包被转发过。若该位置为空,则没有使用该会话标识符的用户数据包被转发过。以表2中的Key[1]为例,已经存储有状态机1,因此,已经有相同会话的数据包被转发过;而Key[n]对应的位置为空,未有相同会话标识符的数据包被转发过。
若已经有对应的状态机,则从该状态机中获取上次发送使用的路由信息。上述的路由信息,例如可包括数据包要被发送到哪个加速节点(例如图1所示的加速节点202或者加速节点205)以及是通过哪一个网络连接发送的。直接根据获取的路由信息进行数据包的转发。
若不存在对应的状态机,则说明没有使用该会话标识符的用户数据包被转发过。此时,可以为该会话标识符建立对应的状态机,并为该会话标识符分配路由,并分配的路由存储在对应的状态机中,并使用分配的路由进行数据包的转发。
可以理解,路由的分配主要涉及节点的选择以及连接的选择。以加速节点201为例,其下一节点有两个选择:加速节点202或者加速节点205。加速节点201可以随机选择,或者是根据预定的算法计算出选择哪一个加速节点,或者是由专门设置的管理服务器进行分配。如上所述,加速节点201与加速节点202或者加速节点205之间都会维护一个包括多条连接的连接池。在选定加速节点后,可以对应的连接池内随机选择一条,或者根据预定的算法选定一条网络连接。至此,路由的分配完成。
此外,在加速节点201中,为了方便下行数据包的传输,还可存储会话标识符与数据包的传输类型之间的对应关系,以及会话标识符与后向连接的标识符之间的对应关系。这些关系都可以采用哈希表结构进行存储,以方便在O(1)的时间复杂度内进行查找操作。
假设客户端11的数据包是被加速节点201转发至加速节点202中。相应地,加速节点202会接收到来自加速节点201的数据包。
与加速节点201类似,加速节点202也会首先判断数据包的传输类型。如图1所示,加速节点202的下一跳节点可能为加速节点203或者加速节点206。因此,来源于加速节点201的数据包在加速节点202中的传输类型为传输。在获取数据包的传输类型后,加速节点202采用与传输类型的逻辑进行数据包的转发操作。具体描述如下:
可以理解,对于加速节点201与加速节点202之间的连接池内的每条网络连接,其内传输的数据包可能对应用于多个会话标识符,也就是传输的数据包是来自于不同的客户端的。在传输类型为传输时,加速节点202可以不关心某个网络连接内的数据包具体是对应于哪一个会话标识符的,其将数据包转发到下一跳的节点即可。也就是说,在传输类型为传输时,加速节点202可以一个或多个网络连接为单位,为其选择路由并传输。
例如,在加速节点202中,可以存储后向网络连接的标识符(BC_Key)与对应的状态机。具体地,可采用哈希表结构进行存储,如以下表3所示:
表3连接状态机的存储结构
BC_Key[1] | 状态机1 |
BC_Key[2] | 状态机2 |
… | … |
BC_Key[n-1] | 空 |
BC_Key[n] | 空 |
在从一个后向网络连接接收到数据包后,根据后向网络连接的标识符查找对应的状态机。具体地,根据后向网络连接的标识符读取哈希表中对应的位置,若该位置已经存在状态机则已经为该后向网络连接分配过路由。若该位置为空,则没有为该后向网络连接分配过路由。
若存在对应的状态机,则根据状态机内存储的路由信息进行数据包的转发;若不存在对应的状态机,为该后向网络连接的标识符建立对应的状态机,为其分配路由,将分配的路由存储在状态机中,并按照分配的路由进行数据包的转发。分配路由的过程与加速节点201中相似,可一并参考。
假设加速节点201的数据包是被加速节点202转发至加速节点203中。相应地,加速节点203会接收到来自加速节点201的数据包。
与加速节点201类似,加速节点203也会首先判断数据包的传输类型。如图1所示,加速节点203的下一跳节点只能是应用服务器30。因此,来源于加速节点202的数据包在加速节点203中的传输类型为会话。在获取数据包的传输类型后,加速节点203采用与传输类型的逻辑进行数据包的转发操作。具体描述如下:
加速节点203会存储与会话标识符与状态机之间的对应关系。例如可以采用哈希表来存储这个对应关系,其存储结构可与表2相似。
在要查找时,根据数据包内包括的会话标识符(seq)以及预定的哈希算法计算对应的哈希表的键,具体的,可以根据以下公式计算:Key=hash(seq),然后读取哈希表中与该键对应的位置。
若已经有对应的状态机,则从该状态机中获取上次发送使用的路由信息。上述的路由信息,例如可包括是通过哪一个网络连接发送的等信息。然后直接根据获取的路由信息进行数据包的转发。
若不存在对应的状态机,则说明没有使用该会话标识符的用户数据包被转发过。此时,可以为该会话标识符建立对应的状态机,并为该会话标识符分配路由,并分配的路由存储在对应的状态机中,并使用分配的路由进行数据包的转发。
对于加速节点203,由于其下一跳的节点只能是应用服务器30,因此此处的路由分配可只包括连接的选择,即从连接池中为该会话标识符选择一条连接进行数据包的转发。
通过上述的流程,数据包从客户端11被转发至应用服务器30中,其在加速节点201、加速节点202、加速节点203中的传输类型分别为接入、传输、与会话。然而,可以理解,并不是所有的数据包都会经过这些传输类型。
例如,对于客户端13的数据包,其在加速节点205中的传输类型为接入,其在加速节点206中的传输类型为会话,其并不具有传输类型“传输”。而对于客户端14的数据包,只经过加速节点206,其在加速节点206内的传输类型为接入+会话。
以上所述为上行数据包(从客户端到应用服务器的数据包)的传输过程,以下描述下行数据包的(从应用服务器到客户端的数据包)的传输过程。
对于应用服务器30来说,数据包可采用原连接返回的策略。因此,应用服务器30对于客户端11的回应数据包是会先被发送至加速节点203。
加速节点203在接收到应用服务器30发送的回应数据包后,判断回应数据包的传输类型。具体地,加速节点203从回应数据包中解析出会话标识符(seq)。然后查找对应的数据包传输类型。对于给客户端11的回应数据包,其在加速节点203内的传输类型应为会话。相应地,加速节点203根据传输类型进行相应的数据包转发操作。
对于同一会话标识符的上行数据包以及下行数据包,可以使用完全相同的路径,即通过相同的节点,以及相同的网络连接转发;可以是仅通过相同的节点发送,而不限于使用相同的网络连接转发;还可以是使用不同的路径转。只能能够保证下行数据包能够返回直接接入客户端的加速节点即可。
以下以使用完全相同的路径为例进行说明。此时,需要数据包在进行正向传输后相应更新反向路由。例如,在加速节点203中,来自加速节点202的数据包的传输类型为会话。除了存储会话标识符与传输类型之间的对应关系外,在将数据包转发至应用服务器30后,还可更新反向路由信息,例如在与会话标识符对应的状态机中存储数据包的上一节点(即数据包的来源节点)的对应关系以及来源连接(后向连接)的标识符。
如此,加速节点203中,可根据会话标识符查找对应的状态机,从状态机中获取存储的上一节点以及后向连接的标识符。然后,通过与所述的后向连接的标识符对应的后向网络连接将回应数据包转发至上一节点,即加速节点202。
如果不要求下行数据包与上行数据包采用相同的网络连接,则在加速节点203将数据包发送至应用服务器30后,可不用在与会话标识符对应的状态机中存储上行数据包的来源连接的标识符。如此,在传输下行数据包时,可以随机选取一个网络连接将下行数据包发送至上一节点即可。
加速节点202在接收到加速节点203发送的数据包后,判断回应数据包的传输类型。具体地,加速节点202从回应数据包中解析出会话标识符(seq),然后查找对应的数据包传输类型。对于给客户端11的回应数据包,其在加速节点202内的传输类型应为传输。相应地,加速节点202根据传输类型进行相应的数据包转发操作。
在上行数据包的传输过程中,当加速节点202将数据包发送给加速节点203后,可以更新反向路由,即分别存储会话标识符与上一节点(数据包的来源节点)以及来源连接(后向连接)的标识符之间的对应关系。如此,对于下行数据包,加速节点202可从回应数据包中获取会话标识符,然后根据会话标识符查找对应的上一节点与来源连接的标识符。然后通过来源连接将数据包转发。对于给客户端11的回应数据包,会被转发至加速节点201。
加速节点201在接收到加速节点202发送的数据包后,判断回应数据包的传输类型。具体地,加速节点201从回应数据包中解析出会话标识符(seq),然后查找对应的数据包传输类型。对于给客户端11的回应数据包,其在加速节点201内的传输类型应为接入。相应地,加速节点201根据传输类型进行相应的数据包转发操作。
如上所述,在加速节点201中会存储会话标识符与网络连接的标识符之间的对应关系,根据会话标识符即可查找到对应的网络连接,然后通过查找到的网络连接即可将数据包转发给客户端11。
以上所述,就是下行数据包的传输过程。然而可以理解,对于一些下行数据包,可能并不用经过所有的传输类型后才到达客户端。例如,给客户端13的下行数据包只会经过两种传输类型:会话以及接入;而给客户端14的下行数据包只经由一级加速节点206,其传输过程与给客户端11的下行数据包在加速节点201中的过程相似。
在以上的传输过程中,如果各种对应关系均采用哈希表结构进行存储,则每种操作的时间复杂度均为O(1),总体的时间复杂度一样为O(1)。
根据以上的传输过程,无论是上行数据包,还是下行数据包,通过采用本实施例的数据传输系统,都可以高效的完成,并且这种方式可以增加单机的接入连接能力。
图5为第二实施例提供的在网络系统中传输数据的方法的流程图。图5所示的方法可应用于图1所示的各加速节点中。如图5所示,本实施例的方法包括以下步骤:
步骤S201、在第一加速节点通过第一网络连接接收所述客户端发送的第一数据包。
参阅图1,第一加速节点例如可为加速节点205,其与客户端13直接相连。客户端13在要发送数据包到应用服务器30中时,数据包首先被发送至加速节点205,相应地,加速节点205接收来自客户端13的数据包。
步骤S202、根据所述第一数据包获取一个用于唯一标识用户的第一会话标识符。
加速节点205在客户端13首次发起连接请求时可为其生成一个会话标识符,只要客户端13与加速节点205之间的网络连接仍然在维持过程中,均可使用会话标识符以进行不同客户端的区分。例如,客户端13在每个发送给加速节点205的数据包中均包括这个会话标识符。因此,加速节点205在接收到数据包后从数据包的包头中解析出对应的会话标识符即可。
步骤S203、根据所述第一加速节点在所述网络系统中的位置判断所述第一数据包在所述第一加速节点中的传输类型。
由于第一数据包来源于客户端,依据目标节点的不同类型,第一数据包具有不同的传输类型。当目标节点为加速节点时,第一数据包在第一加速节点内的传输类型为接入;而当目标节点为应用服务器时,第一数据包在第一加速节点内的传输类型为接入+会话。
步骤S204、根据所述第一会话标识符从所述第一加速节点与所述第一数据包的目标节点之间的连接池内获取第二网络连接。
第一数据包的目标节点为所述应用服务器或者所述多个加速节点中不同于所述第一加速节点的其他加速节点。例如,在本实施例中,第一数据包的目标节点可能为加速节点203或者加速节点206。在其他实施例中,加速节点205还可直接与应用服务器30相连,此时第一数据包的目标节点还可以为应用服务器30。
具体地,步骤S204可包括以下步骤:根据所述第一会话标识符采用预定的哈希算法计算第一索引值;根据所述第一索引值在一个存储所述第一会话标识符与所述第二网络连接之间对应关系的哈希表中查找对应的记录;若所述对应的记录不为空则从所述对应的记录中解析出所述第二网络连接的标识符;以及若所述对应的记录为空则为在所述第一加速节点与所述第一数据包的目标节点之间的连接池内选择一条网络连接作为所述第二网络连接。
步骤S205、通过所述第二网络连接将所述第一数据包发送至所述第一数据包的目标节点。
在获取到第二网络连接后,即可通过获取的第二网络连接将第一数据包发送至第一数据包的目标节点,例如加速节点206或者应用服务器30。
步骤S206、分别存储所述第一会话标识符与所述第一数据包的传输类型、所述第一网络连接的标识符、以及所述第二网络连接的标识符之间的对应关系。
上述的对应关系均可采用键-值(Key-Value)存储方式进行存储。优选地,可以采用查找算法时间复杂度不超过O(1)的存储结构。
在一个实例中,可以采用哈希表存储上述的对应关系,为每种对应关系建立一个哈希表。以第一会话标识符与所述第一数据包的传输类型之间的对应关系为例,对于每一个<第一会话标识符,第一数据包的传输类型>的键-值对,采用预定的哈希算法将第一会话标识符映射成第一索引值,从而得到<第一索引值,第一数据包的传输类型>的键-值对。然后,将其存储在哈希表中。
经过上述的存储过程后,即可通过第一会话标识符不超过O(1)的时间复杂度情形下查找到这些信息,并用于后续的数据传输过程,提升数据传输的效率。
图6为第三实施例提供的在网络系统中传输数据的方法的流程图。图6所示的方法可应用于图1所示的各加速节点中。如图6所示,本实施例的方法包括以下步骤:
步骤S301、在所述第一加速节点通过第三网络连接接收第二加速节点发送的第二数据包。
参阅图1,第一加速节点例如可为加速节点205,第二加速节点例如可为加速节点204,因此按照数据包的传输流向,第一加速节点(加速节点205)位于第二加速节点(加速节点204)与所述应用服务器30之间。
步骤S302、根据所述第一加速节点在所述网络系统中的位置判断所述第二数据包在所述第一加速节点中的传输类型。
由于第二数据包的来源节点类型为加速节点,而目标节点的类型为应用服务器,因此第二数据包在第一加速节点内的传输类型为会话。
步骤S303、根据所述第二数据包获取一个用于唯一标识用户的第二会话标识符。
加速节点205在接收到第二数据包后可从第二数据包的包头中解析出第二会话标识符。
步骤S304、根据所述第二会话标识符从所述第一加速节点与所述应用服务器之间的连接池内获取第四网络连接。
如图1所示,加速节点205会应用服务器30之间会维持一个连接池,其内包括多条长连接类型的TCP连接。
步骤S304例如可包括:根据所述第二会话标识符采用预定的哈希算法计算第二索引值;根据所述第二索引值在一个存储所述第二会话标识符与所述第四网络连接之间对应关系的哈希表中查找对应的记录;若所述对应的记录不为空则从所述对应的记录中解析出所述第四网络连接的标识符;以及若所述对应的记录为空则为在所述第一加速节点与所述应用服务器之间的连接池内选择一条网络连接作为所述第四网络连接。
步骤S305、通过所述第四网络连接将所述第二数据包发送至所述应用服务器。
在获取到第四网络连接后,即可通过获取的第四网络连接将第二数据包发送至应用服务器30。
步骤S306、分别存储所述第二会话标识符与所述第二数据包的传输类型及所述第三网络连接的标识之间的对应关系,以及存储所述第二会话标识符与所述第四网络连接的标识符之间的对应关系。
与第一实施例所描述的方式相似,上述的对应关系均可采用键-值(Key-Value)存储方式进行存储。优选地,可以采用查找算法时间复杂度不超过O(1)的存储结构如哈希表。
根据本实施例的方法,即可通过第一会话标识符不超过O(1)的时间复杂度情形下查找到路由信息,并用于后续的数据传输过程,提升数据传输的效率。
图7为第四实施例提供的在网络系统中传输数据的方法的流程图。图7所示的方法可应用于图1所示的各加速节点中。如图7所示,本实施例的方法包括以下步骤:
步骤S401、在所述第一加速节点通过第五网络连接接收第三加速节点发送的第三数据包。
参阅图1,第一加速节点例如可为加速节点205,第三加速节点例如可为加速节点201,第四加速节点例如可为加速节点206,因此按照数据包的传输流向,第一加速节点(加速节点205)位于第三加速节点(加速节点201)与第四加速节点(加速节点206)之间。而第四加速节点位于第一加速节点与应用服务器30之间。
步骤S402、根据所述第一加速节点在所述网络系统中的位置判断所述第三数据包在所述第一加速节点中的传输类型。
由于第三数据包的来源节点与目标节点的类型均为加速节点,因此第三数据包在第一加速节点中的传输类型为传输。
步骤S403、根据所述第三数据包获取一个用于唯一标识用户的第三会话标识符。
第一加速节点在接收到第三数据包后可从第三数据包的包头中解析出第三会话标识符。
步骤S404、根据所述第五网络连接的标识符从所述第一加速节点与所述第四加速节点之间的连接池内获取第六网络连接。
如图1所示,第一加速节点(加速节点205)与第四加速节点(加速节点206)之间会维持一个连接池,其内包括多条长连接类型的TCP连接。
步骤S404例如可包括以下步骤:根据所述第五网络连接的标识符在一个存储所述第五网络连接的标识符与所述第六网络连接的标识符之间的对应关系的哈希表中查找对应的记录;若所述对应的记录不为空则从所述对应的记录中解析出所述第六网络连接的标识符;以及若所述对应的记录为空则为在所述第一加速节点与所述第四加速节点之间的连接池内选择一条网络连接作为所述第六网络连接。
步骤S405、通过所述第六网络连接将所述第三数据包发送至所述第四加速节点。
在获取到第六网络连接后,即可通过获取的第六网络连接将第三数据包发送至第三数据包的目标节点,即加速节点206。
步骤S406、分别存储所述第三会话标识符与所述第三数据包的传输类型及所述第三加速节点的标识符之间的对应关系,以及存储所述第五网络连接的标识符与所述第六网络连接的标识符之间的对应关系。
经过上述的存储过程后,即可通过第一会话标识符不超过O(1)的时间复杂度情形下查找到这些信息,并用于后续的数据传输过程,提升数据传输的效率。
图8为第五实施例提供的在网络系统中传输数据的方法的流程图。图8所示的方法可应用于图1所示的各加速节点中。如图8所示,本实施例的方法与第三实施例的方法相似,其不同之处在于,在步骤S306之后还包括以下步骤:
步骤S501、在所述第一加速节点通过所述第四网络连接接收所述应用服务器发送的第一回应数据包。
在步骤S305之后,第二数据包会被发送至应用服务器30中,应用服务器30在接收到第二数据包后进行相应的数据处理,例如将其转发给其他用户,并且根据其他用户反馈的数据生成第一回应数据包,并通过第四网络连接将第一回应数据包发送给第一加速节点(即加速节点205)。
步骤S502、根据所述第一回应数据包内包括的所述第二会话标识符获取所述第三网络连接。
具体地,第一加速节点从第一回应数据包的包头内解析出所述第二会话标识符,并采用预定的哈希算法将第二会话标识符映射为一个索引值,然后在一个存储第二会话标识符与第三网络连接的哈希表中读取与索引值对应的记录,并从读取的记录中解析出第三网络连接的标识符。
步骤S503、通过所述第三网络连接将所述第一回应数据包发送至所述第二加速节点。
在解析出第三网络连接的标识符后,根据标标识符获取第三网络连接,并能过第三网络连接将第一回应数据包发送至第二加速节点(即加速节点204)。
根据本实施例的方法,可以实现回应数据包的快速转发,提升数据传输效率。
图9为第六实施例提供的在网络系统中传输数据的方法的流程图。图9所示的方法可应用于图1所示的各加速节点中。如图9所示,本实施例的方法与第三实施例的方法相似,其不同之处在于,在步骤S306之后还包括以下步骤:
步骤S601、在所述第一加速节点通过所述第四网络连接接收所述应用服务器发送的第一回应数据包。
在步骤S305之后,第二数据包会被发送至应用服务器30中,应用服务器30在接收到第二数据包后进行相应的数据处理,例如将其转发给其他用户,并且根据其他用户反馈的数据生成第一回应数据包,并通过第四网络连接将第一回应数据包发送给第一加速节点(即加速节点205)。
步骤S602、根据所述第一回应数据包内包括的所述第二会话标识符获取所述第二加速节点的标识符。
具体地,第一加速节点从第一回应数据包的包头内解析出所述第二会话标识符,并采用预定的哈希算法将第二会话标识符映射为一个索引值,然后在一个存储第二会话标识符与第二加速节点的标识符的哈希表中读取与索引值对应的记录,并从读取的记录中解析出第二加速节点的标识符。
步骤S603、在所述第一加速节点与所述第二加速节点之间的连接池内选择一条网络连接将所述第一回应数据包发送至所述第二加速节点。
相比于第五实施例,本实施例的方法中并不限定下行数据包一定与上行数据包相同的连接返回。因此,即时连接池内原先用于传输上行数据包的网络连接断开也不会对下行数据包的传输有影响,这种方式提升了数据传输的可靠性。
图10为第七实施例提供的在网络系统中传输数据的方法的流程图。图10所示的方法可应用于图1所示的各加速节点中。如图10所示,本实施例的方法与第四实施例的方法相似,其不同之处在于,在步骤S406之后还包括以下步骤:
步骤S701、在所述第一加速节点通过所述第六网络连接接收所述第四加速节点发送的第二回应数据包。
在步骤S405之后,第三数据包会被发送至第四加速节点中,可以理解,第三数据包最后会被转发至应用服务器30中,应用服务器30在接收到第二数据包后进行相应的数据处理,例如将其转发给其他用户,并且根据其他用户反馈的数据生成第二回应数据包,回应数据包会被首先转发至第四加速节点。然而,第四加速节点可通过第六网络连接将其发送至第一加速节点。
步骤S702、根据所述第二回应数据包内包括的所述第三会话标识符获取所述第三加速节点的标识符。
具体地,第一加速节点从第二回应数据包的包头内解析出所述第三会话标识符,并采用预定的哈希算法将第三会话标识符映射为一个索引值,然后在一个存储第三会话标识符与第三加速节点的标识符的哈希表中读取与索引值对应的记录,并从读取的记录中解析出第三加速节点的标识符。
步骤S703、在所述第一加速节点与所述第三加速节点之间的连接池内选择一条网络连接将所述第二回应数据包发送至所述第三加速节点。
在第一加速节点与第三加速节点之间的连接池内选择网络连接时可以随机选择,也可以是根据预定的规则或者算法进行选择。
根据本实施例的方法,第二回应数据包可以被快速的转发至第三加速节点,并且不受到原来用于从第三加速节点传输数据包到第一加速节点的连接是否断开的影响。
图11为第八实施例提供的在网络系统中传输数据的方法的流程图。图11所示的方法可应用于图1所示的各加速节点中。如图11所示,本实施例的方法与第四实施例的方法相似,其不同之处在于,在步骤S405之后还包括以下步骤:
步骤S801、存储所述第三会话标识符与所述第五网络连接之间的对应关系。
例如,在完成第三数据包的发送后,首先根据<第三会话标识符,第五网络连接的标识符>的键-值生成<索引值,第五网络连接的标识符>的键-值对。其中索引值是根据第三会话标识符与预定的哈希算法计算得到的。
步骤S802、在所述第一加速节点通过所述第六网络连接接收所述第四加速节点发送的第二回应数据包。
在步骤S405之后,第三数据包会被发送至第四加速节点中,可以理解,第三数据包最后会被转发至应用服务器30中,应用服务器30在接收到第二数据包后进行相应的数据处理,例如将其转发给其他用户,并且根据其他用户反馈的数据生成第二回应数据包,回应数据包会被首先转发至第四加速节点。然而,第四加速节点可通过第六网络连接将其发送至第一加速节点。
步骤S803、根据所述第二回应数据包内包括的所述第三会话标识符获取所述第五网络连接的标识符。
具体地,第一加速节点从第二回应数据包的包头内解析出所述第三会话标识符,并采用预定的哈希算法将第三会话标识符映射为一个索引值,然后在一个存储第三会话标识符与第五网络连接的标识符的哈希表中读取与索引值对应的记录,并从读取的记录中解析出第五网络连接的标识符。
步骤S804、通过所述第五网络连接将所述第二回应数据包发送给所述第三加速节点。
根据解析出的第五网络连接的标识符获取第五网络连接,然后通过获取的网络连接将第二回应数据包发送给第三加速节点。
根据本实施例的方法,第二回应数据包是从与上行数据包相同的连接返回上一节点。
图12为第九实施例提供的在网络系统中传输数据的方法的流程图。图12所示的方法可应用于图1所示的各加速节点中。如图12所示,本实施例的方法与第二实施例的方法相似,其不同之处在于,在步骤S205之后还包括以下步骤:
步骤S901、在所述第一加速节点通过所述第二网络连接接收所述第一数据包的目标节点发送的第三回应数据包。
在步骤S205后,第一数据包会被发送至目标节点,目标节点可能是其他加速节点,也可能是应用服务器30。可以理解,即使是发送至其他加速节点,最终也会被转发至应用服务器30,由应用服务器30进行相应的数据处理,例如将其转发给其他用户。应用服务器30还可生成第三回应数据包,将其转发给所述的第一数据包的目标节点。然后,述的第一数据包的目标节点通过第二网络连接将第三回应数据包发送给第一加速节点。
步骤S902、根据所述第三回应数据包内包括的所述第一会话标识符获取所述第一网络连接的标识符。
具体地,第一加速节点从第三回应数据包的包头内解析出所述第一会话标识符,并采用预定的哈希算法将第一会话标识符映射为一个索引值,然后在一个存储第一会话标识符与第一网络连接的哈希表中读取与索引值对应的记录,并从读取的记录中解析出第一网络连接的标识符。
步骤S903、通过所述第一网络连接将所述第三回应数据包发送至所述客户端。
在解析出第一网络连接的标识符后,根据标标识符获取第一网络连接,并能过第一网络连接将第三回应数据包发送至客户端13。
根据本实施例的方法,可以实现回应数据包的快速转发至客户端,提升数据传输效率。
图13为第十实施例提供的在网络系统中传输数据的装置的结构框图。图13所示的装置可应用于图1所示的各加速节点中。如图13所示,本实施例的装置包括:接收模块10、会话标识符获取模块20、传输类型判定模块30、第一转发模块40、第二转发模块50、以及第三转发模块60。
接收模块10可用于在第一加速节点通过第一网络连接接收所述客户端发送的第一数据包,所述第一加速节点为所述多个加速节点中与所述客户端直接连接的加速节点。会话标识符获取模块20用于根据所述第一数据包获取一个用于唯一标识用户的第一会话标识符。
接收模块10还可用于在所述第一加速节点通过第三网络连接接收第二加速节点发送的第二数据包,所述第一加速节点位于所述第二加速节点与所述应用服务器之间。
接收模块10还可用于在所述第一加速节点通过第五网络连接接收第三加速节点发送的第三数据包,所述第一加速节点位于所述第三加速节点与第四加速节点之间,所述第四加速节点位于所述第一加速节点与所述应用服务器之间。
接收模块10还可用于:在所述第一加速节点通过所述第四网络连接接收所述应用服务器发送的第一回应数据包。
接收模块10还可用于:在所述第一加速节点通过所述第六网络连接接收所述第四加速节点发送的第二回应数据包。
接收模块10还可用于:在所述第一加速节点通过所述第二网络连接接收所述第一数据包的目标节点发送的第三回应数据包。
会话标识符获取模块20用于从数据包中获取对应的会话标识符。具体地,会话标识符获取模块20可从数据包的包头中解析出对应的会话标识符。
传输类型判定模块30用于根据所述第一加速节点在所述网络系统中的位置判断所述第一数据包、第二数据包、第三数据包、第一回应数据包、第二回应数据包、或者所述第三回应数据包在所述第一加速节点中的传输类型。
可以理解,上述的第一数据包、第二数据包、以及第三数据包具有不同的传输类型;而第一回应数据包、第二回应数据包、以及第三回应数据包也具有不同的传输类型。
根据不同的传输类型,传输类型判定模块30还可调用相应的转发模块。例如,若传输类型为接入或者接入+会话时,传输类型判定模块30调用第一转发模块40;若传输类型为会话时,传输类型判定模块30调用第二转发模块50;或者若传输类型为传输时,传输类型判定模块30调用第三转发模块60。
第一转发模块40用于进行以下操作:
根据所述第一会话标识符从所述第一加速节点与所述第一数据包的目标节点之间的连接池内获取第二网络连接,所述第一数据包的目标节点为所述应用服务器或者所述多个加速节点中不同于所述第一加速节点的其他加速节点;
通过所述第二网络连接将所述第一数据包发送至所述第一数据包的目标节点;以及
分别存储所述第一会话标识符与所述第一数据包的传输类型、所述第一网络连接的标识符、以及所述第二网络连接的标识符之间的对应关系。
进一步地,第一转发模块40还用于:根据所述第三回应数据包内包括的所述第一会话标识符获取所述第一网络连接的标识符;以及通过所述第一网络连接将所述第三回应数据包发送至所述客户端。
第二转发模块50用于进行以下操作:根据所述第二会话标识符从所述第一加速节点与所述应用服务器之间的连接池内获取第四网络连接;根据所述第四网络连接将所述第二数据包发送至所述应用服务器;以及分别存储所述第二会话标识符与所述第二数据包的传输类型及所述第三网络连接的标识之间的对应关系,以及存储所述第二会话标识符与所述第四网络连接的标识符之间的对应关系。
进一步地,第二转发模块50还用于:根据所述第一回应数据包内包括的所述第二会话标识符获取所述第三网络连接;以及通过所述第三网络连接将所述第一回应数据包发送至所述第二加速节点。可替换地,第二转发模块50还用于:根据所述第一回应数据包内包括的所述第二会话标识符获取所述第二加速节点的标识符;在所述第一加速节点与所述第二加速节点之间的连接池内选择一条网络连接;以及将所述第一回应数据包通过选择的网络连接发送至所述第二加速节点。
第三转发模块60用于进行以下操作:根据所述第五网络连接的标识符从所述第一加速节点与所述第四加速节点之间的连接池内获取第六网络连接;根据所述第六网络连接将所述第三数据包发送至所述第四加速节点;以及分别存储所述第三会话标识符与所述第三数据包的传输类型及所述第三加速节点的标识符之间的对应关系,以及存储所述第五网络连接的标识符与所述第六网络连接的标识符之间的对应关系。
进一步地,第三转发模块60还用于:根据所述第二回应数据包内包括的所述第三会话标识符获取所述第三加速节点的标识符;以及在所述第一加速节点与所述第三加速节点之间的连接池内选择一条网络连接将所述第二回应数据包发送至所述第三加速节点。可替换地,第三转发模块60还用于:根据所述第二回应数据包内包括的所述第三会话标识符获取所述第五网络连接的标识符;以及通过所述第五网络连接将所述第二回应数据包发送给所述第三加速节点。
根据本实施例的装置,可以实现数据包的快速转发,提升数据传输效率。
此外,本发明实施例还提供一种计算机可读存储介质,其内存储有计算机可执行指令,上述的计算机可读存储介质例如为非易失性存储器例如光盘、硬盘、或者闪存。上述的计算机可执行指令用于让计算机或者类似的运算装置完成上述的方法。
以上所述,仅是本发明的实施例而已,并非对本发明作任何形式上的限制,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
Claims (23)
1.一种在网络系统中传输数据的方法,所述网络系统包括客户端、多个加速节点以及应用服务器,所述网络系统用于在所述客户端与所述应用服务器之间传输数据,其特征在于,所述方法包括:
在第一加速节点通过第一网络连接接收所述客户端发送的第一数据包,所述第一加速节点为所述多个加速节点中与所述客户端直接连接的加速节点;
根据所述第一数据包获取一个用于唯一标识用户的第一会话标识符;
根据所述第一加速节点在所述网络系统中的位置判断所述第一数据包在所述第一加速节点中的传输类型;当所述第一数据包的目标节点为加速节点时,所述第一数据包在所述第一加速节点内的类型为接入,或当所述第一数据包的所述目标节点为所述应用服务器时,所述第一数据包在所述第一加速节点内的类型为接入和会话;
根据所述第一会话标识符从所述第一加速节点与所述第一数据包的目标节点之间的连接池内获取第二网络连接,所述第一数据包的目标节点为所述应用服务器或者所述多个加速节点中不同于所述第一加速节点的其他加速节点;
通过所述第二网络连接将所述第一数据包发送至所述第一数据包的目标节点;以及
分别存储所述第一会话标识符与所述第一数据包的传输类型、所述第一网络连接的标识符、以及所述第二网络连接的标识符之间的对应关系。
2.如权利要求1所述的方法,其特征在于,所述根据所述第一会话标识符从所述第一加速节点与所述第一数据包的目标节点之间的连接池内获取第二网络连接包括:
根据所述第一会话标识符采用预定的哈希算法计算第一索引值;
根据所述第一索引值在一个存储所述第一会话标识符与所述第二网络连接之间对应关系的哈希表中查找对应的记录;
若所述对应的记录不为空则从所述对应的记录中解析出所述第二网络连接的标识符;以及
若所述对应的记录为空则为在所述第一加速节点与所述第一数据包的目标节点之间的连接池内选择一条网络连接作为所述第二网络连接。
3.如权利要求1所述的方法,其特征在于,还包括:
在所述第一加速节点通过第三网络连接接收第二加速节点发送的第二数据包,所述第一加速节点位于所述第二加速节点与所述应用服务器之间;
根据所述第一加速节点在所述网络系统中的位置判断所述第二数据包在所述第一加速节点中的传输类型;
根据所述第二数据包获取一个用于唯一标识用户的第二会话标识符;
根据所述第二会话标识符从所述第一加速节点与所述应用服务器之间的连接池内获取第四网络连接;
根据所述第四网络连接将所述第二数据包发送至所述应用服务器;以及
分别存储所述第二会话标识符与所述第二数据包的传输类型及所述第三网络连接的标识之间的对应关系,以及存储所述第二会话标识符与所述第四网络连接的标识符之间的对应关系。
4.如权利要求3所述的方法,其特征在于,所述根据所述第二会话标识符从所述第一加速节点与所述应用服务器之间的连接池内获取第四网络连接包括:
根据所述第二会话标识符采用预定的哈希算法计算第二索引值;
根据所述第二索引值在一个存储所述第二会话标识符与所述第四网络连接之间对应关系的哈希表中查找对应的记录;
若所述对应的记录不为空则从所述对应的记录中解析出所述第四网络连接的标识符;以及
若所述对应的记录为空则为在所述第一加速节点与所述应用服务器之间的连接池内选择一条网络连接作为所述第四网络连接。
5.如权利要求3所述的方法,其特征在于,还包括:
在所述第一加速节点通过所述第四网络连接接收所述应用服务器发送的第一回应数据包;
根据所述第一回应数据包内包括的所述第二会话标识符获取所述第三网络连接;以及
通过所述第三网络连接将所述第一回应数据包发送至所述第二加速节点。
6.如权利要求3所述的方法,其特征在于,还包括:
在所述第一加速节点通过所述第四网络连接接收所述应用服务器发送的第一回应数据包;
根据所述第一回应数据包内包括的所述第二会话标识符获取所述第二加速节点的标识符;以及
在所述第一加速节点与所述第二加速节点之间的连接池内选择一条网络连接将所述第一回应数据包发送至所述第二加速节点。
7.如权利要求1或3所述的方法,其特征在于,还包括:
在所述第一加速节点通过第五网络连接接收第三加速节点发送的第三数据包,所述第一加速节点位于所述第三加速节点与第四加速节点之间,所述第四加速节点位于所述第一加速节点与所述应用服务器之间;
根据所述第一加速节点在所述网络系统中的位置判断所述第三数据包在所述第一加速节点中的传输类型;
根据所述第三数据包获取一个用于唯一标识用户的第三会话标识符;
根据所述第五网络连接的标识符从所述第一加速节点与所述第四加速节点之间的连接池内获取第六网络连接;
根据所述第六网络连接将所述第三数据包发送至所述第四加速节点;以及
分别存储所述第三会话标识符与所述第三数据包的传输类型及所述第三加速节点的标识符之间的对应关系,以及存储所述第五网络连接的标识符与所述第六网络连接的标识符之间的对应关系。
8.如权利要求7所述的方法,其特征在于,所述根据所述第五网络连接的标识符从所述第一加速节点与所述第四加速节点之间的连接池内获取第六网络连接包括:
根据所述第五网络连接的标识符在一个存储所述第五网络连接的标识符与所述第六网络连接的标识符之间的对应关系的哈希表中查找对应的记录;
若所述对应的记录不为空则从所述对应的记录中解析出所述第六网络连接的标识符;以及
若所述对应的记录为空则为在所述第一加速节点与所述第四加速节点之间的连接池内选择一条网络连接作为所述第六网络连接。
9.如权利要求7所述的方法,其特征在于,还包括:
在所述第一加速节点通过所述第六网络连接接收所述第四加速节点发送的第二回应数据包;
根据所述第二回应数据包内包括的所述第三会话标识符获取所述第三加速节点的标识符;以及
在所述第一加速节点与所述第三加速节点之间的连接池内选择一条网络连接将所述第二回应数据包发送至所述第三加速节点。
10.如权利要求7所述的方法,其特征在于,在根据所述第六网络连接将所述第三数据包发送至所述第四加速节点后还包括:存储所述第三会话标识符与所述第五网络连接之间的对应关系;
在所述第一加速节点通过所述第六网络连接接收所述第四加速节点发送的第二回应数据包;
根据所述第二回应数据包内包括的所述第三会话标识符获取所述第五网络连接的标识符;以及
通过所述第五网络连接将所述第二回应数据包发送给所述第三加速节点。
11.如权利要求1所述的方法,其特征在于,还包括:
在所述第一加速节点通过所述第二网络连接接收所述第一数据包的目标节点发送的第三回应数据包;
根据所述第三回应数据包内包括的所述第一会话标识符获取所述第一网络连接的标识符;以及
通过所述第一网络连接将所述第三回应数据包发送至所述客户端。
12.一种在网络系统中传输数据的装置,所述网络系统包括客户端、多个加速节点以及应用服务器,所述网络系统用于在所述客户端与所述应用服务器之间传输数据,其特征在于,所述装置包括:
接收模块,用于在第一加速节点通过第一网络连接接收所述客户端发送的第一数据包,所述第一加速节点为所述多个加速节点中与所述客户端直接连接的加速节点;
会话标识符获取模块,用于根据所述第一数据包获取一个用于唯一标识用户的第一会话标识符;
传输类型判定模块,用于根据所述第一加速节点在所述网络系统中的位置判断所述第一数据包在所述第一加速节点中的传输类型;当所述第一数据包的目标节点为加速节点时,所述第一数据包在所述第一加速节点内的类型为接入,或当所述第一数据包的所述目标节点为所述应用服务器时,所述第一数据包在所述第一加速节点内的类型为接入和会话;以及
第一转发模块,用于:
根据所述第一会话标识符从所述第一加速节点与所述第一数据包的目标节点之间的连接池内获取第二网络连接,所述第一数据包的目标节点为所述应用服务器或者所述多个加速节点中不同于所述第一加速节点的其他加速节点;
通过所述第二网络连接将所述第一数据包发送至所述第一数据包的目标节点;以及
分别存储所述第一会话标识符与所述第一数据包的传输类型、所述第一网络连接的标识符、以及所述第二网络连接的标识符之间的对应关系。
13.如权利要求12所述的装置,其特征在于,所述第一转发模块根据所述第一会话标识符从所述第一加速节点与所述第一数据包的目标节点之间的连接池内获取第二网络连接包括:
根据所述第一会话标识符采用预定的哈希算法计算第一索引值;
根据所述第一索引值在一个存储所述第一会话标识符与所述第二网络连接之间对应关系的哈希表中查找对应的记录;
若所述对应的记录不为空则从所述对应的记录中解析出所述第二网络连接的标识符;以及
若所述对应的记录为空则为在所述第一加速节点与所述第一数据包的目标节点之间的连接池内选择一条网络连接作为所述第二网络连接。
14.如权利要求12所述的装置,其特征在于,
所述接收模块还用于:在所述第一加速节点通过第三网络连接接收第二加速节点发送的第二数据包,所述第一加速节点位于所述第二加速节点与所述应用服务器之间;
所述传输类型判定模块还用于:根据所述第一加速节点在所述网络系统中的位置判断所述第二数据包在所述第一加速节点中的传输类型;
所述会话标识符获取模块还用于:根据所述第二数据包获取一个用于唯一标识用户的第二会话标识符;
所述装置还包括第二转发模块,用于:
根据所述第二会话标识符从所述第一加速节点与所述应用服务器之间的连接池内获取第四网络连接;
根据所述第四网络连接将所述第二数据包发送至所述应用服务器;以及
分别存储所述第二会话标识符与所述第二数据包的传输类型及所述第三网络连接的标识之间的对应关系,以及存储所述第二会话标识符与所述第四网络连接的标识符之间的对应关系。
15.如权利要求14所述的装置,其特征在于,所述第二转发模块根据所述第二会话标识符从所述第一加速节点与所述应用服务器之间的连接池内获取第四网络连接包括:
根据所述第二会话标识符采用预定的哈希算法计算第二索引值;
根据所述第二索引值在一个存储所述第二会话标识符与所述第四网络连接之间对应关系的哈希表中查找对应的记录;
若所述对应的记录不为空则从所述对应的记录中解析出所述第四网络连接的标识符;以及
若所述对应的记录为空则为在所述第一加速节点与所述应用服务器之间的连接池内选择一条网络连接作为所述第四网络连接。
16.如权利要求14所述的装置,其特征在于,
所述接收模块还用于:在所述第一加速节点通过所述第四网络连接接收所述应用服务器发送的第一回应数据包;
所述第二转发模块还用于:
根据所述第一回应数据包内包括的所述第二会话标识符获取所述第三网络连接;以及
通过所述第三网络连接将所述第一回应数据包发送至所述第二加速节点。
17.如权利要求14所述的装置,其特征在于,
所述接收模块还用于:在所述第一加速节点通过所述第四网络连接接收所述应用服务器发送的第一回应数据包;
所述第二转发模块还用于:
根据所述第一回应数据包内包括的所述第二会话标识符获取所述第二加速节点的标识符;
在所述第一加速节点与所述第二加速节点之间的连接池内选择一条网络连接;以及
将所述第一回应数据包通过选择的网络连接发送至所述第二加速节点。
18.如权利要求12或14所述的装置,其特征在于,
所述接收模块还用于:在所述第一加速节点通过第五网络连接接收第三加速节点发送的第三数据包,所述第一加速节点位于所述第三加速节点与第四加速节点之间,所述第四加速节点位于所述第一加速节点与所述应用服务器之间;
所述传输类型判定模块还用于:根据所述第一加速节点在所述网络系统中的位置判断所述第三数据包在所述第一加速节点中的传输类型;
所述会话标识符获取模块还用于:根据所述第三数据包获取一个用于唯一标识用户的第三会话标识符;
所述装置还包括第三转发模块,用于:
根据所述第五网络连接的标识符从所述第一加速节点与所述第四加速节点之间的连接池内获取第六网络连接;
根据所述第六网络连接将所述第三数据包发送至所述第四加速节点;以及
分别存储所述第三会话标识符与所述第三数据包的传输类型及所述第三加速节点的标识符之间的对应关系,以及存储所述第五网络连接的标识符与所述第六网络连接的标识符之间的对应关系。
19.如权利要求18所述的装置,其特征在于,所述第三转发模块根据所述第五网络连接的标识符从所述第一加速节点与所述第四加速节点之间的连接池内获取第六网络连接包括:
根据所述第五网络连接的标识符在一个存储所述第五网络连接的标识符与所述第六网络连接的标识符之间的对应关系的哈希表中查找对应的记录;
若所述对应的记录不为空则从所述对应的记录中解析出所述第六网络连接的标识符;以及
若所述对应的记录为空则为在所述第一加速节点与所述第四加速节点之间的连接池内选择一条网络连接作为所述第六网络连接。
20.如权利要求18所述的装置,其特征在于,
所述接收模块还用于:在所述第一加速节点通过所述第六网络连接接收所述第四加速节点发送的第二回应数据包;
所述第三转发模块还用于:
根据所述第二回应数据包内包括的所述第三会话标识符获取所述第三加速节点的标识符;以及
在所述第一加速节点与所述第三加速节点之间的连接池内选择一条网络连接将所述第二回应数据包发送至所述第三加速节点。
21.如权利要求18所述的装置,其特征在于,
所述第三转发模块还用于:在根据所述第六网络连接将所述第三数据包发送至所述第四加速节点后还存储所述第三会话标识符与所述第五网络连接之间的对应关系;
所述接收模块还用于:在所述第一加速节点通过所述第六网络连接接收所述第四加速节点发送的第二回应数据包;
所述第三转发模块还用于:
根据所述第二回应数据包内包括的所述第三会话标识符获取所述第五网络连接的标识符;以及
通过所述第五网络连接将所述第二回应数据包发送给所述第三加速节点。
22.如权利要求12所述的装置,其特征在于,还包括:
所述接收模块还用于:在所述第一加速节点通过所述第二网络连接接收所述第一数据包的目标节点发送的第三回应数据包;
所述第一转发模块还用于:
根据所述第三回应数据包内包括的所述第一会话标识符获取所述第一网络连接的标识符;以及
通过所述第一网络连接将所述第三回应数据包发送至所述客户端。
23.一种计算机可读存储介质,所述存储介质存储有一个或一个以上的指令,所述一个或者一个以上的指令被配置由处理器执行如权利要求1至11任一所述的在网络系统中传输数据的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410008150.7A CN104767679B (zh) | 2014-01-08 | 2014-01-08 | 一种在网络系统中传输数据的方法及装置 |
PCT/CN2014/095217 WO2015103929A1 (en) | 2014-01-08 | 2014-12-27 | Method and apparatus for transmitting data in network system |
US15/158,382 US20160269286A1 (en) | 2014-01-08 | 2016-05-18 | Method and apparatus for transmitting data in network system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410008150.7A CN104767679B (zh) | 2014-01-08 | 2014-01-08 | 一种在网络系统中传输数据的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104767679A CN104767679A (zh) | 2015-07-08 |
CN104767679B true CN104767679B (zh) | 2018-12-18 |
Family
ID=53523534
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410008150.7A Active CN104767679B (zh) | 2014-01-08 | 2014-01-08 | 一种在网络系统中传输数据的方法及装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20160269286A1 (zh) |
CN (1) | CN104767679B (zh) |
WO (1) | WO2015103929A1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106357792B (zh) * | 2016-10-10 | 2019-09-06 | 网宿科技股份有限公司 | 节点选路方法及系统 |
CN106792261B (zh) * | 2016-11-22 | 2020-06-09 | 北京大米科技有限公司 | 用于流媒体转发的方法及装置、路由方法及装置 |
CN106792257B (zh) * | 2016-11-22 | 2019-12-10 | 北京大米科技有限公司 | 用于流媒体转发的方法及装置、路由方法及装置 |
CN107612759B (zh) * | 2017-11-03 | 2021-09-10 | 北京星河星云信息技术有限公司 | 网络访问加速方法和分流装置 |
CN109274641A (zh) * | 2018-08-09 | 2019-01-25 | 广东神马搜索科技有限公司 | 客户端与服务节点之间的连接方法和装置、计算设备和存储介质 |
US11153801B2 (en) * | 2019-04-26 | 2021-10-19 | At&T Intellectual Property I, L.P. | Facilitating dynamic multiple public land mobile network resource management in advanced networks |
US11055113B1 (en) | 2020-02-26 | 2021-07-06 | The Toronto-Dominion Bank | Data rendering for applications |
US20220107924A1 (en) * | 2020-10-01 | 2022-04-07 | The Toronto-Dominion Bank | Data reporting architecture for applications |
KR102460695B1 (ko) * | 2022-02-24 | 2022-10-31 | 프라이빗테크놀로지 주식회사 | 컨트롤러 기반의 네트워크 접속을 제어하기 위한 시스템 및 그에 관한 방법 |
KR102460694B1 (ko) * | 2022-02-24 | 2022-10-31 | 프라이빗테크놀로지 주식회사 | 컨트롤러 기반의 네트워크 접속을 제어하기 위한 시스템 및 그에 관한 방법 |
CN114978806A (zh) * | 2022-05-05 | 2022-08-30 | 上海联虹技术有限公司 | 基于硬件加速的数据传输方法及其装置、处理器 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101453404A (zh) * | 2007-11-30 | 2009-06-10 | 华为技术有限公司 | 一种实现负载均衡的方法及装置 |
CN101977234A (zh) * | 2010-11-02 | 2011-02-16 | 中南大学 | 基于并行tcp技术的广域网通信加速方法 |
CN102404204A (zh) * | 2011-11-01 | 2012-04-04 | 深信服网络科技(深圳)有限公司 | 网络拓扑中的加速方法、装置及系统 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7120666B2 (en) * | 2002-10-30 | 2006-10-10 | Riverbed Technology, Inc. | Transaction accelerator for client-server communication systems |
CN100550794C (zh) * | 2003-09-02 | 2009-10-14 | 华为技术有限公司 | 一种域内选路方法 |
CN100433909C (zh) * | 2005-04-29 | 2008-11-12 | 华为技术有限公司 | 一种从电路交换网络到ims网络传输呼叫信令的方法 |
JP5055153B2 (ja) * | 2008-02-01 | 2012-10-24 | 株式会社日立製作所 | 解析システムおよび解析サーバ |
US7873060B2 (en) * | 2008-10-18 | 2011-01-18 | Fortinet, Inc. | Accelerating data communication using tunnels |
CN102203813B (zh) * | 2008-11-04 | 2014-04-09 | 株式会社日立制作所 | 信息处理系统 |
US8051203B2 (en) * | 2009-03-12 | 2011-11-01 | Cisco Technology, Inc. | Providing SCSI acceleration as a service in the SAN |
US20110029899A1 (en) * | 2009-08-03 | 2011-02-03 | FasterWeb, Ltd. | Systems and Methods for Acceleration and Optimization of Web Pages Access by Changing the Order of Resource Loading |
US9121924B2 (en) * | 2011-01-13 | 2015-09-01 | Panasonic Intellectual Property Corporation Of America | Method for determination of wireless terminals positions and associated system and apparatus thereof |
US8745267B2 (en) * | 2012-08-19 | 2014-06-03 | Box, Inc. | Enhancement of upload and/or download performance based on client and/or server feedback information |
WO2014067070A1 (zh) * | 2012-10-30 | 2014-05-08 | 华为技术有限公司 | 数据传输方法、切换方法、数据传输装置、切换装置、用户设备、无线接入节点、数据传输系统、切换系统 |
CN104380658B (zh) * | 2013-04-28 | 2018-06-05 | 华为技术有限公司 | 流分类器、业务路由触发器、报文处理的方法和系统 |
US9497079B2 (en) * | 2013-06-13 | 2016-11-15 | Sap Se | Method and system for establishing, by an upgrading acceleration node, a bypass link to another acceleration node |
US9137162B2 (en) * | 2013-07-23 | 2015-09-15 | Sap Se | Network traffic routing optimization |
-
2014
- 2014-01-08 CN CN201410008150.7A patent/CN104767679B/zh active Active
- 2014-12-27 WO PCT/CN2014/095217 patent/WO2015103929A1/en active Application Filing
-
2016
- 2016-05-18 US US15/158,382 patent/US20160269286A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101453404A (zh) * | 2007-11-30 | 2009-06-10 | 华为技术有限公司 | 一种实现负载均衡的方法及装置 |
CN101977234A (zh) * | 2010-11-02 | 2011-02-16 | 中南大学 | 基于并行tcp技术的广域网通信加速方法 |
CN102404204A (zh) * | 2011-11-01 | 2012-04-04 | 深信服网络科技(深圳)有限公司 | 网络拓扑中的加速方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
US20160269286A1 (en) | 2016-09-15 |
WO2015103929A1 (en) | 2015-07-16 |
CN104767679A (zh) | 2015-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104767679B (zh) | 一种在网络系统中传输数据的方法及装置 | |
US20220060970A1 (en) | Routing Rule Configuration Method and Communications Apparatus | |
EP3993347A1 (en) | Method and device for application migration | |
US20220060416A1 (en) | Routing Rule Management Method and Communications Apparatus | |
CN104753808B (zh) | 一种在网络系统中传输数据的方法、装置及数据传输系统 | |
US10805357B2 (en) | Method and apparatus for managing calls | |
CN104717186B (zh) | 一种在网络系统中传输数据的方法、装置及数据传输系统 | |
US10992769B2 (en) | Data transmission method, apparatus and system | |
CN113595908A (zh) | 报文传输方法及装置 | |
WO2020200436A1 (en) | Apparatus, method and computer program for group communication | |
RU2013122949A (ru) | Улучшенный способ, точка доступа, сервер и система для автоматического удаленного доступа к сетям стандарта ieee 802.11 | |
US9781579B2 (en) | Method and device for realizing terminal WIFI talkback | |
CN110166414B (zh) | 一种通信方法、装置及系统 | |
CN109196842B (zh) | 一种会话保持方法、设备及存储介质 | |
US20230061152A1 (en) | Communication method, apparatus, and system | |
CN103262611A (zh) | 移动通信系统中的网关重新定位控制方法和控制设备 | |
CN106027599B (zh) | 一种数据传输通道建立方法、系统和服务器 | |
CN105656978A (zh) | 一种资源共享方法及装置 | |
CN105450697B (zh) | 一种多设备同屏共享方法、装置及服务器 | |
WO2021163901A1 (zh) | 一种会话处理方法及其装置 | |
CN107634896B (zh) | 数据传输方法及装置 | |
CN109379277B (zh) | 一种基于路由寻址的分布式im通信方法及其装置 | |
US10575343B2 (en) | Communication method and apparatus | |
US20240113970A1 (en) | Network path determining method and apparatus, communication device and storage medium | |
CN113473441B (zh) | 数据转发方法及装置、节点设备以及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20190731 Address after: Shenzhen Futian District City, Guangdong province 518044 Zhenxing Road, SEG Science Park 2 East Room 403 Co-patentee after: Tencent cloud computing (Beijing) limited liability company Patentee after: Tencent Technology (Shenzhen) Co., Ltd. Address before: Shenzhen Futian District City, Guangdong province 518044 Zhenxing Road, SEG Science Park 2 East Room 403 Patentee before: Tencent Technology (Shenzhen) Co., Ltd. |