CN112068939A - 一种多预警服务调度的方法及系统 - Google Patents

一种多预警服务调度的方法及系统 Download PDF

Info

Publication number
CN112068939A
CN112068939A CN202010857680.4A CN202010857680A CN112068939A CN 112068939 A CN112068939 A CN 112068939A CN 202010857680 A CN202010857680 A CN 202010857680A CN 112068939 A CN112068939 A CN 112068939A
Authority
CN
China
Prior art keywords
service
early warning
leader
services
warning service
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010857680.4A
Other languages
English (en)
Inventor
张军
黄敏
陈金满
陈星星
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Zhishui Information Technology Co ltd
Original Assignee
Zhejiang Zhishui Information Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang Zhishui Information Technology Co ltd filed Critical Zhejiang Zhishui Information Technology Co ltd
Priority to CN202010857680.4A priority Critical patent/CN112068939A/zh
Publication of CN112068939A publication Critical patent/CN112068939A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)

Abstract

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

Description

一种多预警服务调度的方法及系统
技术领域
本发明涉及互联网技术领域,特别是一种多预警服务调度的方法及系统。
背景技术
防灾预警作为防灾组织体系中重要的组成部分之一,在灾情预防中起到了不可估量的作用。在当前防汛防灾工作过程中,存在灾情多样、多变的现象,就需要多个预警服务需要定时定点去处理这些数据,那么在预警任务比较多的情况下,怎么能够较好的安排和调度这些任务,从而能更加准时、稳定的预报出灾害信息就尤为重要。
目前,各省市灾情系统预警服务都是单线程运行,在任务很多的情况下,会存在一定的延迟情况,不够及时,如出现服务器崩溃等事情,会导致预警服务直接关闭掉,导致灾害地区不能及时有效规避风险,这些问题都是各地区防灾预警能力薄弱的重要原因。灾情预警作为防灾预防中关键的一环,其预报的及时性、稳定性也是至关重要的一环。
发明内容
有鉴于此,本发明的目的是提出一种多预警服务调度的方法及系统,可以调高预警服务的准确性和稳定性,当发生服务灾害的时候,可以作为一种容灾的手段。
本发明采用以下方案实现:一种多预警服务调度的方法,具体为:在服务中定义领导者预警服务与普通预警服务,多个服务在多服务器上运行,并设置服务心跳时间,在每个服务心跳进行如下操作:
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:本服务升级为领导者预警服务,读取系统中所有需要预警的任务以及所有在线的服务,然后根据任务的运行时间、运行时长,进行合理的安排给所有服务进行运行,之后结束进程。
在本实施例中,每个预警服务均会定时更新在总服务维护表中自己的服务状态,以通知其他服务本服务正常运行中。
其中,所述A具体包括以下步骤:
步骤SA1:领导者预警服务更新本服务的运行状态,并读取所有预警服务数据;
步骤SA2:将其他服务数据和上次运行的服务数据进行对比,判断是否有新加入的服务,或者是否存在已经停止运行的现有服务;若是,则进入步骤SA3,否则本次心跳检测结束;
步骤SA3:对所有的预警任务进行重新分配。
其中,所述B具体包括以下步骤:
步骤SB1:更新本服务的运行状态,并读取领导者预警服务,判断领导者预警服务的运行状态是否正常,若是,则进入步骤SB2,否则进入步骤SB3;
步骤SB2:判断是否已经被分配任务,若是,则运行分配的任务,之后结束本次心跳检测;否则等待领导者分配任务,并重复本步骤;
步骤SB3:根据总服务维护表,读取下一顺位正常运行的服务,判断下一顺位正常运行的服务是否为本服务,若是,则进入步骤SB4,否则令下一顺位正常运行的服务作为领导者预警服务,返回步骤SB2;
步骤SB4:本服务升级为领导者预警服务,读取系统中所有需要预警的任务以及所有在线的服务,然后根据任务的运行时间、运行时长,合理的将需要预警的任务分配给在线的预警服务,之后结束本次心跳检测。
本实施例还提供了一种多预警服务调度系统,包括存储器、处理器,以及存储于存储器上并能够被处理器所运行的计算机程序,当处理器运行该计算机程序时,实现如上文所述的方法步骤。
本实施例还提供了一种计算机可读存储介质,其上存储有能够被处理器所运行的计算机程序,当处理器运行该计算机程序时,实现如上文所述的方法步骤。
本实施例的方法是基于有多个通用预警规则在运行,通过多个服务在多服务器上运行,多服务需要一个领导者服务进行任务的调度,确保整个服务框架的正常运行。首先维护所有服务的存储结构,有服务运行加入后,按照顺序,记录到存储表,每个服务,都会定时定点去更新表里自己服务状态,用来通知其他服务,本服务正常运行中。领导者服务会监控所有服务,判断是否有新增预警服务,或者其他预警服务存在停止运行的情况,从而进行更改预警规则任务的指派。不是领导者的预警服务,会监听领导者预警服务是否正常运行,当领导者服务异常停止时,按照顺位,由下一个顺位服务自动升级为领导者服务。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅是本发明的较佳实施例而已,并非是对本发明作其它形式的限制,任何熟悉本专业的技术人员可能利用上述揭示的技术内容加以变更或改型为等同变化的等效实施例。但是凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与改型,仍属于本发明技术方案的保护范围。

Claims (7)

1.一种多预警服务调度的方法,其特征在于,在服务中定义领导者预警服务与普通预警服务,多个服务在多服务器上运行,并设置服务心跳时间,在每个服务心跳进行如下操作:
A,领导者预警服务监控所有服务,判断是否有新增预警服务,或者其他预警服务存在停止运行的情况,从而进行更改预警规则任务的指派;
B,普通预警服务监听领导者预警服务是否正常运行,当领导者预警服务异常停止时,按照顺位,由下一个顺位服务自动升级为领导者预警服务。
2.根据权利要求1所述的一种多预警服务调度的方法,其特征在于,在第一次启动运行时,执行以下步骤:
步骤S11:定义服务架构,包括领导者预警服务以及普通预警服务;
步骤S12:当新的预警服务注册进来后,先以普通预警服务的身份加入到总服务维护表中;
步骤S13:判断当前的总服务维护表中是否已经存在领导者预警服务,若是,则进入步骤S14,否则进入步骤S15;
步骤S14:判断是否已经被分配任务,若是,则运行分配的任务,之后结束进程;否则等待领导者分配任务,并重复本步骤;
步骤S15:根据总服务维护表,读取下一顺位正常运行的服务,判断下一顺位正常运行的服务是否为本服务,若是则进入步骤S16,否则,令下一顺位正常运行的服务作为领导者预警服务,返回步骤S14;
步骤S16:本服务升级为领导者预警服务,读取系统中所有需要预警的任务以及所有在线的服务,将需要预警的任务分配给在线的预警服务,之后结束进程。
3.根据权利要求1所述的一种多预警服务调度的方法,其特征在于,每个预警服务均会定时更新在总服务维护表中自己的服务状态,以通知其他服务本服务正常运行中。
4.根据权利要求1所述的一种多预警服务调度的方法,其特征在于,所述A具体包括以下步骤:
步骤SA1:领导者预警服务更新本服务的运行状态,并读取所有预警服务数据;
步骤SA2:将其他服务数据和上次运行的服务数据进行对比,判断是否有新加入的服务,或者是否存在已经停止运行的现有服务;若是,则进入步骤SA3,否则本次心跳检测结束;
步骤SA3:对所有的预警任务进行重新分配。
5.根据权利要求1所述的一种多预警服务调度的方法,其特征在于,所述B具体包括以下步骤:
步骤SB1:更新本服务的运行状态,并读取领导者预警服务,判断领导者预警服务的运行状态是否正常,若是,则进入步骤SB2,否则进入步骤SB3;
步骤SB2:判断是否已经被分配任务,若是,则运行分配的任务,之后结束本次心跳检测;否则等待领导者分配任务,并重复本步骤;
步骤SB3:根据总服务维护表,读取下一顺位正常运行的服务,判断下一顺位正常运行的服务是否为本服务,若是,则进入步骤SB4,否则令下一顺位正常运行的服务作为领导者预警服务,返回步骤SB2;
步骤SB4:本服务升级为领导者预警服务,读取系统中所有需要预警的任务以及所有在线的服务,将需要预警的任务分配给在线的预警服务,之后结束本次心跳检测。
6.一种多预警服务调度系统,其特征在于,包括存储器、处理器,以及存储于存储器上并能够被处理器所运行的计算机程序,当处理器运行该计算机程序时,实现如权利要求1-5任一项所述的方法步骤。
7.一种计算机可读存储介质,其特征在于,其上存储有能够被处理器所运行的计算机程序,当处理器运行该计算机程序时,实现如权利要求1-5任一项所述的方法步骤。
CN202010857680.4A 2020-08-24 2020-08-24 一种多预警服务调度的方法及系统 Pending CN112068939A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010857680.4A CN112068939A (zh) 2020-08-24 2020-08-24 一种多预警服务调度的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010857680.4A CN112068939A (zh) 2020-08-24 2020-08-24 一种多预警服务调度的方法及系统

Publications (1)

Publication Number Publication Date
CN112068939A true CN112068939A (zh) 2020-12-11

Family

ID=73658892

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010857680.4A Pending CN112068939A (zh) 2020-08-24 2020-08-24 一种多预警服务调度的方法及系统

Country Status (1)

Country Link
CN (1) CN112068939A (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105939379A (zh) * 2016-05-20 2016-09-14 天津海量信息技术股份有限公司 基于互联网数据的实时监控预警系统及预警方法
US20160301587A1 (en) * 2015-04-09 2016-10-13 Alibaba Group Holding Limited Apparatus, system and method for fast leader election by coordination service
US20180032323A1 (en) * 2016-07-27 2018-02-01 Salesforce.Com, Inc. Rolling Version Update Deployment Utilizing Dynamic Node Allocation
CN108717379A (zh) * 2018-05-08 2018-10-30 平安证券股份有限公司 电子装置、分布式任务调度方法及存储介质
CN108958920A (zh) * 2018-07-13 2018-12-07 众安在线财产保险股份有限公司 一种分布式任务调度方法及系统
CN109173270A (zh) * 2018-09-06 2019-01-11 网易(杭州)网络有限公司 一种游戏服务系统和实现方法
CN109218349A (zh) * 2017-06-29 2019-01-15 北京微影时代科技有限公司 一种管理服务器集群的方法及装置
US20190173943A1 (en) * 2017-12-04 2019-06-06 International Business Machines Corporation Optimized rolling restart of stateful services to minimize disruption
CN110661841A (zh) * 2019-08-06 2020-01-07 江阴逐日信息科技有限公司 微服务架构中分布式服务发现集群的数据一致性方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160301587A1 (en) * 2015-04-09 2016-10-13 Alibaba Group Holding Limited Apparatus, system and method for fast leader election by coordination service
CN105939379A (zh) * 2016-05-20 2016-09-14 天津海量信息技术股份有限公司 基于互联网数据的实时监控预警系统及预警方法
US20180032323A1 (en) * 2016-07-27 2018-02-01 Salesforce.Com, Inc. Rolling Version Update Deployment Utilizing Dynamic Node Allocation
CN109218349A (zh) * 2017-06-29 2019-01-15 北京微影时代科技有限公司 一种管理服务器集群的方法及装置
US20190173943A1 (en) * 2017-12-04 2019-06-06 International Business Machines Corporation Optimized rolling restart of stateful services to minimize disruption
CN108717379A (zh) * 2018-05-08 2018-10-30 平安证券股份有限公司 电子装置、分布式任务调度方法及存储介质
CN108958920A (zh) * 2018-07-13 2018-12-07 众安在线财产保险股份有限公司 一种分布式任务调度方法及系统
CN109173270A (zh) * 2018-09-06 2019-01-11 网易(杭州)网络有限公司 一种游戏服务系统和实现方法
CN110661841A (zh) * 2019-08-06 2020-01-07 江阴逐日信息科技有限公司 微服务架构中分布式服务发现集群的数据一致性方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
李冬杰;王爱娜;肖凤林;李暨;: "大数据和云技术在省级山洪监测预警中的应用", 水利信息化, no. 04 *
黄震宇;刘玲;: "江西省一键式预警信息发布系统的研发", 信息系统工程, no. 03 *

Similar Documents

Publication Publication Date Title
US9477460B2 (en) Non-transitory computer-readable storage medium for selective application of update programs dependent upon a load of a virtual machine and related apparatus and method
CN109936604B (zh) 一种资源调度方法、装置和系统
US9183034B2 (en) Managing availability of virtual machines in cloud computing services
US8959509B1 (en) Techniques for virtual machine backup scheduling
US9189543B2 (en) Predicting service request breaches
KR102016238B1 (ko) 도커 컨테이너 관리 시스템 및 방법, 이를 수행하기 위한 기록매체
US20160019075A1 (en) Virtual machine suspension in checkpoint system
WO2016155008A1 (en) Method and system for scheduling transactions in a data system
US10635516B2 (en) Intelligent logging
JP2018160186A (ja) 監視プログラム、監視方法および監視装置
US20130326528A1 (en) Resource starvation management in a computer system
CN113626173B (zh) 调度方法、装置及存储介质
CN110968445A (zh) 一种基于流程引擎的节点跳转方法、装置及电子设备
CN112068939A (zh) 一种多预警服务调度的方法及系统
CN112035326A (zh) 基于集群节点互检的异常节点任务处理方法及装置
CN103823711A (zh) 在Java虚拟机中提供相对定时的方法及装置
CN107958414B (zh) 一种清除cics系统长交易的方法及系统
CN112835692B (zh) 一种日志消息驱动任务方法、系统、存储介质及设备
CN111353752A (zh) 流程处理方法及装置、电子设备、存储介质
CN107436812B (zh) 一种Linux系统性能优化的方法及装置
CN111638965B (zh) 基于栅栏复制与握手的命令队列间栅栏同步方法及系统
CN115061811A (zh) 一种资源调度方法、装置、设备及存储介质
US10339063B2 (en) Scheduling independent and dependent operations for processing
CN112035237A (zh) 审核次序的优化调度方法及装置
CN110618863A (zh) 一种基于Raft算法的作业调度方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination