本技術涉及計算機,特別是涉及一種數(shù)據(jù)讀取方法、裝置、設備及介質。
背景技術:
1、當存儲系統(tǒng)的接收端和發(fā)送端之間的pcie鏈路不穩(wěn)定時,會通過擴展卡對兩者之間的傳輸內(nèi)容進行代答,也就是說,發(fā)送給psx(pcie?switch,pcie交換機模塊)的mrpc指令,在鏈路不穩(wěn)定的情況下,擴展卡會對將要發(fā)送給接收端的數(shù)據(jù)進行代答,將0xff填充到發(fā)送給接收端的對應的頁面數(shù)據(jù)中,使得接收端收到無效數(shù)據(jù),當接收端需要讀取頁面中的數(shù)據(jù)時,在讀取到了無效的數(shù)據(jù)值后,就會引起存儲中的接收端對應的節(jié)點的熱重啟,從而影響存儲運行的穩(wěn)定性。
技術實現(xiàn)思路
1、有鑒于此,本技術實施例提供一種數(shù)據(jù)讀取方法、裝置、設備及介質,以便克服上述問題或者至少部分地解決上述問題。
2、本技術實施例第一方面提供了一種數(shù)據(jù)讀取方法,應用于主控柜的第一控制器,所述主控柜通過擴展卡與擴展柜通信連接,所述方法包括:
3、執(zhí)行目標流程,獲取所述擴展卡返回的第一數(shù)據(jù),所述目標流程用于讀取所述擴展柜的目標頁面中的當前數(shù)據(jù);
4、獲取所述當前數(shù)據(jù)所對應的第一校驗值;
5、根據(jù)所述第一數(shù)據(jù)計算第二校驗值,并判斷所述第一校驗值和所述第二校驗值是否相等;
6、當所述第一校驗值和所述第二校驗值不相等時,確定所述第一數(shù)據(jù)為所述擴展卡代答的無效數(shù)據(jù),不對所述第一數(shù)據(jù)進行解析。
7、可選地,所述第一控制器包括第一主控制器和第一備用控制器,所述方法還包括:
8、在確定所述第一數(shù)據(jù)為所述擴展卡代答的無效數(shù)據(jù)之后,確定所述目標程序執(zhí)行失敗,并對所述目標流程執(zhí)行失敗的次數(shù)進行計數(shù);
9、當所述第一主控制器對應的目標流程執(zhí)行失敗的次數(shù)達到第一預設閾值時,通過所述第一備用控制器對所述第一主控制器進行接管;
10、當所述第一備用控制器對應的目標流程執(zhí)行失敗的次數(shù)達到第二預設閾值時,確定所述第一控制器不冗余,并發(fā)出第一告警信息。
11、可選地,在所述獲取所述當前數(shù)據(jù)所對應的第一校驗值之前,所述方法還包括:
12、接收所述擴展柜的第二控制器,在所述目標頁面中的當前數(shù)據(jù)發(fā)生更新時,通過所述擴展卡主動上傳的第三校驗值,所述第三校驗值是所述第二控制器根據(jù)所述目標頁面更新后的當前數(shù)據(jù)計算出的;
13、和/或,在執(zhí)行所述目標流程的過程中,對所述擴展柜進行校驗值的主動讀取,得到所述擴展卡返回的第四校驗值;
14、其中,所述第四校驗值包括以下任一項:
15、所述擴展卡在所述主控柜和所述擴展柜之間的鏈路不穩(wěn)定情況下代答的設定數(shù)據(jù);
16、所述擴展柜的第二控制器根據(jù)所述目標頁面中的當前數(shù)據(jù)計算出的第五校驗值;
17、所述獲取所述當前數(shù)據(jù)所對應的第一校驗值,包括:
18、將最近一次通過所述擴展卡得到的所述目標頁面所關聯(lián)的校驗值,確定為所述當前數(shù)據(jù)所對應的第一校驗值;
19、其中,所述目標頁面所關聯(lián)的校驗值包括所述第三校驗值和所述第四校驗值。
20、可選地,在所述執(zhí)行目標流程之前,還包括:
21、通過所述擴展卡,將所述主控柜與多個所述擴展柜相連,以使所述主控柜與所述擴展柜通信連接;
22、基于所述主控柜和多個所述擴展柜建立存儲集群。
23、可選地,所述目標流程為以下任一項:發(fā)現(xiàn)流程、命令下發(fā)流程、以及許可證信息處理流程,所述方法還包括:
24、根據(jù)當前所需執(zhí)行的目標流程的類型,確定當前所需讀取的目標頁面。
25、可選地,所述根據(jù)當前所需執(zhí)行的目標流程的類型,確定當前所需讀取的目標頁面,包括:
26、當所述目標流程為發(fā)現(xiàn)流程時,確定所述當前所需讀取的目標頁面為第一頁面;
27、當所述目標流程為命令下發(fā)流程時,確定所述當前所需讀取的目標頁面為第二頁面;
28、當所述目標流程為許可證信息處理流程時,確定所述當前所需讀取的目標頁面為第三頁面;
29、所述方法還包括:
30、分別對所述發(fā)現(xiàn)流程、所述命令下發(fā)流程以及所述許可證信息處理流程的執(zhí)行失敗的次數(shù)進行計數(shù);
31、當所述發(fā)現(xiàn)流程、所述命令下發(fā)流程以及所述許可證信息處理流程中任一項的執(zhí)行失敗次數(shù)達到第三預設閾值時,確定所述第一控制器不冗余,并發(fā)出第一告警信息。
32、本技術實施例第二方面提供了一種數(shù)據(jù)讀取方法,應用于擴展柜的第二控制器,所述擴展柜通過擴展卡與主控柜通信連接,所述方法包括:
33、根據(jù)所述擴展柜的目標頁面中的當前數(shù)據(jù)計算出第一校驗值;
34、將所述第一校驗值發(fā)送至所述擴展卡,以使所述主控柜的第一控制器在執(zhí)行目標流程,獲取到所述擴展卡返回的第一數(shù)據(jù)之后,根據(jù)所述第一數(shù)據(jù)計算第二校驗值,并判斷所述第一校驗值和所述第二校驗值是否相等,且當所述第一校驗值和所述第二校驗值不相等時,確定所述第一數(shù)據(jù)為所述擴展卡代答的無效數(shù)據(jù),不對所述第一數(shù)據(jù)進行解析;其中,所述目標流程用于讀取所述擴展柜的目標頁面中的當前數(shù)據(jù)。
35、本技術實施例第三方面提供了一種數(shù)據(jù)讀取裝置,應用于主控柜的第一控制器,所述主控柜通過擴展卡與擴展柜通信連接,所述裝置包括:
36、第一數(shù)據(jù)獲取模塊,用于執(zhí)行目標流程,獲取所述擴展卡返回的第一數(shù)據(jù),所述目標流程用于讀取所述擴展柜的目標頁面中的當前數(shù)據(jù);
37、第一校驗值獲取模塊,用于獲取所述當前數(shù)據(jù)所對應的第一校驗值;
38、判斷模塊,用于根據(jù)所述第一數(shù)據(jù)計算第二校驗值,并判斷所述第一校驗值和所述第二校驗值是否相等;
39、確定模塊,用于當所述第一校驗值和所述第二校驗值不相等時,確定所述第一數(shù)據(jù)為所述擴展卡代答的無效數(shù)據(jù),不對所述第一數(shù)據(jù)進行解析。
40、本技術實施例第四方面提供了一種電子設備,包括存儲器、處理器以及存儲在存儲器上的計算機程序,其中,所述處理器執(zhí)行所述計算機程序以實現(xiàn)如第一方面或第二方面所述的數(shù)據(jù)讀取方法。
41、本技術實施例第五方面提供了一種計算機可讀存儲介質,其上存儲有計算機程序,其中,所述計算機程序被處理器執(zhí)行時實現(xiàn)如第一方面或第二方面所述的數(shù)據(jù)讀取方法。
42、本技術的有益效果:
43、本技術實施例提供一種數(shù)據(jù)讀取方法、裝置、設備及介質,應用于主控柜的第一控制器,所述主控柜通過擴展卡與擴展柜通信連接,所述方法包括:執(zhí)行目標流程,獲取所述擴展卡返回的第一數(shù)據(jù),所述目標流程用于讀取所述擴展柜的目標頁面中的當前數(shù)據(jù);獲取所述當前數(shù)據(jù)所對應的第一校驗值;根據(jù)所述第一數(shù)據(jù)計算第二校驗值,并判斷所述第一校驗值和所述第二校驗值是否相等;當所述第一校驗值和所述第二校驗值不相等時,確定所述第一數(shù)據(jù)為所述擴展卡代答的無效數(shù)據(jù),不對所述第一數(shù)據(jù)進行解析。
44、通過本技術的技術方案,在主控柜的第一控制器執(zhí)行目標流程時,接收到從擴展卡返回的第一數(shù)據(jù)和第一校驗值,并針對第一數(shù)據(jù)計算出第二校驗孩子,比較第一校驗值和第二校驗值,當相等時,認為數(shù)據(jù)傳輸完整,否則認為數(shù)據(jù)傳輸錯誤,第一數(shù)據(jù)為無效數(shù)據(jù),此時不對第一數(shù)據(jù)進行解析,避免出現(xiàn)主控柜的熱重啟,從而能夠提高存儲系統(tǒng)運行的穩(wěn)定性。