欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于循環(huán)隊(duì)列的數(shù)據(jù)傳輸方法及系統(tǒng)的制作方法

文檔序號:10534744閱讀:332來源:國知局
一種基于循環(huán)隊(duì)列的數(shù)據(jù)傳輸方法及系統(tǒng)的制作方法
【專利摘要】本申請公開了一種基于循環(huán)隊(duì)列的數(shù)據(jù)傳輸方法及系統(tǒng),創(chuàng)建循環(huán)隊(duì)列;所述循環(huán)隊(duì)列中設(shè)置有多個(gè)出列指針;為每個(gè)數(shù)據(jù)讀取端分配至少一個(gè)對應(yīng)的所述出列指針;控制每個(gè)所述數(shù)據(jù)讀取端通過對應(yīng)的所述出列指針讀取所述循環(huán)隊(duì)列中存儲(chǔ)的數(shù)據(jù)??梢姡捎诒旧暾?zhí)峁┑难h(huán)隊(duì)列中設(shè)置有多個(gè)出列指針,因此在需要采用一對多的數(shù)據(jù)傳輸方式時(shí),可以為每個(gè)數(shù)據(jù)讀取端分配至少一個(gè)對應(yīng)的出列指針,控制每個(gè)數(shù)據(jù)讀取端通過對應(yīng)的出列指針讀取循環(huán)隊(duì)列中存儲(chǔ)的數(shù)據(jù),從而可以利用一個(gè)循環(huán)隊(duì)列實(shí)現(xiàn)一對多的數(shù)據(jù)傳輸,無需將數(shù)據(jù)發(fā)送端所發(fā)送的數(shù)據(jù)復(fù)制到多個(gè)循環(huán)隊(duì)列中,可以減少對數(shù)據(jù)存儲(chǔ)空間的占用,拓寬循環(huán)隊(duì)列的應(yīng)用范圍。
【專利說明】
一種基于循環(huán)隊(duì)列的數(shù)據(jù)傳輸方法及系統(tǒng)
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及數(shù)據(jù)通信技術(shù)領(lǐng)域,尤其涉及一種基于循環(huán)隊(duì)列的數(shù)據(jù)傳輸方法及系統(tǒng)。
【背景技術(shù)】
[0002]為了充分利用向量空間,克服假溢出,通常將向量空間想象為一個(gè)首尾相接的圓環(huán),并稱這種向量為循環(huán)向量。存儲(chǔ)在循環(huán)向量的隊(duì)列被稱為循環(huán)隊(duì)列(Circular Queue)。
[0003]現(xiàn)有的循環(huán)隊(duì)列中,有一個(gè)數(shù)據(jù)入列端和一個(gè)數(shù)據(jù)出列端,它允許在數(shù)據(jù)入列端通過入列指針進(jìn)行數(shù)據(jù)存儲(chǔ),而在數(shù)據(jù)出列端通過出列指針進(jìn)行數(shù)據(jù)讀取,采用的是基于先入先出原則的線性模式來實(shí)現(xiàn)數(shù)據(jù)傳輸。
[0004]但是,參見圖1所示,現(xiàn)有的一個(gè)循環(huán)隊(duì)列只能在一對一(一個(gè)數(shù)據(jù)發(fā)送端對應(yīng)一個(gè)數(shù)據(jù)讀取端)的數(shù)據(jù)傳輸中應(yīng)用,一個(gè)數(shù)據(jù)發(fā)送端通過數(shù)據(jù)入列端的入列指針發(fā)送數(shù)據(jù),一個(gè)數(shù)據(jù)讀取端通過數(shù)據(jù)出列端的出列指針讀取數(shù)據(jù),當(dāng)需要在一對多(一個(gè)數(shù)據(jù)發(fā)送端對應(yīng)多個(gè)數(shù)據(jù)讀取端)的數(shù)據(jù)傳輸中應(yīng)用時(shí),就需要為多個(gè)數(shù)據(jù)讀取端設(shè)置多個(gè)循環(huán)隊(duì)列,并將數(shù)據(jù)發(fā)送端所發(fā)送的數(shù)據(jù)復(fù)制到多個(gè)循環(huán)隊(duì)列中進(jìn)行傳輸,這需要占用比較多的數(shù)據(jù)存儲(chǔ)空間,而且使得基于循環(huán)隊(duì)列的一對多的數(shù)據(jù)傳輸實(shí)現(xiàn)起來比較復(fù)雜,導(dǎo)致循環(huán)隊(duì)列的應(yīng)用受限。

【發(fā)明內(nèi)容】

[0005]本發(fā)明提供一種基于循環(huán)隊(duì)列的數(shù)據(jù)傳輸方法及系統(tǒng),以簡化基于循環(huán)隊(duì)列的一對多的數(shù)據(jù)傳輸方式,并減少對數(shù)據(jù)存儲(chǔ)空間的占用,拓寬循環(huán)隊(duì)列的應(yīng)用范圍。
[0006]為解決上述技術(shù)問題,本申請?zhí)峁┮韵录夹g(shù)方案:
[0007]—種基于循環(huán)隊(duì)列的數(shù)據(jù)傳輸方法,包括:
[0008]創(chuàng)建循環(huán)隊(duì)列;所述循環(huán)隊(duì)列中設(shè)置有多個(gè)出列指針;
[0009]為每個(gè)數(shù)據(jù)讀取端分配至少一個(gè)對應(yīng)的所述出列指針;
[0010]控制每個(gè)所述數(shù)據(jù)讀取端通過對應(yīng)的所述出列指針讀取所述循環(huán)隊(duì)列中存儲(chǔ)的數(shù)據(jù)。
[0011]優(yōu)選地,所述循環(huán)隊(duì)列中設(shè)置有至少一個(gè)入列指針,且每個(gè)數(shù)據(jù)發(fā)送端分別對應(yīng)一個(gè)所述入列指針。
[0012]優(yōu)選地,還包括:
[0013]按照待發(fā)送數(shù)據(jù)的數(shù)據(jù)類型,控制每個(gè)所述數(shù)據(jù)發(fā)送端通過對應(yīng)的所述入列指針將所述待發(fā)送數(shù)據(jù)發(fā)送到所述循環(huán)隊(duì)列中的指定位置進(jìn)行存儲(chǔ)。
[0014]優(yōu)選地,所述控制每個(gè)所述數(shù)據(jù)讀取端通過對應(yīng)的所述出列指針讀取所述循環(huán)隊(duì)列中存儲(chǔ)的數(shù)據(jù),包括:
[0015]根據(jù)每個(gè)所述數(shù)據(jù)讀取端的需求數(shù)據(jù)的數(shù)據(jù)類型,確定每個(gè)所述數(shù)據(jù)讀取端的所述需求數(shù)據(jù)在所述循環(huán)隊(duì)列中的存儲(chǔ)位置;
[0016]控制每個(gè)所述數(shù)據(jù)讀取端通過對應(yīng)的所述出列指針在所述循環(huán)隊(duì)列中對應(yīng)的所述存儲(chǔ)位置讀取所述需求數(shù)據(jù)。
[0017]—種基于循環(huán)隊(duì)列的數(shù)據(jù)傳輸系統(tǒng),包括:
[0018]創(chuàng)建模塊,用于創(chuàng)建循環(huán)隊(duì)列;所述循環(huán)隊(duì)列中設(shè)置有多個(gè)出列指針;
[0019]分配模塊,用于為每個(gè)數(shù)據(jù)讀取端分配至少一個(gè)對應(yīng)的所述出列指針;
[0020]控制模塊,用于控制每個(gè)所述數(shù)據(jù)讀取端通過對應(yīng)的所述出列指針讀取所述循環(huán)隊(duì)列中存儲(chǔ)的數(shù)據(jù)。
[0021]優(yōu)選地,所述循環(huán)隊(duì)列中設(shè)置有至少一個(gè)入列指針,且每個(gè)數(shù)據(jù)發(fā)送端分別對應(yīng)一個(gè)所述入列指針。
[0022]優(yōu)選地,所述控制模塊還用于:
[0023]按照待發(fā)送數(shù)據(jù)的數(shù)據(jù)類型,控制每個(gè)所述數(shù)據(jù)發(fā)送端通過對應(yīng)的所述入列指針將所述待發(fā)送數(shù)據(jù)發(fā)送到所述循環(huán)隊(duì)列中的指定位置進(jìn)行存儲(chǔ)。
[0024]優(yōu)選地,所述控制模塊,包括:
[0025]確定單元,用于根據(jù)每個(gè)所述數(shù)據(jù)讀取端的需求數(shù)據(jù)的數(shù)據(jù)類型,確定每個(gè)所述數(shù)據(jù)讀取端的所述需求數(shù)據(jù)在所述循環(huán)隊(duì)列中的存儲(chǔ)位置;
[0026]控制單元,用于控制每個(gè)所述數(shù)據(jù)讀取端通過對應(yīng)的所述出列指針在所述循環(huán)隊(duì)列中對應(yīng)的所述存儲(chǔ)位置讀取所述需求數(shù)據(jù)。
[0027]由上可見,本申請?zhí)峁┑囊环N基于循環(huán)隊(duì)列的數(shù)據(jù)傳輸方法及系統(tǒng),創(chuàng)建循環(huán)隊(duì)列;所述循環(huán)隊(duì)列中設(shè)置有多個(gè)出列指針;為每個(gè)數(shù)據(jù)讀取端分配至少一個(gè)對應(yīng)的所述出列指針;控制每個(gè)所述數(shù)據(jù)讀取端通過對應(yīng)的所述出列指針讀取所述循環(huán)隊(duì)列中存儲(chǔ)的數(shù)據(jù)??梢?,由于本申請?zhí)峁┑难h(huán)隊(duì)列中設(shè)置有多個(gè)出列指針,因此在需要采用一對多的數(shù)據(jù)傳輸方式時(shí),可以為每個(gè)數(shù)據(jù)讀取端分配至少一個(gè)對應(yīng)的出列指針,控制每個(gè)數(shù)據(jù)讀取端通過對應(yīng)的出列指針讀取循環(huán)隊(duì)列中存儲(chǔ)的數(shù)據(jù),從而可以利用一個(gè)循環(huán)隊(duì)列實(shí)現(xiàn)一對多的數(shù)據(jù)傳輸,無需將數(shù)據(jù)發(fā)送端所發(fā)送的數(shù)據(jù)復(fù)制到多個(gè)循環(huán)隊(duì)列中,可以減少對數(shù)據(jù)存儲(chǔ)空間的占用,拓寬循環(huán)隊(duì)列的應(yīng)用范圍。
【附圖說明】
[0028]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0029]圖1為現(xiàn)有技術(shù)中的循環(huán)隊(duì)列的應(yīng)用場景示意圖;
[0030]圖2為本發(fā)明提供的一種基于循環(huán)隊(duì)列的數(shù)據(jù)傳輸方法的一個(gè)實(shí)施例的流程示意圖;
[0031]圖3為本發(fā)明提供的一種基于循環(huán)隊(duì)列的數(shù)據(jù)傳輸方法的另一個(gè)實(shí)施例的流程示意圖;
[0032]圖4為本申請?zhí)峁┑囊环N循環(huán)隊(duì)列的應(yīng)用場景示意圖;
[0033]圖5為本發(fā)明提供的一種基于循環(huán)隊(duì)列的數(shù)據(jù)傳輸系統(tǒng)的一個(gè)實(shí)施例的結(jié)構(gòu)示意圖;
[0034]圖6為本發(fā)明提供的一種基于循環(huán)隊(duì)列的數(shù)據(jù)傳輸系統(tǒng)的另一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0035]為使得本發(fā)明的發(fā)明目的、特征、優(yōu)點(diǎn)能夠更加的明顯和易懂,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而非全部實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0036]下面結(jié)合附圖對本申請的技術(shù)方案進(jìn)行詳細(xì)說明:
[0037]圖2為本發(fā)明提供的一種基于循環(huán)隊(duì)列的數(shù)據(jù)傳輸方法的一個(gè)實(shí)施例的流程示意圖。
[0038]參照圖2所示,本申請實(shí)施例提供的基于循環(huán)隊(duì)列的數(shù)據(jù)傳輸方法,應(yīng)用于基于循環(huán)隊(duì)列的數(shù)據(jù)傳輸系統(tǒng)中,包括如下步驟:
[0039]SlOl:創(chuàng)建循環(huán)隊(duì)列;所述循環(huán)隊(duì)列中設(shè)置有多個(gè)出列指針;
[0040]現(xiàn)有的循環(huán)隊(duì)列是一種運(yùn)算受限的線性表,只有一個(gè)數(shù)據(jù)入列端和一個(gè)數(shù)據(jù)出列端,它只允許在表的一端進(jìn)行數(shù)據(jù)插入,而在另一端進(jìn)行數(shù)據(jù)刪除,具有先入先出的線性模式,所以具有一定的局限性,只能實(shí)現(xiàn)數(shù)據(jù)一對一的傳輸,無法在需要數(shù)據(jù)一對多的應(yīng)用中使用。
[0041 ]而在本申請實(shí)施例中,創(chuàng)建的循環(huán)隊(duì)列是包括多個(gè)出列指針的,且結(jié)構(gòu)中還可以包括標(biāo)識隊(duì)列屬性(空、滿和大小)的元素。
[0042]S102:為每個(gè)數(shù)據(jù)讀取端分配至少一個(gè)對應(yīng)的所述出列指針;
[0043]在本申請實(shí)施例中,循環(huán)隊(duì)列中包括多個(gè)出列指針,且循環(huán)隊(duì)列中的每個(gè)出列指針分別對應(yīng)有不同的數(shù)據(jù)存儲(chǔ)位置,在初始化上述循環(huán)隊(duì)列結(jié)構(gòu)時(shí),可以為每個(gè)數(shù)據(jù)讀取端分配至少一個(gè)對應(yīng)的所述出列指針,然后將數(shù)據(jù)讀取端綁定到分配的出列指針上。
[0044]S103:控制每個(gè)所述數(shù)據(jù)讀取端通過對應(yīng)的所述出列指針讀取所述循環(huán)隊(duì)列中存儲(chǔ)的數(shù)據(jù)。
[0045]由于每一數(shù)據(jù)讀取端對數(shù)據(jù)的需求不同,其數(shù)據(jù)的讀取通過在初始化過程中綁定的對應(yīng)出列指針進(jìn)行,出列指針取數(shù)據(jù)時(shí)會(huì)針對數(shù)據(jù)讀取端的需要對數(shù)據(jù)進(jìn)行篩選,這樣某種數(shù)據(jù)讀取端就可以按自己的需要在循環(huán)隊(duì)列中讀取相應(yīng)的存儲(chǔ)位置的數(shù)據(jù)。每個(gè)出列指針去取的數(shù)據(jù)可以是一個(gè)或者多個(gè),并且可以按照一定的時(shí)間間隔循環(huán)去取。后臺可以理解為按照排序進(jìn)行的。
[0046]由于有多個(gè)出列指針,從而使得每個(gè)數(shù)據(jù)讀取端都可以在同一時(shí)間去取自己對應(yīng)的出列指針指向的存儲(chǔ)位置的數(shù)據(jù)。在數(shù)據(jù)讀取完成之后,可通過挪動(dòng)自己對應(yīng)的出列指針丟棄那些已經(jīng)做過判斷的數(shù)據(jù),下次再取數(shù)據(jù)的時(shí)候無需重復(fù)判斷。
[0047]由上可見,本申請實(shí)施例提供的一種基于循環(huán)隊(duì)列的數(shù)據(jù)傳輸方法,創(chuàng)建循環(huán)隊(duì)列;所述循環(huán)隊(duì)列中設(shè)置有多個(gè)出列指針;為每個(gè)數(shù)據(jù)讀取端分配至少一個(gè)對應(yīng)的所述出列指針;控制每個(gè)所述數(shù)據(jù)讀取端通過對應(yīng)的所述出列指針讀取所述循環(huán)隊(duì)列中存儲(chǔ)的數(shù)據(jù)??梢姡捎诒旧暾?zhí)峁┑难h(huán)隊(duì)列中設(shè)置有多個(gè)出列指針,因此在需要采用一對多的數(shù)據(jù)傳輸方式時(shí),可以為每個(gè)數(shù)據(jù)讀取端分配至少一個(gè)對應(yīng)的出列指針,控制每個(gè)數(shù)據(jù)讀取端通過對應(yīng)的出列指針讀取循環(huán)隊(duì)列中存儲(chǔ)的數(shù)據(jù),從而可以利用一個(gè)循環(huán)隊(duì)列實(shí)現(xiàn)一對多的數(shù)據(jù)傳輸,無需將數(shù)據(jù)發(fā)送端所發(fā)送的數(shù)據(jù)復(fù)制到多個(gè)循環(huán)隊(duì)列中,可以減少對數(shù)據(jù)存儲(chǔ)空間的占用,拓寬循環(huán)隊(duì)列的應(yīng)用范圍。
[0048]本申請實(shí)施例基于循環(huán)隊(duì)列進(jìn)行一對多的數(shù)據(jù)傳輸?shù)膽?yīng)用擴(kuò)展,能夠有效的解決一對多的數(shù)據(jù)傳遞和處理問題,減少了后續(xù)數(shù)據(jù)處理的復(fù)雜度,減少了數(shù)據(jù)拷貝的次數(shù),節(jié)約了軟件代碼的空間和時(shí)間,節(jié)約了成本。
[0049]圖3為本發(fā)明提供的一種基于循環(huán)隊(duì)列的數(shù)據(jù)傳輸方法的另一個(gè)實(shí)施例的流程示意圖。
[0050]參照圖3所示,本申請實(shí)施例提供的基于循環(huán)隊(duì)列的數(shù)據(jù)傳輸方法,應(yīng)用于基于循環(huán)隊(duì)列的數(shù)據(jù)傳輸系統(tǒng)中,包括如下步驟:
[0051]S201:創(chuàng)建循環(huán)隊(duì)列;所述循環(huán)隊(duì)列中設(shè)置有至少一個(gè)入列指針和多個(gè)出列指針;
[0052]在本申請實(shí)施例中,循環(huán)隊(duì)列由至少一個(gè)入列指針和多個(gè)出列指針構(gòu)成,且結(jié)構(gòu)中包括標(biāo)識隊(duì)列屬性(空、滿和大小)的元素。
[0053]S202:為每個(gè)數(shù)據(jù)發(fā)送端分配一個(gè)所述對應(yīng)的入列指針,為每個(gè)數(shù)據(jù)讀取端分配至少一個(gè)對應(yīng)的所述出列指針;
[0054]圖4為本申請?zhí)峁┑囊环N循環(huán)隊(duì)列的應(yīng)用場景示意圖。參照圖4所示,以包括一個(gè)入列指針和多個(gè)出列指針的循環(huán)隊(duì)列為例,在初始化時(shí),要初始化并分配循環(huán)隊(duì)列中的數(shù)據(jù)存儲(chǔ)位置,并針對單個(gè)入列指針和多個(gè)出列指針,為數(shù)據(jù)發(fā)送端分配一個(gè)所述入列指針,為每個(gè)數(shù)據(jù)讀取端分配至少一個(gè)對應(yīng)的所述出列指針,同時(shí)將數(shù)據(jù)讀取端綁定到分配的對應(yīng)出列指針上,并且可以設(shè)置好入列指針和出列指針指向的最開始的數(shù)據(jù)存儲(chǔ)位置的起始位置。
[0055]S203:按照待發(fā)送數(shù)據(jù)的數(shù)據(jù)類型,控制每個(gè)所述數(shù)據(jù)發(fā)送端通過對應(yīng)的所述入列指針將所述待發(fā)送數(shù)據(jù)發(fā)送到所述循環(huán)隊(duì)列中的指定位置進(jìn)行存儲(chǔ);
[0056]在本申請實(shí)施例中,每個(gè)數(shù)據(jù)發(fā)送端在發(fā)送數(shù)據(jù)時(shí),都可以根據(jù)實(shí)際需要存放的待發(fā)送的數(shù)據(jù)類型,通過對應(yīng)的所述入列指針將所述待發(fā)送數(shù)據(jù)發(fā)送到所述循環(huán)隊(duì)列中的指定位置進(jìn)行存儲(chǔ),這里的指定位置是指各個(gè)入列指針指向的數(shù)據(jù)存儲(chǔ)位置。
[0057]S204:在所述數(shù)據(jù)讀取端讀取所述循環(huán)隊(duì)列中存儲(chǔ)的數(shù)據(jù)時(shí),根據(jù)每個(gè)所述數(shù)據(jù)讀取端的需求數(shù)據(jù)的數(shù)據(jù)類型,確定每個(gè)所述數(shù)據(jù)讀取端的所述需求數(shù)據(jù)在所述循環(huán)隊(duì)列中的存儲(chǔ)位置;
[0058]S205:控制每個(gè)所述數(shù)據(jù)讀取端通過對應(yīng)的所述出列指針在所述循環(huán)隊(duì)列中對應(yīng)的所述存儲(chǔ)位置讀取所述需求數(shù)據(jù)。
[0059]由于每一數(shù)據(jù)讀取端對數(shù)據(jù)的需求不同,其數(shù)據(jù)的讀取通過在初始化過程中綁定的對應(yīng)出列指針進(jìn)行,出列指針取數(shù)據(jù)時(shí)會(huì)針對數(shù)據(jù)讀取端的需要對數(shù)據(jù)進(jìn)行刷選,這樣某種數(shù)據(jù)讀取端就可以按自己的需要在循環(huán)隊(duì)列中讀取與自己的需求數(shù)據(jù)的數(shù)據(jù)類型相對應(yīng)的存儲(chǔ)位置的數(shù)據(jù)。每個(gè)出列指針去取的數(shù)據(jù)可以是一個(gè)或者多個(gè),并且可以按照一定的時(shí)間間隔循環(huán)去取。后臺可以理解為按照排序進(jìn)行的。由于有多個(gè)出列指針,從而使得每種數(shù)據(jù)讀取端都可以在同一時(shí)間去取自己對應(yīng)的出列指針指向的存儲(chǔ)位置的數(shù)據(jù)。在數(shù)據(jù)讀取完成之后,可通過挪動(dòng)自己對應(yīng)的出列指針丟棄那些已經(jīng)做過判斷的數(shù)據(jù),下次再取數(shù)據(jù)時(shí)就無需重復(fù)判斷了。
[0060]由上可見,本申請實(shí)施例提供的循環(huán)隊(duì)列中設(shè)置有至少一個(gè)入列指針和多個(gè)出列指針,因此在需要采用一對多甚至多對多的數(shù)據(jù)傳輸方式時(shí),可以為每個(gè)數(shù)據(jù)發(fā)送端分配至少一個(gè)對應(yīng)的入列指針,為每個(gè)數(shù)據(jù)讀取端分配至少一個(gè)對應(yīng)的出列指針,控制每個(gè)數(shù)據(jù)發(fā)送端通過對應(yīng)的入列指針將待發(fā)送數(shù)據(jù)存儲(chǔ)到循環(huán)隊(duì)列中的指定位置,每個(gè)數(shù)據(jù)讀取端通過對應(yīng)的出列指針讀取循環(huán)隊(duì)列中的對應(yīng)存儲(chǔ)位置存儲(chǔ)的數(shù)據(jù),從而可以利用一個(gè)循環(huán)隊(duì)列實(shí)現(xiàn)一對多甚至多對多的數(shù)據(jù)傳輸,無需將數(shù)據(jù)發(fā)送端所發(fā)送的數(shù)據(jù)復(fù)制到多個(gè)循環(huán)隊(duì)列中,可以減少對數(shù)據(jù)存儲(chǔ)空間的占用,拓寬循環(huán)隊(duì)列的應(yīng)用范圍。
[0061]圖5為本發(fā)明提供的一種基于循環(huán)隊(duì)列的數(shù)據(jù)傳輸系統(tǒng)的一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。
[0062]參照圖5所示,本申請實(shí)施例提供的基于循環(huán)隊(duì)列的數(shù)據(jù)傳輸系統(tǒng),包括:
[0063]創(chuàng)建模塊I,用于創(chuàng)建循環(huán)隊(duì)列;所述循環(huán)隊(duì)列中設(shè)置有多個(gè)出列指針;
[0064]分配模塊2,用于為每個(gè)數(shù)據(jù)讀取端分配至少一個(gè)對應(yīng)的所述出列指針;
[0065]控制模塊3,用于控制每個(gè)所述數(shù)據(jù)讀取端通過對應(yīng)的所述出列指針讀取所述循環(huán)隊(duì)列中存儲(chǔ)的數(shù)據(jù)。
[0066]由上可見,本申請實(shí)施例提供的一種基于循環(huán)隊(duì)列的數(shù)據(jù)傳輸系統(tǒng),創(chuàng)建循環(huán)隊(duì)列;所述循環(huán)隊(duì)列中設(shè)置有多個(gè)出列指針;為每個(gè)數(shù)據(jù)讀取端分配至少一個(gè)對應(yīng)的所述出列指針;控制每個(gè)所述數(shù)據(jù)讀取端通過對應(yīng)的所述出列指針讀取所述循環(huán)隊(duì)列中存儲(chǔ)的數(shù)據(jù)??梢姡捎诒旧暾?zhí)峁┑难h(huán)隊(duì)列中設(shè)置有多個(gè)出列指針,因此在需要采用一對多的數(shù)據(jù)傳輸方式時(shí),可以為每個(gè)數(shù)據(jù)讀取端分配至少一個(gè)對應(yīng)的出列指針,控制每個(gè)數(shù)據(jù)讀取端通過對應(yīng)的出列指針讀取循環(huán)隊(duì)列中存儲(chǔ)的數(shù)據(jù),從而可以利用一個(gè)循環(huán)隊(duì)列實(shí)現(xiàn)一對多的數(shù)據(jù)傳輸,無需將數(shù)據(jù)發(fā)送端所發(fā)送的數(shù)據(jù)復(fù)制到多個(gè)循環(huán)隊(duì)列中,可以減少對數(shù)據(jù)存儲(chǔ)空間的占用,拓寬循環(huán)隊(duì)列的應(yīng)用范圍。
[0067]需要說明的是,本實(shí)施例的基于循環(huán)隊(duì)列的數(shù)據(jù)傳輸系統(tǒng)可以采用上述方法實(shí)施例中的基于循環(huán)隊(duì)列的數(shù)據(jù)傳輸方法,可以用于實(shí)現(xiàn)上述方法實(shí)施例中的全部技術(shù)方案,其各個(gè)功能模塊的功能可以根據(jù)上述方法實(shí)施例中的方法具體實(shí)現(xiàn),其具體實(shí)現(xiàn)過程可參照上述實(shí)施例中的相關(guān)描述,此處不再贅述。
[0068]圖6為本發(fā)明提供的一種基于循環(huán)隊(duì)列的數(shù)據(jù)傳輸系統(tǒng)的另一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。
[0069]參照圖6所示,本申請實(shí)施例提供的基于循環(huán)隊(duì)列的數(shù)據(jù)傳輸系統(tǒng),包括:
[0070]創(chuàng)建模塊I,用于創(chuàng)建循環(huán)隊(duì)列;所述循環(huán)隊(duì)列中設(shè)置有至少一個(gè)入列指針和多個(gè)出列指針;
[0071]分配模塊2,用于為每個(gè)數(shù)據(jù)發(fā)送端分配一個(gè)所述入列指針,為每個(gè)數(shù)據(jù)讀取端分配至少一個(gè)對應(yīng)的所述出列指針;
[0072]控制模塊3,用于按照待發(fā)送數(shù)據(jù)的數(shù)據(jù)類型,控制每個(gè)所述數(shù)據(jù)發(fā)送端通過對應(yīng)的所述入列指針將所述待發(fā)送數(shù)據(jù)發(fā)送到所述循環(huán)隊(duì)列中的指定位置進(jìn)行存儲(chǔ);并控制每個(gè)所述數(shù)據(jù)讀取端通過對應(yīng)的所述出列指針讀取所述循環(huán)隊(duì)列中存儲(chǔ)的數(shù)據(jù)。
[0073]優(yōu)選地,所述控制模塊3,包括:
[0074]確定單元31,用于根據(jù)每個(gè)所述數(shù)據(jù)讀取端的需求數(shù)據(jù)的數(shù)據(jù)類型,確定每個(gè)所述數(shù)據(jù)讀取端的所述需求數(shù)據(jù)在所述循環(huán)隊(duì)列中的存儲(chǔ)位置;
[0075]控制單元32,用于控制每個(gè)所述數(shù)據(jù)讀取端通過對應(yīng)的所述出列指針在所述循環(huán)隊(duì)列中對應(yīng)的所述存儲(chǔ)位置讀取所述需求數(shù)據(jù)。
[0076]由上可見,本申請實(shí)施例提供的循環(huán)隊(duì)列中設(shè)置有至少一個(gè)入列指針和多個(gè)出列指針,因此在需要采用一對多甚至多對多的數(shù)據(jù)傳輸方式時(shí),可以為每個(gè)數(shù)據(jù)發(fā)送端分配至少一個(gè)對應(yīng)的入列指針,為每個(gè)數(shù)據(jù)讀取端分配至少一個(gè)對應(yīng)的出列指針,控制每個(gè)數(shù)據(jù)發(fā)送端通過對應(yīng)的入列指針將待發(fā)送數(shù)據(jù)存儲(chǔ)到循環(huán)隊(duì)列中的指定位置,每個(gè)數(shù)據(jù)讀取端通過對應(yīng)的出列指針讀取循環(huán)隊(duì)列中的對應(yīng)存儲(chǔ)位置存儲(chǔ)的數(shù)據(jù),從而可以利用一個(gè)循環(huán)隊(duì)列實(shí)現(xiàn)一對多甚至多對多的數(shù)據(jù)傳輸,無需將數(shù)據(jù)發(fā)送端所發(fā)送的數(shù)據(jù)復(fù)制到多個(gè)循環(huán)隊(duì)列中,可以減少對數(shù)據(jù)存儲(chǔ)空間的占用,拓寬循環(huán)隊(duì)列的應(yīng)用范圍。
[0077]本申請實(shí)施例基于循環(huán)隊(duì)列進(jìn)行一對多的數(shù)據(jù)傳輸?shù)膽?yīng)用擴(kuò)展,能夠有效的解決一對多的數(shù)據(jù)傳遞和處理問題,減少了后續(xù)數(shù)據(jù)處理的復(fù)雜度,減少了數(shù)據(jù)拷貝的次數(shù),節(jié)約了軟件代碼的空間和時(shí)間,節(jié)約了成本。
[0078]需要說明的是,本實(shí)施例的基于循環(huán)隊(duì)列的數(shù)據(jù)傳輸系統(tǒng)可以采用上述方法實(shí)施例中的基于循環(huán)隊(duì)列的數(shù)據(jù)傳輸方法,可以用于實(shí)現(xiàn)上述方法實(shí)施例中的全部技術(shù)方案,其各個(gè)功能模塊的功能可以根據(jù)上述方法實(shí)施例中的方法具體實(shí)現(xiàn),其具體實(shí)現(xiàn)過程可參照上述實(shí)施例中的相關(guān)描述,此處不再贅述。
[0079]為了描述的方便,描述以上系統(tǒng)時(shí)以功能分為各種模塊分別描述。當(dāng)然,在實(shí)施本申請時(shí)可以把各模塊的功能在同一個(gè)或多個(gè)軟件和/或硬件中實(shí)現(xiàn)。
[0080]本說明書中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,各個(gè)實(shí)施例之間相同相似的部分互相參見即可,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處。尤其,對于系統(tǒng)或系統(tǒng)實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述得比較簡單,相關(guān)之處參見方法實(shí)施例的部分說明即可。以上所描述的系統(tǒng)及系統(tǒng)實(shí)施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部模塊來實(shí)現(xiàn)本實(shí)施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動(dòng)的情況下,即可以理解并實(shí)施。
[0081]專業(yè)人員還可以進(jìn)一步意識到,結(jié)合本文中所公開的實(shí)施例描述的各示例的單元及算法步驟,能夠以電子硬件、計(jì)算機(jī)軟件或者二者的結(jié)合來實(shí)現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可以對每個(gè)特定的應(yīng)用來使用不同方法來實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。
[0082]結(jié)合本文中所公開的實(shí)施例描述的方法或算法的步驟可以直接用硬件、處理器執(zhí)行的軟件模塊,或者二者的結(jié)合來實(shí)施。軟件模塊可以置于隨機(jī)存儲(chǔ)器(RAM)、內(nèi)存、只讀存儲(chǔ)器(R0M)、電可編程R0M、電可擦除可編程R0M、寄存器、硬盤、可移動(dòng)磁盤、CD-ROM、或技術(shù)領(lǐng)域內(nèi)所公知的任意其它形式的存儲(chǔ)介質(zhì)中。
[0083]對所公開的實(shí)施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對這些實(shí)施例的多種修改對本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實(shí)施例中實(shí)現(xiàn)。因此,本發(fā)明將不會(huì)被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開的原理和新穎特點(diǎn)相一致的最寬的范圍。
【主權(quán)項(xiàng)】
1.一種基于循環(huán)隊(duì)列的數(shù)據(jù)傳輸方法,其特征在于,包括: 創(chuàng)建循環(huán)隊(duì)列;所述循環(huán)隊(duì)列中設(shè)置有多個(gè)出列指針; 為每個(gè)數(shù)據(jù)讀取端分配至少一個(gè)對應(yīng)的所述出列指針; 控制每個(gè)所述數(shù)據(jù)讀取端通過對應(yīng)的所述出列指針讀取所述循環(huán)隊(duì)列中存儲(chǔ)的數(shù)據(jù)。2.根據(jù)權(quán)利要求1所述的方法,其特征在于: 所述循環(huán)隊(duì)列中設(shè)置有至少一個(gè)入列指針,且每個(gè)數(shù)據(jù)發(fā)送端分別對應(yīng)一個(gè)所述入列指針。3.根據(jù)權(quán)利要求2所述的方法,其特征在于,還包括: 按照待發(fā)送數(shù)據(jù)的數(shù)據(jù)類型,控制每個(gè)所述數(shù)據(jù)發(fā)送端通過對應(yīng)的所述入列指針將所述待發(fā)送數(shù)據(jù)發(fā)送到所述循環(huán)隊(duì)列中的指定位置進(jìn)行存儲(chǔ)。4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述控制每個(gè)所述數(shù)據(jù)讀取端通過對應(yīng)的所述出列指針讀取所述循環(huán)隊(duì)列中存儲(chǔ)的數(shù)據(jù),包括: 根據(jù)每個(gè)所述數(shù)據(jù)讀取端的需求數(shù)據(jù)的數(shù)據(jù)類型,確定每個(gè)所述數(shù)據(jù)讀取端的所述需求數(shù)據(jù)在所述循環(huán)隊(duì)列中的存儲(chǔ)位置; 控制每個(gè)所述數(shù)據(jù)讀取端通過對應(yīng)的所述出列指針在所述循環(huán)隊(duì)列中對應(yīng)的所述存儲(chǔ)位置讀取所述需求數(shù)據(jù)。5.一種基于循環(huán)隊(duì)列的數(shù)據(jù)傳輸系統(tǒng),其特征在于,包括: 創(chuàng)建模塊,用于創(chuàng)建循環(huán)隊(duì)列;所述循環(huán)隊(duì)列中設(shè)置有多個(gè)出列指針; 分配模塊,用于為每個(gè)數(shù)據(jù)讀取端分配至少一個(gè)對應(yīng)的所述出列指針; 控制模塊,用于控制每個(gè)所述數(shù)據(jù)讀取端通過對應(yīng)的所述出列指針讀取所述循環(huán)隊(duì)列中存儲(chǔ)的數(shù)據(jù)。6.根據(jù)權(quán)利要求5所述的系統(tǒng),其特征在于: 所述循環(huán)隊(duì)列中設(shè)置有至少一個(gè)入列指針,且每個(gè)數(shù)據(jù)發(fā)送端分別對應(yīng)一個(gè)所述入列指針。7.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述控制模塊還用于: 按照待發(fā)送數(shù)據(jù)的數(shù)據(jù)類型,控制每個(gè)所述數(shù)據(jù)發(fā)送端通過對應(yīng)的所述入列指針將所述待發(fā)送數(shù)據(jù)發(fā)送到所述循環(huán)隊(duì)列中的指定位置進(jìn)行存儲(chǔ)。8.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述控制模塊,包括: 確定單元,用于根據(jù)每個(gè)所述數(shù)據(jù)讀取端的需求數(shù)據(jù)的數(shù)據(jù)類型,確定每個(gè)所述數(shù)據(jù)讀取端的所述需求數(shù)據(jù)在所述循環(huán)隊(duì)列中的存儲(chǔ)位置; 控制單元,用于控制每個(gè)所述數(shù)據(jù)讀取端通過對應(yīng)的所述出列指針在所述循環(huán)隊(duì)列中對應(yīng)的所述存儲(chǔ)位置讀取所述需求數(shù)據(jù)。
【文檔編號】G06F12/0866GK105893279SQ201610192173
【公開日】2016年8月24日
【申請日】2016年3月30日
【發(fā)明人】陳志華, 余江森
【申請人】北京經(jīng)緯恒潤科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1
海城市| 永吉县| 内黄县| 申扎县| 武山县| 托克逊县| 天峨县| 广宗县| 三亚市| 茌平县| 大方县| 奉贤区| 盐城市| 香港 | 井冈山市| 山阳县| 普安县| 女性| 漯河市| 和田县| 合肥市| 横峰县| 武夷山市| 洪雅县| 比如县| 天等县| 宜川县| 冷水江市| 宁武县| 始兴县| 曲靖市| 霍林郭勒市| 聂荣县| 孝义市| 翁源县| 卢氏县| 平定县| 观塘区| 商都县| 疏勒县| 莱阳市|