国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種以太網(wǎng)通信系統(tǒng)及方法

      文檔序號(hào):7587848閱讀:160來(lái)源:國(guó)知局
      專(zhuān)利名稱:一種以太網(wǎng)通信系統(tǒng)及方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,具體涉及一種以太網(wǎng)通信系統(tǒng)及方法。
      背景技術(shù)
      在高性能計(jì)算領(lǐng)域,網(wǎng)絡(luò)通信效率是影響機(jī)群并行計(jì)算的一個(gè)主要因素。VIA(虛擬接口架構(gòu))是一個(gè)開(kāi)放的、可擴(kuò)展的、獨(dú)立于具體平臺(tái)與實(shí)現(xiàn)、具有良好移植性的用戶層通信協(xié)議標(biāo)準(zhǔn)。它是一種用戶層通信協(xié)議的工業(yè)標(biāo)準(zhǔn),它為機(jī)群環(huán)境帶來(lái)了低延遲、高帶寬、高可靠的通信支持。它定義了基本的通信函數(shù)和組織架構(gòu),為系統(tǒng)提供所需的性能和可靠性。它在通信硬件和進(jìn)程保護(hù)內(nèi)存空間之間提供一個(gè)VI(虛擬接口),為應(yīng)用程序提供了一個(gè)直接訪問(wèn)通信硬件的通道,消除了傳統(tǒng)模型的系統(tǒng)開(kāi)銷(xiāo)。每一個(gè)VI表示了一個(gè)通信端點(diǎn),每一對(duì)VI端點(diǎn)間可以在邏輯上進(jìn)行連接,從而實(shí)現(xiàn)雙向的點(diǎn)對(duì)點(diǎn)的數(shù)據(jù)傳輸。一個(gè)進(jìn)程可以擁有由一個(gè)或多個(gè)網(wǎng)卡提供的多個(gè)VI;一個(gè)網(wǎng)卡適配器提供多個(gè)虛擬端點(diǎn),完成對(duì)硬件的復(fù)用和多路輸出選擇;通常由OS(操作系統(tǒng))和驅(qū)動(dòng)完成對(duì)數(shù)據(jù)傳輸?shù)恼{(diào)度;保證已連接的兩個(gè)VI的通信可靠性可以由適配器來(lái)完成,也可以由應(yīng)用程序來(lái)完成。
      對(duì)于VIA架構(gòu)的支持,很多是通過(guò)專(zhuān)門(mén)的支持VIA架構(gòu)的通信子系統(tǒng)來(lái)實(shí)現(xiàn)。這些實(shí)現(xiàn)一般采用專(zhuān)用的通信網(wǎng)卡以及交換設(shè)備,也有采用可編程的專(zhuān)用網(wǎng)卡來(lái)實(shí)現(xiàn)VIA協(xié)議處理的。這樣的系統(tǒng)協(xié)議處理一般在專(zhuān)用的網(wǎng)卡上進(jìn)行,系統(tǒng)價(jià)格相對(duì)較高。也有一些可以用于以太網(wǎng)的、通過(guò)軟件來(lái)實(shí)現(xiàn)的VIA系統(tǒng),這些系統(tǒng)主要由大學(xué)來(lái)開(kāi)發(fā)、維護(hù),主要用于對(duì)協(xié)議的研究的目的。這些系統(tǒng)實(shí)現(xiàn)功能簡(jiǎn)單,而且一般不支持現(xiàn)有的商用平臺(tái),如Windows操作系統(tǒng)以及現(xiàn)有的常見(jiàn)的以太網(wǎng)卡,也很少考慮在復(fù)雜通信情況下的效率問(wèn)題。
      目前,通過(guò)以太網(wǎng)進(jìn)行數(shù)據(jù)傳輸大多采用圖1和圖2所示的兩種結(jié)構(gòu)方式,即數(shù)據(jù)從用戶應(yīng)用到網(wǎng)卡將數(shù)據(jù)轉(zhuǎn)換成以太數(shù)據(jù)包進(jìn)行發(fā)送出去,一般要經(jīng)過(guò)兩個(gè)模塊,一個(gè)是標(biāo)準(zhǔn)的Windows協(xié)議模塊,如標(biāo)準(zhǔn)的WindowsNDIS(網(wǎng)絡(luò)驅(qū)動(dòng)程序接口規(guī)范)協(xié)議模塊或者Windows TCP/IP(傳輸控制/網(wǎng)際協(xié)議)協(xié)議棧處理模塊,還有一個(gè)是標(biāo)準(zhǔn)的Windows Miniport網(wǎng)絡(luò)驅(qū)動(dòng),具體根據(jù)不同的網(wǎng)卡有不同的實(shí)現(xiàn)。圖1所示為數(shù)據(jù)從用戶應(yīng)用模塊首先發(fā)送到VIA接口代理模塊,然后經(jīng)過(guò)Windows NDIS協(xié)議模塊及Windows Miniport網(wǎng)絡(luò)驅(qū)動(dòng)模塊將數(shù)據(jù)轉(zhuǎn)換成以太數(shù)據(jù)包通過(guò)網(wǎng)卡進(jìn)行發(fā)送;圖2所示為數(shù)據(jù)從用戶應(yīng)用模塊經(jīng)過(guò)Windows TCP/IP協(xié)議棧處理后,再通過(guò)Windows Miniport網(wǎng)絡(luò)驅(qū)動(dòng)模塊將數(shù)據(jù)轉(zhuǎn)換成以太數(shù)據(jù)包通過(guò)網(wǎng)卡進(jìn)行發(fā)送。
      在現(xiàn)有技術(shù)中主要針對(duì)了VIA的硬件實(shí)現(xiàn)架構(gòu)以及軟件層次中的協(xié)議實(shí)現(xiàn)機(jī)制,如采用序列號(hào)機(jī)制保證傳輸可靠,減少內(nèi)存復(fù)制次數(shù)以及虛擬地址/物理地址轉(zhuǎn)換機(jī)制等。

      發(fā)明內(nèi)容
      本發(fā)明的目的是克服現(xiàn)有技術(shù)的上述缺點(diǎn),提供一種以太網(wǎng)通信系統(tǒng)及方法,通過(guò)減少軟件協(xié)議層次的傳輸路徑以及處理內(nèi)容,以及對(duì)不同類(lèi)型的數(shù)據(jù)包設(shè)置不同的優(yōu)先級(jí),進(jìn)一步提高了系統(tǒng)的通信性能。
      本發(fā)明的目的是通過(guò)以下技術(shù)方案實(shí)現(xiàn)的一種以太網(wǎng)通信系統(tǒng),包括
      用戶應(yīng)用接口,用于輸入/輸出用戶信息;虛擬接口代理裝置,耦合到所述用戶應(yīng)用接口,用于將所述用戶信息轉(zhuǎn)換成預(yù)定格式的數(shù)據(jù)或反之;虛擬接口協(xié)議處理裝置,耦合到所述虛擬接口代理裝置,用于生成包含所述預(yù)定格式的數(shù)據(jù)的數(shù)據(jù)包或反之;傳輸端口,耦合到所述虛擬接口協(xié)議處理裝置,用于連接對(duì)應(yīng)的網(wǎng)絡(luò)傳送所述數(shù)據(jù)包。
      所述虛擬接口代理裝置包括格式設(shè)定裝置,用于設(shè)定數(shù)據(jù)傳輸格式;用戶數(shù)據(jù)轉(zhuǎn)換裝置,耦合到所述格式設(shè)定裝置,用于根據(jù)所述格式設(shè)定裝置設(shè)定的數(shù)據(jù)傳輸格式轉(zhuǎn)換所述用戶信息。
      所述虛擬接口協(xié)議處理裝置包括發(fā)送處理裝置,耦合到所述用戶數(shù)據(jù)轉(zhuǎn)換裝置,用于處理發(fā)送所述預(yù)定格式的數(shù)據(jù);接收處理裝置,耦合到所述用戶數(shù)據(jù)轉(zhuǎn)換裝置,用于接收處理以太網(wǎng)數(shù)據(jù)包。
      所述發(fā)送處理裝置包括發(fā)送數(shù)據(jù)轉(zhuǎn)換裝置,用于轉(zhuǎn)換所述預(yù)定格式的數(shù)據(jù)為以太網(wǎng)數(shù)據(jù)包;發(fā)送機(jī)制設(shè)定裝置,用于設(shè)定不同的數(shù)據(jù)發(fā)送機(jī)制;機(jī)制選擇裝置,分別耦合到所述發(fā)送數(shù)據(jù)轉(zhuǎn)換裝置和所述發(fā)送機(jī)制設(shè)定裝置,用于根據(jù)所述以太網(wǎng)數(shù)據(jù)包的信息選擇對(duì)應(yīng)的數(shù)據(jù)發(fā)送機(jī)制;發(fā)送驅(qū)動(dòng)裝置,分別耦合到所述發(fā)送數(shù)據(jù)轉(zhuǎn)換裝置和所述機(jī)制選擇裝置,用于驅(qū)動(dòng)所述傳輸端口按照選擇的數(shù)據(jù)發(fā)送機(jī)制發(fā)送所述發(fā)送數(shù)據(jù)轉(zhuǎn)換裝置輸出的以太網(wǎng)數(shù)據(jù)包。
      所述接收處理裝置包括中斷通知裝置,用于當(dāng)所述傳輸端口收到以太網(wǎng)數(shù)據(jù)包時(shí)產(chǎn)生中斷通知;接收驅(qū)動(dòng)裝置,耦合到所述中斷通知裝置,用于根據(jù)所述中斷通知驅(qū)動(dòng)所述接收裝置接收所述以太網(wǎng)數(shù)據(jù)包;接收裝置,用于從所述接收的以太網(wǎng)數(shù)據(jù)包中獲取用戶信息;應(yīng)答裝置,用于向發(fā)送端發(fā)送應(yīng)答消息。
      所述接收裝置包括接收數(shù)據(jù)轉(zhuǎn)換裝置,用于轉(zhuǎn)換接收的以太網(wǎng)數(shù)據(jù)包為預(yù)定格式的數(shù)據(jù);接收確認(rèn)裝置,用于當(dāng)所述接收裝置接收到一個(gè)完整的消息后,通知所述應(yīng)答裝置發(fā)送應(yīng)答消息。
      所述傳輸端口包括各種型號(hào)的通用網(wǎng)卡。
      本發(fā)明還提供了一種以太網(wǎng)通信方法,包括A、設(shè)定不同的數(shù)據(jù)發(fā)送機(jī)制;B、當(dāng)數(shù)據(jù)發(fā)送時(shí),轉(zhuǎn)換用戶數(shù)據(jù)為以太網(wǎng)包,并按照所述設(shè)定的數(shù)據(jù)發(fā)送機(jī)制發(fā)送所述以太網(wǎng)包;C、接收到完整的以太網(wǎng)包后,發(fā)送應(yīng)答消息。
      所述步驟A中不同的數(shù)據(jù)發(fā)送機(jī)制包括立即發(fā)送和延遲預(yù)定時(shí)間后發(fā)送數(shù)據(jù)。
      所述步驟B包括根據(jù)所述以太網(wǎng)包的類(lèi)型和/或優(yōu)先級(jí)選擇數(shù)據(jù)發(fā)送機(jī)制;根據(jù)所述選擇的數(shù)據(jù)發(fā)送機(jī)制發(fā)送所述以太網(wǎng)包。
      由以上本發(fā)明提供的技術(shù)方案可以看出,本發(fā)明將協(xié)議棧驅(qū)動(dòng)和設(shè)備驅(qū)動(dòng)合并在一起處理,通過(guò)通用的以太網(wǎng)卡發(fā)送數(shù)據(jù),降低了系統(tǒng)成本。在數(shù)據(jù)發(fā)送過(guò)程中,通過(guò)系統(tǒng)調(diào)用將數(shù)據(jù)發(fā)送請(qǐng)求直接傳遞給處理模塊。由于在以太網(wǎng)上可靠連接協(xié)議都需要對(duì)接收到的數(shù)據(jù)包進(jìn)行應(yīng)答處理,對(duì)于不同類(lèi)型的數(shù)據(jù)包,處理模塊根據(jù)要發(fā)送的各種數(shù)據(jù)包的類(lèi)型以及優(yōu)先級(jí)對(duì)數(shù)據(jù)包采用不同的方式發(fā)送,進(jìn)一步保證了數(shù)據(jù)的可靠傳輸,提高了整體效率。


      圖1是現(xiàn)有技術(shù)中利用NDIS協(xié)議進(jìn)行以太網(wǎng)數(shù)據(jù)發(fā)送方式示意圖;圖2是現(xiàn)有技術(shù)中利用TCP/IP協(xié)議進(jìn)行以太網(wǎng)數(shù)據(jù)發(fā)送的方式示意圖;圖3是本發(fā)明以太網(wǎng)通信系統(tǒng)結(jié)構(gòu)示意圖;圖4是圖3所示的本發(fā)明系統(tǒng)中發(fā)送處理裝置的詳細(xì)結(jié)構(gòu)示意圖;圖5是圖3所示的本發(fā)明系統(tǒng)中接收處理裝置的詳細(xì)結(jié)構(gòu)示意圖;圖6是本發(fā)明系統(tǒng)的應(yīng)用實(shí)例進(jìn)行數(shù)據(jù)發(fā)送和接收的流程;圖7是本發(fā)明方法的流程圖。
      具體實(shí)施例方式
      為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明,下面結(jié)合附圖和實(shí)施方式對(duì)本發(fā)明作進(jìn)一步的詳細(xì)說(shuō)明。
      參照?qǐng)D3所示的本發(fā)明以太網(wǎng)通信系統(tǒng)結(jié)構(gòu)示意圖,本發(fā)明系統(tǒng)由用戶應(yīng)用接口30、虛擬接口代理裝置31、虛擬接口協(xié)議處理裝置32和傳輸端口33組成。其中,用戶應(yīng)用接口30用于輸入/輸出用戶信息;虛擬接口代理裝置31耦合到用戶應(yīng)用接口30,用于將用戶信息轉(zhuǎn)換成預(yù)定格式的數(shù)據(jù)或反之;虛擬接口協(xié)議處理裝置32耦合到虛擬接口代理裝置31,用于生成包含預(yù)定格式的數(shù)據(jù)的以太網(wǎng)數(shù)據(jù)包或反之;傳輸端口33耦合到虛擬接口協(xié)議處理裝置32,用于連接對(duì)應(yīng)的網(wǎng)絡(luò)傳送以太網(wǎng)數(shù)據(jù)包。
      虛擬接口代理裝置31由格式設(shè)定裝置311和用戶數(shù)據(jù)轉(zhuǎn)換裝置312組成。其中,格式設(shè)定裝置311用于設(shè)定數(shù)據(jù)傳輸格式;用戶數(shù)據(jù)轉(zhuǎn)換裝置312耦合到格式設(shè)定裝置311,用于根據(jù)格式設(shè)定裝置311設(shè)定的數(shù)據(jù)傳輸格式轉(zhuǎn)換用戶信息。在發(fā)送時(shí),將需要發(fā)送的用戶信息轉(zhuǎn)換成設(shè)定格式的數(shù)據(jù),在接收時(shí),按照設(shè)定的數(shù)據(jù)傳輸格式從接收數(shù)據(jù)中獲取用戶信息。
      虛擬接口協(xié)議處理裝置32由發(fā)送處理裝置321和接收處理裝置322組成。其中,發(fā)送處理裝置321耦合到用戶數(shù)據(jù)轉(zhuǎn)換裝置312,用于處理發(fā)送預(yù)定格式的數(shù)據(jù);接收處理裝置322同樣耦合到用戶數(shù)據(jù)轉(zhuǎn)換裝置312,用于接收處理以太網(wǎng)數(shù)據(jù)包。
      發(fā)送處理裝置321的詳細(xì)結(jié)構(gòu)如圖4所示發(fā)送處理裝置321由發(fā)送數(shù)據(jù)轉(zhuǎn)換裝置41、發(fā)送機(jī)制設(shè)定裝置42、機(jī)制選擇裝置43和發(fā)送驅(qū)動(dòng)裝置44組成。其中,發(fā)送數(shù)據(jù)轉(zhuǎn)換裝置41用于將圖3中用戶數(shù)據(jù)轉(zhuǎn)換裝置312輸出的包含用戶信息的預(yù)定格式的數(shù)據(jù)轉(zhuǎn)換為以太網(wǎng)數(shù)據(jù)包。
      發(fā)送機(jī)制設(shè)定裝置42用于設(shè)定不同的數(shù)據(jù)發(fā)送機(jī)制,以保證數(shù)據(jù)傳輸?shù)目煽啃?,提高系統(tǒng)整體效率。例如,可以根據(jù)發(fā)送的數(shù)據(jù)包的類(lèi)型以及優(yōu)先級(jí)設(shè)定不同的發(fā)送機(jī)制立即發(fā)送等待預(yù)定時(shí)間后發(fā)送。
      機(jī)制選擇裝置43分別耦合到發(fā)送數(shù)據(jù)轉(zhuǎn)換裝置41和發(fā)送機(jī)制設(shè)定裝置42,用于根據(jù)發(fā)送數(shù)據(jù)轉(zhuǎn)換裝置41輸出的以太網(wǎng)數(shù)據(jù)包的信息選擇對(duì)應(yīng)的數(shù)據(jù)發(fā)送機(jī)制。
      發(fā)送驅(qū)動(dòng)裝置44,分別耦合到發(fā)送數(shù)據(jù)轉(zhuǎn)換裝置41和機(jī)制選擇裝置43,用于驅(qū)動(dòng)圖3中的傳輸端口33按照選擇的數(shù)據(jù)發(fā)送機(jī)制發(fā)送所述發(fā)送數(shù)據(jù)轉(zhuǎn)換裝置41輸出的以太網(wǎng)數(shù)據(jù)包。
      接收處理裝置322的詳細(xì)結(jié)構(gòu)如圖5所示接收處理裝置322由中斷通知裝置51、接收驅(qū)動(dòng)裝置52、接收裝置53和應(yīng)答裝置54組成。其中,中斷通知裝置51用于當(dāng)圖3中的傳輸端口收到以太網(wǎng)數(shù)據(jù)包時(shí)產(chǎn)生中斷通知。
      接收驅(qū)動(dòng)裝置52,耦合到中斷通知裝置51,用于根據(jù)中斷通知驅(qū)動(dòng)該接收裝置接收以太網(wǎng)數(shù)據(jù)包。
      接收裝置53,耦合到接收驅(qū)動(dòng)裝置52,用于從接收的以太網(wǎng)數(shù)據(jù)包中獲取用戶信息;它由接收數(shù)據(jù)轉(zhuǎn)換裝置531和接收確認(rèn)裝置532組成,其中,接收數(shù)據(jù)轉(zhuǎn)換裝置531用于轉(zhuǎn)換接收的以太網(wǎng)數(shù)據(jù)包為預(yù)定格式的數(shù)據(jù);接收確認(rèn)裝置532用于當(dāng)該接收裝置接收到一個(gè)完整的消息后,通知應(yīng)答裝置發(fā)送應(yīng)答消息。
      應(yīng)答裝置54,耦合到接收確認(rèn)裝置532,用于向發(fā)送端發(fā)送應(yīng)答消息。
      為了使本領(lǐng)域的技術(shù)人員更好地理解本發(fā)明,下面結(jié)合圖6詳細(xì)說(shuō)明本發(fā)明系統(tǒng)的工作過(guò)程。
      圖6示出了本發(fā)明系統(tǒng)的應(yīng)用實(shí)例進(jìn)行數(shù)據(jù)發(fā)送和接收的流程數(shù)據(jù)發(fā)送過(guò)程具體包括以下步驟步驟1用戶通過(guò)用戶應(yīng)用接口輸入數(shù)據(jù)發(fā)送消息,該消息是一段有固定長(zhǎng)度的數(shù)據(jù)。
      步驟2虛擬接口代理裝置按照格式設(shè)定裝置預(yù)先設(shè)定的虛擬格式轉(zhuǎn)換用戶的數(shù)據(jù)發(fā)送消息,比如,將該消息轉(zhuǎn)換成相應(yīng)的數(shù)據(jù)結(jié)構(gòu),其中包含請(qǐng)求發(fā)送描述符的地址作為系統(tǒng)調(diào)用的參數(shù)。
      步驟3虛擬接口協(xié)議處理裝置中的發(fā)送處理裝置將轉(zhuǎn)換后的用戶數(shù)據(jù)按照以太網(wǎng)包的形式發(fā)送到傳輸端口,在本例中為網(wǎng)卡。它包括以下幾個(gè)方面的工作(1)發(fā)送數(shù)據(jù)轉(zhuǎn)換裝置生成包括用戶發(fā)送數(shù)據(jù)信息的以太網(wǎng)數(shù)據(jù)包。由于一個(gè)端點(diǎn)可以同時(shí)是發(fā)送端和接收端,存在模塊中的數(shù)據(jù)發(fā)送部分需要發(fā)送數(shù)據(jù)包以及數(shù)據(jù)接收部分會(huì)發(fā)送應(yīng)答數(shù)據(jù)包。在這種情況下,數(shù)據(jù)發(fā)送裝置和數(shù)據(jù)接收裝置都填寫(xiě)相應(yīng)的發(fā)送數(shù)據(jù)結(jié)構(gòu),其中包括要發(fā)送的數(shù)據(jù)包的類(lèi)型(用一個(gè)整數(shù)表示)、已經(jīng)發(fā)送的次數(shù)(用一個(gè)整數(shù)表示)。
      (2)由發(fā)送機(jī)制設(shè)定裝置設(shè)定不同的數(shù)據(jù)發(fā)送機(jī)制。比如,可以根據(jù)系統(tǒng)實(shí)際需要,設(shè)置以下兩種發(fā)送機(jī)制立即通過(guò)網(wǎng)卡發(fā)送,如果不成功,如緩沖區(qū)滿,則立即重試直到發(fā)送成功;另一種為延遲預(yù)定時(shí)間后通過(guò)網(wǎng)卡發(fā)送,如果不成功,則根據(jù)類(lèi)型以及參數(shù)等待一段時(shí)間后再進(jìn)行發(fā)送。具體的等待時(shí)間,可以用數(shù)據(jù)包的類(lèi)型(用一個(gè)整數(shù)表示)、已經(jīng)發(fā)送的次數(shù)(用一個(gè)整數(shù)表示)乘以相應(yīng)的比例系數(shù)得到最終的時(shí)間。比如,可以設(shè)定等待時(shí)間=時(shí)間系數(shù)*發(fā)送類(lèi)型*(最多發(fā)送次數(shù)-已經(jīng)嘗試發(fā)送次數(shù))*(一個(gè)一定范圍內(nèi)的隨機(jī)數(shù))。
      (3)由機(jī)制選擇裝置根據(jù)數(shù)據(jù)包的信息(比如,數(shù)據(jù)包的類(lèi)型和優(yōu)先級(jí))選擇某一種發(fā)送機(jī)制。
      (4)由發(fā)送驅(qū)動(dòng)裝置按照選定的發(fā)送機(jī)制驅(qū)動(dòng)網(wǎng)卡輸出包含用戶信息的以太網(wǎng)數(shù)據(jù)包。
      步驟4以太網(wǎng)包通過(guò)以太網(wǎng)到達(dá)接收端。
      步驟5通過(guò)網(wǎng)卡接收以太網(wǎng)數(shù)據(jù)包,它包括以下兩方面的工作(1)斷通知裝置產(chǎn)生中斷通知接收驅(qū)動(dòng)裝置有數(shù)據(jù)包到來(lái);(2)接收驅(qū)動(dòng)裝置收到中斷通知后驅(qū)動(dòng)接收裝置接收數(shù)據(jù)包。
      步驟6為了實(shí)現(xiàn)以太網(wǎng)的可靠傳輸,當(dāng)接收裝置確認(rèn)已經(jīng)收到了一個(gè)完整的消息時(shí),由應(yīng)答裝置向發(fā)送端發(fā)送一個(gè)應(yīng)答消息,其中包含收到的消息的標(biāo)示來(lái)說(shuō)明接收端收到了相應(yīng)的數(shù)據(jù)。
      步驟7當(dāng)接收裝置確認(rèn)已經(jīng)收到了一個(gè)完整的消息時(shí),會(huì)根據(jù)以太包中的相應(yīng)的數(shù)據(jù)結(jié)構(gòu),如數(shù)據(jù)長(zhǎng)度、數(shù)據(jù)在描述符中的偏移等內(nèi)容將數(shù)據(jù)包中的用戶應(yīng)用要求的數(shù)據(jù)復(fù)制到相應(yīng)的緩沖區(qū)中,填好收到消息的描述符的結(jié)構(gòu);并通知虛擬接口代理裝置。
      步驟8虛擬接口代理裝置從相應(yīng)的緩沖區(qū)中提取用戶信息傳送給用戶,同時(shí)返回收到消息的信息。
      步驟9以太網(wǎng)包通過(guò)以太網(wǎng)到達(dá)發(fā)送端。
      上述步驟7、步驟8和步驟9可以同時(shí)進(jìn)行。
      步驟10發(fā)送端由網(wǎng)卡接收以太網(wǎng)數(shù)據(jù)包,同樣包括以下工作(1)中斷通知裝置產(chǎn)生中斷通知接收驅(qū)動(dòng)裝置有數(shù)據(jù)包到來(lái);(2)接收驅(qū)動(dòng)裝置收到中斷通知后驅(qū)動(dòng)接收裝置接收數(shù)據(jù)包,當(dāng)判斷出是一個(gè)應(yīng)答包的時(shí)候,會(huì)修改發(fā)送描述符中的相應(yīng)標(biāo)志位,表示發(fā)送成功。
      步驟11虛擬接口協(xié)議處理裝置通知虛擬接口代理裝置發(fā)送結(jié)束。
      步驟12虛擬接口代理裝置發(fā)送結(jié)束消息通知用戶應(yīng)用接口發(fā)送結(jié)束,該消息中包括發(fā)送是否成功信息。
      下面參照?qǐng)D7所示流程對(duì)本發(fā)明方法作詳細(xì)說(shuō)明用戶數(shù)據(jù)發(fā)送時(shí),包括以下步驟步驟701設(shè)定不同的數(shù)據(jù)發(fā)送機(jī)制,包括立即發(fā)送和延遲預(yù)定時(shí)間后發(fā)送,立即發(fā)送表示如果發(fā)送不成功,則立即重試直到發(fā)送成功;延遲預(yù)定時(shí)間后發(fā)送表示如果發(fā)送不成功,則根據(jù)數(shù)據(jù)包類(lèi)型及其它參數(shù)等待一段時(shí)間后再進(jìn)行發(fā)送,具體的等待時(shí)間,可以用數(shù)據(jù)包的類(lèi)型(用一個(gè)整數(shù)表示)、已經(jīng)發(fā)送的次數(shù)(用一個(gè)整數(shù)表示)乘以相應(yīng)的比例系數(shù)得到最終的時(shí)間。比如,可以設(shè)定等待時(shí)間=時(shí)間系數(shù)*發(fā)送類(lèi)型*(最多發(fā)送次數(shù)-已經(jīng)嘗試發(fā)送次數(shù))*(一個(gè)一定范圍內(nèi)的隨機(jī)數(shù))。
      步驟702接收用戶數(shù)據(jù)信息;步驟703將用戶信息轉(zhuǎn)換成虛擬格式數(shù)據(jù),比如,設(shè)定一種數(shù)據(jù)結(jié)構(gòu),將用戶數(shù)據(jù)信息填充到數(shù)據(jù)結(jié)構(gòu)對(duì)應(yīng)的位置上。
      步驟704將虛擬格式數(shù)據(jù)轉(zhuǎn)換成以太網(wǎng)數(shù)據(jù)包;步驟705根據(jù)以太網(wǎng)包的類(lèi)型和/或優(yōu)先級(jí)選擇數(shù)據(jù)發(fā)送機(jī)制;步驟706根據(jù)選擇的數(shù)據(jù)發(fā)送機(jī)制發(fā)送以太網(wǎng)數(shù)據(jù)包。
      用戶數(shù)據(jù)接收時(shí),包括以下步驟步驟711接收以太網(wǎng)數(shù)據(jù)包;步驟712判斷接收的數(shù)據(jù)包是否結(jié)束,也就是說(shuō)是否接收到了一個(gè)完整的消息;如果未結(jié)束,則返回步驟711繼續(xù)接收以太網(wǎng)數(shù)據(jù)包;否則,進(jìn)到步驟713判斷接收的數(shù)據(jù)包是否為應(yīng)答包;如果是應(yīng)答包,則進(jìn)到步驟716通知用戶發(fā)送結(jié)束,該消息中包括是否發(fā)送成功信息;否則,進(jìn)到步驟714從以太網(wǎng)數(shù)據(jù)包中獲取用戶信息;進(jìn)到步驟715將獲取的用戶信息發(fā)送給用戶。
      雖然通過(guò)實(shí)施例描繪了本發(fā)明,本領(lǐng)域普通技術(shù)人員知道,本發(fā)明有許多變形和變化而不脫離本發(fā)明的精神,希望所附的權(quán)利要求包括這些變形和變化而不脫離本發(fā)明的精神。
      權(quán)利要求
      1.一種以太網(wǎng)通信系統(tǒng),包括用戶應(yīng)用接口,用于輸入/輸出用戶信息;虛擬接口代理裝置,耦合到所述用戶應(yīng)用接口,用于將所述用戶信息轉(zhuǎn)換成預(yù)定格式的數(shù)據(jù)或反之;虛擬接口協(xié)議處理裝置,耦合到所述虛擬接口代理裝置,用于生成包含所述預(yù)定格式的數(shù)據(jù)的數(shù)據(jù)包或反之;傳輸端口,耦合到所述虛擬接口協(xié)議處理裝置,用于連接對(duì)應(yīng)的網(wǎng)絡(luò)傳送所述數(shù)據(jù)包。
      2.如權(quán)利要求1所述的以太網(wǎng)通信系統(tǒng),其中,所述虛擬接口代理裝置包括格式設(shè)定裝置,用于設(shè)定數(shù)據(jù)傳輸格式;用戶數(shù)據(jù)轉(zhuǎn)換裝置,耦合到所述格式設(shè)定裝置,用于根據(jù)所述格式設(shè)定裝置設(shè)定的數(shù)據(jù)傳輸格式轉(zhuǎn)換所述用戶信息。
      3.如權(quán)利要求1或2所述的以太網(wǎng)通信系統(tǒng),其中,所述虛擬接口協(xié)議處理裝置包括發(fā)送處理裝置,耦合到所述用戶數(shù)據(jù)轉(zhuǎn)換裝置,用于處理發(fā)送所述預(yù)定格式的數(shù)據(jù);接收處理裝置,耦合到所述用戶數(shù)據(jù)轉(zhuǎn)換裝置,用于接收處理以太網(wǎng)數(shù)據(jù)包。
      4.如權(quán)利要求3所述的以太網(wǎng)通信系統(tǒng),其特征在于,所述發(fā)送處理裝置包括發(fā)送數(shù)據(jù)轉(zhuǎn)換裝置,用于轉(zhuǎn)換所述預(yù)定格式的數(shù)據(jù)為以太網(wǎng)數(shù)據(jù)包;發(fā)送機(jī)制設(shè)定裝置,用于設(shè)定不同的數(shù)據(jù)發(fā)送機(jī)制;機(jī)制選擇裝置,分別耦合到所述發(fā)送數(shù)據(jù)轉(zhuǎn)換裝置和所述發(fā)送機(jī)制設(shè)定裝置,用于根據(jù)所述以太網(wǎng)數(shù)據(jù)包的信息選擇對(duì)應(yīng)的數(shù)據(jù)發(fā)送機(jī)制;發(fā)送驅(qū)動(dòng)裝置,分別耦合到所述發(fā)送數(shù)據(jù)轉(zhuǎn)換裝置和所述機(jī)制選擇裝置,用于驅(qū)動(dòng)所述傳輸端口按照選擇的數(shù)據(jù)發(fā)送機(jī)制發(fā)送所述發(fā)送數(shù)據(jù)轉(zhuǎn)換裝置輸出的以太網(wǎng)數(shù)據(jù)包。
      5.如權(quán)利要求3所述的以太網(wǎng)通信系統(tǒng),其特征在于,所述接收處理裝置包括中斷通知裝置,用于當(dāng)所述傳輸端口收到以太網(wǎng)數(shù)據(jù)包時(shí)產(chǎn)生中斷通知;接收驅(qū)動(dòng)裝置,耦合到所述中斷通知裝置,用于根據(jù)所述中斷通知驅(qū)動(dòng)所述接收裝置接收所述以太網(wǎng)數(shù)據(jù)包;接收裝置,用于從所述接收的以太網(wǎng)數(shù)據(jù)包中獲取用戶信息;應(yīng)答裝置,用于向發(fā)送端發(fā)送應(yīng)答消息。
      6.如權(quán)利要求5所述的以太網(wǎng)通信系統(tǒng),其特征在于,所述接收裝置包括接收數(shù)據(jù)轉(zhuǎn)換裝置,用于轉(zhuǎn)換接收的以太網(wǎng)數(shù)據(jù)包為預(yù)定格式的數(shù)據(jù);接收確認(rèn)裝置,用于當(dāng)所述接收裝置接收到一個(gè)完整的消息后,通知所述應(yīng)答裝置發(fā)送應(yīng)答消息。
      7.如權(quán)利要求1所述的以太網(wǎng)通信系統(tǒng),其特征在于,所述傳輸端口包括各種型號(hào)的通用網(wǎng)卡。
      8.一種利用以太網(wǎng)通信的方法,其特征在于,所述方法包括A、設(shè)定不同的數(shù)據(jù)發(fā)送機(jī)制;B、當(dāng)數(shù)據(jù)發(fā)送時(shí),轉(zhuǎn)換用戶數(shù)據(jù)為以太網(wǎng)包,并按照所述設(shè)定的數(shù)據(jù)發(fā)送機(jī)制發(fā)送所述以太網(wǎng)包;C、接收到完整的以太網(wǎng)包后,發(fā)送應(yīng)答消息。
      9.如權(quán)利要求8所述的方法,其特征在于,所述步驟A中不同的數(shù)據(jù)發(fā)送機(jī)制包括立即發(fā)送和延遲預(yù)定時(shí)間后發(fā)送數(shù)據(jù)。
      10.如權(quán)利要求9所述的方法,其特征在于,所述步驟B包括根據(jù)所述以太網(wǎng)包的類(lèi)型和/或優(yōu)先級(jí)選擇數(shù)據(jù)發(fā)送機(jī)制;根據(jù)所述選擇的數(shù)據(jù)發(fā)送機(jī)制發(fā)送所述以太網(wǎng)包。
      全文摘要
      本發(fā)明提供了一種以太網(wǎng)通信系統(tǒng)及方法,該系統(tǒng)包括用戶應(yīng)用接口,用于輸入/輸出用戶信息;虛擬接口代理裝置,耦合到用戶應(yīng)用接口,用于將用戶信息轉(zhuǎn)換成預(yù)定格式的數(shù)據(jù)或反之;虛擬接口協(xié)議處理裝置,耦合到虛擬接口代理裝置,用于生成包含預(yù)定格式的數(shù)據(jù)的數(shù)據(jù)包或反之;傳輸端口,耦合到虛擬接口協(xié)議處理裝置,用于連接對(duì)應(yīng)的網(wǎng)絡(luò)傳送數(shù)據(jù)包。該方法包括設(shè)定不同的數(shù)據(jù)發(fā)送機(jī)制;當(dāng)數(shù)據(jù)發(fā)送時(shí),轉(zhuǎn)換用戶數(shù)據(jù)為以太網(wǎng)包,并按照設(shè)定的數(shù)據(jù)發(fā)送機(jī)制發(fā)送以太網(wǎng)包;接收到完整的以太網(wǎng)包后,發(fā)送應(yīng)答消息。利用本發(fā)明,可以增強(qiáng)系統(tǒng)的通用性、保證數(shù)據(jù)的可靠傳輸,提高了整體效率、降低成本。
      文檔編號(hào)H04L29/06GK1556607SQ200410000118
      公開(kāi)日2004年12月22日 申請(qǐng)日期2004年1月5日 優(yōu)先權(quán)日2004年1月5日
      發(fā)明者談華芳, 袁林, 朱晨露 申請(qǐng)人:聯(lián)想(北京)有限公司
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1