一種無線傳感網(wǎng)絡(luò)的動(dòng)態(tài)日志的收集與處理方法
【專利摘要】本發(fā)明公開一種無線傳感網(wǎng)絡(luò)的動(dòng)態(tài)日志的收集與處理方法。在需要進(jìn)行日志記錄的各節(jié)點(diǎn)的程序的原始版本源代碼層添加日志記錄程序段,然后將各節(jié)點(diǎn)的添加日志記錄程序段之后的源代碼編譯為對(duì)應(yīng)節(jié)點(diǎn)的第一可執(zhí)行文件,并將上述原始版本源代碼編譯為對(duì)應(yīng)節(jié)點(diǎn)的第二可執(zhí)行文件;找出各節(jié)點(diǎn)的第一可執(zhí)行文件相對(duì)于第二可執(zhí)行文件新增的可執(zhí)行代碼,并將新增的可執(zhí)行代碼打包成為對(duì)應(yīng)節(jié)點(diǎn)的補(bǔ)丁文件;將各補(bǔ)丁文件發(fā)送到對(duì)應(yīng)的各節(jié)點(diǎn),并在各節(jié)點(diǎn)安裝接收到的補(bǔ)丁文件;各節(jié)點(diǎn)通過運(yùn)行安裝了補(bǔ)丁文件的程序獲得日志,并將各日志存儲(chǔ)在對(duì)應(yīng)節(jié)點(diǎn)的外部存儲(chǔ)器中;各節(jié)點(diǎn)將其外部存儲(chǔ)器中的日志發(fā)送到無線網(wǎng)絡(luò)的匯聚節(jié)點(diǎn),匯聚節(jié)點(diǎn)再將各日志發(fā)送至PC端。
【專利說明】一種無線傳感網(wǎng)絡(luò)的動(dòng)態(tài)日志的收集與處理方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于無線自組織網(wǎng)絡(luò)與傳感器網(wǎng)絡(luò)領(lǐng)域,涉及一種動(dòng)態(tài)的無線傳感網(wǎng)絡(luò)日志的收集與處理方法。
【背景技術(shù)】
[0002]嵌入式系統(tǒng)和無線通信技術(shù)上的新進(jìn)展推動(dòng)了無線傳感器網(wǎng)絡(luò)(WSN)的快速發(fā)展。在無線傳感網(wǎng)絡(luò)應(yīng)用的過程中常常需要在網(wǎng)絡(luò)部署以后再向其系統(tǒng)中的適當(dāng)部位插入或刪除一些日志記錄指令,以便在系統(tǒng)運(yùn)行的時(shí)候收集并處理這些日志,從而實(shí)現(xiàn)對(duì)WSN的在線調(diào)試。
[0003]目前已經(jīng)有大量的研究工作致力于WSN的在線調(diào)試工作,但是都沒有提出完整地解決日志記錄問題的系統(tǒng)性方法。此外,現(xiàn)有的方法在應(yīng)用到實(shí)際系統(tǒng)的時(shí)候會(huì)出現(xiàn)系統(tǒng)資源占用過多,影響應(yīng)用程序正常運(yùn)行,以及實(shí)施起來比較復(fù)雜等問題。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的在于提供一種新型的一種無線傳感網(wǎng)絡(luò)的動(dòng)態(tài)日志的收集與處理方法。
[0005]為實(shí)現(xiàn)上述目的,本發(fā)明所采取的技術(shù)方案是:本發(fā)明無線傳感網(wǎng)絡(luò)的動(dòng)態(tài)日志的收集與處理方法包括以下步驟:
[0006](I)在需要進(jìn)行日志記錄的各節(jié)點(diǎn)的程序的原始版本源代碼層添加日志記錄程序段,然后將各節(jié)點(diǎn)的添加日志記錄程序段之后的源代碼編譯為對(duì)應(yīng)節(jié)點(diǎn)的第一可執(zhí)行文件,并且,將需要進(jìn)行日志記錄的各節(jié)點(diǎn)的程序的原始版本源代碼編譯為對(duì)應(yīng)節(jié)點(diǎn)的第二可執(zhí)行文件;
[0007](2)找出所述各節(jié)點(diǎn)的第一可執(zhí)行文件相對(duì)于第二可執(zhí)行文件新增的可執(zhí)行代碼,并將新增的可執(zhí)行代碼打包成為對(duì)應(yīng)節(jié)點(diǎn)的補(bǔ)丁文件;
[0008](3)將各補(bǔ)丁文件通過無線網(wǎng)絡(luò)發(fā)送到對(duì)應(yīng)的所述各節(jié)點(diǎn),并在各節(jié)點(diǎn)安裝接收到的相應(yīng)的補(bǔ)丁文件;
[0009](4)所述各節(jié)點(diǎn)通過運(yùn)行安裝了補(bǔ)丁文件的程序獲得日志,并將各條日志存儲(chǔ)在對(duì)應(yīng)節(jié)點(diǎn)的外部存儲(chǔ)器中;
[0010](5)所述各節(jié)點(diǎn)通過無線網(wǎng)絡(luò)將其外部存儲(chǔ)器中的日志發(fā)送到無線網(wǎng)絡(luò)的匯聚節(jié)
占.[0011]( 6 )無線網(wǎng)絡(luò)的匯聚節(jié)點(diǎn)將各條日志發(fā)送至PC端。
[0012]進(jìn)一步地,本發(fā)明在所述步驟(2)中,所述補(bǔ)丁文件包括兩部分:其中一部分包括在節(jié)點(diǎn)中需要作出修改的可執(zhí)行代碼段的首地址以及所述可執(zhí)行代碼段的內(nèi)容;另一部分包括位于所述可執(zhí)行代碼段后的需要修改的空白段的首地址以及所述空白段的內(nèi)容。
[0013]進(jìn)一步地,本發(fā)明在所述步驟(3 )中,所述安裝是指修改各節(jié)點(diǎn)的所述空白段和修改各節(jié)點(diǎn)的所述可執(zhí)行代碼段。[0014]進(jìn)一步地,本發(fā)明所述“修改各節(jié)點(diǎn)的所述空白段和可執(zhí)行代碼段”是指:把所述空白段和可執(zhí)行代碼段內(nèi)的指令中的相對(duì)地址轉(zhuǎn)化為絕對(duì)地址。
[0015]進(jìn)一步地,本發(fā)明在所述步驟(4)中,所述日志使用長度可變的格式。
[0016]進(jìn)一步地,本發(fā)明在所述步驟(4)中,所述日志中記錄有字符串常量的ID而不含有字符串常量,并且所述日志中記錄有日志產(chǎn)生時(shí)當(dāng)前保存日志的節(jié)點(diǎn)的本地時(shí)間。
[0017]進(jìn)一步地,本發(fā)明在所述步驟(5)中,“所述各節(jié)點(diǎn)通過無線網(wǎng)絡(luò)將其外部存儲(chǔ)器中的日志發(fā)送到網(wǎng)絡(luò)的匯聚節(jié)點(diǎn)”的方法如下:
[0018]所述各節(jié)點(diǎn)經(jīng)由中繼節(jié)點(diǎn)將其外部存儲(chǔ)器中的日志發(fā)送到網(wǎng)絡(luò)的匯聚節(jié)點(diǎn),其中,當(dāng)在各所述節(jié)點(diǎn)和各中繼節(jié)點(diǎn)作為發(fā)送節(jié)點(diǎn)發(fā)送日志時(shí),在所述日志的數(shù)據(jù)包中保存第一時(shí)間差值,所述第一時(shí)間差值為發(fā)送中斷時(shí)間與日志產(chǎn)生時(shí)發(fā)送節(jié)點(diǎn)所在的本地時(shí)間的時(shí)間差值;當(dāng)中繼節(jié)點(diǎn)和匯聚節(jié)點(diǎn)作為接收節(jié)點(diǎn)接收日志時(shí),用接收中斷時(shí)間減去日志的數(shù)據(jù)包中所保存的所述第一時(shí)間差值,得到日志產(chǎn)生時(shí)接收節(jié)點(diǎn)所在的本地時(shí)間,并將日志的數(shù)據(jù)包內(nèi)的日志產(chǎn)生時(shí)間更改為日志產(chǎn)生時(shí)接收節(jié)點(diǎn)所在的本地時(shí)間。
[0019]與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:(1)能夠動(dòng)態(tài)地向無線傳感網(wǎng)絡(luò)的節(jié)點(diǎn)中插入日志記錄指令;(2)所占用的系統(tǒng)資源極少;(3)能夠精確地將發(fā)生在不同節(jié)點(diǎn)上日志的時(shí)間換算為統(tǒng)一的時(shí)間;(4)不需要重新啟動(dòng)無線傳感網(wǎng)絡(luò)的節(jié)點(diǎn)。
【專利附圖】
【附圖說明】
[0020]圖1是本發(fā)明動(dòng)態(tài)日志的收集與處理的流程示意圖;
[0021]圖2是節(jié)點(diǎn)中安裝補(bǔ)丁文件的示意圖;
[0022]圖3是多個(gè)節(jié)點(diǎn)中事件時(shí)間計(jì)算的示意圖。
【具體實(shí)施方式】
[0023]以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0024]本發(fā)明的無線傳感網(wǎng)絡(luò)的動(dòng)態(tài)日志的收集與處理方法主要包括以下步驟(參見圖O:
[0025]步驟1:在需要進(jìn)行日志記錄的各節(jié)點(diǎn)的程序的原始版本源代碼層添加日志記錄程序段,然后將各節(jié)點(diǎn)的添加日志記錄程序段之后的源代碼編譯為對(duì)應(yīng)節(jié)點(diǎn)的第一可執(zhí)行文件,并且,將需要進(jìn)行日志記錄的各節(jié)點(diǎn)的程序的原始版本源代碼編譯為對(duì)應(yīng)節(jié)點(diǎn)的第二可執(zhí)行文件。
[0026]以下以具體實(shí)例進(jìn)行說明。下述代碼是需要進(jìn)行日志記錄的節(jié)點(diǎn)的程序的原始版本源代碼(僅示出部分),其中,下劃線部分是在原始版本源代碼層中添加的日志記錄程序段(僅示出部分):
[0027]
【權(quán)利要求】
1.一種無線傳感網(wǎng)絡(luò)的動(dòng)態(tài)日志的收集與處理方法,其特征是,包括以下步驟: (1)在需要進(jìn)行日志記錄的各節(jié)點(diǎn)的程序的原始版本源代碼層添加日志記錄程序段,然后將各節(jié)點(diǎn)的添加日志記錄程序段之后的源代碼編譯為對(duì)應(yīng)節(jié)點(diǎn)的第一可執(zhí)行文件,并且,將需要進(jìn)行日志記錄的各節(jié)點(diǎn)的程序的原始版本源代碼編譯為對(duì)應(yīng)節(jié)點(diǎn)的第二可執(zhí)行文件; (2)找出所述各節(jié)點(diǎn)的第一可執(zhí)行文件相對(duì)于第二可執(zhí)行文件新增的可執(zhí)行代碼,并將新增的可執(zhí)行代碼打包成為對(duì)應(yīng)節(jié)點(diǎn)的補(bǔ)丁文件; (3)將各補(bǔ)丁文件通過無線網(wǎng)絡(luò)發(fā)送到對(duì)應(yīng)的所述各節(jié)點(diǎn),并在各節(jié)點(diǎn)安裝接收到的相應(yīng)的補(bǔ)丁文件; (4)所述各節(jié)點(diǎn)通過運(yùn)行安裝了補(bǔ)丁文件的程序獲得日志,并將各條日志存儲(chǔ)在對(duì)應(yīng)節(jié)點(diǎn)的外部存儲(chǔ)器中; (5)所述各節(jié)點(diǎn)通過無線網(wǎng)絡(luò)將其外部存儲(chǔ)器中的日志發(fā)送到無線網(wǎng)絡(luò)的匯聚節(jié)點(diǎn); (6)無線網(wǎng)絡(luò)的匯聚節(jié)點(diǎn)將各條日志發(fā)送至PC端。
2.根據(jù)權(quán)利要求1所述的無線傳感網(wǎng)絡(luò)的動(dòng)態(tài)日志的收集與處理方法,其特征是:在所述步驟(2)中,所述補(bǔ)丁文件包括兩部分:其中一部分包括在節(jié)點(diǎn)中需要作出修改的可執(zhí)行代碼段的首地址以及所述可執(zhí)行代碼段的內(nèi)容;另一部分包括位于所述可執(zhí)行代碼段后的需要修改的空白段的首地址以及所述空白段的內(nèi)容。
3.根據(jù)權(quán)利要求2所述的無線傳感網(wǎng)絡(luò)的動(dòng)態(tài)日志的收集與處理方法,其特征是:在所述步驟(3)中,所述安裝是指修改各節(jié)點(diǎn)的所述空白段和修改各節(jié)點(diǎn)的所述可執(zhí)行代碼段。
4.根據(jù)權(quán)利要求3所述的一種無線傳感網(wǎng)絡(luò)的動(dòng)態(tài)日志的收集與處理方法,其特征是,所述“修改各節(jié)點(diǎn)的所述空白段和可執(zhí)行代碼段”是指:把所述空白段和可執(zhí)行代碼段內(nèi)的指令中的相對(duì)地址轉(zhuǎn)化為絕對(duì)地址。
5.根據(jù)權(quán)利要求1所述的一種無線傳感網(wǎng)絡(luò)的動(dòng)態(tài)日志的收集與處理方法,其特征是:在所述步驟(4)中,所述日志使用長度可變的格式。
6.根據(jù)權(quán)利要求1或5所述的一種無線傳感網(wǎng)絡(luò)的動(dòng)態(tài)日志的收集與處理方法,其特征是:在所述步驟(4)中,所述日志中記錄有字符串常量的ID而不含有字符串常量,并且所述日志中記錄有日志產(chǎn)生時(shí)當(dāng)前保存日志的節(jié)點(diǎn)的本地時(shí)間。
7.根據(jù)權(quán)利要求1所述的一種無線傳感網(wǎng)絡(luò)的動(dòng)態(tài)日志的收集與處理方法,其特征是,在所述步驟(5)中,“所述各節(jié)點(diǎn)通過無線網(wǎng)絡(luò)將其外部存儲(chǔ)器中的日志發(fā)送到網(wǎng)絡(luò)的匯聚節(jié)點(diǎn)”的方法如下: 所述各節(jié)點(diǎn)經(jīng)由中繼節(jié)點(diǎn)將其外部存儲(chǔ)器中的日志發(fā)送到網(wǎng)絡(luò)的匯聚節(jié)點(diǎn),其中,當(dāng)在各所述節(jié)點(diǎn)和各中繼節(jié)點(diǎn)作為發(fā)送節(jié)點(diǎn)發(fā)送日志時(shí),在所述日志的數(shù)據(jù)包中保存第一時(shí)間差值,所述第一時(shí)間差值為發(fā)送中斷時(shí)間與日志產(chǎn)生時(shí)發(fā)送節(jié)點(diǎn)所在的本地時(shí)間的時(shí)間差值;當(dāng)中繼節(jié)點(diǎn)和匯聚節(jié)點(diǎn)作為接收節(jié)點(diǎn)接收日志時(shí),用接收中斷時(shí)間減去日志的數(shù)據(jù)包中所保存的所述第一時(shí)間差值,得到日志產(chǎn)生時(shí)接收節(jié)點(diǎn)所在的本地時(shí)間,并將日志的數(shù)據(jù)包內(nèi)的日志產(chǎn)生時(shí)間更改為日志產(chǎn)生時(shí)接收節(jié)點(diǎn)所在的本地時(shí)間。
【文檔編號(hào)】H04W84/18GK103888966SQ201410079067
【公開日】2014年6月25日 申請(qǐng)日期:2014年3月5日 優(yōu)先權(quán)日:2014年3月5日
【發(fā)明者】陳純, 董瑋, 卜佳俊, 劉 文, 趙志為 申請(qǐng)人:浙江大學(xué)