基于MongoDB分布式集群架构的文件存储方法和系统技术方案

技术编号:15878659 阅读:48 留言:0更新日期:2017-07-25 16:39
本发明专利技术公开了一种基于MongoDB分布式集群架构的文件存储方法和系统,所述方法首先检查MongoDB分布式集群架构中是否存在与待存储文件相同的已存储文件;若存在,则将两者进行关联;若不存在,则判断待存储文件的大小;当待存储文件大于或等于预设值时,将待存储文件存储在GridFS中;当待存储文件小于预设值时,将待存储文件转换成BJSON格式并存储在Document中。本发明专利技术充分发挥了MongoDB分布式集群架构的优势,对大文件和小文件进行不同的读写,并具备NoSQL的所有优势,对高访问量、大并发支持良好,具有低成本、高性能、高可维护性等优势,从而降低运营成本,提高效率。

File storage method and system based on MongoDB distributed cluster architecture

The invention discloses a file storage method and system MongoDB based on distributed cluster architecture, the method of MongoDB distributed cluster architecture in the first check whether there is the same and the storage file stored files; if there is, the two were related; if not, judging the size of the file to be stored; when the file to be the store is larger than or equal to the preset value, to be stored in the GridFS file storage; when the storage file is less than a preset value, to be stored files into BJSON format and stored in Document. The invention has the advantages of MongoDB distributed cluster architecture, different read and write to the large files and small files, and have all the advantages of NoSQL, for high traffic and large concurrent support is good, has the advantages of low cost, high performance, high maintainability and other advantages, so as to reduce operating costs, improve efficiency.

【技术实现步骤摘要】
基于MongoDB分布式集群架构的文件存储方法和系统
本专利技术属于数据库管理和应用领域,具体涉及一种基于MongoDB分布式集群架构的文件存储方法和系统。
技术介绍
随着大数据时代的到来,海量的文件使得存储需求越来越大。阿里巴巴在2010年统计的数据如下:“淘宝整体图片存储系统容量1800TB(1.8PB),已经占用空间990TB(约1PB)。保存的图片文件数量达到286亿多个。”目前商业用途的文件数量、存储空间占用量和访问量都已经大大的超出了单台服务器能够承受的范围,因此分布式集群架构的替代方案正在受到越来越多的青睐。目前已有的文件存储方案,例如GFS、HDFS、Lustre、Ceph、mogileFS、TFS、FastDFS、Hadoop、Hive等都只能部署于Liunx系统的EXT2、EXT3等文件系统中,而Windows的FAT、NTFS几乎没有能用于海量文件的存储方案。
技术实现思路
本专利技术实施例的目的是提供一种基于MongoDB分布式集群架构的文件存储方法和系统,以MongoDB为基础构建分布式集群架构文件系统,具有低成本、高性能、高可维护性,降低企业运营成本,同时抛开本文档来自技高网...
基于MongoDB分布式集群架构的文件存储方法和系统

【技术保护点】
一种基于MongoDB分布式集群架构的文件存储方法,其特征在于,所述方法包括如下步骤:检查MongoDB分布式集群架构中是否存在与待存储文件相同的已存储文件;若存在,则将所述待存储文件与已存储文件进行关联;若不存在,则判断所述待存储文件的大小;当所述待存储文件大于或等于预设值时,将所述待存储文件存储在MongoDB的GridFS中;当所述待存储文件小于所述预设值时,将所述待存储文件转换成BJSON格式并存储在MongoDB的Document中。

【技术特征摘要】
1.一种基于MongoDB分布式集群架构的文件存储方法,其特征在于,所述方法包括如下步骤:检查MongoDB分布式集群架构中是否存在与待存储文件相同的已存储文件;若存在,则将所述待存储文件与已存储文件进行关联;若不存在,则判断所述待存储文件的大小;当所述待存储文件大于或等于预设值时,将所述待存储文件存储在MongoDB的GridFS中;当所述待存储文件小于所述预设值时,将所述待存储文件转换成BJSON格式并存储在MongoDB的Document中。2.根据权利要求1所述的文件存储方法,其特征在于,所述检查MongoDB分布式集群架构中是否存在与待存储文件相同的已存储文件,进一步包括:获取所述待存储文件的FileKey,检查所述MongoDB分布式集群架构中是否存在相同的FileKey;若存在,则将所述待存储文件与具有相同FileKey的已存储文件进行关联;若不存在,则计算所述待存储文件的MD5,检查所述MongoDB分布式集群架构中是否存在相同的MD5;若存在,则将所述待存储文件与具有相同MD5的已存储文件进行关联。3.根据权利要求1所述的文件存储方法,其特征在于,所述预设值为不大于Document对象允许的最大长度的值。4.根据权利要求2所述的文件存储方法,其特征在于,所述方法还包括:当MongoDB分布式集群架构中不存在与所述待存储文件相同的FileKey和MD5时,将FileKey存储到Key中,文件数据存储到Value中,在对所述文件进行读取、修改、删除时,使用FileKey进行操作。5.根据权利要求1至4任一项所述的文件存储方法,其特征在于,在检查MongoDB分布式集群架构中是否存在与待存储文件相同的已存储文件之前,所述方法还包括:通过Http或Tcp的方式提供统一的客户程序访问接口。6.一种基于MongoDB分布式集群架构的文件存储系统,其特征在于,所述系统包括:查重模块,关联模块,大小判断模块,第一存储模块,格式转换模块,第二存储模块;其中,所述查重模块用于检查MongoDB分布式集群架构中是否存在与待存储文件相同的已存储文件;所述关联模块与所述查重模块...

【专利技术属性】
技术研发人员:冯尔斌朱兴张学军
申请(专利权)人:航天信息股份有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1