System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本申請涉及數據處理的,具體涉及一種寫請求處理方法、系統、計算機設備及存儲介質。
技術介紹
1、rdma技術(remote?direct?memoryaccess,遠程直接數據存儲技術)是一種允許直接訪問遠程計算機內存的技術,旨在減少服務器間數據傳輸的延遲并提高帶寬,基于此rdma技術通過網絡把數據資料直接傳入計算機的存儲區,將數據從一個系統快速移動到遠程系統存儲器中,且不需要cpu(central?processing?unit,中央處理器)的參與,且不會對操作系統造成任何影響。
2、在一些相關技術中,將rdma技術應用于分布式存儲系統中,但是在實際使用過程中,僅通過數控分離技術對齊寫請求的場景進行處理。目前,大多數文件場景中,大部分比例的請求均是非對齊請求,而非對齊請求場景中的寫處理仍然效率較低,因此亟需一種處理方法,以提高非對齊請求的處理效率以及降低非對齊請求的資源消耗。
技術實現思路
1、為了解決上述
技術介紹
中提到的至少一個問題,本申請提供了一種寫請求處理方法、系統、計算機設備及存儲介質,能夠對非對齊寫請求進行拆分,以使中間部分對齊的數據通過數據流通管道進行傳輸,頭尾部分的非對齊數據通過控制流進行流動,以此提高非對齊寫請求的處理效率,并且降低了其網絡的寬帶的利用率,從而提升服務器集群的整體性能。
2、本申請實施例提供的具體技術方案如下:
3、第一方面,提供一種寫請求處理方法,應用于終端,所述方法包括:
4、接收寫請求,并確認所述
5、在確認所述寫請求為非對齊請求后,拆分所述非對齊寫請求為頭部請求、尾部請求以及中間部請求,其中所述中間部請求的條帶對齊;
6、剝離出所述中間部請求中數據,并設置所述中間部請求中的數據存入單邊內存;
7、重組所述頭部請求、所述尾部請求以及所述中間部請求形成新寫請求,并發送所述新寫請求至服務端。
8、在一個具體的實施例中,所述方法還包括:
9、將所述寫請求注入數控分離引擎,通過數控分離引擎確認所述寫請求為非對齊寫請求;通過rdma將所述中間部請求注冊到單邊內存中,以將所述中間部請求中的數據存入所述單邊內存。
10、第二方面,提供一種寫請求處理方法,應用于服務端,所述方法包括:
11、接收來自終端的新寫請求,并確認所述新寫請求進行過拆分處理,且所述新寫請求包括頭部請求、尾部請求以及中間部請求;
12、響應于所述新寫請求進行過拆分處理,獲取所述新寫請求中的中間部請求;
13、解析所述中間部請求中的元數據以獲取待寫入的中間部數據,并對所述中間部數據進行拉取;
14、響應于所述中間部數據拉取完成,配置所述中間部數據與所述頭部請求、尾部請求解析出數據進行組裝,形成重組寫請求數據,對所述重組寫請求數據執行寫盤操作。
15、在一個具體的實施例中,接收來自終端的新寫請求,并確認所述新寫請求進行過拆分處理,具體包括:
16、接收來自終端的新寫請求,對所述新寫請求進行反序列化處理形成反序列化寫請求;對所述反序列化寫請求進行隊列化處理,生成待處理事務;獲取服務端中主進程,以及所述主進程關聯的子進程的數量;根據所述子進程的數量,分配所述待處理事務至若干子進程,并通過所述主進程向所述子進程發送所述新寫請求關聯的副本數據請求;以使所述子進程接收到所述副本數據請求時,判斷所述副本數據請求中的是否包括拆分事務;若所述副本數據請求中包括拆分事務,則確認所述新寫請求進行過拆分處理;獲取所述新寫請求中的頭部請求和尾部請求,并確認所述頭部請求和所述尾部請求為普通寫請求,獲取所述中間部請求,并確認所述中間部請求為數控分離請求;或者,若所述副本數據請求中不包括拆分事務,則所述新寫請求未經過拆分處理。
17、在一個具體的實施例中,解析所述頭部請求以獲得頭部數據,解析所述尾部請求以獲得尾部數據;按照所述頭部數據、所述中間部數據以及所述尾部數據的順序,依次組裝以形成所述重組寫請求數據。
18、在一個具體的實施例中,通過所述主進程讀取其關聯的所有所述子進程的狀態,并判斷所有子進程是否均完成所述待處理事務;響應于所有子進程均完成所述待處理事務,向所述終端發送操作完成信息。
19、第三方面,提供一種寫請求處理系統,用于實現如上所述的應用于終端上的寫請求處理方法,所述系統包括:
20、第一接收單元,用于接收寫請求,并確認所述寫請求為非對齊寫請求;
21、拆分單元,用于確認所述寫請求為非對齊請求后,拆分所述非對齊寫請求為頭部請求、尾部請求以及中間部請求,其中所述中間部請求的條帶對齊;
22、剝離單元,用于剝離出所述中間部請求中數據,并設置所述中間部請求中的數據存入單邊內存;
23、發送單元,用于重組所述頭部請求、所述尾部請求以及所述中間部請求形成新寫請求,并發送所述新寫請求至服務端。
24、第四方面,提供一種寫請求處理系統,用于實現如上所述的應用于服務端上的寫請求處理方法,所述系統包括:
25、第二接收單元,用于接收來自終端的新寫請求,并確認所述新寫請求進行過拆分處理,且所述新寫請求包括頭部請求、尾部請求以及中間部請求;
26、第一執行單元,用于響應于所述新寫請求進行過拆分處理,獲取所述新寫請求中的中間部請求;
27、數據拉取單元,用于解析所述中間部請求中的元數據以獲取待寫入的中間部數據,并對所述中間部數據進行拉取;
28、第二執行單元,用于響應于所述中間部數據拉取完成,配置所述中間部數據與所述頭部請求、尾部請求解析出數據進行組裝,形成重組寫請求數據,對所述重組寫請求數據執行寫盤操作。
29、第五方面,提供一種計算機設備,包括存儲器、處理器及存儲在存儲器上并可在處理器上運行的計算機程序,所述處理器執行所述計算機程序時實現終端上的以下步驟:
30、步驟a、接收寫請求,并確認所述寫請求為非對齊寫請求;
31、步驟b、在確認所述寫請求為非對齊請求后,拆分所述非對齊寫請求為頭部請求、尾部請求以及中間部請求,其中所述中間部請求的條帶對齊;
32、步驟c、剝離出所述中間部請求中數據,并設置所述中間部請求中的數據存入單邊內存;
33、步驟d、重組所述頭部請求、所述尾部請求以及所述中間部請求形成新寫請求,并發送所述新寫請求至服務端。
34、在一個具體的實施例中,所述處理器執行所述計算機程序時實現服務端上的以下步驟:
35、接收來自終端的新寫請求,并確認所述新寫請求進行過拆分處理,且所述新寫請求包括頭部請求、尾部請求以及中間部請求;
36、響應于所述新寫請求進行過拆分處理,獲取所述新寫請求中的中間部請求;
37、解析所述中間部請求中的元數據以獲取待寫入的中間部數據,并對所述中間部數據進行拉取;
...【技術保護點】
1.一種寫請求處理方法,其特征在于,應用于終端,所述方法包括:
2.根據權利要求1所述的寫請求處理方法,其特征在于,所述方法還包括:
3.一種寫請求處理方法,其特征在于,應用于服務端,所述方法包括:
4.根據權利要求3所述的寫請求處理方法,其特征在于,接收來自終端的新寫請求,并確認所述新寫請求進行過拆分處理,具體包括:
5.根據權利要求4所述的寫請求處理方法,其特征在于,所述方法還包括:
6.根據權利要求5所述的寫請求處理方法,其特征在于,所述方法還包括:
7.一種寫請求處理系統,用于實現權利要求1或2中所述的寫請求處理方法,其特征在于,所述系統包括:
8.一種寫請求處理系統,用于實現權利要求2~6中任一項所述的寫請求處理方法,其特征在于,所述系統包括:
9.一種計算機設備,包括存儲器、處理器及存儲在存儲器上并可在處理器上運行的計算機程序,其特征在于,所述處理器執行所述計算機程序時實現權利要求1~7中任一項所述方法的步驟。
10.一種計算機可讀存儲介質,其上存儲有計算機程序
...【技術特征摘要】
1.一種寫請求處理方法,其特征在于,應用于終端,所述方法包括:
2.根據權利要求1所述的寫請求處理方法,其特征在于,所述方法還包括:
3.一種寫請求處理方法,其特征在于,應用于服務端,所述方法包括:
4.根據權利要求3所述的寫請求處理方法,其特征在于,接收來自終端的新寫請求,并確認所述新寫請求進行過拆分處理,具體包括:
5.根據權利要求4所述的寫請求處理方法,其特征在于,所述方法還包括:
6.根據權利要求5所述的寫請求處理方法,其特征在于,所述方法還包括:
7.一...
【專利技術屬性】
技術研發人員:張金清,劉杰,
申請(專利權)人:濟南浪潮數據技術有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。