[發(fā)明專利]一種高效的無線傳感網(wǎng)地址配置實現(xiàn)方法有效
| 申請?zhí)枺?/td> | 201910102360.5 | 申請日: | 2019-02-01 |
| 公開(公告)號: | CN109688244B | 公開(公告)日: | 2021-08-20 |
| 發(fā)明(設(shè)計)人: | 王曉喃;竇正雄;李燕麗 | 申請(專利權(quán))人: | 常熟理工學(xué)院;賽爾網(wǎng)絡(luò)有限公司 |
| 主分類號: | H04L29/12 | 分類號: | H04L29/12;H04W8/26 |
| 代理公司: | 南京瑞弘專利商標事務(wù)所(普通合伙) 32249 | 代理人: | 楊曉玲 |
| 地址: | 215500 江蘇省蘇*** | 國省代碼: | 江蘇;32 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 高效 無線 傳感 地址 配置 實現(xiàn) 方法 | ||
1.一種高效的無線傳感網(wǎng)地址配置實現(xiàn)方法,其特征在于,所述無線傳感網(wǎng)包括傳感節(jié)點構(gòu)成,傳感節(jié)點簡稱為節(jié)點;傳感節(jié)點包括新節(jié)點和已配置節(jié)點,新節(jié)點為未配置地址的傳感節(jié)點,已配置節(jié)點為配置地址的傳感節(jié)點;一個地址包含前綴和后綴;
一種消息由消息類型唯一定義,消息類型值分別為1、2、3、4和5,對應(yīng)的消息名稱分別為初始化消息、前綴消息、鄰居消息、地址消息和重復(fù)消息;
一個新節(jié)點保存一個初始化表,一個初始化表項包含坐標和生命周期;一個初始化消息包含消息類型和坐標;所述無線傳感網(wǎng)啟動后,所有節(jié)點均為新節(jié)點,每個節(jié)點具有唯一的坐標,每個新節(jié)點執(zhí)行下述操作:
步驟101:開始;
步驟102:新節(jié)點發(fā)送一個初始化消息,該初始化消息的消息類型值為1,坐標為當(dāng)前坐標;
步驟103:新節(jié)點接收到初始化消息后,創(chuàng)建一個初始化表項,該初始化表項的坐標等于該初始化消息的坐標,生命周期設(shè)置為最大值;
步驟104:結(jié)束;
一個節(jié)點保存一個前綴二元組前綴,地址;一個節(jié)點保存一個消息表,一個消息表項包含消息域和生命周期域值;
節(jié)點坐標(x1,y1)和節(jié)點坐標(x2,y2)根據(jù)下述過程判斷大小:
如果x1≤x2 且 y1 y2, 節(jié)點坐標(x1,y1)小于節(jié)點坐標(x2,y2);
如果x1 x2 且 y1≤y2, 節(jié)點坐標(x1,y1)小于節(jié)點坐標(x2,y2);
如果x2≤x1 且 y2 y1, 節(jié)點坐標(x1,y1)大于節(jié)點坐標(x2,y2);
如果x2 x1 且 y2≤y1, 節(jié)點坐標(x1,y1)大于節(jié)點坐標(x2,y2);
一個前綴消息包含消息類型、地址和前綴;一個新節(jié)點建立初始化表后,執(zhí)行下述操作:
步驟201:開始;
步驟202:新節(jié)點啟動時鐘T1,查看初始化表;如果至少存在一個初始化表項,該初始化表項的坐標小于該新節(jié)點的坐標,則執(zhí)行步驟208,否則執(zhí)行步驟203;
步驟203:該新節(jié)點產(chǎn)生一個隨機數(shù)R1并構(gòu)建一個地址A1,地址A1的前綴為R1,后綴為該新節(jié)點的坐標;該新節(jié)點發(fā)送一個前綴消息,該前綴消息的消息類型值為2,地址為A1,前綴為R1;該新節(jié)點創(chuàng)建一個消息表項,該消息表項的消息域值為該前綴消息,生命周期為最大值;
步驟204:新節(jié)點接收到前綴消息后查看消息表,如果存在一個消息表項,該消息表項的消息域值的地址等于該前綴消息的地址,則執(zhí)行步驟208,否則執(zhí)行步驟205;
步驟205:接收到該前綴消息的新節(jié)點創(chuàng)建一個消息表項,該消息表項的消息域值等于該前綴消息,生命周期設(shè)置為最大值;如果該新節(jié)點的坐標小于該前綴消息的地址中的后綴,則執(zhí)行步驟208,否則執(zhí)行步驟206;
步驟206:接收到該前綴消息的新節(jié)點查看消息表,如果該前綴消息地址域值中的后綴小于或者等于任一個消息表項中消息域值的地址后綴,則執(zhí)行步驟207,否則執(zhí)行步驟208;
步驟207:接收到該前綴消息的新節(jié)點轉(zhuǎn)發(fā)該前綴消息,執(zhí)行步驟204;
步驟208:時鐘T1到期后,新節(jié)點查看消息表,選擇一個消息表項,該消息表項中消息域值的地址的后綴最小,將自己的前綴二元組中的第一個元素設(shè)置為該消息表項中消息域值的前綴,將該前綴二元組中的第二個元素設(shè)置為該消息表項中消息域值的地址;該新節(jié)點構(gòu)建一個地址,該地址的前綴等于該前綴二元組的第一個元素,后綴等于該新節(jié)點的坐標,將該地址設(shè)置為自己的地址并轉(zhuǎn)換為已配置節(jié)點;
步驟209:該新節(jié)點刪除自己的初始化表;
步驟210:結(jié)束;
每個已配置節(jié)點保存一個鄰居表,一個鄰居表項包含地址、坐標和生命周期;一個鄰居消息包含消息類型、坐標和地址;已配置節(jié)點CN1定期執(zhí)行下述操作:
步驟301:開始;
步驟302:已配置節(jié)點CN1發(fā)送一個鄰居消息,該鄰居消息的消息類型值為3,坐標等于已配置節(jié)點CN1的坐標,地址為已配置節(jié)點CN1的地址;
步驟303:節(jié)點接收到該鄰居消息后查看鄰居表,如果存在一個鄰居表項,該鄰居表項的地址等于該鄰居表項的地址,則將該鄰居表項的坐標更新為該鄰居消息的坐標,將生命周期設(shè)置為最大值,否則,該節(jié)點創(chuàng)建一個鄰居表項,該鄰居表項的地址等于該鄰居表項的地址,該鄰居表項的坐標為該鄰居消息的坐標,將生命周期設(shè)置為最大值;
步驟304:結(jié)束;
新節(jié)點ND1啟動后,偵聽鄰居已配置節(jié)點發(fā)送的鄰居消息,并設(shè)置前綴二元組,該前綴二元組的第一個元素等于該鄰居消息地址的前綴,第二個元素等于該鄰居消息的地址;
一個地址消息包含消息類型、測試地址、序列號和源地址;
一個重復(fù)消息包含消息類型、測試地址、序列號和目的地址;
一個節(jié)點保存一個重復(fù)表,一個重復(fù)表項包含測試地址、序列號、目的地址和生命周期;
新節(jié)點ND1執(zhí)行下述操作獲取地址:
步驟401:開始;
步驟402:新節(jié)點ND1啟動時鐘T2,構(gòu)建一個地址A2,地址A2的前綴等于自己的前綴二元組的第一個元素,后綴等于隨機數(shù)R2,隨機數(shù)R2符合條件1;新節(jié)點ND1發(fā)送一個地址消息,該地址消息的消息類型值為4,測試地址和源地址均為地址A2,序列號為隨機數(shù)R3;
條件1:隨機數(shù)R2與新節(jié)點ND1所偵聽到的任一個鄰居消息地址域值的后綴都不相同;
步驟403:判斷是新節(jié)點還是已配置節(jié)點接收到該地址消息,如果是新節(jié)點則執(zhí)行步驟415,否則執(zhí)行步驟404;
步驟404:已配置節(jié)點接收到該地址消息,如果該已配置節(jié)點的地址等于該地址消息中的測試地址,則執(zhí)行步驟407,否則執(zhí)行步驟405;
步驟405:接收到地址消息的已配置節(jié)點查看鄰居表,如果存在一個鄰居表項,該鄰居表項的地址等于該地址消息中的測試地址,則執(zhí)行步驟407,否則執(zhí)行步驟406;
步驟406:接收到地址消息的已配置節(jié)點查看重復(fù)表,如果存在一個重復(fù)表項,該重復(fù)表項的測試地址等于該地址消息中的測試地址且序列號不等于該地址消息中的序列號,則執(zhí)行步驟408,否則執(zhí)行步驟409;
步驟407:接收到地址消息的已配置節(jié)點發(fā)送一個重復(fù)消息,該重復(fù)消息的消息類型值為5,測試地址和序列號分別為該地址消息的測試地址和序列號,目的地址為該地址消息的源地址,執(zhí)行步驟411;
步驟408:接收到地址消息的已配置節(jié)點發(fā)送一個重復(fù)消息,該重復(fù)消息的消息類型值為5,測試地址和序列號分別為該地址消息的測試地址和序列號,目的地址為該地址消息的源地址;該已配置節(jié)點選擇一個重復(fù)表項,該重復(fù)表項的測試地址等于該地址消息中的測試地址且序列號不等于該地址消息中的序列號,該已配置節(jié)點發(fā)送一個重復(fù)消息,該重復(fù)消息的消息類型值為5,測試地址和序列號分別為該重復(fù)表項的測試地址和序列號,目的地址為該重復(fù)表項的目的地址,刪除該重復(fù)表項,執(zhí)行步驟411;
步驟409:接收到地址消息的已配置節(jié)點查看重復(fù)表,如果存在一個重復(fù)表項,該重復(fù)表項的測試地址等于該地址消息中的測試地址且序列號等于該地址消息中的序列號,則執(zhí)行步驟415,否則執(zhí)行步驟410;
步驟410:接收到地址消息的已配置節(jié)點創(chuàng)建一個重復(fù)表項,該重復(fù)表項的測試地址等于該地址消息中的測試地址,序列號等于該地址消息中的序列號,目的地址等于該地址消息中的源地址,生命周期等于最大值;該已配置節(jié)點將該地址消息的源地址更新為自己的地址,轉(zhuǎn)發(fā)該地址消息,執(zhí)行步驟403;
步驟411:節(jié)點接收到該重復(fù)消息后,如果該節(jié)點為新節(jié)點,則執(zhí)行步驟415,否則執(zhí)行步驟412;
步驟412:接收到該重復(fù)消息的節(jié)點判斷自己的地址是否等于該重復(fù)消息的目的地址,如果等于,則執(zhí)行步驟413,否則執(zhí)行步驟415;
步驟413;接收到該重復(fù)消息的節(jié)點查看重復(fù)表,如果存在一個重復(fù)表項,該重復(fù)表項的測試地址和序列號分別等于該重復(fù)消息的測試地址和序列號,則執(zhí)行步驟414,否則執(zhí)行步驟415;
步驟414:接收到該重復(fù)消息的節(jié)點選擇一個重復(fù)表項,該重復(fù)表項的測試地址和序列號分別等于該重復(fù)消息的測試地址和序列號,將該重復(fù)消息的目的地址更新為該重復(fù)表項的目的地址,刪除該重復(fù)表項,發(fā)送該重復(fù)消息,執(zhí)行步驟411;
步驟415:時鐘T2到期后,新節(jié)點ND1判斷自己是否接收到目的地址等于自己的地址的重復(fù)消息,如果是,則執(zhí)行步驟402,否則執(zhí)行步驟416;
步驟416:新節(jié)點ND1將地址A2標記為自己的地址并轉(zhuǎn)換為已配置節(jié)點;
步驟417:結(jié)束。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于常熟理工學(xué)院;賽爾網(wǎng)絡(luò)有限公司,未經(jīng)常熟理工學(xué)院;賽爾網(wǎng)絡(luò)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910102360.5/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





