CN116366638A - 数据传输方法、装置、电子设备及存储介质 - Google Patents
数据传输方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116366638A CN116366638A CN202310440729.XA CN202310440729A CN116366638A CN 116366638 A CN116366638 A CN 116366638A CN 202310440729 A CN202310440729 A CN 202310440729A CN 116366638 A CN116366638 A CN 116366638A
- Authority
- CN
- China
- Prior art keywords
- current
- concurrency
- transmission
- target file
- maximum
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 247
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000012545 processing Methods 0.000 claims description 18
- 238000012546 transfer Methods 0.000 claims description 5
- 230000005059 dormancy Effects 0.000 claims description 2
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 238000004364 calculation method Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000011217 control strategy Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000007958 sleep Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/303—Terminal profiles
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请提供一种数据传输方法、装置、电子设备及存储介质,可用于金融领域或其他领域。该方法包括:服务器接收来自客户端的数据传输请求,并判断当前实际并发度是否等于当前最大并发度,若当前实际并发度小于当前最大并发度,将当前实际并发度增加1,并按照当前单会话最大传输速度进行目标文件的限速传输,当目标文件传输结束时,将当前实际并发度减去1。本申请实施例提供的方法,有利于均衡各个数据传输请求所占用的网络带宽资源,避免出现少部分请求占用大部分带宽资源的情况,有利于提升用户体验,也有利于实现网络带宽资源的合理化利用。
Description
技术领域
本申请涉及金融领域或其他领域,尤其涉及一种数据传输方法、装置、电子设备及存储介质。
背景技术
通常企业内部跨地域网络带宽资源有限,一般情况下多个IT(InternetTechnology,互联网技术)系统共用这部分网络资源,为了避免单一IT系统在进行跨地域大量文件传输时占用过多网络带宽资源,而导致其他IT系统不可用,需要在具有大文件传输需求的IT系统上进行传输速度控制,以保证其他IT系统的可用性。
现有技术中通常通过使用网络设备为各个IT系统分配带宽资源的方式进行传输速度的控制,虽然可以保证各IT系统可用,但是其控制粒度较粗,仅能实现对单个IT系统总体传输速度控制,若网络设备预先分配的网络资源控制策略不合理,将较多的带宽资源分配给了当前会话量、数据传输量较少的IT系统,就会导致当前会话量、数据传输量较多的其他IT系统流畅度降低,用户体验也会较差,同时网络资源的利用率也较低。
发明内容
本申请提供一种数据传输方法、装置、电子设备及存储介质,用以解决现有技术中网络设备不能合理分配网络带宽资源而造成的网络资源利用率不高的技术问题。
第一方面,本申请提供一种数据传输方法,应用于服务器,所述方法包括:接收来自客户端的数据传输请求,所述数据传输请求用于请求传输目标文件;判断当前实际并发度是否等于当前最大并发度,所述并发度为所述服务器同时处理的数据传输请求的数量;若当前实际并发度小于当前最大并发度,将当前实际并发度增加1,并按照当前单会话最大传输速度进行所述目标文件的限速传输;当所述目标文件传输结束时,将当前实际并发度减去1。
第二方面、本申请提供一种数据处理装置,包括:收发模块,用于接收来自客户端的数据传输请求,所述数据传输请求用于请求传输目标文件;处理模块,用于判断当前实际并发度是否等于当前最大并发度,所述并发度为所述装置同时处理的数据传输请求的数量;以及,若当前实际并发度小于当前最大并发度,将当前实际并发度增加1,并按照当前单会话最大传输速度进行所述目标文件的限速传输;当所述目标文件传输结束时,将当前实际并发度减去1。
第三方面,本申请提供一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器;存储器存储计算机执行指令;处理器执行存储器存储的计算机执行指令,以实现第一方面所述的方法。
第四方面,本申请提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现第一方面所述的方法。
第五方面,本申请提供一种计算机程序产品,计算机程序产品包括:计算机程序(也可以称为代码,或指令),当计算机程序被运行时,使得计算机执行上述第一方面
本申请提供的一种数据传输方法、装置、电子设备及存储介质。该方法包括:服务器接收来自客户端的数据传输请求,并判断当前实际并发度是否等于当前最大并发度,若当前实际并发度小于当前最大并发度,将当前实际并发度增加1,并按照当前单会话最大传输速度进行目标文件的限速传输,当目标文件传输结束时,将当前实际并发度减去1。本申请实施例提供的方法,通过控制服务器当前实际并发度,使其不超过当前最大并发度,同时以当前单会话最大传输速度对目标文件进行限速传输,保证了单一会话不会占用过多的网络带宽资源,使得各个会话均能以不超过当前单会话最大传输速度的最高平均速度进行目标文件的传输,有利于均衡各个数据传输请求所占用的网络带宽资源,避免出现少部分请求占用大部分带宽资源的情况,有利于提升用户体验,也有利于实现网络带宽资源的合理化利用。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请适用的应用场景示意图;
图2为本申请实施例提供的一种数据传输方法的示意性流程图;
图3为本申请实施例提供的另一种数据传输方法的示意性流程图;
图4为本申请实施例提供的又一种数据传输方法的示意性流程图;
图5为本申请实施例提供的一种数据传输方法的示意性流程图;
图6为本申请实施例提供的一种数据传输装置的示意性框图;
图7为本申请实施例提供的一种电子设备的示意性框图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
需要说明的是,本申请提供的一种数据传输方法、装置、电子设备及存储介质可用于金融领域,也可用于除金融领域之外的任意领域,本申请对应用领域不做限定。
网络带宽是指在单位时间内能传输的数据量。网络和高速公路类似,带宽越大,就类似高速公路的车道越多,其通行能力越强。通常企业内部跨地域网络带宽资源是有限的,且在一般情况下会存在多个IT系统共用这部分网络资源。为了避免某一个IT系统在进行跨地域大量文件传输时占用过多网络带宽资源,而导致其他IT系统不可用,需要在具有大文件传输需求的IT系统上进行传输速度控制,以保证其他IT系统的可用性。
现有技术中利用网络设备为各个IT系统预分配带宽资源,并以此限制各个IT系统的传输速度。此种方式虽然可以保证各IT系统可用,但是其控制粒度较粗,仅能实现对单个IT系统总体传输速度控制,若网络设备预先设置的带宽资源分配策略不合理,将较多的带宽资源分配给了当前会话量、数据传输量较少的IT系统,就会导致当前会话量、数据传输量较多的其他IT系统流畅度降低,用户体验也会较差,同时网络资源的利用率也较低。
有鉴于此,本申请提出了一种数据传输方法,监测服务器当前并发度,并根据实际总带宽资源计算并控制单一会话传输速度,实现会话级的传输速度控制,合理使用网络带宽资源,提升用户体验。
图1为本申请适用的应用场景100的示意图。如图1所示,该应用场景100中包括服务器101、客户端102、客户端103和客户端104。服务器101和客户端102、客户端103和客户端104之间可以基于网络连接实现通信,服务器101为提供客户端多个应用服务,客户端102、客户端103和客户端104可以向服务器101上传数据或者从服务器101下载数据。
可选地,客户端可以是电脑、平板、智能手机、智能穿戴设备,也可以是任意可以基于网络连接与服务器101进行通信的其他设备。图1中示出的客户端形态和数量仅是示例性的,在具体实现中,客户端可以是其他任意形态,客户端数量也可以比图1中示出的更多或更少,本申请对此不作具体限定。
可选地,服务器101可以是一个也可以是多个,可以集中配置在同一地点,也可以分布式配置于不同地点,本申请对此也不作具体限定。但需要注意的是,服务器101不论配置了一个还是多个,其职能是相同的,在配置多个服务器时,客户端发起的请求可以基于负载均衡策略分配给相应的服务器进行处理。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图2为本申请实施例提供的一种数据传输方法200的示意性流程图。该数据传输方法200可应用于如图1所示的场景,该方法200中的对应步骤可以由图1中的服务器执行,本实施例对于执行主体的具体产品形态和数量不作具体限制。如图2所示,该方法包括:
S201、接收来自客户端的数据传输请求,数据传输请求用于请求传输目标文件。
应理解,服务器为客户端提供一种或多种的应用服务,服务器接收到的来自客户端的数据传输请求可以是用于请求向服务器上传数据文件,也可以是用于请求从服务器下载数据文件,上述目标文件为客户端请求上传的文件或者请求下载的文件。
S202、判断当前实际并发度是否等于当前最大并发度,并发度为服务器同时处理的数据传输请求的数量。
应理解,这里所说的服务器同时处理的数据传输请求的数量,指的是已经在进行数据传输的请求对应的会话数量,并不是指所有接收到的请求的数量。服务器在接收到来自客户端的数据传输请求后,还需要先判断当前实际并发度是否等于当前最大并发度,根据当前实际并发度与当前最大并发度的比较情况,才能决定是否对该数据传输请求进行传输处理。
上述“当前实际并发度”指的是服务器当前实际正在同时处理的数据传输请求的数量,“当前最大并发度”指的是服务器当前允许同时处理的数据传输请求的最大数量。
S203、若当前实际并发度小于当前最大并发度,将当前实际并发度增加1,并按照当前单会话最大传输速度进行目标文件的限速传输。
应理解,若当前实际并发度小于当前最大并发度,则代表服务器当前实际正在同时处理的数据传输请求的数量没有达到最大数量的限度,允许对当前时刻接收到的该数据传输请求进行数据传输处理将不会对其余正在进行的会话产生影响。若当前实际并发度为N,则在判断出当前实际并发度小于当前最大并发度时,将当前实际并发度增加1即N=N+1,并以当前单会话最大传输速度为最高平均限速进行目标文件的限速传输。
S204、当目标文件传输结束时,将当前实际并发度减去1。
当服务器检测到目标文件传输结束的标识时,将服务器与客户端之间对应的请求连接释放,即服务器当前实际正在同时处理的数据传输请求的数量减1,当前实际并发度N=N-1。
在一种可能的实现方式中,若服务器接收到的来自客户端的数据传输请求是用于向服务器上传目标文件,则在目标文件传输结束后,客户端会向服务器发送目标文件传输结束标识,服务器基于接收到的该标识判断出目标文件传输结束。
在另一种可能的实现方式中,若服务器接收到的来自客户端的数据传输请求是用于从服务器下载目标文件,则服务器可以通过检测所传输的目标文件中包含的数据结束标志位来判断目标文件传输是否结束,当检测到该数据结束标志位出现则可认为目标文件传输结束。
在本申请实施例中,服务器接收来自客户端的数据传输请求,并判断当前实际并发度是否等于当前最大并发度,若当前实际并发度小于当前最大并发度,将当前实际并发度增加1,并按照当前单会话最大传输速度进行目标文件的限速传输,当目标文件传输结束时,将当前实际并发度减去1。本申请实施例提供的方法,通过控制服务器当前实际并发度,使其不超过当前最大并发度,同时以当前单会话最大传输速度对目标文件进行限速传输,保证了单一会话不会占用过多的网络带宽资源,使得各个会话均能以不超过当前单会话最大传输速度的最高平均速度进行目标文件的传输,有利于均衡各个数据传输请求所占用的网络带宽资源,避免出现少部分请求占用大部分带宽资源的情况,有利于提升用户体验,也有利于实现网络带宽资源的合理化利用。
作为一个可选的实施例,当前最大并发度和当前单会话最大传输速度的确定方法包括:基于当前实际并发度、当前等待线程数以及预设参数,计算当前最大并发度;基于当前最大并发度和总带宽,计算当前单会话最大传输速度。
在一种可能的实现方式中,可以基于当前实际并发度N、当前等待线程数W以及预设参数Y,通过下述公式(1),计算当前最大并发度M。
M=(N+W)/Y (1)
可选地,预设参数Y可以是0.8,以代表预留20%的并发度,本申请对预设参数Y的取值不作具体限定。
在一种可能的实现方式中,当前单会话最大传输速度的确定方法包括:基于当前最大并发度M和总带宽,通过下述公式(2),计算当前单会话最大传输速度S。
S=总带宽/M(2)
上式(2)中,总带宽指的是,服务器与客户端之间数据传输所能使用的总的网络带宽资源,代表了单位时间内允许传输的最大数据量。具体实施时,具体的总带宽数据可以从相应的网络运营商购买获得,例如可以是100Mbps(Megabyte Bit Per Second,百万字节比特率),代表每秒内允许传输的数据量为100M bit,也代表每秒传输的数据量为100/8=12.5MB(M Byte,兆),其中,1Byte包含8bit。
图3为本申请实施例提供的另一种数据传输方法300的示意性流程图。在上述图2实施例的基础上,该方法还包括:
S301、若当前实际并发度等于当前最大并发度,将当前等待线程数增加1。
S302、在预设时间段后,将当前等待线程数减去1,并继续执行S202~S203~S204,或者,继续循环S202~S301~S302直至可以执行S203~S204。
应理解,服务器已经接收到自客户端的数据传输请求,但由于当前实际并发度已经达到了当前最大并发度,故而服务器当前还未对该请求进行目标文件的传输处理,此部分请求需要进入等待线程等待,进入等待线程的请求数量即为当前等待线程数。
上述预设时间段为服务器接收到的数据传输请求在等待线程中停留的时间,等待一个预设时间段后,将当前等待线程数减去1,即当前等待线程数W=W-1,然后继续判断当前实际并发度是否等于当前最大并发度,直至当前实际并发度小于当前最大并发度,则当前实际并发度N=N+1,并按照当前单会话最大传输速度进行目标文件的限速传输。
在一种可能的实现方式中,若等待一个预设时间段后,当前实际并发度仍等于当前最大并发度,则可以针对该请求返回一个消息,以提醒用户选择再次发起该请求还是放弃该请求。这样设置可以用户在等待一个预设时间段后就能及时得到反馈,有利于提升用户体验。
图4为本申请实施例提供的一种数据传输方法400的示意性流程图。上述图2和图3实施例中,S203和S303中按照当前单会话最大传输速度进行目标文件的限速传输的一种可能的实现方式包括:
S401、在第一时间段内,以第一传输速度进行目标文件的限速传输,第一传输速度为第一时刻的单会话最大传输速度。
S402、(当第一时间段结束时)判断目标文件是否传输结束,若未结束则执行S403;若结束,则执行S204。
S403、若目标文件未传输结束,在第二时间段内,以第二传输速度进行目标文件的剩余数据的限速传输,第二传输速度为第二时刻的单会话最大传输速度。
在一种可能的实现方式中,第一时间段为判断目标文件是否传输结束的一个时间周期。第一时刻为该目标文件开始传输的时刻,在该目标文件开始传输的第一时刻,服务器会实时计算当前单会话最大传输速度,即第一时刻的单会话最大传输速度。根据第一时刻的单会话最大传输速度,确定传输该目标文件的第一传输速度,使用第一传输速度对目标文件进行传输时,其单位之间的传输的最大数据量不能超过第一时刻的单会话最大传输速度在该单位时间内能传输的最大数据量,即第一传输速度可以认为是单位时间内的平均速度,并不限制单位时间内每个时刻的最大速度。可选地,服务器会实时计算当前单会话最大传输速度的周期可以是秒级,对于骤时访问量巨大的服务器,可以设置为毫秒级,以保证单会话最大传输速度的精度,达到实时、精准控制单会话传输速度的目的。
上述第一时间段结束后,若目标文件还未传输结束,则需要继续对该目标文件进行传输,即进入第一时间段之后的第二时间段,此时对应的当前单会话最大传输速度发生了变化,需要重新获取当前时刻对应的单会话最大传输速度,即第二时刻的单会话最大传输速度,并通过与第二时刻的单会话最大传输速度对应的第二传输速度来对目标文件进行限速传输。第二时刻为第一时间段结束后的紧接着的下一时刻也就是第二时间段的第一个时刻。若第二时间段结束后,目标文件仍未传输完成,则可以继续下一个时间段的限速传输,直至目标文件传输结束。示例性地,若第一时间段为5秒,则第一时刻为第1秒,第二时刻为第6秒。
在另一种可能的实现方式中,服务器还可以以一个预设周期来周期性的计算当前单会话最大传输速度,这样,第一时刻的单会话最大传输速度和第二时刻的单会话最大传输速度可能相同。示例性地,计算当前单会话最大传输速度的预设周期为10秒,在10点10分0秒时进行了一次计算,得到当前单会话最大传输速度5Mbps;判断目标文件是否传输结束的一个时间周期为5秒,在10点10分2秒的时刻开始对目标文件进行传输,第一时刻即为10点10分2秒,此时对应的当前单会话最大传输速度为服务器在在10点10分0秒时计算出的5Mbps,以5Mbps为以秒为单位的最高限速传输5秒时,即10点10分6秒时目标文件还未传输结束,还需要继续对该目标文件进行传输,即进入下一个判断目标文件是否传输结束周期,即第二时间段,第二时刻即为10点10分7秒,此时,距离上一次计算当前单会话最大传输速度过去7秒,还未对在10点10分0秒计算的单会话最大传输速度再次进行计算,所以在第二时刻,服务器仍以与第一时刻相同的单会话最大传输速度确定第二传输速度,以继续对目标文件进行限速传输。若计算当前单会话最大传输速度的预设周期内服务器的请求数量很少(其请求数量小于一个预设阈值)时,周期性对当前单会话最大传输速度可以节约服务器的算力同时,同时也不影响用户体验。
图5为本申请实施例提供的一种数据传输方法500的示意性流程图。在上述图4实施例中,以第一传输速度进行目标文件的限速传输的一种可能的实现方式包括:
501、将第一传输速度的取值确定为每秒传输的数据量。
502、从目标文件中读取该数据量对应的数据进行传输,直至该数据传输结束。
503、判断目标文件是否传输结束,若是,则释放该连接;若否,则执行S504。
504、判断传输耗时是否小于1秒;若否,则返回继续执行S501及后续步骤;若是,则执行S505。
505、则休眠第三时间段,第三时间段的时长1秒减去传输耗时得到的对应时长;休眠结束后返回继续执行S501及后续步骤。
示例性地,若第一传输速度为40Mbps,则第一时间段内每秒允许传输的最大数据量为5MB,从目标文件中读取5MB大小的数据,以第一传输速度进行该数据的传输,在5MB的该数据传输结束、且目标文件未传输结束的情况下,确定传输5MB的该数据的传输耗时,若传输耗时X小于1秒,则代表在不到一秒的时间里已经传输了5MB的数据量,继续进行数据传输就会超出第一传输速度对应的数据量(5MB)限制,故而该目标文件对应的传输连接休眠(1-X)秒,上述第三时段即为(1-X)秒。
应理解,第一传输速度可以认为是单位时间内的平均速度,并不限制单位时间内每个时刻的最大速度。也就是说,单位时间为1秒时,在这一秒内允许某个毫秒的瞬时第一传输速度超过单会话最大传输速度,只要1秒内所传输的数据量不超出第一时刻的单会话最大传输速度对应的数据量,即认为实现了限速传输。
本实施例提供的方法,通过对单个请求对应的目标文件的传输速度进行限速控制,实现了会话级的网络带宽控制,提高了网络资源的利用率。
图6为本申请实例提供的一种数据传输装置600的示意性框图。如图5所示,该装置600包括:收发模块601和处理模块602。其中,收发模块601,用于接收来自客户端的数据传输请求,数据传输请求用于请求传输目标文件;处理模块602,用于判断当前实际并发度是否等于当前最大并发度,并发度为该装置同时处理的数据传输请求的数量;以及,若当前实际并发度小于当前最大并发度,将当前实际并发度增加1,并按照当前单会话最大传输速度进行目标文件的限速传输;当目标文件传输结束时,将当前实际并发度减去1。
可选地,处理模块602还用于:若当前实际并发度等于当前最大并发度,将当前等待线程数增加1;以及,在预设时间段后,将当前等待线程数减去1,并判断当前实际并发度是否等于当前最大并发度;若当前实际并发度小于当前最大并发度,将当前实际并发度增加1,并按照当前单会话最大传输速度进行目标文件的限速传输。
可选地,处理模块602还用于:若当前实际并发度等于当前最大并发度,将当前等待线程数增加1。
可选地,处理模块602具体用于:在第一时间段内,以第一传输速度进行目标文件的限速传输,第一传输速度为第一时刻的单会话最大传输速度;当第一时间段结束时,判断目标文件是否传输结束;以及,若目标文件未传输结束,在第二时间段内,以第二传输速度进行目标文件的剩余数据的限速传输,第二传输速度为第二时刻的单会话最大传输速度。
可选地,处理模块602具体用于:将第一传输速度的取值确定为每秒传输的数据量;从目标文件中读取数据量对应的数据进行传输;在数据量对应的数据传输结束、且目标文件未传输结束的情况下,确定数据量对应的数据的传输耗时;判断传输耗时是否小于1秒;若传输耗时小于1秒,则休眠第三时间段,第三时间段的时长为1秒减去传输耗时得到的对应时长。
可选地,处理模块602还用于:基于当前实际并发度、当前等待线程数以及预设参数,计算当前最大并发度;以及,基于当前最大并发度和总带宽,计算当前单会话最大传输速度。
在一种可能的实现方式中,本申请提供的数据传输装置可以包括:数据传输模块、流控计算模块、流量控制模块、分布式缓存模块和文件存储模块。其中,数据传输模块用于实现服务器与客户端之间的数据传输;流控计算模块用于基于当前实际并发度、当前等待线程数以及预设参数,计算当前最大并发度;以及,基于当前最大并发度和总带宽,计算当前单会话最大传输速度;流量控制模块用于依据“传输速度计算模块”计算的当前最大并发度和当前单会话最大传输速度控制当前实际并发度和目标文件的传输速度;分布式缓存模块用于存储当前最大并发度和当前单会话最大传输速度;文件存储模块用于存储目标文件。
可选地,在配置有多个服务器的场景中,分布式缓存模块的缓存内容可由多个服务器共享,以实现整体的传输速度控制。
应理解,本领域技术人员可按需对数据传输装置中的各个模块功能进行调整,本申请对此不作具体限定。
本申请实施例提供的一种数据处理装置,可用于实现前述任一方法实施例中的技术方案,其实现原理和技术效果类似,在此不再赘述。
图7为本申请实施例提供的一种电子设备700的示意性框图。如图7所示,图7所示的电子设备包括:处理器701和存储器702。其中,处理器701和存储器702相连,如通过总线704相连。可选地,电子设备还可以包括收发器703。需要说明的是,实际应用中收发器不限于一个,该电子设备的结构并不构成对本申请实施例的限定。电子设备700可以具体为上述实施例中的服务器,并且可以用于执行上述方法实施例中与服务器对应的每个步骤和/或流程。
处理器701可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器701也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线704可包括一通路,在上述组件之间传送信息。总线704可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线704可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线704或一种类型的总线704。
存储器702可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
存储器702用于存储执行本申请方案的应用程序代码,并由处理器701来控制执行。处理器701用于执行存储器702中存储的应用程序代码,以实现前述方法实施例所示的内容。图7示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
本申请提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机执行指令,该计算机执行指令被执行时用于实现上述方法实施例中任一技术方案。
本申请还提供了一种计算机程序产品,该计算机程序产品包括计算机程序(也可以称为代码,或指令),当该计算机程序在计算机上运行时,该计算机可以执行上述方法实施例中的相应内容。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。
Claims (10)
1.一种数据传输方法,其特征在于,应用于服务器,所述方法包括:
接收来自客户端的数据传输请求,所述数据传输请求用于请求传输目标文件;
判断当前实际并发度是否等于当前最大并发度,所述并发度为所述服务器同时处理的数据传输请求的数量;
若当前实际并发度小于当前最大并发度,将当前实际并发度增加1,并按照当前单会话最大传输速度进行所述目标文件的限速传输;
当所述目标文件传输结束时,将当前实际并发度减去1。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若当前实际并发度等于当前最大并发度,将当前等待线程数增加1;
在预设时间段后,将当前等待线程数减去1,并判断当前实际并发度是否等于当前最大并发度;
若当前实际并发度小于当前最大并发度,将当前实际并发度增加1,并按照当前单会话最大传输速度进行所述目标文件的限速传输。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若当前实际并发度等于当前最大并发度,将当前等待线程数增加1。
4.根据权利要求1所述的方法,其特征在于,所述按照当前单会话最大传输速度进行所述目标文件的限速传输,包括:
在第一时间段内,以第一传输速度进行所述目标文件的限速传输,所述第一传输速度为第一时刻的单会话最大传输速度;
当所述第一时间段结束时,判断所述目标文件是否传输结束;
若所述目标文件未传输结束,在第二时间段内,以第二传输速度进行所述目标文件的剩余数据的限速传输,所述第二传输速度为第二时刻的单会话最大传输速度。
5.根据权利要求4所述的方法,其特征在于,所述以第一传输速度进行所述目标文件的限速传输,包括:
将所述第一传输速度的取值确定为每秒传输的数据量;
从所述目标文件中读取所述数据量对应的数据进行传输;
在所述数据量对应的数据传输结束、且所述目标文件未传输结束的情况下,确定所述数据量对应的数据的传输耗时;
判断所述传输耗时是否小于1秒;
若所述传输耗时小于1秒,则休眠第三时间段,所述第三时间段的时长为1秒减去所述传输耗时得到的对应时长。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述方法还包括:
基于当前实际并发度、当前等待线程数以及预设参数,计算当前最大并发度;
基于所述当前最大并发度和总带宽,计算当前单会话最大传输速度。
7.一种数据处理装置,其特征在于,包括:
收发模块,用于接收来自客户端的数据传输请求,所述数据传输请求用于请求传输目标文件;
处理模块,用于判断当前实际并发度是否等于当前最大并发度,所述并发度为所述装置同时处理的数据传输请求的数量;以及,若当前实际并发度小于当前最大并发度,将当前实际并发度增加1,并按照当前单会话最大传输速度进行所述目标文件的限速传输;当所述目标文件传输结束时,将当前实际并发度减去1。
8.根据权利要求7所述的装置,其特征在于,所述处理模块还用于:
若当前实际并发度等于当前最大并发度,将当前等待线程数增加1;
在预设时间段后,将当前等待线程数减去1,并判断当前实际并发度是否等于当前最大并发度;
若当前实际并发度小于当前最大并发度,将当前实际并发度增加1,并按照当前单会话最大传输速度进行所述目标文件的限速传输。
9.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1至5任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至5任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310440729.XA CN116366638A (zh) | 2023-04-21 | 2023-04-21 | 数据传输方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310440729.XA CN116366638A (zh) | 2023-04-21 | 2023-04-21 | 数据传输方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116366638A true CN116366638A (zh) | 2023-06-30 |
Family
ID=86922162
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310440729.XA Pending CN116366638A (zh) | 2023-04-21 | 2023-04-21 | 数据传输方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116366638A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116860300A (zh) * | 2023-09-01 | 2023-10-10 | 武汉理工大学 | 面向多子网多ecu的车载ota并行升级方法及系统 |
CN116896550A (zh) * | 2023-09-11 | 2023-10-17 | 东莞信宝电子产品检测有限公司 | 一种降低服务器压力的软件更新方法、系统和存储介质 |
-
2023
- 2023-04-21 CN CN202310440729.XA patent/CN116366638A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116860300A (zh) * | 2023-09-01 | 2023-10-10 | 武汉理工大学 | 面向多子网多ecu的车载ota并行升级方法及系统 |
CN116860300B (zh) * | 2023-09-01 | 2023-11-28 | 武汉理工大学 | 面向多子网多ecu的车载ota并行升级方法及系统 |
CN116896550A (zh) * | 2023-09-11 | 2023-10-17 | 东莞信宝电子产品检测有限公司 | 一种降低服务器压力的软件更新方法、系统和存储介质 |
CN116896550B (zh) * | 2023-09-11 | 2023-11-21 | 东莞信宝电子产品检测有限公司 | 一种降低服务器压力的软件更新方法、系统和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116366638A (zh) | 数据传输方法、装置、电子设备及存储介质 | |
US11601512B2 (en) | System and method for throttling service requests having non-uniform workloads | |
CN109766182B (zh) | 系统资源动态扩缩容方法、装置、计算机设备及存储介质 | |
US9419904B2 (en) | System and method for throttling service requests using work-based tokens | |
CN108667748B (zh) | 一种控制带宽的方法、装置、设备和存储介质 | |
CN110673948B (zh) | 一种云游戏资源调度方法、服务器及存储介质 | |
CN105227489B (zh) | 一种带宽管理方法及电子设备 | |
CN109151070B (zh) | 基于区块链的点对点cdn的服务调度方法、电子装置 | |
CN110633143A (zh) | 一种云游戏资源调度方法、服务器及存储介质 | |
WO2015014176A1 (en) | Method, device, scheduling server and system for network allocation | |
US20230342207A1 (en) | Graphics processing unit resource management method, apparatus, and device, storage medium, and program product | |
WO2020259208A1 (zh) | 内存调度方法、装置、设备及存储介质 | |
CN111147395A (zh) | 一种网络资源调整方法及装置 | |
CN112600761A (zh) | 一种资源分配的方法、装置及存储介质 | |
US20140359182A1 (en) | Methods and apparatus facilitating access to storage among multiple computers | |
RU2632420C1 (ru) | Способ обработки данных и устройство, используемое для приложения терминала | |
CN115858184A (zh) | 一种rdma内存管理方法、装置、设备及介质 | |
US10630602B1 (en) | Resource allocation using restore credits | |
US11709707B2 (en) | Low latency distributed counters for quotas | |
CN113486042B (zh) | 数据处理方法、装置、计算机可读介质及电子设备 | |
US11201828B2 (en) | Stream allocation using stream credits | |
CN113032410A (zh) | 数据处理方法、装置、电子设备及计算机存储介质 | |
CN106131187B (zh) | 一种授权的控制方法及装置 | |
CN117519956A (zh) | 资源配额确定方法、装置、计算设备及介质 | |
KR20160018204A (ko) | 전자 장치, 온 칩 메모리 장치 및 온 칩 메모리의 운영 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |