一种报文分片方法及系统的制作方法

文档序号:7572548阅读:138来源:国知局
专利名称:一种报文分片方法及系统的制作方法
技术领域
本发明涉及信息传输技术领域,尤其涉及一种报文分片方法及系统。 .
背景技术
随着Internet的深入应用和通信设备的迅速发展,网络传输技术水平也日益提 高。对于传统的固定线路的信息传输,现有的传输技术手段及先进的传输设备(如光纤), 可以较好的保证信道的质量(误码率小于10-9)和信号的稳定性。然而,随着移动设备的大量涌现,在使用移动设备进行通信传输,尤其在使用低质 量的信道进行传输时,由于存在信道质量差和信号不稳定的问题,如果仍然采用常规的传 输方法进行传输,会存在较大的误码率,而因为误码,会进一步导致信息的重传,当信息量 较大时,会最终导致信息总是无法成功传输。在信道质量差的网络进行信息传输时,常采用先将信息报文进行分片然后再传输 的方法,分片越小越容易传输成功,但传输效率越低,分片太大,又会导致传输失败,因此如 何确定分片大小,使得信息能够成功传输,同时又保持较好的传输效率,是解决在信道差网 络中信息可靠传输的关键。

发明内容
本发明实施例提供一种报文分片方法及系统,能够合理地确定报文分片的大小。为了解决上述技术问题,本发明实施例的技术方案如下本发明实施例提供一种报文分片方法,包括生成测试报文分片并发送;判断在预设时间内是否接收到用于表明所述测试报文分片发送成功的应答消息, 所述应答消息的长度不超过所述测试报文分片的长度;若接收到所述应答消息,则根据所述测试报文分片的长度对待传输报文进行分 片。进一步,还包括判断所述测试报文分片的长度是否达到长度阈值;若达到所述长度阈值,再执行所述根据所述测试报文分片的长度对待传输报文进 行分片的步骤;若未达到所述长度阈值,则倍增所述测试报文分片的长度,重复执行所述生成测 试报文分片并发送的步骤。进一步,还包括若未接收到所述应答消息,则根据所述测试报文分片长度的1/2对待传输报文进 行分片。进一步,还包括若未接收到所述应答消息,则重复执行所述生成测试报文分片并发送的步骤;
若仍未接收到所述应答消息,再执行所述根据所述测试报文分片长度的1/2对待 传输报文进行分片的步骤。进一步,还包括在所述重复执行所述生成测试报文分片并发送的步骤后,若接收到所述应答消 息,则再重复执行所述生成测试报文分片并发送的步骤;若又未接收到所述应答消息,再执行所述根据所述测试报文分片长度的1/2对待 传输报文进行分片的步骤;若仍接收到所述应答消息,则执行所述根据所述测试报文分片的长度对待传输报 文进行分片的步骤。本发明实施例还提供了一种报文分片系统,包括发送模块,用于生成测试报文分片并发送;第一判断模块,用于判断在预设时间内是否接收到用于表明所述测试报文分片发 送成功的应答消息,所述应答消息的长度不超过所述测试报文分片的长度;分片模块,用于当接收到所述应答消息时,根据所述测试报文分片的长度对待传 输报文进行分片。进一步,还包括第二判断模块,用于在所述第一判断模块判断在预设时间内接收到所述应答消息 后,进一步判断所述测试报文分片的长度是否达到长度阈值;所述分片模块,还用于当所述第二判断模块判断测试报文分片的长度达到所述长 度阈值时,再根据所述测试报文分片的长度对待传输报文进行分片;所述发送模块,还用于当所述第二判断模块判断测试报文分片的长度未达到所述 长度阈值时,倍增所述测试报文分片的长度,再生成测试报文分片并发送。进一步,所述分片模块,还用于在所述第一判断模块未接收到所述应答消息时,根 据所述测试报文分片长度的1/2对待传输报文进行分片。进一步,所述发送模块,还用于当所述第一判断模块未接收到所述应答消息时,重 复生成测试报文分片并发送;所述分片模块,还用于当所述发送模块重复生成测试报文分片并发送,所述第一 判断模块若仍未接收到所述应答消息时,再根据所述测试报文分片长度的1/2对待传输报 文进行分片。进一步,还包括所述发送模块,还用于在重复生成测试报文分片并发送后,若所述第一判断模块 接收到应答消息,则再重复生成测试报文分片并发送;所述分片模块,还用于当所述发送模块再重复生成测试报文分片并发送时,若所 述第一判断模块又未接收到所述应答消息,则根据所述测试报文分片长度的1/2对待传输 报文进行分片;若所述第一判断模块仍接收到所述应答消息,则根据所述测试报文分片的 长度对待传输报文进行分片。本发明实施例通过在确定待传输报文的分片大小前,先发送测试报文分片,然后 根据发送成功的测试报文的分片大小决定待传输报文的分片大小,从而实现了对待传输报 文的合理分片,使得信息能够成功传输,同时又保持较好的传输效率,保证了传输报文在信道差网络中的可靠传输。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可 以根据这些附图获得其他的附图。图1是本发明实施例一种报文分片方法流程图;图2是本发明实施例另一种报文分片方法流程图;图3是本发明实施例一种报文分片系统结构示意图;图4是本发明实施例另一种报文分片系统结构示意图。
具体实施例方式为了使本领域技术人员能进一步了解本发明的特征及技术内容,请参阅以下有关 本发明的详细说明与附图,附图仅提供参考与说明,并非用来限制本发明。现有技术中无法合理确定报文分片的大小,存在分片小容易传输成功但传输效率 低,或者,分片太大又易导致传输失败的问题。基于此,本发明实施例通过在确定待传输报 文的分片大小前,先发送测试报文分片,然后根据发送成功的测试报文的分片大小决定待 传输报文的分片大小,从而实现了对待传输报文的合理分片,使得信息能够成功传输,同时 又保持较好的传输效率,保证了传输报文在信道差网络中的可靠传输。下面结合附图和实施例,对本发明的技术方案进行描述。参见图1,为本发明实施例一种报文分片方法流程图。该方法可以包括步骤101,生成测试报文分片并发送。在本发明实施例中,为了减少网络开销,可以在报文发送空闲时也即没有报文发 送时,每隔一定的时间间隔,如10分钟,发送测试报文分片。生成的该测试报文分片的长度 可以从32字节开始,也可以根据当前估计的信道状态,从以下长度中选取一个,如32Byte、 64Byte、128Byte、256Byte、512Byte、lKB、2KB、4KB、8KB、16KB、32KB、64KB、128KB、256KB、 512KB、1MB、2MB、4MB。若当前有传输报文正在发送,则可以等待该报文发送结束后,再发送该测试报文 分片。步骤102,判断在预设时间内是否接收到用于表明测试报文分片发送成功的应答消息。发送测试报文分片后,若发送方在一定的时间内接收到应答消息,则表明该测试 报文分片已经被接收方接收到,该测试报文分片发送成功,也即表明当前的信道状态可以 容许该长度的报文成功发送。其中,预设的时间可以是32秒等,应答消息的长度不应超过该测试报文分片的长 度,例如应答消息的长度可以为10个字节。步骤103,若接收到应答消息,则根据测试报文分片的长度对待传输报文进行分片。在发送方接收到该应答消息后,即可对待传输的报文按照上述测试报文分片的大 小进行分片,这样也就保证了该待传输报文的成功传输。发送方还可以对测试报文分片的 发送时间和长度等信息进行记录,以便后续参考。在本发明的另一实施例中,还可以在对待传输报文进行分片前,先判断该测试报 文分片的长度是否达到一定的长度阈值,如4MB,若达到了再进行分片,若达不到还可以增 加测试报文分片的长度,然后重复上述步骤101 102,直到达到能够发送成功的最大分 片,然后再按照最大分片对待传输报文进行分片。若在另一实施例中,步骤102中在一定时间内没有接收到应答消息,说明该测试 报文分片没有传输成功,则可以按照当前测试报文分片大小的一半,对待传输报文进行分 片,也可以先重复发送该测试报文分片以确认该次发送失败是偶然情况,还是该信道状态 下确实无法成功发送该测试报文分片,若重复2次步骤101 102后均收到应答消息,则说 明第一次发送失败是偶然情况,说明该信道状况容许该长度的测试分片发送成功,则可执 行上述步骤103,或增加测试报文分片的长度,然后重复上述步骤101 102 ;若重复2次步 骤101 102后至少还有一次没有接收到应答消息,也即在三次发送测试报文分片的过程 中至少有两次失败,则说明当前信道状况确实无法成功发送该测试分片,则按照当前测试 报文分片大小的一半,对待传输报文进行分片。以上过程在后续实施例中进行详细描述。本发明实施例通过在确定待传输报文的分片大小前,先发送测试报文分片,然后 根据发送成功的测试报文的分片大小决定待传输报文的分片大小,从而实现了对待传输报 文的合理分片,使得信息能够成功传输,同时又保持较好的传输效率,保证了传输报文在信 道差网络中的可靠传输。参见图2,为本发明实施例另一种报文分片方法流程图。该方法可以包括步骤201,生成测试报文分片并发送。在报文发送空闲时,先选择一定长度,如64字节,作为测试报文分片长度,生成该 测试报文并向接收方发送。步骤202,32秒内是否接收到应答消息。该应答消息的长度设置为10字节,若在预设的32秒内没有接收到应答消息,则转 入步骤203 210,若在预设的32秒内接收到应答消息,则直接转入步骤208 210。步骤203,重复发送当前的测试报文分片。步骤204,32秒内是否接收到该重复发送的测试报文分片的应答消息。步骤203、204是为了确认步骤202中未收到应答消息是偶然情况,还是确实当前 的信道状态不允许发送该长度的报文分片。若仍然没有接收到应答消息,则转入步骤205,若接收到了应答消息,则转入步骤 206。步骤205,按照当前测试报文分片长度的1/2对待传输报文进行分片。若仍没有接收到应答消息,则可确认当前的信道状态确实不允许发送该长度的报 文分片,则按照当前测试报文分片长度的1/2对待传输报文进行分片。例如,若当前的测试 报文分片长度为64字节,则待传输报文分片的长度应取32字节。
步骤206,再次重复发送当前的测试报文分片。步骤207,32秒内是否接收到该再次重复发送的测试报文分片的应答消息。步骤206、207是为了进一步确认步骤202中未收到应答消息是偶然情况。若又接收不到应答消息,则说明当前信道状态不稳定,不适于采用当前测试报文 分片的长度划分待传输报文,则可以执行步骤205。若仍能接收到应答消息,则说明步骤202中未接受到应答消息确实为偶然情况, 当前信道状态可以容许当前测试报文分片成功发送,则转入步骤208。当然,在其它实施例中步骤206、207可以省略。步骤208,判断当前测试报文分片长度是否达到4MB。本步骤判断当前的测试报文分片长度是否达到了设定的最大的长度阈值4MB,若 达到,则转入步骤209,若没有达到则转入步骤210。步骤209,按照分片长度为4MB,对待传输报文进行分片。步骤210,倍增当前测试报文分片长度。若还没有达到4MB,则可以重新设定测试报文分片的长度,例如,若在步骤201中 设定的测试报文分片的长度为64字节,则倍增该长度,也即设定测试报文分片的长度为 128字节,然后重复步骤201 202,直到能够接收到应答消息的最大测试报文分片长度。例 如长度为128字节的测试报文分片发送后能接收到应答消息,而长度为256字节的测试报 文分片发送后不能接收到应答消息,则能够接收到应答消息的最大测试报文分片长度即为 128字节,下一步即按照分片长度为128字节,对待传输报文进行分片。在另一实施例中,在报文发送空闲时,可以每隔固定的时间间隔就依次发送一个 长度为 32Byte、64Byte、128Byte、256Byte、512Byte、lKB、2KB、4KB、8KB、16KB、32KB、64KB、 128KB、256KB、512KB、1MB、2MB、4MB的分片。当小的分片成功发送时,再逐次增大分片的大 小,直到达到可发送的最大值。如果分片达到某种大小再不能成功发送时,则终止测试,按 照该分片长度的一半对传输报文进行分片。如果分片大小为32字节时不能发送成功,则可 以暂时停止对待传输报文的发送,等以后发送测试报文分片成功后(到达下一个时间间隔 后会自动进行),再开始对待传输的报文进行发送。这样做的好处是当信道很好时,每次都能成功发送,总的测试发送数据小于 8MB,没有占用多少带宽(注意发送都是在传输的间隙进行);当信道差时,我们可以从最小 的分片32个字节开始,一般情况下总能成功,直到出现比当前信道能传输的分片大一倍的 信息,传输失败2次(时间64秒),其传输开销也是较小的,不会出现由于信道差,测试分片 抢占传输带宽的情况。本发明实施例通过在确定待传输报文的分片大小前,先发送测试报文分片,然后 根据发送成功的测试报文的分片大小决定待传输报文的分片大小,从而实现了对待传输报 文的合理分片,使得信息能够成功传输,同时又保持较好的传输效率,保证了传输报文在信 道差网络中的可靠传输。以上是对本发明方法实施例的描述,下面对实现上述方法的系统进行介绍。参见图3,为本发明实施例一种报文分片系统结构示意图。该报文分片系统可以包括发送模块301,用于生成测试报文分片并发送。
第一判断模块302,用于判断在预设时间内是否接收到用于表明测试报文分片发 送成功的应答消息,应答消息的长度不超过测试报文分片的长度。分片模块303,用于当接收到应答消息时,根据测试报文分片的长度对待传输报文 进行分片。该报文分片系统的发送模块301可以在报文发送空闲时也即没有报文发送时,每 隔一定的时间间隔,发送测试报文分片,第一判断模块302在一定的时间内对是否接收到 应答消息进行判断,若接收到应答消息,则表明该测试报文分片已经被接收方接收到,该测 试报文分片发送成功,也即表明当前的信道状态可以容许该长度的报文成功发送,则分片 模块303即可对待传输的报文按照上述测试报文分片的大小进行分片,这样也就保证了该 待传输报文的成功传输。本发明实施例通过上述模块在确定待传输报文的分片大小前,先发送测试报文分 片,然后根据发送成功的测试报文的分片大小决定待传输报文的分片大小,从而实现了对 待传输报文的合理分片,使得信息能够成功传输,同时又保持较好的传输效率,保证了传输 报文在信道差网络中的可靠传输。参见图4,为本发明实施例另一种报文分片系统结构示意图。该报文分片系统除了可以包括发送模块401、第一判断模块402、分片模块403之 外,还可以包括第二判断模块404。第二判断模块404,用于在第一判断模块401判断在预设时间内接收到所述应答 消息后,进一步判断测试报文分片的长度是否达到长度阈值。本实施例中,发送模块401,还可以用于当第二判断模块404判断测试报文分片的 长度未达到长度阈值时,倍增测试报文分片的长度,再生成测试报文分片并发送;当第一判 断模块402未接收到所述应答消息时,重复生成测试报文分片并发送;在重复生成测试报 文分片并发送后,若第一判断模块402接收到应答消息,则再重复生成测试报文分片并发送。分片模块403,还可以用于当第二判断模块404判断测试报文分片的长度达到 长度阈值时,再根据测试报文分片的长度对待传输报文进行分片;还用于在第一判断模块 402未接收到应答消息时,根据测试报文分片长度的1/2对待传输报文进行分片;当发送模 块401重复生成测试报文分片并发送,第一判断模块402若仍未接收到应答消息时,再根据 测试报文分片长度的1/2对待传输报文进行分片;当发送模块401再重复生成测试报文分 片并发送时,若第一判断模块402又未接收到所述应答消息,则根据测试报文分片长度的 1/2对待传输报文进行分片,若第一判断模块402仍接收到应答消息,则根据测试报文分片 的长度对待传输报文进行分片。本实施例中,发送模块401生成测试报文分片并发送后,若第一判断模块402在一 定时间内接收到应答消息,如32秒,则由第二判断模块404进一步判断该测试报文分片的 长度是否达到长度阈值,如4MB,若达到则由分片模块403按照该测试报文分片的长度对待 传输报文进行分片;若未达到,则由发送模块401倍增测试报文分片的长度,再次发送倍增 长度后的测试报文分片,由第一判断模块402和第二判断模块404进行判断,直到第一判断 模块402能接收到应答消息的最大长度的测试报文分片,然后再由分片模块403根据最大 长度的测试报文分片对待传输报文进行分片。
在发送模块401生成测试报文分片并发送后,若第一判断模块402判断未接收到 应答消息,则可以由分片模块403直接按照该测试报文分片长度的1/2对待传输报文进行 分片,也可以先由发送模块401重发该测试报文分片,若第一判断模块402仍未接收到应答 消息,再由分片模块403按照该测试报文分片长度的1/2对待传输报文进行分片,若第一判 断模块402又接收到应答消息,则由发送模块401再次重复发送该测试报文分片,若第一判 断模块402没有接收到应答消息,此时再由分片模块403按照该测试报文分片长度的1/2 对待传输报文进行分片,若第一判断模块402仍接收到应答消息,则由第二判断模块404进 一步判断该测试报文分片的长度是否达到长度阈值,若达到,则由分片模块403按照该测 试报文分片的长度对待传输报文进行分片,若未达到,则由发送模块401倍增测试报文分 片的长度,然后发送倍增长度后的测试报文分片,由第一判断模块402和第二判断模块404 进行判断,直到第一判断模块402能接收到应答消息的最大长度的测试报文分片,然后再 由分片模块403根据最大长度的测试报文分片对待传输报文进行分片。本发明实施例通过上述模块实现了对待传输报文的合理分片,使得信息能够成功 传输,同时又保持较好的传输效率,保证了传输报文在信道差网络中的可靠传输。以上系统中各模块的具体实现过程请参照前述方法实施例中的相应描述,此处不 再赘述。以上所述的本发明实施方式,并不构成对本发明保护范围的限定。任何在本发明 的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明的权利要求保护范 围之内。
权利要求
1.一种报文分片方法,其特征在于,包括 生成测试报文分片并发送;判断在预设时间内是否接收到用于表明所述测试报文分片发送成功的应答消息,所述 应答消息的长度不超过所述测试报文分片的长度;若接收到所述应答消息,则根据所述测试报文分片的长度对待传输报文进行分片。
2.根据权利要求1所述的方法,其特征在于,还包括 判断所述测试报文分片的长度是否达到长度阈值;若达到所述长度阈值,再执行所述根据所述测试报文分片的长度对待传输报文进行分 片的步骤;若未达到所述长度阈值,则倍增所述测试报文分片的长度,重复执行所述生成测试报 文分片并发送的步骤。
3.根据权利要求1或2所述的方法,其特征在于,还包括若未接收到所述应答消息,则根据所述测试报文分片长度的1/2对待传输报文进行分片。
4.根据权利要求3所述的方法,其特征在于,还包括若未接收到所述应答消息,则重复执行所述生成测试报文分片并发送的步骤; 若仍未接收到所述应答消息,再执行所述根据所述测试报文分片长度的1/2对待传输 报文进行分片的步骤。
5.根据权利要求4所述的方法,其特征在于,还包括在所述重复执行所述生成测试报文分片并发送的步骤后,若接收到所述应答消息,则 再重复执行所述生成测试报文分片并发送的步骤;若又未接收到所述应答消息,再执行所述根据所述测试报文分片长度的1/2对待传输 报文进行分片的步骤;若仍接收到所述应答消息,则执行所述根据所述测试报文分片的长度对待传输报文进 行分片的步骤。
6.一种报文分片系统,其特征在于,包括 发送模块,用于生成测试报文分片并发送;第一判断模块,用于判断在预设时间内是否接收到用于表明所述测试报文分片发送成 功的应答消息,所述应答消息的长度不超过所述测试报文分片的长度;分片模块,用于当接收到所述应答消息时,根据所述测试报文分片的长度对待传输报 文进行分片。
7.根据权利要求6所述的系统,其特征在于,还包括第二判断模块,用于在所述第一判断模块判断在预设时间内接收到所述应答消息后, 进一步判断所述测试报文分片的长度是否达到长度阈值;所述分片模块,还用于当所述第二判断模块判断测试报文分片的长度达到所述长度阈 值时,再根据所述测试报文分片的长度对待传输报文进行分片;所述发送模块,还用于当所述第二判断模块判断测试报文分片的长度未达到所述长度 阈值时,倍增所述测试报文分片的长度,再生成测试报文分片并发送。
8.根据权利要求6或7所述的系统,其特征在于,所述分片模块,还用于在所述第一判断模块未接收到所述应答消息时,根据所述测试 报文分片长度的1/2对待传输报文进行分片。
9.根据权利要求8所述的系统,其特征在于,所述发送模块,还用于当所述第一判断模块未接收到所述应答消息时,重复生成测试 报文分片并发送;所述分片模块,还用于当所述发送模块重复生成测试报文分片并发送,所述第一判断 模块若仍未接收到所述应答消息时,再根据所述测试报文分片长度的1/2对待传输报文进 行分片。
10.根据权利要求9所述的系统,其特征在于,还包括所述发送模块,还用于在重复生成测试报文分片并发送后,若所述第一判断模块接收 到应答消息,则再重复生成测试报文分片并发送;所述分片模块,还用于当所述发送模块再重复生成测试报文分片并发送时,若所述第 一判断模块又未接收到所述应答消息,则根据所述测试报文分片长度的1/2对待传输报文 进行分片;若所述第一判断模块仍接收到所述应答消息,则根据所述测试报文分片的长度 对待传输报文进行分片。
全文摘要
本发明提供一种报文分片方法及系统。一种报文分片方法包括生成测试报文分片并发送;判断在预设时间内是否接收到用于表明所述测试报文分片发送成功的应答消息,所述应答消息的长度不超过所述测试报文分片的长度;若接收到所述应答消息,则根据所述测试报文分片的长度对待传输报文进行分片。本发明实施例通过在确定待传输报文的分片大小前,先发送测试报文分片,然后根据发送成功的测试报文的分片大小决定待传输报文的分片大小,从而实现了对待传输报文的合理分片,使得信息能够成功传输,同时又保持较好的传输效率,保证了传输报文在信道差网络中的可靠传输。
文档编号H04L12/56GK102088410SQ20111002739
公开日2011年6月8日 申请日期2011年1月25日 优先权日2011年1月25日
发明者周斌, 杨树强, 滕猛, 王凯, 王怀民, 罗荣凌, 舒琦, 贾焰, 赵辉, 金松昌, 陈志坤, 韩伟红 申请人:中国人民解放军国防科学技术大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1