專利名稱:一種為服務提供向前兼容的方法
技術領域:
本發明涉及通訊領域的分布式系統,特別是涉及一種為服務提供向前兼容的方法。
背景技術:
在分布式體系中,系統總被劃分為服務,供多個應用程序共享和使用。提供服務的組件(服務提供者)和發送請求使用服務的組件(服務請求者)之間有非常好的協作性,它們可以獨立升級,而繼續保持服務的可用性或繼續使用服務。但有一個前提,就是組件相互之間具有兼容性,這包括向后兼容和向前兼容。
現在的通訊設備的網管系統是一個復雜的分布式系統。參閱圖1所示,一般的通訊設備的網管系統包括兩個部分后臺網管和設備,設備又稱為網管的前臺。在一般的通訊設備網管系統的運行環境中,都是由多個后臺網管共同管理監控多個相同的前臺設備,如圖1所示,后臺網管1,2…N 10都管理著設備1,2…N 11。隨著后臺網管功能的不斷增強、業務類型的逐漸增加,無論是設備,還是后臺網管都存在不斷升級的可能。而且它們的升級經常是不同步的,也許是后臺網管升級了,但設備沒有升級;或者是設備升級了,而后臺網管沒有升級。因此怎樣解決它們之間的兼容性就顯得尤為重要。
對于兼容需要考慮兩個方面向后兼容和向前兼容。向后兼容是指,服務提供者在升級之后,能夠使之前的服務請求者繼續訪問升級后的服務;向前兼容是指,在服務請求者升級之后,新的服務請求者還是能夠正常訪問現有的服務。前者相對于后者是比較容易實現的,只要保證升級后還是能正確處理所有舊版本請求就可以了。
而對于向前兼容,由于不能預料未來的所有服務,所以就需要某種方法來保證向前兼容性。以網管系統為例,假設后臺網管管理了多個設備,它們的版本不盡相同,存在一些設備并不支持后臺網管可以發送的所有請求。不支持是指設備不能提供該請求的服務,或者雖然有這個服務,但并不支持此服務的內容,如可以是不能處理其中的某些具體參數。
為解決上述問題,一種簡單的方法是,設備對于不支持的請求,直接忽略,不作任何處理。這種方法的缺點是在不支持的情況下,會導致設備的響應能力差,后臺網管必然會因等待響應一定時間之后超時,但在超時后,后臺網管還是不能判斷超時的具體原因,可能是不支持,可能是設備確實由于某種原因或故障而沒有響應。一種改進的方法是,對于不支持的請求,直接響應成功。這雖然解決了設備的響應能力差的問題,但卻不能判斷請求真的成功了,還是設備根本不支持此請求。在不支持的情況下,設備的運行情況就可能與用戶期望的不同。
綜上所述,上述方法各有弊端,都不能支持向前兼容。
發明內容
本發明所要解決的技術問題在于提供一種為服務提供向前兼容的方法,用于解決現有技術設備響應能力差,設備的運行情況可能與用戶期望的結果不一致等問題。
為了實現上述目的,本發明提供了一種為服務提供向前兼容的方法,包括如下步驟步驟1,服務提供者針對服務器請求者的請求返回一不支持響應的消息;步驟2,所述服務請求者接收所述不支持響應的消息,根據一設定的消息格式和內容及請求,對所述服務提供者不支持所述請求作出解釋。
所述的為服務提供向前兼容的方法,其中,所述步驟2中,所述消息指服務提供者和服務請求者之間用于交換信息的數據。
所述的為服務提供向前兼容的方法,其中,所述數據為TCP/IP的網絡字節流或中間組件定義的特定格式的數據。
所述的為服務提供向前兼容的方法,其中,所述步驟2中,所述解釋包括步驟41,若請求不被支持,且服務提供者、請求本身的結果或后續的請求不受影響時,則解釋為請求成功;步驟42,若請求部分被支持,或會影響到服務提供者或后續的請求,但可認為成功時,則解釋為請求成功;
步驟43,若請求不支持,且后續請求不能進行,或期望該請求必須成功時,則解釋為請求失敗;步驟44,若設置不支持響應為缺省解釋時,則解釋為請求成功。
所述的為服務提供向前兼容的方法,其中,所述步驟42中,所述服務請求者還通過界面顯示或日志記錄方式在結果中顯示不支持該請求和/或可能導致的問題。
所述的為服務提供向前兼容的方法,其中,所述步驟44中,所述服務請求者還通過界面顯示警告信息。
所述的為服務提供向前兼容的方法,其中,進一步包括步驟71,所述服務請求者向所述服務提供者發起請求;步驟72,所述服務提供者接收所述請求;步驟73,根據所述服務提供者是否支持所述請求,對所述請求進行服務處理或向所述服務請求者發送不支持響應的消息,并由服務請求者解釋所述不支持響應。
本發明提高了設備的響應能力,保證了設備的運行情況與用戶期望的狀態具有一致性,實現了服務提供者對服務請求者的向前兼容;使得服務提供者在收到不支持請求的時候,立即向服務請求者返回不支持響應;服務請求者在收到不支持響應后,能夠根據特定的請求,解釋不支持的原因。
以下結合附圖和具體實施例對本發明進行詳細描述,但不作為對本發明的限定。
圖1為網管系統的架構圖;圖2為分層體系架構圖;圖3為本發明向前兼容流程圖;及圖4為網管系統的3層架構圖。
具體實施例方式
本發明的目的就是提供一種簡單、有效、易于實施的向前兼容的方法,以支持服務提供者對服務請求者的向前兼容。
本發明為了解決現有技術方案存在的弊端,通過以下方法進行解決一是,服務提供者在收到不支持請求的時候,立即向服務請求者返回不支持響應;二是,服務請求者在收到不支持響應后,根據特定的請求,解釋不支持的原因。
本發明的具體技術方案如下(1)、定義不支持響應的消息格式和內容此處消息是指,服務提供者和服務請求者之間用于交換信息的任何數據。如對于TCP/IP的網絡字節流,或其它中間組件定義的特定格式的數據表示。
(2)、實現服務提供者返回不支持響應服務提供者在收到不支持請求的時候,需要立即向服務請求者返回響應,其中明確指示不支持該請求。
(3)、服務請求者在收到不支持響應后,根據特定的請求,解釋不支持的原因此處解釋是指,服務請求者在收到不支持響應后,根據之前所作的請求,做出特定的反應。如a、該請求雖然不被支持,但也不影響服務提供者、請求本身的結果或后續的請求,此時服務請求者就可以簡單地忽略此不支持響應,對此請求解釋為成功。
b、該請求是部分被支持,或者可能會影響到服務提供者或后續的請求,但還是可以認為成功的情況下,服務請求者還是可以解釋為成功,但同時也需要在結果中顯示此請求不被支持,以及可能導致的問題。這可以通過界面顯示或者日志記錄。
c、此請求不支持,后續請求就不能進行,或者期望此請求必須成功的情況下服務請求者就應當解釋此不支持響應為請求失敗。
d、可以為不支持響應定義一種缺省解釋,如缺省為響應成功,但通過界面顯示警告信息。
從本發明的處理過程來看,可以確保向前兼容性。因為首先是服務提供者在收到不支持的請求時,可以向服務請求者返回確切的不支持信息;二是服務請求者可以根據特定的請求,對不支持信息作不同的處理,確保請求的處理跟期望一致。通過服務雙方的這種協調實現向前兼容。
下面結合多個實施例來敘述處理的各個過程。
圖3所示為本發明向前兼容流程圖,該流程包括如下步驟步驟301,首先服務請求者向服務提供者發起請求;步驟302,服務提供者接收服務請求者發起的請求;步驟303,對接收的請求判斷服務提供者是否支持,若支持,則對該請求進行處理,執行步驟304,若不支持,則執行步驟305;步驟304,服務提供者對請求進行服務處理;步驟305,發送不支持的響應;步驟306,進行不支持應答處理;及步驟307,服務請求者根據上述所作的請求,解釋不支持的原因,結束。
第一種定義不支持響應的消息格式和內容對于TCP/IP通信,可以定義如下的數據結構(報文),作為發送不支持響應的字節流,整個報文由連續的兩部分組成,分別是報文頭和報文體。
報文頭定義如下struct ResponseHead{unsigned long id;//對應請求的標識,服務請求者可以根據此標識,確定此響應對應的請求unsigned long result;//服務請求結果,如用0表示不支持,1表示成功,2表示失敗unsigned long len;//報文體長度,對于不支持的響應,就是如下定義的不支持報文體的長度};不支持報文體定義如下struct NotSupport{unsigned long reason;//更詳細的指明不支持的原因};第二種定義不支持響應的消息格式和內容上一種定義只能將請求作為一個整體對待,不能體現請求部分不支持的情況,為此新定義如下數據結構,假設請求可以分成多個記錄,在應答時體現對每條記錄的執行情況。
此報文頭定義擴展了上一種方法的定義,只是對服務請求結果增加了表示部分成功的定義,定義如下struct ResponseHead{unsigned long id;//對應請求的標識,服務請求者可以根據此標識,確定此響應對應的請求unsigned long result;//服務請求結果,如用0表示不支持,1表示成功,2表示失敗,3表示部分成功unsigned long len;//報文體長度,對于不支持的響應,就是如下定義的不支持報文體的長度};部分成功請求結果報文體定義如下struct ResponseResult{unsigned long record;//記錄號,對應請求的記錄號unsigned long result;//服務請求結果,如用0表示不支持,1表示成功,2表示失敗unsigned long reason;//當服務請求結果是不支持時,更詳細的指明不支持的原因};下面介紹網絡管理系統實施例。
圖2所示為分層體系架構圖。在該分層架構中,從上到下依次為1、2、3…n層,m(1<m<n)層是m-1層的服務提供者,是m+1層的服務請求者。在該架構中,任何兩層之間都可以考慮實現上述向前兼容。一種簡化的方法是1層以下的服務在收到不支持響應時,也以不支持的響應發給上一層,只有1層才根據特定的請求,解釋不支持的原因。
圖4所示為網管系統的3層架構圖。該網絡管理系統可以看作是3層架構,從上至下依次為Manager(管理)41、Agent(代理者)42、MCU(Multipoint ControlUnit,多點控制單元)43。根據上述具體技術方案,Agent 42在收到不支持的請求時,立即返回Manager 41不支持的響應;當請求對于Agent 42支持,而MCU 43不支持時,MCU 43立即返回Agent 42不支持的響應,Agent 42再返回給Manager 41不支持的響應。對于不支持響應的具體處理,都在Manager 41中實現。
如對于一個配置單板的請求,由于MCU 43可能支持多種業務或業務特性,Manager 41下發Agent 42的配置單板請求有多個,對應一塊單板的多種特性,通常情況是多個請求全部成功,才認為單板配置成功。在新的版本的Manager 41中,可能為了支持新的業務,而增加了新的請求,這樣之前版本的Agent 42就不能支持新的請求。在Agent 42實現向前兼容的情況下,Agent 42就會發送給Manager 41不支持此請求,Manager 41在收到這個請求不支持的響應后,還是認為成功,繼續發送其余請求,全部完成后,通過界面提示有請求不被支持。
對于上述情況,Manager 41增加請求后,從Agent 42上上載單板配置數據時,同樣對應著多個請求,在上載情況下,收到新增請求的不支持響應后,本發明就可以簡單認為該項配置數據沒有而認為請求成功,甚至不需要通過界面給出任何提示信息。
對于Manager 41新增的請求,Agent 42也同步升級,但MCU 43沒有升級的情況下,由MCU 43返回不支持響應,Agent 42只是轉發響應給Manager41,還是由Manager 41來處理不支持響應,就如同這請求就是Agent 42不支持。
在對等情況下,服務雙方都可同時作為服務提供者和服務請求者,這種情況下,需要考慮對等雙方都要實現向前兼容。
在目前的網絡管理系統中,Manager 41和Agent 42之間越來越處于一種對等的地位,對于Agent 42主動發送給Manager 41的消息,不再是簡單的主動上報,有時也需要訪問Manager 41提供的服務。為了Manger 41能給Agent42快速響應,也為了Manager 41對Agent 42向前兼容的要求,Manager 41和Agent 42之間就都需要實現對對方的向前兼容。
上述實施例講述的是Agent 42對Manager 41的向前兼容,而下面實施例講述的是Manager 41對Agent 42的向前兼容。
對于一些Agent 42自動配置的業務,在Agent 42配置成功后,需要及時上報給Manager 41,并需要Manager 41響應是否成功。這里同樣涉及到了向前兼容問題,只是Manager 41對于Agent 42的向前兼容問題。對于Manager 41不支持的Agent 42請求,若不給任何響應,同樣會帶來響應能力差,不能區別超時和不支持的情況。所以也需要實現向前兼容。這種情況下,就是Manager41給Agent 42以不支持響應,Agent 42處理不支持響應。
本發明提高了設備的響應能力,保證了設備的運行情況與用戶期望的狀態,實現了服務提供者對服務請求者的向前兼容。
當然,本發明還可有其他多種實施例,在不背離本發明精神及其實質的情況下,熟悉本領域的技術人員當可根據本發明作出各種相應的改變和變形,但這些相應的改變和變形都應屬于本發明所附的權利要求的保護范圍。
權利要求
1.一種為服務提供向前兼容的方法,其特征在于,包括如下步驟步驟1,服務提供者針對服務器請求者的請求返回一不支持響應的消息;步驟2,所述服務請求者接收所述不支持響應的消息,根據一設定的消息格式和內容及請求,對所述服務提供者不支持所述請求作出解釋。
2.如權利要求1所述的為服務提供向前兼容的方法,其特征在于,所述步驟2中,所述消息指服務提供者和服務請求者之間用于交換信息的數據。
3.如權利要求2所述的為服務提供向前兼容的方法,其特征在于,所述數據為TCP/IP的網絡字節流或中間組件定義的特定格式的數據。
4.如權利要求1所述的為服務提供向前兼容的方法,其特征在于,所述步驟2中,所述解釋包括步驟41,若請求不被支持,且服務提供者、請求本身的結果或后續的請求不受影響時,則解釋為請求成功;步驟42,若請求部分被支持,或會影響到服務提供者或后續的請求,但可認為成功時,則解釋為請求成功;步驟43,若請求不支持,且后續請求不能進行,或期望該請求必須成功時,則解釋為請求失敗;步驟44,若設置不支持響應為缺省解釋時,則解釋為請求成功。
5.如權利要求4所述的為服務提供向前兼容的方法,其特征在于,所述步驟42中,所述服務請求者還通過界面顯示或日志記錄方式在結果中顯示不支持該請求和/或可能導致的問題。
6.如權利要求4所述的為服務提供向前兼容的方法,其特征在于,所述步驟44中,所述服務請求者還通過界面顯示警告信息。
7.如權利要求1所述的為服務提供向前兼容的方法,其特征在于,進一步包括步驟71,所述服務請求者向所述服務提供者發起請求;步驟72,所述服務提供者接收所述請求;及步驟73,根據所述服務提供者是否支持所述請求,對所述請求進行服務處理或向所述服務請求者發送不支持響應的消息,并由服務請求者解釋所述不支持響應。
全文摘要
本發明公開了一種為服務提供向前兼容的方法,用于有效提高設備的響應能力,其特征在于,包括如下步驟設置不支持響應的消息格式和內容;服務提供者對服務器請求者的請求返回不支持響應的消息;服務請求者接收所述不支持響應的消息,根據所述消息格式和內容及請求,對服務提供者不支持所述請求作出解釋。本發明提高了設備的響應能力,保證了設備的運行情況與用戶期望的狀態具有一致性,實現了服務提供者對服務請求者的向前兼容。
文檔編號H04L29/06GK1893368SQ20051004097
公開日2007年1月10日 申請日期2005年7月6日 優先權日2005年7月6日
發明者吳慧良, 彭鑫 申請人:中興通訊股份有限公司