CN109032530B - 一种数据流处理方法及设备 - Google Patents
一种数据流处理方法及设备 Download PDFInfo
- Publication number
- CN109032530B CN109032530B CN201810954447.0A CN201810954447A CN109032530B CN 109032530 B CN109032530 B CN 109032530B CN 201810954447 A CN201810954447 A CN 201810954447A CN 109032530 B CN109032530 B CN 109032530B
- Authority
- CN
- China
- Prior art keywords
- queue
- data stream
- aggregation
- aggregated
- queues
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例公开了一种数据流处理方法及设备,其中,该方法应用于数据流处理设备,该数据流处理设备包括多个队列,该多个队列中不同的队列用于存储不同大小范围的数据流,该方法包括:接收待写入存储介质的多个数据流;根据多个数据流的大小,将该多个数据流分别输入对应的队列中;对第一队列中的数据流进行聚合,该第一队列为多个队列中的任意一个;将聚合后得到的聚合数据流写入存储介质中。可见,通过实施本申请实施例,有利于提升存储介质的利用率。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种数据流处理方法及设备。
背景技术
在现有的实际应用中,数据流处理设备通常需要对接收到的数据流进行存储。例如,该数据流可以是文件数据流或视频数据流等。数据流处理设备接收数据流之后,通常数据流处理设备先将数据流输入至业务逻辑层的一个队列中,再从队列中将数据流写入存储介质。如图1所示,当数据流处理设备同时接收到50个数据流时,数据流处理设备将该50个数据流输入到业务逻辑层的一个队列中,并向存储介质申请50个存储空间。存储介质会随机分配50个存储空间。由于存储介质随机分配存储空间,因此,分配的存储空间可能不连续。这将导致存储介质的利用率较低。
发明内容
本申请实施例提供了一种数据流处理方法及设备,有利于提升存储介质的利用率。
第一方面,本申请实施例提供了一种数据流处理方法,应用于数据流处理设备,该数据流处理设备包括多个队列,该多个队列中不同的队列用于存储不同大小范围的数据流,该方法包括:接收待写入存储介质的多个数据流;根据多个数据流的大小,将该多个数据流分别输入对应的队列中;对第一队列中的数据流进行聚合,该第一队列为多个队列中的任意一个;将聚合后得到的聚合数据流写入存储介质中。
可见,通过实施第一方面所描述的方法,有利于提升存储介质的利用率,并且还有利于提升数据流处理设备的TPS。
可选的,该多个队列中的各个队列具有对应的聚合大小门限值,对第一队列中的数据流进行聚合的具体实施方式为:根据第一队列对应的聚合大小门限值对第一队列中的数据流进行聚合;将聚合后得到的聚合数据流写入存储介质中的具体实施方式为:当第一队列的聚合数据流的大小达到第一队列对应的聚合大小门限值时,将第一队列的聚合数据流写入存储介质中。
通过聚合数据流的大小达到预设的聚合大小门限值之后写入存储介质中,可以提升数据流处理设备的TPS。
可选的,该多个队列中的各个队列具有对应的聚合时间门限值,当对第一队列中的数据流进行聚合的时间达到第一队列对应的聚合时间门限值时,将第一队列的聚合数据流写入存储介质中。
通过实施该实施方式,若长时间第一队列中无法聚合达到第一队列对应的聚合大小门限值的聚合数据流,则将导致第一队列中的数据流长时间无法写入存储介质。因此,通过实施该实施方式,有利于降低将第一队列中的数据流长时间无法写入存储介质的时延。
可选的,第一队列的聚合时间门限值根据第一队列的聚合大小门限值得到。数据流处理设备可预先存储聚合大小门限值与聚合时间门限值的对应关系,第一队列的聚合时间门限值为该对应关系中第一队列的聚合大小门限值对应的聚合时间门限值。可选的,该对应关系中,聚合大小门限值与聚合时间门限值成正比关系,即聚合大小门限值越大聚合时间门限值越长。通过实施该实施方式,能够灵活地对第一队列的聚合时间门限值进行设置。
可选的,数据流处理设备还可以预设时间为周期,根据各个队列的第一聚合数据流的写入时延以及各个队列对应的数据流并发数量设置各个队列对应的聚合大小门限值,其中,该第一队列的第一聚合数据流的写入时延为从接收到第一队列的第一聚合数据流中的数据流至成功写入第一聚合数据流的时长,该第一队列对应的数据流并发数量为大小与第一队列的第一聚合数据流的大小相同的数据流的并发数量。
通过实施该实施方式,能够根据当前的实际情况,灵活地动态地为各个队列设置最优的聚合大小门限值,从而提升数据流处理设备的TPS。
可选的,以预设时间为周期,根据各个队列的第一聚合数据流的写入时延以及各个队列对应的数据流并发数量设置各个队列对应的聚合大小门限值的具体实施方式为:以预设时间为周期,根据各个队列的第一聚合数据流的写入时延以及各个队列对应的数据流并发数量计算各个队列对应的每秒事务处理量TPS;将第一TPS对应的第一聚合数据流的大小设置为各个队列对应的聚合大小门限值,该第一TPS为各个队列对应的TPS中最大的TPS。
通过实施该实施方式,能够根据当前的实际情况准确地计算出各个队列设置最优的聚合大小门限值。
可选的,数据流处理设备的各个队列具有对应的数据流聚合数量,数据流处理设备对第一队列中的数据流进行聚合的具体实施方式可以为:根据第一队列对应的数据流聚合数量对第一队列中的数据流进行聚合。数据流处理设备将聚合后得到的聚合数据流写入存储介质中的具体实施方式为:当聚合的第一队列的数据流的数量达到第一队列对应的数据流聚合数量时,将第一队列的聚合数据流写入存储介质中。
通过实施该实施方式,有利于提升数据流处理设备的TPS。
可选的,数据流处理设备的各个队列除具有对应的数据流聚合数量之外,还具有对应的聚合时间门限值。除当聚合的第一队列的数据流的数量达到第一队列对应的数据流聚合数量时,将第一队列的聚合数据流写入存储介质中之外,当对第一队列中的数据流进行聚合的时间达到第一队列对应的聚合时间门限值时,将第一队列的聚合数据流写入存储介质中。
通过实施该实施方式,若长时间第一队列中无法聚合第一队列对应的数据流聚合数量的数据流,则将导致第一队列中的数据流长时间无法写入存储介质。因此,通过实施该实施方式,有利于降低将第一队列中的数据流长时间无法写入存储介质的时延。
第二方面,提供了一种数据流处理设备,该数据流处理设备可执行上述第一方面或第一方面可能的实现方式中的方法。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的单元。该单元可以是软件和/或硬件。基于同一发明构思,该数据流处理设备解决问题的原理以及有益效果可以参见上述第一方面或第一方面可能的实现方式以及有益效果,重复之处不再赘述。
第三方面,提供了一种数据流处理设备,该数据流处理设备包括:处理器、存储器、通信接口;处理器、通信接口和存储器相连;其中,通信接口可以为收发器。通信接口用于实现与其他网元(如终端设备)之间的通信。其中,一个或多个程序被存储在存储器中,该处理器调用存储在该存储器中的程序以实现上述第一方面或第一方面可能的实现方式中的方案,该数据流处理设备解决问题的实施方式以及有益效果可以参见上述第一方面或第一方面可能的实现方式以及有益效果,重复之处不再赘述。
第四方面,提供了一种计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面或第一方面可能的实现方式中的方法。
第五方面,提供了一种芯片产品,执行上述第一方面或第一方面可能的实现方式中的方法。
第六方面,提了供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面或第一方面可能的实现方式中的方法。
附图说明
图1是现有的一种数据流处理过程的示意图;
图2是本申请实施例提供的一种系统架构的示意图;
图3是本申请实施例提供的一种数据流处理方法的流程示意图;
图4是本申请实施例提供的一种数据流处理过程的示意图;
图5是本申请实施例提供的另一种数据流处理过程的示意图;
图6是本申请实施例提供的另一种数据流处理方法的流程示意图;
图7是本申请实施例提供的又一种数据流处理过程的示意图;
图8是本申请实施例提供的又一种数据流处理过程的示意图;
图9是本申请实施例提供的一种数据流处理设备的结构示意图;
图10是本申请实施例提供的另一种数据流处理设备的结构示意图。
具体实施方式
下面结合附图对本申请具体实施例作进一步的详细描述。
本申请实施例提供了一种数据流处理方法及设备,有利于提升存储介质的利用率。
为了能够更好地理解本申请实施例,下面对本申请实施例可应用的系统架构进行说明。
如图2所示,该系统架构至少包括数据流处理设备。可选的,还可包括一个或多个目标设备,该目标设备用于传输数据流至数据流处理设备,图2中未示出目标设备。其中,该数据流处理设备为具有存储介质的设备。该目标设备可以为手机或电脑等能够发送数据流的设备。该数据流可以是文件数据流、音频数据流或视频数据流等,本申请实施例不做限定。
如图2所示,数据流处理设备可接收多个数据流。其中,如图2所示,该数据流处理设备包括存储介质和多个队列。该多个队列用于缓存数据流处理设备接收到的数据流。图2以数据流处理设备包括3个队列为例,当然数据流处理设备还可包括2个队列或3个以上的队列,本申请实施例不做限定。
该多个队列中不同的队列用于存储接收到的不同大小范围的数据流。例如,如图2所示,队列1用于缓存大小在0~4千字节(Kilobyte,KB)的数据流。队列2用于缓存大小在5~16KB的数据流。队列3用于缓存大小在17~32KB的数据流。当然,图2的队列1~3的存储大小范围只是举例,队列1~3的存储大小范围也可以是其他范围,再此不做限定。
下面进一步对本申请所提供的数据流处理方法及设备进行介绍。
请参见图3,图3是本申请实施例提供的一种数据流处理方法。如图3所示,该数据流处理方法包括如下301~304部分,其中:
301、数据流处理设备接收待写入存储介质的多个数据流。
其中,该多个数据流可以是数据流处理设备从一个或多个目标设备接收的数据流。或者,该多个数据流可以是数据流处理设备从自身的其他模块中接收的数据流。
可选的,该多个数据流可以是同时接收的,或者是在不同时间接收的,本申请实施例不做限定。
302、数据流处理设备根据该多个数据流的大小,将该多个数据流分别输入对应的队列中。
本申请实施例中,数据流处理设备接收待写入存储介质的多个数据流之后,根据该多个数据流的大小,将该多个数据流分别输入对应的队列中。
举例来说,如图4所示,队列1用于缓存大小在0~4KB的数据流。队列2用于缓存大小在5~16KB的数据流。队列3用于缓存大小在17~32KB的数据流。数据流处理设备接收到15个数据流之后,由于数据流1~5的大小均处于0~4KB的范围之内,则数据流处理设备将数据流1~5输入队列1。由于数据流6~10的大小均处于5~16KB的范围之内,则数据流处理设备将数据流6~10输入队列2。由于数据流11~15的大小均处于17~32KB的范围之内,则数据流处理设备将数据流11~15输入队列3。
303、数据流处理设备对第一队列中的数据流进行聚合。
本申请实施例中,数据流处理设备将该多个数据流分别输入对应的队列中之后,对第一队列中的数据流进行聚合。其中,该第一队列为数据流处理设备的多个队列中的任意一个。也就是说,数据流处理设备可以对每个队列的数据流进行聚合,并将聚合得到的聚合数据流写入存储介质。
例如,第一队列为队列1。如图5所示,数据流处理设备可将队列1中的数据流1和数据流2进行聚合,得到聚合数据流1。即将数据流1和数据流2合为一个数据流。由于数据流1为3KB,数据流2为4KB,因此数据流1和数据流2聚合后得到的聚合数据流为7KB。数据流处理设备将聚合数据流1写入存储介质中。
同理,数据流处理设备可将队列2中的数据流1和数据流2进行聚合,得到聚合数据流2。数据流处理设备可将队列3中的数据流1和数据流2进行聚合,得到聚合数据流3。数据流处理设备将聚合数据流2和聚合数据流3写入存储介质中。
304、数据流处理设备将聚合后得到的聚合数据流写入存储介质中。
通过将多个数据流聚合为一个数据流,存储介质随机分配存储空间的几率变小,因此,分配的不连续的存储空间变少,有利于提升存储介质的利用率。例如,如果有100个数据流需要存储,存储介质最多会随机分配100个存储空间。但将100个数据流聚合为50个数据流之后,存储介质最多会随机分配50个存储空间。可见,将多个数据流聚合为一个数据流之后,存储介质随机分配存储空间的几率变小。因此,通过实施图3所描述的方法,有利于提升存储介质的利用率。
并且将数据流进行聚合,有利于降低数据流处理设备所需的每秒读写操作的次数(input/output operations per second,IPOS),从而可以提升每秒事务处理量(transaction per second,TPS)。例如,假如有100个数据流需要存储,若不对数据流进行聚合,IOPS可能需要100次/秒。但对100个数据流聚合为50个数据流之后,可能IOPS只需要50次/秒。若数据流处理设备最大的IOPS为100次/秒,则聚合数据流之后,数据流处理设备并未达到写操作的极限,数据流处理设备还可在1秒之内写入更多的数据流,因此提升了TPS。因此,通过实施图3所描述的方法,还有利于提升TPS。并且图3所描述的方法还根据数据流的大小,将数据流输入对应的队列中进行聚合,从而保证了大小相差不大的数据流进行聚合,这样也有利于降低数据流的写入时延,从而提升TPS。
请参见图6,图6是本申请实施例提供的一种数据流处理方法。如图6所示,该数据流处理方法包括如下601~604部分,其中:
601、数据流处理设备接收待写入存储介质的多个数据流。
602、数据流处理设备根据该多个数据流的大小,将该多个数据流分别输入对应的队列中。
其中,步骤601和602的具体实现原理与图3中的步骤301和302的具体实现原理相同,步骤601和602的具体实现原理可参见步骤301和302的具体实现原理,在此不赘述。
603、数据流处理设备根据第一队列对应的聚合大小门限值对第一队列中的数据流进行聚合。
604、当第一队列的聚合数据流的大小达到第一队列对应的聚合大小门限值时,数据流处理设备将第一队列的聚合数据流写入存储介质中。
其中,步骤603为图3中步骤303的具体实施方式,步骤604为图3中步骤304的具体实施方式。
举例来说,如图7所示,队列1对应的聚合大小门限值为8KB,队列2对应的聚合大小门限值为32KB,队列3对应的聚合大小门限值为64KB。由于队列1对应的聚合大小门限值为8KB,因此数据流处理设备可将队列1中的数据流1~3进行聚合。聚合后得到的聚合数据流的大小为9KB。由于聚合数据流的大小达到8KB,因此,数据流处理设备将队列1的聚合数据流写入存储介质中。数据流处理设备将队列1中的数据流1~3进行聚合之后,按照相同的原理对队列1中的其他数据流进行聚合,并将达到队列1对应的聚合大小门限值的聚合数据流写入存储介质中。
同理,由于队列2对应的聚合大小门限值为32KB,因此数据流处理设备可将队列2中的数据流1和2进行聚合。聚合后得到的聚合数据流的大小为32KB。由于聚合数据流的大小达到32KB,因此,数据流处理设备将队列2的聚合数据流写入存储介质中。数据流处理设备将队列2中的数据流1和2进行聚合之后,按照相同的原理对队列2中的其他数据流进行聚合,并将达到队列2对应的聚合大小门限值的聚合数据流写入存储介质中。
同理,由于队列3对应的聚合大小门限值为64KB,因此数据流处理设备可将队列3中的数据流1和2进行聚合。聚合后得到的聚合数据流的大小为64KB。由于聚合数据流的大小达到64KB,因此,数据流处理设备将队列3的聚合数据流写入存储介质中。数据流处理设备将队列3中的数据流1和2进行聚合之后,按照相同的原理对队列3中的其他数据流进行聚合,并将达到队列3对应的聚合大小门限值的聚合数据流写入存储介质中。
可选的,各个队列对应的聚合大小门限值可以是预先设置好的固定值,例如,聚合大小门限值可以是一个预先设置好的经验值。通过聚合数据流的大小达到预设的聚合大小门限值之后写入存储介质中,可以提升数据流处理设备的TPS。
或者,各个队列对应的聚合大小门限值也可以是动态设置的值。如何动态设置各个队列对应的聚合大小门限值请参见下文的描述。
因此,通过实施图6所描述的方法,数据流处理设备能够将队列中的数据流聚合达到预设的聚合大小门限值。聚合数据流的大小达到预设的聚合大小门限值之后写入存储介质中,有利于提升数据流处理设备的TPS。
作为一种可选的实施方式,数据流处理设备的各个队列除具有对应的聚合大小门限值之外,还具有对应的聚合时间门限值,除当第一队列的聚合数据流的大小达到第一队列对应的聚合大小门限值时,将对第一队列的聚合数据流写入存储介质中之外,当对第一队列中的数据流进行聚合的时间达到第一队列对应的聚合时间门限值时,将第一队列的聚合数据流写入存储介质中。
举例来说,如图8所示,队列1对应的聚合大小门限值为8KB,队列2对应的聚合大小门限值为32KB,队列3对应的聚合大小门限值为64KB。队列1对应的聚合时间门限值为5ms(毫秒),队列2对应的聚合时间门限值为10ms,队列3对应的聚合时间门限值为15ms。
由于队列1对应的聚合大小门限值为8KB,因此数据流处理设备可将队列1中的数据流1~3进行聚合。聚合后得到的聚合数据流的大小为3KB。此时队列1中已没有数据流,由于此时聚合时间门限值达到5ms,因此即使聚合数据流的大小未达到8KB,数据流处理设备也将聚合数据流写入存储介质中。当然若在聚合时间门限值内聚合得到的聚合数据流的大小达到8KB,则数据流处理设备也将聚合数据流写入存储介质中。队列2和队列3也同理,在此再不赘述。
通过实施该实施方式,若长时间第一队列中无法聚合达到第一队列对应的聚合大小门限值的聚合数据流,则将导致第一队列中的数据流长时间无法写入存储介质。因此,通过实施该实施方式,有利于降低将第一队列中的数据流长时间无法写入存储介质的时延。
可选的,第一队列的聚合时间门限值根据第一队列的聚合大小门限值得到。数据流处理设备可预先存储聚合大小门限值与聚合时间门限值的对应关系,第一队列的聚合时间门限值为该对应关系中第一队列的聚合大小门限值对应的聚合时间门限值。可选的,该对应关系中,聚合大小门限值与聚合时间门限值成正比关系,即聚合大小门限值越大聚合时间门限值越长。例如,聚合大小门限值和聚合时间门限值的对应关系可如下表1所示。
表1
聚合大小门限值 | 聚合时间门限值 |
8KB | 5ms |
32KB | 10ms |
64KB | 15ms |
通过实施该实施方式,能够灵活地对第一队列的聚合时间门限值进行设置。
作为一种可选的实施方式,数据流处理设备还可以预设时间为周期,根据数据流处理设备的各个队列的第一聚合数据流的写入时延以及该各个队列对应的数据流并发数量设置该各个队列对应的聚合大小门限值。其中,该第一队列的第一聚合数据流的写入时延为从接收到第一队列的第一聚合数据流中的数据流至写入第一聚合数据流的时长,该第一队列对应的数据流并发数量为大小与第一队列的第一聚合数据流的大小相同的数据流的并发数量。
例如,预设周期为10秒。也就是说,数据流处理设备每隔10秒可设置一次各个队列最新的聚合大小门限值。例如,数据流处理设备包括队列1~队列3。数据流处理设备根据队列1的第一聚合数据流1的写入时延、队列1对应的数据流并发数量、队列2的第一聚合数据流2的写入时延、队列2对应的数据流并发数量、队列3的第一聚合数据流3的写入时延和队列3对应的数据流并发数量设置各个队列对应的聚合大小门限值。
其中,第一聚合数据流1可以为在队列1的任意一次聚合得到的聚合数据流。例如,在预设周期达到时,数据流处理设备可以将队列1上一次写入存储介质的聚合数据流确定为第一聚合数据流1。或者,在预设周期达到时,数据流处理设备可以将队列1下一次写入存储介质的聚合数据流确定为第一聚合数据流1。队列2和队列3的第一聚合数据流同理。
其中,队列1对应的数据流并发数量为与第一聚合数据流1的大小相同的数据流的并发数量。队列2对应的数据流并发数量为与第一聚合数据流2的大小相同的数据流的并发数量。队列3对应的数据流并发数量为与第一聚合数据流3的大小相同的数据流的并发数量。
下面各个队列的第一聚合数据流的写入时延以及该各个队列对应的数据流并发数量进行举例说明:例如,在预设周期达到时,队列1当前对应的聚合大小门限值为8KB。队列2当前对应的聚合大小门限值为32KB。队列3当前对应的聚合大小门限值为64KB。在预设周期达到时,数据流处理设备可以将队列1上一次写入存储介质的聚合数据流确定为第一聚合数据流1,将队列2上一次写入存储介质的聚合数据流确定为第一聚合数据流2,将队列3上一次写入存储介质的聚合数据流确定为第一聚合数据流3。
在预设周期达到时,数据流处理设备同时接收到100个数据流。该100个数据流中,大小为10KB的数据流一共有20个,则大小为10KB的数据流的并发数量为20个。该100个数据流中,大小为35KB的数据流一共有10个,则大小为35KB的数据流的并发数量为10个。该100个数据流中,大小为66KB的数据流一共有20个,则大小为66KB的数据流的并发数量为20个。
第一聚合数据流1的写入时延为从接收到该第一聚合数据流1中的数据流起至将第一聚合数据流1成功写入存储介质的时长T1。第一聚合数据流2的写入时延为从接收到该第一聚合数据流2中的数据流起至将第一聚合数据流2成功写入存储介质的时长T2。第一聚合数据流3的写入时延为从接收到该第一聚合数据流3中的数据流起至将第一聚合数据流3成功写入存储介质的时长T3。
第一聚合数据流1的大小为10KB,因此,队列1对应的数据流并发数量为20个。第一聚合数据流2的大小为35KB,因此,队列2对应的数据流并发数量为10个。第一聚合数据流3的大小为66KB,因此,队列3对应的数据流并发数量为20个。
通过实施该实施方式,能够根据当前的实际情况,灵活地动态地为各个队列设置最优的聚合大小门限值,从而提升数据流处理设备的TPS。
作为一种可选的实施方式,数据流处理设备以预设时间为周期,根据数据流处理设备的各个队列的第一聚合数据流的写入时延以及该各个队列对应的数据流并发数量设置该各个队列对应的聚合大小门限值的具体实施方式为:以预设时间为周期,根据各个队列的第一聚合数据流的写入时延以及各个队列对应的数据流并发数量计算各个队列对应的TPS;将第一TPS对应的第一聚合数据流的大小设置为各个队列对应的聚合大小门限值,该第一TPS为各个队列对应的TPS中最大的TPS。
例如,队列1的第一聚合数据流1的写入时延为T1毫秒,队列1对应的数据流并发数量为20个。队列2的第一聚合数据流2的写入时延为T2毫秒,队列1对应的数据流并发数量为10个。队列3的第一聚合数据流3的写入时延为T3毫秒,队列3对应的数据流并发数量为20个。队列1对应的队列2对应的队列3对应的若TPS1大于TPS2和TPS3,则TPS1为第一TPS。数据流处理设备将TPS1对应的第一聚合数据流1的大小设置为队列1~3的聚合大小门限值。例如,第一聚合数据流1为40KB,则将队列1~队列3的聚合大小门限值均设置为40KB。
可选的,若第一聚合数据流1的大小小于队列对应的存储大小范围,则保持该队列的聚合大小门限值不变。例如,队列1用于存储大小在0~4KB的数据流。队列2用于存储大小在5~16KB的数据流。队列3用于存储大小在17~32KB的数据流。第一聚合数据流1为16KB,则将队列1和队列2的聚合大小门限值均设置为16KB,队列3的聚合大小门限值保持不变。
通过实施该实施方式,能够根据当前的实际情况准确地计算出各个队列设置最优的聚合大小门限值。
作为一种可选的实施方式,数据流处理设备的各个队列具有对应的数据流聚合数量,步骤303,即数据流处理设备对第一队列中的数据流进行聚合的具体实施方式可以为:根据第一队列对应的数据流聚合数量对第一队列中的数据流进行聚合。步骤304,即数据流处理设备将聚合后得到的聚合数据流写入存储介质中的具体实施方式为:当聚合的第一队列的数据流的数量达到第一队列对应的数据流聚合数量时,将第一队列的聚合数据流写入存储介质中。
例如,队列1对应的数据流聚合数量为5个,则数据流处理设备将队列1中的5个数据流聚合为一个数据流,并将聚合后得到的聚合数据流写入存储介质中。
可选的,各个队列对应的数据流聚合数量可以是预先设置好的固定值,例如,数据流聚合数量可以是一个预先设置好的有利于提升数据流处理设备的TPS的经验值。
因此,通过实施该实施方式,有利于提升数据流处理设备的TPS。
可选的,数据流处理设备的各个队列除具有对应的数据流聚合数量之外,还具有对应的聚合时间门限值。除当聚合的第一队列的数据流的数量达到第一队列对应的数据流聚合数量时,将第一队列的聚合数据流写入存储介质中之外,当对第一队列中的数据流进行聚合的时间达到第一队列对应的聚合时间门限值时,将第一队列的聚合数据流写入存储介质中。
当对第一队列中的数据流进行聚合的时间达到第一队列对应的聚合时间门限值时,将第一队列的聚合数据流写入存储介质中的具体实现原理可参见上述实施例中的说明,在此不赘述。
通过实施该实施方式,若长时间第一队列中无法聚合第一队列对应的数据流聚合数量的数据流,则将导致第一队列中的数据流长时间无法写入存储介质。因此,通过实施该实施方式,有利于降低将第一队列中的数据流长时间无法写入存储介质的时延。
本发明实施例可以根据上述方法示例对设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本发明实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
请参见图9,图9是本发明实施提供的一种数据流处理设备。该数据流处理设备可用于执行图3或图6中数据流处理设备的行为功能。下述对数据流处理设备的结构进行简单的说明,具体的功能与特征请参考方法实施例,在此不再赘述。该数据流处理设备包括多个队列,该多个队列中不同的队列用于存储不同大小范围的数据流,该数据流处理设备包括:通信模块901和处理模块902。其中:
通信模块901,用于接收待写入存储介质的多个数据流;处理模块902,用于根据多个数据流的大小,将多个数据流分别输入对应的队列中;处理模块902,还用于对第一队列中的数据流进行聚合,第一队列为多个队列中的任意一个;处理模块902,还用于将聚合后得到的聚合数据流写入存储介质中。
可选的,多个队列中的各个队列具有对应的聚合大小门限值,处理模块902对第一队列中的数据流进行聚合的方式具体为:根据第一队列对应的聚合大小门限值对第一队列中的数据流进行聚合;处理模块902将聚合后得到的聚合数据流写入存储介质中的方式具体为:当第一队列的聚合数据流的大小达到第一队列对应的聚合大小门限值时,将第一队列的聚合数据流写入存储介质中。
可选的,多个队列中的各个队列具有对应的聚合时间门限值,处理模块902,还用于当对第一队列中的数据流进行聚合的时间达到第一队列对应的聚合时间门限值时,将第一队列的聚合数据流写入存储介质中。
可选的,处理模块902,还用于以预设时间为周期,根据各个队列的第一聚合数据流的写入时延以及各个队列对应的数据流并发数量设置各个队列对应的聚合大小门限值,其中,第一队列的第一聚合数据流的写入时延为从接收到第一队列的第一聚合数据流中的数据流至成功写入第一聚合数据流的时长,第一队列对应的数据流并发数量为大小与第一队列的第一聚合数据流的大小相同的数据流的并发数量。
可选的,处理模块902以预设时间为周期,根据各个队列的第一聚合数据流的写入时延以及各个队列对应的数据流并发数量设置各个队列对应的聚合大小门限值的方式具体为:以预设时间为周期,根据各个队列的第一聚合数据流的写入时延以及各个队列对应的数据流并发数量计算各个队列对应的每秒事务处理量TPS;将第一TPS对应的第一聚合数据流的大小设置为各个队列对应的聚合大小门限值,第一TPS为各个队列对应的TPS中最大的TPS。
请参见图10,图10是本申请实施例公开的一种数据流处理设备的结构示意图。该数据流处理设备可以执行上述方法实施例中图3或图6所示的数据流处理设备。如图10所示,该数据流处理设备1000包括处理器1001、存储器1002和通信接口1003。其中,处理器1001、存储器1002和通信接口1003相连。
其中,处理器1001可以是中央处理器(central processing unit,CPU),通用处理器,协处理器,数字信号处理器(digital signal processor,DSP),专用集成电路(application-specific integrated circuit,ASIC),现场可编程门阵列(fieldprogrammable gate array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。该处理器1001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。
其中,通信接口1003用于实现与其他网元(如目标设备)之间的通信。
其中,处理器1001调用存储器1002中存储的程序代码,可执行上述方法实施例中数据流处理设备所执行的步骤。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (10)
1.一种数据流处理方法,其特征在于,应用于数据流处理设备,所述数据流处理设备包括多个队列,所述多个队列中不同的队列用于存储不同大小范围的数据流,所述方法包括:
接收待写入存储介质的多个数据流;
根据所述多个数据流的大小,将所述多个数据流分别输入对应的队列中;
对第一队列中的数据流进行聚合,所述第一队列为所述多个队列中的任意一个;
将聚合后得到的聚合数据流写入所述存储介质中。
2.根据权利要求1所述的方法,其特征在于,所述多个队列中的各个队列具有对应的聚合大小门限值,
所述对第一队列中的数据流进行聚合,包括:
根据第一队列对应的聚合大小门限值对所述第一队列中的数据流进行聚合;
所述将聚合后得到的聚合数据流写入所述存储介质中,包括:
当所述第一队列的聚合数据流的大小达到所述第一队列对应的聚合大小门限值时,将所述第一队列的聚合数据流写入所述存储介质中。
3.根据权利要求2所述的方法,其特征在于,所述多个队列中的各个队列具有对应的聚合时间门限值,所述方法还包括:
当对所述第一队列中的数据流进行聚合的时间达到所述第一队列对应的聚合时间门限值时,将所述第一队列的聚合数据流写入所述存储介质中。
4.根据权利要求2或3所述的方法,其特征在于,所述方法还包括:
以预设时间为周期,根据各个所述队列的第一聚合数据流的写入时延以及各个所述队列对应的数据流并发数量设置各个所述队列对应的聚合大小门限值,其中,所述队列的第一聚合数据流的写入时延为从接收到所述队列的第一聚合数据流中的数据流至成功写入所述第一聚合数据流的时长,所述队列对应的数据流并发数量为大小与所述队列的第一聚合数据流的大小相同的数据流的并发数量。
5.根据权利要求4所述的方法,其特征在于,所述以预设时间为周期,根据各个所述队列的第一聚合数据流的写入时延以及各个所述队列对应的数据流并发数量设置各个所述队列对应的聚合大小门限值,包括:
以预设时间为周期,根据各个所述队列的第一聚合数据流的写入时延以及各个所述队列对应的数据流并发数量计算各个所述队列对应的每秒事务处理量TPS;
将第一TPS对应的第一聚合数据流的大小设置为各个所述队列对应的聚合大小门限值,所述第一TPS为各个所述队列对应的TPS中最大的TPS。
6.一种数据流处理设备,其特征在于,所述数据流处理设备包括多个队列,所述多个队列中不同的队列用于存储不同大小范围的数据流,所述数据流处理设备包括:
通信模块,用于接收待写入存储介质的多个数据流;
处理模块,用于根据所述多个数据流的大小,将所述多个数据流分别输入对应的队列中;
所述处理模块,还用于对第一队列中的数据流进行聚合,所述第一队列为所述多个队列中的任意一个;
所述处理模块,还用于将聚合后得到的聚合数据流写入所述存储介质中。
7.根据权利要求6所述的数据流处理设备,其特征在于,所述多个队列中的各个队列具有对应的聚合大小门限值,
所述处理模块对第一队列中的数据流进行聚合的方式具体为:
根据第一队列对应的聚合大小门限值对所述第一队列中的数据流进行聚合;
所述处理模块将聚合后得到的聚合数据流写入所述存储介质中的方式具体为:
当所述第一队列的聚合数据流的大小达到所述第一队列对应的聚合大小门限值时,将所述第一队列的聚合数据流写入所述存储介质中。
8.根据权利要求7所述的数据流处理设备,其特征在于,所述多个队列中的各个队列具有对应的聚合时间门限值,
所述处理模块,还用于当对所述第一队列中的数据流进行聚合的时间达到所述第一队列对应的聚合时间门限值时,将所述第一队列的聚合数据流写入所述存储介质中。
9.根据权利要求7或8所述的数据流处理设备,其特征在于,
所述处理模块,还用于以预设时间为周期,根据各个所述队列的第一聚合数据流的写入时延以及各个所述队列对应的数据流并发数量设置各个所述队列对应的聚合大小门限值,其中,所述队列的第一聚合数据流的写入时延为从接收到所述队列的第一聚合数据流中的数据流至成功写入所述第一聚合数据流的时长,所述队列对应的数据流并发数量为大小与所述队列的第一聚合数据流的大小相同的数据流的并发数量。
10.根据权利要求9所述的数据流处理设备,其特征在于,所述处理模块以预设时间为周期,根据各个所述队列的第一聚合数据流的写入时延以及各个所述队列对应的数据流并发数量设置各个所述队列对应的聚合大小门限值的方式具体为:
以预设时间为周期,根据各个所述队列的第一聚合数据流的写入时延以及各个所述队列对应的数据流并发数量计算各个所述队列对应的每秒事务处理量TPS;
将第一TPS对应的第一聚合数据流的大小设置为各个所述队列对应的聚合大小门限值,所述第一TPS为各个所述队列对应的TPS中最大的TPS。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111065084.3A CN113918090A (zh) | 2018-08-21 | 2018-08-21 | 一种数据流处理方法及设备与系统 |
CN201810954447.0A CN109032530B (zh) | 2018-08-21 | 2018-08-21 | 一种数据流处理方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810954447.0A CN109032530B (zh) | 2018-08-21 | 2018-08-21 | 一种数据流处理方法及设备 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111065084.3A Division CN113918090A (zh) | 2018-08-21 | 2018-08-21 | 一种数据流处理方法及设备与系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109032530A CN109032530A (zh) | 2018-12-18 |
CN109032530B true CN109032530B (zh) | 2021-10-01 |
Family
ID=64627341
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810954447.0A Active CN109032530B (zh) | 2018-08-21 | 2018-08-21 | 一种数据流处理方法及设备 |
CN202111065084.3A Pending CN113918090A (zh) | 2018-08-21 | 2018-08-21 | 一种数据流处理方法及设备与系统 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111065084.3A Pending CN113918090A (zh) | 2018-08-21 | 2018-08-21 | 一种数据流处理方法及设备与系统 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN109032530B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111488222B (zh) * | 2019-01-25 | 2023-04-07 | 杭州海康威视数字技术股份有限公司 | 一种流聚合方法、装置及电子设备 |
CN111625180B (zh) | 2019-02-27 | 2021-05-28 | 英韧科技(上海)有限公司 | 数据写入方法及装置、存储介质 |
CN110928489B (zh) * | 2019-10-28 | 2022-09-09 | 成都华为技术有限公司 | 一种写数据方法、装置及存储节点 |
CN111984600B (zh) * | 2020-08-27 | 2022-07-29 | 苏州浪潮智能科技有限公司 | 一种文件聚合方法、装置、设备及可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9992659B1 (en) * | 2017-07-29 | 2018-06-05 | Sprint Communications Company L.P. | Stream-processing of telecommunication event records |
CN108243256A (zh) * | 2018-01-19 | 2018-07-03 | 网宿科技股份有限公司 | 一种数据存储方法、编码设备及解码设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7817659B2 (en) * | 2004-03-26 | 2010-10-19 | Foundry Networks, Llc | Method and apparatus for aggregating input data streams |
CN102238077A (zh) * | 2010-05-07 | 2011-11-09 | 中国科学院计算技术研究所 | 路由流量信息存储与查询方法 |
CN107391719A (zh) * | 2017-07-31 | 2017-11-24 | 南京邮电大学 | 一种云环境中分布式流数据处理方法及系统 |
-
2018
- 2018-08-21 CN CN201810954447.0A patent/CN109032530B/zh active Active
- 2018-08-21 CN CN202111065084.3A patent/CN113918090A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9992659B1 (en) * | 2017-07-29 | 2018-06-05 | Sprint Communications Company L.P. | Stream-processing of telecommunication event records |
CN108243256A (zh) * | 2018-01-19 | 2018-07-03 | 网宿科技股份有限公司 | 一种数据存储方法、编码设备及解码设备 |
Non-Patent Citations (2)
Title |
---|
"Answering ad-hoc continuous aggregate queries over data streams using Dynamic Prefix Aggregate Tree";Ali Asghar Safaei;Mehdi Mosaferi;Fatemeh Abdi;《Intelligent Data Analysis》;20161108;全文 * |
"信息物理融合系统过程数据流处理关键技术研究";李玉珍;《中国优秀硕士学位论文全文数据库 信息科技辑》;20161015(第10期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113918090A (zh) | 2022-01-11 |
CN109032530A (zh) | 2018-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109032530B (zh) | 一种数据流处理方法及设备 | |
US11567885B2 (en) | System and method for optimizing DRAM bus switching using LLC | |
CN107818056B (zh) | 一种队列管理方法及装置 | |
US10459844B2 (en) | Managing flash memory read operations | |
US10437519B2 (en) | Method and mobile terminal for processing write request | |
CN109408243B (zh) | 一种基于rdma的数据处理方法、装置和介质 | |
CN112199309A (zh) | 基于dma引擎的数据读取方法、装置和数据传输系统 | |
CN116431079A (zh) | 数据读取、写入方法及装置、带宽转换装置和电子设备 | |
CN115102908A (zh) | 基于带宽控制的网络报文生成的方法以及相关装置 | |
CN111258932A (zh) | 加速ufs协议处理的方法与存储控制器 | |
CN104486442A (zh) | 分布式存储系统的数据传输方法、装置 | |
CN112799723A (zh) | 一种数据读取方法、装置及电子设备 | |
CN110874284A (zh) | 数据处理的方法和装置 | |
US20230367735A1 (en) | Data transmission method, module and apparatus, device, and storage medium | |
CN113360130B (zh) | 一种数据传输方法、装置及系统 | |
CN113316230B (zh) | 一种发送数据任务调度方法、装置、电子设备及存储介质 | |
CN115509972A (zh) | 实现dma高效收发报文的方法及应用 | |
CN110445578B (zh) | 一种spi数据传输方法及装置 | |
CN114567566A (zh) | 一种报文处理方法、装置、终端设备及存储介质 | |
CN112130974B (zh) | 云计算资源配置方法、装置、电子设备与存储介质 | |
CN114662689A (zh) | 一种神经网络的剪枝方法、装置、设备及介质 | |
CN108984112B (zh) | 存储QoS控制策略的实现方法及装置 | |
KR102338872B1 (ko) | 다수의 클라이언트 데이터를 처리하는 저장 장치 및 방법 | |
CN111193648B (zh) | 降低can总线负载的数据发送方法、终端设备及存储介质 | |
US20220179805A1 (en) | Adaptive pipeline selection for accelerating memory copy operations |
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 |