[發明專利]基于NOSQL的數據存儲方法在審
| 申請號: | 201510129427.6 | 申請日: | 2015-03-24 |
| 公開(公告)號: | CN104731907A | 公開(公告)日: | 2015-06-24 |
| 發明(設計)人: | 馬現珍;孫海峰;尤孝吉;崔樂樂 | 申請(專利權)人: | 浪潮集團有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30;G06F9/46 |
| 代理公司: | 濟南信達專利事務所有限公司 37100 | 代理人: | 姜明 |
| 地址: | 250101 山東*** | 國省代碼: | 山東;37 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 nosql 數據 存儲 方法 | ||
技術領域
本發明涉及計算機數據存儲技術領域,具體地說是一種基于NOSQL的數據存儲方法。
背景技術
????網絡存儲中的三種基本結構?(1)為DAS存儲、(2)為NAS存儲、(3)為SAN存儲。其中,直接附加存儲(DAS)應用于存規模不大,存儲需求簡單的場合。磁盤陣列、光盤塔或磁帶機等通過SCSI接口或者光口與服務器直連,這些外部存儲設備的數據共享僅限于單臺服務器的內部,不能實現外部數據共享。相對于DAS而言,NAS是一種改進DAS網絡文件存儲,在NAS存儲網絡中,NAS設備有自己的數據操作和管理系統,對外提供IP地址,有了NAS中嵌入式存儲系統的支持,本地局域網中的服務器和客戶機都可以直接訪問NAS服務器,提供一種安裝簡易、高性價比和高可用的低成本存儲。與前者不同的是,SAN通過光纖交換機(FC協議)將存儲設備連接起來,形成以光纖介質為主的存儲網絡。SAN存儲網絡中,存儲功能被剝離,數據以集中方式存儲。
隨著云計算中不斷增長的文件數據存儲需求,傳統的信息系統和文件系統混合存儲文件數據的方法已經不能滿足現有的海量文件數據存儲要求。
發明內容
本發明的技術任務是提供一種基于NOSQL的數據存儲方法。
本發明的技術任務是按以下方式實現的,該存儲方法是基于NOSQL中文件數據的存儲技術,通過分布式計算、網絡存儲、集群和虛擬化將多臺計算機集中起來協同參與存儲,共同向外界提供數據。
所述的文件在存儲時當二進制文件存儲到MongoDB數據庫,使得同一個文件的多個分片分布地存儲于分片服務器中,每個分片服務管理所有數據的子集映射,由mongos路由進程管理,應用程序通過mongos實現與多個分片服務器的通信。
所述的存儲方法的存儲信息流程步驟如下:
步驟1:獲得服務器中活動的CPU?數量,并從配置文件中獲取服務器節點數及數據分片情況;
步驟2:建立MongoDB連接池,連接池容量由服務器節點數確定,每個連接都具備自有屬性;
步驟3:根據CPU個數確定讀寫線程,并初始化mongo連接,同時還要創建讀/寫連接池;
步驟4:在主線程任務控制下,建立互斥鎖,使得多個讀寫進程協調工作;
步驟5:主線程分配數據分片,協調完成各數據分片的存取;
步驟6:互斥鎖釋放,各子線程完成子任務并于主線程歸集;
步驟7:計算統計主任務持續時間,最后結束。
本發明的基于NOSQL的數據存儲方法和現有技術相比,既可滿足于高并發讀寫性能需求,又可適用于服務器彈性擴展的需求;實現了文件型大數據的均衡存儲,該方法的負載均衡能力和可擴展度均優于傳統技術。
附圖說明
????附圖1為基于NOSQL的數據存儲方法的流程框圖。
附圖2為基于M?ongoDB的分布式文件存儲系統的組成結構圖。
具體實施方式
實施例1:
該存儲方法是基于NOSQL中文件數據的存儲技術,通過分布式計算、網絡存儲、集群和虛擬化將多臺計算機集中起來協同參與存儲,共同向外界提供數據。
文件在存儲時當二進制文件存儲到MongoDB數據庫,使得同一個文件的多個分片分布地存儲于分片服務器中,每個分片服務管理所有數據的子集映射,由mongos路由進程管理,應用程序通過mongos實現與多個分片服務器的通信。
所述的存儲方法的存儲信息流程步驟如下:
準備工作:硬件平臺的準備工作主要是硬件的選型,包括服務器和若干臺交換機。選用i53420處理器架構的主機5臺,內存型號為DDR34GB,硬盤型號為500G?B且具有SATA接口。云計算所需的骨干網絡帶寬需配置為1Gbps,選用帶光口和電口的交換機,交換機背板帶寬為4Gbps。準備10臺相同型號的工作站,工作站配置4GB內存,CPU?架構無限制。下載MongoDB數據庫,選用32位版本,使用命令的方式安裝MongoDB,安裝完成后,通過Mongod程序啟動MongoDB進程,也可以將MongoDB安裝為系統服務。MongoDB正常工作后,默認端口為27017,開發人員端口為28017。
步驟1:通過調用?Runtim?e.?getRuntim?e().avai?l?abl?eProcessors()功能,獲得服務器中活動的CPU?數量,并從配置文件中獲取服務器節點數及數據分片情況;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于浪潮集團有限公司;,未經浪潮集團有限公司;許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201510129427.6/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種基于ETL的數據清洗方法
- 下一篇:一種招聘網站個人簡歷自動推送方法
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





