一种邮件高效处理方法_2

文档序号:9506688阅读:来源:国知局
顺序写入,需要面对垃圾回收问题,垃圾存储空间是由改写操 作产生的,在邮件数据存储中,改写的数据量不大,可在负载低于预设阈值时进行垃圾回 收;如果追求性能,也可牺牲少量存储空间而忽略垃圾回收。
[0032] 地址映射将非连续的虚拟地址映射为连续的物理地址,并在映射表中记录映射关 系。其中,虚拟地址为应用程序提交的读写请求地址,物理地址为数据在邮件存储系统内的 存储地址。在此基础上,邮件存储系统执行数据更新:向某物理地址写数据时,数据不直接 写入该地址,而是写入其逻辑地址(逻辑库中与其偏移量相同的地址),并在适当时候修改 映射表,令逻辑地址取代该物理地址。
[0033] 假设邮件存储系统由N块磁盘组成,划分出Ν+1个库,任取其中之一作为逻辑库, 其余为物理库,则邮件存储系统的远程数据更新过程如下:
[0034] (1)向某源存储库写数据时,数据并不直接写入该库,而是写入逻辑库;
[0035] (2)根据写入数据、本次循环中逻辑库中已写数据的误差校验数据,生成逻辑库的 新的误差校验数据;
[0036] (3)如果逻辑库未写满,转到步骤⑴;
[0037] (4)否则,修改地址映射关系,令逻辑库取代源存储库,本次循环结束;
[0038] (5)被取代的源存储库此时无映射关系,可在下一循环中作为逻辑库。
[0039] 在以上写操作过程中,由于进行了地址映射,所以是依次向每个物理库顺序写入 入数据的,不会同时向两个物理库写数据,也不会在一个物理库未写满的情况下,向另外一 个物理库写数据。
[0040] 逻辑库的误差校验数据是根据本次循环中已写数据生成的,称为增量误差校验数 据。写新数据时,可根据新数据、增量误差校验数据计算新的误差校验数据。随着写数据的 增加,增量误差校验数据的误差校验范围也渐进扩大,直至扩展到整个逻辑库。
[0041] 扩展误差校验数据时无需读取旧数据,仅需读取增量误差校验数据,因此可增加 一个辅助缓存,与逻辑库中误差校验数据所在磁盘,以流水方式生成新的误差校验数据(1 个读增量误差校验数据,1个写新的误差校验数据),此时,可有效消除读误差校验数据对 写入性能的影响。
[0042] 假设每个库包含3个组,辅助缓存暂存逻辑库中的增量误差校验数据。具体执行 过程如下:
[0043] (1)向任一源存储库的组0写数据时,数据写入逻辑库的组0,并生成组0的误差 校验,写入逻辑库的误差校验区;
[0044] (2)组0写满后,向源存储库的组1写数据时,数据写入逻辑库的组1,并根据写数 据、增量误差校验(组〇的误差校验,在逻辑库的误差校验区),生成新的误差校验数据(组 0,组1的误差校验),写入辅助缓存;
[0045] (3)组1写满后,向源存储库的组2写数据时,数据写入逻辑库的组2,并根据写数 据、增量误差校验(组〇,组1的误差校验,在辅助缓存),生成新的误差校验数据(组〇,组 1,组2的误差校验),写入逻辑库的误差校验区;
[0046] (4)逻辑库写满后,修改映射表,令其取代源存储库,而源存储库作为下一循环中 的逻辑库。
[0047] 为保证最后生成的误差校验数据写入逻辑库的误差校验区,需按如下规则流水: 若逻辑库的组数为奇数,则首先向误差校验区写误差校验数据;否则,首先向辅助缓存写误 差校验数据。
[0048] 采用固态硬盘作为辅助缓存时:从辅助缓存读增量误差校验数据,新的误差校验 数据也写入辅助缓存,直至写最后组数据时,从辅助缓存读增量误差校验数据,并将新的误 差校验数据写入磁盘。
[0049] 为使逻辑库中误差校验数据所在磁盘大部分时间也可待机,进一步提高节能效率 的同时又不影响性能,可采用如下流水方式:设置两个辅助缓存辅助缓存1和辅助缓存2, 轮流从其中之一读增量误差校验数据,向另一个写新的误差校验数据,直至生成逻辑库的 最终误差校验数据,再将其写入磁盘。
[0050] 综上所述,本发明提出了一种邮件高效处理方法,保持了并行访问的低能耗,又解 决了并行访问带来的局部写入问题,具有突出的写入性能和节能效率。
[0051] 显然,本领域的技术人员应该理解,上述的本发明的各模块或各步骤可以用通用 的计算系统来实现,它们可以集中在单个的计算系统上,或者分布在多个计算系统所组成 的网络上,可选地,它们可以用计算系统可执行的程序代码来实现,从而,可以将它们存储 在存储系统中由计算系统来执行。这样,本发明不限制于任何特定的硬件和软件结合。
[0052] 应当理解的是,本发明的上述【具体实施方式】仅仅用于示例性说明或解释本发明的 原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何 修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨 在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修 改例。
【主权项】
1. 一种邮件高效处理方法,其特征在于,包括:将邮件存储系统的存储阵列中的一个 存储区作为逻辑存储区,在更新源存储空间时,将邮件数据写入逻辑存储区。2. 根据权利要求1所述的方法,其特征在于,所述邮件存储系统由N块磁盘组成,将每 个磁盘平均分成N+1个存储区,N个相同偏移量的存储区组成一个库,共组成N+1个库,选择 其中一个作为逻辑库,其余为物理库,每个物理库包含1个误差校验区、N-1个数据区;在物 理库i中,误差校验区记为PBi,位于磁盘N-1-i;第v个数据区记为DB(i,v),当i+v〈N-l 时,DB(i,v)位于磁盘v,否则位于磁盘v+1 ;其中,0 <i〈N,0 <v〈N_l;PBi的值由通过以 下运算求得:每个存储区包含Μ个大小相等的块,每个库中,相同偏移量的块集成一个条块;所述邮 件存储系统采用如下并行访问数据来排列:将每个物理库中的Ν-1个数据区平均分成Ρ组, 每组包含Q个块;每组中偏移量相同的块能够被并行访问,每个条块中仅部分块提供并行 性; 所述邮件存储系统仅对物理库进行分组,逻辑库不参与分组,也不参与编址,对邮件存 储系统的上层应用是透明的;在组地址分配上,邮件存储系统采用以下策略,在每个物理 库中,序号相邻的组的逻辑地址相邻;即库i中组Ρ的存储区q中第m个块的逻辑地址为: NumB(M·Q·P·i+M·Q·p+Q·m+q); 其中NumB为块包含的数据块数,0彡ρ〈Ρ,0彡i〈N,0彡q〈Q,0彡m〈M。3. 根据权利要求2所述的方法,其特征在于,该方法还包括,在逻辑存储区写满后,修 改映射表使所述逻辑存储区取代源存储空间,具体包括: 步骤(1).向某源存储库写数据时,数据写入对应的逻辑库; 步骤(2).根据写入数据、本次循环中逻辑库中已写数据的误差校验数据,生成逻辑库 的新的误差校验数据; 步骤(3).如果逻辑库未写满,转到步骤(1); 步骤(4).如果逻辑库写满,修改地址映射关系,令逻辑库取代源存储库,本次循环结 束; 步骤(5).被取代的源存储库此时无映射关系,在下一循环中作为逻辑库。
【专利摘要】本发明提供了一种邮件高效处理方法,该方法包括:将邮件存储系统的存储阵列中的一个存储区作为逻辑存储区,在更新源存储空间时,将邮件数据写入逻辑存储区。本发明提出了一种邮件高效处理方法,保持了并行访问的低能耗,又解决了并行访问带来的局部写入问题,具有突出的写入性能和节能效率。
【IPC分类】G06Q10/10, G06F3/06
【公开号】CN105260882
【申请号】CN201510801284
【发明人】陈虹宇, 罗阳, 苗宁
【申请人】四川神琥科技有限公司
【公开日】2016年1月20日
【申请日】2015年11月19日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1