本发明涉及计算机,尤其涉及一种灰度验证的方法和装置。
背景技术:
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、上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。