Data management system, data updating method and device
By maintaining the original data on the data storage side and reading and caching the updated data in read-only mode on the access side, the problems of storage resource occupation and limited loading speed on the access side are solved, and efficient data update and access are achieved.
Patent Information
- Application Number
- CN202310321049.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-03-28
- Publication Date
- 2025-09-23
- Estimated Expiration
- 2043-03-28
AI Technical Summary
In the prior art, the storage end creates multiple copies for multiple access ends to achieve parallel access, resulting in serious storage resource usage and limited loading speed of the access end. This problem is particularly significant in the case of large data volumes.
The original data is maintained by the data storage end, and multiple access ends read and cache the updated data in a read-only manner with shared read-only permissions. The data storage end generates an update merge result based on the data cached by the access end to update the original data.
It effectively reduces storage resource usage and improves the loading speed and first-time access speed of the access end. Regardless of how the number of access ends changes, the storage end only needs to maintain one copy of the original data.
Smart Images

Figure CN116467270B_ABST
Abstract
Description
Technical Field
[0001] The embodiments of this specification belong to the field of computers, and more particularly, to a data management system, a data updating method, and a device. Background Art
[0002] In some scenarios, multiple access terminals may need to simultaneously access an original file maintained by a storage terminal. To meet this need, storage terminals in related technologies typically create multiple copies of the original file, allowing each access terminal to load a different copy and perform corresponding read / write operations, thereby achieving parallel access to the same original content.
[0003] However, since the original file and each of its copies in the related art can be loaded by one access terminal, if there are n access terminals that need to access the same original file, n-1 copies need to be created for the original file. It can be seen that this method requires maintaining a total of n copies of the original file and its copies, which will seriously occupy the storage resources of the storage terminal. In addition, since the copies of the original file are usually created in advance, the number of access terminals will also be limited: if the n-1 copies created by the storage terminal for the original file have been loaded by n-1 access terminals respectively, then for the n+1th access terminal (and subsequent access terminals), after receiving the load request issued by it, the access terminal needs to temporarily create the corresponding nth copy for it, and the n+1th access terminal needs to wait for the copy to be created before it can start loading and accessing it, affecting the loading speed and first access speed of the access terminal. Especially when the original file has a large amount of data, the problem of storage resource occupation and the waiting problem of the access terminal will be more serious. Summary of the Invention
[0004] In view of this, one or more embodiments of this specification provide a data management system, a data updating method, and an apparatus.
[0005] To achieve the above objectives, one or more embodiments of this specification provide the following technical solutions:
[0006] According to a first aspect of one or more embodiments of this specification, a data management system is provided, comprising a data storage end and a plurality of first-class access ends, wherein the data storage end maintains first original data containing original content, and the plurality of first-class access ends respectively have a shared read-only permission for the first original data, wherein:
[0007] any first-category access terminal, configured to, in response to an access request for the first original data, read the loaded first original data in a read-only manner, and cache first updated data generated based on the read first original data;
[0008] The data storage end is used to update the first original data according to the data update merging result, and the data source for generating the data update merging result includes the first updated data cached respectively by the multiple first-type access ends.
[0009] According to a second aspect of one or more embodiments of this specification, a data update method is provided. The method is applied to any first-category access terminal of a data management system, wherein the data management system further includes a data storage terminal, the data storage terminal maintaining first original data including original content, and the multiple first-category access terminals respectively having shared read-only permissions for the first original data. The method includes:
[0010] In response to an access request for the first original data, reading the loaded first original data in a read-only manner;
[0011] The first updated data generated based on the read first original data is cached, wherein the first updated data cached by the multiple first-type access terminals are used as a data source to generate a data update merging result, so that the data storage terminal updates the first original data according to the data update merging result.
[0012] According to a third aspect of one or more embodiments of this specification, a data update method is provided, which is applied to a data storage end in a data management system, wherein the data management system further includes a plurality of first-class access ends, the data storage end maintaining first original data containing original content, and the plurality of first-class access ends respectively having shared read-only permissions for the first original data. The method includes:
[0013] generating a data update merge result using the first updated data cached by the plurality of first-class access terminals as a data source, wherein the first updated data cached by any first-class access terminal is generated by the first-class access terminal based on reading the loaded first original data in a read-only manner, and the first original data is loaded by the first-class access terminal in response to an access request for the first original data;
[0014] The first original data is updated according to the data update merging result.
[0015] According to a fourth aspect of one or more embodiments of this specification, a data update device is provided. The device is applied to any first-category access terminal among multiple first-category access terminals included in a data management system. The data management system also includes a data storage terminal, the data storage terminal maintaining first original data including original content, and the multiple first-category access terminals respectively having shared read-only permissions for the first original data. The device includes:
[0016] an original data loading unit, configured to read the loaded first original data in a read-only manner in response to an access request for the first original data;
[0017] An updated data cache unit is used to cache the first updated data generated based on the first original data read, wherein the first updated data cached by the multiple first-type access terminals are used as a data source to generate a data update merging result, so that the data storage terminal updates the first original data according to the data update merging result.
[0018] According to a fifth aspect of one or more embodiments of this specification, a data update device is provided, which is applied to a data storage end in a data management system. The data management system further includes multiple first-class access ends, the data storage end maintains first original data containing original content, and the multiple first-class access ends respectively have shared read-only permissions for the first original data. The device includes:
[0019] a merge result generating unit, configured to generate a data update merge result using the first updated data cached by the plurality of first-class access terminals as a data source, wherein the first updated data cached by any first-class access terminal is generated by the first-class access terminal based on reading the loaded first original data in a read-only manner, and the first original data is loaded by the first-class access terminal in response to an access request for the first original data;
[0020] The original data updating unit is configured to update the first original data according to the data update merging result.
[0021] According to a sixth aspect of one or more embodiments of this specification, an electronic device is provided, including:
[0022] processor;
[0023] a memory for storing processor-executable instructions;
[0024] The processor implements the method as described in any one of the third aspect or the fourth aspect by running the executable instructions.
[0025] According to the seventh aspect of one or more embodiments of this specification, a computer-readable storage medium is proposed, on which computer instructions are stored. When the instructions are executed by a processor, the steps of the method described in any one of the third aspect or the fourth aspect are implemented.
[0026] In this solution, a data management system includes a data storage terminal and multiple first-class access terminals. The data storage terminal maintains first original data containing original content, and the multiple first-class access terminals each have shared read-only permissions for the first original data. Any of the first-class access terminals is configured to respond to an access request for the first original data by reading the loaded first original data in read-only mode and caching first updated data generated based on the read first original data. The data storage terminal is configured to update the first original data based on a data update merge result, and the data source for generating the data update merge result includes the first updated data cached by the multiple first-class access terminals.
[0027] It is understandable that because multiple first-class access terminals in the data management system each have shared read-only permissions for the first original data, and each first-class access terminal reads the loaded first original data in read-only mode, each first-class access terminal can access the same original content (i.e., the original content contained in the first original data). When each first-class access terminal updates the first original data it has loaded (the update process usually involves a write operation), it does not directly write to the data. Instead, it generates first updated data based on the read data and caches it, thereby avoiding data confusion that may be caused by each first-class access terminal writing separately. In addition, the data storage terminal updates the first original data based on the data update merge result generated based on the first updated data cached by multiple first-class access terminals, and can make the final actual update to the data based on the update results of each first-class access terminal.
[0028] As can be seen, in this solution, each first-class access terminal reads the loaded first original data in a read-only manner and caches the first updated data generated by itself. Then, the data storage terminal updates the first original data based on the first updated data cached by each first-class access terminal, thus achieving orderly and reliable updates to the data. As can be seen, no matter how many first-class access terminals need to access the original content simultaneously, the data storage terminal only needs to maintain the first original data to meet the access needs of these first-class access terminals. This not only effectively reduces the storage space occupied by the original data and saves storage resources on the data storage terminal, but also because each first-class access terminal loads and reads the first original data in a read-only manner, no matter how many first-class access terminals have currently loaded the first original data, the latest first-class access terminal can directly load and read the data in a read-only manner without waiting, significantly improving the loading speed of the first updated data by subsequent first-class access terminals and their initial access speed to the original content. Obviously, when the amount of data in the first original file is large, this solution will be more effective in solving the problem of storage resource occupation and the waiting problem of the access terminal. BRIEF DESCRIPTION OF THE DRAWINGS
[0029] Figure 1 It is a schematic diagram of the process of accessing data in related technologies.
[0030] Figure 2 This is a schematic diagram of the architecture of a data management system provided by an exemplary embodiment.
[0031] Figure 3 This is a schematic diagram of a data access process provided by an exemplary embodiment.
[0032] Figure 4 This is another schematic diagram of a process for accessing data provided by an exemplary embodiment.
[0033] Figure 5 It is a schematic diagram of a data updating method provided by an exemplary embodiment.
[0034] Figure 6 It is a schematic diagram of another data updating method provided by an exemplary embodiment.
[0035] Figure 7 It is a structural diagram of a device provided by an exemplary embodiment.
[0036] Figure 8 It is a block diagram of a data updating device provided by an exemplary embodiment.
[0037] Figure 9 It is a block diagram of another data updating device provided by an exemplary embodiment. DETAILED DESCRIPTION
[0038] Exemplary embodiments will be described in detail herein, with examples illustrated in the accompanying drawings. In the following description, when referring to the drawings, identical numerals in different figures represent identical or similar elements, unless otherwise indicated. The implementations described in the following exemplary embodiments are not intended to represent all implementations consistent with one or more embodiments of this specification. Rather, they are merely examples of apparatuses and methods consistent with certain aspects of one or more embodiments of this specification, as detailed in the appended claims.
[0039] It should be noted that in other embodiments, the steps of the corresponding method are not necessarily performed in the order shown and described in this specification. In some other embodiments, the method may include more or fewer steps than those described in this specification. In addition, a single step described in this specification may be broken down into multiple steps for description in other embodiments, and multiple steps described in this specification may be combined into a single step for description in other embodiments.
[0040] As mentioned above, the storage end in related technologies usually creates multiple copies of the original file so that each access end can load different copies and perform corresponding read / write operations, thereby achieving parallel access to the same original content.
[0041] Taking cloud desktop services as an example, let's assume that a user's personal information (i.e., original content) is recorded in an original file maintained by a NAS (Network Attached Storage) device. Multiple cloud servers that the user logs into simultaneously with their own user account need to access the personal information. The cloud servers may be IaaS (Infrastructure as a Service)-level cloud computing services, which can be used to provide users with elastic and scalable services, helping to improve the utilization efficiency of cloud service resources. Figure 1As shown, for the original file master, the NAS device can create multiple copies of it, such as duplicate1 and duplicate2. Based on this, multiple cloud server instances (let's assume there are 3, that is, n=3) logged in by the user can load and access different files respectively, such as Instance1 accessing master, Instance2 and Instance3 accessing duplicate1 and duplicate2 respectively. In addition, the "sync" between each file is used to indicate that data synchronization will be performed between each file. For example, when Instance3 logs out (that is, the user logs out of Instance3), the changes made by Instance3 to duplicate2 can be updated to master and duplicate1. No further details will be given.
[0042] As can be seen, the original file and each of its copies in the related art can be loaded by an instance separately. Therefore, if there are three instances that need to access the same personal information, at least two copies of the original file need to be created. Therefore, the NAS device in this method needs to maintain a total of three copies of data (i.e., the original file and its two copies), which will seriously occupy the storage resources of the storage end. In addition, since the above-mentioned copies duplicate1 and duplicate2 are usually created in advance, this will also limit the number of instances: if the two copies created by the NAS for the master have already been loaded by Instance2 and Instance3 respectively, then if the user continues to log in to a new Instance4 (or even Instance5, Instance6, etc.), after receiving the data loading request from the new Instance, the NAS needs to temporarily create a corresponding third copy (i.e., duplicate3) for it. Instance4 needs to wait for the copy to be created before it can begin loading and accessing it, which affects the startup speed of Instance4 and the speed of initial access to the personal information. Especially when the master has a large amount of data, the problem of occupying NAS storage resources and the waiting problem of Instance4 will be more serious.
[0043] To address the aforementioned issues in the related art, this specification proposes a data update solution, in which a data storage terminal maintains first original data containing original content, and multiple first-class access terminals, each with shared read-only permissions for the first original data, read the loaded original data in read-only mode and cache first updated data generated based on the original data (rather than updating the original data in real time), thereby reducing the amount of data corresponding to the original content that the data storage terminal needs to maintain. This method is described in detail below with reference to the accompanying drawings.
[0044] Figure 2 1 is a schematic diagram of an architecture of a data management system provided by an exemplary embodiment. The system may include a data storage terminal 21, several servers, such as servers 22 to 24 (ie, server 22, server 23 and server 24, the same below), etc.
[0045] The system may include multiple first-class access terminals, for example, servers 22 to 24 may serve as first-class access terminals respectively. The data storage terminal 21 may maintain first original data containing original content, and the multiple first-class access terminals may respectively have shared read-only permissions for the first original data, and may read the loaded first original data in a read-only manner. Any server in the data management system may be a physical server containing an independent host, or may be a virtual server hosted by a host cluster, a cloud server, etc. The data storage terminal 21 may be in any form, such as a structured or unstructured database, or the aforementioned NAS device, etc., and one or more embodiments of this specification are not limited to this.
[0046] In an embodiment of the present specification, the data storage end is used to maintain the first original data containing the original content, and the multiple first-class access ends can read the first original data respectively in a read-only manner. The reading operations of the data by different first-class access ends can be performed in parallel, thereby enabling multiple first-class access ends to access the original content simultaneously.
[0047] The system can be applied to a variety of scenarios, and accordingly, the data storage end and the first-class access end can have various forms. For example, when the data storage end is a database corresponding to a server, and the first-class access end is multiple clients corresponding to the server, the multiple clients can independently access the common data stored in the database (such as the basic components of the application supported by the server).
[0048] For another example, the data management system can also be applied to cloud desktop scenarios. Cloud desktops, also known as desktop virtualization or cloud computers, are a computing model that replaces traditional local computers: users do not need to purchase a computer host. The CPU, memory, hard disk, and other components required for host operation can be implemented and provided by the cloud desktop server's resources through virtualization technology. Users can use any form of terminal device as a cloud desktop client, connecting to the cloud desktop server via the network. The two work together to form a complete computer in the cloud desktop scenario.
[0049] The data management system may also include several electronic devices, such as mobile phones 25 to 27, and any of the mobile phones may be running a client program, thereby implementing the mobile phone as a cloud desktop client in the cloud desktop system. The cloud desktop client may essentially be an application program that can be pre-installed on the mobile phone so that the client can be started and run on the terminal device; of course, when using an online "client" such as HTML5 technology, the client can be obtained and run without installing the corresponding application program on the mobile phone. In addition, mobile phones 25 to 27 are only one type of electronic device that users can use. Users can also use electronic devices such as tablet devices, laptops, PDAs (Personal Digital Assistants), wearable devices (such as smart glasses, smart watches, etc.), VR (Virtual Reality) devices, AR (Augmented Reality) devices, etc. Among them, the electronic device serving as the application client may include hardware such as a control module, a communication module, a display, a keyboard, a mouse, etc., so that the user can interact with the application server through the above hardware. In fact, users can also use cloud desktop dedicated devices, such as devices that can be pre-installed with a cloud desktop client. Users only need to connect the corresponding input / output devices to the device, and then they can use the cloud desktop client to access the applications running in the corresponding cloud desktop server by performing corresponding operations and enjoy the cloud desktop services provided by the device.
[0050] At the same time, a cloud desktop instance can be deployed in server 24. Based on the application (i.e., APP, Application) running in this instance or the application running in server 22 and / or server 23, server 24 can act as a cloud desktop server to provide cloud desktop services to electronic devices such as mobile phones 25-27, so that users can control and run the above-mentioned applications. It can be seen that the cloud desktop instance running in server 24 can serve as a server program, and any virtual machine can realize itself as a server in the cloud desktop system by running this program.
[0051] For server 24, the cloud desktop instance running therein can integrate applications deployed in the instance, as well as applications deployed in other servers (such as servers 22-23). After any user logs in to the cloud desktop instance running on server 24 through a mobile phone, they can control the startup of each application integrated in the instance, thereby logging in to the server where each application is located; in other words, when a user starts any application through the cloud desktop instance, it can be regarded as the user logging in to the server to which the application belongs. Obviously, the user can log in to multiple servers at the same time.
[0052] For any mobile phone user, the data storage terminal 21 can be used to maintain the original content such as account information, historical data, etc. generated by the user in the process of using the cloud desktop service. For example, the first original data containing these original contents can be maintained, and the aforementioned servers 22 to 24 may need to access these original contents at the same time, that is, multiple servers have the need to access the same original content at the same time. For example, a cloud desktop instance can be deployed in the server 24, which integrates applications such as locally deployed APP1, APP2 deployed by server 22, and APP3 deployed by server 23. After the user of mobile phone 25 logs in to the cloud desktop instance through the mobile phone, he can control the operation of APP1 to 3. At this time, servers 22 to 24 need to respectively access the above-mentioned first original data stored in the data storage terminal 21 in order to obtain the original content to provide corresponding services for the user. At this time, servers 22 to 24 are equivalent to multiple first access terminals that have common access needs for original content.
[0053] This specification does not limit the specific functions that can be implemented by any application. For example, the application may include office applications, shopping applications, payment applications, instant messaging applications and / or music applications, etc., which will not be repeated here.
[0054] This specification provides a data management system for managing and updating first original data containing original content. As previously described, the system includes a data storage terminal and multiple first-class access terminals. The data storage terminal maintains the first original data containing original content, and the multiple first-class access terminals each have shared read-only permissions for the first original data.
[0055] Wherein, any first-category access terminal is configured to, in response to an access request for the first original data, read the loaded first original data in a read-only manner, and cache first updated data generated based on the read first original data;
[0056] The data storage end is used to update the first original data according to the data update merging result, and the data source for generating the data update merging result includes the first updated data cached respectively by the multiple first-type access ends.
[0057] It should be noted that the original content can be any form of information, data or instructions, etc., and this specification does not limit this. For the first original data stored, the relevant parties can perform read operations and / or write operations on it. For example, for the first type of access terminal, the process of accessing the original content includes the process of performing a read operation on the first original data (i.e., reading the data). The shared read-only permission can be set for the first original data by the data storage terminal. For example, when the operating system of the data storage terminal is a Windows system, the access mode of the first original data can be set to a shared mode through the minifilter driver provided by the operating system. Of course, the operating system of the data storage terminal (and any first type of access terminal) described in this specification can also be iOS, Linux, Unix, etc., and this specification does not limit this.
[0058] Before accessing the original content, each first-class access terminal needs to load the first original data first. For example, any first-class access terminal can load the first original data during the startup process or after the startup is completed, or it can load the first original data during the user login process or after the login is completed. Taking user login as an example, when a user logs in to any first-class access terminal, the first-class access terminal can determine the access address of the first original data based on the user's identity information and load it accordingly; or submit the user's identity information to the data storage terminal, and load the first original data through the access address when receiving the access address returned by the data storage terminal. Among them, any first-class access terminal can record the access address of the first original data locally (such as in the mapping relationship between the data identifier and the access address maintained by itself) to complete the loading of the data. It can be understood that after the first original data is loaded, the first-class access terminal can read the data according to the access address. Of course, the first original data can also be temporarily loaded in response to the access request and read after the loading is completed. This will not be repeated here.
[0059] As mentioned above, the multiple first-class access terminals in the data management system each have a shared read-only permission for the first original data, so each first-class access terminal can read the loaded data in a read-only manner. Taking any one of the first-class access terminals as an example, the access terminal can read the loaded first original data in a read-only manner in response to an access request for the first original data. For the first original data loaded by each first-class access terminal, as far as its reading operation is concerned, the multiple first-class access terminals can read the first original data in a read-only manner without affecting each other, thereby "sharing" the data. Specifically, the multiple first-class access terminals can read the first original data separately (in a read-only manner) at different times, or they can read the first original data separately (in a read-only manner) at the same time; it can be seen that the reading operations of any two first-class access terminals do not affect each other, and the two can obtain the same original content through the above-mentioned reading operations.
[0060] In one embodiment, any first-class access terminal can read the first original data in a read-only manner in advance and cache the read data locally; then, when an access request is received, the first original data cached locally can be read in response to the request. It can be understood that, for the first original data that has been read in advance, what is cached locally after reading by any first-class access terminal is a copy of the data - the copy is exactly the same as the first original data maintained by the data storage terminal - the first original data that is read in response to the access request is the copy. This method puts the read-only operation on the first original data in front and caches the read first original data (a copy) locally, thereby facilitating subsequent rapid reading and timely updating of the data, improving the response speed to access requests, and avoiding users waiting for too long.
[0061] In addition, in the case where the first original data contains multiple data, part of the first original data can also be selected and pre-read. For example, the high-frequency data in the first original data can be determined according to the historical reading and update records, and this part of the high-frequency data can be pre-read, while the remaining low-frequency data is not pre-read. It can be understood that the possibility of any first-class access terminal receiving an access request for the high-frequency data is usually greater than receiving an access request for the low-frequency data, that is, the first-class access terminal has a greater demand for updating the high-frequency data than the low-frequency data. Therefore, through the above method, the local storage space of any first-class access terminal can be saved as much as possible while improving the efficiency of updating the high-frequency data.
[0062] Alternatively, any first-class access terminal can also temporarily read the first original data. For example, in the case where any first-class access terminal has pre-loaded the first original data, it can access the data storage terminal in response to the access request, and read the content specified by the access request from the loaded first original data in a read-only manner. The access request can include identification information so that any first-class access terminal can determine which content should be read from the loaded first original data based on the identification information. Of course, the identification information can be used to identify all or part of the first original data so that any first-class access terminal can read all or part of the loaded first original data accordingly. The identification information can specifically be a content name, data index, etc., and this specification does not limit its specific form. In this way, any first-class access terminal can accurately read the content specified by the access request from all the first original data, which is convenient for subsequent data updates.
[0063] In one embodiment, any of the first-class access terminals may be deployed with an application, and the access request may be initiated by the application for the first original data. For example, in the aforementioned cloud desktop scenario, if any of the first-class access terminals is a cloud server instance Instance deployed with a certain APPi, the access request received by the Instance may be initiated by the APPi. If the user of the APPi can perform a preset operation on the application, then the APPi can determine the first original data in response to the preset operation and initiate the access request for the data. For another example, in the case where any of the first-class access terminals is a client device of a certain application (i.e., a terminal device running the client), if a preset operation performed by the user on the client is detected, the client can vector determine the corresponding first original data and initiate the access request for it. Among them, the preset operation performed by the user may be related to the function that the application can realize. For example, it may be editing documents, entering text, forwarding pictures, recording audio, editing videos, etc., and this specification does not limit this.
[0064] In one embodiment, the multiple first-class access terminals can be logged in by the same user, i.e., the user can log in to the multiple first-class access terminals separately. In this case, the shared read-only permission for the multiple first-class access terminals can be granted by the user, and the first original data belongs to the user. Based on this, any first-class access terminal can read the loaded first original data belonging to the user in read-only mode based on the information of the user logged in on the access terminal. In this way, any first-class access terminal can accurately read the first original data belonging to the user logged in to the multiple first-class access terminals.
[0065] Among them, when the user logs in to any of the first-class access terminals, the access terminal can record the identity information of the logged-in user (such as account ID, password, other basic information, etc.); and for multiple users involved in the data management system, the data storage terminal can respectively maintain the first original data belonging to each user, such as maintaining the mapping relationship between the identity information of any user and its first original data (such as when the mapping relationship is recorded in a key-value pair manner, the account ID can be used as the key and the corresponding first original data can be used as the value). Based on this, when any user logs in to any of the first-class access terminals, the access terminal can read the first original data belonging to the user in a targeted manner based on the user's identity information, and the data storage terminal can use the identity information as an index to query the corresponding first original data. For example, any of the first-class access terminals reads the first original data in a read-only manner, specifically, it can send a read request for the first original data to the data storage terminal, and receive the data returned by the data storage terminal in response to the request. The data can be regarded as the reading result of the first original data by any of the first-class access terminals, that is, the first original data read by itself. In which, the read request may include the identity information of the user logged in to any of the first-class access terminals. Accordingly, the data storage terminal can query the corresponding first original data in the aforementioned mapping relationship based on the identity information, and return the query result (i.e. the queried first original data) to any of the first-class access terminals as its reading result.
[0066] When the first original data is read in a read-only manner in response to the access request, any first access terminal may generate first updated data based on the data. The first updated data may be generated in a variety of ways.
[0067] In one embodiment, any of the first access terminals can provide the read first original data to a user terminal so that the latter can display the data to the user for viewing. While viewing the first original data, the user may need to update it. In this case, the user can issue an update instruction for the data to any of the first access terminals. In this case, any of the first access terminals can update the read first original data in response to the instruction, that is, generate first updated data based on the first original data. In this scenario, any of the first access terminals reads the first original data in response to the access request and further generates the first updated data in response to the update instruction. It can be seen that at this time, the reading and updating processes of the first original data by any of the first access terminals are separated from each other, and both the access request and the update instruction can be initiated by the user according to his or her own needs. It is understandable that if the user does not issue the update instruction, any of the first access terminals will not update the first original data. In this case, the user only views the data.
[0068] In another embodiment, the access request may also directly indicate the update processing that needs to be performed on the first original data. For example, when the first original data is read in a read-only manner, any of the first access terminals may determine the update method indicated by the access request (such as the values before and after the update), and then update the read first original data according to the update method, that is, generate the first updated data based on the first original data. In this scenario, any of the first access terminals first reads the first original data in response to the access request, and then generates the first updated data based on the data.
[0069] The process of generating the first updated data based on the read first original data may include addition, deletion, modification, etc. Taking the reading and updating of the first original data in response to the access request as an example, the access request may include data to be updated. In this case, any access terminal may add the data to be updated to the read first original data to obtain the first updated data, or may modify the data in the read first original data to the data to be updated to obtain the first updated data, or may delete the data to be updated from the read first original data to obtain the first updated data (composed of the remaining data), etc.
[0070] It should be noted that the aforementioned addition, deletion, and modification operations are performed on the first original data read by any of the access terminals, and not on the first original data maintained by the data storage terminal. That is, the first original data maintained by the data storage terminal has not yet been updated. As previously described, the first updated data generated based on the read first original data is subsequently used to generate a data update merge result, so that the first original data maintained by the data storage terminal can be updated based on this result.
[0071] Any of the access terminals can cache the generated first updated data. For example, the first updated data can be cached locally at any of the first-class access terminals to improve the caching speed. The first updated data can also be cached in the data storage terminal, that is, the first updated data is written to a storage space in the data storage terminal that is different from the first original data; obviously, caching the first updated data locally at the data storage terminal does not mean using the data to directly update the first original data - at this time, the first original data has not been updated. In the case where the operating system of the first-class access terminal and the data storage terminal is a Windows system, it can use VHD (Virtual Hard Disk) technology to mount other storage devices locally as a virtual disk VHD. At this time, any of the first-class access terminals can also cache the first updated data to itself or the VHD mounted at the data storage terminal.
[0072] The first updated data cached by the multiple first-category access terminals can be used as a data source to generate the data update merge result, so that the data storage terminal can update the locally stored first original data based on the result. The following describes the process of updating the first original data in the data management system using a cloud desktop scenario as an example.
[0073] like Figure 3 As shown, the data management system includes a NAS device and three instances: Instance 1, Instance 2, and Instance 3. The NAS device maintains a first original data master containing original content. The three instances each have shared read-only permissions for the master. If the same user is logged in to the three instances, the master can be attributed to that user.
[0074] Instance1, Instance2 and Instance3 are all equipped with a read-only component (i.e., ReadOnly Layer) and a write component (i.e., Write Layer). Among them, any Instance can read the master in a read-only manner with the help of its own ReadOnly Layer. At this time, the ReadOnly Layer can be regarded as the data interface opened by the NAS component to the Instance for reading the master. For example, any Instance can temporarily read the data when the master needs to be updated through the copyonwrite (i.e., copy on write) method; or, in the case that any Instance pre-reads part or all of the master, the pre-read data copy can also be saved in the ReadOnly Layer. At this time, the ReadOnlyLayer can be regarded as the local storage space of the Instance for storing the above-mentioned data copies.
[0075] For any of the above-mentioned Instances, when an access request for the master is received, the master can be loaded in response to the instruction. For example, a copy of the aforementioned data pre-read and saved in the ReadOnly Layer can be loaded, or the NAS device can be directly accessed to load part or all of the contents of the master indicated by the access request. After the above-mentioned loading is completed, the Instance can generate the first updated data based on the loaded master (all or part of the contents), such as first determining the data to be updated specified by the first access request (such as included in the request), and then performing update operations such as adding, deleting, and modifying the master based on the data, thereby obtaining the corresponding first updated data. At this time, any of the Instances can cache the first updated data, such as caching the data in the Write Layer. Thereafter, for the first updated data generated based on the first updated data cached by each Instance, the NAS device can update the master maintained by itself according to the data.
[0076] In one embodiment, when the user logs out of Instance3, Instance3 can submit the first updated data cached by itself during the user's current login to the NAS device. In addition, Instance3 can also notify other Instances logged in by the user (i.e., Instance1 and Instance2) to submit their own first updated data cached at the current moment to the NAS device; or, given that each Instance may be independent and unknown to each other, the NAS device can also request Instance1 and Instance2 to obtain the first updated data cached by the two at the current moment after receiving the first updated data submitted by Instance3. The specific process is as follows: Figure 3 Of course, if any of the above Instances does not cache the first updated data corresponding to the first original data, the Instance may not submit any data.
[0077] Based on the first updated data obtained from at least one Instance cache, the NAS device can merge these first updated data according to the merge strategy, and update the master maintained by itself according to the corresponding merge result. The merge strategy can include the order of the generation time of the first updated data. For example, for any content involved in the update in the first original data, the first updated data with the latest generation time (i.e., the closest to the current time) among the first updated data is used as the merge result, so that the updates of the content by different Instances show an overall update effect of covering them in chronological order. And / or, the merge strategy can also include the priority order of each Instance, such as when the priorities of Instance1, Instance2 and Instance3 decrease in sequence, the first updated data cached by Instance1 can be directly used as the merge result to update the first original data. Of course, at this time, Instance2 and Instance3 can not submit the first updated data to the NAS device, but only save it locally for their own query during the running interval.
[0078] After determining the above-mentioned data update and merging results, the data storage end can update the first original data based on the data, such as using the data update and merging results to directly replace the corresponding content in the master, or directly update the corresponding part in the master according to the data update and merging results, and finally complete the update of the first original data.
[0079] It can be seen that in this solution, each Instance loads the master separately in a read-only manner, and each caches its own first updated data generated based on the master, and then the NAS device updates the master based on the first updated data cached by each Instance, thereby achieving orderly and reliable updates to the data. It can be seen that no matter how many Instances need to access the original content at the same time, the NAS device only needs to maintain one master to meet the access needs of these Instances, which not only effectively reduces the storage space occupied by the first original data, but also saves the storage resources of the NAS device (compared to related technologies, when there are n Instances, n-1 storage resources can be saved). Moreover, because each Instance adopts a read-only mode, no matter how many Instances the master has currently been loaded by, the latest Instance can directly load and read the master without waiting, which significantly improves the loading speed of the master by subsequent Instances and their first access speed to the original content. Figure 3As shown, the newly logged-in instances 4, 5, etc. can directly load the master instance without having to wait for the NAS device to temporarily create a replica for them. Obviously, when the master has a large amount of data, this solution will be more effective in solving the storage resource occupation problem and the instance waiting problem.
[0080] In fact, the scenario where multiple access terminals access the same original content at the same time is usually rare. For example, in a cloud desktop scenario, a user will usually only log in to one Instance at any time. Therefore, in order to improve the content efficiency of the access terminal in most cases, the above solution can be further improved: the multiple access terminals that access the original data at the same time are divided into the first type of access terminals and the second type of access terminals, where the second type of access terminal can be the first access terminal that accesses the original data (such as the first Instance logged in by the user), and the first type of access terminal can be the remaining access terminals except the first access terminal (such as other Instances logged in by the user). The following is combined with Figure 4 That is, the improved solution is described in the relevant embodiments.
[0081] In one embodiment, in addition to maintaining the aforementioned first original data, the data storage terminal may also maintain second original data having the same original content as the first original data. In this case, the first original data may be a copy of the second original data, or the second original data may be a copy of the first original data. In this case, the data management system may further include a second type of access terminal, which may have exclusive read and write permissions for the second original data. Unlike the shared read-only permissions of the aforementioned first type of access terminals to the aforementioned first original data, the second type of access terminal has exclusive read and write permissions for the second original data, indicating that the second original data can only be read by the second type of access terminal (and cannot be read by any first type of access terminal in any way), and the access terminal can perform read / write operations on the second original data. In other words, the second type of access terminal can both read the second original data (i.e., perform a read operation on the data) and directly update the data (i.e., can perform a write operation on the second original data).
[0082] In this scenario, the second type of access terminal can trigger the data storage terminal to update the second original data in response to the update request initiated for the second original data; wherein, the data source for generating the data update merge result can also include: the update record of the second type of access terminal on the second original data. The method of initiating the access request and its content, as well as the specific method of the second type of access terminal receiving and responding to the request, can be found in the relevant embodiments of the aforementioned access request and will not be repeated here. Through this method, the first access terminal (i.e., the second type of access terminal) that accesses the original data has exclusive access to the second original data, i.e., it can directly perform read / write operations on the data, not only realizing the real-time update of this part of the data, but also the second type of access terminal does not need to save the read second original data or cache the corresponding updated data (there is no second updated data), which helps to save the storage space of the access terminal and reduce the pressure on data maintenance. It can be understood that when only one access terminal accesses the original data, the access terminal can load the second original data and directly perform read / write operations on it, thereby minimizing its data maintenance pressure and the workload of the data storage terminal for data synchronization of the maintained original data.
[0083] like Figure 4 As shown, as a data storage end in the data management system, the NAS device maintains a first original data duplicate and a second original data master (the duplicate can be a copy of the master before the first instance accesses it). The system includes two first-class access ends (i.e., Instance2 and Instance3) and one second-class access end (i.e., Instance1). The specific process of Instance2 and Instance3 loading the duplicate can be seen in Figure 3 For the relevant embodiment of any Instance loading the master, the process of Instance2 and Instance3 generating and caching the first updated data can be seen in Figure 3 The relevant embodiments of any Instance caching the first updated data are not described in detail here.
[0084] and Figure 3 The difference from Instance1 shown is that Figure 4As shown, Instance1 is provided with a read-write component (i.e., ReadWrite Layer), but the aforementioned read-only component and write component are not provided. Instance1 can directly read and update the master in a read / write manner with the help of its own ReadWrite Layer. In addition, for the process of updating the master, the corresponding update record (update log or updated content) can also be saved in the update record file (i.e., recordfile) for subsequent data merging. It can be seen that each second-class access terminal (Instance2 and Instance3, etc.) in the improved scheme reads the duplicate in a read-only manner, and caches the updated data generated thereby in its own Write Layer, so as to subsequently generate the data update merging result for updating the duplicate; while the first-class access terminal (i.e., Instance1) exclusively occupies the master, and reads and updates the master in a read / write manner.
[0085] It can be seen that the above-mentioned improved solution is that Instance2 and Instance3 load the duplicate in a read-only manner respectively, and each caches the first updated data generated by itself based on the master; at the same time, the second-class access end reads the master in an exclusive manner and directly updates it. Finally, the NAS device determines the data update merge result based on the first updated data cached by Instance2 and Instance3 and the pre-update result of Instance1 on the master, and updates the master and duplicate accordingly, thus achieving an orderly and reliable update of the original data. It can be seen that no matter how many Instances need to access the original content at the same time, the NAS device only needs to maintain one master and one duplicate to meet the access needs of these Instances, which not only effectively reduces the storage space occupied by the first original data, but also saves the storage resources of the NAS device (compared to the related technology, when there are n Instances, it can save n-2 storage resources). Moreover, because each first-class access end adopts a read-only mode, no matter how many Instances the duplicate has currently been loaded by, the latest Instance can directly load and read the duplicate in a read-only manner without waiting, which significantly improves the loading speed of the duplicate by the subsequent Instance and the speed of its first access to the original content. Figure 4As shown, the newly logged-in instances 4, 5, and so on can directly load duplicates without having to wait for the NAS device to temporarily create corresponding copies for them. Obviously, when the amount of duplicate data is large, this solution will be more effective in solving the storage resource occupation problem and the instance waiting problem.
[0086] In one embodiment, the data storage end can be used to update the first original data according to the data update merging result in a variety of ways. For example, it can merge the first updated data cached by the multiple first-type access ends according to the first merging strategy, and pre-update the first original data according to the corresponding first data update merging result; then merge the pre-updated result of the first original data and the pre-updated result of the second original data according to the second merging strategy, and update the first original data and the second original data according to the corresponding second data update merging result. Figure 4 As shown, the NAS device can merge the first updated data cached by Instance2 and Instance3 (the data cached by any Instance may be empty) according to the first merge strategy, and pre-update the duplicate according to the corresponding first data update merge result. At this time, the NAS device can merge the pre-update result of the duplicate and the pre-update result of the master (Instance1 has already updated the master. Since this update may not be the final result of the master, it is recorded as the pre-update result of the master) according to the second merge strategy, and update the master and duplicate according to the corresponding second data update merge result. The pre-update result of the second original data can be the content of the master at the current moment (after the pre-update) or the update record stored in the aforementioned update record file, which will not be repeated. The first merge strategy can include the order of the generation time of the first updated data or the priority order of each first-class access terminal, etc. The second merge strategy can include the order of the pre-update time of the master and the generation time of each first updated data, or the priority order of each access terminal, etc., which will not be repeated.
[0087] For another example, the data storage end may also merge the pre-update result of the second original data and the first updated data cached by the multiple first-class access ends according to the third merge strategy, and update the first original data and the second original data according to the corresponding third data update merge result. For example, the pre-update result of the master and the first updated data cached by Instance2 and Instance3 may be merged according to the third merge strategy, and the master and duplicate may be updated according to the corresponding third data update merge result. The third merge strategy may include the order of the pre-update moment of the master and the generation moment of each first updated data, or the priority order of each access end, etc., which will not be repeated here. Figure 4 The dashed line "sync" is shown.
[0088] In addition, in the process of updating the master and duplicate, the master and duplicate can be updated in parallel respectively to maximize the data update efficiency and reduce the user's logout time; or, the master and duplicate can be updated in sequence (that is, update the master first and then update the duplicate). At this time, the updated data in the master can be directly copied and the corresponding part in the duplicate can be replaced, reducing the amount of calculation on the data storage side to determine the updated data based on the data update merging results (such as log parsing work, etc.), thereby improving the overall update efficiency.
[0089] The above embodiment illustrates the process of any first access terminal updating the first original data. In fact, for the first original data loaded by itself, any first access terminal can also read the data in a read-only manner without updating it. For example, when the logged-in user only initiates a viewing operation for a certain data, the first access terminal can query the data in the loaded first original data, and then read the data in a read-only manner and display it to the user. At this time, the communication between any first access terminal and the data storage terminal only involves a read operation for the data (in a read-only manner), and does not involve a write operation for the data.
[0090] Corresponding to the above embodiments of the data management system, this specification also proposes a data updating method. Figure 5 , Figure 5 FIG. 1 is a flow chart of a data updating method provided by an exemplary embodiment. Figure 5As shown, the method is applied to any first-class access terminal among multiple first-class access terminals contained in a data management system, and the data management system also includes a data storage terminal, which maintains first original data containing original content, and the multiple first-class access terminals respectively have shared read-only permissions for the first original data, including the following steps 502-504.
[0091] Step 202 : In response to an access request for the first original data, read the loaded first original data in a read-only manner.
[0092] Step 504: cache the first updated data generated based on the first original data read, wherein the first updated data cached by the multiple first-type access terminals are used as a data source to generate a data update merging result, so that the data storage terminal updates the first original data according to the data update merging result.
[0093] Corresponding to the above embodiments of the data management system, this specification also proposes another data update method. Figure 6 , Figure 6 FIG. 1 is a flow chart of another data updating method provided by an exemplary embodiment. Figure 6 As shown, the method is applied to a data storage end in a data management system, and the data management system also includes multiple first-class access ends, and the data storage end maintains first original data containing original content. The multiple first-class access ends respectively have shared read-only permissions for the first original data, including the following steps 602-604.
[0094] Step 202: Use the first updated data cached by the multiple first-class access terminals respectively as a data source to generate a data update merge result, wherein the first updated data cached by any first-class access terminal is generated by any first-class access terminal based on reading the loaded first original data in a read-only manner, and the first original data is loaded by any first-class access terminal in response to an access request for the first original data.
[0095] Step 604: Update the first original data according to the data update and merging result.
[0096] In one embodiment, the data storage end further maintains second original data having the same original content as the first original data, the data management system further includes a second type of access end having exclusive read and write permissions for the second original data, and the method further includes:
[0097] In response to a trigger of the second type of access terminal, updating the second original data;
[0098] The data source for generating the data update merging result also includes: the update record of the second type of access terminal on the second original data.
[0099] The specific implementation of the above data updating method can be found in the records of the relevant embodiments of the aforementioned data management system, which will not be repeated here.
[0100] Figure 7 This is a schematic structural diagram of a device provided by an exemplary embodiment. Figure 7 At the hardware level, the device includes a processor 702, an internal bus 707, a network interface 706, a memory 708, and a non-volatile memory 710. Of course, it may also include hardware required for other functions. One or more embodiments of this specification can be implemented based on software, such as the processor 702 reading the corresponding computer program from the non-volatile memory 710 into the memory 708 and then running it. Of course, in addition to software implementation, one or more embodiments of this specification do not exclude other implementation methods, such as logic devices or a combination of software and hardware, etc., that is, the execution subject of the following processing flow is not limited to each logic unit, but can also be hardware or logic devices.
[0101] Please refer to Figure 8 In one software implementation, the data update device is applied to any first-class access terminal among a plurality of first-class access terminals included in a data management system, the data management system further comprising a data storage terminal, the data storage terminal maintaining first original data including original content, the plurality of first-class access terminals respectively having a shared read-only permission for the first original data, the device comprising:
[0102] The data loading unit 801 is configured to read the loaded first original data in a read-only manner in response to an access request for the first original data;
[0103] The data cache unit 802 is used to cache the first updated data generated based on the first original data read, wherein the first updated data cached by the multiple first-type access terminals are used as a data source to generate a data update merging result, so that the data storage terminal updates the first original data according to the data update merging result.
[0104] Please refer to Figure 9 In another software implementation, the data updating device is applied to a data storage end in a data management system, the data management system further comprising a plurality of first-class access ends, the data storage end maintaining first original data containing original content, the plurality of first-class access ends respectively having a shared read-only permission for the first original data, the device comprising:
[0105] A result generating unit 901 is configured to generate a data update merge result using the first updated data cached by the plurality of first-category access terminals as a data source, wherein the first updated data cached by any first-category access terminal is generated by the first-category access terminal based on reading the loaded first original data in a read-only manner, and the first original data is loaded by the first-category access terminal in response to an access request for the first original data;
[0106] The first updating unit 902 is configured to update the first original data according to the data update merging result.
[0107] Optionally, the data storage end further maintains second original data having the same original content as the first original data, the data management system further includes a second type of access end having exclusive read and write permissions for the second original data, and the apparatus further includes a second updating unit 903, which is configured to:
[0108] In response to a trigger of the second type of access terminal, updating the second original data;
[0109] The data source for generating the data update merging result also includes: the update record of the second type of access terminal on the second original data.
[0110] The systems, devices, modules, or units described in the above embodiments may be implemented by computer chips or entities, or by products having certain functions. A typical implementation device is a computer, which may be in the form of a personal computer, laptop computer, cellular phone, camera phone, smartphone, personal digital assistant, media player, navigation device, email transceiver, game console, tablet computer, wearable device, or any combination of these devices.
[0111] In a typical configuration, a computer includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.
[0112] Memory may include non-permanent storage in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. Memory is an example of a computer-readable medium.
[0113] Computer-readable media include permanent and non-permanent, removable and non-removable media that can be used to store information using any method or technology. Information can be computer-readable instructions, data structures, program modules, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, magnetic cassettes, disk storage, quantum memory, graphene-based storage media or other magnetic storage devices, or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer-readable media does not include transitory media such as modulated data signals and carrier waves.
[0114] It should also be noted that the terms "comprises," "includes," or any other variations thereof are intended to encompass non-exclusive inclusion, such that a process, method, commodity, or apparatus that includes a series of elements includes not only those elements but also other elements not explicitly listed, or includes elements inherent to such process, method, commodity, or apparatus. In the absence of further limitations, an element defined by the phrase "comprises a ..." does not exclude the presence of other identical elements in the process, method, commodity, or apparatus that includes the element.
[0115] The foregoing description of this specification describes specific embodiments. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims can be performed in an order different from that described in the embodiments and still achieve the desired results. Furthermore, the processes depicted in the accompanying drawings do not necessarily require the specific order shown or the sequential order to achieve the desired results. In certain embodiments, multitasking and parallel processing are also possible or may be advantageous.
[0116] The terms used in one or more embodiments of this specification are for the purpose of describing specific embodiments only and are not intended to limit one or more embodiments of this specification. The singular forms "a," "an," "the," and "the" used in one or more embodiments of this specification and the appended claims are also intended to include plural forms unless the context clearly indicates otherwise. It should also be understood that the term "and / or" used herein refers to and includes any or all possible combinations of one or more associated listed items.
[0117] It should be understood that although the terms first, second, third, etc. may be used to describe various information in one or more embodiments of this specification, such information should not be limited to these terms. These terms are only used to distinguish the same type of information from each other. For example, without departing from the scope of one or more embodiments of this specification, first information may also be referred to as second information, and similarly, second information may also be referred to as first information. Depending on the context, the word "if" as used herein may be interpreted as "when..." or "when..." or "in response to determining."
[0118] The above description is merely a preferred embodiment of one or more embodiments of this specification and is not intended to limit one or more embodiments of this specification. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of one or more embodiments of this specification shall be included in the scope of protection of one or more embodiments of this specification.
Claims
1. A data management system comprising a data storage terminal and a plurality of first-class access terminals, wherein the data storage terminal maintains first original data containing original content, each of the first-class access terminals deploys a cloud server instance, and the plurality of first-class access terminals respectively have shared read-only permissions for the first original data, wherein: Any first-category access terminal, configured to read the loaded first original data in a read-only manner in response to an access request for the first original data; and cache first updated data generated based on the read first original data; For any of the cloud server instances, upon receiving an access request for the first original data, the cloud server instance loads a data copy pre-read and stored in a read-only component of the cloud server instance, or directly accesses part or all of the first original data indicated by the access request; any of the cloud server instances generates the first updated data based on part or all of the loaded first original data, and then caches the first updated data in a write component of the cloud server instance, so that the data storage end updates the first original data maintained by itself according to the cached data in the write component; The data storage end is configured to update the first original data according to the data update merging result, and the data source for generating the data update merging result includes the first updated data cached by the plurality of first-category access ends respectively, including: Based on the first updated data obtained from the cache of at least one cloud server instance, merge the first updated data according to the merge strategy, and update the first original data maintained by itself according to the corresponding merge result; Among them, the merging strategy may include: for any content involved in the update in the first original data, taking the first updated data whose generation time is closest to the current time among each first updated data as the merging result, so that the updates of the content by different cloud server instances appear to be covered in chronological order; and / or, taking the first updated data cached by the cloud server instance with the highest priority among the multiple cloud server instances as the merging result to update the first original data.
2. The system according to claim 1, wherein any first-type access terminal reads the loaded first original data in a read-only manner, comprising: Accessing the data storage end in response to the access request, and reading the content specified by the access request from the loaded first original data in a read-only manner; or, The first original data in the local cache is read, where the first original data is pre-read and cached in a read-only manner.
3. According to the system of claim 1, any of the first-type access terminals is deployed with an application, and the access request is initiated by the application for the first original data.
4. The system according to claim 1 , wherein the shared read-only permission for the first original data is granted by users who log in to the plurality of first-category access terminals respectively, and the first original data belongs to the users; and the read-only permission for any first-category access terminal to read the loaded first original data comprises: According to the information of the user who has logged in on any of the first-type access terminals, the loaded first original data belonging to the user is read in a read-only manner.
5. The system according to claim 1, wherein the data storage terminal further maintains second original data having the same original content as the first original data; the system further comprises: The second type of access end has exclusive read and write permissions for the second original data, and is used to trigger the data storage end to update the second original data in response to an update request initiated for the second original data; The data source for generating the data update merging result also includes: the update record of the second type of access terminal on the second original data.
6. The system according to claim 5, wherein the data storage terminal updates the first original data according to the data update and merging result, comprising: Merging the first updated data cached by the plurality of first-category access terminals respectively according to a first merging strategy, and pre-updating the first original data according to corresponding first data update merging results; and merging the pre-update result of the first original data and the pre-update result of the second original data according to a second merging strategy, and updating the first original data and the second original data according to the corresponding second data update merging result; or, Merging the pre-update result of the second original data and the first updated data cached by the plurality of first-category access terminals respectively according to a third merging strategy, and updating the first original data and the second original data according to the corresponding third data update merging result; The updated first original data and the updated second original data respectively contain the same updated content.
7. A data update method, applied to any of a plurality of first-class access terminals included in a data management system, each of which deploys a cloud server instance. The data management system further includes a data storage terminal, the data storage terminal maintaining first original data containing original content, and the plurality of first-class access terminals each having shared read-only permissions for the first original data. The method comprises: In response to an access request for the first original data, reading the loaded first original data in a read-only manner; caching first updated data generated based on the read first original data, wherein the first updated data cached by the plurality of first-type access terminals are used as a data source to generate a data update merge result, so that the data storage terminal updates the first original data according to the data update merge result; For any of the cloud server instances, upon receiving an access request for the first original data, the data copy pre-read and stored in the read-only component of the cloud server instance is loaded, or part or all of the first original data indicated by the access request is directly accessed; any of the cloud server instances generates the first updated data based on part or all of the loaded first original data, and then caches the first updated data in the write component of the cloud server instance, so that the data storage end merges the first updated data according to the merge strategy based on the first updated data cached by at least one cloud server instance, and updates the first original data maintained by itself according to the corresponding merge result; Among them, the merging strategy may include: for any content involved in the update in the first original data, taking the first updated data whose generation time is closest to the current time among each first updated data as the merging result, so that the updates of the content by different cloud server instances appear to be covered in chronological order; and / or, taking the first updated data cached by the cloud server instance with the highest priority among the multiple cloud server instances as the merging result to update the first original data.
8. A data update method, applied to a data storage terminal in a data management system, the data management system further comprising a plurality of first-class access terminals, each of which deploys a cloud server instance, the data storage terminal maintaining first original data containing original content, the plurality of first-class access terminals each having shared read-only permissions for the first original data, the method comprising: generating a data update merge result using the first updated data cached by the plurality of first-class access terminals as a data source, wherein the first updated data cached by any first-class access terminal is generated by the first-class access terminal based on reading the loaded first original data in a read-only manner, and the first original data is loaded by the first-class access terminal in response to an access request for the first original data; updating the first original data according to the data update merging result; For any of the cloud server instances, upon receiving an access request for the first original data, the data copy pre-read and stored in the read-only component of the cloud server instance is loaded, or part or all of the first original data indicated by the access request is directly accessed; any of the cloud server instances generates the first updated data based on part or all of the loaded first original data, and then caches the first updated data in the write component of the cloud server instance, so that the data storage end merges the first updated data according to the merge strategy based on the first updated data cached by at least one cloud server instance, and updates the first original data maintained by itself according to the corresponding merge result; Among them, the merging strategy may include: for any content involved in the update in the first original data, taking the first updated data whose generation time is closest to the current time among each first updated data as the merging result, so that the updates of the content by different cloud server instances appear to be covered in chronological order; and / or, taking the first updated data cached by the cloud server instance with the highest priority among the multiple cloud server instances as the merging result to update the first original data.
9. The method according to claim 8, wherein the data storage terminal further maintains second original data having the same original content as the first original data, the data management system further comprises a second type of access terminal having exclusive read and write permissions for the second original data, and the method further comprises: In response to a trigger of the second type of access terminal, updating the second original data; The data source for generating the data update merging result also includes: the update record of the second type of access terminal on the second original data.
10. A data update device, applied to any of a plurality of first-class access terminals included in a data management system, each of which deploys a cloud server instance. The data management system further includes a data storage terminal, the data storage terminal maintaining first original data containing original content, and the plurality of first-class access terminals each having shared read-only permissions for the first original data. The device comprises: a data loading unit, configured to read the loaded first original data in a read-only manner in response to an access request for the first original data; a data caching unit, configured to cache first updated data generated based on the read first original data, wherein the first updated data cached by the plurality of first-type access terminals are used as a data source to generate a data update merging result, so that the data storage terminal updates the first original data according to the data update merging result; For any of the cloud server instances, upon receiving an access request for the first original data, the data copy pre-read and stored in the read-only component of the cloud server instance is loaded, or part or all of the first original data indicated by the access request is directly accessed; any of the cloud server instances generates the first updated data based on part or all of the loaded first original data, and then caches the first updated data in the write component of the cloud server instance, so that the data storage end merges the first updated data according to the merge strategy based on the first updated data cached by at least one cloud server instance, and updates the first original data maintained by itself according to the corresponding merge result; Among them, the merging strategy may include: for any content involved in the update in the first original data, taking the first updated data whose generation time is closest to the current time among each first updated data as the merging result, so that the updates of the content by different cloud server instances appear to be covered in chronological order; and / or, taking the first updated data cached by the cloud server instance with the highest priority among the multiple cloud server instances as the merging result to update the first original data.
11. A data update device, applied to a data storage terminal in a data management system, the data management system further comprising a plurality of first-class access terminals, each of which deploys a cloud server instance, the data storage terminal maintaining first original data containing original content, the plurality of first-class access terminals each having shared read-only permissions for the first original data, the device comprising: a result generating unit, configured to generate a data update merge result using the first updated data cached by the plurality of first-type access terminals as a data source, wherein the first updated data cached by any first-type access terminal is generated by the first-type access terminal based on reading the loaded first original data in a read-only manner, and the first original data is loaded by the first-type access terminal in response to an access request for the first original data; a first updating unit, configured to update the first original data according to the data update merging result; For any of the cloud server instances, upon receiving an access request for the first original data, the data copy pre-read and stored in the read-only component of the cloud server instance is loaded, or part or all of the first original data indicated by the access request is directly accessed; any of the cloud server instances generates the first updated data based on part or all of the loaded first original data, and then caches the first updated data in the write component of the cloud server instance, so that the data storage end merges the first updated data according to the merge strategy based on the first updated data cached by at least one cloud server instance, and updates the first original data maintained by itself according to the corresponding merge result; Among them, the merging strategy may include: for any content involved in the update in the first original data, taking the first updated data whose generation time is closest to the current time among each first updated data as the merging result, so that the updates of the content by different cloud server instances appear to be covered in chronological order; and / or, taking the first updated data cached by the cloud server instance with the highest priority among the multiple cloud server instances as the merging result to update the first original data.
12. An electronic device comprising: processor; a memory for storing processor-executable instructions; The processor implements the method according to any one of claims 7 to 9 by running the executable instructions.
13. A computer-readable storage medium having computer instructions stored thereon, which implement the steps of the method according to any one of claims 7 to 9 when executed by a processor.
Citation Information
Patent Citations
Cloud storage client and high-efficiency data access method thereof
CN104580437A
Method and equipment for storage management, and computer readable storage medium
CN108733315A