【技术实现步骤摘要】
一种日志写入及同步方法、装置、系统、计算机存储介质
本专利技术涉及计算机存储领域,尤其涉及一种基于固态硬盘的日志写入及同步方法、装置、系统、计算机存储介质。
技术介绍
在存储系统中,高可靠、高性能以及低成本是最重要的,也是相互矛盾的三大指标。日志(Journal)技术是保证系统高可靠和高性能的有效手段。很多存储系统引入了日志技术,如EXT3、EXT4、XFS、JFS、F2FS、NTFS、Btrfs、CEPH等。在日志技术中,存储系统对数据的操作(包括创建、追加、修改、删除等)都被首先封装成日志,并记录到日志盘中。每隔一定时间(或日志盘即将写满),存储系统会根据日志,将数据内容真正写入数据盘,该过程称为日志同步(sync)。最后一条被写入磁盘的日志被称为检查点,检查点之前的日志全部删除,检查点之后开始新日志记录周期。当发生系统错误时(如掉电),则在下次系统启动时就会通过日志同步将未完成的数据修改操作持久化到硬盘,这个过程一般只需要几秒钟(如常见的windows操作系统断电重启的磁盘检查)。因此,当数据修改操作被记录到日志盘时,无须实际写入数据盘,即可认为写入成功。在存储系统中,一种常规的平衡性能与成本的做法是使用固态硬盘(SolidStateDrives,简称为SSD)作为日志盘,使用传统硬盘(HardDiskDrive,简称为HDD)作为数据盘。由于每次写入操作首先为写入日志,即写入固态硬盘,可以充分发挥性能优势。固态硬盘一方面起到了缓存的作用,另一方面相较于内存作为缓存,固态硬盘具有非易失性的特点,因此比传统缓存可靠。在系统闲时将日志同步,数据异步写入磁 ...
【技术保护点】
1.一种日志写入方法,其特征在于,所述方法包括:从日志盘的变量区中读取已写入日志的终点页编号;将日志写入所述终点页编号所对应的数据区页面中,形成日志页;获取所述日志页对应的写入位置和日志页所属的数据区段编号,将所述日志页对应的写入位置和日志页所属的数据区段编号存储至日志盘的位图区中。
【技术特征摘要】
1.一种日志写入方法,其特征在于,所述方法包括:从日志盘的变量区中读取已写入日志的终点页编号;将日志写入所述终点页编号所对应的数据区页面中,形成日志页;获取所述日志页对应的写入位置和日志页所属的数据区段编号,将所述日志页对应的写入位置和日志页所属的数据区段编号存储至日志盘的位图区中。2.根据权利要求1所述的日志写入方法,其特征在于,所述方法还包括:在所述日志盘的变量区中,将所述已写入日志的终点页编号加1,并判断日志是否已写到日志盘的盘尾;如果日志已写到日志盘的盘尾,则将已写入日志的终点设置为盘头。3.根据权利要求1所述的日志写入方法,其特征在于,所述方法还包括:在日志盘的数据区中,判断处于空闲态的数据区页面的数量是否小于等于预设阈值;如果处于空闲态的数据区页面的数量小于等于预设阈值,则触发日志同步。4.根据权利要求1所述的日志写入方法,其特征在于,所述获取所述日志页对应的写入位置和日志页所属的数据区段编号,将所述日志页对应的写入位置和日志页所属的数据区段编号存储至日志盘的位图区中,包括:在日志盘的位图区中,确定所述日志页对应的位图编号,其中,所述日志页对应的位图编号等于所述已写入日志的终点页编号;获取所述日志页对应的写入位置和日志页所属的数据区段编号;在所述日志盘的位图区中,将所述日志页对应的写入位置和日志页所属的数据区段编号写入所述位图编号所指定的槽位中,并将所述槽位标记为已写入。5.根据权利要求1所述的日志写入方法,其特征在于,所述在所述日志盘的变量区中,将所述已写入日志的终点页编号加1,包括:在所述日志盘的变量区中,读取处于有效态的已写入日志的终点页编号,作为旧终点页编号;判断所述旧终点页编号所在的块中是否存在剩余空间;如果所述旧终点页编号所在的块中存在剩余空间,则在所述旧终点页编号的相邻下一个位置处写入新终点页编号,所述新终点页编号等于所述旧终点页编号加1;将所述旧终点页编号标记为无效,将所述新终点页编号标记为有效;如果所述旧终点页编号所在的块中不存在剩余空间,则在另一个块的首部写入新终点页编号,所述新终点页编号等于所述旧终点页编号加1;将所述旧终点页编号所在的块擦除,将所述新终点页编号标记为有效。6.一种日志同步方法,其特征在于,所述方法包括从日志盘的变量区中读取已写入日志的起点页编号和终点页编号;第一次遍历日志盘的位图区,查看从起点日志页至终点日志页对应的元数据,如果元数据中的写入位置有重复,则将旧元数据的是否覆盖写置为1;第二次遍历日志盘的位图区,如果遇到是否覆盖写为1的元数据,则跳过该元数据;否则,根据元数据中的写入位置和日志页所属的数据区段编号将相应日志页的内容写入数据盘;擦除日志盘的位图区和数据区中的内容,并修改所述日志盘的变量区中的变量,将已写入日志的起点页编号设置等于已写入日志的终点页编号。7.根据权利要求6所述的日志同步方法,其特征在于,第二次遍历日志盘的位图区之后,所述方法还包括:第三次遍历日志盘的位图区,统计各日志页所属的数据区段编号的出现次数;如果日志页所属的数据区段编号的出现次数大于等于预设阈值,则通知内存在下一次日志同步之前保留该数据区段编号对应的文件数据,并修改日志页对应的写入位置,将所述文件数据转储至高速存储介质。8.根据权利要求6所述的日志同步方法,其特征在于,第一次遍历日志盘的位图区之前,所述方法还包括:比较所述已写入日志的起点页编号和终点页编号是否相同;如果所述已写入日志的起点页编号和终点页编号不相同,则进行第一次遍历日志盘。9.根据权利要求6所述的日志同步方法,其特征在于,所述擦除日志盘的位图区和数据区中的内容,包括:读取已写入日志的起点页编号和终点页编号;在数据区中,将起点页编号所在的块擦除,将起点页编号所在的块的相邻下一个块擦除,直至将终点页编号所在的块的相邻前一个块擦除;判断终点页编号是否位于块的最后一页;如果终点页编号位于块的最后一页,则将终点页编号所在的块擦除;在位图区中,将与起点页编号相等的位图编号所在的块擦除,依次擦除相邻...
【专利技术属性】
技术研发人员:杨洪章,罗圣美,江滢,
申请(专利权)人:中兴通讯股份有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。