Data transmission method and system
By independently presenting multiple projection windows of projection devices on the display interface of the control device, users can directly drag and drop display objects between these windows and use direct communication channels to transmit data, which solves the problem of low data transmission efficiency in existing technologies and realizes efficient cross-device data transmission.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- LENOVO (BEIJING) LTD
- Filing Date
- 2025-12-31
- Publication Date
- 2026-04-17
AI Technical Summary
In cross-device screen mirroring, existing technologies rely on secondary forwarding by the control device, resulting in low data transmission efficiency.
By independently displaying multiple projection windows on the control device's display interface, users can directly drag and drop display objects between these windows and use direct communication channels to transmit data, avoiding the need for relaying through the control device.
It improves data transmission efficiency, reduces resource waste, meets real-time requirements, and simplifies cross-platform compatibility.
Smart Images

Figure CN121879699A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of terminal technology, and in particular to a data transmission method and system. Background Technology
[0002] With the popularization of wireless screen projection technology, multiple terminal devices (such as laptops, smartphones, or tablets) can project their screen content onto a single display device (such as a large smart screen, conference tablet, or control device), and each device will be presented in an independent projection window, thus creating a demand for cross-device collaborative operation.
[0003] However, in current mainstream cross-device screen mirroring, data sharing between different screen mirroring devices relies on secondary forwarding by the control device. The data transmission path is: screen mirroring device A → control device → screen mirroring device B, resulting in low data transmission efficiency. Summary of the Invention
[0004] In view of the above problems, this application provides the following solution:
[0005] The first aspect of this application provides a data transmission method applied to a control device, wherein the display interface of the control device independently presents projection windows corresponding to multiple projection devices, the method comprising:
[0006] Get the user's drag operation on the first displayed object within the first projection window;
[0007] In response to the drag operation, a first drag event is sent to the data sending end corresponding to the first projection window;
[0008] The system receives a first transmission message sent by the data sending end based on the first drag event; the first transmission message contains data storage information for locating and accessing the file data corresponding to the first display object.
[0009] The first transmission message is forwarded to the data receiving end, so that the data receiving end can obtain the file data corresponding to the first display object based on the data storage information;
[0010] The data receiving end is the projection device corresponding to the second projection window, which is reached by dragging the first display object through the drag operation.
[0011] In one possible implementation, the data storage information includes the storage path of the file data corresponding to the first display object in a shared directory of the network file system; the method further includes:
[0012] Obtain the drag-and-release operation on the first displayed object;
[0013] In response to the drag-and-release operation, the data receiving end is triggered to directly access the storage path shared by the data sending end through the direct communication channel between the data receiving end and the data sending end, in accordance with the network file system protocol, to obtain the file data corresponding to the first display object;
[0014] The data receiving end is the projection device corresponding to the second projection window where the drag-and-release position is located.
[0015] In one possible implementation, the triggering method for the data receiving end to obtain the file data corresponding to the first display object includes any of the following:
[0016] Determine the data receiving end corresponding to the second projection window where the drag-and-release position is located, and send a data acquisition message to the data receiving end; the data acquisition message contains the data storage information, so that the data receiving end responds to the data acquisition message and acquires the file data corresponding to the first display object;
[0017] A first drag-and-release event is sent to each of the screen projection devices, so that each screen projection device determines that the drag-and-release position is located in its corresponding screen projection window based on the first drag-and-release event, and obtains the file data corresponding to the first display object in response to the cached data storage information.
[0018] A second aspect of this application provides a data transmission method applied to a screen projection device configured as a data sending end, wherein the screen projection windows of multiple screen projection devices are independently displayed on the display interface of a control device, the method comprising:
[0019] The control device receives a first drag event; the first drag event is generated by the control device in response to a user's drag operation on a first display object within the first projection window.
[0020] In response to the first drag event, determine the data storage information for locating and accessing the file data corresponding to the first display object;
[0021] Send a first transmission message containing the data storage information so that the data receiving end can obtain the file data corresponding to the first display object based on the data storage information;
[0022] The data receiving end is the projection device corresponding to the second projection window, which is reached by dragging the first display object through the drag operation.
[0023] In one possible implementation, both the control device and the plurality of projection devices are connected to a publish-subscribe message bus and subscribe to preset projection topics in the message bus.
[0024] Sending the first transmission message containing the data storage information includes:
[0025] The message bus is used to publish a first transmission message containing the data storage information to the projection topic, so that other projection devices and the control device can receive the first transmission message under the projection topic through the message bus.
[0026] A third aspect of this application provides a data transmission method applied to a screen projection device configured as a data receiving end, wherein the screen projection windows of multiple screen projection devices are independently displayed on the display interface of a control device, the method comprising:
[0027] The control device obtains a first transmission message from the data sending end; wherein the first transmission message is sent by the data sending end based on a first drag event, and contains data storage information for locating and accessing file data corresponding to the first display object, the first drag event is generated by the control device in response to the user's drag operation on the first display object in the first projection window, and the data sending end is a projection device corresponding to the first projection window;
[0028] In response to the drag-and-release position of the first display object being located within the second projection window corresponding to the data receiving end, the file data corresponding to the first display object is obtained based on the data storage information through the direct communication channel between the data receiving end and the data sending end.
[0029] In one possible implementation, in response to the drag-and-release position of the first display object being located within the second projection window corresponding to the data sending end, any of the following implementation methods are included:
[0030] The system receives a data acquisition message sent by the control device; the data acquisition message is sent by the control device when it determines that the projection window where the drag-and-release position is located corresponds to the data receiving end.
[0031] A first drag-and-release event is obtained, and the drag-and-release position is determined to be located in the second projection window corresponding to the data receiving end based on the first drag-and-release event; the first drag-and-release event is generated in response to the drag-and-release operation on the first display object.
[0032] A fourth aspect of this application provides a data transmission system, the system including multiple projection devices and control devices, each projection device including at least one processor and at least one communication port, and communicating with the control device through the communication port;
[0033] The control device includes:
[0034] The display screen is used to output a display interface, on which the projection windows of the multiple projection devices are independently presented.
[0035] The user interface is used to obtain the user's drag operation on the first display object in the first projection window, and the drag release operation on the first display object;
[0036] When the projection device is configured as a data sending end corresponding to the first projection window:
[0037] The processor is configured to receive a first drag event sent by the control device in response to the drag operation, and send a first transmission message to the control device based on the first drag event; the first transmission message includes data storage information for locating and accessing file data corresponding to the first display object;
[0038] When the projection device is configured as a data receiving end corresponding to the second projection window where the drag-and-release position of the first display object is located:
[0039] The processor is configured to obtain the first transmission message from the data sending end from the control device, and in response to the drag-and-release position of the first display object being located in the second projection window, obtain the file data corresponding to the first display object based on the data storage information through a direct communication channel with the data sending end.
[0040] In one possible implementation, a message server is deployed in the control device, and message clients matching the message server are deployed in both the control device and the multiple projection devices, so as to realize message synchronization between the control device and each of the projection devices through a publish and subscribe message bus.
[0041] In one possible implementation, all of the multiple screen projection devices are mounted with a shared directory of a network file system, so that the data receiving end can directly access the data storage information shared by the data sending end through a direct communication channel with the data sending end, and obtain the file data corresponding to the first display object. Attached Figure Description
[0042] The above and other features, advantages, and aspects of the embodiments of this disclosure will become more apparent from the accompanying drawings and the following detailed description. Throughout the drawings, the same or similar reference numerals denote the same or similar elements. It should be understood that the drawings are schematic, and the originals and elements are not necessarily drawn to scale.
[0043] Figure 1 This is a schematic diagram of the architecture of the data transmission system proposed in Embodiment 1 of this application;
[0044] Figure 2 This is a schematic diagram of a data transmission system proposed in Embodiment 1 of this application.
[0045] Figure 3 This is a schematic diagram of the architecture of the data transmission system proposed in Embodiment 2 of this application;
[0046] Figure 4 This is a schematic diagram of the direct communication architecture between different projection devices in the data transmission system proposed in Embodiment 3 of this application;
[0047] Figure 5 This is a flowchart illustrating a data transmission method provided in Embodiment 1 of this application;
[0048] Figure 6 This is a flowchart illustrating a data transmission method provided in Embodiment 2 of this application;
[0049] Figure 7 This is a schematic diagram illustrating a scenario in a data transmission method provided in this application, where data is transmitted via NFS based on MQTT message synchronization.
[0050] Figure 8 This is a flowchart illustrating a data transmission method provided in Embodiment 3 of this application;
[0051] Figure 9 This is a flowchart illustrating a data transmission method provided in Embodiment 4 of this application;
[0052] Figure 10 This is a schematic diagram of the signaling flow of a data transmission method proposed in Embodiment 5 of this application;
[0053] Figure 11 This is a schematic diagram of the structure of a data transmission device according to Embodiment 1 of this application;
[0054] Figure 12 This is a schematic diagram of the structure of a data transmission device according to Embodiment 2 of this application;
[0055] Figure 13 This is a schematic diagram of the structure of a data transmission device proposed in Embodiment 3 of this application. Detailed Implementation
[0056] The embodiments of this application are described below with reference to the accompanying drawings. The terminology used in the implementation section of this application is only for explaining specific embodiments and is not intended to limit the application. Those skilled in the art will recognize that, with technological advancements and the emergence of new scenarios, the technical solutions provided in the embodiments of this application are also applicable to similar technical problems.
[0057] The terms "first," "second," etc., used throughout this application and in the foregoing figures are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such terms are interchangeable where appropriate; this is merely a way of distinguishing objects with the same attributes in the embodiments of this application. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion, so that a process, method, system, product, or apparatus that comprises a series of units is not necessarily limited to those units, but may include other units not explicitly listed or inherent to those processes, methods, products, or apparatuses.
[0058] To address the problems described in the background section, this application proposes a new data transmission method that separates the message stream and data stream between multiple projection devices that are communicatively connected to the same control device. Only the control device needs to relay messages. For large amounts of data that require significant transmission resources, transmission is achieved through direct communication channels between different projection devices, eliminating the need for control device relay and improving data transmission efficiency. The data transmission method and its application scenarios according to embodiments of this application will be described in detail below with reference to the accompanying drawings.
[0059] Reference Figure 1 This is a schematic diagram of the data transmission system architecture proposed in Embodiment 1 of this application. The system may include: a control device 110 and multiple (at least two) projection devices 120 that are communicatively connected to the control device 110. The display interface of the control device 110 is configured to independently present the projection windows of the multiple projection devices 120, so that users can directly drag and drop display objects between the multiple projection windows displayed on the control device to complete the cross-device data transmission scheme in a multi-device projection environment.
[0060] In practical applications, the control device 110 and each projection device 120 can establish a wired or wireless projection connection on the same local area network (such as an enterprise intranet, home WIFI network, etc.) or through a wide area network to realize data transmission between the control device 110 and the corresponding projection device 120. This application does not limit the implementation method of establishing a communication connection between each projection device 120 and the control device 110 based on projection technology. Different projection devices 120 and the control device 110 can establish the same or different projection connections, which can be determined according to the actual scenario requirements. It should be understood that after each projection device 120 establishes a communication connection with the control device 110 through projection technology, the projection device 120 can send projection data, such as real-time video streams, to the control device 110 for synchronous display in the corresponding projection window (virtual projection window) displayed on the display interface of the control device 110. After that, the displayed objects in the projection window can be operated directly without directly operating the corresponding projection device 120. The process of acquiring and transmitting projection data is not described in detail in this application.
[0061] Based on the above analysis, and referring to Figure 2 The diagram shows a scenario where the display interface of the control device 110 displays the respective projection windows of multiple projection devices. Since the projection windows of different projection devices 120 are simultaneously displayed on the same interface, in cases where data needs to be transferred from one projection device to another, such as... Figure 2 As shown, users can directly drag and drop the display object (the object presented in the interactive interface, such as an icon, file name, or other identifier, etc.) from one projection window in the control device 110 to another corresponding projection window. This will trigger the data receiving end to obtain the file data corresponding to the dragged display object based on the data storage information shared by the data sending end. There is no need to go to the location of the data sending end to operate on it, nor is there a need for the control device to relay the file data.
[0062] In this embodiment of the application, the control device 110 may include a display screen 112 and a user interface 111. The display screen 112 can be used to output a display interface, on which the projection windows of multiple projection devices are independently presented.
[0063] Among them, for the screen projection windows corresponding to multiple screen projection devices 120, it can be as follows: Figure 2The images shown are simultaneously displayed on the display interface of the control device 110, allowing users to intuitively see at least one display object displayed in each projection window. Users can then select the display object corresponding to the data to be transmitted (denoted as the first display object) to complete the drag-and-drop operation across projection windows. Optionally, especially when there are a large number of projection devices 120, users can minimize some projection windows or hide them in other ways (such as overlapping some projection windows), presenting another part of the projection windows on the display interface of the control device 110, making it easier for users to clearly read the content displayed in this part of the projection windows. In this way, this application can simultaneously present the projection windows corresponding to the data sending end and the data receiving end on the display interface, and then select the display object for drag-and-drop operation. This application does not restrict the independent display method of the projection windows corresponding to multiple projection devices.
[0064] User interface 112 can be used to obtain the user's drag-and-drop operation on the first display object within the first projection window, as well as the drag-and-release operation on the first display object. The first projection window can be any one of the multiple projection windows currently displayed on the display interface of the control device 110. The projection device corresponding to the first projection window can be determined as the current data sending end. In different drag-and-drop operations, the user can dynamically determine which projection window is the first projection window, i.e., the projection window corresponding to the data sending end, based on the actual intention of cross-device data transmission.
[0065] The user interface 112 can be a hardware interface for input components such as a keyboard, mouse, touchscreen, stylus, or audio acquisition device. It supports users selecting a first display object using the input component and performing drag-and-drop operations. It should be understood that the implementation methods for dragging and releasing the first display object can differ for different types of input components, and this application does not impose any restrictions on this. Furthermore, during the user's drag-and-drop operation of the first display object via voice command, the audio acquisition device can capture the user's input audio. This audio can then be recognized by the intelligent program controlling the device (such as an intelligent agent or smart assistant) as a cross-projection window drag task for the first display object, automatically executing the task—that is, dragging the first display object from the first projection window to the destination projection window (which can be referred to as the second projection window).
[0066] like Figure 1As shown, each projection device 120 may include at least one processor 121 and at least one communication port 122, which is used to communicate with the control device 110. It is understood that the communication port 122 may support projection protocols to form at least one projection communication channel with the control device for transmitting projection data. For example, SmartConnect (a proprietary projection protocol) provides an efficient bidirectional communication channel, enabling low-latency event transmission. This application does not detail the establishment of the projection communication channel between each projection device 120 and the control device 110, nor the process of transmitting projection data.
[0067] In the case where the projection device 120 is configured as a data sending end corresponding to the first projection window, the processor 121 can be used to execute various steps of the data transmission method described in the following embodiments from the data sending end side. In the case where the projection device 120 is configured as a data receiving end corresponding to the second projection window where the drag-and-release position of the first display object is located, the processor 121 can be used to execute various steps of the data transmission method described in the following embodiments from the data receiving end side; the implementation process is not detailed in this application.
[0068] In order to achieve message synchronization between the control device 110 and the multiple projection devices 120 connected to it, so that the data receiving end can obtain the file data corresponding to the dragged display object from the data sending end in a timely manner,
[0069] In some embodiments, such as Figure 3 As shown, a message server and a matching message client can be deployed in the control device 110, and a message client that matches the message server and can communicate is deployed in each projection device 120, so as to realize message synchronization between the control device 110 and each projection device 120 through a publish and subscribe mode message bus.
[0070] Optionally, the control device 110 and its multiple screen-sharing devices 120 can achieve real-time and reliable message synchronization via an MQTT (Message Queuing Telemetry Transport, a lightweight message transmission protocol based on a publish / subscribe model) message bus to meet the communication needs of resource-constrained terminal devices. In this case, the message server can be an MQTT server, and the message client can be an MQTT client, thus avoiding the complexity of point-to-point communication based on a one-to-many message distribution mechanism. During message synchronization, a hierarchical topic structure can be used to ensure the accuracy and scalability of message routing. In this embodiment, a screen-sharing topic (equivalent to a session, configured with a one-to-one corresponding topic / session identifier) can be pre-created in the message bus, allowing multiple screen-sharing devices 120 communicating with the control device 110 to subscribe to the preset screen-sharing topic. The control device 110 can then record the device identifiers (such as device IDs) of each screen-sharing device 120 subscribing to the topic. This can be achieved by associating the topic identifier with each device identifier and managing the status of each device accordingly. The implementation process is not detailed in this application.
[0071] Thus, after any device subscribing to a preset projection topic publishes a message, such as to the projection topic on the message bus, other devices subscribing to that projection topic can receive the messages under that projection topic through the message bus to parse the message content and complete the tasks they need to perform. This application does not detail the processing logic of the control device 110 after receiving messages in this manner, but is not limited to this method. It supports fault tolerance and recovery mechanisms for both the control device 110 and each projection device 120 to ensure timely recovery in case of communication failures and meet the control requirements of the corresponding devices. Furthermore, to meet the expansion needs of the system, such as adding a projection device, controlling that projection device to subscribe to the projection topic will allow it to obtain the messages published under that projection topic. The implementation process is not detailed in this application. It should be noted that the message synchronization methods between the control device 110 and each projection device 120 include, but are not limited to, the MQTT communication method.
[0072] In one possible implementation, to support point-to-point transmission between different projection devices 120, a direct communication channel can be established between them. During drag-and-drop operations on the first displayed object across projection windows, and when the message synchronization method described above determines that the second projection device needs to obtain file data corresponding to the first displayed object shared by the first projection device, it can obtain that file data through the corresponding direct communication channel. Optionally, each projection device 120 can be mounted on a shared directory of a Network File System (NFS), allowing the second projection device to directly access the storage path of the shared file data of the first projection device through the direct communication channel, and read or copy that file data.
[0073] Among these features, NFS enables different screen-sharing devices and operating systems to share file data and directories over a network, such as... Figure 4 In the data transmission architecture shown, the NFS server allows NFS clients deployed on each projection device to mount the shared directory of the remote NFS server to their local NFS clients. From the perspective of the local NFS client machine, the shared directory of the NFS server appears to be like its own disk partition and directory. The NFS server can use the Remote Procedure Call (RPC) protocol / service to select network ports for data transmission. This application does not limit the implementation method of data sharing between different projection devices via NFS. Of course, in a multi-device projection environment, data transmission between different projection devices can also be achieved using other network sharing methods, and this application does not limit this.
[0074] It should be understood that, Figures 1-4The data transmission system and its included control and projection devices shown do not constitute a limitation on the control system and devices in this application. In practical applications, the control and projection devices may include more or fewer components than those shown in the figures, or combine certain components. Furthermore, the control device 110 in the data transmission system proposed in this application can be any terminal device such as a mobile phone, tablet computer, wearable device with display and wireless communication functions, vehicle terminal device, virtual reality (VR) device, augmented reality (AR) device, personal computer (PC), laptop computer, netbook, smart home device (such as a smart TV), etc. The projection device 120 can be a terminal device with data processing, storage, and communication capabilities. Multiple projection devices can act as independent data transmitters or receivers, and the same projection device can switch roles depending on the scenario. The projection device may also include, but is not limited to, these types of terminal devices, and can be determined according to the actual projection scenario requirements. In addition, the control device 110 may also include components such as various sensors and power management modules. This application does not provide detailed examples of the composition of the control system and the composition of each included device.
[0075] Based on the data transmission system provided in the embodiments of this application described above, the data transmission method applicable to this data transmission system will be described below.
[0076] Reference Figure 5 This is a flowchart illustrating a data transmission method provided in Embodiment 1 of this application. The method proposed in this embodiment can be applied to the control device 110. Based on the above description of the data transmission system, in a multi-device projection environment, the control device 110 is communicatively connected to multiple projection devices 120. The display interface of the control device 110 independently presents the projection windows corresponding to each of the multiple projection devices 120. Based on this, as... Figure 5 As shown, the data transmission method executed by the control device may include:
[0077] Step S51: Obtain the user's drag operation on the first display object within the first projection window;
[0078] The first display object can be any visual element that the user can drag and drop, possessing interactivity, visibility, and state variability, and capable of being associated with data in the projection device corresponding to the projection window, i.e., having data association. It can include, but is not limited to, application interface elements such as application icons, window thumbnails, or interface controls; file system objects such as folder identifiers / file identifiers (icons / shortcuts); media content such as video preview frames, audio waveforms, image thumbnails, or other image identifiers; and verification objects such as search result sets, multi-select object groups, or intelligent recommendation items. This application does not limit the type of the first display object and can determine it based on the drag and drop requirements of the actual scenario.
[0079] In one possible implementation, the user selects the first display object presented in the first projection window on the display interface of the control device using input components such as a mouse, keyboard, or stylus, and then begins a drag operation, such as clicking and holding the first display object with the mouse to start dragging. The input event manager of the control device can continuously capture the drag operation position of the input component on the screen through the underlying interface of the operating system, such as the position of the cursor in the absolute coordinate system of the screen. At the same time, the window manager of the control device can calculate which projection window the first display object belongs to based on the position, and can further determine that the projection window corresponds to the projection window of the data sending end (a projection device) through the projection session mapping table, and record it as the first projection window. In this way, it can be recognized that the user is performing a drag operation on the first display object in the first projection window of the data sending end, but it is not limited to this drag operation capture and recognition method.
[0080] Optionally, users can visually see the objects displayed in each projection window and determine the projection window containing the first object as the first projection window based on actual data transmission needs. This allows the projection device corresponding to the first projection window to be identified as the data sending end. In this case, users can directly drag and drop the first object they see.
[0081] Step S52: In response to the drag operation, send a first drag event to the data sending end corresponding to the first projection window;
[0082] During the drag-and-drop operation of the first display object within the first projection window, the control device can promptly notify the data sending end of the corresponding drag-and-drop event, so as to notify the data sending end to provide feedback on the data storage location of the data to be transmitted, such as the storage path.
[0083] In one possible implementation, the control device can directly send the first drag event to the data sender via a screen-sharing communication channel established with the data sender based on a screen-sharing protocol. This could be achieved through a SmartConnect screen-sharing reverse channel (a proprietary screen-sharing protocol that provides an efficient bidirectional communication channel for low-latency event transmission), but is not limited to this. Optionally, the first drag event can also be sent to each screen-sharing device via a publish / subscribe message bus. In this case, the first drag event can include the starting position of the drag operation (the initial display position of the first displayed object), allowing each screen-sharing device to calculate whether the starting position is within its corresponding screen-sharing window. If so, it acts as the data sender and executes subsequent steps.
[0084] Since the control device and the projection device may have differences in display parameters such as resolution and scaling ratio, precise coordinate transformation can be performed so that the projection device can determine whether the starting position of the reception is within its corresponding projection window. This allows the control device to align the display content in each projection window with the screen display content / content to be displayed on the corresponding projection device, ensuring the projection effect. This application does not describe the coordinate transformation process in detail.
[0085] Step S53: Receive a first transmission message sent by the data sending end based on the first drag event; the first transmission message contains data storage information for locating and accessing the file data corresponding to the first display object;
[0086] Step S54: The first transmission message is forwarded to the data receiving end so that the data receiving end can obtain the file data corresponding to the first display object based on the data storage information; the data receiving end is the projection device corresponding to the second projection window, which is dragged to the first display object by dragging and dropping.
[0087] In this embodiment, dragging the first display object across projection windows aims to directly transmit the file data (such as image data, audio data, text data, or video data, or one or more) corresponding to the first display object in the data sending end (such as the first projection device) to the data receiving end (such as the second projection device). This allows the data receiving end to directly obtain the file data from the data sending end without the need for the control device to participate in the file data transmission as a data relay device, thereby improving system response speed and resource utilization.
[0088] Therefore, after the data sending end receives the first drag event for the first display object, it can determine the data storage information used to locate and access the file data corresponding to the first display object, such as the storage path of the file data corresponding to the first display object in the NFS shared directory (such as the absolute path of the file data in the NFS shared directory), and then send a first transmission message containing the data storage information to the control device to forward it to each projection device (which includes the data receiving end). This application does not restrict the sending method of the first transmission message or the transmission protocol it follows.
[0089] In some embodiments, the first transmission message can be transmitted via a publish-subscribe message bus, such as an MQTT communication bus, to a preset projection topic (topic / dragFile), enabling devices subscribed to that projection topic to receive messages published to that topic, such as the first transmission message. It should be noted that in a multi-device projection environment, other broadcast methods can also be used to achieve message synchronization between multiple devices; this application only uses MQTT message synchronization as an example.
[0090] In this way, when a user drags the first display object from the first projection window to the second projection window on the control device, that is, the projection window corresponding to the projection device that the user wants to receive the data to be transmitted, i.e. the target projection window of the first display object, the user can release the drag operation on the first display object, such as lifting the mouse button or leaving the stylus on the touch screen. The control device obtains the drag release operation on the first display object and responds to the drag release operation to trigger the data receiving end to obtain the file data of the first display object based on the data storage information.
[0091] Therefore, in this embodiment of the application, in a multi-device screen mirroring environment, it is desirable to transmit data from one screen mirroring device (data sender) to another screen mirroring device (data receiver) without having to go to the location of the data sender. The user can directly select the first display object corresponding to the data to be transmitted in the first screen mirroring window corresponding to the data sender displayed on the control device's screen, and drag the first display object from the first screen mirroring window to the destination screen mirroring window, which is the second screen mirroring window corresponding to the data receiver. During this continuous dragging operation, the control device sends a first drag event to the data sender, triggering the data sender to promptly feed back a first transmission message containing data storage information, which is then relayed to each screen mirroring device including the data receiver. After the dragging operation is released and it is determined which screen mirroring device is the data receiver, the data receiver can promptly obtain the file data corresponding to the first display object directly from the data sender based on the data storage information, without having to transfer to the control device. This point-to-point data transmission method between two screen mirroring devices improves data transmission efficiency and avoids resource waste caused by relaying.
[0092] Reference Figure 6 This is a flowchart illustrating a data transmission method provided in Embodiment 2 of this application. The method proposed in this embodiment can be applied to screen projection devices configured as data sending ends. Multiple screen projection devices each have their own screen projection window independently displayed on the control device's display interface. In this multi-device screen projection environment, such as... Figure 6 As shown, the data transmission method executed by the data sending end may include:
[0093] Step S61: Receive a first drag event sent by the control device; the first drag event is generated by the control device in response to the user's drag operation on the first display object in the first projection window;
[0094] Step S62: In response to the first drag event, determine the data storage information used to locate and access the file data corresponding to the first display object;
[0095] Step S63: Send a first transmission message containing data storage information so that the data receiving end can obtain the file data corresponding to the first display object based on the data storage information; the data receiving end is the projection device corresponding to the second projection window, which is dragged to the first display object by a drag-and-drop operation.
[0096] Based on the description of the method embodiment executed by the control device above, after the data sending end generates a first transmission message containing data storage information, it can be sent by the control device to various projection devices that may become data receiving ends. When it is determined that the dragging of the first display object has ended and which projection device is the data receiving end, the data receiving end can directly obtain the file data of the first display object from the data sending end based on the stored data storage information from the data sending end, without waiting to read the data storage information.
[0097] In some embodiments, this application can achieve synchronization of the first transmission message among multiple devices via the MQTT message bus, such as... Figure 7 As shown, the control device and multiple screen-sharing devices are all connected to the MQTT message bus and subscribe to preset screen-sharing topics (such as topic / dragFile) in the message bus. The data sending end responds to the first drag event by publishing the first transmission message to the screen-sharing topic through the message bus. That is, the data sending end uses its own deployed message client (such as...) Figure 7 The MQTT client shown sends a message to the message server (such as...). Figure 7 The control device (as shown) has an MQTT server deployed on it. Within this MQTT server, the control device receives the first transmission message from the subscribed MQTT server. Specifically, the MQTT client deployed on the control device retrieves the first transmission message from the subscribed MQTT server. Simultaneously, other MQTT servers subscribed to this MQTT server (such as...) receive the message. Figure 7 The screen-sharing device shown as the data receiving end (which may also include other screen-sharing devices, etc.) can also obtain and cache (such as storing in a queue or other form) the first transmission message from the screen-sharing topic subscribed to in the MQTT server through its own MQTT client, in order to wait for subsequent release drag-and-drop operations.
[0098] Therefore, when the control device and multiple projection devices are all connected to the publish and subscribe mode message bus and subscribe to the preset projection topics in the message bus, the above step S63 can be: through the message bus, publish the first transmission message containing data storage information to the projection topic, so that other projection devices and the control device can receive the first transmission message under the projection topic through the message bus.
[0099] In some embodiments, during the process of responding to the first drag event, the data sending device can also determine its own device identifier, i.e., the data sending device identifier, and add it to the first transmission message for publication. This allows the data receiving end to verify whether it has access rights to access the file data corresponding to the first display object from the data sending end. If it does not have access rights, the step of obtaining the file data corresponding to the first display object is prohibited; if it has access rights, the step of obtaining the file data of the first display object is then executed, thereby improving data access security.
[0100] Optionally, the first transmission message sent by the data sender may also include a drag start timestamp of the drag operation, so that if no drag release operation / drag release event corresponding to the global drag animation / first display object is detected by each projection device and control device within a preset cache time, the messages stored for the first display object within that preset cache time, such as the first transmission message, are cleared to release the memory resources occupied by it. This is especially important when the first transmission message contains a large amount of data, such as drag animation visual data, which occupies a lot of memory resources. In this case, invalid message data is cleared in time to avoid memory resource shortages affecting the processing of other messages. However, this is not limited to the memory resource release triggering mechanism described in this application. Temporary message data can also be cleared when memory resource usage reaches a threshold.
[0101] In summary, the data transmission method proposed in this embodiment uses a first drag-and-drop event to drive the data sending end to share data storage information. This eliminates the need to transfer the data to be transmitted to the control device. After the drag-and-drop operation on the first display object is released and the data receiving end is determined, the file data corresponding to the first display object is transmitted from the data sending end to the data receiving end through an end-to-end direct communication channel. This improves data transmission efficiency and meets real-time requirements. Furthermore, this event-driven and path-based cross-device interaction architecture provides a foundation for future multi-device integrated interaction and solves the problem of high complexity in achieving cross-platform compatibility.
[0102] Reference Figure 8 This is a flowchart illustrating a data transmission method provided in Embodiment 3 of this application. Based on the data transmission method described above, as follows... Figure 8 As shown, the data transmission method executed by the control device may further include:
[0103] Step S81: Obtain the drag-and-release operation on the first displayed object;
[0104] Step S82: In response to the drag-and-release operation, determine the data receiving end corresponding to the second projection window where the drag-and-release position is located;
[0105] Step S83: Send a data acquisition message to the data receiving end; the data acquisition message contains data storage information so that the data receiving end responds to the data acquisition message and acquires the file data corresponding to the first display object.
[0106] In this embodiment, the first display object is dragged to the second projection window, i.e., the projection window corresponding to the target projection device (denoted as the second projection device), through a continuous drag operation. The mouse / touch can be released directly, and the event manager captures the drag release operation. The position calculation method of the drag operation described above can still be used to determine that the projection window where the drag release position is located is the second projection window of the data receiving device. The implementation process is not described in detail in this embodiment.
[0107] In this system, the control device, in response to a drag-and-release operation, can trigger the data receiving end (the projection device corresponding to the second projection window where the drag-and-release point is located) to obtain the file data corresponding to the first display object through a direct communication channel with the data sending end, based on the data storage information associated with the first display object. If the data storage information includes the storage path of the file data corresponding to the first display object in a shared directory of the network file system, the data receiving end can directly access the shared storage path of the data sending end through the direct communication channel with the data sending end, following the network file system protocol, to obtain the file data corresponding to the first display object.
[0108] In the process of the control device triggering the second projection device to obtain file data, one possible implementation method described in steps S82 and S83 is as follows: the control device sends a data acquisition message to the determined data receiving end to notify the data receiving end to execute the data acquisition process. That is, the data receiving end downloads the file data corresponding to the first display object to the local machine based on the data storage information through the direct communication channel between the data receiving end and the data sending end.
[0109] In one possible implementation, the view layer of the control device triggers a drag-and-release event, identifies the second projection window located on the data receiving end by the drag-and-release position, and transmits a data acquisition message containing data storage information to the data receiving end through a projection communication channel established between the control device and the data receiving end based on the projection protocol. This can be done by transmitting the data acquisition message through the SmartConnect projection reverse channel, so that the data receiving end can download the file data corresponding to the first display object to its local machine based on the data storage information through a direct communication channel with the data sending end.
[0110] Optionally, the data acquisition message may also include the device identifier of the data receiving end. In the distributed message broadcast, each screen projection device determines itself to be a data receiving end based on this identifier, and will then acquire the file data corresponding to the first display object according to the method described above, thus avoiding data mistransmission, such as the second screen projection device mistakenly acquiring data shared by the data receiving end with other screen projection devices (the third screen projection device).
[0111] In some embodiments, during the implementation of the control device triggering the data receiving end to obtain file data, the control device, according to, but not limited to, the method described above, determines a first drag-and-release event containing the drag-and-release position, and sends the first drag-and-release event to each projection device. This allows each projection device to determine, based on the first drag-and-release event, that the drag-and-release position is located in its corresponding projection window, i.e., it is a data receiving end. Then, in response to the cached data storage information, it obtains the file data corresponding to the first display object. For example, by calling the NFS protocol, it downloads the file data corresponding to the first display object from the NFS shared target to its local machine according to the previously stored NFS path of the file data from the data sending end. In other words, the data receiving end directly accesses the shared storage path of the data sending end through the direct communication channel with the data sending end, following the network file system protocol, to obtain the file data corresponding to the first display object. It should be noted that the triggering implementation methods for the control device to trigger the data receiving end to obtain the file data corresponding to the first display object include, but are not limited to, the two methods described above.
[0112] Reference Figure 9 This is a flowchart illustrating a data transmission method provided in Embodiment 4 of this application. This embodiment can be applied to a screen projection device configured as a data receiving end, where the screen projection windows of multiple screen projection devices are independently displayed on the display interface of the control device, such as... Figure 9 As shown, the data transmission method executed by the data receiving end may include:
[0113] Step S91: Obtain the first transmission message from the data sender from the control device;
[0114] The first transmission message is sent by the data sender based on the first drag event, and includes data storage information for locating and accessing the file data corresponding to the first display object. The first drag event is generated by the control device in response to the user's drag operation on the first display object within the first projection window. The data sender is the projection device corresponding to the first projection window. The process of obtaining the first drag event and data storage information can be referred to the description in the corresponding part of the above embodiment, and will not be repeated here.
[0115] In step S92, in response to the drag-and-release position of the first display object being located within the second projection window corresponding to the data receiving end, the file data corresponding to the first display object is obtained based on the data storage information through the direct communication channel between the data sending end and the data receiving end.
[0116] Based on the data transmission method executed during the drag-and-release operation response process described above from the control device side, when the control device acts as a relay device between multiple projection devices, it is only used to transmit lightweight messages and events, and does not relay the file data corresponding to the first display object. This achieves the separation of message stream and data stream, avoiding the relaying of a large amount of data between multiple projection devices through the control device, which would reduce data transmission efficiency and waste transmission resources.
[0117] Therefore, in response to the drag-and-release operation of the first display object, the data receiving end determines itself as the data receiving end according to, but not limited to, the method described above. The drag-and-release position is located within its corresponding projection window. It will directly obtain the file data corresponding to the first display object through the direct communication channel with the data sending end, based on the data storage information, thereby reducing secondary data transfer and improving data transmission efficiency and transmission resource utilization.
[0118] The process of mounting NFS shared directories on multiple screen-projecting devices includes two steps: "establishing a direct communication channel" and "establishing an NFS connection". After the connection is established, the data receiving device performs an NFS mounting operation, mapping the NFS shared directory of the first screen-projecting device to a local virtual directory. In this way, when it is necessary to obtain the shared storage path (data storage information) of the data sending end, the storage path of the virtual directory can be directly accessed, and the file data corresponding to the first display object in the data sending end can be directly read. However, this data transmission implementation method is not limited to this method.
[0119] In some embodiments, during the process of the data receiving end responding to the drag-and-release position of the first display object being located within the second projection window corresponding to the data receiving end, it may be in the process of receiving a data acquisition message sent by the control device. Based on the above analysis, the data acquisition message is sent by the control device when it determines that the projection window where the drag-and-release position is located is ready for the data receiving end. Regarding the generation and sending process of the data acquisition message, please refer to the relevant description of the implementation embodiment on the control device side above.
[0120] Optionally, after receiving the first drag-and-release event, the data receiving end can determine the drag-and-release position based on the first drag-and-release event, which is located in the second projection window corresponding to the data sending end. This verifies that it is indeed the data receiving end for the file data corresponding to the first displayed object, and it can then continue with subsequent steps. The first drag-and-release event is generated in response to a drag-and-release operation on the first displayed object. For example, the control device might respond to a drag-and-release operation and send the generated first drag-and-release event to the data receiving end; or, the data receiving end might monitor the drag-and-release operation on the first displayed object through a projection communication channel established between itself and the control device based on a projection protocol, and generate the corresponding first drag-and-release event. This application does not limit the method for generating the first drag-and-release event.
[0121] Based on the above analysis, and referring to Figure 10 This is a schematic diagram of the signaling flow of a data transmission method proposed in Embodiment 5 of this application, as shown below. Figure 10 As shown, the data transmission method proposed in this embodiment may include:
[0122] Step S101: The control device acquires the user's drag operation on the first display object within the first projection window;
[0123] In step S102, the control device responds to the drag operation by sending a first drag event through the projection communication channel with the data sending end;
[0124] In step S103, the data sending end responds to the first drag event and determines the storage path of the file data corresponding to the first display object in the shared directory of the network file system;
[0125] In step S104, the data sending end sends a first transmission message containing the storage path to the subscribed screen-casting topic through the MQTT message bus;
[0126] Step S105: The control device and each projection device receive and store the first transmission message under the subscribed projection topic through the MQTT message bus;
[0127] Step S106: Control the device to obtain the drag-and-release operation on the first displayed object;
[0128] In step S107, the control device responds to the drag-and-release operation by sending a first drag-and-release event through the projection communication channel with the data receiving end;
[0129] In step S108, in response to the first drag-and-drop event, the data receiving end directly accesses the storage path shared by the data sending end through the direct communication channel with the data receiving end, following the NFS protocol, and downloads the file data corresponding to the first display object to the local machine.
[0130] For a detailed description of the implementation process of each step in this embodiment, please refer to the description of the corresponding device side in the above embodiments. This embodiment will not repeat the details. It should be understood that in different scenarios, the same screen projection device may be a data receiver or a data sender, and this application does not impose any restrictions on this.
[0131] Reference Figure 11 This is a schematic diagram of a data transmission device according to Embodiment 1 of this application. This device is suitable for control equipment, and the display interface of the control equipment independently presents the projection windows corresponding to multiple projection devices, such as... Figure 11 As shown, the data transmission device may include:
[0132] The drag operation acquisition module 111 is used to acquire the user's drag operation on the first display object in the first projection window;
[0133] The first drag event sending module 112 is used to send a first drag event to the data sending end corresponding to the first projection window in response to the drag operation.
[0134] The first transmission message receiving module 113 is used to receive a first transmission message sent by the data sending end based on the first drag event; the first transmission message includes data storage information for locating and accessing the file data corresponding to the first display object.
[0135] The first transmission message forwarding module 114 is used to forward the first transmission message to the data receiving end, so that the data receiving end can obtain the file data corresponding to the first display object based on the data storage information.
[0136] The data receiving end is the projection device corresponding to the second projection window, which is reached by dragging the first display object through the drag operation.
[0137] Optionally, the aforementioned data storage information includes the storage path of the file data corresponding to the first display object in a shared directory of the network file system. Based on this, the data transmission device may further include:
[0138] The drag-and-release operation acquisition module is used to acquire drag-and-release operations on the first displayed object;
[0139] The drag-and-release trigger module is used to respond to the drag-and-release operation by triggering the data receiving end to directly access the storage path shared by the data sending end through the direct communication channel between the data receiving end and the data sending end, in accordance with the network file system protocol, to obtain the file data corresponding to the first display object; at this time, the data receiving end is the projection device corresponding to the second projection window where the drag-and-release position is located.
[0140] Optionally, the drag-and-release trigger module mentioned above may include:
[0141] The data receiver determination unit is used to determine the data receiver corresponding to the second projection window where the drag release position is located.
[0142] A data acquisition message sending unit is used to send a data acquisition message to the data receiving end; the data acquisition message contains the data storage information, so that the data receiving end responds to the data acquisition message and acquires the file data corresponding to the first display object;
[0143] Optionally, the drag-and-release trigger module mentioned above may include:
[0144] The first drag-and-release event sending unit is used to send a first drag-and-release event to each of the screen projection devices, so that each of the screen projection devices determines that the drag-and-release position is located in its corresponding screen projection window based on the first drag-and-release event, and obtains the file data corresponding to the first display object in response to the cached data storage information.
[0145] Reference Figure 12 This is a schematic diagram of a data transmission device according to Embodiment 2 of this application. This device is suitable for screen projection devices configured as data transmitters, where the projection windows of multiple screen projection devices are independently displayed on the control device's display interface. Figure 12 As shown, the data transmission device may include:
[0146] The first drag event receiving module 121 is used to receive a first drag event sent by the control device; the first drag event is generated by the control device in response to the user's drag operation on the first display object in the first projection window;
[0147] The data storage information determination module 122 is used to determine data storage information for locating and accessing the file data corresponding to the first display object in response to the first drag event;
[0148] The first transmission message sending module 123 is used to send a first transmission message containing the data storage information, so that the data receiving end can obtain the file data corresponding to the first display object based on the data storage information;
[0149] The data receiving end is the projection device corresponding to the second projection window, which is reached by dragging the first display object through the drag operation.
[0150] Optionally, the control device and the plurality of projection devices are all connected to a publish / subscribe message bus and subscribe to preset projection topics in the message bus. Based on this, the first transmission message sending module 123 may include:
[0151] The publishing unit is used to publish a first transmission message containing the data storage information to the projection topic through the message bus, so that other projection devices and the control device can receive the first transmission message under the projection topic through the message bus.
[0152] Reference Figure 13 This is a schematic diagram of a data transmission device according to Embodiment 3 of this application. This device is suitable for screen projection devices configured as data receivers, where the projection windows of multiple screen projection devices are independently displayed on the control device's display interface. Figure 13 As shown, the data transmission device may include:
[0153] The first transmission message acquisition module 131 is used to acquire a first transmission message from the data sending end from the control device; wherein, the first transmission message is sent by the data sending end based on a first drag event, and includes data storage information for locating and accessing file data corresponding to the first display object, the first drag event is generated by the control device in response to the user's drag operation on the first display object in the first projection window, and the data sending end is a projection device corresponding to the first projection window;
[0154] The file data acquisition module 132 is used to acquire the file data corresponding to the first display object based on the data storage information through a direct communication channel with the data sending end when the drag-and-release position of the first display object is located within the second projection window corresponding to the data receiving end.
[0155] Optionally, the file data acquisition module 132 may include:
[0156] A data acquisition message receiving unit is used to receive a data acquisition message sent by the control device; the data acquisition message is sent by the control device when it determines that the projection window where the drag release position is located corresponds to the data receiving end;
[0157] or,
[0158] The first drag-and-release event acquisition unit is used to acquire the first drag-and-release event; and...
[0159] The first determining unit is used to determine, based on the first drag-release event, that the drag-release position is located in the second projection window corresponding to the data receiving end; the first drag-release event is generated in response to the drag-release operation on the first display object.
[0160] This application also provides a computer program product including computer-readable instructions. When these computer-readable instructions are executed on a computer device (control device, data transmitter, or data receiver), the computer device implements any of the data transmission methods executed on the corresponding device side as provided in this application. The computer program product can be stored in a readable storage medium, such as a computer floppy disk, USB flash drive, portable hard drive, ROM (Read-Only Memory), RAM (Random Access Memory), magnetic disk, or optical disk, etc., and includes several instructions to cause a computer device (which may be a personal computer, training device, or network device, etc.) to execute the data transmission methods described in the various embodiments of this application.
[0161] This application also provides a computer-readable storage medium carrying one or more computer programs. When these programs are executed by a computer device (control device, data transmitter, or data receiver), the computer device can implement any of the data transmission methods executed on the corresponding device side as provided in this application. This application does not limit the product form of the computer-readable storage medium.
[0162] Finally, it should be noted that the device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. In addition, in the accompanying drawings of the device embodiments provided in this application, the connection relationship between modules indicates that they have a communication connection, which can be implemented as one or more communication buses or signal lines.
[0163] In the above embodiments, the invention can be implemented entirely or partially by software, hardware, firmware, or any combination thereof. Through the description of the above embodiments, those skilled in the art can clearly understand that this application can be implemented using software plus necessary general-purpose hardware, or it can be implemented using dedicated hardware including dedicated integrated circuits, dedicated CPUs, dedicated memory, dedicated components, etc. When implemented using software, it can be implemented entirely or partially in the form of a computer program product. The various embodiments in this specification are described in a progressive or parallel manner, with each embodiment focusing on the differences from other embodiments. Similar or identical parts between embodiments can be referred to mutually. For the apparatus, system, and device disclosed in the embodiments, since they correspond to the methods disclosed in the embodiments, the description is relatively simple; relevant parts can be referred to in the method section.
Claims
1. A data transmission method applied to a control device, wherein the display interface of the control device independently presents projection windows corresponding to multiple projection devices, the method comprising: Get the user's drag operation on the first displayed object within the first projection window; In response to the drag operation, a first drag event is sent to the data sending end corresponding to the first projection window; Receive a first transmission message sent by the data sending end based on the first drag event; the first transmission message contains data storage information for locating and accessing the file data corresponding to the first display object; The first transmission message is forwarded to the data receiving end, so that the data receiving end can obtain the file data corresponding to the first display object based on the data storage information; The data receiving end is the projection device corresponding to the second projection window, which is reached by dragging the first display object to the projection window via the drag operation.
2. The method according to claim 1, wherein, The data storage information includes the storage path of the file data corresponding to the first display object in the shared directory of the network file system; the method further includes: Obtain the drag-and-release operation on the first displayed object; In response to the drag-and-release operation, the data receiving end is triggered to directly access the storage path shared by the data sending end through the direct communication channel between the data receiving end and the data sending end, in accordance with the network file system protocol, to obtain the file data corresponding to the first display object; The data receiving end is the projection device corresponding to the second projection window where the drag-and-release position is located.
3. The method according to claim 2, wherein, The triggering method for the data receiving end to obtain the file data corresponding to the first display object includes any of the following: Determine the data receiving end corresponding to the second projection window where the drag-and-release position is located, and send a data acquisition message to the data receiving end; the data acquisition message contains the data storage information, so that the data receiving end responds to the data acquisition message and acquires the file data corresponding to the first display object; A first drag-and-release event is sent to each of the screen projection devices, so that each screen projection device determines that the drag-and-release position is located in its corresponding screen projection window based on the first drag-and-release event, and obtains the file data corresponding to the first display object in response to the cached data storage information.
4. A data transmission method, applied to a screen projection device configured as a data sending end, wherein the screen projection windows of multiple screen projection devices are independently displayed on the display interface of a control device, the method comprising: Receive the first drag event sent by the control device; The first drag event is generated by the control device in response to the user's drag operation on the first display object within the first projection window; In response to the first drag event, determine the data storage information for locating and accessing the file data corresponding to the first display object; Send a first transmission message containing the data storage information so that the data receiving end can obtain the file data corresponding to the first display object based on the data storage information; The data receiving end is the projection device corresponding to the second projection window, which is reached by dragging the first display object to the projection window via the drag operation.
5. The method according to claim 4, wherein, The control device and the multiple projection devices are all connected to a publish-subscribe message bus and subscribe to preset projection topics in the message bus; Sending the first transmission message containing the data storage information includes: The message bus is used to publish a first transmission message containing the data storage information to the projection topic, so that other projection devices and the control device can receive the first transmission message under the projection topic through the message bus.
6. A data transmission method applied to a screen projection device configured as a data receiving end, wherein the screen projection windows of multiple screen projection devices are independently displayed on the display interface of a control device, the method comprising: The control device obtains a first transmission message from the data sending end; wherein the first transmission message is sent by the data sending end based on a first drag event, and contains data storage information for locating and accessing file data corresponding to the first display object, the first drag event is generated by the control device in response to the user's drag operation on the first display object in the first projection window, and the data sending end is a projection device corresponding to the first projection window; In response to the drag-and-release position of the first display object being located within the second projection window corresponding to the data receiving end, the file data corresponding to the first display object is obtained based on the data storage information through the direct communication channel between the data receiving end and the data sending end.
7. The method according to claim 6, wherein, In response to the drag-and-release position of the first display object being located within the second projection window corresponding to the data sending end, the following implementation methods are included: The system receives a data acquisition message sent by the control device; the data acquisition message is sent by the control device when it determines that the projection window where the drag-and-release position is located corresponds to the data receiving end. Obtain the first drag-release event, and determine the drag-release position as the second projection window corresponding to the data receiving end based on the first drag-release event; The first drag-release event is generated in response to a drag-release operation on the first displayed object.
8. A data transmission system, the system comprising multiple projection devices and a control device, each projection device comprising at least one processor and at least one communication port, and communicating with the control device through the communication port; The control device includes: The display screen is used to output a display interface, on which the projection windows of the multiple projection devices are independently presented. The user interface is used to obtain the user's drag operation on the first display object in the first projection window, and the drag release operation on the first display object; When the projection device is configured as a data sending end corresponding to the first projection window: The processor is configured to receive a first drag event sent by the control device in response to the drag operation, and send a first transmission message to the control device based on the first drag event; the first transmission message includes data storage information for locating and accessing file data corresponding to the first display object; When the projection device is configured as a data receiving end corresponding to the second projection window where the drag-and-release position of the first display object is located: The processor is configured to obtain the first transmission message from the data sending end from the control device, and in response to the drag-and-release position of the first display object being located in the second projection window, obtain the file data corresponding to the first display object based on the data storage information through a direct communication channel with the data sending end.
9. The system according to claim 8, wherein: The control device is equipped with a message server, and both the control device and the multiple projection devices are equipped with message clients that match the message server, so as to realize message synchronization between the control device and each of the projection devices through a publish and subscribe message bus.
10. The system according to claim 8, wherein: The multiple screen projection devices are all mounted with a network file system shared directory, so that the data receiving end can directly access the data storage information shared by the data sending end through a direct communication channel with the data sending end, and obtain the file data corresponding to the first display object.