The invention relates to a nonvolatile memory device based on data redundancy system, including a new kernel module based on NVRAM file system, a file system is established, a file system hierarchy in the core; user space file system module, a special process in user space, can provide virtual or intermediate layer NVRAM to interact with other processes; module of data deduplication method and system integration, to provide specific redundancy logic to the user space file system. A new kernel NVRAM file system module is used to improve the traditional file system for the performance of suboptimality of the NVRAM storage medium; user space file system for a low cost and friendly way to access to the redundant function; data redundancy method and system integration module will be specific to the redundancy logic is added to the FUSE, in CPU+NVRAM architecture produces real data redundancy effect.
【技术实现步骤摘要】
基于非易失内存设备的数据去冗余方法及系统
本专利技术涉及计算机
,尤其涉及一种基于非易失内存设备的数据去冗余方法及系统。
技术介绍
数据去冗余的技术主要是指:在计算机的某一个存储层次,例如是在内存或者外存,通过消除具备相同数据的内存页面或者数据块,从而达到节省存储设备的空间及改善写操作性能下降现象的一种技术。首先内存去冗余技术。在这里去冗余的对象数据存在于操作系统的内存子系统当中。考虑到当前常见的DRAM(DynamicRandomAccessMemory,动态随机访问内存设备)内存设备是挥发的,因此,一般而言,处于内存中的数据是不可靠的,不具备持久性。并且,由于DRAM更加接近CPU,所以在此层次执行去冗余的操作,会较为容易地产生CPU性能敏感型的操作,这些操作容易对应用程序产生干扰。所以,在内存中想要实现去冗余的功能,一般采用离线(off-line)的方式进行。也即,当应用程序往内存中产生了新的内存页面数据后,由独立的系统模块或者例程对其进行检测,查看当前是否系统中存在一个已经包含了相同的内存页面,如果有,则保存相应的元数据信息,真实的数据不必写入一个新的内存页面,因为要写的数据在当前系统中已经存在;如果没有,则执行该内存写入操作。由于该独立模块或例程与应用程序无关,在多核环境下,通过将去冗余的逻辑与应用程序的逻辑分布在不同的CPU核心上,会具有较好的内存去冗余性能。值得注意的是,在传统的存储体系结构下,由于DRAM保存的一般为进程运行时的动态数据,例如:堆栈、打开的文件表信息等信息,因此,一般位于内存去冗余的技术只针对该类数据进行去冗余,而对于 ...
【技术保护点】
一种基于非易失内存设备的数据去冗余系统,其特征在于,包括基于NVRAM的新型内核文件系统模块,为一制定文件系统,位于内核的文件系统层次,可以改进传统文件系统在NVRAM设备上的性能不足之处和功能冗余,同时向位于用户空间的各类进程提供一套与NVRAM交互、同时兼容现有标准的读写接口;用户空间文件系统模块,为一个位于用户空间中的特殊进程,可以向其他进程提供与NVRAM进行交互的中间层或者虚拟层;数据去冗余方法及其系统整合方式模块,提供具体的去冗余逻辑给所述的用户空间文件系统。
【技术特征摘要】
1.一种基于非易失内存设备的数据去冗余系统,其特征在于,包括基于NVRAM的新型内核文件系统模块,为一制定文件系统,位于内核的文件系统层次,可以改进传统文件系统在NVRAM设备上的性能不足之处和功能冗余,同时向位于用户空间的各类进程提供一套与NVRAM交互、同时兼容现有标准的读写接口;用户空间文件系统模块,为一个位于用户空间中的特殊进程,可以向其他进程提供与NVRAM进行交互的中间层或者虚拟层;数据去冗余方法及其系统整合方式模块,提供具体的去冗余逻辑给所述的用户空间文件系统。2.根据权利要求1所述的基于非易失内存设备的数据去冗余系统,其特征在于,所述的基于NVRAM的新型内核文件系统模块可选择基于GPL协议的开源项目中的PMFS实现。3.根据权利要求1所述的基于非易失内存设备的数据去冗余系统,其特征在于,所述的用户空间文件系统模块选择用户文件系统FUSE实现。4.根据权利要求3所述的基于非易失内存设备的数据去冗余系统,其特征在于,所述的FUSE进程与某个或者多个特定的CPU物理核绑定。5.根据权利要求1所述的基于非易失内存设备的数据去冗余系统,其特征在于,所述的数据去冗余方法及其系统整合方式模块包括:数据指纹仓库,用于存储块文件数据指纹,所述的数据指纹是指块文件的哈希值;文件块表,每张文件块表代表着一个文件,每张文件块表存储着该文件所引用的块文件;文件引用数表,用于存储每个块文件的被引用数;FUSE标准读写接口,处于FUSE进程中,包含去冗余读写逻辑,与所述的数据指纹仓库、文件块表、文件引用数表和其他模块进行数据交换。6.根据权利要求5所述的基于非易失内存设备的数据去冗余系统,其特征在于,所述的读写逻辑中读取逻辑包括如下步骤:S1,根据普通进程调用的读系统调用接口中的路径参数以及具体读取位置参数,找到其想要打开的文件及其所对应的文件块表;S2,根据文件块表中的条目以及所述的具体读取位置参数,找到该文件内部在本次读取操作中所涉及到的块文件,及其文件名和大小;S3,循环读取涉及到的一个或者多个块文件,直至读取完所有要读取的数据或者是读取到文件尾;S4,将读取到的数据返回给普通进程,本次读取流程结束。7.根据权利要求5所述的基于非易失内存设备的数据去冗余系统,其特征在于,所述的读写逻辑中写入逻辑包括如下步骤:S1,根据普通进程调用的写系统调用接口中的路径参数以及起始写入位置参数,找到对应的文件及其所对应的文件块表;S2,将文件块表读取到内存链表之中,可定义为文件块链表,该链表每个节点包含着一个数...
【专利技术属性】
技术研发人员:李丁丁,唐立杰,田晓甲,汤庸,
申请(专利权)人:华南师范大学,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。