System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內(nèi)的位置。 參數(shù)名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術(shù)實現(xiàn)步驟摘要】
本專利技術(shù)涉及計算機軟件通信,尤其涉及一種計算機軟件數(shù)據(jù)的傳輸方法、裝置和設(shè)備。
技術(shù)介紹
1、計算機軟件數(shù)據(jù)的傳輸可以指將軟件數(shù)據(jù)從一個線程交換到另一個線程,或者將軟件數(shù)據(jù)從一個進程交換到另一個進程。在進行軟件數(shù)據(jù)傳輸?shù)倪^程中,往往會利用互斥鎖和信號量對軟件數(shù)據(jù)進行控制,并借助計算機系統(tǒng)內(nèi)核資源,完成軟件數(shù)據(jù)的同步。
2、但是,互斥鎖(申請鎖/釋放鎖)和信號量(申請資源/釋放資源)均屬于耗時操作,同時,互斥鎖和信號量屬于有限的內(nèi)核資源。因此,依賴互斥鎖和信號量兩種內(nèi)核資源完成數(shù)據(jù)傳輸會對傳輸效率有一定影響,特別是在高頻的數(shù)據(jù)交互場景下,數(shù)據(jù)的每次發(fā)送和接收都會訪問內(nèi)核資源,此時有限的內(nèi)核資源會嚴(yán)重降低數(shù)據(jù)傳輸?shù)男剩瑪?shù)據(jù)傳輸頻率越高,數(shù)據(jù)傳輸效率就會越低。
技術(shù)實現(xiàn)思路
1、本專利技術(shù)提供一種計算機軟件數(shù)據(jù)的傳輸方法、裝置和設(shè)備,用以解決現(xiàn)有技術(shù)中軟件數(shù)據(jù)傳輸效率低的技術(shù)問題。
2、一方面,本專利技術(shù)提供一種計算機軟件數(shù)據(jù)的傳輸方法,包括:
3、申請內(nèi)存空間,并在所述內(nèi)存空間中建立數(shù)據(jù)隊列;其中,所述數(shù)據(jù)隊列包括多個數(shù)據(jù)塊,各所述數(shù)據(jù)塊包括標(biāo)識、有效長度和數(shù)據(jù)區(qū);
4、對所述數(shù)據(jù)隊列進行初始化,以確定所述數(shù)據(jù)隊列中數(shù)據(jù)塊的大小和總數(shù)量,以及將所述數(shù)據(jù)隊列各數(shù)據(jù)塊的標(biāo)識和數(shù)據(jù)區(qū)置為空狀態(tài);
5、啟動計算機軟件數(shù)據(jù)的數(shù)據(jù)發(fā)送端和數(shù)據(jù)接收端;
6、控制數(shù)據(jù)發(fā)送端按照所述數(shù)據(jù)隊列中數(shù)據(jù)塊的先后順序檢測標(biāo)識為空狀態(tài)的目
7、控制數(shù)據(jù)接收端按照所述數(shù)據(jù)隊列中數(shù)據(jù)塊的先后順序檢測標(biāo)識為非空狀態(tài)的目標(biāo)數(shù)據(jù)塊,基于標(biāo)識為非空狀態(tài)的目標(biāo)數(shù)據(jù)塊的有效長度在數(shù)據(jù)區(qū)中獲取數(shù)據(jù),并將獲取數(shù)據(jù)后的目標(biāo)數(shù)據(jù)塊的標(biāo)識置為空狀態(tài)。
8、根據(jù)本專利技術(shù)提供的一種計算機軟件數(shù)據(jù)的傳輸方法,當(dāng)所述數(shù)據(jù)隊列為多個時,各所述數(shù)據(jù)隊列的數(shù)據(jù)塊的大小不同;
9、在所述對所述數(shù)據(jù)隊列進行初始化之后,還包括:
10、將待傳輸?shù)挠嬎銠C軟件數(shù)據(jù)的數(shù)據(jù)長度和各所述數(shù)據(jù)隊列中數(shù)據(jù)塊的數(shù)據(jù)長度進行對比,得到對比結(jié)果;
11、基于所述對比結(jié)果,在各所述數(shù)據(jù)隊列中篩選出數(shù)據(jù)塊的數(shù)據(jù)長度大于或等于所述待傳輸?shù)挠嬎銠C軟件數(shù)據(jù)的數(shù)據(jù)長度的目標(biāo)隊列;
12、在各所述目標(biāo)隊列中篩選一個作為最終隊列;
13、控制數(shù)據(jù)發(fā)送端按照所述數(shù)據(jù)隊列中數(shù)據(jù)塊的先后順序檢測標(biāo)識為空狀態(tài)的目標(biāo)數(shù)據(jù)塊,包括:
14、控制數(shù)據(jù)發(fā)送端按照所述最終隊列中數(shù)據(jù)塊的先后順序檢測標(biāo)識為空狀態(tài)的目標(biāo)數(shù)據(jù)塊。
15、根據(jù)本專利技術(shù)提供的一種計算機軟件數(shù)據(jù)的傳輸方法,所述在各所述目標(biāo)隊列中篩選一個作為最終隊列,包括:
16、在各所述目標(biāo)隊列中篩選出數(shù)據(jù)塊的數(shù)據(jù)長度最小的一個作為最終隊列。
17、根據(jù)本專利技術(shù)提供的一種計算機軟件數(shù)據(jù)的傳輸方法,當(dāng)所述數(shù)據(jù)隊列為多個,且所述數(shù)據(jù)接收端也為多個,并少于所述數(shù)據(jù)隊列的數(shù)量時,所述控制數(shù)據(jù)接收端按照所述數(shù)據(jù)隊列中數(shù)據(jù)塊的先后順序檢測標(biāo)識為非空狀態(tài)的目標(biāo)數(shù)據(jù)塊,包括:
18、基于各所述數(shù)據(jù)隊列傳輸數(shù)據(jù)量的大小,對各所述數(shù)據(jù)隊列進行分組,得到多個隊列組;其中,所述隊列組的數(shù)量與所述數(shù)據(jù)接收端的數(shù)量相同;
19、確定各所述隊列組與各所述數(shù)據(jù)接收端的對應(yīng)關(guān)系;
20、控制各所述數(shù)據(jù)接收端對各自對應(yīng)的隊列組中的數(shù)據(jù)隊列依次按照數(shù)據(jù)塊的先后順序檢測標(biāo)識為非空狀態(tài)的目標(biāo)數(shù)據(jù)塊。
21、根據(jù)本專利技術(shù)提供的一種計算機軟件數(shù)據(jù)的傳輸方法,所述隊列組中包含的數(shù)據(jù)隊列的數(shù)量越多,該隊列組中單個數(shù)據(jù)隊列傳輸數(shù)據(jù)量越小;
22、所述隊列組中包含的數(shù)據(jù)隊列的數(shù)量越少,該隊列組中單個數(shù)據(jù)隊列傳輸數(shù)據(jù)量越大。
23、根據(jù)本專利技術(shù)提供的一種計算機軟件數(shù)據(jù)的傳輸方法,當(dāng)所述數(shù)據(jù)隊列為多個,且所述數(shù)據(jù)接收端為一個時,所述控制數(shù)據(jù)接收端按照所述數(shù)據(jù)隊列中數(shù)據(jù)塊的先后順序檢測標(biāo)識為非空狀態(tài)的目標(biāo)數(shù)據(jù)塊,包括:
24、控制所述數(shù)據(jù)接收端依次對各所述數(shù)據(jù)隊列按照數(shù)據(jù)塊的先后順序檢測標(biāo)識為非空狀態(tài)的目標(biāo)數(shù)據(jù)塊。
25、根據(jù)本專利技術(shù)提供的一種計算機軟件數(shù)據(jù)的傳輸方法,當(dāng)所述數(shù)據(jù)隊列為多個,且所述數(shù)據(jù)接收端也為多個,并與所述數(shù)據(jù)隊列一一對應(yīng)時,所述控制數(shù)據(jù)接收端按照所述數(shù)據(jù)隊列中數(shù)據(jù)塊的先后順序檢測標(biāo)識為非空狀態(tài)的目標(biāo)數(shù)據(jù)塊,包括:
26、控制各所述數(shù)據(jù)接收端分別對各自對應(yīng)的數(shù)據(jù)隊列按照數(shù)據(jù)塊的先后順序檢測標(biāo)識為非空狀態(tài)的目標(biāo)數(shù)據(jù)塊。
27、根據(jù)本專利技術(shù)提供的一種計算機軟件數(shù)據(jù)的傳輸方法,所述申請內(nèi)存空間,并在所述內(nèi)存空間中建立數(shù)據(jù)隊列,還包括:
28、建立所述數(shù)據(jù)隊列中第一個數(shù)據(jù)塊和最后一個數(shù)據(jù)塊的連接;
29、在所述將所述目標(biāo)數(shù)據(jù)塊的標(biāo)識置為非空狀態(tài)之后,還包括:
30、控制所述數(shù)據(jù)發(fā)送端指向下一個數(shù)據(jù)塊;
31、若指向的下一個數(shù)據(jù)塊為最后一個數(shù)據(jù)塊,控制所述數(shù)據(jù)發(fā)送端指向第一個數(shù)據(jù)塊;
32、在所述將獲取數(shù)據(jù)后的目標(biāo)數(shù)據(jù)塊的標(biāo)識置為空狀態(tài)之后,還包括:
33、控制所述數(shù)據(jù)接收端指向下一個數(shù)據(jù)塊;
34、若指向的下一個數(shù)據(jù)塊為最后一個數(shù)據(jù)塊,控制所述數(shù)據(jù)接收端指向第一個數(shù)據(jù)塊。
35、另一方面,本專利技術(shù)還提供一種計算機軟件數(shù)據(jù)的傳輸裝置,包括:
36、隊列創(chuàng)建模塊,用于申請內(nèi)存空間,并在所述內(nèi)存空間中建立數(shù)據(jù)隊列;其中,所述數(shù)據(jù)隊列包括多個數(shù)據(jù)塊,各所述數(shù)據(jù)塊包括標(biāo)識、有效長度和數(shù)據(jù)區(qū);
37、初始化模塊,用于對所述數(shù)據(jù)隊列進行初始化,以確定所述數(shù)據(jù)隊列中數(shù)據(jù)塊的大小和總數(shù)量,以及將所述數(shù)據(jù)隊列各數(shù)據(jù)塊的標(biāo)識置為空狀態(tài);
38、啟動模塊,用于啟動計算機軟件數(shù)據(jù)的數(shù)據(jù)發(fā)送端和數(shù)據(jù)接收端;
39、發(fā)送模塊,用于控制數(shù)據(jù)發(fā)送端按照所述數(shù)據(jù)隊列中數(shù)據(jù)塊的先后順序檢測標(biāo)識為空狀態(tài)的目標(biāo)數(shù)據(jù)塊,將待傳輸?shù)挠嬎銠C軟件數(shù)據(jù)寫入到所述目標(biāo)數(shù)據(jù)塊的數(shù)據(jù)區(qū)中,并將寫入數(shù)據(jù)的實際長度記錄在所述有效長度中,且將所述目標(biāo)數(shù)據(jù)塊的標(biāo)識置為非空狀態(tài);
40、接收模塊,用于控制數(shù)據(jù)接收端按照所述數(shù)據(jù)隊列中數(shù)據(jù)塊的先后順序檢測標(biāo)識為非空狀態(tài)的目標(biāo)數(shù)據(jù)塊,基于標(biāo)識為非空狀態(tài)的目標(biāo)數(shù)據(jù)塊的有效長度在數(shù)據(jù)區(qū)中獲取數(shù)據(jù),并將獲取數(shù)據(jù)后的目標(biāo)數(shù)據(jù)塊的標(biāo)識置為空狀態(tài)。
41、另一方面,本專利技術(shù)還提供一種電子設(shè)備,包括存儲器、處理器及存儲在存儲器上并可在處理器上運行的計算機程序,所述處理器執(zhí)行所述程序時實現(xiàn)如上述任一種計算機軟件數(shù)據(jù)的傳輸方法。
42、本專利技術(shù)提供的計算機軟件數(shù)據(jù)的傳輸方法、裝置和設(shè)備,通過建立數(shù)據(jù)隊列,其中,數(shù)據(jù)隊列包括多個數(shù)據(jù)塊,控制數(shù)據(jù)發(fā)送端按照數(shù)據(jù)隊列本文檔來自技高網(wǎng)...
【技術(shù)保護點】
1.一種計算機軟件數(shù)據(jù)的傳輸方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的計算機軟件數(shù)據(jù)的傳輸方法,其特征在于,當(dāng)所述數(shù)據(jù)隊列為多個時,各所述數(shù)據(jù)隊列的數(shù)據(jù)塊的大小不同;
3.根據(jù)權(quán)利要求2所述的計算機軟件數(shù)據(jù)的傳輸方法,其特征在于,所述在各所述目標(biāo)隊列中篩選一個作為最終隊列,包括:
4.根據(jù)權(quán)利要求2所述的計算機軟件數(shù)據(jù)的傳輸方法,其特征在于,當(dāng)所述數(shù)據(jù)隊列為多個,且所述數(shù)據(jù)接收端也為多個,并少于所述數(shù)據(jù)隊列的數(shù)量時,所述控制數(shù)據(jù)接收端按照所述數(shù)據(jù)隊列中數(shù)據(jù)塊的先后順序檢測標(biāo)識為非空狀態(tài)的目標(biāo)數(shù)據(jù)塊,包括:
5.根據(jù)權(quán)利要求4所述的計算機軟件數(shù)據(jù)的傳輸方法,其特征在于,所述隊列組中包含的數(shù)據(jù)隊列的數(shù)量越多,該隊列組中單個數(shù)據(jù)隊列傳輸數(shù)據(jù)量越小;
6.根據(jù)權(quán)利要求2所述的計算機軟件數(shù)據(jù)的傳輸方法,其特征在于,當(dāng)所述數(shù)據(jù)隊列為多個,且所述數(shù)據(jù)接收端為一個時,所述控制數(shù)據(jù)接收端按照所述數(shù)據(jù)隊列中數(shù)據(jù)塊的先后順序檢測標(biāo)識為非空狀態(tài)的目標(biāo)數(shù)據(jù)塊,包括:
7.根據(jù)權(quán)利要求2所述的計算機軟件數(shù)據(jù)的傳輸方法,其特征在于
8.根據(jù)權(quán)利要求1所述的計算機軟件數(shù)據(jù)的傳輸方法,其特征在于,所述申請內(nèi)存空間,并在所述內(nèi)存空間中建立數(shù)據(jù)隊列,還包括:
9.一種計算機軟件數(shù)據(jù)的傳輸裝置,其特征在于,包括:
10.一種電子設(shè)備,包括存儲器、處理器及存儲在存儲器上并可在處理器上運行的計算機程序,其特征在于,所述處理器執(zhí)行所述程序時實現(xiàn)如上述權(quán)利要求1至8中任一種所述計算機軟件數(shù)據(jù)的傳輸方法。
...【技術(shù)特征摘要】
1.一種計算機軟件數(shù)據(jù)的傳輸方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的計算機軟件數(shù)據(jù)的傳輸方法,其特征在于,當(dāng)所述數(shù)據(jù)隊列為多個時,各所述數(shù)據(jù)隊列的數(shù)據(jù)塊的大小不同;
3.根據(jù)權(quán)利要求2所述的計算機軟件數(shù)據(jù)的傳輸方法,其特征在于,所述在各所述目標(biāo)隊列中篩選一個作為最終隊列,包括:
4.根據(jù)權(quán)利要求2所述的計算機軟件數(shù)據(jù)的傳輸方法,其特征在于,當(dāng)所述數(shù)據(jù)隊列為多個,且所述數(shù)據(jù)接收端也為多個,并少于所述數(shù)據(jù)隊列的數(shù)量時,所述控制數(shù)據(jù)接收端按照所述數(shù)據(jù)隊列中數(shù)據(jù)塊的先后順序檢測標(biāo)識為非空狀態(tài)的目標(biāo)數(shù)據(jù)塊,包括:
5.根據(jù)權(quán)利要求4所述的計算機軟件數(shù)據(jù)的傳輸方法,其特征在于,所述隊列組中包含的數(shù)據(jù)隊列的數(shù)量越多,該隊列組中單個數(shù)據(jù)隊列傳輸數(shù)據(jù)量越小;
6.根據(jù)權(quán)利要求2所述的計算機軟件數(shù)據(jù)的傳輸方法,其特征在于...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:劉勇,
申請(專利權(quán))人:北京融為科技有限公司,
類型:發(fā)明
國別省市:
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。