亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

軟件升級指令分發(fā)方法、通信服務器及終端設備的制作方法

文檔序號:6640730閱讀:200來源:國知局
軟件升級指令分發(fā)方法、通信服務器及終端設備的制作方法
【專利摘要】本發(fā)明提供一種軟件升級指令分發(fā)方法、通信服務器及終端設備。上述方法包括:建立與至少一個終端設備的長連接;向所述終端設備發(fā)送包括軟件版本信息的消息,以使所述終端設備根據(jù)所述軟件版本信息判斷是否需要進行軟件升級,若是則以多播的通信方式從升級服務器處獲取軟件升級數(shù)據(jù)。上述通信服務器包括:建立單元,用于建立與至少一個終端設備的長連接;發(fā)送單元,用于向所述終端設備發(fā)送包括軟件版本信息的消息,以使所述終端設備根據(jù)所述軟件版本信息判斷是否需要進行軟件升級,若是則以多播的通信方式從升級服務器處獲取軟件升級數(shù)據(jù)。本發(fā)明可以解決軟件升級指令分發(fā)延遲大且需要占用控制中心大量資源問題。
【專利說明】軟件升級指令分發(fā)方法、通信服務器及終端設備

【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)絡技術(shù),具體涉及一種軟件升級指令分發(fā)方法、通信服務器及終端設備。

【背景技術(shù)】
[0002]現(xiàn)有的網(wǎng)絡架構(gòu)中,控制中心常常要向多個終端設備分發(fā)各種各樣的指令,由于該場景屬于“一點對多點”的通訊場景,因而指令的分發(fā)通常按照下述基于短連接方式進行:
[0003]控制中心生成對應于一個或多個終端設備的指令消息,建立與上述一個或多個終端設備的短連接,將指令消息藉由短連接發(fā)送給上述一個或多個終端設備,終端設備接收到指令消息并校驗無誤后就關(guān)閉這一短連接。
[0004]但是,控制中心通常還需要與眾多其他終端或服務器建立連接,一方面頻繁地建立和關(guān)閉短連接會占用控制中心的大量可用系統(tǒng)資源和通信資源,另一方面由于建立短連接的過程會耗費一些時間,因而會增大指令的發(fā)出與執(zhí)行之間在時間上的延遲,不利于整個網(wǎng)絡的持續(xù)尚效運tx。
[0005]比如,在軟件升級指令的分發(fā)流程中,現(xiàn)有技術(shù)中的控制中心需要基于短連接的方式向所有終端發(fā)送包括軟件升級指令的消息,一方面這給控制中心帶來了巨大的工作負擔,另一方面由于短連接的建立需要時間,因而控制中心很難在很短的時間內(nèi)完成向所有終端的消息發(fā)送任務。


【發(fā)明內(nèi)容】

[0006]針對現(xiàn)有技術(shù)中的缺陷,本發(fā)明提供一種軟件升級指令分發(fā)方法、通信服務器及終端設備,解決了軟件升級指令分發(fā)延遲大且需要占用控制中心大量資源問題。
[0007]第一方面,本發(fā)明提供了一種通信服務器,包括:
[0008]建立單元,用于建立與至少一個終端設備的長連接;
[0009]發(fā)送單元,用于向所述終端設備發(fā)送包括軟件版本信息的消息,以使所述終端設備根據(jù)所述軟件版本信息判斷是否需要進行軟件升級,若是則以多播的通信方式從升級服務器處獲取軟件升級數(shù)據(jù)。
[0010]可選地,所述發(fā)送單元進一步用于定期向所述終端設備發(fā)送包括軟件版本信息的心跳數(shù)據(jù)包,以使所述終端設備根據(jù)所述軟件版本信息判斷是否需要進行軟件升級,若是則以多播的通信方式從升級服務器處獲取軟件升級數(shù)據(jù)。
[0011]第二方面,本發(fā)明還提供了一種終端設備,包括:
[0012]建立單元,用于與通信服務器的長連接;
[0013]接收單元,用于接收來自所述通信服務器的包括軟件版本信息的消息;
[0014]判斷單元,用于根據(jù)所述接收單元接收到的所述軟件版本信息判斷是否需要進行軟件升級;
[0015]執(zhí)行單元,用于在判斷單元判定需要進行軟件升級時以多播的通信方式從升級服務器處獲取軟件升級數(shù)據(jù)。
[0016]可選地,所述執(zhí)行單元包括:
[0017]發(fā)生模塊,用于以多播的通信方式從升級服務器處獲取軟件升級數(shù)據(jù);
[0018]接收模塊,用于接收升級服務器以多播的通信方式發(fā)送的多個數(shù)據(jù)單元,所述數(shù)據(jù)單元為所述升級服務器生成的與所述軟件升級請求消息中的所述軟件升級數(shù)據(jù)的標識對應的數(shù)據(jù)單元;
[0019]處理模塊,用于根據(jù)接收到的所述多個數(shù)據(jù)單元得到所述軟件升級數(shù)據(jù)。
[0020]可選地,所述處理模塊進一步用于在接收到的數(shù)據(jù)單元的數(shù)目達到預設值時,利用前向糾錯編碼算法根據(jù)接收到的多個數(shù)據(jù)單元得到所述軟件升級數(shù)據(jù);所述數(shù)據(jù)單元包括升級服務器由所述軟件升級數(shù)據(jù)分得的多個原始數(shù)據(jù)單元和升級服務器利用所述前向糾錯編碼算法根據(jù)所述原始數(shù)據(jù)單元得到的多個校驗數(shù)據(jù)單元。
[0021]可選地,所述處理模塊還用于在根據(jù)接收到的多個數(shù)據(jù)單元不能得到正確的軟件升級數(shù)據(jù)時,執(zhí)行以下操作中的一項或多項:
[0022]利用前向糾錯編碼算法對得到的軟件升級數(shù)據(jù)進行糾錯;
[0023]拋棄已經(jīng)接收到的所述多個數(shù)據(jù)單元,并繼續(xù)接收升級服務器以多播的通信方式發(fā)送的多個數(shù)據(jù)單元;
[0024]向升級服務器或其他終端設備發(fā)送對應的數(shù)據(jù)單元傳輸請求,以使升級服務器或其他終端設備返回與所述軟件升級數(shù)據(jù)對應的數(shù)據(jù)單元。
[0025]可選地,所述接收單元進一步用于接收所述通信服務器定期發(fā)送的包括軟件版本信息的心跳數(shù)據(jù)包。
[0026]第三方面,本發(fā)明還提供了一種軟件升級指令分發(fā)方法,包括:
[0027]建立與至少一個終端設備的長連接;
[0028]向所述終端設備發(fā)送包括軟件版本信息的消息,以使所述終端設備根據(jù)所述軟件版本信息判斷是否需要進行軟件升級,若是則以多播的通信方式從升級服務器處獲取軟件升級數(shù)據(jù)。
[0029]可選地,所述向所述終端設備發(fā)送包括軟件版本信息的消息,以使所述終端設備根據(jù)所述軟件版本信息判斷是否需要進行軟件升級,若是則以多播的通信方式從升級服務器處獲取軟件升級數(shù)據(jù),包括:
[0030]定期向所述終端設備發(fā)送包括軟件版本信息的心跳數(shù)據(jù)包,以使所述終端設備根據(jù)所述軟件版本信息判斷是否需要進行軟件升級,若是則以多播的通信方式從升級服務器處獲取軟件升級數(shù)據(jù)。
[0031]第四方面,本發(fā)明還提供了一種軟件升級指令分發(fā)方法,包括:
[0032]建立與通信服務器的長連接;
[0033]接收來自所述通信服務器的包括軟件版本信息的消息;
[0034]根據(jù)所述軟件版本信息判斷是否需要進行軟件升級;
[0035]若是,則以多播的通信方式從升級服務器處獲取軟件升級數(shù)據(jù)。
[0036]可選地,所述以多播的通信方式從升級服務器處獲取軟件升級數(shù)據(jù),包括:
[0037]向升級服務器發(fā)送包括待獲取的軟件升級數(shù)據(jù)的標識的軟件升級請求消息;
[0038]接收升級服務器以多播的通信方式發(fā)送的多個數(shù)據(jù)單元,所述數(shù)據(jù)單元為所述升級服務器生成的與所述軟件升級請求消息中的所述軟件升級數(shù)據(jù)的標識對應的數(shù)據(jù)單元;
[0039]根據(jù)接收到的所述多個數(shù)據(jù)單元得到所述軟件升級數(shù)據(jù)。
[0040]可選地,所述根據(jù)接收到的所述多個數(shù)據(jù)單元得到所述軟件升級數(shù)據(jù),包括:
[0041]當接收到的數(shù)據(jù)單元的數(shù)目達到預設值時,利用前向糾錯編碼算法根據(jù)接收到的多個數(shù)據(jù)單元得到所述軟件升級數(shù)據(jù);所述數(shù)據(jù)單元包括升級服務器由所述軟件升級數(shù)據(jù)分得的多個原始數(shù)據(jù)單元和升級服務器利用所述前向糾錯編碼算法根據(jù)所述原始數(shù)據(jù)單元得到的多個校驗數(shù)據(jù)單元。
[0042]可選地,所述根據(jù)接收到的所述多個數(shù)據(jù)單元得到所述軟件升級數(shù)據(jù),還包括:
[0043]當根據(jù)接收到的多個數(shù)據(jù)單元不能得到正確的軟件升級數(shù)據(jù)時,執(zhí)行以下操作中的一項或多項:
[0044]利用前向糾錯編碼算法對得到的軟件升級數(shù)據(jù)進行糾錯;
[0045]拋棄已經(jīng)接收到的所述多個數(shù)據(jù)單元,并繼續(xù)接收升級服務器以多播的通信方式發(fā)送的多個數(shù)據(jù)單元;
[0046]向升級服務器或其他終端設備發(fā)送對應的數(shù)據(jù)單元傳輸請求,以使升級服務器或其他終端設備返回與所述軟件升級數(shù)據(jù)對應的數(shù)據(jù)單元。
[0047]可選地,接收來自所述通信服務器的包括軟件版本信息的消息,包括:
[0048]接收所述通信服務器定期發(fā)送的包括軟件版本信息的心跳數(shù)據(jù)包。
[0049]由上述技術(shù)方案可知,本發(fā)明可以通過使通信服務器與終端設備建立長連接來使通信服務器代替控制中心執(zhí)行軟件升級指令的分發(fā),從而控制中心不需要與大量終端設備頻繁地建立和關(guān)閉短連接,因而軟件升級指令分發(fā)不會占用控制中心的大量資源;而且長連接不會頻繁的建立和關(guān)閉,可以保障指令迅速地分發(fā)到每一終端,減小指令的發(fā)出與執(zhí)行之間在時間上的延遲。所以,本發(fā)明可以解決軟件升級指令分發(fā)延遲大且需要占用控制中心大量資源問題,執(zhí)行效率高且可操作性強。

【專利附圖】

【附圖說明】
[0050]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡單的介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0051]圖1是本發(fā)明一個實施例中一種軟件升級指令分發(fā)方法的步驟流程示意圖;
[0052]圖2是本發(fā)明一實施例中一種軟件升級指令分發(fā)方法的步驟流程示意圖;
[0053]圖3是本發(fā)明一實施例中一種以多播的通信方式從升級服務器處獲取軟件升級數(shù)據(jù)的步驟流程示意圖;
[0054]圖4是本發(fā)明一個實施例中一種通信服務器的結(jié)構(gòu)框圖;
[0055]圖5是本發(fā)明一個實施例中一種移動終端的結(jié)構(gòu)框圖;
[0056]圖6是本發(fā)明一個實施例中一種執(zhí)行單元的結(jié)構(gòu)框圖。

【具體實施方式】
[0057]為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0058]需要說明的是,本文中的控制中心指的是用于生成對所屬網(wǎng)絡中任一終端設備的控制指令的裝置或者裝置集合;本文中的通信服務器指的是用于向至少一個終端設備分發(fā)指令的裝置或裝置集合;本文中的終端設備指的是處于控制中心的所屬網(wǎng)絡中通過接收并執(zhí)行來自控制中心指令的設備。
[0059]比如,在本發(fā)明的一個實施例中,上述控制中心具體是位于局域網(wǎng)網(wǎng)絡中心的控制服務器,上述通信服務器具體是同一網(wǎng)絡中與控制服務器相連的具體用于軟件升級指令分發(fā)的小型服務器,上述終端設備具體是局域網(wǎng)中的多臺個人計算機設備。
[0060]再如,在本發(fā)明的另一實施例中,上述控制中心具體是位于互聯(lián)網(wǎng)中的多個服務器的集合,上述通信服務器具體是多個服務器的集合中具體用于軟件升級指令分發(fā)的一個服務器,而上述終端設備具體是任意一個受控制中心通過指令控制的設備,可以是基于任意操作系統(tǒng)的臺式機、筆記本電腦、平板電腦、智能手機、個人數(shù)字助理、音樂播放設備、游戲設備等。
[0061]另外,本文中的短連接指的是通訊雙方有數(shù)據(jù)交互時,就建立一個連接,數(shù)據(jù)發(fā)送完成后,則斷開此連接,即每次連接只完成一項業(yè)務的發(fā)送。而與之相應,長連接指在一個連接上可以連續(xù)發(fā)送多個數(shù)據(jù)包,在連接保持期間,如果沒有數(shù)據(jù)包發(fā)送,需要雙方發(fā)鏈路檢測包。在現(xiàn)有技術(shù)中,長連接多用于單點對單點而且連接數(shù)不多的通信場景,而短連接多用于一點對多點而且連接數(shù)很多的通信場景。其原因主要在于短連接和長連接在建立方式和傳輸方式的區(qū)別。
[0062]具體以一個簡單的TCP (Transmiss1n Control Protocol,傳輸控制協(xié)議)短連接為例,終端設備向服務器發(fā)起連接請求,服務器接到請求,然后雙方建立連接。終端設備向服務器發(fā)送消息,服務器回應終端設備,然后一次讀寫就完成了,這時候雙方任何一個都可以發(fā)起關(guān)閉連接操作,不過一般都是終端設備先發(fā)起關(guān)閉連接操作,主要因為一般的服務器不會回復完終端設備后立即關(guān)閉連接,當然不排除有特殊的情況。從上面的描述可以看出,短連接一般只會在終端設備和服務器間傳遞一次讀寫操作。
[0063]從上述短連接的示例過程中可以看出,如果控制中心與終端設備之間通過短連接方式傳遞指令,那么每發(fā)送一個指令都需要建立一次短連接,且每發(fā)送完一個指令后都需要關(guān)閉一次短連接。面對數(shù)量龐大的終端設備以及通常在時間上較為集中的軟件升級指令分發(fā)流程,控制中心需要在短時間內(nèi)建立數(shù)量巨大的短連接,并將每一份指令都發(fā)送給對應的終端設備,然后在發(fā)送完畢后關(guān)閉短連接??梢?,這一過程對控制中心的可用系統(tǒng)資源和通信資源的需求都是巨大的,很容易造成下行帶寬的擁堵;同時由于建立連接需要花費一定時間,因而指令的分發(fā)流程會相對耗費時間。
[0064]針對上述問題,本發(fā)明提供了一種軟件升級指令分發(fā)方法,參見圖1所示出的本發(fā)明一個實施例中一種軟件升級指令分發(fā)方法的步驟流程示意圖,該方法包括:
[0065]步驟101:建立與至少一個終端設備的長連接;
[0066]步驟102:向所述終端設備發(fā)送包括軟件版本信息的消息,以使所述終端設備根據(jù)所述軟件版本信息判斷是否需要進行軟件升級,若是則以多播的通信方式從升級服務器處獲取軟件升級數(shù)據(jù)。
[0067]需要說明的是,本發(fā)明實施例所提供的方法的執(zhí)行主體對應于上述“通信服務器”,如上文所述,通信服務器是用于向至少一個終端設備分發(fā)指令的裝置或裝置集合,本發(fā)明不限定其具體的實現(xiàn)方式。
[0068]具體地,上述步驟101中,與至少一個終端設備的長連接建立過程可以具體包括與終端設備之間的多次握手數(shù)據(jù)包的交互。上述步驟102中,由于終端設備可以獲取到自身的軟件版本信息,因而可以與接收到的軟件版本信息進行比較,從而確定是否需要進行軟件升級。例如,終端設備接收到的軟件版本信息中的版本號為“1.6.8”,而若終端設備自身的軟件版本信息中的版本號為“1.5.0”,與“1.6.8”可知自身的對應軟件版本較低時,終端設備可以通過多播的通信方式從升級服務器處獲取軟件升級數(shù)據(jù),以執(zhí)行軟件升級指令。另一方面,若終端設備自身的對應軟件的版本信息為“1.6.8”,代表該軟件已經(jīng)是最新的版本了,那么終端設備就可以忽略這一軟件升級指令。
[0069]可見,由于采用長連接方式進行指令的分發(fā),本發(fā)明實施例可以通過使通信服務器與終端設備建立長連接來使通信服務器代替控制中心執(zhí)行軟件升級指令的分發(fā),從而控制中心不需要與大量終端設備頻繁地建立和關(guān)閉短連接,因而軟件升級指令分發(fā)不會占用控制中心的大量資源;而且長連接不會頻繁的建立和關(guān)閉,可以保障指令迅速地分發(fā)到每一終端,減小指令的發(fā)出與執(zhí)行之間在時間上的延遲。所以,本發(fā)明實施例可以解決軟件升級指令分發(fā)延遲大且需要占用控制中心大量資源問題,執(zhí)行效率高且可操作性強。
[0070]以TCP長連接為例,長連接的建立及消息收發(fā)過程可以按照下述方式進行:終端設備向通信服務器發(fā)起連接,通信服務器接受終端設備連接,雙方建立連接。終端設備與通信服務器完成一次讀寫之后,它們之間的連接并不會主動關(guān)閉,后續(xù)的讀寫操作會繼續(xù)使用這個長連接。而且,為了維護TCP長連接,通信服務器還會向終端設備發(fā)送“心跳數(shù)據(jù)包”來確定終端設備是否還保持著這一 TCP長連接。更具體地,其可以通過以下過程實現(xiàn):
[0071]如果一個給定的TCP長連接在兩小時內(nèi)沒有任何的動作,則通信服務器就向終端設備發(fā)一個心跳數(shù)據(jù)包,那么終端設備可能會有以下情況:
[0072]第一種,終端設備依然正常運行,并從通信服務器可達。終端設備的TCP響應正常,而通信服務器也知道對方是正常的,通信服務器在兩小時后將定時器復位。
[0073]第二種,終端設備已經(jīng)崩潰,并且關(guān)閉或者正在重新啟動。在任何一種情況下,終端設備的TCP長連接都沒有響應。服務端將不能收到對心跳數(shù)據(jù)包的響應,并在等待75秒后判定超時。通信服務器總共發(fā)送10個同樣的心跳數(shù)據(jù)包,每個間隔75秒。如果通信服務器沒有收到一個響應,它就認為終端設備已經(jīng)關(guān)閉并終止TCP長連接。
[0074]第三種,終端設備崩潰并已經(jīng)重新啟動。通信服務器將收到一個對心跳數(shù)據(jù)包的響應,這個響應是會使得通信服務器終止這個TCP長連接。
[0075]第四種,終端設備機正常運行,但是終端設備到通信服務器的通信是中斷的,因而類似于上述第二種情況,通信服務器會認為終端設備已經(jīng)關(guān)閉并終止TCP長連接。
[0076]因此,基于長連接的心跳數(shù)據(jù)包發(fā)送機制,可以將軟件升級指令作為心跳數(shù)據(jù)包的一部分來進行發(fā)送。即,上述步驟102:向所述終端設備發(fā)送包括軟件版本信息的消息,以使所述終端設備根據(jù)所述軟件版本信息判斷是否需要進行軟件升級,若是則以多播的通信方式從升級服務器處獲取軟件升級數(shù)據(jù),可以具體包括圖中未示出的步驟:
[0077]定期向所述終端設備發(fā)送包括軟件版本信息的心跳數(shù)據(jù)包,以使所述終端設備根據(jù)所述軟件版本信息判斷是否需要進行軟件升級,若是則以多播的通信方式從升級服務器處獲取軟件升級數(shù)據(jù)。
[0078]從而,每一次終端設備接收到包括軟件版本信息的心跳數(shù)據(jù)包時,都可以進行是否需要進行軟件升級的判斷,相比較單獨地進行包括軟件版本信息的消息的發(fā)送,可以進一步地減小通信服務器的工作負擔。
[0079]另外,在本發(fā)明實施例中通信服務器可以獨立于控制中心之外統(tǒng)一執(zhí)行向至少一個終端設備的軟件升級指令分發(fā)過程。也就是說,控制中心只需要建立與通信服務器的實時通信,就可以使軟件升級指令快速地下發(fā)至每一終端設備,而自身不需要處理軟件升級指令分發(fā)的流程,因而可以更大限度地執(zhí)行其他控制操作流程。
[0080]而且,正是由于終端設備以多播的通信方式來獲取軟件升級數(shù)據(jù),因而升級服務器可以通過變更多播組內(nèi)的終端設備組成,就可以方便地進行同一份軟件升級數(shù)據(jù)的發(fā)送,配合長連接分發(fā)軟件升級指令的方式的特點可以在控制中心更新軟件版本后使多個終端設備劃分為同一個多播組,從而共同從升級服務器中獲取軟件升級數(shù)據(jù),有利于降低網(wǎng)絡負荷并提高數(shù)據(jù)傳輸效率。
[0081 ] 當然,在本發(fā)明的其他實施例中,通信服務器也可以包含于控制中心當中,其具體流程可以用與上述技術(shù)方案相同的方式進行,在此不再贅述。
[0082]基于同樣的發(fā)明構(gòu)思,本發(fā)明實施例提供了一種軟件升級指令分發(fā)方法,參見圖2所示出的本發(fā)明一個實施例中一種軟件升級指令分發(fā)方法的步驟流程示意圖,該方法包括:
[0083]步驟201:建立與通信服務器的長連接;
[0084]步驟202:接收來自所述通信服務器的包括軟件版本信息的消息;
[0085]步驟203:根據(jù)所述軟件版本信息判斷是否需要進行軟件升級;
[0086]步驟204:若是,則以多播的通信方式從升級服務器處獲取軟件升級數(shù)據(jù)。
[0087]其中,本發(fā)明實施例所提供的方法以“終端設備”為主體,可以實現(xiàn)上文中任意一種軟件升級指令分發(fā)的流程,因而具有相應的技術(shù)特征,并可以解決相同的技術(shù)問題,達到相同的技術(shù)效果。
[0088]比如,對應于上述采用心跳數(shù)據(jù)包發(fā)送軟件版本信息的示例,上述步驟202:接收來自所述通信服務器的包括軟件版本信息的消息,可以具體包括圖中未示出的步驟:
[0089]接收所述通信服務器定期發(fā)送的包括軟件版本信息的心跳數(shù)據(jù)包。
[0090]當然,在接收到心跳數(shù)據(jù)包后,終端設備就可以進行是否需要進行軟件更新的判斷,還可以在響應中反饋其判斷結(jié)果,從而使控制中心可以快速地收集到所有終端設備的軟件升級情況。
[0091]更具體地,上述步驟204中以多播的通信方式從升級服務器處獲取軟件升級數(shù)據(jù)可以具體包括如圖3所示的下述步驟:
[0092]步驟301:向升級服務器發(fā)送包括待獲取的軟件升級數(shù)據(jù)的標識的軟件升級請求消息;
[0093]步驟302:接收升級服務器以多播的通信方式發(fā)送的多個數(shù)據(jù)單元,所述數(shù)據(jù)單元為所述升級服務器生成的與所述軟件升級請求消息中的所述軟件升級數(shù)據(jù)的標識對應的數(shù)據(jù)單元;
[0094]步驟303:根據(jù)接收到的所述多個數(shù)據(jù)單元得到所述軟件升級數(shù)據(jù)。
[0095]這里,多播的通信協(xié)議一般都是基于用戶數(shù)據(jù)包協(xié)議(User Datagram Protocol,UDP)的,可以具體為下述協(xié)議中的一種或者多種:遠程矢量多點傳送路由協(xié)議(DistanceVector Multicast Routing Protocol,DVMRP)、組播開放最短路徑優(yōu)先協(xié)議(MulticastOpen Shortest Path First,MOSPF),密集模式獨立組播協(xié)議(Protocol-1ndependentMulticast-Dense Mode,PIM-DM)、基準樹協(xié)議(Core Based Trees,CBT)和稀疏模式獨立組播協(xié)議(Protocol-1ndependent Multicast-Sparse Mode, PIM-SM)等。
[0096]采用上述技術(shù)方案,升級服務器只需要將大小可以達到幾十GB的軟件升級數(shù)據(jù)以多播的通信方式發(fā)送給多個終端,其中一種情況可以是升級服務器根據(jù)軟件升級數(shù)據(jù)拆生成多個數(shù)據(jù)單元后分給多個網(wǎng)絡節(jié)點,使得網(wǎng)絡節(jié)點復制數(shù)據(jù)后再與其他網(wǎng)絡節(jié)點互通有無,使得數(shù)據(jù)單元可以在通信網(wǎng)絡中呈網(wǎng)狀擴散,且整個通信鏈路中只存在一份軟件升級數(shù)據(jù)的數(shù)據(jù)量,因而可以充分利用網(wǎng)絡中的通信資源,避免了點對點傳輸方式所造成的網(wǎng)絡擁塞,提高了軟件升級數(shù)據(jù)的傳輸效率。
[0097]進一步地,上述步驟303:根據(jù)接收到的所述多個數(shù)據(jù)單元得到所述軟件升級數(shù)據(jù),還可以具體包括未在圖中示出的下述步驟:
[0098]當接收到的數(shù)據(jù)單元的數(shù)目達到預設值時,利用前向糾錯編碼算法根據(jù)接收到的多個數(shù)據(jù)單元得到所述軟件升級數(shù)據(jù);所述數(shù)據(jù)單元包括升級服務器由所述軟件升級數(shù)據(jù)分得的多個原始數(shù)據(jù)單元和升級服務器利用所述前向糾錯編碼算法根據(jù)所述原始數(shù)據(jù)單元得到的多個校驗數(shù)據(jù)單元。
[0099]上述前向糾錯(Forward Error Correct1n,F(xiàn)EC)編碼算法可以說是一種增加傳輸數(shù)據(jù)冗余度來提高傳輸可靠性的算法。通過該算法,終端設備不需要接收到升級服務器所發(fā)送的所有數(shù)據(jù)單元,也可以還原出升級服務器所發(fā)送的全部原始數(shù)據(jù),即通信過程中可以允許丟包。同時,接收到的多個數(shù)據(jù)單元還可以用于對接收到的原始數(shù)據(jù)進行糾錯,以進一步提高傳輸過程的可靠性。
[0100]另一方面,為了保障數(shù)據(jù)傳輸?shù)目煽啃?,上述步驟303:根據(jù)接收到的所述多個數(shù)據(jù)單元得到所述軟件升級數(shù)據(jù),還可以包括圖中未示出的下述步驟:
[0101]當根據(jù)接收到的多個數(shù)據(jù)單元不能得到正確的軟件升級數(shù)據(jù)時,執(zhí)行以下操作中的一項或多項:
[0102]利用前向糾錯編碼算法對得到的軟件升級數(shù)據(jù)進行糾錯;
[0103]拋棄已經(jīng)接收到的所述多個數(shù)據(jù)單元,并繼續(xù)接收升級服務器以多播的通信方式發(fā)送的多個數(shù)據(jù)單元;
[0104]向升級服務器或其他終端設備發(fā)送對應的數(shù)據(jù)單元傳輸請求,以使升級服務器或其他終端設備返回與所述軟件升級數(shù)據(jù)對應的數(shù)據(jù)單元。
[0105]具體地,基于上述前向糾錯(Forward Error Correct1n,F(xiàn)EC)編碼算法,可以在不能得到正確的軟件升級數(shù)據(jù)時對其進行糾錯處理,比如利用有冗余的多個數(shù)據(jù)單元來依照前向糾錯編碼算法進行糾錯,或者使用多種多個數(shù)據(jù)單元的組合方式來嘗試獲取正確的軟件升級數(shù)據(jù)?;蛘?,終端設備也可以拋棄不能得到正確軟件升級數(shù)據(jù)的數(shù)據(jù)單元,而繼續(xù)接收服務器反復發(fā)送的多個數(shù)據(jù)單元,從而同樣可以使得出于各種原因?qū)е碌臄?shù)據(jù)單元丟失或錯誤均可以在下一輪的數(shù)據(jù)單元發(fā)送過程中重新接收,以進一步保障通信的可靠性。
[0106]在上述兩種方式均失效的情況下,也可以向升級服務器或其他終端設備發(fā)送對應的數(shù)據(jù)單元傳輸請求,一方面可以通過收集缺失的數(shù)據(jù)單元來獲得軟件升級數(shù)據(jù),另一方面也可以重新以其他傳輸方式來獲取軟件升級數(shù)據(jù)(在上述方法的傳輸?shù)目煽啃钥梢缘玫奖WC時,這種情況發(fā)生的概率會相當小,因而在總體上不會大幅度增加通信網(wǎng)絡的負荷)。
[0107]在本發(fā)明一個較佳的實施例中,以多播的通信方式從升級服務器處獲取軟件升級數(shù)據(jù)的具體流程如下所述(設軟件升級數(shù)據(jù)文件以及作為傳輸對象的多個終端設備的IP地址均是給定的):
[0108]在文件層次上,升級服務器對于軟件升級數(shù)據(jù)文件(或者軟件升級數(shù)據(jù)文件目錄),會先進行分片處理,比如將所有軟件升級數(shù)據(jù)文件分為多個大小相同的文件片段(當然有個別文件片段的大小可能會不同,其可以通過如添加空白數(shù)據(jù)的常用手段進行規(guī)范化或者特殊處理,下文的類似情況均不再贅述)。為了保障通信的可靠性,可以在文件片段中添加校驗信息,比如根據(jù)文件片段生成的文件完整性校驗編碼和循環(huán)冗余校驗編碼,以生成文件層次上的文件傳輸單元。對于每個終端設備而言,在得到每個文件傳輸單元后,可以利用校驗信息校驗得到的文件片段與原始文件片段的一致性。若存在不一致的情況,可以拋棄該文件傳輸單元并重新傳輸;若校驗可以順利通過,則將得到的文件片段存儲,待得到所有文件片段后再通過分片的逆向操作得到原始的軟件升級數(shù)據(jù)文件。以上則為升級與終端設備在文件層次上的處理流程。
[0109]在數(shù)據(jù)層次上,升級服務器將每一文件傳輸單元分為多個大小較小的、適于前向糾錯編碼的數(shù)據(jù)塊,比如說大小均為64KB的多個數(shù)據(jù)塊。對于每一數(shù)據(jù)塊,再根據(jù)前向糾錯編碼生成多個相同大小的原始數(shù)據(jù)單元和校驗數(shù)據(jù)單元,比如64個1024字節(jié)的原始數(shù)據(jù)單元和64個1024字節(jié)的糾錯數(shù)據(jù)單元(可以使原始數(shù)據(jù)單元的個數(shù)與校驗數(shù)據(jù)單元的個數(shù)相同以得到較佳的文件傳輸可靠性和較小的數(shù)據(jù)冗余度)。在進行前向糾錯編碼時,所基于的編碼標準可以選用Reed-Solomon編碼標準?;谇跋蚣m錯編碼的原理,對于上述總數(shù)為128個的數(shù)據(jù)單元,接收數(shù)據(jù)單元的終端設備可以容忍最多64個原始數(shù)據(jù)單元或校驗數(shù)據(jù)單元同時丟失,即接收到這些數(shù)據(jù)單元的終端設備可以通過對應的數(shù)據(jù)還原算法根據(jù)總數(shù)至少為64的原始數(shù)據(jù)單元和校驗數(shù)據(jù)單元得到原始的數(shù)據(jù)塊。以上則為升級服務器與終端設備在數(shù)據(jù)層次上的處理流程。
[0110]在傳輸層次上,升級服務器以IP多播的通信方式將與每一數(shù)據(jù)塊對應的多個數(shù)據(jù)單元傳輸給終端設備(位于通信鏈路上的每一數(shù)據(jù)包包括加了協(xié)議信息頭的數(shù)據(jù)單元),終端設備則通過接收接收到的數(shù)據(jù)單元為還原數(shù)據(jù)塊做準備。
[0111]具體的,升級服務器可以將原始數(shù)據(jù)單元或校驗數(shù)據(jù)單元作為通信協(xié)議頭的負載同時發(fā)送給指定的多個終端設備,并在發(fā)送完一輪后緊接著發(fā)送下一輪,無限循環(huán)下去直到升級服務器主動終止這一過程。即:當發(fā)送完一個數(shù)據(jù)單元后緊接著發(fā)送下一個數(shù)據(jù)單元直到整個數(shù)據(jù)塊發(fā)送完畢,當發(fā)送完一個數(shù)據(jù)塊的所有數(shù)據(jù)單元后緊接著發(fā)送下一個數(shù)據(jù)塊直到整個文件傳輸單元發(fā)送完畢,當發(fā)送完一個文件傳輸單元的所有數(shù)據(jù)塊后可以再重新發(fā)送這一文件傳輸單元中的所有數(shù)據(jù)塊,直到升級服務器主動終止這一過程。當然,上述IP多播的通信協(xié)議可以有很多種,比如異步分層編碼協(xié)議等等,但這些協(xié)議都滿足同一個基本特征:通信過程的整個鏈路上只存在一份數(shù)據(jù),而不需要同時傳輸多份相同的數(shù)據(jù)。
[0112]同時,升級服務器可以采用如下方式控制終端設備的文件傳輸過程:在通信協(xié)議頭中加入“正在發(fā)送”、“即將停止”和“停止發(fā)送”三類標識,分別代表“當前文件傳輸單元是新發(fā)送的,終端設備應當接收”、“當前文件傳輸單元已經(jīng)發(fā)送完畢,若終端設備已經(jīng)收全則可以停止接收”和“終端設備應立即停止接收”。升級服務器在發(fā)送文件傳輸單元時會先給數(shù)據(jù)單元添加“正在發(fā)送”的標識;在已經(jīng)發(fā)送完該文件傳輸單元的所有數(shù)據(jù)塊的所有數(shù)據(jù)單元之后、在停止發(fā)送數(shù)據(jù)單元之前,給數(shù)據(jù)單元添加“即將停止”的標識;并在最終停止發(fā)送時,給數(shù)據(jù)單元添加“停止發(fā)送”的標識。相應地,若終端設備接收到帶有“正在發(fā)送”標識的數(shù)據(jù)單元,則按照通信協(xié)議頭中的信息將接收到的數(shù)據(jù)單元存放到與該數(shù)據(jù)單元的標識對應的位置,并在接收到足夠的數(shù)據(jù)單元后通過數(shù)據(jù)還原算法來還原數(shù)據(jù)塊;若終端設備接收到帶有“即將停止”標識的數(shù)據(jù)單元,則檢測是否已經(jīng)得到了該文件傳輸單元中的所有數(shù)據(jù)塊,若是則停止接收;若終端設備接收到帶有“停止發(fā)送”標識的數(shù)據(jù)單元時,則立刻停止接收并進行意外處理(例如向附近的通信節(jié)點或升級服務器請求重新傳輸沒有成功接收的文件傳輸單元)。
[0113]以上為升級服務器與終端設備在傳輸層次上的處理流程。
[0114]可見,本發(fā)明實施例的技術(shù)方案分別在文件層次、數(shù)據(jù)層次和傳輸層次上說明了上述方法的【具體實施方式】,使得整個通信鏈路上只存在至多幾份同樣的數(shù)據(jù),因而大大減少了軟件升級數(shù)據(jù)分發(fā)過程對通信資源的占用,降低了通信網(wǎng)絡的負荷。
[0115]基于同樣的發(fā)明構(gòu)思,本發(fā)明實施例提供了一種通信服務器,參見圖4所示出的結(jié)構(gòu)框圖,該通信服務器包括:
[0116]建立單元41,用于建立與至少一個終端設備的長連接;
[0117]發(fā)送單元42,用于向所述終端設備發(fā)送包括軟件版本信息的消息,以使所述終端設備根據(jù)所述軟件版本信息判斷是否需要進行軟件升級,若是則以多播的通信方式從升級服務器處獲取軟件升級數(shù)據(jù)。
[0118]可見,由于采用長連接方式進行指令的分發(fā),本發(fā)明實施例可以通過使通信服務器與終端設備建立長連接來使通信服務器代替控制中心執(zhí)行軟件升級指令的分發(fā),從而控制中心不需要與大量終端設備頻繁地建立和關(guān)閉短連接,因而軟件升級指令分發(fā)不會占用控制中心的大量資源;而且長連接不會頻繁的建立和關(guān)閉,可以保障指令迅速地分發(fā)到每一終端,減小指令的發(fā)出與執(zhí)行之間在時間上的延遲。所以,本發(fā)明實施例可以解決軟件升級指令分發(fā)延遲大且需要占用控制中心大量資源問題,執(zhí)行效率高且可操作性強。
[0119]此外,本實施例的通信服務器可執(zhí)行前述的圖1所示的方法實施例中的流程,本實施例不在此進行詳述。
[0120]另外,對應于上述心跳數(shù)據(jù)包的例子,所述發(fā)送單元可以進一步用于定期向所述終端設備發(fā)送包括軟件版本信息的心跳數(shù)據(jù)包,以使所述終端設備根據(jù)所述軟件版本信息判斷是否需要進行軟件升級,若是則以多播的通信方式從升級服務器處獲取軟件升級數(shù)據(jù)。
[0121]從而,每一次終端設備接收到包括軟件版本信息的心跳數(shù)據(jù)包時,都可以進行是否需要進行軟件升級的判斷,相比較單獨地進行包括軟件版本信息的消息的發(fā)送,可以進一步地減小通信服務器的工作負擔。
[0122]基于同樣的發(fā)明構(gòu)思,本發(fā)明還提供了一種終端設備,參見圖5所示出的結(jié)構(gòu)框圖,該終端設備包括:
[0123]建立單元51,用于與通信服務器的長連接;
[0124]接收單元52,用于接收來自所述通信服務器的包括軟件版本信息的消息;
[0125]判斷單元53,用于根據(jù)所述接收單元52接收到的所述軟件版本信息判斷是否需要進行軟件升級;
[0126]執(zhí)行單元54,用于在判斷單元53判定需要進行軟件升級時以多播的通信方式從升級服務器處獲取軟件升級數(shù)據(jù)。
[0127]其中,本發(fā)明實施例所提供的終端設備可以與上述任意一種通信服務器通過交互來完成軟件升級指令的分發(fā),并可執(zhí)行前述的圖2所示的方法實施例中的流程,本實施例不在此進行詳述。
[0128]在本發(fā)明的一個實施例中,上述執(zhí)行單元54可以具體包括如圖6中所示的下述結(jié)構(gòu):
[0129]發(fā)生模塊61,用于以多播的通信方式從升級服務器處獲取軟件升級數(shù)據(jù);
[0130]接收模塊62,用于接收升級服務器以多播的通信方式發(fā)送的多個數(shù)據(jù)單元,所述數(shù)據(jù)單元為所述升級服務器生成的與所述軟件升級請求消息中的所述軟件升級數(shù)據(jù)的標識對應的數(shù)據(jù)單元;
[0131]處理模塊63,用于根據(jù)接收到的所述多個數(shù)據(jù)單元得到所述軟件升級數(shù)據(jù)。
[0132]采用上述技術(shù)方案,升級服務器只需要將大小可以達到幾十GB的軟件升級數(shù)據(jù)以多播的通信方式發(fā)送給多個終端,其中一種情況可以是升級服務器根據(jù)軟件升級數(shù)據(jù)拆生成多個數(shù)據(jù)單元后分給多個網(wǎng)絡節(jié)點,使得網(wǎng)絡節(jié)點復制數(shù)據(jù)后再與其他網(wǎng)絡節(jié)點互通有無,使得數(shù)據(jù)單元可以在通信網(wǎng)絡中呈網(wǎng)狀擴散,且整個通信鏈路中只存在一份軟件升級數(shù)據(jù)的數(shù)據(jù)量,因而可以充分利用網(wǎng)絡中的通信資源,避免了點對點傳輸方式所造成的網(wǎng)絡擁塞,提高了軟件升級數(shù)據(jù)的傳輸效率。
[0133]進一步地,對應于上述心跳數(shù)據(jù)包的實例,所述接收單元52可以進一步用于接收所述通信服務器定期發(fā)送的包括軟件版本信息的心跳數(shù)據(jù)包。當然,在接收到心跳數(shù)據(jù)包后,終端設備就可以進行是否需要進行軟件更新的判斷,還可以在響應中反饋其判斷結(jié)果,從而使控制中心可以快速地收集到所有終端設備的軟件升級情況。
[0134]另一方面,所述處理模塊63可以進一步用于在接收到的數(shù)據(jù)單元的數(shù)目達到預設值時,利用前向糾錯編碼算法根據(jù)接收到的多個數(shù)據(jù)單元得到所述軟件升級數(shù)據(jù);所述數(shù)據(jù)單元包括升級服務器由所述軟件升級數(shù)據(jù)分得的多個原始數(shù)據(jù)單元和升級服務器利用所述前向糾錯編碼算法根據(jù)所述原始數(shù)據(jù)單元得到的多個校驗數(shù)據(jù)單元。
[0135]上述前向糾錯(Forward Error Correct1n,F(xiàn)EC)編碼算法可以說是一種增加傳輸數(shù)據(jù)冗余度來提高傳輸可靠性的算法。通過該算法,終端設備不需要接收到升級服務器所發(fā)送的所有數(shù)據(jù)單元,也可以還原出升級服務器所發(fā)送的全部原始數(shù)據(jù),即通信過程中可以允許丟包。同時,接收到的多個數(shù)據(jù)單元還可以用于對接收到的原始數(shù)據(jù)進行糾錯,以進一步提高傳輸過程的可靠性。
[0136]進一步地,所述處理模塊63還可以用于在根據(jù)接收到的多個數(shù)據(jù)單元不能得到正確的軟件升級數(shù)據(jù)時,執(zhí)行以下操作中的一項或多項:
[0137]利用前向糾錯編碼算法對得到的軟件升級數(shù)據(jù)進行糾錯;
[0138]拋棄已經(jīng)接收到的所述多個數(shù)據(jù)單元,并繼續(xù)接收升級服務器以多播的通信方式發(fā)送的多個數(shù)據(jù)單元;
[0139]向升級服務器或其他終端設備發(fā)送對應的數(shù)據(jù)單元傳輸請求,以使升級服務器或其他終端設備返回與所述軟件升級數(shù)據(jù)對應的數(shù)據(jù)單元。
[0140]具體地,基于上述前向糾錯(Forward Error Correct1n,F(xiàn)EC)編碼算法,可以在不能得到正確的軟件升級數(shù)據(jù)時對其進行糾錯處理,比如利用有冗余的多個數(shù)據(jù)單元來依照前向糾錯編碼算法進行糾錯,或者使用多種多個數(shù)據(jù)單元的組合方式來嘗試獲取正確的軟件升級數(shù)據(jù)。或者,終端設備也可以拋棄不能得到正確軟件升級數(shù)據(jù)的數(shù)據(jù)單元,而繼續(xù)接收服務器反復發(fā)送的多個數(shù)據(jù)單元,從而同樣可以使得出于各種原因?qū)е碌臄?shù)據(jù)單元丟失或錯誤均可以在下一輪的數(shù)據(jù)單元發(fā)送過程中重新接收,以進一步保障通信的可靠性。
[0141]在上述兩種方式均失效的情況下,也可以向升級服務器或其他終端設備發(fā)送對應的數(shù)據(jù)單元傳輸請求,一方面可以通過收集缺失的數(shù)據(jù)單元來獲得軟件升級數(shù)據(jù),另一方面也可以重新以其他傳輸方式來獲取軟件升級數(shù)據(jù)(在上述方法的傳輸?shù)目煽啃钥梢缘玫奖WC時,這種情況發(fā)生的概率會相當小,因而在總體上不會大幅度增加通信網(wǎng)絡的負荷)。
[0142]本發(fā)明的實施例公開了:
[0143]A1、一種通信服務器,其特征在于,包括:
[0144]建立單元,用于建立與至少一個終端設備的長連接;
[0145]發(fā)送單元,用于向所述終端設備發(fā)送包括軟件版本信息的消息,以使所述終端設備根據(jù)所述軟件版本信息判斷是否需要進行軟件升級,若是則以多播的通信方式從升級服務器處獲取軟件升級數(shù)據(jù)。
[0146]A2、根據(jù)權(quán)利要求A1所述的通信服務器,其特征在于,所述發(fā)送單元進一步用于定期向所述終端設備發(fā)送包括軟件版本信息的心跳數(shù)據(jù)包,以使所述終端設備根據(jù)所述軟件版本信息判斷是否需要進行軟件升級,若是則以多播的通信方式從升級服務器處獲取軟件升級數(shù)據(jù)。
[0147]B3、一種終端設備,其特征在于,該終端設備包括:
[0148]建立單元,用于與通信服務器的長連接;
[0149]接收單元,用于接收來自所述通信服務器的包括軟件版本信息的消息;
[0150]判斷單元,用于根據(jù)所述接收單元接收到的所述軟件版本信息判斷是否需要進行軟件升級;
[0151]執(zhí)行單元,用于在判斷單元判定需要進行軟件升級時以多播的通信方式從升級服務器處獲取軟件升級數(shù)據(jù)。
[0152]B4、根據(jù)權(quán)利要求B3所述的終端設備,其特征在于,所述執(zhí)行單元包括:
[0153]發(fā)生模塊,用于以多播的通信方式從升級服務器處獲取軟件升級數(shù)據(jù);
[0154]接收模塊,用于接收升級服務器以多播的通信方式發(fā)送的多個數(shù)據(jù)單元,所述數(shù)據(jù)單元為所述升級服務器生成的與所述軟件升級請求消息中的所述軟件升級數(shù)據(jù)的標識對應的數(shù)據(jù)單元;
[0155]處理模塊,用于根據(jù)接收到的所述多個數(shù)據(jù)單元得到所述軟件升級數(shù)據(jù)。
[0156]B5、根據(jù)權(quán)利要求B4所述的終端設備,其特征在于,所述處理模塊進一步用于在接收到的數(shù)據(jù)單元的數(shù)目達到預設值時,利用前向糾錯編碼算法根據(jù)接收到的多個數(shù)據(jù)單元得到所述軟件升級數(shù)據(jù);所述數(shù)據(jù)單元包括升級服務器由所述軟件升級數(shù)據(jù)分得的多個原始數(shù)據(jù)單元和升級服務器利用所述前向糾錯編碼算法根據(jù)所述原始數(shù)據(jù)單元得到的多個校驗數(shù)據(jù)單元。
[0157]B6、根據(jù)權(quán)利要求B5所述的終端設備,其特征在于,所述處理模塊還用于在根據(jù)接收到的多個數(shù)據(jù)單元不能得到正確的軟件升級數(shù)據(jù)時,執(zhí)行以下操作中的一項或多項:
[0158]利用前向糾錯編碼算法對得到的軟件升級數(shù)據(jù)進行糾錯;
[0159]拋棄已經(jīng)接收到的所述多個數(shù)據(jù)單元,并繼續(xù)接收升級服務器以多播的通信方式發(fā)送的多個數(shù)據(jù)單元;
[0160]向升級服務器或其他終端設備發(fā)送對應的數(shù)據(jù)單元傳輸請求,以使升級服務器或其他終端設備返回與所述軟件升級數(shù)據(jù)對應的數(shù)據(jù)單元。
[0161]B7、根據(jù)權(quán)利要求BI至B6中任意一項所述的終端設備,其特征在于,所述接收單元進一步用于接收所述通信服務器定期發(fā)送的包括軟件版本信息的心跳數(shù)據(jù)包。
[0162]CS、一種軟件升級指令分發(fā)方法,其特征在于,包括:
[0163]建立與至少一個終端設備的長連接;
[0164]向所述終端設備發(fā)送包括軟件版本信息的消息,以使所述終端設備根據(jù)所述軟件版本信息判斷是否需要進行軟件升級,若是則以多播的通信方式從升級服務器處獲取軟件升級數(shù)據(jù)。
[0165]C9、根據(jù)權(quán)利要求CS所述的方法,其特征在于,所述向所述終端設備發(fā)送包括軟件版本信息的消息,以使所述終端設備根據(jù)所述軟件版本信息判斷是否需要進行軟件升級,若是則以多播的通信方式從升級服務器處獲取軟件升級數(shù)據(jù),包括:
[0166]定期向所述終端設備發(fā)送包括軟件版本信息的心跳數(shù)據(jù)包,以使所述終端設備根據(jù)所述軟件版本信息判斷是否需要進行軟件升級,若是則以多播的通信方式從升級服務器處獲取軟件升級數(shù)據(jù)。
[0167]D10、一種軟件升級指令分發(fā)方法,其特征在于,包括:
[0168]建立與通信服務器的長連接;
[0169]接收來自所述通信服務器的包括軟件版本信息的消息;
[0170]根據(jù)所述軟件版本信息判斷是否需要進行軟件升級;
[0171]若是,則以多播的通信方式從升級服務器處獲取軟件升級數(shù)據(jù)。
[0172]D11、根據(jù)權(quán)利要求DlO所述的方法,其特征在于,所述以多播的通信方式從升級服務器處獲取軟件升級數(shù)據(jù),包括:
[0173]向升級服務器發(fā)送包括待獲取的軟件升級數(shù)據(jù)的標識的軟件升級請求消息;
[0174]接收升級服務器以多播的通信方式發(fā)送的多個數(shù)據(jù)單元,所述數(shù)據(jù)單元為所述升級服務器生成的與所述軟件升級請求消息中的所述軟件升級數(shù)據(jù)的標識對應的數(shù)據(jù)單元;
[0175]根據(jù)接收到的所述多個數(shù)據(jù)單元得到所述軟件升級數(shù)據(jù)。
[0176]D12、根據(jù)權(quán)利要求Dll所述的方法,其特征在于,所述根據(jù)接收到的所述多個數(shù)據(jù)單元得到所述軟件升級數(shù)據(jù),包括:
[0177]當接收到的數(shù)據(jù)單元的數(shù)目達到預設值時,利用前向糾錯編碼算法根據(jù)接收到的多個數(shù)據(jù)單元得到所述軟件升級數(shù)據(jù);所述數(shù)據(jù)單元包括升級服務器由所述軟件升級數(shù)據(jù)分得的多個原始數(shù)據(jù)單元和升級服務器利用所述前向糾錯編碼算法根據(jù)所述原始數(shù)據(jù)單元得到的多個校驗數(shù)據(jù)單元。
[0178]D13、根據(jù)權(quán)利要求D12所述的方法,其特征在于,所述根據(jù)接收到的所述多個數(shù)據(jù)單元得到所述軟件升級數(shù)據(jù),還包括:
[0179]當根據(jù)接收到的多個數(shù)據(jù)單元不能得到正確的軟件升級數(shù)據(jù)時,執(zhí)行以下操作中的一項或多項:
[0180]利用前向糾錯編碼算法對得到的軟件升級數(shù)據(jù)進行糾錯;
[0181]拋棄已經(jīng)接收到的所述多個數(shù)據(jù)單元,并繼續(xù)接收升級服務器以多播的通信方式發(fā)送的多個數(shù)據(jù)單元;
[0182]向升級服務器或其他終端設備發(fā)送對應的數(shù)據(jù)單元傳輸請求,以使升級服務器或其他終端設備返回與所述軟件升級數(shù)據(jù)對應的數(shù)據(jù)單元。
[0183]D14、根據(jù)權(quán)利要求D10至D13中任意一項所述的方法,其特征在于,接收來自所述通信服務器的包括軟件版本信息的消息,包括:
[0184]接收所述通信服務器定期發(fā)送的包括軟件版本信息的心跳數(shù)據(jù)包。
[0185]本發(fā)明的說明書中,說明了大量具體細節(jié)。然而,能夠理解,本發(fā)明的實施例可以在沒有這些具體細節(jié)的情況下實踐。在一些實例中,并未詳細示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對本說明書的理解。
[0186]類似地,應當理解,為了精簡本發(fā)明公開并幫助理解各個發(fā)明方面中的一個或多個,在上面對本發(fā)明的示例性實施例的描述中,本發(fā)明的各個特征有時被一起分組到單個實施例、圖、或者對其的描述中。然而,并不應將該公開的方法解釋呈反映如下意圖:即所要求保護的本發(fā)明要求比在每個權(quán)利要求中所明確記載的特征更多的特征。更確切地說,如下面的權(quán)利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個實施例的所有特征。因此,遵循【具體實施方式】的權(quán)利要求書由此明確地并入該【具體實施方式】,其中每個權(quán)利要求本身都作為本發(fā)明的單獨實施例。
[0187]本領(lǐng)域技術(shù)人員可以理解,可以對實施例中的設備中的模塊進行自適應性地改變并且把它們設置在于該實施例不同的一個或多個設備中??梢园褜嵤├械哪K或單元或組件組合成一個模塊或單元或組件,以及此外可以把它們分成多個子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是互相排斥之處,可以采用任何組合對本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設備的所有過程或單元進行組合。除非另外明確陳述,本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的每個特征可以由提供相同、等同或相似目的的替代特征來代替。
[0188]此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實施例包括其它實施例中所包括的某些特征而不是其它特征,但是不同實施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實施例。例如,在下面的權(quán)利要求書中,所要求保護的實施例的任意之一都可以以任意的組合方式來使用。
[0189]本發(fā)明的各個部件實施例可以以硬件實現(xiàn),或者以在一個或者多個處理器上運行的軟件模塊實現(xiàn),或者以它們的組合實現(xiàn)。本領(lǐng)域的技術(shù)人員應當理解,可以在實踐中使用微處理器或者數(shù)字信號處理器(DSP)來實現(xiàn)根據(jù)本發(fā)明實施例的一種瀏覽器終端的設備中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設備或者裝置程序(例如,計算機程序和計算機程序產(chǎn)品)。這樣的實現(xiàn)本發(fā)明的程序可以存儲在計算機可讀介質(zhì)上,或者可以具有一個或者多個信號的形式。這樣的信號可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。
[0190]應該注意的是上述實施例對本發(fā)明進行說明而不是對本發(fā)明進行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設計出替換實施例。在權(quán)利要求中,不應將位于括號之間的任何參考符號構(gòu)造成對權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個”不排除存在多個這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當編程的計算機來實現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個可以是通過同一個硬件項來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序。可將這些單詞解釋為名稱。
[0191]最后應說明的是:以上各實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述各實施例對本發(fā)明進行了詳細的說明,本領(lǐng)域的普通技術(shù)人員應當理解:其依然可以對前述各實施例所記載的技術(shù)方案進行修改,或者對其中部分或者全部技術(shù)特征進行等同替換;而這些修改或者替換,并不使相應技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的范圍,其均應涵蓋在本發(fā)明的權(quán)利要求和說明書的范圍當中。
【權(quán)利要求】
1.一種通信服務器,其特征在于,包括: 建立單元,用于建立與至少一個終端設備的長連接; 發(fā)送單元,用于向所述終端設備發(fā)送包括軟件版本信息的消息,以使所述終端設備根據(jù)所述軟件版本信息判斷是否需要進行軟件升級,若是則以多播的通信方式從升級服務器處獲取軟件升級數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的通信服務器,其特征在于,所述發(fā)送單元進一步用于定期向所述終端設備發(fā)送包括軟件版本信息的心跳數(shù)據(jù)包,以使所述終端設備根據(jù)所述軟件版本信息判斷是否需要進行軟件升級,若是則以多播的通信方式從升級服務器處獲取軟件升級數(shù)據(jù)。
3.—種終端設備,其特征在于,該終端設備包括: 建立單元,用于與通信服務器的長連接; 接收單元,用于接收來自所述通信服務器的包括軟件版本信息的消息; 判斷單元,用于根據(jù)所述接收單元接收到的所述軟件版本信息判斷是否需要進行軟件升級; 執(zhí)行單元,用于在判斷單元判定需要進行軟件升級時以多播的通信方式從升級服務器處獲取軟件升級數(shù)據(jù)。
4.根據(jù)權(quán)利要求3所述的終端設備,其特征在于,所述執(zhí)行單元包括: 發(fā)生模塊,用于以多播的通信方式從升級服務器處獲取軟件升級數(shù)據(jù); 接收模塊,用于接收升級服務器以多播的通信方式發(fā)送的多個數(shù)據(jù)單元,所述數(shù)據(jù)單元為所述升級服務器生成的與所述軟件升級請求消息中的所述軟件升級數(shù)據(jù)的標識對應的數(shù)據(jù)單元; 處理模塊,用于根據(jù)接收到的所述多個數(shù)據(jù)單元得到所述軟件升級數(shù)據(jù)。
5.根據(jù)權(quán)利要求4所述的終端設備,其特征在于,所述處理模塊進一步用于在接收到的數(shù)據(jù)單元的數(shù)目達到預設值時,利用前向糾錯編碼算法根據(jù)接收到的多個數(shù)據(jù)單元得到所述軟件升級數(shù)據(jù);所述數(shù)據(jù)單元包括升級服務器由所述軟件升級數(shù)據(jù)分得的多個原始數(shù)據(jù)單元和升級服務器利用所述前向糾錯編碼算法根據(jù)所述原始數(shù)據(jù)單元得到的多個校驗數(shù)據(jù)單元。
6.根據(jù)權(quán)利要求5所述的終端設備,其特征在于,所述處理模塊還用于在根據(jù)接收到的多個數(shù)據(jù)單元不能得到正確的軟件升級數(shù)據(jù)時,執(zhí)行以下操作中的一項或多項: 利用前向糾錯編碼算法對得到的軟件升級數(shù)據(jù)進行糾錯; 拋棄已經(jīng)接收到的所述多個數(shù)據(jù)單元,并繼續(xù)接收升級服務器以多播的通信方式發(fā)送的多個數(shù)據(jù)單元; 向升級服務器或其他終端設備發(fā)送對應的數(shù)據(jù)單元傳輸請求,以使升級服務器或其他終端設備返回與所述軟件升級數(shù)據(jù)對應的數(shù)據(jù)單元。
7.根據(jù)權(quán)利要求1至6中任意一項所述的終端設備,其特征在于,所述接收單元進一步用于接收所述通信服務器定期發(fā)送的包括軟件版本信息的心跳數(shù)據(jù)包。
8.一種軟件升級指令分發(fā)方法,其特征在于,包括: 建立與至少一個終端設備的長連接; 向所述終端設備發(fā)送包括軟件版本信息的消息,以使所述終端設備根據(jù)所述軟件版本信息判斷是否需要進行軟件升級,若是則以多播的通信方式從升級服務器處獲取軟件升級數(shù)據(jù)。
9.根據(jù)權(quán)利要求8所述的方法,其特征在于,所述向所述終端設備發(fā)送包括軟件版本信息的消息,以使所述終端設備根據(jù)所述軟件版本信息判斷是否需要進行軟件升級,若是則以多播的通信方式從升級服務器處獲取軟件升級數(shù)據(jù),包括: 定期向所述終端設備發(fā)送包括軟件版本信息的心跳數(shù)據(jù)包,以使所述終端設備根據(jù)所述軟件版本信息判斷是否需要進行軟件升級,若是則以多播的通信方式從升級服務器處獲取軟件升級數(shù)據(jù)。
10.一種軟件升級指令分發(fā)方法,其特征在于,包括: 建立與通信服務器的長連接; 接收來自所述通信服務器的包括軟件版本信息的消息; 根據(jù)所述軟件版本信息判斷是否需要進行軟件升級; 若是,則以多播的通信方式從升級服務器處獲取軟件升級數(shù)據(jù)。
【文檔編號】G06F9/445GK104503801SQ201410844338
【公開日】2015年4月8日 申請日期:2014年12月30日 優(yōu)先權(quán)日:2014年12月30日
【發(fā)明者】蔡東赟, 張家柱, 劉嬌 申請人:北京奇虎科技有限公司, 奇智軟件(北京)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1