基于nosql的数据存储方法

文档序号:8412574阅读:586来源:国知局
基于nosql的数据存储方法
【专利说明】基于NOSQL的数据存储方法
[0001]
技术领域
[0002]本发明涉及计算机数据存储技术领域,具体地说是一种基于NOSQL的数据存储方法。
【背景技术】
[0003]网络存储中的三种基本结构(I)为DAS存储、⑵为NAS存储、(3)为SAN存储。其中,直接附加存储(DAS)应用于存规模不大,存储需求简单的场合。磁盘阵列、光盘塔或磁带机等通过SCSI接口或者光口与服务器直连,这些外部存储设备的数据共享仅限于单台服务器的内部,不能实现外部数据共享。相对于DAS而言,NAS是一种改进DAS网络文件存储,在NAS存储网络中,NAS设备有自己的数据操作和管理系统,对外提供IP地址,有了NAS中嵌入式存储系统的支持,本地局域网中的服务器和客户机都可以直接访问NAS服务器,提供一种安装简易、高性价比和高可用的低成本存储。与前者不同的是,SAN通过光纤交换机(FC协议)将存储设备连接起来,形成以光纤介质为主的存储网络。SAN存储网络中,存储功能被剥离,数据以集中方式存储。
[0004]随着云计算中不断增长的文件数据存储需求,传统的信息系统和文件系统混合存储文件数据的方法已经不能满足现有的海量文件数据存储要求。
[0005]

【发明内容】

本发明的技术任务是提供一种基于NOSQL的数据存储方法。
[0006]本发明的技术任务是按以下方式实现的,该存储方法是基于NOSQL中文件数据的存储技术,通过分布式计算、网络存储、集群和虚拟化将多台计算机集中起来协同参与存储,共同向外界提供数据。
[0007]所述的文件在存储时当二进制文件存储到MongoDB数据库,使得同一个文件的多个分片分布地存储于分片服务器中,每个分片服务管理所有数据的子集映射,由mongos路由进程管理,应用程序通过mongos实现与多个分片服务器的通信。
[0008]所述的存储方法的存储信息流程步骤如下:
步骤1:获得服务器中活动的CPU数量,并从配置文件中获取服务器节点数及数据分片情况;
步骤2:建立MongoDB连接池,连接池容量由服务器节点数确定,每个连接都具备自有属性;
步骤3:根据CPU个数确定读写线程,并初始化mongo连接,同时还要创建读/写连接池;
步骤4:在主线程任务控制下,建立互斥锁,使得多个读写进程协调工作;
步骤5:主线程分配数据分片,协调完成各数据分片的存取;
步骤6:互斥锁释放,各子线程完成子任务并于主线程归集; 步骤7:计算统计主任务持续时间,最后结束。
[0009]本发明的基于NOSQL的数据存储方法和现有技术相比,既可满足于高并发读写性能需求,又可适用于服务器弹性扩展的需求;实现了文件型大数据的均衡存储,该方法的负载均衡能力和可扩展度均优于传统技术。
【附图说明】
[0010]附图1为基于NOSQL的数据存储方法的流程框图。
[0011]附图2为基于M ongoDB的分布式文件存储系统的组成结构图。
【具体实施方式】
[0012]实施例1:
该存储方法是基于NOSQL中文件数据的存储技术,通过分布式计算、网络存储、集群和虚拟化将多台计算机集中起来协同参与存储,共同向外界提供数据。
[0013]文件在存储时当二进制文件存储到MongoDB数据库,使得同一个文件的多个分片分布地存储于分片服务器中,每个分片服务管理所有数据的子集映射,由mongos路由进程管理,应用程序通过mongos实现与多个分片服务器的通信。
[0014]所述的存储方法的存储信息流程步骤如下:
准备工作:硬件平台的准备工作主要是硬件的选型,包括服务器和若干台交换机。选用i53420处理器架构的主机5台,内存型号为DDR34GB,硬盘型号为500G B且具有SATA接口。云计算所需的骨干网络带宽需配置为lGbps,选用带光口和电口的交换机,交换机背板带宽为4Gbps。准备10台相同型号的工作站,工作站配置4GB内存,CPU架构无限制。下载MongoDB数据库,选用32位版本,使用命令的方式安装MongoDB,安装完成后,通过Mongod程序启动MongoDB进程,也可以将MongoDB安装为系统服务。MongoDB正常工作后,默认端口为27017,开发人员端口为28017。
[0015]步骤1:通过调用 Runtim e.getRuntim e 0.avai I abl eProcessors ()功能,获得服务器中活动的CPU数量,并从配置文件中获取服务器节点数及数据分片情况;
步骤2:建立MongoDB连接池,连接池容量由服务器节点数确定,每个连接都具备自有属性;
步骤3:根据CPU个数确定读写线程,并初始化mongo连接,同时还要创建读/写连接池;
步骤4:在主线程任务控制下,建立互斥锁,使得多个读写进程协调工作;
步骤5:主线程分配数据分片,协调完成各数据分片的存取;
步骤6:互斥锁释放,各子线程完成子任务并于主线程归集;
步骤7:计算统计主任务持续时间,最后结束。
[0016]名词解释:
非关系型数据库(NoSQL)为存储底层的云存储系统,这种系统将多台计算机集中起来协同参与存储,共同向外界提供数据存储服务,既可满足于高并发读写性能需求,又可适用于服务器弹性扩展的需求。
[0017]Mongo数据库是目前在IT行业非常流行的一种非关系型数据库(NoSql),可应用于对高并发访问,高网络吞吐的计算场合。
[0018]通过上面【具体实施方式】,所述技术领域的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的几种【具体实施方式】。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。
【主权项】
1.基于NOSQL的数据存储方法,其特征在于,该存储方法是基于NOSQL中文件数据的存储技术,通过分布式计算、网络存储、集群和虚拟化将多台计算机集中起来协同参与存储,共同向外界提供数据。
2.根据权利要求1所述的基于NOSQL的数据存储方法,其特征在于,所述的文件在存储时当二进制文件存储到MongoDB数据库,使得同一个文件的多个分片分布地存储于分片服务器中,每个分片服务管理所有数据的子集映射,由mongos路由进程管理,应用程序通过mongos实现与多个分片服务器的通信。
3.根据权利要求1所述的基于NOSQL的数据存储方法,其特征在于,所述的存储方法的存储信息流程步骤如下: 步骤1:获得服务器中活动的CPU数量,并从配置文件中获取服务器节点数及数据分片情况; 步骤2:建立MongoDB连接池,连接池容量由服务器节点数确定,每个连接都具备自有属性; 步骤3:根据CPU个数确定读写线程,并初始化mongo连接,同时还要创建读/写连接池; 步骤4:在主线程任务控制下,建立互斥锁,使得多个读写进程协调工作; 步骤5:主线程分配数据分片,协调完成各数据分片的存取; 步骤6:互斥锁释放,各子线程完成子任务并于主线程归集; 步骤7:计算统计主任务持续时间,最后结束。
【专利摘要】本发明公开了一种基于NOSQL的数据存储方法,该存储方法是基于NOSQL中文件数据的存储技术,通过分布式计算、网络存储、集群和虚拟化将多台计算机集中起来协同参与存储,共同向外界提供数据。本发明的基于NOSQL的数据存储方法和现有技术相比,既可满足于高并发读写性能需求,又可适用于服务器弹性扩展的需求;实现了文件型大数据的均衡存储,该方法的负载均衡能力和可扩展度均优于传统技术。
【IPC分类】G06F17-30, G06F9-46
【公开号】CN104731907
【申请号】CN201510129427
【发明人】马现珍, 孙海峰, 尤孝吉, 崔乐乐
【申请人】浪潮集团有限公司
【公开日】2015年6月24日
【申请日】2015年3月24日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1