消息处理方法、装置、设备及存储介质与流程
- 国知局
- 2024-09-05 14:51:46
本发明涉及通信网络,特别涉及一种消息处理方法、装置、设备及存储介质。
背景技术:
1、目前大规模高并发的计算机应用场景越来越多,虽然设备的性能也在不断提升,但与阶梯式增长的请求相比还是显得不足。请求来源及需求日益剧增,包括多客户端并行下发、外部批量调用等等,在众多应用场景中信息的统计分析、展示等占比越来越多,这就导致在众多请求处理中查询类的请求占比越来越大,进而引发消息处理阻塞耗时,进而增加集群的压力,影响集群性能。
2、当前大多数系统处理批量请求都会采用消息中间件即消息队列的方法:
3、“消息队列”是在消息的传输过程中保存消息的容器。消息队列在将消息从源传递到目标时充当中间人,先将所有请求放入消息队列中,服务端每次处理业务先从消息队列获取一定数量的请求,按照固定下发顺序采用先进先出的方法进行处理,但可以发现在队列中查询类的请求占比较多,且存在重复查询或无效查询,这些重复查询或无效查询严重影响请求队列的处理效率。
技术实现思路
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、若所述索引信息中存在与所述第七请求信息完全一致的目标索引信息,根据所述目标索引信息从所述业务关联关系表中获取目标业务关联关系表;
31、将所述目标请求组合在目标业务关联关系表进行检索,识别出第二重复请求和第二无效请求。
32、可选的,所述将所述目标请求组合在目标业务关联关系表进行检索,识别出第二重复请求和第二无效请求,包括:
33、从所述目标请求组合中提取出第六请求,其中,所述第五请求和第六请求组合成目标请求组合;
34、获取所述第六请求的第八请求信息;
35、将所述第八请求信息在所述目标业务关联关系表的子索引信息中进行检索;
36、若所述子索引信息中存在与所述第八请求信息完全一致的目标子索引信息,则获取所述目标子索引信息所在分区;
37、若所述目标子索引信息在造成重复结果的分区,则识别出所述目标请求组合中的第二重复请求;
38、若所述目标子索引信息在造成无效结果的分区,则识别出所述目标请求组合中的第二无效请求。
39、可选的,所述通过所述关联标识获取与所述第一重复请求和所述第二重复请求相关联的第三请求的目标查询结果,将所述目标查询结果作为所述第一重复请求和所述第二重复请求的查询结果,包括:
40、在检测到所述第三请求处理完成的情况下,通过所述关联标识获取与所述第一重复请求和所述第二重复请求相关联的第三请求的目标查询结果;
41、执行所述第一重复请求和所述第二重复请求;
42、将所述目标查询结果作为所述第一重复请求和所述第二重复请求的查询结果。
43、可选的,所述将所述第一重复请求,第一无效请求,第二重复请求和第二无效请求添加等待标识和关联标识并存入目标等待队列,包括:
44、预先设置超时等待时间阈值;
45、获取所述第一无效请求的第一耗时均值和所述第二无效请求的第二耗时均值;
46、通过关联标识获取与所述第一无效请求对应请求的第一操作时间均值和与所述第二无效请求对应请求的第二操作时间均值;
47、在确定所述第一耗时均值和所述第一操作时间均值之和小于超时等待时间阈值的情况下,将所述第一无效请求添加等待标识和关联标识并存入目标等待队列;
48、在确定所述第二耗时均值和所述第二操作时间均值之和小于超时等待时间阈值的情况下,将所述第二无效请求添加等待标识和关联标识并存入目标等待队列;
49、将所述第一重复请求,第二重复请求添加等待标识和关联标识并存入目标等待队列。
50、在本发明实施的第二方面,还提供了一种消息处理装置,其特征在于,包括:
51、第一识别模块,用于通过将新接收的第一请求的请求信息和消息队列中至少一个第二请求的请求信息比对,识别出第一重复请求,第一无效请求和需要进行下一步判断的目标请求组合;
52、第二识别模块,用于将所述目标请求组合在预先设置的业务关联关系表中进行检索,识别出第二重复请求和第二无效请求;
53、第一添加模块,用于将所述第一重复请求,第一无效请求,第二重复请求和第二无效请求添加等待标识和关联标识并存入目标等待队列,其中,关联标识是指将存在重复或无效关系的所述第一请求和第二请求建立关联的识别标识;
54、第一获取模块,用于通过所述关联标识获取与所述第一重复请求和所述第二重复请求相关联的第三请求的目标查询结果,将所述目标查询结果作为所述第一重复请求和所述第二重复请求的查询结果,其中,所述第三请求是与所述第一重复请求和所述第二重复请求查询结果相同的在先请求;
55、第一执行模块,用于在通过所述关联标识确定与所述第一无效请求和所述第二无效请求相关联的第四请求执行完成的情况下,调整所述等待标识后执行所述第一无效请求和所述第二无效请求,其中,所述第四请求是造成所述第一无效请求和所述第二无效请求的查询结果无效的在先请求。
56、在本发明实施的第三方面,还提供了一种通信设备,包括:收发机、存储器、处理器及存储在所述存储器上并可在所述处理器上运行的程序;
57、所述处理器,用于读取存储器中的程序实现执行上述任一所述的消息处理方法。
58、在本发明实施的第四方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一所述的消息处理方法。
59、本发明实施例提供的消息处理方法,通过将新接收的第一请求的请求信息和消息队列中至少一个第二请求的请求信息比对,识别出第一重复请求,第一无效请求和需要进行下一步判断的目标请求组合,实现通过请求下发的信息进行第一层识别,确定出重复和无效的请求,将目标请求组合在预先设置的业务关联关系表中进行检索,识别出第二重复请求和第二无效请求;通过提前识别业务相关的请求,建立业务关联关系表,进一步识别出重复和无效的请求,将第一重复请求,第一无效请求,第二重复请求和第二无效请求添加等待标识和关联标识并存入目标等待队列,其中,关联标识是指将存在重复或无效关系的第一请求和第二请求建立关联的识别标识;通过关联标识获取与第一重复请求和第二重复请求相关联的第三请求的目标查询结果,将目标查询结果进行复用;减少实际执行的请求数量,提高请求队列的处理效率,在通过关联标识确定与第一无效请求和第二无效请求相关联的第四请求执行完成的情况下,调整等待标识后执行第一无效请求和第二无效请求,避免进行无意义的无效查询,提高查询的有效性,本发明实施例通过两层识别机制,将新请求与处于消息队列中的请求进行遍历并识别重复查询请求与无效查询请求,并对重复及无效查询采用列入等待队列以达到合并或降级的效果,达到消除重复及无效查询,减少实际执行的请求数量,同时提高查询的有效性也降低其他操作请求的等待时间,从而解决消息队列阻塞耗时问题。
本文地址:https://www.jishuxx.com/zhuanli/20240905/288542.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。