CN105260882B - 一种邮件高效处理方法 - Google Patents

一种邮件高效处理方法 Download PDF

Info

Publication number
CN105260882B
CN105260882B CN201510801284.9A CN201510801284A CN105260882B CN 105260882 B CN105260882 B CN 105260882B CN 201510801284 A CN201510801284 A CN 201510801284A CN 105260882 B CN105260882 B CN 105260882B
Authority
CN
China
Prior art keywords
data
logical
mail
library
group
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510801284.9A
Other languages
English (en)
Other versions
CN105260882A (zh
Inventor
陈虹宇
罗阳
苗宁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sichuan Shenhu Technology Co.,Ltd.
Original Assignee
SICHUAN SHENHU TECHNOLOGY Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SICHUAN SHENHU TECHNOLOGY Co Ltd filed Critical SICHUAN SHENHU TECHNOLOGY Co Ltd
Priority to CN201510801284.9A priority Critical patent/CN105260882B/zh
Publication of CN105260882A publication Critical patent/CN105260882A/zh
Application granted granted Critical
Publication of CN105260882B publication Critical patent/CN105260882B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明提供了一种邮件高效处理方法,该方法包括:将邮件存储系统的存储阵列中的一个存储区作为逻辑存储区,在更新源存储空间时,将邮件数据写入逻辑存储区。本发明提出了一种邮件高效处理方法,保持了并行访问的低能耗,又解决了并行访问带来的局部写入问题,具有突出的写入性能和节能效率。

Description

一种邮件高效处理方法
技术领域
本发明涉及邮件存储,特别涉及一种邮件高效处理方法。
背景技术
邮件数据的快速增长,使邮件存储系统的能耗急剧增加,在邮件数据存储应用中,在满足性能需求及单盘容错条件下,存储阵列的并行访问数据排列会导致存储阵列基本执行读写操作:写新数据时,需要先读取对应的旧数据、旧误差校验数据,与新数据一起生成新的误差校验数据后再写入新的误差校验数据,严重影响了性能。为了提供额定的写入性能,存储阵列必须运行更多磁盘以弥补局部写入带来的性能损失,从而会消耗更多能量。因此,存储阵列的节能效率亟待提高。
发明内容
为解决上述现有技术所存在的问题,本发明提出了一种邮件高效处理方法,包括:
将邮件存储系统的存储阵列中的一个存储区作为逻辑存储区,在更新源存储空间时,将邮件数据写入逻辑存储区。
优选地,所述邮件存储系统由N块磁盘组成,将每个磁盘平均分成N+1个存储区,N个相同偏移量的存储区组成一个库,共组成N+1个库,选择其中一个作为逻辑库,其余为物理库,每个物理库包含1个误差校验区、N-1个数据区;在物理库i中,误差校验区记为PB i,位于磁盘N-1-i;第v个数据区记为DB(i,v),当i+v<N-1时,DB(i,v)位于磁盘v,否则位于磁盘v+1;其中,0≤i<N,0≤v<N-1;PB i的值由通过以下运算求得:
每个存储区包含M个大小相等的块,每个库中,相同偏移量的块集成一个条块;所述邮件存储系统采用如下并行访问数据来排列:将每个物理库中的N-1个数据区平均分成P组,每组包含Q个块;每组中偏移量相同的块能够被并行访问,每个条块中仅部分块提供并行性;
所述邮件存储系统仅对物理库进行分组,逻辑库不参与分组,也不参与编址,对邮件存储系统的上层应用是透明的;在组地址分配上,邮件存储系统采用以下策略,在每个物理库中,序号相邻的组的逻辑地址相邻;即库i中组p的存储区q中第m个块的逻辑地址为:NumB(M·Q·P·i+M·Q·p+Q·m+q);
其中NumB为块包含的数据块数,0≤p<P,0≤i<N,0≤q<Q,0≤m<M。
优选地,该方法还包括,在逻辑存储区写满后,修改映射表使所述逻辑存储区取代源存储空间,具体包括:
步骤(1).向某源存储库写数据时,数据写入对应的逻辑库;
步骤(2).根据写入数据、本次循环中逻辑库中已写数据的误差校验数据,生成逻辑库的新的误差校验数据;
步骤(3).如果逻辑库未写满,转到步骤(1);
步骤(4).如果逻辑库写满,修改地址映射关系,令逻辑库取代源存储库,本次循环结束;
步骤(5).被取代的源存储库此时无映射关系,在下一循环中作为逻辑库。
本发明相比现有技术,具有以下优点:
本发明提出了一种邮件高效处理方法,保持了并行访问的低能耗,又解决了并行访问带来的局部写入问题,具有突出的写入性能和节能效率。
附图说明
图1是根据本发明实施例的邮件高效处理方法的流程图。
具体实施方式
下文与图示本发明原理的附图一起提供对本发明一个或者多个实施例的详细描述。结合这样的实施例描述本发明,但是本发明不限于任何实施例。本发明的范围仅由权利要求书限定,并且本发明涵盖诸多替代、修改和等同物。在下文描述中阐述诸多具体细节以便提供对本发明的透彻理解。出于示例的目的而提供这些细节,并且无这些具体细节中的一些或者所有细节也可以根据权利要求书实现本发明。
本发明的一方面提供了一种邮件高效处理方法。图1是根据本发明实施例的邮件高效处理方法流程图。
本发明采用面向邮件数据存储的高效能存储阵列,采用了新的并行访问数据排列,并综合运用了以下策略,以实现高性能和高节能效率。在地址映射中将随机写入转化为顺序写入;将存储空间划分成多个相等的存储区,其中之一作为逻辑存储区,更新源存储空间时,数据写入逻辑存储区;逻辑存储区写满后,修改映射表使它取代源存储空间;下一个循环中,源存储空间作为逻辑存储区,缓存其他存储区的写数据:写数据与逻辑存储区已有误差校验数据一起生成新的误差校验数据,随着逻辑存储区中数据的增加,误差校验数据的误差校验范围也逐渐扩大。生成新的误差校验数据时无需读取旧数据,当采用流水方式读取逻辑存储区已有误差校验数据、写入新的误差校验数据时,可消除读误差校验数据对性能的影响;利用分段数据容错:联合逻辑存储区、源存储空间实现数据恢复。本发明的邮件存储系统保持了并行访问的低能耗,又解决了并行访问带来的局部写入问题,具有突出的写入性能和节能效率。
邮件存储系统实现方法主要包括数据排列、写操作过程、数据恢复3方面内容。其中,写操作过程又包括地址映射、远程数据更新、扩展误差校验。邮件存储系统由N块磁盘组成,每个磁盘平均分成N+1个存储区。N个相同偏移量的存储区组成一个库,共组成N+1个库,选择其中一个作为逻辑库,其余为物理库。每个物理库包含1个误差校验区、N-1个数据区。在物理库i中,误差校验区记为PB i,位于磁盘N-1-i;第v个数据区记为DB(i,v),当i+v<N-1时,DB(i,v)位于磁盘v,否则位于磁盘v+1。其中,0≤i<N,0≤v<N-1。PB i的值由通过异或运算求得:
令每个存储区包含M个大小相等的块,每个库中,相同偏移量的块集成一个条块。
为了提供合适的性能,邮件存储系统采用如下并行访问数据来排列:将每个物理库中的N-1个数据区平均分成P组,每组包含Q个块。每组中偏移量相同的块能够被并行访问,每个条块中仅部分块提供并行性。
邮件存储系统仅对物理库进行分组,逻辑库不参与分组,也不参与编址,对邮件存储系统的上层应用是透明的。在组地址分配上,邮件存储系统采用了以下策略:在每个物理库中,序号相邻的组的逻辑地址相邻。设NumB为块包含的数据块数,则库i,组p,存储区q中第m个块的逻辑地址为:NumB(M·Q·P·i+M·Q·p+Q·m+q);
这里,0≤p<P,0≤i<N,0≤q<Q,0≤m<M。
邮件存储系统的数据排列和编址方式能够提供足够的并行度,并且对于邮件数据存储应用,可保证I/O请求在很长的时间内集中在一个或几个组中,其他多数磁盘有足够长的待机时间,可调度到待机模式以节约能耗。
邮件存储系统的写操作过程综合运用了地址映射、远程数据更新、扩展误差校验等策略,生成误差校验数据时无需读取旧数据,当采用流水方式读取已有误差校验数据、写入新的误差校验数据时,可有效解决并行访问带来的局部写入问题。此外,地址映射将随机写入转换成顺序写入,又进一步提升了邮件存储系统的写入性能。
邮件存储系统以写新数据为主,较少进行改写操作,适合采用块集映射。地址映射信息为存储容量的8/(1024×x),其中,8个字节(64位)记录一个块集地址,x为块集大小以KB为单位。当邮件存储系统的存储容量为30TB、块集大小为64KB时,地址映射信息仅为3.67GB,适合采用固态硬盘进行存储,运行时甚至可以完全调入内存,以加快读、写操作中的地址转换速度。
将随机写入转换为顺序写入,需要面对垃圾回收问题,垃圾存储空间是由改写操作产生的,在邮件数据存储中,改写的数据量不大,可在负载低于预设阈值时进行垃圾回收;如果追求性能,也可牺牲少量存储空间而忽略垃圾回收。
地址映射将非连续的虚拟地址映射为连续的物理地址,并在映射表中记录映射关系。其中,虚拟地址为应用程序提交的读写请求地址,物理地址为数据在邮件存储系统内的存储地址。在此基础上,邮件存储系统执行数据更新:向某物理地址写数据时,数据不直接写入该地址,而是写入其逻辑地址(逻辑库中与其偏移量相同的地址),并在适当时候修改映射表,令逻辑地址取代该物理地址。
假设邮件存储系统由N块磁盘组成,划分出N+1个库,任取其中之一作为逻辑库,其余为物理库,则邮件存储系统的远程数据更新过程如下:
(1)向某源存储库写数据时,数据并不直接写入该库,而是写入逻辑库;
(2)根据写入数据、本次循环中逻辑库中已写数据的误差校验数据,生成逻辑库的新的误差校验数据;
(3)如果逻辑库未写满,转到步骤(1);
(4)否则,修改地址映射关系,令逻辑库取代源存储库,本次循环结束;
(5)被取代的源存储库此时无映射关系,可在下一循环中作为逻辑库。
在以上写操作过程中,由于进行了地址映射,所以是依次向每个物理库顺序写入入数据的,不会同时向两个物理库写数据,也不会在一个物理库未写满的情况下,向另外一个物理库写数据。
逻辑库的误差校验数据是根据本次循环中已写数据生成的,称为增量误差校验数据。写新数据时,可根据新数据、增量误差校验数据计算新的误差校验数据。随着写数据的增加,增量误差校验数据的误差校验范围也渐进扩大,直至扩展到整个逻辑库。
扩展误差校验数据时无需读取旧数据,仅需读取增量误差校验数据,因此可增加一个辅助缓存,与逻辑库中误差校验数据所在磁盘,以流水方式生成新的误差校验数据(1个读增量误差校验数据,1个写新的误差校验数据),此时,可有效消除读误差校验数据对写入性能的影响。
假设每个库包含3个组,辅助缓存暂存逻辑库中的增量误差校验数据。具体执行过程如下:
(1)向任一源存储库的组0写数据时,数据写入逻辑库的组0,并生成组0的误差校验,写入逻辑库的误差校验区;
(2)组0写满后,向源存储库的组1写数据时,数据写入逻辑库的组1,并根据写数据、增量误差校验(组0的误差校验,在逻辑库的误差校验区),生成新的误差校验数据(组0,组1的误差校验),写入辅助缓存;
(3)组1写满后,向源存储库的组2写数据时,数据写入逻辑库的组2,并根据写数据、增量误差校验(组0,组1的误差校验,在辅助缓存),生成新的误差校验数据(组0,组1,组2的误差校验),写入逻辑库的误差校验区;
(4)逻辑库写满后,修改映射表,令其取代源存储库,而源存储库作为下一循环中的逻辑库。
为保证最后生成的误差校验数据写入逻辑库的误差校验区,需按如下规则流水:若逻辑库的组数为奇数,则首先向误差校验区写误差校验数据;否则,首先向辅助缓存写误差校验数据。
采用固态硬盘作为辅助缓存时:从辅助缓存读增量误差校验数据,新的误差校验数据也写入辅助缓存,直至写最后组数据时,从辅助缓存读增量误差校验数据,并将新的误差校验数据写入磁盘。
为使逻辑库中误差校验数据所在磁盘大部分时间也可待机,进一步提高节能效率的同时又不影响性能,可采用如下流水方式:设置两个辅助缓存辅助缓存1和辅助缓存2,轮流从其中之一读增量误差校验数据,向另一个写新的误差校验数据,直至生成逻辑库的最终误差校验数据,再将其写入磁盘。
综上所述,本发明提出了一种邮件高效处理方法,保持了并行访问的低能耗,又解决了并行访问带来的局部写入问题,具有突出的写入性能和节能效率。
显然,本领域的技术人员应该理解,上述的本发明的各模块或各步骤可以用通用的计算系统来实现,它们可以集中在单个的计算系统上,或者分布在多个计算系统所组成的网络上,可选地,它们可以用计算系统可执行的程序代码来实现,从而,可以将它们存储在存储系统中由计算系统来执行。这样,本发明不限制于任何特定的硬件和软件结合。
应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。

Claims (2)

1.一种邮件高效处理方法,其特征在于,包括:将邮件存储系统的存储阵列中的一个存储区作为逻辑存储区,在更新源存储空间时,将邮件数据写入逻辑存储区;
所述邮件存储系统由N块磁盘组成,将每个磁盘平均分成N+1个存储区,N个相同偏移量的存储区组成一个库,共组成N+1个库,选择其中一个作为逻辑库,其余为物理库,每个物理库包含1个误差校验区、N-1个数据区;在物理库i中,误差校验区记为PB i,位于磁盘N-1-i;第v个数据区记为DB(i,v),当i+v<N-1时,DB(i,v)位于磁盘v,否则位于磁盘v+1;其中,0≤i<N,0≤v<N-1;PB i的值由通过以下运算求得:
每个存储区包含M个大小相等的块,每个库中,相同偏移量的块集成一个条块;所述邮件存储系统采用如下并行访问数据来排列:将每个物理库中的N-1个数据区平均分成P组,每组包含Q个块;每组中偏移量相同的块能够被并行访问,每个条块中仅部分块提供并行性;
所述邮件存储系统仅对物理库进行分组,逻辑库不参与分组,也不参与编址,对邮件存储系统的上层应用是透明的;在组地址分配上,邮件存储系统采用以下策略,在每个物理库中,序号相邻的组的逻辑地址相邻;即库i中组p的存储区q中第m个块的逻辑地址为:NumB(M·Q·P·i+M·Q·p+Q·m+q);
其中NumB为块包含的数据块数,0≤p<P,0≤i<N,0≤q<Q,0≤m<M。
2.根据权利要求1所述的方法,其特征在于,该方法还包括,在逻辑存储区写满后,修改映射表使所述逻辑存储区取代源存储空间,具体包括:
步骤(1).向某源存储库写数据时,数据写入对应的逻辑库;
步骤(2).根据写入数据、本次循环中逻辑库中已写数据的误差校验数据,生成逻辑库的新的误差校验数据;
步骤(3).如果逻辑库未写满,转到步骤(1);
步骤(4).如果逻辑库写满,修改地址映射关系,令逻辑库取代源存储库,本次循环结束;
步骤(5).被取代的源存储库此时无映射关系,在下一循环中作为逻辑库。
CN201510801284.9A 2015-11-19 2015-11-19 一种邮件高效处理方法 Active CN105260882B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510801284.9A CN105260882B (zh) 2015-11-19 2015-11-19 一种邮件高效处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510801284.9A CN105260882B (zh) 2015-11-19 2015-11-19 一种邮件高效处理方法

Publications (2)

Publication Number Publication Date
CN105260882A CN105260882A (zh) 2016-01-20
CN105260882B true CN105260882B (zh) 2018-11-30

Family

ID=55100560

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510801284.9A Active CN105260882B (zh) 2015-11-19 2015-11-19 一种邮件高效处理方法

Country Status (1)

Country Link
CN (1) CN105260882B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1791853A (zh) * 2003-10-24 2006-06-21 微软公司 个人化文件夹
CN101075177A (zh) * 2006-05-16 2007-11-21 株式会社日立制作所 计算机系统
CN101206569A (zh) * 2006-12-20 2008-06-25 国际商业机器公司 用于动态识别促使服务劣化的组件的方法和系统
CN101364164A (zh) * 2007-08-09 2009-02-11 株式会社日立制作所 存储系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4842593B2 (ja) * 2005-09-05 2011-12-21 株式会社日立製作所 ストレージ仮想化装置のデバイス制御引継ぎ方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1791853A (zh) * 2003-10-24 2006-06-21 微软公司 个人化文件夹
CN101075177A (zh) * 2006-05-16 2007-11-21 株式会社日立制作所 计算机系统
CN101206569A (zh) * 2006-12-20 2008-06-25 国际商业机器公司 用于动态识别促使服务劣化的组件的方法和系统
CN101364164A (zh) * 2007-08-09 2009-02-11 株式会社日立制作所 存储系统

Also Published As

Publication number Publication date
CN105260882A (zh) 2016-01-20

Similar Documents

Publication Publication Date Title
CN104794070B (zh) 基于动态非覆盖raid技术的固态闪存写缓存系统及方法
AU2010265984C1 (en) Scalable indexing in a non-uniform access memory
CN105242871B (zh) 一种数据写入方法及装置
CN103871447B (zh) 与非门快闪存储器阵列及芯片及其存取、读取及管理方法
US8386698B2 (en) Data accessing method for flash memory and storage system and controller using the same
CN102779096B (zh) 一种基于页块面三维的闪存地址映射方法
TWI399644B (zh) 非揮發記憶體區塊管理方法
US20110283048A1 (en) Structured mapping system for a memory device
US20050015557A1 (en) Nonvolatile memory unit with specific cache
CN103106143B (zh) 固态储存装置及其逻辑至实体对应表建立方法
CN107066393A (zh) 提高地址映射表中映射信息密度的方法
CN104461393A (zh) 一种闪存存储器的混合映射方法
US20100057979A1 (en) Data transmission method for flash memory and flash memory storage system and controller using the same
CN108121503A (zh) 一种NandFlash地址映射及块管理算法
CN106354658B (zh) 一种降低混合映射算法中映射表内存资源占用的方法
CN105930097B (zh) 一种消除局部并行中小写操作的分布校验式磁盘阵列
US8429339B2 (en) Storage device utilizing free pages in compressed blocks
CN102981969A (zh) 重复数据删除的方法及其固态硬盘
CN112463647A (zh) 使用散列来减小前向映射表的大小
US8489804B1 (en) System for using dynamic random access memory to reduce the effect of write amplification in flash memory
CN107544912A (zh) 一种日志记录方法、加载方法及其装置
CN113253926A (zh) 提升新型存储器的查询和存储性能的存储内索引构建方法
CN105630410A (zh) 使用非易失随机读写存储芯片动态管理文件存储区的方法
CN102023845A (zh) 一种基于状态机的Cache并发访问管理方法
JP2000285001A (ja) 半導体フラッシュメモリ装置及びその制御方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20230605

Address after: F13, Building 11, Zone D, New Economic Industrial Park, No. 99, West Section of Hupan Road, Xinglong Street, Tianfu New District, Chengdu, Sichuan, 610000

Patentee after: Sichuan Shenhu Technology Co.,Ltd.

Address before: No. 5, 1st Floor, Unit 1, Building 19, No. 177, Middle Section of Tianfu Avenue, High tech Zone, Chengdu, Sichuan, 610043

Patentee before: SICHUAN CINGHOO TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right