基于进程优化的数据传输方法和装置转让专利

申请号 : CN202011316242.3

文献号 : CN112422243B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 郑凛陈杰文陈名峰马凤鸣刘毅王鑫

申请人 : 广州技象科技有限公司

摘要 :

本发明实施例公开了一种基于进程优化的数据传输方法和装置,该方法包括在数据传输过程中,确定待传输数据块的帧号信息,根据所述帧号信息确定对应的数据校验类型;为所述待传输数据块分配具有相同数据校验类型的第一传输进程;通过所述第一传输进程进行数据块的连续发送,当检测到所述第一传输进程发送的数据块关联的重传指令时,确定当前进程数量是否达到上限值,如果否,则创建第二传输进程;如果是,则缓存所述重传指令,并对传输进程的数量进行监控;通过所述第二传输进程对所述第一传输进程发送的需要重传的数据块进行发送。本方案显著提高了数据传输效率,优化了数据传输机制。

权利要求 :

1.一种基于进程优化的数据传输方法,其特征在于,包括:在数据传输过程中,确定待传输数据块的帧号信息,根据所述帧号信息确定对应的数据校验类型;

为所述待传输数据块分配具有相同数据校验类型的第一传输进程,所述待传输数据块以及对应分配的所述第一传输进程二者对应的数据校验类型一致;

通过所述第一传输进程进行数据块的连续发送,当检测到所述第一传输进程发送的数据块关联的重传指令时,确定当前进程数量是否达到上限值,如果否,则创建第二传输进程;如果是,则缓存所述重传指令,并对传输进程的数量进行监控;

通过所述第二传输进程对所述第一传输进程发送的需要重传的数据块进行发送。

2.根据权利要求1所述的方法,其特征在于,所述根据所述帧号信息确定对应的数据校验类型,包括:

对所述帧号信息中的校验字段进行解析,得到对应的数据校验类型,所述校验类型包括奇偶校验、CRC校验或海明码校验。

3.根据权利要求2所述的方法,其特征在于,在为所述待传输数据块分配具有相同数据校验类型的第一传输进程之前,还包括:预创建n个第一传输进程,其中n为数据块传输过程中使用的校验类型的数量,n为大于或等于1的整数;

对于每个预创建的第一传输进程,根据创建时的进程号标识对应的校验类型。

4.根据权利要求1所述的方法,其特征在于,在通过所述第二传输进程对所述第一传输进程发送的需要重传的数据块进行发送之后,还包括:当在预设时间内未检测到需要重传的数据块时,确定各个第二传输进程的空闲时间,对所述各个第二传输进程的空闲时间进行排序,将空闲时间最长的第二传输进程进行释放。

5.根据权利要求1所述的方法,其特征在于,在缓存所述重传指令,并对传输进程的数量进行监控之前,还包括:

确定所述重传指令和当前创建的第二传输进程的关联度,如果关联度大于预设关联值,则将该重传指令对应的重传数据通过该第二传输进程进行传输。

6.根据权利要求5所述的方法,其特征在于,在确定所述重传指令和当前创建的第二传输进程的关联度之前,还包括:

在当前创建的第二传输进程中查询是否存在发送该重传指令对应的重传数据的记录,如果存在,则通过该记录有重传数据的第二传输进程进行该重传指令对应的重传数据的传输。

7.根据权利要求1‑6中任一项所述的方法,其特征在于,所述缓存所述重传指令,包括:将所述重传指令添加至缓存队列中;

根据所述缓存队列中的重传指令对应的数据块信息进行重传指令的队列位置调整,所述数据块信息包括发送该数据块的第一传输进程和/或第二传输进程。

8.一种基于进程优化的数据传输装置,其特征在于,包括:校验类型确定模块,用于在数据传输过程中,确定待传输数据块的帧号信息,根据所述帧号信息确定对应的数据校验类型;

第一进程分配模块,用于为所述待传输数据块分配具有相同数据校验类型的第一传输进程,所述待传输数据块以及对应分配的所述第一传输进程二者对应的数据校验类型一致;

第一数据发送模块,用于通过所述第一传输进程进行数据块的连续发送;

第二进程分配模块,用于当检测到所述第一传输进程发送的数据块关联的重传指令时,确定当前进程数量是否达到上限值,如果否,则创建第二传输进程;如果是,则缓存所述重传指令,并对传输进程的数量进行监控;

第二数据发送模块,通过所述第二传输进程对所述第一传输进程发送的需要重传的数据块进行发送。

9.一种基于进程优化的数据传输的设备,所述设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1‑7中任一项所述的基于进程优化的数据传输方法。

10.一种存储有计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1‑7中任一项所述的基于进程优化的数据传输方法。

说明书 :

基于进程优化的数据传输方法和装置

技术领域

[0001] 本申请实施例涉及数据传输领域,尤其涉及一种基于进程优化的数据传输方法和装置。

背景技术

[0002] 在停等模式下的数据传输过程中,发送端在每发完一个数据块后会停下来等待对方的反馈消息,如果反馈消息为数据接收完整则再发送下一数据块,如果反馈消息为数据
缺失,则重新发送当前数据块。
[0003] 现有技术中,为了提高数据传输的吞吐量,发送端会创建多个发送进程,如一个发送进程在等待反馈消息时,另一个发送进程可进行数据块的发送。然而该种方式仅能在一
定程度上缓解数据传输效率不高的情况,需要进行新的改进。

发明内容

[0004] 本发明实施例提供了一种基于进程优化的数据传输方法和装置,显著提高了数据传输效率,优化了数据传输机制。
[0005] 第一方面,本发明实施例提供了一种基于进程优化的数据传输方法,该方法包括:
[0006] 在数据传输过程中,确定待传输数据块的帧号信息,根据所述帧号信息确定对应的数据校验类型;
[0007] 为所述待传输数据块分配具有相同数据校验类型的第一传输进程;
[0008] 通过所述第一传输进程进行数据块的连续发送,当检测到所述第一传输进程发送的数据块关联的重传指令时,确定当前进程数量是否达到上限值,如果否,则创建第二传输
进程;如果是,则缓存所述重传指令,并对传输进程的数量进行监控;
[0009] 通过所述第二传输进程对所述第一传输进程发送的需要重传的数据块进行发送。
[0010] 第二方面,本发明实施例还提供了一种基于进程优化的数据传输装置,该装置包括:
[0011] 校验类型确定模块,用于在数据传输过程中,确定待传输数据块的帧号信息,根据所述帧号信息确定对应的数据校验类型;
[0012] 第一进程分配模块,用于为所述待传输数据块分配具有相同数据校验类型的第一传输进程;
[0013] 第一数据发送模块,用于通过所述第一传输进程进行数据块的连续发送;
[0014] 第二进程分配模块,用于当检测到所述第一传输进程发送的数据块关联的重传指令时,确定当前进程数量是否达到上限值,如果否,则创建第二传输进程;如果是,则缓存所
述重传指令,并对传输进程的数量进行监控;
[0015] 第二数据发送模块,通过所述第二传输进程对所述第一传输进程发送的需要重传的数据块进行发送。
[0016] 第三方面,本发明实施例还提供了一种基于进程优化的数据传输的设备,该设备包括:
[0017] 一个或多个处理器;
[0018] 存储装置,用于存储一个或多个程序,
[0019] 当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例所述的基于进程优化的数据传输方法。
[0020] 第四方面,本发明实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行本发明实施例所述的基于进程优化
的数据传输方法。
[0021] 本发明实施例中,通过在数据传输过程中,确定待传输数据块的帧号信息,根据所述帧号信息确定对应的数据校验类型;为所述待传输数据块分配具有相同数据校验类型的
第一传输进程;通过所述第一传输进程进行数据块的连续发送,当检测到所述第一传输进
程发送的数据块关联的重传指令时,确定当前进程数量是否达到上限值,如果否,则创建第
二传输进程;如果是,则缓存所述重传指令,并对传输进程的数量进行监控;通过所述第二
传输进程对所述第一传输进程发送的需要重传的数据块进行发送,显著提高了数据传输效
率,优化了数据传输机制。

附图说明

[0022] 图1为本发明实施例提供的一种基于进程优化的数据传输方法流程图;
[0023] 图2为本发明实施例提供的另一种基于进程优化的数据传输方法流程图;
[0024] 图2a为本发明实施例提供的一种通过第一传输进程进行数据发送的示意图;
[0025] 图2b为本发明实施例提供的一种创建第二传输进程进行数据传输的示意图;
[0026] 图3为本发明实施例提供的另一种基于进程优化的数据传输方法流程图;
[0027] 图4为本发明实施例提供的另一种基于进程优化的数据传输方法流程图;
[0028] 图5为本发明实施例提供的另一种基于进程优化的数据传输方法流程图;
[0029] 图6为本发明实施例提供的另一种基于进程优化的数据传输方法流程图;
[0030] 图7为本发明实施例提供的另一种基于进程优化的数据传输方法流程图;
[0031] 图7a为本发明实施例提供的一种缓存队列调整示意图;
[0032] 图8为本发明实施例提供的一种基于进程优化的数据传输装置的结构框图;
[0033] 图9为本发明实施例提供的一种基于进程优化的数据传输的设备的结构示意图。

具体实施方式

[0034] 下面结合附图和实施例对本发明实施例作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明实施例,而非对本发明实施例的限定。另外还
需要说明的是,为了便于描述,附图中仅示出了与本发明实施例相关的部分而非全部结构。
[0035] 图1为本发明实施例提供的一种基于进程优化的数据传输方法流程图,本实施例可适用于数据的传输过程,该方法可以由发送端计算设备来执行,具体包括如下步骤:
[0036] 步骤S101、在数据传输过程中,为数据块配置至少两个第一传输进程。
[0037] 在一个实施例中,数据发送端存在待发送数据块时,相应的进行进程配置,为提高数据传输吞吐量,本步骤中为数据块配置至少两个第一传输进程,其中每个第一传输进程
可单独进行数据块的发送。可选的,数据块发送时携带发送进程的进程标识。每个数据块的
帧格式示例性的如下:
[0038]帧头 IP地址 TCP头 数据 帧尾 CRC 进程标识
[0039] 可选的,该进程标识具体的可以是8位或16位数据,配置在DCI(Downlink Control Information,下行控制信息)中。
[0040] 在一个实施例中,可以是为数据块随机分配已有的第一传输进程,或者重新创建至少两个第一传输进程用以进行该数据的传输。其中,进程的配置过程可以是创建新的传
输进程配置为第一传输进程,或者调度空闲的传输进程确定为第一传输进程。
[0041] 步骤S102、通过所述第一传输进程进行数据块的连续发送,当检测到所述第一传输进程发送的数据块关联的重传指令时,创建第二传输进程。
[0042] 在一个实施例中,第一传输进程进行数据块的连续发送,在每个数据块发送完毕后不进行反馈信息的等待,直接进行下一数据块的发送。
[0043] 步骤S103、通过所述第二传输进程对所述第一传输进程发送的需要重传的数据块进行发送。
[0044] 在一个实施例中,第一传输进程进行数据块的连续发送,当出现需要重传的数据内容时,通过创建的第二传输进程进行重传数据的发送。
[0045] 由上述方案可知,保证了数据发送效率的同时,针对重传数据采用新创建的进程进行发送,显著提高了数据传输效率,优化了数据传输机制。
[0046] 图2为本发明实施例提供的另一种基于进程优化的数据传输方法流程图,给出了一种具体的进行数据传输的控制方法。如图2所示,技术方案具体如下:
[0047] 步骤S201、在数据传输过程中,确定待传输数据块的帧号信息,根据所述帧号信息确定对应的数据校验类型。
[0048] 其中,不同的传输数据由于自身特性的不同采用不同的校验方式以保证传输数据的准确性。示例性的校验方式包括奇偶校验、CRC校验或海明码校验等。通过对帧号信息中
的校验字段进行解析以得到相应的该数据帧的校验方式。
[0049] 步骤S202、为所述待传输数据块分配具有相同数据校验类型的第一传输进程。
[0050] 其中,不同的第一传输进程各自对应一数据帧的校验方式,为所述待传输数据块分配具有相同数据校验类型的第一传输进程。
[0051] 步骤S203、通过所述第一传输进程进行数据块的连续发送,检测所述第一传输进程发送的数据块关联的重传指令。
[0052] 如图2a所示,图2a为本发明实施例提供的一种通过第一传输进程进行数据发送的示意图。
[0053] 示例性的,待发送数据包括数据块01‑07,以及数据块a1‑a7,分别对应校验类型1和校验类型2,为数据块01‑07分配了具备相同校验类型的第一传输进程1,为数据块a1‑a7
分配了具备相同校验类型的第一传输进程2,通过第一传输进程1和第一传输进程2分别进
行数据01‑07以及数据a1‑a7的连续发送。
[0054] 步骤S204、判断是否检测到重传指令,如果是,则执行步骤S205。
[0055] 步骤S205、确定当前进程数量是否达到上限值,如果是,则执行步骤S206,否则执行步骤S207。
[0056] 示例性的,上限值可以是10。在一个实施例中,如果当前进程数量已经超过上限值,则缓存该重传指令,如添加至重传指令队列中。本方案中,当检测到重传指令即确定出
需要重传的数据块时,将会为该数据块创建新的区别于原有发送该数据块的进程进行重
传,当系统中对进程数量存在限制时,判断是否达到传输进程的上限,如果没有,则相应的
创建新的传输进程,即每个新建的传输进程专门用于单一的数据块的发送。
[0057] 步骤S206、缓存所述重传指令,并对传输进程的数量进行监控。
[0058] 在一个实施例中,在缓存队列中存储有待处理的重传指令时,对传输进程的数量进行监控,即传输进程数量小于上限值时,且缓存队列中存储有待处理的重传指令时,进行
重传新进程的创建。
[0059] 步骤S207、创建第二传输进程。
[0060] 在一个实施例中,如果当前进程数量未达到上限值,则创建第二传输进程用于进行重传数据的传输。
[0061] 如图2b所示,在重传队列中缓存重传指令,第二传输进程用于重传数据的发送,如重传数据05和重传数据07。示例性的指令1标识数据块05在接收端接收信息不完整,需要重
传,相应的在重传队列中处理到指令1时,将指令1对应的数据块05作为重传数据05,通过第
二传输进程进行数据的重传发送。
[0062] 步骤S208、通过所述第二传输进程对所述第一传输进程发送的需要重传的数据块进行发送。
[0063] 由上述方案可知,本方案中,在数据传输过程中,确定待传输数据块的帧号信息,根据所述帧号信息确定对应的数据校验类型,为所述待传输数据块分配具有相同数据校验
类型的第一传输进程,避免了多个不同进程针对不同数据类型的交叉处理,提高了数据发
送效率。同时,通过传输进程采用连续发送数据的方式,避免了时隙等待带来的传输间隔影
响,针对重传指令,当检测到所述第一传输进程发送的数据块关联的重传指令时,创建新的
进程进行重传数据的单独发送,通过双类型链路的数据发送方式,实现了无需进行间隔等
待,同时,进程创建过程中,确定当前进程数量是否达到上限值,如果否,则创建第二传输进
程;如果是,则缓存所述重传指令,并对传输进程的数量进行监控,对系统进程数量进行了
控制,保证系统整体运行性能的前提下,实现重传进程的建立以重传数据的传输。
[0064] 图3为本发明实施例提供的另一种基于进程优化的数据传输方法流程图,给出了一种具体的进程创建的过程。如图3所示,技术方案具体如下:
[0065] 步骤S301、在数据传输过程中,确定待传输数据块的帧号信息,根据所述帧号信息确定对应的数据校验类型。
[0066] 步骤S302、预创建n个第一传输进程,其中n为数据块传输过程中使用的校验类型的数量,对于每个预创建的第一传输进程,根据创建时的进程号标识对应的校验类型。
[0067] 在一个实施例中,在进行进程创建后,记录该创建的进程号以及为该进程分配的校验类型。示例性的,可以是为创建的进程依次顺序的分配校验类型,还可根据传输数据使
用的校验类型的数量的多少进行适配性分配。
[0068] 步骤S303、为所述待传输数据块分配具有相同数据校验类型的第一传输进程。
[0069] 步骤S304、通过所述第一传输进程进行数据块的连续发送,检测所述第一传输进程发送的数据块关联的重传指令。
[0070] 步骤S305、判断是否检测到重传指令,如果是,则执行步骤S306。
[0071] 步骤S306、确定当前进程数量是否达到上限值,如果是,则执行步骤S307,否则执行步骤S308。
[0072] 步骤S307、缓存所述重传指令,并对传输进程的数量进行监控。
[0073] 步骤S308、创建第二传输进程。
[0074] 步骤S309、通过所述第二传输进程对所述第一传输进程发送的需要重传的数据块进行发送。
[0075] 由上述方案可知,通过预创建n个第一传输进程,其中n为数据块传输过程中使用的校验类型的数量,对于每个预创建的第一传输进程,根据创建时的进程号标识对应的校
验类型,在后续进行数据块的第一进程的分配过程中,可根据预先记录的进程对应的校验
类型进行对应分配,该种创建进程的方式优化了数据传输机制。
[0076] 图4为本发明实施例提供的另一种基于进程优化的数据传输方法流程图,给出了一种具体的第二传输进程进行释放的方法。如图4所示,技术方案具体如下:
[0077] 步骤S401、在数据传输过程中,确定待传输数据块的帧号信息,根据所述帧号信息确定对应的数据校验类型。
[0078] 步骤S402、预创建n个第一传输进程,其中n为数据块传输过程中使用的校验类型的数量,对于每个预创建的第一传输进程,根据创建时的进程号标识对应的校验类型。
[0079] 步骤S403、为所述待传输数据块分配具有相同数据校验类型的第一传输进程。
[0080] 步骤S404、通过所述第一传输进程进行数据块的连续发送,检测所述第一传输进程发送的数据块关联的重传指令。
[0081] 步骤S405、判断是否检测到重传指令,如果是,则执行步骤S406。
[0082] 步骤S406、确定当前进程数量是否达到上限值,如果是,则执行步骤S407,否则执行步骤S408。
[0083] 步骤S407、缓存所述重传指令,并对传输进程的数量进行监控。
[0084] 步骤S408、创建第二传输进程。
[0085] 步骤S409、通过所述第二传输进程对所述第一传输进程发送的需要重传的数据块进行发送。
[0086] 步骤S410、当在预设时间内未检测到需要重传的数据块时,确定所述各个第二传输进程的空闲时间进行排序,将空闲时间最长的第二传输进程进行释放。
[0087] 在一个实施例中,当第二进程创建完毕后,同时对重传的数据块的指令进行检测,如果在预设时间内(如1分钟)未检测到需要重传的数据块时,也即没有重传数据需求时,确
定所述各个第二传输进程的空闲时间进行排序,示例性的如确定出:进程ID001,空闲时间
30s;进程ID021,空闲时间0s;进程ID035,空闲时间18s,进程ID042,空闲时间25s。则根据空
闲时间排序结果,释放进程ID001。
[0088] 由上述方案可知,当在预设时间内未检测到需要重传的数据块时,确定所述各个第二传输进程的空闲时间进行排序,将空闲时间最长的第二传输进程进行释放,该种进程
释放方式,可以减小重传数据在重传过程中出现的传输风险,提高了进程利用率。
[0089] 图5为本发明实施例提供的另一种基于进程优化的数据传输方法流程图,给出了一种具体的为重传数据分配第二传输进程的方法。如图5所示,技术方案具体如下:
[0090] 步骤S501、在数据传输过程中,确定待传输数据块的帧号信息,根据所述帧号信息确定对应的数据校验类型。
[0091] 步骤S502、预创建n个第一传输进程,其中n为数据块传输过程中使用的校验类型的数量,对于每个预创建的第一传输进程,根据创建时的进程号标识对应的校验类型。
[0092] 步骤S503、为所述待传输数据块分配具有相同数据校验类型的第一传输进程。
[0093] 步骤S504、通过所述第一传输进程进行数据块的连续发送,检测所述第一传输进程发送的数据块关联的重传指令。
[0094] 步骤S505、判断是否检测到重传指令,如果是,则执行步骤S506。
[0095] 步骤S506、确定当前进程数量是否达到上限值,如果是,则执行步骤S507,否则执行步骤S508。
[0096] 步骤S507、确定所述重传指令和当前建立的第二传输进程的关联度。
[0097] 在一个实施例中,当当前进程数量达到上限值后,首先确定重传指令和当前建立的第二传输进程的关联度。具体的,关联度的确定方式可以是重传指令对应的第一传输进
程中是否有重传数据通过某个第二传输进程进行发送。示例性的,第二传输进程001发送有
重传数据01,该重传数据01和当前待重传数据a1的原始发送数据均通过第一传输进程030
进行发送,则判定该第二传输进程001和重传数据a1关联。即重传数据a1与第二传输进程
001的关联度可判定为最高。在另一个示例性的实例中,如果确定出第二传输进程002发送
有重传数据02和重传数据08,该重传数据02和重传数据08均和当前待重传数据a1对应的原
始发送数据为第一进程030,则重传数据a1与第二传输进程002的关联度高于与第二传输进
程001的关联度。
[0098] 步骤S509、判断关联度是否大于预设关联值,如果是,则执行步骤S510,否则执行步骤S511。
[0099] 示例性的,该预设关联值可以是存在第二传输进程中,已经发送的重传数据和当前待重传数据的第一传输进程一致的数量大于3。
[0100] 步骤S510、将该重传指令对应的重传数据通过该第二传输进程进行传输。
[0101] 步骤S511、缓存所述重传指令,并对传输进程的数量进行监控。
[0102] 步骤S508、创建第二传输进程。
[0103] 步骤S512、通过所述第二传输进程对所述第一传输进程发送的需要重传的数据块进行发送。
[0104] 步骤S513、当在预设时间内未检测到需要重传的数据块时,确定所述各个第二传输进程的空闲时间进行排序,将空闲时间最长的第二传输进程进行释放。
[0105] 由上述方案可知,确定重传指令和当前建立的第二传输进程的关联度,根据关联度确定是否进行第二传输进程的分配还是对该指令进行缓存,进一步优化了进程分配模
式,使得该基于进程优化的数据传输方法更优。
[0106] 图6为本发明实施例提供的另一种基于进程优化的数据传输方法流程图,给出了另一种具体的为重传数据分配第二传输进程的方法。如图6所示,技术方案具体如下:
[0107] 步骤S601、在数据传输过程中,确定待传输数据块的帧号信息,根据所述帧号信息确定对应的数据校验类型。
[0108] 步骤S602、预创建n个第一传输进程,其中n为数据块传输过程中使用的校验类型的数量,对于每个预创建的第一传输进程,根据创建时的进程号标识对应的校验类型。
[0109] 步骤S603、为所述待传输数据块分配具有相同数据校验类型的第一传输进程。
[0110] 步骤S604、通过所述第一传输进程进行数据块的连续发送,检测所述第一传输进程发送的数据块关联的重传指令。
[0111] 步骤S605、判断是否检测到重传指令,如果是,则执行步骤S606。
[0112] 步骤S606、确定当前进程数量是否达到上限值,如果是,则执行步骤S607,否则执行步骤S608。
[0113] 步骤S607、在当前建立的第二传输进程中查询是否存在发送该重传指令对应的重传数据的记录,如果存在,则通过该记录有重传数据的第二传输进程进行该重传指令对应
的重传数据的传输。
[0114] 在一个实施例中,当当前进程数量到达设置上限时,在进行重传数据的分配过程中,在现存建立的第二传输进程中进行传输数据内容的查询,确定是否在先前已经进行了
该重传数据的发送,示例性的如下表所示:
[0115] 进程ID 重传数据记录第二传输进程n1 q1、q4、q5
第二传输进程n2 m2、m10、m15
[0116] 示例性的,当前待分配的重传数据为m10,通过查表确定出第二传输进程n2存在发送重传数据m10的记录信息,则将该重传数据分配至第二传输进程n2进行重传发送。
[0117] 步骤S609、确定所述重传指令和当前建立的第二传输进程的关联度。
[0118] 步骤S610、判断关联度是否大于预设关联值,如果是,则执行步骤S611,否则执行步骤S612。
[0119] 步骤S611、将该重传指令对应的重传数据通过该第二传输进程进行传输。
[0120] 步骤S612、缓存所述重传指令,并对传输进程的数量进行监控。
[0121] 步骤S608、创建第二传输进程。
[0122] 步骤S613、通过所述第二传输进程对所述第一传输进程发送的需要重传的数据块进行发送。
[0123] 步骤S614、当在预设时间内未检测到需要重传的数据块时,确定所述各个第二传输进程的空闲时间进行排序,将空闲时间最长的第二传输进程进行释放。
[0124] 由上述方案可知,在当前建立的第二传输进程中查询是否存在发送该重传指令对应的重传数据的记录,如果存在,则通过该记录有重传数据的第二传输进程进行该重传指
令对应的重传数据的传输,该种方式通过相同进程进行同一数据的传输,在发送端提升了
数据发送效率,在接收端便于进行标识以及数据的重新排序组合。
[0125] 图7为本发明实施例提供的另一种基于进程优化的数据传输方法流程图,给出了一种具体的对缓存队列进行处理的方法。如图7所示,技术方案具体如下:
[0126] 步骤S701、在数据传输过程中,确定待传输数据块的帧号信息,根据所述帧号信息确定对应的数据校验类型。
[0127] 步骤S702、预创建n个第一传输进程,其中n为数据块传输过程中使用的校验类型的数量,对于每个预创建的第一传输进程,根据创建时的进程号标识对应的校验类型。
[0128] 步骤S703、为所述待传输数据块分配具有相同数据校验类型的第一传输进程。
[0129] 步骤S704、通过所述第一传输进程进行数据块的连续发送,检测所述第一传输进程发送的数据块关联的重传指令。
[0130] 步骤S705、判断是否检测到重传指令,如果是,则执行步骤S706。
[0131] 步骤S706、确定当前进程数量是否达到上限值,如果是,则执行步骤S707,否则执行步骤S708。
[0132] 步骤S707、在当前建立的第二传输进程中查询是否存在发送该重传指令对应的重传数据的记录,如果存在,则通过该记录有重传数据的第二传输进程进行该重传指令对应
的重传数据的传输。
[0133] 步骤S709、确定所述重传指令和当前建立的第二传输进程的关联度。
[0134] 步骤S710、判断关联度是否大于预设关联值,如果是,则执行步骤S711,否则执行步骤S712。
[0135] 步骤S711、将该重传指令对应的重传数据通过该第二传输进程进行传输。
[0136] 步骤S712、将所述重传指令添加至缓存队列中,根据所述缓存队列中的重传指令对应的数据块信息进行重传指令的队列位置调整,所述数据块信息包括发送该数据块的第
一传输进程和/或第二传输进程,并对传输进程的数量进行监控。
[0137] 在一个实施例中,还包括定期对缓存队列中数据进行分组调整的步骤,如队列长度大于40时。具体为根据所述缓存队列中的重传指令对应的数据块信息进行重传指令的队
列位置调整,该数据块信息包括发送该数据块的第一传输进程和/或第二传输进程。示例性
的,将数据块信息中为同一发送进程的重传指令调整为相邻位置。如图7a所示,图7a为本发
明实施例提供的一种缓存队列调整示意图。对原始队,1中的指令2、指令5、指令3、指令6、指
令8和指令7进行重新排列,其中,指令2和指令6对应同一发送进程n2,指令5、指令8和指令7
对应同一发送进程m3,调整后的调整队列2如图所示。
[0138] 步骤S708、创建第二传输进程。
[0139] 步骤S713、通过所述第二传输进程对所述第一传输进程发送的需要重传的数据块进行发送。
[0140] 步骤S714、当在预设时间内未检测到需要重传的数据块时,确定所述各个第二传输进程的空闲时间进行排序,将空闲时间最长的第二传输进程进行释放。
[0141] 由上述方案可知,将所述重传指令添加至缓存队列中,根据所述缓存队列中的重传指令对应的数据块信息进行重传指令的队列位置调整,所述数据块信息包括发送该数据
块的第一传输进程和/或第二传输进程,该方案中通过对缓存队列进行定期调整,在进行重
传指令处理进行进程分配时,提高了分配效率,避免每个指令单独判断分配的过程,提高了
数据传输效率。
[0142] 图8为本发明实施例提供的一种基于进程优化的数据传输装置的结构框图,该装置用于执行上述实施例提供的基于进程优化的数据传输方法,具备执行方法相应的功能模
块和有益效果。如图8所示,该装置具体包括:校验类型确定模块101、第一进程分配模块
102、第一数据发送模块103、第二进程分配模块104和第二数据发送模块105,其中,
[0143] 校验类型确定模块101,用于在数据传输过程中,确定待传输数据块的帧号信息,根据所述帧号信息确定对应的数据校验类型;
[0144] 第一进程分配模块102,用于为所述待传输数据块分配具有相同数据校验类型的第一传输进程;
[0145] 第一数据发送模块103,用于通过所述第一传输进程进行数据块的连续发送;
[0146] 第二进程分配模块104,用于当检测到所述第一传输进程发送的数据块关联的重传指令时,确定当前进程数量是否达到上限值,如果否,则创建第二传输进程;如果是,则缓
存所述重传指令,并对传输进程的数量进行监控;
[0147] 第二数据发送模块105,通过所述第二传输进程对所述第一传输进程发送的需要重传的数据块进行发送。
[0148] 由上述方案可知,通过在数据传输过程中,确定待传输数据块的帧号信息,根据所述帧号信息确定对应的数据校验类型;为所述待传输数据块分配具有相同数据校验类型的
第一传输进程;通过所述第一传输进程进行数据块的连续发送,当检测到所述第一传输进
程发送的数据块关联的重传指令时,确定当前进程数量是否达到上限值,如果否,则创建第
二传输进程;如果是,则缓存所述重传指令,并对传输进程的数量进行监控;通过所述第二
传输进程对所述第一传输进程发送的需要重传的数据块进行发送,显著提高了数据传输效
率,优化了数据传输机制。
[0149] 在一个可能的实施例中,所述校验类型确定模块101具体用于:
[0150] 对所述帧号信息中的校验字段进行解析,得到对应的数据校验类型,所述校验类型包括奇偶校验、CRC校验或海明码校验。
[0151] 在一个可能的实施例中,所述第一进程分配模块102还用于:
[0152] 在为所述待传输数据块分配具有相同数据校验类型的第一传输进程之前,预创建n个第一传输进程,其中n为数据块传输过程中使用的校验类型的数量,n为大于或等于1的
整数;
[0153] 对于每个预创建的第一传输进程,根据创建时的进程号标识对应的校验类型。
[0154] 在一个可能的实施例中,所述第二进程分配模块104还用于:
[0155] 在通过所述第二传输进程对所述第一传输进程发送的需要重传的数据块进行发送之后,当在预设时间内未检测到需要重传的数据块时,确定所述各个第二传输进程的空
闲时间进行排序,将空闲时间最长的第二传输进程进行释放。
[0156] 在一个可能的实施例中,所述第二进程分配模块104还用于:
[0157] 确定所述重传指令和当前建立的第二传输进程的关联度,如果关联度大于预设关联值,则将该重传指令对应的重传数据通过该第二传输进程进行传输。
[0158] 在一个可能的实施例中,所述第二进程分配模块104还用于在确定所述重传指令和当前建立的第二传输进程的关联度之前:
[0159] 在当前建立的第二传输进程中查询是否存在发送该重传指令对应的重传数据的记录,如果存在,则通过该记录有重传数据的第二传输进程进行该重传指令对应的重传数
据的传输。
[0160] 在一个可能的实施例中,所述第二进程分配模块104具体用于:
[0161] 将所述重传指令添加至缓存队列中;
[0162] 根据所述缓存队列中的重传指令对应的数据块信息进行重传指令的队列位置调整,所述数据块信息包括发送该数据块的第一传输进程和/或第二传输进程。
[0163] 图9为本发明实施例提供的一种基于进程优化的数据传输的设备的结构示意图,如图9所示,该设备包括处理器201、存储器202、输入装置203和输出装置204;设备中处理器
201的数量可以是一个或多个,图9中以一个处理器201为例;设备中的处理器201、存储器
202、输入装置203和输出装置204可以通过总线或其他方式连接,图9中以通过总线连接为
例。
[0164] 存储器202作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的基于进程优化的数据传输方法对应的程序指令/模块。处
理器201通过运行存储在存储器202中的软件程序、指令以及模块,从而执行设备的各种功
能应用以及数据处理,即实现上述的基于进程优化的数据传输方法。
[0165] 存储器202可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此
外,存储器202可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个
磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器202可进一
步包括相对于处理器201远程设置的存储器,这些远程存储器可以通过网络连接至设备。上
述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0166] 输入装置203可用于接收输入的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的键信号输入。输出装置204可包括显示屏等显示设备。
[0167] 本发明实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种基于进程优化的数据传输方法,该方法包括:
[0168] 在数据传输过程中,确定待传输数据块的帧号信息,根据所述帧号信息确定对应的数据校验类型;
[0169] 为所述待传输数据块分配具有相同数据校验类型的第一传输进程;
[0170] 通过所述第一传输进程进行数据块的连续发送,当检测到所述第一传输进程发送的数据块关联的重传指令时,确定当前进程数量是否达到上限值,如果否,则创建第二传输
进程;如果是,则缓存所述重传指令,并对传输进程的数量进行监控;
[0171] 通过所述第二传输进程对所述第一传输进程发送的需要重传的数据块进行发送。
[0172] 通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明实施例可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前
者是更佳的实施方式。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技
术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机
可读存储介质中,如计算机的软盘、只读存储器(Read‑Only Memory,ROM)、随机存取存储器
(Random Access Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台
计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明实施例各个实施例
所述的方法。
[0173] 值得注意的是,上述基于进程优化的数据传输装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的
功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明实
施例的保护范围。
[0174] 注意,上述仅为本发明实施例的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明实施例不限于这里所述的特定实施例,对本领域技术人员来说能够进行各
种明显的变化、重新调整和替代而不会脱离本发明实施例的保护范围。因此,虽然通过以上
实施例对本发明实施例进行了较为详细的说明,但是本发明实施例不仅仅限于以上实施
例,在不脱离本发明实施例构思的情况下,还可以包括更多其他等效实施例,而本发明实施
例的范围由所附的权利要求范围决定。