CN111148159A - 数据传输方法、装置、设备及计算机可读存储介质 - Google Patents
数据传输方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN111148159A CN111148159A CN201911370281.9A CN201911370281A CN111148159A CN 111148159 A CN111148159 A CN 111148159A CN 201911370281 A CN201911370281 A CN 201911370281A CN 111148159 A CN111148159 A CN 111148159A
- Authority
- CN
- China
- Prior art keywords
- data
- transmitted
- queue
- data queue
- transmission
- 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.)
- Granted
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 177
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000003860 storage Methods 0.000 title claims abstract description 10
- 230000001960 triggered effect Effects 0.000 claims abstract description 29
- 239000012634 fragment Substances 0.000 claims description 25
- 238000012545 processing Methods 0.000 claims description 10
- 238000013467 fragmentation Methods 0.000 claims description 9
- 238000006062 fragmentation reaction Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 8
- 238000004904 shortening Methods 0.000 claims description 5
- 239000002699 waste material Substances 0.000 abstract description 10
- 230000008569 process Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000010926 purge Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/06—Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
-
- 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
- H04L47/56—Queue scheduling implementing delay-aware scheduling
-
- 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
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/625—Queue scheduling characterised by scheduling criteria for service slots or service orders
- H04L47/6275—Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种数据传输方法、装置、设备及计算机可读存储介质,涉及无线技术领域,将获取的待传输数据添加至数据队列,并当数据队列被触发传输时,统计每个待传输数据的等待时长,将数据队列中等待时长大于时长阈值的待传输数据清除,对整理后的数据队列执行数据传输,使得基于时长阈值保证了每一次传输可以最大程度上传输更多数据,不仅保证了数据传输的实时性,还避免了CPU资源浪费。所述方法包括:获取待传输数据,将待传输数据添加至数据队列;当确定数据队列被触发传输时,统计至少一个待传输数据中每个待传输数据的等待时长;将数据队列中等待时长大于时长阈值的待传输数据清除,得到整理后的数据队列;对整理后的数据队列执行数据传输。
Description
技术领域
本发明涉及无线技术领域,特别是涉及一种数据传输方法、装置、设备及计算机可读存储介质。
背景技术
随着互联网的发展飞速发展,依靠于互联网的无线技术越来越发达。在无线技术领域中,数据传输是最基础的技术,无论是性能监控,还是日志打点等服务,都依赖数据传输来实现从用户设备获取数据用以记录并分析。
相关技术中,数据传输的方式通常有立即传输、批量传输以及定时轮询传输三种。立即传输是在数据产生后立即执行传输;批量传输是在产生的数据累积到一定阈值时,再执行传输操作,一般用于对实时性要求不高的数据;定时轮询传输是以固定时间片轮转方式查看是否有待传输数据,如果存在,则执行数据传输。上述三种方式适用于不同的场景,均为常规解决方式。
在实现本发明的过程中,发明人发现相关技术至少存在以下问题:
产生数据的发生时间是离散的,这些离散产生的数据对传输的实时性要求是不同的,采用上述三种方式对数据进行传输,很可能会因为长久无法达到数据累积的一定阈值而迟迟不能将对实时性要求较高的数据传输,或者将对实时性要求不高的数据过快的传输出去,不仅数据传输的实时性无法保证,还使得部分数据传输的实时性过高导致CPU(Central Processing Unit/Processor,中央处理器)资源浪费。
发明内容
有鉴于此,本发明提供了一种数据传输方法、装置、设备及计算机可读存储介质,主要目的在于解决目前数据传输的实时性无法保证,导致CPU资源浪费的问题。
依据本发明第一方面,提供了一种数据传输方法,该方法包括:
获取待传输数据,将所述待传输数据添加至数据队列,所述数据队列包括至少一个待传输数据;
当确定所述数据队列被触发传输时,统计所述至少一个待传输数据中每个待传输数据的等待时长;
将所述数据队列中所述等待时长大于时长阈值的待传输数据清除,得到整理后的所述数据队列,所述时长阈值设置在所述数据队列当前所处业务系统中;
对整理后的所述数据队列执行数据传输。
在另一个实施例中,所述获取待传输数据,将所述待传输数据添加至数据队列之前,所述方法还包括:
获取所述数据队列当前所处业务系统的业务特性,所述业务特性至少为实时性或非实时性的任一种;
确定所述业务特性对应的所述时长阈值,将所述时长阈值设置在所述数据队列当前所处业务系统中。
在另一个实施例中,所述当确定所述数据队列被触发传输时,统计所述至少一个待传输数据中每个待传输数据的等待时长,包括:
在所述数据队列中设置定时器,将所述时长阈值缩短预设时长作为所述定时器的触发周期;
当基于所述定时器检测到距离上一次执行数据传输的时长达到所述触发周期,则确定所述数据队列被触发传输;
对于所述至少一个待传输数据中的每个待传输数据,确定所述待传输数据的接收时间点,将所述接收时间点与当前时间点的时长差距作为所述待传输数据的等待时长。
在另一个实施例中,所述对所述整理后的数据队列执行数据传输,包括:
提取整理后的所述数据队列包括的待传输数据的优先权重,所述优先权重指示了所述待传输数据进行传输的先后顺序;
按照所述优先权重从大到小的顺序,传输所述整理后的数据队列包括的待传输数据。
在另一个实施例中,所述传输所述整理后的数据队列包括的待传输数据,包括:
对于整理后的所述数据队列中的每个待传输数据,对所述待传输数据进行分片处理,得到至少一个数据片段,所述至少一个数据片段中每个数据片段的尺寸均等于预设尺寸;
按照所述至少一个数据片段的排列顺序,依次对所述至少一个数据片段执行数据传输。
在另一个实施例中,所述对所述整理后的数据队列执行数据传输之后,所述方法还包括:
若所述整理后的数据队列中存在传输失败的目标待传输数据,则查询所述目标待传输数据的失败次数;
按照所述失败次数,提升所述目标待传输数据的优先权重,并将所述目标待传输数据重新添加至所述数据队列中;
当所述数据队列再次执行数据传输时,重新按照所述优先权重从大到小的顺序对所述数据队列执行数据传输。
依据本发明第二方面,提供了一种数据传输装置,该装置包括:
添加模块,用于获取待传输数据,将所述待传输数据添加至数据队列,所述数据队列包括至少一个待传输数据;
统计模块,用于当确定所述数据队列被触发传输时,统计所述至少一个待传输数据中每个待传输数据的等待时长;
清除模块,用于将所述数据队列中所述等待时长大于时长阈值的待传输数据清除,得到整理后的所述数据队列,所述时长阈值设置在所述数据队列当前所处业务系统中;
传输模块,用于对整理后的所述数据队列执行数据传输。
在另一个实施例中,所述装置还包括:
获取模块,用于获取所述数据队列当前所处业务系统的业务特性,所述业务特性至少为实时性或非实时性的任一种;
确定模块,用于确定所述业务特性对应的所述时长阈值,将所述时长阈值设置在所述数据队列当前所处业务系统中。
在另一个实施例中,所述统计模块,包括:
设置单元,用于在所述数据队列中设置定时器,将所述时长阈值缩短预设时长作为所述定时器的触发周期;
确定单元,用于当基于所述定时器检测到距离上一次执行数据传输的时长达到所述触发周期,则确定所述数据队列被触发传输;
统计单元,用于对于所述至少一个待传输数据中的每个待传输数据,确定所述待传输数据的接收时间点,将所述接收时间点与当前时间点的时长差距作为所述待传输数据的等待时长。
在另一个实施例中,所述传输模块,包括:
提取单元,用于提取整理后的所述数据队列包括的待传输数据的优先权重,所述优先权重指示了所述待传输数据进行传输的先后顺序;
传输单元,用于按照所述优先权重从大到小的顺序,传输所述整理后的数据队列包括的待传输数据。
在另一个实施例中,所述传输单元,用于对于整理后的所述数据队列中的每个待传输数据,对所述待传输数据进行分片处理,得到至少一个数据片段,所述至少一个数据片段中每个数据片段的尺寸均等于预设尺寸;按照所述至少一个数据片段的排列顺序,依次对所述至少一个数据片段执行数据传输。
在另一个实施例中,所述装置还包括:
查询模块,用于若所述整理后的数据队列中存在传输失败的目标待传输数据,则查询所述目标待传输数据的失败次数;
提升模块,用于按照所述失败次数,提升所述目标待传输数据的优先权重,并将所述目标待传输数据重新添加至所述数据队列中;
所述传输模块,还用于当所述数据队列再次执行数据传输时,重新按照所述优先权重从大到小的顺序对所述数据队列执行数据传输。
依据本发明第三方面,提供了一种设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述方法的步骤。
依据本发明第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的方法的步骤。
借由上述技术方案,本发明提供的一种数据传输方法、装置、设备及计算机可读存储介质,本发明获取待传输数据,将待传输数据添加至数据队列,并当确定数据队列被触发传输时,统计至少一个待传输数据中每个待传输数据的等待时长,将数据队列中等待时长大于时长阈值的待传输数据清除,得到整理后的数据队列,对整理后的数据队列执行数据传输,使得基于时长阈值保证了每一次的传输可以最大程度上传输更多的数据,不仅保证了数据传输的实时性,而且避免了CPU资源浪费。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的一种数据传输方法流程示意图;
图2A示出了本发明实施例提供的一种数据传输方法流程示意图;
图2B示出了本发明实施例提供的一种数据传输方法流程示意图;
图2C示出了本发明实施例提供的一种数据传输方法流程示意图;
图2D示出了本发明实施例提供的一种数据传输方法流程示意图;
图3A示出了本发明实施例提供的一种数据传输装置的结构示意图;
图3B示出了本发明实施例提供的一种数据传输装置的结构示意图;
图3C示出了本发明实施例提供的一种数据传输装置的结构示意图;
图3D示出了本发明实施例提供的一种数据传输装置的结构示意图;
图3E示出了本发明实施例提供的一种数据传输装置的结构示意图;
图4示出了本发明实施例提供的一种设备的装置结构示意图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
本发明实施例提供了一种数据传输方法,如图1所示,该方法包括:
101、获取待传输数据,将待传输数据添加至数据队列,数据队列包括至少一个待传输数据。
102、当确定数据队列被触发传输时,统计至少一个待传输数据中每个待传输数据的等待时长。
103、将数据队列中等待时长大于时长阈值的待传输数据清除,得到整理后的数据队列,时长阈值设置在数据队列当前所处业务系统中。
104、对整理后的数据队列执行数据传输。
本发明实施例提供的方法,获取待传输数据,将待传输数据添加至数据队列,并当确定数据队列被触发传输时,统计至少一个待传输数据中每个待传输数据的等待时长,将数据队列中等待时长大于时长阈值的待传输数据清除,得到整理后的数据队列,对整理后的数据队列执行数据传输,使得基于时长阈值保证了每一次的传输可以最大程度上传输更多的数据,不仅保证了数据传输的实时性,而且避免了CPU资源浪费。
本发明实施例提供了一种数据传输方法,如图2A所示,该方法包括:
201、获取待传输数据,将待传输数据添加至数据队列。
发明人认识到,一方面,由于网络传输数据的过程中,实际要传输的数据会在分层网络设计中,需要额外包裹一些数据再真正到物理线路上传输,实时性过高会导致大量传输资源的浪费,对于目前相比有线网络更加昂贵的移动流量来说,浪费损失更大。另一方面,移动网络和传统有线网络相比,有一定的特殊性,为了节约设备耗电量,无线射频通常是以分时间片方式工作,也即在一段活跃时间片中,设备会大量发射信号,将数据通过网络传输出去,传输完成便进入非活跃期,射频设备会关闭以节约电量。在有数据传输需求时,再重新激活以发送数据。但是由于产生数据的发生时间是离散的,因此,对于立即传输方式不友好,大概率会出现射频设备刚刚进入非活跃状态,却因为新产生数据重新被激活,导致大量电量消耗。而批量传输虽然解决了资源浪费问题,但也因为数据产生时间的离散问题,在遇到低频率产生数据的时候,由于长久无法达到一定阈值,迟迟不发送,无法保证数据的实时性。且定时轮询传输也存在无法保证实时性的问题,而且需要额外定时器来不停的轮询,导致CPU资源浪费。
本发明考虑到在实际场景中,实时性要求的实际需求是让数据以可接受的规定时间范围内完成传输,不同的场景对于该时间的要求也略有差异,例如,对于部分业务系统来说,从数据实际产生的时刻算起,到实际接收到数据的时刻之间不大于5秒就可以认为数据被实时传输了,且认为不在该时间内到达的数据无效,因此,本发明根据不同业务系统的业务特性,控制对数据传输耗费时长的时长阈值,从而适应不同业务系统的需求,保证数据传输实时性的同时,降低资源损耗和服务器的负载。
在本发明的整个方案开始实施之前,不同业务系统的业务特性对于实时性要求是不同的,为了对待传输数据的实时性设置一个界定标准,在初始化业务系统的数据传输功能时,需要针对当前所处的业务系统的业务特性,设置一个时长阈值,并在后续基于该时长阈值确定待传输数据是否还满足实时性的要求以及确定何时出发待传输数据的传输。具体地,首先,获取数据队列当前所处业务系统的业务特性,业务特性至少为实时性或非实时性的任一种。例如,针对视频业务系统,该视频业务系统中产生的数据都是流媒体数据,视频能否顺利播放取决于流媒体数据是否能够实时传输至用户终端,对实时性要求比较高,因此,该视频业务系统的业务特性即为实时性。针对邮箱业务系统,该邮箱业务系统中产生的数据都是邮件数据,只要保证邮件数据传输成功即可,对实时性要求不高,因此,该邮箱业务系统的业务特性即为非实时性。随后,确定业务特性对应的时长阈值,将时长阈值设置在业务系统中。本方案中可以为不同的业务特性默认时长阈值的取值,并在确定业务系统的业务特性后,查询业务特性对应的取值作为该业务系统的时长阈值,例如,可以在本方案中设置业务特性为实时性对应的取值为0.5秒,则直接将0.5秒作为该业务系统的时长阈值。或者,还可以在业务系统对数据传输的要求中获取相应的数值作为时长阈值,例如,若业务系统要求数据需要在产生后的0.5秒内完成传输,则可直接将0.5作为该业务系统的时长阈值。本发明对设置业务系统的时长阈值的方式不进行具体限定。
当完成了业务系统的时长阈值设置后,便可以正式开始本方案中的具体操作过程。业务系统的作用是为用户提供相应的业务功能,在为用户提供业务功能的同时,用户的一系列操作都是会产生相应的业务数据的,这些数据在传输给用户的终端之前,都可以作为业务系统中的待传输数据。当用户的操作触发待传输数据在业务系统中产生后,业务系统便会获取到该待传输数据,例如,假设用户请求观看视频A,则视频A中的流媒体数据就会作为待传输数据。随后,由于业务系统中设置有时长阈值,只要在时长阈值的允许范围内将该待传输数据传输出去就可以满足业务系统对数据传输的要求,因此,为了节约业务系统中的传输资源,可以在业务系统中设置一个数据队列,将刚刚产生的待传输数据先暂存在该数据队列中,在时长阈值允许的范围内,基于该数据队列收集更多的待传输数据,进而保证每次触发的数据传输过程都可以最大程度上传输最多的待传输数据。需要说明的是,由于待传输数据产生的时间都是离散的,因此,数据队列中包括至少一个待传输数据,不一定会包括多个待传输数据,只要在获取到待传输数据后,将待传输数据添加至数据队列中即可。本发明对数据队列中包括的待传输数据的数目不进行具体限定。
202、当确定数据队列被触发传输时,统计至少一个待传输数据中每个待传输数据的等待时长。
在本发明实施例中,当生成了包括有至少一个待传输数据的数据队列后,就可以为该数据队列设置一个触发发送的条件,以便在后续达到该触发发送的条件时,对该数据队列中包括的待传输数据执行数据传输操作。其中,考虑到数据队列中包括的待传输数据的有效期是受到业务系统的时长阈值限制的,因此,可以基于该时长阈值为该数据队列设置触发条件。具体地,可以在数据队列中设置一个定时器,基于定时器来定时触发数据队列的传输操作。考虑到在时长阈值到达之前将待传输数据进行传输可以最大程度上保证待传输数据的有效性,因此,在为定时器设置触发周期时,需要适当缩短时长阈值的时长,并将缩短后的时长阈值作为定时器的触发周期。其中,本方案中可以设置一个预设时长,将时长阈值缩短预设时间作为触发周期。例如,假设预设时长为0.25秒,时长阈值为0.5秒,则将0.5秒缩短0.25秒得到的0.25秒便可以作为触发周期,也即后续每隔0.25秒就触发一次数据队列的传输操作。
需要说明的是,由于不同业务特性的业务系统的时长阈值都是不同的,且每个业务系统的带宽以及传输数据的能力也是不同的,有些业务系统传输数据的能力很强,在很短的时间内就可以完成数据队列的传输操作,这种传输能力很强的业务系统可以适当缩短预设时长,能够有更多的时间预留给待传输数据添加至数据队列中。而有些业务系统传输数据的能力较弱,需要较长的时间才能完整的将数据队列中的数据传输出去,这种传输能力较弱的业务系统可以适当增加预设时长,保证该业务系统可以有足够的时间去传输数据,从而提高数据传输的成功率。因此,针对不同的业务系统,需要根据其业务特性以及数据传输能力设置不同的预设时长。例如,可以设置一个预设时长设置标准,将带宽不大于1M的业务系统的传输能力划分为较弱,将带宽大于1M的业务系统的传输能力划分为较强,对于传输能力较弱的业务系统,将其时长阈值的60%作为预设时长;对于传输能力较强的业务系统,将其时长阈值的40%作为预设时长。这样,假设业务系统A的带宽为500kb,时长阈值为1秒,则可以确定该业务系统A的传输能力为较弱,需要将其时长阈值的60%作为预设时长,也即预设时长为0.6秒。上述提及的设置预设时长的过程为一种设置方式,而在实际应用的过程中,还可以有其他的设置方式,本发明对预设时长的设置方式不进行具体限定。
当为定时器设置了触发周期后,便可以基于该定时器确定何时触发该数据队列执行数据传输操作。具体地,当基于定时器检测到距离上一次执行数据传输的时长达到触发周期,则确定数据队列被触发传输,也就是距离上一次触发数据传输过去了触发周期指示的时长,就可以再次触发该数据队列的数据传输操作。在实际应用的过程中,考虑到有些业务系统为了保证用户在业务系统中的体验,对数据传输的实时性要求过高,基于定时器来触发数据队列执行数据传输并不能满足业务系统对实时性的要求,定时器很可能是业务系统执行数据传输的累赘,因此,还可以设置另外一种触发数据传输的机制,当检测到数据队列中有新的待传输数据添加进来时立即触发数据队列被传输,也即只要数据队列中包括的待传输数据满足两个,就可以触发这两个待传输数据被传输。而针对不同的业务系统,还可以设置不同的机制,例如,数据队列中包括的待传输数据满足三个或者四个等等就可以触发数据队列被传输。本发明对触发数据队列被传输的时机以及条件不进行具体限定。
考虑到业务系统可能会存在数据卡顿以及网速不稳定的情况,导致在确定数据队列被触发传输时,数据队列中的有些待传输数据可能由于等待的时间过长,已经超过了该业务系统的时长阈值的要求,这些待传输数据此时已经失效了,如果仍旧传输这些数据就会浪费业务系统的传输资源,因此,当确定数据队列被触发传输时,先对该数据队列中包括的待传输数据进行一次筛选,将已经失效的待传输数据清除出去,并在后续将没有失效的待传输数据进行传输。其中,评判待传输数据是否失效的条件时待传输数据的等待时长是否已经超过了时长阈值,因此,需要统计至少一个待传输数据中每个待传输数据的等待时长,以便后续基于该等待时长对待传输数据进行评判。具体地,对于至少一个待传输数据中的每个待传输数据,在统计等待时长时,先确定该待传输数据的接收时间点。随后,将接收时间点与当前时间点的时长差距作为待传输数据的等待时长即可。
203、将数据队列中等待时长大于时长阈值的待传输数据清除,得到整理后的数据队列。
在本发明实施例中,在确定了数据队列中每一个待传输数据的等待时长后,便可执行对数据队列的清理工作,将数据队列中等待时长大于时长阈值的待传输数据清除,得到整理后的数据队列。这样,在后续可以保证执行数据传输的待传输数据都是有效的,避免浪费不必要的传输资源。
需要说明的是,对于被清除的待传输数据,为了告知用户该待传输数据被清除,可以向用户的终端返回失败响应,基于该失败响应提醒用户该待传输数据已经失效被清除了,以便用户在获取到该失败响应后,可以选择重新传输该待传输数据或者放弃传输该待传输数据。
204、对整理后的数据队列执行数据传输。
在本发明实施例中,当对数据队列中失效的待传输数据进行清理得到整理后的数据队列后,便可以对该整理后的数据队列执行数据传输,也即将该整理后的数据队列中包括的待传输数据传输出去。
其中,考虑到同时进行多个待传输数据的传输会给CPU造成较大的压力,且降低数据传输的效率,因此,每个待传输数据在产生时,会具有自身的优先权重,优先权重指示了待传输数据进行传输的先后顺序,以便在对数据传输队列进行数据传输时,按照优先权重依次传输待传输数据。这样,在对整理后的数据队列执行数据传输时,首先,提取整理后的数据队列包括的待传输数据的优先权重。随后,按照优先权重从大到小的顺序,传输整理后的数据队列包括的待传输数据。例如,假设整理后的数据队列中包括的待传输数据分别为A、B和C,其中,A的优先权重为10,B的优先权重为1,C的优先权重为5,则在对A、B和C进行数据传输时,按照A、C和B的顺序进行传输。
考虑到移动设备网络速度较低且不稳定,很可能在传输较大的待传输数据时出现超时的情况,长时间不能将待传输数据传输出去,导致数据传输的成功率较低,因此,在对整理后的数据队列执行数据传输时,可以对待传输数据进行分片处理,避免一次性传输较大的待传输数据。具体地,可以设置预设尺寸,对于整理后的数据队列中的每个待传输数据,按照该预设尺寸,对待传输数据进行分片处理,得到至少一个数据片段,也即将待传输数据分为大小等于预设尺寸的数据片段。随后,按照至少一个数据片段的排列顺序,依次对至少一个数据片段执行数据传输。其中,该预设尺寸可以根据不同的业务系统设置为不同的数值,具体可以根据业务系统的带宽进行设置。例如,假设业务系统的带宽为1M,则可以直接将1M作为预设尺寸,或者适当将1M缩小,将800kb作为预设尺寸。本发明对待传输数据进行分片处理的具体过程不进行限定。需要说明的是,有些待传输数据的尺寸可能较小,没有达到预设尺寸或者与预设尺寸相同,则这类待传输数据可以直接进行传输,无需再进行分片处理。本发明对分片处理得到的数据片段的个数不进行具体限定。
205、若整理后的数据队列中存在传输失败的目标待传输数据,则查询目标待传输数据的失败次数,按照失败次数,提升目标待传输数据的优先权重,并将目标待传输数据重新添加至数据队列中,当数据队列再次执行数据传输时,重新按照优先权重从大到小的顺序对数据队列执行数据传输。
在本发明实施例中,当对整理后的数据队列执行数据传输后,很可能会存在传输失败的目标待传输数据,该目标待传输数据在本次的传输过程中失败了,需要重新进行传输。而考虑到由于本次的传输失败导致请求该目标待传输数据的用户已经等待较长的时间,因此,在重新传输给目标待传输数据时,需要提升目标待传输数据的优先权重,保证该目标待传输数据在下一次的传输中可以优先进行传输,从而缩短用户的等待时长。
其中,在提高目标传输数据的优先权重时,可以按照该目标传输数据的失败次数来提升。例如,假设目标传输数据A当前的优先权重为3,A的失败次数为3次,则可将当前的优先权重与失败次数的和值作为A在下一次传输中的优先权重,也即下一次传输中的优先权重为6。上述内容仅为一种提升优先权重的方法,实际应用的过程中还可将失败次数的百分比作为优先权重的增值,从而避免优先权重过高而造成的排序识别困难。本发明对提升优先权重的方法不进行具体限定。
当完成了对目标待传输数据的优先权重提升后,便可以再次对该目标待传输数据进行传输,也即将目标待传输数据重新添加至数据队列中,当数据队列再次执行数据传输时,重新按照优先权重从大到小的顺序对数据队列执行数据传输。
206、若整理后的数据队列中不存在传输失败的目标待传输数据,则继续获取待传输数据并执行上述步骤201至步骤204中的数据传输过程。
在本发明实施例中,若整理后的数据队列中不存在传输失败的目标待传输数据,则表示整理后的数据队列中包括的全部待传输数据均传输成功了,可以继续执行其他待传输数据的传输,因此,继续获取待传输数据并执行上述步骤201至步骤204中的数据传输过程即可。
在实际应用的过程中,具体流程参见图2B:
获取待传输数据,将待传输数据添加至数据队列中。当数据队列被触发传输时,将数据队列中的失效数据清理出去,实现对数据队列的整理,并将整理后的数据队列进行传输。若数据队列中存在传输失败的目标待传输数据,则提升该目标待传输数据的优先权重,并重新将该目标待传输数据添加至数据队列中。若数据队列中不存在传输失败的目标待传输数据,则继续获取待传输数据并重复执行上述数据传输流程即可。
其中,在对数据队列进行整理时,具体流程参见图2C:
基于时长阈值,确定数据队列中的待传输数据是否过期。如果确定待传输数据过期,则将该待传输数据清除。如果确定待传输数据没有过程,则按照数据队列中现存的待传输数据的优先权重,对数据队列中包括的待传输数据进行排序。
在对整理后的数据队列进行传输时,具体流程参见图2D:
将整理后的数据队列中包括的待传输数据进行分片处理,形成传输队列,基于网络传输将分片后的待传输数据进行传输。
本发明实施例提供的方法,获取待传输数据,将待传输数据添加至数据队列,并当确定数据队列被触发传输时,统计至少一个待传输数据中每个待传输数据的等待时长,将数据队列中等待时长大于时长阈值的待传输数据清除,得到整理后的数据队列,对整理后的数据队列执行数据传输,使得基于时长阈值保证了每一次的传输可以最大程度上传输更多的数据,不仅保证了数据传输的实时性,而且避免了CPU资源浪费。
进一步地,作为图1所述方法的具体实现,本发明实施例提供了一种数据传输装置,如图3A所示,所述装置包括:添加模块301,统计模块302,清除模块303和传输模块304。
该添加模块301,用于获取待传输数据,将所述待传输数据添加至数据队列,所述数据队列包括至少一个待传输数据;
该统计模块302,用于当确定所述数据队列被触发传输时,统计所述至少一个待传输数据中每个待传输数据的等待时长;
该清除模块303,用于将所述数据队列中所述等待时长大于时长阈值的待传输数据清除,得到整理后的所述数据队列,所述时长阈值设置在所述数据队列当前所处业务系统中;
该传输模块304,用于对整理后的所述数据队列执行数据传输。
在具体的应用场景中,如图3B所示,该装置还包括:获取模块305和确定模块306。
该获取模块305,用于获取所述数据队列当前所处业务系统的业务特性,所述业务特性至少为实时性或非实时性的任一种;
该确定模块306,用于确定所述业务特性对应的所述时长阈值,将所述时长阈值设置在所述数据队列当前所处业务系统中。
在具体的应用场景中,如图3C所示,该统计模块302,包括:设置单元3021,确定单元3022和统计单元3023。
该设置单元3021,用于在所述数据队列中设置定时器,将所述时长阈值缩短预设时长作为所述定时器的触发周期;
该确定单元3022,用于当基于所述定时器检测到距离上一次执行数据传输的时长达到所述触发周期,则确定所述数据队列被触发传输;
该统计单元3023,用于对于所述至少一个待传输数据中的每个待传输数据,确定所述待传输数据的接收时间点,将所述接收时间点与当前时间点的时长差距作为所述待传输数据的等待时长。
在具体的应用场景中,如图3D所示,该传输模块304,包括:提取单元3041和传输单元3042。
该提取单元3041,用于提取整理后的所述数据队列包括的待传输数据的优先权重,所述优先权重指示了所述待传输数据进行传输的先后顺序;
该传输单元3042,用于按照所述优先权重从大到小的顺序,传输所述整理后的数据队列包括的待传输数据。
在具体的应用场景中,该传输单元3042,用于对于整理后的所述数据队列中的每个待传输数据,对所述待传输数据进行分片处理,得到至少一个数据片段,所述至少一个数据片段中每个数据片段的尺寸均等于预设尺寸;按照所述至少一个数据片段的排列顺序,依次对所述至少一个数据片段执行数据传输。
在具体的应用场景中,如图3E所示,该装置还包括:查询模块307和提升模块308。
该查询模块307,用于若所述整理后的数据队列中存在传输失败的目标待传输数据,则查询所述目标待传输数据的失败次数;
该提升模块308,用于按照所述失败次数,提升所述目标待传输数据的优先权重,并将所述目标待传输数据重新添加至所述数据队列中;
该传输模块304,还用于当所述数据队列再次执行数据传输时,重新按照所述优先权重从大到小的顺序对所述数据队列执行数据传输。
本发明实施例提供的装置,获取待传输数据,将待传输数据添加至数据队列,并当确定数据队列被触发传输时,统计至少一个待传输数据中每个待传输数据的等待时长,将数据队列中等待时长大于时长阈值的待传输数据清除,得到整理后的数据队列,对整理后的数据队列执行数据传输,使得基于时长阈值保证了每一次的传输可以最大程度上传输更多的数据,不仅保证了数据传输的实时性,而且避免了CPU资源浪费。
需要说明的是,本发明实施例提供的一种数据传输装置所涉及各功能单元的其他相应描述,可以参考图1和图2A至图2D中的对应描述,在此不再赘述。
在示例性实施例中,参见图4,还提供了一种设备,该设备400包括通信总线、处理器、存储器和通信接口,还可以包括、输入输出接口和显示设备,其中,各个功能单元之间可以通过总线完成相互间的通信。该存储器存储有计算机程序,处理器,用于执行存储器上所存放的程序,执行上述实施例中的数据传输方法。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的数据传输方法的步骤。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景所述的方法。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本申请所必须的。
本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本申请序号仅仅为了描述,不代表实施场景的优劣。
以上公开的仅为本申请的几个具体实施场景,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。
Claims (10)
1.一种数据传输方法,其特征在于,包括:
获取待传输数据,将所述待传输数据添加至数据队列,所述数据队列包括至少一个待传输数据;
当确定所述数据队列被触发传输时,统计所述至少一个待传输数据中每个待传输数据的等待时长;
将所述数据队列中所述等待时长大于时长阈值的待传输数据清除,得到整理后的所述数据队列,所述时长阈值设置在所述数据队列当前所处业务系统中;
对整理后的所述数据队列执行数据传输。
2.根据权利要求1所述的方法,其特征在于,所述获取待传输数据,将所述待传输数据添加至数据队列之前,所述方法还包括:
获取所述数据队列当前所处业务系统的业务特性,所述业务特性至少为实时性或非实时性的任一种;
确定所述业务特性对应的所述时长阈值,将所述时长阈值设置在所述数据队列当前所处业务系统中。
3.根据权利要求1所述的方法,其特征在于,所述当确定所述数据队列被触发传输时,统计所述至少一个待传输数据中每个待传输数据的等待时长,包括:
在所述数据队列中设置定时器,将所述时长阈值缩短预设时长作为所述定时器的触发周期;
当基于所述定时器检测到距离上一次执行数据传输的时长达到所述触发周期,则确定所述数据队列被触发传输;
对于所述至少一个待传输数据中的每个待传输数据,确定所述待传输数据的接收时间点,将所述接收时间点与当前时间点的时长差距作为所述待传输数据的等待时长。
4.根据权利要求1所述的方法,其特征在于,所述对所述整理后的数据队列执行数据传输,包括:
提取整理后的所述数据队列包括的待传输数据的优先权重,所述优先权重指示了所述待传输数据进行传输的先后顺序;
按照所述优先权重从大到小的顺序,传输所述整理后的数据队列包括的待传输数据。
5.根据权利要求4所述的方法,其特征在于,所述传输所述整理后的数据队列包括的待传输数据,包括:
对于整理后的所述数据队列中的每个待传输数据,对所述待传输数据进行分片处理,得到至少一个数据片段,所述至少一个数据片段中每个数据片段的尺寸均等于预设尺寸;
按照所述至少一个数据片段的排列顺序,依次对所述至少一个数据片段执行数据传输。
6.根据权利要求4所述的方法,其特征在于,所述对所述整理后的数据队列执行数据传输之后,所述方法还包括:
若所述整理后的数据队列中存在传输失败的目标待传输数据,则查询所述目标待传输数据的失败次数;
按照所述失败次数,提升所述目标待传输数据的优先权重,并将所述目标待传输数据重新添加至所述数据队列中;
当所述数据队列再次执行数据传输时,重新按照所述优先权重从大到小的顺序对所述数据队列执行数据传输。
7.一种数据传输装置,其特征在于,包括:
添加模块,用于获取待传输数据,将所述待传输数据添加至数据队列,所述数据队列包括至少一个待传输数据;
统计模块,用于当确定所述数据队列被触发传输时,统计所述至少一个待传输数据中每个待传输数据的等待时长;
清除模块,用于将所述数据队列中所述等待时长大于时长阈值的待传输数据清除,得到整理后的所述数据队列,所述时长阈值设置在所述数据队列当前所处业务系统中;
传输模块,用于对整理后的所述数据队列执行数据传输。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
获取模块,用于获取所述数据队列当前所处业务系统的业务特性,所述业务特性至少为实时性或非实时性的任一种;
确定模块,用于确定所述业务特性对应的所述时长阈值,将所述时长阈值设置在所述数据队列当前所处业务系统中。
9.一种设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911370281.9A CN111148159B (zh) | 2019-12-26 | 2019-12-26 | 数据传输方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911370281.9A CN111148159B (zh) | 2019-12-26 | 2019-12-26 | 数据传输方法、装置、设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111148159A true CN111148159A (zh) | 2020-05-12 |
CN111148159B CN111148159B (zh) | 2023-06-09 |
Family
ID=70520650
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911370281.9A Active CN111148159B (zh) | 2019-12-26 | 2019-12-26 | 数据传输方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111148159B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111755008A (zh) * | 2020-06-11 | 2020-10-09 | 北京字节跳动网络技术有限公司 | 信息处理方法、装置、电子设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101414974A (zh) * | 2008-12-04 | 2009-04-22 | 北京全路通信信号研究设计院 | 一种基于通信终端的数据流量管理方法 |
CN102170663A (zh) * | 2011-05-23 | 2011-08-31 | 迈普通信技术股份有限公司 | 基于3g的实时传输业务中保证服务质量的方法及设备 |
CN104394095A (zh) * | 2014-11-07 | 2015-03-04 | 北京奇虎科技有限公司 | 数据传输方法、系统及源服务器 |
CN106792628A (zh) * | 2015-11-24 | 2017-05-31 | 展讯通信(上海)有限公司 | 多卡多待移动终端业务冲突处理方法及装置 |
CN108848532A (zh) * | 2018-06-06 | 2018-11-20 | Oppo广东移动通信有限公司 | 一种数据传输优化方法、装置及计算机存储介质 |
-
2019
- 2019-12-26 CN CN201911370281.9A patent/CN111148159B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101414974A (zh) * | 2008-12-04 | 2009-04-22 | 北京全路通信信号研究设计院 | 一种基于通信终端的数据流量管理方法 |
CN102170663A (zh) * | 2011-05-23 | 2011-08-31 | 迈普通信技术股份有限公司 | 基于3g的实时传输业务中保证服务质量的方法及设备 |
CN104394095A (zh) * | 2014-11-07 | 2015-03-04 | 北京奇虎科技有限公司 | 数据传输方法、系统及源服务器 |
CN106792628A (zh) * | 2015-11-24 | 2017-05-31 | 展讯通信(上海)有限公司 | 多卡多待移动终端业务冲突处理方法及装置 |
CN108848532A (zh) * | 2018-06-06 | 2018-11-20 | Oppo广东移动通信有限公司 | 一种数据传输优化方法、装置及计算机存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111755008A (zh) * | 2020-06-11 | 2020-10-09 | 北京字节跳动网络技术有限公司 | 信息处理方法、装置、电子设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111148159B (zh) | 2023-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107872396B (zh) | 具有超时控制的通信方法、处理设备、终端设备和服务器 | |
CN106612284B (zh) | 一种流数据的传输方法和装置 | |
CN108418743B (zh) | 一种聊天室消息分发方法、装置及电子设备 | |
US20140359084A1 (en) | Electronic device, storage medium and file transferring method | |
US20080070603A1 (en) | Idle Mode Notification | |
US8369324B1 (en) | Variable compression queue | |
US20150127773A1 (en) | Electronic device, storage medium and file transferring method | |
CN107204875B (zh) | 数据上报链路监测方法、装置、电子设备及存储介质 | |
CN102970244A (zh) | 一种多cpu核间负载均衡的网络报文处理方法 | |
CN104980472A (zh) | 网络访问量的控制方法及装置 | |
US20160212034A1 (en) | Communication management apparatus, communication system and storage medium | |
CN107819825A (zh) | 一种服务调度方法、装置和电子设备 | |
CN109802868B (zh) | 一种基于云计算的移动应用实时识别方法 | |
CN111541555A (zh) | 群聊优化方法及相关产品 | |
CN111538572A (zh) | 任务处理方法、装置、调度服务器及介质 | |
CN111148159A (zh) | 数据传输方法、装置、设备及计算机可读存储介质 | |
US9001657B2 (en) | Mesh network node with multiple automatic repeat requesters | |
US20230276532A1 (en) | RRC Connection Release Control Method and Apparatus | |
CN117097679A (zh) | 一种网络中断的聚合方法、装置及网络通信设备 | |
CN106470421A (zh) | 一种防止恶意终端非法占用核心网资源的方法和设备 | |
CN116264592A (zh) | 虚拟桌面性能探测方法、装置、设备及存储介质 | |
CN110266814B (zh) | 传输方法及传输装置 | |
CN112351049B (zh) | 数据传输方法、装置、设备及存储介质 | |
CN117354252A (zh) | 一种数据传输处理方法、装置、存储介质及电子装置 | |
CN113422760A (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 |