[發明專利]用于計算機通信中的懶惰數據序列化的方法和系統無效
| 申請號: | 201110180490.4 | 申請日: | 2011-06-30 |
| 公開(公告)號: | CN102314406A | 公開(公告)日: | 2012-01-11 |
| 發明(設計)人: | 休伯特斯.弗蘭克;道格拉斯.M.弗雷穆斯;戴維.P.奧爾謝夫斯基;約翰.M.特雷西;丹尼什.C.沃瑪;查爾斯.P.賴特 | 申請(專利權)人: | 國際商業機器公司 |
| 主分類號: | G06F13/42 | 分類號: | G06F13/42;H04L29/06 |
| 代理公司: | 北京市柳沈律師事務所 11105 | 代理人: | 邸萬奎 |
| 地址: | 美國紐*** | 國省代碼: | 美國;US |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 用于 計算機 通信 中的 懶惰 數據 序列 方法 系統 | ||
技術領域
本發明一般涉及一種用于計算機通信中的懶惰數據序列化(lazy?dataserialization)的方法和系統,更具體地涉及計算機通信和分布式計算系統的領域。
背景技術
在現代軟件開發的實踐中,使用各種層、抽象和模型來設計用于分布式計算環境的軟件。軟件的這些層在通信中導致非常低效。一個具體示例是計算機對象當需要在計算機網絡上傳送至另一計算機時的序列化。為了所有這樣的轉換,對象被轉換為網絡格式用于傳送。
圖1和2中示出了用于轉換計算機對象以在網絡上傳送的當前技術。圖1在流程圖100中示出了計算機采取的為了在計算機網絡上傳送對象的步驟。在計算機系統中執行程序的經過期間,在步驟101進入過程(procedure)。在步驟103中,過程獲取作為某些信息在計算機存儲器內的表示的對象,并將該對象轉換為規范格式。
該規范格式可以是:將所有元素翻譯為大端(big-endian)格式;根據某些定義的模式(schema)將對象翻譯為可擴展標記語言(XML)表示;或者將對象翻譯為被協定為交換的標準手段的二進制格式。在步驟105中,過程建立至外部計算機的網絡連接。可以向一個或多于一個的外部計算機建立網絡連接。在步驟107中,傳送對象。然后,發送過程在步驟109中結束。
作為示例,內部Java對象的許多當前綁定使用XML作為使用簡單對象訪問協議(SOAP)向遠程方通信的方式。為了轉換本地表示,它們可以定義新的轉換器。下面摘錄的代碼示出了可以用于將本地表示“LocalFormat”轉換為XML格式的軟件包的典型示例。轉換器工廠(converter?factory)用作用于查找用于指定的格式的恰當轉換器子例程的間接點,并且其是Java(和使用面向對象范型的其它語言)程序員通常使用的模式(pattern)。
上面的程序片段對應于圖1的步驟103。可以使用不同的實施方式和不同的類名稱。
在轉換為以字符串(String)格式的規范XML表示之后,將經轉換的信息發送至另一方。不同的軟件可用于此類型的傳送。可以通過使用Java中的套接字(socket)接口的傳輸,在Java中提供典型的示例。發送方將使用具有如下面所示的代碼片段的例程。對new?Socket(...)的調用對應于步驟105,而對Str.writeBytes(...)的調用對應于步驟107。
如果遠程地址正運行與本地服務器相同的環境,例如,具有相同的操作環境或中間件,則可能已經由更高效的序列化處理取代了向XML的轉換。然而,當啟動向XML的轉換的調用時,不存在對象將被傳送到哪個地址的指示。而且,不存在為了在網絡上傳送數據而正在進行轉換的指示。
可能已經完成了轉換,以便將對象存儲到文件中、打印出對象供人觀看、或者將對象存儲到數據庫中。因此,在當前技術中,這樣的優化是不可行的,因為當將對象轉換為規范格式時,既不知道轉換為規范格式的目的,也不知道規范格式的目的地。
圖2在流程圖200中示出了在當前技術中由接收計算機使用的步驟。在圖中201中進入過程,并且在步驟203中,接收計算機建立與發送計算機的連接。在不同的實施方式中,建立網絡連接的方法可不同。例如,一種方法可偵聽套接字,另一種方法可連接到套接字,同時其它方法可使用在套接字抽象之上構建的某些類。在步驟205中,從網絡連接接收對象。在步驟207中,將對象從規范格式轉換為本地格式,其中,以規范格式在網絡上傳送該對象。接著,過程在步驟209中結束,并且接收計算機可以執行對所接收的對象的進一步處理。
在許多情況下,例如,當應用正運行在使用管理程序的相同系統上時,或者當對象正被發送到運行相同硬件和軟件環境的機器時,可以避開這樣的轉換。然而,由于軟件棧的分層化,轉換例程不知道對象的目的地,且不能容易地避開這樣的轉換。
這種向網絡格式的轉換的一個示例是在使用因特網協議組(TCP/IP)網絡傳送格式的計算機通信中使用ntoh和hoton宏。宏hton用于轉換諸如整數、浮點數或字符的數據類型,以將其從主機格式轉換為網絡格式(大端格式-如果需要)。當本地主機是小端(Little?Endian)型時,宏用于向網絡格式轉換。然而,如果本地和遠程主機都是小端型,則兩端處的轉換均可消除。當數據正被格式化用于傳送時,在通信另一側的主機的種類(nature)是未知的,因此難以進行這樣的優化。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于國際商業機器公司,未經國際商業機器公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110180490.4/2.html,轉載請聲明來源鉆瓜專利網。





