一种分布式部署服务进程自动重启方法及装置与流程

文档序号:12491348阅读:487来源:国知局
一种分布式部署服务进程自动重启方法及装置与流程

本发明涉及互联网技术领域,尤其涉及一种分布式部署服务进程自动重启方法及装置。



背景技术:

在分布式多进程部署的一些服务器中,可能因为业务要求,或者服务进程的代码有修改,需要重启服务进程。此时,往往要联系运维人员重新启动服务进程。而对于分布式多进程部署的服务进程,因为有多台服务器,每台服务器有多个服务进程,运维人员更要手动登录到服务器逐个服务进程进行重启操作。

在实现本发明过程中,发明人发现现有技术中至少存在如下问题:现有的技术方案需要在每次代码上线或其他情况需要重启服务进程时,联系服务器运维人员进行重启操作。在实际操作场景下,会遇到以下问题:1、每次重启都要联系运维人员,流程审批时间较长,沟通成本较高;2、运维人员暂时不在岗或无法联系导致修改不能及时生效;3、运维人员操作失误导致服务进程中断;4、服务器及服务进程较多,重启服务进程较为耗时。



技术实现要素:

本发明实施例提供一种分布式部署服务进程自动重启方法及装置,以实现分布式部署服务进程自动重启。

一方面,本发明实施例提供了一种分布式部署服务进程自动重启方法,所述方法包括:

当分布式部署的多个服务进程中某一服务进程运行时,定时监测并获取所述服务进程对应的重启标记;

根据所述服务进程对应的重启标记判断所述服务进程是否需要进行重启;并

根据判断结果,对所述服务进程执行相应操作。

另一方面,本发明实施例提供了一种分布式部署服务进程自动重启装置,所述装置包括:

获取单元,用于当分布式部署的多个服务进程中某一服务进程运行时,定时监测并获取所述服务进程对应的重启标记;

判断单元,用于根据所述服务进程对应的重启标记判断所述服务进程是否需要进行重启;

重启单元,用于根据判断结果,对所述服务进程执行相应操作。

上述技术方案具有如下有益效果:该技术方案能够实现分布式部署服务进程自动/可控制重启,降低维护和沟通成本,提高运行效率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例一种分布式部署服务进程自动重启方法流程图;

图2为本发明实施例一种分布式部署服务进程自动重启装置结构示意图;

图3为本发明实施例判断单元结构示意图;

图4为本发明应用实例分布式部署服务进程自动重启示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1所示,为本发明实施例一种分布式部署服务进程自动重启方法流程图,所述方法包括:

101、当分布式部署的多个服务进程中某一服务进程运行时,定时监测并获取所述服务进程对应的重启标记;

102、根据所述服务进程对应的重启标记判断所述服务进程是否需要进行重启;并

103、根据判断结果,对所述服务进程执行相应操作。

优选地,所述服务进程对应的重启标记包括:服务器IP、进程名称和进程编号。

优选地,所述根据所述服务进程对应的重启标记判断所述服务进程是否需要进行重启,包括:根据所述服务进程的进程名称、进程编号、及其所属服务器IP确定对应的重启标记,并读取所述服务进程对应的重启标记的参数值;若读取的所述重启标记的参数值为1,则判断结果为需要进行重启;若读取的所述重启标记的参数值为0,则判断结果为不需要进行重启。

优选地,所述根据判断结果,对所述服务进程执行相应操作,包括:若判断结果为需要进行重启,则对所述服务进程执行重启命令,同时将所述服务进程对应的重启标记的参数值重新置为0;若判断结果为不需要进行重启,则不对所述服务进程执行重启命令(如果判断为不需要重启,不执行重启操作,服务进程继续执行当前的操作,因为服务进程正在运行中)。

优选地,所述方法还包括:监控所述分布式部署的多个服务进程中各服务进程的文件修改状态,当监控到某一服务进程的文件修改状态为已修改时,将所述文件修改状态为已修改的服务进程对应的重启标记的参数值置为1;或,当需要重启所述分布式部署的多个服务进程中某一服务进程时,调取所述需要重启的服务进程对应的接口,将所述需要重启的服务进程对应的重启标记的参数值置为1。

对应于上述方法实施例,如图2所示,为本发明实施例一种分布式部署服务进程自动重启装置结构示意图,所述装置包括:

获取单元21,用于当分布式部署的多个服务进程中某一服务进程运行时,定时监测并获取所述服务进程对应的重启标记;

判断单元22,用于根据所述服务进程对应的重启标记判断所述服务进程是否需要进行重启;

重启单元23,用于根据判断结果,对所述服务进程执行相应操作。

优选地,所述服务进程对应的重启标记包括:服务器IP、进程名称和进程编号。

优选地,如图3所示,为本发明实施例判断单元结构示意图,所述判断单元22包括:读取模块221,用于根据所述服务进程的进程名称、进程编号、及其所属服务器IP确定对应的重启标记,并读取所述服务进程对应的重启标记的参数值:判断模块222,用于若读取的所述重启标记的参数值为1,则判断结果为需要进行重启;若读取的所述重启标记的参数值为0,则判断结果为不需要进行重启。

优选地,所述重启单元23,具有用于若判断结果为需要进行重启,则对所述服务进程执行重启命令,同时将所述服务进程对应的重启标记的参数值重新置为0;若判断结果为不需要进行重启,则不对所述服务进程执行重启命令。

优选地,所述装置还包括:

自动重启设置单元24,用于监控所述分布式部署的多个服务进程中各服务进程的文件修改状态,当监控到某一服务进程的文件修改状态为已修改时,将所述文件修改状态为已修改的服务进程对应的重启标记的参数值置为1;

或,手动重启设置单元25,用于当需要重启所述分布式部署的多个服务进程中某一服务进程时,调取所述需要重启的服务进程对应的接口,将所述需要重启的服务进程对应的重启标记的参数值置为1。

以下举应用实例对本发明实施例上述技术方案进行详细说明:

本发明应用实例技术方案的核心为增加一处重启标记,在服务进程中时刻监视该重启标记,如果重启标记为要重启进程,则自动重启。该技术方案能够实现进程自动/可控制重启,降低维护和沟通成本,提高运行效率。

本发明应用实例在服务进程启动时,保存一个以服务器IP、进程名称和进程编号为KEY(密钥)的重启标记,默认参数值为0。在服务进程运行时每隔1分钟读取一次该KEY的参数值,如果读取到参数值为1,则执行重启命令,同时将参数值重新置为0。

本发明应用实例对于KEY的参数值的修改,包括两种情况:

自动重启设置:增加监控进程,用以监控服务进程文件的修改状态。当监控到服务进程文件修改后,将服务进程相应KEY的参数值置为1;

手动重启设置:增加修改KEY的参数值的接口,当需要重启服务进程时,调取该接口将相应的服务进程KEY的参数值置为1。

如图4所示,为本发明应用实例分布式部署服务进程自动重启示意图。

举例,目前微博话题需要处理多个MCQ(MemcacheQ:一个基于memcache(分布式的高速缓存系统)的分布式队列服务)队列,针对每一个队列,需要启动多个服务进程进行处理,比如用户发布微博的队列、用户点赞微博的队列、用户转发微博的队列。有对应的服务进程消费队列进行给用户加积分、统计行为计数等操作。

重启标记的KEY规范为,服务器IP+进程名称+进程编号,例如“用户点赞微博”的某个KEY可能为“reload_0.0.0.0_attitude_1002”,表示在服务器0.0.0.0的处理点赞队列的服务进程,进程编号为1002。在实际应用中,将该重启标记存到memcache缓存中。

第一种情况,在修改“用户转发微博队列”对应的处理服务进程后,按照之前的流程需要联系运维人员重启每台队列服务器上的每个处理转发微博队列的服务进程。而采用本发明实施例的技术方案,则无需人工干预,在代码上线后,监控进程在监测到该代码文件有修改,则将服务进程所对应的重启标记KEY的参数值置为1。当服务进程读取到进程自身所对应的重启标记KEY的参数值为1时,自动重启进程,并将重启标记KEY的参数值重新置为0或删除。

另一种场景,由于要进行重新统计计数,需要重启“用户点赞微博队列”对应的处理服务进程,此时只需要调用修改KEY的参数值的接口,填入需要修改的KEY名称,将参数值置为1即可。

本发明应用实例,首先,由于监控KEY的进程时刻在运行,因此可以将KEY及参数值保存在Memcache缓存中以便于读写,节省空间,提高性能。其次,KEY的规范为服务器IP+进程名称+进程编号,不但保证业务可以横向扩展,更可以保证服务器、进程间的运行独立性,可以重启特定的服务器进程而不影响其他服务器进程。

与最接近的现有技术相比,本发明应用实例的主要优点有:1、相近的技术方案仅实现了文件修改自动部署,可扩展性不强,本方案应用场景更加广泛;2、相近的技术方案仅考虑了单台服务部署的情况,本技术方案可以应用在分布式部署的服务中,保证了业务的横向扩展。相近的技术方案未考虑同一业务不同进程运行的独立性,本发明应用实例可以保证服务器、进程间的运行独立性,可以重启特定的服务器进程而不影响其他服务器进程。

应该明白,公开的过程中的步骤的特定顺序或层次是示例性方法的实例。基于设计偏好,应该理解,过程中的步骤的特定顺序或层次可以在不脱离本公开的保护范围的情况下得到重新安排。所附的方法权利要求以示例性的顺序给出了各种步骤的要素,并且不是要限于所述的特定顺序或层次。

在上述的详细描述中,各种特征一起组合在单个的实施方案中,以简化本公开。不应该将这种公开方法解释为反映了这样的意图,即,所要求保护的主题的实施方案需要比清楚地在每个权利要求中所陈述的特征更多的特征。相反,如所附的权利要求书所反映的那样,本发明处于比所公开的单个实施方案的全部特征少的状态。因此,所附的权利要求书特此清楚地被并入详细描述中,其中每项权利要求独自作为本发明单独的优选实施方案。

为使本领域内的任何技术人员能够实现或者使用本发明,上面对所公开实施例进行了描述。对于本领域技术人员来说;这些实施例的各种修改方式都是显而易见的,并且本文定义的一般原理也可以在不脱离本公开的精神和保护范围的基础上适用于其它实施例。因此,本公开并不限于本文给出的实施例,而是与本申请公开的原理和新颖性特征的最广范围相一致。

上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式类似于术语“包括”,就如同“包括,”在权利要求中用作衔接词所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者”是要表示“非排它性的或者”。

本领域技术人员还可以了解到本发明实施例列出的各种说明性逻辑块(illustrative logical block),单元,和步骤可以通过电子硬件、电脑软件,或两者的结合进行实现。为清楚展示硬件和软件的可替换性(interchangeability),上述的各种说明性部件(illustrative components),单元和步骤已经通用地描述了它们的功能。这样的功能是通过硬件还是软件来实现取决于特定的应用和整个系统的设计要求。本领域技术人员可以对于每种特定的应用,可以使用各种方法实现所述的功能,但这种实现不应被理解为超出本发明实施例保护的范围。

本发明实施例中所描述的各种说明性的逻辑块,或单元都可以通过通用处理器,数字信号处理器,专用集成电路(ASIC),现场可编程门阵列或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。

本发明实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件模块、或者这两者的结合。软件模块可以存储于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于ASIC中,ASIC可以设置于用户终端中。可选地,处理器和存储媒介也可以设置于用户终端中的不同的部件中。

在一个或多个示例性的设计中,本发明实施例所描述的上述功能可以在硬件、软件、固件或这三者的任意组合来实现。如果在软件中实现,这些功能可以存储与电脑可读的媒介上,或以一个或多个指令或代码形式传输于电脑可读的媒介上。电脑可读媒介包括电脑存储媒介和便于使得让电脑程序从一个地方转移到其它地方的通信媒介。存储媒介可以是任何通用或特殊电脑可以接入访问的可用媒体。例如,这样的电脑可读媒体可以包括但不限于RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁性存储装置,或其它任何可以用于承载或存储以指令或数据结构和其它可被通用或特殊电脑、或通用或特殊处理器读取形式的程序代码的媒介。此外,任何连接都可以被适当地定义为电脑可读媒介,例如,如果软件是从一个网站站点、服务器或其它远程资源通过一个同轴电缆、光纤电缆、双绞线、数字用户线(DSL)或以例如红外、无线和微波等无线方式传输的也被包含在所定义的电脑可读媒介中。所述的碟片(disk)和磁盘(disc)包括压缩磁盘、镭射盘、光盘、DVD、软盘和蓝光光盘,磁盘通常以磁性复制数据,而碟片通常以激光进行光学复制数据。上述的组合也可以包含在电脑可读媒介中。

以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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