System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 丢包处理方法、装置、设备及可读存储介质制造方法及图纸_技高网

丢包处理方法、装置、设备及可读存储介质制造方法及图纸

技术编号:40316048 阅读:7 留言:0更新日期:2024-02-07 20:58
本申请公开了一种丢包处理方法、装置、设备及可读存储介质,涉及通信领域,包括:检测丢包处理线程是否满足预设阻塞条件,其中,所述丢包处理线程用于对待丢包处理的数据进行丢包处理,所述丢包处理包括丢包检测与发送丢包重传请求;若所述丢包处理线程满足预设阻塞条件,则阻塞所述丢包处理线程,并设置所述丢包处理线程的唤醒条件;检测到所述丢包处理线程满足所述唤醒条件时,重新唤醒所述丢包处理线程,基于唤醒后的所述丢包处理线程继续对待丢包处理的数据进行丢包处理。本申请降低了丢包处理线程的系统资源占用。

【技术实现步骤摘要】

本申请涉及通信,尤其涉及一种丢包处理方法、装置、设备及可读存储介质


技术介绍

1、终端向服务器发送网络数据,通常将数据按照指定大小切片后,加上发送序号传输,数据在传输过程中,受网络介质和链路影响,可能丢失。服务器需要检测终端发送的数据在传输过程中的丢失情况,反之,如果服务器向终端发送数据包,受网络介质和链路影响,数据包也可能会丢失。这样,无论是终端还是服务器,对接收到的数据进行丢包处理,丢包处理包括检测接收到的数据是否丢包,并在检测到丢包时向发送端发送丢包重传请求,以通知发送端重传丢失的数据。

2、目前,数据的接收端与发送端建立通信连接后,在接收端中通常会启动一个数据包接收主进程接收发送端传输过来的数据,此数据包接收主进程也可以对接收到的数据进行丢包处理,由于数据包接收主进程主要是完成数据的接收与存储,基于数据包接收主进程的丢包处理的方式丢包处理速率慢、效率低,因此,通常接收端会启动专门的丢包处理线程,用于对数据进行丢包处理。如webrtc的服务端就是启动了专门的丢包处理线程,用于对数据进行丢包处理。

3、但是这种启动专门的丢包处理线程,用于对数据进行丢包处理的方式,丢包处理线程会一直循环运行对接收到的数据丢包处理,由此,丢包处理线程需要时刻去检查是否需要发送重传请求,丢包处理线程需要频繁计算丢包相关参数,导致丢包处理线程的系统资源占用,如cpu资源占用,非常高,影响系统运行。


技术实现思路

1、本申请的主要目的在于提供一种丢包处理方法、装置、设备及可读存储介质,旨在解决如何降低丢包处理线程的系统资源占用的技术问题。

2、为实现上述目的,本申请提供一种丢包处理方法,所述丢包处理方法包括以下步骤:

3、检测丢包处理线程是否满足预设阻塞条件;

4、若所述丢包处理线程满足预设阻塞条件,则阻塞所述丢包处理线程,并设置所述丢包处理线程的唤醒条件;

5、检测到所述丢包处理线程满足所述唤醒条件时,重新唤醒所述丢包处理线程,基于唤醒后的所述丢包处理线程继续对待丢包处理的数据进行丢包处理。

6、可选地,所述检测丢包处理线程是否满足预设阻塞条件的步骤,包括:

7、获取预设接收端的当前工作状态信息,所述当前工作状态信息包括当前cpu占用率,其中,所述预设接收端包括接收待丢包处理的数据的服务端;

8、若所述当前cpu占用率大于或等于预设占用率阈值,则确定所述丢包处理线程满足预设阻塞条件。

9、可选地,所述检测丢包处理线程是否满足预设阻塞条件的步骤,还包括

10、获取待丢包处理的数据,并基于丢包处理线程对所述待丢包处理的数据进行丢包检测;

11、若所述丢包处理线程未检测到所述待丢包处理的数据丢包,则将所述丢包处理线程未检测到丢包的累计次数加一;

12、若所述累计次数大于或等于预设次数阈值,则确定所述丢包处理线程满足预设阻塞条件。

13、可选地,所述基于丢包处理线程对所述待丢包处理的数据进行丢包检测的步骤之后,所述方法还包括:

14、若所述丢包处理线程检测到所述待丢包处理的数据丢包,基于丢包处理线程发送丢包重传请求,并将所述丢包处理线程未检测到丢包的累计次数清零,以重新累加所述丢包处理线程未检测到丢包的累计次数。

15、可选地,所述基于丢包处理线程对所述待丢包处理的数据进行丢包检测的步骤之后,所述方法还包括:

16、控制所述丢包处理线程进入休眠状态,累加所述丢包处理线程的休眠时间,直至所述丢包处理线程的休眠时间大于预设休眠时间时,唤醒所述丢包处理线程,并返回执行检测丢包处理线程是否满足预设阻塞条件的步骤。

17、可选地,所述设置所述丢包处理线程的唤醒条件的步骤,包括:

18、确定所述丢包处理线程的阻塞原因,基于所述阻塞原因设置所述丢包处理线程的唤醒条件,其中,所述阻塞原因包括cpu占用率大于或等于预设占用率阈值,与未检测到丢包的累计次数大于或等于预设次数阈值。

19、可选地,所述基于所述阻塞原因设置所述丢包处理线程的唤醒条件的步骤,包括:

20、若所述阻塞原因包括cpu占用率大于或等于预设占用率阈值,则将cpu占用率小于预设占用率阈值设置为所述丢包处理线程的唤醒条件;

21、若所述阻塞原因包括未检测到丢包的累计次数大于或等于预设次数阈值,则将数据包接收主进程检测到丢包设置为所述丢包处理线程的唤醒条件。

22、此外,为实现上述目的,本申请还提供一种丢包处理装置,所述丢包处理装置包括:

23、检测模块,用于检测丢包处理线程是否满足预设阻塞条件;

24、阻塞模块,用于若所述丢包处理线程满足预设阻塞条件,则阻塞所述丢包处理线程,并设置所述丢包处理线程的唤醒条件;

25、唤醒模块,用于检测到所述丢包处理线程满足所述唤醒条件时,重新唤醒所述丢包处理线程,基于唤醒后的所述丢包处理线程继续对待丢包处理的数据进行丢包处理。

26、此外,为实现上述目的,本申请还提供一种丢包处理设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的丢包处理程序,所述丢包处理程序被所述处理器执行时实现如上述的丢包处理方法的步骤。

27、此外,为实现上述目的,本申请还提供一种可读存储介质,可读存储介质上存储有丢包处理程序,丢包处理程序被处理器执行时实现如上述的丢包处理方法的步骤。

28、本申请中通过检测丢包处理线程是否满足预设阻塞条件,其中,所述丢包处理线程用于对待丢包处理的数据进行丢包处理,所述丢包处理包括丢包检测与发送丢包重传请求;若所述丢包处理线程满足预设阻塞条件,则阻塞所述丢包处理线程,并设置所述丢包处理线程的唤醒条件,以使检测到所述丢包处理线程满足所述唤醒条件时,重新唤醒所述丢包处理线程,基于唤醒后的所述丢包处理线程继续对待丢包处理的数据进行丢包处理。如此,与现有技术中,丢包处理线程一直循环运行进行对接收到的数据丢包处理的丢包处理线程运行方式相比,本申请实施例通过预设丢包处理线程的阻塞条件,检测到丢包处理线程满足预设阻塞条件后,就阻塞丢包处理线程的运行,并在丢包处理线程满足唤醒条件时,在重新唤醒丢包处理线程,对待丢包处理的数据进行丢包处理,从而通过对丢包处理线程进行适当时长的阻塞,以降低丢包处理线程的系统资源占用。

本文档来自技高网...

【技术保护点】

1.一种丢包处理方法,其特征在于,所述丢包处理方法包括以下步骤:

2.如权利要求1所述的丢包处理方法,其特征在于,所述检测丢包处理线程是否满足预设阻塞条件的步骤,包括:

3.如权利要求1所述的丢包处理方法,其特征在于,所述检测丢包处理线程是否满足预设阻塞条件的步骤,还包括

4.如权利要求3所述的丢包处理方法,其特征在于,所述基于丢包处理线程对所述待丢包处理的数据进行丢包检测的步骤之后,所述方法还包括:

5.如权利要求3所述的丢包处理方法,其特征在于,所述基于丢包处理线程对所述待丢包处理的数据进行丢包检测的步骤之后,所述方法还包括:

6.如权利要求1-5任一项所述的丢包处理方法,其特征在于,所述设置所述丢包处理线程的唤醒条件的步骤,包括:

7.如权利要求6所述的丢包处理方法,其特征在于,所述基于所述阻塞原因设置所述丢包处理线程的唤醒条件的步骤,包括:

8.一种丢包处理装置,其特征在于,所述丢包处理装置包括:

9.一种丢包处理设备,其特征在于,所述丢包处理设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的丢包处理程序,所述丢包处理程序被所述处理器执行时实现如权利要求1至7中任一项所述的丢包处理方法的步骤。

10.一种可读存储介质,其特征在于,所述可读存储介质上存储有丢包处理程序,所述丢包处理程序被处理器执行时实现如权利要求1至7中任一项所述的丢包处理方法的步骤。

...

【技术特征摘要】

1.一种丢包处理方法,其特征在于,所述丢包处理方法包括以下步骤:

2.如权利要求1所述的丢包处理方法,其特征在于,所述检测丢包处理线程是否满足预设阻塞条件的步骤,包括:

3.如权利要求1所述的丢包处理方法,其特征在于,所述检测丢包处理线程是否满足预设阻塞条件的步骤,还包括

4.如权利要求3所述的丢包处理方法,其特征在于,所述基于丢包处理线程对所述待丢包处理的数据进行丢包检测的步骤之后,所述方法还包括:

5.如权利要求3所述的丢包处理方法,其特征在于,所述基于丢包处理线程对所述待丢包处理的数据进行丢包检测的步骤之后,所述方法还包括:

6.如权利要求1-5任一项所述的丢包处理方法,其特征在...

【专利技术属性】
技术研发人员:鲁知茂
申请(专利权)人:北京融讯科创技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1