TWI767198B - Computer program product and apparatus for controlling nodes with heterogeneous platforms - Google Patents
Computer program product and apparatus for controlling nodes with heterogeneous platforms Download PDFInfo
- Publication number
- TWI767198B TWI767198B TW109108845A TW109108845A TWI767198B TW I767198 B TWI767198 B TW I767198B TW 109108845 A TW109108845 A TW 109108845A TW 109108845 A TW109108845 A TW 109108845A TW I767198 B TWI767198 B TW I767198B
- Authority
- TW
- Taiwan
- Prior art keywords
- client
- string
- endpoint
- java script
- command
- Prior art date
Links
Images
Landscapes
- Computer And Data Communications (AREA)
- Warehouses Or Storage Devices (AREA)
Abstract
Description
本發明關連於一種控制技術,特別是一種控制異質平台端點的電腦程式產品及裝置。The present invention relates to a control technology, in particular to a computer program product and device for controlling endpoints of heterogeneous platforms.
因應大數據與平行處理的廣泛應用,控制端及電腦叢集的端點之間需要點對點的命令與資料傳輸,用於完成特定的控制操作。然而,控制端及電腦叢集的端點可能都部署在不同種類的平台上,例如,Java、VB6.0、.NET等,使得命令與資料傳輸可能受限在同一種類的平台中才能實現。因此,需要一種控制異質平台端點的電腦程式產品及裝置,解決如上所述的限制。In response to the wide application of big data and parallel processing, point-to-point command and data transmission is required between the control terminal and the endpoints of the computer cluster to complete specific control operations. However, the control terminal and the endpoints of the computer cluster may be deployed on different types of platforms, such as Java, VB6.0, .NET, etc., so that command and data transmission may be limited to the same type of platform. Therefore, there is a need for a computer program product and apparatus for controlling heterogeneous platform endpoints that addresses the above limitations.
有鑑於此,如何減輕或消除上述相關領域的缺失,實為有待解決的問題。In view of this, how to alleviate or eliminate the above-mentioned deficiencies in related fields is a problem to be solved.
本說明書涉及一種控制異質平台端點的電腦程式產品,包含能夠被中央控制器的處理單元載入並執行的程式碼:提供爪哇劇本物件表示(JavaScript Object Notation,JSON)字串,其中,JSON字串裝載封包物件,而封包物件中包含需要執行的客戶端指令;以及依據封包物件中屬性的值將JSON字串傳送到端點,使得端點能夠從封包物件取得客戶端指令並據以執行。This specification relates to a computer program product for controlling endpoints of heterogeneous platforms, including code that can be loaded and executed by a processing unit of a central controller: providing a Java script object representation (JavaScript Object Notation, JSON) string, wherein the JSON word The string loads the package object, and the package object contains the client command to be executed; and transmits the JSON string to the endpoint according to the value of the property in the package object, so that the endpoint can obtain the client command from the package object and execute it accordingly.
本說明書更另涉及一種控制異質平台端點的裝置,包含通訊介面和處理單元。通訊介面經由網路耦接端點。處理單元耦接通訊介面,提供爪哇劇本物件表示(JavaScript Object Notation,JSON)字串,其中,JSON字串裝載封包物件,而封包物件中包含需要執行的客戶端指令;以及依據封包物件中屬性的值將JSON字串傳送到端點,其中,屬性的值為端點的識別碼,使得端點能夠執行封包物件中的客戶端運行方法來取得客戶端指令並據以執行。The present specification further relates to an apparatus for controlling endpoints of heterogeneous platforms, including a communication interface and a processing unit. The communication interface is coupled to the endpoints via the network. The processing unit is coupled to the communication interface and provides a Java script object representation (JavaScript Object Notation, JSON) string, wherein the JSON string contains a package object, and the package object contains client instructions to be executed; The value sends a JSON string to the endpoint, where the value of the property is the endpoint's identifier, enabling the endpoint to execute the client-side run method in the package object to obtain client-side commands and execute them accordingly.
上述實施例的優點之一,通過如上所述使用JSON字串來裝載能夠被異質平台端點辨認的封包物件,可以實現中央控制器對異質平台端點的控制。One of the advantages of the above embodiment is that by using JSON strings to load the packet objects that can be recognized by the heterogeneous platform endpoints, the central controller can control the heterogeneous platform endpoints.
本發明的其他優點將搭配以下的說明和圖式進行更詳細的解說。Other advantages of the present invention will be explained in more detail in conjunction with the following description and drawings.
以下說明為完成發明的較佳實現方式,其目的在於描述本發明的基本精神,但並不用以限定本發明。實際的發明內容必須參考之後的權利要求範圍。The following description is a preferred implementation manner to complete the invention, and its purpose is to describe the basic spirit of the invention, but it is not intended to limit the invention. Reference must be made to the scope of the following claims for the actual inventive content.
必須了解的是,使用於本說明書中的“包含”、“包括”等詞,用以表示存在特定的技術特徵、數值、方法步驟、作業處理、元件以及/或組件,但並不排除可加上更多的技術特徵、數值、方法步驟、作業處理、元件、組件,或以上的任意組合。It must be understood that the words "comprising" and "including" used in this specification are used to indicate the existence of specific technical features, values, method steps, operation processes, elements and/or components, but do not exclude the possibility of adding More technical features, values, method steps, job processes, elements, components, or any combination of the above.
於權利要求中使用如“第一”、“第二”、“第三”等詞是用來修飾權利要求中的元件,並非用來表示之間具有優先順序,前置關係,或者是一個元件先於另一個元件,或者是執行方法步驟時的時間先後順序,僅用來區別具有相同名字的元件。The use of words such as "first", "second", "third", etc. in the claims is used to modify the elements in the claims, and is not used to indicate that there is a priority order, a preceding relationship between them, or an element Prior to another element, or chronological order in which method steps are performed, is only used to distinguish elements with the same name.
圖1係依據本發明實施例的網路系統架構圖。網路系統10包含任務伺服器(Task Server)150,用於提供各式各樣的服務。例如,可以提供檔案傳輸通訊協議(File Transfer Protocol,FTP)、超文本傳輸協定(Hypertext Transfer Protocol,HTTP)、超文本傳輸安全協定(Hypertext Transfer Protocol Secure,HTTPS Request)、電子郵件管理、應用程式管理的服務,或上述任意組合的服務。應用程式管理可部署到任務伺服器150而成為應用程式伺服器,包含各式各樣的業務邏輯,可涵蓋但不限於數位銀行管理、網路銀行、行動客服、企業內部流程管理、大數據存儲、大數據資料整合、大數據資料檢索等領域。網路系統10可包含由多部端點(Nodes)112、114和116組成的電腦叢集110,其中的每個端點被設定為執行相同的任務。網路系統10設置中央控制器(Central Controller)122和命令端(Command Node)124,形成控制群組(Control Group)120,用於發送命令、資料等給端點112、114和116中的一個,用於控制此端點請求任務伺服器150提供的特定服務,或者儲存資料到其中的儲存裝置。命令端124可執行演算法來協同端點112、114和116的運作,例如分散式計算、環境感測資料蒐集等。中央控制器122扮演在命令端124和端點112、114及116之間轉遞命令和資料的角色,而不負責端點112、114和116的協同運作。端點112、114和116可建構在相同或不同的平台上,例如端點112使用Java平台、端點114使用VB 6.0平台、端點116使用.NET平台等。電腦叢集110可擴充來包含更多的端點以提供更大量的服務,而控制群組120也可隨之擴充包含更多的命令端。端點112、114和116、中央控制器122和命令端124之間可透過網路100彼此通訊,網路100可為網際網路(Internet)、有線區域網路(wired Local Area Network,LAN)、無線區域網路、點對點網路(Peer-to-Peer,P2P Network),或以上的任意組合。FIG. 1 is an architecture diagram of a network system according to an embodiment of the present invention. The
在一些輕簡系統的實施例中,所屬技術領域人員可以把如上所述命令端124的功能整合到中央控制器122中,而不另外使用獨立的電腦裝置實施,本發明並不因此受限。命令端124和中央控制器122可統稱為控制節點。In some embodiments of the lightweight system, those skilled in the art can integrate the functions of the
在一些輕簡系統的實施例中,所屬技術領域人員可以把如上所述任務伺服器150提供的服務整合到端點112、114和116中的一個,而不另外使用獨立的電腦裝置實施,本發明並不因此受限。In some lightweight system embodiments, those skilled in the art can integrate the services provided by the
在另一些實施例中,端點112、114和116可以指實施運行在同一部電腦裝置但執行不同功能的應用程式,此時,端點112、114和116並不形成電腦叢集,本發明並不因此受限。In other embodiments, the
圖2係依據本發明實施例的運算裝置的系統架構圖。此系統架構可實施於端點112、114、116、中央控制器122、命令端124和任務伺服器中之任一者,至少包含處理單元210。處理單元210可使用多種方式實施,例如以專用硬體電路或通用硬體(例如,單一處理器、具平行處理能力的多處理器、圖形處理器或其他具運算能力的處理器),並且在執行程式碼或軟體時,提供之後所描述的功能。系統架構另包含記憶體250及儲存單元240,記憶體250儲存程式碼執行過程中需要的資料,例如,變數、資料表(Data Tables)等,儲存單元240儲存各式各樣的電子檔案,例如,網頁、文件、音訊檔、視訊檔等。系統架構另包含通訊介面260,讓處理單元210可藉以跟其他電子裝置進行溝通。通訊介面260可以是無線電信通訊模組(Wireless Telecommunications Module)、區域網路(Local Area Network, LAN)通訊模組或無線區域網路通訊模組(WLAN)。無線電信通訊模組(Wireless Telecommunications Module)可包含支援2G、3G、4G或以上技術世代的任意組合的調變解調器(Modem)。輸入裝置230可包含鍵盤、滑鼠、觸控面板等。使用者可按壓鍵盤上的硬鍵來輸入字元,藉由操作滑鼠來控制鼠標,或者是在觸控面板製造手勢來控制執行中的應用程式。手勢可包含單擊、雙擊、單指拖曳、多指拖曳等,但不限定於此。系統架構可選擇性的包含顯示單元220,而顯示單元220可包含顯示面板(例如,薄膜液晶顯示面板、有機發光二極體面板或其他具顯示能力的面板),用以顯示輸入的字元、數字、符號、拖曳鼠標的移動軌跡、繪製的圖案或應用程式所提供的畫面,提供給使用者觀看。FIG. 2 is a system architecture diagram of a computing device according to an embodiment of the present invention. This system architecture can be implemented in any one of the
圖3係依據本發明實施例的以圖1為基礎的另一面向的網路系統架構圖。中央控制器122的處理單元210可通過其通訊介面260分別和端點112、114、116及命令端124來建立傳輸控制協定(Transmission Control Protocol,TCP)連線352、354、356及358。需要注意的是,為了達成控制的目的,中央控制器122可以和端點112、114、116及命令端124中的每一個只建立一條TCP連線,避免因建立多於一條TCP連線時所耗費的運算資源和時間,例如三次握手(Three-way Handshake)處理。FIG. 3 is an architecture diagram of another oriented network system based on FIG. 1 according to an embodiment of the present invention. The
命令端124的處理單元210可在其記憶體250中配置緩衝器324的空間,用於暫存準備通過TCP連線358傳送到中央控制器122的爪哇劇本物件表示(JavaScript Object Notation,JSON)字串,其中,JSON字串裝載封包物件(Packet Objects),封包物件包含請求中央控制器122、端點112、114及116執行的指令。在這裡需要注意的是,因為不管端點運行的是甚麼平台都能夠解析JSON字串,所以,本發明實施例使用JSON字串來裝載封包物件。緩衝器324的空間可以實施訊息佇列(Message Queue),依據產生時間的先後順序暫存這些JSON字串。一旦命令端124產生了一個JSON字串,隨即將JSON字串入列(En-queue)到訊息佇列,也就是儲存到訊息佇列的底部,而不需要立即傳送到中央控制器122。命令端124的處理單元210可運行一個傳遞執行緒(Transmission Thread),在其通訊介面260可用的時間點讓指定JSON字串從訊息佇列出列(De-queue),也就是從訊息佇列的頂部取出JSON字串,並且通過其通訊介面260在TCP連線358下傳送此JSON字串到中央控制器122。從另一方面來說,中央控制器122的處理單元210可在其記憶體250中配置緩衝器322-8的空間,並實施為訊息佇列,用於依據到達的時間順序將通過TCP連線358從命令端124接收到的JSON字串入列,但不需要馬上取出來處理。中央控制器122的處理單元210另可運行一個接收執行緒(Reception Thread),在自己可用的時間點讓指定JSON字串從訊息佇列出列並加以處理。The
中央控制器122的處理單元210可在其記憶體250中配置緩衝器322-2的空間,用於暫存準備通過TCP連線352傳送到端點112的JSON字串,其中,JSON字串裝載封包物件,封包物件包含請求端點112執行的指令。緩衝器322-2的空間同樣可以實施訊息佇列,依據產生時間的先後順序暫存這些JSON字串。一旦中央控制器122產生了一個JSON字串,隨即將JSON字串入列到訊息佇列。中央控制器122的處理單元210可運行一個傳遞執行緒,在其通訊介面260可用的時間點讓指定JSON字串從訊息佇列出列,並且通過其通訊介面260在TCP連線352下傳送此JSON字串到端點112。從另一方面來說,端點112的處理單元210可在其記憶體250中配置緩衝器312的空間,並實施為訊息佇列,用於依據到達的時間順序將通過TCP連線352從命令端124接收到的JSON字串入列,但不需要馬上取出來處理。端點112的處理單元210另可運行一個接收執行緒,在自己可用的時間點讓指定JSON字串從訊息佇列出列並加以處理。所屬技術領域人員可依據如上所述關於緩衝器322-2、312和TCP連線352的技術細節來推論中央控制器122如何通過緩衝器322-4傳送JSON字串到端點114中的緩衝器314,以及通過緩衝器322-6傳送JSON字串到端點114中的緩衝器316,為求簡明不再贅述。The
不同於一些實施方式使用檔案進行裝置間命令和/或資料的傳送,通過緩衝器312、314、316、322-2~322~8及324的設置以及其訊息佇列和執行緒的應用,可避免封包物件在裝置間傳收時阻礙了其他資料、訊息的傳收,減少通訊介面的輸入/輸出阻塞。Unlike some implementations that use files for inter-device command and/or data transfer, through the settings of
為了可以在異質性平台上實作對端點的控制,圖4係依據本發明實施例的封包物件的類別圖(Class Diagram)。類別圖包含負載類別(Payload Class)”Payload”410,至少包含一個屬性:版本”version:long”的長整數;以及二個方法:不傳回值的伺服器運行”runOnServer():void”和客戶端運行”runOnClient():void”。負載類別410實作(Implements)TCP運行器類別450的介面(Interface),使得中央控制器122、命令端124、端點112、114、116可通過專屬的TCP連線傳送和/或接收封包物件。TCP運行器類別450不相依於其他模組,例如作業系統相關的模組,讓TCP運行器類別”TcpRunner”450的介面在實作時只要插入傳送(Send)和/或接收(Receive)的程式碼即可達成嵌入功能。負載類別410另實作JSON物件”JSONObj”類別460的介面(Interface),使得中央控制器122、命令端124、端點112、114、116可將封包物件序列化(Serialize)成JSON格式和/或將JSON格式反序列化(De-serialize)成封包物件。JSON類別460的介面在實作時只要插入序列化和/或反序列化的程式碼即可達成嵌入功能。負載類別410擴充(Extennd)客戶端物件”ClientObj”類別420。客戶端物件類別420至少包含二個屬性:客戶端識別碼的字串”clientId: String”和其他客戶的列表”toOtherClient: List”。如果需要區分傳送的封包物件是不同種類的物件或資料時,則可將負載類別410再區分出不同的子類別(Subclasss),降低中央控制器122處理封包物件的軟體複雜度。例如,第一種命令類別”CmdA”432擴充負載類別410,第二種命令類別”CmdB”434擴充負載類別410,並資料類別”DataC”436擴充負載類別410而成為不同子類別。In order to implement control of endpoints on a heterogeneous platform, FIG. 4 is a class diagram of a packaged object according to an embodiment of the present invention. The class diagram contains the payload class (Payload Class) "Payload" 410, which contains at least one attribute: a long integer of the version "version:long"; and two methods: the server runs "runOnServer():void" without returning a value and The client runs "runOnClient():void". The
關於封包物件的產生與傳遞,以下舉出兩個不同的使用案例。在第一個使用案例中,由命令端124產生封包物件,其中包含端點要執行的指令(簡稱客戶端指令),而中央控制器122只是負責轉傳封包物件給指定端點。在第二個使用案例中,由命令端124產生封包物件,其中包含伺服器端要執行的指令(簡稱伺服器端指令)。當中央控制器122執行伺服器端指令時,會產生客戶端指令,並且填寫客戶端指令到封包物件中。Regarding the generation and delivery of packaged objects, two different use cases are listed below. In the first use case, the
在第一個使用案例中,命令端124的處理單元210(為了方便說明,以下簡稱處理單元210)載入並執行相關程式碼時完成圖5所示的封包物件生成和傳送方法的流程圖,詳細說明如下:In the first use case, the
步驟S510:產生封包物件。處理單元210可產生相應於負載類別410、第一種命令類別”CmdA”432、第二種命令類別”CmdB”434或資料類別”DataC”436的封包物件。Step S510: Generate a package object. The
步驟S520:指定封包物件所欲傳送的端點。處理單元210可設定封包物件中的客戶端識別碼”clientId”的值或其他客戶列表”toOtherClient”的值。如果命令端124欲指定傳播給端點112,則可將端點112的媒體存取控制位址(Media Access Control,MAC Address),或者其他類型的識別碼設定為客戶端識別碼”clientId”的值。如果命令端124欲群播給端點112和114,則可將端點112和114的MAC位址或者其他類型的識別碼加到其他客戶列表”toOtherClient”中。如果命令端124欲廣播給所有端點,則可將端點112、114和116的MAC位址或者其他類型的識別碼加到其他客戶列表”toOtherClient”中。Step S520: Specify the endpoint to which the packet object is to be transmitted. The
步驟S540:填寫端點需要執行的客戶端指令到封包物件,使得收到封包物件的客戶端在執行客戶端運行方法”runOnClient()”時能夠取出客戶端指令。Step S540: Fill in the client command to be executed by the endpoint into the package object, so that the client receiving the package object can retrieve the client command when executing the client running method "runOnClient()".
步驟S550:將封包物件序列化成JSON格式字串。Step S550: Serialize the package object into a JSON format string.
步驟S560:將JSON格式字串入列。處理單元210可將JSON格式字串入列到其記憶體250中緩衝器324的佇列,使得處理單元210運行的傳遞執行緒能夠在其通訊介面260可用的時間點讓JSON格式字串從訊息佇列出列,並且通過其通訊介面260在TCP連線358下傳送此JSON格式字串到中央控制器122。Step S560: Enter the JSON format string into the column. The
在第一個使用案例中,中央控制器122的處理單元210(為了方便說明,以下簡稱處理單元210)載入並執行相關程式碼時完成圖6所示的封包物件轉遞方法的流程圖,詳細說明如下:In the first use case, the processing unit 210 (hereinafter referred to as the processing unit 210) of the
步驟S610:將JSON格式字串出列。處理單元210可運行接收執行緒,在自己可用的時間點讓JSON格式字串從其記憶體250中緩衝器324的訊息佇列出列。在這裡需要注意的是,此JSON格式字串是通過TCP連線358從命令端124接收來的。Step S610: dequeue the JSON format string. The
步驟S620:從JSON格式字串反序列化出封包物件。Step S620: Deserialize the package object from the JSON format string.
步驟S630:依據封包物件中指定的端點將原始JSON格式字串入列到相應的訊息佇列。處理單元210可依據封包物件中客戶端識別碼”clientId”的值或其他客戶列表”toOtherClient”的值來進行入列的處理,例如,入列到緩衝器322-2、322-4和322-6中至少一個的訊息佇列。在這裡需注意的是,處理單元210並不改變從緩衝器324中取出的JSON格式字串的內容。Step S630: Enqueue the original JSON format string to the corresponding message queue according to the endpoint specified in the packet object. The
在第二個使用案例中,命令端124的處理單元210(為了方便說明,以下簡稱處理單元210)載入並執行相關程式碼時完成圖7所示的封包物件生成和傳送方法的流程圖。其封包物件生成和傳送方法的步驟大致上和第一個使用案例的圖5的步驟相同。不同的是將步驟S540改為步驟S710。詳細說明如下:In the second use case, the
步驟S710:填寫中央控制器122需要執行的伺服器指令到封包物件,使得收到封包物件的中央控制器122在執行伺服器運行方法”runOnServer()”時能夠填寫需要端點執行的客戶端指令到封包物件。Step S710: Fill in the server command to be executed by the
在第二個使用案例中,中央控制器122的處理單元210(為了方便說明,以下簡稱處理單元210)載入並執行相關程式碼時完成圖8所示的封包物件生成和傳送方法的流程圖。其封包物件生成和傳送方法的前半部分和第一個使用案例的圖6的步驟相同。不同的部分,詳細說明如下:In the second use case, the
步驟S810:執行封包物件中的伺服器運行方法來填寫指定端點需要執行的端點指令到封包物件,使得收到封包物件的端點在執行客戶端運行方法”runOnClient()”時能夠取出客戶端指令。Step S810: Execute the server operation method in the package object to fill in the endpoint command to be executed by the specified endpoint into the package object, so that the endpoint receiving the package object can retrieve the client when executing the client operation method "runOnClient()" end command.
步驟S820:將新的封包物件序列化成JSON格式字串。在這裡需要注意的是,新的封包物件可以保留原來的伺服器端運行方法”runOnServer()”和客戶端識別碼”clientId”的值或其他客戶列表”toOtherClient”的值。Step S820: Serialize the new package object into a JSON format string. It should be noted here that the new package object can retain the original server-side running method "runOnServer()" and the value of the client ID "clientId" or the value of other client list "toOtherClient".
步驟S830:依據封包物件中指定的端點將新的JSON格式字串入列到相應的訊息佇列。處理單元210可依據封包物件中客戶端識別碼”clientId”的值或其他客戶列表”toOtherClient”的值來進行入列的處理,例如,入列到緩衝器322-2、322-4和322-6中至少一個的訊息佇列。Step S830: Enqueue the new JSON format string to the corresponding message queue according to the endpoint specified in the packet object. The
不管是如上所述的第一或第二使用案例,端點112、114和116中任一個的處理單元210(為了方便說明,以下簡稱處理單元210)載入並執行相關程式碼時完成圖9所示的封包物件接收和應用方法的流程圖,詳細說明如下:Whether it is the first or second use case as described above, the processing unit 210 (hereinafter referred to as the
步驟S910:將JSON格式字串出列。處理單元210可運行接收執行緒,在自己可用的時間點讓JSON字串從其記憶體250中緩衝器的訊息佇列出列。Step S910: dequeue the JSON format string. The
步驟S920:從JSON格式字串反序列化出封包物件。Step S920: Deserialize the package object from the JSON format string.
步驟S930:執行封包物件中的客戶端指令。處理單元210可執行封包物件中的客戶端運行方法,用於取得客戶端指令。接著,處理單元210執行客戶端指令來請求任務伺服器150提供的特定服務,或者儲存資料到其儲存裝置240。Step S930: Execute the client command in the package object. The
上述實施例的優點之一,通過如上所述使用JSON字串來裝載能夠被異質平台端點辨認的封包物件,可以實現中央控制器對異質平台端點的控制。One of the advantages of the above embodiment is that by using JSON strings to load the packet objects that can be recognized by the heterogeneous platform endpoints, the central controller can control the heterogeneous platform endpoints.
本發明所述的方法中的全部或部分步驟可以電腦程式實現,例如電腦的作業系統、電腦中特定硬體的驅動程式、或軟體應用程式。此外,也可實現於如上所示的其他類型程式。所屬技術領域具有通常知識者可將本發明實施例的方法撰寫成電腦程式,為求簡潔不再加以描述。依據本發明實施例方法實施的電腦程式,可儲存於適當的電腦可讀取資料載具,例如DVD、CD-ROM、USB碟、硬碟,亦可置於可通過網路(例如,網際網路,或其他適當載具)存取的網路伺服器。All or part of the steps in the method of the present invention can be implemented by a computer program, such as a computer's operating system, a specific hardware driver in the computer, or a software application. In addition, it can also be implemented in other types of programs as shown above. Those skilled in the art can write the methods of the embodiments of the present invention into computer programs, which are not described for brevity. The computer program implemented by the method according to the embodiment of the present invention can be stored in a suitable computer-readable data carrier, such as DVD, CD-ROM, USB disk, hard disk, or can be stored in a computer that can be accessed through a network (for example, the Internet route, or other suitable vehicle) to access the web server.
雖然圖2中包含了以上描述的元件,但不排除在不違反發明的精神下,使用更多其他的附加元件,已達成更佳的技術效果。此外,雖然圖5至圖9的步驟採用指定的順序來執行,但是在不違反發明精神的情況下,熟習此技藝人士可以在達到相同效果的前提下,修改這些步驟間的順序,所以,本發明並不侷限於僅使用如上所述的順序。此外,熟習此技藝人士亦可以將若干步驟整合為一個步驟,或者是除了這些步驟外,循序或平行地執行更多步驟,本發明亦不因此而侷限。Although the above-described elements are included in FIG. 2 , it is not excluded that more other additional elements may be used to achieve better technical effects without departing from the spirit of the invention. In addition, although the steps in FIG. 5 to FIG. 9 are performed in the specified order, those skilled in the art can modify the order of these steps on the premise of achieving the same effect without violating the spirit of the invention. Therefore, this The invention is not limited to using only the sequence described above. In addition, those skilled in the art can also integrate several steps into one step, or in addition to these steps, perform more steps sequentially or in parallel, and the present invention is not limited thereby.
雖然本發明使用以上實施例進行說明,但需要注意的是,這些描述並非用以限縮本發明。相反地,此發明涵蓋了熟習此技藝人士顯而易見的修改與相似設置。所以,申請權利要求範圍須以最寬廣的方式解釋來包含所有顯而易見的修改與相似設置。Although the present invention is described using the above embodiments, it should be noted that these descriptions are not intended to limit the present invention. On the contrary, this invention covers modifications and similar arrangements obvious to those skilled in the art. Therefore, the scope of the appended claims is to be construed in the broadest manner so as to encompass all obvious modifications and similar arrangements.
10:網路系統
100:網路
110:電腦叢集
112,114,116:端點
120:控制群組
122:中央控制器
124:命令端
150:任務伺服器
210:處理單元
220:顯示單元
230:輸入裝置
240:儲存裝置
250:記憶體
260:通訊介面
312,314,316,322-2,322-4,322-6,322-8,324:緩衝器
352,354,356,358:TCP連線
410:負載類別
420:客戶端物件類別
432,434:命令類別
436:資料類別
450:TCP運行器類別
460:JSON物件類別
S510~S560,S610~S630,S710,S810~S830,S910~S930:方法步驟10: Network System
100: Internet
110:
圖1係依據本發明實施例的網路系統架構圖。 圖2係依據本發明實施例的運算裝置的系統架構圖。 圖3係依據本發明實施例的以圖1為基礎的另一面向的網路系統架構圖。 圖4係依據本發明實施例的封包物件的類別圖。 圖5係依據本發明實施例的由命令端執行的封包物件生成和傳送的方法流程圖。 圖6係依據本發明實施例的由中央控制器執行的封包物件轉遞的方法流程圖。 圖7係依據本發明實施例的由命令端執行的封包物件生成和傳送的方法流程圖。 圖8係依據本發明實施例的由中央控制器執行的封包物件生成和傳送的方法流程圖。 圖9係依據本發明實施例的由端點執行的封包物件接收和應用的方法流程圖。FIG. 1 is an architecture diagram of a network system according to an embodiment of the present invention. FIG. 2 is a system architecture diagram of a computing device according to an embodiment of the present invention. FIG. 3 is an architecture diagram of another oriented network system based on FIG. 1 according to an embodiment of the present invention. FIG. 4 is a class diagram of a packaged object according to an embodiment of the present invention. 5 is a flowchart of a method for generating and transmitting a packet object executed by a command terminal according to an embodiment of the present invention. FIG. 6 is a flowchart of a method for packet object transfer performed by a central controller according to an embodiment of the present invention. FIG. 7 is a flowchart of a method for generating and transmitting a packet object executed by a command terminal according to an embodiment of the present invention. FIG. 8 is a flowchart of a method for generating and transmitting packaged objects executed by a central controller according to an embodiment of the present invention. FIG. 9 is a flowchart of a method for receiving and applying a packaged object executed by an endpoint according to an embodiment of the present invention.
S610~S630:方法步驟S610~S630: method steps
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW109108845A TWI767198B (en) | 2020-03-17 | 2020-03-17 | Computer program product and apparatus for controlling nodes with heterogeneous platforms |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW109108845A TWI767198B (en) | 2020-03-17 | 2020-03-17 | Computer program product and apparatus for controlling nodes with heterogeneous platforms |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202137020A TW202137020A (en) | 2021-10-01 |
TWI767198B true TWI767198B (en) | 2022-06-11 |
Family
ID=79601307
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109108845A TWI767198B (en) | 2020-03-17 | 2020-03-17 | Computer program product and apparatus for controlling nodes with heterogeneous platforms |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI767198B (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201329734A (en) * | 2011-09-12 | 2013-07-16 | Intel Corp | Metadata driven collaboration between applications and web services |
TW201346585A (en) * | 2011-12-28 | 2013-11-16 | Intel Corp | Method and apparatus for streaming metadata between devices using javascript and HTML5 |
TW201737123A (en) * | 2016-04-12 | 2017-10-16 | 國立中央大學 | Apparatus of using description file for actuation on internet of things |
CN108594670A (en) * | 2018-01-10 | 2018-09-28 | 河海大学常州校区 | A kind of robot Overpassing Platform by Using agreement and control method |
CN109992585A (en) * | 2019-04-01 | 2019-07-09 | 北京金和网络股份有限公司 | Data lead-in method for office management system |
-
2020
- 2020-03-17 TW TW109108845A patent/TWI767198B/en active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201329734A (en) * | 2011-09-12 | 2013-07-16 | Intel Corp | Metadata driven collaboration between applications and web services |
TW201346585A (en) * | 2011-12-28 | 2013-11-16 | Intel Corp | Method and apparatus for streaming metadata between devices using javascript and HTML5 |
TW201737123A (en) * | 2016-04-12 | 2017-10-16 | 國立中央大學 | Apparatus of using description file for actuation on internet of things |
CN108594670A (en) * | 2018-01-10 | 2018-09-28 | 河海大学常州校区 | A kind of robot Overpassing Platform by Using agreement and control method |
CN109992585A (en) * | 2019-04-01 | 2019-07-09 | 北京金和网络股份有限公司 | Data lead-in method for office management system |
Also Published As
Publication number | Publication date |
---|---|
TW202137020A (en) | 2021-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10491523B2 (en) | Load distribution in data networks | |
US8918452B2 (en) | Web API framework | |
US9485305B2 (en) | API platform that includes server-executed client-based code | |
US20160321104A1 (en) | Method and apparatus for scheduling concurrent task | |
JP2019102064A (en) | Method and apparatus for processing task in smart device | |
WO2017049945A1 (en) | Accelerator virtualization method and apparatus, and centralized resource manager | |
JP2017021818A (en) | Techniques for electronic aggregation of information | |
US11360600B2 (en) | System and method for early media buffering using prediction of user behavior | |
JPWO2008088026A1 (en) | Web server and method for managing sessions | |
JP2007141235A (en) | Apparatus and method for managing user interface | |
US20170171337A1 (en) | Scalable data feed system | |
US20080288955A1 (en) | Method and System for Managing Preferences in a Client Portlet Container | |
EP1872208A1 (en) | Method and apparatus to select and deliver portable portlets | |
US20190173960A1 (en) | Method, device and computer program product for protocol selection | |
CN109068153A (en) | Video broadcasting method, device and computer readable storage medium | |
JP7081014B2 (en) | Methods and devices for adjusting the number of instances, electronic devices, storage media and computer programs | |
JP6231981B2 (en) | Techniques for generating custom objects that represent content files | |
US20120030746A1 (en) | Devices and Methods for Using HTTP Encapsulation to Access Web Resources | |
US20130138782A1 (en) | Tiered xml services in a content management system | |
TWI767198B (en) | Computer program product and apparatus for controlling nodes with heterogeneous platforms | |
CN113965628A (en) | Message scheduling method, server and storage medium | |
US10742776B1 (en) | Accelerating isochronous endpoints of redirected USB devices | |
US20080144651A1 (en) | Method, system and program product for adapting to protocol changes | |
TWM597426U (en) | Computer program product and apparatus for controlling nodes with heterogeneous platforms | |
WO2016095377A1 (en) | Image display method and device for thin client and electronic equipment |