1.一種物聯(lián)網(wǎng)系統(tǒng)終端設(shè)備的多渠道自適應(yīng)日志記錄、輸出方法,其特征在于,包括:
獲取日志記錄請求;
基于預(yù)定的日志記錄、輸出策略進(jìn)行日志的記錄、輸出;或基于通訊網(wǎng)絡(luò)狀況、終端設(shè)備的本地存儲(chǔ)空間、物聯(lián)網(wǎng)系統(tǒng)繁忙程度自適應(yīng)地生成相應(yīng)的日志記錄、輸出策略進(jìn)行日志的記錄、輸出;
其中,所述的日志記錄、輸出策略包括:
本地記錄、輸出策略:日志輸出至設(shè)備終端的緩存器進(jìn)行記錄;
串口記錄、輸出策略:日志通過串口輸出至日志服務(wù)器進(jìn)行日志記錄;
日志服務(wù)器記錄、輸出策略:日志通過通訊網(wǎng)絡(luò)上傳至日志服務(wù)器進(jìn)行日志記錄,日志由日志服務(wù)器轉(zhuǎn)發(fā)至日志服務(wù)器;和/或
云終端記錄、輸出策略:日志通過通訊網(wǎng)絡(luò)上傳至云終端進(jìn)行日志記錄,日志由云終端轉(zhuǎn)發(fā)至日志服務(wù)器。
2.根據(jù)權(quán)利要求1所述的物聯(lián)網(wǎng)系統(tǒng)終端設(shè)備的多渠道自適應(yīng)日志記錄、輸出方法,其特征在于,日志記錄、輸出策略的生成過程具體包括:
獲取終端設(shè)備的配置,判斷是否支持本地閃存,
若支持,則獲取本地日志參數(shù),打開本地日志接口,判斷是否啟用本地日志,若啟用,則確定本地日志的記錄級(jí)別、存儲(chǔ)空間大小、覆蓋策略,其中,所述覆蓋策略包括:不覆蓋即寫滿則停止、循環(huán)覆蓋即始終覆蓋最早的記錄;
若不支持,則判斷是否支持串口日志,
若支持,則獲取串口日志參數(shù),打開串口日志接口,判斷是否啟用串口日志,若啟用,則確定串口日志的記錄級(jí)別;串口號(hào);
若不支持,則判斷是否支持日志服務(wù)器,
若支持,則獲取日志服務(wù)器日志參數(shù),打開日志服務(wù)器日志接口,判斷是否啟用日志服務(wù)器日志,若啟用,則確定日志服務(wù)器的記錄級(jí)別,日志服務(wù)器的地址和端口號(hào);
若不支持,則判斷是否支持是否支持云平臺(tái)日志,
若支持,則獲取云平臺(tái)日志參數(shù),打開云平臺(tái)日志接口,判斷是否啟用云平臺(tái)日志,若啟用,則確定云平臺(tái)日志的記錄級(jí)別、云平臺(tái)的地址、端口號(hào)和訪問令牌;
若不支持,則獲取終端設(shè)備的運(yùn)行狀態(tài),生成日志記錄和輸出策略,即根據(jù)日志配置參數(shù)、終端設(shè)備的配置及運(yùn)行狀態(tài)包括網(wǎng)絡(luò)狀況、本地存儲(chǔ)空間、系統(tǒng)繁忙程度決定日志記錄和輸出策略;
其中,日志記錄級(jí)別采用正整數(shù)表示,數(shù)字越小表明級(jí)別越高,日志記錄級(jí)別與日志記錄請求中的級(jí)別相對應(yīng),只有當(dāng)記錄請求中的級(jí)別小于或等于日志記錄級(jí)別時(shí),該日志記錄請求才會(huì)被處理。
3.根據(jù)權(quán)利要求2所述的物聯(lián)網(wǎng)系統(tǒng)終端設(shè)備的多渠道自適應(yīng)日志記錄、輸出方法,其特征在于,日志記錄和輸出過程中還包括:判斷是否啟用自適應(yīng)策略,若啟用,則在通訊網(wǎng)絡(luò)狀況很差或者物聯(lián)網(wǎng)系統(tǒng)繁忙時(shí),用簡化版的日志內(nèi)容代替正常的日志內(nèi)容,以減少帶寬占用和存儲(chǔ)空間占用,自動(dòng)提高日志記錄級(jí)別以犧牲低級(jí)別日志信息為代價(jià),保留更多關(guān)鍵日志信息,物聯(lián)網(wǎng)系統(tǒng)和通信網(wǎng)絡(luò)處于正常狀態(tài)時(shí),自適應(yīng)策略將自動(dòng)失效。
4.根據(jù)權(quán)利要求1所述的物聯(lián)網(wǎng)系統(tǒng)終端設(shè)備的多渠道自適應(yīng)日志記錄、輸出方法,其特征在于,日志的輸出過程具體包括:
S1確定是否收到日志請求;
S2.1若沒有,則判斷終端設(shè)備的緩存區(qū)是否有待發(fā)送日志,若有待發(fā)送日志,則讀取緩存區(qū)日志信息,輸出日志信息;若沒有待發(fā)送日志,則不做處理;
S2.2若有,則獲取日志記錄和輸出策略,獲取日志記錄請求;
S2若沒有,則轉(zhuǎn)至S4;
S3確定自適應(yīng)策略是否生效,
若生效,則提高日志記錄級(jí)別,打開簡化版日志內(nèi)容開關(guān),轉(zhuǎn)至S4;
若不生效,則轉(zhuǎn)至S4;
S4判斷日志請求級(jí)別是否大于日志記錄級(jí)別,
若是,則不記錄;
若否,則判斷日志內(nèi)容是否需要簡化,
若需要,則簡化日志內(nèi)容,轉(zhuǎn)至S5;
若不需要,則轉(zhuǎn)至S5;
S5確定日志是否需要緩存,
若是,則判斷緩存區(qū)是否可用,若可用,則緩存日志信息;若不可用,則轉(zhuǎn)至S1;
若否,則輸出日志信息。
5.根據(jù)權(quán)利要求3或4所述的物聯(lián)網(wǎng)系統(tǒng)終端設(shè)備的多渠道自適應(yīng)日志記錄、輸出方法,其特征在于,簡化版的日志內(nèi)容生成方法包括:如果日志記錄請求中包括簡化版日志內(nèi)容,則使用請求中的數(shù)據(jù);如果日志記錄請求無簡化版日志內(nèi)容,則取正常版日志內(nèi)容的前16個(gè)字節(jié)作為簡化版內(nèi)容。
6.根據(jù)權(quán)利要求1所述的物聯(lián)網(wǎng)系統(tǒng)終端設(shè)備的多渠道自適應(yīng)日志記錄、輸出方法,其特征在于,還包括將日志服務(wù)器與終端設(shè)備進(jìn)行綁定連接,具體包括:
匿名綁定:包括終端設(shè)備為初始狀態(tài),終端設(shè)備與唯一日志服務(wù)器建立匿名綁定,其中該唯一日志服務(wù)器為主日志服務(wù)器,其他日志服務(wù)器為子日志服務(wù)器;
用戶靜態(tài)綁定:包括在云平臺(tái)上注冊用戶賬號(hào),用戶賬號(hào)在主日志服務(wù)器上登錄,該用戶賬號(hào)驗(yàn)證通過,終端設(shè)備與該用戶賬號(hào)建立用戶靜態(tài)綁定,其中第一個(gè)與主日志服務(wù)器完成用戶靜態(tài)綁定的用戶賬號(hào)為終端設(shè)備的主用戶賬號(hào),其他用戶賬戶為普通用戶賬號(hào);
用戶動(dòng)態(tài)綁定:包括主用戶賬號(hào)在子日志服務(wù)器上登錄,云平臺(tái)向該子日志服務(wù)器下發(fā)終端設(shè)備列表,子日志服務(wù)器與終端設(shè)備進(jìn)行用戶動(dòng)態(tài)綁定;
用戶授權(quán)綁定:包括系統(tǒng)管理員賬號(hào)或主用戶賬號(hào)登錄云平臺(tái),在云平臺(tái)上授權(quán)某些用戶賬號(hào)與其權(quán)限內(nèi)的終端設(shè)備或設(shè)備組進(jìn)行綁定,被授權(quán)的用戶賬號(hào)登錄子日志服務(wù)器時(shí)云平臺(tái)下發(fā)該用戶已授權(quán)的終端設(shè)備列表,完成用戶賬號(hào)與終端設(shè)備或終端設(shè)備組的用戶授權(quán)綁定;和/或
用戶申請綁定:包括主用戶賬號(hào)登錄云平臺(tái),通過云平臺(tái)生成綁定二維碼,用戶賬戶登錄子日志服務(wù)器識(shí)別綁定二維碼,子日志服務(wù)器與終端設(shè)備進(jìn)行用戶邀請綁定。
7.根據(jù)權(quán)利要求6所述的物聯(lián)網(wǎng)系統(tǒng)終端設(shè)備的多渠道自適應(yīng)日志記錄、輸出方法,其特征在于,所述匿名綁定具體包括:對終端設(shè)備進(jìn)行復(fù)位,使終端設(shè)備處于初始狀態(tài),在限定的時(shí)間周期內(nèi),建立終端設(shè)備與主控器的通訊連接關(guān)系,通過終端設(shè)備記錄主控器的唯一標(biāo)示,主日志服務(wù)器記錄終端設(shè)備唯一標(biāo)示,完成主日志服務(wù)器與終端設(shè)備的匿名綁定。
8.根據(jù)權(quán)利要求7所述的物聯(lián)網(wǎng)系統(tǒng)終端設(shè)備的多渠道自適應(yīng)日志記錄、輸出方法,其特征在于,用戶申請綁定過程中生成的綁定二維碼的屬性包括:指定用戶賬號(hào)或不指定用戶賬號(hào)、有效次數(shù)為單次或多次、有效期、復(fù)制綁定關(guān)系或轉(zhuǎn)移綁定關(guān)系、終端設(shè)備列表;
其中,指定用戶的綁定二維碼只對指定的用戶賬號(hào)有效,不指定用戶的綁定二維碼對所有用戶賬號(hào)有效;
單次有效綁定二維碼被使用一次后即時(shí)效;
如果主用戶為綁定二維碼設(shè)定了有效期,則超過有效期無論是否使用過,該二維碼即失效;
如果綁定二維碼設(shè)定為復(fù)制綁定關(guān)系,則成功使用此二維碼的用戶會(huì)獲得與主用戶賬號(hào)相同的終端設(shè)備列表;
如果綁定二維碼設(shè)定為轉(zhuǎn)移綁定關(guān)系,則成功使用此二維碼的用戶賬號(hào)會(huì)獲得與主用戶賬號(hào)相同的終端設(shè)備列表,同時(shí)成為新的主用戶賬號(hào),原主用戶賬號(hào)則變?yōu)槠胀ㄓ脩糍~號(hào),主用戶賬號(hào)選擇部分或全部終端設(shè)備生成綁定二維碼。
9.一種物聯(lián)網(wǎng)系統(tǒng)終端設(shè)備的多渠道自適應(yīng)日志記錄、輸出系統(tǒng),其特征在于,若所述的終端設(shè)備具有閃存,則閃存用于日志緩存和本地日志存儲(chǔ);
所述終端設(shè)備包括日志模塊,用于接收日志服務(wù)器的日志記錄請求,基于預(yù)定的日志記錄、輸出策略進(jìn)行日志的記錄、輸出;或基于通訊網(wǎng)絡(luò)狀況、終端設(shè)備的本地存儲(chǔ)空間、物聯(lián)網(wǎng)系統(tǒng)繁忙程度自適應(yīng)地生成相應(yīng)的日志記錄、輸出策略進(jìn)行日志的記錄、輸出;
其中,所述的日志記錄、輸出策略包括:
本地記錄、輸出策略:日志輸出至設(shè)備終端的緩存器進(jìn)行記錄;
串口記錄、輸出策略:日志通過串口輸出至日志服務(wù)器進(jìn)行日志記錄;
日志服務(wù)器記錄、輸出策略:日志通過通訊網(wǎng)絡(luò)上傳至日志服務(wù)器進(jìn)行日志記錄,日志由日志服務(wù)器轉(zhuǎn)發(fā)至日志服務(wù)器;和/或
云終端記錄、輸出策略:日志通過通訊網(wǎng)絡(luò)上傳至云終端進(jìn)行日志記錄,日志由云終端轉(zhuǎn)發(fā)至日志服務(wù)器。
10.根據(jù)權(quán)利要求9所述的物聯(lián)網(wǎng)系統(tǒng)終端設(shè)備的多渠道自適應(yīng)日志記錄、輸出系統(tǒng),其特征在于,所述日志模塊包括:日志接口模塊、日志策略模塊、日志生成模塊、日志緩存模塊和日志輸出模塊;其中,
所述日志接口模塊,包括日志配置接口、日志記錄接口和日志輸出接口,其中,日志配置接口直接或間接接收日志服務(wù)器的日志配置消息,并將配置參數(shù)傳送給日志策略模塊;日志記錄接口接收日志記錄請求,并將請求提供給日志生成模塊,其中,物聯(lián)網(wǎng)終端設(shè)備上的其他模塊和組件通過所述日志記錄接口調(diào)用日志記錄;日志記錄接口的接口參數(shù)包括:級(jí)別和日志內(nèi)容和/或簡化版日志內(nèi)容;日志輸出接口則被日志輸出模塊調(diào)用,實(shí)現(xiàn)日志信息向串口、本地存儲(chǔ)、云平臺(tái)和日志服務(wù)器的傳送;
日志策略模塊負(fù)責(zé)根據(jù)日志配置參數(shù)、終端設(shè)備的配置及運(yùn)行狀態(tài),決定日志生成和輸出策略,所述運(yùn)行狀態(tài)包括網(wǎng)絡(luò)狀況、本地存儲(chǔ)空間、系統(tǒng)繁忙程度;
日志生成模塊從日志記錄接口接收日志記錄請求,并根據(jù)日志策略模塊產(chǎn)生的日志生成和輸出策略生成日志數(shù)據(jù);日志信息通過日志輸出模塊傳輸?shù)饺罩灸K外部;如果日志模塊檢測到網(wǎng)絡(luò)故障,日志信息會(huì)在本地閃存中緩存,等待后續(xù)傳送;
日志輸出模塊調(diào)用日志輸出接口,向串口、本地存儲(chǔ)、云平臺(tái)和日志服務(wù)器傳送日志信息。