CN106990975A - 一种应用热部署方法、装置和系统 - Google Patents

一种应用热部署方法、装置和系统 Download PDF

Info

Publication number
CN106990975A
CN106990975A CN201610041657.1A CN201610041657A CN106990975A CN 106990975 A CN106990975 A CN 106990975A CN 201610041657 A CN201610041657 A CN 201610041657A CN 106990975 A CN106990975 A CN 106990975A
Authority
CN
China
Prior art keywords
data resource
server
renewal
page
client device
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
CN201610041657.1A
Other languages
English (en)
Other versions
CN106990975B (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.)
Banma Zhixing Network Hongkong 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 CN201610041657.1A priority Critical patent/CN106990975B/zh
Priority to PCT/CN2017/070986 priority patent/WO2017124962A1/zh
Publication of CN106990975A publication Critical patent/CN106990975A/zh
Priority to US16/041,082 priority patent/US11055085B2/en
Application granted granted Critical
Publication of CN106990975B publication Critical patent/CN106990975B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1873Versioning file systems, temporal file systems, e.g. file system supporting different historic versions of files
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请公开了一种应用热部署方法、装置和系统。本申请中,当检测到有更新的数据资源时,可根据该更新的数据资源更新浏览器显示的页面。一方面,由于数据资源相对于应用模块或文件来说,其颗粒度更小,因此与现有技术相比,本申请实施例可以实现更细粒度的数据资源同步,进而可以降低资源同步时延;另一方面,当检测到有更新的数据资源时,可立即根据该更新的数据资源更新页面,因此更进一步地降低了资源同步的时延,提高用户感受。

Description

一种应用热部署方法、装置和系统
技术领域
本申请涉及通信技术领域,尤其涉及一种应用热部署方法、装置和系统。
背景技术
随着通信技术的发展,为了满足日益增长和多种多样的业务需求,基于移动终端的互联网应用越来越多。
JavaScript是一种运行在浏览器的脚本,通常用于浏览器的前端编程。Node.js是基于Chrome JavaScript运行时建立的平台,用于方便地搭建响应速度快、易于扩展的网络应用。Node.js使用事件驱动,适合在分布式设备上运行数据密集型的实时应用。Node是Javascript运行环境(runtime)。
热部署是在应用正在运行的时候升级软件,却不需要重新启动应用。目前,基于服务器端javascript的热部署方法主要包括以下过程:(1)启动Node.js服务器,加载正常的js文件;(2)启动卸载js文件的服务;(3)js文件生命周期维护;(4)升级js文件;(5)监控程序运行。一个js文件用于实现一种功能,即可视为一个应用模块,一个js文件通常由多个程序(代码)片段组成。
可以看出,目前的互联网应用热部署方案中,以应用模块或文件作为更新或同步的最小资源单元。通常,应用模块或文件的数据量较大,因此导致更新或同步的资源粒度较大,因而更新或同步的时延较大,进而会导致互联网应用的客户端与服务器端无法及时同步。
申请内容
本申请实施例提供了一种应用热部署方法、装置及系统。
本申请实施例提供的应用热部署方法,包括:
检测是否有更新的数据资源;
若检测到有的更新的数据资源,则根据所述更新的数据资源更新浏览器显示的页面。
优选地,所述检测是否有更新的数据资源,包括:接收服务器推送的数据资源,若服务器推送的数据资源的版本高于所述客户端设备本地的数据资源的版本,则将所述服务器推送的数据资源确定为更新的数据资源。
其中,若根据所述更新的数据资源更新所述浏览器显示的页面时操作失败,则还包括:
向所述服务器反馈页面更新失败信息;
接收所述服务器返回的数据资源;其中,所述服务器返回的数据资源是所述服务器根据所述页面更新失败信息获取到的该服务器所备份的更新之前的数据资源;
根据所述服务器返回的数据资源更新浏览器显示的页面。
优选地,所述检测是否有更新的数据资源,包括:接收本地应用更新的数据资源,将本地应用更新的数据资源确定为更新的数据资源。
进一步,还包括:向服务器发送数据资源更新请求,所述数据资源更新请求中携带有所述本地应用更新的数据资源,所述数据资源更新请求用于请求所述服务器根据该请求中携带的数据资源更新该数据资源版本。
进一步地,所述将本地应用更新的数据资源发送给服务器之后,还包括:
接收所述服务器返回的更新成功响应,所述更新成功响应用于表明所述服务器根据所述数据资源更新请求对数据资源版本更新成功;或者,
接收所述服务器返回的恢复命令,并根据所述恢复命令中携带的数据资源更新浏览器显示的页面,其中,所述恢复命令中携带的数据资源是所述服务器在拒绝所述数据资源更新请求的情况下所获得的数据资源。
优选地,所述根据所述更新的数据资源更新所述浏览器显示的页面,包括:若接收到局部更新事件,则根据接收到的所述局部更新事件以及所述更新的数据资源,更新浏览器显示的页面的局部内容。
其中,所述更新浏览器显示的页面的局部内容,包括:根据接收到的局部更新事件,通过JavaScript操作DOM接口,使用所述更新的数据资源对该局部更新事件所指示的页面的局部内容进行页面的局部刷新。
其中,所述局部更新事件的数量为一个或多个,一个局部更新事件用于指示对页面中的特定局部内容进行刷新。
优选地,还包括:建立与所述服务器之间的连接并维护所述连接的有效性,所述连接用于传输与所述服务器之间交互的数据资源。
优选地,所述数据资源包括页面元素和/或代码片段。
本申请另一实施例提供的应用热部署方法,包括:
向客户端设备推送数据资源,以使所述客户端设备在检测到有更新的数据资源时,根据所述更新的数据资源更新浏览器显示的页面;
接收客户端设备发送的数据资源更新请求,根据所述数据资源更新请求向所述客户端设备返回更新成功响应或携带有数据资源的恢复命令;其中,所述更新成功响应用于表明所述服务器根据所述数据资源更新请求对数据资源版本更新成功,所述恢复命令中携带的数据资源是所述服务器在拒绝所述数据资源更新请求的情况下所获得的数据资源。
进一步地,还包括:
接收客户端设备发送的页面更新失败信息;其中,所述页面更新失败信息是所述客户端设备根据所述更新的数据资源更新浏览器显示的页面时操作失败后向所述服务器反馈的;
根据所述页面更新失败信息获取该服务器所备份的更新之前的数据资源并发送给所述客户端设备。
进一步地,还包括:向客户端设备发送局部更新事件,以使所述客户端设备根据所述局部更新事件以及更新的数据资源,更新浏览器显示的页面的局部内容。
其中,所述局部更新事件的数量为一个或多个,一个局部更新事件用于指示对页面中的特定局部内容进行刷新。
进一步地,还包括:建立与所述客户端设备之间的连接并维护所述连接的有效性,所述连接用于传输与所述客户端设备之间交互的数据资源。
优选地,所述数据资源包括页面元素和/或代码片段。
本申请实施例提供的客户端设备,包括:
检测模块,用于检测是否有更新的数据资源;
部署模块,用于在检测到有更新的数据资源时,指示浏览器模块更新显示的页面;
浏览器模块,用于根据所述更新的数据资源更新显示的页面。
优选地,所述检测模块具体用于:接收服务器推送的数据资源,若服务器推送的数据资源的版本高于所述客户端设备本地的数据资源的版本,则将所述服务器推送的数据资源确定为更新的数据资源。
进一步地,所述部署模块还用于:
若根据所述更新的数据资源更新所述浏览器显示的页面时操作失败,则执行以下步骤:
向所述服务器反馈页面更新失败信息;
接收所述服务器返回的数据资源;其中,所述服务器返回的数据资源是所述服务器根据所述页面更新失败信息获取到的该服务器所备份的更新之前的数据资源;
根据所述服务器返回的数据资源更新浏览器显示的页面。
优选地,所述检测模块具体用于:接收本地应用更新的数据资源,将本地应用更新的数据资源确定为更新的数据资源。
进一步地,所述部署模块还用于:向服务器发送数据资源更新请求,所述数据资源更新请求中携带有所述本地应用更新的数据资源,所述数据资源更新请求用于请求所述服务器根据该请求中携带的数据资源更新数据资源版本。
进一步地,所述部署模块还用于:将本地应用更新的数据资源发送给服务器之后,执行以下步骤:
接收所述服务器返回的更新成功响应,所述更新成功响应用于表明所述服务器根据所述数据资源更新请求对数据资源版本更新成功;或者,
接收所述服务器返回的恢复命令,并根据所述恢复命令中携带的数据资源更新浏览器显示的页面,其中,所述恢复命令中携带的数据资源是所述服务器在拒绝所述数据资源更新请求的情况下所获得的数据资源。
优选地,所述浏览器模块具体用于:若接收到局部更新事件,则根据接收到的所述局部更新事件以及所述更新的数据资源,更新浏览器显示的页面的局部内容。
优选地,所述浏览器模块具体用于:根据接收到的局部更新事件,通过JavaScript操作DOM接口,使用所述更新的数据资源对该局部更新事件所指示的页面的局部内容进行页面的局部刷新。
其中,所述局部更新事件的数量为一个或多个,一个局部更新事件用于指示对页面中的特定局部内容进行刷新。
进一步地,还包括:连接管理模块,用于建立与所述服务器之间的连接并维护所述连接的有效性,所述连接用于传输与所述服务器之间交互的数据资源。
本申请实施例提供的服务器,包括:
部署模块,用于向客户端设备推送数据资源,以使所述客户端设备在检测到有更新的数据资源时,根据所述更新的数据资源更新浏览器显示的页面;
更新请求处理模块,用于接收客户端设备发送的数据资源更新请求,根据所述数据资源更新请求向所述客户端设备返回更新成功响应或携带有数据资源的恢复命令;其中,所述更新成功响应用于表明所述服务器根据所述数据资源更新请求对数据资源版本更新成功,所述恢复命令中携带的数据资源是所述服务器在拒绝所述数据资源更新请求的情况下所获得的数据资源。
优选地,所述部署模块还用于:
接收客户端设备发送的页面更新失败信息;其中,所述页面更新失败信息是所述客户端设备根据所述更新的数据资源更新浏览器显示的页面时操作失败后向所述服务器反馈的;
根据所述页面更新失败信息获取该服务器所备份的版本更新之前的数据资源并发送给所述客户端设备。
进一步地,所述部署模块还用于:向客户端设备发送局部更新事件,以使所述客户端设备根据所述局部更新事件以及更新的数据资源,更新浏览器显示的页面的局部内容。
进一步地,所述部署模块还用于:向客户端设备发送局部更新事件,以使所述客户端设备根据所述局部更新事件以及更新的数据资源,更新浏览器显示的页面的局部内容。
其中,所述局部更新事件的数量为一个或多个,一个局部更新事件用于指示对页面中的特定局部内容进行刷新。
进一步地,还包括:连接管理模块,用于建立与所述客户端设备之间的连接并维护所述连接的有效性,所述连接用于传输与所述客户端设备之间交互的数据资源。
本申请实施例提供的应用热部署系统,包括:
客户端设备,用于检测是否有更新的数据资源,若检测到有更新的数据资源,则根据所述更新的数据资源更新浏览器显示的页面;
服务器,用于向所述客户端设备推送数据资源。
优选地,所述客户端设备具体用于:接收服务器推送的数据资源,若服务器推送的数据资源的版本高于所述客户端设备本地的数据资源的版本,则将所述服务器推送的数据资源确定为更新的数据资源。
进一步地,所述客户端设备还具体用于:若根据所述更新的数据资源更新浏览器显示的页面时操作失败,则向所述服务器反馈页面更新失败信息;以及,接收所述服务器返回的数据资源,并根据所述服务器返回的数据资源更新浏览器显示的页面;
所述服务器还用于:根据所述页面更新失败信息获取该服务器所备份的更新之前的数据资源并发送给所述客户端设备。
优选地,所述客户端设备具体用于:接收本地应用更新的数据资源,将本地应用更新的数据资源确定为更新的数据资源。
进一步地,所述客户端设备还用于:向服务器发送数据资源更新请求,所述数据资源更新请求中携带有所述本地应用更新的数据资源,所述数据资源更新请求用于请求所述服务器根据该请求中携带的数据资源更新所述数据资源版本;
所述服务器还用于:根据所述数据资源更新请求向所述客户端设备返回更新成功响应或携带有数据资源的恢复命令;其中,所述更新成功响应用于表明所述服务器根据所述数据资源更新请求对数据资源版本更新成功,所述恢复命令中携带的数据资源是所述服务器在拒绝所述数据资源更新请求的情况下所获得的;
所述客户端设备还用于:接收所述服务器返回的更新成功响应,或者,接收所述服务器返回的恢复命令,并根据所述恢复命令中携带的数据资源更新浏览器显示的页面。
进一步地,所述服务器还用于:向所述客户端设备发送局部更新事件;
所述客户端设备还用于:根据接收到的局部更新事件以及更新的数据资源,更新浏览器显示的页面的局部内容。
本申请实施例提供的终端,包括:
显示器;
存储器,用于存储计算机程序指令;
处理器,耦合到所述存储器,用于读取所述存储器存储的计算机程序指令,并作为响应,执行如下操作:
检测是否有更新的数据资源;
在检测到有更新的数据资源时,指示浏览器模块更新显示的页面;
根据所述更新的数据资源更新显示的页面。
本申请的上述实施例中,当检测到有更新的数据资源时,可根据该更新的数据资源更新浏览器显示的页面。一方面,由于数据资源相对于应用模块或文件来说,其颗粒度更小,因此与现有技术相比,本申请实施例可以实现更细粒度的数据资源同步,进而可以降低资源同步时延;另一方面,当检测到有更新的数据资源时,可立即根据该更新的数据资源更新页面,因此更进一步地降低了资源同步的时延,提高用户感受。
附图说明
图1为本申请实施例适用的网络架构示意图;
图2为本申请实施例提供的应用热部署系统架构示意图;
图3为本申请实施例提供的应用热部署的总体方案的流程示意图;
图4为本申请实施例提供的应用热部署流程的示意图之一;
图5为本申请实施例提供的应用热部署流程的示意图之二;
图6为本申请实施例提供的客户端设备的结构示意图。
具体实施方式
下面结合附图对本申请实施例进行详细描述。
图1示例性地示出了本申请实施例适用的网络架构示意图。如图1所示,该网络架构中可包括客户端设备以及网络侧的服务器,客户端设备和服务器通过网络进行通信。
上述架构中的客户端设备上安装有互联网应用客户端程序,服务器上安装有互联网应用服务器端程序,客户端设备和服务器进行配合,客户端设备可从服务器获取互联网应用所需的数据资源,实现互联网应用所提供的服务。
上述网络架构中的客户端设备可以是移动终端或PC(个人电脑)或智能终端等设备,所述移动终端可以是手机、PDA(Personal Digital Assistant,掌上电脑)或智能穿戴设备等。
上述网络架构中,客户端设备和服务器可以通过网络进行信息交互,该网络可以是广域网、局域网或互联网,或者采用移动通信技术的互联网。客户端设备可通过无线方式接入互联网,服务器通常采用有线方式与互联网连接。
优选地,客户端设备和服务器可以采用云计算技术,以基于云计算技术的强大功能实现信息处理。服务器和客户端设备可采用基于云计算技术的操作系统,比如YunOS,从而可以整合云端和客户端的资源和服务。
本申请实施例中,数据资源是指互联网应用运行所需要的数据、程序代码等中的一种或多种组合,具体可以包括网页元素、代码片段等中的一种或组合。其中,网页元素具体可以包括:用于网页显示的文字、图片、音频、动画、视频中的一种或多种组合;代码片段具体可以包括JavaScript程序代码,CSS(Cascading Style Sheets,层叠样式表)代码,或者网页需要的用于实现特定功能(比如某些动态功能或者补丁功能)的程序代码。
参见图2,为本申请实施例提供的应用热部署系统架构示意图。
该应用热部署系统包括客户端设备10和服务器20。客户端设备可以有多个,图2中仅示例性地示出了一个。
客户端设备10与服务器20进行配合实现互联网功能之前,客户端设备10需要与服务器20建立连接,并保持该连接(比如通过心跳消息的方式维护该连接的有效性),通过该连接可实现客户端设备10与服务器20之间的信息交互(比如交互数据资源)。具体实施时,该连接可以是TCP(Transmission ControlProtocol,传输控制协议)连接。
客户端设备10主要用于检测是否有更新的数据资源,并当检测到有更新的数据资源时,根据该更新的数据资源更新浏览器显示的页面。客户端设备10可以由软件实现,比如具体可以是图1所示客户端设备中集成的功能模块。客户端设备10也可以由软件和硬件相结合的方式实现,具体可以是移动终端或智能终端等设备。
服务器20主要用于向客户端设备10推送更新的数据资源。服务器20也可接收客户端设备10发送的数据资源更新请求,该数据资源更新请求中携带有客户端设备10更新的数据资源,服务器20可对该数据资源更新请求进行响应,比如可以接受该请求以更新数据资源版本,也可以拒绝该请求。
上述客户端设备10中可以包括以下功能模块:检测模块101、部署模块102和浏览器模块103,其中:
检测模块101,用于检测是否有更新的数据资源;
部署模块102,用于在检测到有更新的数据资源时,指示浏览器模块更新显示的页面;
浏览器模块103,用于根据所述更新的数据资源更新浏览器显示的页面。具体地,浏览器模块可以是浏览器引擎,比如可以是根据Chromium改造的引擎,支持Node和Chromium的融合,支持H5直接访问node.js对象,负责数据资源的请求,页面布局渲染刷新显示。
上述服务器20中可包括部署模块201、更新请求处理模块202,其中:
部署模块201,用于向客户端设备推送数据资源,以使客户端设备在检测到有更新的数据资源时,根据更新的数据资源更新浏览器显示的页面;
更新请求处理模块202,用于接收客户端设备发送的数据资源更新请求,根据数据资源更新请求向所述客户端设备返回更新成功响应或携带有数据资源的恢复命令;其中,更新成功响应用于表明服务器根据数据资源更新请求对数据资源版本更新成功,恢复命令中携带的数据资源是服务器在拒绝数据资源更新请求的情况下获得的。
服务器20还可以访问数据资源库30,该数据资源库用于存储服务器20备份的数据资源。
上述系统架构可以基于Node.js以及MongoDB和WebSocket技术实现。
需要说明的是上述客户端设备10和服务器20的结构仅为一种示例,在能够实现本申请实施例的目的的情况下,不排除有其他结构划分形式。
以下实施例以上述系统架构为例,对本申请实施例提供的热部署流程进行详细描述。
基于上述应用热部署系统架构,本申请实施例提供的应用热部署流程可如图3所示,包括以下步骤:
步骤301:客户端设备检测是否有更新的数据资源;
步骤302:若检测到有更新的数据资源,则转入步骤303,否则,返回步骤301;
步骤303:客户端设备根据所述更新的数据资源更新浏览器显示的页面。
其中,本申请实施例支持由服务器推送的数据资源实现互联网应用热部署,也可支持客户端设备本地对数据资源进行更新来实现互联网应用热部署,也就是说,上述流程的步骤301中,客户端设备所进行的检测操作既可以针对服务器推送的数据资源,也可以针对本地互联网应用所更新的数据资源。为了更清楚地对本申请实施例进行说明,下面结合图4描述由服务器推送实现的应用热部署方案,结合图5描述由客户端设备本地的数据资源更新操作实现的应用热部署方案。
参见图4,为本申请实施例提供的应用热部署流程的示意图,如图所示,该流程可包括如下步骤:
步骤401:服务器向客户端设备推送的数据资源。
其中,服务器在将更新的数据资源推送给客户端设备之前,可将该数据资源进行拷贝并将拷贝的数据资源存储到数据资源库中,用以在客户端设备的页面更新操作失败时,将更新之前所备份的数据资源发送给客户端设备进行页面恢复。
优选地,客户端设备预先向服务器发起应用热部署服务的订阅请求,以订阅该服务。上述步骤401中,当服务器端有数据资源变化(比如页面使用的JavaScript代码更新)时,向订阅了应用热部署服务的客户端设备推送更新的数据资源。
服务器所推送的信息中可包括数据资源,以及数据资源的时间戳和/或版本信息。
上述步骤401可由图2所示系统架构中的服务器20中的部署模块201执行。
步骤402:客户端设备接收到服务器推送的数据资源后,判断该服务器推送的数据资源的版本是否高于客户端设备本地的数据资源的版本,若判断为是,则转入步骤403;否则可返回步骤401以继续等待服务器推送的数据资源。
该步骤中,客户端设备中可预先设置守护进程,该守护进程可一直监听服务器推送的数据资源。在检测到服务器推送的数据资源后,可获得该数据资源的时间戳和/或版本信息,并根据接收到的数据资源的时间戳和/或版本信息判断服务器推送的数据资源的版本是否高于客户端设备本地的数据资源的版本。
上述步骤402可由图2所示系统架构中的客户端设备10的检测模块101执行。
步骤403:客户端设备根据服务器推送的数据资源更新浏览器显示的页面。
上述步骤403可由图2所示系统架构中的客户端设备10的部署模块102和浏览器模块103执行。具体地,部署模块102可指示浏览器模块103更新显示的页面,相应地,浏览器模块103根据更新的数据资源更新显示的页面。
作为一个例子,部署模块102调用浏览器模块103中的CacheReload方法来更新页面布局以及进行页面渲染。
本申请实施例可支持对整个页面的更新,也可支持对页面的局部更新。具体地,可预先注册局部更新事件,这样,客户端设备接收到服务器发送的事件后且该事件为预先注册的局部更新事件,则该客户端设备可根据更新的数据资源,更新页面的局部内容。上述这种页面局部刷新方案可适用于nodejs、js或http页面开发。其中,所述局部更新事件的数量为一个或多个,一个局部更新事件用于指示对页面中的特定局部内容进行刷新。比如局部更新事件1用于指示对页面中的导航栏进行更新,局部更新事件2用于指示对页面所使用的CSS代码进行更新。
作为一个例子,如果部署模块102中注册有局部更新事件,则当检测模块101检测到服务器推送的局部更新事件后,则发送局部更新消息给客户端设备本地应用,该应用通过JS操作DOM(Document Object Model,文档对象模型)接口的方式调用浏览器模块103使用更新的数据资源对该局部更新事件所指示的页面的局部内容进行局部布局渲染从而刷新页面。其中,用户通过客户端设备本地的该应用可以用来开发互联网应用页面。
其中,DOM是W3C组织推荐的处理可扩展标志语言的标准编程接口,是以面向对象方式描述的文档模型。DOM定义了表示和修改文档所需的对象、这些对象的行为和属性以及这些对象之间的关系。可以把DOM认为是页面上数据和结构的一个树形表示。DOM可以以一种独立于平台和语言的方式访问和修改一个文档的内容和结构。换句话说,这是表示和处理一个HTML或XML文档的常用方法。DOM技术使得用户页面可以动态地变化,如可以动态地显示或隐藏一个元素,改变它们的属性,增加一个元素等。比如,通过JavaScript调用DOM接口可以重构整个HTML文档。可以添加、移除、改变或重排页面上的项目。
进一步地,客户端设备可根据步骤403中页面更新操作的情况向应用服务器反馈响应,比如,如果页面更新成功则可反馈页面更新成功信息,如果页面更新失败则可反馈页面更新失败信息,该页面更新失败信息中可携带数据资源的相关信息(比如页面元素的标识或者代码片段文件名称,也可以是数据资源的具体内容)。服务器接收到该页面更新失败信息后,可根据该页面更新失败信息获取该服务器所备份的更新之前的数据资源并发送给该客户端设备。客户端设备接收服务器返回的数据资源后,根据服务器返回的数据资源更新浏览器显示的页面。上述过程中,服务器端的处理操作具体可由图2所示系统架构中的服务器20的部署模块201执行。
参见图5,为本申请实施例提供的用热部署流程的示意图,如图所示,该流程可包括如下步骤:
步骤501:客户端设备本地应用更新数据资源。
其中,所述客户端设备本地应用,可以是互联网应用开发程序,可以用来对互联网应用的数据资源进行更新,比如,用户可以通过该本地应用更新某个互联网应用页面使用的JavaScript程序代码,或者更新某个互联网应用页面的布局,在此不再一一列举。
步骤502:客户端设备根据本地应用更新的数据资源,更新浏览器显示的页面。
比如,如果客户端设备本地应用更新了页面使用的JavaScrip程序代码或者页面布局,则步骤502中,客户端设备的部署模块102可调用浏览器模块103进行页面重载。作为一个例子,部署模块102可调用浏览器模块103的页面重载(Reload)方法以发起资源请求,从而加载、布局和渲染页面。
进一步地,上述图5所示的流程中还可包括以下步骤:
步骤503:客户端设备向服务器发送数据资源更新请求,该数据资源更新请求中携带有该客户端设备本地更新的数据资源,该数据资源更新请求用于请求服务器根据该请求中携带的数据资源更新该数据资源的版本。
进一步地,上述图5所示的流程中还可包括以下步骤:
步骤504:服务器接收客户端设备发送的数据资源更新请求,对该请求进行响应,并向该客户端设备返回处理结果。
其中,如果服务器根据接收到的数据资源更新请求对该数据资源版本更新成功,则向客户端设备返回更新成功响应;如果服务器拒绝所述数据资源更新请求,则获取更新前的数据资源,并将该数据资源携带于恢复命令返回给该客户端设备。如果服务器拒绝所述数据资源更新请求,也可发送恢复命令,该恢复命令中不用携带数据资源,该命令可指示客户端设备恢复数据资源更新前的页面(客户端设备本地应用更新数据资源之前,更新前的数据资源可备份在客户端设备本地)。
作为一个例子,服务器中的部署模块201收到客户端设备发送的数据资源更新请求后,根据预先设置的检测规则检查是否需要合入到最新版本,如果需要合入,则向客户端设备返回更新成功响应。其中,所述“合入最新版本”是指:可以根据预先设置的检测规则,对多个客户端设备或客户端设备多次提交的数据资源更新请求所请求的更新内容进行取舍,针对可接受的更新,生成数据资源的最新版本。进一步地,可将该最新版本的数据资源推送给客户端设备。
步骤505:客户端设备接收服务器返回的针对该数据资源更新请求的处理结果,并进行相应处理。
其中,如果客户端设备接收到服务器返回的更新成功响应,则保持浏览器中显示的页面;如果客户端设备接收到服务器返回的恢复命令,则根据该恢复命令中携带的数据资源更新浏览器显示的页面,该页面恢复为更新前的页面。
通过上述步骤504和步骤505,实现了延迟补偿,即,当客户端设备进行一个操作时,该页面可直接得到更新,无需等待服务器响应。进一步地,针对该操作,在服务器的响应与客户端设备的响应不同的情况下,可根据服务器返回的数据资源对该页面进行刷新,也就是对客户端设备之前刷新页面的操作进行补偿。
本申请实施例可支持对整个页面的更新,也可支持对页面的局部更新。具体地,可预先注册局部更新事件,这样,客户端设备接收到本地应用发送的事件后且该事件为预先注册的局部更新事件,则该客户端设备可根据更新的数据资源,更新页面的局部内容。其中,所述局部更新事件的数量为一个或多个,一个局部更新事件用于指示对页面中的特定局部内容进行刷新。
作为一个例子,如果部署模块102中注册有局部更新事件,则当检测模块101检测到本地应用发送的局部更新事件后,则指示本地应用通过JS操作DOM接口的方式调用浏览器模块103使用更新的数据资源对该局部更新事件所指示的页面的局部内容进行局部布局渲染从而刷新页面。
通过以上描述可以看出,本申请的上述实施例中,当检测到有更新的数据资源时,可根据该更新的数据资源更新浏览器显示的页面。一方面,由于数据资源相对于应用模块或文件来说,其颗粒度更小,因此与现有技术相比,本申请实施例可以实现更细粒度的数据资源同步,进而可以降低资源同步时延;另一方面,当检测到有更新的数据资源时,可立即根据该更新的数据资源更新浏览器显示的页面,因此更进一步地降低了资源同步的时延,提高用户感受。
基于相同的技术构思,本申请实施例提供了一种客户端设备。该客户端设备的结构可参见图2中的客户端设备结构,其各模块的功能可参见前述实施例的描述,在此不再重复。
基于相同的技术构思,本申请实施例提供了一种服务器。该客户端设备的结构可参见图2中的服务器结构,其各模块的功能可参见前述实施例的描述,在此不再重复。
基于相同的技术构思,本申请实施例还提供了一种客户端设备。
参见图6,为本申请实施例提供的快客户端设备的结构示意图。该客户端设备总体来说可包括:处理器601,存储器602、显示器603。
其中,处理器601可以是通用处理器(比如微处理器或者任何常规的处理器等)、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。存储器602具体可包括内部存储器和/或外部存储器,比如随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质。显示器603可包括触摸屏控制电路。
处理器601与其他各模块之间存在数据通信连接,比如可基于总线架构进行数据通信。总线架构可以包括任意数量的互联的总线和桥,具体由处理器601代表的一个或多个处理器和存储器602代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。处理器601负责管理总线架构和通常的处理,存储器602可以存储处理器601在执行操作时所使用的数据。
本申请实施例揭示的数据资源管理流程,可以应用于处理器601中,或者由处理器601实现。在实现过程中,图片搜索流程的各步骤可以通过处理器601中的硬件的集成逻辑电路或者软件形式的指令完成。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。
具体地,处理器601,耦合到存储器602,用于读取存储器602存储的计算机程序指令,并作为响应,执行如下操作:
检测是否有更新的数据资源;其中,所述数据资源可以包括页面元素和/或代码片段;
若检测到有的更新的数据资源,则根据所述更新的数据资源更新浏览器显示的页面。
优选地,处理器601可具体用于:接收服务器推送的数据资源,若服务器推送的数据资源的版本高于所述客户端设备本地的数据资源的版本,则将所述服务器推送的数据资源确定为更新的数据资源。
进一步地,处理器601还可用于:若根据所述更新的数据资源更新所述浏览器显示的页面时操作失败,则向所述服务器反馈页面更新失败信息;以及,接收所述服务器返回的数据资源,其中,所述服务器返回的数据资源是所述服务器根据所述页面更新失败信息获取到的该服务器所备份的版本更新之前的数据资源;根据所述服务器返回的数据资源更新浏览器显示的页面。
优选地,处理器601检测是否有更新的数据资源时,可接收本地应用更新的数据资源,将本地应用更新的数据资源确定为更新的数据资源。
进一步地,处理器601,还可用于:向服务器发送数据资源更新请求,所述数据资源更新请求中携带有所述本地应用更新的数据资源,所述数据资源更新请求用于请求所述服务器根据该请求中携带的数据资源更新该数据资源版本。
进一步地,处理器601将本地应用更新的数据资源发送给服务器之后,还可接收所述服务器返回的更新成功响应,所述更新成功响应用于表明所述服务器根据所述数据资源更新请求对数据资源版本更新成功;或者,接收所述服务器返回的恢复命令,并根据所述恢复命令中携带的数据资源更新浏览器显示的页面,其中,所述恢复命令中携带的数据资源是所述服务器在拒绝所述数据资源更新请求的情况下所获得的数据资源。
优选地,处理器601在根据所述更新的数据资源更新所述浏览器显示的页面时,若接收到局部更新事件,则根据接收到的所述局部更新事件以及所述更新的数据资源,更新浏览器显示的页面的局部内容。
其中,处理器601在更新浏览器显示的页面的局部内容时,可根据接收到的局部更新事件,通过JavaScript操作DOM接口,使用所述更新的数据资源对该局部更新事件所指示的页面的局部内容进行页面的局部刷新。
其中,所述局部更新事件的数量为一个或多个,一个局部更新事件用于指示对页面中的特定局部内容进行刷新。
进一步地,处理器601还可建立与所述服务器之间的连接并维护所述连接的有效性,所述连接用于传输与所述服务器之间交互的数据资源。
综上所述,本申请实施例可最大化提升运行性能,尤其针对无网络连接情况下,互联网应用可使用缓存的数据资源,避免了该中情况下无法使用互联网应用的问题。此外,本申请实施例支持多种资源缓存策略(全缓存、部分缓存等),并支持根据网络状态、设备内存/CPU状态等动态调整缓存(比如释放缓存的数据资源),从而可最大化平衡性能和内存使用。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (40)

1.一种应用热部署方法,其特征在于,包括:
检测是否有更新的数据资源;
若检测到有的更新的数据资源,则根据所述更新的数据资源更新浏览器显示的页面。
2.如权利要求1所述的方法,其特征在于,所述检测是否有更新的数据资源,包括:
接收服务器推送的数据资源,若服务器推送的数据资源的版本高于所述客户端设备本地的数据资源的版本,则将所述服务器推送的数据资源确定为更新的数据资源。
3.如权利要求2所述的方法,其特征在于,若根据所述更新的数据资源更新所述浏览器显示的页面时操作失败,则还包括:
向所述服务器反馈页面更新失败信息;
接收所述服务器返回的数据资源;其中,所述服务器返回的数据资源是所述服务器根据所述页面更新失败信息获取到的该服务器所备份的更新之前的数据资源;
根据所述服务器返回的数据资源更新浏览器显示的页面。
4.如权利要求1所述的方法,其特征在于,所述检测是否有更新的数据资源,包括:
接收本地应用更新的数据资源,将本地应用更新的数据资源确定为更新的数据资源。
5.如权利要求4所述的方法,其特征在于,还包括:
向服务器发送数据资源更新请求,所述数据资源更新请求中携带有所述本地应用更新的数据资源,所述数据资源更新请求用于请求所述服务器根据该请求中携带的数据资源更新该数据资源版本。
6.如权利要求5所述的方法,其特征在于,所述将本地应用更新的数据资源发送给服务器之后,还包括:
接收所述服务器返回的更新成功响应,所述更新成功响应用于表明所述服务器根据所述数据资源更新请求对数据资源版本更新成功;或者,
接收所述服务器返回的恢复命令,并根据所述恢复命令中携带的数据资源更新浏览器显示的页面,其中,所述恢复命令中携带的数据资源是所述服务器在拒绝所述数据资源更新请求的情况下所获得的数据资源。
7.如权利要求1所述的方法,其特征在于,所述根据所述更新的数据资源更新所述浏览器显示的页面,包括:
若接收到局部更新事件,则根据接收到的所述局部更新事件以及所述更新的数据资源,更新浏览器显示的页面的局部内容。
8.如权利要求7所述的方法,其特征在于,所述更新浏览器显示的页面的局部内容,包括:
根据接收到的局部更新事件,通过JavaScript操作DOM接口,使用所述更新的数据资源对该局部更新事件所指示的页面的局部内容进行页面的局部刷新。
9.如权利要求7所述的方法,其特征在于,所述局部更新事件的数量为一个或多个,一个局部更新事件用于指示对页面中的特定局部内容进行刷新。
10.如权利要求1至9中任一项所述的方法,其特征在于,还包括:
建立与所述服务器之间的连接并维护所述连接的有效性,所述连接用于传输与所述服务器之间交互的数据资源。
11.如权利要求1至9中任一项所述的方法,其特征在于,所述数据资源包括页面元素和/或代码片段。
12.一种应用热部署方法,其特征在于,包括:
向客户端设备推送数据资源,以使所述客户端设备在检测到有更新的数据资源时,根据所述更新的数据资源更新浏览器显示的页面;
接收客户端设备发送的数据资源更新请求,根据所述数据资源更新请求向所述客户端设备返回更新成功响应或携带有数据资源的恢复命令;其中,所述更新成功响应用于表明所述服务器根据所述数据资源更新请求对数据资源版本更新成功,所述恢复命令中携带的数据资源是所述服务器在拒绝所述数据资源更新请求的情况下所获得的数据资源。
13.如权利要求12所述的方法,其特征在于,还包括:
接收客户端设备发送的页面更新失败信息;其中,所述页面更新失败信息是所述客户端设备根据所述更新的数据资源更新浏览器显示的页面时操作失败后向所述服务器反馈的;
根据所述页面更新失败信息获取该服务器所备份的更新之前的数据资源并发送给所述客户端设备。
14.如权利要求12所述的方法,其特征在于,还包括:
向客户端设备发送局部更新事件,以使所述客户端设备根据所述局部更新事件以及更新的数据资源,更新浏览器显示的页面的局部内容。
15.如权利要求14所述的方法,其特征在于,所述局部更新事件的数量为一个或多个,一个局部更新事件用于指示对页面中的特定局部内容进行刷新。
16.如权利要求12至15中任一项所述的方法,其特征在于,还包括:
建立与所述客户端设备之间的连接并维护所述连接的有效性,所述连接用于传输与所述客户端设备之间交互的数据资源。
17.如权利要求12至15中任一项所述的方法,其特征在于,所述数据资源包括页面元素和/或代码片段。
18.一种客户端设备,其特征在于,包括:
检测模块,用于检测是否有更新的数据资源;
部署模块,用于在检测到有更新的数据资源时,指示浏览器模块更新显示的页面;
浏览器模块,用于根据所述更新的数据资源更新显示的页面。
19.如权利要求18所述的客户端设备,其特征在于,所述检测模块具体用于:
接收服务器推送的数据资源,若服务器推送的数据资源的版本高于所述客户端设备本地的数据资源的版本,则将所述服务器推送的数据资源确定为更新的数据资源。
20.如权利要求19所述的客户端设备,其特征在于,所述部署模块还用于:
若根据所述更新的数据资源更新所述浏览器显示的页面时操作失败,则执行以下步骤:
向所述服务器反馈页面更新失败信息;
接收所述服务器返回的数据资源;其中,所述服务器返回的数据资源是所述服务器根据所述页面更新失败信息获取到的该服务器所备份的更新之前的数据资源;
根据所述服务器返回的数据资源更新浏览器显示的页面。
21.如权利要求18所述的客户端设备,其特征在于,所述检测模块具体用于:
接收本地应用更新的数据资源,将本地应用更新的数据资源确定为更新的数据资源。
22.如权利要求21所述的客户端设备,其特征在于,所述部署模块还用于:
向服务器发送数据资源更新请求,所述数据资源更新请求中携带有所述本地应用更新的数据资源,所述数据资源更新请求用于请求所述服务器根据该请求中携带的数据资源更新数据资源版本。
23.如权利要求22所述的客户端设备,其特征在于,所述部署模块还用于:将本地应用更新的数据资源发送给服务器之后,执行以下步骤:
接收所述服务器返回的更新成功响应,所述更新成功响应用于表明所述服务器根据所述数据资源更新请求对数据资源版本更新成功;或者,
接收所述服务器返回的恢复命令,并根据所述恢复命令中携带的数据资源更新浏览器显示的页面,其中,所述恢复命令中携带的数据资源是所述服务器在拒绝所述数据资源更新请求的情况下所获得的数据资源。
24.如权利要求18所述的客户端设备,其特征在于,所述浏览器模块具体用于:
若接收到局部更新事件,则根据接收到的所述局部更新事件以及所述更新的数据资源,更新浏览器显示的页面的局部内容。
25.如权利要求24所述的客户端设备,其特征在于,所述浏览器模块具体用于:
根据接收到的局部更新事件,通过JavaScript操作DOM接口,使用所述更新的数据资源对该局部更新事件所指示的页面的局部内容进行页面的局部刷新。
26.如权利要求24所述的客户端设备,其特征在于,所述局部更新事件的数量为一个或多个,一个局部更新事件用于指示对页面中的特定局部内容进行刷新。
27.如权利要求18至26中任一项所述的客户端设备,其特征在于,还包括:
连接管理模块,用于建立与所述服务器之间的连接并维护所述连接的有效性,所述连接用于传输与所述服务器之间交互的数据资源。
28.一种服务器,其特征在于,包括:
部署模块,用于向客户端设备推送数据资源,以使所述客户端设备在检测到有更新的数据资源时,根据所述更新的数据资源更新浏览器显示的页面;
更新请求处理模块,用于接收客户端设备发送的数据资源更新请求,根据所述数据资源更新请求向所述客户端设备返回更新成功响应或携带有数据资源的恢复命令;其中,所述更新成功响应用于表明所述服务器根据所述数据资源更新请求对数据资源版本更新成功,所述恢复命令中携带的数据资源是所述服务器在拒绝所述数据资源更新请求的情况下所获得的数据资源。
29.如权利要求28所述的服务器,其特征在于,所述部署模块还用于:
接收客户端设备发送的页面更新失败信息;其中,所述页面更新失败信息是所述客户端设备根据所述更新的数据资源更新浏览器显示的页面时操作失败后向所述服务器反馈的;
根据所述页面更新失败信息获取该服务器所备份的版本更新之前的数据资源并发送给所述客户端设备。
30.如权利要求29所述的服务器,其特征在于,所述部署模块还用于:
向客户端设备发送局部更新事件,以使所述客户端设备根据所述局部更新事件以及更新的数据资源,更新浏览器显示的页面的局部内容。
31.如权利要求28所述的服务器,其特征在于,所述部署模块还用于:
向客户端设备发送局部更新事件,以使所述客户端设备根据所述局部更新事件以及更新的数据资源,更新浏览器显示的页面的局部内容。
32.如权利要求31所述的服务器,其特征在于,所述局部更新事件的数量为一个或多个,一个局部更新事件用于指示对页面中的特定局部内容进行刷新。
33.如权利要求28至32中任一项所述的服务器,其特征在于,还包括:
连接管理模块,用于建立与所述客户端设备之间的连接并维护所述连接的有效性,所述连接用于传输与所述客户端设备之间交互的数据资源。
34.一种应用热部署系统,其特征在于,包括:
客户端设备,用于检测是否有更新的数据资源,若检测到有更新的数据资源,则根据所述更新的数据资源更新浏览器显示的页面;
服务器,用于向所述客户端设备推送数据资源。
35.如权利要求34所述的系统,其特征在于,所述客户端设备具体用于:
接收服务器推送的数据资源,若服务器推送的数据资源的版本高于所述客户端设备本地的数据资源的版本,则将所述服务器推送的数据资源确定为更新的数据资源。
36.如权利要求34所述的系统,其特征在于,所述客户端设备还具体用于:若根据所述更新的数据资源更新浏览器显示的页面时操作失败,则向所述服务器反馈页面更新失败信息;以及,接收所述服务器返回的数据资源,并根据所述服务器返回的数据资源更新浏览器显示的页面;
所述服务器还用于:根据所述页面更新失败信息获取该服务器所备份的更新之前的数据资源并发送给所述客户端设备。
37.如权利要求34所述的系统,其特征在于,所述客户端设备具体用于:
接收本地应用更新的数据资源,将本地应用更新的数据资源确定为更新的数据资源。
38.如权利要求37所述的系统,其特征在于,
所述客户端设备还用于:向服务器发送数据资源更新请求,所述数据资源更新请求中携带有所述本地应用更新的数据资源,所述数据资源更新请求用于请求所述服务器根据该请求中携带的数据资源更新所述数据资源版本;
所述服务器还用于:根据所述数据资源更新请求向所述客户端设备返回更新成功响应或携带有数据资源的恢复命令;其中,所述更新成功响应用于表明所述服务器根据所述数据资源更新请求对数据资源版本更新成功,所述恢复命令中携带的数据资源是所述服务器在拒绝所述数据资源更新请求的情况下所获得的;
所述客户端设备还用于:接收所述服务器返回的更新成功响应,或者,接收所述服务器返回的恢复命令,并根据所述恢复命令中携带的数据资源更新浏览器显示的页面。
39.如权利要求38所述的系统,其特征在于,所述服务器还用于:向所述客户端设备发送局部更新事件;
所述客户端设备还用于:根据接收到的局部更新事件以及更新的数据资源,更新浏览器显示的页面的局部内容。
40.一种终端,其特征在于,包括:
显示器;
存储器,用于存储计算机程序指令;
处理器,耦合到所述存储器,用于读取所述存储器存储的计算机程序指令,并作为响应,执行如下操作:
检测是否有更新的数据资源;
在检测到有更新的数据资源时,指示浏览器模块更新显示的页面;
根据所述更新的数据资源更新显示的页面。
CN201610041657.1A 2016-01-21 2016-01-21 一种应用热部署方法、装置和系统 Active CN106990975B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201610041657.1A CN106990975B (zh) 2016-01-21 2016-01-21 一种应用热部署方法、装置和系统
PCT/CN2017/070986 WO2017124962A1 (zh) 2016-01-21 2017-01-12 一种应用热部署方法、装置和系统
US16/041,082 US11055085B2 (en) 2016-01-21 2018-07-20 Method, apparatus, and system for hot-deploying application

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610041657.1A CN106990975B (zh) 2016-01-21 2016-01-21 一种应用热部署方法、装置和系统

Publications (2)

Publication Number Publication Date
CN106990975A true CN106990975A (zh) 2017-07-28
CN106990975B CN106990975B (zh) 2021-07-23

Family

ID=59361319

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610041657.1A Active CN106990975B (zh) 2016-01-21 2016-01-21 一种应用热部署方法、装置和系统

Country Status (3)

Country Link
US (1) US11055085B2 (zh)
CN (1) CN106990975B (zh)
WO (1) WO2017124962A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110764805A (zh) * 2019-10-28 2020-02-07 腾讯科技(深圳)有限公司 客户端无感升级的方法、装置、终端及存储介质
CN111628889A (zh) * 2020-05-11 2020-09-04 Oppo(重庆)智能科技有限公司 热部署方法及装置、电子设备和存储介质
CN111970359A (zh) * 2020-08-14 2020-11-20 工银科技有限公司 基于Node.js服务器的前端无服务架构系统及建立方法
US10908893B2 (en) 2017-08-16 2021-02-02 Advanced New Technologies Co., Ltd. Page update method and apparatus

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6801300B2 (ja) * 2016-08-30 2020-12-16 ブラザー工業株式会社 制御プログラム
CN108182092A (zh) * 2017-12-13 2018-06-19 广州视源电子科技股份有限公司 更新应用程序资源显示的方法及装置
CN110806868B (zh) * 2018-08-06 2023-02-03 上海网梯数码科技有限公司 一种单页面搭建及加载方法
US11748029B2 (en) * 2019-07-26 2023-09-05 Salesforce, Inc. Protecting writes to shared storage in a distributed search system
US11216270B2 (en) * 2019-10-24 2022-01-04 Dell Products L.P. Metadata driven workflow semantics for management operations
CN111506786B (zh) * 2020-03-06 2023-10-27 百度在线网络技术(北京)有限公司 网页更新的方法、装置、电子设备和计算机可读存储介质
CN111506787B (zh) * 2020-03-06 2023-04-25 百度在线网络技术(北京)有限公司 网页更新的方法、装置、电子设备和计算机可读存储介质
US11422791B2 (en) * 2020-12-31 2022-08-23 International Business Machines Corporation Upgrading a sequence of microservices in a cloud computing environment
CN112817624B (zh) * 2021-01-28 2022-10-04 杭州衣科信息技术股份有限公司 一种基于React Native的灰度热部署系统
CN115473810B (zh) * 2022-09-01 2024-04-26 珠海金山数字网络科技有限公司 双端同步脚本热更新方法及装置

Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1369826A (zh) * 2001-02-14 2002-09-18 英业达股份有限公司 支持页面动态更新的方法
US6665711B1 (en) * 1998-04-30 2003-12-16 Openwave Systems Inc. Method and apparatus for integrating narrowband and wideband data transports
US6934868B2 (en) * 2000-12-29 2005-08-23 International Business Machines Corporation Method and system in a client computer system for generating and displaying a local server clock synchronized with a server clock using a client clock
CN101009599A (zh) * 2007-01-24 2007-08-01 华为技术有限公司 向网元结点远程加载补丁包文件的方法、系统及设备
CN101082915A (zh) * 2006-05-29 2007-12-05 陈鹰 一种浏览器本地页面的存储和更新方法
CN101192233A (zh) * 2007-03-29 2008-06-04 腾讯科技(深圳)有限公司 一种对网页进行动态更新的方法、系统及设备
CN101192216A (zh) * 2006-11-28 2008-06-04 中兴通讯股份有限公司 静态页面控件与web服务器互动的实现方法及web服务器
US20100306366A1 (en) * 2009-06-02 2010-12-02 International Business Machines Corporation System for enabling rich network applications
CN102109989A (zh) * 2009-12-29 2011-06-29 阿里巴巴集团控股有限公司 一种控制浏览器缓存的方法、装置和系统
CN102195971A (zh) * 2011-03-24 2011-09-21 北京思创银联科技股份有限公司 网站访问控制方法
US20120254292A1 (en) * 2011-03-31 2012-10-04 Cloudera, Inc. User interface implementation for partial display update
CN103257973A (zh) * 2012-02-20 2013-08-21 腾讯科技(深圳)有限公司 浏览器缓存更新方法和系统
CN103678639A (zh) * 2013-12-20 2014-03-26 北京奇虎科技有限公司 浏览器中进行信息更新提醒的方法及设备
US20140351807A1 (en) * 2013-05-24 2014-11-27 Huawei Device Co., Ltd. Method and communication device for updating web application
CN104506367A (zh) * 2014-12-24 2015-04-08 上海斐讯数据通信技术有限公司 一种升级管理系统
US9052908B2 (en) * 2010-01-22 2015-06-09 The Regents Of The University Of California Web application development framework
CN104809016A (zh) * 2015-05-13 2015-07-29 北京京东尚科信息技术有限公司 一种网站页面的升级方法和系统

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5473772A (en) 1991-04-02 1995-12-05 International Business Machines Corporation Automatic update of static and dynamic files at a remote network node in response to calls issued by or for application programs
US6591266B1 (en) * 2000-07-14 2003-07-08 Nec Corporation System and method for intelligent caching and refresh of dynamically generated and static web content
US6915513B2 (en) 2001-11-29 2005-07-05 Hewlett-Packard Development Company, L.P. System and method for dynamically replacing code
US7886287B1 (en) 2003-08-27 2011-02-08 Avaya Inc. Method and apparatus for hot updating of running processes
TW200535697A (en) 2004-04-30 2005-11-01 Hon Hai Prec Ind Co Ltd System and method for automatic updating program
US8554686B2 (en) * 2005-06-30 2013-10-08 Advanced Micro Devices, Inc. Anti-hack protection to restrict installation of operating systems and other software
US7975019B1 (en) * 2005-07-15 2011-07-05 Amazon Technologies, Inc. Dynamic supplementation of rendered web pages with content supplied by a separate source
EP1958090A4 (en) * 2005-12-07 2008-12-03 3Dlabs Inc Ltd METHOD FOR MANIPULATING WEBSITES
US7730109B2 (en) * 2005-12-12 2010-06-01 Google, Inc. Message catalogs for remote modules
WO2008055204A2 (en) * 2006-10-31 2008-05-08 Dotted Pair, Inc. System and method for interacting with item catalogs
US20080177858A1 (en) * 2007-01-19 2008-07-24 Ari Aarnio Arranging dynamic bookmarks based on service provider inputs
US20090282396A1 (en) 2008-05-07 2009-11-12 Boyer John M Preserving a state of an application during update
US20110113424A1 (en) * 2009-11-09 2011-05-12 Bank Of America Corporation Distribution Of Software Updates
CN102170365B (zh) 2010-02-26 2013-12-25 阿里巴巴集团控股有限公司 实现软件系统热部署的方法及系统
CN102402427B (zh) * 2010-09-09 2015-09-02 阿里巴巴集团控股有限公司 一种Java应用程序的更新方法及装置
US9026896B2 (en) * 2011-12-26 2015-05-05 TrackThings LLC Method and apparatus of physically moving a portable unit to view composite webpages of different websites
CN102591963A (zh) * 2011-12-30 2012-07-18 奇智软件(北京)有限公司 网页内容加载控制方法及装置
US9317616B1 (en) * 2012-06-21 2016-04-19 Amazon Technologies, Inc. Dynamic web updates based on state
CN103902319A (zh) * 2012-12-30 2014-07-02 青岛海尔软件有限公司 基于服务器端javascript的热部署方法
US9459856B2 (en) * 2013-01-02 2016-10-04 International Business Machines Corporation Effective migration and upgrade of virtual machines in cloud environments
JP2014178999A (ja) * 2013-03-15 2014-09-25 Ricoh Co Ltd 情報処理システム、機器、情報処理方法、及びプログラム
CN104102502B (zh) * 2013-04-09 2018-09-04 腾讯科技(深圳)有限公司 一种实现热部署的处理方法、装置及服务器
US20150088970A1 (en) * 2013-09-20 2015-03-26 Yottaa Inc. Systems and methods for managing loading priority or sequencing of fragments of a web object
US10243795B2 (en) * 2015-04-16 2019-03-26 Go Daddy Operating Company, LLC DNS file settings deferral
US10230786B2 (en) 2016-02-26 2019-03-12 Red Hat, Inc. Hot deployment in a distributed cluster system

Patent Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6665711B1 (en) * 1998-04-30 2003-12-16 Openwave Systems Inc. Method and apparatus for integrating narrowband and wideband data transports
US6934868B2 (en) * 2000-12-29 2005-08-23 International Business Machines Corporation Method and system in a client computer system for generating and displaying a local server clock synchronized with a server clock using a client clock
CN1369826A (zh) * 2001-02-14 2002-09-18 英业达股份有限公司 支持页面动态更新的方法
CN101082915A (zh) * 2006-05-29 2007-12-05 陈鹰 一种浏览器本地页面的存储和更新方法
CN101192216A (zh) * 2006-11-28 2008-06-04 中兴通讯股份有限公司 静态页面控件与web服务器互动的实现方法及web服务器
CN101009599A (zh) * 2007-01-24 2007-08-01 华为技术有限公司 向网元结点远程加载补丁包文件的方法、系统及设备
CN101192233A (zh) * 2007-03-29 2008-06-04 腾讯科技(深圳)有限公司 一种对网页进行动态更新的方法、系统及设备
US20100306366A1 (en) * 2009-06-02 2010-12-02 International Business Machines Corporation System for enabling rich network applications
CN102109989A (zh) * 2009-12-29 2011-06-29 阿里巴巴集团控股有限公司 一种控制浏览器缓存的方法、装置和系统
US9052908B2 (en) * 2010-01-22 2015-06-09 The Regents Of The University Of California Web application development framework
CN102195971A (zh) * 2011-03-24 2011-09-21 北京思创银联科技股份有限公司 网站访问控制方法
US20120254292A1 (en) * 2011-03-31 2012-10-04 Cloudera, Inc. User interface implementation for partial display update
CN103257973A (zh) * 2012-02-20 2013-08-21 腾讯科技(深圳)有限公司 浏览器缓存更新方法和系统
US20140351807A1 (en) * 2013-05-24 2014-11-27 Huawei Device Co., Ltd. Method and communication device for updating web application
CN103678639A (zh) * 2013-12-20 2014-03-26 北京奇虎科技有限公司 浏览器中进行信息更新提醒的方法及设备
CN104506367A (zh) * 2014-12-24 2015-04-08 上海斐讯数据通信技术有限公司 一种升级管理系统
CN104809016A (zh) * 2015-05-13 2015-07-29 北京京东尚科信息技术有限公司 一种网站页面的升级方法和系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
HAICHENG LI ET AL: "Hot Deployment with Dependency Reconstruction", 《HOT DEPLOYMENT WITH DEPENDENCY RECONSTRUCTION》 *
汪瑞: "基于Unity3D的多通道下服务器客户端同步", 《现代计算机》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10908893B2 (en) 2017-08-16 2021-02-02 Advanced New Technologies Co., Ltd. Page update method and apparatus
CN110764805A (zh) * 2019-10-28 2020-02-07 腾讯科技(深圳)有限公司 客户端无感升级的方法、装置、终端及存储介质
CN110764805B (zh) * 2019-10-28 2024-01-23 腾讯科技(深圳)有限公司 客户端无感升级的方法、装置、终端及存储介质
CN111628889A (zh) * 2020-05-11 2020-09-04 Oppo(重庆)智能科技有限公司 热部署方法及装置、电子设备和存储介质
CN111628889B (zh) * 2020-05-11 2023-04-07 Oppo(重庆)智能科技有限公司 热部署方法及装置、电子设备和存储介质
CN111970359A (zh) * 2020-08-14 2020-11-20 工银科技有限公司 基于Node.js服务器的前端无服务架构系统及建立方法
CN111970359B (zh) * 2020-08-14 2023-01-13 中国工商银行股份有限公司 基于Node.js服务器的前端无服务架构系统及建立方法

Also Published As

Publication number Publication date
US11055085B2 (en) 2021-07-06
CN106990975B (zh) 2021-07-23
WO2017124962A1 (zh) 2017-07-27
US20190138297A1 (en) 2019-05-09

Similar Documents

Publication Publication Date Title
CN106990975A (zh) 一种应用热部署方法、装置和系统
US11032140B2 (en) Using a template to update a stack of resources
US7814234B2 (en) Offline execution of web based applications
US10015226B2 (en) Methods for making AJAX web applications bookmarkable and crawlable and devices thereof
JP2010508581A5 (zh)
CN102109989A (zh) 一种控制浏览器缓存的方法、装置和系统
CN101252462B (zh) 告警页面刷新方法以及服务器和客户端
US20130268831A1 (en) Method, device, and system for acquiring start page
CN103475744A (zh) 一种基于Web应用的资源下载方法、装置和系统
CN103324756A (zh) 一种提高浏览器访问速度的方法及装置
CN109359260B (zh) 网络页面更改监测方法、装置、设备以及介质
CN101739433A (zh) 网页下载纠错系统及方法
CN104915404A (zh) 访问失效网址的方法和装置
CN115421693A (zh) 微前端架构的实现方法、装置、计算机设备和存储介质
CN104219277A (zh) 重排服务器响应
CN113961298A (zh) 一种页面切换方法、装置、设备及介质
CN107704278A (zh) 应用升级方法和装置
CN107451182B (zh) 基于Appcache的文件缓存方法
CN113138814A (zh) 远程协助方法、装置、设备和存储介质
CN113486116A (zh) 一种数据同步方法、装置、电子设备及计算机可读介质
CN106021501A (zh) 一种数据存储方法及装置
CN111259300B (zh) 一种页面加载方法、装置、系统
CN104580307A (zh) 文件上传校验方法及装置
CN113326456B (zh) 网页资源获取方法、装置、设备、系统及存储介质
CN106059795A (zh) Web系统服务监测和切换方法及装置

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1240357

Country of ref document: HK

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20201211

Address after: Room 603, 6 / F, Roche Plaza, 788 Cheung Sha Wan Road, Kowloon, China

Applicant after: Zebra smart travel network (Hong Kong) Limited

Address before: Cayman Islands Grand Cayman capital building, a four storey No. 847 mailbox

Applicant before: Alibaba Group Holding Ltd.

GR01 Patent grant
GR01 Patent grant