队列控制方法和装置制造方法及图纸

技术编号:39843114 阅读:27 留言:0更新日期:2023-12-29 16:34
本公开涉及一种队列控制方法和装置,涉及队列控制领域

【技术实现步骤摘要】
队列控制方法和装置


[0001]本申请涉及队列控制领域,尤其涉及一种队列控制方法

装置

电子设备和存储介质


技术介绍

[0002]队列作为一种常见的数据结构有广泛的应用,一端为数据写入端,一端为数据读出端

一般称写入数据的执行体为生产者,读出数据的执行体为消费者

按照生产者
/
消费者支持数量可分为:多生产者队列

多消费者队列

其中,多生产者队列支持多个生产者并发写入数据

多消费者队列支持多个消费者并发读出数据

对于多消费者队列,多个消费者竞争从队列读出数据,每条队列数据只能被一个消费者读取和处理

[0003]传统的队列有入队和出队动作,入队对应一个生产者写入动作,出队对应一个消费者读取动作

就是这个出队动作,导致每条队列数据只能被一个消费者读取和处理;如果需要所有消费者都获得一份队列数据,只能进行数据拷贝和推送,数据传输效率低下


技术实现思路

[0004]本公开的实施例提供了一种队列控制方法

装置

电子设备和存储介质

[0005]第一方面,本公开的实施例提供了一种队列控制方法,包括:获取队列的元数据以及所述队列中不同状态的数据文件的数量;根据所述元数据以及所述不同状态的数据文件的数量,确定所述队列当前是否满足数据处理条件;响应于确定所述队列当前满足数据处理条件以及接收到数据处理请求,根据所述元数据,确定目标数据文件;根据所述目标数据文件,对所述队列进行数据处理

[0006]第二方面,本公开的实施例提供了一种队列控制装置,包括:获取单元,被配置成获取队列的元数据以及所述队列中不同状态的数据文件的数量;判断单元,被配置成根据所述元数据以及所述不同状态的数据文件的数量,确定所述队列当前是否满足数据处理条件;确定单元,被配置成响应于确定所述队列当前满足数据处理条件以及接收到数据处理请求,根据所述元数据,确定目标数据文件;处理单元,被配置成根据所述目标数据文件,对所述队列进行数据处理

[0007]应用本公开的技术方案,可以对队列中不同状态的数据文件进行处理,提高数据处理效率

[0008]应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围

本公开的其它特征将通过以下的说明书而变得容易理解

附图说明
[0009]附图用于更好地理解本方案,不构成对本公开的限定

其中:
[0010]图1为本公开的队列控制方法的一个实施例的流程示意图;
[0011]图2为数据文件不同状态的示意图;
[0012]图3为本公开的队列控制方法的另一个实施例的流程示意图;
[0013]图4为本公开的队列控制装置的一个实施例的结构示意图

具体实施方式
[0014]应该指出,以下详细说明都是示例性的,旨在对本公开提供进一步的说明

除非另有指明,本文中使用的所有技术和科学术语具有与本公开所属
的普通技术人员通常理解的相同含义

[0015]需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本公开的示例性实施方式

如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和
/
或“包括”时,其指明存在特征

步骤

操作

器件

组件和
/
或它们的组合

[0016]在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合

[0017]为使本公开的技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本公开作进一步详细的说明

[0018]图1示出了本公开的队列控制方法的一个实施例的流程
100。
如图1所示,本实施例的队列控制方法可以包括以下步骤:
[0019]步骤
101
,获取队列的元数据以及队列中不同状态的数据文件的数量

[0020]本实施例中,队列中可以包括多个数据文件

每个数据文件用于存储数据

每个数据文件的存储路径可以相同,也可以不同

每个数据文件有一个数据文件
ID
,记为
{FILE

ID}
,数据文件
ID
是一个从0开始的整数

数据文件以数据文件
ID
作为文件名,便于文件查找和定位

[0021]数据文件可以包括不同状态,例如可以包括初始态

写入态和完成态

其中,初始态可以认为是初始化后的状态,其中的文件内容无效

写入态表示数据文件当前正在被写入,还没有写满

完成态表示数据文件当前已被写满

如图2所示,数据文件4为初始态,等待生产者写入

数据文件3为写入态,多个生产者在其上竞争写入,消费者
y
在其上读取数据

数据文件2为完成态,消费者
x
在其上读取数据

数据文件1为完成态,无消费者在其上读取

[0022]队列的元数据可以包括多个用于表示队列的属性信息的数据

本实施例中,元数据可以包括但不限于:数据文件路径

数据文件大小

处于完成态的数据文件的数量最大值

处于初始态的数据文件的数量最大值

生产者游标

创建时间最早的数据文件

创建时间最晚的数据文件

[0023]①
数据文件路径,记为
{FILE

PATH}
,数据文件统一放在数据文件路径下

对于
ID

{FILE

ID}
的数据文件,则其完整文件名为
{FILE

PATH}/{FILE

ID}。
[0024]②
数据文件大小,记为
{FILE

SIZE}。
队列的数据文件的大小固定,便于分配和计算

[0025]③
处本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种队列控制方法,包括:获取队列的元数据以及所述队列中不同状态的数据文件的数量;根据所述元数据以及所述不同状态的数据文件的数量,确定所述队列当前是否满足数据处理条件;响应于确定所述队列当前满足数据处理条件以及接收到数据处理请求,根据所述元数据,确定目标数据文件;根据所述目标数据文件,对所述队列进行数据处理
。2.
根据权利要求1所述的方法,其中,数据文件的状态包括初始态

完成态,所述元数据包括处于完成态的数据文件的第一数量最大值以及处于初始态的数据文件的第二数量最大值;以及所述根据所述元数据以及所述不同状态的数据文件的数量,确定所述队列当前是否满足数据处理条件,包括:获取所述队列中当前处于初始态的数据文件的第一数量以及当前处于完成态的数据文件的第二数量;响应于确定所述第一数量大于或等于所述第一数量最大值以及所述第二数量小于或等于所述第二数量最大值,确定所述队列当前满足数据处理条件
。3.
根据权利要求2所述的方法,其中,所述方法还包括:响应于确定所述第一数量小于所述第一数量最大值,根据所述第一数量最大值以及所述第一数量,创建新的状态为初始态的数据文件
。4.
根据权利要求3所述的方法,其中,所述元数据包括创建时间最晚的数据文件的标识;以及所述根据所述第一数量最大值以及所述第一数量,创建新的状态为初始态的数据文件,包括:确定所述第一数量最大值与所述第一数量之间的第一差值;根据所述创建时间最新的数据文件的标识以及所述第一差值,确定新的状态为初始态的数据文件的标识;根据所述新的状态为初始态的数据文件的标识,创建新的数据文件
。5.
根据权利要求2所述的方法,其中,所述方法还包括:响应于确定所述第二数量大于所述第二数量最大值,根据所述第二数量以及所述第二数量最大值,清理处于完成态的数据文件
。6.
根据权利要求5所述的方法,其中,所述元数据包括创建时间最早的数据文件的标识;以及所述根据所述第二数量以及所述第二数量最大值,清理处于完成态的数据文件,包括:确定所述第二数量与所述第二数量最大值之间的第二差值;根据所述创建时间最早的数据文件的标识以及所述第二差值,确定待清理的处于完成完成态的数据文件的标识;根据所述待清理的处于完成完成态的数据文件的标识,清理数据文件
。7.
根据权利要求1所述的方法,其中,所述数据处理请求包括写入请求,所述元数据包括生产者游标;以及
所述根据所述元数据,确定目标数据文件,包括:根据所述生产者游标,确定当前数据文件;根...

【专利技术属性】
技术研发人员:刘靖非严俊
申请(专利权)人:北京百卓网络技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1