Multi-server SOL implementation method and storage medium

By creating index.js, SerialOverLan.vue, and SerialOverLanConsole.vue files, and combining them with the Xterm and Vue frameworks, remote monitoring and management of multi-server SOL was achieved. This solved the implementation problem of multi-server SOL functionality, provided secure data transmission and interactive experience, and reduced the need for physical contact.

CN119576688APending Publication Date: 2025-03-07西安超越申泰信息科技有限公司
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411618630.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-13
Publication Date
2025-03-07

AI Technical Summary

Technical Problem

Existing technical solutions cannot achieve SOL functionality across multiple servers.

Method used

By creating new index.js, SerialOverLan.vue, and SerialOverLanConsole.vue files, and combining the Xterm and Vue frameworks, the WebSocket protocol is used to implement interactive functionality for multi-server SOL, including page routing design, development of multi-page tabs, and command-line functionality.

Benefits of technology

It enables remote monitoring and management of multiple servers, reducing the need for physical contact, saving maintenance costs, and providing secure data transmission and interactive experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119576688A_ABST
    Figure CN119576688A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of WEB front-end development, and discloses a multi-server SOL implementation method and a storage medium, the method is implemented through the combined action of Xterm and Vue, the Xterm and the Vue are used at the same time to provide interactive experience similar to that of a local terminal, and an application based on WebSocket is converted into an interactive command line tool through the Xterm. Comprehensive remote monitoring management, including remote shutdown, restart, firmware update and the like, of the remote computer can be realized, so that the requirements of physical contact are reduced. And the output printing information of the serial communication port on the remote computer can be monitored, so that problems can be found, checked and solved in time. As actual physical contact is not needed, the cost of actual maintenance and operation of a remote computer by a user can be saved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of WEB front-end development, for example, to a method and storage medium for implementing multi-server SOL. Background Art

[0002] Vue is a JavaScript MVVM library that embodies the best practices of the MVVM architecture. It's a progressive framework for building user interfaces. Focusing on the ViewModel in MVVM, it not only enables two-way data binding but is also a relatively lightweight JS library with a concise API.

[0003] Xterm is a terminal emulator based on web technologies. It is a front-end terminal component written in TypeScript. It can create an interactive terminal interface in the browser to implement a command-line terminal application. Xterm provides a powerful way to integrate terminal functionality into web applications, allowing users to interact with remote servers or local command lines in the browser.

[0004] WebSocket is a network communication protocol that enables arbitrary, two-way data transmission between web browsers and servers, enabling real-time, two-way communication between browsers. Implemented over TCP, the WebSocket protocol includes an initial handshake and subsequent, multiple, two-way data frame transmissions. Its purpose is to enable frequent two-way communication between WebSocket applications and WebSocket servers by enabling the server to avoid opening multiple HTTP connections, thereby conserving resources and improving efficiency and resource utilization.

[0005] SOL, short for Serial over LAN, is a technology for controlling a computer remotely via a network connection. It uses a serial communication port to transmit control information and management commands, transmitting this information to the remote computer over the network. This allows for remote computer management without physical contact, requiring only a network connection.

[0006] However, existing technical solutions cannot realize the SOL function for multiple servers.

[0007] It should be noted that the information disclosed in the above background technology section is only used to enhance the understanding of the background of this application. Summary of the Invention

[0008] In order to provide a basic understanding of some aspects of the disclosed embodiments, a brief summary is given below. The summary is not an extensive review, nor is it intended to identify key / critical elements or delineate the scope of protection of these embodiments, but rather serves as a prelude to the detailed description that follows.

[0009] An embodiment of the present disclosure provides a method for implementing multi-server SOL, the method comprising:

[0010] Create a new index.js file to store page routing;

[0011] Create a new SerialOverLan.vue to store multiple page tabs and provide reserved space for Terminal;

[0012] Create SerialOverLanConsole.vue to implement SOL's interactive command line functionality.

[0013] In some embodiments, a new index.js file is created to store page routes, including:

[0014] Based on index.js as the entry point for each menu-related page routing, specify the location of the main page;

[0015] Import SerialOverLan.vue, name it SerialOverLan, and export it as the default page.

[0016] In some embodiments, a new SerialOverLan.vue is created to store multiple tabs and provide reserved space for Terminal, including:

[0017] Write the code for the multi-page tabs part and design the tab style;

[0018] Get dynamic module data and render it as a parameter into the tabs title bar;

[0019] In the tabs content page, introduce SerialOverLanConsole and design the corresponding size and style;

[0020] Write the methods method to define the data passed to each tab content page when switching tabs.

[0021] In some embodiments, the defined data are parameters and data corresponding to the subcomponents.

[0022] In some embodiments, a new SerialOverLanConsole.vue is created to implement the interactive command line functionality of SOL, including:

[0023] Introduce the Terminal corresponding to the Xterm component;

[0024] According to the referenced Terminal, set the corresponding terminal according to the number of servers, and define ref as panel1~n;

[0025] Write the setData method to receive the parameters and data passed to the tab content page and obtain the corresponding IP address;

[0026] Write the openTerminal method, get the return value based on the IP address and assign it to attachAddon, then loadAddon the value in Terminal, bind it to the corresponding ref, and open it.

[0027] In some embodiments, obtaining a return value based on the IP address and assigning it to attachAddon may include:

[0028] According to the IP address, call the websocket interface {new WebSocket(`wss: / ${xx_IP} / console0`)} and assign the return value to attachAddon.

[0029] In some embodiments, the method further comprises:

[0030] When the page is closed or switched to another module page, the current Terminal is disconnected and closed.

[0031] The multi-server SOL implementation method and storage medium provided by the embodiments of the present disclosure can achieve the following technical effects:

[0032] In this disclosure, Xterm and Vue are used together to provide an interactive experience similar to that of a local terminal. Xterm converts WebSocket-based applications into interactive command-line tools. Comprehensive remote monitoring and management of remote computers can be achieved, including remote shutdown, restart, firmware update and other operations, thereby reducing the need for physical contact. The output print information of the serial communication port (Serial Port) on the remote computer can be monitored to promptly identify, troubleshoot and solve problems. Because no actual physical contact is required, the cost of actual maintenance and operation of the remote computer can be saved.

[0033] The above general description and the following description are exemplary and explanatory only and are not intended to limit the present application. BRIEF DESCRIPTION OF THE DRAWINGS

[0034] One or more embodiments are exemplarily described by corresponding drawings. These exemplary descriptions and drawings do not limit the embodiments. Elements with the same reference numerals in the drawings are shown as similar elements. The drawings do not constitute a scale limitation. In addition,

[0035] Figure 1 This is a flowchart of a method for implementing multi-server SOL provided by an embodiment of the present disclosure;

[0036] Figure 2 This is a schematic diagram of file composition provided by an embodiment of the present disclosure;

[0037] Figure 3 This is a flowchart of another method for implementing multi-server SOL provided by an embodiment of the present disclosure;

[0038] Figure 4 This is a logic implementation block diagram provided by an embodiment of the present disclosure;

[0039] Figure 5 This is a schematic diagram of a system structure for implementing a multi-server SOL provided by an embodiment of the present disclosure. DETAILED DESCRIPTION

[0040] In order to be able to understand the features and technical content of the embodiments of the present disclosure in more detail, the implementation of the embodiments of the present disclosure is described in detail below in conjunction with the accompanying drawings. The accompanying drawings are for reference only and are not used to limit the embodiments of the present disclosure. In the following technical description, for the sake of convenience of explanation, a full understanding of the disclosed embodiments is provided through multiple details. However, one or more embodiments can still be implemented without these details. In other cases, to simplify the drawings, well-known structures and devices can be simplified for display.

[0041] The terms "first," "second," and the like in the embodiments of the present disclosure are used to distinguish similar objects and are not necessarily used to describe a particular order or precedence. It should be understood that the terms used in this manner are interchangeable where appropriate to facilitate the description of the embodiments of the present disclosure herein. Furthermore, the terms "including," "having," and any variations thereof are intended to cover non-exclusive inclusions.

[0042] Unless otherwise stated, the term "plurality" means two or more.

[0043] In the embodiment of the present disclosure, the character " / " indicates that the preceding and following objects are in an "or" relationship. For example, A / B means: A or B.

[0044] The term "and / or" describes an association between objects, indicating that three relationships can exist. For example, A and / or B means: A or B, or A and B.

[0045] The term "correspondence" may refer to an association relationship or a binding relationship. The correspondence between A and B means that there is an association relationship or a binding relationship between A and B.

[0046] The following describes the method, device, and storage medium for one-key recovery based on an embedded Linux industrial computer provided by the embodiments of the present disclosure in conjunction with the accompanying drawings.

[0047] Figure 1 This is a flowchart of a method for implementing multi-server SOL provided by an embodiment of the present disclosure.

[0048] like Figure 1 As shown, the implementation method of multi-server SOL may include:

[0049] S01, create a new index.js file to store page routes;

[0050] S02, create SerialOverLan.vue to store multiple tabs and provide reserved space for Terminal;

[0051] S03, create SerialOverLanConsole.vue to implement the interactive command line function of SOL.

[0052] Figure 2 This is a schematic diagram of file composition provided by an embodiment of the present disclosure. Figure 3 This is a flowchart of another method for implementing multi-server SOL provided by an embodiment of the present disclosure. Figure 4 This is a logic implementation block diagram provided by the embodiment of the present disclosure, combined with Figure 2 、 Figure 3 as well as Figure 4 ,right Figure 1 The implementation method of multi-server SOL is further described in detail.

[0053] In some embodiments, a new index.js file is created to store page routes, which may include:

[0054] Based on index.js as the entry point for each menu-related page routing, specify the location of the main page;

[0055] Import SerialOverLan.vue, name it SerialOverLan, and export it as the default page.

[0056] In some embodiments, a new SerialOverLan.vue is created to store multiple tabs and provide reserved space for Terminal, which may include:

[0057] Write the code for the multi-page tabs section and design the tab style;

[0058] Get dynamic module data and render it as a tabs title bar as a parameter;

[0059] In the tabs content page, introduce SerialOverLanConsole and design the corresponding size and style;

[0060] Write the methods method to define the data passed to each tab content page when switching tabs.

[0061] It should be further explained that the new SerialOverLan.vue is created to store multiple page tabs and provide reserved space for Terminal, which can realize the main page for the entire SOL function.

[0062] In some embodiments, the defined data are parameters and data corresponding to the subcomponents.

[0063] In some embodiments, a new SerialOverLanConsole.vue is created to implement the interactive command line functionality of SOL, including:

[0064] Introduce the Terminal corresponding to the Xterm component;

[0065] According to the referenced Terminal, set the corresponding terminal according to the number of servers, and define ref as panel1~n;

[0066] Write the setData method to receive the parameters and data passed to the tab content page and obtain the corresponding IP address;

[0067] Write the openTerminal method, get the return value based on the IP address and assign it to attachAddon, then loadAddon the value in Terminal, bind it to the corresponding ref, and open it.

[0068] In some embodiments, obtaining a return value based on the IP address and assigning it to attachAddon may include:

[0069] According to the IP address, call the websocket interface {new WebSocket(`wss: / ${xx_IP} / console0`)} and assign the return value to attachAddon.

[0070] In some embodiments, Figure 1 The method may further include:

[0071] When the page is closed or switched to another module page, the current Terminal is disconnected and closed.

[0072] In a specific example, a project dynamically generates four different tab pages based on four different modules of the whole machine, and opens the SOL interactive interface of the corresponding module in each tab page.

[0073] The first step is to create a new index.js file to store page routing;

[0074] Step 1: index.js serves as the entry point for each menu-related page routing, specifying the location of the main page;

[0075] Step 2: Import SerialOverLan.vue, name it SerialOverLan, and export it as the default page.

[0076] Step 2: Create a new SerialOverLan.vue file: This is the main page for the entire SOL function.

[0077] Step 1: Write the code for the multi-page tabs part and design the tab style;

[0078] Step 2: Get dynamic module data and render it as a tabs title bar as a parameter;

[0079] Step 3: In the tabs content page, introduce SerialOverLanConsole and design its size and style;

[0080] Step 4: Write the methods method to define the parameters and data passed to each tab content page, that is, the corresponding subcomponents when switching tabs.

[0081] Step 3: Create a new SerialOverLanConsole.vue file to implement SOL interaction function;

[0082] Step 1: Import the Terminal corresponding to the Xterm component;

[0083] Step 2: Based on the referenced Terminal, set the corresponding terminal according to the specific number of servers, and define ref as panel1 to n;

[0084] Step 3: Write the setData method to receive the parameters and data passed to the tab content page in step 2 and obtain the corresponding IP address;

[0085] Step 4: Write the openTerminal method, call the websocket interface {new WebSocket(`wss: / ${xx_IP} / console0`)} according to the IP address, get the return value and assign it to attachAddon, then loadAddon the value in Terminal, bind it to the corresponding ref, and open it.

[0086] Step 5: Finally, when the page is closed or switched to another module page, disconnect and close the current Terminal.

[0087] The implementation method of multi-server SOL in the present disclosure is implemented by using Xterm and Vue together, and Xterm and Vue are used to provide an interactive experience similar to that of a local terminal, and WebSocket-based applications are converted into interactive command line tools through Xterm. The present disclosure can realize comprehensive remote monitoring and management of remote computers, including remote shutdown, restart, firmware update and other operations, thereby reducing the need for physical contact. The output print information of the serial communication port (Serial Port) on the remote computer can be monitored to timely discover, troubleshoot and solve problems. Because actual physical contact is not required, the cost of actual maintenance and operation of the remote computer by the user can be saved. Encryption and authentication protection methods can be used for data transmission to provide security and ensure that sensitive information will not be leaked during transmission.

[0088] Combine Figure 5 As shown, an embodiment of the present disclosure further provides a multi-server SOL implementation system 500, including a processor 504 and a memory 501. Optionally, the system may further include a communication interface 502 and a bus 503. The processor 504, the communication interface 502, and the memory 501 may communicate with each other via the bus 503. The communication interface 502 may be used for information transmission. The processor 504 may call logic instructions in the memory 501 to execute the multi-server SOL implementation method of the above embodiment.

[0089] In addition, the logic instructions in the memory 501 can be implemented in the form of software functional units and can be stored in a computer-readable storage medium when sold or used as an independent product.

[0090] The memory 501 is a computer-readable storage medium that can be used to store software programs and computer-executable programs, such as the program instructions / modules corresponding to the methods in the embodiments of the present disclosure. The processor 504 executes the program instructions / modules stored in the memory 501 to execute functional applications and process data, thereby implementing the multi-server SOL implementation method in the above-mentioned embodiments.

[0091] The memory 501 may include a program storage area and a data storage area. The program storage area may store an operating system and at least one application required for a function; the data storage area may store data generated based on the use of the terminal device. Furthermore, the memory 501 may include a high-speed random access memory and a non-volatile memory.

[0092] An embodiment of the present disclosure provides a computer-readable storage medium storing computer-executable instructions, wherein the computer-executable instructions are configured to execute a method for implementing a multi-server SOL.

[0093] The aforementioned computer-readable storage medium may be a transient computer-readable storage medium or a non-transitory computer-readable storage medium.

[0094] The technical solution of the embodiments of the present disclosure may be embodied in the form of a software product, which is stored in a storage medium and includes one or more instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the method of the embodiments of the present disclosure. The aforementioned storage medium may be a non-transitory storage medium, including: a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, and other media that can store program code, or a transient storage medium.

[0095] The above description and accompanying drawings sufficiently illustrate the embodiments of the present disclosure to enable those skilled in the art to practice them. Other embodiments may include structural, logical, electrical, process, and other changes. The embodiments represent only possible variations. Unless expressly required, individual components and functions are optional, and the order of operation may vary. Portions and features of some embodiments may be included in or replaced with portions and features of other embodiments. As used in the description of the embodiments, unless the context clearly indicates otherwise, the singular forms "a," "an," and "the" are intended to include the plural forms as well. Similarly, the term "and / or," as used in this application, means including any and all possible combinations of one or more of the associated listed features. In addition, when used in this application, the term "comprise" and its variations "comprises" and / or comprising refer to the presence of the stated features, wholes, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, wholes, steps, operations, elements, components, and / or groups thereof. In the absence of further limitations, the phrase "comprising a..." does not preclude the presence of other identical elements in the process, method, or device comprising the elements. In this document, each embodiment may focus on the differences from other embodiments, and similar parts between the embodiments can be referenced to each other. For methods, products, etc. disclosed in the embodiments, if they correspond to the method section disclosed in the embodiments, then the relevant parts can be referenced to the description of the method section.

[0096] Those skilled in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software may depend on the specific application and design constraints of the technical solution. Technicians can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of the embodiments of the present disclosure. Technicians can clearly understand that for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.

[0097] In the embodiments disclosed herein, the disclosed methods and products (including but not limited to devices, equipment, etc.) can be implemented in other ways. For example, the device embodiments described above are merely illustrative. For example, the division of units can be merely a logical functional division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms. The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the units may be selected according to actual needs to implement this embodiment. In addition, the functional units in the embodiments of the present disclosure may be integrated into a processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.

[0098] The flowcharts and block diagrams in the accompanying drawings show the possible architectures, functions and operations of the systems, methods and computer program products according to the embodiments of the present disclosure. In this regard, each box in the flowchart or block diagram can represent a module, program segment or part of the code, and the module, program segment or part of the code contains one or more executable instructions for implementing the specified logical functions. In some alternative implementations, the functions marked in the boxes can also occur in an order different from that marked in the accompanying drawings. For example, two consecutive boxes can actually be executed substantially in parallel, or they can sometimes be executed in the opposite order, which can depend on the functions involved. In the descriptions corresponding to the flowcharts and block diagrams in the accompanying drawings, the operations or steps corresponding to different boxes can also occur in an order different from that disclosed in the description, and sometimes there is no specific order between different operations or steps. For example, two consecutive operations or steps can actually be executed substantially in parallel, or they can sometimes be executed in the opposite order, which can depend on the functions involved. Each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, may be implemented by a dedicated hardware-based system that performs the specified function or action, or may be implemented by a combination of dedicated hardware and computer instructions.

Claims

1. A method for implementing multi-server SOL, characterized in that: The method comprises: Create a new index.js file to store page routes; Create a new SerialOverLan.vue to store multiple page tabs and provide reserved space for Terminal; Create SerialOverLanConsole.vue to implement SOL's interactive command line function.

2. The method according to claim 1, characterized in that The newly created index.js file stores the page routing, including: Based on index.js as the entry point for each menu-related page route, specify the location of the main page; Import SerialOverLan.vue, name it SerialOverLan, and export it as the default page.

3. The method according to claim 1, characterized in that The newly created SerialOverLan.vue stores multiple page tabs and provides reserved space for Terminal, including: Write the code for the multi-page tabs part and design the tab style; Get dynamic module data and render it as a parameter into the tabs title bar; In the content page of tabs, introduce SerialOverLanConsole and design the corresponding size and style; Write methods to define data to be passed to each tab content page when switching tabs.

4. The method according to claim 3, characterized in that The defined data are the parameters and data corresponding to the subcomponents.

5. The method according to claim 3, characterized in that: The newly created SerialOverLanConsole.vue implements the interactive command line function of SOL, including: Introduce the Terminal corresponding to the Xterm component; According to the referenced Terminal, set the corresponding terminal according to the number of multiple servers, and define ref as panel1~n; Write the setData method to receive the parameters and data passed to the tab content page and obtain the corresponding IP address; Write the openTerminal method, get the return value according to the IP address and assign it to attachAddon, then Terminal loadAddon the value, bind it to the corresponding ref, and open it.

6. The method according to claim 5, characterized in that According to the IP address, the return value is obtained and assigned to attachAddon, including: According to the IP address, call the websocket interface {new WebSocket(`wss: / ${xx_IP} / console0`)}, get the return value and assign it to attachAddon.

7. The method according to claim 5, characterized in that The method further comprises: When the page is closed or switched to another module page, the current Terminal is disconnected and closed.

8. A storage medium storing program instructions, characterized in that: When the program instructions are executed, the method for implementing the multi-server SOL according to any one of claims 1 to 7 is executed.