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

技术编号:18007088 阅读:121 留言:0更新日期:2018-05-21 07:43
本发明专利技术涉及数据库领域,提供了一种数据库访问方法、装置、计算机可读存储介质和计算设备,以提高数据库的整体访问效率。所述方法包括:在服务启动时,将磁盘数据库中的数据迁移至本地设备的共享内存;监控数据库查询请求;根据数据库查询请求,从共享内存获取数据库查询请求所请求查询的数据;若从共享内存获取到数据库查询请求所请求查询的数据,则对从共享内存获取到的数据进行处理。本发明专利技术提供的技术方案一方面极大地减小了网络I/O的时间开销;另一方面,通过从内存去命中所请求查询的数据而不再访问磁盘,免去了磁盘I/O的时间开销,从而整体提升了数据库的访问效率。

【技术实现步骤摘要】
数据库访问方法、装置、计算机可读存储介质和计算设备
本专利技术属于数据库领域,尤其涉及一种数据库访问方法、装置、计算机可读存储介质和计算设备。
技术介绍
数据库是长期储存在计算机内、有组织的、可共享的数据集合。数据库中的数据指的是以一定的数据模型组织、描述和储存在一起、具有尽可能小的冗余度、较高的数据独立性和易扩展性的特点并可在一定范围内为多个用户共享。现有的数据库系统从存储介质来分包括磁盘数据库(DiskResidentDatabase,DRDB)和内存数据库(MainMemoryDatabase,MMDB),其中,DRDB的数据的主拷贝在磁盘上,数据库管理系统为了向应用系统提供存取服务,将用户需要访问的数据装入主存中,即对数据的管理是“基于磁盘的缓存技术”,而MMDB中,数据库的全部或活动事务存取的数据放于内存中,如此,事务对磁盘的访问完全取消了。众所周知,磁盘相对于主存而言是极其低速的存储介质,且磁盘存取速度还和欲存取的数据的物理位置和当前磁头状态有关。此外,无论是在操作系统(OS)层,还是数据库管理系统层,管理缓存(cache)或缓冲(buffer),都需要付出较大的代价(时间和/或空间代价,尤以时间代价为甚)。而对于MMDB,在设备断电时数据将会丢失,数据容量受主存大小限制,无法实现主、备机同步,且无法和市场上的关系型数据库配合工作。综上所述,现有的磁盘数据库和内存数据库各有其固有缺陷。
技术实现思路
本专利技术提供一种数据库访问方法、装置、计算机可读存储介质及计算设备,以提高数据库的整体访问效率。本专利技术第一方面提供了一种数据库访问方法,所述方法包括:在服务启动时,将磁盘数据库中的数据迁移至本地设备的共享内存;监控数据库查询请求;根据所述数据库查询请求,从所述共享内存获取所述数据库查询请求所请求查询的数据;若从所述共享内存获取到所述数据库查询请求所请求查询的数据,则对从所述共享内存获取到的数据进行处理。结合本专利技术第一方面,在第一方面的第一种实施方式中,所述在服务启动时,将磁盘数据库中的数据迁移至本地设备的共享内存,包括:将所述磁盘数据库中的模型数据加载至所述本地设备的共享内存;在所述本地设备的共享内存中建立与所述磁盘数据库中数据表的字段索引对应的索引。结合本专利技术第一方面,在第一方面的第二种实施方式中,所述根据所述数据库查询请求,从所述共享内存获取所述数据库查询请求所请求查询的数据,包括:判断所述数据库查询请求所请求查询的数据是否位于所述本地设备的共享内存;若所述数据库查询请求所请求查询的数据位于所述本地设备的共享内存,则将所述共享内存映射至用户进程空间,从所述本地设备的共享内存查询所述数据库查询请求所请求查询的数据。结合本专利技术第一方面的第二种实施方式,在第一方面的第三种实施方式中,所述方法还包括:若所述数据库查询请求所请求查询的数据不在所述本地设备的共享内存,则将所述数据库查询请求转发给与所述数据库查询请求对应的服务。本专利技术第二方面提供了一种数据库访问装置,所述装置包括:数据迁移模块,用于在服务启动时,将磁盘数据库中的数据迁移至本地设备的共享内存;监控模块,用于监控数据库查询请求;数据获取模块,用于根据所述数据库查询请求,从所述共享内存获取所述数据库查询请求所请求查询的数据;数据处理模块,用于若从所述共享内存获取到所述数据库查询请求所请求查询的数据,则对从所述共享内存获取到的数据进行处理。结合本专利技术第二方面,在第二方面的第一种实施方式中,所述数据迁移模块包括:加载单元,用于将所述磁盘数据库中的模型数据加载至所述本地设备的共享内存;建立单元,用于在所述本地设备的共享内存中建立与所述磁盘数据库中数据表的字段索引对应的索引。结合本专利技术第二方面,在第二方面的第二种实施方式中,所述数据获取模块包括:判断单元,用于判断所述数据库查询请求所请求查询的数据是否位于所述本地设备的共享内存;查询单元,用于若所述数据库查询请求所请求查询的数据位于所述本地设备的共享内存,则将所述共享内存映射至用户进程空间,从所述本地设备的共享内存查询所述数据库查询请求所请求查询的数据。结合本专利技术第二方面的第二种实施方式,在第二方面的第三种实施方式中,所述装置包括:转发模块,用于若所述数据库查询请求所请求查询的数据不在所述本地设备的共享内存,则将所述数据库查询请求转发给与所述数据库查询请求对应的服务。本专利技术第三方面提供了一种计算设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:在服务启动时,将磁盘数据库中的数据迁移至本地设备的共享内存;监控数据库查询请求;根据所述数据库查询请求,从所述共享内存获取所述数据库查询请求所请求查询的数据;若从所述共享内存获取到所述数据库查询请求所请求查询的数据,则对从所述共享内存获取到的数据进行处理。结合本专利技术第三方面,在第三方面的第一种实施方式中,所述在服务启动时,将磁盘数据库中的数据迁移至本地设备的共享内存,包括:将所述磁盘数据库中的模型数据加载至所述本地设备的共享内存;在所述本地设备的共享内存中建立与所述磁盘数据库中数据表的字段索引对应的索引。结合本专利技术第三方面,在第三方面的第二种实施方式中,所述根据所述数据库查询请求,从所述共享内存获取所述数据库查询请求所请求查询的数据,包括:判断所述数据库查询请求所请求查询的数据是否位于所述本地设备的共享内存;若所述数据库查询请求所请求查询的数据位于所述本地设备的共享内存,则将所述共享内存映射至用户进程空间,从所述本地设备的共享内存查询所述数据库查询请求所请求查询的数据。结合本专利技术第三方面的第二种实施方式,在第三方面的第三种实施方式中,所述方法还包括:若所述数据库查询请求所请求查询的数据不在所述本地设备的共享内存,则将所述数据库查询请求转发给与所述数据库查询请求对应的服务。本专利技术实施例的第四方面提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现以下方法的步骤:在服务启动时,将磁盘数据库中的数据迁移至本地设备的共享内存;监控数据库查询请求;根据所述数据库查询请求,从所述共享内存获取所述数据库查询请求所请求查询的数据;若从所述共享内存获取到所述数据库查询请求所请求查询的数据,则对从所述共享内存获取到的数据进行处理。结合本专利技术第四方面,在第四方面的第一种实施方式中,所述在服务启动时,将磁盘数据库中的数据迁移至本地设备的共享内存,包括:将所述磁盘数据库中的模型数据加载至所述本地设备的共享内存;在所述本地设备的共享内存中建立与所述磁盘数据库中数据表的字段索引对应的索引。结合本专利技术第四方面,在第四方面的第二种实施方式中,所述根据所述数据库查询请求,从所述共享内存获取所述数据库查询请求所请求查询的数据,包括:判断所述数据库查询请求所请求查询的数据是否位于所述本地设备的共享内存;若所述数据库查询请求所请求查询的数据位于所述本地设备的共享内存,则将所述共享内存映射至用户进程空间,从所述本地设备的共享内存查询所述数据库查询请求所请求查询的数据。结合本专利技术第四方面的第二种实施方式,在第四方面的第三种实施方式中,所述方法还包括:若所述数据库查询请求所请求查询的数据不在所述本地设备的本文档来自技高网...
数据库访问方法、装置、计算机可读存储介质和计算设备

【技术保护点】
一种数据库访问方法,其特征在于,所述方法包括:在服务启动时,将磁盘数据库中的数据迁移至本地设备的共享内存;监控数据库查询请求;根据所述数据库查询请求,从所述共享内存获取所述数据库查询请求所请求查询的数据;若从所述共享内存获取到所述数据库查询请求所请求查询的数据,则对从所述共享内存获取到的数据进行处理。

【技术特征摘要】
1.一种数据库访问方法,其特征在于,所述方法包括:在服务启动时,将磁盘数据库中的数据迁移至本地设备的共享内存;监控数据库查询请求;根据所述数据库查询请求,从所述共享内存获取所述数据库查询请求所请求查询的数据;若从所述共享内存获取到所述数据库查询请求所请求查询的数据,则对从所述共享内存获取到的数据进行处理。2.如权利要求1所述数据库访问方法,其特征在于,所述在服务启动时,将磁盘数据库中的数据迁移至本地设备的共享内存,包括:将所述磁盘数据库中的模型数据加载至所述本地设备的共享内存;在所述本地设备的共享内存中建立与所述磁盘数据库中数据表的字段索引对应的索引。3.如权利要求1所述数据库访问方法,其特征在于,所述根据所述数据库查询请求,从所述共享内存获取所述数据库查询请求所请求查询的数据,包括:判断所述数据库查询请求所请求查询的数据是否位于所述本地设备的共享内存;若所述数据库查询请求所请求查询的数据位于所述本地设备的共享内存,则将所述共享内存映射至用户进程空间,从所述本地设备的共享内存查询所述数据库查询请求所请求查询的数据。4.如权利要求3所述数据库访问方法,其特征在于,所述方法还包括:若所述数据库查询请求所请求查询的数据不在所述本地设备的共享内存,则将所述数据库查询请求转发给与所述数据库查询请求对应的服务。5.一种数据库访问装置,其特征在于,所述装置包括:数据迁移模块,用于在服务启动时,将磁盘数据库中的数据迁移至本地设备的共享内存;监控模块,用于监控数据库查询请求;数据获取模块,用...

【专利技术属性】
技术研发人员:徐阳周正龙林峰平张孝山刘正方
申请(专利权)人:深圳市康必达控制技术有限公司
类型:发明
国别省市:广东,44

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

1