[發(fā)明專利]基于塊狀鏈表結(jié)構(gòu)的6lowpan數(shù)據(jù)包重裝緩存方法有效
| 申請(qǐng)?zhí)枺?/td> | 201210580981.2 | 申請(qǐng)日: | 2012-12-28 |
| 公開(公告)號(hào): | CN103023808A | 公開(公告)日: | 2013-04-03 |
| 發(fā)明(設(shè)計(jì))人: | 孫知信;駱冰清 | 申請(qǐng)(專利權(quán))人: | 南京郵電大學(xué) |
| 主分類號(hào): | H04L12/861 | 分類號(hào): | H04L12/861;H04L29/06 |
| 代理公司: | 南京經(jīng)緯專利商標(biāo)代理有限公司 32200 | 代理人: | 朱小兵 |
| 地址: | 210003 江蘇*** | 國省代碼: | 江蘇;32 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 基于 塊狀 結(jié)構(gòu) lowpan 數(shù)據(jù)包 重裝 緩存 方法 | ||
1.一種基于塊狀鏈表結(jié)構(gòu)的6lowpan數(shù)據(jù)包緩存方法,其特征在于,在基于6lowpan的無線傳感器網(wǎng)絡(luò)中,根據(jù)接收節(jié)點(diǎn)對(duì)于接收到數(shù)據(jù)包分片時(shí)緩存的狀態(tài)分為以下A、B、C三種情況處理:
A、當(dāng)鏈表為空鏈表,即不存在其他已經(jīng)緩存的數(shù)據(jù)包分片,此時(shí)對(duì)所接收到的數(shù)據(jù)包分片處理過程如下:
A1、讀取數(shù)據(jù)包分片的首部,根據(jù)首部字段size的值判斷該數(shù)據(jù)包負(fù)載的總大小,然后根據(jù)該數(shù)據(jù)包負(fù)載的總大小建立緩沖區(qū),同時(shí)根據(jù)首部字段tag的值判斷該數(shù)據(jù)包分片所屬于的數(shù)據(jù)包標(biāo)示信息;?
A2、為6lowpan分片數(shù)據(jù)包建立由next、scis、tag、size、Ip-len組成的五元組;其中各字段定義如下:next代表下一節(jié)點(diǎn)指針,在每個(gè)節(jié)點(diǎn)中所表示的意義相同;scis為指向所分配緩沖區(qū)的開端的指針;tag用于標(biāo)示屬于同一數(shù)據(jù)包的一組分片;size代表緩沖區(qū)的大小,與整個(gè)數(shù)據(jù)包大小一致;Ip-len表示已經(jīng)處理過的數(shù)據(jù)包分片長度,其隨著處理數(shù)據(jù)包分片的數(shù)量的增加而增加;
A3、將scis指針指向緩沖區(qū)地址;將next指針指向鏈表的頭指針,插入五元組;
A4、繼續(xù)接收其他數(shù)據(jù)包分片,返回步驟A1;
B、當(dāng)鏈表為非空鏈表,即存在其他已經(jīng)緩存的數(shù)據(jù)包分片,此時(shí)對(duì)所接收的數(shù)據(jù)包分片處理過程如下:
B1、讀取數(shù)據(jù)包分片的首部,根據(jù)首部字段size的值判斷該數(shù)據(jù)包負(fù)載的總大小,根據(jù)首部字段tag的值判斷該數(shù)據(jù)包分片所屬于的數(shù)據(jù)包標(biāo)示信息;
B2、根據(jù)B1中所讀取的tag的值,在鏈表中查找是否已存在相同tag值的鏈表節(jié)點(diǎn),若存在相同tag值的鏈表節(jié)點(diǎn),則轉(zhuǎn)B3;若不存在相同tag值的鏈表節(jié)點(diǎn),則轉(zhuǎn)B4;
B3、根據(jù)所查找到的鏈表節(jié)點(diǎn)中的scis指針,將該數(shù)據(jù)包分片存儲(chǔ)至已分配好的緩沖區(qū);
B4、為該6lowpan分片數(shù)據(jù)包建立由next、scis、tag、size、Ip-len組成的五元組,根據(jù)size的大小建立緩沖區(qū),scis指針指向緩沖區(qū)地址;將該節(jié)點(diǎn)插入到上一節(jié)點(diǎn)后,保存指針;
B5、返回步驟B1繼續(xù)接收其他數(shù)據(jù)包分片;
C、當(dāng)鏈表的最后一個(gè)節(jié)點(diǎn)已存儲(chǔ)了正在接收的數(shù)據(jù)包分片信息,則丟棄該數(shù)據(jù)包分片。
2.一種采用權(quán)利要求1所述的基于塊狀鏈表結(jié)構(gòu)的6lowpan數(shù)據(jù)包緩存方法對(duì)6lowpan數(shù)據(jù)包進(jìn)行分片處理的方法,其特征在于,采用單向鏈表的結(jié)構(gòu)對(duì)緩存進(jìn)行維護(hù)與管理,包括以下步驟:?
步驟(1),首先對(duì)接收到的數(shù)據(jù)包報(bào)文首部進(jìn)行解析,判斷是否為數(shù)據(jù)包分片,若是完整的6lowpan數(shù)據(jù)包,則直接對(duì)數(shù)據(jù)包進(jìn)行首部解壓縮,將處理后的IPV6數(shù)據(jù)包直接交由Uipv6協(xié)議棧進(jìn)行處理;若是數(shù)據(jù)包分片,則轉(zhuǎn)步驟(2);
步驟(2),對(duì)IPV6數(shù)據(jù)包分片首部進(jìn)行解析,判斷該數(shù)據(jù)包分片的合法性,若合法則轉(zhuǎn)步驟(3),若不合法則直接丟棄;
步驟(3),讀取IPV6數(shù)據(jù)包分片首部中的tag值,遍歷塊狀鏈表,查詢是否已經(jīng)對(duì)該數(shù)據(jù)包的其他分片進(jìn)行緩存,若沒有接收過該數(shù)據(jù)包的其他分片,則轉(zhuǎn)步驟(4);若已經(jīng)存在緩存,則轉(zhuǎn)步驟(5);
步驟(4),判斷該數(shù)據(jù)包分片是否為該IPV6數(shù)據(jù)包的第一個(gè)分片:
若是第一個(gè)分片,則對(duì)該IPV6數(shù)據(jù)包首部進(jìn)行解壓縮,根據(jù)首部字段size的值判斷該數(shù)據(jù)包負(fù)載的總大小,然后根據(jù)該數(shù)據(jù)包負(fù)載的總大小建立緩沖區(qū),并讀取塊狀鏈表中的scis指針信息來定位緩存位置;將數(shù)據(jù)按緩存位置存儲(chǔ)至緩存空間后,增加該鏈表節(jié)點(diǎn)中的IP-len的長度,進(jìn)入步驟(6);
若不是第一個(gè)分片,則直接讀取塊狀鏈表中的scis指針信息來定位緩存位置;將數(shù)據(jù)按緩存位置存儲(chǔ)至緩存空間后,增加該鏈表節(jié)點(diǎn)中的IP-len的長度,進(jìn)入步驟(6);
步驟(5),查詢緩存空間是否已滿,若緩存空間已滿,則丟棄該分片;若還有剩余緩存空間,則根據(jù)該IPV6數(shù)據(jù)包首部tag值查找所對(duì)應(yīng)的鏈表節(jié)點(diǎn)中的scis指針,將該分片存儲(chǔ)至已分配好的緩沖區(qū),增加該鏈表節(jié)點(diǎn)中的IP-len的長度,進(jìn)入步驟(6);
步驟(6),判斷IP-len數(shù)值是否等于size的大小,當(dāng)該IP-len數(shù)值與size大小一致時(shí),表示該緩沖區(qū)中的數(shù)據(jù)包已經(jīng)重裝完成,則需要釋放該緩沖區(qū)空間,并刪除該鏈表節(jié)點(diǎn);具體方法是:定位到IP-len數(shù)值與size數(shù)值相等的節(jié)點(diǎn),利用下一節(jié)點(diǎn)數(shù)據(jù)復(fù)制到該節(jié)點(diǎn)位置;若該節(jié)點(diǎn)位置正好是尾節(jié)點(diǎn),則需要遍歷整個(gè)鏈表,找到該節(jié)點(diǎn)的上一節(jié)點(diǎn),連接上一節(jié)點(diǎn)指針至尾節(jié)點(diǎn)。
3.根據(jù)權(quán)利要求2所述的采用基于塊狀鏈表結(jié)構(gòu)的6lowpan數(shù)據(jù)包緩存方法對(duì)6lowpan數(shù)據(jù)包進(jìn)行分片處理的方法,其特征在于:
在緩沖區(qū)中設(shè)置定時(shí)器,定時(shí)清空重裝失敗的分片數(shù)據(jù),并刪除該緩沖區(qū)所對(duì)應(yīng)的鏈表節(jié)點(diǎn);具體如下:定位到該緩存區(qū)scis指針?biāo)诘逆湵砉?jié)點(diǎn),利用下一節(jié)點(diǎn)數(shù)據(jù)復(fù)制到該節(jié)點(diǎn)位置;若該節(jié)點(diǎn)位置正好是尾節(jié)點(diǎn),則需要遍歷整個(gè)鏈表,找到該節(jié)點(diǎn)的上一節(jié)點(diǎn),連接上一節(jié)點(diǎn)指針至尾節(jié)點(diǎn)。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于南京郵電大學(xué),未經(jīng)南京郵電大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210580981.2/1.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 卡片結(jié)構(gòu)、插座結(jié)構(gòu)及其組合結(jié)構(gòu)
- 鋼結(jié)構(gòu)平臺(tái)結(jié)構(gòu)
- 鋼結(jié)構(gòu)支撐結(jié)構(gòu)
- 鋼結(jié)構(gòu)支撐結(jié)構(gòu)
- 單元結(jié)構(gòu)、結(jié)構(gòu)部件和夾層結(jié)構(gòu)
- 鋼結(jié)構(gòu)扶梯結(jié)構(gòu)
- 鋼結(jié)構(gòu)隔墻結(jié)構(gòu)
- 鋼結(jié)構(gòu)連接結(jié)構(gòu)
- 螺紋結(jié)構(gòu)、螺孔結(jié)構(gòu)、機(jī)械結(jié)構(gòu)和光學(xué)結(jié)構(gòu)
- 螺紋結(jié)構(gòu)、螺孔結(jié)構(gòu)、機(jī)械結(jié)構(gòu)和光學(xué)結(jié)構(gòu)
- 6LoWPAN傳感器網(wǎng)絡(luò)系統(tǒng)
- 基于6LoWPAN技術(shù)的智能家居系統(tǒng)及基于6LoWPAN技術(shù)的UDP報(bào)文收發(fā)方法
- 對(duì)出入物聯(lián)網(wǎng)的外部IPv6地址進(jìn)行壓縮的方法與系統(tǒng)
- 基于6LowPAN技術(shù)和云服務(wù)的樓宇節(jié)能監(jiān)控系統(tǒng)及監(jiān)控方法
- 基于6LoWPAN無線傳感網(wǎng)絡(luò)的海上風(fēng)電機(jī)組綜合監(jiān)控系統(tǒng)
- 基于6LoWPAN的網(wǎng)絡(luò)連接方法及其系統(tǒng)
- 一種Powerlink和6LoWPAN的網(wǎng)關(guān)
- 一種6LoWPAN轉(zhuǎn)WiFi網(wǎng)關(guān)
- 一種基于6LoWPAN的變電站在線測溫系統(tǒng)
- 基于6LoWPAN的物聯(lián)網(wǎng)輕量級(jí)尋址系統(tǒng)





