A file transfer method, system, computing device, and storage medium

By enabling automatic file transfer through long-press and drag operations on the KVM client interface, the inefficiency caused by the need for manual mount commands in existing technologies is solved, improving file transfer efficiency and reducing the risk of erroneous transfers.

CN117424889BActive Publication Date: 2026-02-27XFUSION DIGITAL TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202311303581.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-10-09
Publication Date
2026-02-27
Estimated Expiration
2043-10-09

AI Technical Summary

Technical Problem

In existing technologies, when transferring files via KVM, users need to manually input mount commands and transfer controls, resulting in low data transfer efficiency.

Method used

By overlaying the KVM client interface window onto the sending device's interface, users can add target files to the interface window by long-pressing and dragging. The sending device will automatically respond to the operation and send data packets without requiring the user to input mount commands.

Benefits of technology

It improves data transmission efficiency, avoids transmission problems caused by user operation errors, and prevents transmission failure when the file status is unavailable.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117424889B_ABST
    Figure CN117424889B_ABST
Patent Text Reader

Abstract

The embodiment of the application provides a file transmission method, system, computing device and storage medium, relates to the technical field of communication, and can improve data transmission efficiency. The method is applied to a KVM file transmission system of a remote console, the KVM file transmission system comprises a sending device and a receiving device, and the sending device controls the receiving device through a KVM client. The method comprises the following steps: the sending device displays a first interface, and an interface window of the KVM client is superimposed and displayed on the first interface; the display content of the first interface is an output interface of the sending device, and the display content of the interface window is an output interface of the receiving device; the sending device receives a first operation for a target file in the first interface, the first operation is an operation for adding the target file to the interface window; and the sending device sends a data packet containing the target file to the receiving device in response to the first operation.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] Embodiments of the present application relate to the technical field of communication, and in particular, to a file transmission method and system, a computing device, and a storage medium. BACKGROUND

[0002] It is known that the terminal (i.e., remote control device) can control the remote server and data transmission between the terminal and the remote server through the keyboard video mouse (KVM) technology.

[0003] However, when the terminal sends a target file to the remote server through the KVM, the user needs to mount the target file on the remote server by inputting a mounting instruction or clicking a mounting control, and then trigger the terminal to transmit the target file to the remote server by clicking a transmission or paste control. Therefore, the data transmission efficiency is reduced. SUMMARY

[0004] Embodiments of the present application provide a file transmission method and system, a computing device, and a storage medium, which are used to improve the data transmission efficiency.

[0005] To achieve the above-mentioned purpose, embodiments of the present application adopt the following technical solutions:

[0006] In a first aspect, the embodiments of the present application provide a file transmission method, which is applied to a keyboard video mouse (KVM) file transmission system. The KVM file transmission system includes a sending device and a receiving device. The sending device controls the receiving device through a KVM client. The method includes: the sending device displays a first interface, and the first interface superimposes a display of an interface window of the KVM client; the display content of the first interface is an output interface of the sending device, and the display content of the interface window is an output interface of the receiving device; the sending device receives a first operation on a target file in the first interface, and the first operation is an operation for adding the target file to the interface window; and the sending device sends a data packet containing the target file to the receiving device in response to the first operation.

[0007] The embodiments of the present application provide a file transmission method, which includes: a sending device receives a first operation on a target file, and the first operation is an operation for adding the target file to an interface window of a KVM client displayed by the sending device. The display content of the interface window of the KVM client is an output interface of a receiving device. Then, the sending device sends the target file to the receiving device in response to the first operation, and does not need a user to input a mounting instruction. Therefore, the data transmission efficiency is improved.

[0008] In an implementation, the sending, to the receiving device, of the data packet containing the target file in response to the first operation includes: determining, by the sending device, a read-write state of the target file in response to the first operation; and sending, by the sending device, the data packet containing the target file to the receiving device when the read-write state of the target file is readable and writable.

[0009] In the above embodiment, the sending device acquires the read-write state of the target file, and sends the target file to the receiving device when the read-write state of the target file is readable and writable, so that the receiving device can successfully receive the target file. When the target file is in a non-readable and non-writable state, the process ends, and the target file is not sent to the receiving device, thereby avoiding the problem that the file cannot be transmitted to the receiving device due to the transmission of an unavailable file. It can be seen that the file transmission method provided in the embodiment improves the efficiency of file transmission.

[0010] In an implementation, the first operation is a long-press drag operation based on a mouse, and the first operation is used to select an indication icon of the target file by long-pressing and drag the indication icon to a target position in an interface window of the KVM client.

[0011] In an implementation, the sending, to the receiving device, of the data packet containing the target file in response to the first operation includes: sending, by the sending device, attribute information of the target file to the receiving device when the indication icon of the target file is dragged into the display range of the interface window during the long-press drag operation, the attribute information being used for mounting the target file by the receiving device; and sending, by the sending device, content information of the target file to the receiving device when the indication icon of the target file is dragged to the target position.

[0012] In the embodiment, when the indication icon of the target file is dragged into the display range of the interface window of the KVM client, the sending device sends attribute information of the target file to the receiving device, and the attribute information is used for mounting the target file by the receiving device. Then, when the indication icon of the target file is dragged to the target position in the interface window of the KVM client, the sending device sends content information of the target file to the receiving device, so that the receiving device generates the target file according to the attribute information and the content information of the target file. It can be seen that in the above embodiment, the user does not need to mount the target file on the receiving device by inputting a mounting instruction, and therefore the data transmission efficiency is improved.

[0013] In an implementation, the attribute information includes, but is not limited to, at least one of a name of the target file, an indication icon of the target file, a type of the target file, and a size of the target file.

[0014] In an implementation, in a case where the attribute information includes a size of the target file, the sending device sends the content information of the target file to the receiving device when the indication icon of the target file is dragged to the target position, specifically including: the sending device sends an identifier of the target position to the receiving device when the indication icon of the target file is dragged to the target position, the identifier of the target position being used by the receiving device to determine the target position for storing the target file; in a case where the available storage space of the target position in the receiving device is greater than or equal to the size of the target file, the sending device sends the content information of the target file to the receiving device.

[0015] In an implementation, the sending device displays a confirmation selection control, the confirmation selection control being used to prompt whether to transmit the content information of the target file, and the sending device sends the content information of the target file to the receiving device in response to a selection operation on a confirmation control in the confirmation selection control.

[0016] The embodiments avoid the problem of incorrect transmission of the target file due to user's mistaken operation by displaying the confirmation selection control on the first interface of the sending device to prompt whether to transmit the content information of the target file.

[0017] In a second aspect, the embodiments of the present application provide a sending device, the sending device being connected with a receiving device through a network, the sending device controlling the receiving device through a remote console KVM client, and the sending device including a display unit and a transceiver unit; the display unit is configured to display a first interface, and the first interface is superimposed with an interface window of the KVM client; the display content of the first interface is an output interface of the sending device, and the display content of the interface window is an output interface of the receiving device; the transceiver unit is configured to receive a first operation on a target file in the first interface, the first operation being an operation for adding the target file to the interface window; and the transceiver unit is further configured to send a data packet containing the target file to the receiving device in response to the first operation.

[0018] In an implementation, the sending device includes a processing unit, and the processing unit is configured to determine a read-write state of the target file in response to the first operation; and the transceiver unit is configured to send the data packet containing the target file to the receiving device in a case where the read-write state of the target file is readable and writable.

[0019] In an implementation, the first operation is a long-press drag operation based on a mouse, and the first operation is used to select an indication icon of the target file by long pressing and drag the indication icon to a target position in the interface window of the KVM client.

[0020] In an implementation manner, during the long press dragging, when the indication icon of the target file is dragged into the display range of the interface window, the transceiving unit is configured to send attribute information of the target file to the receiving device, and the attribute information is used for mounting the target file by the receiving device; when the indication icon of the target file is dragged to the target position, the transceiving unit sends content information of the target file to the receiving device.

[0021] In an implementation manner, the attribute information includes, but is not limited to, at least one of the following: a name of the target file, an indication icon of the target file, a type of the target file, and a size of the target file.

[0022] In an implementation manner, when the indication icon of the target file is dragged to the target position, the transceiving unit is configured to send an identifier of the target position to the receiving device; the identifier of the target position is used for determining the target position for storing the target file by the receiving device; and when the available storage space of the target position in the receiving device is greater than or equal to the size of the target file, the transceiving unit sends the content information of the target file to the receiving device.

[0023] In an implementation manner, the display unit is configured to display a confirmation selection control, and the confirmation selection control is used for prompting whether to transmit the content information of the target file; and the transceiving unit is configured to send the content information of the target file to the receiving device in response to a selection operation on a confirmation control in the confirmation selection control.

[0024] In a third aspect, an embodiment of the present application provides a file transmission system, which comprises: a sending device and a receiving device; the sending device controls the receiving device through a KVM client, and the sending device displays a first interface, and the first interface superimposes an interface window of the KVM client; the display content of the first interface is an output interface of the sending device, and the display content of the interface window is an output interface of the receiving device; the sending device receives a first operation on a target file in the first interface, and the first operation is used for adding the target file to the interface window; the sending device sends a data packet containing the target file to the receiving device in response to the first operation; and the receiving device stores the target file.

[0025] In a fourth aspect, a computing device is provided, which comprises a processor and a memory, wherein: the memory stores computer instructions, and the processor executes the computer instructions to implement the method in the first aspect and possible implementation manners thereof.

[0026] In a fifth aspect, a computer readable storage medium is provided, which stores computer instructions, and when the computer instructions in the computer readable storage medium are executed by a computing device, the computing device performs the functions of the method in the first aspect and possible implementation manners thereof.

[0027] In a sixth aspect, a computer program product containing instructions which, when run on a computing device, cause the computing device to perform the functions of the method of the first aspect above and possible implementation forms thereof is provided.

[0028] It should be understood that the beneficial effects achieved by the technical solutions of the second aspect to the sixth aspect and the corresponding possible implementation forms of the embodiments of the present application can refer to the technical effects of the first aspect and the corresponding possible implementation forms thereof described above, and will not be described here. BRIEF DESCRIPTION OF DRAWINGS

[0029] Figure 1 A data transmission system schematic diagram is provided for the embodiments of the present application;

[0030] Figure 2 A hardware schematic diagram of a computing device is provided for the embodiments of the present application;

[0031] Figure 3 A file transmission method flowchart is provided for the embodiments of the present application;

[0032] Figure 4 A KVM application scenario schematic diagram is provided for the embodiments of the present application Figure 1 ;

[0033] Figure 5 A KVM application scenario schematic diagram is provided for the embodiments of the present application Figure 2 ;

[0034] Figure 6 A KVM application scenario schematic diagram is provided for the embodiments of the present application Figure 3 ;

[0035] Figure 7 Another file transmission method flowchart is provided for the embodiments of the present application;

[0036] Figure 8 A KVM application scenario schematic diagram is provided for the embodiments of the present application Figure 4 ;

[0037] Figure 9 A KVM application scenario schematic diagram is provided for the embodiments of the present application Figure 5 ;

[0038] Figure 10 A KVM application scenario schematic diagram is provided for the embodiments of the present application Figure 6 ;

[0039] Figure 11 A KVM application scenario schematic diagram is provided for the embodiments of the present application Figure 7 ;

[0040] Figure 12 A structural schematic diagram of a sending device provided in an embodiment of the present application is shown. DETAILED DESCRIPTION

[0041] The term "and / or" used herein is merely used to describe an associated relationship between associated objects, and means that three relationships can exist, for example, A and / or B can mean that three cases of A alone, A and B together, and B alone exist.

[0042] The terms "first" and "second" and the like in the description and claims of the present application are used to distinguish different objects, and are not used to describe a specific order of the objects. For example, the first sub-operation and the second sub-operation are used to distinguish different sub-operations, and are not used to describe a specific order of the sub-operations.

[0043] In the embodiments of the present application, the words "exemplary" or "for example" are used to mean serving as an example, instance, or illustration, and not necessarily to imply any preference or advantage as compared to other embodiments or designs. The use of the words "exemplary" or "for example" is intended to present concepts in a concrete manner, in a particular way.

[0044] First, some concepts involved in a file transmission method, system, computing device and storage medium provided in the embodiments of the present application are explained and described as follows:

[0045] Mounting: a process of making computer files and directories on a storage device (such as a hard disk or a shared resource) accessible to a user through a file system of a computer; and the implementation of mounting the files and directories in the storage device to the file system of the computer is based on a mounting instruction (such as a mount instruction).

[0046] KVM: used for remote maintenance and control of a remote service by an out-of-band controller of the remote service; wherein the KVM includes a KVM client and a KVM server, the KVM client runs on a remote control device (i.e. a device for controlling a remote server), the KVM server runs on an out-of-band controller in the remote server (i.e. a device to be remotely controlled), and the remote control device remotely controls the remote server through the KVM. After the KVM server in the remote server receives a control instruction or data from the KVM client, the KVM server re-transmits the control instruction or data to the in-band controller of the remote server, so that the in-band controller can execute the control instruction or store the data sent by the KVM.

[0047] With the continuous development of Internet technology, there are more and more scenarios of controlling remote servers through KVM or sending data to remote servers through KVM.

[0048] In order to facilitate the use of various resources on the sending device, the KVM provides a mounting folder function, that is, mounting a folder on the sending device to the receiving device through the KVM, and the receiving device can access the folder and any file under the folder as accessing a local directory. The existing implementation process of the KVM mounting folder function includes: an operator manually sets a size parameter and a path parameter to specify a capacity of a temporary image file to be generated and a local directory for storing the temporary image file, generates a temporary image file with the specified capacity in the local directory of the sending device, then the user mounts the local directory for storing the image file to the receiving device by inputting a mounting instruction, so that the server can access the image file. However, such a way requires the operator to manually set the size parameter and the path parameter and the user to manually input the mounting instruction, which makes the actual operation of the user very inconvenient and prone to operation errors, thus reducing the data transmission efficiency.

[0049] The embodiment of the present application provides a file transmission method, which comprises the following steps: a sending device receives a first operation on a target file, the first operation is an operation of adding the target file to an interface window of a KVM client displayed on the sending device, and the display content of the interface window of the KVM client is an output interface of a receiving device; then the sending device sends the target file to the receiving device in response to the first operation, and does not need a user to input a mounting instruction, so that the data transmission efficiency is improved.

[0050] The file transmission method provided by the embodiment of the present application can be applied to a data transmission system as shown in the accompanying drawings. Figure 1 The data transmission system comprises a sending device 101 and a receiving device 102.

[0051] The sending device 101 comprises a processor 1011, which can be a central processing unit (CPU) and is configured to run a KVM client. The receiving device 102 comprises an out-of-band controller 1021 and a processor 1022, wherein the out-of-band controller 1021 can be a baseboard management controller (BMC). The KVM server can run in the out-of-band controller 1021 or the processor 1022. When the KVM server runs in the out-of-band controller 1021, the processor 1011 of the sending device 101 and the out-of-band controller 1021 of the receiving device 102 are connected via a network. When the KVM server runs in the processor 1022, the processor 1011 of the sending device 101 and the processor 1022 of the receiving device 102 are connected via a network (the dashed part in the figure).

[0052] Based on the network connection, the sending device 101 can remotely control the receiving device 102 via the KVM client. The sending device 101 superimposes a KVM client interface window on a first interface output by the sending device 101 based on the network connection between the KVM client and the KVM server. The display content of the KVM client interface window is the output interface of the receiving device 102.

[0053] The sending device 101 is configured to send a data packet containing a target file to the receiving device 102 in response to a first operation on the target file in the first interface. The first operation is an operation for adding the target file to the KVM client interface window. Optionally, the sending device 101 can be a desktop computer, a notebook computer, a smart phone or other electronic device with transceiving capability.

[0054] The receiving device 102 is configured to receive the data packet containing the target file sent by the sending device 101. The receiving device 102 can be a server, a desktop computer or other electronic device with receiving capability.

[0055] Optionally, the receiving device 102 is further configured to store the target file sent by the sending device.

[0056] It should be understood that the receiving device 102 can be an electronic device with receiving capability, or a general term for a type of electronic devices controlled by the sending device 101 or receiving data from the sending device 101. The specific embodiments of the present application do not limit the receiving device 102.

[0057] The file transmission method provided by the embodiments of the present application can be applied to a scenario in which the sending device 101 frequently transmits data to the receiving device 102, and in the scenario, the file transmission between the sending device 101 and the receiving device 102 can be implemented by only adding the to-be-transmitted file on the sending device 101 to the interface window of the KVM client of the output interface of the receiving device 102, thereby improving the efficiency of transmitting files between devices.

[0058] Exemplarily, Figure 2 is a schematic diagram of a hardware structure of a computing device of the sending device 101 or the receiving device 102. The computing device can be a blade server, a dense server, a rack server, a high-performance server, or the like.

[0059] The hardware part of the computing device includes an in-band controller, such as a CPU, an out-of-band controller, and a memory. The software part mainly includes an out-of-band management module, a processor firmware, and an operating system (OS) management unit.

[0060] The out-of-band management module is located in the out-of-band controller, the OS management unit is located in the in-band controller, and the processor firmware can be located in the in-band controller (as shown in Figure 2 ), or the processor firmware can also be located in a firmware chip (not shown in Figure 2 ) outside the in-band controller. The out-of-band management module can be a management unit of a non-service module. For example, the out-of-band management module can perform remote maintenance and management on the computing device through a dedicated data channel. The out-of-band management module is completely independent of the operating system of the computing device, and can communicate with the basic input output system (BIOS) and the OS (or the OS management unit) through the out-of-band management interface of the computing device.

[0061] Exemplarily, the out-of-band management module can include a management unit of a running state of the computing device, a management system in a management chip outside the in-band controller, a BMC, a system management module (SMM), and the like. It should be noted that the embodiments of the present application do not limit the specific form of the out-of-band management module, and the above is only an exemplary description.

[0062] For example, the processor firmware (also referred to as processor firmware program) can be firmware, basic input output system (BIOS), management engine (ME), microcode, or intelligent management unit (IMU), etc. It should be noted that the specific form of the processor firmware is not limited in the embodiments of the present application, and the above is only an example.

[0063] The memory, also referred to as main memory or main storage, is installed in a memory slot on the motherboard of the computing device, and communicates with the memory controller through a memory channel.

[0064] It should be noted that the system architecture and application scenarios described in the embodiments of the present application are for more clearly illustrating the technical solutions of the embodiments of the present application, and do not constitute a limitation on the technical solutions provided by the embodiments of the present application. Those skilled in the art can know that, with the evolution of system architecture and the appearance of new business scenarios, the technical solutions provided by the embodiments of the present application are also applicable to similar technical problems.

[0065] The embodiments of the present application provide a file transmission method, which is applied to a file transmission system including a sending device and a receiving device as shown in Figure 1 The sending device is a remote control device running a KVM client, and the receiving device is a device being remotely controlled running a KVM server. The sending device controls the receiving device through the KVM client. Then, a user can realize data transmission between the sending device and the receiving device by interacting with the sending device, as shown in Figure 3 The method can include S110-S140.

[0066] S110, the sending device displays a first interface.

[0067] It should be noted that the KVM client runs on the in-band controller (such as CPU) of the sending device, and the KVM server runs in the in-band controller of the receiving device or the out-of-band controller of the receiving device.

[0068] The network connection between the sending device and the receiving device is the network connection between the in-band controller of the sending device and the in-band controller of the receiving device when the KVM server runs in the in-band controller of the receiving device, and is the connection between the in-band controller of the sending device and the out-of-band controller of the receiving device when the KVM server runs in the out-of-band controller of the receiving device.

[0069] The content displayed on the first interface is the output interface of the transmitting device, that is, the first interface is the current interface of the transmitting device; the interface window of the KVM client is overlaid on the first interface, and the content displayed on the interface window is the output interface of the receiving device; that is, the current output interface of the receiving device is synchronously displayed in the interface window of the KVM client displayed on the first interface of the transmitting device.

[0070] It should be understood that after the sending device and the receiving device establish a communication connection through the KVM client and KVM server, the implementation of displaying the output interface of the receiving device in the KVM client interface window displayed on the first interface of the sending device includes: the in-band controller of the receiving device forwards the content of the output interface of the receiving device to the in-band controller of the sending device in real time through the out-of-band controller of the receiving device; then, the in-band controller of the sending device displays the received content of the output interface of the sending device in the interface window of the KVM client. The specific implementation method can be found in the prior art, and will not be elaborated here.

[0071] For example, such as Figure 4 As shown, assume the receiving device's output interface includes: video software (i.e., the video software's indicator icon), reading software, and folder A. The sending device's first interface includes: KVM client software and file A. The user double-clicks the KVM client software's indicator icon displayed on the sending device to run the KVM client software; then, by logging into the KVM client software, the user can remotely control the receiving device from the sending device. After establishing a remote control connection between the sending and receiving devices, the KVM client's interface window is overlaid on the sending device's first interface. The content displayed in the KVM client's interface window is the same as the receiving device's current output interface, i.e., the KVM client's interface window includes: video software, reading software, and folder A.

[0072] S120, The transmitting device receives a first operation on the target file in the first interface.

[0073] The target file mentioned above is the file that the sending device needs to send to the receiving device; for example, the target file could be... Figure 4 File A on the first interface.

[0074] The first operation described above is used to add the target file to the KVM client's interface window; for example, this first operation is to add such a target file to the interface window of the KVM client. Figure 4 The operation shown is adding file A (i.e., the target file) from the sending device to the KVM client's interface window.

[0075] It should be noted that the first operation described above can be a copy-paste operation on the target file, or a drag operation on the target file by long-pressing the mouse; or an operation of moving the indication icon of the target file in the first interface to the interface window of the KVM client by a preset air-gesture when the user is directly opposite the display displaying the first interface; of course, the first operation can also be other operations, and the present embodiment will not enumerate the specific forms of the first operation one by one.

[0076] When the first operation is a copy-paste operation on the target file, the first operation specifically includes: the user performing a copy operation on the target file in the first interface, and then performing a paste operation in the interface window of the KVM client.

[0077] When the first operation is a drag operation on the target file by long-pressing the mouse; the first operation specifically includes: the user long-pressing the mouse key (left mouse button and / or right mouse button) on the indication icon of the target file to select the target file, and then dragging the indication icon of the target file to a target position in the interface window of the KVM client by dragging the mouse or sliding the mouse wheel, and releasing the mouse key (i.e., releasing the movement of the target file).

[0078] For example, as shown in Figure 5 When the user drags the indication icon of file A displayed in the first interface on the sending device to the interface window of the KVM client (i.e., the user inputs the first operation to the first interface), the sending device acquires the first operation input by the user.

[0079] It should be noted that the present embodiment takes the first operation as an example of a drag operation on the target file by long-pressing the mouse, and will not be described in detail hereinafter.

[0080] It should be understood that the mouse on the sending device is connected with the sending device itself based on a preset transmission protocol, and the preset transmission protocol includes any one of the following protocols: universal serial bus (USB) transmission protocol, personal system 2 (PS / 2) transmission protocol, and intelligent platform management interface (IPMI) protocol. Based on this, when the user inputs the first operation described above by the mouse, the mouse will send operation information describing the first operation to the sending device.

[0081] The sending device responds to the first operation input by the user and performs the following S130.

[0082] S130, the sending device sends a data packet containing the target file to the receiving device.

[0083] The implementation manner of S130 is that the sending device sends the target file to the out-of-band controller of the receiving device through a network connection between the sending device and the receiving device; and the implementation manner specifically includes:

[0084] In the case where the network connection is a connection between the in-band controller of the sending device and the out-of-band controller of the receiving device, the implementation manner of S130 is that the out-of-band controller of the receiving device receives the target file sent by the in-band controller of the sending device; and then the out-of-band controller of the receiving device forwards the received target file to the in-band controller of the receiving device.

[0085] The above embodiments establish a network connection between the in-band controller of the sending device and the out-of-band controller of the receiving device, so that the out-of-band controller of the receiving device forwards the target file sent by the sending device to the in-band controller of the receiving device, even in the case where the sending device and the receiving device are network-isolated, so as to enable the in-band controller of the receiving device to store the target file.

[0086] In the case where the network connection is a connection between the in-band controller of the sending device and the in-band controller of the receiving device, the implementation manner of S130 is that the in-band controller of the receiving device directly receives the target file sent by the in-band controller of the sending device.

[0087] It should be noted that the above network connection is taken as an example of a connection between the in-band controller of the sending device and the out-of-band controller of the receiving device, and subsequent descriptions will not be repeated.

[0088] It should be understood that the sending device sends the target file to the receiving device in the form of a data packet (such as a byte stream data packet or a character stream data packet) on the network connection based on a file transfer protocol, where the file transfer protocol can be any one of a 9P (plan 9) protocol, a Virtio Console protocol, and a transmission control protocol (TCP) protocol.

[0089] Optionally, in the case where the size of the target file is greater than a preset file size, the sending device sends the target file to the receiving device by compressing or fragmenting the target file, and the implementation manner can be referred to the prior art, which will not be described here.

[0090] Optionally, before the sending device performs the above S130, the file transmission method further includes: the sending device acquires the read-write state of the target file; in the case that the read-write state of the target file is readable and writable (i.e., a readable and writable state), the sending device performs the above S130. In the case that the read-write state of the target file is readable but not writable, writable but not readable, or not readable and not writable (referred to as a non-readable and writable state), the sending device pops up a first prompt box for prompting that the read-write state of the current target file is limited at any position of the first interface, and ends the current method flow.

[0091] For example, as shown in Figure 6 , the user drags the file A to the interface window of the KVM client through a first operation; then, the sending device acquires the read-write state of the file A in response to the first operation, and sends the file A to the receiving device when the read-write state is readable and writable. When the read-write state of the file A is a non-readable and writable state (i.e., readable but not writable, writable but not readable, or not readable and not writable), as shown in Figure 6 , the sending device pops up a first prompt box at any position of the first interface, and the content in the first prompt box is "the file A is in a non-readable and writable state, and cannot be transmitted!!!".

[0092] In the above embodiment, the sending device acquires the read-write state of the target file, and sends the target file to the receiving device in the case that the read-write state of the target file is readable and writable, so that the receiving device can successfully receive the target file. In the case that the target file is in a non-readable and writable state, the process ends, and the target file is not sent to the receiving device, thereby avoiding the problem that the file cannot be transmitted to the receiving device due to the transmission of an unusable file. It can be seen that the file transmission method provided in the embodiment improves the efficiency of file transmission.

[0093] S140, the receiving device stores the target file.

[0094] The embodiment of the application provides a file transmission method, which includes: a sending device receives a first operation on a target file, the first operation being an operation of adding the target file to an interface window of a KVM client displayed by the sending device, the display content of the interface window of the KVM client being an output interface of a receiving device; then, the sending device sends the target file to the receiving device in response to the first operation, and does not need a user to input a mounting instruction, thereby improving the data transmission efficiency.

[0095] In the case that the first operation is a drag operation of the target file through long-pressing of a mouse, a specific implementation manner of the above S130 includes S210-S270, as shown in Figure 7 .

[0096] S210, in the process of dragging the target file, the sending device acquires attribute information of the target file.

[0097] It should be noted that the first operation includes a first sub-operation and a second sub-operation. The first sub-operation is that the user selects the target file by long-pressing a mouse key (left mouse button and / or right mouse button) on an indication icon of the target file, and drags the indication icon of the target file by dragging a mouse or sliding a mouse wheel. The second sub-operation is that after the indication icon of the target file is dragged to a target position in the interface window of the KVM client, the user releases the long-pressed mouse key to end (or cancel) the operation of dragging the indication icon of the target file.

[0098] The process of dragging the target file in S210 is a process of performing the first sub-operation on the target file. Specifically, the target file is a file selected by the user in a first interface displayed by the sending device through the first sub-operation, and the file needs to be sent to the receiving device. The first interface is superimposed with the interface window of the KVM client. The output interface of the receiving device is displayed in the interface window of the KVM client.

[0099] The attribute information of the target file is information other than the file content in the target file. The attribute information includes at least one of the name of the target file, the indication icon of the target file, the type of the target file, and the size of the target file. The type of the target file includes a text type (for example, the suffix of the target file is.doc or.txt), a video type (for example, the suffix of the target file is.MP4), and a picture type (for example, the suffix of the target file is.png).

[0100] It should be understood that a file includes file content and file attributes. The attribute information is information for describing the attributes of the target file. The target file also includes content information, which is information for representing the file content.

[0101] The specific implementation of S210 includes that the sending device acquires path information (absolute path or relative path) of the target file in response to the dragging operation (first sub-operation) on the target file, and then reads the attribute information of the target file at the position indicated by the path information.

[0102] When the user drags the indication icon of the target file into the display range of the interface window of the KVM client displayed in the first interface through the first sub-operation, S220 is triggered.

[0103] S220, the sending device sends the attribute information of the target file to the receiving device.

[0104] It should be noted that the implementation of S220 is similar to S130, and the specific description of S220 can refer to the related description of S130 above, which will not be repeated here.

[0105] S230, in the case that the indication icon of the target file is dragged to the target position in the interface window of the KVM client, the sending device sends the identification of the target position to the receiving device.

[0106] The above case that the indication icon of the target file is dragged to the target position in the interface window of the KVM client includes: after the indication icon of the target file is dragged to the target position, the second sub-operation is performed on the target file; that is, S230 specifically includes: when the user performs the second sub-operation on the target file, the sending device sends the identification of the target position to the receiving device.

[0107] The target position is a folder or directory displayed in the interface window of the KVM client, that is, the target position is a folder or directory in the receiving device for storing the target file.

[0108] For example, as shown in Figure 8 , the user drags the indication icon of file A in the first interface by pressing the mouse button and moving the mouse position, and when the user drags the indication icon of file A into the folder A selected by the user in the interface window of the KVM client, the user releases the mouse button (i.e., performs the second sub-operation on the target file), and the indication icon of file A stops being dragged, at which time the indication icon of file A is dragged into folder A.

[0109] S240, the receiving device generates indication information according to the size of the available storage space of the target position and the size of the target file.

[0110] The available storage space of the target position is the available storage space of the disk (or area) where the target position is located in the receiving device, for example, when the target position is a folder of the C disk, the available storage space is the storage space of the C disk that has not stored data.

[0111] The indication information is used to indicate whether the available storage space of the target position is greater than or equal to the size of the target file. When the available storage space of the target position is greater than or equal to the size of the target file, the receiving device generates indication information indicating that the available storage space of the target position is greater than or equal to the size of the target file; when the available storage space of the target position is less than the size of the target file, the receiving device generates indication information indicating that the available storage space of the target position is less than the size of the target file.

[0112] Optionally, before S240, the file transmission method provided by the embodiment of the application further includes: generating, by the receiving device, a virtual mirror file of the target file according to the attribute information of the target file, the attribute information of the virtual mirror file being completely same as the attribute information of the target file, and no substantial content existing in the virtual mirror file; and then mounting, by the receiving device, the virtual mirror file at the position indicated by the identifier of the target position through a mounting command (such as a mount instruction).

[0113] S250, the receiving device sends the indication information to the sending device.

[0114] Correspondingly, the sending device receives the indication information sent by the receiving device.

[0115] When the indication information indicates that the available storage space of the target position is less than the size of the target file, the sending device pops up a second prompt box at any position in the first interface or the interface window of the KVM client in the first interface, and performs an ending action to end the current method.

[0116] The second prompt box is used to prompt that the available storage space of the target position is less than the size of the target file; for example, as shown in Figure 9 When the available storage space of the target position is less than the size of the target file, a prompt box is popped up on the first interface of the sending device, and the content of the prompt box is: "The storage space of folder A is insufficient!!!".

[0117] When the indication information indicates that the available storage space of the target position is greater than or equal to the size of the target file, the sending device performs S260.

[0118] S260, the sending device sends the content information of the target file to the receiving device.

[0119] The content information is information used to describe the content carried in the target file.

[0120] It should be noted that the implementation of S260 is similar to that of S130, and the specific description of S260 can refer to the related description of S130, which will not be repeated here.

[0121] Optionally, before S260, and in the case that the indication information in S250 indicates that the available storage space of the target position is greater than or equal to the size of the target file, the file transmission method further includes: displaying, by the sending device, a confirmation selection control, the confirmation selection control being used to prompt whether to transmit the content information of the target file; the confirmation selection control includes a confirmation control and a cancel control.

[0122] In the case that the user selects the confirmation control, the sending device performs S260 in response to the selection operation on the confirmation control in the confirmation selection control.

[0123] In the case that the user selects the cancel control, the sending device, in response to the selection operation of the cancel control in the confirmation selection control, performs an ending action to end the current method.

[0124] For example, as shown in Figure 10 When the sending device determines that the storage space of the target location is greater than or equal to the size of the target file, the sending device displays a confirmation selection box including a display content, a confirmation button and a cancel button; the display content is: “whether to transfer file A to folder A of the receiving device”. When the user clicks the confirmation button, the sending device sends the content information of the target file to the receiving device, and exits the confirmation selection box; when the user clicks the cancel button, the sending device ends the current method.

[0125] The above embodiment prompts the user whether to transfer the content information of the target file by displaying the confirmation selection control in the first interface of the sending device, thereby avoiding the problem of incorrect transfer of the target file due to user's mistake operation.

[0126] S270, the receiving device generates the target file according to the attribute information of the target file and the content information of the target file.

[0127] For example, it is assumed that the size of the target file in the attribute information of the target file is 10k, the name of the target file is “file A”, and the type of the target file is.ZIP. The content information of the target file includes “hello word!!!”. At this time, as shown in Figure 11 The receiving device generates a file with the type of.txt, the file name of “file A”, the file size of 10k, and the file content of “hello word!!!” in the target location (folder A) according to the attribute information and the content information of the target file.

[0128] It should be noted that in an implementation mode, the specific implementation of S270 can include: the receiving device generates a virtual mirror file of the target file according to the attribute information of the target file, the attribute information of the virtual mirror file is exactly the same as the attribute information of the target file, and there is no substantial content in the virtual mirror file; then, the receiving device mounts the virtual mirror file in the target location of the local through a mounting command (such as a mount instruction), and then generates the target file according to the content information of the target file and the virtual mirror file. For specific implementation modes, refer to the prior art, which will not be described here.

[0129] It should be noted that on the basis of S210-S270, the specific implementation of S140 includes: the receiving device stores the target file to the target location.

[0130] In the embodiment of the present application, when the indication icon of the target file is dragged into the display range of the interface window of the KVM client, the sending device sends the attribute information of the target file to the receiving device, and the attribute information is used by the receiving device to mount the target file; then, when the indication icon of the target file is dragged to the target position in the interface window of the KVM client (i.e., the second sub-operation is performed on the target file), the sending device sends the content information of the target file to the receiving device; so that the receiving device generates the target file according to the attribute information and the content information of the target file. It can be seen that in the above embodiment, the user does not need to mount the target file on the receiving device by inputting a mounting instruction, and therefore the data transmission efficiency is improved.

[0131] The above describes the solutions provided by the embodiments of the present application mainly from the perspective of methods. To implement the above functions, hardware structures and / or software modules corresponding to the functions are included. Those skilled in the art should easily realize that, in combination with the units and algorithm steps of the examples described in the embodiments disclosed herein, the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a certain function is implemented in hardware or computer software driving hardware depends on the specific application and design constraints of the technical solutions. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of the present application.

[0132] The embodiments of the present application can divide the computing devices corresponding to the sending device and the receiving device into functional modules according to the above method examples, for example, each functional module can be divided according to each function, or two or more functions can be integrated into one processing module. The above integrated module can be implemented in the form of hardware or in the form of a software functional module. It should be noted that the division of the modules in the embodiments of the present application is illustrative, and is only a logical functional division. Actual implementation can have another division manner.

[0133] In the case of dividing each functional module according to each function, Figure 12 A possible structure schematic diagram of the sending device involved in the above embodiments is shown. As shown in the figure, Figure 12 The sending device includes a display unit 1201 and a transceiver unit 1202.

[0134] The display unit 1201 is configured to display a first interface; for example, performing step S110 in the above method embodiment.

[0135] The transceiver unit 1202 is configured to receive a first operation on a target file in the first interface; for example, performing step S120 in the above method embodiment.

[0136] The transceiver 1202 is further configured to send the data packet containing the target file; for example, performing step S130 in the method embodiments described above.

[0137] Optionally, the sending device further includes a processing unit 1203.

[0138] The processing unit 1203 is configured to determine the read-write state of the target file in response to the first operation.

[0139] The transceiver 1202 is configured to send the data packet containing the target file to the receiving device when the read-write state of the target file is readable and writable.

[0140] Optionally, during the long press dragging, when the indication icon of the target file is dragged into the display range of the interface window, the transceiver 1202 is configured to send the attribute information of the target file to the receiving device; for example, performing step S210 in the method embodiments described above.

[0141] When the indication icon of the target file is dragged to the target position, the transceiver 1202 is configured to send the content information of the target file to the receiving device; for example, performing step S220 in the method embodiments described above.

[0142] Optionally, when the indication icon of the target file is dragged to the target position, the transceiver 1202 is configured to send the identification of the target position to the receiving device; for example, performing step S230 in the method embodiments described above.

[0143] When the available storage space of the target position in the receiving device is greater than or equal to the size of the target file, the transceiver 1202 is configured to send the content information of the target file to the receiving device.

[0144] Optionally, the display unit 1201 is configured to display a confirmation selection control.

[0145] The transceiver 1202 is configured to send the content information of the target file to the receiving device in response to the selection operation on the confirmation control in the confirmation selection control; for example, performing step S260 in the method embodiments described above.

[0146] The various units of the sending device described above can also be configured to perform other actions in the method embodiments described above, and all related contents of each step involved in the method embodiments described above can be cited to the function description of the corresponding functional module, which will not be repeated here.

[0147] The embodiment of the present application further provides a file transmission system, which comprises a sending device and a receiving device; the sending device controls the receiving device through a KVM client; the sending device displays a first interface, and the first interface superimposes and displays an interface window of the KVM client; the display content of the first interface is an output interface of the sending device, and the display content of the interface window is an output interface of the receiving device; the sending device receives a first operation on a target file in the first interface, and the first operation is an operation for adding the target file to the interface window; the sending device sends a data packet containing the target file to the receiving device in response to the first operation; and the receiving device stores the target file.

[0148] The embodiment of the present application further provides a computing device, comprising a memory and a processor, the memory being coupled with the processor; the memory is used for storing computer program codes, wherein the computer program codes comprise computer instructions; when the computer instructions are executed by the processor, the computing device executes any one of the methods executed by the sending device or the receiving device.

[0149] The embodiment of the present application further provides a computer readable storage medium, which stores computer instructions, and when the computer instructions run on a computing device, the computing device executes any one of the methods executed by the management device.

[0150] The explanation and beneficial effects of the related content in any one of the computer readable storage media provided above can refer to the corresponding embodiments described above, and will not be repeated here.

[0151] The embodiment of the present application provides a computer program product, which, when running on a computer, makes the computer execute any one of the methods executed by the management device.

[0152] In the above embodiments, all or part can be implemented by software, hardware, firmware or any combination thereof. When implemented by software, all or part can be implemented in the form of a computer program product. The computer program product includes one or more computer instructions. When loaded and executed on a computer, all or part generates the processes or functions in the embodiments of the present application. The computer can be a general purpose computer, a special purpose computer, a computer network or other programmable apparatus. The computer instructions can be stored in a computer readable storage medium or transferred from one computer readable storage medium to another computer readable storage medium, for example, the computer instructions can be transferred from one website, computer, server or data center to another website, computer, server or data center through wired (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (such as infrared, wireless, microwave, etc.) mode. The computer readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server, data center, etc. integrated with one or more available media. The available media can be magnetic media (such as floppy disk, magnetic disk, magnetic tape), optical media (such as digital video disc (DVD)), or semiconductor media (such as solid state drive (SSD)) and the like.

[0153] Through the description of the above embodiments, those skilled in the art can clearly understand that, for the convenience and brevity of description, only the above division of functional modules is taken as an example, and in actual application, the above functions can be completed by different functional modules according to needs, that is, the internal structure of the device is divided into different functional modules to complete all or part of the functions described above. The specific working process of the system, device and unit described above can refer to the corresponding process in the foregoing method embodiments, which will not be repeated here.

[0154] In several embodiments provided in the present application, it should be understood that the disclosed system, device and method can be implemented in other ways. For example, the device embodiments described above are only schematic, for example, the division of the modules or units is only a logical function division, and actual implementation can have another division manner, for example, a plurality of units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the coupling or direct coupling or communication connection between the shown or discussed each other can be indirect coupling or communication connection through some interfaces, devices or units, and can be electrical, mechanical or other forms.

[0155] The units described as separate components may or may not be physically separate, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed on multiple network units. Part or all of the units can be selected according to actual needs to achieve the purpose of the embodiment scheme.

[0156] In addition, each functional unit in each embodiment of the present application can be integrated in one processing unit, or each unit can be physically present alone, or two or more units can be integrated in one unit. The integrated unit can be realized in the form of hardware or in the form of a software functional unit.

[0157] The integrated unit, if realized in the form of a software functional unit and sold or used as an independent product, can be stored in a computer readable storage medium. Based on such understanding, the technical solutions of the present application essentially or the part of the prior art that contributes to the technical solutions or the whole or part of the technical solutions can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes a plurality of instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) or a processor to execute all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: a flash memory, a mobile hard disk, a read-only memory, a random access memory, a magnetic disk or an optical disk, and various program code storage media.

[0158] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any change or replacement within the technical scope disclosed in the present application should be covered within the protection scope of the present application. Therefore, the protection scope of the present application should be subject to the protection scope of the claims.

Claims

1. A file transfer method, characterized in that, The method is applied to a remote console KVM file transfer system, the KVM file transfer system including a sending device and a receiving device, the sending device controlling the receiving device through a KVM client; the method includes: The transmitting device displays a first interface, on which the interface window of the KVM client is overlaid; the content displayed on the first interface is the output interface of the transmitting device, and the content displayed on the interface window is the output interface of the receiving device. The sending device receives a first operation for the target file in the first interface. The first operation is an operation to add the target file to the interface window. The first operation is a mouse long-press and drag operation. The first operation is to select the indicator icon of the target file by long-pressing and dragging the indicator icon to the target position in the interface window of the KVM client. In response to the first operation, the sending device sends a data packet containing the target file to the receiving device; Specifically, in response to the first operation, sending a data packet containing the target file to the receiving device includes: During the long press and drag process, when the indicator icon of the target file is dragged into the display area of ​​the interface window, the sending device sends the attribute information of the target file to the receiving device. The attribute information is used by the receiving device to mount the target file.

2. The method according to claim 1, characterized in that, In response to the first operation, sending a data packet containing the target file to the receiving device includes: The sending device responds to the first operation and determines the read / write status of the target file; When the target file is in a readable and writable state, the sending device sends a data packet containing the target file to the receiving device.

3. The method according to claim 1, characterized in that, In response to the first operation, sending a data packet containing the target file to the receiving device further includes: When the indicator icon of the target file is dragged to the target location, the sending device sends the content information of the target file to the receiving device.

4. The method according to claim 3, characterized in that, The attribute information includes, but is not limited to, at least one of the following: the name of the target file, the indicator icon of the target file, the type of the target file, and the size of the target file.

5. The method according to claim 4, characterized in that, When the attribute information includes the size of the target file, and the indicator icon of the target file is dragged to the target location, the content information of the target file is sent to the receiving device, specifically including: When the indicator icon of the target file is dragged to the target location, the sending device sends an identifier of the target location to the receiving device; the identifier of the target location is used by the receiving device to determine the target location where the target file is stored. If the available storage space at the target location in the receiving device is greater than or equal to the size of the target file, the sending device sends the content information of the target file to the receiving device.

6. The method according to any one of claims 3-5, characterized in that, Sending the content information of the target file to the receiving device specifically includes: The sending device displays a confirmation selection control, which prompts whether to transmit the content information of the target file. In response to the selection of the confirmation control in the confirmation selection control, the sending device sends the content information of the target file to the receiving device.

7. A file transfer system, characterized in that, The system includes a transmitting device and a receiving device; the transmitting device controls the receiving device through a KVM client. The transmitting device displays a first interface, on which the interface window of the KVM client is overlaid; the content displayed on the first interface is the output interface of the transmitting device, and the content displayed on the interface window is the output interface of the receiving device. The sending device receives a first operation for the target file in the first interface. The first operation is an operation to add the target file to the interface window. The first operation is a mouse long-press and drag operation. The first operation is to select the indicator icon of the target file by long-pressing and dragging the indicator icon to the target position in the interface window of the KVM client. In response to the first operation, the sending device sends a data packet containing the target file to the receiving device; The receiving device stores the target file; Specifically, in response to the first operation, sending a data packet containing the target file to the receiving device includes: During the long press and drag process, when the indicator icon of the target file is dragged into the display area of ​​the interface window, the sending device sends the attribute information of the target file to the receiving device. The attribute information is used by the receiving device to mount the target file.

8. A computing device, characterized in that, The device includes a memory and a processor, the memory being coupled to the processor; the memory is used to store computer program code, the computer program code including computer instructions; when the computer instructions are executed by the processor, the processor causes the processor to perform the method as described in any one of claims 1 to 6.

9. A computer storage medium, characterized in that, Includes computer instructions that, when executed on a computing device, cause the computing device to perform the method as described in any one of claims 1 to 6.

Citation Information

Patent Citations

  • Shell script file execution method and device and electronic equipment

    CN115562809A