專利名稱::一種遠程過程調用命令的傳輸方法、系統和裝置的制作方法
技術領域:
:本發明涉及一種通信技術,尤其涉及一種遠程過程調用命令的傳輸方法、系統和裝置。
背景技術:
:OMADM(OpenMobileAllianceDeviceManagement,開i文移動耳關盟i殳備管理)工作組制定了設備管理的統一規范。在該規范中,第三方(如移動運營商、業務提供商或者合作方的信息管理部門)利用設備管理(DeviceManagement,DM)服務器管理和設置無線網絡終端設備(比如手機終端設備及終端設備中的功能對象)中的環境和配置信息,以解決這些網絡設備在使用過程中遇到的問題。所述DM服務器和終端設備組成一個DM系統,在該系統中,DM服務器可通過無線網絡(OvertheAir,OTA)方式對終端設備設備進行管理和設置,如軟件和固件的安裝、升級等操作,以提供個性化的服務,提高用戶體驗。在DM系統中,終端設備上的DM代理用于解釋和執行DM服務器下發的管理命令。終端設備上存儲的管理樹可以被認為是一個DM服務器通過DM協議對終端設備進行管理的接口。該管理樹包括一些基本管理對象(ManagementObject,MO),DM服務器通過操作命令對管理對象的操作達到控制終端設備的目的。所述操作命令有Get(獲取)、Replace(替換)、Exec(執行)、Copy(復制)、Delete(刪除)等。數字用戶線(DigitalSubscriberLine,DSL)論壇定義了一個CWMP(終端設備(CustomerPremisesEquipment,CPE)無線接入管理協議),該協議應用于DSL的網絡環境內,實現與OMADM類似的功能。它通過簡單對象接入協議(SimpleObjectAccessProtocal,SOAP)承載遠程過程調用(RemoteProcedureCall,RPC)命令,RPC命令用于實現終端設備和管理服務器(ACS)間的雙向通信,完成遠程管理的目的。CPE系統中保存著各種數據模型,以維護CPE系統上各功能使用的參數。在一般情況下,OMADM規范應用于無線環境,而CWMP應用于固定網絡環境。隨著無線保真(WirelessFidelity,WIFI)、微波接入全球互通(WorldwideInteroperabilityforMicrowaveAccess,WIMAX)等無線通信技術的發展,這些通信技術雖然通過無線信道提供移動的功能,但其網紹4是供服務的方式屬于固定網絡的范疇。因此,發明人在開發過程中發現,當WIFI、WIMAX與WCDMA(寬帶碼分多址接入)等無線通信方式相融合時,就會出現利用OMADM來管理一個固定網絡環境下的終端設備的需求,以利用基于CWMP定義的數據模型的對該終端設備進行管理。然而,目前尚未出現一種技術,來傳輸RPC命令,以實現利用OMADM規范來管理CWMP系統下的終端設備。
發明內容本發明的實施例提供了一種遠程過程調用命令的傳輸方法、系統和裝置,可解決現有技術中不能傳輸RPC命令的問題。本發明的實施例提供了一種遠程過程調用命令傳輸的方法,包括將遠程過程調用命令設置在設備管理規范信息中;傳輸設備管理規范信息。本發明的實施例還提供了一種遠程過程調用命令傳輸的系統,包括第一設備,用于將遠程過程調用命令設置在設備管理規范信息中,并將所述設備管理規范信息發給第二設備;第二設備,用于接收所述第一設備的設備管理規范信息。本發明的實施例還提供了一種設備管理系統,包括第一設備,用于將遠程過程調用命令設置在設備管理規范信息中,并將所述設備管理規范信息發給第二設備;第二設備,用于接收所述第一設備的設備管理規范信息,并執行該設備管理規范信息。本發明的實施例還提供了一種設備管理服務器,包括設置單元,用于將遠程過程調用命令設置在設備管理規范信息中;傳輸單元,用于傳輸設備管理規范信息。本發明的實施例還提供了一種終端設備,包括接收單元,用于接收設備管理規范信息;處理單元,用于根據所述接收單元接收的設備管理規范信息進行處理。根據本發明實施例,可使DM服務器將RPC命令發送給終端設備,以便終端設備執行該RPC命令,從而使得一些基于CWMP的數據模型可以在OMADM的系統下得到重用。圖l示出了本發明實施例二中設備管理對象的結構;圖2示出了本發明實施例二中另一種設備管理對象的結構;圖3示出了本發明實施例五的傳輸RPC命令的系統。具體實施例方式為了便于本領域一般技術人員理解和實現本發明,現結合附圖描繪本發明的實施例。在本發明的實施例中,為了利用OMADM規范實現DM服務器對CWMP系統的終端設備進行管理,需要在DM服務器與終端設備之間傳輸RPC命令。即,DM服務器采用OMADM規范信息(以下簡稱DM信息)向終端設備發送管理終端設備的CWMP數據模型的命令(如RPC命令);終端設備采用OMADM規范向DM服務器返回該命令的執行結果。在下面實施例中描述通過OMADM規范傳遞RPC命令的方法。在實施例一中,描述了通過對DM的命令(如Alert(警報))進行擴展,以進行傳輸RPC命令的方法;在實施例二中,描述了通過特定的DMMO(ManagementObject,管理對象)進行傳遞RPC命令的方法;在實施例三中,描述了通過對DM命令集的擴展,以進行傳輸RPC命令的方法。實施例一本實施例描述擴展DM命令,以通過擴展的DM命令傳輸RPC命令的方法。下面以Alert命令為例描述傳輸RPC命令的方法,Alert命令在DM中的使用規范為Alert(CmdID,Data,Correlator,Item*)其中,CmdID是DM定義的每條命令發送時設定的ID號。Data(數據)元素用于指示該Alert命令的類型;Item(項目)元素用于指示該Alert命令的內容。例如,Data-1100表示這是一個顯示消息,終端設備收到該消息時,會將Item中的內容顯示給用戶。Correlator參數用于表示與某承載RPC命令的Alert命令對應的一個相關值,當該RPC命令需要一段時間才能獲得執行結果時,通信對端可以在回復該RPC命令時使用這個Correlator值,以表示該回復是對該Correlator值對應的RPC命令的回復。為了在Alert命令中承載RPC命令,首先要為每條RPC命令分配一個AlertCode(該AlertCode稱作RPC命令碼),將該Alert碼設置在Date元素中,以便使通信對端識別該Alert命令承載的是什么RPC命令。然后在Item中承載該RPC命令的參數,可基于XML(ExtensibleMarkupLanguage,可擴展標識語言)語言來描述具體的參數。這樣,當通信對端接收到Alert命令時,就可確定其承載的RPC命令和參數,然后執行該RPC命令,并通過DM中定義的Status命令、Results命令或Alert命令來回復Alert命令,將回復的參數包含在Status命令、Results命令或Alert命令的Item中。下面是一個在Alert命令中承載RPC命令的例子。RPC命令為GetParameterNames,它用于獲取終端設備對象上某些參數的名稱。該命令有兩個參數ParameterPath,指示需要獲取對象上參數的路徑,終端設備可以根據該路徑找到這些參數;另一個參數NextLevel,指示是否需要獲取該路徑的下級目錄,它是一個布爾值。該命令的執行返回一個值ParameterlnfoStruct,該值是一個復合值,包含兩個參數Name、Writable。Name是該參數的名稱,Writable指示是否可以對該參數進行賦值,如果該參數是一個子對象,則表示是否可以刪除該子對象。DM服務器向終端設備發送Alert命令,Alert命令如下<Alert><CmdID>3</CmdID><Data>1248</Data><Item><Typexmlns="syncml:metinf'>application/dsl.cwmp.rpc</Type><Formatxmlns-"syncml:metinf'>xml</Format><Data><rpc:ParameterPath>InternetGatewayDevice.LANDevice.1.Hosts.</rpc:ParameterPath></Data></Item><Item><Typexmlns="syncml:metinf'>application/dsl.cwmp.rpc</Type><Formatxmlns-"syncml:metinf'>xml</Format><Data><rpc:NextLevel>true</rpc:NextLevel></Data></Item></Alert>其中rpc是預先定義好的名字空間,里面指示了如何解析ParameterPath、NextLevel等參數。在該Alert命令中,1248是Alert碼,表示該Alert命令是用于RPC消息中的GetParameterNames命令;兩個Item中包含了該命令的兩個參數ParameterPath和NextLevel。因為NextLevel=true;終端設備可利用Status命令或Results命令來返回ParameterPath參數中指定的路徑下一級的參數名稱<Status><MsgRef>2</MsgRee><CmdRefi>3</CmdRef><CmdID>2</CmdID><Cmd>Alert</Cmd><Data>200</Data><Item><Typexmlns="syncml:metinf'>application/dsl.cwmp.rpc</Type><Formatxmlns="syncml:metinf'>xml</Format><Data><rpc:ParameterList><rpc:Name>IntemetGatewayDevice.LANDevice.1.Hosts.HostNumberOffintries</rpc:Name><rpc:Writable>tme</rpc:Writable></rpc:ParameterList><rpc:ParameterList><rpc:Name>InternetGatewayDevice丄ANDevice.1.Hosts.Host.</rpc:Name><rpc:Writable>false</rpc:Writable></rpc:ParameterList></Data></Item></Status>上述Status命令用于對GetParameterNames命令進行回復,200表示命令執行成功,返回的結果保存在Item中,表明在Alert命令指示的路徑下有兩個參數,其中一個為HostNumberOffintries,可以對該節點進行賦值,另一個為Host.,后面緊跟的"."表示這是一個子對象,內含其它參數,該子對象不能被刪除。通過該例子表明了利用Alert命令傳遞RPC命令的方法。一種類似的方案是"i殳定一個特定的AlertCode(即RPC識別碼),,i設為1240。可將該Alert識別碼設置在Alert命令的Data元素中,以表示該Alert命令專門用于承載RPC命令。而RPC命令的相關信息,包括命令名稱和命令參數全部設置在Item中。下面的Item內容即為上述例子中的RPC命令<Item><Typexmlns="syncml:metinf'>application/dsl.cwmp.rpc</Type><Formatxmlns="syncml:metinf'>xml</Format><Data><rpc:GetParameterNames><rpc:ParameterPath>InternetGatewayDeviceiANDevice.l.Hosts.</rpc:ParameterPath><rpc:NextLevel>true</rpc:NextLevel></rpc:GetParameterNames></Data></Item>終端設備收到該消息后,從1240獲知這是一條RPC命令,從Item中獲得該命令的內容。執行后,并將執行的結果通過Status命令、Results命令或Alert命令進行回復。上面以Alert命令為例描述了傳輸RPC命令的方法,同理,可釆用其它DM命令傳輸RPC命令。實施例二下面通過在OMADM規范中定義一個新的DMMO,該DMMO稱作RPCMO,可利用該RPCMO來傳輸RPC命令,圖l和圖2是兩個RPCMO的組織結構。在圖l中,RPC命令及其參數可位于不同節點,即分開表示,即RPC命令用RPC命令標識來表示,RPC的參數使用XML的方式來描述,所述RPC命令標識可以是RPC命令名稱或是與實施例一的Alert碼類似的一個標識;而圖2所示RPCMO是將整個RPC命令保存于同一節點,用XML方式描述。當終端設備獲得RPC命令時,對于圖l所示的結構,它可以通過RPC命令標識找到執行該命令的模塊,并傳遞相應參數;對于圖2所示的結構,終端設備獲得RPC命令后,需要解析命令的描述,從中提取出命令標識和參數,再由相應的執行模塊處理該命令。在該RPCMO中還有兩個節點Result(結果)和Execute(執行)。其中,Result節點用于保存RPC命令執行的結果,Execute命令用于觸發執行該RPC命令。下面是傳遞RPC命令的例子月良務器利用圖1所示的結構配置RPCMO。將Name值設置為GetParameterNames,也可以用一個ID值,如1248來表示這個命令。再設定兩個參數,分別為<rpc:ParameterPathxmlns:rpc="syncml:metinf'>InternetGatewayDevice.LANDevice.1.Hosts,</rpc:ParameterPath〉<rpc:NextLevel>true</rpc:NextLevel>如果是采用圖2所示的結構,則將整個RPC命令保存在Command節點下,如<rpc:GetParameterNamesxmlns:rpc="syncml:metinf,><rpc:ParameterPath>InternetGatewayDevice.LANDevice.l.Hosts.</rpc:ParameterPath><rpc:NextLevel>true</rpc:NextLevel></rpc:GetParameterNames>服務器配置好RPC命令信息后,執行Execute節點,終端設備執行該命令,并將執行結果(參見實施例一中Status命令中Item/Data內所提供的代碼)記錄到Result節點中,服務器可以通過兩種方式獲得RPC執行的結果。一是包含在Exec指令的回復消息中,與實施例一中的Status回復一樣,可以從所述Status命令的Item中獲得;另一種是僅回復200成功消息,服務器通過對Result節點的Get獲得執行的結果。即當服務器收到200OK回復后,發送Get指令<Get><CmdID>5</CmdID><Item><Target><LocURI>./RPC/Result</LocURI></Target></Item></Get>終端設備收到該命令后,將Result中保存的內容發送給服務器。實施例三本實施描述了通過對DM命令集的擴展,以進行傳輸RPC命令的方法。即在DM的指令集中增加RPC命令,這樣,DM服務器就可象對待DM命令一樣對待RPC命令,從而可方便地向設備終端傳輸RPC命令。在DM的命令集中,除Alert命令外,其余命令都是針對設備管理樹的,而RPC命令不僅包含對數據模型的操作,還包括對設備的操作,所以可以設計一些類似于Alert的DM命令,完成RPC指令的下發。下面是RPC命令的書寫規范(DTD):RPCCommand(CmdID,Correlator,Item*)其中RPCCommand是RPC命令的標識;CmdID是DM定義的每條命令發送時設定的ID號;Correlator用于非同步操作時,如RPC的Download命令,該命令下發時,由于無法立即回復,Status回復中無法包含命令執行的結果,因此在執行結果上報時,需要通過Correlator值告知服務器該結果對應的是哪一條RPC命令;Item是該RPC命令的參數。本實施例與實施例一中的傳送RPC命令的方法相似,唯一的區別在于實施例一可用Alert碼(如Data中的Alert碼)來區分不同的RPC命令;而在本實施例中用命令標識來區分RPC命令。由于傳輸RPC的方法與實施例一致,在此不再重復。在實施例一至實施例三中,當終端設備接收到DM服務器傳輸的包括RPC命令的DM規范信息后,可執行所述設備管理規范信息中的RPC命令,進而實現DM服務器對終端設備的管理。所述設備管理規范信息包括下列其中之一,或其任意組合現有設備管理命令、設備管理對象、新增設備管理命令。實施例四如圖3所示,本實施例公開了一種遠程過程調用命令傳輸的系統,包括第一設備,用于將遠程過程調用命令設置在設備管理規范信息中,并將所述設備管理規范信息發給第二設備;第二設備,用于接收所述第一設備的設備管理規范信息。所述第一設備包括設備管理服務器或終端設備,所述第二設備包括設備管理服務器或終端設備。在圖3中,第一設備為設備管理服務器;第二設備為終端設備。本實施例公開了一種設備管理系統,包括第一設備,用于將遠程過程調用命令設置在設備管理規范信息中,并將所述設備管理規范信息發給第二設備;第二設備,用于接收所述第一設備的設備管理規范信息,并執行該設備管理規范信息。所述第一設備包括設備管理服務器或終端設備,所述第二設備包括設備管理服務器或終端設備。本實施例還公開了一種設備管理服務器,包括設置單元,用于將遠程過程調用命令設置在設備管理規范信息中;傳輸單元,用于傳輸設備管理規范信息。所述設備管理規范信息包括下列其中之一,或其任意組合現有設備管理命令、設備管理對象、新增設備管理命令,所述設置單元包括下列其中之一,或其任意組合第一設置子單元,用于將遠程過程調用命令設置在現有設備管理命令中;第二設置子單元,用于將遠程過程調用命令設置在設備管理對象中;第三設置子單元,用于將遠程過程調用命令設置在新增設備管理命令中。本實施例還公開了一種終端設備,包括接收單元,用于接收設備管理規范信息;處理單元,用于根據所述接收單元接收的設備管理規范信息進行處理,并將執行結果返回設備管理服務器,以實現設備管理服務器對終端設備的管理。根據本發明實施例,可使DM服務器可以將RPC命令發送給終端設備,以便終端設備執行該RPC命令,從而使得一些基于CWMP的數據模型可以在OMADM的系統下得到重用。雖然通過實施例描繪了本發明,但本領域普通技術人員知道,在不脫離本發明的精神和實質的情況下,就可使本發明有許多變形和變化,本發明的范圍由所附的權利要求來限定。權利要求1、一種遠程過程調用命令傳輸的方法,其特征在于,包括將遠程過程調用命令設置在設備管理規范信息中;傳輸設備管理規范信息。2、根據權利要求l所述的方法,其特征在于,所述設備管理規范信息包括現有設備管理命令,所述現有設備管理命令具體為警報命令。3、根據權利要求2所述的方法,其特征在于,所述警報命令包括遠程過程調用命令碼和遠程過程調用命令的參數,其中,每一遠程過程調用命令碼對應一個遠程過程調用命令。4、根據權利要求3所述的方法,其特征在于,所述將遠程過程調用命令設置在設備管理規范信息中具體包括將遠程過程調用命令碼設置在警報命令的數據元素中,將遠程過程調用命令的參數設置在警才艮命令的項目元素中。5、根據權利要求2所述的方法,其特征在于,所述警報命令包括遠程過程調用命令識別碼、遠程過程調用命令碼和遠程過程調用命令的參數,其中,每一遠程過程調用命令碼對應一個遠程過程調用命令。6、根據權利要求5所述的方法,其特征在于,所述將遠程過程調用命令設置在設備管理規范信息中具體包括將遠程過程調用命令識別碼設置在警報命令的數據元素中,將遠程過程調用命令碼和遠程過程調用命令的參數設置在警報命令的項目元素中。7、根據權利要求l所述的方法,其特征在于,所述設備管理規范信息包括設備管理對象,所述設備管理對象包括遠程過程調用命令標識和遠程過程調用命令參數,其中,每一遠程過程調用命令標識對應一個遠程過程調用命令;所述遠程過程調用命令標識和遠程過程調用命令參數可位于不同節點或同一節點。8、根據權利要求7所述的方法,其特征在于,所述設備管理對象還包括結果參數,用于保存遠程過程調用命令執行的結果;執行命令節點,用于觸發執行該遠程過程調用命令。9、根據權利要求l所述的方法,其特征在于,所述設備管理規范信息包括新增設備管理命令。10、根據權利要求l所述的方法,其特征在于,在所述傳輸設備管理規范信息之后,所述方法還包括終端設備根據接收的設備管理規范信息進行處理。11、一種遠程過程調用命令傳輸的系統,其特征在于,包括第一設備,用于將遠程過程調用命令設置在設備管理規范信息中,并將所述設備管理規范信息發給第二設備;第二設備,用于接收所述第一設備的設備管理規范信息。12、根據權利要求ll所述的系統,其特征在于,所述第一設備包括設備管理服務器或終端設備,所述第二設備包括設備管理服務器或終端設備。13、一種設備管理系統,其特征在于,包括第一設備,用于將遠程過程調用命令設置在設備管理規范信息中,并將所述設備管理規范信息發給第二設備;第二設備,用于接收所述第一設備的設備管理規范信息,并執行該設備管理規范信息。14、一種設備管理服務器,其特征在于,包括設置單元,用于將遠程過程調用命令設置在設備管理規范信息中;傳輸單元,用于傳輸設備管理規范信息。15、根據權利要求14所述的設備管理服務器,其特征在于,所述設置單元包括下列其中之一,或其任意組合第一設置子單元,用于將遠程過程調用命令設置在現有設備管理命令中;第二設置子單元,用于將遠程過程調用命令設置在設備管理對象中;第三設置子單元,用于將遠程過程調用命令設置在新增設備管理命令中。16、一種終端設備,其特征在于,包括接收單元,用于接收設備管理規范信息;處理單元,用于根據所述接收單元接收的設備管理規范信息進行處理。全文摘要本發明的實施例提供了一種遠程過程調用命令的傳輸方法、系統和裝置,可解決現有技術中不能傳輸RPC命令的問題。所述方法包括將遠程過程調用命令設置在設備管理規范信息中;傳輸設備管理規范信息。所述系統包括第一設備,用于將遠程過程調用命令設置在設備管理規范信息中,并將所述設備管理規范信息發給第二設備;第二設備,用于接收所述第一設備的設備管理規范信息。所述裝置包括終端設備和DM服務器。根據本發明實施例,可使DM服務器將RPC命令發送給終端設備,以便終端設備執行該RPC命令,從而使得一些基于CWMP的數據模型可以在OMADM的系統下得到重用。文檔編號H04L12/24GK101409632SQ200710162810公開日2009年4月15日申請日期2007年10月10日優先權日2007年10月10日發明者劉海濤,睿王申請人:華為技術有限公司