CN109412821B - 消息处理方法和装置以及电子设备 - Google Patents
消息处理方法和装置以及电子设备 Download PDFInfo
- Publication number
- CN109412821B CN109412821B CN201710703528.9A CN201710703528A CN109412821B CN 109412821 B CN109412821 B CN 109412821B CN 201710703528 A CN201710703528 A CN 201710703528A CN 109412821 B CN109412821 B CN 109412821B
- Authority
- CN
- China
- Prior art keywords
- consumption
- progress information
- message queue
- message
- consumption progress
- 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
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1804—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for stock exchange and similar applications
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例提供了一种消息处理方法和装置以及电子设备,其中涉及的消息处理方法包括:对待处理的第一消息队列中的消息进行消费操作,并形成所述第一消息队列的消费进度信息;将所述消费进度信息在网络中进行广播,以使所述网络中其他消费方对所述第一消息队列中消息的消费进度进行本地保存。本发明实施例的方案可使得网络内的各消费方对其他消费方的消费进度信息进行保存,从而有效避免对同一消息的重复消费。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种消息处理方法和装置以及电子设备。
背景技术
现今的网络服务平台(例如购物、支付等平台)大多会使用分布式消息系统(比如,Kafka,一种高吞吐量的分布式发布订阅消息系统)作为平台的基础消息设施,用以支撑着平台中众多线上业务的发展,并承载着对亿级消息的处理。在现有分布式消息系统中,通常可包括负责产生消息并将消息发送至消息服务器的消息生产方(Producer),负责组织、协调消息的消息服务器(Broker),以及负责对从消息服务器中得到的消息进行消费的消息消费方(Consumer)。
在现有的消息消费方对消息进行消费的过程中,通常为消息消费方先对其负责消息队列的消费位点(Consumer Offset)信息进行记录,然后再将消费位点信息发送至消息服务器进行保存(也可称为异步保存),在此过程中,若遇到消息消费方突然发生故障(比如,宕机等)或者在向消息服务器发送消费位点信息时遇到网络不通畅等,则会出现某些消费位点信息未及时发送并保存至消息服务器的情况,以可能会导致其他消息消费方对消息进行重复消费。在实际应用中,对消息的重复消费,很可能出现比如某条消息对应的通知被重复发送、某条消息对应的订单被重复扣款等情况,不仅影响用户体验,还可能对用户造成经济损失。
虽然现有技术中也有利用设置数据库以通过查询数据库等方式来避免消息的重复消费,但仍然存在实现过程依赖于数据库,且频繁的查询操作会造成系统资源损耗且效率低下的问题,此外,由于需要额外设置数据库,还会造成系统结构较为复杂,进而增加系统成本的问题。
发明内容
本发明提供了一种消息处理方法和装置以及电子设备,可及时有效的将每个消费方处理消息队列所产生的消费进度信息保存到网络内其他消费方,从而有效避免消息的重复消费。
为达到上述目的,本申请的实施例采用如下技术方案:
第一方面,提供了一种消息处理方法,包括:
对待处理的第一消息队列中的消息进行消费操作,并形成所述第一消息队列的消费进度信息;
将所述消费进度信息在网络中进行广播,以使所述网络中其他消费方对所述第一消息队列中消息的消费进度进行本地保存。
第二方面,提供了一种消息处理方法,包括:
监听网络内其他消费方广播的消费进度信息;
对监听到的其他消费方的消费进度信息进行本地保存。
第三方面,提供了一种消息处理方法,包括:
对待处理的第二消息队列中的消息进行消费操作之前,在本地已存储的消费进度信息中,查找是否存在所述第二消息队列的消费进度信息,其中,所述消费进度信息为通过网络中其他消费方发出的广播中获得,用于标识在被消费的消息队列中消息的消费进度;
如果查找到所述第二消息队列的消费进度信息,则根据该消费进度信息继续对所述第二消息队列中的消息进行消费操作;或者,
如果未查找到所述第二消息队列的消费进度信息,则对所述第二消息队列中的消息从起始位置处开始顺序对各消息进行消费操作。
第四方面,提供了一种消息处理方法,包括:
在本地已存储的消费进度信息中,查找第二消息队列的消费进度信息;
根据第二消息队列的消费进度信息的查找结果,对第二消息队列中的消息进行消费操作。
第五方面,提供了一种消息处理装置,包括:
第一消费模块,用于对待处理的第一消息队列中的消息进行消费操作,并形成所述第一消息队列的消费进度信息;
广播模块,用于将所述消费进度信息在网络中进行广播,以使所述网络中其他消费方对所述第一消息队列中消息的消费进度进行本地保存。
第六方面,提供了一种消息处理装置,包括:
第一监听模块,用于监听其他消费方在网络中广播的消费进度信息;
第一保存模块,用于对监听到的其他消费方的消费进度信息进行本地保存。
第七方面,提供了一种消息处理装置,包括:
第一查找模块,用于对待处理的第二消息队列中的消息进行消费操作之前,在本地已存储的消费进度信息中,查找是否存在所述第二消息队列的消费进度信息,其中,所述消费进度信息为通过网络中其他消费方发出的广播中获得,用于标识在被消费的消息队列中消息的消费进度;
第二消费模块,用于如果查找到所述第二消息队列的消费进度信息,则根据该消费进度信息继续对所述第二消息队列中的消息进行消费操作;或者,
如果未查找到所述第二消息队列的消费进度信息,则对所述第二消息队列中的消息从起始位置处顺序对各消息进行消费操作。
第八方面,提供了一种消息处理装置,包括:
第三查找模块,用于在本地已存储的消费进度信息中,查找第二消息队列的消费进度信息;
第三消费模块,用于根据第二消息队列的消费进度信息的查找结果,对第二消息队列中的消息进行消费操作。
第九方面,提供了一种电子设备,包括:
存储器,用于存储程序;
处理器,耦合至所述存储器,用于执行所述程序,以用于:
对待处理的第一消息队列中的消息进行消费操作,并形成所述第一消息队列的消费进度信息;
将所述消费进度信息在网络中进行广播,以使所述网络中其他消费方对所述第一消息队列中消息的消费进度进行本地保存。
第十方面,提供了一种电子设备,包括:
存储器,用于存储程序;
处理器,耦合至所述存储器,用于执行所述程序,以用于:
监听网络内其他消费方广播的消费进度信息;
对监听到的其他消费方的消费进度信息进行本地保存。
第十一方面,提供了另一种电子设备,包括:
存储器,用于存储程序;
处理器,耦合至所述存储器,用于执行所述程序,以用于:
对待处理的第二消息队列中的消息进行消费操作之前,在本地已存储的消费进度信息中,查找是否存在所述第二消息队列的消费进度信息,其中,所述消费进度信息为通过网络中其他消费方发出的广播中获得,用于标识在被消费的消息队列中消息的消费进度;
如果查找到所述第二消息队列的消费进度信息,则根据该消费进度信息继续对所述第二消息队列中的消息进行消费操作;或者,
如果未查找到所述第二消息队列的消费进度信息,则对所述第二消息队列中的消息从起始位置处顺序对各消息进行消费操作。
第十二方面,提供了另一种电子设备,包括:
存储器,用于存储程序;
处理器,耦合至所述存储器,用于执行所述程序,以用于:
在本地已存储的消费进度信息中,查找第二消息队列的消费进度信息;
根据第二消息队列的消费进度信息的查找结果,对第二消息队列中的消息进行消费操作。
本发明提供的消息处理方法和装置以及电子设备,消费方在对待处理的消息队列中的消息进行消费操作时形成消息队列的消费进度信息,并将消费进度信息在网络中进行广播,相应的,消费方监听网络内其他消费方广播的消费进度信息,并对监听到的其他消费方的消费进度信息进行本地保存;基于此,当某一消费方在对当前待处理的消息队列中的消息进行消费时,先在本地已存储的消费进度信息中查找第二消息队列的消费进度信息并根据第二消息队列的消费进度信息的查找结果,对第二消息队列中的消息进行消费操作,若查找到,则根据该消费进度信息继续对该消息队列中的消息进行消费操作,若未查找到,则对该消息队列中的消息从起始位置处顺序对各消息进行消费操作,从而有效避免消息的重复消费。同时,由于各消费方是通过广播的方式实现对各消息队列的消费进度信息的共享,替代了现有通过访问消息服务器来获得消费进度信息的方式,减少了消费方与消息服务器之间的信息交互,降低了系统消耗且提高系统的可靠性。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为现有分布式消息系统的部署架构图;
图2为现有技术中消费方执行消息消费的逻辑架构图;
图3为本发明实施例提供的消费方消费消息的逻辑架构图;
图4为本发明实施例一提供的消息处理方法的流程示意图;
图5为本发明实施例二提供的消息处理方法的流程示意图;
图6为本发明实施例三提供的消息处理方法的流程示意图;
图7为本发明实施例四提供的消息处理方法的流程示意图;
图8为本发明实施例五提供的消息处理装置结构示意图;
图9为本发明实施例六提供的消息处理装置结构示意图;
图10为本发明实施例七提供的消息处理装置结构示意图;
图11为本发明实施例八提供的消息处理装置结构示意图;
图12为本发明实施例九提供的电子设备的结构示意图;
图13为本发明实施例十提供的电子设备的结构示意图;
图14为本发明实施例十一提供的电子设备的结构示意图;
图15为本发明实施例十二提供的电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
术语说明:
消息(Message):一连串字节数据,是消息系统的基本存储单位,消息中可能还含有内部字段,如业务标识(Key),时间戳(Time Stamp),实体内容(Body)等。
消息主题(Topic):每条消息都有且仅有一个主题。
消息队列(Queue):一个消息主题可划分为多个消息队列,消息主题与消息队列是一对多的关系,每条消息属于某个消息主题下的某个消息队列。
消息生产方(Producer):本实施例中可称为“生产方”,负责产生消息并将消息发送至消息服务器,通常对于某个消息主题,会对应几个生产方,同一个消息主题下的消息,会由生产方以某种负载均衡的方式发送到消息服务器中不同的消息队列中。
消费服务器(Broker):负责存储、组织、协调来自生产方的消息,在消息服务器中的消息可按照消息主题进行组织,其中,一个消息主题可由多个消息队列组成。
消息消费方(Consumer):本实施例中可称为“消费方”,负责从消息服务器获取消息(比如采用拉取消息的方式)并对消息进行消费,通常以组(本实施例中可称为消息消费组,其中包括多个消费方)的形式对同一消息主题下的消息进行消费,每个消息消费组可对应一个消息主题,每个消息消费组内的消费方可被均匀分配去消费该消息主题中的消息队列,每个消息队列在任一时刻只能被一个消费方消费。
消费位点(ConsumeOffset):对于每个消息队列中的消息,是一条一条顺序被消费的,这个消费进度可保存为一个数值且逐步增加。其中,每个消息队列都对应有一个消费位点信息。
本发明实施例涉及消息处理的技术方案,可应用于分布式消息系统(比如,Kafka)中。如图1所示,为现有分布式消息系统的部署架构图,其核心组成包括:消息生产组11、消息服务器12和消息消费组13,其中,消息生产组11可由多个上述的生产方构成,消息消费组13可由多个上述的消费方构成;其中,生产方将生成的消息存储到消息服务器12,消息服务器12将所属同一消息主题的消息分布存储在多个消息队列中,每个消息队列中包括多条消息,这些消息所属于同一消息主题。消费方从消息服务器12获取某一消息队列中的消息,并对这些消息进行消费。
如图2所示,为现有技术中,消费方执行消息消费的逻辑架构图,可包括如下步骤:
步骤1,获取消息:从消息服务器12中拉取目标消息队列。
步骤2,消费消息:对目标消息队列中包含的消息逐条进行消费操作,所述消费操作可为预置的逻辑处理。
步骤3,保存消费位点信息:先记录目标消息队列消费进度对应的消费位点信息,然后发送至消息服务器12,以便消息服务器对目标消息队列的消费位点信息进行保存,当其他消费方拉取到该目标队列后,可根据其消费位点信息对该消息队列中未消费的消息继续进行消费操作。
在上述步骤3中,由消费方先对消费位点信息进行记录,然后再将消费位点信息发送至消息服务器12进行保存,因此,若消费方突然发生宕机,或者在向消息服务器12发送消费位点信息的过程中网络不通畅等,则都会出现某些消费位点信息未及时发送并保存至消息服务器12的情况,可能会导致其他消费方对消息进行重复消费。
为了解决上述重复消费问题,现有技术中的一种优化方案,是在生产方发送消息的阶段将携带有业务标识的消息发送至消息服务器12,在消费方对消息进行消费的阶段可在获取到待处理的消息后,根据确定的消息的业务标识在数据库(例如,每个消息主题对应设置一个数据库等,可记录业务标识与其是否被消费的对应关系)中查询该业务标识是否已被消费过,若否,则正常执行对消息的消费过程,并在数据库中标记该业务标识已被消费过,以作为后续判断消息是否消费过的基础。采用此种方案,虽然可在一定程度上解决消息的重复消费问题,但是在实现过程过于依赖于数据库,不但会造成系统结构复杂度提高,且频繁的查询操作也会造成系统资源损耗且效率低下的问题。
基于上述分析,为了在保证系统简洁性的基础上,有效避免消息的重复消费,本发明实施例改变现有技术中,各个消费方在消费消息队列中的消息的过程中,将消费位点信息发送到消息服务器12中进行保存,其他消费方再从消息服务器12获取该消息队列的消费进度从而实现消费进度信息的共享,其核心思想在于,消费方之间共享消息队列的消费进度信息时,不需要经过消息服务器12对消费进度信息进行保存,而是由各消费方以广播的方式,在网络内直接将其消费的消息队列的消费进度信息发布出去,从而供网络内其他的消费方监听获取。相应的,消费方在每次对新分配的消息队列中的各消息进行消费时,也可根据本地保存的消费进度信息锁定待处理的消息队列中哪些是尚未处理的消息,并对这些消息顺序进行消费操作。一方面,由于采用将消费进度信息广播到网络中并由网络中其他消费方同时保存的方式,以实现将消费进度信息及时通知到其他消费方,从而有效避免消息的重复消费;另一方面,各消费方可根据由广播中获得并保存于本地的消费进度信息对待处理的消息队列中的消息进行消费操作,替代了现有通过访问消息服务器来获得消费进度信息的方式,减少了消费方与消息服务器之间的信息交互,降低了系统消耗且提高了系统的可靠性。
如图3所示,其为本发明实施例提供的消费方消费消息的逻辑架构图。其中,消费方仍是从消息服务器12中获取消息队列,然后对消息队列中的消息进行消费,但是在每消费一条消息后,不是将相应形成的消费进度信息发送至消息服务器12进行保存,而是直接在网络(比如图中所示的局域网)内将该消费进度信息广播出去,以供其他消费方监听获取。其他消费方如果需要对该消息队列进行后续的消费,那么可以参照本地已存储的该消费进度信息锁定该消息队列的消费位置,并对其后面未消费的消息继续进行消费操作。
在实际应用中,一方面,消费方可对待处理的第一消息队列(其中,第一消息队列可包括从未被消费过并被分配到该消费方的消息队列,或其中一部分消息已被其他消费方消费过,且重新被分配到该消费方的消费队列)中的消息进行消费操作,在消费操作完成后形成第一消息队列的消费进度信息并将该消费进度信息在网络中进行广播。另一方面,消费方还可在对待处理的第二消息队列(其中,第二消息队列可为其中一部分消息已被其他消费方消费过,且重新被分配到该消费方的消费队列)中的消息进行消费操作之前,在本地已存储的消费进度信息中,查找是否存在所述第二消息队列的消费进度信息,在查找到的情况下则可根据该消费进度信息继续对第二消息队列中的消息进行消费操作,在未查找到的情况下则可对第二消息队列中的消息从起始位置处顺序对各消息进行消费操作,从而有效的避免了对消息的重复消费。
本发明实施例的消息处理方案可以应用于网络服务平台中,该网络服务平台比如可以为购物平台、支付平台或者新闻订阅平台等。下面通过实施例来进一步说明本发明的技术方案。
实施例一
如图4所示,为本发明实施例一的消息处理方法的流程示意图,本实施例一可对应一种应用场景,即消费方对消息队列中的消息进行消费操作并形成消费进度信息后进行广播的场景,该方法的执行主体可为图2中的消费方。如图4所示,该方法包括如下步骤:
S410,对待处理的第一消息队列中的消息进行消费操作,并形成第一消息队列的消费进度信息。
在具体实现时,消费方可通过从消息服务器拉取消息队列的方式来获取被分配的(也就是待处理的)消息队列,在本实施例中,可称为第一消息队列。当然,并不限于上述拉取方式,比如也可以采用由消息服务器推送消息队列的方式。
在本实施例中,该待处理的消息队列,可以指当前消费方刚刚获得且还没有开始执行消费操作的消息队列,如果已经开始执行了消费操作的消息队列,则不属于待消费的消息队列。其中,该第一消费队列,可包括从未被消费过且被分配给该消费方的消息队列,或者,其中一部分消息已被其他消费方消费过,并重新被分配到该消费方的消费队列。
对于消费队列中的消息,消费方都是一条一条顺序进行消费操作的,对每条消息的消费操作完成后,消费进度都会随之改变,并可形成相应的消费进度信息。在本实施例中,消费进度信息,可以为在第一消息队列中截止当前时刻最后完成消费操作的消息对应的消费位点信息(ConsumeOffse),也可为第一消息队列中截止当前时刻最后完成消费操作的消息的消息标识,等等。
例如,第一消费方从消费服务器中拉取到消息队列001,并对消息队列001进行消费操作,比如在消息队列001中截止当前时刻最后完成消费操作的消息为第五条消息,则可形成相应的消费进度信息,比如消息队列001的消费位点为5。
S420,将消费进度信息在网络中进行广播,以使网络中其他消费方对第一消息队列中消息的消费进度进行本地保存。
也就是说,消费方在形成第一消息队列中消息的消费进度之后,可将第一消息队列中消息的消费进度以广播的形式发布到网络中,以便网络中的全部或部分消费方可获取到第一消息队列中消息的消费进度信息并进行保存,以支持后续步骤。
在本实施例中,所述网络可包括局域网、非局域网、私有云与公有云之间等网络形式。其中,针对同一消息主题的一个消息队列或者同一消息主题对应的所有处理消息涉及的业务系统可以设置在一个局域网中。
以网络形式为局域网为例,在一种实现方式中,局域网内的其他消费方可随时监听局域网内广播中的消费进度信息(在本实施例中,消息进度信息中可包括所属的消息队列标识、消息主题等信息),当监听到有新的消费进度信息后,可将该消费进度信息在本地进行保存,当需要其他消费方继续对上述的第一消息队列进行消费时,被分配任务的消费方就可以依据预先存储的该第一消息队列对应的消费进度信息对该第一消息队列中的消息继续进行消费操作。其中,可采用用于执行广播的接口、用于监听广播的接口等来实现上述广播、监听操作。
例如,在同一局域网中,包括第一消费方、第二消费方、第三消费方,第一消费方可将消息队列001的消费进度信息(即消费位点为5)在局域网中进行广播,第二、第三消费方在监听到局域网内广播中的上述消费进度信息后,可进一步根据上述消费进度信息中包含的其他信息判断其所属消费主题,与当前分配给自己的消息队列所属消息主题是否相同,若相同,则对该消费进度信息进行本地保存,若不同,则无需保存。当然,根据系统需要,也可采用不做判断直接将消费进度信息保存于本地的方式。
在本实施例提供的消息处理方法中,每个当前消费方处理的消息队列的消息进度信息,都可以被同一网络内的其他消费方进行保存,尤其是被处理相同消息主题的消费方进行保存。一方面,消费方之间共享消息队列的消费进度信息时,不需要再经过消息服务器对消费进度信息进行保存,而是由各消费方以广播的方式,在网络内直接将其消费的消息队列的消费进度信息发布出去,以供网络内其他的消费方监听获取,尤其在局域网内其网络环境较稳定,广播消息可更快的到达每个监听者,从而实现对消费进度信息的及时有效的保存,以有效避免后续对消息消费过程中的重复消费问题。此外,与现有通过访问消息服务器来获得消费进度信息的方式,上述方式减少了消费方与消息服务器之间的信息交互,可降低系统消耗且提高系统的可靠性。
在另一种实施例中,在消费方将消费进度信息在网络中进行广播之后,还可以将消费进度信息发送至消息服务器,以使消息服务器对第一消息队列中消息的消费进度进行保存。
根据上述实施例提供的消息处理方法,在当前消费方将其处理的第一消息队列的消息进度信息广播到网络并通过网络内的其他消费方保存于本地之外,当前消费方还可进一步将第一消息队列的消费进度信息发送至消息服务器,以同时通过消息服务器对第一消息队列的消费进度信息进行保存。以此,在消费方出现故障(比如宕机等)、在消费方未能成功保存消费进度信息等情况下,还可通过在消息服务器中查找这个渠道来获知消息队列的消费进度信息,以有效避免后续消息消费过程中对消息的重复消费。
实施例二
如图5所示,为本发明实施例二的消息处理方法的流程示意图,可对应于实施例一的应用场景,该方法包括如下步骤:
S510,监听网络内其他消费方广播的消费进度信息。
其中,消费进度信息可用于标识在被消费的消息队列中消息的消费进度。在具体实现时,可通过在各消费方设置用于监听的监听接口,各消费方可通过所述监听接口随时监听网络内广播中的消费进度信息,在本实施例中,消息进度信息中可包括所属的消息队列标识、消息主题等信息。
S520,对监听到的其他消费方的消费进度信息进行本地保存。
在具体实现时,当监听到有新的消费进度信息后,可将该消费进度信息在本地进行保存,当需要其他消费方继续对上述的第一消息队列进行消费时,被分配任务的消费方就可以依据预先存储的该第一消息队列对应的消费进度信息对该第一消息队列中的消息继续进行消费操作。
例如,以网络形式为局域网为例,在同一局域网中,包括第一消费方、第二消费方、第三消费方,第一消费方可将消息队列001的消费进度信息(即消费位点为5)在局域网中进行广播,第二、第三消费方在监听到局域网内广播中的上述消费进度信息后,可进一步根据上述消费进度信息中包含的其他信息判断其所属消费主题,与当前分配给自己的消息队列所属消息主题是否相同,若相同,则对该消费进度信息进行本地保存,若不同,则无需保存。当然,根据系统需要,也可采用不做判断直接将消费进度信息保存于本地的方式。
在本实施例提供的消息处理方法中,各消费方可对网络内其他消费方广播的消费进度信息进行监听获取并及时保存,以此,消费方之间共享消息队列的消费进度信息时,不需要再经过消息服务器对消费进度信息进行保存,而是由各消费方以广播的方式,在网络内直接将其消费的消息队列的消费进度信息发布出去,从而网络内其他的消费方可通过监听获取其他消费方广播的消费进度信息,以实现对消费进度信息的及时有效的保存,进而可以有效避免后续对消息消费过程中的重复消费问题。
实施例三
如图6所示,为本发明实施例二的消息处理方法的流程示意图,本实施例二可对应一种应用场景,即消费方根据对本地存储的消费进度信息的查找结果对消息队列进行消费的场景,该方法的执行主体可为图3中的消费方。如图6所示,该方法包括如下步骤:
S610,对待处理的第二消息队列中的消息进行消费操作之前,在本地已存储的消费进度信息中,查找是否存在所述第二消息队列的消费进度信息。其中,所述消费进度信息为通过网络中其他消费方发出的广播中获得,用于标识在被消费的消息队列中消息的消费进度。
在本实施例中,在网络内的消费方可随时监听网络内广播中的消费进度信息(在本实施例中,消息进度信息中可包括所属的消息队列标识、消息主题等信息),当监听到的消费进度信息所标识的消息队列所属的消息主题,与分配给当前消费方的消息队列所属的消息主题相同,则可对所述消费进度信息进行本地保存,也即,每个消费方可只对其处理的消息主题下的消息队列的消费进度信息进行保存。
在具体实现时,消费进度信息可以文件或数据表等形式保存于消费方本地,比如可包括消息队列标识与其截止当前时刻最后完成消费操作的消息对应的消费位点信息、截止当前时刻最后完成消费操作的消息的消息标识的对应关系,内容可如表1所示。
表1 消息标识的对应关系
消息队列标识 | 消费位点 | 消息标识 |
消息队列001 | 5 | AA |
消息队列002 | 10 | BB |
…… | …… | …… |
在本实施例中,该第二消息队列,比如可为其中一部分消息已被其他消费方消费过并重新被分配到当前消费方的消费队列,也就是说,对于第二消息队列,是需要根据对本地存储的消费进度信息的查找结果以确定其消费进度后,才能进行消费操作的。
S620,如果查找到第二消息队列的消费进度信息,则根据该消费进度信息继续对第二消息队列中的消息进行消费操作,如果未查找到第二消息队列的消费进度信息,则对第二消息队列中的消息从起始位置处顺序对各信息进行消费操作。
在实际应用中,一种情况是,比如,第二消费方根据表1查找到第二消息队列(比如消费队列002)的消费进度信息,消息队列002的消费位点为10,则可表明消息队列002中的第10条消息已被消费过了,则可继续对消费队列002中的第11条消息进行消费操作。此种情况通常对应于,比如某个消费方在对第二消息队列中的消息进行消费操作的过程中,由于某些原因(比如宕机等)而中断对第二消息队列的消费操作且不能及时恢复消费功能,也就是第二消息队列已经被消费了一部分,此时,可将该第二消息队列重新分配到网络内其他消费方,以使该重新分配的消费方可以根据本地存储的与第二消息队列相关的消费进度信息,接着前一个消费方对消息队列的消费进度继续对第二消息队列进行消费操作。一方面,同一网络内的每个消费方都可作为其他消费方的替补,以保证系统内的消息消费效率,另一方面,作为替补的消费方可基于本地保存的消费进度信息对消息队列进行消费操作,以有效避免消息的重复消费。
另一种情况是,根据表1未查找到第二消息队列的消费进度信息,则可确定该第二消息对列未被执行过消费操作,因此可对该第二消息队列中的消息从起始位置处开始顺序对各条消息进行消费操作。该种情况通常对应于,第二消息队列是一个从未被消费过的消息队列,基于查找操作,在确定了第二消息队列确实为从未被消费过的消息队列后,则可从该第二消息队列的起始位置顺序对各条消息进行消费操作。
当然,在具体实现时,在第二种情况下,也就是根据表1未查找到第二消息队列的消费进度信息,也可以进一步在消息服务器中查找第二消息队列的消费进度信息,如果能够查找到相应的消费进度信息,则可根据该消费进度信息继续对第二消息队列中的消息进行消费操作,如果还是不能查找到相应的消费进度信息,则可进一步确定该第二消息对未被消费过,即可对该第二消息队列中的消息从起始位置处开始顺序对各条消息进行消费操作。以此,可通过以在当前消费方本地查找及在消息服务器中查找相结合的方式,对消息队列的消费进度进行双重确认,以有效避免消息的重复消费。
在具体实现时,对待处理的第二消息队列中的消息进行消费操作之前,还可以在消息服务器中已存储的消费进度信息中,查找是否存在所述第二消息队列的消费进度信息。
在具体实现时,消费进度信息可以文件或数据表等形式保存于消息服务器,比如可包括消息队列标识与其截止当前时刻最后完成消费操作的消息对应的消费位点信息、截止当前时刻最后完成消费操作的消息的消息标识的对应关系,内容可如表2所示。
表2 消息标识的对应关系
消息队列标识 | 消费位点 | 消息标识 |
消息队列001 | 5 | AA |
消息队列002 | 10 | BB |
消息队列003 | 8 | AC |
…… | …… | …… |
在实际应用中,如果在消息服务器中能够查找到第二消息队列的消费进度信息,且在当前消费方本地也查找到第二消息队列的消费进度信息的情况下,若上述两个查找结果为一致,则可根据查找到的消费进度信息进行消费操作。但是,还可能出现上述两个查找结果不一致的情况,比如网络中的消费方在某时刻出现问题(比如宕机等)没有及时保存监听到的第二消息队列的消费进度信息,或者由于网络延时等原因服务器没有及时接收到第二消息队列的消费进度信息等,则可以上述两个查找结果中最新的消费进度信息,继续对第二消息队列中的消息进行消费操作。以此,可通过以在当前消费方本地查找及在消息服务器中查找相结合的方式,对消息队列的消息消费进度进行双重确认,以得到更为准确的消费进度信息,并根据该消费进度信息进行消息消费操作,以有效避免消息的重复消费。
本实施例提供的消息处理方法,消费方在对待处理的消息队列中的消息进行消费操作,并形成消息队列的消费进度信息后,将消费进度信息在网络中进行广播,以使网络中其他消费方对该消息队列中消息的消费进度进行本地保存;基于此,当某一消费方对当前待处理的消息队列中的消息进行消费时,该消费方可先根据在本地已存储的消费进度信息中查找是否存在该消息队列的消费进度信息,若查找到,则根据该消费进度信息继续对该消息队列中的消息进行消费操作,若未查找到,则对该消息队列中的消息从起始位置处顺序对各消息进行消费操作,从而有效避免消息的重复消费。同时,由于各消费方是通过广播的方式实现对各消息队列的消费进度信息的共享,替代了现有通过访问消息服务器来获得消费进度信息的方式,减少了消费方与消息服务器之间的信息交互,降低了系统消耗且提高系统的可靠性。
实施例四
如图7所示,为本发明实施例四的消息处理方法的流程示意图,可对应于实施例二的应用场景,该方法包括如下步骤:
S710,对待处理的第二消息队列中的消息进行消费操作之前,在本地已存储的消费进度信息中,查找第二消息队列的消费进度信息。
其中,所述消费进度信息为通过网络中其他消费方发出的广播中获得,用于标识在被消费的消息队列中消息的消费进度。
在本实施例中,在网络内的消费方可随时监听网络内广播中的消费进度信息(在本实施例中,消息进度信息中可包括所属的消息队列标识、消息主题等信息),当监听到的消费进度信息所标识的消息队列所属的消息主题,与分配给当前消费方的消息队列所属的消息主题相同,则可对所述消费进度信息进行本地保存,也即,每个消费方可只对其处理的消息主题下的消息队列的消费进度信息进行保存。
在具体实现时,消费进度信息可以文件或数据表等形式保存于消费方本地,比如可包括消息队列标识与其截止当前时刻最后完成消费操作的消息对应的消费位点信息、截止当前时刻最后完成消费操作的消息的消息标识的对应关系。
在本实施例中,该第二消息队列,比如可为其中一部分消息已被其他消费方消费过并重新被分配到当前消费方的消费队列,也就是说,对于第二消息队列,是需要根据对本地存储的消费进度信息的查找结果以确定其消费进度后,才能进行消费操作的。
S720,根据第二消息队列的消费进度信息的查找结果,对第二消息队列中的消息进行消费操作。
在实际应用中,一种情况是,比如,第二消费方查找到第二消息队列的消费进度信息(比如,第二消息队列的消费位点为10),则可表明第二消息队列中的第10条消息已被消费过了,则可继续对第二消息队列中的第11条消息进行消费操作。此种情况通常对应于,比如某个消费方在对第二消息队列中的消息进行消费操作的过程中,由于某些原因(比如宕机等)而中断对第二消息队列的消费操作且不能及时恢复消费功能,也就是第二消息队列已经被消费了一部分,此时,可将该第二消息队列重新分配到网络内其他消费方,以使该重新分配的消费方可以根据本地存储的与第二消息队列相关的消费进度信息,接着前一个消费方对消息队列的消费进度继续对第二消息队列进行消费操作。一方面,同一网络内的每个消费方都可作为其他消费方的替补,以保证系统内的消息消费效率,另一方面,作为替补的消费方可基于本地保存的消费进度信息对消息队列进行消费操作,以有效避免消息的重复消费。
另一种情况是,未查找到第二消息队列的消费进度信息,则可确定该第二消息对列未被执行过消费操作,因此可对该第二消息队列中的消息从起始位置处开始顺序对各条消息进行消费操作。该种情况通常对应于,第二消息队列是一个从未被消费过的消息队列,基于查找操作,在确定了第二消息队列确实为从未被消费过的消息队列后,则可从该第二消息队列的起始位置顺序对各条消息进行消费操作。
当然,在具体实现时,在第二种情况下,也可以进一步在消息服务器中查找第二消息队列的消费进度信息,如果能够查找到相应的消费进度信息,则可根据该消费进度信息继续对第二消息队列中的消息进行消费操作,如果还是不能查找到相应的消费进度信息,则可进一步确定该第二消息对未被消费过,即可对该第二消息队列中的消息从起始位置处开始顺序对各条消息进行消费操作。以此,可通过以在当前消费方本地查找及在消息服务器中查找相结合的方式,对消息队列的消费进度进行双重确认,以有效避免消息的重复消费。
本实施例提供的消息处理方法,当某一消费方对当前待处理的消息队列中的消息进行消费时,该消费方可先根据在本地已存储的消费进度信息中的查找结果对第二消息队列中的消息进行消费操作(比如,继续对该消息队列中的消息进行消费操作,或者对该消息队列中的消息从起始位置处顺序对各消息进行消费操作等),从而有效避免消息的重复消费。同时,由于各消费方可将通过监听广播的方式获得各消息队列的消费进度信息进行本地存储,替代了现有通过访问消息服务器来获得消费进度信息的方式,减少了消费方与消息服务器之间的信息交互,降低了系统消耗且提高系统的可靠性。
实施例五
如图8所示,其为本发明实施例五的消息处理装置的结构示意图,可用于执行如图4所示的方法步骤,该消息处理装置可以包括:第一消费模块810及广播模块820,其中:
第一消费模块810,可用于对待处理的第一消息队列中的消息进行消费操作,并形成第一消息队列的消费进度信息。
其中,消费进度信息可包括:第一消息队列中截止当前时刻最后完成消费操作的消息对应的消费位点信息,和/或第一消息队列中截止当前时刻最后完成消费操作的消息的消息标识。
广播模块820,可用于将消费进度信息在网络中进行广播,以使网络中其他消费方对第一消息队列中消息的消费进度进行本地保存。
在具体实现时,上述装置还可包括:
发送模块,用于将消费进度信息发送至消息服务器,以使消息服务器对第一消息队列中消息的消费进度进行本地保存。
本发明实施例提供的消息处理装置,可以及时有效的将各消费方消费的消息队列所对应产生的消费进度信息发布网络中,以供其他消费方存储,从而有效避免消息的重复消费。此外,由于各消费方是通过广播的方式实现对各消息队列的消费进度信息的共享,替代了现有通过消息服务器来存储及获取消费进度信息的方式,减少了消费方与消息服务器之间的信息交互,降低了系统消耗且提高系统的可靠性。
实施例六
如图9所示,其为本发明实施例六的消息处理装置的结构示意图,可用于执行如图5所示的方法步骤,如图9所示,该消息处理装置可以包括:第一监听模块910及第一保存模块920,其中:
第一监听模块910,可用于监听网络内其他消费方广播的消费进度信息。
第一保存模块920,可用于对监听到的其他消费方的消费进度信息进行本地保存。
本实施例提供的消息处理装置,各消费方可对网络内其他消费方广播的消费进度信息进行监听获取并及时保存,以此,消费方之间共享消息队列的消费进度信息时,不需要再经过消息服务器对消费进度信息进行保存,而是由各消费方以广播的方式,在网络内直接将其消费的消息队列的消费进度信息发布出去,从而网络内其他的消费方可通过监听获取其他消费方广播的消费进度信息,以实现对消费进度信息的及时有效的保存,进而可以有效避免后续对消息消费过程中的重复消费问题。
实施例七
如图10所示,其为本发明实施例七的消息处理装置的结构示意图,可用于执行如图6所示的方法步骤,如图10所示,该消息处理装置可以包括:第一查找模块1010及第二消费模块1020,其中:
第一查找模块1010,用可于对待处理的第二消息队列中的消息进行消费操作之前,在本地已存储的消费进度信息中,查找是否存在第二消息队列的消费进度信息。
其中,消费进度信息为通过网络中其他消费方发出的广播中获得,用于标识在被消费的消息队列中消息的消费进度。
第二消费模块1020,可用于如果查找到第二消息队列的消费进度信息,则根据该消费进度信息继续对第二消息队列中的消息进行消费操作;
或者,如果未查找到第二消息队列的消费进度信息,则对第二消息队列中的消息从起始位置处顺序对各消息进行消费操作。
在具体实现时,上述装置还可包括:
监听模块,用于监听在网络中广播的消费进度信息;
保存模块,用于如果所述消费进度信息所标识的消息队列所属的消息主题,与分配给当前消费方的消息队列所属的消息主题相同,则对所述消费进度信息进行本地保存。
可选的,所述装置还可包括:
第二查找模块,用于对待处理的第二消息队列中的消费信息进行消费操作之前,在消息服务器中已存储的消费进度信息中,查找是否存在所述第二消息队列的消费进度信息;
第二消费模块1020,还可用于如果在消息服务器中查找到第二消息队列的消费进度信息,且在当前消费方本地也查找到所述第二消息队列的消费进度信息,则以二者中最新的消费进度信息继续对第二消息队列中的消息进行消费操作。
本发明实施例提供的消息处理装置,在某一消费方对当前待处理的消息队列中的消息进行消费时,可先根据在本地已存储的消费进度信息中查找是否存在该消息队列的消费进度信息,若查找到,则根据该消费进度信息继续对该消息队列中的消息进行消费操作,若未查找到,则对该消息队列中的消息从起始位置处顺序对各消息进行消费操作,从而有效避免消息的重复消费。同时,由于各消费方是通过广播的方式实现对各消息队列的消费进度信息的共享,替代了现有通过访问消息服务器来获得消费进度信息的方式,减少了消费方与消息服务器之间的信息交互,降低了系统消耗且提高系统的可靠性。
实施例八
如图11所示,其为本发明实施例八的消息处理装置的结构示意图,可用于执行如图7所示的方法步骤,如图11所示,该消息处理装置可以包括:第三查找模块1110及第三消费模块1120,其中:
第三查找模块1110,用于在本地已存储的消费进度信息中,查找第二消息队列的消费进度信息;
第三消费模块1120,用于根据第二消息队列的消费进度信息的查找结果,对第二消息队列中的消息进行消费操作。
本实施例提供的消息处理装置,当某一消费方对当前待处理的消息队列中的消息进行消费时,该消费方可先根据在本地已存储的消费进度信息中的查找结果对第二消息队列中的消息进行消费操作(比如,继续对该消息队列中的消息进行消费操作,或者对该消息队列中的消息从起始位置处顺序对各消息进行消费操作等),从而有效避免消息的重复消费。同时,由于各消费方可将通过监听广播的方式获得各消息队列的消费进度信息进行本地存储,替代了现有通过访问消息服务器来获得消费进度信息的方式,减少了消费方与消息服务器之间的信息交互,降低了系统消耗且提高系统的可靠性。
实施例九
前面描述了消息处理装置的内部功能和结构,该装置可实现为一种电子设备,如图12所示,其为本发明实施例提供的电子设备的结构示意图,具体包括:存储器121和处理器122。
存储器121,用于存储程序。
除上述程序之外,存储器121还可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
存储器121可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
处理器122,耦合至存储器121,用于执行存储器121中的程序,以用于:
对待处理的第一消息队列中的消息进行消费操作,并形成所述第一消息队列的消费进度信息;
将所述消费进度信息在网络中进行广播,以使所述网络中其他消费方对所述第一消息队列中消息的消费进度进行本地保存。
其中,所述消费进度信息可包括:所述第一消息队列中截止当前时刻最后完成消费操作的消息对应的消费位点信息,和/或所述第一消息队列中截止当前时刻最后完成消费操作的消息的消息标识。
上述的具体处理操作已经在前面实施例中进行了详细说明,在此不再赘述。
进一步,如图12所示,电子设备还可以包括:通信组件123、电源组件124、音频组件125、显示器126等其它组件。图12中仅示意性给出部分组件,并不意味着电子设备只包括图12所示组件。
通信组件123被配置为便于电子设备和其他设备之间有线或无线方式的通信。电子设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件123经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件123还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
电源组件124,为电子设备的各种组件提供电力。电源组件124可以包括电源管理系统,一个或多个电源,及其他与为电子设备生成、管理和分配电力相关联的组件。
音频组件125被配置为输出和/或输入音频信号。例如,音频组件125包括一个麦克风(MIC),当电子设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器121或经由通信组件123发送。在一些实施例中,音频组件125还包括一个扬声器,用于输出音频信号。
显示器126包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。
实施例十
前面描述了消息处理装置的内部功能和结构,该装置可实现为一种电子设备,如图13所示,其为本发明实施例提供的电子设备的结构示意图,具体包括:存储器131和处理器132。
存储器131,用于存储程序。
除上述程序之外,存储器131还可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
存储器131可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
处理器132,耦合至存储器131,用于执行存储器131中的程序,以用于:
监听网络内其他消费方广播的消费进度信息;
对监听到的其他消费方的消费进度信息进行本地保存。
上述的具体处理操作已经在前面实施例中进行了详细说明,在此不再赘述。
进一步,如图13所示,电子设备还可以包括:通信组件133、电源组件134、音频组件135、显示器136等其它组件。图13中仅示意性给出部分组件,并不意味着电子设备只包括图13所示组件。
通信组件133被配置为便于电子设备和其他设备之间有线或无线方式的通信。电子设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件133经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件133还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
电源组件134,为电子设备的各种组件提供电力。电源组件134可以包括电源管理系统,一个或多个电源,及其他与为电子设备生成、管理和分配电力相关联的组件。
音频组件135被配置为输出和/或输入音频信号。例如,音频组件135包括一个麦克风(MIC),当电子设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器131或经由通信组件133发送。在一些实施例中,音频组件135还包括一个扬声器,用于输出音频信号。
显示器136包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。
实施例十一
前面描述了消息处理装置的内部功能和结构,该装置可实现为一种电子设备,如图14所示,其为本发明实施例提供的电子设备的结构示意图,具体包括:存储器141和处理器142。
存储器141,用于存储程序。
除上述程序之外,存储器141还可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
存储器141可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
处理器142,耦合至存储器141,用于执行存储器141中的程序,以用于:
对待处理的第二消息队列中的消息进行消费操作之前,在本地已存储的消费进度信息中,查找是否存在所述第二消息队列的消费进度信息,其中,所述消费进度信息为通过网络中其他消费方发出的广播中获得,用于标识在被消费的消息队列中消息的消费进度;
如果查找到所述第二消息队列的消费进度信息,则根据该消费进度信息继续对所述第二消息队列中的消息进行消费操作;或者,
如果未查找到所述第二消息队列的消费进度信息,则对所述第二消息队列中的消息从起始位置处顺序对各消息进行消费操作。
上述的具体处理操作已经在前面实施例中进行了详细说明,在此不再赘述。
进一步,如图14所示,电子设备还可以包括:通信组件143、电源组件144、音频组件145、显示器146等其它组件。图14中仅示意性给出部分组件,并不意味着电子设备只包括图14所示组件。
通信组件143被配置为便于电子设备和其他设备之间有线或无线方式的通信。电子设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件143经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件143还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
电源组件144,为电子设备的各种组件提供电力。电源组件144可以包括电源管理系统,一个或多个电源,及其他与为电子设备生成、管理和分配电力相关联的组件。
音频组件145被配置为输出和/或输入音频信号。例如,音频组件145包括一个麦克风(MIC),当电子设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器141或经由通信组件143发送。在一些实施例中,音频组件145还包括一个扬声器,用于输出音频信号。
显示器146包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。
实施例十二
前面描述了消息处理装置的内部功能和结构,该装置可实现为一种电子设备,如图15所示,其为本发明实施例提供的电子设备的结构示意图,具体包括:存储器151和处理器152。
存储器151,用于存储程序。
除上述程序之外,存储器151还可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
存储器151可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
处理器152,耦合至存储器151,用于执行存储器151中的程序,以用于:
在本地已存储的消费进度信息中,查找第二消息队列的消费进度信息;
根据第二消息队列的消费进度信息的查找结果,对第二消息队列中的消息进行消费操作。
上述的具体处理操作已经在前面实施例中进行了详细说明,在此不再赘述。
进一步,如图15所示,电子设备还可以包括:通信组件153、电源组件154、音频组件155、显示器156等其它组件。图15中仅示意性给出部分组件,并不意味着电子设备只包括图15所示组件。
通信组件153被配置为便于电子设备和其他设备之间有线或无线方式的通信。电子设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件153经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件153还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
电源组件154,为电子设备的各种组件提供电力。电源组件154可以包括电源管理系统,一个或多个电源,及其他与为电子设备生成、管理和分配电力相关联的组件。
音频组件155被配置为输出和/或输入音频信号。例如,音频组件155包括一个麦克风(MIC),当电子设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器151或经由通信组件153发送。在一些实施例中,音频组件155还包括一个扬声器,用于输出音频信号。
显示器156包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (20)
1.一种消息处理方法,其特征在于,包括:
对待处理的第一消息队列中的消息进行消费操作,并形成所述第一消息队列的消费进度信息;
将所述消费进度信息在网络中进行广播,以使所述网络中其他消费方对所述第一消息队列中消息的消费进度进行本地保存。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述消费进度信息发送至消息服务器,以使所述消息服务器对所述第一消息队列中消息的消费进度进行保存。
3.根据权利要求1或2所述的方法,其特征在于,所述消费进度信息包括:
所述第一消息队列中截止当前时刻最后完成消费操作的消息对应的消费位点信息,
和/或
所述第一消息队列中截止当前时刻最后完成消费操作的消息的消息标识。
4.一种消费进度信息处理方法,其特征在于,所述消费进度信息处理方法由消费方执行,并且包括:
监听网络内其他消费方广播的消费进度信息;
对监听到的其他消费方的消费进度信息进行本地保存。
5.一种消息处理方法,其特征在于,包括:
对待处理的第二消息队列中的消息进行消费操作之前,在本地已存储的消费进度信息中,查找是否存在所述第二消息队列的消费进度信息,其中,所述消费进度信息为通过网络中其他消费方发出的广播中获得,用于标识在被消费的消息队列中消息的消费进度;
如果查找到所述第二消息队列的消费进度信息,则根据该消费进度信息继续对所述第二消息队列中的消息进行消费操作;或者,
如果未查找到所述第二消息队列的消费进度信息,则对所述第二消息队列中的消息从起始位置处开始顺序对各消息进行消费操作。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
监听在网络中广播的消费进度信息;
如果所述消费进度信息所标识的消息队列所属的消息主题,与分配给当前消费方的消息队列所属的消息主题相同,则对所述消费进度信息进行本地保存。
7.根据权利要求5所述的方法,其特征在于,所述方法还包括:
对待处理的第二消息队列中的消息进行消费操作之前,在消息服务器中已存储的消费进度信息中,查找是否存在所述第二消息队列的消费进度信息;
如果在所述消息服务器中查找到所述第二消息队列的消费进度信息,且在当前消费方本地也查找到所述第二消息队列的消费进度信息,则以二者中最新的消费进度信息继续对所述第二消息队列中的消息进行消费操作。
8.一种消费进度信息处理方法,其特征在于,所述消费进度信息处理方法由消费方执行,并且包括:
对待处理的第二消息队列中的消息进行消费操作之前,在本地已存储的消费进度信息中,查找第二消息队列的消费进度信息;
根据第二消息队列的消费进度信息的查找结果,对第二消息队列中的消息进行消费操作。
9.一种消息处理装置,其特征在于,包括:
第一消费模块,用于对待处理的第一消息队列中的消息进行消费操作,并形成所述第一消息队列的消费进度信息;
广播模块,用于将所述消费进度信息在网络中进行广播,以使所述网络中其他消费方对所述第一消息队列中消息的消费进度进行本地保存。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
发送模块,用于将所述消费进度信息发送至消息服务器,以使所述消息服务器对所述第一消息队列中消息的消费进度进行保存。
11.根据权利要求9或10所述的装置,其特征在于,所述消费进度信息包括:
所述第一消息队列中截止当前时刻最后完成消费操作的消息对应的消费位点信息,
和/或
所述第一消息队列中截止当前时刻最后完成消费操作的消息的消息标识。
12.一种消费进度信息处理装置,其特征在于,所述消费进度信息处理方法由消费方执行,并且包括:
第一监听模块,用于监听其他消费方在网络中广播的消费进度信息;
第一保存模块,用于对监听到的其他消费方的消费进度信息进行本地保存。
13.一种消息处理装置,其特征在于,包括:
第一查找模块,用于对待处理的第二消息队列中的消息进行消费操作之前,在本地已存储的消费进度信息中,查找是否存在所述第二消息队列的消费进度信息,其中,所述消费进度信息为通过网络中其他消费方发出的广播中获得,用于标识在被消费的消息队列中消息的消费进度;
第二消费模块,用于如果查找到所述第二消息队列的消费进度信息,则根据该消费进度信息继续对所述第二消息队列中的消息进行消费操作;
或者,
如果未查找到所述第二消息队列的消费进度信息,则对所述第二消息队列中的消息从起始位置处顺序对各消息进行消费操作。
14.根据权利要求13所述的装置,其特征在于,所述装置还包括:
第二监听模块,用于监听在网络中广播的消费进度信息;
第二保存模块,用于如果所述消费进度信息所标识的消息队列所属的消息主题,与分配给当前消费方的消息队列所属的消息主题相同,则对所述消费进度信息进行本地保存。
15.根据权利要求13所述的装置,其特征在于,所述装置还包括:
第二查找模块,用于对待处理的第二消息队列中的消费信息进行消费操作之前,在消息服务器中已存储的消费进度信息中,查找是否存在所述第二消息队列的消费进度信息;
所述第二消费模块,还用于如果在所述消息服务器中查找到所述第二消息队列的消费进度信息,且在当前消费方本地也查找到所述第二消息队列的消费进度信息,则以二者中最新的消费进度信息继续对所述第二消息队列中的消息进行消费操作。
16.一种消息处理装置,其特征在于,包括:
第三查找模块,用于对待处理的第二消息队列中的消息进行消费操作之前,在本地已存储的消费进度信息中,查找第二消息队列的消费进度信息;
第三消费模块,用于根据第二消息队列的消费进度信息的查找结果,对第二消息队列中的消息进行消费操作。
17.一种电子设备,其特征在于,包括:
存储器,用于存储程序;
处理器,耦合至所述存储器,用于执行所述程序,以用于:
对待处理的第一消息队列中的消息进行消费操作,并形成所述第一消息队列的消费进度信息;
将所述消费进度信息在网络中进行广播,以使所述网络中其他消费方对所述第一消息队列中消息的消费进度进行本地保存。
18.一种电子设备,其特征在于,包括:
存储器,用于存储程序;
处理器,耦合至所述存储器,用于执行所述程序,以用于:
由消费方监听网络内其他消费方广播的消费进度信息;
由消费方对监听到的其他消费方的消费进度信息进行本地保存。
19.一种电子设备,其特征在于,包括:
存储器,用于存储程序;
处理器,耦合至所述存储器,用于执行所述程序,以用于:
对待处理的第二消息队列中的消息进行消费操作之前,在本地已存储的消费进度信息中,查找是否存在所述第二消息队列的消费进度信息,其中,所述消费进度信息为通过网络中其他消费方发出的广播中获得,用于标识在被消费的消息队列中消息的消费进度;
如果查找到所述第二消息队列的消费进度信息,则根据该消费进度信息继续对所述第二消息队列中的消息进行消费操作;
或者,
如果未查找到所述第二消息队列的消费进度信息,则对所述第二消息队列中的消息从起始位置处顺序对各消息进行消费操作。
20.一种电子设备,其特征在于,包括:
存储器,用于存储程序;
处理器,耦合至所述存储器,用于执行所述程序,以用于:
在本地已存储的消费进度信息中,查找第二消息队列的消费进度信息;
根据第二消息队列的消费进度信息的查找结果,对第二消息队列中的消息进行消费操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710703528.9A CN109412821B (zh) | 2017-08-16 | 2017-08-16 | 消息处理方法和装置以及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710703528.9A CN109412821B (zh) | 2017-08-16 | 2017-08-16 | 消息处理方法和装置以及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109412821A CN109412821A (zh) | 2019-03-01 |
CN109412821B true CN109412821B (zh) | 2021-09-10 |
Family
ID=65454639
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710703528.9A Active CN109412821B (zh) | 2017-08-16 | 2017-08-16 | 消息处理方法和装置以及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109412821B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111984429A (zh) * | 2019-05-21 | 2020-11-24 | 阿里巴巴集团控股有限公司 | 基于消息队列的通信方法及装置 |
CN110708312A (zh) * | 2019-09-30 | 2020-01-17 | 交控科技股份有限公司 | 一种ats中消息传递的方法、系统和ats |
CN114500416A (zh) * | 2021-12-14 | 2022-05-13 | 阿里巴巴(中国)有限公司 | 用于最多一次消息投递的投递方法和投递系统 |
CN115051963B (zh) * | 2022-06-06 | 2024-01-26 | 阿里巴巴(中国)有限公司 | 消息处理方法及装置、消息队列系统及电子设备 |
CN116701008A (zh) * | 2022-09-23 | 2023-09-05 | 荣耀终端有限公司 | 广播方法和设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1770725A (zh) * | 2004-11-05 | 2006-05-10 | 索尼株式会社 | 异步网络系统、信息处理设备、数据发送及接收管理方法 |
CN101861568A (zh) * | 2007-09-17 | 2010-10-13 | 通用电气公司 | 用于交换数据的方法和系统 |
CN104486107A (zh) * | 2014-12-05 | 2015-04-01 | 曙光信息产业(北京)有限公司 | 一种日志采集装置及方法 |
CN104731859A (zh) * | 2015-02-02 | 2015-06-24 | 厦门市美亚柏科信息股份有限公司 | 数据处理方法及装置 |
CN105338061A (zh) * | 2015-09-29 | 2016-02-17 | 华中科技大学 | 一种轻量级消息中间件的实现方法与系统 |
CN106204000A (zh) * | 2016-07-05 | 2016-12-07 | 康存乐付保数据科技(上海)有限公司 | 一种服务消费支付信息处理方法及系统 |
CN106375200A (zh) * | 2016-11-08 | 2017-02-01 | 上海找钢网信息科技股份有限公司 | 消息系统及消息处理方法 |
CN106657349A (zh) * | 2016-12-29 | 2017-05-10 | 上海理想信息产业(集团)有限公司 | 一种消息订阅处理装置、系统及方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2898959A1 (en) * | 2013-01-24 | 2014-07-31 | Roger Andre Eilertsen | A traffic surveillance and guidance system |
US20150006296A1 (en) * | 2013-06-26 | 2015-01-01 | Qualcomm Innovation Center, Inc. | NOTIFICATION DISMISSAL IN AN INTERNET OF THINGS (IoT) ENVIRONMENT |
US9990383B2 (en) * | 2015-05-01 | 2018-06-05 | Ebay Inc. | Constructing a data adaptor in an enterprise server data ingestion environment |
-
2017
- 2017-08-16 CN CN201710703528.9A patent/CN109412821B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1770725A (zh) * | 2004-11-05 | 2006-05-10 | 索尼株式会社 | 异步网络系统、信息处理设备、数据发送及接收管理方法 |
CN101861568A (zh) * | 2007-09-17 | 2010-10-13 | 通用电气公司 | 用于交换数据的方法和系统 |
CN104486107A (zh) * | 2014-12-05 | 2015-04-01 | 曙光信息产业(北京)有限公司 | 一种日志采集装置及方法 |
CN104731859A (zh) * | 2015-02-02 | 2015-06-24 | 厦门市美亚柏科信息股份有限公司 | 数据处理方法及装置 |
CN105338061A (zh) * | 2015-09-29 | 2016-02-17 | 华中科技大学 | 一种轻量级消息中间件的实现方法与系统 |
CN106204000A (zh) * | 2016-07-05 | 2016-12-07 | 康存乐付保数据科技(上海)有限公司 | 一种服务消费支付信息处理方法及系统 |
CN106375200A (zh) * | 2016-11-08 | 2017-02-01 | 上海找钢网信息科技股份有限公司 | 消息系统及消息处理方法 |
CN106657349A (zh) * | 2016-12-29 | 2017-05-10 | 上海理想信息产业(集团)有限公司 | 一种消息订阅处理装置、系统及方法 |
Non-Patent Citations (2)
Title |
---|
Kafka and its Using in High-throughput and Reliable Message Distribution;WANG Zhenghe 等;《2015 8th International Conference on Intelligent Networks and Intelligent Systems》;20151231;第117-120页 * |
基于分布式的高可用消息中间件的设计与实现;陈劼;《硕士学位论文》;20170228;第1-61页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109412821A (zh) | 2019-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109412821B (zh) | 消息处理方法和装置以及电子设备 | |
US11223659B2 (en) | Broadcast notifications using social networking systems | |
CN108900855B (zh) | 直播内容录制方法、装置、计算机可读存储介质及服务器 | |
US9402172B2 (en) | Message combination method and device | |
US20240012462A1 (en) | Managing content based on battery usage in displaying the content on devices | |
CN108337127B (zh) | 应用性能监控方法、系统、终端及计算机可读存储介质 | |
CN110837407B (zh) | 无服务器云服务系统及其资源管理方法以及电子设备 | |
JP2017539103A (ja) | 複数の装置間においてメンバー利得を同期させるための方法、装置、サーバおよびシステム | |
CN109446204B (zh) | 一种即时通信的数据存储方法、装置、电子设备和介质 | |
KR20150053932A (ko) | 통신 네트워크 내의 모바일 디바이스로의 애플리케이션 데이터의 전송 제어를 위한 장치 및 방법 | |
US11758087B2 (en) | Multimedia conference data processing method and apparatus, and electronic device | |
CN108595483B (zh) | 数据处理方法及相关装置 | |
US8417222B1 (en) | Systems and methods for delivering messages based on a device radio status | |
CN105376134B (zh) | 显示通信消息的方法及装置 | |
CN106921733B (zh) | 集群通知的推送方法、装置及电子设备 | |
CN112311818B (zh) | 一种小程序数据包的下载方法、装置、终端及存储介质 | |
CN111381948A (zh) | 分布式计算任务处理方法、装备及电子设备 | |
CN116303303A (zh) | 批量数据处理方法、装置、设备及介质 | |
CN106933449B (zh) | 图标处理方法和装置 | |
CN112395103B (zh) | 延迟消息发送方法、装置及存储介质 | |
CN111104575B (zh) | 数据抓取方法、装置及电子设备 | |
CN105681723B (zh) | 音视频通话方法及装置 | |
CN113220342A (zh) | 中心化配置方法、装置、电子设备及存储介质 | |
CN109428919B (zh) | 网页处理请求的处理方法和装置以及电子设备 | |
CN113778367A (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 |