[發明專利]一種SMB協議寫入性能的優化方法、裝置及可讀存儲介質有效
| 申請號: | 202011382581.1 | 申請日: | 2020-11-30 |
| 公開(公告)號: | CN112445620B | 公開(公告)日: | 2022-12-27 |
| 發明(設計)人: | 馬龍;李雪生 | 申請(專利權)人: | 蘇州浪潮智能科技有限公司 |
| 主分類號: | G06F9/50 | 分類號: | G06F9/50;G06F12/02 |
| 代理公司: | 北京眾達德權知識產權代理有限公司 11570 | 代理人: | 彭博 |
| 地址: | 215000 江蘇省蘇州*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 smb 協議 寫入 性能 優化 方法 裝置 可讀 存儲 介質 | ||
本發明提供了一種SMB協議寫入性能的優化方法,包括:接收客戶端發送的SMB協議寫請求;在緩存子層創建存儲緩沖空間,接收并解析待寫入數據,并保存到存儲緩沖空間中;調用寫入接口,在存儲緩沖空間創建緩存器列表,并向客戶端發送寫響應;將待寫入數據寫入編譯子層,并銷毀緩存器列表。本發明還提供了一種SMB協議寫入性能的優化裝置,執行SMB協議寫入性能的優化方法,本發明通過對寫請求流程中內存拷貝邏輯進行優化,同時在調用寫入接口后,直接向客戶端反饋,減少了寫請求響應時間,提高數據的寫入性能。
技術領域
本發明涉及信息處理技術領域,特別涉及一種SMB協議寫入性能的優化方法及程序。
背景技術
Samba是在Linux和UNIX系統上實現SMB協議的一個軟件,運行在服務端的程序,能夠響應處理客戶端發送的SMB協議請求。服務端可以通過 samba軟件,將本地存儲資源映射到客戶端,為客戶端提供網絡存儲服務。
客戶端提出寫請求時,需要跟服務端建立samba連接,連接建立成功后,服務端會產生一個smbd子進程,該子進程會掛載后端存儲資源,建立lib實例,后續該客戶端的所有SMB請求都由該smbd子進程處理,且通過該lib 實例訪問存儲資源。客戶端向存儲系統寫入數據流程如圖1所示,服務端smbd 子進程收到SMB協議寫請求時,將待寫入數據解析并保存到data內存空間后,調用寫入接口操作將數據寫入存儲系統中,寫入操作首先會創建lib層緩存器列表,創建緩存器列表時使用的是新的內存空間,然后將data內存空間中的數據拷貝到緩存器列表中的內存空間中,并將數據最終寫入存儲系統中,寫入接口調用完成后,samba層會釋放data內存空間。該過程中存在將數據從data內存空間拷貝到緩存器列表內存空間流程,當待寫入數據量較大時,極易出現寫入失敗或部分數據丟失的情況,且該寫入過程耗時較長,極大影響數據寫入性能和效率。
發明內容
本發明為了提升samba軟件程序寫性能,對原有寫請求處理流程進行優化,去除寫流程中data內存空間到緩存器列表中內存空間的數據拷貝過程,并將發送寫響應的時間提前,從而提高軟件程序的寫性能和響應效率。
本發明提供的技術方案為:
一種SMB協議寫入性能的優化方法,包括:
接收客戶端發送的SMB協議寫請求;
在緩存子層創建存儲緩沖空間,接收并解析待寫入數據,并保存到存儲緩沖空間中;
調用寫入接口,在存儲緩沖空間創建緩存器列表,并向客戶端發送寫響應;
將待寫入數據寫入編譯子層,并銷毀緩存器列表。
優選的是,待寫入數據解析過程包括:
獲取數據并保存為數組;
查找并添加缺失字段;
遍歷數組,并獲得對應的數據類型。
優選的是,數據類型包括:待寫入數據的起始位置和待寫入數據的數據長度。
優選的是,緩存器列表記錄寫入數據的位置和路徑。
優選的是,將待寫入數據寫入所述編譯子層包括將待寫入數據拷貝到存儲系統和創建實例。
優選的是,一種SMB協議寫入性能的優化方法,還包括建立緩存子層和編譯子層的通信連接,其包括如下步驟:
使用基于SMB通信協議將緩存子層的操作請求發送至編譯子層;
編譯子層接收緩存子層的操作請求,并對緩存子層的操作請求進行響應,并完成操作請求;
將響應由編譯子層返還給緩存子層。
一種SMB協議寫入性能的優化裝置,包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于蘇州浪潮智能科技有限公司,未經蘇州浪潮智能科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011382581.1/2.html,轉載請聲明來源鉆瓜專利網。





