CN109241704A - 新脚本的灰度发布方法和装置 - Google Patents

新脚本的灰度发布方法和装置 Download PDF

Info

Publication number
CN109241704A
CN109241704A CN201810764094.8A CN201810764094A CN109241704A CN 109241704 A CN109241704 A CN 109241704A CN 201810764094 A CN201810764094 A CN 201810764094A CN 109241704 A CN109241704 A CN 109241704A
Authority
CN
China
Prior art keywords
new script
client
value
schedule file
script
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.)
Granted
Application number
CN201810764094.8A
Other languages
English (en)
Other versions
CN109241704B (zh
Inventor
韩启楠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201810764094.8A priority Critical patent/CN109241704B/zh
Publication of CN109241704A publication Critical patent/CN109241704A/zh
Application granted granted Critical
Publication of CN109241704B publication Critical patent/CN109241704B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/125Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code
    • G06F21/126Interacting with the operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请提供一种灰度发布方法和装置,先由服务器接收客户端对指定新脚本的获取请求并生成对应指定新脚本的调度文件;再由客户端接收服务器发送的调度文件,判断所述调度文件中包含的灰度范围值是否为预设值;若所述灰度范围值不为预设值,则客户端取消发送新脚本获取请求的间隔时间,并根据调度文件中预置的算法生成随机值,若所述随机值落在所述灰度范围值内,则客户端从指定新脚本的获取地址获取新脚本内容。本申请使客户端页面使用原有配置信息的前提下,让不同的客户端页面在实际渲染中能够按照指定的灰度比例加载新脚本文件,实现新脚本的灰度发布的功能。

Description

新脚本的灰度发布方法和装置
技术领域
本说明书涉及互联网领域,尤其涉及新脚本的灰度发布方法和装置。
背景技术
人机识别系统(Robot Detection System)采集用户行为信息(鼠标、按键、位置,传感器等)进行操作行为识别,区分真实用户操作与机器批量操作,并对机器行为加以拦截,从而有效防控批量注册、恶意刷单、作弊点击、信息爬取等,保障支付平台站内业务正常有序进行。
人机识别系统部署在各个支付平台业务点前端页面的行为数据采集脚本每隔一段时间就存在被外部黑产破解的风险,外部黑产在破解采集脚本的内容及加密方式后能够构造出合法的用户行为数据躲过人机识别系统防控识别。因此,人机识别系统需要定期更换采集脚本来应对外部的破解。但是一次性全量更换采集脚本存在巨大的风险,一旦新脚本内容有误或者数据加密配置存在问题将会导致所有正常用户操作被误识别为机器行为。
因此,需要一种更换采集脚本的灰度发布方法,先在小范围内验证新脚本的正确性,然后逐渐扩大灰度范围直至全量更换。且灰度发布过程中发现新脚本存在问题后,能够做到快速回滚。
发明内容
针对上述技术问题,本说明书实施例提供新脚本的灰度发布方法和装置,技术方案如下:
根据本说明书实施例的第一方面,提供一种新脚本的灰度发布方法,所述方法包括:
服务器接收客户端对指定新脚本的获取请求并生成对应指定新脚本的调度文件,所述调度文件包含灰度范围值与所述指定新脚本的获取地址;
客户端接收服务器发送的调度文件,判断所述调度文件中包含的灰度范围值是否为预设值;
若所述灰度范围值不为预设值,则客户端取消发送新脚本获取请求的间隔时间,并根据调度文件中预置的算法生成随机值,判断所述随机值是否落在所述灰度范围值内;
若所述随机值落在所述灰度范围值内,则客户端从指定新脚本的获取地址获取新脚本内容。
根据本说明书实施例的第二方面,提供一种新脚本的灰度发布方法,应用于服务器,所述方法包括:
服务器接收客户端对指定新脚本的获取请求并生成对应指定新脚本的调度文件,所述调度文件包含灰度范围值与所述指定新脚本的获取地址;
服务器将所述调度文件发送给客户端,以使所述客户端根据调度文件中包含的灰度范围值确定对所述指定新脚本的获取策略。
根据本说明书实施例的第三方面,提供一种新脚本的灰度发布方法,应用于客户端,所述方法包括:
客户端接收服务器发送的调度文件,所述调度文件包含灰度范围值与所述指定新脚本的获取地址,判断所述调度文件中包含的灰度范围值是否为预设值;
若所述灰度范围值不为预设值,则客户端取消发送新脚本获取请求的间隔时间,并根据调度文件中预置的算法生成随机值,判断所述随机值是否落在所述灰度范围值内;
若所述随机值落在所述灰度范围值内,则客户端从指定新脚本的获取地址获取新脚本内容。
根据本说明书实施例的第四方面,提供一种新脚本的灰度发布装置,应用于服务器,所述装置包括:
调度文件生成模块:用于接收客户端对指定新脚本的获取请求并生成对应指定新脚本的调度文件,所述调度文件包含灰度范围值与所述指定新脚本的获取地址;
调度文件发送模块:用于将所述调度文件发送给客户端,以使所述客户端根据调度文件中包含的灰度范围值确定对所述指定新脚本的获取策略。
根据本说明书实施例的第五方面,提供一种新脚本的灰度发布装置,应用于客户端,所述装置包括:
灰度判断模块:用于接收服务器发送的调度文件,所述调度文件包含灰度范围值与所述指定新脚本的获取地址,判断所述调度文件中包含的灰度范围值是否为预设值;
灰度对比模块:用于当所述灰度范围值不为预设值时,取消发送新脚本获取请求的间隔时间,并根据调度文件中预置的算法生成随机值,判断所述随机值是否落在所述灰度范围值内;
脚本获取模块:用于当所述随机值落在所述灰度范围值内时,从指定新脚本的获取地址获取新脚本内容。
根据本说明书实施例的第六方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现一种新脚本的灰度发布方法,应用于服务器,所述方法包括:
服务器接收客户端对指定新脚本的获取请求并生成对应指定新脚本的调度文件,所述调度文件包含灰度范围值与所述指定新脚本的获取地址;
服务器将所述调度文件发送给客户端,以使所述客户端根据调度文件中包含的灰度范围值确定对所述指定新脚本的获取策略。
根据本说明书实施例的第七方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现一种新脚本的灰度发布方法,应用于客户端,所述方法包括:
客户端接收服务器发送的调度文件,所述调度文件包含灰度范围值与所述指定新脚本的获取地址,判断所述调度文件中包含的灰度范围值是否为预设值;
若所述灰度范围值不为预设值,则客户端取消发送新脚本获取请求的间隔时间,并根据调度文件中预置的算法生成随机值,判断所述随机值是否落在所述灰度范围值内;
若所述随机值落在所述灰度范围值内,则客户端从指定新脚本的获取地址获取新脚本内容。
本说明书实施例所提供的技术方案引入了调度文件,利用调度文件,在客户端页面使用原有配置信息的前提下,让不同的客户端页面在实际渲染中能够按照指定的灰度比例加载新脚本文件,实现灰度发布的功能。通过在调度文件中灵活配置新脚本获取请求的间隔时间的方式,实现了灰度发布过程中的快速回滚。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书实施例。
此外,本说明书实施例中的任一实施例并不需要达到上述的全部效果。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是本说明书一示例性实施例示出的新脚本的灰度发布方法的一种流程图;
图2是本说明书一示例性实施例示出的在服务器执行的新脚本的灰度发布方法的一种流程图;
图3是本说明书一示例性实施例示出的在服务器执行的新脚本的灰度发布方法的另一种流程图;
图4是本说明书一示例性实施例示出的在客户端执行的新脚本的灰度发布方法的一种流程图;
图5是本说明书一示例性实施例示出的在客户端执行的新脚本的灰度发布方法的另一种流程图;
图6是本说明书一示例性实施例示出的用于服务器的新脚本的灰度发布装置的一种示意图;
图7是本说明书一示例性实施例示出的用于客户端的新脚本的灰度发布装置的一种示意图;
图8是本说明书一示例性实施例示出的新脚本的灰度发布系统的一种示意图;
图9是本说明书一示例性实施例示出的一种计算机设备的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。
在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
人机识别系统(Robot Detection System)采集用户行为信息(鼠标、按键、位置,传感器等)进行操作行为识别,区分真实用户操作与机器批量操作,并对机器行为加以拦截,从而有效防控批量注册、恶意刷单、作弊点击、信息爬取等,保障支付平台站内业务正常有序进行。
人机识别系统部署在各个支付平台业务点前端页面的行为数据采集脚本每隔一段时间就存在被外部黑产破解的风险,外部黑产在破解采集脚本的内容及加密方式后能够构造出合法的用户行为数据躲过人机识别系统防控识别。因此,人机识别系统需要定期更换采集脚本来应对外部的破解。但是一次性全量更换采集脚本存在巨大的风险,一旦新脚本内容有误或者数据加密配置存在问题将会导致所有正常用户操作被误识别为机器行为。
因此,需要一种更换采集脚本的灰度发布方法,先在小范围内验证新脚本的正确性,然后逐渐扩大灰度范围直至全量更换。且灰度发布过程中发现新脚本存在问题后,能够做到快速回滚。
在现有技术中,RDS通常会为每个支付平台业务点分配一个采集脚本文件名,举例说明现有技术中的新脚本更换过程:假设登录场景为业务点,每次在登录场景下在渲染客户端页面时,固定以RDS域名+为业务点分配的采集脚本文件名(例:www.rdsdomain.com/ua_login.js)为获取地址到服务器获取一次采集脚本,并将获取到的脚本文件内容嵌入到前端页面中。
为了避免客户端向服务器获取采集脚本的操作过于频繁,造成服务器压力过大,通常在客户端本地配置本地缓存时间,当本地缓存时间计时完毕后,才会重新发起一次WEB请求,从服务器获取最新采集脚本。因此,如果新旧脚本文件更换后发现新脚本内容有误想要回滚到旧文件,回滚操作也无法实时生效,可以造成严重的业务故障。
为了在不改变客户端本地配置的情况下实现新脚本的灰度发布,本说明书实施例提供新脚本的灰度发布方法,以及一种用于执行该方法的新脚本的灰度发布装置。下面对本实施例涉及的新脚本的灰度发布方法进行详细说明,参见图1所示,该方法可以包括以下步骤:
S101,服务器接收客户端对指定新脚本的获取请求;
S102,服务器生成对应指定新脚本的调度文件;其中,调度文件包含灰度范围值与所述指定新脚本的获取地址;
S103,服务器发送调度文件到客户端;
S104,判断所述调度文件中包含的灰度范围值是否为预设值,若不为预设值,执行步骤S105,若为预设值,执行其他操作;
S105,取消发送新脚本获取请求的间隔时间;
S106,根据调度文件中预置的算法生成随机值;
S107,判断所述随机值是否落在所述灰度范围值内,若落在所述灰度范围之内,执行步骤S108,若未落在所述灰度范围值内,执行步骤S109;
S108,从调度文件中读取新脚本地址进而获取新脚本内容;
S109,不获取新脚本内容。
为了更清楚地说明本说明书实施例的方案,下面分别再从单侧的角度,对于执行的方法进行说明:
参见图2所示,为本说明书实施例在服务器执行的新脚本的灰度发布方法,所述方法包括:
S201,服务器接收客户端对指定新脚本的获取请求并生成对应指定新脚本的调度文件,所述调度文件包含灰度范围值与所述指定新脚本的获取地址;
与常规方式的直接生成指定名称的行为数据采集脚本文件不同,本实施例将针对每个业务点生成两个脚本文件:
一,生成调度文件,它的作用是代替常规方式中的行为数据采集脚本文件返回给客户端,客户端可在调度文件内实现本地计算随机值、新旧脚本文件选择、客户端文件本地缓存时间设置等功能。
调度文件是一个对应行为数据采集脚本文件的JavaScript脚本文件,将代替行为数据采集脚本文件被返回给客户端,举例说明其过程:客户端根据服务器分配给每个业务点唯一指定的文件名ua_login.js,发起新行为数据采集脚本请求。服务器接收该请求后,生成对应的调度文件,将该调度文件命名为ua_login.js,放在新行为数据采集脚本的原获取地址,进而使客户端获取该调度文件。
二,生成新的行为数据采集脚本文件,该行为数据采集脚本文件将不再被直接返回给客户端,而是等待客户端通过调度文件做出选择,根据结果决定是否获取该新的行为数据采集脚本文件。
进一步地,该行为数据采集脚本文件可在生成后被下放到CDN服务器,并将获取地址配置在调度文件内,后续由客户端通过调度文件做出选择后到CDN服务器获取。
S201,服务器将所述调度文件发送给客户端,以使所述客户端根据调度文件中包含的灰度范围值确定对所述指定新脚本的获取策略、
本说明书实施例还提供一种更为具体的在服务器执行的新脚本的灰度发布方法,参见图3所示,该方法可以包括以下步骤:
S301,服务器生成新脚本文件,并将新脚本文件部署在CDN服务器的对应地址;
S302,服务器接收客户端对指定新脚本的获取请求,所述获取请求中包含服务器为所述指定新脚本分配的唯一文件名;
S303,服务器生成以所述唯一文件名进行命名的调度文件,以使所述调度文件代替所述指定新脚本返回给客户端;
S304,服务器将所述调度文件发送给客户端,以使所述客户端根据调度文件中包含的灰度范围值确定对所述指定新脚本的获取策略。
参见图4所示,为本说明书实施例在客户端执行的新脚本的灰度发布方法,所述方法包括:
S401,客户端接收服务器发送的调度文件;
S402,判断所述调度文件中包含的灰度范围值是否为预设值,若为预设值。,执行步骤S408,若不为预设值,执行步骤S403;
灰度范围值是预先配置在调度文件中的,是一个代表灰度发布比例的值。
举例说明,灰度范围值可取值在0~100之间,将0和100定为预设值。
将灰度范围值设定为0时,表示使客户端获取并使用旧脚本文件;
将灰度范围值设定为100时,表示使客户端获取并使用新脚本文件;
将灰度范围值设定为1~99之间时,表示使客户端进入灰度判断过程,根据后续算法选择使用新脚本文件或旧脚本文件;
S403,取消发送新脚本获取请求的间隔时间;
在客户端的原有配置信息中,每次渲染业务点对应的前端页面是时都会发送一次新行为数据采集脚本获取请求,为了避免该请求过于频繁,在客户端进一步配置本地缓存时间,即发送新脚本获取请求的间隔时间。
当所述调度文件中包含的灰度范围值不为预设值,取消该间隔时间,即将本地缓存时间暂时调整为0,以便在新脚本的灰度发布过程中,能随时进行新旧脚本的更换。
S404,根据调度文件中预置的算法生成随机值;
该随机值需要根据步骤S402中的灰度范围值进行上下限设定,举例说明,步骤S402中,判断灰度范围值为1~99之间时,表示使客户端进入灰度判断过程。则调度文件中计算并获取一个1~99范围内的随机整数。并判断该随机整数与灰度范围值的大小关系:
若随机整数≤灰度范围值,则表示该客户端在灰度范围内,使用新文件。
若随机整数>灰度范围值,则表示该客户端在灰度范围外,使用旧文件。
S405,判断所述随机值是否落在所述灰度范围值内,若在灰度范围值内,执行步骤S406,若不在灰度范围值内,执行步骤S407;
S406,客户端从指定新脚本的获取地址获取新脚本内容;
S407,客户端从旧脚本的获取地址获取旧脚本内容;
其中,新旧脚本的获取地址均可从调度文件中读取。
S408,根据预设值确定脚本获取策略。
如步骤S402所述,当灰度范围值为预设值时,代表客户端不需要执行计算随机数等过程判断是否更换脚本文件。而是直接获取新脚本文件或旧脚本文件。即服务器将新脚本下发给所有客户端,或,服务器令所有客户端回滚到旧脚本文件。
本说明书实施例还提供一种更为具体的在客户端执行的新脚本的灰度发布方法,参见图5所示,该方法可以包括以下步骤:
S501,客户端接收服务器发送的调度文件;
S502,判断所述调度文件中包含的灰度范围值是否为预设值,若为预设值。,执行步骤S508,若不为预设值,执行步骤S503;
S503,取消发送新脚本获取请求的间隔时间;
S504,根据调度文件中预置的算法生成随机值;
S505,判断所述随机值是否落在所述灰度范围值内,若在灰度范围值内,执行步骤S506,若不在灰度范围值内,执行步骤S507;
S506,客户端从指定新脚本的获取地址获取新脚本内容;
S507,客户端从旧脚本的获取地址获取旧脚本内容;
S508,判断预设值为第一设定值还是第二设定值,若为第一设定值,执行步骤S510,若为第二设定值,执行步骤S509;
S509,从旧脚本的获取地址获取旧脚本内容;
S510,从新脚本的获取地址获取新脚本内容;
S511,将发送新脚本获取请求的间隔时间设定为预置时间。
相应于上述方法实施例,本说明书实施例还提供一种新脚本的灰度发布装置,应用于服务器,参见图6所示,所述装置可以包括:调度文件生成模块610和调度文件发送模块620;
调度文件生成模块610:用于接收客户端对指定新脚本的获取请求并生成对应指定新脚本的调度文件,所述调度文件包含灰度范围值与所述指定新脚本的获取地址;
调度文件发送模块620:用于将所述调度文件发送给客户端,以使所述客户端根据调度文件中包含的灰度范围值确定对所述指定新脚本的获取策略。
相应于上述方法实施例,本说明书实施例还提供一种新脚本的灰度发布装置,应用于客户端,参见图7所示,所述装置可以包括:灰度判断模块710,灰度对比模块720和脚本获取模块730;
灰度判断模块710:用于接收服务器发送的调度文件,所述调度文件包含灰度范围值与所述指定新脚本的获取地址,判断所述调度文件中包含的灰度范围值是否为预设值;
灰度对比模块720:用于当所述灰度范围值不为预设值时,取消发送新脚本获取请求的间隔时间,并根据调度文件中预置的算法生成随机值,判断所述随机值是否落在所述灰度范围值内;
脚本获取模块730:用于当所述随机值落在所述灰度范围值内时,从指定新脚本的获取地址获取新脚本内容。
本说明书实施例还提供一种计算机设备,其至少包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现前述新脚本的灰度发布方法,所述方法包括:
服务器接收客户端对指定新脚本的获取请求并生成对应指定新脚本的调度文件,所述调度文件包含灰度范围值与所述指定新脚本的获取地址;
服务器将所述调度文件发送给客户端,以使所述客户端根据调度文件中包含的灰度范围值确定对所述指定新脚本的获取策略。
本说明书实施例还提供一种计算机设备,其至少包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现前述新脚本的灰度发布方法,所述方法包括:
客户端接收服务器发送的调度文件,所述调度文件包含灰度范围值与所述指定新脚本的获取地址,判断所述调度文件中包含的灰度范围值是否为预设值;
若所述灰度范围值不为预设值,则客户端取消发送新脚本获取请求的间隔时间,并根据调度文件中预置的算法生成随机值,判断所述随机值是否落在所述灰度范围值内;
若所述随机值落在所述灰度范围值内,则客户端从指定新脚本的获取地址获取新脚本内容。
图9示出了本说明书实施例所提供的一种更为具体的计算设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述的新脚本的灰度发布方法,应用于服务器,所述方法包括:
服务器接收客户端对指定新脚本的获取请求并生成对应指定新脚本的调度文件,所述调度文件包含灰度范围值与所述指定新脚本的获取地址;
服务器将所述调度文件发送给客户端,以使所述客户端根据调度文件中包含的灰度范围值确定对所述指定新脚本的获取策略。
本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述的新脚本的灰度发布方法,所述方法至少包括:
客户端接收服务器发送的调度文件,所述调度文件包含灰度范围值与所述指定新脚本的获取地址,判断所述调度文件中包含的灰度范围值是否为预设值;
若所述灰度范围值不为预设值,则客户端取消发送新脚本获取请求的间隔时间,并根据调度文件中预置的算法生成随机值,判断所述随机值是否落在所述灰度范围值内;
若所述随机值落在所述灰度范围值内,则客户端从指定新脚本的获取地址获取新脚本内容。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。
本说明书实施例还提供一种新脚本的灰度发布系统,所述系统包括:
服务器、客户端;
所述服务器,用于接收客户端对指定新脚本的获取请求并生成对应指定新脚本的调度文件,所述调度文件包含灰度范围值与所述指定新脚本的获取地址;
所述客户端,用于接收服务器发送的调度文件,判断所述调度文件中包含的灰度范围值是否为预设值;
所述客户端,用于当所述灰度范围值不为预设值时,取消发送新脚本获取请求的间隔时间,并根据调度文件中预置的算法生成随机值,判断所述随机值是否落在所述灰度范围值内;
所述客户端,用于当所述随机值落在所述灰度范围值内时,从指定新脚本的获取地址获取新脚本内容。
本说明书提供的新脚本的灰度发布方法在实际场景中的应用过程参见图8所示,人机识别RDS系统中分为RDS服务器和CDN服务器,RDS服务器中设有脚本文件生成组件,用于生成新的行为数据采集脚本和调度文件。CDN服务器用于部署新的行为数据采集脚本和各个旧的行为数据采集脚本。RDS服务器生成新的行为数据采集脚本和调度文件后,将行为数据采集脚本部署在CDN服务器,并将部署地址放在调度文件中,以使客户端根据调度文件选择性在CDN服务器中获取脚本文件。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书实施例可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书实施例各个实施例或者实施例的某些部分所述的方法。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,在实施本说明书实施例方案时可以把各模块的功能在同一个或多个软件和/或硬件中实现。也可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本说明书实施例的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本说明书实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本说明书实施例的保护范围。

Claims (14)

1.一种新脚本的灰度发布方法,所述方法包括:
服务器接收客户端对指定新脚本的获取请求并生成对应指定新脚本的调度文件,所述调度文件包含灰度范围值与所述指定新脚本的获取地址;
客户端接收服务器发送的调度文件,判断所述调度文件中包含的灰度范围值是否为预设值;
若所述灰度范围值不为预设值,则客户端取消发送新脚本获取请求的间隔时间,并根据调度文件中预置的算法生成随机值,判断所述随机值是否落在所述灰度范围值内;
若所述随机值落在所述灰度范围值内,则客户端从指定新脚本的获取地址获取新脚本内容。
2.一种新脚本的灰度发布方法,应用于服务器,所述方法包括:
服务器接收客户端对指定新脚本的获取请求并生成对应指定新脚本的调度文件,所述调度文件包含灰度范围值与所述指定新脚本的获取地址;
服务器将所述调度文件发送给客户端,以使所述客户端根据调度文件中包含的灰度范围值确定对所述指定新脚本的获取策略。
3.如权利要求2所述的方法,所述服务器接收客户端对指定新脚本的获取请求并生成对应指定新脚本的调度文件,包括:
服务器接收客户端对指定新脚本的获取请求,所述获取请求中包含服务器为所述指定新脚本分配的唯一文件名;
服务器生成以所述唯一文件名进行命名的调度文件,以使所述调度文件代替所述指定新脚本返回给客户端。
4.如权利要求2所述的方法,所述服务器接收客户端对指定新脚本的获取请求前,还包括:
服务器生成新脚本文件,并将新脚本文件部署在CDN服务器的对应地址。
5.一种新脚本的灰度发布方法,应用于客户端,所述方法包括:
客户端接收服务器发送的调度文件,所述调度文件包含灰度范围值与所述指定新脚本的获取地址,判断所述调度文件中包含的灰度范围值是否为预设值;
若所述灰度范围值不为预设值,则客户端取消发送新脚本获取请求的间隔时间,并根据调度文件中预置的算法生成随机值,判断所述随机值是否落在所述灰度范围值内;
若所述随机值落在所述灰度范围值内,则客户端从指定新脚本的获取地址获取新脚本内容。
6.如权利要求5所述的方法,所述判断所述随机值是否落在所述灰度范围值内后,还包括:
若所述随机值未落在所述灰度范围值内,则客户端从旧脚本的获取地址获取旧脚本内容。
7.如权利要求5所述的方法,所述客户端接收服务器发送的调度文件,判断所述灰度范围值是否为预设值,包括:
客户端接收服务器发送的调度文件,判断所述调度文件中包含的灰度范围值是否为第一设定值;
若所述灰度范围值为第一设定值,则客户端从新脚本的获取地址获取新脚本内容。
8.如权利要求5所述的方法,所述客户端接收服务器发送的调度文件,判断所述灰度范围值是否为预设值,包括:
客户端接收服务器发送的调度文件,判断所述调度文件中包含的灰度范围值是否为第二设定值;
若所述灰度范围值为第二设定值,则客户端从旧脚本的获取地址获取旧脚本内容。
9.如权利要求7所述的方法,所述客户端从新脚本的获取地址获取新脚本内容后,还包括:
客户端将发送新脚本获取请求的间隔时间设定为预置时间。
10.一种新脚本的灰度发布装置,应用于服务器,所述装置包括:
调度文件生成模块:用于接收客户端对指定新脚本的获取请求并生成对应指定新脚本的调度文件,所述调度文件包含灰度范围值与所述指定新脚本的获取地址;
调度文件发送模块:用于将所述调度文件发送给客户端,以使所述客户端根据调度文件中包含的灰度范围值确定对所述指定新脚本的获取策略。
11.一种新脚本的灰度发布装置,应用于客户端,所述装置包括:
灰度判断模块:用于接收服务器发送的调度文件,所述调度文件包含灰度范围值与所述指定新脚本的获取地址,判断所述调度文件中包含的灰度范围值是否为预设值;
灰度对比模块:用于当所述灰度范围值不为预设值时,取消发送新脚本获取请求的间隔时间,并根据调度文件中预置的算法生成随机值,判断所述随机值是否落在所述灰度范围值内;
脚本获取模块:用于当所述随机值落在所述灰度范围值内时,从指定新脚本的获取地址获取新脚本内容。
12.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现如权利要求2所述的方法。
13.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现如权利要求5所述的方法。
14.一种新脚本的灰度发布系统,所述系统包括:
服务器、客户端;
所述服务器,用于接收客户端对指定新脚本的获取请求并生成对应指定新脚本的调度文件,所述调度文件包含灰度范围值与所述指定新脚本的获取地址;
所述客户端,用于接收服务器发送的调度文件,判断所述调度文件中包含的灰度范围值是否为预设值;
所述客户端,用于当所述灰度范围值不为预设值时,取消发送新脚本获取请求的间隔时间,并根据调度文件中预置的算法生成随机值,判断所述随机值是否落在所述灰度范围值内;
所述客户端,用于当所述随机值落在所述灰度范围值内时,从指定新脚本的获取地址获取新脚本内容。
CN201810764094.8A 2018-07-12 2018-07-12 新脚本的灰度发布方法和装置 Active CN109241704B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810764094.8A CN109241704B (zh) 2018-07-12 2018-07-12 新脚本的灰度发布方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810764094.8A CN109241704B (zh) 2018-07-12 2018-07-12 新脚本的灰度发布方法和装置

Publications (2)

Publication Number Publication Date
CN109241704A true CN109241704A (zh) 2019-01-18
CN109241704B CN109241704B (zh) 2021-08-24

Family

ID=65072520

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810764094.8A Active CN109241704B (zh) 2018-07-12 2018-07-12 新脚本的灰度发布方法和装置

Country Status (1)

Country Link
CN (1) CN109241704B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021051541A1 (zh) * 2019-09-18 2021-03-25 平安科技(深圳)有限公司 基于微服务框架的一起灰度方法、装置和计算机设备
CN113127353A (zh) * 2021-04-20 2021-07-16 顶象科技有限公司 一种灰度发布方法和装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2648106A1 (en) * 2012-04-05 2013-10-09 CoreMedia AG Method and web content management system for A/B testing or multivariate testing of websites on computers being connected to a web content management system
US8997081B1 (en) * 2014-09-18 2015-03-31 Ensighten, Inc. Analytics for mobile applications
CN104966206A (zh) * 2015-05-12 2015-10-07 百度在线网络技术(北京)有限公司 对移动应用进行灰度发布的方法、装置和系统
US9201572B2 (en) * 2013-03-12 2015-12-01 Cbs Interactive, Inc. A/B test configuration environment
CN105653440A (zh) * 2014-11-13 2016-06-08 阿里巴巴集团控股有限公司 一种灰度发布方法和装置
CN105791341A (zh) * 2014-12-22 2016-07-20 华为软件技术有限公司 一种应用发布的处理方法、装置及系统
CN106685687A (zh) * 2016-09-23 2017-05-17 北京五八信息技术有限公司 灰度发布方法及装置
CN108133125A (zh) * 2018-01-17 2018-06-08 北京网信云服信息科技有限公司 一种应用程序的访问方法及系统

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2648106A1 (en) * 2012-04-05 2013-10-09 CoreMedia AG Method and web content management system for A/B testing or multivariate testing of websites on computers being connected to a web content management system
US9201572B2 (en) * 2013-03-12 2015-12-01 Cbs Interactive, Inc. A/B test configuration environment
US8997081B1 (en) * 2014-09-18 2015-03-31 Ensighten, Inc. Analytics for mobile applications
CN105653440A (zh) * 2014-11-13 2016-06-08 阿里巴巴集团控股有限公司 一种灰度发布方法和装置
CN105791341A (zh) * 2014-12-22 2016-07-20 华为软件技术有限公司 一种应用发布的处理方法、装置及系统
CN104966206A (zh) * 2015-05-12 2015-10-07 百度在线网络技术(北京)有限公司 对移动应用进行灰度发布的方法、装置和系统
CN106685687A (zh) * 2016-09-23 2017-05-17 北京五八信息技术有限公司 灰度发布方法及装置
CN108133125A (zh) * 2018-01-17 2018-06-08 北京网信云服信息科技有限公司 一种应用程序的访问方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
SHAJI KRISHNAN等: "Multivariate model for test response analysis", 《2010 15TH IEEE EUROPEAN TEST SYMPOSIUM》 *
李晓毅: "电子银行系统灰度发布的研究与实现", 《金融电子化》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021051541A1 (zh) * 2019-09-18 2021-03-25 平安科技(深圳)有限公司 基于微服务框架的一起灰度方法、装置和计算机设备
CN113127353A (zh) * 2021-04-20 2021-07-16 顶象科技有限公司 一种灰度发布方法和装置

Also Published As

Publication number Publication date
CN109241704B (zh) 2021-08-24

Similar Documents

Publication Publication Date Title
CN110020854B (zh) 一种基于多个区块链网络的数据存证方法及系统
CN105450579B (zh) 网络资源预加载方法、客户端及中间件服务器
CN110049087A (zh) 一种联盟链的可信度验证方法、系统、装置及设备
CN109600366A (zh) 基于区块链的保护用户数据隐私的方法及装置
CN105049246B (zh) 一种集团用户管理服务方法和系统
CN110020945A (zh) 一种基于多个区块链网络的数据读取方法及系统
CN106528578A (zh) 一种信息展示方法及装置
CN109614766A (zh) 一种通过文件获取对网页进行区块链存证的方法及装置
CN110162523A (zh) 数据存储方法、系统、装置及设备
CN110060153A (zh) 一种基于多个区块链网络的数据存证方法及系统
CN110020590A (zh) 基于区块链对人脸信息进行场景化存证的方法及装置
CN110022345A (zh) 联盟链中的请求处理方法、系统、装置及设备
CN108829769A (zh) 一种可疑群组发现方法和装置
CN109241704A (zh) 新脚本的灰度发布方法和装置
CN111161072A (zh) 基于区块链的随机数生成方法、设备及存储介质
CN110347645A (zh) 一种电子文件存证方法及装置
CN103684823A (zh) 网络日志记录方法、网络访问路径确定方法及相关装置
CN109726117A (zh) 一种Mock测试方法、装置、服务器及电子设备
CN111078715A (zh) 区块链上互联网广告数据的同步存储方法及其装置
CN111899104B (zh) 一种业务执行方法及装置
CN110377645A (zh) 涉及区块链的点赞数据共享方法及其系统
CN109495319A (zh) Cdn节点的故障信息确定方法、装置及设备
CN103024091A (zh) 获得网络客户端真实物理地址的方法及装置
CN110060152A (zh) 一种基于多个区块链网络的数据读取方法及系统
CN110008081A (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
TA01 Transfer of patent application right

Effective date of registration: 20200922

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20200922

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant