CN114341847A - 对容器的外部操作与突变事件的对应关系 - Google Patents

对容器的外部操作与突变事件的对应关系 Download PDF

Info

Publication number
CN114341847A
CN114341847A CN202080060708.XA CN202080060708A CN114341847A CN 114341847 A CN114341847 A CN 114341847A CN 202080060708 A CN202080060708 A CN 202080060708A CN 114341847 A CN114341847 A CN 114341847A
Authority
CN
China
Prior art keywords
container
computer
external
invariance
commands
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.)
Pending
Application number
CN202080060708.XA
Other languages
English (en)
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN114341847A publication Critical patent/CN114341847A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • CCHEMISTRY; METALLURGY
    • C07ORGANIC CHEMISTRY
    • C07DHETEROCYCLIC COMPOUNDS
    • C07D317/00Heterocyclic compounds containing five-membered rings having two oxygen atoms as the only ring hetero atoms
    • C07D317/08Heterocyclic compounds containing five-membered rings having two oxygen atoms as the only ring hetero atoms having the hetero atoms in positions 1 and 3
    • C07D317/10Heterocyclic compounds containing five-membered rings having two oxygen atoms as the only ring hetero atoms having the hetero atoms in positions 1 and 3 not condensed with other rings
    • C07D317/32Heterocyclic compounds containing five-membered rings having two oxygen atoms as the only ring hetero atoms having the hetero atoms in positions 1 and 3 not condensed with other rings with hetero atoms or with carbon atoms having three bonds to hetero atoms with at the most one bond to halogen, e.g. ester or nitrile radicals, directly attached to ring carbon atoms
    • C07D317/34Oxygen atoms
    • C07D317/36Alkylene carbonates; Substituted alkylene carbonates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • CCHEMISTRY; METALLURGY
    • C08ORGANIC MACROMOLECULAR COMPOUNDS; THEIR PREPARATION OR CHEMICAL WORKING-UP; COMPOSITIONS BASED THEREON
    • C08FMACROMOLECULAR COMPOUNDS OBTAINED BY REACTIONS ONLY INVOLVING CARBON-TO-CARBON UNSATURATED BONDS
    • C08F20/00Homopolymers and copolymers of compounds having one or more unsaturated aliphatic radicals, each having only one carbon-to-carbon double bond, and only one being terminated by only one carboxyl radical or a salt, anhydride, ester, amide, imide or nitrile thereof
    • C08F20/02Monocarboxylic acids having less than ten carbon atoms, Derivatives thereof
    • C08F20/10Esters
    • C08F20/26Esters containing oxygen in addition to the carboxy oxygen
    • C08F20/28Esters containing oxygen in addition to the carboxy oxygen containing no aromatic rings in the alcohol moiety
    • 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/182Distributed file systems
    • 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/903Querying
    • G06F16/90335Query processing
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • G06F9/3889Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute
    • G06F9/3891Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute organised in groups of units sharing resources, e.g. clusters
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Chemical & Material Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • Organic Chemistry (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Chemical Kinetics & Catalysis (AREA)
  • Medicinal Chemistry (AREA)
  • Polymers & Plastics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

提供了一种用于确定命令到进程对应关系的方法。该方法包括由硬件处理器基于执行时间、针对集群中的多个容器中的每个的容器不变性改变事件中的每个的进程标识符和进程组标识符来识别由执行所述容器不变性改变事件而产生的初始进程。该方法还包括由硬件处理器检查所识别的初始进程中的初始进程是否与存储外部容器命令的数据库中的条目和由执行外部容器命令中的每个而产生的至少一个相应进程匹配。该方法还包括响应于初始进程与由执行存储在数据库中的外部容器命令当中的特定外部命令而产生的至少一个相应进程匹配,由硬件处理器将所述特定外部命令指定为与初始进程具有对应关系。

Description

对容器的外部操作与突变事件的对应关系
背景技术
本发明总体上涉及信息处理,并且更具体地涉及对容器的外部操作与突变事件的对应关系(correspondence)。容器可以是使用预先构建的图像运行的云应用的最小包。当前,容器不变性(container immutability)(指自容器构建时间以来不改变容器)是云和其他应用中的重要策略。然而,用户可以使用外部操作从运行容器的外部改变文件并执行该容器中的处理。由这种(外部)操作生成的文件改变事件和/或进程执行事件被称为“突变事件(mutation event)”。单个外部操作可以产生大量的突变事件,所以难以通过手动检查它们找到对应关系。因此,需要一种自动化的基于计算机的方法来确定外部操作和突变事件之间的对应关系。
发明内容
根据本发明的方面,提供了一种用于确定命令到进程对应关系的方法。该方法包括由硬件处理器基于执行时间、针对集群中的多个容器中的每个的容器不变性改变事件中的每个的进程标识符和进程组标识符来识别由执行所述容器不变性改变事件而产生的初始进程。该方法还包括由硬件处理器检查所识别的初始进程中的初始进程是否与存储外部容器命令的数据库中的条目和由执行外部容器命令中的每个而产生的至少一个相应进程匹配。该方法还包括响应于初始进程与由执行存储在数据库中的外部容器命令当中的特定外部命令而产生的至少一个相应进程匹配,由硬件处理器将所述特定外部命令指定为与初始进程具有对应关系。
根据本发明的另一方面,提供了确定命令到进程对应关系的计算机程序产品。该计算机程序产品包括具有体现在其中的程序指令的非暂时性计算机可读存储介质。程序指令可由计算机执行以使所述计算机执行包括以下的方法。该方法包括由硬件处理器基于执行时间、针对集群中的多个容器中的每个的容器不变性改变事件中的每个的进程标识符和进程组标识符来识别由执行所述容器不变性改变事件而产生的初始进程。该方法还包括由硬件处理器检查所识别的初始进程中的初始进程是否与存储外部容器命令的数据库中的条目和由执行外部容器命令中的每个而产生的至少一个相应进程匹配。该方法还包括响应于初始进程与由执行存储在数据库中的外部容器命令当中的特定外部命令而产生的至少一个相应进程匹配,由硬件处理器将所述特定外部命令指定为与初始进程具有对应关系。
根据本发明的又一方面,提供了一种用于确定命令到进程对应关系的计算机处理系统。该计算机处理系统包括存储器设备,该存储器设备包括存储于其上的程序代码。该计算机处理系统还包括硬件处理器,操作地耦合到存储器设备,并且被配置为运行存储在存储器设备上的程序代码,以基于执行时间、针对集群中的多个容器中的每个的容器不变性改变事件中的每个的进程标识符和进程组标识符来识别由执行所述容器不变性改变事件而产生的初始进程。硬件处理器还运行所述程序代码以检查所识别的初始进程中的初始进程是否与存储外部容器命令的数据库中的条目和由执行外部容器命令中的每个而产生的至少一个相应进程匹配。硬件处理器还运行程序代码,响应于初始进程与由执行存储在数据库中的外部容器命令当中的特定外部命令而产生的至少一个相应进程匹配,将所述特定外部命令指定为与初始进程具有对应关系。
从以下将结合附图阅读的对其说明性实施例的详细描述,这些和其他特征和优点将变得显而易见。
附图说明
以下描述将参考以下附图提供优选实施例的细节,其中:
图1是示出根据本发明的实施例的示例性处理系统的框图;
图2-图3是示出根据本发明的实施例的用于确定对容器的外部操作与突变的对应关系的示例性方法的流程图;
图4是示出根据本发明的实施例的外部操作和第一突变事件的示例性映射的框图;
图5是示出根据本发明的实施例的示例性表格的框图;
图6是示出根据本发明的实施例的另一示例性表格的框图;
图7是示出根据本发明的实施例的又一示例性表格的框图;
图8是示出根据本发明的实施例的具有由云消费者使用的本地计算设备与其通信的一个或多个云计算节点的说明性云计算环境的框图;以及
图9是示出根据本发明的实施例的由云计算环境提供的一组功能抽象层的框图。
具体实施方式
本发明的实施例涉及对容器的外部操作与突变事件的对应关系。
本发明的一个或多个实施例使得用户能够识别对容器的外部操作和突变事件之间的对应关系。以这种方式,可基于识别的对应关系将可变容器转换成不可变容器并且部署在计算环境中。在实施例中,计算环境可以是云计算环境。
本发明的一个或多个实施例利用进程结构分析(参见例如图2-图3)以便识别对容器的外部操作和突变事件之间的对应关系。在实施例中,进程结构分析涉及针对本发明所考虑的每个改变事件,基于例如执行时间、进程ID和进程组ID来识别由给定的外部操作改变的初始进程。
虽然为了说明的目的参照
Figure BDA0003522507640000031
命令来描述本发明的一个或多个实施例,但是也可以使用其他外部命令,同时保持本发明的精神。
因此,本发明使得能够关于可变容器识别外部操作和所产生的突变事件之间的对应关系,并且可以进一步使得能够通过“破坏”或以其他方式消除对应关系和/或使用其他技术将如此识别的可变容器转换成不可变容器。不可变对象固有地比可变对象更安全,并且具有优于可变对象的其他益处。
图1是示出根据本发明的实施例的示例性处理系统100的框图。处理系统100包括一组处理单元(例如,CPU)101、一组GPU102、一组存储器设备103、一组通信设备104和一组外围设备105。CPU101可以是单核或多核CPU。GPU102可以是单核或多核GPU。一个或多个存储器设备103可以包括高速缓存、RAM、ROM和其他存储器(闪存、光学存储器、磁性存储器等)。通信设备104可以包括无线和/或有线通信设备(例如,网络(例如,WIFI等)适配器,等等)。外围设备105可以包括显示设备、用户输入设备、打印机、成像设备等。处理系统100的元件由一个或多个总线或网络(共同由附图标记110表示)连接。
在实施例中,存储器设备103可以存储专门编程的软件模块以将计算机处理系统转换成被配置成实现本发明的各个方面的专用计算机。在实施例中,专用硬件(例如,专用集成电路、现场可编程门阵列(FPGA)等)可以用于实现本发明的各个方面。
在实施例中,存储器设备103可以实现存储外部容器命令以及因执行每个外部容器命令而产生的至少一个相应进程的数据库。在一个实施例中,至少一个相应进程可以是对应外部容器命令的索引。在这样的情况下,存储器设备可以包括内容可寻址或关联存储器。在实施例中,存储器设备103可以实现存储可变容器的数据库。在实施例中,存储器设备103可以实现存储从可变容器转换的不可变容器的数据库。
当然,处理系统100也可以包括如本领域技术人员易于想到的其他元件(未示出),以及省略某些元件。例如,如本领域普通技术人员容易理解的,取决于处理系统100中的不同其他输入设备和/或输出设备的特定实现,所述输入设备和/或输出设备可以被包括在处理系统100中。例如,可以使用不同类型的无线和/或有线输入和/或输出设备。此外,还可以利用不同配置中的附加处理器、控制器、存储器等。进一步,在另一实施例中,可以使用云配置(例如,参见图8-图9)。给定在此所提供的本发明的教导,本领域的普通技术人员容易想到处理系统100的这些和其他变化。
此外,应当理解,下文关于与本发明有关的不同元件和步骤描述的不同附图可全部或部分地由系统100的一个或多个元件来实现。
如本文所使用的,术语“硬件处理器子系统”或简称为“硬件处理器”是指协作以执行一个或多个特定任务的处理器、存储器和软件组合。在实施例中,硬件处理器子系统可包括一个或多个数据处理元件(例如,逻辑电路等)。在实施例中,一个或多个数据处理元件可以包括在中央处理单元、图形处理单元和/或单独的处理器或基于计算元件(例如,逻辑门等)的控制器中。在实施例中,硬件处理器子系统可包括一个或多个板上存储器(例如,高速缓存)。在实施例中,硬件处理器子系统可包括一个或多个其他存储器(例如,ROM、RAM、BIOS)。在实施例中,硬件处理器子系统可以包括并执行一个或多个软件应用。在实施例中,一个或多个软件应用可包括操作系统和/或一个或多个其他应用和/或特定代码以实现指定结果。给定这里提供的本发明的教导,硬件处理器子系统的这些和其他变型是容易确定的。
图2-图3是示出根据本发明的实施例的用于确定对容器的外部操作与突变的对应关系的示例性方法200的流程图。
在框210处,收集“样本突变事件”以获得相应外部操作和由其执行产生的突变事件的映射。外部操作可以从一组外部操作获得。对于给定的外部操作,可以从由给定外部操作的执行产生的一组突变事件获得要映射到其的一个或多个突变事件。这些事件的集合可以用作训练数据,因此首先准备该数据。如在此所用,术语“样本突变事件”和“突变事件”简短说是指由执行相应的外部操作产生的观察到的样本突变事件。通过某种现有方法(如“系统调用跟踪”)观察由执行相应的外部操作产生的样本突变事件。
例如,在实施例中,框210可涉及执行外部命令(例如,执行针对网荚中的容器的命令的kubectl exec命令),获得由外部命令的执行产生的对应突变事件,以及创建(kubectlexec)外部命令和(来自对应突变事件中的)第一变变事件的映射。虽然为了说明目的使用了kubectl命令,但也可以使用其他(容器)外部命令来导致产生突变事件。
在框220,从一个或多个运行容器获得进一步的实际突变事件。运行容器是正在执行一个或多个进程/命令的容器。应注意,框210的突变事件也是来自先前实际执行的实际突变事件。
在一个实施例中,可以通过一种或多种技术(如系统调用追踪和系统扫描)在框210和220中的任何框中获得突变事件。在系统调用跟踪中,操作系统(OS)在其操作期间产生大量系统调用,并且每个容器将OS用于其任务。当一些外部操作由容器执行时,容器中的OS软件将生成一组系统调用。这些系统调用的一部分是突变事件。
作为另一示例,在系统扫描中,容器将被周期性地扫描,并且该系统将保存所扫描的文件和进程的概要。当在扫描之间存在一些差异时,容器具有已经改变的文件/进程。
在实施例中,框220可以包括框220A。
在框220A处,针对实际突变事件中的每个获得进程标识符(ID)和进程组标识符(ID)。
在框230处,按实际突变事件的执行时间的顺序对其进行分选。
在框240,处理所分选的突变事件中的每一个。
在实施例中,框240可以包括框240A至240I中的一个或多个。
在框240A处,确定(i)当前处理的突变事件的进程ID和组进程ID是否相等,以及(ii)当前处理的突变事件是否是进程执行。如果是(对于(i)和(ii)两者),则前进到框240B。否则(如果其中一者或两者不为真),则前进到框240C。
在框240B,通过外部操作将当前处理的突变事件指定为条目进程(entryprocess)(或简称为“条目进程”)。
在框240C,将当前处理的突变事件指定为由(i)发生在当前处理的突变事件之前和(ii)具有与当前处理的突变事件相同的进程组ID的条目进程生成。
在框240D处,从框240B和240C收集条目进程列表以及突变事件和条目进程的映射。
在框240E处,确定在(由框240D收集的)条目进程列表中的任何条目进程与(由框210准备的)外部操作和第一突变事件的映射之间是否存在匹配。如果是,则前进到框240G。否则,前进到框240F。
在框240F,输出至少一个外部操作作为对应于一个或多个进程。在涉及kubectl操作的实施例中,输出可以是以下形式:kubectl[command][TYPE][NAME]-o<output_format>。
在框240G,将至少一个外部操作报告为未知操作。此外,在实施例中,框240G可进一步涉及触发一些附加学习(准备)以改善在框210处获得的映射。
在框250中,基于框240H的输出(即至少一个外部操作和一个或多个对应进程之间的对应关系)(从可变容器)形成不可变容器,并在云环境中部署不可变容器。因此,框250可以至少相对于先前引起突变的突变事件将一个或多个可变容器转换成不可变容器。在实施例中,当遇到至少一个外部操作时,容器被重新配制(重写)为不可变的。例如,容器代码可以被重写或某个代码被移除,因此剩余的容器代码不再响应于(受)外部操作并且因此相对于外部命令是不可变的。此外,这个系统可以用于鉴定/去除突变的根本原因,因为发现一些外部操作的操作者通常是容易的。外部操作将被记录到相应的API服务器中,例如,“kubectl exec”命令被记录在
Figure BDA0003522507640000061
API服务器日志中。因此,一旦检测到突变并且识别出外部操作,该系统还可以找到/报告做出该突变的人。
图4是示出了根据本发明的实施例的外部操作和第一突变事件的示例性映射400的框图。映射400对应于图2的框210的实施例。
在图4中,映射400的列401至410的列指定如下:
401:突变型
402:文件名
403:进程命令
404:(未使用的列)
405:进程ID
406:进程组ID
407:进程会话ID
408:用户名
409:用户ID
410:系统调用类型
图5是示出根据本发明的实施例的示例性表格500的框图。表500对应于图2的框240C的实施方式。
在图5中,表格500的列501至510的列指定如下:
501:突变型
502:文件名
503:进程命令
504:(未使用的列)
505:进程ID
506:进程组ID
507:进程会话ID
508:用户名
509:用户ID
510:系统调用类型
图6是示出根据本发明的实施例的示例性表格600的框图。表格600对应于图2的框240B的实施例。
在图6中,表600的列601至607的列指定如下:
601:执行时间
602:条目进程(未使用的列)
603:
Figure BDA0003522507640000081
命名空间名称
604:
Figure BDA0003522507640000082
荚名称
605:进程命令
606:突变型
607:突变操作类型
该表格包括4个条目进程,即:(1)test-d;(2)tar-xf--C;(3)sh sample_data_collection.sh;以及(4)Ls-1等。4个条目进程由图7中的3个外部操作产生。
图7是示出根据本发明的实施例的示例性表格700的框图。表格700对应于图2的框240G的实施例。
表格700包括3个kubectl命令,即:(1)$kubectl cp-nmutation-advisor sample_data_collection.sh python-test-1:/;(2)$kubectl exec-it-nmutation-advisorpython-test-1sh sample_data_collection.sh;和(3)$kubectl exec-it-n mutation-advisor python-test-1--Ls-1。
应当理解,虽然本公开包括关于云计算的详细描述,但是本文所述的教导的实现不限于云计算环境。相反,本发明的实施例能够结合现在已知的或以后开发的任何其他类型的计算环境来实现。
云计算是服务交付的模型,用于使得能够方便地、按需地网络访问可配置计算资源(例如,网络、网络带宽、服务器、处理、存储器、存储、应用、虚拟机和服务)的共享池,所述可配置计算资源可以以最小的管理努力或与所述服务的提供商的交互来快速供应和释放。该云模型可以包括至少五个特性、至少三个服务模型和至少四个部署模型。
特性如下:
按需自助服务:云消费者可以单方面地根据需要自动地提供计算能力,诸如服务器时间和网络存储,而不需要与服务的提供商的人类交互。
广泛的网络接入:能力可通过网络获得并且通过标准机制接入,该标准机制促进异构瘦客户机平台或厚客户机平台(例如,移动电话、膝上型计算机和PDA)的使用。
资源池:提供商的计算资源被池化以使用多租户模型来服务于多个消费者,其中不同的物理和虚拟资源根据需要动态地指派和重新指派。存在位置独立性的感觉,因为消费者通常不具有对所提供的资源的确切位置的控制或了解,但可能能够以较高抽象级别(例如,国家、州或数据中心)指定位置。
快速弹性:能够快速和弹性地提供能力,在一些情况下自动地快速缩小和快速释放以快速放大。对于消费者而言,可用于供应的能力通常显得不受限制并且可以在任何时间以任何数量购买。
测量的服务:云系统通过在适合于服务类型(例如,存储、处理、带宽和活动用户账户)的某个抽象级别处利用计量能力来自动控制和优化资源使用。可以监视、控制和报告资源使用,为所利用的服务的提供商和消费者提供透明度。
服务模型如下:
软件即服务(SaaS):提供给消费者的能力是使用在云基础设施上运行的提供商的应用。可通过诸如web浏览器(例如,基于web的电子邮件)之类的瘦客户端接口从不同客户端设备访问应用。消费者不管理或控制包括网络、服务器、操作系统、存储或甚至单独的应用能力的底层云基础设施,可能的例外是有限的用户特定应用配置设置。
平台即服务(PaaS):提供给消费者的能力是将消费者创建的或获取的使用由提供商支持的编程语言和工具创建的应用部署到云基础设施上。消费者不管理或控制包括网络、服务器、操作系统或存储的底层云基础设施,但是对所部署的应用和可能的应用托管环境配置具有控制。
基础设施即服务(IaaS):提供给消费者的能力是提供处理、存储、网络和消费者能够部署和运行任意软件的其他基本计算资源,所述软件可以包括操作系统和应用。消费者不管理或控制底层云基础设施,而是具有对操作系统、存储、所部署的应用的控制以及对所选联网组件(例如,主机防火墙)的可能受限的控制。
部署模型如下:
私有云:云基础架构仅为组织运作。它可以由组织或第三方管理,并且可以存在于场所内或场所外。
社区云:云基础架构被若干组织共享并支持共享了关注(例如,任务、安全要求、策略、和合规性考虑)的特定社区。它可以由组织或第三方管理,并且可以存在于场所内或场所外。
公共云:使云基础架构对公众或大型行业组可用,并且由出售云服务的组织拥有。
混合云:云基础架构是两个或更多个云(私有、社区或公共)的组合,这些云保持唯一实体但通过使数据和应用能够移植的标准化或专有技术(例如,云突发以用于云之间的负载平衡)绑定在一起。
云计算环境是面向服务的,集中于无状态、低耦合、模块化和语义互操作性。云计算的核心是包括互连节点网络的基础设施。
现在参见图8,描述了说明性云计算环境850。如图所示,云计算环境850包括一个或多个云计算节点810,云消费者使用的本地计算设备(诸如例如个人数字助理(PDA)或蜂窝电话854A、台式计算机854B、膝上型计算机854C和/或汽车计算机系统854N)可与云计算节点810通信。节点810可以彼此通信。它们可以物理地或虚拟地分组(未示出)在一个或多个网络中,诸如如上所述的私有云、社区云、公共云或混合云、或其组合。这允许云计算环境850提供基础架构、平台和/或软件作为云消费者不需要为其维护本地计算设备上的资源的服务。应当理解,图8中所示的计算设备854A-N的类型仅仅是说明性的,并且计算节点810和云计算环境850可以通过任何类型的网络和/或网络可寻址连接(例如,使用网络浏览器)与任何类型的计算机化设备通信。
现在参见图9,示出了由云计算环境850(图8)提供的一组功能抽象层。应提前理解,图9所示的组件、层和功能仅旨在是说明性的,并且本发明的实施例不限于此。如所描述,提供以下层和对应功能:
硬件和软件层960包括硬件和软件组件。硬件组件的示例包括:大型机961;基于RISC(精简指令集计算机)架构的服务器962;服务器963;刀片服务器964;存储设备965;以及网络和联网组件966。在一些实施例中,软件部件包括网络应用服务器软件967和数据库软件968。
虚拟化层970提供抽象层,从该抽象层可以提供虚拟实体的以下示例:虚拟服务器971;虚拟存储972;虚拟网络973,包括虚拟专用网络;虚拟应用和操作系统974;以及虚拟客户端975。
在一个示例中,管理层980可以提供以下描述的功能。资源供应981提供计算资源和用于在云计算环境内执行任务的其他资源的动态采购。计量和定价982在云计算环境内利用资源时提供成本跟踪,并为这些资源的消费开账单或发票。在一个示例中,这些资源可以包括应用软件许可证。安全性为云消费者和任务提供身份验证,以及为数据和其他资源提供保护。用户门户983为消费者和系统管理员提供对云计算环境的访问。服务水平管理984提供云计算资源分配和管理,使得满足所需的服务水平。服务水平协议(SLA)规划和履行985提供云计算资源的预安排和采购,根据SLA预期该云计算资源的未来要求。
工作负载层990提供可以利用云计算环境的功能的示例。可以从该层提供的工作负载和功能的示例包括:地图和导航991;软件开发和生命周期管理992;虚拟教室教育递送993;数据分析处理994;事务处理995;以及与容器和突变的外部操作对应关系996。
本发明可以是任何可能的技术细节集成度的系统、方法和/或计算机程序产品。计算机程序产品可包括其上具有用于使处理器执行本发明的各方面的计算机可读程序指令的计算机可读存储介质(或多个介质)。
计算机可读存储介质可为可保留和存储供指令执行装置使用的指令的有形装置。计算机可读存储介质可以是,例如但不限于,电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备、或者上述的任意合适的组合。计算机可读存储介质的更具体示例的非穷尽列表包括以下各项:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式紧凑盘只读存储器(CD-ROM)、数字通用盘(DVD)、记忆棒、软盘、诸如穿孔卡之类的机械编码设备或具有记录在其上的指令的槽中的凸出结构、以及上述各项的任何合适的组合。如本文所使用的计算机可读存储介质不应被解释为暂时性信号本身,例如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,穿过光纤电缆的光脉冲)或通过电线发射的电信号。
本文中所描述的计算机可读程序指令可以经由网络(例如,互联网、局域网、广域网和/或无线网络)从计算机可读存储介质下载到相应的计算/处理设备,或者下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输纤维、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口接收来自网络的计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路的配置数据、或以一种或多种程序设计语言的任何组合编写的源代码或目标代码,这些程序设计语言包括面向对象的程序设计语言(诸如Smalltalk、C++等)和过程程序设计语言(诸如“C”程序设计语言或类似程序设计语言)。计算机可读程序指令可以完全地在用户计算机上执行、部分在用户计算机上执行、作为独立软件包执行、部分在用户计算机上部分在远程计算机上执行或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可通过任何类型的网络(包括局域网(LAN)或广域网(WAN))连接至用户计算机,或者可连接至外部计算机(例如,使用互联网服务提供商通过互联网)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以通过利用计算机可读程序指令的状态信息来使电子电路个性化来执行计算机可读程序指令,以便执行本发明的各方面。
下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可被提供给计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现在流程图和/或框图的或多个框中指定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置、和/或其他设备以特定方式工作,从而,其中存储有指令的计算机可读存储介质包括包含实现流程图和/或框图中的或多个方框中规定的功能/动作的方面的指令的制造品。
也可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的处理,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图中的或多个方框中规定的功能/动作。
说明书中对本发明的“一个实施例”或“实施例”以及其其他变型的引用意味着结合该实施例所描述的特定特征、结构、特性等包括在本发明的至少一个实施例中。因此,在整个说明书的各个地方出现的短语“在一个实施例中”或“在实施例中”以及任何其他变型不一定都指相同的实施例。
应当理解的是,例如,在“A/B”、“A和/或B”以及“A和B中的至少一个”的情况下,使用任何以下“/”、“和/或”以及“中的至少一个”旨在包括仅选择第一列出选项(A)、或仅选择第二列出选项(B)、或选择两个选项(A和B)。作为另一个实例,在“A、B、和/或C”以及“A、B、和C中的至少一个”的情况下,这种措辞旨在涵盖仅选择第一列出选项(A),或仅选择第二列出选项(B),或仅选择第三列出选项(C),或仅选择第一和第二列出选项(A和B),或者仅选择第一列出选项和第三列出选项(A和C),或者仅选择第二列出选项和第三列出选项(B和C),或者选择所有三个选项(A和B和C)。这可以扩展多达所列出的项目。
附图中的流程图和框图示出了根据本发明的不同实施例的系统、方法和计算机程序产品的可能实现方式的架构、功能和操作。对此,流程图或框图中的每个框可表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些备选实现中,框中标注的功能可以不按照图中标注的顺序发生。例如,连续示出的两个方框实际上可以作为一个步骤完成,同时、基本上同时、以部分或完全时间上重叠的方式执行,或者方框有时可以以相反的顺序执行,这取决于所涉及的功能。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作或执行专用硬件与计算机指令的组合的专用的基于硬件的系统来实现。
已经描述了系统和方法的优选实施例(其旨在是说明性的而非限制性的),应注意,本领域技术人员可根据上述教导进行修改和变化。因此,应当理解,在所附权利要求概述的本发明的范围内,可以在所公开的特定实施例中做出改变。因此已经描述了具有专利法所要求的细节和特征的本发明的各个方面,并且在权利要求中阐述了所要求的以及期望由专利证书所保护的内容。

Claims (25)

1.一种用于确定命令到进程对应关系的计算机实现的方法,包括:
由硬件处理器基于执行时间、针对集群中的多个容器中的每个的容器不变性改变事件中的每个的进程标识符和进程组标识符来识别由执行所述容器不变性改变事件而产生的初始进程;
由硬件处理器检查所识别的初始进程中的初始进程是否与存储外部容器命令的数据库中的条目和由执行外部容器命令中的每个而产生的至少一个相应进程匹配;以及
响应于初始进程与由执行存储在数据库中的外部容器命令当中的特定外部命令而产生的至少一个相应进程匹配,由硬件处理器将所述特定外部命令指定为与初始进程具有对应关系。
2.根据权利要求1所述的计算机实现的方法,进一步包括由硬件处理器基于所述对应关系将最初可变容器转换成相对于所述外部容器命令的不可变容器。
3.根据权利要求2所述的计算机实现的方法,其中,所述转换步骤包括将可变容器的现有代码修改为不可变的,以便由其形成所述不可变容器。
4.根据权利要求1所述的计算机实现的方法,进一步包括:通过执行外部容器命令、检测由执行外部容器命令中的每个而产生的所述至少一个相应进程、以及将外部容器命令中的每个映射到由其产生的所述至少一个相应进程来创建数据库。
5.根据权利要求1所述的计算机实现的方法,其中,所述识别步骤包括响应于(i)容器不变性改变事件中的对应一个的进程ID与容器不变性改变事件的进程组ID相同,以及(ii)容器不变性改变事件是进程执行事件,针对容器不变性改变事件中的每个,以容器不变性改变事件的执行时间的顺序将进程中的任意一个确定为所识别的初始进程中的一个。
6.根据权利要求1所述的计算机实现的方法,其中,容器不变性改变事件是突变事件。
7.根据权利要求1所述的计算机实现的方法,其中,计算机实现的方法在云环境中实现。
8.根据权利要求1所述的计算机实现的方法,进一步包括在分布式云环境中部署不可变容器。
9.根据权利要求1所述的计算机实现的方法,其中,外部容器命令包括执行命令。
10.一种用于确定命令到进程对应关系的计算机程序产品,所述计算机程序产品包括具有体现在其中的程序指令的非暂时性计算机可读存储介质,所述程序指令可由计算机执行以使所述计算机执行包括以下的方法:
由硬件处理器基于执行时间、针对集群中的多个容器中的每个的容器不变性改变事件中的每个的进程标识符和进程组标识符来识别由执行所述容器不变性改变事件而产生的初始进程;
由硬件处理器检查所识别的初始进程中的初始进程是否与存储外部容器命令的数据库中的条目和由执行外部容器命令中的每个而产生的至少一个相应进程匹配;以及
响应于初始进程与由执行存储在数据库中的外部容器命令当中的特定外部命令而产生的至少一个相应进程匹配,由硬件处理器将所述特定外部命令指定为与初始进程具有对应关系。
11.根据权利要求10所述的计算机程序产品,其中,所述方法进一步包括:由硬件处理器基于所述对应关系将最初可变容器转换成相对于所述外部容器命令的不可变容器。
12.根据权利要求11所述的计算机程序产品,其中,所述转换步骤包括将可变容器的现有代码修改为不可变的,以便由其形成所述不可变容器。
13.根据权利要求10所述的计算机程序产品,其中,所述方法进一步包括:通过执行外部容器命令、检测由执行外部容器命令中的每个而产生的所述至少一个相应进程、以及将外部容器命令中的每个映射到由其产生的所述至少一个相应进程来创建数据库。
14.根据权利要求10所述的计算机程序产品,其中,所述识别步骤包括响应于(i)容器不变性改变事件中的对应一个的进程ID与容器不变性改变事件的进程组ID相同,以及(ii)容器不变性改变事件是进程执行事件,针对容器不变性改变事件中的每个,以容器不变性改变事件的执行时间的顺序将进程中的任意一个确定为所识别的初始进程中的一个。
15.根据权利要求10所述的计算机程序产品,其中,容器不变性改变事件是突变事件。
16.根据权利要求10所述的计算机程序产品,其中,计算机实现的方法在云环境中实现。
17.根据权利要求10所述的计算机程序产品,其中,所述方法进一步包括在分布式云环境中部署不可变容器。
18.根据权利要求10所述的计算机程序产品,其中,外部容器命令包括执行命令。
19.一种用于确定命令到进程对应关系的计算机处理系统,包括:
存储器设备,包括存储于其上的程序代码;
硬件处理器,操作地耦合到所述存储器设备,并且被配置为运行存储在所述存储器设备上的所述程序代码以
基于执行时间、针对集群中的多个容器中的每个的容器不变性改变事件中的每个的进程标识符和进程组标识符来识别由执行所述容器不变性改变事件而产生的初始进程;
检查所识别的初始进程中的初始进程是否与存储外部容器命令的数据库中的条目和由执行外部容器命令中的每个而产生的至少一个相应进程匹配;以及
响应于初始进程与由执行存储在数据库中的外部容器命令当中的特定外部命令而产生的至少一个相应进程匹配,将所述特定外部命令指定为与初始进程具有对应关系。
20.根据权利要求19所述的计算机处理系统,其中,所述硬件处理器进一步被配置为运行所述程序代码以基于所述对应关系将最初可变容器转换成相对于所述外部容器命令的不可变容器。
21.根据权利要求20所述的计算机处理系统,其中,所述硬件处理器将可变容器的现有代码修改为不可变的,以便由其形成所述不可变容器。
22.根据权利要求19所述的计算机处理系统,其中,所述硬件处理器通过执行外部容器命令、检测由执行外部容器命令中的每个而产生的所述至少一个相应进程、以及将外部容器命令中的每个映射到由其产生的所述至少一个相应进程来创建数据库。
23.根据权利要求19所述的计算机处理系统,其中,所述处理器通过以下识别初始进程:响应于(i)容器不变性改变事件中的对应一个的进程ID与容器不变性改变事件的进程组ID相同,以及(ii)容器不变性改变事件是进程执行事件,针对容器不变性改变事件中的每个,以容器不变性改变事件的执行时间的顺序将进程中的任意一个确定为所识别的初始进程中的一个。
24.根据权利要求19所述的计算机处理系统,其中,容器不变性变化事件是突变事件。
25.根据权利要求19所述的计算机处理系统,其中,计算机处理系统被实现为多节点云环境中的节点。
CN202080060708.XA 2019-09-20 2020-08-14 对容器的外部操作与突变事件的对应关系 Pending CN114341847A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/577,108 2019-09-20
US16/577,108 US11580199B2 (en) 2019-09-20 2019-09-20 Correspondence of external operations to containers and mutation events
PCT/IB2020/057672 WO2021053422A1 (en) 2019-09-20 2020-08-14 Correspondence of external operations to containers and mutation events

Publications (1)

Publication Number Publication Date
CN114341847A true CN114341847A (zh) 2022-04-12

Family

ID=74880930

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080060708.XA Pending CN114341847A (zh) 2019-09-20 2020-08-14 对容器的外部操作与突变事件的对应关系

Country Status (6)

Country Link
US (2) US11580199B2 (zh)
JP (1) JP7486575B2 (zh)
CN (1) CN114341847A (zh)
DE (1) DE112020003825T5 (zh)
GB (1) GB2602435B (zh)
WO (1) WO2021053422A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114154160B (zh) * 2022-02-08 2022-09-16 中国电子信息产业集团有限公司第六研究所 容器集群监测方法、装置、电子设备及存储介质
CN115903693A (zh) * 2022-11-04 2023-04-04 北京镁伽机器人科技有限公司 自动化系统的管理方法、资源分配方法、装置及电子设备
CN115858087B (zh) * 2022-11-08 2023-07-18 瀚博创芯半导体(成都)有限公司 在云计算系统中部署多个进程的方法、装置、设备及介质

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2990286B2 (ja) 1990-03-08 1999-12-13 株式会社日立製作所 マルチスレッド環境の計算機システム
CN1529248A (zh) 2003-10-20 2004-09-15 北京启明星辰信息技术有限公司 网络入侵行为关联事件的检测方法及系统
US10310824B2 (en) * 2011-09-07 2019-06-04 Imagine Communications Corp. Distributed ledger platform for computing applications
US8745010B2 (en) * 2012-04-12 2014-06-03 Hewlett-Packard Development Company, L.P. Data storage and archiving spanning multiple data storage systems
US9098269B2 (en) * 2013-01-04 2015-08-04 Microsoft Technology Licensing, Llc System and method to ensure resource access safety with immutable object types
US9785767B2 (en) * 2013-03-15 2017-10-10 Imagine Communications Corp. Systems and methods for determining trust levels for computing components
US10628578B2 (en) * 2013-03-15 2020-04-21 Imagine Communications Corp. Systems and methods for determining trust levels for computing components using blockchain
CN103226675B (zh) 2013-03-20 2015-07-29 华中科技大学 一种分析入侵行为的溯源系统及方法
US9471353B1 (en) 2014-03-21 2016-10-18 Amazon Technologies, Inc. Isolating tenants executing in multi-tenant software containers
JP6459637B2 (ja) 2015-03-02 2019-01-30 日本電気株式会社 情報処理装置、情報処理方法及びプログラム
JP6404771B2 (ja) 2015-05-26 2018-10-17 日本電信電話株式会社 ログ判定装置、ログ判定方法、およびログ判定プログラム
US10346641B2 (en) * 2016-09-23 2019-07-09 Intel Corporation Processors, methods, systems, and instructions to determine whether to load encrypted copies of protected container pages into protected container memory
CN106790291B (zh) 2017-03-09 2020-04-03 腾讯科技(深圳)有限公司 一种入侵检测提示方法及装置
US10503895B2 (en) * 2017-04-11 2019-12-10 Red Hat, Inc. Runtime non-intrusive container security introspection and remediation
US11620145B2 (en) 2017-06-08 2023-04-04 British Telecommunications Public Limited Company Containerised programming
US20190370225A1 (en) * 2017-08-16 2019-12-05 Mapr Technologies, Inc. Tiered storage in a distributed file system
US11303508B2 (en) * 2017-12-15 2022-04-12 Red Hat Israel, Ltd. Deployment state based configuration generation
US11080391B2 (en) * 2019-03-27 2021-08-03 Webroot Inc. Behavioral threat detection definition and compilation
CN110046505B (zh) 2019-04-28 2021-07-16 联想(北京)有限公司 容器安全加固方法、系统及存储介质
US11847214B2 (en) * 2020-04-21 2023-12-19 Bitdefender IPR Management Ltd. Machine learning systems and methods for reducing the false positive malware detection rate

Also Published As

Publication number Publication date
US20210089631A1 (en) 2021-03-25
GB202204879D0 (en) 2022-05-18
US11580199B2 (en) 2023-02-14
US20230054683A1 (en) 2023-02-23
GB2602435A (en) 2022-06-29
US11960578B2 (en) 2024-04-16
WO2021053422A1 (en) 2021-03-25
JP7486575B2 (ja) 2024-05-17
JP2022548579A (ja) 2022-11-21
DE112020003825T5 (de) 2022-04-28
GB2602435B (en) 2023-01-04

Similar Documents

Publication Publication Date Title
US10048954B2 (en) Accelerating software builds
CN110580197A (zh) 大型模型深度学习的分布式计算架构
US10833955B2 (en) Dynamic delivery of software functions
US11960578B2 (en) Correspondence of external operations to containers and mutation events
US20160378754A1 (en) Fast query processing in columnar databases with gpus
US10394971B2 (en) Hybrid simulation of a computing solution in a cloud computing environment with a simplified computing solution and a simulation model
US11526404B2 (en) Exploiting object tags to produce a work order across backup engines for a backup job
US20200278975A1 (en) Searching data on a synchronization data stream
US11880296B2 (en) Generating a test cluster for testing a container orchestration system
US10318559B2 (en) Generation of graphical maps based on text content
US11853749B2 (en) Managing container images in groups
US10915529B2 (en) Selecting an optimal combination of systems for query processing
CN116414518A (zh) Kubernetes上的大数据的数据局部性
WO2023098302A1 (en) Identifying microservices for monolith application through static code analysis
US20200104365A1 (en) Clause analysis based on collection coherence in legal domain
CN114430824B (zh) 用于完整性监测的突变事件检测
US10114844B2 (en) Readiness checker for content object movement
US11243764B1 (en) Code deployment
US11954231B2 (en) Recursively adapting a sensitive content masking technique
US11016874B2 (en) Updating taint tags based on runtime behavior profiles
US20200104348A1 (en) System and method to transform content and to generate a visual indicator of that transformation
CN115964121A (zh) 促进应用容器化
CN114489924A (zh) 用于jni调用的gc安全点的选择性注入

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