TWI738726B - 遠端命令的處理方法和裝置 - Google Patents

遠端命令的處理方法和裝置 Download PDF

Info

Publication number
TWI738726B
TWI738726B TW106105967A TW106105967A TWI738726B TW I738726 B TWI738726 B TW I738726B TW 106105967 A TW106105967 A TW 106105967A TW 106105967 A TW106105967 A TW 106105967A TW I738726 B TWI738726 B TW I738726B
Authority
TW
Taiwan
Prior art keywords
remote command
command
remote
response data
trigger request
Prior art date
Application number
TW106105967A
Other languages
English (en)
Other versions
TW201737065A (zh
Inventor
肖雄
吳堃
謝曉輝
郝建青
孫成浩
Original Assignee
香港商阿里巴巴集團服務有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 香港商阿里巴巴集團服務有限公司 filed Critical 香港商阿里巴巴集團服務有限公司
Publication of TW201737065A publication Critical patent/TW201737065A/zh
Application granted granted Critical
Publication of TWI738726B publication Critical patent/TWI738726B/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
    • G06F9/45512Command shells
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Selective Calling Equipment (AREA)
  • Telephonic Communication Services (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申請實施例提供了一種遠端命令的處理方法和裝置,其中的方法具體包括:接收遠端命令的觸發請求;依據所述觸發請求,獲取遠端命令及其對應的開關參數;向伺服器發送所述遠端命令;接收所述伺服器針對所述遠端命令返回的回應資料;在所述遠端命令對應的開關參數為關閉時,將所述回應資料輸出。本申請實施例能夠節省返回資料的攔截和查找操作所花費的耗時,從而能夠提高IO處理性能,並且,能夠提高遠端命令的執行速度。

Description

遠端命令的處理方法和裝置
本申請關於通信技術領域,特別是關於一種遠端命令的處理方法、以及一種遠端命令的處理裝置。
隨著資訊時代的持續發展,IT(資訊技術,Information Technology)運維已經成為IT服務內涵中重要的組成部分。面對越來越複雜的業務,面對越來越多樣化的用戶需求,不斷擴展的IT應用需要越來越合理的模式來保障IT服務能靈活便捷、安全穩定地持續保障,這種模式中的保障因素就是IT運維。
Fabric是目前開源社群中被廣泛使用的SSH(安全外殼協議,Secure Shell)命令等遠端命令的遠端下發執行框架,其提供的功能主要包括:執行本地或遠端命令、上傳/下載檔案,以及其他協助工具,如提示用戶輸入、中止執行等。基於Fabric,各企業可方便地開發出自身的運維系統。
目前的遠端命令具體可以包括:互動式命令和非互動式命令兩種。其中,互動式命令可以為在命令執行過程 中,需要用戶端進行交互才能繼續執行的命令;最常見的場景為:在刪除針對某個系統檔的互動式命令時,運維系統會輸出需要輸入管理員密碼的提示,並且,在用戶端輸入管理員密碼後,該互動式命令才被繼續執行。非互動式命令可以為在命令執行過程中,不需要用戶端進行交互即可完成整個命令執行過程的命令。
為了判斷當前遠端命令是否需要用戶端進行交互,本領域中的傳統方案通常為:用戶端對遠端命令的返回資料進行攔截,並查找該返回資料中是否包含預置關鍵字,若包含,則確認當前遠端命令需要用戶端進行交互,若不包含,則確認當前遠端命令不需要用戶端進行交互。例如,上述查找該返回資料中是否包含預置關鍵字的過程具體可以包括:用戶端可以不停地讀取伺服器的返回資料,並判斷該返回資料中是否包含password、sudo、input等預置關鍵字。
然而,在當前遠端命令為非互動式命令時,傳統方案也會進行相應的攔截和查找操作,上述攔截和查找操作將會佔用用戶端與伺服器之間的IO(輸入輸出,Input-Output)處理時間。尤其是在上述返回資料為大資料量的資料時,由於是按段進行返回資料的攔截和查找操作,因此需要針對單個遠程命令的返回資料重複執行多次攔截和查找操作,從而大大地降低了IO處理性能,並且,降低了遠端命令的執行速度。而對於大規模的運維系統而言,其遠端命令的耗時將嚴重拖慢整個運維系統的處理速度。
本申請實施例所要解決的技術問題是提供一種遠端命令的處理方法,能夠節省返回資料的攔截和查找操作所花費的耗時,從而能夠提高IO處理性能,並且,能夠提高遠端命令的執行速度。
相應的,本申請實施例還提供了一種遠端命令的處理裝置,用以保證上述方法的實現及應用。
為了解決上述問題,本申請公開了一種遠端命令的處理方法,包括:接收遠端命令的觸發請求;依據所述觸發請求,獲取遠端命令及其對應的開關參數;向伺服器發送所述遠端命令;接收所述伺服器針對所述遠端命令返回的回應資料;在所述遠端命令對應的開關參數為關閉時,將所述回應資料輸出。
可選地,所述觸發請求中攜帶有命令檔的位址資訊,則所述依據所述觸發請求,獲取遠端命令及其對應的開關參數的步驟,包括:依據所述位址資訊,從所述命令檔中讀取遠端命令及其對應的開關參數。
可選地,所述觸發請求中攜帶有命令檔的位址資訊和所述命令檔中遠端命令的開關參數,則所述依據所述觸發 請求,獲取遠端命令及其對應的開關參數的步驟,包括:依據所述位址資訊,從所述命令檔中讀取遠端命令,並將讀取的遠端命令與所述觸發請求中攜帶的開關參數進行關聯。
可選地,所述方法還包括:在所述遠端命令對應的開關參數為開啟時,將所述回應資料進行攔截;從所攔截的回應資料中查找需要用戶端進行交互的互動式命令;輸出所述互動式命令對應的交互提示資訊。
可選地,所述接收所述伺服器針對所述遠端命令返回的回應資料的步驟,包括:從用戶端的通訊端介面中讀取所述伺服器針對所述遠端命令返回的回應資料段。
可選地,所述在所述遠端命令對應的開關參數為關閉時,將所述回應資料輸出的步驟,包括:在所述回應資料段的內容不為空、且所述遠端命令對應的開關參數為關閉時,將所述回應資料輸出。
另一方面,本申請公開了一種遠端命令的處理裝置,包括:第一接收模組,用於接收遠端命令的觸發請求;獲取模組,用於依據所述觸發請求,獲取遠端命令及其對應的開關參數;發送模組,用於向伺服器發送所述遠端命令; 第二接收模組,用於接收所述伺服器針對所述遠端命令返回的回應資料;以及第一輸出模組,用於在所述遠端命令對應的開關參數為關閉時,將所述回應資料輸出。
可選地,所述觸發請求中攜帶有命令檔的位址資訊,則所述獲取模組,包括:第一獲取子模組,用於依據所述位址資訊,從所述命令檔中讀取遠端命令及其對應的開關參數。
可選地,所述觸發請求中攜帶有命令檔的位址資訊和所述命令檔中遠端命令的開關參數,則所述獲取模組,包括:第二獲取子模組,用於依據所述位址資訊,從所述命令檔中讀取遠端命令,並將讀取的遠端命令與所述觸發請求中攜帶的開關參數進行關聯。
可選地,所述裝置還包括:攔截模組,用於在所述遠端命令對應的開關參數為開啟時,將所述回應資料進行攔截;查找模組,用於從所攔截的回應資料中查找需要用戶端進行交互的互動式命令;第二輸出模組,用於輸出所述互動式命令對應的交互提示資訊。
與現有技術相比,本申請實施例包括以下優點:本申請實施例可以依據遠端命令的觸發請求,獲取遠端命令及其對應的開關參數,並在所述遠端命令對應的開 關參數為關閉時,將所述回應資料輸出;由於本申請實施例在所述遠端命令對應的開關參數為關閉時,可以不進行返回資料的攔截和查找操作,因此,能夠節省返回資料的攔截和查找操作所花費的耗時,從而能夠提高IO處理性能,並且,能夠提高遠端命令的執行速度。
100‧‧‧用戶端
200‧‧‧伺服器
601‧‧‧第一接收模組
602‧‧‧獲取模組
603‧‧‧發送模組
604‧‧‧第二接收模組
605‧‧‧第一輸出模組
圖1是本申請的一種遠端命令的處理方法的應用環境的示意圖;圖2是本申請的一種遠端命令的處理方法實施例一的步驟流程圖;圖3是本申請的一種遠端命令的處理方法實施例二的步驟流程圖;圖4是本申請的一種回應資料的示意;圖5是本申請的一種遠端命令的處理方法實施例三的步驟流程圖;以及圖6是本申請的一種遠端命令的處理裝置實施例的結構框圖。
為使本申請的上述目的、特徵和優點能夠更加明顯易懂,下面結合附圖和具體實施方式對本申請作進一步詳細的說明。
針對傳統方案中存在的大資料量傳輸場景中非互動式 命令的判斷過程導致IO處理性能低、以及遠端命令的執行速度慢的技術問題,本申請實施例可以依據遠端命令的觸發請求,獲取遠端命令及其對應的開關參數,並在所述遠端命令對應的開關參數為關閉時,將所述回應資料輸出;由於本申請實施例在所述遠端命令對應的開關參數為關閉時,可以不進行返回資料的攔截和查找操作,因此,能夠節省返回資料的攔截和查找操作所花費的耗時,從而能夠提高IO處理性能,並且,能夠提高遠端命令的執行速度。
本申請實施例可以應用於Fabric、Ansible等運維系統的應用場景中,用於提高上述運維系統的提高IO處理性能及遠端命令的執行速度,可以理解,本申請實施例對於具體的應用場景不加以限制。
本申請實施例提供的遠端命令的處理方法可應用於圖1所示的應用環境中,如圖1所示,用戶端100與伺服器200可以位於有線或無線網路中,透過該有線或無線網路,用戶端100與伺服器200進行資料交互。
具體地,用戶端100可以運行在物理機或者虛擬機器上,其可以接收用戶輸入的遠端命令的觸發請求,依據所述觸發請求,獲取遠端命令及其對應的開關參數,並向伺服器發送所述遠端命令,以使伺服器200獲取所述遠端命令的回應資料。其中,在所述遠端命令為互動式命令時,所述回應資料中可以包括所述遠端命令的交互提示資訊,在所述遠端命令為非互動式命令時,所述回應資料中可以 包括所述遠端命令的處理結果,可以理解,本申請實施例對於具體的回應資料不加以限制。
並且,用戶端100還可以接收所述伺服器200針對所述遠端命令返回的回應資料,並在所述遠端命令對應的開關參數為關閉時,將所述回應資料輸出。本申請實施例中,上述開關參數具體可以包括關閉或開啟,其中,關閉可用於指示不進行回應資料的攔截和查找操作,開啟可用於指示進行回應資料的攔截和查找操作。
可以理解,上述圖1所示應用環境只是作為應用示例,本申請實施例中輸入流程的目的之一在於,在所述遠端命令對應的開關參數為關閉時,可以不進行返回資料的攔截和查找操作,從而可以解決大資料量傳輸場景中非互動式命令的判斷過程導致IO處理性能低、以及遠端命令的執行速度慢的技術問題,而對遠端命令的處理流程的具體應用環境不加以限制。
方法實施例一
參照圖2,示出了本申請的一種遠端命令的處理方法實施例一的步驟流程圖,具體可以包括如下步驟:
步驟201、接收遠端命令的觸發請求;
步驟202、依據所述觸發請求,獲取遠端命令及其對應的開關參數;本申請實施例中,上述觸發請求可由用戶輸入,其可用於觸發遠端命令,以使用戶端向伺服器發送對應遠端命 令。
本技術領域中,用戶端會對遠端命令的返回資料進行攔截,並查找該返回資料中是否包含預置關鍵字,若包含,則確認當前遠端命令需要用戶端進行交互。其中,查找該返回資料中是否包含預置關鍵字的過程具體可以包括:用戶端可以不停地讀取伺服器的返回資料,並判斷該返回資料中是否包含password、sudo、input等預置關鍵字。
而本申請實施例中的用戶可以包括:具有專業知識的運維人員,上述運維人員通常對遠端命令比較熟悉,故對於即將觸發的遠端命令而言,運維人員熟悉遠端命令中是否包含上述預置關鍵字、以至於能夠明確其是否需要用戶端進行交互,因此,本申請實施例的用戶具備準確設置即將觸發的遠端命令的開關參數的能力,具體地,在即將觸發的遠端命令需要用戶端進行交互(亦即為互動式命令)時,使用者可以將對應的開關參數設置為開啟,或者,在即將觸發的遠端命令不需要用戶端進行交互(亦即為非互動式命令)時,使用者可以將對應的開關參數設置為關閉。
本申請實施例可以提供依據所述觸發請求,獲取遠端命令及其對應的開關參數的如下技術方案:
技術方案1
技術方案1中,所述觸發請求中可以攜帶有命令檔的 位址資訊,則所述依據所述觸發請求,獲取遠端命令及其對應的開關參數的步驟202,具體可以包括:
步驟A1、依據所述位址資訊,從所述命令檔中讀取遠端命令及其對應的開關參數。
本申請實施例中,命令檔中可以記錄有一個或多個遠端命令,該命令檔通常由用戶編寫得到,故用戶能夠準確地確定該命令檔中是否包含上述預置關鍵字、以至於能夠明確該命令檔中遠端命令是否需要用戶端進行交互。因此,在用戶明確該命令檔中遠端命令是否需要用戶端進行交互的基礎上,其可以在該命令檔中記錄對應的開關參數。其中,該命令檔中記錄的開關參數的數目可以為一個,以說明該命令檔中存在需要用戶端進行交互的遠端命令。或者,該命令檔中記錄的開關參數的數目可以與遠端命令的數目相同,以標識每個遠端命令是否需要用戶端進行交互。可以理解,本申請實施例對於開關參數在上述命令檔中的具體記錄方式不加以限制。
在本申請的一種可選實施例中,上述命令檔所記錄的遠端命令及開關參數均可以具有對應的預設位置,例如,開關參數的預設位置可以為第一行或者最後一行或者預設行號等,故步驟A1可以首先依據上述位址資訊載入上述命令檔,並按照上述預設位置從所述命令檔中讀取遠端命令及其對應的開關參數。可以理解,本申請實施例對於依據所述位址資訊從所述命令檔中讀取遠端命令及其對應的開關參數的具體讀取過程不加以限制。
技術方案2
技術方案2中,所述觸發請求中可以攜帶有命令檔的位址資訊和所述命令檔中遠端命令的開關參數,則所述依據所述觸發請求,獲取遠端命令及其對應的開關參數的步驟202,具體可以包括:
步驟B1、依據所述位址資訊,從所述命令檔中讀取遠端命令,並將讀取的遠端命令與所述觸發請求中攜帶的開關參數進行關聯。其中,上述關聯可以將遠端命令與對應的開關參數關聯,假設上述命令檔中記錄有M個遠端命令,觸發請求中攜帶有N個開關參數,則可以建立M個遠端命令與N個開關參數之間的映射關係。
相對於技術方案1在命令檔中同時記錄遠端命令和開關參數,技術方案2可以僅僅在命令檔中記錄遠端命令,並透過觸發請求攜帶所述命令檔中遠端命令的開關參數;這樣,步驟B1可以依據所述位址資訊從所述命令檔中讀取遠端命令,並將讀取的遠端命令與所述觸發請求中攜帶的開關參數進行關聯,以獲取遠端命令及其對應的開關參數。
需要說明的是,本申請實施例中的觸發請求可由使用者透過鍵盤、滑鼠等輸入方式輸入,本申請實施例對於上述觸發請求的具體獲取方式不加以限制。
可以理解,上述技術方案1和技術方案2只是作為依據所述觸發請求,獲取遠端命令及其對應的開關參數的可 選技術方案,實際上,本領域技術人員還可以根據實際應用需求,採用依據所述觸發請求,獲取遠端命令及其對應的開關參數的其他技術方案,例如,可以提供預置介面,以使使用者透過該預置介面提交觸發請求,並在該觸發請求中攜帶遠端命令及其對應的開關參數,其中,該觸發請求中可以攜帶多個遠端命令及其對應的開關參數、或者可以攜帶多個遠端命令及每個遠端命令對應的開關參數等,本申請實施例對於依據所述觸發請求,獲取遠端命令及其對應的開關參數的具體技術方案不加以限制。
步驟203、向伺服器發送所述遠端命令;在本申請的一種應用示例中,用戶端可以向伺服器發送所述遠端命令對應的字串,以通知伺服器執行上述遠端命令,其中,可以一次發送一個遠端命令,也可以一次發送多個遠端命令。
而伺服器在接收到上述遠端命令後,可以判斷上述遠端命令是否需要用戶端進行交互(例如,是否需要輸入密碼等),若需要,則可以在向用戶端發送的回應資料中攜帶對應的交互提示資訊,若不需要,則可以在向用戶端發送的回應資料中攜帶對應的處理結果。
步驟204、接收所述伺服器針對所述遠端命令返回的回應資料;在本申請的一種可選實施例中,所述接收所述伺服器針對所述遠端命令返回的回應資料的步驟204,具體可以包括:
步驟C1、從用戶端的SOCKET(通訊端)介面中讀取所述伺服器針對所述遠端命令返回的回應資料段。
上述可選實施例可以適用於大資料量傳輸場景,其中,上述通訊端介面可由用戶端的作業系統提供,上述回應資料段中可以包含大資料量的資料,例如,其長度可以為4096 bytes,可以理解,本申請實施例對於上述回應資料段的具體長度不加以限制。
步驟205、在所述遠端命令對應的開關參數為關閉時,將所述回應資料輸出。
在本申請的一種可選實施例中,上述步驟205將所述回應資料輸出的過程具體可以包括:在所述遠端命令對應的開關參數為關閉時,直接透過資料流程將上述回應資料展示在顯示裝置上,亦即,可以直接將上述回應資料提供給使用者;由於對於非互動式命令,可以不進行返回資料的攔截和查找操作,因此,能夠節省返回資料的攔截和查找操作所花費的耗時。
在本申請實施例的另一種可選實施例中,在從用戶端的SOCKET(通訊端)介面中讀取所述伺服器針對所述遠端命令返回的回應資料段的情況下,所述在所述遠端命令對應的開關參數為關閉時,將所述回應資料輸出的步驟205,具體可以包括:在所述回應資料段的內容不為空、且所述遠端命令對應的開關參數為關閉時,將所述回應資料輸出。在實際應用中,本可選實施例可以首先判斷回應資料段的內容是否為空,若不為空,則可以判斷所述遠端 命令對應的開關參數是否為關閉,在所述回應資料段的內容不為空、且所述遠端命令對應的開關參數為關閉時,將所述回應資料輸出。
在本申請的再一種可選實施例中,在所述回應資料段的內容為空時,可以結束本申請實施例中遠端命令的處理流程。
綜上,本申請實施例可以依據遠端命令的觸發請求,獲取遠端命令及其對應的開關參數,並在所述遠端命令對應的開關參數為關閉時,將所述回應資料輸出;由於本申請實施例在所述遠端命令對應的開關參數為關閉時,可以不進行返回資料的攔截和查找操作,因此,能夠節省返回資料的攔截和查找操作所花費的耗時,從而能夠提高IO處理性能,並且,能夠提高遠端命令的執行速度。
方法實施例二
參照圖3,示出了本申請的一種遠端命令的處理方法實施例二的步驟流程圖,具體可以包括如下步驟:步驟301、接收遠端命令的觸發請求;步驟302、依據所述觸發請求,獲取遠端命令及其對應的開關參數;步驟303、向伺服器發送所述遠端命令;步驟304、接收所述伺服器針對所述遠端命令返回的回應資料;步驟305、在所述遠端命令對應的開關參數為關閉 時,將所述回應資料輸出;相對於圖2所示方法實施例一,本實施例的方法還可以包括:步驟306、在所述遠端命令對應的開關參數為開啟時,將所述回應資料進行攔截;步驟307、從所攔截的回應資料中查找需要用戶端進行交互的互動式命令;步驟308、輸出所述互動式命令對應的交互提示資訊。
本實施例的步驟306-步驟308對回應資料進行攔截和查找處理,以從該回應資料中識別出需要用戶端進行交互的互動式命令,進而可以得到對應的交互提示資訊資訊。
在本申請的一種可選實施例中,上述步驟307具體可以包括:對回應資料進行攔截,對所攔截的回應資料按行(\r、\n、\r\n)進行切割,並對每一個當前行判斷其是否包含預置關鍵字(sudo、password);若是,則可以輸出提示框,提示用戶端進行交互;若否,則可以將當前行對應的回應資料輸出,並透過步驟307繼續下一次判斷直至所有回應數據被處理完畢。
參照圖4,示出了本申請的一種回應資料的示意,其中,Fabric可以對10.125.0.171(伺服器)返回的回應資料進行攔截和查找處理,其中,在發現某行回應資料包含有“password”關鍵字時,可以輸出交互提示資訊“out:[sudo]password for xiong.xiaox:”,以提示使用者輸入密 碼,在使用者輸入密碼之後,Fabric可以將用戶輸入的密碼發送回10.125.0.171伺服器,以使伺服器對該密碼進行認證;其中,在該密碼的認證通過時,伺服器可以繼續執行對應的遠端命令,並向用戶端發送對應的回應資料,其中,該回應資料中可以包括遠端命令的執行結果;而在該密碼的認證不通過時,伺服器可以拒絕執行對應的遠端命令,並向用戶端發送對應的回應資料,其中,該回應資料中可以包括遠端命令的密碼錯誤結果。可以理解,上述只是作為回應資料的處理過程示例,實際上,本申請實施例對於回應資料的具體處理過程不加以限制。
方法實施例三
參照圖5,示出了本申請的一種遠端命令的處理方法實施例三的步驟流程圖,具體可以包括如下步驟:步驟501、用戶端接收遠端命令的觸發請求;步驟502、用戶端依據所述觸發請求,獲取遠端命令及其對應的開關參數;步驟503、用戶端向伺服器發送所述遠端命令;步驟504、用戶端從通訊端介面中讀取所述伺服器針對所述遠端命令返回的回應資料段;步驟505、用戶端判斷上述回應資料段的資料是否為空,若是,則結束流程,否則,執行步驟506;步驟506、用戶端判斷所述遠端命令對應的開關參數是否為關閉,若是,則執行步驟507,否則,執行步驟 508;步驟507、用戶端將所述回應資料輸出;步驟508、用戶端將所述回應資料進行攔截;步驟509、用戶端從所攔截的回應資料中查找需要用戶端進行交互的互動式命令;步驟510、用戶端輸出所述互動式命令對應的交互提示資訊。
需要說明的是,在本申請的一種可選實施例中,步驟507還可以將回應資料寫入快取,以備遠端命令的處理需要。
需要說明的是,對於方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領域技術人員應該知悉,本申請實施例並不受所描述的動作順序的限制,因為依據本申請實施例,某些步驟可以採用其他順序或者同時進行。其次,本領域技術人員也應該知悉,說明書中所描述的實施例均屬於較佳實施例,所涉及的動作並不一定是本申請實施例所必須的。
裝置實施例
參照圖6,示出了本申請的一種遠端命令的處理裝置實施例的結構框圖,具體可以包括如下模組:第一接收模組601,用於接收遠端命令的觸發請求;獲取模組602,用於依據所述觸發請求,獲取遠端命令及其對應的開關參數; 發送模組603,用於向伺服器發送所述遠端命令;第二接收模組604,用於接收所述伺服器針對所述遠端命令返回的回應資料;以及第一輸出模組605,用於在所述遠端命令對應的開關參數為關閉時,將所述回應資料輸出。
在本申請的一種可選實施例中,所述觸發請求中可以攜帶有命令檔的位址資訊,則所述獲取模組602,具體可以包括:第一獲取子模組,用於依據所述位址資訊,從所述命令檔中讀取遠端命令及其對應的開關參數。
在本申請的另一種可選實施例中,所述觸發請求中可以攜帶有命令檔的位址資訊和所述命令檔中遠端命令的開關參數,則所述獲取模組602,具體可以包括:第二獲取子模組,用於依據所述位址資訊,從所述命令檔中讀取遠端命令,並將讀取的遠端命令與所述觸發請求中攜帶的開關參數進行關聯。
在本申請的再一種可選實施例中,所述裝置還可以包括:攔截模組,用於在所述遠端命令對應的開關參數為開啟時,將所述回應資料進行攔截;查找模組,用於從所攔截的回應資料中查找需要用戶端進行交互的互動式命令;第二輸出模組,用於輸出所述互動式命令對應的交互提示資訊。
在本申請的又一種可選實施例中,所述第二接收模組603,具體可以包括:讀取子模組,用於從用戶端的通訊端介面中讀取所述伺服器針對所述遠端命令返回的回應資料段。
在本申請的一種可選實施例中,所述第一輸出模組605,具體可以包括:輸出子模組,用於在所述回應資料段的內容不為空、且所述遠端命令對應的開關參數為關閉時,將所述回應資料輸出。
對於裝置實施例而言,由於其與方法實施例基本相似,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。
本說明書中的各個實施例均採用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。
本領域內的技術人員應明白,本申請實施例的實施例可提供為方法、裝置、或電腦程式產品。因此,本申請實施例可採用完全硬體實施例、完全軟體實施例、或結合軟體和硬體方面的實施例的形式。而且,本申請實施例可採用在一個或多個其中包含有電腦可用程式碼的電腦可用儲存媒體(包括但不限於磁碟記憶體、CD-ROM、光學記憶體等)上實施的電腦程式產品的形式。
在一個典型的配置中,所述電腦設備包括一個或多個處理器(CPU)、輸入/輸出介面、網路介面和記憶體。記憶 體可能包括電腦可讀媒體中的非永久性記憶體,隨機存取記憶體(RAM)和/或非揮發性記憶體等形式,如唯讀記憶體(ROM)或快閃記憶體(flash RAM)。記憶體是電腦可讀媒體的示例。電腦可讀媒體包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術來實現資訊儲存。資訊可以是電腦可讀指令、資料結構、程式的模組或其他資料。電腦的儲存媒體的例子包括,但不限於相變記憶體(PRAM)、靜態隨機存取記憶體(SRAM)、動態隨機存取記憶體(DRAM)、其他類型的隨機存取記憶體(RAM)、唯讀記憶體(ROM)、電可擦除可程式設計唯讀記憶體(EEPROM)、快閃記憶體或其他記憶體技術、唯讀光碟唯讀記憶體(CD-ROM)、數位多功能光碟(DVD)或其他光學儲存、磁盒式磁帶,磁帶磁片儲存或其他磁性存放裝置或任何其他非傳輸媒體,可用於儲存可以被計算設備訪問的資訊。按照本文中的界定,電腦可讀媒體不包括非持續性的電腦可讀媒體(transitory media),如調製的資料信號和載波。
本申請實施例是參照根據本申請實施例的方法、終端設備(系統)、和電腦程式產品的流程圖和/或方框圖來描述的。應理解可由電腦程式指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些電腦程式指令到通用電腦、專用電腦、嵌入式處理機或其他可程式設計資料處理終端設備的處理器以產生一個機器,使得透過電腦或其 他可程式設計資料處理終端設備的處理器執行的指令產生用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些電腦程式指令也可儲存在能引導電腦或其他可程式設計資料處理終端設備以特定方式工作的電腦可讀記憶體中,使得儲存在該電腦可讀記憶體中的指令產生包括指令裝置的製造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些電腦程式指令也可裝載到電腦或其他可程式設計資料處理終端設備上,使得在電腦或其他可程式設計終端設備上執行一系列操作步驟以產生電腦實現的處理,從而在電腦或其他可程式設計終端設備上執行的指令提供用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
儘管已描述了本申請實施例的較佳實施例,但本領域內的技術人員一旦得知了基本創造性概念,則可對這些實施例做出另外的變更和修改。所以,所附申請專利範圍意欲解釋為包括較佳實施例以及落入本申請實施例範圍的所有變更和修改。
最後,還需要說明的是,在本文中,諸如第一和第二等之類的關係術語僅僅用來將一個實體或者操作與另一個實體或操作區分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關係或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的 包含,從而使得包括一系列要素的過程、方法、物品或者終端設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者終端設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個......”限定的要素,並不排除在包括所述要素的過程、方法、物品或者終端設備中還存在另外的相同要素。
以上對本申請所提供的一種遠端命令的處理方法和一種遠端命令的處理裝置,進行了詳細介紹,本文中應用了具體個例對本申請的原理及實施方式進行了闡述,以上實施例的說明只是用於幫助理解本申請的方法及其核心思想;同時,對於本領域的一般技術人員,依據本申請的思想,在具體實施方式及應用範圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本申請的限制。

Claims (8)

  1. 一種遠端命令的處理方法,其特徵在於,包括:接收遠端命令的觸發請求;依據該觸發請求,獲取遠端命令及其對應的開關參數;向伺服器發送該遠端命令;接收該伺服器針對該遠端命令返回的回應資料;在該遠端命令對應的開關參數為關閉時,將該回應資料輸出,其中,所述方法還包括:在該遠端命令對應的開關參數為開啟時,將該回應資料進行攔截;從所攔截的回應資料中查找需要用戶端進行交互的互動式命令;輸出該互動式命令對應的交互提示資訊。
  2. 根據申請專利範圍第1項所述的方法,其中,該觸發請求中攜帶有命令檔的位址資訊,則該依據所述觸發請求,獲取遠端命令及其對應的開關參數的步驟,包括:依據該位址資訊,從該命令檔中讀取遠端命令及其對應的開關參數。
  3. 根據申請專利範圍第1項所述的方法,其中,該觸發請求中攜帶有命令檔的位址資訊和該命令檔中遠端命令的開關參數,則所述依據該觸發請求,獲取遠端命令及其對應的開關參數的步驟,包括:依據該位址資訊,從該命令檔中讀取遠端命令,並將 讀取的遠端命令與該觸發請求中攜帶的開關參數進行關聯。
  4. 根據申請專利範圍第1至3項中任一項所述的方法,其中,所述接收該伺服器針對該遠端命令返回的回應資料的步驟,包括:從用戶端的通訊端介面中讀取該伺服器針對該遠端命令返回的回應資料段。
  5. 根據申請專利範圍第4項所述的方法,其中,所述在該遠端命令對應的開關參數為關閉時,將該回應資料輸出的步驟,包括:在該回應資料段的內容不為空、且該遠端命令對應的開關參數為關閉時,將該回應資料輸出。
  6. 一種遠端命令的處理裝置,其特徵在於,包括:第一接收模組,用於接收遠端命令的觸發請求;獲取模組,用於依據該觸發請求,獲取遠端命令及其對應的開關參數;發送模組,用於向伺服器發送該遠端命令;第二接收模組,用於接收該伺服器針對該遠端命令返回的回應資料;以及第一輸出模組,用於在該遠端命令對應的開關參數為關閉時,將該回應資料輸出,其中,該裝置還包括:攔截模組,用於在該遠端命令對應的開關參數為開啟時,將該回應資料進行攔截;查找模組,用於從所攔截的回應資料中查找需要用戶 端進行交互的互動式命令;第二輸出模組,用於輸出該互動式命令對應的交互提示資訊。
  7. 根據申請專利範圍第6項所述的裝置,其中,所述觸發請求中攜帶有命令檔的位址資訊,則該獲取模組,包括:第一獲取子模組,用於依據該位址資訊,從該命令檔中讀取遠端命令及其對應的開關參數。
  8. 根據申請專利範圍第6項所述的裝置,其中,該觸發請求中攜帶有命令檔的位址資訊和該命令檔中遠端命令的開關參數,則該獲取模組,包括:第二獲取子模組,用於依據該位址資訊,從該命令檔中讀取遠端命令,並將讀取的遠端命令與該觸發請求中攜帶的開關參數進行關聯。
TW106105967A 2016-03-31 2017-02-22 遠端命令的處理方法和裝置 TWI738726B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201610202831.6A CN107291524B (zh) 2016-03-31 2016-03-31 一种远程命令的处理方法和装置
CN201610202831.6 2016-03-31

Publications (2)

Publication Number Publication Date
TW201737065A TW201737065A (zh) 2017-10-16
TWI738726B true TWI738726B (zh) 2021-09-11

Family

ID=59962563

Family Applications (1)

Application Number Title Priority Date Filing Date
TW106105967A TWI738726B (zh) 2016-03-31 2017-02-22 遠端命令的處理方法和裝置

Country Status (3)

Country Link
CN (1) CN107291524B (zh)
TW (1) TWI738726B (zh)
WO (1) WO2017167103A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110336770A (zh) * 2019-04-04 2019-10-15 平安科技(深圳)有限公司 远程监测漏洞的方法、装置、设备和存储介质
CN113190296A (zh) * 2021-05-19 2021-07-30 瀚高基础软件股份有限公司 基于Paramiko的交互式命令执行方法及装置
CN115314536B (zh) * 2022-08-03 2024-02-02 平安付科技服务有限公司 远程执行命令方法及装置、存储介质、计算机设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101105781A (zh) * 2006-07-11 2008-01-16 三星电子株式会社 命令处理设备、命令处理系统及处理命令的方法
CN103746843A (zh) * 2013-12-31 2014-04-23 百度在线网络技术(北京)有限公司 一种用于处理rpc命令的方法与设备
US20150081688A1 (en) * 2006-07-26 2015-03-19 International Business Machines Corporation Results from search providers using a browsing-time relevancy factor
TW201512984A (zh) * 2013-09-27 2015-04-01 Mitsubishi Electric Corp 客戶端伺服器之程式產生裝置以及客戶端伺服器之程式產生的程式產品
CN104486133A (zh) * 2014-12-26 2015-04-01 大唐移动通信设备有限公司 网元代理管理的方法及系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102035748B (zh) * 2010-12-31 2014-07-30 深圳市深信服电子科技有限公司 一种基于应用的流量控制方法及流量控制器
CN102739440A (zh) * 2012-05-24 2012-10-17 大唐移动通信设备有限公司 一种硬件设备的访问方法及装置
CN104796279B (zh) * 2014-01-21 2018-05-22 腾讯科技(深圳)有限公司 请求包的处理方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101105781A (zh) * 2006-07-11 2008-01-16 三星电子株式会社 命令处理设备、命令处理系统及处理命令的方法
US20150081688A1 (en) * 2006-07-26 2015-03-19 International Business Machines Corporation Results from search providers using a browsing-time relevancy factor
TW201512984A (zh) * 2013-09-27 2015-04-01 Mitsubishi Electric Corp 客戶端伺服器之程式產生裝置以及客戶端伺服器之程式產生的程式產品
CN103746843A (zh) * 2013-12-31 2014-04-23 百度在线网络技术(北京)有限公司 一种用于处理rpc命令的方法与设备
CN104486133A (zh) * 2014-12-26 2015-04-01 大唐移动通信设备有限公司 网元代理管理的方法及系统

Also Published As

Publication number Publication date
TW201737065A (zh) 2017-10-16
WO2017167103A1 (zh) 2017-10-05
CN107291524B (zh) 2020-04-07
CN107291524A (zh) 2017-10-24

Similar Documents

Publication Publication Date Title
EP3158480B1 (en) Data query method and apparatus
US10853356B1 (en) Persistent metadata catalog
US8468120B2 (en) Systems and methods for tracking and reporting provenance of data used in a massively distributed analytics cloud
WO2021184725A1 (zh) 用户界面测试方法、装置、存储介质及计算机设备
JP2019532550A (ja) データ保存、データチェック、及びデータ連結の方法及び装置
US8468146B2 (en) System and method for creating search index on cloud database
TWI738726B (zh) 遠端命令的處理方法和裝置
US9600567B2 (en) Local context search results improvements
WO2019161645A1 (zh) 基于Shell的数据表提取方法、终端、设备及存储介质
WO2014110940A1 (en) A method, apparatus and system for storing, reading the directory index
CN112905854A (zh) 数据处理方法、装置、计算设备及存储介质
US20140201214A1 (en) Creating a file descriptor independent of an open operation
CN107423037B (zh) 应用程序接口定位方法及设备
US10394788B2 (en) Schema-free in-graph indexing
CN109726217A (zh) 一种数据库操作方法、装置、设备及存储介质
CN112861182A (zh) 数据库的查询方法、系统及计算机设备、存储介质
CN109657167B (zh) 数据采集方法、装置、服务器及存储介质
US20190243807A1 (en) Replication of data in a distributed file system using an arbiter
US9648103B2 (en) Non-uniform file access in a distributed file system
TWI710918B (zh) 一種lsm樹的優化方法、裝置及電腦設備
US10146791B2 (en) Open file rebalance
CN111125216A (zh) 数据导入Phoenix的方法及装置
US11803649B2 (en) Fast access to a data resource update in a blockchain network
CN114547206A (zh) 一种数据同步方法和数据同步系统
TW201926017A (zh) 電子裝置與其視窗管理方法