预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共15页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN112711485A(43)申请公布日2021.04.27(21)申请号201911025569.2(22)申请日2019.10.25(71)申请人北京沃东天骏信息技术有限公司地址100176北京市北京经济技术开发区科创十一街18号院2号楼4层A402室申请人北京京东世纪贸易有限公司(72)发明人王自珍(74)专利代理机构中原信达知识产权代理有限责任公司11219代理人张一军李阳(51)Int.Cl.G06F9/54(2006.01)权利要求书1页说明书9页附图4页(54)发明名称一种消息处理方法和装置(57)摘要本发明公开了消息处理方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括接收消息,根据消息类型查找对应的消息类型队列,以将消息入列;将每个消息类型队列中至多一个消息传输至发送队列;将发送队列中的消息出列,并且删除在消息类型队列中的该出列消息。从而,本发明的实施方式能够解决消息处理性能低、时序性差的问题。CN112711485ACN112711485A权利要求书1/1页1.一种消息处理方法,其特征在于,包括:接收消息,根据消息类型查找对应的消息类型队列,以将消息入列;将每个消息类型队列中至多一个消息传输至发送队列;将发送队列中的消息出列,并且删除在消息类型队列中的该出列消息。2.根据权利要求1所述的方法,其特征在于,将每个消息类型队列中至多一个消息发送至发送队列,包括:将每个消息类型队列的队头消息传输至发送队列。3.根据权利要求2所述的方法,其特征在于,将发送队列中的消息出列,并且删除在消息类型队列中的该出列消息,包括:通过消息处理线程池将发送队列中的消息出列;删除出列消息对应的消息类型队列中的队头消息。4.根据权利要求3所述的方法,其特征在于,将发送队列中的消息出列,包括:根据消息处理线程池中线程所处状态,以使线程获取执行时间片将发送队列中的消息出列。5.根据权利要求1所述的方法,其特征在于,根据消息类型查找对应的消息类型队列,以将消息入列,包括:根据消息类型查找对应的消息类型队列;判断所述消息类型队列是否为空,若是则把消息入列,同时将该消息放入发送队列;若否,则把消息入列。6.根据权利要求1所述的方法,其特征在于,根据消息类型查找对应的消息类型队列,以将消息入列,其中对所述消息类型队列设置公平锁。7.根据权利要求1-6任一所述的方法,其特征在于,还包括:所述消息类型队列采用先入先出方法。8.一种消息处理装置,其特征在于,包括:入列模块,用于接收消息,根据消息类型查找对应的消息类型队列,以将消息入列;出列模块,用于将每个消息类型队列中至多一个消息传输至发送队列;将发送队列中的消息出列,并且删除在消息类型队列中的该出列消息。9.一种电子设备,其特征在于,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的方法。10.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-7中任一所述的方法。2CN112711485A说明书1/9页一种消息处理方法和装置技术领域[0001]本发明涉及计算机技术领域,尤其涉及一种消息处理方法和装置。背景技术[0002]随着信息技术的发展,在信息化系统中消息的种类和数量变得越来越多,如何高效地处理消息成为很关键性的问题。在消息总线上可以把消息分为分布式系统之间的消息传输以及在子系统内部的消息传输。在系统间的消息中间件目前已经有比较成熟的技术方案,如Kafka(Kafka是LinkedIn开源的分布式发布-订阅消息系统)的分布式发布和订阅模式、基于AdvancedMessageQueueProtocol(AMQP,提供统一消息服务的应用层标准高级消息队列协议)的RabbitMQ(RabbitMQ是使用Erlang语言开发的开源消息队列系统,基于AMQP协议来实现。)等技术方案。在系统内部也需要对消息进行高效低迟延的处理,并且在很多时候需要对消息顺序处理。[0003]在实现本发明过程中,发明人发现现有技术中至少存在如下问题:[0004]目前,在系统内部常用的处理消息的方式大致分成两种:单线程处理和多线程处理。对于单线程消息处理,它没有充分利用多核多CPU的并行处理能力,处理消息的性能会比较低,常常会导致消息拥塞。[0005]而对于多线程消息处理,常常会出现消息错序的问题,也就是说先到达的消息比后到达的消息后被处理或转发。例如一件商品的价格发生了两次变更,这两次变更的时间非常的短,当系统的一个消息处理线程处理第一个价格变更消息的时候,第二个消息也到达并被第二个消息处理线