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 PDF

Info

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
Application number
TW109108845A
Other languages
Chinese (zh)
Other versions
TW202137020A (en
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 昕力資訊股份有限公司
Priority to TW109108845A priority Critical patent/TWI767198B/en
Publication of TW202137020A publication Critical patent/TW202137020A/en
Application granted granted Critical
Publication of TWI767198B publication Critical patent/TWI767198B/en

Links

Images

Landscapes

  • Computer And Data Communications (AREA)
  • Warehouses Or Storage Devices (AREA)

Abstract

The disclosure discloses a computer program product for controlling nodes with heterogeneous platforms being loaded and executed by a processing unit of a central controller to include program code to: provide a JavaScript Object Notation (JSON) string, which carries a packet object including client-side instructions to be executed; and transmit the JSON string to a node according to an attribute value of the packet object, thereby enabling the node to obtain the client-side instructions from the packet object to execute accordingly.

Description

控制異質平台端點的電腦程式產品及裝置Computer program products and devices for controlling heterogeneous platform endpoints

本發明關連於一種控制技術,特別是一種控制異質平台端點的電腦程式產品及裝置。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 network system 10 includes a task server (Task Server) 150 for providing various services. For example, File Transfer Protocol (FTP), Hypertext Transfer Protocol (HTTP), Hypertext Transfer Protocol Secure (HTTPS Request), email management, application management can be provided services, or any combination of the above. Application management can be deployed to the task server 150 to become an application server, including a variety of business logic, including but not limited to digital bank management, online banking, mobile customer service, enterprise internal process management, big data storage , big data data integration, big data data retrieval and other fields. The network system 10 may include a computer cluster 110 consisting of a plurality of Nodes 112, 114 and 116, each of which is configured to perform the same task. The network system 10 is provided with a Central Controller (Central Controller) 122 and a Command Node (Command Node) 124 to form a Control Group (Control Group) 120 for sending commands, data, etc. to one of the endpoints 112 , 114 and 116 , which is used to control this endpoint to request a specific service provided by the task server 150, or a storage device to store data therein. Command side 124 may execute algorithms to coordinate operations of endpoints 112, 114 and 116, such as distributed computing, environmental sensing data collection, and the like. The central controller 122 plays the role of relaying commands and data between the command terminal 124 and the endpoints 112 , 114 and 116 , and is not responsible for the cooperative operation of the endpoints 112 , 114 and 116 . Endpoints 112, 114, and 116 may be built on the same or different platforms, eg, endpoint 112 uses a Java platform, endpoint 114 uses a VB 6.0 platform, endpoint 116 uses a .NET platform, and the like. The computer cluster 110 can be expanded to include more endpoints to provide a larger number of services, and the control group 120 can also be expanded to include more command terminals accordingly. The endpoints 112 , 114 and 116 , the central controller 122 and the command terminal 124 can communicate with each other through the network 100 , and the network 100 can be the Internet or a wired Local Area Network (LAN). , wireless local area network, peer-to-peer network (Peer-to-Peer, P2P Network), or any combination of the above.

在一些輕簡系統的實施例中,所屬技術領域人員可以把如上所述命令端124的功能整合到中央控制器122中,而不另外使用獨立的電腦裝置實施,本發明並不因此受限。命令端124和中央控制器122可統稱為控制節點。In some embodiments of the lightweight system, those skilled in the art can integrate the functions of the command terminal 124 into the central controller 122 without additionally using an independent computer device for implementation, and the present invention is not limited thereby. The command terminal 124 and the central controller 122 may be collectively referred to as control nodes.

在一些輕簡系統的實施例中,所屬技術領域人員可以把如上所述任務伺服器150提供的服務整合到端點112、114和116中的一個,而不另外使用獨立的電腦裝置實施,本發明並不因此受限。In some lightweight system embodiments, those skilled in the art can integrate the services provided by the task server 150 as described above into one of the endpoints 112, 114 and 116 without additionally using a separate computer device for implementation. Inventions are not thus limited.

在另一些實施例中,端點112、114和116可以指實施運行在同一部電腦裝置但執行不同功能的應用程式,此時,端點112、114和116並不形成電腦叢集,本發明並不因此受限。In other embodiments, the endpoints 112, 114 and 116 may refer to implementing applications running on the same computer device but performing different functions. In this case, the endpoints 112, 114 and 116 do not form a computer cluster, and the present invention does not Not so limited.

圖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 endpoints 112 , 114 , 116 , the central controller 122 , the command terminal 124 and the task server, including at least the processing unit 210 . The processing unit 210 may be implemented in a variety of ways, such as in dedicated hardware circuits or general-purpose hardware (eg, a single processor, a multiprocessor with parallel processing capabilities, a graphics processor, or other processor capable of computing), and in When the code or software is executed, the functions described later are provided. The system architecture further includes a memory 250 and a storage unit 240. The memory 250 stores data required during the execution of the code, such as variables, data tables, etc., and the storage unit 240 stores various electronic files, such as , web pages, documents, audio files, video files, etc. The system architecture further includes a communication interface 260 for the processing unit 210 to communicate with other electronic devices. The communication interface 260 may be a wireless telecommunications module (Wireless Telecommunications Module), a local area network (LAN) communication module or a wireless local area network communication module (WLAN). The Wireless Telecommunications Module may include any combination of modems (Modem) supporting 2G, 3G, 4G or above technology generations. The input device 230 may include a keyboard, a mouse, a touch panel, and the like. The user can press hard keys on the keyboard to input characters, control the mouse by operating the mouse, or control the running application by making gestures on the touch panel. The gestures may include single-click, double-click, single-finger drag, multi-finger drag, etc., but are not limited thereto. The system architecture may optionally include a display unit 220, and the display unit 220 may include a display panel (eg, a thin-film liquid crystal display panel, an organic light-emitting diode panel, or other panels with display capability) for displaying input characters, Numbers, symbols, moving traces of dragging the mouse, drawn patterns or pictures provided by the application are provided to the user for viewing.

圖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 processing unit 210 of the central controller 122 can establish Transmission Control Protocol (TCP) connections 352 , 354 , 356 and 358 with the endpoints 112 , 114 , 116 and the command terminal 124 through its communication interface 260 , respectively. It should be noted that, in order to achieve the purpose of control, the central controller 122 can establish only one TCP connection with each of the endpoints 112, 114, 116 and the command terminal 124, so as to avoid the problem of establishing more than one TCP connection. Consumed computing resources and time, such as three-way handshake (Three-way Handshake) processing.

命令端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 processing unit 210 of the command-end 124 may allocate space in the memory 250 of the buffer 324 for temporarily storing Java script object representation (JavaScript Object Notation, JSON) words to be transmitted to the central controller 122 via the TCP connection 358 A string, wherein the JSON string contains Packet Objects, and the Packet Objects include commands that request the central controller 122 and the endpoints 112 , 114 and 116 to execute. It should be noted here that, because no matter what platform the endpoint runs on, the JSON string can be parsed. Therefore, the embodiment of the present invention uses the JSON string to load the packaged object. The space of the buffer 324 can implement a message queue (Message Queue), and temporarily store these JSON strings according to the order of generation time. Once the command terminal 124 generates a JSON string, the JSON string is then en-queued into the message queue, that is, stored at the bottom of the message queue, without immediately sending it to the central controller 122 . The processing unit 210 of the command-end 124 can run a transmission thread (Transmission Thread) to make the specified JSON string de-queue from the message queue at the time point when the communication interface 260 thereof is available, that is, from the message queue The JSON string is extracted from the top of the , and sent to the central controller 122 through its communication interface 260 under the TCP connection 358 . On the other hand, the processing unit 210 of the central controller 122 can allocate the space of the buffer 322-8 in its memory 250 and implement it as a message queue for connecting the TCP connections according to the time order of arrival 358 The JSON string received from the command terminal 124 is enqueued, but does not need to be retrieved immediately for processing. The processing unit 210 of the central controller 122 can also run a reception thread (Reception Thread), which allows the specified JSON string to be queued from the message and processed at its own available time point.

中央控制器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 processing unit 210 of the central controller 122 may configure space in the buffer 322-2 in its memory 250 for temporarily storing JSON strings to be transmitted to the endpoint 112 via the TCP connection 352, wherein the JSON strings contain A packet object contains instructions that request endpoint 112 to execute. The space of the buffer 322-2 can also implement message queue, and temporarily store these JSON strings according to the order of generation time. Once the central controller 122 generates a JSON string, it enqueues the JSON string into the message queue. The processing unit 210 of the central controller 122 may run a pass thread that queues the specified JSON string from the message at the point in time when its communication interface 260 is available, and transmits this over the TCP connection 352 through its communication interface 260 JSON string to endpoint 112. On the other hand, the processing unit 210 of the endpoint 112 may allocate space for the buffer 312 in its memory 250 and implement it as a message queue for sending commands over the TCP connection 352 according to the time order of arrival The JSON string received by the terminal 124 is queued, but does not need to be retrieved immediately for processing. The processing unit 210 of the endpoint 112 may also run a receive thread to queue the specified JSON string from the message and process it at its own available point in time. Those skilled in the art can infer how the central controller 122 transmits the JSON string to the buffer in the endpoint 114 through the buffer 322-4 based on the technical details of the buffers 322-2, 312 and the TCP connection 352 as described above. 314, and the transfer of the JSON string to the buffer 316 in the endpoint 114 through the buffer 322-6, which will not be repeated for brevity.

不同於一些實施方式使用檔案進行裝置間命令和/或資料的傳送,通過緩衝器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 buffers 312, 314, 316, 322-2~322~8, and 324 and the application of their message queues and threads, it is possible to To avoid the blockage of other data and messages when the packet object is transmitted and received between devices, and reduce the input/output blocking of the communication interface.

為了可以在異質性平台上實作對端點的控制,圖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 payload class 410 implements the interface of the TCP runner class 450 so that the central controller 122, the commander 124, the endpoints 112, 114, 116 can transmit and/or receive packet objects through dedicated TCP connections . The TCP runner class 450 is not dependent on other modules, such as operating system-related modules, so that the interface of the TCP runner class "TcpRunner" 450 only needs to insert the Send and/or Receive programs during implementation. code to achieve the embedded function. The payload class 410 is also implemented as an interface of the JSON object "JSONObj" class 460, so that the central controller 122, the command terminal 124, the endpoints 112, 114, 116 can serialize the packet objects into JSON format and/or Or De-serialize the JSON format into a packaged object. The interface of JSON class 460 can be implemented by inserting serialization and/or deserialization code to achieve the embedded function. The payload class 410 extends the client object “ClientObj” class 420 . The client object class 420 contains at least two attributes: the string "clientId: String" of the client identifier and the list of other clients "toOtherClient: List". If it is necessary to distinguish the transmitted packet objects from different types of objects or data, the payload class 410 can be further distinguished into different subclasses, thereby reducing the software complexity of the central controller 122 for processing the packet objects. For example, the first command class "CmdA" 432 extends the load class 410, the second command class "CmdB" 434 extends the load class 410, and the data class "DataC" 436 extends the load class 410 to become different subclasses.

關於封包物件的產生與傳遞,以下舉出兩個不同的使用案例。在第一個使用案例中,由命令端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 command terminal 124 generates the packet object, which contains the instructions to be executed by the endpoint (referred to as client instructions), and the central controller 122 is only responsible for forwarding the packet object to the designated endpoint. In the second use case, the command-side 124 generates a packet object, which contains the command to be executed by the server-side (referred to as the server-side command). When the central controller 122 executes the server-side command, a client-side command is generated, and the client-side command is filled into the packet object.

在第一個使用案例中,命令端124的處理單元210(為了方便說明,以下簡稱處理單元210)載入並執行相關程式碼時完成圖5所示的封包物件生成和傳送方法的流程圖,詳細說明如下:In the first use case, the processing unit 210 of the command terminal 124 (for the convenience of description, hereinafter referred to as the processing unit 210 ) loads and executes the relevant code to complete the flow chart of the method for generating and transmitting the packaged object shown in FIG. 5 , Details are as follows:

步驟S510:產生封包物件。處理單元210可產生相應於負載類別410、第一種命令類別”CmdA”432、第二種命令類別”CmdB”434或資料類別”DataC”436的封包物件。Step S510: Generate a package object. The processing unit 210 may generate a packet object corresponding to the load class 410 , the first command class “CmdA” 432 , the second command class “CmdB” 434 , or the data class “DataC” 436 .

步驟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 processing unit 210 can set the value of the client identifier "clientId" in the packet object or the value of the other client list "toOtherClient". If the command terminal 124 wants to specify the broadcast to the endpoint 112, it can set the media access control address (Media Access Control, MAC Address) of the endpoint 112, or other types of identifiers as the client identifier "clientId". value. If the commander 124 wants to multicast to the endpoints 112 and 114, it can add the MAC addresses or other types of identifiers of the endpoints 112 and 114 to the other client list "toOtherClient". If the commander 124 wants to broadcast to all endpoints, the MAC addresses or other types of identifiers of endpoints 112, 114 and 116 may be added to the other client list "toOtherClient".

步驟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 processing unit 210 can queue the JSON formatted string to the buffer 324 in its memory 250, so that a pass-through thread running by the processing unit 210 can transfer the JSON formatted string from the message at a point in time when its communication interface 260 is available. Queue the list and transmit the JSON formatted string to the central controller 122 via its communication interface 260 over the TCP connection 358.

在第一個使用案例中,中央控制器122的處理單元210(為了方便說明,以下簡稱處理單元210)載入並執行相關程式碼時完成圖6所示的封包物件轉遞方法的流程圖,詳細說明如下:In the first use case, the processing unit 210 (hereinafter referred to as the processing unit 210) of the central controller 122 loads and executes the relevant code to complete the flow chart of the packet object transfer method shown in FIG. 6 , Details are as follows:

步驟S610:將JSON格式字串出列。處理單元210可運行接收執行緒,在自己可用的時間點讓JSON格式字串從其記憶體250中緩衝器324的訊息佇列出列。在這裡需要注意的是,此JSON格式字串是通過TCP連線358從命令端124接收來的。Step S610: dequeue the JSON format string. The processing unit 210 may run a receive thread to queue the JSON format string from the message of the buffer 324 in its memory 250 at its own available point in time. It should be noted here that this JSON format string is received from the command terminal 124 through the TCP connection 358 .

步驟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 processing unit 210 can perform the enqueuing process according to the value of the client identifier "clientId" in the packet object or the value of the other client list "toOtherClient", for example, enqueuing into the buffers 322-2, 322-4 and 322- At least one of the 6 messages is queued. It should be noted here that the processing unit 210 does not change the content of the JSON format string fetched from the buffer 324 .

在第二個使用案例中,命令端124的處理單元210(為了方便說明,以下簡稱處理單元210)載入並執行相關程式碼時完成圖7所示的封包物件生成和傳送方法的流程圖。其封包物件生成和傳送方法的步驟大致上和第一個使用案例的圖5的步驟相同。不同的是將步驟S540改為步驟S710。詳細說明如下:In the second use case, the processing unit 210 of the command terminal 124 (hereinafter referred to as the processing unit 210 for convenience) loads and executes the relevant code to complete the flow chart of the method for generating and transmitting the packaged object shown in FIG. 7 . The steps of its packet object generation and delivery method are roughly the same as the steps in Figure 5 of the first use case. The difference is that step S540 is changed to step S710. Details are as follows:

步驟S710:填寫中央控制器122需要執行的伺服器指令到封包物件,使得收到封包物件的中央控制器122在執行伺服器運行方法”runOnServer()”時能夠填寫需要端點執行的客戶端指令到封包物件。Step S710: Fill in the server command to be executed by the central controller 122 into the packet object, so that the central controller 122 that receives the packet object can fill in the client command that needs to be executed by the endpoint when executing the server operation method "runOnServer()" to the package object.

在第二個使用案例中,中央控制器122的處理單元210(為了方便說明,以下簡稱處理單元210)載入並執行相關程式碼時完成圖8所示的封包物件生成和傳送方法的流程圖。其封包物件生成和傳送方法的前半部分和第一個使用案例的圖6的步驟相同。不同的部分,詳細說明如下:In the second use case, the processing unit 210 of the central controller 122 (hereinafter referred to as the processing unit 210 for convenience of description) loads and executes the relevant code to complete the flow chart of the method for generating and transmitting the packaged object shown in FIG. 8 . . The first half of its packet object generation and delivery method is the same as the steps in Figure 6 for the first use case. The different parts are detailed below:

步驟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 processing unit 210 can perform the enqueuing process according to the value of the client identifier "clientId" in the packet object or the value of the other client list "toOtherClient", for example, enqueuing into the buffers 322-2, 322-4 and 322- At least one of the 6 messages is queued.

不管是如上所述的第一或第二使用案例,端點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 processing unit 210 for convenience of description) of any of the endpoints 112, 114 and 116 loads and executes the relevant code to complete FIG. 9 . The flow chart of the method of receiving and applying the packaged object shown is detailed as follows:

步驟S910:將JSON格式字串出列。處理單元210可運行接收執行緒,在自己可用的時間點讓JSON字串從其記憶體250中緩衝器的訊息佇列出列。Step S910: dequeue the JSON format string. The processing unit 210 can run the receive thread to queue the JSON string from the message buffer in its memory 250 at the point in time when it is available.

步驟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 processing unit 210 can execute the client-side execution method in the package object for obtaining client-side instructions. Next, the processing unit 210 executes the client-side instruction to request a specific service provided by the task server 150 , or store data to its storage device 240 .

上述實施例的優點之一,通過如上所述使用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: Computer Cluster 112, 114, 116: Endpoints 120: Control group 122: Central Controller 124: Command side 150: Mission Server 210: Processing Unit 220: Display unit 230: Input Device 240: Storage Device 250: memory 260: Communication interface 312, 314, 316, 322-2, 322-4, 322-6, 322-8, 324: Buffer 352,354,356,358: TCP connection 410: Load Category 420: Client object class 432, 434: Command Category 436:Data Category 450: TCP Runner Class 460: JSON object class S510~S560, S610~S630, S710, S810~S830, S910~S930: method steps

圖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)

一種控制異質平台端點的電腦程式產品,包含能夠被一中央控制器的一處理單元載入並執行的程式碼:提供一第一爪哇劇本物件表示字串,其中,上述第一爪哇劇本物件表示字串裝載一第一封包物件,上述第一封包物件包含一負載類別、上述負載類別擴充的一客戶端物件類別與一客戶端指令,上述負載類別包含一版本的長整數、一伺服器運行方法與一客戶端運行方法;以及依據上述第一封包物件中的上述客戶端物件類別將上述第一爪哇劇本物件表示字串傳送到至少一端點,使得上述至少一端點執行上述第一封包物件中的上述客戶端運行方法,以取得上述客戶端指令來請求一任務伺服器提供一特定服務,或儲存資料到其包括的一儲存裝置。 A computer program product for controlling endpoints of heterogeneous platforms, comprising program codes that can be loaded and executed by a processing unit of a central controller: providing a first Java script object representation string, wherein the first Java script object represents The string contains a first packet object, the first packet object includes a load class, a client object class extended from the load class, and a client command, the load class includes a version long integer, and a server operation method and a client running method; and transmitting the first Java script object representation string to at least one endpoint according to the client object type in the first package object, so that the at least one endpoint executes the process in the first package object The client runs the method to obtain the client instruction to request a task server to provide a specific service or store data to a storage device included in the client. 如請求項1所述的控制異質平台端點的電腦程式產品,其中,上述客戶端物件類別包含上述至少一端點的識別碼。 The computer program product for controlling heterogeneous platform endpoints as claimed in claim 1, wherein the client object class includes an identification code of the at least one endpoint. 如請求項1所述的控制異質平台端點的電腦程式產品,包含程式碼:依據上述第一封包物件中的上述客戶端物件類別將上述第一爪哇劇本物件表示字串入列到相應於上述至少一端點的一訊息佇列,使得上述第一爪哇劇本物件表示字串能夠通過一傳輸控制協定連線傳送給上述至少一端點。 The computer program product for controlling heterogeneous platform endpoints as claimed in claim 1, comprising program code: according to the client object type in the first packet object, the first Java script object representation string is listed into a corresponding string corresponding to the above A message queue of at least one endpoint enables the first Java script object representation string to be transmitted to the at least one endpoint through a TCP connection. 如請求項3所述的控制異質平台端點的電腦程式產品,其中,上述中央控制器和上述至少一端點之間只建立上述傳輸控制協定連線來傳送裝載有封包物件的爪哇劇本物件表示字串。 The computer program product for controlling endpoints of heterogeneous platforms according to claim 3, wherein only the transmission control protocol connection is established between the central controller and the at least one endpoint to transmit the Java script object representation word loaded with the packet object string. 如請求項1所述的控制異質平台端點的電腦程式產品,包含程式碼:從一命令端接收上述第一爪哇劇本物件表示字串;以及從上述第一爪哇劇本物件表示字串反序列化出上述第一封包物件,從而取得上述第一封包物件中的上述客戶端物件類別,其中,上述命令端填寫上述客戶端指令到上述第一封包物件中。 The computer program product for controlling heterogeneous platform endpoints as claimed in claim 1, comprising program codes: receiving the first Java script object representation string from a command terminal; and deserializing the first Java script object representation string The first package object is output, so as to obtain the client object type in the first package object, wherein the command terminal fills in the client command into the first package object. 如請求項1所述的控制異質平台端點的電腦程式產品,包含程式碼:從一命令端接收一第二爪哇劇本物件表示字串;從上述第二爪哇劇本物件表示字串反序列化出一第二封包物件;執行上述第二封包物件中一伺服器運行方法來填寫上述至少一端點需要執行的上述客戶端指令到上述第一封包物件;以及將上述第一封包物件序列化成上述第一爪哇劇本物件表示字串,其中,上述命令端填寫需要上述中央控制器執行的一伺服器指令到上述第二封包物件,使得上述第二封包物件中上述伺服器運行方法被執行時填寫上述至少一端點需要執行的上述客戶端指令到上述第一封包物件。 The computer program product for controlling heterogeneous platform endpoints as claimed in claim 1, comprising program code: receiving a second Java script object representation string from a command terminal; deserializing from the second Java script object representation string a second package object; execute a server operation method in the second package object to fill in the client command to be executed by the at least one endpoint into the first package object; and serialize the first package object into the first package object The Java script object represents a string, wherein the command terminal fills in a server command that needs to be executed by the central controller to the second package object, so that the at least one end is filled in when the server operation method in the second package object is executed. Click the above-mentioned client-side command to be executed to the above-mentioned first packet object. 一種控制異質平台端點的裝置,包含:一通訊介面,經由一網路耦接至少一端點;以及一處理單元,耦接上述通訊介面,提供一第一爪哇劇本物件表示字串,其中,上述第一爪哇劇本物件表示字串裝載一第一封包物 件,上述第一封包物件包含一負載類別、上述負載類別擴充的一客戶端物件類別與一客戶端指令,上述負載類別包含一版本的長整數、一伺服器運行方法與一客戶端運行方法;以及依據上述第一封包物件中的上述客戶端物件類別將上述第一爪哇劇本物件表示字串傳送到至少一端點,使得上述至少一端點執行上述第一封包物件中的上述客戶端運行方法,以取得上述客戶端指令來請求一任務伺服器提供一特定服務,或儲存資料到其包括的一儲存裝置,其中,上述客戶端物件類別包含上述至少一端點的識別碼。 A device for controlling endpoints of heterogeneous platforms, comprising: a communication interface coupled to at least one endpoint via a network; and a processing unit coupled to the communication interface to provide a first Java script object representation string, wherein the above The first Java script object representation string contains a first packet The first package object includes a payload class, a client object class extended from the payload class, and a client command, and the payload class includes a version long integer, a server operation method, and a client operation method; and transmitting the first Java script object representation string to at least one endpoint according to the client object category in the first package object, so that the at least one endpoint executes the client running method in the first package object, to The client command is obtained to request a task server to provide a specific service or to store data to a storage device included therein, wherein the client object type includes the identifier of the at least one endpoint. 如請求項7所述的控制異質平台端點的裝置,其中,上述處理單元依據上述第一封包物件中的上述客戶端物件類別將上述第一爪哇劇本物件表示字串入列到相應於上述至少一端點的一訊息佇列,使得上述第一爪哇劇本物件表示字串能夠通過一傳輸控制協定連線傳送給上述至少一端點,其中,上述裝置和上述至少一端點之間只建立上述傳輸控制協定連線來傳送裝載有封包物件的爪哇劇本物件表示字串。 The device for controlling endpoints of heterogeneous platforms according to claim 7, wherein the processing unit lists the first Java script object representation string to the corresponding at least one according to the client object type in the first packet object. A message queue of an endpoint, so that the first Java script object representation string can be transmitted to the at least one endpoint through a transmission control protocol connection, wherein only the transmission control protocol is established between the device and the at least one endpoint Wire to transmit the Java script object representation string loaded with the packet object. 如請求項7所述的控制異質平台端點的裝置,其中,上述通訊介面通過上述網路耦接一命令端,其中,上述處理單元通過上述通訊介面從上述命令端接收上述第一爪哇劇本物件表示字串;以及從上述第一爪哇劇本物件表示字串反序列化出上述第一封包物件,從而取得上述第一封包物件中的上述客戶端物件類別,其中,上述命令端填寫上述客戶端指令到上述第一封包物件中。 The device for controlling endpoints of heterogeneous platforms according to claim 7, wherein the communication interface is coupled to a command terminal through the network, wherein the processing unit receives the first Java script object from the command terminal through the communication interface representing a string; and deserializing the first package object from the first Java script object representation string, so as to obtain the client object type in the first package object, wherein the command terminal fills in the client command into the above-mentioned first package object. 如請求項7所述的控制異質平台端點的裝置,其中,上述通訊介面通過上述網路耦接一命令端,其中,上述處理單元通過上述通訊介面從上述命令端接收一第二爪哇劇本物件表示字串;從上述第二爪哇劇本物件表示字串反序列化出一第二封包物件;執行上述第二封包物件中一伺服器運行方法來填寫上述至少一端點需要執行的上述客戶端點指令到上述第一封包物件;以及將上述第一封包物件序列化成上述第一爪哇劇本物件表示字串,其中,上述命令端填寫需要上述中央控制器執行的一伺服器指令到上述第二封包物件,使得上述第二封包物件中上述伺服器運行方法被執行時填寫上述至少一端點需要執行的上述客戶端指令到上述第一封包物件。 The device for controlling endpoints of heterogeneous platforms according to claim 7, wherein the communication interface is coupled to a command terminal through the network, wherein the processing unit receives a second Java script object from the command terminal through the communication interface Representing a string; Deserialize a second packet object from the second Java script object representation string; execute a server operation method in the second packet object to fill in the above-mentioned client point command that needs to be executed by the at least one endpoint to the first package object; and serialize the first package object into the first Java script object representation string, wherein the command terminal fills in a server command that needs to be executed by the central controller to the second package object, The above-mentioned client instructions to be executed by the at least one endpoint are filled in the above-mentioned first package object when the above-mentioned server operation method in the above-mentioned second package object is executed.
TW109108845A 2020-03-17 2020-03-17 Computer program product and apparatus for controlling nodes with heterogeneous platforms TWI767198B (en)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
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