一种具有低延时低带宽的综合数据通信方法与流程
未命名
08-05
阅读:91
评论:0

1.本发明涉及数据通信方法技术领域,具体是一种具有低延时低带宽的综合数据通信方法。
背景技术:
2.目前对于服务器与终端设备、终端设备与终端设备之间的通信,普遍是通过http请求方式来实现的。采用http请求这种通信方式,对于硬件性能较为一般或偏低的服务器来说,意味着其无法处理太多终端设备同时http请求进行并发数据的通信需求,并且同样的数据往往需要对每台设备单独发送,这增加了网络带宽的压力,意味着需要很大的带宽。并且会经常性重复发送同样的数据,导致整体的时间太长,也即延时较高,无法满足同时连接大量终端设备下向所有终端设备均完成数据通信的整体通信延时低的要求。
技术实现要素:
3.针对现有技术的不足,本发明的目的是提供一种具有低延时低带宽的综合数据通信方法,其能够解决背景技术所描述的问题。
4.实现本发明的目的的技术方案为:一种具有低延时低带宽的综合数据通信方法,包括如下步骤:
5.步骤1:按预设时间间隔向服务器发送udp组播心跳确认请求,若收到服务器返回的心跳包,则执行步骤2,否则,继续按预设时间间隔发送udp组播心跳确认请求或者直接结束处理;
6.步骤2:判断服务器当前需要下发的数据包长度是否超过预设数据包长度阈值,若是,则采用长数据包发送方式,否则采用短数据包发送方式,数据包长度是指数据包的字节大小,
7.短数据包发送方式,其具体包括:接收来自服务器采用udp组播下发的数据包,终端设备向服务器回复是否收到数据包,服务器等待一定时间后,若仍然未收到来自终端设备的回复信息,则将相对应的终端设备的ip地址加入重发列表,重发列表初始为空,并重新向终端设备发送数据包,并继续判断是否收到表征终端设备是否收到数据包的回复信息,若收到,则表明数据包下发成功,若未收到,则对于在线的终端设备继续新一轮重发,直至将所有终端设备均成功接收到数据包,对于未在线的终端设备则停止下发数据包,直至终端设备再次上线并且未收到数据包,则继续新一轮重发,直至向重发列表中的所有终端设备均成功发送数据包,则停止发送数据包,
8.所述长数据包发送方式采用以下四种方式中的一种来实现:
9.a.服务器主动采用短数据包通知终端设备主动通过http请求来获得数据包;
10.b.终端设备自主地主动向服务器发送http请求来获得数据包;
11.c.终端设备将数据包拆分子数据包依次发送,每个子数据包有标识,服务器根据标识将接收到的子数据包按顺序进行拼接,从而得到完整的数据包;
12.d.终端设备或者服务器主动通过tcp socket建立与对方的通信长连接来发送数据包。
13.进一步地,若需要向n个终端设备分别发送心跳包,n≥2,则采用滑动窗口每次将n个心跳包中的m个心跳包作为待发送心跳包,1≤m<n,然后将待发送心跳包中的每一个心跳包依次发送给所有的终端设备,直至每一个心跳包均被所有的终端设备成功接收到,
14.将符合条件一的心跳包从待发送心跳包中移出,并将待发送心跳包之外的n个心跳包中的下一个心跳包添加至待发送心跳包,得到新的待发送心跳包,然后继续对新的待发送心跳包中的每一个心跳包依次发送给所有的终端设备,直至每一个心跳包均被所有的终端设备成功接收到,
15.条件一:当前心跳包被所有终端设备所成功接收并且返回表征接收成功的确认信息。
16.进一步地,统计一个统计周期内的服务器返回心跳包的时间长短和丢包率,若返回心跳包的时间和丢包率超过预设阈值,则随机地将优先级小于预设优先级阈值的所有数据包中的一个或多个丢弃,以避免网络拥堵情况下因继续发送大批量数据包而造成传输时延过长。
17.本发明的有益效果为:本发明能够有效减少因不稳定连接到站的数据丢包情况,并且通过长短数据包发送方式的选择,能够减少网络带宽的同时,还能够使得同样性能的服务器能够同时控制更多的终端设备,以及使得发送给大量的终端设备的整体时间更少,降低延时。
附图说明
18.图1为本发明的流程示意图。
具体实施方式
19.下面,结合附图以及具体实施方案,对本发明做进一步描述:
20.如图1所示,一种具有低延时低带宽的综合数据通信方法,包括如下步骤:
21.步骤1:按预设时间间隔向服务器发送udp组播心跳确认请求,若收到服务器返回的心跳包,则表明与服务器成功建立通信连接并继续执行步骤2,也即是表明当前终端设备与服务器建立了通信连接或者说当前终端设备是在线的,并且双方都清楚对方是处于在线状态。其中,预设时间间隔可以根据实际情况进行设置,例如,将其设置为25ms(毫秒)。否则,继续按预设时间间隔发送udp组播心跳确认请求或者直接结束处理。
22.在本步骤中,当具有多个(即大批量)终端设备时,每个终端设备均分别向服务器发送udp组播心跳确认请求,也即是采用udp组播通信协议向服务器发送心跳包,服务器若能响应该心跳包并返回确认心跳包,则意味着当前终端设备在线。
23.在一个可选的实施例中,若需要向n(n≥2)个终端设备分别发送心跳包,则采用滑动窗口每次将n个心跳包中的m个(1≤m<n)心跳包作为待发送心跳包,然后将待发送心跳包中的每一个心跳包依次发送给所有的终端设备,直至每一个心跳包均被所有的终端设备成功接收到。将符合条件一的心跳包从待发送心跳包中移出,并将待发送心跳包之外的n个心跳包中的下一个心跳包添加至待发送心跳包,得到新的待发送心跳包。然后继续对新的
待发送心跳包中的每一个心跳包依次发送给所有的终端设备,直至每一个心跳包均被所有的终端设备成功接收到。
24.条件一:当前心跳包被所有终端设备所成功接收并且返回表征接收成功的确认信息。
25.在另一个可选的实施例中,统计一个统计周期内的服务器返回心跳包的时间长短和丢包率,若返回心跳包的时间和丢包率超过预设阈值,则随机地将优先级小于预设优先级阈值的所有数据包中的一个或多个丢弃,以避免网络拥堵情况下因继续发送大批量数据包而造成传输时延过长。
26.步骤2:判断服务器当前需要下发的数据包长度是否超过预设数据包长度阈值,若是,则采用长数据包发送方式,否则采用短数据包发送方式。也即是,数据包较长时,采用长数据包发送方式来向终端设备发送该数据包;数据包较短时,则采用短数据包发送方式来向终端设备发送该数据包。
27.数据包长度是指数据包的字节大小。例如,预设数据包长度阈值设置为1440字节,若需要发送给终端设备的数据包长度大于1440字节,则采用长数据包发送方式;若需要发送给终端设备的数据包长度小于或等于1440字节,则采用短数据包发送方式。
28.在实际使用时,像投票信息、签到信息等这一类信息往往数据包的字节很小,也即数据包长度很短,此时宜采用短数据包发送方式。
29.短数据包发送方式,其具体包括:接收来自服务器采用udp组播下发的数据包,终端设备向服务器回复是否收到数据包,服务器等待一定时间(例如25ms)后,若仍然未收到来自终端设备的回复信息,则将相对应的终端设备的ip地址加入重发列表,重发列表初始为空。并重新向终端设备发送数据包,也即新一轮向终端设备发送数据包。并继续判断是否收到表征终端设备是否收到数据包的回复信息,若收到,则表明数据包下发成功。若未收到,则对于在线的终端设备继续新一轮重发,直至将所有终端设备均成功接收到数据包,对于未在线的终端设备则停止下发数据包,直至终端设备再次上线并且未收到数据包,则继续新一轮重发,直至向重发列表中的所有终端设备均成功发送数据包,则停止发送数据包。
30.所述长数据包发送方式采用以下四种方式中的一种来实现:
31.a.服务器主动采用短数据包通知终端设备主动通过http请求来获得数据包;
32.b.终端设备自主地主动向服务器发送http请求来获得数据包;
33.c.终端设备将数据包拆分子数据包依次发送,每个子数据包有标识,服务器根据标识将接收到的子数据包按顺序进行拼接,从而得到完整的数据包;
34.d.终端设备或者服务器主动通过tcp socket建立与对方的通信长连接来发送数据包。
35.本发明能够有效减少因不稳定连接到站的数据丢包情况,并且通过长短数据包发送方式的选择,能够减少网络带宽的同时,还能够使得同样性能的服务器能够同时控制更多的终端设备,以及使得发送给大量的终端设备的整体时间更少,降低延时。
36.本说明书所公开的实施例只是对本发明单方面特征的一个例证,本发明的保护范围不限于此实施例,其他任何功能等效的实施例均落入本发明的保护范围内。对于本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及变形,而所有的这些改变以及变形都应该属于本发明权利要求的保护范围之内。
技术特征:
1.一种具有低延时低带宽的综合数据通信方法,其特征在于,包括如下步骤:步骤1:按预设时间间隔向服务器发送udp组播心跳确认请求,若收到服务器返回的心跳包,则执行步骤2,否则,继续按预设时间间隔发送udp组播心跳确认请求或者直接结束处理;步骤2:判断服务器当前需要下发的数据包长度是否超过预设数据包长度阈值,若是,则采用长数据包发送方式,否则采用短数据包发送方式,数据包长度是指数据包的字节大小,短数据包发送方式,其具体包括:接收来自服务器采用udp组播下发的数据包,终端设备向服务器回复是否收到数据包,服务器等待一定时间后,若仍然未收到来自终端设备的回复信息,则将相对应的终端设备的ip地址加入重发列表,重发列表初始为空,并重新向终端设备发送数据包,并继续判断是否收到表征终端设备是否收到数据包的回复信息,若收到,则表明数据包下发成功,若未收到,则对于在线的终端设备继续新一轮重发,直至将所有终端设备均成功接收到数据包,对于未在线的终端设备则停止下发数据包,直至终端设备再次上线并且未收到数据包,则继续新一轮重发,直至向重发列表中的所有终端设备均成功发送数据包,则停止发送数据包,所述长数据包发送方式采用以下四种方式中的一种来实现:a.服务器主动采用短数据包通知终端设备主动通过http请求来获得数据包;b.终端设备自主地主动向服务器发送http请求来获得数据包;c.终端设备将数据包拆分子数据包依次发送,每个子数据包有标识,服务器根据标识将接收到的子数据包按顺序进行拼接,从而得到完整的数据包;d.终端设备或者服务器主动通过tcp socket建立与对方的通信长连接来发送数据包。2.根据权利要求1所述的具有低延时低带宽的综合数据通信方法,其特征在于,若需要向n个终端设备分别发送心跳包,n≥2,则采用滑动窗口每次将n个心跳包中的m个心跳包作为待发送心跳包,1≤m<n,然后将待发送心跳包中的每一个心跳包依次发送给所有的终端设备,直至每一个心跳包均被所有的终端设备成功接收到,将符合条件一的心跳包从待发送心跳包中移出,并将待发送心跳包之外的n个心跳包中的下一个心跳包添加至待发送心跳包,得到新的待发送心跳包,然后继续对新的待发送心跳包中的每一个心跳包依次发送给所有的终端设备,直至每一个心跳包均被所有的终端设备成功接收到,条件一:当前心跳包被所有终端设备所成功接收并且返回表征接收成功的确认信息。3.根据权利要求1或2所述的具有低延时低带宽的综合数据通信方法,其特征在于,统计一个统计周期内的服务器返回心跳包的时间长短和丢包率,若返回心跳包的时间和丢包率超过预设阈值,则随机地将优先级小于预设优先级阈值的所有数据包中的一个或多个丢弃,以避免网络拥堵情况下因继续发送大批量数据包而造成传输时延过长。
技术总结
本发明公开一种具有低延时低带宽的综合数据通信方法,包括:步骤1:按预设时间间隔向服务器发送UDP组播心跳确认请求,若收到服务器返回的心跳包,则执行步骤2,否则,继续按预设时间间隔发送UDP组播心跳确认请求或者直接结束处理;步骤2:判断服务器当前需要下发的数据包长度是否超过预设数据包长度阈值,若是,则采用长数据包发送方式,否则采用短数据包发送方式,数据包长度是指数据包的字节大小,长数据包发送方式采用以下四种方式中的一种。本发明能够有效减少因不稳定连接到站的数据丢包情况,能够减少网络带宽的同时,还能够使得同样性能的服务器能够同时控制更多的终端设备,以及发送给大量的终端设备的整体时间更少,降低延时。降低延时。降低延时。
技术研发人员:吴可测 明德 朱正辉 赵定金
受保护的技术使用者:广东保伦电子股份有限公司
技术研发日:2023.04.21
技术公布日:2023/8/4
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/