一种数据库管理方法、装置、电子设备及存储介质与流程

文档序号:31660921发布日期:2022-09-27 23:03阅读:33来源:国知局
一种数据库管理方法、装置、电子设备及存储介质与流程

1.本发明涉及数据库领域,具体涉及一种数据库管理方法、装置、电子设备及存储介质。


背景技术:

2.数据库管理是有关建立、存储、更新和读取数据库中信息的技术。在管理数据库时,往往需要结合数据库当前的状态。相关技术中,一般由数据库管理员通过探活机制检测数据库状态,当数据库出现故障、故障恢复或者数据库满足检修需求时,才更新数据库状态信息,并且数据库管理员在探测数据库时,只有连续探测多次确认故障后,才更新数据库状态信息,因此,数据库状态的更新存在一定滞后性。在实际业务场景中,比如需进行数据的存储时,可能会因为数据库状态更新存在延时而导致采用已经发生故障的数据库存储交易数据,使得数据存储失败,进而导致数据库管理的可靠性低。


技术实现要素:

3.有鉴于此,本发明实施例提供了一种数据库管理方法、装置、电子设备及存储介质,以解决现有技术中数据库管理的可靠性低的缺陷。
4.根据第一方面,本发明实施例提供一种数据库管理方法,包括如下步骤:根据目标间隔时间多次对多个数据库进行检测和/或外部输入,确定第一故障数据库信息;根据获取到的数据写入失败的数据库信息,确定第二故障数据库信息;根据所述第一故障数据库信息和所述第二故障数据库信息,确定可用数据库信息或故障数据库信息;根据所述可用数据库信息或故障数据库信息,对所述多个数据库进行数据库管理。
5.可选地,所述根据所述可用数据库信息或故障数据库信息,对所述多个数据库进行数据库管理,包括:当执行数据存储任务时,根据所述可用数据库信息或故障数据库信息,确定执行所述数据存储任务的数据库。
6.可选地,所述根据所述第一故障数据库信息和所述第二故障数据库信息,确定可用数据库信息或故障数据库信息,包括:当第一故障数据库信息和第二故障数据库信息中去重后的数据库总数量超过允许故障数据库的数量上限,删除第二故障数据库信息中与所述第一故障数据库信息不重合的数据库信息或写入所述第一故障数据库的数据库信息,直至数据库总数量满足允许故障数据库的数量上限要求。
7.可选地,所述根据所述第一故障数据库信息和所述第二故障数据库信息,确定可用数据库信息或故障数据库信息,包括:当第一故障数据库信息和第二故障数据库信息中的数据库总数量不超过允许故障数据库的数量上限,则将第一故障数据库信息和第二故障数据库信息中的数据库信息确定为故障数据库信息。
8.可选地,所述方法还包括:确定允许故障数据库的数量上限;所述确定允许故障数据库的数量上限,包括:根据单个数据库业务承载量和实际业务量,确定所述允许故障数据库的数量上限。
9.可选地,所述根据单个数据库业务承载量和实际业务量,确定所述允许故障数据库的数量上限,包括:
10.按照以下公式计算得到所述允许故障数据库的数量上限y:
[0011][0012]
其中,a为数据库总数量,b为实际业务量,c为单台数据库业务承载量,ceil表征向上舍入的第一位整数。
[0013]
可选地,还包括:定期探测所述第一故障数据库信息中的数据库和/或所述第二故障数据库信息中的数据库,当探测结果为数据库正常,则将所述数据库从相应的第一故障数据库信息和/或所述第二故障数据库信息中移出。
[0014]
可选地,所述根据获取到的数据写入失败的数据库信息,确定第二故障数据库信息,包括:当获取到数据库在执行写入失败时,判断所述数据库的数据写入失败比例是否达到预设值;当所述数据库的数据写入失败比例达到预设值,则将所述数据库对应的数据库信息作为所述第二故障数据库信息。
[0015]
可选地,所述删除第二故障数据库信息中与所述第一故障数据库信息不重合的数据库信息,包括:获取多个第二故障数据库信息中与所述第一故障数据库信息不重合的数据库的数据写入失败比例;按照数据库的数据写入失败比例由低到高的顺序,对第二故障数据库信息中的数据库信息进行删除。
[0016]
可选地,所述写入所述第一故障数据库的数据库信息,包括:当写入的第一故障数据库中的数据库信息数量未达到允许故障数据库的数量上限要求,则获取多个第二故障数据库信息中的数据库的数据写入失败比例;按照数据库的数据写入失败比例由高到低的顺序,写入数据库信息。
[0017]
根据第二方面,本发明实施例提供一种数据库管理装置,包括:第一故障数据库信息确定模块,用于根据目标间隔时间多次对多个数据库进行检测和/或外部输入,确定第一故障数据库信息;第二故障数据库信息确定模块,用于根据获取到的数据写入失败的数据库信息,确定第二故障数据库信息;数据库信息确定模块,用于根据所述第一故障数据库信息和所述第二故障数据库信息,确定可用数据库信息或故障数据库信息;数据库管理模块,用于根据所述可用数据库信息或故障数据库信息,对所述多个数据库进行数据库管理。
[0018]
根据第三方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面或第一方面任一实施方式所述的数据库管理方法的步骤。
[0019]
根据第四方面,本发明实施例提供一种存储介质,其上存储有计算机指令,该指令被处理器执行时实现第一方面或第一方面任一实施方式所述的数据库管理方法的步骤。
[0020]
本发明技术方案,具有如下优点:
[0021]
本发明实施例提供的数据库管理方法/装置,在确定故障数据库的过程中,根据第一故障数据库信息和第二故障数据库信息共同确定故障数据库信息或可用数据库信息,由于第二故障数据库信息通过实时获取数据写入失败的数据库信息得到,可以弥补第一故障数据库信息由于仅仅通过按照目标间隔时间多次对已有的多个数据库进行检测确定,导致存在故障状态更新存在延时的问题,在实际进行数据库管理时,既考虑了按照目标间隔时
间多次对已有的多个数据库进行探测得到的故障数据库和外部输入的故障数据库,又考虑了实时获取的可能出现故障的数据库,避免了采用已经发生故障的数据库进行数据库管理,提高了数据库管理的可靠性。
附图说明
[0022]
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0023]
图1为本发明实施例中数据库管理方法的一个具体示例的流程图;
[0024]
图2为本发明实施例中数据库管理方法的一个具体示例图;
[0025]
图3为本发明实施例中数据库管理方法的一个具体示例图;
[0026]
图4为本发明实施例中数据库管理方法的一个具体示例图;
[0027]
图5为本发明实施例中数据库管理装置的一个具体示例原理框图;
[0028]
图6为本发明实施例中电子设备的一个具体示例的原理框图。
具体实施方式
[0029]
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0030]
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
[0031]
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,还可以是两个元件内部的连通,可以是无线连接,也可以是有线连接。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
[0032]
此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
[0033]
本实施例提供一种数据库管理方法,如图1所示,包括如下步骤:
[0034]
s101,根据目标间隔时间多次对多个数据库进行检测和/或外部输入,确定第一故障数据库信息;
[0035]
示例性地,第一故障数据库信息内包含根据目标间隔时间多次对多个数据库进行检测和/或外部输入得到的故障数据库的唯一性标识信息,唯一性标识信息可以是数据库的唯一标识符或者数据库的自定义名称。本实施例对第一故障数据库信息的具体内容不做限定,本领域技术人员可以根据需要确定。
[0036]
第一故障数据库信息可以是按照目标间隔时间多次对多个数据库进行检测得到,比如,以5分钟为目标间隔时间对多个数据库进行检测,当连续3次检测到任意数据库出现故障,则记录该数据库唯一性标识信息,得到第一故障数据库信息,其中,进行检测的多个数据库可以依据实际使用情况设定,可以检测系统中所有的数据库,也可以依据使用需求选取部分数据库进行检测。
[0037]
第一故障数据库信息还可以是根据数据库管理人员的输入得到,比如,数据库管理人员需要对某个数据库进行检修,那么在实际的数据存储过程中则不能使用该数据库存储,此时数据库管理员可以将该数据库的唯一性标识信息输入,作为第一故障数据库信息。本实施例对目标间隔时间不做限定,本领域技术人员可以根据需要确定。
[0038]
s102,根据获取到的数据写入失败的数据库信息,确定第二故障数据库信息;
[0039]
示例性地,第二故障数据库信息内包含获取到数据写入失败的数据库唯一性标识信息,唯一性标识信息可以是数据库的唯一标识符或者数据库的自定义名称。本实施例对第二故障数据库信息的具体内容不做限定,本领域技术人员可以根据需要确定。
[0040]
第二故障数据库信息的确定方式可以是实时监测数据写入过程中的写入情况,当数据写入失败时,则获取写入失败数据库的唯一性标识信息,将该唯一性标识信息进行记录,得到第二故障数据库信息。在实际情况中,数据写入失败的原因除了数据库故障以外还有多种,比如,网络延时、网络波动等网络故障导致。在获取第二故障数据库信息的过程中,不考虑数据写入失败的原因是否为数据库故障,只要数据写入失败,则记录对应的数据库唯一性标识信息。
[0041]
s103,根据第一故障数据库信息和第二故障数据库信息,确定可用数据库信息或故障数据库信息;
[0042]
示例性地,根据第一故障数据库信息和第二故障数据库信息,确定可用数据库信息的方式可以是将所有进行管理的数据库信息与第一故障数据库信息和第二故障数据库信息进行比对,当比对结果中任一数据库信息不存在于第一故障数据库信息和第二故障数据库信息时,则记录该数据库信息,得到可用数据库信息。
[0043]
根据第一故障数据库信息和第二故障数据库信息,确定故障数据库信息的方式可以是直接将第一故障数据库信息和第二故障数据库信息作为故障数据库信息,使用时直接读取第一故障数据库信息和第二故障数据库信息;也可以是将第一故障数据库信息和第二故障数据库信息记录到第三方列表或数据库中,得到故障数据库信息,使用时读取第三方列表或数据库中的故障数据库信息。本实施例对根据第一故障数据库信息和第二故障数据库信息,确定可用数据库信息或故障数据库的方式不做限定,本领域技术人员可以根据需要确定。
[0044]
s104,根据可用数据库信息或故障数据库信息,对多个数据库进行数据库管理。
[0045]
示例性地,数据库管理的方式包括对数据库的增、删、改、查等。根据确定可用数据库信息,对多个数据库进行数据库管理的方式可以是当在进行数据库管理时,若要通过某个数据库中的数据执行删除操作时,则先查看该数据库信息是否在可用数据库信息内,如果在,则执行删除操作,如果不在,则不执行。根据确定故障数据库信息,对多个数据库进行数据库管理的方式可以是当在进行数据库管理时,若要通过某个数据库中的数据执行删除操作时,则先查看该数据库信息是否在故障数据库信息内,如果不在,则执行删除操作,如
果在,则不执行。
[0046]
本实施例提供的数据库管理方法,在确定故障数据库的过程中,根据第一故障数据库信息和第二故障数据库信息共同确定故障数据库信息或可用数据库信息,由于第二故障数据库信息通过实时获取数据写入失败的数据库信息得到,可以弥补第一故障数据库信息由于仅仅通过按照目标间隔时间多次对已有的多个数据库进行检测确定,导致存在故障状态更新存在延时的问题,在实际进行数据库管理时,既考虑了按照目标间隔时间多次对已有的多个数据库进行探测得到的故障数据库和外部输入的故障数据库,又考虑了实时获取的可能出现故障的数据库,避免了采用已经发生故障的数据库进行数据库管理,提高了数据库管理的可靠性。
[0047]
以通过上述方法进行线上交易为例,备付金处理中心是进行线上交易的重要一环,如图2所示,包括了应用服务器集群、数据库群组,主要对实时出入的交易进行记账处理。在进行线上交易时,交易请求发送到应用服务器,服务器处理后,根据数据库路由模块,将交易数据保存到对应的数据库。结合上述实施例的数据库管理方法,具体的使用场景如图3所示,数据库路由模块根据第一故障数据库信息以及第二故障数据库信息,确定可用数据库信息或故障数据库信息,指导交易路由,以保证交易能够正常完成。
[0048]
作为本实施例一种可选的实施方式,根据确定可用数据库信息或故障数据库信息,对多个数据库进行数据库管理,包括:
[0049]
当执行数据存储任务时,根据可用数据库信息或故障数据库信息,确定执行数据存储任务的数据库。
[0050]
示例性地,根据可用数据库信息,确定执行数据存储任务的数据库的方式可以是选取可用数据库信息中对应的数据库进行数据存储操作。根据故障数据库信息,确定执行数据存储任务的数据库的方式可以是选取不处于故障数据库信息中的数据库,进行数据存储操作。
[0051]
本实施例提供的数据库管理方法,在进行数据存储操作时,根据可用数据库信息或故障数据库信息,确定执行数据存储任务的数据库,从而避免了采用已经发生故障的数据库进行数据存储,提高了数据库存储的稳定性。
[0052]
为了展示本实施例的方法在备付金处理中心进行交易时所起的作用,如图4所示,图中横坐标为应用服务器的ip,纵坐标为每台服务器故障期间的失败交易数。本实施例中对备付金处理中心的每台服务器故障期间的失败交易数量进行对比,未使用本方法实施例中的服务器(对应于左边方框),平均每台服务器失败350笔左右,而使用本发明实施例中方法的服务器(对应于右边方框),平均每台服务器失败20笔左右;由此可见,本发明降低了故障期间94%的失败交易数量,效果显著。
[0053]
作为本实施例一种可选的实施方式,根据第一故障数据库信息和第二故障数据库信息,确定可用数据库信息或故障数据库信息,包括:
[0054]
当第一故障数据库信息和第二故障数据库信息中去重后的数据库总数量超过允许故障数据库的数量上限,删除第二故障数据库信息中与第一故障数据库信息不重合的数据库信息或写入第一故障数据库中的数据库信息,直至数据库总数量满足允许故障数据库的数量上限要求。
[0055]
示例性地,判断第一故障数据库信息和第二故障数据库信息中的数据库总数量是
否超过预定上限数量的方式可以是首先,对第一故障数据库信息和第二故障数据库信息进行去重,具体为获取第一故障数据库信息中的数据库唯一性标识信息以及第二故障数据库信息中的数据库唯一性标识信息,对第一故障数据库信息中的数据库唯一性标识信息以及第二故障数据库信息中的数据库唯一性标识信息做并集,以并集结果中的数据库唯一性标识信息数量作为第一故障数据库信息和第二故障数据库信息中的数据库总数量,比如,第一故障数据库信息中记录的数据库唯一性标识信息为a,b,c;第二故障数据库信息中记录的数据库唯一性标识信息为a,b,d,那么对数据库标识取并集后为a,b,c,d,则数据库总数量为4。其次,再将数据库总数量与允许故障数据库的数量上限进行比较。允许故障数据库的数量上限可以根据需求设定,比如,8个数据库。
[0056]
在直接将第一故障数据库信息和第二故障数据库信息作为故障数据库信息的情况下,当第一故障数据库信息和第二故障数据库信息中的数据库总数量超过允许故障数据库的数量上限,为了满足允许故障数据库的数量上限,需要从第一故障数据库信息和第二故障数据库信息中删除超出允许故障数据库的数量上限的数据库。
[0057]
由于第一故障数据库信息按照目标间隔时间多次对多个数据库进行检测得到或者外部输入得到,则第一故障数据库信息对应的数据库属于故障数据库的准确率高,而第二故障数据库信息通过实时获取数据写入失败的数据库信息得到,导致数据写入失败的原因包括但不限于数据库故障,还有可能是网络延时、网络抖动等网络故障导致,第二故障数据库信息对应的数据库有可能误判数据库出现故障导致的,其准确率较低。
[0058]
因此,优先从准确率较低的第二故障数据库信息中删除数据库信息,删除数据库信息的方式可以是随机删除,需要注意的是,在删除数据库信息时,不能删除与第一故障数据库信息中重合的数据库信息。比如,第一故障数据库信息中包含的数据库唯一性标识信息为a,b;第二故障数据库信息中包含的数据库唯一性标识信息为a,b,c,d,e;预定上限数量为3个,那么需要从第二故障数据库信息中删除c,d,e中任意两个数据库唯一性标识信息。本实施例对删除数据库信息的方式不做限定,本领域技术人员可以根据需要确定。
[0059]
在将第一故障数据库信息和第二故障数据库信息记录到第三方列表或数据库中,得到故障数据库信息的情况下,为了保证写入的故障数据库信息的准确性,优先在第三方列表或数据库中写入第一故障数据库的数据库信息,当写入所有第一故障数据库信息还未达到允许故障数据库的数量上限时,则可以随机写入第二故障数据库信息,直至写入的数据库总数量满足允许故障数据库的数量上限要求。比如,第一故障数据库信息中包含的数据库唯一性标识信息为a,b;第二故障数据库信息中包含的数据库唯一性标识信息为a,c,d,e;预定上限数量为3个,那么需要优先写入的数据库唯一性标识信息为a,b,剩余一个数据库唯一性标识信息可以从c,d,e中随机选择一个进行写入操作。
[0060]
作为本实施例一种可选的实施方式,根据第一故障数据库信息和第二故障数据库信息,确定可用数据库信息或故障数据库信息,包括:
[0061]
当第一故障数据库信息和第二故障数据库信息中的数据库总数量不超过允许故障数据库的数量上限,则将第一故障数据库信息和第二故障数据库信息中的数据库信息确定为故障数据库信息。
[0062]
作为本实施例一种可选的实施方式,方法还包括:确定允许故障数据库的数量上限;
[0063]
确定允许故障数据库的数量上限,包括:
[0064]
根据单个数据库业务承载量和实际业务量,确定允许故障数据库的数量上限。
[0065]
示例性地,按照以下公式计算得到允许故障数据库的数量上限y:
[0066][0067]
其中,a为数据库总数量,b为实际业务量,c为单台数据库业务承载量,floor表征向下取整数。
[0068]
本实施例提供的数据库管理方法,通过单个数据库业务承载量和实际业务量确定允许故障数据库的数量上限,相比于固定的允许故障数据库的数量上限,更贴合实际的使用场景,允许故障数据库的数量上限设定更灵活,提高了数据库管理的灵活性。
[0069]
作为本实施例一种可选的实施方式,根据单个数据库业务承载量和实际业务量,确定允许故障数据库的数量上限,包括:
[0070]
按照以下公式计算得到允许故障数据库的数量上限y:
[0071][0072]
其中,a为数据库总数量,b为实际业务量,c为单台数据库业务承载量,ceil表征向上舍入的第一位整数,也即向上舍入最接近的整数,比如那么
[0073]
本实施例提供的数据库管理方法,在计算实际业务量与单台数据库业务承载量的比值关系时,采用向上舍入的方式,相当于为进行处理业务的数据库留下富余台数,保证业务能够正常完成。
[0074]
作为本实施例一种可选的实施方式,还包括:定期探测第一故障数据库信息中的数据库和/或第二故障数据库信息中的数据库,当探测结果为数据库正常,则将数据库从相应的第一故障数据库信息和/或第二故障数据库信息中移出。定期探测的方式可以是通过预先写入的程序定时触发预先部署的探活机制对数据库的状态进行探测。数据库正常表示探活机制探测出的结果为数据库存活且状态良好。
[0075]
本实施例提供的数据库管理方法,通过定期探测,有利于第一故障数据库信息和第二故障数据库信息的信息更新,进一步有利于提高数据库管理的可靠性。
[0076]
作为本实施例一种可选的实施方式,根据获取到的数据写入失败的数据库信息,确定第二故障数据库信息,包括:
[0077]
当获取到数据库在执行写入失败时,判断所述数据库的数据写入失败比例是否达到预设值;当数据库的数据写入失败比例达到预设值,则将数据库对应的数据库信息作为第二故障数据库信息。
[0078]
示例性地,预设值可以是10%,本实施例对预设值大小不做限定,本领域技术人员可以根据需要确定。数据库的数据写入失败比例可以是预先对每个数据库的每一次数据存储结果进行统计得到。本实施例提供的数据库管理方法,在数据库在执行写入失败时,只有数据库的数据写入失败比例达到预设值时,才将该数据库信息作为第二故障数据库信息,防止因为数据库一次写入失败,而被判定为数据库故障,从而提高第二故障数据库信息的准确性。
[0079]
作为本实施例一种可选的实施方式,删除第二故障数据库信息中与第一故障数据
库信息不重合的数据库信息,包括:
[0080]
获取多个第二故障数据库信息中与第一故障数据库信息不重合的数据库的数据写入失败比例;按照数据库的数据写入失败比例由低到高的顺序,对第二故障数据库信息中的数据库信息进行删除。
[0081]
示例性地,数据库的数据写入失败比例可以是预先对每个数据库的每一次数据存储结果进行统计得到。根据数据库的数据写入失败比例对第二故障数据库信息中的数据库信息进行删除的方式可以是对各个数据库的数据写入失败比例进行排序,优先删除失败比例较低的数据库信息,从而进一步保证确定出的故障数据库的准确性。
[0082]
作为本实施例一种可选的实施方式,写入第一故障数据库的数据库信息,包括:
[0083]
当写入的第一故障数据库中的数据库信息数量未达到允许故障数据库的数量上限要求,则获取第二故障数据库信息中多个数据库的数据写入失败比例;按照数据库的数据写入失败比例由高到低的顺序,写入数据库信息。
[0084]
示例性地,多个第二故障数据库信息中数据库的数据写入失败比例的获取方式可以是获取第二故障数据库信息对应的数据库的历史写入情况,通过统计历史写入情况,得到数据库的数据写入失败比例。按照数据库的数据写入失败比例由高到低的顺序,写入数据库信息的方式可以是对各个数据库的数据写入失败比例进行排序,优先将失败比例较高的数据库信息写入第三方列表或数据库,从而进一步保证确定出的故障数据库的准确性。
[0085]
本实施例提供一种数据库管理装置,如图5所示,包括:
[0086]
第一故障数据库信息确定模块201,用于根据目标间隔时间多次对多个数据库进行检测和/或外部输入,确定第一故障数据库信息;具体内容参见上述实施例对应部分,在此不再赘述。
[0087]
第二故障数据库信息确定模块202,用于根据获取到的数据写入失败的数据库信息,确定第二故障数据库信息;具体内容参见上述实施例对应部分,在此不再赘述。
[0088]
数据库信息确定模块203,用于根据所述第一故障数据库信息和所述第二故障数据库信息,确定可用数据库信息或故障数据库信息;具体内容参见上述实施例对应部分,在此不再赘述。
[0089]
数据库管理模块204,用于根据所述可用数据库信息或故障数据库信息,对所述多个数据库进行数据库管理。具体内容参见上述实施例对应部分,在此不再赘述。
[0090]
作为本实施例一种可选的实施方式,数据库管理模块204,包括:
[0091]
数据存储模块,用于当执行数据存储任务时,根据所述可用数据库信息或故障数据库信息,确定执行所述数据存储任务的数据库。具体内容参见上述实施例对应部分,在此不再赘述。
[0092]
作为本实施例一种可选的实施方式,数据库信息确定模块203,包括:
[0093]
删除/写入模块,用于当第一故障数据库信息和第二故障数据库信息中去重后的数据库总数量超过允许故障数据库的数量上限,删除第二故障数据库信息中与所述第一故障数据库信息不重合的数据库信息或写入所述第一故障数据库的数据库信息,直至数据库总数量满足允许故障数据库的数量上限要求。具体内容参见上述实施例对应部分,在此不再赘述。
[0094]
作为本实施例一种可选的实施方式,数据库信息确定模块203,包括:
[0095]
数据库信息确定子模块,用于当第一故障数据库信息和第二故障数据库信息中的数据库总数量不超过允许故障数据库的数量上限,则将第一故障数据库信息和第二故障数据库信息中的数据库信息确定为故障数据库信息。具体内容参见上述实施例对应部分,在此不再赘述。
[0096]
作为本实施例一种可选的实施方式,数据库管理装置还包括:
[0097]
上限确定模块,用于确定允许故障数据库的数量上限;
[0098]
所述确定允许故障数据库的数量上限,包括:
[0099]
根据单个数据库业务承载量和实际业务量,确定所述允许故障数据库的数量上限。具体内容参见上述实施例对应部分,在此不再赘述。
[0100]
作为本实施例一种可选的实施方式,上限确定模块,包括:
[0101]
计算模块,用于按照以下公式计算得到所述允许故障数据库的数量上限y:
[0102][0103]
其中,a为数据库总数量,b为实际业务量,c为单台数据库业务承载量,ceil表征向上舍入的第一位整数。具体内容参见上述实施例对应部分,在此不再赘述。
[0104]
作为本实施例一种可选的实施方式,还包括:
[0105]
更新模块,用于定期探测所述第一故障数据库信息中的数据库和/或所述第二故障数据库信息中的数据库,当探测结果为数据库正常,则将所述数据库从相应的第一故障数据库信息和/或所述第二故障数据库信息中移出。具体内容参见上述实施例对应部分,在此不再赘述。
[0106]
作为本实施例一种可选的实施方式,数据库信息确定模块203,包括:
[0107]
判断模块,用于当获取到数据库在执行写入失败时,判断数据库的数据写入失败比例是否达到预设值;具体内容参见上述实施例对应部分,在此不再赘述。
[0108]
第二故障数据库信息确定子模块,用于当数据库的数据写入失败比例达到预设值,则将数据库对应的数据库信息作为第二故障数据库信息。具体内容参见上述实施例对应部分,在此不再赘述。
[0109]
作为本实施例一种可选的实施方式,删除/写入模块,包括:
[0110]
第一比例确定模块,用于获取多个第二故障数据库信息中与第一故障数据库信息不重合的数据库的数据写入失败比例;具体内容参见上述实施例对应部分,在此不再赘述。
[0111]
删除模块,用于按照数据库的数据写入失败比例由低到高的顺序,对第二故障数据库信息中的数据库信息进行删除。具体内容参见上述实施例对应部分,在此不再赘述。
[0112]
作为本实施例一种可选的实施方式,删除/写入模块,包括:
[0113]
第二比例确定模块,用于当写入的第一故障数据库中的数据库信息数量未达到允许故障数据库的数量上限要求,则获取多个第二故障数据库信息中的数据库的数据写入失败比例;具体内容参见上述实施例对应部分,在此不再赘述。
[0114]
写入模块,用于按照数据库的数据写入失败比例由高到低的顺序,写入数据库信息。具体内容参见上述实施例对应部分,在此不再赘述。
[0115]
本技术实施例还提供一种电子设备,如图6所示,处理器410和存储器420,其中处理器410和存储器420可以通过总线或者其他方式连接。
[0116]
处理器410可以为中央处理器(central processing unit,cpu)。处理器410还可以为其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
[0117]
存储器420作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施例中的数据库管理方法或数据存储方法对应的程序指令/模块。处理器通过运行存储在存储器中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理。
[0118]
存储器420可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器420可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0119]
所述一个或者多个模块存储在所述存储器420中,当被所述处理器410执行时,执行如图所示实施例中的数据库管理方法。
[0120]
上述电子设备的具体细节可以对应参阅图1所示的实施例中对应的相关描述和效果进行理解,此处不再赘述。
[0121]
本实施例还提供了一种计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中数据库管理方法。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)、随机存储记忆体(random access memory,ram)、快闪存储器(flashmemory)、硬盘(hard disk drive,缩写:hdd)或固态硬盘(solid-state drive,ssd)等;所述存储介质还可以包括上述种类的存储器的组合。
[0122]
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1