專利名稱:應(yīng)用rpc進(jìn)行對象傳輸?shù)姆椒ā⒀b置及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本申請涉及網(wǎng)絡(luò)通信領(lǐng)域,特別是涉及一種應(yīng)用RPC進(jìn)行對象傳輸?shù)姆椒?、裝置及系統(tǒng)。
背景技術(shù):
RPC(Remote Procedure Call Protocal,遠(yuǎn)程過程調(diào)用協(xié)議)是一種通過網(wǎng)絡(luò)從遠(yuǎn)程計算機程序上請求服務(wù),而不需要了解底層網(wǎng)絡(luò)技術(shù)的協(xié)議。RPC協(xié)議假定某些傳輸協(xié)議的存在,如TCP或UDP,為通信程序之間攜帶信息數(shù)據(jù)。在OSI網(wǎng)絡(luò)通信模型中,RPC跨越了傳輸層和應(yīng)用層。RPC使得開發(fā)包括網(wǎng)絡(luò)分布式多程序在內(nèi)的應(yīng)用程序更加容易。RPC采用對象序列化技術(shù)來實現(xiàn)數(shù)據(jù)的傳輸。對象序列化是指將對象狀態(tài)轉(zhuǎn)換為可保持或傳輸?shù)母袷降倪^程。與序列化相對的是反序列化過程,它將流轉(zhuǎn)換為對象;序列化與反序列化過程結(jié)合起來,可以輕松的實現(xiàn)數(shù)據(jù)的存儲和傳輸過程。在序列化過程中,若對象之間存在級聯(lián)關(guān)系,且子對象數(shù)量較多、對象繼承層次較深時,此時采用RPC協(xié)議傳輸對象,將產(chǎn)生非常龐大的多余數(shù)據(jù)量,造成網(wǎng)絡(luò)資源的浪費。
發(fā)明內(nèi)容
為解決上述技術(shù)問題,本申請實施例提供一種應(yīng)用RPC進(jìn)行對象傳輸?shù)姆椒ā⒀b置及系統(tǒng),在采用RPC協(xié)議進(jìn)行對象傳輸時,可以有效減少在網(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù)量,提高網(wǎng)絡(luò)資源的利用率。技術(shù)方案如下一種應(yīng)用RPC進(jìn)行對象傳輸?shù)姆椒?,包括確定傳輸對象中的父對象與子對象;當(dāng)所述父對象的對象屬性與其子對象的對象屬性相同時,將所述父對象的對象屬性設(shè)置為空值;并為所述父對象的子對象分配附加屬性;所述附加屬性用于標(biāo)識所述父對象的初始對象屬性與所述子對象的對象屬性相同;依次對所述父對象與子對象進(jìn)行序列化,并對所述經(jīng)過序列化的父對象與子對象進(jìn)行發(fā)送。上述的方法,優(yōu)選的,為所述子對象分配附加屬性的過程采用繼承子類方式或動態(tài)字節(jié)碼增強方式進(jìn)行分配。一種應(yīng)用RPC進(jìn)行對象傳輸?shù)难b置,包括對象確定單元、第一屬性設(shè)置單元、屬性分配單元、序列化單元和發(fā)送單元;所述對象確定單元用于確定傳輸對象中的父對象與子對象;所述第一屬性設(shè)置單元用于當(dāng)所述對象確定單元確定的父對象的對象屬性與其子對象的對象屬性相同時,將所述父對象的對象屬性設(shè)置為空值;所述屬性分配單元用于為經(jīng)過所述第一屬性設(shè)置單元進(jìn)行屬性設(shè)置的父對象的子對象分配附加屬性;所述附加屬性用于標(biāo)識所述父對象的初始對象屬性與所述子對象的對象屬性相同;所述序列化單元用于依次對所述對象確定單元確定的父對象與子對象進(jìn)行序列化;所述發(fā)送單元用于將經(jīng)過所述序列化單元序列化的父對象與子對象進(jìn)行發(fā)送。上述的裝置,優(yōu)選的,還包括選擇單元;所述選擇單元用于對所述屬性分配單元為所述子對象分配附加屬性的分配方式進(jìn)行選擇。 一種應(yīng)用RPC進(jìn)行對象傳輸?shù)姆椒?,包括接收?jīng)過序列化的父對象與子對象;依次對所述子對象與所述父對象進(jìn)行反序列化;在反序列化過程中,讀取所述父對象的對象屬性;當(dāng)所述父對象的對象屬性為空值時,確定所述父對象的子對象是否具有附加屬性,若所述子對象具有附加屬性,將所述父對象的對象屬性設(shè)置為其子對象的對象屬性并將所述子對象的附加屬性移除。一種應(yīng)用RPC進(jìn)行對象傳輸?shù)难b置,包括接收單元、反序列化單元、讀取單元、確定單元和第二屬性設(shè)置單元;所述接收單元用于接收經(jīng)過序列化的父對象與子對象;所述反序列化單元用于依次對所述接收單元接收的子對象與父對象進(jìn)行反序列化所述讀取單元用于在所述反序列化單元在執(zhí)行反序列操作的過程中,讀取所述接收單元接收的父對象的對象屬性;所述確定單元用于當(dāng)所述讀取單元讀取的父對象的對象屬性為空值時,確定所述父對象的子對象是否具有附加屬性;所述第二屬性設(shè)置單元用于當(dāng)所述確定單元確定所述父對象的子對象具有附加屬性時,將所述父對象的對象屬性設(shè)置為所述子對象的對象屬性并將所述子對象的附加屬性移除。一種應(yīng)用RPC進(jìn)行對象傳輸?shù)南到y(tǒng),包括發(fā)送端和接收端;所述發(fā)送端包括對象確定單元、第一屬性設(shè)置單元、屬性分配單元、序列化單元和發(fā)送單元;所述對象確定單元用于確定傳輸對象中的父對象與子對象;所述第一屬性設(shè)置單元用于當(dāng)所述對象確定單元確定的父對象的對象屬性與其子對象的對象屬性相同時,將所述父對象的對象屬性設(shè)置為空值;所述屬性分配單元用于為經(jīng)過所述第一屬性設(shè)置單元進(jìn)行屬性設(shè)置的父對象的子對象分配附加屬性;所述附加屬性用于標(biāo)識所述父對象的初始對象屬性與所述子對象的對象屬性相同;所述序列化單元用于依次對所述對象確定單元確定的父對象與子對象進(jìn)行序列化;所述發(fā)送單元用于將經(jīng)過所述序列化單元序列化的父對象與子對象進(jìn)行發(fā)送;所述接收端包括接收單元、反序列化單元、讀取單元、確定單元和第二屬性設(shè)置單元;
所述接收單元用于接收經(jīng)過序列化的父對象與子對象;所述反序列化單元用于依次對所述接收單元接收的子對象與父對象進(jìn)行反序列化所述讀取單元用于在所述反序列化單元在執(zhí)行反序列操作的過程中,讀取所述接收單元接收的父對象的對象屬性;所述確定單元用于當(dāng)所述讀取單元讀取的父對象的對象屬性為空值時,確定所述父對象的子對象是否具有附加屬性;所述第二屬性設(shè)置單元用于當(dāng)所述確定單元確定所述父對象的子對象具有附加屬性時,將所述父對象的對象屬性設(shè)置為所述子對象的對象屬性并將所述子對象的附加屬性移除。由以上本申請實施例提供的技術(shù)方案可見,本發(fā)明提供的應(yīng)用RPC進(jìn)行對象傳輸?shù)姆椒?、裝置及系統(tǒng),在傳輸對象序列化時,將父對象的對象屬性與其子對象的對象屬性相同的父對象的對象屬性設(shè)置為空值,并在所述子對象的屬性信息中設(shè)置附加屬性對該空值操作進(jìn)行標(biāo)識;由此減少了在序列化過程中,采用RPC協(xié)議傳輸對象的數(shù)據(jù)量。同時在,反序列化過程中,依據(jù)子對象中的標(biāo)識信息,重新對所述子對象的父對象的空值屬性進(jìn)行設(shè)置,得到初始父對象與子對象。通過本申請實施例提供的應(yīng)用RPC進(jìn)行對象傳輸?shù)姆椒ā⒀b置及系統(tǒng),有效的減少了在傳輸過程中傳輸?shù)臄?shù)據(jù)量,提高了傳輸效率。
為了更清楚地說明本申請實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請中記載的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下, 還可以根據(jù)這些附圖獲得其他的附圖。圖1為本申請實施例提供的應(yīng)用RPC進(jìn)行對象傳輸?shù)陌l(fā)送端方法流程圖;圖2為本申請實施例提供的應(yīng)用RPC進(jìn)行對象傳輸?shù)陌l(fā)送端一詳細(xì)流程圖;圖3為本申請實施例提供的應(yīng)用RPC進(jìn)行對象傳輸?shù)陌l(fā)送端一具體實施流程圖;圖4為本申請實施例提供的應(yīng)用RPC進(jìn)行對象傳輸?shù)陌l(fā)送端裝置結(jié)構(gòu)示意圖;圖5為本申請實施例提供的應(yīng)用RPC進(jìn)行對象傳輸?shù)陌l(fā)送端裝置的一詳細(xì)結(jié)構(gòu)示意圖;圖6為本申請實施例提供的應(yīng)用RPC進(jìn)行對象傳輸?shù)慕邮斩朔椒鞒虉D;圖7為本申請實施例提供的應(yīng)用RPC進(jìn)行對象傳輸?shù)慕邮斩艘辉敿?xì)方法流程圖;圖8為本申請實施例提供的應(yīng)用RPC進(jìn)行對象傳輸?shù)慕邮斩艘痪唧w方法實施流程圖;圖9為本申請實施例提供的應(yīng)用RPC進(jìn)行對象傳輸?shù)慕邮斩搜b置結(jié)構(gòu)示意圖;圖10為本申請實施例提供的應(yīng)用RPC進(jìn)行對象傳輸系統(tǒng)的結(jié)構(gòu)示意圖。
具體實施例方式為了使本技術(shù)領(lǐng)域的人員更好地理解本申請方案。下面將結(jié)合本申請實施例中的附圖,對本申請實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分實施例,而不是全部的實施例?;诒旧暾堉械膶嵤├?,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應(yīng)當(dāng)屬于本申請保護(hù)的范圍。本申請實施例提供的應(yīng)用RPC進(jìn)行對象傳輸?shù)陌l(fā)送端應(yīng)用的方法流程圖如圖1所示,包括步驟SlOl 確定傳輸對象中的父對象與子對象;所述父對象與其子對象的確定是相對的,一個父對象可以有多個子對象,當(dāng)子對象又有新的子對象時,相對的,所述子對象便成為所述新的子對象的父對象;步驟S102 當(dāng)所述父對象的對象屬性與其子對象的對象屬性相同時,將所述父對象的對象屬性設(shè)置為空值;并為所述父對象的子對象分配附加屬性;所述附加屬性用于標(biāo)識所述父對象的初始對象屬性與所述子對象的對象屬性相同;由于一個父對象可能會有多個繼承關(guān)系的子對象,子對象又有新的繼承對象,判定在同一繼承關(guān)系的序列中,相鄰的兩個對象之間的對象屬性是否相同,若相同,將處于相對父對象位置的對象的對象屬性設(shè)置為空值;步驟S103 依次對所述父對象與子對象進(jìn)行序列化,并對所述經(jīng)過序列化的父對象與子對象進(jìn)行發(fā)送;由父對象向子對象方向進(jìn)行序列化過程,并將序列化的父對象與子對象進(jìn)行發(fā)送。本申請實施例提供的方法實現(xiàn)過程中,為子對象分配附加屬性的過程采用繼承子類方式或動態(tài)字節(jié)碼增強方式進(jìn)行分配,在具體的實施過程中,可根據(jù)具體的序列化過程對分配方式進(jìn)行選擇。為了更加清楚的對本申請方法實施例進(jìn)行描述,本申請實施例還提供了應(yīng)用RPC 進(jìn)行對象傳輸?shù)陌l(fā)送端的一詳細(xì)方法流程圖,如圖2所示,在圖1的基礎(chǔ)上,包括步驟S201 判斷所述父對象的對象屬性與其子對象的對象屬性是否相同;若相同,執(zhí)行步驟S202 ;否則,執(zhí)行步驟S204 ;步驟S202 將所述父對象的對象屬性設(shè)置為空值;步驟S203 為所述父對象的子對象分配附加屬性;步驟S204 對該父對象的下一父對象進(jìn)行判斷,直至所有父對象判斷完畢。需要對以上步驟進(jìn)行說明的是所述父對象的下一父對象是相對意義上的描述, 在級聯(lián)關(guān)系中,若某一父對象具有二層級聯(lián)關(guān)系,及該父對象具有子對象,該子對象也具有子對象的情況下;在對所述父對象與其子對象的對象屬性進(jìn)行判斷后,還需要對所述子對象與其子對象的對象屬性進(jìn)行比較,此時所述子對象相對其子對象來說,處于父對象位置。當(dāng)所有的相對意義上的父對象與其子對象均比較完畢后,依次對所述父對象與子對象進(jìn)行序列化,并對所述經(jīng)過序列化的父對象與子對象進(jìn)行發(fā)送。在以上圖2所示方法實施例的基礎(chǔ)上,本申請實施例還提供應(yīng)用RPC進(jìn)行對象傳輸?shù)陌l(fā)送端的一具體實施流程圖,如圖3所示,包括在調(diào)用序列化操作前,執(zhí)行步驟S212 遍歷子對象;步驟S213 判斷遍歷過程是否完成;如果是,執(zhí)行步驟S218 ;否則,執(zhí)行步驟 S214 ;步驟S214 為子對象添加附加布爾屬性isChangeParent ;
此處在實施過程中,為所有的相對子對象均分配附加布爾屬性,所述布爾屬性的默認(rèn)值為false ;步驟S215 判斷子對象的父對象的對象屬性是否與當(dāng)前子對象的對象屬性相同; 若果是,執(zhí)行步驟S216 ;否則,返回步驟S213 ;步驟S216 設(shè)置所述父對象的對象屬性為空值;步驟S217 設(shè)置 isChangeParent 屬性為 true ;步驟S208 調(diào)用對象序列化過程。通過圖3所示的一具體實施方式
可知,在對象序列化過程中,對父對象的屬性設(shè)置為空值這一操作過程的標(biāo)識,可以有多種實現(xiàn)方式,在本申請實施例提供的方法中,可以先對子對象添加附加屬性,所述附加屬性的默認(rèn)值為flase,當(dāng)判斷得出所述父對象與其子對象的對象屬性相同時,將所述父對象的對象屬性設(shè)置為空值后,將所述false值更改為 true。也可以和圖1所示的實施例一樣,先對父對象與其子對象的對象屬性進(jìn)行判斷,只對父對象的對象屬性設(shè)置為空值的子對象設(shè)置附加屬性。對于前述的方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明并不受所描述的動作順序的限制,因為依據(jù)本發(fā)明,某些步驟可以采用其他順序或者同時進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實施例均屬于優(yōu)選實施例,所涉及的動作和模塊并不一定是本發(fā)明所必須的。針對以上方法實施例,本申請實施例提供了應(yīng)用RPC進(jìn)行對象傳輸?shù)陌l(fā)送端裝置結(jié)構(gòu)示意圖,如圖4所示,包括對象確定單元301、第一屬性設(shè)置單元302、屬性分配單元303、序列化單元304和發(fā)送單元305 ;對象確定單元301用于確定傳輸對象中的父對象與子對象;第一屬性設(shè)置單元302用于當(dāng)所述對象確定單元301確定的父對象的對象屬性與其子對象的對象屬性相同時,將所述父對象的對象屬性設(shè)置為空值;屬性分配單元303用于為經(jīng)過所述第一屬性設(shè)置單元302進(jìn)行屬性設(shè)置的父對象的子對象分配附加屬性;所述附加屬性用于標(biāo)識所述父對象的初始對象屬性與所述子對象的對象屬性相同;序列化單元304用于依次對所述對象確定單元301確定的父對象與子對象進(jìn)行序列化;發(fā)送單元305用于將經(jīng)過所述序列化單元304序列化的父對象與子對象進(jìn)行發(fā)送。以上應(yīng)用RPC進(jìn)行對象傳輸?shù)陌l(fā)送端裝置的一詳細(xì)結(jié)構(gòu)示意圖如圖5所示,還包括選擇單元306 ;選擇單元306用于對所述屬性分配單元303為所述子對象分配附加屬性的分配方式進(jìn)行選擇。對于系統(tǒng)實施例而言,由于其基本相應(yīng)于方法實施例,所以描述的比較簡單,相關(guān)之處參見方法實施例的部分說明即可。本申請實施例提供的應(yīng)用RPC進(jìn)行對象傳輸?shù)慕邮斩朔椒鞒虉D如圖6所示,包括
步驟S401 接收經(jīng)過序列化的父對象與子對象;步驟S402 依次對所述子對象與所述父對象進(jìn)行反序列化;所述反序列化的過程與序列化的過程是相反的過程,從最底層子對象開始向最高層父對象進(jìn)行反序列化;步驟S403 在反序列化過程中,讀取所述父對象的對象屬性;當(dāng)所述父對象的對象屬性為空值時,確定所述父對象的子對象是否具有附加屬性,若所述子對象具有附加屬性,將所述父對象的對象屬性設(shè)置為其子對象的對象屬性并將所述子對象的附加屬性移除。以上步驟S403是在反序列化過程中進(jìn)行的,先對某一子對象進(jìn)行反序列化,然后對該子對象的父對象進(jìn)行反序列化,當(dāng)所述父對象經(jīng)過反序列化后,讀取所述父對象的對象屬性,當(dāng)所述父對象的對象屬性為空值時,確定所述子對象是否具有附加屬性,若具有, 則將所述父對象的對象屬性設(shè)置為其子對象的對象屬性。然后順次,以所述父對象為子對象,對與其存在級聯(lián)關(guān)系的上層父對象進(jìn)行判定屬性的判定過程。以上各步驟的詳細(xì)實現(xiàn)過程如圖7所示,具體為步驟S502 判斷父對象的對象屬性是否為空值;若是,執(zhí)行步驟S503 ;否則,執(zhí)行步驟S505 ;步驟S503 確定所述父對象的子對象是否具有附加屬性;若是,執(zhí)行步驟S504 ;否則,執(zhí)行步驟S505 ;步驟S504 將所述父對象的對象屬性設(shè)置為所述子對象的對象屬性并將所述子對象的對象屬性移除;步驟S505 對該父對象的下一經(jīng)過反序列化的父對象進(jìn)行判斷,直至所有父對象判斷完畢。需要說明的是步驟S505中,所述該父對象的下一經(jīng)過反序列化的父對象,即為當(dāng)前父對象在級聯(lián)關(guān)系中的相對父對象。針對以上圖6與圖7所述描述的方法,本申請實施例提供了反序列化過程中與圖 3所描述的方法相對的一具體實施方式
,如圖8所示步驟S512 調(diào)用反序列化過程;步驟S513 遍歷子對象;步驟S514 判斷所述遍歷是否完成,如果是,執(zhí)行步驟S518 ;否則,執(zhí)行步驟 S515 ;步驟S515 判斷子對象的附加屬性isChangeParent是否為true ;如果是,執(zhí)行步驟S516 ;否則,返回步驟S514 ;步驟S516 設(shè)置所述子對象的父對象的對象屬性為所述子對象的對象屬性;步驟S517 移除所述子對象的isChangeParent屬性,返回步驟S514 ;步驟S518 反序列化過程完成。針對以上方法實施例,本申請實施例提供的應(yīng)用RPC進(jìn)行對象傳輸?shù)慕邮斩搜b置結(jié)構(gòu)示意圖如圖9所示,包括接收單元601、反序列化單元602、讀取單元603、確定單元604和第二屬性設(shè)置單元 605 ;
接收單元601用于接收經(jīng)過序列化的父對象與子對象;反序列化單元602用于依次對所述接收單元601接收的子對象與父對象進(jìn)行反序列化讀取單元603用于在所述反序列化單元602在執(zhí)行反序列操作的過程中,讀取所述接收單元接收的父對象的對象屬性;確定單元604用于當(dāng)所述讀取單元603讀取的父對象的對象屬性為空值時,確定所述父對象的子對象是否具有附加屬性;第二屬性設(shè)置單元605用于當(dāng)所述確定單元604確定所述父對象的子對象具有附加屬性時,將所述父對象的對象屬性設(shè)置為所述子對象的對象屬性并將所述子對象的附加屬性移除。針對以上總體描述的方法及裝置,本申請實施例還提供了一種應(yīng)用RPC進(jìn)行對象傳輸?shù)南到y(tǒng),其結(jié)構(gòu)示意圖如圖10所示,包括發(fā)送端701和接收端702 ;所述發(fā)送端701包括對象確定單元、第一屬性設(shè)置單元、屬性分配單元、序列化單元和發(fā)送單元;所述對象確定單元用于確定傳輸對象中的父對象與子對象;所述第一屬性設(shè)置單元用于當(dāng)所述對象確定單元確定的父對象的對象屬性與其子對象的對象屬性相同時,將所述父對象的對象屬性設(shè)置為空值;所述屬性分配單元用于為經(jīng)過所述第一屬性設(shè)置單元進(jìn)行屬性設(shè)置的父對象的子對象分配附加屬性;所述附加屬性用于標(biāo)識所述父對象的初始對象屬性與所述子對象的對象屬性相同;所述序列化單元用于依次對所述對象確定單元確定的父對象與子對象進(jìn)行序列化;所述發(fā)送單元用于將經(jīng)過所述序列化單元序列化的父對象與子對象進(jìn)行發(fā)送。所述接收端702包括接收單元、反序列化單元、讀取單元、確定單元和第二屬性設(shè)置單元;所述接收單元用于接收經(jīng)過序列化的父對象與子對象;所述反序列化單元用于依次對所述接收單元接收的子對象與父對象進(jìn)行反序列化所述讀取單元用于在所述反序列化單元在執(zhí)行反序列操作的過程中,讀取所述接收單元接收的父對象的對象屬性;所述確定單元用于當(dāng)所述讀取單元讀取的父對象的對象屬性為空值時,確定所述父對象的子對象是否具有附加屬性;所述第二屬性設(shè)置單元用于當(dāng)所述確定單元確定所述父對象的子對象具有附加屬性時,將所述父對象的對象屬性設(shè)置為所述子對象的對象屬性并將所述子對象的附加屬性移除。應(yīng)用本申請實施例提供的對象傳輸方法、裝置及系統(tǒng),在序列化過程中不在序列化某些父對象的對象屬性,因此減少了序列化的數(shù)據(jù)量如下表所示
權(quán)利要求
1.一種應(yīng)用RPC進(jìn)行對象傳輸?shù)姆椒ǎ涮卣髟谟?,包?確定傳輸對象中的父對象與子對象;當(dāng)所述父對象的對象屬性與其子對象的對象屬性相同時,將所述父對象的對象屬性設(shè)置為空值;并為所述父對象的子對象分配附加屬性;所述附加屬性用于標(biāo)識所述父對象的初始對象屬性與所述子對象的對象屬性相同;依次對所述父對象與子對象進(jìn)行序列化,并對所述經(jīng)過序列化的父對象與子對象進(jìn)行發(fā)送。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,為所述子對象分配附加屬性的過程采用繼承子類方式或動態(tài)字節(jié)碼增強方式進(jìn)行分配。
3.一種應(yīng)用RPC進(jìn)行對象傳輸?shù)难b置,其特征在于,包括對象確定單元、第一屬性設(shè)置單元、屬性分配單元、序列化單元和發(fā)送單元; 所述對象確定單元用于確定傳輸對象中的父對象與子對象;所述第一屬性設(shè)置單元用于當(dāng)所述對象確定單元確定的父對象的對象屬性與其子對象的對象屬性相同時,將所述父對象的對象屬性設(shè)置為空值;所述屬性分配單元用于為經(jīng)過所述第一屬性設(shè)置單元進(jìn)行屬性設(shè)置的父對象的子對象分配附加屬性;所述附加屬性用于標(biāo)識所述父對象的初始對象屬性與所述子對象的對象屬性相同;所述序列化單元用于依次對所述對象確定單元確定的父對象與子對象進(jìn)行序列化; 所述發(fā)送單元用于將經(jīng)過所述序列化單元序列化的父對象與子對象進(jìn)行發(fā)送。
4.根據(jù)權(quán)利要求3所述的裝置,其特征在于,還包括選擇單元;所述選擇單元用于對所述屬性分配單元為所述子對象分配附加屬性的分配方式進(jìn)行選擇。
5.一種應(yīng)用RPC進(jìn)行對象傳輸?shù)姆椒?,其特征在于,包?接收經(jīng)過序列化的父對象與子對象;依次對所述子對象與所述父對象進(jìn)行反序列化;在反序列化過程中,讀取所述父對象的對象屬性;當(dāng)所述父對象的對象屬性為空值時, 確定所述父對象的子對象是否具有附加屬性,若所述子對象具有附加屬性,將所述父對象的對象屬性設(shè)置為其子對象的對象屬性并將所述子對象的附加屬性移除。
6.一種應(yīng)用RPC進(jìn)行對象傳輸?shù)难b置,其特征在于,包括接收單元、反序列化單元、讀取單元、確定單元和第二屬性設(shè)置單元; 所述接收單元用于接收經(jīng)過序列化的父對象與子對象;所述反序列化單元用于依次對所述接收單元接收的子對象與父對象進(jìn)行反序列化所述讀取單元用于在所述反序列化單元在執(zhí)行反序列操作的過程中,讀取所述接收單元接收的父對象的對象屬性;所述確定單元用于當(dāng)所述讀取單元讀取的父對象的對象屬性為空值時,確定所述父對象的子對象是否具有附加屬性;所述第二屬性設(shè)置單元用于當(dāng)所述確定單元確定所述父對象的子對象具有附加屬性時,將所述父對象的對象屬性設(shè)置為所述子對象的對象屬性并將所述子對象的附加屬性移除。
7. 一種應(yīng)用RPC進(jìn)行對象傳輸?shù)南到y(tǒng),其特征在于,包括發(fā)送端和接收端; 所述發(fā)送端為權(quán)利要求3 4所述的對象傳輸裝置; 所述接收端為權(quán)利要求6所述的對象傳輸裝置。
全文摘要
本申請公開了一種應(yīng)用RPC進(jìn)行對象傳輸?shù)姆椒?,包括確定傳輸對象中的父對象與子對象;當(dāng)所述父對象的對象屬性與其子對象的對象屬性相同時,將所述父對象的對象屬性設(shè)置為空值;并為所述父對象的子對象分配附加屬性;所述附加屬性用于標(biāo)識所述父對象的初始對象屬性與所述子對象的對象屬性相同;依次對所述父對象與子對象進(jìn)行序列化,并對所述經(jīng)過序列化的父對象與子對象進(jìn)行發(fā)送。本申請實施例提供的方法,在傳輸對象序列化時,將父對象的對象屬性與其子對象的對象屬性相同的父對象的對象屬性設(shè)置為空值,并在所述子對象的屬性信息中設(shè)置附加屬性對該空值操作進(jìn)行標(biāo)識;由此減少了在序列化過程中,采用RPC協(xié)議傳輸對象的數(shù)據(jù)量。
文檔編號G06F9/46GK102567083SQ20101058278
公開日2012年7月11日 申請日期2010年12月10日 優(yōu)先權(quán)日2010年12月10日
發(fā)明者周勇, 楊志橋 申請人:金蝶軟件(中國)有限公司