服务的初始化方法、服务的初始化装置和电子设备与流程

文档序号:34440730发布日期:2023-06-13 01:30阅读:39来源:国知局
服务的初始化方法、服务的初始化装置和电子设备与流程

本申请涉及服务的初始化,具体而言,涉及一种服务的初始化方法、服务的初始化装置、计算机可读存储介质和电子设备。


背景技术:

1、在分布式集群下,应用服务启动时会初始化代码中的定时任务持久化至数据库,但是现在大部分的定时任务引擎是使用数据库悲观锁的方式,当一个应用节点初始化完成后释放数据库锁,另外一个应用才会获取到数据库锁,这样会导致应用连接数据库超时,应用启动失败。

2、在分布式场景下,会有很多业务场景需要定时触发,在应用启动时,加载定时周期至内存或者数据库,供后续任务定时触发;现有的定时开源组件quart服务的初始化,在启动时通过悲观锁选举出一个加载定时周期的应用节点,进行任务的初始化,等这个节点初始化完成后,释放锁,同时被另外一个应用节点获取到锁,然后接着进行初始化,这样会产生重复初始化问题。


技术实现思路

1、本申请的主要目的在于提供一种服务的初始化方法、服务的初始化装置、计算机可读存储介质和电子设备,以至少解决现有技术中容易出现重复初始化问题。

2、为了实现上述目的,根据本申请的一个方面,提供了一种服务的初始化方法,该方法包括:响应于接收到的各服务发送的多个初始化请求信息,将所有的所述初始化请求信息按照接收到的时间顺序进行排序,所述初始化请求信息为对所述服务进行初始化的请求信息;确定目标初始化请求信息是否已被执行过,其中,所述目标初始化请求信息为所有的所述初始化请求信息中和当前时刻的时间间隔最短的初始化请求信息;在确定所述目标初始化请求信息未被执行过的情况下,根据所述目标初始化请求信息,对与所述目标初始化请求信息对应的所述服务进行初始化处理。

3、可选地,所述方法还包括:在确定所述目标初始化请求信息已被执行过的情况下,确定除所述目标初始化请求信息之外的所述初始化请求信息中和当前时刻的时间间隔最短的所述初始化请求信息是否已被执行过;在确定除所述目标初始化请求信息之外的所述初始化请求信息中和当前时刻的时间间隔最短的所述初始化请求信息未被执行过的情况下,对与除所述目标初始化请求信息之外的所述初始化请求信息中和当前时刻的时间间隔最短的所述初始化请求信息对应的所述服务进行初始化处理。

4、可选地,确定所述目标初始化请求信息是否已被执行过,包括:在信息记录库中并未存在所述目标初始化请求信息的情况下,确定所述目标初始化请求信息是否已被执行过,所述信息记录库用于存储已经被执行过的所述初始化请求信息;确定除所述目标初始化请求信息之外的所述初始化请求信息中和当前时刻的时间间隔最短的所述初始化请求信息是否已被执行过,包括:在信息记录库中已存在除所述目标初始化请求信息之外的所述初始化请求信息中和当前时刻的时间间隔最短的所述初始化请求信息的情况下,确定除所述目标初始化请求信息之外的所述初始化请求信息中和当前时刻的时间间隔最短的所述初始化请求信息是否已被执行过。

5、可选地,所述方法还包括:确定所述目标初始化请求信息在被执行的过程中是否发生宕机;在所述目标初始化请求信息在被执行的过程中发生宕机的情况下,确定除所述目标初始化请求信息之外的所述初始化请求信息中和当前时刻的时间间隔最短的所述初始化请求信息是否已被执行过。

6、可选地,在确定所述目标初始化请求信息在被执行的过程中是否发生宕机之后,所述方法还包括:在所述目标初始化请求信息在被执行的过程中未发生宕机的情况下,将任务数据库中所述目标初始化请求信息的状态更改为已完成。

7、可选地,在将任务数据库中所述目标初始化请求信息的状态更改为已完成之后,所述方法包括:确定所述任务数据库中所述目标初始化请求信息的执行状态是否已成功更改为已完成;在所述任务数据库中所述目标初始化请求信息的执行状态为已成功更改为已完成的情况下,确定已完成所述服务的初始化任务。

8、可选地,在确定所述任务数据库中所述目标初始化请求信息的执行状态是否已成功更改为已完成之后,所述方法还包括:在所述任务数据库中所述目标初始化请求信息的执行状态为未成功更改为已完成的情况下,确定除所述目标初始化请求信息之外的所述初始化请求信息中和当前时刻的时间间隔最短的所述初始化请求信息是否已被执行过。

9、根据本申请的另一方面,提供了一种服务的初始化装置,该装置包括第一处理单元、第二处理单元和第三处理单元;第一处理单元用于响应于接收到的各服务发送的多个初始化请求信息,将所有的所述初始化请求信息按照接收到的时间顺序进行排序,所述初始化请求信息为对所述服务进行初始化的请求信息;第二处理单元用于确定目标初始化请求信息是否已被执行过,其中,所述目标初始化请求信息为所有的所述初始化请求信息中和当前时刻的时间间隔最短的初始化请求信息;第三处理单元用于在确定所述目标初始化请求信息未被执行过的情况下,根据所述目标初始化请求信息,对与所述目标初始化请求信息对应的所述服务进行初始化处理。

10、根据本申请的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行任意一种所述的服务的初始化方法。

11、根据本申请的另一方面,提供了一种电子设备,电子设备包括一个或多个处理器,存储器,以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行任意一种所述的服务的初始化方法。

12、应用本申请的技术方案,通过将所有的所述初始化请求信息按照接收到的时间顺序进行排序,确定目标初始化请求信息是否已被执行过,在确定所述目标初始化请求信息未被执行过的情况下,根据所述目标初始化请求信息,对与所述目标初始化请求信息对应的所述服务进行初始化处理,从而降低了出现重复执行服务初始化的情况,进而解决了现有技术中容易出现重复初始化问题。



技术特征:

1.一种服务的初始化方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述方法还包括:

3.根据权利要求2所述的方法,其特征在于,

4.根据权利要求1所述的方法,其特征在于,所述方法还包括:

5.根据权利要求4所述的方法,其特征在于,在确定所述目标初始化请求信息在被执行的过程中是否发生宕机之后,所述方法还包括:

6.根据权利要求5所述的方法,其特征在于,在将任务数据库中所述目标初始化请求信息的状态更改为已完成之后,所述方法包括:

7.根据权利要求6所述的方法,其特征在于,在确定所述任务数据库中所述目标初始化请求信息的执行状态是否已成功更改为已完成之后,所述方法还包括:

8.一种服务的初始化装置,其特征在于,包括:

9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行权利要求1至7中任意一项所述的服务的初始化方法。

10.一种电子设备,其特征在于,包括:一个或多个处理器,存储器,以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行权利要求1至7中任意一项所述的服务的初始化方法。


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

技术研发人员:王飞龙,高建仕,李辉,邓辉,朱萌萌
受保护的技术使用者:中国邮政储蓄银行股份有限公司
技术研发日:
技术公布日:2024/1/13
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1