一种便捷的备份邮件到hdfs上的方法

文档序号:6640755研发日期:2014年阅读:217来源:国知局
一种便捷的备份邮件到hdfs上的方法
【专利摘要】本发明公开一种便捷的备份邮件到HDFS上的方法,属于大数据管理领域,具体步骤为①在本地系统的userspace中设置定时器,定时器定期检查用户邮箱,通过访问邮件的本地挂载点,把请求路径交给VFS模块,VFS再交给fuse模块,实现邮件的读取,并返回读取内容给VFS模块;②VFS模块将内容返回给读取线程,再返回给定时器,定时器读取hdfs在本地挂载点目录,Hdfs读取线程访问VFS,VFS访问fuse,读取hdfs内容;③VFS把读取内容返回给hdfs,Hdfs把内容返回给定时器,定时器完成邮件内容和hdfs内容的对比,确定邮件同步,Hdfs读取线程存储邮件到hdfs;本发明简化了以往备份邮件的复杂操作,提升了工作效率。
【专利说明】一种便捷的备份邮件到HDFS上的方法

【技术领域】
[0001]本发明公开一种便捷的备份邮件到HDFS上的方法,属于大数据管理领域。

【背景技术】
[0002]Hadoop 利用 HDFS, Hadoop Distributed File System,分布式文件系统存储数据,利用namenode来存储文件系统的元数据,datanode用于存储数据本身。并且为了避免SP0F, Single Point of Failure,单一故障点问题的产生,namenode元数据节点支持HA软件特性。Namenode支持HA特性可以保证元数据的安全性。同样的,为了保证数据的安全性,避免数据丢失。HDFS引入了文件备份机制,默认情况下是一备三,即一个文件有三个备份。并且HDFS的HA和备份机制可以兼用于重要文件的保存。
[0003]目前Google增大Gmail邮箱空间之后,各大邮件服务提供商也相继跟风。邮箱的容量以数十GB甚至上百GB计量的,意味着邮箱可以存储的邮件更多,单封邮件可以存储的时间更长。如今人与人的沟通交流的方式尤其是大公司、大企业内部的信息交流以邮件为主。如何让邮件信息的快捷保存以便交流,并且不会因服务提供商的服务器被黑、服务提供商的信息迁移、公司内鬼等因素导致用户邮件丢失,成为亟待解决的问题。本发明针对上述问题提出的一种便捷的备份邮件到HDFS上的方法,利用fuse把邮件和HDFS分别都挂在为本地文件系统的一个目录,利用定时器定期检查邮箱的更新情况,如果邮件有变动就启动文件拷贝线程把邮件挂载点下的更新的邮件拷贝到HDFS挂载点的相应的目录下,整个过程就像操作本地文件一样,大大简化了以往备份邮件的复杂操作,提升了工作效率,更重要的是通过本发明方法可以把邮件安全备份到HDFS,避免重要邮件丢失造成的损失。


【发明内容】

[0004]本发明针对如何让邮件信息的快捷保存以便交流,并且不会因服务提供商的服务器被黑、服务提供商的信息迁移、公司内鬼等因素导致用户邮件丢失的问题,提供一种便捷的备份邮件到HDFS上的方法,简化了以往备份邮件的复杂操作,提升了工作效率,更重要的是通过本发明方法可以把邮件安全备份到HDFS,避免重要邮件丢失造成的损失。
[0005]本发明方法主要是基于fuse来实现的。fuse在用户态实现文件系统的接口。Linux发行版都在内核集成了 fuse模块,可以通过modprobe fuse命令来启用fuse模块。要把邮箱空间挂载到Linux本地文件系统上基于fuse实现一个文件系统,python的imap可以胜任这一需求,我们把该文件系统统一称为mail_fuse_fs。此外 Hadoop发行版已经利用fuse实现了把hdfs挂在为本地文件系统的功能。用户只需要编译相应的模块就可以使用。
[0006]通过利用上述技术将邮件和HDFS都挂载到本地文件系统上。可以像操作本地文件一样对这两个挂载目录进行同步。本方法使用定时器来定期进行邮件和HDFS的同步。本方法不仅适用于邮件的备份,博客、网盘的备份同样也可以采用本方法。
[0007]本发明提出的具体方案是:一种便捷的备份邮件到HDFS上的方法,具体步骤为:
①在本地系统的userspace中设置定时器,定时器定期检查用户邮箱,通过访问邮件的本地挂载点,把请求路径交给VFS模块,VFS将请求路径交给fuse模块,mail_fuse_fs文件系统实现邮件的读取,返回给fuse模块读取的内容,fuse模块将邮件内容返回给VFS模块;
②VFS模块将内容返回给读取线程,读取线程将读取的内容返回给定时器,定时器读取hdfs在本地挂载点目录,Hdfs读取线程访问VFS, VFS访问fuse, fuse调用hdfs fuse模块读取hdfs内容;
③VFS把读取内容返回给hdfs读取线程,Hdfs读取线程把hdfs内容返回给定时器,定时器完成邮件内容和hdfs内容的对比,确定哪些邮件需要同步,定时器调用hdfs写线程,Hdfs写线程完成邮件跟hdfs同步。
[0008]所述的步骤③中,Hdfs写线程将多封邮件进行归档后跟hdfs同步。
[0009]所述的邮件为Gmail邮件。
[0010]所述的一种便捷的备份邮件到HDFS上的方法应用于处理博客到HDFS上,具体步骤为:
①在本地系统的userspace中设置定时器,定时器定期检查用户博客,通过访问博客的本地挂载点,把请求路径交给VFS模块,VFS将请求路径交给fuse模块,bl0g_fuse_f s文件系统实现博客的读取,返回给fuse模块读取的内容,fuse模块将博客内容返回给VFS模块;
②VFS模块将内容返回给读取线程,读取线程将读取的内容返回给定时器,定时器读取hdfs在本地挂载点目录,Hdfs读取线程访问VFS, VFS访问fuse, fuse调用hdfs fuse模块读取hdfs内容;
③VFS把读取内容返回给hdfs读取线程,Hdfs读取线程把hdfs内容返回给定时器,定时器完成博客内容和hdfs内容的对比,确定哪些博客需要同步,定时器调用hdfs写线程,Hdfs写线程完成博客跟hdfs同步。
[0011]所述的一种便捷的备份邮件到HDFS上的方法应用于处理网盘备份到HDFS上,具体步骤为:
①在本地系统的userspace中设置定时器,定时器定期检查用户邮箱,通过访问网盘备份的本地挂载点,把请求路径交给VFS模块,VFS将请求路径交给fuse模块,networkdisk_fuse_fs文件系统实现网盘备份的读取,返回给fuse模块读取的内容,fuse模块将网盘备份内容返回给VFS模块;
②VFS模块将内容返回给读取线程,读取线程将读取的内容返回给定时器,定时器读取hdfs在本地挂载点目录,Hdfs读取线程访问VFS, VFS访问fuse, fuse调用hdfs fuse模块读取hdfs内容;
③VFS把读取内容返回给hdfs读取线程,Hdfs读取线程把hdfs内容返回给定时器,定时器完成网盘备份内容和hdfs内容的对比,确定哪些网盘备份需要同步,定时器调用hdfs写线程,Hdfs写线程完成网盘备份跟hdfs同步。
[0012]本发明的有益之处是:本发明利用fuse把邮件和HDFS分别都挂在为本地文件系统的一个目录,利用定时器定期检查邮箱的更新情况,如果邮件有变动就启动文件拷贝线程把邮件挂载点下的更新的邮件拷贝到HDFS挂载点的相应的目录下,整个过程就像操作本地文件一样,大大简化了以往备份邮件的复杂操作,提升了工作效率,更重要的是通过本发明方法可以把邮件安全备份到HDFS,避免重要邮件丢失造成的损失。

【专利附图】

【附图说明】
[0013]图1本发明实施方式示意图。

【具体实施方式】
[0014]本发明方法主要是基于fuse来实现的。fuse在用户态实现文件系统的接口。Linux发行版都在内核集成了 fuse模块,可以通过modprobe fuse命令来启用fuse模块。要把邮箱空间挂载到Linux本地文件系统上基于fuse实现一个文件系统,python的imap可以胜任这一需求,我们把该文件系统统一称为mail_fuse_fs。此外 Hadoop发行版已经利用fuse实现了把hdfs挂在为本地文件系统的功能。用户只需要编译相应的模块就可以使用。
[0015]通过利用上述技术将邮件和HDFS都挂载到本地文件系统上。可以像操作本地文件一样对这两个挂载目录进行同步。本方法使用定时器来定期进行邮件和HDFS的同步。本方法不仅适用于邮件的备份,博客、网盘的备份同样也可以采用本方法。以Gmail为例,进一步阐述本发明,从图中可看出本发明方法的流程依次为:
1定时器定期检查gmail邮箱;
2访问gmail的本地挂载点,最终会把请求路径交给VFS模块;
3Vfs将请求路径交给fuse模块;
4Gmail_fuse_fs文件系统实现gmail邮件的读取;
5返回给fuse模块读取的内容;
6Fuse模块将邮件内容返回给vfs模块;
7Vfs模块将内容返回给读取线程;
8读取线程将读取的内容返回给定时器;
9定时器读取hdfs在本地挂载点目录;lOHdfs读取线程访问vfs ;llVfs 访问 fuse ;
12Fuse调用hdfs fuse模块读取hdfs内容;
13Vfs把读取内容返回给hdfs读取线程;
14Hdfs读取线程把hdfs内容返回给定时器,定时器完成gmail内容和hdfs内容的对t匕,确定哪些邮件需要同步;
15定时器调用hdfs写线程;
16 Hdfs写线程完成gmail跟hdfs的同步。
[0016]整个过程,由于gmail邮件大小可能比较少,所以在步骤16可以考虑把gmail多封邮件进行归档后在存储到hdfs上。
【权利要求】
1.一种便捷的备份邮件到HDFS上的方法,其特征是具体步骤为:①在本地系统的userspace中设置定时器,定时器定期检查用户邮箱,通过访问邮件的本地挂载点,把请求路径交给VFS模块,VFS将请求路径交给fuse模块,mail_fuse_fs文件系统实现邮件的读取,返回给fuse模块读取的内容,fuse模块将邮件内容返回给VFS模块;②VFS模块将内容返回给读取线程,读取线程将读取的内容返回给定时器,定时器读取hdfs在本地挂载点目录,Hdfs读取线程访问VFS, VFS访问fuse, fuse调用hdfs fuse模块读取hdfs内容;③VFS把读取内容返回给hdfs读取线程,Hdfs读取线程把hdfs内容返回给定时器,定时器完成邮件内容和hdfs内容的对比,确定哪些邮件需要同步,定时器调用hdfs写线程,Hdfs写线程完成邮件跟hdfs同步。
2.根据权利要求1所述的一种便捷的备份邮件到HDFS上的方法,其特征是所述的步骤③中,Hdfs写线程将多封邮件进行归档后跟hdfs同步。
3.根据权利要求1或2所述的一种便捷的备份邮件到HDFS上的方法,其特征是所述的邮件为Gmail邮件。
4.根据权利要求1所述的一种便捷的备份邮件到HDFS上的方法应用于处理博客到HDFS上,其特征是具体步骤为:①在本地系统的userspace中设置定时器,定时器定期检查用户博客,通过访问博客的本地挂载点,把请求路径交给VFS模块,VFS将请求路径交给fuse模块,bl0g_fuse_f s文件系统实现博客的读取,返回给fuse模块读取的内容,fuse模块将博客内容返回给VFS模块;②VFS模块将内容返回给读取线程,读取线程将读取的内容返回给定时器,定时器读取hdfs在本地挂载点目录,Hdfs读取线程访问VFS, VFS访问fuse, fuse调用hdfs fuse模块读取hdfs内容;③VFS把读取内容返回给hdfs读取线程,Hdfs读取线程把hdfs内容返回给定时器,定时器完成博客内容和hdfs内容的对比,确定哪些博客需要同步,定时器调用hdfs写线程,Hdfs写线程完成博客跟hdfs同步。
5.根据权利要求1所述的一种便捷的备份邮件到HDFS上的方法应用于处理网盘备份到HDFS上,其特征是具体步骤为:①在本地系统的userspace中设置定时器,定时器定期检查用户邮箱,通过访问网盘备份的本地挂载点,把请求路径交给VFS模块,VFS将请求路径交给fuse模块,networkdisk_fuse_fs文件系统实现网盘备份的读取,返回给fuse模块读取的内容,fuse模块将网盘备份内容返回给VFS模块;②VFS模块将内容返回给读取线程,读取线程将读取的内容返回给定时器,定时器读取hdfs在本地挂载点目录,Hdfs读取线程访问VFS, VFS访问fuse, fuse调用hdfs fuse模块读取hdfs内容;③VFS把读取内容返回给hdfs读取线程,Hdfs读取线程把hdfs内容返回给定时器,定时器完成网盘备份内容和hdfs内容的对比,确定哪些网盘备份需要同步,定时器调用hdfs写线程,Hdfs写线程完成网盘备份跟hdfs同步。
【文档编号】G06F11/14GK104407946SQ201410845600
【公开日】2015年3月11日 申请日期:2014年12月31日 优先权日:2014年12月31日
【发明者】李占强, 辛国茂 申请人:浪潮电子信息产业股份有限公司
网友询问留言 留言:0条
  • 还没有人留言评论。精彩留言会获得点赞!