CN110795205B - 基于软件容器提供云端服务的系统及方法 - Google Patents

基于软件容器提供云端服务的系统及方法 Download PDF

Info

Publication number
CN110795205B
CN110795205B CN201810933106.5A CN201810933106A CN110795205B CN 110795205 B CN110795205 B CN 110795205B CN 201810933106 A CN201810933106 A CN 201810933106A CN 110795205 B CN110795205 B CN 110795205B
Authority
CN
China
Prior art keywords
version
function
functions
cloud service
software container
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
CN201810933106.5A
Other languages
English (en)
Other versions
CN110795205A (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.)
Quanta Computer Inc
Original Assignee
Quanta Computer Inc
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 Quanta Computer Inc filed Critical Quanta Computer Inc
Publication of CN110795205A publication Critical patent/CN110795205A/zh
Application granted granted Critical
Publication of CN110795205B publication Critical patent/CN110795205B/zh
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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • H04L41/5051Service on demand, e.g. definition and deployment of services in real time
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • 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/45562Creating, deleting, cloning virtual machine instances
    • 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/45575Starting, stopping, suspending or resuming virtual machine instances
    • 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/45595Network integration; Enabling network access in virtual machine instances
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0895Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Stored Programmes (AREA)

Abstract

一种云端服务系统,其具有硬件资源、储存装置、以及控制器。硬件资源安装有特定系统且使软件容器被实体化以运行云端服务。储存装置储存包括多个函式的函式库,每一函式对应至安装系统的个别版本。控制器根据建置需求决定对应到安装系统的第一版本,决定函式库中的函式是否有对应第一版本的函式,以及在函式库中的函式没有对应第一版本的函式时,根据函式库中的函式的选用历史记录来决定其中一个函式以用于软件容器的实体化。

Description

基于软件容器提供云端服务的系统及方法
技术领域
本申请主要涉及云端服务技术,特别涉及一种基于软件容器(softwarecontainer)提供云端服务的系统及方法。
背景技术
近年来,随着网络逐渐普及化,网络存取技术乃至云端服务得以迅速发展。通过遍及的网络,可整合分散的远端运算装置以提供各式资源及服务。例如:使用者可通过桌上型计算机、笔记型计算机、平版计算机、智能型手机、或任何具备网络通信功能的运算装置去读取储存在远端伺服器的电子邮件,或将运算需求转送至远端伺服器执行。此外,通过网络连结,远端伺服器更可扮演云端伺服器的角色,以供数据备份及云端存取的功能、或提供云端服务的功能,而实现云端服务的关键则是虚拟化技术,如:虚拟机器(Virtual Machine,VM)技术、以及软件容器(software container)技术。
以虚拟机器技术为例,云端服务的应用程序是由底层主机(Host)(如:云端伺服器)上的虚拟机器所提供,这些应用程序,是在开发人员(Development Team)发布完成后,转交给维运人员(Operation Team)并在虚拟机器上运行。
上述环境建置的流程繁复且常需因应各种需求而进行更新,举例来说,环境建置的流程包括:底层主机的建置、虚拟机器的建置、数据库的设定、以及网络设备的设定等,而更新的需求包括:对新增的虚拟化主机进行管控、对虚拟机器的作业系统进行差异化建置、以及不同版本的数据库的语法不同、以及网络设备的软/固件更新后的设定方式不同等。
一般来说,开发人员以及维运人员是独立分工的角色,然而,为了加速上述环境建置的流程以及更新的需求,开发维运合一(DevOps)的概念于焉而生,其目的在于有效率地整合开发人员以及维运人员,让这两个角色各自的工作流程可以更流畅地连结在一起,从而提升云端伺服器交付/维护云端服务的效率。
相较于虚拟机器技术,以微服务为诉求的软件容器技术提供了更轻量化的云端服务,软件容器除了比虚拟机器的执行效率更高且更省存储器空间之外,通过软件容器可实现建置环境的一致化,更易于云端服务的上线以及后续更新,因此,更为符合开发维运合一的需求。
然而,在开发维运合一的架构上提供云端服务时,常会因为快速的更新需求而面临到许多问题。例如:维运人员对底层主机的软硬件进行更新,而已上线的服务若是不支援新版的软硬件,将导致服务异常,可能损害服务层级协议(Service Level Agreement,SLA)与商誉;或者,欲上线的新云端服务需要更新底层主机的软硬件,而更新底层主机的软硬件以及建置测试环境将导致提供云端服务的时程延宕;或者,当底层主机的其中一个软硬件版本更新时,整个管控系统需一并更新,频繁的更新将造成维运人员负担;或者,开发人员必须针对底层主机的每个软硬件的版本进行核心(kernel)开发,即使版本更新后设定的方法无异动或仅需少许异动,都将增加开发人员在版本控管的负担。
发明内容
为了解决上述问题,本申请提出一种云端服务系统以及基于软件容器提供云端服务的方法。
本申请所述的云端服务系统包括硬件资源、储存装置、以及控制器。上述硬件资源安装有系统,且使软件容器被实体化(instantiated)以运行云端服务。上述储存装置系用以储存包括多个函式的函式库,其中上述函式的每一个对应至上述系统的个别版本。上述控制器系用以根据建置需求决定对应到上述系统的第一版本,决定上述多个函式中是否有对应上述第一版本的函式,以在上述多个函式中没有对应上述第一版本的函式时,根据上述多个函式的选用历史记录来决定上述多个函式的一个以用于上述软件容器的实体化。
上述控制器还在上述多个函式中有对应上述第一版本的函式时,将对应上述第一版本的函式用于上述软件容器的实体化。
此外,上述控制器还在上述硬件资源将上述软件容器实体化之前,将上述系统的第一系统设定进行备份,在上述硬件资源将上述软件容器实体化之后,决定上述系统的第二系统设定,以及在上述第一系统设定与上述第二系统设定不同时,输出消息以通知上述云端服务系统的管理者。
本申请所述的基于软件容器提供云端服务的方法适用于云端服务系统,且包括以下步骤:提供硬件资源,其安装有系统,且使软件容器被实体化以运行云端服务;根据建置需求决定对应到上述系统的第一版本;决定函式库中是否有对应上述第一版本的函式;以及在上述函式库中没有对应上述第一版本的函式时,根据上述函式库中的多个函式的选用历史记录来决定上述多个函式的一个以用于上述软件容器的实体化。
此外,上述基于软件容器提供云端服务的方法还进一步包括以下步骤:在上述硬件资源将上述软件容器实体化之前,将上述系统的第一系统设定进行备份;在上述硬件资源将上述软件容器实体化之后,决定上述系统的第二系统设定;以及在上述第一系统设定与上述第二系统设定不同时,输出消息以通知上述云端服务系统的管理者。
特别是,上述选用历史记录包含以下信息:每个函式被选用的次数、以及被选用距今最近的天数。
上述系统包括以下至少一者:超管理系统(Hypervisor);虚拟机器管理系统(System Center Virtual Machine Manager,SCVMM);数据库系统;防火墙系统;以及负载平衡系统。
关于本申请其他附加的特征与优点,本领域技术人员在不脱离本申请的精神和范围的情况下,应当可根据本申请实施方法中所公开的云端服务系统、以及基于软件容器提供云端服务的方法做些许的更动与润饰而得到。
附图说明
图1是根据本申请实施例所述的云端服务环境的示意图。
图2是根据本申请实施例所述的云端服务系统140的硬件架构示意图。
图3是根据本申请实施例所述基于软件容器提供云端服务的方法的软件架构图。
图4A、图4B是根据本申请实施例所述基于软件容器提供云端服务的方法流程图。
符号说明
1000 云端服务环境
110、120 用户计算装置
130 网际网络
140 云端服务系统
141 通信装置
142 硬件资源
143 控制器
144 储存装置
145 输入输出装置
150 开发人员计算装置
160 维运人员计算装置
310 执行模块
320 备份模块
330 决策模块
340 比对模块
350 通知模块
S401~S413 步骤编号
具体实施方式
本章节所叙述的是实施本申请的较佳方式,目的在于说明本申请的精神而非用以限定本申请的保护范围,应当可理解的是,使用在本说明书中的「包含」、「包括」等词,是用以表示存在特定的技术特征、数值、方法步骤、作业处理、元件以及/或组件,但并不排除可加上更多的技术特征、数值、方法步骤、作业处理、元件、组件,或以上的任意组合。
图1是根据本申请实施例所述的云端服务环境的示意图。
云端服务环境1000包括用户计算装置110、120、网际网络130、云端服务系统140、开发人员计算装置150、以及维运人员计算装置160。
用户计算装置110、120可通过网际网络130连接到云端服务系统140以存取已上线的云端服务,或者,用户计算装置110、120可通过网际网络130传送建置需求到云端服务系统140。举例来说,用户计算装置110、120可个别为具备网络通信功能的计算装置,如:笔记型计算机、桌上型计算机、智能型手机、或平板计算机等。
云端服务系统140可包括多个硬件资源(如:主机),每一硬件资源可安装至少一个系统(包括:超管理系统(Hypervisor)、虚拟机器管理系统(System Center VirtualMachine Manager,SCVMM)、数据库系统、以及网络设备系统(如:防火墙系统、负载平衡系统)等),且用以使软件容器被实体化(instantiated)以运行云端服务。其中硬件资源由维运人员通过维运人员计算装置160所管控。
另外,云端服务系统140可根据接收到的建置需求(如:用户计算装置110、120所传送的代管请求、或维运人员计算装置160所传送的系统更新请求)决定对应的系统及系统版本,然后根据系统及系统版本进行环境建置作业。
在实施例,当建置需求为用户计算装置110、120的代管请求时,云端服务系统140可在环境建置作业完成后,将服务运行时对外的发布连结传送给用户计算装置110或120。
更进一步地,云端服务系统140可根据环境建置作业的结果通知开发人员计算装置150、以及/或维运人员计算装置160。举例来说,当云端服务系统140中没有代管请求所对应的系统及系统版本、且现有的系统及系统版本也无法适用时,可通知开发人员计算装置150进行对应系统版本的函式开发并将函式包装成映像档(image),同时通知维运人员计算装置160使用容器管理平台进行函式库更新。
图2是根据本申请实施例所述的云端服务系统140的硬件架构示意图。
云端服务系统140包括通信装置141、硬件资源142、控制器143、储存装置144、以及输入输出装置145。
通信装置141用以提供连线至网际网络130,并通过网际网络130连接到用户计算装置110、120。通信装置141可依循至少一个特定通信技术提供有线或无线网络连线。
有线网络可以是:乙太网(Ethernet)、非对称数字用户线路(Asymmetric DigitalSubscriber Line,ADSL)网络、光纤(Optical)网络、双绞线(Twisted Pair)网络、或同轴电缆(Coaxial cable)网络。
无线网络可以是:无线局域网络(Wireless Local Area Network,WLAN)或无线广域网络(Wireless Wide Area Network,WWAN),其中无线局域网络可使用无线保真(Wireless Fidelity,Wi-Fi)技术、蓝牙技术、或群蜂技术所建立;无线广域网络可以是:全球移动通信系统(Global System for Mobile communications,GSM)网络、通用封包无线服务(General Packet Radio Service,GPRS)网络、全球增强型数据传输(Enhanced Datarates for Global Evolution,EDGE)网络、宽频分码多工存取(Wideband Code DivisionMultiple Access,WCDMA)网络、分码多工存取-2000(Code Division MultipleAccess2000,CDMA-2000)网络、分时同步分码多工存取(Time Division-Synchronous CodeDivision Multiple Access,TD-SCDMA)网络、全球互通微波存取(WorldwideInteroperability for Microwave Access,WiMAX)网络、长期演进(Long TermEvolution,LTE)网络、长期演进强化(LTE Advanced,LTE-A)网络、或分时长期演进(Time-Division LTE,TD-LTE)网络等。
硬件资源142可为主机,如:工作站伺服器(或可称为云端伺服器),每一主机可包括数据处理及运算的基本元件(如:处理器、存储器、以及/或硬盘等),且可安装至少一个软件或硬件系统,包括:超管理系统、虚拟机器管理系统、数据库系统、以及网络设备系统(如:防火墙系统、负载平衡系统)等。
控制器143可为通用处理器、微处理器(Micro Control Unit,MCU)、应用处理器(Application Processor,AP)、或数字信号处理器(Digital Signal Processor,DSP)等,其可包括各式电路逻辑,用以提供数据处理及运算的功能、控制通信装置141的操作以提供网络连结、管理硬件资源142的配置、从储存装置144读取或储存数据、以及通过输入输出装置145传送通知给开发人员计算装置150及维运人员计算装置160、或接收来自维运人员计算装置160的建置需求。
特别是,控制器143用以协调控制通信装置141、硬件资源142、储存装置144、以及输入输出装置145的操作,以执行本申请的基于软件容器提供云端服务的方法。
储存装置144为非暂态(non-transitory)的计算机可读取储存媒体,例如:随机存取存储器(Random Access Memory,RAM)、快闪存储器,或硬盘、光盘,或上述媒体的任意组合,用以储存函式库、指令集、应用及/或通信协定的程序码等,其中函式库包括了多个函式,每个函式个别对应到不同系统及系统版本,例如:函式1对应到版本v1.0的虚拟机器管理系统、函式2对应到版本v2.0的虚拟机器管理系统、函式3对应到版本v3.0的虚拟机器管理系统、函式4对应到版本v1.0的数据库系统、函式5对应到版本v2.0的数据库系统、函式6对应到版本v1.0的防火墙系统、以及函式7对应到版本v1.0的负载平衡系统等。
特别是,储存装置144还储存有本申请的基于软件容器提供云端服务的方法的指令集或程序码,由控制器143载入并执行。
输入输出装置145可包括一个或多个通信端口、按钮、键盘、鼠标、触碰板、视频镜头、麦克风、显示屏幕(例如:液晶显示器、发光二极体显示器、或电子纸显示器等)、以及/或喇叭等,用以作为人机介面与管理者(如:开发人员及维运人员)互动。
应当可理解的是,图2所示的元件仅用以提供说明的范例,并非用以限制本申请的保护范围。举例来说,云端服务系统140还可包括其他元件,例如:更多硬件资源。
图3是根据本申请实施例所述基于软件容器提供云端服务的方法的软件架构图。
在此实施例,基于软件容器提供云端服务的方法适用于云端服务系统140,明确来说,基于软件容器提供云端服务的方法可用程序码实作为多个软件模块,并由控制器143载入并执行,基于软件容器提供云端服务的方法的软件架构可包括执行模块310、备份模块320、决策模块330、比对模块340、以及通知模块350。
执行模块310主要负责提供介面让用户计算装置110、120、或维运人员计算装置160输入建置需求,根据建置需求决定对应的系统及系统版本,然后将系统及系统版本信息传递给决策模块330。接着,决策模块330从函式库接收适用于建置需求的函式,并通知备份模块320对该系统设定进行备份。之后,根据从决策模块330接收到的函式开始进行环境建置作业,也就是将该函式用于软件容器的实体化以运行云端服务。
在另一实施例,如果环境建置作业失败,则执行模块310可要求决策模块330选择另一适合的函式重新进行环境建置作业,直到没有适合的函式可用为止,再把环境建置作业的结果、发生问题的系统及系统版本等信息传送给比对模块340。反之,如果环境建置作业成功,则执行模块310可更新函式的选用历史记录。
备份模块320主要负责决定执行模块310所指定的系统是否需要进行备份,举例来说,当指定的系统为数据库系统或网络设备系统(如:防火墙系统或负载平衡系统)时,则将该系统的设定进行备份。
决策模块330主要负责根据执行模块310所指定的系统及系统版本信息到函式库中找寻适合的函式,明确来说,当函式库中有对应该系统及系统版本的函式时,则直接将该函式回传给执行模块310;反之,当函式库中没有对应该系统及系统版本的函式时,则呼叫运算评分单元(未示出)根据函式库中现有的函式的选用历史记录挑选适用的函式,其中选用历史记录可包含每个函式被选用的次数、以及每个函式被选用距今最近的天数。
在具体实施例中,运算评分单元可为决策模块的内部单元。在另一具体实施例中,运算评分单元也可为独立的模块。
举例来说,假设建置需求所对应的系统为版本V4.0的负载平衡系统,而函式库中只有版本V1.0、V2.0、V3.0的负载平衡系统的函式,因此,运算评分单元会根据以下公式1挑选适用的函式。
Figure BDA0001767129640000081
其中V1_ratio~V3_ratio代表V1.0~V3.0版本的函式被选用次数除以总计算天数,2/(L+1)为平滑指数,L代表对应版本的函式被选用距今最近的天数。
为方便理解,以下举例以最近五天(总计算天数为5)所使用的函式版本进行说明,其中N代表今日。
Figure BDA0001767129640000082
表格1.
在表格1所示范例中,版本V1.0的分数为
Figure BDA0001767129640000083
版本V2.0的分数为
Figure BDA0001767129640000084
版本V3.0的分数为/>
Figure BDA0001767129640000085
根据公式1,运算评分单元最后会选择版本V2.0的函式。
值得注意的是,公式1的设计并不倾向于优先选择最近的使用版本(如上述范例的版本V3.0),其原因在于,为确保服务可正常操作,通常会以高可用性(availability)为主要考量,举例来说,一般会准备多台相同规格的主机/系统,若需要进行主机/系统的版本更新时,一般为先尝试更新一台主机/系统并持续运行几天,确定一切正常,再逐步更新其他主机/系统;反之,若更新后出现异常状况,则可由其他主机/系统接手服务,再将已更新的主机/系统进行版本回复。因此,以实务经验而言,最近的使用版本不一定就是具有最高可用性的版本,而本申请的公式1除了考量时间的加权(使越近期被选用的版本将有更高的机率在本次被选用)之外,还加入每个版本被选用的频率(与可用性有正相关)。
比对模块340主要负责将套用选定函式后的系统设定与备份的系统设定(也就是套用选定的函式前的系统设定)进行比对,当比对不同时,则通过通知模块350输出消息以通知开发人员计算装置150以及/或维运人员计算装置160。此用意在于,即便套用决策模块330所选出的函式去进行环境建置作业成功,但系统设定有所不同时仍需开发人员、以及/或维运人员进一步确认。此外,比对模块340还接收来自执行模块310的环境建置作业的结果、发生问题的系统及系统版本等信息,并转送给通知模块350。
在具体实施例中,上述比对对于本次(套用后)与前次(套用前)的语法与参数进行比对。详细而言,若系统在设定负载平衡时,须设定如virtualserver、port、protocol、及IPAddress等参数。当比对结果发现设定不同,如前次参数有值而本次参数却是空白,则认定比对结果异常须通知。
通知模块350主要负责接收来自比对模块340的信息,然后把这些信息通知开发人员、以及/或维运人员。明确来说,当环境建置作业失败时(表示没有适合的函式可用),通知模块350会从比对模块340接收到环境建置作业的结果、发生问题的系统及系统版本等信息,然后转为通知开发人员及维运人员,让维运人员可先手动对系统进行设定,而开发人员则可根据发生问题的系统及系统版本进行对应函式的开发,待函式开发完成后,再由维运人员进行函式库的更新。另外,当环境建置作业成功时,通知模块350会从比对模块340接收到选定的函式、以及套用函式前后的系统设定等信息,然后转为通知开发人员及维运人员以作进一步确认。
图4A、图4B是根据本申请实施例所述基于软件容器提供云端服务的方法流程图。
首先,执行模块310从用户端或维运人员接收建置需求(步骤S401)。在实施例,用户端的建置需求可以是请求代管新的服务。在另一实施例,维运人员的建置需求可以是请求更新特定系统。
接着,执行模块310根据建置需求决定其对应的系统及系统版本(步骤S402)。举例来说,建置需求可以是请求代管新的服务,而该服务需要使用版本V1.0的虚拟机器管理系统、版本V4.0的防火墙系统、以及版本V2.0的负载平衡系统。或者,建置需求可以是请求更新现有的系统,例如:将超管理系统从版本V2.0升级到V3.0、或将数据库系统从版本V1.0升级到V2.0。
然后,决策模块330从执行模块310接收系统及系统版本信息(步骤S403),并决定函式库中是否有对应该版本的函式存在(步骤S404),若有,则直接取出该函式并回传给执行模块310(步骤S405);反之,如果函式库中没有对应该版本的函式存在,则呼叫运算评分单元根据函式库中现有的函式的选用历史记录挑选适用的函式(步骤S406)。
接着,执行模块310从决策模块330取得函式(步骤S407),然后指示备份模块320针对相关的系统进行备份(步骤S408)。
之后,执行模块310再使用该函式进行环境建置作业(步骤S409),也就是将该函式用于软件容器的实体化以运行云端服务。
然后,执行模块310决定环境建置作业是否成功(步骤S410),若是,则指示比对模块340针对套用函式前后的系统设定进行比对(步骤S411)。
在具体实施例中,若执行模块310没有回传是否成功,将默认执行成功。
接续步骤S411,比对模块340决定比对结果是否为相同(步骤S412),若是,则没有通知管理者(如:开发人员、以及/或维运人员)的必要,故流程结束;反之,如果比对不相同,则指示通知模块350通知管理者(如:开发人员、以及/或维运人员)以作进一步确认(步骤S413),流程结束。通知内容可包括:选定的函式、以及套用函式前后的系统设定等信息。
接续步骤S410,如果环境建置作业失败,则流程进入步骤S413,由通知模块350通知管理者,通知内容可包括:环境建置作业的结果、发生问题的系统及系统版本等信息。
根据上述实施例,应当可理解的是,本申请的基于软件容器提供云端服务的方法其特征在于,使用软件容器技术将各个版本的系统模块化,并采用函式库储存每个系统的核心程序(实作为函式),如此一来,即可有效提升系统更新的效率。另外,针对系统版本不被支援的情况,本申请的基于软件容器提供云端服务的方法还会以现有函式的选用历史记录来挑选适用的函式直接进行环境建置作业,因此,可大幅减少开发人员及维运人员的负担,并提升云端伺服器交付/维护云端服务的效率。
本申请虽以各种实施例公开如上,然而其仅为范例参考而非用以限定本申请的范围,任何本领域技术人员在不脱离本申请的精神和范围的情况下,应当可做些许的更动与润饰。因此上述实施例并非用以限定本申请的范围,本申请的保护范围当视所附的权利要求所界定的为准。
在权利要求中所使用的「第一」、「第二」等词用来修饰权利要求中的元件,并非用来表示之间具有优先权顺序,先行关系,或者是一个元件先于另一个元件,或者是执行方法步骤时的时间先后顺序,仅用来区别具有相同名字的元件。

Claims (8)

1.一种云端服务系统,包括:
硬件资源,安装有系统,且使软件容器被实体化以运行云端服务;
储存装置,用以储存包括多个函式的函式库,其中上述函式的每一个对应至上述系统的个别版本;以及
控制器,用以根据建置需求决定对应到上述系统的第一版本,决定上述多个函式中是否有对应上述第一版本的函式,以及在上述多个函式中没有对应上述第一版本的函式时,根据上述多个函式的选用历史记录来决定上述多个函式的一个以用于上述软件容器的实体化,其中上述选用历史记录包含以下信息:每个函式被选用的次数、以及被选用距今最近的天数。
2.如权利要求1所述的云端服务系统,其中上述控制器还在上述多个函式中有对应上述第一版本的函式时,将对应上述第一版本的函式用于上述软件容器的实体化。
3.如权利要求1所述的云端服务系统,其中上述控制器还在上述硬件资源将上述软件容器实体化之前,将上述系统的第一系统设定进行备份。
4.如权利要求3所述的云端服务系统,其中上述控制器还在上述硬件资源将上述软件容器实体化之后,决定上述系统的第二系统设定,以及在上述第一系统设定与上述第二系统设定不同时,输出消息以通知上述云端服务系统的管理者。
5.一种基于软件容器提供云端服务的方法,适用于云端服务系统,包括:
提供硬件资源,其安装有系统,且使软件容器被实体化以运行云端服务;
根据建置需求决定对应到上述系统的第一版本;
决定函式库中是否有对应上述第一版本的函式;以及
在上述函式库中没有对应上述第一版本的函式时,根据上述函式库中的多个函式的选用历史记录来决定上述多个函式的一个以用于上述软件容器的实体化,其中上述选用历史记录包含以下信息:每个函式被选用的次数、以及被选用距今最近的天数。
6.如权利要求5所述的基于软件容器提供云端服务的方法,更包括:
在上述函式库有对应上述第一版本的函式时,将对应上述第一版本的函式用于上述软件容器的实体化。
7.如权利要求5所述的基于软件容器提供云端服务的方法,更包括:
在上述硬件资源将上述软件容器实体化之前,将上述系统的第一系统设定进行备份。
8.如权利要求7所述的基于软件容器提供云端服务的方法,更包括:
在上述硬件资源将上述软件容器实体化之后,决定上述系统的第二系统设定;以及
在上述第一系统设定与上述第二系统设定不同时,输出消息以通知上述云端服务系统的管理者。
CN201810933106.5A 2018-08-03 2018-08-16 基于软件容器提供云端服务的系统及方法 Active CN110795205B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
TW107127089 2018-08-03
TW107127089A TWI668634B (zh) 2018-08-03 2018-08-03 基於軟體容器提供雲端服務之系統及方法

Publications (2)

Publication Number Publication Date
CN110795205A CN110795205A (zh) 2020-02-14
CN110795205B true CN110795205B (zh) 2023-03-24

Family

ID=68316507

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810933106.5A Active CN110795205B (zh) 2018-08-03 2018-08-16 基于软件容器提供云端服务的系统及方法

Country Status (3)

Country Link
US (1) US10791039B2 (zh)
CN (1) CN110795205B (zh)
TW (1) TWI668634B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10860364B2 (en) * 2019-01-23 2020-12-08 Vmware, Inc. Containerized management services with high availability
TWI810502B (zh) 2020-12-11 2023-08-01 財團法人工業技術研究院 運動控制系統及運動控制方法
TWI754488B (zh) * 2020-12-14 2022-02-01 中華電信股份有限公司 為軟體容器選擇載體的電子裝置和方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102868729A (zh) * 2012-08-24 2013-01-09 中兴通讯股份有限公司 基于云服务的实现软件服务的方法、客户端及云服务器
CN103268257A (zh) * 2012-07-23 2013-08-28 威盛电子股份有限公司 硬件资源存取系统及其存取电子装置的硬件资源的方法
CN106991297A (zh) * 2017-04-10 2017-07-28 北京深思数盾科技股份有限公司 软件许可的管理方法和系统及创建方法和系统

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060218528A1 (en) * 2005-03-22 2006-09-28 Microsoft Corporation Software explorer
US8359645B2 (en) * 2005-03-25 2013-01-22 Microsoft Corporation Dynamic protection of unpatched machines
US8196136B2 (en) * 2007-09-28 2012-06-05 Microsoft Corporation Configuration and change management system with restore points
US20090100158A1 (en) * 2007-10-12 2009-04-16 Microsoft Corporation Backup and Recovery System for Multiple Device Environment
US8938706B2 (en) * 2010-11-23 2015-01-20 Red Hat, Inc. Providing customized visualization of application binary interface/application programming interface-related information
US8832162B2 (en) * 2012-03-25 2014-09-09 Think Computer Corporation Method and system for storing, categorizing and distributing information concerning relationships between data
US9075638B2 (en) * 2012-08-14 2015-07-07 Atlassian Corporation Pty Ltd. Efficient hosting of virtualized containers using read-only operating systems
US9262470B1 (en) * 2013-06-25 2016-02-16 Amazon Technologies, Inc. Application recommendations based on application and lifestyle fingerprinting
TW201523286A (zh) * 2013-12-13 2015-06-16 Inventec Corp 雲端系統與雲端資源配置方法
US9519468B2 (en) * 2015-02-13 2016-12-13 Oracle International Corporation Modular co-versioning in a dynamically linked runtime environment
US9916233B1 (en) * 2015-03-27 2018-03-13 Amazon Technologies, Inc. Using containers for update deployment
TWI522829B (zh) * 2015-06-10 2016-02-21 先智雲端數據股份有限公司 具有輕量級容器節點的儲存系統
US9823915B1 (en) * 2015-08-06 2017-11-21 Mesosphere, Inc. Software container format
CN105893205A (zh) * 2015-11-20 2016-08-24 乐视云计算有限公司 监控基于docker创建的container的方法及系统
US10402187B2 (en) * 2016-08-10 2019-09-03 Trilio Data Inc. Efficient workload deployment using containers and unikernels
US10031735B2 (en) * 2016-09-30 2018-07-24 International Business Machines Corporation Secure deployment of applications in a cloud computing platform
US10650138B2 (en) * 2017-01-27 2020-05-12 Hewlett Packard Enterprise Development Lp System call policies for containers
US10592315B2 (en) * 2017-08-28 2020-03-17 General Electric Company Software container messaging mechanism
CN108021608A (zh) * 2017-10-31 2018-05-11 赛尔网络有限公司 一种基于Docker的轻量级网站部署方法
US10986479B2 (en) * 2018-01-17 2021-04-20 Micro Focus Llc Service management and provisioning for tenant service instances

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103268257A (zh) * 2012-07-23 2013-08-28 威盛电子股份有限公司 硬件资源存取系统及其存取电子装置的硬件资源的方法
CN102868729A (zh) * 2012-08-24 2013-01-09 中兴通讯股份有限公司 基于云服务的实现软件服务的方法、客户端及云服务器
CN106991297A (zh) * 2017-04-10 2017-07-28 北京深思数盾科技股份有限公司 软件许可的管理方法和系统及创建方法和系统

Also Published As

Publication number Publication date
TWI668634B (zh) 2019-08-11
CN110795205A (zh) 2020-02-14
US20200044945A1 (en) 2020-02-06
TW202008154A (zh) 2020-02-16
US10791039B2 (en) 2020-09-29

Similar Documents

Publication Publication Date Title
US11146453B2 (en) Method and apparatus for creating network slice, and communications system
US9838249B2 (en) Maintaining resource availability during maintenance operations
EP3471342A1 (en) Method and device for service deployment in virtualized network
EP3291499A1 (en) Method and apparatus for network service capacity expansion
EP3133771A1 (en) Virtual machine resource changing method, device and virtual network function device
CN110795205B (zh) 基于软件容器提供云端服务的系统及方法
CN110333939B (zh) 任务混合调度方法、装置、调度服务器及资源服务器
CN112470119B (zh) 一种分布式系统中的业务升级方法、装置及分布式系统
CN113220433B (zh) 一种代理程序运行管理方法及系统
US10795747B2 (en) File synchronizing service status monitoring and error handling
US20230342183A1 (en) Management method and apparatus for container cluster
CN111143031A (zh) 一种虚拟机的容量更改方法及装置
CN110069265B (zh) 服务集群的升级方法、装置及存储介质
US11552900B2 (en) Management for managing resource allocation in an edge computing system
CN109857464A (zh) 用于平台部署与操作移动操作系统的系统及其方法
CN114296953A (zh) 一种多云异构系统及任务处理方法
CN113612643B (zh) 云手机的网络配置方法、装置、设备以及存储介质
US11909805B1 (en) Local device redirection in remote access computing environments
CN114338763A (zh) 微服务调用方法、装置、服务器与计算机可读存储介质
CN113778546A (zh) 灰度优化的方法和装置
CN113726902A (zh) 微服务的调用方法及系统
CN114490015A (zh) 配置计算模式的方法、装置及计算设备
CN110554906A (zh) 虚拟机配置管理方法及装置
US20240036939A1 (en) Deterministic execution of background jobs in a load-balanced system
CN113064693B (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