System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及分布式数据库,尤其涉及一种给分布式数据库的ddl处理方法、装置、系统及介质。
技术介绍
1、分布式数据库中,数据存储在多个数据节点,业务应用在进行数据库操作(ddl/dml)时,各数据节点上数据库对象定义必须保持一致,才能保证各数据库操作在所有数据库节点上正常执行。分布式数据库接收ddl请求后,传统解决方案是把该ddl直接下发所有数据节点执行;如果所有数据节点全部执行成功,则分布式数据库对象定义修改为目标定义;如果出现部分数据节点执行成功,部分数据节点执行失败,则会出现分布式数据库下各数据节点数据库对象定义不一致的问题,进而使整个分布式数据库无法正常执行数据库操作,需要通过运维手段干预解决。
2、因此,现有技术还有待于改进和发展。
技术实现思路
1、鉴于上述现有技术的不足,本专利技术的目的在于提供一种分布式数据库的ddl处理方法,旨在解决分布式数据库ddl执行后出现部分数据节点成功部分数据节点失败进而导致数据库对象定义不一致的问题。
2、本专利技术的技术方案如下:
3、一种分布式数据库的ddl处理方法,包括:
4、检查各数据节点是否满足ddl语句执行条件,得到检测结果;
5、当所述检查结果为所述各数据节点均满足ddl语句执行条件时,计算节点将所述ddl语句发送至各数据节点进行执行,得到执行结果;
6、若所述执行结果为有数据节点执行ddl语句失败,则将执行成功的数据节点根据预先生成的恢复策略恢复至执
7、在一个实施例中,所述检查各数据节点是否满足dd语句执行条件,包括:
8、解析所述ddl语句获取ddl语句的特征信息;
9、根据所述特征信息确定所述ddl语句的执行条件,并生成相应的执行条件检查请求;
10、通过计算节点向各数据节点发送所述ddl执行条件检查请求信号;
11、响应于所述执行条件请求信号,检查所述各数据节点是否满足ddl语句执行条件。
12、在一个实施例中,其特征在于,所述ddl语句执行条件具体包括:
13、所述数据节点是否正常运行以及资源是否充足;
14、数据库用户在所述数据节点对执行ddl语句的数据库对象时是否有需要的处理权限;
15、所述数据库对象在所述数据节点的定义是否正确以及状态是否正常;
16、所述数据库对象在所述数据节点是否能获取锁资源。
17、在一个实施例中,所述检查各数据节点是否满足ddl语句执行条件,得到检测结果,包括:
18、当检查所述各数据节点均满足ddl语句执行条件时,反馈满足执行条件信号;
19、当检查有所述各数据节点不满足ddl语句执行条件时,反馈不满足执行条件信号。
20、在一个实施例中,所述计算节点将所述ddl语句发送至各数据节点执行,得到执行结果,包括:
21、当所述各数据节点均执行成功,则反馈执行成功响应;
22、当所述各数据节点均执行失败,则保持执行ddl语句前的数据库对象定义。
23、在一个实施例中,所述若有数据节点执行ddl语句失败,则将执行成功的数据节点根据预先生成的恢复策略恢复至执行ddl语句前的状态,包括:
24、当所述部分数据节点执行失败,反馈执行失败信号并生成数据节点恢复申请;
25、响应于数据节点恢复申请,根据所述恢复策略将执行成功的数据节点恢复至执行前的状态,反馈恢复结果信号。
26、在一个实施例中,所述恢复策略具体包括执行反向ddl语句恢复和根据数据库数据备份修复。
27、一种分布式数据库的ddl处理装置,所述装置包括:
28、ddl检查模块,用于检查各数据节点是否满足ddl语句执行条件;
29、ddl执行模块,用于当检查所述各数据节点满足ddl语句执行条件时,计算节点将所述ddl语句发送至各数据节点执行;
30、ddl恢复模块,用于若有数据节点执行ddl语句失败,则将执行成功的数据节点根据预先生成的恢复策略恢复至执行ddl语句前的状态。
31、一种分布式数据库的ddl处理系统,所述系统包括至少一个处理器;以及,
32、与所述至少一个处理器通信连接的存储器;其中,
33、所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述分布式数据库的ddl处理方法。
34、一种非易失性计算机可读存储介质,所述非易失性计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行时,可使得所述一个或多个处理器执行上述的分布式数据库的ddl处理方法。
35、有益效果:本专利技术公开了一种分布式数据库的ddl处理方法、装置、系统及介质,相比于现有技术,本专利技术实施例通过检查所有数据节点均满足ddl语句执行条件之后执行ddl语句,当部分数据节点执行成功,部分数据节点执行失败时,根据恢复策略恢复元数据信息,解决数据库对象定义不一致的问题。
本文档来自技高网...【技术保护点】
1.一种分布式数据库的DDL处理方法,其特征在于,包括:
2.根据权利要求1所述的分布式数据库的DDL处理方法,其特征在于,所述检查各数据节点是否满足DD语句执行条件,包括:
3.根据权利要求2所述的分布式数据库的DDL处理方法,其特征在于,所述DDL语句执行条件具体包括:
4.根据权利要求1所述的分布式数据库的DDL处理方法,其特征在于,所述检查各数据节点是否满足DD语句执行条件,得到检测结果,包括:
5.根据权利要求1所述的分布式数据库的DDL处理方法,其特征在于,所述计算节点将所述DDL语句发送至各数据节点执行,得到执行结果,包括:
6.根据权利要求1所述的分布式数据库的DDL处理方法,其特征在于,所述若有数据节点执行DDL语句失败,则将执行成功的数据节点根据预先生成的恢复策略恢复至执行DDL语句前的状态,包括:
7.根据权利要求1所述的分布式数据库的DDL处理方法,其特征在于,所述恢复策略具体包括执行反向DDL语句恢复和根据数据库数据备份修复。
8.一种分布式数据库的DDL处理装置,其特征
9.一种分布式数据库的DDL处理系统,其特征在于,所述系统包括至少一个处理器;以及,
10.一种非易失性计算机可读存储介质,其特征在于,所述非易失性计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行时,可使得所述一个或多个处理器执行权利要求1-7任一项所述的分布式数据库的DDL处理方法。
...【技术特征摘要】
1.一种分布式数据库的ddl处理方法,其特征在于,包括:
2.根据权利要求1所述的分布式数据库的ddl处理方法,其特征在于,所述检查各数据节点是否满足dd语句执行条件,包括:
3.根据权利要求2所述的分布式数据库的ddl处理方法,其特征在于,所述ddl语句执行条件具体包括:
4.根据权利要求1所述的分布式数据库的ddl处理方法,其特征在于,所述检查各数据节点是否满足dd语句执行条件,得到检测结果,包括:
5.根据权利要求1所述的分布式数据库的ddl处理方法,其特征在于,所述计算节点将所述ddl语句发送至各数据节点执行,得到执行结果,包括:
6.根据权利要求1所述的分布式数据库的ddl处理方法,其特征在于,所述若有...
【专利技术属性】
技术研发人员:郭智敏,
申请(专利权)人:金篆信科有限责任公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。