本發明涉及通信領域,具體而言,涉及業務處理方法及裝置。
背景技術:
運營商組網中,分布式業務的下放已經成為趨勢,業務的狀態計算、消息處理以及數據區等保存都在線卡中央處理器(Central Processing Unit,簡稱為L-CPU)上,以充分利用L-CPU的處理能力和業務單板的存儲資源,減輕主控R-CPU的負擔,提高用戶業務的處理速度和接入用戶業務的容量。以動態主機配置協議(Dynamic Host Configuration Protocol,簡稱為DHCP)smart group(下文統稱SG)接口跨板的需求為例來說明該問題。
DHCP的協議處理是分布式的,狀態機和消息處理以及DHCP relay的數據區保存都在L-CPU上,以充分利用L-CPU的處理能力和存儲空間,提高用戶的接入速度和接入用戶的容量。當用戶側接口是跨板SG接口時,DHCP協議報文是本板投遞,也就是說同一個host用戶的同一個會話的不同報文,經過同一個SG接口,可能投遞到不同的L-CPU上,這會導致DHCP模塊狀態機和數據區異常。
解決上述跨板的問題的關鍵在于將同一host用戶的同一會話的所有報文投遞到同一個點處理,以保證狀態機和數據區的一致性,這里涉及到兩個問題,一個是用戶的粒度問題,一個是集中點的選擇問題。
用戶粒度問題:理想狀態是將粒度降低到真正的用戶,即同一個SG接口的不同用戶的報文,可以投遞到不同的集中點處理,只需要保證同一個用戶投遞到同一集中點即可,但這樣處理復雜,特別是考慮到作為DHCP relay時,設備接收到server報文,需要將server回程報文投遞到用戶原來所在處理點,需要一張用戶級別的大容量的表,實現的代價太高,帶來的益處卻不是很大,故考慮退一步的選擇:同一個SG接口的所有用戶放在一個集中點處理。
集中點選擇問題:最簡單且最直觀的集中點當然是主控中央處理器R-CPU,但這樣帶來的問題是用戶接入數量和接入速率都受限,并會在一定程度上影響R-CPU的其他模塊的性能,在SG口接入時,DHCP就完全失去了分布式實現的功能。
針對相關技術中由業務單板各自實現業務單板選擇功能導致無法復用的問題,還未提出有效的解決方案。
技術實現要素:
本發明提供了一種業務處理方法及裝置,以至少解決了相關技術中由業務單板各自實現業務單板選擇功能導致無法復用的問題。
根據本發明的一個方面,提供了一種業務處理方法,所述方法包括:主業務單板為接口選擇業務單板;所述主業務單板將分布式的業務集中在選擇的所述業務單板上進行處理。
進一步地,在主業務單板為接口選擇業務單板之后,所述方法還包括:所述主業務單板將所有業務單板寫入到接口的端口屬性表,并將所述端口屬性表同步到各個業務單板。
進一步地,所述主業務單板為接口選擇業務單板包括:所述主業務單板根據業務在業務單板粒度上均勻分布的原則為接口選擇業務單板。
進一步地,所述方法還包括:所述主業務單板通過端口管理的成員接口刪除通知消息或端口不一致的通知消息檢測業務單板是否發生故障;在所述業務單板發生故障的情況下,所述主業務單板為接口重新選擇業務單板。
進一步地,所述方法還包括:所述主業務單板接收為接口選擇指定業務單板的指令;所述主業務單板根據所述指令為接口選擇所述指定業務單板。
根據本發明的另一方面,還提供了一種業務處理裝置,應用于主業務單板,所述裝置包括:選擇模塊,用于為接口選擇業務單板;處理模塊,用于將分布式的業務集中在選擇的所述業務單板上進行處理。
進一步地,所述裝置還包括:同步模塊,用于將所有業務單板寫入到接口的端口屬性表,并將所述端口屬性表同步到各個業務單板。
進一步地,所述選擇模塊包括:選擇單元,用于根據業務在業務單板粒度上均勻分布的原則為接口選擇業務單板。
進一步地,所述裝置還包括:檢測模塊,用于通過端口管理的成員接口刪除通知消息或端口不一致的通知消息檢測業務單板是否發生故障;重新選擇模塊,用于在所述業務單板發生故障的情況下,為接口重新選擇業務單板。
進一步地,所述裝置還包括:接收模塊,用于接收為接口選擇指定業務單板的指令;選擇指定模塊,用于根據所述指令為接口選擇所述指定業務單板。
通過本發明,采用主業務單板為接口選擇業務單板;所述主業務單板將分布式的業務集中在選擇的所述業務單板上進行處理,相關技術中由業務單板各自實現業務單板選擇功能導致無法復用的問題。
附圖說明
此處所說明的附圖用來提供對本發明的進一步理解,構成本申請的一部分,本發明的示意性實施例及其說明用于解釋本發明,并不構成對本發明的不當限定。在附圖中:
圖1是根據本發明實施例的業務處理方法的流程圖;
圖2是根據本發明實施例的業務處理裝置的框圖;
圖3是根據本發明優選實施例的業務處理裝置的框圖一;
圖4是根據本發明優選實施例的業務處理裝置的框圖二;
圖5是根據本發明優選實施例的業務處理裝置的框圖三;
圖6是根據本發明優選實施例的業務處理裝置的框圖四;
圖7是根據本發明實施例的主業務單板的系統架構圖;
圖8是根據本發明實施例的業務單板之間交互的示意圖。
具體實施方式
下文中將參考附圖并結合實施例來詳細說明本發明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。
本發明實施例還提供了一種業務處理方法,圖1是根據本發明實施例的業務處理方法的流程圖,如圖1所示,包括:
步驟S102,主業務單板為接口選擇業務單板;
步驟S104,該主業務單板將分布式的業務集中在選擇的該業務單板上進行處理。
通過上述步驟,主業務單板為接口選擇業務單板,該主業務單板將分布式的業務集中在選擇的該業務單板上進行處理,解決了相關技術中由業務單板各自實現業務單板選擇功能導致無法復用的問題。
在一個可選的實施例中,在主業務單板為接口選擇業務單板之后,該主業務單板將所有業務單板寫入到接口的端口屬性表,并將該端口屬性表同步到各個業務單板。
主業務單板為接口選擇業務單板可以包括:該主業務單板根據業務在業務單板粒度上均勻分布的原則為接口選擇業務單板。
為了保證業務單板正常故障,主業務單板通過端口管理的成員接口刪除通知消息或端口不一致的通知消息檢測業務單板是否發生故障;在該業務單板發生故障的情況下,該主業務單板為接口重新選擇業務單板。
為了更加靈活地選擇業務單板,主業務單板接收為接口選擇指定業務單板的指令,該主業務單板根據該指令為接口選擇該指定業務單板。
本發明實施例還提供了一種業務處理裝置,應用于主業務單板,圖2是根據本發明實施例的業務處理裝置的框圖,如圖2所示,該裝置包括:
選擇模塊22,用于為接口選擇業務單板;
處理模塊24,用于將分布式的業務集中在選擇的該業務單板上進行處理。
圖3是根據本發明優選實施例的業務處理裝置的框圖一,如圖3所示,該裝置還包括:同步模塊32,用于將所有業務單板寫入到接口的端口屬性表,并將該端口屬性表同步到各個業務單板。
圖4是根據本發明優選實施例的業務處理裝置的框圖二,如圖4所示,選擇模塊24包括:選擇單元42,用于根據業務在業務單板粒度上均勻分布的原則為接口選擇業務單板。
圖5是根據本發明優選實施例的業務處理裝置的框圖三,如圖5所示,該裝置還包括:
檢測模塊52,用于通過端口管理的成員接口刪除通知消息或端口不一致的通知消息檢測業務單板是否發生故障;
重新選擇模塊54,用于在該業務單板發生故障的情況下,為接口重新選擇業務單板。
圖6是根據本發明優選實施例的業務處理裝置的框圖四,如圖6所示,該裝置還包括:
接收模塊62,用于接收為接口選擇指定業務單板的指令;
選擇指定模塊64,用于根據該指令為接口選擇該指定業務單板。
針對相關技術中存在的上述問題,下面結合具體的可選實施例進行進一步說明,下述可選實施例結合了上述可選實施例及其可選實施方式。
本發明實施例提供了一個通用業務單板選擇方法,可以支持各種業務各種類型接口的業務單板選擇,將分布式的業務集中在業務單板上處理。解決了現有的業務單板選擇功能,是各業務單板各自實現,代碼邏輯重復而實現細節各有差別,無法復用。
圖7是根據本發明實施例的主業務單板的系統架構圖,如圖7所示,主業務單板R-CPU包括主備同步庫、業務單板選擇模塊和端口管理,其中,端口管理里包括端口屬性表,業務單板選擇模塊規劃位于R-CPU的協議棧進程,功能是為接口選擇一個業務單板,將分布式的業務集中在選擇的業務單板上處理,當前不僅支持SG接口,還可以擴展到其他類型的聚合接口。
圖8是根據本發明實施例的業務單板之間交互的示意圖,如圖8所示,SG接口創建時,即由端口管理通知業務單板選擇模塊,業務單板選擇模塊查詢端口管理,獲得 SG接口的成員接口,從中選取之一作為業務單板。如果沒有查詢到成員接口,可能是時序問題或者用戶還沒有配置,業務單板選擇模塊等待端口管理的成員接口加入通知,得到通知時再開始選擇業務單板。這種選擇方式會導致在大多數情況下會選擇SG的第一個配置成員作為業務單板,因此這一方面需要用戶在配置多個SG接口時盡量將第一個成員配置為不同的單板的接口,另外一個方面,為用戶提供命令,手工指定業務單板。
選擇完成后,業務單板選擇模塊將業務單板寫入到接口的端口屬性表,由端口管理模塊將此屬性同步到各個業務單板。選擇完成后在SG接口的生存期不再改變,即使SG接口的成員變化。業務單板的選擇要保證業務的在單板粒度上的均勻分布。業務單板故障需重新選擇業務單板,業務單板選擇模塊通過端口管理的成員接口刪除通知消息或者端口不一致的通知消息感知業務單板的故障。在系統剛上電的時候,業務單板選擇模塊可以延時180秒后再為SG接口選擇業務單板,這樣做的目的是等待各個業務單板上電成功,盡量避免將業務單板選擇為同一個單板。支持命令配置,可以手工指定SG接口的業務單板。
分布式架構中,SG用戶的處理邏輯需要確定于固定的一點,如果將SG處理點上移至主控,從實現的角度講最為簡單,但由于交換機vlan range口接入等場景下,用戶數目較多,因此存在大量用戶集中上線或下線的可能。為了避免集中處理大量用戶側報文對R-CPU造成壓力,仍需要將SG用戶處理邏輯下放至業務單板。
如圖8所示,DHCP支持跨板的SG接口為例,業務單板選擇模塊的實施步驟包括:
步驟1,端口管理模塊將SG接口的增加,刪除消息通知給業務單板選擇模塊;
步驟2,業務單板選擇模塊將為SG接口選擇的業務單板作為端口屬性寫入到端口屬性表;
步驟3,端口管理將業務單板的端口屬性同步到業務單板;
步驟4,用戶側SG接口入向報文,或者設備作為DHCP relay時的網絡側報文;
步驟5,當步驟4為用戶側SG接口入向報文時,業務模塊(DHCP模塊)的回調函數根據報文入接口查詢端口管理模塊得到業務單板;
步驟6,當步驟4為網絡側報文時,業務模塊(DHCP模塊)的回調函數根據報文目的地址查詢路由,得到報文出接口,即用戶側接口,如果出接口是SG接口,則查詢端口管理模塊的業務單板;
步驟7,Lpp根據業務模塊回調函數返回的業務單板,將報文投遞到業務單板。
因為業務單板沒有主備保護,并且可能存在接口不再選擇的業務單板上的情況,在這種情況下如果選擇的業務單板離線,需要重新選擇單板會導致業務在一定時間間隔內中斷,所以業務單板選擇模塊提供了用戶手工配置指定業務單板的功能,特別地,當用 戶對可靠性要求很高時(比如要求插拔單板業務不中斷)并且用戶對性能要求不是很高時,可以手工指定業務單板為R-CPU。
顯然,本領域的技術人員應該明白,上述的本發明的各模塊或各步驟可以用通用的計算裝置來實現,它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網絡上,可選地,它們可以用計算裝置可執行的程序代碼來實現,從而,可以將它們存儲在存儲裝置中由計算裝置來執行,并且在某些情況下,可以以不同于此處的順序執行所示出或描述的步驟,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現。這樣,本發明不限制于任何特定的硬件和軟件結合。
以上所述僅為本發明的優選實施例而已,并不用于限制本發明,對于本領域的技術人員來說,本發明可以有各種更改和變化。凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。