CN111049790B - Data interaction method - Google Patents
Data interaction method Download PDFInfo
- Publication number
- CN111049790B CN111049790B CN201811197079.6A CN201811197079A CN111049790B CN 111049790 B CN111049790 B CN 111049790B CN 201811197079 A CN201811197079 A CN 201811197079A CN 111049790 B CN111049790 B CN 111049790B
- Authority
- CN
- China
- Prior art keywords
- client
- server
- shared data
- data
- shared
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/452—Remote windowing, e.g. X-Window System, desktop virtualisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/08—Protocols specially adapted for terminal emulation, e.g. Telnet
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
The invention discloses a data interaction system, a data interaction method and a client for the system, wherein the system comprises at least two clients and a server; the clients establish a data transmission channel by accessing the server; the server is used for communicating with the accessed client and providing a shared client identification list; the client is used for transmitting data to other clients through a data transmission channel according to the indication of the server; and the server is used for sending a request to the server through a sharing client identification list and displaying the data transmitted by the sharing client on a data sharing interface according to the response of the server. By the method and the device, multi-party interaction can be realized, and interaction parties can quickly, conveniently and flexibly interact and share screen data of a plurality of sharing parties according to needs, so that the interaction efficiency is greatly improved.
Description
Technical Field
The present invention relates to the field of data interaction, and in particular, to a data interaction system, a data interaction method, and a client for the data interaction system.
Background
With the development of science and technology, more and more occasions exist for users to perform data interaction through networks. The emergence of network communication tools such as Tencent QQ, WeChat and the like, users can communicate and transmit data with other users through a network at any time and any place.
However, the network communication tool as described above can only perform data interaction unilaterally and the interaction process involves only two interacting parties. In a daily office environment, the complexity of work is higher and higher, and multiple people are often required to participate in conference discussion and perform information sharing and analysis together to complete one work. The simple network communication work cannot meet the requirement that a plurality of people participate in office work simultaneously.
Disclosure of Invention
In view of the above problem, the present invention provides a data interaction system, which includes: at least two clients, and a server; the clients establish a data transmission channel by accessing the server; the server is used for communicating with the accessed client and providing a shared client identification list for the accessed client; the client is used for transmitting the shared data to other clients through the data transmission channel according to the indication of the server; and the server is used for sending a request to the server through the sharing client identification list and displaying the sharing data transmitted by the sharing client on a data sharing interface according to the response of the server.
According to some embodiments of the invention, the data sharing interface comprises a list of shared client identifications and a shared data display area; the identifiers in the shared client identifier list include the network IP addresses of the clients.
According to some embodiments of the present invention, the client performs a selection operation on the identifiers in the list of identifiers of the shared clients, so as to display the shared data of the client corresponding to the selected identifier in a display window size at a corresponding display position.
According to some embodiments of the present invention, the selecting an identifier in the shared client identifier list includes clicking and dragging an identifier in the shared client identifier list to the shared data display area.
According to some embodiments of the present invention, the shared data display area includes a pane of a preset size corresponding to the number of clients in the shared client identification list for the client to place the shared data to be displayed in the pane.
According to some embodiments of the present invention, the client is further configured to select a client in the shared client identifier list to share the shared data, and send a sharing request to the server;
the server sends the sharing request to the selected client;
and the server instructs the client side where the shared data is located to send the shared data to the client side which agrees to receive in the selected client sides.
According to some embodiments of the invention, the server is further configured to manage and distribute sharing rights of the client;
the client accesses and/or controls the received shared data according to the sharing authority
According to some embodiments of the invention, the client comprises one of a personal computer, a handheld or laptop computer, a tablet computer, a cellular telephone, a mobile device, an electronic device, a smartphone, a smart television, or a combination thereof;
the shared data comprises one of or a combination of desktops, folders, files, icons, windows and buttons, or screenshots of the desktops, folders, files, icons, windows and buttons or a combination thereof or a combination of the screenshots.
According to some embodiments of the present invention, the client reports a layout formed when the shared data is manipulated to a server in real time; the layout includes display window size, position, stacking order, and generation time of the shared data in the data sharing interface.
According to some embodiments of the invention, the client scales the shared data display area in equal proportion to the scaling of the data sharing interface.
A second aspect of the invention provides a client for use in the aforementioned system, comprising a processor and a display module; the processor is used for receiving a shared client identification list from the server when the server is accessed; and sending a request to the server through a shared client identifier list; and the display module is used for displaying the shared data transmitted by the shared client on a data sharing interface after the server responds.
According to some embodiments of the present invention, the processor is further configured to select a client in the sharing client identification list to share the shared data, and send a sharing request to the server.
According to some embodiments of the present invention, the processor is further configured to report a layout formed when the shared data is manipulated to a server in real time; the layout includes display window size, position, stacking order, and generation time of the shared data in the data sharing interface.
The third aspect of the present invention provides a data interaction method, including:
accessing at least two clients to a server to form a network connection;
the server provides a shared client identification list for each client according to the accessed clients;
a first client of the at least two clients selects a client to share data through the sharing client identification list;
the selected client transmits shared data to the first client according to the indication of the server;
and the first client displays the shared data on a data sharing interface.
According to some embodiments of the invention, the data sharing interface includes a list of shared client identifications and a shared data display area.
According to some embodiments of the invention, the identification in the list of shared client identifications comprises a network IP address of the client.
According to some embodiments of the present invention, the first client selects a client to share data by performing a selection operation on an identifier in the shared client identifier list, and sends a selected operation instruction to the server, the server responds to the selected operation instruction, and the first client displays shared data collected from the selected client in the shared data display area according to the response of the server.
According to some embodiments of the present invention, selecting the identifier in the shared client identifier list includes clicking and dragging the selected identifier in the shared client identifier list to the shared data display area.
According to some embodiments of the present invention, the shared data display area includes panes of a preset size corresponding to the number of clients in the shared client identification list for the first client to place shared data in one of the panes.
According to some embodiments of the invention, the method comprises: the first client selects a client to share data and sends a sharing request to a server;
the server sends the sharing request to the selected client;
and the server instructs the first client to send the shared data to the client agreeing to receive in the selected clients.
According to some embodiments of the invention, the method comprises: the selected client responds to the selection of the first client to perform screen capture operation on shared data in the first client so as to obtain a screen capture of a desktop corresponding to the shared data:
the selected client encodes the screenshot and converts the screenshot into a transmittable encoding format;
the selected client transmits the coded screenshot to the first client;
and the first client decodes the encoded screenshot.
According to some embodiments of the invention, the method comprises: the server manages and distributes the sharing authority of the first client;
the first client accesses and/or controls shared data according to the sharing permission
According to some embodiments of the invention, the method comprises: the first client reports a layout formed when the shared data is controlled to a server in real time; the layout includes display window size, position, stacking order, and generation time of the shared data in the data sharing interface.
According to some embodiments of the invention, the method comprises: the first client saves the interface displayed in the shared data display area into a scene plan and sends the scene plan to the server, or the server saves the interface displayed in the shared data display area into a scene plan according to the request of the client; and the server responds to the request of the first client, forms an interface layout thumbnail according to the layout in the interface and stores the interface layout thumbnail in the scene plan list.
According to some embodiments of the invention, the method comprises: and the first client scales the shared data display area in the same scale according to the scaling of the data sharing interface.
According to some embodiments of the invention, the method comprises: the client determines the position of a cursor on a display screen after the dragging operation is executed;
determining the scaling of a desktop corresponding to the shared data according to the preset size of a target window to be formed by the dragging operation; and
and displaying the desktop corresponding to the shared data according to the position and the scaling of the cursor on the display screen.
According to some embodiments of the invention, the method comprises: the client determines a pane where a cursor is located after the dragging operation is executed;
and determining the position to be placed and the scaling of the desktop corresponding to the shared data according to the vertex initial position coordinates and the pane size of the pane, and displaying the desktop corresponding to the shared data.
According to some embodiments of the invention, the method comprises: the first client scaling the shared data display area in a same scale according to the scaling of the data sharing interface comprises the following steps:
and the first client identifies the zooming action of the user, determines the zooming ratio according to the final position coordinate of the mouse, and zooms and displays the shared data display area in the same ratio.
According to some embodiments of the invention, the method comprises: the first client generates mouse position information and a control instruction according to the operation of a user on the shared data;
the client transmits the generated mouse position information and the control instruction to the selected client;
and the selected client converts the mouse position in the received mouse position information into a local mouse position, and responds according to the converted mouse position and the control instruction.
According to some embodiments of the invention, the selected client scaling the mouse position in the received mouse position information to a local mouse position comprises:
and the selected client converts the mouse position in the received mouse position information into a local mouse position according to the mouse position in the received mouse position information and the scaling of the mouse working window, wherein the scaling of the mouse working window is the ratio of the mouse between the working window of the first client and the working window of the mouse in the selected client.
According to some embodiments of the invention, the clients in the shared client identification list comprise first clients.
According to some embodiments of the invention, the selected client comprises a first client.
According to some embodiments of the invention, the selected clients include one or more clients.
By the method and the device, multi-party interaction can be realized, and interaction parties can quickly, conveniently and flexibly interact and share screen data of a plurality of sharing parties according to needs, so that the interaction efficiency is greatly improved.
Drawings
FIG. 1 is a schematic diagram of a data interaction system according to an embodiment of the present invention;
FIG. 2 is a schematic diagram of the data interaction system of FIG. 1 showing one of the client data in a main interface;
FIG. 3 is a schematic diagram of displaying two or more client data in a home interface, according to an embodiment of the invention;
FIG. 4 is a diagram illustrating two or more client data displayed in a pane of a shared data area (or shared data display area), according to an embodiment of the invention;
FIG. 5 is a diagram illustrating a position of a mouse operating on a shared desktop according to an embodiment of the present invention;
fig. 6 is a schematic view of an operation interface for actively sharing data by a client according to an embodiment of the present invention;
FIG. 7 is a schematic diagram of an operation interface of a client for clipping shared data according to an embodiment of the present invention;
FIG. 8 is a schematic view of an operation interface for adding the cropping data shown in FIG. 7 to a cropping node;
FIG. 9 is a schematic view of an operation interface for a client to perform shared data screenshot splicing and save a plan according to an embodiment of the present invention;
fig. 10 is a schematic view of an operation interface for displaying a scenario advance in a client according to an embodiment of the present invention;
FIG. 11 is a schematic interface diagram illustrating a client operating on clipping a screenshot according to an embodiment of the present invention;
FIG. 12 is a schematic diagram of a mouse position when a client operates to cut a screenshot according to an embodiment of the present invention;
fig. 13 is a block diagram of a client according to an embodiment of the present invention.
Detailed Description
In order to facilitate understanding of the technical solution of the present invention, the embodiment of the present invention is described by taking a personal computer as an example. Those skilled in the art will appreciate that the clipping sharing apparatus of the present invention may be implemented using a variety of electronic devices, including, but not limited to, personal computers, server computers, hand-held or laptop devices, mobile devices (such as mobile telephones, Personal Digital Assistants (PDAs), media players, and the like), multiprocessor systems, consumer electronics, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like.
Fig. 1 shows a data interaction system 1 according to an embodiment of the present invention, which includes a plurality of clients 10, 11, 12, 13, 14, the clients 10, 11, 12, 13, 14 are connected via a network, and each client 11, 12, 13, 14 is assigned a network IP address, such as IP0, IP1, IP2, IP3, and IP 4.
Those skilled in the art can understand that the number of the clients may be arbitrarily set according to the needs of the user, and may be more than the above 5, or may include only 2, without considering network throughput and other factors.
The network may include a Wi-fi network, a bluetooth network, a Private Area Network (PAN), a Local Area Network (LAN), a Wide Area Network (WAN), IEEE 802.1x, an intranet, the internet, an extranet, and combinations thereof. The network may also include a digital cellular telephone network, which may include Global System for Mobile communications (GSM), General Packet Radio Service (GPRS), cdmaOne, CDMA2000, evolution-data optimized (EV-DO), enhanced data rates for GSM evolution (EDGE), Universal Mobile Telecommunications System (UMTS), Digital Enhanced Cordless Telecommunications (DECT), digital AMPS (IS-136/TDMA), Integrated digital enhanced network (iDEN), WiMAX, LTE advanced, Mobile Broadband Wireless Access (MBWA), IEEE 802.20. The network may be public access, private, virtual private, such as a VPN.
The data interaction software of the present invention may be installed in all of the clients 10-14. The data interaction system can utilize the existing network data interaction system without separately erecting a server or renting a space or adding other additional hardware equipment.
The data interaction system 1 further comprises a server 2, all the clients 10-14 installed with data interaction software can communicate with the server 2, send requests to the server 2 and report the running states of the clients to the server 2 in real time, and the server 2 further comprises a permission management module 21 and a database 22, which can manage and distribute permissions of the clients 10-14. The role of the database 22 will be described in detail below.
For example, the server 2 assigns to the client 10 the rights to only allow it to access and manipulate the data of the clients 11, 12, 13 and 14; the server 2 assigns to the client 11 the right to allow it only to access and manipulate the data of the clients 12 and 14; the server 2 assigns to the client 12 the rights to allow it to access and manipulate the data of the clients 11, 13, 14; the server 2 assigns the client 13 with the right to only allow access without manipulating the data of the clients 11 and 12, and may also set a high-level client to access and manipulate the data of all other clients, and the other clients have no right to access the clients, and so on. Including but not limited to opening, deleting, editing, modifying, saving folders and files of other clients 11-14, and/or operating buttons in any open interface, etc.
For convenience of understanding, the following embodiments of the present invention assume that the client 10 at the receiving end enjoys the right to fully access and manipulate the entire contents of the other clients 11-14 at the collecting end, so as to describe the working process of the client 10 to access and/or manipulate the contents of other shared clients. Those skilled in the art will appreciate that the definition of the receiving-side client and the collecting-side client is relative, and any of the clients 10-14 can be used as a receiving-side client and a collecting-side client. For example, with respect to the client 11, when it is a receiving client, the remaining clients 10, 12-14 may be the collecting end of the client 11, and so on.
In the login interface of the client 10, a login window of a user name and a password is set, and only a user who knows the user name and the password can enter the computer of the client 10.
After a user of a client 10 successfully logs in a computer of the client 10, an access request is sent to a server 2, the server 2 sends client identification information allocated to the client 10 to share the authority to the client 10 according to the authority preset to the client 10 after verifying a user name and a password, and the client identification information includes but is not limited to an IP address or other identifications of the client, such as a client 0, a client a, a client b, a client c, a client d and the like; the client 10 further generates a main interface, wherein the main interface may include a list column of the IP addresses of the clients that the client has access right and a shared data area (or shared data display area), as shown in fig. 2.
Referring to fig. 2, in the present embodiment, the left area of the main interface is a list of IP addresses of all clients within the access right range of the client 10, for example, if the access right of the client 10 is the clients 11-14, the displayed list is IP1, IP2, IP3, and IP 4. In some embodiments, the list of IP addresses may also contain the client's 10 own IP address.
In some embodiments, if some or all of the clients within the access right range of the client 10 are not accessed into the server 2, the corresponding client identification positions in the list thereof may be presented in a gray inoperable state, which is convenient for the user to be clear to the operable clients.
The user of the client 10 may operate on the left IP list, for example if the user wants to access the data of the client 12 (set to IP2), a mouse click may be made at the location of IP2 in the list and an action is taken to drag IP2 into the shared data area of the home interface (where IP2 identifies that no real movement may occur); when the connection with the IP2 is first established, an instruction corresponding to the aforementioned action is sent to the server 2, if the server agrees to perform the operation, including agreeing to display data of the IP2 at a position corresponding to the drag operation in a window size corresponding to the drag operation, the server 2 sends the instruction to the client 12, instructs the client 12 to send its data, for example, a desktop, to the client 10, and the client 10 then displays the desktop of the client 12 in a shared data area in the main interface, such as the area on the right side of fig. 2, in the aforementioned position and display window size. Similarly, the client 10 may issue a request to the server 2 to open multiple shared clients, such as the desktops of the clients 11-14, all dragged into the shared data area at the same time. The desktop windows of the clients 11-14 may be displayed overlaid as shown in FIG. 3. In some embodiments, after the client and the signal source are in contact, the user can directly drag and display the related signal source without the consent of the server. The above operations are also applicable to shared data of a clipping region obtained by clipping shared data or a desktop, such as the clipping portion described in conjunction with fig. 8, at this time, a child node identifier may also be correspondingly formed for the clipping region, and the identifier may be similar to the signal source identifier. Accordingly, the client may perform selection and dragging operations on child node identifiers in the shared signal source identifier list, so as to display the shared data of the corresponding clipping region at a corresponding display position in the size of one display window. It can be understood that, with the real-time variation of the signal source, the content of the clipping region may vary accordingly, the clipping region defines the content in the corresponding spatial range on the signal source that the client wants to pay attention to, that is, the display window will display the real-time updated content in the clipping region of the signal source from which the screenshot corresponding to the child node identifier originates. By generating the clipping area, the client can directly see the shared data and the change thereof corresponding to the clipping area when opening the child node identifier each time, and does not need to disperse efforts to other areas.
It is understood that the desktop mentioned above may refer to the original desktop when the computers of the clients 11-14 are not opened with any files or folders, or may refer to any operating desktop at the current time when one or more files or folders are opened, and may vary according to the time when the user of the client 10 makes the sharing request.
In some embodiments, the method for the client 10 to execute the above-mentioned drag instruction and display the desktop (the above-mentioned drag related process) may include:
and 103, displaying the desktop to be displayed according to the coordinate position and the scaling of the cursor.
Preferably, for interface friendliness, a plurality of blank panes or panes may be pre-divided in the initialized shared data area of the main interface of the client 10, as shown in fig. 4, the blank panes may be divided according to the number of shared clients and the screen size. The plurality of blank pane areas may facilitate a user dragging a desktop of a client to be accessed into the corresponding blank pane area. The user of the client 10 can click a mouse at the location of the client 12 in the list and drag to any of the blank pane areas, thereby displaying the desktop of the client 12 in the corresponding blank pane area. Those skilled in the art will appreciate that the client 10 can also drag the shared data arbitrarily without being limited by the pane area.
In some embodiments, the method for the client 10 to execute the above-mentioned drag instruction (drag a certain client identifier) and display the corresponding desktop of the client specifically includes:
step 201, determining in which area of the blank pane area the coordinate of the cursor is located after the drag operation is performed, such as a pane (for example, in a second pane) in which the cursor is located after the drag operation;
and step 202, determining the position and the scaling of the final desktop according to the vertex initial position coordinate (such as the vertex position coordinate at the upper left corner) of the located pane and the size of the pane, and finally displaying the desktop.
In some embodiments, the process of causing the desktop to be displayed at the client 10 may include the steps of:
step 301, a client from which the desktop originates (such as a client corresponding to the client identifier where the cursor is selected in fig. 2, which responds to a drag operation or a selection operation or other actions of the client 10 on the client identifier) captures a desktop to be shared with the first client in the client itself;
step 302, encoding the screenshot, and converting the screenshot into a transmittable encoding format, such as an H264 code stream format;
step 303, transmitting the encoded screenshot to the receiving end client 10, for example, transmitting the encoded screenshot to the receiving end client 10 according to a preset transmission rate;
and step 304, decoding and obtaining the desktop screenshot at the client 10.
Preferably, the transmission frame rate can be preset as required, for example, 15 frames/second, or 30 frames/second; the transmission may be over a wireless or wired network.
Preferably, the client 10 may drag and zoom the main interface freely, and in the embodiment of the present invention, while dragging and zooming the main interface, the shared data area in the main interface also moves and zooms simultaneously with the dragging and zooming of the main interface. Specifically, it can be realized by:
the client 10 may recognize a motion dragged by the user, for example, if the mouse holds down the vertex position of the main interface for the left button and drags the motion downward, the motion is recognized as an enlarged main interface, and the enlargement ratio thereof may be determined according to the final position coordinates of the mouse, and then the main interface and the related shared data area on the main interface are enlarged and displayed in the corresponding ratio. In some embodiments, the client 10 may drag the pane to cause it to change size.
The layout (here, the image may also be) formed by dragging, zooming, and manipulating the desktop (such as the desktop corresponding to the right picture in fig. 2) and/or the pane in the main interface and/or the main interface by each client (or the desktop corresponding to the right picture in fig. 2) may be sent or reported to the server 2 in real time, where the layout includes information such as the windowing size, the position, and the stacking order of each client (or the shared data and the screenshot) in the shared data display area (or the main interface) of the client 10. In some embodiments, the server may store the interface appearing after the manipulation as a scenario plan according to the scenario plan storage request of the client, and store the scenario plan in the database; or the client stores the interface of the shared data display area formed after the operation into a scene pre-arranged plan, and then the scene pre-arranged plan is sent to the server. In some embodiments, the server may, in response to a request from the client, form and save an interface layout thumbnail in the scene plan list according to the layout in the interface (described in detail below). When the user starts the computer next time, the user can select the generated scene plan and directly open the computer without carrying out operation again.
The user of the client 10 can then access and manipulate the content of the data to which he has rights. For example, the user may open, delete, modify, copy, move, delete, view, save, and/or close the contents of all files and folders displayed in the shared desktop according to the authority using a mouse or a keyboard or a touch action, etc., so as to perform a guidance operation on the data of the shared client.
Preferably, the process of the client 10 manipulating the desktop can be implemented by the following method:
step 501, a user at a client 10 operates a desktop to generate position information and a control instruction of a mouse;
step 502, the client 10 transmits the generated position information and the control command of the mouse to a client where the desktop is located, such as the selected client in fig. 2;
step 503, the client (selected client) where the desktop is located converts the mouse position in the received mouse position information into a local mouse position, and responds according to the converted mouse position and the control instruction.
The action of the user operating the desktop includes, but is not limited to, clicking or double-clicking a folder with a mouse, or clicking a button with a mouse, or turning up and down pages with a mouse wheel, or performing the above input operation through a keyboard, video, and audio.
In some embodiments, the selected client may convert the mouse position in the received mouse position information into the local mouse position by:
and the selected sharing client converts the mouse position in the received mouse position information into a local mouse position according to the mouse position in the received mouse position information and the scaling of the mouse working window.
For example, as shown in fig. 5, a shared data window 32 (e.g., desktop) of one of the shared clients is displayed in a display screen 31 of the client 10, wherein the client 10 wants to manipulate one folder in the shared data window 32 by mouse, for example, open by double-clicking; the CPU of the client 10 obtains the position information of the mouse, for example, (X1, Y1), and sends the position information and the manipulation instruction to the sharing client where the data window 32 is shared or originated, and after receiving the position information of the mouse, the sharing client converts the coordinates of the original mouse into the local coordinates (X1, Y1) according to the scaling ratio of the size of the shared data window 32 to the size of the window 33 of the sharing client, and responds according to the manipulation instruction, for example, responds to the double-click instruction of the mouse, and opens the folder in the drawing. As another example, the relative position of the mouse in the window of the client 10 (e.g., at the midpoint of the window diagonal, or 1/3, etc.) may be determined and correspondingly mapped to the window 33 of the shared client (e.g., to the midpoint of the window 33 diagonal or 1/3).
In another embodiment of the present invention, the client 10 may also actively push the content to be shared to other clients, which may be implemented by the following method:
as shown in fig. 6, the client 10 initiates a content sharing request to the server 2 by, for example, clicking a right mouse button at a position of content to be shared and then selecting a "share" button; the client 10 may actively select a client to share, such as clients 11, 12, 14;
the server 2 forwards the content sharing request to the other clients 11, 12, 14; after receiving the content sharing request, the clients 11, 12, 14 send response requests to the server 2, for example, to accept or not to accept the content;
if it is agreed to receive the content request, the server 2 responds to the request and instructs the client 10 to send the content to be shared to the clients 11, 12, 14, the clients 11, 12, 14 displaying the content at their designated locations;
if the request for content is not approved for receipt, the server 2 does not respond to the request.
In another embodiment of the present invention, when the user of the client 10 needs to emphasize a certain portion of the content rather than the entire desktop to the users of other clients, it can be achieved by, for example, a clipping instruction and sending a clipping sharing request, as shown in fig. 7. Specifically, in some embodiments, the client 10 may use a mouse to select an area to be clipped on its displayed desktop or some open file or folder (the displayed desktop or open folder may be the client 10 itself or received from other sharing clients), and then click the right button, thereby entering the clipping mode; the client 10 then automatically generates a menu including, for example, a "share" button, as shown in fig. 7. If the user of the client 10 clicks the button, a client list interface may appear, the user of the client 10 may select a list to select a client to be shared, and a corresponding clipping sharing request is sent to the server 2;
the server 2 receives the cutting sharing request and sends the cutting sharing request to the selected sharing client;
if the selected client returns the agreement receiving instruction, the server 2 instructs the client 12 to send the corresponding cut screenshot to the sharing client which agrees to receive, and the sharing client which agrees to receive can display the cut screenshot.
In another embodiment of the present invention, as shown in fig. 8, the client 10 may further select to add the identifier of the cropped content to the child node of the corresponding client identifier in the list, so that the content of the child node may be directly dragged to the shared data area when accessing next time. Specifically, in some embodiments, this may be achieved by: upon entering the clipping mode, the client 10 automatically generates a menu including, for example, an "add child" button, if the user of the client 10 clicks on the button, the client 10 requests an add child request from the server 2;
then, the server 2 receives the request and adds the child node in the list;
the server 2 sends the list information with the child node added to the list to all authorized clients (for example, if the tailored content is attached to the client 12 and the client 14 does not have authority to view the client 12, the server 2 does not send the list with the child node added to the client 14);
all the clients 10 that receive the list, for example, display the list information with the child nodes added.
Further, the client 10 may delete and modify names of the child nodes. Specifically, the client 10 is required to send a request for deleting or modifying the name to the server 2, for example, by clicking a right mouse button to select a "delete node" or a "modify name" button in a menu, the server 2 responds to the request, and then the list of the deleted or modified names is sent to all authorized clients, and each client can display the updated list.
Further, in some embodiments, the client 10 may also perform a join operation on at least two cut-outs (or at least two of the aforementioned shared data or entire desktops, such as the two desktops shown in FIG. 9). For example, the user of the client 10 may use a mouse to clip the content of the client 11 displayed on the client 10 and display the clipped screenshot in one area of the shared data display area, then continue to clip the content of the client 12 and display the clipped screenshot in another area of the shared data display area, and then save the layout formed by the first two clips as a new scenario plan and send the scenario plan to the server 2; or, the server stores the layout formed by the two cutting operations into a new scene plan, stores the scene plan in the database, and selectively sends the scene plan to the relevant client or the client 10 with authority according to actual needs. Preferably, the server may add the scenario plan to a scenario plan list of the data sharing interface according to a request of the client 10, as shown in fig. 10. Therefore, the user can conveniently and directly open the scene plan when starting up the computer next time, and the trouble that the user needs to cut the content again every time is avoided. In addition, the client can cut a part of the whole or partial screenshots of the desktop corresponding to the two shared data to form a new screenshot.
The client controls the new screenshot, sends mouse position information and a control instruction generated when the new screenshot is controlled to a signal source from which a mouse action part in the new screenshot originates, converts the mouse position in the received mouse position information into a local mouse position by the client from which the mouse action part in the new screenshot originates, responds according to the local mouse position and the control instruction, and sends a response result to the client 10. Here, for example, if the mouse is located at the left side of the new screenshot, and it can be known from the forming process of the aforementioned new screenshot that the left part of the new screenshot is provided by the screenshot of the first shared data and the right part is provided by the screenshot of the second shared data, when the mouse acts on the left part of the new screenshot, the corresponding mouse operation instruction will be sent to the client from which the first shared data originates, and be responded by the client.
The server may form a new child node for the new screenshot according to the request of the client, and the child node formation manner is as described above, which is not described herein again. In another embodiment of the present invention, the two clipped screenshots may also be bound, and a new child node may be generated to indicate the two screenshots bound together, and the child node may be added to the list.
In another embodiment of the present invention, as shown in fig. 11, the client 10 may perform corresponding manipulations on the cut screenshot, for example, if the cut screenshot includes one or more folders, files, menus and/or buttons, the cut screenshot may be manipulated, for example, opening, deleting, modifying copying, moving, deleting, viewing, saving and/or closing the file or folder, selecting a certain option in the menu, clicking a pause or play button in the button, and the like, so as to manipulate corresponding content associated with the client where the cut screenshot is located.
The above process may for example comprise the steps of: the client 10 sends the mouse position information and the control instruction generated when the screenshot is controlled to the client from which the screenshot originates, the client from which the screenshot originates converts the mouse position on the client 10 into the local mouse position of the shared client according to the mouse position in the screenshot of the mouse on the client 10, the scaling of the screenshot on the client 10 relative to the corresponding original screenshot on the shared client, and the coordinate of the original screenshot starting point relative to the starting point of the window where the original screenshot is located, responds according to the local mouse position and the control instruction, and sends the response result to the client 10.
For example, as shown in fig. 12, a screenshot or shared data window 32' of one of the sharing clients is displayed in the display screen 31 of the client 10 (as can be known from the foregoing description, this window is a window formed by the screenshot, or a screenshot window). Wherein the client 10 wants to mouse-manipulate one folder in the shared data window 32', e.g. double-click open; the CPU of the client 10 obtains the position information of the mouse, for example, (X2, Y2) and sends the position information to the sharing client which shares the data window 32 ' or the screenshot, and after receiving the position information of the mouse, the sharing client calculates the local mouse coordinates (X2, Y2) of the sharing client according to the scaling of the screenshot or the screenshot window 32 ' relative to the original screenshot 33 ' and the position information of the screenshot starting point (for example, the top left vertex (X0, Y0)) relative to the starting point (for example, the top left vertex (0,0)) of the window 33 where the screenshot is located.
According to the embodiment, data sharing and control among the clients are achieved, and interaction requirements among users participating in sharing are greatly facilitated.
In the above, the server receives various requests of the clients 10 and makes responses, and instructs the respective clients to perform corresponding operations, and the like. In some embodiments, the server may also reject various requests by the client 10, such as rejecting its request to display a client corresponding to a certain client identification in the pane. In some embodiments, the server, upon receiving a request from a client 10, such as a request for how large a window is open at a certain location for displaying another client content, may concomitantly store layout information regarding the size, location, etc. of the display windows of the respective clients in the shared data display area.
Windowing layout information on the client 10, the layout including information such as the windowing size, location, stacking order, etc. of each client in the main interface of the client 10.
As shown in fig. 13, the present invention further provides a client of a user data interaction system, which includes a processor 101 and a display module 102.
In some embodiments, the processor 101 is configured to receive a shared client identifier list sent by a server when accessing the server; and sending a request to the server through a shared client identifier list;
the display module 102 displays the data transmitted by the client on a data sharing interface after the server responds.
The processor 101 is further configured to select the client to share the data, and send a sharing request to the server.
The processor 101 is further configured to crop the shared data, and send a request for generating child nodes to the server.
The processor 101 is further configured to manipulate the data, and report a layout (or an image) formed after manipulation to a server in real time.
In addition, the descriptions of the client terminal in fig. 1-12 are also applicable here, that is, the processor can complete the corresponding functions of the client terminal, and for the sake of simplicity, the descriptions are omitted here.
The invention further provides a computer-readable medium comprising instructions which, when run on a computer, cause the computer to perform a data interaction method as described in any of the above embodiments.
The foregoing embodiments specifically describe the inventive concept of the present invention by taking a personal computer as an example of a client. It will be appreciated by those skilled in the art that the inventive concept of the present invention is not limited to data sharing between personal computers, and that any data of handheld or laptop computers, tablet computers, cellular phones, mobile devices, electronic devices, smart phones, smart televisions are within the scope of the present invention. Also in these embodiments, the clients 11-14 may act as clients 10, depending on the assigned rights.
The mouse in the foregoing embodiments may be replaced with any one of the input devices for providing data and control signals to the processor of the client. Examples of input devices may include a keyboard, mouse, scanner, digital camera, joystick, handle, microphone, and touch screen. The touch screen may comprise an infrared frame or infrared light curtain touch screen. Other types of touchscreens may also be included, and accordingly, the touches may be captured by corresponding sensors in other types of manners, such as those shown in vector pressure sensing, capacitive, resistive, infrared bezel, near field imaging, electromagnetic induction, and surface acoustic wave touchscreens. The touch information may include touch position coordinate values and/or touch trajectory information. The touch coordinates may change over time or have some distribution characteristic. The touch control can also comprise touch control of the screen formed by the action of the laser beam on the screen.
The aforementioned shared data includes, but is not limited to, one of or a combination of a desktop, a folder, a file, an icon, a window, a button, or a screenshot of the desktop, the folder, the file, the icon, the window, the button, or the combination thereof.
Computer program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C + + or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet service provider).
It is to be noted that the foregoing is only illustrative of the preferred embodiments of the present invention and the technical principles employed. It will be understood by those skilled in the art that the present invention is not limited to the particular embodiments described herein, but is capable of various obvious changes, rearrangements and substitutions as will now become apparent to those skilled in the art without departing from the scope of the invention. Therefore, although the present invention has been described in greater detail by the above embodiments, the present invention is not limited to the above embodiments, and may include other equivalent embodiments without departing from the spirit of the present invention, and the scope of the present invention is determined by the scope of the appended claims.
Claims (18)
1. A data interaction method, comprising:
accessing at least two clients to a server to form a network connection;
the server provides a shared client identification list for each client according to the accessed clients;
a first client of the at least two clients selects a client to share data through the sharing client identification list;
the selected client transmits shared data to the first client according to the indication of the server;
the first client displays the shared data on a data sharing interface;
the data sharing interface comprises a sharing client identification list and a sharing data display area;
the first client saves the interface displayed in the shared data display area into a scene plan and sends the scene plan to the server, or the server saves the interface displayed in the shared data display area into a scene plan according to the request of the client; and the server responds to the request of the first client, forms an interface layout thumbnail according to the layout in the interface and stores the interface layout thumbnail in the scene plan list.
2. The method of claim 1, wherein:
the identifiers in the shared client identifier list include the network IP addresses of the clients.
3. The method of claim 1, wherein:
the first client selects the client to share data by selecting the identification in the shared client identification list, and sends the selected operation instruction to the server, the server responds to the selected operation instruction, and the first client displays the shared data acquired from the selected client in the shared data display area according to the response of the server.
4. The method of claim 3, wherein:
and selecting the identifier in the shared client identifier list comprises clicking the selected identifier in the shared client identifier list and dragging the selected identifier to the shared data display area.
5. The method of claim 4, wherein:
the shared data display area comprises panes with preset sizes corresponding to the number of the clients in the shared client identification list, and the panes are used for the first client to place shared data into one of the panes.
6. The method of claim 1, comprising:
the first client selects a client to share data and sends a sharing request to a server;
the server sends the sharing request to the selected client;
and the server instructs the first client to send the shared data to the client agreeing to receive in the selected clients.
7. The method of claim 4, wherein: the method comprises the following steps:
the selected client responds to the selection of the first client to perform screen capture operation on shared data in the first client so as to obtain a screen capture of a desktop corresponding to the shared data:
the selected client encodes the screenshot and converts the screenshot into a transmittable encoding format;
the selected client transmits the coded screenshot to the first client;
and the first client decodes the encoded screenshot.
8. The method of claim 1, comprising:
the server manages and distributes the sharing authority of the first client;
and the first client accesses and/or controls shared data according to the sharing permission.
9. The method of claim 1, comprising:
the first client reports a layout formed when the shared data is controlled to a server in real time; the layout includes display window size, position, stacking order, and generation time of the shared data in the data sharing interface.
10. The method of claim 1, comprising:
and the first client scales the shared data display area in the same scale according to the scaling of the data sharing interface.
11. The method of claim 4, wherein:
the client determines the position of a cursor on a display screen after the dragging operation is executed;
determining the scaling of a desktop corresponding to the shared data according to the preset size of a target window to be formed by the dragging operation; and
and displaying the desktop corresponding to the shared data according to the position and the scaling of the cursor on the display screen.
12. The method of claim 5, wherein:
the client determines a pane where a cursor is located after the dragging operation is executed;
and determining the position to be placed and the scaling of the desktop corresponding to the shared data according to the vertex initial position coordinates and the pane size of the pane, and displaying the desktop corresponding to the shared data.
13. The method of claim 10, wherein:
the first client scaling the shared data display area in a same scale according to the scaling of the data sharing interface, including:
and the first client identifies the zooming action of the user, determines the zooming ratio according to the position coordinate of the final mouse, and zooms and displays the shared data display area in the same ratio.
14. The method of claim 1, comprising:
the first client generates mouse position information and a control instruction according to the operation of a user on the shared data;
the client transmits the generated mouse position information and the control instruction to the selected client;
and the selected client converts the mouse position in the received mouse position information into a local mouse position, and responds according to the converted mouse position and the control instruction.
15. The method of claim 14, wherein:
the selected client converts the mouse position in the received mouse position information into a local mouse position, and the method comprises the following steps:
and the selected client converts the mouse position in the received mouse position information into a local mouse position according to the mouse position in the received mouse position information and the scaling of the mouse working window, wherein the scaling of the mouse working window is the ratio of the mouse between the working window of the first client and the working window of the mouse in the selected client.
16. The method according to any of claims 4-15, wherein the clients in the shared client identification list comprise the first client.
17. The method of any of claims 4-15, wherein the selected client comprises the first client.
18. The method of claim 17, wherein the selected clients comprise one or more clients.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811197079.6A CN111049790B (en) | 2018-10-15 | 2018-10-15 | Data interaction method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811197079.6A CN111049790B (en) | 2018-10-15 | 2018-10-15 | Data interaction method |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111049790A CN111049790A (en) | 2020-04-21 |
CN111049790B true CN111049790B (en) | 2021-08-17 |
Family
ID=70230547
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811197079.6A Active CN111049790B (en) | 2018-10-15 | 2018-10-15 | Data interaction method |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111049790B (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111949423A (en) * | 2020-09-01 | 2020-11-17 | 宁波视睿迪光电有限公司 | Data sharing method and device, electronic equipment and storage medium |
CN112559111B (en) * | 2021-02-25 | 2021-05-18 | 全时云商务服务股份有限公司 | Screen capturing method and device for sharing desktop |
CN113238999A (en) * | 2021-05-20 | 2021-08-10 | 广州极飞科技股份有限公司 | Data sharing method and device, electronic equipment and computer readable storage medium |
CN117056110B (en) * | 2023-08-17 | 2024-02-23 | 北京优特捷信息技术有限公司 | System fault investigation method and device, electronic equipment and storage medium |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102611675A (en) * | 2011-01-20 | 2012-07-25 | 鸿富锦精密工业(深圳)有限公司 | Desktop sharing management control system and method |
CN104067202A (en) * | 2012-12-31 | 2014-09-24 | 华为技术有限公司 | Method, device and system for synchronizing mice |
CN104216630A (en) * | 2014-08-21 | 2014-12-17 | 小米科技有限责任公司 | Interface sharing method and interface sharing device |
CN107911437A (en) * | 2017-11-10 | 2018-04-13 | 广州视睿电子科技有限公司 | Screen sharing method and device, electronic equipment and storage medium |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4738805B2 (en) * | 2004-12-16 | 2011-08-03 | 株式会社リコー | Screen sharing system, screen sharing method, screen sharing program |
-
2018
- 2018-10-15 CN CN201811197079.6A patent/CN111049790B/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102611675A (en) * | 2011-01-20 | 2012-07-25 | 鸿富锦精密工业(深圳)有限公司 | Desktop sharing management control system and method |
CN104067202A (en) * | 2012-12-31 | 2014-09-24 | 华为技术有限公司 | Method, device and system for synchronizing mice |
CN104216630A (en) * | 2014-08-21 | 2014-12-17 | 小米科技有限责任公司 | Interface sharing method and interface sharing device |
CN107911437A (en) * | 2017-11-10 | 2018-04-13 | 广州视睿电子科技有限公司 | Screen sharing method and device, electronic equipment and storage medium |
Also Published As
Publication number | Publication date |
---|---|
CN111049790A (en) | 2020-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111049868B (en) | Data interaction system and data interaction method | |
CN111049790B (en) | Data interaction method | |
JP7263442B2 (en) | System and method for real-time remote control of mobile applications | |
CN107636584B (en) | Follow mode and position tagging of virtual workspace viewports in a collaborative system | |
US20220004294A1 (en) | Collaboration system including markers identifying multiple canvases in a shared virtual workspace | |
US10545658B2 (en) | Object processing and selection gestures for forming relationships among objects in a collaboration system | |
JP3546705B2 (en) | Method and apparatus for associating annotation data with application window, system, and storage medium storing program for controlling association of annotation data with application window | |
US20190036979A1 (en) | Confidentiality-Based File Hosting | |
CN110928506B (en) | Data interaction system and data interaction method | |
KR100611255B1 (en) | Remote conference method of sharing work space | |
Jadhav et al. | Vnc architecture based remote desktop access through android mobile phones | |
CN114510205B (en) | Display interaction method, display device, electronic device and storage medium | |
CN111083036B (en) | Scene linkage method and scene linkage system | |
US20080036695A1 (en) | Image display device, image display method and computer readable medium | |
US20200104024A1 (en) | Communication terminal, information sharing system, display control method, and non-transitory computer-readable medium | |
CN112511601B (en) | Multi-screen data interaction system and multi-screen data interaction method | |
US12002231B2 (en) | Communication system, method for communicating to share images, and non-transitory recording medium | |
CN117941323A (en) | Method, apparatus and medium for managing virtual workspaces | |
CN114884914A (en) | Application program same-screen communication method and system | |
US10904026B2 (en) | Information processing apparatus, information processing system, and information processing method | |
CN111901219B (en) | Scene linkage method and scene linkage system | |
CN111382292A (en) | Content management server, information sharing system, and communication method | |
CN112783598B (en) | Multi-user safety collaborative interaction system, method and equipment | |
KR20230099893A (en) | Non-face-to-face office rental and smart work support system based on metaverse | |
TW201616379A (en) | Information transmission method capable of selecting preview information |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB03 | Change of inventor or designer information |
Inventor after: Tan Dengfeng Inventor after: Other inventor requests not to publish the name Inventor before: Tan Dengfeng Inventor before: Other inventor requests not to publish the name |
|
CB03 | Change of inventor or designer information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |