System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內(nèi)的位置。 參數(shù)名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術(shù)實現(xiàn)步驟摘要】
本申請實施例涉及計算機,具體涉及一種寫請求處理方法、io代理模塊、slave代理模塊及計算機系統(tǒng)。
技術(shù)介紹
1、master(主)與slave(從)是計算機系統(tǒng)中應(yīng)用的一種通信模式,即計算機系統(tǒng)中發(fā)起訪問請求的功能模塊為master模塊,響應(yīng)master模塊的訪問請求的功能模塊為slave模塊,其中,master模塊通過對應(yīng)的master代理模塊連接傳輸網(wǎng)絡(luò),slave模塊通過對應(yīng)的slave代理模塊連接傳輸網(wǎng)絡(luò);從而master代理模塊可以將master模塊的訪問請求發(fā)送到傳輸網(wǎng)絡(luò),進而傳輸網(wǎng)絡(luò)將訪問請求發(fā)送到slave模塊對應(yīng)的slave代理模塊,由slave代理模塊調(diào)度對應(yīng)的slave模塊執(zhí)行訪問請求。
2、計算機系統(tǒng)需要保障數(shù)據(jù)一致性,即并發(fā)的訪問請求不能引起數(shù)據(jù)沖突或數(shù)據(jù)不一致,以使得計算機系統(tǒng)中任意時間讀取的數(shù)據(jù)是最新且準確的。在此背景下,io(輸入輸出)模塊作為計算機系統(tǒng)進行數(shù)據(jù)輸入和輸出的功能模塊,io模塊存在對內(nèi)存等slave模塊進行訪問的需求,其中,io寫請求作為io模塊發(fā)出的寫入數(shù)據(jù)的訪問請求,如何提供io模塊的io寫請求的處理方案,以在保障數(shù)據(jù)一致性的情況下,提升計算機系統(tǒng)的傳輸網(wǎng)絡(luò)的性能,成為了本領(lǐng)域技術(shù)人員亟需解決的技術(shù)問題。
技術(shù)實現(xiàn)思路
1、有鑒于此,本申請實施例提供一種寫請求處理方法、io代理模塊、slave代理模塊及計算機系統(tǒng),以在保障數(shù)據(jù)一致性的情況下,提升傳輸網(wǎng)絡(luò)的性能。
2、為實現(xiàn)上述目的,本申請實施例提供如下技術(shù)
3、第一方面,本申請實施例提供一種寫請求處理方法,應(yīng)用于io代理模塊,所述io代理模塊基于緩存一致性協(xié)議,以緩存行管理對應(yīng)io模塊的io寫請求;所述方法包括:
4、獲取io模塊的io寫請求;
5、確定所述io寫請求的緩存行寫操作對應(yīng)的緩存行覆蓋完整性;
6、基于所述緩存行寫操作的緩存行覆蓋完整性,發(fā)出所述緩存行寫操作對應(yīng)的緩存行的獨占權(quán)限請求,以至少獲取所述緩存行的獨占權(quán)限;
7、當所述io寫請求的發(fā)出順序到達時,如果所述io寫請求的緩存行寫操作對應(yīng)的緩存行的獨占權(quán)限已獲取,則基于所述緩存行對應(yīng)的完整寫數(shù)據(jù),發(fā)出所述緩存行寫操作對應(yīng)的完整寫數(shù)據(jù)請求;所述完整寫數(shù)據(jù)請求用于請求在所述緩存行寫入所述完整寫數(shù)據(jù),所述完整寫數(shù)據(jù)至少包括所述緩存行寫操作的寫數(shù)據(jù)。
8、第二方面,本申請實施例提供一種寫請求處理方法,應(yīng)用于slave代理模塊,所述方法包括:
9、獲取io代理模塊發(fā)送的獨占權(quán)限請求,所述獨占權(quán)限請求至少用于請求緩存行的獨占權(quán)限,并且所述獨占權(quán)限請求與所述緩存行對應(yīng)的緩存行寫操作的緩存行覆蓋完整性相對應(yīng);
10、向io代理模塊反饋所述獨占權(quán)限請求對應(yīng)的獨占權(quán)限響應(yīng)信息;
11、獲取io代理模塊發(fā)送的所述緩存行寫操作對應(yīng)的完整寫數(shù)據(jù)請求,所述完整寫數(shù)據(jù)請求用于請求在所述緩存行寫入所述緩存行對應(yīng)的完整寫數(shù)據(jù),所述完整寫數(shù)據(jù)至少包括所述緩存行寫操作的寫數(shù)據(jù);
12、調(diào)度相應(yīng)的slave模塊執(zhí)行所述完整寫數(shù)據(jù)請求,并向io代理模塊反饋所述完整寫數(shù)據(jù)請求的響應(yīng)信息。
13、第三方面,本申請實施例提供一種io代理模塊,所述io代理模塊連接對應(yīng)io模塊與計算機系統(tǒng)的傳輸網(wǎng)絡(luò),所述io代理模塊的協(xié)議層設(shè)置有緩存一致性協(xié)議,以基于緩存一致性協(xié)議,以緩存行管理對應(yīng)io模塊的io寫請求;其中,所述io代理模塊用于:
14、獲取io模塊的io寫請求;
15、確定所述io寫請求的緩存行寫操作對應(yīng)的緩存行覆蓋完整性;
16、基于所述緩存行寫操作的緩存行覆蓋完整性,發(fā)出所述緩存行寫操作對應(yīng)的緩存行的獨占權(quán)限請求,以至少獲取所述緩存行的獨占權(quán)限;
17、當所述io寫請求的發(fā)出順序到達時,如果所述io寫請求的緩存行寫操作對應(yīng)的緩存行的獨占權(quán)限已獲取,則基于所述緩存行對應(yīng)的完整寫數(shù)據(jù),發(fā)出所述緩存行寫操作對應(yīng)的完整寫數(shù)據(jù)請求;所述完整寫數(shù)據(jù)請求用于請求在所述緩存行寫入所述完整寫數(shù)據(jù),所述完整寫數(shù)據(jù)至少包括所述緩存行寫操作的寫數(shù)據(jù)。
18、第四方面,本申請實施例提供一種slave代理模塊,所述slave代理模塊連接對應(yīng)slave模塊與計算機系統(tǒng)的傳輸網(wǎng)絡(luò),以管理針對所述slave模塊的訪問請求;其中,所述slave代理模塊用于:
19、獲取io代理模塊發(fā)送的獨占權(quán)限請求,所述獨占權(quán)限請求至少用于請求緩存行的獨占權(quán)限,并且所述獨占權(quán)限請求與所述緩存行對應(yīng)的緩存行寫操作的緩存行覆蓋完整性相對應(yīng);
20、向io代理模塊反饋所述獨占權(quán)限請求對應(yīng)的獨占權(quán)限響應(yīng)信息;
21、獲取io代理模塊發(fā)送的所述緩存行寫操作對應(yīng)的完整寫數(shù)據(jù)請求,所述完整寫數(shù)據(jù)請求用于請求在所述緩存行寫入所述緩存行對應(yīng)的完整寫數(shù)據(jù),所述完整寫數(shù)據(jù)至少包括所述緩存行寫操作的寫數(shù)據(jù);
22、調(diào)度相應(yīng)的slave模塊執(zhí)行所述完整寫數(shù)據(jù)請求,并向io代理模塊反饋所述完整寫數(shù)據(jù)請求的響應(yīng)信息。
23、第五方面,本申請實施例提供一種計算機系統(tǒng),包括多個功能模塊,所述多個功能模塊中發(fā)起訪問請求的功能模塊為master模塊,響應(yīng)訪問請求的功能模塊為slave模塊;所述master模塊包括io模塊,所述io模塊通過對應(yīng)的io代理模塊連接計算機系統(tǒng)的傳輸網(wǎng)絡(luò);所述slave模塊通過對應(yīng)的slave代理模塊連接所述傳輸網(wǎng)絡(luò);其中,所述io代理模塊為如上述第三方面的io代理模塊,所述slave代理模塊為如上述第四方面所述的slave代理模塊。
24、本申請實施例提供的寫請求處理方法中,io代理模塊基于緩存一致性協(xié)議,以緩存行管理對應(yīng)io模塊的io寫請求,在io代理模塊獲取io模塊的io寫請求時,io代理模塊可以確定io寫請求的緩存行寫操作對應(yīng)的緩存行覆蓋完整性,并基于緩存行寫操作的緩存行覆蓋完整性,發(fā)出緩存行寫操作對應(yīng)的緩存行的獨占權(quán)限請求,以至少獲取緩存行的獨占權(quán)限,從而確保io代理模塊在緩存行寫操作對應(yīng)的緩存行執(zhí)行寫操作之前,其他master代理模塊對于緩存行的訪問均會通過緩存行對應(yīng)的偵詢請求反饋到io代理模塊,進而io代理模塊可以基于數(shù)據(jù)一致性要求,對偵詢請求進行響應(yīng),以保障其他master代理模塊對于緩存行的數(shù)據(jù)訪問是最新且準確的,保障數(shù)據(jù)一致性;進而,當io寫請求的發(fā)出順序到達時,如果io代理模塊確認io寫請求的緩存行寫操作對應(yīng)的緩存行的獨占權(quán)限已獲取,則可以基于緩存行對應(yīng)的完整寫數(shù)據(jù),發(fā)出緩存行寫操作對應(yīng)的完整寫數(shù)據(jù)請求,以請求在緩存行寫入完整寫數(shù)據(jù),且完整寫數(shù)據(jù)至少包括緩存行寫操作的寫數(shù)據(jù),以實現(xiàn)io寫請求的發(fā)出。
25、上述過程中,基于緩存一致性協(xié)議的io代理模塊,可以通過獲取io寫請求的緩存行寫操作對應(yīng)的緩存行的獨占權(quán)限,將io寫請求寫入數(shù)據(jù)的順序控制點(即保序點)轉(zhuǎn)移到io代理模塊,因此本申請實施例可以釋放計算機系統(tǒng)的傳輸網(wǎng)絡(luò)對于io模本文檔來自技高網(wǎng)...
【技術(shù)保護點】
1.一種寫請求處理方法,其特征在于,應(yīng)用于IO代理模塊,所述IO代理模塊基于緩存一致性協(xié)議,以緩存行管理對應(yīng)IO模塊的IO寫請求;所述方法包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述緩存行寫操作分為完整緩存行寫操作和部分緩存行寫操作,其中,完整緩存行寫操作的緩存行覆蓋完整性為完整覆蓋緩存行,部分緩存行寫操作的緩存行覆蓋完整性為部分覆蓋緩存行。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述基于所述緩存行寫操作的緩存行覆蓋完整性,發(fā)出所述緩存行寫操作對應(yīng)的緩存行的獨占權(quán)限請求,以至少獲取所述緩存行的獨占權(quán)限包括:
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述基于所述緩存行寫操作的緩存行覆蓋完整性,發(fā)出所述緩存行寫操作對應(yīng)的緩存行的獨占權(quán)限請求,以至少獲取所述緩存行的獨占權(quán)限包括:
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,在讀取所述緩存行的已有數(shù)據(jù)之后,所述方法還包括:
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述將所述緩存行寫操作的寫數(shù)據(jù),與所述緩存行的已有數(shù)據(jù)進行數(shù)據(jù)合并,得到所述緩存行的合并數(shù)據(jù),作為所
7.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述確定所述IO寫請求的緩存行寫操作對應(yīng)的緩存行覆蓋完整性包括:
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述IO寫請求具有一個或多個緩存行寫操作,所述IO寫請求具有的緩存行寫操作基于所述IO寫請求的寫地址和寫數(shù)據(jù)大小確定。
9.根據(jù)權(quán)利要求8所述的方法,其特征在于,在所述IO寫請求的寫地址對齊緩存行邊界時,所述IO寫請求具有的緩存行寫操作包括如下任一項:
10.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括:
11.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述IO寫請求的發(fā)出順序與所述IO寫請求的獲取順序相對應(yīng),對于不存在地址沖突的多個IO寫請求,所述多個IO寫請求支持亂序獲取所述獨占權(quán)限;所述方法還包括:
12.根據(jù)權(quán)利要求1-11任一項所述的方法,其特征在于,還包括:
13.根據(jù)權(quán)利要求12所述的方法,其特征在于,還包括:
14.根據(jù)權(quán)利要求1-11任一項所述的方法,其特征在于,還包括:
15.根據(jù)權(quán)利要求1-11任一項所述的方法,其特征在于,還包括:
16.根據(jù)權(quán)利要求1-11任一項所述的方法,其特征在于,還包括:
17.一種寫請求處理方法,其特征在于,應(yīng)用于Slave代理模塊,所述方法包括:
18.根據(jù)權(quán)利要求17所述的方法,其特征在于,所述獲取IO代理模塊發(fā)送的獨占權(quán)限請求,所述獨占權(quán)限請求至少用于請求緩存行的獨占權(quán)限,并且所述獨占權(quán)限請求與所述緩存行對應(yīng)的緩存行寫操作的緩存行覆蓋完整性相對應(yīng)包括:
19.根據(jù)權(quán)利要求17所述的方法,其特征在于,所述獲取IO代理模塊發(fā)送的獨占權(quán)限請求,所述獨占權(quán)限請求至少用于請求緩存行的獨占權(quán)限,并且所述獨占權(quán)限請求與所述緩存行對應(yīng)的緩存行寫操作的緩存行覆蓋完整性相對應(yīng)包括:
20.根據(jù)權(quán)利要求17-19任一項所述的方法,其特征在于,還包括:
21.根據(jù)權(quán)利要求17-19任一項所述的方法,其特征在于,還包括:
22.一種IO代理模塊,其特征在于,所述IO代理模塊連接對應(yīng)IO模塊與計算機系統(tǒng)的傳輸網(wǎng)絡(luò),所述IO代理模塊的協(xié)議層設(shè)置有緩存一致性協(xié)議,以基于緩存一致性協(xié)議,以緩存行管理對應(yīng)IO模塊的IO寫請求;其中,所述IO代理模塊用于:
23.根據(jù)權(quán)利要求22所述的IO代理模塊,其特征在于,所述IO代理模塊用于基于所述緩存行寫操作的緩存行覆蓋完整性,發(fā)出所述緩存行寫操作對應(yīng)的緩存行的獨占權(quán)限請求,以至少獲取所述緩存行的獨占權(quán)限包括:
24.根據(jù)權(quán)利要求22或23所述的IO代理模塊,其特征在于,所述IO代理模塊還用于:
25.一種Slave代理模塊,其特征在于,所述Slave代理模塊連接對應(yīng)Slave模塊與計算機系統(tǒng)的傳輸網(wǎng)絡(luò),以管理針對所述Slave模塊的訪問請求;其中,所述Slave代理模塊用于:
26.根據(jù)權(quán)利要求25所述的Slave代理模塊,其特征在于,所述Slave代理模塊還用于:
27.根據(jù)權(quán)利要求25所述的Slave代理模塊,其特征在于,所述Slave代理模塊還用于:
28.一種計算機系統(tǒng),其特征在于,包括多個功能模塊,所述多個功能模塊中發(fā)起訪問請求的功能模塊為Master模塊,響應(yīng)訪問請求的功能模塊為Slave模塊;所述Master模塊包括IO模塊,所述IO模塊...
【技術(shù)特征摘要】
1.一種寫請求處理方法,其特征在于,應(yīng)用于io代理模塊,所述io代理模塊基于緩存一致性協(xié)議,以緩存行管理對應(yīng)io模塊的io寫請求;所述方法包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述緩存行寫操作分為完整緩存行寫操作和部分緩存行寫操作,其中,完整緩存行寫操作的緩存行覆蓋完整性為完整覆蓋緩存行,部分緩存行寫操作的緩存行覆蓋完整性為部分覆蓋緩存行。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述基于所述緩存行寫操作的緩存行覆蓋完整性,發(fā)出所述緩存行寫操作對應(yīng)的緩存行的獨占權(quán)限請求,以至少獲取所述緩存行的獨占權(quán)限包括:
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述基于所述緩存行寫操作的緩存行覆蓋完整性,發(fā)出所述緩存行寫操作對應(yīng)的緩存行的獨占權(quán)限請求,以至少獲取所述緩存行的獨占權(quán)限包括:
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,在讀取所述緩存行的已有數(shù)據(jù)之后,所述方法還包括:
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述將所述緩存行寫操作的寫數(shù)據(jù),與所述緩存行的已有數(shù)據(jù)進行數(shù)據(jù)合并,得到所述緩存行的合并數(shù)據(jù),作為所述緩存行對應(yīng)的完整寫數(shù)據(jù)包括:
7.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述確定所述io寫請求的緩存行寫操作對應(yīng)的緩存行覆蓋完整性包括:
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述io寫請求具有一個或多個緩存行寫操作,所述io寫請求具有的緩存行寫操作基于所述io寫請求的寫地址和寫數(shù)據(jù)大小確定。
9.根據(jù)權(quán)利要求8所述的方法,其特征在于,在所述io寫請求的寫地址對齊緩存行邊界時,所述io寫請求具有的緩存行寫操作包括如下任一項:
10.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括:
11.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述io寫請求的發(fā)出順序與所述io寫請求的獲取順序相對應(yīng),對于不存在地址沖突的多個io寫請求,所述多個io寫請求支持亂序獲取所述獨占權(quán)限;所述方法還包括:
12.根據(jù)權(quán)利要求1-11任一項所述的方法,其特征在于,還包括:
13.根據(jù)權(quán)利要求12所述的方法,其特征在于,還包括:
14.根據(jù)權(quán)利要求1-11任一項所述的方法,其特征在于,還包括:
15.根據(jù)權(quán)利要求1-11任一項所述的方法,其特征在于,還包括:
16.根據(jù)權(quán)利要求1-11任一項所述的方法,其特征在于,還包括:
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:程永波,
申請(專利權(quán))人:海光信息技術(shù)股份有限公司,
類型:發(fā)明
國別省市:
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。