数据库访问控制方法、装置、系统、设备及计算机可读介质制造方法及图纸

技术编号:18972490 阅读:31 留言:0更新日期:2018-09-19 03:40
本发明专利技术提出一种数据库访问控制方法,包括:接收业务端的数据访问请求;如果所述数据访问请求符合缓存查询规则,则在分布式缓存系统中处理所述数据访问请求;如果所述数据访问请求不符合缓存查询规则,则在MySQL数据库中处理所述数据访问请求;其中,所述MySQL数据库中的数据与所述分布式缓存系统中的数据同步。

Database access control method, device, system, device and computer-readable medium

The invention provides a database access control method, including: receiving data access requests from the service side; processing the data access requests in a distributed cache system if the data access requests conform to the cache query rules; and MySQL database if the data access requests do not conform to the cache query rules The data access request is processed in which the data in the MySQL database is synchronized with the data in the distributed cache system.

【技术实现步骤摘要】
数据库访问控制方法、装置、系统、设备及计算机可读介质
本专利技术涉及数据库
,尤其涉及一种数据库访问控制方法及装置、设备和计算机可读介质。
技术介绍
伴随着互联网的飞速发展,承载核心业务数据的DB(database,数据库)面临着越来越严峻的考验。综合业务应用对数据库系统的需求主要包括:高并发、高性能访问、高可用性、系统的可扩展性、服务稳定性,以及同构或异构系统的数据一致性等。为了应对以上业务应用的需求,各种数据库系统应运而生,综合这些数据库系统的应用场景和特点,主要存在如下问题:内存资源共享问题、数据一致性问题、高并发性能、可扩展性、业务场景限制问题。针对上述问题,现有技术中主要采用的处理方式包括:采用固态硬盘(SSD,solidstatedrives)作为辅助缓存区、将SQL数据向NoSQL(NotOnlySQL,非关系型数据库)数据进行映射、列存储索引、分布式数据库集群等。然而,采用SSD的方式无法绕过SSD的IO读写瓶颈,数据维护开销大,复杂度高。采用SQL数据导入NoSQL系统的方式,数据同步的时效性低。采用列存储索引的方式,会存在数据类型限制等问题。采用分布式数据库集群的方式,所有的索引数据必须基于内存,数据变更带来的索引变更负责度高,且业务场景受限。
技术实现思路
本专利技术实施例提供一种数据库访问控制方法、装置、设备及计算机可读介质,以解决或缓解现有技术中的一个或多个技术问题。第一方面,本专利技术实施例提供了一种数据库访问控制方法,包括:接收业务端的数据访问请求;如果所述数据访问请求符合缓存查询规则,则在分布式缓存系统中处理所述数据访问请求;如果所述数据访问请求不符合缓存查询规则,则在MySQL数据库中处理所述数据访问请求;其中,所述MySQL数据库中的数据与所述分布式缓存系统中的数据同步。结合第一方面,本专利技术在第一方面的第一种实施方式中,所述如果所述数据访问请求符合缓存查询规则,则在分布式缓存系统中处理所述数据访问请求的步骤,包括:判断所述数据访问请求中的读操作是否符合缓存查询规则;如果读操作符合缓存查询规则,则在分布式缓存系统中执行所述读操作。结合第一方面的第一种实施方式,本专利技术在第一方面的第二种实施方式中,所述如果所述数据访问请求不符合缓存查询规则,则在MySQL数据库中处理所述数据访问请求的步骤,还包括:如果读操作不符合缓存查询规则,则在MySQL数据库中执行所述读操作。结合第一方面,本专利技术在第一方面的第三种实施方式中,还包括:将MySQL数据库中的数据同步至所述分布式缓存系统。结合第一方面的第三种实施方式,本专利技术在第一方面的第四种实施方式中,所述将MySQL数据库中的数据同步至所述分布式缓存系统的步骤,包括:从MySQL从库中获取数据;将MySQL从库的数据转化为符合分布式缓存系统的规则的数据格式;将转换后的数据同步至所述分布式缓存系统中;记录同步节点,以实现断点续传功能。结合第一方面的第四种实施方式,本专利技术在第一方面的第五种实施方式中,还包括:监控从MySQL数据库向分布式缓存系统同步数据的状态;如果监控到MySQL数据库与分布式缓存系统的数据不同步,则禁止访问分布式缓存系统。第二方面,本专利技术实施例提供了一种数据库访问控制装置,包括:请求接收模块,用于接收业务端的数据访问请求;请求处理模块,用于如果所述数据访问请求符合缓存查询规则,则在分布式缓存系统中处理所述数据访问请求;如果所述数据访问请求不符合缓存查询规则,则在MySQL数据库中处理所述数据访问请求;其中,所述MySQL数据库中的数据与所述分布式缓存系统中的数据同步。结合第二方面,本专利技术在第二方面的第一种实施方式中,所述请求处理模块包括:查询规则判断模块,用于判断所述数据访问请求中的读操作是否符合缓存查询规则;第一查询控制模块,用于如果读操作符合缓存查询规则,则在分布式缓存系统中执行所述读操作。结合第二方面的第一种实施方式,本专利技术在第二方面的第二种实施方式中,所述请求处理模块还包括:第二查询控制模块,用于如果读操作不符合缓存查询规则,则在MySQL数据库中执行所述读操作。结合第二方面,本专利技术在第二方面的第三种实施方式中,还包括:同步中间件,用于将MySQL数据库中的数据同步至所述分布式缓存系统。结合第二方面的第三种实施方式,本专利技术在第二方面的第四种实施方式中,所述同步中间件包括:数据获取子模块,用于从MySQL从库中获取数据;转换子模块,用于将MySQL从库的数据转化为符合分布式缓存系统规则的数据格式;同步子模块,用于将转换后的数据同步至所述分布式缓存系统中;记录子模块,用于记录同步节点,以实现断点续传功能。结合第二方面的第四种实施方式,本专利技术在第二方面的第五种实施方式中,还包括:数据同步状态监控模块,用于监控从MySQL数据库向分布式缓存系统同步数据的状态;如果监控到MySQL数据库与分布式缓存系统的数据不同步,则禁止访问分布式缓存系统。第三方面,本专利技术实施例提供了一种数据库访问控制系统,包括:数据库代理集群,由多个数据库访问代理构成,用于接收业务端的数据访问请求;如果所述数据访问请求符合缓存查询规则,则在分布式缓存系统中处理所述数据访问请求;如果所述数据访问请求不符合缓存查询规则,则在MySQL数据库中处理所述数据访问请求;MySQL数据库,用于存储业务数据,对从数据库代理集群收到的数据访问请求进行处理;缓存服务代理集群,与所述数据库代理集群相通信,用于从所述数据库代理集群接收符合缓存查询规则的数据访问请求;分布式缓存系统,由多个分布式缓存集群构成,对从缓存服务代理集群收到的数据访问请求进行处理;同步中间件,用于将MySQL数据库中的数据同步至所述分布式缓存系统中。结合第三方面,本专利技术在第三方面的第一种实施方式中,所述数据库代理集群包括:查询规则判断模块,用于判断所述数据访问请求中的读操作是否符合缓存查询规则;第一查询控制模块,用于如果读操作符合缓存查询规则,则在分布式缓存系统中执行所述读操作。结合第三方面的第一种实施方式,本专利技术在第三方面的第二种实施方式中,所述数据库代理集群包括:第二查询控制模块,用于如果读操作不符合缓存查询规则,则在MySQL数据库中执行所述读操作。结合第三方面,本专利技术在第三方面的第三种实施方式中,所述MySQL数据库包括:MySQL主库,用于执行写操作数据请求;MySQL从库,用于执行读操作数据请求;数据同步插件,用于将MySQL主库的数据同步至所述MySQL从库中。结合第三方面,本专利技术在第三方面的第四种实施方式中,所述同步中间件包括:数据获取子模块,用于从MySQL从库中获取数据;转换子模块,用于将MySQL从库的数据转化为符合分布式缓存系统规则的数据格式;同步子模块,用于将转换后的数据同步至所述分布式缓存系统中;记录子模块,用于记录同步节点,以实现断点续传功能。结合第三方面,本专利技术在第三方面的第五种实施方式中,还包括:数据同步状态监控模块,用于监控从MySQL数据库向分布式缓存系统同步数据的状态;如果监控到MySQL数据库与分布式缓存系统的数据不同步,则禁止访问分布式缓存系统。所述装置的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对本文档来自技高网...

【技术保护点】
1.一种数据库访问控制方法,其特征在于,包括:接收业务端的数据访问请求;如果所述数据访问请求符合缓存查询规则,则在分布式缓存系统中处理所述数据访问请求;如果所述数据访问请求不符合缓存查询规则,则在MySQL数据库中处理所述数据访问请求;其中,所述MySQL数据库中的数据与所述分布式缓存系统中的数据同步。

【技术特征摘要】
1.一种数据库访问控制方法,其特征在于,包括:接收业务端的数据访问请求;如果所述数据访问请求符合缓存查询规则,则在分布式缓存系统中处理所述数据访问请求;如果所述数据访问请求不符合缓存查询规则,则在MySQL数据库中处理所述数据访问请求;其中,所述MySQL数据库中的数据与所述分布式缓存系统中的数据同步。2.根据权利要求1所述的数据库访问控制方法,其特征在于,所述如果所述数据访问请求符合缓存查询规则,则在分布式缓存系统中处理所述数据访问请求的步骤,包括:判断所述数据访问请求中的读操作是否符合缓存查询规则;如果读操作符合缓存查询规则,则在分布式缓存系统中执行所述读操作。3.根据权利要求2所述的数据库访问控制方法,其特征在于,所述如果所述数据访问请求不符合缓存查询规则,则在MySQL数据库中处理所述数据访问请求的步骤,还包括:如果读操作不符合缓存查询规则,则在MySQL数据库中执行所述读操作。4.根据权利要求1所述的数据库访问控制方法,其特征在于,还包括:将MySQL数据库中的数据同步至所述分布式缓存系统。5.根据权利要求4所述的数据库访问控制方法,其特征在于,所述将MySQL数据库中的数据同步至所述分布式缓存系统的步骤,包括:从MySQL从库中获取数据;将MySQL从库的数据转化为符合分布式缓存系统的规则的数据格式;将转换后的数据同步至所述分布式缓存系统中;记录同步节点,以实现断点续传功能。6.根据权利要求5所述的数据库访问控制方法,其特征在于,还包括:监控从MySQL数据库向分布式缓存系统同步数据的状态;如果监控到MySQL数据库与分布式缓存系统的数据不同步,则禁止访问分布式缓存系统。7.一种数据库访问控制装置,其特征在于,包括:请求接收模块,用于接收业务端的数据访问请求;请求处理模块,用于如果所述数据访问请求符合缓存查询规则,则在分布式缓存系统中处理所述数据访问请求;如果所述数据访问请求不符合缓存查询规则,则在MySQL数据库中处理所述数据访问请求;其中,所述MySQL数据库中的数据与所述分布式缓存系统中的数据同步。8.根据权利要求7所述的数据库访问控制装置,其特征在于,所述请求处理模块包括:查询规则判断模块,用于判断所述数据访问请求中的读操作是否符合缓存查询规则;第一查询控制模块,用于如果读操作符合缓存查询规则,则在分布式缓存系统中执行所述读操作。9.根据权利要求8所述的数据库访问控制装置,其特征在于,所述请求处理模块还包括:第二查询控制模块,用于如果读操作不符合缓存查询规则,则在MySQL数据库中执行所述读操作。10.根据权利要求7所述的数据库访问控制装置,其特征在于,还包括:同步中间件,用于将MySQL数据库中的数据同步至所述分布式缓存系统。11.根据权利要求10所述的数据库访问控制装置,其特征在于,所述同步中间件包括:数据获取子模块,用于从MySQL从库中获取数据;转换子模块,用于将MySQL从库的数据转化为符合分布式缓存系统规则的数据格式;同步子模块,用于将...

【专利技术属性】
技术研发人员:张健
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1