CN110457223B - 灰度测试引流方法、装置、代理服务器及可读存储介质 - Google Patents
灰度测试引流方法、装置、代理服务器及可读存储介质 Download PDFInfo
- Publication number
- CN110457223B CN110457223B CN201910744137.0A CN201910744137A CN110457223B CN 110457223 B CN110457223 B CN 110457223B CN 201910744137 A CN201910744137 A CN 201910744137A CN 110457223 B CN110457223 B CN 110457223B
- Authority
- CN
- China
- Prior art keywords
- test
- gray
- access
- target application
- access request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种灰度测试引流方法、装置、代理服务器及可读存储介质,本发明的方法,根据设定灰度测试条件和灰度测试策略,确定访问请求所请求访问的目标应用是否满足灰度测试条件;若目标应用满足灰度测试条件,则根据访问基本信息和访问衍生信息,判断访问请求是否符合灰度测试策略;若访问请求符合灰度测试策略,则将访问请求引流至灰度测试平台;若访问请求不符合灰度测试策略,则将访问请求引流至互联网产品平台,能够根据实际的访问请求获取的目标应用及访问者的相关信息进行灰度测试,无需用户登录,且通过根据实际应用环境调整灰度测试条件和灰度测试策略,能够适用于互联网产品的真实环境,提高了互联网产品的测试效率和测试准确率。
Description
技术领域
本发明涉及软件测试技术领域,尤其涉及一种灰度测试引流方法、装置、代理服务器及可读存储介质。
背景技术
面对互联网产品日益激烈的竞争,互联网公司不得已缩短产品开发周期,提高版本迭代频率,因此在产品发布生产时极可能会出现场景、功能测试不全面,导致出现生产故障。且对于一些需与外围系统交互的系统,存在部分场景无法在测试环境进行测试的情况。
现有技术中对互联网产品进行测试的方法为灰度测试引流方法,现有的灰度测试引流方法主要是内部员工通过用户名登录到产品平台,根据用户名判断是否符合灰度测试的条件,若符合则进入灰度测试平台进行灰度测试。
但现有技术中对互联网产品进行灰度测试的方法,不适用于互联网产品的真实环境,第一个是因为互联网用户在访问产品时多数情况不会主动登录,只有在进行某些操作受阻时,比如下单、付款,才会进行登录操作。第二个是因为互联网用户访问产品时间不可控,有可能连续多日不访问产品,这种用户即使被赋予灰度权限也会错过测试时间,失去将其引流到灰度环境的意义,第三个是因为用户访问产品具有随意性,用户在使用产品时往往只关注某几项功能,并不会对所有功能进行使用,这种用户在引流后可能并不会使用到此次灰度测试中需要测试的功能点。所以现有技术中对互联网产品的灰度测试引流方法不适用于互联网产品的真实环境,导致互联网产品测试的效率低下,准确率也较低。
发明内容
本发明提供一种灰度测试引流方法、装置、代理服务器及可读存储介质,用以解决现有技术中对互联网产品的灰度测试引流方法不适用于互联网产品的真实环境,导致互联网产品测试的效率低下,准确率也较低的问题。
本发明的一个方面是提供一种灰度测试引流方法,包括:
接收客户端发送的访问请求,所述访问请求包括访问基本信息,所述访问基本信息至少包括:请求地址,请求域名,请求参数,以及访问者的标识信息;
根据所述访问请求,获取访问衍生信息,所述访问衍生信息至少包括:请求访问的目标应用的标识信息和功能信息,所述访问者的终端信息;
根据所述目标应用的标识信息,确定所述目标应用是否满足灰度测试条件;
若所述目标应用满足灰度测试条件,则根据所述访问基本信息和访问衍生信息,判断所述访问请求是否符合灰度测试策略;
若所述访问请求符合灰度测试策略,则将所述访问请求引流至灰度测试平台;
若所述访问请求不符合灰度测试策略,则将所述访问请求引流至互联网产品平台。
本发明的另一个方面是提供一种灰度测试引流装置,包括:
引流引擎模块,用于接收客户端发送的访问请求,所述访问请求包括访问基本信息,所述访问基本信息至少包括:请求地址,请求域名,请求参数,以及访问者的标识信息;
规则配置处理模块,用于根据所述访问请求,获取访问衍生信息,所述访问衍生信息至少包括:请求访问的目标应用的标识信息和功能信息,所述访问者的终端信息;
所述规则配置处理模块还用于:根据所述目标应用的标识信息,确定所述目标应用是否满足灰度测试条件;
所述规则配置处理模块还用于:若所述目标应用满足灰度测试条件,则根据所述访问基本信息和访问衍生信息,判断所述访问请求是否符合灰度测试策略;
所述引流引擎模块还用于:若所述访问请求符合灰度测试策略,则将所述访问请求引流至灰度测试平台;
所述引流引擎模块还用于:若所述访问请求不符合灰度测试策略,则将所述访问请求引流至互联网产品平台。
本发明的另一个方面是提供一种代理服务器,包括:
存储器,处理器,以及存储在所述存储器上并可在所述处理器上运行的计算机程序;
其中,所述处理器运行所述计算机程序时实现上述所述的灰度测试引流方法。
本发明的另一个方面是提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现上述所述的灰度测试引流方法。
本发明提供的灰度测试引流方法、装置、代理服务器及可读存储介质,通过根据设定灰度测试条件和灰度测试策略,确定访问请求所请求访问的目标应用是否满足灰度测试条件;若所述目标应用满足灰度测试条件,则根据所述访问基本信息和访问衍生信息,判断所述访问请求是否符合灰度测试策略;若所述访问请求符合灰度测试策略,则将所述访问请求引流至灰度测试平台;若所述访问请求不符合灰度测试策略,则将所述访问请求引流至互联网产品平台,能够根据实际的访问请求获取的目标应用及访问者的相关信息进行灰度测试,无需用户登录,且通过根据实际应用环境调整灰度测试条件和灰度测试策略,能够适用于互联网产品的真实环境,提高了互联网产品的测试效率和测试准确率。
附图说明
图1为本发明实施例一提供的灰度测试引流方法流程图;
图2为本发明实施例二提供的灰度测试引流方法流程图;
图3为本发明实施例三提供的灰度测试引流装置的结构示意图;
图4为本发明实施例五提供的代理服务器的结构示意图。
通过上述附图,已示出本发明明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本发明构思的范围,而是通过参考特定实施例为本领域技术人员说明本发明的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
首先对本发明所涉及的名词进行解释:
Nginx(engine x)是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。
此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。在以下各实施例的描述中,“多个”的含义是两个以上,除非另有明确具体的限定。
下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明的实施例进行描述。
实施例一
图1为本发明实施例一提供的灰度测试引流方法流程图。本发明实施例针对现有技术中对互联网产品的灰度测试引流方法不适用于互联网产品的真实环境,导致互联网产品测试的效率低下,准确率也较低的问题,提供了灰度测试引流方法。
本实施例中的方法应用于测试系统中的代理服务器,测试系统包括:客户端,代理服务器,灰度测试平台,互联网产品平台。该代理服务器可以是配置了用于灰度测试的灰度引流引擎的、用于负载真实应用服务器的代理服务器(例如Nginx)。用户通过客户端向代理服务器发送访问请求,代理服务器将访问请求引流至灰度测试平台或者互联网产品平台。
如图1所示,该方法具体步骤如下:
步骤S101、接收客户端发送的访问请求,访问请求包括访问基本信息,访问基本信息至少包括:请求地址,请求域名,请求参数,以及访问者的标识信息。
本实施例中,所有客户端对互联网产品(包括一个或者多个应用)的访问请求均发送至代理服务器,由代理服务器将访问请求引流至灰度测试平台或者互联网产品平台。
访问请求中包括访问基本信息。访问基本信息至少包括:请求地址,请求域名,请求参数,以及访问者的标识信息。
其中,请求地址是指访问者请求访问的目标应用的访问地址;请求域名是指访问者请求访问的目标应用的域名;请求参数是指访问请求中携带的其他参数信息。
访问者的标识信息是用于唯一标识一个访问者的信息,可以是访问者的IP地址等信息。
步骤S102、根据访问请求,获取访问衍生信息,访问衍生信息至少包括:请求访问的目标应用的标识信息和功能信息,访问者的终端信息。
本实施例中,在接收到访问请求之后,代理服务器可以根据访问请求中的访问基本信息获取到访问衍生信息。
其中,访问衍生信息至少包括:请求访问的目标应用的标识信息和功能信息,访问者的终端信息。访问者的终端信息可以包括:终端类型,浏览器的类型和版本,操作系统类型,等信息。
可选的,代理服务器可以将各个访问者的终端信息及访问者的标识信息(例如访问者的IP地址等)以访问者信息表的形式存储在本地。
另外,访问衍生信息还可以包括访问者的行为信息,例如,访问者的标识信息、每天平均在线时长、总在线时长、总访问次数、常访问地址列表、常访问应用时间段等等。
可选的,代理服务器可以将各个访问者的访问衍生信息及访问者的标识信息以访问者行为分析表的形式存储在本地。其中访问者的标识信息可以是访问者的IP地址、或者访问者信息表中的ID等。
具体的,在接收到访问请求之后,代理服务器可以根据访问请求中的访问者的标识信息,获取到访问者的终端信息。另外,代理服务器还可以根据请求地址和请求域名等信息,获取到请求访问的目标应用的标识信息和功能信息。
步骤S103、根据目标应用的标识信息,确定目标应用是否满足灰度测试条件。
在实际应用中,互联网产品平台和灰度测试平台上都可以部署多个应用,每个应用作为单独的互联网产品提供给用户使用或者测试。
本实施例中,灰度测试条件用于指定需要进行灰度测试的应用所需满足的条件。通过设定灰度测试条件,可以指定所部署的多个应用的中的部分或者全部应用作为可以进行灰度测试的应用。
示例性地,灰度测试条件包括:哪些应用是灰度测试应用。灰度测试应用是指可以进行灰度测试的应用。如果目标应用是灰度测试应用,则确定目标应用满足灰度测试条件;如果目标应用不是灰度测试应用,则确定目标应用不满足灰度测试条件。
示例性地,灰度测试条件包括:哪些应用是灰度测试应用,以及灰度测试应用的灰度测试开关的状态。灰度测试应用是指可以进行灰度测试的应用,每个灰度测试应用对应设置一个灰度测试开关,灰度测试开关的状态可以为打开状态或者关闭状态。如果目标应用是灰度测试应用,并且目标应用的灰度测试开关处于打开状态,则确定目标应用满足灰度测试条件。如果目标应用不是灰度测试应用,或者,目标应用是灰度测试应用且目标应用的灰度测试开关处于关闭状态,则确定目标应用不满足灰度测试条件。
另外,灰度测试条件可以由技术人员根据实际应用场景进行设定,本实施例此处不做具体限定。
该步骤中,若确定目标应用不满足灰度测试条件,则执行步骤S106,将访问请求引流至互联网产品平台。
若确定目标应用满足灰度测试条件,则执行步骤S104,继续判断访问请求是否符合灰度测试策略。
步骤S104、根据访问基本信息和访问衍生信息,判断访问请求是否符合灰度测试策略。
本实施中,若目标应用满足灰度测试条件,代理服务器根据访问基本信息和访问衍生信息,判断访问请求是否符合灰度测试策略,根据判断结果对访问请求进行引流。
其中,灰度测试策略规定了代理服务器的引流规则。通过配置页面配置灰度测试策略,并记录到代理服务器的数据库中。灰度测试策略可以采用以下三个测试策略中的任意一个测试策略:
第一测试策略:针对所有访问请求,进行灰度测试。第一测试策略是针对所有访问请求都进行灰度测试的策略,该第一灰度测试策略是在互联网产品平台不可用的情况下配置的。
第二测试策略:针对访问者的终端信息满足指定条件的访问请求,进行灰度测试。第二测试策略是针对某一个或多个访问基本信息或访问衍生信息的访问请求进行的灰度测试的策略。
示例性的,第二测试策略可以包括进行灰度测试的访问者终端的IP地址范围、设备类型、浏览器版本、操作系统类型等等。
例如,第二灰度测试策略是针对某一指定操作系统的灰度测试策略,将访问者终端的操作系统为该指定操作系统的访问请求,引流到灰度测试平台,进行灰度测试。
第三测试策略:针对目标应用的功能信息满足指定功能配置的访问请求,进行灰度测试。第三测试策略是根据应用中的某一功能配置的策略。例如,某一应用为商品应用,该商品应用的某一功能为付款功能,则第三测试策略可以为将该商品应用中的付款功能的访问请求引流到灰度测试平台中,进行灰度测试。
示例性地,灰度测试策略中,可以为每个应用设定一通引流规则,灰度测试策略包括各个应用的引流规则。
每一条引流规则可以包括以下信息:应用标识信息、需要引流的地址、引流结束时间、采用的测试策略(第一测试策略、第二测试策略和第三测试策略中的一个)等信息。另外,引流规则还可以包括灰度测试平台的响应结果异常后的处理方式。例如,灰度测试平台的响应结果异常后正常向客户端返回响应结果;或者,重新将访问请求引流至互联网产品平台;或者,修改该访问请求对应的引流规则,以结束对同一类型访问请求的灰度测试等等。
该步骤中,若判断结果为访问请求符合灰度测试策略,则执行步骤S105,将访问请求引流至灰度测试平台。
若判断结果为访问请求不符合灰度测试策略,则执行步骤S106,将访问请求引流至互联网产品平台。
步骤S105、将访问请求引流至灰度测试平台。
步骤S106、将访问请求引流至互联网产品平台。
本发明实施例通过根据设定灰度测试条件和灰度测试策略,确定访问请求所请求访问的目标应用是否满足灰度测试条件;若目标应用满足灰度测试条件,则根据访问基本信息和访问衍生信息,判断访问请求是否符合灰度测试策略;若访问请求符合灰度测试策略,则将访问请求引流至灰度测试平台;若访问请求不符合灰度测试策略,则将访问请求引流至互联网产品平台,能够根据实际的访问请求获取的目标应用及访问者的相关信息进行灰度测试,无需用户登录,且通过根据实际应用环境调整灰度测试条件和灰度测试策略,能够适用于互联网产品的真实环境,提高了互联网产品的测试效率和测试准确率。
实施例二
图2为本发明实施例二提供的灰度测试引流方法流程图。在上述实施例一的基础上,根据目标应用的标识信息,确定目标应用是否满足灰度测试条件,包括:根据目标应用的标识信息,确定目标应用是否是灰度测试应用;若目标应用不是灰度测试应用,则确定目标应用不满足灰度测试条件;若目标应用是灰度测试应用,则确定目标应用的灰度测试开关的状态;若目标应用的灰度测试开关处于打开状态,则确定目标应用满足灰度测试条件;若目标应用的灰度测试开关处于关闭状态,则确定目标应用不满足灰度测试条件。若访问请求符合灰度测试策略,则将访问请求引流至灰度测试平台之后,还包括:接收灰度测试平台返回的响应结果;判断响应结果是否异常;若响应结果异常,则将访问请求引流至互联网产品平台;若响应结果没有异常,则将响应结果反馈给客户端。如图2所示,该方法具体步骤如下:
步骤S201、接收客户端发送的访问请求,访问请求包括访问基本信息,访问基本信息至少包括:请求地址,请求域名,请求参数,以及访问者的标识信息。
该步骤与上述步骤S101一致,此处不再赘述。
步骤S202、根据访问请求,记录访问请求日志。
该步骤为可选步骤,代理服务器在接收到客户端发送的访问请求,可以根据每次访问请求记录访问请求日志。访问请求日志可以包括以下信息:请求域名、请求地址、请求参数、请求时间、访问者IP地址、访问者终端信息等等。访问者的终端信息可以包括:终端类型,浏览器的类型和版本,操作系统类型,等信息。
例如,代理服务器可以将访问请求日志记录到日志表中。
另外,为了避免记录访问请求日志影响正常请求的效率,将以消息的方式进行记录。
步骤S203、根据访问请求,获取访问衍生信息,访问衍生信息至少包括:请求访问的目标应用的标识信息和功能信息,访问者的终端信息。
该步骤与上述步骤S102一致,此处不再赘述。
本实施例中,通过以下步骤S204-S205,根据目标应用的标识信息,确定目标应用是否是灰度测试应用;若目标应用不是灰度测试应用,则确定目标应用不满足灰度测试条件;若目标应用是灰度测试应用,则确定目标应用的灰度测试开关的状态;若目标应用的灰度测试开关处于打开状态,则确定目标应用满足灰度测试条件;若目标应用的灰度测试开关处于关闭状态,则确定目标应用不满足灰度测试条件。
步骤S204、根据目标应用的标识信息,确定目标应用是否是灰度测试应用。
本实施例中,代理服务器设定了灰度测试条件,灰度测试条件包括:哪些应用是灰度测试应用,以及灰度测试应用的灰度测试开关的状态。灰度测试应用是指可以进行灰度测试的应用,每个灰度测试应用对应设置一个灰度测试开关,灰度测试开关的状态可以为打开状态或者关闭状态。如果目标应用是灰度测试应用,并且目标应用的灰度测试开关处于打开状态,则确定目标应用满足灰度测试条件。如果目标应用不是灰度测试应用,或者,目标应用是灰度测试应用且目标应用的灰度测试开关处于关闭状态,则确定目标应用不满足灰度测试条件。
灰度测试条件可以由技术人员根据实际应用场景进行设定,本实施例此处不做具体限定。
若目标应用不是灰度测试应用,则确定目标应用不满足灰度测试条件,执行步骤S207,将访问请求引流至互联网产品平台。
若目标应用是灰度测试应用,则执行步骤S205,进一步确定目标应用的灰度测试开关的状态。
步骤S205、若目标应用是灰度测试应用,则确定目标应用的灰度测试开关的状态。
若目标应用的灰度测试开关处于关闭状态,则确定目标应用不满足灰度测试条件,执行步骤S207,将访问请求引流至互联网产品平台。
若目标应用的灰度测试开关处于打开状态,则确定目标应用满足灰度测试条件,执行步骤S206,继续判断访问请求是否符合灰度测试策略。
步骤S206、若目标应用的灰度测试开关处于打开状态,根据访问基本信息和访问衍生信息,判断访问请求是否符合灰度测试策略。
本实施中,若目标应用满足灰度测试条件,代理服务器根据访问基本信息和访问衍生信息,判断访问请求是否符合灰度测试策略,根据判断结果对访问请求进行引流。
其中,灰度测试策略规定了代理服务器的引流规则。灰度测试策略可以采用以下三个测试策略中的任意一个测试策略:
第一测试策略:针对所有访问请求,进行灰度测试。第一测试策略是针对所有访问请求都进行灰度测试的策略,该第一灰度测试策略是在互联网产品平台不可用的情况下配置的。
第二测试策略:针对访问者的终端信息满足指定条件的访问请求,进行灰度测试。第二测试策略是针对某一个或多个访问基本信息或访问衍生信息的访问请求进行的灰度测试的策略。
示例性的,第二测试策略可以包括进行灰度测试的访问者终端的IP地址范围、设备类型、浏览器版本、操作系统类型等等。
例如,第二灰度测试策略是针对某一指定操作系统的灰度测试策略,将访问者终端的操作系统为该指定操作系统的访问请求,引流到灰度测试平台,进行灰度测试。
第三测试策略:针对目标应用的功能信息满足指定功能配置的访问请求,进行灰度测试。第三测试策略是根据应用中的某一功能配置的策略。例如,某一应用为商品应用,该商品应用的某一功能为付款功能,则第三测试策略可以为将该商品应用中的付款功能的访问请求引流到灰度测试平台中,进行灰度测试。
示例性地,灰度测试策略中,可以为每个应用设定一通引流规则,灰度测试策略包括各个应用的引流规则。
每一条引流规则可以包括以下信息:应用标识信息、需要引流的地址、引流结束时间、采用的测试策略(第一测试策略、第二测试策略和第三测试策略中的一个)等信息。另外,引流规则还可以包括灰度测试平台的响应结果异常后的处理方式。例如,灰度测试平台的响应结果异常后正常向客户端返回响应结果;或者,重新将访问请求引流至互联网产品平台;或者,修改该访问请求对应的引流规则,以结束对同一类型访问请求的灰度测试等等。
若访问请求符合灰度测试策略,则执行步骤S208将访问请求引流至灰度测试平台。
若访问请求不符合灰度测试策略,则执行步骤S207将访问请求引流至互联网产品平台。
步骤S207、将访问请求引流至互联网产品平台。
步骤S208、将访问请求引流至灰度测试平台。
本实施例中,将访问请求引流至灰度测试平台之后,代理服务器继续执行步骤S209-S212,完成响应结果是否异常的判断、以及访问日志的记录。
步骤S209、接收灰度测试平台返回的响应结果。
步骤S210、判断响应结果是否异常。
若响应结果异常,则执行步骤S207,重新将访问请求引流至互联网产品平台。
本实施例另一实施方式中,灰度测试策略中,引流规则还可以包括灰度测试平台的响应结果异常后的处理方式。例如,灰度测试平台的响应结果异常后正常向客户端返回响应结果;或者,重新将访问请求引流至互联网产品平台;或者,修改该访问请求对应的引流规则,以结束对同一类型访问请求的灰度测试等等。代理服务器在判断响应结果异常之后,根据访问请求对应的引流规则中对应的响应结果异常后的处理方式,进行异常处理。
若响应结果没有异常,则执行步骤S211,将响应结果反馈给客户端。
步骤S211、将响应结果反馈给客户端。
步骤S212、根据响应结果,记录访问日志,访问日志至少包括响应结果是否异常。
该步骤为可选步骤,代理服务器在接收到灰度测试平台返回的响应结果,并判断响应结果是否异常之后,可以根据响应结果记录访问日志。
其中,灰度测试的开关可通过配置进行设置。若在灰度测试时某一应用多次出现异常情况,则将该应用的灰度测试的开关可设置为关闭状态。若在灰度测试时某一应用很少出现异常情况,则将该应用的灰度测试的开关设置为打开状态。
可选的,代理服务器还可以根据各个灰度测试应用的访问日志,统计各个灰度测试应用在预设时段内的访问异常的次数;根据各个灰度测试应用在预设时段内的访问异常的次数,更新各个灰度测试应用的灰度测试开关的状态。
其中,预设时段可以由技术人员根据实际应用场景和经验进行设定,本实施例此处不做具体限定。
例如,当某一灰度测试应用在预设时段内的访问异常的次数大于预设次数阈值时,将该灰度测试应用的灰度测试开关的状态设置为关闭状态。
其中预设次数阈值可以由技术人员根据实际应用场景和经验进行设定,本实施例此处不做具体限定。
本发明实施例提供了灰度测试引流方法一种具体实施方式,通过根据设定灰度测试条件和灰度测试策略,确定访问请求所请求访问的目标应用是否满足灰度测试条件;若目标应用满足灰度测试条件,则根据访问基本信息和访问衍生信息,判断访问请求是否符合灰度测试策略;若访问请求符合灰度测试策略,则将访问请求引流至灰度测试平台;若访问请求不符合灰度测试策略,则将访问请求引流至互联网产品平台,能够根据实际的访问请求获取的目标应用及访问者的相关信息进行灰度测试,无需用户登录,且通过根据实际应用环境调整灰度测试条件和灰度测试策略,能够适用于互联网产品的真实环境,提高了互联网产品的测试效率和测试准确率。
实施例三
图3为本发明实施例三提供的灰度测试引流装置的结构示意图。本发明实施例提供的灰度测试引流装置可以执行灰度测试引流方法实施例提供的处理流程。如图3所示,该灰度测试引流装置30包括:引流引擎模块301和规则配置处理模块302。
具体地,引流引擎模块301,用于接收客户端发送的访问请求,访问请求包括访问基本信息,访问基本信息至少包括:请求地址,请求域名,请求参数,以及访问者的标识信息。
规则配置处理模块302,用于根据访问请求,获取访问衍生信息,访问衍生信息至少包括:请求访问的目标应用的标识信息和功能信息,访问者的终端信息。
规则配置处理模块302还用于:根据目标应用的标识信息,确定目标应用是否满足灰度测试条件。
规则配置处理模块302还用于:若目标应用满足灰度测试条件,则根据访问基本信息和访问衍生信息,判断访问请求是否符合灰度测试策略。
引流引擎模块301还用于:若访问请求符合灰度测试策略,则将访问请求引流至灰度测试平台.
引流引擎模块301还用于:若访问请求不符合灰度测试策略,则将访问请求引流至互联网产品平台。
进一步的,引流引擎模块301还用于:若目标应用不满足灰度测试条件,则将访问请求引流至互联网产品平台。
本发明实施例提供的装置可以具体用于执行上述实施例一所提供的方法实施例,具体功能此处不再赘述。
本发明实施例通过根据设定灰度测试条件和灰度测试策略,确定访问请求所请求访问的目标应用是否满足灰度测试条件;若目标应用满足灰度测试条件,则根据访问基本信息和访问衍生信息,判断访问请求是否符合灰度测试策略;若访问请求符合灰度测试策略,则将访问请求引流至灰度测试平台;若访问请求不符合灰度测试策略,则将访问请求引流至互联网产品平台,能够根据实际的访问请求获取的目标应用及访问者的相关信息进行灰度测试,无需用户登录,且通过根据实际应用环境调整灰度测试条件和灰度测试策略,能够适用于互联网产品的真实环境,提高了互联网产品的测试效率和测试准确率。
实施例四
在上述实施例三的基础上,本实施例中,规则配置处理模块还用于:
根据目标应用的标识信息,确定目标应用是否是灰度测试应用;若目标应用不是灰度测试应用,则确定目标应用不满足灰度测试条件;若目标应用是灰度测试应用,则确定目标应用的灰度测试开关的状态;若目标应用的灰度测试开关处于打开状态,则确定目标应用满足灰度测试条件;若目标应用的灰度测试开关处于关闭状态,则确定目标应用不满足灰度测试条件。
本实施例中,灰度测试策略为以下任意一个测试策略:
第一测试策略:针对所有访问请求,进行灰度测试;第二测试策略:针对访问者的终端信息满足指定条件的访问请求,进行灰度测试;第三测试策略:针对目标应用的功能信息满足指定功能配置的访问请求,进行灰度测试。
可选的,规则配置处理模块还用于:
根据访问请求,记录访问请求日志。
可选的,规则配置处理模块还用于:
接收灰度测试平台返回的响应结果;判断响应结果是否异常。
相应地,引流引擎模块还用于:
若响应结果异常,则将访问请求引流至互联网产品平台;若响应结果没有异常,则将响应结果反馈给客户端。
可选的,规则配置处理模块还用于:
根据响应结果,记录访问日志,访问日志至少包括响应结果是否异常。
可选的,规则配置处理模块还用于:
根据各个灰度测试应用的访问日志,统计各个灰度测试应用在预设时段内的访问异常的次数;根据各个灰度测试应用在预设时段内的访问异常的次数,更新各个灰度测试应用的灰度测试开关的状态。
本发明实施例提供的装置可以具体用于执行上述实施例二所提供的方法实施例,具体功能此处不再赘述。
本发明实施例提供了灰度测试引流方法一种具体实施方式,通过根据设定灰度测试条件和灰度测试策略,确定访问请求所请求访问的目标应用是否满足灰度测试条件;若目标应用满足灰度测试条件,则根据访问基本信息和访问衍生信息,判断访问请求是否符合灰度测试策略;若访问请求符合灰度测试策略,则将访问请求引流至灰度测试平台;若访问请求不符合灰度测试策略,则将访问请求引流至互联网产品平台,能够根据实际的访问请求获取的目标应用及访问者的相关信息进行灰度测试,无需用户登录,且通过根据实际应用环境调整灰度测试条件和灰度测试策略,能够适用于互联网产品的真实环境,提高了互联网产品的测试效率和测试准确率。
实施例五
图4为本发明实施例五提供的代理服务器的结构示意图。如图4所示,该代理服务器40包括:处理器401,存储器402,以及存储在存储器402上并可在处理器401上运行的计算机程序。
其中,处理器401运行计算机程序时实现上述任一方法实施例提供的灰度测试引流方法。
本发明实施例通过根据设定灰度测试条件和灰度测试策略,确定访问请求所请求访问的目标应用是否满足灰度测试条件;若目标应用满足灰度测试条件,则根据访问基本信息和访问衍生信息,判断访问请求是否符合灰度测试策略;若访问请求符合灰度测试策略,则将访问请求引流至灰度测试平台;若访问请求不符合灰度测试策略,则将访问请求引流至互联网产品平台,能够根据实际的访问请求获取的目标应用及访问者的相关信息进行灰度测试,无需用户登录,且通过根据实际应用环境调整灰度测试条件和灰度测试策略,能够适用于互联网产品的真实环境,提高了互联网产品的测试效率和测试准确率。
另外,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现上述任一方法实施例提供的灰度测试引流方法。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求书指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求书来限制。
Claims (7)
1.一种灰度测试引流方法,其特征在于,包括:
接收客户端发送的访问请求,所述访问请求包括访问基本信息,所述访问基本信息至少包括:请求地址,请求域名,请求参数,以及访问者的标识信息;
根据所述访问请求,获取访问衍生信息,所述访问衍生信息至少包括:请求访问的目标应用的标识信息和功能信息,所述访问者的终端信息;
根据所述目标应用的标识信息,确定所述目标应用是否满足灰度测试条件,包括:根据所述目标应用的标识信息,确定所述目标应用是否是灰度测试应用;若所述目标应用不是灰度测试应用,则确定所述目标应用不满足灰度测试条件;若所述目标应用是灰度测试应用,则确定所述目标应用的灰度测试开关的状态;若所述目标应用的灰度测试开关处于打开状态,则确定目标应用满足灰度测试条件;若所述目标应用的灰度测试开关处于关闭状态,则确定目标应用不满足灰度测试条件;
若所述目标应用满足灰度测试条件,则根据所述访问基本信息和访问衍生信息,判断所述访问请求是否符合灰度测试策略;
若所述访问请求符合灰度测试策略,则将所述访问请求引流至灰度测试平台;
若所述访问请求不符合灰度测试策略,则将所述访问请求引流至互联网产品平台;
所述若所述访问请求符合灰度测试策略,则将所述访问请求引流至灰度测试平台之后,还包括:
接收所述灰度测试平台返回的响应结果;
判断所述响应结果是否异常;
若所述响应结果异常,则将所述访问请求引流至互联网产品平台;
若所述响应结果没有异常,则将所述响应结果反馈给所述客户端;
根据所述响应结果,记录访问日志,所述访问日志至少包括响应结果是否异常;
根据各个灰度测试应用的访问日志,统计各个灰度测试应用在预设时段内的访问异常的次数;
根据各个灰度测试应用在预设时段内的访问异常的次数,更新各个灰度测试应用的灰度测试开关的状态。
2.根据权利要求1所述的方法,其特征在于,所述根据所述目标应用的标识信息,确定所述目标应用是否满足灰度测试条件之后,还包括:
若所述目标应用不满足灰度测试条件,则将所述访问请求引流至互联网产品平台。
3.根据权利要求1或2所述的方法,其特征在于,所述灰度测试策略为以下任意一个测试策略:
第一测试策略:针对所有访问请求,进行灰度测试;
第二测试策略:针对访问者的终端信息满足指定条件的访问请求,进行灰度测试;
第三测试策略:针对目标应用的功能信息满足指定功能配置的访问请求,进行灰度测试。
4.根据权利要求1或2所述的方法,其特征在于,所述接收客户端发送的访问请求之后,还包括:
根据所述访问请求,记录访问请求日志。
5.一种灰度测试引流装置,其特征在于,包括:
引流引擎模块,用于接收客户端发送的访问请求,所述访问请求包括访问基本信息,所述访问基本信息至少包括:请求地址,请求域名,请求参数,以及访问者的标识信息;
规则配置处理模块,用于根据所述访问请求,获取访问衍生信息,所述访问衍生信息至少包括:请求访问的目标应用的标识信息和功能信息,所述访问者的终端信息;
所述规则配置处理模块还用于:根据所述目标应用的标识信息,确定所述目标应用是否满足灰度测试条件,包括:根据所述目标应用的标识信息,确定所述目标应用是否是灰度测试应用;若所述目标应用不是灰度测试应用,则确定所述目标应用不满足灰度测试条件;若所述目标应用是灰度测试应用,则确定所述目标应用的灰度测试开关的状态;若所述目标应用的灰度测试开关处于打开状态,则确定目标应用满足灰度测试条件;若所述目标应用的灰度测试开关处于关闭状态,则确定目标应用不满足灰度测试条件;
所述规则配置处理模块还用于:若所述目标应用满足灰度测试条件,则根据所述访问基本信息和访问衍生信息,判断所述访问请求是否符合灰度测试策略;
所述引流引擎模块还用于:若所述访问请求符合灰度测试策略,则将所述访问请求引流至灰度测试平台;
所述引流引擎模块还用于:若所述访问请求不符合灰度测试策略,则将所述访问请求引流至互联网产品平台;
所述规则配置处理模块还用于:接收所述灰度测试平台返回的响应结果;判断所述响应结果是否异常;
所述引流引擎模块还用于:若所述响应结果异常,则将所述访问请求引流至互联网产品平台;若所述响应结果没有异常,则将所述响应结果反馈给所述客户端;
所述规则配置处理模块还用于:根据所述响应结果,记录访问日志,所述访问日志至少包括响应结果是否异常;根据各个灰度测试应用的访问日志,统计各个灰度测试应用在预设时段内的访问异常的次数;根据各个灰度测试应用在预设时段内的访问异常的次数,更新各个灰度测试应用的灰度测试开关的状态。
6.一种代理服务器,其特征在于,包括:
存储器,处理器,以及存储在所述存储器上并可在所述处理器上运行的计算机程序;
其中,所述处理器运行所述计算机程序时实现如权利要求1至4中任一项所述的方法。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910744137.0A CN110457223B (zh) | 2019-08-13 | 2019-08-13 | 灰度测试引流方法、装置、代理服务器及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910744137.0A CN110457223B (zh) | 2019-08-13 | 2019-08-13 | 灰度测试引流方法、装置、代理服务器及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110457223A CN110457223A (zh) | 2019-11-15 |
CN110457223B true CN110457223B (zh) | 2023-08-22 |
Family
ID=68486332
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910744137.0A Active CN110457223B (zh) | 2019-08-13 | 2019-08-13 | 灰度测试引流方法、装置、代理服务器及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110457223B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111737128A (zh) * | 2020-06-19 | 2020-10-02 | 北京百度网讯科技有限公司 | 线上测试方法及灰度分流设备、存储介质 |
CN113296825A (zh) * | 2020-07-30 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 一种应用的灰度发布方法、装置和应用发布系统 |
CN113452776B (zh) * | 2021-06-25 | 2022-12-09 | 中国工商银行股份有限公司 | PaaS平台服务调度方法、装置及PaaS平台 |
CN114157608A (zh) * | 2021-10-27 | 2022-03-08 | 车主邦(北京)科技有限公司 | 一种系统升级过程中控制流量的方法及装置 |
CN115589394B (zh) * | 2022-10-28 | 2024-07-23 | 北京字跳网络技术有限公司 | 一种基于邮箱的数据处理方法、装置、设备和存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105791344A (zh) * | 2014-12-22 | 2016-07-20 | 华为软件技术有限公司 | 灰度发布业务处理的方法、系统、负载均衡器及服务总线装置 |
WO2016179958A1 (zh) * | 2015-05-12 | 2016-11-17 | 百度在线网络技术(北京)有限公司 | 对移动应用进行灰度发布的方法、装置和系统 |
CN107864175A (zh) * | 2017-08-24 | 2018-03-30 | 平安普惠企业管理有限公司 | 灰度发布控制方法、装置、设备及存储介质 |
CN108280237A (zh) * | 2018-03-01 | 2018-07-13 | 深圳兴路通科技有限公司 | 一种灰度发布方法及装置、系统、计算机存储介质 |
CN108768875A (zh) * | 2018-05-31 | 2018-11-06 | 康键信息技术(深圳)有限公司 | 应用的灰度发布方法、装置及计算机可读存储介质 |
CN109787830A (zh) * | 2019-01-21 | 2019-05-21 | 北京京东尚科信息技术有限公司 | 灰度发布控制方法、装置、系统、电子设备及存储介质 |
CN109800150A (zh) * | 2018-12-13 | 2019-05-24 | 深圳壹账通智能科技有限公司 | 一种灰度测试方法、服务器及计算机可读存储介质 |
CN109871224A (zh) * | 2019-02-13 | 2019-06-11 | 北京炎黄新星网络科技有限公司 | 一种基于用户标识的灰度发布方法、系统、介质及设备 |
CN109992273A (zh) * | 2019-01-03 | 2019-07-09 | 蔚来汽车有限公司 | 一种灰度发布方法以及灰度发布系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4102088B2 (ja) * | 2002-03-27 | 2008-06-18 | 松下電器産業株式会社 | 階調制御用出力回路 |
US9501650B2 (en) * | 2011-05-31 | 2016-11-22 | Hewlett Packard Enterprise Development Lp | Application security testing |
-
2019
- 2019-08-13 CN CN201910744137.0A patent/CN110457223B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105791344A (zh) * | 2014-12-22 | 2016-07-20 | 华为软件技术有限公司 | 灰度发布业务处理的方法、系统、负载均衡器及服务总线装置 |
WO2016179958A1 (zh) * | 2015-05-12 | 2016-11-17 | 百度在线网络技术(北京)有限公司 | 对移动应用进行灰度发布的方法、装置和系统 |
CN107864175A (zh) * | 2017-08-24 | 2018-03-30 | 平安普惠企业管理有限公司 | 灰度发布控制方法、装置、设备及存储介质 |
CN108280237A (zh) * | 2018-03-01 | 2018-07-13 | 深圳兴路通科技有限公司 | 一种灰度发布方法及装置、系统、计算机存储介质 |
CN108768875A (zh) * | 2018-05-31 | 2018-11-06 | 康键信息技术(深圳)有限公司 | 应用的灰度发布方法、装置及计算机可读存储介质 |
CN109800150A (zh) * | 2018-12-13 | 2019-05-24 | 深圳壹账通智能科技有限公司 | 一种灰度测试方法、服务器及计算机可读存储介质 |
CN109992273A (zh) * | 2019-01-03 | 2019-07-09 | 蔚来汽车有限公司 | 一种灰度发布方法以及灰度发布系统 |
CN109787830A (zh) * | 2019-01-21 | 2019-05-21 | 北京京东尚科信息技术有限公司 | 灰度发布控制方法、装置、系统、电子设备及存储介质 |
CN109871224A (zh) * | 2019-02-13 | 2019-06-11 | 北京炎黄新星网络科技有限公司 | 一种基于用户标识的灰度发布方法、系统、介质及设备 |
Non-Patent Citations (1)
Title |
---|
电子银行系统灰度发布的研究与实现;李晓毅;《金融电子化》(第268期);第91-93页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110457223A (zh) | 2019-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110457223B (zh) | 灰度测试引流方法、装置、代理服务器及可读存储介质 | |
CN103701795B (zh) | 拒绝服务攻击的攻击源的识别方法和装置 | |
CN109831504B (zh) | 微服务请求处理方法、装置及设备 | |
CN109088909B (zh) | 一种基于商户类型的服务灰度发布方法及设备 | |
CN113726783B (zh) | 异常ip地址识别方法、装置、电子设备及可读存储介质 | |
CN107483381B (zh) | 关联账户的监控方法及装置 | |
DE202012013609U1 (de) | System zur Verteilung der Verarbeitung von Computer-Sicherheitsaufgaben | |
CN108052824B (zh) | 一种风险防控方法、装置及电子设备 | |
CN110049028B (zh) | 监控域控管理员的方法、装置、计算机设备及存储介质 | |
CN111988422A (zh) | 应用服务的订阅方法、装置、服务器及存储介质 | |
CN107911397B (zh) | 一种威胁评估方法及装置 | |
WO2021028060A1 (en) | Security automation system | |
CN107347015A (zh) | 一种内容分发网络的识别方法、装置及系统 | |
CN108270753B (zh) | 注销用户账号的方法及装置 | |
CN113680074B (zh) | 业务信息的推送方法、装置、电子设备及可读介质 | |
CN109714214A (zh) | 一种服务器异常的处理方法及管理设备 | |
CN108647139A (zh) | 系统的测试方法、装置、存储介质及电子装置 | |
CN106789979B (zh) | 一种idc机房内活跃域名的有效性诊断方法和装置 | |
CN115051867B (zh) | 一种非法外联行为的检测方法、装置、电子设备及介质 | |
CN114301711B (zh) | 防暴刷方法、装置、设备、存储介质及计算机程序产品 | |
CN114221807B (zh) | 访问请求处理方法、装置、监控设备及存储介质 | |
CN109831408A (zh) | 单点登录子系统的登出方法及系统 | |
CN110891097B (zh) | 一种跨设备用户识别方法及装置 | |
CN115017538A (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN113905092A (zh) | 一种确定可复用代理队列的方法、装置、终端及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |