1.本技术涉及一种内容处理方案,具体而言,为一种高可用性的、适用于多能力方的内容处理方法、装置、终端及存储介质,属于计算机技术领域。
背景技术:2.现阶段,大多数的企业自研或第三方云服务平台都提供了诸多服务处理能力,尽管这些能力在技术实现层面的大体逻辑相同,但是在每种服务处理能力的实现过程中仍然存在着一定的工作量。如果存在两种相同的服务处理能力,不仅可能会涉及到对调用方调用逻辑的修改,而且还需要调用方协调调用多个能力相同或能力不同的能力方的工作、无形中增加了工作量,能力方也达不到高可用性的要求。
3.此外,如果需要在云服务平台内开发或添加新的服务处理能力,内容处理部分的调度还需要进行代码层面的开发。以内部ai服务处理能力为例,内容处理部分接入ai能力方,此时就涉及到双方对接的成本,其中也会存在一些重复劳动、影响服务处理效率。
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.图1是本发明方案中适用于多能力方的内容处理方法的流程示意图;
45.图2是本发明方案中适用于多能力方的内容处理装置的架构示意图;
46.图3是本发明一具体操作实例中适用于多能力方的内容处理方法的整体流程示意图;
47.图4是本发明一具体操作实例中适用于多能力方的内容处理装置的整体架构示意图。
具体实施方式
48.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。
49.一方面,本发明涉及一种适用于多能力方的内容处理方法,流程如图1所示,包括如下步骤:
50.s1、接收来自调用方的能力处理请求,针对所述能力处理请求进行预处理、生成任务结果;
51.在这一步骤中,所述预处理包括:保存所述能力处理请求、依据所述能力处理请求
进行参数校验以及依据所述能力处理请求进行md5加密幂等性处理等。
52.s2、将所述任务结果发送至中间消息队列并进行削峰限流,所述中间消息队列依据所述任务结果发送能力调用请求至能力方;
53.在这一步骤中,所述中间消息队列依据所述任务结果发送能力调用请求至能力方,包括如下流程:
54.当所述任务结果为已成功结果时,直接将该所述任务结果作为处理结果数据进行回调、不再向所述能力方发送所述能力调用请求且不对所述处理结果数据进行更新;
55.当所述能力调用请求发送失败或所述能力调用请求未被能力方响应时,触发失败重试机制,依据能力配置策略进行重试,直至重试次数达到预设最大次数;
56.当所述任务结果为正在处理结果时,直接将该所述任务结果废止,因为此时存在相同任务在处理了,无需重复提交。
57.s3、当所述能力调用请求成功时,所述中间消息队列发送心跳消息、进行心跳检查,依据所述心跳消息中的配置定期进行任务状态查询,针对所述任务状态进行后续处理。
58.s4、回调能力方处理完成后生成的处理结果数据,将所述处理结果数据发送至结果消息队列并进行削峰限流,依据所述处理结果数据执行任务结果处理流程并将所述处理结果数据反馈至调用方;
59.在这一步骤中,所述依据所述处理结果数据执行任务结果处理流程并将所述处理结果数据反馈至调用方,包括如下流程:
60.s41、依据当前所述处理结果数据对与之相匹配的任务状态进行更新,
61.若任务状态为成功,则以当前所述处理结果数据对遗留当前所述处理结果数据,
62.若任务状态为失败,则再次触发失败重试机制,依据能力配置策略进行重试,直至重试次数达到预设最大次数;
63.s42、将所述处理结果数据反馈至调用方,
64.若任务状态为成功,则反馈当前任务中全部未反馈的所述处理结果数据及已反馈但处理失败的所述处理结果数据,
65.若任务状态为失败,则仅反馈当前任务中全部未反馈的所述处理结果数据。
66.s5、依据所述能力处理请求进行任务补偿处理,所述任务补偿处理为,
67.s51、根据预设请求周期,本实施例中所述预设执行周期为半小时,对未处理的所述能力处理请求进行重新接收,再针对所述能力处理请求进行预处理、生成任务结果;
68.s52、根据预设回调周期,本实施例中所述预设回调周期为六小时,对处理失败的、未反馈至调用方的所述能力处理请求,补偿反馈至调用方、保证响应率。
69.在基于上述方法思路的一具体操作实例中,所述适用于多能力方的内容处理方法的整体流程示意图如图3所示。
70.就上述方法的整体思路而言,本发明方案中的方法具有如下几点优势。
71.1、接收调用方任务处理请求和能力方处理结果回调请求的时候引入中间消息队列、进行削峰限流,最大程度保证数据持久化速度,已经任务并发能力;
72.2、针对调用方处理请求根据参数,能力进行md5加密,判断是否已经处理成功,针对成功的直接进行结果回调,失败的会再次处理,最大程度保证成功率,响应速率,同时也支持针对成功的进行最新结果刷新;
73.3、从发送任务到中间消息队列,能力处理,结果回调等都引入了重试机制,支持不同能力不同重试策略,针对不需要重试的则可只执行一次,从而提升处理响应的成功率,保证响应率能达到99.9%;
74.4、引入多能力方处理机制,即一种能力,通过多种方案实现,针对不同调用方,查询出支持的能力方列表,当会自动尝试按照优先级使用该调用方配置的其他能力方进行处理,中间不同能力方的入参和响应参数不一致的问题由该应用进行适配,保证接收/响应一致性;
75.5、针对自研如ai能力,支持配置化接入,通过配置调用地址,识别码,处理策略即可接入新的能力,方便快捷;
76.6、增加了补偿机制,通过每条任务心跳检查任务处理进度,超时进行响应调用方,每半小时针对未完成的,未回调调用方的进行任务补偿回调,提高响应率。
77.综上所述,本发明所提出的一种适用于多能力方的内容处理方法,通过引入中间消息队列的方式,最大程度地保证了数据持久化的速度及任务并发能力。同时,本发明的方法还利用了所设置的失败重试、补偿等机制,在保证了响应率的前提下大幅提升了响应处理的成功率、可用性。
78.另一方面,本发明还涉及一种适用于多能力方的内容处理装置,架构如图2所示,包括:
79.处理请求接收模块,被配置为接收来自调用方的能力处理请求,针对所述能力处理请求进行预处理、生成任务结果;
80.中间队列处理模块,被配置为将所述任务结果发送至中间消息队列并进行削峰限流,所述中间消息队列依据所述任务结果发送能力调用请求至能力方;
81.心跳消息检查模块,被配置为当所述能力调用请求成功时,所述中间消息队列发送心跳消息、进行心跳检查,依据所述心跳消息中的配置定期进行任务状态查询,针对所述任务状态进行后续处理;
82.处理结果回调模块,被配置为回调能力方处理完成后生成的处理结果数据,将所述处理结果数据发送至结果消息队列并进行削峰限流,依据所述处理结果数据执行任务结果处理流程并将所述处理结果数据反馈至调用方;
83.任务补偿处理模块,被配置为依据所述能力处理请求进行任务补偿处理,所述任务补偿处理为,
84.根据预设请求周期对未处理的所述能力处理请求进行重新接收,再针对所述能力处理请求进行预处理、生成任务结果,
85.根据预设回调周期对处理失败的、未反馈至调用方的所述能力处理请求,补偿反馈至调用方。
86.在基于上述装置思路的一具体操作实例中,所述适用于多能力方的内容处理装置的整体架构示意图如图4所示。
87.又一方面,本发明还涉及一种终端,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如前文所述的适用于多能力方的内容处理方法中的步骤,例如图1所示的步骤。或者,处理器执行计算机程序时实现上述各装置实施例中各模块/单元的功能,例如图2所示的各模块/单元的
功能。
88.再一方面,本发明还涉及一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行所述计算机程序时实现如前文所述的适用于多能力方的内容处理方法中的步骤。
89.其中,可读存储介质可以是计算机存储介质,也可以是通信介质。通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。计算机存储介质可以是通用或专用计算机能够存取的任何可用介质。例如,可读存储介质耦合至处理器,从而使处理器能够从该可读存储介质读取信息,且可向该可读存储介质写入信息。当然,可读存储介质也可以是处理器的组成部分。处理器和可读存储介质可以位于专用集成电路(application specific integrated circuits,asic)中。另外,该asic可以位于用户设备中。当然,处理器和可读存储介质也可以作为分立组件存在于通信设备中。可读存储介质可以是只读存储器(rom)、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
90.与上述方法相对应的,本发明所提出的一种适用于多能力方的内容处理装置、终端及存储介质,以系统化、标准化的处理流程实现了对不同能力方的调用,保证了接收/响应的一致性,进而为云服务平台中诸多服务处理能力的实现提供了技术支持,而且硬件方案的适配性和兼容性较高,能够切实地应用于各类实际的内容处理场景中。
91.本发明还为其他相关技术提供了参考,可以以此为依据进行拓展延伸和深入研究,具有十分广阔的应用前景。
92.对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神和基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。
93.最后,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
技术特征:1.一种适用于多能力方的内容处理方法,其特征在于,包括如下步骤:接收来自调用方的能力处理请求,针对所述能力处理请求进行预处理、生成任务结果;将所述任务结果发送至中间消息队列并进行削峰限流,所述中间消息队列依据所述任务结果发送能力调用请求至能力方;当所述能力调用请求成功时,所述中间消息队列发送心跳消息、进行心跳检查,依据所述心跳消息中的配置定期进行任务状态查询,针对所述任务状态进行后续处理;回调能力方处理完成后生成的处理结果数据,将所述处理结果数据发送至结果消息队列并进行削峰限流,依据所述处理结果数据执行任务结果处理流程并将所述处理结果数据反馈至调用方。2.根据权利要求1所述的适用于多能力方的内容处理方法,其特征在于,在所述针对所述能力处理请求进行预处理、生成任务结果中,所述预处理包括:保存所述能力处理请求、依据所述能力处理请求进行参数校验以及依据所述能力处理请求进行加密幂等性处理。3.根据权利要求2所述的适用于多能力方的内容处理方法,其特征在于,在所述中间消息队列依据所述任务结果发送能力调用请求至能力方中,包括如下步骤:当所述任务结果为已成功结果时,直接将该所述任务结果作为处理结果数据进行回调、不再向所述能力方发送所述能力调用请求且不对所述处理结果数据进行更新;当所述能力调用请求发送失败或所述能力调用请求未被能力方响应时,依据能力配置策略进行重试,直至重试次数达到预设最大次数;当所述任务结果为正在处理结果时,直接将该所述任务结果废止。4.根据权利要求3所述的适用于多能力方的内容处理方法,其特征在于,在所述依据所述处理结果数据执行任务结果处理流程并将所述处理结果数据反馈至调用方中,包括如下步骤:依据当前所述处理结果数据对与之相匹配的任务状态进行更新,若任务状态为成功,则以当前所述处理结果数据对遗留当前所述处理结果数据,若任务状态为失败,则依据能力配置策略进行重试,直至重试次数达到预设最大次数;将所述处理结果数据反馈至调用方,若任务状态为成功,则反馈当前任务中全部未反馈的所述处理结果数据及已反馈但处理失败的所述处理结果数据,若任务状态为失败,则仅反馈当前任务中全部未反馈的所述处理结果数据。5.根据权利要求4所述的适用于多能力方的内容处理方法,其特征在于,在所述回调能力方处理完成后生成的处理结果数据,将所述处理结果数据发送至结果消息队列并进行削峰限流,依据所述处理结果数据执行任务结果处理流程并将所述处理结果数据反馈至调用方之后,还包括如下步骤:依据所述能力处理请求进行任务补偿处理,所述任务补偿处理为,根据预设请求周期对未处理的所述能力处理请求进行重新接收,再针对所述能力处理请求进行预处理、生成任务结果;根据预设回调周期对处理失败的、未反馈至调用方的所述能力处理请求,补偿反馈至调用方。6.一种适用于多能力方的内容处理装置,其特征在于,包括:
处理请求接收模块,被配置为接收来自调用方的能力处理请求,针对所述能力处理请求进行预处理、生成任务结果;中间队列处理模块,被配置为将所述任务结果发送至中间消息队列并进行削峰限流,所述中间消息队列依据所述任务结果发送能力调用请求至能力方;心跳消息检查模块,被配置为当所述能力调用请求成功时,所述中间消息队列发送心跳消息、进行心跳检查,依据所述心跳消息中的配置定期进行任务状态查询,针对所述任务状态进行后续处理;处理结果回调模块,被配置为回调能力方处理完成后生成的处理结果数据,将所述处理结果数据发送至结果消息队列并进行削峰限流,依据所述处理结果数据执行任务结果处理流程并将所述处理结果数据反馈至调用方。7.根据权利要求6所述的适用于多能力方的内容处理装置,其特征在于,还包括:任务补偿处理模块,被配置为依据所述能力处理请求进行任务补偿处理,所述任务补偿处理为,根据预设请求周期对未处理的所述能力处理请求进行重新接收,再针对所述能力处理请求进行预处理、生成任务结果,根据预设回调周期对处理失败的、未反馈至调用方的所述能力处理请求,补偿反馈至调用方。8.一种终端,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5中任一所述的适用于多能力方的内容处理方法中的步骤。9.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行所述计算机程序时实现如权利要求1至5中任一所述的适用于多能力方的内容处理方法中的步骤。
技术总结本申请公开了一种适用于多能力方的内容处理方法、装置、终端及存储介质,方法包括:接收来自调用方的能力处理请求,进行预处理、生成任务结果;将任务结果发送至中间消息队列并进行削峰限流,发送能力调用请求至能力方;当能力调用请求成功时,进行心跳检查,依据心跳消息进行任务状态查询,进行后续处理;回调能力方处理完成后生成的处理结果数据,依据处理结果数据执行任务结果处理流程并将处理结果数据反馈至调用方。本发明通过引入中间消息队列的方式,最大程度地保证了数据持久化的速度及任务并发能力。同时,本发明还利用了所设置的失败重试、补偿等机制,在保证了响应率的前提下大幅提升了响应处理的成功率、可用性。可用性。可用性。
技术研发人员:王喆 范凌 金从信
受保护的技术使用者:特赞(上海)信息科技有限公司
技术研发日:2022.07.15
技术公布日:2022/11/1