本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,特別地涉及一種基于Quorum機(jī)制實(shí)現(xiàn)權(quán)限數(shù)據(jù)緩存同步的方法及裝置。
背景技術(shù):
運(yùn)營(yíng)管理中心(Operation Management Center,OMC)作為倉(cāng)儲(chǔ)項(xiàng)目中商品屬性管理的統(tǒng)一平臺(tái),里面包含有很多的權(quán)限管理,管理著商品屬性或者商品模塊與其管理者或者管理員的權(quán)限關(guān)系。當(dāng)OMC系統(tǒng)的管理員對(duì)用戶(即:商品或模塊的管理者)進(jìn)行授權(quán)時(shí),需要保證授權(quán)的一致性,即所有訪問(wèn)到OMC系統(tǒng)中的用戶(即:商品或模塊的管理者)都應(yīng)該擁有最新的權(quán)限,否則就會(huì)出現(xiàn)管理上的混亂。
目前常用的權(quán)限數(shù)據(jù)緩存同步的方法,基本上是基于web服務(wù)器(web server)中內(nèi)置的會(huì)話(session)管理器,來(lái)進(jìn)行同步管理。比如tomcat的sessionManager等。一般情況下,基于web服務(wù)器的權(quán)限管理,是將用戶的權(quán)限數(shù)據(jù)以加密或者明文的方式存儲(chǔ)到web服務(wù)器內(nèi)置的會(huì)話信息中,然后通過(guò)web服務(wù)器的會(huì)話管理器,將各自的會(huì)話信息進(jìn)行數(shù)據(jù)庫(kù)存儲(chǔ),并將存儲(chǔ)的會(huì)話數(shù)據(jù)共享到系統(tǒng)集群中所有的緩存服務(wù)器中以實(shí)現(xiàn)權(quán)限數(shù)據(jù)緩存同步。例如:假設(shè)初次登錄時(shí)是web服務(wù)器1提供服務(wù),用戶進(jìn)行了一些操作(如將商品添加購(gòu)物車)后刷新了系統(tǒng),此時(shí)根據(jù)OMC系統(tǒng)的負(fù)載均衡原則可能會(huì)更換為web服務(wù)器2來(lái)提供服務(wù)。由于會(huì)話中保存了之前的操作信息,會(huì)同步更新到其他web服務(wù)器的緩存服務(wù)器中,因此不會(huì)出現(xiàn)購(gòu)物車中無(wú)新添加商品的情況,以此實(shí)現(xiàn)緩存同步。
由于OMC系統(tǒng)具有負(fù)載均衡功能,因此在分布式系統(tǒng)集群中, 可以實(shí)現(xiàn)對(duì)所有OMC系統(tǒng)的緩存服務(wù)器中每個(gè)用戶(即:商品或模塊的管理者)的權(quán)限進(jìn)行緩存同步。但是如果緩存服務(wù)器過(guò)多,則當(dāng)OMC系統(tǒng)的管理員在對(duì)用戶的權(quán)限進(jìn)行設(shè)置時(shí)就會(huì)出現(xiàn)卡頓甚至延時(shí)的情況。例如:假設(shè)緩存服務(wù)器有n個(gè),正常情況下需要將管理員配置的用戶的權(quán)限數(shù)據(jù)緩存到所有緩存服務(wù)器之后,才會(huì)返回給管理員“操作成功”的提示。而在實(shí)際情況下,當(dāng)緩存服務(wù)器過(guò)多時(shí),一方面,管理員可能無(wú)法等待所有緩存服務(wù)器都同步完并提示“操作成功”后再進(jìn)行其他操作;另一方面,大多數(shù)的web應(yīng)用,基本上都設(shè)置了超時(shí)時(shí)間,可能沒等同步完就已經(jīng)超時(shí)了。這樣帶來(lái)非常不好的使用體驗(yàn),同時(shí)對(duì)系統(tǒng)的健壯性和數(shù)據(jù)的一致性都會(huì)帶來(lái)一些影響。
并且,在使用過(guò)程中發(fā)現(xiàn),現(xiàn)有的權(quán)限數(shù)據(jù)緩存同步的方法對(duì)web服務(wù)器的依賴性過(guò)強(qiáng),一旦出現(xiàn)web服務(wù)器宕機(jī),將無(wú)法更新權(quán)限數(shù)據(jù)。例如:當(dāng)管理員修改了一個(gè)用戶(即:商品或模塊的管理者)的權(quán)限數(shù)據(jù),但是在更新到第5個(gè)web服務(wù)器的時(shí)候宕機(jī)了,故第5個(gè)web服務(wù)器沒有更新成功;在該用戶下次登錄商品管理系統(tǒng)時(shí),如果是該web服務(wù)器提供服務(wù),則會(huì)出現(xiàn)權(quán)限數(shù)據(jù)錯(cuò)誤的情況,即:該web服務(wù)器未獲取最新權(quán)限數(shù)據(jù)。尤其對(duì)于OMC系統(tǒng),隨時(shí)可能有其他系統(tǒng)來(lái)讀取用戶(即:商品或模塊的管理者)的權(quán)限數(shù)據(jù),那么權(quán)限數(shù)據(jù)緩存的同步就顯得更為重要。
因此,需要一種機(jī)制,既能夠保障管理員在同步緩存時(shí),執(zhí)行最快的寫操作,加快更新速度,又能夠保證每次讀取都能獲取到各個(gè)用戶的最新權(quán)限。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明提供一種基于Quorum機(jī)制實(shí)現(xiàn)權(quán)限數(shù)據(jù)緩存同步的方法及裝置,通過(guò)使用緩存服務(wù)器來(lái)保存用戶權(quán)限數(shù)據(jù),實(shí)現(xiàn)與web服務(wù)器的會(huì)話管理解耦,能夠避免對(duì)web服務(wù)器的強(qiáng)依賴性;同時(shí)采用Quorum機(jī)制來(lái)實(shí)現(xiàn)權(quán)限數(shù)據(jù)緩存同步,能夠有效地解決系統(tǒng) 延時(shí)的問(wèn)題,提高更新效率。
為實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的一個(gè)方面,提供了一種基于Quorum機(jī)制實(shí)現(xiàn)權(quán)限數(shù)據(jù)緩存同步的方法。
一種基于Quorum機(jī)制實(shí)現(xiàn)權(quán)限數(shù)據(jù)緩存同步的方法,其中共有n個(gè)緩存服務(wù)器,n是正整數(shù),所述方法包括:確定整數(shù)k,k大于0且小于或等于n;將需要更新的權(quán)限數(shù)據(jù)更新到k個(gè)緩存服務(wù)器中,之后提示更新成功,其中,所述權(quán)限數(shù)據(jù)包括版本號(hào);在提示更新成功之后,當(dāng)接收到用戶發(fā)來(lái)的權(quán)限數(shù)據(jù)獲取請(qǐng)求時(shí),從任意n-k+1個(gè)緩存服務(wù)器中讀取權(quán)限數(shù)據(jù)以獲取n-k+1組權(quán)限數(shù)據(jù),并將其中版本號(hào)最新的權(quán)限數(shù)據(jù)返回給用戶。
可選地,還包括:在提示更新成功之后,在后臺(tái)將所述權(quán)限數(shù)據(jù)更新到其余n-k個(gè)緩存服務(wù)器中。
可選地,在后臺(tái)將所述權(quán)限數(shù)據(jù)更新到其余n-k個(gè)緩存服務(wù)器中的步驟包括:根據(jù)后臺(tái)的異步處理機(jī)制,從任意n-k+1個(gè)緩存服務(wù)器中讀取權(quán)限數(shù)據(jù)以獲得n-k+1組權(quán)限數(shù)據(jù);從所述n-k+1組權(quán)限數(shù)據(jù)中找到版本號(hào)最新的權(quán)限數(shù)據(jù);將所述版本號(hào)最新的權(quán)限數(shù)據(jù)更新到其余n-k個(gè)緩存服務(wù)器中。
根據(jù)本發(fā)明的另一方面,提供了一種基于Quorum機(jī)制實(shí)現(xiàn)權(quán)限數(shù)據(jù)緩存同步的裝置。
一種基于Quorum機(jī)制實(shí)現(xiàn)權(quán)限數(shù)據(jù)緩存同步的裝置,包括:前臺(tái)更新模塊,用于將需要更新的權(quán)限數(shù)據(jù)更新到k個(gè)緩存服務(wù)器中,之后提示更新成功,其中,所述權(quán)限數(shù)據(jù)包括版本號(hào),所述緩存服務(wù)器有n個(gè),且k是大于0且小于或等于n的確定整數(shù);數(shù)據(jù)讀取模塊,用于在提示更新成功之后,當(dāng)接收到用戶發(fā)來(lái)的權(quán)限數(shù)據(jù)獲取請(qǐng)求時(shí), 從任意n-k+1個(gè)緩存服務(wù)器中讀取權(quán)限數(shù)據(jù)以獲取n-k+1組權(quán)限數(shù)據(jù),并將其中版本號(hào)最新的權(quán)限數(shù)據(jù)返回給用戶。
可選地,還包括:后臺(tái)同步模塊,用于在提示更新成功之后,在后臺(tái)將所述權(quán)限數(shù)據(jù)更新到其余n-k個(gè)緩存服務(wù)器中。
可選地,所述后臺(tái)同步模塊還用于:根據(jù)后臺(tái)的異步處理機(jī)制,從任意n-k+1個(gè)緩存服務(wù)器中讀取權(quán)限數(shù)據(jù)以獲得n-k+1組權(quán)限數(shù)據(jù);從所述n-k+1組權(quán)限數(shù)據(jù)中找到版本號(hào)最新的權(quán)限數(shù)據(jù);將所述版本號(hào)最新的權(quán)限數(shù)據(jù)更新到其余n-k個(gè)緩存服務(wù)器中。
根據(jù)本發(fā)明的技術(shù)方案,通過(guò)使用緩存服務(wù)器來(lái)保存用戶的權(quán)限數(shù)據(jù),實(shí)現(xiàn)與web服務(wù)器的會(huì)話管理解耦,能夠避免對(duì)web服務(wù)器的強(qiáng)依賴性;同時(shí)采用Quorum機(jī)制來(lái)實(shí)現(xiàn)權(quán)限數(shù)據(jù)緩存同步,能夠有效地解決系統(tǒng)延時(shí)的問(wèn)題,提高更新效率。
附圖說(shuō)明
附圖用于更好地理解本發(fā)明,不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。其中:
圖1是根據(jù)本發(fā)明實(shí)施例的基于Quorum機(jī)制實(shí)現(xiàn)權(quán)限數(shù)據(jù)緩存同步的方法的主要步驟示意圖;
圖2是根據(jù)本發(fā)明實(shí)施例的基于Quorum機(jī)制實(shí)現(xiàn)權(quán)限數(shù)據(jù)緩存同步的方法的實(shí)現(xiàn)過(guò)程示意圖;
圖3是根據(jù)本發(fā)明實(shí)施例的基于Quorum機(jī)制實(shí)現(xiàn)權(quán)限數(shù)據(jù)緩存同步的裝置的主要模塊示意圖。
具體實(shí)施方式
以下結(jié)合附圖對(duì)本發(fā)明的示范性實(shí)施例做出說(shuō)明,其中包括本發(fā)明實(shí)施例的各種細(xì)節(jié)以助于理解,應(yīng)當(dāng)將它們認(rèn)為僅僅是示范性的。因此,本領(lǐng)域普通技術(shù)人員應(yīng)當(dāng)認(rèn)識(shí)到,可以對(duì)這里描述的實(shí)施例做出各種改變和修改,而不會(huì)背離本發(fā)明的范圍和精神。同樣,為了清 楚和簡(jiǎn)明,以下的描述中省略了對(duì)公知功能和結(jié)構(gòu)的描述。
本發(fā)明的技術(shù)方案,是通過(guò)采用Quorum機(jī)制來(lái)實(shí)現(xiàn)數(shù)據(jù)同步。
已知的Quorum機(jī)制被用來(lái)解決讀寫模型中讀寫的負(fù)載均衡。假設(shè)總共有n個(gè)數(shù)據(jù)副本,其中k個(gè)已經(jīng)更新(k<n),而N-k個(gè)未更新,則當(dāng)任意讀取N-k+1個(gè)數(shù)據(jù)副本的時(shí)候,其中必定至少有1個(gè)是被更新的(鴿巢原理)。我們只需通過(guò)比較選擇所讀取的N-k+1個(gè)數(shù)據(jù)中版本最新的那個(gè)數(shù)據(jù),就可以得到最新更新的數(shù)據(jù)了。
根據(jù)本發(fā)明,在一共需要對(duì)n個(gè)緩存服務(wù)器更新權(quán)限數(shù)據(jù)的情況下,當(dāng)k個(gè)緩存服務(wù)器已被更新,則任意讀取n-k+1個(gè)緩存服務(wù)器的權(quán)限數(shù)據(jù),其中必定有一個(gè)是最新的數(shù)據(jù)。本發(fā)明可使用基于Quorum開發(fā)的開源框架來(lái)解決數(shù)據(jù)同步的問(wèn)題。
圖1是根據(jù)本發(fā)明實(shí)施例的基于Quorum機(jī)制實(shí)現(xiàn)權(quán)限數(shù)據(jù)緩存同步的方法的主要步驟示意圖。如圖1所示,本發(fā)明的基于Quorum機(jī)制實(shí)現(xiàn)權(quán)限數(shù)據(jù)緩存同步的方法主要包括如下的步驟S11和步驟S12。
假定共有n個(gè)緩存服務(wù)器,n是正整數(shù),并且選擇整數(shù)k,k大于0且小于或等于n。根據(jù)本發(fā)明,k的值可根據(jù)分布式系統(tǒng)的具體需求中對(duì)數(shù)據(jù)一致性的要求進(jìn)行設(shè)置。
在步驟S11:將需要更新的權(quán)限數(shù)據(jù)更新到k個(gè)緩存服務(wù)器中,在這k個(gè)緩存服務(wù)器完成權(quán)限數(shù)據(jù)的更新之后,提示更新成功,其中,所述權(quán)限數(shù)據(jù)包括版本號(hào)。版本號(hào)反映了權(quán)限數(shù)據(jù)的新舊程度。
在步驟S12:在提示更新成功之后,當(dāng)接收到用戶發(fā)來(lái)的權(quán)限數(shù)據(jù)獲取請(qǐng)求時(shí),從任意n-k+1個(gè)緩存服務(wù)器分別讀取權(quán)限數(shù)據(jù)以獲取n-k+1組權(quán)限數(shù)據(jù),并將其中版本號(hào)最新的權(quán)限數(shù)據(jù)返回給用戶。
根據(jù)以上的步驟S11和步驟S12,即可實(shí)現(xiàn)高效率的數(shù)據(jù)讀寫同步。另外,在提示更新成功之后,還可以包括步驟S13(圖中未示出):在后臺(tái)將所述權(quán)限數(shù)據(jù)更新到其余n-k個(gè)緩存服務(wù)器中。然而,步驟S13中在后臺(tái)執(zhí)行的操作對(duì)用戶是透明的,且對(duì)于響應(yīng)用戶的權(quán)限數(shù)據(jù)請(qǐng)求并不是必要的。實(shí)際上,只要用最新的權(quán)限數(shù)據(jù)更新了k個(gè)緩存服務(wù)器,就可以通過(guò)讀取任意n-k+1個(gè)緩存服務(wù)器中的權(quán)限數(shù)據(jù)來(lái)獲得最新更新的權(quán)限數(shù)據(jù)。但是,為了保持所有緩存服務(wù)器上的權(quán)限數(shù)據(jù)的一致性,以及增強(qiáng)所讀取的權(quán)限數(shù)據(jù)的可靠性,需要異步地在后臺(tái)更新其他緩存服務(wù)器上的權(quán)限數(shù)據(jù)。
步驟S13中的在后臺(tái)將所述權(quán)限數(shù)據(jù)更新到其余n-k個(gè)緩存服務(wù)器中的方法可以按照以下的順序來(lái)執(zhí)行:
步驟S131:根據(jù)后臺(tái)的異步處理機(jī)制,從任意n-k+1個(gè)緩存服務(wù)器中讀取權(quán)限數(shù)據(jù)以獲得n-k+1組權(quán)限數(shù)據(jù);
步驟S132:從上述n-k+1組權(quán)限數(shù)據(jù)中找到所述版本號(hào)最新的權(quán)限數(shù)據(jù);
步驟S133:將所述版本號(hào)最新的權(quán)限數(shù)據(jù)更新到其余n-k個(gè)緩存服務(wù)器中。
按照上述的步驟S131至步驟S133即可實(shí)現(xiàn)后臺(tái)更新權(quán)限數(shù)據(jù)與用戶獲取權(quán)限數(shù)據(jù)的異步執(zhí)行,可等待系統(tǒng)有空閑時(shí)再執(zhí)行后臺(tái)更新,從而提高了系統(tǒng)的響應(yīng)效率。
如圖2所示,是根據(jù)本發(fā)明實(shí)施例的基于Quorum機(jī)制實(shí)現(xiàn)權(quán)限數(shù)據(jù)緩存同步的方法的實(shí)現(xiàn)過(guò)程示意圖。如圖2,首先,OMC系統(tǒng)的管理員會(huì)在OMC平臺(tái)為用戶(即:相關(guān)模塊的管理者)分配權(quán)限。當(dāng)分配完各個(gè)用戶可以管理的模塊或者相應(yīng)內(nèi)容之后,會(huì)將所分配的權(quán)限數(shù)據(jù)同步更新到緩存服務(wù)器中,從而實(shí)現(xiàn)與web服務(wù)器的會(huì)話管理解耦。與現(xiàn)有技術(shù)中的依靠web服務(wù)器的會(huì)話管理機(jī)制及會(huì)話復(fù)制功 能來(lái)實(shí)現(xiàn)集群環(huán)境下的權(quán)限同步的方法相比,本發(fā)明中采用直接將權(quán)限數(shù)據(jù)保存在OMC服務(wù)器的緩存服務(wù)器中,不再依賴web服務(wù)器進(jìn)行權(quán)限管理,故而不會(huì)因?yàn)閣eb服務(wù)器改變或者遷移而對(duì)權(quán)限數(shù)據(jù)更新造成影響,從而減少了對(duì)web服務(wù)器的依賴。
另外,本發(fā)明采用Quorum機(jī)制來(lái)實(shí)現(xiàn)權(quán)限數(shù)據(jù)的同步。在一共需要對(duì)n個(gè)緩存服務(wù)器更新用戶(如商品或模塊的管理者)權(quán)限數(shù)據(jù)的情況下,當(dāng)已對(duì)k個(gè)緩存服務(wù)器更新了權(quán)限數(shù)據(jù),則讀取任意n-k+1個(gè)緩存服務(wù)器的權(quán)限數(shù)據(jù),其中必定有一個(gè)是最新的數(shù)據(jù)。其中,k為大于0且小于或等于n的整數(shù)。
根據(jù)本發(fā)明,k的值可根據(jù)分布式系統(tǒng)的具體需求中對(duì)數(shù)據(jù)一致性的要求進(jìn)行設(shè)置。
更新數(shù)據(jù)的過(guò)程如圖2中左上虛線框內(nèi)所示,管理員更新用戶權(quán)限后,僅需要更新k個(gè)緩存服務(wù)器的權(quán)限數(shù)據(jù)RS[1]至RS[k],之后,系統(tǒng)將提示更新成功,管理員可進(jìn)行其他的操作。
讀取數(shù)據(jù)的過(guò)程如圖2左下虛線框內(nèi)所示,當(dāng)用戶請(qǐng)求獲取權(quán)限數(shù)據(jù)后,系統(tǒng)將從n-k+1個(gè)緩存服務(wù)器中讀取權(quán)限數(shù)據(jù)RS[1,n-k+1],共n-k+1組數(shù)據(jù),并從這些數(shù)據(jù)中找到版本號(hào)最新的權(quán)限數(shù)據(jù),如RS[i],i∈[1,k],然后,返回給用戶。
對(duì)于之前未進(jìn)行權(quán)限數(shù)據(jù)同步的n-k個(gè)緩存服務(wù)器,將通過(guò)后臺(tái)同步過(guò)程來(lái)執(zhí)行權(quán)限數(shù)據(jù)更新,這些對(duì)于OMC系統(tǒng)的管理員或者用戶來(lái)講是透明的。如圖2右虛線框內(nèi)所示,根據(jù)后臺(tái)異步處理機(jī)制,首先讀取RS[1,n-k+1],共n-k+1組數(shù)據(jù),并從這些數(shù)據(jù)中找到版本號(hào)最新的權(quán)限數(shù)據(jù),如RS[i],i∈[1,k],然后系統(tǒng)將遍歷所有的n個(gè)緩存服務(wù)器,對(duì)于未完成權(quán)限數(shù)據(jù)更新的n-k個(gè)緩存服務(wù)器執(zhí)行權(quán)限數(shù)據(jù)更新操作。
由上述可知,讀取數(shù)據(jù)和后臺(tái)同步的過(guò)程均在更新數(shù)據(jù)過(guò)程之后,但是讀取數(shù)據(jù)和后臺(tái)同步無(wú)時(shí)序上的先后關(guān)系,也可同時(shí)進(jìn)行。當(dāng)管理員寫入權(quán)限數(shù)據(jù)時(shí),采用此種方式可以緩解寫繁忙的情況;當(dāng)用戶讀取自己的權(quán)限數(shù)據(jù)時(shí),采用Quorum機(jī)制的特性,任意取n-k+1個(gè)數(shù)據(jù),選擇版本最新的數(shù)據(jù)返回給用戶,那么這個(gè)數(shù)據(jù)就是正確的數(shù)據(jù)。采用此種方法進(jìn)行權(quán)限數(shù)據(jù)更新,在后臺(tái)進(jìn)行同步其他緩存服務(wù)器時(shí),無(wú)論是否可以更新成功,都不會(huì)影響獲取最新的用戶權(quán)限。如此,既緩解了寫的壓力,同時(shí)確保了獲取數(shù)據(jù)的準(zhǔn)確性。
圖3是根據(jù)本發(fā)明實(shí)施例的基于Quorum機(jī)制實(shí)現(xiàn)權(quán)限數(shù)據(jù)緩存同步的裝置的主要模塊示意圖。如圖3所示,本發(fā)明的基于Quorum機(jī)制實(shí)現(xiàn)權(quán)限數(shù)據(jù)緩存同步的裝置30主要包括前臺(tái)更新模塊31和數(shù)據(jù)讀取模塊32。另外,還可以包括后臺(tái)同步模塊33。
前臺(tái)更新模塊31用于將需要更新的權(quán)限數(shù)據(jù)更新到k個(gè)緩存服務(wù)器中,之后提示更新成功,其中,所述權(quán)限數(shù)據(jù)包括版本號(hào),所述緩存服務(wù)器有n個(gè),且k是大于0且小于或等于n的確定整數(shù)。
數(shù)據(jù)讀取模塊32用于在提示更新成功之后,當(dāng)接收到用戶發(fā)來(lái)的權(quán)限數(shù)據(jù)獲取請(qǐng)求時(shí),從任意n-k+1個(gè)緩存服務(wù)器中讀取權(quán)限數(shù)據(jù)以獲取n-k+1組權(quán)限數(shù)據(jù),并將其中版本號(hào)最新的權(quán)限數(shù)據(jù)返回給用戶。
后臺(tái)同步模塊33用于用于在提示更新成功之后,在后臺(tái)將所述權(quán)限數(shù)據(jù)更新到其余n-k個(gè)緩存服務(wù)器中。
后臺(tái)同步模塊33還可以用于根據(jù)后臺(tái)的異步處理機(jī)制,從任意n-k+1個(gè)緩存服務(wù)器中讀取權(quán)限數(shù)據(jù)以獲得n-k+1組權(quán)限數(shù)據(jù);從所述n-k+1組權(quán)限數(shù)據(jù)中找到版本號(hào)最新的權(quán)限數(shù)據(jù);將所述版本號(hào)最新的權(quán)限數(shù)據(jù)更新到其余n-k個(gè)緩存服務(wù)器中。
根據(jù)本發(fā)明實(shí)施例的技術(shù)方案,通過(guò)使用緩存服務(wù)器來(lái)保存權(quán)限數(shù)據(jù),實(shí)現(xiàn)與web服務(wù)器的會(huì)話管理解耦,能夠避免對(duì)web服務(wù)器的強(qiáng)依賴性;同時(shí)采用Quorum機(jī)制來(lái)實(shí)現(xiàn)權(quán)限數(shù)據(jù)緩存同步,能夠有效地解決系統(tǒng)延時(shí)的問(wèn)題,提高更新效率。
上述具體實(shí)施方式,并不構(gòu)成對(duì)本發(fā)明保護(hù)范圍的限制。本領(lǐng)域技術(shù)人員應(yīng)該明白的是,取決于設(shè)計(jì)要求和其他因素,可以發(fā)生各種各樣的修改、組合、子組合和替代。任何在本發(fā)明的精神和原則之內(nèi)所作的修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明保護(hù)范圍之內(nèi)。