CN115964142A - 应用服务的管理方法、设备及存储介质 - Google Patents
应用服务的管理方法、设备及存储介质 Download PDFInfo
- Publication number
- CN115964142A CN115964142A CN202211564306.0A CN202211564306A CN115964142A CN 115964142 A CN115964142 A CN 115964142A CN 202211564306 A CN202211564306 A CN 202211564306A CN 115964142 A CN115964142 A CN 115964142A
- Authority
- CN
- China
- Prior art keywords
- server
- task
- thread
- task set
- 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
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Hardware Redundancy (AREA)
Abstract
本申请公开了一种应用服务的管理方法、设备及存储介质,涉及计算机技术领域,应用于服务器,方法包括:通过预设的第一主线程获取待执行的第一任务集,并将第一任务集部署于服务器中;在第一任务集部署完成后,通过主线程启动预设的第一线程和第二线程;通过第一线程对第一任务集中各任务的运行状态进行维护处理,以在检测到第一任务运行异常时停止第一任务以及在第一任务恢复时重启第一任务;通过第二线程对服务器的网络状态进行维护处理,以在服务器网络状态异常时,停止执行第一任务集以及在服务器恢复时,重启第一任务集。通过这种方法,能够在较短的时间内进行故障服务器或运行异常任务的重启以降低服务器故障或任务运行异常对用户的影响。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种应用服务的管理方法、设备及存储介质。
背景技术
Microsoft Windows服务使用户可以创建在它们自己的Windows会话中可长时间运行的可执行应用程序。这些服务可以在计算机启动时自动启动,可以暂停和重新启动而且不显示任何用户界面;这种服务非常适合在服务器上使用,或任何时候,为了不影响在同一台计算机上工作的其他用户,需要长时间运行功能时使用。目前,Windows服务被广泛应用到SCADA(Supervisory Control And Data Acquisition数据采集与监控***)软件中,一个SCADA项目的设备数量少则几十,多则上千台。在SCADA项目,Windows服务负责处理繁杂的业务,并与其他模块存在业务上的通讯,特别是对与用户交互的界面模块(UI)起着重要的支撑作用,需要长期、持续、稳定地运行。但由于自身的设计缺陷(如隐含的BUG)、工作环境等因素(如服务器断电恢复后重启)都有可能使程序死亡,若不能及时重启该程序,可能会对整个软件***产生较大的影响,比如影响与用户交互的模块,使得用户体验较差。
发明内容
本申请旨在至少解决现有技术中存在的技术问题之一。为此,本申请提出一种应用服务的管理方法、设备及存储介质,当服务器或任务运行出现异常情况时,能够在较短的时间内进行服务器或任务的重启以降低服务器故障或任务运行异常对用户的影响。
第一方面,本申请实施例提供了一种应用服务的管理方法,应用于服务器,包括:
通过预设的第一主线程获取待执行的第一任务集,并将所述第一任务集部署于所述服务器中;
在所述第一任务集部署完成后,通过所述主线程启动预设的第一线程和第二线程;
通过所述第一线程对所述第一任务集中各任务的运行状态进行维护处理,以在检测到第一任务运行异常时停止所述第一任务以及在所述第一任务恢复时重启所述第一任务;
通过所述第二线程对服务器的网络状态进行维护处理,以在所述服务器网络状态异常时,停止执行所述第一任务集以及在所述服务器恢复时,重启所述第一任务集。
根据本申请实施例中提供的一个或多个技术方案,至少具有如下有益效果:通过预设的第一主线程获取待执行的第一任务集,并将第一任务集部署于服务器中;在第一任务集部署完成后,通过主线程启动预设的第一线程和第二线程;通过第一线程对第一任务集中各任务的运行状态进行维护处理,以在检测到第一任务运行异常时停止第一任务以及在第一任务恢复时重启第一任务;通过第二线程对服务器的网络状态进行维护处理,以在服务器网络状态异常时,停止执行第一任务集以及在服务器恢复时,重启第一任务集。通过这种方法,在Windows服务器运行的同时,对该服务器及运行在服务器中的任务进行守护,能够及时检测到各任务的运行状态及服务器的网络状态,当服务器或任务运行出现异常情况时,能够在较短的时间内进行服务器或任务的重启以降低服务器故障或任务运行异常对用户的影响。
根据本申请第一方面的一些实施例,所述通过预设的第一主线程获取待执行的第一任务集,并将所述第一任务集部署于服务器中,包括:
通过预设的第一主线程查询需要加载待执行的第一任务集,并将所述第一任务集放入LIST缓存;
在所述LIST缓存中分别获取所述第一任务集中各任务的配置信息;
读取所配置信息对应的文件,将所述文件复制到预设的位置;
通过预设的程序创建Windows任务;
根据各所述配置信息,启动所述Windows任务,以将所述第一任务集部署于服务器中。
根据本申请第一方面的一些实施例,所述通过所述第一线程对所述第一任务集中各任务的运行状态进行维护处理,包括:
通过预设的第一线程查询需要加载待执行的第一任务集,并将所述第一任务集放入LIST缓存;
在所述LIST缓存中分别获取所述第一任务集中各任务的配置信息;
根据各任务的所述配置信息,判定所述服务器的运行状态是否异常;
在所述服务器的运行状态异常时,重新启动所述服务器。
根据本申请第一方面的一些实施例,所述通过所述第二线程对服务器的网络状态进行维护处理,包括:
通过所述第二线程检测到所述服务器产生了崩溃窗口,判定所述服务器的运行状态异常,重新启动所述服务器。
根据本申请第一方面的一些实施例,获取所述维护处理得到的网络状态;
在所述网络状态为网络恢复时,将所述服务器的状态置为在线,并将所述第一任务集的服务状态置为等待回迁。
第二方面,本申请实施例提供了应用服务的管理方法,应用于配置中心,所述配置中心和多个服务器通信连接;所述应用服务的管理方法包括:
获取预设的配置列表;
根据多个服务器的状态,从配置列表中选取各服务器对应的待执行的第一任务集,以使所述服务器通过预设的第一主线程获取待执行的第一任务集,并将所述第一任务集部署于所述服务器中;在所述第一任务集部署完成后,通过所述主线程启动预设的第一线程和第二线程;通过所述第一线程对所述第一任务集中各任务的运行状态进行维护处理,通过所述第二线程对服务器的网络状态进行维护处理。
根据本申请第二方面的一些实施例,所述应用服务的管理方法还包括:
对于各所述服务器,在检测到所述服务器的网络状态为在线状态,所述服务器中第二任务集的服务状态置为异地运行;其中,所述第二任务集是所述配置中心从其他服务器调配来的;
对于各所述服务器,在检测到所述服务器的网络状态为在线状态,当所述服务器接收到等待回迁指令,且所述等待回迁指令对应的第二任务集在所述服务器中异地运行,停止所述第二任务集在所述服务器运行,对所述第二任务集执行回迁工作;
对于各所述服务器,在检测到所述服务器的网络状态为网络恢复,向被迁移的第二任务集发出等待回迁指令,并在所述第二任务集的服务状态变为回迁完成后,重新启动所述服务器,且将所述第二任务集的服务状态置为正常运行。
根据本申请第二方面的一些实施例,所述应用服务的管理方法还包括:
通过预设的第二主线程创建所述服务器的服务信息对象,并启动任务调度程序的任务分配定时器线程;
通过所述任务分配定时器线程,判断各所述服务器是否存在故障且未处理;
在存在故障且未处理的所述服务器时,则将存在故障且未处理的所述服务器的服务状态置为等待迁移。
根据本申请第三方面实施例的应用服务的管理设备,其包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现:
如上述第一方面所述的应用服务的管理方法;
或者,
如上述第二方面所述的应用服务的管理方法。
根据本申请第四方面实施例的计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于:
执行上述第一方面所述的应用服务的管理方法;
或者,
执行上述第二方面所述的应用服务的管理方法。
本申请的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
附图用来提供对本申请技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请的技术方案,并不构成对申请技术方案的限制。
图1是本申请一个实施例提供的应用服务的管理方法的流程示意图;
图2是本申请实施例提供的Windows服务部署的结构示意图;
图3是本申请实施例提供的数采服务状态切换示意图;
图4是本申请实施例提供的服务守护程序的运行流程示意图;
图5是本申请另一个实施例提供的应用服务的管理方法的流程示意图;
图6是本申请另一个实施例提供的应用服务的管理方法的流程示意图;
图7是本申请另一个实施例提供的应用服务的管理方法的流程示意图;
图8是本申请另一个实施例提供的应用服务的管理方法的流程示意图;
图9是本申请另一个实施例提供的应用服务的管理方法的流程示意图;
图10是本申请另一个实施例提供的应用服务的管理方法的流程示意图;
图11是本申请另一个实施例提供的应用服务的管理方法的流程示意图;
图12是本申请实施例提供的任务调度程序和守护程序的交互示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
Microsoft Windows服务使用户可以创建在它们自己的Windows会话中可长时间运行的可执行应用程序。这些服务可以在计算机启动时自动启动,可以暂停和重新启动而且不显示任何用户界面;这种服务非常适合在服务器上使用,或任何时候,为了不影响在同一台计算机上工作的其他用户,需要长时间运行功能时使用。目前,Windows服务被广泛应用到SCADA(Supervisory Control And Data Acquisition数据采集与监控***)软件中,一个SCADA项目的设备数量少则几十,多则上千台。在SCADA项目,Windows服务负责处理繁杂的业务,并与其他模块存在业务上的通讯,特别是对与用户交互的界面模块(UI)起着重要的支撑作用,需要长期、持续、稳定地运行。但由于自身的设计缺陷(如隐含的BUG)、工作环境等因素(如服务器断电恢复后重启)都有可能使程序死亡,若不能及时重启该程序,可能会对整个软件***产生较大的影响,比如影响与用户交互的模块,使得用户体验较差。
基于上述情况,本申请实施例提供了一种应用服务的管理方法、设备及存储介质,当服务器出现异常情况时,能够在较短的时间内进行服务器或任务的重启以降低服务器故障或任务运行异常对用户的影响。
下面结合附图,对本申请实施例作进一步阐述。
本申请第一方面实施例具体提供一种应用服务的管理方法,应用于服务器,如图1所示。应用服务的管理方法包括但不限于以下步骤:
步骤S100,通过预设的第一主线程获取待执行的第一任务集,并将第一任务集部署于服务器中;
步骤S200,在第一任务集部署完成后,通过主线程启动预设的第一线程和第二线程;
步骤S300,通过第一线程对第一任务集中各任务的运行状态进行维护处理,以在检测到第一任务运行异常时停止第一任务以及在第一任务恢复时重启第一任务;
步骤S400,通过第二线程对服务器的网络状态进行维护处理,以在服务器网络状态异常时,停止执行第一任务集以及在服务器恢复时,重启第一任务集。
本申请通过这种方法,在Windows服务器运行的同时,对该服务器及运行在服务器中的任务进行守护,能够及时检测到各任务的运行状态及服务器的网络状态,当服务器或任务运行出现异常情况时,能够在较短的时间内进行服务器或任务的重启以降低服务器故障或任务运行异常对用户的影响。
需要说明的是,第一主线程、第一线程及第二线程均属于服务守护程序的线程,第一主线程为定时器,在每个与主线程相对应的预设的检测时间间隔,第一主线程运行一次,第一线程为Windows服务线程监控线程,第二线程为服务器在线状态监控线程。
在本实施例中,第一任务集表示服务器中的多个数采服务,任务表示数采服务。在另一些实施例中,第一任务集也可以为其他类型的任务,而不局限于本申请实施例。
需要说明的是,对于每个预设的第一检测时间间隔,通过服务守护程序的第一线程检测服务器的运行状态;对于每个预设的第二检测时间间隔,通过服务守护程序的第二线程检测宿主机中服务器的网络状态。第一检测时间间隔、第二检测时间间隔分别可以设置为5秒或10秒,也可以设置为其他时间间隔,本申请实施例在此不作限定。
需要说明的是,在服务器重启时,服务守护程序能自动启动,且服务守护程序启动第一主线程,第一主线程加载服务器并启动第一线程和第二线程。在本实施例中,应用服务的管理方法应用于基于Windows服务的SCADA***,服务器包括数采服务程序和数采服务,服务守护程序为集中数采服务守护程序,服务守护程序也叫DIMS_DAEMON程序,服务器的运行状态具体指数采服务的运行状态。服务守护程序能够按照SCADA***配置,在宿主机上安装、启动及停止数采服务程序;服务守护程序可以实时监控服务器的运行状态,发现崩溃的服务器立即重新启动该服务器。
需要说明的是,在步骤S400中,在服务器网络状态异常时,停止执行第一任务集,并将第一任务集迁移到其他正常运行的服务器中;在服务器的网络状态恢复正常时,被迁移走的第一任务集会被迁移回原服务器中运行。也即在一台数服务器器离线/宕机后,其上运行的数采服务会迁移到其他正常运行服务器上。当故障服务器修复上线时,被迁移走的数采服务会被回迁回来。
需要说明的是,SCADA全称为Supervisory Control And Data Acquisition,译为数据采集与监视控制***;DIMS全称为Dispatching Intelligent Management System,译为调度智能化管理;DLL全称为Dynamic link library,译为动态链接库,DLL是一个包含可由多个程序同时使用的代码和数据的库。
需要说明的是,本申请针对Windows服务的应用服务守护程序DIMS_DAEMON,该服务守护程序本身也被部署为Windows服务。基于Windows服务部署的SCADA***用于采集设备数据,为管理好SCADA***的数据采集任务,分别部署了统一运行框架、统一开发框架、自动部署功能、应用守护及硬件容灾。其中,统一运行框架:开发DIMS_SERVER程序作为SCADA***运行运程,该程序基于Windows服务开发并运行用户开发的程序发布成DLL被动态加载到DIMS_SERVER服务中并运行;统一开发框架:本框架定义了接口,用于运行参数的传递,通用功能的共用,开发框架可以统一开发模式,简化开发流程,节省开发人力;自动部署:项目通常需要部署多个Windows服务用于数据采集,手动部署费时费力,因此提供了自动部署功能;应用守护:由于项目中存在许多二开工作量,开发人员技能与经验不足,可能会导致Windows服务崩溃,为此引入Windows服务的应用守护;硬件容灾:SCADA产品客户会要求要有硬件容灾,因此需要在硬件宕机时,基于Windows服务的应用可以被自动迁移到其它正常运行的服务器上运行。
参照图4至图5,可以理解的是,步骤S100,包括但不限于以下步骤:
步骤S110,通过预设的第一主线程查询需要加载待执行的第一任务集,并将第一任务集放入LIST缓存;
步骤S120,在LIST缓存中分别获取第一任务集中各任务的配置信息;
步骤S130,读取所配置信息对应的文件,将文件复制到预设的位置;
步骤S140,通过预设的程序创建Windows任务;
步骤S150,根据各配置信息,启动Windows任务,以将第一任务集部署于服务器中。
需要说明的是,具体地,参照图2和图4,主线程的运行流程如下:第一步,通过主线程从数据库查询宿主机需要加载的数采服务,并将数采服务放入LIST缓存,在配置中心中设定了本宿主机要部署的数采服务;第二步,从LIST缓存中取得一笔数采服务的配置信息,假设该数采服务名称为X;第三步,将DIMS_RELEASE文件夹复制一份,并将文件夹重命名为数采服务名称X;第四步,以X/DIMS.exe文件新建一个Windows服务,服务名称设为X;第五步,启动X数采服务;第六步,并向配置中心更新X数采服务的服务状态为正常运行、异地运行、等待迁移、等待回迁及回迁完成的其中之一,异地运行指被任务调度程序从其它数采服务器分配过来;第七步,从LIST缓存取下一笔数采服务的配置信息,如果获取成功,服务守护程序跳转到第三步,否则运行到第八步;第八步,检查第一线程有无启动,如果启动就不再重复启动;第九步,检查第二线程是否启动,如果启动就不再重复启动。
参照图4和图6,可以理解的是,步骤S300中的通过第一线程对第一任务集中各任务的运行状态进行维护处理,包括但不限于以下步骤:
步骤S310,通过预设的第一线程查询需要加载待执行的第一任务集,并将第一任务集放入LIST缓存;
步骤S320,在LIST缓存中分别获取第一任务集中各任务的配置信息;
步骤S330,根据各任务的配置信息,判定服务器的运行状态是否异常;
步骤S340,在服务器的运行状态异常时,重新启动服务器。
需要说明的是,参照图4,通过第一线程实时监控部署在宿主机中数采服务的运行状态。具体地,第一线程的运行流程为:第一步,从数据库查询本机需要运行的数采服务,并放入到LIST缓存;第二步,从LIST缓存中取得一笔数采服务的配置信息,假设该数采服务名称为X;第三步,查看Windows服务X的运行状态,如果崩溃了就重新启动该数采服务;第四步,从LIST缓存中取下一笔数采服务的配置信息,如果取出成功就执行第三步否则执行第五步;第五步,第一线程睡眠第二检测时间间隔。
参照图7,可以理解的是,步骤S400中的通过第二线程对服务器的网络状态进行维护处理,包括但不限于以下步骤:
步骤S410,通过第二线程检测到服务器产生了崩溃窗口,判定服务器的运行状态异常,重新启动服务器。
具体地,检测服务器是否产生了崩溃窗口,若有崩溃窗口产生,则判定此时服务器运行异常,第一线程需要清理崩溃现场,及时关闭崩溃窗口,并关闭服务器。
参照图4和图8,可以理解的是,应用服务的管理方法还包括但不限于以下步骤:
步骤S401,获取维护处理得到的网络状态;
步骤S402,在网络状态为网络恢复时,将服务器的状态置为在线,并将第一任务集的服务状态置为等待回迁。
需要说明的是,在网络状态为状态不变时,则不执行任何操作,状态不变指服务器的网络状态持续为离线状态或持续为在线状态,当网络状态为状态不变,则不执行任何操作,并在睡眠第二检测时间间隔后再次进行服务器的网络检测;在网络状态为网络中断时,停止执行服务器中的数采服务,当判定为网络中断,通过DIMS_DAEMON程序停止执行服务器中的数采服务;如果判定为网络恢复,通过DIMS_DAEMON程序更新与数采服务相对应的服务器为在线,并更新所有数采服务状态为等待回迁,并设等待回迁后约10秒会完成回迁,并更新数采服务的服务状态为正常运行。
第二方面,本申请实施例还提供了一种应用服务的管理方法,参照图9,应用于配置中心,配置中心和多个服务器通信连接;应用服务的管理方法包括但不限于以下步骤:
步骤S500,获取预设的配置列表;
步骤S600,根据多个服务器的状态,从配置列表中选取各服务器对应的待执行的第一任务集,以使服务器通过预设的第一主线程获取待执行的第一任务集,并将第一任务集部署于服务器中;在第一任务集部署完成后,通过主线程启动预设的第一线程和第二线程;通过第一线程对第一任务集中各任务的运行状态进行维护处理,通过第二线程对服务器的网络状态进行维护处理。
需要说明的是,需要说明的是,在步骤S400中,在服务器网络状态异常时,停止执行第一任务集,并将第一任务集迁移到其他正常运行的服务器中;在服务器的网络状态恢复正常时,被迁移走的第一任务集会被迁移回原服务器中运行。
本申请通过这种方法,在Windows服务器运行的同时,对多个服务器及运行在服务器中的各任务进行守护,能够及时检测到各任务的运行状态及各服务器的网络状态,当服务器或任务出现异常情况时,能够在较短的时间内进行服务器或任务的重启以降低服务器故障或任务异常对用户的影响。
参照图10,可以理解的是,应用服务的管理方法还包括但不限于以下步骤:
步骤S610,对于各服务器,在检测到服务器的网络状态为在线状态,服务器中第二任务集的服务状态置为异地运行;其中,第二任务集是配置中心从其他服务器调配来的;
步骤S620,对于各服务器,在检测到服务器的网络状态为在线状态,当服务器接收到等待回迁指令,且等待回迁指令对应的第二任务集在服务器中异地运行,停止第二任务集在服务器运行,对第二任务集执行回迁工作;
步骤S630,对于各服务器,在检测到服务器的网络状态为网络恢复,向被迁移的第二任务集发出等待回迁指令,并在第二任务集的服务状态变为回迁完成后,重新启动服务器,且将第二任务集的服务状态置为正常运行。
需要说明的是,本实施例中的第二任务集表示配置中心利用任务调度程序从其他服务器调配来的多个数采服务。在另一些实施例中,第二任务集也可以为其他类型的任务,而不局限于本申请实施例。
需要说明的是,参照图12,将服务守护程序即DIMS_DAEMON集中数采服务守护程序部署在数采服务器上,在高可用中执行步骤步骤S610至步骤S630。
示例性的,步骤S611,如果服务器是正常服务器即为在线状态,则检测是否有数采服务被分配到该服务器,如有则将分配的数采服务执行,并将该数采服务的服务状态置为异地运行,步骤S611的调度工作由图10中的Sn Daemon TIMER1线程执行;步骤S621,如果服务器是故障服务器即为离线状态,则检查当前服务器网络是否恢复,如果恢复则发出等待回迁指令,步骤S621的调度工作由Sn Daemon TIMER3线程执行;步骤S631,如果服务器是正常服务器,并且收到了等待回迁指令,且待回迁的数采服务在服务器中异地运行,则执行回迁工作,停止该数采服务在本服务器上的运行,并将数采服务的服务状态改为回迁完成,步骤S631的调度工作由Sn Daemon TIMER2线程执行;步骤S640,如果服务器是故障服务器,则在该服务器重新上线时,将被迁移走的数采服务的服务状态置为等待回迁,并等待数采服务的服务状态变成回迁完成后,在本服务器将数采服务启运,并将该数采服务的服务状态变更为正常运行。
需要说明的是,TA***的高可用,是指在任意一台服务器宕机或主动停机的情况下,TA体系保证其不影响集群的稳定运行和对外服务;在本实施例中,高可用指维护数采服务的服务状态。Daemon表示守护线程。
需要说明的是,本实施例中的任务调度程序为DIMS_TA任务调度程序,DIMS_TA任务调度程序用于执行数采服务的迁移和回迁。通过服务守护程序检测到数采服务的当前服务状态,当服务状态为正常运行时,任务调度程序不进行操作;当服务状态为异地运行时,任务调度程序判断与该数采服务相对应的原服务器是否发出等待回迁指令,若有则通过任务调度程序执行回迁工作,停止该数采服务在当前服务器运行,并将数采服务的服务状态置为回迁完成;当服务状态为等待迁移时,通过任务调度程序将数采服务调到其他服务器中运行,并将数采服务的服务状态置为异地运行。
需要说明的是,在T2_s3:判断数采服务器是否故障且未处理的判断条件为:数采服务器的状态为在线,但是ping命令不能正常导通,时间也未更新,判定为故障且未处理,则触发任务迁移指令,将服务器状态置为等待迁移;并且通过任务调度程序做任务调配。
需要说明的是,服务器的服务状态具体指数采服务的服务状态,服务守护程序能够按照DIMS_TA任务调度程序的分配,执行数采服务的迁移及回迁。
参照图4和图11,可以理解的是,应用服务的管理方法还包括但不限于以下步骤:
步骤S601,通过预设的第二主线程创建服务器的服务信息对象,并启动任务调度程序的任务分配定时器线程;
步骤S602,通过任务分配定时器线程,判断各服务器是否存在故障且未处理;
步骤S603,在存在故障且未处理的服务器时,则将存在故障且未处理的服务器的服务状态置为等待迁移。
需要说明的是,任务调度指在服务器的硬件宕机时,将与服务守护程序相对应的数采服务迁移到其他服务器;服务守护指守护当前服务器中各个数采服务器的运行;在每一服务守护程序中可以挂载多个任务,每个任务都是一个线程,在Windows服务中运行。
需要说明的是,将服务器的服务状态置为等待迁移后,通过任务调度程序对服务器进行任务调配,并将本服务器中与该服务器相对应的数采服务由在线状态更新为离线状态。
示例性的,参照图12,TES表示DIMS_TA任务调度程序,TES主线程表示任务调度程序的第二主线程,TES TIMER1表示任务调度程序的任务分配定时器线程,高可用是由DIMS_TA任务调度程序监测并发起,DIMS_TA任务调度程序详细执行流程如下:首先TES主线程流程为:T1_s1:创建数采服务器servInfo对象;T1_s2:启动TES TIMER1定时器。TES TIMER1定时器执行流程如下:T2_s1:从DB抓取并更新servInfo对象内容;T2_s2:遍历servInfo,对每个成员执行如下处理;T2_s3:判断数采服务器是否故障且未处理;T2_s4:如果判定为故障且未处理,则触发任务迁移指令,将数采服务器中的数采服务的服务状态置为等待迁移;并且做任务调配;T2_s5:更改数采服务器状态为离线。其中,TES TIMER1定时器在每个预设的第三检测时间间隔执行一次,本实施例的第三检测时间间隔为10秒;DB是datebase的缩写,译为数据库文件;servInfo表示服务信息对象的信息,Timer是一种定时器工具,用来在一个线程计划执行指定任务。
示例性的,参照图3,图3为服务器中数采服务的服务状态切换图,当通过任务调度程序发现A主机离线后,将A主机中的数采服务的服务状态置为等待迁移,并通过B主机的第二线程将A主机中的数采服务迁移至B主机,迁移完成后将该数采服务的服务状态更新为异地运行;A主机重新上线后,通过A主机的第二线程发出等待回迁指令,通过B主机的第一线程完成回迁,并将数采服务的状态置为回迁完成;A主机的主线程重新启动数采服务,将数采服务的服务状态更新为正常运行。
另外,本申请第三方面实施例还提供了一种应用服务的管理设备,该应用服务的管理设备包括:存储器、处理器及存储在存储器上并可在所述处理器上运行的计算机程序。
处理器和存储器可以通过总线或者其他方式连接。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
实现上述第一方面实施例的应用服务的管理方法所需的非暂态软件程序以及指令存储在存储器中,当被处理器执行时,执行上述实施例中的应用服务的管理方法,例如,执行以上描述的图1中的方法步骤S100至S400、图5中的方法步骤S110至S150、图6中的方法步骤S310至S340、图7中的方法步骤S410、图8中的方法步骤S401至S402。
实现上述第二方面实施例的应用服务的管理方法所需的非暂态软件程序以及指令存储在存储器中,当被处理器执行时,执行上述实施例中的应用服务的管理方法,例如,执行以上描述的图9中的方法步骤S500至S600、图10中的方法步骤S610至S630、图11中的方法步骤S601至603。
以上所描述的设备实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以落入一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
此外,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个处理器或控制器执行,例如,被上述设备实施例中的一个处理器执行,可使得上述处理器执行上述第一方面和第二方面实施例中的应用服务的管理方法,例如,执行以上描述的图1中的方法步骤S100至S400、图5中的方法步骤S110至S150、图6中的方法步骤S310至S340、图7中的方法步骤S410、图8中的方法步骤S401至S402、图9中的方法步骤S500至S600、图10中的方法步骤S610至S630、图11中的方法步骤S601至603。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、***可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
以上是对本申请的较佳实施进行了具体说明,但本申请并不局限于上述实施方式,熟悉本领域的技术人员在不违背本申请精神的前提下还可作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
Claims (10)
1.一种应用服务的管理方法,其特征在于,应用于服务器,包括:
通过预设的第一主线程获取待执行的第一任务集,并将所述第一任务集部署于所述服务器中;
在所述第一任务集部署完成后,通过所述主线程启动预设的第一线程和第二线程;
通过所述第一线程对所述第一任务集中各任务的运行状态进行维护处理,以在检测到第一任务运行异常时停止所述第一任务以及在所述第一任务恢复时重启所述第一任务;
通过所述第二线程对服务器的网络状态进行维护处理,以在所述服务器网络状态异常时,停止执行所述第一任务集以及在所述服务器恢复时,重启所述第一任务集。
2.根据权利要求1所述的应用服务的管理方法,所述通过预设的第一主线程获取待执行的第一任务集,并将所述第一任务集部署于服务器中,包括:
通过预设的第一主线程查询需要加载待执行的第一任务集,并将所述第一任务集放入LIST缓存;
在所述LIST缓存中分别获取所述第一任务集中各任务的配置信息;
读取所配置信息对应的文件,将所述文件复制到预设的位置;
通过预设的程序创建Windows任务;
根据各所述配置信息,启动所述Windows任务,以将所述第一任务集部署于服务器中。
3.根据权利要求1所述的应用服务的管理方法,其特征在于,所述通过所述第一线程对所述第一任务集中各任务的运行状态进行维护处理,包括:
通过预设的第一线程查询需要加载待执行的第一任务集,并将所述第一任务集放入LIST缓存;
在所述LIST缓存中分别获取所述第一任务集中各任务的配置信息;
根据各任务的所述配置信息,判定所述服务器的运行状态是否异常;
在所述服务器的运行状态异常时,重新启动所述服务器。
4.根据权利要求3所述的应用服务的管理方法,其特征在于,所述通过所述第二线程对服务器的网络状态进行维护处理,包括:
通过所述第二线程检测到所述服务器产生了崩溃窗口,判定所述服务器的运行状态异常,重新启动所述服务器。
5.根据权利要求1所述的应用服务的管理方法,其特征在于,所述方法还包括:
获取所述维护处理得到的网络状态;
在所述网络状态为网络恢复时,将所述服务器的状态置为在线,并将所述第一任务集的服务状态置为等待回迁。
6.一种应用服务的管理方法,其特征在于,应用于配置中心,所述配置中心和多个服务器通信连接;所述应用服务的管理方法包括:
获取预设的配置列表;
根据多个服务器的状态,从配置列表中选取各服务器对应的待执行的第一任务集,以使所述服务器通过预设的第一主线程获取待执行的第一任务集,并将所述第一任务集部署于所述服务器中;在所述第一任务集部署完成后,通过所述主线程启动预设的第一线程和第二线程;通过所述第一线程对所述第一任务集中各任务的运行状态进行维护处理,通过所述第二线程对服务器的网络状态进行维护处理。
7.根据权利要求6所述的应用服务的管理方法,其特征在于,所述应用服务的管理方法还包括:
对于各所述服务器,在检测到所述服务器的网络状态为在线状态,所述服务器中第二任务集的服务状态置为异地运行;其中,所述第二任务集是所述配置中心从其他服务器调配来的;
对于各所述服务器,在检测到所述服务器的网络状态为在线状态,当所述服务器接收到等待回迁指令,且所述等待回迁指令对应的第二任务集在所述服务器中异地运行,停止所述第二任务集在所述服务器运行,对所述第二任务集执行回迁工作;
对于各所述服务器,在检测到所述服务器的网络状态为网络恢复,向被迁移的第二任务集发出等待回迁指令,并在所述第二任务集的服务状态变为回迁完成后,重新启动所述服务器,且将所述第二任务集的服务状态置为正常运行。
8.根据权利要求1所述的应用服务的管理方法,其特征在于,所述应用服务的管理方法还包括:
通过预设的第二主线程创建所述服务器的服务信息对象,并启动任务调度程序的任务分配定时器线程;
通过所述任务分配定时器线程,判断各所述服务器是否存在故障且未处理;
在存在故障且未处理的所述服务器时,则将存在故障且未处理的所述服务器的服务状态置为等待迁移。
9.一种应用服务的管理设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现:
如权利要求1至5中任一项所述的应用服务的管理方法;
或者,
如权利要求6至8中任一项所述的应用服务的管理方法。
10.一种计算机可读存储介质,其特征在于:所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于:
执行如权利要求1至5中任一项所述的应用服务的管理方法;
或者,
执行如权利要求6至8中任一项所述的应用服务的管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211564306.0A CN115964142A (zh) | 2022-12-07 | 2022-12-07 | 应用服务的管理方法、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211564306.0A CN115964142A (zh) | 2022-12-07 | 2022-12-07 | 应用服务的管理方法、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115964142A true CN115964142A (zh) | 2023-04-14 |
Family
ID=87360852
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211564306.0A Pending CN115964142A (zh) | 2022-12-07 | 2022-12-07 | 应用服务的管理方法、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115964142A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117667363A (zh) * | 2024-02-01 | 2024-03-08 | 深圳市极限网络科技有限公司 | 虚拟机器人的消息处理方法、消息处理装置及存储介质 |
-
2022
- 2022-12-07 CN CN202211564306.0A patent/CN115964142A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117667363A (zh) * | 2024-02-01 | 2024-03-08 | 深圳市极限网络科技有限公司 | 虚拟机器人的消息处理方法、消息处理装置及存储介质 |
CN117667363B (zh) * | 2024-02-01 | 2024-05-14 | 深圳市极限网络科技有限公司 | 虚拟机器人的消息处理方法、消息处理装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110798375B (zh) | 一种增强容器集群高可用性的监控方法、***及终端设备 | |
US8156490B2 (en) | Dynamic migration of virtual machine computer programs upon satisfaction of conditions | |
CN105229613A (zh) | 协调分布式***中的故障恢复 | |
US20140059199A1 (en) | Transaction-level health monitoring of online services | |
CN111506391B (zh) | 一种容器部署方法及装置 | |
CN109144789B (zh) | 一种重启osd的方法、装置及*** | |
US20230266956A1 (en) | Method and apparatus for processing mirror images of ai platform | |
US7657734B2 (en) | Methods and apparatus for automatically multi-booting a computer system | |
US7373542B2 (en) | Automatic startup of a cluster system after occurrence of a recoverable error | |
CN113312153A (zh) | 一种集群部署方法、装置、电子设备及存储介质 | |
CN113726553A (zh) | 一种节点故障恢复方法、装置、电子设备及可读存储介质 | |
CN115964142A (zh) | 应用服务的管理方法、设备及存储介质 | |
CN114942859A (zh) | 节点故障的处理方法、装置、设备、介质和程序产品 | |
US8448014B2 (en) | Self-healing failover using a repository and dependency management system | |
CN105959145A (zh) | 一种适用高可用性集群的并行管理服务器的方法及*** | |
WO2013066341A1 (en) | Fault processing in a system | |
CN113778607A (zh) | 虚拟机实现高可用方法及装置、云管理平台、存储介质 | |
CN111897626A (zh) | 一种面向云计算场景的虚拟机高可靠***和实现方法 | |
CN104866380A (zh) | 一种集群管理***的状态转换的处理方法和装置 | |
CN112269693B (zh) | 一种节点自协调方法、装置和计算机可读存储介质 | |
CN110287066B (zh) | 一种服务器分区迁移方法及相关装置 | |
CN107783855B (zh) | 虚拟网元的故障自愈控制装置及方法 | |
CN116991710B (zh) | 自动测试方法及其***、电子设备、存储介质 | |
CN109412888B (zh) | 虚拟交换机监控方法及装置 | |
CN107102887B (zh) | 分布式块存储***的管理平台的部署方法和装置 |
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 |