本發(fā)明涉及文件傳輸技術領域,特別涉及一種基于車載設備的文件上傳方法、車載設備、服務器及系統(tǒng)。
背景技術:
目前,車載設備已經(jīng)廣泛用于車聯(lián)網(wǎng)系統(tǒng)中,車聯(lián)網(wǎng)系統(tǒng)中的文件上傳等運用尤為普遍,例如,用戶向電子郵件中上傳附件,向相冊上傳照片,或者向網(wǎng)盤上傳資料等,但同時存在著文件上傳過程中數(shù)據(jù)丟失以及數(shù)據(jù)上傳不穩(wěn)定等問題。
技術實現(xiàn)要素:
本發(fā)明的目的是提出一種基于車載設備的文件上傳方法、車載設備、服務器及系統(tǒng),能有效實現(xiàn)文件上傳,提高傳輸效率以及傳輸?shù)臏蚀_率,提高數(shù)據(jù)傳輸過程中車聯(lián)網(wǎng)系統(tǒng)的穩(wěn)定性和可靠性。
為達到上述目的,本發(fā)明提出了一種基于車載設備的文件上傳方法,包括以下步驟:
車載設備選擇待上傳文件,計算該待上傳文件的Md5校驗值;
所述車載設備將所述待上傳文件分割成一組不重疊的數(shù)據(jù)塊,將數(shù)據(jù)塊信息進行打包成數(shù)據(jù)包,并將所述數(shù)據(jù)包及該待上傳文件的Md5校驗值上傳至服務器;
所述服務器將接收到的數(shù)據(jù)包解析得到數(shù)據(jù)塊信息,并根據(jù)數(shù)據(jù)塊信息將數(shù)據(jù)塊合并成一整體文件,判斷所述整體文件的Md5校驗值與所述待上傳文件的Md5校驗值是否一致,若是,則表示上傳文件成功;若否,則表示上傳文件失敗。
進一步,在上述的基于車載設備的文件上傳方法中,所述車載設備選擇待上傳文件的步驟之前還包括:
所述服務器根據(jù)所述車載設備ID進行鑒權,并在鑒權失敗的情況下斷開與 所述車載設備的連接。
進一步,在上述的基于車載設備的文件上傳方法中,所述服務器根據(jù)所述車載設備ID進行鑒權,并在鑒權失敗的情況下斷開與所述車載設備的連接的步驟具體包括:
所述車載設備將車載設備ID發(fā)送給所述服務器;
所述服務器判斷接收到的車載設備ID是否已記錄于其數(shù)據(jù)庫中,若是,則表示鑒權成功;若否,則表示鑒權失敗,所述服務器斷開與所述車載設備的連接。
進一步,在上述的基于車載設備的文件上傳方法中,所述數(shù)據(jù)塊信息包括車載設備ID、數(shù)據(jù)塊、數(shù)據(jù)塊編號、數(shù)據(jù)塊數(shù)據(jù)類型、數(shù)據(jù)塊業(yè)務分類及通信協(xié)議。
進一步,在上述的基于車載設備的文件上傳方法中,所述車載設備將所述待上傳文件分割成一組不重疊的數(shù)據(jù)塊,將數(shù)據(jù)塊信息進行打包成數(shù)據(jù)包,并將所述數(shù)據(jù)包及該待上傳文件的Md5校驗值上傳至服務器的步驟具體包括:
所述車載設備計算所述待上傳文件的大??;
所述車載設備根據(jù)所述待上傳文件的大小將所述待上傳文件分割成預設塊數(shù)的數(shù)據(jù)塊,計算分割后每一數(shù)據(jù)塊的大小,并對每一數(shù)據(jù)塊進行編號;
所述車載設備將數(shù)據(jù)塊信息進行打包成數(shù)據(jù)包,再將所述數(shù)據(jù)包及該待上傳文件的Md5校驗值上傳至服務器上傳給服務器。
進一步,在上述的基于車載設備的文件上傳方法中,所述服務器將接收到的數(shù)據(jù)包解析得到數(shù)據(jù)塊信息,并根據(jù)數(shù)據(jù)塊信息將數(shù)據(jù)塊合并成一整體文件的步驟具體包括:
所述服務器對接收到的數(shù)據(jù)包進行解析得到每一數(shù)據(jù)塊信息;
所述服務器根據(jù)數(shù)據(jù)塊數(shù)據(jù)類型、數(shù)據(jù)塊業(yè)務分類將該數(shù)據(jù)塊放置于服務器對應的區(qū)域中;
所述服務器根據(jù)數(shù)據(jù)塊編號將該組數(shù)據(jù)塊進行合并成一整體文件。
進一步,在上述的基于車載設備的文件上傳方法中,所述方法還包括:
在判斷所述整體文件的Md5校驗值與所述待上傳文件的Md5校驗值不一致的情況下,所述服務器通知車載設備重新上傳文件。
另,本發(fā)明還提供一種車載設備,所述車載設備包括:
選擇計算模塊,用于選擇待上傳文件并計算該待上傳文件的Md5校驗值;
切割模塊,用于將所述待上傳文件分割成一組不重疊的數(shù)據(jù)塊;
打包模塊,用于將數(shù)據(jù)塊信息進行打包成數(shù)據(jù)包;
上傳模塊,用于將所述數(shù)據(jù)包及該待上傳文件的Md5校驗值上傳至服務器。
另,本發(fā)明還提供一種服務器,所述服務器包括:
接收模塊,用于接收所述數(shù)據(jù)包及該待上傳文件的Md5校驗值;
解析模塊,用于將接收到的數(shù)據(jù)包解析得到該一組數(shù)據(jù)塊信息,所述數(shù)據(jù)塊信息包括車載設備ID、數(shù)據(jù)塊、數(shù)據(jù)塊編號、數(shù)據(jù)塊數(shù)據(jù)類型、數(shù)據(jù)塊業(yè)務分類及通信協(xié)議;
合并模塊,用于根據(jù)數(shù)據(jù)塊信息將數(shù)據(jù)塊合并成一整體文件;
計算模塊,用于計算所述整體文件的Md5校驗值;
判斷模塊,用于判斷所述整體文件的Md5校驗值與所述待上傳文件的Md5校驗值是否一致。
另,本發(fā)明還提供一種文件上傳的系統(tǒng),其特征在于,所述系統(tǒng)包括:上述的車載設備及上述的服務器。
本發(fā)明基于車載設備的文件上傳方法、車載設備、服務器及系統(tǒng)有效實現(xiàn)了文件上傳,提高了傳輸效率以及傳輸?shù)臏蚀_率,提高了數(shù)據(jù)傳輸過程中車聯(lián)網(wǎng)系統(tǒng)的穩(wěn)定性和可靠性。
附圖說明
圖1為本發(fā)明基于車載設備的文件上傳方法的具體流程示意圖;
圖2為圖1中步驟S2的具體流程示意圖;
圖3為圖1中步驟S4的具體流程示意圖;
圖4為圖1中步驟S5的具體流程示意圖;
圖5為本發(fā)明車載設備的結構示意圖;
圖6為本發(fā)明服務器的結構示意圖;
圖7為本發(fā)明文件上傳的系統(tǒng)的結構示意圖。
具體實施方式
下面結合附圖詳細說明本發(fā)明的優(yōu)選實施例。應當理解,此處所描述的具體實施實例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
本發(fā)明基于車載設備的文件上傳方法,包括以下步驟:車載設備選擇待上傳文件,計算該待上傳文件的Md5(Message Digest Algorithm 5,消息摘要算法第五版)校驗值;所述車載設備將所述待上傳文件分割成一組不重疊的數(shù)據(jù)塊,將數(shù)據(jù)塊信息進行打包成數(shù)據(jù)包,并將所述數(shù)據(jù)包及該待上傳文件的Md5校驗值上傳至服務器;所述服務器將接收到的數(shù)據(jù)包解析得到數(shù)據(jù)塊信息,并根據(jù)數(shù)據(jù)塊信息將數(shù)據(jù)塊合并成一整體文件,判斷所述整體文件的Md5校驗值與所述待上傳文件的Md5校驗值是否一致,若是,則表示上傳文件成功;若否,則表示上傳文件失敗。
請參閱圖1,圖1為本發(fā)明基于車載設備的文件上傳方法的具體流程示意圖,以下通過具體的應用實施例對本發(fā)明方法作進一步詳細說明。
本實施例的控制方法具體包括以下步驟:
步驟S1:車載設備上電并通過網(wǎng)絡連接遠端的服務器;
在具體實現(xiàn)時,車輛啟動之后,車載設備上電并連接上網(wǎng)絡,所述車載設備嘗試通過網(wǎng)絡連接遠端服務器,如果連接不成功,則繼續(xù)嘗試連接遠端服務器,直至成功網(wǎng)絡連接遠端服務器為止。
步驟S2:所述服務器根據(jù)所述車載設備ID進行鑒權,并在鑒權失敗的情況下斷開與所述車載設備的連接;
在具體實現(xiàn)時,請參閱圖2,所述服務器在與車載設備進行數(shù)據(jù)傳輸之前需要鑒定車載設備的合法性,即該車載設備ID是否記錄于所述服務器的數(shù)據(jù)庫中,從而保證數(shù)據(jù)傳輸?shù)陌踩?。所述步驟S2具體包括:
步驟S201:所述車載設備將車載設備ID發(fā)送給所述服務器;
步驟S202:所述服務器判斷接收到的車載設備ID是否已記錄于其數(shù)據(jù)庫中,若是,則表示鑒權成功;若否,則表示鑒權失敗,所述服務器斷開與所述車載設備的連接。
具體地,所述服務器判斷接收到的車載設備ID是否已記錄于其數(shù)據(jù)庫中的 步驟為:所述服務器將接收到的車載設備ID與其數(shù)據(jù)庫中存儲的車載設備ID進行比較,判斷是否存在與接收到的車載設備ID相同的車載設備ID,若是,則表示該接收到的車載設備ID已記錄于其數(shù)據(jù)庫中。
步驟S3:所述車載設備選擇待上傳文件,計算該待上傳文件的Md5校驗值;
在具體實現(xiàn)時,通過比較兩個文件的的Md5校驗值是否一致,可以判斷兩個文件是否相同,在文件上傳之前,因此,所述車載設備選擇待上傳的文件后,需要計算出該待上傳文件的Md5校驗值。
步驟S4:所述車載設備將所述待上傳文件分割成一組不重疊的數(shù)據(jù)塊,將每一數(shù)據(jù)塊信息進行打包成數(shù)據(jù)包,并將所述數(shù)據(jù)包及該待上傳文件的Md5校驗值上傳至服務器;
在具體實現(xiàn)時,為了降低一次數(shù)據(jù)傳輸?shù)拇笮?,降低網(wǎng)絡帶寬的要求,所述車載設備將所述待上傳文件分割成一組不重疊的數(shù)據(jù)塊,并對該每一數(shù)據(jù)塊進行編號,將包括車載設備ID、數(shù)據(jù)塊、數(shù)據(jù)塊編號、數(shù)據(jù)塊數(shù)據(jù)類型、數(shù)據(jù)塊業(yè)務分類及通信協(xié)議的每一數(shù)據(jù)塊信息進行打包成數(shù)據(jù)包,再將所述數(shù)據(jù)包及該待上傳文件的Md5校驗值上傳至服務器上傳給服務器,所述車載設備一直到數(shù)據(jù)塊上傳達到數(shù)據(jù)塊編號的最大值為止,即將所述數(shù)據(jù)塊信息均上傳給服務器。
請參閱圖3,所述步驟S4具體包括:
步驟S401:所述車載設備計算所述待上傳文件的大??;
步驟S402:所述車載設備根據(jù)所述待上傳文件的大小將所述待上傳文件分割成預設塊數(shù)的數(shù)據(jù)塊,計算分割后每一數(shù)據(jù)塊的大小,并對每一數(shù)據(jù)塊進行編號;
步驟S403:所述車載設備將數(shù)據(jù)塊信息進行打包成數(shù)據(jù)包,再將所述數(shù)據(jù)包及該待上傳文件的Md5校驗值上傳至服務器上傳給服務器,所述數(shù)據(jù)塊信息包括車載設備ID、數(shù)據(jù)塊、數(shù)據(jù)塊編號、數(shù)據(jù)塊數(shù)據(jù)類型、數(shù)據(jù)塊業(yè)務分類及通信協(xié)議。
步驟S5:所述服務器將接收到的數(shù)據(jù)包解析得到數(shù)據(jù)塊信息,并根據(jù)數(shù)據(jù)塊信息將數(shù)據(jù)塊合并成一整體文件;
在具體實現(xiàn)時,請參閱圖4,所述步驟S5具體包括:
步驟S501:所述服務器對接收到的數(shù)據(jù)包進行解析得到每一數(shù)據(jù)塊信息;
步驟S502:所述服務器根據(jù)數(shù)據(jù)塊數(shù)據(jù)類型、數(shù)據(jù)塊業(yè)務分類將該數(shù)據(jù)塊放置于服務器對應的區(qū)域中;
步驟S503:所述服務器根據(jù)數(shù)據(jù)塊編號將該組數(shù)據(jù)塊進行合并成一整體文件。
即所述服務器根據(jù)數(shù)據(jù)塊編號將該組數(shù)據(jù)塊進行合并,若合并的數(shù)據(jù)塊編號已達到設定的最大值,則數(shù)據(jù)塊合并結束。
步驟S6:所述服務器計算所述整體文件的Md5校驗值,判斷所述整體文件的Md5校驗值與所述待上傳文件的Md5校驗值是否一致,若是,則表示上傳文件成功;若否,則表示上傳文件失敗。
本步驟中,所述服務器通過比較所述整體文件的Md5校驗值與所述待上傳文件的Md5校驗值是否一致,從而判斷合并得到的整體文件與待上傳文件內容是否一致完整,從而得出上傳文件是否成功。
所述步驟S6之后還包括:在判斷所述整體文件的Md5校驗值與所述待上傳文件的Md5校驗值不一致的情況下,所述服務器通知車載設備重新上傳文件。
另外,請參閱圖5,本發(fā)明還提供了一種車載設備,用于執(zhí)行上述文件上傳方法中車載設備所執(zhí)行的方法步驟,所述車載設備包括:
選擇計算模塊10,用于選擇待上傳文件并計算該待上傳文件的Md5校驗值;
切割模塊20,用于將所述待上傳文件分割成一組不重疊的數(shù)據(jù)塊;
打包模塊30,用于將數(shù)據(jù)塊信息進行打包成數(shù)據(jù)包;
上傳模塊40,用于將所述數(shù)據(jù)包及該待上傳文件的Md5校驗值上傳至服務器。
其中,所述車載設備還包括:
網(wǎng)絡連接模塊50,用于在車載設備上電后通過網(wǎng)絡連接遠端的服務器;以及
ID發(fā)送模塊60,用于將車載設備ID發(fā)送給所述服務器。
另外,請參閱圖6,本發(fā)明還提供了一種服務器,用于執(zhí)行上述文件上傳方法中服務器所執(zhí)行的方法步驟,所述服務器包括:
接收模塊100,用于接收所述數(shù)據(jù)包及該待上傳文件的Md5校驗值;
解析模塊200,用于將接收到的數(shù)據(jù)包解析得到該一組數(shù)據(jù)塊信息,所述數(shù) 據(jù)塊信息包括車載設備ID、數(shù)據(jù)塊、數(shù)據(jù)塊編號、數(shù)據(jù)塊數(shù)據(jù)類型、數(shù)據(jù)塊業(yè)務分類及通信協(xié)議;
合并模塊300,用于根據(jù)數(shù)據(jù)塊信息將數(shù)據(jù)塊合并成一整體文件;
計算模塊400,用于計算所述整體文件的Md5校驗值;
判斷模塊500,用于判斷所述整體文件的Md5校驗值與所述待上傳文件的Md5校驗值是否一致。
進一步,所述服務器還包括:
鑒權模塊600,用于根據(jù)所述車載設備ID進行鑒權,并在鑒權失敗的情況下斷開與所述車載設備的連接。
另外,請參閱圖7,本發(fā)明還提供了一種文件上傳的系統(tǒng),該系統(tǒng)包括:車載設備701及服務器702;其中,車載設備701如上述實施例提供的車載設備;服務器702如上述實施例提供的服務器。
相比于現(xiàn)有技術,本發(fā)明基于車載設備的文件上傳方法、車載設備、服務器及系統(tǒng)有效實現(xiàn)了文件上傳,提高了傳輸效率以及傳輸?shù)臏蚀_率,提高了數(shù)據(jù)傳輸過程中車聯(lián)網(wǎng)系統(tǒng)的穩(wěn)定性和可靠性。
這里本發(fā)明的描述和應用是說明性的,并非想將本發(fā)明的范圍限制在上述實施例中。這里所披露的實施例的變形和改變是可能的,對于那些本領域的普通技術人員來說實施例的替換和等效的各種部件是公知的。本領域技術人員應該清楚的是,在不脫離本發(fā)明的精神或本質特征的情況下,本發(fā)明可以以其它形式、結構、布置、比例,以及用其它組件、材料和部件來實現(xiàn)。在不脫離本發(fā)明范圍和精神的情況下,可以對這里所披露的實施例進行其它變形和改變。