CN116795322A - 一种多标签队列实现方法、装置、电子设备及存储介质 - Google Patents

一种多标签队列实现方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN116795322A
CN116795322A CN202310747921.3A CN202310747921A CN116795322A CN 116795322 A CN116795322 A CN 116795322A CN 202310747921 A CN202310747921 A CN 202310747921A CN 116795322 A CN116795322 A CN 116795322A
Authority
CN
China
Prior art keywords
data
tag
target
queue
input 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
Application number
CN202310747921.3A
Other languages
English (en)
Inventor
黄天沛
陈海俊
李敏风
林少明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Xuanwu Wireless Technology Co Ltd
Original Assignee
Guangzhou Xuanwu Wireless Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangzhou Xuanwu Wireless Technology Co Ltd filed Critical Guangzhou Xuanwu Wireless Technology Co Ltd
Priority to CN202310747921.3A priority Critical patent/CN116795322A/zh
Publication of CN116795322A publication Critical patent/CN116795322A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/08Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations, the intermediate ones not being accessible for either enqueue or dequeue operations, e.g. using a shift register

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种多标签队列实现方法、装置、电子设备及存储介质,方法包括:获取输入数据,将输入数据的状态标记修改为未出队状态;对输入数据进行数据标签识别,获得输入数据携带的多个不同的第一标签;将输入数据的数据指针存储到存储层中各第一标签关联的标签队列;响应于目标标签的数据提取指令,从存储层获取目标标签队列的目标数据指针;目标标签队列表征目标标签关联的标签队列;将目标数据的状态标记更新为已出队状态;目标数据表征目标数据指针索引的数据;基于状态标记更新成功的结果,向目标对象返回目标数据。本发明可以让队列这一数据结构的使用场景更加丰富,可广泛应用于计算机技术领域。

Description

一种多标签队列实现方法、装置、电子设备及存储介质
技术领域
本发明涉及计算机技术领域,尤其是一种多标签队列实现方法、装置、电子设备及存储介质。
背景技术
在队列这种数据结构中,常见的队列有先进先出队列、先进后出队列、双向队列、优先级队列等,这些队列虽然满足了我们日常开发活动中的绝大部分场景,但是这些队列都有一个限制,这个限制就是这些队列数据的进出方式相对简单。
发明内容
有鉴于此,本发明实施例提供一种多标签队列实现方法、装置、电子设备及存储介质,能够实现多标签队列,丰富队列数据的进出方式。
一方面,本发明的实施例提供了一种多标签队列实现方法,包括:
获取输入数据,将输入数据的状态标记修改为未出队状态;
对输入数据进行数据标签识别,获得输入数据携带的多个不同的第一标签;
将输入数据的数据指针存储到存储层中各第一标签关联的标签队列;
响应于目标标签的数据提取指令,从存储层获取目标标签队列的目标数据指针;目标标签队列表征目标标签关联的标签队列;
将目标数据的状态标记更新为已出队状态;目标数据表征目标数据指针索引的数据;
基于状态标记更新成功的结果,向目标对象返回目标数据。
可选地,将输入数据的数据指针存储到存储层中各第一标签关联的标签队列,包括:
对各第一标签进行遍历,识别存储层中是否存在各第一标签关联的标签队列;
当存储层中存在第一标签关联的标签队列,将输入数据的数据指针存储到第一标签关联的标签队列。
可选地,方法还包括:
当存储层中不存在第一标签关联的标签队列,创建第一标签的标签队列,并将输入数据的数据指针存储到创建的标签队列。
可选地,方法还包括:
当存储层不存在目标标签队列或目标标签队列中不存在数据,返回查询失败提示。
可选地,方法还包括:
基于状态标记更新失败的结果,对目标数据进行丢弃处理。
可选地,方法还包括:
对目标数据进行删除处理。
可选地,对目标数据进行删除处理,包括:
对目标数据进行数据标签识别,获得目标数据携带的多个不同的第二标签,并将各第二标签关联的所有标签队列中目标数据的数据指针删除。
另一方面,本发明的实施例提供了一种多标签队列实现装置,包括:
第一模块,用于获取输入数据,将输入数据的状态标记修改为未出队状态;
第二模块,用于对输入数据进行数据标签识别,获得输入数据携带的多个不同的第一标签;
第三模块,用于将输入数据的数据指针存储到存储层中各第一标签关联的标签队列;
第四模块,用于响应于目标标签的数据提取指令,从存储层获取目标标签队列的目标数据指针;目标标签队列表征目标标签关联的标签队列;
第五模块,用于将目标数据的状态标记更新为已出队状态;目标数据表征目标数据指针索引的数据;
第六模块,用于基于状态标记更新成功的结果,向目标对象返回目标数据。
可选地,装置还包括:
第七模块,用于当存储层中不存在第一标签关联的标签队列,创建第一标签的标签队列,并将输入数据的数据指针存储到创建的标签队列。
可选地,装置还包括:
第八模块,用于当存储层不存在目标标签队列或目标标签队列中不存在数据,返回查询失败提示。
可选地,装置还包括:
第九模块,用于基于状态标记更新失败的结果,对目标数据进行丢弃处理。
可选地,装置还包括:
第十模块,用于对目标数据进行删除处理。
另一方面,本发明的实施例提供了一种电子设备,包括处理器以及存储器;
存储器用于存储程序;
处理器执行程序实现如前面的方法。
另一方面,本发明的实施例提供了一种计算机可读存储介质,存储介质存储有程序,程序被处理器执行实现如前面的方法。
本发明实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行前面的方法。
本发明实施例首先获取输入数据,将输入数据的状态标记修改为未出队状态;对输入数据进行数据标签识别,获得输入数据携带的多个不同的第一标签;将输入数据的数据指针存储到存储层中各第一标签关联的标签队列;响应于目标标签的数据提取指令,从存储层获取目标标签队列的目标数据指针;目标标签队列表征目标标签关联的标签队列;将目标数据的状态标记更新为已出队状态;目标数据表征目标数据指针索引的数据;基于状态标记更新成功的结果,向目标对象返回目标数据。本发明实施例通过让数据携带标签存储,进而可以按照某个标签按需获取数据,满足在使用队列时可以让数据标携带签存储,按照某个标签按需获取数据的使用场景,而不局限于目前队列的进先出、先进后出、双向、优先级的形式。本发明实施例可以让队列这一数据结构的使用场景更加丰富。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种多标签队列实现方法的流程示意图;
图2为本发明实施例提供的多标签队列应用架构的结构示意图;
图3为本发明实施例提供的数据入队列的流程示意图;
图4为本发明实施例提供的数据出队列的流程示意图;
图5为本发明实施例提供的多线程的数据队列的整体流程示意图;
图6为本发明实施例提供的一种多标签队列实现装置的结构示意图;
图7为本发明实施例提供的一种电子设备的框架示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
一方面,如图1所示,本发明的实施例提供了一种多标签队列实现方法,包括:
S100、获取输入数据,将输入数据的状态标记修改为未出队状态;
需要说明的是,一些具体实施例中,首先会对数据做一个标记,标记为未出队状态,该状态标记用于数据在并发出队时不会被多个线程取到而导致重复出队的问题。
S200、对输入数据进行数据标签识别,获得输入数据携带的多个不同的第一标签;
需要说明的是,第一标签(以及后续第二标签)用于区分不同处理阶段的标签,并不特指某一具体标签,其中,一些实施例中,还存在数据仅携带一个标签的情况。
S300、将输入数据的数据指针存储到存储层中各第一标签关联的标签队列;
需要说明的是,一些实施例中,步骤S300可以包括:对各第一标签进行遍历,识别存储层中是否存在各第一标签关联的标签队列;当存储层中存在第一标签关联的标签队列,将输入数据的数据指针存储到第一标签关联的标签队列。
其中,一些实施例中,方法还包括:当存储层中不存在第一标签关联的标签队列,创建第一标签的标签队列,并将输入数据的数据指针存储到创建的标签队列。
其中,数据指针这一概念是开发领域的一个固有名词,数据存放在计算机内存堆中,指针则是程序用于在计算机内存中查找到该数据,而在本发明中,各个标签关联的各个队列只分别保存了数据的一个指针,不是保存数据的实际数据,而不用担心多个标签关联的多个队列重复储存数据带来的内存占用以及数据复制开销。
S400、响应于目标标签的数据提取指令,从存储层获取目标标签队列的目标数据指针;
需要说明的是,目标标签队列表征目标标签关联的标签队列;一些实施例中,方法还包括:当存储层不存在目标标签队列或目标标签队列中不存在数据,返回查询失败提示。
一些具体实施例中,后续步骤实现数据的出队列,其中,数据出队列逻辑是指用户使用某个标签从本发明的多标签多列中取出数据的过程。以带有标签A的数据提取指令为例,如果该标签A在存储层的队列存在,则尝试从该队列中获取出包含该标签A的数据,这里的“尝试”是因为不一定可以从该队列中取出数据,因为在多线程场景下,有可能数据已经被取走,也有可能本身该队列就是空的,所以即使该标签存储层的队列存在,也有可能无法取到数据。
S500、将目标数据的状态标记更新为已出队状态;
需要说明的是,目标数据表征目标数据指针索引的数据。
S600、基于状态标记更新成功的结果,向目标对象返回目标数据。
需要说明的是,一些实施例中,方法还包括:基于状态标记更新失败的结果,对目标数据进行丢弃处理。
一些具体实施例中,成功从队列中取出来数据时,这里假定取出来了一个数据1且携带了标签A、B、C,那么数据状态标记这一步骤则会对该数据做一个已取出(已出队)的标记,如果标记成功则表示该数据1没有被其他线程取走,否则表示该数据1已经被其他线程取走,这个数据1不能返回给用户,做丢弃处理后重新尝试从标签对应的队列中获取其它数据。
一些实施例中,方法还包括:对目标数据进行删除处理。其中,一些实施例中,对目标数据进行删除处理,包括:对目标数据进行数据标签识别,获得目标数据携带的多个不同的第二标签,并将各第二标签关联的所有标签队列中目标数据的数据指针删除。
一些具体实施例中,以携带了A、B、C三个标签的数据1为例。由于该数据1携带了A、B、C三个标签,从“数据入队列逻辑”可以得知,在数据1进入队列时,会同时保存一份该数据1的指针到这三个标签的在存储层的队列中,此时,用于使用标签A取数据时在上述的步骤中,只操作了标签A对应的队列,那么标签B、C的队列还留有一份数据1的指针,为了避免脏数据,所以需要统一做删除处理。
为完整阐述本发明实施例的技术原理,下面结合部分具体实施例对上述整体流程步骤作进一步说明,应当理解,下述为本发明的解释,不能看作对本发明的限制
需要说明的是,一些具体实施例中,本发明实施例的方法应用于如图2所示的架构,多标签队列整体结构分为路由层、存储层。其中:
路由层:实现了对多标签的数据的入队列与出队列的支持,也是本发明的核心,包括数据状态标记,标签识别,标签路由与数据存储、数据取出的逻辑;
存储层:在本发明中,存储层建立在现有的技术之上,可以是现有队列解决方案中的先进先出队列、先进后出队列、双向队列、优先级队列等;
所以,本发明的多标签队列的内部,其实是有多个队列组成,在这多个队列中,选择以及操作哪个队列则是由路由层负责。
下面以图2的结构为实施场景,分别从数据入队列逻辑(对应前述步骤S100至S300及相关具体流程步骤)和数据出队列逻辑(对应前述步骤S400至S600及相关具体流程步骤)对本发明方法的整体流程进行说明。
数据入队列逻辑:
数据入队列逻辑是指用户数据存储到本发明的多标签队列中的过程,例如有一个数据1,携带的标签为A、B、C,在入多标签队列时流程如图3所示。数据入队列主要包括如下处理步骤:
数据状态标记:数据进入到路由层,首先会对数据做一个标记,标记为未出队状态,该状态用于数据在并发出队时不会被多个线程取到而导致重复出队的问题;
数据标签识别:该数据携带了三个标签,分别时A、B、C,这三个标签对应的在存储层的队列需要检查是否存在,如果不存在,则创建该标签对应的队列,用于专门存储该标签的数据;
标签路由与数据存储:上述的步骤中,数据1识别出来有A、B、C三个标签(由于未引用C标签,图中未标记C标签),并且这三个标签对应在存储层队列如果不存在都会创建出来,而在该步骤中,需要对A、B、C三个标签进行遍历(因为在出队逻辑中,可以使用不同的标签从对应标签的队列中取数据,遍历的作用是把该数据所携带的标签分别保存一份该数据的指针到对应标签的队列中,例如数据1携带了A、B、C三个标签,需要把数据1的指针分别存入到A标签的队列、B标签的队列和C标签的队列),分别把数据1存储到对应标签在存储层的队列中,最终对应A、B、C三个标签的三个队列都保存了一份数据1的数据指针,数据指针这一概念是开发领域的一个固有名词,数据存放在计算机内存堆中,指针则是程序用于在计算机内存中查找到该数据,而在本发明中,A、B、C三个标签的三个队列只分别保存了数据1的一个指针,不是保存数据1的实际数据,而已不用担心A、B、C三个标签的三个队列重复储存数据带来的内存占用以及数据复制开销。
数据出队列逻辑:
数据出队列逻辑是指用户使用某个标签从本发明的多标签多列中取出数据的过程,例如使用使用标签A从多标签队列中取出数据的流程如图4所示。数据出队列主要包括如下处理步骤:
出队标签识别:假设用于使用了A标签从多标签队列中尝试取出数据,则这时在路由层则会有出队标签识别这一步骤识别出来用于想要取出包含标签A的数据;
判断该标签队列是否存在:该标签A所属的在存储层的队列不存在则表示没有包含该标签的数据,这一步骤的保证在上述“数据入队列逻辑”中已有阐述,没有该标签A的在存储层的队列时,则直接返回给用户查询不到数据;
从该标签对应的队列取出数据:如果该标签A在存储层的队列存在,则尝试从该队列中获取出包含该标签A的数据,这里的“尝试”是因为不一定可以从该队列中取出数据,因为在多线程场景下,有可能数据已经被取走,也有可能本身该队列就是空的,所以即使该标签存储层的队列存在,也有可能无法取到数据;
数据状态标记:但成功从队列中取出来数据时,这里假定取出来了一个数据1且携带了标签A、B、C,那么数据状态标记这一步骤则会对该数据做一个已取出的标记,如果标记成功则表示该数据1没有被其他线程取走,否则表示该数据1已经被其他线程取走,这个数据1不能返回给用户,做丢弃处理后重新尝试从队列中获取;
数据删除:由于该数据1携带了A、B、C三个标签,从“数据入队列逻辑”可以得知,在数据1进入队列时,会同时保存一份该数据1的指针到这三个标签的在存储层的队列中,此时,用于使用标签A取数据时在上述的步骤中,只操作了标签A对应的队列,那么标签B、C的队列还留有一份数据1的指针,为了避免脏数据,所以需要做删除处理,而删除的操作这里不再赘述,因为这是存储层队列的固有实现逻辑,与本发明无关;
返回数据:当上述所有的步骤都操作完成后,则可以把该数据1返回给用户,结束该流程。
一些具体实施例中,在多线程的数据队列应用场景中,如图5所示,实线代表线程-1,虚线代表线程-2,以数据1携带了A、B两个标签为例,数据1的指针会分别进入到标签A和标签B的队列中,现在线程-1和线程-2分别使用标签A和标签B两个不同的标签尝试取数据,线程-1先取到了数据1,然后按照绿色箭头的流程继续往下执行,在线程-1执行到【删除标签B标签对应的对队列中的数据1的指针】这一步之前,线程-2执行到【从该标签对应的队列取出数据】这一步,并且取出来了数据1,此时由于数据1已经被线程-1取到了,所以线程-2不应该让数据1流转到用户层,所以按照这个流程往下执行,当线程-2尝试标记数据1为【已取出】状态时,由于线程-1已经做过标记,所以线程-2不可能标记成功,所以丢弃该数据,继续尝试使用标签B从标签B队列中取其他数据;
通过该流程的实现,可以防止多线程情况下同一个数据被不同的线程取到返回给用户层。
综上,本发明实施例提出了一种多标签队列实现方法,让队列这种数据结构的适应场景更加丰富,弥补了队列这种数据结构在数据进出方面功能过于单一的问题。
另一方面,如图6所示,本发明的实施例提供了一种多标签队列实现装置600,包括:第一模块610,用于获取输入数据,将输入数据的状态标记修改为未出队状态;第二模块620,用于对输入数据进行数据标签识别,获得输入数据携带的多个不同的第一标签;第三模块630,用于将输入数据的数据指针存储到存储层中各第一标签关联的标签队列;第四模块640,用于响应于目标标签的数据提取指令,从存储层获取目标标签队列的目标数据指针;目标标签队列表征目标标签关联的标签队列;第五模块650,用于将目标数据的状态标记更新为已出队状态;目标数据表征目标数据指针索引的数据;第六模块660,用于基于状态标记更新成功的结果,向目标对象返回目标数据。
需要说明的是,一些实施例中,装置还可以包括:
第七模块,用于当存储层中不存在第一标签关联的标签队列,创建第一标签的标签队列,并将输入数据的数据指针存储到创建的标签队列。
第八模块,用于当存储层不存在目标标签队列或目标标签队列中不存在数据,返回查询失败提示。
第九模块,用于基于状态标记更新失败的结果,对目标数据进行丢弃处理。
第十模块,用于对目标数据进行删除处理。
本发明方法实施例的内容均适用于本装置实施例,本装置实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法达到的有益效果也相同。
如图7所示,本发明实施例的另一方面还提供了一种电子设备700,包括处理器710以及存储器720;
存储器720用于存储程序;
处理器710执行程序实现如前面的方法。
本发明方法实施例的内容均适用于本电子设备实施例,本电子设备实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法达到的有益效果也相同。
本发明实施例的另一方面还提供了一种计算机可读存储介质,存储介质存储有程序,程序被处理器执行实现如前面的方法。
本发明方法实施例的内容均适用于本计算机可读存储介质实施例,本计算机可读存储介质实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法达到的有益效果也相同。
本发明实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行前面的方法。
在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或方框有时能以相反顺序被执行。此外,在本发明的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。
此外,虽然在功能性模块的背景下描述了本发明,但应当理解的是,除非另有相反说明,的功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本发明是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本发明。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本发明的范围,本发明的范围由所附权利要求书及其等同方案的全部范围来决定。
功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行装置、装置或设备(如基于计算机的装置、包括处理器的装置或其他可以从指令执行装置、装置或设备取指令并执行指令的装置)使用,或结合这些指令执行装置、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行装置、装置或设备或结合这些指令执行装置、装置或设备而使用的装置。
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行装置执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
以上是对本发明的较佳实施进行了具体说明,但本发明并不限于实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做出种种的等同变形或替换,这些等同的变形或替换均包含在本发明权利要求所限定的范围内。

Claims (10)

1.一种多标签队列实现方法,其特征在于,包括:
获取输入数据,将所述输入数据的状态标记修改为未出队状态;
对所述输入数据进行数据标签识别,获得所述输入数据携带的多个不同的第一标签;
将所述输入数据的数据指针存储到存储层中各所述第一标签关联的标签队列;
响应于目标标签的数据提取指令,从所述存储层获取目标标签队列的目标数据指针;所述目标标签队列表征所述目标标签关联的标签队列;
将目标数据的所述状态标记更新为已出队状态;所述目标数据表征所述目标数据指针索引的数据;
基于所述状态标记更新成功的结果,向目标对象返回所述目标数据。
2.根据权利要求1所述的一种多标签队列实现方法,其特征在于,所述将所述输入数据的数据指针存储到存储层中各所述第一标签关联的标签队列,包括:
对各所述第一标签进行遍历,识别存储层中是否存在各所述第一标签关联的标签队列;
当所述存储层中存在所述第一标签关联的标签队列,将所述输入数据的数据指针存储到所述第一标签关联的标签队列。
3.根据权利要求2所述的一种多标签队列实现方法,其特征在于,所述方法还包括:
当所述存储层中不存在所述第一标签关联的标签队列,创建所述第一标签的标签队列,并将所述输入数据的数据指针存储到创建的所述标签队列。
4.根据权利要求1所述的一种多标签队列实现方法,其特征在于,所述方法还包括:
当所述存储层不存在所述目标标签队列或所述目标标签队列中不存在数据,返回查询失败提示。
5.根据权利要求1所述的一种多标签队列实现方法,其特征在于,所述方法还包括:
基于所述状态标记更新失败的结果,对所述目标数据进行丢弃处理。
6.根据权利要求1所述的一种多标签队列实现方法,其特征在于,所述方法还包括:
对所述目标数据进行删除处理。
7.根据权利要求1所述的一种多标签队列实现方法,其特征在于,所述对所述目标数据进行删除处理,包括:
对所述目标数据进行数据标签识别,获得所述目标数据携带的多个不同的第二标签,并将各所述第二标签关联的所有标签队列中所述目标数据的数据指针删除。
8.一种多标签队列实现装置,其特征在于,包括:
第一模块,用于获取输入数据,将所述输入数据的状态标记修改为未出队状态;
第二模块,用于对所述输入数据进行数据标签识别,获得所述输入数据携带的多个不同的第一标签;
第三模块,用于将所述输入数据的数据指针存储到存储层中各所述第一标签关联的标签队列;
第四模块,用于响应于目标标签的数据提取指令,从所述存储层获取目标标签队列的目标数据指针;所述目标标签队列表征所述目标标签关联的标签队列;
第五模块,用于将目标数据的所述状态标记更新为已出队状态;所述目标数据表征所述目标数据指针索引的数据;
第六模块,用于基于所述状态标记更新成功的结果,向目标对象返回所述目标数据。
9.一种电子设备,其特征在于,包括处理器以及存储器;
所述存储器用于存储程序;
所述处理器执行所述程序实现如权利要求1至7中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质存储有程序,所述程序被处理器执行实现如权利要求1至7中任一项所述的方法。
CN202310747921.3A 2023-06-21 2023-06-21 一种多标签队列实现方法、装置、电子设备及存储介质 Pending CN116795322A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310747921.3A CN116795322A (zh) 2023-06-21 2023-06-21 一种多标签队列实现方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310747921.3A CN116795322A (zh) 2023-06-21 2023-06-21 一种多标签队列实现方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN116795322A true CN116795322A (zh) 2023-09-22

Family

ID=88035790

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310747921.3A Pending CN116795322A (zh) 2023-06-21 2023-06-21 一种多标签队列实现方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN116795322A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103135957A (zh) * 2013-02-01 2013-06-05 北京邮电大学 使用、管理多队列数据的共用缓存空间的方法和系统
CN111666330A (zh) * 2019-03-06 2020-09-15 阿里巴巴集团控股有限公司 数据的读写方法和装置
US20210034552A1 (en) * 2019-08-02 2021-02-04 EMC IP Holding Company LLC Storage system with submission queue selection utilizing application and submission queue priority
CN113329091A (zh) * 2021-06-04 2021-08-31 杭州网易云音乐科技有限公司 数据管理方法及装置、存储介质、电子设备
CN115729929A (zh) * 2021-08-31 2023-03-03 腾讯科技(深圳)有限公司 数据更新方法、装置、计算机设备及存储介质
CN115827250A (zh) * 2022-12-29 2023-03-21 浙江大华技术股份有限公司 一种数据存储方法、装置及设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103135957A (zh) * 2013-02-01 2013-06-05 北京邮电大学 使用、管理多队列数据的共用缓存空间的方法和系统
CN111666330A (zh) * 2019-03-06 2020-09-15 阿里巴巴集团控股有限公司 数据的读写方法和装置
US20210034552A1 (en) * 2019-08-02 2021-02-04 EMC IP Holding Company LLC Storage system with submission queue selection utilizing application and submission queue priority
CN113329091A (zh) * 2021-06-04 2021-08-31 杭州网易云音乐科技有限公司 数据管理方法及装置、存储介质、电子设备
CN115729929A (zh) * 2021-08-31 2023-03-03 腾讯科技(深圳)有限公司 数据更新方法、装置、计算机设备及存储介质
CN115827250A (zh) * 2022-12-29 2023-03-21 浙江大华技术股份有限公司 一种数据存储方法、装置及设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
崔慎智;陈志泊;: "基于多代理和多优先队列的短信实时并发算法", 计算机工程, no. 03 *

Similar Documents

Publication Publication Date Title
EP0366585B1 (en) Method for comparing and swapping data in a multi-programming data processing system
CA2450044A1 (en) Managed file system filter model and architecture
US9069566B1 (en) Implementation of a multiple writer single reader queue in a lock free and a contention free manner
US9299082B2 (en) Fast streams and substreams
US11222067B2 (en) Multi-index method and apparatus, cloud system and computer-readable storage medium
US8126927B1 (en) Data structure, method, and computer program for providing a linked list in a first dimension and a plurality of linked lists in a second dimension
CN109101603B (zh) 一种数据比对方法、装置、设备及存储介质
RU2629431C2 (ru) Программируемый логический контроллер и способ его событийно-управляемого программирования
CN113918733B (zh) 一种获取目标知识图谱的数据处理系统
US20030009442A1 (en) Fat file system in Palm OS computer
CN113312008A (zh) 一种文件读写业务的处理方法、系统、设备以及介质
CN114090155A (zh) 机器人流程自动化界面元素定位方法、装置和存储介质
CN116795322A (zh) 一种多标签队列实现方法、装置、电子设备及存储介质
CN112131880B (zh) 一种命名实体识别方法、装置及系统
CN114998158B (zh) 一种图像处理方法、终端设备及存储介质
CN107506378B (zh) 数据库访问的实现方法和装置
WO2022033130A1 (zh) 一种json配置文件的编辑保存方法
CN110083612B (zh) 数据更新方法、装置、电子设备及可读存储介质
CN116954704A (zh) 一种代码分支合并方法、装置、计算机设备以及存储介质
CN111261206A (zh) 一种读写方法、装置和电子设备及可读存储介质
CN113268193B (zh) 笔记页的移动方法、电子设备及计算机存储介质
CN115292525A (zh) 一种素材渲染方法和装置
CN107633090A (zh) 一种基于分布式文件系统客户端锁拆分的方法
US20050131883A1 (en) Browsing a list of data items
KR102568662B1 (ko) 복수의 스킵리스트를 병합하기 위한 지퍼 컴팩션 방법 및 장치

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