[發明專利]一種通信方法、裝置及可讀存儲介質,一種文件系統在審
| 申請號: | 202010693121.4 | 申請日: | 2020-07-17 |
| 公開(公告)號: | CN111813579A | 公開(公告)日: | 2020-10-23 |
| 發明(設計)人: | 李養兆;仇鋒利 | 申請(專利權)人: | 濟南浪潮數據技術有限公司 |
| 主分類號: | G06F9/54 | 分類號: | G06F9/54;G06F9/50;G06F3/06 |
| 代理公司: | 北京集佳知識產權代理有限公司 11227 | 代理人: | 王云曉 |
| 地址: | 250101 山東省濟南市高新區*** | 國省代碼: | 山東;37 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 通信 方法 裝置 可讀 存儲 介質 文件系統 | ||
1.一種通信方法,其特征在于,應用于內核態模塊,包括:
接收應用進程發送的待處理IO請求;
獲取所述內核態模塊對應的第一隊列的鎖;
若獲取到所述鎖,則將所述待處理IO請求添加至所述第一隊列的尾部,并修改所述第一隊列的第一尾部指針,以便用戶態模塊按照所述第一尾部指針從所述第一隊列中讀取所述待處理IO請求并進行處理,將獲得的處理結果添加至所述內核態模塊對應的第二隊列的尾部,并修改所述第二隊列的第二尾部指針;
按照所述第二尾部指針從所述第二隊列中讀取所述處理結果,并返回所述處理結果至所述應用進程。
2.根據權利要求1所述的通信方法,其特征在于,所述按照所述第二尾部指針從所述第二隊列中讀取所述處理結果之前,還包括:
調用IOCTL喚醒第二輪詢線程,并利用所述第二輪詢線程輪詢所述第二隊列。
3.根據權利要求2所述的通信方法,其特征在于,若所述第二隊列為空,則所述第二輪詢線程進入休眠狀態。
4.根據權利要求1所述的通信方法,其特征在于,還包括:
若未獲取到所述鎖,則進入鎖等待隊列,以等待所述鎖。
5.根據權利要求1所述的通信方法,其特征在于,所述用戶態模塊按照所述第一尾部指針從所述第一隊列中讀取所述待處理IO請求并進行處理之前,還包括:
所述用戶態模塊調用IOCTL喚醒第一輪詢線程,并利用所述第一輪詢線程輪詢所述第一隊列。
6.根據權利要求5所述的通信方法,其特征在于,若所述第一隊列為空,則所述第一輪詢線程進入休眠狀態。
7.一種通信裝置,其特征在于,應用于內核態模塊,包括:
接收模塊,用于接收應用進程發送的待處理IO請求;
獲取模塊,用于獲取所述內核態模塊對應的第一隊列的鎖;
添加模塊,用于若獲取到所述鎖,則將所述待處理IO請求添加至所述第一隊列的尾部,并修改所述第一隊列的第一尾部指針,以便用戶態模塊按照所述第一尾部指針從所述第一隊列中讀取所述待處理IO請求并進行處理,將獲得的處理結果添加至所述內核態模塊對應的第二隊列的尾部,并修改所述第二隊列的第二尾部指針;
讀取模塊,用于按照所述第二尾部指針從所述第二隊列中讀取所述處理結果,并返回所述處理結果至所述應用進程。
8.一種可讀存儲介質,其特征在于,用于保存計算機程序,其中,所述計算機程序被處理器執行時實現如權利要求1至6任一項所述的通信方法。
9.一種文件系統,其特征在于,包括:內核態模塊和用戶態模塊,其中:
所述內核態模塊,用于接收應用進程發送的待處理IO請求;獲取所述內核態模塊對應的第一隊列的鎖;若獲取到所述鎖,則將所述待處理IO請求添加至所述第一隊列的尾部,并修改所述第一隊列的第一尾部指針;
所述用戶態模塊,用于按照所述第一尾部指針從所述第一隊列中讀取所述待處理IO請求并進行處理,將獲得的處理結果添加至所述內核態模塊對應的第二隊列的尾部,并修改所述第二隊列的第二尾部指針;
所述內核態模塊,還用于按照所述第二尾部指針從所述第二隊列中讀取所述處理結果,并返回所述處理結果至所述應用進程。
10.根據權利要求9所述的文件系統,其特征在于,所述內核態模塊有多個,每個內核態模塊對應一個隊列組,所述隊列組包括所述第一隊列和所述第二隊列。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于濟南浪潮數據技術有限公司,未經濟南浪潮數據技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010693121.4/1.html,轉載請聲明來源鉆瓜專利網。





