本發(fā)明涉及數(shù)據(jù)傳輸,具體涉及數(shù)據(jù)保序方法、裝置、計算機設備及存儲介質(zhì)。
背景技術(shù):
1、系統(tǒng)級芯片(system?on?chip,soc)是一種集成了多種電子電路和系統(tǒng)功能的復雜芯片,在soc系統(tǒng)中,存在大量業(yè)務數(shù)據(jù)和消息的傳遞,業(yè)務數(shù)據(jù)和業(yè)務數(shù)據(jù)之間、業(yè)務數(shù)據(jù)與消息之間,根據(jù)業(yè)務不同往往存在特定的保序關(guān)系。由于在soc系統(tǒng)中,數(shù)據(jù)生產(chǎn)者與數(shù)據(jù)執(zhí)行端之間可能存在多條數(shù)據(jù)路徑,另外,目的端還需要從數(shù)據(jù)執(zhí)行端獲取數(shù)據(jù),由于數(shù)據(jù)執(zhí)行端可能存在多個數(shù)據(jù),目的端獲取數(shù)據(jù)的順序難以保證。
技術(shù)實現(xiàn)思路
1、有鑒于此,本發(fā)明提供了一種數(shù)據(jù)保序方法、裝置、計算機設備及存儲介質(zhì),以解決目的端獲取多個數(shù)據(jù)時順序可能出現(xiàn)錯誤的問題。
2、第一方面,本發(fā)明提供了一種數(shù)據(jù)保序方法,所述方法包括:
3、當向執(zhí)行設備發(fā)送報文時,在第一鏈表中存儲與報文對應的報文標記,并在第二鏈表中存儲保序信息,所述報文包括數(shù)據(jù)信息以及保序信息,所述報文標記在所述第一鏈表中的地址順序與所述報文的發(fā)出順序?qū)?,所述保序信息與每組數(shù)據(jù)信息對應;
4、接收所述執(zhí)行設備執(zhí)行所述數(shù)據(jù)信息后的響應信息,所述響應信息與數(shù)據(jù)信息一一對應;
5、基于所述響應信息從所述第一鏈表中摘取與所述響應信息對應的報文標記;
6、基于每組數(shù)據(jù)信息的保序信息所對應的報文標記在所述第一鏈表中的位置,確定目標報文標記,并將所述目標報文標記在所述第二鏈表中對應的目標保序信息發(fā)送至目標設備。
7、在一種可選的實施方式中,所述基于每組數(shù)據(jù)信息的保序信息所對應的報文標記在所述第一鏈表中的位置,確定目標報文標記,包括:
8、當所述每組數(shù)據(jù)信息的保序信息所對應的報文標記到達所述第一鏈表的鏈首,將所述保序信息對應的報文標記確定為目標報文標記。
9、在一種可選的實施方式中,所述將所述目標報文標記在所述第二鏈表中對應的目標保序信息發(fā)送至目標設備,包括:
10、將所述目標報文標記在所述第二鏈表中對應的目標保序信息從所述第二鏈表中摘??;
11、將所述目標保序信息發(fā)送至所述目標設備。
12、在一種可選的實施方式中,所述第一鏈表和所述第二鏈表為雙向鏈表,所述雙向鏈表結(jié)構(gòu)中包括預取信息的存儲區(qū)域,所述在第一鏈表中存儲與報文對應的報文標記,包括:
13、將第一個節(jié)點的預取信息寫入頭指針的擴展部分,將所述第一個節(jié)點的報文標記寫入第一地址指向的數(shù)據(jù)存儲區(qū)域,并將所述第一地址寫入頭指針,所述第一個節(jié)點的預取信息與所述第一個節(jié)點的報文標記對應;
14、將第二個節(jié)點的預取信息寫入第一地址指向的預取信息的存儲區(qū)域,將所述第二個節(jié)點的報文標記寫入第二地址指向的數(shù)據(jù)存儲區(qū)域,并將所述第二地址寫入第一地址指向的后級邏輯地址,將第一地址寫入第二地址指向的前級邏輯地址,將第二節(jié)點地址寫入尾指針,所述第二個節(jié)點的預取信息與所述第二個節(jié)點的報文標記對應。
15、在一種可選的實施方式中,所述基于所述響應信息從所述第一鏈表中摘取與所述響應信息對應的報文標記,包括:
16、確定與所述響應信息對應的報文標記;
17、將所述報文標記對應的第一地址從所述第一鏈表中刪除,并基于所述第一地址指向的后級邏輯地址索引到所述第二地址以及所述第一地址指向的預取信息,以將所述第二地址和第二個節(jié)點對應的預取信息寫入所述頭指針,所述第二個節(jié)點成為隊首節(jié)點。
18、在一種可選的實施方式中,所述當向執(zhí)行設備發(fā)送報文時,在第一鏈表中存儲與報文對應的報文標記,并在第二鏈表中存儲保序信息,包括:
19、當向執(zhí)行設備發(fā)送報文時,獲取所述報文的發(fā)送順序;
20、基于所述發(fā)送順序在所述第一鏈表和所述第二鏈表中分配掛鏈地址,在所述第一鏈表中所述掛鏈地址與所述報文標記一一對應,在所述第二鏈表中所述掛鏈地址與所述保序信息一一對應;
21、基于所述掛鏈地址在所述第一鏈表中存儲與報文對應的報文標記,并在所述第二鏈表中存儲保序信息。
22、在一種可選的實施方式中,所述基于所述響應信息從所述第一鏈表中摘取與所述響應信息對應的報文標記,還包括:
23、基于所述響應信息的順序從所述第一鏈表中摘取與所述響應信息對應的報文標記,并收回所述報文標記對應的掛鏈地址。
24、第二方面,本發(fā)明提供了一種數(shù)據(jù)保序裝置,所述裝置包括:
25、標記存儲模塊,用于當向執(zhí)行設備發(fā)送報文時,在第一鏈表中存儲與報文對應的報文標記,并在第二鏈表中存儲保序信息,所述報文包括數(shù)據(jù)信息以及保序信息,所述報文標記在所述第一鏈表中的地址順序與所述報文的發(fā)出順序?qū)?,所述保序信息與每組數(shù)據(jù)信息對應;
26、響應接收模塊,用于接收所述執(zhí)行設備執(zhí)行所述數(shù)據(jù)信息后的響應信息,所述響應信息與數(shù)據(jù)信息一一對應;
27、標記摘取模塊,用于基于所述響應信息從所述第一鏈表中摘取與所述響應信息對應的報文標記;
28、保序發(fā)送模塊,用于基于每組數(shù)據(jù)信息的保序信息所對應的報文標記在所述第一鏈表中的位置,確定目標報文標記,并將所述目標報文標記在所述第二鏈表中對應的目標保序信息發(fā)送至目標設備。
29、第三方面,本發(fā)明提供了一種計算機設備,包括:存儲器和處理器,存儲器和處理器之間互相通信連接,存儲器中存儲有計算機指令,處理器通過執(zhí)行計算機指令,從而執(zhí)行上述第一方面或其對應的任一實施方式的方法。
30、第四方面,本發(fā)明提供了一種計算機可讀存儲介質(zhì),該計算機可讀存儲介質(zhì)上存儲有計算機指令,計算機指令用于使計算機執(zhí)行上述第一方面或其對應的任一實施方式的方法。
31、第五方面,本發(fā)明提供了一種計算機程序產(chǎn)品,包括計算機指令,計算機指令用于使計算機執(zhí)行上述第一方面或其對應的任一實施方式的方法。
32、本發(fā)明實施例提供的數(shù)據(jù)保序方法,當數(shù)據(jù)生產(chǎn)設備向執(zhí)行設備發(fā)送報文時,在第一鏈表中存儲與報文對應的報文標記,并在第二鏈表中存儲保序信息,報文包括數(shù)據(jù)信息以及保序信息;接收執(zhí)行設備執(zhí)行數(shù)據(jù)信息后的響應信息,并基于響應信息從第一鏈表中摘取響應信息對應的報文標記;根據(jù)每組數(shù)據(jù)信息的保序信息對應的報文標記在第一鏈表中的位置確定目標報文標記,進而將目標報文標記在第二鏈表中對應的目標保序信息發(fā)送給目標設備。本方法通過將數(shù)據(jù)信息和保序信息的報文標記按發(fā)出順序掛鏈,在數(shù)據(jù)信息執(zhí)行完后根據(jù)響應信息將數(shù)據(jù)信息對應的報文標記摘鏈,根據(jù)保序信息的報文標記在第一鏈表的位置判斷其對應的一組數(shù)據(jù)信息是否都已執(zhí)行完成,若執(zhí)行完成,則可將保序信息從第二鏈表中摘鏈并發(fā)送給目標設備,實現(xiàn)多路徑保序,提升目標設備讀取數(shù)據(jù)信息的準確性。適用于需要應答的數(shù)據(jù)傳輸、異常中斷的保序處理等多種場景。
1.一種數(shù)據(jù)保序方法,其特征在于,所述方法包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述基于每組數(shù)據(jù)信息的保序信息所對應的報文標記在所述第一鏈表中的位置,確定目標報文標記,包括:
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述將所述目標報文標記在所述第二鏈表中對應的目標保序信息發(fā)送至目標設備,包括:
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述第一鏈表和所述第二鏈表為雙向鏈表,所述雙向鏈表結(jié)構(gòu)中包括預取信息的存儲區(qū)域,所述在第一鏈表中存儲與報文對應的報文標記,包括:
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述基于所述響應信息從所述第一鏈表中摘取與所述響應信息對應的報文標記,包括:
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述當向執(zhí)行設備發(fā)送報文時,在第一鏈表中存儲與報文對應的報文標記,并在第二鏈表中存儲保序信息,包括:
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述基于所述響應信息從所述第一鏈表中摘取與所述響應信息對應的報文標記,還包括:
8.一種數(shù)據(jù)保序裝置,其特征在于,所述裝置包括:
9.一種計算機設備,其特征在于,包括:
10.一種計算機可讀存儲介質(zhì),其特征在于,所述計算機可讀存儲介質(zhì)上存儲有計算機指令,所述計算機指令用于使計算機執(zhí)行權(quán)利要求1至7中任一項所述的數(shù)據(jù)保序方法。