CN106921593B - 用于数据发送、限制发送进程占用带宽的方法和装置 - Google Patents
用于数据发送、限制发送进程占用带宽的方法和装置 Download PDFInfo
- Publication number
- CN106921593B CN106921593B CN201511001289.XA CN201511001289A CN106921593B CN 106921593 B CN106921593 B CN 106921593B CN 201511001289 A CN201511001289 A CN 201511001289A CN 106921593 B CN106921593 B CN 106921593B
- Authority
- CN
- China
- Prior art keywords
- data
- sending
- time
- sent
- log
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/78—Architectures of resource allocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供了一种用于数据发送的方法,包括:获取针对同一发送进程的待发送的至少两个数据;按照每次发送单个数据且相邻两次发送的等待间隔时间依次增大的方式,分别发送各个所述数据直至全部所述数据发送完毕。本申请的技术方案解决了单个数据发送进程占满网络带宽可能饿死其他数据发送进程的问题、以及因数据发送进程造成的网络带宽占用骤升骤降的问题。本申请尤其适用于多个数据发送进程共享一个网络资源、个别数据发送进程可能把网络资源占满的环境。本申请还提供了一种用于数据发送的装置和电子设备,一种限制发送进程占用带宽的方法和装置,以及一种用于主数据库和备份数据库之间发送日志数据的方法和装置。
Description
技术领域
本申请涉及计算机网络通讯技术领域,具体涉及用于数据发送的方法、装置和电子设备;相应于上述方法,本申请同时涉及限制发送进程占用带宽的方法和装置以及用于主数据库和备份数据库之间发送日志数据的方法和装置。
背景技术
在计算机网络通讯领域,在多个数据发送进程共享一个网络资源的情况下,个别数据发送进程可能把网络资源占满导致其他数据发送进程无法进行发送。例如在某实例中,在一个物理计算机上部署有多个数据库,存在多个数据库的多个数据发送进程同时向部署在其他物理计算机的其他数据库发送日志数据的要求。而一个物理计算机的网卡带宽是一定的,如果某一个数据库的数据发送进程的发送量暴增,可能会出现一个数据发送进程占满网卡带宽、其他数据发送进程无法发送的情况。
现有技术的解决方法是当一个数据发送进程占满全部带宽,则让其他的数据发送进程开始等待,直到这个数据发送进程全部发送完成后再开始其他数据发送进程的发送;或者是立刻禁止这个数据发送进程的发送和带宽占用,让其他数据发送进程进行正常发送。
现有技术的缺陷在于当某一个数据发送进程占满带宽时,其他数据发送进程有可能因等待时间过长而饿死;或者因某一个数据发送进程发送的数据量突然增大和某一个数据发送进程的被突然禁止,造成的网络带宽占用的骤升和骤降,从而导致系统不稳定。例如在上述实例中,布置在不同物理机上的主数据库和备份数据库之间要求日志数据备份必须具有一定时效性的情况下,如果在一个物理机上的一个日志发送进程占满带宽,其他日志发送进程则需要等待,如其他日志发送进程等待时间过长、无法及时发送日志数据,将无法满足数据库备份日志数据时效性的要求;或者立刻禁止这个占满带宽的日志发送进程,则可能因这个日志发送进程的突然中断造成带宽占用的骤降,从而导致系统不稳定。
发明内容
本申请提供用于数据发送的方法,解决了单个数据发送进程占满网络带宽可能饿死其他数据发送进程的问题,和一个数据发送进程的数据发送量突然增大和独占网络带宽的数据发送进程被突然禁止造成的网络带宽占用骤升和骤降,从而导致系统不稳定的问题。本申请另外提供限制发送进程占用带宽的方法。本申请尤其适用于多个数据发送进程共享一个网络资源、个别数据发送进程可能把网络资源占满的环境。
本申请提供一种用于数据发送的方法,包括:
获取针对同一发送进程的待发送的至少两个数据;
按照每次发送单个数据且相邻两次发送的等待间隔时间依次增大的方式,分别发送各个所述数据直至全部所述数据发送完毕。
可选的,所述获取针对同一发送进程的待发送的至少两个数据,具体为:获取针对同一发送进程的待发送的至少两个大小相同的数据。
可选的,所述同一数据发送进程的待发送的至少两个数据的大小,是根据所述数据发送进程的要求,网络资源最大带宽,数据发送的预定限制带宽和同时发送数据的预定限制数量确定的。
可选的,每次发送单个数据都是使用最大网络可用速度来发送的。
可选的,所述相邻两次发送的等待时间间隔依次增大的方式为等差递增的方式。
可选的,所述相邻两次发送的等待时间间隔依次增大的方式为等差递增的方式包括:
所述等差递增的方式为以首项为零、数据发送序数和预定公差的积来确定的等差递增的方式。
可选的,所述预定公差是根据网络资源最大带宽、数据发送的预定限制带宽、以及数据发送占用网络带宽的预定平稳程度来计算并调整确定的。
可选的,所述相邻两次发送的时间间隔依次增大的方式为等比递增的方式。
可选的,所述相邻两次发送的时间间隔依次增大的方式为等比递增的方式包括:
所述时间间隔的第一项为零,第二项起是一个等比递增的数列。
可选的,所述分别发送各个所述数据直至全部所述数据发送完毕,是按照获取所述数据的时间先后来顺序来分别发送所述数据直至全部所述数据发送完毕的。
可选的,所述按照每次发送单个数据且相邻两次发送的等待时间间隔依次增大的方式,分别发送各个所述数据直至全部所述数据发送完毕,包括:
获取当前时间作为初始时间;
发送一个所述数据;
待所述数据发送完毕之后,等待相应的时间间隔;
再次获取当前时间作为比较时间;确定所述比较时间与所述初始时间的差值是否小于一个预定检测时间段;
若是,则返回执行所述发送一个所述数据的步骤;
若否,则重置所述时间间隔,返回执行所述获取当前时间作为初始时间的步骤。
可选的,所述预定检测时间段的时长,是根据数据发送占用网络带宽的预定平稳程度来确定的。
可选的,所述确定所述比较时间与所述初始时间的差值是否小于一个预定检测时间段;若是,则返回执行所述发送一个所述数据的步骤;包括:
确定所述比较时间与所述初始时间的差值是否小于一个预定检测时间段;若是,则判断实际已发送所述数据的大小是否超过一个预定阈值;
若是,则重置所述时间间隔,返回执行所述获取当前时间作为初始时间的步骤;
若否,则返回执行所述发送一个所述数据的步骤。
可选的,所述确定所述比较时间与所述初始时间的差值是否小于一个预定检测时间段;若是,则返回执行所述发送一个所述数据的步骤;包括:
确定所述比较时间与所述初始时间的差值是否小于一个预定检测时间段;若是,则判断实际已发送所述数据的数量是否小于一个预定发送量;
若是,则重置所述时间间隔,返回执行所述发送一个所述数据的步骤;
若否,则返回执行所述发送一个所述数据的步骤。
本申请还提供一种用于数据发送的装置,包括:
数据获取单元,用于获取针对同一发送进程的待发送的至少两个数据;
数据发送单元,用于按照每次发送单个数据且相邻两次发送的等待间隔时间依次增大的方式,分别发送各个所述数据直至全部所述数据发送完毕。
可选的,所述用于获取针对同一发送进程的待发送的至少两个数据,具体为:用于获取针对同一发送进程的待发送的至少两个大小相同的数据。
可选的,所述同一数据发送进程的待发送的至少两个数据的大小,是根据所述数据发送进程的要求,网络资源最大带宽,数据发送的预定限制带宽和同时发送数据的预定限制数量确定的。
可选的,所述数据发送单元,用于发送单个数据时是使用最大网络可用速度来发送的。
可选的,所述数据发送单元,用于发送单个数据时,相邻两次发送的等待时间间隔以等差递增的方式依次增大。
可选的,所述相邻两次发送的等待时间间隔以等差递增的方式依次增大,包括:
所述等差递增的方式为以首项为零、数据发送序数和预定公差的积来确定的等差递增的方式。
可选的,所述预定公差是根据网络资源最大带宽、数据发送的预定限制带宽、以及数据发送占用网络带宽的预定平稳程度来计算并调整确定的。
可选的,所述相邻两次发送的时间间隔依次增大的方式为等比递增的方式。
可选的,所述相邻两次发送的时间间隔依次增大的方式为等比递增的方式包括:
所述等比递增的方式为以首项为零,第二项起是一个等比递增的方式。
可选的,所述数据发送单元,用于分别发送各个所述数据直至全部所述数据发送完毕,是按照获取所述数据的时间先后来顺序来分别发送所述数据直至全部所述数据发送完毕的。
可选的,所述数据发送单元,用于按照每次发送单个数据且相邻两次发送的等待间隔时间依次增大的方式,分别发送各个所述数据直至全部所述数据发送完毕,包括:
初始时间获取子单元,用于获取当前时间作为初始时间;
数据发送子单元,用于发送一个所述数据;
比较时间获取子单元,用于待所述数据发送完毕之后,等待一段时间间隔,再次获取当前时间作为比较时间;
判断检测时间子单元,用于接收初始时间获取子单元和比较时间获取子单元传递的时间信息并确定所述比较时间与所述初始时间的差值是否小于一个预定的检测时间段;若是,则触发数据发送子单元;若否,则重置所述时间间隔,触发初始时间子单元。
可选的,所述判断检测时间子单元中的预定的检测时间段的时长,是根据数据发送占用网络带宽的预定平稳程度来确定的。
可选的,所述判断检测时间子单元,用于确定所述比较时间与所述初始时间的差值是否小于一个预定的检测时间段;若是,则触发数据发送子单元;包括:
所述判断检测时间子单元,用于确定所述比较时间与所述初始时间的差值是否小于一个预定的检测时间段;若是,则判断数据发送子单元实际已发送所述数据的大小是否超过一个预定阈值;
若是,则重置所述等待时间间隔,并触发初始时间子单元;
若否,则触发数据发送子单元。
可选的,所述判断检测时间子单元,用于确定所述比较时间与所述初始时间的差值是否小于一个预定的检测时间段;若是,则触发数据发送子单元;包括:
所述判断检测时间子单元,用于确定所述比较时间与所述初始时间的差值是否小于一个预定的检测时间段;若是,则判断所述数据发送子单元已发送的数据的数量是否小于一个预定发送量;若是,则重置所述时间间隔,并触发数据发送子单元;若否,则触发数据发送子单元。
本申请还提供一种用于数据发送的电子设备,包括:
显示器;
处理器;
存储器,用于存储用于数据发送的程序,所述程序在被所述处理器读取执行时,执行如下操作:获取针对同一发送进程的待发送的至少两个数据;按照每次发送单个数据且相邻两次发送的等待间隔时间依次增大的方式,分别发送各个所述数据直至全部所述数据发送完毕。
本申请还提供一种限制发送进程占用带宽的方法,用于包含至少两个发送进程共享同一个网络资源的环境,包括:
获取各个数据发送进程的各个原始数据;
对每一个发送进程,判断所述数据发送进程的原始数据的大小是否大于预定阈值;
若是,则根据预定的算法将所述数据发送进程的原始数据分为预定大小的两个以上的发送数据,并使用所述一种用于数据发送的方法来发送所述数据发送进程对应的所述发送数据;
若否,则发送所述数据发送进程的所述原始数据。
本申请还提供一种限制发送进程占用带宽的装置,用于包含至少两个发送进程共享同一个网络资源的环境,包括:
原始数据获取单元,用于获取各个数据发送进程的各个原始数据;
预定阈值比较单元,用于对每一个发送进程,判断所述数据发送进程的原始数据的大小是否大于预定阈值;
数据处理发送单元,用于接收预定阈值比较单元的判断结果;若是,则根据预定的算法将所述数据发送进程的原始数据分为预定大小的两个以上的发送数据,并使用所述一种用于数据发送的装置中的数据发送子单元来发送所述数据发送进程对应的所述发送数据;若否,则发送所述数据发送进程的所述原始数据。
本申请还提供一种用于主数据库和备份数据库之间发送日志数据的方法,包括:
获取各个日志发送进程的各个日志数据;其中所述日志数据的大小相同;
对每一个日志发送进程,判断所述日志发送进程的日志数据的数量是否为至少两个;
若是,则使用所述一种用于数据发送的方法来发送所述日志发送进程对应的所述日志数据;
若否,则发送所述发送进程对应的所述日志数据。
本申请还提供一种用于主数据库和备份数据库之间发送日志数据的装置,包括:
数据获取单元,用于获取各个日志发送进程的各个日志数据;其中所述日志数据的大小是相同的;
数据数量判断单元,用于对每一个日志发送进程,判断所述日志发送进程的日志数据的数量是否为至少两个;
数据发送单元,用于接收所述数据数量判断单元的判断结果;若是,则使用所述一种用于数据发送的装置中的数据发送子单元来发送所述日志发送进程对应的所述日志数据;若否,则发送所述发送进程对应的所述日志数据。
与现有技术相比,本申请具有以下优点:
本申请通过控制每一个数据发送进程发送的单个数据的大小和等待时间间隔,间接控制了每一个数据发送进程的网络带宽的使用量,使得每个发送数据进程都不会占满带宽,解决了因独占带宽可能饿死其他数据发送进程的问题;
本申请同时通过不断增大数据发送进程的等待时间间隔,让每个数据发送进程在一定时间内的平均带宽平稳控制在一定范围内,间接平稳地限制了数据发送进程占用的网络带宽,解决了网络带宽骤升骤降和系统不稳定的问题;
本申请的特点是,对每一个进程而言,每发送一次数据需要等待一段不断增大的时间后才能再次进行发送;从而发送数据量大的进程等待的时间比较长。这个机制对共享同一个网络带宽的全体数据发送进程而言,发送数据量小的进程和新开始发送数据的进程由于等待时间相对比较短,对其实现了较为合理的优先发送。
本申请的模型简洁,可以方便的通过手动或者自动调整数据发送进程的相关控制变量例如单次发送数据大小和发送等待时间间隔,来校正数据发送和网络带宽占用的平稳性,而且调解过程中的波动也比较小,容易获得平衡的、优选的网络带宽占用的设定值。
附图说明
图1是本申请第一实施例提供的用于数据发送的方法的示意图;
图2是本申请第一实施例提供的用于数据发送的方法的流程图;
图3是本申请第一实施例提供的用于数据发送的方法的第一优选方案流程图;
图4是本申请第一实施例提供的用于数据发送的方法的第二优选方案流程图;
图5是本申请第一实施例提供的用于数据发送的方法的第三优选方案流程图;
图6是本申请第二实施例提供的用于数据发送的装置的示意图;
图7是本申请第三实施例提供的用于数据发送的电子设备的示意图;
图8是本申请第四实施例提供的限制发送进程占用带宽的方法的流程图;
图9是本申请第五实施例提供的限制发送进程占用带宽的装置的示意图;
图10是本申请第六实施例提供的用于主数据库和备份数据库之间发送日志数据的方法的流程图;
图11是本申请第七实施例提供的用于主数据库和备份数据库之间发送日志数据的装置的示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
在本申请中,分别提供了一种用于数据发送的方法、装置和电子设备,一种限制发送进程占用带宽的方法和装置,以及一种用于主数据库和备份数据库之间发送日志数据的方法和装置。在下面的实施例中逐一进行详细说明。为了便于理解本申请的技术方案,首先对提出本申请的背景及本申请的技术方案作简要说明。
例如,某部署在多个物理计算机之上的多个主数据库和备份数据库,相互之间的日志备份要求其时效差别不能超过一定上限。每一个物理计算机的网卡带宽是一定的,如果一个日志数据发送进程占满网卡带宽,可能会造成其他主数据库的日志数据发送进程长时间不能发送日志,造成对应的备份数据库无法接收到日志数据而与主数据库断开;如果一个日志数据发送进程的发送量暴增或者一个独占网卡带宽的数据发送进程被突然禁止,会造成网卡带宽占用的骤升或骤降,从而导致系统不稳定和用户体验变差。
本申请用于数据发送的方法、装置和电子设备,限制发送进程占用带宽的方法和装置,以及用于主数据库和备份数据库之间发送日志数据的方法和装置可用于解决上述问题。本申请的技术方案对每个数据发送进程进行限制,使每个数据发送进程每次只发送一个固定大小的数据;每一次数据发送完毕,都在等待一段依次增大的时间间隔之后,再进行下一次数据发送。这样可以保证每个数据发送进程都不会突然增加数据发送量,控制了每个数据发送进程的最大带宽使用量,使其不能占满最大共享带宽;也实现了对发送数据量小的进程和新开始发送数据的进程的优先发送;还可以通过调整每次发送的数据大小和发送等待时间间隔依次增加的幅度来调整数据发送进程占用网络带宽的状态。
下面通过以下各实施例来具体说明本申请的技术方案。
第一实施例。
请参考图1和图2,其为图1是本申请第一实施例提供的用于数据发送的方法的示意图和流程图。本实施例的技术方案是以单个数据发送进程为单位来进行发送控制的。具体的,所述用于数据发送的方法包括如下步骤:
步骤S101:获取针对同一发送进程的待发送的至少两个数据。
获取同一发送进程的两个以上的待发送数据,作为下一步骤进行数据发送的基础。获取数据的步骤可由系统自动完成。
本实施例的技术方案是针对每个数据发送进程进行大批量数据发送的情况,如果只获取了对于同一发送进程待发送的单个数据,则无需使用本申请的方法,可以直接进行单个数据的发送。例如,在一个日志发送的进程中,若某一个日志发送进程如果只需要发送一个日志数据,则可以直接发送所述日志数据。本实施例的下述步骤中,具体以主备数据库情形下日志数据传输发送为例进行说明。但本领域技术人员应当理解,本实施例的用于数据发送的方法并不局限于该场景,其可以应用于任何其它的数据发送的场景。
本实施例中,所述获取针对同一发送进程的待发送的至少两个数据,具体为:获取针对同一发送进程的待发送的至少两个大小相同的数据。
获取的待发送数据的大小是相同的。在每次数据发送的发送速度相同的情况下,发送数据的大小相同可保证每一次数据发送的均匀性,即每一次数据发送所使用的发送时间和所占用的网络带宽都相同。
所述同一数据发送进程的待发送的至少两个数据的大小,可以根据所述数据发送进程的要求,网络资源最大带宽,数据发送的预定限制带宽和同时发送数据的预定限制数量等参数而确定。具体而言,数据发送进程属于特定的应用程序或者系统,一般对具体的发送数据的大小会有具体要求;网络资源最大带宽为各个数据发送进程所共享的最大可用网络带宽,通常情况这个值是一个固定值;数据发送的预定限制带宽可通过用户手动或系统自动设定,用于限制对全体数据发送进程发送数据所能占用的最大网络带宽;同时发送数据的预定限制数量是指在预定限制带宽范围内的最大同时发送的数据数量。
在本实施例中,数据发送进程为主数据库和备份数据库的日志备份数据发送进程,一般要求所述日志数据的大小为64K至512K之间;网络资源最大带宽为一个物理计算机上网卡的全部带宽,即max_bandwidth,单位MB/s,其值为128MB/s;数据发送的预定限制带宽为网卡限制带宽,即limit_bandwidth,单位MB/s,其值为64MB/s。如果预定在1s内同时发送数据的限制数量设定为512个,则日志数据的大小应为64MB/512=128KB。
所述同一发送进程的待发送的至少两个数据的预定大小,即每个发送进程每一次发送的实际数据的大小,如上所述,可以通过用户手动或者系统自动设定。设定该数据大小需根据网络资源最大带宽和数据发送的预定限制带宽来计算而确定。在网络资源最大带宽为一定并使用最大可用发送速度进行发送的情况下,待发送数据的预定大小就决定了一个发送进程每一次发送一个实际数据所使用的时间;数据发送的预定限制带宽决定了待发送数据不能超过的最大占用网络带宽,在默认系统在同一时刻同时进行数据发送的发送进程的数量为一定时,也决定了每一个发送进程每次一次发送的一个实际数据的大小,即待发送数据的预定大小。待发送的数据的预定大小的设定可以间接地影响网络带宽占用波动的平稳性,它的值如果过大,可能会引起网络带宽占用的波动过大;如果它的值过小,则可能造成单次数据发送效率过低。所以待发送的数据的预定大小的设定需要综合平衡进行考虑。
在本实施例中,待发送的数据的预定大小为日志数据的大小,即onetime_size,单位为KB,其值为128KB。在数据发送的预定限制带宽limit_bandwidth为64MB/s的情况下,在同一时刻最大可发送的日志数据的个数为(limit_bandwidth*1024)/onetime_size,即64*1024/128=512个。
每次发送单个数据都是使用最大网络可用速度来发送的。每个数据发送进程每次发送一个数据都使用最大可使用的网络带宽来发送,这样不进行任何限速来发送数据的好处是发送的效率高。在发送的数据的预定大小为一定和网络资源最大带宽为一定的情况下,可以计算出使用最大网络可用速度发送单个待发送数据所使用的时间。
在本实施例中,使用最大网络可用速度发送单个日志时间的发送耗时为onetime_size/(max_bandwidth*1024),即128/(128*1024)=1/1024s。
步骤S103:按照每次发送单个数据且相邻两次发送的等待间隔时间依次增大的方式,分别发送各个所述数据直至全部所述数据发送完毕。
每一次只发送一个数据,发送之后等待一段时间间隔,再进行发送下一个数据,直至全部所述数据发送完毕;其中,相邻两次发送的等待间隔时间是依次增大的。
可以选择发送数据开始之时计时计算等待时间间隔,也可以选择发送数据完毕后开始计时计算等待时间间隔。在发送的数据预定大小为相同、发送数据的速度为最大网络可用速度时,因为发送一个数据的耗时是相同的,计算等待时间间隔的起始时间选择前一种或者后一种方法在实质上是相同的。本实施例选择后一种方法为例进行说明。
本实施例中,所述相邻两次发送的等待时间间隔依次增大的方式具体为等差递增的方式。数据发送的等待时间间隔是以等差递增的方式一次次不断增大的。具体的方法是:第一次数据发送完毕后,等待a秒,进行第二次数据发送;第二次数据发送完毕后,等待a+d秒,进行第三次数据发送;第三次数据发送完毕后,等待a+2d秒,进行第四次数据发送……第n次数据发送完毕后,等待a+(n-1)d秒,进行第n+1次发送。此处,等差首项a和公差d为手动或自动设定的时长,n为数据发送的序数。
所述相邻两次发送的等待时间间隔依次增大的方式为等差递增的方式包括:所述等差递增的方式为以首项为零、数据发送序数和预定公差的积来确定的等差递增的方式。
本实施例中,a=0,预定公差为d,日志数据发送序数为n,具体的方法是:第一次日志数据发送完毕后,不等待,进行第二次日志数据发送;第二次日志数据发送完毕后,等待d秒,进行第三次日志数据发送;第三次日志数据发送完毕后,等待2d秒,进行第四次日志数据发送……第n次日志数据发送完毕后,等待(n-1)d秒,进行第n+1次发送。
所述预定公差是根据网络资源最大带宽、数据发送的预定限制带宽、以及数据发送占用网络带宽的预定平稳程度来计算并调整确定的。在等差首项a为一定的情况下,预定公差直接决定了数据发送的密集程度和数据发送的网络带宽占用程度。必须结合网络资源最大带宽、数据发送的预定限制带宽、以及数据发送占用网络带宽的预定平稳程度来综合设定预定公差的值。当然,也通过可以调整预定公差的值,来调节数据发送占用网络带宽的平稳程度。在本实施例的后续步骤描述了预定公差d的具体计算实例。
采用等差递增的等待时间间隔进行限制发送进程占用网络带宽的好处是能使发送进程占用网络带宽的速度较平稳的降低;而且等差递增的模型简洁,可以方便的通过手动或者自动调整等差公差等变量来校正发送进程占用网络带宽的平稳性。其他方法可能可以产生类似效果,但模型复杂、调教复杂,调教过程中波动大,而等差递增的方法能够简单调整,产生平衡的、优选的设定值。
所述相邻两次发送的时间间隔依次增大的方式为等比递增的方式。除了上述的使用等差递增的方法来确定相邻两次发送的等待时间间隔,也可以使用等比递增的方法。具体的方法是:第一次数据发送完毕后,等待a秒,进行第二次数据发送;第二次数据发送完毕后,等待a*q秒,进行第三次数据发送;第三次数据发送完毕后,等待a*q2秒,进行第四次数据发送……第n次数据发送完毕后,等待a*qn-1秒,进行第n+1次发送。此处,等差首项a和公比q为手动或自动设定的时长,n为数据发送的序数。当然,也可以采用其他递增算法,在次不再赘述。
所述相邻两次发送的时间间隔依次增大的方式为等比递增的方式还可以包括:所述时间间隔的第一项为零,第二项起是一个等比递增的数列。例如,可以采用第一次发送等待时间间隔为零,第二次发送等待时间间隔开始以等比递增数列来计算日志数据发送等待时间间隔。具体方法是:第一次日志数据发送完毕后,不等待,进行第二次日志数据发送;第二次日志数据发送完毕后,等待a秒,进行第三次日志数据发送;第三次日志数据发送完毕后,等待a*q秒,进行第四次日志数据发送……第n次日志数据发送完毕后,等待a*qn-2秒,进行第n+1次发送。
所述分别发送各个所述数据直至全部所述数据发送完毕,具体是按照获取所述数据的时间先后来顺序来分别发送所述数据直至全部所述数据发送完毕。
一般而言,每次获取的同一个数据发送进程的待发送数据是有发送顺序的;在实际发送时,先发送获取时间在先的待发送数据,后发送获取时间在后的待发送数据。如果在一定时间段内没有全部发送完毕获取时间在先的待发送数据,在之后可发送时必须先发送完毕获取时间在先的待发送数据,然后再发送获取时间在后的待发送数据。例如,如果在N时刻获取某一个日志数据发送进程的100个日志数据,在N+1s时刻获取同一日志数据发送进程的60个日志数据,在发送时,首先发送了获取时间在先的80个日志数据,必须在全部发送完毕剩余的获取时间在先的另外20个日志数据之后,再开始发送获取发送时间在后的60个数据。
由于本步骤中采用了时间间隔依次增大的方式发送同一进程的数据,则越是在后发送的数据,等待的时间会越长;对于发送数据量很大的进程而言,势必需要很长的时间才能发送完毕,这使得单个进程发送持续的时间可能很长,因而有必要对此采取一定的方法进行调整。
在其中的一个优选方案中,具体如下:所述按照每次发送单个数据且相邻两次发送的等待时间间隔依次增大的方式,分别发送各个所述数据直至全部所述数据发送完毕,具体包括:
获取当前时间作为初始时间;
发送一个所述数据;
待所述数据发送完毕之后,等待相应的时间间隔;
再次获取当前时间作为比较时间;确定所述比较时间与所述初始时间的差值是否小于一个预定检测时间段;
若是,则返回执行所述发送一个所述数据的步骤;
若否,则重置所述时间间隔,返回执行所述获取当前时间作为初始时间的步骤。
具体而言,请参考图3,首先,获取当前时间作为初始时间;开始发送同一个数据发送进程的一个待发送数据;待所述数据发送完毕之后,等待一段以等差递增的方式增大的时间间隔;再次获取当前时间作为比较时间,计算确定所述比较时间与所述初始时间的差值是否小于一个预定检测时间段;
若小于,则返回执行所述开始发送同一个数据发送进程的一个待发送数据的;待所述数据发送完毕之后,等待一段比上一次发送以等差递增的方式增大的时间间隔;再次获取当前时间作为比较时间,并再次判断确定所述比较时间与所述初始时间的差值是否小于一个预定检测时间段,并在小于时返回执行所述开始发送同一个数据发送进程的一个待发送数据;如此反复,直至发送完毕全部所述数据。
若任何时候判断的结果为不小于,则重置所述等待时间间隔,对以等差递增方式增大的等待时间间隔的计数序数清零,即重新从头开始计算所述等待时间间隔;返回执行所述获取当前时间作为初始时间的步骤,如此反复。
需要注意的是,本方案获取的待发送的数据是预定的且大小相同;获取的同一个数据发送进程的待发送数据也是有发送顺序的。在超过预定检测时间段时,对同一个发送进程而言,先发送获取时间在先的未发送完毕的待发送数据,后发送获取时间在后的待发送数据。
在本实施例中,为了实现平稳地限制一个日志发送进程占用的带宽,首先设定了一个检测时间段,在该检测时间段内,在每次发送预定大小的日志完毕之后,等待一段等待时间间隔,每次等待的时间间隔成递增的等差数列,重复发送和等待的循环,直至该检测时间段期满,则重置等待时间间隔,对以等差递增方式增大的等待时间间隔的计数序数清零,重新从头开始计算所述等待时间间隔,进入新的一轮检测。
例如,在本优选方案中,设定检测时间段为check_time,单位为秒(s),其值为1s。检测开始,获取当前的时间作为初始时间,即start_time。每次发送一个对应所述日志发送进程的预定大小的日志数据,然后等待一段时间间隔;每次等待的时间间隔为一个递增的等差数列;在检测时间段1秒内在数据发送的预定限制带宽的情况下最多可以发送limit_bandwidth*1024/onetime_size个预定大小的日志数据,即为64*1024/128=512个128KB大小的日志数据。其中每一次预定大小的日志数据的发送耗时为onetime_size/(max_bandwidth*1024),即为128/(128*1024)=1/1024s;如果使用最大网络可用速度发送(limit_bandwidth*1024)/onetime_size个预定大小的日志数据,一共总共需要limit_bandwidth/max_bandwidth的时间,其单位为s,即为一共需要1/2s。在检测时间段内剩下的时间1-limit_bandwidth/max_bandwidth,全部用来做依次递增的等差数列的发送等待时间间隔;第一次等待0s的时间间隔,根据等差数列的求和公式可以得到最后一次的休眠时间为2*onetime_size*(1-limit_bandwidth/max_bandwidth)/(limit_bandwidth*1024),即为1/512s。可以推导出第N个预定大小的日志数据发送后需要等待的时间间隔为:
N*2*onetime_size*(1-limit_bandwidth/max_bandwidth)/[limit_bandwidth*1024*((limit_bandwidth*1024)/onetime_size-1)],即为N/(512*511)s;
在反复发送日志数据的过程中,每次发送完毕一个日志数据之后,都再次获取当前时间作为比较时间;确定比较时间和初始时间的差值是否小于预定检测时间段;若是,则重复进行发送一个对应所述日志发送进程的预定大小的日志数据,然后等待一段一次递增的发送等待时间间隔,返回执行每次发送完毕一个日志数据的步骤,如此反复直至发送完毕各个所述日志数据;若否,则重置所述等待时间间隔,对以等差递增方式增大的等待时间间隔的计数序数清零,即重新从头开始计算所述等待时间间隔;返回执行所述获取当前时间作为初始时间的步骤,如此反复。
上述预定检测时间段的时长,是根据数据发送占用网络带宽的预定平稳程度来确定的。预定检测时间段是人工手动或者系统自动设定的预定时长的时间段,也可以用来调整所述数据发送占用网络带宽的预定平稳程度。预定检测时间段设定的时长越长,则每下一次发送数据的等待时间间隔就越久,所述数据发送占用网络带宽的预定平稳程度就越高。可以根据实际网络带宽占用情况对预定检测时间段进行具体调整。例如,本优先实施例的预定检测时间段设定为1s。
此外,解决单个进程发送时间较长的第二优选方案如下:所述确定所述比较时间与所述初始时间的差值是否小于一个预定检测时间段;若是,则返回执行所述发送一个所述数据的步骤;其包括:确定所述比较时间与所述初始时间的差值是否小于一个预定检测时间段;若是,则比较实际已发送所述数据的大小是否超过一个预定阈值;若是,则重置所述等待时间间隔,以等差递增方式增大的等待时间间隔的发送计数序数清零,返回执行所述获取当前时间,并将所述当前时间作为初始时间的步骤;若否,则返回执行所述发送一个所述数据的步骤。
具体而言,请参考图4,其为本申请第一实施例提供的用于数据发送的方法的第二优选方案流程图。
确定发送完毕一个数据之后,所述比较时间与所述初始时间的差值是否小于预定检测时间段,即当前时间是否仍然在预定检测时间段内;若为是,则比较实际已发送所述数据的大小是否超过一个预定阈值;若为是,则重置所述等待时间间隔,对以等差递增方式增大的等待时间间隔的计数序数清零,即重新从头开始计算所述等待时间间隔;返回执行所述获取当前时间,并将所述当前时间作为初始时间的步骤;若为否,则返回执行所述发送一个所述数据的步骤。
例如在本优选方案中,发送数据的当前时间仍然在预定检测时间段内即1s内,但一旦发送的日志数据的大小超过了一定的大小,比如1024KB,则中断当次的检测时间段和所有发送循环,重置所有的相关参数例如清零等待时间间隔和发送计数序数,进行新的一轮发送循环和检测时间段检测,直至全部对应所述日志发送进程的待发送的日志数据发送完毕。
此外,解决单个进程发送时间较长的第三优选方案如下:所述确定所述比较时间与所述初始时间的差值是否小于一个预定检测时间段;若是,则返回执行所述发送一个所述数据的步骤;其具体包括:确定已发送的数据的数量是否小于一个预定发送量;若是,则重置所述时间间隔,返回执行所述发送一个所述数据的步骤;若否,则返回执行所述发送一个所述数据的步骤。
具体而言,参见图5,其为本申请第一实施例提供的用于数据发送的方法的第三优选方案流程图。
确定发送完毕一个数据之后,所述比较时间与所述初始时间的差值是否小于预定检测时间段,即当前时间是否仍然在预定检测时间段内;若为是,则比较实际已发送所述数据的数量是否超过一个预定阈值;若为是,则重置所述等待时间间隔,对以等差递增方式增大的等待时间间隔的计数序数清零,即重新从头开始计算所述等待时间间隔;返回执行所述发送一个所述数据的步骤;若为否,则返回执行所述发送一个所述数据的步骤。
例如在本优选方案中,在预定检测时间段开始时,先不等待连续发送日志数据;如果发送了一定数量的日志数据之后,而且发送时间仍然在预定检测时间段内,再进入发送和等待以等差递增的方式增大的等待时间间隔的反复发送、等待循环,直至全部发送完毕所述日志数据。
第二实施例。
在上述实施例中,提供了一种用于数据发送的方法,与之相对应的,本申请还提供一种用于数据发送的装置和电子设备。由于装置实施例和电子设备实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅为示意性的。
请参考图6,本实施例的一种用于数据发送的装置,包括:
数据获取单元201,用于获取针对同一发送进程的待发送的至少两个数据;
数据发送单元203,用于按照每次发送单个数据且相邻两次发送的等待间隔时间依次增大的方式,分别发送各个所述数据直至全部所述数据发送完毕。
可选的,所述用于获取针对同一发送进程的待发送的至少两个数据,具体为:用于获取针对同一发送进程的待发送的至少两个大小相同的数据。
可选的,所述同一数据发送进程的待发送的至少两个数据的大小,是根据所述数据发送进程的要求,网络资源最大带宽,数据发送的预定限制带宽和同时发送数据的预定限制数量确定的。
可选的,所述数据发送单元203用于发送单个数据时是使用最大网络可用速度来发送的。
可选的,所述数据发送单元203用于发送单个数据时,相邻两次发送的等待时间间隔以等差递增的方式依次增大。
可选的,所述相邻两次发送的等待时间间隔以等差递增的方式依次增大,包括:
所述等差递增的方式为以首项为零、数据发送序数和预定公差的积来确定的等差递增的方式。
可选的,所述预定公差是根据网络资源最大带宽、数据发送的预定限制带宽、以及数据发送占用网络带宽的预定平稳程度来计算并调整确定的。
可选的,所述相邻两次发送的时间间隔依次增大的方式为等比递增的方式。
可选的,所述相邻两次发送的时间间隔依次增大的方式为等比递增的方式包括:
所述等比递增的方式为以首项为零,第二项起是一个等比递增的方式。
可选的,所述数据发送单元203,用于分别发送各个所述数据直至全部所述数据发送完毕,是按照获取所述数据的时间先后来顺序来分别发送所述数据直至全部所述数据发送完毕的。
可选的,所述数据发送单元203,用于按照每次发送单个数据且相邻两次发送的等待间隔时间依次增大的方式,分别发送各个所述数据直至全部所述数据发送完毕,包括:
初始时间获取子单元,用于获取当前时间作为初始时间;
数据发送子单元,用于发送一个所述数据;
比较时间获取子单元,用于待所述数据发送完毕之后,等待一段时间间隔,再次获取当前时间作为比较时间;
判断检测时间子单元,用于接收初始时间获取子单元和比较时间获取子单元传递的时间信息并确定所述比较时间与所述初始时间的差值是否小于一个预定的检测时间段;若是,则触发数据发送子单元;若否,则重置所述时间间隔,触发初始时间子单元。
可选的,所述判断检测时间子单元中的预定的检测时间段的时长,是根据数据发送占用网络带宽的预定平稳程度来确定的。
可选的,所述判断检测时间子单元,用于确定所述比较时间与所述初始时间的差值是否小于一个预定的检测时间段;若是,则触发数据发送子单元;包括:
确定所述比较时间与所述初始时间的差值是否小于一个预定的检测时间段;若是,则比较数据发送子单元实际已发送所述数据的大小是否超过一个预定阈值;
若是,则重置所述等待时间间隔,并触发初始时间子单元;
若否,则触发数据发送子单元。
可选的,所述判断检测时间子单元,用于确定所述比较时间与所述初始时间的差值是否小于一个预定的检测时间段;若是,则触发数据发送子单元;包括:
确定所述数据发送子单元已发送的数据的数量是否小于一个预定发送量;若是,则重置所述时间间隔,并触发数据发送子单元;若否,则触发数据发送子单元。
第三实施例。
请参考图7,本实施例的一种用于数据发送的电子设备,包括:
显示器;
处理器;
存储器,用于存储用于数据发送的程序,所述程序在被所述处理器读取执行时,执行如下操作:获取针对同一发送进程的待发送的至少两个数据;按照每次发送单个数据且相邻两次发送的等待间隔时间依次增大的方式,分别发送各个所述数据直至全部所述数据发送完毕。
第四实施例。
请参看图8,本申请提供的一种限制发送进程占用带宽的方法,用于包含至少两个数据发送进程共享同一个网络资源的环境,对每一个数据发送进程的待发送数据使用所述一种用于数据发送的方法进行发送,以共享同一个网络资源的所有数据发送进程作为一个全局单位进行网络带宽限制的考虑,其包括:
步骤S401:获取各个数据发送进程的各个原始数据。
获取所有共享同一个网络资源的各个数据发送进程的各个待发送数据。
例如,在本实施例中,获取发送日志数据进程A、发送日志数据进程B、发送日志数据进程C都共享同一个局域网,局域网的交换机的带宽成为网络资源的最大带宽;这些进程对应的数据为:日志数据A-1至A-100,日志数据B-1至B-300,日志数据C-1至C-200。
步骤S403:对每一个发送进程,判断所述发送进程的原始数据的大小是否大于预定阈值;
若是,则根据预定的算法将所述发送进程的原始数据分为预定大小的两个以上的发送数据,并使用所述一种用于数据发送的方法来发送所述发送进程对应的所述发送数据。
若否,则发送所述发送进程的所述原始数据。
预定阈值和预定的算法是人工手动或者系统自动设定的。同上述第一实施例中所述的一种用于数据发送的方法中所述的待发送数据的类似,确定预定阈值的大小和预定的算法也是根据所述数据发送进程的要求,网络资源最大带宽,数据发送的预定限制带宽和同时发送数据的预定限制数量确定的。
对所有共享同一个网络资源的各个数据发送进程的、大于预定阈值的各个原始数据,使用预定的算法将所述各个原始数据分为预定大小的两个以上的发送数据;使用一种用于数据发送的方法来发送所述的发送数据;
对所有不大于预定阈值的各个原始数据,直接发送。
在本实施例中,日志数据A-1至A-100,日志数据A-1至A-100,日志数据B-1至B-300,日志数据C-1至C-190的大小都大于预定阈值128K,而C-191至C-200的大小不大于128K。使用预定的算法将日志数据A-1至A-100,日志数据A-1至A-100,日志数据B-1至B-300,日志数据C-1至C-190分为大小相同、均为128K的日志发送数据AA-1至AA600,日志发送数据BB-1至BB-800,日志发送数据CC-1至CC-400,并对这些日志发送数据使用所述一种用于数据发送的方法来发送;对日志数据C-191至C-200直接进行发送。
第五实施例。
请参考图9,在上述实施例中,提供了一种限制发送进程占用带宽的方法,与之相对应的,本申请还提供一种限制发送进程占用带宽的装置。由于装置实施例和电子设备实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅为示意性的
一种限制发送进程占用带宽的装置,用于包含至少两个发送进程共享同一个网络资源的环境,包括:
原始数据获取单元501,用于获取各个数据发送进程的各个原始数据;
预定阈值比较单元503,用于对每一个发送进程,判断所述数据发送进程的原始数据的大小是否大于预定阈值;
数据处理发送单元505,用于接收预定阈值比较单元的判断结果;若是,则根据预定的算法将所述数据发送进程的原始数据分为预定大小的两个以上的发送数据,并使用所述一种用于数据发送的装置来发送所述数据发送进程对应的所述发送数据;若否,则发送所述数据发送进程的所述原始数据。
第六实施例。
请参考图10,本申请还提供一种用于主数据库和备份数据库之间发送日志数据的方法,包括:
步骤S601:获取各个数据库的日志发送进程的各个日志数据;其中所述日志数据的大小是相同的。
获取所有共享同一个网络资源的各个主数据库和备份数据库的日志发送进程的各个待发送日志数据,其中各个待发送日志数据的大小都是相同的。
例如,在本实施例中,获取主数据库日志数据发送进程D、主数据库日志数据发送进程E、备份数据库日志数据发送进程F的日志数据:日志数据D-1至D-200,日志数据E-1,日志数据F-1至F-500。
步骤S603:对每一个日志发送进程,判断所述日志发送进程的日志数据的数量是否为至少两个;
若是,则使用权利要求所述一种用于数据发送的方法来发送所述日志发送进程对应的所述日志数据。
若否,则发送所述发送进程对应的所述日志数据。
在本实施例中,对应主数据库日志数据发送进程D和备份数据库日志数据发送进程F的日志数据D-1至D-200和日志数据F-1至F-500的数量为至少两个;对应主数据库日志数据发送进程D和备份数据库日志数据发送进程F的这些日志数据D-1至D-200和F-1至F-500,使用所述一种用于数据发送的方法来发送;对应主数据库日志数据发送进程E的日志数据的数量不是至少两个,对这个日志数据E-1直接发送。
第七实施例。
请参考图11,在上述实施例中,提供了一种用于主数据库和备份数据库之间发送日志数据的方法,与之相对应的,本申请还提供一种用于主数据库和备份数据库之间发送日志数据的装置。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅为示意性的。
一种用于主数据库和备份数据库之间发送日志数据的装置,包括:
数据获取单元701,用于获取各个日志发送进程的各个日志数据;其中所述日志数据的大小是相同的;
数据数量判断单元703,用于对每一个日志发送进程,判断所述日志发送进程的日志数据的数量是否为至少两个;
数据发送单元703,用于接收所述数据数量判断单元的判断结果;若是,则使用所述的用于数据发送的装置来发送所述日志发送进程对应的所述日志数据。若否,则发送所述发送进程对应的所述日志数据。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
2、本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。
Claims (33)
1.一种用于数据发送的方法,其特征在于,包括:
获取针对同一发送进程的待发送的至少两个数据;
按照每次发送单个数据且相邻两次发送的等待间隔时间依次增大的方式,分别发送各个所述数据直至全部所述数据发送完毕。
2.根据权利要求1所述的用于数据发送的方法,其特征在于,所述获取针对同一发送进程的待发送的至少两个数据,具体为:获取针对同一发送进程的待发送的至少两个大小相同的数据。
3.根据权利要求1所述的用于数据发送的方法,其特征在于,所述同一数据发送进程的待发送的至少两个数据的大小,是根据所述数据发送进程的要求,网络资源最大带宽,数据发送的预定限制带宽和同时发送数据的预定限制数量确定的。
4.根据权利要求1所述的用于数据发送的方法,其特征在于,每次发送单个数据都是使用最大网络可用速度来发送的。
5.根据权利要求1所述的用于数据发送的方法,其特征在于,所述相邻两次发送的等待时间间隔依次增大的方式为等差递增的方式。
6.根据权利要求5所述的用于数据发送的方法,其特征在于,所述相邻两次发送的等待时间间隔依次增大的方式为等差递增的方式包括:
所述等差递增的方式为以首项为零、数据发送序数和预定公差的积来确定的等差递增的方式。
7.根据权利要求6所述的用于数据发送的方法,其特征在于,所述预定公差是根据网络资源最大带宽、数据发送的预定限制带宽、以及数据发送占用网络带宽的预定平稳程度来计算并调整确定的。
8.根据权利要求1所述的用于数据发送的方法,其特征在于,所述相邻两次发送的时间间隔依次增大的方式为等比递增的方式。
9.根据权利要求8所述的用于数据发送的方法,其特征在于,所述相邻两次发送的时间间隔依次增大的方式为等比递增的方式包括:
所述时间间隔的第一项为零,第二项起是一个等比递增的数列。
10.根据权利要求1或7所述的用于数据发送的方法,其特征在于,所述分别发送各个所述数据直至全部所述数据发送完毕,是按照获取所述数据的时间先后来顺序来分别发送所述数据直至全部所述数据发送完毕的。
11.根据权利要求10所述的用于数据的发送方法,其特征在于,所述按照每次发送单个数据且相邻两次发送的等待时间间隔依次增大的方式,分别发送各个所述数据直至全部所述数据发送完毕,包括:
获取当前时间作为初始时间;
发送一个所述数据;
待所述数据发送完毕之后,等待相应的时间间隔;
再次获取当前时间作为比较时间;确定所述比较时间与所述初始时间的差值是否小于一个预定检测时间段;
若是,则返回执行所述发送一个所述数据的步骤;
若否,则重置所述时间间隔,返回执行所述获取当前时间作为初始时间的步骤。
12.根据权利要求11所述的用于数据发送的方法,其特征在于,所述预定检测时间段的时长,是根据数据发送占用网络带宽的预定平稳程度来确定的。
13.根据权利要求12所述的用于数据发送的方法,其特征在于,所述确定所述比较时间与所述初始时间的差值是否小于一个预定检测时间段;若是,则返回执行所述发送一个所述数据的步骤;包括:
确定所述比较时间与所述初始时间的差值是否小于一个预定检测时间段;若是,则判断实际已发送所述数据的大小是否超过一个预定阈值;
若是,则重置所述时间间隔,返回执行所述获取当前时间作为初始时间的步骤;
若否,则返回执行所述发送一个所述数据的步骤。
14.根据权利要求12所述的数据发送的方法,其特征在于,所述确定所述比较时间与所述初始时间的差值是否小于一个预定检测时间段;若是,则返回执行所述发送一个所述数据的步骤;包括:
确定所述比较时间与所述初始时间的差值是否小于一个预定检测时间段;若是,则判断实际已发送所述数据的数量是否小于一个预定发送量;
若是,则重置所述时间间隔,返回执行所述发送一个所述数据的步骤;
若否,则返回执行所述发送一个所述数据的步骤。
15.一种用于数据发送的装置,其特征在于,包括:
数据获取单元,用于获取针对同一发送进程的待发送的至少两个数据;
数据发送单元,用于按照每次发送单个数据且相邻两次发送的等待间隔时间依次增大的方式,分别发送各个所述数据直至全部所述数据发送完毕。
16.根据权利要求15所述的用于数据发送的装置,其特征在于,所述用于获取针对同一发送进程的待发送的至少两个数据,具体为:用于获取针对同一发送进程的待发送的至少两个大小相同的数据。
17.根据权利要求15所述的用于数据发送的装置,其特征在于,所述同一数据发送进程的待发送的至少两个数据的大小,是根据所述数据发送进程的要求,网络资源最大带宽,数据发送的预定限制带宽和同时发送数据的预定限制数量确定的。
18.根据权利要求15所述的用于数据发送的装置,其特征在于,所述数据发送单元,用于发送单个数据时是使用最大网络可用速度来发送的。
19.根据权利要求15所述的用于数据发送的装置,其特征在于,所述数据发送单元,用于发送单个数据时,相邻两次发送的等待时间间隔以等差递增的方式依次增大。
20.根据权利要求19所述的用于数据发送的装置,其特征在于,所述相邻两次发送的等待时间间隔以等差递增的方式依次增大,包括:
所述等差递增的方式为以首项为零、数据发送序数和预定公差的积来确定的等差递增的方式。
21.根据权利要求20所述的用于数据发送的装置,其特征在于,所述预定公差是根据网络资源最大带宽、数据发送的预定限制带宽、以及数据发送占用网络带宽的预定平稳程度来计算并调整确定的。
22.根据权利要求15所述的用于数据发送的装置,其特征在于,所述相邻两次发送的时间间隔依次增大的方式为等比递增的方式。
23.根据权利要求22所述的用于数据发送的装置,其特征在于,所述相邻两次发送的时间间隔依次增大的方式为等比递增的方式包括:
所述等比递增的方式为以首项为零,第二项起是一个等比递增的方式。
24.根据权利要求15或21所述的用于数据发送的装置,其特征在于,所述数据发送单元,用于分别发送各个所述数据直至全部所述数据发送完毕,是按照获取所述数据的时间先后来顺序来分别发送所述数据直至全部所述数据发送完毕的。
25.根据权利要求24所述的用于数据的发送装置,其特征在于,所述数据发送单元,用于按照每次发送单个数据且相邻两次发送的等待间隔时间依次增大的方式,分别发送各个所述数据直至全部所述数据发送完毕,包括:
初始时间获取子单元,用于获取当前时间作为初始时间;
数据发送子单元,用于发送一个所述数据;
比较时间获取子单元,用于待所述数据发送完毕之后,等待一段时间间隔,再次获取当前时间作为比较时间;
判断检测时间子单元,用于接收初始时间获取子单元和比较时间获取子单元传递的时间信息并确定所述比较时间与所述初始时间的差值是否小于一个预定的检测时间段;若是,则触发数据发送子单元;若否,则重置所述时间间隔,触发初始时间子单元。
26.根据权利要求25所述的用于数据发送的装置,其特征在于,所述判断检测时间子单元中的预定的检测时间段的时长,是根据数据发送占用网络带宽的预定平稳程度来确定的。
27.根据权利要求26所述的用于数据发送的装置,其特征在于,所述判断检测时间子单元,用于确定所述比较时间与所述初始时间的差值是否小于一个预定的检测时间段;若是,则触发数据发送子单元;包括:
所述判断检测时间子单元,用于确定所述比较时间与所述初始时间的差值是否小于一个预定的检测时间段;若是,则判断数据发送子单元实际已发送所述数据的大小是否超过一个预定阈值;
若是,则重置所述等待时间间隔,并触发初始时间子单元;
若否,则触发数据发送子单元。
28.根据权利要求26所述的数据发送的装置,其特征在于,所述判断检测时间子单元,用于确定所述比较时间与所述初始时间的差值是否小于一个预定的检测时间段;若是,则触发数据发送子单元;包括:
所述判断检测时间子单元,用于确定所述比较时间与所述初始时间的差值是否小于一个预定的检测时间段;若是,则判断所述数据发送子单元已发送的数据的数量是否小于一个预定发送量;若是,则重置所述时间间隔,并触发数据发送子单元;若否,则触发数据发送子单元。
29.一种用于数据发送的电子设备,其特征在于,所述电子设备包括:
显示器;
处理器;
存储器,用于存储用于数据发送的程序,所述程序在被所述处理器读取执行时,执行如下操作:获取针对同一发送进程的待发送的至少两个数据;按照每次发送单个数据且相邻两次发送的等待间隔时间依次增大的方式,分别发送各个所述数据直至全部所述数据发送完毕。
30.一种限制发送进程占用带宽的方法,用于包含至少两个发送进程共享同一个网络资源的环境,其特征在于,包括:
获取各个数据发送进程的各个原始数据;
对每一个发送进程,判断所述数据发送进程的原始数据的大小是否大于预定阈值;
若是,则根据预定的算法将所述数据发送进程的原始数据分为预定大小的两个以上的发送数据,并使用权利要求1至14任一项所述的用于数据发送的方法来发送所述数据发送进程对应的所述发送数据;
若否,则发送所述数据发送进程的所述原始数据。
31.一种限制发送进程占用带宽的装置,用于包含至少两个发送进程共享同一个网络资源的环境;其特征在于,包括:
原始数据获取单元,用于获取各个数据发送进程的各个原始数据;
预定阈值比较单元,用于对每一个发送进程,判断所述数据发送进程的原始数据的大小是否大于预定阈值;
数据处理发送单元,用于接收预定阈值比较单元的判断结果;若是,则根据预定的算法将所述数据发送进程的原始数据分为预定大小的两个以上的发送数据,并使用权利要求15至28任一项所述的用于数据发送的装置中的数据发送子单元来发送所述数据发送进程对应的所述发送数据;若否,则发送所述数据发送进程的所述原始数据。
32.一种用于主数据库和备份数据库之间发送日志数据的方法,其特征在于,包括:
获取各个日志发送进程的各个日志数据;其中所述日志数据的大小相同;
对每一个日志发送进程,判断所述日志发送进程的日志数据的数量是否为至少两个;
若是,则使用权利要求1至14任一项所述的用于数据发送的方法来发送所述日志发送进程对应的所述日志数据;
若否,则发送所述发送进程对应的所述日志数据。
33.一种用于主数据库和备份数据库之间发送日志数据的装置,其特征在于,包括:
数据获取单元,用于获取各个日志发送进程的各个日志数据;其中所述日志数据的大小是相同的;
数据数量判断单元,用于对每一个日志发送进程,判断所述日志发送进程的日志数据的数量是否为至少两个;
数据发送单元,用于接收所述数据数量判断单元的判断结果;若是,则使用权利要求15至28任一项所述的用于数据发送的装置中的数据发送子单元来发送所述日志发送进程对应的所述日志数据;若否,则发送所述发送进程对应的所述日志数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511001289.XA CN106921593B (zh) | 2015-12-28 | 2015-12-28 | 用于数据发送、限制发送进程占用带宽的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511001289.XA CN106921593B (zh) | 2015-12-28 | 2015-12-28 | 用于数据发送、限制发送进程占用带宽的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106921593A CN106921593A (zh) | 2017-07-04 |
CN106921593B true CN106921593B (zh) | 2019-12-31 |
Family
ID=59455076
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201511001289.XA Active CN106921593B (zh) | 2015-12-28 | 2015-12-28 | 用于数据发送、限制发送进程占用带宽的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106921593B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109039779B (zh) * | 2018-09-20 | 2020-09-29 | 珠海格力电器股份有限公司 | 设备升级方法、数据传输单元、控制器局域网络设备和网络 |
CN115460287A (zh) * | 2022-07-22 | 2022-12-09 | 新华三信息安全技术有限公司 | 一种数据发送方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101052043A (zh) * | 2007-04-30 | 2007-10-10 | 北京策度集成电路设计有限公司 | 一种基于发送窗口与往返时间的tcp发送算法 |
CN101119240A (zh) * | 2007-07-05 | 2008-02-06 | 中国科学技术大学 | 一种基于pgm的有效带宽测量方法 |
CN102014058A (zh) * | 2010-11-23 | 2011-04-13 | 奇智软件(北京)有限公司 | 一种上行流量的调度方法及装置 |
CN102298539A (zh) * | 2011-06-07 | 2011-12-28 | 华东师范大学 | 一种用于分布式并行处理的共享资源调度方法及系统 |
CN102932273A (zh) * | 2012-10-17 | 2013-02-13 | 北京奇虎科技有限公司 | 一种用于调节进程带宽占用的方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9846721B2 (en) * | 2013-03-13 | 2017-12-19 | Genesys Telecommunications Laboratories, Inc. | Log file management tool |
-
2015
- 2015-12-28 CN CN201511001289.XA patent/CN106921593B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101052043A (zh) * | 2007-04-30 | 2007-10-10 | 北京策度集成电路设计有限公司 | 一种基于发送窗口与往返时间的tcp发送算法 |
CN101119240A (zh) * | 2007-07-05 | 2008-02-06 | 中国科学技术大学 | 一种基于pgm的有效带宽测量方法 |
CN102014058A (zh) * | 2010-11-23 | 2011-04-13 | 奇智软件(北京)有限公司 | 一种上行流量的调度方法及装置 |
CN102298539A (zh) * | 2011-06-07 | 2011-12-28 | 华东师范大学 | 一种用于分布式并行处理的共享资源调度方法及系统 |
CN102932273A (zh) * | 2012-10-17 | 2013-02-13 | 北京奇虎科技有限公司 | 一种用于调节进程带宽占用的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106921593A (zh) | 2017-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106933534B (zh) | 一种数据同步方法和装置 | |
CN107483351B (zh) | 一种限流方法及装置 | |
CN108279974B (zh) | 一种云资源分配方法及装置 | |
CN108089814B (zh) | 一种数据存储方法及装置 | |
US20150295970A1 (en) | Method and device for augmenting and releasing capacity of computing resources in real-time stream computing system | |
CN102857578B (zh) | 一种网络硬盘的文件上传方法、系统及网盘客户端 | |
CN110730136A (zh) | 一种实现流量控制的方法、装置、服务器及存储介质 | |
CN112148427A (zh) | 一种云平台资源分配方法、装置和计算机可读存储介质 | |
CN106339388A (zh) | 数据库弹性调度方法及装置 | |
CN106921593B (zh) | 用于数据发送、限制发送进程占用带宽的方法和装置 | |
CN110543279B (zh) | 一种数据存储、处理方法、装置及系统 | |
CN111562884B (zh) | 一种数据存储方法、装置及电子设备 | |
CN111858200A (zh) | 系统测试中的吞吐量控制方法、装置及电子设备 | |
CN109344164B (zh) | 数据存储方法及装置 | |
CN111050387A (zh) | 基于能效估计的基站休眠方法、装置、电子设备及介质 | |
CN102137091A (zh) | 一种过负荷控制方法、装置、系统及客户端 | |
CN109032779B (zh) | 任务处理方法、装置、计算机设备及可读存储介质 | |
CN114546714B (zh) | 一种数据备份方法、系统、装置以及存储介质 | |
CN112506992A (zh) | Kafka数据的模糊查询方法、装置、电子设备和存储介质 | |
JP7214287B1 (ja) | リソース割り当ての決定方法、装置、計算装置及びコンピュータプログラム | |
CN108989088B (zh) | 一种日志上传方法和通信设备 | |
CN113448739B (zh) | 一种数据处理方法及装置 | |
CN115344350A (zh) | 云服务系统的节点设备及资源处理方法 | |
CN110875934B (zh) | 一种基于多租户服务的业务分组方法和装置 | |
CN108270744B (zh) | 媒体数据访问方法及装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |