專利名稱:用于射頻識(shí)別中間件的動(dòng)態(tài)負(fù)載均衡方法
技術(shù)領(lǐng)域:
本發(fā)明涉及射頻識(shí)別RFID技術(shù)領(lǐng)域,特別是涉及一種應(yīng)用于射頻識(shí)別中間 件的動(dòng)態(tài)負(fù)載均衡方法。
背景技術(shù):
射頻識(shí)別RFID (Radio Frequency Identification)作為一項(xiàng)新興技術(shù),在自 動(dòng)識(shí)別領(lǐng)域體現(xiàn)出巨大的潛力。隨著RFID技術(shù)的發(fā)展,安全性的提高,以及 RFID標(biāo)簽價(jià)格的下降,更多的企業(yè)開(kāi)始關(guān)注并引進(jìn)RFID技術(shù)的相關(guān)應(yīng)用,以 此來(lái)提高自身在商業(yè)領(lǐng)域的競(jìng)爭(zhēng)力。RFID中間件作為軟件系統(tǒng)的一個(gè)新的分支 推進(jìn)了諸如讀寫器等自動(dòng)識(shí)別儀器與企業(yè)應(yīng)用之間的數(shù)據(jù)交互?;赗FID技術(shù) 的識(shí)別、追蹤,能夠使產(chǎn)品的統(tǒng)計(jì)、定位更快捷、準(zhǔn)確。目前在我國(guó),電子標(biāo) 簽主要應(yīng)用于鐵路、郵政、公安、制造、物流、煙草、零售、醫(yī)藥、金融收費(fèi) 等諸多領(lǐng)域。當(dāng)前我國(guó)應(yīng)用電子標(biāo)簽技術(shù)最成功的案例當(dāng)屬鐵路的車輛調(diào)度系 統(tǒng),被稱作鐵路車號(hào)自動(dòng)識(shí)別系統(tǒng)(ATIS)。通過(guò)使用電子標(biāo)簽技術(shù),僅貨車使用 費(fèi)一項(xiàng),每年可以增收近3億元。
以物聯(lián)網(wǎng)為典型應(yīng)用的RFID技術(shù)架構(gòu)多采用分布式網(wǎng)絡(luò)架構(gòu),以實(shí)現(xiàn)物品 的全程跟蹤。RFID中間件提供了一個(gè)分布式環(huán)境用以處理來(lái)自標(biāo)簽的數(shù)據(jù)、過(guò) 濾并將其通過(guò)各種通信協(xié)議分發(fā)至相應(yīng)的應(yīng)用終端。由于RFID中間件的分布式 特性,其各個(gè)節(jié)點(diǎn)中間件服務(wù)器的吞吐量往往差異很大。這種情況下負(fù)載均衡 就成了保證RFID中間件工作環(huán)境的穩(wěn)定性的一個(gè)重要因素。與web站點(diǎn)類似, 過(guò)載的RFID中間件可能會(huì)導(dǎo)致反應(yīng)延遲甚至系統(tǒng)崩潰,最終影響應(yīng)用層的進(jìn) 程。負(fù)載均衡可以根據(jù)實(shí)際的負(fù)載量制定處理決策,從而實(shí)現(xiàn)高性能、智能化 流量管理,達(dá)到最佳的中間件服務(wù)器群性能。
在該文中,ECReport是EPC (電子標(biāo)簽編碼)事件的匯集,還包括其他信息,譬如邏輯閱讀器名稱,ECSpec信息等。ECSpec是由RFID應(yīng)用程序?qū)影l(fā)布 的數(shù)據(jù)過(guò)濾法則。它從三方面規(guī)定了標(biāo)簽應(yīng)傳入應(yīng)用層的標(biāo)簽數(shù)據(jù)。包括閱讀 器即從哪些閱讀器終端讀取標(biāo)簽數(shù)據(jù);時(shí)間域即規(guī)定采集和上報(bào)的時(shí)間; 上報(bào)法則即應(yīng)排除怎樣的標(biāo)簽數(shù)據(jù)。因此ECSpec成為決定中間件負(fù)載量的一 個(gè)因素。
由樸家杰(Jae Geol Park)等人在2007年IEEE電子商務(wù)工程國(guó)際會(huì)議中提 出,基于ECSpec的負(fù)載均衡方案將RFID中間件的工作量看作是由ALE (Application Level Events,應(yīng)用層事件)的ECSpec決定的。基于ECSpec的負(fù) 載均衡策略,是通過(guò)調(diào)度各個(gè)中間件的ECSpec來(lái)實(shí)現(xiàn)各中間件負(fù)載的均衡。例 如,應(yīng)用層分配ECSpecl, ECSpec2和ECSpec3到中間件Middlewarel,而 ECSpec4被分配到中間件Middlewarc2。當(dāng)Middlewarel的負(fù)載過(guò)重時(shí),調(diào)度 ECSpec3到Middleware2,從而實(shí)現(xiàn)兩個(gè)中間件的負(fù)載均衡?;贓CSpec的負(fù) 載均衡方案,由于ECSpec文件體積小,因此對(duì)ECSpec文件的調(diào)度不需要耗費(fèi) 太多的資源。并且實(shí)現(xiàn)了動(dòng)態(tài)的負(fù)載均衡。然而,此策略存在以下缺點(diǎn)。
1. ECSpec的調(diào)度完成后,需要改變相應(yīng)的Reader的物理連接,或者在每個(gè) 中間件和每個(gè)讀寫器(Reader)之間都建立一個(gè)物理連接。
2. 若需要調(diào)度的ECSpec與其他ECSpec存在關(guān)聯(lián)性,例如對(duì)同一個(gè)讀寫器 進(jìn)行讀操作,則必須將與之相關(guān)聯(lián)的ECSpec都調(diào)度至同一個(gè)目標(biāo)中間 件,同時(shí)改變相關(guān)Reader的物理連接。
3. 若過(guò)負(fù)載的中間件的ECSpec之間均存在關(guān)聯(lián),則需要將所有ECSpec移 動(dòng)到目標(biāo)中間件,即有可能造成目標(biāo)中間件的過(guò)負(fù)載。
由樸三冪(Sung-Mee Park)等人在第五屆國(guó)際軟件工程研討會(huì)上提出的, 基于標(biāo)簽數(shù)據(jù)的負(fù)載均衡方案出于以下考慮RFID中間件負(fù)責(zé)接收讀寫器發(fā)送 的標(biāo)簽數(shù)據(jù),并根據(jù)對(duì)應(yīng)規(guī)則對(duì)標(biāo)簽數(shù)據(jù)進(jìn)行過(guò)濾,然后將過(guò)濾后的標(biāo)簽數(shù)據(jù) 分發(fā)到對(duì)應(yīng)的應(yīng)用端。因此,標(biāo)簽數(shù)據(jù)的數(shù)量影響著中間件的負(fù)載?;跇?biāo)簽 數(shù)據(jù)的負(fù)載均衡策略,通過(guò)在相關(guān)的中間件和讀寫器之間添加一個(gè)公共的連接 池來(lái)實(shí)現(xiàn)將標(biāo)簽數(shù)據(jù)分發(fā)到各個(gè)中間件上,從而達(dá)到均衡負(fù)載的目的。連接處 接收并緩存標(biāo)簽數(shù)據(jù)到緩沖隊(duì)列中,然后根據(jù)均衡策略,將標(biāo)簽數(shù)據(jù)均衡分發(fā) 到與連接池鏈接的中間件上。以此來(lái)均衡各個(gè)中間件的負(fù)載?;跇?biāo)簽數(shù)據(jù)的負(fù)載均衡策略,通過(guò)連接池與讀寫器連接,減少了連接數(shù),在進(jìn)行負(fù)載均衡的 時(shí)候,不需要對(duì)讀寫器的物理連接做修改。此方案實(shí)現(xiàn)的負(fù)載均衡是靜態(tài)的, 即在任何時(shí)候,可正常工作的中間件的負(fù)載都是均衡分配的。此方案存在的缺
點(diǎn)是,所有的中間件都必須保存同一組ECSpec文件。這是因?yàn)椋捎谶B接池在 分發(fā)標(biāo)簽數(shù)據(jù)的時(shí)候,是均衡的分發(fā)到未處于過(guò)負(fù)載狀態(tài)下的所有中間件上, 因此對(duì)于標(biāo)簽數(shù)據(jù)來(lái)說(shuō),當(dāng)其處在連接池的等待隊(duì)列中時(shí),它可能被分發(fā)到任 意一個(gè)中間件。因此,每個(gè)中間件都必須保留統(tǒng)一的一組ECSpec副本。
發(fā)明內(nèi)容
本發(fā)明的目的在于提出一種用于RFID中間件的動(dòng)態(tài)負(fù)載均衡方法,該方法 無(wú)需改變讀寫器物理連接,各中間件僅保存與之有邏輯連接的讀寫器對(duì)應(yīng)的 ECSpec文件,有效實(shí)現(xiàn)多個(gè)RFID中間件之間的動(dòng)態(tài)負(fù)載均衡。
用于射頻識(shí)別中間件的動(dòng)態(tài)負(fù)載均衡方法,包括以下步驟
1) 本地中間件將與其存在邏輯關(guān)系的讀寫器讀取的標(biāo)簽數(shù)據(jù)放入處理緩 存中,與其不存在邏輯關(guān)系的讀寫器讀取的標(biāo)簽數(shù)據(jù)放入中轉(zhuǎn)緩存中;
2) 若本地中間件的標(biāo)簽采集速率N大于額定中間件標(biāo)簽處理速率A,則 在與本地中間件有邏輯關(guān)系的讀寫器中,搜索標(biāo)簽采集速率與超載負(fù)載量N-A 最接近的讀寫器,將其與本地中間件中轉(zhuǎn)緩存的物理連接保持不變,其邏輯連 接更新至其它的輕載中間件;
3) 對(duì)于步驟2)中需要轉(zhuǎn)移邏輯關(guān)系的讀寫器,查詢其對(duì)應(yīng)的標(biāo)簽過(guò)濾 法則,如果該標(biāo)簽過(guò)濾法則只和該讀寫器相關(guān),則將該標(biāo)簽過(guò)濾法則轉(zhuǎn)移到步 驟2)新接入的輕載中間件,否則將該標(biāo)簽過(guò)濾法則復(fù)制到步驟2)新接入的輕 載中間件中,返回步驟l)。
本發(fā)明的有益效果體現(xiàn)在以下幾個(gè)方面
1、基于等效負(fù)載量的負(fù)載均衡策略,綜合考慮了 ECSpec和讀寫器以及它們的對(duì)應(yīng)關(guān)系對(duì)負(fù)載的影響,從而避免了單純從ECSpec或標(biāo)簽數(shù)據(jù)考慮負(fù)載量 進(jìn)行負(fù)載均衡而產(chǎn)生的局限性。
2、 本方案實(shí)現(xiàn)的動(dòng)態(tài)負(fù)載均衡是在通過(guò)在中間件之間調(diào)度ECSpec,該方 法對(duì)于上層應(yīng)用層是透明的,不受應(yīng)用層與中間件連接的限制。
3、 本方案實(shí)現(xiàn)的動(dòng)態(tài)負(fù)載均衡,僅需移動(dòng)一個(gè)或多個(gè)讀寫器的邏輯連接, 并對(duì)相應(yīng)的ECSpec文件做調(diào)度即可,避免了移動(dòng)所有相關(guān)ECSpec和相關(guān)讀寫 器與中間件的物理連接。
4、 本方案中,各個(gè)中間件僅需保存與之有邏輯連接的讀寫器對(duì)應(yīng)的ECSpec 文件,并且能夠?qū)崿F(xiàn)負(fù)載量的動(dòng)態(tài)監(jiān)測(cè)和過(guò)負(fù)載情況下的動(dòng)態(tài)均衡,而靜態(tài)負(fù) 載均衡方法則在所有的中間件上保存同一組ECSpec文件。
圖1是均衡前各中間件承載的負(fù)載量示意圖。
圖2是采用本發(fā)明均衡后各中間件承載的負(fù)載量示意圖。
圖3是本發(fā)明中間件層次示意圖。
具體實(shí)施例方式
本發(fā)明詳細(xì)步驟如下
1接收并分發(fā)讀寫器的標(biāo)簽數(shù)據(jù)。
在每個(gè)中間件里添加一個(gè)負(fù)載均衡管理模塊,負(fù)責(zé)中間件對(duì)應(yīng)讀寫器的標(biāo) 簽數(shù)據(jù)接收和分發(fā)。負(fù)載均衡管理模塊將本中間件要處理的標(biāo)簽數(shù)據(jù)送入本中 間件的處理緩存中,而把需要轉(zhuǎn)移的標(biāo)簽數(shù)據(jù)送入中轉(zhuǎn)緩存,等待其他中間件 將其取走。
2監(jiān)控中間件是否過(guò)載,當(dāng)某一中間件過(guò)載時(shí),確定該中間件的等效負(fù)載 量,并決定需要移動(dòng)的讀寫器。
中間件的負(fù)載主要由ECSpec和讀寫器獲取的標(biāo)簽數(shù)據(jù)兩個(gè)因素決定。而ECSpec與標(biāo)簽數(shù)據(jù)之間又存在著某種對(duì)應(yīng)關(guān)系??紤]到一個(gè)標(biāo)簽數(shù)據(jù)對(duì)應(yīng)于一 個(gè)特定的讀寫器,因此中間件的負(fù)載量,實(shí)際上是由讀寫器和ECSpec以及它們 之間的對(duì)應(yīng)關(guān)系而決定的。讀寫器的權(quán)重等于該讀寫器的標(biāo)簽讀取速率。在中 間件ECSpec相關(guān)的讀寫器中,與中間件有邏輯連接關(guān)系的讀寫器權(quán)重之和就是 該中間件的等效負(fù)載量,設(shè)定該等效負(fù)載量為N。擬定中間件平均每秒能處理 的標(biāo)簽數(shù)量為A。當(dāng)N大于A,則說(shuō)明中間件超載,中間件超載負(fù)載量為(N-A)。 選取一個(gè)讀寫器權(quán)重與超載負(fù)載量最接近的讀寫器,在步驟3進(jìn)行轉(zhuǎn)移。 3動(dòng)態(tài)更新各個(gè)讀寫器與中間件的邏輯連接
首先將要轉(zhuǎn)移的讀寫器的邏輯連接更新至輕載的中間件。在輕載中間件中 啟動(dòng)一個(gè)進(jìn)程來(lái)分擔(dān)過(guò)載中間件的負(fù)載。這個(gè)新啟動(dòng)進(jìn)程的數(shù)據(jù)源在邏輯上與 要轉(zhuǎn)移的讀寫器相連,在物理上與原中間件的中轉(zhuǎn)緩存相連,轉(zhuǎn)移讀寫器對(duì)應(yīng) 的ECSpec轉(zhuǎn)移或復(fù)制到輕載的中間件。
在轉(zhuǎn)移ECSpec時(shí),如果該ECSpec只和將轉(zhuǎn)移的讀寫器相連,而與其他讀 寫器無(wú)關(guān),則將該ECSpec轉(zhuǎn)移到輕載中間件中,原中間件中不再保留該ECSpec。 如果要轉(zhuǎn)移的ECSpec除了和要轉(zhuǎn)移的讀寫器相連外,還與其它不需要轉(zhuǎn)移的讀 寫器相連,則需要將該ECSpec復(fù)制到輕載中間件中,同時(shí)在原中間件中保留該 ECSpec,繼續(xù)對(duì)與其對(duì)應(yīng)的其它讀寫器產(chǎn)生的標(biāo)簽數(shù)據(jù)進(jìn)行處理。
4通過(guò)各讀寫器的邏輯連接分發(fā)對(duì)應(yīng)的標(biāo)簽數(shù)據(jù)。
將要轉(zhuǎn)移的讀寫器數(shù)據(jù)放入中轉(zhuǎn)緩存,不再向處理緩存中分發(fā)。等待輕載 中間件來(lái)從中轉(zhuǎn)緩存中取走。
若有需要,則提供ECReport的發(fā)送與接收。如果某個(gè)被轉(zhuǎn)移的ECSpec在 轉(zhuǎn)移前需要處理兩個(gè)以上讀寫器的標(biāo)簽數(shù)據(jù),而在轉(zhuǎn)移之后相關(guān)的讀寫器的邏 輯連接不全在一個(gè)中間件上,則需要將多個(gè)中間件產(chǎn)生的關(guān)于這一個(gè)ECSpec的 ECReport進(jìn)行合并,統(tǒng)一成一個(gè)ECReport交付給應(yīng)用層Q
負(fù)載均衡示例如圖1與圖2所示,中間件A、 B代表兩個(gè)不同的RFID中間 件,ECSpecl至ECSpec4代表不同的應(yīng)用過(guò)濾法則。
在圖1中,ECSpecl、 ECSpec2、 ECSpec3與中間件A相關(guān)聯(lián),ECSpec4與中間件B相關(guān)聯(lián)。ECSpecl規(guī)定從讀寫器01采集數(shù)據(jù),ECSpec2規(guī)定從讀寫 器02和讀寫器03采集數(shù)據(jù),ECSpec3規(guī)定從讀寫器03和讀寫器04采集數(shù)據(jù), ECSpec4規(guī)定從讀寫器05采集數(shù)據(jù)。假設(shè)中間件A超載,讀寫器04的邏輯連 接轉(zhuǎn)移到中間件B。因?yàn)镋CSpec3與讀寫器03和讀寫器04同時(shí)相關(guān),那么把 ECSpec3復(fù)制到中間件B。由于ECSpec3同時(shí)存在于中間件A與中間件B上, 中間件A和中間件B關(guān)于ECSpec3的ECReport需要進(jìn)行合并。負(fù)載均衡后, 結(jié)果如
權(quán)利要求
1、用于射頻識(shí)別中間件的動(dòng)態(tài)負(fù)載均衡方法,包括以下步驟1)本地中間件將與其存在邏輯關(guān)系的讀寫器讀取的標(biāo)簽數(shù)據(jù)放入處理緩存中,與其不存在邏輯關(guān)系的讀寫器讀取的標(biāo)簽數(shù)據(jù)放入中轉(zhuǎn)緩存中;2)若本地中間件的標(biāo)簽采集速率N大于額定中間件標(biāo)簽處理速率A,則在與本地中間件有邏輯關(guān)系的讀寫器中,搜索標(biāo)簽采集速率與超載負(fù)載量N-A最接近的讀寫器,將其與本地中間件中轉(zhuǎn)緩存的物理連接保持不變,其邏輯連接更新至其它的輕載中間件;3)對(duì)于步驟2)中需要轉(zhuǎn)移邏輯關(guān)系的讀寫器,查詢其對(duì)應(yīng)的標(biāo)簽過(guò)濾法則,如果該標(biāo)簽過(guò)濾法則只和該讀寫器相關(guān),則將該標(biāo)簽過(guò)濾法則轉(zhuǎn)移到步驟2)新接入的輕載中間件,否則將該標(biāo)簽過(guò)濾法則復(fù)制到步驟2)新接入的輕載中間件中,返回步驟1)。
2、 如權(quán)利要求1所述的動(dòng)態(tài)負(fù)載均衡方法,其特征在于將標(biāo)簽過(guò)濾法 則復(fù)制前所屬的中間件和復(fù)制后新接入的中間件產(chǎn)生的關(guān)于這個(gè)標(biāo)簽過(guò)濾法則 的報(bào)告進(jìn)行合并,形成一個(gè)報(bào)告交付給應(yīng)用層。
全文摘要
本發(fā)明提供一種用于射頻識(shí)別中間件的動(dòng)態(tài)負(fù)載均衡方法,若本地中間件超載,則在與本地中間件有邏輯關(guān)系的讀寫器中,搜索標(biāo)簽采集速率與超載負(fù)載量最接近的讀寫器,將其與本地中間件的物理連接保持不變,其邏輯連接更新至其它的輕載中間件,同時(shí)將該讀寫器對(duì)應(yīng)的ECSpec轉(zhuǎn)移或者復(fù)制到同一輕載中間件中。本發(fā)明無(wú)需改變讀寫器物理連接,各中間件僅保存與之有邏輯連接的讀寫器對(duì)應(yīng)的ECSpec文件,有效實(shí)現(xiàn)多個(gè)RFID中間件之間的動(dòng)態(tài)負(fù)載均衡。
文檔編號(hào)H04L29/08GK101551846SQ20091006181
公開(kāi)日2009年10月7日 申請(qǐng)日期2009年4月24日 優(yōu)先權(quán)日2009年4月24日
發(fā)明者威 劉, 巍 袁, 愷 鄒, 文 陳, 磊 韓 申請(qǐng)人:華中科技大學(xué)