Remote deployment method and remote deployment system for user interfaces in a software platform
By acquiring and generating user interface configuration files through real-time communication on the server side, the high cost and poor compatibility of cross-platform deployment in traditional software platforms are solved, enabling secure and efficient remote deployment of user interfaces and reducing design and deployment costs.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- SHANGHAI TOSUN TECH LTD
- Filing Date
- 2025-07-02
- Publication Date
- 2026-06-08
AI Technical Summary
Traditional software platforms require installation on each device and copying of related programs and configuration files when deployed across platforms, increasing deployment costs and posing a risk of intellectual property leakage. Furthermore, their limited cross-platform compatibility forces users to redesign functions, increasing design and deployment costs.
By establishing an independent service process on the server side, providing HTTP service, real-time communication is used to obtain user interface configuration files and execution data, generate web pages containing user interfaces, and respond to user operations to perform corresponding operations, thereby realizing remote deployment of user interfaces.
It solves cross-platform compatibility issues, reduces deployment costs, and improves development efficiency and security by enabling local program functions to be executed securely on remote devices.
Smart Images

Figure 0007870978000001_ABST
Abstract
Description
Technical Field
[0001] This application claims the Chinese Patent Application No. 202510194991.X filed on February 21, 2025, and the Chinese Patent Application No. 202510676966.5 filed on May 23, 2025, based on priority, and all of its contents are incorporated herein by reference.
[0002] The present invention relates to software deployment technology, and specifically to a method and system for remotely deploying a user interface in a software platform.
Background Art
[0003] In conventional software platforms (such as Matlab), users can design custom user interfaces to implement user-specific functions. However, these functions can usually only be executed on native software platforms. When it is necessary to deploy to other devices with the same architecture, since it is necessary to install this software platform on each device and copy related programs and configuration files, not only does the deployment cost increase, but there is also a risk of leakage of the user's intellectual property rights. Also, for devices with different architectures, due to the compatibility constraints of software platforms, cross-platform deployment cannot often be achieved, and it is necessary for users to redesign functions, further increasing the design and deployment costs.
[0004] Taking MATLAB as an example, users can design models and run simulations in Simulink, but these functions are only available on computers where MATLAB is installed. If it needs to run on 10 computers, installing MATLAB and copying model files takes a lot of time, and it cannot run on devices with operating systems such as Harmony, Android, and iOS, which severely limits the applicability and flexibility of the software platform.
[0005] Therefore, traditional software platforms (such as Matlab) present a technical problem: when deployment and cross-platform applications need to be deployed to other devices with the same architecture, the software platform must be installed on each device and the associated programs and configuration files copied to it.
[0006] Please note that the above information disclosed in this background section is used solely to understand the background technology that inspired this application, and therefore the above description does not constitute information about the prior art. [Overview of the project]
[0007] The object of the present invention is to provide a method and a remote deployment system for user interfaces in a software platform.
[0008] To solve the above technical problems, the present invention provides a method for remotely deploying a user interface in a software platform. The method is as follows: This involves establishing an independent service process on the server side, wherein the service process provides the Hypertext Transfer Protocol (HTTP) service. The service process communicates in real time with a software platform process to obtain user interface configuration files and execution data of software platform applications on the software platform, wherein the software platform is a third-party software platform. The service process involves analyzing the user interface configuration files on the software platform, and based on the information of each user interface in the configuration files, locally generating a web page on the server that includes the corresponding user interface. When a web page is opened in the server's local browser, the service process acquires the opening action and reflects (updates) the execution data of the software platform application on the web page in real time, and / or the service process responds to user interface operations on the web page by sending operation commands to the software platform in real time, and further executes the corresponding operations through the software platform.
[0009] In a second aspect, the present invention further provides a remote deployment system for a user interface in a software platform including a computer device. The computer device is Software platform processes and This includes service processes.
[0010] The service process provides a Hypertext Transfer Protocol (HTTP) service and is capable of real-time communication with the software platform process, and acquires user interface configuration files and execution data of software platform applications on the software platform. The software platform is a third-party software platform.
[0011] The aforementioned service process is configured to analyze the user interface configuration files on the software platform and, based on the information of each user interface in the configuration files, to locally generate a web page on the server containing the corresponding user interface.
[0012] When a web page is opened in the server's local browser, the service process acquires the opening action and reflects the execution data of the software platform application on the web page in real time, and / or, in response to user interface operations on the web page, the service process sends operation commands to the software platform in real time and further executes the corresponding operations through the software platform.
[0013] In a third aspect, the present invention further provides a readable storage medium in which a computer device readable instruction is stored. When the instruction is executed by at least one processor, the remote deployment method described above is performed.
[0014] In a fourth aspect, the present invention further provides an electronic device comprising at least one memory and at least one processor. The memory stores executable instructions, and when the executable instructions are executed by the processor, the processor is caused to perform the remote deployment method described above.
[0015] In a fifth aspect, the present invention further provides a computer program product including a program or instructions. When the program or instructions are executed on a computer, the remote deployment method described above is performed.
[0016] In a sixth aspect, the present invention further provides a remote deployment method based on the user interface of the Matlab software platform. The method is as follows: This involves establishing an independent service process on the server side, wherein the service process provides the Hypertext Transfer Protocol (HTTP) service. The service process communicates in real time with the Matlab software platform process to obtain user interface configuration files and execution data of software platform applications in the Matlab software platform. The service process analyzes the user interface configuration files in the Matlab software platform, and based on the information of each user interface in the configuration files, it locally generates a web page on the server containing the corresponding user interface. When a web page is opened in the server's local browser, the service process reflects the execution data of the application in the Matlab software platform onto the web page in real time, and / or, in response to user actions on the user interface on the web page, the service process sends operation commands to the Matlab software platform in real time, and further executes the corresponding operations through the Matlab software platform.
[0017] A beneficial effect of the present invention is that the remote deployment method for a user interface in a software platform of the present invention obtains the user interface configuration files and application execution data in the software platform by constructing an independent service process and communicating with the software platform process in real time. Furthermore, by providing an HTTP service, the service process can locally generate a web page containing the corresponding user interface on the server, and by operating the user interface on the web page, it becomes possible to execute operations corresponding to the software platform. This not only overcomes the limitations of software platform compatibility but also provides convenience for deployment on other devices and significantly reduces design and deployment costs.
[0018] Other features and advantages of the present invention are described in the following specification and some will become apparent from the specification or understood by practicing the present invention. The object and other advantages of the present invention are realized and obtained by the structures specifically shown in the specification and drawings.
[0019] To make the above-mentioned objectives, features, and advantages of the present invention easier to understand, particularly preferred embodiments will be described below in detail with reference to the accompanying drawings. [Brief explanation of the drawing]
[0020] To more clearly describe specific embodiments of the present invention or technical solutions in the prior art, the drawings that may be used to describe specific embodiments or prior art are briefly described below. The drawings in the following description are some embodiments of the present invention, and it will be obvious to those skilled in the art that further drawings can be obtained based on these drawings without requiring any creative effort. [Figure 1]It is a flowchart of a method for remotely deploying a user interface in a software platform according to some embodiments. [Figure 2] It is a schematic diagram of an interface for configuring a first independent service process through a software platform process in a case according to some embodiments. [Figure 3] It is a schematic diagram of the web page effect after "localhost:9018" is entered in the address bar of a browser in a case according to some embodiments. [Figure 4] It is a schematic diagram of an interface for configuring a second independent service process through a software platform process in a case according to some embodiments. [Figure 5] It is a schematic diagram of the web page effect after "localhost:9019" is entered in the address bar of a browser in a case according to some embodiments. [Figure 6] It is a schematic diagram of an interface of two software platform processes simultaneously executed on one computer in a case according to some embodiments. [Figure 7] It is a schematic diagram of the web page effect after "localhost:9018" is entered in the address bar of a browser in another case according to some embodiments. [Figure 8] It is a schematic diagram of an interface for creating multiple users in a case according to some embodiments. [Figure 9] It is a schematic diagram of the web page effect when the username "user" is entered in the login window after "localhost:9018" is entered in the address bar of a browser in a case according to some embodiments. [Figure 10] It is a schematic diagram of the web page after the user user logs in in a case according to some embodiments. [Figure 11]This is a schematic diagram illustrating the effect of a webpage in several embodiment cases where "localhost:9018" is entered into the browser's address bar, and then the username "admin" is entered into the login window. [Figure 12] This is a schematic diagram of the web page after an admin user has logged in, in several embodiment cases. [Figure 13] This is a schematic diagram of some of the interactive controls according to several embodiments. [Figure 14] This is a schematic diagram of some of the display controls according to several embodiments. [Figure 15] This is a schematic block diagram of a remote deployment system for user interfaces in a software platform according to several embodiments. [Figure 16] This is a schematic block diagram of an electronic device according to several embodiments. [Figure 17] This is a schematic block diagram of an electronic device according to several embodiments. [Modes for carrying out the invention]
[0021] To further clarify the object, technical solution, and advantages of the embodiments of the present invention, the technical solution of the present invention will be described clearly and completely below in conjunction with the drawings. However, it should be understood that the embodiments described are only some embodiments of the present invention, not all embodiments. All other embodiments obtained by those skilled in the art without creative effort based on the embodiments of the invention are within the scope of protection of the present invention.
[0022] Traditional software platforms (such as Matlab) allow users to design custom user interfaces and implement user-specific functionality. However, these functions can typically only run on the native software platform. When deployment to other devices with the same architecture is required, the software platform must be installed on each device, and the relevant programs and configuration files must be copied, which not only increases deployment costs but also risks the leakage of the user's intellectual property rights. Furthermore, due to compatibility limitations of the software platform, cross-platform deployment is often not possible for devices with different architectures, requiring users to redesign the functionality, further increasing design and deployment costs.
[0023] Therefore, at least one embodiment provides a method for remotely deploying a user interface in a software platform. This method is This involves establishing an independent service process on the server side, wherein the service process provides the Hypertext Transfer Protocol (HTTP) service. The service process communicates in real time with a software platform process to obtain user interface configuration files and execution data of software platform applications on the software platform, wherein the software platform is a third-party software platform. The service process involves analyzing the user interface configuration files on the software platform, and based on the information of each user interface in the configuration files, locally generating a web page on the server that includes the corresponding user interface. When a web page is opened in the server's local browser, the service process acquires the opening action and reflects the execution data of the software platform application on the web page in real time, and / or, in response to user interface operations on the web page, the service process sends operation commands to the software platform in real time and further executes the corresponding operations through the software platform.
[0024] The remote deployment method for the user interface in this software platform involves constructing an independent service process that communicates in real time with the software platform process, thereby obtaining the user interface configuration files and application execution data from the software platform. Furthermore, by providing an HTTP service, this service process can locally generate a web page containing the corresponding user interface on the server. By operating the user interface on the web page, it becomes possible to execute operations corresponding to the software platform, overcoming the compatibility limitations of the software platform and providing convenience for deployment on other devices, significantly reducing design and deployment costs. This remote deployment method for the user interface in this software platform allows for the effective exposure and use of functions of local programs on the server in the form of web pages to remote users. Functions that need to be exposed can be deployed arbitrarily as needed, significantly improving the development efficiency of remote functions while ensuring the security of local programs on the server.
[0025] Hereinafter, various non-limiting embodiments of the embodiments of this disclosure will be described in detail with reference to the drawings.
[0026] As shown in Figure 1, several embodiments provide a method for remotely deploying a user interface in a software platform. This method includes several steps, as follows:
[0027] Step S101: Establish an independent service process on the server side. This service process provides the Hypertext Transfer Protocol (HTTP) service.
[0028] Step S102: The service process communicates in real time with the software platform process to obtain the user interface configuration files and execution data of the software platform application on the software platform. The software platform is a third-party software platform.
[0029] Step S103: The service process analyzes the user interface configuration files on the software platform and, based on the information of each user interface in the configuration files, locally generates a web page on the server that contains the corresponding user interface.
[0030] Step S104: When a web page is opened in the server's local browser, the service process acquires the opening operation and reflects the execution data of the software platform application on the web page in real time, and / or, the service process responds to user interface operations on the web page by sending operation commands to the software platform in real time, and further executes the corresponding operations through the software platform.
[0031] Specifically, after a web page is generated locally on the server, a remote user can request this web page, and the server sends it locally for display to the remote user, contributing to remote browsing and development.
[0032] Specifically, a third-party software platform refers to a software platform that can support or allow secondary development of a plug-in system, such as Matlab, CANoe, or TSMaster.
[0033] Specifically, the remote deployment method for the user interface in this software platform involves building a single service process that can communicate in real time with the software platform process, building multiple service processes that can communicate in real time with the software platform process, and then configuring these service processes through the software platform process.
[0034] The specific process for sending operation commands to a software platform in real time in response to user operations on a web page user interface, and for executing the corresponding operations through the software platform, is as follows:
[0035] The user interface on a web page displays user-interactive controls such as buttons, list boxes, text boxes, and checkboxes. Users interact with the user interface on the web page in ways such as mouse clicks (for example, by clicking a button) or keyboard input (for example, by entering text information into a highlighted text box).
[0036] Users perform actions such as clicking buttons and entering text into text boxes on the user interface of a web page. These actions trigger corresponding JavaScript events, and the JavaScript code on the web page captures these events and encapsulates information related to the user action (e.g., the name of the button, the value entered in the text box) into a specific message format. This message includes information such as the type of action, the associated component identifier, and the data related to the action. The encapsulated message is sent to the server's service process via a network protocol such as HTTP.
[0037] The service process parses the message after receiving it. Based on the component identifier and operation type in the message, it finds the corresponding related component and event handling program and triggers their execution.
[0038] The related event processing program extracts operation commands for the software platform based on the operation commands contained in the message, and sends these commands to the software platform, thereby ultimately executing the corresponding operation through the software platform.
[0039] The following section details, with examples, how to remotely deploy user interfaces on a software platform in application scenarios where multiple service processes communicate in real time with a single software platform process.
[0040] Let's assume that the software platform performs two tasks simultaneously: CAN rest bus simulation and calibration.
[0041] First, as shown in Figure 2, when configuring the first independent service process through the software platform process, enter 9018 as the service process port number on the software platform process's configuration interface. This indicates that port 9018 is the port number that needs to be intercepted after the service process is started. Next, check the "Global Control" and "CAN Remaining Bus Simulation" functions.
[0042] When you click the "DeployServer Now" button on the software platform, the first service process is started with the command line "TSMasterServer.exe 9018 TSMaster".
[0043] Here, "TSMasterServer.exe" is the filename of the service process, and the command line has two parameters. 9018 is the port number mentioned above, and "TSMaster" is the global name of the software platform application. When a second software platform process is started, the global name of that software platform application becomes "TSMaster1," and if there is a third software platform process, the global name of the application in that software platform becomes "TSMaster2." The following inferences are based on this.
[0044] The software platform's configuration file stores the function names "Global Control" and "CAN Remaining Bus Simulation," which are used to filter service processes and display user-specific features. This indicates that the service process is permitted to display only the "Global Control" and "CAN Remaining Bus Simulation" functions to the user.
[0045] As shown in Figure 3, after the first service process is started, you can access the local server on the server by entering "localhost:9018" in the browser's address bar. When you open a web page at this time, two windows will be displayed. One is "TSMaster Web Server" which corresponds to the "Global Control" function, and the other is "CAN Remaining Bus Simulation" which corresponds to the "CAN Remaining Bus Simulation" function.
[0046] As shown in Figure 4, next, configure a second independent service process on the software platform through the software platform process, set the service process's listening port to 9019, and check the functions "Global Control" and "Calibration".
[0047] Clicking the "DeployServer Now" button again on the software platform will start the server with the command line "TSMasterServer.exe 9019 TSMaster".
[0048] Here, "TSMasterServer.exe" is the service process name, and the command line has two parameters. 9019 is the port number mentioned above, and "TSMaster" is the global name of the software platform application.
[0049] The software platform's configuration file stores the function names "Global Control" and "Calibration," which are used to filter service processes and display user-specific features. Here, it indicates that the service process is permitted to display only the "Global Control" and "Calibration" functions to the user.
[0050] As shown in Figure 5, after the second service process is started, you can access the local server on the server by entering "localhost:9019" in the browser's address bar. When you open a web page at this time, two windows will be displayed. One is "TSMaster Web Server" which corresponds to the "Global Control" function, and the other is "Calibration" which corresponds to the "Calibration" function.
[0051] Application scenarios in which a single software platform process communicates in real time with multiple service processes include, for example, the grouping of logical or authorization functions, but are not limited to these.
[0052] (1) For example, if one software platform process builds multiple calibration servers (engine calibration, chassis calibration, etc.), multiple diagnostic servers, simulation servers, data monitoring servers, etc., it can provide different server functions through multiple different service processes.
[0053] (2) For example, if a single software platform builds both a regular user server and an administrator server, users accessing the servers can be physically isolated through two different service processes, thereby improving security.
[0054] For information on remote deployment methods for user interfaces on a software platform in application scenarios where one service process communicates in real time with one software platform process, please refer to the example of remote deployment methods for user interfaces on a software platform in application scenarios where multiple service processes communicate in real time with one software platform process. Further explanation is omitted here.
[0055] In some embodiments, the service process communicates in real time with at least one software platform process.
[0056] The service process analyzes the user interface configuration files for each software platform and, based on the user interface information in each configuration file, locally generates a web page containing all interfaces on the server.
[0057] Specifically, application scenarios in which multiple software platform processes communicate in real time with a single service process include, but are not limited to, data fusion and integrated display functions. For example, on an integrated web page, a user can simultaneously control the functions of multiple software platforms. For instance, a 32-bit software platform process could be responsible for simulation, while a 64-bit software platform process could be responsible for data collection.
[0058] The following section will describe in detail how to perform real-time communication between the aforementioned service process and at least one software platform process, with reference to an example.
[0059] As shown in Figure 6, the diagram illustrates the interface of two software platform processes running simultaneously on a single computer. The global names of the software platform applications are TSMaster and TSMaster1, respectively. The TSMaster software platform process is running a CAN Remaining Bus Simulation task, and its window name is "CAN Remaining Bus Simulation". The TSMaster1 software platform process is running a Signal Monitoring task, and its window name is "Monitor".
[0060] The TSMaster.ini configuration file for the software platform process is saved in the "CANRBS" folder and the "CANMon" folder, respectively, depending on the project. The TSMaster.ini file in the "CANRBS" folder contains the configuration information for the "CAN Remaining Bus Simulation" window, while the TSMaster.ini file in the "CANMon" folder contains the configuration information for the "Monitor" window.
[0061] Taking the TSMaster.ini file in the "CANRBS" folder as an example, the interface-related section of the configuration information in the "CAN Remaining Bus Simulation" window is as follows:
[0062] [TfrmCANRBS] Caption = CAN Remaining Bus Simulation XPosition = 100 YPosition = 200 Width = 800 Height = 600 Here, TfrmCANRBS refers to the class name of the window "CAN Remaining Bus Simulation", Caption is the window title, XPosition and YPosition are the coordinates of the upper-left corner of the window, and Width and Height are the width and height of the window.
[0063] The service process generates an HTML server-local webpage, creates a corresponding web form, and sets the corresponding configuration information based on the analysis results of the configuration information related to the interface described above. The relevant parts of the webpage source code and interface configuration are as follows.
[0064] <!DOCTYPE html> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title> CAN Remaining Bus Simulation< / title> <style> / *フォームのスタイル* / #frmCANRBS {position: absolute;border: 1px solid #ccc;box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);background-color: #fff;} / *タイトルのスタイル* / #frmCANRBS .caption {background-color: #f0f0f0;padding: 5px;font-weight: bold;cursor: move;} / *コンテンツエリアのスタイル* / #frmCANRBS .content {padding: 10px;}< / style> <!--Form elements--> CAN Remaining Bus Simulation This is the content of the CAN Remaining Bus Simulation form. <script> / / フォーム要素を取得const frmCANRBS = document.getElementById('frmCANRBS'); / / INI構成情報に基づいてフォームのプロパティを設定const config = {Caption: 'CAN Remaining Bus Simulation',XPosition: 100,YPosition: 200,Width: 800,Height: 600}; / / タイトルを設定const captionElement = frmCANRBS.querySelector('.caption');captionElement.textContent = config.Caption; / / 位置および大きさを設定frmCANRBS.style.left = config.XPosition + 'px';frmCANRBS.style.top = config.YPosition + 'px';frmCANRBS.style.width = config.Width + 'px';frmCANRBS.style.height = config.Height + 'px';< / script> Start the service process TSMasterServer.exe with the following command line.
[0065] TSMasterServer.exe 9018 "TSMaster,TSMaster1" Here, "TSMasterServer.exe" is the service process name, and the command line has three parameters. 9018 is the port number described above. "TSMaster, TSMaster1" are the global names of the software platform applications separated by commas. Here, it indicates that the service process performs real-time communication with the software platform process TSMaster and the software platform process TSMaster1 simultaneously.
[0066] As shown in Figure 7, after the service process is started according to the above command line, if you enter "localhost:9018" in the address bar of the browser, you can access the local server on the server. When opening the web page at this time, two windows will be displayed. One is "CAN Remaining Bus Simulation" corresponding to the CAN rest bus simulation function of the software platform process TSMaster, and the other is "Monitor" corresponding to the monitoring function in the software platform process TSMaster1.
[0067] In some embodiments, when a web page is opened in the server's local browser, the service process creates a session module and provides interaction and access rights corresponding to the web page according to the level of login privileges set in the session module. Specifically, this includes creating users in the session module, setting interaction privileges for each user, including window display privileges and window hide privileges, and setting access privileges for each user with window display privileges, including view-only privileges and full control privileges.
[0068] Specifically, each window allows you to set interaction permissions for each user, such as "show window" and "hide window." Thus, the number of windows displayed when opening a web page varies depending on the user.
[0069] Specifically, user access permissions for windows are divided into "view only" and "full control." With "view only" permission, users can only view data through interface controls and cannot transmit major operational commands to the software platform process. For example, a "view only" user can only view the simulation process and cannot start or stop it. With "full control" permission, users can operate all functions related to the window, including starting and stopping the simulation and viewing simulation data.
[0070] Specifically, by setting login permission levels, it is possible to display specific data to specific users and prevent access to sensitive data beyond the appropriate level.
[0071] The following section will explain in detail, with reference to an example, how the service process creates a session module when a web page is opened in the server's local browser, and how it provides interactions and access permissions corresponding to the web page according to the level of login privileges set in the session module.
[0072] The software platform simultaneously performs two tasks: CAN rest bus simulation and calibration. An independent service process is configured through the software platform process, with port number 9018 indicating that this is the port number that needs to be intercepted after the service process is started. In the user permissions section of the software platform, the option "Users must log in with a specific username and password" is checked to activate the permission level control function.
[0073] The user list allows you to create multiple new users and set a username and password for each user. In this case, let's assume that a total of two new users have been created. As shown in Figure 8, the usernames are "user" and "admin," and their passwords are "user" and "admin," respectively.
[0074] After editing the user list is complete, the user permission control list at the bottom is rebuilt, displaying the Function and User columns. In this case, the Function column contains three functions: "Global Control," "Calibration," and "CAN Remaining Bus Simulation." Checking the corresponding user column shows that "Global Control" and "CAN Remaining Bus Simulation" are allowed to access the "Global Control" and "CAN Remaining Bus Simulation" functions, but not the "Calibration" function. Checking the corresponding admin column shows that all functions are checked, allowing the user with the username "admin" to access all functions.
[0075] When you click the "DeployServer Now" button on the software platform, a service process is started with the command line "TSMasterServer.exe 9018 TSMaster".
[0076] Here, "TSMasterServer.exe" is the service process name, and the command line has two parameters. 9018 is the port number mentioned above. "TSMaster" is the global name of the software platform application.
[0077] The software platform's configuration files store function names such as "Global Control," "Calibration," and "CAN Remaining Bus Simulation," which filter service processes according to user privileges to display user-specific functions.
[0078] As shown in Figure 9, you can access the local server on the server by entering "localhost:9018" in the browser's address bar. When you open a web page at this time, user permission control is activated, and a login window will appear. If you enter the username "user" and password "user", you will be logged in as the user "user".
[0079] As shown in Figure 10, after the user logs in, two windows, "TSMaster Web Server" and "CAN Remaining Bus Simulation," are displayed, but the "Calibration" window is not displayed.
[0080] As shown in Figure 11, if you create a new window in your browser and enter "localhost:9018" in the address bar, you can open a new webpage. If you enter the username "admin" and password "admin" in the login window, you will be logged in as the admin user.
[0081] As shown in Figure 12, after the admin user logs in, three windows are displayed: "TSMaster Web Server," "CAN Remaining Bus Simulation," and "Calibration."
[0082] In some embodiments, the user interface includes at least one interaction control. When a web page is opened in the server's local browser, the service process is configured to respond to user actions on the interaction controls on the web page.
[0083] The aforementioned interactive controls include, but are not limited to, text boxes, password boxes, radio buttons, checkboxes, buttons, dropdown boxes, text fields, sliders, input boxes (of types such as numbers and dates), editable table cells, file upload controls, toggle buttons, date pickers, time pickers, color pickers, numeric input boxes, rating controls, switch controls, tree selection controls, and rich text editors.
[0084] Specifically, as shown in Figure 13, interactive controls such as the connect and disconnect buttons 1, the filtering text box 3, the interception checkbox 4, and the toolbar button 2 are displayed.
[0085] In some embodiments, the user interface includes at least one display control.
[0086] Specifically, as shown in Figure 14, the display control includes, but is not limited to, a label box 7 for displaying the signal name, a progress bar 8 for displaying the range of signal values, and a drawing box 5 for displaying the node name 6 and color.
[0087] In some embodiments, the service process and the software platform process communicate in real time using, for example, one or more of the following: pipe communication, shared memory communication, socket communication, and message queue communication.
[0088] Specifically, the method of pipe communication includes the following:
[0089] Pipeline creation: Creating a pipeline using a specific system call, where one side is used for reading (read side) and the other side is used for writing (write side).
[0090] Process association: Associating each process that needs to communicate with the read and write sides of the pipeline. Data writing: The process sending data writes the data to the write side of the pipeline.
[0091] Data reading: The process of receiving data involves reading the data from the reading end of the pipeline.
[0092] Pipeline Closure: After communication ends, the relevant processes close the read and write ends of the pipeline and release the resources.
[0093] Specifically, the method of shared memory communication includes the following:
[0094] Creating shared memory: A single process creates a single shared memory area using a system call.
[0095] Shared memory mapping: Each process that needs to access shared memory maps it to its own address space via a system call.
[0096] Data interaction: The process of coordinating access to shared memory by multiple processes using synchronization mechanisms such as semaphores and mutual exclusion.
[0097] Demapping: The process of unmapping shared memory from its own address space using a system call when a process no longer needs to access it.
[0098] Deleting shared memory: After all processes have finished accessing the shared memory, delete the shared memory and free up system resources.
[0099] Specifically, the method for socket communication is as follows:
[0100] On a socket communication server, Creating a socket involves binding an address and port using TCP or UDP, intercepting connections for TCP and receiving the connection, interacting with data, and closing the socket.
[0101] In a socket communication client, Creating a socket involves using TCP or UDP, needing to connect to a server for TCP, interacting with data, and closing the socket.
[0102] Specifically, the method for message queue communication is: Creating a message queue to store messages, Sending a message that typically includes the message type and specific message content, Receiving messages either selectively based on message type, or according to the first-in, first-out principle, Performing operations related to the content of a message, that is, processing a message, After communication ends, the relevant processes close the message queue and release resources, which includes closing the message queue.
[0103] Furthermore, since prior art can be referenced for the specific implementation of the communication method described above, this embodiment does not modify the communication method itself.
[0104] As described above, this embodiment is particularly applicable to the field of automotive development. By analyzing the configuration files of the user interface in the software platform through the server, the conventional remote exclusive method of capturing the interactive interface is avoided. Simultaneously, having configuration information means that the server can build data models and assign these data models to different users for simultaneous use. In other words, one server can provide services to multiple users simultaneously, and each of these users can use different server data (the server has a large database, signals, measurement information, diagnostic and calibration information, etc.). This embodiment can connect to multiple users simultaneously through a specific session module, and each user can operate a complete instance of the server and interact in real time, thereby solving the challenges of restricted access data management and remote interaction in the automotive development process.
[0105] Some embodiments further provide remote deployment methods based on the user interface of the Matlab (Matrix Laboratory) software platform. These methods include establishing an independent service process on the server side, the service process providing a Hypertext Transfer Protocol (HTTP) service, the service process communicating in real time with the Matlab software platform process to obtain user interface configuration files and execution data of software platform applications in the Matlab software platform, the service process analyzing the user interface configuration files in the Matlab software platform through the service process and generating a web page containing the corresponding user interface locally on the server based on the information of each user interface in the configuration file, the service process reflecting the execution data of the Matlab software platform application on the web page in real time when the web page is opened in the server's local browser, and / or, the service process responding to user operations on the user interface on the web page by sending operation commands to the Matlab software platform in real time and further executing the corresponding operations through the Matlab software platform.
[0106] As shown in Figure 15, some embodiments further provide a remote deployment system for user interfaces in a software platform including a computer device. Software platform processes and This includes service processes.
[0107] The service process provides a Hypertext Transfer Protocol (HTTP) service and is capable of real-time communication with a software platform process, and retrieves user interface configuration files and execution data of software platform applications on the software platform. The software platform is a third-party software platform.
[0108] The aforementioned service process is configured to analyze the user interface configuration files on the software platform and, based on the information of each user interface in the configuration files, to locally generate a web page on the server containing the corresponding user interface.
[0109] When a web page is opened in the server's local browser, the service process acquires the opening action and reflects the execution data of the software platform application on the web page in real time, and / or, in response to user interface operations on the web page, the service process sends operation commands to the software platform in real time and further executes the corresponding operations through the software platform.
[0110] Here, the specific implementation functions of the software platform process and service process are realized by computer devices. For details, please refer to the description of the remote deployment method for the user interface in the aforementioned software platform. The explanation is omitted here.
[0111] The following describes the electronic devices in the embodiments of this disclosure from the perspective of hardware processing.
[0112] The embodiments of this disclosure do not limit the specific implementation of the electronic device.
[0113] As shown in Figure 16, some embodiments further provide an electronic device. The electronic device includes a processor, a computer-readable storage medium, a communication bus, and a communication interface. The processor, the readable storage medium, and the communication interface communicate with each other via the communication bus. The readable storage medium is used to store a program that performs a remote deployment method for a user interface in the software platform, and the program causes the processor to perform operations corresponding to the remote deployment method for a user interface in the software platform.
[0114] As shown in Figure 17, some embodiments further provide an electronic device. The electronic device includes a processor, a display that communicates with the processor to display a web page, and a computer-readable storage medium, where the readable storage medium is configured to store instruction programs.
[0115] The processor is configured to execute the instruction program and perform the following operations.
[0116] This involves establishing an independent service process on the server side, where the service process provides the Hypertext Transfer Protocol (HTTP) service.
[0117] The service process communicates in real time with a software platform process to obtain user interface configuration files and execution data of software platform applications on the software platform, wherein the software platform is a third-party software platform.
[0118] The service process analyzes the user interface configuration files on the software platform and, based on the information of each user interface in the configuration files, locally generates a web page on the server containing the corresponding user interface.
[0119] When a web page is opened in the server's local browser, the service process acquires the opening action and reflects the execution data of the software platform application on the web page in real time, and / or, in response to user interface operations on the web page, the service process sends operation commands to the software platform in real time and further executes the corresponding operations through the software platform.
[0120] The display is configured to show a web page that includes a corresponding user interface.
[0121] In some embodiments, computer devices or industrial computers may be considered a type of electronic device.
[0122] The structures shown in Figures 16 and 17 are not limited to electronic devices and may include fewer or more devices than shown, a combination of some devices, or different device configurations.
[0123] In some embodiments, the communication interface may be a communication interface that can be connected to an external bus adapter, such as an RS232, RS485, USB port, and TYPE port. It may further include a wired or wireless network interface. The network interface may selectively include a wired interface and / or a wireless interface (e.g., a Wi-Fi interface, a Bluetooth interface, etc.) and is typically used to establish a communication connection between the computer device and other electronic devices.
[0124] In some embodiments, the readable storage medium or computer-readable storage medium includes at least one type of memory. The memory includes flash memory, hard disks, multimedia cards, card-type memory (e.g., SD memory), magnetic memory, magnetic disks, optical disks, and the like. In some embodiments, it may be an internal storage unit of a computer device, such as a hard disk of a computer device. In some other embodiments, the memory may be an external storage device of a computer device, such as a plug-in hard disk mounted in a computer device, a Smart Media Card (SMC), a Secure Digital (SD) card, or a Flash Memory Card. Furthermore, the memory may include both internal and external storage devices of a computer device. The memory is used not only to store application software and various data installed in a computer device, such as computer program code, but also to temporarily store data that has already been output or is scheduled to be output.
[0125] In some embodiments, the processor may be a central processing unit (CPU), controller, microcontroller, microprocessor, or other data processing chip used to execute program code stored in memory, such as running a computer program, or to process data.
[0126] In some embodiments, the communication bus may be an input / output bus, which may be a Peripheral Component Interconnect (PCI) bus or an Enhanced Industry Standard Architecture (EISA) bus, etc. The bus may be classified into an address bus, a data bus, a control bus, etc.
[0127] Optionally, the computer device may further include a user interface. The user interface may include input units such as a display and a keyboard, and optionally, the user interface may further include a standard wired interface and a wireless interface. Optionally, in some embodiments, the display may be an LED display, a liquid crystal display, a touch-sensitive liquid crystal display, and an OLED (Organic Light-Emitting Diode) touch device. Here, the display may be called a display window or display unit for displaying information processed by the computer device and for displaying web pages.
[0128] When the processor executes the program, steps in the embodiment of the remote deployment method for the user interface in the software platform shown in Figure 1 are performed, for example, the steps shown in Figure 1. Alternatively, when the processor executes a computer program, the functions of the module or unit in each of the embodiments of the device described above are realized.
[0129] Some embodiments further provide a readable storage medium storing computer-readable instructions. When the computer-readable instructions are executed by at least one processor, a remote deployment method is performed. The remote deployment method includes the following:
[0130] This involves establishing an independent service process on the server side, where the service process provides the Hypertext Transfer Protocol (HTTP) service.
[0131] The service process communicates in real time with a software platform process to obtain user interface configuration files and execution data of software platform applications on the software platform, wherein the software platform is a third-party software platform.
[0132] The service process analyzes the user interface configuration files on the software platform and, based on the information of each user interface in the configuration files, locally generates a web page on the server containing the corresponding user interface.
[0133] When a web page is opened in the server's local browser, the service process acquires the opening action and reflects the execution data of the software platform application on the web page in real time, and / or, in response to user interface operations on the web page, the service process sends operation commands to the software platform in real time and further executes the corresponding operations through the software platform.
[0134] Some embodiments further provide computer-readable storage media containing computer-readable instructions. When the computer-readable instructions are executed by at least one processor, the remote deployment method described above is performed, specifically as follows:
[0135] This involves establishing an independent service process on the server side, where the service process provides the Hypertext Transfer Protocol (HTTP) service.
[0136] The service process communicates in real time with a software platform process to obtain user interface configuration files and execution data of software platform applications on the software platform, wherein the software platform is a third-party software platform.
[0137] The service process analyzes the user interface configuration files on the software platform and, based on the information of each user interface in the configuration files, locally generates a web page on the server containing the corresponding user interface.
[0138] When a web page is opened in the server's local browser, the service process acquires the opening action and reflects the execution data of the software platform application on the web page in real time, and / or, in response to user interface operations on the web page, the service process sends operation commands to the software platform in real time and further executes the corresponding operations through the software platform.
[0139] Please refer to the detailed explanation of remote deployment methods; the explanation will be omitted here.
[0140] Some embodiments further provide computer program products that include a program or instructions. When the program or instructions are executed on a computer, a remote deployment method is performed. The remote deployment method includes the following:
[0141] This involves establishing an independent service process on the server side, where the service process provides the Hypertext Transfer Protocol (HTTP) service.
[0142] The service process communicates in real time with a software platform process to obtain user interface configuration files and execution data of software platform applications on the software platform, wherein the software platform is a third-party software platform.
[0143] The service process analyzes the user interface configuration files on the software platform and, based on the information of each user interface in the configuration files, locally generates a web page on the server containing the corresponding user interface.
[0144] When a web page is opened in the server's local browser, the service process acquires the opening action and reflects the execution data of the software platform application on the web page in real time, and / or, in response to user interface operations on the web page, the service process sends operation commands to the software platform in real time and further executes the corresponding operations through the software platform.
[0145] Some embodiments further provide computer program products including a computer-readable storage medium. The readable storage medium stores readable program code, which includes instructions that cause at least one processor (one or more computer devices) to perform the following operations:
[0146] This involves establishing an independent service process on the server side, where the service process provides the Hypertext Transfer Protocol (HTTP) service.
[0147] The service process communicates in real time with a software platform process to obtain user interface configuration files and execution data of software platform applications on the software platform, wherein the software platform is a third-party software platform.
[0148] The service process analyzes the user interface configuration files on the software platform and, based on the information of each user interface in the configuration files, locally generates a web page on the server containing the corresponding user interface.
[0149] When a web page is opened in the server's local browser, the service process acquires the opening action and reflects the execution data of the software platform application on the web page in real time, and / or, in response to user interface operations on the web page, the service process sends operation commands to the software platform in real time and further executes the corresponding operations through the software platform.
[0150] It should be understood that in some embodiments, the disclosed apparatus and methods may be implemented in other ways. The embodiments of the apparatus described above are illustrative only. For example, the flowcharts and block diagrams in the drawings illustrate feasible system architectures, functions, and operations of apparatus, methods, and embedded program products according to some embodiments of the present invention. In this regard, each block in a flowchart or block diagram may represent a module, program segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative embodiments, the functions described in a block may be executed in an order different from the order shown in the drawings. For example, two blocks shown consecutively may actually be executed essentially simultaneously, or in reverse order depending on the related functions. It should also be noted that each block in a block diagram and / or flowchart, and combinations of blocks in a block diagram and / or flowchart, may be implemented by a dedicated hardware-based system that performs the specified function or operation.
[0151] Furthermore, in each embodiment of the present invention, each functional module may be integrated to form a single independent part, each module may exist independently, or two or more modules may be integrated to form a single independent part.
[0152] The aforementioned functions may be implemented in the form of software function modules and, if sold or used as independent products, may be stored on a computer-readable storage medium. Based on this understanding, the technical solutions of the present invention are essentially referred to as contributions to the prior art, or as parts of the technical solutions, and may be embodied in the form of a software product, which is stored on a single storage medium and performs all or part of the methods in each embodiment of the present invention.
[0153] By referring to the above-described preferred embodiments of the present invention, those skilled in the art can make various changes and modifications through the above description, without departing from the technical spirit of the invention. The technical scope of the present invention is not limited to the contents of the specification, and its technical scope should be determined based on the claims.
Claims
1. A method for remotely deploying a user interface in a software platform, which is executed by a computer, This involves establishing an independent service process on the server side, wherein the service process provides a hypertext transfer protocol service. The service process communicates in real time with a software platform process and obtains user interface configuration files and execution data of software platform applications in the software platform, wherein the software platform is a plug-in system or a third-party software platform that supports secondary development. Through the aforementioned service process, the configuration files of the user interface in the software platform are analyzed, and based on the information of each user interface in the configuration files, a web page containing the corresponding user interface is locally generated on the server. A method for remotely deploying a user interface on a software platform, characterized in that when a web page is opened in the server's local browser, the service process acquires the opening operation and reflects the execution data of the software platform application on the web page in real time, and / or the service process responds to user interface operations on the web page by sending operation commands to the software platform in real time, and further executes the corresponding operations through the software platform.
2. The service process communicates in real time with at least one software platform process. A remote deployment method for a user interface in a software platform according to claim 1, characterized in that the configuration files of the user interfaces in each software platform are analyzed through the service process, and a web page containing all interfaces is locally generated on the server based on the information of each user interface in each configuration file.
3. When a web page is opened in the server's local browser, the service process creates a session module and provides interactions and access permissions corresponding to the web page according to the level of login privileges set in the session module. Creating a user in the aforementioned session module, Set interaction permissions for each user, including the right to show and hide windows, A remote deployment method for a user interface in a software platform according to claim 2, characterized in that it includes setting access permissions, including view-only permission and full control permission, for each user who has window display permission.
4. The user interface includes at least one interaction control, A method for remotely deploying a user interface in a software platform according to claim 1, characterized in that when a web page is opened in the server's local browser, the service process is configured to respond to user actions on interaction controls on the web page.
5. A method for remotely deploying a user interface in a software platform according to claim 1, characterized in that the user interface includes at least one display control.
6. The method for remotely deploying a user interface in a software platform according to claim 1, characterized in that the service process and the software platform process communicate in real time using one or more of the following: pipe communication, shared memory communication, socket communication, and message queue communication.
7. A remote deployment system for a user interface in a software platform including a computer device, wherein the computer device is Software platform processes and Including service processes, The service process provides a hypertext transfer protocol service to obtain user interface configuration files and execution data of software platform applications in the software platform, and is capable of real-time communication with the software platform process, wherein the software platform is a third-party software platform. The aforementioned service process can analyze the user interface configuration files in the software platform and, based on the information of each user interface in the configuration files, locally generate a web page on the server that includes the corresponding user interface. A remote deployment system for a user interface on a software platform, characterized in that when a web page is opened in the server's local browser, the service process acquires the opening operation and reflects the execution data of the software platform application on the web page in real time, and / or, the service process responds to user interface operations on the web page by sending operation commands to the software platform in real time, and further executes the corresponding operations through the software platform.
8. A computer-readable storage medium on which a computer device-readable instruction is stored, and when the instruction is executed by at least one processor, the remote deployment method according to any one of claims 1 to 6 is executed.
9. An electronic device comprising at least one memory and at least one processor, wherein the memory stores executable instructions, and when the executable instructions are executed by the processor, the processor is caused to execute the remote deployment method described in any one of claims 1 to 6.
10. A program that causes a computer to execute the remote deployment method described in any one of claims 1 to 6.
11. A remote deployment method based on a user interface of a Matlab software platform, which is executed by a computer, This involves establishing an independent service process on the server side, wherein the service process provides a hypertext transfer protocol service. The service process communicates in real time with the Matlab software platform process to obtain user interface configuration files and execution data of software platform applications in the Matlab software platform. The service process analyzes the user interface configuration files in the Matlab software platform, and based on the information of each user interface in the configuration files, it locally generates a web page on the server containing the corresponding user interface. A remote deployment method based on the user interface of a MATLAB software platform, characterized in that when a web page is opened in the server's local browser, the service process reflects the execution data of an application in the MATLAB software platform onto the web page in real time, and / or, in response to user operations on the user interface on the web page, the service process sends operation commands to the MATLAB software platform in real time, and further executes the corresponding operations through the MATLAB software platform.