CN114365089A - 用于容器虚拟化计算设备中的过载保护的方法 - Google Patents
用于容器虚拟化计算设备中的过载保护的方法 Download PDFInfo
- Publication number
- CN114365089A CN114365089A CN202080065180.5A CN202080065180A CN114365089A CN 114365089 A CN114365089 A CN 114365089A CN 202080065180 A CN202080065180 A CN 202080065180A CN 114365089 A CN114365089 A CN 114365089A
- Authority
- CN
- China
- Prior art keywords
- container
- load
- computing device
- request message
- application
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
Abstract
一种用于容器虚拟化计算设备中的过载保护的方法,所述计算设备通过至少一个工作容器提供计算机实现的应用程序,所述方法具有以下步骤:‑接收(S1)用于调用所述应用程序的请求消息(REQ),‑相对于预先给定的负载极限值检查(S2)所述计算设备的当前存在的利用率,以及‑如果当前的利用率高于所述负载极限值,则将所述请求消息(REQ)转发(S3)给负载保护容器(LC),所述负载保护容器提供所述应用程序的至少一种相对于所述工作容器(WC)修改的处理形式。
Description
技术领域
本发明涉及一种用于容器虚拟化计算设备中的过载保护的方法,该方法通过至少一个工作容器提供计算机实现的应用程序,并且涉及一种相应的计算设备和一种相应的计算机程序产品。
背景技术
在下文中也被称为应用程序的计算机实现的服务经常由服务器系统提供。服务使用者经由通信网络、诸如互联网在服务器系统处请求服务。在这种情况下,应用程序经常在被称为虚拟容器的执行环境中在服务器系统上执行。容器虚拟化是一种用于在所谓的主机系统上相互隔离地运行操作系统的多个实例的方法。与借助管理程序的虚拟化相比,容器共享共同的操作系统并且仅仅确定的操作系统部分被复制并单独地被提供给每个容器。因此,容器虚拟化被认为是特别节省资源的。容器确保由主机系统分派的资源的分开管理。提供确定的应用程序的容器包含用于执行应用程序所需的所有资源,并且可以容易地作为文件传输和安装。资源例如是程序代码、运行时模块、系统工具、系统库。在下文中容器提供确定的应用程序。因此,应用程序被封装在容器中。
应用程序经常由包括多个容器的容器池提供。被用于应用程序的容器的数量通常是高度可扩展的,使得在现有容器的高利用率的情况下动态地激活可以提供所请求的服务或应用程序的新容器。经由负载分配器(英语也称为Loadbalancer(负载均衡器))将应用程序请求、例如http(超文本传输协议)请求分配到数量变得越来越多的容器上。在这种情况下,通常规定最大容器数量,以便一方面覆盖用于提供应用程序的成本并防止计算设备或底层系统的损坏。
如果达到了最大容器数量并且每单位时间的请求消息的数量继续上升或者超过最大可并行处理的开放连接的数量,则通常不处理请求消息并例如返回错误消息给用户作为对请求的响应。通过多个应用程序请求产生的计算设备的过载(也称为拒绝服务DoS攻击)经常由恶意的第三方或所谓的机器人(bot)故意产生。于是授权用户不再能够访问该应用程序。
Citrix Systems Inc:“NetScaler 12.0 Release Notes Documentation”,2018年4月12日(2018-04-12),第1-3919页,URL:https://doc.citrix.com/en-us/netscaler/downloads/citrix-netscaler-12-0.pdf描述一种负载分配器(Loadbalancer),该负载分配器在可用的应用程序服务器过载的情况下通过如下方式确保应用程序的响应:例如显示来自其他服务器的替代网页。
US 8 935 399 B2描述一种方法,其中借助网络跟踪器(Cookie)来执行负载分配。在这种情况下,网络跟踪器由中间连接的设备分派给通信会话,所述通信会话被多个数据处理机之一拒绝。每个其他数据处理机器可以紧接着识别该网络跟踪器并根据该网络跟踪器的内容接受该通信会话。
ABDELZAHER T F等人:“Web content adaptation to improve server overloadbehavior”,COMPUTER NETWORKS,ELSEVIER,AMSTERDAM,NL,第31卷,第11-16期,1999年5月17日(1999-05-17),第1563-1577页,XP004304574,ISSN:1389-1286,DOI:10.1016/S1389-1286(99)00031-6描述一种方法,其中在网络服务器过载的情况下自动地适配网页之一的内容。
在由容器虚拟化系统提供应用程序的情况下,在过载状况下采取与在由常规系统提供的情况下相同的措施,其中焦点在于容器的可扩展性。在这种情况下,利用可扩展性表示方法,该方法在负载增加时生成提供相同的应用程序的附加的容器,并且将关于该应用程序的请求消息分配到一个或多个其他容器上并在那里进行处理。过载状况下的其他措施是所谓的过度供应,也就是说,准备比用于处理惯常数量的请求消息所需的容器更多的容器。这些容器可以在异常负载出现的情况下处理请求消息。另一措施是自动扩展具有非常高上限的资源,将容器池与其他池合并或重新引导到其他池,特别是重新引导到云环境中的集群。此外,已知如下措施,这些措施尝试识别攻击、尤其通过多个请求的攻击和由此引起的对请求的拒绝,并且不处理或重新引导分类为有缺陷的请求消息。此外,在没有其他指示的情况下可以丢弃请求消息的一部分并且不对其进行处理。
发明内容
本发明的任务是提供在容器虚拟化计算设备中的过载状况下的改进措施,在所述过载状况下拒绝更少的对应用程序的授权的请求消息并且因此改进服务质量。
该任务通过在独立权利要求中所描述的措施来解决。在从属权利要求中呈现了本发明的有利的改进方案。
根据第一方面,本发明涉及一种用于容器虚拟化计算设备中的过载保护的方法,该容器虚拟化计算设备通过至少一个工作容器提供计算机实现的应用程序,所述方法具有以下步骤:
- 接收用于调用应用程序的请求消息,
- 相对于预先给定的负载极限值检查计算设备的当前存在的利用率,以及
- 如果当前利用率高于负载极限值,则将请求消息转发给负载保护容器,该负载保护容器提供应用程序的至少一种相对于工作容器修改的尤其减少负载的处理形式,
其中检查在负载分配装置中执行,所述负载分配装置经由编制软件实现,或检查在工作容器中执行。
有利地,在计算设备的过载状况下请求消息未被丢弃,而是被转发到特定的负载保护容器,这实现请求的节省资源的处理,其中所述过载情况通过负载极限值预先给定。因此,应用程序的提供产生比在通过常规工作容器进行处理的情况下更少的资源,并且由此即使在过载状况下也可以处理更多新的请求消息并且可以至少以修改的形式提供应用程序。如果未达到负载极限,则请求以未改变的方式被转发给工作容器。
在这种情况下,工作容器表示容器虚拟化计算设备中的提供未修改的、正常的处理形式、即正常运行中的处理形式的容器。与工作容器相比,负载保护容器以修改的形式提供应用程序并包括减少请求消息的数量或用于提供应用程序的资源的功能。这种功能例如检查:请求是否是由授权用户发送的并且仅转发来自授权用户的请求消息。
在一种有利的实施方式中,负载分配设备根据检查结果将请求消息转发给工作容器或负载保护容器。
这种负载分配装置例如可以是由用于编制容器的软件提供的负载均衡器。负载分配装置非常高效地工作并且因此可以在短时间内检查和转发大数量的请求消息。
在一种有利的实施方式中,在工作容器中执行转发。
这具有如下优点:现有的负载分配装置保持不变,并且仅仅工作容器中的流程必须被补充检查和转发功能。
由此,检查和分配规则可以不同地在不同的工作容器中执行并且简单地实现。
在一种有利的实施方式中,检查和转发在布置在工作容器中的代表单元中执行。
因此,检查和转发在容器中与实际应用程序分开地提供。避免对应用程序本身的直接影响。因此,工作容器可以简单地被补充检查功能和转发功能。
在一种有利的实施方式中,请求消息到负载保护容器的转发以面向状态的方式、尤其通过面向状态的分组检查来执行。
通常,请求消息以无状态的方式(也称为stateless)被分配到来自工作容器池的现有工作容器中的任意工作容器。如果识别出过载状况,也就是说,超过预先给定的负载极限值,则请求消息和所有用于提供应用程序的其他消息以面向状态的方式、例如通过面向状态的分组检查被转发给一个现有的负载保护容器或包含多个负载保护容器的负载保护容器池。这要么通过负载分配装置要么通过工作容器中的或工作容器之内的代表单元中的转发功能来应用。因此确保了,通过负载保护容器提供的该应用程序的修改的处理形式在所有步骤中正确地并且由相同的负载保护容器执行。
在一种有利的实施方式中,负载极限值具有不同的负载类型特定的极限值,其取决于当前存在于计算设备处的利用率的类型。
因此,可以利用不同的措施对不同类型的负载作出反应。不同类型的过载例如是达到最大工作容器数量、由于每单位时间大数量的请求消息导致的突然过载或太多并行开放的应用程序。不同类型的过载也可以通过评估在容器中运行的应用程序的错误日志来给定。负载类型特定的极限值也可以通过对已到达的请求消息的预先给定的最大响应时间来预先给定。因此可以灵活地对不同类型的过载和与相应的过载相联系的计算设备的干扰作出反应。
在一种有利的实施方式中,根据当前存在的利用率的类型将请求消息转发到不同的负载保护容器,所述负载保护容器提供应用程序的不同的修改的、减少负载的处理形式。
有利地,负载保护容器因此可以最优地根据负载类型来定制或配置。在每单位时间存在大数量的请求消息(其例如表明自动生成的请求消息)的情况下,可以例如通过前置挑战响应方法、例如通过发送验证码来检查,所述验证码通常需要由人类用户输入。如果通过验证码的询问没有正确地被答复,则该请求被认为是恶意的并且不被进一步处理。替代地,在由于超过每秒最大连接数量造成的过载的情况下,可以使用具有减少负载的处理变型方案的负载保护容器,其中例如通过舍弃动态产生的网页内容来节约计算能力,所述网页内容使计算设备承受高负载。例如,发送响应消息,所述响应消息例如利用静态内容显示等待时间。在未结束的太多的并行请求的情况下,过载容器可以以更短的超时工作。
在一种有利的实施方式中,转发附加地根据如下标准中的至少一个、即根据所请求的应用程序的类型、请求消息的发送方的标识符或请求消息的用户的角色来执行。
因此可以动态地并且根据所述标准来执行尤其到负载保护容器的转发。因此,可以根据所检查的标准创建和使用具有特定负载保护功能的不同负载容器。对此不利的仅仅是需要进一步检查来分配请求消息,并且因此转发过程需要更多时间。
在一种有利的实施方式中,在负载保护容器中,相对于负载分配规则检查请求消息,并且根据检查结果执行应用程序的至少一种由负载分配规则预先给定的修改的处理形式。
这具有如下优点:在单个负载保护容器中执行应用程序的不同的修改的处理形式,并且通过相对于负载分配规则检查请求消息来选择所述处理形式。这具有如下其他优点:可以在没有附加地检查请求消息本身的情况下并且因此时间高效地执行请求消息到尤其工作容器的一般分配。仅在已经识别出过载的情况下才执行负载保护容器中的请求消息的检查。这仅仅是在计算设备中接收到的请求消息的一部分。
在一种有利的实施方式中,在负载保护容器中,相对于攻击模式分析请求消息,所述攻击模式尤其在攻击数据库处被查询。此外,借助与IT安全服务提供商的数据交换,可以更新攻击模式并快速地对全球出现的攻击作出反应(考虑到全球威胁形势(Global ThreatLandscape))。
在另一有利的实施方式中,在负载保护容器中,除了攻击模式之外相对于事先通过系统的校准所确定的试探法分析请求消息。该试探法描述请求方的惯常行为,例如在营业时间之外提出明显更少的请求。
因此,在负载保护容器中,通常地确定的和经由攻击数据库提供的并且例如连续地更新的攻击签名可以被用于分析请求消息和识别攻击模式。如果识别出相应的攻击模式,则可以将请求消息标记为有害的并采取保护措施,例如可以不处理请求和/或将请求报告给上级单元。
所有所描述的用于DoS攻击的指示器可以由容器用于计算请求的DoS风险评分(DoS-Risk-Score)。DoS风险评分可以经由接口提供给处理或传输请求的其他服务和应用程序。
在一种有利的实施方式中,根据计算设备的利用率,尤其除了现有工作容器之外或作为现有工作容器的替代提供一个或多个负载保护容器。
通过动态地根据计算设备的利用率可接通的负载保护容器,可以在没有简单地拒绝或不处理请求消息的情况下处理更大数量的请求消息并且将应用程序的至少缩减的处理形式提供给用户。所请求的应用程序可以更频繁地提供给用户。因此改进针对用户的服务质量。
本发明的第二方面涉及一种用于通过至少一个工作容器以容器虚拟化的方式提供计算机实现的应用程序的计算设备,该计算设备具有:接收装置,所述接收装置构成为接收用于调用应用程序的请求消息;检查单元,所述检查单元构成为相对于预先给定的负载极限值检查计算设备的当前存在的利用率;和转发单元,所述转发单元构成为,在当前利用率高于负载极限值时,将请求消息转发给负载保护容器,所述负载保护容器提供应用程序的至少一个相对于工作容器修改的、尤其减少负载的处理形式,其中所述检查在负载分配装置(23)中执行,所述负载分配装置经由编制软件实现,或所述检查在工作容器(24)中执行。
根据本发明的计算设备利用相同的资源相对于常规计算设备提供具有改进的服务质量的应用程序,因为处理更多请求消息并且丢弃来自授权用户的更少请求消息。
在一种有利的实施方式中,控制单元在负载分配装置中构成,并且负载分配装置根据检查结果将请求消息转发给工作容器或负载保护容器。
在一种有利的实施方式中,控制单元在工作容器中尤其以代表单元的形式构成。
在这种情况下,控制装置可以在有效的工作容器中的每个工作容器中构成。因此,负载分配装置可以保持不变并且因此以时间优化的方式被保持。工作容器中的控制装置可以灵活地针对应用程序被适配。
本发明的第三方面涉及一种计算机程序产品,其包括可以直接加载到数字计算机的存储器中的计算机可读介质,所述计算机可读介质包括适合于执行根据权利要求1至11中任一项所述的方法的步骤的程序代码部分。
只要在随后的描述中没有另外说明,术语“接收”、“检查”、“转发”等就优选地涉及改变和/或产生数据和/或将所述数据转变成其他数据的动作和/或过程和/或处理步骤(也:通信协议),其中所述数据尤其可以作为物理变量、例如作为电脉冲呈现或存在。表述“计算设备”表示具有数据处理特性的电子设备并且例如可以是一个或多个服务器,所述服务器尤其通过多个云用户共享地使用并且被称为云系统,所述服务器可以以计算机辅助的方式处理数据并且包括用于数据处理的至少一个处理器。
与本发明相关联地,“计算机实现的应用程序”例如可以被理解为应用程序的实现,其中尤其处理器执行该应用程序的至少一个方法步骤。相应的“单元”或“装置”、例如接收或控制单元或负载分配装置可以以硬件技术的方式和/或以软件技术的方式实现。在以硬件技术的方式实现的情况下,相应的单元可以构成为设备或设备的一部分,例如构成为微处理器。在以软件技术的方式实现的情况下,相应的单元可以构成为计算机程序产品、函数、例程、程序代码的一部分或可执行的对象。
计算机程序产品、诸如计算机程序装置例如可以作为存储介质或以从网络中的服务器可下载的文件的形式提供或供应。
附图说明
根据本发明的方法以及根据发明的计算设备的实施例在附图中示例性地呈现并且借助随后的描述更详细地来解释。
图1作为流程图示出根据本发明的方法的第一实施方式;
图2以示意图示出具有在负载分配装置中的检查的根据本发明的方法的第二实施例;
图3以示意图示出具有在工作容器中的检查的根据本发明的方法的第三实施方式;
图4以框图示出根据本发明的计算设备的第一实施例;和
图5以框图示出根据本发明的计算设备的第二实施例。
彼此对应的部分在所有图中配备有相同的附图标记。
具体实施方式
计算机实现的应用程序由计算设备提供,所述计算设备具有唯一的或多个计算单元、诸如处理器或服务器单元。计算设备以容器虚拟化运行方式运行。在这种情况下,应用程序通过容器被封装并且实施为闭合系统,在所述容器中除了用于处理应用程序的程序之外也包括用于提供应用程序所必需的操作系统资源、运行时管理、模块或软件库。
工作容器通常以“正常”处理形式执行应用程序的多个实例。如果通过工作容器不再能够处理新的请求消息,则通常新的工作容器被激活并被提供用于处理这些其他请求消息。容器的这种附加的基于负载的激活也被称为自动扩展。如果达到了最大工作容器数量,则通常拒绝其他请求消息并例如利用错误消息来答复发送方。为了减少对允许的请求消息的这种拒绝,提出如在图1中所呈现的方法。
在步骤S1中,接收用于调用或开始计算设备中的计算机实现的应用程序的请求消息REQ。于是在方法步骤S2中相对于预先给定的负载极限值maxL检查计算设备的当前存在的利用率L。如果在该检查期间确定当前利用率L高于负载极限值maxL,则请求消息REQ被转发给负载保护容器LC,所述负载保护容器提供应用程序的至少一个相对于工作容器WC修改的、减少负载的处理形式,参见S3。如果利用率L小于或等于负载极限值maxL,则请求消息REQ被转发给工作容器WC,参见步骤S4,并由应用程序的常规处理形式提供。
负载保护容器LC通过如下方式来答复请求消息:例如在应用层上执行用于防止多个请求攻击(也被称为(D)DoS攻击)的附加措施。这样的措施是用于识别允许的请求消息或拒绝被识别为不允许的请求消息的请求消息的功能。这样的措施例如在执行实际的应用程序之前执行,并与应用程序本身一起构成应用程序的修改的、减少负载的处理形式。这样的措施例如是在应用程序的实际执行之前前置问答方法(也称为挑战响应(Challenge-Response)方法)。在这种情况下,计算设备向进行请求的设备或用户发送询问,所述设备或用户答复该询问并且由计算设备检查所述询问。这例如可以是加密挑战响应方法,在所述挑战响应方法中通过设备中的加密方法改变所述询问并且返回给计算设备并且在计算设备中与预期的结果比较。问答方法也可以是面向应用程序的,使得应用程序以预先给定的方式改变所述询问并且返回给计算设备中的应用程序。这例如可以是利用询问作为输入参数来求解数学问题。问答方法可以对于应用程序的用户而言是透明的,或者也可以要求用户输入。例如在验证码的情况下情况如此,其中例如由用户答复发送给用户的图像上的确定对象的数量。
此外,在应用程序的修改的减少负载的处理形式中例如代替动态产生的、构成计算设备的特别高负载的页面内容,可以仅传送静态的、预先给定的页面内容。在另一变型方案中,仅当特定的信息例如由于先前的请求已经在计算设备的存储器中存在时,才利用这些信息答复请求消息。作为其他修改的减少负载的处理形式,例如可以根据请求消息返回具有用于呈现的较低分辨率的页面内容。
工作容器提供的应用程序的另一修改的减少负载的处理形式例如通过对请求消息的至少部分评估来实现。在这种情况下,例如确定发送方的IP地址、用户的角色或优先级标识符,并且仅进一步处理来自例如通过肯定列表预先给定的被授权的发送方或角色或优先服务的请求消息。所有其他请求消息都不被处理或被拒绝。例如可以通过不同优先级的用户类别、例如“优选用户”、“高级用户”来预先给定用户的角色。但是,用户的角色也可以是“管理员”、“服务提供者”等。请求消息的优选处理也可以根据地理区域进行,使得来自空间上可定位的攻击者的请求消息有针对性地被丢弃或不被处理。
在另一变型方案中,在负载保护容器中相对于攻击模式分析请求消息并且因此在进一步处理之前识别被操纵的请求消息。在被识别为被操纵的消息的情况下,例如可以产生警告信号和/或不进一步处理该请求消息。在另一变型方案中,在负载保护容器中,相对于试探法、即在请求的情况下不寻常的行为模式来分析请求消息。因此,被操纵的请求消息在进一步处理之前以高概率被识别并被分类为被操纵的。在被分类为被操纵的消息的情况下,例如可以产生警告信号和/或不进一步处理该请求消息。
负载极限值maxL可以根据当前在计算设备上存在的利用率的类型具有不同的负载类型特定的极限值。负载类型特定的极限值例如是为服务配置的最大工作容器数量的值、每秒请求消息的数量的值、并行开放的请求连接或平行运行的应用程序的数量的值或是错误日志的最大数量的值。错误日志通过评估在工作容器中运行的应用程序的错误来确定并且作为错误日志存储在工作容器中。
可以根据过载的相应类型来采取适配于该状况的措施。如果例如每秒请求消息的数量太多,则问答方法适合于减少该数量。由此例如可以识别和防止通过所谓的机器人机械地发出请求消息。而如果并行开放的请求消息的数量超过对于应用程序而言负载类型特定的极限值,则创建在计算设备侧借助限制于后端请求、即通过静态内容而不是动态和资源密集内容对非对称资源消耗的利用并发送给发送方可能是一种解决方案。这种评估也可以经由人工智能安全算法运行。
在一个变型方案中,负载容器LC提供应用程序的所有所描述的、修改的、减少负载的实施方式。然而,也可以提供负载保护容器,所述负载保护容器包括应用程序的可能的、修改的、减少负载的处理形式的唯一处理形式或子集。相应地,可以根据在分别特定的负载保护容器上的当前存在的利用率的类型使用请求消息,所述负载保护容器提供针对负载类型优化的处理形式。
此外,可以附加地根据至少一个其他标准执行转发。为此,在检查利用率期间或在转发期间至少部分地分析请求消息。尤其,评估在请求消息的报头部分中的说明,所述说明包含关于发送方和关于所请求的应用程序的信息,并例如根据所请求的应用程序或根据请求消息的发送方的标识符、例如所述发送方的IP地址或根据请求消息的用户的角色执行到不同的负载保护容器的转发。也可以根据会话标识符(也称为session cookie(会话缓存))转发请求消息,所述会话标识符同样包含在请求消息的报头部分中。
可以根据计算设备或一个或多个现有的有效的工作容器WC的利用率来提供一个或多个负载保护容器LC。在这种情况下,除了已经现有的工作容器之外可以提供负载保护容器,或作为对现有的工作容器的替代启动负载保护容器。
图2示出该方法的一种实施方式,在所述方法中请求消息20、21、22由负载分配装置23检查并根据检查结果被转发给工作容器24或负载保护容器25。在这种情况下,工作容器24以未修改的处理形式28提供应用程序。根据请求消息的数量或应用程序的负载,提供工作容器池26中的多个工作容器24。负载保护容器25通过修改的减少负载的处理形式29提供应用程序。在这种情况下,同样可以提供负载保护容器池27中的一个或多个负载保护容器25、25.1、25.2。在这种情况下,负载保护容器25、25.1、25.2可以以不同的表现形式存在。所呈现的负载保护容器25.1和25.2例如为应用程序提供不同的修改的处理形式。负载保护容器25例如可以包括多种不同的修改的处理形式。负载保护容器25、25.1、25.2可以相应地包括不同的负载分配规则。
请求消息的分配通过负载分配装置23来实现,该负载分配装置典型地由所谓的编制软件、诸如Kubernetes来实现。在所呈现的实施方式中,负载分配装置23已知计算设备关于应用程序的利用率。负载分配装置23执行对利用率的检查以及根据检查的结果执行转发。编制软件必须识别过载状况并将请求消息重新引导到具有内建的负载保护功能的容器、即应用程序的修改的减少负载的处理形式29。负载保护容器25、25.1、25.2同样被编制,以便能够根据负载对所述负载保护容器进行扩展。如果负载保护容器25被启动,则例如工作容器24被结束,以便防止资源短缺。替代地,可以为负载保护容器25维持特定资源。
图3示出该方法的一种实施方式,在所述实施方式中对请求消息20、21、22的检查和转发不在负载分配装置33中执行,而是在负载保护容器池36的负载保护容器34中的每个中执行。为此,例如在每个工作容器34中提供代表单元31。
代替由负载分配装置33中的编制软件集中识别过载状况,在未修改的处理形式28上游的代表单元31可以通过检查相应的工作容器34的本地利用率来在工作容器34上本地开始转发。替代地,当前存在的利用率L可以通过编制软件、即尤其通过负载分配装置33提供给代表单元31。所提供的存在的利用率被用于检查请求消息20、21、22。
为了能够执行请求消息20、21、22到负载保护容器上的转发,必须通过面向状态的分组检查来执行转发。分组是诸如在互联网协议中定义的数据分组。在图2中呈现了用于执行应用程序的请求消息20、21和随后的连接。这些请求消息20、21由负载分配装置23以无状态方式转发到任意工作容器24。面向状态的分组检查被实现,使得仅在被转发到工作容器24的请求消息20、21与被引导到负载保护容器25、25.1、25.2的请求消息22和其随后的消息之间进行区分。不需要对工作容器池26或负载保护容器池27之内的各个工作或负载保护容器24、25的面向状态的分组检查。因此可以在池中的各个容器之间任意地来回切换。
在图3中,负载分配装置33将请求消息20、21、22以无状态的方式并且因此任意地分配到工作容器池36中的工作容器34。在工作容器池36中,代表单元31安装在每个容器34中,所述代表单元判断:请求消息20、21、22是转发到应用程序的未修改的处理形式28还是转发给负载保护容器25。转发的相应的目标、即在工作容器34中的未修改的处理形式28或在负载保护容器25中的修改的处理形式29必须被通知给每个代表单元31,其中请求消息应被转发给所述未修改的处理形式28或修改的处理形式29。在代表单元31中借助面向状态的分组检查来执行请求消息22到负载保护容器25的转发。
必须确保,负载保护容器25可以永久地被维持或者通过代表单元31或负载分配装置23中的编制软件来激活。
图4现在示出通过容器虚拟化提供应用程序的计算设备40。在这种情况下,来自工作容器池46的一个或多个工作容器44和来自负载保护容器池47的一个或多个负载保护容器45访问计算设备提供的共同的操作系统48。计算设备40此外包括接收单元41以及负载分配装置43。负载分配装置43包括控制单元42,该控制单元配置为执行根据本发明的方法的检查和转发。负载分配装置43尤其经由编制软件来实现。控制装置42包括检查单元以及转发单元,其如所呈现的那样以集成的方式或以分成两个部分的方式实施。控制装置42可以以软件技术的方式、例如作为编制软件的一部分或者以硬件技术的方式、例如在一个或多个处理器上实施。
图5示出计算设备50的另一实施例,其根据计算设备40以容器虚拟化的方式通过来自工作容器池56或负载保护容器池57的工作容器54或负载容器55实施计算机实现的应用程序。工作容器池56以及负载保护容器池57访问共同的操作系统58。计算设备50此外包括接收单元51以及负载分配装置53。在这种情况下,负载分配装置53将所有来自接收单元51的接收到的请求消息转发给工作容器池56。在这种情况下,每个请求消息都转发给在工作容器54上游的代表单元52。在过载的情况下,代表单元52将请求消息转发给负载容器池57中的负载保护容器55。
因此,通过附加接通(Hinzuschalten)负载保护容器的负载保护及早地在负载增加时开始并且这样已经可以在计算设备或工作容器达到过载之前保护负载。
所有所描述的和/或所描绘的特征可以在本发明的范围中有利地彼此组合。本发明并不限于所描述的实施例。
Claims (15)
1.一种用于容器虚拟化计算设备中的过载保护的方法,所述计算设备通过至少一个工作容器提供计算机实现的应用程序,所述方法具有以下步骤:
- 接收(S1)用于调用所述应用程序的请求消息(REQ,20,21,22),
- 相对于预先给定的负载极限值(maxL)检查(S2)所述计算设备的当前存在的利用率(L),以及
- 如果当前的利用率高于所述负载极限值(maxL),则将所述请求消息(REQ,20,21,22)转发(S3)给负载保护容器(LC,25),所述负载保护容器提供所述应用程序的至少一种相对于所述工作容器(WC,24)修改的处理形式(29),其中所述检查(S2)在负载分配装置(23)中执行,所述负载分配装置经由编制软件实现,或
所述检查(S2)在工作容器(24)中执行。
2.根据权利要求1所述的方法,其中所述负载分配装置(23)根据检查结果将所述请求消息转发给工作容器(24)或负载保护容器(25)。
3.根据权利要求1所述的方法,其中所述转发(S3)在工作容器(24)中执行。
4.根据权利要求3所述的方法,其中所述检查(S2)和转发(S3)在布置在所述工作容器(34)中的代表单元(31)中执行。
5.根据上述权利要求中任一项所述的方法,其中所述请求消息(REQ,20,21,22)到负载保护容器(24,34)的转发(S3)借助面向状态的分组检查来执行。
6.根据上述权利要求中任一项所述的方法,其中所述负载极限值(maxL)具有不同的负载类型特定的极限值,所述极限值取决于当前存在于所述计算设备(40,50)上的利用率的类型。
7.根据上述权利要求中任一项所述的方法,其中所述请求消息(REQ,20,21,22)根据当前存在的利用率的类型被转发到不同的负载保护容器(25,25.1,25.2),所述负载保护容器提供所述应用程序的不同的修改的、减少负载的处理形式。
8.根据上述权利要求中任一项所述的方法,其中所述转发(S3)附加地根据以下标准中的至少一个来执行:
- 所请求的应用程序的类型,
- 所述请求消息(REQ,20,21,22)的发送方的标识符,
- 所述请求消息(REQ,20,21,22)的用户的角色。
9.根据上述权利要求中任一项所述的方法,其中在所述负载保护容器(25)中,相对于在请求的情况下事先通过所述计算设备(40, 50)的校准所确定的不寻常的行为模式来分析所述请求消息(22)。
10.根据上述权利要求中任一项所述的方法,其中在所述负载保护容器(25)中,相对于攻击模式来分析所述请求消息(22),所述攻击模式尤其在攻击数据库处被查询。
11.根据上述权利要求中任一项所述的方法,其中根据所述计算设备(40,50)的利用率,尤其除了现有的工作容器(24,34)之外或作为对现有的工作容器(24,34)的替代,提供一个或多个负载保护容器(25,25.2,25.2)。
12.一种用于通过至少一个工作容器(44,45)以容器虚拟化的方式提供计算机实现的应用程序的计算设备(40,50),该计算设备具有:
- 接收单元(41,51),所述接收单元构成为接收用于调用所述应用程序的请求消息,
- 控制单元(42,52),所述控制单元构成为相对于预先给定的负载极限值检查所述计算设备(40,50)的当前存在的利用率,以及如果当前的利用率高于所述负载极限值,则将所述请求消息转发给负载保护容器(45,55),所述负载保护容器提供所述应用程序的至少一种相对于所述工作容器(44,45)修改的处理形式,其中所述检查在负载分配装置(23)中执行,所述负载分配装置经由编制软件实现,或所述检查在所述工作容器(24)中执行。
13.根据权利要求12所述的计算设备(40),其中所述控制单元(42)在所述负载分配装置(43)中构成,并且所述负载分配装置(43)根据检查结果将所述请求消息转发给工作容器(44)或负载保护容器(45)。
14.根据权利要求12所述的计算设备,其中所述控制单元(53)在所述工作容器(54)中尤其以代表单元的形式构成。
15.一种计算机程序产品,所述计算机程序产品包括计算机可读介质,所述计算机可读介质能够直接加载到数字计算机的存储器中,所述计算机可读介质包括程序代码部分,所述程序代码部分适合于执行根据权利要求1至11中任一项所述的方法的步骤。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP19197775.0A EP3796164A1 (de) | 2019-09-17 | 2019-09-17 | Verfahren zur überlastabwehr in einer container-virtualisierten rechenvorrichtung |
EP19197775.0 | 2019-09-17 | ||
PCT/EP2020/074226 WO2021052739A1 (de) | 2019-09-17 | 2020-08-31 | Verfahren zur überlastabwehr in einer container-virtualisierten rechenvorrichtung |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114365089A true CN114365089A (zh) | 2022-04-15 |
Family
ID=67997355
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080065180.5A Pending CN114365089A (zh) | 2019-09-17 | 2020-08-31 | 用于容器虚拟化计算设备中的过载保护的方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220334877A1 (zh) |
EP (2) | EP3796164A1 (zh) |
CN (1) | CN114365089A (zh) |
WO (1) | WO2021052739A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11868287B2 (en) * | 2020-12-17 | 2024-01-09 | Micron Technology, Inc. | Just-in-time (JIT) scheduler for memory subsystems |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8392562B2 (en) * | 2009-12-23 | 2013-03-05 | Citrix Systems, Inc. | Systems and methods for managing preferred client connectivity to servers via multi-core system |
US10892942B2 (en) * | 2016-01-22 | 2021-01-12 | Equinix, Inc. | Container-based cloud exchange disaster recovery |
US10439987B2 (en) * | 2017-06-12 | 2019-10-08 | Ca, Inc. | Systems and methods for securing network traffic flow in a multi-service containerized application |
-
2019
- 2019-09-17 EP EP19197775.0A patent/EP3796164A1/de not_active Withdrawn
-
2020
- 2020-08-31 WO PCT/EP2020/074226 patent/WO2021052739A1/de unknown
- 2020-08-31 EP EP20771467.6A patent/EP3999962A1/de active Pending
- 2020-08-31 CN CN202080065180.5A patent/CN114365089A/zh active Pending
- 2020-08-31 US US17/641,921 patent/US20220334877A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2021052739A1 (de) | 2021-03-25 |
EP3796164A1 (de) | 2021-03-24 |
EP3999962A1 (de) | 2022-05-25 |
US20220334877A1 (en) | 2022-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101669694B1 (ko) | 네트워크 자원들에 대한 건강 기반 액세스 | |
US7822839B1 (en) | Method and system for accessing network services | |
US9648033B2 (en) | System for detecting the presence of rogue domain name service providers through passive monitoring | |
US9130977B2 (en) | Techniques for separating the processing of clients' traffic to different zones | |
EP3939231B1 (en) | Intent-based governance service | |
EP2132674B1 (en) | Distributed computer system | |
GB2581284A (en) | Endpoint security | |
EP3433990A1 (en) | Protecting dynamic and short-lived virtual machine instances in cloud environments | |
US7840501B1 (en) | Behavioral analysis apparatus and associated method that utilizes a system selected based on a level of data | |
EP2216718A1 (en) | Virtual machine address management | |
US20130254872A1 (en) | System and method for mitigating a denial of service attack using cloud computing | |
US20050246522A1 (en) | Securing applications and operating systems | |
Mahdavi Hezavehi et al. | An anomaly-based framework for mitigating effects of DDoS attacks using a third party auditor in cloud computing environments | |
WO2007099276A1 (en) | Message processing methods and systems | |
US11983220B2 (en) | Key-value storage for URL categorization | |
US20230350966A1 (en) | Communicating url categorization information | |
CN114365089A (zh) | 用于容器虚拟化计算设备中的过载保护的方法 | |
US20110289548A1 (en) | Guard Computer and a System for Connecting an External Device to a Physical Computer Network | |
US20170223060A1 (en) | Security control | |
CN110912936B (zh) | 媒体文件安全态势感知方法和防火墙 | |
CN109558730A (zh) | 一种浏览器的安全防护方法及装置 | |
US12069028B2 (en) | Fast policy matching with runtime signature update | |
US11941109B2 (en) | Customizable and dynamically mutable operating systems | |
CN108989320B (zh) | 一种分布式拒绝服务DDoS攻击目标的检测方法及装置 | |
Will et al. | Enclave Management Models for Safe Execution of Software Components. |
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 |