The present invention provides a method and a device to enhance the availability of database, can appear in the database when the fault automatic detection and automatic switching scheme, and enhance the availability of the database; at the same time avoid the real-time inspection of database operation and maintenance personnel, reduce the cost of human supervision. Including the method to improve the availability of database of the invention: the database server every time will set the database availability detection tasks in accordance with the rules set to send has to establish a database connection of the client; the database server receives the client return data library is not available for detection of anomaly detection task after the report, the establishment of the database. And the anomaly detection tasks assigned to the N client; the database server receives the test report of the database of the N client return anomalies, according to the received data base anomaly detection report database for determining the number of the fault database, and the database of the database is switched to the standby database.
【技术实现步骤摘要】
一种提升数据库可用性的方法和装置
本专利技术涉及计算机及其软件
,特别涉及一种提升数据库可用性的方法和装置。
技术介绍
随着互联网日益迅速发展,互联网公司的各种数据呈现爆炸式增长,现在虽然有很多分布式非关系型数据库NoSql解决了数据增长所带来的一部分问题,但是还有一些业务是需要关系型数据库进行支撑的。现有的关系型数据库在分布式部署分布式事物方面较弱,尤其是当数据量大的时候,单机数据库成为性能瓶颈;现在很多公司的产品虽然在使用自己的数据水平切分规则,但只能暂时解决数据库性能问题。现有技术方案中,如果数据库出现故障,被中断的服务需等待数据库问题解决后,才重新向用户提供服务;或者使用主从数据库切换,一般应用连接数据库时使用域名或者虚拟IP,人工执行切换方案时使用从数据库IP与域名或者虚拟IP进行映射,并且为了防止数据丢失,通常先在应用层面限制请求流量,切换后重新开启请求流量;而如果数据库服务器出现故障则需要人为进行干预,而且一旦增加或者减少服务器的数量则需要对大量数据进行迁移,进而造成运维困难。综上所述,现有技术中所存在的缺点主要包括以下几方面:1.数据库出现故障时往往不能被运维人员即时发现,需要人为确定问题然后执行主从数据库切换方案,并且在进行数据库切换时需要多方配合完成,不能即时修复问题。2.由于数据库出现问题的时间不可预知,因而需要运维人员7×24小时值班检查,增加了人力监管的成本。3.由于现有技术方案不是分布式的,在应用和数据库之间还有一层单独的中间件,应用访问数据库是通过中间件进行访问的,所以单个中间件一旦故障则导致服务器不可用,而且所有请求都 ...
【技术保护点】
一种提升数据库可用性的方法,其特征在于,包括:数据库服务器每隔设定的时长将数据库可用性检测任务按照设定的规则发送给已建立数据库连接的客户端;所述数据库服务器接收到客户端所返回的数据库不可用的检测报告后,建立该数据库的异常检测任务,并将该异常检测任务分配给N个客户端;所述数据库服务器接收到所述N个客户端返回的所述数据库异常的检测报告后,根据所收到的数据库异常检测报告的数量判定该数据库为故障数据库,并将该数据库切换为该数据库的备用数据库。
【技术特征摘要】
1.一种提升数据库可用性的方法,其特征在于,包括:数据库服务器每隔设定的时长将数据库可用性检测任务按照设定的规则发送给已建立数据库连接的客户端;所述数据库服务器接收到客户端所返回的数据库不可用的检测报告后,建立该数据库的异常检测任务,并将该异常检测任务分配给N个客户端;所述数据库服务器接收到所述N个客户端返回的所述数据库异常的检测报告后,根据所收到的数据库异常检测报告的数量判定该数据库为故障数据库,并将该数据库切换为该数据库的备用数据库。2.根据权利要求1所述的方法,其特征在于,根据所收到的数据库异常检测报告的数量判定该数据库为故障数据库的步骤包括:判断所接收到的数据库异常检测报告的数量是否不小于(N+1)/2,并在数量不小于(N+1)/2时,判定该数据库为故障数据库;所述N为不小于3的奇数。3.根据权利要求1所述的方法,其特征在于,数据库服务器每隔设定的第一时长将数据库可用性检测任务按照设定的规则发送给已建立数据库连接的客户端的步骤之前还包括:数据库服务器接收客户端所注册的客户端信息,并根据客户端信息确定已建立数据库连接的客户端的数量。4.根据权利要求1所述的方法,其特征在于,将该数据库切换为该数据库的备用数据库的步骤之后还包括:数据库服务器记录执行日志;所述执行日志包括数据库切换日志和数据库调度日志。5.根据权利要求3所述的方法,其特征在于,数据库服务器接收客户端所注册的客户端信息的步骤之后还包括:数据库服务器将所述接收到的客户端信息存储于备用服务器中。6.根据权利要求5所述方法,其特征在于,数据库服务器将所述接收到的客户端信息存储于备用服务器中的步骤之后还包括:在数据库服务器发生故障的情况下,将备用服务器作为数据库服务器提供服务。7.根据权利要求5...
【专利技术属性】
技术研发人员:张伟,
申请(专利权)人:北京京东尚科信息技术有限公司,北京京东世纪贸易有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。