專利名稱:Rap協(xié)議的實現(xiàn)方法
技術領域:
本發(fā)明涉及網(wǎng)絡通訊與保密技術領域,在網(wǎng)絡通訊中提供 一種方法保證應 用軟件的"計算邏輯"和"交互界面邏輯"分離。
背景技術:
隨著計算機的普及,電腦硬件的提升,目前商用應用軟件的功能越來越強 大,維護越來越復雜,占用磁盤空間越來越大,導致公司在維護軟件上要花費 大量的時間和費用,而且還不能保證應用軟件的工作正常。用戶在使用軟件時, 在使用用戶"交互界面邏輯"時,而又專人來維護應用的"計算邏輯"部分,如果把 交互和計算分離,統(tǒng)一維護"計算邏輯"部分,可以克服現(xiàn)有技術的不足,并保證 功能的實現(xiàn)。在保證用戶的安全性和使用的及時行的前提條件下,帶寬使用量 降到最低。
發(fā)明內(nèi)容
本發(fā)明的目的是提出一種通訊協(xié)議,來保證"計算邏輯"和"交互界面邏輯" 分離,保證數(shù)據(jù)傳輸?shù)陌踩WC用戶可以正常使用所有的系統(tǒng)外設。 基于上述目的,本發(fā)明實現(xiàn)過程如下
用戶可以在客戶端上看到程序使用界面并且進行操作,而程序的計算部分在 服務器上實現(xiàn),保證客戶端和服務器的操作同步,具體操作如下
A、 如果發(fā)現(xiàn)一個用戶登錄服務器,根據(jù)IP判斷該用戶是否已經(jīng)登錄在 服務器上,如果是新的用戶,為該用戶在服務器上開一個新的會話,如 果不是新用戶,該用戶轉到已經(jīng)開的會話中,減少服務器會話數(shù);
B、 客戶端用戶在使用交互界面邏輯的時候,RAP協(xié)議只把鼠標的移動的 坐標,動作碼,鍵盤的按鍵,發(fā)送到服務器;C、 服務器判斷圖像發(fā)生變化,并且變化不是因為鼠標的移動和鍵盤的輸 入引起的,獲取到當前運行的程序界面坐標,把坐標范圍內(nèi)的圖像發(fā)送 到客戶端,保證客戶端的無縫窗體顯示;
D、 外設端口進行映射,每個客戶端用戶都和服務器中的端口 一一映射, 保證用戶在客戶端使用外設的數(shù)據(jù)都可以及時傳輸?shù)椒掌鞯亩丝谏稀?br>
每一個應用程序都是由"計算邏輯"和"交互界面邏輯"構成的,通過以上的方 法,可以把"計算邏輯"和"交互界面邏輯"有效的分離開來,并將100%的計算邏 輯保留在服務器上運行,而將"交互界面邏輯"傳輸?shù)娇蛻舳?,完成與用戶交互,
這樣RAP協(xié)議就可以在10 20Kbps的窄帶上流暢完成應用程序的傳遞。因為用 戶只是使用交互界面邏輯,而計算邏輯都是在服務器上實施,因此還提高了用 戶數(shù)據(jù)的安全。
圖l為應用程序的界面邏輯與計算邏輯動態(tài)分離; 圖2為客戶端與服務器交互圖; 圖3為天翼系統(tǒng)計算機外設資源映射技術原理圖; 圖4為瑞友天翼系統(tǒng)遠程打印原理圖。
具體實施例方式
如圖l-4所示,更具體地,本發(fā)明的主要模塊工作原理和工作過程如下 1、 服務器在工作中,當發(fā)現(xiàn)系統(tǒng)重繪消息的時候(重繪消息分為,鼠標 重繪制,和圖形重繪制,如果是鼠標重繪,不截取圖形,立刻丟棄),立 刻通過虛擬顯卡截取,獲取到虛擬顯卡上的向量圖,計算出此刻應用程 序運行的界面位置,在向量圖上把該位置的圖形傳遞給客戶端。因為只 在圖形發(fā)生變化的時候才從顯卡上截取圖形,因此截取到的圖形一定是 發(fā)生變化的適量圖,也只有在發(fā)生變化的時候才進行數(shù)據(jù)傳輸;2、 當客戶端用戶使用鼠標的時候,如果鼠標發(fā)生移動,發(fā)生點擊,發(fā)生 雙擊,客戶端程序把鼠標移動的相對坐標,鼠標點擊的動作,發(fā)送給服
務器,發(fā)送格式是『x,y,action』,X, Y是鼠標相對位置,action =1的時 候是左鍵單擊,action=2的時候是左鍵雙擊,action=3的時候是右鍵單擊, action^4的時候是右鍵雙擊,action = 5的時候是鼠標中間鍵點擊的消息。 當服務器接收到該數(shù)據(jù)的時候,根據(jù)數(shù)據(jù)內(nèi)容移動鼠標和模擬鼠標相應 的操作,保證服務器可以正常相應客戶端的操作。
3、 客戶端外設資源映射技術是rap協(xié)議的關鍵技術之一,通過客戶 端外設資源映射技術,將客戶端外設在服務器上模擬,運行在服務器上 的應用程序可以非常方便的訪問到客戶端的外設資源,如遠程服務器上 運行的應用程序要讀寫COM/LTP,就自動讀寫到客戶端機器上的 COM/LTP口,類似的還有聲卡,磁盤,USB口,打印機,剪貼板等,保 障各種應用程序的正常使用。
實現(xiàn)方法RAP協(xié)議設計了 1024個虛擬通道,可以通過這些通道分別 來傳輸打印的數(shù)據(jù)、COM/LTP的讀寫數(shù)據(jù)等。
Const ChannelMAX = 1024;
Struct RF—Channel
Char *ChannelName Int ChannelID Char *Data char * ClientID} RF—Channel * Channel;
4、 RAP協(xié)議遠程打印技術遠程打印機技術是在集中式計算環(huán)境下必須面對的問題,和客戶端資源重定 向類似,客戶端操作的是遠程服務器上的應用程序,但是又需要打印到本地的
打印機上(尤其是ERP遠程用戶)。
從原理上,遠程服務器上運行的應用程序是無法尋找到客戶端所連接打印 機的,遠程打印要比其他客戶端外設資源映射更為復雜,因為打印機的型號千 差萬別,而且接口不一定統(tǒng)一,可能是計算機直連的,也可能是網(wǎng)絡打印機。 打印指令可能是PS指令集的,也可能是PCL指令集的。
Rap協(xié)議制定了統(tǒng)一的打印機指令集,分別支持PCL打印指令、PS打印指 令集、PDF打印指令集。當客戶端運行遠程服務器上的應用程序時,服務器自 動根據(jù)客戶端打印機的型號進行在服務器上創(chuàng)建一個虛擬的打印機,當遠程應 用程序向這個虛擬的打印機中輸出數(shù)據(jù)時,打印指令被傳輸?shù)娇蛻舳诉M行打印。
權利要求
1、一種遠程通訊RAP協(xié)議的實現(xiàn)方法,用戶可以在客戶端上看到程序使用界面并且進行操作,而程序的計算部分在服務器上實現(xiàn),保證客戶端和服務器的操作同步,具體操作如下A、如果發(fā)現(xiàn)一個用戶登錄服務器,根據(jù)IP判斷該用戶是否已經(jīng)登錄在服務器上,如果是新的用戶,為該用戶在服務器上開一個新的會話,如果不是新用戶,該用戶轉到已經(jīng)開的會話中,減少服務器會話數(shù);B、客戶端用戶使用交互界面邏輯的時候,RAP協(xié)議只把鼠標的移動的坐標,動作碼,鍵盤的按鍵發(fā)送到服務器;C、服務器判斷圖像發(fā)生變化,并且變化不是因為鼠標的移動和鍵盤的輸入引起的,獲取到當前運行的程序界面坐標,把坐標范圍內(nèi)的圖像發(fā)送到客戶端,保證客戶端的無縫窗體顯示;D、外設端口進行映射,每個客戶端用戶都和服務器中的端口一一映射,保證用戶在客戶端使用外設的數(shù)據(jù)都可以及時傳輸?shù)椒掌鞯亩丝谏稀?br>
2、 根據(jù)權利要求1所述遠程通訊RAP協(xié)議的實現(xiàn)方法,其特征在于當 客戶端用戶使用鼠標的時候,如果鼠標發(fā)生移動,發(fā)生點擊,發(fā)生雙擊,客戶 端程序把鼠標移動的相對坐標,鼠標點擊的動作,發(fā)送給服務器,發(fā)送格式是『x, y, action』,X, Y是鼠標相對位置,actional的時候是左鍵單擊,action=2 的時候是左鍵雙擊,action=3的時候是右鍵單擊,action=4的時候是右鍵雙擊, aCtion = 5的時候是鼠標中間鍵點擊的消息,當服務器接收到該數(shù)據(jù)的時候,根 據(jù)數(shù)據(jù)內(nèi)容移動鼠標和模擬鼠標相應的操作,保證服務器可以正常相應客戶端 的操作。
3、 根據(jù)權利要求1所述遠程通訊RAP協(xié)議的實現(xiàn)方法,其特征在于客戶端外設資源映射時,RAP協(xié)議在服務器和客戶端之間建立1024個通道進行外 設數(shù)據(jù)傳輸,通過客戶端外設資源映射技術,將客戶端外設在服務器上模擬, 運行在服務器上的應用程序可以非常方便的訪問到客戶端的外設資源。
全文摘要
本發(fā)明公開了一種遠程通訊RAP協(xié)議的實現(xiàn)方法,用戶可以在客戶端上看到程序使用界面并且進行操作,而程序的計算部分在服務器上實現(xiàn),保證客戶端和服務器的操作同步,具體操作如下A.通過虛擬顯卡截取來獲取到桌面圖像的變化,只有當桌面圖像發(fā)生變化的時候,才與客戶端進行通訊,把發(fā)生變化的部分發(fā)送到客戶端;B.在發(fā)送桌面變化圖像時,發(fā)現(xiàn)如果是因為鼠標的移動產(chǎn)生的,不發(fā)送圖像;C.客戶端把用戶鼠標移動的坐標和操作發(fā)送到服務器,服務器根據(jù)用戶的消息進行相應;D.客戶端外設資源映射時,RAP協(xié)議在服務器和客戶端之間建立1024個通道進行外設數(shù)據(jù)傳輸。
文檔編號H04L9/00GK101662358SQ20081015057
公開日2010年3月3日 申請日期2008年8月8日 優(yōu)先權日2008年8月8日
發(fā)明者陽 郗 申請人:西安瑞友信息技術資訊有限公司