專利名稱:一種遠程過程調用控制方法、裝置和系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及通信技術領域,特別涉及一種遠程過程調用控制方法、裝置和系統(tǒng)。
背景技術:
網絡配置協(xié)議(Network Configuration Protocol, NETC0NF)提供了一套管理網 絡設備的機制,用戶可以使用這套機制來增加、修改、刪除網絡設備的配置,獲取網絡設備 的配置和狀態(tài)信息。 NETC0NF客戶端(以下簡稱為客戶端)和NETC0NF服務器端(以下簡稱為服務器 端)之間使用遠程過程調用(Remote Procedure Call,RPC)機制進行通訊交互。通常情況 下,客戶端與服務器端進行通訊交互之前,會建立一個安全的、面向鏈接的傳輸層會話。該 傳輸層會話建立后,客戶端向服務器端發(fā)送一個RPC請求,服務器端處理完用戶請求后,給 客戶端發(fā)送一個RPC-R印ly響應消息??蛻舳送ㄟ^這個RPC-R印ly響應消息來獲得RPC請 求的執(zhí)行結果。 現(xiàn)有技術中,對于普通的RPC請求,服務器端會在傳輸層會話超時時間內向客戶 端返回RPC-R印ly響應消息;發(fā)明人在實現(xiàn)本發(fā)明的過程中發(fā)現(xiàn)對于一些處理耗時比較 長的RPC請求,例如,復制配置請求(copy-config)、提交請求(commit)等,如果在傳輸層 會話超時時間內沒有執(zhí)行完畢并返回RPC-R印ly響應消息,該傳輸層會話就會因超時而關 閉,這樣會導致會話中斷,會話穩(wěn)定性差。
發(fā)明內容
本發(fā)明實施例要解決的技術問題是提供一種遠程過程調用控制方法、裝置和系 統(tǒng),提升會話穩(wěn)定性。 為解決上述技術問題,本發(fā)明所提供的遠程過程調用控制方法實施例可以通過以 下技術方案實現(xiàn) 接收客戶端發(fā)送的遠程過程調用請求;
處理所述遠程過程調用請求; 若處理所述遠程過程調用請求的時間達到設定的值,則通過所述客戶端發(fā)送所述
遠程過程調用請求的傳輸層會話,發(fā)送活動通告消息給所述客戶端;所述設定的值小于所
述傳輸層會話超時時間的值。
—種遠程過程調用控制裝置,包括 請求接收單元,接收客戶端發(fā)送的遠程過程調用請求;
請求處理單元,用于處理所述遠程過程調用請求; 通告發(fā)送單元,若處理所述遠程過程調用請求的時間達到設定的值,用于通過所 述客戶端發(fā)送所述遠程過程調用請求的傳輸層會話,發(fā)送活動通告消息給所述客戶端;所 述設定的值小于所述傳輸層會話超時時間的值。
—種遠程過程調用控制系統(tǒng),包括
服務器端,用于接收客戶端發(fā)送的遠程過程調用請求;處理所述遠程過程調用請 求;若處理所述遠程過程調用請求的時間達到設定的值,則通過所述客戶端發(fā)送所述遠程 過程調用請求的傳輸層會話,發(fā)送活動通告消息給所述客戶端;所述設定的值小于所述傳 輸層會話超時時間的值; 客戶端,用于向服務器發(fā)送遠程過程調用請求。 上述技術方案具有如下有益效果在接收到遠程過程調用請求之后,在處理遠程 過程調用請求的過程中,對處理的時間計時,在設定的時間通過客戶端與服務器端的傳輸 層會話發(fā)送消息,以確保傳輸層會話不會因超時而關閉,從而提升會話穩(wěn)定性。
為了更清楚地說明本發(fā)明實施例中的技術方案,下面將對實施例描述中所需要使 用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于 本領域普通技術人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據這些附圖獲得其 他的附圖。
圖1本發(fā)明實施例方法流程示意圖;
圖2本發(fā)明實施例方法流程示意圖;
圖3為本發(fā)明實施例裝置結構示意圖;
圖4為本發(fā)明實施例系統(tǒng)結構示意圖。
具體實施例方式
下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完 整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;?本發(fā)明中的實施例,本領域普通技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他 實施例,都屬于本發(fā)明保護的范圍。 如圖1所示,本發(fā)明的一個實施例提供了一種遠程過程調用控制方法,包括
101 :接收客戶端發(fā)送的遠程過程調用請求;
102 :處理上述遠程過程調用請求; 103 :若處理上述遠程過程調用請求的時間達到設定的值,則通過上述客戶端發(fā)送 上述遠程過程調用請求的傳輸層會話,發(fā)送活動通告消息給上述客戶端;上述設定的值小 于上述傳輸層會話超時時間的值。 上述向客戶端發(fā)送活動通告消息是為了避免傳輸層會話因超時而關閉,至于該活 動通告消息攜帶的信息、為傳輸該活動通告消息所提供的服務質量(Quality of Service, QoS)等,本發(fā)明實施例都不予限定。 可選的,本發(fā)明實施例中,在處理遠程過程調用請求的過程中,對處理的時間進行 計時,當處理的時間達到設定的值時,通過客戶端發(fā)送上述遠程過程調用請求的傳輸層會 話,發(fā)送活動通告消息給上述客戶端,以確保傳輸層會話不會因超時而關閉,從而提升會話 穩(wěn)定性。進一步可選的,本發(fā)明的實施例中,發(fā)送活動通告消息之后,可以重新對處理該遠 程過程調用請求的時間進行計時。 可選的,本發(fā)明實施例中,當處理上述遠程過程調用請求的時間達到設定的值后,通過上述客戶端發(fā)送上述遠程過程調用請求的傳輸層會話,周期性的發(fā)送活動通告消息給 上述客戶端,一般來說,上述發(fā)送活動通告消息的周期小于上述傳輸層會話超時時間。當然 采用其他的方式來實現(xiàn)在傳輸層會話超時前通過該傳輸層會話發(fā)送消息,以防止傳輸層會 話超時關閉也是可以的,對此本發(fā)明實施例不予限定。 可選的,本發(fā)明實施例中,上述活動通告消息還可以攜帶上述遠程過程調用請求 的當前處理狀態(tài)等信息。其中,上述處理狀態(tài),可以包括當前處理的進度,處理中出現(xiàn)的過 程信息等。這樣客戶端在收到活動通告消息之后就可以獲知自身發(fā)送的遠程過程調用請求 在服務器端的執(zhí)行狀況。這樣就進一步解決了 "客戶端無法持續(xù)感知和跟蹤RPC請求的執(zhí) 行狀態(tài)"的問題。 可選的,本發(fā)明的實施例中,活動通告消息可以采用遠程過程調用響應RPC-R印ly 消息的格式進行發(fā)送。當然采用其他的格式也是可以的,本發(fā)明實施例對此不予限定。
可選的,在上述活動通告消息中還可以攜帶響應的序號,用于標識上述活動通告 消息是針對于上述遠程過程調用請求發(fā)送的第幾次響應。舉一個例子服務器端向客戶端 發(fā)送了 5條活動通告消息,編號按照先后次序序號依次為0、1、2、3、4 ;如果客戶端收到了序 號為0的活動通告消息,沒有收到序號為1、2、3的活動通告消息而直接收到了序號為4的 活動通告消息,那么客戶端至少可以知道(l)服務器已經響應了 5次;(2)當前傳輸層會 話狀態(tài)不好致使消息從服務器到客戶端出現(xiàn)了擁塞或者丟失。 下面,以通過遠程過程調用響應消息(RPC-R印ly)來實現(xiàn)遠程過程調用控制為例 進行說明,RPC-R印ly作為優(yōu)選的實現(xiàn)方式不應理解為活動通告消息的唯一實現(xiàn)方式,不對 本發(fā)明實施例構成限定。 NETCONF支持能力集定義, 一個NETCONF能力就是對NETCONF的基礎功能進行擴展 的一組功能。能力集可以新增設備支持的協(xié)議操作,也可以擴展已有配置對象的操作范圍。 NETCONF客戶端通過能力交互可以發(fā)現(xiàn)服務器端支持的能力集,并且可以通過這些能力定 義的新增操作,參數(shù),以及配置對象。 本實施例中,在NETCONF中新增一個活動通告(active)能力,這個能力允許 NETCONF服務器端在處理遠程過程調用請求未完成前向客戶端發(fā)送消息的能力;該消息可 以攜帶的信息以及該消息是否能夠被客戶端接收到,本發(fā)明實施例均不予限定。在本實施 例中該消息進一步可以用于將RPC請求的執(zhí)行狀態(tài)反饋給NETCONF客戶端。
具體的執(zhí)行流程,如圖2所示,包括以下步驟 201 :通過傳輸層會話,服務器端與客戶端相互宣告具有活動通告能力。 202 :服務器端接收來客戶端發(fā)送的復制配置請求(copy-config)。 203 :服務器端接收到該請求后,處理該請求,并對該請求的處理時間進行計時,如
果達到設定時間則發(fā)送活動通告消息。 本實施例中,服務器在接收到遠程過程調用請求之后,在處理遠程過程調用請求 的過程中,對處理的時間計時,在設定的時間使用客戶端與服務器端的傳輸層會話發(fā)送消 息,以確保傳輸層會話不會因超時而關閉,從而提升會話穩(wěn)定性。 可選的,上述活動通告消息還可以攜帶上述遠程過程調用請求的處理狀態(tài)的信 息。這樣客戶端在收到活動通告消息之后就可以從活動通告消息中獲知自身發(fā)送的遠程 過程調用請求在服務器端的執(zhí)行狀況。這樣就避免了 NETCONF客戶端無法持續(xù)感知和跟蹤
5RPC請求的執(zhí)行狀態(tài)的問題。
如圖3所示,本發(fā)明實施例還提供了一種遠程過程調用控制裝置,包括
請求接收單元301,接收客戶端發(fā)送的遠程過程調用請求;
請求處理單元302,用于處理上述遠程過程調用請求; 通告發(fā)送單元303,若處理上述遠程過程調用請求的時間達到設定的值,用于通過 上述客戶端發(fā)送上述遠程過程調用請求的傳輸層會話,發(fā)送活動通告消息給上述客戶端; 上述設定的值小于上述傳輸層會話超時時間的值。 可選地,上述通告發(fā)送單元303,可以周期性的發(fā)送上述活動通告消息給上述客戶
端,上述發(fā)送活動通告消息周期的時間值小于所述傳輸層會話超時時間的值。 可選地,上述通告發(fā)送單元303發(fā)送的活動通告消息可以攜帶上述遠程過程調用
請求的當前處理狀態(tài)等信息。 可選地,上述通告發(fā)送單元303發(fā)送的活動通告消息還攜帶響應的序號,用于序 號標識針對于上述遠程過程調用請求發(fā)送的是第幾次響應。 本實施例中,服務器在接收到遠程過程調用請求之后,在處理遠程過程調用請求 的過程中,對處理的時間計時,在設定的時間通過客戶端與服務器端的傳輸層會話發(fā)送消 息,以確保傳輸層會話不會因超時而關閉,從而提升會話穩(wěn)定性。 如果活動通告消息攜帶了上述遠程過程調用請求的處理狀態(tài)的信息,客戶端在收 到活動通告消息之后就可以從活動通告消息中獲知自身發(fā)送的遠程過程調用請求在服務 器端的執(zhí)行狀況。這樣就避免了 NETCONF客戶端無法持續(xù)感知和跟蹤RPC請求的執(zhí)行狀態(tài) 的問題。 如圖4所示,本發(fā)明實施例還提供了一種遠程過程調用控制系統(tǒng),包括
服務器端401,用于接收客戶端402發(fā)送的遠程過程調用請求;處理上述遠程過程 調用請求;若處理上述遠程過程調用請求的時間達到設定的值,則通過上述客戶端402發(fā) 送上述遠程過程調用請求的傳輸層會話,發(fā)送活動通告消息給上述客戶端402 ;上述設定 的值小于上述傳輸層會話超時時間的值; 客戶端402,用于向服務器端401發(fā)送遠程過程調用請求。 可選的,上無數(shù)服務器端401發(fā)送的上述活動通告消息可以攜帶上述遠程過程調 用請求的處理狀態(tài)的信息;上述客戶端402,還用于接收活動通告消息,解析上述活動通告 消息得到上述遠程過程調用請求的處理狀態(tài)的信息。 可選地,上述服務器端401發(fā)送的活動通告消息中還攜帶響應的序號,用于標識 上述活動通告消息是針對于上述遠程過程調用請求發(fā)送的第幾次響應;上述客戶端402, 還用于解析上述活動通告消息攜帶的響應的序號,得到上述活動通告消息是針對于上述遠 程過程調用請求發(fā)送的第幾次響應。 本實施例中,服務器在接收到遠程過程調用請求之后,在處理遠程過程調用請求 的過程中,對處理的時間計時,在設定的時間通過客戶端與服務器端的傳輸層會話發(fā)送消 息,以確保傳輸層會話不會因超時而關閉,從而提升會話穩(wěn)定性。 如果活動通告消息攜帶上述遠程過程調用請求的處理狀態(tài)的信息,客戶端在收到 活動通告消息之后就可以從活動通告消息中獲知自身發(fā)送的遠程過程調用請求在服務器 端的執(zhí)行狀況。這樣就避免了 NETCONF客戶端無法持續(xù)感知和跟蹤RPC請求的執(zhí)行狀態(tài)的問題。 本領域普通技術人員可以理解實現(xiàn)上述實施例方法中的全部或部分步驟是可以 通過程序來指令相關的硬件完成,上述的程序可以存儲于一種計算機可讀存儲介質中,上 述提到的存儲介質可以是只讀存儲器,磁盤或光盤等。 以上對本發(fā)明實施例所提供的一種遠程過程調用控制方法、裝置和系統(tǒng)進行了詳 細介紹,本文中應用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說 明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領域的一般技術人員,依據 本發(fā)明的思想,在具體實施方式
及應用范圍上均會有改變之處,綜上,本說明書內容不應理 解為對本發(fā)明的限制。
權利要求
一種遠程過程調用控制方法,其特征在于,包括接收客戶端發(fā)送的遠程過程調用請求;處理所述遠程過程調用請求;若處理所述遠程過程調用請求的時間達到設定的值,則通過所述客戶端發(fā)送所述遠程過程調用請求的傳輸層會話,發(fā)送活動通告消息給所述客戶端;所述設定的值小于所述傳輸層會話超時時間的值。
2. 根據權利要求1所述方法,其特征在于,所述發(fā)送活動通告消息給所述客戶端包括 周期性的發(fā)送活動通告消息給所述客戶端,所述發(fā)送活動通告消息的周期小于所述傳輸層會話超時時間。
3 根據權利要求1所述方法,其特征在于,所述活動通告消息攜帶所述遠程過程調用 請求的當前處理狀態(tài)信息。
4. 根據權利要求1所述方法,其特征在于,在所述活動通告消息攜帶響應的序號,用于 標識所述活動通告消息是針對于所述遠程過程調用請求發(fā)送的第幾次響應。
5. —種遠程過程調用控制裝置,其特征在于,包括 請求接收單元,接收客戶端發(fā)送的遠程過程調用請求; 請求處理單元,用于處理所述遠程過程調用請求;通告發(fā)送單元,若處理所述遠程過程調用請求的時間達到設定的值,用于通過所述客 戶端發(fā)送所述遠程過程調用請求的傳輸層會話,發(fā)送活動通告消息給所述客戶端;所述設 定的值小于所述傳輸層會話超時時間的值。
6. 根據權利要求5所述裝置,其特征在于,所述通告發(fā)送單元,用于周期性的發(fā)送活動通告消息給所述客戶端,所述發(fā)送活動通 告消息周期的時間值小于所述傳輸層會話超時時間的值。
7. 根據權利要求5所述裝置,其特征在于,所述通告發(fā)送單元發(fā)送的活動通告消息攜 帶所述遠程過程調用請求的當前處理狀態(tài)信息。
8. 根據權利要求5所述裝置,其特征在于,所述通告發(fā)送單元發(fā)送的活動通告消息攜 帶響應的序號,用于標識針對于所述遠程過程調用請求發(fā)送的是第幾次響應。
9. 一種遠程過程調用控制系統(tǒng),其特征在于,包括服務器端,用于接收客戶端發(fā)送的遠程過程調用請求;處理所述遠程過程調用請求; 若處理所述遠程過程調用請求的時間達到設定的值,則通過所述客戶端發(fā)送所述遠程過程 調用請求的傳輸層會話,發(fā)送活動通告消息給所述客戶端;所述設定的值小于所述傳輸層 會話超時時間的值;客戶端,用于向服務器發(fā)送遠程過程調用請求。
10. 根據權利要求9所述系統(tǒng),其特征在于,所述服務器端發(fā)送的活動通告消息攜帶所述遠程過程調用請求的當前處理狀態(tài)信息;所述客戶端,進一步用于接收所述活動通告消息,解析所述活動通告消息,得到所述遠 程過程調用請求的當前處理狀態(tài)信息。
全文摘要
本發(fā)明實施例公開了一種遠程過程調用控制方法、裝置和系統(tǒng),其中方法的實現(xiàn)包括接收客戶端發(fā)送的遠程過程調用請求;處理所述遠程過程調用請求;若處理所述遠程過程調用請求的時間達到設定的值,則通過所述客戶端發(fā)送所述遠程過程調用請求的傳輸層會話,發(fā)送活動通告消息給所述客戶端;所述設定的值小于所述傳輸層會話超時時間的值。以上實施方式,在接收到遠程過程調用請求之后,在處理遠程過程調用請求的過程中,對處理的時間計時,在設定的時間使用通過用戶端客戶端與服務器端的會話鏈路傳輸層會話發(fā)送消息,以確保會話鏈路傳輸層會話不會因超時而關閉,從而提升會話穩(wěn)定性。
文檔編號H04L29/08GK101795289SQ20091026181
公開日2010年8月4日 申請日期2009年12月30日 優(yōu)先權日2009年12月30日
發(fā)明者楊守傳 申請人:華為技術有限公司