Method and device for managing user data of user account, equipment and medium
By detecting and processing the differences between user data copies, a third copy of user data is generated, which solves the problem of data conflicts during data sharing, reduces the risk of data loss and improves the stability of data sharing.
Patent Information
- Application Number
- CN202311282129.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-09-28
- Publication Date
- 2025-03-28
AI Technical Summary
During the data sharing process, data conflicts may occur due to equipment failures, network failures, etc., resulting in an increased risk of data loss.
By obtaining two copies of user data from the server device and the client device, detecting the differences between the copies, determining the operations that lead to the differences, and generating a third copy of user data based on the complexity of the operations, so as to preserve the execution results of the complex operations as much as possible.
Reduces the risk of data loss, reduces the operational complexity of users in recovering lost data, and improves stability in the data sharing process.
Smart Images

Figure CN119719215A_ABST
Abstract
Description
Technical Field
[0001] Exemplary implementations of the present disclosure relate generally to data conflict management, and more particularly to methods, apparatuses, devices, and computer-readable storage media for managing conflicts in user data of user accounts. Background Art
[0002] With the development of computer technology, data can be shared between multiple devices. During the data sharing process, data conflicts may occur between devices due to device failure, network failure, etc. At this time, it is expected that data conflicts can be resolved in a more effective way to reduce the risk of data loss. Summary of the invention
[0003] In a first aspect of the present disclosure, a method for managing user data of a user account is provided. In the method, a first copy of the user data is obtained from a server device connected to a client device. A second copy of the user data is obtained from a client device logged in using the user account. In response to determining that there is a difference between the first copy and the second copy, at least one operation associated with the difference is determined. Based on the complexity of the at least one operation, a third copy of the user data is generated based on the first copy and the second copy.
[0004] In a second aspect of the present disclosure, a device for managing user data of a user account is provided. The device includes: a first acquisition module configured to acquire a first copy of the user data from a server device connected to a client device; a second acquisition module configured to acquire a second copy of the user data from a client device logged in using the user account; a determination module configured to determine at least one operation associated with the difference in response to determining that there is a difference between the first copy and the second copy; and a generation module configured to generate a third copy of the user data from the first copy and the second copy based on the complexity of the at least one operation.
[0005] In a third aspect of the present disclosure, an electronic device is provided. The electronic device includes: at least one processing unit; and at least one memory, the at least one memory is coupled to the at least one processing unit and stores instructions for execution by the at least one processing unit, and when the instructions are executed by the at least one processing unit, the electronic device executes the method according to the first aspect of the present disclosure.
[0006] In a fourth aspect of the present disclosure, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the processor implements the method according to the first aspect of the present disclosure.
[0007] It should be understood that the content described in this content section is not intended to limit the key features or important features of the implementation of the present disclosure, nor is it intended to limit the scope of the present disclosure. Other features of the present disclosure will become easy to understand through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0008] In the following, in conjunction with the accompanying drawings and with reference to the following detailed description, the above and other features, advantages and aspects of various implementations of the present disclosure will become more apparent. In the accompanying drawings, the same or similar figure labels represent the same or similar elements, wherein:
[0009] Figure 1 A block diagram showing an application environment according to an exemplary implementation of the present disclosure is shown;
[0010] Figure 2 A block diagram illustrating a method for managing user data of a user account according to some implementations of the present disclosure is shown;
[0011] Figure 3 A block diagram illustrating the complexity of user operations according to some implementations of the present disclosure;
[0012] Figure 4 A block diagram for generating a third copy according to some implementations of the present disclosure is shown;
[0013] Figure 5 A block diagram for combining a first replica and a second replica to generate a third replica according to some implementations of the present disclosure is shown;
[0014] Figure 6 A block diagram showing user data including multiple levels according to some implementations of the present disclosure is shown;
[0015] Figure 7 A block diagram for sharing user data among multiple client devices according to some implementations of the present disclosure is shown;
[0016] Figure 8 A flowchart illustrating a method for managing user data of a user account according to some implementations of the present disclosure;
[0017] Fig. 9 A block diagram illustrating an apparatus for managing user data of a user account according to some implementations of the present disclosure; and
[0018] Fig.10 A block diagram of a device capable of implementing multiple implementations of the present disclosure is shown. DETAILED DESCRIPTION
[0019] The implementation of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although certain implementations of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be interpreted as being limited to the implementations described herein. On the contrary, these implementations are provided to provide a more thorough and complete understanding of the present disclosure. It should be understood that the drawings and implementations of the present disclosure are only for exemplary purposes and are not intended to limit the scope of protection of the present disclosure.
[0020] In the description of the implementation methods of the present disclosure, the term "including" and similar terms should be understood as open inclusion, that is, "including but not limited to". The term "based on" should be understood as "based at least in part on". The term "an implementation" or "the implementation" should be understood as "at least one implementation". The term "some implementations" should be understood as "at least some implementations". The following may also include other explicit and implicit definitions. As used herein, the term "model" can represent the association relationship between various data. For example, the above-mentioned association relationship can be obtained based on a variety of technical solutions currently known and / or to be developed in the future.
[0021] It is understandable that the data involved in this technical solution (including but not limited to the data itself, the acquisition or use of the data) shall comply with the requirements of relevant laws, regulations and relevant provisions.
[0022] It is understandable that before using the technical solutions disclosed in the embodiments of the present disclosure, the types, scope of use, usage scenarios, etc. of the personal information involved in the present disclosure should be informed to the user and the user's authorization should be obtained in an appropriate manner in accordance with relevant laws and regulations.
[0023] For example, in response to receiving an active request from a user, a prompt message is sent to the user to clearly prompt the user that the operation requested to be performed will require obtaining and using the user's personal information. Thus, the user can autonomously choose whether to provide personal information to software or hardware such as an electronic device, application, server, or storage medium that performs the operation of the technical solution of the present disclosure according to the prompt message.
[0024] As an optional but non-limiting implementation, in response to receiving an active request from the user, the prompt information is sent to the user in a manner such as a pop-up window, in which the prompt information can be presented in text form. In addition, the pop-up window can also carry a selection control for the user to choose "agree" or "disagree" to provide personal information to the electronic device.
[0025] It is understandable that the above notification and the process of obtaining user authorization are merely illustrative and do not constitute a limitation on the implementation of the present disclosure. Other methods that meet relevant laws and regulations may also be applied to the implementation of the present disclosure.
[0026] The term "in response to" as used herein refers to a state in which a corresponding event occurs or a condition is satisfied. It will be understood that the timing of executing a subsequent action executed in response to the event or condition is not necessarily strongly related to the time when the event occurs or the condition is satisfied. For example, in some cases, the subsequent action may be executed immediately when the event occurs or the condition is satisfied; while in other cases, the subsequent action may be executed some time after the event occurs or the condition is satisfied.
[0027] Example Environment
[0028] Figure 1 FIG. 1 is a block diagram of an application environment 100 according to an exemplary implementation of the present disclosure. Figure 1 As shown, application environment 100 may include multiple devices, for example, server device 110 may be connected to multiple client devices 120, 122, ..., and 124 via network 130. User 150 may use user account 140 to log in to any of the multiple client devices 120, 122, ..., and 124.
[0029] The user 150 can perform a desired operation on the logged-in device to modify the user data 160 associated with the user account 140 of the user 150. During the modification of the user data 160, the latest user data 160 can be uploaded to the server device 110 in real time, so as to generate shared user data that can be shared between the various client devices 120, 122, ..., and 124 at the server device 110. When the user uses the user account 140 to log in at other client devices (e.g., client devices 122, ..., and 124), the server device 110 can transmit the shared user data to the client device 122. At this time, no matter which client device is logged in using the user account 140, the latest user data can be accessed at the logged-in client device via the server device 110.
[0030] However, during the operation of each client device, network, and server device, problems such as failure and / or delay may occur, which may result in multiple copies of user data. During the data sharing process, data conflicts may occur between various devices due to device failure, network failure, etc. At this time, it is expected that data conflicts can be resolved in a more effective way to reduce the risk of data loss.
[0031] Highlights of the User Data Management Process
[0032] In order to at least partially address the deficiencies in the prior art, according to an exemplary implementation of the present disclosure, a method for managing user data of a user account is proposed. In summary, if it is determined that there are differences between copies of user data, the operation that caused the difference can be determined, and then the copies can be used to generate a final copy based on the complexity of the operation. In this way, the portion of the user data associated with more complex operations can be saved as much as possible, thereby reducing the risk of data loss and reducing the complexity of the user's potential operations for recovering lost data.
[0033] See also Figure 2 An overview of an exemplary implementation of the present disclosure is described. Figure 2 A block diagram 200 for managing user data for a user account according to some implementations of the present disclosure is shown. Figure 2 As shown, a first copy 210 associated with the user data 160 may be obtained from a server device 110 connected to a client device 120. Further, a second copy 220 associated with the user data 160 may be obtained from a client device 120 logged in using a user account 140. Further, it may be determined whether there is a difference between the first copy 210 and the second copy 220. If there is a difference 240, at least one operation 242 associated with the difference 240 may be further determined. Here, the at least one operation 242 may be an operation that results in a difference 240 between the two copies. Further, a third copy 230 of the user data may be generated based on a complexity 244 of the at least one operation 22 and using the first copy 210 and the second copy 220.
[0034] It will be appreciated that the complexity 244 of the operation 242 associated with the difference 240 can reflect to some extent the ease of operation for recovering data loss caused by data conflict. Therefore, when generating the third copy 230, the execution results of more complex operations can be retained as much as possible, thereby reducing the risk of data loss.
[0035] Detailed process of user data management
[0036] The general process of user data management has been described. Figure 2Describes more details about user data management. In the context of the present disclosure, differences between copies of user data may occur due to a variety of reasons. For example, while the client device 120 is pulling a remote copy of a data item in the cloud from the server device 110, the same data item may be modified locally. At this time, if a remote copy is received, there may be differences between the local copy existing at the client device 120 and the remote copy returned from the server device 110, and a data conflict will occur. For another example, when a client device submits a modified data item, if the same data item has been previously modified and updated to the server device 110, a data conflict may also occur at this time.
[0037] In the context of the present disclosure, data conflict has a special meaning. Data conflict here refers to a conflict of user data associated with a particular user account. It will be understood that user data may include one or more data items, and data conflict refers to a conflict for the same data item. According to an exemplary implementation of the present disclosure, it can be detected whether the conditions for the occurrence of a data conflict are met, that is, the local copy and the remote copy for the same data item are inconsistent, and the local data item has been modified at the client device 120 logged in using the user account.
[0038] According to an exemplary implementation of the present disclosure, the method for managing user data may be executed upon detecting that a user logs in at the client device 120 using the user account 140. In this way, the method according to an exemplary implementation of the present disclosure may be initiated only after detecting that a user logs in using the user account 140. In this way, the user data management method may be called only when needed, thereby reducing various related resource overheads.
[0039] According to an exemplary implementation of the present disclosure, the first copy 210 can be obtained from the server device 110, and the second copy 220 can be obtained from the client device 120. The method according to an exemplary implementation of the present disclosure can be performed at any device that can obtain the above two copies. For example, the method can be performed at the client device 120, the method can be performed at the server device 110, or the method can be performed at other third-party devices.
[0040] Further, it is possible to compare whether there are differences between the first replica 210 and the second replica 220. If there are differences between the two replicas, a data conflict is detected, and the subsequent steps are performed. If no data conflict is detected, it is possible to continue waiting until a difference is found between the first replica 210 and the second replica 220. According to an exemplary implementation of the present disclosure, one or more operations associated with the difference may be determined. The operation here refers to the operation that causes the difference. Assuming that the user data involves the volume setting of the client device, the volume setting in the first replica 210 is "off" and the volume setting in the second replica 220 is "on", then the operation that causes the difference at this time may represent a volume setting operation.
[0041] According to an exemplary implementation of the present disclosure, there may be multiple types of operations. For example, a setting operation may set configuration data of a client device, and an editing operation may edit document data using an application installed at the client device. Specifically, the configuration data may include at least one of the following: system configuration data of an operating system of the client device, application configuration data of an application installed at the client device. Figure 3 Describes more information about various operations.
[0042] Figure 3 A block diagram 300 is shown showing the complexity of user operations according to some implementations of the present disclosure. Figure 3 As shown, the system setting operation 310 can set the system configuration data of the operating system of the client device, such as volume setting 312, Bluetooth setting 314, etc. The system configuration data usually involves various preferences of the user when operating the client device. Such setting operations are usually relatively simple and only require configuration using simple controls such as a slide bar, a switch button, or a drop-down menu, so they have low complexity.
[0043] The application setting operation 320 may set the application installed at the client device. Assuming that a browser application, an input method application, etc. are installed at the client, the application setting operation 320 may include: a favorites setting 312 for setting the browser application, a word library setting for setting the input method application, etc. Compared with the system setting operation 310, the process of the application setting operation 320 is usually more complicated, and the input content is also more, for example, it is necessary to enter a name for the favorites, add a new common word to the word library, etc. At this time, the application setting operation 320 may have a medium complexity.
[0044] Further, the editing operation 330 may, for example, represent an editing operation performed using various applications installed at the client device. Assuming that a text editing application, an image editing application, etc. are installed at the client device, the editing operation 330 may include a text editing 332 operation performed using the text editing application, an image editing 334 operation performed using the image editing application, etc. Generally speaking, the editing operation 330 requires the use of an input device such as a keyboard and / or a mouse to perform complex input actions, so the editing operation 330 may have a high degree of complexity.
[0045] According to an exemplary implementation of the present disclosure, the following Figure 3 The complexity of various operations may be set in the order shown. For example, the complexity of the system setting operation 310 may be set to "low", the complexity of the application setting operation 320 may be set to "medium", and the complexity of the editing operation 330 may be set to "high". Subsequently, the complexity of the operation associated with the difference between the two copies of the user data may be obtained, and a third copy of the user data may be generated from the first copy and the second copy based on the determined complexity.
[0046] According to an exemplary implementation of the present disclosure, a corresponding generation strategy may be selected based on the complexity associated with the distinction. Figure 4 A block diagram 400 for generating a third copy according to some implementations of the present disclosure is shown. Figure 4 As shown, a corresponding generation strategy 420 may be selected based on the determined complexity 244. For example, a predetermined threshold condition may be set for the complexity of the operation. If the complexity does not meet the predetermined threshold condition, a "discard strategy" may be selected, that is, the execution result associated with the target operation is discarded in the third copy. For another example, if the complexity meets the predetermined threshold condition, a "retain strategy" may be selected, that is, the execution result associated with the target operation is retained in the third copy.
[0047] Specifically, for the target operation in at least one operation, if it is determined that the complexity of the target operation does not meet the predetermined threshold condition, the execution result associated with the target operation can be discarded in the third copy. According to an exemplary implementation of the present disclosure, the predetermined threshold condition may be: the complexity is greater than or equal to "medium". At this time, when the difference-related operation is a "system setting operation", the predetermined threshold condition is not met, and the execution result of the corresponding operation may not be retained in the third copy. Assuming that the detected operation is a volume setting operation, the execution result associated with the target operation can be discarded in the third copy because the operation is relatively simple.
[0048] In one example, based on the discarding strategy, any one of the first copy and the second copy can be used to create a third copy of the user data. At this time, even if the volume setting in the third copy is inconsistent with the user's current expectations, since the volume setting operation is not complicated, the user only needs to adjust the volume setting button at the client device to set the desired volume. Alternatively and / or additionally, the first timestamp of the first copy and the second timestamp of the second copy can be obtained respectively, and the two timestamps can be compared and the newer timestamp can be determined. Further, a third copy can be established based on the copy of the first copy and the second copy associated with the newer timestamp. Generally speaking, the copy with the newer timestamp can better reflect the user's latest needs, so establishing the third copy based on the copy with the newer timestamp can meet the user's latest needs to a greater extent, thereby reducing the risk of losing data.
[0049] Alternatively and / or additionally, the third copy 230 may be established based on the local copy (i.e., the second copy) at the client device currently being operated by the user. That is, the second copy 220 may be directly used as the latest third copy 230. At this time, the second copy 220 is the local data at the client device currently being operated by the user, and thus it can be considered that the local data is the latest data modified by the user and is more in line with the latest needs of the user.
[0050] According to an exemplary implementation of the present disclosure, when the difference-related operation is an "application setting operation" and / or an "editing operation", the predetermined threshold condition is met, and the execution result of the corresponding operation can be retained in the third copy based on the retention policy. Specifically, assuming that the detected operation is a favorites setting 312 operation, since the complexity of the operation meets the predetermined threshold condition of "greater than or equal to 'medium'", the execution result associated with the target operation should be retained in the third copy. For another example, assuming that the detected difference is caused by an "editing operation 330", it can be determined that the complexity of the operation meets the predetermined threshold condition, and the execution result of the "editing operation 330" should be retained in the third copy.
[0051] It will be understood that when the complexity of an operation meets a predetermined threshold condition, if the execution result of the operation is discarded, more labor is required to restore the execution result. Assuming that the operation involves modifying the favorites of the browser and the difference between the two copies is that one copy includes an additional favorite page, the favorite page can be retained in the third copy. In this way, the workload of the user manually entering the name of the favorite page and the link to restore the favorite page can be avoided. For another example, assuming that the operation involves editing text using a text application, and the difference between the two copies is that one copy includes an additional paragraph, the additional paragraph can be retained in the third copy. In this way, the additional workload caused by the user re-entering the additional paragraph can be avoided.
[0052] Continue to see Figure 4 , the generation strategy 420 can be further refined based on the relevant historical operations 410 of each replica, the amount of modified data 412, the level 414, and other factors. According to an exemplary implementation of the present disclosure, in the process of generating the third replica, the historical operations related to each replica can be obtained respectively, and then the execution results can be retained in the third replica based on the historical operations. For example, the first group of historical operations associated with the first replica and the second group of historical operations associated with the second replica can be obtained respectively.
[0053] It will be understood that the historical operation may include one or more historical operations. For example, for a volume setting operation, the historical operation may include a previous operation of setting the volume to the current parameter. For another example, for an editing operation performed using a text application, the historical operation may include a series of previous operations, such as a corresponding previous operation for entering each word in a paragraph. Using the exemplary implementation of the present disclosure, the first set of historical operations and the second set of historical operations can create a more accurate third copy, so that the third copy includes more information that meets the user's needs.
[0054] According to an exemplary implementation of the present disclosure, in order to fully preserve the execution result in the third replica, the modified first data item associated with the first replica and the modified second data item associated with the second replica may be obtained respectively, and then the third replica may be created based on the first data item and the second data item. Figure 5 Describes more details about creating the third copy. Figure 5 A block diagram 500 is shown for combining a first replica and a second replica to generate a third replica in accordance with some implementations of the present disclosure.
[0055] like Figure 5 As shown, it is assumed that the user data relates to a document edited using a text application. At this time, the first copy 210 includes a first paragraph 512, a second paragraph 514, and a third paragraph 516, and the second copy 220 includes a fourth paragraph 520 and a second paragraph 514. All paragraphs in the first copy 210 and the second copy 220 can be combined to generate a third copy 230. At this time, the third copy 230 can include the following four paragraphs: the first paragraph 512, the fourth paragraph 520, the second paragraph 514, and the third paragraph 516.
[0056] It will be understood that, although the final version expected by the user may not include all four paragraphs, the third copy 230 generated by combining the two copies includes richer information. Compared with re-entering the content of a certain (certain paragraphs), the user can remove the undesired part from the third copy 230 through a simple "delete" operation, thereby obtaining the latest version of the document. According to an exemplary implementation of the present disclosure, the order of each paragraph in the third copy 230 can be determined according to the order of each paragraph in the first copy 210 and the second copy 220, respectively. In this way, the third copy 230 can be made more consistent with the user's previous historical operations, thereby reducing the risk of data loss.
[0057] According to an exemplary implementation of the present disclosure, in order to generate the third copy 230, prompt information indicating the difference can be provided to the user. For example, a list and / or other formats can be used to represent the difference between the two copies, and the user can be prompted to select the desired portion to be retained. Feedback from the user regarding the prompt information can be received, and the third copy can be created using the first copy and the second copy based on the feedback. In this way, a customized selection tool can be provided to the user in a more flexible and accurate manner, thereby retaining the latest data portion desired by the user in the third copy.
[0058] For example, in Figure 5 In the example shown, the prompt information may include four identifiers corresponding to the first paragraph 512, the fourth paragraph 520, the second paragraph 514, and the third paragraph 516. The user can select (or not select) the identifier to include (or exclude) the corresponding paragraph in the third copy. For example, the user can select all four identifiers, and the third paragraph 230 will include the following: Figure 5 For another example, the user may select three identifiers corresponding to the first paragraph 512, the fourth paragraph 520, and the second paragraph 514, respectively. In this case, the third paragraph 230 may only include three paragraphs: the first paragraph 512, the fourth paragraph 520, and the second paragraph 514.
[0059] According to an exemplary implementation of the present disclosure, the user may be directly prompted that there is currently a data conflict, and the user is provided with a first copy 210 and a second copy 220. The user may choose to use any current version to generate a third copy 230, or the user may choose to combine two copies to generate a third copy.
[0060] will understand, although Figure 5The process of generating the third copy is described by taking a text document as an example, and the user data here may further include image data, audio data, video data, etc. In the case where the user data involves image data, objects located in different image copies may be included in the third copy. For example, the difference between two image copies may be stored in a separate layer, etc. In this way, the editing results of the user in different copies may be saved as much as possible, thereby reducing the risk of data loss.
[0061] According to an exemplary implementation of the present disclosure, in the process of generating the third replica, the levels of the modified data in each replica can be further considered, and then the relationship between the levels can be used to generate the third replica. For example, the first level of the modified data associated with the first replica and the second level of the modified data associated with the second replica can be obtained respectively. At this time, the third replica can be created based on the first level of the modified data in the first replica and the second level of the modified data in the second replica.
[0062] Figure 6 A block diagram 600 of user data including multiple levels according to some implementations of the present disclosure is shown. Assuming that the user data relates to favorites in a browser application, the favorites 610 may relate to a tree structure and may include multiple different levels. Figure 6 As shown, favorites 610 may be located at “layer 1”, web page 612 and favorites 620 may be located at “layer 2”, and web page 622 may be located at “layer 3”. Assuming that favorites 620 is deleted in the first copy, and a new web page (not shown) is further added to favorites 620 in the second copy, then at this time, since the other web page is a child node of favorites 620, this may indicate that the user may not want to delete favorites 620, but wants to further add web pages to favorites 620.
[0063] At this time, the generated third copy can retain the favorites 620 and the added new web page in the favorites 620. In this way, based on the hierarchy of each node in the tree structure, it can be ensured that the third copy includes more content in different copies, thereby reducing the risk of data loss.
[0064] According to an exemplary implementation of the present disclosure, in the process of generating the third copy, the amount of data of the difference between the copies can be further considered. If the amount of data involved is small, the difference can be discarded in the third copy. In this way, even if the latest data part expected by the user is not included in the third copy, manually adding the latest data part will not cause a large workload. If the amount of data involved is large, the difference can be included in the third copy. In this way, it can be ensured that the amount of lost data is within a controllable range, thereby reducing the additional workload caused by recovering the data.
[0065] According to an exemplary implementation of the present disclosure, when the third copy has been generated, the third copy may be sent to the server device so as to be used as user data shared among the client devices connected to the client device. Figure 7 A block diagram 700 for sharing user data between multiple client devices according to some implementations of the present disclosure is shown. Figure 7 As shown, the third copy may be sent to the server device 110 so that the shared copy 710 to be shared is stored at the server device 110. At this point, data sharing may be performed between the various client devices 120, 122, ..., and 124 connected to the server device 110. In this way, after the data conflict has been resolved, the latest version of the user data may be synchronized to the server device 110 so that the data is shared between the various client devices logged in with the same user account.
[0066] According to an exemplary implementation of the present disclosure, each client device logged in using a user account can receive a shared copy 710 from the server device 110. Further, each client device can locally update the received shared copy to generate a new local copy. Subsequently, the client device can upload a new local copy to the server device 110 so that a new shared copy can be stored at the server device 110. Further, each client device logged in using a user account can receive the new shared copy 710. Specifically, if it is determined that the shared copy 710 at the server device is updated to the fourth copy, one or more other client devices can receive the fourth copy from the server device 110. In this way, data sharing can be continuously performed between various client devices logged in using user accounts.
[0067] According to an exemplary implementation of the present disclosure, the user can modify the generated third copy. Specifically, the user interaction with the third copy can be detected. In the case of receiving the user interaction of the user at the client device with respect to the third copy, the fifth copy of the user data can be generated based on the user interaction. For example, based on the type of the user data, the user can further perform a system setting operation, an application setting operation and / or an editing operation to obtain the latest data.
[0068] Furthermore, the updated fifth copy can be sent to the server device periodically and / or in response to other predetermined conditions, so that the fifth copy can be used as user data shared between various client devices connected to the client device. In this way, at various client devices logged in using the user account, the user data can be continuously modified based on the user's own needs, and can be shared with other client devices via the server device without the user's awareness.
[0069] By using the exemplary implementation of the present disclosure, in the process of resolving data conflicts, the execution results of relatively complex operations can be retained as much as possible, thereby reducing the risk of data loss. Furthermore, the additional workload of operations for recovering lost data can be reduced.
[0070] Example Process
[0071] Figure 8 A flow chart of a method 800 for managing user data for a user account according to some implementations of the present disclosure is shown. At block 810, a first copy of the user data is obtained from a server device connected to a client device. At block 820, a second copy of the user data is obtained from a client device logged in using the user account. At block 830, in response to determining that there is a difference between the first copy and the second copy, at least one operation associated with the difference is determined. At block 840, a third copy of the user data is generated based on the first copy and the second copy based on the complexity of the at least one operation.
[0072] According to an exemplary implementation of the present disclosure, generating a third copy of user data includes: for a target operation in at least one operation, in response to determining that the complexity of the target operation meets a predetermined threshold condition, retaining an execution result associated with the target operation in the third copy.
[0073] According to an exemplary implementation of the present disclosure, retaining the execution results in the third replica includes: respectively obtaining a first set of historical operations associated with the first replica and a second set of historical operations associated with the second replica; and creating a third replica based on the first set of historical operations and the second set of historical operations.
[0074] According to an exemplary implementation of the present disclosure, retaining the execution result in the third copy includes: respectively obtaining the modified first data item associated with the first copy and the modified second data item associated with the second copy; and creating the third copy based on the first data item and the second data item.
[0075] According to an exemplary implementation of the present disclosure, retaining the execution results in the third copy includes: respectively obtaining the first level of modified data associated with the first copy and the second level of modified data associated with the second copy; and creating the third copy based on the first level and the second level.
[0076] According to an exemplary implementation of the present disclosure, retaining the execution result in the third copy includes: providing prompt information indicating the difference to the user; and in response to receiving feedback from the user regarding the prompt information, creating the third copy using the first copy and the second copy based on the feedback.
[0077] According to an exemplary implementation of the present disclosure, generating a third copy of user data includes: for a target operation in at least one operation, in response to determining that the complexity of the target operation does not meet a predetermined threshold condition, discarding an execution result associated with the target operation in the third copy.
[0078] According to an exemplary implementation of the present disclosure, discarding the execution result associated with the target operation in the third copy includes: creating a third copy of the user data based on any one of the first copy and the second copy.
[0079] According to an exemplary implementation of the present disclosure, creating the third replica further includes: respectively obtaining the newer timestamp of the first timestamp of the first replica and the second timestamp of the second replica; and establishing the third replica based on the replica associated with the newer timestamp of the first replica and the second replica.
[0080] According to an exemplary implementation of the present disclosure, the method 800 further includes: in response to detecting that a user logs in at a client device using a user account, executing the method.
[0081] According to an exemplary implementation of the present disclosure, the method 800 further includes: sending the third copy to the server device so as to use the third copy as a shared copy of the user data shared among the client devices connected to the client device.
[0082] According to an exemplary implementation of the present disclosure, the method 800 further includes: in response to determining that the shared copy at the server device is updated to the fourth copy, receiving the fourth copy from the server device.
[0083] According to an exemplary implementation of the present disclosure, the method 800 further includes: in response to receiving a user interaction of a user at a client device with respect to the third copy, generating a fifth copy of the user data based on the user interaction; and sending the fifth copy to a server device so that the fifth copy is used as user data shared between client devices connected to the client device.
[0084] According to an exemplary implementation of the present disclosure, at least one operation includes at least any one of the following: a setting operation for setting configuration data of a client device, the configuration data including at least any one of the following: system configuration data of an operating system of the client device, application configuration data of an application installed at the client device; and an editing operation for editing document data using an application installed at the client device.
[0085] Example devices and equipment
[0086] Fig. 9 A block diagram of an apparatus 900 for managing user data of a user account according to some implementations of the present disclosure is shown. The apparatus includes: a first acquisition module 910, configured to acquire a first copy of user data from a server device connected to a client device; a second acquisition module 920, configured to acquire a second copy of user data from a client device logged in using a user account; a determination module 930, configured to determine at least one operation associated with the difference in response to determining that there is a difference between the first copy and the second copy; and a generation module 940, configured to generate a third copy of the user data from the first copy and the second copy based on the complexity of at least one operation.
[0087] According to an exemplary implementation of the present disclosure, the generation module 940 includes: a retention module, configured to retain, for a target operation in at least one operation, an execution result associated with the target operation in a third copy in response to determining that the complexity of the target operation meets a predetermined threshold condition.
[0088] According to an exemplary implementation of the present disclosure, the retention module includes: a history acquisition module, configured to respectively acquire a first set of historical operations associated with the first replica and a second set of historical operations associated with the second replica; and a history-based creation module, configured to create a third replica based on the first set of historical operations and the second set of historical operations.
[0089] According to an exemplary implementation of the present disclosure, the retention module includes: a data item acquisition module, configured to respectively acquire a modified first data item associated with the first copy and a modified second data item associated with the second copy; and a data item-based creation module, configured to create a third copy based on the first data item and the second data item.
[0090] According to an exemplary implementation of the present disclosure, the retention module includes: a hierarchy acquisition module, configured to respectively acquire a first hierarchy of modified data associated with a first replica and a second hierarchy of modified data associated with a second replica; and a hierarchy-based creation module, configured to create a third replica based on the first hierarchy and the second hierarchy.
[0091] According to an exemplary implementation of the present disclosure, the retention module includes: a providing module, configured to provide prompt information indicating differences to a user; and a feedback-based creation module, configured to create a third copy using the first copy and the second copy based on the feedback received from the user regarding the prompt information.
[0092] According to an exemplary implementation of the present disclosure, the generation module 940 includes: a discarding module, configured to discard the execution result associated with the target operation in the third copy in response to determining that the complexity of the target operation does not meet a predetermined threshold condition for the target operation in at least one operation.
[0093] According to an exemplary implementation of the present disclosure, the discarding module includes: a creating module configured to create a third copy of the user data based on any one of the first copy and the second copy.
[0094] According to an exemplary implementation of the present disclosure, a creation module includes: a timestamp acquisition module, configured to respectively acquire the newer timestamp of the first timestamp of the first replica and the second timestamp of the second replica; and an establishment module, configured to establish a third replica based on the replica associated with the newer timestamp of the first replica and the second replica.
[0095] According to an exemplary implementation of the present disclosure, the apparatus 900 further includes: an execution module configured to execute the method in response to detecting that a user logs in at a client device using a user account.
[0096] According to an exemplary implementation of the present disclosure, the apparatus 900 further includes: a sending module configured to send the third copy to the server device so as to use the third copy as a shared copy of the user data shared between the client devices connected to the client device.
[0097] According to an exemplary implementation of the present disclosure, the apparatus 900 further includes: a receiving module configured to receive a fourth copy from the server device in response to determining that the shared copy at the server device is updated to the fourth copy.
[0098] According to an exemplary implementation of the present disclosure, the apparatus 900 further includes: an interaction module, configured to generate a fifth copy of the user data based on the user interaction received at the client device in response to the user interaction with the third copy; and a sending module, configured to send the fifth copy to the server device so that the fifth copy is used as user data shared between the client devices connected to the client device.
[0099] According to an exemplary implementation of the present disclosure, at least one operation includes at least any one of the following: a setting operation for setting configuration data of a client device, the configuration data including at least any one of the following: system configuration data of an operating system of the client device, application configuration data of an application installed at the client device; and an editing operation for editing document data using an application installed at the client device.
[0100] Fig.10 1 shows a block diagram of a device 1000 capable of implementing multiple implementations of the present disclosure. It should be understood that Fig.10 The computing device 1000 shown is merely exemplary and should not constitute any limitation on the functionality and scope of the implementations described herein. Fig.10 The computing device 1000 shown may be used to implement the methods described above.
[0101] like Fig.10 As shown, computing device 1000 is in the form of a general-purpose computing device. Components of computing device 1000 may include, but are not limited to, one or more processors or processing units 1010, memory 1020, storage device 1030, one or more communication units 1040, one or more input devices 1050, and one or more output devices 1060. Processing unit 1010 may be an actual or virtual processor and is capable of performing various processes according to a program stored in memory 1020. In a multi-processor system, multiple processing units execute computer executable instructions in parallel to increase the parallel processing capabilities of computing device 1000.
[0102] The computing device 1000 typically includes a plurality of computer storage media. Such media may be any available media accessible to the computing device 1000, including but not limited to volatile and non-volatile media, removable and non-removable media. The memory 1020 may be a volatile memory (e.g., registers, caches, random access memory (RAM)), a non-volatile memory (e.g., a read-only memory (ROM), an electrically erasable programmable read-only memory (EEPROM), flash memory), or some combination thereof. The storage device 1030 may be a removable or non-removable medium, and may include a machine-readable medium, such as a flash drive, a disk, or any other medium, which may be capable of being used to store information and / or data (e.g., training data for training) and may be accessed within the computing device 1000.
[0103] The computing device 1000 may further include additional removable / non-removable, volatile / non-volatile storage media. Fig.10 As shown in , a disk drive for reading or writing from a removable, non-volatile disk (e.g., a "floppy disk") and an optical drive for reading or writing from a removable, non-volatile optical disk may be provided. In these cases, each drive may be connected to the bus (not shown) by one or more data media interfaces. Memory 1020 may include a computer program product 1025 having one or more program modules that are configured to perform various methods or actions of various implementations of the present disclosure.
[0104] The communication unit 1040 enables communication with other computing devices via a communication medium. Additionally, the functions of the components of the computing device 1000 can be implemented in a single computing cluster or multiple computing machines that can communicate via a communication connection. Therefore, the computing device 1000 can operate in a networked environment using a logical connection with one or more other servers, a network personal computer (PC), or another network node.
[0105] Input device 1050 may be one or more input devices, such as a mouse, keyboard, tracking ball, etc. Output device 1060 may be one or more output devices, such as a display, a speaker, a printer, etc. Computing device 1000 may also communicate with one or more external devices (not shown) through communication unit 1040 as needed, such as storage devices, display devices, etc., communicate with one or more devices that allow a user to interact with computing device 1000, or communicate with any device that allows computing device 1000 to communicate with one or more other computing devices (e.g., a network card, a modem, etc.). Such communication may be performed via an input / output (I / O) interface (not shown).
[0106] According to an exemplary implementation of the present disclosure, a computer-readable storage medium is provided, on which computer-executable instructions are stored, wherein the computer-executable instructions are executed by a processor to implement the method described above. According to an exemplary implementation of the present disclosure, a computer program product is also provided, the computer program product is tangibly stored on a non-transitory computer-readable medium and includes computer-executable instructions, and the computer-executable instructions are executed by a processor to implement the method described above. According to an exemplary implementation of the present disclosure, a computer program product is provided, on which a computer program is stored, and when the program is executed by a processor, the method described above is implemented.
[0107] Various aspects of the present disclosure are described herein with reference to the flowcharts and / or block diagrams of the methods, devices, equipment, and computer program products implemented according to the present disclosure. It should be understood that each box in the flowchart and / or block diagram and the combination of each box in the flowchart and / or block diagram can be implemented by computer-readable program instructions.
[0108] These computer-readable program instructions can be provided to a processing unit of a general-purpose computer, a special-purpose computer, or other programmable data processing device, thereby producing a machine, so that when these instructions are executed by the processing unit of the computer or other programmable data processing device, a device that implements the functions / actions specified in one or more boxes in the flowchart and / or block diagram is generated. These computer-readable program instructions can also be stored in a computer-readable storage medium, and these instructions cause the computer, programmable data processing device, and / or other equipment to work in a specific manner, so that the computer-readable medium storing the instructions includes a manufactured product, which includes instructions for implementing various aspects of the functions / actions specified in one or more boxes in the flowchart and / or block diagram.
[0109] Computer-readable program instructions can be loaded onto a computer, other programmable data processing apparatus, or other device so that a series of operational steps are performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, so that the instructions executed on the computer, other programmable data processing apparatus, or other device implement the functions / actions specified in one or more boxes in the flowchart and / or block diagram.
[0110] The flow chart and block diagram in the accompanying drawings show the possible architecture, function and operation of the system, method and computer program product according to multiple implementations of the present disclosure. In this regard, each square box in the flow chart or block diagram can represent a part of a module, program segment or instruction, and a part of a module, program segment or instruction includes one or more executable instructions for realizing the logical function of the specification. In some implementations as replacements, the function marked in the square box can also occur in a sequence different from that marked in the accompanying drawings. For example, two continuous square boxes can actually be executed substantially in parallel, and they can sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each square box in the block diagram and / or flow chart, and the combination of the square boxes in the block diagram and / or flow chart can be realized by a special hardware-based system that performs the function or action of the specification, or can be realized by a combination of special hardware and computer instructions.
[0111] The above descriptions of various implementations of the present disclosure are exemplary, non-exhaustive, and not limited to the disclosed implementations. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described implementations. The selection of terms used herein is intended to best explain the principles of the implementations, practical applications, or improvements to the technology in the market, or to enable other persons of ordinary skill in the art to understand the various implementations disclosed herein.
Claims
1. A method for managing user data of a user account, comprising: obtaining a first copy of the user data from a server device connected to the client device; obtaining a second copy of the user data from the client device logged in using the user account; In response to determining that there is a difference between the first replica and the second replica, determining at least one operation associated with the difference; as well as Based on the complexity of the at least one operation, a third copy of the user data is generated from the first copy and the second copy.
2. The method of claim 1 , wherein generating the third copy of the user data comprises: For a target operation in the at least one operation, in response to determining that the complexity of the target operation meets a predetermined threshold condition, retaining an execution result associated with the target operation in the third copy.
3. The method according to claim 2, wherein retaining the execution result in the third copy comprises: Respectively obtaining a first set of historical operations associated with the first replica and a second set of historical operations associated with the second replica; as well as The third copy is created based on the first set of historical operations and the second set of historical operations.
4. The method according to claim 2, wherein retaining the execution result in the third copy comprises: Respectively obtaining a modified first data item associated with the first copy and a modified second data item associated with the second copy; as well as The third copy is created based on the first data item and the second data item.
5. The method according to claim 2, wherein retaining the execution result in the third copy comprises: Respectively obtaining a first level of modified data associated with the first replica and a second level of modified data associated with the second replica; as well as The third copy is created based on the first level and the second level.
6. The method according to claim 2, wherein retaining the execution result in the third copy comprises: providing a prompt indicating the difference to the user; as well as In response to receiving feedback from the user regarding the prompt information, the third copy is created using the first copy and the second copy based on the feedback.
7. The method of claim 1 , wherein generating the third copy of the user data comprises: For a target operation in the at least one operation, in response to determining that the complexity of the target operation does not satisfy a predetermined threshold condition, discarding an execution result associated with the target operation in the third copy.
8. The method according to claim 7, wherein discarding the execution result associated with the target operation in the third copy comprises: A third copy of the user data is created based on any one of the first copy and the second copy.
9. The method of claim 8, wherein creating the third copy further comprises: Respectively obtain a newer timestamp of a first timestamp of the first copy and a second timestamp of the second copy; as well as The third copy is established based on the copy of the first copy and the second copy that is associated with the newer timestamp.
10. The method according to claim 1, further comprising: In response to detecting that the user is logged in at the client device using the user account, the method is performed.
11. The method according to claim 1, further comprising: The third copy is sent to the server device so as to be used as a shared copy of the user data shared among the client devices connected to the client device.
12. The method according to claim 11, further comprising: In response to determining that the shared copy at the server device is updated to a fourth copy, the fourth copy is received from the server device.
13. The method according to claim 1, further comprising: In response to receiving a user interaction from a user at the client device with respect to the third copy, generating a fifth copy of the user data based on the user interaction; as well as The fifth copy is sent to the server device so as to be used as the user data shared among the client devices connected to the client device.
14. The method according to claim 1, wherein the at least one operation comprises at least any one of the following: A setting operation is used to set configuration data of the client device, wherein the configuration data includes at least any one of the following: system configuration data of an operating system of the client device, application configuration data of an application installed at the client device; and The editing operation is used to edit the document data using the application installed at the client device.
15. An apparatus for managing user data of a user account, comprising: A first acquisition module, configured to acquire a first copy of the user data from a server device connected to a client device; A second acquisition module is configured to acquire a second copy of the user data from the client device logged in using the user account; a determination module configured to, in response to determining that there is a difference between the first replica and the second replica, determine at least one operation associated with the difference; as well as A generating module is configured to generate a third copy of the user data according to the first copy and the second copy based on the complexity of the at least one operation.
16. An electronic device, comprising: at least one processing unit; as well as At least one memory, the at least one memory being coupled to the at least one processing unit and storing instructions for execution by the at least one processing unit, the instructions causing the electronic device to perform the method according to any one of claims 1 to 14 when executed by the at least one processing unit.
17. A computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, causes the processor to implement the method according to any one of claims 1 to 14.