国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      遠(yuǎn)程服務(wù)請求方法、響應(yīng)方法、請求裝置與響應(yīng)裝置制造方法

      文檔序號:7822176閱讀:194來源:國知局
      遠(yuǎn)程服務(wù)請求方法、響應(yīng)方法、請求裝置與響應(yīng)裝置制造方法
      【專利摘要】本發(fā)明提供了一種遠(yuǎn)程服務(wù)請求方法、一種遠(yuǎn)程服務(wù)響應(yīng)方法、一種遠(yuǎn)程服務(wù)請求裝置和一種遠(yuǎn)程服務(wù)響應(yīng)裝置,其中,所述遠(yuǎn)程服務(wù)請求方法包括:根據(jù)接收到的接口創(chuàng)建命令,使用工廠模式在所述終端上創(chuàng)建遠(yuǎn)程服務(wù)調(diào)用接口;通過所述遠(yuǎn)程服務(wù)調(diào)用接口向服務(wù)器發(fā)送請求。通過本發(fā)明的技術(shù)方案,可以解除應(yīng)用與遠(yuǎn)程服務(wù)調(diào)用技術(shù)之間的耦合,使應(yīng)用可以透明的切換遠(yuǎn)程調(diào)用技術(shù),保證服務(wù)遠(yuǎn)程調(diào)用的靈活性和擴(kuò)展性,并確保服務(wù)的客戶端與服務(wù)端之間的協(xié)議版本兼容性。
      【專利說明】遠(yuǎn)程服務(wù)請求方法、響應(yīng)方法、請求裝置與響應(yīng)裝置

      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明涉及遠(yuǎn)程【技術(shù)領(lǐng)域】,具體而言,涉及一種遠(yuǎn)程服務(wù)請求方法、一種遠(yuǎn)程服務(wù)響應(yīng)方法、一種遠(yuǎn)程服務(wù)請求裝置和一種遠(yuǎn)程服務(wù)響應(yīng)裝置。

      【背景技術(shù)】
      [0002]隨著云計算的發(fā)展,企業(yè)應(yīng)用的架構(gòu)及部署模式,逐漸從單服務(wù)器軟件包的方式,發(fā)展為多服務(wù)器在線服務(wù)的方式,應(yīng)用內(nèi)及應(yīng)用之間的服務(wù)調(diào)用,也從本地調(diào)用的方式,大量地切換為跨服務(wù)器的遠(yuǎn)程調(diào)用方式。
      [0003]目前有很多支持遠(yuǎn)程調(diào)用的技術(shù),如java RMI (Research In Mot1n) ,MS XML (微軟的 XML 語言解析器)、web service (遠(yuǎn)程服務(wù))、RESTful (Representat1nal StateTransfer,基于架構(gòu)樣式的網(wǎng)絡(luò)系統(tǒng))、Thrift (軟件架構(gòu))、Avro (數(shù)據(jù)序列化的系統(tǒng))、MessagePack (消息包)、Protocol Buffers ( 一種數(shù)據(jù)交換的格式)等,但是用戶很難在設(shè)計實現(xiàn)之初,就選用一種正確的適合自身應(yīng)用的技術(shù),同時也很難實現(xiàn)服務(wù)的擴(kuò)展和版本控制,而如果引入ESB (Enterprise Service Bus,企業(yè)服務(wù)總線),則又顯得過于笨重。
      [0004]因此,如何解除應(yīng)用與遠(yuǎn)程服務(wù)調(diào)用技術(shù)之間的耦合,使應(yīng)用可以透明的切換遠(yuǎn)程調(diào)用技術(shù),如何保證服務(wù)遠(yuǎn)程調(diào)用的靈活性和擴(kuò)展性,如何保證服務(wù)的客戶端與服務(wù)端之間的版本兼容性,成為亟待解決的問題。


      【發(fā)明內(nèi)容】

      [0005]本發(fā)明正是基于上述技術(shù)問題,提出了一種新的技術(shù)方案,可以解除應(yīng)用與遠(yuǎn)程服務(wù)調(diào)用技術(shù)之間的耦合,使應(yīng)用可以透明的切換遠(yuǎn)程調(diào)用技術(shù),保證服務(wù)遠(yuǎn)程調(diào)用的靈活性和擴(kuò)展性,并確保服務(wù)的客戶端與服務(wù)端之間的協(xié)議版本兼容性。
      [0006]有鑒于此,本發(fā)明的一方面提出了一種遠(yuǎn)程服務(wù)請求方法,用于終端,包括:根據(jù)接收到的接口創(chuàng)建命令,使用工廠模式在所述終端上創(chuàng)建遠(yuǎn)程服務(wù)調(diào)用接口 ;通過所述遠(yuǎn)程服務(wù)調(diào)用接口向服務(wù)器發(fā)送請求。
      [0007]在該技術(shù)方案中,通過使用工廠模式在終端(客戶端)上創(chuàng)建遠(yuǎn)程服務(wù)調(diào)用接口,可以對服務(wù)調(diào)用的各種細(xì)節(jié)處理,包括遠(yuǎn)程調(diào)用技術(shù)、請求參數(shù)、返回結(jié)果、執(zhí)行時間、錯誤碼、錯誤信息等信息的處理,以使應(yīng)用程序的調(diào)用更加透明和方便,另外,由于采用工廠模式將遠(yuǎn)程調(diào)用技術(shù)的選擇進(jìn)行了封裝,這使得應(yīng)用程序與遠(yuǎn)程服務(wù)調(diào)用技術(shù)之間完全解耦,使終端與服務(wù)器之間的遠(yuǎn)程調(diào)用技術(shù)的擴(kuò)展和切換變得非常容易。
      [0008]在上述技術(shù)方案中,優(yōu)選地,所述請求包括以下信息中的至少一種:協(xié)議版本、應(yīng)用域、請求頭和請求體。
      [0009]在該技術(shù)方案中,協(xié)議版本用于使服務(wù)器解析請求信息,可以使服務(wù)器明確客戶端的請求的所屬協(xié)議版本,以使服務(wù)器可以兼容不同協(xié)議版本的請求,并將不同版本的協(xié)議請求轉(zhuǎn)發(fā)至不同的版本服務(wù);應(yīng)用域用于使服務(wù)器區(qū)分不同的應(yīng)用程序,便于服務(wù)器對客戶端不同的應(yīng)用程序的請求進(jìn)行準(zhǔn)確轉(zhuǎn)發(fā);請求頭保存了請求的控制信息,包括請求命令、同步異步等,請求體保存請求的數(shù)據(jù)信息,因此,通過對請求頭進(jìn)行擴(kuò)展,可以滿足個性化的需求,提高遠(yuǎn)程調(diào)用的靈活性,例如:對客戶端進(jìn)行服務(wù)鑒權(quán)時,客戶端可以在請求頭中加入token(標(biāo)識)信息,以由服務(wù)器調(diào)用統(tǒng)一的服務(wù)入口進(jìn)行鑒權(quán),然后再分發(fā)給各個具體的服務(wù),避免通過各個服務(wù)鑒權(quán)的問題,降低系統(tǒng)的耦合度,提升服務(wù)的響應(yīng)能力。
      [0010]本發(fā)明的另一方面提出了一種遠(yuǎn)程服務(wù)響應(yīng)方法,用于服務(wù)器,所述服務(wù)器與上述技術(shù)方案中的終端相連接,包括:接收所述終端的請求;根據(jù)所述請求中包括的信息,對所述請求進(jìn)行處理,并將處理結(jié)果通過所述遠(yuǎn)程服務(wù)調(diào)用接口返回至所述終端,以響應(yīng)所述請求,其中,所述處理結(jié)果包括:響應(yīng)頭和響應(yīng)體,以及所述響應(yīng)頭包括:所述請求的執(zhí)行信息,所述響應(yīng)體包括:所述請求的數(shù)據(jù)信息。
      [0011]在該技術(shù)方案中,該處理結(jié)果中的響應(yīng)頭保存了請求的執(zhí)行信息,包括錯誤碼、錯誤信息、執(zhí)行時間等,響應(yīng)體保存了請求的數(shù)據(jù)信息;響應(yīng)頭采用key-value (哈希結(jié)構(gòu))的結(jié)構(gòu),可以由應(yīng)用程序進(jìn)行擴(kuò)展,響應(yīng)體的結(jié)構(gòu)完全由應(yīng)用程序決定,而通過將處理結(jié)果分為響應(yīng)頭和響應(yīng)體返回至終端,則可以使終端用戶更加清楚請求的整個處理過程和處理結(jié)果,有利于提高用戶的使用體驗。
      [0012]另外,由于終端與服務(wù)器之間的請求響應(yīng)是通過經(jīng)過工廠模式封裝的遠(yuǎn)程服務(wù)調(diào)用接口,因此,遠(yuǎn)程調(diào)用技術(shù)或服務(wù)器支持的協(xié)議版本發(fā)生變化時,均不會涉及到遠(yuǎn)程服務(wù)調(diào)用接口的改變,這使得終端側(cè)支持服務(wù)的在線升級,當(dāng)然,終端側(cè)即便與服務(wù)器的版本協(xié)議不進(jìn)行同步升級,也可以確保服務(wù)的客戶端與服務(wù)端之間的協(xié)議版本兼容性。
      [0013]在上述技術(shù)方案中,優(yōu)選地,所述根據(jù)所述請求中包括的信息,對所述請求進(jìn)行處理,具體包括:獲取所述請求中包括的協(xié)議版本,根據(jù)所述協(xié)議版本對所述請求進(jìn)行解析,以讀取所述請求中包括的其他信息,其中,所述其他信息包括:應(yīng)用域、請求頭和請求體中的任一種信息。
      [0014]在該技術(shù)方案中,通過獲取請求中的協(xié)議版本,可以使服務(wù)器使用正確的協(xié)議版本對該請求進(jìn)行解析,以讀取出終端發(fā)出的請求中的其他信息,這為服務(wù)器對終端的請求做出及時正確的響應(yīng)奠定了必要的基礎(chǔ)。
      [0015]在上述技術(shù)方案中,優(yōu)選地,所述根據(jù)所述請求中包括的信息,對所述請求進(jìn)行處理,具體還包括:根據(jù)所述請求中包括的所述協(xié)議版本和/或所述應(yīng)用域,將所述請求分發(fā)至至少一個服務(wù)處理器,并控制所述至少一個服務(wù)處理器按照預(yù)設(shè)順序依次對所述請求進(jìn)行處理。
      [0016]在該技術(shù)方案中,通過根據(jù)請求中包括的協(xié)議版本和/或應(yīng)用域,可以將該請求分發(fā)至與該請求相對應(yīng)的至少一個服務(wù)處理器,并使該至少一個服務(wù)處理器按照鏈的請求處理機(jī)制對該請求依次進(jìn)行處理,以避免將該請求分發(fā)至一個綜合服務(wù)處理器進(jìn)行處理,從而提高請求的處理速率和正確率;當(dāng)然,由于每個請求對應(yīng)一組不同的服務(wù)處理器而非一個固定的綜合的服務(wù)處理器,因此,這提高了遠(yuǎn)程調(diào)用的靈活性,也使得遠(yuǎn)程調(diào)用具有擴(kuò)展性。
      [0017]本發(fā)明的再一方面提出了一種遠(yuǎn)程服務(wù)請求裝置,用于終端,包括:創(chuàng)建單元,根據(jù)接收到的接口創(chuàng)建命令,使用工廠模式在所述終端上創(chuàng)建遠(yuǎn)程服務(wù)調(diào)用接口 ;發(fā)送單元,通過所述遠(yuǎn)程服務(wù)調(diào)用接口向服務(wù)器發(fā)送請求。
      [0018]在該技術(shù)方案中,通過使用工廠模式在終端(客戶端)上創(chuàng)建遠(yuǎn)程服務(wù)調(diào)用接口,可以對服務(wù)調(diào)用的各種細(xì)節(jié)處理,包括遠(yuǎn)程調(diào)用技術(shù)、請求參數(shù)、返回結(jié)果、執(zhí)行時間、錯誤碼、錯誤信息等信息的處理,以使應(yīng)用程序的調(diào)用更加透明和方便,另外,由于采用工廠模式將遠(yuǎn)程調(diào)用技術(shù)的選擇進(jìn)行了封裝,這使得應(yīng)用程序與遠(yuǎn)程服務(wù)調(diào)用技術(shù)之間完全解耦,使終端與服務(wù)器之間的遠(yuǎn)程調(diào)用技術(shù)的擴(kuò)展和切換變得非常容易。
      [0019]在上述技術(shù)方案中,優(yōu)選地,所述請求包括以下信息中的至少一種:協(xié)議版本、應(yīng)用域、請求頭和請求體。
      [0020]在該技術(shù)方案中,協(xié)議版本用于使服務(wù)器解析請求信息,可以使服務(wù)器明確客戶端的請求的所屬協(xié)議版本,以使服務(wù)器可以兼容不同協(xié)議版本的請求,并將不同版本的協(xié)議請求轉(zhuǎn)發(fā)至不同的版本服務(wù);應(yīng)用域用于使服務(wù)器區(qū)分不同的應(yīng)用程序,便于服務(wù)器對客戶端不同的應(yīng)用程序的請求進(jìn)行準(zhǔn)確轉(zhuǎn)發(fā);請求頭保存了請求的控制信息,包括請求命令、同步異步等,請求體保存請求的數(shù)據(jù)信息,因此,通過對請求頭進(jìn)行擴(kuò)展,可以滿足個性化的需求,提高遠(yuǎn)程調(diào)用的靈活性,例如:對客戶端進(jìn)行服務(wù)鑒權(quán)時,客戶端可以在請求頭中加入token(標(biāo)識)信息,以由服務(wù)器調(diào)用統(tǒng)一的服務(wù)入口進(jìn)行鑒權(quán),然后再分發(fā)給各個具體的服務(wù),避免通過各個服務(wù)鑒權(quán)的問題,降低系統(tǒng)的耦合度,提升服務(wù)的響應(yīng)能力。
      [0021]本發(fā)明的又一方面提出了一種遠(yuǎn)程服務(wù)響應(yīng)裝置,用于服務(wù)器,所述服務(wù)器與上述技術(shù)方案中的終端相連接,所述裝置包括:接收單元,接收所述終端的請求;處理單元,根據(jù)所述請求中包括的信息,對所述請求進(jìn)行處理,并將處理結(jié)果通過所述遠(yuǎn)程服務(wù)調(diào)用接口返回至所述終端,以響應(yīng)所述請求,其中,所述處理結(jié)果包括:響應(yīng)頭和響應(yīng)體,以及所述響應(yīng)頭包括:所述請求的執(zhí)行信息,所述響應(yīng)體包括:所述請求的數(shù)據(jù)信息。
      [0022]在該技術(shù)方案中,該處理結(jié)果中的響應(yīng)頭保存了請求的執(zhí)行信息,包括錯誤碼、錯誤信息、執(zhí)行時間等,響應(yīng)體保存了請求的數(shù)據(jù)信息;響應(yīng)頭采用key-value (哈希結(jié)構(gòu))的結(jié)構(gòu),可以由應(yīng)用程序進(jìn)行擴(kuò)展,響應(yīng)體的結(jié)構(gòu)完全由應(yīng)用程序決定,而通過將處理結(jié)果分為響應(yīng)頭和響應(yīng)體返回至終端,則可以使終端用戶更加清楚請求的整個處理過程和處理結(jié)果,有利于提高用戶的使用體驗。
      [0023]另外,由于終端與服務(wù)器之間的請求響應(yīng)是通過經(jīng)過工廠模式封裝的遠(yuǎn)程服務(wù)調(diào)用接口,因此,遠(yuǎn)程調(diào)用技術(shù)或服務(wù)器支持的協(xié)議版本發(fā)生變化時,均不會涉及到遠(yuǎn)程服務(wù)調(diào)用接口的改變,這使得終端側(cè)支持服務(wù)的在線升級,當(dāng)然,終端側(cè)即便與服務(wù)器的版本協(xié)議不進(jìn)行同步升級,也可以確保服務(wù)的客戶端與服務(wù)端之間的協(xié)議版本兼容性。
      [0024]在上述技術(shù)方案中,優(yōu)選地,所述處理單元具體用于:獲取所述請求中包括的協(xié)議版本,根據(jù)所述協(xié)議版本對所述請求進(jìn)行解析,以讀取所述請求中包括的其他信息,其中,所述其他信息包括:應(yīng)用域、請求頭和請求體中的任一種信息。
      [0025]在該技術(shù)方案中,通過獲取請求中的協(xié)議版本,可以使服務(wù)器使用正確的協(xié)議版本對該請求進(jìn)行解析,以讀取出終端發(fā)出的請求中的其他信息,這為服務(wù)器對終端的請求做出及時正確的響應(yīng)奠定了必要的基礎(chǔ)。
      [0026]在上述技術(shù)方案中,優(yōu)選地,所述處理單元具體還用于:根據(jù)所述請求中包括的所述協(xié)議版本和/或所述應(yīng)用域,將所述請求分發(fā)至至少一個服務(wù)處理器,并控制所述至少一個服務(wù)處理器按照預(yù)設(shè)順序依次對所述請求進(jìn)行處理。
      [0027]在該技術(shù)方案中,通過根據(jù)請求中包括的協(xié)議版本和/或應(yīng)用域,可以將該請求分發(fā)至與該請求相對應(yīng)的至少一個服務(wù)處理器,并使該至少一個服務(wù)處理器按照鏈的請求處理機(jī)制對該請求依次進(jìn)行處理,以避免將該請求分發(fā)至一個綜合服務(wù)處理器進(jìn)行處理,從而提高請求的處理速率和正確率;當(dāng)然,由于每個請求對應(yīng)一組不同的服務(wù)處理器而非一個固定的綜合的服務(wù)處理器,因此,這提高了遠(yuǎn)程調(diào)用的靈活性,也使得遠(yuǎn)程調(diào)用具有擴(kuò)展性。
      [0028]通過上述技術(shù)方案,可以解除應(yīng)用與遠(yuǎn)程服務(wù)調(diào)用技術(shù)之間的耦合,使應(yīng)用可以透明的切換遠(yuǎn)程調(diào)用技術(shù),保證服務(wù)遠(yuǎn)程調(diào)用的靈活性和擴(kuò)展性,并確保服務(wù)的客戶端與服務(wù)端之間的協(xié)議版本兼容性。

      【專利附圖】

      【附圖說明】
      [0029]圖1示出了根據(jù)本發(fā)明的實施例的遠(yuǎn)程服務(wù)請求方法的流程示意圖;
      [0030]圖2示出了根據(jù)本發(fā)明的實施例的遠(yuǎn)程服務(wù)響應(yīng)方法的流程示意圖;
      [0031]圖3示出了根據(jù)本發(fā)明的實施例的遠(yuǎn)程服務(wù)請求裝置的結(jié)構(gòu)示意圖;
      [0032]圖4示出了根據(jù)本發(fā)明的實施例的遠(yuǎn)程服務(wù)響應(yīng)裝置的結(jié)構(gòu)示意圖;
      [0033]圖5A示出了根據(jù)本發(fā)明的實施例的由終端和服務(wù)器組成的遠(yuǎn)程服務(wù)系統(tǒng)的結(jié)構(gòu)示意圖;
      [0034]圖5B示出了根據(jù)本發(fā)明的實施例的終端和服務(wù)器之間的請求、響應(yīng)的處理過程示意圖;
      [0035]圖5C示出了根據(jù)本發(fā)明的實施例的由服務(wù)器對終端的請求進(jìn)行分發(fā)的過程示意圖。

      【具體實施方式】
      [0036]為了能夠更清楚地理解本發(fā)明的上述目的、特征和優(yōu)點,下面結(jié)合附圖和【具體實施方式】對本發(fā)明進(jìn)行進(jìn)一步的詳細(xì)描述。需要說明的是,在不沖突的情況下,本申請的實施例及實施例中的特征可以相互組合。
      [0037]在下面的描述中闡述了很多具體細(xì)節(jié)以便于充分理解本發(fā)明,但是,本發(fā)明還可以采用其他不同于在此描述的其他方式來實施,因此,本發(fā)明的保護(hù)范圍并不受下面公開的具體實施例的限制。
      [0038]圖1示出了根據(jù)本發(fā)明的實施例的遠(yuǎn)程服務(wù)請求方法的流程示意圖。
      [0039]如圖1所示,根據(jù)本發(fā)明的實施例的遠(yuǎn)程服務(wù)請求方法,包括:步驟102,根據(jù)接收到的接口創(chuàng)建命令,使用工廠模式在所述終端上創(chuàng)建遠(yuǎn)程服務(wù)調(diào)用接口 ;步驟104,通過所述遠(yuǎn)程服務(wù)調(diào)用接口向服務(wù)器發(fā)送請求。
      [0040]在該技術(shù)方案中,通過使用工廠模式在終端(客戶端)上創(chuàng)建遠(yuǎn)程服務(wù)調(diào)用接口,可以對服務(wù)調(diào)用的各種細(xì)節(jié)處理,包括遠(yuǎn)程調(diào)用技術(shù)、請求參數(shù)、返回結(jié)果、執(zhí)行時間、錯誤碼、錯誤信息等信息的處理,以使應(yīng)用程序的調(diào)用更加透明和方便,另外,由于采用工廠模式將遠(yuǎn)程調(diào)用技術(shù)的選擇進(jìn)行了封裝,這使得應(yīng)用程序與遠(yuǎn)程服務(wù)調(diào)用技術(shù)之間完全解耦,使終端與服務(wù)器之間的遠(yuǎn)程調(diào)用技術(shù)的擴(kuò)展和切換變得非常容易。
      [0041]在上述技術(shù)方案中,優(yōu)選地,所述請求包括以下信息中的至少一種:協(xié)議版本、應(yīng)用域、請求頭和請求體。
      [0042]在該技術(shù)方案中,協(xié)議版本用于使服務(wù)器解析請求信息,可以使服務(wù)器明確客戶端的請求的所屬協(xié)議版本,以使服務(wù)器可以兼容不同協(xié)議版本的請求,并將不同版本的協(xié)議請求轉(zhuǎn)發(fā)至不同的版本服務(wù);應(yīng)用域用于使服務(wù)器區(qū)分不同的應(yīng)用程序,便于服務(wù)器對客戶端不同的應(yīng)用程序的請求進(jìn)行準(zhǔn)確轉(zhuǎn)發(fā);請求頭保存了請求的控制信息,包括請求命令、同步異步等,請求體保存請求的數(shù)據(jù)信息,因此,通過對請求頭進(jìn)行擴(kuò)展,可以滿足個性化的需求,提高遠(yuǎn)程調(diào)用的靈活性,例如:對客戶端進(jìn)行服務(wù)鑒權(quán)時,客戶端可以在請求頭中加入token(標(biāo)識)信息,以由服務(wù)器調(diào)用統(tǒng)一的服務(wù)入口進(jìn)行鑒權(quán),然后再分發(fā)給各個具體的服務(wù),避免通過各個服務(wù)鑒權(quán)的問題,降低系統(tǒng)的耦合度,提升服務(wù)的響應(yīng)能力。
      [0043]圖2示出了根據(jù)本發(fā)明的實施例的遠(yuǎn)程服務(wù)響應(yīng)方法的流程示意圖。
      [0044]如圖2所示,根據(jù)本發(fā)明的實施例的遠(yuǎn)程服務(wù)響應(yīng)方法,包括:步驟202,接收所述終端的請求;步驟204,根據(jù)所述請求中包括的信息,對所述請求進(jìn)行處理,并將處理結(jié)果通過所述遠(yuǎn)程服務(wù)調(diào)用接口返回至所述終端,以響應(yīng)所述請求,其中,所述處理結(jié)果包括:響應(yīng)頭和響應(yīng)體,以及所述響應(yīng)頭包括:所述請求的執(zhí)行信息,所述響應(yīng)體包括:所述請求的數(shù)據(jù)信息。
      [0045]在該技術(shù)方案中,該處理結(jié)果中的響應(yīng)頭保存了請求的執(zhí)行信息,包括錯誤碼、錯誤信息、執(zhí)行時間等,響應(yīng)體保存了請求的數(shù)據(jù)信息;響應(yīng)頭采用key-value (哈希結(jié)構(gòu))的結(jié)構(gòu),可以由應(yīng)用程序進(jìn)行擴(kuò)展,響應(yīng)體的結(jié)構(gòu)完全由應(yīng)用程序決定,而通過將處理結(jié)果分為響應(yīng)頭和響應(yīng)體返回至終端,則可以使終端用戶更加清楚請求的整個處理過程和處理結(jié)果,有利于提高用戶的使用體驗。
      [0046]另外,由于終端與服務(wù)器之間的請求響應(yīng)是通過經(jīng)過工廠模式封裝的遠(yuǎn)程服務(wù)調(diào)用接口,因此,遠(yuǎn)程調(diào)用技術(shù)或服務(wù)器支持的協(xié)議版本發(fā)生變化時,均不會涉及到遠(yuǎn)程服務(wù)調(diào)用接口的改變,這使得終端側(cè)支持服務(wù)的在線升級,當(dāng)然,終端側(cè)即便與服務(wù)器的版本協(xié)議不進(jìn)行同步升級,也可以確保服務(wù)的客戶端與服務(wù)端之間的協(xié)議版本兼容性。
      [0047]在上述技術(shù)方案中,優(yōu)選地,所述根據(jù)所述請求中包括的信息,對所述請求進(jìn)行處理,具體包括:獲取所述請求中包括的協(xié)議版本,根據(jù)所述協(xié)議版本對所述請求進(jìn)行解析,以讀取所述請求中包括的其他信息,其中,所述其他信息包括:應(yīng)用域、請求頭和請求體中的任一種信息。
      [0048]在該技術(shù)方案中,通過獲取請求中的協(xié)議版本,可以使服務(wù)器使用正確的協(xié)議版本對該請求進(jìn)行解析,以讀取出終端發(fā)出的請求中的其他信息,這為服務(wù)器對終端的請求做出及時正確的響應(yīng)奠定了必要的基礎(chǔ)。
      [0049]在上述技術(shù)方案中,優(yōu)選地,所述根據(jù)所述請求中包括的信息,對所述請求進(jìn)行處理,具體還包括:根據(jù)所述請求中包括的所述協(xié)議版本和/或所述應(yīng)用域,將所述請求分發(fā)至至少一個服務(wù)處理器,并控制所述至少一個服務(wù)處理器按照預(yù)設(shè)順序依次對所述請求進(jìn)行處理。
      [0050]在該技術(shù)方案中,通過根據(jù)請求中包括的協(xié)議版本和/或應(yīng)用域,可以將該請求分發(fā)至與該請求相對應(yīng)的至少一個服務(wù)處理器,并使該至少一個服務(wù)處理器按照鏈的請求處理機(jī)制對該請求依次進(jìn)行處理,以避免將該請求分發(fā)至一個綜合服務(wù)處理器進(jìn)行處理,從而提高請求的處理速率和正確率;當(dāng)然,由于每個請求對應(yīng)一組不同的服務(wù)處理器而非一個固定的綜合的服務(wù)處理器,因此,這提高了遠(yuǎn)程調(diào)用的靈活性,也使得遠(yuǎn)程調(diào)用具有擴(kuò)展性。
      [0051]圖3示出了根據(jù)本發(fā)明的實施例的遠(yuǎn)程服務(wù)請求裝置的結(jié)構(gòu)示意圖。
      [0052]如圖3所示,根據(jù)本發(fā)明的實施例的遠(yuǎn)程服務(wù)請求裝置300,包括:創(chuàng)建單元302,根據(jù)接收到的接口創(chuàng)建命令,使用工廠模式在所述終端上創(chuàng)建遠(yuǎn)程服務(wù)調(diào)用接口 ;發(fā)送單元304,通過所述遠(yuǎn)程服務(wù)調(diào)用接口向服務(wù)器發(fā)送請求。
      [0053]在該技術(shù)方案中,通過使用工廠模式在終端(客戶端)上創(chuàng)建遠(yuǎn)程服務(wù)調(diào)用接口,可以對服務(wù)調(diào)用的各種細(xì)節(jié)處理,包括遠(yuǎn)程調(diào)用技術(shù)、請求參數(shù)、返回結(jié)果、執(zhí)行時間、錯誤碼、錯誤信息等信息的處理,以使應(yīng)用程序的調(diào)用更加透明和方便,另外,由于采用工廠模式將遠(yuǎn)程調(diào)用技術(shù)的選擇進(jìn)行了封裝,這使得應(yīng)用程序與遠(yuǎn)程服務(wù)調(diào)用技術(shù)之間完全解耦,使終端與服務(wù)器之間的遠(yuǎn)程調(diào)用技術(shù)的擴(kuò)展和切換變得非常容易。
      [0054]在上述技術(shù)方案中,優(yōu)選地,所述請求包括以下信息中的至少一種:協(xié)議版本、應(yīng)用域、請求頭和請求體。
      [0055]在該技術(shù)方案中,協(xié)議版本用于使服務(wù)器解析請求信息,可以使服務(wù)器明確客戶端的請求的所屬協(xié)議版本,以使服務(wù)器可以兼容不同協(xié)議版本的請求,并將不同版本的協(xié)議請求轉(zhuǎn)發(fā)至不同的版本服務(wù);應(yīng)用域用于使服務(wù)器區(qū)分不同的應(yīng)用程序,便于服務(wù)器對客戶端不同的應(yīng)用程序的請求進(jìn)行準(zhǔn)確轉(zhuǎn)發(fā);請求頭保存了請求的控制信息,包括請求命令、同步異步等,請求體保存請求的數(shù)據(jù)信息,因此,通過對請求頭進(jìn)行擴(kuò)展,可以滿足個性化的需求,提高遠(yuǎn)程調(diào)用的靈活性,例如:對客戶端進(jìn)行服務(wù)鑒權(quán)時,客戶端可以在請求頭中加入token (標(biāo)識)信息,以由服務(wù)器調(diào)用統(tǒng)一的服務(wù)入口進(jìn)行鑒權(quán),然后再分發(fā)給各個具體的服務(wù),避免通過各個服務(wù)鑒權(quán)的問題,降低系統(tǒng)的耦合度,提升服務(wù)的響應(yīng)能力。
      [0056]圖4示出了根據(jù)本發(fā)明的實施例的遠(yuǎn)程服務(wù)響應(yīng)裝置的結(jié)構(gòu)示意圖。
      [0057]如圖4所示,根據(jù)本發(fā)明的實施例的遠(yuǎn)程服務(wù)響應(yīng)裝置400,包括:接收單元402,接收所述終端的請求;處理單元404,根據(jù)所述請求中包括的信息,對所述請求進(jìn)行處理,并將處理結(jié)果通過所述遠(yuǎn)程服務(wù)調(diào)用接口返回至所述終端,以響應(yīng)所述請求,其中,所述處理結(jié)果包括:響應(yīng)頭和響應(yīng)體,以及所述響應(yīng)頭包括:所述請求的執(zhí)行信息,所述響應(yīng)體包括:所述請求的數(shù)據(jù)信息。
      [0058]在該技術(shù)方案中,該處理結(jié)果中的響應(yīng)頭保存了請求的執(zhí)行信息,包括錯誤碼、錯誤信息、執(zhí)行時間等,響應(yīng)體保存了請求的數(shù)據(jù)信息;響應(yīng)頭采用key-value (哈希結(jié)構(gòu))的結(jié)構(gòu),可以由應(yīng)用程序進(jìn)行擴(kuò)展,響應(yīng)體的結(jié)構(gòu)完全由應(yīng)用程序決定,而通過將處理結(jié)果分為響應(yīng)頭和響應(yīng)體返回至終端,則可以使終端用戶更加清楚請求的整個處理過程和處理結(jié)果,有利于提高用戶的使用體驗。
      [0059]另外,由于終端與服務(wù)器之間的請求響應(yīng)是通過經(jīng)過工廠模式封裝的遠(yuǎn)程服務(wù)調(diào)用接口,因此,遠(yuǎn)程調(diào)用技術(shù)或服務(wù)器支持的協(xié)議版本發(fā)生變化時,均不會涉及到遠(yuǎn)程服務(wù)調(diào)用接口的改變,這使得終端側(cè)支持服務(wù)的在線升級,當(dāng)然,終端側(cè)即便與服務(wù)器的版本協(xié)議不進(jìn)行同步升級,也可以確保服務(wù)的客戶端與服務(wù)端之間的協(xié)議版本兼容性。
      [0060]在上述技術(shù)方案中,優(yōu)選地,所述處理單元404具體用于:獲取所述請求中包括的協(xié)議版本,根據(jù)所述協(xié)議版本對所述請求進(jìn)行解析,以讀取所述請求中包括的其他信息,其中,所述其他信息包括:應(yīng)用域、請求頭和請求體中的任一種信息。
      [0061]在該技術(shù)方案中,通過獲取請求中的協(xié)議版本,可以使服務(wù)器使用正確的協(xié)議版本對該請求進(jìn)行解析,以讀取出終端發(fā)出的請求中的其他信息,這為服務(wù)器對終端的請求做出及時正確的響應(yīng)奠定了必要的基礎(chǔ)。
      [0062]在上述技術(shù)方案中,優(yōu)選地,所述處理單元404具體還用于:根據(jù)所述請求中包括的所述協(xié)議版本和/或所述應(yīng)用域,將所述請求分發(fā)至至少一個服務(wù)處理器,并控制所述至少一個服務(wù)處理器按照預(yù)設(shè)順序依次對所述請求進(jìn)行處理。
      [0063]在該技術(shù)方案中,通過根據(jù)請求中包括的協(xié)議版本和/或應(yīng)用域,可以將該請求分發(fā)至與該請求相對應(yīng)的至少一個服務(wù)處理器,并使該至少一個服務(wù)處理器按照鏈的請求處理機(jī)制對該請求依次進(jìn)行處理,以避免將該請求分發(fā)至一個綜合服務(wù)處理器進(jìn)行處理,從而提高請求的處理速率和正確率;當(dāng)然,由于每個請求對應(yīng)一組不同的服務(wù)處理器而非一個固定的綜合的服務(wù)處理器,因此,這提高了遠(yuǎn)程調(diào)用的靈活性,也使得遠(yuǎn)程調(diào)用具有擴(kuò)展性。
      [0064]圖5A示出了根據(jù)本發(fā)明的實施例的由終端和服務(wù)器組成的遠(yuǎn)程服務(wù)系統(tǒng)的結(jié)構(gòu)示意圖;圖5B示出了根據(jù)本發(fā)明的實施例的終端和服務(wù)器之間的請求、響應(yīng)的處理過程示意圖;圖5C示出了根據(jù)本發(fā)明的實施例的由服務(wù)器對終端的請求進(jìn)行分發(fā)的過程示意圖。
      [0065]下面將結(jié)合圖5A至圖5C詳細(xì)說明本發(fā)明的技術(shù)方案:
      [0066]如圖5A所示,由終端和服務(wù)器組成的遠(yuǎn)程服務(wù)系統(tǒng)500包括:終端502和服務(wù)器504,其中,終端502包括:協(xié)議模塊5022、請求模塊5024 ;服務(wù)器504包括:響應(yīng)模塊5042、服務(wù)分發(fā)模塊5044,通過遠(yuǎn)程服務(wù)系統(tǒng)500能夠非常方便地實現(xiàn)遠(yuǎn)程服務(wù)的調(diào)用,滿足遠(yuǎn)程服務(wù)調(diào)用的靈活性、擴(kuò)展性,且使使用不同應(yīng)用程序的終端502和服務(wù)器504實現(xiàn)了遠(yuǎn)程調(diào)用技術(shù)的完全解耦,使應(yīng)用程序能夠更專注于自身的業(yè)務(wù)邏輯。
      [0067]下面將詳細(xì)介紹遠(yuǎn)程服務(wù)系統(tǒng)500的特征:
      [0068]1、通用的服務(wù)調(diào)用協(xié)議設(shè)計,保證了遠(yuǎn)程服務(wù)系統(tǒng)500的穩(wěn)定性,并且能夠使用各種遠(yuǎn)程調(diào)用技術(shù),同時提高了應(yīng)用程序的靈活性擴(kuò)展能力。
      [0069]2、封裝、簡化了服務(wù)器504調(diào)用的各種細(xì)節(jié)處理,包括對遠(yuǎn)程調(diào)用技術(shù)、請求參數(shù)、返回結(jié)果、執(zhí)行時間、錯誤碼、錯誤信息等信息的處理,使調(diào)用更加透明和方便。
      [0070]3、服務(wù)器504在分發(fā)服務(wù)請求時,基于鏈的請求處理機(jī)制,使應(yīng)用程序的服務(wù)端,可以非常容易地擴(kuò)展對服務(wù)請求的應(yīng)用邏輯的處理能力。
      [0071]4、基于插件機(jī)制的請求預(yù)處理和后處理,可以非常容易的擴(kuò)展不同應(yīng)用的個性化需求,如服務(wù)鑒權(quán)、數(shù)據(jù)權(quán)限控制、請求日志記錄、請求次數(shù)統(tǒng)計、請求轉(zhuǎn)發(fā)、請求失敗報警等,類似于AOP (Aspect Oriented Programming,面向方面編程)技術(shù)。
      [0072]5、支持協(xié)議版本和應(yīng)用域,使來自不同版本的不同應(yīng)用程序的請求,可以被正確地分發(fā)到相應(yīng)版本的服務(wù)上。
      [0073]下面將詳細(xì)介紹遠(yuǎn)程服務(wù)系統(tǒng)500的工作原理:
      [0074]1、應(yīng)用通訊協(xié)議
      [0075]協(xié)議分請求和響應(yīng)兩個部分。
      [0076]請求模塊5024將請求分為協(xié)議版本、應(yīng)用域、請求頭和請求體,協(xié)議版本用于服務(wù)端解析請求信息,應(yīng)用域用于區(qū)分不同的應(yīng)用,便于服務(wù)端轉(zhuǎn)發(fā)請求,請求頭保存了請求的控制信息,包括請求命令、同步異步等,請求體保存了請求的數(shù)據(jù)信息。請求頭采用key-value的結(jié)構(gòu),可以由應(yīng)用進(jìn)行擴(kuò)展,請求體的結(jié)構(gòu)完全由應(yīng)用決定。
      [0077]響應(yīng)模塊5042將請求的響應(yīng)部分分為響應(yīng)頭和響應(yīng)體,其中,響應(yīng)頭保存了返回的執(zhí)行信息,包括錯誤碼、錯誤信息、執(zhí)行時間等,響應(yīng)體保存了返回的數(shù)據(jù)信息。響應(yīng)頭采用key-value的結(jié)構(gòu),可以由應(yīng)用進(jìn)行擴(kuò)展,響應(yīng)體的結(jié)構(gòu)完全由應(yīng)用決定。
      [0078]協(xié)議模塊5022將協(xié)議以JSON為默認(rèn)傳輸格式,因為協(xié)議格式對于應(yīng)用是透明的,所以也可以替換為XML或其他自定義的格式。
      [0079]2、遠(yuǎn)程服務(wù)的調(diào)用機(jī)制(即終端和服務(wù)器之間的請求、響應(yīng)的處理過程,如圖5B所示)
      [0080]在終端502側(cè):
      [0081 ] 利用工廠模式,創(chuàng)建遠(yuǎn)程服務(wù)調(diào)用接口,服務(wù)請求方通過該接口,將服務(wù)請求發(fā)送到服務(wù)端。
      [0082]遠(yuǎn)程服務(wù)調(diào)用接口的具體實現(xiàn)過程取決于終端502與服務(wù)器504之間采用的遠(yuǎn)程調(diào)用技術(shù),而遠(yuǎn)程調(diào)用技術(shù)的選擇通過工廠進(jìn)行了封裝,與服務(wù)請求方完全解耦,使遠(yuǎn)程調(diào)用技術(shù)的擴(kuò)展和切換變得非常容易。
      [0083]在服務(wù)器504側(cè):
      [0084]服務(wù)器504在得到請求后,會先檢查協(xié)議版本,然后使用相應(yīng)版本的協(xié)議解析,獲取請求中的應(yīng)用域、請求頭和請求體等信息。
      [0085]然后基于插件機(jī)制,進(jìn)行服務(wù)請求的預(yù)處理,例如服務(wù)鑒權(quán)、數(shù)據(jù)權(quán)限控制、異步分發(fā)等。
      [0086]預(yù)處理之后,對于需要執(zhí)行的請求,將交給服務(wù)器504的分發(fā)機(jī)制,以對請求進(jìn)行處理。
      [0087]處理完畢后,仍會插件機(jī)制對該請求進(jìn)行服務(wù)請求的后處理,例如日志記錄、請求統(tǒng)計、請求轉(zhuǎn)發(fā)、失敗報警等。
      [0088]最后,根據(jù)返回的響應(yīng)頭和響應(yīng)體,將數(shù)據(jù)返回給終端502。
      [0089]3、服務(wù)的分發(fā)模塊5044的分發(fā)機(jī)制(其具體過程如圖5C所示)
      [0090]服務(wù)分發(fā)模塊5044,在得到服務(wù)請求后,會根據(jù)請求中的應(yīng)用域和協(xié)議版本,將請求發(fā)送給相應(yīng)版本的服務(wù)處理器。
      [0091]服務(wù)處理器是一組實現(xiàn)了服務(wù)處理接口的類,需要應(yīng)用的服務(wù)方進(jìn)行實現(xiàn),并聲明在配置文件當(dāng)中,以配合應(yīng)用和版本控制。
      [0092]調(diào)用服務(wù)處理器時,采用基于鏈的請求處理機(jī)制,使每個請求可以經(jīng)過多個服務(wù)處理器進(jìn)行處理,便于增加新的應(yīng)用處理邏輯。
      [0093]服務(wù)請求處理完畢,最終會根據(jù)協(xié)議,進(jìn)行返回結(jié)果的打包。對于異常情況,返回結(jié)果中會包含錯誤碼和錯誤信息。
      [0094]以上結(jié)合附圖詳細(xì)說明了本發(fā)明的技術(shù)方案,通過本發(fā)明的技術(shù)方案,可以解除應(yīng)用與遠(yuǎn)程服務(wù)調(diào)用技術(shù)之間的耦合,使應(yīng)用可以透明的切換遠(yuǎn)程調(diào)用技術(shù),保證服務(wù)遠(yuǎn)程調(diào)用的靈活性和擴(kuò)展性,并確保服務(wù)的客戶端與服務(wù)端之間的協(xié)議版本兼容性。
      [0095]以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
      【權(quán)利要求】
      1.一種遠(yuǎn)程服務(wù)請求方法,用于終端,其特征在于,包括: 根據(jù)接收到的接口創(chuàng)建命令,使用工廠模式在所述終端上創(chuàng)建遠(yuǎn)程服務(wù)調(diào)用接口 ; 通過所述遠(yuǎn)程服務(wù)調(diào)用接口向服務(wù)器發(fā)送請求。
      2.根據(jù)權(quán)利要求1所述的遠(yuǎn)程服務(wù)請求方法,其特征在于, 所述請求包括以下信息中的至少一種:協(xié)議版本、應(yīng)用域、請求頭和請求體。
      3.—種遠(yuǎn)程服務(wù)響應(yīng)方法,用于服務(wù)器,其特征在于,所述服務(wù)器與權(quán)利要求1中的終端相連接,所述方法包括: 接收所述終端的請求; 根據(jù)所述請求中包括的信息,對所述請求進(jìn)行處理,并將處理結(jié)果通過所述遠(yuǎn)程服務(wù)調(diào)用接口返回至所述終端,以響應(yīng)所述請求,其中,所述處理結(jié)果包括:響應(yīng)頭和響應(yīng)體,以及所述響應(yīng)頭包括:所述請求的執(zhí)行信息,所述響應(yīng)體包括:所述請求的數(shù)據(jù)信息。
      4.根據(jù)權(quán)利要求3所述的遠(yuǎn)程服務(wù)響應(yīng)方法,其特征在于, 所述根據(jù)所述請求中包括的信息,對所述請求進(jìn)行處理,具體包括: 獲取所述請求中包括的協(xié)議版本,根據(jù)所述協(xié)議版本對所述請求進(jìn)行解析,以讀取所述請求中包括的其他信息,其中,所述其他信息包括:應(yīng)用域、請求頭和請求體中的任一種信息。
      5.根據(jù)權(quán)利要求4所述的遠(yuǎn)程服務(wù)響應(yīng)方法,其特征在于, 所述根據(jù)所述請求中包括的信息,對所述請求進(jìn)行處理,具體還包括: 根據(jù)所述請求中包括的所述協(xié)議版本和/或所述應(yīng)用域,將所述請求分發(fā)至至少一個服務(wù)處理器,并控制所述至少一個服務(wù)處理器按照預(yù)設(shè)順序依次對所述請求進(jìn)行處理。
      6.一種遠(yuǎn)程服務(wù)請求裝置,用于終端,其特征在于,包括: 創(chuàng)建單元,根據(jù)接收到的接口創(chuàng)建命令,使用工廠模式在所述終端上創(chuàng)建遠(yuǎn)程服務(wù)調(diào)用接口 ; 發(fā)送單元,通過所述遠(yuǎn)程服務(wù)調(diào)用接口向服務(wù)器發(fā)送請求。
      7.根據(jù)權(quán)利要求6所述的遠(yuǎn)程服務(wù)請求裝置,其特征在于, 所述請求包括以下信息中的至少一種:協(xié)議版本、應(yīng)用域、請求頭和請求體。
      8.—種遠(yuǎn)程服務(wù)響應(yīng)裝置,用于服務(wù)器,其特征在于,所述服務(wù)器與權(quán)利要求6中的終端相連接,所述裝置包括: 接收單元,接收所述終端的請求; 處理單元,根據(jù)所述請求中包括的信息,對所述請求進(jìn)行處理,并將處理結(jié)果通過所述遠(yuǎn)程服務(wù)調(diào)用接口返回至所述終端,以響應(yīng)所述請求,其中,所述處理結(jié)果包括:響應(yīng)頭和響應(yīng)體,以及所述響應(yīng)頭包括:所述請求的執(zhí)行信息,所述響應(yīng)體包括:所述請求的數(shù)據(jù)信肩、O
      9.根據(jù)權(quán)利要求8所述的遠(yuǎn)程服務(wù)響應(yīng)裝置,其特征在于, 所述處理單元具體用于: 獲取所述請求中包括的協(xié)議版本,根據(jù)所述協(xié)議版本對所述請求進(jìn)行解析,以讀取所述請求中包括的其他信息,其中,所述其他信息包括:應(yīng)用域、請求頭和請求體中的任一種信息。
      10.根據(jù)權(quán)利要求9所述的遠(yuǎn)程服務(wù)響應(yīng)裝置,其特征在于, 所述處理單元具體還用于: 根據(jù)所述請求中包括的所述協(xié)議版本和/或所述應(yīng)用域,將所述請求分發(fā)至至少一個服務(wù)處理器,并控制所述至少一個服務(wù)處理器按照預(yù)設(shè)順序依次對所述請求進(jìn)行處理。
      【文檔編號】H04L29/08GK104410702SQ201410742949
      【公開日】2015年3月11日 申請日期:2014年12月8日 優(yōu)先權(quán)日:2014年12月8日
      【發(fā)明者】徐銘 申請人:暢捷通信息技術(shù)股份有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1