WO2024061199A1 - 一种云剪贴板的实现方法、设备、系统及存储介质 - Google Patents
一种云剪贴板的实现方法、设备、系统及存储介质 Download PDFInfo
- Publication number
- WO2024061199A1 WO2024061199A1 PCT/CN2023/119643 CN2023119643W WO2024061199A1 WO 2024061199 A1 WO2024061199 A1 WO 2024061199A1 CN 2023119643 W CN2023119643 W CN 2023119643W WO 2024061199 A1 WO2024061199 A1 WO 2024061199A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- worker
- cloud
- event information
- event
- global transfer
- Prior art date
Links
- 238000003860 storage Methods 0.000 title claims abstract description 95
- 238000000034 method Methods 0.000 title claims abstract description 74
- 238000004891 communication Methods 0.000 claims abstract description 33
- 230000008569 process Effects 0.000 claims description 29
- 230000006399 behavior Effects 0.000 claims description 25
- 230000006870 function Effects 0.000 claims description 21
- 230000002093 peripheral effect Effects 0.000 claims description 12
- 230000004044 response Effects 0.000 claims description 12
- 230000001960 triggered effect Effects 0.000 claims description 8
- 238000012546 transfer Methods 0.000 claims description 7
- 230000001360 synchronised effect Effects 0.000 claims description 5
- 230000003993 interaction Effects 0.000 abstract description 12
- 238000005520 cutting process Methods 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 18
- 238000005516 engineering process Methods 0.000 description 13
- 238000004590 computer program Methods 0.000 description 12
- 238000012544 monitoring process Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 7
- 230000010076 replication Effects 0.000 description 7
- 239000003795 chemical substances by application Substances 0.000 description 5
- 230000005236 sound signal Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 101000827703 Homo sapiens Polyphosphoinositide phosphatase Proteins 0.000 description 2
- 102100023591 Polyphosphoinositide phosphatase Human genes 0.000 description 2
- 101100233916 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) KAR5 gene Proteins 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
Classifications
-
- 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/543—User-generated data transfer, e.g. clipboards, dynamic data exchange [DDE], object linking and embedding [OLE]
-
- 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
-
- 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
Definitions
- the present application relates to the field of cloud computing technology, and in particular to an implementation method, device, system and storage medium of a cloud clipboard.
- Various aspects of this application provide a cloud clipboard implementation method, device, system and storage medium to improve clipping efficiency in cloud office scenarios.
- Embodiments of the present application provide a cloud clipboard system, which includes a cloud clipboard management and control center and multiple working parties in the user workspace, and the multiple working parties are connected through a global transfer center;
- a first working party among the multiple working parties is configured to send first event information to the cloud clipboard control center through the global transfer center when monitoring a cut/copy event occurring in itself;
- the second working party among the multiple working parties is configured to send second event information to the cloud clipboard control center through the global transfer center when monitoring that a paste event occurs after the second working party receives the first event information;
- the cloud clipboard management and control center is used to push the received first event information to other working parties in the user workspace except the first working party through the global transfer center; after receiving In the case of second event information, use the global transfer center to copy the relevant data in the first working party to the second working party for the second working party to complete the pasting;
- the type of worker includes physical terminals and/or cloud instances.
- Embodiments of the present application also provide a cloud clipboard implementation method, which is suitable for cloud clipboard management and control equipment in a cloud clipboard system, wherein the cloud clipboard system also includes multiple work parties in the user workspace, The multiple working parties are communicated through a global transfer center; the method includes:
- the first event information is when the first worker monitors that a cut/copy event occurs on itself. issued under circumstances;
- the second event information is sent by the second working party when it monitors that a pasting event occurs in itself. of;
- the type of worker includes physical terminals and/or cloud instances.
- Embodiments of the present application also provide a cloud clipboard implementation method, which is suitable for multiple working parties in the user workspace in the cloud clipboard system.
- the multiple working parties are connected through a global transfer center.
- the cloud clipboard system also includes cloud clipboard management and control equipment; the method includes:
- the first event information is sent to the cloud clipboard management and control center through the global transfer center, so that the cloud clipboard management and control center will receive the first event.
- Information is pushed to other workers in the user workspace through the global transfer center;
- the second event information is sent to the cloud clipboard management and control center through the global transfer center, so that the cloud clipboard management and control center can record the clipping event that occurred in the user workspace. Copy the relevant data in the working party of the cut/copy event to this working party to complete the paste;
- the type of worker includes physical terminals and/or cloud instances.
- Embodiments of this application also provide a cloud clipboard management and control device, including a memory, a processor and a communication component;
- the memory is used to store one or more computer instructions
- the processor is coupled to the memory and the communications component for executing the one or more computer instructions for:
- the communication component is used to receive the first event information sent by the first worker in the user workspace in the cloud clipboard system through the global transfer center.
- the first event information is when the first worker monitors itself. Emitted when a cut/copy event occurs;
- the communication component to receive the second worker in the user workspace through the global transfer center
- the second event information sent, the second event information is sent by the second worker when the second worker monitors that the pasting event occurs in itself;
- multiple workers in the user workspace are communicated through a global transfer center, and the types of workers include physical terminals and/or cloud instances.
- Embodiments of the present application also provide a computing device, including a memory, a processor, and a communication component;
- the memory is used to store one or more computer instructions
- the processor is coupled to the memory and the communications component for executing the one or more computer instructions for:
- the first event information is sent to the cloud clipboard management and control center in the cloud clipboard system through the global transfer center, so that the cloud clipboard management and control center will receive the third event.
- An event information is pushed to other computing devices in the user workspace in the cloud clipboard system through the global transfer center;
- the second event information is sent to the cloud clipboard management and control center through the global transfer center, so that the cloud clipboard management and control center can record the clipping event that occurred in the user workspace. Copy the relevant data in the computing device of the cut/copy event to this computing device to complete the paste;
- multiple computing devices in the user workspace are communicated through a global transfer center, and the types of the computing devices include physical terminals and/or cloud instances.
- Embodiments of the present application also provide a computer-readable storage medium that stores computer instructions.
- the computer instructions are executed by one or more processors, the one or more processors are caused to execute the aforementioned cloud clipboard implementation method. .
- the global transfer center is used to connect multiple workers in the user's workspace, which can achieve global access in the cloud office environment. Users can conduct information, cross-device, cross-ecology, and cross-virtual and real situations in their workspace. Interaction of data, which enables barrier-free access between diverse working parties in the user workspace; it also provides a centrally deployed cloud clipboard management and control center, which is responsible for providing information to the working parties where cut/copy events occur.
- the first event information is broadcast to other workers in the user workspace through the global transfer center, which is responsible for coordinating the copying of relevant data through the global transfer center when triggered by the worker where the paste event occurs.
- Figure 1 is a schematic structural diagram of a cloud clipboard system provided by an exemplary embodiment of the present application
- Figure 2 is an exemplary implementation principle diagram of a global transfer center provided by an exemplary embodiment of the present application
- Figure 3 is a schematic diagram of working logic in an exemplary application scenario provided by an exemplary embodiment of the present application.
- Figure 4 is a schematic flowchart of a cloud clipboard implementation method provided by another exemplary embodiment of the present application.
- Figure 5 is a schematic flowchart of another cloud clipboard implementation method provided by another exemplary embodiment of the present application.
- Figure 6 is a schematic structural diagram of a cloud clipboard management and control device provided by another exemplary embodiment of the present application.
- FIG. 7 is a schematic structural diagram of a computing device provided by another exemplary embodiment of the present application.
- a global transfer center is used to connect multiple workers in the user's workspace, which can achieve global access in a cloud office environment, and users can work across terminals and regions in their workspace. , information and data interaction across virtual reality, cross ecology, and cross cloud instances, which enables barrier-free access between diverse working parties in the user workspace; it also provides a centrally deployed cloud clipboard management and control center, responsible for The first event information provided by the worker where the cut/copy event occurred is broadcast to other workers in the user workspace through the global transfer center. It is responsible for triggering the worker who has the paste event through the global transfer center. Coordinates the replication of related data.
- Figure 1 is a schematic structural diagram of a cloud clipboard system provided by an exemplary embodiment of the present application.
- the system includes: a cloud clipboard control center and multiple work parties in the user workspace. Among them, multiple work parties are connected through the global transfer center, and the cloud clipboard control center is also connected through the global transfer center. The center is accessible to multiple work areas.
- the cloud clipboard system provided in this embodiment can be used in cloud office scenarios to provide global and efficient clipping services for cloud office scenarios.
- the global transit center in this embodiment can be implemented in the form of a data bus service, and may include a distributed message processing service and a high-speed data transmission service, wherein the distributed message processing service can support global interaction of messages and/or data, and the high-speed data transmission service can support global interaction of data.
- Distributed message processing services may include, but are not limited to, message queue MQ (Message Queue) services, etc.
- High-speed data transmission services may include, but are not limited to, object storage OSS (Object Storage Service) services, network attached storage NAS (Network Attached Storage) services, etc.
- object storage OSS Object Storage Service
- NAS Network Attached Storage
- Figure 2 is an exemplary implementation principle diagram of a global transfer center provided by an exemplary embodiment of the present application.
- exclusive message topics can be deployed in each region in the cloud, and workers can associate and use the message queue under the message topic in the region to which they belong; while the global transfer center You can subscribe to message topics corresponding to each region.
- the global transfer center can promptly obtain the messages written by workers under its associated message topics, and perform message routing on demand, thereby supporting global message interaction.
- dedicated storage service areas can be deployed in various regions in the cloud, such as object storage OSS areas.
- the global transfer center can use the cross-regional backup capability of the storage service to support global data interaction.
- the geographical regions mentioned in this embodiment can be understood as physical data centers in the cloud, and each geographical region is completely independent.
- multiple workers in the user workspace may be distributed in different geographical regions.
- the user workspace in this embodiment refers to the workspace (workspace) of a single user in the enterprise. It should be understood that the user workspace in this embodiment is a virtual space rather than a physical space.
- a user workspace By creating a user workspace, centralized management of work methods used by users can be achieved.
- various working parties that the user may use in the office process can be added to the user workspace.
- multiple workers can be added to the same user workspace by logging in with the same user account. Of course, this is only exemplary, and other implementation methods can be used to organize them in this implementation.
- User workspace By setting up a user workspace, users in the enterprise can experience a multi-terminal and efficient cloud office experience.
- the rich cloud products on the cloud and the rich offline physical terminals of the enterprise can be integrated into the user workspace. Users can Accessible use of various work methods in the workspace.
- ecology can be understood as the operating system.
- the ecology of the working party may include windows ecology, android ecology, apple ecology, etc.
- the type can be understood as the hardware type.
- the type of worker may include card machine, all-in-one machine, zero terminal, soft terminal, thin terminal, etc.
- Virtual and real can be understood as whether it is generated based on virtualization technology.
- the worker may be a real physical terminal or a virtualized cloud instance.
- the cloud instances mentioned in this embodiment are cloud products that need to be accessed based on streaming technology, including but not limited to virtualized cloud desktops, virtualized cloud applications, etc., which are different from those that can be accessed through
- the application process in the cloud server can be logged in remotely through ssh software client, https software client or web applet.
- virtualized cloud desktop is a technology that virtualizes the system desktop so that users can remotely access the system desktop through the network on any device.
- Virtualized cloud applications are application virtualization based on desktop virtualization technology, which uses cloud instance resources to run large-scale traditional software and allows users to remotely access large-scale traditional software running on cloud instances on any device.
- the cloud instance is in the cloud. Specifically, it can be carried on a computing carrier such as a virtual machine or a container in the cloud. This embodiment does not limit the deployment form of the cloud instance in the cloud.
- user A in the enterprise can launch multiple physical terminals and cloud instances as workers in his user workspace. These physical terminals and cloud instances can be in various ecologies, and they can be located in different regions. User A can implement global cut and paste among all online work parties in his user workspace as needed. Users can cut and paste data on the physical terminal they start, they can cut and paste data on the virtualized cloud desktop they start, and they can also cut and paste data on the virtualized cloud desktop they start. Cut and paste data in virtualized cloud applications.
- cloud instances usually require an interface display end as the entrance for human-computer interaction.
- the interface display end can be the user's local physical terminal.
- the interface display end can run the soft terminal corresponding to the cloud instance, and the cloud instance can Based on streaming technology, the content that needs to be displayed is provided to the interface display end for display.
- the physical terminal started in the user workspace can be used as the interface display end of some cloud instances started by the user.
- a physical terminal started in the user workspace can be used as one or more cloud instances at the same time.
- the interface display end of the instance; of course, the cloud instance started in the user workspace can also use other physical terminals as the interface display end, and these other physical terminals do not have to be the working parties in the user workspace.
- cut and paste work usually involves two communication ends, that is, the end where cutting/copying occurs and the end where pasting occurs.
- a type of worker in which a cut/copy event occurs in the user workspace is called the first worker; a type of worker in which a paste event occurs in the user workspace is called the second worker.
- Work party It should be understood that for a certain working party in the user workspace, it may sometimes serve as the first working party, and sometimes it may serve as the second working party.
- the first working party may send the first event information to the cloud clipboard control center through the global transfer center when monitoring the cut/copy event occurring in itself.
- a cloud clipboard proxy service can be deployed in the worker, and the worker can use its own cloud clipboard proxy service to monitor cut/copy events and paste events that occur on the worker itself.
- the process of the worker monitoring the cut/copy events and paste events that occur on itself can be: receiving the control data synchronized by the interface display end connected to the worker, and the control data is displayed by the user on the interface It is generated by controlling the peripherals of the terminal, and the interface display end is a physical terminal; using the cloud clipboard proxy service to sense that the control data contains cut/copy behavior data, it is determined that a cut/copy event occurs in the worker; using the cloud clipboard When the agent service senses that the manipulation data contains paste behavior data, it determines that a paste event occurs in the worker.
- the peripherals on the interface display side can be mouse, keyboard, etc.
- the user can perform a paste behavior through the mouse on the interface display (for example, right-click to bring up the menu and click "Paste").
- the interface display and the cloud instance in the cloud have pre-agreed communication protocols such as the USB redirection protocol, so that , the interface display end can synchronize the control data containing the pasting behavior data to the cloud instance in the cloud when it detects that the user performs a paste behavior in the display interface of the cloud instance counterpart through its peripheral device.
- the click data of the mouse connected to the display operator is mapped to the virtual mouse in the cloud instance.
- the local system clipboard in the guest system of the cloud instance can receive the manipulation data provided by the interface display and thereby perceive the paste behavior.
- the cloud clipboard proxy service deployed in the cloud instance can monitor the paste behavior in the local system clipboard of the cloud instance and generate a paste event. Similarly, it can also monitor the cut/copy behavior and generate a cut event. Cut/copy events.
- the process of the worker monitoring the cut/copy events and paste events that occur on itself can be: sensing the cut/copy behavior of the user through its peripherals through its local system clipboard Manipulate data corresponding to the paste behavior, and generate cut/copy events and paste events.
- the cloud clipboard proxy service can be implemented as a listening process in the operating system, In this way, the listening process can be run in the worker's operating system (such as the terminal system of the physical terminal, the guest system of the cloud instance, etc.) for event monitoring of the local system clipboard. Based on this, for the first worker, the cloud clipboard proxy service running on it can be used to monitor the cut/copy events that occur on itself. Of course, the first worker can also use the cloud clipboard proxy service running on it to generate first event information corresponding to the cut/copy event. The first event information can be used to describe the attributes of the cut/copy event.
- the first event information can include but is not limited to the information of the worker where the event occurred, the time when the event occurred, the event type, the identification, specifications and storage location of the event-related data, etc. .
- the first worker can also use the cloud clipboard proxy service running on it to send the first event information to the cloud clipboard management and control center through the global transfer center.
- the first worker can send the first event information to the message queue under the first message topic associated with the first worker to transmit the first event information To the global relay center, this is because the global relay center has subscribed to the first message topic.
- the global transfer center can also forward the first event information to the cloud clipboard control center.
- the cloud clipboard control center can subscribe to message topics in its region, and the global transfer center can route the first event information to the cloud clipboard control center. In the message queue under the message topic subscribed by the center, the cloud clipboard management and control center can receive the first event information in time.
- the cloud clipboard management and control center can push the received first event information to other work parties in the user workspace except the first work party through the global transfer center.
- multiple working parties in the user's workspace are understood to be online working parties under the user's name.
- Each worker under the user name can be registered in the Cloud Clipboard Management and Control Center in advance and report its running status in a timely manner. In this way, the Cloud Clipboard Management and Control Center can accurately perceive which workers are in the user's workspace.
- the cloud clipboard management and control center can determine in real time which other workers exist in the user's workspace besides the first worker, generate routing information for these other workers and provide it to the global transfer center.
- the routing information provided to the global transfer center may include information such as the region to which the worker belongs or the message topic associated with the worker. Based on this, the global transfer center can route the first event information to the message queues under the message topics associated with other workers. In this way, other workers can automatically receive the first event information by subscribing to their associated message topics. event information.
- the first event information provided by the first worker can be broadcast to other workers in the user workspace based on the bus capability of the global transfer center and the coordination capability of the cloud clipboard management and control center. In this way, other workers in the user workspace can receive the first event information.
- the second worker can monitor whether a pasting event occurs after receiving the first event information. Taking over the cloud clipboard proxy service deployed in the worker in the previous article, here, the second worker can use the cloud clipboard proxy service running on it to monitor the paste event.
- the second worker can start the callback function for the paste event; when it monitors that the paste event occurs on itself, the second worker can trigger the callback function to generate the third 2.
- Event information may be registered by the aforementioned cloud clipboard proxy service.
- the second event information may be used to describe the attributes of the pasting event.
- the second event information may include, but is not limited to, information about the worker where the event occurred, the time when the event occurred, the type of the event or identification of the relevant data of the event, and other information.
- the second worker can also obtain all the contents of its local system clipboard after receiving the first event information. It has the authority and is ready to handle the paste event that occurs on the second worker.
- the second worker can send the second event information to the cloud clipboard management and control center through the global transfer center after monitoring that the paste event occurs after it receives the first event information.
- the second worker can send the second event information to the message queue under the second message topic associated with the second worker to transmit the second event information. to the global relay center. This is because the global relay center has subscribed to the second message topic.
- the global transfer center can also forward the second event information to the cloud clipboard control center.
- the cloud clipboard control center can subscribe to message topics in its region, and the global transfer center can route the second event information to the cloud clipboard control center. In the message queue under the message topic subscribed by the center, the cloud clipboard management and control center can receive the second event information in time.
- the global transfer center can be used to copy the relevant data in the first working party to the second working party for the second working party to complete. Paste.
- the cloud clipboard management and control center can be used to determine the copy source corresponding to each second event information.
- the copy source corresponding to the current second event information is the aforementioned first working party.
- the cloud clipboard management and control center receives the second event information, it sends a data upload instruction to the first worker through the global transfer center to trigger the first worker to write the relevant data to its associated third party. A storage location.
- the first storage location may be the message queue under the first message topic associated with the first worker, or it may be in the region to which the first worker belongs.
- the first worker when receiving the data upload instruction, it can be judged whether the specifications of the relevant data of the first event information are smaller than the preset standard. If so, it can respond to the data upload instruction, Write the relevant data into the message queue under the first message topic associated with the first worker; and if the specifications of the relevant data of the first event information are not less than the preset standard, the first worker can respond to the data upload instruction , writing relevant data into the first storage service area associated with the first worker.
- the first object storage OSS area etc.
- the preset standard can make the maximum data size that the message queue can carry. In this way, when the size of the relevant data is relatively small, the message queue can be used for data interaction, and when the size of the relevant data is relatively large, the storage service area can be used for data interaction.
- the cloud clipboard management and control center can store the upload record information corresponding to the relevant data of the first event information.
- the upload record information can include but is not limited to the upload time of the data, the identification of the party uploading the data, the storage location of the data, etc.
- the cloud clipboard management and control center can first determine whether the relevant data has completed the upload process after receiving the second event information. If it has been completed, the cloud clipboard management and control center does not need to issue a data upload instruction to Avoid repeated uploading of data.
- the global staging center may copy the relevant data in the first storage location to a second storage location associated with the second worker.
- the second storage location may be a message queue under the second message topic associated with the second worker, or it may be the second work The second storage service area set in the region where the author belongs.
- the global transfer center can route the relevant data to the message queue under the second message topic associated with the second worker. If the type of the first storage location is a storage service area, the global transfer center can route the relevant data to the second storage service area set in the region to which the second worker belongs, for example, the second object storage OSS area.
- the global transfer center can use the cross-regional replication capability of the storage service to drive the first storage service area to transfer the relevant data by issuing data upload instructions to the first storage service area.
- Data is copied to the second storage service area at high speed, and can be copied while uploading.
- the cloud clipboard management and control center can also send data download instructions to the second worker through the global transfer center to trigger the second worker to download relevant data from its associated second storage location.
- the global transfer center can provide copy record information to the cloud clipboard control center.
- the copy record information can be used to describe the copy results of the data.
- the copy record information can include but is not limited to the location of the data after copying, the copy completion time of the data, The identification of the party uploading the data, etc. Copy record information can be carried in the data download command.
- the second worker can respond to the data download instruction and access the second storage location, thereby downloading the relevant data that needs to be pasted.
- the second worker has taken over the right to use the local system clipboard. Therefore, the second worker can write the downloaded relevant data into the cache corresponding to the local system clipboard to complete the paste. Taking over the callback function registered in the second worker mentioned above, after completing the pasting in the second worker, the callback function for the first event information can be ended.
- the global transfer center can be used to connect multiple workers in the user's workspace. This can achieve global access in the cloud office environment, and users can work across terminals, regions, and networks in their workspace.
- Ecosystem, cross-virtual and real-life, and cross-cloud instances interact with information and data, which enables barrier-free access among diverse working parties in the user workspace; it also provides a centrally deployed cloud clipboard management and control center, which is responsible for what will happen
- the first event information provided by the worker who received the cut/copy event is broadcast to other workers in the user workspace through the global transfer center. It is responsible for coordinating the relevant events through the global transfer center when triggered by the worker who received the paste event. Replication of data.
- FIG3 is a schematic diagram of working logic in an exemplary application scenario provided by an exemplary embodiment of the present application.
- the first work party is a physical terminal
- the second work party is a cloud instance
- the first work party serves as the interface display terminal of the second work party
- the first work party can, when monitoring the user to perform a cut/copy behavior outside the display interface of the second work party through its peripherals, send a first event message to the cloud clipboard control center through the global transfer center to push the first event message to the second work party; when monitoring the user to perform a paste behavior within the display interface of the second work party through its peripherals, synchronize the control data containing the paste behavior data to the second work party, so that the second work party can monitor the paste event that occurs to itself and trigger the paste of the local data of the first work party to the second work party by sending the second event message to the cloud clipboard control center.
- the physical terminal client1 can be used as the first worker, and the cloud instance GuestOS1 can be used as the second worker.
- the user workspace in Figure 3 may also include other working parties, for example, the physical terminal client2, etc.
- the working logic is roughly as follows:
- the cloud clipboard agent service (Agent) on Client1 captures the trigger of the copy event and reports the event to the cloud through the global transfer center.
- Clipboard Control Center (UCCS) Clipboard Control Center
- UCCS stores the meta data of the replication event, collects information about the user’s online workers, and pushes the replication event to other online workers of the user.
- the currently online Client2 and GuestOS1 receive the copy event, obtain ownership of the local system clipboard, and register a callback function that intercepts the paste event.
- Client1 can map the control data to the local system clipboard in the cloud instance GuestOS1, and the cloud clipboard proxy service on the cloud instance GuestOS1 can Trigger the paste callback function callback function, so that the paste event can be generated and reported to UCCS.
- UCCS finds that Client1 has not uploaded data and needs to remotely copy the relevant data on Client1, so it will push the data upload instruction to Client1 through the global transfer center.
- Client1 receives the data upload command and uploads the data to the data bus.
- the data bus starts uploading and copying across regions, and sends the data upload record to UCCS.
- UCCS stores a data upload record in the database to prevent multiple clients from repeatedly uploading data, then issues a data download command to the cloud instance GuestOS1, and pushes the metadata of the downloaded data to the cloud instance GuestOS1.
- the cloud instance GuestOS1 receives the data download instruction, connects to the data bus service in the local area, downloads the data at high speed, writes the downloaded data to the local system clipboard cache, ends the paste callback, and the paste action is completed.
- the physical terminal client1, the physical terminal client2, and the cloud instance GuestOS1 are in region A, region B, and region C respectively.
- Regions A, B, and C have each deployed a set of MQ services and high-speed storage service OSS.
- the services in each region are suffixed by region, such as MQ_A, OSS_A.
- the terminals in each region select the nearest service in the region to access.
- the global transfer center can rely on the cross-regional real-time replication capabilities of distributed MQ services and OSS services.
- the global relay capability can be reflected as follows: when a replication event occurs in Client1 in region A, the first event information can be sent to the MQ_A service topic_A message queue in region A.
- the global transit center subscribes to the MQ_A service in region A.
- the first event information can be obtained.
- UCCS can inform the global transfer center of the route information of other online workers in the user workspace, so the global transfer center can route the first event information to the topic_B message queue of the B region MQ_B service where the paste may need to occur.
- client2 subscribes to topic_B of MQ_B in region B, it can receive the first event message routed by the global transfer center.
- the global transfer center also routes the first event information to the topic_C message queue of the MQ_C service in region C that may need to be pasted.
- GuestOS1 in area C can also receive the first event information.
- the cloud clipboard agent service (Agent) in client1 determines the data The size exceeds the maximum limit of MQ message transmission, so the data is uploaded to the OSS_A service in region A.
- the global transfer center determines that the pasting event occurred on GuestOS1 in region C, so it uses the OSS service to upload and back up across regions.
- the entire cloud clipboard system can help enterprise users achieve a global and efficient clipping experience.
- a cut/copy event may occur in the cloud instance GuestOS1, and a paste event may occur in the physical terminal Client1.
- the cloud instance GueatOS1 can act as the first working party and execute the processing logic of the first working party in the foregoing text, such as generating first event information, uploading data, etc.; and the physical terminal Client1 can act as the second working party and execute the processing logic of the second working party in the foregoing text, such as generating second event information, downloading data, etc., thereby realizing the copying of data on the cloud instance in the user workspace to the physical terminal in the user workspace.
- the first working party and the second working party can also be cloud instances at the same time, and can also be physical terminals at the same time.
- This embodiment is not limited to what is shown in Figure 3 Provided application scenarios.
- the first worker is a physical terminal and the second worker is a cloud instance
- the second worker's business does not have to use the first worker as the interface display end, but can select an appropriate interface display end as needed.
- the first working party and the second working party may be distributed in different regions, may adopt different ecologies, may be physical terminals and cloud instances respectively, and may be different cloud instances. Therefore, in this embodiment, Global cutting and pasting across ecosystems, regions, virtual and real entities, and cloud instances is implemented in the user workspace.
- FIG4 is a flow chart of a method for implementing a cloud clipboard provided by another exemplary embodiment of the present application, the method being applicable to a cloud clipboard control device in a cloud clipboard system, wherein the cloud clipboard system further includes multiple work parties in a user workspace, and the multiple work parties are connected through a global transfer center; referring to FIG4 , the method includes:
- Step 400 Receive the first event information sent by the first worker among the multiple workers through the global transfer center.
- the first event information is sent by the first worker when it monitors that a cut/copy event occurs on itself;
- Step 401 Push the received first event information to other work parties in the user workspace except the first work party through the global transfer center;
- Step 402 Receive the second event information sent by the second worker among the multiple workers through the global transfer center.
- the second event information is sent by the second worker when it monitors that a pasting event occurs in itself;
- Step 403 After receiving the second event information, use the global transfer center to copy the relevant data in the first working party to the second working party for the second working party to complete the pasting;
- the types of workers include physical terminals and/or cloud instances.
- a cloud clipboard proxy service is deployed in the worker, and the worker uses its own cloud clipboard proxy service to monitor cut/copy events and paste events that occur on the worker itself.
- step 401 may include:
- the global transfer center is used to route the first event information to the message queues under the message topics associated with other workers according to the routing information, so that other workers can receive the first event information by subscribing to the message topic.
- message topics are deployed in different geographical regions respectively, and workers are associated with message topics deployed in their regions. Multiple workers may be distributed in different geographical regions.
- the second worker after receiving the first event information, starts the callback function for the paste event; in response to the paste operation occurring in the second worker, the callback function is triggered to generate the second event information.
- step 403 may include:
- the first storage location is the object storage OSS area set in the region where the first worker is located or the message queue under the first message topic associated with the first worker;
- the second storage location is the second The object storage OSS area set in the region where the worker is located or the message queue under the second message topic associated with the second worker.
- the first working party writes the relevant data to the first working party in response to the data upload instruction when the specification of the relevant data in which the cut/copy event occurs is smaller than the preset standard.
- in the message queue under the associated first message topic to pass the relevant data to the message queue under the second message topic associated with the second worker through the cloud clipboard control center and the global transfer center; when a cut occurs on itself /When the specifications of the relevant data of the copy event are not less than the preset standard, in response to the data upload instruction, write the relevant data to the first OSS area associated with the first worker, so as to trigger the first OSS area through the global transfer center
- the relevant data is copied to the second OSS area associated with the second worker.
- the global transfer center sends the upload record information of the relevant data to the cloud clipboard management and control center; the method further includes: upon receiving the second event information, determining Whether the relevant data corresponding to the second event information has upload record information, and if so, no data upload instructions will be sent to the first worker.
- the second worker writes the obtained relevant data into the local system clipboard cache to complete the pasting.
- FIG. 5 is a schematic flowchart of another cloud clipboard implementation method provided by another exemplary embodiment of the present application. This method is suitable for multiple working parties in the user workspace in the cloud clipboard system. Multiple working parties are connected through the global transfer center.
- the cloud clipboard system also includes cloud clipboard management and control equipment; refer to Figure 5, This method may include:
- Step 500 When a cut/copy event is detected, the first event information is sent to the cloud clipboard management and control center through the global transfer center, so that the cloud clipboard management and control center can pass the received first event information through the global transfer center.
- the transfer center pushes to other workers in the user's workspace;
- Step 501 Use the cloud clipboard management and control center and the global transfer center to provide relevant data corresponding to the first event information to the worker in the user workspace where the paste event occurred, so that they can complete the paste;
- Step 502 When a paste event is detected in the user's workspace, the second event information is sent to the cloud clipboard management and control center through the global transfer center, so that the cloud clipboard management and control center can record the cut/copy event in the user's workspace. Copy the relevant data in the work party to this work party to complete the paste;
- the types of workers include physical terminals and/or cloud instances.
- a cloud clipboard proxy service is deployed in the worker, and the worker uses its own cloud clipboard proxy service to monitor cut/copy events and paste events that occur on the worker itself.
- the step of sending the first event information to the cloud clipboard control center through the global transfer center may include:
- the cloud clipboard management and control center provides the routing information of other workers in the user workspace to the global transfer center; the global transfer center is used to route the first event information to the message queues under the message topics associated with other workers. , so that other workers can receive the first event information by subscribing to the message topic.
- message topics are deployed in different geographical regions respectively, and workers are associated with message topics deployed in their regions. Multiple workers may be distributed in different geographical regions.
- the cloud clipboard management and control center upon receiving the second event information, sends a data upload instruction to the current worker through the global transfer center to trigger the current worker to write relevant data into its association.
- the first storage location copy the relevant data in the first storage location through the global transfer center to the second storage location associated with the worker who issued the second event information; send a data download instruction to the worker through the global transfer center, To trigger the worker to download relevant data from its associated second storage location.
- the first storage location is the object storage OSS area set in the region where the current worker is located or the message queue under the first message topic associated with the first worker; the second storage location is where the second storage location is initiated.
- the method further includes:
- the relevant data is written into the message queue under the first message topic associated with the first worker, so as to pass the cloud
- the clipboard management and control center and the global transfer center pass relevant data to the message queue under the second message topic associated with the second worker;
- the data upload Instruction in response to the data upload Instruction to write relevant data to the first OSS area associated with the first worker, so as to trigger the first OSS area to copy the relevant data to the second OSS area associated with the second worker through the global transfer center.
- the global transfer center sends the upload record information of the relevant data to the cloud clipboard management and control center; upon receiving the second event information, the cloud clipboard management and control center Next, it is determined whether the relevant data corresponding to the second event information contains upload record information, and if so, no more data upload instructions are sent to the first worker.
- the method further includes:
- the callback function In response to the paste operation occurring in the current working party, the callback function is triggered to generate event information corresponding to the paste event.
- the method further includes:
- Figure 6 is a schematic structural diagram of a cloud clipboard management and control device provided by another exemplary embodiment of the present application.
- the computing device includes: a memory 60 , a processor 61 and a communication component 62 .
- Processor 61 coupled to memory 60 and communication component 62, for executing the computer program in memory 60 for:
- the communication component 62 is used to receive the first event information sent by the first worker in the user workspace in the cloud clipboard system through the global transfer center.
- the first event information is when the first worker monitors that a cut/copy event occurs on itself. issued under circumstances;
- the communication component 62 uses the communication component 62 to receive the second event information sent by the second worker in the user workspace through the global transfer center.
- the second event information is sent by the second worker when it monitors that a paste event occurs on itself;
- the types of workers include physical terminals and/or cloud instances.
- a cloud clipboard proxy service is deployed in the worker, and the worker uses its own cloud clipboard proxy service to monitor cut/copy events and paste events that occur on the worker itself.
- the first worker sends the first event information to the message queue under the first message topic associated with the first worker, so as to transmit the first event information to the global relay center, and the global relay The center has subscribed to the first message topic; in the process of using the global transfer center to copy the relevant data in the first worker to the second worker for the second worker to complete the pasting, the processor 61 can be used to:
- the global transfer center is used to route the first event information to the message queues under the message topics associated with other workers according to the routing information, so that other workers can receive the first event information by subscribing to the message topic.
- message topics are deployed in different geographical regions respectively, and workers are associated with message topics deployed in their regions. Multiple workers may be distributed in different geographical regions.
- the second worker after receiving the first event information, starts the callback function for the paste event; in response to the paste operation occurring in the second worker, the callback function is triggered to generate the second event information.
- the processor 61 may be used to:
- the first storage location is the object storage OSS area set in the region where the first worker is located or the message queue under the first message topic associated with the first worker;
- the second storage location is the second The object storage OSS area set in the region where the worker is located or the message queue under the second message topic associated with the second worker.
- the first working party when the specification of the relevant data of the cut/copy event occurring in the first working party itself is less than a preset standard, the first working party responds to a data upload instruction and writes the relevant data into a message queue under a first message topic associated with the first working party, so as to transfer the relevant data to a message queue under a second message topic associated with the second working party through the cloud clipboard management and control center and the global transit center; when the specification of the relevant data of the cut/copy event occurring in the first working party itself is not less than a preset standard, the first working party responds to the data upload instruction and writes the relevant data into a first OSS area associated with the first working party, so as to trigger the first OSS area to copy the relevant data to the second OSS area associated with the second working party through the global transit center.
- the global transfer center sends the upload record information of the relevant data to the cloud clipboard management and control center; the processor 61 may also be used to:
- the second worker writes the obtained relevant data into the local system clipboard cache to complete the pasting.
- the cloud clipboard management and control device also includes: a power supply component 63 and other components. Only some components are schematically shown in Figure 6, which does not mean that the cloud clipboard management and control device only includes the components shown in Figure 6.
- Fig. 7 is a schematic diagram of a computing device provided by another exemplary embodiment of the present application. As shown in Fig. 7 , the computing device includes: a memory 70 , a processor 71 and a communication component 72 .
- Processor 71 coupled to memory 70 and communication component 72, for executing the computer program in memory 70 for:
- the first event information is sent to the cloud clipboard management and control center in the cloud clipboard system through the global transfer center, so that the cloud clipboard management and control center will receive the first event.
- Information is pushed to other computing devices in the user's workspace in the cloud clipboard system through the global transfer center;
- the second event information is sent to the cloud clipboard management and control center through the global transfer center, so that the cloud clipboard management and control center can record the cut/copy event in the computing device in the user's workspace. Copy the relevant data to this computing device to complete the paste;
- multiple computing devices in the user's workspace are communicated through a global transfer center, and the types of computing devices include physical terminals and/or cloud instances.
- a cloud clipboard proxy service is deployed in the computing device, and the computing device uses its own cloud clipboard proxy service to monitor cut/copy events and paste events that occur on itself.
- the process of the computing device monitoring cut/copy events and paste events occurring on itself includes:
- the control data is generated by the user's control of the peripherals of the interface display terminal, and the interface display terminal is a physical terminal;
- the cloud clipboard proxy service is used to detect that the manipulation data contains paste behavior data, and then it is determined that a paste event occurs in the computing device.
- the first computing device is a physical terminal
- the second computing device is a cloud instance
- the first computing device serves as the interface display end of the second computing device; then the first computing device is used to:
- the first event information is sent to the cloud clipboard management and control center through the global transfer center to transfer the first event information to the cloud clipboard management and control center. push to a second computing device;
- the control data including the pasting behavior data is synchronized to the second computing device so that the second computing device can monitor the occurrence of the pasting behavior.
- the paste event is triggered and the local data of the first computing device is pasted into the second computing device by sending the second event information to the cloud clipboard management and control center.
- the processor 71 may be used to:
- the cloud clipboard control center provides the routing information of other computing devices in the user workspace to the global transit center; the global transit center is used to route the first event information to the message queues under the message topics associated with each of the other computing devices, so that other computing devices can receive the first event information by subscribing to the message topic.
- message topics are deployed in different geographical regions respectively, and computing devices are associated with message topics deployed in the region where they are located. Multiple computing devices may be distributed in different geographical regions.
- the cloud clipboard management and control center upon receiving the second event information, sends a data upload instruction to the current computing device through the global transfer center to trigger the current computing device to write relevant data to its associated the first storage location; copy the relevant data in the first storage location through the global transfer center to the second storage location associated with the computing device that issued the second event information; send a data download instruction to the computing device through the global transfer center, To trigger the computing device to download relevant data from its associated second storage location.
- the first storage location is an object storage OSS area set in the region where the current computing device is located or a message queue under the first message topic associated with the first computing device; the second storage location is where the second storage location is initiated.
- processor 71 can also be used to:
- the relevant data is written into the message queue under the first message topic associated with the first computing device to pass the cloud
- the clipboard management and control center and the global transfer center transfer the relevant data to the message queue under the second message topic associated with the second computing device
- the relevant data in response to the data upload instruction, is written into the first OSS area associated with the first computing device to trigger the second data transfer through the global transfer center.
- the first OSS area copies relevant data to the second OSS area associated with the second computing device.
- the global transfer center sends the upload record information of the relevant data to the cloud clipboard management and control center; upon receiving the second event information, the cloud clipboard management and control center Next, determine whether the relevant data corresponding to the second event information contains upload record information, and if so, no longer send a data upload instruction to the first computing device.
- processor 71 can also be used to:
- the callback function In response to a paste operation occurring in the current computing device, the callback function is triggered to generate event information corresponding to the paste event.
- processor 71 can also be used to:
- the computing device also includes: a display 73 , a power supply component 74 , an audio component 75 and other components. Only some components are schematically shown in FIG. 7 , which does not mean that the computing device only includes the components shown in FIG. 7 .
- embodiments of the present application also provide a computer-readable storage medium storing a computer program.
- the computer program When executed, it can implement the steps that can be executed by the cloud clipboard management device or the computing device in the above method embodiment.
- the memory in Figures 6 and 7 above is used to store computer programs and can be configured to store various other data to support operations on the computing platform. Examples of such data include instructions for any application or method operating on the computing platform, contact data, phonebook data, messages, pictures, videos, etc.
- Memory can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable memory Read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic or optical disk.
- SRAM static random access memory
- EEPROM electrically erasable programmable read-only memory
- EPROM erasable programmable memory Read-only memory
- PROM programmable read-only memory
- ROM read-only memory
- magnetic memory flash memory
- flash memory magnetic or optical disk.
- the above-mentioned communication components in Figures 6 and 7 are configured to facilitate wired or wireless communication between the device where the communication component is located and other devices.
- the device where the communication component is located can access wireless networks based on communication standards, such as WiFi, 2G, 3G, 4G/LTE, 5G and other mobile communication networks, or a combination thereof.
- the communication component receives broadcast signals or broadcast related information from an external broadcast management system via a broadcast channel.
- the communication component further includes a near field communication (NFC) module to facilitate short-range communication.
- the NFC module can be implemented based on radio frequency identification (RFID) technology, infrared data association (IrDA) technology, ultra-wideband (UWB) technology, Bluetooth (BT) technology and other technologies.
- RFID radio frequency identification
- IrDA infrared data association
- UWB ultra-wideband
- Bluetooth Bluetooth
- the display in FIG. 7 includes a screen, and the screen may include a liquid crystal display (LCD) and a touch panel (TP). If the screen includes a touch panel, the screen may be implemented as a touch screen to receive input signals from a user.
- the touch panel includes one or more touch sensors to sense touch, slide, and gestures on the touch panel. The touch sensor may not only sense the boundary of a touch or slide action, but also detect the duration and pressure associated with the touch or slide operation.
- a power component may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power to the device in which the power component resides.
- the audio components in Figure 7 described above may be configured to output and/or input audio signals.
- the audio component includes a microphone (MIC), and when the device where the audio component is located is in an operating mode, such as call mode, recording mode, and voice recognition mode, the microphone is configured to receive an external audio signal.
- the received audio signal may be further stored in memory or sent via a communications component.
- the audio component further includes a speaker for outputting audio signals.
- embodiments of the present application may be provided as methods, systems, or computer program products. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment that combines software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) having computer-usable program code embodied therein.
- computer-usable storage media including, but not limited to, disk storage, CD-ROM, optical storage, etc.
- These computer program instructions may also be stored in a computer-readable memory that causes a computer or other programmable data processing apparatus to operate in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including the instruction means, the instructions
- the device implements the functions specified in a process or processes of the flowchart and/or a block or blocks of the block diagram.
- These computer program instructions may also be loaded onto a computer or other programmable data processing device, causing a series of operating steps to be performed on the computer or other programmable device to produce computer-implemented processing, thereby executing on the computer or other programmable device.
- Instructions provide steps for implementing the functions specified in a process or processes of a flowchart diagram and/or a block or blocks of a block diagram.
- a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
- processors CPUs
- input/output interfaces network interfaces
- memory volatile and non-volatile memory
- Memory may include non-permanent storage in computer-readable media, random access memory (RAM) and/or non-volatile memory in the form of read-only memory (ROM) or flash memory (flash RAM). Memory is an example of computer-readable media.
- RAM random access memory
- ROM read-only memory
- flash RAM flash random access memory
- Computer-readable media includes both persistent and non-volatile, removable and non-removable media that can be implemented by any method or technology for storage of information.
- Information may be computer-readable instructions, data structures, modules of programs, or other data.
- Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), and read-only memory.
- PRAM phase change memory
- SRAM static random access memory
- DRAM dynamic random access memory
- RAM random access memory
- read-only memory read-only memory
- ROM read-only memory
- EEPROM electrically erasable programmable read-only memory
- flash memory or other memory technology
- compact disc read-only memory CD-ROM
- DVD digital versatile disc
- Magnetic tape cartridges magnetic tape storage or other magnetic storage devices or any other non-transmission medium that can be used to store information that can be accessed by a computing device.
- computer-readable media does not include transitory media, such as modulated data signals and carrier waves.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请实施例提供一种云剪贴板的实现方法、设备、系统及存储介质。利用全局中转中心将用户工作空间内的多个工作方联通,这可实现云办公环境下的全局通达,用户可在其工作空间内无障碍进行信息、数据的交互,这使得用户工作空间内的多样化的工作方之间可无障碍通达;还提供了中心化部署的云剪贴板管控中心,负责将发生了剪切/复制事件的工作方所提供的第一事件信息通过全局中转中心广播给用户工作空间中的其它工作方,负责在发生了粘贴事件的工作方的触发下,通过全局中转中心协调相关数据的复制。据此,可在用户工作空间中实现跨端、跨生态、跨云实例、跨虚实、跨地域的全局剪贴,整个云剪贴板系统可帮助企业中的用户实现全局且高效的剪贴体验。
Description
本申请要求于2022年09月20日提交中国专利局、申请号为202211143844.2、申请名称为“一种云剪贴板的实现方法、设备、系统及存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本申请涉及云计算技术领域,尤其涉及一种云剪贴板的实现方法、设备、系统及存储介质。
随着云资源的不断丰富,越来越多的企业选择加入云上办公场景。
云上办公场景中存在大量的数据拷贝需求,但是,目前在云上办公场景中,仍然只能依赖传统的“蓝牙面对面传输”、“第三方存储产品中转”、“数据重定向”等方式来实现数据拷贝。而这些数据拷贝方式的效率都比较低且都有各自的局限性,比如“蓝牙面对面传输”方式要求通信双方必须是终端设备且都开启蓝牙功能,等等,这导致云上办公场景下的数据拷贝效率过低。
发明内容
本申请的多个方面提供一种云剪贴板的实现方法、设备、系统及存储介质,用以改善云上办公场景下的剪贴效率。
本申请实施例提供一种云剪贴板系统,包括云剪贴板管控中心和用户工作空间内的多个工作方,所述多个工作方之间通过全局中转中心进行通达;
所述多个工作方中的第一工作方,用于在监听到自身发生剪切/复制事件的情况下,通过所述全局中转中心向所述云剪贴板管控中心发送第一事件信息;
所述多个工作方中的第二工作方,用于在监听到自身接收到所述第一事件信息后发生粘贴事件的情况下,通过所述全局中转中心向所述云剪贴板管控中心发送第二事件信息;
所述云剪贴板管控中心,用于将接收到的第一事件信息通过所述全局中转中心推送至所述用户工作空间中的除所述第一工作方之外的其它工作方;在接收到第二事件信息的情况下,利用所述全局中转中心将所述第一工作方中的相关数据复制到所述第二工作方中,以供所述第二工作方完成粘贴;
其中,所述工作方的类型包括物理终端和/或云实例。
本申请实施例还提供一种云剪贴板的实现方法,适用于云剪贴板系统中的云剪贴板管控设备,其中,所述云剪贴板系统中还包括用户工作空间内的多个工作方,所述多个工作方之间通过全局中转中心进行通达;所述方法包括:
接收所述多个工作方中的第一工作方通过所述全局中转中心发送的第一事件信息,所述第一事件信息为所述第一工作方在监听到自身发生剪切/复制事件的情况下发出的;
将接收到的第一事件信息通过所述全局中转中心推送至所述用户工作空间中的除所述第一工作方之外的其它工作方;
接收所述多个工作方中的第二工作方通过所述全局中转中心发送的第二事件信息,所述第二事件信息为所述第二工作方在监听到自身发生粘贴事件的情况下发出的;
在接收到第二事件信息的情况下,利用所述全局中转中心将所述第一工作方中的相关数据复制到所述第二工作方中,以供所述第二工作方完成粘贴;
其中,所述工作方的类型包括物理终端和/或云实例。
本申请实施例还提供一种云剪贴板的实现方法,适用于云剪贴板系统中的用户工作空间内的多个工作方,所述多个工作方之间通过全局中转中心进行通达,所述云剪贴板系统中还包括云剪贴板管控设备;所述方法包括:
在监听到自身发生剪切/复制事件的情况下,通过所述全局中转中心向所述云剪贴板管控中心发送第一事件信息,以供所述云剪贴板管控中心将接收到的第一事件信息通过所述全局中转中心推送至所述用户工作空间中的其它工作方;
利用所述云剪贴板管控中心和所述全局中转中心,将所述第一事件信息对应的相关数据提供给所述用户工作空间中发生了粘贴事件的工作方,以供其完成粘贴;
在监听到自身发生粘贴事件的情况下,通过所述全局中转中心向所述云剪贴板管控中心发送第二事件信息,以供所述云剪贴板管控中心将所述用户工作空间中发生了剪切/复制事件的工作方中的相关数据复制到本工作方中,以完成粘贴;
其中,所述工作方的类型包括物理终端和/或云实例。
本申请实施例还提供一种云剪贴板管控设备,包括存储器、处理器和通信组件;
所述存储器用于存储一条或多条计算机指令;
所述处理器与所述存储器和所述通信组件耦合,用于执行所述一条或多条计算机指令,以用于:
利用所述通信组件接收云剪贴板系统中用户工作空间内的第一工作方通过所述全局中转中心发送的第一事件信息,所述第一事件信息为所述第一工作方在监听到自身发生剪切/复制事件的情况下发出的;
将接收到的第一事件信息通过所述全局中转中心推送至所述用户工作空间中的除所述第一工作方之外的其它工作方;
利用所述通信组件接收所述用户工作空间内的第二工作方通过所述全局中转中心
发送的第二事件信息,所述第二事件信息为所述第二工作方在监听到自身发生粘贴事件的情况下发出的;
在接收到第二事件信息的情况下,利用所述全局中转中心将所述第一工作方中的相关数据复制到所述第二工作方中,以供所述第二工作方完成粘贴;
其中,所述用户工作空间内的多个工作方之间通过全局中转中心进行通达,所述工作方的类型包括物理终端和/或云实例。
本申请实施例还提供一种计算设备,包括存储器、处理器和通信组件;
所述存储器用于存储一条或多条计算机指令;
所述处理器与所述存储器和所述通信组件耦合,用于执行所述一条或多条计算机指令,以用于:
在监听到自身发生剪切/复制事件的情况下,通过全局中转中心向云剪贴板系统中的云剪贴板管控中心发送第一事件信息,以供所述云剪贴板管控中心将接收到的第一事件信息通过所述全局中转中心推送至所述云剪贴板系统中用户工作空间内的其它计算设备;
利用所述云剪贴板管控中心和所述全局中转中心,将所述第一事件信息对应的相关数据提供给所述用户工作空间中发生了粘贴事件的计算设备,以供其完成粘贴;
在监听到自身发生粘贴事件的情况下,通过所述全局中转中心向所述云剪贴板管控中心发送第二事件信息,以供所述云剪贴板管控中心将所述用户工作空间中发生了剪切/复制事件的计算设备中的相关数据复制到本计算设备中,以完成粘贴;
其中,所述用户工作空间内的多个计算设备之间通过全局中转中心进行通达,所述计算设备的类型包括物理终端和/或云实例。
本申请实施例还提供一种存储计算机指令的计算机可读存储介质,当所述计算机指令被一个或多个处理器执行时,致使所述一个或多个处理器执行前述的云剪贴板实现方法。
在本申请实施例中,利用全局中转中心将用户工作空间内的多个工作方联通,这可实现云办公环境下的全局通达,用户可在其工作空间内跨端跨生态跨虚实进行信息、数据的交互,这使得用户工作空间内的多样化的工作方之间可无障碍通达;还提供了中心化部署的云剪贴板管控中心,负责将发生了剪切/复制事件的工作方所提供的第一事件信息通过全局中转中心广播给用户工作空间中的其它工作方,负责在发生了粘贴事件的工作方的触发下,通过全局中转中心协调相关数据的复制。据此,本申请实施例中,可在用户工作空间中实现跨端、跨生态、跨云实例、跨虚实、跨地域的全局剪贴,整个云剪贴板系统可帮助企业中的用户实现全局且高效的剪贴体验。
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请一示例性实施例提供的一种云剪贴板系统的结构示意图;
图2为本申请一示例性实施例提供的一种全局中转中心的示例性实现原理图;
图3为本申请一示例性实施例提供的一种示例性应用场景中的工作逻辑示意图;
图4为本申请另一示例性实施例提供的一种云剪贴板的实现方法的流程示意图;
图5为本申请另一示例性实施例提供的另一种云剪贴板的实现方法的流程示意图;
图6为本申请又一示例性实施例提供的一种云剪贴板管控设备的结构示意图;
图7为本申请又一示例性实施例提供的一种计算设备的结构示意图。
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前,云上办公场景下的数据拷贝效率过低。为此,本申请的一些实施例中:利用全局中转中心将用户工作空间内的多个工作方联通,这可实现云办公环境下的全局通达,用户可在其工作空间内跨端、跨地域、跨虚实、跨生态、跨云实例进行信息、数据的交互,这使得用户工作空间内的多样化的工作方之间可无障碍通达;还提供了中心化部署的云剪贴板管控中心,负责将发生了剪切/复制事件的工作方所提供的第一事件信息通过全局中转中心广播给用户工作空间中的其它工作方,负责在发生了粘贴事件的工作方的触发下,通过全局中转中心协调相关数据的复制。据此,本申请实施例中,可在用户工作空间中实现跨端、跨生态、跨云实例、跨虚实、跨地域的全局剪贴,整个云剪贴板系统可帮助企业中的用户实现全局且高效的剪贴体验。
以下结合附图,详细说明本申请各实施例提供的技术方案。
图1为本申请一示例性实施例提供的一种云剪贴板系统的结构示意图。如图1所示,该系统包括:云剪贴板管控中心和用户工作空间内的多个工作方,其中,多个工作方之间通过全局中转中心进行通达,云剪贴板管控中心也通过全局中转中心而与多个工作方通达。
本实施例提供的云剪贴板系统,可应用于云上办公场景中,为云上办公场景提供全局且高效的剪贴服务。
本实施例中的全局中转中心可采用数据总线服务的形式来实现,可包括分布式消息处理服务及高速数据传输服务,其中,分布式消息处理服务可支持消息和/或数据的全局交互,高速数据传输服务可支持数据的全局交互。分布式消息处理服务可包括但不限于消息队列MQ(Message Queue)服务等。高速数据传输服务可包括但不限与对象存储OSS(Object Storage Service)服务等,网络附属存储NAS(Network Attached Storage)服务等。这样,本实施例中的全局中转中心可支持消息、数据的全局交互,从而可实现用户工作空间内多个工作方之间的通达,以及实现云剪贴板管控中心与多个工作方之间的通达。
图2为本申请一示例性实施例提供的一种全局中转中心的示例性实现原理图。参考图2,在示例性的实现原理中:可在云中的各个地域region分别部署专属的消息主题,工作方可关联使用其所属地域region内的消息主题下的消息队列;而全局中转中心则可订阅各个地域对应的消息主题。这样,全局中转中心可及时获取到工作方写入其关联消息主题下的消息,并进行按需进行消息路由,进而可支持全局的消息交互。另外,还可在云中的各个地域region分别部署专属的存储服务区,例如,对象存储OSS区等。这样,全局中转中心可借助存储服务的跨地域备份的能力,支持全局的数据交互。其中,本实施例中提到的地域region可理解为云中物理的数据中心,每个地域region是完全独立的。另外,用户工作空间内的多个工作方可能分布在不完全相同的地域region中。
本实施例中的用户工作空间是指企业中单个用户的工作空间(workspace)。应当理解的是,本实施例中的用户工作空间是一种虚拟空间而非物理空间,通过创建用户工作空间可实现对用户使用的工作方进行集中管理。本实施例中,基于全局中转中心的底层支持,用户在办公过程中可能用到的各种各样的工作方均可加入到其用户工作空间中。实际应用中,可通过使用相同的用户账号进行登陆的方式来将多个工作方加入到同一用户工作空间中,当然,这仅是示例性的,本实施中还可采用其它实现方式来组织其用户工作空间。通过设置用户工作空间可使企业中的用户感受到多端合一的高效云上办公体验,将云上丰富的云产品及企业线下丰富的物理终端整合到用户工作空间中,用户可在其用户工作空间中无障碍使用各种工作方。
本实施例中,在全局中转中心的支持下,用户工作空间内的多个工作方的生态、所处地域、虚实等均可以是多样的。其中,生态可理解为操作系统,例如,工作方的生态可能有windows生态、android生态、apple生态等。类型可理解为硬件类型,例如,工作方的类型可能有卡片机、一体机、零终端、软终端、瘦终端等。虚实可理解为是否基于虚拟化技术而产生,例如,工作方可能是真实的物理终端,还可能是虚拟化的云实例。这里需要强调的是,本实施例中提及的云实例是需要基于流化技术才能接入的云产品,包括但不限于虚拟化云桌面、虚拟化云应用等,这并不同于那些可通过ssh软件客户端、https软件客户端或者web小程序等方式就可远程登录的云服务器内的应用进程。其中,虚拟化云桌面是一种将系统桌面虚拟化之后,使得用户可以在任何设备上通过网络远程访问系统桌面的技术。虚拟化云应用则是基于桌面虚拟化技术而实现的应用虚拟化,利用云实例资源运行大型传统软件,并使得用户可以在任何设备上远程的访问云实例上运行的大型传统软件。本实施例中,云实例处于云端,具体地,可承载在云端的虚拟机、容器等计算载体上,本实施例对云实例在云端的部署形式不做限定。
举例来说,企业中的用户A可在其用户工作空间中启动多个作为工作方的物理终端和云实例,这些物理终端和云实例可以是多样的生态,所处的地域也可不完全相同,用户A可按需在其用户工作空间中在线的各个工作方之间实现全局剪贴。用户可对其启动的物理终端上的数据进行剪贴,可对其启动的虚拟化云桌面上的数据进行剪贴,也可对其启动的
虚拟化云应用中的数据进行剪贴。
另外,值得说明的是,云实例通常需要一个界面显示端作为人机交互的入口,界面显示端可以是用户本地的物理终端,界面显示端中可运行云实例对应的软终端,云实例则可基于流化技术将需要显示的内容提供到界面显示端以进行显示。这样,本实施例中,用户工作空间中启动的物理终端可作为用户启动的某些云实例的界面显示端,而且,用户工作空间中启动的一台物理终端上可同时作为一个或多个云实例的界面显示端;当然,用户工作空间中启动的云实例也可采用其它的物理终端作为界面显示端,而这些其它的物理终端并不必须是用户工作空间中的工作方。
由于剪贴工作中通常涉及到两种通信端,即发生剪切/复制的一端和发生粘贴的一端。为了便于描述,本实施例中,将用户工作空间中发生剪贴/复制事件的一类工作方,称为第一工作方;将用户工作空间中发生粘贴事件的一类工作方,称为第二工作方。应当理解的是,对于用户工作空间中的某一个工作方来说,其有时可能作为第一工作方,而有时又可能作为第二工作方。
参考图1,对于第一工作方来说,可在监听到自身发生剪切/复制事件的情况下,通过全局中转中心向云剪贴板管控中心发送第一事件信息。
其中,本实施例中,可在工作方中部署云剪贴板代理服务,工作方可利用自身的云剪贴板代理服务来监听自身发生的剪切/复制事件和粘贴事件。
在工作方为云实例的情况下,工作方监听自身发生的剪切/复制事件和粘贴事件的过程,可以是:接收工作方连接的界面显示端同步的操控数据,操控数据由用户对界面显示端的外设进行操控而产生,界面显示端为物理终端;利用云剪贴板代理服务感知到操控数据中包含剪切/复制行为数据,则确定工作方中发生剪切/复制事件;利用云剪贴板代理服务感知到操控数据中包含粘贴行为数据,则确定工作方中发生粘贴事件。其中,界面显示端的外设可以是鼠标、键盘等。举例来说,用户可通过界面显示端的鼠标执行粘贴行为(例如,右键唤出菜单并点击“粘贴”),界面显示端与云端的云实例之间预先协定有USB重定向协议等通信协议,这样,界面显示端可在监听到用户通过其外设在云实例对应方的显示界面之内执行粘贴行为的情况下,将包含粘贴行为数据的操控数据同步至云端的云实例上。例如,将显示操作端连接的鼠标的点击数据映射至云实例中虚拟的鼠标上。这样,云实例的guest系统中的本地系统剪贴板可接收到界面显示端提供的操控数据从而感知到粘贴行为。而本实施例中,在云实例中部署的云剪贴板代理服务则可监听云实例的本地系统剪贴板中的粘贴行为并生成粘贴事件,同样,也可监听到剪切/复制行为并生成剪切/复制事件。
在工作方为物理终端的情况下,工作方监听自身发生的剪切/复制事件和粘贴事件的过程,可以是:通过其本地系统剪贴板感知用户通过其外设而进行的剪切/复制行为和粘贴行为对应的操控数据,并生成剪切/复制事件和粘贴事件。
在一种可选地实现方案中:云剪贴板代理服务可实现为操作系统中的一个监听进程,
这样,可在工作方的操作系统(例如物理终端的终端系统、云实例的guest系统等)中运行该监听进程,用于进行本地系统剪贴板的事件监听。基于此,对于第一工作方来说,可利用其上运行的云剪贴板代理服务来监听自身发生的剪切/复制事件。当然,第一工作方还可利用其上运行的云剪贴板代理服务来生成剪贴/复制事件对应的第一事件信息。第一事件信息可用于描述剪贴/复制事件的属性,第一事件信息可包括但不限于事件发生的工作方信息、事件发生时间、事件类型、事件的相关数据的标识、规格及存储位置等信息。第一工作方还可利用其上运行的云剪贴板代理服务将第一事件信息通过全局中转中心而发送至云剪贴板管控中心。承接图2中提供的全局中转中心的示例性实现原理,第一工作方可将第一事件信息发送至第一工作方关联的第一消息主题下的消息队列中,以将第一事件信息传输至全局中转中心,这是由于全局中转中心已订阅第一消息主题。全局中转中心还可将第一事件信息转发至云剪贴板管控中心,其中,云剪贴板管控中心可订阅其所属地域中的消息主题,全局中转中心可将第一事件信息路由至云剪贴板管控中心订阅的消息主题下的消息队列中,从而云剪贴板管控中心可及时接收到第一事件信息。
在此基础上,参考图1,云剪贴板管控中心可将接收到的第一事件信息通过全局中转中心推送至用户工作空间中的除第一工作方之外的其它工作方。其中,用户工作空间内的多个工作方理解为用户名下在线的工作方。用户名下的每个工作方可预先在云剪贴板管控中心中进行注册,并及时汇报自身的运行状态,这样,云剪贴板管控中心可准确地感知到用户工作空间中有哪些工作方。基于此,云剪贴板管控中心可实时地确定出用户工作空间中除第一工作方之外还有哪些其它工作方,为这些其它工作方生成路由信息并提供给全局中转中心。对于全局中转中心来说,可获知应该如何对第一事件信息进行路由。可选地,提供给全局中转中心的路由信息中可包含工作方所属的地域region或者工作方所关联的消息主题等信息。基于此,全局中转中心可将第一事件信息路由到其它工作方各自关联的消息主题下的消息队列中,这样,其它工作方就可通过订阅其关联的消息主题的形式来自动接收到第一事件信息。
可知,本实施例中,可基于全局中转中心的总线能力以及云剪贴板管控中心的协调能力,将第一工作方提供的第一事件信息广播至用户工作空间内的其它工作方。这样,用户工作空间内的其它工作方可接收到第一事件信息。
继续参考图1,对于第二工作方来说,可在接收到第一事件信息后监听自身是否发生了粘贴事件。承接前文中工作方中部署的云剪贴板代理服务,这里,第二工作方可利用其上运行的云剪贴板代理服务来监听粘贴事件。在一种可选的实现方案中:第二工作方可在接收到第一事件信息后,启动针对粘贴事件的回调函数;在监听到自身发生粘贴事件的情况下,触发回调函数,以产生第二事件信息。其中,回调函数可以是前述的云剪贴板代理服务注册的。第二事件信息可用于描述粘贴事件的属性,第二事件信息可包括但不限于事件发生的工作方信息、事件发生时间、事件类型或事件的相关数据的标识等信息。
除此之外,第二工作方还可在接收到第一事件信息之后,获得其本地系统剪贴板的所
有权,已备处理第二工作方上发生的粘贴事件。
在此基础上,第二工作方可在监听到自身接收到第一事件信息后发生粘贴事件的情况下,通过全局中转中心向云剪贴板管控中心发送第二事件信息。承接图2中提供的全局中转中心的示例性实现原理,第二工作方可将第二事件信息发送至第二工作方关联的第二消息主题下的消息队列中,以将第二事件信息传输至全局中转中心,这是由于全局中转中心已订阅第二消息主题。全局中转中心还可将第二事件信息转发至云剪贴板管控中心,其中,云剪贴板管控中心可订阅其所属地域中的消息主题,全局中转中心可将第二事件信息路由至云剪贴板管控中心订阅的消息主题下的消息队列中,从而云剪贴板管控中心可及时接收到第二事件信息。
而对于云剪贴板管控中心来说,可在接收到第二事件信息的情况下,利用全局中转中心将第一工作方中的相关数据复制到第二工作方中,以供第二工作方完成粘贴。
在此过程中,由于云剪贴板系统中可能并发存在多个第二事件信息,因此,云剪贴板管控中心可用于确定各个第二事件信息各自对应的复制源端。这里,为便于描述,默认当前的第二事件信息对应的复制源端即为前述的第一工作方,但应当理解的是,对于不同的第二事件信息,其对应的复制源端可能不完全相同。在此基础上,云剪贴板管控中心可接收到第二事件信息的情况下,通过全局中转中心向第一工作方发送数据上传指令,以触发第一工作方将相关数据写入其关联的第一存储位置。
其中,承接图2中提供的全局中转中心的示例性实现原理,第一存储位置可以是第一工作方关联的第一消息主题下的消息队列,或者,可以是第一工作方所属地域region中设置的第一存储服务区。在此基础上,对于第一工作方来说,可在接收到数据上传指令的情况下,判断第一事件信息的相关数据的规格是否小于预设标准,若是,则可响应于数据上传指令,将相关数据写入第一工作方关联的第一消息主题下的消息队列中;而若第一事件信息的相关数据的规格是否不小于预设标准,则第一工作方可响应于数据上传指令,将相关数据写入第一工作方关联的第一存储服务区。例如,第一对象存储OSS区等。其中,预设标准可以使消息队列可承载的最大数据规格。这样,在相关数据的规格比较小的情况下,可利用消息队列来进行数据的交互,而相关数据的规格比较大的情况下,则可通利用存储服务区来进行数据的交互。
另外,云剪贴板管控中心可存储第一事件信息的相关数据对应的上传记录信息,上传记录信息中可包括但不限于数据的上传时间、上传数据的工作方的标识、数据的存储位置等。基于上传记录信息,云剪贴板管控中心可在接收到第二事件信息的情况下,先判断相关数据是否已完成上传环节,如果已完成,云剪贴板管控中心可无需在发出数据上传指令,以避免数据的重复上传。
之后,全局中转中心可将第一存储位置中的相关数据复制到第二工作方关联的第二存储位置中。承接图2中提供的全局中转中心的示例性实现原理,与第一存储位置类似的,第二存储位置可以是第二工作方关联的第二消息主题下的消息队列,或者,可以是第二工
作方所属地域region中设置的第二存储服务区。在此基础上,若第一存储位置的类型为消息队列,则全局中转中心可将相关数据路由至第二工作方关联的第二消息主题下的消息队列中。而若第一存储位置的类型为存储服务区,则全局中转中心可将相关数据路由至第二工作方所属地域region中设置的第二存储服务区,例如,第二对象存储OSS区。其中,在通过存储服务区来进行数据交互的情况下,全局中转中心可借助存储服务的跨地域复制能力,通过向第一存储服务区下发的数据上传指令来驱使第一存储服务区将相关数据高速复制到第二存储服务区,且可边上传边复制。
云剪贴板管控中心还可通过全局中转中心向第二工作方发送数据下载指令,以触发第二工作方从其关联的第二存储位置下载相关数据。其中,全局中转中心可向云剪贴板管控中心提供复制记录信息,复制记录信息可用于描述数据的复制结果情况,复制记录信息中可包括但不限于数据的复制后位置、数据的复制完成时间、上传数据的工作方的标识等。复制记录信息可携带在数据下载指令中。
在此基础上,第二工作方可响应于数据下载指令,接入第二存储位置,从而下载到需要粘贴的相关数据。另外,承接前文,第二工作方已经接管其本地系统剪贴板的使用权,因此,第二工作方可将下载到的相关数据写入其本地系统剪贴板对应的缓存中,以完成粘贴。承接前文提及的第二工作方中注册的回调函数,在第二工作方中完成粘贴后,可结束针对第一事件信息的回调函数。
综上,本实施例中,可利用全局中转中心将用户工作空间内的多个工作方联通,这可实现云办公环境下的全局通达,用户可在其工作空间内跨端、跨地域、跨生态、跨虚实、跨云实例进行信息、数据的交互,这使得用户工作空间内的多样化的工作方之间可无障碍通达;还提供了中心化部署的云剪贴板管控中心,负责将发生了剪切/复制事件的工作方所提供的第一事件信息通过全局中转中心广播给用户工作空间中的其它工作方,负责在发生了粘贴事件的工作方的触发下,通过全局中转中心协调相关数据的复制。据此,本申请实施例中,可在用户工作空间中实现跨端、跨生态、跨云实例、跨虚实、跨地域的全局剪贴,整个云剪贴板系统可帮助企业中的用户实现全局且高效的剪贴体验。
图3为本申请一示例性实施例提供的一种示例性应用场景中的工作逻辑示意图。参考图3,用户工作空间中存在多个工作方,假设第一工作方为物理终端,第二工作方为云实例,且第一工作方作为第二工作方的界面显示端,则第一工作方,可在监听到用户通过其外设在第二工作方的显示界面之外执行剪切/复制行为的情况下,通过全局中转中心向云剪贴板管控中心发送第一事件信息,以将第一事件信息推送至第二工作方;在监听到用户通过其外设在第二工作方的显示界面之内执行粘贴行为的情况下,将包含粘贴行为数据的操控数据同步至第二工作方,以供第二工作方监听到自身发生的粘贴事件并通过向云剪贴板管控中心发送第二事件信息而触发将第一工作方本地的数据粘贴至第二工作方中。
参考图3,可将物理终端client1作为第一工作方,将云实例GuestOS1作为第二工作
方,当然,图3中的用户工作空间中还可包含其它工作方,例如,物理终端client2等。在此基础上,参考图3,工作逻辑大致为:
1.当用户在Client1上(云实例对应的显示界面之外)执行复制操作时,Client1上的云剪贴板代理服务(Agent)捕捉到复制事件的触发,将该事件通过全局中转中心上报给云剪贴板管控中心(UCCS)。
2.UCCS将复制事件的meta data予以存储,同时收集该用户在线工作方的信息,将复制事件推送给该用户在线的其他工作方。
3.当前在线的Client2及GuestOS1接收到复制事件,获得本地系统剪贴板的所有权,并注册一个拦截粘贴事件的回调函数callback function。
4.假如说用户在Clinet1上云实例对应的界面显示端中执行了粘贴行为,则Client1可将操控数据映射至云实例GuestOS1中的本地系统剪贴板,云实例GuestOS1上的云剪贴板代理服务可触发粘贴回调函数callback function,从而可生成粘贴事件并上报给UCCS。
5.UCCS经过判决发现Client1并未上传数据,需要远程取复制Client1上的相关数据,则会通过全局中转中心向Client1推送数据上传指令。
6.Client1收到数据上传指令,上传数据至数据总线,数据总线开始边上传边跨地域复制,并且发送数据上传记录给UCCS。
7.UCCS存储一份儿数据上传记录在数据库中,防止多端重复粘贴需要重复上传数据,然后下发一个数据下载指令给云实例GuestOS1,并将下载数据的metadata一并推送给云实例GuestOS1。
8.云实例GuestOS1接收到数据下载指令,接入所在地域的数据总线服务,高速下载数据,并将下载的数据写入本地系统剪贴板缓存,结束粘贴回调,粘贴动作完成。
结合图2中提供的全局中转中心的示例性实现原理图,假设物理终端client1、物理终端client2和云实例GuestOS1分别为与地域A,地域B和地域C。A、B、C地域各自部署了一套MQ服务和高速存储服务OSS,各地域的服务以地域作为后缀,如MQ_A,OSS_A,各地域下的端就近选择地域内的服务接入。
在此基础上,全局中转中心可借助分布式MQ服务及OSS服务的跨地域实时复制能力。具体地,全局中转能力可体现为:当A地域中的Client1中发生复制事件,则可将第一事件信息发出到A地域MQ_A服务topic_A消息队列中,全局中转中心通过订阅A地域的MQ_A服务,可获知第一事件信息。UCCS可将用户工作空间中在线的其它工作方的路信息告知全局中转中心,于是全局中转中心可将第一事件信息路由到可能需要发生黏贴的B地域MQ_B服务的topic_B消息队列里,B地域的client2由于订阅了B地域的MQ_B的topic_B,于是能接收到全局中转中心路由过来的第一事件消息。全局中转中心还将第一事件信息路由到可能需要发生黏贴的C地域MQ_C服务的topic_C消息队列里,同样,C区的GuestOS1也可接收到第一事件信息。
当复制源端client1需要上传大文件时,client1内云剪贴板代理服务(Agent)判断数据
大小超过了MQ消息可传输的最大上限,于是将数据上传到A地域OSS_A服务上,与此同时全局中转中心判断粘贴事件发生在C地域的GuestOS1上,于是借助OSS服务边上传边跨地域备份的能力,向OSS_A服务下发指令,令其将文件高速拷贝到C地域内OSS_C服务上,于是接入C地域服务的GuestOS1可以通过OSS_C服务高速的下载到这个大文件。
由此,整个云剪贴板系统可以帮助企业用户实现全局且高效的剪贴体验。
在另一种情况下,也可能在云实例GuestOS1中发生剪切/复制事件,而在物理终端Client1中发生粘贴事件,这种情况下,云实例GueatOS1可作为第一工作方而执行前文中关于第一工作方的处理逻辑,如生成第一事件信息,上传数据等;而物理终端Client1则可作为第二工作方而执行前文中关于第二工作方的处理逻辑,如生第二事件信息,下载数据等,从而可实现将用户工作空间中云实例上的数据复制到用户工作空间中的物理终端上。
当然,应当理解的是,第一工作方和第二工作方除了可以是一实一虚之外,还可以是同时为云实例,还可以同时为物理终端,本实施例并不限于图3所提供的应用场景。而在第一工作方为物理终端第二工作方为云实例的情况下,第二工作方业务并不是必须以第一工作方作为界面显示端,而是可按需选用合适的界面显示端。这样,第一工作方和第二工作方可能分布在不同的地域region,可能采用不同的生态,可能分别为物理终端和云实例,可能为不同的云实例,因此,本实施例中,可在用户工作空间中实现跨生态、跨地域、跨虚实、跨云实例的全局剪贴。
图4为本申请另一示例性实施例提供的一种云剪贴板的实现方法的流程示意图,该方法适用于云剪贴板系统中的云剪贴板管控设备,其中,云剪贴板系统中还包括用户工作空间内的多个工作方,多个工作方之间通过全局中转中心进行通达;参考图4,该方法包括:
步骤400、接收多个工作方中的第一工作方通过全局中转中心发送的第一事件信息,第一事件信息为第一工作方在监听到自身发生剪切/复制事件的情况下发出的;
步骤401、将接收到的第一事件信息通过全局中转中心推送至用户工作空间中的除第一工作方之外的其它工作方;
步骤402、接收多个工作方中的第二工作方通过全局中转中心发送的第二事件信息,第二事件信息为第二工作方在监听到自身发生粘贴事件的情况下发出的;
步骤403、在接收到第二事件信息的情况下,利用全局中转中心将第一工作方中的相关数据复制到第二工作方中,以供第二工作方完成粘贴;
其中,工作方的类型包括物理终端和/或云实例。
在一可选实施例中,工作方中部署有云剪贴板代理服务,工作方利用自身的云剪贴板代理服务监听自身发生的剪切/复制事件和粘贴事件。
在一可选实施例中,由第一工作方将第一事件信息发送至第一工作方关联的第一消息主题下的消息队列中,以将第一事件信息传输至全局中转中心,全局中转中心已订阅第一消息主题;步骤401可包括:
为用户工作空间中的其它工作方生成路由信息并提供给全局中转中心;
利用全局中转中心按照路由信息将第一事件信息路由到其它工作方各自关联的消息主题下的消息队列中,以供其它工作方通过订阅消息主题的方式接收到第一事件信息。
在一可选实施例中,在不同的地域region分别部署消息主题,工作方关联至其所在地域中部署的消息主题,多个工作方可分布在不完全相同的地域region。
在一可选实施例中,由第二工作方在接收到第一事件信息后,启动针对粘贴事件的回调函数;响应于第二工作方中发生的粘贴操作,触发回调函数,以产生第二事件信息。
在一可选实施例中,步骤403,可包括:
通过全局中转中心向第一工作方发送数据上传指令,以触发第一工作方将相关数据写入其关联的第一存储位置;
通过全局中转中心将第一存储位置中的相关数据复制到第二工作方关联的第二存储位置中;
通过全局中转中心向第二工作方发送数据下载指令,以触发第二工作方从其关联的第二存储位置下载相关数据。
在一可选实施例中,第一存储位置为第一工作方所在地域region中设置的对象存储OSS区或者第一工作方关联的第一消息主题下的消息队列;第二存储位置为第二工作方所在地域region中设置的对象存储OSS区或者第二工作方关联的第二消息主题下的消息队列。
在一可选实施例中,由第一工作方在其自身发生剪切/复制事件的相关数据的规格小于预设标准的情况下,响应于数据上传指令,将相关数据写入第一工作方关联的第一消息主题下的消息队列中,以通过云剪贴板管控中心和全局中转中心将相关数据传递至第二工作方关联的第二消息主题下的消息队列中;在其自身发生剪切/复制事件的相关数据的规格不小于预设标准的情况下,响应于数据上传指令,将相关数据写入第一工作方关联的第一OSS区,以通过全局中转中心触发第一OSS区将相关数据复制到第二工作方关联的第二OSS区中。
在一可选实施例中,由全局中转中心将所述相关数据的上传记录信息发送至所述云剪贴板管控中心;该方法还包括:在接收到所述第二事件信息的情况下,判断所述第二事件信息对应的相关数据是否以存在上传记录信息,如果是,则不再向所述第一工作方发送数据上传指令。
在一可选实施例中,由第二工作方将获取到的相关数据写入本地系统剪贴板缓存中,以完成粘贴。
值得说明的是,上述关于云剪贴板的实现方法各实施例中的技术细节,可参考前述的系统实施例中关于云剪贴板管控中心的相关描述,为节省篇幅,在此不再赘述,但这不应造成本申请保护范围的损失。
图5为本申请另一示例性实施例提供的另一种云剪贴板的实现方法的流程示意图。该方法适用于云剪贴板系统中的用户工作空间内的多个工作方,多个工作方之间通过全局中转中心进行通达,云剪贴板系统中还包括云剪贴板管控设备;参考图5,该方法可包括:
步骤500、在监听到自身发生剪切/复制事件的情况下,通过全局中转中心向云剪贴板管控中心发送第一事件信息,以供云剪贴板管控中心将接收到的第一事件信息通过全局中转中心推送至用户工作空间中的其它工作方;
步骤501、利用云剪贴板管控中心和全局中转中心,将第一事件信息对应的相关数据提供给用户工作空间中发生了粘贴事件的工作方,以供其完成粘贴;
步骤502、在监听到自身发生粘贴事件的情况下,通过全局中转中心向云剪贴板管控中心发送第二事件信息,以供云剪贴板管控中心将用户工作空间中发生了剪切/复制事件的工作方中的相关数据复制到本工作方中,以完成粘贴;
其中,工作方的类型包括物理终端和/或云实例。
在一可选实施例中,工作方中部署有云剪贴板代理服务,工作方利用自身的云剪贴板代理服务监听自身发生的剪切/复制事件和粘贴事件。
在一可选实施例中,步骤通过全局中转中心向云剪贴板管控中心发送第一事件信息,可包括:
将第一事件信息发送至工作方关联的消息主题下的消息队列中,以将第一事件信息传输至全局中转中心,全局中转中心已订阅该消息主题;
其中,由云剪贴板管控中心将用户工作空间中的其它工作方的路由信息提供给全局中转中心;利用全局中转中心将第一事件信息路由到其它工作方各自关联的消息主题下的消息队列中,以供其它工作方通过订阅消息主题的方式接收到第一事件信息。
在一可选实施例中,在不同的地域region分别部署消息主题,工作方关联至其所在地域中部署的消息主题,多个工作方可分布在不完全相同的地域region。
在一可选实施例中,由云剪贴板管控中心在接收到第二事件信息的情况下,通过全局中转中心向当前工作方发送数据上传指令,以触发当前工作方将相关数据写入其关联的第一存储位置;通过全局中转中心将第一存储位置中的相关数据复制到发出第二事件信息的工作方关联的第二存储位置中;通过全局中转中心向该工作方发送数据下载指令,以触发该工作方从其关联的第二存储位置下载相关数据。
在一可选实施例中,第一存储位置为当前工作方所在地域region中设置的对象存储OSS区或者第一工作方关联的第一消息主题下的消息队列;第二存储位置为发起第二事件信息的工作方所在地域region中设置的对象存储OSS区或者第二工作方关联的第二消息主题下的消息队列。
在一可选实施例中,该方法还包括:
若其自身发生剪切/复制事件的相关数据的规格小于预设标准,则响应于数据上传指令,将相关数据写入第一工作方关联的第一消息主题下的消息队列中,以通过云剪贴板管控中心和全局中转中心将相关数据传递至第二工作方关联的第二消息主题下的消息队列中;
若其自身发生剪切/复制事件的相关数据的规格不小于预设标准,则响应于数据上传
指令,将相关数据写入第一工作方关联的第一OSS区,以通过全局中转中心触发第一OSS区将相关数据复制到第二工作方关联的第二OSS区中。
在一可选实施例中,由所述全局中转中心将所述相关数据的上传记录信息发送至所述云剪贴板管控中心;由云剪贴板管控中心在接收到所述第二事件信息的情况下,判断所述第二事件信息对应的相关数据是否以存在上传记录信息,如果是,则不再向所述第一工作方发送数据上传指令。
在一可选实施例中,该方法还包括:
在接收到其它工作方发送的剪切/复制事件对应的事件信息后,启动针对粘贴事件的回调函数;
响应于当前工作方中发生的粘贴操作,触发回调函数,以产生粘贴事件对应的事件信息。
在一可选实施例中,该方法还包括:
若当前工作方中发生粘贴事件,则将获取到的相关数据写入本地系统剪贴板缓存中,以完成粘贴。
值得说明的是,上述关于云剪贴板的实现方法各实施例中的技术细节,可参考前述的系统实施例中关于第一工作方/第二工作方的相关描述,为节省篇幅,在此不再赘述,但这不应造成本申请保护范围的损失。
需要说明的是,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如401、402等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的存储位置、工作方、事件信息等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
图6为本申请又一示例性实施例提供的一种云剪贴板管控设备的结构示意图。如图6所示,该计算设备包括:存储器60、处理器61以及通信组件62。
处理器61,与存储器60和通信组件62耦合,用于执行存储器60中的计算机程序,以用于:
利用通信组件62接收云剪贴板系统中用户工作空间内的第一工作方通过全局中转中心发送的第一事件信息,第一事件信息为第一工作方在监听到自身发生剪切/复制事件的情况下发出的;
将接收到的第一事件信息通过全局中转中心推送至用户工作空间中的除第一工作方之外的其它工作方;
利用通信组件62接收用户工作空间内的第二工作方通过全局中转中心发送的第二事件信息,第二事件信息为第二工作方在监听到自身发生粘贴事件的情况下发出的;
在接收到第二事件信息的情况下,利用全局中转中心将第一工作方中的相关数据复制到第二工作方中,以供第二工作方完成粘贴;
其中,用户工作空间内的多个工作方之间通过全局中转中心进行通达,工作方的类型包括物理终端和/或云实例。
在一可选实施例中,工作方中部署有云剪贴板代理服务,工作方利用自身的云剪贴板代理服务监听自身发生的剪切/复制事件和粘贴事件。
在一可选实施例中,由第一工作方将第一事件信息发送至第一工作方关联的第一消息主题下的消息队列中,以将第一事件信息传输至全局中转中心,全局中转中心已订阅第一消息主题;处理器61在利用全局中转中心将第一工作方中的相关数据复制到第二工作方中,以供第二工作方完成粘贴的过程中,可用于:
将用户工作空间中的其它工作方的路由信息提供给全局中转中心;
利用全局中转中心按照路由信息将第一事件信息路由到其它工作方各自关联的消息主题下的消息队列中,以供其它工作方通过订阅消息主题的方式接收到第一事件信息。
在一可选实施例中,在不同的地域region分别部署消息主题,工作方关联至其所在地域中部署的消息主题,多个工作方可分布在不完全相同的地域region。
在一可选实施例中,由第二工作方在接收到第一事件信息后,启动针对粘贴事件的回调函数;响应于第二工作方中发生的粘贴操作,触发回调函数,以产生第二事件信息。
在一可选实施例中,处理器61在利用全局中转中心将第一工作方中的相关数据复制到第二工作方中的过程中,可用于:
通过全局中转中心向第一工作方发送数据上传指令,以触发第一工作方将相关数据写入其关联的第一存储位置;
通过全局中转中心将第一存储位置中的相关数据复制到第二工作方关联的第二存储位置中;
通过全局中转中心向第二工作方发送数据下载指令,以触发第二工作方从其关联的第二存储位置下载相关数据。
在一可选实施例中,第一存储位置为第一工作方所在地域region中设置的对象存储OSS区或者第一工作方关联的第一消息主题下的消息队列;第二存储位置为第二工作方所在地域region中设置的对象存储OSS区或者第二工作方关联的第二消息主题下的消息队列。
在一可选实施例中,由第一工作方在其自身发生剪切/复制事件的相关数据的规格小于预设标准的情况下,响应于数据上传指令,将相关数据写入第一工作方关联的第一消息主题下的消息队列中,以通过云剪贴板管控中心和全局中转中心将相关数据传递至第二工作方关联的第二消息主题下的消息队列中;在其自身发生剪切/复制事件的相关数据的规格不小于预设标准的情况下,响应于数据上传指令,将相关数据写入第一工作方关联的第一OSS区,以通过全局中转中心触发第一OSS区将相关数据复制到第二工作方关联的第二OSS区中。
在一可选实施例中,由全局中转中心将所述相关数据的上传记录信息发送至所述云剪贴板管控中心;处理器61还可用于:
在接收到所述第二事件信息的情况下,判断所述第二事件信息对应的相关数据是否以存在上传记录信息,如果是,则不再向所述第一工作方发送数据上传指令。
在一可选实施例中,由第二工作方将获取到的相关数据写入本地系统剪贴板缓存中,以完成粘贴。
进一步,如图6所示,该云剪贴板管控设备还包括:电源组件63等其它组件。图6中仅示意性给出部分组件,并不意味着云剪贴板管控设备只包括图6所示组件。
值得说明的是,上述关于云剪贴板管控设备各实施例中的技术细节,可参考前述的系统实施例中关于云剪贴板管控中心的相关描述,为节省篇幅,在此不再赘述,但这不应造成本申请保护范围的损失。
图7为本申请又一示例性实施例提供的一种计算设备的结构示意图。如图7所示,该计算设备包括:存储器70、处理器71以及通信组件72。
处理器71,与存储器70和通信组件72耦合,用于执行存储器70中的计算机程序,以用于:
在监听到自身发生剪切/复制事件的情况下,通过全局中转中心向云剪贴板系统中的云剪贴板管控中心发送第一事件信息,以供云剪贴板管控中心将接收到的第一事件信息通过全局中转中心推送至云剪贴板系统中用户工作空间内的其它计算设备;
利用云剪贴板管控中心和全局中转中心,将第一事件信息对应的相关数据提供给用户工作空间中发生了粘贴事件的计算设备,以供其完成粘贴;
在监听到自身发生粘贴事件的情况下,通过全局中转中心向云剪贴板管控中心发送第二事件信息,以供云剪贴板管控中心将用户工作空间中发生了剪切/复制事件的计算设备中的相关数据复制到本计算设备中,以完成粘贴;
其中,用户工作空间内的多个计算设备之间通过全局中转中心进行通达,计算设备的类型包括物理终端和/或云实例。
在一可选实施例中,计算设备中部署有云剪贴板代理服务,计算设备利用自身的云剪贴板代理服务监听自身发生的剪切/复制事件和粘贴事件。
在一可选实施例中,若计算设备为云实例,则计算设备监听自身发生的剪切/复制事件和粘贴事件的过程,包括:
接收计算设备连接的界面显示端同步的操控数据,操控数据由用户对界面显示端的外设进行操控而产生,界面显示端为物理终端;
利用云剪贴板代理服务感知到操控数据中包含剪切/复制行为数据,则确定计算设备中发生剪切/复制事件;
利用云剪贴板代理服务感知到操控数据中包含粘贴行为数据,则确定计算设备中发生粘贴事件。
在一可选实施例中,若第一计算设备为物理终端,第二计算设备为云实例,且第一计算设备作为第二计算设备的界面显示端;则第一计算设备,用于:
在监听到用户通过其外设在第二计算设备的显示界面之外执行剪切/复制行为的情况下,通过全局中转中心向云剪贴板管控中心发送第一事件信息,以将第一事件信息推送至第二计算设备;
在监听到用户通过其外设在第二计算设备的显示界面之内执行粘贴行为的情况下,将包含粘贴行为数据的操控数据同步至第二计算设备,以供第二计算设备监听到自身发生的粘贴事件并通过向云剪贴板管控中心发送第二事件信息而触发将第一计算设备本地的数据粘贴至第二计算设备中。
在一可选实施例中,处理器71在通过全局中转中心向云剪贴板管控中心发送第一事件信息的过程中,可用于:
将第一事件信息发送至计算设备关联的消息主题下的消息队列中,以将第一事件信息传输至全局中转中心,全局中转中心已订阅该消息主题;
其中,由云剪贴板管控中心将用户工作空间中的其它计算设备的路由信息提供给全局中转中心;利用全局中转中心将第一事件信息路由到其它计算设备各自关联的消息主题下的消息队列中,以供其它计算设备通过订阅消息主题的方式接收到第一事件信息。
在一可选实施例中,在不同的地域region分别部署消息主题,计算设备关联至其所在地域中部署的消息主题,多个计算设备可分布在不完全相同的地域region。
在一可选实施例中,由云剪贴板管控中心在接收到第二事件信息的情况下,通过全局中转中心向当前计算设备发送数据上传指令,以触发当前计算设备将相关数据写入其关联的第一存储位置;通过全局中转中心将第一存储位置中的相关数据复制到发出第二事件信息的计算设备关联的第二存储位置中;通过全局中转中心向该计算设备发送数据下载指令,以触发该计算设备从其关联的第二存储位置下载相关数据。
在一可选实施例中,第一存储位置为当前计算设备所在地域region中设置的对象存储OSS区或者第一计算设备关联的第一消息主题下的消息队列;第二存储位置为发起第二事件信息的计算设备所在地域region中设置的对象存储OSS区或者第二计算设备关联的第二消息主题下的消息队列。
在一可选实施例中,处理器71还可用于:
若其自身发生剪切/复制事件的相关数据的规格小于预设标准,则响应于数据上传指令,将相关数据写入第一计算设备关联的第一消息主题下的消息队列中,以通过云剪贴板管控中心和全局中转中心将相关数据传递至第二计算设备关联的第二消息主题下的消息队列中;
若其自身发生剪切/复制事件的相关数据的规格不小于预设标准,则响应于数据上传指令,将相关数据写入第一计算设备关联的第一OSS区,以通过全局中转中心触发第一OSS区将相关数据复制到第二计算设备关联的第二OSS区中。
在一可选实施例中,由所述全局中转中心将所述相关数据的上传记录信息发送至所述云剪贴板管控中心;由云剪贴板管控中心在接收到所述第二事件信息的情况下,判断所述第二事件信息对应的相关数据是否以存在上传记录信息,如果是,则不再向所述第一计算设备发送数据上传指令。
在一可选实施例中,处理器71还可用于:
在接收到其它计算设备发送的剪切/复制事件对应的事件信息后,启动针对粘贴事件的回调函数;
响应于当前计算设备中发生的粘贴操作,触发回调函数,以产生粘贴事件对应的事件信息。
在一可选实施例中,处理器71还可用于:
若当前计算设备中发生粘贴事件,则将获取到的相关数据写入本地系统剪贴板缓存中,以完成粘贴。
进一步,如图7所示,该计算设备还包括:显示器73、电源组件74、音频组件75等其它组件。图7中仅示意性给出部分组件,并不意味着计算设备只包括图7所示组件。
值得说明的是,上述关于计算设备各实施例中的技术细节,可参考前述的系统实施例中关于第一计算设备/第二计算设备的相关描述,为节省篇幅,在此不再赘述,但这不应造成本申请保护范围的损失。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现上述方法实施例中可由云剪贴板管控设备或计算设备执行的各步骤。
上述图6和7中的存储器,用于存储计算机程序,并可被配置为存储其它各种数据以支持在计算平台上的操作。这些数据的示例包括用于在计算平台上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
上述图6和7中的通信组件,被配置为便于通信组件所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如WiFi,2G、3G、4G/LTE、5G等移动通信网络,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
上述图7中的显示器,包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
上述图6和7中的电源组件,为电源组件所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
上述图7中的音频组件,可被配置为输出和/或输入音频信号。例如,音频组件包括一个麦克风(MIC),当音频组件所在设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器或经由通信组件发送。在一些实施例中,音频组件还包括一个扬声器,用于输出音频信号。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带式磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (15)
- 一种云剪贴板系统,包括云剪贴板管控中心和用户工作空间内的多个工作方,所述多个工作方之间通过全局中转中心进行通达;所述多个工作方中的第一工作方,用于在监听到自身发生剪切/复制事件的情况下,通过所述全局中转中心向所述云剪贴板管控中心发送第一事件信息;所述多个工作方中的第二工作端,用于在监听到自身接收到所述第一事件信息后发生粘贴事件的情况下,通过所述全局中转中心向所述云剪贴板管控中心发送第二事件信息;所述云剪贴板管控中心,用于将接收到的第一事件信息通过所述全局中转中心推送至所述用户工作空间中的除所述第一工作方之外的其它工作方;在接收到第二事件信息的情况下,利用所述全局中转中心将所述第一工作方中的相关数据复制到所述第二工作方中,以供所述第二工作方完成粘贴;其中,所述工作方的类型包括物理终端和/或云实例。
- 根据权利要求1所述的系统,所述工作方中部署有云剪贴板代理服务,若所述工作方为云实例,则所述工作方监听自身发生的剪切/复制事件和粘贴事件的过程,包括:接收所述工作方连接的界面显示端同步的操控数据,所述操控数据由用户对所述界面显示端的外设进行操控而产生,所述界面显示端为物理终端;若利用所述云剪贴板代理服务感知到所述操控数据中包含剪切/复制行为数据,则确定所述工作方中发生剪切/复制事件;若利用所述云剪贴板代理服务感知到所述操控数据中包含粘贴行为数据,则确定所述工作方中发生粘贴事件。
- 根据权利要求2所述的系统,若所述第一工作方为物理终端,所述第二工作方为云实例,且所述第一工作方作为所述第二工作方的界面显示端;则所述第一工作方,用于:在监听到用户通过其外设在所述第二工作方的显示界面之外执行剪切/复制行为的情况下,通过所述全局中转中心向所述云剪贴板管控中心发送第一事件信息,以将所述第一事件信息推送至所述第二工作方;在监听到用户通过其外设在所述第二工作方的显示界面之内执行粘贴行为的情况下,将包含粘贴行为数据的操控数据同步至所述第二工作方,以供所述第二工作方监听到自身发生的粘贴事件并通过向所述云剪贴板管控中心发送所述第二事件信息而触发将所述第一工作方本地的数据粘贴至所述第二工作方中。
- 根据权利要求1所述的系统,所述第一工作方在通过所述全局中转中心向所述云剪贴板管控中心发送第一事件信息的过程中,用于:将所述第一事件信息发送至所述第一工作方关联的第一消息主题下的消息队列中, 以将所述第一事件信息传输至所述全局中转中心,所述全局中转中心已订阅所述第一消息主题;所述云剪贴板管控中心在将接收到的第一事件信息通过所述全局中转中心推送至所述用户工作空间中的除所述第一工作方之外的其它工作方的过程中,用于:为所述用户工作空间中的所述其它工作方生成路由信息并提供给所述全局中转中心;利用所述全局中转中心按照所述路由信息将所述第一事件信息路由到所述其它工作方各自关联的消息主题下的消息队列中,以供所述其它工作方通过订阅消息主题的方式接收到所述第一事件信息。
- 根据权利要求4所述的系统,在不同的地域region分别部署消息主题,所述工作方关联至其所在地域中部署的消息主题,所述多个工作方分布在不完全相同的地域region。
- 根据权利要求1所述的系统,所述第二工作方,还用于:在接收到所述第一事件信息后,启动针对粘贴事件的回调函数;在监听到自身发生粘贴事件的情况下,触发所述回调函数,以产生所述第二事件信息。
- 根据权利要求1所述的系统,所述云剪贴板管控中心在接收到第二事件信息的情况下,利用所述全局中转中心将所述第一工作方中的相关数据复制到所述第二工作方中过程中,用于:通过所述全局中转中心向所述第一工作方发送数据上传指令,以触发所述第一工作方将所述相关数据写入其关联的第一存储位置;通过所述全局中转中心将所述第一存储位置中的所述相关数据复制到所述第二工作方关联的第二存储位置中;通过所述全局中转中心向所述第二工作方发送数据下载指令,以触发所述第二工作方从其关联的第二存储位置下载所述相关数据。
- 根据权利要求7所述的系统,所述第一存储位置为所述第一工作方所在地域region中设置的对象存储OSS区或者所述第一工作方关联的第一消息主题下的消息队列;所述第二存储位置为所述第二工作方所在地域region中设置的对象存储OSS区或者所述第二工作方关联的第二消息主题下的消息队列。
- 根据权利要求8所述的系统,所述第一工作方,还用于:若其自身发生剪切/复制事件的相关数据的规格小于预设标准,则响应于所述数据上传指令,将所述相关数据写入所述第一工作方关联的第一消息主题下的消息队列中,以通过所述云剪贴板管控中心和所述全局中转中心将所述相关数据传递至所述第二工作方关联的第二消息主题下的消息队列中;若其自身发生剪切/复制事件的相关数据的规格不小于预设标准,则响应于所述数 据上传指令,将所述相关数据写入所述第一工作方关联的第一OSS区,以通过所述全局中转中心触发所述第一OSS区将所述相关数据复制到所述第二工作方关联的第二OSS区中。
- 根据权利要求7所述的系统,所述全局中转中心还用于:将所述相关数据的上传记录信息发送至所述云剪贴板管控中心;所述云剪贴板管控中心,还用于:在接收到所述第二事件信息的情况下,判断所述第二事件信息对应的相关数据是否以存在上传记录信息,如果是,则不再向所述第一工作方发送数据上传指令。
- 一种云剪贴板的实现方法,适用于云剪贴板系统中的云剪贴板管控设备,其中,所述云剪贴板系统中还包括用户工作空间内的多个工作方,所述多个工作方之间通过全局中转中心进行通达;所述方法包括:接收所述多个工作方中的第一工作方通过所述全局中转中心发送的第一事件信息,所述第一事件信息为所述第一工作方在监听到自身发生剪切/复制事件的情况下发出的;将接收到的第一事件信息通过所述全局中转中心推送至所述用户工作空间中的除所述第一工作方之外的其它工作方;接收所述多个工作方中的第二工作方通过所述全局中转中心发送的第二事件信息,所述第二事件信息为所述第二工作方在监听到自身发生粘贴事件的情况下发出的;在接收到第二事件信息的情况下,利用所述全局中转中心将所述第一工作方中的相关数据复制到所述第二工作方中,以供所述第二工作方完成粘贴;其中,所述工作方的类型包括物理终端和/或云实例。
- 一种云剪贴板的实现方法,适用于云剪贴板系统中的用户工作空间内的多个工作方,所述多个工作方之间通过全局中转中心进行通达,所述云剪贴板系统中还包括云剪贴板管控设备;所述方法包括:在监听到自身发生剪切/复制事件的情况下,通过所述全局中转中心向所述云剪贴板管控中心发送第一事件信息,以供所述云剪贴板管控中心将接收到的第一事件信息通过所述全局中转中心推送至所述用户工作空间中的其它工作方;利用所述云剪贴板管控中心和所述全局中转中心,将所述第一事件信息对应的相关数据提供给所述用户工作空间中发生了粘贴事件的工作方,以供其完成粘贴;在监听到自身发生粘贴事件的情况下,通过所述全局中转中心向所述云剪贴板管控中心发送第二事件信息,以供所述云剪贴板管控中心将所述用户工作空间中发生了剪切/复制事件的工作方中的相关数据复制到本工作方中,以完成粘贴;其中,所述工作方的类型包括物理终端和/或云实例。
- 一种云剪贴板管控设备,包括存储器、处理器和通信组件;所述存储器用于存储一条或多条计算机指令;所述处理器与所述存储器和所述通信组件耦合,用于执行所述一条或多条计算机指令,以用于:利用所述通信组件接收云剪贴板系统中用户工作空间内的第一工作方通过所述全局中转中心发送的第一事件信息,所述第一事件信息为所述第一工作方在监听到自身发生剪切/复制事件的情况下发出的;将接收到的第一事件信息通过所述全局中转中心推送至所述用户工作空间中的除所述第一工作方之外的其它工作方;利用所述通信组件接收所述用户工作空间内的第二工作方通过所述全局中转中心发送的第二事件信息,所述第二事件信息为所述第二工作方在监听到自身发生粘贴事件的情况下发出的;在接收到第二事件信息的情况下,利用所述全局中转中心将所述第一工作方中的相关数据复制到所述第二工作方中,以供所述第二工作方完成粘贴;其中,所述用户工作空间内的多个工作方之间通过全局中转中心进行通达,所述工作方的类型包括物理终端和/或云实例。
- 一种计算设备,包括存储器、处理器和通信组件;所述存储器用于存储一条或多条计算机指令;所述处理器与所述存储器和所述通信组件耦合,用于执行所述一条或多条计算机指令,以用于:在监听到自身发生剪切/复制事件的情况下,通过全局中转中心向云剪贴板系统中的云剪贴板管控中心发送第一事件信息,以供所述云剪贴板管控中心将接收到的第一事件信息通过所述全局中转中心推送至所述云剪贴板系统中用户工作空间内的其它计算设备;利用所述云剪贴板管控中心和所述全局中转中心,将所述第一事件信息对应的相关数据提供给所述用户工作空间中发生了粘贴事件的计算设备,以供其完成粘贴;在监听到自身发生粘贴事件的情况下,通过所述全局中转中心向所述云剪贴板管控中心发送第二事件信息,以供所述云剪贴板管控中心将所述用户工作空间中发生了剪切/复制事件的计算设备中的相关数据复制到本计算设备中,以完成粘贴;其中,所述用户工作空间内的多个计算设备之间通过全局中转中心进行通达,所述计算设备的类型包括物理终端和/或云实例。
- 一种存储计算机指令的计算机可读存储介质,当所述计算机指令被一个或多个处理器执行时,致使所述一个或多个处理器执行权利要求11或12任一项所述的云剪贴板实现方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211143844.2A CN115617540A (zh) | 2022-09-20 | 2022-09-20 | 一种云剪贴板的实现方法、设备、系统及存储介质 |
CN202211143844.2 | 2022-09-20 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2024061199A1 true WO2024061199A1 (zh) | 2024-03-28 |
Family
ID=84859140
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2023/119643 WO2024061199A1 (zh) | 2022-09-20 | 2023-09-19 | 一种云剪贴板的实现方法、设备、系统及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115617540A (zh) |
WO (1) | WO2024061199A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115617540A (zh) * | 2022-09-20 | 2023-01-17 | 阿里巴巴(中国)有限公司 | 一种云剪贴板的实现方法、设备、系统及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102521018A (zh) * | 2010-10-14 | 2012-06-27 | 微软公司 | 基于云的虚拟剪贴板 |
US20150207850A1 (en) * | 2012-09-11 | 2015-07-23 | Google Inc. | Clipboard |
CN112565425A (zh) * | 2020-12-03 | 2021-03-26 | 南京机敏软件科技有限公司 | 在多个跨云服务器主机会话的云应用程序间进行拷贝粘贴的方法 |
CN114301929A (zh) * | 2021-12-10 | 2022-04-08 | 阿里巴巴(中国)有限公司 | 云端剪贴板数据同步方法、装置、云服务器和系统 |
CN115617540A (zh) * | 2022-09-20 | 2023-01-17 | 阿里巴巴(中国)有限公司 | 一种云剪贴板的实现方法、设备、系统及存储介质 |
-
2022
- 2022-09-20 CN CN202211143844.2A patent/CN115617540A/zh active Pending
-
2023
- 2023-09-19 WO PCT/CN2023/119643 patent/WO2024061199A1/zh unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102521018A (zh) * | 2010-10-14 | 2012-06-27 | 微软公司 | 基于云的虚拟剪贴板 |
US20150207850A1 (en) * | 2012-09-11 | 2015-07-23 | Google Inc. | Clipboard |
CN112565425A (zh) * | 2020-12-03 | 2021-03-26 | 南京机敏软件科技有限公司 | 在多个跨云服务器主机会话的云应用程序间进行拷贝粘贴的方法 |
CN114301929A (zh) * | 2021-12-10 | 2022-04-08 | 阿里巴巴(中国)有限公司 | 云端剪贴板数据同步方法、装置、云服务器和系统 |
CN115617540A (zh) * | 2022-09-20 | 2023-01-17 | 阿里巴巴(中国)有限公司 | 一种云剪贴板的实现方法、设备、系统及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115617540A (zh) | 2023-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10567481B2 (en) | Work environment for information sharing and collaboration | |
JP6220338B2 (ja) | フォールトトレラント外部アプリケーションサーバ | |
US10983747B2 (en) | Remote desktop mirroring | |
KR102033198B1 (ko) | 제스처 또는 터치를 통해 사용자 인터페이스를 제어하는 최적화 기법 | |
US9774658B2 (en) | Orchestration framework for connected devices | |
EP3531290B1 (en) | Data backup method, apparatus, electronic device, storage medium, and system | |
US10530716B2 (en) | Voice chat mode self-adapting method and apparatus | |
US9712631B2 (en) | Push notification via file sharing service synchronization | |
KR20160016929A (ko) | 복수의 가상 머신들 사이의 가상 하드 디스크 공유 | |
WO2024061199A1 (zh) | 一种云剪贴板的实现方法、设备、系统及存储介质 | |
WO2015196798A1 (zh) | 一种剪切板处理方法、终端和系统 | |
CN108885557B (zh) | 分批的任务 | |
US10237344B2 (en) | Copy/paste files between remote agent and local machine in HTML5 view desktop | |
US10404797B2 (en) | Supporting multiple clipboard items in a virtual desktop infrastructure environment | |
WO2015176352A1 (zh) | 一种基于安卓系统的应用间信息交互方法及装置 | |
WO2018086454A1 (zh) | 页面数据处理方法和装置 | |
EP3286705A1 (en) | Smart attachment of cloud-based files to communications | |
US20240086360A1 (en) | File saving method and electronic device | |
KR20220091441A (ko) | 데이터 동기화 방법과 장치, 전자 기기, 저장 매체 및 컴퓨터 프로그램 | |
KR102116996B1 (ko) | 전자기기 원격제어 시스템 및 이의 운용방법 | |
US9774659B2 (en) | Bi-directional channel-based progress indicator | |
CN104516774A (zh) | 一种远程应用的操作方法及终端、服务器 | |
TWI511060B (zh) | 即時傳訊通訊裝置、方法及其非暫態電腦可讀取記錄媒體 | |
CN113360340A (zh) | 数据处理方法和数据处理装置 | |
US20230205566A1 (en) | Dynamic connection switching in virtual desktops under nested mode |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 23867486 Country of ref document: EP Kind code of ref document: A1 |