[发明专利]一种数据库系统状态流转方法及数据库系统在审
| 申请号: | 202310274141.1 | 申请日: | 2023-03-21 |
| 公开(公告)号: | CN116226090A | 公开(公告)日: | 2023-06-06 |
| 发明(设计)人: | 夏博涵;王尧;陈磊 | 申请(专利权)人: | 上海沄熹科技有限公司 |
| 主分类号: | G06F16/21 | 分类号: | G06F16/21;G06F9/448 |
| 代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 陈婷婷 |
| 地址: | 200120 上海市浦东新区中国(上海)自由贸*** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 数据库 系统 状态 流转 方法 | ||
1.一种数据库系统状态流转方法,其特征在于,利用有限状态机来管理数据库系统的状态流转,当数据库系统出现问题时,有限状态机根据当前的状态和发生的事件作为输入,并根据设置好的系统状态转移表来执行对应的动作,然后把输出的状态作为系统的下一状态;
数据库系统启动后,执行串行初始化各模块的动作,然后状态转为初始化态;如果最后一个模块初始化成功,状态变为运行状态;如果初始化过程中失败,则调用清理函数将已初始化的模块清理掉,并置为清理状态,清理完成后,系统执行关闭流程,将状态置为空闲态,并再次执行启动流程;
在数据库系统运行过程中,当有模块运行失败时,系统执行恢复函数,恢复成功则转换为运行状态,否则执行清理函数,清理完成后,系统执行关闭流程,并再次执行启动流程;
在数据库系统关闭的过程中,系统先从运行状态串行关闭各模块,若关闭成功则状态置为已关闭状态;若关闭失败则进行关闭重试,如果关闭重试失败,系统会强制关闭,如果关闭重试成功,则继续串行关闭各模块。
2.根据权利要求1所述的一种数据库系统状态流转方法,其特征在于,在数据库系统启动过程中,首先借助记录在latest_shutdown.log中的系统状态来判断上一次系统退出的状态或者是否为首次启动,
如果数据库系统是首次启动,就将状态置为空闲态,并开始执行启动流程;
如果数据库系统是优雅退出后的启动,即从latest_shutdown.log中读取到的状态为关闭态Closed,则开始启动数据库系统,执行启动流程;
如果数据库系统是异常退出后的启动,即从latest_shutdown.log中读取到的状态为非Closed状态的任一状态,则执行清理残留的动作,进入清理状态。
3.根据权利要求1或2所述的一种数据库系统状态流转方法,其特征在于,所述清理状态,系统清理时会有3种结果:如果清理失败次数小于3次,将进行清理重试,状态依然保持为清理状态;如果清理失败次数等于3次,系统会将状态置为终止态,此时需要人为干预解决系统出现的问题;如果清理顺利完成,则系统会执行关闭流程。
4.根据权利要求3所述的一种数据库系统状态流转方法,其特征在于,在数据库系统运行过程中,正常情况下处于运行状态,当有模块运行失败时,系统执行恢复函数,转换为重试状态,如果重试成功,则转为运行状态;否则执行清理函数,进入清理状态状态;清理成功后执行关闭流程成功的流程;关闭成功后进入已关闭状态,随即集群启动,串行初始化各模块,进入初始化状态,待最后一个模块初始化成功后,数据库系统再次转为运行状态;如果执行关闭流程失败了,会进行强制关闭并进入强制关闭状态。
5.根据权利要求4所述的一种数据库系统状态流转方法,其特征在于,在数据库系统关闭的过程中,系统会先从运行状态串行关闭各模块,并进入关闭中状态,若关闭成功,就进入已关闭状态;若关闭失败,则进行关闭重试,进入关闭重试状态;如果关闭重试失败,那么系统进入强制关闭状态;如果关闭重试成功,则继续串行关闭各模块,系统置为关闭中状态。
6.一种数据库系统,其特征在于,该系统利用有限状态机来管理数据库系统的状态流转,包括数据库系统的启动、运行和关闭,当数据库系统出现问题时,有限状态机根据当前的状态和发生的事件作为输入,并根据设置好的系统状态转移表来执行对应的动作,然后把输出的状态作为系统的下一状态;
数据库系统启动后,执行串行初始化各模块的动作,然后状态转为初始化态;如果最后一个模块初始化成功,状态变为运行状态;如果初始化过程中失败,则调用清理函数将已初始化的模块清理掉,并置为清理状态,清理完成后,系统执行关闭流程,将状态置为空闲态,并再次执行启动流程;
在数据库系统运行过程中,当有模块运行失败时,系统执行恢复函数,恢复成功则转换为运行状态,否则执行清理函数,清理完成后,系统执行关闭流程,并再次执行启动流程;
在数据库系统关闭的过程中,系统先从运行状态串行关闭各模块,若关闭成功则状态置为已关闭状态;若关闭失败则进行关闭重试,如果关闭重试失败,系统会强制关闭,如果关闭重试成功,则继续串行关闭各模块。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海沄熹科技有限公司,未经上海沄熹科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310274141.1/1.html,转载请声明来源钻瓜专利网。





