Remote deployment method and deployment system of software platform user interface
By building an HTTP service process on the server side for real-time communication to obtain and generate web pages, the high cost and compatibility issues of cross-platform deployment of software platforms such as Matlab are solved, enabling convenient cross-platform deployment and secure remote function execution.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-23
- Publication Date
- 2026-04-14
AI Technical Summary
Existing software platforms such as Matlab require installation and copying of the program on each device when deployed across platforms, resulting in high costs and risks of intellectual property leakage. Furthermore, cross-platform compatibility is limited, and it cannot run on devices with different architectures.
By building an independent service process on the server side, providing HTTP hypertext transfer protocol service, it communicates in real time to obtain the configuration files and runtime data of the software platform user interface, generates corresponding web pages, and responds to user interface operations to perform corresponding operations.
It facilitates cross-platform deployment, reduces design and deployment costs, ensures security, and improves the efficiency of remote feature development.
Smart Images

Figure CN120560667B_ABST
Abstract
Description
[0001] This application is based on and claims priority to Chinese Patent Application No. 202411036808.5, filed on July 31, 2024, and Chinese Patent Application No. 202510194991.X, filed on February 21, 2025. The entire contents of the above applications are incorporated herein by reference. Technical Field
[0002] This invention relates to software deployment technology, specifically to a remote deployment method and system for a software platform user interface. Background Technology
[0003] 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.
[0004] 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.
[0005] 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.
[0006] 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
[0007] The purpose of this invention is to provide a method and system for remotely deploying a software platform user interface.
[0008] To address the aforementioned technical problems, this invention provides a method for remotely deploying a software platform user interface, comprising:
[0009] An independent service process is built on the server side, which provides HTTP Hypertext Transfer Protocol service;
[0010] 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.
[0011] 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.
[0012] 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.
[0013] In a second aspect, the present invention also provides a remote deployment system for a software platform user interface, including a computer device configured to include:
[0014] Software platform process;
[0015] 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;
[0016] 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.
[0017] 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.
[0018] 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.
[0019] 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.
[0020] 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.
[0021] Sixthly, the present invention also provides a remote deployment method based on a Matlab software platform user interface, comprising:
[0022] An independent service process is built on the server side, which provides HTTP Hypertext Transfer Protocol service;
[0023] 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.
[0024] 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.
[0025] 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.
[0026] 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.
[0027] 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.
[0028] 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
[0029] 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.
[0030] Figure 1 A step diagram illustrating a remote deployment method for a software platform user interface according to some embodiments is shown;
[0031] Figure 2 The diagram illustrates an interface for configuring the first independent service process via a software platform process in some of the embodiments.
[0032] Figure 3 The illustration shows the webpage effect after entering "localhost:9018" in the browser's address bar in some of the examples involved in the embodiments;
[0033] Figure 4 The diagram illustrates an interface for configuring a second independent service process via a software platform process in some of the embodiments.
[0034] Figure 5 The illustration shows the webpage effect after entering "localhost:9019" in the browser's address bar in some of the examples involved in the embodiments;
[0035] Figure 6 The diagram illustrates the interface of two software platform processes running simultaneously on a computer in some embodiments.
[0036] Figure 7 This illustration shows the webpage effect after entering "localhost:9018" in the browser's address bar in another example involving some embodiments;
[0037] Figure 8 The diagram illustrates an interface for creating multiple users in some of the embodiments.
[0038] Figure 9 The illustration shows a webpage effect where, after entering "localhost:9018" in the browser's address bar, the username "user" is entered in the login window, as shown in some of the embodiments.
[0039] Figure 10 The illustration shows a webpage after a user logs in, as illustrated in some embodiments.
[0040] Figure 11 The illustration shows a webpage effect where, after entering "localhost:9018" in the browser's address bar, the username "admin" is entered in the login window, as shown in some of the embodiments.
[0041] Figure 12 The illustration shows a webpage after the admin user logs in, as illustrated in some of the embodiments.
[0042] Figure 13 A schematic diagram of some interactive controls involved in some embodiments is shown;
[0043] Figure 14 A schematic diagram of some display controls involved in some embodiments is shown;
[0044] Figure 15 A block diagram illustrating the principle of a remote deployment system for a software platform user interface as described in some embodiments is shown.
[0045] Figure 16 Block diagrams of electronic devices involved in some embodiments are shown;
[0046] Figure 17 Block diagrams of electronic devices involved in some embodiments are shown. Detailed Implementation
[0047] 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.
[0048] 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.
[0049] Therefore, at least one embodiment provides a method for remotely deploying a software platform user interface, including:
[0050] An independent service process is built on the server side, which provides HTTP Hypertext Transfer Protocol service;
[0051] 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.
[0052] 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.
[0053] 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.
[0054] 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.
[0055] The various non-limiting embodiments of the present disclosure will now be described in detail with reference to the accompanying drawings.
[0056] like Figure 1 As shown, some embodiments provide a method for remotely deploying a software platform user interface, including:
[0057] Step S101: Construct an independent service process on the server side, the service process providing HTTP Hypertext Transfer Protocol service;
[0058] 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.
[0059] 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.
[0060] 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.
[0061] 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.
[0062] 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.
[0063] 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.
[0064] 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:
[0065] 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).
[0066] 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.
[0067] 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.
[0068] 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.
[0069] 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:
[0070] Assume that the software platform is running two tasks simultaneously: CAN residual bus simulation and calibration.
[0071] First, such as Figure 2 As shown, 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".
[0072] Clicking the "Deploy Server Now" button in the software platform will start the first service process with the following command line:
[0073] TSMasterServer.exe 9018TSMaster
[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] like Figure 3 As shown, after the first service process starts, you can access the server locally by entering "localhost:9018" in the browser's address bar. After opening the webpage, you will see two windows: one is "TSMaster WebServer", corresponding to the "Global Control" function; the other is "CAN Remaining Bus Simulation", corresponding to the "CAN Remaining Bus Simulation" function.
[0077] like Figure 4 As shown, 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:
[0079] TSMasterServer.exe 9019TSMaster
[0080] 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.
[0081] The software platform's configuration file stores the function names "Global Control" and "Calibration," 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" and "Calibration" functions to the user.
[0082] like Figure 5As shown, 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 WebServer", which corresponds to the "Global Control" function; the other is "Calibration", which corresponds to the "Calibration" function.
[0083] Application scenarios where a software platform process communicates in real time with multiple service processes, but are limited to logical function or permission function groups:
[0084] 1) 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., multiple different service processes can be responsible for providing different server functions;
[0085] 2) 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.
[0086] 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.
[0087] In some embodiments, the service process communicates in real time with at least one software platform process;
[0088] 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.
[0089] 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.
[0090] The following example illustrates in detail the method for real-time communication between the service process and at least one software platform process:
[0091] like Figure 6As shown in the figure, the interface of two software platform processes running simultaneously on a computer is displayed. The global names of the software platform applications are TSMaster and TSMaster1, respectively. In the TSMaster software platform process, a CAN remaining bus simulation task is running, and its window name is "CAN Remaining Bus Simulation"; in the TSMaster1 software platform process, a signal monitoring task is running, and its window name is "Monitor".
[0092] 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.
[0093] Taking the TSMaster.ini file in the "CANRBS" folder as an example, the relevant part of the configuration information interface in its "CAN Remaining BusSimulation" window is as follows:
[0094] [TfrmCANRBS]
[0095] Caption=CAN Remaining Bus Simulation
[0096] XPosition=100
[0097] YPosition=200
[0098] Width = 800
[0099] Height = 600
[0100] 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.
[0101] 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:
[0102] <!DOCTYPE html>
[0103]
[0104]
[0105] <meta charset="UTF-8">
[0106] <meta name="viewport"content="width=device-width,initial-scale=1.0">
[0107] <title> CAN Remaining Bus Simulation< / title>
[0108] <style>
[0109] / *窗体样式* /
[0110] #frmCANRBS{
[0111]
[0112]
[0113] frmCANRBS.style.height=config.Height+'px';
[0114] < / script>
[0115] < / body>
[0116] < / html>
[0117] 以如下命令行启动服务进程TSMasterServer.exe:
[0118] TSMasterServer.exe 9018"TSMaster,TSMaster1"
[0119] 其中,"TSMasterServer.exe”为服务进程名称,命令行共携带三个参数。9018为上述的端口号;"TSMaster,TSMaster1”为以逗号分隔的软件平台应用程序全局名称,此处表示该服务进程同时与软件平台进程TSMaster和软件平台进程TSMaster1进行实时通信。
[0120] 如图7所示,当服务进程按照上述命令行启动后,在浏览器的地址栏输入"localhost:9018”即可在服务端本地访问服务端,此时打开网页后,将看到两个窗口,一个是"CAN Remaining Bus Simulation”,对应软件平台进程TSMaster的CAN剩余总线仿真功能;另一个是"Monitor”,对应软件平台进程TSMaster1中的监控功能。
[0121] 在一些实施例中,当网页在服务端本地的浏览器被打开后时,所述服务进程创建会话模块,并根据会话模块配置的登陆权限等级,以提供所述网页相应的交互和访问权限,包括:在所述会话模块中创建用户;针对每一个用户设置交互权限,交互权限包括:窗口可见权限和窗口不可见权限;以及再针对每一个拥有窗口可见权限的用户设置访问权限,访问权限包括:仅显示权限和完全控制权限。
[0122] 具体的,每一个窗口均可针对每一个用户设置交互权限,交互权限例如"窗口可见”和"窗口不可见”。这样不同的用户打开网页所看到的窗口的数量就是不一样的。
[0123] 具体的,用户对拥有权限的窗口的访问权限分为"仅显示”和"完全控制”。对于"仅显示”权限,用户只能通过界面控件查看数据,而无法将关键操作命令传递至软件平台进程,例如"仅显示”用户只能查看仿真过程,却无法启动和停止仿真。对于"完全控制”权限,用户可以对窗口的所有功能进行操作,包括启动和停止仿真,浏览仿真数据等等。
[0124] 具体的,设置登陆权限等级可以向特定的用户展示特定的数据,防止敏感数据的越级访问。
[0125] 下面结合案例详细说明当网页在服务端本地的浏览器被打开后时,所述服务进程创建会话模块,并根据会话模块配置的登陆权限等级,以提供所述网页相应的交互和访问权限的方法,如下:
[0126] 软件平台中同时运行CAN剩余总线仿真和标定两个任务。通过软件平台进程配置独立的服务进程,端口号填9018表示服务进程启动后需要监听的端口号为9018。在软件平台上的用户权限一栏中,勾选"用户需要通过特定的用户名和密码登录”选项以激活权限等级控制功能。
[0127] 在用户列表中,可以新建多个用户,并为每个用户设置用户名和密码。假设在此案例中,共新建了两个用户,如图8所示,用户名分别为user和admin,它们的密码分别为"user”和"admin”。
[0128] 在用户列表编辑完成后,最下方的用户权限控制列表则会重建,并显示功能列和用户列。在本案例中,功能列中包含三个功能:"Global Control”、"Calibration”和"CANRemaining Bus Simulation”;对应的user列中,勾选了"Global Control”和"CANRemaining Bus Simulation”,表示允许用户名为"user”的用户访问"Global Control”和"CAN Remaining Bus Simulation”功能,但不允许访问"Calibration”功能。而对应的admin列中,所有功能都被勾选上,表示允许用户名为"admin”的用户访问所有功能。
[0129] 软件平台中点击"Deploy Server Now”按钮,将以如下命令行启动服务进程:
[0130] TSMasterServer.exe 9018TSMaster
[0131] 其中,"TSMasterServer.exe”为服务进程名称,命令行共携带两个参数。9018为上述的端口号;"TSMaster”为软件平台应用程序全局名称。
[0132] 软件平台的配置文件中按照用户权限分别保存了功能名称"Global Control”、"Calibration”和"CAN Remaining Bus Simulation”,用于过滤服务进程向用户展示特定的功能。
[0133] 如图9所示,在浏览器的地址栏输入"localhost:9018”即可在服务端本地访问服务端,此时打开网页后,由于此时启动了用户权限控制,将看到登录窗口,如果输入用户名"user”,密码"user”,将以user用户登录。
[0134] 如图10所示,user用户登录后,将看到两个窗口"TSMaster Web Server”和"CANRemaining Bus Simulation”,而无法看到"Calibration”窗口。
[0135] 如图11所示,此时在浏览器中新建一个窗口,并在地址栏输入"localhost:9018”即可打开一个新网页,在登录窗口中输入用户名"admin”,密码"admin”,将以admin用户登录。
[0136] 如图12所示,admin用户登录后,将看到三个窗口"TSMaster Web Server”、"CANRemaining Bus Simulation”和"Calibration”窗口。
[0137] 在一些实施例中,所述用户界面上包括至少一个交互控件;以及当网页在服务端本地的浏览器被打开后,服务进程适于响应用户对网页上交互控件的操作。
[0138] 所述交互控件例如但不限于包括:文本框、密码框、单选框、复选框、按钮、下拉框、文本域、滑块、输入框(数字、日期等类型)、可编辑表格单元格、文件上传控件、开关按钮、日期选择器、时间选择器、颜色选择器、数字输入框、评级控件、开关切换控件、树形选择控件、富文本编辑器等。
[0139] 具体的,如图13所示,展示了连接和断开连接按钮1、过滤用文本框3、监听复选框4和工具栏按钮2等的交互控件。
[0140] 在一些实施例中,所述用户界面上包括至少一个显示控件。
[0141] 具体的,如图14所示,所述显示控件例如但不限于包括:显示信号名称的标签框7、显示信号值范围的进度条8、显示节点名称6和颜色的绘图框5等等。
[0142] 在一些实施例中,所述服务进程与软件平台进程例如但不限于采用管道通信、共享内存通信、套接字通信和消息队列通信中的一种或多种进行实时通信。
[0143] 具体的,管道通信的方法包括:
[0144] 创建管道:使用特定的系统调用创建一个管道,一端用于读(读端),另一端用于写(写端);进程关联:将需要进行通信的各进程与管道的读端和写端进行关联;数据写入:发送数据的进程将数据写入管道的写端;数据读取:接收数据的进程从管道的读端读取数据;关闭管道:当通信结束后,相关进程关闭管道的读端和写端,释放资源。
[0145] 具体的,共享内存通信的方法包括:
[0146] 创建共享内存:由一个进程使用系统调用创建一块共享内存区域;映射共享内存:各个需要访问共享内存的进程通过系统调用将共享内存映射到自己的地址空间中;数据交互:使用同步机制,如信号量、互斥锁等,来协调多个进程对共享内存的访问;解除映射:当进程不再需要访问共享内存时,通过系统调用将共享内存从自己的地址空间中解除映射;删除共享内存:当所有进程都完成了对共享内存的访问后,删除共享内存,释放系统资源。
[0147] 具体的,套接字通信的方法包括:
[0148] 套接字通信服务端:
[0149] 创建套接字:使用TCP或UDP,绑定地址和端口;对于TCP需要监听连接和接受连接;进行数据交互;关闭套接字。
[0150] 套接字通信客户端:
[0151] 创建套接字:使用TCP或UDP;对于TCP需要连接服务器;进行数据交互;关闭套接字。
[0152] 具体的,消息队列通信的方法包括:创建消息队列:用于存储消息;发送消息:消息一般包含消息类型和具体的消息内容;接收消息:根据消息类型有选择地接收,或者按照先进先出的原则接收;处理消息:执行与消息内容相关的操作;关闭消息队列:当通信结束后,相关进程关闭消息队列,释放资源。
[0153] 需要说明的是,上述通信方式的具体实现可参考现有技术,本实施例不对上述的通信方式本身进行改进。
[0154] 综上所述,本实施例尤其适用于汽车开发领域,通过服务端解析软件平台用户界面的配置文件,避免了截取交互界面这种传统的远程独占方式,同时拥有了配置信息意味着服务端可以建立数据模型,并将这些数据模型分配给不同的用户同时使用,即一个服务端可以同时服务于多个用户,且这些用户可能使用不同的服务端数据(服务端拥有大量的数据库、信号、测量信息、诊断和标定信息等等),本实施例通过特有的会话模块可以同时接入多个用户,每个用户都能完全操作服务端的完整实例,并进行实时交互,从而实现汽车开发过程中的带权限限制的数据管理和远程交互的难题。
[0155] 一些实施例还提供了一种基于Matlab(Matrix Laboratory)软件平台用户界面的远程部署方法,包括:在服务端构建独立的服务进程,所述服务进程提供HTTP超文本传输协议服务;所述服务进程与Matlab软件平台进程进行实时通信,以获取Matlab软件平台用户界面的配置文件和软件平台应用程序的运行数据;通过服务进程解析Matlab软件平台用户界面的配置文件,并根据配置文件中每一个用户界面的信息,在服务端本地生成包含对应用户界面的网页;当网页在服务端本地的浏览器被打开后,服务进程将Matlab软件平台应用程序的运行数据实时刷新到所述网页上,和 / 或,所述服务进程响应用户对网页上用户界面的操作,以将操作指令实时传输至Matlab软件平台上,进而通过Matlab软件平台执行相应的操作。
[0156] 如图15所示,一些实施例还提供了一种软件平台用户界面的远程部署系统,包括计算机装置,所述计算机装置被配置为包括:
[0157] 软件平台进程;
[0158] 服务进程,提供HTTP超文本传输协议服务,并适于与软件平台进程进行实时通信,以获取软件平台用户界面的配置文件和软件平台应用程序的运行数据,所述软件平台为第三方软件平台;
[0159] 所述服务进程还适于解析软件平台用户界面的配置文件,并根据配置文件中每一个用户界面的信息,在服务端本地生成包含对应用户界面的网页;
[0160] 当网页在服务端本地的浏览器被打开后,所述服务进程获取打开行为,以将软件平台应用程序的运行数据实时刷新到所述网页上;和 / 或,所述服务进程响应网页上的用户界面操作,以将操作指令实时传输至软件平台上,进而通过软件平台执行相应的操作。
[0161] 其中,关于软件平台进程和服务进程的具体实施功能在计算机装置中进行实现,具体可以参考前述软件平台用户界面的远程部署方法的内容,此处不再赘述。
[0162] 下面从硬件处理的角度对本公开的实施例中的电子设备进行描述:
[0163] 本公开的实施例并不对电子设备的具体实现做限定。
[0164] 如图16所示,一些实施例还提供了一种电子设备,包括:处理器、可读存储介质、通讯总线和通信接口;其中所述处理器、所述可读存储介质和所述通信接口通过所述通讯总线实现相互间的通信;所述可读存储介质用于存储执行所述软件平台用户界面的远程部署方法的程序,所述程序使处理器执行所述的软件平台用户界面的远程部署方法对应的操作。
[0165] 如图17所示,一些实施例还提供了一种电子设备,包括:
[0166] 处理器、与处理器通信以呈现网页的显示器、可读存储介质;其中
[0167] 所述可读存储介质被配置为存储指令程序;
[0168] 所述处理器被配置为执行所述指令程序以使得执行以下操作:
[0169] 在服务端构建独立的服务进程,所述服务进程提供HTTP超文本传输协议服务;
[0170] 所述服务进程与软件平台进程进行实时通信,以获取软件平台用户界面的配置文件和软件平台应用程序的运行数据,所述软件平台为第三方软件平台;
[0171] 通过服务进程解析软件平台用户界面的配置文件,并根据配置文件中每一个用户界面的信息,在服务端本地生成包含对应用户界面的网页;
[0172] 当网页在服务端本地的浏览器被打开后,所述服务进程获取打开行为,以将软件平台应用程序的运行数据实时刷新到所述网页上;和 / 或,所述服务进程响应网页上的用户界面操作,以将操作指令实时传输至软件平台上,进而通过软件平台执行相应的操作;以及
[0173] 所述显示器被配置为显示包含对应用户界面的网页。
[0174] 在一些实施例中,计算机装置、工控机也可以作为电子设备的一种。
[0175] 图16和图17示出的结构并不构成对电子设备的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
[0176] 在一些实施例中,通信接口可以是RS232、RS485、USB口和TYPE口等,可以与外部总线适配器连接的通信接口。还可以包括有线或无线网络接口,网络接口可选的可以包括有线接口和 / 或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该计算机装置与其他电子设备之间建立通信连接。
[0177] 在一些实施例中,可读存储介质或者计算机可读存储介质至少包括一种类型的存储器,存储器包括闪存、硬盘、多媒体卡、卡型存储器(例如SD存储器等)、磁性存储器、磁盘、光盘等。在一些实施例中可以是计算机装置的内部存储单元,例如该计算机装置的硬盘。存储器在另一些实施例中也可以是计算机装置的外部存储设备,例如计算机装置上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器还可以既包括计算机装置的内部存储单元也包括外部存储设备。存储器不仅可以用于存储安装于计算机装置的应用软件及各类数据,例如计算机程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
[0178] 处理器在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器中存储的程序代码或处理数据,例如执行计算机程序等。
[0179] 在一些实施例中,通讯总线也可以是输入输出总线,其可以是外设部件互连标准(Peripheral Component Interconnect,简称PCI)总线或扩展工业标准结构(EnhancedIndustry Standard Architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。
[0180] 可选地,计算机装置还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的,用户接口还可以包括标准的有线接口、无线接口。可选的,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在计算机装置中处理的信息以及用于显示网页。
[0181] 所述处理器执行所述程序时实现上述图1所示的软件平台用户界面的远程部署方法实施例中的步骤,例如图1所示的步骤图。或者,处理器执行计算机程序时实现上述各装置实施例中各模块或单元的功能。
[0182] 一些实施例还提供了一种可读存储介质,存储有计算机可读指令,当其由至少一个处理器执行时,使得远程部署方法被执行;所述远程部署方法包括:
[0183] 在服务端构建独立的服务进程,所述服务进程提供HTTP超文本传输协议服务;
[0184] 所述服务进程与软件平台进程进行实时通信,以获取软件平台用户界面的配置文件和软件平台应用程序的运行数据,所述软件平台为第三方软件平台;
[0185] 通过服务进程解析软件平台用户界面的配置文件,并根据配置文件中每一个用户界面的信息,在服务端本地生成包含对应用户界面的网页;
[0186] 当网页在服务端本地的浏览器被打开后,所述服务进程获取打开行为,以将软件平台应用程序的运行数据实时刷新到所述网页上;和 / 或,所述服务进程响应网页上的用户界面操作,以将操作指令实时传输至软件平台上,进而通过软件平台执行相应的操作。
[0187] 一些实施例还提供了一种计算机可读存储介质,存储有计算机可读指令,当其由至少一个处理器执行时,使得如前所述的远程部署方法被执行,具体如:
[0188] 在服务端构建独立的服务进程,所述服务进程提供HTTP超文本传输协议服务;
[0189] 所述服务进程与软件平台进程进行实时通信,以获取软件平台用户界面的配置文件和软件平台应用程序的运行数据,所述软件平台为第三方软件平台;
[0190] 通过服务进程解析软件平台用户界面的配置文件,并根据配置文件中每一个用户界面的信息,在服务端本地生成包含对应用户界面的网页;
[0191] 当网页在服务端本地的浏览器被打开后,所述服务进程获取打开行为,以将软件平台应用程序的运行数据实时刷新到所述网页上;和 / 或,所述服务进程响应网页上的用户界面操作,以将操作指令实时传输至软件平台上,进而通过软件平台执行相应的操作。
[0192] 请参见远程部署方法的具体描述,此处不再赘述。
[0193] 一些实施例还提供了一种计算机程序产品,包括程序或指令,其中在计算机上执行所述程序或指令时,使得远程部署方法被执行;所述远程部署方法包括:
[0194] 在服务端构建独立的服务进程,所述服务进程提供HTTP超文本传输协议服务;
[0195] 所述服务进程与软件平台进程进行实时通信,以获取软件平台用户界面的配置文件和软件平台应用程序的运行数据,所述软件平台为第三方软件平台;
[0196] 通过服务进程解析软件平台用户界面的配置文件,并根据配置文件中每一个用户界面的信息,在服务端本地生成包含对应用户界面的网页;
[0197] 当网页在服务端本地的浏览器被打开后,所述服务进程获取打开行为,以将软件平台应用程序的运行数据实时刷新到所述网页上;和 / 或,所述服务进程响应网页上的用户界面操作,以将操作指令实时传输至软件平台上,进而通过软件平台执行相应的操作。
[0198] 一些实施例还提供了一种计算机程序产品,包括可读存储介质,其上存储有可读程序代码,该可读程序代码包括指令,这些指令使至少一个处理器(一个或多个计算机装置)执行以下操作:
[0199] 在服务端构建独立的服务进程,所述服务进程提供HTTP超文本传输协议服务;
[0200] 所述服务进程与软件平台进程进行实时通信,以获取软件平台用户界面的配置文件和软件平台应用程序的运行数据,所述软件平台为第三方软件平台;
[0201] 通过服务进程解析软件平台用户界面的配置文件,并根据配置文件中每一个用户界面的信息,在服务端本地生成包含对应用户界面的网页;
[0202] 当网页在服务端本地的浏览器被打开后,所述服务进程获取打开行为,以将软件平台应用程序的运行数据实时刷新到所述网页上;和 / 或,所述服务进程响应网页上的用户界面操作,以将操作指令实时传输至软件平台上,进而通过软件平台执行相应的操作。
[0203] 在一些实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和嵌入式程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和 / 或流程图中的每个方框、以及框图和 / 或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现。
[0204] 另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
[0205] 所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该嵌入式软件产品存储在一个存储介质中执行本发明各个实施例所述方法的全部或部分步骤。
[0206] 以上述依据本发明的理想实施例为启示,通过上述的说明内容,相关工作人员完全可以在不偏离本项发明技术思想的范围内,进行多样的变更以及修改。本项发明的技术性范围并不局限于说明书上的内容,必须要根据权利要求范围来确定其技术性范围。< / style>
Claims
1. A method for remotely deploying 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; When configuring a separate service process through the software platform process, enter the port number of the service process on the configuration interface of the software platform process, and click the start button in the software platform to start the service process; 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 that supports plug-in system or secondary development. 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; 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. When a webpage is opened in a browser on the server, the service process creates a session module and provides the webpage with the corresponding interaction and access permissions according to the login permission level configured in the session module.
2. The remote deployment method for the software platform user interface according to claim 1, 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.
3. The remote deployment method for the software platform user interface 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.
4. The remote deployment method for the software platform user interface according to claim 1, characterized in that, The user interface includes at least one display control.
5. The remote deployment method for the software platform user interface 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.
6. A remote deployment system for a software platform user interface implementing the remote deployment method as described in claim 1, characterized in that, 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 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. 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.
7. A readable storage medium storing computer-readable instructions that, when executed by at least one processor, cause the remote deployment method as described in any one of claims 1-5 to be performed.
8. An electronic device, characterized in that, 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 any one of claims 1-5.
9. A computer program product comprising a program or instructions, wherein when the program or instructions are executed on a computer, the remote deployment method as described in any one of claims 1-5 is performed.
10. A remote deployment method based on the 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; When configuring a separate service process through the Matlab software platform process, enter the port number of the service process on the Matlab software platform process configuration interface, and click the start button in the Matlab software platform to start the service process; 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 a webpage is opened in a 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 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. The service process communicates with the Matlab software platform process in real time. The service process parses the configuration files of the Matlab software platform user interface, and generates a webpage containing all interfaces locally on the server based on the information of each user interface in each configuration file. When a webpage is opened in a browser on the server, the service process creates a session module and provides the webpage with the corresponding interaction and access permissions according to the login permission level configured in the session module.
Citation Information
Patent Citations
Service deployment method and device and readable storage medium
CN113296798A
Method and equipment for quickly deploying software service and medium
CN114327523A