Data de-duplication for information storage systems
US-8930653-B1 · Jan 6, 2015 · US
US9832259B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9832259-B2 |
| Application number | US-201414318900-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jun 30, 2014 |
| Priority date | Jun 28, 2013 |
| Publication date | Nov 28, 2017 |
| Grant date | Nov 28, 2017 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A method, an apparatus, a terminal, and a server for synchronizing a terminal mirror are provided. The method includes: obtaining, by a terminal, multiple input events during running of application software; aggregating the multiple input events to obtain an aggregate event; and transmitting the aggregate event to the server, so that after parsing the aggregate event to obtain the multiple input events, the server processes the multiple input events by using a virtual machine that is of the terminal and set on the server, so as to obtain user data generated during the running of the application software. In the present invention, the terminal transmits the input events to the server in an event-driven manner, so that the server obtains the user data that is the same as that on the terminal that runs the application software, thereby ensuring that the server can back up complete user data.
Opening claim text (preview).
What is claimed is: 1. A method for synchronizing a terminal mirror, comprising: obtaining, by a terminal, multiple input events during running of application software; aggregating, by the terminal, the multiple input events to obtain an aggregate event; transmitting, by the terminal, the aggregate event to a server, so that after parsing the aggregate event to obtain the multiple input events, the server processes the multiple input events by using a virtual machine that is of the terminal and set on the server, so as to obtain user data generated during the running of the application software; wherein aggregating, by the terminal, the multiple input events to obtain an aggregate event comprises: obtaining, by the terminal, one current input event according to a generating sequence of the multiple input events, generating, by the terminal, bitmap information for each piece of attribute information of the current input event, wherein the bitmap information of each piece of attribute information is used to indicate whether the attribute information is the same as corresponding attribute information of a preceding input event of the current input event, determining, by the terminal, the bitmap information and attribute information, which is different from that of the preceding input event, of the current input event as data to be transmitted of the current input event, and combining, by the terminal after determining data to be transmitted of each input event of the multiple input events, the data to be transmitted of the multiple input events to form the aggregate event of the multiple input events. 2. The method according to claim 1 , wherein before aggregating, by the terminal, the multiple input events, the method further comprises: inserting, by the terminal, the obtained input events into an event queue according to an event generating sequence; and correspondingly, aggregating, by the terminal, the multiple input events to obtain an aggregate event comprises: aggregating, by the teiminal, the input events in the event queue according to a set time period to obtain the aggregate event. 3. The method according to claim 1 , wherein after obtaining the aggregate event, the method further comprises: compressing, by the terminal, the aggregate event to obtain a compressed aggregate event; and correspondingly, transmitting, by the terminal, the aggregate event to a server comprises: transmitting, by the terminal, the compressed aggregate event to the server. 4. A method for synchronizing a terminal mirror, comprising: receiving, by a server, an aggregate event transmitted by a terminal, wherein the aggregate event is an aggregate event obtained by the terminal by aggregating multiple input events after obtaining the multiple input events during running of application software; parsing, by the server, the aggregate event to obtain the multiple input events; processing, by the server, the multiple input events by using a virtual machine that is of the terminal and set on the server to obtain user data generated during the running of the application software; wherein parsing, by the server, the aggregate event to obtain the multiple input events comprises: obtaining, by the server, transmitted data of one current input event from the aggregate event in order, wherein the transmitted data comprises bitmap information of each piece of attribute information of the current input event and attribute information, which is different from that of a preceding input event, of the current input event, wherein the bitmap information of each piece of attribute information is used to indicate whether the attribute information is the same as corresponding attribute information of the preceding input event, obtaining, by the server according to indication of the bitmap information, attribute information, which is the same as that of the preceding input event, of the current input event from the attribute information of the preceding input event, and combining, by the server, the obtained same attribute information and the different attribute information comprised in the transmitted data to form the current input event. 5. The method according to claim 4 , wherein receiving, by the server, the aggregate event transmitted by the terminal comprises: receiving, by the server, a compressed aggregate event transmitted by the terminal, wherein the compressed aggregate event is an event obtained by the terminal after compressing the aggregate event; and before parsing, by the server, the aggregate event, the method further comprises: decompressing, by the server, the compressed aggregate event to obtain the aggregate event. 6. The method according to claim 4 , wherein processing, by the server, the multiple input events by using the virtual machine that is of the terminal and set on the server comprises: when the server receives a notification indicating that a change occurs on a system state of the virtual machine that is of the terminal and set on the server, determining whether the attribute information of the multiple input events matches the system state; and inserting, by the server, an input event corresponding to attribute information that matches the system state into a system of the virtual machine, so that the system invokes a processing function to process the input event. 7. A terminal, comprising: a processor; and a memory coupled to the processor, the memory comprising instructions that, when executed by the processor, cause the terminal to: obtain multiple input events during running of application software, and aggregate the multiple input events to obtain an aggregate event; transmit the aggregate event to a server, so that after parsing the aggregate event to obtain the multiple input events, the server processes the multiple input events by using a virtual machine that is of the terminal and set on the server, so as to obtain user data generated during the running of the application software; obtain one current input event according to a generating sequence of the multiple input events; generate bitmap information for each piece of attribute information of the current input event, wherein the bitmap information of each piece of attribute information is used to indicate whether the attribute information is the same as corresponding attribute information of a preceding input event of the current input event; determine the bitmap infoiniation and attribute information, which is different from that of the preceding input event, of the current input event as data to be transmitted of the current input event; and after determining the data to be transmitted of each input event of the multiple input events, combine the data to be transmitted of the multiple input events to form the aggregate event of the multiple input events. 8. The terminal according to claim 7 , wherein the memory further comprises instructions that, when executed by the processor, cause the server to: insert the obtained input events into an event queue according to an event generating sequence; and aggregate the input events in the event queue according to a set time period to obtain the aggregate event. 9. The terminal according to claim 7 , wherein the memory further comprises instructions that, when executed by the processor, cause the server to: compress the aggregate event to obtain a compressed aggregate event; and transmit the compressed aggregate event to a cloud server. 10. A server, comprising: a processor; and a memory coupled to the processor, the memory comprising instructions that, when executed by the processor, cause the server to: receive an aggregate event transmitted by a terminal, wher
Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes · CPC title
for networked environments · CPC title
involving virtual machines · CPC title
using a third party · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.