1 .一种基于对象存储的缓冲区管理方法,其特征在于,包括:
将数据库的元数据按层次结构划分为根元数据和次级元数据,所述根元数据记录第一
版本号以及指向所述次级元数据的指针,所述次级元数据通过缓冲区进行管理;
对于所述缓冲区的每个数据修改操作,生成与各个数据修改操作相对应的日志;
将所述缓冲区映射为对象存储的一个虚拟目录,将所述日志按第二版本号存储于所述
虚拟目录下,并将所述缓冲区的数据修改记录存储于共享内存的HashMap中;
当对所述元数据进行更新时,对所述根元数据和所述次级元数据的引用关系进行维
护;
当读取所述缓冲区的数据时,依次读取有效的日志版本,按所述第二版本号逐步回放,
生成最新第二版本号对应的数据并返回至用户。
2 .如权利要求1所述的基于对象存储的缓冲区管理方法,其特征在于,所述将所述日志
按第二版本号存储于所述虚拟目录下,包括:
当满足预设条件时,根据HashMap中的记录,将所有日志按第二版本号一次性写入至所
述对象存储对应的虚拟目录下。
3 .如权利要求1所述的基于对象存储的缓冲区管理方法,其特征在于,所述对所述根元
数据和所述次级元数据的引用关系进行维护,包括:
当所述次级元数据进行修改时,触发对所述根元数据的第一版本号的更新。
4 .如权利要求1所述的基于对象存储的缓冲区管理方法,其特征在于,所述方法还包
括:
当进行数据刷盘时,对所述根元数据的第一版本号进行更新;
若读取的数据的第一版本号小于当前第一版本号,则丢弃所述读取的数据。
5 .如权利要求1所述的基于对象存储的缓冲区管理方法,其特征在于,所述方法还包
括:
对每条数据记录设置事务号;
当读取数据时,根据当前事务的内容,基于所述事务号对所述数据记录进行过滤,返回
对所述当前事务可见的相关数据记录。
6 .如权利要求1至5中任一项所述的基于对象存储的缓冲区管理方法,其特征在于,所
述方法还包括:
当写集群对数据进行修改时,该写集群向读集群发送更新通知,该读集群放弃当前所
述缓冲区的数据,并从该写集群或对象存储中重新加载最新数据。
7 .如权利要求1至5中任一项所述的基于对象存储的缓冲区管理方法,其特征在于,所
述方法还包括:
当事务开始执行时,读集群直接从对象存储中读取所述根元数据的第一版本号,将读
取的第一版本号与缓冲区中保存的第一版本号进行比较;
若所述读取的第一版本号比所述缓冲区中保存的第一版本号新,则读集群同步所述次
级元数据。
8.一种基于对象存储的缓冲区管理装置,其特征在于,包括:
划分模块,用于将数据库的元数据按层次结构划分为根元数据和次级元数据,所述根
元数据记录第一版本号以及指向所述次级元数据的指针,所述次级元数据通过缓冲区进行
权 利 要 求 书
1/2 页
2
评论