CN110659106A - 一种容器状态检查方法及装置 - Google Patents
一种容器状态检查方法及装置 Download PDFInfo
- Publication number
- CN110659106A CN110659106A CN201910866580.5A CN201910866580A CN110659106A CN 110659106 A CN110659106 A CN 110659106A CN 201910866580 A CN201910866580 A CN 201910866580A CN 110659106 A CN110659106 A CN 110659106A
- Authority
- CN
- China
- Prior art keywords
- time
- detection time
- application
- container
- preset
- 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.)
- Granted
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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45575—Starting, stopping, suspending or resuming virtual machine instances
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45591—Monitoring or debugging support
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Automatic Analysis And Handling Materials Therefor (AREA)
Abstract
本发明提供一种容器状态检查方法及装置,该方法包括:通过确定初始探测时间和结束探测时间是否符合预设要求;若初始探测时间和结束探测时间均符合预设要求,当容器的等待时间到达初始探测时间时,在结束探测时间到达之前检查应用是否正常启动,若确定应用正常启动,基于应用正常启动的时间和预设的第一延迟时间,设置新的结束探测时间,并记录容器的健康检查状态;若确定应用未正常启动,基于当前的结束探测时间和预设的第二延迟时间,设置新的结束探测时间,并重启容器。在本发明中,通过确定应用是否正常启动,从而重新设置结束探测时间,能够准确预估应用启动时间,使得应用能够正常接收业务访问请求。
Description
技术领域
本发明涉计算机应用技术领域,尤其涉及一种容器状态检查方法及装置。
背景技术
随着计算机技术的发展不断的发展,计算机应用越来越多,计算机处理的应用数据不断增加,使得应用数据出现BUG的次数也在不要断增加,要使计算机应用实时处于正常运行,需要对计算机应用运行过程进行周期性的健康检查和修复操作。
现有技术中,通过Kubernetes来对计算机应用运行过程进行周期性的健康检查和修复操作。Kubernetes通过设置在容器启动多长时间以后周期性访问计算机应用的进程情况,当计算机应用启动缓慢,在规定的次数内无法成功响应,则认为该应用出现BUG然后自动重启容器,由此就会出现无法准确预估应用启动时间,从而造成计算机应用一直处于未就绪状态无法接受业务访问请求。
发明内容
有鉴于此,本发明实施例提供一种容器状态检查方法及装置,以解决现有技术中无法接受业务访问请求的问题。
为实现上述目的,本发明实施例提供如下技术方案:
本发明实施例一方面公开了一种容器状态检查方法,所述方法包括:
读取预先创建的配置文件中的配置参数,并确定初始探测时间和结束探测时间;
确定所述初始探测时间和结束探测时间是否符合预设要求;
若所述初始探测时间和结束探测时间均符合预设要求,当容器的等待时间到达所述初始探测时间时,在所述结束探测时间到达之前检查应用是否正常启动,其中,所述容器的等待时间用于指示容器启动之后,直至所述容器接收到所述应用发送的探测响应成功消息之前的任意时间;
若确定所述应用正常启动,基于所述应用正常启动的时间和预设的第一延迟时间,设置新的结束探测时间,并记录所述容器的健康检查状态;
若确定所述应用未正常启动,基于所述当前的结束探测时间和预设的第二延迟时间,设置新的结束探测时间,并重启所述容器。
可选的,所述确定所述初始探测时间和结束探测时间是否符合预设要求,包括:
判断所述结束探测时间是否大于等于所述初始探测时间;
当所述结束探测时间大于等于所述初始探测时间,确定所述初始探测时间为符合预设要求的初始探测时间,并判断所述结束探测时间是否大于预先配置的结束探测时间;
当所述结束探测时间大于预先配置的结束探测时间时,将所述预先配置的结束探测时间设置为符合预设要求的结束探测时间。
可选的,所述判断所述结束探测时间是否大于预先配置的结束探测时间,还包括:
当所述结束探测时间小于等于预先配置的结束探测时间时,确定所述结束探测时间为符合预设要求的结束探测时间。
可选的,若确定所述应用正常启动,基于所述应用正常启动的时间和预设的第一延迟时间,设置新的结束探测时间,并记录所述容器的健康检查状态,包括:
控制监测探针向应用下发预先配置的探测命令;
判断在所述结束探测时间到达之前是否接收到所述应用发送的探测响应成功消息;
若在所述结束探测时间到达之前接收到所述应用发送的探测响应成功的消息,确定所述应用正常启动;
记录容器启动之后至接收到所述应用发送的探测响应成功消息时的时间,并将所述记录的时间与预设的第一延迟时间的和设置为新的结束探测时间,且记录所述容器的健康检查状态。
本发明实施例另一方面公开了一种容器状态检查装置,所述装置包括:检查时间设定器和健康检查控制器;
所述检查时间设定器,用于读取预先创建的配置文件中的配置参数,并确定初始探测时间和结束探测时间;并确定所述初始探测时间和结束探测时间是否符合预设要求;及若确定所述应用正常启动,则基于所述应用正常启动的时间和预设的第一延迟时间,设置新的结束探测时间;且若确定所述应用未正常启动,则基于所述当前的结束探测时间和预设的第二延迟时间,设置新的结束探测时间;
所述健康检查控制器,用于若所述初始探测时间和结束探测时间均符合预设要求,当容器的等待时间到达所述初始探测时间时,在所述结束探测时间到达之前检查应用是否正常启动,其中,所述容器的等待时间用于指示容器启动之后,直至所述容器接收到所述应用发送的探测响应成功消息之前的任意时间;若确定所述应用正常启动,记录所述容器的健康检查状态;若确定所述应用未正常启动,重启所述容器。
可选的,所述检查时间设定器在确定所述初始探测时间和结束探测时间是否符合预设要求方面,具体用于:
判断所述结束探测时间是否大于等于所述初始探测时间;当所述结束探测时间大于等于所述初始探测时间,确定所述初始探测时间符合预设要求,并判断所述结束探测时间是否大于预先配置的结束探测时间;当所述结束探测时间大于预先配置的结束探测时间时,将所述预先配置的结束探测时间设置为符合预设要求的结束探测时间。
可选的,所述检查时间设定器还包括:
当所述结束探测时间小于等于预先配置的结束探测时间时,确定确定所述结束探测时间为符合预设要求的结束探测时间。
可选的,所述检查时间设定器在基于所述应用正常启动的时间和预设的第一延迟时间,设置新的结束探测时间方面,具体用于:
记录容器启动之后至接收到所述应用发送的探测响应成功消息时的时间,并将所述记录的时间与预设的第一延迟时间的和设置为新的结束探测时间。
基于上述本发明实施例提供的一种容器状态检查及装置,该方法包括:读取预先创建的配置文件中的配置参数,并确定初始探测时间和结束探测时间,确定初始探测时间和结束探测时间是否符合预设要求;若初始探测时间和结束探测时间均符合预设要求,当容器的等待时间到达初始探测时间时,在结束探测时间到达之前检查应用是否正常启动,若确定应用正常启动,基于应用正常启动的时间和预设的第一延迟时间,设置新的结束探测时间,并记录容器的健康检查状态;若确定应用未正常启动,基于当前的结束探测时间和预设的第二延迟时间,设置新的结束探测时间,并重启容器。在本发明实施例中,通过判断容器是否在结束探测时间到达之前接收到应用发送的探测响应成功的消息,从而重新设置新的结束探测时间,使得应用能够正常启动,且能够接受业务访问请求。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种容器状态检查方法的流程示意图;
图2为本发明实施例提供的一种确定符合要求的初始探测时间和结束探测时间的流程示意图;
图3为本发明实施例提供的另一种确定符合要求的初始探测时间和结束探测时间的流程示意图;
图4为本发明实施例提供的一种容器状态检查方法的流程示意图;
图5为本发明实施例提供的一种容器状态检查的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
由背景技术可知,通过Kubernetes来对计算机应用运行过程进行周期性的健康检查和修复操作。Kubernetes通过设置在容器启动多长时间以后周期性访问计算机应用的进程情况,当计算机应用启动缓慢,在规定的次数内无法成功响应,则认为该应用出现BUG然后自动重启容器,由此就会出现无法准确预估应用启动时间,从而造成计算机应用处于未就绪状态无法接受业务访问请求。
因此,本发明实施例提供了一种容器状态检查及装置,通过判断容器是否在结束探测时间到达之前接收到应用发送的探测响应成功的消息,从而确定应用启动状态。当应用启动成功完成时,开始记录容器的健康检查状态,使得应用能够正常启动,且能够接受业务访问请求。
参考图1,为本发明实施例提供的一种容器状态检查方法的流程示意图,应用于Kubernetes,该方法包括以下步骤:
步骤S101:读取预先创建的配置文件中的配置参数,并确定初始探测时间和结束探测时间。
在具体实现步骤S101的过程中,Kubernetes预先创建pod里的容器中YAML配置文件,在容器启动时,获取初始探测时间和结束探测时间。
需要说明的是,所述配置文件中的配置参数除了包括初始探测时间和结束探测时间,还包括执行探测诊断命令的时间间隔等其他影响健康检查的参数,对此本申请不加以限制。
需要说明的是,所述初始探测时间initialDelaySecond为启动容器后,首次在容器内部执行cat/tmp/healthy命令,即探测诊断命令的延迟时间。所述结束探测时间endDelaySecond为在容器内部结束执行的时间。
需要说明的是,所述pod由一个或多个容器组成。
步骤S102:确定所述初始探测时间和结束探测时间是否符合预设要求,若所述初始探测时间和结束探测时间均符合预设要求,则执行步骤S103。
在具体实现步骤S102的过程中,通过判断结束探测时间是否大于预设要求或者结束探测时间是否被设置,从而确定符合预设要求所述初始探测时间和结束探测时间。
步骤S103:当容器的等待时间到达所述初始探测时间时,在所述结束探测时间到达之前检查应用是否正常启动,若确定所述应用正常启动,则执行步骤S104,若确定所述应用未正常启动,则执行步骤S105。
在步骤S103中,所述容器的等待时间用于指示容器启动之后,直至所述容器接收到所述应用发送的探测响应成功消息之前的任意时间。
在具体实现步骤S103的过程中,当容器的等待时间到达所述初始探测时间时,开始按照预设的时间间隔对所述应用执行cat/tmp/healthy命令,即探测诊断命令,在所述结束探测时间到达之前检查应用是否正常启动。
需要说明的是,所述探测诊断命令是Kubernetes为Pod里的容器定义的存活监控探针下发并执行的。
步骤S104:基于所述应用正常启动的时间和预设的第一延迟时间,设置新的结束探测时间,并记录所述容器的健康检查状态。
在具体实现步骤S104的过程中,继续执行对应用的健康检查,并将每一时间间隔内探测的所述应用的健康检查状态对应的事件进行记录。
步骤S105:基于所述当前的结束探测时间和预设的第二延迟时间,设置新的结束探测时间,并重启所述容器。
在具体实现步骤S105的过程中,所述容器被重新启动,等待一个时间间隔,确定所述容器重启成功,接着对容器中应用的健康状态进行检查。
需要说明的是,所述第一延迟时间和第二延迟时间均是经过多次实验预先设置的经验值,第一延迟时间和第二延迟时间的值可以相同也可以不同,对此可根据实际情况而定,本申请不加以限制。
在本发明实施例中,读取预先创建的配置文件中的配置参数,并确定初始探测时间和结束探测时间,确定初始探测时间和结束探测时间是否符合预设要求;若初始探测时间和结束探测时间均符合预设要求,当容器的等待时间到达初始探测时间时,在结束探测时间到达之前检查应用是否正常启动,若确定应用正常启动,基于所述应用正常启动的时间和预设的第一延迟时间,设置新的结束探测时间,并记录容器的健康检查状态;若确定应用未正常启动,基于所述当前的结束探测时间和预设的第二延迟时间,设置新的结束探测时间,并重启容器。在本发明实施例中,通过判断容器是否在结束探测时间到达之前接收到应用发送的探测响应成功的消息,从而确定应用启动状态。当应用启动成功完成时,重新设置新的结束探测时间,并开始记录容器的健康检查状态,能够更加准确预估应用启动时间,使得应用能够接收业务访问请求。
基于上述本发明实施例图1示出的容器状态检查方法,在执行步骤S102确定所述初始探测时间和结束探测时间是否符合预设要求的过程中,如图2所示,包括以下步骤:
步骤S201:判断所述结束探测时间是否大于等于所述初始探测时间,若当所述结束探测时间大于等于所述初始探测时间,执行步骤S202。
在具体实现步骤S201的过程中,检查所述初始探测时间和所述结束探测时间的大小,并判断所述结束探测时间是否大于等于所述初始探测时间,若当所述结束探测时间大于等于所述初始探测时间,执行步骤S202。
步骤S202:确定所述初始探测时间为符合预设要求的初始探测时间,并判断所述结束探测时间是否大于预先配置的结束探测时间,当所述结束探测时间大于预先配置的结束探测时间时,执行步骤S203,当所述结束探测时间小于等于预先配置的结束探测时间时,执行步骤S204。
步骤S203:将所述预先配置的结束探测时间设置为符合预设要求的结束探测时间。
步骤S204:确定所述结束探测时间为符合预设要求的结束探测时间。
在本发明实施例中,通过初始探测时间和结束探测时间的大小,从而确定符合要求的初始探测时间和结束探测时间,以便于判断应用的启动状态,进而能够使得应用能够正常启动,且可以对外提供服务。
基于上述图2示出的确定所述初始探测时间和结束探测时间是否符合预设要求的过程,如图3所示,还可以通过以下方式确定符合预设要求所述初始探测时间和结束探测时间,具体执行过程包括以下步骤:
步骤S301:检查结束探测时间是否被设置,若当检查到所述结束探测时间未被设置时,即所述结束探索时间为0,执行步骤S302。若当检查到所述结束探测时间被设置时,则判断所述结束探测时间是否大于等于所述初始探测时间,即执行步骤S201。
需要说明的是,由于容器启动后,应用需要进行初始化,所以需要一定的延时时间,因此所述初始探测时间不为0。
步骤S302:将所述预先配置的结束探测时间确定为符合预设要求的结束探测时间,并将所述初始探测时间确定为符合预设要求的初始探测时间。
基于上述步骤S302示出的内容进行举例说明。
比如:预先配置的结束探测时间可为1800秒,检查到所述初始探测时间为10秒和结束探测时间为0秒,所述预先配置的结束探测时间1800秒确定为符合预设要求的结束探测时间,并将所述初始探测时间10秒确定为符合预设要求的初始探测时间。
在本发明实施例中,通过检查结束探测时间的设置情况,从而确定符合要求的初始探测时间和结束探测时间,以便于判断应用的启动状态,进而能够使得应用能够正常启动,且可以对外提供服务。
基于上述本发明实施例图1示出的容器状态检查方法,在执行步骤S104若确定所述应用正常启动,基于所述应用正常启动的时间和预设的第一延迟时间,设置新的结束探测时间,并记录所述容器的健康检查状态的过程,如图4所示,包括以下步骤:
步骤S401:控制监测探针向应用下发预先配置的探测诊断命令。
需要说明的是,所述监控探针包括存活监测探针和就绪监控探针。
在具体实现步骤S401的过程中,容器的等待时间到达所述初始探测时间时,控制存活监测探针下发预先配置的探测诊断命令即cat/tmp/healthy命令,并按照预设的时间间隔执行所述探测诊断命令。
步骤S402:判断在所述结束探测时间到达之前是否接收到所述应用发送的探测响应成功消息,若在所述结束探测时间到达之前接收到所述应用发送的探测响应成功的消息,则执行步骤S403,若在所述结束探测时间到达之前未接收到所述应用发送的探测响应成功的消息,则执行步骤S304。
在具体实现步骤S402的过程中,若在所述结束探测时间到达之前,第一次下发探测诊断指令,就接收到所述应用发送的探测响应成功的消息,则结束所述容器的等待,并执行步骤S403;若在所述结束探测时间到达之前,第一次下发探测诊断指令,接收到所述应用发送的探测响应失败的消息,则进入等待,等待下一时间间隔再次对所述应用执行cat/tmp/healthy命令,即探测诊断指令,直至接收到所述应用发送的探测响应成功的消息,则结束所述容器的等待时间,执行步骤S403。若在所述结束探测时间到达之前,一直接收到所述应用发送的探测响应失败的消息,则执行步骤S404。
步骤S403:确定所述应用正常启动。
步骤S404:记录容器启动之后至接收到所述应用发送的探测响应成功消息时的时间,并将所述记录的时间与预设的第一延迟时间的和设置为新的结束探测时间,且记录所述容器的健康检查状态。
步骤S404:将当前的结束探测时间与预设的第二延迟时间的和设置为新的结束探测时间,并重启所述容器。
为了更好的理解上述图4示出的内容,下面进行解释说明。
比如:预设的时间间隔为5秒,初始探测时间10秒,结束探测时间为60秒,预设的第一延迟时间为5秒,预设的第二延迟时间为7秒,容器的等待时间到达初始探测时间时10秒时,控制存活监测探针下发cat/tmp/healthy命令,并按照每隔5秒执行一次cat/tmp/healthy命令。若在结束探测时间60秒到达之前,容器的等待时间到达初始探测时间时10秒时,第一次下发cat/tmp/healthy命令,此时接收到所述应用发送的探测响应成功的消息,结束所述容器等待时间,记录容器启动之后至接收到所述应用发送的探测响应成功消息时的时间为22秒,并将所述记录的时间22秒与第一延迟时间5秒的和27秒设置为新的结束探测时间,并开始记录容器的健康检查状态;若在结束探测时间60秒到达之前,容器的等待时间到达初始探测时间时10秒时,第一次下发cat/tmp/healthy命令,接收到所述应用发送的探测响应失败的消息,则进入等待,在容器的等待时间为15秒时再次对所述应用执行cat/tmp/healthy命令,接收到所述应用发送的探测响应失败的消息,进入等待,直至在容器的等待时间为45秒再次对应用执行cat/tmp/healthy命令,此时接收到应用发送的探测响应成功的消息,结束容器等待时间,记录容器启动之后至接收到所述应用发送的探测响应成功消息时的时间为57秒,并将所述记录的时间57秒与第一延迟时间5秒的和63秒设置为新的结束探测时间,并开始记录容器的健康检查状态;若在所述结束探测时间60到达之前,一直接收到应用发送的探测响应失败的消息,将当前的结束探测时间60秒与第二延迟时间7秒的和67秒设置为新的结束探测时间,并控制容器重启。
在本发明实施例中,通过判断在结束探测时间到达之前是否接收到应用发送的探测响应成功消息,从而确定应用是否正常启动,若确定应用正常启动时,设置新的结束探测时间,以便于更准确的确定下一次容器健康检查时应用的正常启动时间,若应用不能正常启动时,也重新设置结束探测时间,以便于进一步确定下一次容器健康检查时应用的正常启动时间,使得应用能够接受业务访问请求。
与上述本发明实施例公开的容器状态检查方法相对应,本发明实施例还对应公开了一种容器状态检查装置,如图5所示,所述容器状态检查装置包括:检查时间设定器501和检查控制器502。
所述检查时间设定器501,用于读取预先创建的配置文件中的配置参数,并确定初始探测时间和结束探测时间,并确定所述初始探测时间和结束探测时间是否符合预设要求,及将符合要求的初始探测时间和结束探测时间发送给所述健康检查控制器502。及若确定所述应用正常启动,则基于所述应用正常启动的时间和预设的第一延迟时间,设置新的结束探测时间,且若确定所述应用未正常启动,则基于所述当前的结束探测时间和预设的第二延迟时间,设置新的结束探测时间。
所述健康检查控制器502,用于接收所述检查时间设定器501发送的符合要求的初始探测时间和结束探测时间,当容器的等待时间到达所述初始探测时间时,在所述结束探测时间到达之前检查应用是否正常启动,若确定所述应用正常启动,记录所述容器的健康检查状态,若确定所述应用未正常启动,重启所述容器。
需要说明的是,所述容器的等待时间用于指示容器启动之后,直至所述容器接收到所述应用发送的探测响应成功消息之前的任意时间。
需要说明的是,上述本发明实施例公开的容器状态检查装置中的各个单元具体的原理和执行过程,与上述本发明实施例公开的容器状态检查方法相同,可参见上述本发明实施例公开的容器状态检查方法中相应的部分,这里不再进行赘述。
在本发明实施例中,通过检查时间设定器读取预先创建的配置文件中的配置参数,并确定初始探测时间和结束探测时间,确定初始探测时间和结束探测时间是否符合预设要求,及将符合要求的初始探测时间和结束探测时间发送给健康检查控制器。健康检查控制器接收符合要求的初始探测时间和结束探测时间,当容器的等待时间到达初始探测时间时,在结束探测时间到达之前检查应用是否正常启动,若确定应用正常启动,基于所述应用正常启动的时间和预设的第一延迟时间,设置新的结束探测时间,并记录容器的健康检查状态;若确定应用未正常启动,基于所述当前的结束探测时间和预设的第二延迟时间,设置新的结束探测时间,并重启容器。在本发明实施例中,通过判断容器是否在结束探测时间到达之前接收到应用发送的探测响应成功的消息,从而确定应用启动状态。当应用启动成功完成时,重新设置新的结束探测时间,以便于更准确的确定下一次容器健康检查时应用的正常启动时间,并记录容器的健康检查状态,通由于在初始探测时间和结束探测时间内的探测容器的健康检查不记录,使得应用能够正常启动,且可以对外提供服务。
基于上述图5所述的应用状态检查装置,所述检查时间设定器在确定所述初始探测时间和结束探测时间是否符合预设要求方面,具体用于:
判断所述结束探测时间是否大于等于所述初始探测时间,当所述结束探测时间大于等于所述初始探测时间,确定所述初始探测时间符合预设要求,并判断所述结束探测时间是否大于预先配置的结束探测时间,当所述结束探测时间大于预先配置的结束探测时间时,将所述预先配置的结束探测时间设置为符合预设要求的结束探测时间。
在本发明实施例中,通过初始探测时间和结束探测时间的大小,从而确定符合要求的初始探测时间和结束探测时间,以便于判断应用的启动状态,进而能够使得应用能够正常启动,且可以对外提供服务。
基于上述图5所述的应用状态检查装置,所述检查时间设定器501还包括:
当所述结束探测时间小于等于预先配置的结束探测时间时,确定所述结束探测时间为符合预设要求的结束探测时间。
在本发明实施例中,通过检查结束探测时间的设置情况,从而确定符合要求的初始探测时间和结束探测时间,以便于判断应用的启动状态,进而能够使得应用能够正常启动,且可以对外提供服务。
基于上述图5所述的应用状态检查装置,所述健康检查控制器在若确定所述应用正常启动,记录所述容器的健康检查状态方面,具体用于:
控制存活监测探针向应用下发预先配置的探测命令,判断在所述结束探测时间到达之前是否接收到所述应用发送的探测响应成功消息,若在所述结束探测时间到达之前接收到所述应用发送的探测响应成功的消息,记录所述容器的健康检查状态。
在本发明实施例中,通过判断在结束探测时间到达之前是否接收到应用发送的探测响应成功消息,从而确定应用是否正常启动,若确定应用正常启动时,则开始记录容器的健康状态,能够准确预估应用启动时间,使得应用能够接受业务访问请求。
基于上述图5所述的应用状态检查装置,所述检查时间设定器在基于所述应用正常启动的时间和预设的第一延迟时间,设置新的结束探测时间,方面具体用于:
若确定应用正常启动时,记录容器启动之后至接收到所述应用发送的探测响应成功消息时的时间,并将所述记录的时间与预设的第一延迟时间的和设置为新的结束探测时间,若确定应用不能正常启动时,将当前的结束探测时间与预设的第二延迟时间的和设置为新的结束探测时间。
在本发明实施例,通过确定应用是否正常启动,若确定应用正常启动时,设置新的结束探测时间,以便于更准确的确定下一次容器健康检查时应用的正常启动时间,若应用不能正常启动时,也重新设置结束探测时间,以便于进一步确定下一次容器健康检查时应用的正常启动时间,使得应用能够接受业务访问请求。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***或***实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的***及***实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (8)
1.一种容器状态检查方法,其特征在于,所述方法包括:
读取预先创建的配置文件中的配置参数,并确定初始探测时间和结束探测时间;
确定所述初始探测时间和结束探测时间是否符合预设要求;
若所述初始探测时间和结束探测时间均符合预设要求,当容器的等待时间到达所述初始探测时间时,在所述结束探测时间到达之前检查应用是否正常启动,其中,所述容器的等待时间用于指示容器启动之后,直至所述容器接收到所述应用发送的探测响应成功消息之前的任意时间;
若确定所述应用正常启动,基于所述应用正常启动的时间和预设的第一延迟时间,设置新的结束探测时间,并记录所述容器的健康检查状态;
若确定所述应用未正常启动,基于所述当前的结束探测时间和预设的第二延迟时间,设置新的结束探测时间,并重启所述容器。
2.根据权利要求1所述的方法,其特征在于,所述确定所述初始探测时间和结束探测时间是否符合预设要求,包括:
判断所述结束探测时间是否大于等于所述初始探测时间;
当所述结束探测时间大于等于所述初始探测时间,确定所述初始探测时间为符合预设要求的初始探测时间,并判断所述结束探测时间是否大于预先配置的结束探测时间;
当所述结束探测时间大于预先配置的结束探测时间时,将所述预先配置的结束探测时间设置为符合预设要求的结束探测时间。
3.根据权利要求2所述的方法,其特征在于,所述判断所述结束探测时间是否大于预先配置的结束探测时间,还包括:
当所述结束探测时间小于等于预先配置的结束探测时间时,确定所述结束探测时间为符合预设要求的结束探测时间。
4.根据权利要求1所述的方法,其特征在于,若确定所述应用正常启动,基于所述应用正常启动的时间和预设的第一延迟时间,设置新的结束探测时间,并记录所述容器的健康检查状态,包括:
控制监测探针向应用下发预先配置的探测命令;
判断在所述结束探测时间到达之前是否接收到所述应用发送的探测响应成功消息;
若在所述结束探测时间到达之前接收到所述应用发送的探测响应成功消息,确定所述应用正常启动;
记录容器启动之后至接收到所述应用发送的探测响应成功消息时的时间,并将所述记录的时间与预设的第一延迟时间的和设置为新的结束探测时间,且记录所述容器的健康检查状态。
5.一种容器状态检查装置,其特征在于,所述装置包括:检查时间设定器和健康检查控制器;
所述检查时间设定器,用于读取预先创建的配置文件中的配置参数,并确定初始探测时间和结束探测时间;并确定所述初始探测时间和结束探测时间是否符合预设要求;及若确定所述应用正常启动,则基于所述应用正常启动的时间和预设的第一延迟时间,设置新的结束探测时间;且若确定所述应用未正常启动,则基于所述当前的结束探测时间和预设的第二延迟时间,设置新的结束探测时间;
所述健康检查控制器,用于若所述初始探测时间和结束探测时间均符合预设要求,当容器的等待时间到达所述初始探测时间时,在所述结束探测时间到达之前检查应用是否正常启动,其中,所述容器的等待时间用于指示容器启动之后,直至所述容器接收到所述应用发送的探测响应成功消息之前的任意时间;若确定所述应用正常启动,记录所述容器的健康检查状态;若确定所述应用未正常启动,重启所述容器。
6.根据权利要求5所述的装置,其特征在于,所述检查时间设定器在确定所述初始探测时间和结束探测时间是否符合预设要求方面,具体用于:
判断所述结束探测时间是否大于等于所述初始探测时间;当所述结束探测时间大于等于所述初始探测时间,确定所述初始探测时间符合预设要求,并判断所述结束探测时间是否大于预先配置的结束探测时间;当所述结束探测时间大于预先配置的结束探测时间时,将所述预先配置的结束探测时间设置为符合预设要求的结束探测时间。
7.根据权利要求6所述的装置,其特征在于,所述检查时间设定器还包括:
当所述结束探测时间小于等于预先配置的结束探测时间时,确定确定所述结束探测时间为符合预设要求的结束探测时间。
8.根据权利要求5所述的装置,其特征在于,所述检查时间设定器在基于所述应用正常启动的时间和预设的第一延迟时间,设置新的结束探测时间方面具体用于:
记录容器启动之后至接收到所述应用发送的探测响应成功消息时的时间,并将所述记录的时间与预设的第一延迟时间的和设置为新的结束探测时间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910866580.5A CN110659106B (zh) | 2019-09-12 | 2019-09-12 | 一种容器状态检查方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910866580.5A CN110659106B (zh) | 2019-09-12 | 2019-09-12 | 一种容器状态检查方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110659106A true CN110659106A (zh) | 2020-01-07 |
CN110659106B CN110659106B (zh) | 2022-03-22 |
Family
ID=69037139
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910866580.5A Active CN110659106B (zh) | 2019-09-12 | 2019-09-12 | 一种容器状态检查方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110659106B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111506388A (zh) * | 2020-03-23 | 2020-08-07 | 聚好看科技股份有限公司 | 容器性能探测方法、容器管理平台及计算机存储介质 |
CN112346817A (zh) * | 2020-10-20 | 2021-02-09 | 北京健康之家科技有限公司 | 容器启动方法、装置、存储介质及计算机设备 |
CN114884840A (zh) * | 2022-03-21 | 2022-08-09 | 新华三大数据技术有限公司 | 应用健康状态检查方法及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110029958A1 (en) * | 2002-08-26 | 2011-02-03 | International Business Machines Corporation | Time-based breakpoints in debugers |
CN108664291A (zh) * | 2017-03-30 | 2018-10-16 | ***通信集团山西有限公司 | 容器组的构建方法和装置 |
CN110009369A (zh) * | 2018-12-20 | 2019-07-12 | 阿里巴巴集团控股有限公司 | 容器检验方法及装置、电子设备 |
-
2019
- 2019-09-12 CN CN201910866580.5A patent/CN110659106B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110029958A1 (en) * | 2002-08-26 | 2011-02-03 | International Business Machines Corporation | Time-based breakpoints in debugers |
CN108664291A (zh) * | 2017-03-30 | 2018-10-16 | ***通信集团山西有限公司 | 容器组的构建方法和装置 |
CN110009369A (zh) * | 2018-12-20 | 2019-07-12 | 阿里巴巴集团控股有限公司 | 容器检验方法及装置、电子设备 |
Non-Patent Citations (1)
Title |
---|
KIRAN YEDUGUNDLA 等: "Probe or Wait: Handling tail losses using Multipath", 《 2017 IFIP NETWORKING CONFERENCE (IFIP NETWORKING) AND WORKSHOPS》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111506388A (zh) * | 2020-03-23 | 2020-08-07 | 聚好看科技股份有限公司 | 容器性能探测方法、容器管理平台及计算机存储介质 |
CN111506388B (zh) * | 2020-03-23 | 2023-04-25 | 聚好看科技股份有限公司 | 容器性能探测方法、容器管理平台及计算机存储介质 |
CN112346817A (zh) * | 2020-10-20 | 2021-02-09 | 北京健康之家科技有限公司 | 容器启动方法、装置、存储介质及计算机设备 |
CN114884840A (zh) * | 2022-03-21 | 2022-08-09 | 新华三大数据技术有限公司 | 应用健康状态检查方法及电子设备 |
CN114884840B (zh) * | 2022-03-21 | 2024-01-19 | 新华三大数据技术有限公司 | 应用健康状态检查方法及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110659106B (zh) | 2022-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110659106B (zh) | 一种容器状态检查方法及装置 | |
CN110311831B (zh) | 基于容器云的***资源监控方法及相关设备 | |
CN110704166A (zh) | 服务运行方法、装置和服务器 | |
CN112099825B (zh) | 组件进行升级的方法、装置、设备及存储介质 | |
CN104850475A (zh) | 一种设备的测试方法及装置 | |
CN110502399B (zh) | 故障检测方法及装置 | |
CN113504932A (zh) | 一种固件数据更新方法和装置 | |
CN102045211A (zh) | 电源循环压力测试方法 | |
CN110618853B (zh) | 一种僵尸容器的检测方法、装置及设备 | |
CN111506388B (zh) | 容器性能探测方法、容器管理平台及计算机存储介质 | |
US20090083747A1 (en) | Method for managing application programs by utilizing redundancy and load balance | |
CN106130815B (zh) | 板级测试方法及装置 | |
CN109086179B (zh) | 一种程序异常情况下的处理方法和装置 | |
CN110134558B (zh) | 一种服务器的检测方法和装置 | |
CN111400113A (zh) | 一种计算机***的整机自检方法、装置及*** | |
CN111400094A (zh) | 一种服务器***恢复出厂设置的方法、装置、设备及介质 | |
CN110986291A (zh) | 设备的管理方法及装置、及空调器 | |
JP2014179047A (ja) | 情報処理装置 | |
CN115174343B (zh) | B/s架构页面巡检方法、装置和页面巡检*** | |
CN114297009B (zh) | 一种服务器测试的方法及装置、电子设备 | |
CN111984272B (zh) | 应用自动上线的方法、***、存储介质及计算机设备 | |
CN115454762A (zh) | ***监测和升级方法、电子设备和计算机可读存储介质 | |
CN110134453B (zh) | 服务器配置重载方法及服务器 | |
CN113835993A (zh) | 自动化测试方法、装置、测试平台、电子设备和存储介质 | |
CN114327932A (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 |