傳輸網絡文件的方法和裝置的製作方法
2023-07-15 04:35:51 1
專利名稱:傳輸網絡文件的方法和裝置的製作方法
技術領域:
本發明涉及計算機領域,尤其涉及一種傳輸網絡文件的方法和裝置。
背景技術:
NFS (Network File System,網絡文件系統)是能夠達到不同作業系統間文件共享
的RPC(Remote Procedure Call遠程過程調用)服務。當使用者需要遠端文件時通過把遠
端文件系統掛接在自己的文件系統之下,與使用本地機器上的文件沒什麼兩樣。 NFS協議適合於在不同的機器、作業系統、網絡體系以及傳輸協議之間的應用。這
種廣泛的適應性是通過使用建立在外部數據描述(XDR)之上的遠程過程調用(RPC)原語得到的。 NFS包括NFS Client端、NFS Server端,即採用Client-Server體系結構。其中 Client方面主要負責處理用戶對遠程文件的操作請求,並把請求的內容按一定的包格式從 網絡發給文件所在的Server。而Server則接收Client方面的請求,調用本機的VFS的函 數進行文件的實際操作,並把結果按一定格式返回給Client。而Client在得到Serve的返 回結果後,把返回結果發送給用戶。 在實際應用中,傳統的TCP/IP協議和低下的磁碟性能不可避免的給NFS帶來存儲 性能的局限,使得NFS只適合應用在較小的網絡或者區域網內。如果NFS應用到企業網絡, 由於企業網絡的帶寬和磁碟性能,很可能會出現當多臺客戶端訪問NAS文件系統時,NFS的 性能大大下降,最終不能滿足用戶的需求。
發明內容
本發明提供一種傳輸網絡文件的方法和裝置,能夠提高網絡文件的傳輸速率。
為達到上述發明目的,本發明提供了如下技術方案 —種緩存存儲集群,所述集群的內存中緩存有多個網絡文件,用於在客戶端和網 絡文件伺服器之間進行信息交互。 進一步的,所述集群還具有如下特點所述集群包括多個配置有大內存的緩存服 務器,所述緩存伺服器之間通過高速網絡相連。 進一步的,所述集群還具有如下特點在接收所述客戶端發送的網絡文件的讀取 請求時,所述緩存伺服器有如下處理方式 在本地內存緩存有所述網絡文件時,從本地內存獲取所述網絡文件並發送給所述 客戶端; 在本地內存沒有所述網絡文件,但所述集群中其他緩存伺服器的內存有時,通知 所述集群中緩存有所述網絡文件的目標緩存伺服器發送所述網絡文件 在所述集群的內存沒有所述網絡文件時,從所述網絡文件伺服器獲取該網絡文件 並發送給所述客戶端。
進一步的,所述集群還具有如下特點所述緩存伺服器採用如下方式確定所述集群中其他伺服器的內存是否有所述網絡文件 查詢所述集群中其他伺服器周期性上報的記錄有本地緩存的網絡文件的信息;或 者, 通過向所述集群中其他伺服器查詢是否緩存有所述網絡文件,接收所述集群中其 他伺服器返回的查詢響應。 進一步的,所述集群還具有如下特點所述緩存伺服器中緩存的網絡文件包括以 下至少一種數據量小的網絡文件、經常訪問的網絡文件、最近寫入的網絡文件、最近讀取 的網絡文件。 —種傳輸網絡文件的方法,包括 緩存存儲集群接收客戶端讀取網絡文件的請求,並根據所述集群的內存中預先緩 存的網絡文件,處理所述客戶端的請求。 進一步的,所述方法還具有如下特點所述緩存存儲集群包括多個配置有大內存 的緩存伺服器,所述緩存伺服器之間通過高速網絡相連。 進一步的,所述方法還具有如下特點在接收所述客戶端發送的網絡文件的讀取 請求時,所述緩存伺服器有如下處理方式 在本地內存緩存有所述網絡文件時,從本地內存獲取所述網絡文件並發送給所述 客戶端; 在本地內存沒有所述網絡文件,但所述集群中其他緩存伺服器的內存有時,通知 所述集群中緩存有所述網絡文件的目標緩存伺服器發送所述網絡文件 在所述集群的內存沒有所述網絡文件時,從所述網絡文件伺服器獲取該網絡文件 並發送給所述客戶端。 進一步的,所述方法還具有如下特點所述緩存伺服器採用如下方式確定所述集 群中其他伺服器的內存是否有所述網絡文件 查詢所述集群中其他伺服器周期性上報的記錄有本地緩存的網絡文件的信息;或者,
通過向所述集群中其他伺服器查詢是否緩存有所述網絡文件,接收所述集群中其 他伺服器返回的查詢響應。 進一步的,所述方法還具有如下特點所述緩存伺服器中緩存的網絡文件包括以 下至少一種數據量小的網絡文件、經常訪問的網絡文件、最近寫入的網絡文件、最近讀取 的網絡文件。 本發明提供的技術方案,採用內存的讀/寫速率高的特點,緩存存儲集群的內存 預先存儲多個網絡文件,為客戶端提供網絡文件,提高了網絡文件的傳輸速率,同時減少了 客戶端對網絡文件伺服器的訪問次數。
圖1為本發明提供的網絡文件系統的結構示意圖;
圖2為本發明提供一種傳輸網絡文件的方法流程圖。
具體實施例方式
下面結合附圖對本發明實施例提供的技術方案作進一步介紹。
如圖1所示,本發明提供一種網絡文件系統,包括客戶端、網絡文件伺服器和緩存 存儲集群,其中所述緩存存儲集群的內存中緩存有多個網絡文件,並在所述客戶端和所述 網絡文件伺服器之間進行信息交互。 所述緩存存儲集群包括多個緩存伺服器,每個緩存伺服器配置有大內存,且服務 器之間通過高速網絡相連,如40Gbit/s的高速infinband網絡相連。所述集群中的緩存服 務器預先從網絡文件伺服器獲取多個網絡文件,其中所述緩存伺服器獲取的文件為可以是 網絡文件伺服器中特定文件夾的文件,其中所述網絡文件還具有如下特徵數據量小、經常 訪問、最近寫入、最近讀取。 本發明提供的技術方案,採用內存的讀/寫速率高的特點,緩存存儲集群的內存 預先存儲多個網絡文件,為客戶端提供網絡文件,提高了網絡文件的傳輸速率,同時減少了 客戶端對網絡文件伺服器的訪問次數。 如圖2所示,本發明提供一種傳輸網絡文件的方法,包括 步驟201、所述緩存存儲集群接收客戶端讀取網絡文件的請求; 步驟202 、所述緩存存儲集群根據所述集群的內存中預先緩存的網絡文件,處理所
述客戶端的請求。 下面對客戶端讀取網絡數據的過程進行說明 當接收到所述客戶端發送的網絡文件讀取請求時,判斷本地內存是否緩存有用戶
所需的網絡文件,如果有,直接從本伺服器的內存提取該網絡文件,並發送給所述客戶端,
減少了客戶端訪問網絡文件伺服器的次數,降低了網絡文件伺服器的處理壓力。 如果本伺服器內存沒有該網絡文件,而所述其他伺服器有該網絡文件,則緩存有
該網絡文件的緩存伺服器將該網絡文件發送給該客戶端; 如果所述集群中所有伺服器均沒有所述網絡文件,則本伺服器向所述網絡文件服 務器獲取該網絡文件,再向該客戶端發送該網絡文件。 在用戶得到所述網絡文件後,如果用戶通過所述客戶端在本伺服器對網絡文件進 行修改,則所述本伺服器獲取當前網絡文件系統的磁碟性能,如當前的讀/寫速率,根據當 前的磁碟性能,將用戶寫入的信息發送給所述網絡文件伺服器。 上述過程中,如果本伺服器內存沒有該網絡文件,而所述其他伺服器有該網絡文
件,下面介紹如何實現緩存有該網絡文件的緩存伺服器將該網絡文件發送給該客戶端
實施例一 在本伺服器從所述網絡文件伺服器獲取網絡文件後,本伺服器生成用於記錄本服
務器內存中網絡文件的網絡文件列表,其中所述網絡文件列表包括網絡文件的名稱和網絡
文件的地址;向該伺服器集群中其他伺服器註冊該網絡文件列表,使其他緩存伺服器獲知
本伺服器存儲有哪些網絡文件。當本伺服器內存中的網絡文件發生變化時,如增加、刪除網
絡文件,本伺服器需要將網絡文件的變化信息發送給其他伺服器。同理該集群中其他服務
器操作同上,從而本伺服器獲知到該集群中其他伺服器都存儲有哪些網絡文件。 當本伺服器沒有用戶所需的網絡文件時,本伺服器根據所述客戶端訪問時的網絡
文件名稱和該網絡文件的存儲地址,從本地獲取的網絡文件列表查詢其他伺服器是否有該
網絡文件的目標緩存伺服器,如果有該網絡文件,通知目標緩存伺服器向該客戶端發送該
網絡文件。
所述目標緩存伺服器在接收到所述本伺服器發送的通知後,從內存中提取該網絡
文件,並發送給所述客戶端。 實施例二 當本伺服器沒有用戶所需的網絡文件時,本伺服器向所述集群中其他伺服器查詢 是否有該網絡文件,例如,發送查詢請求,包括該網絡文件的名稱和存儲地址。如果所述集 群中其他伺服器有該網絡文件,則通知有該網絡文件,否則,通知沒有該網絡文件。
其中所述集群中具有該網絡文件的目標緩存伺服器可以在接收到該查詢請求後, 立即向所述客戶端發送該網絡文件。 如果有所述集群中具有該網絡文件的目標緩存伺服器為多個,採用上述手段發送 網絡文件,會出現客戶端接收到多個相同的網絡文件。為了避免上述現象的出現,本發明採 用如下技術方案所述集群中其他伺服器在收到查詢請求後,只發送查詢結果。在本伺服器 接收到其他伺服器返回的查詢結果後,從多個目標緩存伺服器確定一個目標緩存伺服器, 通知該確定的目標緩存伺服器發送該網絡文件,實現只有一個目標緩存伺服器向該客戶端 發送該網絡文件。 本領域普通技術人員可以理解實現上述實施例的全部或部分步驟是可以通過程 序來指令相關的硬體完成,所述的程序可以存儲於一種計算機可讀存儲介質中,該程序在 執行時,包括方法實施例的步驟之一或其組合。 另外,在本發明各個實施例中的各功能單元可以採用硬體的形式實現,也可以採 用軟體功能模塊的形式實現。所述集成的模塊如果以軟體功能模塊的形式實現並作為獨立 的產品銷售或使用時,也可以存儲在一個計算機可讀取存儲介質中。
上述提到的存儲介質可以是只讀存儲器,磁碟或光碟等。 以上所述,僅為本發明的具體實施方式
,但本發明的保護範圍並不局限於此,任何 熟悉本技術領域的技術人員在本發明揭露的技術範圍內,可輕易想到變化或替換,都應涵 蓋在本發明的保護範圍之內。因此,本發明的保護範圍應以權利要求所述的保護範圍為準。
權利要求
一種緩存存儲集群,其特徵在於,所述集群的內存中緩存有多個網絡文件,用於在客戶端和網絡文件伺服器之間進行信息交互。
2. 根據權利要求1所述的集群,其特徵在於,所述集群包括多個配置有大內存的緩存 伺服器,所述緩存伺服器之間通過高速網絡相連。
3. 根據權利要求1或2所述的集群,其特徵在於,在接收所述客戶端發送的網絡文件的 讀取請求時,所述緩存伺服器有如下處理方式在本地內存緩存有所述網絡文件時,從本地內存獲取所述網絡文件並發送給所述客戶丄山順;在本地內存沒有所述網絡文件,但所述集群中其他緩存伺服器的內存有時,通知所述 集群中緩存有所述網絡文件的目標緩存伺服器發送所述網絡文件在所述集群的內存沒有所述網絡文件時,從所述網絡文件伺服器獲取該網絡文件並發 送給所述客戶端。
4. 根據權利要求3所述的集群,其特徵在於,所述緩存伺服器採用如下方式確定所述集群中其他伺服器的內存是否有所述網絡文件查詢所述集群中其他伺服器周期性上報的記錄有本地緩存的網絡文件的信息;或者, 通過向所述集群中其他伺服器查詢是否緩存有所述網絡文件,接收所述集群中其他伺服器返回的查詢響應。
5. 根據權利要求4所述的集群,其特徵在於,所述緩存伺服器中緩存的網絡文件包括 以下至少一種數據量小的網絡文件、經常訪問的網絡文件、最近寫入的網絡文件、最近讀 取的網絡文件。
6. —種傳輸網絡文件的方法,其特徵在於,包括緩存存儲集群接收客戶端讀取網絡文件的請求,並根據所述集群的內存中預先緩存的 網絡文件,處理所述客戶端的請求。
7. 根據權利要求6所述的方法,其特徵在於,所述緩存存儲集群包括多個配置有大內 存的緩存伺服器,所述緩存伺服器之間通過高速網絡相連。
8. 根據權利要求6或7所述的方法,其特徵在於,在接收所述客戶端發送的網絡文件的 讀取請求時,所述緩存伺服器有如下處理方式在本地內存緩存有所述網絡文件時,從本地內存獲取所述網絡文件並發送給所述客戶丄山順;在本地內存沒有所述網絡文件,但所述集群中其他緩存伺服器的內存有時,通知所述 集群中緩存有所述網絡文件的目標緩存伺服器發送所述網絡文件在所述集群的內存沒有所述網絡文件時,從所述網絡文件伺服器獲取該網絡文件並發 送給所述客戶端。
9. 根據權利要求8所述的方法,其特徵在於,所述緩存伺服器採用如下方式確定所述集群中其他伺服器的內存是否有所述網絡文件查詢所述集群中其他伺服器周期性上報的記錄有本地緩存的網絡文件的信息;或者, 通過向所述集群中其他伺服器查詢是否緩存有所述網絡文件,接收所述集群中其他伺服器返回的查詢響應。
10. 根據權利要求9所述的方法,其特徵在於,所述緩存伺服器中緩存的網絡文件包括以下至少一種數據量小的網絡文件、經常訪問的網絡文件、最近寫入的網絡文件、最近讀 取的網絡文件。
全文摘要
本發明提供一種傳輸網絡文件的方法和裝置,涉及計算機領域;為解決現有技術中網絡文件的傳輸速率低的問題而發明。所述方法包括緩存存儲集群接收客戶端讀取網絡文件的請求,並根據所述集群的內存中預先緩存的網絡文件,處理所述客戶端的請求。本發明提供的技術方案可應用於數據通信領域。
文檔編號H04L29/06GK101764848SQ20101003402
公開日2010年6月30日 申請日期2010年1月12日 優先權日2010年1月12日
發明者苑鴻劍 申請人:浪潮(北京)電子信息產業有限公司