Remote deployment method and system for user interface of software platform
Patent Information
- Application Number
- PCT/CN2025/109194
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2025-05-23
- Filing Date
- 2025-07-17
- Publication Date
- 2026-08-27
Smart Images

Figure CN2025109194_27082026_PF_FP_ABST
Abstract
Description
Remote deployment methods and systems for software platform user interfaces
[0001] Cross-references to related applications
[0002] This application is based on and asserts priority to Chinese Patent Application No. 202510194991.X, filed on February 21, 2025, and Chinese Patent Application No. 202510676966.5, filed on May 23, 2025, the entire contents of which are incorporated herein by reference. Technical Field
[0003] This invention relates to software deployment technology, specifically to a remote deployment method and system for a software platform user interface. Background Technology
[0004] Existing software platforms (such as Matlab) allow users to design custom user interfaces to implement user-specific functions. However, these functions typically only run on the native software platform. If deployment on 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. This not only increases deployment costs but also poses a risk of user intellectual property leakage. Furthermore, due to software platform compatibility limitations, cross-platform deployment is often not possible for devices with different architectures, requiring users to redesign functions, further increasing design and deployment costs.
[0005] Taking Matlab as an example, users can design models and perform simulations in Simulink, but these functions can only be used on computers with Matlab installed. Running it on 10 computers would require a significant amount of time for Matlab installation and model file copying, and it cannot run on devices with operating systems such as HarmonyOS, Android, and iOS, severely limiting the application scope and flexibility of the software platform.
[0006] Therefore, existing software platforms (such as Matlab) have technical problems in terms of deployment and cross-platform application. If deployment is required on other devices with the same architecture, the software platform must be installed on each device and the relevant programs and configuration files must be copied.
[0007] It should be noted that the information disclosed in this background section is only for understanding the background technology of the present application concept, and therefore, the above description is not considered to constitute prior art information. Summary of the Invention
[0008] The purpose of this invention is to provide a method and system for remotely deploying a software platform user interface.
[0009] To address the aforementioned technical problems, this invention provides a method for remotely deploying a software platform user interface, comprising:
[0010] An independent service process is built on the server side, which provides HTTP Hypertext Transfer Protocol service;
[0011] The service process communicates with the software platform process in real time to obtain the configuration file of the software platform user interface and the running data of the software platform application. The software platform is a third-party software platform.
[0012] The service process parses the configuration file of the software platform's user interface and generates a webpage containing the corresponding user interface on the server side based on the information of each user interface in the configuration file.
[0013] When a webpage is opened in a browser on the server, the service process receives the opening action to refresh the running data of the software platform application onto the webpage in real time; and / or, the service process responds to user interface operations on the webpage to transmit operation instructions to the software platform in real time, and then executes the corresponding operations through the software platform.
[0014] Secondly, the present invention also provides a remote deployment system for a software platform user interface, including a computer device configured to include:
[0015] Software platform process;
[0016] The service process provides HTTP Hypertext Transfer Protocol services and is adapted to communicate in real time with the software platform process to obtain the configuration file of the software platform user interface and the running data of the software platform application, wherein the software platform is a third-party software platform;
[0017] The service process is also adapted to parse the configuration file of the software platform user interface, and generate a webpage containing the corresponding user interface on the server side based on the information of each user interface in the configuration file.
[0018] When a webpage is opened in a browser on the server, the service process receives the opening action to refresh the running data of the software platform application onto the webpage in real time; and / or, the service process responds to user interface operations on the webpage to transmit operation instructions to the software platform in real time, and then executes the corresponding operations through the software platform.
[0019] Thirdly, the present invention also provides a readable storage medium storing computer device readable instructions that, when executed by at least one processor, cause the remote deployment method as described above to be performed.
[0020] Fourthly, the present invention also provides an electronic device comprising: at least one memory and at least one processor, wherein the memory stores executable instructions that, when executed by the processor, cause the processor to perform the remote deployment method as described above.
[0021] Fifthly, the present invention also provides a computer program product, including a program or instructions, wherein when the program or instructions are executed on a computer, the remote deployment method as described above is performed.
[0022] Sixthly, the present invention also provides a remote deployment method based on a Matlab software platform user interface, comprising:
[0023] An independent service process is built on the server side, which provides HTTP Hypertext Transfer Protocol service;
[0024] The service process communicates with the Matlab software platform process in real time to obtain the configuration file of the Matlab software platform user interface and the running data of the software platform application.
[0025] The service process parses the configuration file of the Matlab software platform user interface and generates a webpage containing the corresponding user interface on the server based on the information of each user interface in the configuration file.
[0026] When a webpage is opened in a browser on the server, the service process refreshes the running data of the Matlab software platform application onto the webpage in real time, and / or the service process responds to the user's operation on the user interface on the webpage to transmit the operation instructions to the Matlab software platform in real time, and then executes the corresponding operation through the Matlab software platform.
[0027] The beneficial effects of this invention are that the remote deployment method of the software platform user interface of this invention communicates in real time with the software platform process by constructing an independent service process, thereby obtaining the configuration file of the software platform user interface and the running data of the software platform application. At the same time, the service process provides HTTP service, which enables the local generation of a webpage containing the corresponding user interface on the server side. By operating the user interface on the webpage, the software platform responds and executes the corresponding operation. This not only overcomes the compatibility limitations of the software platform, but also facilitates deployment on other devices, and significantly reduces design and deployment costs.
[0028] Other features and advantages of the invention will be set forth in the following description, and will be apparent in part from the description, or may be learned by practicing the invention. The objects and other advantages of the invention are realized and obtained through the structures particularly pointed out in the description and the drawings.
[0029] To make the above-mentioned objects, features and advantages of the present invention more apparent and understandable, preferred embodiments are described below in detail with reference to the accompanying drawings. Attached Figure Description
[0030] To more clearly illustrate the specific embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the specific embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present invention. For those skilled in the art, other drawings can be obtained from these drawings without creative effort.
[0031] Figure 1 illustrates the steps of a remote deployment method for a software platform user interface according to some embodiments;
[0032] Figure 2 shows a schematic diagram of the interface for configuring the first independent service process through a software platform process in some of the embodiments.
[0033] Figure 3 shows a schematic diagram of the webpage effect after entering "localhost:9018" in the browser's address bar in some of the examples involved in the embodiments;
[0034] Figure 4 shows a schematic diagram of the interface for configuring a second independent service process through a software platform process in some of the embodiments.
[0035] Figure 5 shows a schematic diagram of the webpage effect after entering "localhost:9019" in the browser's address bar in some of the examples involved in the embodiments;
[0036] Figure 6 shows a schematic diagram of the interface of two software platform processes running simultaneously on a computer in some of the cases involved in the embodiments;
[0037] Figure 7 shows a schematic diagram of the webpage effect after entering "localhost:9018" in the browser's address bar in another case involving some embodiments;
[0038] Figure 8 shows a schematic diagram of the interface for creating multiple users in some of the embodiments.
[0039] Figure 9 shows a schematic diagram of the webpage effect after entering "localhost:9018" in the browser's address bar and entering the username "user" in the login window in some of the examples involved in the embodiments;
[0040] Figure 10 shows a schematic diagram of a webpage after a user logs in, as illustrated in some embodiments.
[0041] Figure 11 shows a schematic diagram of the webpage effect after entering "localhost:9018" in the browser's address bar and entering the username "admin" in the login window in some of the examples involved in the embodiments;
[0042] Figure 12 shows a schematic diagram of the webpage after the admin user logs in, in some of the cases involved in the embodiments;
[0043] Figure 13 shows a schematic diagram of some interactive controls involved in some embodiments;
[0044] Figure 14 shows a schematic diagram of some display controls involved in some embodiments;
[0045] Figure 15 shows a block diagram illustrating the principle of a remote deployment system for a software platform user interface as described in some embodiments;
[0046] Figure 16 shows a block diagram of the electronic device involved in some embodiments;
[0047] Figure 17 shows a block diagram of an electronic device involved in some embodiments. Detailed Implementation
[0048] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0049] Existing software platforms (such as Matlab) allow users to design custom user interfaces to implement user-specific functions. However, these functions typically only run on the native software platform. If deployment on other devices with the same architecture is required, the software platform must be installed on each device, and related programs and configuration files must be copied. This not only increases deployment costs but also poses a risk of user intellectual property leakage. Furthermore, due to software platform compatibility limitations, cross-platform deployment is often not possible for devices with different architectures, requiring users to redesign functions, further increasing design and deployment costs.
[0050] Therefore, at least one embodiment provides a method for remotely deploying a software platform user interface, including:
[0051] An independent service process is built on the server side, which provides HTTP Hypertext Transfer Protocol service;
[0052] The service process communicates with the software platform process in real time to obtain the configuration file of the software platform user interface and the running data of the software platform application. The software platform is a third-party software platform.
[0053] The service process parses the configuration file of the software platform's user interface and generates a webpage containing the corresponding user interface on the server side based on the information of each user interface in the configuration file.
[0054] When a webpage is opened in a browser on the server, the service process receives the opening action to refresh the running data of the software platform application onto the webpage in real time; and / or, the service process responds to user interface operations on the webpage to transmit operation instructions to the software platform in real time, and then executes the corresponding operations through the software platform.
[0055] This software platform's remote deployment method for the user interface involves constructing an independent service process that communicates in real-time with the software platform process. This allows the service process to obtain the user interface configuration file and the application's runtime data. Simultaneously, this service process provides HTTP services, enabling the generation of a webpage containing the corresponding user interface on the server. Users can then interact with the user interface on this webpage, prompting the software platform to respond and execute corresponding actions. This not only overcomes the software platform's compatibility limitations but also facilitates deployment on other devices, significantly reducing design and deployment costs. This remote deployment method effectively exposes the functionality of the local server program to remote users via a webpage. The required exposed functionality can be deployed arbitrarily as needed, greatly improving the efficiency of remote function development while ensuring the security of the local server program.
[0056] The various non-limiting embodiments of the present disclosure will now be described in detail with reference to the accompanying drawings.
[0057] As shown in Figure 1, some embodiments provide a method for remotely deploying a software platform user interface, including:
[0058] Step S101: Construct an independent service process on the server side, the service process providing HTTP Hypertext Transfer Protocol service;
[0059] In step S102, the service process communicates with the software platform process in real time to obtain the configuration file of the software platform user interface and the running data of the software platform application. The software platform is a third-party software platform.
[0060] Step S103: The service process parses the configuration file of the software platform user interface and generates a webpage containing the corresponding user interface on the server locally according to the information of each user interface in the configuration file.
[0061] Step S104: When the webpage is opened in the browser on the server, the service process obtains the opening behavior to refresh the running data of the software platform application on the webpage in real time; and / or, the service process responds to the user interface operation on the webpage to transmit the operation instructions to the software platform in real time, and then executes the corresponding operation through the software platform.
[0062] Specifically, after the webpage is generated locally on the server, a remote user can request the webpage, and the server will send the webpage to the remote user for display, facilitating remote viewing and development.
[0063] Specifically, third-party software platforms refer to software platforms that can support plug-in systems or allow for secondary development, such as Matlab, CANoe, TSMaster, etc.
[0064] Specifically, the remote deployment method for the user interface of this software platform can either construct a service process to communicate with the software platform process in real time, or construct multiple service processes to communicate with the software platform process in real time, and then configure these service processes through the software platform process.
[0065] The specific process of responding to user operations on the webpage user interface, transmitting operation instructions to the software platform in real time, and then executing the corresponding operation through the software platform is as follows:
[0066] The user interface on a webpage presents controls that users can interact with, such as buttons, list boxes, text boxes, check boxes, etc. Users interact with the user interface on the webpage by clicking with the mouse (e.g., clicking a button) or by typing on the keyboard (e.g., typing text in a highlighted text box).
[0067] Users interact with the user interface of a webpage by clicking buttons, entering text in boxes, and so on. These actions trigger corresponding JavaScript events. The JavaScript code on the webpage captures these events and encapsulates information related to the user's actions (such as button names, text box values, etc.) into a specific message format. This message includes information such as the action type, relevant component identifiers, and the data involved in the action. The encapsulated message is then sent to the server's service process via network protocols such as HTTP.
[0068] After receiving the message, the service process parses it. Based on the component identifier and operation type in the message, it locates the corresponding relevant component and event handler and triggers their execution.
[0069] The relevant event handler extracts the operation instructions for the software platform based on the operation instructions carried in the message, and transmits the instructions to the software platform, thus ultimately enabling the corresponding operation to be executed through the software platform.
[0070] The following case study details the method for remotely deploying the user interface of a software platform in an application scenario where multiple service processes communicate in real time with a single software platform process:
[0071] Assume that the software platform is running two tasks simultaneously: CAN residual bus simulation and calibration.
[0072] First, as shown in Figure 2, when configuring the first independent service process through the software platform process, enter 9018 as the port number of the service process in the configuration interface of the software platform process, indicating that the service process needs to listen on port 9018 after starting. Then check the functions "Global Control" and "CAN Remaining Bus Simulation".
[0073] Clicking the "Deploy Server Now" button in the software platform will start the first service process with the following command line: TSMasterServer.exe 9018 TSMaster
[0074] Here, "TSMasterServer.exe" is the service process name, and the command line carries two parameters. 9018 is the port number mentioned above; "TSMaster" is the global name of the software platform application. If a second software platform process is started, the global name of the application will be "TSMaster1", if there is a third software platform process, the global name of the application will be "TSMaster2", and so on.
[0075] The software platform's configuration file stores the function names "Global Control" and "CAN Remaining Bus Simulation," which are used to filter the specific functions that the service process displays to the user. Here, it means that the service process is only allowed to display the "Global Control" function and the "CAN Remaining Bus Simulation" function to the user.
[0076] As shown in Figure 3, after the first service process starts, you can access the server locally by entering "localhost:9018" in the browser's address bar. When you open the webpage, you will see two windows: one is "TSMaster Web Server", which corresponds to the "Global Control" function; the other is "CAN Remaining Bus Simulation", which corresponds to the "CAN Remaining Bus Simulation" function.
[0077] As shown in Figure 4, then in the software platform, configure a second independent service process through the software platform process, configure the service process to listen on port 9019, and check the functions "Global Control" and "Calibration".
[0078] Click the "Deploy Server Now" button again in the software platform to start the server with the following command line: TSMasterServer.exe 9019 TSMaster
[0079] Here, "TSMasterServer.exe" is the service process name, and the command line carries two parameters: 9019 is the port number mentioned above; "TSMaster" is the global name of the software platform application.
[0080] The software platform's configuration file stores the function names "Global Control" and "Calibration," which are used to filter which specific functions the service process displays to the user. Here, it means that the service process is only allowed to display the "Global Control" and "Calibration" functions to the user.
[0081] As shown in Figure 5, after the second service process starts, you can access the server locally by entering "localhost:9019" in the browser's address bar. When you open the webpage, you will see two windows: one is "TSMaster Web Server", which corresponds to the "Global Control" function; the other is "Calibration", which corresponds to the "Calibration" function.
[0082] Application scenarios where a software platform process communicates in real time with multiple service processes include, but are not limited to, logical function or permission function grouping:
[0083] For example, when a software platform process creates multiple calibration servers (engine calibration, chassis calibration, etc.), multiple diagnostic servers, simulation servers, data monitoring servers, etc., different service processes can be responsible for providing different server functions.
[0084] For example, when a software platform creates a regular user server and an administrator server, it can use two different service processes to physically isolate users accessing the server, thereby increasing security.
[0085] It should be noted that, for application scenarios where a service process communicates in real time with a software platform process, the method for remotely deploying the software platform user interface can refer to the case study on the method for remotely deploying the software platform user interface in application scenarios where multiple service processes communicate in real time with a software platform process, which will not be elaborated here.
[0086] In some embodiments, the service process communicates in real time with at least one software platform process;
[0087] The service process parses the configuration files of the user interfaces of each software platform, and generates a webpage containing all interfaces locally on the server based on the information of each user interface in each configuration file.
[0088] Specifically, application scenarios where multiple software platform processes communicate with a single service process in real time are limited to data fusion and unified display functions: for example, in a unified webpage, users can simultaneously control the functions of multiple software platforms, such as a 32-bit software platform process responsible for simulation, a 64-bit software platform process responsible for data acquisition, and so on.
[0089] The following example illustrates in detail the method for real-time communication between the service process and at least one software platform process:
[0090] Figure 6 shows the interface of two software platform processes running simultaneously on a computer. The global names of the software platform applications are TSMaster and TSMaster1. In the TSMaster software platform process, a CAN remaining bus simulation task is run, and its window name is "CAN Remaining Bus Simulation"; in the TSMaster1 software platform process, a signal monitoring task is run, and its window name is "Monitor".
[0091] Depending on the project, the configuration file TSMaster.ini for the software platform process is stored in either the "CANRBS" folder or the "CANMon" folder. 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.
[0092] Taking the TSMaster.ini file in the folder "CANRBS" as an example, the relevant part of the configuration information interface of its "CAN Remaining Bus Simulation" window is as follows: [TfrmCANRBS] Caption=CAN Remaining Bus Simulation XPosition=100 YPosition=200 Width=800 Height=600
[0093] In this context, 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.
[0094] Based on the parsing results of the above interface-related configuration information, the service process generates a local HTML webpage on the server side, creates the corresponding webpage window, and sets the corresponding configuration information. The relevant parts of the webpage source code and interface configuration are as follows:
[0095] Start the service process TSMasterServer.exe with the following command line: TSMasterServer.exe 9018"TSMaster,TSMaster1"
[0096] Here, "TSMasterServer.exe" is the service process name, and the command line carries three parameters. 9018 is the port number mentioned above; "TSMaster,TSMaster1" are comma-separated global names of the software platform applications, indicating that this service process communicates in real time with both the software platform processes TSMaster and TSMaster1.
[0097] As shown in Figure 7, after the service process is started according to the above command line, you can access the server locally by entering "localhost:9018" in the address bar of the browser. After opening the webpage, you will see two windows: one is "CAN Remaining Bus Simulation", which corresponds to the CAN residual bus simulation function of the software platform process TSMaster; the other is "Monitor", which corresponds to the monitoring function in the software platform process TSMaster1.
[0098] In some embodiments, when a webpage is opened in a browser on the server, the service process creates a session module and provides the webpage with corresponding interaction and access permissions according to the login permission level configured in the session module. This includes: creating a user in the session module; setting interaction permissions for each user, including window visibility permission and window invisibility permission; and setting access permissions for each user with window visibility permission, including display only permission and full control permission.
[0099] Specifically, each window can have its own set of interaction permissions for each user, such as "window visible" and "window invisible." This means that different users will see different numbers of windows when they open a webpage.
[0100] Specifically, user access permissions for windows they have privileges on are divided into "display only" and "full control." With "display only" permission, users can only view data through interface controls and cannot pass critical operation commands to the software platform process. For example, with "display only" permission, users can only view the simulation process but cannot start or stop it. With "full control" permission, users can operate on all functions of the window, including starting and stopping the simulation, browsing simulation data, and so on.
[0101] Specifically, setting login permission levels can display specific data to specific users, preventing unauthorized access to sensitive data.
[0102] The following example details how, when a webpage is opened in a local browser on the server, the service process creates a session module and provides the webpage with corresponding interaction and access permissions based on the login permission level configured in the session module:
[0103] The software platform runs two tasks simultaneously: CAN residual bus simulation and calibration. A separate service process is configured through the software platform process settings; entering 9018 indicates that the service process will listen on port 9018 after startup. In the user permissions section of the software platform, check the option "Users need to log in with a specific username and password" to activate the access control function.
[0104] In the user list, you can create multiple users and set a username and password for each user. Assuming that two users are created in this case, as shown in Figure 8, with usernames "user" and "admin" and passwords "user" and "admin" respectively.
[0105] After the user list is edited, the user access control list at the bottom will be rebuilt, displaying the function column and user column. In this example, the function column contains three functions: "Global Control," "Calibration," and "CAN Remaining Bus Simulation." In the corresponding user column, "Global Control" and "CAN Remaining Bus Simulation" are checked, indicating that the user named "user" is allowed to access the "Global Control" and "CAN Remaining Bus Simulation" functions, but not the "Calibration" function. In the corresponding admin column, all functions are checked, indicating that the user named "admin" is allowed to access all functions.
[0106] Clicking the "Deploy Server Now" button in the software platform will start the service process with the following command line: TSMasterServer.exe 9018 TSMaster
[0107] Here, "TSMasterServer.exe" is the service process name, and the command line carries two parameters. 9018 is the port number mentioned above; "TSMaster" is the global name of the software platform application.
[0108] The software platform's configuration file stores the function names "Global Control", "Calibration", and "CAN Remaining Bus Simulation" according to user permissions, which are used to filter the service processes and display specific functions to users.
[0109] As shown in Figure 9, you can access the server locally by entering "localhost:9018" in the browser's address bar. After opening the webpage, you will see a login window because user access control is enabled. If you enter the username "user" and the password "user", you will log in as the user "user".
[0110] As shown in Figure 10, after logging in, the user will see two windows, "TSMaster Web Server" and "CAN Remaining Bus Simulation", but will not see the "Calibration" window.
[0111] As shown in Figure 11, open a new window in your browser and enter "localhost:9018" in the address bar to open a new webpage. In the login window, enter the username "admin" and the password "admin" to log in as the admin user.
[0112] As shown in Figure 12, after logging in, the admin user will see three windows: "TSMaster Web Server", "CAN Remaining Bus Simulation", and "Calibration".
[0113] In some embodiments, the user interface includes at least one interactive control; and when the webpage is opened in a browser on the server, the service process is adapted to respond to the user's operation on the interactive control on the webpage.
[0114] The interactive controls include, but are not limited to, text boxes, password boxes, radio buttons, check boxes, buttons, drop-down lists, text fields, sliders, input boxes (number, date, etc.), editable table cells, file upload controls, toggle buttons, date pickers, time pickers, color pickers, number input boxes, rating controls, toggle controls, tree selection controls, rich text editors, etc.
[0115] Specifically, as shown in Figure 13, interactive controls such as the connect and disconnect button 1, the filter text box 3, the listener checkbox 4, and the toolbar button 2 are displayed.
[0116] In some embodiments, the user interface includes at least one display control.
[0117] Specifically, as shown in Figure 14, the display controls include, but are not limited to, a label box 7 for displaying signal names, a progress bar 8 for displaying signal value ranges, a drawing box 5 for displaying node names 6 and colors, etc.
[0118] In some embodiments, the service process and the software platform process communicate in real time, for example, but not limited to, one or more of pipe communication, shared memory communication, socket communication, and message queue communication.
[0119] Specifically, pipe communication methods include:
[0120] Creating a pipe: A pipe is created using a specific system call, with one end for reading (read end) and the other end for writing (write end); Process association: The processes that need to communicate are associated with the read and write ends of the pipe; Data writing: The process sending data writes the data to the write end of the pipe; Data reading: The process receiving data reads the data from the read end of the pipe; Closing the pipe: When communication is over, the relevant processes close the read and write ends of the pipe to release resources.
[0121] Specifically, methods of shared memory communication include:
[0122] Creating shared memory: A process uses a system call to create a shared memory region; Mapping shared memory: Each process that needs to access the shared memory maps the shared memory into its own address space through a system call; Data exchange: Synchronization mechanisms, such as semaphores and mutexes, are used to coordinate access to the shared memory by multiple processes; Unmapping: When a process no longer needs to access the shared memory, it unmaps the shared memory from its own address space through a system call; Deleting shared memory: After all processes have finished accessing the shared memory, it is deleted, releasing system resources.
[0123] Specifically, socket communication methods include:
[0124] Socket communication server:
[0125] Create a socket: Use TCP or UDP, bind the address and port; for TCP, you need to listen for and accept connections; perform data exchange; close the socket.
[0126] Socket communication client:
[0127] Create a socket: use TCP or UDP; for TCP, a connection to the server is required; data exchange occurs; close the socket.
[0128] Specifically, message queue communication methods include: creating a message queue to store messages; sending messages (messages generally contain message type and specific message content); receiving messages (selectively receiving messages based on message type, or receiving messages according to the first-in-first-out principle); processing messages (performing operations related to the message content); and closing the message queue (when communication ends, the relevant processes close the message queue and release resources).
[0129] It should be noted that the specific implementation of the above communication method can refer to the existing technology, and this embodiment does not improve the above communication method itself.
[0130] In summary, this embodiment is particularly suitable for the automotive development field. By parsing the configuration file of the software platform's user interface on the server side, it avoids the traditional remote exclusive method of intercepting the interactive interface. At the same time, having the configuration information means that the server can build data models and distribute these data models to different users for simultaneous use. That is, one server can serve multiple users at the same time, and these users may use different server data (the server has a large number of databases, signals, measurement information, diagnostic and calibration information, etc.). This embodiment can allow multiple users to access the server simultaneously through a unique session module. Each user can fully operate the complete instance of the server and interact in real time, thereby solving the problems of data management with permission restrictions and remote interaction in the automotive development process.
[0131] Some embodiments also provide a remote deployment method based on the Matlab (Matrix Laboratory) software platform user interface, including: constructing an independent service process on the server side, the service process providing HTTP hypertext transfer protocol service; the service process communicating with the Matlab software platform process in real time to obtain the configuration file of the Matlab software platform user interface and the running data of the software platform application; parsing the configuration file of the Matlab software platform user interface through the service process, and generating a webpage containing the corresponding user interface on the server side according to the information of each user interface in the configuration file; when the webpage is opened in the browser on the server side, the service process refreshes the running data of the Matlab software platform application on the webpage in real time, and / or, the service process responds to the user's operation on the user interface on the webpage to transmit the operation instructions to the Matlab software platform in real time, and then executes the corresponding operation through the Matlab software platform.
[0132] For the Matlab (Matrix Laboratory) software platform, some embodiments also provide a remote deployment method including: the service process communicating in real time with at least one Matlab software platform process; the service process parsing the configuration files of the Matlab software platform user interfaces respectively, and generating a webpage containing all interfaces locally on the server according to the information of each user interface in the corresponding configuration file; and when the webpage is opened in a browser on the server, the service process creates a session module, and provides the webpage with corresponding interaction and access permissions according to the login permission level configured in the session module, including: creating users in the session module; setting interaction permissions for each user, including window visibility permission and window invisibility permission; and setting access permissions for each user with window visibility permission, including display only permission and full control permission.
[0133] As shown in Figure 15, some embodiments also provide a remote deployment system for a software platform user interface, including a computer device configured to include:
[0134] Software platform process;
[0135] The service process provides HTTP Hypertext Transfer Protocol services and is adapted to communicate in real time with the software platform process to obtain the configuration file of the software platform user interface and the running data of the software platform application, wherein the software platform is a third-party software platform;
[0136] The service process is also adapted to parse the configuration file of the software platform user interface, and generate a webpage containing the corresponding user interface on the server side based on the information of each user interface in the configuration file.
[0137] When a webpage is opened in a browser on the server, the service process receives the opening action to refresh the running data of the software platform application onto the webpage in real time; and / or, the service process responds to user interface operations on the webpage to transmit operation instructions to the software platform in real time, and then executes the corresponding operations through the software platform.
[0138] The specific implementation functions of the software platform process and service process are implemented in the computer device. For details, please refer to the aforementioned remote deployment method of the software platform user interface, which will not be repeated here.
[0139] The electronic devices in the embodiments of this disclosure are described below from the perspective of hardware processing:
[0140] The embodiments disclosed herein do not limit the specific implementation of the electronic device.
[0141] As shown in Figure 16, some embodiments also provide an electronic device, including: a processor, a readable storage medium, a communication bus, and a communication interface; wherein the processor, the readable storage medium, and the communication interface communicate with each other through the communication bus; the readable storage medium is used to store a program for executing a remote deployment method of the software platform user interface, the program causing the processor to execute operations corresponding to the remote deployment method.
[0142] As shown in Figure 17, some embodiments also provide an electronic device, including:
[0143] A processor, a display that communicates with the processor to display web pages, and a readable storage medium; among which
[0144] The readable storage medium is configured to store instruction programs;
[0145] The processor is configured to execute the instruction program to perform the following operations:
[0146] An independent service process is built on the server side, which provides HTTP Hypertext Transfer Protocol service;
[0147] The service process communicates with the software platform process in real time to obtain the configuration file of the software platform's user interface and the runtime data of the software platform's application. The software platform is a third-party software platform. The service process parses the configuration file of the software platform's user interface and generates a webpage containing the corresponding user interface on the server based on the information of each user interface in the configuration file. When the webpage is opened in the browser on the server, the service process receives the opening behavior and refreshes the runtime data of the software platform's application onto the webpage in real time. And / or, the service process responds to user interface operations on the webpage to transmit operation instructions to the software platform in real time, thereby executing the corresponding operation through the software platform. The display is configured to display the webpage containing the corresponding user interface.
[0148] In some embodiments, computer devices and industrial control computers can also be used as a type of electronic device and can serve as a server.
[0149] The structures shown in Figures 16 and 17 do not constitute a limitation on the electronic device and may include fewer or more components than shown, or combine certain components, or have different component arrangements.
[0150] In some embodiments, the communication interface may be RS232, RS485, USB, or TYPE, and can be connected to an external bus adapter. It may also include a wired or wireless network interface, which may optionally include a wired interface and / or a wireless interface (such as a Wi-Fi interface, Bluetooth interface, etc.), typically used to establish communication connections between the computer device and other electronic devices.
[0151] In some embodiments, the readable storage medium or computer-readable storage medium includes at least one type of memory, including flash memory, hard disk, multimedia card, card-type memory (e.g., SD memory), magnetic memory, magnetic disk, optical disk, etc. In some embodiments, it may be an internal storage unit of a computer device, such as the hard disk of the computer device. In other embodiments, the memory may also be an external storage device of the computer device, such as an insertable hard disk, smart media card (SMC), secure digital (SD) card, flash card, etc., provided on the computer device. Furthermore, the memory may include both internal storage units and external storage devices of the computer device. The memory can be used not only to store application software and various types of data installed on the computer device, such as computer program code, but also to temporarily store data that has been output or will be output.
[0152] In some embodiments, a processor may be a central processing unit (CPU), a controller, a microcontroller, a microprocessor, or other data processing chip, used to run program code stored in memory or process data, such as executing computer programs.
[0153] In some embodiments, the communication bus can also be an input / output bus, which may be a Peripheral Component Interconnect (PCI) bus or an Enhanced Industry Standard Architecture (EISA) bus, etc. This bus can be divided into address bus, data bus, control bus, etc.
[0154] Optionally, the computer device may also include a user interface, which may include a display, an input unit such as a keyboard, and optionally, a standard wired interface or a wireless interface. Optionally, in some embodiments, the display may be an LED display, a liquid crystal display, a touch-sensitive liquid crystal display, or an OLED (Organic Light-Emitting Diode) touchscreen, etc. The display may also be appropriately referred to as a screen or display unit, used to display information processed in the computer device and to display web pages.
[0155] When the processor executes the program, it implements the steps in the remote deployment method embodiment of the software platform user interface shown in Figure 1. Alternatively, when the processor executes the computer program, it implements the functions of each module or unit in the above-described device embodiments.
[0156] Some embodiments also provide a non-transitory computer-readable storage medium storing computer-readable instructions that, when executed by at least one processor, cause a remote deployment method to be performed; the remote deployment method includes: constructing a separate service process on a server side, the service process providing HTTP hypertext transfer protocol services;
[0157] The service process communicates with the software platform process in real time to obtain the configuration file of the software platform user interface and the running data of the software platform application. The software platform is a third-party software platform.
[0158] The service process parses the configuration file of the software platform's user interface and generates a webpage containing the corresponding user interface on the server side based on the information of each user interface in the configuration file.
[0159] When a webpage is opened in a browser on the server, the service process receives the opening action to refresh the running data of the software platform application onto the webpage in real time; and / or, the service process responds to user interface operations on the webpage to transmit operation instructions to the software platform in real time, and then executes the corresponding operations through the software platform.
[0160] Some embodiments also provide a non-transitory computer-readable storage medium storing computer-readable instructions that, when executed by at least one processor, cause the remote deployment method described above to be performed, specifically as follows:
[0161] An independent service process is built on the server side, which provides HTTP Hypertext Transfer Protocol service;
[0162] The service process communicates with the software platform process in real time to obtain the configuration file of the software platform user interface and the running data of the software platform application. The software platform is a third-party software platform.
[0163] The service process parses the configuration file of the software platform's user interface and generates a webpage containing the corresponding user interface on the server side based on the information of each user interface in the configuration file.
[0164] When a webpage is opened in a browser on the server, the service process receives the opening action to refresh the running data of the software platform application onto the webpage in real time; and / or, the service process responds to user interface operations on the webpage to transmit operation instructions to the software platform in real time, and then executes the corresponding operations through the software platform.
[0165] Please refer to the detailed description of the remote deployment method; it will not be repeated here.
[0166] Some embodiments also provide a computer program product, including a program or instructions, wherein when the program or instructions are executed on a computer, a remote deployment method is performed; the remote deployment method includes: constructing a separate service process on a server, the service process providing HTTP hypertext transfer protocol services;
[0167] The service process communicates with the software platform process in real time to obtain the configuration file of the software platform user interface and the running data of the software platform application. The software platform is a third-party software platform.
[0168] The service process parses the configuration file of the software platform's user interface and generates a webpage containing the corresponding user interface on the server side based on the information of each user interface in the configuration file.
[0169] When a webpage is opened in a browser on the server, the service process receives the opening action to refresh the running data of the software platform application onto the webpage in real time; and / or, the service process responds to user interface operations on the webpage to transmit operation instructions to the software platform in real time, and then executes the corresponding operations through the software platform.
[0170] Some embodiments also provide a computer program product including a readable storage medium having readable program code stored thereon, the readable program code including instructions that cause at least one processor (one or more computer devices) to perform the following operations:
[0171] An independent service process is built on the server side, which provides HTTP Hypertext Transfer Protocol service;
[0172] The service process communicates with the software platform process in real time to obtain the configuration file of the software platform user interface and the running data of the software platform application. The software platform is a third-party software platform.
[0173] The service process parses the configuration file of the software platform's user interface and generates a webpage containing the corresponding user interface on the server side based on the information of each user interface in the configuration file.
[0174] When a webpage is opened in a browser on the server, the service process receives the opening action to refresh the running data of the software platform application onto the webpage in real time; and / or, the service process responds to user interface operations on the webpage to transmit operation instructions to the software platform in real time, and then executes the corresponding operations through the software platform.
[0175] In some embodiments, it should be understood that the disclosed apparatus and methods can also be implemented in other ways. The apparatus embodiments described above are merely illustrative; for example, the flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of apparatus, methods, and embedded program products according to various embodiments of the present invention. In this regard, each block in a flowchart or block diagram may represent a module, 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 implementations, the functions marked in the blocks may occur in a different order than those marked in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in a block diagram and / or flowchart, and combinations of blocks in block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or action.
[0176] In addition, the functional modules in the various embodiments of the present invention can be integrated together to form an independent part, or each module can exist independently, or two or more modules can be integrated to form an independent part.
[0177] If the aforementioned functions are implemented as software functional modules and sold or used as independent products, they can be stored in a readable storage medium. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. This embedded software product is stored in a storage medium and executes all or part of the steps of the methods described in the various embodiments of the present invention.
[0178] Based on the above-described preferred embodiments of the present invention, and through the foregoing description, those skilled in the art can make various changes and modifications without departing from the inventive concept. The technical scope of this invention is not limited to the contents of the specification, but must be determined according to the scope of the claims.
Claims
1. A method for remote deployment of a software platform user interface, characterized in that, include: An independent service process is built on the server side, which provides HTTP Hypertext Transfer Protocol service; The service process communicates with the software platform process in real time to obtain the configuration file of the software platform user interface and the running data of the software platform application. The service process parses the configuration file of the software platform's user interface and generates a webpage containing the corresponding user interface on the server side based on the information of each user interface in the configuration file. When a webpage is opened in a browser on the server, the service process receives the opening behavior and refreshes the running data of the software platform application onto the webpage in real time. And / or, the service process responds to user interface operations on the webpage to transmit operation instructions to the software platform in real time, and then executes the corresponding operations through the software platform.
2. The remote deployment method according to claim 1, characterized in that, The service process communicates in real time with at least one software platform process. The service process parses the configuration files of the user interfaces of each software platform, and generates a webpage containing all interfaces locally on the server based on the information of each user interface in each configuration file.
3. The remote deployment method according to claim 2, characterized in that, When a webpage is opened in a browser on the server, the service process creates a session module and provides the webpage with corresponding interaction and access permissions based on the login permission level configured in the session module, including: Create a user in the session module; Interaction permissions are set for each user, including: window visibility permission and window visibility permission; and Then set access permissions for each user who has window visibility permission. Access permissions include: display only permission and full control permission.
4. The remote deployment method according to claim 1, characterized in that, The user interface includes at least one interactive control; and Once the webpage is opened in a browser on the server, the service process is adapted to respond to user actions on interactive controls on the webpage.
5. The remote deployment method according to claim 1, characterized in that, The user interface includes at least one display control.
6. The remote deployment method 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 methods: pipe communication, shared memory communication, socket communication, and message queue communication.
7. The remote deployment method according to claim 1, characterized in that, The software platforms mentioned are Tsmaster, Matlab, and CANoe.
8. [Corrected according to detailed rule 91 08.08.2025] The remote deployment method according to claim 1 is characterized in that, The software platform is a third-party software platform that supports plug-in systems or secondary development.
9. A remote deployment system for a software platform user interface, characterized by Includes a computer device, the computer device being configured to include: Software platform process; The service process provides HTTP Hypertext Transfer Protocol services and is adapted to communicate in real time with the software platform process to obtain the configuration file of the software platform user interface and the running data of the software platform application, wherein the software platform is a third-party software platform; The service process is further adapted to parse the configuration file of the software platform's user interface, and generate a webpage containing the corresponding user interface locally on the server based on the information of each user interface in the configuration file; and, When a webpage is opened in a browser on the server, the service process receives the opening action to refresh the running data of the software platform application onto the webpage in real time; and / or, the service process responds to user interface operations on the webpage to transmit operation instructions to the software platform in real time, and then executes the corresponding operations through the software platform.
10. The remote deployment system according to claim 9, characterized in that, The service process communicates in real time with at least one software platform process. The service process parses the configuration files of the user interfaces of each software platform, and generates a webpage containing all interfaces locally on the server based on the information of each user interface in each configuration file.
11. The remote deployment system according to claim 10, characterized in that, When a webpage is opened in a browser on the server, the service process creates a session module and provides the webpage with corresponding interaction and access permissions based on the login permission level configured in the session module, including: Create a user in the session module; Interaction permissions are set for each user, including: window visibility permission and window visibility permission; and Then set access permissions for each user who has window visibility permission. Access permissions include: display only permission and full control permission.
12. The remote deployment system according to claim 9, characterized in that, The user interface includes at least one interactive control; and Once the webpage is opened in a browser on the server, the service process is adapted to respond to user actions on interactive controls on the webpage.
13. The remote deployment system according to claim 9, characterized in that, The user interface includes at least one display control.
14. The remote deployment system according to claim 9, characterized in that, The service process and the software platform process communicate in real time using one or more of the following methods: pipe communication, shared memory communication, socket communication, and message queue communication.
15. The remote deployment system according to claim 9, characterized in that, The software platforms mentioned are Tsmaster, Matlab, and CANoe.
16. A non-transitory computer-readable storage medium storing computer device readable instructions that, when executed by at least one processor, cause the remote deployment method of claim 1 to be performed.
17. An electronic device, comprising: include: At least one memory and at least one processor, wherein the memory stores executable instructions that, when executed by the processor, cause the processor to perform the remote deployment method as described in claim 1.
18. A computer program product comprising a program or instructions, wherein when the program or instructions are executed on a computer, the remote deployment method of claim 1 is performed.
19. A remote deployment method based on a Matlab software platform user interface, characterized in that, include: An independent service process is built on the server side, which provides HTTP Hypertext Transfer Protocol service; The service process communicates with the Matlab software platform process in real time to obtain the configuration file of the Matlab software platform user interface and the running data of the software platform application. The service process parses the configuration file of the Matlab software platform user interface and generates a webpage containing the corresponding user interface on the server based on the information of each user interface in the configuration file. When the webpage is opened in the browser on the server, the service process refreshes the running data of the Matlab software platform application to the webpage in real time. And / or, the service process responds to user operations on the user interface on the webpage to transmit operation instructions to the Matlab software platform in real time, and then executes the corresponding operations through the Matlab software platform.
20. The remote deployment method according to claim 19, characterized in that, The service process communicates in real time with at least one Matlab software platform process. The service process parses the configuration files of the Matlab software platform user interface, and based on the information of each user interface in the corresponding configuration file, generates a webpage containing all interfaces locally on the server; and, When a webpage is opened in a browser on the server, the service process creates a session module and provides the webpage with corresponding interaction and access permissions based on the login permission level configured in the session module, including: Create a user in the session module; Set interaction permissions for each user, including window visibility permission and window invisibility permission; and set access permissions for each user with window visibility permission, including display only permission and full control permission.