專利名稱:一種半雙工傳輸設備建鏈通訊的方法
技術領域:
本發(fā)明涉及半雙工通訊領域,尤其涉及一種半雙工傳輸設備建鏈通訊 的方法。
背景技術:
為了增強計算機設備的處理能力和可靠性, 一種方法是釆用雙設備協(xié) 同工作,雙設備之間需要進行相互通訊,設備之間的硬件往往釆用簡單, 廉價的半雙工器件相連。
半雙工方式指兩臺相互通訊的設備能實現(xiàn)雙向的通訊,但不能在兩個 方向上同時進行,必須輪流交替地進行。
全雙工方式指兩臺相互通訊的設備可以同時實現(xiàn)雙向的通訊
設備本身的應用,需要一端的數(shù)據(jù)能夠隨時的發(fā)送到對方,而不必考 慮對方是否也在發(fā)送。這樣就需要一種方法,屏蔽了底層硬件的半雙工特 性,給上層提供全雙工的雙向數(shù)據(jù)傳遞接口。
發(fā)明內容
為了解決上述技術問題,本發(fā)明提供了一種在半雙工條件下,建立鏈 路進行通訊的方法。通過建立鏈路,監(jiān)控了數(shù)據(jù)的傳輸,屏蔽了硬件的半 雙工特性,給上層提供了全雙工的雙向數(shù)據(jù)傳遞接口。
本發(fā)明提供的一種半雙工傳輸設備建鏈通訊的方法,其特點是包括以
下步驟
步驟l:通訊實體分成主從雙方,初始時,上述主從雙方通訊實體都 處在斷鏈狀態(tài);通訊由固定一方發(fā)起,例如主方通過定時發(fā)送不攜帶傳輸
數(shù)據(jù)的幀,即建鏈幀發(fā)起; 步驟2:上述主從雙方進入建鏈狀態(tài),設置?;疃〞r器,通知上層鏈
路建立;
步驟3:上層在收到進入建鏈狀態(tài)通知后,發(fā)送數(shù)據(jù);上述數(shù)據(jù)按硬 件實際能傳輸?shù)淖畲箝L度減去幀頭進行分片,暫時保存在發(fā)送緩沖隊列 里;
步驟4:上述主從雙方通訊實體以攜帶傳輸數(shù)據(jù)的幀,即數(shù)據(jù)幀的形 式進行上述數(shù)據(jù)的雙向傳輸,?;顦酥厩辶悖?br>
步驟5:對端接收到上述數(shù)據(jù),暫時保存在接收緩沖隊列里,當接收 到最后一個分片數(shù)據(jù)后,進行數(shù)據(jù)重組,然后將數(shù)據(jù)傳遞給上層;
步驟6:?;疃〞r器事件到時,?;顦酥纠奂?無論是主到從,還是 從到主通訊中斷的情況下),累加到門限值,進入斷鏈狀態(tài),通知上層鏈 路斷開,關閉?;疃〞r器。
上述步驟l中,所述的建鏈過程包括主方定時發(fā)送REQ建鏈幀,從 方收到上述REQ建鏈幀后,發(fā)送ACK建鏈幀;主方收到上述ACK建鏈 幀后,發(fā)送ACK^ACK建鏈幀,進入建鏈狀態(tài)(這時主方知道無論是主到 從,還是從到主的兩個方面通訊正常);從方收到上述ACK一ACK建鏈幀 后,進入建鏈狀態(tài)(這時從方知道無論是主到從,還是從到主的兩個方面 通訊正常)。
上述步驟3中所述的數(shù)據(jù)按硬件實際能力迸行分片是按硬件能傳輸?shù)?最大長度減去禎頭進行分片。
上述步驟3中所述的分片的長度由硬件器件本身和?;疃〞r器時間來 共同確定,達到最佳傳輸效果;其中小于上述最大長度不進行分片。
上述步驟4中所述的雙向傳輸過程包括主方定時發(fā)送REQ數(shù)據(jù)幀, 攜帶保存在發(fā)送緩沖隊列中的數(shù)據(jù);從方收到上述REQ數(shù)據(jù)幀后,發(fā)送 ACK數(shù)據(jù)幀,攜帶保存在發(fā)送緩沖隊列中的數(shù)據(jù);主方收到上述ACK數(shù) 據(jù)幀后(主方知道無論是主到從,還是從到主的兩個方面通訊正常),保 活標志清零;發(fā)送ACK_ACK數(shù)據(jù)幀,攜帶保存在發(fā)送緩沖隊列中的數(shù)據(jù); 從方接收上述ACK—ACK數(shù)據(jù)幀(從方知道無論是主到從,還是從到主的
兩個方面通訊正常),保活標志清零。
所有保存在上述發(fā)送緩沖隊列的分片數(shù)據(jù)按先進先出的方式進行發(fā)送。
上述步驟5中,最后一個分片數(shù)據(jù)由幀頭的最后分片標志判定。
上述REQ建鏈幀與REQ數(shù)據(jù)幀的發(fā)送由REQ發(fā)送定時器控制,其 在斷鏈和建鏈兩種狀態(tài)下一直存在。
釆用本發(fā)明所述方法,與現(xiàn)有技術相比,對半雙工通訊應用進行了分 層封裝,簡化了上層應用使用通訊的復雜性,節(jié)省了應用實現(xiàn)的時間,鏈 路的引入,為應用提供了通訊的可監(jiān)測性。
下面結合附圖,對本發(fā)明的具體實施方式
作進一步的詳細說明。對于 所屬技術領域的技術人員而言,從對本發(fā)明的詳細說明中,本發(fā)明的上述 和其他目的、特征和優(yōu)點將顯而易見。
圖1是本發(fā)明一實施例的實體狀態(tài)遷移圖。 圖2是本發(fā)明一實施例的傳輸幀結構圖。
具體實施例方式
下面結合附圖對本發(fā)明一實施例作進一步的詳細描述 請參照附圖1,該圖是本發(fā)明一實施例的實體狀態(tài)遷移圖。通訊實體 分成主從雙方,初始時,上述主從雙方通訊實體都處在斷鏈狀態(tài)。上層應 用要通訊,首先要建鏈。通訊總是由固定的一方發(fā)起,以不攜帶傳輸數(shù)據(jù) 的幀的形式進行數(shù)據(jù)傳輸,用于鏈路連接。上述建鏈過程包括通過主方定 時發(fā)送REQ建鏈幀,REQ建鏈幀的發(fā)送由REQ發(fā)送定時器控制,其在斷 鏈和建鏈兩種狀態(tài)下一直存在,REQ定時到,發(fā)送REQ建鏈幀(主從可 互換)。從方收到上述REQ建鏈幀后,發(fā)送ACK建鏈幀。主方收到上述 ACK建鏈幀后,發(fā)送ACK—ACK建鏈幀,進入建鏈狀態(tài);設置?;疃〞r 器,通知上層鏈路建立。從方收到上述ACK一ACK建鏈幀后,進入建鏈狀
態(tài),設置保活定時器,通知上層鏈路建立,?;疃〞r器在建鏈狀態(tài)下一直 存在。
雙方通訊實體都進入建鏈狀態(tài)后,上層應用幵始發(fā)送數(shù)據(jù),數(shù)據(jù)按硬 件實際能傳輸?shù)淖畲箝L度減去幀頭進行分片,小于最大長度不分片,形成
傳輸幀如圖2 (圖2顯示了本發(fā)明一實施例的傳輸幀結構圖),暫時保存在 發(fā)送緩沖隊列里。
主從通訊實體都處在建鏈狀態(tài)下,主方定時發(fā)送REQ數(shù)據(jù)幀,攜帶 保存在發(fā)送緩沖隊列中的數(shù)據(jù),REQ數(shù)據(jù)幀的發(fā)送也由上述REQ發(fā)送定 時器控制。從方收到上述REQ數(shù)據(jù)幀后,發(fā)送ACK數(shù)據(jù)幀,攜帶保存在 發(fā)送緩沖隊列中的數(shù)據(jù)。主方收到上述ACK數(shù)據(jù)幀后,(主方知道無論是 主到從,還是從到主的兩個方面通訊正常)?;顦酥厩辶恪0l(fā)送ACK一ACK 數(shù)據(jù)幀,攜帶保存在發(fā)送緩沖隊列中的數(shù)據(jù)。從方接收上述ACK—ACK數(shù) 據(jù)幀(從方知道無論是主到從,還是從到主的兩個方面通訊正常),?;?標志清零。
主方定時發(fā)送的REQ數(shù)據(jù)幀和應答從方ACK數(shù)據(jù)幀的ACK—ACK 數(shù)據(jù)幀攜帶保存在發(fā)送緩沖隊列的分片數(shù)據(jù)按先進先出的方式進行發(fā)送。 從方應答主方REQ數(shù)據(jù)幀的ACK數(shù)據(jù)幀攜帶保存在發(fā)送緩沖隊列的分片 數(shù)據(jù)按先進先出的方式進行發(fā)送。
對端接收到數(shù)據(jù),暫時保存在接收緩沖隊列里,當接收到最后一個分 片數(shù)據(jù)后,進行數(shù)據(jù)重組,然后將數(shù)據(jù)傳遞給上層。最后一個分片數(shù)據(jù)由 幀頭的最后分片標志判定。
無論是主到從,還是從到主通訊器件物理故障的情況下,?;疃〞r器 事件到,?;顦酥纠奂樱奂拥介T限值,進入斷鏈狀態(tài),通知上層鏈路斷 開;關閉?;疃〞r器。上層應用知道鏈路故障,通訊不能進行。
本發(fā)明用于半雙工硬件,克服了現(xiàn)有半雙工通訊中應用需要考慮雙方 數(shù)據(jù)不能同時發(fā)送的缺點,做到了半雙工到全雙工的轉換。
當然,本發(fā)明還可有其他實施例,在不背離本發(fā)明精神及其實質的情 況下,所屬技術領域的技術人員當可根據(jù)本發(fā)明作出各種相應的改變和變 形,但這些相應的改變和變形都應屬于本發(fā)明的權利要求的保護范圍。
權利要求
1.一種半雙工傳輸設備建鏈通訊的方法,其特征在于包括以下步驟步驟1通訊實體分成主從雙方,初始時,上述主從雙方通訊實體都處在斷鏈狀態(tài);通訊由主方通過定時發(fā)送不攜帶傳輸數(shù)據(jù)的幀,即建鏈幀發(fā)起;步驟2上述主從雙方進入建鏈狀態(tài),設置保活定時器,通知上層鏈路建立;步驟3上層在收到進入建鏈狀態(tài)通知后,發(fā)送數(shù)據(jù);上述數(shù)據(jù)按硬件實際能力進行分片,暫時保存在發(fā)送緩沖隊列里;步驟4上述主從雙方通訊實體以攜帶傳輸數(shù)據(jù)的幀,即數(shù)據(jù)幀的形式進行上述數(shù)據(jù)的雙向傳輸,?;顦酥厩辶?;步驟5對端接收到上述數(shù)據(jù),暫時保存在接收緩沖隊列里,當接收到最后一個分片數(shù)據(jù)后,進行數(shù)據(jù)重組,然后將數(shù)據(jù)傳遞給上層;步驟6?;疃〞r器事件到時,?;顦酥纠奂?,累加到門限值,進入斷鏈狀態(tài),通知上層鏈路斷開,關閉?;疃〞r器。
2. 根據(jù)權利要求1所述的半雙工傳輸設備建鏈通訊的方法,其特征在于,上述步驟i中,所述的建鏈過程包括主方定時發(fā)送REQ建鏈幀,從方收到上述REQ建鏈幀后,發(fā)送ACK建鏈幀;主方收到上述ACK建鏈 幀后,發(fā)送ACK一ACK建鏈幀,進入建鏈狀態(tài);從方收到上述ACK一ACK 建鏈幀后,進入建鏈狀態(tài)。
3. 根據(jù)權利要求2所述的半雙工傳輸設備建鏈通訊的方法,其特征在 于,上述步驟3中所述的數(shù)據(jù)按硬件實際能力進行分片是按硬件能傳輸?shù)?最大長度減去禎頭進行分片。
4. 根據(jù)權利要求3所述的半雙工傳輸設備建鏈通訊的方法,其特征在 于,上述步驟3中所述的分片的長度由硬件器件本身和保活定時器時間來 共同確定;其中小于上述最大長度不進行分片。2
5. 根據(jù)權利要求4所述的半雙工傳輸設備建鏈通訊的方法,其特征在 于,上述步驟4中所述的雙向傳輸過程包括主方定時發(fā)送REQ數(shù)據(jù)幀, 攜帶保存在發(fā)送緩沖隊列中的數(shù)據(jù);從方收到上述REQ數(shù)據(jù)幀后,發(fā)送 ACK數(shù)據(jù)幀,攜帶保存在發(fā)送緩沖隊列中的數(shù)據(jù);主方收到上述ACK數(shù) 據(jù)幀后,?;顦酥厩辶?;發(fā)送ACK一ACK數(shù)據(jù)幀,攜帶保存在發(fā)送緩沖隊 列中的數(shù)據(jù);從方接收上述ACK一ACK數(shù)據(jù)幀,保活標志清零。
6. 根據(jù)權利要求5所述的半雙工傳輸設備建鏈通訊的方法,其特征在 于,所有保存在上述發(fā)送緩沖隊列的分片數(shù)據(jù)按先進先出的方式進行發(fā)送。
7. 根據(jù)權利要求6所述的半雙工傳輸設備建鏈通訊的方法,其特征在 于,上述步驟5中,最后一個分片數(shù)據(jù)由幀頭的最后分片標志判定。
8. 根據(jù)權利要求7所述的半雙工傳輸設備建鏈通訊的方法,其特征在 于,上述REQ建鏈幀與REQ數(shù)據(jù)幀的發(fā)送由REQ發(fā)送定時器控制,其 在斷鏈和建鏈兩種狀態(tài)下一直存在
全文摘要
一種半雙工傳輸設備建鏈通訊的方法,包括1.初始主從雙方通訊實體都處在斷鏈狀態(tài);通訊由主方通過定時發(fā)送不攜帶傳輸數(shù)據(jù)的幀,即建鏈幀發(fā)起;2.主從雙方進入建鏈狀態(tài),設置?;疃〞r器,通知上層鏈路建立;3.上層在收到進入建鏈狀態(tài)通知后,發(fā)送數(shù)據(jù);4.主從雙方通訊實體以攜帶傳輸數(shù)據(jù)的幀,即數(shù)據(jù)幀的形式進行數(shù)據(jù)的雙向傳輸,?;顦酥厩辶悖?.對端接收到數(shù)據(jù),暫時保存在接收緩沖隊列里,當接收到最后一個分片數(shù)據(jù)后,進行數(shù)據(jù)重組,然后將數(shù)據(jù)傳遞給上層;6.保活定時器事件到時,?;顦酥纠奂?,累加到門限值,進入斷鏈狀態(tài),通知上層鏈路斷開,關閉?;疃〞r器。本發(fā)明克服了半雙工通訊中需要考慮雙方數(shù)據(jù)不能同時發(fā)送的缺點。
文檔編號H04L5/16GK101174938SQ200610150500
公開日2008年5月7日 申請日期2006年11月2日 優(yōu)先權日2006年11月2日
發(fā)明者吳從海, 樂 李 申請人:中興通訊股份有限公司