CN108470001B - 一种网页应用灰度发布方法、服务器及系统 - Google Patents

一种网页应用灰度发布方法、服务器及系统 Download PDF

Info

Publication number
CN108470001B
CN108470001B CN201810219638.2A CN201810219638A CN108470001B CN 108470001 B CN108470001 B CN 108470001B CN 201810219638 A CN201810219638 A CN 201810219638A CN 108470001 B CN108470001 B CN 108470001B
Authority
CN
China
Prior art keywords
application
user terminal
server
gray
gray level
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
Application number
CN201810219638.2A
Other languages
English (en)
Other versions
CN108470001A (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.)
Beijing Tendcloud Tianxia Technology Co ltd
Original Assignee
Beijing Tendcloud Tianxia Technology Co 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 Beijing Tendcloud Tianxia Technology Co ltd filed Critical Beijing Tendcloud Tianxia Technology Co ltd
Priority to CN201810219638.2A priority Critical patent/CN108470001B/zh
Publication of CN108470001A publication Critical patent/CN108470001A/zh
Application granted granted Critical
Publication of CN108470001B publication Critical patent/CN108470001B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/368Test management for test version control, e.g. updating test cases to a new software version
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/986Document structures and storage, e.g. HTML extensions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种网页应用灰度发布方法,该方法包括:用户终端向应用服务器发起访问生产应用的第一请求;应用服务器基于第一请求向用户终端返回生产应用的HTML文件,生产应用的HTML文件中包括对灰度分流脚本的引用;用户终端接收并解析该HTML文件,在解析至灰度分流脚本的引用时,向灰度服务器发起获取灰度分流脚本的第二请求,第二请求包括用户信息。灰度服务器根据用户信息来判断用户终端是否符合灰度判定条件,若是,则向用户终端返回页面重定向指令,指示用户终端将页面重定向至灰度应用,加载灰度应用页面;若否,则用户终端继续解析生产应用的HTML文件并加载生产应用页面。本发明一并公开了相应的服务器和灰度发布系统。

Description

一种网页应用灰度发布方法、服务器及系统
技术领域
本发明涉及互联网及应用升级测试技术领域,尤其涉及一种网页应用灰度发布方法、服务器及系统。
背景技术
由于跨平台、强兼容性、低开发成本等优势,网页应用(Web App)逐渐取代原生应用(iOS App、Android App),成为开发者的首选。
灰度发布是一种应用升级测试的方法,其在原有版本的应用(下文称为生产应用)可用的情况下,部署一个新版本的应用,新版本的应用即灰度应用(又称金丝雀应用)。让一部分用户继续使用原版本应用,一部分目标用户使用灰度应用,收集灰度应用的用户使用数据,根据灰度应用的用户使用情况来决定正式发布灰度应用或回滚。
现有的应用灰度发布方案需要调整后端服务器的部署,即一部分服务器部署有生产应用,一部分服务器部署有灰度应用,生产应用和灰度应用由不同的服务器响应。这种方案部署复杂,针对性较强,无法灵活迁移,不能跨产品使用。例如,针对生产应用A及其灰度应用A’而部署的后端服务器无法灵活地适用于生产应用B及其灰度应用B’,针对生产应用B及其灰度应用B’只得重新部署服务器,这提高了开发及测试的技术门槛,增加了工作量,费时费力且容易出错。
发明内容
为此,本发明提供一种网页应用灰度发布方法、服务器及系统,以解决或至少缓解上面存在的问题。
根据本发明的一个方面,提供一种网页应用灰度发布方法,在网页应用灰度发布系统中执行,所述系统包括用户终端、应用服务器和灰度服务器,所述用户终端分别与所述应用服务器、所述灰度服务器通信连接,所述应用服务器适于为生产应用和灰度应用提供网页资源,所述生产应用和所述灰度应用均为网页应用,所述灰度应用是所述生产应用的升级测试版本,所述灰度服务器中存储有多个灰度分流脚本,每个灰度分流脚本对应于一组待测应用和一组灰度判定条件,每一组待测应用包括生产应用和灰度应用,所述方法包括:用户终端向应用服务器发起访问生产应用的第一请求,所述第一请求包括生产应用的地址;应用服务器基于所述第一请求向所述用户终端返回生产应用的HTML文件,所述生产应用的HTML文件中包括对灰度分流脚本的引用;用户终端接收并解析生产应用的HTML文件,在解析至所述灰度分流脚本的引用时,向灰度服务器发起获取所述灰度分流脚本的第二请求,所述第二请求包括用户信息;灰度服务器根据所述用户信息来判断所述用户终端是否符合所述灰度分流脚本所对应的灰度判定条件;若用户终端符合灰度判定条件,则灰度服务器向所述用户终端返回页面重定向指令,所述页面重定向指令包括灰度应用的地址;用户终端根据所述页面重定向指令向应用服务器发起访问灰度应用的第三请求,所述第三请求包括灰度应用的地址;应用服务器基于所述第三请求向所述用户终端返回灰度应用的HTML文件;用户终端接收灰度应用的HTML文件,并在浏览器中加载灰度应用页面。
可选地,在根据本发明的网页应用灰度发布方法中,在用户终端向应用服务器发起访问生产应用的第一请求的步骤之前,还包括步骤:灰度服务器接收开发终端发起的针对一组待测应用的灰度发布请求,所述灰度发布请求包括灰度应用的地址和灰度判定条件;为该组待测应用分配一个待测应用标识,并生成与该待测应用标识所对应的灰度分流脚本;将所述灰度分流脚本与所述灰度应用的地址以及所述灰度判定条件关联存储。
可选地,在根据本发明的网页应用灰度发布方法中,生产应用的HTML文件中采用script元素引用所述灰度分流脚本,所述script元素的src属性值为所述灰度分流脚本的地址。
可选地,在根据本发明的网页应用灰度发布方法中,灰度分流脚本设置于所述生产应用的HTML文件的head位置。
可选地,在根据本发明的网页应用灰度发布方法中,用户信息包括以下一种或多种:用户终端标识、浏览器信息、IP地址、cookie信息。
可选地,在根据本发明的网页应用灰度发布方法中,若用户终端不符合灰度判定条件,则灰度服务器向所述用户终端返回空信息;用户终端接收所述空信息,在浏览器中加载生产应用页面。
可选地,在根据本发明的网页应用灰度发布方法中,在浏览器中加载灰度应用页面的步骤之后,还包括步骤:将浏览器地址栏中的地址修改为生产应用的地址。
根据本发明的一个方面,提供一种网页应用灰度发布方法,在用户终端的浏览器中执行,所述用户终端与应用服务器通信连接,所述应用服务器适于为生产应用和灰度应用提供网页资源,所述生产应用和所述灰度应用均为网页应用,所述灰度应用是所述生产应用的升级测试版本,所述方法包括:向应用服务器发起访问生产应用的第一请求,所述第一请求包括生产应用的地址;接收应用服务器返回的生产应用的HTML文件,所述HTML文件中包括对灰度分流脚本的引用,所述灰度分流脚本存储于灰度服务器中,所述灰度服务器中还存储有灰度分流脚本所对应的灰度判定条件;解析生产应用的HTML文件,在解析至所述灰度分流脚本的引用时,向灰度服务器发起获取所述灰度分流脚本的第二请求,所述第二请求包括用户信息,以便所述灰度服务器根据用户信息来判断所述用户终端是否符合所述灰度分流脚本所对应的灰度判定条件;当用户终端符合灰度判定条件时,接收灰度服务器返回的页面重定向指令,所述页面重定向指令包括灰度应用的地址;向应用服务器发起访问灰度应用的第三请求,所述第三请求包括灰度应用的地址;接收应用服务器返回的灰度应用的HTML文件,加载灰度应用页面。
根据本发明的一个方面,提供一种网页应用灰度发布方法,在灰度服务器中执行,所述灰度服务器中存储有多个灰度分流脚本,每个灰度分流脚本对应于一组待测应用和一组灰度判定条件,每一组待测应用包括生产应用和灰度应用,所述生产应用和所述灰度应用均为网页应用,所述灰度应用是所述生产应用的升级测试版本,所述方法包括:接收用户终端在解析生产应用的HTML文件时发起的获取灰度分流脚本的第二请求,所述第二请求包括用户信息,所述生产应用的HTML文件中包括对所述灰度分流脚本的引用;根据所述用户信息来判断所述用户终端是否符合所述灰度分流脚本所对应的灰度判定条件;当用户终端符合灰度判定条件时,向所述用户终端返回页面重定向指令,所述页面重定向指令包括灰度应用的地址。
根据本发明的一个方面,提供一种用户终端,包括:至少一个处理器和存储有程序指令的存储器,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如上所述的网页应用灰度发布方法。
根据本发明的一个方面,提供一种灰度服务器,包括:至少一个处理器和存储有程序指令的存储器;其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如上所述的网页应用灰度发布方法。
根据本发明的一个方面,提供一种网页应用灰度发布系统,包括:如上所述的用户终端、如上所述的灰度服务器和应用服务器,所述应用服务器适于为生产应用和灰度应用提供网页资源,所述生产应用和所述灰度应用均为网页应用,所述灰度应用是所述生产应用的升级测试版本;其中,所述用户终端、应用服务器、灰度服务器适于执行如上所述的网页应用灰度发布方法。
根据本发明的技术方案,生产应用的HTML文件中包括对灰度分流脚本的引用。当用户终端访问生产应用、解析生产应用的HTML文件时,会向灰度服务器发起获取灰度分流脚本的第二请求,第二请求中包括用户信息。灰度服务器根据用户信息来判断用户终端是否符合灰度判定条件,若是,则向用户终端返回页面重定向指令,指示用户终端将页面重定向至灰度应用;若否,则返回空信息,用户终端则继续解析生产应用的HTML文件并加载生产应用页面。本发明的灰度发布方案完全采用前端技术实现,仅需预先配置灰度判定条件和灰度应用的地址、并在生产应用的HTML文件中引用灰度分流脚本即可,无需部署后端服务器,降低了灰度发布的工作量和技术门槛,操作简单,易于迁移。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明一个实施例的网页应用灰度发布系统100的示意图;
图2示出了根据本发明一个实施例的灰度发布方法200的流程图;
图3示出了根据本发明一个实施例的灰度发布方法300的流程图;
图4示出了根据本发明一个实施例的灰度发布方法400的流程图;
图5示出了根据本发明一个实施例的灰度发布方法500的流程图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的网页应用灰度发布系统100的示意图。如图1所示,网页应用灰度发布分析系统100包括用户终端110、应用服务器120和灰度服务器130。应当指出,图1所示的网页应用灰度发布系统仅是示例性的,在具体的实践情况中,系统100可以包括不同数量的用户终端110、应用服务器120和灰度服务器130,当存在多个用户终端110、应用服务器120和灰度服务器130,多个用户终端110、多个应用服务器120、多个灰度服务器130可以分别部署于不同的地理位置,本发明对系统100中所包括的用户终端、应用服务器、灰度服务器的数量以及所处的地理位置均不做限制。
用户终端110例如可以是个人桌面电脑(PC)、笔记本电脑、手机、平板电脑、多媒体设备、智能可穿戴设备等,但不限于此。用户终端110上可以安装一个或多个应用程序(App),例如浏览器,以满足用户的相应需求。应用服务器120、灰度服务器130是可以提供特定服务的服务器,例如Web服务器,HTTP服务器等,但不限于此。应用服务器120、灰度服务器130可以为用户终端提供网页服务或向用户终端的应用程序提供方法调用,从而向用户终端提供相应的服务或功能。用户终端110可以经由互联网与应用服务器120、灰度服务器130建立连接并进行通信,以向应用服务器120、灰度服务器130请求某些服务或资源。用户终端110可以以有线的方式与应用服务器120、灰度服务器130建立连接,也可以通过3G、4G、WiFi、个人热点、IEEE802.11x、蓝牙等无线的方式与应用服务器120、灰度服务器130建立连接,本发明对用户终端110与应用服务器120、灰度服务器130之间的通信连接方式不做限制。
在本发明中,用户终端110上安装有浏览器(例如Chrome、Firefox、IE浏览器等),用户终端110可以通过浏览器来访问生产应用或灰度应用,生产应用和灰度应用均为网页应用(Web App),且灰度应用是生产应用的升级测试版本。网页应用即运行于网络和标准浏览器上,基于网页技术开发实现特定功能的应用,其包括网站和采用网页技术开发的移动端应用等,但不限于此。目前的网页应用多由HTML5(H5)开发,但HTML5本身不造成对本发明的限制,不管网页应用以何种语言开发,任何包括本发明中公开的技术特征的技术方案均落于本发明的保护范围之内。
在本发明中,应用服务器120例如可以是Nginx服务器,其用于为生产应用和灰度应用提供网页资源(例如HTML、css、js文件等),即,应用服务器120可以接收用户终端110对于生产应用、灰度应用的访问请求,并基于该请求向用户终端返回相应的网页资源。
在本发明中,灰度服务器130例如可以是采用Node.js搭建的Web服务器、HTTP服务器等,但不限于此。灰度服务器130用于实现前端的用户分流,即,当一个用户终端向应用服务器访问生产应用时,判断该用户终端是继续访问生产应用,还是引导该用户终端访问灰度应用。至于具体哪些用户使用生产应用、哪些用户试用灰度应用,可以根据预设的灰度判定条件来分流,例如,按照地域来分流(例如让某些省份、地区的用户试用灰度应用等),按照流量来分流(例如在一段时间内的访问中,设置一定比例的用户试用灰度应用等),按照硬件配置来分流(例如设置采用某种浏览器或操作系统的用户试用灰度应用等),按照页面地址来分流(例如当访问到生产应用的某个具体页面时再重定向到灰度应用),等等。在本发明的灰度发布方案中,用户终端110无法自行访问灰度应用,而只能由灰度服务器130引导访问。应当指出,灰度服务器130可以实现多组待测应用(每一组待测应用包括生产应用和灰度应用)的灰度发布,每一组待测应用均对应于一个灰度分流脚本和一组灰度判定条件。不同待测应用的灰度分流脚本不同,所采用的灰度判定条件不尽相同。
基于本发明的系统100的部署方案,应用服务器120中所存储的生产应用的HTML文件中包括对灰度分流脚本的引用。当用户终端110访问生产应用、解析生产应用的HTML文件时,会向灰度服务器130发起获取灰度分流脚本的第二请求,第二请求中包括用户信息。灰度服务器130根据用户信息来判断用户终端110是否符合灰度分流脚本所对应的灰度判定条件,若是,则向用户终端110返回页面重定向指令,指示用户终端110将页面重定向至灰度应用;若否,则返回空信息,用户终端110则继续解析生产应用的HTML文件并加载生产应用页面。这样,本发明完全采用前端技术实现了网页应用的灰度发布方案,仅需预先配置灰度判定条件和灰度应用的地址、并在生产应用的HTML文件中引用灰度分流脚本即可,无需部署后端服务器,降低了灰度发布的工作量和技术门槛,操作简单,易于迁移。
图2示出了根据本发明一个实施例的网页应用灰度发布方法200的流程图,方法200适于在网页应用灰度发布系统(例如前述网页应用灰度发布系统100)中执行。如图2所示,方法200适于步骤S210。
应当指出,根据一种实施例,在步骤S210实施之前,还包括步骤S202(步骤S202在图2中未示出)。在步骤S202中,灰度服务器接收开发终端(开发终端即开发者所使用的终端,其例如可以是PC、笔记本电脑、手机等,但不限于此)发起的针对一组待测应用的灰度发布请求,灰度发布请求包括灰度应用的地址和灰度判定条件;随后,为该组待测应用分配一个待测应用标识,并生成与该待测应用标识所对应的灰度分流脚本;随后,将灰度分流脚本与灰度应用的地址以及灰度判定条件关联存储。应当指出,灰度判定条件为开发者自主设定,其可以是一条,也可以是多条。
例如,开发终端向灰度服务器发起针对生产应用A以及灰度应用B的灰度发布请求,灰度应用的地址为https://www.test.com/gray/app/,设置灰度判定条件为按地域分流,IP地址位于北京的用户终端试用灰度应用。针对该灰度发布请求,为该组待测应用分配一个待测应用标识(siteid),例如siteid=1035,并生成与该待测应用标识所对应的灰度分流脚本,该灰度分流脚本的地址为https://www.example-cdn.com/canary.js?siteid= 1035。最后,将灰度分流脚本https://www.example-cdn.com/canary.js?siteid=1035、灰度应用的地址https://www.test.com/gray/app/以及灰度判定条件:IP地址位于北京的用户终端试用灰度应用关联存储,以便灰度服务器进行生产应用A以及灰度应用B的用户分流。
在步骤S210中,用户终端向应用服务器发起访问生产应用的第一请求,第一请求包括生产应用的地址。例如,在用户终端的浏览器的地址栏输入生产应用A的地址https://www.test.com/app/,即可向应用服务器发起访问生产应用A的第一请求。
随后,在步骤S220中,应用服务器基于第一请求向用户终端返回生产应用的HTML文件,生产应用的HTML文件中包括对灰度分流脚本的引用。应当指出,在生产应用的HTML文件中添加对于灰度分流脚本的引用的步骤由开发者在开发终端上实施。根据一种实施例,生产应用的HTML文件中采用script元素引用灰度分流脚本,script元素的src属性值为灰度分流脚本的地址。以前述生产应用A为例,生产应用A的HTML文件中采用script元素引用灰度分流脚本,该script元素的src属性值为灰度分流脚本的地址https://www.example- cdn.com/canary.js?siteid=1035,即,在生产应用A的HTML文件中加入以下代码:
<script src=“https://www.example-cdn.com/canary.js?siteid=1035”></script>
根据一种实施例,为了在生产应用的页面加载前完成用户分流,将灰度分流脚本设置于生产应用的HTML文件的head位置。以前述生产应用A为例,其灰度分流脚本的引用代码在HTML文件中的上下文如下所示:
1:<html>
2:<head>
3:<script src=“https://www.example-cdn.com/canary.js?siteid=1035”></script>
4:</head>
5:<body>
6:</body>
7:</html>
随后,在步骤S230中,用户终端接收并解析生产应用的HTML文件,在解析至灰度分流脚本的引用时,向灰度服务器发起获取灰度分流脚本的第二请求,第二请求包括用户信息。应当指出,用户终端的浏览器通常按照从上到下的顺序解析HTML文件,灰度分流脚本的引用即是一个对外部js文件的引用,当浏览器解析至该引用时,需要向该外部js文件所在的服务器,即灰度服务器发起获取灰度分流脚本的第二请求。由于灰度分流脚本设置于生产应用的HTML文件的head位置,因此,用户终端会在生产应用页面加载之前向灰度服务器发起第二请求,这时用户终端的浏览器上尚未渲染出生产应用页面。例如,针对前述生产应用A的例子,在执行至第3行代码时,向灰度服务器发起获取灰度分流脚本https://www.example-cdn.com/canary.js?siteid=1035的第二请求。第二请求包括用户信息,根据一种实施例,用户信息包括用户终端标识、浏览器信息、IP地址、cookie信息中的一种或多种,但不限于此。用户终端标识即用于唯一标识该用户终端的字符串;浏览器信息例如包括浏览器类型(Chrome、Firefox、IE等)、版本、代理信息、操作系统信息等。当然,除上述信息外,用户信息还可以包括其他信息,本发明对用户信息所包括的具体信息内容不做限制。
随后,在步骤S240中,灰度服务器根据用户信息来判断用户终端是否符合灰度分流脚本所对应的灰度判定条件,若符合灰度判定条件,则如图2所示,继续执行步骤S250~280,将用户终端分流至灰度应用;若不符合灰度判定条件,则如图3所示,执行步骤S350、S360,将用户终端分流至生产应用。
在步骤S250中,若用户终端符合灰度判定条件,则灰度服务器向用户终端返回页面重定向指令,页面重定向指令包括灰度应用的地址。以前述生产应用A和灰度应用B的灰度发布为例,其灰度判定条件为:IP地址位于北京的用户终端试用灰度应用。则灰度服务器会读取用户信息中的IP地址信息,根据IP地址来判断用户终端是否位于北京,若是,则该用户终端符合灰度判定条件,灰度服务器会向该用户终端返回页面重定向指令,该页面重定向指令中包括灰度应用B的地址https://www.test.com/gray/app/,从而指示用户终端访问灰度应用。
随后,在步骤S260中,用户终端根据页面重定向指令向应用服务器发起访问灰度应用的第三请求,第三请求包括灰度应用的地址。
随后,在步骤S270中,应用服务器基于第三请求向用户终端返回灰度应用的HTML文件。
随后,在步骤S280中,用户终端接收灰度应用的HTML文件,并在浏览器中加载灰度应用页面。根据一种实施例,在步骤S280之后,还包括步骤S282(步骤S282在图2中未示出)。在步骤S282中,将浏览器地址栏中的地址修改为生产应用的地址(即进行URL重写)。这么做是因为,若用户终端符合灰度判定条件,则经过步骤S280,用户实际上访问的是灰度应用,相应地,浏览器地址栏中显示的是灰度应用的地址。而用户原本要访问的是生产应用,用户发现浏览器地址栏中所显示的不是生产应用的地址而是其他地址,会对灰度应用不信任,认为其存在安全问题。因此,为了打消用户的顾虑,在加载了灰度应用页面之后,将浏览器地址栏中的地址修改为生产应用的地址。
若灰度服务器经过步骤S240的判定,得出用户终端不符合灰度判定条件,则执行步骤S350。在步骤S350中,灰度服务器向用户终端返回空信息。这样,对于外部灰度分流脚本的引用不会再阻塞生产应用的HTML文件解析或改变生产应用页面的DOM结构,用户终端浏览器可以继续执行步骤S360,接收灰度服务器返回的空信息,继续解析生产应用的HTML文件并加载生产应用页面,将生产应用页面在浏览器中渲染出来展示给用户。
图4示出了根据本发明一个实施例的网页应用灰度发布方法400的流程图,方法400适于在用户终端(例如前述用户终端110)中执行。如图4所示,方法400始于步骤S410。
在步骤S410中,向应用服务器发起访问生产应用的第一请求,第一请求包括生产应用的地址。
随后,在步骤S420中,接收应用服务器返回的生产应用的HTML文件,该HTML文件中包括对灰度分流脚本的引用,灰度分流脚本存储于灰度服务器中,灰度服务器中还存储有灰度分流脚本所对应的灰度判定条件。
随后,在步骤S430中,解析生产应用的HTML文件,在解析至灰度分流脚本的引用时,向灰度服务器发起获取灰度分流脚本的第二请求,第二请求包括用户信息,以便灰度服务器根据用户信息来判断用户终端是否符合灰度分流脚本所对应的灰度判定条件。若用户终端符合灰度判定条件,则执行步骤S440~S460,将用户终端分流至灰度应用;若用户终端不符合灰度判定条件,则执行步骤S470、S480(步骤S470、S480在图4中未示出),将用户终端分流至生产应用。
在步骤S440中,当用户终端符合灰度判定条件时,接收灰度服务器返回的页面重定向指令,页面重定向指令包括灰度应用的地址。随后,在步骤S450中,向应用服务器发起访问灰度应用的第三请求,第三请求包括灰度应用的地址。随后,在步骤S460中,接收应用服务器返回的灰度应用的HTML文件,加载灰度应用页面。
在步骤S470中,当用户终端不符合灰度判定条件时,接收灰度服务器返回的空信息。随后,在步骤S480中,在浏览器中加载生产应用页面。
应当指出,步骤S410、S420、S440~S480分别对应于前述步骤S210、S220、S250、S260、S280、S350、S360,步骤S430对应于前述步骤S230和S240,相应地,步骤S410~S480的具体实施方式可以参考前述对于步骤S210~S260、S280以及S350、S360的描述,此处不再赘述。
图5示出了根据本发明一个实施例的灰度发布方法500的流程图,方法500适于在灰度服务器(例如前述灰度服务器130)中执行。如图5所示,方法500始于步骤S510。
在步骤S510中,接收用户终端在解析生产应用的HTML文件时发起的获取灰度分流脚本的第二请求,所述第二请求包括用户信息,所述生产应用的HTML文件中包括对所述灰度分流脚本的引用。
随后,在步骤S520中,根据所述用户信息来判断所述用户终端是否符合所述灰度分流脚本所对应的灰度判定条件。若用户终端符合灰度判定条件,则执行步骤S530;若用户终端不符合灰度判定条件,则执行步骤S540(步骤S540在图5中未示出)。
在步骤S530中,当用户终端符合灰度判定条件时,向用户终端返回页面重定向指令,页面重定向指令包括灰度应用的地址。在步骤S540中,当用户终端不符合灰度判定条件时,向用户终端返回空信息。
应当指出,步骤S510~S540分别对应于前述步骤S230~S250、S350,相应地,步骤S510~S540的具体实施方式可以参考前述对于步骤S230~S250、S350的描述,此处不再赘述。
前述网页应用灰度发布方法200~500示出了在前端进行用户分流的方法,使得一部分用户访问生产应用,一部分用户访问灰度应用。特别地,在用户访问灰度应用后,可以获取用户对灰度应用的使用信息,将使用信息上报至监控服务器,监控服务器根据用户对灰度应用的使用信息进行分析,若使用情况达到预期,则正式发布灰度应用;若未达到预期,则需要对灰度应用进行改进,进行下一轮测试。应当指出,监控服务器可以与前述灰度服务器130是同一个服务器,也可以不是。另外,本发明对灰度应用的用户使用信息的获取方法不做限制。
A6:A1-5中任一项所述的方法,其中,若用户终端不符合灰度判定条件,则灰度服务器向所述用户终端返回空信息;
用户终端接收所述空信息,在浏览器中加载生产应用页面。
A7:A1-6中任一项所述的方法,其中,在所述在浏览器中加载灰度应用页面的步骤之后,还包括步骤:将浏览器地址栏中的地址修改为生产应用的地址。
B9:B8所述的方法,其中,所述生产应用的HTML文件中采用script元素引用所述灰度分流脚本,所述script元素的src属性值为所述灰度分流脚本的地址。
B10:B8或9所述的方法,其中,所述灰度分流脚本设置于所述生产应用的HTML文件的head位置。
B11:B8-10中任一项所述的方法,其中,所述用户信息包括以下一种或多种:用户终端标识、浏览器信息、IP地址、cookie信息。
B12:B8-11中任一项所述的方法,其中,在加载灰度应用页面的步骤之后,还包括步骤:将浏览器地址栏中的地址修改为生产应用的地址。
B13:B8-12中任一项所述的方法,其中,当用户终端不符合灰度判定条件时,加载生产应用页面。
C15:C14所述的方法,其中,在所述接收用户终端在解析生产应用的HTML文件时发起的获取灰度分流脚本的第二请求的步骤之前,还包括步骤:
接收开发终端发起的针对一组待测应用的灰度发布请求,所述灰度发布请求包括灰度应用的地址和灰度判定条件;
为该组待测应用分配一个待测应用标识,并生成与该待测应用标识所对应的灰度分流脚本;
将所述灰度分流脚本与所述灰度应用的地址以及所述灰度判定条件关联存储。
C16:C14或15所述的方法,其中,所述用户信息包括以下一种或多种:用户终端标识、浏览器信息、IP地址、cookie信息。
C17:C14-16中任一项所述的方法,其中,当用户终端不符合灰度判定条件时,向所述用户终端返回空信息。
F21:F20所述的系统,其中,还包括开发终端,所述开发终端适于:
向灰度服务器发起针对一组待测应用的灰度发布请求,所述灰度发布请求包括灰度应用的地址和灰度判定条件;以及
在生产应用的HTML文件中添加对于所述灰度分流脚本的引用。
这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如可移动硬盘、U盘、软盘、CD-ROM或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的网页应用灰度发布方法。
以示例而非限制的方式,可读介质包括可读存储介质和通信介质。可读存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在可读介质的范围之内。
在此处所提供的说明书中,算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与本发明的示例一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的而非限制性的,本发明的范围由所附权利要求书限定。

Claims (21)

1.一种网页应用灰度发布方法,在网页应用灰度发布系统中执行,所述系统包括用户终端、应用服务器和灰度服务器,所述用户终端分别与所述应用服务器、所述灰度服务器通信连接,所述应用服务器适于为生产应用和灰度应用提供网页资源,所述生产应用和所述灰度应用均为网页应用,所述灰度应用是所述生产应用的升级测试版本,所述灰度服务器中存储有多个灰度分流脚本,每个灰度分流脚本对应于一组待测应用和一组灰度判定条件,每一组待测应用包括生产应用和灰度应用,所述方法包括:
用户终端向应用服务器发起访问生产应用的第一请求,所述第一请求包括生产应用的地址;
应用服务器基于所述第一请求向所述用户终端返回生产应用的HTML文件,所述生产应用的HTML文件中包括对灰度分流脚本的引用;
用户终端接收并解析生产应用的HTML文件,在解析至所述灰度分流脚本的引用时,向灰度服务器发起获取所述灰度分流脚本的第二请求,所述第二请求包括用户信息;
灰度服务器根据所述用户信息来判断所述用户终端是否符合所述灰度分流脚本所对应的灰度判定条件;
若用户终端符合灰度判定条件,则灰度服务器向所述用户终端返回页面重定向指令,所述页面重定向指令包括灰度应用的地址;
用户终端根据所述页面重定向指令向应用服务器发起访问灰度应用的第三请求,所述第三请求包括灰度应用的地址;
应用服务器基于所述第三请求向所述用户终端返回灰度应用的HTML文件;
用户终端接收灰度应用的HTML文件,并在浏览器中加载灰度应用页面。
2.如权利要求1所述的方法,其中,在用户终端向应用服务器发起访问生产应用的第一请求的步骤之前,还包括步骤:
灰度服务器接收开发终端发起的针对一组待测应用的灰度发布请求,所述灰度发布请求包括灰度应用的地址和灰度判定条件;
为该组待测应用分配一个待测应用标识,并生成与该待测应用标识所对应的灰度分流脚本;
将所述灰度分流脚本与所述灰度应用的地址以及所述灰度判定条件关联存储。
3.如权利要求1或2所述的方法,其中,所述生产应用的HTML文件中采用script元素引用所述灰度分流脚本,所述script元素的src属性值为所述灰度分流脚本的地址。
4.如权利要求1所述的方法,其中,所述灰度分流脚本设置于所述生产应用的HTML文件的head位置。
5.如权利要求1所述的方法,其中,所述用户信息包括以下一种或多种:用户终端标识、浏览器信息、IP地址、cookie信息。
6.如权利要求1所述的方法,其中,若用户终端不符合灰度判定条件,则灰度服务器向所述用户终端返回空信息;
用户终端接收所述空信息,在浏览器中加载生产应用页面。
7.如权利要求1所述的方法,其中,在所述在浏览器中加载灰度应用页面的步骤之后,还包括步骤:将浏览器地址栏中的地址修改为生产应用的地址。
8.一种网页应用灰度发布方法,在用户终端的浏览器中执行,所述用户终端与应用服务器通信连接,所述应用服务器适于为生产应用和灰度应用提供网页资源,所述生产应用和所述灰度应用均为网页应用,所述灰度应用是所述生产应用的升级测试版本,所述方法包括:
向应用服务器发起访问生产应用的第一请求,所述第一请求包括生产应用的地址;
接收应用服务器返回的生产应用的HTML文件,所述HTML文件中包括对灰度分流脚本的引用,所述灰度分流脚本存储于灰度服务器中,所述灰度服务器中还存储有灰度分流脚本所对应的灰度判定条件;
解析生产应用的HTML文件,在解析至所述灰度分流脚本的引用时,向灰度服务器发起获取所述灰度分流脚本的第二请求,所述第二请求包括用户信息,以便所述灰度服务器根据用户信息来判断所述用户终端是否符合所述灰度分流脚本所对应的灰度判定条件;
当用户终端符合灰度判定条件时,接收灰度服务器返回的页面重定向指令,所述页面重定向指令包括灰度应用的地址;
向应用服务器发起访问灰度应用的第三请求,所述第三请求包括灰度应用的地址;
接收应用服务器返回的灰度应用的HTML文件,加载灰度应用页面。
9.如权利要求8所述的方法,其中,所述生产应用的HTML文件中采用script元素引用所述灰度分流脚本,所述script元素的src属性值为所述灰度分流脚本的地址。
10.如权利要求8或9所述的方法,其中,所述灰度分流脚本设置于所述生产应用的HTML文件的head位置。
11.如权利要求8所述的方法,其中,所述用户信息包括以下一种或多种:用户终端标识、浏览器信息、IP地址、cookie信息。
12.如权利要求8所述的方法,其中,在加载灰度应用页面的步骤之后,还包括步骤:将浏览器地址栏中的地址修改为生产应用的地址。
13.如权利要求8所述的方法,其中,当用户终端不符合灰度判定条件时,加载生产应用页面。
14.一种网页应用灰度发布方法,在灰度服务器中执行,所述灰度服务器中存储有多个灰度分流脚本,每个灰度分流脚本对应于一组待测应用和一组灰度判定条件,每一组待测应用包括生产应用和灰度应用,所述生产应用和所述灰度应用均为网页应用,所述灰度应用是所述生产应用的升级测试版本,所述方法包括:
接收用户终端在解析生产应用的HTML文件时发起的获取灰度分流脚本的第二请求,所述第二请求包括用户信息,所述生产应用的HTML文件中包括对所述灰度分流脚本的引用;
根据所述用户信息来判断所述用户终端是否符合所述灰度分流脚本所对应的灰度判定条件;
当用户终端符合灰度判定条件时,向所述用户终端返回页面重定向指令,所述页面重定向指令包括灰度应用的地址。
15.如权利要求14所述的方法,其中,在所述接收用户终端在解析生产应用的HTML文件时发起的获取灰度分流脚本的第二请求的步骤之前,还包括步骤:
接收开发终端发起的针对一组待测应用的灰度发布请求,所述灰度发布请求包括灰度应用的地址和灰度判定条件;
为该组待测应用分配一个待测应用标识,并生成与该待测应用标识所对应的灰度分流脚本;
将所述灰度分流脚本与所述灰度应用的地址以及所述灰度判定条件关联存储。
16.如权利要求14或15所述的方法,其中,所述用户信息包括以下一种或多种:用户终端标识、浏览器信息、IP地址、cookie信息。
17.如权利要求14所述的方法,其中,当用户终端不符合灰度判定条件时,向所述用户终端返回空信息。
18.一种用户终端,包括:
至少一个处理器和存储有程序指令的存储器,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如权利要求8-13中任一项所述的网页应用灰度发布方法。
19.一种灰度服务器,包括:
至少一个处理器和存储有程序指令的存储器;
其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如权利要求14-17中任一项所述的网页应用灰度发布方法。
20.一种网页应用灰度发布系统,包括:
如权利要求18所述的用户终端;
应用服务器,所述应用服务器适于为生产应用和灰度应用提供网页资源,所述生产应用和所述灰度应用均为网页应用,所述灰度应用是所述生产应用的升级测试版本;以及
如权利要求19所述的灰度服务器;
其中,所述用户终端、应用服务器、灰度服务器适于执行如权利要求1-7中任一项所述的网页应用灰度发布方法。
21.如权利要求20所述的系统,其中,还包括开发终端,所述开发终端适于:
向灰度服务器发起针对一组待测应用的灰度发布请求,所述灰度发布请求包括灰度应用的地址和灰度判定条件;以及
在生产应用的HTML文件中添加对于所述灰度分流脚本的引用。
CN201810219638.2A 2018-03-16 2018-03-16 一种网页应用灰度发布方法、服务器及系统 Active CN108470001B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810219638.2A CN108470001B (zh) 2018-03-16 2018-03-16 一种网页应用灰度发布方法、服务器及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810219638.2A CN108470001B (zh) 2018-03-16 2018-03-16 一种网页应用灰度发布方法、服务器及系统

Publications (2)

Publication Number Publication Date
CN108470001A CN108470001A (zh) 2018-08-31
CN108470001B true CN108470001B (zh) 2021-02-26

Family

ID=63264467

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810219638.2A Active CN108470001B (zh) 2018-03-16 2018-03-16 一种网页应用灰度发布方法、服务器及系统

Country Status (1)

Country Link
CN (1) CN108470001B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109376322A (zh) * 2018-09-07 2019-02-22 平安科技(深圳)有限公司 一种灰度版本页面访问方法、装置、计算机设备及计算机存储介质
CN110311989B (zh) * 2019-08-02 2022-01-28 中国工商银行股份有限公司 一种灰度发布方法、装置、存储介质、设备及系统
CN110784409B (zh) * 2019-10-31 2022-08-09 长沙水羊网络科技有限公司 一种基于Spring Cloud的微服务灰度发布方法
CN111290779B (zh) * 2020-03-04 2023-07-07 北京三快在线科技有限公司 灰度发布方法、装置、存储介质和电子设备
CN111443934B (zh) * 2020-03-31 2023-05-16 广州市百果园信息技术有限公司 灰度用户确定方法、装置、设备及存储介质
CN111858312A (zh) * 2020-06-24 2020-10-30 广州亚美信息科技有限公司 应用程序的页面显示方法、装置、计算机设备和存储介质
CN112632430A (zh) * 2020-12-28 2021-04-09 四川新网银行股份有限公司 一种实现渠道用户在h5页面中访问灰度环境api服务的方法
CN114125067A (zh) * 2021-02-10 2022-03-01 北京沃东天骏信息技术有限公司 前后端分离的灰度发布方法、前端服务器和配置服务器

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103095743A (zh) * 2011-10-28 2013-05-08 阿里巴巴集团控股有限公司 一种灰度发布的处理方法及系统
CN105450461A (zh) * 2014-06-05 2016-03-30 阿里巴巴集团控股有限公司 一种分流方法及网络设备
CN105791344A (zh) * 2014-12-22 2016-07-20 华为软件技术有限公司 灰度发布业务处理的方法、系统、负载均衡器及服务总线装置
CN106469154A (zh) * 2015-08-17 2017-03-01 阿里巴巴集团控股有限公司 一种用于发布网页应用的方法与设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103095743A (zh) * 2011-10-28 2013-05-08 阿里巴巴集团控股有限公司 一种灰度发布的处理方法及系统
CN105450461A (zh) * 2014-06-05 2016-03-30 阿里巴巴集团控股有限公司 一种分流方法及网络设备
CN105791344A (zh) * 2014-12-22 2016-07-20 华为软件技术有限公司 灰度发布业务处理的方法、系统、负载均衡器及服务总线装置
CN106469154A (zh) * 2015-08-17 2017-03-01 阿里巴巴集团控股有限公司 一种用于发布网页应用的方法与设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李晓毅."电子银行系统灰度发布的研究与实现".《金融电子化》.2018,(第01期),第91-93页. *

Also Published As

Publication number Publication date
CN108470001A (zh) 2018-08-31

Similar Documents

Publication Publication Date Title
CN108470001B (zh) 一种网页应用灰度发布方法、服务器及系统
US10180833B2 (en) Cooperative web-assisted deep link redirection
CN110750741B (zh) 一种网页链接跳转处理方法、计算机装置及存储介质
RU2614572C2 (ru) Способ, система и устройство для фильтрации рекламных объявлений веб-страниц на мобильном терминале
US20150301873A1 (en) Method and system for expanding webapp application function
US20110087848A1 (en) Methods and systems for implementing a virtual storage network
CN107809383B (zh) 一种基于mvc的路径映射方法及装置
US20130046817A1 (en) Verifying the Transfer of a Data File
US9471701B2 (en) Methods and systems for secure in-network insertion of web content and web services
US9860341B2 (en) Tailoring content to be delivered to mobile device based upon features of mobile device
CN110659057B (zh) 应用程序热更新方法、装置、存储介质及计算机设备
US20140330892A1 (en) Method and device for publishing promotion contents and computer storage medium
CN101937439A (zh) 用于收集用户访问相关信息的方法和系统
CN108135026B (zh) Wi-Fi连接方法、计算机设备及存储介质
US10831892B2 (en) Web browser script monitoring
CN113778848A (zh) 测试代码生成方法、装置、计算机系统及介质
CN111177672A (zh) 一种页面访问控制方法、装置和电子设备
CN104980512A (zh) 一种基于移动应用提供目标对象的方法与设备
US8972968B1 (en) Alternate service for applications
CN113704110A (zh) 用户界面的自动化测试方法及装置
CN112632358A (zh) 一种资源链接获取方法、装置、电子设备及存储介质
CN111538922B (zh) 链接跳转方法、应用客户端、设备及存储介质
CN111431767A (zh) 多浏览器资源同步方法、装置、计算机设备和存储介质
CN112965916B (zh) 页面测试方法、页面测试装置、电子设备及可读存储介质
US20210248056A1 (en) Method for evaluating application deployment, apparatus, computer program product, and readable medium

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
CP02 Change in the address of a patent holder

Address after: 100027 302, 3 / F, aviation service building, Dongzhimen street, Dongcheng District, Beijing

Patentee after: BEIJING TENDCLOUD TIANXIA TECHNOLOGY Co.,Ltd.

Address before: Room 2104, 2 / F, building 4, 75 Suzhou street, Haidian District, Beijing 100027

Patentee before: BEIJING TENDCLOUD TIANXIA TECHNOLOGY Co.,Ltd.

CP02 Change in the address of a patent holder
PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: A gray publishing method, server and system for web application

Effective date of registration: 20220622

Granted publication date: 20210226

Pledgee: Beijing Yizhuang International Financing Guarantee Co.,Ltd.

Pledgor: BEIJING TENDCLOUD TIANXIA TECHNOLOGY CO.,LTD.

Registration number: Y2022980008462

PC01 Cancellation of the registration of the contract for pledge of patent right
PC01 Cancellation of the registration of the contract for pledge of patent right

Date of cancellation: 20230721

Granted publication date: 20210226

Pledgee: Beijing Yizhuang International Financing Guarantee Co.,Ltd.

Pledgor: BEIJING TENDCLOUD TIANXIA TECHNOLOGY CO.,LTD.

Registration number: Y2022980008462

PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: A grayscale publishing method, server, and system for web application

Effective date of registration: 20230810

Granted publication date: 20210226

Pledgee: Beijing Yizhuang International Financing Guarantee Co.,Ltd.

Pledgor: BEIJING TENDCLOUD TIANXIA TECHNOLOGY CO.,LTD.

Registration number: Y2023980051562