CN113535420A - 一种消息处理方法和装置 - Google Patents
一种消息处理方法和装置 Download PDFInfo
- Publication number
- CN113535420A CN113535420A CN202010312442.5A CN202010312442A CN113535420A CN 113535420 A CN113535420 A CN 113535420A CN 202010312442 A CN202010312442 A CN 202010312442A CN 113535420 A CN113535420 A CN 113535420A
- Authority
- CN
- China
- Prior art keywords
- message
- processing
- storage device
- pulling
- processing method
- 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
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 44
- 238000012545 processing Methods 0.000 claims abstract description 209
- 238000000034 method Methods 0.000 claims abstract description 17
- 238000004590 computer program Methods 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 16
- 238000004891 communication Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 4
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
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)
Abstract
本发明公开了一种消息处理方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:拉取消息队列中的消息;将消息存储至存储设备,并构建消息存储表,以记录消息的消息信息;根据定制方案和消息信息从存储设备中拉取相应消息进行处理。该实施方式将消息的拉取逻辑和处理逻辑解耦,提高了消息处理效率,降低了处理设备的负载率,降低了消息队列中的消息积压量,同时实现了对消息的定制处理。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种消息处理方法和装置。
背景技术
随着计算机业务的飞速发展,越来越多的业务消息需要消费处理。现有技术中主要是通过push(接收)或pull(拉取)方式获取消息,然后直接进行消费。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
无论是push方式还是pull方式,消息的接收/拉取逻辑和消费逻辑之间高度耦合,当消息量较大时,处理设备负载较大,消息处理效率低,消息队列中的消息积压量大,消息处理的失败率和重复率较大,且无法实现对消息的定制消费处理。
发明内容
有鉴于此,本发明实施例提供一种消息处理方法和装置,能够将消息的接收逻辑和处理逻辑解耦,提高消息处理效率,降低处理设备的负载率,降低消息队列中的消息积压量,同时实现了对消息的定制处理。
为实现上述目的,根据本发明实施例的第一方面,提供了一种消息处理方法,包括:
拉取消息队列中的消息;
将消息存储至存储设备,并构建消息存储表,以记录消息的消息信息;
根据定制方案和消息信息从存储设备中拉取相应消息进行处理。
进一步地,消息信息包括下列中的一种或多种:消息编号、消息状态、消息优先级、消息类型和消息日期。
进一步地,在将消息存储至存储设备的步骤之前,消息处理方法还包括:将消息的消息状态设置为未处理。
进一步地,定制方案包括:根据消息优先级、消息类型或消息日期进行处理。
进一步地,根据定制方案和消息信息从存储设备中拉取相应消息进行处理的步骤包括:根据定制方案、每次处理数量以及消息信息从存储设备中拉取相应消息进行处理。
进一步地,在根据定制方案和消息信息从存储设备中拉取相应消息进行处理的步骤之后,消息处理方法还包括:根据处理结果对相应消息的消息状态进行更新。
进一步地,处理结果包括处理完成和处理失败,在根据处理结果对相应的消息的状态进行更新的步骤之前,消息处理方法还包括:在任一消息处理失败的次数达到失败阈值的情况下,确定该消息对应的处理结果为处理失败。
进一步地,在处理结果为处理失败的情况下,消息处理方法还包括:生成警示信息,警示信息用于记录处理结果为处理失败的消息。
进一步地,消息处理方法还包括:根据时间阈值删除存储设备中消息状态为处理完成的消息。
根据本发明实施例的第二方面,提供了一种消息处理装置,包括:
消息拉取模块,用于拉取消息队列中的消息;
存储模块,用于将消息存储至存储设备,并构建消息存储表,以记录消息的消息信息;
处理模块,用于根据定制方案和消息信息从存储设备中拉取相应消息进行处理。
根据本发明实施例的第三方面,提供了一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上述任一种消息处理方法。
根据本发明实施例的第四方面,提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上述任一种消息处理方法。
上述发明中的一个实施例具有如下优点或有益效果:因为采用拉取消息队列中的消息;将消息存储至存储设备,并构建消息存储表,以记录消息的消息信息;根据定制方案和消息信息从存储设备中拉取相应消息进行处理的技术手段,所以克服了现有的消息处理方法中消息的接收逻辑和处理逻辑之间高度耦合,导致处理设备负载较大,消息处理效率低,消息队列中的消息积压量大,消息处理的失败率和重复率较大,且无法实现对消息的定制处理的技术问题,进而达到将消息的接收逻辑和处理逻辑解耦,提高消息处理效率,降低处理设备的负载率,降低消息队列中的消息积压量,同时实现了对消息的定制处理的技术效果。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明第一实施例提供的消息处理方法的主要流程的示意图;
图2a是根据本发明第二实施例提供的消息处理方法的主要流程的示意图;
图2b是图2a所示方法中定制方案为根据消息优先级进行消费处理的主要流程的示意图;
图2c是图2a所示方法中定制方案为根据消息类型进行消费处理的主要流程的示意图;
图2d是图2a所示方法中定制方案为根据消息日期进行消费处理的主要流程的示意图;
图3是根据本发明实施例提供的消息处理装置的主要模块的示意图;
图4是本发明实施例可以应用于其中的示例性***架构图;
图5是适于用来实现本发明实施例的终端设备或服务器的计算机***的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本发明第一实施例提供的消息处理方法的主要流程的示意图;如图1所示,本发明实施例提供的消息处理方法主要包括:
步骤S101,拉取消息队列中的消息。
具体地,根据本发明实施例,可根据每次拉取数量及拉取周期从消息队列中拉取消息,降低消息队列中消息积压量。
步骤S102,将消息存储至存储设备,并构建消息存储表,以记录消息的消息信息。
将上述拉取得到的消息直接存储至存储设备中而不是直接进行处理,实现拉取逻辑和处理逻辑的解耦,利用后续通过定制方案对消息进行定制处理。
具体地,根据本发明实施例,上述消息信息包括下列中的一种或多种:消息编号、消息状态、消息优先级、消息类型和消息日期。
根据本发明实施例的一具体实施方式,可以在存储设备中构建消息存储表,用于记录存储至存储设备的消息对应的消息信息,以利于后续根据消息存储表中记录的消息信息在存储设备中拉取与定制方案相对应的消息。
进一步地,根据本发明实施例,在将消息存储至存储设备的步骤之前,消息处理方法还包括:将消息的消息状态设置为未处理。
为了便于后续根据消息信息从存储设备中拉取消息进行定制处理,将从消息队列中拉取的消息对应的消息状态全部设置为未处理。
步骤S103,根据定制方案和消息信息从存储设备中拉取相应消息进行处理。
具体地,根据本发明实施例,上述定制方案包括:根据消息优先级、消息类型或消息日期进行处理。
进一步地,根据本发明实施例,上述根据定制方案和消息信息从存储设备中拉取相应消息进行处理的步骤包括:根据定制方案、每次处理数量以及消息信息从存储设备中拉取相应消息进行处理。
通过上述设置,能够针对不同的应用场景配置不同的定制方案,在提高处理效率的同时,实现对消息的定制处理。
根据本发明实施例,上述在根据定制方案和消息信息从存储设备中拉取相应消息进行处理的步骤之后,消息处理方法还包括:根据处理结果对相应消息的消息状态进行更新。
由于经过处理后的消息还会返回至存储设备中,因此根据处理结果对相应的消息状态进行更新,避免了重复处理的发生。
具体地,根据本发明实施例,上述处理结果包括处理完成和处理失败,在根据处理结果对相应的消息的状态进行更新的步骤之前,消息处理方法还包括:在任一消息处理失败的次数达到失败阈值的情况下,确定该消息对应的处理结果为处理失败。
通过上述设置,对于任一消息进行处理时,仅有失败的次数达到失败阈值的情况下,才确认该消息对应的处理结果为处理失败。通过上述设置提高了消息处理的成功率。需要说明的是,失败阈值的数值可根据实际情况进行设定。
根据本发明实施例,在处理结果为处理失败的情况下,消息处理方法还包括:生成警示信息,警示信息用于记录处理结果为处理失败的消息。
具体地,根据本发明实施例,对于处理失败的消息,可以通过生成并发送警示邮件,警示邮件中记录了处理结果为处理失败的消息。具体地,根据实际情况,警示邮件中还可以记录处理失败的原因。
进一步地,根据本发明实施例,上述消息处理方法还包括:根据时间阈值删除存储设备中消息状态为处理完成的消息。
由于处理完成后的消息还会返回至存储设备中,因此,存储设备和上述消息存储表中同时存在未处理的消息、处理完成的消息和处理失败的消息。为了提高消息存储表的中操作效率,降低存储设备的存储压力,根据时间阈值对存储设备中消息状态为处理完成的消息进行定期删除。具体地,根据本发明实施例的一具体实施方式,可以将N(N的具体数值可根据实际情况进行设定)日前已处理成功的消息进行删除处理。
根据本发明实施例的技术方案,因为采用拉取消息队列中的消息;将消息存储至存储设备,并构建消息存储表,以记录消息的消息信息;根据定制方案和消息信息从存储设备中拉取相应消息进行处理的技术手段,所以克服了现有的消息处理方法中消息的接收逻辑和处理逻辑之间高度耦合,导致处理设备负载较大,消息处理效率低,消息队列中的消息积压量大,消息处理的失败率和重复率较大,且无法实现对消息的定制处理的技术问题,进而达到将消息的接收逻辑和处理逻辑解耦,提高消息处理效率,降低处理设备的负载率,降低消息队列中的消息积压量,同时实现了对消息的定制处理的技术效果。
图2a是根据本发明第二实施例提供的消息处理方法的主要流程的示意图;本发明实施例的一应用场景为消息消费,即在消息队列的订阅消息处理中,使用consumer(消费者)作为消息接收方对接收到的消息进行相应的业务消息处理(即消费),如图2a所示,本发明实施例提供的消息处理方法主要包括:
步骤S201,拉取消息队列中的消息。
具体地,根据本发明实施例,可根据每次拉取数量及拉取周期从消息队列中拉取消息,降低消息队列中消息积压量。
步骤S202,将消息的消息状态设置为未处理。
为了便于后续根据消息信息从存储设备中拉取消息进行定制消费,将从消息队列中拉取的消息对应的消息状态全部设置为未处理。
步骤S203,将消息存储至存储设备,并构建消息存储表,以记录消息的消息信息。
将上述拉取得到的消息直接存储至存储设备中而不是直接进行消费,实现拉取逻辑和消费逻辑的解耦,利用后续通过定制方案对消息进行定制消费。具体地,根据本发明实施例,可将从消息队列中拉取的消息存储至MySQL(一个关系型数据库管理***)数据库中,同时在该数据中构建消息存储表,用于记录消息对应的消息信息。
具体地,根据本发明实施例,上述消息信息包括下列中的一种或多种:消息编号、消息状态、消息优先级、消息类型和消息日期。
根据本发明实施例的一具体实施方式,可以在存储设备中构建消息存储表,用于记录存储至存储设备的消息对应的消息信息,以利于后续根据消息存储表中记录的消息信息在存储设备中拉取与定制方案相对应的消息。
根据本发明实施例,上述消息存储表如下表所示:
其中,id表示消息编号,id是上述消息存储表的主键,可根据id唯一的特性避免重复消费的情况;status表示消息状态,包括未处理、处理中、处理完成和处理失败;text表示消息内容,消息内容包括至少一个参数(param),参数表示消息的参数或属性,可针对参数param1设置消息的优先级;topic表示消息类型;crate time和update time表示消息日期。
步骤S204,根据定制方案、每次消费数量以及消息信息从存储设备中拉取相应消息进行消费。
通过上述设置,能够针对不同的应用场景配置不同的定制方案,在提高消费效率的同时,实现对消息的定制处理。
可根据实际情况定制不同的消费方案,消费逻辑根据定制方案指示,从存储设备中拉取相应的未处理状态的消息进行定制消费处理。
具体地,根据本发明实施例,上述定制方案包括:根据消息优先级、消息类型或消息日期进行消费。
根据本发明实施例,在定制方案为根据消息优先级进行消费时,如图2b所示,上述根据定制方案、每次消费数量以及消息信息从存储设备中拉取相应消息进行消费包括:
首先,创建一个任务集合,然后根据消息优先级,从存储设备中消息状态为未处理的消息中获取参数param1=1的消息置入任务集合中,其中参数param1=1的消息数量共有n条。
消息优先级是根据消息中的参数param1对应的数值来确定,param1取值1到x,param1的值越小代表优先级越高。
然后,判断param1=1的消息数量n是否大于或等于m,其中m为每次消费数量。若是,即当前任务集合中的消息数量已经达到或超过每次消费数量,直接针对任务集合中的消息进行消费。
若不是,即任务集合中的消息数量不满足每次消费数量,此时在中粗才能设备中消息状态为未处理的消息中获取参数param1=2的消息置入任务集合中,其中参数param1=2的消息数量共有l条。判断l是否大于或等于n-m,若是则直接对任务集合中的消息按照消息优先级进行消费;若不是,则继续拉取下一优先级的消息至任务集合中,直至任务集合中的消息数量大于或等于每次消费数量。
最后,消费结束后根据消费结果对任务集合中的消息状态进行更新后,将任务集合中的消息返回至存储设备中。
根据本发明实施例,在定制方案为根据消息类型进行消费时,如图2c所示,上述根据定制方案、每次消费数量以及消息信息从存储设备中拉取相应消息进行消费包括:
首先,从存储设备中获取m条消息状态为未处理的消息。此时,还可以将该m条信息的消息状态更新为处理中。其中m为每次消费数量。
然后,依次判断每条消息的消息类型,若是定制方案指示的类型,则直接进行消费处理,并根据消费结果更新消息状态;若不是定制方案指示的消息类型,则直接将该消息的消息状态更新为已处理后返回至存储设备,
最后,消费结束后根据消费结果对任务集合中的消息状态进行更新后,将任务集合中的消息返回至存储设备中。
通过上述设置,能够有效避免非定制方案中指示消息类型的消息对后续消费进行干扰,提高消息处理效率。
根据本发明实施例,在定制方案为根据消息日期进行消费时,如图2d所示,上述根据定制方案、每次消费数量以及消息信息从存储设备中拉取相应消息进行消费包括:
首先,根据存储设置中各消息状态为未处理的消息对应的消息日期,获取m条定制方案指示日期的消息。
然后将上述获取得到的消息对应的消息状态更新为处理中,并对该m条消息进行消费处理。
最后消费结束后根据消费结果对任务集合中的消息状态进行更新后,将任务集合中的消息返回至存储设备中。
步骤S205,在任一消息处理失败的次数达到失败阈值的情况下,确定该消息对应的消费结果为处理失败。
通过上述设置,对于任一消息进行消费时,仅有失败的次数达到失败阈值的情况下,才确认该消息对应的消费结果为处理失败。通过上述设置提高了消息处理的成功率。需要说明的是,失败阈值的数值可根据实际情况进行设定。
步骤S206,生成警示信息,警示信息用于记录消费结果为处理失败的消息。
具体地,根据本发明实施例,对于处理失败的消息,可以通过生成并发送警示邮件,警示邮件中记录了消费结果为处理失败的消息。具体地,根据实际情况,警示邮件中还可以记录处理失败的原因。
步骤S207,根据消费结果对相应消息的消息状态进行更新。
由于经过消费处理后的消息还会返回至存储设备中,因此根据消费结果对相应的消息状态进行更新,避免了重复消费的发生。
步骤S208,根据时间阈值删除存储设备中消息状态为处理完成的消息。
由于消费处理完成后的消息还会返回至存储设备中,因此,存储设备和上述消息存储表中同时存在未处理的消息、处理完成的消息和处理失败的消息。为了提高消息存储表的中操作效率,降低存储设备的存储压力,根据时间阈值对存储设备中消息状态为处理完成的消息进行定期删除。具体地,根据本发明实施例的一具体实施方式,可以将N(N的具体数值可根据实际情况进行设定)日前已消费处理成功的消息进行删除处理。
根据本发明实施例的技术方案,因为采用拉取消息队列中的消息;将消息存储至存储设备,并构建消息存储表,以记录消息的消息信息;根据定制方案和消息信息从存储设备中拉取相应消息进行消费的技术手段,所以克服了现有的消息处理方法中消息的接收逻辑和消费逻辑之间高度耦合,导致处理设备负载较大,消息处理效率低,消息队列中的消息积压量大,消息处理的失败率和重复率较大,且无法实现对消息的定制处理的技术问题,进而达到将消息的接收逻辑和消费逻辑解耦,提高消息处理效率,降低处理设备的负载率,降低消息队列中的消息积压量,同时实现了对消息的定制处理的技术效果。
图3是根据本发明实施例提供的消息处理装置的主要模块的示意图;如图3所示,本发明实施例提供的消息处理装置300主要包括:
消息拉取模块301,用于拉取消息队列中的消息。
具体地,根据本发明实施例,可根据每次拉取数量及拉取周期从消息队列中拉取消息,降低消息队列中消息积压量。
存储模块302,用于将消息存储至存储设备,并构建消息存储表,以记录消息的消息信息。
将上述拉取得到的消息直接存储至存储设备中而不是直接进行处理,实现拉取逻辑和处理逻辑的解耦,利用后续通过定制方案对消息进行定制处理。
具体地,根据本发明实施例,上述消息信息包括下列中的一种或多种:消息编号、消息状态、消息优先级、消息类型和消息日期。
根据本发明实施例的一具体实施方式,可以在存储设备中构建消息存储表,用于记录存储至存储设备的消息对应的消息信息,以利于后续根据消息存储表中记录的消息信息在存储设备中拉取与定制方案相对应的消息。
进一步地,根据本发明实施例,上述消息处理装置300还包括消息状态设置模块,在将消息存储至存储设备的步骤之前,消息状态设置模块用于:将消息的消息状态设置为未处理。
为了便于后续根据消息信息从存储设备中拉取消息进行定制处理,将从消息队列中拉取的消息对应的消息状态全部设置为未处理。
处理模块303,用于根据定制方案和消息信息从存储设备中拉取相应消息进行处理。
具体地,根据本发明实施例,上述定制方案包括:根据消息优先级、消息类型或消息日期进行处理。
进一步地,根据本发明实施例,上述处理模块303用于:根据定制方案、每次处理数量以及消息信息从存储设备中拉取相应消息进行处理。
通过上述设置,能够针对不同的应用场景配置不同的定制方案,在提高处理效率的同时,实现对消息的定制处理。
根据本发明实施例,上述消息处理装置300还包括状态更新模块,在根据定制方案和消息信息从存储设备中拉取相应消息进行处理的步骤之后,状态更新模块用于:根据处理结果对相应消息的消息状态进行更新。
由于经过处理后的消息还会返回至存储设备中,因此根据处理结果对相应的消息状态进行更新,避免了重复处理的发生。
具体地,根据本发明实施例,上述处理结果包括处理完成和处理失败,上述消息处理装置300还包括处理失败确定模块,在根据处理结果对相应的消息的状态进行更新的步骤之前,处理失败确定模块用于:在任一消息处理失败的次数达到失败阈值的情况下,确定该消息对应的处理结果为处理失败。
通过上述设置,对于任一消息进行处理时,仅有失败的次数达到失败阈值的情况下,才确认该消息对应的处理结果为处理失败。通过上述设置提高了消息处理的成功率。需要说明的是,失败阈值的数值可根据实际情况进行设定。
根据本发明实施例,上述消息处理装置300还包括警示信息生成模块,在处理结果为处理失败的情况下,警示信息生成模块用于:生成警示信息,警示信息用于记录处理结果为处理失败的消息。
具体地,根据本发明实施例,对于处理失败的消息,可以通过生成并发送警示邮件,警示邮件中记录了处理结果为处理失败的消息。具体地,根据实际情况,警示邮件中还可以记录处理失败的原因。
进一步地,根据本发明实施例,上述消息处理装置300还包括删除模块,用于根据时间阈值删除存储设备中消息状态为处理完成的消息。
由于处理完成后的消息还会返回至存储设备中,因此,存储设备和上述消息存储表中同时存在未处理的消息、处理完成的消息和处理失败的消息。为了提高消息存储表的中操作效率,降低存储设备的存储压力,根据时间阈值对存储设备中消息状态为处理完成的消息进行定期删除。具体地,根据本发明实施例的一具体实施方式,可以将N(N的具体数值可根据实际情况进行设定)日前已处理成功的消息进行删除处理。
根据本发明实施例的技术方案,因为采用拉取消息队列中的消息;将消息存储至存储设备,并构建消息存储表,以记录消息的消息信息;根据定制方案和消息信息从存储设备中拉取相应消息进行处理的技术手段,所以克服了现有的消息处理方法中消息的接收逻辑和处理逻辑之间高度耦合,导致处理设备负载较大,消息处理效率低,消息队列中的消息积压量大,消息处理的失败率和重复率较大,且无法实现对消息的定制处理的技术问题,进而达到将消息的接收逻辑和处理逻辑解耦,提高消息处理效率,降低处理设备的负载率,降低消息队列中的消息积压量,同时实现了对消息的定制处理的技术效果。
图4示出了可以应用本发明实施例的消息处理方法或消息处理装置的示例性***架构400。
如图4所示,***架构400可以包括终端设备401、402、403,网络404和服务器405(此架构仅仅是示例,具体架构中包含的组件可以根据申请具体情况调整)。网络404用以在终端设备401、402、403和服务器405之间提供通信链路的介质。网络404可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备401、402、403通过网络404与服务器405交互,以接收或发送消息等。终端设备401、402、403上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备401、402、403可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器405可以是提供各种服务的服务器,例如对用户利用终端设备401、402、403所浏览的购物类网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的消息、定制方案等数据进行分析等处理,并将处理结果(例如拉取的相应消息--仅为示例)反馈给终端设备。
需要说明的是,本发明实施例所提供的消息处理方法一般由服务器405执行,相应地,消息处理装置一般设置于服务器405中。
应该理解,图4中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图5,其示出了适于用来实现本发明实施例的终端设备的计算机***500的结构示意图。图5示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图5所示,计算机***500包括中央处理单元(CPU)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储部分508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM 503中,还存储有***500操作所需的各种程序和数据。CPU 501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
以下部件连接至I/O接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。在该计算机程序被中央处理单元(CPU)501执行时,执行本发明的***中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括消息拉取模块、存储模块和处理模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,消息拉取模块还可以被描述为“用于拉取消息队列中的消息的模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:拉取消息队列中的消息;将消息存储至存储设备,并构建消息存储表,以记录消息的消息信息;根据定制方案和消息信息从存储设备中拉取相应消息进行处理。
根据本发明实施例的技术方案,因为采用拉取消息队列中的消息;将消息存储至存储设备,并构建消息存储表,以记录消息的消息信息;根据定制方案和消息信息从存储设备中拉取相应消息进行处理的技术手段,所以克服了现有的消息处理方法中消息的接收逻辑和处理逻辑之间高度耦合,导致处理设备负载较大,消息处理效率低,消息队列中的消息积压量大,消息处理的失败率和重复率较大,且无法实现对消息的定制处理的技术问题,进而达到将消息的接收逻辑和处理逻辑解耦,提高消息处理效率,降低处理设备的负载率,降低消息队列中的消息积压量,同时实现了对消息的定制处理的技术效果。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (12)
1.一种消息处理方法,其特征在于,包括:
拉取消息队列中的消息;
将所述消息存储至存储设备,并构建消息存储表,以记录所述消息的消息信息;
根据定制方案和所述消息信息从所述存储设备中拉取相应消息进行处理。
2.根据权利要求1所述的消息处理方法,其特征在于,所述消息信息包括下列中的一种或多种:消息编号、消息状态、消息优先级、消息类型和消息日期。
3.根据权利要求1所述的消息处理方法,其特征在于,在所述将所述消息存储至存储设备的步骤之前,所述消息处理方法还包括:将所述消息的消息状态设置为未处理。
4.根据权利要求1所述的消息处理方法,其特征在于,所述定制方案包括:根据消息优先级、消息类型或消息日期进行处理。
5.根据权利要求4所述的消息处理方法,其特征在于,所述根据定制方案和所述消息信息从所述存储设备中拉取相应消息进行处理的步骤包括:根据所述定制方案、每次处理数量以及所述消息信息从所述存储设备中拉取相应消息进行处理。
6.根据权利要求1所述的消息处理方法,其特征在于,在所述根据定制方案和所述消息信息从所述存储设备中拉取相应消息进行处理的步骤之后,所述消息处理方法还包括:根据处理结果对相应消息的消息状态进行更新。
7.根据权利要求6所述的消息处理方法,其特征在于,所述处理结果包括处理完成和处理失败,在所述根据处理结果对相应的消息的状态进行更新的步骤之前,所述消息处理方法还包括:在任一消息处理失败的次数达到失败阈值的情况下,确定该消息对应的处理结果为处理失败。
8.根据权利要求7所述的消息处理方法,其特征在于,在处理结果为处理失败的情况下,所述消息处理方法还包括:生成警示信息,所述警示信息用于记录处理结果为处理失败的消息。
9.根据权利要求7所述的消息处理方法,其特征在于,所述消息处理方法还包括:根据时间阈值删除所述存储设备中消息状态为处理完成的消息。
10.一种消息处理装置,其特征在于,包括:
消息拉取模块,用于拉取消息队列中的消息;
存储模块,用于将所述消息存储至存储设备,并构建消息存储表,以记录所述消息的消息信息;
处理模块,用于根据定制方案和所述消息信息从所述存储设备中拉取相应消息进行处理。
11.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-9中任一所述的方法。
12.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-9中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010312442.5A CN113535420A (zh) | 2020-04-20 | 2020-04-20 | 一种消息处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010312442.5A CN113535420A (zh) | 2020-04-20 | 2020-04-20 | 一种消息处理方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113535420A true CN113535420A (zh) | 2021-10-22 |
Family
ID=78123633
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010312442.5A Pending CN113535420A (zh) | 2020-04-20 | 2020-04-20 | 一种消息处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113535420A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114218300A (zh) * | 2021-12-23 | 2022-03-22 | 北京百度网讯科技有限公司 | 数据处理方法和装置、***、电子设备、计算机可读介质 |
CN116643870A (zh) * | 2023-07-24 | 2023-08-25 | 北方健康医疗大数据科技有限公司 | 一种长时任务分发处理方法、***、装置及可读存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120086978A1 (en) * | 2010-10-07 | 2012-04-12 | Canon Kabushiki Kaisha | Cloud computing system, information processing method, and storage medium |
US20120150964A1 (en) * | 2010-12-08 | 2012-06-14 | Microsoft Corporation | Using E-Mail Message Characteristics for Prioritization |
US8601069B1 (en) * | 2007-11-21 | 2013-12-03 | Marvell International Ltd. | Method and apparatus for message multicasting |
CN104636878A (zh) * | 2015-02-17 | 2015-05-20 | 交通银行股份有限公司 | 一种银行自动处理任务的调度方法及装置 |
CN105068864A (zh) * | 2015-07-24 | 2015-11-18 | 北京京东尚科信息技术有限公司 | 处理异步消息队列的方法及*** |
CN108200134A (zh) * | 2017-12-25 | 2018-06-22 | 腾讯科技(深圳)有限公司 | 请求消息管理方法及装置、存储介质 |
CN109257320A (zh) * | 2017-07-13 | 2019-01-22 | 北京京东尚科信息技术有限公司 | 消息存储方法和装置 |
CN109428901A (zh) * | 2017-08-22 | 2019-03-05 | 中国电信股份有限公司 | 消息处理方法以及消息处理装置 |
CN110096344A (zh) * | 2018-01-29 | 2019-08-06 | 北京京东尚科信息技术有限公司 | 任务管理方法、***、服务器集群和计算机可读介质 |
-
2020
- 2020-04-20 CN CN202010312442.5A patent/CN113535420A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8601069B1 (en) * | 2007-11-21 | 2013-12-03 | Marvell International Ltd. | Method and apparatus for message multicasting |
US20120086978A1 (en) * | 2010-10-07 | 2012-04-12 | Canon Kabushiki Kaisha | Cloud computing system, information processing method, and storage medium |
US20120150964A1 (en) * | 2010-12-08 | 2012-06-14 | Microsoft Corporation | Using E-Mail Message Characteristics for Prioritization |
CN104636878A (zh) * | 2015-02-17 | 2015-05-20 | 交通银行股份有限公司 | 一种银行自动处理任务的调度方法及装置 |
CN105068864A (zh) * | 2015-07-24 | 2015-11-18 | 北京京东尚科信息技术有限公司 | 处理异步消息队列的方法及*** |
CN109257320A (zh) * | 2017-07-13 | 2019-01-22 | 北京京东尚科信息技术有限公司 | 消息存储方法和装置 |
CN109428901A (zh) * | 2017-08-22 | 2019-03-05 | 中国电信股份有限公司 | 消息处理方法以及消息处理装置 |
CN108200134A (zh) * | 2017-12-25 | 2018-06-22 | 腾讯科技(深圳)有限公司 | 请求消息管理方法及装置、存储介质 |
CN110096344A (zh) * | 2018-01-29 | 2019-08-06 | 北京京东尚科信息技术有限公司 | 任务管理方法、***、服务器集群和计算机可读介质 |
Non-Patent Citations (4)
Title |
---|
PRIYANKA DAS等: "Priority aided scheduling of pigeons in Homing-Pigeon-Based Delay Tolerant Networks", 《2013 3RD IEEE INTERNATIONAL ADVANCE COMPUTING CONFERENCE (IACC)》, 13 May 2013 (2013-05-13) * |
唐定勇;林正红;江虹;: "基于灰色预测模型的优先级队列缓存管理策略", 计算机工程, no. 05, 15 May 2015 (2015-05-15) * |
柳吉庆;石磊;张军;: "基于消息的***异步集成框架设计与实现", 制造业自动化, no. 10, 25 October 2016 (2016-10-25) * |
邰宇;: "基于海量数据消息队列的性能比较及其优化", 科技传播, no. 03, 10 February 2018 (2018-02-10) * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114218300A (zh) * | 2021-12-23 | 2022-03-22 | 北京百度网讯科技有限公司 | 数据处理方法和装置、***、电子设备、计算机可读介质 |
JP2022159404A (ja) * | 2021-12-23 | 2022-10-17 | ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド | データ処理のシステム、方法、装置、電子機器、コンピュータ読取可能な記憶媒体、コンピュータプログラム |
EP4202684A1 (en) * | 2021-12-23 | 2023-06-28 | Beijing Baidu Netcom Science Technology Co., Ltd. | Method, apparatus and system for processing data, electronic device, and computer readable medium |
CN114218300B (zh) * | 2021-12-23 | 2023-08-08 | 北京百度网讯科技有限公司 | 数据处理方法和装置、***、电子设备、计算机可读介质 |
CN116643870A (zh) * | 2023-07-24 | 2023-08-25 | 北方健康医疗大数据科技有限公司 | 一种长时任务分发处理方法、***、装置及可读存储介质 |
CN116643870B (zh) * | 2023-07-24 | 2023-11-10 | 北方健康医疗大数据科技有限公司 | 一种长时任务分发处理方法、***、装置及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111427701A (zh) | 一种工作流引擎***和业务处理方法 | |
CN113535420A (zh) | 一种消息处理方法和装置 | |
CN112073395B (zh) | 一种文件分发方法和装置 | |
CN111427899A (zh) | 存储文件的方法、装置、设备和计算机可读介质 | |
CN112084042A (zh) | 一种消息处理的方法和装置 | |
CN113761565B (zh) | 数据脱敏方法和装置 | |
CN112559646A (zh) | 一种报表下载方法和装置 | |
CN113783913A (zh) | 一种消息推送管理方法和装置 | |
CN112948138A (zh) | 一种处理消息的方法和装置 | |
CN113590447B (zh) | 埋点处理方法和装置 | |
CN114116675A (zh) | 一种数据归档方法和装置 | |
CN115190125A (zh) | 一种缓存集群的监控方法和装置 | |
CN113722193A (zh) | 检测页面异常的方法和装置 | |
CN109087097B (zh) | 一种更新链码同一标识的方法和装置 | |
CN113537893A (zh) | 订单处理方法、装置、设备和计算机可读介质 | |
CN112732728A (zh) | 一种数据同步方法和*** | |
CN113742321A (zh) | 一种数据更新的方法和装置 | |
CN112749204A (zh) | 一种读取数据的方法和装置 | |
CN112699116A (zh) | 一种数据处理方法和*** | |
CN112953810A (zh) | 一种网络请求的处理方法和装置 | |
CN111782351A (zh) | 一种分布式任务调度的方法和装置 | |
CN113722548B (zh) | 一种业务***中引用关系的处理方法和装置 | |
CN110262756B (zh) | 用于缓存数据的方法和装置 | |
CN113766437B (zh) | 一种短信发送方法和装置 | |
CN110659933B (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 |