本發(fā)明涉及鐵路行業(yè)信息化管理領(lǐng)域,尤其涉及以遠(yuǎn)程方式更換機(jī)車無線數(shù)據(jù)傳輸裝置(tsc)軟件的方法和系統(tǒng)。
背景技術(shù):
無線數(shù)據(jù)傳輸裝置(tsc)是列車運(yùn)行狀態(tài)信息(lais)的重要組成部分,負(fù)責(zé)與其他車載設(shè)備進(jìn)行通信,tsc實(shí)時(shí)采集列車運(yùn)行過程中產(chǎn)生的各種信息(如lkj運(yùn)行狀態(tài)信息,包括系統(tǒng)自檢信息、軟件版本信息、速度事件、按鍵信息、機(jī)車條件變化、運(yùn)行狀態(tài)、制動(dòng)試驗(yàn)、數(shù)據(jù)調(diào)用、gps信息、檢修人員/機(jī)車乘務(wù)員輸入、點(diǎn)式信息等內(nèi)容,是行車安全分析的重要依據(jù)),并通過無線通信技術(shù)(gsm/gsm-r/3g/4g)將這些信息發(fā)送至lmd(lkj設(shè)備運(yùn)行監(jiān)測(cè)管理系統(tǒng))地面服務(wù)器,目前在鐵路行業(yè)信息化飛速發(fā)展的大背景下,tsc設(shè)備傳輸多種其他車載設(shè)備數(shù)據(jù)需求也越來越大,tsc設(shè)備獲取其他設(shè)備數(shù)據(jù)以及處理數(shù)據(jù)方式都不相同,隨著需求的增加,tsc軟件也需進(jìn)行相應(yīng)升級(jí),目前升級(jí)tsc軟件方法只有一種,機(jī)車入段后,相關(guān)人員上車通過tsc設(shè)備以太網(wǎng)接口升級(jí)軟件。
現(xiàn)有人工上車升級(jí)軟件方法存在以下缺點(diǎn):
a)如果機(jī)車擔(dān)當(dāng)牽引任務(wù),可能數(shù)天無法回到機(jī)務(wù)段,相關(guān)人員必須等機(jī)車入段后才能上車進(jìn)行軟件升級(jí);
b)路局機(jī)車數(shù)量多,全部機(jī)車tsc完成軟件升級(jí)周期長(zhǎng)。
基于此,為了解決人工上車升級(jí)tsc軟件問題,需要一種遠(yuǎn)程更換無線數(shù)據(jù)傳輸裝置(tsc)軟件的技術(shù)。
技術(shù)實(shí)現(xiàn)要素:
以下給出一個(gè)或多個(gè)方面的簡(jiǎn)要概述以提供對(duì)這些方面的基本理解。此概述不是所有構(gòu)想到的方面的詳盡綜覽,并且既非旨在指認(rèn)出所有方面的關(guān)鍵性或決定性要素亦非試圖界定任何或所有方面的范圍。其唯一的目的是要以簡(jiǎn)化形式給出一個(gè)或多個(gè)方面的一些概念以為稍后給出的更加詳細(xì)的描述之序。
本發(fā)明的目的在于解決上述問題,提供了一種遠(yuǎn)程更換機(jī)車無線數(shù)據(jù)傳輸裝置軟件的方法和系統(tǒng),提高了tsc軟件更換的便利程度和效率。
本發(fā)明的技術(shù)方案為:本發(fā)明揭示了一種遠(yuǎn)程更換機(jī)車無線數(shù)據(jù)傳輸裝置軟件的方法,包括:
機(jī)車上的無線數(shù)據(jù)傳輸裝置和地面的文件服務(wù)器建立通信連接;
在建立通信連接之后無線數(shù)據(jù)傳輸裝置和文件服務(wù)器之間通過互相發(fā)送心跳包維持通信鏈路;
地面的客戶端通過文件服務(wù)器,向在線的需要更換裝置軟件的機(jī)車進(jìn)行軟件更新文件的傳輸,在完成文件傳輸后對(duì)無線數(shù)據(jù)傳輸裝置實(shí)時(shí)軟件更換。
根據(jù)本發(fā)明的遠(yuǎn)程更換機(jī)車無線數(shù)據(jù)傳輸裝置軟件的方法的一實(shí)施例,在軟件更新文件的傳輸過程中,采用斷點(diǎn)續(xù)傳方式分塊向文件服務(wù)器請(qǐng)求上傳文件數(shù)據(jù),以使在傳輸過程被迫中斷而后恢復(fù)傳輸?shù)那闆r下可以從文件斷點(diǎn)處繼續(xù)進(jìn)行上傳直至所有的分塊均已上傳至無線數(shù)據(jù)傳輸裝置中。
根據(jù)本發(fā)明的遠(yuǎn)程更換機(jī)車無線數(shù)據(jù)傳輸裝置軟件的方法的一實(shí)施例,在完成文件傳輸后進(jìn)行md5校驗(yàn)以確保傳輸數(shù)據(jù)無誤。
根據(jù)本發(fā)明的遠(yuǎn)程更換機(jī)車無線數(shù)據(jù)傳輸裝置軟件的方法的一實(shí)施例,在無線數(shù)據(jù)傳輸裝置和文件服務(wù)器建立通信連接的過程中,無線數(shù)據(jù)傳輸裝置向文件服務(wù)器發(fā)送連接請(qǐng)求,文件服務(wù)器接受連接請(qǐng)求,并將無線數(shù)據(jù)傳輸裝置對(duì)應(yīng)的機(jī)車加入到在線機(jī)車列表中,在線機(jī)車列表中的信息包括機(jī)車型號(hào)、機(jī)車號(hào)、ab節(jié)、機(jī)車ip地址、通信端口的信息。
根據(jù)本發(fā)明的遠(yuǎn)程更換機(jī)車無線數(shù)據(jù)傳輸裝置軟件的方法的一實(shí)施例,通過互相發(fā)送心跳包維持通信鏈路的過程進(jìn)一步包括:
文件服務(wù)器如果在設(shè)定時(shí)間內(nèi)沒有收到無線數(shù)據(jù)傳輸裝置的任何數(shù)據(jù),則認(rèn)為通信鏈路已經(jīng)斷開,將斷開的無線數(shù)據(jù)傳輸裝置對(duì)應(yīng)的機(jī)車從在線機(jī)車列表中刪除;
無線數(shù)據(jù)傳輸裝置如果在設(shè)定時(shí)間內(nèi)沒有收到文件服務(wù)器的任何數(shù)據(jù),則認(rèn)為通信鏈路已經(jīng)斷開,無線數(shù)據(jù)傳輸裝置重新嘗試與文件服務(wù)器建立通信連接。
根據(jù)本發(fā)明的遠(yuǎn)程更換機(jī)車無線數(shù)據(jù)傳輸裝置軟件的方法的一實(shí)施例,客戶端向機(jī)車進(jìn)行軟件更新文件的傳輸過程進(jìn)一步包括:
客戶端先從文件服務(wù)器查找需要進(jìn)行裝置軟件更換的機(jī)車是否在文件服務(wù)器的在線機(jī)車列表中,若機(jī)車不在線則先將軟件更新文件傳送至文件服務(wù)器,并將上傳命令緩存,等待機(jī)車在線時(shí)再進(jìn)行上傳;
如果機(jī)車在線則客戶端向無線數(shù)據(jù)傳輸裝置發(fā)送啟動(dòng)傳輸請(qǐng)求命令,傳輸請(qǐng)求命令中包含文件名、文件大小、md5校驗(yàn)信息,傳輸請(qǐng)求命令通過文件服務(wù)器轉(zhuǎn)發(fā)到無線數(shù)據(jù)傳輸裝置;
無線數(shù)據(jù)傳輸裝置收到來自地面的傳輸請(qǐng)求命令后回送啟動(dòng)傳輸應(yīng)答包并開始文件數(shù)據(jù)的傳輸,無線數(shù)據(jù)傳輸裝置通過傳輸請(qǐng)求命令中包含的文件名、文件大小信息判斷文件內(nèi)容之前是否已經(jīng)接收完成以便斷點(diǎn)續(xù)傳,如果未接收完成則記錄當(dāng)前已經(jīng)接收文件大小,如果從未接收過該文件則記錄當(dāng)前已經(jīng)接收文件大小值為0;
如果文件服務(wù)器未接收到應(yīng)答包則返回由客戶端向在線機(jī)車的無線數(shù)據(jù)傳輸裝置重新發(fā)送啟動(dòng)傳輸請(qǐng)求命令的步驟,如果文件服務(wù)器接收到應(yīng)答包則開始文件數(shù)據(jù)的傳輸;
文件服務(wù)器根據(jù)無線數(shù)據(jù)傳輸裝置請(qǐng)求的文件塊信息回應(yīng)文件內(nèi)容,并將上傳進(jìn)度告知客戶端,客戶端由此可知文件當(dāng)前上傳進(jìn)度;
無線數(shù)據(jù)傳輸裝置接收到文件內(nèi)容后更新已接收文件大小和剩余文件大小,如果整個(gè)文件未完全接收完成則繼續(xù)斷點(diǎn)續(xù)傳,如果接收全部完成則進(jìn)行后續(xù)的md5校驗(yàn)。
根據(jù)本發(fā)明的遠(yuǎn)程更換機(jī)車無線數(shù)據(jù)傳輸裝置軟件的方法的一實(shí)施例,md5校驗(yàn)過程包括:
無線數(shù)據(jù)傳輸裝置在md5校驗(yàn)成功后回應(yīng)地面接收完成應(yīng)答包以表示文件傳輸成功,如果md5校驗(yàn)失敗則回應(yīng)地面校驗(yàn)錯(cuò)誤應(yīng)答包并返回?zé)o線數(shù)據(jù)傳輸裝置重新嘗試與文件服務(wù)器建立通信連接的步驟。
本發(fā)明還揭示了一種遠(yuǎn)程更換機(jī)車無線數(shù)據(jù)傳輸裝置軟件的系統(tǒng),包括機(jī)車上的無線數(shù)據(jù)傳輸裝置、地面上的文件服務(wù)器和客戶端、以及計(jì)算機(jī)程序,計(jì)算機(jī)程序被執(zhí)行后控制無線數(shù)據(jù)傳輸裝置、客戶端和文件服務(wù)器實(shí)施以下的步驟:
無線數(shù)據(jù)傳輸裝置和文件服務(wù)器建立通信連接;
在建立通信連接之后無線數(shù)據(jù)傳輸裝置和文件服務(wù)器之間通過互相發(fā)送心跳包維持通信鏈路;
客戶端通過文件服務(wù)器,向在線的需要更換裝置軟件的機(jī)車進(jìn)行軟件更新文件的傳輸,在完成文件傳輸后對(duì)無線數(shù)據(jù)傳輸裝置實(shí)時(shí)軟件更換。
根據(jù)本發(fā)明的遠(yuǎn)程更換機(jī)車無線數(shù)據(jù)傳輸裝置軟件的系統(tǒng)的一實(shí)施例,在軟件更新文件的傳輸過程中,采用斷點(diǎn)續(xù)傳方式分塊向文件服務(wù)器請(qǐng)求上傳文件數(shù)據(jù),以使在傳輸過程被迫中斷而后恢復(fù)傳輸?shù)那闆r下可以從文件斷點(diǎn)處繼續(xù)進(jìn)行上傳直至所有的分塊均已上傳至無線數(shù)據(jù)傳輸裝置中。
根據(jù)本發(fā)明的遠(yuǎn)程更換機(jī)車無線數(shù)據(jù)傳輸裝置軟件的系統(tǒng)的一實(shí)施例,在完成文件傳輸后進(jìn)行md5校驗(yàn)以確保傳輸數(shù)據(jù)無誤。
根據(jù)本發(fā)明的遠(yuǎn)程更換機(jī)車無線數(shù)據(jù)傳輸裝置軟件的系統(tǒng)的一實(shí)施例,在無線數(shù)據(jù)傳輸裝置和文件服務(wù)器建立通信連接的過程中,無線數(shù)據(jù)傳輸裝置向文件服務(wù)器發(fā)送連接請(qǐng)求,文件服務(wù)器接受連接請(qǐng)求,并將無線數(shù)據(jù)傳輸裝置對(duì)應(yīng)的機(jī)車加入到在線機(jī)車列表中,在線機(jī)車列表中的信息包括機(jī)車型號(hào)、機(jī)車號(hào)、ab節(jié)、機(jī)車ip地址、通信端口的信息。
根據(jù)本發(fā)明的遠(yuǎn)程更換機(jī)車無線數(shù)據(jù)傳輸裝置軟件的系統(tǒng)的一實(shí)施例,通過互相發(fā)送心跳包維持通信鏈路的過程進(jìn)一步包括:
文件服務(wù)器如果在設(shè)定時(shí)間內(nèi)沒有收到無線數(shù)據(jù)傳輸裝置的任何數(shù)據(jù),則認(rèn)為通信鏈路已經(jīng)斷開,將斷開的無線數(shù)據(jù)傳輸裝置對(duì)應(yīng)的機(jī)車從在線機(jī)車列表中刪除;
無線數(shù)據(jù)傳輸裝置如果在設(shè)定時(shí)間內(nèi)沒有收到文件服務(wù)器的任何數(shù)據(jù),則認(rèn)為通信鏈路已經(jīng)斷開,無線數(shù)據(jù)傳輸裝置重新嘗試與文件服務(wù)器建立通信連接。
根據(jù)本發(fā)明的遠(yuǎn)程更換機(jī)車無線數(shù)據(jù)傳輸裝置軟件的系統(tǒng)的一實(shí)施例,客戶端向機(jī)車進(jìn)行軟件更新文件的傳輸過程進(jìn)一步包括:
客戶端先從文件服務(wù)器查找需要進(jìn)行裝置軟件更換的機(jī)車是否在文件服務(wù)器的在線機(jī)車列表中,若機(jī)車不在線則先將軟件更新文件傳送至文件服務(wù)器,并將上傳命令緩存,等待機(jī)車在線時(shí)再進(jìn)行上傳;
如果機(jī)車在線則客戶端向無線數(shù)據(jù)傳輸裝置發(fā)送啟動(dòng)傳輸請(qǐng)求命令,傳輸請(qǐng)求命令中包含文件名、文件大小、md5校驗(yàn)信息,傳輸請(qǐng)求命令通過文件服務(wù)器轉(zhuǎn)發(fā)到無線數(shù)據(jù)傳輸裝置;
無線數(shù)據(jù)傳輸裝置收到來自地面的傳輸請(qǐng)求命令后回送啟動(dòng)傳輸應(yīng)答包并開始文件數(shù)據(jù)的傳輸,無線數(shù)據(jù)傳輸裝置通過傳輸請(qǐng)求命令中包含的文件名、文件大小信息判斷文件內(nèi)容之前是否已經(jīng)接收完成以便斷點(diǎn)續(xù)傳,如果未接收完成則記錄當(dāng)前已經(jīng)接收文件大小,如果從未接收過該文件則記錄當(dāng)前已經(jīng)接收文件大小值為0;
如果文件服務(wù)器未接收到應(yīng)答包則返回由客戶端向在線機(jī)車的無線數(shù)據(jù)傳輸裝置重新發(fā)送啟動(dòng)傳輸請(qǐng)求命令的步驟,如果文件服務(wù)器接收到應(yīng)答包則開始文件數(shù)據(jù)的傳輸;
文件服務(wù)器根據(jù)無線數(shù)據(jù)傳輸裝置請(qǐng)求的文件塊信息回應(yīng)文件內(nèi)容,并將上傳進(jìn)度告知客戶端,客戶端由此可知文件當(dāng)前上傳進(jìn)度;
無線數(shù)據(jù)傳輸裝置接收到文件內(nèi)容后更新已接收文件大小和剩余文件大小,如果整個(gè)文件未完全接收完成則繼續(xù)斷點(diǎn)續(xù)傳,如果接收全部完成則進(jìn)行后續(xù)的md5校驗(yàn)。
根據(jù)本發(fā)明的遠(yuǎn)程更換機(jī)車無線數(shù)據(jù)傳輸裝置軟件的系統(tǒng)的一實(shí)施例,md5校驗(yàn)過程包括:
無線數(shù)據(jù)傳輸裝置在md5校驗(yàn)成功后回應(yīng)地面接收完成應(yīng)答包以表示文件傳輸成功,如果md5校驗(yàn)失敗則回應(yīng)地面校驗(yàn)錯(cuò)誤應(yīng)答包并返回?zé)o線數(shù)據(jù)傳輸裝置重新嘗試與文件服務(wù)器建立通信連接的步驟。
本發(fā)明對(duì)比現(xiàn)有技術(shù)有如下的有益效果:
a)本發(fā)明利用無線通信技術(shù)(gsm/gsm-r/3g/4g),通過tsc設(shè)備與地面文件服務(wù)器數(shù)據(jù)交互,實(shí)現(xiàn)遠(yuǎn)程上傳更換軟件,不僅大大的節(jié)省了人力資源,而且有效的提高了工作效率;
b)本發(fā)明在遠(yuǎn)程更換軟件過程中采用斷點(diǎn)續(xù)傳方式,分塊向文件服務(wù)器請(qǐng)求文件數(shù)據(jù)內(nèi)容方法,即使在網(wǎng)絡(luò)中斷后重新恢復(fù)網(wǎng)絡(luò)情況下,也無需從頭開始重新上傳文件,只需從文件斷點(diǎn)處開始上傳文件;
c)本發(fā)明在文件塊全部接收完成后采用md5校驗(yàn)方式,確保在無線網(wǎng)絡(luò)不穩(wěn)定情況下,文件仍然可以穩(wěn)定可靠的上傳至tsc設(shè)備。
附圖說明
在結(jié)合以下附圖閱讀本公開的實(shí)施例的詳細(xì)描述之后,能夠更好地理解本發(fā)明的上述特征和優(yōu)點(diǎn)。在附圖中,各組件不一定是按比例繪制,并且具有類似的相關(guān)特性或特征的組件可能具有相同或相近的附圖標(biāo)記。
圖1示出了本發(fā)明的遠(yuǎn)程更換機(jī)車無線數(shù)據(jù)傳輸裝置軟件的系統(tǒng)的原理示意圖。
圖2示出了本發(fā)明的遠(yuǎn)程更換機(jī)車無線數(shù)據(jù)傳輸裝置軟件的方法的流程圖。
具體實(shí)施方式
以下結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明作詳細(xì)描述。注意,以下結(jié)合附圖和具體實(shí)施例描述的諸方面僅是示例性的,而不應(yīng)被理解為對(duì)本發(fā)明的保護(hù)范圍進(jìn)行任何限制。
圖1示出了本發(fā)明的遠(yuǎn)程更換機(jī)車無線數(shù)據(jù)傳輸裝置軟件的系統(tǒng)的原理架構(gòu)。請(qǐng)參見圖1,本實(shí)施例的系統(tǒng)包括:機(jī)車上的無線數(shù)據(jù)傳輸裝置(tsc)、地面上的文件服務(wù)器和客戶端、以及計(jì)算機(jī)程序。通過執(zhí)行計(jì)算機(jī)程序,控制無線數(shù)據(jù)傳輸裝置、客戶端和文件服務(wù)器實(shí)施如圖2所示的步驟。執(zhí)行程序?qū)嵤┑娜齻€(gè)步驟具體為:第一步,無線數(shù)據(jù)傳輸裝置和文件服務(wù)器建立通信連接;第二步,在建立通信連接之后無線數(shù)據(jù)傳輸裝置和文件服務(wù)器之間通過互相發(fā)送心跳包維持通信鏈路;第三步,客戶端通過文件服務(wù)器,向在線的需要更換裝置軟件的機(jī)車進(jìn)行軟件更新文件的傳輸,在完成文件傳輸后對(duì)無線數(shù)據(jù)傳輸裝置實(shí)時(shí)軟件更換。
結(jié)合圖2,對(duì)于第一步,文件服務(wù)器作為服務(wù)端等待機(jī)車上的無線數(shù)據(jù)傳輸裝置(以下稱為tsc)連接。tsc通過gsm/3g/4g撥號(hào)進(jìn)入互聯(lián)網(wǎng),或者通過鐵路專用移動(dòng)通信網(wǎng)絡(luò)gsm-r撥號(hào)進(jìn)入鐵路內(nèi)網(wǎng),撥號(hào)成功后向地面的文件服務(wù)器發(fā)送連接請(qǐng)求。文件服務(wù)器接受tsc連接請(qǐng)求,并將該tsc對(duì)應(yīng)的機(jī)車加入到在線機(jī)車列表中,在線機(jī)車列表信息包括機(jī)車型號(hào)、機(jī)車號(hào)、ab節(jié)、機(jī)車ip地址、通信端口等信息。
對(duì)于第二步,連接請(qǐng)求接受后tsc與文件服務(wù)器通過互相發(fā)送心跳包維持通信鏈路。文件服務(wù)器如果在指定的時(shí)間內(nèi)(例如30秒)沒有收到tsc的任何數(shù)據(jù),則認(rèn)為通信鏈路已經(jīng)斷開,將該tsc對(duì)應(yīng)的機(jī)車從在線機(jī)車列表中刪除。tsc如果在指定的時(shí)間內(nèi)沒有收到文件服務(wù)器的任何數(shù)據(jù),則認(rèn)為通信鏈路已經(jīng)斷開,則返回重新進(jìn)行撥號(hào)。
對(duì)于第三步,當(dāng)需要給某輛機(jī)車tsc進(jìn)行軟件升級(jí)時(shí),客戶端從文件服務(wù)器查找該機(jī)車是否在線(即該機(jī)車是否在文件服務(wù)器的在線機(jī)車列表中),如果機(jī)車不在線則先將tsc軟件升級(jí)包傳送至文件服務(wù)器,并將上傳命令緩存,等機(jī)車在線時(shí)再進(jìn)行上傳。
如果機(jī)車在線,則客戶端向tsc發(fā)送啟動(dòng)傳輸請(qǐng)求命令,傳輸請(qǐng)求命令中包含文件名、文件大小、md5校驗(yàn)等信息,傳輸請(qǐng)求命令通過文件服務(wù)器轉(zhuǎn)發(fā)到tsc。
tsc收到地面啟動(dòng)傳輸請(qǐng)求命令,則回送啟動(dòng)傳輸應(yīng)答包,進(jìn)入到文件數(shù)據(jù)傳輸階段,tsc通過啟動(dòng)傳輸請(qǐng)求中的文件名、文件大小等信息判斷文件內(nèi)容之前是否接收完成,以便斷點(diǎn)續(xù)傳,如果未接收完成,記錄下當(dāng)前已經(jīng)接收文件大小,如果從未接收過該文件則記錄當(dāng)前已經(jīng)接收文件大小值為0。
如果文件服務(wù)器未接收到應(yīng)答包,則返回到客戶端向在線機(jī)車的tsc發(fā)送啟動(dòng)傳輸請(qǐng)求命令的步驟,如果接收到應(yīng)答包,則進(jìn)入文件數(shù)據(jù)傳輸階段。
在傳輸階段,為了解決網(wǎng)絡(luò)不穩(wěn)定而導(dǎo)致文件傳輸中斷需要重頭開始傳輸?shù)膯栴},本發(fā)明采用斷點(diǎn)續(xù)傳的方式。即,根據(jù)已接收文件大小和剩余文件大小,將文件長(zhǎng)度按照固定長(zhǎng)度劃分成n塊,從文件斷點(diǎn)處開始分n次向文件服務(wù)器請(qǐng)求文件數(shù)據(jù)內(nèi)容。如果當(dāng)前機(jī)車tsc和地面文件服務(wù)器通信鏈路斷開(比如進(jìn)入隧道無信號(hào)的時(shí)候),tsc和文件服務(wù)器等待接收數(shù)據(jù)超時(shí)退出當(dāng)前文件數(shù)據(jù)傳輸階段,重新返回之前的tsc撥號(hào)與文件服務(wù)器建立通信連接的步驟。
文件服務(wù)器根據(jù)tsc請(qǐng)求的文件塊信息回應(yīng)文件內(nèi)容,并將上傳進(jìn)度告知客戶端,客戶端由此可知文件當(dāng)前上傳進(jìn)度。tsc接收到文件內(nèi)容,更新已接收文件大小和剩余文件大小,如果整個(gè)文件未完全接收完成則繼續(xù)用斷點(diǎn)續(xù)傳的方式進(jìn)行傳輸,如果接收完成則進(jìn)行傳輸校驗(yàn)(md5校驗(yàn),md5是信息摘要算法5,具有較好的安全性,廣泛運(yùn)用于數(shù)字簽名、文件完整性驗(yàn)證以及口令加密等領(lǐng)域)以確保傳輸數(shù)據(jù)無誤。若校驗(yàn)成功則回應(yīng)地面接收完成應(yīng)答包,文件傳輸結(jié)束;若校驗(yàn)失敗則回應(yīng)地面校驗(yàn)錯(cuò)誤應(yīng)答包,重新返回之前的tsc撥號(hào)與文件服務(wù)器建立通信連接的步驟。
在圖2中,左邊是機(jī)車tsc中的軟件運(yùn)行流程,右邊是地面文件服務(wù)器中的軟件運(yùn)行流程,其中的虛線表示tsc和文件服務(wù)器之間的交互。
除了上述的系統(tǒng)說明之外,本發(fā)明還公開了基于該系統(tǒng)實(shí)現(xiàn)的遠(yuǎn)程更換機(jī)車無線數(shù)據(jù)傳輸裝置軟件的方法的實(shí)施例。本實(shí)施例的方法主要包括三個(gè)步驟,依次是:
第一步,機(jī)車上的無線數(shù)據(jù)傳輸裝置和地面的文件服務(wù)器建立通信連接。
第二步,在建立通信連接之后無線數(shù)據(jù)傳輸裝置和文件服務(wù)器之間通過互相發(fā)送心跳包維持通信鏈路。
第三步,地面的客戶端通過文件服務(wù)器,向在線的需要更換裝置軟件的機(jī)車進(jìn)行軟件更新文件的傳輸,在完成文件傳輸后對(duì)無線數(shù)據(jù)傳輸裝置實(shí)時(shí)軟件更換。
結(jié)合圖2對(duì)上述三個(gè)步驟進(jìn)行細(xì)化的說明。
對(duì)于第一步,文件服務(wù)器作為服務(wù)端等待機(jī)車上的無線數(shù)據(jù)傳輸裝置(以下稱為tsc)連接。tsc通過gsm/3g/4g撥號(hào)進(jìn)入互聯(lián)網(wǎng),或者通過鐵路專用移動(dòng)通信網(wǎng)絡(luò)gsm-r撥號(hào)進(jìn)入鐵路內(nèi)網(wǎng),撥號(hào)成功后向地面的文件服務(wù)器發(fā)送連接請(qǐng)求。文件服務(wù)器接受tsc連接請(qǐng)求,并將該tsc對(duì)應(yīng)的機(jī)車加入到在線機(jī)車列表中,在線機(jī)車列表信息包括機(jī)車型號(hào)、機(jī)車號(hào)、ab節(jié)、機(jī)車ip地址、通信端口等信息。
對(duì)于第二步,連接請(qǐng)求接受后tsc與文件服務(wù)器通過互相發(fā)送心跳包維持通信鏈路。文件服務(wù)器如果在指定的時(shí)間內(nèi)(例如30秒)沒有收到tsc的任何數(shù)據(jù),則認(rèn)為通信鏈路已經(jīng)斷開,將該tsc對(duì)應(yīng)的機(jī)車從在線機(jī)車列表中刪除。tsc如果在指定的時(shí)間內(nèi)沒有收到文件服務(wù)器的任何數(shù)據(jù),則認(rèn)為通信鏈路已經(jīng)斷開,則返回重新進(jìn)行撥號(hào)。
對(duì)于第三步,當(dāng)需要給某輛機(jī)車tsc進(jìn)行軟件升級(jí)時(shí),客戶端從文件服務(wù)器查找該機(jī)車是否在線(即該機(jī)車是否在文件服務(wù)器的在線機(jī)車列表中),如果機(jī)車不在線則先將tsc軟件升級(jí)包傳送至文件服務(wù)器,并將上傳命令緩存,等機(jī)車在線時(shí)再進(jìn)行上傳。
如果機(jī)車在線,則客戶端向tsc發(fā)送啟動(dòng)傳輸請(qǐng)求命令,傳輸請(qǐng)求命令中包含文件名、文件大小、md5校驗(yàn)等信息,傳輸請(qǐng)求命令通過文件服務(wù)器轉(zhuǎn)發(fā)到tsc。
tsc收到地面啟動(dòng)傳輸請(qǐng)求命令,則回送啟動(dòng)傳輸應(yīng)答包,進(jìn)入到文件數(shù)據(jù)傳輸階段,tsc通過啟動(dòng)傳輸請(qǐng)求中的文件名、文件大小等信息判斷文件內(nèi)容之前是否接收完成,以便斷點(diǎn)續(xù)傳,如果未接收完成,記錄下當(dāng)前已經(jīng)接收文件大小,如果從未接收過該文件則記錄當(dāng)前已經(jīng)接收文件大小值為0。
如果文件服務(wù)器未接收到應(yīng)答包,則返回到客戶端向在線機(jī)車的tsc發(fā)送啟動(dòng)傳輸請(qǐng)求命令的步驟,如果接收到應(yīng)答包,則進(jìn)入文件數(shù)據(jù)傳輸階段。
在傳輸階段,為了解決網(wǎng)絡(luò)不穩(wěn)定而導(dǎo)致文件傳輸中斷需要重頭開始傳輸?shù)膯栴},本發(fā)明采用斷點(diǎn)續(xù)傳的方式。即,根據(jù)已接收文件大小和剩余文件大小,將文件長(zhǎng)度按照固定長(zhǎng)度劃分成n塊,從文件斷點(diǎn)處開始分n次向文件服務(wù)器請(qǐng)求文件數(shù)據(jù)內(nèi)容。如果當(dāng)前機(jī)車tsc和地面文件服務(wù)器通信鏈路斷開(比如進(jìn)入隧道無信號(hào)的時(shí)候),tsc和文件服務(wù)器等待接收數(shù)據(jù)超時(shí)退出當(dāng)前文件數(shù)據(jù)傳輸階段,重新返回之前的tsc撥號(hào)與文件服務(wù)器建立通信連接的步驟。
文件服務(wù)器根據(jù)tsc請(qǐng)求的文件塊信息回應(yīng)文件內(nèi)容,并將上傳進(jìn)度告知客戶端,客戶端由此可知文件當(dāng)前上傳進(jìn)度。tsc接收到文件內(nèi)容,更新已接收文件大小和剩余文件大小,如果整個(gè)文件未完全接收完成則繼續(xù)用斷點(diǎn)續(xù)傳的方式進(jìn)行傳輸,如果接收完成則進(jìn)行傳輸校驗(yàn)(md5校驗(yàn))以確保傳輸數(shù)據(jù)無誤。若校驗(yàn)成功則回應(yīng)地面接收完成應(yīng)答包,文件傳輸結(jié)束;若校驗(yàn)失敗則回應(yīng)地面校驗(yàn)錯(cuò)誤應(yīng)答包,重新返回之前的tsc撥號(hào)與文件服務(wù)器建立通信連接的步驟。
盡管為使解釋簡(jiǎn)單化將上述方法圖示并描述為一系列動(dòng)作,但是應(yīng)理解并領(lǐng)會(huì),這些方法不受動(dòng)作的次序所限,因?yàn)楦鶕?jù)一個(gè)或多個(gè)實(shí)施例,一些動(dòng)作可按不同次序發(fā)生和/或與來自本文中圖示和描述或本文中未圖示和描述但本領(lǐng)域技術(shù)人員可以理解的其他動(dòng)作并發(fā)地發(fā)生。
本領(lǐng)域技術(shù)人員將進(jìn)一步領(lǐng)會(huì),結(jié)合本文中所公開的實(shí)施例來描述的各種解說性邏輯板塊、模塊、電路、和算法步驟可實(shí)現(xiàn)為電子硬件、計(jì)算機(jī)軟件、或這兩者的組合。為清楚地解說硬件與軟件的這一可互換性,各種解說性組件、框、模塊、電路、和步驟在上面是以其功能性的形式作一般化描述的。此類功能性是被實(shí)現(xiàn)為硬件還是軟件取決于具體應(yīng)用和施加于整體系統(tǒng)的設(shè)計(jì)約束。技術(shù)人員對(duì)于每種特定應(yīng)用可用不同的方式來實(shí)現(xiàn)所描述的功能性,但這樣的實(shí)現(xiàn)決策不應(yīng)被解讀成導(dǎo)致脫離了本發(fā)明的范圍。
結(jié)合本文所公開的實(shí)施例描述的各種解說性邏輯板塊、模塊、和電路可用通用處理器、數(shù)字信號(hào)處理器(dsp)、專用集成電路(asic)、現(xiàn)場(chǎng)可編程門陣列(fpga)或其它可編程邏輯器件、分立的門或晶體管邏輯、分立的硬件組件、或其設(shè)計(jì)成執(zhí)行本文所描述功能的任何組合來實(shí)現(xiàn)或執(zhí)行。通用處理器可以是微處理器,但在替換方案中,該處理器可以是任何常規(guī)的處理器、控制器、微控制器、或狀態(tài)機(jī)。處理器還可以被實(shí)現(xiàn)為計(jì)算設(shè)備的組合,例如dsp與微處理器的組合、多個(gè)微處理器、與dsp核心協(xié)作的一個(gè)或多個(gè)微處理器、或任何其他此類配置。
結(jié)合本文中公開的實(shí)施例描述的方法或算法的步驟可直接在硬件中、在由處理器執(zhí)行的軟件模塊中、或在這兩者的組合中體現(xiàn)。軟件模塊可駐留在ram存儲(chǔ)器、閃存、rom存儲(chǔ)器、eprom存儲(chǔ)器、eeprom存儲(chǔ)器、寄存器、硬盤、可移動(dòng)盤、cd-rom、或本領(lǐng)域中所知的任何其他形式的存儲(chǔ)介質(zhì)中。示例性存儲(chǔ)介質(zhì)耦合到處理器以使得該處理器能從/向該存儲(chǔ)介質(zhì)讀取和寫入信息。在替換方案中,存儲(chǔ)介質(zhì)可以被整合到處理器。處理器和存儲(chǔ)介質(zhì)可駐留在asic中。asic可駐留在用戶終端中。在替換方案中,處理器和存儲(chǔ)介質(zhì)可作為分立組件駐留在用戶終端中。
在一個(gè)或多個(gè)示例性實(shí)施例中,所描述的功能可在硬件、軟件、固件或其任何組合中實(shí)現(xiàn)。如果在軟件中實(shí)現(xiàn)為計(jì)算機(jī)程序產(chǎn)品,則各功能可以作為一條或更多條指令或代碼存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上或藉其進(jìn)行傳送。計(jì)算機(jī)可讀介質(zhì)包括計(jì)算機(jī)存儲(chǔ)介質(zhì)和通信介質(zhì)兩者,其包括促成計(jì)算機(jī)程序從一地向另一地轉(zhuǎn)移的任何介質(zhì)。存儲(chǔ)介質(zhì)可以是能被計(jì)算機(jī)訪問的任何可用介質(zhì)。作為示例而非限定,這樣的計(jì)算機(jī)可讀介質(zhì)可包括ram、rom、eeprom、cd-rom或其它光盤存儲(chǔ)、磁盤存儲(chǔ)或其它磁存儲(chǔ)設(shè)備、或能被用來攜帶或存儲(chǔ)指令或數(shù)據(jù)結(jié)構(gòu)形式的合意程序代碼且能被計(jì)算機(jī)訪問的任何其它介質(zhì)。任何連接也被正當(dāng)?shù)胤Q為計(jì)算機(jī)可讀介質(zhì)。例如,如果軟件是使用同軸電纜、光纖電纜、雙絞線、數(shù)字訂戶線(dsl)、或諸如紅外、無線電、以及微波之類的無線技術(shù)從web網(wǎng)站、服務(wù)器、或其它遠(yuǎn)程源傳送而來,則該同軸電纜、光纖電纜、雙絞線、dsl、或諸如紅外、無線電、以及微波之類的無線技術(shù)就被包括在介質(zhì)的定義之中。如本文中所使用的盤(disk)和碟(disc)包括壓縮碟(cd)、激光碟、光碟、數(shù)字多用碟(dvd)、軟盤和藍(lán)光碟,其中盤(disk)往往以磁的方式再現(xiàn)數(shù)據(jù),而碟(disc)用激光以光學(xué)方式再現(xiàn)數(shù)據(jù)。上述的組合也應(yīng)被包括在計(jì)算機(jī)可讀介質(zhì)的范圍內(nèi)。
提供對(duì)本公開的先前描述是為使得本領(lǐng)域任何技術(shù)人員皆能夠制作或使用本公開。對(duì)本公開的各種修改對(duì)本領(lǐng)域技術(shù)人員來說都將是顯而易見的,且本文中所定義的普適原理可被應(yīng)用到其他變體而不會(huì)脫離本公開的精神或范圍。由此,本公開并非旨在被限定于本文中所描述的示例和設(shè)計(jì),而是應(yīng)被授予與本文中所公開的原理和新穎性特征相一致的最廣范圍。