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

一种文件传输的控制方法及装置与流程

2022-06-22 13:36:57 来源:中国专利 TAG:


1.本发明涉及数据处理技术领域,具体涉及一种文件传输的控制方法及装置。


背景技术:

2.随着虚拟化、容器、镜像等技术的发展,基于容器的分布式系统应用的越来越广泛,分布式容器应用在web应用程序的场景也越来越多。
3.web应用程序普遍都是发送http请求链,在链路上串联的请求往往存在依赖关系,随着业务需求的增加,使用场景的多样化,用户基数的增加,向web应用程序发送的请求链也在不断的增加,如果在分布式容器中有文件上传和下载,并且上传或者下载流量较大时,会对应用的业务请求的传输造成影响,导致应用业务请求传输的延迟。因此,如何控制分布式容器中的文件上传和下载,以保证业务请求的传输成为亟待解决的问题。


技术实现要素:

4.针对现有技术中的问题,本发明实施例提供一种文件传输的控制方法及装置,能够至少部分地解决现有技术中存在的问题。
5.一方面,本发明提出一种文件传输的控制方法,包括:
6.接收客户端发送的文件传输请求,并获取当前在线客户端数量;
7.根据所述当前在线客户端数量以及预留传输带宽获取规则,获得当前预留传输带宽;
8.根据所述当前预留传输带宽以及所述文件传输请求对应的传输启动判断参数,对文件传输进行控制。
9.另一方面,本发明提供一种文件传输的控制装置,包括:
10.接收模块,用于接收客户端发送的文件传输请求,并获取当前在线客户端数量;
11.获得模块,用于根据所述当前在线客户端数量以及预留传输带宽获取规则,获得当前预留传输带宽;
12.控制模块,用于根据所述当前预留传输带宽以及所述文件传输请求对应的传输启动判断参数,对文件传输进行控制。
13.再一方面,本发明提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一实施例所述文件传输的控制方法的步骤。
14.又一方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任一实施例所述文件传输的控制方法的步骤。
15.本发明实施例提供的文件传输的控制方法及装置,能够接收客户端发送的文件传输请求,并获取当前在线客户端数量,根据当前在线客户端数量以及预留传输带宽获取规则,获得当前预留传输带宽,根据所述当前预留传输带宽以及所述文件传输请求对应的传输启动判断参数,对文件传输进行控制,通过预留传输带宽对文件传输进行限制,保障了业
务信息的正常传输,提高了业务信息传输的可靠性。
附图说明
16.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
17.图1是本发明第一实施例提供的文件传输的控制方法的流程示意图。
18.图2是本发明第二实施例提供的文件传输的控制方法的流程示意图。
19.图3是本发明第三实施例提供的文件传输的控制方法的流程示意图。
20.图4是本发明第四实施例提供的文件传输的控制方法的流程示意图。
21.图5是本发明第五实施例提供的文件传输的控制方法的流程示意图。
22.图6是本发明第六实施例提供的文件上传的控制方法的流程示意图。
23.图7是本发明第七实施例提供的文件下载的控制方法的流程示意图。
24.图8是本发明第八实施例提供的统计在线客户端数量的流程示意图。
25.图9是本发明第九实施例提供的文件传输的控制装置的结构示意图。
26.图10是本发明第十实施例提供的文件传输的控制装置的结构示意图。
27.图11是本发明第十一实施例提供的文件传输的控制装置的结构示意图。
28.图12是本发明第十二实施例提供的文件传输的控制装置的结构示意图。
29.图13是本发明第十三实施例提供的文件传输的控制装置的结构示意图。
30.图14是本发明第十四实施例提供的文件传输的控制装置的结构示意图。
31.图15是本发明第十五实施例提供的电子设备的实体结构示意图。
具体实施方式
32.为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互任意组合。
33.为了便于理解本技术提供的技术方案,下面先对本技术技术方案的相关内容进行说明。客户端可以向服务端发送业务请求和文件传输请求,还可以从服务端接收响应信息。所述业务请求的大小和响应信息的大小比较小,比如为2kb,传输时间较短。所述文件传输请求用于进行文件的上传或者下载,当上传或者下载的文件较大时,文件传输时间会较长,会长时间占用带宽,对业务请求和响应信息的传输造成影响。为方便表述,后续业务请求和响应信息在本技术中称为业务信息。
34.因此,本发明实施例提供一种文件传输的控制方法,能够对大流量、高io、传输时间长的分布式容器文件上传和下载进行动态控制,以保证分布式容器的web应用的高可用性。其中,客户端包括但不限于台式机、比较本电脑等,在客户端上可以部署web浏览器。所述服务端可以为分布式服务系统中的一台分布式服务器,部署有分布式容器。
35.下面以服务端作为执行主体为例,来说明本发明实施例提供的文件传输的控制方
法的实现过程。
36.图1是本发明一实施例提供的文件传输的控制方法的流程示意图,如图1所示,本发明实施例提供的文件传输的控制方法,包括:
37.s101、接收客户端发送的文件传输请求,并获取当前在线客户端数量;
38.具体地,客户端向服务端发送文件传输请求,服务端会接收所述文件传输请求。所述文件传输请求可以为文件上传请求或者文件下载请求,文件上传请求表明客户端要向服务端上传文件,文件下载请求表明客户端要从服务端下载文件。所述服务端在接收所述文件传输请求之后,会获取当前在线客户端数量。当前在线客户端数量即与服务端进行通信连接的客户端的数量。可理解的是,当前在线客户端数量中统计了发送文件传输请求的客户端。
39.例如,对于分布式服务系统,可以在分布式缓存中存储当前在线客户端的数量,所述服务端可以访问分布式缓存获取当前在线客户端数量。
40.s102、根据当前在线客户端数量以及预留传输带宽获取规则,获得当前预留传输带宽;
41.具体地,所述服务端在获得所述当前在线客户端数量之后,基于所述在线客户端数量以及预留传输带宽获取规则,可以获得当前预留传输带宽。对于文件上传请求,获得的是当前预留上传文件带宽;对于文件下载请求,获得的是当前预留文件下载带宽。其中,所述预留传输带宽获取规则是预设的。
42.s103、根据所述当前预留传输带宽以及所述文件传输请求对应的传输启动判断参数,对文件传输进行控制。
43.具体地,由于当前预留传输带宽的限制,同时进行的文件传输任务的数量越多,文件传输的就越慢。在有文件传输需求时,即上传文件或者下载文件,服务端可以根据所述当前预留传输带宽以及所述文件传输请求对应的传输启动判断参数,对文件传输进行控制,以保证高并发场景下文件的传输。其中,传输启动判断参数用于判断是否即时响应所述文件传输请求进行文件传输,所述传输启动判断参数根据实际需要进行设置,本发明实施例不做限定。
44.例如,对于文件上传,传输启动判断参数可以为预计上传任务数量,预计上传任务数量等于所述服务端接收到文件上传请求之前的正在执行的上传任务数量加1。通过限制预计上传任务数量,使并行上传的任务数量不会太多,以提高文件上传的可靠性。
45.本发明实施例提供的文件传输的控制方法,能够接收客户端发送的文件传输请求,并获取当前在线客户端数量,根据当前在线客户端数量以及预留传输带宽获取规则,获得当前预留传输带宽,根据所述当前预留传输带宽以及所述文件传输请求对应的传输启动判断参数,对文件传输进行控制,通过预留传输带宽对文件传输进行限制,保障了业务信息的正常传输,提高了业务信息传输的可靠性。此外,通过当前预留传输带宽和传输启动判断参数对文件上传和下载进行动态控制,保证了高并发场景下文件传输的可靠性和稳定性,也提高了网络带宽的利用率。
46.在上述各实施例的基础上,进一步地,所述文件传输请求为文件上传请求;相应地,所述预留传输带宽获取规则为预留上传文件带宽获取规则,所述预留上传文件带宽获取规则包括:
47.根据上行带宽、当前在线客户数量以及单位时间内请求报文的平均值,获得当前预留上传文件带宽。
48.具体地,文件传输请求为文件上传请求,所述预留传输带宽获取规则为预留上传文件带宽获取规则。所述服务端可以获取上行带宽、当前在线客户数量以及单位时间内请求报文的平均值,然后根据所述根据上行带宽、当前在线客户数量以及单位时间内请求报文的平均值,获得当前预留上传文件带宽。其中,所述上行带宽是预设的。所述单位时间内请求报文的平均值是根据第一预设时间段内服务端接收的客户端发送的各个业务请求的大小、第一预设时间段内服务端接收的客户端发送的业务请求的总数量以及第一预设时间段获得的。
49.在上述各实施例的基础上,进一步地,所述根据上行带宽、当前在线客户数量以及单位时间内请求报文的平均值,获得当前预留上传文件带宽包括:根据预留上传带宽计算公式计算获得所述当前预留上传文件带宽,其中,表示当前预留上传文件带宽,表示上行带宽,c
on
表示当前在线客户端数量,表示单位时间内请求报文的平均值。
50.具体地,获取第一预设时间段内服务端接收的客户端发送的业务请求并统计第一预设时间段内服务端接收的业务请求的总数量,获得第一预设时间段内服务端接收的每个业务请求的大小,基于所述第一预设时间段、第一预设时间段内服务端接收的业务请求的总数量以及每个业务请求的大小,可以计算获得单位时间内请求报文的平均值,即δt1表示所述第一预设时间段,n表示第一预设时间段内服务端接收的客户端发送的业务请求的总数量,p
iu
表示第一预设时间段内服务端接收的客户端发送的第i个业务请求的大小,i为正整数且i小于等于n。其中,所述第一预设时间段根据实际需要进行设置,本发明实施例不做限定。
51.所述服务端将上行带宽当前在线客户端数量c
on
以及单位时间内请求报文的平均值带入到预留上传文件带宽计算公式中,即可计算获得预留上传文件带宽文件带宽是预留的上传请求带宽,预留的上传请求带宽用于保障业务请求的传输,随着当前在线客户端数量以及业务请求的大小而发生变化,由于预留的上传请求带宽是动态变化的,预留上传文件带宽也是动态变化的,先预留出上传业务请求的带宽,剩余的上传带宽留用于文件上传,优先保障了业务请求的上传,提高业务请求上传的可靠性。其中,服务端的上行带宽是指服务端从客户端接收数据的带宽,服务端的上行带宽是预设的,根据实际需要进行设置,本发明实施例不做限定。其中,单位时间根据实际需要进行设置,比如设置为1秒,本发明实施例不做限定。
52.图2是本发明第二实施例提供的文件传输的控制方法的流程示意图,如图2所示,在上述各实施例的基础上,进一步地,所述根据所述当前预留传输带宽以及所述文件传输请求对应的传输启动判断参数,对文件传输进行控制包括:
53.s201、根据所述当前预留上传文件带宽以及最小上传速率,获得当前上传阈值;其中,所述最小上传速率是预设的;
54.具体地,所述服务端计算当前预留上传文件除以最小上传速率结果,可以获得当前上传阈值。
55.s202、根据所述文件上传请求对应的传输启动判断参数以及所述当前上传阈值,控制文件上传。
56.具体地,所述服务端在获得所述当前上传阈值之后,获取所述文件上传请求对应的传输启动判断参数,如果所述文件上传请求对应的传输启动判断参数满足所述当前上传阈值,说明可以即时进行文件上传,所述服务端可以响应所述文件传输请求,使所述客户端向所述服务端发送上传文件,所述服务端可以接收上传文件并存储。如果所述文件上传请求对应的传输启动判断参数不满足所述当前上传阈值,说明不能即时进行文件上传,所述服务端可以为所述文件上传请求生成对应的上传任务存储到上传任务队列中,等待进行文件上传。其中,所述文件上传请求对应的传输启动判断参数根据是实际需要进行设置,本发明实施例不做限定。
57.在上述各实施例的基础上,进一步地,所述根据所述当前预留上传文件带宽以及最小上传速率,获得当前上传阈值包括:
58.根据上传阈值计算公式计算获得所述当前上传阈值,其中,v
tu
表示当前上传阈值,ru表示最小上传速率。
59.具体地,所述服务端将预留上传文件带宽和最小上传速率ru带入到所述上传阈值计算公式可以计算出上传最大并发数v
tu
,将上传最大并发数v
tu
作为当前上传阈值。上传最大并发数表示在保证最小上传速率的情况下,在预留上传文件带宽下最多可以并行执行的上传任务数量。所述最小上传速率是预设的,根据实际需要进行设置,本发明实施例不做限定。
60.例如,文件传输请求对应的传输启动判断参数为预计上传任务数量。预计上传任务数量等于所述服务端接收到文件上传请求之前的正在执行的上传任务数量加1。所述服务端将预计上传任务数量与当前上传阈值进行比较,如果预计上传任务数量小于等于当前上传阈值,那么所述服务端可以响应所述文件上传请求,所述客户端可以向所述服务端上传文件。如果预计上传任务数量大于所述当前上传阈值,那么所述客户端不能向所述服务端上传文件,所述服务端可以为所述文件上传请求生成上传任务存储到文件上传任务队列中,等待进行文件上传。
61.图3是本发明第三实施例提供的文件传输的控制方法的流程示意图,如图3所示,在上述各实施例的基础上,进一步地,所述根据所述文件上传请求对应的传输启动判断参数以及所述当前上传阈值,控制文件上传包括:
62.s301、若判断获知所述文件上传请求对应的传输启动判断参数满足所述当前上传阈值,则根据所述预计上传任务数量和所述预留上传文件带宽,获得切块大小;
63.具体地,所述服务端获取所述文件上传请求对应的传输启动判断参数,如果所述文件上传请求对应的传输启动判断参数满足所述当前上传阈值,说明可以即时进行文件上传。所述服务端可以计算所述预留上传文件带宽带与所述预计上传任务数量的商值,作为切块大小。
64.在上述各实施例的基础上,进一步地,所述根据所述预计上传任务数量和所述预
留上传文件带宽,获得切块大小包括:
65.根据预计上传任务数量、所述预留上传文件带宽获得切块大小以及切块大小计算公式,计算获得所述切块大小。
66.具体地,所述服务端将所述预计上传任务数量和所述预留上传文件带宽带入到切块大小计算公式中,可以计算获得切块大小。其中,切块大小计算公式是预设的。
67.例如,切块大小计算公式为例如,切块大小计算公式为表示预留上传文件带宽,qu表示预计上传任务数量,d表示切块大小。
68.s302、若判断获知所述切块大小大于默认切块大小,则向所述客户端返回携带所述切块大小的响应信息。
69.具体地,所述服务端将所述切块大小与默认切块大小进行比较,如果所述切块大小大于默认切块大小,那么发送携带所述切块大小的响应信息给所述服务端。所述客户端接收到所述响应信息之后,会根据所述切块大小对上传文件进行分块,然后按照分块向所述服务端上传文件。其中,所述默认切块大小是预设的,根据实际需要进行设置,本发明实施例不做限定。通过调整分块大小,在上传任务数量较少时,切块大小较大,以便于快速的上传文件。
70.例如,默认切块大小为1m,如果上传文件为10m,计算获得的切块大小为2m,那么客户端在接收到服务器发送的携带2m的响应信息之后,会根据切块大小2m将10m上传文件分为5块,每块大小为2m,然后将5个分块文件依次上传到服务端。
71.在上述各实施例的基础上,进一步地,本发明实施例提供的文件传输的控制方法还包括:
72.向各个上传客户端发送文件切块更新指示信息,所述文件切块更新指示信息包括所述切块大小。
73.具体地,所述服务端在向所述客户端返回携带所述切块大小的响应信息同时,可以向各个上传客户端发送文件切块更新指示信息。每个上传客户端接收到所述文件切块更新指示信息之后,如判断出剩余的上传文件大于切块大小,则会根据所述文件切块更新指示信息包括的切块大小,对上传客户端本地的剩余的上传文件进行重新分块,然后按照重新分块后的每个分块文件的大小向所述服务端上传分块文件。其中,上传客户端是指正在进行文件上传的客户端。通过对切块大小的调整,使并发的上传任务数量与预留上传文件带宽相适应,提高了宽带的利用率。其中,剩余上传文件是指上传客户端本地的上传文件的待上传部分。
74.在上述各实施例的基础上,进一步地,所述根据所述文件上传请求对应的传输启动判断参数以及所述当前上传阈值,控制文件上传包括:
75.若判断获知所述文件上传请求对应的传输启动判断参数不满足所述当前上传阈值,则为所述文件上传请求生成对应的上传任务加入到上传任务对列中。
76.具体地,所述服务端获取所述文件上传请求对应的传输启动判断参数,如果所述文件上传请求对应的传输启动判断参数不满足所述当前上传阈值,说明不能即时进行文件上传,所述服务端可以为所述文件上传请求生成对应的上传任务存储到上传任务队列中,等待进行文件上传。
77.图4是本发明第四实施例提供的文件传输的控制方法的流程示意图,如图4所示,
在上述各实施例的基础上,进一步地,在上述各实施例的基础上,进一步地,本发明实施例提供的文件传输的控制方法还包括:
78.s401、若判断获知上传任务对列不为空且正在执行的上传任务数量小于所述当前预留上传文件带宽对应的最大并发数,则根据每个正在执行的上传任务的实际上传速率获得实际上传总速率;
79.具体地,当上传任务队列存在排队的上传任务时,每当有上传任务完成,会从上传任务队列中获取上传任务执行。所述服务端获取正在执行的上传任务数量,将正在执行的上传任务数量与所述预留上传文件带宽对应的最大并发数进行比较,如果正在执行的上传任务数量小于所述预留上传文件带宽对应的最大并发数,说明可以增加正在执行的上传任务。所述服务端还可以判断上传任务对列是否为空,如果上传任务对不为空,说明有上传任务在排队等待执行。所述服务端可以计算出每个正在执行的上传任务的实际上传速率,然后根据每个正在执行的上传任务的实际上传速率获得实际上传总速率。其中,所述当前预留上传文件带宽对应的最大并发数可以根据公式计算获得。
80.例如,每个正在执行的上传任务的实际上传速率等于已上传文件大小除以已上传时间,实际上传总速率等于各个正在执行的上传任务的实际上传速率之和。
81.s402、根据所述实际上传总速率、所述当前预留上传文件带宽和最小传输速率,获得上传任务启动数量;
82.具体地,所述服务端在获得所述实际上传总速率之后,可以根据所述实际上传总速率、所述当前预留上传文件带宽和最小传输速率,计算出上传任务启动数量。其中,所述最小传输速率是预设的,根据实际需要进行设置,本发明实施例不做限定。
83.例如,上传任务启动数量=(当前预留传输带宽-实际传输速率)/最小传输速率。
84.s403、从所述上传任务对列中选择上传文件最小的所述上传任务启动数量个上传任务执行。
85.具体地,所述服务端可以对上传任务队列中的上传任务按照上传文件的大小由小到大进行排序,从中获得上传文件最小的所述上传任务启动数量个上传任务执行。优先上传上传文件较小的上传任务,能够避免文件较小的上传文件的长时间等待。
86.在上述各实施例的基础上,进一步地,所述文件传输请求为文件下载请求;相应地,所述预留传输带宽获取规则为预留文件下载带宽获取规则,所述预留文件下载带宽获取规则包括:
87.根据下行带宽、当前在线客户端数量以及单位时间内响应报文的平均值,获得当前预留文件下载带宽。
88.具体地,具体地,文件传输请求为文件下载请求,所述预留传输带宽获取规则为预留文件下载带宽获取规则。所述服务端可以获取下行带宽、当前在线客户端数量以及单位时间内响应报文的平均值,然后根据下行带宽、当前在线客户端数量以及单位时间内响应报文的平均值,获得当前预留文件下载带宽。其中,所述下行带宽是预设的;单位时间内响应报文的平均值是根据第二预设时间段内服务端发送的各个响应信息的大小、第二预设时间段内服务端发送的响应信息的总数量以及第二预设时间段获得的。
89.在上述各实施例的基础上,进一步地,所述根据下行带宽、当前在线客户端数量以及单位时间内响应报文的平均值,获得当前预留文件下载带宽包括:
90.根据预留下载带宽计算公式计算获得所述当前预留文件下载带宽,其中,表示当前预留文件下载带宽,表示下行带宽,c
on
表示当前在线客户端数量,表示单位时间内响应报文的平均值。
91.具体地,获取第二预设时间段内服务端发送给客户端的响应信息并统计第二预设时间段内服务端发送的响应信息的总数量,获得第二预设时间段内服务端发送的每个响应信息大小,基于所述第二预设时间段、第二预设时间段内服务端发送的响应信息的总数量以及每个响应信息的大小,可以计算获得单位时间内响应报文的平均值,即δt2表示所述第二预设时间段,m表示第二预设时间段内服务端发送的响应信息的总数量,表示第二预设时间段内服务端发送的第j个响应信息的大小,j为正整数且j小于等于m。其中,所述第二预设时间段根据实际需要进行设置,本发明实施例不做限定。
92.所述服务端将下行带宽当前在线客户端数量c
on
以及单位时间内响应报文的平均值带入到预留文件下载带宽计算公式中,即可计算获得当前预留上传文件带宽上传文件带宽是预留的响应信息带宽,用于进行响应信息的传输,随着当前在线客户端数量以及响应信息的大小而发生变化,由于预留的响应信息带宽是动态变化的,预留文件下载带宽也会动态变化,先预留出响应信息的带宽,剩余的下行带宽用于客户端进行文件下载,优先保障了响应信息的发送,提高了响应信息传输的可靠性。其中,服务端的下行带宽是指服务端向客户端传输数据的带宽,服务端的下行带宽是预设的,根据实际情况进行设置,本发明实施例不做限定。其中,单位时间根据实际需要进行设置,比如设置为1秒,本发明实施例不做限定。
93.图5是本发明第五实施例提供的文件传输的控制方法的流程示意图,如图5所示,在上述各实施例的基础上,进一步地,所述文件下载请求对应的传输启动判断参数为预计下载文件总大小;相应地,所述根据所述当前预留传输带宽以及所述文件传输请求对应的传输启动判断参数,对文件传输进行控制包括:
94.s501、若判断获知所述预计下载文件总大小小于等于所述当前预留下载带宽,则响应所述文件下载请求进行文件下载;
95.具体地,所述文件下载请求对应的传输启动判断参数为预计下载文件总大小,预计下载文件总大小等于所述服务端接收到文件下载请求时正在执行的各个下载任务的剩余下载文件的大小与所述文件下载请求对应的下载文件大小之和。所述服务端将所述预计下载文件总大小与所述当前预留下载带宽进行比较,如果所述预计下载文件总大小小于等于所述当前预留下载带宽,说明可以即时进行文件下载,所述服务端会响应所述文件下载请求,使所述客户端从所述服务端下载文件。其中,在实际应用中,会限制下载的单个文件的大小小于所述当前预留下载带宽,以避免出现文件不能下载的情况。
96.s502、若判断获知所述预计下载文件总大小大于所述当前预留下载带宽,则根据所述文件下载请求生成下载任务存储到下载任务队列中。
97.具体地,如果所述预计下载文件总大小大于所述当前预留下载带宽,说明所述客户端当前不能从所述服务端下载文件,所述服务端可以根据所述文件下载请求生成下载任
务,并将生成的下载任务存储到下载任务队列中,排队等待执行。
98.下面通过具体的实施例来说明本发明实施例提供的文件传输的控制方法的具体实现过程。客户端配置web浏览器,服务端为分布式服务系统中的一台服务器,配置分布式容器。
99.web前端基于preact框架和jquery框架开发使用原生javascript在浏览器中将上传文件按base64编码格式编码。客户端向服务端上传文件时,可以以http协议post的方式发送文件或者文件分块。客户端在从服务端下载文件时,服务端可以以文件流的方式返回下载文件。
100.图6是本发明第六实施例提供的文件上传的控制方法的流程示意图,如图6所示,文件上传的控制方法的具体实现流程如下:
101.第一步、接收文件上传请求。服务端接收客户端发送的文件上传请求。
102.第二步、计算当前预留上传文件带宽。服务端根据当前在线客户端数量以及预留上传文件带宽计算公式,计算获得当前预留上传文件带宽。
103.第三步、计算当前上传阈值。服务端根据当前预留上传文件带宽以及上传阈值计算公式,计算获得上传最大并发数作为当前上传阈值。
104.第四步、判断是否上传文件。服务端获取预计上传任务数量,将预计上传任务数量与当前上传阈值进行比较,如果预计上传任务数量小于等于当前上传阈值,说明客户端可以进行文件上传,进入第五步;如果预计上传任务数量大于当前上传阈值,说明不能即时进行文件传输,服务端会为文件上传请求生成对应的上传任务,进入到第六步。
105.第五步、进行文件上传。服务端根据所述预计上传任务数量、所述预留上传文件带宽以及切块大小计算公式,计算获得切块大小,如果所述切块大小大于默认切块大小,那么向所述客户端返回携带所述切块大小的响应信息。客户端接收到上述响应信息后,如果上传文件大于切块大小,那么会按照切块大小对上传文件进行分块,然后逐个分块地将上传文件发送给服务端,服务端会逐个分块地接收上传文件并存储。如果上传文件小于切块大小,那么直接将上传文件上传到服务端。
106.第六步、添加上传任务到上传任务队列。服务端将上传任务添加到上传任务队列中,等待进行文件上传。
107.第七步、是否有上传任务完成。如果有上传任务完成,那么进入第八步;如果没有上传任务完成,那么等待正在执行的上传任务完成。
108.第八步、获取上传任务。当有上传任务完成,服务端能够判断获知正在执行的上传任务数量小于当前预留上传文件带宽对应的最大并发数,那么可以根据每个正在执行的上传任务的实际上传速率获得实际上传总速率;然后根据实际上传总速率、当前预留上传文件带宽和最小传输速率,获得上传任务启动数量;服务端可以对上传任务队列中的上传任务按照上传文件的大小由小到大进行排序,从中获得上传文件最小的上传任务启动数量个上传任务执行。
109.第九步、是否完成所有上传任务。服务端判断是否还有上传任务正在执行,如果没有上传任务正在执行,那么所有上传任务都已经完成,流程结束;如果依然存在正在执行的上传任务,那么进行执行上传任务,直到所有的上传任务完成。
110.图7是本发明第七实施例提供的文件下载的控制方法的流程示意图,如图7所示,
文件下载的控制方法的具体实现流程如下:
111.第一步、接收文件下载请求。服务端接收客户端发送的文件下载请求。
112.第二步、计算当前预留下载文件带宽。服务端根据当前在线客户端数量以及预留下载文件带宽计算公式,计算获得当前预留下载文件带宽。
113.第三步、判断是否下载文件。服务端获取预计下载文件总大小,将预计下载文件总大小与当前预留下载文件带宽进行比较,如果预计下载文件总大小小于等于当前预留下载文件带宽,说明客户端可以即时进行文件下载,进入第四步;如果预计下载文件总大小大于当前预留下载文件带宽,说明不能即时进行文件下载,服务端会为文件下载请求生成对应的下载任务,进入到第六步。
114.第四步、进行文件下载。服务端向客户端反馈下载响应信息。客户端接收到上述下载响应信息后,会从服务端下载文件。
115.第五步、添加下载任务到下载任务队列。服务端将下载任务添加到下载任务队列中,等待进行文件下载。
116.第六步、是否有下载任务完成。如果有下载任务完成,那么进入第七步;如果没有下载任务完成,那么等待正在执行的下载任务完成。
117.第七步、获取下载任务。当有下载任务完成,服务端会从下载队列中获取一个下载任务执行。从下载队列中获取下载任务可以按照任务时间顺序取出任务
118.第八步、是否完成所有下载任务。服务端判断是否还有下载任务正在执行,如果没有下载任务正在执行,那么所有下载任务都已经完成,流程结束;如果依然存在正在执行的下载任务,那么进行执行下载任务,直到所有的下载任务完成。
119.图8是本发明第八实施例提供的统计在线客户端数量的流程示意图,如图8所示,统计在线客户端数量的流程如下:
120.第一步、接收客户登录请求。服务端接收客户端发送的客户登录请求,客户登录请求可以携带用户名和密码。
121.第二步、判断是否登录成功。服务端对客户登录请求进行验证,如果用户名和密码通过验证,那么登录成功,进入到第三步;如果用户名和密码没有通过验证,那么回到第一步,等待接收下一个客户登录请求。
122.第三步、当前在线客户端数量加1。客户登录成功之后,服务端将当前在线客户端数量加1作为更新后的当前在线客户端数量。其中,当前在线客户端数量的初始值为0。
123.第四步、存储当前在线客户端数量。服务端可以将当前在线客户端数量存储到分布式缓存中。
124.第五步、判断客户登录状态是否变化。服务端可以判断客户端的登录状态是否发生变化,如果接收到客户端发送的登录退出请求或者客户端的登录超时,说明客户端的登录状态发生变化,那么进入第六步。如果客户端的登录状态没有发生变化,那么不会进行任何操作。
125.第六步、当前在线客户端数量减1。服务端将当前在线客户端数量减1作为更新后的当前在线客户端数量。
126.图9是本发明第九实施例提供的文件传输的控制装置的结构示意图,如图9所示,本发明实施例提供的文件传输的控制装置包括接收模块901、获得模块902和控制模块903,
其中:
127.接收模块901用于接收客户端发送的文件传输请求,并获取当前在线客户端数量;获得模块902用于根据所述当前在线客户端数量以及预留传输带宽获取规则,获得当前预留传输带宽;控制模块903用于根据所述当前预留传输带宽以及所述文件传输请求对应的传输启动判断参数,对文件传输进行控制。
128.具体地,客户端向接收模块901发送文件传输请求,接收模块901会接收所述文件传输请求。所述文件传输请求可以为文件上传请求或者文件下载请求,文件上传请求表明客户端要向接收模块901上传文件,文件下载请求表明客户端要从接收模块901下载文件。接收模块901在接收所述文件传输请求之后,会获取当前在线客户端数量。当前在线客户端数量即与服务端进行通信连接的客户端的数量。可理解的是,当前在线客户端数量中统计了发送文件传输请求的客户端。
129.在获得所述当前在线客户端数量之后,获得模块902基于所述在线客户端数量以及预留传输带宽获取规则,可以获得当前预留传输带宽。对于文件上传请求,获得的是当前预留上传文件带宽;对于文件下载请求,获得的是当前预留文件下载带宽。其中,所述预留传输带宽获取规则是预设的。
130.由于当前预留传输带宽的限制,同时进行的文件传输任务的数量越多,文件传输的就越慢。在有文件传输需求时,即上传文件或者下载文件,控制模块903可以根据所述当前预留传输带宽以及所述文件传输请求对应的传输启动判断参数,对文件传输进行控制,以保证高并发场景下文件的传输。其中,传输启动判断参数用于判断是否即时响应所述文件传输请求进行文件传输,所述传输启动判断参数根据实际需要进行设置,本发明实施例不做限定。
131.本发明实施例提供的文件传输的控制装置,能够接收客户端发送的文件传输请求,并获取当前在线客户端数量,根据当前在线客户端数量以及预留传输带宽获取规则,获得当前预留传输带宽,根据所述当前预留传输带宽以及所述文件传输请求对应的传输启动判断参数,对文件传输进行控制,通过预留传输带宽对文件传输进行限制,保障了业务信息的正常传输,提高了业务信息传输的可靠性。此外,通过当前预留传输带宽和传输启动判断参数对文件上传和下载进行动态控制,保证了高并发场景下文件传输的可靠性和稳定性,也提高了网络带宽的利用率。
132.在上述各实施例的基础上,进一步地,所述文件传输请求为文件上传请求;相应地,所述预留传输带宽获取规则为预留上传文件带宽获取规则,所述预留上传文件带宽获取规则,包括:
133.根据上行带宽、当前在线客户数量以及单位时间内请求报文的平均值,获得当前预留上传文件带宽。
134.图10是本发明第十实施例提供的文件传输的控制装置的结构示意图,如图10所示,在上述各实施例的基础上,进一步地,控制模块903包括获得单元9031和控制单元9032,其中:
135.获得单元9031用于根据所述当前预留上传文件带宽以及最小上传速率,获得当前上传阈值;其中,所述最小上传速率是预设的;控制单元9032根据所述文件上传请求对应的传输启动判断参数以及所述当前上传阈值,控制文件上传。
136.图11是本发明第十一实施例提供的文件传输的控制装置的结构示意图,如图11所示,在上述各实施例的基础上,进一步地,控制单元9032包括:
137.计算子单元90321用于在判断获知所述文件上传请求对应的传输启动判断参数满足所述当前上传阈值之后,根据预计上传任务数量和所述预留上传文件带宽,获得切块大小;返回子单元90322用于在判断获知所述切块大小大于默认切块大小之后,向所述客户端返回携带所述切块大小的响应信息。
138.图12是本发明第十二实施例提供的文件传输的控制装置的结构示意图,如图12所示,在上述各实施例的基础上,进一步地,控制单元9032还包括:
139.发送子单元90323用于向各个上传客户端发送文件切块更新指示信息,所述文件切块更新指示信息包括所述切块大小。
140.在上述各实施例的基础上,进一步地,控制单元9032具体用于:
141.在判断获知所述文件上传请求对应的传输启动判断参数不满足所述当前上传阈值之后,为所述文件上传请求生成对应的上传任务加入到上传任务对列中。
142.图13是本发明第十三实施例提供的文件传输的控制装置的结构示意图,如图13所示,在上述各实施例的基础上,进一步地,本发明实施例提供的文件传输的控制装置还包括第一计算模块904、第二计算模块905和选择模块906,其中:
143.第一计算模块904用于在判断获知上传任务对列不为空且正在执行的上传任务数量小于所述当前预留上传文件带宽对应的最大并发数之后,根据每个正在执行的上传任务的实际上传速率获得实际上传总速率;第二计算模块905用于根据所述实际上传总速率、所述当前预留上传文件带宽和最小传输速率,获得上传任务启动数量;选择模块906用于从所述上传任务对列中选择上传文件最小的所述上传任务启动数量个上传任务执行。
144.在上述各实施例的基础上,进一步地,所述文件传输请求为文件下载请求;相应地,所述预留传输带宽获取规则为预留文件下载带宽获取规则,所述预留文件下载带宽获取规则包括:
145.根据下行带宽、当前在线客户端数量以及单位时间内响应报文的平均值,获得当前预留文件下载带宽。
146.图14是本发明第十四实施例提供的文件传输的控制装置的结构示意图,如图14所示,在上述各实施例的基础上,进一步地,所述文件下载请求对应的传输启动判断参数为预计下载文件总大小;相应地,控制模块903包括响应单元9033和生成单元9034,其中:
147.响应单元9033用于在判断获知所述预计下载文件总大小小于等于所述当前预留下载带宽之后,响应所述文件下载请求进行文件下载;生成单元9034用于在判断获知所述预计下载文件总大小大于所述当前预留下载带宽之后,根据所述文件下载请求生成下载任务存储到下载任务队列中。
148.本发明实施例提供的装置的实施例具体可以用于执行上述各方法实施例的处理流程,其功能在此不再赘述,可以参照上述方法实施例的详细描述。
149.需要说明的是,本发明实施例提供的文件传输的控制方法及装置可用于金融领域,也可用于除金融领域之外的任意技术领域,本发明实施例对文件传输的控制方法及装置的应用领域不做限定。
150.图15是本发明第十五实施例提供的电子设备的实体结构示意图,如图15所示,该
电子设备可以包括:处理器(processor)1501、通信接口(communications interface)1502、存储器(memory)1503和通信总线1504,其中,处理器1501,通信接口1502,存储器1503通过通信总线1504完成相互间的通信。处理器1501可以调用存储器1503中的逻辑指令,以执行如下方法:接收客户端发送的文件传输请求,并获取当前在线客户端数量;根据所述当前在线客户端数量以及预留传输带宽获取规则,获得当前预留传输带宽;根据所述当前预留传输带宽以及所述文件传输请求对应的传输启动判断参数,对文件传输进行控制。
151.此外,上述的存储器1503中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
152.本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:接收客户端发送的文件传输请求,并获取当前在线客户端数量;根据所述当前在线客户端数量以及预留传输带宽获取规则,获得当前预留传输带宽;根据所述当前预留传输带宽以及所述文件传输请求对应的传输启动判断参数,对文件传输进行控制。
153.本实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储计算机程序,所述计算机程序使所述计算机执行上述各方法实施例所提供的方法,例如包括:接收客户端发送的文件传输请求,并获取当前在线客户端数量;根据所述当前在线客户端数量以及预留传输带宽获取规则,获得当前预留传输带宽;根据所述当前预留传输带宽以及所述文件传输请求对应的传输启动判断参数,对文件传输进行控制。
154.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
155.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
156.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或
多个方框中指定的功能。
157.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
158.在本说明书的描述中,参考术语“一个实施例”、“一个具体实施例”、“一些实施例”、“例如”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
159.以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

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

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

相关文献