一种消息分类的处理方法及装置制造方法及图纸

技术编号:18894263 阅读:27 留言:0更新日期:2018-09-08 10:51
本发明专利技术公开了一种消息分类的处理方法及装置,该方法包括通过获取待处理的消息,所述待处理的消息包括主键值,根据所述主键值,确定所述待处理的消息的子类型,将确定了子类型的所述待处理的消息写入消息队列。由于通过主键值得到相应的子类型,可以使得属于同一主键值的待处理的消息可以分配给同一处理单元进行处理,避免产生资源冲突,同时可以避免增加额外的加锁装置。

A method and device for processing message classification

The invention discloses a processing method and apparatus for message classification, which includes acquiring a message to be processed, the message to be processed including a primary key value, determining a sub-type of the message to be processed according to the primary key value, and writing the determined sub-type of the message to be processed into a message queue. Because the primary key is worth the corresponding subtype, the message belonging to the same primary key value can be allocated to the same processing unit for processing, avoiding resource collision, and avoiding adding additional locking devices.

【技术实现步骤摘要】
一种消息分类的处理方法及装置
本专利技术实施例涉及消息处理
,尤其涉及一种消息分类的处理方法及装置。
技术介绍
现在使用的主流消息队列一般都支持生产者对消息进行分类,消费者可获取指定类型的消息。同一类消息可由一组多个消费者并发获取,此时消息获取具有随机性。使用这类消息队列时,消息传递的方式大致的如图1所示。在图1中,生产者将所有的消息标识为同一类型type=100,由一组消费者共同读取一类消息。这种方式下,三个消费者共同处理一类消息,消费者无状态,扩展性较好,其处理能力得到充分发挥,任意消费者异常情况下,消息仍能得到有效处理,具有高可用性。但是,从图1可以看出,若消息1和消息2属于同一用户的消息,则消息1和消息2在处理过程中会存在资源冲突的情况,此时就需要对冲突资源进行加锁互斥,如果是分布式场景更需要引入分布式加锁模块,增加了处理应用程序的复杂度,牺牲了部分性能。
技术实现思路
本专利技术实施例提供一种消息分类的处理方法及装置,用以实现在不增加加锁装置的情况下解决资源冲突的问题。本专利技术实施例提供的一种消息分类的处理方法,包括:获取待处理的消息,所述待处理的消息包括主键值;根据所述主键值,确定所述待处理的消息的子类型;将确定了子类型的所述待处理的消息写入消息队列。可选的,所述根据所述主键值,确定所述待处理的消息的子类型,包括:使用哈希算法确定出所述主键值的哈希值;根据所述主键值的哈希值以及预设的哈希值区间范围对应的子类型,确定所述待处理的消息的子类型。可选的,在所述将确定了子类型的所述待处理的消息写入消息队列之后,还包括:申请带有有效期的令牌;根据所述令牌以及令牌与子类型的对应关系,从所述消息队列中读取与所述令牌相对应的子类型的待处理的消息。可选的,在所述申请带有有效期的令牌之后,还包括:获取当前处理消息的处理单元的数量、当前处理消息的处理单元对应的子类型的数量、子类型的总数量;根据所述当前处理消息的处理单元的数量、当前处理消息的处理单元对应的子类型的数量和子类型的总数量,为申请令牌的处理单元分配其对应的子类型的数量;根据为申请令牌的处理单元分配其对应的子类型的数量,调整所述令牌与子类型的对应关系。相应的,本专利技术实施例提供一种消息分类的处理装置,包括:获取单元,用于获取待处理的消息,所述待处理的消息包括主键值;确定单元,用于根据所述主键值,确定所述待处理的消息的子类型;写入单元,用于将确定了子类型的所述待处理的消息写入消息队列。可选的,所述确定单元具体用于:使用哈希算法确定出所述主键值的哈希值;根据所述主键值的哈希值以及预设的哈希值区间范围对应的子类型,确定所述待处理的消息的子类型。可选的,还包括申请单元和读取单元;在所述将确定了子类型的所述待处理的消息写入消息队列之后,所述申请单元用于申请带有有效期的令牌;所述读取单元,用于根据所述令牌以及令牌与子类型的对应关系,从所述消息队列中读取与所述令牌相对应的子类型的待处理的消息。可选的,还包括调整单元;所述调整单元具体用于:在所述申请带有有效期的令牌之后,获取当前处理消息的处理单元的数量、当前处理消息的处理单元对应的子类型的数量、子类型的总数量;根据所述当前处理消息的处理单元的数量、当前处理消息的处理单元对应的子类型的数量和子类型的总数量,为申请令牌的处理单元分配其对应的子类型的数量;根据为申请令牌的处理单元分配其对应的子类型的数量,调整所述令牌与子类型的对应关系。相应的,本专利技术实施例提供了一种计算设备,包括:存储器,用于存储程序指令;处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行上述消息分类的处理方法。相应的,本专利技术实施例提供了一种计算机存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行上述消息分类的处理方法。本专利技术实施例表明,通过获取待处理的消息,所述待处理的消息包括主键值,根据所述主键值,确定所述待处理的消息的子类型,将确定了子类型的所述待处理的消息写入消息队列。由于通过主键值得到相应的子类型,可以使得属于同一主键值的待处理的消息可以分配给同一处理单元进行处理,避免产生资源冲突,同时可以避免增加额外的加锁装置。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为现有技术中的一种消息处理的流程示意图;图2为本专利技术实施例提供的一种系统架构的示意图;图3为本专利技术实施例提供的一种消费分类的处理方法的流程示意图;图4为本专利技术实施例提供的一种消息的结构示意图;图5为本专利技术实施例提供的一种消息队列的结构示意图;图6为本专利技术实施例提供的一种令牌与子类型对应关系的示意图;图7为本专利技术实施例提供的一种消费分类的处理装置的结构示意图。具体实施方式为了使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术作进一步地详细描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本专利技术保护的范围。图2示例性的示出了本专利技术实施例提供的消息分类的处理方法所适用的系统架构。参考图2所示,该系统架构可以是服务器200,该服务器200包括处理器201、通信接口202和存储器203。其中,通信接口202用于收发其它设备传输的信息,实现通信。处理器201是服务器200的控制中心,利用各种接口和线路连接整个服务器200的各个部分,通过运行或执行存储在存储器203内的软件程序/或模块,以及调用存储在存储器203内的数据,执行服务器200的各种功能和处理数据。可选地,处理器201可以包括一个或多个处理单元。存储器203可用于存储软件程序以及模块,处理器201通过运行存储在存储器203的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器203可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据业务处理所创建的数据等。此外,存储器203可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。基于上述描述,图3示例性的示出了本专利技术实施例提供的一种消息分类的处理流程,该流程可以有消息分类的处理装置执行,该装置可以位于服务器内,也可以是该服务器。如图3所示,该流程具体包括:步骤301,获取待处理的消息。该待处理的消息可以为各自交易的消息,例如,银行卡转账、消费等类型的消息,其中,转账、消费为消息类型。在本专利技术实施例中,将消息写入到消息队列的可以称之为消息生产者。该待处理的消息的消息体中设有主键值,主键值用于确定该消息的子类型。步骤302,根据所述主键值,确定所述待处理的消息的子类型。如图4所示的待处理的消息的结构,该待处理的消息至少可以包括消息头和消息体。其中,消息头包括消息类型、子类型、主键长度和主键值。消息体中包括消息内容,子类型是由主键值确定的。在获取到待处理的消息后,就可以从消息体中读取主键值,该本文档来自技高网...

【技术保护点】
1.一种消息分类的处理方法,其特征在于,包括:获取待处理的消息,所述待处理的消息包括主键值;根据所述主键值,确定所述待处理的消息的子类型;将确定了子类型的所述待处理的消息写入消息队列。

【技术特征摘要】
1.一种消息分类的处理方法,其特征在于,包括:获取待处理的消息,所述待处理的消息包括主键值;根据所述主键值,确定所述待处理的消息的子类型;将确定了子类型的所述待处理的消息写入消息队列。2.如权利要求1所述的方法,其特征在于,所述根据所述主键值,确定所述待处理的消息的子类型,包括:使用哈希算法确定出所述主键值的哈希值;根据所述主键值的哈希值以及预设的哈希值区间范围对应的子类型,确定所述待处理的消息的子类型。3.如权利要求1所述的方法,其特征在于,在所述将确定了子类型的所述待处理的消息写入消息队列之后,还包括:申请带有有效期的令牌;根据所述令牌以及令牌与子类型的对应关系,从所述消息队列中读取与所述令牌相对应的子类型的待处理的消息。4.如权利要求3所述的方法,其特征在于,在所述申请带有有效期的令牌之后,还包括:获取当前处理消息的处理单元的数量、当前处理消息的处理单元对应的子类型的数量、子类型的总数量;根据所述当前处理消息的处理单元的数量、当前处理消息的处理单元对应的子类型的数量和子类型的总数量,为申请令牌的处理单元分配其对应的子类型的数量;根据为申请令牌的处理单元分配其对应的子类型的数量,调整所述令牌与子类型的对应关系。5.一种消息分类的处理装置,其特征在于,包括:获取单元,用于获取待处理的消息,所述待处理的消息包括主键值;确定单元,用于根据所述主键值,确定所述待处理的消息的子类型;写入单元,用于将确定了子类型的所...

【专利技术属性】
技术研发人员:祝军伟
申请(专利权)人:中国银联股份有限公司
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1