CN116248499A - 服务的初始化方法、服务的初始化装置和电子设备 - Google Patents

服务的初始化方法、服务的初始化装置和电子设备 Download PDF

Info

Publication number
CN116248499A
CN116248499A CN202211732223.8A CN202211732223A CN116248499A CN 116248499 A CN116248499 A CN 116248499A CN 202211732223 A CN202211732223 A CN 202211732223A CN 116248499 A CN116248499 A CN 116248499A
Authority
CN
China
Prior art keywords
request information
initialization request
target
executed
initialization
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
CN202211732223.8A
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.)
Postal Savings Bank of China Ltd
Original Assignee
Postal Savings Bank of China 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 Postal Savings Bank of China Ltd filed Critical Postal Savings Bank of China Ltd
Priority to CN202211732223.8A priority Critical patent/CN116248499A/zh
Publication of CN116248499A publication Critical patent/CN116248499A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)

Abstract

本申请提供了一种服务的初始化方法、服务的初始化装置和电子设备,该方法包括:响应于接收到的各服务发送的多个初始化请求信息,将所有的初始化请求信息按照接收到的时间顺序进行排序,初始化请求信息为对服务进行初始化的请求信息;确定目标初始化请求信息是否已被执行过,其中,目标初始化请求信息为所有的初始化请求信息中和当前时刻的时间间隔最短的初始化请求信息;在确定目标初始化请求信息未被执行过的情况下,根据目标初始化请求信息,对与目标初始化请求信息对应的服务进行初始化处理。从而降低了出现重复执行服务初始化的情况,进而解决了现有技术中容易出现重复初始化问题。

Description

服务的初始化方法、服务的初始化装置和电子设备
技术领域
本申请涉及服务的初始化技术领域,具体而言,涉及一种服务的初始化方法、服务的初始化装置、计算机可读存储介质和电子设备。
背景技术
在分布式集群下,应用服务启动时会初始化代码中的定时任务持久化至数据库,但是现在大部分的定时任务引擎是使用数据库悲观锁的方式,当一个应用节点初始化完成后释放数据库锁,另外一个应用才会获取到数据库锁,这样会导致应用连接数据库超时,应用启动失败。
在分布式场景下,会有很多业务场景需要定时触发,在应用启动时,加载定时周期至内存或者数据库,供后续任务定时触发;现有的定时开源组件quart服务的初始化,在启动时通过悲观锁选举出一个加载定时周期的应用节点,进行任务的初始化,等这个节点初始化完成后,释放锁,同时被另外一个应用节点获取到锁,然后接着进行初始化,这样会产生重复初始化问题。
发明内容
本申请的主要目的在于提供一种服务的初始化方法、服务的初始化装置、计算机可读存储介质和电子设备,以至少解决现有技术中容易出现重复初始化问题。
为了实现上述目的,根据本申请的一个方面,提供了一种服务的初始化方法,该方法包括:响应于接收到的各服务发送的多个初始化请求信息,将所有的所述初始化请求信息按照接收到的时间顺序进行排序,所述初始化请求信息为对所述服务进行初始化的请求信息;确定目标初始化请求信息是否已被执行过,其中,所述目标初始化请求信息为所有的所述初始化请求信息中和当前时刻的时间间隔最短的初始化请求信息;在确定所述目标初始化请求信息未被执行过的情况下,根据所述目标初始化请求信息,对与所述目标初始化请求信息对应的所述服务进行初始化处理。
可选地,所述方法还包括:在确定所述目标初始化请求信息已被执行过的情况下,确定除所述目标初始化请求信息之外的所述初始化请求信息中和当前时刻的时间间隔最短的所述初始化请求信息是否已被执行过;在确定除所述目标初始化请求信息之外的所述初始化请求信息中和当前时刻的时间间隔最短的所述初始化请求信息未被执行过的情况下,对与除所述目标初始化请求信息之外的所述初始化请求信息中和当前时刻的时间间隔最短的所述初始化请求信息对应的所述服务进行初始化处理。
可选地,确定所述目标初始化请求信息是否已被执行过,包括:在信息记录库中并未存在所述目标初始化请求信息的情况下,确定所述目标初始化请求信息是否已被执行过,所述信息记录库用于存储已经被执行过的所述初始化请求信息;确定除所述目标初始化请求信息之外的所述初始化请求信息中和当前时刻的时间间隔最短的所述初始化请求信息是否已被执行过,包括:在信息记录库中已存在除所述目标初始化请求信息之外的所述初始化请求信息中和当前时刻的时间间隔最短的所述初始化请求信息的情况下,确定除所述目标初始化请求信息之外的所述初始化请求信息中和当前时刻的时间间隔最短的所述初始化请求信息是否已被执行过。
可选地,所述方法还包括:确定所述目标初始化请求信息在被执行的过程中是否发生宕机;在所述目标初始化请求信息在被执行的过程中发生宕机的情况下,确定除所述目标初始化请求信息之外的所述初始化请求信息中和当前时刻的时间间隔最短的所述初始化请求信息是否已被执行过。
可选地,在确定所述目标初始化请求信息在被执行的过程中是否发生宕机之后,所述方法还包括:在所述目标初始化请求信息在被执行的过程中未发生宕机的情况下,将任务数据库中所述目标初始化请求信息的状态更改为已完成。
可选地,在将任务数据库中所述目标初始化请求信息的状态更改为已完成之后,所述方法包括:确定所述任务数据库中所述目标初始化请求信息的执行状态是否已成功更改为已完成;在所述任务数据库中所述目标初始化请求信息的执行状态为已成功更改为已完成的情况下,确定已完成所述服务的初始化任务。
可选地,在确定所述任务数据库中所述目标初始化请求信息的执行状态是否已成功更改为已完成之后,所述方法还包括:在所述任务数据库中所述目标初始化请求信息的执行状态为未成功更改为已完成的情况下,确定除所述目标初始化请求信息之外的所述初始化请求信息中和当前时刻的时间间隔最短的所述初始化请求信息是否已被执行过。
根据本申请的另一方面,提供了一种服务的初始化装置,该装置包括第一处理单元、第二处理单元和第三处理单元;第一处理单元用于响应于接收到的各服务发送的多个初始化请求信息,将所有的所述初始化请求信息按照接收到的时间顺序进行排序,所述初始化请求信息为对所述服务进行初始化的请求信息;第二处理单元用于确定目标初始化请求信息是否已被执行过,其中,所述目标初始化请求信息为所有的所述初始化请求信息中和当前时刻的时间间隔最短的初始化请求信息;第三处理单元用于在确定所述目标初始化请求信息未被执行过的情况下,根据所述目标初始化请求信息,对与所述目标初始化请求信息对应的所述服务进行初始化处理。
根据本申请的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行任意一种所述的服务的初始化方法。
根据本申请的另一方面,提供了一种电子设备,电子设备包括一个或多个处理器,存储器,以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行任意一种所述的服务的初始化方法。
应用本申请的技术方案,通过将所有的所述初始化请求信息按照接收到的时间顺序进行排序,确定目标初始化请求信息是否已被执行过,在确定所述目标初始化请求信息未被执行过的情况下,根据所述目标初始化请求信息,对与所述目标初始化请求信息对应的所述服务进行初始化处理,从而降低了出现重复执行服务初始化的情况,进而解决了现有技术中容易出现重复初始化问题。
附图说明
构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1示出了根据本申请的实施例中提供的一种执行服务的初始化方法的移动终端的硬件结构框图;
图2示出了根据本申请的实施例提供的一种服务的初始化方法的流程图;
图3示出了根据本申请的实施例提供的另一种服务的初始化方法的流程图;
图4示出了根据本申请的实施例提供的一种服务的初始化装置的示意图。
其中,上述附图包括以下附图标记:
102、处理器;104、存储器;106、传输设备;108、输入输出设备。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了便于描述,以下对本申请实施例涉及的部分名词或术语进行说明:
分布式:把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分分配给多个计算机进行处理,最后把这些计算结果综合起来得到最终的结果。
集群:指一组(若干个)相互独立的计算机,利用高速通信网络组成的一个较大的计算机服务系统,每个集群节点(即集群中的每台计算机)都是运行各自服务的独立服务器。这些服务器之间可以彼此通信,协同向用户提供应用程序,系统资源和数据,并以单一系统的模式加以管理。当用户请求集群系统时,集群给用户的感觉就是一个单一独立的服务器,而实际上用户请求的是一组集群服务器。
正如背景技术中所介绍的,在分布式场景下,会有很多业务场景需要定时触发,在应用启动时,加载定时周期至内存或者数据库,供后续任务定时触发;现有的定时开源组件quart服务的初始化,在启动时通过悲观锁选举出一个加载定时周期的应用节点,进行任务的初始化,等这个节点初始化完成后,释放锁,同时被另外一个应用节点获取到锁,然后接着进行初始化,这样会产生重复初始化问题,为解决现有技术中容易出现重复初始化问题,本申请的实施例提供了服务的初始化方法、服务的初始化装置、计算机可读存储介质和电子设备。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
本申请实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的一种服务的初始化方法的移动终端的硬件结构框图。如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,其中,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的设备信息的显示方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种运行于移动终端、计算机终端或者类似的运算装置的服务的初始化方法,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图2是根据本申请的实施例提供的一种服务的初始化方法的流程图。如图2所示,该方法包括以下步骤:
步骤S201,响应于接收到的各服务发送的多个初始化请求信息,将所有的上述初始化请求信息按照接收到的时间顺序进行排序,上述初始化请求信息为对上述服务进行初始化的请求信息;
步骤S202,确定目标初始化请求信息是否已被执行过,其中,上述目标初始化请求信息为所有的上述初始化请求信息中和当前时刻的时间间隔最短的初始化请求信息;
步骤S203,在确定上述目标初始化请求信息未被执行过的情况下,根据上述目标初始化请求信息,对与上述目标初始化请求信息对应的上述服务进行初始化处理。
上述步骤中,通过将所有的上述初始化请求信息按照接收到的时间顺序进行排序,确定目标初始化请求信息是否已被执行过,在确定上述目标初始化请求信息未被执行过的情况下,根据上述目标初始化请求信息,对与上述目标初始化请求信息对应的上述服务进行初始化处理,从而降低了出现重复执行服务初始化的情况,进而解决了现有技术中容易出现重复初始化问题。
避免了通过悲观锁选举导致应用启动失败率增高的情况,同时选举出一个节点,通过状态的判断避免数据的重复初始化。
在本申请的一种实施例中,上述方法还包括:在确定上述目标初始化请求信息已被执行过的情况下,确定除上述目标初始化请求信息之外的上述初始化请求信息中和当前时刻的时间间隔最短的上述初始化请求信息是否已被执行过;在确定除上述目标初始化请求信息之外的上述初始化请求信息中和当前时刻的时间间隔最短的上述初始化请求信息未被执行过的情况下,对与除上述目标初始化请求信息之外的上述初始化请求信息中和当前时刻的时间间隔最短的上述初始化请求信息对应的上述服务进行初始化处理。
具体地,在确定上述目标初始化请求信息已被执行过的情况下,则说明目标初始化请求信息已被执行过了,需要执行其他的初始化请求信息,即除上述目标初始化请求信息之外的上述初始化请求信息中和当前时刻的时间间隔最短的上述初始化请求信息,例如,初始化请求信息A的接收时间为12点1分4秒,初始化请求信息B的接收时间为12点1分5秒,初始化请求信息C的接收时间为12点1分3秒,则初始化请求信息B为目标初始化请求信息,初始化请求信息A为除上述目标初始化请求信息之外的上述初始化请求信息中和当前时刻的时间间隔最短的上述初始化请求信息。
在本申请的一种实施例中,确定上述目标初始化请求信息是否已被执行过,包括:在信息记录库中并未存在上述目标初始化请求信息的情况下,确定上述目标初始化请求信息是否已被执行过,上述信息记录库用于存储已经被执行过的上述初始化请求信息;确定除上述目标初始化请求信息之外的上述初始化请求信息中和当前时刻的时间间隔最短的上述初始化请求信息是否已被执行过,包括:在信息记录库中已存在除上述目标初始化请求信息之外的上述初始化请求信息中和当前时刻的时间间隔最短的上述初始化请求信息的情况下,确定除上述目标初始化请求信息之外的上述初始化请求信息中和当前时刻的时间间隔最短的上述初始化请求信息是否已被执行过。
具体地,存在不一定已被执行过,所以需要再去确定是否已被执行过,进而保证尽可能地减少重复执行率。
在本申请的一种实施例中,上述方法还包括:确定上述目标初始化请求信息在被执行的过程中是否发生宕机;在上述目标初始化请求信息在被执行的过程中发生宕机的情况下,确定除上述目标初始化请求信息之外的上述初始化请求信息中和当前时刻的时间间隔最短的上述初始化请求信息是否已被执行过。
在本申请的一种实施例中,在确定上述目标初始化请求信息在被执行的过程中是否发生宕机之后,上述方法还包括:在上述目标初始化请求信息在被执行的过程中未发生宕机的情况下,将任务数据库中上述目标初始化请求信息的状态更改为已完成。
具体地,在上述目标初始化请求信息在被执行的过程中未发生宕机的情况下,则确定已执行完初始化工作,但是需要再将任务数据库中上述目标初始化请求信息的状态更改为已完成才算真正完成初始化工作。
在本申请的一种实施例中,在将任务数据库中上述目标初始化请求信息的状态更改为已完成之后,上述方法包括:确定上述任务数据库中上述目标初始化请求信息的执行状态是否已成功更改为已完成;在上述任务数据库中上述目标初始化请求信息的执行状态为已成功更改为已完成的情况下,确定已完成上述服务的初始化任务。
具体地,若成功更新了执行状态,则确定初始化任务已经完成。
在本申请的一种实施例中,在确定上述任务数据库中上述目标初始化请求信息的执行状态是否已成功更改为已完成之后,上述方法还包括:在上述任务数据库中上述目标初始化请求信息的执行状态为未成功更改为已完成的情况下,确定除上述目标初始化请求信息之外的上述初始化请求信息中和当前时刻的时间间隔最短的上述初始化请求信息是否已被执行过。
具体地,执行状态修改过程中可能会因为编程出错而没有将执行状态更新成功,这个时候就需要确定其他的初始化请求信息能否被执行了,即对应确定除上述目标初始化请求信息之外的上述初始化请求信息中和当前时刻的时间间隔最短的上述初始化请求信息是否已被执行过。
有一张选举表,该表记录了每个集群中的每一个定时任务数据初始化时的服务器信息以及初始化状态;应用启动时,表中没有记录,同时启动的这些应用都会往选举表中插入;插入成功的节点A代表选举成功;插入不成功的节点B...Z等待选举成功的节点初始化数据;选举成功的节点A开始初始化数据,把数据插入数据库后初始化成功,修改选举表中状态为成功,应用启动成功;选举成功节点A如果初始化数据失败,则把选举表中的状态修改为失败,应用启动失败;未选举成功的节点B...Z,监测选举表中初始化状态,并且定时轮询探测选举成功的节点A健康状态;如果选举成功的节点A处于健康状态,则剩余节点B...Z等待该节点初始化完成后,应用启动成功;如果选举成功的节点处于A不健康状态,则剩余节点B...Z接管初始化;剩余节点B...Z哪个抢到哪个更新选举表中服务器地址为自己节点B地址,节点B开始进行初始化;当选举表中的状态更新为成功后,数据初始化完成,所有应用启动成功。
通过乐观锁的方式进行选举,避免了并发初始化导致数据不一致,并且避免重复初始化;通过初始化的进度维护实现了数据初始化完成后集群内节点启动的目标,同时能够对初始化进度可监控;通过节点健康状态的判断避免了初始化节点异常而产生的长时间等待;通过乐观锁选举,避免了因为悲观锁导致超时,任务启动失败的情况;使用md5码做数据的一致性校验,避免数据的重复初始化,并且可以对数据进行增删改查。
悲观锁总是假设最坏的情况,所以每次更新数据时,会对数据进行加锁,这样如果别人想使用数据的话,就会阻塞直至拿到锁,所以数据每次只会被一个线程资源使用,其他线程阻塞,用完后再把资源转让给别的线程,这样会增加资源使用的消耗,性能不高;本申请使用了乐观锁的方式,更新数据时带上条件判断,如果有线程在使用该数据,则不用阻塞等待立刻返回,减少资源使用消耗,增加并发性能,根据返回值来判断该节点是否应该进行后续的初始化操作。
通过上述实施例,避免了并发初始化导致数据不一致,并且避免重复初始化;通过初始化的进度维护实现了数据初始化完成后集群内节点启动的目标,同时能够对初始化进度可监控;通过节点健康状态的判断避免了初始化节点异常而产生的长时间等待;通过乐观锁选举,避免了因为悲观锁导致超时,任务启动失败的情况。
为了使得本领域技术人员能够更加清楚地了解本申请的技术方案,以下将结合具体的实施例对本申请的服务的初始化方法的实现过程进行详细说明。
本实施例涉及一种具体的服务的初始化方法,如图3所示,包括如下步骤:
步骤S1:响应于接收到的各服务发送的多个初始化请求信息,将所有的上述初始化请求信息按照接收到的时间顺序进行排序,上述初始化请求信息为对上述服务进行初始化的请求信息;
步骤S2:确定目标初始化请求信息是否在信息记录库中存在,若存在进行步骤S3,若不存在则进行步骤S4;
步骤S3:确定目标初始化请求信息是否已被执行过,其中,上述目标初始化请求信息为所有的上述初始化请求信息中和当前时刻的时间间隔最短的初始化请求信息;在确定上述目标初始化请求信息已被执行过的情况下,确定除上述目标初始化请求信息之外的上述初始化请求信息中和当前时刻的时间间隔最短的上述初始化请求信息是否已被执行过;在确定除上述目标初始化请求信息之外的上述初始化请求信息中和当前时刻的时间间隔最短的上述初始化请求信息未被执行过的情况下,对与除上述目标初始化请求信息之外的上述初始化请求信息中和当前时刻的时间间隔最短的上述初始化请求信息对应的上述服务进行初始化处理,即进行步骤S2(与步骤S2不同的地方在于判断的是除上述目标初始化请求信息之外的上述初始化请求信息中和当前时刻的时间间隔最短的上述初始化请求信息,判断该信息是否在信息记录库中存在,之后进行步骤S3的话也同理,仅改变判断对象,在此就不再加以赘述了);在确定上述目标初始化请求信息未被执行的情况下,采用目标初始化请求信息对上述服务进行初始化处理,之后进行步骤S4;
步骤S4:确定目标初始化请求信息在被执行的过程中是否发生宕机;在发生宕机的情况下,进行步骤S2(与步骤S2不同的地方在于判断的是除上述目标初始化请求信息之外的上述初始化请求信息中和当前时刻的时间间隔最短的上述初始化请求信息,判断该信息是否在信息记录库中存在,之后进行步骤S3的话也同理,仅改变判断对象,在此就不再加以赘述了);在未发生宕机的情况下,进行步骤S5;
步骤S5:确定上述任务数据库中上述目标初始化请求信息的执行状态是否已成功更改为已完成;在已成功更改的情况下,确定已完成上述服务的初始化任务;在未成功更改的情况下,进行步骤S2(与步骤S2不同的地方在于判断的是除上述目标初始化请求信息之外的上述初始化请求信息中和当前时刻的时间间隔最短的上述初始化请求信息,判断该信息是否在信息记录库中存在,之后进行步骤S3的话也同理,仅改变判断对象,在此就不再加以赘述了)。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例还提供了一种服务的初始化装置,需要说明的是,本申请实施例的服务的初始化装置可以用于执行本申请实施例所提供的用于服务的初始化方法。该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
以下对本申请实施例提供的服务的初始化装置进行介绍。
图4是根据本申请的实施例提供的一种服务的初始化装置的示意图。如图4所示,该装置包括第一处理单元41、第二处理单元42和第三处理单元43;第一处理单元41用于响应于接收到的各服务发送的多个初始化请求信息,将所有的上述初始化请求信息按照接收到的时间顺序进行排序,上述初始化请求信息为对上述服务进行初始化的请求信息;第二处理单元42用于确定目标初始化请求信息是否已被执行过,其中,上述目标初始化请求信息为所有的上述初始化请求信息中和当前时刻的时间间隔最短的初始化请求信息;第三处理单元43用于在确定上述目标初始化请求信息未被执行过的情况下,根据上述目标初始化请求信息,对与上述目标初始化请求信息对应的上述服务进行初始化处理。
上述装置中,通过将所有的上述初始化请求信息按照接收到的时间顺序进行排序,确定目标初始化请求信息是否已被执行过,在确定上述目标初始化请求信息未被执行过的情况下,根据上述目标初始化请求信息,对与上述目标初始化请求信息对应的上述服务进行初始化处理,从而降低了出现重复执行服务初始化的情况,进而解决了现有技术中容易出现重复初始化问题。
在本申请的一种实施例中,该装置还包括第一确定单元和第四处理单元,第一确定单元用于在确定上述目标初始化请求信息已被执行过的情况下,确定除上述目标初始化请求信息之外的上述初始化请求信息中和当前时刻的时间间隔最短的上述初始化请求信息是否已被执行过;第四处理单元用于在确定除上述目标初始化请求信息之外的上述初始化请求信息中和当前时刻的时间间隔最短的上述初始化请求信息未被执行过的情况下,对与除上述目标初始化请求信息之外的上述初始化请求信息中和当前时刻的时间间隔最短的上述初始化请求信息对应的上述服务进行初始化处理。
在本申请的一种实施例中,第二处理单元包括第一确定模块,第一确定模块用于在信息记录库中并未存在上述目标初始化请求信息的情况下,确定上述目标初始化请求信息是否已被执行过,上述信息记录库用于存储已经被执行过的上述初始化请求信息;第一确定单元包括第二确定模块,第二确定模块用于在信息记录库中已存在除上述目标初始化请求信息之外的上述初始化请求信息中和当前时刻的时间间隔最短的上述初始化请求信息的情况下,确定除上述目标初始化请求信息之外的上述初始化请求信息中和当前时刻的时间间隔最短的上述初始化请求信息是否已被执行过。
在本申请的一种实施例中,该装置还包括第二确定单元和第三确定单元,第二确定单元用于确定上述目标初始化请求信息在被执行的过程中是否发生宕机;第三确定单元用于在上述目标初始化请求信息在被执行的过程中发生宕机的情况下,确定除上述目标初始化请求信息之外的上述初始化请求信息中和当前时刻的时间间隔最短的上述初始化请求信息是否已被执行过。
在本申请的一种实施例中,该装置还包括第五处理单元,在确定上述目标初始化请求信息在被执行的过程中是否发生宕机之后,第五处理单元用于在上述目标初始化请求信息在被执行的过程中未发生宕机的情况下,将任务数据库中上述目标初始化请求信息的状态更改为已完成。
在本申请的一种实施例中,该装置还包括第四确定单元和第五确定单元,在将任务数据库中上述目标初始化请求信息的状态更改为已完成之后,第四确定单元用于确定上述任务数据库中上述目标初始化请求信息的执行状态是否已成功更改为已完成;第五确定单元用于在上述任务数据库中上述目标初始化请求信息的执行状态为已成功更改为已完成的情况下,确定已完成上述服务的初始化任务。
在本申请的一种实施例中,该装置还包括第六确定单元,在确定上述任务数据库中上述目标初始化请求信息的执行状态是否已成功更改为已完成之后,第六确定单元用于在上述任务数据库中上述目标初始化请求信息的执行状态为未成功更改为已完成的情况下,确定除上述目标初始化请求信息之外的上述初始化请求信息中和当前时刻的时间间隔最短的上述初始化请求信息是否已被执行过。
上述服务的初始化装置包括处理器和存储器,上述第一处理单元、第二处理单元和第三处理单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来解决现有技术中容易出现重复初始化问题。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本发明实施例提供了一种计算机可读存储介质,上述计算机可读存储介质包括存储的程序,其中,在上述程序运行时控制上述计算机可读存储介质所在设备执行上述服务的初始化方法。
具体地,服务的初始化方法包括:
步骤S201,响应于接收到的各服务发送的多个初始化请求信息,将所有的上述初始化请求信息按照接收到的时间顺序进行排序,上述初始化请求信息为对上述服务进行初始化的请求信息;
步骤S202,确定目标初始化请求信息是否已被执行过,其中,上述目标初始化请求信息为所有的上述初始化请求信息中和当前时刻的时间间隔最短的初始化请求信息;
步骤S203,在确定上述目标初始化请求信息未被执行过的情况下,根据上述目标初始化请求信息,对与上述目标初始化请求信息对应的上述服务进行初始化处理。
在本申请的一种实施例中,上述方法还包括:在确定上述目标初始化请求信息已被执行过的情况下,确定除上述目标初始化请求信息之外的上述初始化请求信息中和当前时刻的时间间隔最短的上述初始化请求信息是否已被执行过;在确定除上述目标初始化请求信息之外的上述初始化请求信息中和当前时刻的时间间隔最短的上述初始化请求信息未被执行过的情况下,对与除上述目标初始化请求信息之外的上述初始化请求信息中和当前时刻的时间间隔最短的上述初始化请求信息对应的上述服务进行初始化处理。
在本申请的一种实施例中,确定上述目标初始化请求信息是否已被执行过,包括:在信息记录库中并未存在上述目标初始化请求信息的情况下,确定上述目标初始化请求信息是否已被执行过,上述信息记录库用于存储已经被执行过的上述初始化请求信息;确定除上述目标初始化请求信息之外的上述初始化请求信息中和当前时刻的时间间隔最短的上述初始化请求信息是否已被执行过,包括:在信息记录库中已存在除上述目标初始化请求信息之外的上述初始化请求信息中和当前时刻的时间间隔最短的上述初始化请求信息的情况下,确定除上述目标初始化请求信息之外的上述初始化请求信息中和当前时刻的时间间隔最短的上述初始化请求信息是否已被执行过。
在本申请的一种实施例中,上述方法还包括:确定上述目标初始化请求信息在被执行的过程中是否发生宕机;在上述目标初始化请求信息在被执行的过程中发生宕机的情况下,确定除上述目标初始化请求信息之外的上述初始化请求信息中和当前时刻的时间间隔最短的上述初始化请求信息是否已被执行过。
在本申请的一种实施例中,在确定上述目标初始化请求信息在被执行的过程中是否发生宕机之后,上述方法还包括:在上述目标初始化请求信息在被执行的过程中未发生宕机的情况下,将任务数据库中上述目标初始化请求信息的状态更改为已完成。
在本申请的一种实施例中,在将任务数据库中上述目标初始化请求信息的状态更改为已完成之后,上述方法包括:确定上述任务数据库中上述目标初始化请求信息的执行状态是否已成功更改为已完成;在上述任务数据库中上述目标初始化请求信息的执行状态为已成功更改为已完成的情况下,确定已完成上述服务的初始化任务。
在本申请的一种实施例中,在确定上述任务数据库中上述目标初始化请求信息的执行状态是否已成功更改为已完成之后,上述方法还包括:在上述任务数据库中上述目标初始化请求信息的执行状态为未成功更改为已完成的情况下,确定除上述目标初始化请求信息之外的上述初始化请求信息中和当前时刻的时间间隔最短的上述初始化请求信息是否已被执行过。
本发明实施例提供了一种处理器,上述处理器用于运行程序,其中,上述程序运行时执行上述服务的初始化方法。
具体地,服务的初始化方法包括:
步骤S201,响应于接收到的各服务发送的多个初始化请求信息,将所有的上述初始化请求信息按照接收到的时间顺序进行排序,上述初始化请求信息为对上述服务进行初始化的请求信息;
步骤S202,确定目标初始化请求信息是否已被执行过,其中,上述目标初始化请求信息为所有的上述初始化请求信息中和当前时刻的时间间隔最短的初始化请求信息;
步骤S203,在确定上述目标初始化请求信息未被执行过的情况下,根据上述目标初始化请求信息,对与上述目标初始化请求信息对应的上述服务进行初始化处理。
在本申请的一种实施例中,上述方法还包括:在确定上述目标初始化请求信息已被执行过的情况下,确定除上述目标初始化请求信息之外的上述初始化请求信息中和当前时刻的时间间隔最短的上述初始化请求信息是否已被执行过;在确定除上述目标初始化请求信息之外的上述初始化请求信息中和当前时刻的时间间隔最短的上述初始化请求信息未被执行过的情况下,对与除上述目标初始化请求信息之外的上述初始化请求信息中和当前时刻的时间间隔最短的上述初始化请求信息对应的上述服务进行初始化处理。
在本申请的一种实施例中,确定上述目标初始化请求信息是否已被执行过,包括:在信息记录库中并未存在上述目标初始化请求信息的情况下,确定上述目标初始化请求信息是否已被执行过,上述信息记录库用于存储已经被执行过的上述初始化请求信息;确定除上述目标初始化请求信息之外的上述初始化请求信息中和当前时刻的时间间隔最短的上述初始化请求信息是否已被执行过,包括:在信息记录库中已存在除上述目标初始化请求信息之外的上述初始化请求信息中和当前时刻的时间间隔最短的上述初始化请求信息的情况下,确定除上述目标初始化请求信息之外的上述初始化请求信息中和当前时刻的时间间隔最短的上述初始化请求信息是否已被执行过。
在本申请的一种实施例中,上述方法还包括:确定上述目标初始化请求信息在被执行的过程中是否发生宕机;在上述目标初始化请求信息在被执行的过程中发生宕机的情况下,确定除上述目标初始化请求信息之外的上述初始化请求信息中和当前时刻的时间间隔最短的上述初始化请求信息是否已被执行过。
在本申请的一种实施例中,在确定上述目标初始化请求信息在被执行的过程中是否发生宕机之后,上述方法还包括:在上述目标初始化请求信息在被执行的过程中未发生宕机的情况下,将任务数据库中上述目标初始化请求信息的状态更改为已完成。
在本申请的一种实施例中,在将任务数据库中上述目标初始化请求信息的状态更改为已完成之后,上述方法包括:确定上述任务数据库中上述目标初始化请求信息的执行状态是否已成功更改为已完成;在上述任务数据库中上述目标初始化请求信息的执行状态为已成功更改为已完成的情况下,确定已完成上述服务的初始化任务。
在本申请的一种实施例中,在确定上述任务数据库中上述目标初始化请求信息的执行状态是否已成功更改为已完成之后,上述方法还包括:在上述任务数据库中上述目标初始化请求信息的执行状态为未成功更改为已完成的情况下,确定除上述目标初始化请求信息之外的上述初始化请求信息中和当前时刻的时间间隔最短的上述初始化请求信息是否已被执行过。
本发明实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现至少以下步骤:响应于接收到的各服务发送的多个初始化请求信息,将所有的上述初始化请求信息按照接收到的时间顺序进行排序,上述初始化请求信息为对上述服务进行初始化的请求信息;确定目标初始化请求信息是否已被执行过,其中,上述目标初始化请求信息为所有的上述初始化请求信息中和当前时刻的时间间隔最短的初始化请求信息;在确定上述目标初始化请求信息未被执行过的情况下,根据上述目标初始化请求信息,对与上述目标初始化请求信息对应的上述服务进行初始化处理。本文中的设备可以是服务器、PC、PAD、手机等。
在本申请的一种实施例中,上述方法还包括:在确定上述目标初始化请求信息已被执行过的情况下,确定除上述目标初始化请求信息之外的上述初始化请求信息中和当前时刻的时间间隔最短的上述初始化请求信息是否已被执行过;在确定除上述目标初始化请求信息之外的上述初始化请求信息中和当前时刻的时间间隔最短的上述初始化请求信息未被执行过的情况下,对与除上述目标初始化请求信息之外的上述初始化请求信息中和当前时刻的时间间隔最短的上述初始化请求信息对应的上述服务进行初始化处理。
在本申请的一种实施例中,确定上述目标初始化请求信息是否已被执行过,包括:在信息记录库中并未存在上述目标初始化请求信息的情况下,确定上述目标初始化请求信息是否已被执行过,上述信息记录库用于存储已经被执行过的上述初始化请求信息;确定除上述目标初始化请求信息之外的上述初始化请求信息中和当前时刻的时间间隔最短的上述初始化请求信息是否已被执行过,包括:在信息记录库中已存在除上述目标初始化请求信息之外的上述初始化请求信息中和当前时刻的时间间隔最短的上述初始化请求信息的情况下,确定除上述目标初始化请求信息之外的上述初始化请求信息中和当前时刻的时间间隔最短的上述初始化请求信息是否已被执行过。
在本申请的一种实施例中,上述方法还包括:确定上述目标初始化请求信息在被执行的过程中是否发生宕机;在上述目标初始化请求信息在被执行的过程中发生宕机的情况下,确定除上述目标初始化请求信息之外的上述初始化请求信息中和当前时刻的时间间隔最短的上述初始化请求信息是否已被执行过。
在本申请的一种实施例中,在确定上述目标初始化请求信息在被执行的过程中是否发生宕机之后,上述方法还包括:在上述目标初始化请求信息在被执行的过程中未发生宕机的情况下,将任务数据库中上述目标初始化请求信息的状态更改为已完成。
在本申请的一种实施例中,在将任务数据库中上述目标初始化请求信息的状态更改为已完成之后,上述方法包括:确定上述任务数据库中上述目标初始化请求信息的执行状态是否已成功更改为已完成;在上述任务数据库中上述目标初始化请求信息的执行状态为已成功更改为已完成的情况下,确定已完成上述服务的初始化任务。
在本申请的一种实施例中,在确定上述任务数据库中上述目标初始化请求信息的执行状态是否已成功更改为已完成之后,上述方法还包括:在上述任务数据库中上述目标初始化请求信息的执行状态为未成功更改为已完成的情况下,确定除上述目标初始化请求信息之外的上述初始化请求信息中和当前时刻的时间间隔最短的上述初始化请求信息是否已被执行过。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有至少如下方法步骤的程序:响应于接收到的各服务发送的多个初始化请求信息,将所有的上述初始化请求信息按照接收到的时间顺序进行排序,上述初始化请求信息为对上述服务进行初始化的请求信息;确定目标初始化请求信息是否已被执行过,其中,上述目标初始化请求信息为所有的上述初始化请求信息中和当前时刻的时间间隔最短的初始化请求信息;在确定上述目标初始化请求信息未被执行过的情况下,根据上述目标初始化请求信息,对与上述目标初始化请求信息对应的上述服务进行初始化处理。
在本申请的一种实施例中,上述方法还包括:在确定上述目标初始化请求信息已被执行过的情况下,确定除上述目标初始化请求信息之外的上述初始化请求信息中和当前时刻的时间间隔最短的上述初始化请求信息是否已被执行过;在确定除上述目标初始化请求信息之外的上述初始化请求信息中和当前时刻的时间间隔最短的上述初始化请求信息未被执行过的情况下,对与除上述目标初始化请求信息之外的上述初始化请求信息中和当前时刻的时间间隔最短的上述初始化请求信息对应的上述服务进行初始化处理。
在本申请的一种实施例中,确定上述目标初始化请求信息是否已被执行过,包括:在信息记录库中并未存在上述目标初始化请求信息的情况下,确定上述目标初始化请求信息是否已被执行过,上述信息记录库用于存储已经被执行过的上述初始化请求信息;确定除上述目标初始化请求信息之外的上述初始化请求信息中和当前时刻的时间间隔最短的上述初始化请求信息是否已被执行过,包括:在信息记录库中已存在除上述目标初始化请求信息之外的上述初始化请求信息中和当前时刻的时间间隔最短的上述初始化请求信息的情况下,确定除上述目标初始化请求信息之外的上述初始化请求信息中和当前时刻的时间间隔最短的上述初始化请求信息是否已被执行过。
在本申请的一种实施例中,上述方法还包括:确定上述目标初始化请求信息在被执行的过程中是否发生宕机;在上述目标初始化请求信息在被执行的过程中发生宕机的情况下,确定除上述目标初始化请求信息之外的上述初始化请求信息中和当前时刻的时间间隔最短的上述初始化请求信息是否已被执行过。
在本申请的一种实施例中,在确定上述目标初始化请求信息在被执行的过程中是否发生宕机之后,上述方法还包括:在上述目标初始化请求信息在被执行的过程中未发生宕机的情况下,将任务数据库中上述目标初始化请求信息的状态更改为已完成。
在本申请的一种实施例中,在将任务数据库中上述目标初始化请求信息的状态更改为已完成之后,上述方法包括:确定上述任务数据库中上述目标初始化请求信息的执行状态是否已成功更改为已完成;在上述任务数据库中上述目标初始化请求信息的执行状态为已成功更改为已完成的情况下,确定已完成上述服务的初始化任务。
在本申请的一种实施例中,在确定上述任务数据库中上述目标初始化请求信息的执行状态是否已成功更改为已完成之后,上述方法还包括:在上述任务数据库中上述目标初始化请求信息的执行状态为未成功更改为已完成的情况下,确定除上述目标初始化请求信息之外的上述初始化请求信息中和当前时刻的时间间隔最短的上述初始化请求信息是否已被执行过。
本申请还提供了一种电子设备,电子设备包括一个或多个处理器,存储器,以及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,并且被配置为由上述一个或多个处理器执行,上述一个或多个程序包括用于执行任意一种上述的服务的初始化方法。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
从以上的描述中,可以看出,本申请上述的实施例实现了如下技术效果:
1)、本申请的服务的初始化方法,通过将所有的上述初始化请求信息按照接收到的时间顺序进行排序,确定目标初始化请求信息是否已被执行过,在确定上述目标初始化请求信息未被执行过的情况下,根据上述目标初始化请求信息,对与上述目标初始化请求信息对应的上述服务进行初始化处理,从而降低了出现重复执行服务初始化的情况,进而解决了现有技术中容易出现重复初始化问题。
2)、本申请的服务的初始化方法,避免了并发初始化导致数据不一致,并且避免重复初始化;通过初始化的进度维护实现了数据初始化完成后集群内节点启动的目标,同时能够对初始化进度可监控;通过节点健康状态的判断避免了初始化节点异常而产生的长时间等待;通过乐观锁选举,避免了因为悲观锁导致超时,任务启动失败的情况。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (10)

1.一种服务的初始化方法,其特征在于,包括:
响应于接收到的各服务发送的多个初始化请求信息,将所有的所述初始化请求信息按照接收到的时间顺序进行排序,所述初始化请求信息为对所述服务进行初始化的请求信息;
确定目标初始化请求信息是否已被执行过,其中,所述目标初始化请求信息为所有的所述初始化请求信息中和当前时刻的时间间隔最短的初始化请求信息;
在确定所述目标初始化请求信息未被执行过的情况下,根据所述目标初始化请求信息,对与所述目标初始化请求信息对应的所述服务进行初始化处理。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在确定所述目标初始化请求信息已被执行过的情况下,确定除所述目标初始化请求信息之外的所述初始化请求信息中和当前时刻的时间间隔最短的所述初始化请求信息是否已被执行过;
在确定除所述目标初始化请求信息之外的所述初始化请求信息中和当前时刻的时间间隔最短的所述初始化请求信息未被执行过的情况下,对与除所述目标初始化请求信息之外的所述初始化请求信息中和当前时刻的时间间隔最短的所述初始化请求信息对应的所述服务进行初始化处理。
3.根据权利要求2所述的方法,其特征在于,
确定所述目标初始化请求信息是否已被执行过,包括:在信息记录库中并未存在所述目标初始化请求信息的情况下,确定所述目标初始化请求信息是否已被执行过,所述信息记录库用于存储已经被执行过的所述初始化请求信息;
确定除所述目标初始化请求信息之外的所述初始化请求信息中和当前时刻的时间间隔最短的所述初始化请求信息是否已被执行过,包括:在信息记录库中已存在除所述目标初始化请求信息之外的所述初始化请求信息中和当前时刻的时间间隔最短的所述初始化请求信息的情况下,确定除所述目标初始化请求信息之外的所述初始化请求信息中和当前时刻的时间间隔最短的所述初始化请求信息是否已被执行过。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
确定所述目标初始化请求信息在被执行的过程中是否发生宕机;
在所述目标初始化请求信息在被执行的过程中发生宕机的情况下,确定除所述目标初始化请求信息之外的所述初始化请求信息中和当前时刻的时间间隔最短的所述初始化请求信息是否已被执行过。
5.根据权利要求4所述的方法,其特征在于,在确定所述目标初始化请求信息在被执行的过程中是否发生宕机之后,所述方法还包括:
在所述目标初始化请求信息在被执行的过程中未发生宕机的情况下,将任务数据库中所述目标初始化请求信息的状态更改为已完成。
6.根据权利要求5所述的方法,其特征在于,在将任务数据库中所述目标初始化请求信息的状态更改为已完成之后,所述方法包括:
确定所述任务数据库中所述目标初始化请求信息的执行状态是否已成功更改为已完成;
在所述任务数据库中所述目标初始化请求信息的执行状态为已成功更改为已完成的情况下,确定已完成所述服务的初始化任务。
7.根据权利要求6所述的方法,其特征在于,在确定所述任务数据库中所述目标初始化请求信息的执行状态是否已成功更改为已完成之后,所述方法还包括:
在所述任务数据库中所述目标初始化请求信息的执行状态为未成功更改为已完成的情况下,确定除所述目标初始化请求信息之外的所述初始化请求信息中和当前时刻的时间间隔最短的所述初始化请求信息是否已被执行过。
8.一种服务的初始化装置,其特征在于,包括:
第一处理单元,用于响应于接收到的各服务发送的多个初始化请求信息,将所有的所述初始化请求信息按照接收到的时间顺序进行排序,所述初始化请求信息为对所述服务进行初始化的请求信息;
第二处理单元,用于确定目标初始化请求信息是否已被执行过,其中,所述目标初始化请求信息为所有的所述初始化请求信息中和当前时刻的时间间隔最短的初始化请求信息;
第三处理单元,用于在确定所述目标初始化请求信息未被执行过的情况下,根据所述目标初始化请求信息,对与所述目标初始化请求信息对应的所述服务进行初始化处理。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行权利要求1至7中任意一项所述的服务的初始化方法。
10.一种电子设备,其特征在于,包括:一个或多个处理器,存储器,以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行权利要求1至7中任意一项所述的服务的初始化方法。
CN202211732223.8A 2022-12-30 2022-12-30 服务的初始化方法、服务的初始化装置和电子设备 Pending CN116248499A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211732223.8A CN116248499A (zh) 2022-12-30 2022-12-30 服务的初始化方法、服务的初始化装置和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211732223.8A CN116248499A (zh) 2022-12-30 2022-12-30 服务的初始化方法、服务的初始化装置和电子设备

Publications (1)

Publication Number Publication Date
CN116248499A true CN116248499A (zh) 2023-06-09

Family

ID=86628868

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211732223.8A Pending CN116248499A (zh) 2022-12-30 2022-12-30 服务的初始化方法、服务的初始化装置和电子设备

Country Status (1)

Country Link
CN (1) CN116248499A (zh)

Similar Documents

Publication Publication Date Title
US11424981B2 (en) Distributed lifecycle management for cloud platforms
US20190065275A1 (en) Systems and methods for providing zero down time and scalability in orchestration cloud services
US11620166B2 (en) Communications framework for multi-cluster management systems
CN108696372B (zh) 一种保持系统配置一致性的方法和系统
US9535754B1 (en) Dynamic provisioning of computing resources
CN111314479A (zh) 一种数据处理方法和设备
CN106708608B (zh) 一种分布式锁服务方法、获取方法及相应装置
CN103152390B (zh) 分布式存储系统的节点配置方法、装置、节点及系统
CN106034137A (zh) 用于分布式系统的智能调度方法及分布式服务系统
CN110764963A (zh) 一种服务异常处理方法、装置及设备
CN111064626B (zh) 配置更新方法、装置、服务器及可读存储介质
CN106452836B (zh) 主节点设置方法及装置
CN111124286A (zh) 一种基于Libcloud的多云管理实现方法
CN113204353B (zh) 一种大数据平台组件部署方法及装置
CN110888858A (zh) 数据库的操作方法和装置、存储介质、电子装置
US11397632B2 (en) Safely recovering workloads within a finite timeframe from unhealthy cluster nodes
CN114185558A (zh) 基于K8s的原生应用选主方法、装置及存储介质
KR20180109921A (ko) 데이터 저장과 서비스 처리 방법 및 장치
CN111342986A (zh) 分布式节点管理方法及装置、分布式系统、存储介质
CN116599828A (zh) 任务执行方法和装置、存储介质及电子设备
CN116248499A (zh) 服务的初始化方法、服务的初始化装置和电子设备
US10728323B2 (en) Method and apparatus for operating infrastructure layer in cloud computing architecture
CN115022307A (zh) 一种文件下载方法及装置、存储介质及电子设备
CN113301089B (zh) 一种云服务节点部署方法和装置
CN114827177A (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