一种丢弃数据的确定方法、装置、电子设备及存储介质与流程

专利2023-02-07  166



1.本技术涉及数据传输技术领域,尤其是涉及一种丢弃数据的确定方法、装置、电子设备及存储介质。


背景技术:

2.发送端将数据包传输给接收端,当接收端收到数据包时,会给发送端返回一个接收到该数据包的确认响应,发送端根据确认响应确定该数据包是否被正常接收,若发送端未收到该确认响应,则需要进行重传处理以将该数据包重新发送给接收端。
3.目前,在进行业务数据传输的过程中当网络情况较差时,可能会发生丢包情况,由于不确定丢失的数据包是否有必要进行重传,可能会发生无效重传等情况,例如重传一些不重要的数据包占用网络带宽,无法保证重要数据包的传输;因此,如何确定是否丢弃数据,以降低无效重传率,提高数据的可达率,成为了亟待解决的问题。


技术实现要素:

4.有鉴于此,本技术的目的在于提供一种丢弃数据的确定方法、装置、电子设备及存储介质,能够通过业务数据的发送级别标记来确定对应的重传参数,针对业务数据中的每个数据包,当该数据包的发送时间到未接收到该数据包的接收响应信息的累计时间大于对应的重传参数中的丢弃时间时,将该数据包进行丢弃,通过发送级别标记对应的重传参数,确定是否丢弃数据,降低了无效重传率,提高了数据的可达率。
5.本技术主要包括以下几个方面:
6.第一方面,本技术实施例提供了一种丢弃数据的确定方法,所述确定方法包括:
7.获取需要发送至接收端的业务数据,确定所述业务数据是否具有发送级别标记;
8.若具有,则在发送级别标记和重传参数之间的映射关系中确定所述业务数据的发送级别标记对应的重传参数;
9.将所述业务数据进行分片处理后的n个数据包放入发送队列中发送至接收端,针对所述发送队列中发送出去的每个数据包,获取所述数据包从所述发送队列发送出去的发送时间和接收端接收到所述数据包后反馈的该数据包的接收响应信息;
10.根据获取到接收响应信息的数据包,确定未接收到接收响应信息的数据包,针对每个未接收到接收响应信息的数据包,确定该数据包的发送时间到未接收到该数据包的接收响应信息的累计时间是否小于对应的重传参数中的丢弃时间;
11.若不小于,则将该数据包从发送队里中删除以将该数据包进行丢弃。
12.进一步的,所述确定方法还包括:
13.若该数据包的发送时间到未接收到该数据包的接收响应信息的累计时间小于对应的重传参数中的丢弃时间,则确定所述累计时间是否达到对应的重传参数中的超时时间;
14.若达到,则重新发送该数据包至接收端;
15.若未达到,则继续接收该数据包的接收响应信息。
16.进一步的,通过以下步骤确定所述业务数据是否具有发送级别标记:
17.响应于获取所述业务数据发送级别标记的指令,确定所述业务数据所属的发送账号;
18.根据所述业务数据所属的发送账号,确定所述发送账号的发送级别标记是否为空;
19.若所述发送账号的发送级别标记为空,则确定所述业务数据不具有发送级别标记;
20.若所述发送账号的发送级别标记不为空,则确定所述业务数据具有发送级别标记。
21.进一步的,通过以下步骤获取接收端接收到所述数据包后反馈的该数据包的接收响应信息:
22.根据接收到的上一次发送出去的数据包的接收响应信息的数量和上一次发送出去的数据包的总数量统计丢包率;
23.根据发送级别标记、丢包率以及冗余度的映射关系,确定在所述业务数据的发送级别标记下,所述丢包率所属的丢包范围对应的冗余度;
24.根据所述冗余度对发送的所述业务数据的n个数据包进行fec编码,得到冗余数据包;其中,所述冗余数据包用于接收端根据接收到的数据包恢复出未接收到的数据包;
25.将所述冗余数据包和所述n个数据包加入发送队列中发送至接收端,针对发送的每个数据包,若接收端接收到该数据包或基于接收到的冗余数据包恢复出该数据包,则获取接收端反馈的该数据包的接收响应信息。
26.进一步的,所述发送级别标记包括第一实时性、第二实时性以及第三实时性;通过以下步骤确定所述业务数据的发送级别标记对应的重传参数:
27.若所述发送级别标记为第一实时性,则将所述业务数据的发送级别标记对应的重传参数中的丢弃时间确定为第一预设重传阈值,将重传参数中的超时时间确定为第一预设超时阈值;
28.若所述级别标记为第二实时性,则将所述业务数据的发送级别标记对应的重传参数中的丢弃时间确定为第二预设重传阈值,将重传参数中的超时时间确定为第二预设超时阈值;其中,所述第二预设重传阈值小于所述第一预设重传阈值;所述第二预设超时阈值小于所述第一预设超时阈值;
29.若所述级别标记为第三实时性,则将所述业务数据的发送级别标记对应的重传参数中的丢弃时间确定为第三预设重传阈值,将重传参数中的超时时间确定为第三预设超时阈值;其中,所述第三预设重传阈值小于所述第二预设重传阈值;所述第三预设超时阈值小于所述第二预设超时阈值。
30.进一步的,所述丢包范围包括第一丢包范围、第二丢包范围以及第三丢包范围;通过以下步骤确定在所述业务数据的发送级别标记下,所述丢包率所属的丢包范围对应的冗余度:
31.在所述业务数据的发送级别标记为第一实时性时,若丢包率所处的丢包范围为第一丢包范围,则将对应的冗余度确定为第一冗余度;若丢包率所处的丢包范围为第二丢包
范围,则将对应的冗余度确定为第二冗余度;若丢包率所处的丢包范围为第三丢包范围,则将对应的冗余度确定为第三冗余度;其中,所述第三冗余度大于所述第二冗余度;所述第二冗余度大于所述第一冗余度;
32.在所述业务数据的发送级别标记为第二实时性时,若丢包率所处的丢包范围为第一丢包范围,则将对应的冗余度确定为第四冗余度;若丢包率所处的丢包范围为第二丢包范围,则将对应的冗余度确定为第五冗余度;若丢包率所处的丢包范围为第三丢包范围,则将对应的冗余度确定为第六冗余度;其中,所述第六冗余度大于所述第五冗余度;所述第五冗余度大于所述第四冗余度;所述第四冗余度小于所述第一冗余度;
33.在所述业务数据的发送级别标记为第三实时性时,根据实时统计的业务数据的丢包率,在预先设置的丢包率和冗余度的映射关系中,确定出所述业务数据在该丢包率时的冗余度。
34.进一步的,在确定所述业务数据是否具有发送级别标记后,所述确定方法还包括:
35.若所述业务数据不具有发送级别标记,则在配置文件的静态配置中获取目标发送级别标记;
36.根据所述目标发送级别标记对应的重传参数,针对业务数据中每一个发送出去的数据包,若该数据包的发送时间到未接收到该数据包的接收响应信息的累计时间大于所述重传参数中的丢弃时间,则将该数据包从发送队里中删除以将该数据包进行丢弃。
37.第二方面,本技术实施例还提供了一种丢弃数据的确定装置,所述确定装置包括:
38.判断模块,用于获取需要发送至接收端的业务数据,确定所述业务数据是否具有发送级别标记;
39.第一确定模块,用于在确定所述业务数据具有发送级别标记时,在发送级别标记和重传参数之间的映射关系中确定所述业务数据的发送级别标记对应的重传参数;
40.获取模块,用于将所述业务数据进行分片处理后的n个数据包放入发送队列中发送至接收端,针对所述发送队列中发送出去的每个数据包,获取所述数据包从所述发送队列发送出去的发送时间和接收端接收到所述数据包后反馈的该数据包的接收响应信息;
41.检测模块,用于根据获取到接收响应信息的数据包,确定未接收到接收响应信息的数据包,针对每个未接收到接收响应信息的数据包,确定该数据包的发送时间到未接收到该数据包的接收响应信息的累计时间是否小于对应的重传参数中的丢弃时间;
42.处理模块,用于在该数据包的发送时间到未接收到该数据包的接收响应信息的累计时间不小于对应的重传参数中的丢弃时间时,将该数据包从发送队里中删除以将该数据包进行丢弃。
43.第三方面,本技术实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如上述的丢弃数据的确定方法的步骤。
44.第四方面,本技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如上述的丢弃数据的确定方法的步骤。
45.本技术实施例提供的一种丢弃数据的确定方法、装置、电子设备及存储介质,所述
确定方法包括:获取需要发送至接收端的业务数据,确定所述业务数据是否具有发送级别标记;若具有,则在发送级别标记和重传参数之间的映射关系中确定所述业务数据的发送级别标记对应的重传参数;将所述业务数据进行分片处理后的n个数据包放入发送队列中发送至接收端,针对所述发送队列中发送出去的每个数据包,获取所述数据包从所述发送队列发送出去的发送时间和接收端接收到所述数据包后反馈的该数据包的接收响应信息;根据获取到接收响应信息的数据包,确定未接收到接收响应信息的数据包,针对每个未接收到接收响应信息的数据包,确定该数据包的发送时间到未接收到该数据包的接收响应信息的累计时间是否小于对应的重传参数中的丢弃时间;若不小于,则将该数据包从发送队里中删除以将该数据包进行丢弃。
46.这样,采用本技术提供的技术方案能够通过业务数据的发送级别标记来确定对应的重传参数,针对业务数据中的每个数据包,当该数据包的发送时间到未接收到该数据包的接收响应信息的累计时间大于对应的重传参数中的丢弃时间时,将该数据包进行丢弃,通过发送级别标记对应的重传参数,确定是否丢弃数据,降低了无效重传率,提高了数据的可达率。
47.为使本技术的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
48.为了更清楚地说明本技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
49.图1示出了本技术实施例所提供的一种丢弃数据的确定方法的流程图;
50.图2示出了本技术实施例所提供的另一种丢弃数据的确定方法的流程图;
51.图3示出了本技术实施例所提供的一种丢弃数据的确定装置的结构图之一;
52.图4示出了本技术实施例所提供的一种丢弃数据的确定装置的结构图之二;
53.图5示出了本技术实施例所提供的一种电子设备的结构示意图。
具体实施方式
54.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,应当理解,本技术中的附图仅起到说明和描述的目的,并不用于限定本技术的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本技术中使用的流程图示出了根据本技术的一些实施例实现的操作。应当理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本技术内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
55.另外,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本技术的
范围,而是仅仅表示本技术的选定实施例。基于本技术的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的全部其他实施例,都属于本技术保护的范围。
56.为了使得本领域技术人员能够使用本技术内容,结合特定应用场景“丢弃数据的确定”,给出以下实施方式,对于本领域技术人员来说,在不脱离本技术的精神和范围的情况下,可以将这里定义的一般原理应用于其他实施例和应用场景。
57.本技术实施例下述方法、装置、电子设备或计算机可读存储介质可以应用于任何需要确定丢弃数据的场景,本技术实施例并不对具体的应用场景作限制,任何使用本技术实施例提供的一种丢弃数据的确定方法、装置、电子设备及存储介质的方案均在本技术保护范围内。
58.值得注意的是,发送端将数据包传输给接收端,当接收端收到数据包时,会给发送端返回一个接收到该数据包的确认响应,发送端根据确认响应确定该数据包是否被正常接收,若发送端未收到该确认响应,则需要进行重传处理以将该数据包重新发送给接收端。
59.目前,在进行业务数据传输的过程中当网络情况较差时,可能会发生丢包情况,由于不确定丢失的数据包是否有必要进行重传,可能会发生无效重传等情况,例如重传一些不重要的数据包占用网络带宽,无法保证重要数据包的传输;因此,如何确定是否丢弃数据,以降低无效重传率,提高数据的可达率,成为了亟待解决的问题。
60.基于此,本技术提出了一种丢弃数据的确定方法、装置、电子设备及存储介质,所述确定方法包括:获取需要发送至接收端的业务数据,确定所述业务数据是否具有发送级别标记;若具有,则在发送级别标记和重传参数之间的映射关系中确定所述业务数据的发送级别标记对应的重传参数;将所述业务数据进行分片处理后的n个数据包放入发送队列中发送至接收端,针对所述发送队列中发送出去的每个数据包,获取所述数据包从所述发送队列发送出去的发送时间和接收端接收到所述数据包后反馈的该数据包的接收响应信息;根据获取到接收响应信息的数据包,确定未接收到接收响应信息的数据包,针对每个未接收到接收响应信息的数据包,确定该数据包的发送时间到未接收到该数据包的接收响应信息的累计时间是否小于对应的重传参数中的丢弃时间;若不小于,则将该数据包从发送队里中删除以将该数据包进行丢弃。
61.这样,采用本技术提供的技术方案能够通过业务数据的发送级别标记来确定对应的重传参数,针对业务数据中的每个数据包,当该数据包的发送时间到未接收到该数据包的接收响应信息的累计时间大于对应的重传参数中的丢弃时间时,将该数据包进行丢弃,通过发送级别标记对应的重传参数,确定是否丢弃数据,降低了无效重传率,提高了数据的可达率。
62.为便于对本技术进行理解,下面将结合具体实施例对本技术提供的技术方案进行详细说明。
63.请参阅图1,图1为本技术实施例所提供的一种丢弃数据的确定方法的流程图,如图1中所示,所述确定方法包括:
64.s101、获取需要发送至接收端的业务数据,确定所述业务数据是否具有发送级别标记;
65.该步骤中,通过以下步骤确定业务数据是否具有发送级别标记:
66.s1011、响应于获取所述业务数据发送级别标记的指令,确定所述业务数据所属的
发送账号;
67.s1012、根据所述业务数据所属的发送账号,确定所述发送账号的发送级别标记是否为空;
68.s1013、若所述发送账号的发送级别标记为空,则确定所述业务数据不具有发送级别标记;
69.s1014、若所述发送账号的发送级别标记不为空,则确定所述业务数据具有发送级别标记。
70.该步骤中,通过确定业务数据所属的发送账号,确定该发送账号的发送级别标记是否有值,若没有值,则表示该发送账号的发送级别标记为空,所以业务数据不具有发送级别标记;若有值,则表示该发送账号的发送级别标记不为空,所以业务数据具有发送级别标记;示例性的,业务人员可以根据业务需求在配置页面上将该发送账号的发送级别标记处填写1,则该发送账号下发送的所有业务数据对应的发送级别标记为1。
71.s102、若具有,则在发送级别标记和重传参数之间的映射关系中确定所述业务数据的发送级别标记对应的重传参数;
72.该步骤中,发送级别标记包括第一实时性、第二实时性以及第三实时性;可以通过数字表示不同的发送级别标记,示例性的,1表示第一实时性,2表示第二实时性,3表示第三实时性,该示例中的数字越大表示对实时性要求越高,需要优先发送;这里,可以通过历史实验数据和历史经验预先设置发送级别标记和重传参数之间的映射关系。
73.需要说明的是,通过以下步骤确定业务数据的发送级别标记对应的重传参数:
74.s1021、若所述发送级别标记为第一实时性,则将所述业务数据的发送级别标记对应的重传参数中的丢弃时间确定为第一预设重传阈值,将重传参数中的超时时间确定为第一预设超时阈值;
75.示例性的,发送级别标记为第一实时性时(例如flag=1),表示该业务数据是实时性要求不高的重要数据,将重传参数中的丢弃时间(即滑动窗口)确定为第一预设重传阈值(例如10秒),将重传参数中的超时时间(即round-trip time,rtt)确定为第一预设超时阈值(例如100毫秒)。
76.s1022、若所述级别标记为第二实时性,则将所述业务数据的发送级别标记对应的重传参数中的丢弃时间确定为第二预设重传阈值,将重传参数中的超时时间确定为第二预设超时阈值;
77.该步骤中,第二预设重传阈值小于第一预设重传阈值;第二预设超时阈值小于第一预设超时阈值。
78.示例性的,发送级别标记为第二实时性时(例如flag=2),表示该业务数据是实时性要求较高的一般数据,将重传参数中的丢弃时间(滑动窗口)确定为第二预设重传阈值(例如5秒),将重传参数中的超时时间(rtt)确定为第二预设超时阈值(例如60毫秒)。
79.s1023、若所述级别标记为第三实时性,则将所述业务数据的发送级别标记对应的重传参数中的丢弃时间确定为第三预设重传阈值,将重传参数中的超时时间确定为第三预设超时阈值;
80.该步骤中,第三预设重传阈值小于第二预设重传阈值;第三预设超时阈值小于第二预设超时阈值。
81.示例性的,发送级别标记为第三实时性时(例如flag=3),表示该业务数据是实时性要求很高的实时数据,将重传参数中的丢弃时间(滑动窗口)确定为第三预设重传阈值(例如2秒),将重传参数中的超时时间(rtt)确定为第三预设超时阈值(例如30毫秒)。
82.s103、将所述业务数据进行分片处理后的n个数据包放入发送队列中发送至接收端,针对所述发送队列中发送出去的每个数据包,获取所述数据包从所述发送队列发送出去的发送时间和接收端接收到所述数据包后反馈的该数据包的接收响应信息;
83.该步骤中,通过以下步骤获取接收端接收到所述数据包后反馈的该数据包的接收响应信息:
84.s1031、根据接收到的上一次发送出去的数据包的接收响应信息的数量和上一次发送出去的数据包的总数量统计丢包率;
85.该步骤中,将发送出去的数据包的总数量和发送出去的数据包的接收响应信息的数量的差确定为未接收到接收响应信息的数据包的数量;将未接收到接收响应信息的数据包的数量和发送出去的数据包的总数量的商确定为丢包率。
86.s1032、根据发送级别标记、丢包率以及冗余度的映射关系,确定在所述业务数据的发送级别标记下,所述丢包率所属的丢包范围对应的冗余度;
87.该步骤中,丢包范围包括第一丢包范围、第二丢包范围以及第三丢包范围;示例性的,第一丢包范围为10%~30%;第二丢包范围为30%~50%;第三丢包范围50%~80%。
88.需要说明的是,通过以下步骤确定在业务数据的发送级别标记下,丢包率所属的丢包范围对应的冗余度:
89.1)、在所述业务数据的发送级别标记为第一实时性时,若丢包率所处的丢包范围为第一丢包范围,则将对应的冗余度确定为第一冗余度;若丢包率所处的丢包范围为第二丢包范围,则将对应的冗余度确定为第二冗余度;若丢包率所处的丢包范围为第三丢包范围,则将对应的冗余度确定为第三冗余度;
90.该步骤中,第三冗余度大于第二冗余度;第二冗余度大于第一冗余度。
91.示例性的,在业务数据的发送级别标记为第一实时性(例如flag=1)时,若丢包率在第一丢包范围(例如10%~30%),对应的第一冗余度可以采用30%的冗余fec数据;若丢包率在第二丢包范围(例如30%~50%),对应的第二冗余度可以采用50%的冗余fec数据;若丢包率在第三丢包范围(例如50%~80%),对应的第三冗余度可以采用100%的冗余fec数据。
92.2)、在所述业务数据的发送级别标记为第二实时性时,若丢包率所处的丢包范围为第一丢包范围,则将对应的冗余度确定为第四冗余度;若丢包率所处的丢包范围为第二丢包范围,则将对应的冗余度确定为第五冗余度;若丢包率所处的丢包范围为第三丢包范围,则将对应的冗余度确定为第六冗余度;
93.该步骤中,第六冗余度大于第五冗余度;第五冗余度大于第四冗余度;第四冗余度小于第一冗余度。
94.示例性的,在业务数据的发送级别标记为第二实时性(例如flag=2)时,若丢包率在第一丢包范围(例如10%~30%),对应的第四冗余度可以采用20%的冗余fec数据;若丢包率在第二丢包范围(例如30%~50%),对应的第五冗余度可以采用30%的冗余fec数据;若丢包率在第三丢包范围(例如50%~80%),对应的第六冗余度可以采用50%的冗余fec
数据。
95.3)、在所述业务数据的发送级别标记为第三实时性时,根据实时统计的业务数据的丢包率,在预先设置的丢包率和冗余度的映射关系中,确定出所述业务数据在该丢包率时的冗余度。
96.示例性的,可以通过历史实验数据和历史经验预先设置丢包率和冗余度的映射关系;在业务数据的发送级别标记为第三实时性(例如flag=3)时,根据丢包率自动调整冗余度,若重传参数中的丢弃时间(滑动窗口)为2秒,如果超出2秒未收到某个数据包的接收响应信息,则直接丢弃该数据包。
97.s1033、根据所述冗余度对发送的所述业务数据的n个数据包进行fec编码,得到冗余数据包;
98.该步骤中,冗余数据包用于接收端根据接收到的数据包恢复出未接收到的数据包。
99.s1034、将所述冗余数据包和所述n个数据包加入发送队列中发送至接收端,针对发送的每个数据包,若接收端接收到该数据包或基于接收到的冗余数据包恢复出该数据包,则获取接收端反馈的该数据包的接收响应信息。
100.该步骤中,将冗余数据包和业务数据的数据包加入发送队里向接收端进行发送,若接收端根据接收到的数据包和冗余数据包能恢复出未接收到的数据包,则反馈给发送端无需重传该数据包的信息或者接收响应信息,若接收端没有恢复出未接收到的数据包,则反馈给发送端需要重传该数据包的信息或者不用反馈任何信息,等发送端在检测到该数据包发送出去的累计时间达到对应的重传参数中的重传时间时,自动重传该数据包。
101.s104、根据获取到接收响应信息的数据包,确定未接收到接收响应信息的数据包,针对每个未接收到接收响应信息的数据包,确定该数据包的发送时间到未接收到该数据包的接收响应信息的累计时间是否小于对应的重传参数中的丢弃时间;
102.需要说明的是,累计时间小于对应的重传参数中的丢弃时间的步骤请参阅图2,图2为本技术实施例所提供另一种丢弃数据的确定方法的流程图,如图2中所示,所述确定方法还包括:
103.s201、若该数据包的发送时间到未接收到该数据包的接收响应信息的累计时间小于对应的重传参数中的丢弃时间,则确定所述累计时间是否达到对应的重传参数中的超时时间;
104.s202、若达到,则重新发送该数据包至接收端;
105.s203、若未达到,则继续接收该数据包的接收响应信息。
106.该步骤中,在数据包的发送时间到未接收到该数据包的接收响应信息的累计时间小于对应的重传参数中的丢弃时间时,如果没有收到接收响应信息,则在对应的重传参数中的超时时间内一直重发该数据包,直到接收到该数据包的接收响应信息或者累计时间大于或等于对应的重传参数中的丢弃时间为止。
107.s105、若不小于,则将该数据包从发送队里中删除以将该数据包进行丢弃。
108.该步骤汇总,若累计时间大于或等于对应的重传参数中的丢弃时间,则将该数据包从发送队里中删除以将该数据包进行丢弃。
109.需要说明的是,步骤s101在确定所述业务数据是否具有发送级别标记后,确定方
法还包括:
110.1)、若所述业务数据不具有发送级别标记,则在配置文件的静态配置中获取目标发送级别标记;
111.2)、根据所述目标发送级别标记对应的重传参数,针对业务数据中每一个发送出去的数据包,若该数据包的发送时间到未接收到该数据包的接收响应信息的累计时间大于所述重传参数中的丢弃时间,则将该数据包从发送队里中删除以将该数据包进行丢弃。
112.该步骤中,例如基于udp的quic、webtransport和kcp等协议均没有提供分级的丢包策略,来满足不同的业务需求场景,需要根据配置文件中的静态配置确定目标发送级别标记,目标发送级别标记具有对应的重传参数(滑动窗口和rtt),不能根据消息的重要程度进行动态调整,所有业务数据在不同的网络环境下均使用同一套重传参数,所以在网络环境较差时会出现无效重传现象(例如将超过30秒没有必要重传的验证码进行重传),这种无效重传现象会占用网络带宽,导致重要的数据(例如实时性高的信息)发送失败;这种只有一种重传参数的模式,对于开发而言一个会话(session)对应一套重传参数,中间不可调,若实现根据不同的数据采用不同的重传参数,需要建立多个session,但是这种方式导致应用层较复杂,增加了开发时间和开发难度;本实施例根据业务数据的消息类型(发送级别标记)动态调整每条消息的发送重传策略(重传参数),提高了数据发送和接收质量,并且在用户接入网络较差的情况下,能够保障重要信令的数据优先发送/接收,丢弃非重要数据。
113.本技术实施例提供的一种丢弃数据的确定方法,所述确定方法包括:获取需要发送至接收端的业务数据,确定所述业务数据是否具有发送级别标记;若具有,则在发送级别标记和重传参数之间的映射关系中确定所述业务数据的发送级别标记对应的重传参数;将所述业务数据进行分片处理后的n个数据包放入发送队列中发送至接收端,针对所述发送队列中发送出去的每个数据包,获取所述数据包从所述发送队列发送出去的发送时间和接收端接收到所述数据包后反馈的该数据包的接收响应信息;根据获取到接收响应信息的数据包,确定未接收到接收响应信息的数据包,针对每个未接收到接收响应信息的数据包,确定该数据包的发送时间到未接收到该数据包的接收响应信息的累计时间是否小于对应的重传参数中的丢弃时间;若不小于,则将该数据包从发送队里中删除以将该数据包进行丢弃。
114.这样,采用本技术提供的技术方案能够通过业务数据的发送级别标记来确定对应的重传参数,针对业务数据中的每个数据包,当该数据包的发送时间到未接收到该数据包的接收响应信息的累计时间大于对应的重传参数中的丢弃时间时,将该数据包进行丢弃,通过发送级别标记对应的重传参数,确定是否丢弃数据,降低了无效重传率,提高了数据的可达率。
115.基于同一申请构思,本技术实施例中还提供了与上述实施例提供一种丢弃数据的确定方法对应的一种丢弃数据的确定装置,由于本技术实施例中的装置解决问题的原理与本技术上述实施例一种丢弃数据的确定方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
116.请参阅图3、图4,图3为本技术实施例所提供的一种丢弃数据的确定装置的结构图之一,图4为本技术实施例所提供的一种丢弃数据的确定装置的结构图之二。如图3中所示,所述确定装置310包括:
117.判断模块311,用于获取需要发送至接收端的业务数据,确定所述业务数据是否具有发送级别标记;
118.第一确定模块312,用于在确定所述业务数据具有发送级别标记时,在发送级别标记和重传参数之间的映射关系中确定所述业务数据的发送级别标记对应的重传参数;
119.获取模块313,用于将所述业务数据进行分片处理后的n个数据包放入发送队列中发送至接收端,针对所述发送队列中发送出去的每个数据包,获取所述数据包从所述发送队列发送出去的发送时间和接收端接收到所述数据包后反馈的该数据包的接收响应信息;
120.检测模块314,用于根据获取到接收响应信息的数据包,确定未接收到接收响应信息的数据包,针对每个未接收到接收响应信息的数据包,确定该数据包的发送时间到未接收到该数据包的接收响应信息的累计时间是否小于对应的重传参数中的丢弃时间;
121.处理模块315,用于在该数据包的发送时间到未接收到该数据包的接收响应信息的累计时间不小于对应的重传参数中的丢弃时间时,将该数据包从发送队里中删除以将该数据包进行丢弃。
122.可选的,如图4所示,所述确定装置310还包括重传模块316,所述重传模块316用于:
123.在该数据包的发送时间到未接收到该数据包的接收响应信息的累计时间小于对应的重传参数中的丢弃时间时,确定所述累计时间是否达到对应的重传参数中的超时时间;
124.若达到,则重新发送该数据包至接收端;
125.若未达到,则继续接收该数据包的接收响应信息。
126.可选的,所述判断模块311在用于确定所述业务数据是否具有发送级别标记时,所述判断模块311具体用于:
127.响应于获取所述业务数据发送级别标记的指令,确定所述业务数据所属的发送账号;
128.根据所述业务数据所属的发送账号,确定所述发送账号的发送级别标记是否为空;
129.若所述发送账号的发送级别标记为空,则确定所述业务数据不具有发送级别标记;
130.若所述发送账号的发送级别标记不为空,则确定所述业务数据具有发送级别标记。
131.可选的,所述获取模块313在用于获取接收端接收到所述数据包后反馈的该数据包的接收响应信息时,所述获取模块313具体用于:
132.根据接收到的上一次发送出去的数据包的接收响应信息的数量和上一次发送出去的数据包的总数量统计丢包率;
133.根据发送级别标记、丢包率以及冗余度的映射关系,确定在所述业务数据的发送级别标记下,所述丢包率所属的丢包范围对应的冗余度;
134.根据所述冗余度对发送的所述业务数据的n个数据包进行fec编码,得到冗余数据包;其中,所述冗余数据包用于接收端根据接收到的数据包恢复出未接收到的数据包;
135.将所述冗余数据包和所述n个数据包加入发送队列中发送至接收端,针对发送的
每个数据包,若接收端接收到该数据包或基于接收到的冗余数据包恢复出该数据包,则获取接收端反馈的该数据包的接收响应信息。
136.可选的,所述发送级别标记包括第一实时性、第二实时性以及第三实时性;所述第一确定模块312在用于确定所述业务数据的发送级别标记对应的重传参数时,所述第一确定模块312具体用于:
137.若所述发送级别标记为第一实时性,则将所述业务数据的发送级别标记对应的重传参数中的丢弃时间确定为第一预设重传阈值,将重传参数中的超时时间确定为第一预设超时阈值;
138.若所述级别标记为第二实时性,则将所述业务数据的发送级别标记对应的重传参数中的丢弃时间确定为第二预设重传阈值,将重传参数中的超时时间确定为第二预设超时阈值;其中,所述第二预设重传阈值小于所述第一预设重传阈值;所述第二预设超时阈值小于所述第一预设超时阈值;
139.若所述级别标记为第三实时性,则将所述业务数据的发送级别标记对应的重传参数中的丢弃时间确定为第三预设重传阈值,将重传参数中的超时时间确定为第三预设超时阈值;其中,所述第三预设重传阈值小于所述第二预设重传阈值;所述第三预设超时阈值小于所述第二预设超时阈值。
140.可选的,所述丢包范围包括第一丢包范围、第二丢包范围以及第三丢包范围;所述获取模块313在用于确定在所述业务数据的发送级别标记下,所述丢包率所属的丢包范围对应的冗余度时,所述获取模块313具体用于:
141.在所述业务数据的发送级别标记为第一实时性时,若丢包率所处的丢包范围为第一丢包范围,则将对应的冗余度确定为第一冗余度;若丢包率所处的丢包范围为第二丢包范围,则将对应的冗余度确定为第二冗余度;若丢包率所处的丢包范围为第三丢包范围,则将对应的冗余度确定为第三冗余度;其中,所述第三冗余度大于所述第二冗余度;所述第二冗余度大于所述第一冗余度;
142.在所述业务数据的发送级别标记为第二实时性时,若丢包率所处的丢包范围为第一丢包范围,则将对应的冗余度确定为第四冗余度;若丢包率所处的丢包范围为第二丢包范围,则将对应的冗余度确定为第五冗余度;若丢包率所处的丢包范围为第三丢包范围,则将对应的冗余度确定为第六冗余度;其中,所述第六冗余度大于所述第五冗余度;所述第五冗余度大于所述第四冗余度;所述第四冗余度小于所述第一冗余度;
143.在所述业务数据的发送级别标记为第三实时性时,根据实时统计的业务数据的丢包率,在预先设置的丢包率和冗余度的映射关系中,确定出所述业务数据在该丢包率时的冗余度。
144.可选的,所述确定装置310还包括第二确定模块317,所述第二确定模块317用于:
145.在所述业务数据不具有发送级别标记时,在配置文件的静态配置中获取目标发送级别标记;
146.根据所述目标发送级别标记对应的重传参数,针对业务数据中每一个发送出去的数据包,若该数据包的发送时间到未接收到该数据包的接收响应信息的累计时间大于所述重传参数中的丢弃时间,则将该数据包从发送队里中删除以将该数据包进行丢弃。
147.本技术实施例提供的一种丢弃数据的确定装置,所述确定装置包括:判断模块,用
于获取需要发送至接收端的业务数据,确定所述业务数据是否具有发送级别标记;第一确定模块,用于在确定所述业务数据具有发送级别标记时,在发送级别标记和重传参数之间的映射关系中确定所述业务数据的发送级别标记对应的重传参数;获取模块,用于将所述业务数据进行分片处理后的n个数据包放入发送队列中发送至接收端,针对所述发送队列中发送出去的每个数据包,获取所述数据包从所述发送队列发送出去的发送时间和接收端接收到所述数据包后反馈的该数据包的接收响应信息;检测模块,用于根据获取到接收响应信息的数据包,确定未接收到接收响应信息的数据包,针对每个未接收到接收响应信息的数据包,确定该数据包的发送时间到未接收到该数据包的接收响应信息的累计时间是否小于对应的重传参数中的丢弃时间;处理模块,用于在该数据包的发送时间到未接收到该数据包的接收响应信息的累计时间不小于对应的重传参数中的丢弃时间时,将该数据包从发送队里中删除以将该数据包进行丢弃。
148.这样,采用本技术提供的技术方案能够通过业务数据的发送级别标记来确定对应的重传参数,针对业务数据中的每个数据包,当该数据包的发送时间到未接收到该数据包的接收响应信息的累计时间大于对应的重传参数中的丢弃时间时,将该数据包进行丢弃,通过发送级别标记对应的重传参数,确定是否丢弃数据,降低了无效重传率,提高了数据的可达率。
149.请参阅图5,图5为本技术实施例所提供的一种电子设备的结构示意图。如图5中所示,所述电子设备500包括处理器510、存储器520和总线530。
150.所述存储器520存储有所述处理器510可执行的机器可读指令,当电子设备500运行时,所述处理器510与所述存储器520之间通过总线530通信,所述机器可读指令被所述处理器510执行时,可以执行如上述图1以及图2所示方法实施例中的丢弃数据的确定方法的步骤,具体实现方式可参见方法实施例,在此不再赘述。
151.本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时可以执行如上述图1以及图2所示方法实施例中的丢弃数据的确定方法的步骤,具体实现方式可参见方法实施例,在此不再赘述。
152.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
153.在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
154.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
155.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
156.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
157.最后应说明的是:以上所述实施例,仅为本技术的具体实施方式,用以说明本技术的技术方案,而非对其限制,本技术的保护范围并不局限于此,尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本技术实施例技术方案的精神和范围,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。

技术特征:
1.一种丢弃数据的确定方法,其特征在于,所述确定方法包括:获取需要发送至接收端的业务数据,确定所述业务数据是否具有发送级别标记;若具有,则在发送级别标记和重传参数之间的映射关系中确定所述业务数据的发送级别标记对应的重传参数;将所述业务数据进行分片处理后的n个数据包放入发送队列中发送至接收端,针对所述发送队列中发送出去的每个数据包,获取所述数据包从所述发送队列发送出去的发送时间和接收端接收到所述数据包后反馈的该数据包的接收响应信息;根据获取到接收响应信息的数据包,确定未接收到接收响应信息的数据包,针对每个未接收到接收响应信息的数据包,确定该数据包的发送时间到未接收到该数据包的接收响应信息的累计时间是否小于对应的重传参数中的丢弃时间;若不小于,则将该数据包从发送队里中删除以将该数据包进行丢弃。2.根据权利要求1所述的确定方法,其特征在于,所述确定方法还包括:若该数据包的发送时间到未接收到该数据包的接收响应信息的累计时间小于对应的重传参数中的丢弃时间,则确定所述累计时间是否达到对应的重传参数中的超时时间;若达到,则重新发送该数据包至接收端;若未达到,则继续接收该数据包的接收响应信息。3.根据权利要求1所述的确定方法,其特征在于,通过以下步骤确定所述业务数据是否具有发送级别标记:响应于获取所述业务数据发送级别标记的指令,确定所述业务数据所属的发送账号;根据所述业务数据所属的发送账号,确定所述发送账号的发送级别标记是否为空;若所述发送账号的发送级别标记为空,则确定所述业务数据不具有发送级别标记;若所述发送账号的发送级别标记不为空,则确定所述业务数据具有发送级别标记。4.根据权利要求1所述的确定方法,其特征在于,通过以下步骤获取接收端接收到所述数据包后反馈的该数据包的接收响应信息:根据接收到的上一次发送出去的数据包的接收响应信息的数量和上一次发送出去的数据包的总数量统计丢包率;根据发送级别标记、丢包率以及冗余度的映射关系,确定在所述业务数据的发送级别标记下,所述丢包率所属的丢包范围对应的冗余度;根据所述冗余度对发送的所述业务数据的n个数据包进行fec编码,得到冗余数据包;其中,所述冗余数据包用于接收端根据接收到的数据包恢复出未接收到的数据包;将所述冗余数据包和所述n个数据包加入发送队列中发送至接收端,针对发送的每个数据包,若接收端接收到该数据包或基于接收到的冗余数据包恢复出该数据包,则获取接收端反馈的该数据包的接收响应信息。5.根据权利要求1所述的确定方法,其特征在于,所述发送级别标记包括第一实时性、第二实时性以及第三实时性;通过以下步骤确定所述业务数据的发送级别标记对应的重传参数:若所述发送级别标记为第一实时性,则将所述业务数据的发送级别标记对应的重传参数中的丢弃时间确定为第一预设重传阈值,将重传参数中的超时时间确定为第一预设超时阈值;
若所述级别标记为第二实时性,则将所述业务数据的发送级别标记对应的重传参数中的丢弃时间确定为第二预设重传阈值,将重传参数中的超时时间确定为第二预设超时阈值;其中,所述第二预设重传阈值小于所述第一预设重传阈值;所述第二预设超时阈值小于所述第一预设超时阈值;若所述级别标记为第三实时性,则将所述业务数据的发送级别标记对应的重传参数中的丢弃时间确定为第三预设重传阈值,将重传参数中的超时时间确定为第三预设超时阈值;其中,所述第三预设重传阈值小于所述第二预设重传阈值;所述第三预设超时阈值小于所述第二预设超时阈值。6.根据权利要求4所述的确定方法,其特征在于,所述丢包范围包括第一丢包范围、第二丢包范围以及第三丢包范围;通过以下步骤确定在所述业务数据的发送级别标记下,所述丢包率所属的丢包范围对应的冗余度:在所述业务数据的发送级别标记为第一实时性时,若丢包率所处的丢包范围为第一丢包范围,则将对应的冗余度确定为第一冗余度;若丢包率所处的丢包范围为第二丢包范围,则将对应的冗余度确定为第二冗余度;若丢包率所处的丢包范围为第三丢包范围,则将对应的冗余度确定为第三冗余度;其中,所述第三冗余度大于所述第二冗余度;所述第二冗余度大于所述第一冗余度;在所述业务数据的发送级别标记为第二实时性时,若丢包率所处的丢包范围为第一丢包范围,则将对应的冗余度确定为第四冗余度;若丢包率所处的丢包范围为第二丢包范围,则将对应的冗余度确定为第五冗余度;若丢包率所处的丢包范围为第三丢包范围,则将对应的冗余度确定为第六冗余度;其中,所述第六冗余度大于所述第五冗余度;所述第五冗余度大于所述第四冗余度;所述第四冗余度小于所述第一冗余度;在所述业务数据的发送级别标记为第三实时性时,根据实时统计的业务数据的丢包率,在预先设置的丢包率和冗余度的映射关系中,确定出所述业务数据在该丢包率时的冗余度。7.根据权利要求1所述的确定方法,其特征在于,在确定所述业务数据是否具有发送级别标记后,所述确定方法还包括:若所述业务数据不具有发送级别标记,则在配置文件的静态配置中获取目标发送级别标记;根据所述目标发送级别标记对应的重传参数,针对业务数据中每一个发送出去的数据包,若该数据包的发送时间到未接收到该数据包的接收响应信息的累计时间大于所述重传参数中的丢弃时间,则将该数据包从发送队里中删除以将该数据包进行丢弃。8.一种丢弃数据的确定装置,其特征在于,所述确定装置包括:判断模块,用于获取需要发送至接收端的业务数据,确定所述业务数据是否具有发送级别标记;第一确定模块,用于在确定所述业务数据具有发送级别标记时,在发送级别标记和重传参数之间的映射关系中确定所述业务数据的发送级别标记对应的重传参数;获取模块,用于将所述业务数据进行分片处理后的n个数据包放入发送队列中发送至接收端,针对所述发送队列中发送出去的每个数据包,获取所述数据包从所述发送队列发送出去的发送时间和接收端接收到所述数据包后反馈的该数据包的接收响应信息;
检测模块,用于根据获取到接收响应信息的数据包,确定未接收到接收响应信息的数据包,针对每个未接收到接收响应信息的数据包,确定该数据包的发送时间到未接收到该数据包的接收响应信息的累计时间是否小于对应的重传参数中的丢弃时间;处理模块,用于在该数据包的发送时间到未接收到该数据包的接收响应信息的累计时间不小于对应的重传参数中的丢弃时间时,将该数据包从发送队里中删除以将该数据包进行丢弃。9.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过所述总线进行通信,所述机器可读指令被所述处理器运行时执行如权利要求1至7任一所述的丢弃数据的确定方法的步骤。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至7任一所述的丢弃数据的确定方法的步骤。

技术总结
本申请提供了一种丢弃数据的确定方法、装置、电子设备及存储介质,所述确定方法包括:在发送级别标记和重传参数之间的映射关系中确定业务数据的发送级别标记对应的重传参数;针对发送队列中发送出去的业务数据的每个数据包,获取数据包从发送队列发送出去的发送时间和接收端接收到数据包后反馈的该数据包的接收响应信息;针对每个未接收到接收响应信息的数据包,若该数据包的发送时间到未接收到该数据包的接收响应信息的累计时间大于对应的重传参数中的丢弃时间,则将该数据包从发送队里中删除。采用本申请提供的技术方案能够通过发送级别标记对应的重传参数,确定是否丢弃数据,降低了无效重传率,提高了数据的可达率。提高了数据的可达率。提高了数据的可达率。


技术研发人员:邢宏江 张鑫
受保护的技术使用者:上海百家云科技有限公司
技术研发日:2022.07.22
技术公布日:2022/11/1
转载请注明原文地址: https://tieba.8miu.com/read-794.html

最新回复(0)