Same-account multi-client data fast synchronization method and system
By establishing a record table between the server and the client and realizing real-time update of the packet version code, the problem of inability to realize temporary data multi-terminal synchronization and server burden in the existing technology is solved, and the problem of multiple clients in the same account is realized. Quick synchronization and seamless data connection.
Patent Information
- Application Number
- CN202510005577.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-03
- Publication Date
- 2025-02-07
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
The existing multi-client and multi-end connection technology for the same account is limited to the synchronization of persistent data, and cannot achieve multi-end synchronization of temporary data, and it poses a great burden on the server, making it not suitable for high-concurrency scenarios.
By establishing a record table between the server and the client, the online status and packet version code of the client are updated in real time, and directly synchronizing data packets between the clients, the data synchronization is achieved quickly.
The temporary data synchronization between multiple clients of the same account is realized, reducing the burden on the server, improving the seamless connection between multiple ends, and improving the user experience.
Smart Images

Figure CN119402506A_ABST
Abstract
Description
Technical Field
[0001] Multiple embodiments of this specification relate to the field of information technology, and specifically to a method and system for quickly synchronizing data of multiple clients with the same account. Background Art
[0002] Multi-Client Synchronization or Multi-Endpoint Integration means that users can log in on different devices or platforms with the same account, and data synchronization or service sharing can be achieved between these devices. This technology is very common in modern Internet applications, such as social media, cloud storage services, instant messaging tools, etc. Specific applications of multi-end synchronization include multi-end login, message synchronization, file transfer, note synchronization, photo backup, shared albums, etc. Through multi-end login, users can log in to the same account on different devices such as mobile phones, computers, and tablets. And realize real-time synchronization of messages on all devices, supporting multiple devices to receive and send messages at the same time. Users can also transfer files between different devices, supporting multiple formats such as pictures, videos, and documents.
[0003] With the development of the Internet of Things (IoT), more and more smart devices will be connected to the Internet, and the demand for the same account to connect multiple clients and multiple terminals will also increase. Future systems will not only need to support more device types, but also be able to handle more complex service scenarios, such as smart homes, health monitoring, etc. However, the current multi-terminal connection is limited to the connection of persistent data, and it needs to rely on the server for data transfer. Not only does it fail to fully cover user needs, it also brings a heavy burden to the server and is not suitable for high concurrency situations. For this reason, it is necessary to continue to study the multi-terminal connection technology. Summary of the invention
[0004] Multiple embodiments of this specification describe a method and system for quickly synchronizing data of multiple clients with the same account.
[0005] In a first aspect, the embodiments of this specification provide a method for fast synchronization of data of multiple clients of the same account, which is run on a server, and the server is connected to multiple clients of multiple accounts, including the steps of: A record table is created for each online account to record its account information and client information, wherein the client information includes online status, data packet version code and IP address; According to the online status change request sent by the client, update the online status of the client corresponding to the account; Receive the data packet fingerprint uploaded by the client, assign a data packet version code to the corresponding client, and update the record table of the corresponding account; According to the request of the client, the record table of the corresponding account is sent to the client.
[0006] In a second aspect, the embodiments of this specification provide a method for fast synchronization of data of multiple clients with the same account, which is run on a client, and multiple clients with the same account are connected to a server, including the steps of: After the client logs in to the account, it initializes the local data package version code, queries the server and downloads the record table corresponding to the account; Check the data packet version code and IP address corresponding to other clients in the record table; When the local data packet version code is smaller than the data packet version code corresponding to other clients in the record table, establish communication with the other clients according to the corresponding IP address and obtain the corresponding data packet; After comparing the data packet fingerprint of the data packet with the data packet version code, updating the data packet version code and client data according to the data packet; Generate a data packet based on the user's operation, obtain the data packet fingerprint and upload it to the server.
[0007] In a third aspect, the embodiments of this specification provide a system for fast synchronization of data among multiple clients under the same account, including: A recording module, which establishes a record table for each online account to record its account information and client information, wherein the client information includes online status, data packet version code and IP address; An updating module, which updates the online status of the client corresponding to the account according to the online status change request sent by the client; An allocation module receives a data packet fingerprint uploaded by a client, allocates a data packet version code to the corresponding client, and updates the record table of the corresponding account; The sending module sends the record table of the corresponding account to the client according to the request of the client.
[0008] In a fourth aspect, an embodiment of this specification provides an electronic device, including a processor and a memory; The processor is connected to the memory; The memory is used to store executable program code; The processor runs a program corresponding to the executable program code by reading the executable program code stored in the memory, so as to execute the method described in any one of the above aspects.
[0009] In a fifth aspect, an embodiment of this specification provides a computer-readable storage medium having a computer program stored thereon, and when the computer program is executed by a processor, the method described in any one of the above aspects is implemented.
[0010] In a sixth aspect, an embodiment of the present specification provides a computer program product, including a computer program, which implements the method described in any of the above aspects when executed by a processor.
[0011] The beneficial effects brought by the technical solutions provided by some embodiments of this specification include at least: In multiple embodiments of this specification, the provided data fast synchronization method can further open up the data exchange channel between multiple clients of the same account, so that users can switch between clients more smoothly and achieve seamless connection. Through the data fast synchronization method, temporary data is synchronized between different clients, and the multi-terminal connection of the operation interface and temporary data is achieved, which is more convenient for users to use. It avoids users from making repeated inputs or losing temporary content due to switching clients, making the multi-client system more coordinated.
[0012] Other features and advantages of the various embodiments of the present specification will be further disclosed in the following detailed description and drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0013] In order to more clearly illustrate the technical solutions in the embodiments of this specification, the drawings required for use in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this specification. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0014] Figure 1 A schematic diagram of an application scenario of the method for rapid data synchronization provided in an embodiment of this specification.
[0015] Figure 2 A schematic diagram of the application architecture of the data rapid synchronization method provided in the embodiments of this specification.
[0016] Figure 3 A schematic diagram of the flow chart of the method for rapid data synchronization provided in the embodiments of this specification.
[0017] Figure 4 A schematic diagram of a method for generating a data packet version code according to an embodiment of this specification.
[0018] Figure 5 A schematic diagram of a method for quickly synchronizing data performed by a client provided in an embodiment of this specification.
[0019] Figure 6 A schematic diagram of another application scenario of the data rapid synchronization method provided in the embodiments of this specification.
[0020] Figure 7 A schematic diagram of another application scenario of the data rapid synchronization method provided in the embodiments of this specification.
[0021] Figure 8 A schematic diagram of a fast data synchronization system provided in an embodiment of this specification.
[0022] Fig. 9 A schematic diagram of an electronic device provided in an embodiment of this specification. DETAILED DESCRIPTION
[0023] The following is an explanation and description of the technical solutions of the embodiments of this specification in conjunction with the drawings of the embodiments of this specification, but the following embodiments are only preferred embodiments of this specification, not all. Based on the embodiments in the implementation mode, other embodiments obtained by those skilled in the art without creative work are all within the scope of protection of this specification.
[0024] The terms "first", "second", "third", etc. in the description and claims of this specification and the above-mentioned drawings are used to distinguish different objects, rather than to describe a specific order. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions. For example, a process, method, system, product or device that includes a series of steps or units is not limited to the listed steps or units, but optionally includes steps or units that are not listed, or optionally includes other steps or units inherent to these processes, methods, products or devices.
[0025] In the following description, terms such as "inside", "outside", "up", "down", "left", "right", etc. that indicate directions or positional relationships are only used to facilitate the description of the embodiments and simplify the description, and do not indicate or imply that the device or element referred to must have a specific direction, be constructed and operated in a specific direction, and therefore should not be understood as a limitation of this specification.
[0026] The data involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection of relevant data complies with the relevant laws, regulations and standards of relevant countries and regions.
[0027] Before describing the technical solution in this specification, an introduction is given to the application scenarios and related technologies of the technical solution.
[0028] With the development of Internet of Things and information technology, more and more electronic devices are connected to the Internet. How to coordinate and control these electronic devices has become an important research topic. Users will not only use the same account on smartphones, tablets and personal computers, but also achieve seamless connection and data synchronization on multiple terminals such as smart TVs, wearable devices, and smart home devices. The technology of connecting multiple clients with the same account and more than 10 terminals is a technology developed to achieve this goal, and it is also the development trend of future operating systems.
[0029] The technology of connecting multiple clients with the same account 10 multiple terminals means that users can log in on different devices or platforms with the same account, and data synchronization or service sharing can be achieved between these devices. This technology has been applied to many fields such as social media, cloud storage services, and instant messaging tools. Through multi-terminal connection, users can switch seamlessly on different devices and enjoy a consistent service experience, which greatly improves convenience and user experience. Such as multi-terminal login, message synchronization, file transfer, note synchronization, photo backup, shared albums and other specific applications.
[0030] From a technical perspective, using responsive design can ensure that the application can be displayed well on different devices. A cross-platform framework needs to be used in development. Use a more low-level communication protocol, such as the WebSocket protocol, to achieve real-time two-way communication to meet the needs of frequent data communication. Use message queues for asynchronous processing and decouple system components. Incremental synchronization of data only synchronizes the changed data to reduce the amount of data transmission. And manage data through version numbers to ensure data consistency. When multiple devices modify the same data at the same time, there needs to be a clear conflict resolution strategy, such as the last writer wins, merge strategy, etc. At the same time, it is also necessary to use authentication and data encryption technologies to ensure data security.
[0031] The current multi-terminal synchronization only involves the synchronization of persistent data, and the process requires the use of server 11 for data storage or transfer. Since it only involves the synchronization of persistent data, temporary data and temporary interfaces cannot be synchronized with multiple terminals, which still leaves multi-terminal synchronization missing, and users still need to perform repetitive work. In addition, the process puts a lot of pressure on server 11, which is not conducive to high concurrency.
[0032] This specification discloses a method for directly synchronizing data between clients 10, reducing the pressure on the server 11, and realizing the synchronization of temporary data, further enhancing the seamlessness of switching between multiple terminals. Figure 1, after the user opens APP A on the mobile phone and logs in to his account, he enters the other party's account number in the transfer interface, but the input is not complete and is interrupted by some affairs. Then, the user opens the tablet computer and opens APP A. APP A automatically logs in to the user's account based on the multi-terminal login technology. At this time, APP A on the tablet computer executes the same account multi-client 10 data fast synchronization method disclosed in this specification, and synchronizes the other party's account number (and the transfer interface) that the user has not yet fully entered. Therefore, after APP A on the tablet computer is started (with a slight delay), it automatically switches to the transfer interface and automatically fills in the other party's account number (the incomplete other party account number that the user has entered). At this time, the user can continue to enter the other party's account number. That is, there is no need to repeat the operation to open the transfer interface, nor is there any need to repeat the input part. That is, with the help of the same account multi-client 10 data fast synchronization method disclosed in this specification, seamless connection between multiple terminals is achieved. At the same time, a record table is established only for online accounts on the server 11, so that the record table can be stored only in the memory of the server 11, improving the response speed of the server 11 to the status of the client 10.
[0033] The technical solutions provided in this manual are applied to Figure 2 The system architecture shown, Figure 2 1 is an architectural diagram of the system architecture in the embodiments of this specification. The system architecture includes a server 11 and a client 10. The server 11 involved in this specification can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, content delivery networks (CDN), and big data and artificial intelligence platforms.
[0034] The client 10 may be a smart phone, a tablet computer, a laptop computer, a PDA, a personal computer, a smart speaker, a smart TV, a smart watch, a vehicle-mounted device, a wearable device, etc., but is not limited thereto. The client 10 and the server 11 may be directly or indirectly connected via wired or wireless communication, which is not limited in this specification. The number of servers 11 and clients 10 is also not limited.
[0035] Since this manual involves some professional terms, these professional terms will be introduced below.
[0036] Data packet fingerprint, in this manual, refers to the digital fingerprint of the data packet. Digital fingerprinting is a technology used to uniquely identify and track devices, users or data. Use hash functions (such as MD5, SHA-256) to convert the extracted feature combination into a fixed-length string, namely the digital fingerprint. A hash function is an algorithm that converts an input of arbitrary length (usually called a message or key) into a fixed-length output (called a hash value or hash value). The design goal of a hash function is to make different inputs produce different outputs, and even if the input changes slightly, the output will change significantly.
[0037] Version number: The version number in this specification refers to a string of numbers that is used to uniquely identify a data packet and is incremented by 1. In a record table, the version number is unique.
[0038] The operation interface in this manual refers to the visual part where users interact with the device, including the graphic elements, controls, layout and interaction methods on the screen.
[0039] This specification first provides a method for quickly synchronizing data of multiple clients 10 with the same account, which runs on a server 11, and the server 11 is connected to multiple clients 10 with multiple accounts. Figure 3 , including the steps of: Step S101) A record table is created for each online account to record the account information and the client 10 information, wherein the client 10 information includes the online status, the data packet version code and the IP address.
[0040] The server 11 creates a record table for each online account, and an online account means that at least one client 10 is online. That is, if all the clients 10 corresponding to the account are not online, it means that the account is not online. When the account is not online, the record table will be released. After the record table is released, the server 11 will no longer store any information in the record table. The next time the account is online, a new record table will be created and initialized, and the record table will be updated according to the client 10 activity. The account information is used to record the account information, and the client 10 information records the relevant information of the client 10. Please refer to Table 1. Exemplarily, the account information includes login name, user ID, registration time, last login time, and last active time. Among them, the account information should at least include login name and user ID. Exemplarily, the client 10 information includes client 10 type, client 10 last active time, online status, data packet version code, IP address, client 10 first login time, etc. Among them, the client 10 information should at least include online status, data packet version code, and IP address.
[0041] Table 1 Record table
[0042] Step S102) Update the online status of the client 10 of the corresponding account according to the online status change request sent by the client 10. For example, when the laptop logs into the account, the laptop sends an online status change request, and the record table will update the online status of the laptop to online.
[0043] Step S103) Receive the data packet fingerprint uploaded by the client 10, assign a data packet version code to the corresponding client 10, and update the record table of the corresponding account. The data packet version code is obtained by partial splicing of the version number and the data packet fingerprint. Please refer to Table 1 again, which gives several examples of data packet version codes. For example, in the data packet version code 000126ECD1B, the version number is 000126, and ECD1B is the last 5 digits of the data packet fingerprint.
[0044] Step S104 ) According to the request of the client 10 , the record table of the corresponding account is sent to the client 10 .
[0045] On the other hand, please see the attached Figure 4 , receiving a data packet fingerprint uploaded by a client 10, assigning a data packet version code to the corresponding client 10, and updating the record table of the corresponding account includes: Step S201) Obtain the account corresponding to the client 10 and read the record table of the account.
[0046] Step S202) Obtain the latest data packet version code according to the record table, and read the version number and part of the data packet fingerprint therein.
[0047] Step S203 ) compares a portion of the data packet fingerprint in the latest data packet version code in the record table with the data packet fingerprint uploaded by the client 10 .
[0048] Step S204 ) When the latest part of the data packet fingerprint in the record table is different from the data packet fingerprint uploaded by the client 10 , the version number is increased by 1 as the new version number, and the part of the data packet fingerprint uploaded by the client 10 is extracted.
[0049] Step S205) Generate a data packet version code based on the new version number and the part of the data packet fingerprint uploaded by the client 10 and assign it to the client 10, and update the record table of the corresponding account.
[0050] The data packet fingerprint is obtained by extracting the digital fingerprint of the data packet, that is, extracting the hash value of the data packet. Hash value, also known as hash value, is a string of characters of fixed length converted into data of any length through a specific mathematical algorithm (hash function or hash function). This process is irreversible, that is, it is difficult to infer the original data from the hash value. Regardless of the size of the input data, the hash function always produces an output of fixed length. Exemplarily, MD5, SHA-256, BLAKE2, RIPEMD-160 and other functions are used to extract hash values.
[0051] When all the clients 10 of the online account are offline, the record table of the account is deleted. The record table does not need to be persistently stored, so it is not necessary to use a hard disk for storage. When the memory of the server 11 is sufficient, the record table can be stored in memory. This can quickly respond to changes in the status of the client 10.
[0052] On the other hand, this specification also provides a method for fast synchronization of data of multiple clients 10 with the same account, which runs on the client 10, and multiple clients 10 with the same account are connected to the server 11, please refer to the attached Figure 5 , including the steps of: Step S301) After logging into the account, the client 10 initializes the local data package version code, queries the server 11 and downloads the record table corresponding to the account; Step S302) Check the data packet version code and IP address corresponding to other clients 10 in the record table; Step S303) when the local data packet version code is smaller than the data packet version code corresponding to other clients 10 in the record table, establish communication with the other clients 10 according to the corresponding IP address and obtain the corresponding data packet; Step S304) after comparing the data packet fingerprint of the data packet with the data packet version code, update the data packet version code and the client 10 data according to the data packet; Step S305 ) Generate a data packet according to the user's operation, obtain the data packet fingerprint and upload it to the server 11 .
[0053] When initializing the local data packet version code, the version number is the initial value. For example, the initial value of the version number is 000000. Therefore, when the client 10 logs in to the account, if there are other clients 10 with the same account that have uploaded data packet fingerprints and obtained the assigned data packet version code, it will inevitably cause the local data packet version code to be smaller than the corresponding data packet version code of other clients 10 in the record table. At this time, the client 10 will immediately obtain the corresponding data packet.
[0054] Specifically, in step S305), the method of generating a data packet according to the user's operation, obtaining the data packet fingerprint and uploading it to the server 11 includes the following steps: When a user's operation generates temporary data, cache the temporary data; When the user stops operating for a preset time, a data packet is generated according to the temporary data; Extracting a digital fingerprint of a data packet, wherein the digital fingerprint is used as a data packet fingerprint; The data packet fingerprint is uploaded to the server 11 .
[0055] On the other hand, the method for updating the data of the client 10 according to the data packet comprises the steps of: Acquire the temporary data from the data packet, and determine the operation interface corresponding to the temporary data; The interface is switched to the operation interface, and the content of the operation interface is rendered according to the temporary data.
[0056] For example, please refer to the attached Figure 1 When the user performs a transfer operation, temporary data will be generated when entering the receiving account number. Then, the user is interrupted by other transactions, causing the user to stop operating for a preset period of time. At this time, the mobile phone generates a data packet based on the temporary data of the receiving account number that the user has entered. As an example, the data packet is {<receiving account number, 1XXXXXX>, <generation timestamp, 1730857352>}. That is, the data packet is recorded in the form of KV values, and the data packet has two KV values. The digital fingerprint of the data packet is extracted as the data packet fingerprint and uploaded to server 11. Server 11 assigns a data packet version code. That is, the temporary data includes the content in the input box of the current operation interface. In particular, the temporary data includes the content in the input box of the current operation interface that has not been completed. Incomplete input means that the input box has not lost focus, or has lost focus because the device screen is turned off.
[0057] Then, the user picks up the tablet and starts APP A. When APP A is started on the tablet, APP A will log in to the same account and quickly obtain a record table from the server 11, and then communicate with the smartphone to obtain a data packet based on the record table. The tablet then extracts temporary data from the data packet and obtains <receiving account number, 1XXXXXX>, <generation timestamp, 1730857352>. According to <receiving account number, 1XXXXXX>, it can be known that the user is operating on the transfer interface. At this time, APP A on the tablet will jump to the transfer interface and fill in "1XXXXXX" in the receiving account number input box in the transfer interface. Then the user only needs to continue the remaining part of the receiving account number in the input box. Multi-terminal data synchronization is achieved, multi-terminal operations are seamlessly connected, the amount of repeated data input by users is reduced, and the efficiency of user operations is improved.
[0058] For another exemplary embodiment, please refer to the attached Figure 6 , the user uses a smart phone to search for "autumn and winter sweaters" through a shopping app. The shopping app obtains four sweater products, sweater <one> to sweater <four>, from its server 11. The product search terms and sweater products are temporary data. At this time, the user leaves for a short while due to something. At this time, the smart phone will generate a data packet based on the product search terms and the four sweater products. The data packet also records all the information of the product through the KV value, including product information such as picture address, product ID, price and purchase link. The specific product information can be obtained according to the public technology in this field. The smart phone extracts the data packet fingerprint and uploads it to the server 11, and the server 11 will assign the data packet version code.
[0059] The user then opens the shopping app on the tablet. The shopping app on the tablet will automatically log in to the same account, and after logging in, it will query and obtain the data packet version code corresponding to the data packet fingerprint uploaded by the smartphone. And then obtain the data packet, obtain temporary data from the data packet, and obtain the product search terms and product information of four sweater products from the temporary data. And determine that the temporary data is generated on the product search results page. The shopping app on the tablet will switch to the product search results interface and fill in the search box according to the product search terms. Then, according to the product information of the four sweater products, fill in the first four products in the product list. The user can thus achieve seamless connection when switching between different clients 10, and continue to browse the products that were not browsed before. That is, the temporary data includes the result data of the current operation interface. For example, the product search results are the result data of the current operation interface.
[0060] For another exemplary embodiment, please refer to the attached Figure 7 , the user uses a smart phone to communicate with other partners through an instant messaging APP. When the communication content is being input, it is interrupted. Then the user picks up the tablet computer and uses the same instant messaging APP on the tablet computer. The tablet computer obtains temporary data because it executes the same account multi-client 10 data rapid synchronization method disclosed in this specification. And according to the temporary data, the chat window is switched to the corresponding partner, and the content "Please ask about XX project" that the user has previously entered on the smart phone is directly filled in the chat input box, and the user can continue to enter on this basis. That is, the temporary data includes the content in the input box of the current operation interface. In particular, the temporary data includes the content in the input box of the current operation interface that has not been completed.
[0061] The smart phone and the tablet computer can exchange data in a local area network by means of the local area network. For example, the smart phone and the tablet computer are connected to the same WIFI local area network, and data exchange is achieved by means of the WIFI local area network. Alternatively, data exchange between the clients 10 can be achieved by other technologies disclosed in the art.
[0062] On the other hand, this manual provides a system for fast synchronization of data between multiple clients 10 under the same account. Figure 8 ,include: The recording module 100 establishes a record table for each online account to record its account information and client 10 information, wherein the client 10 information includes online status, data packet version code and IP address; An updating module 200, which updates the online status of the client 10 of the corresponding account according to the online status change request sent by the client 10; The allocation module 300 receives the data packet fingerprint uploaded by the client 10, allocates a data packet version code to the corresponding client 10, and updates the record table of the corresponding account; The sending module 400 sends the record table of the corresponding account to the client 10 according to the request of the client 10 .
[0063] See also Fig. 9 A schematic diagram of the structure of an electronic device provided in an embodiment of this specification is shown.
[0064] like Fig. 9As shown, the electronic device 1100 may include: at least one processor 1101, at least one network interface 1104, a user interface 1103, a memory 1105 and at least one communication bus 1102. Among them, the communication bus 1102 can be used to realize the connection and communication of the above-mentioned components. Among them, the user interface 1103 may include a button, and the optional user interface may also include a standard wired interface and a wireless interface. Among them, the network interface 1104 may include but is not limited to a Bluetooth module, an NFC module, a Wi-Fi module, etc. Among them, the processor 1101 may include one or more processing cores. The processor 1101 uses various interfaces and lines to connect various parts in the entire electronic device 1100, and executes various functions and processes data of the routing device 1100 by running or executing instructions, programs, code sets or instruction sets stored in the memory 1105, and calling data stored in the memory 1105. Optionally, the processor 1101 can be implemented in at least one hardware form of DSP, FPGA, and PLA. The processor 1101 may integrate one or a combination of CPU, GPU and modem, etc. Among them, the CPU mainly processes the operating system, user interface and application programs, etc.; the GPU is responsible for rendering and drawing the content to be displayed on the display screen; the modem is used to process wireless communication.
[0065] It is understandable that the above-mentioned modem may not be integrated into the processor 1101, but may be implemented by a separate chip.
[0066] Among them, the memory 1105 may include RAM or ROM. Optionally, the memory 1105 includes a non-transitory computer-readable medium. The memory 1105 can be used to store instructions, programs, codes, code sets or instruction sets. The memory 1105 may include a program storage area and a data storage area, wherein the program storage area may store instructions for implementing an operating system, instructions for at least one function (such as a touch function, a sound playback function, an image playback function, etc.), instructions for implementing the above-mentioned various method embodiments, etc.; the data storage area may store data involved in the above-mentioned various method embodiments, etc. The memory 1105 may also be at least one storage device located away from the aforementioned processor 1101. The memory 1105 as a computer storage medium may include an operating system, a network communication module, a user interface module and an application. The processor 1101 may be used to call the application stored in the memory 1105 and execute the methods in the above-mentioned multiple embodiments.
[0067] The embodiments of this specification also provide a computer-readable storage medium, which stores instructions, and when the instructions are executed on a computer or a processor, the computer or the processor executes the multiple steps in the above embodiments. If the components of the above electronic device are implemented in the form of software functional units and sold or used as independent products, they can be stored in the computer-readable storage medium.
[0068] The embodiments of this specification also provide a computer program product, including a computer program, which implements multiple steps in the above embodiments when executed by a processor.
[0069] In the absence of conflict, the technical features in this embodiment and implementation scheme can be combined arbitrarily.
[0070] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented by software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes a plurality of computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function described in the embodiment of this specification is generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium or transmitted through the computer-readable storage medium. The computer instructions may be transmitted from a website site, a computer, a server 11 or a data center to another website site, a computer, a server 11 or a data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium may be any available medium that a computer can access or a data storage device such as a server 11, a data center, etc. that includes multiple available media integrated. The available medium may be a magnetic medium (eg, a floppy disk, a hard disk, a magnetic tape), an optical medium (eg, a digital versatile disc (DVD)), or a semiconductor medium (eg, a solid state disk (SSD)), etc.
[0071] When implemented by hardware or firmware, the aforementioned method flow is programmed into the hardware circuit to obtain the corresponding hardware circuit structure and realize the corresponding function. For example, a programmable logic device (PLD) (such as a field programmable gate array (FPGA)) is such an integrated circuit, and its logic function is determined by the user programming the device. The designer programs by himself to "integrate" a digital system on a PLD, without asking a chip manufacturer to design and make a dedicated integrated circuit chip. Moreover, nowadays, instead of manually making integrated circuit chips, this programming is mostly implemented by "logic compiler" software, which is similar to the software compiler used when writing program development, and the original code before compilation must also be written in a specific programming language, which is called hardware description language (HDL), and HDL is not just one, but many. Those skilled in the art should also be aware that it is only necessary to program the method flow slightly in the above-mentioned hardware description languages and program it into the integrated circuit to easily obtain the hardware circuit that implements the logic method flow.
[0072] The embodiments described above are merely preferred embodiments of this specification and are not intended to limit the scope of this specification. Without departing from the design spirit of this specification, various modifications and improvements made to the technical solutions of this specification by ordinary technicians in this field should fall within the scope of protection determined by the claims of this specification.
Claims
1. A method for fast synchronization of data of multiple clients with the same account, running on a server, wherein the server is connected to multiple clients of multiple accounts, characterized in that: Includes steps: A record table is created for each online account to record its account information and client information, wherein the client information includes online status, data packet version code and IP address; According to the online status change request sent by the client, update the online status of the client corresponding to the account; Receive the data packet fingerprint uploaded by the client, assign a data packet version code to the corresponding client, and update the record table of the corresponding account; According to the request of the client, the record table of the corresponding account is sent to the client.
2. The method for fast synchronization of data among multiple clients under the same account according to claim 1, characterized in that: The data packet version code is obtained by partially concatenating the version number and the data packet fingerprint. The method of receiving a data packet fingerprint uploaded by a client, assigning a data packet version code to the corresponding client, and updating the record table of the corresponding account includes: Obtain the account corresponding to the client, and read the record table of the account; Obtain the latest data packet version code according to the record table, and read the version number and part of the data packet fingerprint; Compare a portion of the data packet fingerprint in the latest data packet version code in the record table with the data packet fingerprint uploaded by the client; When the latest part of the data packet fingerprint in the record table is different from the data packet fingerprint uploaded by the client, the version number is increased by 1 as the new version number, and the part of the data packet fingerprint uploaded by the client is extracted; According to the new version number and the part of the data packet fingerprint uploaded by the client, a data packet version code is generated and allocated to the client, and the record table of the corresponding account is updated.
3. The method for fast synchronization of data among multiple clients under the same account according to claim 2, characterized in that: When all clients of an online account are offline, the record table of the account is deleted.
4. A method for fast synchronization of data of multiple clients with the same account, which runs on the client, and multiple clients with the same account are connected to the server, characterized in that: Includes steps: After the client logs in to the account, it initializes the local data package version code, queries the server and downloads the record table corresponding to the account; Check the data packet version code and IP address corresponding to other clients in the record table; When the local data packet version code is smaller than the data packet version code corresponding to other clients in the record table, establish communication with the other clients according to the corresponding IP address and obtain the corresponding data packet; After comparing the data packet fingerprint of the data packet with the data packet version code, updating the data packet version code and client data according to the data packet; Generate a data packet based on the user's operation, obtain the data packet fingerprint and upload it to the server.
5. The method for fast synchronization of data among multiple clients under the same account according to claim 4, characterized in that: The method for generating a data packet according to the user's operation, obtaining the data packet fingerprint and uploading it to the server comprises the following steps: When a user's operation generates temporary data, cache the temporary data; When the user stops operating for a preset time, a data packet is generated according to the temporary data; Extracting a digital fingerprint of a data packet, wherein the digital fingerprint is used as a data packet fingerprint; The data packet fingerprint is uploaded to the server.
6. The method for fast synchronization of data among multiple clients under the same account according to claim 4, characterized in that: The method for updating client data according to the data packet comprises the steps of: Acquire the temporary data from the data packet, and determine the operation interface corresponding to the temporary data; The interface is switched to the operation interface, and the content of the operation interface is rendered according to the temporary data.
7. A system for fast synchronization of data between multiple clients under the same account, characterized in that: include: A recording module, which establishes a record table for each online account to record its account information and client information, wherein the client information includes online status, data packet version code and IP address; An updating module, which updates the online status of the client corresponding to the account according to the online status change request sent by the client; An allocation module receives a data packet fingerprint uploaded by a client, allocates a data packet version code to the corresponding client, and updates the record table of the corresponding account; The sending module sends the record table of the corresponding account to the client according to the request of the client.
8. An electronic device, characterized in that including a processor and a memory; The processor is connected to the memory; The memory is used to store executable program code; The processor runs a program corresponding to the executable program code by reading the executable program code stored in the memory, so as to execute the method according to any one of claims 1 to 6.
9. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the method according to any one of claims 1 to 6 is implemented.
10. Computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the method according to any one of claims 1 to 6 is implemented.
Citation Information
Patent Citations
Data synchronizing method and apparatus
CN101340274A
Synchronized method and device of application data across devices
CN102546779A
Business data updating method, system, client side and server
CN104580085A
Multi-terminal linkage method and system, and associated equipment
CN105337926A
Multi-terminal data synchronization method and device, equipment and medium
CN112311840A