本發明涉及通信,具體而言,涉及一種通信模組遠程升級方法及系統。
背景技術:
1、通信模組(communication?module)是指一種集成化的電子組件,它被設計用于實現設備之間的數據傳輸。這類模組通常包含必要的硬件和軟件,以支持特定的通訊協議或標準。在物聯網(iot)中,通訊模組扮演著至關重要的角色,它作為連接物理世界和數字世界的橋梁,使得不同類型的設備能夠相互通信并接入互聯網。通信模組的遠程升級(ota,over-the-air?updates)需求主要出現在需要保持設備軟件和固件最新、確保安全性和功能性的場景中。通過實施遠程升級機制,不僅可以提高系統的靈活性和響應速度,還能減少維護成本,延長設備使用壽命。此外,遠程升級也是保障設備安全的重要手段之一,可以幫助抵御新型網絡安全威脅。
2、在當前的物聯網中,針對同類型的在線設備的大規模部署場景非常多,當這些大量設備的通信模組同時出現升級需求時,需要在合適的時間內且保持通信模組功能正常的情況下,快速準確的完成所有設備的遠程升級。
3、因此,如何提供一種更高效的通信模組遠程升級方法,是目前亟待解決的問題。
技術實現思路
1、為了改善上述問題,本發明提供了一種通信模組遠程升級方法及系統。
2、本發明實施例的第一方面,提供了一種通信模組遠程升級方法,所述方法包括:
3、獲取進行升級所需的完整數據包,將完整數據包分割為多個可單獨執行的子數據包;
4、根據待升級通信模組的組網狀態,對待升級通信模組進行分區;
5、根據每個分區內通信模組與中心服務器的網絡連接狀態,確定每個分區的種子設備,由種子設備從中心服務器下載所有子數據包;
6、每個待升級通信模組根據當前的設備情況,確定完成升級所需要的子數據包;
7、每個待升級通信模組根據自身的工作狀態,確定升級時間窗口;
8、當到達升級時間窗口時,待升級通信模組根據當前的網絡連接狀態從種子設備處獲取升級所需要的子數據包。
9、可選地,所述將完整數據包分割為多個可單獨執行的子數據包的步驟,具體包括:
10、獲取本次升級所涉及的通信模組的功能單元;
11、根據功能單元的劃分,將完整數據包分割為多個子數據包,每個子數據包可單獨用于對應功能單元的升級;
12、為分割后的每個子數據包添加用于標識其相關信息的元數據。
13、可選地,所述為分割后的每個子數據包添加用于標識其相關信息的元數據的步驟,具體包括:
14、對于執行升級時存在必要先后執行順序的多個子數據包,添加用于標識先后執行順序的元數據。
15、可選地,所述根據待升級通信模組的組網狀態,對待升級的通信模組進行分區的步驟,具體包括:
16、獲取待升級通信模組的網絡連接信息,確定每個通信模組所屬的子網或路由節點;
17、將屬于同一子網或路由節點下的設備分為同一分區。
18、可選地,所述網絡連接狀態包括上下行帶寬、網絡延遲以及丟包率,所述根據每個分區內通信模組與中心服務器的網絡連接狀態,確定每個分區的種子設備的步驟,具體包括:
19、獲取通信模組所在設備的存儲空間,篩選出存儲空間大于所有子數據包大小之和的設備;
20、針對篩選出的設備,按照預設評分規則的分別針對其通信模組與中心服務器之間的上下行帶寬、網絡延遲以及丟包率進行打分;
21、根據分區內所包括的通信模組的總數,選擇得分最高的一個或者多個設備作為該分區的種子設備。
22、可選地,所述每個待升級通信模組根據自身的工作狀態,確定升級時間窗口的步驟,具體包括:
23、獲取待升級通信模組的歷史工作狀態,所述歷史工作狀態包括歷史網絡流量情況、歷史信號強度和歷史關鍵任務時段;
24、確定信號強度達到信號強度閾值、可用流量大于升級所需要的子數據包且與關鍵任務時段不重疊的時間段,作為升級時間窗口。
25、可選地,所述待升級通信模組根據當前的網絡連接狀態從種子設備處獲取升級所需要的子數據包的步驟,具體包括:
26、待升級通信模組獲取所有子數據包的元數據,根據當前固件版本確定升級所需要的子數據包;
27、待升級通信模組獲取與所在分區內種子設備之間的網絡連接狀態,判斷是否支持下載升級所需要的子數據包;
28、如果支持,則從當前種子設備處獲取升級所需要的子數據包;
29、如果不支持,則繼續查找其他支持下載升級所需要的子數據包的種子設備。
30、可選地,所述待升級通信模組根據當前的網絡連接狀態從種子設備處獲取升級所需要的子數據包的步驟,具體還包括:
31、如果無法找到其他支持下載全部升級所需要的子數據包的種子設備,則根據與當前種子設備的網絡連接狀態,計算可以完成下載的子數據包數量,并從當前種子設備處獲取對應數量的子數據包。
32、可選地,所述待升級通信模組根據當前的網絡連接狀態從種子設備處獲取升級所需要的子數據包的步驟,具體還包括:
33、如果無法找到其他支持下載升級所需要的子數據包的種子設備,則查找所在分區內已經完成子數據包下載的通信模組;
34、從查找到的通信模組所在設備下載升級所需要的子數據包。
35、本發明實施例的第二方面,提供了一種通信模組遠程升級系統,包括:
36、數據分割單元,用于獲取進行升級所需的完整數據包,將完整數據包分割為多個可單獨執行的子數據包;
37、模組分區單元,用于根據待升級通信模組的組網狀態,對待升級通信模組進行分區;
38、種子確定單元,用于根據每個分區內通信模組與中心服務器的網絡連接狀態,確定每個分區的種子設備,由種子設備從中心服務器下載所有子數據包;
39、差分確定單元,用于每個待升級通信模組根據當前的設備情況,確定完成升級所需要的子數據包;
40、窗口確定單元,用于每個待升級通信模組根據自身的工作狀態,確定升級時間窗口;
41、數據獲取單元,用于當到達升級時間窗口時,待升級通信模組根據當前的網絡連接狀態從種子設備處獲取升級所需要的子數據包。
42、綜上所述,本發明提供了一種通信模組遠程升級方法及系統,通過科學合理的分區策略、高效的種子設備選擇、靈活的時間窗口安排以及可靠的子數據包獲取方法,確保了通信模組遠程升級過程的高效性、可靠性和靈活性。這種方法不僅提高了固件升級的效率,還增強了系統的容錯能力,最大限度地減少了對通信模組正常工作的影響,特別適合應用于大規模部署場景下的通信模組批量遠程升級。
1.一種通信模組遠程升級方法,其特征在于,所述方法包括:
2.根據權利要求1所述的通信模組遠程升級方法,其特征在于,所述將完整數據包分割為多個可單獨執行的子數據包的步驟,具體包括:
3.根據權利要求2所述的通信模組遠程升級方法,其特征在于,所述為分割后的每個子數據包添加用于標識其相關信息的元數據的步驟,具體包括:
4.根據權利要求2或3任意一項所述的通信模組遠程升級方法,其特征在于,所述根據待升級通信模組的組網狀態,對待升級通信模組進行分區的步驟,具體包括:
5.根據權利要求4所述的通信模組遠程升級方法,其特征在于,所述網絡連接狀態包括上下行帶寬、網絡延遲以及丟包率,所述根據每個分區內通信模組與中心服務器的網絡連接狀態,確定每個分區的種子設備的步驟,具體包括:
6.根據權利要求5所述的通信模組遠程升級方法,其特征在于,所述每個待升級通信模組根據自身的工作狀態,確定升級時間窗口的步驟,具體包括:
7.根據權利要求6中所述的通信模組遠程升級方法,其特征在于,所述待升級通信模組根據當前的網絡連接狀態從種子設備處獲取升級所需要的子數據包的步驟,具體包括:
8.根據權利要求7所述的通信模組遠程升級方法,其特征在于,所述待升級通信模組根據當前的網絡連接狀態從種子設備處獲取升級所需要的子數據包的步驟,具體還包括:
9.根據權利要求7所述的通信模組遠程升級方法,其特征在于,所述待升級通信模組根據當前的網絡連接狀態從種子設備處獲取升級所需要的子數據包的步驟,具體還包括:
10.一種通信模組遠程升級系統,其特征在于,包括: