CN107786599B - 内存云*** - Google Patents

内存云*** Download PDF

Info

Publication number
CN107786599B
CN107786599B CN201610741524.5A CN201610741524A CN107786599B CN 107786599 B CN107786599 B CN 107786599B CN 201610741524 A CN201610741524 A CN 201610741524A CN 107786599 B CN107786599 B CN 107786599B
Authority
CN
China
Prior art keywords
memory
storage
mslice
data
cloud server
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
CN201610741524.5A
Other languages
English (en)
Other versions
CN107786599A (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.)
Beijing Aerospace 706 Information Technology Co ltd
Beijing Institute of Computer Technology and Applications
Original Assignee
Beijing Institute of Computer Technology and Applications
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 Beijing Institute of Computer Technology and Applications filed Critical Beijing Institute of Computer Technology and Applications
Priority to CN201610741524.5A priority Critical patent/CN107786599B/zh
Publication of CN107786599A publication Critical patent/CN107786599A/zh
Application granted granted Critical
Publication of CN107786599B publication Critical patent/CN107786599B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明涉及一种内存云***,属于计算机信息存储技术领域。本发明将客户、内存云存储管理服务器、内存云服务器通过以太网互联,通过部署内存云管理模块,搭建了一个内存云***,通过合理的内存云管理设计提高了存储介质I/O读写速度,解决了该存储过程高延迟的问题。其中还设计了一种内存优化策略‑‑连续读写策略,优化了内存管理效率。

Description

内存云***
技术领域
本发明涉及计算机信息存储技术领域,具体涉及一种内存云***。
背景技术
近年来,云存储已经成为炙手可热的课题,各大互联网运营商竞相推出不同特性的云存储产品与服务。过去十几年云存储基本采用硬盘存储的方式,即用硬盘作为存储的媒介。由于硬盘容量提升很快(自1980年代中期以来提高了超过1000倍),这种存储方式在市场应用上取得了很好的效果。但是,虽然硬盘的容量提升很快,但相比之下该存储方式在性能上却难尽人意,传输速率仅提高50倍,延迟更是提高了2倍。如果按容量/带宽(JimGray’s Rule)来衡量,硬盘的访问延迟实际上急剧恶化了。与此同时,软件的架构随着互联网技术的不断发展也不断改变,常见的web应用架构一般使存储与计算分离,即由应用服务器(专门负责应用的业务逻辑、前端呈现的数据中心)、存储服务器组成。其中,应用服务器是无状态的,只存储当前浏览器请求的状态。这种分离和无状态的方式使***能够很好地扩展成成百上千台服务器,这种架构导致数据访问的延迟加剧。
综上所述,硬盘访问速度成为了目前计算机***发展的主要瓶颈。为了解决数据访问延迟问题,业界提出了一种新的存储思路RAMCloud(内存云),其基本思想是通过大规模普通服务器的内存集群,将在线数据的主要存储中心从硬盘迁移到DRAM上,而硬盘只用来备份/归档。这种存储方案可以同时具有大规模和低延迟的I/O特点。但当前业界关于内存云的研究较少,亟需设计一种内存云***设计方案。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题之一是:如何提高存储介质I/O读写速度,解决该存储过程高延迟的问题;进一步要解决的技术问题是:如何优化内存管理效率。
(二)技术方案
为了解决上述技术问题,本发明提供了一种内存云***,包括多个客户端1、一台内存云存储管理服务器4和多台内存云服务器5;所有这三种组成部分接入互联网2,内存云存储管理服务器4和多台内存云服务器5再通过本地以太网3互联;
所述内存云存储管理服务器4上安装有内存云存储管理模块7,用于接收客户端1的客户读写请求、建立对象表、设计内存分配方式,管理所有内存云服务器5的内存、数据备份与恢复;
所述内存云服务器5上安装有内存管理模块8和数据备份管理模块9;所述内存管理模块8用于处理客户端1的客户读写请求,完成本内存云服务器5的内存管理,建立内存表,记录内存的使用、删除信息,完成本内存云服务器5与内存云存储管理服务器4之间的通信;所述数据备份管理模块9用于完成内存数据到本地磁盘的备份,时刻保持本地内存数据与磁盘数据的一致,按需恢复内存数据;
所述客户端1上安装有内存云存储客户端6,用于发送客户读写请求,接收内存云存储管理服务器4和内存云服务器5的数据。
优选地,内存云服务器5为存储划分一块独立存储空间,该独立存储空间由两部分组成:信息区和数据区,信息区用于记录数据区的信息:块大小、数据区的位图信息;将数据区划分为大小相等的块,称为mslice,mslice的块大小记录在信息区的块大小中。
优选地,内存云存储管理模块7通过对一系列表的维护实现内存分配、内存管理和数据恢复,内存云存储管理模块7维护的表包括:内存云服务器管理表、对象存储映射表、内存云服务器状态监控表;
所述内存云服务器管理表汇总所有内存云服务器5的内存信息,它以单个内存云服务器5内存信息为单元,最终形成一张汇总表,每个单元由内存云服务器ID、同步标识及其信息区组成;从所述汇总表显示内存云服务器5的内存分配情况,当有内存云服务器5内存使用情况发生变化时,内存云存储管理模块7将该变化同步记录至内存云服务器管理表;
所述对象存储映射表记录客户端1对象及其对应的存储区;
所述内存云服务器状态监控表记录内存云服务器5的个数,所有内存云服务器5的当前连接状态和数据备份状态;
优选地,所述内存云存储管理模块7用于执行以下处理流程:
(1)初始化:扫描所有内存云服务器5,从每个内存云服务器5上获取内存信息区信息,建立所述内存云服务器管理表;
(2)建立所述内存云服务器状态监控表;
(3)定期维护所述内存云服务器状态监控表,若有变化则更新所述内存云服务器管理表;
(4)等待客户端1的请求;当接收到客户端1的读请求时,检索存储对象ID,根据存储对象ID查找对应的存储空间,若未找到对应的存储对象ID,则返回未找到消息,否则,将该存储对象的存储空间分配信息发送至客户端1;当接收到客户端1的写请求时,为存储对象分配ID,获取所需存储空间大小;
(5)读取所述内存云服务器管理表,进行一致性检查,如果不一致,则进行同步;
(6)根据内存云服务器管理表分配空间,将已分配的位图标识为预分配,建立对象存储映射表,将该对象存储映射表分别发送至客户端1与内存云服务器5;
(7)等待内存云服务器5发送结束消息,将对应的位图标志为分配,检查备份状态;
当客户端1请求删除对象时,首先将存储对象ID发送至相关内存云服务器5,当接收到内存云服务器5发出的删除成功消息时,清除内存云服务器管理表对应位图的标识,删除对象存储映射表对应的记录,并将结果反馈给客户端1,若接收到删除失败的消息,则将删除失败的消息反馈至客户端1。
优选地,所述内存管理模块8包括内存分配回收模块、内存优化模块和数据读写模块;
所述内存分配回收模块用于进行内存的分配与回收。内存分配参考内存云存储管理服务器4发送的对象存储映射表进行处理,当有数据需要存储时,根据所属对象的对象存储映射表将数据写入对应的mslice,并标识对应的位图,待数据写入内存区后,需将对象存储映射表中对应的位图标识为已分配;内存回收时,根据存储对象ID查找该存储对象所使用的mslice,删除内容并清空位图标识;将结果反馈至内存云存储管理服务器4;
内存优化模块用于通过合并零碎的存储空间,创建连续的空闲区来优化整个存储过程,内存优化只在空闲时进行,内存优化前,将原对象存储映射表进行备份,内存优化后,更新信息区位图标识,对象存储映射表,并同步内存云存储管理服务器4上的表格;
数据读写模块用于接收与发送客户端1的数据,当内存云服务器5接收到来自客户端1的数据时,根据对象存储映射表进行处理。
优选地,所述数据备份管理模块9用于将本地内存数据备份至本地磁盘,首先选择一块大于内存存储区的存储区,然后进行首次同步,当客户端1存储或删除数据时,由内存管理模块8进行内存区的数据读写,由数据备份管理模块9进行磁盘区的数据读写;当内存云服务器5进行内存优化后,同步磁盘备份数据。
优选地,所述内存优化模块具体用于执行以下流程:
(1)寻找空闲mslice,如果未找到,结束,否则转入步骤(2);
(2)找到空闲mslice,记为A,编号为p1,若A为最后一块mslice,流程结束,否则转入步骤(3);
(3)如果A为第一个mslice,或者其向前紧邻的mslice为空闲mslice,则继续向后寻找下一个空闲mslice,返回步骤(1),否则,记录A的编号,并获取其前向紧邻的mslice所属对象X,并转入步骤(4);
(4)以p1为起点,向后逐个寻找属于对象X的mslice,如果未找到,则继续向后寻找下一个空闲mslice,返回步骤(1),否则,找到属于对象X的mslice,记为B,编号为p2,将A与B交换存储位置;
(5)以p2为起点,向后寻找下一个空闲mslice,返回步骤(1)。
(三)有益效果
本发明将客户、内存云存储管理服务器、内存云服务器通过以太网互联,通过部署内存云管理模块,搭建了一个内存云***,通过合理的内存云管理设计提高了存储介质I/O读写速度,解决了该存储过程高延迟的问题。其中还设计了一种内存优化策略--连续读写策略,优化了内存管理效率。
附图说明
图1为本发明实施例的内存云***总体架构图;
图2为本发明实施例的内存云***内部架构图;
图3是本发明实施例的***中数据存储区示意图;
图4是本发明实施例的***内存优化后效果示意图。
其中:
1客户端 2互联网
3以太网 4内存云存储管理服务器
5内存云服务器 6内存云存储客户端
7内存云存储管理模块 8内存管理模块
9数据备份管理模块 10数据流
11控制流 12数据存储区
13所属不同对象的mslice 14空闲mslice
具体实施方式
为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
如图1所示,本发明实施例提供了一种内存云***,该***使用DRAM替代传统磁盘,由多个客户端1、一台内存云存储管理服务器4、多台内存云服务器5组成,所有这三种组成部分接入互联网2,同时,内存云存储管理服务器4和多台内存云服务器5再通过本地以太网3互联。
为了实现用户快速、低延迟的访问,体系结构如图2所示,包括:安装在内存云存储管理服务器4的内存云存储管理模块7,安装在内存云服务器5的内存管理模块8和数据备份管理模块9,以及内存云存储客户端6。
所述内存云存储管理模块7,用于接收客户端1的客户读写请求、建立对象表、设计内存分配方式,管理所有内存云服务器5的内存、数据备份与恢复;
所述内存管理模块8用于处理客户端1的客户读写请求,完成本内存云服务器5的内存管理:分配、回收、优化,建立内存表,记录内存的使用、删除信息,完成本内存云服务器5与内存云存储管理服务器4之间的通信;所述数据备份管理模块9用于完成内存数据到本地磁盘的备份,时刻保持本地内存数据与磁盘数据的一致,按需恢复内存数据;
所述内存云存储客户端6用于发送客户读写请求,接收内存云存储管理服务器4和内存云服务器5的数据。
为了方面管理,内存云服务器5将为存储划分一块较大的独立存储空间,该空间由两部分组成:信息区和数据区。信息区用于记录数据区的一些具体信息:块大小、数据区的位图信息、其它保留信息。对于数据区,***将数据区划分为大小相等的块,称为mslice,mslice的块大小记录在信息区的块大小中。
1、内存云存储管理模块7的设计
内存云存储管理模块7通过对一系列表的维护实现内存分配、内存管理、数据恢复等功能。内存云存储管理模块7维护的表包括:内存云服务器管理表、对象存储映射表、内存云服务器状态监控表。
所述内存云服务器管理表汇总所有内存云服务器5的内存信息,它以单个内存云服务器5内存信息为单元,最终形成一张汇总表,每个单元由内存云服务器ID、同步标识及其信息区组成。从该汇总表可以直接得到某个内存云服务器5的内存分配情况,当某个内存云服务器5内存使用情况发生变化时,需要将该变化同步记录至内存云服务器管理表。通过建立该内存云服务器管理表,当有云存储客户端1的写请求时,无需逐个访问内存云服务器5而直接在本地进行预分配。
本***的对象定义为客户端1的一个存储单元,可以是一个文件、一个分区、一个磁盘等。所述对象存储映射表记录了客户端1对象及其对应的存储区。
所述内存云服务器状态监控表记录了内存云服务器5的个数,所有内存云服务器5的当前连接状态、数据备份状态等。
内存云存储管理模块7的基本处理流程为:
(1)初始化,扫描所有内存云服务器5,从每个内存云服务器5上获取该服务器的内存信息区信息,建立所述内存云服务器管理表;
(2)建立所述内存云服务器状态监控表;
(3)定期维护所述内存云服务器状态监控表,若有变化则更新所述内存云服务器管理表;
(4)等待客户端1的请求;
(5)当接收到客户端1的读请求时,检索存储对象ID,根据存储对象ID查找对应的存储空间,若未找到对应的存储对象ID,则返回未找到消息,否则,将该存储对象的存储空间分配信息发送至客户端1;
(6)当有客户端1的写请求时,为存储对象分配ID,获取所需存储空间大小;
(7)读取所述内存云服务器管理表,进行一致性检查,如果不一致,则进行同步;
(8)根据内存云服务器管理表分配空间,将已分配的位图标识为预分配,建立对象存储映射表,将该对象存储映射表分别发送至客户端1与内存云服务器5端;
(9)等待内存云服务器5端发送结束消息,将对应的位图标志为分配。检查备份状态;
当客户端1请求删除对象时,首先将存储对象ID发送至相关内存云服务器5,当接收到内存云服务器5发出的删除成功消息时,清除内存云服务器管理表对应位图的标识,删除对象存储映射表对应的记录,并将结果反馈给客户端1。若接收到删除失败的消息,则直接将删除失败的消息反馈至客户端1。
内存云存储管理模块7还有数据恢复功能,包括本地数据恢复与内存云服务器数据恢复。
本地数据恢复通过所连接的内存云服务器5上的数据重建内存云服务器管理表、对象存储映射表、内存云服务器状态监控表。
内存云服务器5数据恢复过程:当某个内存云服务器5内存数据丢失或者被破坏时,将备份数据从本地磁盘恢复到内存。
2、内存管理模块8的设计
内存管理模块8由内存分配回收模块、内存优化模块、数据读写模块组成。
内存分配回收模块完成内存的分配与回收。内存分配参考内存云存储管理服务器4发送的对象存储映射表进行处理。当有数据需要存储时,根据所属对象的对象存储映射表将数据写入对应的mslice,并标识对应的位图。待数据写入内存区后,需将对象存储映射表中对应的位图标识为已分配。内存回收时,根据存储对象ID查找该存储对象所使用的mslice,删除内容并清空位图标识。将结果反馈至内存云存储管理服务器4。
内存优化模块通过合并零碎的存储空间,创建连续的空闲区来优化整个存储过程。如果使用普通的读写过程,内存优化与否对性能的影响不大,但是本***采用了连续读写策略,故而能提高***性能。连续读写策略是指当读写的mslice是连续的,一组连续的mslice称为msegment,***将计算该msegment的起止位置,使得多次读写操作通过一次读写来完成。为了不影响***读写性能,内存优化只能在空闲时进行。
内存优化是一个非常复杂的过程,优化算法的不同其效率也不同。为了找到一个合适的算法,首先需分析本***数据存储的特点,图3是能表示本***数据存储特点的简单示例,数据存储区12包括存储三种不同对象的mslice 13和空闲mslice 14,从图3可以很直观得到,本存储***存储的数据具有以下特点:
(1)同一对象的数据是按顺序存储的;
(2)空闲区只存在不同对象的msegment之间。
本算法的目标是合并空闲mslice,同时尽可能保证同一对象集中存储,从而提高数据读写效率。为了实现上述目标,本***的算法如下:
(1)寻找空闲mslice,如果未找到,结束,否则,转入(2);
(2)找到空闲mslice,记为A,编号为p1,如果A为最后一块mslice,流程结束,否则,转入(3);
(3)如果A为第一块mslice,或者其向前紧邻的mslice为空闲mslice,则继续向后寻找下一个空闲mslice,转入(1),否则,记录A的编号并获取其前向紧邻的mslice所属对象X;
(4)以p1为起点,向后逐个寻找属于对象X的mslice,如果未找到,则继续向后寻找下个空闲mslice,转入(1),否则,找到属于对象X的mslice,记录B,编号为p2,A与B交换存储位置;
(5)以p2为起点,向后寻找下一个空闲mslice,转入(1)。
上述步骤通过一系列交换mslice实现同一对象mslice以及空闲mslice的连续存储。
以图3为例,按照上述算法,其数据交换过程为(其中mslice[i]表示算法开始前其编号为i的mslice):
(1)寻找当前第1块空闲mslice:mslice[4],记住向前紧邻mslice:mslice[3],其所属对象为A,故需寻找对象A的下一个mslice:mslice[8],找到后置换mslice[4]与mslice[8];
(2)继续向下寻找空闲mslcie:mslice[5],其向前紧邻mslice为mslice[8],故向后寻找到mslice[20],置换mslice[5]与mslice[20];
(3)重复步骤(1),找到mslice[4],此时,通过置换,mslice[4]位于编号为8的位置,找到向前紧邻mslice:mslice[7],其所属对象为B,向后寻找属于对象B的mslice:mslice[9],置换mslice[4]与mslice[9];
(4)按照上述算法,依次置换mslice[4]与mslice[10],置换mslice[4]与mslice[11],置换mslice[4]与mslcie[18],置换后,mslice[4]位于编号为18位置;
(5)继续寻找下一个空闲mslice:mslice[12],其向前紧邻mslice为mslice[11],其所属对象为B,向后寻找所属对象为B的mslice:mslice[19],置换mslice[12]与mslice[19];
(6)继续寻找下一个空闲mslice:mslice[17],其向前紧邻mslice为mslice[16],其所属对象为C,向后寻找所属对象为C的mslice:mslice[22],置换mslice[17]与mslice[22],依据该流程,此时已没有需要置换的mslice,流程结束,置换后的存储区如图4所示。
通过上述步骤,所有空白mslice都合并,并且,同一对象的数据也基本实现了集中存储。
内存优化前,需将原对象存储映射表进行备份。内存优化后,需更新信息区位图标识,对象存储映射表,并及时同步内存云存储管理服务器上的表格。
数据读写模块负责客户端数据的接收与发送。当内存云服务器5接收到来自客户端1的数据时,根据对象存储映射表进行处理。
4、数据备份管理模块9的设计
数据备份管理模块9负责将本地内存数据备份至本地磁盘。***首先选择一块大于内存存储区的存储区,然后进行首次同步,该过程主要是同步内存区信息区的数据。当客户端1存储或删除数据时,由内存管理模块8负责内存区的数据读写,由数据备份管理模块9负责磁盘区的数据读写。数据备份过程类似于内存管理模块8的数据读写过程,只是性能相对较低。当内存云服务器5进行内存优化后,需及时同步磁盘备份数据,具体方法是根据更新的对象存储映射表与原对象存储映射表进行比对,将数据调整为更新的对象存储映射表记录的顺序。
5、内存云存储客户端6的设计
内存云存储客户端6给用户提供可视化的操作界面,同时下发客户的使用需求。
通过以上模块的相互协作,基本实现了内存云***功能要求。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

Claims (1)

1.一种内存云***,其特征在于,包括多个客户端(1)、一台内存云存储管理服务器(4)和多台内存云服务器(5);所有这三种组成部分接入互联网(2),内存云存储管理服务器(4)和多台内存云服务器(5)再通过本地以太网(3)互联;
所述内存云存储管理服务器(4)上安装有内存云存储管理模块(7),用于接收客户端(1)的客户读写请求、建立对象表、设计内存分配方式,管理所有内存云服务器(5)的内存、数据备份与恢复;
所述内存云服务器(5)上安装有内存管理模块(8)和数据备份管理模块(9);所述内存管理模块(8)用于处理客户端(1)的客户读写请求,完成本内存云服务器(5)的内存管理,建立内存表,记录内存的使用、删除信息,完成本内存云服务器(5)与内存云存储管理服务器(4)之间的通信;所述数据备份管理模块(9)用于完成内存数据到本地磁盘的备份,时刻保持本地内存数据与磁盘数据的一致,按需恢复内存数据;
所述客户端(1)上安装有内存云存储客户端(6),用于发送客户读写请求,接收内存云存储管理服务器(4)和内存云服务器(5)的数据;
内存云服务器(5)为存储划分一块独立存储空间,该独立存储空间由两部分组成:信息区和数据区,信息区用于记录数据区的信息:块大小,数据区的位图信息;将数据区划分为大小相等的块,称为mslice,mslice的块大小记录在信息区的块大小中;
内存云存储管理模块(7)通过对一系列表的维护实现内存分配、内存管理和数据恢复,内存云存储管理模块(7)维护的表包括:内存云服务器管理表、对象存储映射表、内存云服务器状态监控表;
所述内存云服务器管理表汇总所有内存云服务器(5)的内存信息,它以单个内存云服务器(5)内存信息为单元,最终形成一张汇总表,每个单元由内存云服务器ID、同步标识及其信息区组成;从所述汇总表显示内存云服务器(5)的内存分配情况,当有内存云服务器(5)内存使用情况发生变化时,内存云存储管理模块(7)将该变化同步记录至内存云服务器管理表;
所述对象存储映射表记录客户端(1)对象及其对应的存储区;
所述内存云服务器状态监控表记录内存云服务器(5)的个数,所有内存云服务器(5)的当前连接状态和数据备份状态;
所述内存云存储管理模块(7)用于执行以下处理流程:
1)初始化:扫描所有内存云服务器(5),从每个内存云服务器(5上获取内存信息区信息,建立所述内存云服务器管理表;
2)建立所述内存云服务器状态监控表;
3)定期维护所述内存云服务器状态监控表,若有变化则更新所述内存云服务器管理表;
4)等待客户端(1)的请求;当接收到客户端(1)的读请求时,检索存储对象ID,根据存储对象ID查找对应的存储空间,若未找到对应的存储对象ID,则返回未找到消息,否则,将该存储对象的存储空间分配信息发送至客户端(1);当接收到客户端(1)的写请求时,为存储对象分配ID,获取所需存储空间大小;
5)读取所述内存云服务器管理表,进行一致性检查,如果不一致,则进行同步;
6)根据内存云服务器管理表分配空间,将已分配的位图标识为预分配,建立对象存储映射表,将该对象存储映射表分别发送至客户端(1)与内存云服务器(5);
7)等待内存云服务器(5)发送结束消息,将对应的位图标志为分配,检查备份状态;
当客户端(1)请求删除对象时,首先将存储对象ID发送至相关内存云服务器(5),当接收到内存云服务器(5)发出的删除成功消息时,清除内存云服务器管理表对应位图的标识,删除对象存储映射表对应的记录,并将结果反馈给客户端(1),若接收到删除失败的消息,则将删除失败的消息反馈至客户端(1);
所述内存管理模块(8)包括内存分配回收模块、内存优化模块和数据读写模块;
所述内存分配回收模块用于进行内存的分配与回收;内存分配参考内存云存储管理服务器(4)发送的对象存储映射表进行处理,当有数据需要存储时,根据所属对象的对象存储映射表将数据写入对应的mslice,并标识对应的位图,待数据写入内存区后,需将对象存储映射表中对应的位图标识为已分配;内存回收时,根据存储对象ID查找该存储对象所使用的mslice,删除内容并清空位图标识;将结果反馈至内存云存储管理服务器(4);
内存优化模块用于通过合并零碎的存储空间,创建连续的空闲区来优化整个存储过程,内存优化只在空闲时进行,内存优化前,将原对象存储映射表进行备份,内存优化后,更新信息区位图标识,对象存储映射表,并同步内存云存储管理服务器(4)上的表格;
数据读写模块用于接收与发送客户端(1)的数据,当内存云服务器(5)接收到来自客户端(1)的数据时,根据对象存储映射表进行处理;
所述数据备份管理模块(9)用于将本地内存数据备份至本地磁盘,首先选择一块大于内存存储区的存储区,然后进行首次同步,当客户端(1)存储或删除数据时,由内存管理模块(8)进行内存区的数据读写,由数据备份管理模块(9)进行磁盘区的数据读写;当内存云服务器(5)进行内存优化后,同步磁盘备份数据;
所述内存优化模块具体用于执行以下流程:
(1)寻找空闲mslice,如果未找到,结束,否则转入步骤(2);
(2)找到空闲mslice,记为A,编号为p1,若A为最后一块mslice,流程结束,否则转入步骤(3);
(3)如果A为第一个mslice,或者其向前紧邻的mslice为空闲mslice,则继续向后寻找下一个空闲mslice,返回步骤(1),否则,记录A的编号,并获取其前向紧邻的mslice所属对象X,并转入步骤(4);
(4)以p1为起点,向后逐个寻找属于对象X的mslice,如果未找到,则继续向后寻找下一个空闲mslice,返回步骤(1),否则,找到属于对象X的mslice,记为B,编号为p2,将A与B交换存储位置;
(5)以p2为起点,向后寻找下一个空闲mslice,返回步骤(1)。
CN201610741524.5A 2016-08-26 2016-08-26 内存云*** Active CN107786599B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610741524.5A CN107786599B (zh) 2016-08-26 2016-08-26 内存云***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610741524.5A CN107786599B (zh) 2016-08-26 2016-08-26 内存云***

Publications (2)

Publication Number Publication Date
CN107786599A CN107786599A (zh) 2018-03-09
CN107786599B true CN107786599B (zh) 2020-07-17

Family

ID=61441021

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610741524.5A Active CN107786599B (zh) 2016-08-26 2016-08-26 内存云***

Country Status (1)

Country Link
CN (1) CN107786599B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111176549B (zh) * 2018-11-13 2021-05-18 杭州海康威视***技术有限公司 基于云存储的数据存储方法、装置和存储介质
CN113254365A (zh) * 2021-06-09 2021-08-13 北京字节跳动网络技术有限公司 存储空间的管理方法、装置、设备、介质和程序产品

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1773468A (zh) * 2004-11-12 2006-05-17 中国科学院计算技术研究所 一种网络内存服务***及其构建方法
CN101013400A (zh) * 2007-01-30 2007-08-08 金蝶软件(中国)有限公司 一种在内存中缓存数据的方法及装置
CN101950273A (zh) * 2010-09-26 2011-01-19 中国人民解放军海军工程大学 一种dsp数据区动态管理方法
CN102866953A (zh) * 2011-07-08 2013-01-09 风网科技(北京)有限公司 存储管理***及其存储管理方法
CN104102460A (zh) * 2014-07-23 2014-10-15 浪潮(北京)电子信息产业有限公司 一种基于云计算的内存管理方法及装置
CN105404590A (zh) * 2015-11-10 2016-03-16 浪潮(北京)电子信息产业有限公司 一种内存块合并方法与***
CN106095577A (zh) * 2016-06-08 2016-11-09 东北林业大学 基于多路处理器的共享内存的优化处理方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1773468A (zh) * 2004-11-12 2006-05-17 中国科学院计算技术研究所 一种网络内存服务***及其构建方法
CN101013400A (zh) * 2007-01-30 2007-08-08 金蝶软件(中国)有限公司 一种在内存中缓存数据的方法及装置
CN101950273A (zh) * 2010-09-26 2011-01-19 中国人民解放军海军工程大学 一种dsp数据区动态管理方法
CN102866953A (zh) * 2011-07-08 2013-01-09 风网科技(北京)有限公司 存储管理***及其存储管理方法
CN104102460A (zh) * 2014-07-23 2014-10-15 浪潮(北京)电子信息产业有限公司 一种基于云计算的内存管理方法及装置
CN105404590A (zh) * 2015-11-10 2016-03-16 浪潮(北京)电子信息产业有限公司 一种内存块合并方法与***
CN106095577A (zh) * 2016-06-08 2016-11-09 东北林业大学 基于多路处理器的共享内存的优化处理方法及装置

Also Published As

Publication number Publication date
CN107786599A (zh) 2018-03-09

Similar Documents

Publication Publication Date Title
CN100399327C (zh) 管理文件***的逻辑版本的方法和数据存储***
JP2020038623A (ja) データを記憶するための方法、装置及びシステム
US7774565B2 (en) Methods and apparatus for point in time data access and recovery
CN101334797B (zh) 一种分布式文件***及其数据块一致性管理的方法
CN100565512C (zh) 消除文件存储***中冗余文件的***及方法
CN102164161B (zh) 一种对并行文件***进行文件布局提取的方法和装置
CN105938457B (zh) 数据的过滤方法、装置及数据读取***
CN105183400B (zh) 一种基于内容寻址的对象存储方法和***
CN102609446B (zh) 一种分布式Bloom过滤***及其使用方法
CN107357680A (zh) 数据处理设备和数据处理的方法
CN105574217B (zh) 分布式关系型数据库的数据同步方法和装置
CN100424699C (zh) 一种属性可扩展的对象文件***
CN104391873A (zh) 数据库操作分离方法和***
CN103544045A (zh) 一种基于hdfs的虚拟机镜像存储***及其构建方法
CN110058822A (zh) 一种磁盘阵列横向拓展方法
CN103116661A (zh) 一种数据库的数据处理方法
CN103458023A (zh) 分布式闪存存储***
CN102541985A (zh) 一种分布式文件***中客户端目录缓存的组织方法
CN106708968A (zh) 分布式数据库***和分布式数据库***中的数据处理方法
CN102541983A (zh) 一种分布式文件***中多客户端缓存同步的方法
CN104346373A (zh) 分区日志队列同步管理方法及设备
CN109947363A (zh) 一种分布式存储***的数据缓存方法
CN105740248B (zh) 一种数据同步方法、装置及***
CN113626431A (zh) 一种基于lsm树的延迟垃圾回收的键值分离存储方法及***
WO2023207492A1 (zh) 一种数据处理方法、装置、设备及可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for 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: 20220621

Address after: 102600 floor 16, building 5, courtyard 8, KEGU 1st Street, Beijing Economic and Technological Development Zone, Daxing District, Beijing (Yizhuang cluster, high-end industrial area, Beijing Pilot Free Trade Zone)

Patentee after: Beijing Aerospace 706 Information Technology Co.,Ltd.

Patentee after: Beijing Institute of computer technology and Applications

Address before: 100854 No. 51, Yongding Road, Beijing, Haidian District

Patentee before: Beijing Institute of Computer Technology and Applications

TR01 Transfer of patent right