CN113296868B - 应用平台及应用管理方法 - Google Patents

应用平台及应用管理方法 Download PDF

Info

Publication number
CN113296868B
CN113296868B CN202110851848.5A CN202110851848A CN113296868B CN 113296868 B CN113296868 B CN 113296868B CN 202110851848 A CN202110851848 A CN 202110851848A CN 113296868 B CN113296868 B CN 113296868B
Authority
CN
China
Prior art keywords
application
application container
connector
instance
user data
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
CN202110851848.5A
Other languages
English (en)
Other versions
CN113296868A (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.)
Hangzhou Loop Tengyun Technology Co ltd
Original Assignee
Hangzhou Loop Tengyun 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 Hangzhou Loop Tengyun Technology Co ltd filed Critical Hangzhou Loop Tengyun Technology Co ltd
Priority to CN202110851848.5A priority Critical patent/CN113296868B/zh
Publication of CN113296868A publication Critical patent/CN113296868A/zh
Application granted granted Critical
Publication of CN113296868B publication Critical patent/CN113296868B/zh
Priority to US17/814,841 priority patent/US11836509B2/en
Priority to US18/487,147 priority patent/US20240036886A1/en
Active 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/451Execution arrangements for user interfaces
    • 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/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • 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/445Program loading or initiating
    • G06F9/44536Selecting among different versions
    • 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/54Interprogram communication
    • G06F9/543User-generated data transfer, e.g. clipboards, dynamic data exchange [DDE], object linking and embedding [OLE]
    • 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/45579I/O management, e.g. providing access to device drivers or storage

Abstract

本发明公开一种应用平台,其特征在于包括:用户界面,用于实现与用户的交互;应用容器连接器,根据用户在用户界面的交互操作,访问应用容器实例;至少一个应用容器实例,具有应用、用于连接应用容器连接器的应用连接器接口、用于连接用户数据集的用户数据接口、以及所述应用运行所需的系统基础环境和依赖;启动完成后,通过应用连接器接口接受来自应用容器连接器的访问,并通过用户数据接口存取与该应用相应的用户数据;用户数据集,存储有用户数据,供所述应用容器实例存取。保证各应用之间的独立性,避免恶意应用影响其他应用的正常运行。

Description

应用平台及应用管理方法
技术领域
本发明涉及一种应用平台及应用管理方法。
背景技术
如图1所示,目前已有系统中,多个应用都基于共同的系统基础环境和依赖运行,在这样的系统架构下,如若其中一个应用因为漏洞被攻击,将会导致系统基础环境和依赖面临被攻击的风险,进而攻击其他应用,从而导致整个系统受到破坏。
发明内容
本发明的目的是针对上述存在的问题,提供一种应用平台,保证各应用之间的独立性,避免恶意应用影响其他应用的正常运行。
本发明还提供一种应用管理方法。
为了达到上述目的,本发明通过以下技术方案来实现:
本发明一个方面,一种应用平台,包括:
用户界面,用于实现与用户的交互;
应用容器连接器,根据用户在用户界面的交互操作,访问应用容器实例;
至少一个应用容器实例,具有应用、用于连接应用容器连接器的应用连接器接口、用于连接用户数据集的用户数据接口、以及所述应用运行所需的系统基础环境和依赖;启动完成后,通过应用连接器接口接受来自应用容器连接器的访问,并通过用户数据接口存取与该应用相应的用户数据;所述应用容器实例是指能够承载所述应用以及所述应用运行所需的系统基础环境和依赖的实体单元,可以是以Docker为代表的基于Linux名字空间(namespaces)隔离技术形成的容器,也可以是独立的物理主机或虚拟机等;
用户数据集,存储有用户数据,供所述应用容器实例存取。
作为优选,
应用容器连接器,还用于将所述应用容器实例展示的内容反馈给用户界面;
应用容器实例,还用于将所展示的内容反馈给应用容器连接器。
作为优选,
应用容器连接器,还用于将用户在用户界面的交互操作传递至所述应用容器实例;
应用容器实例,还用于将应用容器连接器传递过来的交互操作作用于所述应用。
作为优选,所述应用平台还包括:
应用容器模板库,存储有至少一个应用容器模板;
应用容器管理器,接收来自于应用容器连接器的请求,使用相应应用容器模版创建应用容器实例。
作为优选,使用相应应用容器模版创建应用容器实例,具体为:
所述应用容器管理器根据应用容器连接器的请求,在应用容器模板库中选择对应的应用容器模板,依据选定的应用容器模板生成对应的应用容器实例,启动并配置该应用容器实例。
作为优选,所述应用容器管理器还用于删除应用容器实例。
作为优选,
应用容器连接器,还用于根据用户在用户界面的交互操作,请求应用容器管理器启动相应的应用容器实例,并在相应的应用容器实例可用后访问该应用容器实例。
作为优选,所述用户数据集存储有多个相互独立的用户数据,各用户数据仅供与之对应的应用容器实例存取。
作为优选,所述应用容器实例由所述应用容器管理器根据所述应用容器连接器的请求创建而来。
本发明另一方面,一种应用平台,包括:
用户界面,用于实现与用户的交互;
应用容器连接器,根据用户在用户界面的交互操作,请求应用容器管理器启动相应的应用容器实例,并在相应的应用容器实例可用后访问该应用容器实例;
应用容器管理器,接收所述应用容器连接器的请求,使用相应应用容器模版创建应用容器实例;
用户数据集,存储有用户数据,供所述应用容器实例存取;
所述应用容器实例具有应用、用于连接应用容器连接器的应用连接器接口、用于连接用户数据集的用户数据接口、以及所述应用运行所需的系统基础环境和依赖;所述应用容器实例启动完成后,通过应用连接器接口接受来自应用连接器的访问,并通过用户数据接口存取与该应用相应的用户数据。
作为优选,
应用容器连接器,还用于将所述应用容器实例展示的内容反馈给用户界面;
应用容器实例,还用于将所展示的内容反馈给应用容器连接器。
作为优选,
应用容器连接器,还用于将用户在用户界面的交互操作传递至所述应用容器实例;
应用容器实例,还用于将应用容器连接器传递过来的交互操作作用于所述应用。
作为优选,使用相应应用容器模版创建应用容器实例,具体为:
所述应用容器管理器根据应用容器连接器的请求,在应用容器模板库中选择对应的应用容器模板,依据选定的应用容器模板生成对应的应用容器实例,启动并配置该应用容器实例。
作为优选,所述应用容器管理器还用于删除应用容器实例。
作为优选,所述用户数据集存储有多个相互独立的用户数据,各用户数据仅供与之对应的应用容器实例存取。
本发明还一方面,一种应用管理方法,应用于应用容器管理器,包括:
接收来自于应用容器连接器的应用容器实例启动请求;
使用相应应用容器模版创建应用容器实例;
所述应用容器实例包括:
应用;
应用连接器接口,用于连接应用容器连接器,以便将所述应用所展示的内容经应用容器连接器反馈至用户界面;
用户数据接口,用于连接用户数据集,供所述应用存取与该应用相应的用户数据;
所述应用运行所需的系统基础环境和依赖。
作为优选,使用相应应用容器模版创建应用容器实例,具体为:
所述应用容器管理器根据应用容器连接器的请求,在应用容器模板库中选择对应的应用容器模板,依据选定的应用容器模板生成对应的应用容器实例,启动并配置该应用容器实例。
作为优选,所述应用容器管理器还用于删除应用容器实例。
本发明的有益效果在于:
1、本发明应用平台中的应用容器实例将应用、该应用运行所需的专属系统基础环境和依赖进行封装,使得各应用之间保持独立,不存在现有技术中多个应用共用系统基础环境和依赖的情况,各应用容器实例启动后,仅依据各自专属的系统基础环境和依赖运行,相互独立,即使其中一个应用容器实例受到攻击,其破坏范围也仅限于该应用容器实例,而不会影响其他应用容器实例的正常运行。
2、各用户数据相互独立,且仅供与之对应的应用容器实例存取,即,不同应用容器实例只能处理本应用容器实例对应的用户数据,即使其中一个应用容器实例对应的用户数据被破坏,也不会影响其他应用容器实例对应的用户数据,更好的保护用户数据。
3、应用容器实例由应用容器管理器在用户使用前,依据请求临时创建,即根据请求动态生成应用容器实例,减少资源消耗。
4、应用容器管理器根据接收到的应用容器实例移除请求(例如,用户在用户界面上进行操作,应用容器连接器根据该操作向应用容器管理器发送应用容器实例移除请求;或者应用平台管理员监测到某一应用容器实例长时间无操作,向应用容器管理器发送应用容器实例移除请求),删除相应的应用容器实例;即,用户使用完成后销毁相应应用容器实例,一方面能够避免应用残留,另一方面能够实现自我修复:例如应用容器实例在使用过程中遭受攻击被破坏,根据应用容器实例移除请求,应用容器管理器对该应用容器实例进行删除,在下次再次启动时,重新创建一个全新的应用容器实例。
5、各应用容器实例启动后,仅依据各自专属的系统基础环境和依赖运行,相互独立,避免了现有技术中多个应用共用系统基础环境和依赖导致的应用冲突可能。
6、应用容器实例基于各自专属系统基础环境和依赖运行,能够实现同一应用不同版本的同时运行,例如Photoshop6.0、Photoshop7.0、Photoshop CS不同版本同时运行。
附图说明
图1为本发明背景技术系统架构示意图。
图2为本发明应用平台的结构示意图。
图3为本发明应用平台中应用容器实例的结构示意图。
具体实施方式
为了使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明的部分实施例,而不是全部实施例。基于本发明的实施例,本领域普通技术人员在没有付出创造性劳动的前提下所获得的所有其他实施例,都属于本发明的保护范围。
本发明摒弃现有技术常用的多个应用共用系统基础环境和依赖的结构设计,采用全新的系统架构设计一种应用平台,该应用平台中,应用容器实例将应用、应用连接器接口、用户数据接口、以及该应用运行所需的专属系统基础环境和依赖进行封装,使得各应用之间保持独立,各应用容器实例启动后,仅依据各自专属的系统基础环境和依赖运行,相互独立,即使其中一个应用容器实例受到攻击,其破坏范围也仅限于该应用容器实例,而不会影响其他应用容器实例的正常运行。所述应用容器实例是指能够承载所述应用以及所述应用运行所需的系统基础环境和依赖的实体单元,可以是以Docker为代表的基于Linux名字空间(namespaces)隔离技术形成的容器,也可以是独立的物理主机或虚拟机等。
如图2所示,本发明一种应用平台,包括用户界面201、应用容器连接器203、至少一个应用容器实例205、用户数据集200。
用户界面201,用于实现与用户的直接交互,将用户在用户界面201上执行的交互操作传递至应用容器连接器203,并从应用容器连接器203获得与前述操作相匹配的反馈。具体的,所述用户界面为所述应用平台的人机交互界面,类似于Windows系统的操作界面,可供用户进行操作,执行计算机命令,例如启动某一应用。
应用容器连接器203,作为用户界面201和应用容器实例205的桥梁,一方面根据用户在用户界面201上执行的交互操作(例如请求访问某一链接),访问应用容器实例205;另一方面将所述应用容器实例205展示的内容反馈给用户界面201,作为用户通过用户界面201进行交互操作的响应。
应用容器实例205,如图3所示,具有应用205-3、用于连接应用容器连接器203的应用连接器接口205-1、用于连接用户数据集200的用户数据接口205-7、以及所述应用205-3运行所需的系统基础环境和依赖205-5;所述系统基础环境和依赖205-5为该应用205-3专属的基础环境和依赖,仅需满足该应用的使用即可,即满足该应用使用前提下的最精简版本,以Windows操作系统为例,运行某些游戏时需要安装有DirectX组件,中文环境下需要安装有中文语言包,输入中文还需要有中文输入法,如果只使用英文版的记事本应用,DirectX组件、中文语言包和中文输入法都不需要。一方面避免应用容器实例205本身占用空间过大,另一方面在应用不升级的情况下,无需对其系统基础环境和依赖进行升级,保证应用容器实例的稳定性,解决了现有技术中随着应用的增多,共用系统基础环境和依赖需要不断进行升级以适应所有的应用(不同应用对系统基础环境和依赖有不同的要求),导致该共用系统基础环境和依赖变得臃肿的问题。
所述应用容器实例205启动(应用容器实例启动后自动运行所述应用)完成后,通过应用连接器接口205-1接受来自应用容器连接器203的访问,并通过用户数据接口205-7存取与该应用相应的用户数据,然后将所展示的内容反馈给所述应用容器连接器203。所述应用容器实例205的启动可以采用以下几种方式:一种为,所述应用容器实例205由应用平台管理员配置完成后即启动,此时,应用容器连接器203可以直接访问应用容器实例205;另一种为,所述应用容器实例205配置完成后根据接收到的启动请求信号进行启动(该启动请求信号来自于应用容器连接器203或者应用平台管理员),此时,在相应的应用容器实例205可用后,由应用容器连接器203访问该应用容器实例。
用户数据集200,存储有用户数据,供所述应用容器实例205存取。为了更好的保护用户数据,本领域技术人员还可以将用户数据集200中的用户数据设计为多个相互独立的用户数据,各用户数据仅供与之对应的应用容器实例205存取。即,不同应用容器实例只能处理本应用容器实例对应的用户数据,即使其中一个应用容器实例对应的用户数据被破坏,也不会影响其他应用容器实例对应的用户数据,从而避免现有技术中各个应用都能操作用户数据,容易导致数据破坏泄露的问题。
作为本实施例的一种优选方案,
应用容器连接器203还用于将用户在用户界面201的交互操作传递至所述应用容器实例205;应用容器实例205还用于将应用容器连接器203传递过来的交互操作作用于所述应用205-3。
作为本实施例另一种优选实施方案,所述应用平台还包括:
应用容器模板库209,存储有至少一个应用容器模板;
应用容器管理器207,被配置为接收来自于应用容器连接器203的请求(例如请求启动某一应用),使用相应应用容器模版创建应用容器实例;具体的,所述应用容器管理器207根据应用容器连接器203的请求,在应用容器模板库209中选择对应的应用容器模板,依据选定的应用容器模板生成对应的应用容器实例(本例中,应用容器模板和应用容器实例的关系类似于Docker应用容器引擎中 Docker 镜像和 Docker 容器之间的关系),启动并配置该应用容器实例。所述的至少一个应用容器实例由应用平台管理员配置,或者由所述应用容器管理器207创建。
所述应用容器管理器207还被配置为,根据接收到的应用容器实例移除请求(例如,用户在用户界面上进行操作,应用容器连接器根据该操作向应用容器管理器发送应用容器实例移除请求;或者应用平台管理员监测到某一应用容器实例长时间无操作,向应用容器管理器发送应用容器实例移除请求),删除相应的应用容器实例;即,用户在使用完成后销毁相应应用容器实例,一方面能够避免应用残留,另一方面能够实现自我修复:例如应用容器实例在使用过程中遭受攻击被破坏,根据应用容器实例移除请求,应用容器管理器对该应用容器实例进行删除,在下次再次启动时,重新创建一个全新的、未被攻击破坏的应用容器实例。
在本优选的实施方案中,应用容器连接器203还用于根据用户在用户界面201的交互操作,请求应用容器管理器207启动相应的应用容器实例,并在相应的应用容器实例可用后访问该应用容器实例。应用容器管理器207接收到该请求后,按照前述方式创建应用容器实例。
为了便于理解,下面举例对本发明应用平台的实际应用过程进行说明:
用户通过用户界面201进行操作,请求启动某一应用(例如谷歌浏览器、WPS、Photoshop等);例如,用户通过双击用户界面上Photoshop的快捷方式,请求启动Photoshop应用;
应用容器连接器203根据用户在用户界面201上执行的交互操作,访问该应用容器实例(所述应用容器实例由应用平台管理员配置或者由所述应用容器管理器创建,依据应用容器连接器的请求而启动);本例中,该应用容器实例具有Photoshop应用、用于连接应用容器连接器的应用连接器接口、用于连接用户数据集的用户数据接口、以及Photoshop应用运行所需的系统基础环境和依赖;所述应用容器实例205启动完成后,通过应用连接器接口205-1接受来自应用容器连接器203的访问,并通过用户数据接口205-7存取与该应用相应的用户数据,然后将所展示的内容反馈给所述应用容器连接器203;应用容器连接器203将所述应用容器实例205展示的内容反馈给用户界面201,作为用户通过用户界面201请求启动应用容器实例的响应。
在用户请求启动的应用所对应的应用容器实例并未被应用平台管理员配置,也未由所述应用容器管理器207创建的情况下,应用容器连接器203根据用户在用户界面201上执行的交互操作,请求应用容器管理器207启动相应的应用容器实例;例如,应用容器连接器203根据用户在用户界面201上执行的交互操作,检查应用平台是否已配置该交互操作请求启动的应用所对应的应用容器实例,如若未配置,则请求应用容器管理器207启动相应的应用容器实例;
应用容器管理器207接收所述应用容器连接器203的请求,在应用容器模板库209中选择对应的应用容器模板,依据选定的应用容器模板生成对应的应用容器实例,启动并配置该应用容器实例;应用容器管理器207将该应用容器实例启动并配置完成的信息传递给应用容器连接器203;
应用容器连接器203接收到应用容器实例启动并配置完成的信息后,访问该应用容器实例;
所述应用容器实例205通过应用连接器接口205-1接受来自应用容器连接器203的访问,并通过用户数据接口205-7存取与该应用相应的用户数据,然后将所展示的内容反馈给所述应用容器连接器203,由应用容器连接器203将所述应用容器实例展示的内容反馈给用户界面201,作为用户通过用户界面201请求启动应用容器实例的响应。
本发明另一种应用平台,包括用户界面201、应用容器连接器203、应用容器管理器207和用户数据集200。
用户界面201,用于实现与用户的直接交互,将用户在用户界面201上执行的交互操作传递至应用容器连接器203,并从应用容器连接器203获得与前述操作相匹配的反馈。具体的,所述用户界面为所述应用平台的人机交互界面,类似于Windows系统的操作界面,可供用户进行操作,执行计算机命令,例如启动某一应用。
应用容器连接器203,一方面根据用户在用户界面201上执行的交互操作(例如请求启动某一应用,或者请求访问某一链接),请求应用容器管理器207启动相应的应用容器实例,并在相应的应用容器实例可用后访问该应用容器实例;另一方面将所述应用容器实例205展示的内容反馈给用户界面201,作为用户通过用户界面请求启动应用容器实例的响应。
应用容器管理器207被配置为,接收来自于应用容器连接器203的请求(例如请求启动某一应用),使用相应应用容器模版创建应用容器实例;具体的,所述应用容器管理器207根据应用容器连接器203的请求,在应用容器模板库209中选择对应的应用容器模板,依据选定的应用容器模板生成对应的应用容器实例(本例中,应用容器模板和应用容器实例的关系类似于Docker应用容器引擎中 Docker 镜像和 Docker 容器之间的关系),启动并配置该应用容器实例。
如图3所示,所述应用容器实例205具有应用205-3、用于连接应用容器连接器203的应用连接器接口205-1、用于连接用户数据集200的用户数据接口205-7、以及所述应用205-3运行所需的系统基础环境和依赖205-5;所述系统基础环境和依赖205-5为该应用205-3专属的基础环境和依赖,仅需满足该应用的使用即可,即满足该应用使用前提下的最精简版本,以Windows操作系统为例,运行某些游戏时需要安装有DirectX组件,中文环境下需要安装有中文语言包,输入中文还需要有中文输入法,如果只使用英文版的记事本应用,DirectX组件、中文语言包和中文输入法都不需要。一方面避免应用容器实例205本身占用空间过大,另一方面在应用不升级的情况下,无需对其系统基础环境和依赖进行升级,保证应用容器实例的稳定性,解决了现有技术中随着应用的增多,共用系统基础环境和依赖需要不断进行升级以适应所有的应用(不同应用对系统基础环境和依赖有不同的要求),导致该共用系统基础环境和依赖变得臃肿的问题。所述应用容器实例205启动(应用容器实例启动后自动运行所述应用)完成后,通过应用连接器接口205-1接受来自应用容器连接器203的访问,并通过用户数据接口205-7存取与该应用相应的用户数据,然后将所展示的内容反馈给所述应用容器连接器203。
用户数据集200,存储有用户数据,供所述应用容器实例205存取。为了更好的保护用户数据,本领域技术人员还可以将用户数据集200中的用户数据设计为多个相互独立的用户数据,各用户数据仅供与之对应的应用容器实例205存取。即,不同应用容器实例只能处理本应用容器实例对应的用户数据,即使其中一个应用容器实例对应的用户数据被破坏,也不会影响其他应用容器实例对应的用户数据,从而避免现有技术中各个应用都能操作用户数据,容易导致数据破坏泄露的问题。
作为本实施例的一种优选方案,
应用容器连接器203还用于将用户在用户界面201的交互操作传递至所述应用容器实例205;应用容器实例205还用于将应用容器连接器203传递过来的交互操作作用于所述应用205-3。
作为本实施例另一种优选实施方案,所述应用容器管理器207还被配置为,根据接收到的应用容器实例移除请求(例如,用户在用户界面上进行操作,应用容器连接器根据该操作向应用容器管理器发送应用容器实例移除请求;或者应用平台管理员监测到某一应用容器实例长时间无操作,向应用容器管理器发送应用容器实例移除请求),删除相应的应用容器实例;即,用户在使用完成后销毁相应应用容器实例,一方面能够避免应用残留,另一方面能够实现自我修复:例如应用容器实例在使用过程中遭受攻击被破坏,根据应用容器实例移除请求,应用容器管理器对该应用容器实例进行删除,在下次再次启动时,重新创建一个全新的、未被攻击破坏的应用容器实例。
为了便于理解,下面举例对本发明应用平台的实际应用过程进行说明:
用户通过用户界面201进行操作,请求启动某一应用(例如谷歌浏览器、WPS、Photoshop等);例如,用户通过双击用户界面上谷歌浏览器的快捷方式,请求启动谷歌浏览器应用;
应用容器连接器203根据用户在用户界面201上执行的交互操作,请求应用容器管理器207启动相应的应用容器实例205;
应用容器管理器207接收所述应用容器连接器203的请求,在应用容器模板库中选择对应的应用容器模板,依据选定的应用容器模板生成对应的应用容器实例,启动并配置该应用容器实例;本例中,该应用容器实例具有谷歌浏览器应用、用于连接应用容器连接器的应用连接器接口、用于连接用户数据集的用户数据接口、以及谷歌浏览器应用运行所需的系统基础环境和依赖;所述应用容器实例205启动完成后,应用容器管理器207将该应用容器实例启动并配置完成的信息传递给应用容器连接器203;
应用容器连接器203接收到应用容器实例启动并配置完成的信息后,访问该应用容器实例;
所述应用容器实例205通过应用连接器接口205-1接受来自应用容器连接器203的访问,并通过用户数据接口205-7存取与该应用相应的用户数据,然后将所展示的内容反馈给所述应用容器连接器203;
应用容器连接器203将所述应用容器实例205展示的内容反馈给用户界面201,作为用户通过用户界面201请求启动应用容器实例的响应。
本发明还提供一种应用管理方法,应用于应用容器管理器207,包括:
接收来自于应用容器连接器203的应用容器实例启动请求;例如请求启动某一应用,或者请求访问某一链接(实质请求启动浏览器应用);
使用相应应用容器模版创建应用容器实例;具体的,所述应用容器管理器207根据应用容器连接器203的请求,在应用容器模板库209中选择对应的应用容器模板,依据选定的应用容器模板生成对应的应用容器实例(本例中,应用容器模板和应用容器实例的关系类似于Docker应用容器引擎中 Docker 镜像和 Docker 容器之间的关系),启动并配置该应用容器实例;
所述应用容器实例205包括:
应用205-3;
应用连接器接口205-1,用于连接应用容器连接器203,以便将所述应用205-3所展示的内容经应用容器连接器203反馈至用户界面201;
用户数据接口205-7,用于连接用户数据集200,供所述应用205-3存取与该应用相应的用户数据;
所述应用运行所需的系统基础环境和依赖205-5。
作为本实施例的一种优选实施方案,所述方法还包括:
根据接收到的应用容器实例移除请求(例如,应用平台管理员监测到某一应用容器实例长时间无操作,向应用容器管理器发送应用容器实例移除请求),删除相应的应用容器实例;即,用户在使用完成后销毁相应应用容器实例,一方面能够避免应用残留,另一方面能够实现自我修复:例如应用容器实例在使用过程中遭受攻击被破坏,根据应用容器实例移除请求,应用容器管理器对该应用容器实例进行删除,在下次再次启动时,重新创建一个全新的、未被攻击破坏的应用容器实例。
上述各个实施方案中的举例是为了进一步帮助理解本发明的方案,并非是对本发明技术方案的限制,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (18)

1.一种应用平台,其特征在于包括:
用户界面,用于实现与用户的交互;
应用容器连接器,根据用户在用户界面的交互操作,访问应用容器实例;
至少一个应用容器实例,具有应用、用于连接应用容器连接器的应用连接器接口、用于连接用户数据集的用户数据接口、以及所述应用运行所需的系统基础环境和依赖;启动完成后,通过应用连接器接口接受来自应用容器连接器的访问,并通过用户数据接口存取与该应用相应的用户数据;
用户数据集,存储有用户数据,供所述应用容器实例存取。
2.根据权利要求1所述的应用平台,其特征在于:
应用容器连接器,还用于将所述应用容器实例展示的内容反馈给用户界面;
应用容器实例,还用于将所展示的内容反馈给应用容器连接器。
3.根据权利要求1所述的应用平台,其特征在于:
应用容器连接器,还用于将用户在用户界面的交互操作传递至所述应用容器实例;
应用容器实例,还用于将应用容器连接器传递过来的交互操作作用于所述应用。
4.根据权利要求1所述的应用平台,其特征在于还包括:
应用容器模板库,存储有至少一个应用容器模板;
应用容器管理器,接收来自于应用容器连接器的请求,使用相应应用容器模版创建应用容器实例。
5.根据权利要求4所述的应用平台,其特征在于,使用相应应用容器模版创建应用容器实例,具体为:
所述应用容器管理器根据应用容器连接器的请求,在应用容器模板库中选择对应的应用容器模板,依据选定的应用容器模板生成对应的应用容器实例,启动并配置该应用容器实例。
6.根据权利要求4所述的应用平台,其特征在于:所述应用容器管理器还用于删除应用容器实例。
7.根据权利要求4所述的应用平台,其特征在于:
应用容器连接器,还用于根据用户在用户界面的交互操作,请求应用容器管理器启动相应的应用容器实例,并在相应的应用容器实例可用后访问该应用容器实例。
8.根据权利要求1所述的应用平台,其特征在于:所述用户数据集存储有多个相互独立的用户数据,各用户数据仅供与之对应的应用容器实例存取。
9.根据权利要求1所述的应用平台,其特征在于:所述应用容器实例由权利要求4所述应用容器管理器根据所述应用容器连接器的请求创建而来。
10.一种应用平台,其特征在于包括:
用户界面,用于实现与用户的交互;
应用容器连接器,根据用户在用户界面的交互操作,请求应用容器管理器启动相应的应用容器实例,并在相应的应用容器实例可用后访问该应用容器实例;
应用容器管理器,接收所述应用容器连接器的请求,使用相应应用容器模版创建应用容器实例;
用户数据集,存储有用户数据,供所述应用容器实例存取;
所述应用容器实例具有应用、用于连接应用容器连接器的应用连接器接口、用于连接用户数据集的用户数据接口、以及所述应用运行所需的系统基础环境和依赖;所述应用容器实例启动完成后,通过应用连接器接口接受来自应用连接器的访问,并通过用户数据接口存取与该应用相应的用户数据。
11.根据权利要求10所述的应用平台,其特征在于:
应用容器连接器,还用于将所述应用容器实例展示的内容反馈给用户界面;
应用容器实例,还用于将所展示的内容反馈给应用容器连接器。
12.根据权利要求10所述的应用平台,其特征在于:
应用容器连接器,还用于将用户在用户界面的交互操作传递至所述应用容器实例;
应用容器实例,还用于将应用容器连接器传递过来的交互操作作用于所述应用。
13.根据权利要求10所述的应用平台,其特征在于,使用相应应用容器模版创建应用容器实例,具体为:
所述应用容器管理器根据应用容器连接器的请求,在应用容器模板库中选择对应的应用容器模板,依据选定的应用容器模板生成对应的应用容器实例,启动并配置该应用容器实例。
14.根据权利要求10所述的应用平台,其特征在于:所述应用容器管理器还用于删除应用容器实例。
15.根据权利要求10所述的应用平台,其特征在于:所述用户数据集存储有多个相互独立的用户数据,各用户数据仅供与之对应的应用容器实例存取。
16.一种应用管理方法,应用于应用容器管理器,其特征在于包括:
接收来自于应用容器连接器的应用容器实例启动请求;
使用相应应用容器模版创建应用容器实例;
所述应用容器实例包括:
应用;
应用连接器接口,用于连接应用容器连接器,以便将所述应用所展示的内容经应用容器连接器反馈至用户界面;
用户数据接口,用于连接用户数据集,供所述应用存取与该应用相应的用户数据;
所述应用运行所需的系统基础环境和依赖。
17.根据权利要求16所述的应用管理方法,其特征在于,使用相应应用容器模版创建应用容器实例,具体为:
所述应用容器管理器根据应用容器连接器的请求,在应用容器模板库中选择对应的应用容器模板,依据选定的应用容器模板生成对应的应用容器实例,启动并配置该应用容器实例。
18.根据权利要求16所述的应用管理方法,其特征在于:所述应用容器管理器还用于删除应用容器实例。
CN202110851848.5A 2021-07-27 2021-07-27 应用平台及应用管理方法 Active CN113296868B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202110851848.5A CN113296868B (zh) 2021-07-27 2021-07-27 应用平台及应用管理方法
US17/814,841 US11836509B2 (en) 2021-07-27 2022-07-26 Application platform and application management method
US18/487,147 US20240036886A1 (en) 2021-07-27 2023-10-16 Application platform and application management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110851848.5A CN113296868B (zh) 2021-07-27 2021-07-27 应用平台及应用管理方法

Publications (2)

Publication Number Publication Date
CN113296868A CN113296868A (zh) 2021-08-24
CN113296868B true CN113296868B (zh) 2021-11-23

Family

ID=77331291

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110851848.5A Active CN113296868B (zh) 2021-07-27 2021-07-27 应用平台及应用管理方法

Country Status (2)

Country Link
US (1) US11836509B2 (zh)
CN (1) CN113296868B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114546667A (zh) * 2022-04-25 2022-05-27 杭州筋斗腾云科技有限公司 即时办公空间的管理方法、系统及计算机设备

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7519814B2 (en) * 2003-09-15 2009-04-14 Trigence Corp. System for containerization of application sets
EP2746936A4 (en) * 2011-10-24 2015-03-11 Huawei Tech Co Ltd METHOD AND SYSTEM FOR STARTING AN APPLICATION IN A LINUX CONTAINER
US9003141B2 (en) * 2011-11-14 2015-04-07 Ca, Inc. Enhanced software application platform
US10789627B1 (en) * 2013-05-20 2020-09-29 Kabam, Inc. System and method for pricing of virtual containers determined stochastically upon activation
WO2016137139A1 (en) * 2015-02-26 2016-09-01 Samsung Electronics Co., Ltd. Method and device for managing item
CN105099706A (zh) * 2015-08-25 2015-11-25 华为技术有限公司 一种数据通信方法、用户设备和服务器
CN105763545B (zh) * 2016-02-04 2019-05-07 新华三技术有限公司 一种byod方法及装置
CN106199696B (zh) * 2016-06-29 2019-01-18 中国石油天然气股份有限公司 地震数据处理系统和方法
US10871995B2 (en) * 2016-09-29 2020-12-22 Amazon Technologies, Inc. Managed container instances
CN108108239A (zh) * 2017-12-29 2018-06-01 咪咕文化科技有限公司 一种业务功能的提供方法、装置及计算机可读存储介质
US10628599B2 (en) * 2018-02-14 2020-04-21 Fmr Llc Generating and deploying customized software containers
CN108664290B (zh) * 2018-05-17 2024-02-02 中国平安人寿保险股份有限公司 一种应用程序配置方法、装置、电子设备及存储介质
CN109062655B (zh) * 2018-06-05 2021-05-14 腾讯科技(深圳)有限公司 一种容器化云平台及服务器
CN109117265A (zh) * 2018-07-12 2019-01-01 北京百度网讯科技有限公司 在集群中调度作业的方法、装置、设备及存储介质
US10877774B2 (en) * 2018-07-17 2020-12-29 Sap Se Cloud integration of application runtime
CN109800061B (zh) * 2019-02-27 2023-04-25 上海美亦健健康管理有限公司 一种嵌入式软件多实例虚拟化方法
US11729248B2 (en) * 2019-11-07 2023-08-15 Microsoft Technology Licensing, Llc Web application component migration to a cloud computing system
US11222164B2 (en) * 2019-11-22 2022-01-11 International Business Machines Corporation Adding custom content to an existing documentation suite
CN111061540B (zh) * 2019-11-27 2023-05-23 北京计算机技术及应用研究所 一种基于容器技术的应用虚拟化方法及系统
CN111274001B (zh) * 2020-02-13 2024-01-16 广东省工业边缘智能创新中心有限公司 微服务管理平台
US20220027778A1 (en) * 2020-07-22 2022-01-27 International Business Machines Corporation Runtime environment determination for software containers
CN112698873A (zh) * 2020-12-29 2021-04-23 中车大连机车研究所有限公司 一种基于Docker技术的轨道交通用系统运行控制方法及系统
CN112511569B (zh) * 2021-02-07 2021-05-11 杭州筋斗腾云科技有限公司 网络资源访问请求的处理方法、系统及计算机设备

Also Published As

Publication number Publication date
US11836509B2 (en) 2023-12-05
US20230030994A1 (en) 2023-02-02
CN113296868A (zh) 2021-08-24

Similar Documents

Publication Publication Date Title
US9635138B2 (en) Client-server input method editor architecture
US6594757B1 (en) Remote BIOS upgrade of an appliance server by rebooting from updated BIOS that has been downloaded into service partition before flashing programmable ROM
US6862735B1 (en) Mechanism by which platform independent software may bind to and access platform dependent software
US6807559B1 (en) System and method for applet management
US8056072B2 (en) Rebootless display driver upgrades
CN113312037B (zh) 应用于微服务的数据处理方法、装置、设备和存储介质
US20040098724A1 (en) Associating a native resource with an application
EP2765508A1 (en) Installation method and installation device for application software
CN1866212A (zh) 在引导和关机期间显示图象
US20070169005A1 (en) Purpose domain for low overhead virtual machines
EP1449070A1 (en) System and method for isolating applications from each other
JP2009230549A (ja) 情報処理装置、情報処理方法及びコンピュータプログラム
CN111061540A (zh) 一种基于容器技术的应用虚拟化方法及系统
CN114586005B (zh) 用于在浏览器内托管另一浏览器的系统和方法
CN113296868B (zh) 应用平台及应用管理方法
CN107800779B (zh) 优化负载均衡的方法及系统
US20200301721A1 (en) Reusable runtime environments
US9104544B1 (en) Mitigating eviction by maintaining mapping tables
CN111078367A (zh) 一种请求处理方法、装置、电子设备和存储介质
US9804872B1 (en) Method for emulation of a virtual OS bookmark on a host desktop
US7945915B1 (en) Efficient operating system interposition mechanism
JP6205013B1 (ja) アプリケーション利用システム
US7278144B2 (en) System and method for managing operating system option values
US20240036886A1 (en) Application platform and application management method
US7254817B2 (en) Apparatus and methods for integrating APIs for program execution management

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