本發(fā)明專利技術(shù)提供一種基于HDFS的文件溯源FTP系統(tǒng),包括FTP服務(wù)端從客戶端接收N個(gè)上傳文件請(qǐng)求后發(fā)起N個(gè)并發(fā)線程,每一線程調(diào)用上傳文件模塊上傳客戶端發(fā)送的文件,每一線程對(duì)應(yīng)一文件;上傳文件模塊上傳文件到HDFS文件系統(tǒng),所述上傳文件模塊確定文件已上傳到HDFS文件系統(tǒng)后將調(diào)用歷史記錄模塊;歷史記錄模塊從文件流池中獲取空閑的文件流,應(yīng)用所述文件流將文件的上傳信息寫入歷史記錄文件中,所述上傳信息用于文件溯源;文件流池,存儲(chǔ)多個(gè)文件流的介質(zhì),每一文件流管理一個(gè)歷史記錄文件;HDFS文件系統(tǒng),存儲(chǔ)被上傳文件的文件系統(tǒng)。應(yīng)用FTP服務(wù)端往HDFS文件系統(tǒng)上傳文件時(shí)可以在所述的歷史記錄文件中記錄文件上傳信息,便于后期維護(hù)時(shí)查看、溯源。
【技術(shù)實(shí)現(xiàn)步驟摘要】
本專利技術(shù)涉及分布式文件系統(tǒng),尤其涉及一種基于HDFS的文件溯源FTP系統(tǒng)。
技術(shù)介紹
移動(dòng)互聯(lián)網(wǎng)時(shí)代,移動(dòng)通信行業(yè)的用戶行為數(shù)據(jù)量激增,數(shù)據(jù)分析領(lǐng)域采用先進(jìn)的大數(shù)據(jù)技術(shù)進(jìn)行數(shù)據(jù)分析和數(shù)據(jù)訪問(wèn)工作。Hadoop分布式文件系統(tǒng)被設(shè)計(jì)成適合運(yùn)行在通用硬件上的分布式文件系統(tǒng),它和現(xiàn)有的分布式文件系統(tǒng)有很多共同點(diǎn)。HDFS是一個(gè)高度容錯(cuò)性的系統(tǒng),適合部署在廉價(jià)的機(jī)器上。HDFS能提供高吞吐量的數(shù)據(jù)訪問(wèn),非常適合大規(guī)模數(shù)據(jù)集上的應(yīng)用。HDFS放寬了一部分POSIX約束,來(lái)實(shí)現(xiàn)流式讀取文件系統(tǒng)數(shù)據(jù)的目的。HDFS-0VER-FTP是一個(gè)開(kāi)源的,簡(jiǎn)單易用的實(shí)現(xiàn)了對(duì)HDFS文件系統(tǒng)的上傳和下載的FTP服務(wù)器。但是現(xiàn)有技術(shù)中對(duì)上傳文件沒(méi)有歷史記錄,不便于后期維護(hù)查看。
技術(shù)實(shí)現(xiàn)思路
本專利技術(shù)要解決的技術(shù)問(wèn)題,在于提供一種基于HDFS的文件溯源FTP系統(tǒng),解決了現(xiàn)有技術(shù)中往HDFS文件系統(tǒng)上傳文件后,后期無(wú)法維護(hù)和查看,無(wú)法進(jìn)行溯源的問(wèn)題。本專利技術(shù)是這樣實(shí)現(xiàn)的:一種基于HDFS的文件溯源FTP系統(tǒng),包括FTP服務(wù)端、上傳文件模塊、歷史記錄模塊、HDFS文件系統(tǒng)以及文件流池;FTP服務(wù)端從客戶端接收N個(gè)上傳文件請(qǐng)求后發(fā)起N個(gè)并發(fā)線程,每一線程調(diào)用上傳文件模塊上傳客戶端發(fā)送的文件,每一線程對(duì)應(yīng)一文件;上傳文件模塊上傳文件到HDFS文件系統(tǒng),所述上傳文件模塊確定文件已上傳到HDFS文件系統(tǒng)后將調(diào)用歷史記錄模塊;歷史記錄模塊從文件流池中獲取空閑的文件流,應(yīng)用所述文件流將文件的上傳信息寫入歷史記錄文件中,所述上傳信息用于文件溯源;文件流池,存儲(chǔ)多個(gè)文件流的介質(zhì),所述每一文件流管理一個(gè)歷史記錄文件;HDFS文件系統(tǒng),存儲(chǔ)被上傳文件的文件系統(tǒng)。其中,若所述上傳文件模塊上傳文件到HDFS文件系統(tǒng)失敗,則返回錯(cuò)誤信息至客戶端,客戶端重新發(fā)起上傳文件請(qǐng)求。其中,若所述上傳文件模塊上傳文件到HDFS文件系統(tǒng)成功,則返回成功信息至客戶系統(tǒng)。其中,所述的上傳信息包括所上傳文件的文件名、開(kāi)始上傳時(shí)間、結(jié)束上傳時(shí)間、上傳成功與否標(biāo)識(shí)。其中,所述歷史記錄文件中所記錄的各上傳信息之間用符號(hào)間隔。其中,所述文件流池為物理硬盤。其中,所述文件流池的文件流數(shù)量可配置。本專利技術(shù)的優(yōu)點(diǎn)在于:其一、應(yīng)用所述的FTP服務(wù)端,往HDFS文件系統(tǒng)上傳文件時(shí)可以在所述的歷史記錄文件中記錄文件上傳信息,便于后期維護(hù)時(shí)查看、溯源。其二、所述的基于HDFS的文件溯源FTP系統(tǒng)實(shí)現(xiàn)并發(fā)的文件上傳、下載功能,并發(fā)的記錄上傳信息,工作效率高,實(shí)時(shí)性好。【附圖說(shuō)明】圖1為本專利技術(shù)的一種基于HDFS的文件溯源FTP系統(tǒng)的結(jié)構(gòu)示意圖。標(biāo)號(hào)說(shuō)明:客戶端-100FTP服務(wù)端-200 上傳文件模塊-300歷史記錄模塊-400文件流池-500【具體實(shí)施方式】為詳細(xì)說(shuō)明本專利技術(shù)的
技術(shù)實(shí)現(xiàn)思路
、構(gòu)造特征、所實(shí)現(xiàn)目的及效果,以下結(jié)合實(shí)施方式并配合附圖詳予說(shuō)明。HDFS-0VER-FTP是一個(gè)開(kāi)源的,簡(jiǎn)單易用的實(shí)現(xiàn)了對(duì)HDFS文件系統(tǒng)的上傳和下載的FTP服務(wù)端200。本專利技術(shù)應(yīng)用所述的FTP服務(wù)端200實(shí)現(xiàn)文件的上傳、下載和溯源等功能,本專利技術(shù)公開(kāi)一種基于HDFS的文件溯源FTP系統(tǒng),具體的包括:FTP服務(wù)端200、上傳文件模塊300、歷史記錄模塊400、HDFS文件系統(tǒng)以及文件流池500 ;FTP服務(wù)端200從客戶端100接收N個(gè)上傳文件請(qǐng)求后發(fā)起N個(gè)并發(fā)線程,每一線程調(diào)用上傳文件模塊300上傳客戶端100發(fā)送的文件,每一線程對(duì)應(yīng)一文件;上傳文件模塊300上傳文件到HDFS文件系統(tǒng),所述上傳文件模塊300確定文件已上傳到HDFS文件系統(tǒng)后將調(diào)用歷史記錄模塊;歷史記錄模塊從文件流池500中獲取空閑的文件流,應(yīng)用所述文件流將文件的上傳信息寫入歷史記錄文件中,所述上傳信息用于文件溯源;文件流池500,存儲(chǔ)多個(gè)文件流的介質(zhì),所述每一文件流管理一個(gè)歷史記錄文件;HDFS文件系統(tǒng),存儲(chǔ)被上傳文件的文件系統(tǒng)。參閱圖1所示,多個(gè)客戶端100同時(shí)上傳文件,F(xiàn)TP服務(wù)端200接收到多個(gè)上傳文件的請(qǐng)求,然后發(fā)起多個(gè)線程并發(fā)的處理,每個(gè)線程對(duì)應(yīng)一個(gè)文件,每個(gè)線程通過(guò)調(diào)用上傳文件模塊300來(lái)上傳文件,上傳文件模塊300負(fù)責(zé)把文件上傳到HDFS文件系統(tǒng)中。若上傳文件成功,則此線程會(huì)調(diào)用歷史記錄模塊,歷史記錄模塊從文件流池500里去獲得一個(gè)空閑的文件流,如果暫時(shí)沒(méi)有空閑的文件流,則等待一段時(shí)間再去獲取,直至獲得空閑的文件流,通過(guò)這個(gè)文件流向?qū)?yīng)的歷史記錄文件中寫入上傳信息,所述的文件流池500中的文件流主要用于解決多線程高并發(fā)的上傳文件時(shí)歷史記錄模塊可能會(huì)帶來(lái)的性能問(wèn)題,以此通過(guò)所述的文件流管理歷史記錄文件保障系統(tǒng)穩(wěn)定運(yùn)行。在各種實(shí)施方式中,所述的上傳信息包括所上傳文件的文件名、開(kāi)始上傳時(shí)間、結(jié)束上傳時(shí)間、上傳成功與否標(biāo)識(shí)等,調(diào)用所述的上傳信息即可對(duì)所述的文件進(jìn)行溯源,所述上傳信息不僅僅局限于本例所列的類型,所述上傳信息可依據(jù)使用者的需求設(shè)定類別。在又一優(yōu)選的實(shí)施方式中,為了能夠清楚的區(qū)分各個(gè)上傳信息,所述的上傳信息之間用符號(hào)間隔,所述的符號(hào)可以為分隔符、逗號(hào)、加號(hào)、斜線等各種能夠表征區(qū)別的符號(hào)。上述實(shí)施方式的一種改進(jìn)方式中,若所述上傳文件模塊300上傳文件到HDFS文件系統(tǒng)失敗,則返回錯(cuò)誤信息至客戶端100,客戶端100重新發(fā)起上傳文件請(qǐng)求。通過(guò)該方式能夠保證所有文件都上傳至所述的HDFS文件系統(tǒng)。上述實(shí)施方式的一種改進(jìn)方式中,若所述上傳文件模塊300上傳文件到HDFS文件系統(tǒng)成功,則返回成功信息至客戶端100。該方式便于客戶端100能夠?qū)ι蟼鞒晒Φ奈募M(jìn)行統(tǒng)計(jì),并可應(yīng)用于后期的跟蹤、溯源。上述實(shí)施方式中,所述的文件流池500優(yōu)選的采用物理硬盤,文件流池里面存儲(chǔ)了多個(gè)文件流,文件流連接到物理硬盤上的一個(gè)物理文件,文件流可以對(duì)這個(gè)物理文件進(jìn)行讀寫操作,即每個(gè)文件流對(duì)應(yīng)到物理硬盤上的一個(gè)歷史記錄文件通過(guò)文件流可以讀寫所述的歷史記錄文件,所述歷史記錄文件的文件名可配置,本專利技術(shù)可以通過(guò)在配置文件hdfs-over-ftp.properties 中提供 log_prefix_record_operat1ns_put 配置項(xiàng)來(lái)讓用戶自定義歷史記錄文件的文件名主體部分,文件名主體部分+當(dāng)前日期+.log構(gòu)成完整的文件名。在又一優(yōu)選的實(shí)施方式中,在配置文件hdfs-over-ftp.properties中提供了 log_max_os配置項(xiàng)來(lái)讓用戶自定義文件流池500中緩存的文件流的數(shù)量,達(dá)到文件流池500中的文件流數(shù)量可配置的目的,并且文件流可以根據(jù)自定制的時(shí)間來(lái)切換到新的物理文件。上所述僅為本專利技術(shù)一種基于HDFS的文件溯源FTP系統(tǒng)的實(shí)施例,并非因此限制本專利技術(shù)的專利范圍,凡是利用本專利技術(shù)說(shuō)明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的
,均同理包括在本專利技術(shù)的專利保護(hù)范圍內(nèi)。【主權(quán)項(xiàng)】1.一種基于HDFS的文件溯源FTP系統(tǒng),其特征在于:包括FTP服務(wù)端、上傳文件模塊、歷史記錄模塊、HDFS文件系統(tǒng)以及文件流池; FTP服務(wù)端從客戶端接收N個(gè)上傳文件請(qǐng)求后發(fā)起N個(gè)并發(fā)線程,每一線程調(diào)用上傳文件模塊上傳客戶端發(fā)送的文件,每一線程對(duì)應(yīng)一文件; 上傳文件模塊上傳文件到HDFS文件系統(tǒng),所述上傳文件模塊確定文件已上傳到H本文檔來(lái)自技高網(wǎng)...
【技術(shù)保護(hù)點(diǎn)】
一種基于HDFS的文件溯源FTP系統(tǒng),其特征在于:包括FTP服務(wù)端、上傳文件模塊、歷史記錄模塊、HDFS文件系統(tǒng)以及文件流池;FTP服務(wù)端從客戶端接收N個(gè)上傳文件請(qǐng)求后發(fā)起N個(gè)并發(fā)線程,每一線程調(diào)用上傳文件模塊上傳客戶端發(fā)送的文件,每一線程對(duì)應(yīng)一文件;上傳文件模塊上傳文件到HDFS文件系統(tǒng),所述上傳文件模塊確定文件已上傳到HDFS文件系統(tǒng)后將調(diào)用歷史記錄模塊;歷史記錄模塊從文件流池中獲取空閑的文件流,應(yīng)用所述文件流將文件的上傳信息寫入歷史記錄文件中,所述上傳信息用于文件溯源;文件流池,存儲(chǔ)多個(gè)文件流的介質(zhì),每一文件流管理一個(gè)歷史記錄文件;HDFS文件系統(tǒng),存儲(chǔ)被上傳文件的文件系統(tǒng)。
【技術(shù)特征摘要】
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:張強(qiáng),
申請(qǐng)(專利權(quán))人:福建新大陸軟件工程有限公司,
類型:發(fā)明
國(guó)別省市:福建;35
還沒(méi)有人留言評(píng)論。發(fā)表了對(duì)其他瀏覽者有用的留言會(huì)獲得科技券。