本发明涉及计算机,尤其涉及一种调用请求的处理方法和装置。
背景技术:
1、随着计算机技术的快速发展,各个应用的功能不断扩增,相应的应用逻辑越来越复杂,为了防止应用功能的开发、维护、测试等工作复杂度过高导致的成本、频繁出错问题,通常选择将应用功能拆分为多个小粒度的服务,通过微服务编排以实现应用逻辑。
2、作为典型的服务编排框架,netflix conductor可以实现基于worker的任务开发,将worker内的不同的节点编排成有向无环图的工作流,以实现对应的任务功能,使得任务对应的逻辑有序执行。比如,任务为http请求。
3、现有的http请求处理中,通常是针对每一个http请求,自定义一个worker接口类,编写任务逻辑进行测试,测试成功后注册并发布。然而,由于不同请求的接口url、请求参数等各不相同,http请求对应变更频繁,面对巨大的请求量,需要频繁变更worker定义、测试、重新上线等,使得对应的开发和维护成本过高、效率低下,影响请求服务的稳定性。
技术实现思路
1、有鉴于此,本发明实施例提供一种调用请求的处理方法和装置,能够适应各种复杂多变的服务环境,满足各种调用请求的处理目标、极易操作、无需频繁发布,在提升编排效率的同时,可以降低开发和维护成本,保证服务的稳定性。
2、为实现上述目的,根据本发明实施例的一个方面,提供了一种调用请求的处理的方法,包括:
3、接收调用请求;其中,所述调用请求指示了请求参数;
4、根据所述请求参数和预生成的服务模板,生成与所述调用请求对应的目标worker服务;其中,所述目标worker服务指示了一个或多个服务参数,所述服务模板是根据多个历史调用请求分别对应的worker服务聚合生成的;
5、根据所述服务参数中的接口参数,确定所述目标worker服务的服务接口,并将所述服务参数中除所述接口参数以外的其他服务参数,通过所述服务接口发送给所述目标worker服务对应的服务器,以使所述服务器对所述调用请求进行处理;
6、接收所述服务器通过所述服务接口返回的处理结果。
7、可选地,所述根据所述请求参数和预生成的服务模板,生成与所述调用请求对应的目标worker服务,包括:
8、根据所述服务模板所需的模板参数,从所述请求参数中确定与所述模板参数对应的目标请求参数,并将所述目标请求参数填充至所述服务模板中,以生成所述服务模板对应的服务参数;
9、根据填充后的所述服务模板中的服务参数、以及除所述目标请求参数以外的其他请求参数,生成所述目标worker服务。
10、可选地,还包括:
11、获取多个历史调用请求;其中,所述历史调用请求指示了包括历史请求参数和历史请求函数的worker服务;
12、分别对所述历史请求参数和所述历史请求函数进行聚合,确定所述服务模板的模板参数和模板函数;
13、根据所述模板参数和所述模板函数,生成所述worker服务对应的服务模板。
14、可选地,所述模板参数包括必选参数,还包括:
15、确定所述请求参数是否包括与所述必选参数对应的目标请求参数;
16、在所述请求参数不包括与所述必选参数对应的目标请求参数的情况下,拒绝所述调用请求。
17、可选地,所述服务参数包括url;所述将所述服务参数中除所述接口参数以外的其他服务参数,通过所述服务接口发送给所述目标worker服务对应的服务器,包括:
18、确定所述目标worker服务的目的地址是否为空;
19、在所述url为空的情况下,将所述其他服务参数通过默认网关发送给所述服务接口,以通过所述服务接口将所述其他服务参数发送给所述服务器;
20、在所述url不为空的请求下,利用所述url映射至所述服务接口,将所述其他服务参数发送给所述服务接口,以通过所述服务接口将所述其他服务参数发送给所述服务器。
21、可选地,还包括:
22、根据所述处理结果,更新所述目标worker服务的执行状态;
23、在所述处理结果为成功的情况下,将所述处理结果对应的处理数据写入所述输出日志,并更新所述执行状态为执行成功;
24、在所述处理结果为失败的情况下,将所述处理结果写入输出日志,并更新所述执行状态为执行失败。
25、可选地,其中:
26、在所述调用请求为http请求的情况下,所述http请求包括以下任意一种:get请求、post请求、put请求、delete请求、head请求、options请求、trace请求、connect请求。
27、根据本发明实施例的再一个方面,提供了一种调用请求的处理装置,包括:
28、接收模块,用于接收调用请求;其中,所述调用请求指示了请求参数;
29、生成模块,用于根据所述请求参数和预生成的服务模板,生成与所述调用请求对应的目标worker服务;其中,所述目标worker服务指示了一个或多个服务参数,所述服务模板是根据多个历史调用请求分别对应的worker服务聚合生成的;
30、服务接口确定模块,用于根据所述服务参数中的接口参数,确定所述目标worker服务的服务接口,并将所述服务参数中除所述接口参数以外的其他服务参数,通过所述服务接口发送给所述目标worker服务对应的服务器,以使所述服务器对所述调用请求进行处理;
31、接收模块,还用于接收所述服务器通过所述服务接口返回的处理结果。
32、根据本发明实施例的另一个方面,提供了一种调用请求的处理电子设备,包括:
33、一个或多个处理器;
34、存储装置,用于存储一个或多个程序,
35、当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明提供的调用请求的处理方法。
36、根据本发明实施例的还一个方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明提供的调用请求的处理方法。
37、上述发明中的一个实施例具有如下优点或有益效果:因为采用分析历史调用请求,对历史请求参数和历史请求函数进行聚合,生成与调用请求对应的worker服务的服务模板,从而在处理新的调用请求时,根据请求参数填充服务模板,以生成目标worker服务,从而处理对应的调用请求的技术手段,所以克服了现有的调用请求变更频繁、需要反复测试、重复上线等,使得对应的开发和维护成本过高、效率低下,影响请求服务的稳定性的技术问题,进而达到能够适应各种复杂多变的服务环境,满足各种调用请求的处理目标、极易操作、无需频繁发布,在提升编排效率的同时,可以降低开发和维护成本,保证服务的稳定性的技术效果。
38、上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
1.一种调用请求的处理方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述根据所述请求参数和预生成的服务模板,生成与所述调用请求对应的目标worker服务,包括:
3.根据权利要求2所述的方法,其特征在于,还包括:
4.根据权利要求3所述的方法,其特征在于,所述模板参数包括必选参数,还包括:
5.根据权利要求1所述的方法,其特征在于,所述服务参数包括url;所述将所述服务参数中除所述接口参数以外的其他服务参数,通过所述服务接口发送给所述目标worker服务对应的服务器,包括:
6.根据权利要求1所述的方法,其特征在于,还包括:
7.根据权利要求2所述的方法,其特征在于,其中:
8.一种调用请求的处理装置,其特征在于,包括:
9.一种调用请求的处理电子设备,其特征在于,包括:
10.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-7中任一所述的方法。