一种消息处理方法、微服务系统以及服务器与流程

文档序号:37216441发布日期:2024-03-05 15:06阅读:16来源:国知局
一种消息处理方法、微服务系统以及服务器与流程

本技术涉及计算机,尤其涉及一种消息处理方法、微服务系统以及服务器。


背景技术:

1、在微服务系统中,生产者模块提供消费者模块所需要的目标资源的资源变更信息。微服务系统通常配置有消息补偿机制,消息补偿机制可以在消费者模块丢失资源变更信息的情况中,使消费者模块重新获取丢失的资源变更信息。

2、在相关技术中,消息补偿机制需要消费者模块定期查询生产者模块生成的目标资源的全量资源变更信息,然后将查询到资源变更信息与自身存储的资源变更信息进行对比,从而判断是否丢失资源变更信息。这种方案中,消费者模块的查询的数据量较大,查询效率低。并且,由于数据量较大,导致消息补偿的实时性也较差。


技术实现思路

1、本技术实施例提供一种消息处理方法、微服务系统以及服务器,能够降低消息补偿的查询数据量,从而可以解决查询效率低和实时性差的问题。

2、第一方面,本技术实施例提供一种消息处理方法。该方法包括:在至少一个资源发生变更的情况下,生成至少一个资源变更消息,每个所述资源变更消息中包含消息编号和资源标识,所述消息编号与所述资源标识相对应,所述资源标识用于标识资源变更信息;确定第一编号和第二编号,所述第一编号基于最近一次生成的资源变更消息中的消息编号确定,所述第二编号基于数据库中存储的消息编号确定;基于所述第一编号和所述第二编号,确定目标编号以及与所述目标编号对应的目标资源标识;基于所述目标资源标识获得目标资源变更信息,并将所述目标编号和所述目标资源变更信息写入所述数据库。

3、上述方案可以应用于微服务系统,每个消息编号与标识资源变更信息的资源标识相对应,可以通过比较最近的第一编号和已经存储的第二编号可以确定是否丢失资源变更信息,并根据资源标识查询丢失的资源变更信息,从而降低消息补偿的查询数据量,提高查询效率和实时性。

4、在第一方面的一种可能的实施方式中,所述生成至少一个资源变更消息包括:根据所述资源变更消息的生成顺序确定所述至少一个资源变更消息中的消息编号。

5、上述方案中,按照资源变更消息的生成顺序为每个资源变更信息分配唯一的编号,可以通过对比编号确定是否丢失了资源变更信息。

6、在第一方面的一种可能的实施方式中,所述确定第一编号,包括:当生成最新的资源变更消息时,确定第一编号为所述最新的资源变更消息中的消息编号;和/或,定时查询最近一次生成的资源变更消息中的消息编号,得到所述第一编号;和/或,响应获取到的查询请求,查询最近一次生成的资源变更消息中的消息编号,得到所述第一编号。

7、在第一方面的一种可能的实施方式中,所述基于所述第一编号和所述第二编号,确定目标编号包括:若所述第一编号与所述第二编号不相同,则基于所述第一编号与所述第二编号的差值,确定所述目标编号。

8、在第一方面的一种可能的实施方式中,在基于所述目标资源标识获得目标资源变更信息之前,所述方法还包括:根据所述属性信息确定是否获取所述目标资源变更信息。

9、在第一方面的一种可能的实施方式中,所述属性信息包括:资源变更类型,根据所述目标资源变更信息的属性信息确定是否获取所述目标资源变更信息包括:若目标资源标识集合中包括所述目标资源标识,且目标变更集合中包括所述目标资源变更信息的资源变更类型,确定获取所述目标资源变更信息;其中,所述资源变更类型包括增加、删除、和修改,所述目标变更集合中包括所述增加或所述修改。

10、上述方案中,在获取目标资源变更信息之前,先根据资源标识判断目标资源变更信息是否为消费者模块的消费对象。这样可以减少数据传输量,减少传输资源的占用。如果目标资源变更信息非消费者模块的消费对象,则消费者模块不用获取目标资源变更信息。以及,通过资源变更类型确定是否需要获取其消费对象的资源变更信息。如资源变更类型为删除,消费者模块可以基于资源标识和消息编号删除相应的资源变更信息即可。

11、在第一方面的一种可能的实施方式中,所述方法还包括:采集资源数据;根据统一模型模板生成与所述资源数据对应的模型,并基于所述模型获得至少一个资源变更信息,所述统一模型模板用于对不同的模型进行统一定义;根据接口调用所述至少一个资源变更信息,所述接口与统一定义后的所述模型相适配。

12、上述方案中,提供统一模型模板和接口,可以根据提供的统一模型模板生成统一定义的、与资源数据对应的模型,并对这些统一定义后的模型及其资源变更信息进行统一管理。通过与统一定义后的模型相适配的接口调用该资源变更信息,无需与不同接口进行对接而构造不同的调用函数,简化了资源调用过程。

13、在第一方面的一种可能的实施方式中,所述统一模型模板具体用于定义所述模型的组成部分,以及所述组成部分的数据格式。

14、在第一方面的一种可能的实施方式中,所述基于所述目标资源标识获得目标资源变更信息包括:基于所述目标资源标识,调用接口获得所述目标资源变更信息,所述接口与统一定义后的所述模型相适配。

15、在第一方面的一种可能的实施方式中,所述数据库包括所述计算设备内的存储器或者其他存储设备。

16、第二方面,本技术实施例提供一种微服务系统。该微服务系统包括:统一管理模块和消费者模块。

17、其中,统一管理模块用于在至少一个资源发生变更的情况下,生成至少一个资源变更消息,每个所述资源变更消息中包含消息编号和资源标识,所述消息编号与所述资源标识相对应,所述资源标识用于标识资源变更信息;

18、其中,消费者模块用于确定第一编号和第二编号,所述第一编号基于最近一次生成的资源变更消息中的消息编号确定,所述第二编号基于数据库中存储的消息编号确定;还用于基于所述第一编号和所述第二编号,确定目标编号以及与所述目标编号对应的目标资源标识,以及基于所述目标资源标识获得目标资源变更信息,并将所述目标编号和所述目标资源变更信息写入所述数据库。

19、在第二方面的一种可能的实施方式中,该统一管理模块具体用于:根据所述资源变更消息的生成顺序确定所述至少一个资源变更消息中的消息编号。

20、在第二方面的一种可能的实施方式中,该统一管理模块具体用于:当生成最新的资源变更消息时,确定第一编号为所述最新的资源变更消息中的消息编号;和/或,定时查询最近一次生成的资源变更消息中的消息编号,得到所述第一编号;和/或,响应获取到的查询请求,查询最近一次生成的资源变更消息中的消息编号,得到所述第一编号。

21、在第二方面的一种可能的实施方式中,该统一管理模块具体用于:若所述第一编号与所述第二编号不相同,则基于所述第一编号与所述第二编号的差值,确定所述目标编号。若第一编号和第二编号相同,则无需写入资源变更信息。

22、在第二方面的一种可能的实施方式中,该微服务系统还包括生产者模块,该生产者模块用于在基于所述目标资源标识获得目标资源变更信息之前,根据目标资源变更信息的属性信息确定是否获取所述目标资源变更信息。

23、在第二方面的一种可能的实施方式中,所述属性信息包括:资源变更类型,根据所述目标资源变更信息的属性信息确定是否获取所述目标资源变更信息包括:若目标资源标识集合中包括所述目标资源标识,且目标变更集合中包括所述目标资源变更信息的资源变更类型,确定获取所述目标资源变更信息;其中,所述资源变更类型包括增加、删除、和修改,所述目标变更集合中包括所述增加或所述修改。

24、在第二方面的一种可能的实施方式中,该微服务系统还包括生产者模块,该生产者模块用于:采集资源数据;根据统一模型模板生成与所述资源数据对应的模型,并基于所述模型获得至少一个资源变更信息,所述统一模型模板用于对不同的模型进行统一定义。该消费者模块用于根据接口调用所述至少一个资源变更信息,所述接口与统一定义后的所述模型相适配,由统一管理模块提供。

25、在第二方面的一种可能的实施方式中,所述统一模型模板具体用于定义所述模型的组成部分,以及所述组成部分的数据格式。

26、在第二方面的一种可能的实施方式中,所述数据库包括所述计算设备内的存储器或者其他存储设备。

27、第三方面,本技术实施例提供一种服务器。该服务器包括:处理器和存储器。所述存储器中存储有指令操作或代码;所述处理器配置为与所述存储器通信,并执行所述存储器中的指令操作或代码以实现第一方面或者第一方面的任意一种可选实施方式中的方法。

28、第四方面,本技术实施例提供一种计算机可读存储介质,计算机可读存储介质内存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面或第一方面的任一项可能的实施方式中的方法,或者执行第二方面或第二方面的任一项可能的实施方式中的方法。

29、第五方面,本技术实施例提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面或第一方面的任一项可能的实施方式中的方法,或者执行第二方面或第二方面的任一项可能的实施方式中的方法。

30、上述提供的任一种装置或计算机存储介质或计算机程序产品,均用于执行上文所提供的方法,因此,其所能达到的有益效果可参考上文提供的对应方法中的对应方案的有益效果,此处不再赘述。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1