CN114095438B - 数据传输方法、装置、设备、存储介质及计算机程序产品 - Google Patents
数据传输方法、装置、设备、存储介质及计算机程序产品 Download PDFInfo
- Publication number
- CN114095438B CN114095438B CN202111412886.7A CN202111412886A CN114095438B CN 114095438 B CN114095438 B CN 114095438B CN 202111412886 A CN202111412886 A CN 202111412886A CN 114095438 B CN114095438 B CN 114095438B
- Authority
- CN
- China
- Prior art keywords
- data
- interval
- average
- transmission
- transmitted
- 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/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
Abstract
本公开提供了一种数据传输方法、装置、电子设备、计算机可读存储介质及计算机程序产品,涉及数据均匀化传输等媒体云技术领域。该方法包括:接收数据源节点本次传入的待传输数据;根据历史的数据接收间隔和数据发送间隔,确定平均接收间隔和平均发送间隔;根据平均接收间隔和平均发送间隔,确定拆分发送份数;基于待传输数据的数据量和拆分发送份数,得到多个数据分片;将各数据分片在时长为平均接收间隔的后续时段内,依次、均匀的发送给下一级节点。通过应用该方法得以将脉冲式的数据传输纠正为均匀的数据传输,提升了数据传输的均匀性、降低了数据堵塞情况发生的概率。
Description
技术领域
本公开涉及数据处理技术领域,具体涉及数据均匀化传输等媒体云技术领域,尤其涉及一种数据传输方法、装置、电子设备、计算机可读存储介质及计算机程序产品。
背景技术
在一些视频数据传输场景中,接受数据节点接收到的流视频数据并非以一种较为均匀的速度被发送过来,而是每隔一段较长的时间(例如200ms以上)就会在一段较短的时间内(例如10ms以内)发来较多的视频数据,
由于视频流数据是从源节点开始发送,经由若干中继节点转发最终发送到终端被视频观看着消费,若中继节点不做处理直接转发,那么下一个接受数据的节点接收到的数据仍保持脉冲式特征。此类脉冲式数据在全网的流动,会导致若干问题,造成业务质量下降、成本提升。
发明内容
本公开实施例提出了一种数据传输方法、装置、电子设备、计算机可读存储介质及计算机程序产品。
第一方面,本公开实施例提出了一种数据传输方法,包括:接收数据源节点本次传入的待传输数据;根据历史的数据接收间隔和数据发送间隔,确定平均接收间隔和平均发送间隔;根据平均接收间隔和平均发送间隔,确定拆分发送份数;基于待传输数据的数据量和拆分发送份数,得到多个数据分片;将各数据分片在时长为平均接收间隔的后续时段内,依次、均匀的发送给下一级节点。
第二方面,本公开实施例提出了一种数据传输装置,包括:待传输数据接收单元,被配置成接收数据源节点本次传入的待传输数据;平均间隔确定单元,被配置成根据历史的数据接收间隔和数据发送间隔,确定平均接收间隔和平均发送间隔;拆分发送份数确定单元,被配置成根据平均接收间隔和平均发送间隔,确定拆分发送份数;数据分片获取单元,被配置成基于待传输数据的数据量和拆分发送份数,得到多个数据分片;均匀发送单元,被配置成将各数据分片在时长为平均接收间隔的后续时段内,依次、均匀的发送给下一级节点。
第三方面,本公开实施例提供了一种电子设备,该电子设备包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,该指令被至少一个处理器执行,以使至少一个处理器执行时能够实现如第一方面中任一实现方式描述的数据传输方法。
第四方面,本公开实施例提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该计算机指令用于使计算机执行时能够实现如第一方面中任一实现方式描述的数据传输方法。
第五方面,本公开实施例提供了一种包括计算机程序的计算机程序产品,该计算机程序在被处理器执行时能够实现如第一方面中任一实现方式描述的数据传输方法。
本公开所提供的应用于首个中继节点的技术方案,通过根据历史数据收发的实际间隔计算得到平均接收间隔和平均发送间隔,进而将平均发送间隔与平均接收间隔的比值作为用于实现均匀发送的拆分发送份数,因此可基于本次接收到的待传输数据和拆分发送份数,在由平均接收间隔充当的预测发送时长内将拆分出的多个数据分片依次、均匀发送出去。通过该技术方案得以将脉冲式的数据传输纠正为均匀的数据传输,提升了数据传输的均匀性、降低了数据堵塞情况发生的概率。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本公开的其它特征、目的和优点将会变得更明显:
图1是本公开可以应用于其中的示例性系统架构;
图2为本公开实施例提供的一种数据传输方法的流程图;
图3为本公开实施例提供的一种确定平均接收间隔和平均发送间隔的方法的流程图;
图4为本公开实施例提供的一种拆分得到多个数据分片的方法的流程图;
图5为中继节点现有的数据传输过程的示意图;
图6为应用本公开实施例所提供方案的中继节点的数据传输过程的示意图;
图7为图6所示示意图的细节展开图;
图8为分别应用图5和图6所示方案的数据传输效果对照图;
图9为本公开实施例提供的一种数据传输装置的结构框图;
图10为本公开实施例提供的一种适用于执行数据传输方法的电子设备的结构示意图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。
本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
图1示出了可以应用本公开的数据传输方法、装置、电子设备及计算机可读存储介质的实施例的示例性系统架构100。
如图1所示,系统架构100为包含有多个节点的集群或网络(例如CDN,ContentDelivery Network,内容分发网络),各节点之间通常依靠网络进行数据传输,各节点也可以与其它用户终端建立起的数据传输通路,响应于用户终端发来的数据获取请求而向用户终端发送相应的数据,若当前节点并未存储有用户终端的所请求数据,当前节点还可以从存储有所请求数据的其它节点中获取。
具体的,系统架构100可以包括数据源节点101、一级中继节点(也可以称为首个中继节点)102、二级中继节点103,以及并未示出的、实际可能存在的后续多级中继节点。其中,一级中继节点102因直接连接于数据源节点101而得名,即数据源节点101只能将先将数据发送至一级中继节点102、再通过一级中继节点102与二级中继节点103之间的数据传输通路将数据再次转发至二级中继节点103,依次类推的最终将数据发送至目的设备(可以为某级中继节点,也可以为与某级中继节点相连接的用户终端)。节点之前可通过有线或无线的方式实现数据传输。
上述各节点上可以安装有各种用于实现实际功能的应用,例如数据传输类应用、待传输数据整理类应用、即时通讯类应用等。
数据源节点101、一级中继节点102、二级中继节点103可以为硬件,也可以是软件。当数据源节点101、一级中继节点102、二级中继节点103为硬件时,可以是具有数据存储能力、数据处理能力的电子设备,包括但不限于、平板电脑、笔记本电脑、台式计算机、单个服务器或由多个服务器组成的服务器集群等等;当数据源节点101、一级中继节点102、二级中继节点103为软件时,可以安装在上述所列举的电子设备中,其可以实现成多个软件或软件模块,也可以实现成单个软件或软件模块,在此不做具体限定。
一级中继节点102通过内置的各种应用可以提供各种服务,以可以为接收到的待传输数据提供数据传输均匀化服务的待传输数据整理类应用为例,一级中继节点102在运行该待传输数据整理类应用时可实现如下效果:首先,接收数据源节点101本次传入的待传输数据;然后,根据历史的数据接收间隔和数据发送间隔,确定平均接收间隔和平均发送间隔;接下来,根据平均接收间隔和平均发送间隔,确定拆分发送份数;下一步,基于待传输数据的数据量和拆分发送份数,得到多个数据分片;最后将各数据分片在时长为平均接收间隔的后续时段内,依次、均匀的发送给两个二级中继节点103。
本公开后续各实施例所提供的数据传输方法一般由一级中继节点102来执行,以借助一级中继节点102仅邻于数据源节点101的层级,来从数据传输的源头处避免产生脉冲式的数据传输。相应的,数据传输装置也可以设置于一级中继节点102中。需要特别说明的是,在某些应用场景,也可以根据实际需求将所提供的数据传输方案下发至二级中继节点或其它级中继节点。
应该理解,图1中的数据源节点、一级中继节点和二级中继节点的数目仅仅是示意性的。根据实现需要,可以具有任意数目的数据源节点、一级中继节点和二级中继节点。
请参考图2,图2为本公开实施例提供的一种数据传输方法的流程图,其中流程200包括以下步骤:
步骤201:接收数据源节点本次传入的待传输数据;
本步骤旨在由数据传输方法的执行主体(例如图1所示的一级中继节点102)接收由数据源节点(例如图1所示的数据源节点101)本次发出的待传输数据。
其中,数据源节点是指首个发出待传输数据的节点,即待传输数据原存储在该数据源节点;本次传入的待传输数据,用于区别非本次传入(例如上一次传入)的待传输数据。
步骤202:根据历史的数据接收间隔和数据发送间隔,确定平均接收间隔和平均发送间隔;
在步骤201的基础上,本步骤旨在由上述执行主体根据历史的实际收发情况,确定平均接收间隔和平均发送间隔,以将确定出的平均接收间隔作为本次接收数据与下一次接收数据之间的预测时间间隔。
具体的,在确定平均接收间隔或平均发送间隔时,可出于提升准确性的想法,根据较多次的数据接收情况来求取该平均接收间隔,进一步的,考虑到数据传输通常是不确定的,还可以优选距本次数据接收较近几次的数据接收情况来求取该平均接收间隔。确定平均发送间隔的方式相同,此处不再赘述。
步骤203:根据平均接收间隔和平均发送间隔,确定拆分发送份数;
在步骤202的基础上,本步骤旨在由上述执行主体根据平均接收间隔和平均发送间隔,计算得到拆分发送份数。该拆分发送份数表示将本次接收到的待传输数据拆分为几份,以便将拆分出的几份数据均匀发出来实现数据发送的均匀化。
之所以根据平均接收间隔和平均发送间隔来计算拆分发送份数,是因为相对于时间较长的接收间隔,发送间隔相对较短,接收间隔表示相邻两次的数据接收行为之间的时长,发送间隔则表示相邻两次的数据发送行为之间的时长,因此在本公开想要去除的脉冲式数据发送行为、想要实现的数据发送均匀化的目的上,发送间隔应当明显小于接收间隔。因此,在平均发送间隔做分子、平均接收间隔做分母时,其商将是一个小于1的值,即可以将该商的值理解为两次数据发送行为的耗时与两次数据接收行为的时长的占比,进而可以换算得到拆分发送份数。
例如平均发送间隔为20ms、平均接收间隔为200ms,那么其商为0.1,其商的倒数为10,也就是可将以待传输数据为主要传输对象的数据拆分为10份来依次、均匀的发送出去。
步骤204:基于待传输数据的数据量和拆分发送份数,得到多个数据分片;
在步骤203的基础上,本步骤旨在由上述执行主体基于待传输数据的数据量和拆分发送份数,最终得到多个数据分片。即每个数据分片包含一部分接下来要传输的数据,所有的数据分片共同构成了全部的待传输数据。
需要说明的是,全部的待传输数据不一定仅包含本次接收到的待传输数据,若上一次接收到的待传输数据仍留存一部分至本次传输,那么也应当加入存留的剩余数据,以便于防止剩余数据的持续堆积。同理,造成上一次数据传输未将全部的待传输数据传输完的原因可能有很多,同样的或不同的原因也有可能造成本次数据传输依然导致留存有新的剩余数据,还可以在持续出现该情况时,有针对性的提出改善措施,以避免剩余数据越攒越多。
步骤205:将各数据分片在时长为平均接收间隔的后续时段内,依次、均匀的发送给下一级节点。
在步骤204的基础上,本步骤旨在由上述执行主体将各数据分片在时长为平均接收间隔的后续时段内,依次、均匀的发送给下一级节点。即假设平均接收间隔为200ms、经步骤203拆分为10个数据分片,那么就应当每间隔20ms就将其中一个数据分片发送给下一级节点,直至200ms时完成全部10个数据分片的发送。
本公开实施例提供的应用于首个中继节点的数据传输方法,通过根据历史数据收发的实际间隔计算得到平均接收间隔和平均发送间隔,进而将平均发送间隔与平均接收间隔的比值作为用于实现均匀发送的拆分发送份数,因此可基于本次接收到的待传输数据和拆分发送份数,在由平均接收间隔充当的预测发送时长内将拆分出的多个数据分片依次、均匀发送出去。通过该方法得以将脉冲式的数据传输纠正为均匀的数据传输,提升了数据传输的均匀性、降低了数据堵塞情况发生的概率。
为尽可能的提升确定出的平均接收间隔、平均发送间隔的准确性,本实施例还通过图3提供了一种确定平均接收间隔和平均发送间隔的方法,其流程300包括以下步骤:
步骤301:获取距当前时刻最近的预设次数的数据传输任务的实际数据接收间隔和实际数据发送间隔;
该预设次数可以自行设定,例如5次、7次。另外,考虑到不同次数据传输任务的任务情况不同,还可以在确定平均间隔时,去除一些比较极端、与其它次数据传输任务存在明显差别的实际间隔,以进一步的提升计算结果的准确性。
步骤302:计算与预设次数的实际数据接收间隔对应的接收间隔均值,得到平均接收间隔;
步骤303:计算与预设次数的实际数据发送间隔对应的发送间隔均值,得到平均发送间隔。
步骤302-步骤303则是通过分别对多次的实际数据接收间隔和实际数据发送间隔求取均值的方式,来最终得到平均接收间隔和平均发送间隔。
除本实施例所提供的基于时效性选取距当前时刻最近几次的时间间隔来计算平均值外,还可以在数据传输任务具有周期性的情况下,选取历史同周期的实际间隔来进行计算,总的来说,目的是根据实际情况来灵活的选择能使平均间隔更准确的实现方案。
在本次的待传输数据开始传输之前,若上述执行主体的存储单元中还留存有之前的剩余数据未传输完,为了尽可能的避免剩余数据逐渐堆积,本实施例还通过图4提供了一种拆分得到多个数据分片的方法,其流程400包括以下步骤:
步骤401:根据待传输数据和剩余数据的数据量,确定全量待传输数据;
步骤402:将全量待传输数据按拆分发送份数进行均匀拆分,得到多个数据量相同的数据分片。
即步骤401-步骤402在本次的待传输数据的基础上,还额外结合了历史的数据传输任务未完成传输的剩余数据,进而将拆分对象确定为全量待传输数据,并采用了数据均匀拆分的方式来得到多个数据量相同的数据分片,以在保证数据量传输均匀的情况下尽可能的避免数据堆积在上述执行主体中。
在上述任意实施例的基础上,考虑到单次数据传输的每个数据分片可能存在数据量上限,即剩余数据的产生可能也是因为之前的待传输数据的数据量过大、导致每个数据分片的数据量超过了上限。因此,在此种情况下,若每个数据分片的数据量超过了预设的数据量阈值,可以将超出数据量阈值的部分超量数据作为新的剩余数据留存至下一次数据传输。
进一步的,若连续有预设次数(例如3次或5次)的数据传输均留存有剩余数据、且所留存的剩余数据的数据量呈增加趋势(即每次留存的数据剩余的数据量越来越多),那么可以发起数据量阈值提升申请。之所以发起数据量阈值提升申请,是因为本实施例认为造成导致剩余数据持续产生的原因是较小的数据量阈值限制了每个数据分片的数据量,因此可以在有限的提升空间内来提高该数据量阈值。
若接收到针对该数据量阈值提升申请返回的同意反馈,将当前的数据量阈值按预设的提升量进行提升,得到新数据量阈值,以使后续的数据传输按新数据量阈值作为数据分片的数据量上限。
若因为其它因素导致持续出现剩余数据出现,也可以针对性的、在允许的调节范围内进行一定的调节,以在保证上述执行主体正常运行的同时、尽可能的消除数据堆积的情况。
为加深理解,本公开将通过对比现有技术方案的方式,来明确本公开所提供的技术方案将如何影响中继节点的数据传输过程,从而实现数据传输均匀化的效果,请参见如图5-图8:
对于CDN中继节点,基本只实现数据转发功能,即将收到的数据直接转发至下一个中继节点,一般情况是设置一个缓存队列,接收数据协程向队列的队尾不断置入流数据,发送数据协程不断从队头取出数据发送(请参见图5所示的数据转发过程)。
在如图5所示的现有技术下,中继节点不对接收到的数据做处理,而选择直接转发,那么下一个接受数据的节点接收到的数据仍保持脉冲式特征。此类脉冲式数据在全网的流动,会导致若干问题,造成业务质量下降、成本提升。
为解决上述问题,本公开实施例对于脉冲式流数据的处理使用了双缓冲队列的机制,即接收数据协程向缓存队列1的队尾不断置入流数据,发送数据协程不断从缓存队列2的队头取出数据发送,同时设定从缓存队列1向缓存队列2转移数据的机制,转移数据的量级基于网络状况进行自适应的调整(请参见图6所示的数据转发过程)。其中,接收数据协程将不断向缓冲队列1中添加数据,成脉冲性,每隔一段时间T(T不固定)入队N个数据包(N不确定);发送数据协程则每隔一段时间t从缓存队取出数据然后发送。
图7则对图6的细节进行了进一步的展示,可见图7示出了最近的5次通过接收数据协程存入缓存队列1的时间间隔、以及最近5次触发转移至缓存队列2的时间间隔,以期通过这最近5次的时间间隔的比值(即近5次数据发送协程尝试发送操作时间时间间隔的平均值与近5次脉冲式数据带来的时间间隔的平均值)作为拆分发送份数,并由此确定每次从缓存队列1向缓存队列2转移数据包的数量。同时,还可以考虑缓存队列1所剩余的数据包数量,来避免数据包的堆积。
最后,图8的上下两部分分别示出了按照旧方案和按照新方案执行,中继节点在转发数据前后的效果对比示意图,可以明显看出,通过均匀化处理,明显提升了中继节点发出的数据的均匀性,进而有利于避免数据堵塞。
进一步参考图9,作为对上述各图所示方法的实现,本公开提供了一种数据传输装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图9所示,本实施例的数据传输装置900可以包括:待传输数据接收单元901、平均间隔确定单元902、拆分发送份数确定单元903、数据分片获取单元904、均匀发送单元905。其中,待传输数据接收单元901,被配置成接收数据源节点本次传入的待传输数据;平均间隔确定单元902,被配置成根据历史的数据接收间隔和数据发送间隔,确定平均接收间隔和平均发送间隔;拆分发送份数确定单元903,被配置成根据平均接收间隔和平均发送间隔,确定拆分发送份数;数据分片获取单元904,被配置成基于待传输数据的数据量和拆分发送份数,得到多个数据分片;均匀发送单元905,被配置成将各数据分片在时长为平均接收间隔的后续时段内,依次、均匀的发送给下一级节点。
在本实施例中,数据传输装置900中:待传输数据接收单元901、平均间隔确定单元902、拆分发送份数确定单元903、数据分片获取单元904、均匀发送单元905的具体处理及其所带来的技术效果可分别参考图2对应实施例中的步骤201-205的相关说明,在此不再赘述。
在本实施例的一些可选的实现方式中,数据分片获取单元904可以被进一步配置成:
响应于在待传输数据开始传输之前、还留存有剩余数据未传输完,根据待传输数据和剩余数据的数据量,确定全量待传输数据;
将全量待传输数据按拆分发送份数进行均匀拆分,得到多个数据量相同的数据分片。
在本实施例的一些可选的实现方式中,数据传输装置900还可以包括:
超量数据留存处理单元,被配置成响应于每个数据分片的数据量超过预设的数据量阈值,将超出数据量阈值的部分超量数据作为新的剩余数据留存至下一次数据传输。
在本实施例的一些可选的实现方式中,数据传输装置900还可以包括:
阈值提升申请发起单元,被配置成响应于连续有预设次数的数据传输均留存有剩余数据、且所留存的剩余数据的数据量呈增加趋势,发起数据量阈值提升申请;
阈值提升单元,被配置成响应于接收到针对数据量阈值提升申请的同意反馈,将当前的数据量阈值按预设的提升量进行提升,得到新数据量阈值,以使后续的数据传输按新数据量阈值作为数据分片的数据量上限。
在本实施例的一些可选的实现方式中,平均间隔确定单元902可以被进一步配置成:
获取距当前时刻最近的预设次数的数据传输任务的实际数据接收间隔和实际数据发送间隔;
计算与预设次数的实际数据接收间隔对应的接收间隔均值,得到平均接收间隔;
计算与预设次数的实际数据发送间隔对应的发送间隔均值,得到平均发送间隔。
本实施例作为对应于上述方法实施例的装置实施例存在。
本公开实施例提供的应用于首个中继节点的数据传输装置,通过根据历史数据收发的实际间隔计算得到平均接收间隔和平均发送间隔,进而将平均发送间隔与平均接收间隔的比值作为用于实现均匀发送的拆分发送份数,因此可基于本次接收到的待传输数据和拆分发送份数,在由平均接收间隔充当的预测发送时长内将拆分出的多个数据分片依次、均匀发送出去。通过该装置得以将脉冲式的数据传输纠正为均匀的数据传输,提升了数据传输的均匀性、降低了数据堵塞情况发生的概率。
根据本公开的实施例,本公开还提供了一种电子设备,该电子设备包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,该指令被至少一个处理器执行,以使至少一个处理器执行时能够实现上述任意实施例所描述的数据传输方法。
根据本公开的实施例,本公开还提供了一种可读存储介质,该可读存储介质存储有计算机指令,该计算机指令用于使计算机执行时能够实现上述任意实施例所描述的数据传输方法。
根据本公开的实施例,本公开还提供了一种计算机程序产品,该计算机程序在被处理器执行时能够实现上述任意实施例所描述的数据传输方法。
图10示出了可以用来实施本公开的实施例的示例电子设备1000的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图10所示,设备1000包括计算单元1001,其可以根据存储在只读存储器(ROM)1002中的计算机程序或者从存储单元1008加载到随机访问存储器(RAM)1003中的计算机程序,来执行各种适当的动作和处理。在RAM 1003中,还可存储设备1000操作所需的各种程序和数据。计算单元1001、ROM 1002以及RAM 1003通过总线1004彼此相连。输入/输出(I/O)接口1005也连接至总线1004。
设备1000中的多个部件连接至I/O接口1005,包括:输入单元1006,例如键盘、鼠标等;输出单元1007,例如各种类型的显示器、扬声器等;存储单元1008,例如磁盘、光盘等;以及通信单元1009,例如网卡、调制解调器、无线通信收发机等。通信单元1009允许设备1000通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元1001可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1001的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元1001执行上文所描述的各个方法和处理,例如数据传输方法。例如,在一些实施例中,数据传输方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1008。在一些实施例中,计算机程序的部分或者全部可以经由ROM 1002和/或通信单元1009而被载入和/或安装到设备1000上。当计算机程序加载到RAM 1003并由计算单元1001执行时,可以执行上文描述的数据传输方法的一个或多个步骤。备选地,在其他实施例中,计算单元1001可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行数据传输方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决传统物理主机与虚拟专用服务器(VPS,Virtual Private Server)服务中存在的管理难度大,业务扩展性弱的缺陷。
根据本公开实施例的技术方案,通过根据历史数据收发的实际间隔计算得到平均接收间隔和平均发送间隔,进而将平均发送间隔与平均接收间隔的比值作为用于实现均匀发送的拆分发送份数,因此可基于本次接收到的待传输数据和拆分发送份数,在由平均接收间隔充当的预测发送时长内将拆分出的多个数据分片依次、均匀发送出去。通过该技术方案得以将脉冲式的数据传输纠正为均匀的数据传输,提升了数据传输的均匀性、降低了数据堵塞情况发生的概率。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (12)
1.一种数据传输方法,包括:
接收数据源节点本次传入的待传输数据;
根据历史的数据接收间隔和数据发送间隔,确定平均接收间隔和平均发送间隔;
根据所述平均接收间隔和所述平均发送间隔,确定拆分发送份数;
基于所述待传输数据的数据量和所述拆分发送份数,得到多个数据分片;
将各所述数据分片在时长为所述平均接收间隔的后续时段内,依次、均匀的发送给下一级节点。
2.根据权利要求1所述的方法,其中,所述基于所述待传输数据的数据量和所述拆分发送份数,得到多个数据分片,包括:
响应于在所述待传输数据开始传输之前、还留存有剩余数据未传输完,根据所述待传输数据和所述剩余数据的数据量,确定全量待传输数据;
将所述全量待传输数据按所述拆分发送份数进行均匀拆分,得到多个数据量相同的数据分片。
3.根据权利要求2所述的方法,还包括:
响应于每个所述数据分片的数据量超过预设的数据量阈值,将超出所述数据量阈值的部分超量数据作为新的剩余数据留存至下一次数据传输。
4.根据权利要求3所述的方法,还包括:
响应于连续有预设次数的数据传输均留存有剩余数据、且所留存的剩余数据的数据量呈增加趋势,发起数据量阈值提升申请;
响应于接收到针对所述数据量阈值提升申请的同意反馈,将当前的数据量阈值按预设的提升量进行提升,得到新数据量阈值,以使后续的数据传输按所述新数据量阈值作为数据分片的数据量上限。
5.根据权利要求1-4任一项所述的方法,其中,所述根据历史的数据接收间隔和数据发送间隔,确定平均接收间隔和平均发送间隔,包括:
获取距当前时刻最近的预设次数的数据传输任务的实际数据接收间隔和实际数据发送间隔;
计算与所述预设次数的实际数据接收间隔对应的接收间隔均值,得到所述平均接收间隔;
计算与所述预设次数的实际数据发送间隔对应的发送间隔均值,得到所述平均发送间隔。
6.一种数据传输装置,包括:
待传输数据接收单元,被配置成接收数据源节点本次传入的待传输数据;
平均间隔确定单元,被配置成根据历史的数据接收间隔和数据发送间隔,确定平均接收间隔和平均发送间隔;
拆分发送份数确定单元,被配置成根据所述平均接收间隔和所述平均发送间隔,确定拆分发送份数;
数据分片获取单元,被配置成基于所述待传输数据的数据量和所述拆分发送份数,得到多个数据分片;
均匀发送单元,被配置成将各所述数据分片在时长为所述平均接收间隔的后续时段内,依次、均匀的发送给下一级节点。
7.根据权利要求6所述的装置,其中,所述数据分片获取单元被进一步配置成:
响应于在所述待传输数据开始传输之前、还留存有剩余数据未传输完,根据所述待传输数据和所述剩余数据的数据量,确定全量待传输数据;
将所述全量待传输数据按所述拆分发送份数进行均匀拆分,得到多个数据量相同的数据分片。
8.根据权利要求7所述的装置,还包括:
超量数据留存处理单元,被配置成响应于每个所述数据分片的数据量超过预设的数据量阈值,将超出所述数据量阈值的部分超量数据作为新的剩余数据留存至下一次数据传输。
9.根据权利要求8所述的装置,还包括:
阈值提升申请发起单元,被配置成响应于连续有预设次数的数据传输均留存有剩余数据、且所留存的剩余数据的数据量呈增加趋势,发起数据量阈值提升申请;
阈值提升单元,被配置成响应于接收到针对所述数据量阈值提升申请的同意反馈,将当前的数据量阈值按预设的提升量进行提升,得到新数据量阈值,以使后续的数据传输按所述新数据量阈值作为数据分片的数据量上限。
10.根据权利要求6-9任一项所述的装置,其中,所述平均间隔确定单元被进一步配置成:
获取距当前时刻最近的预设次数的数据传输任务的实际数据接收间隔和实际数据发送间隔;
计算与所述预设次数的实际数据接收间隔对应的接收间隔均值,得到所述平均接收间隔;
计算与所述预设次数的实际数据发送间隔对应的发送间隔均值,得到所述平均发送间隔。
11.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-5中任一项所述的数据传输方法。
12.一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行权利要求1-5中任一项所述的数据传输方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111412886.7A CN114095438B (zh) | 2021-11-25 | 2021-11-25 | 数据传输方法、装置、设备、存储介质及计算机程序产品 |
US17/902,522 US20220417154A1 (en) | 2021-11-25 | 2022-09-02 | Data transmission method and apparatus, device, storage medium, and computer program product |
EP22197688.9A EP4187882A1 (en) | 2021-11-25 | 2022-09-26 | Data transmission method and apparatus, device, storage medium, and computer program product |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111412886.7A CN114095438B (zh) | 2021-11-25 | 2021-11-25 | 数据传输方法、装置、设备、存储介质及计算机程序产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114095438A CN114095438A (zh) | 2022-02-25 |
CN114095438B true CN114095438B (zh) | 2023-07-25 |
Family
ID=80304479
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111412886.7A Active CN114095438B (zh) | 2021-11-25 | 2021-11-25 | 数据传输方法、装置、设备、存储介质及计算机程序产品 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20220417154A1 (zh) |
EP (1) | EP4187882A1 (zh) |
CN (1) | CN114095438B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114567630B (zh) * | 2022-04-29 | 2022-07-19 | 南京信思顺信息技术有限公司 | 一种基于流程引擎的智能表单生成方法 |
CN115297062B (zh) * | 2022-09-29 | 2023-01-24 | 深圳华锐分布式技术股份有限公司 | 应用层网络数据传输方法、装置、设备及介质 |
CN116506112B (zh) * | 2023-06-26 | 2023-08-18 | 北京零一信安科技有限公司 | 基于隐私计算的数据处理方法、装置及电子设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113489575A (zh) * | 2021-06-25 | 2021-10-08 | 阿波罗智联(北京)科技有限公司 | 一种数据传输方法、装置及电子设备 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120158990A1 (en) * | 2010-12-17 | 2012-06-21 | Cisco Technology, Inc. | Transporting a CBR Data Stream Over a Packet Switched Network |
EP2469773A1 (en) * | 2010-12-23 | 2012-06-27 | British Telecommunications public limited company | A method for delivering video content encoded at one or more quality levels over a data network |
GB2553707B (en) * | 2015-04-09 | 2021-07-28 | Arris Entpr Inc | Method and apparatus for automatic discovery of elements in a system of encoders |
KR20180106040A (ko) * | 2017-03-17 | 2018-10-01 | 삼일아이앤씨(주) | 지능형 감쇄 장치를 갖는 위성방송 공동설비 송출시스템 및 그 운용방법 |
CN107750001B (zh) * | 2017-11-03 | 2019-07-30 | 中广热点云科技有限公司 | 一种视频帧传输方法 |
CN111327650A (zh) * | 2018-12-14 | 2020-06-23 | 中兴通讯股份有限公司 | 数据传输方法、装置、设备及存储介质 |
CN111917661B (zh) * | 2020-07-29 | 2023-05-02 | 抖音视界有限公司 | 数据传输方法、装置、电子设备和计算机可读存储介质 |
-
2021
- 2021-11-25 CN CN202111412886.7A patent/CN114095438B/zh active Active
-
2022
- 2022-09-02 US US17/902,522 patent/US20220417154A1/en active Pending
- 2022-09-26 EP EP22197688.9A patent/EP4187882A1/en active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113489575A (zh) * | 2021-06-25 | 2021-10-08 | 阿波罗智联(北京)科技有限公司 | 一种数据传输方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN114095438A (zh) | 2022-02-25 |
US20220417154A1 (en) | 2022-12-29 |
EP4187882A1 (en) | 2023-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114095438B (zh) | 数据传输方法、装置、设备、存储介质及计算机程序产品 | |
CN112988727B (zh) | 数据标注方法、装置、设备、存储介质及计算机程序产品 | |
CN112965823B (zh) | 调用请求的控制方法、装置、电子设备和存储介质 | |
CN113132479B (zh) | 流量切换、模型生成方法、装置、设备、存储介质及程序 | |
WO2021057068A1 (zh) | Rdma数据流控方法、系统、电子设备及可读存储介质 | |
CN110659132B (zh) | 请求处理的优化方法及计算机可读存储介质 | |
CN115514718B (zh) | 基于数据传输系统的数据交互方法、控制层、设备 | |
CN116594563A (zh) | 分布式存储扩容方法、装置、电子设备和存储介质 | |
CN113641688B (zh) | 节点更新方法、相关装置及计算机程序产品 | |
US10250515B2 (en) | Method and device for forwarding data messages | |
CN115484216A (zh) | 报文传输方法、装置、电子设备以及自动驾驶车辆 | |
CN113824689B (zh) | 边缘计算网络、数据传输方法、装置、设备和存储介质 | |
CN113301029A (zh) | 数据发送方法、装置、设备以及存储介质 | |
CN117119064A (zh) | 请求数据处理方法、装置、设备及存储介质 | |
CN113313195B (zh) | 标注任务处理方法、装置、设备、存储介质及程序产品 | |
CN116633881A (zh) | 一种带宽的控制方法、装置、设备及介质 | |
US9185059B1 (en) | Management of journaling destinations | |
CN117200945A (zh) | 一种数据监测方法、装置、电子设备和存储介质 | |
CN117056258A (zh) | 一种数据传输方法、装置、设备及存储介质 | |
CN114722006A (zh) | 一种数据传输的控制方法、装置、设备及存储介质 | |
CN114363209A (zh) | 基于tcp网络的性能探测方法、装置、设备和存储介质 | |
CN117971577A (zh) | 卡顿检测方法、装置、设备及存储介质 | |
CN116132418A (zh) | 一种流媒体传输方法、装置、电子设备及存储介质 | |
CN116886765A (zh) | 消息推送方法、装置、设备、介质及程序产品 | |
CN115632950A (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 |