国产精品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>

      大對象傳輸方法及系統(tǒng)的制作方法

      文檔序號:7942232閱讀:139來源:國知局
      專利名稱:大對象傳輸方法及系統(tǒng)的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及通訊領(lǐng)域中基于0MA(0pen Mobile Alliance,開放移動聯(lián)盟) SyncML(Synchronization Markup Language,數(shù)據(jù)同步協(xié)議)的傳輸技術(shù),更尤其涉及一種大對象傳輸方法及系統(tǒng)。
      背景技術(shù)
      OMA SyncML協(xié)議支持對象的傳輸,當(dāng)對象大小大于客戶端支持的最大消息字節(jié)數(shù)時,該對象被稱為大對象,即傳輸對象的大小(SyncML消息中用Size元素標(biāo)識)大于客戶端支持的最大消息字節(jié)數(shù)(SyncML消息中用MaxMsgSize元素標(biāo)識),所述對象為大對象。對于大對象的傳輸,OMA SyncML協(xié)議中規(guī)定的處理辦法通常是將大對象拆分成數(shù)據(jù)塊傳輸, 通過SyncML消息,將數(shù)據(jù)塊發(fā)送給客戶端,每一個數(shù)據(jù)塊的大小等于或小于客戶端支持的最大消息字節(jié)數(shù),大對象的傳輸是基于OMA SyncML協(xié)議中基本會話完成的。OMA SyncML協(xié)議中基本的會話過程包括會話建立和會話管理兩個階段。會話建立階段既可由服務(wù)器端觸發(fā),也可由客戶端觸發(fā),雙方建立會話后,進(jìn)入會話管理階段??蛻舳伺c服務(wù)器在會話管理階段交互,完成整個大對象的傳輸。OMA SyncML協(xié)議中規(guī)定了的大對象傳輸方式?,F(xiàn)有的基于OMA SyncML協(xié)議的大對象傳輸過程主要包括以下幾個部分一 服務(wù)器與客戶端建立會話,服務(wù)器得知客戶端的MaxMsgSize ;二 服務(wù)器發(fā)出大對象的傳輸命令,并把所述大對象數(shù)據(jù)按照給定的MaxMsgSize 進(jìn)行分塊,將所述大對象的大小(SyncML消息中用MaxMsgSize元素標(biāo)識)和第一個數(shù)據(jù)塊發(fā)送給客戶端;三客戶端保存大對象的大小和第一個數(shù)據(jù)塊,并通知服務(wù)器繼續(xù)發(fā)送下一個數(shù)據(jù)塊;四服務(wù)器繼續(xù)發(fā)送下一個數(shù)據(jù)塊,直到數(shù)據(jù)全部傳輸完畢(SyncML消息中用 Final元素標(biāo)識);五客戶端收到大對象傳輸完畢的命令后,將所有的數(shù)據(jù)塊組合起來,并計算出其總大小,再與保存的所述大對象的大小進(jìn)行比較,來檢查大對象是否傳輸成功。從上面的流程可以看出,這種傳輸方式存在一定的缺陷,就是只有在大對象的所有數(shù)據(jù)塊全部傳輸完畢后,才能知道大對象的傳輸是否成功,即由于服務(wù)器沒有給出各數(shù)據(jù)塊的大小,所以即使客戶端接收到的數(shù)據(jù)塊出錯,客戶端也不會知道,還是通知服務(wù)器繼續(xù)發(fā)送下一個數(shù)據(jù)塊,這樣就造成了交互時間和帶寬資源的浪費(fèi)。

      發(fā)明內(nèi)容
      本發(fā)明的目的在于,提供一種大對象的傳輸方法及系統(tǒng),以優(yōu)化現(xiàn)有的大對象傳輸方法。本發(fā)明提供了一種大對象傳輸方法,上述方法在服務(wù)器與客戶端建立會話后,
      上述服務(wù)器將預(yù)傳輸?shù)拇髮ο蟛鸱殖蓴?shù)據(jù)塊,并將得到的數(shù)據(jù)塊及其大小按順序逐個發(fā)送給上述客戶端;上述客戶端判斷收到的數(shù)據(jù)塊是否傳輸成功,若是,則保存上述數(shù)據(jù)塊,并返回當(dāng)前數(shù)據(jù)塊傳輸成功消息給上述服務(wù)器;否則,返回結(jié)束會話請求消息或重傳當(dāng)前數(shù)據(jù)塊請求消息給上述服務(wù)器;上述服務(wù)器根據(jù)收到的消息,發(fā)送相應(yīng)數(shù)據(jù)塊及其大小或者結(jié)束會話。優(yōu)選地,上述客戶端通過以下方式判斷收到的數(shù)據(jù)塊是否傳輸成功計算上述數(shù)據(jù)塊的實(shí)際大?。慌c收到的上述數(shù)據(jù)塊的大小比較,若一致,則上述數(shù)據(jù)塊傳輸成功;否則,上述數(shù)據(jù)塊傳輸失敗。優(yōu)選地,若當(dāng)前發(fā)送的數(shù)據(jù)塊為上述大對象的第一個數(shù)據(jù)塊,則上述服務(wù)器還將上述大對象的大小發(fā)送給上述客戶端;上述客戶端保存收到的大對象的大小。優(yōu)選地,若當(dāng)前發(fā)送的數(shù)據(jù)塊為上述大對象的最后一個數(shù)據(jù)塊,則上述服務(wù)器還發(fā)送傳輸結(jié)束標(biāo)識發(fā)送給上述客戶端;上述客戶端在收到傳輸結(jié)束標(biāo)識且當(dāng)前數(shù)據(jù)塊傳輸成功后,執(zhí)行以下步驟按順序合并保存的數(shù)據(jù)塊并計算上述數(shù)據(jù)塊的總大??;與保存的大對象的大小比較,若一致,則返回大對象傳輸成功消息給上述服務(wù)器; 否則,返回大對象傳輸失敗消息給上述服務(wù)器。優(yōu)選地,上述服務(wù)器根據(jù)收到的請求,發(fā)送相應(yīng)數(shù)據(jù)塊及其大小或者結(jié)束會話步驟具體為上述服務(wù)器在收到當(dāng)前數(shù)據(jù)塊傳輸成功消息且還有數(shù)據(jù)塊時,將下一個數(shù)據(jù)塊及其大小發(fā)送給上述客戶端;上述服務(wù)器在收到重傳當(dāng)前數(shù)據(jù)塊請求消息時,繼續(xù)發(fā)送當(dāng)前數(shù)據(jù)塊及其大小給上述客戶端;上述服務(wù)器在收到結(jié)束會話請求消息、大對象傳輸成功消息或大對象傳輸失敗消息時,結(jié)束當(dāng)前會話。優(yōu)選地,上述服務(wù)器通過擴(kuò)展的SyncML消息將上述數(shù)據(jù)塊及其大小、大對象的大小、傳輸結(jié)束標(biāo)識發(fā)送給上述客戶端;上述擴(kuò)展的SyncML消息包括Size元素、Data元素、BlockSize元素、Final元素, 其中,Size元素的值為大對象的大小、Data元素的值為當(dāng)前傳輸?shù)臄?shù)據(jù)塊、BlockSize元素的值為當(dāng)前傳輸?shù)臄?shù)據(jù)塊的大小、Final元素的值為傳輸結(jié)束標(biāo)識。本發(fā)明進(jìn)一步提供了一種大對象傳輸系統(tǒng),上述系統(tǒng)包括服務(wù)器和客戶端,上述服務(wù)器,用于將預(yù)傳輸?shù)拇髮ο蟛鸱殖蓴?shù)據(jù)塊,并將得到的數(shù)據(jù)塊及其大小按順序逐個發(fā)送給上述客戶端;以及根據(jù)上述客戶端返回的消息,發(fā)送相應(yīng)數(shù)據(jù)塊及其大小或者結(jié)束會話;上述客戶端,用于判斷收到的數(shù)據(jù)塊是否傳輸成功,并在數(shù)據(jù)塊傳輸成功時,保存上述數(shù)據(jù)塊,并返回當(dāng)前數(shù)據(jù)塊傳輸成功消息給上述服務(wù)器;在數(shù)據(jù)塊傳輸失敗時,返回結(jié)束會話請求消息或重傳當(dāng)前數(shù)據(jù)塊請求消息給上述服務(wù)器。
      優(yōu)選地,上述服務(wù)器,用于在發(fā)送第一個數(shù)據(jù)塊及其大小時,將上述大對象的大小發(fā)送給上述客戶端;在發(fā)送最后一個數(shù)據(jù)塊及其大小時,將傳輸結(jié)束標(biāo)識發(fā)送給上述客戶端;上述客戶端,用于保存收到的大對象的大小;并在收到傳輸結(jié)束標(biāo)識且當(dāng)前數(shù)據(jù)塊傳輸成功時,按順序合并保存的數(shù)據(jù)塊并計算上述數(shù)據(jù)塊的總大小,與保存的大對象的大小進(jìn)行比較,在二者一致時,返回大對象傳輸成功消息給上述服務(wù)器;在二者不一致時, 返回大對象傳輸失敗消息給上述服務(wù)器。優(yōu)選地,上述服務(wù)器,用于在收到當(dāng)前數(shù)據(jù)塊傳輸成功消息且還有數(shù)據(jù)塊時,將下一個數(shù)據(jù)塊及其大小發(fā)送給上述客戶端;在收到重傳當(dāng)前數(shù)據(jù)塊請求消息時,繼續(xù)發(fā)送當(dāng)前數(shù)據(jù)塊及其大小給上述客戶端;以及在收到結(jié)束會話請求消息、大對象傳輸成功消息或大對象傳輸失敗消息時, 結(jié)束當(dāng)前會話;上述客戶端,用于計算數(shù)據(jù)塊的實(shí)際大小,并與收到的上述數(shù)據(jù)塊的大小進(jìn)行比較。優(yōu)選地,上述服務(wù)器通過擴(kuò)展的SyncML消息將上述數(shù)據(jù)塊及其大小、大對象的大小、傳輸結(jié)束標(biāo)識發(fā)送給上述客戶端。本發(fā)明在傳輸數(shù)據(jù)塊的同時,將上述數(shù)據(jù)塊的大小一起發(fā)送給客戶端,客戶端每收到一個數(shù)據(jù)塊,即判斷其是否傳輸成功,并在數(shù)據(jù)塊傳輸失敗時,要么主動要求結(jié)束會話,要么請求重傳;也就是說,本發(fā)明在大對象的數(shù)據(jù)塊傳輸出錯時,提前進(jìn)行了處理,節(jié)省了帶寬資源。


      此處所說明的附圖用來提供對本發(fā)明的進(jìn)一步理解,構(gòu)成本發(fā)明的一部分,本發(fā)明的示意性實(shí)施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中圖1是本發(fā)明大對象傳輸方法第一優(yōu)選實(shí)施例的流程圖;圖2是本發(fā)明大對象傳輸方法第二優(yōu)選實(shí)施例的流程圖;圖3是本發(fā)明大對象傳輸系統(tǒng)優(yōu)選實(shí)施例的原理框圖。
      具體實(shí)施例方式為了使本發(fā)明所要解決的技術(shù)問題、技術(shù)方案及有益效果更加清楚、明白,以下結(jié)合附圖和實(shí)施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。如圖1所示,是本發(fā)明大對象傳輸方法第一優(yōu)選實(shí)施例的流程圖,本實(shí)施例中,客戶端對于傳輸失敗的數(shù)據(jù)塊,采用請求服務(wù)器重傳機(jī)制處理,本實(shí)施例包括以下步驟步驟SOOl 服務(wù)器與客戶端建立會話;步驟S002 根據(jù)會話建立過程中得知的上述客戶端支持的最大消息字節(jié)數(shù),拆分當(dāng)前傳輸?shù)拇髮ο螅瑢⑸鲜龃髮ο蟛鸱殖蓴?shù)據(jù)塊并開始傳輸;本步驟將大對象拆分成小于等于客戶端支持的最大消息字節(jié)數(shù)的數(shù)據(jù)塊進(jìn)行傳輸。
      步驟S003 判斷當(dāng)前數(shù)據(jù)塊是否是第一個數(shù)據(jù)塊或者最后一個數(shù)據(jù)塊,若為第一個數(shù)據(jù)塊,則執(zhí)行步驟S004 ;若為最后一個數(shù)據(jù)塊,則執(zhí)行步驟S005 ;否則,執(zhí)行步驟 S006 ;步驟S004 將當(dāng)前傳輸?shù)拇髮ο蟮拇笮∽鳛閿U(kuò)展的SyncML消息的Size元素的值,執(zhí)行步驟S006 ;本發(fā)明中,擴(kuò)展的SyncML消息包括Size元素、Data元素、BlockSize元素、Final 元素,其中,BlockSize元素為本發(fā)明新增元素,用以攜帶數(shù)據(jù)塊的大??;Size元素的值表示當(dāng)前傳輸?shù)拇髮ο蟮拇笮 ata元素的值表示當(dāng)前傳輸?shù)臄?shù)據(jù)塊、BlockSize元素的值表示當(dāng)前傳輸?shù)臄?shù)據(jù)塊的大小、Final元素的值表示傳輸結(jié)束標(biāo)識。步驟S005 將傳輸結(jié)束標(biāo)識作為擴(kuò)展的SyncML消息的Final元素的值;步驟S006 將當(dāng)前數(shù)據(jù)塊及其大小分別作為上述擴(kuò)展的SyncML消息的Data元素、BlockSize元素的值;步驟S007 將上述擴(kuò)展的SyncML消息發(fā)送給上述客戶端;本步驟中,在當(dāng)前傳輸?shù)臄?shù)據(jù)塊為大對象的第一個數(shù)據(jù)塊時,擴(kuò)展的SyncML消息的Size元素的值不為空;在當(dāng)前傳輸?shù)臄?shù)據(jù)塊為大對象的最后一個數(shù)據(jù)塊時,擴(kuò)展的 SyncML消息的Final元素的值不為空,其他情況下及重傳時,擴(kuò)展的SyncML消息的Size元素、Final元素為空。步驟S008 客戶端收到擴(kuò)展的SyncML消息;步驟S009 判斷上述消息的Size元素是否為空,若是,則執(zhí)行步驟SOlO ;否則, 執(zhí)行步驟SOll ;步驟SOlO 保存Size元素的值;本步驟即保存大對象的大小,用于在后續(xù)步驟中作為判斷大對象是否傳輸成功的依據(jù)。步驟SOll 計算收到的數(shù)據(jù)塊的實(shí)際大??;步驟S012 與BlockSize元素的值比較,若一致,則執(zhí)行步驟S013 ;否則,執(zhí)行步驟 SO14 ;步驟S013 保存當(dāng)前數(shù)據(jù)塊,并返回當(dāng)前數(shù)據(jù)塊傳輸成功消息給上述服務(wù)器,執(zhí)行步驟S015 ;步驟S014 丟棄當(dāng)前數(shù)據(jù)塊,返回重傳當(dāng)前數(shù)據(jù)塊請求消息給上述服務(wù)器;步驟S015 判斷上述消息的Final元素的值是否為空,若是,則表明當(dāng)前傳輸?shù)臄?shù)據(jù)塊為最后一個數(shù)據(jù)塊,執(zhí)行步驟S016 ;否則,執(zhí)行步驟S008 ;步驟S016 合并保存的所有數(shù)據(jù)塊并計算合并后的數(shù)據(jù)塊的大??;步驟S017 與保存的Size元素的值比較,若一致,則執(zhí)行步驟S018 ;否則,執(zhí)行步驟 SO19 ;本步驟可判斷出數(shù)據(jù)塊在傳輸過程中出現(xiàn)丟包現(xiàn)象。步驟S018 返回大對象傳輸成功消息給上述服務(wù)器,執(zhí)行步驟S020 ;步驟S019 返回大對象傳輸失敗消息給上述服務(wù)器;步驟S020 服務(wù)器收到客戶端返回的消息;步驟S021 判斷客戶端返回的消息類型,若為當(dāng)前數(shù)據(jù)塊傳輸成功消息,則執(zhí)行步驟S022 ;若為重傳當(dāng)前數(shù)據(jù)塊請求消息,則執(zhí)行步驟S006 ;若為大對象傳輸成功/失敗消息,則執(zhí)行步驟S025 ;步驟S022 判斷是否還有數(shù)據(jù)塊,若是,則執(zhí)行步驟S023 ;否則,執(zhí)行步驟SOM ;步驟S023 指向下一個數(shù)據(jù)塊,執(zhí)行步驟S003 ;步驟SOM 等待客戶端返回大對象傳輸結(jié)果消息,執(zhí)行步驟S020 ;步驟S025 結(jié)束當(dāng)前會話。如圖2所示,是本發(fā)明大對象傳輸方法第二優(yōu)選實(shí)施例的流程圖,本實(shí)施例中, 客戶端對于傳輸失敗的數(shù)據(jù)塊,采用請求服務(wù)器結(jié)束對話機(jī)制處理,本實(shí)施例包括以下步驟步驟SlOl 服務(wù)器與客戶端建立會話;步驟S102 根據(jù)會話建立過程中得知的上述客戶端能夠支持的最大消息字節(jié)數(shù), 拆分當(dāng)前傳輸?shù)拇髮ο螅瑢⑸鲜龃髮ο蟛鸱殖蓴?shù)據(jù)塊并開始傳輸;步驟S103 判斷當(dāng)前數(shù)據(jù)塊是否是第一個數(shù)據(jù)塊或者最后一個數(shù)據(jù)塊,若為第一個數(shù)據(jù)塊,則執(zhí)行步驟S104 ;若為最后一個數(shù)據(jù)塊,則執(zhí)行步驟S105 ;否則,執(zhí)行步驟 S106 ;步驟S104 將當(dāng)前傳輸?shù)拇髮ο蟮拇笮∽鳛閿U(kuò)展的SyncML消息的Size元素的值,執(zhí)行步驟S106 ;步驟S105 將傳輸結(jié)束標(biāo)識作為擴(kuò)展的SyncML消息的Final元素的值;步驟S106 將當(dāng)前數(shù)據(jù)塊及其大小分別作為上述擴(kuò)展的SyncML消息的Data元素、BlockSize元素的值;步驟S107 將上述擴(kuò)展的SyncML消息發(fā)送給上述客戶端;步驟S108 客戶端收到擴(kuò)展的SyncML消息;步驟S109 判斷上述消息的Size元素是否為空,若是,則執(zhí)行步驟SllO ;否則, 執(zhí)行步驟Slll ;步驟SllO 保存Size元素的值;步驟Slll 計算收到的數(shù)據(jù)塊的大??;步驟Sl 12 與BlockSize元素的值比較,若一致,則執(zhí)行步驟Sl 13 ;否則,執(zhí)行步驟 Sl14 ;步驟S113 保存當(dāng)前數(shù)據(jù)塊,并返回當(dāng)前數(shù)據(jù)塊傳輸成功消息給上述服務(wù)器,執(zhí)行步驟Sl 15 ;步驟S114 丟棄當(dāng)前數(shù)據(jù)塊,返回結(jié)束會話請求消息給上述服務(wù)器;步驟S115 判斷上述消息的Final元素的值是否為空,若是,則表明當(dāng)前傳輸?shù)臄?shù)據(jù)塊為最后一個數(shù)據(jù)塊,執(zhí)行步驟S116 ;否則,執(zhí)行步驟S108 ;步驟S116 合并保存的所有數(shù)據(jù)塊并計算合并后的數(shù)據(jù)塊的大??;步驟S117 與保存的Size元素的值比較,若一致,則執(zhí)行步驟S118 ;否則,執(zhí)行步驟 Sl19 ;步驟S118 返回大對象傳輸成功消息給上述服務(wù)器,執(zhí)行步驟S120 ;步驟S119 返回大對象傳輸失敗消息給上述服務(wù)器;步驟S120 服務(wù)器收到客戶端返回的消息;
      步驟S121 判斷客戶端返回的消息類型,若為當(dāng)前數(shù)據(jù)塊傳輸成功消息,則執(zhí)行步驟S122 ;若為結(jié)束會話請求消息,則執(zhí)行步驟S125 ;若為大對象傳輸成功/失敗消息,則執(zhí)行步驟S125 ;步驟S122 判斷是否還有數(shù)據(jù)塊,若是,則執(zhí)行步驟S123 ;否則,執(zhí)行步驟SlM ;步驟S123 指向下一個數(shù)據(jù)塊,執(zhí)行步驟S103 ;步驟SlM 等待客戶端返回大對象傳輸結(jié)果消息,執(zhí)行步驟S120 ;步驟S125 結(jié)束當(dāng)前會話。如圖3所示,是本發(fā)明大對象傳輸系統(tǒng)優(yōu)選實(shí)施例的原理框圖,本實(shí)施例包括服務(wù)器和客戶端,服務(wù)器,用于根據(jù)客戶端支持的最大消息字節(jié)數(shù),將預(yù)傳輸?shù)拇髮ο蟛鸱殖傻扔诨蛐∮谏鲜鲎畲笙⒆止?jié)數(shù)的數(shù)據(jù)塊,并將得到的數(shù)據(jù)塊及其大小通過擴(kuò)展的SyncML消息,按順序逐個發(fā)送給上述客戶端;并在發(fā)送第一個數(shù)據(jù)塊及其大小時,將上述大對象的大小發(fā)送給上述客戶端;在發(fā)送最后一個數(shù)據(jù)塊及其大小時,將傳輸結(jié)束標(biāo)識發(fā)送給上述客戶端;以及在上述客戶端返回的消息為當(dāng)前數(shù)據(jù)塊傳輸成功消息,且還有數(shù)據(jù)塊時,將下一個數(shù)據(jù)塊及其大小發(fā)送給上述客戶端;在上述客戶端返回的消息為重傳當(dāng)前數(shù)據(jù)塊請求消息時,繼續(xù)發(fā)送當(dāng)前數(shù)據(jù)塊及其大小給上述客戶端;在上述客戶端返回的消息為結(jié)束會話請求消息、大對象傳輸成功消息或大對象傳輸失敗消息時,結(jié)束當(dāng)前會話;客戶端,用于計算收到的數(shù)據(jù)塊的實(shí)際大小,并與收到的上述數(shù)據(jù)塊的大小進(jìn)行比較,判斷收到的數(shù)據(jù)塊是否傳輸成功,并在數(shù)據(jù)塊傳輸成功時,保存上述數(shù)據(jù)塊,并返回當(dāng)前數(shù)據(jù)塊傳輸成功消息給上述服務(wù)器;在數(shù)據(jù)塊傳輸失敗時,返回結(jié)束會話請求消息或重傳當(dāng)前數(shù)據(jù)塊請求消息給上述服務(wù)器;以及保存收到的大對象的大??;并在收到傳輸結(jié)束標(biāo)識且當(dāng)前數(shù)據(jù)塊傳輸成功時,按順序合并保存的數(shù)據(jù)塊并計算上述數(shù)據(jù)塊的總大小, 與保存的大對象的大小進(jìn)行比較,在二者一致時,返回大對象傳輸成功消息給上述服務(wù)器; 在二者不一致時,返回大對象傳輸失敗消息給上述服務(wù)器。上述說明示出并描述了本發(fā)明的優(yōu)選實(shí)施例,但如前所述,應(yīng)當(dāng)理解本發(fā)明并非局限于本文所披露的形式,不應(yīng)看作是對其他實(shí)施例的排除,而可用于各種其他組合、修改和環(huán)境,并能夠在本文所述發(fā)明構(gòu)想范圍內(nèi),通過上述教導(dǎo)或相關(guān)領(lǐng)域的技術(shù)或知識進(jìn)行改動。而本領(lǐng)域人員所進(jìn)行的改動和變化不脫離本發(fā)明的精神和范圍,則都應(yīng)在本發(fā)明所附權(quán)利要求的保護(hù)范圍內(nèi)。
      權(quán)利要求
      1.一種大對象傳輸方法,其特征在于,所述方法在服務(wù)器與客戶端建立會話后,所述服務(wù)器將預(yù)傳輸?shù)拇髮ο蟛鸱殖蓴?shù)據(jù)塊,并將得到的數(shù)據(jù)塊及其大小按順序逐個發(fā)送給所述客戶端;所述客戶端判斷收到的數(shù)據(jù)塊是否傳輸成功,若是,則保存所述數(shù)據(jù)塊,并返回當(dāng)前數(shù)據(jù)塊傳輸成功消息給所述服務(wù)器;否則,返回結(jié)束會話請求消息或重傳當(dāng)前數(shù)據(jù)塊請求消息給所述服務(wù)器;所述服務(wù)器根據(jù)收到的消息,發(fā)送相應(yīng)數(shù)據(jù)塊及其大小或者結(jié)束會話。
      2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述客戶端通過以下方式判斷收到的數(shù)據(jù)塊是否傳輸成功計算所述數(shù)據(jù)塊的實(shí)際大??;與收到的所述數(shù)據(jù)塊的大小比較,若一致,則所述數(shù)據(jù)塊傳輸成功;否則,所述數(shù)據(jù)塊傳輸失敗。
      3.根據(jù)權(quán)利要求2所述的方法,其特征在于,若當(dāng)前發(fā)送的數(shù)據(jù)塊為所述大對象的第一個數(shù)據(jù)塊,則所述服務(wù)器還將所述大對象的大小發(fā)送給所述客戶端;所述客戶端保存收到的大對象的大小。
      4.根據(jù)權(quán)利要求3所述的方法,其特征在于,若當(dāng)前發(fā)送的數(shù)據(jù)塊為所述大對象的最后一個數(shù)據(jù)塊,則所述服務(wù)器還發(fā)送傳輸結(jié)束標(biāo)識發(fā)送給所述客戶端;所述客戶端在收到傳輸結(jié)束標(biāo)識且當(dāng)前數(shù)據(jù)塊傳輸成功后,執(zhí)行以下步驟按順序合并保存的數(shù)據(jù)塊并計算所述數(shù)據(jù)塊的總大??;與保存的大對象的大小比較,若一致,則返回大對象傳輸成功消息給所述服務(wù)器;否則,返回大對象傳輸失敗消息給所述服務(wù)器。
      5.根據(jù)權(quán)利要求1-4任一項(xiàng)所述的方法,其特征在于,所述服務(wù)器根據(jù)收到的請求,發(fā)送相應(yīng)數(shù)據(jù)塊及其大小或者結(jié)束會話步驟具體為所述服務(wù)器在收到當(dāng)前數(shù)據(jù)塊傳輸成功消息且還有數(shù)據(jù)塊時,將下一個數(shù)據(jù)塊及其大小發(fā)送給所述客戶端;所述服務(wù)器在收到重傳當(dāng)前數(shù)據(jù)塊請求消息時,繼續(xù)發(fā)送當(dāng)前數(shù)據(jù)塊及其大小給所述客戶端;所述服務(wù)器在收到結(jié)束會話請求消息、大對象傳輸成功消息或大對象傳輸失敗消息時,結(jié)束當(dāng)前會話。
      6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述服務(wù)器通過擴(kuò)展的SyncML消息將所述數(shù)據(jù)塊及其大小、大對象的大小、傳輸結(jié)束標(biāo)識發(fā)送給所述客戶端;所述擴(kuò)展的SyncML消息包括Size元素、Data元素、BlockSize元素、Final元素,其中,Size元素的值為大對象的大小、Data元素的值為當(dāng)前傳輸?shù)臄?shù)據(jù)塊、BlockSize元素的值為當(dāng)前傳輸?shù)臄?shù)據(jù)塊的大小、Final元素的值為傳輸結(jié)束標(biāo)識。
      7.一種大對象傳輸系統(tǒng),其特征在于,所述系統(tǒng)包括服務(wù)器和客戶端,所述服務(wù)器,用于將預(yù)傳輸?shù)拇髮ο蟛鸱殖蓴?shù)據(jù)塊,并將得到的數(shù)據(jù)塊及其大小按順序逐個發(fā)送給所述客戶端;以及根據(jù)所述客戶端返回的消息,發(fā)送相應(yīng)數(shù)據(jù)塊及其大小或者結(jié)束會話;所述客戶端,用于判斷收到的數(shù)據(jù)塊是否傳輸成功,并在數(shù)據(jù)塊傳輸成功時,保存所述數(shù)據(jù)塊,并返回當(dāng)前數(shù)據(jù)塊傳輸成功消息給所述服務(wù)器;在數(shù)據(jù)塊傳輸失敗時,返回結(jié)束會話請求消息或重傳當(dāng)前數(shù)據(jù)塊請求消息給所述服務(wù)器。
      8.根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,所述服務(wù)器,用于在發(fā)送第一個數(shù)據(jù)塊及其大小時,將所述大對象的大小發(fā)送給所述客戶端;在發(fā)送最后一個數(shù)據(jù)塊及其大小時,將傳輸結(jié)束標(biāo)識發(fā)送給所述客戶端;所述客戶端,用于保存收到的大對象的大??;并在收到傳輸結(jié)束標(biāo)識且當(dāng)前數(shù)據(jù)塊傳輸成功時,按順序合并保存的數(shù)據(jù)塊并計算所述數(shù)據(jù)塊的總大小,與保存的大對象的大小進(jìn)行比較,在二者一致時,返回大對象傳輸成功消息給所述服務(wù)器;在二者不一致時,返回大對象傳輸失敗消息給所述服務(wù)器。
      9.根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于,所述服務(wù)器,用于在收到當(dāng)前數(shù)據(jù)塊傳輸成功消息且還有數(shù)據(jù)塊時,將下一個數(shù)據(jù)塊及其大小發(fā)送給所述客戶端;在收到重傳當(dāng)前數(shù)據(jù)塊請求消息時,繼續(xù)發(fā)送當(dāng)前數(shù)據(jù)塊及其大小給所述客戶端;以及在收到結(jié)束會話請求消息、大對象傳輸成功消息或大對象傳輸失敗消息時,結(jié)束當(dāng)前會話;所述客戶端,用于計算數(shù)據(jù)塊的實(shí)際大小,并與收到的所述數(shù)據(jù)塊的大小進(jìn)行比較。
      10.根據(jù)權(quán)利要求7-9任一項(xiàng)所述的系統(tǒng),其特征在于,所述服務(wù)器通過擴(kuò)展的SyncML 消息將所述數(shù)據(jù)塊及其大小、大對象的大小、傳輸結(jié)束標(biāo)識發(fā)送給所述客戶端。
      全文摘要
      本發(fā)明公開了一種大對象傳輸方法,上述方法在服務(wù)器與客戶端建立會話后,服務(wù)器將預(yù)傳輸?shù)拇髮ο蟛鸱殖蓴?shù)據(jù)塊,并將得到的數(shù)據(jù)塊及其大小按順序逐個發(fā)送給上述客戶端;客戶端判斷收到的數(shù)據(jù)塊是否傳輸成功,若是,則保存上述數(shù)據(jù)塊,并返回當(dāng)前數(shù)據(jù)塊傳輸成功消息給上述服務(wù)器;否則,返回結(jié)束會話請求消息或重傳當(dāng)前數(shù)據(jù)塊請求消息給上述服務(wù)器;服務(wù)器根據(jù)收到的消息,發(fā)送相應(yīng)數(shù)據(jù)塊及其大小或者結(jié)束會話;本發(fā)明還進(jìn)一步公開了一種大對象傳輸系統(tǒng)。本發(fā)明在大對象的數(shù)據(jù)塊傳輸出錯時,提前進(jìn)行了處理,節(jié)省了帶寬資源。
      文檔編號H04L29/08GK102340507SQ201110316789
      公開日2012年2月1日 申請日期2011年10月18日 優(yōu)先權(quán)日2011年10月18日
      發(fā)明者劉星, 雙建平, 徐祿勇, 陳波 申請人:中興通訊股份有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1