本發(fā)明涉及通信
技術(shù)領(lǐng)域:
,尤其涉及一種調(diào)整ACL表項的方法及裝置。
背景技術(shù):
:ACL(AccessControlList,訪問控制列表)是一種流量訪問控制技術(shù),ACL中的ACL表項為一系列指定報文的匹配條件和報文的處理動作,當報文經(jīng)過網(wǎng)絡(luò)設(shè)備時,通過匹配ACL表項中的匹配條件,并按照相應(yīng)的處理動作對報文進行處理?,F(xiàn)有技術(shù)中,在調(diào)整已有的ACL表項的優(yōu)先級關(guān)系時,需要刪除ACL中的部分ACL表項,并在合適的位置新增該ACL表項。但是當部分ACL表項被刪除之后,再新增該ACL表項之前,若接收到匹配這部分ACL表項的報文,會造成報文匹配錯誤的ACL表項,導致對報文的處理錯誤。技術(shù)實現(xiàn)要素:本發(fā)明提供一種調(diào)整ACL表項的方法及裝置,以解決現(xiàn)有技術(shù)中當部分ACL表項被刪除之后,再新增該ACL表項之前,若接收到匹配這部分ACL表項的報文,會造成報文匹配錯誤的ACL表項,導致對報文的處理錯誤的問題。第一方面,本發(fā)明提供一種調(diào)整ACL表項的方法,包括:獲取待調(diào)整的第一ACL表項,確定所述第一ACL表項調(diào)整前的第一優(yōu)先級、調(diào)整后的第二優(yōu)先級;根據(jù)第一優(yōu)先級和第二優(yōu)先級,確定所述第一ACL表項的遷移方向;在所述遷移方向上,確定所述第一ACL表項的調(diào)整位置;將所述第一ACL表項復制到所述調(diào)整位置,并刪除原第一ACL表項。第二方面,本發(fā)明提供一種調(diào)整ACL表項的裝置,包括:第一確定模塊,獲取待調(diào)整的第一ACL表項,確定所述第一ACL表項調(diào)整前的第一優(yōu)先級、調(diào)整后的第二優(yōu)先級;第二確定模塊,根據(jù)第一優(yōu)先級和第二優(yōu)先級,確定所述第一ACL表項的遷移方向;第三確定模塊,在所述遷移方向上,確定所述第一ACL表項的調(diào)整位置;復制刪除模塊,將所述第一ACL表項復制到所述調(diào)整位置,并刪除原第一ACL表項。由本發(fā)明的實施例可見,獲取待調(diào)整的第一ACL表項,確定所述第一ACL表項調(diào)整前的第一優(yōu)先級、調(diào)整后的第二優(yōu)先級,根據(jù)第一優(yōu)先級和第二優(yōu)先級,確定所述第一ACL表項的遷移方向,在所述遷移方向上,確定所述第一ACL表項的調(diào)整位置,將所述第一ACL表項復制到所述調(diào)整位置,并刪除原第一ACL表項。由于本發(fā)明實施例在調(diào)整ACL表項的優(yōu)先級時,先在調(diào)整位置復制新增的ACL表項,然后再將原ACL表項刪除,不會出現(xiàn)部分ACL表項被刪除的狀態(tài),因此當接收到匹配這部分ACL表項的報文時,會將報文匹配正確的ACL表項,并對報文進行正確的轉(zhuǎn)發(fā)。附圖說明圖1是本發(fā)明一種調(diào)整ACL表項的方法的一個實施例流程圖;圖2是本發(fā)明一種調(diào)整ACL表項的裝置所在設(shè)備的一種硬件結(jié)構(gòu)圖;圖3是本發(fā)明一種調(diào)整ACL表項的裝置的一個實施例框圖。具體實施方式為了使本
技術(shù)領(lǐng)域:
的人員更好地理解本發(fā)明實施例中的技術(shù)方案,并使本發(fā)明實施例的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結(jié)合附圖對本發(fā)明實施例中技術(shù)方案作進一步詳細的說明。在支持芯片ACL的網(wǎng)絡(luò)設(shè)備中,通常不會將所有ACL表項都開放給用戶,部分ACL表項設(shè)置為對用戶是不可配置的,這部分ACL表項稱為系統(tǒng)預(yù)留的芯片ACL表項(后續(xù)簡稱為預(yù)留ACL表項)。預(yù)留ACL表項的位置在用戶可配的所有ACL表項之前或之后,但不會在用戶可配的ACL表項之間;本發(fā)明實施例從系統(tǒng)預(yù)留的ACL表項中獲取一個預(yù)留ACL表項,該預(yù)留ACL表項是一個對用戶臨時可配的ACL表項,可以用于暫時存儲一個非空的ACL表項,后續(xù)還需要將該表項空出來。對于用戶可配的ACL表項,又分為空閑ACL表項和非空閑ACL表項,空閑ACL表項是指表項內(nèi)容為空,非空閑ACL表項是指表項內(nèi)容不為空。報文進入網(wǎng)絡(luò)設(shè)備時,網(wǎng)絡(luò)設(shè)備將依次檢查每一個非空閑ACL表項是否匹配該報文,如果匹配則執(zhí)行相應(yīng)的處理動作,且不再進行后續(xù)匹配;若不匹配,則繼續(xù)匹配下一個非空閑ACL表項。本發(fā)明實施例,針對獲取的預(yù)留ACL表項和空閑ACL表項統(tǒng)稱為可用ACL表項,對于非空閑ACL表項稱為不可用ACL表項。對于所有ACL表項,按照其在ACL表中從前到后的順序,對于每個ACL表項(可用ACL表項和不可用ACL表項)都對應(yīng)一個位置,如,第一條ACL表項對應(yīng)的位置為1,第二條ACL表項對應(yīng)的位置為2,……以此類推,至第n條ACL表項對應(yīng)的位置為n。另外,對于每條不可用ACL表項,按其從前到后的相對位置確定一個優(yōu)先級值,越靠前的ACL表項的優(yōu)先級越高,對應(yīng)的優(yōu)先級值越小,如第一條不可用ACL表項的優(yōu)先級為1,第二條不可用ACL表項的優(yōu)先級為2,……以此類推,至第N條不可用ACL表項優(yōu)先級為N。由于可用ACL表項無優(yōu)先級,因此ACL表項對應(yīng)的位置與優(yōu)先級值不一定相同,但二者都保證從前往后其值從小到大的順序。參見圖1,為本發(fā)明一種的調(diào)整ACL表項方法的一個實施例流程圖,包括以下步驟:步驟101:獲取待調(diào)整的第一ACL表項,確定所述第一ACL表項調(diào)整前的第一優(yōu)先級、調(diào)整后的第二優(yōu)先級。步驟102:根據(jù)第一優(yōu)先級和第二優(yōu)先級,確定所述第一ACL表項的遷移方向。在一個例子中,當?shù)谝粌?yōu)先級大于第二優(yōu)先級時,確定所述第一ACL表項的遷移方向是將所述第一ACL表項向上遷移;在另一個例子中,當?shù)谝粌?yōu)先級小于第二優(yōu)先級時,確定所述第一ACL表項的遷移方向是將所述第一ACL表項向下遷移。步驟103:在所述遷移方向上,確定所述第一ACL表項的調(diào)整位置。在一個例子中,當所述遷移方向是將所述第一ACL表項向上遷移時,確定當前第二優(yōu)先級的第二ACL表項的第一位置;將所述第一位置或者第一位置的上一位置確定為調(diào)整位置。其中,針對所述將所述第一位置或者第一位置的上一位置確定為調(diào)整位置過程,還可以包括:從第一位置開始向上依次遍歷ACL表項,確定第一個可用的ACL表項的第二位置;并統(tǒng)計第一位置與第二位置之間的ACL表項的第一表項數(shù);若第一表項數(shù)為0,確定第一位置的上一位置為所述調(diào)整位置;若第一表項數(shù)不為0,從第一位置開始向下依次遍歷ACL表項,確定第一個可用的ACL表項的第三位置;并統(tǒng)計第一位置的上一位置與第三位置之間的ACL表項的第二表項數(shù);當?shù)谝槐眄棓?shù)小于第二表項數(shù)時,確定第一位置的上一位置為所述調(diào)整位置;當?shù)谝槐眄棓?shù)不小于第二表項數(shù)時,確定所述第一位置為所述調(diào)整位置。在另一個例子中,當所述遷移方向是將所述第一ACL表項向下遷移時,確定比當前第二優(yōu)先級低一級的第三ACL表項的第四位置;將所述第四位置或者第四位置的上一位置確定為調(diào)整位置。其中,針對所述將所述第四位置或者第四位置的上一位置確定為調(diào)整位置過程,還可以包括:從第四位置開始向上依次遍歷ACL表項,確定第一個可用的ACL表項的第五位置;并統(tǒng)計第四位置與第五位置之間的ACL表項的第三表項數(shù);若第三表項數(shù)為0,確定第四位置的上一位置為所述調(diào)整位置;若第三表項數(shù)不為0,從第四位置開始向下依次遍歷ACL表項,確定第一個可用的ACL表項的第六位置;并統(tǒng)計第四位置的上一位置與第六位置之間的ACL表項的第四表項數(shù);當?shù)谌眄棓?shù)小于第四表項數(shù)時,確定第四位置的上一位置為所述調(diào)整位置;當?shù)谌眄棓?shù)不小于第四表項數(shù)時,確定所述第四位置為所述調(diào)整位置。步驟104:將所述第一ACL表項復制到所述調(diào)整位置,并刪除原第一ACL表項。其中,所述將所述第一ACL表項復制到所述調(diào)整位置之前,若第一表項數(shù)不為0,當?shù)谝槐眄棓?shù)小于第二表項數(shù)時,將第一位置與第二位置之間的每個ACL表項逐個向上移動一個位置;當?shù)谝槐眄棓?shù)不小于第二表項數(shù)時,將第一位置的上一位置至第三位置之間的ACL表項逐個向下移動一個位置。若第三表項數(shù)不為0,當?shù)谌眄棓?shù)小于第四表項數(shù)時,將第四位置與第五位置之間的每個ACL表項逐個向上移動一個位置;當?shù)谌眄棓?shù)不小于第四表項數(shù)時,將第四位置的上一位置至第六位置之間的ACL表項逐個向下移動一個位置。由上述實施例可見,獲取待調(diào)整的第一ACL表項,確定所述第一ACL表項調(diào)整前的第一優(yōu)先級、調(diào)整后的第二優(yōu)先級,根據(jù)第一優(yōu)先級和第二優(yōu)先級,確定所述第一ACL表項的遷移方向,在所述遷移方向上,確定所述第一ACL表項的調(diào)整位置,將所述第一ACL表項復制到所述調(diào)整位置,并刪除原第一ACL表項。由于本發(fā)明實施例在調(diào)整ACL表項的優(yōu)先級時,先在調(diào)整位置復制新增的ACL表項,然后再將原ACL表項刪除,不會出現(xiàn)部分ACL表項被刪除的狀態(tài),因此當接收到匹配這部分ACL表項的報文時,會將報文匹配正確的ACL表項,并對報文進行正確的轉(zhuǎn)發(fā)。下面以一個具體的應(yīng)用實例對本發(fā)明進行說明,假設(shè)預(yù)留的ACL表項位于所有用戶可配的ACL表項之前,待調(diào)整的第一ACL表項為表項a,表項a調(diào)整前的第一優(yōu)先級為x、調(diào)整后的第二優(yōu)先級。步驟1:獲取待調(diào)整的表項a,確定表項a的調(diào)整前的第一優(yōu)先級x、調(diào)整后的第二優(yōu)先級y。步驟2:根據(jù)x和y,確定所述表項a的遷移方向;若x=y(tǒng),結(jié)束本流程;其中,x=y(tǒng)時,說明表項a無需移動。若x>y,則執(zhí)行步驟3;其中,x>y時,說明表項a的遷移方向是將表項a向上遷移,遷移后表項a的優(yōu)先級變高。假設(shè)以表1所示ACL表為例,表項a調(diào)整前的x=4,調(diào)整后的y=3。表1位置名稱內(nèi)容1內(nèi)容21(預(yù)留)2c3d4b5a6e7f89若x<y,則執(zhí)行步驟4;其中,x<y時,說明表項a的遷移方向是將表項a向下遷移,遷移后表項a的優(yōu)先級變低。步驟3:確定當前優(yōu)先級y的表項b的位置,并記為y1,并執(zhí)行步驟5。假設(shè)以表1所示ACL表為例,確定表項b的位置y1=4。步驟4:確定比當前第二優(yōu)先級低一級的表項f的位置,記為y1,并執(zhí)行步驟5。步驟5:從表項b開始向上依次遍歷ACL表中的ACL表項,找到第一個可用ACL表項時,記錄其位置為z1,并統(tǒng)計從y1到z1跨越了的不可用ACL表項的條數(shù)n1(其中n1=y(tǒng)1-1-z1,不包括y1本身)。若n1=0,則表明y1-1的位置即是可用ACL表項,則直接執(zhí)行步驟10。因為有預(yù)留ACL表項,此過程肯定能找一個可用ACL表項。假設(shè)以表1所示ACL表為例,從表項b開始向上遍歷ACL中的ACL表項,找到第一個可用ACL表項時,記錄其位置z1=1,則從位置1到位置4之間的不可用ACL表項數(shù)n1=y(tǒng)1-1-z1=4-1-1=2。步驟6:從表項b開始向下依次遍歷ACL表中的ACL表項,找到第一個可用ACL表項時,記錄其位置z2,并統(tǒng)計從y1-1到z2之間的不可用ACL表項的條數(shù)n2(其中n2=z2-y1,不包含y1-1)。若沒找到可用表項,則將n2記為一個特殊的超大值MAX(比如10000000000,該值超過任何芯片ACL表項數(shù))。假設(shè)以表1所示ACL表為例,從表項b開始向下遍歷ACL中的ACL表項,找到第一個可用ACL表項時,記錄其位置z2=8,則從位置3到位置8之間的不可用ACL表項數(shù)n2=z2-y1=8-4=4。步驟7:比較n1和n2的值,若n1<n2,則執(zhí)行步驟8;若n1≥n2,則執(zhí)行步驟10。其中,當n1<n2時,說明從y1到z1之間的不可用ACL表項數(shù)少于y1-1到z2之間的不可用ACL表項數(shù)。其中,包含n2為MAX的情況,此時說明y1之下沒有可用ACL表項。當n1≥n2時,說明y1到z1之間的不可用ACL表項不少于y1-1到z2之間的不可用ACL表項數(shù)。假設(shè)以表1所示ACL表為例,由于n1=2<n2=4,則執(zhí)行步驟8。步驟8:將位置z1至y1之間的ACL表項逐個向上移動一個位置。其中,可以遍歷位置z1至y1之間的ACL表項(不包含位置z1、y1),從位置z1+1的ACL表項開始,將當前ACL表項復制到當前ACL表項的上一位置,然后刪除當前位置的ACL表項,直至完成位置y1-1的ACL表項的移動,然后執(zhí)行步驟9。舉例,假設(shè)以表1所示ACL表為例,將位置0至3之間(不包括位置0和3)的ACL表項逐個向前移一個位置,移動完成后得到如表2所示ACL。表2位置名稱內(nèi)容1內(nèi)容21c2b34d5a6e7f89步驟9:重新獲取待調(diào)整的表項a,將表項a復制到位置y1-1,并將原表項a刪除。其中,由于在上述移動表項的過程中,表項a的位置可能發(fā)生了變化,因此需要重新獲取表項a。舉例,假設(shè)以表2所示ACL表為例,將表項a復制到位置2,并將原表項a刪除,修改后的ACL表如表3所示。表3步驟10:將位置y1-1至z2之間的ACL表項逐個向下移動一個位置。其中,可以遍歷位置y1-1至z2之間的ACL表項(不包含位置y1-1、z2),從位置z1+1的ACL表項開始,將當前ACL表項復制到當前ACL表項的下一位置,然后刪除當前位置的ACL表項,直至完成位置y1的ACL表項的移動,然后執(zhí)行步驟11。步驟11:重新獲取待調(diào)整的表項a,將表項a復制到位置y1,并將原表項a刪除。由于預(yù)留ACL表項對于用戶是臨時可配的,接收到報文時,不會匹配預(yù)留的ACL表項,需要進行將預(yù)留的ACL表項調(diào)整為可用ACL表項的過程:步驟12:判斷預(yù)留ACL表項是否為可用ACL表項。如果否,則執(zhí)行步驟13;如果是,則結(jié)束本流程。步驟13:從用戶可配的第一個ACL表項開始遍ACL表,直到找到第一個空閑ACL表項,其位置為z0,然后將從預(yù)留ACL表項到z0-1的ACL表項逐個向下移動一個位置。舉例,假設(shè)以表3所示ACL表為例,從位置1開始遍歷用戶可配ACL表項,直到找到一個空閑ACL表項d,其位置為z0=4,然后將從預(yù)留ACL表項到位置3的ACL表項逐個向下移動一個位置,得到如表4所示的ACL表。在另一個優(yōu)選的實現(xiàn)方式中,在上述應(yīng)用實例的步驟7中,對于n1<n2,n2≠MAX(表項b向下有空閑ACL表項),預(yù)留ACL表項為向上遍歷到的第一個可用ACL表項時,首先確定表項a調(diào)整前的位置x1,當x1+y1-2<z2-y1時,執(zhí)行步驟8;否則執(zhí)行步驟10。其中,x1+y1-1為假設(shè)進行步驟8和13需要移動的ACL表項的次數(shù)之和,其中y1-1為執(zhí)行步驟8移動的ACL表項次數(shù),x1-1為步驟13移動的ACL表項次數(shù);z2-y1為執(zhí)行進行步驟10需要移動的ACL表項數(shù)。以表1所示ACL表為例,執(zhí)行步驟8移動的ACL表項次數(shù)為y1-1=3-1=2,由與預(yù)留ACL表項不是可用ACL表項,需執(zhí)行步驟13,步驟13移動的ACL表項次數(shù)x1-1=5-1=4,則步驟8和步驟13共移動ACL表項次數(shù)為6;若執(zhí)行步驟10,將位置3到位置8之間的ACL表項依次向下移動一個位置,移動ACL表項次數(shù)為z2-y1=8-4=4。由于執(zhí)行步驟10向下移動相比步驟8和步驟13向上移動的ACL表項次數(shù)少,因此當n1<n2,n2≠MAX(表項b向下有空閑ACL表項),預(yù)留ACL表項為向上遍歷到的第一個可用ACL表項時,可選擇執(zhí)行步驟10。在另一個實施例中,對于新增一條ACL表項的情況,由于新增ACL表項沒有當前的第一優(yōu)先級,新增的ACL表項的插入ACL表后的第二優(yōu)先級為y。可執(zhí)行如下步驟:檢查用戶可配的ACL表項是否已滿,如果是,則結(jié)束本流程;如果否,則執(zhí)行上述應(yīng)用實例的步驟3中確定當前第二優(yōu)先級y的第二ACL表項的第一位置的過程,當執(zhí)行步驟9或11時,不用執(zhí)行重新獲取新增ACL表項的過程,而是直接將新增ACL表項復制到位置y1,其余過程與上述應(yīng)用實例類似。其中,由于預(yù)留ACL表項對用戶是不可配的,該預(yù)留ACL表項也不會用于轉(zhuǎn)發(fā)報文時的匹配過程,因此本實施例新增的ACL表項不會插入到預(yù)留的ACL表項,以避免再重復的執(zhí)行步驟12、13的過程,造成執(zhí)行操作的過程復雜。由上述實施例可見,獲取待調(diào)整的第一ACL表項,確定所述第一ACL表項調(diào)整前的第一優(yōu)先級、調(diào)整后的第二優(yōu)先級,根據(jù)第一優(yōu)先級和第二優(yōu)先級,確定所述第一ACL表項的遷移方向,在所述遷移方向上,確定所述第一ACL表項的調(diào)整位置,將所述第一ACL表項復制到所述調(diào)整位置,并刪除原第一ACL表項。由于本發(fā)明實施例在調(diào)整ACL表項的優(yōu)先級時,先在調(diào)整位置復制新增的ACL表項,然后再將原ACL表項刪除,沒有出現(xiàn)部分ACL表項被刪除的狀態(tài),因此當接收到匹配這部分ACL表項的報文時,會將報文匹配正確的ACL表項,并對報文進行正確的轉(zhuǎn)發(fā);且在確定所述調(diào)整位置時,能夠通過較少的表項移動次數(shù),確定所述調(diào)整位置,可以減少不必要的操作,降低對設(shè)備處理資源消耗。與前述一種調(diào)整ACL表項的方法的實施例相對應(yīng),本發(fā)明還提供了一種調(diào)整ACL表項的裝置的實施例。本發(fā)明一種調(diào)整ACL表項裝置的實施例可以應(yīng)用在支持芯片ACL的網(wǎng)絡(luò)設(shè)備上。裝置實施例可以通過軟件實現(xiàn),也可以通過硬件或者軟硬件結(jié)合的方式實現(xiàn)。以軟件實現(xiàn)為例,作為一個邏輯意義上的裝置,是通過其所在支持芯片ACL的網(wǎng)絡(luò)設(shè)備的處理器將非易失性存儲器中對應(yīng)的計算機程序指令讀取到內(nèi)存中運行形成的。從硬件層面而言,如圖2所示,為本發(fā)明一種調(diào)整ACL表項裝置所在的支持芯片ACL的網(wǎng)絡(luò)設(shè)備的一種硬件結(jié)構(gòu)圖,除了圖2所示的處理器、內(nèi)存、網(wǎng)絡(luò)接口、以及非易失性存儲器之外,實施例中裝置所在的支持芯片ACL的網(wǎng)絡(luò)設(shè)備通常根據(jù)該設(shè)備的實際功能,還可以包括其他硬件,對此不再贅述。參見圖3,為本發(fā)明的一種調(diào)整ACL表項裝置的一個實施例框圖,所述裝置包括:第一確定模塊310、第二確定模塊320、第三確定模塊330、復制刪除模塊340。其中,第一確定模塊310,獲取待調(diào)整的第一ACL表項,確定所述第一ACL表項調(diào)整前的第一優(yōu)先級、調(diào)整后的第二優(yōu)先級;第二確定模塊320,根據(jù)第一優(yōu)先級和第二優(yōu)先級,確定所述第一ACL表項的遷移方向;第三確定模塊330,在所述遷移方向上,確定所述第一ACL表項的調(diào)整位置;復制刪除模塊340,將所述第一ACL表項復制到所述調(diào)整位置,并刪除原第一ACL表項。所述第二確定模塊320,用于根據(jù)第一優(yōu)先級和第二優(yōu)先級,確定所述第一ACL表項的遷移方向的過程,當?shù)谝粌?yōu)先級大于第二優(yōu)先級時,用于確定所述第一ACL表項的遷移方向是將所述第一ACL表項向上遷移;當?shù)谝粌?yōu)先級小于第二優(yōu)先級時,用于確定所述第一ACL表項的遷移方向是將所述第一ACL表項向下遷移。所述第三確定模塊330,用于在所述遷移方向上,確定所述第一ACL表項的調(diào)整位置的過程,當?shù)诙_定模塊確定所述遷移方向是將所述第一ACL表項向上遷移時,確定當前第二優(yōu)先級的第二ACL表項的第一位置;將所述第一位置或者第一位置的上一位置確定為調(diào)整位置;當所述第二確定模塊確定遷移方向是將所述第一ACL表項向下遷移時,確定比當前第二優(yōu)先級低一級的第三ACL表項的第四位置;將所述第四位置或者第四位置的上一位置確定為調(diào)整位置。所述第三確定模塊330,用于將所述第一位置或者第一位置的上一位置確定為調(diào)整位置的過程,從第一位置開始向上依次遍歷ACL表項,確定第一個可用的ACL表項的第二位置;并統(tǒng)計第一位置與第二位置之間的ACL表項的第一表項數(shù);若第一表項數(shù)為0,確定第一位置的上一位置為所述調(diào)整位置;若第一表項數(shù)不為0,從第一位置開始向下依次遍歷ACL表項,確定第一個可用的ACL表項的第三位置;并統(tǒng)計第一位置的上一位置與第三位置之間的ACL表項的第二表項數(shù);當?shù)谝槐眄棓?shù)小于第二表項數(shù)時,確定第一位置的上一位置為所述調(diào)整位置;當?shù)谝槐眄棓?shù)不小于第二表項數(shù)時,確定所述第一位置為所述調(diào)整位置。所述第三確定模塊330,用于將所述第四位置或者第四位置的上一位置確定為調(diào)整位置的過程,從第四位置開始向上依次遍歷ACL表項,確定第一個可用的ACL表項的第五位置;并統(tǒng)計第四位置與第五位置之間的ACL表項的第三表項數(shù);若第三表項數(shù)為0,確定第四位置的上一位置為所述調(diào)整位置;若第三表項數(shù)不為0,從第四位置開始向下依次遍歷ACL表項,確定第一個可用的ACL表項的第六位置;并統(tǒng)計第四位置的上一位置與第六位置之間的ACL表項的第四表項數(shù);當?shù)谌眄棓?shù)小于第四表項數(shù)時,確定第四位置的上一位置為所述調(diào)整位置;當?shù)谌眄棓?shù)不小于第四表項數(shù)時,確定所述第四位置為所述調(diào)整位置。所述裝置還可以包括:移動模塊350,用于復制刪除模塊將所述第一ACL表項復制到所述調(diào)整位置,并刪除原第一ACL表項之前,若第一表項數(shù)不為0,當?shù)谝槐眄棓?shù)小于第二表項數(shù)時,將第一位置與第二位置之間的每個ACL表項逐個向上移動一個位置;當?shù)谝槐眄棓?shù)不小于第二表項數(shù)時,將第一位置的上一位置至第三位置之間的ACL表項逐個向下移動一個位置。若第三表項數(shù)不為0,當?shù)谌眄棓?shù)小于第四表項數(shù)時,將第四位置與第五位置之間的每個ACL表項逐個向上移動一個位置;當?shù)谌眄棓?shù)不小于第四表項數(shù)時,將第四位置的上一位置至第六位置之間的ACL表項逐個向下移動一個位置。上述裝置中各個模塊的功能和作用的實現(xiàn)過程具體詳見上述方法中對應(yīng)步驟的實現(xiàn)過程,在此不再贅述。對于裝置實施例而言,由于其基本對應(yīng)于方法實施例,所以相關(guān)之處參見方法實施例的部分說明即可。以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的模塊可以是或者也可以不是物理上分開的,作為模塊顯示的部件可以是或者也可以不是物理模塊,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)模塊上。可以根據(jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本發(fā)明方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動的情況下,即可以理解并實施。由上述實施例可見,該裝置獲取待調(diào)整的第一ACL表項,確定所述第一ACL表項調(diào)整前的第一優(yōu)先級、調(diào)整后的第二優(yōu)先級,根據(jù)第一優(yōu)先級和第二優(yōu)先級,確定所述第一ACL表項的遷移方向,在所述遷移方向上,確定所述第一ACL表項的調(diào)整位置,將所述第一ACL表項復制到所述調(diào)整位置,并刪除原第一ACL表項。由于本發(fā)明實施例在調(diào)整ACL表項的優(yōu)先級時,先在調(diào)整位置復制新增的ACL表項,然后再將原ACL表項刪除,不會出現(xiàn)部分ACL表項被刪除的狀態(tài),因此當接收到匹配這部分ACL表項的報文時,會將報文匹配正確的ACL表項,并對報文進行正確的轉(zhuǎn)發(fā)。本領(lǐng)域技術(shù)人員在考慮說明書及實踐這里公開的發(fā)明后,將容易想到本發(fā)明的其它實施方案。本申請旨在涵蓋本發(fā)明的任何變型、用途或者適應(yīng)性變化,這些變型、用途或者適應(yīng)性變化遵循本發(fā)明的一般性原理并包括本發(fā)明未公開的本
技術(shù)領(lǐng)域:
中的公知常識或慣用技術(shù)手段。說明書和實施例僅被視為示例性的,本發(fā)明的真正范圍和精神由下面的權(quán)利要求指出。應(yīng)當理解的是,本發(fā)明并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并且可以在不脫離其范圍進行各種修改和改變。本發(fā)明的范圍僅由所附的權(quán)利要求來限制。當前第1頁1 2 3