本發(fā)明涉及計算機,特別是涉及一種分布式總線的通信傳輸方法、裝置、設(shè)備、介質(zhì)及產(chǎn)品。
背景技術(shù):
1、在傳統(tǒng)的總線設(shè)計中,總線上有且只有一條路徑,通常只有一個master(主設(shè)備)具有總線的控制權(quán),這種控制權(quán)允許master在總線上發(fā)送數(shù)據(jù)或命令。當(dāng)有多個master存在時,如果具有控制權(quán)的master不退出總線占用,即在完成其傳輸任務(wù)之前不允許其他master使用總線。只有當(dāng)當(dāng)前擁有控制權(quán)的master釋放總線(即總線處于空閑狀態(tài))時,其他master才有機會獲得控制權(quán)。
2、目前,傳統(tǒng)的總線通信方法存在以下缺陷:1)當(dāng)接收執(zhí)行命令的target(目標(biāo)對象)需要較長時間周期才能正確響應(yīng)master時,那master將耗費較長時間占用總線進行等待,此時其他master也無法使用總線,造成總線效率低下;2)即便有兩對完全不沖突的master和target需要同時進行通信,它們也不得不進行仲裁和排隊,等其中一方使用完退出總線。因此,亟需一種有效的分布式總線的數(shù)據(jù)傳輸方法解決上述問題。
技術(shù)實現(xiàn)思路
1、鑒于上述問題,提出了本發(fā)明以便提供克服上述問題或者至少部分地解決上述問題的一種分布式總線的數(shù)據(jù)傳輸方法、裝置、設(shè)備、介質(zhì)及產(chǎn)品。
2、為實現(xiàn)上述目的及其他相關(guān)目的,本發(fā)明提供一種分布式總線的數(shù)據(jù)傳輸方法,應(yīng)用于分布式總線系統(tǒng),所述分布式總線系統(tǒng)包括多個節(jié)點,每個節(jié)點均包括一主設(shè)備和一目標(biāo)對象,多個節(jié)點通過分布式總線通信連接,所述分布式總線包括命令總線、拉取id總線、拉取數(shù)據(jù)總線和推送數(shù)據(jù)總線,所述方法包括:
3、確定各個節(jié)點中主設(shè)備下發(fā)的操作命令,并確定各個操作命令所操作的目標(biāo)對象;
4、基于各個操作命令及其所操作的目標(biāo)對象,確定各個操作命令所涉及到的總線路徑;其中,所述總線路徑為操作命令在主設(shè)備和所操作的目標(biāo)對象之間所涉及到的分布式總線的傳輸路徑;
5、在確定至少兩個主設(shè)備對目標(biāo)對象的操作命令所涉及到的總線路徑?jīng)]有重疊時,至少兩個主設(shè)備對目標(biāo)對象根據(jù)相應(yīng)的總線路徑并行執(zhí)行各個操作命令對應(yīng)的通信傳輸任務(wù)。
6、可選地,在所述分布式總線包括至少三個節(jié)點的情況下,所述基于各個操作命令及其所操作的目標(biāo)對象,確定各個操作命令所涉及到的總線路徑,包括:
7、第一節(jié)點主設(shè)備通過命令總線發(fā)送寫命令給第二節(jié)點目標(biāo)對象;其中,所述寫命令包括第三節(jié)點主設(shè)備的數(shù)據(jù)存放位置和信號通知位置;
8、所述第二節(jié)點目標(biāo)對象在接收到所述寫命令時,根據(jù)所述寫命令填寫數(shù)據(jù)存放位置、信號通知位置以及所述第二節(jié)點目標(biāo)對象的請求數(shù)據(jù)位置,并將所述請求數(shù)據(jù)位置、所述數(shù)據(jù)存放位置以及所述信號通知位置填寫到拉取id總線,且通過所述拉取id總線發(fā)送給所述第三節(jié)點主設(shè)備;
9、所述第三節(jié)點主設(shè)備在接收到所述拉取id總線后,按照所述數(shù)據(jù)存放位置讀取請求數(shù)據(jù),并將所述請求數(shù)據(jù)填寫到拉取數(shù)據(jù)總線,且通過所述拉取數(shù)據(jù)總線將所述請求數(shù)據(jù)發(fā)送到所述第二節(jié)點目標(biāo)對象的請求數(shù)據(jù)位置;
10、在所述請求數(shù)據(jù)傳輸完成的最后一個周期時,所述第二節(jié)點目標(biāo)對象將控制信號置高,并向所述第三節(jié)點主設(shè)備的信號通知位置通知所述請求數(shù)據(jù)已經(jīng)讀取完成。
11、可選地,在所述分布式總線包括至少三個節(jié)點的情況下,所述基于各個操作命令及其所操作的目標(biāo)對象,確定各個操作命令所涉及到的總線路徑,包括:
12、第一節(jié)點主設(shè)備通過命令總線發(fā)送讀命令給第二節(jié)點目標(biāo)對象,其中,所述讀命令包括第三節(jié)點主設(shè)備的請求數(shù)據(jù)位置和信號通知位置;
13、所述第二節(jié)點目標(biāo)對象在接收到所述讀命令時,根據(jù)所述讀命令填寫請求數(shù)據(jù)位置和信號通知位置,并向所述第二節(jié)點目標(biāo)對象的數(shù)據(jù)存放位置讀取請求數(shù)據(jù),且將所述請求數(shù)據(jù)、所述請求數(shù)據(jù)位置以及所述信號通知位置填寫到推送數(shù)據(jù)總線,通過所述推送數(shù)據(jù)總線發(fā)送給第三節(jié)點主設(shè)備;
14、在所述請求數(shù)據(jù)傳輸完成的最后一個周期時,所述第二節(jié)點目標(biāo)對象將控制信號置高,并向所述第三節(jié)點主設(shè)備的信號通知位置通知所述請求數(shù)據(jù)已經(jīng)讀取完成。
15、可選地,在所述分布式總線包括至少兩個節(jié)點的情況下,所述基于各個操作命令及其所操作的目標(biāo)對象,確定各個操作命令所涉及到的總線路徑,包括:
16、第一節(jié)點主設(shè)備通過命令總線發(fā)送寫命令給第二節(jié)點目標(biāo)對象;其中,所述寫命令包括所述第一節(jié)點主設(shè)備的數(shù)據(jù)存放位置和信號通知位置;
17、所述第二節(jié)點目標(biāo)對象在接收到所述寫命令時,根據(jù)所述寫命令填寫數(shù)據(jù)存放位置、信號通知位置以及所述第二節(jié)點目標(biāo)對象的請求數(shù)據(jù)位置,并將所述請求數(shù)據(jù)位置、所述數(shù)據(jù)存放位置以及所述信號通知位置填寫到拉取id總線,且通過所述拉取id總線發(fā)送給所述第一節(jié)點主設(shè)備;
18、所述第一節(jié)點主設(shè)備在接收到所述拉取id總線后,按照所述數(shù)據(jù)存放位置讀取請求數(shù)據(jù),并將所述請求數(shù)據(jù)填寫到拉取數(shù)據(jù)總線,且通過所述拉取數(shù)據(jù)總線將所述請求數(shù)據(jù)發(fā)送到所述第二節(jié)點目標(biāo)對象的請求數(shù)據(jù)位置;
19、在所述請求數(shù)據(jù)傳輸完成的最后一個周期時,所述第二節(jié)點目標(biāo)對象將控制信號置高,并向所述第一節(jié)點主設(shè)備的信號通知位置通知所述請求數(shù)據(jù)已經(jīng)讀取完成。
20、可選地,在所述分布式總線包括至少兩個節(jié)點的情況下,所述基于各個操作命令及其所操作的目標(biāo)對象,確定各個操作命令所涉及到的總線路徑,包括:
21、第一節(jié)點主設(shè)備通過命令總線發(fā)送讀命令給第二節(jié)點目標(biāo)對象;其中,所述讀命令包括所述第一節(jié)點主設(shè)備的請求數(shù)據(jù)位置和信號通知位置;
22、所述第二節(jié)點目標(biāo)對象在接收到所述讀命令時,根據(jù)所述讀命令填寫請求數(shù)據(jù)位置和信號通知位置,并向所述第二節(jié)點目標(biāo)對象的數(shù)據(jù)存放位置讀取請求數(shù)據(jù),且將所述請求數(shù)據(jù)、所述請求數(shù)據(jù)位置及所述信號通知位置填寫到推送數(shù)據(jù)總線中,通過所述推送數(shù)據(jù)總線發(fā)送給所述第一節(jié)點主設(shè)備;
23、在所述請求數(shù)據(jù)傳輸完成的最后一個周期時,所述第二節(jié)點目標(biāo)對象將控制信號置高,并向所述第一節(jié)點主設(shè)備的信號通知位置通知所述請求數(shù)據(jù)已經(jīng)讀取完成。
24、可選地,在所述分布式總線包括至少兩個節(jié)點的情況下,所述基于各個操作命令及其所操作的目標(biāo)對象,確定各個操作命令所涉及到的總線路徑,包括:
25、第一節(jié)點主設(shè)備通過命令總線將寫命令發(fā)送給第二主目標(biāo)對象;其中,所述寫命令包括所述第一節(jié)點主設(shè)備的數(shù)據(jù)存放位置和信號通知位置;
26、所述第二節(jié)點目標(biāo)對象在接收到所述寫命令時,根據(jù)所述寫命令填寫數(shù)據(jù)存放位置、信號通知位置以及所述第二節(jié)點目標(biāo)對象的請求數(shù)據(jù)位置,并將所述請求數(shù)據(jù)位置、所述數(shù)據(jù)存放位置以及所述信號通知位置填寫到拉取id總線,且通過所述拉取id總線發(fā)送給所述第一節(jié)點主設(shè)備;
27、所述第一節(jié)點主設(shè)備在接收到所述拉取id總線后,按照所述數(shù)據(jù)存放位置讀取請求數(shù)據(jù),并將所述請求數(shù)據(jù)填寫到拉取數(shù)據(jù)總線,且通過所述拉取數(shù)據(jù)總線將所述請求數(shù)據(jù)發(fā)送到所述第二節(jié)點目標(biāo)對象的請求數(shù)據(jù)位置;
28、所述第二節(jié)點目標(biāo)對象在接收到所述請求數(shù)據(jù)后,讀取出所述請求數(shù)據(jù)位置的原始數(shù)據(jù),并將所述原始數(shù)據(jù)填寫到推送數(shù)據(jù)總線,且通過所述推送數(shù)據(jù)總線將所述原始數(shù)據(jù)發(fā)送到所述第一節(jié)點主設(shè)備的數(shù)據(jù)存放位置;
29、在所述原始數(shù)據(jù)傳輸完成的最后一個周期時,所述第二節(jié)點目標(biāo)對象將控制信號置高,并向所述第一節(jié)點主設(shè)備的信號通知位置通知所述原始數(shù)據(jù)已經(jīng)讀取完成。
30、第二方面,本發(fā)明還提供一種分布式總線的通信傳輸裝置,應(yīng)用于分布式總線系統(tǒng),所述分布式總線系統(tǒng)包括多個節(jié)點,每個節(jié)點均包括一主設(shè)備和一目標(biāo)對象,多個節(jié)點通過分布式總線通信連接,所述分布式總線包括命令總線、拉取id總線、拉取數(shù)據(jù)總線和推送數(shù)據(jù)總線,所述裝置包括:
31、確定模塊,用于確定各個節(jié)點中主設(shè)備下發(fā)的操作命令,并確定各個操作命令所操作的目標(biāo)對象;
32、操作模塊,用于基于各個操作命令及其所操作的目標(biāo)對象,確定各個操作命令所涉及到的總線路徑;其中,所述總線路徑為操作命令在主設(shè)備和所操作的目標(biāo)對象之間所涉及到的分布式總線的傳輸路徑;
33、并行模塊,用于在確定至少兩個主設(shè)備對目標(biāo)對象的操作命令所涉及到的總線路徑?jīng)]有重疊時,至少兩個主設(shè)備對目標(biāo)對象根據(jù)相應(yīng)的總線路徑并行執(zhí)行各個操作命令對應(yīng)的通信傳輸任務(wù)。
34、第三方面,本發(fā)明提供一種電子設(shè)備,所述電子設(shè)備包括:存儲器與處理器;所述存儲器用于存儲計算機程序;所述處理器用于執(zhí)行所述存儲器存儲的計算機程序,以使所述電子設(shè)備執(zhí)行如上所述的分布式總線的通信傳輸?shù)牟襟E。
35、第四方面,本發(fā)明提供一種計算機可讀存儲介質(zhì),其上存儲有計算機程序,該程序被電子設(shè)備執(zhí)行時實現(xiàn)如上所述的分布式總線的通信傳輸方法的步驟。
36、第五方面,本發(fā)明提供一種計算機程序產(chǎn)品,所述計算機程序產(chǎn)品中包括計算機程序代碼,當(dāng)所述計算機程序代碼在計算機上運行時,使得所述計算機實現(xiàn)如上所述的分布式總線的通信傳輸方法的步驟。
37、本發(fā)明提供的上述一個或多個技術(shù)方案,可以具有如下優(yōu)點或至少實現(xiàn)了如下技術(shù)效果:
38、本發(fā)明的分布式總線的通信傳輸方法、系統(tǒng)、設(shè)備及介質(zhì),應(yīng)用于分布式總線系統(tǒng),所述分布式總線系統(tǒng)包括多個節(jié)點,每個節(jié)點均包括一主設(shè)備和一目標(biāo)對象,多個節(jié)點通過分布式總線通信連接,所述分布式總線包括命令總線、拉取id總線、拉取數(shù)據(jù)總線和推送數(shù)據(jù)總線,所述方法包括:確定各個節(jié)點中主設(shè)備下發(fā)的操作命令,并確定各個操作命令所操作的目標(biāo)對象;基于各個操作命令及其所操作的目標(biāo)對象,確定各個操作命令所涉及到的總線路徑;其中,所述總線路徑為操作命令在主設(shè)備和所操作的目標(biāo)對象之間所涉及到的分布式總線的傳輸路徑;在確定至少兩個主設(shè)備對目標(biāo)對象的操作命令所涉及到的總線路徑?jīng)]有重疊時,至少兩個主設(shè)備對目標(biāo)對象根據(jù)相應(yīng)的總線路徑并行執(zhí)行各個操作命令對應(yīng)的通信傳輸任務(wù)。
39、由此,本發(fā)明將傳統(tǒng)總線的集中式設(shè)計轉(zhuǎn)變?yōu)槊詈蛿?shù)據(jù)分離的分布式總線設(shè)計,通過利用分布式總線的通信傳輸策略,可以提高總線的靈活性和使用效率,以及減少總線中的傳輸時延。