一种节点服务调度系统和方法
技术领域
本发明涉及通信领域,尤其涉及一种节点服务调度系统和方法。
背景技术
在通信技术领域,网络服务往往涉及多个节点,当节点出现故障时,使用该节点的网络服务也会出现异常。现有技术中需要通过人工执行节点服务的调度,故障修复不及时,这就使得网络服务在节点故障后到人工调度之前的这段时间内不可用。
如何提高节点服务调度的及时性,是本申请所要解决的技术问题。
发明内容
本申请实施例的目的是提供一种节点服务调度系统和方法,用以解决节点出现故障后节点服务调度不及时的问题。
本申请实施例提供了一种节点服务调度系统,包括:
探测模块,向与所述探测模块通信连接的至少一个节点代理设备下发探测请求,并将各节点代理设备反馈的探测数据通过存储模块存储,所述探测请求用于指示节点代理设备反馈表征该节点代理设备的各节点性能的探测数据;
与所述探测模块通信连接的存储模块,存储所述探测模块接收到的探测数据;
与所述存储模块通信连接的调度模块,根据所述存储模块存储的探测数据确定相应节点代理设备的各节点的工作状态,对处于故障状态的节点的服务执行调度。
可选的,所述调度模块包括主调度子模块和与所述主调度子模块通信连接的至少一个备调度子模块;
所述主调度子模块用于根据所述存储模块存储的探测数据确定相应节点代理设备的各节点的工作状态,对处于故障状态的节点的服务执行调度;
所述至少一个备调度子模块用于监听所述主调度子模块的工作状态,在所述主调度子模块处于异常状态时,根据所述存储模块中的探测数据确定相应节点代理设备的各节点的工作状态,对处于故障状态的节点的服务执行调度。
可选的,所述探测模块包括探测主模块和与所述探测主模块通信连接的至少一个探测子模块;
所述探测主模块用于向所述至少一个探测子模块下发探测请求分配指令;
所述探测子模块用于根据接收到的所述探测请求分配指令向与所述探测子模块通信连接的至少一个节点代理设备下发所述探测请求。
可选的,所述探测数据包括节点代理设备的各节点的连接失败次数和/或节点代理设备的各节点的响应时长;
所述调度模块,在节点代理设备的节点的连接失败次数大于预设失败次数阈值或节点代理设备的节点的响应时长大于预设响应时长阈值时,确定所述节点代理设备的节点处于故障状态。
可选的,所述调度模块用于:
通过所述存储模块更改处于故障状态的目标节点的参数,使所述目标节点通信连接的节点停止与所述目标节点的连接。
可选的,所述存储模块包括备份子模块;
所述备份子模块,根据对故障状态的目标节点执行的调度操作,备份故障调度记录,所述故障调度记录包括以下至少一项:
所述目标节点的故障状态、更改后的所述目标节点的参数、所述目标节点的参数的更改时间。
可选的,所述存储模块用于:
根据接收到的探测数据更新存储的探测数据,在存储的探测数据未更新的时长大于预设探测时长阈值的情况下生成警报。
可选的,所述探测模块用于周期性向通信连接的至少一个节点代理设备下发所述探测请求,在下发所述探测请求后未接收到节点代理设备反馈的探测数据的时长大于预设探测时长阈值的情况下生成警报。
本申请实施例还提供一种节点服务调度方法,包括:
向至少一个节点代理设备下发探测请求,并存储各节点代理设备反馈的探测数据,所述探测请求用于指示节点代理设备反馈表征该节点代理设备的各节点性能的探测数据;
根据存储的所述探测数据确定相应节点代理设备的各节点的工作状态;
对处于故障状态的节点的服务执行调度。
可选的,根据存储的所述探测数据确定相应节点代理设备的各节点的工作状态,包括:
在节点代理设备的节点的连接失败次数大于预设失败次数阈值或节点代理设备的节点的响应时长大于预设响应时长阈值时,确定所述节点代理设备的节点处于故障状态。
可选的,对处于故障状态的节点的服务执行调度,包括:
更改处于故障状态的目标节点的参数,使与所述目标节点通信连接的节点停止与所述目标节点的连接。
可选的,本申请实施例提供的方法还包括:
根据对故障状态的目标节点执行的调度操作,备份故障调度记录,所述故障调度记录包括以下至少一项:所述目标节点的故障状态、更改后的所述目标节点的参数、所述目标节点的参数的更改时间。
可选的,本申请实施例提供的方法还包括:
根据接收到的探测数据更新存储的探测数据,在存储的探测数据未更新的时长大于预设探测时长阈值的情况下生成警报。
可选的,向至少一个节点代理设备下发探测请求,包括:
周期性向至少一个节点代理设备下发所述探测请求;以及
所述方法还包括:
在下发所述探测请求后未接收到节点代理设备反馈的探测数据的时长大于预设探测时长阈值的情况下生成警报。
在本申请实施例中,系统中的探测模块能向与探测模块通信连接的至少一个节点代理设备下发探测请求,并将探测数据通过存储模块存储,该探测请求用于指示节点代理设备反馈表征节点性能的探测数据;与探测模块通信连接的存储模块能存储探测模块接收到的探测数据;与存储模块通信连接的调度模块,根据存储模块中的探测数据确定节点代理设备的各节点的工作状态,对处于故障状态的节点的服务执行调度。通过本申请实施例提供的方案,能对节点代理设备的状态实现监测,及时发现节点故障,并对故障节点的服务进行及时调度,自动化高。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1a是本发明的一个实施例一种节点服务调度系统的结构示意图之一。
图1b是本发明的一个实施例一种节点服务调度系统的结构示意图之二。
图2是本发明的一个实施例一种节点服务调度系统的结构示意图之三。
图3是本发明的一个实施例一种节点服务调度系统的结构示意图之四。
图4是本发明的一个实施例一种节点服务调度方法的流程示意图之一。
图5是本发明的一个实施例一种节点服务调度方法的流程示意图之二。
图6是本发明的一个实施例一种节点服务调度方法的流程示意图之三。
图7是本发明的一个实施例一种节点服务调度方法的流程示意图之四。
图8是本发明的一个实施例一种节点服务调度方法的流程示意图之五。
图9是本发明的一个实施例一种节点服务调度方法的流程示意图之六。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本申请中附图编号仅用于区分方案中的各个步骤,不用于限定各个步骤的执行顺序,具体执行顺序以说明书中描述为准。
在通信技术领域,内容分发网络(Content Delivery Network,CDN)是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。
CDN调度系统是指CDN厂家有能力通过各种机制将客户域名的所有现网请求引导到合适的目标机房,从而实现流量控制、质量控制、成本控制以及故障处理。
故障调度可以是指在CDN服务节点发生故障时将故障节点的流量等调度到其他正常节点,从而保证业务不受影响。
在实际应用中,可以通过人工调度的方式实现故障调度。例如,实时监控CDN服务节点,通过监控程序(Zabbix等)在发现节点故障时发出报警。运维人员收到报警后,根据故障节点的相关信息判断故障如何调度。最后,通过人工手动修改DNS域名记录实现调度。
虽然这种人工调度的方式可以实现故障调度,由于监控软件(Zabbix等)跨运营商的网络链路不稳定等多种原因,可能导致节点故障发现不够灵敏。而且由于运维人员收到报警后才开始处理,所以存在滞后性,导致故障发现不够及时。由于不能及时发现也不能及时处理,由此导致故障调度不及时,往往会对故障节点相关的业务造成不良影响。
为了解决现有技术中存在的问题,本申请实施例提供一种节点服务调度系统,如图1a所示,包括:
探测模块11,向与所述探测模块11通信连接的至少一个节点代理设备下发探测请求,并将各节点代理设备反馈的探测数据通过存储模块12存储,所述探测请求用于指示节点代理设备反馈表征该节点代理设备的各节点性能的探测数据;
与所述探测模块11通信连接的存储模块12,存储所述探测模块11接收到的探测数据;
与所述存储模块12通信连接的调度模块13,根据所述存储模块12存储的探测数据确定相应节点代理设备的各节点的工作状态,对处于故障状态的节点的服务执行调度。
参见图1b,本申请实施例提供的系统中,探测模块11与节点代理设备A和节点代理设备B通信连接。而节点代理设备A与子设备a、子设备b通信连接。实际上,探测模块11还可以与更多的节点代理设备通信连接,每个节点代理设备下都可以连接有一个或多个子设备,并且,子设备下也可以连接有更多数量、更多层级的设备。这些与探测模块直接或间接通信连接的设备可以用于处理业务服务。通常来说,业务服务需要通过多个节点执行,即一项业务服务往往需要多个设备协同处理。用于处理一项业务服务的设备可以包括不同层级的多个设备,也可以包括处于相同层级的多个设备。
本申请实施例中,探测模块可以向通信连接的节点代理设备A和节点代理设备B下发探测请求,以指示节点代理设备A和节点代理设备B反馈表征所述节点代理设备的各节点性能的探测数据。具体的,在探测模块向节点代理设备A下发探测请求之后,节点代理设备A可以根据接收到的探测请求向通信连接的子设备a和子设备b分别进一步下发探测请求,指示子设备a和子设备b反馈与设备相对应的节点的性能。另外,子设备a和子设备b还可以下联更多的设备,子设备a和子设备b可以进一步向下联设备下发探测请求,以探测每个节点的性能。
探测模块向节点代理设备下发探测请求之后,可以接收到节点代理设备反馈的各节点性能的探测数据,该探测数据能表征节点代理设备下联的各个节点的性能状态,例如可以包括节点是否有响应、节点响应速度、节点运行负荷等参数。随后,探测模块将接收到的探测数据通过存储模块存储。
存储模块可以包括具有存储功能的子模块,在本实施例中,存储模块例如可以包括MySQL数据库。MySQL是一种开放源代码的关系型数据库管理系统,可以使用数据库管理语言--结构化查询语言(SQL)进行数据库管理。MySQL具有速度快、可靠性高等优点。探测模块可以将接收到的探测数据实时存储至MySQL数据库。
可选的,探测模块周期性下发探测请求,并将接收到的探测数据实时更新至存储模块的MySQL数据库。另外,存储模块还可以包括其他数据库或存储子模块来存储历史探测数据,这些历史探测数据可以用来查询执行调度的原因。调度模块根据所述存储模块存储的探测数据确定节点代理设备的各节点的工作状态,并对处于故障状态的节点的服务执行调度。具体的,调度模块可以基于预设的判断标准对存储模块存储的探测数据进行筛选,得到异常的探测数据。随后可以将异常的探测数据对应的节点确定为处于故障状态节点。随后对这些处于故障状态的节点的服务执行调度。
通过本实施例提供的方案,系统中的探测模块能向与所述探测模块通信连接的至少一个节点代理设备下发探测请求,以指示所述节点代理设备反馈表征节点性能的探测数据,并将所述探测数据通过存储模块存储;与所述探测模块通信连接的存储模块能存储所述探测模块接收到的探测数据;与所述存储模块通信连接的调度模块,根据所述存储模块中的探测数据确定所述节点代理设备的各节点的工作状态,对处于故障状态的节点的服务执行调度。通过本申请实施例提供的方案,能对节点代理设备的状态实现监测,及时发现节点故障,并对故障节点的服务进行及时调度,自动化高。其中,探测模块与调度模块通过存储模块间接通信,能实现组件低耦合,降低某一个模块故障对系统整体带来的影响。
基于上述实施例提供的系统,可选的,如图2所示,所述调度模块13包括主调度子模块131和与所述主调度子模块通信连接的至少一个备调度子模块132;
所述主调度子模块用于根据所述存储模块存储的探测数据确定相应节点代理设备的各节点的工作状态,对处于故障状态的节点的服务执行调度;
所述至少一个备调度子模块用于监听所述主调度子模块的工作状态,在所述主调度子模块处于异常状态时,根据所述存储模块中的探测数据确定相应节点代理设备的各节点的工作状态,对处于故障状态的节点的服务执行调度。
在图2中示出的调度模块包括一个主调度子模块和一个备调度子模块,实际上可以根据需求在调度模块中设置更多备调度子模块。其中,主调度子模块在正常工作时可以用于根据所述存储模块存储的探测数据确定相应节点代理设备的各节点的工作状态,对处于故障状态的节点的服务执行调度。在主调度子模块正常工作时,各备调度子模块可以处于低耗能状态。当调度模块包括多个备调度子模块时,多个备调度子模块可以直接或间接监听主调度子模块的工作状态。在主调度子模块处于异常状态时,多个备调度子模块可以按预设优先级选择一个备调度子模块接替主调度子模块继续执行调度工作,或者,多个备调度子模块可以按预先设置的规则协同执行调度工作。
在主调度子模块正常运行时,主调度子模块根据存储模块存储的探测数据确定节点代理设备的各节点的工作状态,并对处于故障状态的节点的服务执行调度。调度模块中的至少一个备调度子模块可以监听主调度子模块收发数据参数或其他能够表征主调度子模块运行状态的参数,从而根据监听到的参数判断主调度子模块运行状态是否正常。如果备调度子模块监听到主调度子模块处于异常状态,则接替主调度子模块的调度工作,根据所述存储模块中的探测数据确定所述节点代理设备的各节点的工作状态,对处于故障状态的节点的服务执行调度,避免主调度子模块异常而导致故障节点的服务受到不良影响。
通过本申请实施例提供的方案,调度模块中的备调度子模块监听主调度子模块的工作状态,一旦主调度子模块处于异常状态,则由至少一个备调度子模块接替主调度子模块的调度工作,保证调度模块能及时对故障节点的服务实现调度,提升系统整体稳定性。
基于上述实施例提供的系统,可选的,如图3所示,所述探测模块11包括探测主模块111和与所述探测主模块111通信连接的至少一个探测子模块112;
所述探测主模块111用于向所述至少一个探测子模块112下发探测请求分配指令;
所述探测子模块112用于根据接收到的所述探测请求分配指令向与所述探测子模块111通信连接的至少一个节点代理设备下发所述探测请求。
在本申请实施例中,参见图3,探测模块11可以包括一个探测主模块111和与探测主模块111通信连接的三个探测子模块112。这三个探测子模块分别是第一探测子模块、第二探测子模块和第三探测子模块。其中,第一探测子模块与节点代理设备A和节点代理设备B通信连接,第二探测子模块与节点代理设备C通信连接,第三探测子模块与节点代理设备D通信连接。
在图3示出的系统中,所述探测主模块111用于向第一探测子模块、第二探测子模块以及第三探测子模块分别下发探测请求分配指令。第一探测子模块接收到探测请求分配指令后,向通信连接的节点代理设备A和节点代理设备B下发探测请求。第二探测子模块接收到探测请求分配指令后,向通信连接的节点代理设备C下发探测请求。第三探测子模块接收到探测请求分配指令后,向通信连接的节点代理设备D下发探测请求。
随后,节点代理设备在接收到探测请求后,将节点代理设备的各节点性能的探测数据反馈给通信连接的探测子模块,探测子模块再将接收到的探测数据发送至探测主模块。经探测主模块汇总后,将接收到的探测数据通过存储设备存储。
在实际应用中,探测模块中的探测子模块的数量可以更多或更少,任一探测子模块至少下联一个节点代理设备。而节点代理设备可以下联一个或多个子设备,这些子设备可以位于相同层级或不同层级。当多个子设备位于不同层级时,上游的子设备可以根据接收到的探测请求向下游的子设备进一步下发探测请求,使每个下游的子设备向上游反馈节点的状态,之后各个子设备将包含节点状态的探测数据反馈至节点代理设备,多个节点代理设备再将探测数据反馈至探测子模块,探测子模块再将接收到的探测数据上报至探测主模块,实现节点状态的探测。
本申请实施例提供的系统,能实现对各个节点状态的探测。其中,探测主模块只需将探测请求分配指令下发至各个探测子模块,并接收各个探测子模块反馈的探测数据。这样探测主模块无需将探测请求逐个下发至各个节点代理设备及其子设备,降低了探测主模块出现异常的可能。探测模块中包括多个探测子模块,可以用于向下联的至少一个节点代理设备下发第二探测子模块。如果某个探测子模块出现异常,则难以获取到该异常的探测子模块下联的节点的探测数据,但是,依然能获取到其他正常的探测子模块下联的节点的探测数据。因此,通过本申请实施例提供的方案,能降低探测主模块的工作负荷,能降低故障对整个系统的影响,提升系统整体稳定性。
基于上述实施例提供的方案,可选的,所述探测数据包括所述节点代理设备的各节点的连接失败次数;
所述调度模块,在节点代理设备的节点的连接失败次数大于预设失败次数时,确定所述节点代理设备的节点处于故障状态。
在本申请实施例中,调度模块能以连接失败次数为标准筛选故障节点。当节点代理设备的节点出现多次连接失败时,可能是出现了节点无响应等异常情况,此时该节点无法正常提供服务,可以确定该节点处于故障状态。
通过本申请实施例提供的方案,能以连接失败次数为标准确定出处于故障状态的节点,随后可以对这些无法稳定处于连接状态的节点的服务进行调度,避免处于故障状态的节点对服务造成不良影响。
基于上述实施例提供的方案,可选的,所述探测数据包括所述节点代理设备的各节点的响应时长;
所述调度模块,在节点代理设备的节点的响应时长大于预设响应时长时,确定所述节点代理设备的节点处于故障状态。
在本申请实施例中,调度模块能以响应时长为标准筛选故障节点。当节点代理设备的节点出现响应时长过长时,可以确定该节点无法及时提供服务,确定该节点处于故障状态。
通过本申请实施例提供的方案,能以响应时长为标准确定出处于故障状态的节点,随后可以对这些响应时长过长的节点的服务进行调度,避免处于故障状态的节点对服务造成不良影响。
基于上述实施例提供的系统,可选的,所述调度模块用于:
通过所述存储模块更改处于故障状态的目标节点的参数,使所述目标节点通信连接的节点停止与所述目标节点的连接。
在本申请实施例中,存储模块中可以包括MySQL数据库,在MySQL数据库中可以存储各个能提供服务的节点的参数信息。在提供服务的过程中,可以根据各个节点的参数信息选取用于提供服务功能的节点。举例而言,MySQL数据库中可以保存有各个能提供服务的节点的优先级参数,各个节点的优先级参数可以是预先设定的,也可以是在执行服务的过程中自动生成的。在选择用于提供服务的节点的过程中,可以将优先级高的节点选取为提供服务的节点。
如果通过本申请实施例提供的系统发现目标节点出现了故障,则调度模块可以对存储模块MySQL数据库中的该故障节点的优先级进行修改,例如将故障节点的优先级修改为0。如果该故障节点当前处于服务状态,则由于故障节点的优先级变低,原由该故障节点执行的服务将由优先级较高的节点执行。随后,新的服务选择用于提供服务的节点时,由于故障节点的优先级很低,也不会被选择为提供服务的节点,这样就能避免故障节点对服务造成不良影响。
基于上述实施例提供的系统,可选的,所述存储模块包括备份子模块;
所述备份子模块,根据对故障状态的目标节点执行的调度操作,备份故障调度记录,所述故障调度记录包括以下至少一项:
所述目标节点的故障状态、更改后的所述目标节点的参数、所述目标节点的参数的更改时间。
本申请实施例提供的存储模块不仅可以存储探测模块实时接收到的各节点的探测数据,以便调度模块及时确定处于故障状态的节点并执行调度,还能存储故障调度记录。该故障调度记录可以用于查询节点故障的原因、调度的时间等,可以用于进一步优化各个节点的功能。
基于上述实施例提供的系统,可选的,所述存储模块用于:
根据接收到的探测数据更新存储的探测数据,在存储的探测数据未更新的时长大于预设探测时长的情况下生成警报。
本申请实施例提供的方案中,存储模块能在未及时更新探测数据的情况下生成警报,该警报可以发送至显示设备或移动设备,用以及时呈现给工作人员,以便工作人员及时发现存储模块的故障。当存储模块检测到存储的探测数据长时间未更新,例如超过五分钟,则有可能探测模块出现了故障,例如探测模块无法下发探测请求,或探测模块无法将接收到的探测数据存储至存储模块。另外,也有可能是存储模块无法正常更新存储探测数据。工作人员可以根据警报及时排查相关设备,以确定实际出现故障的模块或单元,以便第一时间排除故障。
基于上述实施例提供的系统,可选的,所述探测模块用于周期性向通信连接的至少一个节点代理设备下发所述探测请求,在下发所述探测请求后未接收到节点代理设备反馈的探测数据的时长大于预设探测时长阈值的情况下生成警报。
举例而言,探测模块每20秒下发一次探测请求,并将接收到的探测数据存储至存储模块,使存储模块中的探测数据每分钟更新三次。一旦探测模块在下发探测请求后未及时收到节点代理设备反馈的探测数据,则可以生成警报并通知工作人员。例如,探测模块在第一次下发探测请求后直到第二次下发探测请求之前,都未收到节点代理设备反馈的探测数据,则探测模块可能存在故障,此时生成警报能便于工作人员及时排查系统中的故障。
本申请实施例提供的系统中,探测模块与调度模块分离,能实现组件低耦合,降低某个模块故障对系统整体造成的不良影响。调度模块中可以包括主调度子模块和至少一个备调度子模块,提高调度模块整体可用性,提升系统整体稳定性。另外,可选的,可以通过web页面或其他渠道对系统中的参数进行调整,例如探测模块执行探测的频率、调度模块筛选故障节点的标准参数等,使系统能灵活适用于多种应用场景。通过本申请实施例提供的方案,能及时检测到故障状态的节点并对故障的节点的服务执行尽快调度,自动化高,有效降低节点故障对服务造成的不良影响。
本申请实施例还提供一种节点服务调度方法,可以应用于上述实施例提供的节点服务调度系统,如图4所示,所述方法包括以下步骤:
S41:向至少一个节点代理设备下发探测请求,并存储各节点代理设备反馈的探测数据,所述探测请求用于指示节点代理设备反馈表征该节点代理设备的各节点性能的探测数据;
S42:根据存储的所述探测数据确定相应节点代理设备的各节点的工作状态;
S43:对处于故障状态的节点的服务执行调度。
在本申请实施例中,首先向至少一个节点代理设备下发探测请求,并存储各节点代理设备反馈的探测数据,所述探测请求用于指示节点代理设备反馈表征该节点代理设备的各节点性能的探测数据;然后向至少一个节点代理设备下发探测请求,并存储各节点代理设备反馈的探测数据,所述探测请求用于指示节点代理设备反馈表征该节点代理设备的各节点性能的探测数据;最后对处于故障状态的节点的服务执行调度。通过本申请实施例提供的方案,能对节点代理设备的状态实现监测,及时发现节点故障,并对故障节点的服务进行及时调度,自动化高。
基于上述实施例提供的方法,可选的,如图5所示,上述步骤S42,根据存储的所述探测数据确定相应节点代理设备的各节点的工作状态,包括以下步骤:
S51:在节点代理设备的节点的连接失败次数大于预设失败次数阈值或节点代理设备的节点的响应时长大于预设响应时长阈值时,确定所述节点代理设备的节点处于故障状态。
在本申请实施例中,调度模块能以连接失败次数为标准筛选故障节点。当节点代理设备的节点出现多次连接失败时,可能是出现了节点无响应等异常情况,此时该节点无法正常提供服务,可以确定该节点处于故障状态。
通过本申请实施例提供的方案,能以连接失败次数为标准确定出处于故障状态的节点,随后可以对这些无法稳定处于连接状态的节点的服务进行调度,避免处于故障状态的节点对服务造成不良影响。
在本申请实施例中,调度模块能以响应时长为标准筛选故障节点。当节点代理设备的节点出现响应时长过长时,可以确定该节点无法及时提供服务,确定该节点处于故障状态。
通过本申请实施例提供的方案,能以响应时长为标准确定出处于故障状态的节点,随后可以对这些响应时长过长的节点的服务进行调度,避免处于故障状态的节点对服务造成不良影响。
基于上述实施例提供的方法,可选的,如图6所示,上述步骤S43,对处于故障状态的节点的服务执行调度,包括以下步骤:
S61:更改处于故障状态的目标节点的参数,使与所述目标节点通信连接的节点停止与所述目标节点的连接。
如果通过本申请实施例提供的方法发现目标节点出现了故障,则调度模块可以对存储模块MySQL数据库中的该故障节点的优先级进行修改,例如将故障节点的优先级修改为0。如果该故障节点当前处于服务状态,则由于故障节点的优先级变低,原由该故障节点执行的服务将由优先级较高的节点执行。随后,新的服务选择用于提供服务的节点时,由于故障节点的优先级很低,也不会被选择为提供服务的节点,这样就能避免故障节点对服务造成不良影响。
基于上述实施例提供的方法,可选的,如图7所示,上述方法还包括:
S71:根据对故障状态的目标节点执行的调度操作,备份故障调度记录,所述故障调度记录包括以下至少一项:所述目标节点的故障状态、更改后的所述目标节点的参数、所述目标节点的参数的更改时间。
本申请实施例提供的存储模块不仅可以存储探测模块实时接收到的各节点的探测数据,以便调度模块及时确定处于故障状态的节点并执行调度,还能存储故障调度记录。该故障调度记录可以用于查询节点故障的原因、调度的时间等,可以用于进一步优化各个节点的功能。
基于上述实施例提供的方法,可选的,如图8所示,上述方法还包括:
S81:根据接收到的探测数据更新存储的探测数据,在存储的探测数据未更新的时长大于预设探测时长阈值的情况下生成警报。
通过本申请实施例提供的方法,能在未及时更新探测数据的情况下生成警报,该警报可以发送至显示设备或移动设备,用以及时呈现给工作人员,以便工作人员及时发现存储模块的故障。工作人员可以根据警报及时排查相关设备,以确定实际出现故障的模块或单元,以便第一时间排除故障。
基于上述实施例提供的方法,可选的,如图9所示,上述步骤S41,向至少一个节点代理设备下发探测请求,包括以下步骤:
S91:周期性向至少一个节点代理设备下发所述探测请求;以及
所述方法还包括:
S92:在下发所述探测请求后未接收到节点代理设备反馈的探测数据的时长大于预设探测时长阈值的情况下生成警报。
周期性下发探测请求能有效获取各节点的状态,以便及时发现故障状态的节点并及时调度故障状态节点的服务,降低故障对服务带来的负面影响。在下发探测请求后未接收到探测数据的时长大于预设探测时长阈值时,可能是由于节点未响应或存在延迟,或者,节点代理设备出现故障。此时生成警报能及时提醒工作人员检查设备运行状态以排查故障。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。