本发明涉及软件开发,尤其涉及一种服务请求的处理方法和装置。
背景技术:
1、对于应用系统而言,经常涉及到错综复杂的逻辑处理,繁琐的条件判断等情况,这极大地增加了开发人员编写代码的工作量。现有技术中,开发人员需要根据应用系统的各种处理逻辑,编写代码文件,实现应用系统的各项功能。开发的代码文件灵活性差、复用性低,且需要耗费大量的人力成本。
技术实现思路
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、确定并展示所述选择操作对应的多个服务组件;
60、接收针对所述选择操作对应的多个服务组件的编排操作;
61、根据所述编排操作,生成所述目标服务对应的服务规则。
62、第三方面,本发明实施例提供了一种电子设备,包括:
63、一个或多个处理器;
64、存储装置,用于存储一个或多个程序,
65、当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任一实施例所述的方法。
66、第四方面,本发明实施例提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现上述任一实施例所述的方法。
67、第五方面,本发明实施例提供了一种计算机程序产品,包括计算机程序,所述程序被处理器执行时实现上述任一实施例所述的方法。
68、上述发明中的一个实施例具有如下优点或有益效果:目标服务对应的调用链由多个具有执行顺序的服务组件组成。可以将实现公共处理逻辑、最小功能处理逻辑或具体需求逻辑等的功能单元,封装成多个服务组件。实现各服务时,编排各服务组件,生成该服务组件对应的执行链,通过执行链,完成服务的业务处理。
69、通过在系统中设置多个服务组件及执行链,能够使开发的代码文件具有较高的灵活性差及复用性。通过编排各服务对应的调用链,完成服务的业务处理,能够降低系统开发需要耗费的人力成本。
70、此外,将用户信息及请求信息封装在全局对象中,即使调用链中的各服务组件处于无服务、无状态等情况下,各服务组件也可以获取到全局对象中的相关参数,确保服务请求对应的业务处理的顺利执行。
71、上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
1.一种服务请求的处理方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述获取所述目标服务对应的调用链,包括:
3.根据权利要求1所述的方法,其特征在于,所述获取所述目标服务对应的调用链之前,还包括:
4.根据权利要求3所述的方法,其特征在于,所述根据所述服务规则,依次组装所述服务规则对应的多个服务组件,生成所述目标服务对应的调用链之后,还包括:
5.根据权利要求3所述的方法,其特征在于,所述获取所述目标服务对应的服务规则之前,还包括:
6.根据权利要求3所述的方法,其特征在于,所述根据所述服务规则,依次组装所述服务规则对应的多个服务组件,生成所述目标服务对应的调用链之后,还包括:
7.根据权利要求3所述的方法,其特征在于,所述根据所述服务规则,依次组装所述服务规则对应的多个服务组件,生成所述目标服务对应的调用链之后,还包括:
8.一种服务请求的处理装置,其特征在于,包括:
9.根据权利要求8所述的装置,其特征在于,所述链获取模块具体用于:
10.根据权利要求8所述的装置,其特征在于,还包括:
11.根据权利要求10所述的装置,其特征在于,所述链生成模块还用于:
12.根据权利要求10所述的装置,其特征在于,所述链生成模块还用于:
13.一种电子设备,其特征在于,包括:
14.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-7中任一所述的方法。
15.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7中任一项所述的方法。
