摘要:從成本和技術因素角度出發,大型實木家具企業需要統一共享使用實木家具企業級專業軟件,由于下屬單位在地理上分布在不同的位置,使專業軟件的遠程交互應用變得困難,如何使本地用戶能夠無障礙地應用遠程的實木家具企業級軟件系統資源,是亟待解決的關鍵問題。該文從油田生產的實際出發,根據油田實木家具企業級勘探專業軟件的共享應用需求,分析了當前遠程交互技術的特點,設計了遠程交互組件,并與專業軟件共享系統進行了融合,可以實現實木家具企業級軟件系統的遠程應用。
關鍵詞:油田;勘探;專業軟件;遠程交互
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2014)14-3276-04
在大型專業軟件共享系統里,遠程交互組件是專業軟件遠程交互共享的核心技術和實現基礎,通過該技術,遠程用戶才能通過客戶端與服務端的大型專業軟件進行遠程交互應用。遠程交互組件的功能決定了遠程的用戶是否能夠以安全的方式訪問資源中心的各種軟硬件資源,并能夠獲取足夠的資源完成交互工作;組件性能的優劣,直接影響到遠程用戶使用共享專業軟件的效率以及是否能在最短的時間內完成既定的生產任務。
在大型的油田實木家具企業范圍內,隨著實木家具企業級勘探軟件的推廣和應用,終端用戶逐漸增多,對遠程交互組件的需求越來越大。但是系統目前使用的遠程交互組件是商業化的,不具備自主知識產權,該組件技術被國外實木家具企業壟斷,許可昂貴,限制了遠程應用的并發用戶數量,也限制了在其他領域應用的推廣,并且在進行系統融合開發中缺乏靈活性,無法及時根據油田生產應用進行修改、更新。
國際著名的石油實木家具公司都在不斷關注遠程交互技術的發展并付諸應用,例如斯倫貝謝通過Livequest交互系統實現了它們實木家具公司專業軟件的集中發布,遠程共享應用。蘭德馬克利用Citrix及Hummingbird搭建了自己的共享平臺,實現了LandMark專業軟件的遠程共享應用。
未來伴隨云計算技術的發展,軟件即服務(SaaS)模式將會在更廣泛業務領域被更多人認可,也將會有更多用戶通過遠程共享方式使用專業軟件進行日常生產工作,對遠程交互組件的需求必將越來越大,所以研究并掌握遠程交互技術的意義重大。
1 主要遠程傳輸協議及技術
主流的遠程傳輸協議包括 X11、RDP、NX、RFB等。
1.1 X11協議
X-Window是大多數UNIX&Linux操作平臺上的圖形用戶界面,是一種基于網絡的GUI系統,采用了客戶機/服務器的方式工作,服務器控制顯示屏幕,客戶為各種應用程序,客戶通過基于網絡的連接和服務器通信。[1]
1.2 RDP協議
RDP(Remote Desktop Protocol)是微軟沒有公開發表的數據傳輸協議,是客戶機/服務器之間的通信協議[2],可以使用戶在客戶端進行服務器端的圖形界面交互。在其它操作系統也有使用RDP協議的軟件,如Linux、FreeBSD、Mac OS X。
1.3 RFB協議
RFB(Remote Frame Buffer)為一種簡單的遠程圖形訪問協議,讓用戶以圖像的方式存取遠程圖形訪問協議,讓用戶以圖像的方式存取遠程計算桌面[3]。基于該協議的軟件工具非常多,有RealVnc、TurboVnc、TightVnc等。
1.4 NX技術
NX是NoMachine實木家具公司的數據傳輸協議。它壓縮了X11數據,只傳輸差異數據,通過zlib等算法進行數據壓縮,降低數據傳輸量并進行了數據緩沖。它支持大多數的操作系統,包括類UNIX操作系統以及Windows操作系統,在數據傳輸圖像的壓縮性能比較高,適應于局域網和廣域網的網絡環境,支持用戶的會話狀態。NX基于X11,同時還能兼容RFB 和RDP協議。
1.5 比較分析
NX是開放的技術,不僅能夠較好地應用在局域網,而且在廣域網、因特網也有不錯的應用效果,比較好進行數據壓縮,能夠進行遠程應用的獨立顯示,也可以兼容其它協議,是理想的基礎技術。
由于大型勘探專業軟件一般部署在Linux服務器上,客戶端大多數使用Windows操作系統,部分使用Linux操作系統,而且與大型專業共享系統相結合,要求必須支持遠程應用模式,因此通過綜合分析比較,采用開放的NX協議作為遠程組件的基礎協議。
2 遠程交互組件的開發及集成
通過對專業應用需求的環境進行分析,了解遠程交互組件在大型專業軟件共享系統中運行要求和運行方式,需要組件服務端在Redhat AS4.5以上版本的系統上運行,客戶端在Windows各版本及Linux上運行;要求有會話功能,并進行會話管理;在客戶端能夠通過瀏覽器下載配置文件,自動啟動客戶端界面,連接遠程服務器進行大型專業軟件的遠程交互。
2.1功能設計
功能架構分為交互客戶端、協議層和交互服務端,如圖1。
1)交互客戶端
控制器:控制客戶端會話等模塊的啟動、停止。
用戶登錄:提供用戶登錄界面,處理服務端的反饋消息。
配置管理:對客戶端進行參數配置,以及配置文件進行保存、讀取以及程序關聯啟動。
數據壓縮:對遠程應用和客戶端的數據進行壓縮和緩沖。利用緩存和差分編碼技術、圖像壓縮技術、zlib數據壓縮技術以及懶惰編碼等多種技術有效地減少遠程應用與服務器的通信次數與傳輸的數據量,使遠程應用可以流暢高效地運行。
消息處理:對鍵盤、鼠標等輸入設備的消息事件進行捕獲以及消息封裝;對從服務端傳來的消息進行分發處理。
會話管理:封裝了會話的全部過程,進行會話列表、啟動、暫停等。
網絡連接:封裝遠程網絡連接操作,包括從網絡連接中獲取輸入輸出流,從輸入流讀取信息和輸出流寫入信息等操作。
關鍵詞:油田;勘探;專業軟件;遠程交互
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2014)14-3276-04
在大型專業軟件共享系統里,遠程交互組件是專業軟件遠程交互共享的核心技術和實現基礎,通過該技術,遠程用戶才能通過客戶端與服務端的大型專業軟件進行遠程交互應用。遠程交互組件的功能決定了遠程的用戶是否能夠以安全的方式訪問資源中心的各種軟硬件資源,并能夠獲取足夠的資源完成交互工作;組件性能的優劣,直接影響到遠程用戶使用共享專業軟件的效率以及是否能在最短的時間內完成既定的生產任務。
在大型的油田實木家具企業范圍內,隨著實木家具企業級勘探軟件的推廣和應用,終端用戶逐漸增多,對遠程交互組件的需求越來越大。但是系統目前使用的遠程交互組件是商業化的,不具備自主知識產權,該組件技術被國外實木家具企業壟斷,許可昂貴,限制了遠程應用的并發用戶數量,也限制了在其他領域應用的推廣,并且在進行系統融合開發中缺乏靈活性,無法及時根據油田生產應用進行修改、更新。
國際著名的石油實木家具公司都在不斷關注遠程交互技術的發展并付諸應用,例如斯倫貝謝通過Livequest交互系統實現了它們實木家具公司專業軟件的集中發布,遠程共享應用。蘭德馬克利用Citrix及Hummingbird搭建了自己的共享平臺,實現了LandMark專業軟件的遠程共享應用。
未來伴隨云計算技術的發展,軟件即服務(SaaS)模式將會在更廣泛業務領域被更多人認可,也將會有更多用戶通過遠程共享方式使用專業軟件進行日常生產工作,對遠程交互組件的需求必將越來越大,所以研究并掌握遠程交互技術的意義重大。
1 主要遠程傳輸協議及技術
主流的遠程傳輸協議包括 X11、RDP、NX、RFB等。
1.1 X11協議
X-Window是大多數UNIX&Linux操作平臺上的圖形用戶界面,是一種基于網絡的GUI系統,采用了客戶機/服務器的方式工作,服務器控制顯示屏幕,客戶為各種應用程序,客戶通過基于網絡的連接和服務器通信。[1]
1.2 RDP協議
RDP(Remote Desktop Protocol)是微軟沒有公開發表的數據傳輸協議,是客戶機/服務器之間的通信協議[2],可以使用戶在客戶端進行服務器端的圖形界面交互。在其它操作系統也有使用RDP協議的軟件,如Linux、FreeBSD、Mac OS X。
1.3 RFB協議
RFB(Remote Frame Buffer)為一種簡單的遠程圖形訪問協議,讓用戶以圖像的方式存取遠程圖形訪問協議,讓用戶以圖像的方式存取遠程計算桌面[3]。基于該協議的軟件工具非常多,有RealVnc、TurboVnc、TightVnc等。
1.4 NX技術
NX是NoMachine實木家具公司的數據傳輸協議。它壓縮了X11數據,只傳輸差異數據,通過zlib等算法進行數據壓縮,降低數據傳輸量并進行了數據緩沖。它支持大多數的操作系統,包括類UNIX操作系統以及Windows操作系統,在數據傳輸圖像的壓縮性能比較高,適應于局域網和廣域網的網絡環境,支持用戶的會話狀態。NX基于X11,同時還能兼容RFB 和RDP協議。
1.5 比較分析
NX是開放的技術,不僅能夠較好地應用在局域網,而且在廣域網、因特網也有不錯的應用效果,比較好進行數據壓縮,能夠進行遠程應用的獨立顯示,也可以兼容其它協議,是理想的基礎技術。
由于大型勘探專業軟件一般部署在Linux服務器上,客戶端大多數使用Windows操作系統,部分使用Linux操作系統,而且與大型專業共享系統相結合,要求必須支持遠程應用模式,因此通過綜合分析比較,采用開放的NX協議作為遠程組件的基礎協議。
2 遠程交互組件的開發及集成
通過對專業應用需求的環境進行分析,了解遠程交互組件在大型專業軟件共享系統中運行要求和運行方式,需要組件服務端在Redhat AS4.5以上版本的系統上運行,客戶端在Windows各版本及Linux上運行;要求有會話功能,并進行會話管理;在客戶端能夠通過瀏覽器下載配置文件,自動啟動客戶端界面,連接遠程服務器進行大型專業軟件的遠程交互。
2.1功能設計
功能架構分為交互客戶端、協議層和交互服務端,如圖1。
1)交互客戶端
控制器:控制客戶端會話等模塊的啟動、停止。
用戶登錄:提供用戶登錄界面,處理服務端的反饋消息。
配置管理:對客戶端進行參數配置,以及配置文件進行保存、讀取以及程序關聯啟動。
數據壓縮:對遠程應用和客戶端的數據進行壓縮和緩沖。利用緩存和差分編碼技術、圖像壓縮技術、zlib數據壓縮技術以及懶惰編碼等多種技術有效地減少遠程應用與服務器的通信次數與傳輸的數據量,使遠程應用可以流暢高效地運行。
消息處理:對鍵盤、鼠標等輸入設備的消息事件進行捕獲以及消息封裝;對從服務端傳來的消息進行分發處理。
會話管理:封裝了會話的全部過程,進行會話列表、啟動、暫停等。
網絡連接:封裝遠程網絡連接操作,包括從網絡連接中獲取輸入輸出流,從輸入流讀取信息和輸出流寫入信息等操作。