基于多连接的数据发送方法及装置制造方法及图纸

技术编号:14152309 阅读:65 留言:0更新日期:2016-12-11 15:36
本申请提供了基于多连接的数据发送方法及装置,该方法包括:多连接建立过程和数据发送过程,其中,所述多连接建立过程包括:响应于客户端发送的多连接的建立请求,生成与所述多连接唯一对应的会话标识;依据所述会话标识建立与客户端之间的多连接;所述数据发送过程包括:响应于当前提交的目标数据流,将所述目标数据流通过建立的所述多连接发送至所述客户端。在本申请实施例中,即使多连接中当前正在发送数据的连接的速度变慢,也可以采用该多连接中剩余连接来继续发送数据流,从而可以弥补速度变慢的连接所带来的波动,使得数据流的发送速度趋于平滑。

【技术实现步骤摘要】

本申请涉及互联网
,特别涉及一种基于多连接的数据发送方法及装置、一种基于多连接的数据接收方法及装置。
技术介绍
目前,随着互联网的发展,越来越多的用户或者企业采用互联网收发数据。一般情况下,在发送端和接收端传输数据时,需要在发送端和接收端建立一个数据连接,然后通过该数据连接传输目标数据,待传输完毕之后,再释放该数据连接即可。
技术实现思路
但是专利技术人在研究过程中发现,现有技术在发送数据的时候,都是使用单连接的发送方式,即,仅仅在发送端和接收端之间建立一个数据连接来发送数据,这就使得在网络带宽有限并且网络延迟较大的情况下,很容易产生发送速度的波动;进一步的,现有技术在发送目标数据时,如果数据量较大,还会占用较多的网络资源和耗费较多的时间。基于此,本申请所要解决的技术问题是提供一种基于多连接的数据发送和接收方法,用以尽量避免现有技术中采用单连接的发送方式造成的发送速度容易产生波动的现象,进一步的,还提过批量压缩的功能减少网络资源和时间和消耗。本申请还提供了一种基于多连接的数据发送装置,用以保证上述方法在实际中的实现及应用。为了解决上述问题,本申请公开了一种基于多连接的数据发送方法,应用于服务器上,该方法包括:多连接建立过程和数据发送过程,其中,所述多连接建立过程包括:响应于客户端发送的多连接的建立请求,生成与所述多连接唯一对
应的会话标识;依据所述会话标识建立与客户端之间的多连接;所述数据发送过程包括:响应于当前提交的目标数据流,将所述目标数据流通过建立的所述多连接发送至所述客户端。本申请公开了一种基于多连接的数据接收方法,该方法应用于客户端,包括:多连接建立过程和数据接收过程,其中,所述多连接建立过程包括:向服务器发送多连接的建立请求;接收服务器返回的、与所述多连接唯一对应的会话标识;依据所述会话标识建立与服务器之间的多连接;所述数据接收过程包括:通过建立的所述多连接接收服务器发送的目标数据流。本申请公开了一种基于多连接的数据发送装置,集成于服务器上,该装置包括:第一多连接建立单元和数据发送单元,其中,所述第一多连接建立单元包括:生成会话标识模块,用于响应于客户端发送的多连接的建立请求,生成与所述多连接唯一对应的会话标识;第一建立模块,用于依据所述会话标识建立与客户端之间的多连接;所述数据发送单元包括数据发送模块,所述数据发送模块用于响应于当前提交的目标数据流,将所述目标数据流通过建立的所述多连接发送至所述客户端。本申请公开了一种基于多连接的数据接收方法,集成于客户端上,包括:多连接建立单元和数据接收单元,其中,所述多连接建立单元包括:发送请求模块,用于向服务器发送多连接的建立请求;接收会话标识模块,用于接收服务器返回的、与所述多连接唯一对应的会话标识;第二建立模块,用于依据所述会话标识建立与服务器之间的多连接;所述数据接收单元包括:数据接收模块,用于通过建立的所述多连接接收服务器发送的目标数据流。与现有技术相比,本申请包括以下优点:在本申请实施例中,服务器采用与客户端之间的多连接发送即时的数据流,这样的话,即使多连接中当前正在发送数据的连接的速度变慢,也可以采用该多连接中剩余连接来继续发送数据流,从而可以弥补速度变慢的连接所带来的波动,使得数据流的发送速度趋于平滑。进一步的,在本实施例中,针对存储缓冲区中的数据,也是待存储缓冲区的存储空间满了之后再批量压缩数据流,从而更进一步的减少了实际发送数据流的网络流量,降低了网络堵塞出现的可能性,使得数据链路的质量得到了保证。当然,实施本申请的任一产品并不一定需要同时达到以上所述的所有优点。附图说明为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本申请的基于多连接的数据发送方法实施例的流程图;图2是本申请的基于多连接的数据接收方法实施例的流程图;图3是本申请的基于多连接的数据发送装置实施例的结构框图;图4是本申请的基于多连接的数据接收装置实施例的结构框图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本
申请保护的范围。本申请可用于众多通用或专用的计算装置环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器装置、包括以上任何装置或设备的分布式计算环境等等。本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。参考图1,示出了本申请一种基于多连接的数据发送方法实施例的流程图,应用于服务器上进行数据发送,本实施例可以包括多连接建立过程和数据发送过程,其中,多连接建立过程包括步骤101~步骤102,数据发送过程包括步骤103,本实施例具体包括以下步骤:步骤101:响应于客户端发送的多连接的建立请求,生成与所述多连接唯一对应的会话标识。在本实施例中,多连接的数据发送指的是针对实时的数据流的多连接发送,也即,数据流会被切分到多个连接中去,可以被附加自定义的首部,到达接收端以后会进行数据流的重组。本实施例应用于发送端的发送组件,也即服务器(Server)。而和服务器交互用于通过多连接接收数据的接收组件,也即客户端(Client)。首先,当服务器运行起来以后,会开放一个端口,等待客户端的连接,客户端会向服务器发送多连接的建立请求,从而通过该建立请求来向服务器索取会话(Session)标识。客户端会先建立一个和服务器之间的协商连接,然后通过该协商连接来向服务器发送多连接的建立请求,可以在多连接的建立请求中携带多连接的个数信息,例如,4个,那么加上之间的协商连接,客户端和服务器之间将建立一共5个连接的多连接。在实际应用中,服务器在建立和客户端之间的协商连接后,会针对客
户端需要建立的多连接,来生成一个与该多连接唯一对应的会话标识,并将该会话标识发送给客户端,该会话即实际中发生数据流的管道。步骤102:依据所述会话标识建立与客户端之间的多连接。然后客户端得到这个会话标识以后会带着自己的用户信息以及会话标识再向服务器发送启动剩下的4个连接的消息。服务器拿到客户端发送的启动数据流的连接的消息以后,还可以将这个已经建立好的多连接按照会话标识分组通知给需要发送数据流的用户,这样用户也就能够看到会话了,用户只需要调用类似写(write)和读(read)函数进行发送或读取数据的操作就可以了。可以理解的是,在多连接建立的过程中,多个带有相同的会话标识的连接(socket)会被分配到同一个会话(session)中,而用本文档来自技高网
...
基于多连接的数据发送方法及装置

【技术保护点】
一种基于多连接的数据发送方法,其特征在于,应用于服务器上,该方法包括:多连接建立过程和数据发送过程,其中,所述多连接建立过程包括:响应于客户端发送的多连接的建立请求,生成与所述多连接唯一对应的会话标识;依据所述会话标识建立与客户端之间的多连接;所述数据发送过程包括:响应于当前提交的目标数据流,将所述目标数据流通过建立的所述多连接发送至所述客户端。

【技术特征摘要】
1.一种基于多连接的数据发送方法,其特征在于,应用于服务器上,该方法包括:多连接建立过程和数据发送过程,其中,所述多连接建立过程包括:响应于客户端发送的多连接的建立请求,生成与所述多连接唯一对应的会话标识;依据所述会话标识建立与客户端之间的多连接;所述数据发送过程包括:响应于当前提交的目标数据流,将所述目标数据流通过建立的所述多连接发送至所述客户端。2.根据权利要求1所述的方法,其特征在于,所述响应于当前提交的目标数据流,将所述目标数据流通过建立的所述多连接发送至所述客户端,包括:响应于当前提交的目标数据流,判断用于存放目标数据流的存储缓冲区是否有足够的存储空间,如果是,则将所述目标数据流存储至所述存储缓冲区中;判断当前时间是否已经结束预设的休眠时间周期,如果是,将所述存储缓冲区中的目标数据流进行压缩,并将压缩后的目标数据流存储至发送缓冲区中;将所述发送缓冲区中压缩后的目标数据流通过建立的所述多连接发送至所述客户端。3.根据权利要求2所述的方法,其特征在于,所述将所述目标数据流存储至所述存储缓冲区中,包括:将所述目标数据流中的目标数据按照预先设置的第一数据格式添加第一数据头;其中,所述第一数据头包括:数据类型、数据长度和数据标识,所述数据类型用于表示所述目标数据是否进行了切割,所述数据长度为一个目标数据的长度,所述数据标识用于按照各个目标数据的顺序唯一标识所述目标数据流中的一个目标数据;将添加第一数据头后的目标数据存储至所述存储缓冲区中。4.根据权利要求2所述的方法,其特征在于,所述将压缩后的目标数据流存储至发送缓冲区中,包括:将所述压缩后的目标数据流中的压缩数据,按照预先设置的第二数据格式添加第二数据头;其中,所述第二数据头包括:压缩标志、压缩后的数据长度、压缩前的源长度和压缩后的数据内容;将添加第二数据头后的压缩数据存储至所述发送缓冲区中。5.根据权利要求2所述的方法,其特征在于,所述将所述目标数据流通过建立的所述多连接发送至所述客户端,包括:将所述目标数据流通过所述多连接中最先建立的第一个连接确定为当前连接,将所述目标数据流通过所述当前连接发送至所述客户端;其中,所述多连接中的每一个连接都对应一个存储缓冲区和一个发送缓冲区;在发送所述目标数据流的过程中,判断所述当前连接对应的存储缓冲区是否写入目标数据流失败,如果否,则继续将所述目标数据流通过所述当前连接发送至所述客户端;如果是,则选择所述多连接中剩余的其他任意一个剩余连接作为当前连接,并执行将所述目标数据流通过所述当前连接发送至所述客户端的步骤,直至所述目标数据流成功发送至客户端,或者,所述多连接中的全部连接都判断完毕。6.根据权利要求1所述的方法,其特征在于,在将所述目标数据流通过建立的所述多连接发送至所述客户端的过程中,还包括:判断发送所述目标数据流的时间长度是否达到预先设置的发送时间阈值,如果是,则暂停所述目标数据流的发送,并当暂停时间到达所述发送时间阈值时,继续执行将所述目标数据流通过建立的所述多连接发送至所述客户端的步骤。7.一种基于多连接的数据接收方法,其特征在于,该方法应用于客户端,包括:多连接建立过程和数据接收过程,其中,所述多连接建立过程包括:向服务器发送多连接的建立请求;接收服务器返回的、与所述多连接唯一对应的会话标识;依据所述会话标识建立与服务器之间的多连接;所述数据接收过程包括:通过建立的所述多连接接收服务器发送的目标数据流。8.根据权利要求7所述的方法,其特征在于,所述通过建立的所述多连接接收服务器发送的目标数据流,包括:通过建立的多连接中的任意一个当前连接接收服务器发送的目标数据流。9.根据权利要求8所述的方法,其特征在于,所述通过建立的多连接中的任意一个当前连接接收服务器发送的目标数据流,包括:响应于服务器通过建立的多连接中的任意一个当前连接发送的、压缩后的目标数据流,判断用于存放压缩后的目标数据流的压缩缓冲区是否有足够的存储空间,如果是,则将所述压缩后的目标数据流存储至所述压缩缓冲区中;判断所述压缩缓冲区的存储空间是否用完,如果是,则将所述压缩缓冲区中压缩后的目标数据流进行解压后存储至缓存缓冲区中。10.根据权利要求9所述的方法,其特征在于,所述解压后的目标数据流中的目标数据具有第一数据头,所述第一数据头包括:数据类型、数据长度和数据标识,所述数据类型用于表示所述目标数据是否进行了切割,所述数据长度为一个目标数据的长度,所述数据标识用于唯一标识所述待发送的数据流中的一个目标数据;则所述通过建立的多连接中的任意一个当前连接接收服务器发送的目标数据流之后,还包括:依据所述目标数据流中的目标数据的数据标识,按照先后顺序组合所述目标数据;将组合好的目标数据显示给用户。11.根据权利要求9所述的方法,其特征在于,所述压缩后的目标数据流中的压缩数据包括第二数据头,所述第二数据头包括:压缩标志、压缩后的压缩长度、压缩前的源长度和压缩数据内容;所述将压缩缓冲
\t区中压缩后的目标数据流进行解压后存储至缓存缓冲区中,包括:读取所述压缩后的目标数据流中的压缩数据的第二数据头;判断所述缓存缓冲区的存储空间是否大于所述压缩数据的压缩前的源长度,如果是,则将压缩后的目标数据流进行解压,并将解压后的目标数据流存储至缓存缓冲区中。12.一种基于多连接的数据发送装置,其特征在于,集成于服务器上,该装置包括:第一多连接建立单元和数据发送单元,其中,所述第一多连接建立单元包括:生成会话标识模块,用于响应于客户端发送的多连接的建立请求...

【专利技术属性】
技术研发人员:郑龙鹏程实
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1