一種基于主動(dòng)緩存算法的發(fā)現(xiàn)服務(wù)方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種基于主動(dòng)緩存算法的發(fā)現(xiàn)服務(wù)方法,屬于網(wǎng)絡(luò)技術(shù)領(lǐng)域。
【背景技術(shù)】
[0002] 射頻識別(RadioFrequencyIdentification,RFID)技術(shù)能夠通過無接觸的信 息傳遞達(dá)到物品標(biāo)識自動(dòng)識別的目的,因此,在全球范圍內(nèi)被廣泛應(yīng)用于生產(chǎn)、物流和零售 等多個(gè)行業(yè)。根據(jù)IDTechEx的預(yù)測,在2020年之后,全球僅物流行業(yè)每年就需要萬億級 的RFID標(biāo)簽。隨著海量的RFID標(biāo)識的物品在全球范圍的供應(yīng)鏈中流通,與這些物品相關(guān) 的信息將隨機(jī)、動(dòng)態(tài)的存儲(chǔ)在供應(yīng)鏈中各個(gè)企業(yè)的信息服務(wù)器(InformationServer,IS) 中。這些屬于不同企業(yè)的IS分布于世界各地,并且相互之間沒有必然的關(guān)系,因此,如果不 存在一種類似于搜索引擎的服務(wù),用戶將無法獲取自己所關(guān)心的物品在供應(yīng)鏈中的相關(guān)信 息,從而不能實(shí)現(xiàn)對物品的跟蹤和追溯。因此,發(fā)現(xiàn)服務(wù)(^DiscoveryService,DS)被提出, 通過提供一種查詢服務(wù),為用戶提供物品RFID標(biāo)識與存儲(chǔ)該物品相關(guān)信息的多個(gè)企業(yè)IS 地址之間的映射服務(wù),以幫助用戶獲取物品在供應(yīng)鏈中的信息,實(shí)現(xiàn)對物品的跟蹤和追溯。 DS是用戶獲取物品在全球供應(yīng)鏈中相關(guān)信息的入口,具有非常重要的價(jià)值。
[0003] 根據(jù)DS的應(yīng)用場景和相關(guān)研宄,對DS的需求進(jìn)行了深入的分析和總結(jié),DS必須 滿足以下功能性需求:
[0004] 1)強(qiáng)大的抗拒絕服務(wù)(DenialofService,DoS)攻擊能力:
[0005] 當(dāng)前,全球范圍內(nèi)的DoS攻擊和分布式拒絕服務(wù)(DistributedDenialof Service,DDoS)攻擊(統(tǒng)稱為DoS攻擊)事件層出不窮,并且導(dǎo)致了嚴(yán)重的后果。例如, 2002年10月,針對全球域名系統(tǒng)(DomainNameService,DNS)根服務(wù)器的DoS攻擊,使13 臺根DNS服務(wù)器中的9臺不能正常運(yùn)行,導(dǎo)致全球范圍內(nèi)大部分網(wǎng)站和服務(wù)無法訪問。因 此,DS作為用戶獲取物品在全球供應(yīng)鏈中相關(guān)信息的入口,具有重要的商業(yè)價(jià)值,必須能夠 有效的抵御DoS攻擊,以為用戶提供穩(wěn)定、可靠的服務(wù)。
[0006] 2)高效的系統(tǒng)性能:
[0007] 如前所述,全球供應(yīng)鏈中RFID標(biāo)識的物品數(shù)量將達(dá)到萬億級,海量的物品信息隨 機(jī)、動(dòng)態(tài)的存儲(chǔ)在全球范圍內(nèi)各個(gè)企業(yè)的IS中,因此,DS作為用戶獲取物品在供應(yīng)鏈中相 關(guān)信息的入口,必須能夠處理全球范圍內(nèi)大規(guī)模的用戶查詢請求。此外,為了支持用戶實(shí)時(shí) 的對全球范圍內(nèi)供應(yīng)鏈中的物品進(jìn)行跟蹤和追溯,DS必須具有較低的平均查詢時(shí)延,能夠 高效的在海量的數(shù)據(jù)中進(jìn)行檢索,并將結(jié)果及時(shí)的返回給用戶。
[0008] 3)兼容不同的RFID編碼標(biāo)準(zhǔn):
[0009] 當(dāng)前,不同的機(jī)構(gòu)提出了多種不同的RFID編碼標(biāo)準(zhǔn)。例如,EPCglobal提出的EPC 系列編碼標(biāo)準(zhǔn)、uIDCenter提出的ucode編碼標(biāo)準(zhǔn)以及中國商務(wù)部提出的CPC編碼標(biāo)準(zhǔn)等。 這些RFID編碼標(biāo)準(zhǔn)相互之間不能兼容,并且存在沖突。由于當(dāng)前及未來,這些由不同機(jī)構(gòu) 提出的RFID編碼標(biāo)準(zhǔn)都將被用于全球供應(yīng)鏈中物品的標(biāo)識,因此,DS作為用戶獲取物品在 全球供應(yīng)鏈中信息的入口,必須能夠兼容不同的RFID編碼標(biāo)準(zhǔn)。
[0010] 到目前為止,BRIDGE等分別提出多種具體的DS設(shè)計(jì)方案。根據(jù)DS體系結(jié)構(gòu)的不 同,當(dāng)前主流的DS設(shè)計(jì)方案基本可以分為基于樹狀拓?fù)浣Y(jié)構(gòu)的DS和基于結(jié)構(gòu)化P2P網(wǎng)絡(luò) 的DS兩大類。基于樹狀拓?fù)浣Y(jié)構(gòu)的DS,具有平均查詢時(shí)延小的優(yōu)點(diǎn),但是缺點(diǎn)在于系統(tǒng)中 存在性能瓶頸,例如,根節(jié)點(diǎn)和上層節(jié)點(diǎn),并且易于被DoS攻擊。基于結(jié)構(gòu)化P2P網(wǎng)絡(luò)的DS 具有良好的系統(tǒng)可擴(kuò)展性、自組織性和魯棒性等優(yōu)點(diǎn),并且具有一定的抵御DoS攻擊的能 力,但是缺點(diǎn)在于平均查詢時(shí)延較大,不適合在時(shí)延敏感的服務(wù)中應(yīng)用。此外,已有的DS設(shè) 計(jì)方案沒有考慮兼容不同RFID編碼標(biāo)準(zhǔn)的需求。綜上所述,已有的DS設(shè)計(jì)方案不能滿足 DS的實(shí)際應(yīng)用需求。
【發(fā)明內(nèi)容】
[0011] 針對當(dāng)前已有DS研宄的不足,本發(fā)明基于結(jié)構(gòu)化P2P網(wǎng)絡(luò)和PCache主動(dòng)緩存算 法(ProactiveCachingAlgorithm)提出一種稱為PCacheDS的DS方法。與已有的DS設(shè) 計(jì)方案相比,本發(fā)明的PCacheDS不僅能夠兼容不同的RFID編碼標(biāo)準(zhǔn),而且具有更低的平均 查詢時(shí)延、更強(qiáng)的系統(tǒng)處理性能,并且能夠有效的抵御DoS攻擊。
[0012] 本發(fā)明的技術(shù)方案為:
[0013] 一種基于主動(dòng)緩存算法的發(fā)現(xiàn)服務(wù)方法,其步驟為:
[0014] 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)識區(qū)間范圍內(nèi)的記錄,副本數(shù)據(jù)存儲(chǔ) 區(qū)用于存儲(chǔ)其它節(jié)點(diǎn)上記錄的副本;
[0015] 2)當(dāng)一信息服務(wù)器IS讀取物品A的RFID標(biāo)識后,向結(jié)構(gòu)化P2P網(wǎng)絡(luò)中的一節(jié)點(diǎn) h發(fā)送一包含該RFID標(biāo)識和IS地址信息的注冊請求;
[0016] 3)節(jié)點(diǎn)h根據(jù)該注冊請求在結(jié)構(gòu)化P2P網(wǎng)絡(luò)中確定一對應(yīng)家鄉(xiāng)節(jié)點(diǎn)ni,并將該注 冊請求發(fā)送給該家鄉(xiāng)節(jié)點(diǎn)ni;
[0017] 4)家鄉(xiāng)節(jié)點(diǎn)~在接收到該注冊請求后,將在本地?cái)?shù)據(jù)存儲(chǔ)區(qū)創(chuàng)建一條新記錄或更 新對應(yīng)已有記錄,然后計(jì)算該記錄的數(shù)字簽名并將其放在該記錄的尾部;
[0018] 5)家鄉(xiāng)節(jié)點(diǎn)叫創(chuàng)建或更新該記錄的副本:如果為新記錄,則創(chuàng)建該記錄的m個(gè)副 本,分別存到距離家鄉(xiāng)節(jié)點(diǎn)^最近的m個(gè)節(jié)點(diǎn)的副本數(shù)據(jù)存儲(chǔ)區(qū),該m個(gè)節(jié)點(diǎn)稱為該記錄 的加速節(jié)點(diǎn);如果為記錄更新,則對該記錄在其加速節(jié)點(diǎn)上的副本進(jìn)行更新;
[0019] 6)當(dāng)結(jié)構(gòu)化P2P網(wǎng)絡(luò)中的節(jié)點(diǎn)收到一查詢請求時(shí),該節(jié)點(diǎn)根據(jù)該查詢請求中的 RFID標(biāo)識將該查詢請求路由到對應(yīng)的家鄉(xiāng)節(jié)點(diǎn)或加速節(jié)點(diǎn)進(jìn)行查詢并返回記錄給查詢終 端;
[0020] 7)該查詢終端根據(jù)返回記錄中的IS地址訪問信息服務(wù)器IS進(jìn)行查詢。
[0021] 進(jìn)一步的,所述RFID標(biāo)識包括RFID編碼標(biāo)準(zhǔn)的0ID前綴和RFID編碼標(biāo)準(zhǔn)的標(biāo)識 ID,每一種RFID編碼標(biāo)準(zhǔn)分配一唯一的0ID前綴;信息服務(wù)器IS讀取物品A的RFID標(biāo)識 時(shí),根據(jù)0ID前綴確定該RFID的編碼標(biāo)準(zhǔn),然后才有對應(yīng)的編碼標(biāo)準(zhǔn)對該RFID的標(biāo)識ID 進(jìn)行解碼。
[0022] 進(jìn)一步的,所述家鄉(xiāng)節(jié)點(diǎn)采用PCache副本放置策略確定每一記錄的副本數(shù)量,并 將副本存儲(chǔ)在對應(yīng)節(jié)點(diǎn)上。
[0023] 進(jìn)一步的,所述每個(gè)節(jié)點(diǎn)的副本數(shù)據(jù)存儲(chǔ)區(qū)都采用LRU算法對其存儲(chǔ)的副本進(jìn)行 維護(hù)。
[0024] 進(jìn)一步的,所述步驟3)中,將該注冊請求中的RFID哈希值作為該注冊請求的key, 然后根據(jù)該key值在結(jié)構(gòu)化P2P網(wǎng)絡(luò)中進(jìn)行路由,如果該key值在某個(gè)節(jié)點(diǎn)所管理的DHT標(biāo)識區(qū)間內(nèi),則這個(gè)節(jié)點(diǎn)為其家鄉(xiāng)節(jié)點(diǎn)。
[0025] 進(jìn)一步的,所述家鄉(xiāng)節(jié)點(diǎn)計(jì)算所存儲(chǔ)記錄的檢驗(yàn)和,并對該檢驗(yàn)和使用其私鑰簽 名,然后將自己的公鑰和數(shù)字簽名添加在記錄的尾部。
[0026] 進(jìn)一步的,對于每一記錄cx,所述家鄉(xiāng)節(jié)點(diǎn)周期性的匯總記錄cx在其1/h加速節(jié) 點(diǎn)上的查詢量,以計(jì)算一個(gè)周期內(nèi)該記錄cx的查詢總量;然后所述家鄉(xiāng)節(jié)點(diǎn)對其上所有記 錄在一個(gè)周期內(nèi)的查詢總量進(jìn)行估算,得到該記錄cx的流行性?!£,即一個(gè)周期內(nèi)該記錄(^ 的查詢總量與所有記錄的查詢總量的比值;該記錄cx副本的數(shù)量與其流行性成正比。
[0027] 進(jìn)一步的,如果記錄的家鄉(xiāng)節(jié)點(diǎn)失效,則將距離該記錄的家鄉(xiāng)節(jié)點(diǎn)距離最近的節(jié) 點(diǎn),將成為作為該記錄的新的家鄉(xiāng)節(jié)點(diǎn)。
[0028] 進(jìn)一步的,所述查詢終端收到返回的記錄后,將根據(jù)記錄中包含的數(shù)據(jù)簽名和家 鄉(xiāng)節(jié)點(diǎn)的公鑰對該記錄的完整性和真實(shí)性進(jìn)行驗(yàn)證。
[0029] 進(jìn)一步的,所述記錄信息包括RFID標(biāo)識與相應(yīng)IS地址之間的映射信息,并以物品 RFID標(biāo)識的哈希值作為該記錄的key值。
[0030] 與現(xiàn)有技術(shù)相比,本發(fā)明的積極效果為:
[0031] 1)兼容EPCglobal、uIDCenter等不同機(jī)構(gòu)提出的多種RFID編碼標(biāo)準(zhǔn)
[0032] 當(dāng)前,EPCglobal、uIDCenter等機(jī)構(gòu)分別提出多種RFID編碼標(biāo)準(zhǔn),例如,EPC系 列編碼標(biāo)準(zhǔn)、ucode編碼標(biāo)準(zhǔn)和CPC編碼標(biāo)準(zhǔn)等。這些由不同機(jī)構(gòu)提出的RFID編碼標(biāo)準(zhǔn), 相互之間不能兼容并且存在沖突。針對DS兼容不同RFID編碼標(biāo)準(zhǔn)的需求,基于IS0/IEC 15961和IS0/IEC18000標(biāo)準(zhǔn),通過給每種RFID編碼標(biāo)準(zhǔn)分配一個(gè)不同的0ID前綴,解決這 些RFID編碼標(biāo)準(zhǔn)之間的沖突問題。在PCacheDS中,假定每個(gè)RFID標(biāo)識包括兩部分:第一 部分是RFID編碼標(biāo)準(zhǔn)的0ID前綴;第二部分是該0ID前綴標(biāo)識的RFID編碼標(biāo)準(zhǔn)的一個(gè)標(biāo) 識(Identifier,ID)。因此,PCacheDS能夠兼容不同機(jī)構(gòu)提出的RFID編碼標(biāo)準(zhǔn)。
[0033] 2)更強(qiáng)的系統(tǒng)性能
[0034]DS系統(tǒng)性能包括DS系統(tǒng)處理性能和平均查詢時(shí)延兩方面。DS系統(tǒng)處理性能,指DS 在單位時(shí)間內(nèi)(每秒)最多能夠處理的用戶查詢請求總量。DS平均查詢時(shí)延,指用戶從向 DS發(fā)送查詢請求到收到DS返回結(jié)果的時(shí)延的平均值?;跇錉钔?fù)浣Y(jié)構(gòu)