新四季網

遠端程序的調用裝置和調用方法

2023-05-23 13:18:26 1

專利名稱:遠端程序的調用裝置和調用方法
技術領域:
本發明涉及計算機技術領域,具體而言,涉及遠端程序的調用裝置和調用方法。
背景技術:
隨著計算機網絡的發展和普及,越來越多的計算機信息系統依賴網絡作為基本的運行條件,大部分的系統都採用了廣義的C/S (Client/Server,客戶機/伺服器)模型。即使被稱為B/S結構(Browser/Server,瀏覽器/伺服器)的模型,實質上也是利用網頁瀏覽器(Web Browser)當作一個通用的客戶機。基於這種計算模型,運行在一臺機器上的程序必然要調用運行在另外一臺計算機上的子程序,這個過程被稱為遠程調用。相比於同一臺計算機上兩個程序的相互調用,遠程調用的時間開銷要大很多,往往相差在三個數量級以上,甚至更多。因此降低遠程調用的時間開銷是提高這類系統的效率的關鍵。遠程調用的時間開銷,即從調用發起開始到獲取到返回值所花費的時間,等於被調用程序運行所花的時間再加上數據在兩臺計算機之間傳遞所花費的時間。一般來說程序運行時間較難減少,數據傳輸所花費的時間可以通過壓縮算法等手段降低實際通過網絡傳輸的數據量來減少。但是,數據傳輸的時間開銷中有一部分基本是固定不變,無法減少的,那就是網絡通訊協議所導致的開銷。簡單地說,為了進行遠程調用,兩個計算機需要建立「連接」,而建立連接也是需要時間的。對於一些運行時間短,傳輸數據量的小的遠程調用,建立連接所佔用的時間要佔整個時間花銷的較大比例。另外還具有通信時延,即數據包在通信的兩端之間往返也需要佔用一定的時間,這在廣域網及衛星網尤為明顯。對於單獨的一次遠程調用來說,建立連接的時間及網絡時延是無法避免的。但是實際的程序中,為了完成一個相對獨立的功能,程序需要進行多次遠程調用。針對這種情況一般的處理辦法是把多次遠程調用進行合併。舉例來說明其原理,假設為了完成某項功能需要調用遠程計算機上的A、B、C三個程序。可以另外編寫一個運行在遠程計算機上的程序M,在程序M中分別調用A、B、C,並將三次調用的結果一併作為程序M的返回值。當然,程序M的參數需要是程序A、B、C的參數的併集。在客戶端,不再分別進行三次遠程調用,而是改成調用程序M,這樣就將多次遠程調用減少為一次。這種方法最大的缺點就是成本很高。第一,需要增加一個程序M,這本身就需要增加額外的開發和維護的成本。第二,當需求發生變化時,比如說除了 A、B、C之外,還需要調用程序D,那麼就需要對程序M進行修改,讓M也調用程序D。或者有更壞的情況,M又被其他的程序調用了,為了保證兼容性,可能就無法對M進行修改,這種情況下又必須增加一個程序N,來實現對這四個程序進行合併調用。第三,M的適用性較窄。假設有另外一個程序需要掉用程序A、B、D來實現其需求,
4這種情況下M也是沒有用處的,需要另外再編寫一個程序K來實現對A、B、D的合併調用。 當這種組合的可能很多時,為每種可能編寫合併調用程序的成本是不可想像的。因此在實際的系統中,由於成本的考慮,只能對少數的情況採用合併調用的方式進行優化。如前所述,目前對遠程調用合併的方式就是對每個出現多次遠程調用的場合,分表編寫一個程序來合併多次的遠程調用。這種方法主要缺陷就是開發成本較高,而成本高的原因就是,每種遠程調用的組合都需要一個寫專門的程序來做合併遠程調用,當軟體的需求發生變化時,就可能導致要修改合併調用的程序,或者是增加新的合併調用程序。因此,需要一種新的遠程調用方案,實現應用程式可以根據需要合併其遠程調用, 而不用另外編寫遠程調用合併的程序,提高遠程調用的效率。

發明內容
本發明要解決的技術問題在於提供一種新的遠程調用方案,以實現應用程式可以根據需要合併其遠程調用,而不用另外編寫遠程調用合併的程序,提高遠程調用的效率。有鑑於此,本發明提出了一種遠端程序的調用裝置,包括客戶端和伺服器端,其中,所述客戶端包括註冊單元,分別對多個需要進行調用的遠端程序進行註冊;請求生成單元,在所有需要進行調用的遠端程序完成所述註冊後,生成對應於所有的所述遠端程序的調用請求;請求發送單元,將所述請求生成單元生成的所述調用請求發送至所述伺服器端;以及所述伺服器端包括請求接收單元,接收來自所述客戶端的所述調用請求;解析單元,對所述請求接收單元接收到的調用請求進行解析;執行單元,根據所述解析單元的解析結果,調用對應的目標程序,並獲取對應於每個所述目標程序的返回結果;結果返回單元, 將所述執行單元獲取的所有的所述返回結果返回至所述客戶端。在該技術方案中,通過對需要進行同時調用的遠端程序進行註冊後,發送包含這些遠端程序的信息的請求,伺服器端可以根據該請求,對這些遠端程序在同一次調用過程中進行調用,從而大大地減少調用過程所消耗的時間。在上述技術方案中,優選地,所述客戶端還包括詢問單元,查詢是否已得到本次調用的返回結果,若不存在,則向所述請求生成單元發送生成命令。在該技術方案中,由於需要進行合併調用時,需要對所有需要進行調用的遠端程序進行註冊,而為了了解到是否已經完成了最後一個遠端程序的註冊,從而進行調用請求的發送,可以進行推遲調用的策略,即當發生對調用結果的查詢時,表明已經完成註冊,已經開始等待調用結果,則此時生成並發送調用請求。在上述技術方案中,優選地,所述客戶端還包括標識生成單元,為每個所述遠端程序生成對應的標識;以及結果辨識單元,根據所述標識生成單元生成的所述標識,分別獲取對應於每個所述遠端程序的返回結果。在該技術方案中,每次進行註冊後,生成一個對應於需要進行調用的遠端程序的標識,則在進行合併調用完成後,對於返回的多個調用結果, 可以通過之前生成的標識進行辨別,準確地將每個調用結果分配至對應的程序。在上述技術方案中,優選地,所述伺服器端還包括封裝單元,將所有的所述返回結果按照預設格式封裝成數據包;以及所述結果返回單元將所述數據包返回至所述客戶端。
5
在上述技術方案中,優選地,所述伺服器端還包括查錯單元,檢查所述遠端程序在執行時是否出現錯誤;以及在出現錯誤時,所述封裝單元將對應生成的異常結果與正常的結果進行所述封裝後,由所述結果返回單元返回至所述客戶端。在該技術方案中,將出現的錯誤進行記錄並返回,可以防止因為一個程序的異常而影響到其它程序的執行或因為一個程序的異常而影響到已經執行出結果的返回,同時,也可以作為一種特殊的結果,使得在返回該結果後,用戶可以及時了解到調用的情況。根據本發明的又一方面,還提供了一種遠端程序的調用方法,包括步驟202,客戶端分別對多個需要進行調用的遠端程序進行註冊;步驟204,在所有需要進行調用的遠端程序完成所述註冊後,生成對應於所有的所述遠端程序的調用請求,並發送至伺服器端; 步驟206,所述伺服器端解析所述調用請求,調用對應的目標程序,並獲取對應於每個所述目標程序的返回結果;步驟208,所述伺服器端將所有的所述返回結果發送至所述客戶端。在該技術方案中,通過對需要進行同時調用的遠端程序進行註冊後,發送包含這些遠端程序的信息的請求,伺服器端可以根據該請求,對這些遠端程序在同一次調用過程中進行調用,從而大大地減少調用過程所消耗的時間。在上述技術方案中,優選地,在所述步驟204中,還包括查詢是否已得到本次調用的返回結果,若不存在,則生成所述調用請求,並發送至所述伺服器端。在該技術方案中, 由於需要進行合併調用時,需要對所有需要進行調用的遠端程序進行註冊,而為了了解到是否已經完成了最後一個遠端程序的註冊,從而進行調用請求的發送,可以進行推遲調用的策略,即當發生對調用結果的查詢時,表明已經完成註冊,已經開始等待調用結果,則此時生成並發送調用請求。在上述技術方案中,優選地,在所述步驟202中,還包括為每個所述遠端程序生成對應的標識;以及在所述步驟208中,還包括由所述客戶端根據所述標識獲取對應於每個所述遠端程序的返回結果。在該技術方案中,每次進行註冊後,生成一個對應於需要進行調用的遠端程序的標識,則在進行合併調用完成後,對於返回的多個調用結果,可以通過之前生成的標識進行辨別,準確地將每個調用結果分配至對應的程序。在上述技術方案中,優選地,在所述步驟208中,還包括所述伺服器端將所有的所述返回結果按照預設格式封裝成數據包後,返回至所述客戶端。在上述技術方案中,優選地,還包括若所述遠端程序在執行時出現錯誤,則生成異常結果;以及將所述異常結果與正常的結果進行所述封裝後,發送至所述客戶端。在該技術方案中,將出現的錯誤進行記錄並返回,可以防止因為一個程序的異常而影響到其它程序的執行或因為一個程序的異常而影響到已經執行出結果的返回,同時,也可以作為一種特殊的結果,使得在返回該結果後,用戶可以及時了解到調用的情況。綜上所述,通過本發明的技術方案,實現了在調用需求發生變化時,應用程式可以根據需要合併其遠程調用,而不用另外編寫遠程調用合併的程序,只需要修改客戶端應用程式所生成的標識,而無需調整伺服器端,可以很容易地增加或刪除需要合併的遠程調用, 大大地提高了遠程調用的效率,降低了開發的成本;客戶端應用程式可以按需合併多個遠程調用,降低網絡傳輸時間,提高軟體的響應速度,改善用戶體驗;而且可以讓客戶端更靈活地實現對多個遠程調用的合併,開發成本更低。


圖1是根據本發明的實施例的遠端程序的調用裝置的框圖;圖2是根據本發明的實施例的遠端程序的調用方法的流程圖;圖3是根據本發明的實施例的客戶端應用程式通過註冊單元調用後臺服務的過程的示意圖;圖4是根據本發明的實施例的推遲調用的流程圖;圖5是根據本發明的實施例的執行單元的執行流程圖;圖6是根據本發明的實施例的客戶端展現界面的過程的流程圖;圖7是根據本發明的實施例的客戶端展現界面過程中系統之間的交互過程示意圖。
具體實施例方式為了能夠更清楚地理解本發明的上述目的、特徵和優點,下面結合附圖和具體實施方式
對本發明進行進一步的詳細描述。在下面的描述中闡述了很多具體細節以便於充分理解本發明,但是,本發明還可以採用其他不同於在此描述的其他方式來實施,因此,本發明並不限於下面公開的具體實施例的限制。圖1是根據本發明一個實施例的遠端程序的調用裝置的框圖。本發明提出了一種遠端程序的調用裝置100,如圖1所示,包括客戶端102和伺服器端104,其中,客戶端102包括註冊單元102A,分別對多個需要進行調用的遠端程序進行註冊;請求生成單元102B,在所有需要進行調用的遠端程序完成註冊後,生成對應於所有的遠端程序的調用請求;請求發送單元102C,將請求生成單元102B生成的調用請求發送至伺服器端104 ;以及伺服器端104包括請求接收單元104A,接收來自客戶端102的調用請求;解析單元104B,對請求接收單元104A接收到的調用請求進行解析;執行單元104C, 根據解析單元104B的解析結果,調用對應的目標程序,並獲取對應於每個目標程序的返回結果;結果返回單元104D,將執行單元104C獲取的所有的返回結果返回至客戶端102。在該技術方案中,通過對需要進行同時調用的遠端程序進行註冊後,發送包含這些遠端程序的信息的請求,伺服器端104可以根據該請求,對這些遠端程序在同一次調用過程中進行調用,從而大大地減少調用過程所消耗的時間。在上述技術方案中,客戶端102還包括詢問單元102D,查詢是否已得到本次調用的返回結果,若不存在,則向請求生成單元102B發送生成命令。在該技術方案中,由於需要進行合併調用時,需要對所有需要進行調用的遠端程序進行註冊,而為了了解到是否已經完成了最後一個遠端程序的註冊,從而進行調用請求的發送,可以進行推遲調用的策略,即當發生對調用結果的查詢時,表明已經完成註冊,已經開始等待調用結果,則此時生成並發送調用請求。在上述技術方案中,客戶端102還包括標識生成單元102E,為每個遠端程序生成對應的標識;以及結果辨識單元102F,根據標識生成單元102E生成的標識,分別獲取對應於每個遠端程序的返回結果。在該技術方案中,每次進行註冊後,生成一個對應於需要進行調用的遠端程序的標識,則在進行合併調用完成後,對於返回的多個調用結果,可以通過之前生成的標識進行辨別,準確地將每個調用結果分配至對應的程序。在上述技術方案中,伺服器端104還包括封裝單元104E,將所有的返回結果按照預設格式封裝成數據包;以及結果返回單元104D將數據包返回至客戶端102。在上述技術方案中,伺服器端104還包括查錯單元104F,檢查遠端程序在執行時是否出現錯誤;以及在出現錯誤時,封裝單元104E將對應生成的異常結果與正常的結果進行封裝後,由結果返回單元104D返回至客戶端102。在該技術方案中,將出現的錯誤進行記錄並返回,可以防止因為一個程序的異常而影響到其它程序的執行或因為一個程序的異常而影響到已經執行出結果的返回,同時,也可以作為一種特殊的結果,使得在返回該結果後,用戶可以及時了解到調用的情況。圖2是根據本發明一個實施例的遠端程序的調用方法的流程圖本發明還提供了一種遠端程序的調用方法,如圖2所示,包括步驟202,客戶端分別對多個需要進行調用的遠端程序進行註冊;步驟204,在所有需要進行調用的遠端程序完成註冊後,生成對應於所有的遠端程序的調用請求,並發送至伺服器端;步驟206,伺服器端解析調用請求,調用對應的目標程序,並獲取對應於每個目標程序的返回結果;步驟 208,伺服器端將所有的返回結果發送至客戶端。在該技術方案中,通過對需要進行同時調用的遠端程序進行註冊後,發送包含這些遠端程序的信息的請求,伺服器端可以根據該請求,對這些遠端程序在同一次調用過程中進行調用,從而大大地減少調用過程所消耗的時間。在上述技術方案中,在步驟204中,還包括查詢是否已得到本次調用的返回結果,若不存在,則生成調用請求,並發送至伺服器端。在該技術方案中,由於需要進行合併調用時,需要對所有需要進行調用的遠端程序進行註冊,而為了了解到是否已經完成了最後一個遠端程序的註冊,從而進行調用請求的發送,可以進行推遲調用的策略,即當發生對調用結果的查詢時,表明已經完成註冊,已經開始等待調用結果,則此時生成並發送調用請求。在上述技術方案中,在步驟202中,還包括為每個遠端程序生成對應的標識;以及在步驟208中,還包括由客戶端根據標識獲取對應於每個遠端程序的返回結果。在該技術方案中,每次進行註冊後,生成一個對應於需要進行調用的遠端程序的標識,則在進行合併調用完成後,對於返回的多個調用結果,可以通過之前生成的標識進行辨別,準確地將每個調用結果分配至對應的程序。在上述技術方案中,在步驟208中,還包括伺服器端將所有的返回結果按照預設格式封裝成數據包後,返回至客戶端。在上述技術方案中,還包括若遠端程序在執行時出現錯誤,則生成異常結果;以及將異常結果與正常的結果進行封裝後,發送至客戶端。在該技術方案中,將出現的錯誤進行記錄並返回,可以防止因為一個程序的異常而影響到其它程序的執行或因為一個程序的異常而影響到已經執行出結果的返回,同時,也可以作為一種特殊的結果,使得在返回該結果後,用戶可以及時了解到調用的情況。圖3是根據本發明的一個實施例的客戶端應用程式通過註冊單元調用後臺服務的過程的示意圖。如圖3所示,遠端程序的調用裝置從結構上分成兩個部分,一個是運行在伺服器
8端的執行單元P(對應於圖1中的伺服器104),另一個是運行在客戶端的註冊單元R(對應於圖1中的客戶端102)。註冊單元R主要功能是收集客戶端程序的多個遠程調用的信息, 並且通過調用執行單元P來執行並獲取遠程調用的結果。執行單元P的主要功能是接收並解析註冊單元R傳遞過來的遠程調用信息,逐個執行所請求的遠程調用,並把結果返回給 R0這裡描述了客戶端應用程式通過註冊單元R調用後臺服務的過程。客戶端應用程式App把需要執行的遠程調用請求提交給註冊單元R,然後R通過網絡和執行單元P進行通信,再由P在伺服器調用App所請求的程序,Si,S2等等。以下分別介紹註冊單元R和執行單元P的具體設計。一、註冊單元R,主要提供三項功能。1.註冊調用信息對一個遠程程序的調用,可以用描述為一個二元組C = (S,A)。其中S表示需要調用的程序,A表示調用S所需要的參數集合。註冊單元R提供一個函數register,供客戶端應用程式註冊調用信息,其定義如下Token register(C c)register函數接受前述二元組C為參數,並返回一個令牌Token,供後續獲取調用結果使用。Register函數可以被調用多次,每次註冊一個遠程調用的信息。2.提交調用請求註冊單元R提供一個commit函數,把通過register函數收集的遠程調用信息提交給伺服器端的執行單元P,並接受P回傳的返回值。返回值會被保存下來,供客戶端應用程式來獲取。為了達到合併調用的效果,commit顯然必須在所有的register調用完之後執行。 但是客戶端應用程式對register的調用有可能會很分散,且其順序可能會調整,因此由客戶端應用程式決定何時調用commit有時是不可行的。為了解決commit調用時機的問題,可以採用推遲調用的策略,即客戶端應用不需要主動調用commit,而是當其在獲取第一個調用結果時由註冊程序R來調用commit函數。 其具體調用流程如圖4所示步驟402,客戶端應用程式調用getResult (token)獲取結果。步驟404,判斷是否是第一次調用getResult,如果是則轉至步驟406 ;如果不是, 則轉至步驟408。步驟406,調用commit並保存返回值。步驟408,根據token取到對應的返回值。3.獲取調用結果如前所述調用commit函數後,能從伺服器獲取到調用的返回值,該返回值是通過register函數所註冊的多個遠程調用對應的返回值的集合。註冊單元R提供一個 getResult函數來獲取各個遠程調用的返回值。其定義如下Result getResult(Token t)其中Token即為前述的令牌。
9
把調用register時所得到令牌作為參數調用getReuslt即可以得到對應的返回值。返回類型Result是對遠程調用結果的一個封裝。對於有異常機制的程式語言,比如 C++或者Java,遠端程序調用可能會產生異常,因此異常也要作為一種特殊的返回值封裝在Result類型中。以Java描述Result的定義如下
class Result {
public Object return Value; public Throwable exception;
}客戶端獲取到Result之後,首先檢查Result, exception是否存在,如果存在則說明這次遠程調用失敗了,在後臺捕獲到了異常,客戶端應用程式需要進入異常處理邏輯。若不存在,則直接獲取returnValue,執行正常邏輯。作為一種優化方案,也可以把getResult函數定義為(以Java語言為例):Object getResult(Token t)throws Throwable即由註冊程序R來檢查遠程調用是否成功,客戶端應用程式只需要正常獲取結果並處理可能出現的異常。二、執行單元P主要功能分為三項。1.解析調用信息執行單元P接受到註冊單元R提交的遠程調用信息,即一系列的二元組C (S,A)。 每一個二元組都對應著對伺服器上一個程序的調用請求。執行單元P需要解析這些二元組,確定需要調用的程序,以及對應的參數。2.執行調用在解析完調用信息之後,執行單元P將逐個執行被請求調用的程序。由於被執行的程序有可能出現錯誤,比如程序拋出了異常。執行程序P需要保證a.不會因為其中一個程序出現異常,而停止執行之後的程序;b.不會因為其中的一個程序出現異常,而影響到之前已經執行的程序的結果。3.封裝調用結果執行單元P需要將每個程序的執行結果封裝起來。不論程序是正常執行,返回了返回值,還是執行出現異常,執行單元P都需要將程序的返回值或者異常,記錄到前述的 Result數據結構中。然後將多個程序的調用結果,打包成一個Result的集合,返回給客戶端。圖5是根據本發明一個實施例的執行單元P的執行流程圖。如圖5所示,執行單元P的執行流程如下步驟502,取出一個待處理的調用信息C(S,A)。步驟504,解析調用信息,確定要執行的程序及參數。步驟506,執行程序。步驟508,判斷程序是否正常執行,如果是,則轉至步驟510 ;如果不是,則轉至步驟 514。
步驟510,記錄返回值到調用結果。步驟512,把調用結果記錄到調用結果集。步驟514,記錄異常信息到調用結果。步驟516,判斷是否還有未處理的調用信息,如果有則轉至步驟502 ;如果沒有,則轉至步驟518。步驟518,返回調用結果集合到客戶端。下面是上述遠端程序的調用裝置的應用舉例。目前很多企業採用一些管理信息系統來實現其企業的運行管理。由於各種企業的組織架構、管理模式差別很大,產品化的管理信息系統一般在設計時考慮了很多不同的情況,在軟體裡有設計了很多可以調整、配置的參數。這些管理軟體在企業安裝部署之後,需要一個「實施」過程。其主要的工作包括調整軟體一些參數設置,以符合企業的需要。這些軟體中一般有一個被稱為「個性化」的子系統來讓用戶能夠調整軟體的設置。這些調整中很重要的一項就是,調整軟體的界面。簡單一些的包括調整界面上的圖標,有些企業希望軟體上能顯示自己公司的標識,因此需要替換產品中原有的圖標。複雜一些的包括調整軟體界面上的一些元素,比如調整錄入項目的順序,隱藏一些企業不會使用的錄入項目。這些調整工作不會修改軟體的代碼,而是作為數據記錄下來,一般是保存在後臺的資料庫中。另外,企業對使用軟體不同的操作者要求有不同的權限控制。經理崗位能操作的一些功能,業務員可能就不能操作。管理軟體都有「權限管理」子系統來為不同的操作者設置其能夠使用的功能。權限設置也會影響到界面,對於某個操作員無權使用的菜單、按鈕或者是某個子界面,在該操作員使用時不能被顯示出來。綜合上述兩個方面的情況,當一個操作員在使用管理軟體時,管理軟體的客戶端至少需要兩類信息才能正確地展示界面,分別為界面個性化信息和權限信息。也意味著, 客戶端界面展示子系統需要分別與後臺的個性化子系統以及權限管理子系統通信,也就是需要執行兩次遠程調用。當運行在時延比較高的網絡上時,多次的遠程調用會顯著地提高軟體的響應時間,用戶會感覺程序反應遲鈍。如果應用本發明中提出的裝置和方法,可以把兩次的遠程調用合併成一次,從而在一定程度上降低軟體的響應時間,改善用戶的使用體驗。圖6是根據本發明一個實施例的客戶端展現界面的過程的流程圖。改進後的客戶端展現界面的過程基本可以分為以下幾個步驟步驟602,調用註冊單元R登記對個性化系統的調用請求,記錄返回的Token為 tl。步驟604,調用註冊單元R登記對權限系統的調用請求,記錄返回的Token為t2。步驟606,以tl為參數調用註冊單元R的getResult函數,獲取界面的個性化信
肩、ο步驟608,以t2為參數調用註冊單元R的getResult函數,獲取當前操作員的權限
fn息ο步驟610,根據步驟606和608得到信息展現界面。客戶端展示界面的過程,涉及到界面展示子系統,註冊單元R,執行單元P,個性化子系統,權限子系統。在以上步驟中,系統之間的交互過程示意圖如圖7所示。以上結合附圖詳細說明了本發明的技術方案,綜上所述,實現了在調用需求發生變化時,應用程式可以根據需要合併其遠程調用,而不用另外編寫遠程調用合併的程序,只需要修改客戶端應用程式所生成的標識,而無需調整伺服器端,可以很容易地增加或刪除需要合併的遠程調用,大大地提高了遠程調用的效率,降低了開發的成本;客戶端應用程式可以按需合併多個遠程調用,降低網絡傳輸時間,提高軟體的響應速度,改善用戶體驗;而且可以讓客戶端更靈活地實現對多個遠程調用的合併,開發成本更低。以上所述僅為本發明的優選實施例而已,並不用於限制本發明,對於本領域的技術人員來說,本發明可以有各種更改和變化。凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護範圍之內。
權利要求
1.一種遠端程序的調用裝置,其特徵在於,包括 客戶端和伺服器端,其中,所述客戶端包括註冊單元,分別對多個需要進行調用的遠端程序進行註冊;請求生成單元,在所有需要進行調用的遠端程序完成所述註冊後,生成對應於所有的所述遠端程序的調用請求;請求發送單元,將所述請求生成單元生成的所述調用請求發送至所述伺服器端;以及所述伺服器端包括請求接收單元,接收來自所述客戶端的所述調用請求; 解析單元,對所述請求接收單元接收到的調用請求進行解析; 執行單元,根據所述解析單元的解析結果,調用對應的目標程序,並獲取對應於每個所述目標程序的返回結果;結果返回單元,將所述執行單元獲取的所有的所述返回結果返回至所述客戶端。
2.根據權利要求1所述的遠端程序的調用裝置,其特徵在於,所述客戶端還包括 詢問單元,查詢是否已得到本次調用的返回結果,若不存在,則向所述請求生成單元發送生成命令。
3.根據權利要求1所述的遠端程序的調用裝置,其特徵在於,所述客戶端還包括 標識生成單元,為每個所述遠端程序生成對應的標識;以及結果辨識單元,根據所述標識生成單元生成的所述標識,分別獲取對應於每個所述遠端程序的返回結果。
4.根據權利要求1至3中任一項所述的遠端程序的調用裝置,其特徵在於,所述伺服器端還包括封裝單元,將所有的所述返回結果按照預設格式封裝成數據包;以及所述結果返回單元將所述數據包返回至所述客戶端。
5.根據權利要求4所述的遠端程序的調用裝置,其特徵在於,所述伺服器端還包括 查錯單元,檢查所述遠端程序在執行時是否出現錯誤;以及在出現錯誤時,所述封裝單元將對應生成的異常結果與正常的結果進行所述封裝後, 由所述結果返回單元返回至所述客戶端。
6.一種遠端程序的調用方法,其特徵在於,包括步驟202,客戶端分別對多個需要進行調用的遠端程序進行註冊; 步驟204,在所有需要進行調用的遠端程序完成所述註冊後,生成對應於所有的所述遠端程序的調用請求,並發送至伺服器端;步驟206,所述伺服器端解析所述調用請求,調用對應的目標程序,並獲取對應於每個所述目標程序的返回結果;步驟208,所述伺服器端將所有的所述返回結果發送至所述客戶端。
7.根據權利要求6所述的遠端程序的調用方法,其特徵在於,在所述步驟204中,還包括查詢是否已得到本次調用的返回結果,若不存在,則生成所述調用請求,並發送至所述伺服器端。
8.根據權利要求6所述的遠端程序的調用方法,其特徵在於,在所述步驟202中,還包括為每個所述遠端程序生成對應的標識;以及在所述步驟208中,還包括由所述客戶端根據所述標識獲取對應於每個所述遠端程序的返回結果。
9.根據權利要求6至8中任一項所述的遠端程序的調用方法,其特徵在於,在所述步驟 208中,還包括所述伺服器端將所有的所述返回結果按照預設格式封裝成數據包後,返回至所述客戶端。
10.根據權利要求9所述的遠端程序的調用方法,其特徵在於,還包括 若所述遠端程序在執行時出現錯誤,則生成異常結果;以及將所述異常結果與正常的結果進行所述封裝後,發送至所述客戶端。
全文摘要
本發明提供了一種遠端程序的調用裝置,包括客戶端和伺服器端,其中,客戶端包括註冊單元,分別對多個需要進行調用的遠端程序進行註冊;請求生成單元,生成對應於所有的遠端程序的調用請求;請求發送單元,將調用請求發送至伺服器端;以及伺服器端包括請求接收單元,接收來自客戶端的調用請求;解析單元,對調用請求進行解析;執行單元,調用對應的目標程序,並獲取對應於每個目標程序的返回結果;結果返回單元,將所有的返回結果返回至客戶端。相應地,本發明還提供了一種遠端程序的調用方法。通過本發明的技術方案,可以使應用程式根據需要合併其遠程調用,而不用另外編寫遠程調用合併的程序,提高遠程調用的效率。
文檔編號H04L29/08GK102497453SQ20111044874
公開日2012年6月13日 申請日期2011年12月28日 優先權日2011年12月28日
發明者劉劍 申請人:用友軟體股份有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀