服务实例的重启方法、装置及服务器与流程

文档序号:12463836阅读:180来源:国知局
服务实例的重启方法、装置及服务器与流程

本发明涉及计算机网络技术领域,尤其涉及一种服务实例的重启方法、装置及服务器。



背景技术:

通常情况下,线上服务实例在使用过程中经常需要重启,例如需要加载新的代码、更新配置等情况下需要重启,但每次重启都会导致服务器实例中正在运行的任务失败,并且服务器实例在重启过程中也无法对外提供服务。

为了减少重启导致的任务失败情况,现有技术中通过在服务实例不繁忙时,人工重启服务实例。



技术实现要素:

为克服相关技术中存在的问题,本公开提供一种服务实例的重启方法、装置及服务器。

根据本公开实施例的第一方面,提供一种服务实例的重启方法,包括:

在满足预设重启条件时,判断处于备用状态的第一服务实例是否处于空闲状态;

在第一服务实例处于空闲状态时,重启第一服务实例;或者,

在第一服务实例处于非空闲状态、且满足预设条件时,重启第一服务实例。

本公开实施例提供的技术方案可以包括以下有益效果:通过在满足预设重启条件时,判断处于备用状态的第一服务实例是否处于空闲状态;进一步地,在第一服务实例处于空闲状态时,重启第一服务实例;或者,在第一服务实例处于非空闲状态、且满足预设条件时,重启第一服务实例。可见,通过对处于备用状态且处于空闲状态的第一服务实例进行重启,或者对处于备用状态且处于非空闲状态的第一服务实例,在第一服务实例满足预设条件时进行重启,从而避免了重启导致的服务实例中运行任务失败的情况,能够保证用户的正常使用,提高了用户体验。

进一步地,预设条件包括以下任一项:第一服务实例由非空闲状态变为空闲状态、第一服务实例处于异常运行状态。

进一步地,重启第一服务实例之后,还包括:

将处于服务状态的第二服务实例切换为备用状态;

将第一服务实例切换为服务状态。

本公开的实施例提供的技术方案可以包括以下有益效果:在重启第一服务实例之后,通过将处于服务状态的第二服务实例切换为备用状态,以及将第一服务实例切换为服务状态,以便服务实例的重启装置将后续收到的用户请求发送给切换后处于服务状态的第一服务实例,以及在服务实例的重启装置确定满足预设重启条件时,对切换后处于备用状态的第二服务实例的重启操作。实现了在避免重启导致的服务实例中运行任务失败的情况,能够保证用户的正常使用的前提下,对切换后处于备用状态的第二服务实例的重启操作,从而提高了用户体验。

进一步地,判断处于备用状态的第一服务实例是否处于空闲状态之前,还包括:

确定至少两个服务实例各自的身份状态;其中,身份状态包括以下一项:服务状态和备用状态;至少两个服务实例中包括第一服务实例。

进一步地,方法还包括:

从终端接收用户请求;

将用户请求发送给处于服务状态的服务实例。

本公开的实施例提供的技术方案可以包括以下有益效果:通过将用户请求发送给处于服务状态的服务实例,从而处于服务状态的服务实例根据用户请求执行相应的任务,以便服务实例的重启装置对处于备用状态的服务实例进行重启,从而避免了重启导致的服务实例中运行任务失败的情况,能够保证用户的正常使用,提高用户体验。

进一步地,预设重启条件包括以下一项:预设时间、预设所占内存容量。

根据本公开实施例的第二方面,提供一种服务实例的重启装置,包括:

判断模块,被配置为在满足预设重启条件时,判断处于备用状态的第一服务实例是否处于空闲状态;

第一重启模块,被配置为在第一服务实例处于空闲状态时,重启第一服务实例;或者,

第二重启模块,被配置为在第一服务实例处于非空闲状态、且满足预设条件时,重启第一服务实例。

进一步地,预设条件包括以下任一项:第一服务实例由非空闲状态变为空闲状态、第一服务实例处于异常运行状态。

进一步地,装置还包括:

第一切换模块,被配置为将处于服务状态的第二服务实例切换为备用状态;

第二切换模块,被配置为将第一服务实例切换为服务状态。

进一步地,装置还包括:

确定模块,被配置为确定至少两个服务实例各自的身份状态;其中,身份状态包括以下一项:服务状态和备用状态;至少两个服务实例中包括第一服务实例。

进一步地,装置还包括:

接收模块,被配置为从终端接收用户请求;

发送模块,被配置为将用户请求发送给处于服务状态的服务实例。

进一步地,预设重启条件包括以下一项:预设时间、预设所占内存容量。

根据本公开实施例的第三方面,提供一种服务器,处理器以及用于存储处理器可执行指令的存储器;

处理器,被配置为:

在满足预设重启条件时,判断处于备用状态的第一服务实例是否处于空闲状态;

在第一服务实例处于空闲状态时,重启第一服务实例;或者,

在第一服务实例处于非空闲状态、且满足预设条件时,重启第一服务实例。

本公开的实施例提供的技术方案可以包括以下有益效果:提供一种服务实例的重启方法、装置及服务器,通过在满足预设重启条件时,判断处于备用状态的第一服务实例是否处于空闲状态;进一步地,在第一服务实例处于空闲状态时,重启第一服务实例;或者,在第一服务实例处于非空闲状态、且满足预设条件时,重启第一服务实例。可见,通过对处于备用状态且处于空闲状态的第一服务实例进行重启,或者对处于备用状态且处于非空闲状态的第一服务实例,在第一服务实例满足预设条件时进行重启,从而避免了重启导致的服务实例中运行任务失败的情况,能够保证用户的正常使用,提高了用户体验。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。

图1为根据一示例性实施例示出的一种服务实例的重启方法的流程图;

图2为根据另一示例性实施例示出的一种服务实例的重启方法的流程图;

图3为根据另一示例性实施例示出的一种服务实例的重启方法的流程图;

图4为根据另一示例性实施例示出的一种服务实例的重启方法的流程图;

图5为根据一示例性实施例示出的一种服务实例的重启装置实施例一的框图;

图6为根据一示例性实施例示出的一种服务实例的重启装置实施例二的框图;

图7为根据一示例性实施例示出的一种服务实例的重启装置实施例三的框图;

图8为根据一示例性实施例示出的一种服务实例的重启装置实施例四的框图;

图9为根据一示例性实施例示出的一种服务器的框图;

图10为根据一示例性实施例示出的一种服务器1900的框图。

通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。

图1为根据一示例性实施例示出的一种服务实例的重启方法的流程图。本实施例的执行主体可以为配置在服务器中的服务实例的重启装置,该装置可以通过软件和/或硬件实现。如图1所示,本实施例的方案可以包括以下步骤:

在步骤S101中,在满足预设重启条件时,判断处于备用状态的第一服务实例是否处于空闲状态。

本实施例中,可选地,服务实例的重启装置中包括至少两个服务实例,其中,第一部分服务实例处于备用状态,至少两个服务实例中除第一部分服务实例之外剩余的第二部分服务实例处于服务状态;其中,每个服务实例为无状态的,处于服务状态的服务实例用于处理接收到的新用户请求,处于备用状态的服务实例不用于处理接收到的新用户请求。可选地,为了便于描述,本申请中将处于备用状态的服务实例称之为第一服务实例,将处于服务状态的服务实例称之为第二服务实例;对应地,第一服务实例属于第一部分服务实例中,第二服务实例属于第二部分服务实例中。

本步骤中,服务实例的重启装置在满足预设重启条件时,判断处于备用状态的第一服务实例是否处于空闲状态,可选地,预设重启条件包括以下一项:预设时间(例如,每隔第一预设时间达到重启条件,或者,在第二预设时间达到重启条件等)、预设所占内存容量(例如,在所有服务实例或者某个服务实例所占内存容量达到预设所占内存容量时,达到重启条件),当然,预设重启条件还可以包括其它重启条件,本申请实施例中对此并不作限制。可选地,通过监测第一服务实例中是否正在运行任务,若监测到第一服务实例中正在运行任务,则确定第一服务实例处于非空闲状态;若监测到第一服务实例中无运行任务,则确定第一服务实例处于空闲状态;当然,还可通过其它方式“判断处于备用状态的第一服务实例是否处于空闲状态”,本申请实施例中对此并不作限制。

在步骤S102中,在第一服务实例处于空闲状态时,重启第一服务实例;或者,在第一服务实例处于非空闲状态、且满足预设条件时,重启第一服务实例。

本步骤中,服务实例的重启装置在确定第一服务实例处于空闲状态时,则直接重启第一服务实例;或者,在第一服务实例处于非空闲状态,若直接重启第一服务实例,会影响第一服务实例中正在运行的任务,因此,进一步地,服务实例的重启装置确定在满足预设条件时,重启第一服务实例,可选地,预设条件包括以下任一项:第一服务实例由非空闲状态变为空闲状态、第一服务实例处于异常运行状态;当然,预设条件还可以包括其它条件,本申请实施例中对此并不作限制。

例如,服务实例的重启装置确定在第一服务实例处于非空闲状态时,等待直至第一服务实例由非空闲状态变为空闲状态时,重启第一服务实例,或者,服务实例的重启装置确定在第一服务实例处于非空闲状态时,进一步判断第一服务实例是否处于异常运行状态,若确定第一服务实例处于异常运行状态,则直接重启第一服务实例,无须等待第一服务实例由非空闲状态变为空闲状态。可选地,根据第一服务实例当前运行任务的运行时长以及预设运行时长,判断第一服务实例是否处于异常运行状态,若当前运行任务的运行时长大于预设运行时长,确定第一服务实例处于异常运行状态,可选地,不同的运行任务对应的预设运行时长可以相同或者不同。可选地,还可通过其它方式“判断第一服务实例是否处于异常运行状态”,本申请实施例中对此并不作限制。

本实施例提供的一种服务实例的重启方法,通过在满足预设重启条件时,判断处于备用状态的第一服务实例是否处于空闲状态;进一步地,在第一服务实例处于空闲状态时,重启第一服务实例;或者,在第一服务实例处于非空闲状态、且满足预设条件时,重启第一服务实例。可见,通过对处于备用状态且处于空闲状态的第一服务实例进行重启,或者对处于备用状态且处于非空闲状态的第一服务实例,在第一服务实例满足预设条件时进行重启,从而避免了重启导致的服务实例中运行任务失败的情况,能够保证用户的正常使用,提高了用户体验。

可选地,判断处于备用状态的第一服务实例是否处于空闲状态之前,还包括:

确定至少两个服务实例各自的身份状态。

本实施例中,服务实例的重启装置在判断处于备用状态的第一服务实例是否处于空闲状态之前,确定至少两个服务实例各自的身份状态;其中,身份状态包括以下一项:服务状态和备用状态;至少两个服务实例中包括第一服务实例,可选地,至少两个服务实例中还包括第二服务实例。可选地,服务实例的重启装置通过查询身份状态记录信息(包括各服务实例的实时身份状态),确定各服务实例的身份状态;当然,还可通过其它方式“确定至少两个服务实例各自的身份状态”,本申请实施例中对此并不作限制。

可见,本实施例中,通过在判断处于备用状态的第一服务实例是否处于空闲状态之前,确定至少两个服务实例各自的身份状态,以便服务实例的重启装置在满足预设重启条件时,判断处于备用状态的第一服务实例是否处于空闲状态,进而对处于备用状态且处于空闲状态的第一服务实例进行重启,或者对处于备用状态且处于非空闲状态的第一服务实例,在第一服务实例满足预设条件时进行重启,避免了重启导致的服务实例中运行任务失败的情况,能够保证用户的正常使用。

图2为根据另一示例性实施例示出的一种服务实例的重启方法的流程图。在上述实施例的基础上,如图2所示,重启第一服务实例之后,包括:

在步骤S103中,将处于服务状态的第二服务实例切换为备用状态;

在步骤S104中,将第一服务实例切换为服务状态。

本实施例中,在对处于备用状态的第一服务实例重启完成后,进一步地,在步骤S103中,服务实例的重启装置将处于服务状态的第二服务实例切换为备用状态,在步骤S104中,将第一服务实例切换为服务状态;以便服务实例的重启装置将后续收到的用户请求发送给切换后处于服务状态的第一服务实例,以及在服务实例的重启装置确定满足预设重启条件时,判断切换后处于备用状态的第二服务实例是否处于空闲状态,在第二服务实例处于空闲状态时,重启第二服务实例;或者,在第二服务实例处于非空闲状态、且满足预设条件时,重启第二服务实例;其中,“服务实例的重启装置在满足预设重启条件时,判断切换后处于备用状态的第二服务实例是否处于空闲状态,在第二服务实例处于空闲状态时,重启第二服务实例;或者,在第二服务实例处于非空闲状态、且满足预设条件时,重启第二服务实例”的具体实现方式,参见本申请上述实施例中关于步骤S101和步骤S102中的记载,此处不再赘述。

可选地,本申请实施例中并不限定步骤S103和步骤S104的先后执行顺序(例如,同时执行、先执行步骤S103后执行步骤S104、或者先执行步骤S104后执行步骤S103),本申请实施例中对此并不作限制。

本申请实施例,在重启第一服务实例之后,通过将处于服务状态的第二服务实例切换为备用状态,以及将第一服务实例切换为服务状态,以便服务实例的重启装置将后续收到的用户请求发送给切换后处于服务状态的第一服务实例,以及在服务实例的重启装置确定满足预设重启条件时,对切换后处于备用状态的第二服务实例的重启操作。实现了在避免重启导致的服务实例中运行任务失败的情况,能够保证用户的正常使用的前提下,对切换后处于备用状态的第二服务实例的重启操作,从而提高了用户体验。

图3为根据另一示例性实施例示出的一种服务实例的重启方法的流程图。在上述实施例的基础上,如图3所示,服务实例的重启方法,还包括:

在步骤S301中,从终端接收用户请求。

在本步骤中,服务实例的重启装置接收到终端发送的用户请求,可选地,用户请求中携带:终端的标识信息以及请求内容的描述信息;当然,用户请求中还可包括其它内容,本申请实施例中对此并不作限制。可选地,服务实例的重启装置通过有线传输方式或者无线传输方式,接收到终端发送的用户请求。

在步骤S302中,将用户请求发送给处于服务状态的服务实例。

本步骤中,服务实例的重启装置将用户请求发送给处于服务状态的服务实例,从而处于服务状态的服务实例根据用户请求执行相应的任务,以便服务实例的重启装置对处于备用状态的服务实例进行重启,从而避免了重启导致的服务实例中运行任务失败的情况,能够保证用户的正常使用,提高用户体验。

图4为根据另一示例性实施例示出的一种服务实例的重启方法的流程图。在上述实施例的基础上,如图4所示,服务实例的重启方法,包括:

在步骤S401中,确定至少两个服务实例各自的身份状态。

在步骤S402中,在满足预设重启条件时,判断处于备用状态的第一服务实例是否处于空闲状态。

本步骤中,在满足预设重启条件时,通过判断处于备用状态的第一服务实例是否处于空闲状态,若确定处于备用状态的第一服务实例处于空闲状态,则执行步骤S403;若确定处于备用状态的第一服务实例处于非空闲状态,则执行步骤S404。

在步骤S403中,重启第一服务实例。

此步骤执行完成后,执行步骤S405。

在步骤S404中,判断是否满足预设条件。

本步骤中,可选地,通过判断第一服务实例是否由非空闲状态变为空闲状态,若确定第一服务实例由非空闲状态变为空闲状态(即满足预设条件),则执行步骤S403;或者,通过判断第一服务实例是否处于异常运行状态,a)若确定第一服务实例处于异常运行状态(即满足预设条件),则执行步骤S403,b)若确定第一服务实例不处于异常运行状态,则等待直至第一服务实例由非空闲状态变为空闲状态时,执行步骤S403。当然,还可通过其它方式“判断是否满足预设条件”,本申请实施例中对此并不作限制。

在步骤S405中,将处于服务状态的第二服务实例切换为备用状态,以及将第一服务实例切换为服务状态。

本步骤中,将处于服务状态的第二服务实例切换为备用状态,以及将第一服务实例切换为服务状态,进一步地,返回继续循环执行步骤S401-步骤S405(其中,切换后处于备用状态的第二服务实例替换上述步骤S401-步骤S405中的“第一服务实例”,以及切换后处于服务状态的第一服务实例替换上述步骤S401-步骤S405中的“第二服务实例”),具体的可实现方式参见本申请上述任意实施例中相关部分,此处不再赘述。

可选地,本申请每个步骤的可实现方式可参见本申请上述任意实例中的相关部分,本申请实施例中此处不再赘述。

综上,本实施例中,通过对处于备用状态且处于空闲状态的服务实例进行重启,或者对处于备用状态且处于非空闲状态的服务实例,在服务实例满足预设条件时进行重启;进一步地,通过将处于备用状态的服务实例与处于服务状态的服务实例进行身份状态切换,并对切换后处于备用状态的服务实例且处于空闲状态的服务实例进行重启,或者,对切换后处于备用状态且处于非空闲状态的服务实例,在服务实例满足预设条件时进行重启。可见,避免了重启导致的服务实例中运行任务失败的情况,能够保证用户的正常使用,从而提高了用户体验。

图5为根据一示例性实施例示出的一种服务实例的重启装置实施例一的框图,如图5所示,服务实例的重启装置50,包括:

判断模块501,被配置为在满足预设重启条件时,判断处于备用状态的第一服务实例是否处于空闲状态;

第一重启模块502,被配置为在第一服务实例处于空闲状态时,重启第一服务实例;或者,

第二重启模块503,被配置为在第一服务实例处于非空闲状态、且满足预设条件时,重启第一服务实例。

本公开实施例提供的服务实例的重启装置,通过判断模块501在满足预设重启条件时,判断处于备用状态的第一服务实例是否处于空闲状态;进一步地,第一重启模块502在判断模块501确定第一服务实例处于空闲状态时,重启第一服务实例;或者,第二重启模块503在判断模块501确定第一服务实例处于非空闲状态、且满足预设条件时,重启第一服务实例。可见,通过对处于备用状态且处于空闲状态的第一服务实例进行重启,或者对处于备用状态且处于非空闲状态的第一服务实例,在第一服务实例满足预设条件时进行重启,从而避免了重启导致的服务实例中运行任务失败的情况,能够保证用户的正常使用,提高了用户体验。

可选地,预设条件包括以下任一项:第一服务实例由非空闲状态变为空闲状态、第一服务实例处于异常运行状态。

在上述图5所示的实施例的基础上,图6为根据一示例性实施例示出的一种服务实例的重启装置实施例二的框图,参照图6,服务实例的重启装置50,还包括:

第一切换模块504,被配置为将处于服务状态的第二服务实例切换为备用状态;

第二切换模块505,被配置为将第一服务实例切换为服务状态。

本公开实施例提供的服务实例的重启装置,在重启第一服务实例之后,通过第一切换模块504将处于服务状态的第二服务实例切换为备用状态,以及第二切换模块505将第一服务实例切换为服务状态,以便服务实例的重启装置将后续收到的用户请求发送给切换后处于服务状态的第一服务实例,以及在服务实例的重启装置确定满足预设重启条件时,对切换后处于备用状态的第二服务实例的重启操作。实现了在避免重启导致的服务实例中运行任务失败的情况,能够保证用户的正常使用的前提下,对切换后处于备用状态的第二服务实例的重启操作,从而提高了用户体验。

在上述图5所示的实施例的基础上,图7为根据一示例性实施例示出的一种服务实例的重启装置实施例三的框图,参照图7,服务实例的重启装置50,还包括:

确定模块506,被配置为确定至少两个服务实例各自的身份状态;其中,身份状态包括以下一项:服务状态和备用状态;至少两个服务实例中包括第一服务实例。

本公开实施例提供的服务实例的重启装置,通过在判断处于备用状态的第一服务实例是否处于空闲状态之前,确定至少两个服务实例各自的身份状态,以便服务实例的重启装置在满足预设重启条件时,判断处于备用状态的第一服务实例是否处于空闲状态,进而对处于备用状态且处于空闲状态的第一服务实例进行重启,或者对处于备用状态且处于非空闲状态的第一服务实例,在第一服务实例满足预设条件时进行重启,避免了重启导致的服务实例中运行任务失败的情况,能够保证用户的正常使用。

在上述图5-图7所示的实施例的基础上,图8为根据一示例性实施例示出的一种服务实例的重启装置实施例四的框图,参照图8,服务实例的重启装置50,还包括:

接收模块507,被配置为从终端接收用户请求;

发送模块508,被配置为将用户请求发送给处于服务状态的服务实例。

本公开实施例提供的服务实例的重启装置,通过将用户请求发送给处于服务状态的服务实例,从而处于服务状态的服务实例根据用户请求执行相应的任务,以便服务实例的重启装置对处于备用状态的服务实例进行重启,从而避免了重启导致的服务实例中运行任务失败的情况,能够保证用户的正常使用,提高用户体验。

可选地,预设重启条件包括以下一项:预设时间、预设所占内存容量。

上述任一个实施例提供的服务实例的重启装置,用于本申请上述任意服务实例的重启方法实施的技术方案,其实现原理和技术效果类似,通过在满足预设重启条件时,判断处于备用状态的第一服务实例是否处于空闲状态;进一步地,在第一服务实例处于空闲状态时,重启第一服务实例;或者,在第一服务实例处于非空闲状态、且满足预设条件时,重启第一服务实例。可见,通过对处于备用状态且处于空闲状态的第一服务实例进行重启,或者对处于备用状态且处于非空闲状态的第一服务实例,在第一服务实例满足预设条件时进行重启,从而避免了重启导致的服务实例中运行任务失败的情况,能够保证用户的正常使用,提高了用户体验。

以上描述了服务实例的重启装置的内部功能模块和结构示意,其实质上的执行主体应该为服务器,图9为根据一示例性实施例示出的一种服务器的框图,参照图9,服务器可具体实现为:处理器以及用于存储处理器可执行指令的存储器;

处理器,被配置为:

在满足预设重启条件时,判断处于备用状态的第一服务实例是否处于空闲状态;

在第一服务实例处于空闲状态时,重启第一服务实例;或者,

在第一服务实例处于非空闲状态、且满足预设条件时,重启第一服务实例。

图10为根据一示例性实施例示出的一种服务器1900的框图。参照图10,服务器1900包括处理组件1922,其进一步包括一个或多个处理器,以及由存储器1932所代表的存储器资源,用于存储可由处理组件1922的执行的指令,例如应用程序。存储器1932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1922被配置为执行指令,以执行上述任意服务实例的重启方法实施例的全部或部分步骤。

服务器1900还可以包括一个电源组件1926被配置为执行服务器1900的电源管理,一个有线或无线网络接口1950被配置为将服务器1900连接到网络,和一个输入输出(I/O)接口1958。服务器1900可以操作基于存储在存储器1932的操作系统,例如Windows ServerT M,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求书指出。

应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求书来限制。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1