CN110321232B - 消息的处理方法、装置及电子设备 - Google Patents

消息的处理方法、装置及电子设备 Download PDF

Info

Publication number
CN110321232B
CN110321232B CN201810295468.6A CN201810295468A CN110321232B CN 110321232 B CN110321232 B CN 110321232B CN 201810295468 A CN201810295468 A CN 201810295468A CN 110321232 B CN110321232 B CN 110321232B
Authority
CN
China
Prior art keywords
message
messages
time
tree
address
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
Application number
CN201810295468.6A
Other languages
English (en)
Other versions
CN110321232A (zh
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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201810295468.6A priority Critical patent/CN110321232B/zh
Publication of CN110321232A publication Critical patent/CN110321232A/zh
Application granted granted Critical
Publication of CN110321232B publication Critical patent/CN110321232B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例提供一种消息的处理方法、装置及电子设备,其中,消息的处理方法包括:当有新消息产生并添加到所述消息队列时,根据所述时间刻度表查找该新消息的处理时刻对应的所述第一地址指向的根消息,并与所述新消息之间形成指向关系,以将所述新消息添加到根消息所在的消息树中;当所述时间刻度表指向当前时刻时,根据当前时刻对应的所述第一地址以及消息树中各消息之间的指向关系读取当前时刻需处理的所有消息。本发明实施例的方案能够提高消息处理效率,且简便易行。

Description

消息的处理方法、装置及电子设备
技术领域
本申请涉及计算机技术领域,尤其涉及一种消息的处理方法、装置及电子设备。
背景技术
目前,在很多业务场景中,消息常需要延后处理,即消息当前产生,但在随后一定时间内(如10秒、1分钟之后)才处理,由这种消息组成的队列即定时队列。在高并发场景中,由于消息很多,内存不足,因此需要在磁盘上存储该定时队列。
现有技术中,定时队列的实现方案主要有两种:一是基于数据库的排序方案,即首先将消息逐条存入数据库,每一条消息都带有时间戳标记,定时查询时间戳并按照时间戳对消息进行排序,然后根据需要按序读取;二是特定延迟的队列方案,即对存储消息的定时队列按照定时时间的不同建立子队列,每一个子队列存储相同时刻的消息,并按生产顺序依次向后排列,然后顺序读取每一个子队列。
如上所述,现有技术中的方案均存在操作复杂、性能低下等弊端。
发明内容
本发明提供了一种消息的处理方法、装置及电子设备,能够提高消息处理效率,且简便易行。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供了一种消息的处理方法,所述方法涉及消息队列以及时间刻度表,所述消息队列中存储有多条待处理的消息,且在同一时刻需处理的消息之间通过指向关系形成一个消息树,所述消息树中的根消息的第一地址与所述时间刻度表中的相应时刻关联存储,所述方法包括:
当有新消息产生并添加到所述消息队列时,根据所述时间刻度表查找该新消息的处理时刻对应的所述第一地址指向的根消息,并与所述新消息之间形成指向关系,以将所述新消息添加到根消息所在的消息树中。
第二方面,提供了另一种消息的处理方法,所述方法涉及消息队列以及时间刻度表,所述消息队列中存储有多条待处理的消息,且在同一时刻需处理的消息之间通过指向关系形成一个消息树,所述消息树中的根消息的第一地址与所述时间刻度表中的相应时刻关联存储,所述方法包括:
当所述时间刻度表指向当前时刻时,根据当前时刻对应的所述第一地址以及消息树中各消息之间的指向关系读取当前时刻需处理的所有消息。
第三方面,提供了一种消息的处理装置,所述处理装置涉及消息队列以及时间刻度表,所述消息队列中存储有多条待处理的消息,且在同一时刻需处理的消息之间通过指向关系形成一个消息树,所述消息树中的根消息的第一地址与所述时间刻度表中的相应时刻关联存储,所述处理装置包括:
消息添加模块,用于当有新消息产生并添加到所述消息队列时,根据所述时间刻度表查找该新消息的处理时刻对应的所述第一地址指向的根消息,并与所述新消息之间形成指向关系,以将所述新消息添加到根消息所在的消息树中。
第四方面,提供了另一种消息的处理装置,所述处理装置涉及消息队列以及时间刻度表,所述消息队列中存储有多条待处理的消息,且在同一时刻需处理的消息之间通过指向关系形成一个消息树,所述消息树中的根消息的第一地址与所述时间刻度表中的相应时刻关联存储,所述处理装置包括:
消息读取模块,用于当所述时间刻度表指向当前时刻时,根据当前时刻对应的所述第一地址以及消息树中各消息之间的指向关系读取当前时刻需处理的所有消息。
第五方面,提供了一种电子设备,包括:
存储器,用于存储程序;
处理器,耦合至所述存储器,用于执行所述程序,所述程序涉及消息队列以及时间刻度表,所述消息队列中存储有多条待处理的消息,且在同一时刻需处理的消息之间通过指向关系形成一个消息树,所述消息树中的根消息的第一地址与所述时间刻度表中的相应时刻关联存储,以用于:
当有新消息产生并添加到所述消息队列时,根据所述时间刻度表查找该新消息的处理时刻对应的所述第一地址指向的根消息,并与所述新消息之间形成指向关系,以将所述新消息添加到根消息所在的消息树中。
第六方面,提供了另一种电子设备,包括:
存储器,用于存储程序;
处理器,耦合至所述存储器,用于执行所述程序,所述程序涉及消息队列以及时间刻度表,所述消息队列中存储有多条待处理的消息,且在同一时刻需处理的消息之间通过指向关系形成一个消息树,所述消息树中的根消息的第一地址与所述时间刻度表中的相应时刻关联存储,以用于:
当所述时间刻度表指向当前时刻时,根据当前时刻对应的所述第一地址以及消息树中各消息之间的指向关系读取当前时刻需处理的所有消息。
本发明提供的消息的处理方法、装置及电子设备,通过设置时间刻度表和消息队列,根据根消息的地址和消息之间的指向关系,实现按序读取,本方案能够提高消息处理效率,且简便易行。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本发明实施例的消息的处理逻辑示意图一;
图2为本发明实施例的消息的处理方法流程图一;
图3a为本发明实施例的消息的处理方法流程图二;
图3b为本发明实施例的消息的处理逻辑示意图二;
图4a为本发明实施例的消息的处理方法流程图三;
图4b为本发明实施例的消息的处理逻辑示意图三;
图5a为本发明实施例的消息的处理方法流程图四;
图5b为本发明实施例的消息的处理逻辑示意图四;
图6a为本发明实施例的消息的处理装置结构图一;
图6b为本发明实施例的消息的处理装置结构图二;
图7为本发明实施例的电子设备的结构示意图一;
图8为本发明实施例的电子设备的结构示意图二。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
首先,对本发明涉及的技术术语进行举例或说明如下:
消息队列,即信息缓存队列,该消息队列可以存储所有时刻待处理的消息,每一条消息对应一个存储地址,同时,每一条消息中还对应一个时刻点信息,该时刻点信息即为该消息需要被处理的时刻。
时间刻度表,可以为记录时间延续的具体形式。
消息树,是指在同一时刻需处理的消息之间形成具有指向关系的消息集合,每一个消息树都有且仅有一个根消息,根消息的地址即第一地址,该第一地址与时间刻度表中消息被处理的时刻关联存储。
根消息,在一个消息树中,根消息可沿某一途径指向该消息树中的任意一条消息,此处的指向关系可以通过多种方式实现,例如,将第一消息的地址存储于第二消息所在的地址中,即可以实现第二消息到第一消息的指向关系。
本发明提供的消息的处理方法的技术原理在于:设置时间刻度表和消息队列,在消息的存储阶段,在时间刻度表中关联存储每个消息树中的根消息的地址并确立消息树中各消息之间的指向关系,在消息的读取阶段,根据根消息的地址和上述指向关系即可依次读取一个消息树中的所有消息,其中,每个消息树中的各消息对应的待处理时间相同,从而提高消息处理效率,且简便易行。
在消息的处理过程中,主要包括消息入队和消息出队两个环节,即消息的存储和消息的读取两个阶段。图1为本发明实施例的消息队列的结构示意图,如图1所示,在消息的存储阶段,最新产生的消息按照顺序存储于消息队列最后,每一条消息需要等待一定时间后才会被处理,其需要被处理的时间即为该消息对应的时刻点,在同一时刻点的所有消息中存在一条消息作为根消息,该根消息可以是同一时刻点下的任意一条消息,在时间刻度表中关联存储每一个时刻点的根消息的地址。当最新一条消息产生并添加于消息队列中,根据这些消息对应时刻点下根消息的地址即可找到该时刻点对应的根消息,在根消息与最新产生的消息之间建立指向关系,即可通过根消息找到该条最新产生的消息。
如图1所示,同一时刻点下根消息与其余消息之间的指向关系可以采用不同方式实现,首先,根消息可以是同一时刻点下的第一条消息,也可以是最新产生的一条消息,如图中所示的消息队列1和消息队列2,根消息即为同一时刻点下第一条消息,而消息队列3中的根消息即为同一时刻点下最新产生的一条消息;其次,该指向关系既可以按照消息的存储顺序从前向后指向,也可以从后向前指向,例如图1所示的消息队列1和消息队列2,即从第一条产生的消息开始从前向后形成指向关系,消息队列3即为从最新产生的消息向与之相邻的前一条消息形成指向关系;最后,该指向关系既可以是直接指向关系,也可以是间接指向关系,如消息队列1,在根消息与同一时刻下每一条消息建立直接指向关系,还可以如消息队列2,在消息产生时间先后顺序上,前后相邻的两条消息之间建立指向关系,通过根消息依然可以间接找到该时刻点下的所有消息。
在消息的读取阶段,基于在消息的存储阶段已经在时间刻度表中存储了每一时刻根消息的地址,且在根消息与同一时刻点下每一条消息均建立了指向关系,无论采用上述何种指向关系,均可以通过根消息找到同一时刻点下其余每一条消息,当到达当前消息需处理的时刻点时,即可从根消息开始,通过各消息之间的指向关系按序读取所有消息。其中,所谓的指向关系的确定可以为:将第一消息的地址存储到第二消息所在的地址中定义为沿第二消息到第一消息的指向关系。
下面通过多个实施例来说明本申请的技术方案。
实施例一
如图2所示,为本发明实施例的消息的处理方法流程图一,该方法的执行主体可以为内置或外置于计算机或其他设备中的消息的处理装置,本发明实施例的消息的处理方法涉及消息队列以及时间刻度表,消息队列中存储有多条待处理的消息,且在同一时刻需处理的消息之间通过指向关系形成一个消息树,消息树中的根消息的第一地址与时间刻度表中的相应时刻关联存储,如图2所示,该方法包括如下步骤:
S210,当有新消息产生并添加到消息队列时,根据时间刻度表查找该新消息的处理时刻对应的第一地址指向的根消息,并与新消息之间形成指向关系,以将新消息添加到根消息所在的消息树中。
在消息的存储阶段,新消息产生后依据产生时间被顺序添加到消息队列中,这些消息对应的被处理时刻是不完全相同的,如果需要对同一被处理时刻的各消息在该时刻进行及时和全部处理,可以对这些消息进行整体关联设置,方便对消息进行查找。
本方案中基于消息树的形式将同一时刻待处理的各消息进行关联。当有新消息产生并被添加进入消息队列后,首先可查找时间刻度表中该新消息的处理时刻所关联存储的第一地址,即新消息的待处理时刻所对应的消息树中的根消息的地址,然后在新消息与根消息之间形成直接或间接的指向关系,已将新消息添加到该根消息所在的消息树中。
S220,当时间刻度表指向当前时刻时,根据当前时刻对应的第一地址以及消息树中各消息之间的指向关系读取当前时刻需处理的所有消息。
在消息的读取阶段,时间刻度表会沿着时间延续,顺序指向每一个时刻(可通过调整时间刻度表的精度进行设置)。当时间刻度表指向当前时刻,根据与时间刻度表中当前时刻关联存储的第一地址查找到当前时刻对应的消息树中的根消息,然后基于在消息的存储阶段,每个消息树中的根消息与其他各消息之间建立的指向关系,依据该指向关系可读取当前时刻下需处理的消息树中的所有消息,以进行后续对消息的处理。
本发明实施例提供的消息的处理方法,通过设置时间刻度表和消息队列,根据根消息的地址和消息之间的指向关系,即可依次读取消息,本方案能够提高消息处理效率,且简便易行。
进一步地,在上述方法中所述的指向关系的定义上,可以但不局限于将第一消息的地址存储到第二消息所在的地址中定义为沿第二消息到第一消息的指向关系。
具体地,在同一时刻的消息树中,需要在根消息与各消息之间建立指向关系,该指向关系可以多种方式实现,以存储地址的方式实现为例,假设当前时刻的新消息为第一消息,当前时刻的新消息的上一条消息为第二消息,将第一消息的地址存储在第二消息所在的地址中,即可通过第二消息查找第一消息,进而实现第二消息到第一消息的指向关系。
需要说明的是,本实施例中步骤S210为消息的存储过程,步骤S220为消息的读取过程,这两个过程没有严格的先后顺序,可相对独立被执行,例如,在当前时刻有新消息产生并需要添加到消息队列时,可以执行步骤S210的内容完成消息的添加到队列的过程;同时,如果当前时刻恰好为时间刻度表指向的时刻,需要处理消息队列中的消息时,可以执行步骤S220的内容完成消息的读取过程,以进行后续的消息处理。但针对同一条消息,必定是先产生该消息后被添加到消息队列中,待时间刻度表指向该消息的被处理的时刻时,再将该消息从消息队列中读取并处理。因此,在本实施例以及后续实施例中,为了方便技术描述,将消息添加到消息队列的过程以及从消息队列中读取消息的过程会被结合到同一方法流程中进行描述,但实际上两个过程是可以相对独立分开被执行的。
本发明实施例提供的消息的处理方法,通过设置时间刻度表和消息队列,根据根消息的地址和消息之间的指向关系完成消息的存储和读取,方案简便易行,能够提高消息处理效率。
实施例二
图3a为本发明实施例的消息的处理方法流程图二,本实施例主要以根消息为消息树中第一个产生的消息作为样例,对图2所示的消息的处理方法进行详细说明。如图3a所示,该消息的处理方法包括如下步骤:
S310,当有新消息产生并添加到消息队列时,根据时间刻度表查找该新消息的处理时刻对应的第一地址指向的根消息,并沿根消息到新消息的指向方向,在根消息与新消息之间形成直接指向的指向关系,以将新消息添加到根消息所在的消息树中。
本步骤为上述步骤S210的一种具体实现方式。
具体地,本步骤中根消息可被限定为一个消息树中第一个产生的消息,且可将消息的指向关系限定为,沿该根消息到根消息的指向方向,分别直接指向同一时刻消息树下的其他所有消息,换言之,即消息树中第一个产生的消息作为根消息,与该消息树中除根消息外的每一条消息建立直接的指向关系,该指向关系可通过多种方式实现,例如可以根据上一实施例中所述的存储地址的方式实现。例如,在消息的存储阶段,在针对同一消息处理时刻对应的各消息中,在将第一个产生的消息添加到消息队列中的同时,以该消息作为根消息,且将该根消息的第一地址与时间刻度表中该消息处理时刻关联存储。在新消息与根消息之间形成直接的指向关系可以通过多种方式实现,例如上述存储地址的方式,即将新消息的地址存储到根消息的第一地址,这样在读取第一地址中的根消息时,就可以读取到该新消息的地址,进而读取到该新消息。
S320,当时间刻度表指向当前时刻时,根据当前时刻对应的第一地址以及消息树中各消息之间的指向关系读取当前时刻需处理的所有消息。步骤S320的内容与步骤S220的内容相同。
以图1中所示的消息队列1为例,参照图3b所示的处理逻辑,在实际应用场景中,假设在当前需处理的消息队列的各消息中,存在第一时刻需处理的第一个产生的消息,即第一条消息,并且可以表示为1-1,同一时刻第二条消息可表示为1-2,如此类推。假设第一时刻在消息队列中共存储了4条消息分别为消息1-1、消息1-2、消息1-3和消息1-4。第一条消息1-1为根消息,在第一时刻的消息树中,其指向关系具体为,根消息1-1直接指向消息1-2、消息1-3和消息1-4,该指向关系可通过上述存储地址的方式实现,即消息1-2、消息1-3和消息1-4中均存储根消息1-1的地址,即可实现根消息1-1分别到消息1-2、消息1-3和消息1-4的指向关系。
本发明实施例提供的消息的处理方法,通过设置时间刻度表和消息队列,该消息队列中所属同一消息树中的根消息与其他各消息之间形成直接指向的指向关系;然后根据根消息的地址和根消息到各其他消息之间的指向关系完成消息的存储和读取,方案简便易行,能够提高消息处理效率。
实施例三
图4a为本发明实施例的消息的处理方法流程图三,本实施例主要以根消息为消息树中第一个产生的消息作为样例,对图2所示的消息的处理方法进行详细说明。如图4a所示,该消息的处理方法包括如下步骤:
S410,当有新消息产生并添加到消息队列时,根据时间刻度表查找该新消息的处理时刻对应的第一地址指向的根消息,并沿根消息到新消息的指向方向,在上一个新消息与当前新消息之间形成指向关系,以将新消息添加到根消息所在的消息树中。
本步骤为上述步骤S210的一种具体实现方式。
具体地,本步骤中根消息可被限定为一个消息树中第一个产生的消息,且可将消息的指向关系限定为,沿该根消息到新消息的指向方向,在上一个消息与新消息之间形成指向关系,换言之,即在时间前后关系上相邻的两个消息之间形成指向关系,该指向关系的方向为上一个消息指向新消息,且该根消息到新消息的指向关系既可以为直接指向(新消息为消息树中第二个产生的消息)也可以为间接指向(新消息为消息树中第三个及以后产生的消息)。同时,该指向关系也可通过多种方式实现,例如上述存储地址的方式,即将每个新消息的地址存储到该新消息对应的上一个新消息的地址中,这样在读取第一地址中的根消息之后,就可以根据根消息地址中存储的消息地址查找到消息树中第二个产生的消息的地址读取第二个产生的消息,然后再从第二个产生的消息的地址中查找到第三产生的消息的地址读取第三产生的消息,以此类推,可以读取消息树中每一条消息。
S420,当时间刻度表指向当前时刻时,根据当前时刻对应的第一地址以及消息树中各消息之间的指向关系读取当前时刻需处理的所有消息。步骤S420的内容与步骤S220的内容相同。
以图1中所示的消息队列2为例,参照图4b所示的处理逻辑,在实际应用场景中,假设在当前需处理的消息队列的各消息中,存在第一时刻需处理的第一个产生的消息,即第一条消息,并且可表示为1-1,同一时刻第二条消息可表示为1-2,如此类推。假设第一时刻在消息队列中共存储了4条消息,分别为消息1-1、消息1-2、消息1-3和消息1-4。此时消息之间的指向关系可以为,根消息1-1指向消息1-2,消息1-2指向消息1-3,消息1-3指向消息1-4;在消息的读取过程中,只要通过时间刻度表中第一时刻下的第一地址找到根消息1-1,就可以通过消息之间的指向关系,依次读取该消息树中的所有消息。
进一步地,为了将最新产生的消息与上一个新产生的消息之间形成指向关系,可将各消息树中最后产生的消息的第二地址与时间刻度表中的相应时刻关联存储,以方便查找消息树中上一个最新消息。
具体地,针对时间刻度表中任一时刻,除了与该时刻关联存储该时刻对应的消息树中的根消息的第一地址外,还关联存储了该消息树中上一个最新消息的第二地址(该消息树中的最新消息),因此针对某一时刻对应的消息树,随着新消息的产生和添加,该第二地址也会随之变化。
在消息的存储阶段,将新消息存储于消息队列中,可根据时间刻度表中与该新消息的处理时刻关联存储第二地址,在消息树中找到当前新消息的上一条消息,并且在上一条消息与该新消息之间形成指向关系,该指向关系统同样可以通过多种方式实现,例如,将该新消息的地址存储于上述上一条消息的地址中,即可实现上一条消息到新消息的指向关系。同时,该新消息此时即为该消息树中最后产生的消息,其地址作为第二地址与时间刻度表中的相应时刻关联存储。
在消息的读取阶段,当时间刻度表指向当前时刻,仍可根据与时间刻度表中当前时刻关联存储的第一地址找到消息树中的根消息即第一个产生的消息,基于上述在消息的存储阶段确立的消息树中各消息之间的指向关系,即可依次读取该消息树中的所有消息。
本发明实施例提供的消息的处理方法,通过设置时间刻度表和消息队列,该消息队列中所属同一消息树中的根消息与其他各消息之间根据消息产生的顺序依次形成指向关系;然后根据根消息的地址和根消息到各其他消息之间的指向关系完成消息的存储和读取,方案简便易行,能够提高消息处理效率。
进一步地,本实施例中,针对时间刻度表中任一时刻除关联存储有第一地址外,还关联存储有第二地址,这样在消息的存储阶段,只需根据时间刻度表中的当前时刻,查找到与该时刻关联的第二地址,即可进一步找到新消息的上一条消息,从而在上一条消息与当前新消息之间形成指向关系。在指向关系的形成上更为简便,能够提高消息的处理效率。
实施例四
如图5a所示,为本发明实施例的消息的处理方法流程图四,本实施例主要以根消息为消息树中最新产生的消息作为样例,对图2所示的消息的处理方法进行详细说明,如图5a所示,该消息的处理方法包括如下步骤:
S510,当有新消息产生并添加到消息队列时,根据时间刻度表查找该新消息的处理时刻对应的第一地址指向的根消息,并沿当前新消息到消息树中的上一个新消息的指向方向,在当前新消息与上一个新消息之间形成指向关系;
S520,将当前新消息作为消息树中的根消息,将该根消息的地址作为第一地址与时间刻度表中相应时刻对应存储。
步骤S510~520为上述步骤S210的一种具体实现方式。
具体地,本步骤中提供了一种与上一实施例在根消息与消息的指向关系上相反的实现方式,即每个消息树的根消息限定为该消息树中最新产生的消息,此时每当消息树中产生新消息,根消息就会随之发生改变。相应地,根消息对应的第一地址为最新产生的消息的地址。
在消息的存储阶段,新消息产生并被添加到消息队列中,根据时间刻度表查找该消息对应处理时刻相关联的第一地址,从而通过第一地址找到该处理时刻对应的消息树中的根消息,即与本次新消息相邻产生的上一个新消息,并沿新消息到上一个新消息的指向方向,在上一个新消息与新消息之间建立指向关系,该指向关系可通过多种方式实现,例如上述存储地址的方法。基于新消息为消息树中最新产生的一个消息,因此将新消息作为根消息,其地址作为第一地址与时间刻度表中当消息处理时刻对应存储,这样,第一地址始终为消息树中最新产生的消息的地址,且在消息树中,根据消息产生时间的先后顺序,每相邻的两个消息均可形成指向关系,且该指向关系的方向为消息产生时间顺序上从后向前指向。
S530,当时间刻度表指向当前时刻时,根据当前时刻对应的第一地址以及消息树中各消息之间的指向关系读取当前时刻需处理的所有消息。步骤S530的内容与步骤S220的内容相同。
以图1中所示的消息队列3为例,参照图5b所示的处理逻辑,在实际应用场景中,假设在当前需处理的消息队列的各消息中,存在第一时刻需处理的第一个产生的消息,即第一条消息可表示为1-1,同一时刻第二条消息可表示为1-2,如此类推。在消息的存储阶段,假设当前时刻根消息为1-3,相应地,消息1-3的地址即为第一地址,当新消息1-4产生并添加于消息队列中,根据与时间刻度表中第一时刻关联存储的第一地址找到消息1-3,并形成消息1-4到消息1-3的指向关系,具体可通过将消息1-3的地址存储于消息1-4的地址中,同时,将消息1-4的地址作为第一地址与时间刻度表中的第一时刻关联存储;此时,第一时刻对应的最后一条消息即为消息1-4。在消息的读取阶段,根据与时间刻度表中第一时刻关联存储的第一地址找到根消息即消息1-4,进而通过消息1-4到消息1-3以及依次从后向前的指向关系,读取第一时刻消息树中所有的消息。
本发明实施例提供的消息的处理方法,通过设置时间刻度表和消息队列,该消息队列中所属同一消息树中的根消息为最新产生的消息,且根消息与其他各消息之间根据消息产生的顺序反方向依次形成指向关系;然后根据根消息的地址和根消息到各其他消息之间的指向关系完成消息的存储和读取,方案简便易行,能够提高消息处理效率。
实施例五
如图6a所示,为本发明实施例的消息的处理装置结构图一,该消息的处理装置可用于执行如图2、图3a、图4a和图5a所示的方法步骤中的将新消息添加到消息队列中的执行内容,该处理装置涉及消息队列以及时间刻度表,消息队列中存储有多条待处理的消息,且在同一时刻需处理的消息之间通过指向关系形成一个消息树,消息树中的根消息的第一地址与时间刻度表中的相应时刻关联存储,该处理装置包括:
消息添加模块610,用于当有新消息产生并添加到消息队列时,根据时间刻度表查找该新消息的处理时刻对应的第一地址指向的根消息,并与新消息之间形成指向关系,以将新消息添加到根消息所在的消息树中。
进一步地,在上述装置中指向关系的定义上,可将第一消息的地址存储到第二消息所在的地址中定义为沿第二消息到第一消息的指向关系。
进一步地,每个消息树中的根消息可为该消息树中第一个产生的消息,上述消息添加模块610用于,
沿根消息到新消息的指向方向,在根消息与新消息之间形成直接指向的指向关系。
可替代地,每个消息树中的根消息可为该消息树中第一个产生的消息,上述消息添加模块610用于,
沿根消息到新消息的指向方向,在上一个新消息与当前新消息之间形成指向关系。
进一步地,各消息树中最后产生的消息的第二地址与时间刻度表中的相应时刻关联存储,上述消息添加模块610还用于,
根据时间刻度表查找当前新消息的处理时刻对应的第二地址,并将第二地址中的消息与当前新消息形成指向关系。
可替代地,每个消息树中的根消息可为该消息树中最新产生的一个消息,上述消息添加模块610用于,
沿当前新消息到消息树中的上一个新消息的指向方向,在当前新消息与上一个新消息之间形成指向关系,并将当前新消息作为消息树中的根消息,将该根消息的地址作为第一地址与时间刻度表中相应时刻对应存储。
如图6b所示,为本发明实施例的消息的处理装置结构图二,该消息的处理装置可用于执行如图2、图3a、图4a和图5a所示的方法步骤中的将消息从消息队列中读取出来的执行内容,该处理装置涉及消息队列以及时间刻度表,消息队列中存储有多条待处理的消息,且在同一时刻需处理的消息之间通过指向关系形成一个消息树,消息树中的根消息的第一地址与时间刻度表中的相应时刻关联存储,该处理装置包括:
消息读取模块620,用于当时间刻度表指向当前时刻时,根据当前时刻对应的第一地址以及消息树中各消息之间的指向关系读取当前时刻需处理的所有消息。
这里需要说明的是,在实际应用场景中,可将图6a和图6b所示的装置结构内置在同一装置中,以完成上述各方法实施例中的完整方法内容。本发明实施例提供的消息的处理装置,通过设置时间刻度表和消息队列,根据根消息的地址和消息树中各消息之间的指向关系,即可依次读取消息,本方案能够提高消息处理效率,且简便易行。
进一步的,本实施例还对根消息的地址和消息的指向关系进行了进一步限定,从正向指向关系、反向指向关系上给出了具体的实现方式,使得对消息的读取更加简便易行,实现消息更为高效的按序读取。
实施例六
前面描述了消息的处理装置的整体架构,该装置的功能可借助一种电子设备实现完成,如图7所示,其为本发明实施例的电子设备的结构示意图,具体包括:存储器710和处理器720。
存储器710,用于存储程序。
除上述程序之外,存储器710还可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
存储器710可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
处理器720,耦合至存储器710,用于执行存储器710中的程序,程序涉及消息队列以及时间刻度表,消息队列中存储有多条待处理的消息,且在同一时刻需处理的消息之间通过指向关系形成一个消息树,消息树中的根消息的第一地址与时间刻度表中的相应时刻关联存储,以用于:
当有新消息产生并添加到消息队列时,根据时间刻度表查找该新消息的处理时刻对应的第一地址指向的根消息,并与新消息之间形成指向关系,以将新消息添加到根消息所在的消息树中。
上述的具体处理操作已经在前面实施例中进行了详细说明,在此不再赘述。
进一步,如图7所示,电子设备还可以包括:通信组件730、电源组件740、音频组件750、显示器760等其它组件。图7中仅示意性给出部分组件,并不意味着电子设备只包括图7所示组件。
通信组件730被配置为便于电子设备和其他设备之间有线或无线方式的通信。电子设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件730经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件730还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
电源组件740,为电子设备的各种组件提供电力。电源组件740可以包括电源管理系统,一个或多个电源,及其他与为电子设备生成、管理和分配电力相关联的组件。
音频组件750被配置为输出和/或输入音频信号。例如,音频组件750包括一个麦克风(MIC),当电子设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器710或经由通信组件730发送。在一些实施例中,音频组件750还包括一个扬声器,用于输出音频信号。
显示器760包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。
实施例七
前面描述了消息的处理装置的整体架构,该装置的功能可借助一种电子设备实现完成,如图8所示,其为本发明实施例的电子设备的结构示意图,具体包括:存储器810和处理器820。
存储器810,用于存储程序。
除上述程序之外,存储器810还可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
存储器810可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
处理器820,耦合至存储器810,用于执行存储器810中的程序,程序涉及消息队列以及时间刻度表,消息队列中存储有多条待处理的消息,且在同一时刻需处理的消息之间通过指向关系形成一个消息树,消息树中的根消息的第一地址与时间刻度表中的相应时刻关联存储,以用于:
当时间刻度表指向当前时刻时,根据当前时刻对应的第一地址以及消息树中各消息之间的指向关系读取当前时刻需处理的所有消息。
上述的具体处理操作已经在前面实施例中进行了详细说明,在此不再赘述。
进一步,如图8所示,电子设备还可以包括:通信组件830、电源组件840、音频组件850、显示器860等其它组件。图8中仅示意性给出部分组件,并不意味着电子设备只包括图8所示组件。
通信组件830被配置为便于电子设备和其他设备之间有线或无线方式的通信。电子设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件830经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件830还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
电源组件840,为电子设备的各种组件提供电力。电源组件840可以包括电源管理系统,一个或多个电源,及其他与为电子设备生成、管理和分配电力相关联的组件。
音频组件850被配置为输出和/或输入音频信号。例如,音频组件850包括一个麦克风(MIC),当电子设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器810或经由通信组件830发送。在一些实施例中,音频组件850还包括一个扬声器,用于输出音频信号。
显示器860包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (11)

1.一种消息的处理方法,其特征在于,所述方法涉及消息队列以及时间刻度表,所述消息队列中存储有多条待处理的消息,且在同一时刻需处理的消息之间通过指向关系形成一个消息树,所述消息树中的根消息的第一地址与所述时间刻度表中的相应时刻关联存储,所述指向关系是按照消息的存储顺序或消息产生时间的先后顺序建立的,所述方法包括:
当有新消息产生并添加到所述消息队列时,根据所述时间刻度表查找该新消息的处理时刻对应的所述第一地址指向的根消息,并与所述新消息之间形成指向关系,以将所述新消息添加到根消息所在的消息树中。
2.根据权利要求1所述的方法,其特征在于,每个所述消息树中的根消息为该消息树中第一个产生的消息,所述根据所述时间刻度表查找该新消息的处理时刻对应的所述第一地址,并将所述第一地址中的消息与所述新消息形成指向关系包括:
沿所述根消息到所述新消息的指向方向,在所述根消息与所述新消息之间形成直接指向的指向关系。
3.根据权利要求1所述的方法,其特征在于,每个所述消息树中的根消息为该消息树中第一个产生的消息,所述根据所述时间刻度表查找该新消息的处理时刻对应的所述第一地址,并将所述第一地址中的消息与所述新消息形成指向关系包括:
沿所述根消息到所述新消息的指向方向,在上一个所述新消息与当前所述新消息之间形成指向关系。
4.根据权利要求3所述的方法,其特征在于,各所述消息树中最后产生的消息的第二地址与所述时间刻度表中的相应时刻关联存储,所述在上一个所述新消息与当前所述新消息之间形成指向关系包括:
根据所述时间刻度表查找当前所述新消息的处理时刻对应的所述第二地址,并将所述第二地址中的消息与当前所述新消息形成指向关系。
5.根据权利要求1所述的方法,其特征在于,每个所述消息树中的根消息为该消息树中最新产生的一个消息,所述根据所述时间刻度表查找该新消息的处理时刻对应的所述第一地址,并将所述第一地址中的消息与所述新消息形成指向关系包括:
沿当前所述新消息到所述消息树中的上一个新消息的指向方向,在当前所述新消息与上一个所述新消息之间形成指向关系,并将当前所述新消息作为所述消息树中的根消息,将该根消息的地址作为所述第一地址与所述时间刻度表中相应时刻对应存储。
6.根据权利要求1-5中任一项所述的方法,其特征在于,将第一消息的地址存储到第二消息所在的地址中定义为沿所述第二消息到所述第一消息的所述指向关系。
7.一种消息的处理方法,其特征在于,所述方法涉及消息队列以及时间刻度表,所述消息队列中存储有多条待处理的消息,且在同一时刻需处理的消息之间通过指向关系形成一个消息树,所述消息树中的根消息的第一地址与所述时间刻度表中的相应时刻关联存储,所述指向关系是按照消息的存储顺序或消息产生时间的先后顺序建立的,所述方法包括:
当所述时间刻度表指向当前时刻时,根据当前时刻对应的所述第一地址以及消息树中各消息之间的指向关系读取当前时刻需处理的所有消息。
8.一种消息的处理装置,其特征在于,所述处理装置涉及消息队列以及时间刻度表,所述消息队列中存储有多条待处理的消息,且在同一时刻需处理的消息之间通过指向关系形成一个消息树,所述消息树中的根消息的第一地址与所述时间刻度表中的相应时刻关联存储,所述指向关系是按照消息的存储顺序或消息产生时间的先后顺序建立的,所述处理装置包括:
消息添加模块,用于当有新消息产生并添加到所述消息队列时,根据所述时间刻度表查找该新消息的处理时刻对应的所述第一地址指向的根消息,并与所述新消息之间形成指向关系,以将所述新消息添加到根消息所在的消息树中。
9.一种消息的处理装置,其特征在于,所述处理装置涉及消息队列以及时间刻度表,所述消息队列中存储有多条待处理的消息,且在同一时刻需处理的消息之间通过指向关系形成一个消息树,所述消息树中的根消息的第一地址与所述时间刻度表中的相应时刻关联存储,所述指向关系是按照消息的存储顺序或消息产生时间的先后顺序建立的,所述处理装置包括:
消息读取模块,用于当所述时间刻度表指向当前时刻时,根据当前时刻对应的所述第一地址以及消息树中各消息之间的指向关系读取当前时刻需处理的所有消息。
10.一种电子设备,其特征在于,包括:
存储器,用于存储程序;
处理器,耦合至所述存储器,用于执行所述程序,所述程序涉及消息队列以及时间刻度表,所述消息队列中存储有多条待处理的消息,且在同一时刻需处理的消息之间通过指向关系形成一个消息树,所述消息树中的根消息的第一地址与所述时间刻度表中的相应时刻关联存储,所述指向关系是按照消息的存储顺序或消息产生时间的先后顺序建立的,以用于:
当有新消息产生并添加到所述消息队列时,根据所述时间刻度表查找该新消息的处理时刻对应的所述第一地址指向的根消息,并与所述新消息之间形成指向关系,以将所述新消息添加到根消息所在的消息树中。
11.一种电子设备,其特征在于,包括:
存储器,用于存储程序;
处理器,耦合至所述存储器,用于执行所述程序,所述程序涉及消息队列以及时间刻度表,所述消息队列中存储有多条待处理的消息,且在同一时刻需处理的消息之间通过指向关系形成一个消息树,所述消息树中的根消息的第一地址与所述时间刻度表中的相应时刻关联存储,所述指向关系是按照消息的存储顺序或消息产生时间的先后顺序建立的,以用于:
当所述时间刻度表指向当前时刻时,根据当前时刻对应的所述第一地址以及消息树中各消息之间的指向关系读取当前时刻需处理的所有消息。
CN201810295468.6A 2018-03-30 2018-03-30 消息的处理方法、装置及电子设备 Active CN110321232B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810295468.6A CN110321232B (zh) 2018-03-30 2018-03-30 消息的处理方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810295468.6A CN110321232B (zh) 2018-03-30 2018-03-30 消息的处理方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN110321232A CN110321232A (zh) 2019-10-11
CN110321232B true CN110321232B (zh) 2024-01-09

Family

ID=68112423

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810295468.6A Active CN110321232B (zh) 2018-03-30 2018-03-30 消息的处理方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN110321232B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101150490A (zh) * 2006-09-23 2008-03-26 华为技术有限公司 一种单播和多播业务数据包的队列管理方法和系统
CN103543988A (zh) * 2013-10-23 2014-01-29 华为终端有限公司 队列消息的处理方法、控制消息进入队列的方法及装置
CN105512244A (zh) * 2015-11-30 2016-04-20 北京京东尚科信息技术有限公司 基于消息队列实现数据库事务处理的方法及装置
CN107133111A (zh) * 2017-04-27 2017-09-05 努比亚技术有限公司 一种消息处理装置及方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101150490A (zh) * 2006-09-23 2008-03-26 华为技术有限公司 一种单播和多播业务数据包的队列管理方法和系统
CN103543988A (zh) * 2013-10-23 2014-01-29 华为终端有限公司 队列消息的处理方法、控制消息进入队列的方法及装置
US20160266948A1 (en) * 2013-10-23 2016-09-15 Huawei Device Co. Ltd. Queued Messages Processing Method and Apparatus, Method and Apparatus for Controlling Messages to be Enqueued
CN105512244A (zh) * 2015-11-30 2016-04-20 北京京东尚科信息技术有限公司 基于消息队列实现数据库事务处理的方法及装置
CN107133111A (zh) * 2017-04-27 2017-09-05 努比亚技术有限公司 一种消息处理装置及方法

Also Published As

Publication number Publication date
CN110321232A (zh) 2019-10-11

Similar Documents

Publication Publication Date Title
CN102541603B (zh) 一种应用程序启动方法、系统及终端设备
US20150193200A1 (en) Voice-assisted editing method and device for terminal
CN105468364A (zh) 应用程序的通知消息的处理方法和移动终端
US10739992B2 (en) Electronic device and operation method thereof
CN105740263B (zh) 页面显示方法和装置
US20150254518A1 (en) Text recognition through images and video
CN107436948B (zh) 文件搜索方法、装置及终端
CN104965842A (zh) 搜索推荐方法和装置
CN104123114A (zh) 一种进行语音播放的方法和装置
CN112908318A (zh) 智能音箱的唤醒方法、装置、智能音箱及存储介质
CN109144285A (zh) 一种输入方法和装置
CN113656432A (zh) 数据对比方法及装置
CN110874358A (zh) 多属性列的存储、检索方法和装置以及电子设备
CN113285866A (zh) 信息发送方法、装置和电子设备
CN103109521A (zh) 增强消息的系统和方法
US10909146B2 (en) Providing automated hashtag suggestions to categorize communication
CN110321232B (zh) 消息的处理方法、装置及电子设备
CN104850558A (zh) 一种基于通信文本信息的事务管理方法、装置及终端
CN201259670Y (zh) 一种文本信息处理装置和设备
CN104737559A (zh) 一种交换电子名片的方法、移动终端及系统
CN108737352B (zh) 兼容多协议和非标准协议的无线物理层处理系统及方法
CN112711395B (zh) 加解密方法和装置、电子设备以及计算机可读存储介质
CN104182406A (zh) 电子名片的创建方法、检索方法及相关系统
CN113779055A (zh) 信息处理方法、信息处理装置、电子设备和可读存储介质
CN102867060A (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