CN102571739A - 批量数据的传输方法及装置 - Google Patents
批量数据的传输方法及装置 Download PDFInfo
- Publication number
- CN102571739A CN102571739A CN2011101393324A CN201110139332A CN102571739A CN 102571739 A CN102571739 A CN 102571739A CN 2011101393324 A CN2011101393324 A CN 2011101393324A CN 201110139332 A CN201110139332 A CN 201110139332A CN 102571739 A CN102571739 A CN 102571739A
- Authority
- CN
- China
- Prior art keywords
- quantity transmitted
- data quantity
- time
- data
- next data
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/327—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the session layer [OSI layer 5]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种批量数据的传输方法及装置。其中,该方法包括:客户端根据当前传输的数据量,从待传输的批量数据中取出对应上述数据量的数据,组成一个数据包传输给服务器;客户端获取服务器执行上述数据量的数据使用的执行时间;客户端根据该执行时间的大小,调整下次传输的数据量,并根据下次传输的数据量执行待传输的批量数据的下一次数据包的传输,其中,下次传输的数据量与上述执行时间成反比。通过本发明,可以根据服务器的实际情况,实时调整数据包的大小,提高了服务器的安全和稳定性,同时提高了执行效率。
Description
技术领域
本发明涉及通讯及计算机网络技术领域,具体的而言,涉及一种网管系统中批量数据的传输方法及装置。
背景技术
网管在新开局或者维护过程中,经常需要批量操作配置数据,数据量一般在数万至数十万条。大数据量批量配置将严重消耗服务器的资源,因此,需要把数据分成若干个数据包,分批发送到服务器执行。
在实际上,由于以下原因,使得一个数据包中携带数据量以及数据包发送的时间间隔难确定:(1)网管服务器是支持多客户端、多任务的,如果批量配置时发送一个大的数据包,并且同时服务器正在处理其他事务,会造成服务器任务拥塞、反应缓慢,甚至死机;(2)不同类型配置数据的单条执行效率差异较大,如果按统一的算法执行,那么服务器在执行效率高的数据时相对空闲,执行效率低的数据时又过于吃力,导致服务器负荷不均衡、性能不稳定。
例如,对于数据A,服务器每秒可以执行5条,而数据B服务器每秒可执行50条,如果客户端每秒发送50条数据,对于数据A,将导致服务器拥塞;如果客户端每秒发送5条,而在执行数据B时,服务器又过于空闲,设备利用率不高。
针对上述问题,目前的主要采用的规避方法是:(1),在进行批量数据配置时,人为通知其他客户端不要进行其他操作,以免造成服务器负荷过大;(2),客户端限制数据执行效率,以牺牲执行速度来换取服务器稳定性。
显然,采用上述两种规避方法不能从根本上解决问题,并且,人为限制具有不确定性,在降低执行速度同时降低了产品竞争力。
发明内容
本发明的主要目的在于提供一种批量数据的传输方法及装置,以至少解决上述问题。
根据本发明的一个方面,提供了一种批量数据的传输方法,包括:客户端根据当前传输的数据量,从待传输的批量数据中取出对应上述数据量的数据,组成一个数据包传输给服务器;客户端获取服务器执行上述数据量的数据使用的执行时间;客户端根据该执行时间的大小,调整下次传输的数据量,并根据下次传输的数据量执行待传输的批量数据的下一次数据包的传输,其中,下次传输的数据量与上述执行时间成反比。
客户端根据上述执行时间的大小,调整下次传输的数据量,包括:客户端判断上述执行时间是否大于预设的时间阈值;如果上述执行时间大于该时间阈值,则调整下次传输的数据量,使下次传输的数据量不大于当前传输的数据量;如果上述执行时间小于上述时间阈值,则调整下次传输的数据量,使下次传输的数据量不小于当前传输的数据量;如果上述执行时间等于上述时间阈值,则将当前传输的数据量作为下次传输的数据量。
调整下次传输的数据量,使下次传输的数据量不大于当前传输的数据量,包括:客户端判断当前传输的数据量是否大于预设的最小传输数据量,如果是,则调整下次传输的数据量,使下次传输的数据量小于当前传输的数据量且大于或等于最小传输数据量;否则,将当前传输的数据量作为下次传输的数据量。
调整下次传输的数据量,使下次传输的数据量小于当前传输的数据量且大于或等于最小传输数据量包括:判断当前传输的数据量的m倍是否小于最小传输数据量,如果是,则将最小传输数据量作为下次传输的数据量,其中,0<m<1;否则,将下次传输的数据量调整为当前传输的数据量的m倍。
调整下次传输的数据量,使下次传输的数据量不小于当前传输的数据量,包括:客户端判断当前传输的数据量是否小于预设的最大传输数据量,如果是,则调整下次传输的数据量,使下次传输的数据量大于当前传输的数据量且小于或等于最大传输数据量;否则,将当前传输的数据量作为下次传输的数据量。
调整下次传输的数据量,使下次传输的数据量大于当前传输的数据量且小于或等于最大传输数据量,包括:判断当前传输的数据量的n倍是否大于最大传输数据量,如果是,则将最大传输数据量作为下次传输的数据量,其中,n为大于1;否则,将下次传输的数据量调整为当前传输的数据量的n倍。
上述时间阈值为时间区间:[T-Tfix,T+Tfix],其中,T为客户端期望的消息返回时间,Tfix为消息返回时间的修正值。
在客户端获取服务器执行数据量的数据使用的执行时间之前,该方法还可以包括:客户端确定待传输的批量数据还未传输完成。
在向服务器传输数据包时,如果是第一次传输待传输的批量数据,则当前传输的数据量为预设的最小传输数据量。
在根据下次传输的数据量执行待传输的批量数据的下一次数据包的传输之前,方法还包括:客户端等待预先为服务器设置的喘息时间。
根据本发明的另一方面,提供了一种批量数据的传输装置,位于客户端,包括:传输模块,用于根据当前传输的数据量,从待传输的批量数据中取出对应上述数据量的数据,组成一个数据包传输给服务器;获取模块,用于获取服务器执行上述数据量的数据使用的执行时间;调整模块,用于根据上述执行时间的大小,调整传输模块下次传输的数据量,并将下次传输的数据量返回给传输模块,其中,下次传输的数据量与上述执行时间成反比。
调整模块包括:判断模块,用于判断上述执行时间是否大于预设的时间阈值;控制模块,用于在上述执行时间大于该时间阈值的情况下,调整下次传输的数据量,使下次传输的数据量不大于当前传输的数据量;在上述执行时间小于上述时间阈值的情况下,调整下次传输的数据量,使下次传输的数据量不小于当前传输的数据量;在执行时间等于时间阈值的情况下,则将当前传输的数据量作为下次传输的数据量。
上述时间阈值为时间区间:[T-Tfix,T+Tfix],其中,T为期望的消息返回时间,Tfix为消息返回时间的修正值。
该装置还包括:暂停模块,用于控制传输模块在两次传输之间等待预先为服务器设置的喘息时间。
通过本发明,在配置数据批量执行过程中,可以根据服务器的实际情况,实时调整数据包的大小,提高了服务器的安全和稳定性,同时提高了执行效率。并且,本发明提供的技术方案不涉及服务器的结构和流程修改,因此,不会额外增加服务器负担。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的批量数据的传输装置的结构示意图;
图2是根据本发明优选实施例的批量数据的传输装置的结构示意图
图3是根据本发明优选实施例的批量数据的传输系统的结构示意图;;
图4是根据本发明实施例的批量数据的传输方法的流程图
图5是根据本发明优选实施例的批量数据的传输流程图;
图6是本发明优选实施例中客户端确定下一次传输的数据量的流程图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
针对相关技术中网管服务器在进行批量配置时,无法兼顾执行效率和服务器的稳定性问题,本发明实施例在基于C/S(客户端/服务器)结构的网管系统中,对客户端进行了改进,使得客户端可以自适应地调整其每次向服务器传输的数据包的数据量,以充分利用服务器资源,提高配置效率,同时也保证了服务器的安全。
图1是根据本发明实施例的批量数据的传输装置的结构示意图,该装置位于客户端,如图1所示,该装置可以包括:传输模块10、获取模块20和调整模块30。其中,传输模块10,用于根据当前传输的数据量,从待传输的批量数据中取出对应该数据量的数据,组成一个数据包传输给服务器;获取模块20,用于获取服务器执行该数据量的数据使用的执行时间;调整模块30与获取模块20连接,用于根据上述执行时间的大小,调整传输模块10下次传输的数据量,并将下次传输的数据量返回给传输模块10,其中,调整模块30在调整下次传输的数据量时,下次传输的数据量与所述执行时间成反比。
其中,获取模块20可以包括一个计时器,在传输模块10传输数据包之后开时计时,在接收到服务器执行完成的消息后,计时结束,该时间即为上述执行时间。
通过本发明实施例提供的上述传输装置,调整模块30可以根据服务器实际处理数据包的速度,实时调整传输模块10每次传输的数据包的大小,从而提高了服务器的安全性和稳定性,同时也提高了服务器的执行效率。
在本发明实施例的一个优选实施方式中,如图2所示,调整模块30可以包括:判断模块310和控制模块320。其中,判断模块310,用于判断上述执行时间是否大于预设的时间阈值;控制模块320与判断模块310连接,用于在上述执行时间大于时间阈值的情况下,调整下次传输的数据量,使下次传输的数据量不大于当前传输的数据量;在上述执行时间小于时间阈值的情况下,调整下次传输的数据量,使下次传输的数据量不小于当前传输的数据量;在上述执行时间等于时间阈值的情况下,则将当前传输的数据量作为下次传输的数据量。
在本发明实施例中,上述时间阈值的取值可以为一个具体的值,也可以为一个区间,例如,该时间阈值可以为客户端期望的消息返回时间T,或者,该时间阈值也可以为时间区间:[T-Tfix,T+Tfix],其中,T为期望的消息返回时间,Tfix为所述消息返回时间的修正值。通过控制模块320的调整,可以将服务器的执行时间调整到用户期望的范围。
在本发明实施例的一个优选实施方式中,控制模块320可以按照以下方式在调整所述下次传输的数据量,使所述下次传输的数据量不大于所述当前传输的数据量:控制模块320判断当前传输的数据量是否大于预设的最小传输数据量,如果是,则调整下次传输的数据量,使下次传输的数据量小于当前传输的数据量且大于或等于最小传输数据量;否则,将当前传输的数据量作为下次传输的数据量。
其中,优选地,控制模块320调整下次传输的数据量,使下次传输的数据量小于当前传输的数据量且大于或等于最小传输数据量时,可以先判断当前传输的数据量的m倍是否小于所述最小传输数据量,如果是,则将最小传输数据量作为下次传输的数据量,其中,0<m<1;否则,将下次传输的数据量调整为所述当前传输的数据量的m倍。优选地,m=0.5。
在本发明实施例的另一个优选实施方式中,控制模块320可以按照以下方式在调整所述下次传输的数据量,使所述下次传输的数据量不小于所述当前传输的数据量:控制模块320判断当前传输的数据量是否小于预设的最大传输数据量,如果是,则调整下次传输的数据量,使下次传输的数据量大于当前传输的数据量且小于或等于最大传输数据量;否则,将当前传输的数据量作为所述下次传输的数据量。
例如,控制模块320可以判断当前传输的数据量的n倍是否大于最大传输数据量,如果是,则将最大传输数据量作为下次传输的数据量,其中,n为大于1,例如,n=1.5、2或2.5等;否则,将下次传输的数据量调整为当前传输的数据量的n倍。从而保证下次传输的数据量大于当前传输的数据量且小于或等于最大传输数据量。优选地,n=2。
在上述优选实施方式中,控制模块320成倍增加或减少每次传输的数据量,从而使得在服务器空闲时,可以使数据量迅速提升上去,而在服务器繁忙时,使数据量迅速下降,进一步在提高效率的同时保证了服务器的稳定性和安全性。
在本发明实施例中,在传输模块10完成一次传输后,传输模块10可以进一步判断上述待传输的批量数据是否传输完成,如果是,则不再触发获取模块20,否则,触发获取模块20,进一步调整下一次传输的数据量。
在本发明实施例的一个优选实施方式中,该装置还可以包括一个暂停模块40,用于控制传输模块10在两次传输之间等待预先为服务器设置的喘息时间。其中,该喘息时间可以为0,在这种情况下,传输模块10不需要等待时间。
在本发明实施例中,上述时间阈值、消息返回时间及其修正值、为所述服务器设置的喘息时间、最小传输数据量及最大传输数据量等参数,可以在对待传输的批量数据进行预处理时设置。
图3是根据本发明优选实施例的数据传输系统的结构示意图,如图3所示,在本发明优选实施例中,可以对客户端进行改进,其中,该传输系统包括:客户端的数据预处理模块(包含上述传输模块10的功能),服务器端的数据执行模块以及数据通讯接口(用于客户端和服务器端之间传递数据包),以及位于客户端的自适应控制模块(包含上述的获取模块20和调整模块30),设置在数据预处理模块和数据通讯接口之间。其中,自适应控制模块可以包括变量定义区和自适应逻辑控制模块两部分。
其中,数据预处理模块:位于客户端,读取要执行的命令信息,并转换为可以执行的格式,然后把转换后的数据发送给自适应控制模块。本模块处理的命令信息可以是Excel工作表,文本格式,数据库文件等格式;自适应控制模块:包括变量定义区和自适应逻辑控制两部分。数据通讯接口:用于客户端和服务器之间传输数据,自适应控制模块返回的数据包传递给数据通讯接口,发送给服务器执行;数据执行模块:是服务器端模块,用于接收客户端发送的数据,并执行。
其中,变量定义区需要定义如下几个系统变量:
最小执行数量Cmin(即上述的最小传输数据量):定义在最苛刻的条件下,一次传输给服务器执行的数据量,同时也表示在进入自适应控制模块之前(即第一次传输某批量数据时),首次执行的数据量;
最大执行数量Cmax(即上述的最大传输数据量):定义在最理想的条件下,服务器一次最多能执行的数据量,该变量是可选的,如果不定义,缺省为无限大,实际上可以由自适应逻辑控制模块来保证这个值;
消息返回时间T和消息返回时间的修正量Tfix:表示客户端发送一个数据包后,服务器执行完成后消息返回的时间,以及它的修正量。在实际应用中,不同数据包的消息返回时间是不可能完全相同的,因此,本发明实施例中定义的是客户端期望的消息返回时间,自适应逻辑控制模块负责将消息返回时间调整到用户期望的范围,即T-Tfix到T+Tfix的范围。一般T取1~5秒,Tfix取0.2~0.5秒为宜。如果T过大,说明一个数据包在服务器执行的时间过长,调整的效果受影响,T过小则会导致频繁发送数据包,对数据通讯接口造成压力;
服务器的喘息时间Tfree:可选变量,缺省是0。表示客户端在连续发送两个数据包之间的暂停时间,留一些时间给服务器处理其他事务,Tfree如果为0,则不暂停,连续发送,在服务器是多核处理器的情况下,Tfree定义为0对服务器性能影响不大。
自适应控制模块的工作流程包括:首先,客户端发送一个包含最小数据量(预先定义)的数据包,同时开始计时,接收到服务器执行完成的消息后,计时结束;此时客户端启动自适应控制模块,自适应控制模块根据本次执行时间和变量定义区预定义的系统变量,自动计算出下一批数据包的大小,客户端根据计算后的数据量发送第二批数据,重新计时;客户端将第二批数据的执行时间和实际执行的数据量,传递给自适应控制模块,计算出下一批的数据包大小,重复执行本步骤,直到所有数据都执行完毕。
下面通过一个实例介绍自适应控制模块的自适应逻辑控制模块的工作原理,在本实例中,定义2个临时变量:一个数据包包含的实际数据量C,执行本次数据包的实际消息返回时间T0,第一次执行时,令C=Cmin,即发送最小数据量,执行后得到本次执行的T0,进入自适应逻辑控制模块,自适应逻辑控制模块的处理步骤如下:
判断:如果T0<T-Tfix,说明执行时间过短,需要增加数据量。再判断如果C=Cmax,说明数据量已达上限,不能再增加,C维持不变,否则C加倍,即C=2*C,如果C增加后大于Cmax,强制C=Cmax;
如果T0>T+Tfix,说明执行时间过长,需要减少数据量。再判断如果C=Cmin,说明数据量已达下限,不能减少,C维持不变,否则C减半,即C=C/2,如果C增加后小于Cmin,强制C=Cmin;
如果T0介于T-Tfix和T+Tfix之间,说明本次数据量合适,C不需要调整。
经过上述调整,输出调整后的C,然后暂停Tfree时间后,退出自适应逻辑控制模块。然后根据C发送数据包,重复执行上述步骤,直至所有数据执行完毕。
根据以上算法,每次调整输出的C总是Cmin*(2的指数次方),这样,在服务器空闲时,可以使数据量以指数级迅速提升,而在服务器繁忙时,则可以使数据量迅速降下来。
根据本发明实施例,还提供了一种批量数据的传输方法,该方法可以使用上述装置实现。
图4是根据本发明实施例的批量数据的传输方法的流程图,如图4所示,该方法主要包括以下步骤:
步骤S402,客户端根据当前传输的数据量,从待传输的批量数据中取出对应所述数据量的数据,组成一个数据包传输给服务器;
步骤S404,客户端获取服务器执行所述数据量的数据使用的执行时间;
例如,客户端在传输上述的数据包时,同时开始计时,在接收到服务器执行完成的消息后,计时结束,客户端将计时器计算得到的时间作为服务器执行上述数据量的数据使用的执行时间。
步骤S406,客户端根据上述执行时间的大小,调整下次传输的数据量,返回步骤S402,其中,下次传输的数据量与上述执行时间成反比。
通过本发明实施例提供的上述方法,可以根据当前网管服务器的状态和服务器配置数据的执行效率,实时自动调节发往服务器的数据量,从而可以充分利用服务器的资源,提高配置效率,同时也保证了服务器的安全。
在本发明实施例的一个优选实施方式中,客户端在执行步骤S406时,可以先判断上述执行时间是否大于预设的时间阈值,再根据判断结果调整下次传输的数据量,其中:
(1)如果该执行时间大于时间阈值,则调整下次传输的数据量,使所述下次传输的数据量不大于所述当前传输的数据量;例如,客户端判断可以当前传输的数据量是否大于预设的最小传输数据量,如果是,则调整下次传输的数据量,使下次传输的数据量小于当前传输的数据量且大于或等于最小传输数据量;否则,将当前传输的数据量作为下次传输的数据量。
例如,客户端可以判断当前传输的数据量的m倍是否小于最小传输数据量,如果是,则将最小传输数据量作为下次传输的数据量,其中,0<m<1;否则,将下次传输的数据量调整为当前传输的数据量的m倍,从而可以保证下次传输的数据量小于当前传输的数据量且大于或等于最小传输数据量。
(2)如果执行时间小于时间阈值,则调整下次传输的数据量,使下次传输的数据量不小于当前传输的数据量;
例如,客户端判断当前传输的数据量是否小于预设的最大传输数据量,如果是,则调整下次传输的数据量,使下次传输的数据量大于当前传输的数据量且小于或等于最大传输数据量;否则,将当前传输的数据量作为下次传输的数据量。
其中,客户端可以判断当前传输的数据量的n倍是否大于最大传输数据量,如果是,则将最大传输数据量作为下次传输的数据量,其中,n为大于1;否则,将下次传输的数据量调整为当前传输的数据量的n倍。从而可以保证下次传输的数据量大于当前传输的数据量且小于或等于最大传输数据量。
(3)如果执行时间等于时间阈值,则将当前传输的数据量作为下次传输的数据量。
其中,上述时间阈值的取值可以为一个具体的值,也可以为一个区间,例如,该时间阈值可以为客户端期望的消息返回时间T,或者,该时间阈值也可以为时间区间:[T-Tfix,T+Tfix],其中,T为期望的消息返回时间,Tfix为所述消息返回时间的修正值。当时间阈值为一个时间区间时,执行时间大于该时间阈值是指执行时间大于该时间区间的最大值,执行时间小于该时间阈值是指执行时间大于该时间区间的最小值,执行时间等于该时间阈值是指执行时间位于该时间区间内。
在本发明实施例中,在上述步骤S404之前,客户端还可以判断待传输的批量数据是否传输完成,如果是,则结束,否则,执行步骤S404。
在本发明实施例的一个优选实施方式中,在执行步骤S402时,如果是第一次传输待传输的批量数据,则当前传输的数据量为预设的最小传输数据量。
在本发明实施例的一个优选实施方式,在步骤S406中,客户端可以在等待预先为服务器设置的喘息时间后,返回步骤S402。
下面结合图3,对本发明优选实施例的批量数据的传输方法进行说明,图5是本优选实施例中客户端的执行流程图,如图5所示,客户端模块执行的流程主要包括以下步骤:
步骤501:读取并预处理数据,转换为可以执行的格式,本步骤由数据预处理模块完成;
步骤502:初始化自适应控制模块,模块中的系统变量在本步骤完成初始化;
步骤503:从自适应控制模块中得到本次执行的数据量C,如果是第一次执行,则C等于系统变量Cmin(即最小执行数量),否则C由逻辑控制部分输出;
步骤504:将数据包发送到服务器执行,执行结束后得到本次执行的实际时间T0;
步骤505:判断数据是否已执行完毕,如果是,转到步骤507,结束流程,否则执行步骤506;
步骤506:将执行时间T0传递给自适应控制模块,经过自适应控制模块计算后,得到下一批要执行的数据量C,重复步骤503;
步骤507:流程结束。
在本发明优选实施例中,自适应控制模块获取下一批要执行的数据量C可以按照图6所示的流程执行,如图6所示,在本发明优选实施例中的自适应控制模块的具体执行主要包括以下步骤:
步骤601:获取上一次传输时服务器的实际执行时间T0;
步骤602:判断T0是否小于T-Tfix(即系统变量消息返回时间T和修正量Tfix之差),如果是,转到步骤603,否则转到步骤606;
步骤603:判断当前的数据量(即上一次实际执行的数据量)C是否等于系统变量最大执行数量Cmax,如果是,转到步骤610,否则执行步骤604;
步骤604:判断C*2>Cmax?即当前数据量乘以2之后,是否大于系统变量Cmax,如果是,转到步骤610,否则执行步骤605;
步骤605:当前执行的数据量加倍,即C=C*2;
步骤606:判断T0是否大于T+Tfix(即系统变量消息返回时间T和修正量Tfix之和),如果是,执行步骤607,否则转到步骤610;
步骤607:判断当前的数据量C是否等于系统变量最小执行数量Cmin,如果是,转到步骤610,否则执行步骤608;
步骤608:判断C/2>Cmin?即当前数据量除以2之后,是否小于系统变量Cmin,如果是,转到步骤610,否则执行步骤609;
步骤609:当前执行的数据量减半,即C=C/2;
步骤610:当前执行的数据量保持不变;
步骤611:客户端线程休眠Tfree(系统变量服务器喘息时间),以客户端线程休眠的方式来实现服务器的休息,如果Tfree定义为0,则不休眠;
步骤612:流程结束,本模块返回调整后的数据量C。
从以上的描述中,可以看出,通过本发明实施例提供的技术方案,在网管批量数据配置时,根据当前网管服务器的状态和服务器配置数据的单条执行效率,实时自动调节发往服务器的数据量,从而达到充分利用服务器资源、提高配置效率的目的,同时保证了服务器的安全。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (14)
1.一种批量数据的传输方法,其特征在于,包括:
客户端根据当前传输的数据量,从待传输的批量数据中取出对应所述数据量的数据,组成一个数据包传输给服务器;
所述客户端获取所述服务器执行所述数据量的数据使用的执行时间;
所述客户端根据所述执行时间的大小,调整下次传输的数据量,并根据所述下次传输的数据量执行所述待传输的批量数据的下一次数据包的传输,其中,所述下次传输的数据量与所述执行时间成反比。
2.根据权利要求1所述的方法,其特征在于,所述客户端根据所述执行时间的大小,调整下次传输的数据量,包括:
所述客户端判断所述执行时间是否大于预设的时间阈值;
如果所述执行时间大于所述时间阈值,则调整所述下次传输的数据量,使所述下次传输的数据量不大于所述当前传输的数据量;
如果所述执行时间小于所述时间阈值,则调整所述下次传输的数据量,使所述下次传输的数据量不小于所述当前传输的数据量;
如果所述执行时间等于所述时间阈值,则将所述当前传输的数据量作为所述下次传输的数据量。
3.根据权利要求2所述的方法,其特征在于,调整所述下次传输的数据量,使所述下次传输的数据量不大于所述当前传输的数据量,包括:
所述客户端判断所述当前传输的数据量是否大于预设的最小传输数据量,如果是,则调整所述下次传输的数据量,使所述下次传输的数据量小于所述当前传输的数据量且大于或等于所述最小传输数据量;否则,将所述当前传输的数据量作为所述下次传输的数据量。
4.根据权利要求3所述的方法,其特征在于,调整所述下次传输的数据量,使所述下次传输的数据量小于所述当前传输的数据量且大于或等于所述最小传输数据量包括:
判断所述当前传输的数据量的m倍是否小于所述最小传输数据量,如果是,则将所述最小传输数据量作为所述下次传输的数据量,其中,0<m<1;否则,
将所述下次传输的数据量调整为所述当前传输的数据量的m倍。
5.根据权利要求2所述的方法,其特征在于,调整所述下次传输的数据量,使所述下次传输的数据量不小于所述当前传输的数据量,包括:
所述客户端判断所述当前传输的数据量是否小于预设的最大传输数据量,如果是,则调整所述下次传输的数据量,使所述下次传输的数据量大于所述当前传输的数据量且小于或等于所述最大传输数据量;否则,将所述当前传输的数据量作为所述下次传输的数据量。
6.根据权利要求5所述的方法,其特征在于,调整所述下次传输的数据量,使所述下次传输的数据量大于所述当前传输的数据量且小于或等于所述最大传输数据量,包括:
判断所述当前传输的数据量的n倍是否大于所述最大传输数据量,如果是,则将所述最大传输数据量作为所述下次传输的数据量,其中,n为大于1;否则,
将所述下次传输的数据量调整为所述当前传输的数据量的n倍。
7.根据权利要求2至6中任一项所述的方法,其特征在于,所述时间阈值为时间区间:[T-Tfix,T+Tfix],其中,T为所述客户端期望的消息返回时间,Tfix为所述消息返回时间的修正值。
8.根据权利要求1至6中任一项所述的方法,其特征在于,在所述客户端获取所述服务器执行所述数据量的数据使用的执行时间之前,所述方法还包括:所述客户端确定所述待传输的批量数据还未传输完成。
9.根据权利要求1至6中任一项所述的方法,其特征在于,在向所述服务器传输所述数据包时,如果是第一次传输所述待传输的批量数据,则所述当前传输的数据量为预设的最小传输数据量。
10.根据权利要求1至6中任一项所述的方法,其特征在于,在根据所述下次传输的数据量执行所述待传输的批量数据的下一次数据包的传输之前,所述方法还包括:所述客户端等待预先为所述服务器设置的喘息时间。
11.一种批量数据的传输装置,位于客户端,其特征在于,包括:
传输模块,用于根据当前传输的数据量,从待传输的批量数据中取出对应所述数据量的数据,组成一个数据包传输给服务器;
获取模块,用于获取所述服务器执行所述数据量的数据使用的执行时间;
调整模块,用于根据所述执行时间的大小,调整所述传输模块下次传输的数据量,
并将所述下次传输的数据量返回给所述传输模块,其中,所述下次传输的数据量与所述执行时间成反比。
12.根据权利要求11所述的装置,其特征在于,所述调整模块包括:
判断模块,用于判断所述执行时间是否大于预设的时间阈值;
控制模块,用于在所述执行时间大于所述时间阈值的情况下,调整所述下次传输的数据量,使所述下次传输的数据量不大于所述当前传输的数据量;在所述执行时间小于所述时间阈值的情况下,调整所述下次传输的数据量,使所述下次传输的数据量不小于所述当前传输的数据量;在所述执行时间等于所述时间阈值的情况下,则将所述当前传输的数据量作为所述下次传输的数据量。
13.根据权利要求12所述的装置,其特征在于,所述时间阈值为时间区间:[T-Tfix,T+Tfix],其中,T为期望的消息返回时间,Tfix为所述消息返回时间的修正值。
14.根据权利要求11至13中任一项所述的装置,其特征在于,所述装置还包括:暂停模块,用于控制所述传输模块在两次传输之间等待预先为所述服务器设置的喘息时间。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011101393324A CN102571739A (zh) | 2011-05-26 | 2011-05-26 | 批量数据的传输方法及装置 |
PCT/CN2012/073147 WO2012159494A1 (zh) | 2011-05-26 | 2012-03-27 | 批量数据的传输方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011101393324A CN102571739A (zh) | 2011-05-26 | 2011-05-26 | 批量数据的传输方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102571739A true CN102571739A (zh) | 2012-07-11 |
Family
ID=46416226
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011101393324A Pending CN102571739A (zh) | 2011-05-26 | 2011-05-26 | 批量数据的传输方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN102571739A (zh) |
WO (1) | WO2012159494A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014085959A1 (zh) * | 2012-12-03 | 2014-06-12 | 华为技术有限公司 | 批量文件传输方法及设备 |
CN106101218A (zh) * | 2016-06-12 | 2016-11-09 | 乐视控股(北京)有限公司 | 终端数据的上报方法及装置 |
WO2017084445A1 (zh) * | 2015-11-18 | 2017-05-26 | 上海斐讯数据通信技术有限公司 | 一种网管系统中WebSocket推送告警信息的方法及系统 |
CN110392367A (zh) * | 2018-04-16 | 2019-10-29 | 深圳Tcl新技术有限公司 | 一种蓝牙传输控制方法、系统及存储介质 |
CN110881021A (zh) * | 2018-09-06 | 2020-03-13 | 中国移动通信有限公司研究院 | Msrp分片的处理方法及装置、网络设备及存储介质 |
CN116192759A (zh) * | 2022-12-13 | 2023-05-30 | 网易(杭州)网络有限公司 | 数据传输量的调整方法、装置、电子设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1741408A (zh) * | 2004-08-23 | 2006-03-01 | 华为技术有限公司 | 调整自动重传请求系统的发射功率的方法 |
CN1980238A (zh) * | 2006-10-30 | 2007-06-13 | 上海广电(集团)有限公司中央研究院 | 基于实时传输/控制协议的h.264流媒体传输控制方法 |
JP2007148900A (ja) * | 2005-11-29 | 2007-06-14 | Toshiba Corp | Dma制御装置及びデータ再生装置 |
CN101110818A (zh) * | 2007-07-12 | 2008-01-23 | 深圳市融合视讯科技有限公司 | 一种面向非连接的用户数据协议的优化方法 |
CN101453295A (zh) * | 2007-12-06 | 2009-06-10 | 英业达股份有限公司 | 根据客户端的数据处理速度调整网络数据发送速度的方法 |
CN101527659A (zh) * | 2009-04-15 | 2009-09-09 | 腾讯科技(深圳)有限公司 | 一种数据传输监控方法、系统及网络传输装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101577672A (zh) * | 2008-05-07 | 2009-11-11 | 中国移动通信集团公司 | 在流媒体业务中数据传输的方法、系统及装置 |
CN101616077B (zh) * | 2009-07-29 | 2011-10-05 | 武汉大学 | 互联网大文件的快速传输方法 |
-
2011
- 2011-05-26 CN CN2011101393324A patent/CN102571739A/zh active Pending
-
2012
- 2012-03-27 WO PCT/CN2012/073147 patent/WO2012159494A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1741408A (zh) * | 2004-08-23 | 2006-03-01 | 华为技术有限公司 | 调整自动重传请求系统的发射功率的方法 |
JP2007148900A (ja) * | 2005-11-29 | 2007-06-14 | Toshiba Corp | Dma制御装置及びデータ再生装置 |
CN1980238A (zh) * | 2006-10-30 | 2007-06-13 | 上海广电(集团)有限公司中央研究院 | 基于实时传输/控制协议的h.264流媒体传输控制方法 |
CN101110818A (zh) * | 2007-07-12 | 2008-01-23 | 深圳市融合视讯科技有限公司 | 一种面向非连接的用户数据协议的优化方法 |
CN101453295A (zh) * | 2007-12-06 | 2009-06-10 | 英业达股份有限公司 | 根据客户端的数据处理速度调整网络数据发送速度的方法 |
CN101527659A (zh) * | 2009-04-15 | 2009-09-09 | 腾讯科技(深圳)有限公司 | 一种数据传输监控方法、系统及网络传输装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014085959A1 (zh) * | 2012-12-03 | 2014-06-12 | 华为技术有限公司 | 批量文件传输方法及设备 |
WO2017084445A1 (zh) * | 2015-11-18 | 2017-05-26 | 上海斐讯数据通信技术有限公司 | 一种网管系统中WebSocket推送告警信息的方法及系统 |
CN106101218A (zh) * | 2016-06-12 | 2016-11-09 | 乐视控股(北京)有限公司 | 终端数据的上报方法及装置 |
CN110392367A (zh) * | 2018-04-16 | 2019-10-29 | 深圳Tcl新技术有限公司 | 一种蓝牙传输控制方法、系统及存储介质 |
CN110881021A (zh) * | 2018-09-06 | 2020-03-13 | 中国移动通信有限公司研究院 | Msrp分片的处理方法及装置、网络设备及存储介质 |
CN116192759A (zh) * | 2022-12-13 | 2023-05-30 | 网易(杭州)网络有限公司 | 数据传输量的调整方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2012159494A1 (zh) | 2012-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102571739A (zh) | 批量数据的传输方法及装置 | |
EP2882233B1 (en) | Service agent method, modem, and terminal | |
CN103945003B (zh) | 一种WebRTC客户端连接动态自适应选择的方法 | |
CN104811459A (zh) | 用于消息服务的处理方法、装置及系统、消息服务系统 | |
CN104980367A (zh) | 一种令牌桶限速方法和装置 | |
CN102916833B (zh) | 远程调试方法、系统及调试目标设备 | |
CN102158346A (zh) | 基于云计算的信息采集系统及方法 | |
CN104283643A (zh) | 报文限速方法和装置 | |
CN101707789B (zh) | 流量控制方法及系统 | |
CN103209115A (zh) | 一种消息发送系统 | |
CN103945455A (zh) | 一种实现自适应心跳数据包发送的方法及装置 | |
CN109361762A (zh) | 一种文件传输方法、装置及系统 | |
CN105049531A (zh) | 一种消息推送系统及方法 | |
CN103312719A (zh) | 网络环境下基于udp的速率自适应传输方法 | |
CN102215177B (zh) | 一种即时通讯软件的系统消息的处理方法与装置 | |
CN106487817B (zh) | 一种tcp连接的关闭方法及装置 | |
CN104753813A (zh) | Dma传送报文的方法 | |
CN112866985A (zh) | 流量控制方法、资源下载方法、装置、设备和存储介质 | |
CN105591790A (zh) | 数据通信连接池管理装置 | |
CN106961368A (zh) | 一种家电云服务器工作方法和家电云服务器系统工作方法 | |
CN110417875A (zh) | 一种云服务器之间的对接方法、系统、设备及存储介质 | |
CN107979542A (zh) | 网络拥塞确定方法及本端网元 | |
CN104184602A (zh) | 增量数据同步方法、网元管理系统及网络管理系统 | |
CN105471701B (zh) | 设置消息超时时长的方法和代理系统 | |
CN113873008A (zh) | 一种rdma网络节点的连接重配方法、装置、系统及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20120711 |