一种多预警服务调度的方法及系统技术方案

技术编号:26689426 阅读:29 留言:0更新日期:2020-12-12 02:38
本发明专利技术涉及一种多预警服务调度的方法及系统,在服务中定义领导者预警服务与普通预警服务,多个服务在多服务器上运行,并设置服务心跳时间,在每个服务心跳进行如下操作:A,领导者预警服务监控所有服务,判断是否有新增预警服务,或者其他预警服务存在停止运行的情况,从而进行更改预警规则任务的指派;B,普通预警服务监听领导者预警服务是否正常运行,当领导者预警服务异常停止时,按照顺位,由下一个顺位服务自动升级为领导者预警服务。本发明专利技术可以调高预警服务的准确性和稳定性,当发生服务灾害的时候,可以作为一种容灾的手段。

【技术实现步骤摘要】
一种多预警服务调度的方法及系统
本专利技术涉及互联网
,特别是一种多预警服务调度的方法及系统。
技术介绍
防灾预警作为防灾组织体系中重要的组成部分之一,在灾情预防中起到了不可估量的作用。在当前防汛防灾工作过程中,存在灾情多样、多变的现象,就需要多个预警服务需要定时定点去处理这些数据,那么在预警任务比较多的情况下,怎么能够较好的安排和调度这些任务,从而能更加准时、稳定的预报出灾害信息就尤为重要。目前,各省市灾情系统预警服务都是单线程运行,在任务很多的情况下,会存在一定的延迟情况,不够及时,如出现服务器崩溃等事情,会导致预警服务直接关闭掉,导致灾害地区不能及时有效规避风险,这些问题都是各地区防灾预警能力薄弱的重要原因。灾情预警作为防灾预防中关键的一环,其预报的及时性、稳定性也是至关重要的一环。
技术实现思路
有鉴于此,本专利技术的目的是提出一种多预警服务调度的方法及系统,可以调高预警服务的准确性和稳定性,当发生服务灾害的时候,可以作为一种容灾的手段。本专利技术采用以下方案实现:一种多预警服务调度的方法,具体为:在服务中定义领导者预警服务与普通预警服务,多个服务在多服务器上运行,并设置服务心跳时间,在每个服务心跳进行如下操作:A,领导者预警服务监控所有服务,判断是否有新增预警服务,或者其他预警服务存在停止运行的情况,从而进行更改预警规则任务的指派;B,普通预警服务监听领导者预警服务是否正常运行,当领导者预警服务异常停止时,按照顺位,由下一个顺位服务自动升级为领导者预警服务。进一步地,在第一次启动运行时,执行以下步骤:步骤S11:定义服务架构,包括领导者预警服务以及普通预警服务;步骤S12:当新的预警服务注册进来后,先以普通预警服务的身份加入到总服务维护表中;步骤S13:判断当前的总服务维护表中是否已经存在领导者预警服务,若是,则进入步骤S14,否则进入步骤S15;步骤S14:判断是否已经被分配任务,若是,则运行分配的任务,之后结束进程;否则等待领导者分配任务,并重复本步骤;步骤S15:根据总服务维护表,读取下一顺位正常运行的服务,判断下一顺位正常运行的服务是否为本服务,若是则进入步骤S16,否则,令下一顺位正常运行的服务作为领导者预警服务,返回步骤S14;步骤S16:本服务升级为领导者预警服务,读取系统中所有需要预警的任务以及所有在线的服务,将需要预警的任务分配给在线的预警服务,之后结束进程。进一步地,每个预警服务均会定时更新在总服务维护表中自己的服务状态,以通知其他服务本服务正常运行中。进一步地,所述A具体包括以下步骤:步骤SA1:领导者预警服务更新本服务的运行状态,并读取所有预警服务数据;步骤SA2:将其他服务数据和上次运行的服务数据进行对比,判断是否有新加入的服务,或者是否存在已经停止运行的现有服务;若是,则进入步骤SA3,否则本次心跳检测结束;步骤SA3:对所有的预警任务进行重新分配。进一步地,所述B具体包括以下步骤:步骤SB1:更新本服务的运行状态,并读取领导者预警服务,判断领导者预警服务的运行状态是否正常,若是,则进入步骤SB2,否则进入步骤SB3;步骤SB2:判断是否已经被分配任务,若是,则运行分配的任务,之后结束本次心跳检测;否则等待领导者分配任务,并重复本步骤;步骤SB3:根据总服务维护表,读取下一顺位正常运行的服务,判断下一顺位正常运行的服务是否为本服务,若是,则进入步骤SB4,否则令下一顺位正常运行的服务作为领导者预警服务,返回步骤SB2;步骤SB4:本服务升级为领导者预警服务,读取系统中所有需要预警的任务以及所有在线的服务,将需要预警的任务分配给在线的预警服务,之后结束本次心跳检测。本专利技术还提供了一种多预警服务调度系统,包括存储器、处理器,以及存储于存储器上并能够被处理器所运行的计算机程序,当处理器运行该计算机程序时,实现如上文所述的方法步骤。本专利技术还提供了一种计算机可读存储介质,其上存储有能够被处理器所运行的计算机程序,当处理器运行该计算机程序时,实现如上文所述的方法步骤。与现有技术相比,本专利技术有以下有益效果:本专利技术能够有效提高容灾的能力,在一个服务器在关闭的情况下,可以自动进行任务调度,提供灾情预警的有效性。当预警任务比较繁多的时候,一个服务,无法良好的做到,多任务同时进行预警,那么就会存在某些预警任务会被延时处理,采用本专利技术的方法能够提高预警的及时性。附图说明图1为本专利技术实施例的方法流程示意图。具体实施方式下面结合附图及实施例对本专利技术做进一步说明。应该指出,以下详细说明都是示例性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属
的普通技术人员通常理解的相同含义。需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。如图1所示,本实施例提供了一种多预警服务调度的方法,具体为:在服务中定义领导者预警服务与普通预警服务,多个服务在多服务器上运行,并设置服务心跳时间,在每个服务心跳进行如下操作:A,领导者预警服务监控所有服务,判断是否有新增预警服务,或者其他预警服务存在停止运行的情况,从而进行更改预警规则任务的指派;B,普通预警服务监听领导者预警服务是否正常运行,当领导者预警服务异常停止时,按照顺位,由下一个顺位服务自动升级为领导者预警服务。较佳的,服务心跳时间为可配置,例如配置为5分钟检测一次,那么服务运行时间大于例如6分钟的(为防止存在一定的延迟导致的数据晚录,稍微扩大一分钟),则为异常状态,反之为正常。其中,在第一次启动运行时,执行以下步骤:步骤S11:定义服务架构,包括领导者预警服务以及普通预警服务;步骤S12:当新的预警服务注册进来后,先以普通预警服务的身份加入到总服务维护表中;步骤S13:判断当前的总服务维护表中是否已经存在领导者预警服务,若是,则进入步骤S14,否则进入步骤S15;步骤S14:判断是否已经被分配任务,若是,则运行分配的任务,之后结束进程;否则等待领导者分配任务,并重复本步骤;步骤S15:根据总服务维护表,读取下一顺位正常运行的服务,判断下一顺位正常运行的服务是否为本服务,若是则进入步骤S16,否则,令下一顺位正常运行的服务作为领导者预警服务,返回步骤S14;步骤S16:本服务升级为领导者预警服务,读取系统中所有需要预警的任务以及所有在线的服务,然后根据任务的运行时间、运行时长,进行合理的安排给所有服务进行运行,之后结束进程。在本实施例中,每个预警服务均会定时本文档来自技高网
...

【技术保护点】
1.一种多预警服务调度的方法,其特征在于,在服务中定义领导者预警服务与普通预警服务,多个服务在多服务器上运行,并设置服务心跳时间,在每个服务心跳进行如下操作:/nA,领导者预警服务监控所有服务,判断是否有新增预警服务,或者其他预警服务存在停止运行的情况,从而进行更改预警规则任务的指派;/nB,普通预警服务监听领导者预警服务是否正常运行,当领导者预警服务异常停止时,按照顺位,由下一个顺位服务自动升级为领导者预警服务。/n

【技术特征摘要】
1.一种多预警服务调度的方法,其特征在于,在服务中定义领导者预警服务与普通预警服务,多个服务在多服务器上运行,并设置服务心跳时间,在每个服务心跳进行如下操作:
A,领导者预警服务监控所有服务,判断是否有新增预警服务,或者其他预警服务存在停止运行的情况,从而进行更改预警规则任务的指派;
B,普通预警服务监听领导者预警服务是否正常运行,当领导者预警服务异常停止时,按照顺位,由下一个顺位服务自动升级为领导者预警服务。


2.根据权利要求1所述的一种多预警服务调度的方法,其特征在于,在第一次启动运行时,执行以下步骤:
步骤S11:定义服务架构,包括领导者预警服务以及普通预警服务;
步骤S12:当新的预警服务注册进来后,先以普通预警服务的身份加入到总服务维护表中;
步骤S13:判断当前的总服务维护表中是否已经存在领导者预警服务,若是,则进入步骤S14,否则进入步骤S15;
步骤S14:判断是否已经被分配任务,若是,则运行分配的任务,之后结束进程;否则等待领导者分配任务,并重复本步骤;
步骤S15:根据总服务维护表,读取下一顺位正常运行的服务,判断下一顺位正常运行的服务是否为本服务,若是则进入步骤S16,否则,令下一顺位正常运行的服务作为领导者预警服务,返回步骤S14;
步骤S16:本服务升级为领导者预警服务,读取系统中所有需要预警的任务以及所有在线的服务,将需要预警的任务分配给在线的预警服务,之后结束进程。


3.根据权利要求1所述的一种多预警服务调度的方法,其特征在于,每个预警服务均会定时更新在总服务维护表中自己的服务状态,以通知其他服务本服务正常运行中。


4.根据权...

【专利技术属性】
技术研发人员:张军黄敏陈金满陈星星
申请(专利权)人:浙江知水信息技术有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1