新四季網

一種實現快速數據傳遞的方法

2023-10-10 05:21:44 1

專利名稱:一種實現快速數據傳遞的方法
技術領域:
本發明涉及在多任務系統中,尤其是在高效率的實時系統中,實現快速數據傳遞的方法。
背景技術:
對於高效的實時多任務系統,尤其是在有大量任務間數據傳遞的軟體系統,如通訊系統中,數據傳遞效率的高低,將直接影響到系統的性能,並往往成為決定系統開發成敗的關鍵性因素。
在多任務系統中,任務間數據傳遞的最常用的工具是隊列,在現有技術的大多數情況下,作業系統都提供用於數據傳遞的隊列。在進行數據傳遞時,一般採取兩種方法一發送任務將數據塊拷貝到隊列中,然後通知數據接收任務從隊列中將數據拷貝到自己的數據區中。使用這種方法,由於數據拷貝的次數較多,不可避免帶來效率低下的缺點。同時,當傳遞的數據塊大小不確定時,隊列的每個節點佔用內存的大小也不好確定,實現這樣的隊列往往也將影響程序運行的效率。
方法二發送任務動態申請一塊內存,然後將數據拷入這塊內存中。發送任務將內存的指針放入隊列,此後由接收任務在適當的時候從隊列中將指針取出,通過該指針去獲取所需的數據。使用此種方法,數據拷貝的次數比方法一要少,但是動態內存的申請和次數增加。由於動態內存的管理和隊列的實現較複雜,並且動態內存的方式和隊列的實現相對孤立,不能利用兩者的一致性提高數據傳遞的效率,因而還是往往不能滿足快速數據傳遞的要求。

發明內容
為了克服上述方法的缺點,本發明提出了一種可用於實現任務間快速數據傳遞的方法,以實現在軟體系統中,尤其是在有大量消息傳遞的通信系統中的快速數據傳遞,達到提高通信效率,增強系統對數據傳遞處理能力的目的。
本發明所提出的快速數據傳遞方法是一種綜合的數據傳遞策略,它是在提出了三種快速數據傳遞的子方法的基礎上,根據實際情況合理地對方法加以選擇,從而達到最大限度地提高數據傳遞效率的目的。
一種實現快速數據傳遞的方法,包括以下步驟確定一個給定大小的數組,並分別以HeadIndex、TailIndex表示頭、尾索引號,並將HeadIndex和TailIndex初始化為任意一個合法值;判斷數組中數據存放是否已超過數組容量的上限,如果已超過數組容量的上限,則認為是「錯誤處理」;否則,發送任務將數據放入尾索引相對應的數組元素中,將尾索引指向數組下一元素,通知數據接收任務;判斷接收任務是否有可接收數據,如不是,則結束;如是,則繼續;數據接收任務從數據傳遞數組中獲取頭索引所對應的數據;將頭索引指向數據傳遞數組的下一個元素。
通過對本發明的附圖和詳細說明的了解,將有助於理解本發明所描述的快速數據傳遞方法的特性和優點。


圖1是本發明數據快數傳遞的實現過程的流程圖。
具體實施例方式
本發明中的方法是利用數組來傳遞任務間的數據,故又稱數組法。此方法效率要高於鍊表法,但是傳送數據的流量要受數組大小的限制。當數據傳遞量可以確定一個上限時,就可以使用本發明的數組法來完成數據的傳遞。此時要求在任一時刻,發送任務已經發出而未被接收任務獲取的數據量必須小於一個給定的上限。
圖1描述了本發明數據快速傳遞的實現步驟。為了進行數據的傳輸,首先確定一個給定大小的數組(步驟301)。數組的大小決定於最大傳輸數據量的大小。然後定義兩個索引HeadIndex和TailIndex,分別用於表示存放第一個和最後一個有效數據的數組元素的下標。在使用該數組之前,需要將HeadIndex和TailIndex初始化為「0」值(步驟301)。
在需要進行數據傳遞時,發送任務首先判斷數組中存放的數據量是否已經達到數組能夠存放數據數量的上限。(步驟302)。如果是,則進行相應的錯誤處理(步驟303)。
當判斷出數組中還存在可以存放數據的空閒元素後,發送任務將數據放入TailIndex所對應的數組元素中(步驟304),然後TailIndex將指向下一個數組元素(步驟305)。當TailIndex等於數組的大小時,TailIndex將被賦為「0」,從而重新指向數組的起始元素,實現對數組的循環操作。
數據發送任務通知數據接收任務接收數據。(步驟306)數據接收任務獲得通知信息後,首先判斷數組中是否有有用數據,如果有,則將HeadIndex所對應的數組元素取出,即可獲得數據發送任務發出的數據。數據接收任務取出HeadIndex所對應的數組元素後,HeadIndex將指向下一個數組元素。當HeadIndex等於數組的大小時,HeadIndex將被賦為「0」,以實現對數組的循環操作。
權利要求
1.一種實現快速數據傳遞的方法,其特徵在於,包括以下步驟步驟1、確定一個給定大小的數組,並分別以HeadIndex、TailIndex表示頭、尾索引號,並將HeadIndex和TailIndex初始化為任意一個合法值;(301)步驟2、判斷數組中數據存放是否已超過數組容量的上限,(302)如果已超過數組容量的上限,則認為是「錯誤處理」(303);否則,步驟3、發送任務將數據放入尾索引相對應的數組元素中,將尾索引指向數組下一元素,通知數據接收任務;(304、305、306)步驟4、判斷接收任務是否有可接收數據(307),如不是,則結束;如是,則繼續;步驟5、數據接收任務從數據傳遞數組中獲取頭索引所對應的數據(308);步驟6、將頭索引指向數據傳遞數組的下一個元素(309)。
2.如權利要求1所述的實現快速數據傳遞的方法,其特徵在於所述步驟5數據接收任務從數據傳遞數組中獲取頭索引所對應的數據,是將HeadIndex所對應的數組元素取出,之後,HeadIndex將指向下一個數組元素;當HeadIndex等於數組的大小時,HeadIndex將被賦為「0」,以實現對數組的循環操作。
全文摘要
本發明提出的快速數據傳遞方法,根據所傳遞數據的特點,當數據接收任務只使用來自發送任務的最新數據時,採用緩存法;本發明根據實際情況合理地對方法加以選擇,最大限度地提高數據傳遞效率,尤其在有大量消息傳遞的通信系統中,能提高通信效率,增強系統對數據傳遞處理能力。
文檔編號H04L12/56GK1694433SQ20051005226
公開日2005年11月9日 申請日期2001年3月30日 優先權日2001年3月30日
發明者劉和興 申請人:中興通訊股份有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀