CN108268304B - 一种基于容器的Web app迁移方法 - Google Patents

一种基于容器的Web app迁移方法 Download PDF

Info

Publication number
CN108268304B
CN108268304B CN201710002317.2A CN201710002317A CN108268304B CN 108268304 B CN108268304 B CN 108268304B CN 201710002317 A CN201710002317 A CN 201710002317A CN 108268304 B CN108268304 B CN 108268304B
Authority
CN
China
Prior art keywords
state
web app
container
snapshot
migration
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.)
Expired - Fee Related
Application number
CN201710002317.2A
Other languages
English (en)
Other versions
CN108268304A (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.)
Institute of Acoustics CAS
Shanghai 3Ntv Network Technology Co Ltd
Original Assignee
Institute of Acoustics CAS
Shanghai 3Ntv Network 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 Institute of Acoustics CAS, Shanghai 3Ntv Network Technology Co Ltd filed Critical Institute of Acoustics CAS
Priority to CN201710002317.2A priority Critical patent/CN108268304B/zh
Publication of CN108268304A publication Critical patent/CN108268304A/zh
Application granted granted Critical
Publication of CN108268304B publication Critical patent/CN108268304B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于容器的Web app迁移方法,所述方法包括:当一个Web app运行在嵌入式Linux操作系统Chrome运行环境的Docker容器A内;如果用户需要在另一台终端查看该Web app,触发Web app迁移条件,采用Snapshot技术保存Web app的执行状态;经过迁移管理节点将Snapshot发送至目标节点;目标节点接收到迁移请求,根据资源需求创建目标节点容器B;Snapshot在目标节点容器B内进行状态恢复并继续运行Web app。本发明的方法能够实现Web app的状态迁移运行,具备即时保存、状态迁移、跨平台特性和安全隔离特性。

Description

一种基于容器的Web app迁移方法
技术领域
本发明属于虚拟化迁移领域和浏览器领域,具体涉及一种基于容器的Web app迁移方法。
背景技术
随着互联网技术的飞速发展,嵌入式系统的发展越来越智能化,人们对它的需求越来越高,支持的应用也越来越多。当应用所需的资源超过了客户端的资源提供能力时,或者用户出现在不同终端共享应用状态的需求时,就需要将应用迁移至目标设备,保持原有的运行结果继续运行。
现有的app迁移技术,如Android应用迁移等,均只支持特定平台的迁移,不能跨平台进行应用的状态迁移和运行;此外,相关的web app迁移技术能够支持跨平台特性,在安全性方面无法保障。
Web app具备跨平台特性,可以实现在不同终端不同系统之间的无差别迁移,带给用户一致的体验。此外,容器虚拟化技术是大势所趋,其中以Docker为代表的新一代容器技术成为竞相研究的热点。Docker具有轻量级虚拟化、秒级启动,秒级停止,空间资源占用极少、进程级别的隔离、高效的资源利用率、以应用为中心、自动构建等优点。基于容器技术,实现Web app的迁移,可以满足多平台多终端进行安全迁移的需求。
发明内容
本发明的目的在于,克服目前Web app迁移方法存在的上述缺陷,基于容器虚拟化技术,提出了一种基于容器的Web app迁移方法,能够实现Web app的状态迁移运行,具备跨平台特性和安全隔离特性。
为了实现上述目的,本发明提出了一种基于容器的Web app迁移方法,所述方法包括:一种基于容器的Web app迁移方法,所述方法包括:当一个Web app运行在嵌入式Linux操作系统Chrome运行环境的Docker容器A内;如果用户需要在另一台终端查看该Web app,触发Web app迁移条件,采用Snapshot技术保存Web app的执行状态;经过迁移管理节点将Snapshot发送至目标节点;目标节点接收到迁移请求,根据资源需求创建目标节点容器B;Snapshot在目标节点容器B内进行状态恢复并继续运行Web app。
上述技术方案中,所述采用Snapshot技术保存Web app的执行状态的具体步骤为:
步骤2-1)对Web app进行状态分类,对不同的状态标记不同的类别;
步骤2-2)根据分类结果提取Web app的状态;
步骤2-3)将提取的状态保存并压缩至Snapshot。
上述技术方案中,所述Web app的状态为:DOM树状态、渲染树状态、JavaScript堆状态或事件处理状态。
上述技术方案中,所述Snapshot在目标节点容器B内进行状态恢复并继续运行Webapp的具体步骤为:
步骤5-1)根据Web app在目标节点容器B内恢复所需的资源,分配相应的资源;
步骤5-2)将Snapshot保存的状态进行解压,分别拷贝其状态;
步骤5-3)重定向拷贝的状态对象,将状态对象映射为目标平台运行环境的相应内存地址和对象地址,完成状态恢复。
本发明的优势在于:本发明的方法能够实现Web app的状态迁移运行,具备即时保存、状态迁移、跨平台特性和安全隔离特性。
附图说明
图1为本发明的基于容器的Web app迁移方法的示意图;
图2为本发明的采用快照技术保存Web app执行状态的流程图;
图3为本发明的快照在目标节点容器内进行状态恢复并继续运行Web app的流程图。
具体实施方式
下面结合附图和具体实施例对本发明做进一步详细的说明。
如图1所示,一种基于容器的Web app迁移方法,所述方法包括:
步骤1)Web app A运行在嵌入式机顶盒(嵌入式Linux操作系统,Chrome运行环境)的Docker容器(Container A)内;
步骤2)如果用户需要在另一台终端(如平板电脑)查看该Web app,触发Web app迁移条件,采用Snapshot技术保存Web app A的执行状态;
如图2所示,所述步骤2)具体包括:
步骤2-1)对Web app A进行状态分类,对不同的状态标记不同的类别;
其中,对Web app的状态类型为:DOM树状态、渲染树状态、JavaScript堆状态或事件处理状态等。
例如,Web app A是一个俄罗斯方块游戏应用,获取页面布局状态DOM树,以及游戏运行状态(JavaScript执行状态)和事件处理状态等;
步骤2-2)根据分类结果提取Web app A的页面布局状态、JS状态和事件处理状态;
步骤2-3)将提取的状态保存并压缩至Snapshot;
步骤3)经过迁移管理节点(Migration Manager),将Snapshot发送至目标节点(Target Node,如平板电脑,Android操作系统,Chrome运行环境);
步骤4)目标节点接收到迁移请求,根据资源需求创建容器(Container B);
步骤5)Snapshot在目标节点容器内进行状态恢复并继续运行Web app A;
如图3所示,所述步骤5)具体包括:
步骤5-1)根据Web app A在目标节点恢复所需的资源,分配相应的资源;
例如,Web app A需要占用内存100MB;
步骤5-2)将Snapshot保存的状态进行解压,分别拷贝其页面布局状态、游戏运行状态和事件处理状态;
步骤5-3)重定向拷贝的状态对象,将状态对象映射为目标平台运行环境的相应内存地址和对象地址,完成状态恢复。
以上所述仅为本发明的具体实施方式,并非用于限定本发明的保护范围,本领域的技术人员应当理解,在不脱离发明原理的前提下,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的保护范围中。

Claims (1)

1.一种基于容器的Web app迁移方法,所述方法包括:当一个Web app运行在嵌入式Linux操作系统Chrome运行环境的Docker容器A内;如果用户需要在另一台终端查看该Webapp,触发Web app迁移条件,采用Snapshot技术保存Web app的执行状态;经过迁移管理节点将Snapshot发送至目标节点;目标节点接收到迁移请求,根据资源需求创建目标节点容器B;Snapshot在目标节点容器B内进行状态恢复并继续运行Web app;
所述采用Snapshot技术保存Web app的执行状态的具体步骤为:
步骤2-1)对Web app进行状态分类,对不同的状态标记不同的类别;
步骤2-2)根据分类结果提取Web app的状态;
步骤2-3)将提取的状态保存并压缩至Snapshot;
所述Web app的状态为:DOM树状态、渲染树状态、JavaScript堆状态或事件处理状态;
所述Snapshot在目标节点容器B内进行状态恢复并继续运行Web app的具体步骤为:
步骤5-1)根据Web app在目标节点容器B内恢复所需的资源,分配相应的资源;
步骤5-2)将Snapshot保存的状态进行解压,分别拷贝其状态;
步骤5-3)重定向拷贝的状态对象,将状态对象映射为目标平台运行环境的相应内存地址和对象地址,完成状态恢复。
CN201710002317.2A 2017-01-03 2017-01-03 一种基于容器的Web app迁移方法 Expired - Fee Related CN108268304B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710002317.2A CN108268304B (zh) 2017-01-03 2017-01-03 一种基于容器的Web app迁移方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710002317.2A CN108268304B (zh) 2017-01-03 2017-01-03 一种基于容器的Web app迁移方法

Publications (2)

Publication Number Publication Date
CN108268304A CN108268304A (zh) 2018-07-10
CN108268304B true CN108268304B (zh) 2021-06-08

Family

ID=62771435

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710002317.2A Expired - Fee Related CN108268304B (zh) 2017-01-03 2017-01-03 一种基于容器的Web app迁移方法

Country Status (1)

Country Link
CN (1) CN108268304B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109587118B (zh) * 2018-11-11 2021-05-11 长沙摩智云计算机科技有限公司 Android网游的分布式支持多终端和多网络的系统
CN112469001B (zh) * 2020-11-17 2022-07-26 国网浙江省电力有限公司信息通信分公司 一种应用迁移方法、装置、电子设备及存储介质
CN113010206A (zh) * 2021-02-26 2021-06-22 山东英信计算机技术有限公司 一种web应用系统的容器化方法、系统及装置
CN112835683B (zh) * 2021-03-02 2023-12-12 杭州雅观科技有限公司 一种智慧社区软件的容器化部署系统

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101907989A (zh) * 2010-06-01 2010-12-08 南京大学 一种基于移动代理的应用无缝迁移方法
CN103620552A (zh) * 2011-06-29 2014-03-05 惠普发展公司,有限责任合伙企业 采用动态操作系统容器的应用迁移
US8984510B1 (en) * 2007-03-23 2015-03-17 Parallels IP Holdings GmbH Blocking file system for on-the-fly migration of a virtual execution environment
CN105323282A (zh) * 2014-07-28 2016-02-10 神州数码信息系统有限公司 一种面向多租户的企业应用部署与管理系统
CN105607954A (zh) * 2015-12-21 2016-05-25 华南师范大学 一种有状态容器在线迁移的方法和装置
CN105955805A (zh) * 2015-12-28 2016-09-21 中国银联股份有限公司 一种应用容器迁移的方法及装置
CN106020930A (zh) * 2016-05-13 2016-10-12 深圳市中润四方信息技术有限公司 一种基于应用容器的应用管理方法及系统
CN106155778A (zh) * 2016-07-07 2016-11-23 中国科学院声学研究所 一种应用容器的启动方法及系统

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8984510B1 (en) * 2007-03-23 2015-03-17 Parallels IP Holdings GmbH Blocking file system for on-the-fly migration of a virtual execution environment
CN101907989A (zh) * 2010-06-01 2010-12-08 南京大学 一种基于移动代理的应用无缝迁移方法
CN103620552A (zh) * 2011-06-29 2014-03-05 惠普发展公司,有限责任合伙企业 采用动态操作系统容器的应用迁移
CN105323282A (zh) * 2014-07-28 2016-02-10 神州数码信息系统有限公司 一种面向多租户的企业应用部署与管理系统
CN105607954A (zh) * 2015-12-21 2016-05-25 华南师范大学 一种有状态容器在线迁移的方法和装置
CN105955805A (zh) * 2015-12-28 2016-09-21 中国银联股份有限公司 一种应用容器迁移的方法及装置
CN106020930A (zh) * 2016-05-13 2016-10-12 深圳市中润四方信息技术有限公司 一种基于应用容器的应用管理方法及系统
CN106155778A (zh) * 2016-07-07 2016-11-23 中国科学院声学研究所 一种应用容器的启动方法及系统

Also Published As

Publication number Publication date
CN108268304A (zh) 2018-07-10

Similar Documents

Publication Publication Date Title
CN108268304B (zh) 一种基于容器的Web app迁移方法
CN107608757B (zh) 一种基于容器的隔离处理方法及相关设备
CN106164866B (zh) 客户端侧web状态的高效迁移
US8352937B2 (en) Streaming an application install package into a virtual environment
RU2615316C2 (ru) СПОСОБ, УСТРОЙСТВО И СИСТЕМА ВХОДА В Unix-ПОДОБНЫЙ ВИРТУАЛЬНЫЙ КОНТЕЙНЕР
EP2659354B1 (en) Storing and resuming application runtime state
US11836112B2 (en) Path resolver for client access to distributed file systems
US8881144B1 (en) Systems and methods for reclaiming storage space from virtual machine disk images
US20170046185A1 (en) Page table based dirty page tracking
WO2020042818A1 (zh) 应用于浏览器的内存管理方法、装置、终端及存储介质
CN103210395A (zh) 与客户端虚拟机交互的技术
EP3022647B1 (en) Systems and methods for instantly restoring virtual machines in high input/output load environments
US11080322B2 (en) Search methods, servers, and systems
CN103905472A (zh) 一种通过网页方式访问的云存储方法和系统
CN104202332A (zh) 基于Linux内核的移动设备虚拟化系统及即时安装方法
US20170257382A1 (en) Maintaining dynamic configuration information of a multi-host off-cluster service on a cluster
US10235223B2 (en) High-performance computing framework for cloud computing environments
CN111352647A (zh) 虚拟机升级方法、装置、设备及存储介质
CN113014608B (zh) 一种流量分发控制方法、装置、电子设备及存储介质
CN107168769B (zh) 一种信息处理方法及电子设备
CN108108229A (zh) 虚拟主机迁移系统、方法、计算机设备、可读存储介质
WO2017097114A1 (zh) 一种共享文件的访问方法、系统及相关设备
US11809275B2 (en) FaaS in-memory checkpoint restore
WO2015035899A1 (en) Search methods and terminals
CN108196945B (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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20210608

Termination date: 20220103