本發(fā)明涉及通信領(lǐng)域,特別涉及一種網(wǎng)狀網(wǎng)絡(luò)中的節(jié)點升級方法與系統(tǒng)。
背景技術(shù):
網(wǎng)狀網(wǎng)絡(luò)(mesh網(wǎng)絡(luò))是一種在網(wǎng)絡(luò)節(jié)點間透過動態(tài)路由或者廣播方式來進行數(shù)據(jù)與控制指令的傳送,其中,網(wǎng)絡(luò)節(jié)點可以是智能照明燈泡或者燈具、智能家居節(jié)點、智慧城市節(jié)點、傳感器網(wǎng)絡(luò)節(jié)點,還可以是其他物聯(lián)網(wǎng)設(shè)備。以藍牙低功耗網(wǎng)狀網(wǎng)(Bluetooth Low Energy Mesh)為例,其中一個重要的應(yīng)用是智能家庭或者智能樓宇的照明系統(tǒng),網(wǎng)絡(luò)的數(shù)據(jù)傳輸通過廣播方式實現(xiàn),一個網(wǎng)絡(luò)中會有幾百個或者上千個節(jié)點,包括智能燈泡,智能開關(guān),傳感器等等。現(xiàn)有技術(shù)中,在網(wǎng)狀網(wǎng)絡(luò)中進行升級,需要控制設(shè)備(如智能手機等)逐次對網(wǎng)絡(luò)中的節(jié)點進行連接,然后各節(jié)點逐個進行升級。
在實現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在以下問題:現(xiàn)有技術(shù)中,網(wǎng)狀網(wǎng)絡(luò)中的各節(jié)點只能逐個進行升級,這導致網(wǎng)絡(luò)需要升級的時間會隨著節(jié)點數(shù)目線性增加,在幾百個或者上千個節(jié)點的網(wǎng)絡(luò)里,效率很低,從而對網(wǎng)狀網(wǎng)絡(luò)的規(guī)模造成了限制。
技術(shù)實現(xiàn)要素:
本發(fā)明實施方式的目的在于提供一種網(wǎng)狀網(wǎng)絡(luò)中的節(jié)點升級方法與系統(tǒng),使得可以縮短網(wǎng)狀網(wǎng)絡(luò)中節(jié)點的升級時間,并且提高節(jié)點的升級效率,同時,網(wǎng)絡(luò)的節(jié)點數(shù)目也可以做到數(shù)千節(jié)點的規(guī)模,大大增加了應(yīng)用的范圍。
為解決上述技術(shù)問題,本發(fā)明的實施方式提供了一種網(wǎng)狀網(wǎng)絡(luò)中的節(jié)點升級方法,應(yīng)用于網(wǎng)狀網(wǎng)絡(luò)中的第一節(jié)點,第一節(jié)點為網(wǎng)狀網(wǎng)絡(luò)中任一節(jié)點,網(wǎng)狀網(wǎng)絡(luò)中包括N個節(jié)點,其中,N為大于1的自然數(shù);網(wǎng)狀網(wǎng)絡(luò)中的節(jié)點升級方法,包括:第一節(jié)點根據(jù)終端指令,進行無線固件升級OTA;第一節(jié)點在完成OTA后,利用廣播信道同時對網(wǎng)狀網(wǎng)絡(luò)中的至少部分第二節(jié)點進行OTA;其中,第二節(jié)點為網(wǎng)狀網(wǎng)絡(luò)中的除第一節(jié)點外的其他節(jié)點。以BLEMesh照明網(wǎng)絡(luò)為例,第一節(jié)點可以是網(wǎng)絡(luò)中的任何一個燈泡,手機或者其他控制設(shè)備可以直接連接到這個節(jié)點,對其進行無線固件升級OTA或者把給其他節(jié)點的固件無線傳輸?shù)竭@個節(jié)點。第一節(jié)點再通過廣播的方式對網(wǎng)絡(luò)里面的其他所有設(shè)備同時進行升級。在某些實現(xiàn)中控制設(shè)備和第一節(jié)點有可能是在一個物理設(shè)備中(例如網(wǎng)關(guān)節(jié)點),本身既可以作為控制設(shè)備,也可以認為是網(wǎng)絡(luò)節(jié)點之一。對于網(wǎng)絡(luò)的升級也有可能是只對部分節(jié)點進行升級,例如一個照明系統(tǒng)里,只對藍牙低功耗燈泡進行升級,或者只對所有的感光Sensor節(jié)點進行升級。
本發(fā)明的實施方式還提供了一種網(wǎng)狀網(wǎng)絡(luò)中的節(jié)點升級方法,應(yīng)用于網(wǎng)狀網(wǎng)絡(luò)中的第二節(jié)點,第二節(jié)點為網(wǎng)狀網(wǎng)絡(luò)中的除第一節(jié)點以外的其他節(jié)點,第一節(jié)點為網(wǎng)狀網(wǎng)絡(luò)中任一節(jié)點,網(wǎng)狀網(wǎng)絡(luò)中包括N個節(jié)點,其中,N為大于1的自然數(shù);網(wǎng)狀網(wǎng)絡(luò)中的節(jié)點升級方法,包括:第二節(jié)點通過接收第一節(jié)點利用廣播信道發(fā)送的OTA升級命令,進行OTA;第二節(jié)點在OTA失敗時,通過再次接收OTA升級命令,重新進行OTA。
本發(fā)明的實施方式還提供了一種網(wǎng)狀網(wǎng)絡(luò)中的節(jié)點升級系統(tǒng),包括:終端、第一節(jié)點與第二節(jié)點,第一節(jié)點為網(wǎng)狀網(wǎng)絡(luò)所包括的N個節(jié)點中的任一節(jié)點,第二節(jié)點為網(wǎng)狀網(wǎng)絡(luò)中除第一節(jié)點之外的其他節(jié)點,其中,N為大于1的自然數(shù);終端用于通過向第一節(jié)點發(fā)送OTA升級指令,與第一節(jié)點進行信息交互;第一節(jié)點用于根據(jù)終端指令,進行OTA;第一節(jié)點還用于在完成OTA后,利用廣播信道同時對網(wǎng)狀網(wǎng)絡(luò)中的至少部分第二節(jié)點進行OTA;第二節(jié)點用于在接收第一節(jié)點利用廣播信道發(fā)送的OTA升級命令后,進行OTA。
本發(fā)明實施方式相對于現(xiàn)有技術(shù)而言,網(wǎng)狀網(wǎng)絡(luò)中的第一節(jié)點可以根據(jù)終端指令,進行OTA,且第一節(jié)點在完成OTA后,可以利用廣播信道同時控制網(wǎng)狀網(wǎng)絡(luò)中的至少部分第二節(jié)點進行OTA,這樣,網(wǎng)狀網(wǎng)絡(luò)中一個節(jié)點升級成功后,可利用廣播信道控制剩余的節(jié)點同時進行固件升級,有利于縮短節(jié)點的升級時間,提高節(jié)點的升級效率。同時,網(wǎng)絡(luò)節(jié)點的升級時間大幅縮短,使得網(wǎng)絡(luò)的節(jié)點數(shù)目也可以做到數(shù)千節(jié)點的規(guī)模,大大增加了應(yīng)用的范圍。
另外,網(wǎng)狀網(wǎng)絡(luò)中的節(jié)點升級方法,還包括:在第一節(jié)點利用廣播信道同時對網(wǎng)狀網(wǎng)絡(luò)中的至少部分第二節(jié)點進行OTA后,第一節(jié)點或者終端通過讀取第二節(jié)點的反饋信息或者版本信息,判斷是否所有上述第二節(jié)點OTA成功;若有未OTA成功的第二節(jié)點,則第一節(jié)點重新利用廣播信道同時對網(wǎng)狀網(wǎng)絡(luò)中的上述第二節(jié)點進行OTA。
本發(fā)明實施方式中,在第二節(jié)點進行OTA后,終端可以判斷是否所有的第二節(jié)點均OTA成功,在有未OTA成功的第二節(jié)點時,第一節(jié)點可對第二節(jié)點重新進行OTA,這樣,可確保網(wǎng)狀網(wǎng)絡(luò)中所有的第二節(jié)點OTA成功。
另外,利用廣播信道同時對網(wǎng)狀網(wǎng)絡(luò)中的至少部分第二節(jié)點進行OTA,包括:第一節(jié)點接收到終端發(fā)送的網(wǎng)狀網(wǎng)絡(luò)OTA啟動命令后,向網(wǎng)狀網(wǎng)絡(luò)中的至少部分第二節(jié)點發(fā)送OTA啟動命令,啟動命令中攜帶待升級固件的信息與設(shè)備類型信息,其中,待升級固件的信息包括固件的版本號信息與固件數(shù)據(jù)包的索引號信息;第一節(jié)點向網(wǎng)狀網(wǎng)絡(luò)中的至少部分第二節(jié)點發(fā)送固件數(shù)據(jù)包,固件數(shù)據(jù)包有多個;第一節(jié)點向網(wǎng)狀網(wǎng)絡(luò)中的至少部分第二節(jié)點發(fā)送OTA結(jié)束命令,結(jié)束命令中攜帶的固件長度信息、固件數(shù)據(jù)包的個數(shù)信息以及固件的校驗值信息。本發(fā)明實施方式中,第一節(jié)點通過向網(wǎng)狀網(wǎng)絡(luò)中的至少部分第二節(jié)點發(fā)送OTA啟動命令、固件數(shù)據(jù)包以及OTA結(jié)束命令,對上述第二節(jié)點進行OTA,使網(wǎng)狀網(wǎng)絡(luò)中所有上述節(jié)點進行OTA更方便可行。
另外,第一節(jié)點向網(wǎng)狀網(wǎng)絡(luò)中的至少部分第二節(jié)點發(fā)送OTA結(jié)束命令后,還包括:第一節(jié)點向網(wǎng)狀網(wǎng)絡(luò)中的至少部分第二節(jié)點發(fā)送OTA讀取結(jié)束命令;第一節(jié)點在接收到第二節(jié)點發(fā)送的讀取結(jié)束反饋信息時,向第二節(jié)點中未接收到OTA結(jié)束命令的節(jié)點重新發(fā)送OTA結(jié)束命令與OTA讀取結(jié)束命令;第一節(jié)點向網(wǎng)狀網(wǎng)絡(luò)中的至少部分第二節(jié)點發(fā)送OTA讀取標識命令;第一節(jié)點在接收到第二節(jié)點發(fā)送的讀取標識反饋信息時,重新向所述第二節(jié)點發(fā)送所述第二節(jié)點未接收成功的固件數(shù)據(jù)包與所述OTA讀取標識命令;第一節(jié)點向網(wǎng)狀網(wǎng)絡(luò)中的至少部分第二節(jié)點發(fā)送OTA讀取校驗結(jié)果命令,并接收第二節(jié)點發(fā)送的校驗結(jié)果反饋信息。本發(fā)明實施方式可以確保網(wǎng)狀網(wǎng)絡(luò)中至少部分第二節(jié)點均可以O(shè)TA成功。
另外,第一節(jié)點在接收到第二節(jié)點發(fā)送的讀取標識反饋信息時,重新向第二節(jié)點發(fā)送第二節(jié)點未接收成功的固件數(shù)據(jù)包與OTA讀取標識命令,包括:第一節(jié)點接收第二節(jié)點發(fā)送的讀取標識反饋信息;讀取標識反饋信息攜帶有第二節(jié)點對固件數(shù)據(jù)包的接收信息;其中,接收信息通過編碼的形式標識第二節(jié)點是否接收到某個或者某幾個固件數(shù)據(jù)包;第一節(jié)點在接收到第二節(jié)點發(fā)送的讀取標識反饋信息時,對接收信息進行匯總,并根據(jù)匯總結(jié)果重新向第二節(jié)點發(fā)送第二節(jié)點未接收成功的固件數(shù)據(jù)包與OTA讀取標識命令。本發(fā)明實施方式中,第二節(jié)點發(fā)送的讀取標識反饋信息,包括整個固件傳輸序列中某個或者某幾個數(shù)據(jù)包未接收成功的接收信息,第一節(jié)點通過對標識信息進行匯總,將第二節(jié)點未接收成功的數(shù)據(jù)包組合起來,重新向第二節(jié)點廣播發(fā)送第二節(jié)點未接收成功的固件數(shù)據(jù)包與OTA讀取標識命令。這樣,在重新發(fā)送第二節(jié)點未接收成功的固件數(shù)據(jù)包時,第一節(jié)點可以根據(jù)反饋信息判斷哪部分數(shù)據(jù)包未接收成功,從而,可以只發(fā)送未接收成功的數(shù)據(jù)包,而不必重新發(fā)送升級所需的整個數(shù)據(jù)包。
附圖說明
圖1是根據(jù)本發(fā)明第一實施方式中的網(wǎng)狀網(wǎng)絡(luò)中的節(jié)點升級系統(tǒng)的結(jié)構(gòu)圖;
圖2是根據(jù)本發(fā)明第一實施方式的網(wǎng)狀網(wǎng)絡(luò)中的節(jié)點升級方法的流程圖;
圖3是根據(jù)本發(fā)明第二實施方式的網(wǎng)狀網(wǎng)絡(luò)中的節(jié)點升級方法的流程圖;
圖4是根據(jù)本發(fā)明第三實施方式的網(wǎng)狀網(wǎng)絡(luò)中的節(jié)點升級方法的流程圖;
圖5是根據(jù)本發(fā)明第四實施方式的網(wǎng)狀網(wǎng)絡(luò)中的節(jié)點升級系統(tǒng)的結(jié)構(gòu)圖。
具體實施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明的各實施方式進行詳細的闡述。然而,本領(lǐng)域的普通技術(shù)人員可以理解,在本發(fā)明各實施方式中,為了使讀者更好地理解本申請而提出了許多技術(shù)細節(jié)。但是,即使沒有這些技術(shù)細節(jié)和基于以下各實施方式的種種變化和修改,也可以實現(xiàn)本申請所要求保護的技術(shù)方案。
本發(fā)明的第一實施方式涉及一種網(wǎng)狀網(wǎng)絡(luò)中的節(jié)點升級方法,應(yīng)用于如圖1所示的網(wǎng)狀網(wǎng)絡(luò)(mesh網(wǎng)絡(luò))內(nèi)的第一節(jié)點102。具體地說,網(wǎng)狀網(wǎng)絡(luò)包括控制終端101、第一節(jié)點102與第二節(jié)點103,其中,第一節(jié)點101為網(wǎng)狀網(wǎng)絡(luò)所包括的N個節(jié)點中的任一節(jié)點,第二節(jié)點為網(wǎng)狀網(wǎng)絡(luò)中除第一節(jié)點以外的其余的節(jié)點,N為大于1的自然數(shù)。
以BLE Mesh照明系統(tǒng)為例,如圖1所示,終端101可以為智能手機,或者平板電腦等終端設(shè)備,第一節(jié)點102可以為燈泡或者其他任一終端設(shè)備,第二節(jié)點103可以為網(wǎng)狀網(wǎng)絡(luò)的各種終端設(shè)備中除第一節(jié)點102之外的其他終端設(shè)備,如圖1所示,第二節(jié)點103可以包括燈泡、開關(guān)等終端設(shè)備。某些情況下終端101和第一節(jié)點102也許屬于同一個物理設(shè)備,例如照明網(wǎng)絡(luò)網(wǎng)關(guān)。
本實施方式的網(wǎng)狀網(wǎng)絡(luò)中的節(jié)點升級方法,如圖2所示,包括:
步驟201:第一節(jié)點根據(jù)終端指令,進行無線固件升級OTA。
具體地說,通過一對一的方式,終端可以向第一節(jié)點發(fā)送OTA升級指令,第一節(jié)點根據(jù)接收到的終端指令,升級到新的固件,完成OTA升級。在第一節(jié)點完成OTA升級后,終端還可以重新連接第一節(jié)點,并通過讀取第一節(jié)點升級后的固件版本號確認第一節(jié)點是否OTA成功,若確認第一節(jié)點未OTA成功,則終端可以重新向第一節(jié)點發(fā)送OTA升級指令,直至第一節(jié)點OTA成功。
舉例來說,在BLE Mesh網(wǎng)絡(luò)中,終端可以通過BLE屬性表(ATT表),向第一節(jié)點發(fā)送讀取ATT表的命令來獲取第一節(jié)點升級后的固件版本號,也可以通過特定的網(wǎng)狀網(wǎng)絡(luò)命令,例如OTA版本讀取命令(CMD-OTA_ReadVer),來獲取第一節(jié)點升級后的固件版本號。
步驟202:第一節(jié)點在完成OTA后,利用廣播信道同時對網(wǎng)狀網(wǎng)絡(luò)中的至少部分第二節(jié)點進行OTA。
具體地說,第一節(jié)點在OTA成功后,可以利用廣播信道向網(wǎng)狀網(wǎng)絡(luò)中的至少部分第二節(jié)點發(fā)送OTA升級命令,上述第二節(jié)點中的部分節(jié)點接收到第一節(jié)點發(fā)送的OTA升級命令后,經(jīng)過多次轉(zhuǎn)發(fā),所有上述第二節(jié)點均可以接收到OTA升級命令,并且在接收到OTA升級命令后,完成OTA升級。第一節(jié)點還可以接收所有上述第二節(jié)點的反饋信息確認OTA升級狀態(tài)。
步驟203:第一節(jié)點或者終端通過讀取第二節(jié)點的反饋信息或者版本信息,判斷是否所有第二節(jié)點OTA成功。
具體地說,在第二節(jié)點完成OTA升級后,終端可以通過讀取網(wǎng)狀網(wǎng)絡(luò)中所有第二節(jié)點的版本信息或者通過第一節(jié)點讀取所有第二節(jié)點的OTA升級狀態(tài),判斷是否所有第二節(jié)點均OTA成功,若判斷結(jié)果為有未OTA成功的第二節(jié)點,則返回步驟202,第一節(jié)點可以利用廣播信道重新向上述第二節(jié)點發(fā)送OTA升級命令,其中,第二節(jié)點中已OTA成功的節(jié)點會忽略上述OTA升級命令,第二節(jié)點中未OTA成功的節(jié)點接收到上述OTA升級命令后,重新進行OTA。根據(jù)實際實現(xiàn)方式,重復升級的次數(shù)可以配置。若判斷結(jié)果為所有第二節(jié)點均OTA成功,則表明網(wǎng)狀網(wǎng)絡(luò)中所有節(jié)點均OTA成功,從而,可以結(jié)束整個流程。
本發(fā)明實施方式相對于現(xiàn)有技術(shù)而言,網(wǎng)狀網(wǎng)絡(luò)中的第一節(jié)點可以根據(jù)終端指令,進行OTA,且第一節(jié)點在完成OTA后,可以利用廣播信道同時控制網(wǎng)狀網(wǎng)絡(luò)中的至少部分第二節(jié)點進行OTA,這樣,網(wǎng)狀網(wǎng)絡(luò)中一個節(jié)點升級成功后,可利用廣播信道控制剩余的節(jié)點同時進行固件升級,有利于縮短節(jié)點的升級時間,提高節(jié)點的升級效率。同時,網(wǎng)絡(luò)節(jié)點的升級時間大幅縮短,使得網(wǎng)絡(luò)的節(jié)點數(shù)目也可以做到數(shù)千節(jié)點的規(guī)模,大大增加了應(yīng)用的范圍。
本發(fā)明的第二實施方式涉及一種網(wǎng)狀網(wǎng)絡(luò)中的節(jié)點升級方法。本實施方式在第一實施方式的基礎(chǔ)上做了進一步細化,提出了一種第一節(jié)點利用廣播信道同時對網(wǎng)狀網(wǎng)絡(luò)中至少部分第二節(jié)點進行OTA的具體實現(xiàn)方法,如圖3所示,包括:
步驟301:第一節(jié)點根據(jù)終端指令,進行無線固件升級OTA。
具體地說,通過一對一的方式,終端可以向第一節(jié)點發(fā)送OTA升級指令,第一節(jié)點根據(jù)接收到的終端指令,升級到新的固件,完成OTA升級。在第一節(jié)點完成OTA升級后,終端還可以重新連接第一節(jié)點,并通過讀取第一節(jié)點升級后的固件版本號確認第一節(jié)點是否OTA成功,若確認第一節(jié)點未OTA成功,則終端可以重新向第一節(jié)點發(fā)送OTA升級指令,直至第一節(jié)點OTA成功。
步驟302:第一節(jié)點接收到終端發(fā)送的網(wǎng)狀網(wǎng)絡(luò)OTA啟動命令后,向網(wǎng)狀網(wǎng)絡(luò)中至少部分第二節(jié)點發(fā)送OTA啟動命令。其中,OTA啟動命令中攜帶待升級固件的信息與設(shè)備類型信息,上述待升級固件的信息包括固件的版本號信息與固件數(shù)據(jù)包的索引號信息。
具體地說,第一節(jié)點接收到終端發(fā)送的網(wǎng)狀網(wǎng)絡(luò)OTA啟動命令后,可以利用廣播信道向至少部分第二節(jié)點發(fā)送OTA啟動命令,網(wǎng)狀網(wǎng)絡(luò)中的所有上述第二節(jié)點接收到OTA啟動命令后,可以判斷啟動命令中攜帶的待升級固件的版本號信息、設(shè)備類型信息是否與自身所攜帶的一致,其中,第二節(jié)點中上述信息一致的節(jié)點可以進入OTA狀態(tài),接收后續(xù)第一節(jié)點所發(fā)送的數(shù)據(jù)包,第二節(jié)點中上述信息不一致的節(jié)點不進入OTA狀態(tài),同時,不會接收后續(xù)第一節(jié)點所發(fā)送的數(shù)據(jù)包。
步驟303:第一節(jié)點向網(wǎng)狀網(wǎng)絡(luò)中的至少部分第二節(jié)點發(fā)送固件數(shù)據(jù)包。其中,固件數(shù)據(jù)包有多個。
具體地說,第一節(jié)點可以利用廣播信道向網(wǎng)狀網(wǎng)絡(luò)中的至少部分第二節(jié)點發(fā)送固件數(shù)據(jù)包,其中,各份固件數(shù)據(jù)包均用相應(yīng)的索引號標識,第一節(jié)點每發(fā)送成功一份固件數(shù)據(jù)包,可以記錄該固件數(shù)據(jù)包的索引號,直至發(fā)送完所有的固件數(shù)據(jù)包。根據(jù)記錄的固件數(shù)據(jù)包的索引號,可以確保所有的固件數(shù)據(jù)包均發(fā)送成功。例如固件被切分為1000個包,索引號可以從0到999進行編號。
網(wǎng)狀網(wǎng)絡(luò)中的所有上述第二節(jié)點接收到第一節(jié)點發(fā)送的固件數(shù)據(jù)包后,根據(jù)固件數(shù)據(jù)包的索引號,將接收到的固件數(shù)據(jù)包存儲到預設(shè)位置,同時,可以在OTA區(qū)域的標識區(qū)內(nèi)以標識信息的形式標識固件數(shù)據(jù)包的接收狀態(tài)。例如,標識區(qū)內(nèi)的比特可以用來標識固件數(shù)據(jù)包的接收狀態(tài),當一份固件數(shù)據(jù)包接收成功后,該數(shù)據(jù)包在標識區(qū)內(nèi)對應(yīng)的比特可以由原先的0轉(zhuǎn)換為1,當標識區(qū)內(nèi)的對應(yīng)所有固件數(shù)據(jù)包的索引號的比特均由0轉(zhuǎn)換為1時,則表示第一節(jié)點發(fā)送的所有固件數(shù)據(jù)包均被第二節(jié)點接收成功。
需要說明的是,根據(jù)第二節(jié)點對固件數(shù)據(jù)包的接收狀態(tài),第一節(jié)點可以將當前的OTA進度信息反饋給終端,且OTA進度每增加預設(shè)百分比,第一節(jié)點均可以向終端發(fā)送當前的OTA進度信息。例如,藍牙低功耗燈需要廣播1千個固件數(shù)據(jù)包給其他節(jié)點,每發(fā)送10個包,就向控制手機回報進度1%,這樣手機可以向用戶顯示反映進度的信息。
步驟304:第一節(jié)點向網(wǎng)狀網(wǎng)絡(luò)中的至少部分第二節(jié)點發(fā)送OTA結(jié)束命令。其中,OTA結(jié)束命令中攜帶固件長度信息、固件數(shù)據(jù)包的個數(shù)信息以及固件的校驗值信息。
具體地說,第一節(jié)點向網(wǎng)狀網(wǎng)絡(luò)中的至少部分第二節(jié)點發(fā)送OTA結(jié)束命令,根據(jù)第二節(jié)點對OTA結(jié)束命令的接收狀態(tài),第一節(jié)點可以向終端發(fā)送當前的OTA進度信息。例如,第一節(jié)點可以向終端發(fā)送當前的OTA進度為96%。需要說明的是,進度沒有設(shè)定100%是因為此時還不能確認所有節(jié)點都OTA成功。
步驟305:第一節(jié)點向網(wǎng)狀網(wǎng)絡(luò)中的至少部分第二節(jié)點發(fā)送OTA讀取結(jié)束命令。
具體地說,第一節(jié)點可以利用廣播信道向網(wǎng)狀網(wǎng)絡(luò)中的至少部分第二節(jié)點發(fā)送OTA讀取結(jié)束命令,第二節(jié)點接收到OTA讀取結(jié)束命令后,會向第一節(jié)點發(fā)送讀取結(jié)束反饋信息,第一節(jié)點根據(jù)第二節(jié)點發(fā)送的讀取結(jié)束反饋信息,向第二節(jié)點重新發(fā)送OTA結(jié)束命令與OTA讀取結(jié)束命令。在實際應(yīng)用中,為了避免大量的反饋信息,上述第二節(jié)點可以在未接收到相對應(yīng)的OTA結(jié)束命令的情況下,向第一節(jié)點發(fā)送讀取結(jié)束反饋信息。第一節(jié)點在接收到第二節(jié)點發(fā)送的讀取結(jié)束反饋信息時,可以重新發(fā)送OTA結(jié)束命令與OTA讀取結(jié)束命令。
例如,第一節(jié)點向網(wǎng)狀網(wǎng)絡(luò)中的所有第二節(jié)點發(fā)送OTA讀取結(jié)束命令后,第二節(jié)點中的某個節(jié)點根據(jù)OTA讀取結(jié)束命令,獲知自身未成功接收第一節(jié)點發(fā)送的OTA結(jié)束命令,則該節(jié)點可以將未接收到OTA結(jié)束命令的信息反饋給第一節(jié)點,第一節(jié)點在接收到該節(jié)點的反饋信息后,可以向該節(jié)點重新發(fā)送OTA結(jié)束命令與OTA讀取結(jié)束命令,確保所有的第二節(jié)點均成功接收到OTA結(jié)束命令。當?shù)谝还?jié)點連續(xù)1.5秒沒有收到第二節(jié)點中任一節(jié)點的反饋信息時,則認為所有第二節(jié)點均成功接收到OTA結(jié)束命令,并退出OTA讀取結(jié)束命令,繼續(xù)執(zhí)行下一步驟。
需要說明的是,在本步驟中,第一節(jié)點可以向終端發(fā)送當前的OTA進度信息。例如,第一節(jié)點可以向終端發(fā)送當前的OTA進度為97%。
步驟306:第一節(jié)點向網(wǎng)狀網(wǎng)絡(luò)中的至少部分第二節(jié)點發(fā)送OTA讀取標識命令。
具體地說,第一節(jié)點可以利用廣播信道向網(wǎng)狀網(wǎng)絡(luò)中的至少部分第二節(jié)點發(fā)送OTA讀取標識命令,第一節(jié)點還可以接收第二節(jié)點發(fā)送的讀取標識反饋信息,并且可以根據(jù)第二節(jié)點發(fā)送的讀取標識反饋信息,重新向第二節(jié)點發(fā)送第二節(jié)點未接收成功的固件數(shù)據(jù)包與OTA讀取標識命令。在實際應(yīng)用中,上述第二節(jié)點可以在固件數(shù)據(jù)沒有接收完整的情況下,向第一節(jié)點發(fā)送讀取標識反饋信息。上述讀取標識反饋信息攜帶有第二節(jié)點對固件數(shù)據(jù)包的接收信息,其中,接收信息通過編碼的形式標識第二節(jié)點是否接收到某個或者某幾個固件數(shù)據(jù)包。第一節(jié)點在接收到第二節(jié)點發(fā)送的讀取標識反饋信息時,對接收信息進行匯總,并根據(jù)匯總結(jié)果重新向第二節(jié)點發(fā)送第二節(jié)點未接收成功的固件數(shù)據(jù)包與OTA讀取標識命令。
更具體地說,網(wǎng)狀網(wǎng)絡(luò)中的第二節(jié)點可以根據(jù)OTA結(jié)束命令中攜帶的固件數(shù)據(jù)包的個數(shù)信息以及步驟303中獲取的標識區(qū)內(nèi)的標識信息,可以判斷是否自己成功接收到固件數(shù)據(jù)包,若判斷結(jié)果為丟失了某個數(shù)據(jù)包,或者某幾個數(shù)據(jù)包,則上述節(jié)點可以將所丟失數(shù)據(jù)包的索引號信息以編碼的形式發(fā)送給第一節(jié)點。例如,如果固件長度一共有10個數(shù)據(jù)包,某個節(jié)點沒有收到第二個和第八個數(shù)據(jù)包,則反饋的BitMap是1011111011。
當?shù)谝还?jié)點接收到上述節(jié)點反饋的索引號信息時,進行匯總,把重復的索引號合并。例如,第一節(jié)點從第二節(jié)點A收到的反饋是1011111011,從第二節(jié)點B收到的反饋是0111101111,則匯總后的信息為0011101011,其中0的位置標識網(wǎng)絡(luò)中發(fā)送不成功的數(shù)據(jù)包。第一節(jié)點通過廣播信道重新向所有第二節(jié)點發(fā)送未發(fā)送成功的固件數(shù)據(jù)包與OTA讀取標識命令,直至發(fā)出OTA讀取標識命令后,連續(xù)預設(shè)時間沒有收到任何反饋信息,則認為所有第二節(jié)點均成功收到所有固件數(shù)據(jù)包。
例如,當?shù)谝还?jié)點接收到的反饋信息為需要重發(fā)的數(shù)據(jù)包的個數(shù)超過32個,或者第一節(jié)點連續(xù)1.5秒沒有收到反饋信息時,第一節(jié)點將停止接收第二節(jié)點的反饋信息,退出當前讀取反饋信息的命令,并通過廣播信道重新向所有第二節(jié)點發(fā)送固件數(shù)據(jù)包與OTA讀取標識命令,直至發(fā)出OTA讀取標識命令后,連續(xù)1.5秒沒有收到任何反饋信息,則認為所有第二節(jié)點均成功收到所有固件數(shù)據(jù)包。
需要說明的是,在本步驟中,第一節(jié)點可以向終端發(fā)送當前的OTA進度信息。例如,第一節(jié)點可以向終端發(fā)送當前的OTA進度為98%。
步驟307:第一節(jié)點向網(wǎng)狀網(wǎng)絡(luò)中的至少部分第二節(jié)點發(fā)送OTA讀取校驗結(jié)果命令。
具體地說,第一節(jié)點可以利用廣播信道向網(wǎng)狀網(wǎng)絡(luò)中的至少部分第二節(jié)點發(fā)送OTA讀取校驗結(jié)果命令,并可以接收第二節(jié)點發(fā)送的校驗結(jié)果反饋信息。在實際應(yīng)用中,第二節(jié)點可以在校驗失敗的情況下,向第一節(jié)點發(fā)送校驗結(jié)果反饋信息。
更具體地說,第一節(jié)點向網(wǎng)狀網(wǎng)絡(luò)中的至少部分第二節(jié)點發(fā)送OTA讀取校驗結(jié)果命令后,上述第二節(jié)點可以根據(jù)OTA結(jié)束命令中攜帶的固件長度信息以及接收到的固件數(shù)據(jù)包,計算出本地校驗值,并且將上述計算出的本地校驗值與OTA結(jié)束命令中攜帶的固件的校驗值進行比較,當比較結(jié)果為二者相同時,則表明校驗成功,相應(yīng)的,若比較結(jié)果為二者不同,則表明校驗失敗。同時,第二節(jié)點可以在校驗失敗的情況下,向第一節(jié)點發(fā)送校驗結(jié)果反饋信息。
需要說明的是,在本步驟中,第一節(jié)點可以向終端發(fā)送當前的OTA進度信息。例如,第一節(jié)點可以向終端發(fā)送當前的OTA進度為99%。
本發(fā)明實施方式中,網(wǎng)狀網(wǎng)絡(luò)中的第二節(jié)點若校驗成功,則可以顯示某種狀態(tài),例如,藍牙低功耗燈慢閃一定的時間,第二節(jié)點若校驗失敗,則可以顯示另一種狀態(tài),例如,快閃一定的時間。無論第二節(jié)點是否校驗成功,在校驗后,第二節(jié)點均進行OTA重啟,此時校驗成功的節(jié)點會運行新的固件,而校驗不成功的節(jié)點仍然會運行舊的固件。
本發(fā)明實施方式中,若第一節(jié)點連續(xù)預設(shè)時間沒有收到校驗信息反饋,則認為所有第二節(jié)點已經(jīng)全部反饋完成,同時,退出讀取校驗值結(jié)果的過程,繼續(xù)等待OTA指示以及重啟時間,此時第一節(jié)點可以向終端發(fā)送當前的OTA進度為100%。
步驟308:第一節(jié)點或者終端通過讀取第二節(jié)點的反饋信息或者版本信息,判斷是否所有第二節(jié)點OTA成功。
具體地說,在第二節(jié)點完成OTA升級后,終端可以通過讀取網(wǎng)狀網(wǎng)絡(luò)中所有第二節(jié)點的版本信息或者通過第一節(jié)點讀取所有第二節(jié)點的OTA升級狀態(tài),判斷是否所有第二節(jié)點均OTA成功,若判斷結(jié)果為有未OTA成功的第二節(jié)點,則返回步驟302,第一節(jié)點可以利用廣播信道重新向上述第二節(jié)點發(fā)送OTA升級命令,其中,第二節(jié)點中已OTA成功的節(jié)點會忽略上述OTA升級命令,第二節(jié)點中未OTA成功的節(jié)點接收到上述OTA升級命令后,重新進行OTA。根據(jù)實際實現(xiàn)方式,重復升級的次數(shù)可以配置。若判斷結(jié)果為所有第二節(jié)點均OTA成功,則表明網(wǎng)狀網(wǎng)絡(luò)中所有節(jié)點均OTA成功,從而,可以結(jié)束整個流程。
本實施方式中,第一節(jié)點通過向網(wǎng)狀網(wǎng)絡(luò)中的至少部分第二節(jié)點發(fā)送OTA啟動命令、固件數(shù)據(jù)包以及OTA結(jié)束命令,對所有上述第二節(jié)點進行OTA,使網(wǎng)狀網(wǎng)絡(luò)中所有節(jié)點進行OTA更方便可行。在所有第二節(jié)點進行OTA后,終端可以判斷是否所有的第二節(jié)點均OTA成功,在有未OTA成功的第二節(jié)點時,第一節(jié)點可對第二節(jié)點重新進行OTA,這樣,可確保網(wǎng)狀網(wǎng)絡(luò)中所有的第二節(jié)點OTA成功。
本發(fā)明的第三實施方式涉及一種網(wǎng)狀網(wǎng)絡(luò)中的節(jié)點升級方法。該升級方法應(yīng)用于網(wǎng)狀網(wǎng)絡(luò)中的第二節(jié)點,其中,第二節(jié)點為網(wǎng)狀網(wǎng)絡(luò)中的除第一節(jié)點以外的其他節(jié)點,第一節(jié)點為網(wǎng)狀網(wǎng)絡(luò)中任一節(jié)點,網(wǎng)狀網(wǎng)絡(luò)中包括N個節(jié)點,其中,N為大于1的自然數(shù)。該網(wǎng)狀網(wǎng)絡(luò)中的節(jié)點升級方法的具體流程如圖4所示,包括:
步驟401:第二節(jié)點接收到第一節(jié)點發(fā)送的OTA啟動命令后,在判定待升級固件的版本號信息、設(shè)備類型信息與自身所攜帶的一致時,進入OTA狀態(tài)。其中,OTA啟動命令中攜帶待升級固件的信息與設(shè)備類型信息,上述待升級固件的信息包括固件的版本號信息與固件數(shù)據(jù)包的索引號信息。
具體地說,網(wǎng)狀網(wǎng)絡(luò)中的所有第二節(jié)點接收到OTA啟動命令后,可以判斷啟動命令中攜帶的待升級固件的版本號信息、設(shè)備類型信息是否與自身所攜帶的一致,其中,第二節(jié)點中上述信息一致的節(jié)點可以進入OTA狀態(tài),接收后續(xù)第一節(jié)點所發(fā)送的數(shù)據(jù)包,第二節(jié)點中上述信息不一致的節(jié)點不進入OTA狀態(tài),同時,不會接收后續(xù)第一節(jié)點所發(fā)送的數(shù)據(jù)包。
步驟402:第二節(jié)點接收到第一節(jié)點發(fā)送的固件數(shù)據(jù)包后,根據(jù)OTA啟動命令中攜帶的固件數(shù)據(jù)包的索引號信息,將固件數(shù)據(jù)包存儲到預設(shè)位置,并以標識信息的形式記錄固件數(shù)據(jù)包的接受狀態(tài)。
例如,標識區(qū)內(nèi)的比特可以用來標識固件數(shù)據(jù)包的接收狀態(tài),當一份固件數(shù)據(jù)包接收成功后,該數(shù)據(jù)包在標識區(qū)內(nèi)對應(yīng)的比特可以由原先的0轉(zhuǎn)換為1,當標識區(qū)內(nèi)的對應(yīng)所有固件數(shù)據(jù)包的索引號的比特均由0轉(zhuǎn)換為1時,則表示第一節(jié)點發(fā)送的所有固件數(shù)據(jù)包均被第二節(jié)點接收成功。
步驟403:第二節(jié)點接收第一節(jié)點發(fā)送的OTA結(jié)束命令,并識別OTA結(jié)束命令中攜帶的固件長度信息、固件數(shù)據(jù)包的個數(shù)信息以及固件的校驗值信息。
步驟404:第二節(jié)點接收到第一節(jié)點發(fā)送的OTA讀取結(jié)束命令后,向網(wǎng)狀網(wǎng)絡(luò)中的第一節(jié)點發(fā)送讀取結(jié)束反饋信息。
具體地說,第二節(jié)點接收到第一節(jié)點發(fā)送的OTA讀取結(jié)束命令后,會向第一節(jié)點發(fā)送讀取結(jié)束命令反饋信息。在實際應(yīng)用中,為了避免大量的反饋信息,上述第二節(jié)點可以只在未接收到相對應(yīng)的OTA結(jié)束命令的情況下,向第一節(jié)點發(fā)送讀取結(jié)束反饋信息。第一節(jié)點在接收到第二節(jié)點發(fā)送的讀取結(jié)束反饋信息后,可以重新發(fā)送OTA結(jié)束命令與OTA讀取結(jié)束命令。
步驟405:第二節(jié)點接收到第一節(jié)點發(fā)送的OTA讀取標識命令后,根據(jù)固件數(shù)據(jù)包個數(shù)信息與標識信息,向第一節(jié)點發(fā)送讀取標識反饋信息。
具體地說,第二節(jié)點接收到第一節(jié)點發(fā)送的OTA讀取標識命令后,可以根據(jù)OTA結(jié)束命令中攜帶的固件數(shù)據(jù)包個數(shù)信息與標識信息,向第一節(jié)點發(fā)送讀取標識反饋信息。在實際應(yīng)用中,上述第二節(jié)點可以僅在固件數(shù)據(jù)沒有接收完整的情況下,向第一節(jié)點發(fā)送讀取標識反饋信息。
更具體地說,第二節(jié)點根據(jù)OTA結(jié)束命令中攜帶的固件數(shù)據(jù)包的個數(shù)信息以及步驟402中獲取的標識區(qū)內(nèi)的標識信息,可以判斷是否自己成功接收到固件數(shù)據(jù)包,若判斷結(jié)果為丟失了某個數(shù)據(jù)包,或者某幾個數(shù)據(jù)包,則上述節(jié)點可以將所丟失數(shù)據(jù)包的索引號信息以編碼的形式發(fā)送給第一節(jié)點。例如,如果固件長度一共有10個數(shù)據(jù)包,某個節(jié)點沒有收到第二個和第八個數(shù)據(jù)包,則反饋的BitMap是1011111011。
步驟406:第二節(jié)點接收到第一節(jié)點發(fā)送的OTA讀取校驗結(jié)果命令后,根據(jù)固件長度信息與固件的校驗值信息,向第一節(jié)點發(fā)送校驗結(jié)果反饋信息。
具體地說,第二節(jié)點接收到第一節(jié)點發(fā)送的OTA讀取校驗結(jié)果命令后,可以根據(jù)OTA結(jié)束命令中攜帶的固件長度信息與固件的校驗值信息,計算出本地校驗值,并且將上述計算出的本地校驗值與OTA結(jié)束命令中攜帶的固件的校驗值進行比較,當比較結(jié)果為二者相同時,則表明校驗成功,相應(yīng)的,若比較結(jié)果為二者不同,則表明校驗失敗。在實際應(yīng)用中,第二節(jié)點可以僅在校驗失敗的情況下,向第一節(jié)點發(fā)送校驗結(jié)果反饋信息。
本發(fā)明實施方式中,網(wǎng)狀網(wǎng)絡(luò)中的第二節(jié)點若校驗成功,則可以顯示某種狀態(tài),例如,藍牙低功耗燈慢閃一定的時間,第二節(jié)點若校驗失敗,則可以顯示另一種狀態(tài),例如,快閃一定的時間。無論第二節(jié)點是否校驗成功,在校驗后,第二節(jié)點均進行OTA重啟,此時校驗成功的節(jié)點會運行新的固件,而校驗不成功的節(jié)點仍然會運行舊的固件。
步驟407:第二節(jié)點在OTA失敗時,通過再次接收OTA升級命令,重新進行OTA。
具體地說,在第二節(jié)點完成OTA升級后,終端可以通過讀取網(wǎng)狀網(wǎng)絡(luò)中所有第二節(jié)點的版本信息或者通過第一節(jié)點讀取所有第二節(jié)點的OTA升級狀態(tài),判斷是否所有第二節(jié)點均OTA成功,若第二節(jié)點中有節(jié)點OTA失敗,則所有第二節(jié)點可以再次接收第一節(jié)點發(fā)送的OTA升級命令,其中已OTA成功的第二節(jié)點可以忽略再次接收的OTA升級命令,OTA失敗的第二節(jié)點在再次接收到OTA升級命令后,可以重新進行OTA。
本實施方式中,網(wǎng)狀網(wǎng)絡(luò)中的所有第二節(jié)點通過接收第一節(jié)點發(fā)送的OTA啟動命令、固件數(shù)據(jù)包以及OTA結(jié)束命令,進行OTA,并且,在第二節(jié)點中有節(jié)點丟失數(shù)據(jù)包時,可重新進行OTA,使得網(wǎng)狀網(wǎng)絡(luò)中所有節(jié)點進行OTA更方便可行。在所有第二節(jié)點進行OTA后,OTA失敗的第二節(jié)點可以通過再次接收OTA升級命令,重新進行OTA。這樣,可確保網(wǎng)狀網(wǎng)絡(luò)中所有的第二節(jié)點OTA成功。
上面各種方法的步驟劃分,只是為了描述清楚,實現(xiàn)時可以合并為一個步驟或者對某些步驟進行拆分,分解為多個步驟,只要包含相同的邏輯關(guān)系,都在本專利的保護范圍內(nèi);對算法中或者流程中添加無關(guān)緊要的修改或者引入無關(guān)緊要的設(shè)計,但不改變其算法和流程的核心設(shè)計都在該專利的保護范圍內(nèi)。
不難發(fā)現(xiàn),本實施方式為與第二實施方式相對應(yīng)的應(yīng)用于第二節(jié)點的網(wǎng)狀網(wǎng)絡(luò)中的節(jié)點升級方法的實施例,本實施方式可與第二實施方式互相配合實施。第二實施方式中提到的相關(guān)技術(shù)細節(jié)在本實施方式中依然有效,為了減少重復,這里不再贅述。相應(yīng)地,本實施方式中提到的相關(guān)技術(shù)細節(jié)也可應(yīng)用在第二實施方式中。
本發(fā)明的第四實施方式涉及一種網(wǎng)狀網(wǎng)絡(luò)中的節(jié)點升級系統(tǒng),如圖5所示,該網(wǎng)狀網(wǎng)絡(luò)中的節(jié)點升級系統(tǒng)500包括:終端501、第一節(jié)點502與第二節(jié)點503,第一節(jié)點502為網(wǎng)狀網(wǎng)絡(luò)所包括的N個節(jié)點中的任一節(jié)點,第二節(jié)點503為網(wǎng)狀網(wǎng)絡(luò)中除第一節(jié)點之外的其他節(jié)點,其中,N為大于1的自然數(shù)。
終端501用于通過向第一節(jié)點502發(fā)送OTA升級指令,與第一節(jié)點502進行信息交互。具體地說,通過一對一的方式,終端501可以向第一節(jié)點502發(fā)送OTA升級指令,第一節(jié)點502根據(jù)接收到的OTA升級指令,升級到新的固件,完成OTA升級。在第一節(jié)點502完成OTA升級后,終端501還可以重新連接第一節(jié)點502,并通過讀取第一節(jié)點502升級后的固件版本號確認第一節(jié)點502是否OTA成功,若確認第一節(jié)點502未OTA成功,則終端501可以重新向第一節(jié)點502發(fā)送OTA升級指令,直至第一節(jié)點502均OTA成功。
第一節(jié)點502用于根據(jù)終端501的指令,進行OTA,第一節(jié)點502還用于在完成OTA后,利用廣播信道同時對網(wǎng)狀網(wǎng)絡(luò)中的至少部分第二節(jié)點503進行OTA。
第二節(jié)點503用于在接收第一節(jié)點502利用廣播信道發(fā)送的OTA升級命令后,進行OTA。
本發(fā)明實施方式中,終端501可以包括指令發(fā)送模塊5011與判斷模塊5012。
指令發(fā)送模塊5011用于向第一節(jié)點502發(fā)送OTA升級指令。
判斷模塊5012用于在第一節(jié)點502利用廣播信道同時對網(wǎng)狀網(wǎng)絡(luò)中的至少部分第二節(jié)點503進行OTA后,通過讀取第二節(jié)點503的版本信息,判斷是否所有第二節(jié)點503均OTA成功,若有未OTA成功的第二節(jié)點503,指令發(fā)送模塊5012還用于重新向第一節(jié)點502發(fā)送OTA指令。
本發(fā)明實施方式中,第一節(jié)點502可以包括第一升級模塊5021、第一發(fā)送模塊5022與第一接收模塊5023。
第一升級模塊5021用于根據(jù)終端501的指令,進行OTA。具體地說,第一節(jié)點的第一升級模塊5021可以根據(jù)第一接收模塊5023接收到的終端指令,升級到新的固件,完成OTA升級。
第一發(fā)送模塊5022用于在完成OTA后,利用廣播信道同時對網(wǎng)狀網(wǎng)絡(luò)中的至少部分第二節(jié)點503發(fā)送OTA升級指令。
第一接收模塊5023用于接收終端501發(fā)送的OTA升級指令,還用于接收第二節(jié)點503在接收到OTA指令后發(fā)送的反饋信息。
本發(fā)明實施方式中,第二節(jié)點503可以包括第二升級模塊5031、第二接收模塊5032與第二發(fā)送模塊5033。
第二升級模塊5031用于在接收到第一節(jié)點502發(fā)送的OTA升級指令時,進行OTA。
第二接收模塊5032用于接收第一節(jié)點502發(fā)送的OTA升級指令。
第二發(fā)送模塊5033用于在接收到第一節(jié)點502發(fā)送的OTA升級指令時,向第一節(jié)點502發(fā)送反饋信息。
本發(fā)明實施方式相對于現(xiàn)有技術(shù)而言,網(wǎng)狀網(wǎng)絡(luò)中的第一節(jié)點可以根據(jù)終端指令,進行OTA,且第一節(jié)點在完成OTA后,可以利用廣播信道同時控制網(wǎng)狀網(wǎng)絡(luò)中的至少部分第二節(jié)點進行OTA,這樣,網(wǎng)狀網(wǎng)絡(luò)中一個節(jié)點升級成功后,可利用廣播信道控制剩余的節(jié)點同時進行固件升級,有利于縮短節(jié)點的升級時間,提高節(jié)點的升級效率。同時,網(wǎng)絡(luò)節(jié)點的升級時間大幅縮短,使得網(wǎng)絡(luò)的節(jié)點數(shù)目也可以做到數(shù)千節(jié)點的規(guī)模,大大增加了應(yīng)用的范圍。
不難發(fā)現(xiàn),本實施方式為與第一實施方式相對應(yīng)的系統(tǒng)實施例,本實施方式可與第一實施方式互相配合實施。第一實施方式中提到的相關(guān)技術(shù)細節(jié)在本實施方式中依然有效,為了減少重復,這里不再贅述。相應(yīng)地,本實施方式中提到的相關(guān)技術(shù)細節(jié)也可應(yīng)用在第一實施方式中。
本領(lǐng)域的普通技術(shù)人員可以理解,上述各實施方式是實現(xiàn)本發(fā)明的具體實施例,而在實際應(yīng)用中,可以在形式上和細節(jié)上對其作各種改變,而不偏離本發(fā)明的精神和范圍。