System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术实施例涉及通信,尤其涉及一种数据传输方法和装置。
技术介绍
1、随着技术和经济的发展,计算机在人们社会生活中越来越普及,应用领域也越来越广泛。一般地,计算机包括主机和外部设备。其中,主机包括中央处理器、内存、硬盘等核心部件,完成计算机的大部分计算。外部设备与主机通过各类通信协议进行通信,协助主机完成输入、输出、网络连接、加密等计算任务。其中,usb(universal serial bus,通用串行总线)通信协议由于具有通信效率高、支持热插拔等优点逐渐成为主机与外部设备之间应用最多的通信协议。
2、然而,在主机为网关、域控制器、后台服务器等应用场景下,由于需要协助处理的待处理数据较多,主机需要将多个用户的待处理数据发送给多个外部设备进行辅助处理,这对于采用usb协议通信的主机和外部设备并不友好。
3、具体地,一方面,已有技术中主机一次只能将一个待处理数据封装后发送给外部设备,导致多个待处理数据的传输时间长,且影响数据的整体处理速度;另一方面,主机和多个外部设备之间的数据传输缺乏一种均衡机制,这也将导致数据的整体处理速度降低。
技术实现思路
1、本专利技术实施例旨在至少在一定程度上解决相关技术中的技术问题之一。
2、为此,本专利技术实施例公开一种数据传输方法和装置,通过设置预设发送队列,以支持多个待处理数据的并行封装和填充,节省待处理数据的封装时间,进而节约了多个待处理数据的传输时间,也提高了整体的处理速度。
3、在第一方面中
4、获取多个节点申请请求;其中,每个节点申请请求由一个用户发起;
5、将预设发送队列中的发送节点分配给每个节点申请请求;
6、并行地将每个用户的待处理数据与对应的发送节点标识按照预设通信协议封装,并将封装后的待处理数据填充到对应的发送节点中;
7、将填充到发送节点中的待处理数据均衡地发送给各所述usb设备;
8、获取各所述usb设备反馈的运算结果数据;其中,所述运算结果数据包括接收节点标识,发送节点标识和接收节点标识一一对应。
9、在第一方面的一具体实施例中,并行地将每个用户的待处理数据与对应的发送节点标识按照预设通信协议封装,并将封装后的待处理数据填充到对应的发送节点中,包括:
10、并行地将每个用户的待处理数据进行切分,将每个切分得到的数据与对应的发送节点标识按照预设通信协议封装为预设大小的数据包,并将数据包填充到对应的发送节点中;
11、将填充到发送节点中的待处理数据均衡地发送给各所述usb设备,包括:
12、将填充到发送节点中的数据包均衡地发送给各所述usb设备;其中,每次发送给每个所述usb设备的数据包个数最多为n个,n根据所述usb设备接收数据的最大缓存数据量和所述预设大小确定。
13、在第一方面的一具体实施例中,将填充到发送节点中的数据包均衡地发送给各所述usb设备,包括:
14、当处于填充状态的发送节点个数大于等于n*m时,为每个所述usb设备分配并发送n个数据包;其中,m为所述usb设备的数量;
15、当处于填充状态的发送节点个数小于n*m时,为p个所述usb设备分配并发送x个数据包,为q个所述usb设备分配并发送x+1个数据包;其中,p+q=m,xp+(x+1)q=y,x=[y/m],y等于当前处于填充状态的发送节点个数。
16、在第一方面的一具体实施例中,将填充到发送节点中的数据包均衡地发送给各所述usb设备,包括:
17、当处于填充状态的发送节点个数大于等于n*m时,为每个所述usb设备分配并发送n个数据包;其中,m为所述usb设备的数量;
18、当处于填充状态的发送节点个数小于n*m时,且处于填充状态的发送节点个数加上剩余已申请发送节点数量大于等于n*m时,等待至处于填充状态的发送节点个数大于等于n*m时,为每个所述usb设备分配并发送n个数据包;
19、当处于填充状态的发送节点个数小于n*m,且处于填充状态的发送节点个数加上剩余已申请发送节点数量小于n*m时,在所有发送节点填充完成时,为p个所述usb设备分配并发送x个数据包,为q个所述usb设备分配并发送x+1个数据包;其中,p+q=m,xp+(x+1)q=y,x=[y/m],y等于所有发送节点填充完成时处于填充状态的发送节点个数。
20、在第一方面的一具体实施例中,将填充到发送节点中的数据包均衡地发送给各所述usb设备,包括:
21、当处于填充状态的发送节点个数大于等于n*m时,为每个所述usb设备分配并发送n个数据包;其中,m为所述usb设备的数量;
22、当处于填充状态的发送节点个数大于等于s*m小于n*m时,为p’个所述usb设备分配并发送x’个数据包,为q’个所述usb设备分配并发送x’+1个数据包;其中,p’+q’=m,x’p’+(x’+1)q’=y’,x’=[y/m],y’等于当前处于填充状态的发送节点个数;其中,s≥2;
23、当处于填充状态的发送节点个数小于s*m时,为p’’个所述usb设备分配并发送s个数据包,为1个所述usb设备分配并发送r个数据包;其中,sp’’+r=y’,r≤s。
24、在第一方面的一具体实施例中,将填充到发送节点中的数据包均衡地发送给各所述usb设备,包括:
25、当处于填充状态的发送节点个数大于等于n*m时,为每个所述usb设备分配并发送n个数据包;其中,m为所述usb设备的数量;
26、当处于填充状态的发送节点个数小于n*m时,且处于填充状态的发送节点个数加上剩余已申请发送节点数量大于等于n*m时,等待至处于填充状态的发送节点个数大于等于n*m时,为每个所述usb设备分配并发送n个数据包;
27、当处于填充状态的发送节点个数小于n*m,且处于填充状态的发送节点个数加上剩余已申请发送节点数量大于等于s*m小于n*m时,在所有发送节点填充完成时,为p’个所述usb设备分配并发送x’个数据包,为q’个所述usb设备分配并发送x’+1个数据包;其中,p’+q’=m,x’p’+(x’+1)q’=y’,x’=[y/m],y’等于所有发送节点填充完成时处于填充状态的发送节点个数;其中,s≥2;
28、当处于填充状态的发送节点个数加上剩余已申请发送节点数量小于s*m时,在所有发送节点填充完成时,为p’’个所述usb设备分配并发送s个数据包,为1个所述usb设备分配并发送r个数据包;其中,sp’’+r=y’,r≤s。
29、在第一方面的一具体实施例中,所述预设发送队列的数量为多个,同一处理需求的待处理数据分配至同一预设发送队列中的发送节点,不同处理需求的待处理数据分配至不同预设发送队列中的发送节点。
30、在第一方面的一具本文档来自技高网...
【技术保护点】
1.一种数据传输方法,其特征在于,应用于主机,所述主机与多个USB设备通信连接,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,并行地将每个用户的待处理数据与对应的发送节点标识按照预设通信协议封装,并将封装后的待处理数据填充到对应的发送节点中,包括:
3.根据权利要求2所述的方法,其特征在于,将填充到发送节点中的数据包均衡地发送给各所述USB设备,包括:
4.根据权利要求2所述的方法,其特征在于,将填充到发送节点中的数据包均衡地发送给各所述USB设备,包括:
5.根据权利要求1所述的方法,其特征在于,所述预设发送队列的数量为多个,同一处理需求的待处理数据分配至同一预设发送队列中的发送节点,不同处理需求的待处理数据分配至不同预设发送队列中的发送节点。
6.根据权利要求5所述的方法,其特征在于,针对各预设发送队列,按照预设顺序执行将填充到发送节点中的待处理数据均衡地发送给各所述USB设备的步骤,且每个预设发送队列,每次发送预设长度的待处理数据。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
8.根据权利要求1所述的方法,其特征在于,将填充到发送节点中的待处理数据均衡地发送给各所述USB设备,包括:
9.根据权利要求8所述的方法,其特征在于,并行地将每个用户的待处理数据与对应的发送节点标识按照预设通信协议封装,并将封装后的待处理数据填充到对应的发送节点中,包括:
10.一种数据传输装置,其特征在于,应用于主机,所述主机与多个USB设备通信连接,所述装置包括:
...【技术特征摘要】
1.一种数据传输方法,其特征在于,应用于主机,所述主机与多个usb设备通信连接,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,并行地将每个用户的待处理数据与对应的发送节点标识按照预设通信协议封装,并将封装后的待处理数据填充到对应的发送节点中,包括:
3.根据权利要求2所述的方法,其特征在于,将填充到发送节点中的数据包均衡地发送给各所述usb设备,包括:
4.根据权利要求2所述的方法,其特征在于,将填充到发送节点中的数据包均衡地发送给各所述usb设备,包括:
5.根据权利要求1所述的方法,其特征在于,所述预设发送队列的数量为多个,同一处理需求的待处理数据分配至同一预设发送队列中的发送节点,不同处理需求的待处理数据分配至不同预设发送队列中...
【专利技术属性】
技术研发人员:刘长河,廖正赟,苏智睿,
申请(专利权)人:郑州信大捷安信息技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。