面向小文件的分布式存儲(chǔ)中間件的設(shè)計(jì)與實(shí)現(xiàn)
發(fā)布時(shí)間:2021-08-12 02:45
隨著人工智能產(chǎn)業(yè)的不斷發(fā)展,在這樣的發(fā)展環(huán)境中,人工智能所需要訓(xùn)練的文件,如圖片,語(yǔ)料,聲頻等等的存儲(chǔ)量越來(lái)越大。傳統(tǒng)的單機(jī)存儲(chǔ)已經(jīng)很難達(dá)到產(chǎn)業(yè)文件容量的要求。而且隨著深度學(xué)習(xí)等算法的不斷發(fā)展,算法的準(zhǔn)確率不斷提升,算法的計(jì)算效率也隨著各種算法開源項(xiàng)目的發(fā)展不斷提升,存儲(chǔ)對(duì)算法效率的提升的影響也愈發(fā)明顯。在這樣的環(huán)境下,文件存儲(chǔ)就面連著海量數(shù)據(jù)與高性能的問(wèn)題。如何高效檢索,降低管理存儲(chǔ)成本,提高可靠性與高性能是當(dāng)前面向算法訓(xùn)練的存儲(chǔ)系統(tǒng)需要面對(duì)的問(wèn)題。該項(xiàng)目的實(shí)現(xiàn)則是為了解決前面提到的問(wèn)題應(yīng)運(yùn)而生的基于ceph分布式存儲(chǔ)方案的中間件。目前公司所存儲(chǔ)的文件主要在10KB100KB之間的小文件。在參照公司要求與當(dāng)前比較先進(jìn)的開源技術(shù)如Redis/Codis、tikv、etcd等構(gòu)建了中間件SenseAgent。該中間件使用了目前較快的穩(wěn)定存儲(chǔ)介質(zhì)nvme盤以及內(nèi)存分別實(shí)現(xiàn)了緩存的兩種模式,利用ceph實(shí)現(xiàn)了文件存儲(chǔ)的基礎(chǔ)服務(wù)。在分布式事務(wù)上,采用etcd作為分布式鎖的解決方案。利用tikv的開源項(xiàng)目實(shí)現(xiàn)了文件的元數(shù)據(jù)服務(wù)。在服務(wù)通訊商使用thrift-rpc以及go的...
【文章來(lái)源】:哈爾濱工業(yè)大學(xué)黑龍江省 211工程院校 985工程院校
【文章頁(yè)數(shù)】:90 頁(yè)
【學(xué)位級(jí)別】:碩士
【部分圖文】:
系統(tǒng)用例圖
哈爾濱工業(yè)大學(xué)工程碩士學(xué)位論文第 3 章 總體設(shè)計(jì)3.1 引言在前一章中,說(shuō)明了中間件的功能與非功能的需求以及中間件用例設(shè)計(jì)。本章著重介紹系統(tǒng)的架構(gòu)設(shè)計(jì)與部署結(jié)構(gòu),然后對(duì)系統(tǒng)的各個(gè)功能進(jìn)行模塊劃分,分別描述每個(gè)模塊的主要流程邏輯。3.2 系統(tǒng)功能結(jié)構(gòu)系統(tǒng)功能結(jié)構(gòu)如圖 3-1 所示。
圖 3-2 架構(gòu)圖戶端層:客戶端層主要由 SenseAgentFileSystem 后面簡(jiǎn)稱 Safs、ient 構(gòu)成。這三者都是基于 libsacli 這個(gè)公共庫(kù)編寫的,SAcmd 與使用 libsacli 的 c++與 python 客戶端,Safs 則是在客戶端之上使用自己的文件系統(tǒng)。用戶可以使用客戶端和 SenseAgent 進(jìn)行交互 可以通過(guò)命令行的形式直接調(diào)用 libsacli 中的文件傳輸函數(shù)。S裝在訓(xùn)練機(jī)器上的,由于訓(xùn)練任務(wù)是可以集中化管理并能夠遠(yuǎn)程署的機(jī)器中并沒(méi)有相關(guān)的數(shù)據(jù)集的信息,需要自定義一個(gè)文件系定的目錄上并將所需數(shù)據(jù)集的文件列表信息保存在自定的文件系時(shí)有文件系統(tǒng)像服務(wù)端層讀取。SAcmd 可以遠(yuǎn)程控制 SAfuse 中數(shù)據(jù)集的文件名列表。在客戶端層,SAclient 作為直接與服務(wù)端客戶端,主要負(fù)責(zé)提供文件讀寫接口,生成元數(shù)據(jù)以及文件打包
【參考文獻(xiàn)】:
期刊論文
[1]C++中STL技術(shù)的運(yùn)用[J]. 崔慶紅. 信息與電腦(理論版). 2009(10)
碩士論文
[1]基于關(guān)聯(lián)規(guī)則的緩存系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D]. 陶志.華中科技大學(xué) 2018
[2]基于LVS集群的動(dòng)態(tài)負(fù)載均衡算法研究[D]. 李杰.南昌航空大學(xué) 2018
本文編號(hào):3337418
【文章來(lái)源】:哈爾濱工業(yè)大學(xué)黑龍江省 211工程院校 985工程院校
【文章頁(yè)數(shù)】:90 頁(yè)
【學(xué)位級(jí)別】:碩士
【部分圖文】:
系統(tǒng)用例圖
哈爾濱工業(yè)大學(xué)工程碩士學(xué)位論文第 3 章 總體設(shè)計(jì)3.1 引言在前一章中,說(shuō)明了中間件的功能與非功能的需求以及中間件用例設(shè)計(jì)。本章著重介紹系統(tǒng)的架構(gòu)設(shè)計(jì)與部署結(jié)構(gòu),然后對(duì)系統(tǒng)的各個(gè)功能進(jìn)行模塊劃分,分別描述每個(gè)模塊的主要流程邏輯。3.2 系統(tǒng)功能結(jié)構(gòu)系統(tǒng)功能結(jié)構(gòu)如圖 3-1 所示。
圖 3-2 架構(gòu)圖戶端層:客戶端層主要由 SenseAgentFileSystem 后面簡(jiǎn)稱 Safs、ient 構(gòu)成。這三者都是基于 libsacli 這個(gè)公共庫(kù)編寫的,SAcmd 與使用 libsacli 的 c++與 python 客戶端,Safs 則是在客戶端之上使用自己的文件系統(tǒng)。用戶可以使用客戶端和 SenseAgent 進(jìn)行交互 可以通過(guò)命令行的形式直接調(diào)用 libsacli 中的文件傳輸函數(shù)。S裝在訓(xùn)練機(jī)器上的,由于訓(xùn)練任務(wù)是可以集中化管理并能夠遠(yuǎn)程署的機(jī)器中并沒(méi)有相關(guān)的數(shù)據(jù)集的信息,需要自定義一個(gè)文件系定的目錄上并將所需數(shù)據(jù)集的文件列表信息保存在自定的文件系時(shí)有文件系統(tǒng)像服務(wù)端層讀取。SAcmd 可以遠(yuǎn)程控制 SAfuse 中數(shù)據(jù)集的文件名列表。在客戶端層,SAclient 作為直接與服務(wù)端客戶端,主要負(fù)責(zé)提供文件讀寫接口,生成元數(shù)據(jù)以及文件打包
【參考文獻(xiàn)】:
期刊論文
[1]C++中STL技術(shù)的運(yùn)用[J]. 崔慶紅. 信息與電腦(理論版). 2009(10)
碩士論文
[1]基于關(guān)聯(lián)規(guī)則的緩存系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D]. 陶志.華中科技大學(xué) 2018
[2]基于LVS集群的動(dòng)態(tài)負(fù)載均衡算法研究[D]. 李杰.南昌航空大學(xué) 2018
本文編號(hào):3337418
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/3337418.html
最近更新
教材專著