一種家庭網關本地批量升級的方法和系統的制作方法
【技術領域】
[0001]本發明涉及網絡通信技術領域,具體涉及一種家庭網關本地批量升級的方法和系統。
【背景技術】
[0002]隨著光通信產業的蓬勃發展,運營商對家庭網關的需求量也越來越大。在現行的家庭網關產品規模生產中,偶爾會發現已經生產的設備的軟件存在嚴重缺陷,影響設備的放裝和在現網中的應用,但是該版本的設備已經大量生產,少則幾千臺,多則數萬臺,一般存在于倉庫或車間,等待發貨或放裝。此時,就必須對現有的家庭網關設備軟件進行批量升級,在最短的時間內解決當前版本存在的缺陷。
[0003]基于生產車間或倉庫的網絡環境,無法從網關的WAN(廣域網)側進行批量升級,而現階段又沒有一種本地批量升級的方法,只能通過圖形管理界面或telnet (遠程終端協議)的方式對家庭網關設備逐一進行升級,無法進行批量升級,家庭網關設備升級效率低,并致使人力成本和時間浪費嚴重。
【發明內容】
[0004]本發明所要解決的技術問題是從設備LAN側的網口對家庭網關設備進行批量升級的問題。
[0005]為了解決上述技術問題,本發明所采用的技術方案是提供一種家庭網關本地批量升級的方法包括以下步驟:
[0006]第一步、鏡像發送端子模塊按照一個固定長度字節對完整鏡像數據進行分片,并對鏡像信息和在數據前加入分片索引、分片長度控制信息的每片分片鏡像數據分別進行封裝;
[0007]第二步、鏡像發送端子模塊通過廣播方式將封裝的鏡像信息和各個分片鏡像數據發送給各個家庭網關的鏡像接收端子模塊;
[0008]第三步、各個家庭網關的鏡像接收端子模塊對封裝的鏡像信息進行解析,并根據解析內容為重組的完整鏡像數據分配相應內存空間;
[0009]第四步、各個家庭網關的鏡像接收端子模塊對封裝的分片鏡像數據進行解封裝、重組,并對重組的完整鏡像數據進行校驗和鏡像寫入操作。
[0010]在上述方法中,
[0011]鏡像信息包括:升級標識、鏡像分片數目和鏡像總字節長度;
[0012]鏡像分片數目是利用鏡像總字節長度和鏡像發送端子模塊對完整鏡像數據進行分片時采用的一個固定長度字節計算獲得。
[0013]在上述方法中,
[0014]在對分片鏡像數據進行封裝時,順序地對分片鏡像數據進行線性封裝;
[0015]在對封裝的分片鏡像數據進行發送時,在發送完一個封裝的分片鏡像數據后,進行適當的延時,再發送下一個封裝的分片鏡像數據,如此循環直至所有封裝的分片鏡像數據發送完畢。
[0016]在上述方法中,
[0017]第三步具體包括以下步驟:
[0018]步驟S301、家庭網關的鏡像接收端子模塊對收到的封裝的鏡像信息進行解析,解析出升級標識、鏡像分片數目和鏡像總字節長度;
[0019]步驟S302、根據解析出的升級標識來判斷是否是鏡像升級操作,如果是鏡像升級操作,執行步驟S303,否則,執行步驟S304 ;
[0020]步驟S303、根據解析出的鏡像總字節長度分配相同長度的內存空間,執行步驟S305 ;
[0021]步驟S304、直接提示升級失敗;
[0022]步驟S305、結束程序。
[0023]在上述方法中,
[0024]第四步具體包括以下步驟:
[0025]步驟S401、家庭網關的鏡像接收端子模塊對封裝的分片鏡像數據進行解封裝,得到分片鏡像數據、分片索引和分片長度;
[0026]步驟S402、檢查所有分片鏡像數據的分片索引,判斷是否有丟包,如果發現有丟包,則執行步驟S403 ;否則,執行步驟S404 ;
[0027]步驟S403、標識設備升級失敗,并返回錯誤,執行步驟S408 ;
[0028]步驟S404、根據分片長度和分片索引對解析的分片鏡像數據進行數據重組操作;
[0029]步驟S405、判斷最后一個分片鏡像數據是否已經進行數據重組,如果是,則執行步驟S406 ;否則,執行步驟S404 ;
[0030]步驟S406、對數據重組獲得的完整鏡像數據進行校驗,判斷校驗結果是否合法,如果不合法,則執行步驟S403 ;否則,執行步驟S407 ;
[0031]步驟S407、對數據重組獲得的完整鏡像數據執行鏡像寫入Flash操作。
[0032]步驟S408、程序結束。
[0033]在上述方法中,
[0034]鏡像發送端子模塊和各個家庭網關的鏡像接收端子模塊在廣播通信過程中,需要對雙方的地址和端口進行約定,具體為:
[0035]鏡像發送端子模塊通過廣播方式發送數據的對端地址為定向廣播地址,端口為指定的固定端口;
[0036]相應的,家庭網關的鏡像接收端子模塊必須使用鏡像發送端子模塊通過廣播方式發送數據時指定的固定端口。
[0037]本發明還提供了一種家庭網關本地批量升級的系統,包括鏡像發送端子模塊、網絡連接設備和多個設在不同家網關內部的鏡像接收端子模塊;其中,所述鏡像發送端子模塊與所述鏡像接收端子模塊通過所述網絡連接設備連接;
[0038]所述鏡像發送端子模塊按照一個固定長度字節對完整鏡像數據進行分片,并對鏡像信息以及在數據前加入分片索引、分片長度控制信息的各個分片鏡像數據分別進行封裝,再通過廣播方式將封裝的鏡像信息以及各個分片鏡像數據發送給各個家庭網關的所述鏡像接收端子模塊;
[0039]每個所述鏡像接收端子模塊首先對接收的封裝的鏡像信息進行解析,并根據解析內容為完整鏡像數據分配相應內存空間;再對封裝的各個分片鏡像數據進行解封裝和數據重組,并對重組的完整鏡像數據進行校驗和鏡像寫入操作。
[0040]在上述一種家庭網關本地批量升級的系統中,
[0041]所述網絡連接設備是支持數據鏈路層協議的集線器或交換機;
[0042]所述網絡連接設備通過每個家庭網關的LAN側端口與所述鏡像接收端子模塊相連。
[0043]在上述一種家庭網關本地批量升級的系統中,所述鏡像發送端子模塊包括:
[0044]發送程序初始化單元,用在于初始化所述鏡像發送端子模塊的網絡通信協議;
[0045]發送動態內存分配單元,在對網絡通信協議初始化后,動態分配與完整鏡像數據同等大小的內存空間,并將讀取的完整鏡像數據保存到分配的內存空間中;
[0046]鏡像信息封裝單元,對保存在所述發送動態內存分配單元中的完整鏡像數據的鏡像信息進行封裝,并發送;
[0047]鏡像數據分片及封裝單元,對保存在所述發送動態內存分配單元中的完整鏡像數據按照一個固定長度字節進行分片,在每片分片鏡像數據前加入對應的分片索引、分片長度控制信息,并分別進行封裝發送出去;
[0048]數據發送單元,將所述鏡像信息封裝單元發送的封裝的鏡像信息;以及所述鏡像數據分片及封裝單元發送的所有封裝的分片鏡像數據以廣播方式發送給所述鏡像接收端子模塊。
[0049]在上述一種家庭網關本地批量升級的系統中,所述鏡像接收端子模塊包括:
[0050]接收程序初始化單元,用于初始化所述鏡像接收端子模塊的網絡通信協議,并對所述鏡像發送端子模塊發送的廣播數據包進行監聽;
[0051]數據接收單元,當所述接收程序初始化單元監聽到封裝的鏡像信息和分片鏡像數據的廣播數據包時,接收并發送所述廣播數據包;
[0052]鏡像信息解析單元,對所述數據接收單元接收的封裝的鏡像信息廣播數據包進行解析;
[0053]接收動態內存分配單元,根據所述鏡像信息解析單元解析出的鏡像信息,為重組的完整鏡像數據動態分配同等大小的內存空間;
[0054]分片鏡像數據解封裝及重組單元,對所述數據接收單元收到的封裝的分片鏡像數據進行立即解封裝,根據解析得到的分片索引、分片長度控制信息對分片鏡像數據進行數據重組,并保存到所述接收動態內存分配單元動態分配的內存空間中;
[0055]鏡像校驗及升級單元,對內存空間中重組的完整鏡像數據的鏡像長度和合法性進行校驗,并在校驗成功后執行鏡像軟件寫入Flash的操作。
[0056]本發明通過網絡連接設備連接家庭網關的LAN側端口,使鏡像發送端子模塊與鏡像接收端子模塊連接,從設備LAN側的網口實現對家庭網關設備的批量升級,并具有以下優點:
[005