本申请涉及计算机,具体而言,涉及一种ab测试分流管理方法、装置、设备及存储介质。
背景技术:
1、nginx(engine x)是一个高性能的开源web服务器,当nginx作为反向代理服务器时,可以通过配置nginx来实现基于url的ab测试分流。但是,nginx并不支持复杂逻辑的配置,如根据ip、流量、城市等进行ab测试分流,因此现有方案需要通过客户端对分流策略进行解析并跳转指定页面,导致用户侧需要等待较长的加载时间。综上,亟需一种针对ab测试分流场景中提高页面访问效率的方案。
技术实现思路
1、本申请实施例的目的在于提供一种ab测试分流管理方法、装置、设备及存储介质,用以在ab测试分流场景中提高页面访问效率。
2、第一方面,本申请实施例提供了一种ab测试分流管理方法,由服务端执行,包括:
3、响应于客户端的页面访问请求,并生成对应于所述页面访问请求的用户分流标识;
4、获取与所述用户分流标识对应的ab测试分流策略;
5、基于所述ab测试分流策略确定目标网络地址,以使所述客户端基于所述目标网络地址进行页面加载。
6、在本申请实施例中,通过在服务端根据页面访问请求确定分流标识,并依据分流标识获取对应的分流策略确定目标网络地址,使得客户端能够直接根据目标网络地址进行页面加载,有效提高了页面访问效率。
7、在一些可能的实施例中,所述获取与所述用户分流标识对应的ab测试分流策略,包括:
8、判断内存数据存储系统中是否缓存有与所述用户分流标识相匹配的策略结果;
9、若是,则读取所述策略结果作为与所述用户分流标识对应的ab测试分流策略;
10、若否,则基于所述用户分流标识发起策略获取请求,以获取与所述用户分流标识对应的ab测试分流策略。
11、在本申请实施例中,通过直接从缓存中读取与当前分流标识相匹配的分流策略,从而减少分流策略的获取请求,进一步提高了页面访问的效率。
12、在一些可能的实施例中,在所述获取与所述用户分流标识对应的ab测试分流策略之后,还包括:
13、基于预设的缓存时长对所述用户分流标识及其对应的ab测试分流策略缓存至内存数据存储系统。
14、在本申请实施例中,在获取当前分流标识对应的分流策略之后,通过基于设定的缓存时长对该分流标识及其对应分流策略进行缓存,从而在后续获取分流策略时减少获取请求,进一步提高了页面访问的效率。
15、在一些可能的实施例中,所述内存数据存储系统为采用redis存储系统;
16、所述基于预设的缓存时长对所述用户分流标识及其对应的ab测试分流策略缓存至内存数据存储系统,具体为:
17、分别根据所述用户分流标识及其对应的ab测试分流策略生成数据键值对的关键字和值,基于预设的缓存时长将所述数据键值对缓存至内存数据存储系统。
18、在本申请实施例中,通过redis存储系统以键值对的方式对策略数据进行缓存,能够提高缓存数据的读写速度,从而进一步提高了页面访问的效率。
19、在一些可能的实施例中,所述服务端配置有node服务器,且所述服务端通过nginx服务器将访问请求代理至所述node服务器。
20、在本申请实施例中,通过nginx服务器将访问请求代理至node服务器,能够连接数据库存取数据并且提高io处理速度,从而进一步提高了页面访问的效率。
21、在一些可能的实施例中,所述响应于客户端的页面访问请求,并生成对应于所述页面访问请求的用户分流标识,包括:
22、响应于客户端的页面访问请求,获取所述页面访问请求中的产品库存标识及场景标识,并基于所述产品库存标识及场景标识生成对应于所述页面访问请求的用户分流标识。
23、在本申请实施例中,通过获取页面访问请求中的产品库存标识及场景标识来作为用于获取分流策略的用户分流标识,能够防止错误链接注入导致错误策略分配,从而提高了分流策略获取的准确性。
24、在一些可能的实施例中,所述客户端基于所述目标网络地址进行页面加载,具体为:
25、所述客户端在基于所述目标网络地址获取html代码之后,基于所述html代码获取ab测试组件策略,并从ssr渲染容器中获取与所述ab测试组件策略相匹配的页面内容,以完成页面加载。
26、在本申请实施例中,通过在html代码中返回ab测试组件策略,使得客户端能够从html代码中获取组件策略并直接匹配相应的页面内容,从而进一步提高了页面访问的效率。
27、第二方面,本申请实施例提供了一种ab测试分流管理装置,包括:
28、生成模块,用于响应于客户端的页面访问请求,并生成对应于所述页面访问请求的用户分流标识;
29、获取模块,用于获取与所述用户分流标识对应的ab测试分流策略;
30、加载模块,用于基于所述ab测试分流策略确定目标网络地址,以使所述客户端基于所述目标网络地址进行页面加载。
31、第三方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时可实现第一方面任一实施例所述的方法。
32、第四方面,本申请实施例提供了一种计算机程序产品,所述的计算机程序产品包括计算机程序,其中,所述的计算机程序被处理器执行时可实现第一方面任一实施例所述的方法。
33、第五方面,本申请实施例提供了一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述程序时可实现第一方面任一实施例所述的方法。
1.一种ab测试分流管理方法,其特征在于,由服务端执行,包括:
2.根据权利要求1所述的ab测试分流管理方法,其特征在于,所述获取与所述用户分流标识对应的ab测试分流策略,包括:
3.根据权利要求2所述的ab测试分流管理方法,其特征在于,在所述获取与所述用户分流标识对应的ab测试分流策略之后,还包括:
4.根据权利要求3所述的ab测试分流管理方法,其特征在于,所述内存数据存储系统为采用redis存储系统;
5.根据权利要求1所述的ab测试分流管理方法,其特征在于,所述服务端配置有node服务器,且所述服务端通过nginx服务器将访问请求代理至所述node服务器。
6.根据权利要求1所述的ab测试分流管理方法,其特征在于,所述响应于客户端的页面访问请求,并生成对应于所述页面访问请求的用户分流标识,包括:
7.根据权利要求1所述的ab测试分流管理方法,其特征在于,所述客户端基于所述目标网络地址进行页面加载,具体为:
8.一种ab测试分流管理装置,其特征在于,包括:
9.一种电子设备,其特征在于,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述程序时可实现权利要求1-7任一所述的ab测试分流管理方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1-7任一所述的ab测试分流管理方法。