一種基于串口服務器的數(shù)據(jù)傳輸方法及裝置制造方法
【專利摘要】本發(fā)明提供一種基于串口服務器的數(shù)據(jù)傳輸方法及裝置,該方法中當串口服務器接收到串口終端發(fā)送的數(shù)據(jù)包后,啟動定時器,判斷在該定時器的定時時長內(nèi),是否接收到該串口終端發(fā)送的其他數(shù)據(jù)包,當接收到其他數(shù)據(jù)包時,緩存該數(shù)據(jù)包并重啟定時器,否則,將緩存的數(shù)據(jù)包發(fā)送給第一遠端網(wǎng)絡設備。由于在本發(fā)明實施例中串口服務器接收到串口終端的數(shù)據(jù)包后,啟動定時器,當在定時器時長范圍內(nèi)再次收到數(shù)據(jù)包時,認為該數(shù)據(jù)包為該串口終端發(fā)送的,將該數(shù)據(jù)包緩存,否則認為該串口終端的數(shù)據(jù)發(fā)送過程結(jié)束,從而將緩存的數(shù)據(jù)包發(fā)送給遠端網(wǎng)絡設備,實現(xiàn)對緩存中數(shù)據(jù)包的重組,降低了對遠端網(wǎng)絡設備的配置要求及資源消耗,提高了遠端網(wǎng)絡設備的工作效率。
【專利說明】-種基于串口服務器的數(shù)據(jù)傳輸方法及裝置
【技術領域】
[0001] 本發(fā)明設及網(wǎng)絡通信【技術領域】,尤其設及一種基于串口服務器的數(shù)據(jù)傳輸方法及 裝置。
【背景技術】
[000引串口服務器是位于W太網(wǎng)中的遠端網(wǎng)絡設備與串口終端之間的服務器,圖1為串 口服務器、遠端網(wǎng)絡設備及串口終端之間的連接結(jié)構(gòu)示意圖。串口服務器通過串口1和串 口 2分別連接第一串口終端和第二串口終端,并采用TCP連接的方式連接遠端網(wǎng)絡設備,圖 1中只示出了一個遠端網(wǎng)絡設備,串口服務器可W通過多條TCP連接,連接多個遠端網(wǎng)絡設 備。串口服務器通過軟件的方式完成W太網(wǎng)數(shù)據(jù)與串口數(shù)據(jù)之間的協(xié)議轉(zhuǎn)換,通過串口服 務器既擴展了設備的布局范圍,又使串口數(shù)據(jù)的管理更加的靈活和方便。
[0003] 串口服務器可W實現(xiàn)串口與網(wǎng)絡接口之間的轉(zhuǎn)換,其能夠?qū)崿F(xiàn)RS-232、RS-485 W 及RS-422串口與TCP/IP網(wǎng)絡接口的轉(zhuǎn)換,從而實現(xiàn)RS-232、RS-485、RS-422串口數(shù)據(jù)與 TCP^P網(wǎng)絡接口數(shù)據(jù)的雙向透明傳輸。
[0004] 另外,串口服務器可W在TCP/UDP模式下工作,在該模式下,串口服務器作為 server端,遠端網(wǎng)絡設備作為client端,兩者之間通過IP地址與端口號建立連接,從而實 現(xiàn)數(shù)據(jù)的雙向透明傳輸。
[0005] 在基于串口服務器進行通信時,與串口服務器連接的遠端網(wǎng)絡設備是不確定的, 當串口終端為被動設備,并且串口設備發(fā)送的數(shù)據(jù)中不包含起始和終止標識,當遠端網(wǎng)絡 設備與串口終端進行通信時,串口服務器會把收到的多個連續(xù)的應答分為多個IP包發(fā)送 給遠端網(wǎng)絡設備,遠端網(wǎng)絡設備需要將多個IP包進行重組,當遠端網(wǎng)絡設備為低端網(wǎng)絡設 備時,該低端網(wǎng)絡設備可能無法重組該多個IP包,即使能夠重組也將消耗遠端網(wǎng)絡設備的 大量資源,從而影響遠端網(wǎng)絡設備的工作效率。
【發(fā)明內(nèi)容】
[0006] 鑒于上述問題,提出了本發(fā)明W便提供一種克服上述問題或者至少部分地解決上 述問題的一種基于串口服務器的數(shù)據(jù)傳輸方法及裝置。
[0007] 本發(fā)明實施例提供了一種基于串口服務器的數(shù)據(jù)傳輸方法,該方法包括:
[000引串口服務器接收串口終端發(fā)送的數(shù)據(jù)包,緩存所述數(shù)據(jù)包并啟動定時器;
[0009] 判斷在定時器的定時時長內(nèi),是否接收到該串口終端發(fā)送的其他數(shù)據(jù)包;
[0010] 當接收到其他數(shù)據(jù)包時,緩存所述其他數(shù)據(jù)包并重新啟動定時器,否則,將緩存的 每個數(shù)據(jù)包重組后發(fā)送給第一遠端網(wǎng)絡設備。
[0011] 為了有效的提高數(shù)據(jù)傳輸?shù)木?,在本發(fā)明實施例中所述將緩存的每個數(shù)據(jù)包重 組后發(fā)送給第一遠端網(wǎng)絡設備包括:
[0012] 所述串口服務器確定在定時器的定時時長內(nèi)未接收到其他數(shù)據(jù)包時,生成超時中 斷;
[0013] 根據(jù)超時中斷,將緩存的每個數(shù)據(jù)包重組后發(fā)送給第一遠端網(wǎng)絡設備。
[0014] 為了有效的提高數(shù)據(jù)傳輸?shù)臏蚀_性,降低遠端網(wǎng)絡設備的配置要求,所述將緩存 的每個數(shù)據(jù)包重組后發(fā)送給第一遠端網(wǎng)絡設備后,所述方法還包括:
[0015] 串口服務器生成標識報文,標識緩存中的數(shù)據(jù)包是否進行了重組,并將標識報文 發(fā)送給第一遠端網(wǎng)絡設備。
[0016] 為了有效的保證數(shù)據(jù)傳輸?shù)臏蚀_性,在本發(fā)明實施例中確定所述定時器的定時時 長包括:
[0017] 串口服務器根據(jù)接收到的所述串口終端發(fā)送的每個數(shù)據(jù)包,確定相鄰的兩個包間 隙時長;
[0018] 判斷所述相鄰的兩個包間隙時長是否相等;
[0019] 當相鄰的兩個包間隙時長相等時,將所述定時器的定時時長確定為大于所述包間 隙時長;
[0020] 當兩個包間隙時長不相等,且第一個包間隙時長大于第二個包間隙時長時,確定 所述定時器的定時時長大于第二個包間隙時長小于第一個包間隙時長;
[0021] 當兩個包間隙時長不相等,且第一個包間隙時長小于第二個包間隙時長時,確定 所述定時器的定時時長大于第一個包間隙時長小于第二個包間隙時長。
[0022] 為了有效的保證數(shù)據(jù)傳輸?shù)臏蚀_性,在本發(fā)明實施例中確定所述定時器的定時時 長包括:
[0023] 所述串口服務器接收第一遠端網(wǎng)絡設備返回的響應報文,當該響應報文標識重組 后的數(shù)據(jù)包中包含多余信息時,將定時器的定時時長調(diào)整為小于當前的定時時長,當該響 應報文標識重組后的數(shù)據(jù)包包含的信息不完整時,將定時器的定時時長調(diào)整為大于當前的 定時時長。
[0024] 為了有效的保證數(shù)據(jù)傳輸?shù)臏蚀_性,所述方法還包括:
[0025] 所述串口服務器接收所述串口終端發(fā)送的數(shù)據(jù)包,判斷當前所述定時器是否超 時;
[0026] 當當前所述定時器超時時,將所述數(shù)據(jù)包發(fā)送給與其TCP連接的每個遠端網(wǎng)絡設 備。
[0027] 為了有效的保證數(shù)據(jù)傳輸?shù)臏蚀_性,所述方法還包括:
[002引所述串口服務器接收第二遠端網(wǎng)絡設備發(fā)送的請求,判斷當前位于與所述第一遠 端網(wǎng)絡設備對應的定時器的定時時長內(nèi)時,緩存所述請求。
[0029] 本發(fā)明實施例提供了一種基于串口服務器的數(shù)據(jù)傳輸裝置,所述裝置包括:
[0030] 接收緩存模塊,用于接收串口終端發(fā)送的數(shù)據(jù)包,緩存所述數(shù)據(jù)包并啟動定時 器;
[0031] 判斷模塊,用于判斷在定時器的定時時長內(nèi),是否接收到該串口終端發(fā)送的其他 數(shù)據(jù)包;
[0032] 緩存發(fā)送模塊,用于當判斷模塊判斷接收到其他數(shù)據(jù)包時,緩存所述其他數(shù)據(jù)包 并重新啟動定時器,否則,將緩存的每個數(shù)據(jù)包重組后發(fā)送給第一遠端網(wǎng)絡設備。
[0033] 為了有效的提高數(shù)據(jù)傳輸?shù)木龋诒景l(fā)明實施例中所述緩存發(fā)送模塊,具體用 于確定在定時器的定時時長內(nèi)未接收到其他數(shù)據(jù)包時,生成超時中斷;根據(jù)超時中斷,將緩 存中的每個數(shù)據(jù)包重組后發(fā)送給第一遠端網(wǎng)絡設備。
[0034] 為了有效的提高數(shù)據(jù)傳輸?shù)臏蚀_性,降低遠端網(wǎng)絡設備的配置要求,所述緩存發(fā) 送模塊,還用于生成標識報文,標識緩存中的數(shù)據(jù)包是否進行了重組,并將標識報文發(fā)送給 第一遠端網(wǎng)絡設備。
[0035] 為了有效的保證數(shù)據(jù)傳輸?shù)臏蚀_性,在本發(fā)明實施例中所述裝置還包括:
[0036] 確定模塊,用于根據(jù)接收到的所述串口終端發(fā)送的每個數(shù)據(jù)包,確定相鄰的兩個 包間隙時長;判斷所述相鄰的兩個包間隙時長是否相等;當相鄰的兩個包間隙時長相等 時,將所述定時器的定時時長確定為大于所述包間隙時長;當兩個包間隙時長不相等,且 第一個包間隙時長大于第二個包間隙時長時,確定所述定時器的定時時長大于第二個包間 隙時長小于第一個包間隙時長;當兩個包間隙時長不相等,且第一個包間隙時長小于第二 個包間隙時長時,確定所述定時器的定時時長大于第一個包間隙時長小于第二個包間隙時 長。
[0037] 為了有效的保證數(shù)據(jù)傳輸?shù)臏蚀_性,在本發(fā)明實施例中所述裝置還包括:
[003引所述串口服務器接收第一遠端網(wǎng)絡設備返回的響應報文,當該響應報文標識重組 后的數(shù)據(jù)包中包含多余信息時,將定時器的定時時長調(diào)整為小于當前的定時時長,當該響 應報文標識重組后的數(shù)據(jù)包包含的信息不完整時,將定時器的定時時長調(diào)整為大于當前的 定時時長。
[0039] 為了有效的保證數(shù)據(jù)傳輸?shù)臏蚀_性,所述判斷模塊,還用于當接收到所述串口終 端發(fā)送的數(shù)據(jù)包,判斷當前所述定時器是否超時;
[0040] 所述緩存發(fā)送模塊,還用于當判斷模塊判斷當前所述定時器超時時,將所述數(shù)據(jù) 包發(fā)送給與其TCP連接的每個遠端網(wǎng)絡設備。
[0041] 為了有效的保證數(shù)據(jù)傳輸?shù)臏蚀_性,所述緩存接收模塊,還用于接收第二遠端網(wǎng) 絡設備發(fā)送的請求;
[0042] 所述判斷模塊,還用于判斷是否當前位于與所述第一遠端網(wǎng)絡設備對應的定時器 的定時時長內(nèi);
[0043] 所述緩存發(fā)送模塊,還用于當所述判斷模塊判斷當前位于與所述第一遠端網(wǎng)絡設 備對應的定時器的定時時長內(nèi)時,緩存所述請求。
[0044] 本發(fā)明實施例提供了一種基于串口服務器的數(shù)據(jù)傳輸方法及裝置,該方法中當串 口服務器接收到串口終端發(fā)送的數(shù)據(jù)包后,啟動定時器,判斷在該定時器的定時時長內(nèi),是 否接收到該串口終端發(fā)送的其他數(shù)據(jù)包,當接收到其他數(shù)據(jù)包時,緩存該數(shù)據(jù)包并重啟定 時器,否則,將緩存的每個數(shù)據(jù)包重組后發(fā)送給第一遠端網(wǎng)絡設備。由于在本發(fā)明實施例中 串口服務器接收到串口終端的數(shù)據(jù)包后,啟動定時器,當在定時器時長范圍內(nèi)再次收到數(shù) 據(jù)包時,認為該數(shù)據(jù)包為該串口終端發(fā)送的,將該數(shù)據(jù)包緩存,否則認為該串口終端的數(shù)據(jù) 發(fā)送過程結(jié)束,從而將緩存的數(shù)據(jù)包重組后發(fā)送給遠端網(wǎng)絡設備,實現(xiàn)對緩存中數(shù)據(jù)包的 重組,降低了對遠端網(wǎng)絡設備的配置要求及資源消耗,提高了遠端網(wǎng)絡設備的工作效率。
[0045] 上述說明僅是本發(fā)明技術方案的概述,為了能夠更清楚了解本發(fā)明的技術手段, 而可依照說明書的內(nèi)容予W實施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點能夠 更明顯易懂,W下特舉本發(fā)明的【具體實施方式】。
【專利附圖】
【附圖說明】
[0046] 通過閱讀下文優(yōu)選實施方式的詳細描述,各種其他的優(yōu)點和益處對于本領域普通 技術人員將變得清楚明了。附圖僅用于示出優(yōu)選實施方式的目的,而并不認為是對本發(fā)明 的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:
[0047] 圖1為現(xiàn)有技術提供的串口服務器、遠端網(wǎng)絡設備及串口終端之間的連接結(jié)構(gòu)示 意圖;
[0048] 圖2為本發(fā)明實施例提供的一種基于串口服務器的數(shù)據(jù)傳輸過程;
[0049] 圖3為本發(fā)明實施例提供的一種基于串口服務器的數(shù)據(jù)傳輸?shù)木唧w過程:
[0化0] 圖4為本發(fā)明實施例提供的一種基于串口服務器的數(shù)據(jù)傳輸裝置結(jié)構(gòu)示意圖。
【具體實施方式】
[0051] 為了降低對遠端網(wǎng)絡設備的配置要求及資源消耗,提高遠端網(wǎng)絡設備的工作效 率,本發(fā)明實施例提供了一種基于串口服務器的數(shù)據(jù)傳輸方法及裝置。
[0052] 下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開 的示例性實施例,然而應當理解,可各種形式實現(xiàn)本公開而不應被該里闡述的實施例 所限制。相反,提供該些實施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍 完整的傳達給本領域的技術人員。
[0053] 下面結(jié)合說明附圖,對本發(fā)明實施例進行說明。
[0054] 圖2為本發(fā)明實施例提供的一種基于串口服務器的數(shù)據(jù)傳輸過程,該過程包括W 下步驟:
[0化5] S201 ;串口服務器接收串口終端發(fā)送的數(shù)據(jù)包,緩存所述數(shù)據(jù)包并啟動定時器。
[0化6] 本發(fā)明實施例中串口終端為被動終端,遠端網(wǎng)絡設備通過串口服務器向串口終端 發(fā)送請求,串口終端接收到請求后,向遠端網(wǎng)絡設備返回數(shù)據(jù)包。針對該請求,串口終端可 W向遠端網(wǎng)絡設備返回一個數(shù)據(jù)包,也可W向遠端網(wǎng)絡設備返回幾個數(shù)據(jù)包。
[0化7] 當串口服務器接收到串口終端發(fā)送的數(shù)據(jù)包時,為了保證將該串口終端發(fā)送的數(shù) 據(jù)包重組后發(fā)送給遠端網(wǎng)絡設備,串口服務器緩存該數(shù)據(jù)包并啟動定時器。該定時器可W 是W軟件方式實現(xiàn)的,也可W是W硬件方式實現(xiàn)的。
[0化引 S202 ;判斷在定時器的定時時長內(nèi),是否接收到該串口終端發(fā)送的其他數(shù)據(jù)包,當 判斷結(jié)果為是時,進行步驟S203,否則,進行步驟S204。
[0化9] 串口服務器每個串口連接對應的串口終端,因此串口服務器根據(jù)接收數(shù)據(jù)包的串 口的標識,即可確定是哪個串口終端發(fā)送的數(shù)據(jù)包。
[0060] S203 ;緩存所述其他數(shù)據(jù)包并重新啟動定時器,之后進行步驟S202。
[0061] 串口服務器接收到該串口終端發(fā)送的其他數(shù)據(jù)包后,為了保證能夠?qū)⒌谝贿h端網(wǎng) 絡設備請求的每個數(shù)據(jù)包重組后返回,串口服務器接收到其他數(shù)據(jù)包后,重啟定時器,判斷 在該定時器的定時時長內(nèi)是否還能接收到該串口終端發(fā)送的其他數(shù)據(jù)包。串口服務器為了 保證能夠?qū)⒋诮K端此次回復的每個數(shù)據(jù)包重組,設置的定時器的定時時長應大于串口終 端發(fā)送數(shù)據(jù)包的包間隙長度。
[0062] S204 ;將緩存的每個數(shù)據(jù)包重組后發(fā)送給第一遠端網(wǎng)絡設備。
[0063] 在定時器的定時時長內(nèi)未接收到該串口終端發(fā)送的數(shù)據(jù)包時,可W認為該串口終 端的回復過程結(jié)束,將緩存中的每個數(shù)據(jù)包重組后發(fā)送給第一遠端網(wǎng)絡設備。
[0064] 由于在本發(fā)明實施例中串口服務器接收到串口終端的數(shù)據(jù)包后,啟動定時器,當 在定時器的定時時長范圍內(nèi)再次收到數(shù)據(jù)包時,認為該數(shù)據(jù)包為該串口終端發(fā)送的,將該 數(shù)據(jù)包緩存,否則認為該串口終端的數(shù)據(jù)發(fā)送過程結(jié)束,從而將緩存的數(shù)據(jù)包發(fā)送給遠端 網(wǎng)絡設備,實現(xiàn)對緩存中數(shù)據(jù)包的重組,降低了對遠端網(wǎng)絡設備的配置要求及資源消耗,提 高了遠端網(wǎng)絡設備的工作效率。
[00化]具體的,在本發(fā)明實施例中當串口服務器接收到某一串口終端發(fā)送的數(shù)據(jù)包后, 緩存該數(shù)據(jù)包并啟動定時器,該定時器可W是T3定時器,T3定時器的定時時長可W根據(jù)需 要進行設置。串口服務器判斷在該T3定時器的定時時長內(nèi)是否接收到該串口終端發(fā)送的 其他數(shù)據(jù)包,當接收到該串口終端發(fā)送的其他數(shù)據(jù)包時,緩存該其他數(shù)據(jù)包并重啟定時器, 并繼續(xù)判斷在該定時器的定時時長內(nèi)是否接收到該串口終端發(fā)送的其他數(shù)據(jù)包;當在定時 器的定時時長內(nèi)未接收到串口終端發(fā)送的其他數(shù)據(jù)包時,將緩存的每個數(shù)據(jù)包重組后發(fā)送 給第一遠端網(wǎng)絡設備。
[0066] 在本發(fā)明實施例中為了保證數(shù)據(jù)發(fā)送的完整性及準確性,所述串口服務器接收第 二遠端網(wǎng)絡設備發(fā)送的請求,判斷當前位于與所述第一遠端網(wǎng)絡設備對應的定時器的定時 時長內(nèi)時,緩存所述請求?;蛘?,當該串口服務器接收到第一遠端網(wǎng)絡設備發(fā)送的其他請 求,判斷當前位于與所述第一遠端網(wǎng)絡設備對應的定時器的定時時長內(nèi)時,緩存該其他請 求。
[0067] 為了有效的提高數(shù)據(jù)傳輸?shù)木?,在本發(fā)明實施例中可W基于串口服務器的CPU 巧片集成的串口控制器,生成超時中斷,從而實現(xiàn)軟件與硬件的結(jié)合,實現(xiàn)高精度數(shù)據(jù)收發(fā) 控制。所述將緩存的數(shù)據(jù)包發(fā)送給第一遠端網(wǎng)絡設備包括:
[0068] 所述串口服務器確定在定時器的定時時長內(nèi)未接收到其他數(shù)據(jù)包時,生成超時中 斷;
[0069] 根據(jù)超時中斷,將緩存中的數(shù)據(jù)包發(fā)送給第一遠端網(wǎng)絡設備。
[0070] 串口服務器當檢測到定時器的定時時長到來,但在該定時時長內(nèi)未接收到該串口 終端發(fā)送的其他數(shù)據(jù)包時,串口服務器生成中斷,W告知驅(qū)動器帖結(jié)束需進行數(shù)據(jù)包的重 組。具體的,在串口服務器的操作系統(tǒng)中,串口硬件化ardware)收到數(shù)據(jù)包后,將該數(shù)據(jù)包 緩存在硬件的緩存中,串口驅(qū)動(serial化iver)從硬件的緩存中讀取該數(shù)據(jù)包,將該數(shù)據(jù) 包轉(zhuǎn)存到內(nèi)存中,當生成中斷后,上層的應用程序(a卵lication)從內(nèi)存中讀取數(shù)據(jù)包并 重組,并通過網(wǎng)口將重組后的數(shù)據(jù)包發(fā)送出去。
[0071] 由于串口服務器提供一個超時中斷機制,當產(chǎn)生超時中斷時,串口驅(qū)動從串口硬 件buffer中讀取數(shù)據(jù)包,并將該數(shù)據(jù)包打上標識字段,標識該數(shù)據(jù)包為待重組數(shù)據(jù),并將 該數(shù)據(jù)包轉(zhuǎn)存到內(nèi)存,上層的應用程序在收到中斷后,從內(nèi)存中根據(jù)該標識字段讀取該數(shù) 據(jù)包,并將該數(shù)據(jù)包重組后發(fā)送。
[0072] 具體的,串口驅(qū)動從硬件buffer中讀取該數(shù)據(jù)包,并在該數(shù)據(jù)包的數(shù)據(jù)頭部分添 加一個標識字段,之后將該數(shù)據(jù)包轉(zhuǎn)存到內(nèi)存中。添加標識字段后的該數(shù)據(jù)包的數(shù)據(jù)頭包 括兩部分,一部分為標識字段,該標識字段例如可W為一個字節(jié),例如可W為"#",另一部分 為數(shù)據(jù)長度,該數(shù)據(jù)長度可W占用兩個字節(jié),W標識該數(shù)據(jù)包在數(shù)據(jù)頭之后的數(shù)據(jù)的實際 長度。當應用程序從內(nèi)存中讀取該數(shù)據(jù)包時,首先讀取數(shù)據(jù)頭部分,根據(jù)數(shù)據(jù)頭包含的信息 可w解析出后面數(shù)據(jù)的長度,從而可w獲取相應的數(shù)據(jù)內(nèi)容,從而實現(xiàn)數(shù)據(jù)的重組。
[0073] 串口服務器封裝的數(shù)據(jù)包的格式可W如表1所示:
[0074]
【權(quán)利要求】
1. 一種基于串口服務器的數(shù)據(jù)傳輸方法,其特征在于,該方法包括: 串口服務器接收串口終端發(fā)送的數(shù)據(jù)包,緩存所述數(shù)據(jù)包并啟動定時器; 判斷在定時器的定時時長內(nèi),是否接收到該串口終端發(fā)送的其他數(shù)據(jù)包; 當接收到其他數(shù)據(jù)包時,緩存所述其他數(shù)據(jù)包并重新啟動定時器,否則,將緩存的每個 數(shù)據(jù)包重組后發(fā)送給第一遠端網(wǎng)絡設備。
2. 如權(quán)利要求1所述的方法,其特征在于,所述將緩存的每個數(shù)據(jù)包重組后發(fā)送給第 一遠端網(wǎng)絡設備包括: 所述串口服務器確定在定時器的定時時長內(nèi)未接收到其他數(shù)據(jù)包時,生成超時中斷; 根據(jù)超時中斷,將緩存的每個數(shù)據(jù)包重組后發(fā)送給第一遠端網(wǎng)絡設備。
3. 如權(quán)利要求1或2所述的方法,其特征在于,所述將緩存的每個數(shù)據(jù)包重組后發(fā)送給 第一遠端網(wǎng)絡設備后,所述方法還包括: 串口服務器生成標識報文,標識緩存中的數(shù)據(jù)包是否進行了重組,并將標識報文發(fā)送 給第一遠端網(wǎng)絡設備。
4. 如權(quán)利要求1所述的方法,其特征在于,確定所述定時器的定時時長包括: 串口服務器根據(jù)接收到的所述串口終端發(fā)送的每個數(shù)據(jù)包,確定相鄰的兩個包間隙時 長; 判斷所述相鄰的兩個包間隙時長是否相等; 當相鄰的兩個包間隙時長相等時,將所述定時器的定時時長確定為大于所述包間隙時 長; 當兩個包間隙時長不相等,且第一個包間隙時長大于第二個包間隙時長時,確定所述 定時器的定時時長大于第二個包間隙時長小于第一個包間隙時長; 當兩個包間隙時長不相等,且第一個包間隙時長小于第二個包間隙時長時,確定所述 定時器的定時時長大于第一個包間隙時長小于第二個包間隙時長。
5. 如權(quán)利要求1所述的方法,其特征在于,確定所述定時器的定時時長包括: 所述串口服務器接收第一遠端網(wǎng)絡設備返回的響應報文,當該響應報文標識重組后的 數(shù)據(jù)包中包含多余信息時,將定時器的定時時長調(diào)整為小于當前的定時時長,當該響應報 文標識重組后的數(shù)據(jù)包包含的信息不完整時,將定時器的定時時長調(diào)整為大于當前的定時 時長。
6. 如權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 所述串口服務器接收所述串口終端發(fā)送的數(shù)據(jù)包,判斷當前定時器是否超時; 當當前所述定時器超時時,將所述數(shù)據(jù)包發(fā)送給與其TCP連接的每個遠端網(wǎng)絡設備。
7. 如權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 所述串口服務器接收第二遠端網(wǎng)絡設備發(fā)送的請求,判斷當前位于與所述第一遠端網(wǎng) 絡設備對應的定時器的定時時長內(nèi)時,緩存所述請求。
8. -種基于串口服務器的數(shù)據(jù)傳輸裝置,其特征在于,所述裝置包括: 接收緩存模塊,用于接收串口終端發(fā)送的數(shù)據(jù)包,緩存所述數(shù)據(jù)包并啟動定時器; 判斷模塊,用于判斷在定時器的定時時長內(nèi),是否接收到該串口終端發(fā)送的其他數(shù)據(jù) 包; 緩存發(fā)送模塊,用于當判斷模塊判斷接收到其他數(shù)據(jù)包時,緩存所述其他數(shù)據(jù)包并重 新啟動定時器,否則,將緩存的每個數(shù)據(jù)包重組后發(fā)送給第一遠端網(wǎng)絡設備。
9. 如權(quán)利要求8所述的裝置,其特征在于,所述緩存發(fā)送模塊,具體用于確定在定時器 的定時時長內(nèi)未接收到其他數(shù)據(jù)包時,生成超時中斷;根據(jù)超時中斷,將緩存的每個數(shù)據(jù)包 重組后發(fā)送給第一遠端網(wǎng)絡設備。
10. 如權(quán)利要求8或9所述的裝置,其特征在于,所述緩存發(fā)送模塊,還用于生成標識報 文,標識緩存中的數(shù)據(jù)包是否進行了重組,并將標識報文發(fā)送給第一遠端網(wǎng)絡設備。
11. 如權(quán)利要求8所述的裝置,其特征在于,所述裝置還包括: 確定模塊,用于根據(jù)接收到的所述串口終端發(fā)送的每個數(shù)據(jù)包,確定相鄰的兩個包間 隙時長;判斷所述相鄰的兩個包間隙時長是否相等;當相鄰的兩個包間隙時長相等時,將 所述定時器的定時時長確定為大于所述包間隙時長;當兩個包間隙時長不相等,且第一個 包間隙時長大于第二個包間隙時長時,確定所述定時器的定時時長大于第二個包間隙時長 小于第一個包間隙時長;當兩個包間隙時長不相等,且第一個包間隙時長小于第二個包間 隙時長時,確定所述定時器的定時時長大于第一個包間隙時長小于第二個包間隙時長。
12. 如權(quán)利要求8所述的裝置,其特征在于,所述裝置還包括: 確定模塊,用于接收第一遠端網(wǎng)絡設備返回的響應報文,當該響應報文標識重組后的 數(shù)據(jù)包中包含多余信息時,將定時器的定時時長調(diào)整為小于當前的定時時長,當該響應報 文標識重組后的數(shù)據(jù)包包含的信息不完整時,將定時器的定時時長調(diào)整為大于當前的定時 時長。
13. 如權(quán)利要求8所述的裝置,其特征在于,所述判斷模塊,還用于當接收到所述串口 終端發(fā)送的數(shù)據(jù)包,判斷當前定時器是否超時; 所述緩存發(fā)送模塊,還用于當判斷模塊判斷當前所述定時器超時時,將所述數(shù)據(jù)包發(fā) 送給與其TCP連接的每個遠端網(wǎng)絡設備。
14. 如權(quán)利要求8所述的裝置,其特征在于,所述緩存接收模塊,還用于接收第二遠端 網(wǎng)絡設備發(fā)送的請求; 所述判斷模塊,還用于判斷是否當前位于與所述第一遠端網(wǎng)絡設備對應的定時器的定 時時長內(nèi); 所述緩存發(fā)送模塊,還用于當所述判斷模塊判斷當前位于與所述第一遠端網(wǎng)絡設備對 應的定時器的定時時長內(nèi)時,緩存所述請求。
【文檔編號】H04L12/861GK104486247SQ201410784390
【公開日】2015年4月1日 申請日期:2014年12月16日 優(yōu)先權(quán)日:2014年12月16日
【發(fā)明者】劉昺麟, 尹二飛 申請人:北京東土科技股份有限公司