服务器管理方法、服务器管理装置及分布式系统与流程

文档序号:15567130发布日期:2018-09-29 03:36阅读:170来源:国知局

本发明涉及大数据技术领域,具体而言,涉及一种服务器管理方法、服务器管理装置及分布式系统。



背景技术:

随着信息技术的不断发展,数据的量越来越多。其中,如何在大量的数据中获取到具有价值的有效数据是大数据技术需要解决的关键问题。现有技术中,一般通过采用多个服务器组成分布式系统以对海量的数据进行处理,以高速、有效地获取到具有可利用价值的数据。

经发明人研究发现,在现有分布式系统中,各服务器在执行数据处理的任务中,由于异常状况的发生可能会导致数据的处理进程终止,从而导致容易存在数据丢失的问题,进而存在因数据丢失而导致任务执行的可靠度较低的问题。



技术实现要素:

有鉴于此,本发明的目的在于提供一种服务器管理方法、服务器管理装置及分布式系统,以改善现有技术中任务执行的可靠度较低的问题。

为实现上述目的,本发明实施例采用如下技术方案:

一种服务器管理方法,应用于分布式系统的主服务器,所述分布式系统还具有多个与所述主服务器通信连接的从服务器,所述服务器管理方法包括:

基于任意一个从服务器发送的注册请求信息向该从服务器分配系列任务,以使该从服务器执行所述系列任务;

检测是否接收到该从服务器发送的注销请求信息,其中,所述注销请求信息基于该从服务器的磁盘、中央处理器或内存存在异常状况时生成或基于该从服务器的网络或进程存在异常状况时生成;

若接收到所述注销请求信息,则获取该从服务器执行所述系列任务产生的数据并存储。

在本发明实施例较佳的选择中,在上述服务器管理方法中,在执行基于任意一个从服务器发送的注册请求信息向该从服务器分配系列任务,以使该从服务器执行所述系列任务的步骤之后,所述方法还包括:

根据所述系列任务确定该系列任务的任务属性;

根据所述任务属性对执行所述系列任务的从服务器配置对应的心跳机制。

在本发明实施例较佳的选择中,在上述服务器管理方法中,在执行若接收到所述注销请求信息,则获取该从服务器执行所述系列任务产生的数据并存储的步骤之后,所述方法还包括:

检测是否接收到该从服务器重新发送的注册请求信息;

若接收到所述重新发送的注册请求信息,则将存储的基于执行所述系列任务产生的数据发送至该从服务器,以使该从服务器执行所述系列任务。

在本发明实施例较佳的选择中,在上述服务器管理方法中,所述若接收到所述重新发送的注册请求信息,则将存储的基于执行所述系列任务产生的数据发送至该从服务器,以使该从服务器执行所述系列任务的步骤包括:

若接收到所述重新发送的注册请求信息,则根据该注册请求信息判断该从服务器是否请求分配脱钩任务,其中,所述脱钩任务为该从服务器因发生异常状况而未执行完成的系列任务;

若该从服务器请求分配所述脱钩任务,则将存储的基于执行所述系列任务产生的数据发送至该从服务器,以使该从服务器执行所述系列任务。

在本发明实施例较佳的选择中,在上述服务器管理方法中,在执行若接收到所述注销请求信息,则获取该从服务器执行所述系列任务产生的数据并存储的步骤之后,所述方法还包括:

将所述系列任务分配给其它的从服务器;

将存储的基于执行所述系列任务产生的数据发送至所述其它的从服务器,以使该从服务器执行所述系列任务。

本发明实施例还提供了一种服务器管理装置,应用于分布式系统的主服务器,所述分布式系统还具有多个与所述主服务器通信连接的从服务器,所述服务器管理装置包括:

任务分配模块,用于基于任意一个从服务器发送的注册请求信息向该从服务器分配系列任务,以使该从服务器执行所述系列任务;

第一检测模块,用于检测是否接收到该从服务器发送的注销请求信息,其中,所述注销请求信息基于该从服务器的磁盘、中央处理器或内存存在异常状况时生成或基于该从服务器的网络或进程存在异常状况时生成;

数据获取模块,用于在接收到所述注销请求信息时,获取该从服务器执行所述系列任务产生的数据并存储。

在本发明实施例较佳的选择中,在上述服务器管理装置中,还包括:

任务属性确定模块,用于根据所述系列任务确定该系列任务的任务属性;

心跳机制配置模块,用于根据所述任务属性对执行所述系列任务的从服务器配置对应的心跳机制。

在本发明实施例较佳的选择中,在上述服务器管理装置中,还包括:

第二检测模块,用于检测是否接收到该从服务器重新发送的注册请求信息;

数据发送模块,用于在接收到所述重新发送的注册请求信息时,将存储的基于执行所述系列任务产生的数据发送至该从服务器,以使该从服务器执行所述系列任务。

在本发明实施例较佳的选择中,在上述服务器管理装置中,所述数据发送模块包括:

任务判断子模块,用于在接收到所述重新发送的注册请求信息时,根据该注册请求信息判断该从服务器是否请求分配脱钩任务,其中,所述脱钩任务为该从服务器因发生异常状况而未执行完成的系列任务;

数据发送子模块,用于在该从服务器请求分配所述脱钩任务时,将存储的基于执行所述系列任务产生的数据发送至该从服务器,以使该从服务器执行所述系列任务。

本发明实施例还提供了一种分布式系统,包括主服务器和多个与所述主服务器通信连接的从服务器;

所述主服务器用于基于任意一个从服务器发送的注册请求信息向该从服务器分配系列任务;

该从服务器用于执行所述系列任务,且在该从服务器的磁盘、中央处理器或内存存在异常状况或该从服务器的网络或进程存在异常状况时生成注销请求信息并发送至所述主服务器,并停止所述系列任务的执行;

所述主服务器还用于检测是否接收到该从服务器发送的注销请求信息,并在接收到所述注销请求信息时,获取该从服务器执行所述系列任务产生的数据并存储。

本发明提供的服务器管理方法、服务器管理装置及分布式系统,通过主服务器通过基于从服务器的注册请求信息或注销请求信息以对从服务器进行任务的分配或数据的保存,在实现对从服务器进行简便的管理的同时,还可以保证数据的完整性以便于任务再次执行,从而提高任务执行的可靠性,进而改善现有技术中存在的任务执行的可靠度较低的问题。

进一步地,通过基于分配的任务的类型对从服务器的心跳机制进行配置,可以实现在保证主服务与从服务器之间连接的有效性的基础上,还可以避免资源浪费的问题。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

图1为本发明实施例提供的分布式系统的连接框图。

图2为本发明实施例提供的主服务器的结构框图。

图3为本发明实施例提供的服务器管理方法的流程示意图。

图4为本发明实施例提供的服务器管理方法的另一流程示意图。

图5为图4中步骤s150的流程示意图。

图6为本发明实施例提供的服务器管理方法的另一流程示意图。

图7为本发明实施例提供的服务器管理装置的结构框图。

图8为本发明实施例提供的服务器管理装置的另一结构框图。

图9为本发明实施例提供的数据发送模块的结构框图。

图10为本发明实施例提供的服务器管理装置的另一结构框图。

图标:10-分布式系统;20-主服务器;22-存储器;24-处理器;30-从服务器;100-服务器管理装置;110-任务分配模块;120-第一检测模块;130-数据获取模块;140-第二检测模块;150-数据发送模块;151-任务判断子模块;153-数据发送子模块;160-任务属性确定模块;170-心跳机制配置模块。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例只是本发明的一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为只是或暗示相对重要性。

如图1所示,本发明实施例提供了一种分布式系统10,包括主服务器20和多个从服务器30。其中,各所述从服务器30分别与所述主服务器20通信连接,以基于所述主服务器20的控制进行数据处理的任务。

进一步地,在本实施例中,所述主服务器20用于基于任意一个从服务器30发送的注册请求信息向该从服务器30分配系列任务。该从服务器30用于执行所述系列任务,且在该从服务器30的磁盘、中央处理器或内存存在异常状况或该从服务器30的网络或进程存在异常状况时生成注销请求信息并发送至所述主服务器20,并停止所述系列任务的执行。所述主服务器20还用于检测是否接收到该从服务器30发送的注销请求信息,并在接收到所述注销请求信息时,获取该从服务器30执行所述系列任务产生的数据并存储。

可选地,所述主服务器20和各所述从服务器30的类型不受限制,可以根据实际应用需求进行设置,例如,可以包括,但不限于web(网站)服务器、数据服务器、电脑、移动上网设备(mobileinternetdevice,mid)等具有处理功能的设备。并且,所述主服务器20和各所述从服务器30的类型可以是相同的,也可以是不同的,只要能够有效地进行数据的交互即可。

在本实施例中,各所述从服务器30与所述主服务器20的类型相同,可以包括相同的元器件。结合图2,以所述主服务器20为例进行说明。其中,所述主服务器20可以包括存储器22和处理器24。

所述存储器22和处理器24之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。并且,所述存储器22还可以存储有服务器管理装置100。其中,所述服务器管理装置100包括至少一个可以软件或固件(firmware)的形式存储于所述存储器22中的软件功能模块。所述处理器24用于执行所述存储器22中存储的可执行的计算机程序,例如,所述服务器管理装置100所包括的软件功能模块及计算机程序等,以实现服务器管理方法。

其中,所述存储器22可以是,但不限于,随机存取存储器(randomaccessmemory,ram),只读存储器(readonlymemory,rom),可编程只读存储器(programmableread-onlymemory,prom),可擦除只读存储器(erasableprogrammableread-onlymemory,eprom),电可擦除只读存储器(electricerasableprogrammableread-onlymemory,eeprom)等。其中,存储器22用于存储程序,所述处理器24在接收到执行指令后,执行所述程序。

所述处理器24可能是一种集成电路芯片,具有信号的处理能力。上述的处理器24可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

可以理解,图2所示的结构仅为示意,所述主服务器20还可包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置,例如,还可以包括用于与各所述从服务器30进行数据交互的通信单元。图2中所示的各组件可以采用硬件、软件或其组合实现。

结合图3,本发明实施例还提供一种可应用于上述分布式系统10的主服务器20的服务器管理方法。其中,所述方法有关的流程所定义的方法步骤可以由所述处理器24实现。下面将对图3所示的具体流程进行详细阐述。

步骤s110,基于任意一个从服务器30发送的注册请求信息向该从服务器30分配系列任务,以使该从服务器30执行所述系列任务。

在本实施例中,各从服务器30进行任务的执行可以是主动式的,也就是说,各从服务器30可以基于自身的需求进行任务的请求。例如,一个从服务器30在处于正常且当前未执行任务时,可以向主服务器20发送注册请求信息,以在主服务器20进行注册,以使主服务器20可以获取该从服务器30的信息(例如,状态信息)。并且,该注册请求信息还可以包括有请求执行任务的需求信息,以使主服务可以基于该需求信息向该从服务器30分配系列任务。

步骤s120,检测是否接收到该从服务器30发送的注销请求信息。

在本实施例中,所述注销请求信息基于该从服务器30的磁盘、中央处理器或内存存在异常状况时生成或基于该从服务器30的网络或进程存在异常状况时生成。也就是说,若从服务器30发生上述各异常状况时,可以向主服务器20发送注销请求信息,以使主服务器20可以获取该从服务器30的当前状况。并且,该从服务器30在发生上述各异常状况时,可以进入挂起状态,以停止对所述系列任务的执行。

步骤s130,若接收到所述注销请求信息,则获取该从服务器30执行所述系列任务产生的数据并存储。

在本实施例中,在接收到注销请求信息时,可以判定对应的从服务器30存在异常状况,对该从服务器30分配的系列任务难以继续执行。为保证该系列任务能够有效的被完成,可以获取从服器通过执行该系列任务产生的数据并保存。

可选地,针对保存的数据和对应的系列任务,处理的方式不受限制,可以根据实际应用需求进行设置,例如,既可以是暂停对该系列任务的处理以在对应的从服务器30的异常状况消除后,再将该系列任务分配给该从服务器30,也可以是将该系列任务直接分配给其它的从服务器30。

在一种实例中,在执行步骤s130之后,所述服务器管理方法还可以包括以下步骤:将所述系列任务分配给其它的从服务器30;将存储的基于执行所述系列任务产生的数据发送至所述其它的从服务器30,以使该从服务器30执行所述系列任务。通过该方法,可以实现对系列任务的快速处理,避免系列任务的中断执行而影响任务处理的进程。

在另一种实例中,结合图4,在执行步骤s130之后,所述服务器管理方法还可以包括步骤s140和步骤s150。

步骤s140,检测是否接收到该从服务器30重新发送的注册请求信息。

在本实施例中,从服务器30在异常状况消除后可以向主服务器20重新发送注册请求信息,以请求主服务器20进行任务的分配,以实现从服务器30资源的合理利用。

步骤s150,若接收到所述重新发送的注册请求信息,则将存储的基于执行所述系列任务产生的数据发送至该从服务器30,以使该从服务器30执行所述系列任务。

可选地,主服务器20在接收到从服务器30重新发送的注册请求信息时,既可以是基于从服务器30的请求将因异常状况而停止执行的系列任务重新分配给该从服务器30,也可以是主动将因异常状况而停止执行的系列任务重新分配给该从服务器30。在本实施例中,结合图5,步骤s150可以包括步骤s151和步骤s153。

步骤s151,若接收到所述重新发送的注册请求信息,则根据该注册请求信息判断该从服务器30是否请求分配脱钩任务。

在本实施例中,所述脱钩任务为该从服务器30因发生异常状况而停止执行的系列任务。其中,该从服务器30重新发送的注册请求信息既可以是请求主服务器20分配脱钩任务,也可以是请求主服务器20分配新的系列任务。

步骤s153,若该从服务器30请求分配所述脱钩任务,则将存储的基于执行所述系列任务产生的数据发送至该从服务器30,以使该从服务器30执行所述系列任务。

在本实施例中,通过执行步骤s153,可以保证同一系列由同一从服务器30执行,以避免不同的从服务器30执行同一系列任务而造成部分任务被重复执行的问题,进而避免因部分任务被重复执行而存在的资源浪费问题。

进一步地,为保证主服务器20与从服务器30之间连接的有效性,在本实施例中,主服务器20还可以对从服务器30进行心跳机制的配置,结合图6,在执行步骤s110之后,所述服务器管理方法还可以包括步骤s160和步骤s170。

步骤s160,根据所述系列任务确定该系列任务的任务属性。

步骤s170,根据所述任务属性对执行所述系列任务的从服务器30配置对应的心跳机制。

在本实施例中,通过根据对从服务器30分配的任务的属性为该从服务器30配置对应的心跳机制,在保证主服务与从服务器30之间连接的有效性的基础上,还可以避免资源浪费的问题。例如,针对较为重要的系列任务,可以对执行该系列任务的从服务器30配置较短时间常数的心跳机制。针对一般的系列任务,可以对执行该系列任务的从服务器30配置较长时间常数的心跳机制。具体地,针对较为重要的系列任务,可以在主服务器20和执行该系列任务的从服务器30之间每间隔10ms通信一次。针对一般的系列任务,可以在主服务器20和执行该系列任务的从服务器30之间每间隔20ms通信一次。

结合图7,本发明实施例还提供一种可应用于上述分布式系统10的主服务器20的服务器管理装置100。其中,所述服务器管理装置100可以包括任务分配模块110、第一检测模块120以及数据获取模块130。

所述任务分配模块110,用于基于任意一个从服务器30发送的注册请求信息向该从服务器30分配系列任务,以使该从服务器30执行所述系列任务。在本实施例中,所述任务分配模块110可用于执行图3所示的步骤s110,关于所述任务分配模块110的具体描述可以参照前文对步骤s110的描述。

所述第一检测模块120,用于检测是否接收到该从服务器30发送的注销请求信息,其中,所述注销请求信息基于该从服务器30的磁盘、中央处理器或内存存在异常状况时生成或基于该从服务器30的网络或进程存在异常状况时生成。在本实施例中,所述第一检测模块120可用于执行图3所示的步骤s120,关于所述第一检测模块120的具体描述可以参照前文对步骤s120的描述。

所述数据获取模块130,用于在接收到所述注销请求信息时,获取该从服务器30执行所述系列任务产生的数据并存储。在本实施例中,所述数据获取模块130可用于执行图3所示的步骤s130,关于所述数据获取模块130的具体描述可以参照前文对步骤s130的描述。

进一步地,在本实施例中,结合图8,所述服务器管理装置100还可以包括第二检测模块140和数据发送模块150。

所述第二检测模块140,用于检测是否接收到该从服务器30重新发送的注册请求信息。在本实施例中,所述第二检测模块140可用于执行图4所示的步骤s140,关于所述第二检测模块140的具体描述可以参照前文对步骤s140的描述。

所述数据发送模块150,用于在接收到所述重新发送的注册请求信息时,将存储的基于执行所述系列任务产生的数据发送至该从服务器30,以使该从服务器30执行所述系列任务。在本实施例中,所述数据发送模块150可用于执行图4所示的步骤s150,关于所述数据发送模块150的具体描述可以参照前文对步骤s150的描述。

其中,结合图9,在本实施例中,所述数据发送模块150可以包括任务判断子模块151和数据发送子模块153。

所述任务判断子模块151,用于在接收到所述重新发送的注册请求信息时,根据该注册请求信息判断该从服务器30是否请求分配脱钩任务,其中,所述脱钩任务为该从服务器30因发生异常状况而未执行完成的系列任务。在本实施例中,所述任务判断子模块151可用于执行图5所示的步骤s151,关于所述任务判断子模块151的具体描述可以参照前文对步骤s151的描述。

所述数据发送子模块153,用于在该从服务器30请求分配所述脱钩任务时,将存储的基于执行所述系列任务产生的数据发送至该从服务器30,以使该从服务器30执行所述系列任务。在本实施例中,所述数据发送子模块153可用于执行图5所示的步骤s153,关于所述数据发送子模块153的具体描述可以参照前文对步骤s153的描述。

进一步地,在本实施例中,结合图10,所述服务器管理装置100还可以包括任务属性确定模块160和心跳机制配置模块170。

所述任务属性确定模块160,用于根据所述系列任务确定该系列任务的任务属性。在本实施例中,所述任务属性确定模块160可用于执行图6所示的步骤s160,关于所述任务属性确定模块160的具体描述可以参照前文对步骤s160的描述。

所述心跳机制配置模块170,用于根据所述任务属性对执行所述系列任务的从服务器30配置对应的心跳机制。在本实施例中,所述心跳机制配置模块170可用于执行图6所示的步骤s170,关于所述心跳机制配置模块170的具体描述可以参照前文对步骤s170的描述。

综上所述,本发明提供的服务器管理方法、服务器管理装置100及分布式系统10,通过主服务器20通过基于从服务器30的注册请求信息或注销请求信息以对从服务器30进行任务的分配或数据的保存,在实现对从服务器30进行简便的管理的同时,还可以保证数据的完整性以便于任务再次执行,从而提高任务执行的可靠性,进而改善现有技术中存在的任务执行的可靠度较低的问题。其次,通过基于分配的任务的类型对从服务器30的心跳机制进行配置,可以实现在保证主服务与从服务器30之间连接的有效性的基础上,还可以避免资源浪费的问题。

在本发明实施例所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,电子设备,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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