一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种流量控制方法、装置、计算机设备及存储介质与流程

2021-11-18 00:12:00 来源:中国专利 TAG:


1.本公开涉及计算机技术领域,具体而言,涉及一种流量控制方法、装置、计算机设备及存储介质。


背景技术:

2.随着应用程序越来越多,手机在使用各种应用程序的过程中,各个应用程序之间可能会存在流量冲突,尤其是在弱网环境当中,网速较慢,因此如何做好流量控制,保证重要数据的收发就显得尤为重要。
3.相关技术中,一般直接放行重要的请求数据,拦截不重要的请求数据,若不重要的请求数据被长期拦截,则可能导致对应的线程由于无法接收数据而被错误关闭,进而影响数据的正常处理。


技术实现要素:

4.本公开实施例至少提供一种流量控制方法、装置、计算机设备及存储介质。
5.第一方面,本公开实施例提供了一种流量控制方法,包括:
6.响应网络状况满足预设条件,确定接收的多个请求中,需要进行限速处理的第一请求以及无需进行限速处理的第二请求;
7.基于所述第二请求对应的所需带宽,以及当前的传输带宽,确定限制带宽,其中,所述限制带宽为传输所述第一请求的最大带宽;
8.根据所述限制带宽,对所述第一请求进行限速处理。
9.一种可能的实施方式中,所述网络状况满足预设条件包括以下至少一种:
10.网络类型为预设网络类型;网络时延超过预设时长;网络传输速度小于预设传输速度。
11.一种可能的实施方式中,所述确定接收的多个请求中,需要进行限速处理的第一请求以及无需进行限速处理的第二请求,包括:
12.确定接收的多个请求中,对应的限速优先级满足限速条件的、传输方向为目标限速方向的第一请求;以及确定对应的限速优先级不满足所述限速条件的、或者所述传输方向不为所述目标限速方向的第二请求。
13.一种可能的实施方式中,所述基于所述第二请求对应的所需带宽,以及当前的传输带宽,确定限制带宽,包括:
14.基于传输方向为所述目标限速方向的第二请求对应的所需带宽,以及当前的传输带宽,确定限制带宽。
15.一种可能的实施方式中,所述确定接收的多个请求中,需要进行限速处理的第一请求以及无需进行限速处理的第二请求,包括:
16.基于预先设置的请求列表,确定接收的多个请求中,需要进行限速处理的第一请求以及无需进行限速处理的第二请求,其中,所述请求列表中的请求为无需进行限速处理
的请求。
17.一种可能的实施方式中,所述基于所述第二请求对应的所需带宽,以及当前的传输带宽,确定限制带宽,包括:
18.计算所述当前的传输带宽与所述第二请求对应的所需带宽之间的带宽差值;
19.在所述带宽差值大于预设带宽时,将所述带宽差值确定为所述限制带宽;在所述带宽差值不大于所述预设带宽时,将所述预设带宽确定为所述限制带宽。
20.一种可能的实施方式中,基于所述第二请求对应的所需带宽,以及当前的传输带宽,确定限制带宽,包括:
21.确定需要进行限速处理的第一请求的传输总速度;
22.在所述传输总速度大于预设速度阈值的情况下,基于所述第二请求对应的所需带宽,以及当前的传输带宽,确定限制带宽。
23.一种可能的实施方式中,所述根据所述限制带宽,对所述第一请求进行限速处理,包括:
24.在不超过所述限制带宽的情况下,按照接收所述第一请求的顺序,依次通过所述第一请求对应的套接字对所述第一请求进行处理。
25.一种可能的实施方式中,所述方法还包括:
26.确定在对所述第一请求进行限速处理之前的第一网络时延信息;
27.在对所述第一请求进行限速处理后的第一预设时长后,确定当前的第二网络时延信息;
28.在基于所述第一时延信息和所述第二时延信息确定时延变化情况满足预设条件时,提高所述第二请求对应的所需带宽,重新确定所述限制带宽,并按照重新确定的限制带宽,对所述第一请求进行处理。
29.一种可能的实施方式中,所述方法还包括:
30.在基于所述第一时延信息和所述第二时延信息确定时延变化情况不满足预设条件时,取消对所述第一请求进行限速处理。
31.一种可能的实施方式中,所述方法还包括:
32.在对所述第一请求进行限速处理后的第二预设时长后,停止对所述第一请求进行限速处理。
33.第二方面,本公开实施例还提供一种流量控制装置,包括:
34.第一确定模块,用于响应网络状况满足预设条件,确定接收的多个请求中,需要进行限速处理的第一请求以及无需进行限速处理的第二请求;
35.第二确定模块,用于基于所述第二请求对应的所需带宽,以及当前的传输带宽,确定限制带宽,其中,所述限制带宽为传输所述第一请求的最大带宽;
36.限速模块,用于根据所述限制带宽,对所述第一请求进行限速处理。
37.一种可能的实施方式中,所述网络状况满足预设条件包括以下至少一种:
38.网络类型为预设网络类型;网络时延超过预设时长;网络传输速度小于预设传输速度。
39.一种可能的实施方式中,所述第一确定模块,在确定接收的多个请求中,需要进行限速处理的第一请求以及无需进行限速处理的第二请求时,用于:
40.确定接收的多个请求中,对应的限速优先级满足限速条件的、传输方向为目标限速方向的第一请求;以及确定对应的限速优先级不满足所述限速条件的、或者所述传输方向不为所述目标限速方向的第二请求。
41.一种可能的实施方式中,所述第二确定模块,在基于所述第二请求对应的所需带宽,以及当前的传输带宽,确定限制带宽时,用于:
42.基于传输方向为所述目标限速方向的第二请求对应的所需带宽,以及当前的传输带宽,确定限制带宽。
43.一种可能的实施方式中,所述第一确定模块,在确定接收的多个请求中,需要进行限速处理的第一请求以及无需进行限速处理的第二请求时,用于:
44.基于预先设置的请求列表,确定接收的多个请求中,需要进行限速处理的第一请求以及无需进行限速处理的第二请求,其中,所述请求列表中的请求为无需进行限速处理的请求。
45.一种可能的实施方式中,所述第二确定模块,在基于所述第二请求对应的所需带宽,以及当前的传输带宽,确定限制带宽时,用于:
46.计算所述当前的传输带宽与所述第二请求对应的所需带宽之间的带宽差值;
47.在所述带宽差值大于预设带宽时,将所述带宽差值确定为所述限制带宽;在所述带宽差值不大于所述预设带宽时,将所述预设带宽确定为所述限制带宽。
48.一种可能的实施方式中,所述第二确定模块,在基于所述第二请求对应的所需带宽,以及当前的传输带宽,确定限制带宽时,用于:
49.确定需要进行限速处理的第一请求的传输总速度;
50.在所述传输总速度小于预设速度阈值的情况下,基于所述第二请求对应的所需带宽,以及当前的传输带宽,确定限制带宽。
51.一种可能的实施方式中,所述限速模块,在根据所述限制带宽,对所述第一请求进行限速处理时,用于:
52.在不超过所述限制带宽的情况下,按照接收所述第一请求的顺序,依次通过所述第一请求对应的套接字对所述第一请求进行处理。
53.一种可能的实施方式中,所述限速模块,还用于:
54.确定在对所述第一请求进行限速处理之前的第一网络时延信息;
55.在对所述第一请求进行限速处理后的第一预设时长后,确定当前的第二网络时延信息;
56.在基于所述第一时延信息和所述第二时延信息确定时延变化情况满足预设条件时,提高所述第二请求对应的所需带宽,重新确定所述限制带宽,并按照重新确定的限制带宽,对所述第一请求进行处理。
57.一种可能的实施方式中,所述限速模块,还用于:
58.在基于所述第一时延信息和所述第二时延信息确定时延变化情况不满足预设条件时,取消对所述第一请求进行限速处理。
59.一种可能的实施方式中,所述限速模块,还用于:
60.在对所述第一请求进行限速处理后的第二预设时长后,停止对所述第一请求进行限速处理。
61.第三方面,本公开实施例还提供一种计算机设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
62.第四方面,本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
63.本公开提供的流量控制方法中,在检测到网络状况满足预设条件的情况下,可以确定需要进行限速处理的第一请求和无需限速的第二请求,对于无需限速处理的第二请求,可以直接响应或处理;而对于第一请求,可以基于第二请求对应的所需带宽以及当前的传输带宽,确定限制带宽,并基于限制带宽对第一请求进行限速处理,这样,可以在保证第二请求能够得到及时处理的同时,保证第一请求也能够被处理,且第一请求不会影响第二请求。
64.为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
65.为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
66.图1示出了本公开实施例所提供的一种流量控制方法的流程图;
67.图2示出了本公开实施例所提供的另一种流量控制方法的流程图;
68.图3示出了本公开实施例所提供的一种流量控制装置的架构示意图;
69.图4示出了本公开实施例所提供的一种计算机设备的结构示意图。
具体实施方式
70.为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
71.经研究发现,相关技术中在进行流量控制时,一般直接放行重要的请求数据,拦截不重要的请求数据,若不重要的请求数据被长期拦截,则可能导致对应的线程由于无法接收数据而被错误关闭,进而影响数据的正常处理。
72.或者在进行流量控制时,通过将不重要的请求对应的线程缓存在线程池中进行延
迟处理,但是这种情况下,当延迟到期时,延迟处理的请求必须进行处理,这个时候仍然可能会因为请求过多导致网络延迟较长的问题。
73.或者,在进行流量控制时,应用程序可以精确计算每个套接字socket的read函数、write函数所需带宽,但是由于每个socket对应的请求可能有多个,当前并发的请求无法预估,因此无法预估当前所需的总带宽,进而无法实现多个socket的统一调度。
74.基于上述研究,本公开提供了一种流量控制方法、装置、计算机设备及存储介质,在检测到网络状况满足预设条件的情况下,可以确定需要进行限速处理的第一请求和无需限速的第二请求,对于无需限速处理的第二请求,可以直接响应或处理;而对于第一请求,可以基于第二请求对应的所需带宽以及当前的传输带宽,确定限制带宽,并基于限制带宽对第一请求进行限速处理,这样,可以在保证第二请求能够得到及时处理的同时,保证第一请求也能够被处理,且第一请求不会影响第二请求。
75.针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
76.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
77.为便于对本实施例进行理解,首先对本公开实施例所公开的一种流量控制方法进行详细介绍,本公开实施例所提供的流量控制方法的执行主体一般为具有一定计算能力的终端设备,例如可以为智能手机、平板电脑、智能手机等。
78.参见图1所示,为本公开实施例提供的一种流量控制方法的流程图,所述方法包括步骤101~步骤103,其中:
79.步骤101、响应网络状况满足预设条件,确定接收的多个请求中,需要进行限速处理的第一请求以及无需进行限速处理的第二请求。
80.步骤102、基于所述第二请求对应的所需带宽,以及当前的传输带宽,确定限制带宽,其中,所述限制带宽为传输所述第一请求的最大带宽。
81.步骤103、根据所述限制带宽,对所述第一请求进行限速处理。
82.以下是对上述步骤的详细描述。
83.针对步骤101、
84.所述网络状况满足预设条件,可以是指当前的网络状况较差,需要进行限速处理。当所述网络状况不满足预设条件时,可以是指当前的网络状况较好,无需进行限速处理,在这种情况下,所有的请求在接收到之后,可以直接进行处理。
85.这里,所述对请求进行处理可以是指响应该请求,例如可以是通过该请对应的套接字socket中的read函数或write函数对该请求进行处理。
86.一种可能的实施方式中,所述网络状况满足预设条件可以包括以下至少一种:
87.网络类型为预设网络类型;网络时延超过预设时长;网络传输速度小于预设传输速度。
88.示例性的,预设网络类型可以为3g、4g以及5g等。
89.具体的,执行本公开所提供的方法的用户端上可以部署有网络测速模块,所述网络测速模块可以实时监管当前的网络状况。
90.在一种可能的实施方式中,可以预先设置请求列表,请求列表中存储的多个请求为无需进行限速处理的请求。检测到网络状况符合预设条件时,可以将当前接收到的所有请求进行拦截,并基于预先设置的请求列表,确定接收的多个请求中,需要进行限速处理的第一请求以及无需进行限速处理的第二请求。
91.在进行限速处理时,由于接收到的请求包括发送请求和接收请求,所述发送请求用于发送数据,所述接收请求用于接收数据,发送请求所占用的带宽为上行方向的宽带,接收请求所占用的带宽为下行方向的带宽,一般的网络数据传输方向为全双工传输,即上行方向的宽带与下行方向的宽带之间互不影响。基于此,由于接收到的请求包括发送请求和接收请求,因此可以先确定目标限速方向,然后对目标限速方向上请求进行限速处理。
92.示例性的,若当前的场景为主播直播场景,则较多的数据为推流的数据,需要将数据发送至服务器,则在这种场景下的目标限速方向可以为发送方法;若当前的场景为用户浏览视频场景,则较多的数据为从服务器获取的视频数据,在这种场景下的目标限速方向可以为接收方向。
93.具体的,在确定目标限速方向时,示例性的可以通过如下方法中的任意一种:
94.方法1、
95.接收用户输入的限速指令,将所述限速指令中所对应的限速方向作为目标限速方向。
96.具体的,在检测到网络状况符合预设条件时,可以通过用户端展示限速提示信息,例如可以展示“当前网络状况较差,是否进行限速”的提示信息,然后接收用户输入的限速方向,并生成限速指令,再基于所述限速指令进行限速处理。
97.方法2、
98.基于当前接收的多个请求中不同方向的请求个数,确定目标限速方向。
99.具体的,可以确定当前接收的多个请求中传输方向为发送方向的请求的第一个数,以及发送方向为接收方向的第二个数,然后将个数较多的方向作为目标限速方向。
100.示例性的,若当前接收到多个请求中包括10个发送请求,2个接收请求,发送方向的请求数量较多,则可以将发送方向作为目标限速方向。
101.方法3、
102.基于当前的业务场景,确定目标限速方向。
103.具体的,可以预先设置多种业务场景,以及不同的业务场景对应的限速方向,然后可以基于当前展示的目标页面,确定当前的业务场景,基于当前的业务场景确定目标限速方向。
104.在确定目标限速方向之后,在确定接收的多个请求中,需要进行限速处理的第一请求以及无需进行限速处理的第二请求时,可以是确定接收的多个请求中,需要进行限速处理的、传输方向为目标限速方向的第一请求,以及无需进行限速处理的第二请求。
105.这里,无需进行限速处理的第二请求可以包括传输方向不为目标限速方向的请求,以及传输方向为目标限速方向但是无需进行限速处理的请求。
106.在另外一种可能的实施方式中,不同的请求的限速优先级可能不同,部分请求的实时性可能较低,因此限速优先级较高,基于此,可以预先为各种请求设置限速优先级。
107.在确定接收的多个请求中,需要进行限速处理的第一请求以及无需进行限速处理
的第二请求时,可以确定接收的多个请求中,对应的限速优先级满足限速条件的、传输方向为目标限速方向的第一请求;以及确定对应的限速优先级不满足所述限速条件的、或者所述传输方向不为所述目标限速方向的第二请求。
108.这里所述满足限速条件,示例性的可以是指限速优先级高于预设等级。
109.针对步骤102、
110.一种可能的实施方式中,所述当前的传输带宽可以是通过上述网络测速模块确定的。由于在进行限速处理时,只能对当前应用程序内的请求进行限速处理,且在进行带宽监测时只能检测当前应用程序的带宽,因此,所述当前的传输带宽可以是指当前应用程序对应的带宽。当当前只有一个应用程序打开的情况下,所述当前的传输带宽可以是指整个设备的当前带宽,当当前有多个应用程序打开的情况下,所述当前的传输带宽小于所述整个设备的当前带宽。
111.在一种可能的实施方式中,在基于所述第二请求对应的所需带宽,以及当前的传输带宽,确定限制带宽时,可以基于传输方向为目标限速方向的第二请求对应的所需带宽,以及当前的传输带宽,确定限制带宽。
112.示例性的,可以计算所述当前的传输带宽与所述第二请求对应的所需带宽之间的带宽差值,然后将带宽差值作为限制带宽。
113.示例性的,若当前的传输带宽为5m,所述第二请求对应的所需带宽为3m,则所述带宽差值为2m,限制带宽也就为2m。
114.这里,所述第二请求对应的所需带宽可以理解为当前接收到的传输方向为所述限速方向的所有第二请求的所需要的带宽之和,每个第二请求对应的所需要的带宽可以是保证第二请求正常传输的最小带宽,可以是预先设置好的。
115.在另外一种可能的实施方式中,若当前的传输带宽与第二请求对应的所需带宽之间的带宽差值较小,则在这种情况下若对第一请求进行了限速处理,可能会导致部分第一请求无法被及时响应而导致程序运行错误。
116.因此,为了保证第一请求也能被正常的处理,可以计算所述当前的传输带宽与所述第二请求对应的所需带宽之间的带宽差值之后,可以判断所述带宽差值与预设带宽之间的大小,在所述带宽差值大于预设带宽时,将所述带宽差值确定为所述限制带宽;在所述带宽差值不大于所述预设带宽时,将所述预设带宽确定为所述限制带宽。
117.其中,所述预设带宽为保证第一请求正常传输的最小带宽,所述当前的传输带宽为当前目标限速方向的传输带宽。
118.在所述带宽差值不大于所述预设带宽时,将所述预设带宽确定为所述限制带宽,这样可以保证所述第一请求在被正常处理的前提下,实现对于第一请求的限速处理,以及提升第二请求的处理速度。
119.在一种可能的情况下,若所述网络状况满足预设条件包括网络时延超过预设时长,在这种情况下,可能导致时延变长的原因并非是请求过多,即使对请求进行限速处理,也并不能降低网络时延,因此,在对于第一请求进行限速处理之前,需要先检测是否是因为请求过多导致的网络时延变长。
120.具体的,可以先确定需要进行限速处理的第一请求的传输总速度,在所述传输总速度大于预设速度阈值的情况下,再基于所述第二请求对应的所需带宽,以及当前的传输
带宽,确定限制带宽。其中,所述预设速度阈值可以基于不同的场景进行设定。
121.针对步骤103、
122.在一种可能的实施方式中,在根据所述限制带宽,对所述第一请求进行限速处理时,可以是在不超过所述限制带宽的情况下,按照接收所述第一请求的顺序,依次通过所述第一请求对应的套接字对所述第一请求进行处理。
123.其中,所述每个计算周期内的最大带宽为所述限制带宽,在对任一第一请求进行处理时,若该第一请求所需的带宽与当前正常处理的请求所需的带宽之和超过了所述限制带宽,则可以在下一计算周期再对该第一请求进行处理。
124.示例性的,若限制带宽为1m,当需要对第一请求进行处理时,若第一请求1所需要的带宽为0.5m,第一请求2所需要的带宽为0.8m,若接收第一请求1的时间早于第一请求2,则可以先处理第一请求1,再处理第一请求2,在处理第一请求1时,剩余的带宽为0.5m,无法满足第一请求2所需的带宽则可以在下一个计算周期重新处理第一请求2。
125.在一种可能的实施方式中,在对第一请求进行限速处理之后,可以在一段时间之后对限速效果进行检测,若进行限速处理之后限速效果并不明显,则可以取消限速处理。
126.具体的,可以确定在对第一请求进行限速处理之前的第一网络时延信息,然后在对第一请求进行限速处理后的第一预设时长后,可以确定当前的第二网络时延信息,在基于所述第一时延信息和所述第二时延信息确定时延变化情况满足预设条件时,提高所述第二请求对应的所需带宽,并重新确定限制带宽,按照重新确定的限制带宽,对所述第一请求进行处理。
127.这里,在基于所述第一时延信息和所述第二时延信息确定时延变化情况是否满足预设条件时,可以基于所述第一时延信息和所述第二时延信息,确定时延差值,若所述时延差值大于预设时延差值,则可以确定时延变化情况满足预设条件。
128.或者,可以基于第一时延信息和第二时延信息,确定时延差值,然后基于时延差值和第一时延信息,确定时延提升比例,若所述时延提升比例大于预设比例,则可以确定时延变化情况满足预设条件。
129.在一种可能的实施方式中,在提升所述第二请求对应的所需带宽时,可以按照预设提升带宽或者按照预设提升比例提升所述第二请求对应的所需带宽。
130.示例性的,若所述预设提升带宽为0.5m,提升之前第二请求对应的所需带宽为2m,则每隔第一预设时长,可以确定时延变化情况是否满足预设条件,若满足,则在当前第二请求对应的所需带宽的基础上增加0.5m,作为提升后的第二请求对应的所需带宽。
131.若所述预设提升带宽为10%,则每隔第一预设时长,可以确定时延变化情况是否满足预设条件,若满足,则在当前第二请求对应的所需带宽的基础上提升10%,作为提升后的第二请求对应的所需带宽。
132.在对第一请求进行限速处理之后,若基于第一时延信息和第二时延信息确定时延变化情况不满足预设条件,则说明当前的限速处理没有限速效果,则可以取消对所述第一请求进行限速处理。
133.在对第一请求进行限速处理之后,若检测到所述网络状况不满足预设条件,即检测到当前网络状况变好之后,则可以停止进行限速处理。
134.或者,当当前接收的第二请求被处理完成之后,可以停止进行限速处理。
135.或者,可以直接进行防呆处理,即在进行限速一段时间之后,为了防止由于程序的错误执行而无法停止进行限速处理的情况,则可以在对所述第一请求进行限速处理后的第二预设时长后,停止对所述第一请求进行限速处理。
136.在这种情况下,若所述网络状况仍旧满足预设条件,则可以重新执行步骤101~步骤103,重新进行限速处理。
137.实际应用中,上述实施例中不同的步骤可以是由不同的模块执行的,下面将结合具体的模块,对上述实施例中提供的流量控制方法展开介绍,执行本公开所提供的方法的模块可以包括业务逻辑模块、流量控制模块、以及网络测算模块,参照图2所示,为本公开实施例提供的另外一种流量控制方法的流程图,包括以下几个步骤:
138.步骤201、业务逻辑模块从网络测算模块获取网络状况信息。
139.步骤202、在检测到网络状况满足预设条件之后,向流量控制模块发送限速指令。
140.步骤203、流量控制模块在接收到限速指令之后,确定当前接收到的多个请求中,需要进行限速处理的第一请求以及无需进行限速处理的第二请求。
141.步骤204、流量控制模块确定目标限速方向,并确定传输方向为目标限速方向的第一请求对应的传输总速度。
142.步骤205、在所述传输总速度小于预设速度阈值的情况下,基于所述第二请求对应的所需带宽,以及当前的传输带宽,确定限制带宽。
143.步骤206、流量控制模块按照接收所述第一请求的顺序以及所述限制带宽,对所述第一请求进行处理。
144.步骤207、当业务逻辑模块检测到网络状况不满足预设条件时,向流量控制模块发送停止限速指令,以指示流量控制模块停止限速处理。
145.本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
146.基于同一发明构思,本公开实施例中还提供了与流量控制方法对应的流量控制装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述流量控制方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
147.参照图3所示,为本公开实施例提供的一种流量控制装置的架构示意图,所述装置包括:第一确定模块301、第二确定模块302、限速模块303;其中,
148.第一确定模块301,用于响应网络状况满足预设条件,确定接收的多个请求中,需要进行限速处理的第一请求以及无需进行限速处理的第二请求;
149.第二确定模块302,用于基于所述第二请求对应的所需带宽,以及当前的传输带宽,确定限制带宽,其中,所述限制带宽为传输所述第一请求的最大带宽;
150.限速模块303,用于根据所述限制带宽,对所述第一请求进行限速处理。
151.一种可能的实施方式中,所述网络状况满足预设条件包括以下至少一种:
152.网络类型为预设网络类型;网络时延超过预设时长;网络传输速度小于预设传输速度。
153.一种可能的实施方式中,所述第一确定模块301,在确定接收的多个请求中,需要进行限速处理的第一请求以及无需进行限速处理的第二请求时,用于:
154.对应的限速优先级满足限速条件的、传输方向为目标限速方向的第一请求;以及确定对应的限速优先级不满足所述限速条件的、或者所述传输方向不为所述目标限速方向的第二请求。
155.一种可能的实施方式中,所述第二确定模块302,在基于所述第二请求对应的所需带宽,以及当前的传输带宽,确定限制带宽时,用于:
156.基于传输方向为所述目标限速方向的第二请求对应的所需带宽,以及当前的传输带宽,确定限制带宽。
157.一种可能的实施方式中,所述第一确定模块301,在确定接收的多个请求中,需要进行限速处理的第一请求以及无需进行限速处理的第二请求时,用于:
158.基于预先设置的请求列表,确定接收的多个请求中,需要进行限速处理的第一请求以及无需进行限速处理的第二请求,其中,所述请求列表中的请求为无需进行限速处理的请求。
159.一种可能的实施方式中,所述第二确定模块302,在基于所述第二请求对应的所需带宽,以及当前的传输带宽,确定限制带宽时,用于:
160.计算所述当前的传输带宽与所述第二请求对应的所需带宽之间的带宽差值;
161.在所述带宽差值大于预设带宽时,将所述带宽差值确定为所述限制带宽;在所述带宽差值不大于所述预设带宽时,将所述预设带宽确定为所述限制带宽。
162.一种可能的实施方式中,所述第二确定模块302,在基于所述第二请求对应的所需带宽,以及当前的传输带宽,确定限制带宽时,用于:
163.确定需要进行限速处理的第一请求的传输总速度;
164.在所述传输总速度小于预设速度阈值的情况下,基于所述第二请求对应的所需带宽,以及当前的传输带宽,确定限制带宽。
165.一种可能的实施方式中,所述限速模块303,在根据所述限制带宽,对所述第一请求进行限速处理时,用于:
166.在不超过所述限制带宽的情况下,按照接收所述第一请求的顺序,依次通过所述第一请求对应的套接字对所述第一请求进行处理。
167.一种可能的实施方式中,所述限速模块303,还用于:
168.确定在对所述第一请求进行限速处理之前的第一网络时延信息;
169.在对所述第一请求进行限速处理后的第一预设时长后,确定当前的第二网络时延信息;
170.在基于所述第一时延信息和所述第二时延信息确定时延变化情况满足预设条件时,提高所述第二请求对应的所需带宽,重新确定所述限制带宽,并按照重新确定的限制带宽,对所述第一请求进行处理。
171.一种可能的实施方式中,所述限速模块303,还用于:
172.在基于所述第一时延信息和所述第二时延信息确定时延变化情况不满足预设条件时,取消对所述第一请求进行限速处理。
173.一种可能的实施方式中,所述限速模块303,还用于:
174.在对所述第一请求进行限速处理后的第二预设时长后,停止对所述第一请求进行限速处理。
175.关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
176.基于同一技术构思,本公开实施例还提供了一种计算机设备。参照图4所示,为本公开实施例提供的计算机设备400的结构示意图,包括处理器401、存储器402、和总线403。其中,存储器402用于存储执行指令,包括内存4021和外部存储器4022;这里的内存4021也称内存储器,用于暂时存放处理器401中的运算数据,以及与硬盘等外部存储器4022交换的数据,处理器401通过内存4021与外部存储器4022进行数据交换,当计算机设备400运行时,处理器401与存储器402之间通过总线403通信,使得处理器401在执行以下指令:
177.响应网络状况满足预设条件,确定接收的多个请求中,需要进行限速处理的第一请求以及无需进行限速处理的第二请求;
178.基于所述第二请求对应的所需带宽,以及当前的传输带宽,确定限制带宽,其中,所述限制带宽为传输所述第一请求的最大带宽;
179.根据所述限制带宽,对所述第一请求进行限速处理。
180.一种可能的实施方式中,处理器401执行的指令中,所述网络状况满足预设条件包括以下至少一种:
181.网络类型为预设网络类型;网络时延超过预设时长;网络传输速度小于预设传输速度。
182.一种可能的实施方式中,处理器401执行的指令中,所述确定接收的多个请求中,需要进行限速处理的第一请求以及无需进行限速处理的第二请求,包括:
183.对应的限速优先级满足限速条件的、传输方向为目标限速方向的第一请求;以及确定对应的限速优先级不满足所述限速条件的、或者所述传输方向不为所述目标限速方向的第二请求。
184.一种可能的实施方式中,处理器401执行的指令中,所述基于所述第二请求对应的所需带宽,以及当前的传输带宽,确定限制带宽,包括:
185.基于传输方向为所述目标限速方向的第二请求对应的所需带宽,以及当前的传输带宽,确定限制带宽。
186.一种可能的实施方式中,处理器401执行的指令中,所述确定接收的多个请求中,需要进行限速处理的第一请求以及无需进行限速处理的第二请求,包括:
187.基于预先设置的请求列表,确定接收的多个请求中,需要进行限速处理的第一请求以及无需进行限速处理的第二请求,其中,所述请求列表中的请求为无需进行限速处理的请求。
188.一种可能的实施方式中,处理器401执行的指令中,所述基于所述第二请求对应的所需带宽,以及当前的传输带宽,确定限制带宽,包括:
189.计算所述当前的传输带宽与所述第二请求对应的所需带宽之间的带宽差值;
190.在所述带宽差值大于预设带宽时,将所述带宽差值确定为所述限制带宽;在所述带宽差值不大于所述预设带宽时,将所述预设带宽确定为所述限制带宽。
191.一种可能的实施方式中,处理器401执行的指令中,基于所述第二请求对应的所需带宽,以及当前的传输带宽,确定限制带宽,包括:
192.确定需要进行限速处理的第一请求的传输总速度;
193.在所述传输总速度小于预设速度阈值的情况下,基于所述第二请求对应的所需带宽,以及当前的传输带宽,确定限制带宽。
194.一种可能的实施方式中,处理器401执行的指令中,所述根据所述限制带宽,对所述第一请求进行限速处理,包括:
195.在不超过所述限制带宽的情况下,按照接收所述第一请求的顺序,依次通过所述第一请求对应的套接字对所述第一请求进行处理。
196.一种可能的实施方式中,处理器401执行的指令中,所述方法还包括:
197.确定在对所述第一请求进行限速处理之前的第一网络时延信息;
198.在对所述第一请求进行限速处理后的第一预设时长后,确定当前的第二网络时延信息;
199.在基于所述第一时延信息和所述第二时延信息确定时延变化情况满足预设条件时,提高所述第二请求对应的所需带宽,重新确定所述限制带宽,并按照重新确定的限制带宽,对所述第一请求进行处理。
200.一种可能的实施方式中,处理器401执行的指令中,所述方法还包括:
201.在基于所述第一时延信息和所述第二时延信息确定时延变化情况不满足预设条件时,取消对所述第一请求进行限速处理。
202.一种可能的实施方式中,处理器401执行的指令中,所述方法还包括:
203.在对所述第一请求进行限速处理后的第二预设时长后,停止对所述第一请求进行限速处理。
204.本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的流量控制方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
205.本公开实施例还提供一种计算机程序产品,该计算机产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的流量控制方法的步骤,具体可参见上述方法实施例,在此不再赘述。
206.其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(software development kit,sdk)等等。
207.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
208.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个
网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
209.另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
210.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read

only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
211.最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献