本申请涉及系统隔离测试,尤其涉及一种标记扩散服务隔离测试方法、装置、设备及介质。
背景技术:
1、一般业务系统需要在新业务上线前进行灰度测试,在活动前进行性能测试,即压测,现有技术需要分别做灰度测试和压测两方面的方案设计,缺乏统一的方案。
2、目前移动端用户对灰度请求的验证有两种方法,一种是基于配置名单的验证,可对包含指定用户id、卡号、证件号等字段的请求进行灰度验证。另一种是基于字段哈希hash比例的验证,可对包含用户id、证件号、卡号等要素的请求按hash比例验证。但基于以上的设计,无论是配置名单还是hash比例都只能灰度测试到有限的请求,因为灰度测试的策略只是针对某几个因素,无法串联同一个用户的所有请求到灰度服务器验证。
3、而对压测需求,一般都是先做写请求压测后,再利用写请求压测进去的数据做读请求压测,后续的压测基本都是复用这些压测数据。以上的压测方案还存在着以下问题,一方面压测数据和生产数据混在一起,在清理压测数据时可能造成数据误删,无法保证两种数据隔离,另一方面每次清理压测数据做删除delete操作,导致数据库节点碎片率提升。
技术实现思路
1、本申请实施例提供了一种标记扩散服务隔离测试方法、装置、设备及介质,用以解决灰度测试和压测方案缺乏统一、灰度测试无法串联同一个用户的所有请求到灰度服务器验证、压测数据做删除delete操作,导致数据库节点碎片率提升的问题。
2、本申请提供了一种标记扩散服务隔离测试方法,所述方法包括:
3、接收数据处理请求,根据所述数据处理请求和预先保存的灰度扩散标记确定所述数据处理请求的请求类型,其中,同一用户的各个要素均包括所述灰度扩散标记;
4、若所述数据处理请求的请求类型为灰度请求,将所述数据处理请求转发到灰度服务器;在所述灰度服务器中,根据所述数据处理请求进行灰度测试,并将灰度测试数据写入正式表;
5、若所述数据处理请求的请求类型为压测请求,将所述数据处理请求转发到压测服务器;在所述压测服务器中,根据所述数据处理请求进行压测,并将得到的压测数据写入影子表;当触发压测数据清理时,清理所述影子表;
6、若所述数据处理请求的请求类型为正常请求,将所述数据处理请求转发到正常服务器;在所述正常服务器中正常处理业务,并将得到的正常业务数据写入正式表。
7、另一方面,本申请提供了一种标记扩散服务隔离测试装置,所述装置包括:
8、确定模块,用于接收数据处理请求,根据所述数据处理请求和预先保存的灰度扩散标记确定所述数据处理请求的请求类型,其中,同一用户的各个要素均包括所述灰度扩散标记;
9、测试模块,用于若所述数据处理请求的请求类型为灰度请求,将所述数据处理请求转发到灰度服务器;在所述灰度服务器中,根据所述数据处理请求进行灰度测试,并将灰度测试数据写入正式表;若所述数据处理请求的请求类型为压测请求,将所述数据处理请求转发到压测服务器;在所述压测服务器中,根据所述数据处理请求进行压测,并将得到的压测数据写入影子表;当触发压测数据清理时,清理所述影子表;若所述数据处理请求的请求类型为正常请求,将所述数据处理请求转发到正常服务器;在所述正常服务器中正常处理业务,并将得到的正常业务数据写入正式表。
10、再一方面,本申请提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
11、存储器,用于存放计算机程序;
12、处理器,用于执行存储器上所存放的程序时,实现上述任一项所述的方法步骤。
13、再一方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法步骤。
14、本申请提供了一种标记扩散服务隔离测试方法、装置、设备及介质,所述方法包括:接收数据处理请求,根据所述数据处理请求和预先保存的灰度扩散标记确定所述数据处理请求的请求类型,其中,同一用户的各个要素均包括所述灰度扩散标记;若所述数据处理请求的请求类型为灰度请求,将所述数据处理请求转发到灰度服务器;在所述灰度服务器中,根据所述数据处理请求进行灰度测试,并将灰度测试数据写入正式表;若所述数据处理请求的请求类型为压测请求,将所述数据处理请求转发到压测服务器;在所述压测服务器中,根据所述数据处理请求进行压测,并将得到的压测数据写入影子表;当触发压测数据清理时,清理所述影子表;若所述数据处理请求的请求类型为正常请求,将所述数据处理请求转发到正常服务器;在所述正常服务器中正常处理业务,并将得到的正常业务数据写入正式表。
15、上述的技术方案具有如下优点或有益效果:
16、本申请中预先保存灰度扩散标记,其中,同一用户的各个要素均包括灰度扩散标记,根据数据处理请求和灰度扩散标记确定请求类型,并转发到请求类型对应的服务器进行处理,实现了灰度测试和压测方案的统一。基于灰度扩散标记确定请求类型保证了同一个用户的所有灰度请求到灰度服务器验证。压测数据与正常业务数据分开存储,压测数据写入影子表,正常业务数据写入正式表,当触发压测数据清理时,清理整个影子表,避免了压测数据做删除delete操作,导致数据库节点碎片率提升的问题。
1.一种标记扩散服务隔离测试方法,其特征在于,所述方法包括:
2.如权利要求1所述的方法,其特征在于,所述根据所述数据处理请求和预先保存的灰度扩散标记确定所述数据处理请求的请求类型包括:
3.如权利要求1所述的方法,其特征在于,预先保存灰度扩散标记的过程包括:
4.如权利要求1所述的方法,其特征在于,所述将所述数据处理请求转发到灰度服务器包括:
5.如权利要求1所述的方法,其特征在于,所述将所述数据处理请求转发到压测服务器包括:
6.如权利要求1所述的方法,其特征在于,所述将压测数据写入影子表包括:
7.如权利要求1所述的方法,其特征在于,所述方法还包括:
8.如权利要求1所述的方法,其特征在于,所述方法还包括:
9.如权利要求8所述的方法,其特征在于,预先保存压测扩散标记的过程包括:
10.一种标记扩散服务隔离测试装置,其特征在于,所述装置包括:
11.如权利要求10所述的装置,其特征在于,所述确定模块,具体用于将所述数据处理请求和压测策略中的固定字段进行匹配,若匹配成功,确定所述数据处理请求的请求类型为压测请求;若匹配不成功,将所述数据处理请求分别与灰度测试名单及所述灰度扩散标记进行匹配,若匹配成功,确定所述数据处理请求的请求类型为灰度请求;若匹配不成功,确定所述数据处理请求的请求类型为正常请求。
12.如权利要求10所述的装置,其特征在于,所述装置还包括:
13.如权利要求10所述的装置,其特征在于,所述测试模块,具体用于控制灰度隔离开关打开,使所述灰度服务器不接收任何请求;控制灰度验证开关打开,并控制灰度隔离开关关闭,使所述灰度服务器只接收灰度请求,将所述数据处理请求转发到灰度服务器。
14.如权利要求10所述的装置,其特征在于,所述测试模块,具体用于控制压测隔离开关打开,使所述压测服务器不接收任何请求;控制压测切换开关打开,并控制压测隔离开关关闭,使所述压测服务器只接收压测请求,将所述数据处理请求转发到压测服务器。
15.如权利要求10所述的装置,其特征在于,所述测试模块,具体用于控制压测隔离开关打开,使所述压测服务器不接收任何请求;控制压测切换开关打开,并控制压测隔离开关关闭,将数据库由正式表切换为影子表,将压测数据写入所述影子表。
16.如权利要求10所述的装置,其特征在于,所述测试模块,还用于将所述压测数据和所述正常业务数据写入同一个缓存。
17.如权利要求10所述的装置,其特征在于,所述测试模块,还用于若所述压测请求为压测读请求,判断预先保存的压测扩散标记是否失效,若未失效,将所述压测读请求路由到任意服务器;若失效,将所述压测读请求路由到所述压测服务器,将压测数据从所述影子表中读取出来回写到缓存中,并重新回写压测扩散标记到预先保存压测扩散标记的缓存。
18.如权利要求17所述的装置,其特征在于,所述装置还包括:
19.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-9任一项所述的方法步骤。