[發明專利]在用戶空間訪問文件系統的接口系統與文件讀、寫方法有效
| 申請號: | 200810216190.5 | 申請日: | 2008-09-19 |
| 公開(公告)號: | CN101382953A | 公開(公告)日: | 2009-03-11 |
| 發明(設計)人: | 程劍;張波;夏艦波 | 申請(專利權)人: | 中興通訊股份有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 深圳市君勝知識產權代理事務所 | 代理人: | 王永文 |
| 地址: | 518057廣東省深圳市南山*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 用戶 空間 訪問 文件系統 接口 系統 文件 方法 | ||
技術領域
本發明涉及一種在UNIX或Linux操作系統中數據存儲與訪問技術,尤 其涉及一種在用戶空間訪問文件系統的接口系統與文件讀、寫方法。
背景技術
目前,互聯網、電信等業務運營中常常有大量的媒體數據存儲與訪問 需求,這些需求一般要求大存儲量、高可靠性以及低成本,通用的文件系 統一般無法滿足要求。一般情況下,需要開發滿足特定需求的文件系統, 而對于上層業務,其訪問文件系統的接口應該保持穩定與很強的兼容性。 目前常用的解決方案有兩種,第一種是利用操作系統內核特性,在內核中 駐留一個模塊作為代理,該模塊將應用程序的訪問請求轉發給用戶空間的 處理進程,處理進程進行實際的數據訪問與操作,最后的結果仍然通過內 核模塊返回給應用程序;第二種解決方法是提供一組非標準的接口,通過 動態鏈接庫提供,應用程序經過代碼修改并重新編譯鏈接之后可以訪問文 件系統。
現有技術中的兩種方法都有其優缺點,對于第一種解決方法對于內核 代理模塊的方法,優點是應用程序不需要修改代碼,即可訪問這個文件系 統,并且多個用戶進程可以同時訪問,但是由于實際的文件系統數據處理 進程也是位于用戶空間,相當于對文件系統的訪問額外的增加了一個環節, 這樣使系統處理效率大大下降;對于第二種方法,文件系統的訪問不需要 經過內核效率上沒有影響,但是由于應用進程之間的地址空間是互相隔離 的,如果多個應用進程需要同時訪問文件系統中的相同文件,那么在這些 進程中每個文件的數據在各個應用進程中都有一份副本,因此該方法是對 系統資源的極大浪費。由此可見,現有技術有待于更進一步的發展。
發明內容
本發明為解決現有技術中的缺陷提供一種在用戶空間訪問文件系統的 接口系統與文件讀、寫方法,采用共享機制以提高系統處理效率,提高系 統吞吐量,方便應用進程的移植。
為解決上述技術問題,本發明方案包括:
一種在用戶空間訪問文件系統的接口系統,包括動態鏈接庫,所述動 態鏈接庫用于提供文件系統的訪問接口并嵌入到應用進程地址空間內運 行,其中,所述接口系統還包括共享內存模塊與代理進程模塊,所述動態 鏈接庫與所述共享內存模塊通信連接在一起,所述共享內存用于在進程間 交換與共享相關數據并存儲部分相關數據。
所述的接口系統,其中,所述共享內存模塊還包括消息隊列與至少一 個數據緩存塊,所述消息隊列與所述數據緩存塊通信連接,所述消息隊列 用于連接所述應用進程與所述代理進程模塊之間的通信;所述數據緩存塊 用于所述應用進程與所述代理進程模塊之間的數據交換并存儲部分相關數 據,所述數據緩存塊帶有編碼。
所述的接口系統,其中,所述共享內存模塊包括多個數據緩存塊,同 一個數據緩存塊能被多個應用進程同時使用。
所述的接口系統,其中,所述接口系統還包括代理進程模塊,所述代 理進程模塊與所述共享內存模塊通信連接,所述代理進程模塊用于處理所 述共享內存模塊的請求。
所述的接口系統,其中,所述接口系統還包括數據存儲模塊,所述數 據存儲模塊與所述代理進程模塊通信連接,所述數據存儲模塊用于存儲相 關數據。
所述接口系統的文件讀方法,包括以下步驟:
A1、應用進程通過所述動態鏈接庫鏈接所述共享內存模塊并向所述共 享內存模塊發送讀取相關數據的參數;
B1、所述共享內存模塊根據所述參數確定讀取的相關數據;
C1、若相關數據存在于所述共享內存模塊中,則所述共享內存模塊將 相關數據發送到應用進程相應的緩存區中。
所述的文件讀方法,其中,所述步驟B1還包括:所述共享內存模塊根 據所述參數確定相關數據所在的數據緩存塊編碼。
所述的文件讀方法,其中,所述步驟C1還包括代理進程,其包括以下 步驟:
C11、若相關數據不存在于所述共享內存模塊中,則所述共享內存分配 一空閑的數據緩存塊并請求所述代理進程模塊將相關數據拷貝到空閑的數 據緩存塊內;
C12、所述代理進程模塊根據所述請求將數據存儲模塊內的相關數據拷 貝到空閑的數據緩存塊內;
C13、所述共享內存模塊將相關數據發送到應用進程相應的緩存區中。
所述接口系統的文件寫方法,包括以下步驟:
A2、應用進程通過所述動態鏈接庫鏈接向所述共享內存模塊發送需寫 相關數據的參數;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中興通訊股份有限公司,未經中興通訊股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200810216190.5/2.html,轉載請聲明來源鉆瓜專利網。





