一种自适应网络带宽的数据传输系统的制作方法

文档序号:28601726发布日期:2022-01-22 11:26阅读:68来源:国知局
一种自适应网络带宽的数据传输系统的制作方法

1.本发明涉及网络通信技术领域,尤其涉及一种自适应网络带宽的数据传输系统。


背景技术:

2.随着信息化应用基础环境的不断发展,数据信息量日益增多,对网络链路传输能力要求也随之提升,其中网络链路在发送端和接收端之间的数据传输效率是一个重要因素。在业务系统运营时间段,为了保证业务系统正常运行,不允许占用大量的网络带宽进行数据传输。目前,通常选择在非运营时间段传输数据,但是数据量大,可能无法完成所有的数据传输,难以提高网络链路数据传输效率。因此,如何自适应各个时段的网络带宽传输数据,提高网络链路数据传输效率,成为当前急需解决的一大问题。


技术实现要素:

3.为了克服现有技术的缺陷,本发明提供一种自适应网络带宽的数据传输系统,能够自适应各个时段的网络带宽传输数据,提高网络链路数据传输效率。
4.为了解决上述技术问题,第一方面,本发明一实施例提供一种自适应网络带宽的数据传输系统,包括发送端设备和接收端设备;所述发送端设备包括网络带宽探测模块、数据传输策略模块、第一通信模块,所述接收端设备包括第二通信模块、数据缓存模块;
5.所述网络带宽探测模块,用于定时探测所述发送端设备与所述接收端设备之间的网络链路的可用网络带宽;
6.所述数据传输策略模块,用于预先定义数据传输策略;
7.所述第一通信模块,用于根据所述可用网络带宽,按照所述数据传输策略判断是否可进行数据传输,若是,则向所述第二通信模块发送待传输数据包中的待续传数据块,和/或,根据所述可用网络带宽,按照所述数据传输策略将下一所述待传输数据包配置为多个待传输数据块,向所述第二通信模块发送所述待传输数据块;
8.所述第二通信模块,用于在成功接收所述待续传数据块或所述待传输数据块时,向所述第一通信模块反馈数据块确认接收信息,并在成功接收最后一个所述待续传数据块或所述待传输数据块时,将最后一个所述待续传数据块或所述待传输数据块所属的数据包作为目标数据包,对接收的属于所述目标数据包的所有数据块进行合并验证,在合并验证通过后向所述第一通信模块反馈数据包确认接收信息;
9.所述数据缓存模块,用于存储所述第二通信模块成功接收且合并验证通过的所述待续传数据块和所述待传输数据块。
10.进一步地,所述第一通信模块,还用于当所述待续传数据块或所述待传输数据块的传输时间超过传输时间阈值时,暂停向所述第二通信模块发送所述待续传数据块或所述待传输数据块,并向所述网络带宽探测模块发起网络带宽探测请求;
11.所述网络带宽探测模块,还用于响应所述网络带宽探测请求,探测所述发送端设备与所述接收端设备之间的网络链路的可用网络带宽。
12.进一步地,所述第一通信模块,还用于当成功发送的所有数据块的累计数据大小超过数据大小阈值时,暂停向所述第二通信模块发送所述待续传数据块或所述待传输数据块,并向所述网络带宽探测模块发起网络带宽探测请求,同步将成功发送的所有数据块的累计数据大小重置为0m,供下一所述待续传数据块或所述待传输数据块传输周期计数;
13.所述网络带宽探测模块,还用于响应所述网络带宽探测请求,探测所述发送端设备与所述接收端设备之间的网络链路的可用网络带宽。
14.进一步地,所述探测所述发送端设备与所述接收端设备之间的网络链路的可用网络带宽,具体为:
15.通过所述第一通信模块向所述第二通信模块发送探测数据包组的摘要信息,并接收所述第二通信模块反馈的摘要确认接收信息;
16.通过所述第一通信模块向所述第二通信模块发送所述探测数据包组,使所述第二通信模块根据所述探测数据包组的摘要信息和获取的接收信息计算所述可用网络带宽,并接收所述第二通信模块反馈的所述可用网络带宽。
17.进一步地,所述根据所述可用网络带宽,按照所述数据传输策略判断是否可进行数据传输,具体为:
18.根据所述数据传输策略确定当前周期下的网络带宽阈值,将所述可用网络带宽与所述网络带宽阈值比较;
19.若所述可用网络带宽大于所述网络带宽阈值,则判定为可传输数据,否则判定为不可传输数据。
20.进一步地,所述向所述第二通信模块发送待传输数据包中的待续传数据块,和/或,根据所述可用网络带宽,按照所述数据传输策略将下一所述待传输数据包配置为多个待传输数据块,向所述第二通信模块发送所述待传输数据块,具体为:
21.判断所述待传输数据包中是否有所述待续传数据块,若有,则向所述第二通信模块发送所述待续传数据块,并当完成发送所有所述待续传数据块且存在下一所述待传输数据包时,根据所述可用网络带宽,按照所述数据传输策略将下一所述待传输数据包配置为多个待传输数据块,向所述第二通信模块发送所述待传输数据块;
22.若否,则继续判断是否有下一所述待传输数据包,并当存在下一所述待传输数据包时,根据所述可用网络带宽,按照所述数据传输策略将下一所述待传输数据包配置为多个待传输数据块,向所述第二通信模块发送所述待传输数据块。
23.进一步地,所述根据所述可用网络带宽,按照所述数据传输策略将下一所述待传输数据包配置为多个待传输数据块,向所述第二通信模块发送所述待传输数据块,具体为:
24.根据所述数据传输策略,确定当前周期下与所述可用网络带宽对应的预设数据大小,将下一所述待传输数据包配置为多个大小为所述预设数据大小的所述待传输数据块,生成下一所述待传输数据包的摘要信息;
25.向所述第二通信模块发送下一所述待传输数据包的摘要信息,并在接收所述第二通信模块反馈的摘要确认接收信息时,向所述第二通信模块发送所述待传输数据块。
26.进一步地,所述向所述第二通信模块发送所述待传输数据块,还包括:
27.根据所有所述待传输数据块的序号标签,依次将预设并发数量的所述待传输数据块并行发送至所述第二通信模块。
28.进一步地,所述在成功接收最后一个所述待续传数据块或所述待传输数据块时,将最后一个所述待续传数据块或所述待传输数据块所属的数据包作为目标数据包,对接收的属于所述目标数据包的所有数据块进行合并验证,在合并验证通过后向所述第一通信模块反馈数据包确认接收信息,具体为:
29.在成功接收最后一个所述待续传数据块或所述待传输数据块时,将最后一个所述待续传数据块或所述待传输数据块所属的数据包作为目标数据包,并判断接收的属于所述目标数据包的数据块的总数是否等于所述目标数据包中的数据块的实际总数;
30.若是,则从所述数据缓存模块中提取出属于所述目标数据包的所有数据块进行合并验证,并在合并验证通过后向所述第一通信模块反馈数据包确认接收信息,在合并验证未通过后重新进行合并验证直至合并验证通过或验证次数达到验证次数阈值。
31.进一步地,所述从所述数据缓存模块中提取出属于所述目标数据包的所有数据块进行合并验证,具体为:
32.从所述数据缓存模块中提取出属于所述目标数据包的所有数据块进行合并,得到合并数据包,并对所述合并数据包进行md5校验。
33.本发明的实施例,具有如下有益效果:
34.通过设计自适应网络带宽的数据传输系统,利用网络带宽探测模块,定时探测发送端设备与接收端设备之间的网络链路的可用网络带宽,利用第一通信模块,根据可用网络带宽,按照预先定义的数据传输策略判断是否可进行数据传输,若是,则向第二通信模块发送待传输数据包中的待续传数据块,和/或,根据可用网络带宽,按照数据传输策略将下一待传输数据包配置为多个待传输数据块,向第二通信模块发送待传输数据块,利用第二通信模块,用于在成功接收待续传数据块或待传输数据块时,向第一通信模块反馈数据块确认接收信息,并在成功接收最后一个待续传数据块或待传输数据块时,将最后一个待续传数据块或待传输数据块所属的数据包作为目标数据包,对接收的属于目标数据包的所有数据块进行合并验证,在合并验证通过后向第一通信模块反馈数据包确认接收信息,实现自适应网络带宽进行数据传输。相比于现有技术,本发明的实施例通过定时探测发送端设备与接收端设备之间的网络链路的可用网络带宽,根据探测的可用网络带宽,按照预先定义的数据传输策略,将待传输数据包分块传输,由于数据块较小,传输时间较短,能够降低网络链路的负载压力,减少网络链路的占用时间,从而实现自适应各个时段的网络带宽传输数据,提高网络链路数据传输效率。
附图说明
35.图1为本发明第一实施例中的一种自适应网络带宽的数据传输系统的结构示意图;
36.图2为本发明第一实施例中的一种自适应网络带宽的数据传输系统的工作流程图;
37.图3为本发明第一实施例中的一种自适应网络带宽的数据传输系统的数据流图。
具体实施方式
38.下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显
然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
39.如图1所示,第一实施例提供一种自适应网络带宽的数据传输系统,包括发送端设备1和接收端设备2;发送端设备1包括网络带宽探测模块11、数据传输策略模块12、第一通信模块13,接收端设备2包括第二通信模块21、数据缓存模块22;网络带宽探测模块11,用于定时探测发送端设备1与接收端设备2之间的网络链路的可用网络带宽;数据传输策略模块12,用于预先定义数据传输策略;第一通信模块13,用于根据可用网络带宽,按照数据传输策略判断是否可进行数据传输,若是,则向第二通信模块21发送待传输数据包中的待续传数据块,和/或,根据可用网络带宽,按照数据传输策略将下一待传输数据包配置为多个待传输数据块,向第二通信模块21发送待传输数据块;第二通信模块21,用于在成功接收待续传数据块或待传输数据块时,向第一通信模块13反馈数据块确认接收信息,并在成功接收最后一个待续传数据块或待传输数据块时,将最后一个待续传数据块或待传输数据块所属的数据包作为目标数据包,对接收的属于目标数据包的所有数据块进行合并验证,在合并验证通过后向第一通信模块13反馈数据包确认接收信息;数据缓存模块22,用于存储第二通信模块21成功接收且合并验证通过的待续传数据块和待传输数据块。
40.如图2-3所示,作为示例性地,根据业务系统运营需求,将全天分为多个周期,利用网络带宽探测模块11,根据预设探测时间间隔,定时探测发送端设备1与接收端设备2之间的网络链路的可用网络带宽。
41.利用数据传输策略模块12,预先定义数据传输策略。其中,数据传输策略包括发送端设备1和接收端设备2在各个周期下的数据传输规则,比如根据预设探测时间间隔定时探测可用网络带宽、在可用网络带宽超过网络带宽阈值时进行数据传输、可用网络带宽范围与预设数据大小的映射表、在数据块传输时间超过传输时间阈值时中断数据传输、在累计数据大小超过数据大小阈值时中断数据传输等等。
42.利用第一通信模块13,根据可用网络带宽,按照数据传输策略判断是否可进行数据传输,比如判断可用网络带宽是否超过当前周期的网络带宽阈值,若是,则在待传输数据包中有待续传数据块时但没有下一待传输数据包时,只向第二通信模块21发送待传输数据包中的待续传数据块;在待传输数据包中有待续传数据块且有下一待传输数据包时,先向第二通信模块21发送待传输数据包中的待续传数据块,再在完成发送待传输数据包中的所有待续传数据块后,根据可用网络带宽,按照数据传输策略将下一待传输数据包配置为多个待传输数据块,比如将下一待传输数据包配置为多个大小为预设数据大小的待传输数据块,向第二通信模块21发送待传输数据块;在待传输数据包中没有待续传数据块但有下一待传输数据包时,只根据可用网络带宽,按照数据传输策略将下一待传输数据包配置为多个待传输数据块,向第二通信模块21发送待传输数据块;在待传输数据包中没有待续传数据块也没有下一待传输数据包时,等待下一次探测可用网络带宽后进行数据传输。
43.利用第二通信模块21,在成功接收待续传数据块或待传输数据块时,向第一通信模块13反馈数据块确认接收信息,并在成功接收最后一个待续传数据块或待传输数据块时,将最后一个待续传数据块或待传输数据块所属的数据包作为目标数据包,对接收的属于目标数据包的所有数据块进行合并验证,在合并验证通过后向第一通信模块13反馈数据
包确认接收信息,在合并验证未通过后重新进行合并验证,直至合并验证通过或者验证次数达到验证次数阈值。如果验证次数达到验证次数阈值时,即对属于目标数据包的所有数据块进行多次合并验证均未成功,就需要通知第一通信模块13重新传输目标数据包。
44.利用数据缓存模块22,在成功接收待续传数据块时,存储待续传数据块,以及在成功接收待传输数据块时,存储待传输数据块,以及存储第二通信模块21成功接收且合并验证通过的待续传数据块和待传输数据块。
45.本实施例通过定时探测发送端设备1与接收端设备2之间的网络链路的可用网络带宽,根据探测的可用网络带宽,按照预先定义的数据传输策略,将待传输数据包分块传输,由于数据块较小,传输时间较短,能够降低网络链路的负载压力,减少网络链路的占用时间,从而实现自适应各个时段的网络带宽传输数据,提高网络链路数据传输效率。
46.在优选的实施例当中,第一通信模块13,还用于当待续传数据块或待传输数据块的传输时间超过传输时间阈值时,暂停向第二通信模块21发送待续传数据块或待传输数据块,并向网络带宽探测模块11发起网络带宽探测请求;网络带宽探测模块11,还用于响应网络带宽探测请求,探测发送端设备1与接收端设备2之间的网络链路的可用网络带宽。
47.作为示例性地,在数据传输过程中,第一通信模块13根据数据传输策略模块12预先定义的数据传输策略,确定当前周期下的传输时间阈值,当待续传数据块或待传输数据块的传输时间超过传输时间阈值时,认为当前网络状态繁忙,暂停向第二通信模块21发送待续传数据块或待传输数据块,并向网络带宽探测模块11发起网络带宽探测请求,使网络带宽探测模块11重新探测可用网络带宽。
48.本实施例通过在待续传数据块或待传输数据块的传输时间超过传输时间阈值时,暂停向第二通信模块21发送待续传数据块或待传输数据块,能够在网络状态繁忙时,降低网络链路的负载压力,减少网络链路的占用时间,从而在保证业务系统正常运行的前提下实现自适应各个时段的网络带宽传输数据,提高网络链路数据传输效率。
49.在优选的实施例当中,第一通信模块13,还用于当成功发送的所有数据块的累计数据大小超过数据大小阈值时,暂停向第二通信模块21发送待续传数据块或待传输数据块,并向网络带宽探测模块11发起网络带宽探测请求,同步将成功发送的所有数据块的累计数据大小重置为0m,供下一待续传数据块或待传输数据块传输周期计数;网络带宽探测模块11,还用于响应网络带宽探测请求,探测发送端设备1与接收端设备2之间的网络链路的可用网络带宽。
50.作为示例性地,在数据传输过程中,第一通信模块13根据数据传输策略模块12预先定义的数据传输策略,确定当前周期下的数据大小阈值,以判断当前周期下成功发送的所有数据块的累计数据大小是否超过数据大小阈值,当成功发送的所有数据块的累计数据大小超过数据大小阈值时,暂停下一个待续传数据块或待传输数据块的数据传输,并向网络带宽探测模块11发起网络带宽探测请求,使网络带宽探测模块11重新探测可用网络带宽,同步将成功发送的所有数据块的累计数据大小重置为0m,供下一待续传数据块或待传输数据块传输周期计数。
51.本实施例通过在成功发送的所有数据块的累计数据大小超过数据大小阈值时,暂停下一个待续传数据块或待传输数据块的数据传输,能够保证上一个待续传数据块或待传输数据块成功完整地传输。
52.在优选的实施例当中,所述探测发送端设备1与接收端设备2之间的网络链路的可用网络带宽,具体为:通过第一通信模块13向第二通信模块21发送探测数据包组的摘要信息,并接收第二通信模块21反馈的摘要确认接收信息;通过第一通信模块13向第二通信模块21发送探测数据包组,使第二通信模块21根据探测数据包组的摘要信息和获取的接收信息计算可用网络带宽,并接收第二通信模块21反馈的可用网络带宽。
53.作为示例性地,利用网络带宽探测模块11,探测发送端设备1到接收端设备2之间的网络链路的可用网络带宽,将发送端设备1与接收端设备2的时间差控制在100ms内,接收到网络带宽探测请求或达到预设探测时间均可以触发网络带宽探测模块11探测网络链路的可用网络带宽。假设预设探测时间间隔为5分钟,则探测流程具体如下:
54.第一通信模块13向第二通信模块21发送探测数据包组的摘要信息,探测数据包组的摘要信息包括探测数据包组中的数据包的总数n1、探测数据包组的约定发送时间t1、探测数据包中的数据包的发送时间间隔t、探测数据包组中的数据包的大小p;第二通信模块21接收到探测数据包组的摘要信息,向第一通信模块13返回摘要确认接收信息;第一通信模块13在约定发送时间t1发送探测数据包组;第二通信模块21接收探测数据包组,获取接收信息,即成功接收的探测数据包组中的数据包的总数n2、探测数据包组的完成接收时间t2;第二通信模块21根据计算公式计算可用网络带宽,计算公式为:一次探测数据包组传输总用时:t=t2-t1-t*(n1-1),一次探测网络链路的可用网络带宽:第二通信模块21返回当前周期的可用网络带宽。
55.在优选的实施例当中,所述根据可用网络带宽,按照数据传输策略判断是否可进行数据传输,具体为:根据数据传输策略确定当前周期下的网络带宽阈值,将可用网络带宽与网络带宽阈值比较;若可用网络带宽大于网络带宽阈值,则判定为可传输数据,否则判定为不可传输数据。
56.需要说明的是,为了保证业务系统的正常运行,可将网络带宽阈值设置为该网络链路的网络带宽数值的二分之一。
57.作为示例性地,第一通信模块13根据数据传输策略确定当前周期下的网络带宽阈值,将可用网络带宽与网络带宽阈值比较,若可用网络带宽大于网络带宽阈值,则判定为可传输数据,否则判定为不可传输数据,需要中断待传输数据包的数据传输,继续发送处于发送中的数据块,直至发送成功。
58.在优选的实施例当中,所述向第二通信模块21发送待传输数据包中的待续传数据块,和/或,根据可用网络带宽,按照数据传输策略将下一待传输数据包配置为多个待传输数据块,向第二通信模块21发送待传输数据块,具体为:判断待传输数据包中是否有待续传数据块,若有,则向第二通信模块21发送待续传数据块,并当完成发送所有待续传数据块且存在下一待传输数据包时,根据可用网络带宽,按照数据传输策略将下一待传输数据包配置为多个待传输数据块,向第二通信模块21发送待传输数据块;若否,则继续判断是否有下一待传输数据包,并当存在下一待传输数据包时,根据可用网络带宽,按照数据传输策略将下一待传输数据包配置为多个待传输数据块,向第二通信模块21发送待传输数据块。
59.可以理解的是,待续传数据块是中断数据传输后,待传输数据包中未被发送的待传输数据块。
60.作为示例性地,第一通信模块13判断待传输数据包中是否有待续传数据块,若有,则向第二通信模块21发送待续传数据块,并当完成发送所有待续传数据块且有下一个待传输数据包时,根据可用网络带宽,按照数据传输策略将下一个待传输数据包配置为多个待传输数据块,向第二通信模块21发送待传输数据块;若没有,则继续判断是否有下一个待传输数据包,并当有下一个待传输数据包时,根据可用网络带宽,按照数据传输策略将下一待传输数据包配置为多个待传输数据块,向第二通信模块21发送待传输数据块。如果没有下一个待传输数据块,则等待下一次探测可用网络带宽后进行数据传输。
61.在优选的实施例当中,所述根据可用网络带宽,按照数据传输策略将下一待传输数据包配置为多个待传输数据块,向第二通信模块21发送待传输数据块,具体为:根据数据传输策略,确定当前周期下与可用网络带宽对应的预设数据大小,将下一待传输数据包配置为多个大小为预设数据大小的待传输数据块,生成下一待传输数据包的摘要信息;向第二通信模块21发送下一待传输数据包的摘要信息,并在接收第二通信模块21反馈的摘要确认接收信息时,向第二通信模块21发送待传输数据块。
62.在本实施例的一优选实施方式中,所述向第二通信模块21发送待传输数据块,还包括:根据所有待传输数据块的序号标签,依次将预设并发数量的待传输数据块并行发送至第二通信模块21。
63.作为示例性地,第一通信模块13根据数据传输策略模块12预先定义的数据传输策略,确定当前周期下与可用网络带宽对应的预设数据大小,将下一待传输数据包配置为多个大小为预设数据大小的待传输数据块,生成下一待传输数据包的摘要信息,下一待传输数据包的摘要信息包括下一待传输数据中的待传输数据块的总数、下一待传输数据的包名和md5值。
64.由于数据传输策略是配置可用网络带宽范围与预设数据大小的映射表,因此探测的可用网络带宽在不同的数值范围内,对应不同的预设数据大小。假设探测的可用网络带宽为b,数据传输策略模块12配置的可用网络带宽范围和预设数据大小的映射表为,网络链路的可用网络带宽范围有5m≤b<8m、8m≤b<10m、10m≤b,则分别对应的预设数据大小为128kb、256kb、512kb。当探测的可用网络带宽为5.5mb/s,确定的预设数据大小为128kb,即待传输数据包中各个待传输数据块大小都为128kb。
65.第一通信模块13生成下一待传输数据包的摘要信息后,对每个待传输数据块打上序号标签,序号标签从1开始依次增加。第一通信模块13向第二通信模块21发送下一待传输数据包的摘要信息,第二通信模块21接收到下一待传输数据包的摘要信息后,返回摘要确认接收信息。
66.第一通信模块13接收到第二通信模块21反馈的摘要确认接收信息后,向第二通信模块21发送待传输数据块,比如按照数据传输策略模块12配置的每5个序号并行发送待传输数据块。
67.在优选的实施例当中,所述在成功接收最后一个待续传数据块或待传输数据块时,将最后一个待续传数据块或待传输数据块所属的数据包作为目标数据包,对接收的属于目标数据包的所有数据块进行合并验证,在合并验证通过后向第一通信模块13反馈数据包确认接收信息,具体为:在成功接收最后一个待续传数据块或待传输数据块时,将最后一个待续传数据块或待传输数据块所属的数据包作为目标数据包,并判断接收的属于目标数
据包的数据块的总数是否等于目标数据包中的数据块的实际总数;若是,则从数据缓存模块22中提取出属于目标数据包的所有数据块进行合并验证,并在合并验证通过后向第一通信模块13反馈数据包确认接收信息,在合并验证未通过后重新进行合并验证直至合并验证通过或验证次数达到验证次数阈值。
68.在本实施例的一优选实施方式中,所述从数据缓存模块22中提取出属于目标数据包的所有数据块进行合并验证,具体为:从数据缓存模块22中提取出属于目标数据包的所有数据块进行合并,得到合并数据包,并对合并数据包进行md5校验。
69.作为示例性地,第二通信模块21在接收最后一个待续传数据块或待传输数据块时,将最后一个待续传数据块或待传输数据块存储于数据缓存模块22,并向第一通信模块13反馈数据块确认接收信息,此时第二通信模块21成功接收最后一个待续传数据块或待传输数据块,将最后一个待续传数据块或待传输数据块所属的数据包作为目标数据包,并检测目标数据包的正确性和安全性,即判断接收的属于目标数据包的数据块的总数是否等于目标数据包中的数据块的实际总数,若相等,则从数据缓存模块22中提取出属于目标数据包的所有数据块进行合并,得到合并数据包,对合并数据包进行md5验证,并在合并验证通过后向第一通信模块13反馈数据包确认接收信息,反之通知第一通信模块13重新传输目标数据包;若不相等,则等待5秒后继续进行合并验证,等待2次均未能成功通过合并验证,则通知第一通信模块13重新传输目标数据包。
70.本实施例通过在成功接收最后一个待续传数据块或待传输数据块时,对接收的属于目标数据包的所有数据块进行总数比对和合并验证,有利于保证接收的每个数据块的正确性和安全性。
71.为了更加清楚地说明本发明的实施例,将自适应网络带宽的数据传输系统应用于智慧城市生产业务系统。
72.智慧城市生产业务系统有两台服务器,分别是发送端设备1:a,和接收端设备2:c,a在智慧城市外场机房,c在智慧城市私有云机房,a和c服务器均使用相同的时钟基准服务器,时间误差小于100ms,a和c之间的网络链路的网络带宽为10m。
73.数据传输策略模块12预先定义的数据传输策略包括:可用网络带宽范围和预设数据块大小的映射表中的可用网络带宽范围5m≤b<8m、8m≤b<10m、10m≤b,分别对应预设数据块大小128kb、256kb、512kb,第一通信模块13传输数据块的预设并发数量为5个,第一通信模块13传输每个数据块的传输时间阈值为10秒,数据大小阈值为30m。
74.按以下计算公式计算a与c之间的网络链路的可用网络带宽:一次探测数据包组传输总用时:t=t2-t1-t*(n1-1),一次探测网络链路的可用网络带宽:
75.假设一次探测网络链路可用带宽的参数为:探测数据包组中的数据包的总数n1=20个、探测数据包组的约定发送时间t1=2021-06-28 16:32:21 108ms、探测数据包中的数据包的发送时间间隔t=50ms、探测数据包组中的数据包的大小p=32kb、成功接收的探测数据包组中的数据包的总数n2=19个、探测数据包组的完成接收时间t2=2021-06-28 16:32:22 896ms,根据计算公式计算得t=0.838s,b=689.26kb/s*8≈5.5mb/s。
76.由于本次探测的可用网络带宽在5m≤b<8m这一范围内,所以确定当前周期的数
据传输策略:每个待传输数据块的大小为128kb、第一通信模块13传输数据块的预设并发数量为5个、第一通信模块13传输每个数据块的传输时间阈值为10秒、数据大小阈值为30m。
77.a按数据传输策略完成当前周期的数据传输,如果第一通信模块13在当前周期下成功发送的所有数据块的累计数据大小超过数据大小阈值30m或数据块的传输时间超过传输时间阈值10s,则暂时停止数据传输,触发网络带宽探测模块11重新探测可用网络带宽,a同步将成功发送的所有数据块的累计数据大小重置为0m,供下一待续传数据块或待传输数据块传输周期计数,如果网络带宽探测模块11探测的可用网络带宽无法满足恢复数据传输的条件,网络带宽探测模块11按每5分钟定时间隔循环探测可用网络带宽,直至探测的可用网络带宽满足恢复数据传输的条件。
78.本发明的实施例适用于每天24小时需要从a到c进行大量的业务系统非实时数据传输场景,如业务系统非实时的重要数据、监控或日志数据,a和c两者之间网络链路连通后,通过本发明的实施例提供的自适应网络带宽的数据传输系统,根据探测的可用网络带宽动态调整数据传输策略,实现了每天24小时动态有效使用网络链路传输数据,且不影响生产环境系统正常业务,数据传输平滑分布到全天24小时网络链路可利用的时间段,分散网络链路数据传输压力,数据传输的效率和安全性可大大提高。
79.综上所述,实施本发明的实施例,具有如下有益效果:
80.通过设计自适应网络带宽的数据传输系统,利用网络带宽探测模块11,定时探测发送端设备1与接收端设备2之间的网络链路的可用网络带宽,利用第一通信模块13,根据可用网络带宽,按照预先定义的数据传输策略判断是否可进行数据传输,若是,则向第二通信模块21发送待传输数据包中的待续传数据块,和/或,根据可用网络带宽,按照数据传输策略将下一待传输数据包配置为多个待传输数据块,向第二通信模块21发送待传输数据块,利用第二通信模块21,用于在成功接收待续传数据块或待传输数据块时,向第一通信模块13反馈数据块确认接收信息,并在成功接收最后一个待续传数据块或待传输数据块时,将最后一个待续传数据块或待传输数据块所属的数据包作为目标数据包,对接收的属于目标数据包的所有数据块进行合并验证,在合并验证通过后向第一通信模块13反馈数据包确认接收信息,实现自适应网络带宽进行数据传输。本发明的实施例通过定时探测发送端设备1与接收端设备2之间的网络链路的可用网络带宽,根据探测的可用网络带宽,按照预先定义的数据传输策略,将待传输数据包分块传输,由于数据块较小,传输时间较短,能够降低网络链路的负载压力,减少网络链路的占用时间,从而实现自适应各个时段的网络带宽传输数据,提高网络链路数据传输效率。
81.以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
82.本领域普通技术人员可以理解实现上述实施例中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)或随机存储记忆体(random access memory,ram)等。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1