[發明專利]一種面向多共享目錄樹的控制方法及系統有效
| 申請號: | 202010093617.8 | 申請日: | 2020-02-14 |
| 公開(公告)號: | CN111309700B | 公開(公告)日: | 2022-11-29 |
| 發明(設計)人: | 李世杰;張端 | 申請(專利權)人: | 蘇州浪潮智能科技有限公司 |
| 主分類號: | G06F16/182 | 分類號: | G06F16/182;G06F9/52;G06F9/54;H04L49/90;H04L49/901 |
| 代理公司: | 濟南誠智商標專利事務所有限公司 37105 | 代理人: | 李修杰 |
| 地址: | 215100 江蘇省蘇州市吳*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 面向 共享 目錄 控制 方法 系統 | ||
1.一種面向多共享目錄樹的控制方法,其特征在于,所述方法包括:
根據待共享目錄的個數,在服務端Samba配置文件中設置環形隊列數和worker執行單元個數,其中,worker執行單元用于在Samba進程中進行計算處理,環形隊列用于在IO執行單元和worker執行單元之間進行數據交換,所述IO執行單元用于獲取目錄請求并將所述目錄請求定向至相應的worker執行單元中;
在服務端運行Samba主進程;
獲取來自客戶端的數據讀寫測試請求;
根據所述數據讀寫測試請求,利用基于SMB報文頭部數據的自適應均衡控制算法,將不同目錄的請求任務定向至不同的worker執行單元,其中,一個IO執行單元與多個worker執行單元相匹配;
其中,所述服務端根據所述數據讀寫測試請求,利用基于SMB報文頭部數據的自適應均衡控制算法,將不同目錄的請求任務定向至不同的worker執行單元,包括:
根據服務端實際共享目錄的個數,設定針對TREE ID的散列表長度和除留余數法使用的除數N,所述除留余數法用于計算散列表索引;
提取輸入口SMB報文中的TREE ID字段;
判斷所述TREE ID字段是否為0;
如果是,在IO執行單元內執行原有的Samba處理邏輯;
如果否,利用SMB報文頭部數據的TREE ID字段作為關鍵字,通過散列表計算并確定相應的環形隊列;
IO執行單元根據當前接收的所述輸入口SMB報文和最近一次相同TREE ID報文之間的時間間隔,計算流入速率;
判斷所述流入速率是否超過設定的流入速率閾值;
如果是,開啟新的worker執行單元;
將所述新的worker執行單元并與所述TREE ID字段對應的輸入輸出環形隊列相關聯;
所述方法還包括:
采用無鎖原子操作隊列,對IO執行單元和worker執行單元進行并發控制。
2.根據權利要求1所述的一種面向多共享目錄樹的控制方法,其特征在于,所述無鎖原子操作隊列為CAS原子操作隊列。
3.根據權利要求1所述的一種面向多共享目錄樹的控制方法,其特征在于,所述采用無鎖原子操作隊列,對IO執行單元和worker執行單元進行并發控制,包括:
在輸入方向,IO 執行單元和每個worker執行單元之間設置一并發無鎖原子操作隊列,且當SMB報文流速增大時,啟動新的worker執行單元;
在輸出方向,每個worker執行單元和IO執行單元之間設置一并發無鎖原子操作隊列;
進行數據存儲時,Samba內部將輸入報文封裝為定長request對象;
進行數據并發處理時,設定輸入方向的環形隊列采用單生產者多消費者模型,輸出方向的環形隊列采用多生產者單消費者模型;
生產者不斷寫入數據并修改寫指針的位置,且消費者不斷讀出數據并修改讀指針的位置。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于蘇州浪潮智能科技有限公司,未經蘇州浪潮智能科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010093617.8/1.html,轉載請聲明來源鉆瓜專利網。





