本发明专利技术提供一种消息的处理方法,该处理方法包括:拉取消息中间件中待消费的消息;判断待消费的消息对应的服务是否开启多应用实例;在服务已开启多应用实例的情况下,判断是否对消息执行过多应用适配逻辑;在对消息已执行过多应用适配逻辑的情况下,获取消息中与多应用实例对应的多个应用ID;基于多个应用ID对应的数据源,分别对消息执行消费处理逻辑并将消费处理后的结果数据写入到对应的数据源中。从而,在同一个用户或租户体系下,只需要实现一套消费代码逻辑,即可实现多应用的消息处理。降低了资源的消耗,实现了资源的高效利用。实现了资源的高效利用。实现了资源的高效利用。
【技术实现步骤摘要】
一种消息处理方法及处理装置
[0001]本专利技术涉及数据存储
,尤其涉及一种盘匣的管理方法及装置。
技术介绍
[0002]目前,在同一用户或者租户体系下,创建了多个数据应用,每个数据应用有自己的数据源信息,数据源信息包括数据库IP和端口以及密钥信息等。在这样的情况下,由消息产生的客户端发出一个消息,在多个数据应用内,完成订阅消费,将业务逻辑执行结果,写入对应数据库的过程。
[0003]通常情况下,每个数据应用,就是一个独立的服务实例,绑定对应的数据源,在消费消息的时候,进行消费处理的结果数据写入至对应数据库中。但由于每一个独立的服务实例均需要部署消费代码,从而随着数据应用的实例个数的不断增加,消费代码的部署量也随之增加,会导致大量的资源的消耗,没有办法实现资源的高效利用。
[0004]有鉴于此,提出了本专利技术,以至少部分地解决现有技术中存在的技术问题。
技术实现思路
[0005]针对现有技术中随着数据应用的实例个数的不断增加,消费代码的部署量也随之增加,会导致大量的资源的消耗的技术问题。
[0006]根据本专利技术的第一方面,提供一种消息的处理方法,处理方法包括:
[0007]拉取消息中间件中待消费的消息;
[0008]判断待消费的消息对应的服务是否开启多应用实例;
[0009]在服务已开启多应用实例的情况下,判断是否对消息执行过多应用适配逻辑;
[0010]在对消息已执行过多应用适配逻辑的情况下,获取消息中与多应用实例对应的多个应用ID;
[0011]基于多个应用ID对应的数据源,分别对消息执行消费处理逻辑并将消费处理后的结果数据写入到对应的数据源中。
[0012]优选的,判断是否对消息执行过多应用适配逻辑之后,处理方法还包括:
[0013]在对消息未执行过多应用适配逻辑的情况下,对消息执行多应用适配逻辑,得到包含多应用实例中每个应用实例的应用ID的已处理消息;将已处理消息发送到消息中间件。
[0014]优选的,对消息执行多应用适配逻辑,得到包含多应用实例中每个应用实例的应用ID的已处理消息,包括:
[0015]基于消息对应的服务,获取服务对应的应用列表;基于应用列表,生成包含每个应用实例的应用ID的已处理消息。
[0016]优选的,基于应用列表,生成包含每个应用实例的应用ID的已处理消息,包括:
[0017]对于应用列表中的任一应用,复制消息并在消息中配置任一应用对应的应用ID,生成任一应用对应的已处理消息;遍历应用列表中所有应用,重复上述步骤,得到包含多应
用实例中每个应用实例的应用ID的已处理消息。
[0018]优选的,基于多个应用ID对应的数据源,分别对消息执行消费处理逻辑并将消费处理后的结果数据写入到对应的数据源中,包括:
[0019]针对任一应用ID,将当前数据源切换至应用ID对应的数据源;基于应用ID对应的数据源中的数据,对消息执行消费处理逻辑,并将消费处理后的结果数据写入到应用ID对应的数据源中;遍历切换至所有应用ID对应的数据源,重复上述步骤,分别将消费处理后的结果数据写入到对应的数据源中。
[0020]优选的,判断消费消息的服务是否开启多应用实例之后,处理方法还包括:
[0021]在服务未开启多应用实例的情况下,基于服务对应的当前应用实例对应的数据源中的数据,对消息执行消费处理逻辑并将消费处理后的结果数据写入到当前应用实例对应的数据源中。
[0022]优选的,拉取消息中间件中待消费的消息之前,处理方法还包括:
[0023]消息中间件接收消息生产者发送的消息。
[0024]根据本专利技术的第二方面,提供一种消息的处理装置,处理装置包括:
[0025]拉取模块,用于拉取消息中间件中待消费的消息;
[0026]第一判断模块,用于判断待消费的消息对应的服务是否开启多应用实例;
[0027]第二判断模块,用于在服务已开启多应用实例的情况下,判断是否对消息执行过多应用适配逻辑;
[0028]获取模块,用于在对消息已执行过多应用适配逻辑的情况下,获取消息中与多应用实例对应的多个应用ID;
[0029]第一消费处理逻辑模块,用于基于多个应用ID对应的数据源,分别对消息执行消费处理逻辑并将消费处理后的结果数据写入到对应的数据源中。
[0030]优选的,该处理装置还包括:
[0031]多应用适配模块,用于在对消息未执行过多应用适配逻辑的情况下,对消息执行多应用适配逻辑,得到包含多应用实例中每个应用实例的应用ID的已处理消息;
[0032]发送模块,用于将已处理消息发送到消息中间件。
[0033]优选的,多应用适配模块,包括:
[0034]获取子模块,用于基于消息对应的服务,获取服务对应的应用列表;
[0035]生成子模块,用于基于应用列表,生成包含每个应用实例的应用ID的已处理消息。
[0036]优选的,生成子模块,用于:
[0037]对于应用列表中的任一应用,复制消息并在消息中配置任一应用对应的应用ID,生成任一应用对应的已处理消息;
[0038]遍历应用列表中所有应用,重复上述步骤,得到包含多应用实例中每个应用实例的应用ID的已处理消息。
[0039]优选的,第一消费处理逻辑模块,包括:
[0040]切换子模块,用于针对任一应用ID,将当前数据源切换至应用ID对应的数据源;
[0041]第一消费处理逻辑子模块,用于基于应用ID对应的数据源中的数据,对消息执行消费处理逻辑,并将消费处理后的结果数据写入到应用ID对应的数据源中;
[0042]遍历切换至所有应用ID对应的数据源,重复上述步骤,分别将消费处理后的结果
数据写入到对应的数据源中。
[0043]优选的,该处理装置还包括:
[0044]第二消费处理逻辑模块,用于在服务未开启多应用实例的情况下,基于服务对应的当前应用实例对应的数据源中的数据,对消息执行消费处理逻辑并将消费处理后的结果数据写入到当前应用实例对应的数据源中。
[0045]优选的,该处理装置包括:
[0046]消息中间件,用于接收消息生产者发送的消息。
[0047]根据本专利技术的第三方面,提供一种电子设备,电子设备包括:处理器以及存储有计算机程序指令的存储器;
[0048]处理器执行计算机程序指令时实现上述的任一种的消息的处理方法。
[0049]根据本专利技术的第四方面,提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现上述的任一种的消息的处理方法。
[0050]综上所述,本专利技术提供一种消息的处理方法,该处理方法包括:拉取消息中间件中待消费的消息;判断待消费的消息对应的服务是否开启多应用实例;在服务已开启多应用实例的情况下,判断是否对消息执行过多应用适配逻辑;在对消息已执行过多应用适配逻辑的本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种消息的处理方法,其特征在于,所述处理方法包括:拉取消息中间件中待消费的消息;判断待消费的所述消息对应的服务是否开启多应用实例;在所述服务已开启多应用实例的情况下,判断是否对所述消息执行过多应用适配逻辑;在对所述消息已执行过多应用适配逻辑的情况下,获取所述消息中与多应用实例对应的多个应用ID;基于多个应用ID对应的数据源,分别对所述消息执行消费处理逻辑并将消费处理后的结果数据写入到对应的数据源中。2.根据权利要求1所述的消息的处理方法,其特征在于,所述判断是否对所述消息执行过多应用适配逻辑之后,所述处理方法还包括:在对所述消息未执行过多应用适配逻辑的情况下,对所述消息执行多应用适配逻辑,得到包含所述多应用实例中每个应用实例的应用ID的已处理消息;将所述已处理消息发送到所述消息中间件。3.根据权利要求2所述的消息的处理方法,其特征在于,所述对所述消息执行多应用适配逻辑,得到包含所述多应用实例中每个应用实例的应用ID的已处理消息,包括:基于所述消息对应的服务,获取所述服务对应的应用列表;基于所述应用列表,生成包含每个应用实例的应用ID的已处理消息。4.根据权利要求3所述的消息的处理方法,其特征在于,所述基于所述应用列表,生成包含每个应用实例的应用ID的已处理消息,包括:对于所述应用列表中的任一应用,复制所述消息并在所述消息中配置所述任一应用对应的应用ID,生成所述任一应用对应的已处理消息;遍历所述应用列表中所有应用,重复上述步骤,得到包含所述多应用实例中每个应用实例的应用ID的已处理消息。5.根据权利要求1所述的消息的处理方法,其特征在于,所述基于多个应用ID对应的数据源,分别对所述消息执行消费处理逻辑并将消费处理后的结果数据写入到对应的数据源中,包括:针对任一应用ID,将当前数据源切换至所述应用ID对应的数据源;基于所述应用ID对应...
【专利技术属性】
技术研发人员:张智慧,宓志明,王强,郝宇晓,
申请(专利权)人:北京元年科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。