5)檢驗(yàn)和,并對該檢驗(yàn)和使用其私鑰簽 名,然后將自己的公鑰和數(shù)字簽名添加在記錄的尾部,作為記錄的一部分,如圖3所示。此 外,為了防止記錄的家鄉(xiāng)節(jié)點(diǎn)失效導(dǎo)致該記錄的不可用,PCacheDS規(guī)定每個(gè)記錄都至少有 m(m多1)個(gè)副本,分別放置在距離該記錄家鄉(xiāng)節(jié)點(diǎn)最近的m個(gè)節(jié)點(diǎn)上。如果記錄的家鄉(xiāng)節(jié) 點(diǎn)失效,那么距離該記錄家鄉(xiāng)節(jié)點(diǎn)距離最近的節(jié)點(diǎn),將成為該記錄新的家鄉(xiāng)節(jié)點(diǎn)。
[0057] PCacheDS中的每個(gè)節(jié)點(diǎn)根據(jù)記錄流行性分析模型周期性的對記錄的流行性和流 行性分布進(jìn)行計(jì)算。例如,為了計(jì)算記錄(^的流行性 ?!£,該記錄的家鄉(xiāng)節(jié)點(diǎn)將周期性的匯總 其在。個(gè)加速節(jié)點(diǎn)上的查詢量,以計(jì)算一個(gè)周期內(nèi)記錄cx的查詢總量。然后,家鄉(xiāng)節(jié)點(diǎn)將基 于Praveen等人提出的聚合協(xié)議,對所有記錄在一個(gè)周期內(nèi)的查詢總量進(jìn)行估算。因此,記 錄(^的流行性口,即為在一個(gè)周期內(nèi)該記錄的查詢總量與所有記錄的查詢總量的比值。在PCacheDS中,記錄副本的數(shù)量與該記錄的流行性成正比。一個(gè)記錄副本的數(shù)量n,由該記錄 的家鄉(xiāng)節(jié)點(diǎn)根據(jù)其流行性進(jìn)行計(jì)算。如果n<m,那么家鄉(xiāng)節(jié)點(diǎn)不需要為該記錄創(chuàng)建新的副 本。如果n>m,那么家鄉(xiāng)節(jié)點(diǎn)需要為該記錄創(chuàng)建(n-m)個(gè)新的副本,并將這些副本放置在與 自己距離為(n-m)到n的節(jié)點(diǎn)上。這些放置記錄副本的節(jié)點(diǎn),被稱為該記錄家鄉(xiāng)節(jié)點(diǎn)的加 速節(jié)點(diǎn)。記錄的數(shù)據(jù)一致性由其家鄉(xiāng)節(jié)點(diǎn)負(fù)責(zé)維護(hù)。當(dāng)記錄被更新后,其家鄉(xiāng)節(jié)點(diǎn)將對放 置在加速節(jié)點(diǎn)上該記錄的副本進(jìn)行更新,以確保記錄與其副本的數(shù)據(jù)一致性。當(dāng)PCacheDS 接收到用戶包含物品RFID標(biāo)識(shí)的查詢請求后,將計(jì)算RFID標(biāo)識(shí)的哈希值作為該查詢請求 的key,然后將該查詢請求在結(jié)構(gòu)化P2P網(wǎng)絡(luò)中進(jìn)行路由。在該查詢請求向所查詢記錄的家 鄉(xiāng)節(jié)點(diǎn)路由的過程中,首先接收到該查詢請求的家鄉(xiāng)節(jié)點(diǎn)或其加速節(jié)點(diǎn),將向用戶返回所 查詢的記錄。用戶在接收到返回的記錄后,可以根據(jù)記錄中的數(shù)字簽名和公鑰,對記錄的完 整性和真實(shí)性進(jìn)行驗(yàn)證,然后訪問供應(yīng)鏈中相關(guān)的IS,獲取物品的信息。
[0058] 4、PCacheDS的注冊流程
[0059] 假定物品A的RFID標(biāo)識(shí)為RFIDA,PCacheDS中負(fù)責(zé)存儲(chǔ)RFIDA與相關(guān)IS地址之間 映射信息的家鄉(xiāng)節(jié)點(diǎn)是叫,那么當(dāng)物品A途經(jīng)供應(yīng)鏈中的某個(gè)企業(yè)B時(shí),該企業(yè)ISB的注冊 流程如圖4所示。
[0060] 1)ISB#儲(chǔ)物品A的相關(guān)信息后,將向PCacheDS中的某個(gè)節(jié)點(diǎn)nj發(fā)送一個(gè)包含物 品RFID標(biāo)識(shí)RFIDJPISB地址等信息的注冊請求。
[0061] 2)當(dāng)PCacheDS中的節(jié)點(diǎn)rij接收到ISB發(fā)送的注冊請求后,將計(jì)算注冊請求中包 含的RFIDA的哈希值作為該注冊請求的key,然后該注冊請求將在結(jié)構(gòu)化P2P網(wǎng)絡(luò)中進(jìn)行路 由,并被路由到對應(yīng)的家鄉(xiāng)節(jié)點(diǎn)A。
[0062] 3)家鄉(xiāng)節(jié)點(diǎn)叫在接收到該注冊請求后,將創(chuàng)建一條新記錄或更新已有的記錄,然 后計(jì)算該記錄的數(shù)字簽名,并將其放在該記錄的尾部。如果節(jié)點(diǎn)^的本地?cái)?shù)據(jù)存儲(chǔ)區(qū)中沒 有以key作為索引的記錄,那么叫將創(chuàng)建一條新的以key作為索引的記錄。如果節(jié)點(diǎn)ni 的本地?cái)?shù)據(jù)存儲(chǔ)區(qū)已有一條以key作為索引的記錄,那么節(jié)點(diǎn)ni將根據(jù)注冊請求更新該記 錄。
[0063] 4)家鄉(xiāng)節(jié)點(diǎn)叫創(chuàng)建或更新該記錄的副本。對于新創(chuàng)建的記錄,節(jié)點(diǎn)n游創(chuàng)建該 記錄的m個(gè)副本,并將這些副本分別放置在距離節(jié)點(diǎn)ni最近的m個(gè)節(jié)點(diǎn)上。對于更新的記 錄,節(jié)點(diǎn)h將對該記錄在加速節(jié)點(diǎn)上已有的n個(gè)副本進(jìn)行更新,以確保記錄與副本之間的 數(shù)據(jù)一致性。
[0064] 5)節(jié)點(diǎn)叫向ISB返回一個(gè)確認(rèn)信息。
[0065] 5、PCacheDS的查詢流程
[0066] 假設(shè)同上。如果用戶C需要獲取物品A在供應(yīng)鏈中的相關(guān)信息,首先需要根據(jù)物 品A的RFID標(biāo)識(shí)1^104向PCacheDS查詢供應(yīng)鏈中與該物品相關(guān)的多個(gè)IS地址,查詢流程 如圖5所示。
[0067] 1)用戶C向PCacheDS中的某個(gè)節(jié)點(diǎn)n」發(fā)送一個(gè)包含物品RFID標(biāo)識(shí)RFIDA等信 息的查詢請求,以查詢供應(yīng)鏈中與RFIDA相關(guān)的IS的地址。
[0068] 2)當(dāng)PCacheDS中的節(jié)點(diǎn)rij接收到用戶C發(fā)送的查詢請求后,將計(jì)算查詢請求中 包含的RFIDA的哈希值作為該查詢請求的key,然后,該查詢請求將在結(jié)構(gòu)化P2P網(wǎng)絡(luò)中進(jìn) 行路由。
[0069] 3)當(dāng)查詢請求被路由到所查詢記錄的家鄉(xiāng)節(jié)點(diǎn)叫或某個(gè)存放所查詢記錄副本的 加速節(jié)點(diǎn)時(shí),該節(jié)點(diǎn)將根據(jù)查詢請求,向用戶C返回所查詢的記錄。
[0070] 4)用戶在接收到返回的記錄后,將根據(jù)記錄中包含的數(shù)據(jù)簽名和叫的公鑰對該記 錄的完整性和真實(shí)性進(jìn)行驗(yàn)證。
[0071] 5)用戶根據(jù)記錄中包含的與RFIDA相關(guān)的IS地址,分別訪問各個(gè)IS,獲取物品A 在供應(yīng)鏈中的信息。
【主權(quán)項(xiàng)】
1. 一種基于主動(dòng)緩存算法的發(fā)現(xiàn)服務(wù)方法,其步驟為: 1) 將發(fā)現(xiàn)服務(wù)網(wǎng)絡(luò)中每個(gè)節(jié)點(diǎn)的存儲(chǔ)空間劃分出本地?cái)?shù)據(jù)存儲(chǔ)區(qū)和副本數(shù)據(jù)存儲(chǔ)區(qū); 其中,所述發(fā)現(xiàn)服務(wù)網(wǎng)絡(luò)為結(jié)構(gòu)化P2P網(wǎng)絡(luò);節(jié)點(diǎn)的本地?cái)?shù)據(jù)存儲(chǔ)區(qū)用于存儲(chǔ)該節(jié)點(diǎn)負(fù)責(zé) 管理的一段結(jié)構(gòu)化P2P網(wǎng)絡(luò)分布式散列表DHT標(biāo)識(shí)區(qū)間范圍內(nèi)的記錄,副本數(shù)據(jù)存儲(chǔ)區(qū)用 于存儲(chǔ)其它節(jié)點(diǎn)上記錄的副本; 2) 當(dāng)一信息服務(wù)器IS讀取物品A的RFID標(biāo)識(shí)后,向結(jié)構(gòu)化P2P網(wǎng)絡(luò)中的一節(jié)點(diǎn)n# 送一包含該RFID標(biāo)識(shí)和IS地址信息的注冊請求; 3) 節(jié)點(diǎn)r^_根據(jù)該注冊請求在結(jié)構(gòu)化P2P網(wǎng)絡(luò)中確定一對應(yīng)家鄉(xiāng)節(jié)點(diǎn)n i,并將該注冊請 求發(fā)送給該家鄉(xiāng)節(jié)點(diǎn)Iii; 4) 家鄉(xiāng)節(jié)點(diǎn)~在接收到該注冊請求后,將在本地?cái)?shù)據(jù)存儲(chǔ)區(qū)創(chuàng)建一條新記錄或更新對 應(yīng)已有記錄,然后計(jì)算該記錄的數(shù)字簽名并將其放在該記錄的尾部; 5) 家鄉(xiāng)節(jié)點(diǎn)Iii創(chuàng)建或更新該記錄的副本:如果為新記錄,則創(chuàng)建該記錄的m個(gè)副本,分 別存到距離家鄉(xiāng)節(jié)點(diǎn)Ii i最近的m個(gè)節(jié)點(diǎn)的副本數(shù)據(jù)存儲(chǔ)區(qū),該m個(gè)節(jié)點(diǎn)稱為該記錄的加速 節(jié)點(diǎn);如果為記錄更新,則對該記錄在其加速節(jié)點(diǎn)上的副本進(jìn)行更新; 6) 當(dāng)結(jié)構(gòu)化P2P網(wǎng)絡(luò)中的節(jié)點(diǎn)收到一查詢請求時(shí),該節(jié)點(diǎn)根據(jù)該查詢請求中的RFID標(biāo) 識(shí)將該查詢請求路由到對應(yīng)的家鄉(xiāng)節(jié)點(diǎn)或加速節(jié)點(diǎn)進(jìn)行查詢并返回記錄給查詢終端; 7) 該查詢終端根據(jù)返回記錄中的IS地址訪問信息服務(wù)器IS進(jìn)行查詢。2. 如權(quán)利要求1所述的方法,其特征在于,所述RFID標(biāo)識(shí)包括RFID編碼標(biāo)準(zhǔn)的OID前 綴和RFID編碼標(biāo)準(zhǔn)的標(biāo)識(shí)ID,每一種RFID編碼標(biāo)準(zhǔn)分配一唯一的OID前綴;信息服務(wù)器 IS讀取物品A的RFID標(biāo)識(shí)時(shí),根據(jù)OID前綴確定該RFID的編碼標(biāo)準(zhǔn),然后才有對應(yīng)的編碼 標(biāo)準(zhǔn)對該RFID的標(biāo)識(shí)ID進(jìn)行解碼。3. 如權(quán)利要器2所述的方法,其特征在于,所述家鄉(xiāng)節(jié)點(diǎn)采用PCache副本放置策略確 定每一記錄的副本數(shù)量,并將副本存儲(chǔ)在對應(yīng)節(jié)點(diǎn)上。4. 如權(quán)利要器1或2或3所述的方法,其特征在于,所述每個(gè)節(jié)點(diǎn)的副本數(shù)據(jù)存儲(chǔ)區(qū)都 采用LRU算法對其存儲(chǔ)的副本進(jìn)行維護(hù)。5. 如權(quán)利要器1所述的方法,其特征在于,所述步驟3)中,將該注冊請求中的RFID哈 希值作為該注冊請求的key,然后根據(jù)該key值在結(jié)構(gòu)化P2P網(wǎng)絡(luò)中進(jìn)行路由,如果該key 值在某個(gè)節(jié)點(diǎn)所管理的DHT標(biāo)識(shí)區(qū)間內(nèi),則這個(gè)節(jié)點(diǎn)為其家鄉(xiāng)節(jié)點(diǎn)。6. 如權(quán)利要求1或5所述的方法,其特征在于,所述家鄉(xiāng)節(jié)點(diǎn)計(jì)算所存儲(chǔ)記錄的檢驗(yàn) 和,并對該檢驗(yàn)和使用其私鑰簽名,然后將自己的公鑰和數(shù)字簽名添加在記錄的尾部。7. 如權(quán)利要求1或5所述的方法,其特征在于,對于每一記錄c x,所述家鄉(xiāng)節(jié)點(diǎn)周期性 的匯總記錄Cx在其1 ,個(gè)加速節(jié)點(diǎn)上的查詢量,以計(jì)算一個(gè)周期內(nèi)該記錄c x的查詢總量;然 后所述家鄉(xiāng)節(jié)點(diǎn)對其上所有記錄在一個(gè)周期內(nèi)的查詢總量進(jìn)行估算,得到該記錄Cx的流行 性 Px,即一個(gè)周期內(nèi)該記錄(^的查詢總量與所有記錄的查詢總量的比值;該記錄c x副本的 數(shù)量與其流行性成正比。8. 如權(quán)利要求1或5所述的方法,其特征在于,如果記錄的家鄉(xiāng)節(jié)點(diǎn)失效,則將距離該 記錄的家鄉(xiāng)節(jié)點(diǎn)距離最近的節(jié)點(diǎn),將成為作為該記錄的新的家鄉(xiāng)節(jié)點(diǎn)。9. 如權(quán)利要求1所述的方法,其特征在于,所述查詢終端收到返回的記錄后,將根據(jù)記 錄中包含的數(shù)據(jù)簽名和家鄉(xiāng)節(jié)點(diǎn)的公鑰對該記錄的完整性和真實(shí)性進(jìn)行驗(yàn)證。10.如權(quán)利要求1所述的方法,其特征在于,所述記錄信息包括RFID標(biāo)識(shí)與相應(yīng)IS地 址之間的映射信息,并以物品RFID標(biāo)識(shí)的哈希值作為該記錄的key值。
【專利摘要】本發(fā)明公開了一種基于主動(dòng)緩存算法的發(fā)現(xiàn)服務(wù)方法。本方法為:1)將發(fā)現(xiàn)服務(wù)網(wǎng)絡(luò)中每個(gè)節(jié)點(diǎn)的存儲(chǔ)空間劃分出本地?cái)?shù)據(jù)存儲(chǔ)區(qū)和副本數(shù)據(jù)存儲(chǔ)區(qū);2)當(dāng)一信息服務(wù)器IS讀取物品A的RFID標(biāo)識(shí)后,向結(jié)構(gòu)化P2P網(wǎng)絡(luò)中的一節(jié)點(diǎn)nj發(fā)送一注冊請求;3)節(jié)點(diǎn)nj將該注冊請求發(fā)送給其家鄉(xiāng)節(jié)點(diǎn)ni;3)家鄉(xiāng)節(jié)點(diǎn)ni根據(jù)該注冊請求創(chuàng)建一條新記錄或更新對應(yīng)已有記錄,并創(chuàng)建或更新該記錄加速節(jié)點(diǎn)的副本;4)節(jié)點(diǎn)將收到的查詢請求路由到對應(yīng)的家鄉(xiāng)節(jié)點(diǎn)或加速節(jié)點(diǎn)進(jìn)行查詢并返回記錄給查詢終端。本發(fā)明不僅能夠兼容不同的RFID編碼標(biāo)準(zhǔn),而且具有更低的平均查詢時(shí)延、更強(qiáng)的系統(tǒng)處理性能,并且能夠有效的抵御DoS攻擊。
【IPC分類】H04L29/08, G06K7/00
【公開號(hào)】CN104980493
【申請?zhí)枴緾N201510236353
【發(fā)明人】劉鵬, 孔寧, 李曉東, 閻保平
【申請人】中國互聯(lián)網(wǎng)絡(luò)信息中心
【公開日】2015年10月14日
【申請日】2015年5月11日