一种采用多卡发送数据的方法以及装置制造方法及图纸

技术编号:9571572 阅读:103 留言:0更新日期:2014-01-16 04:21
本发明专利技术公开了一种采用多卡发送数据的方法以及装置,该方法包括:数据发送端接收到数据请求端发送的连接建立请求后,将至少一张第三代移动通信3G卡分别与所述数据请求端建立通信连接,其中,每张3G卡具有一个发送缓冲区;当接收到所述数据请求端发送的数据获取请求后,将所述数据请求端请求获取的待发送数据包加入到待发送队列中;从所述待发送队列中依次获取待发送数据包,并通过发送缓冲区的可用容量足够的3G卡作为当前发送卡向所述数据请求端发送。该方法能够保证及时、准确地向数据请求端发送请求获取的数据。

【技术实现步骤摘要】
一种采用多卡发送数据的方法以及装置
本专利技术涉及通信
,尤指一种采用多卡发送数据的方法以及装置。
技术介绍
目前,主流的无线传输方式有两种:第三代移动通信(3rd_generation,3G)技术和无线保真(Wireless Fidelity,WIFI)技术,如果需要随时随地进行数据发送,则采用3G技术。当数据发送端通过多张3G卡向数据请求端发送数据时,一般采用轮流发送的方式:假如共有3张3G卡,记为G1、G2、G3,将向数据请求端发送的数据分成若干个数据包,当第一个数据包通过Gl发送,那么,第二个数据包可以通过G2发送,第三个数据包可以通过G3发送,第四个数据包可以再通过Gl发送,以此类推。当每张3G卡的无线链路状况都良好时,这种轮流发送方式能够满足发送的要求;但是,如果某张3G卡的无线链路状况比较差,那么通过这张3G卡发送数据包的速度会非常慢甚至无法发送数据包,而数据请求端就会因为接收到这个数据包的时间延迟导致接收完整数据的效率降低,甚至会因为无法接收到这张3G卡发送的数据包而导致无法接受到完整的数据。可见,采用这种轮流发送方式发送数据的效率和准确率都非常低。为了解决上述问题,采用负载均衡的发送方式发送数据:分别统计每张3G卡每次发送的数据量及所使用的时间,以此来计算每张3G卡的实际带宽,然后根据计算出的带宽来分配每张3G卡可以发送的数据量。这种根据3G卡之前发送的数据量来确定其现在可以发送的数据量的方式具有严重的滞后性,这就会影响数据发送的效率;并且,如果3G卡的无线链路状况不稳定,3G卡的实际带宽就会存在很大的波动,这就导致设备频繁地计算3G卡的实际带宽,不能准确地预测3G卡后期的实际带宽,也就不能准确地确定3G卡可以发送的数据量。可见,这种负载均衡的发送方式仍然不能解决轮流发送方式发送数据时效率和准确率非常低的问题。综上所述,现有技术中数据发送端通过多张3G卡向数据请求端发送数据时,效率和准确率都非常低。
技术实现思路
本专利技术实施例提供一种采用多卡发送数据的方法以及装置,用以解决现有技术中存在的数据发送端通过多张3G卡向数据请求端发送数据时,效率和准确率都非常低的问题。一种数据发送方法,包括:数据发送端接收到数据请求端发送的连接建立请求后,将至少一张第三代移动通信3G卡分别与所述数据请求端建立通信连接,其中,每张3G卡具有一个发送缓冲区;当接收到所述数据请求端发送的数据获取请求后,将所述数据请求端请求获取的待发送数据包加入到待发送队列中;从所述待发送队列中依次获取待发送数据包,并通过发送缓冲区的可用容量足够的3G卡作为当前发送卡向所述数据请求端发送。一种采用多卡发送数据的装置,包括:连接建立单元,用于接收到数据请求端发送的连接建立请求后,将至少一张第三代移动通信3G卡分别与所述数据请求端建立通信连接,其中,每张3G卡具有一个发送缓冲区;数据发送单元,用于当接收到所述数据请求端发送的数据获取请求后,将所述数据请求端请求获取的待发送数据包加入到待发送队列中;从所述待发送队列中依次获取待发送数据包,并通过发送缓冲区的可用容量足够的3G卡作为当前发送卡向所述数据请求端发送。本专利技术有益效果如下:本专利技术实施例提供的采用多卡发送数据的方法以及装置,通过数据发送端接收到数据请求端发送的连接建立请求后,将至少一张第三代移动通信3G卡分别与所述数据请求端建立通信连接,其中,每张3G卡具有一个发送缓冲区;当接收到所述数据请求端发送的数据获取请求后,将所述数据请求端请求获取的待发送数据包加入到待发送队列中;从所述待发送队列中依次获取待发送数据包,并通过发送缓冲区的可用容量足够的3G卡作为当前发送卡向所述数据请求端发送。该方法中的每张3G卡都具有一个发送缓冲区,当接收到数据请求端发送的数据获取请求后,可以选用发送缓冲区的可用容量足够的3G卡向数据请求端发送数据,这样就能够实现每一个数据包都能够及时、准确地向数据请求端发送,从而保证了数据请求端可以及时、准确地接收到请求获取的数据。【附图说明】图1为本专利技术实施例中采用多卡发送数据的方法的流程图;图2为本专利技术实施例中优选的采用多卡发送数据的方法的流程图;图3为本专利技术实施例中采用多卡发送数据的装置的结构示意图。【具体实施方式】针对现有技术中存在的数据发送端通过多张3G卡向数据请求端发送数据时,效率和准确率都非常低,本专利技术实施例提供一种采用多卡发送数据的方法,该方法的流程如图1所示,具体执行步骤如下:S10:数据发送端接收到数据请求端发送的连接建立请求后,将至少一张第三代移动通信3G卡分别与数据请求端建立通信连接,其中,每张3G卡具有一个发送缓冲区。在本专利技术实施例中,采用多张3G卡向数据请求端发送数据,当数据请求端请求获取数据时,首先会请求建立通信连接,数据发送端在接收到数据请求端发送的连接建立请求后,将所有的3G卡分别与数据请求端建立通信连接,可以在建立通信连接的过程中为每张3G分配设定容量的发送缓冲区,也可以在建立通信连接后为每张3G卡分配设定容量的发送缓冲区,并向数据请求端返回连接建立响应通知数据请求端已经建立了通信连接。可以为每张3G卡分配同样容量的发送缓冲区,也可以根据实际需要为每张3G卡分配不同容量的发送缓冲区。Sll:当接收到数据请求端发送的数据获取请求后,将数据请求端请求获取的待发送数据包加入到待发送队列中。当数据发送端接收到数据请求端发送的数据获取请求后,将数据请求端请求获取的数据分成若干数据包,并将这些待发送数据包加入到待发送队列中,依次向数据请求客户端发送。例如:当移动终端请求获取视频数据时,数据发送端就可以将所有的视频数据分成设定大小的数据包,然后加入到待发送队列中依次向数据请求端发送即可。S12:从待发送队列中依次获取待发送数据包,并通过发送缓冲区的可用容量足够的3G卡作为当前发送卡向数据请求端发送。该方法中的每张3G卡都具有一个发送缓冲区,当接收到数据请求端发送的数据获取请求后,可以选用发送缓冲区的可用容量足够的3G卡向数据请求端发送数据,这样就能够实现每一个数据包都能够及时、准确地向数据请求端发送,从而保证了数据请求端可以及时、准确地接收到请求获取的数据。下面以一个优选实施例来说明本专利技术方法,该方法的流程如图2所示,具体执行步骤如下:S20:数据发送端接收数据请求端发送的连接建立请求。数据请求端想要获取数据时,首先需要发送连接建立请求,才能建立通信连接。S21:将每张3G卡分别与数据请求端建立通信连接,为每张3G卡分配相同容量的发送缓冲区并向数据请求端返回连接建立响应。当然也可以每张3G卡分配不同容量的发送缓冲区,这可以依据实际情况确定分配的发送缓冲区的设定容量。在将每张3G卡分别与数据请求端建立通信连接时,可以分别为每张3G卡创建一个套接字(Socket)与之绑定,也可以为每个Socket分配设定容量的发送缓冲区,也就相当于为与每个Socket对应的3G卡分配了设定容量的发送缓冲区。S22:接收数据请求端发送的数据获取请求。数据请求端在接收到连接建立响应后,发送数据获取请求,通过数据获取请求来请求获取数据,例如音频、视频等等数据。S23:选定一张3G卡作为当前发送卡。可以为所有的3G卡分配一个编号,当有3张3G卡时本文档来自技高网
...

【技术保护点】
一种采用多卡发送数据的方法,其特征在于,包括:数据发送端接收到数据请求端发送的连接建立请求后,将至少一张第三代移动通信3G卡分别与所述数据请求端建立通信连接,其中,每张3G卡具有一个发送缓冲区;当接收到所述数据请求端发送的数据获取请求后,将所述数据请求端请求获取的待发送数据包加入到待发送队列中;从所述待发送队列中依次获取待发送数据包,并通过发送缓冲区的可用容量足够的3G卡作为当前发送卡向所述数据请求端发送。

【技术特征摘要】
1.一种采用多卡发送数据的方法,其特征在于,包括: 数据发送端接收到数据请求端发送的连接建立请求后,将至少一张第三代移动通信3G卡分别与所述数据请求端建立通信连接,其中,每张3G卡具有一个发送缓冲区; 当接收到所述数据请求端发送的数据获取请求后,将所述数据请求端请求获取的待发送数据包加入到待发送队列中; 从所述待发送队列中依次获取待发送数据包,并通过发送缓冲区的可用容量足够的3G卡作为当前发送卡向所述数据请求端发送。2.如权利要求1所述的方法,其特征在于,从所述待发送队列中依次获取待发送数据包,并通过发送缓冲区的可用容量足够的3G卡作为当前发送卡向所述数据请求端发送,具体包括: 选定一张3G卡作为当前发送卡,针对从所述待发送队列中获取的每个待发送数据包,依次执行: 判断所述当前发送卡的发送缓冲区的可用容量是否能够容纳所述待发送数据包; 若是,通过所述当前发送卡向所述数据请求端发送所述待发送数据包; 否则,在所有3G卡中重新选取发送缓冲区的可用容量最大的3G卡作为当前发送卡,通过重新选取的当前发送卡向所述数据请求端发送所述待发送数据包。3.如权利要求2所述的方法,其特征在于,通过重新选取的当前发送卡向所述数据请求端发送所述待发送数据包,具体包括:` 判断重新选取的当前发送卡的发送缓冲区的可用容量是否能够容纳所述待发送数据包; 若是,通过重新选取的当前发送卡向所述数据请求端发送所述待发送数据包; 否则,根据所述数据请求端请求获取的待发送数据包的类型通过重新选取的当前发送卡向所述数据请求端发送所述待发送数据包。4.如权利要求3所述的方法,其特征在于,根据所述数据请求端请求获取的待发送数据包的类型通过重新选取的当前发送卡向所述数据请求端发送所述待发送数据包,具体包括: 若所述数据请求端请求获取的待发送数据包为非实时数据包,将所述待发送数据包重新加入到所述待发送队列中,确定所述重新选取的当前发送卡的发送缓冲区的可用容量能够容纳所述待发送数据包时,通过重新选取的当前发送卡向所述数据请求端发送所述待发送数据包; 若所述数据请求端请求获取的待发送数据包为实时数据包,丢弃所述待发送队列中的部分待发送数据包,若所述待发送数据包未被丢弃,延迟设定的时间长度后且重新选取的当前发送卡的发送...

【专利技术属性】
技术研发人员:高迎军张兴明傅利泉朱江明吴军吴坚
申请(专利权)人:浙江大华技术股份有限公司
类型:发明
国别省市:

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

1