元数据的管理方法、设备及计算机可读介质技术

技术编号:18732458 阅读:22 留言:0更新日期:2018-08-22 03:02
本发明专利技术提供一种元数据的管理方法、设备及计算机可读介质。其方法包括:接收用户对元数据的操作请求;根据元数据的操作请求,对内存中存储的树状结构的元数据进行修改;根据元数据的操作请求,生成对应的日志,并写入磁盘中。与现有技术的采用第三范式的关系表存储的元数据相比,本发明专利技术的管理的元数据以树状结构存储在内存中,这样可以保证在访问时,避免使用大量的join语句,能够有效地提高元数据的访问效率。而且本发明专利技术中,还根据元数据的操作请求,生成对应的日志,并写入磁盘,可以在元数据对应的进程杀死或者单击宕机时,帮助恢复内存中的元数据,以保证元数据的持久性和安全性,避免了元数据完全丢失的风险。

Metadata management method, device and computer-readable medium

The invention provides a metadata management method, device and computer-readable medium. The method includes: receiving user's operation request for metadata; modifying the tree structure metadata stored in memory according to the operation request of metadata; generating the corresponding log according to the operation request of metadata and writing it to disk. Compared with the metadata stored in relational tables with the third paradigm in the prior art, the metadata managed by the present invention is stored in memory in a tree structure, which can ensure that a large number of join statements are avoided during the access, and the access efficiency of the metadata can be effectively improved. In addition, according to the operation request of metadata, the corresponding log is generated and written to disk, which can help recover the metadata in memory when the corresponding process of metadata kills or clicks downtime, so as to ensure the persistence and security of metadata and avoid the risk of complete loss of metadata.

【技术实现步骤摘要】
元数据的管理方法、设备及计算机可读介质
本专利技术涉及计算机应用
,尤其涉及一种元数据的管理方法、设备及计算机可读介质。
技术介绍
数据库软件在存储用户数据的同时,也要存储用于描述用户数据的信息,这些描述用户数据的信息可以称之为元数据。现有的元数据包括但不限于数据库名称、表名称、列信息、数据分布信息、用户权限信息以及各种用于描述当前数据库状态的信息。元数据对于数据库非常重要,用户的几乎所有的对数据库的操作如查询、导入数据等,都需要访问元数据,并根据元数据访问对应的数据。鉴于元数据的重要性,元数据的管理至少应该满足如下需求:高效的访问,以保证数据库的使用性能;特有的持久化,以保证元数据不可丢失,尤其是存储元数据的单机在宕机恢复后依然能够存在。图1为现有技术中的元数据在关系数据库中的表结构。如图1所示,现有的元数据存储以关系型数据库(如Mysql)的形式,存储在单机中。元数据以关系表的方式存储,并且符合数据库第三范式。但是,由于元数据的关系表采用第三范式设计,并且在访问特定元数据时,经常需要使用大量的join语句,导致元数据的访问效率很低。并且元数据本身是存储在磁盘等低速介质中的,本身存在访问的性能瓶颈。因此,导致现有的元数据的访问效率非常低。
技术实现思路
本专利技术提供了一种元数据的管理方法、设备及计算机可读介质。用于提高元数据的访问效率。本专利技术提供一种元数据的管理方法,所述方法包括:接收用户对元数据的操作请求;根据所述元数据的操作请求,对内存中存储的树状结构的元数据进行修改;并根据所述元数据的操作请求,生成对应的日志,并写入磁盘中。进一步可选地,如上所述的方法中,还包括:当所述元数据所在的单机宕机恢复后,按照各所述日志标识由小到大的顺序,依次从所述磁盘中读取各所述日志;各所述日志标识按照所述日志的生成时间由小到达递增;并按照读取顺序在所述内存中依次回放各所述日志的操作,恢复所述内存中的所述元数据。进一步可选地,如上所述的方法中,还包括:检测所述磁盘中的日志的条数是否达到预设阈值;若达到,进一步判断所述磁盘中是否存在元数据镜像;若存在,根据所述预设阈值条数的日志更新所述磁盘中的元数据镜像。进一步可选地,如上所述的方法中,还包括:若所述磁盘中不存在元数据镜像时,根据所述预设阈值条数的日志生成所述元数据镜像,并存储在所述磁盘中。进一步可选地,如上所述的方法中,还包括:记录所述元数据镜像对应的最大的日志标识;删除所述元数据镜像对应的各所述日志。进一步可选地,如上所述的方法中,还包括:当所述元数据所在的单机宕机恢复后,从所述磁盘中读取已有的所述元数据镜像;在所述内存中加载读取到的所述元数据镜像;从所述元数据镜像对应的最大的日志标识对应的日志之后的各所述日志中,按照各所述日志标识由小到大的顺序,依次读取各所述日志;并按照读取顺序依次在所述元数据镜像的基础上回放各所述日志对应的操作,进而在所述内存中恢复所述元数据。进一步可选地,如上所述的方法中,还包括:向其他单机上的备份前端节点发送所述元数据的操作请求对应的所述日志,以供所述其他单机上的其他备份前端节点在对应的内存中的元数据的基础上回放所述日志对应的操作,以同步所述其他单机上的所述元数据。本专利技术提供一种前端节点设备,所述设备包括:接收模块,用于接收用户对元数据的操作请求;元数据处理模块,用于根据所述元数据的操作请求,对内存中存储的树状结构的元数据进行修改;日志处理模块,用于根据所述元数据的操作请求,生成对应的日志,并写入磁盘中。进一步可选地,如上所述的设备中,还包括:读取模块,用于当所述元数据所在的单机宕机恢复后,按照各所述日志标识由小到大的顺序,依次从所述磁盘中读取各所述日志;各所述日志标识按照所述日志的生成时间由小到达递增;恢复模块,用于按照读取顺序在所述内存中依次回放各所述日志的操作,恢复所述内存中的所述元数据。进一步可选地,如上所述的设备中,还包括:检测模块,用于检测所述磁盘中的日志的条数是否达到预设阈值;所述检测模块,还用于若所述磁盘中的日志的条数达到所述预设阈值,进一步判断所述磁盘中是否存在元数据镜像;所述日志处理模块,用于若所述磁盘存在所述元数据镜像,根据所述预设阈值条数的日志更新所述磁盘中的元数据镜像。进一步可选地,如上所述的设备中,所述日志处理模块,还用于:若所述磁盘中不存在元数据镜像时,根据所述预设阈值条数的日志生成所述元数据镜像,并存储在所述磁盘中。进一步可选地,如上所述的设备中,所述设备还包括:记录模块,用于记录所述元数据镜像对应的最大的日志标识;删除模块,用于删除所述元数据镜像对应的各所述日志。进一步可选地,如上所述的设备中,所述设备还包括加载模块;所述读取模块,还用于当所述元数据所在的单机宕机恢复后,从所述磁盘中读取已有的所述元数据镜像;所述加载模块,用于在所述内存中加载读取到的所述元数据镜像;所述读取模块,还用于从所述元数据镜像对应的最大的日志标识对应的日志之后的各所述日志中,按照各所述日志标识由小到大的顺序,依次读取各所述日志;所述恢复模块,还用于按照读取顺序依次在所述元数据镜像的基础上回放各所述日志对应的操作,进而在所述内存中恢复所述元数据。进一步可选地,如上所述的设备中,还包括:发送模块,用于向其他单机上的备份前端节点发送所述元数据的操作请求对应的所述日志,以供所述其他单机上的其他备份前端节点在对应的内存中的元数据的基础上回放所述日志对应的操作,以同步所述其他单机上的所述元数据。本专利技术还提供一种计算机设备,所述设备包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上所述的元数据的管理方法。本专利技术还提供一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的元数据的管理方法。本专利技术的元数据的管理方法、设备及计算机可读介质,通过接收用户对元数据的操作请求;根据元数据的操作请求,对内存中存储的树状结构的元数据进行修改;根据元数据的操作请求,生成对应的日志,并写入磁盘中。与现有技术的采用第三范式的关系表存储的元数据相比,本专利技术的管理的元数据以树状结构存储在内存中,这样可以保证在访问时,避免使用大量的join语句,能够有效地提高元数据的访问效率。而且本专利技术中,还根据元数据的操作请求,生成对应的日志,并写入磁盘,可以在元数据对应的进程杀死或者单击宕机时,帮助恢复内存中的元数据,以保证元数据的持久性和安全性,避免了元数据完全丢失的风险。【附图说明】图1为现有技术中的元数据在关系数据库中的表结构。图2为本专利技术的元数据的管理方法实施例一的流程图。图3为本专利技术实施例提供的一种元数据的结构。图4为本专利技术的元数据的管理方法实施例二的流程图。图5为本专利技术的元数据的管理方法实施例三的流程图。图6为本专利技术的元数据的管理方法实施例四的流程图。图7为本专利技术的元数据的高可用的场景图。图8为本专利技术的前端节点设备实施例一的结构图。图9为本专利技术的前端节点设备实施例二的结构图。图10为本专利技术的计算机设备实施例的结构图。图11为本专利技术提供的一种计算机设备的示例图。【具体实施方式】为了使本专利技术的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本本文档来自技高网...

【技术保护点】
1.一种元数据的管理方法,其特征在于,所述方法包括:接收用户对元数据的操作请求;根据所述元数据的操作请求,对内存中存储的树状结构的元数据进行修改;并根据所述元数据的操作请求,生成对应的日志,并写入磁盘中。

【技术特征摘要】
1.一种元数据的管理方法,其特征在于,所述方法包括:接收用户对元数据的操作请求;根据所述元数据的操作请求,对内存中存储的树状结构的元数据进行修改;并根据所述元数据的操作请求,生成对应的日志,并写入磁盘中。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:当所述元数据所在的单机宕机恢复后,按照各所述日志标识由小到大的顺序,依次从所述磁盘中读取各所述日志;各所述日志标识按照所述日志的生成时间由小到达递增;并按照读取顺序在所述内存中依次回放各所述日志的操作,恢复所述内存中的所述元数据。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:检测所述磁盘中的日志的条数是否达到预设阈值;若达到,进一步判断所述磁盘中是否存在元数据镜像;若存在,根据所述预设阈值条数的日志更新所述磁盘中的元数据镜像。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:若所述磁盘中不存在元数据镜像时,根据所述预设阈值条数的日志生成所述元数据镜像,并存储在所述磁盘中。5.根据权利要求3或者4所述的方法,其特征在于,所述方法还包括:记录所述元数据镜像对应的最大的日志标识;删除所述元数据镜像对应的各所述日志。6.根据权利要求5所述的方法,其特征在于,所述方法还包括:当所述元数据所在的单机宕机恢复后,从所述磁盘中读取已有的所述元数据镜像;在所述内存中加载读取到的所述元数据镜像;从所述元数据镜像对应的最大的日志标识对应的日志之后的各所述日志中,按照各所述日志标识由小到大的顺序,依次读取各所述日志;并按照读取顺序依次在所述元数据镜像的基础上回放各所述日志对应的操作,进而在所述内存中恢复所述元数据。7.根据权利要求1-4和6任一所述的方法,其特征在于,所述方法还包括:向其他单机上的备份前端节点发送所述元数据的操作请求对应的所述日志,以供所述其他单机上的其他备份前端节点在对应的内存中的元数据的基础上回放所述日志对应的操作,以同步所述其他单机上的所述元数据。8.一种前端节点设备,其特征在于,所述设备包括:接收模块,用于接收用户对元数据的操作请求;元数据处理模块,用于根据所述元数据的操作请求,对内存中存储的树状结构的元数据进行修改;日志处理模块,用于根据所述元数据的操作请求,生成对应的日志,并写入磁盘中。9.根据权利要求8所述的设备,其特征在于,所述设备还包括:读取模块,用于当所述元数据...

【专利技术属性】
技术研发人员:陈明雨马如悦牟宇航
申请(专利权)人:百度在线网络技术北京有限公司
类型:发明
国别省市:北京,11

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

1