WO2024198872A1 - 数据管理系统、数据更新方法及装置 - Google Patents
数据管理系统、数据更新方法及装置 Download PDFInfo
- Publication number
- WO2024198872A1 WO2024198872A1 PCT/CN2024/080352 CN2024080352W WO2024198872A1 WO 2024198872 A1 WO2024198872 A1 WO 2024198872A1 CN 2024080352 W CN2024080352 W CN 2024080352W WO 2024198872 A1 WO2024198872 A1 WO 2024198872A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- original data
- original
- read
- update
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 67
- 238000013523 data management Methods 0.000 title claims abstract description 52
- 238000013500 data storage Methods 0.000 claims abstract description 95
- 230000004044 response Effects 0.000 claims abstract description 34
- 230000008569 process Effects 0.000 description 21
- 238000010586 diagram Methods 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 5
- 101100233916 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) KAR5 gene Proteins 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 101000827703 Homo sapiens Polyphosphoinositide phosphatase Proteins 0.000 description 3
- 102100023591 Polyphosphoinositide phosphatase Human genes 0.000 description 3
- 101150053844 APP1 gene Proteins 0.000 description 2
- 101100189105 Homo sapiens PABPC4 gene Proteins 0.000 description 2
- 102100039424 Polyadenylate-binding protein 4 Human genes 0.000 description 2
- 108010087973 appican Proteins 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 101100055496 Arabidopsis thaliana APP2 gene Proteins 0.000 description 1
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 101100016250 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) GYL1 gene Proteins 0.000 description 1
- 102100038359 Xaa-Pro aminopeptidase 3 Human genes 0.000 description 1
- 101710081949 Xaa-Pro aminopeptidase 3 Proteins 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000006227 byproduct Substances 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/219—Managing data history or versioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
Definitions
- 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.
- multiple access terminals may need to access an original file maintained by the storage terminal at the same time.
- the storage terminal in the related art usually creates multiple copies of the original file so that each access terminal can load different copies and perform corresponding read/write operations, thereby achieving parallel access to the same original content.
- 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 loading 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 starting to load and access it, which affects the loading speed and first access speed of the access terminal. Especially when the data volume of the original file is large, the problem of storage resource occupation and the waiting problem of the access terminal will be more serious.
- one or more embodiments of the present specification provide a data management system, a data updating method and a device.
- a data management system including a data storage end and multiple first-class access ends, wherein 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, wherein any first-class access end is used to respond 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; the data storage end is used to update the first original data according to 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 ends respectively.
- a data updating method is provided, which is applied to any first-class access terminal among a plurality of first-class access terminals contained in a data management system, wherein the data management system further comprises a data storage terminal, wherein the data storage terminal maintains first original data containing original content, and the plurality of first-class access terminals respectively have a shared read-only permission for the first original data, and the method comprises: in response to a request for the first original data According to an access request based on the data, the first original data that has been loaded is read in a read-only manner; and the first updated data generated based on the read first original data is cached, wherein the first updated data cached by the multiple first-class access terminals respectively 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.
- a data update method is proposed, which is applied to a data storage end in a data management system, wherein the data management system also includes multiple first-class access ends, and 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 method includes: using the first updated data cached by the multiple first-class access ends respectively as a data source to generate a data update merge result, wherein the first updated data cached by any first-class access end is generated by any first-class access end 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 end in response to an access request for the first original data; and updating the first original data according to the data update merge result.
- a data updating device which is applied to any first-class access terminal among multiple first-class access terminals contained in a data management system, the data management system also including a data storage terminal, the data storage terminal maintaining first original data containing original content, the multiple first-class access terminals respectively having shared read-only permissions for the first original data, the device including: an original data loading unit, for reading the loaded first original data in a read-only manner in response to an access request for the first original data; an updated data caching unit, for caching first updated data generated based on the read first original data, wherein the first updated data respectively cached by the multiple first-class 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.
- a data updating device is proposed, which is applied to a data storage end in a data management system, wherein the data management system also includes multiple first-class access ends, and 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: a merge result generating unit, which is used to generate a data update merge result using the first updated data cached by the multiple first-class access ends as a data source, wherein the first updated data cached by any first-class access end is generated by any first-class access end 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 end in response to an access request for the first original data; and an original data updating unit, which is used to update the first original data according to the data update merge result.
- a merge result generating unit which is used to generate a data update merge result using the first updated data cached by the multiple first-class access ends as a data source, wherein the first updated data cached by any first-class access end is generated by any first-class access end 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 end in response to an access request for the first original data
- an original data updating unit which is used to update
- an electronic device comprising: a processor; a memory for storing processor executable instructions; wherein the processor implements a method as described in any one of the third aspect or the fourth aspect by running the executable instructions.
- a computer-readable storage medium on which computer instructions are stored.
- 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.
- FIG. 1 is a schematic diagram showing a process of accessing data in some situations.
- FIG. 2 shows a schematic diagram of the architecture of a data management system provided by an exemplary embodiment.
- FIG. 3 shows a schematic diagram of a process of accessing data provided by an exemplary embodiment.
- FIG. 4 shows a schematic diagram of another process of accessing data provided by an exemplary embodiment.
- FIG. 5 shows a schematic diagram of a data updating method provided by an exemplary embodiment.
- FIG. 6 shows a schematic diagram of another data updating method provided by an exemplary embodiment.
- FIG. 7 shows a schematic structural diagram of a device provided by an exemplary embodiment.
- FIG. 8 shows a block diagram of a data updating device provided by an exemplary embodiment.
- FIG. 9 shows a block diagram of another data updating device provided by an exemplary embodiment.
- the steps of the corresponding method are not necessarily performed in the order shown and described in this specification.
- the method may include more or fewer steps than those described in this specification.
- a single step described in this specification may be decomposed 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.
- the storage end in the related art 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.
- cloud desktop service Taking cloud desktop service 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 logged in by the user using their own user account need to access the personal information.
- the cloud server can be an IaaS (Infrastructure as a Service) level cloud computing service, which can be used to provide elastic and scalable services to users, helping to improve the utilization efficiency of cloud service resources.
- IaaS infrastructure as a Service
- the NAS device can create multiple copies for it, such as duplicate1 and duplicate2.
- cloud server instances 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.
- “sync" between the files is used to indicate that data synchronization will be performed between the files. For example, when Instance3 logs out (ie, the user logs out of Instance3), the changes made by Instance3 to duplicate2 can be updated to master and duplicate1. This will not be repeated here.
- the original file and each copy of the related art can be loaded by an Instance respectively, so in When there are three instances that need to access the same personal information, at least two copies of the original file need to be created. It can be seen that 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.
- this specification proposes a data update solution, in which the data storage terminal maintains the first original data containing the original content, and a plurality of first-class access terminals respectively having the shared read-only permission for the first original data respectively read the loaded original data in a read-only manner, and cache the 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.
- the method is described in detail below with reference to the accompanying drawings.
- Fig. 2 is a schematic diagram of the 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-24 (ie, server 22, server 23 and server 24, the same below), etc.
- the system may include multiple first-class access terminals, for example, servers 22 to 24 may respectively serve as first-class access terminals.
- the data storage terminal 21 may maintain first original data containing original content, and the multiple first-class access terminals 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 including an independent host, or may be a virtual server or cloud server hosted by a host cluster.
- 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.
- 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, so that multiple first-class access ends can achieve simultaneous access to the original content.
- the data storage end and the first type of access end can have a variety of forms.
- the data storage end is a database corresponding to the server and the first type of access end is a plurality of clients corresponding to the server
- the plurality of clients can independently access the public data stored in the database (such as the basic components of the application supported by the server, etc.).
- Cloud desktop also known as desktop virtualization, cloud computer, etc.
- Cloud desktop is a computing model that replaces traditional local computers: users do not need to purchase computer hosts, and the CPU, memory, hard disk and other components required for the host operation can be implemented and provided by the resources of the cloud desktop server through virtualization technology.
- Users can use any form of terminal device as a cloud desktop client, connected to the cloud desktop server through the network, and the two work together to form a complete computer in the cloud desktop scenario.
- the data management system may also include several electronic devices, such as mobile phones 25 to 27, etc., and a client program may be run in any mobile phone, so that the mobile phone is implemented as a cloud desktop client in the cloud desktop system.
- the cloud desktop client may essentially be an application program, which may 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.
- mobile phones 25 to 27 are only one type of electronic device that users can use.
- the electronic device as an application client may include hardware such as a control module, a communication module, a display, a keyboard, a mouse, etc., so that users can interact with the application server through the above hardware.
- users can also use cloud desktop dedicated devices, such as devices that may be pre-installed with a cloud desktop client. Users only need to connect the device to the corresponding input/output devices, 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.
- a cloud desktop instance can be deployed in the server 24.
- the server 24 can serve as a cloud desktop server to provide cloud desktop services for electronic devices such as mobile phones 25 to 27, so that users can control and run the above applications.
- the cloud desktop instance running in the server 24 can be used as a server program, and any virtual machine can realize itself as a server in the cloud desktop system by running the program.
- the cloud desktop instance running therein can integrate the applications deployed in the instance, and can also integrate the applications deployed in other servers (such as servers 22-23).
- the cloud desktop instance running in server 24 After any user logs in to the cloud desktop instance running in server 24 through a mobile phone, he 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.
- 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.
- the first original data containing these original contents can be maintained, and the aforementioned servers 22 ⁇ 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.
- a cloud desktop instance can be deployed in the server 24, and the instance integrates applications such as APP1 deployed locally, APP2 deployed by server 22, and APP3 deployed by server 23. After the user of the mobile phone 25 logs in to the cloud desktop instance through the mobile phone, he can control the operation of APP1 ⁇ 3.
- the servers 22 ⁇ 24 need to access the above-mentioned first original data stored in the data storage terminal 21 respectively, so as to obtain the original content and provide corresponding services for the user.
- the servers 22 ⁇ 24 are equivalent to multiple first access terminals that have common access needs for the original content.
- the application may include an office application, a shopping application, a payment application, an instant messaging application, and/or a music application, etc., which will not be repeated here.
- This specification proposes a data management system for managing and updating first original data containing original content.
- the system includes a data storage end and multiple first-class access ends, the data storage end maintains the first original data containing original content, and the multiple first-class access ends respectively have shared read-only permissions for the first original data.
- any first-class access terminal is used to respond to an access request for the first original data, read the loaded first original data in a read-only manner, and cache the first updated data generated based on the read first original data;
- the data storage terminal is used to update the first original data according to the data update merge result, and the data source for generating the data update merge result includes the first updated data cached respectively by the multiple first-class access terminals.
- the original content can be any form of information, data or instructions, etc., and this specification does not limit this.
- the relevant party can perform a read operation and/or a write operation on it.
- the process of accessing the original content includes the process of performing a read operation (i.e., reading the data) on the first original data.
- the shared read-only permission can be set for the first original data by the data storage terminal.
- 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.
- 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.
- each first-class access terminal Before accessing the original content, each first-class access terminal needs to load the first original data first.
- any first-class access terminal can load the first original data during the startup process or after the startup is completed, or can load the first original data during the user login process or after the login is completed.
- any first-class access terminal can determine the access address of the first original data according to the user's identity information and load it accordingly; the user's identity information can also be submitted to the data storage terminal, and when the access address returned by the data storage terminal is received, the first original data can be loaded through the access address.
- any first-class access terminal can record the access address of the first original data locally (such as 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, any 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 the data can be read after the loading is completed, which will not be repeated.
- 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.
- the access terminal can respond to the access request for the first original data and read the loaded first original data in a read-only manner.
- the multiple first-class access terminals can read the first original data in a read-only form without affecting each other, thereby "sharing" the data.
- 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 operation.
- any first-class access terminal can read the first original data in advance in a read-only manner, 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 is 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 - and 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 (the copy of This data is cached locally, making it easier to quickly read and update the data in a timely manner, improving the response speed to access requests and avoiding users waiting for too long.
- part of the first original data can also be selected and read in advance.
- 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 read in advance, while the remaining low-frequency data is not read in advance.
- the possibility of any of the first-class access terminals receiving an access request for the high-frequency data is usually greater than that of 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 of the first-class access terminals can be saved as much as possible while improving the efficiency of updating the high-frequency data.
- any first-class access terminal may also temporarily read the first original data.
- the access request may include identification information, so that any first-class access terminal may determine which content should be read from the loaded first original data based on the identification information.
- the identification information may be used to identify all or part of the first original data, so that any first-class access terminal may read all or part of the loaded first original data accordingly.
- the identification information may specifically be a content name, a 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.
- 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.
- the access request received by the Instance may be initiated by the APPi.
- the user of the APPi can perform a preset operation on the application, then APPi can determine the first original data in response to the preset operation and initiate the access request for the data.
- any of the first-class access terminals is a client device of a certain application (i.e., a terminal device running the client)
- the client can vector determine the corresponding first original data and initiate the access request for it.
- the preset operation performed by the user may be related to the functions that the application can realize, and for example, it may be editing documents, entering text, forwarding pictures, recording audio, editing videos, etc., and this specification does not limit this.
- the multiple first-class access terminals can log in to the same user, that is, the user logs in to the multiple first-class access terminals respectively.
- the shared read-only permission of the multiple first-class access terminals can be granted by the user, and the first original data belongs to the user.
- any of the first-class access terminals can read the loaded first original data belonging to the user in a read-only manner according to the information of the user logged in on the access terminal. In this way, any of the first-class access terminals can accurately read the first original data belonging to the user who logged in to the multiple first-class access terminals.
- the access terminal may 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 may respectively maintain the first original data belonging to each user, such as maintaining a mapping relationship between the identity information of any user and its first original data (such as recording the mapping relationship 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).
- the access terminal can read the first original data belonging to the user in a targeted manner according to the identity information of the user, and the data storage terminal can use the identity information as an index to query the corresponding first original data.
- the first-category access terminals reads the first original data in a read-only manner, and specifically sends a read request for the first original data to the data storage terminal, and receives the data returned by the data storage terminal in response to the request, and the data can be regarded as the reading result of the first original data by any of the first-category access terminals, that is, the first original data read by itself.
- the read request can include the identity information of the user logged in to any of the first-category access terminals, and accordingly, the data storage terminal can query the corresponding first original data in the aforementioned mapping relationship according to the identity information, and return the query result (that is, the queried first original data) to any of the first-category access terminals as its reading result.
- 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.
- any of the first access terminals can provide the read first original data to the 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. At this time, the user can initiate an update instruction for the data to any of the first access terminals. At this time, any of the first access terminals can respond to the instruction to update the read first original data, that is, generate the 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.
- the reading and updating processing of the first original data by any of the first access terminals are separated from each other, and the access request and the update instruction can be initiated by the user according to his own needs. It can be understood that if the user does not issue the update instruction, any of the first access terminals will not update the first original data, and the user only views the data.
- the access request may also directly indicate the update processing that needs to be performed on the first original data.
- 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, etc.), 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.
- any of the first access terminals reads the first original data in response to the access request, and then generates the first updated data based on the data.
- the process of generating the first updated data based on the read first original data may include adding, deleting, modifying, etc.
- the access request may include data to be updated, and at this time, 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.
- the above-mentioned adding, deleting and modifying operations are all performed on the first original data read by any access end, but not on the first original data maintained by the data storage end, that is, the first original data maintained by the data storage end has not been updated yet.
- the first updated data generated based on the read first original data is subsequently used to generate a data update merge result, so as to modify the data maintained by the data storage end according to the result.
- the first original data is updated.
- any of the access terminals may cache the generated first updated data.
- the first updated data may be cached locally at any of the first-class access terminals to improve the cache speed.
- the first updated data may also be cached in the data storage terminal, that is, the first updated data is written in 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.
- the operating system of the first-class access terminal and the data storage terminal is a Windows system
- it may mount other storage devices locally as a virtual disk VHD through VHD (Virtual Hard Disk) technology, and at this time, any of the first-class access terminals may also cache the first updated data to itself or the VHD mounted at the data storage terminal.
- VHD Virtual Hard Disk
- the first updated data cached by the plurality of first-class access terminals can be used as a data source to generate the data update merge result, so that the data storage terminal updates the first locally stored original data according to the result.
- the following takes the cloud desktop scenario as an example to illustrate the process of updating the first original data of the data management system.
- the data management system includes a NAS device and three instances, namely, Instance 1, Instance 2, and Instance 3.
- the NAS device maintains a first original data master containing original content, and the three instances respectively have a shared read-only permission for the master.
- the master can belong to the user.
- Instance1, Instance2 and Instance3 are all provided with a read-only component (i.e., ReadOnly Layer) and a write component (i.e., Write Layer).
- any Instance can read the master in a read-only manner with the help of its own ReadOnly Layer.
- the ReadOnly Layer can be regarded as a data interface for reading the master opened by the NAS component to the Instance.
- 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.
- the ReadOnly Layer can be regarded as the local storage space of the Instance for storing the above-mentioned data copy.
- the master 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 above-mentioned 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.
- 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.
- 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 respectively, the NAS device can update the master maintained by itself according to the data.
- Instance3 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 first updated data cached at the current moment to the NAS device; or, since 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 shown by the dotted line "sync" in Figure 3. Of course, in the case where 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.
- 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 above merge strategy can include the order of the generation time of the first updated data, such as 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 update of the content by different Instances presents an overall update effect of sequentially covering in time.
- the merge strategy can also include the priority order of each Instance, such as when the priority of Instance1, Instance2 and Instance3 decreases in sequence, the first updated data cached by Instance1 can be directly used as the merge result to update the first original data.
- Instance2 and Instance3 can not submit the first updated data to the NAS device, but only save it locally for their own query in the running interval.
- the data storage end can update the first original data according to the data, such as using the data update merge result to directly replace the corresponding content in the master, or directly updating the corresponding part in the master according to the data update merge result, and finally completing the update of the first original data.
- each Instance loads the master in a read-only manner, and each caches the first updated data generated by the master, and then the NAS device updates the master according to the first updated data cached by each Instance, thereby realizing an orderly and reliable update of 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 a master to meet the access requirements 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 (relative to the related art, when there are n Instances, n-1 storage resources can be saved).
- each Instance adopts a read-only mode, no matter how many Instances the master has been loaded by, the latest Instance can directly load and read the master without waiting, which significantly improves the loading speed of the subsequent Instance to the master and the first access speed to the original content.
- the Instance4, Instance5, etc. newly logged in by the user can directly load the master without waiting for the NAS device to temporarily create a corresponding copy for it.
- the solution to the problem of storage resource occupation and the waiting problem of Instance will be more significant.
- the scenario where multiple access terminals simultaneously access the same original content is usually rare.
- a user usually only logs into one Instance at any time. Therefore, in order to improve the content efficiency of the access terminal in most cases, the above scheme can be further improved: the multiple access terminals that simultaneously access the original data are divided into a first type of access terminal and a second type of access terminal, wherein 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 among the access terminals that access the original data except the first access terminal (such as other Instances logged in by the user).
- the improved scheme in conjunction with Figure 4, i.e., a related embodiment.
- the data storage terminal may also maintain second original data having the same original content as the first original data.
- 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.
- the data management system may also include a second type of access terminal, which may have exclusive read and write permissions for the second original data.
- the second-class access terminal Different from the shared read-only permission of each first-class access terminal to the aforementioned first original data, the second-class access terminal has exclusive read and write permission to the second original data, indicating that the second original data can only be read by the second-class access terminal (but cannot be read by any first-class access terminal in any way), and the access terminal can perform read/write operations on the second original data.
- the second-class 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).
- 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 initiation method and content of the access request, as well as the specific method of the second type of access terminal receiving and responding to the request, can refer to the relevant embodiments of the aforementioned access request, which will not be repeated here.
- the first access terminal i.e., the second type of access terminal
- 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 of data maintenance.
- the access terminal can load the second original data and directly perform read/write operations on it, thereby reducing its data maintenance pressure and the workload of the data storage terminal for data synchronization of the maintained original data as much as possible.
- a NAS device maintains a first original data duplicate and a second original data master (the duplicate may be a copy obtained by copying the master before the first Instance accesses it).
- the system includes two first-class access terminals (i.e., Instance2 and Instance3) and one second-class access terminal (i.e., Instance1).
- the specific process of Instance2 and Instance3 loading the duplicate can refer to the relevant embodiment of any Instance loading the master shown in FIG3
- the process of Instance2 and Instance3 generating and caching the first updated data can refer to the relevant embodiment of any Instance caching the first updated data shown in FIG3 , which will not be repeated here.
- Instance1 shown in FIG4 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., record file) for subsequent data merging.
- a read-write component i.e., ReadWrite Layer
- the corresponding update record update log or updated content
- the update record file i.e., record file
- 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 generate the data update merging result later 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.
- the above-mentioned improvement scheme 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 type of access end reads the master exclusively 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 realizing an orderly and reliable update of the original data.
- 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 are saved (compared to the related art, when there are n instances, n-2 storage resources can be saved).
- each first-class access terminal adopts a read-only mode, no matter how many instances the duplicate has been loaded by, the latest instance can directly load and read the duplicate in a read-only mode without waiting, which significantly improves the loading speed of the subsequent instances to the duplicate and the first access speed to the original content.
- the newly logged-in Instance4, Instance5, etc. of the user can directly load the duplicate without waiting for the NAS device to temporarily create a corresponding copy for it.
- the solution to the problem of storage resource occupation and the waiting problem of Instance will be more significant.
- the data storage end can be updated with the first original data according to the data update merge result in a variety of ways. For example, it can merge the first updated data cached by the multiple first-class access ends respectively according to the first merge strategy, and pre-update the first original data according to the corresponding first data update merge result; then merge the pre-update result of the first original data and the pre-update result of the second original data according to the second merge strategy, and update the first original data and the second original data according to the corresponding second data update merge result.
- the NAS device can merge the first updated data cached by Instance2 and Instance3 respectively (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.
- the NAS device can merge the pre-update result of the duplicate and the pre-update result of the master (Instance1 has updated the master, and since the 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 the duplicate according to the corresponding second data update merge result.
- the pre-update result of the second original data may be the content of the master at the current moment (after the pre-update), or the update record saved in the aforementioned update record file record file, which will not be described in detail.
- the first merge strategy may 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 may 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 described in detail.
- 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.
- 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 sequence 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.
- 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).
- 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 (such as log parsing work, etc.) on the data storage side to determine the updated data based on the data update merging results, thereby improving the overall update efficiency.
- any first access terminal may read the first original data loaded by itself in a read-only manner without updating it.
- the first access terminal The query end 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.
- any first access end and the data storage end only involve a read operation for the data (in a read-only manner), and do not involve a write operation for the data.
- FIG. 5 is a flow chart of a data updating method provided by an exemplary embodiment.
- the method is applied to any first-class access terminal among multiple first-class access terminals contained in the data management system, the data management system also includes a data storage terminal, the data storage terminal 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.
- Step 502 In response to an access request for the first original data, read the loaded first original data in a read-only manner.
- 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 merge result, so that the data storage terminal updates the first original data according to the data update merge result.
- FIG. 6 is a flowchart of another data updating method provided by an exemplary embodiment.
- the method 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, and comprising the following steps 602-604.
- Step 602 using 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.
- Step 604 Update the first original data according to the data update merging result.
- the data storage end also maintains second original data having the same original content as the first original data
- the data management system also includes a second type of access end having exclusive read and write permissions for the second original data
- the method also includes: updating the second original data in response to a trigger of the second type of access end; wherein the data source for generating the data update merge result also includes: an update record of the second type of access end on the second original data.
- the data management system includes 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.
- Any of the first-class access ends is used to respond to an access request for the first original data, read the loaded first original data in a read-only manner, and cache the first updated data generated based on the read first original data; and the data storage end is used to update the first original data according to the data update merge result, and the data source for generating the data update merge result includes the first updated data cached by the plurality of first-class access ends respectively.
- each first-class access terminal in the data management system has respective first-class access terminals for the first original data
- the first-class access terminals have a shared read-only permission, and each first-class access terminal reads the first loaded original data in a read-only manner, so each first-class access terminal can access the same original content (i.e., the original content contained in the first original data).
- each first-class access terminal When updating the first original data loaded by itself (the update process usually involves a write operation), each first-class access terminal does not directly write to the data, but 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 merging 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.
- 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, and then the data storage terminal updates the first original data according to the first updated data cached by each first-class access terminal, thereby realizing orderly and reliable update of the data.
- the data storage terminal only needs to maintain the first original data to meet the access needs of these first-class access terminals, which not only effectively reduces the storage space occupied by the original data, but also saves the storage resources of the data storage terminal; and 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 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, which significantly improves the loading speed of the first updated data by the later first-class access terminal and its first access speed to the original content.
- the solution to the problem of storage resource occupation and the waiting problem of the access terminal will be more significant.
- FIG7 is a schematic structural diagram of a device provided by an exemplary embodiment. Please refer to FIG7.
- the device includes a processor 702, an internal bus 704, a network interface 706, a memory 708, and a non-volatile memory 710, and may also include hardware required for other functions.
- One or more embodiments of this specification may 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.
- one or more embodiments of this specification do not exclude other implementations, 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 may also be hardware or logic devices.
- the data updating device is applied to any first-class access terminal among multiple first-class access terminals contained in a data management system.
- the data management system also includes a data storage terminal, and the data storage terminal maintains first original data containing original content.
- the multiple first-class access terminals respectively have shared read-only permissions for the first original data.
- the device includes: a data loading unit 801, which is used 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 cache unit 802, which is used to cache first updated data generated based on the read first original data, wherein the first updated data cached by the multiple first-class 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.
- a data loading unit 801 which is used 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 cache unit 802 which is used to cache first updated data generated based on the read first original data, wherein the first updated data cached by the multiple first-class 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.
- the data updating device 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, 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, and the device includes: a result generating unit 901 for generating the first original data cached by the plurality of first-class access ends respectively.
- the updated data is used 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 first original data that has been loaded 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; a first update unit 902 is used to update the first original data according to the data update merge result.
- the data storage end also maintains second original data having the same original content as the first original data
- the data management system also includes a second type of access end having exclusive read and write permissions for the second original data
- the device also includes a second update unit 903, which is used to: update the second original data in response to the triggering of the second type of access end; wherein the data source for generating the data update merge result also includes: the update record of the second type of access end on the second original data.
- a typical implementation device is a computer, which may be in the form of a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email transceiver, a game console, a tablet computer, a wearable device or a combination of any of these devices.
- a computer includes one or more processors (CPU), input/output interfaces, network interfaces, and memory.
- processors CPU
- input/output interfaces network interfaces
- memory volatile and non-volatile memory
- Memory may include non-permanent storage in a computer-readable medium, in the form of random access memory (RAM) and/or non-volatile memory, such as read-only memory (ROM) or flash memory (flash RAM). Memory is an example of a computer-readable medium.
- RAM random access memory
- ROM read-only memory
- flash RAM flash memory
- Computer readable media include permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information.
- 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, magnetic 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.
- computer readable media does not include temporary computer readable media (transitory media), such as modulated data signals and carrier waves.
- first, second, third, etc. may be used to describe various information in one or more embodiments of this specification, these information should not be limited to these terms. These terms are only used to distinguish the same type of information from each other.
- the first information may also be referred to as the second information, and similarly, the second information may also be referred to as the first information.
- the word "if” as used herein may be interpreted as "at the time of” or "when” or "in response to determining”.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书提供一种数据管理系统、数据更新方法及装置。所述数据管理系统包括维护有包含原始内容的第一原始数据的数据存储端和多个第一类访问端,所述多个第一类访问端分别具有针对第一原始数据的共享只读权限,其中任一第一类访问端用于响应于针对第一原始数据的访问请求,通过只读方式读取已加载的第一原始数据;以及,对基于读取到的所述第一原始数据生成的第一已更新数据进行缓存;数据存储端用于根据数据更新合并结果更新第一原始数据,其中用于生成数据更新合并结果的数据来源包括多个第一类访问端分别缓存的第一已更新数据。本方案能够满足多个访问端对同一份原始内容的同时访问需求,节省存储端的存储资源并减少访问端的等待时间。
Description
本申请要求于2023年03月28日提交中国专利局、申请号为202310321049.6、发明名称为“数据管理系统、数据更新方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本说明书实施例属于计算机领域,尤其涉及一种数据管理系统、数据更新方法及装置。
在一些场景下,针对存储端所维护的一份原始文件,多个访问端可能存在同时访问的需求。为了满足上述需求,相关技术中的存储端通常会为原始文件创建多个副本,以便各个访问端分别加载不同副本并实施相应的读/写操作,从而实现对同一原始内容的并行访问。
但是,由于相关技术中的原始文件及其每一副本可以被一个访问端所加载,所以在存在n个访问端需要访问同一原始文件的情况下,需要为该原始文件创建n-1个副本,可见该方式需要维护共n份原始文件及其副本,因此会严重占用存储端的存储资源。另外,由于原始文件的各个副本通常预先创建,因此对于访问端的数量也会造成限制:若存储端为原始文件创建的n-1个副本已经被n-1个访问端分别加载,则对于第n+1个访问端(及其之后的访问端)而言,访问端在接收到其发出的加载请求后,需要为其临时创建相应的第n个副本,而第n+1个访问端需要等待该副本创建完成才能开始对其进行加载和访问,影响了该访问端的加载速度和首次访问速度。特别是在原始文件的数据量较大的情况下,存储资源的占用问题以及访问端的等待问题都会更加严重。
发明内容
有鉴于此,本说明书一个或多个实施例提供一种数据管理系统、数据更新方法及装置。
为实现上述目的,本说明书一个或多个实施例提供技术方案如下。
根据本说明书一个或多个实施例的第一方面,提出了一种数据管理系统,包括数据存储端和多个第一类访问端,所述数据存储端维护有包含原始内容的第一原始数据,所述多个第一类访问端分别具有针对所述第一原始数据的共享只读权限,其中,任一第一类访问端,用于响应于针对所述第一原始数据的访问请求,通过只读方式读取已加载的所述第一原始数据,并对基于读取到的所述第一原始数据生成的第一已更新数据进行缓存;所述数据存储端,用于根据数据更新合并结果更新所述第一原始数据,且用于生成所述数据更新合并结果的数据来源包括所述多个第一类访问端分别缓存的第一已更新数据。
根据本说明书一个或多个实施例的第二方面,提出了一种数据更新方法,应用于数据管理系统所含多个第一类访问端中的任一第一类访问端,所述数据管理系统还包括数据存储端,所述数据存储端维护有包含原始内容的第一原始数据,所述多个第一类访问端分别具有针对所述第一原始数据的共享只读权限,所述方法包括:响应于针对所述第一原始数
据的访问请求,通过只读方式读取已加载的所述第一原始数据;对基于读取到的所述第一原始数据生成的第一已更新数据进行缓存,其中,所述多个第一类访问端分别缓存的第一已更新数据用于作为数据来源生成数据更新合并结果,以使所述数据存储端根据所述数据更新合并结果更新所述第一原始数据。
根据本说明书一个或多个实施例的第三方面,提出了一种数据更新方法,应用于数据管理系统中的数据存储端,所述数据管理系统还包括多个第一类访问端,所述数据存储端维护有包含原始内容的第一原始数据,所述多个第一类访问端分别具有针对所述第一原始数据的共享只读权限,所述方法包括:将所述多个第一类访问端分别缓存的第一已更新数据作为数据来源生成数据更新合并结果,其中,任一第一类访问端缓存的第一已更新数据由所述任一第一类访问端基于通过只读方式读取已加载的所述第一原始数据生成,所述第一原始数据由所述任一第一类访问端响应于针对所述第一原始数据的访问请求加载;根据所述数据更新合并结果更新所述第一原始数据。
根据本说明书一个或多个实施例的第四方面,提出了一种数据更新装置,应用于数据管理系统所含多个第一类访问端中的任一第一类访问端,所述数据管理系统还包括数据存储端,所述数据存储端维护有包含原始内容的第一原始数据,所述多个第一类访问端分别具有针对所述第一原始数据的共享只读权限,所述装置包括:原始数据加载单元,用于响应于针对所述第一原始数据的访问请求,通过只读方式读取已加载的所述第一原始数据;已更新数据缓存单元,用于对基于读取到的所述第一原始数据生成的第一已更新数据进行缓存,其中,所述多个第一类访问端分别缓存的第一已更新数据用于作为数据来源生成数据更新合并结果,以使所述数据存储端根据所述数据更新合并结果更新所述第一原始数据。
根据本说明书一个或多个实施例的第五方面,提出了一种数据更新装置,应用于数据管理系统中的数据存储端,所述数据管理系统还包括多个第一类访问端,所述数据存储端维护有包含原始内容的第一原始数据,所述多个第一类访问端分别具有针对所述第一原始数据的共享只读权限,所述装置包括:合并结果生成单元,用于将所述多个第一类访问端分别缓存的第一已更新数据作为数据来源生成数据更新合并结果,其中,任一第一类访问端缓存的第一已更新数据由所述任一第一类访问端基于通过只读方式读取已加载的所述第一原始数据生成,所述第一原始数据由所述任一第一类访问端响应于针对所述第一原始数据的访问请求加载;原始数据更新单元,用于根据所述数据更新合并结果更新所述第一原始数据。
根据本说明书一个或多个实施例的第六方面,提出了一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器通过运行所述可执行指令以实现如第三方面或第四方面中任一项所述的方法。
根据本说明书一个或多个实施例的第七方面,提出了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如第三方面或第四方面中任一项所述方法的步骤。
在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本申请公开的一些实施方式,而不应将其视为是对本申请范围的限制。
图1示出了在一些情形中访问数据的过程示意图。
图2示出了一示例性实施例提供的一种数据管理系统的架构示意图。
图3示出了一示例性实施例提供的一种访问数据的过程示意图。
图4示出了一示例性实施例提供的另一种访问数据的过程示意图。
图5示出了一示例性实施例提供的一种数据更新方法的示意图。
图6示出了一示例性实施例提供的另一种数据更新方法的示意图。
图7示出了一示例性实施例提供的一种设备的结构示意图。
图8示出了一示例性实施例提供的一种数据更新装置的框图。
图9示出了一示例性实施例提供的另一种数据更新装置的框图。
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
如前所述,相关技术中的存储端通常会为原始文件创建多个副本,以便各个访问端分别加载不同副本并实施相应的读/写操作,从而实现对同一原始内容的并行访问。
以云桌面服务为例,不妨假设某一用户的个人信息(即原始内容)被记录在原始文件中,该文件由NAS(Network Attached Storage,网络附属存储)设备所维护,该用户使用自身的用户账号同时登录的多个云服务器都需要访问所述个人信息。其中,所述云服务器可以为IaaS(Infrastructure as a Service,基础设置即服务)级别云计算服务,可以用于向用户提供弹性可扩展服务,有助于提升云服务资源的利用效率。参见图1所示,对于原始文件master,NAS设备可以为其创建多个副本,如duplicate1和duplicate2。基于此,用户登录的多个(不妨假设为3个,即n=3)云服务器实例(Instance)可以分别加载并访问不同的文件,如Instance1访问master、Instance2和Instance3分别访问duplicate1和duplicate2。另外,各个文件之间的“sync”用于标识各个文件之间会进行数据同步,例如在Instance3登出(即用户退出对Instance3的登录状态)时,可以将Instance3对duplicate2做出的改动更新至master和duplicate1中,不再赘述。
可见,相关技术中的原始文件及其每一副本可以分别被一个Instance所加载,所以在
存在3个Instance需要访问同一个人信息的情况下,需要为该原始文件创建至少两个副本,可见该方式中的NAS设备需要维护共3份数据(即原始文件及其两个副本),因此会严重占用存储端的存储资源。另外,由于上述副本duplicate1和duplicate2通常是预先创建的,因此对于Instance的数量也会造成限制:若NAS为master创建的2个副本已经被Instance2和Instance3分别加载,则在所述用户之后继续登录新的Instance4(甚至Instance5、Instance6等)的情况下,NAS在接收到新的Instance发出的数据加载请求后,需要为其临时创建相应的第3个副本(即duplicate3),而Instance4需要等待该副本创建完成才能开始对其进行加载和访问,影响了该Instance4对的启动速度和对于所述个人信息的首次访问速度。特别是在master的数据量较大的情况下,对NAS存储资源的占用问题以及Instance4的等待问题都会更加严重。
针对相关技术中存在的上述问题,本说明书提出一种数据更新方案,由数据存储端维护包含原始内容的第一原始数据,并由分别具有针对第一原始数据的共享只读权限的多个第一类访问端分别通过只读方式读取已加载的该原始数据,并对基于该原始数据生成的第一已更新数据进行缓存(而非对该原始数据实时更新),从而减少数据存储端需要维护的原始内容所对应数据的数量。下面结合附图对该方法进行详细说明。
图2是一示例性实施例提供的一种数据管理系统的架构示意图。该系统可以包括数据存储端21,若干服务器,如服务器22~24(即服务器22、服务器23和服务器24,下同)等。
其中,所述系统可以包括多个第一类访问端,例如,服务器22~24可以分别作为第一类访问端。所述数据存储端21可以维护有包含原始内容的第一原始数据,所述多个第一类访问端分别具有针对第一原始数据的共享只读权限,可以通过只读方式分别读取已加载的所述第一原始数据。所述数据管理系统中的任一服务器可以为包含一独立主机的物理服务器,或者也可以为主机集群承载的虚拟服务器、云服务器等。所述数据存储端21可以为任意形式,如可以为结构化或非结构化数据库,也可以为前述NAS设备等,本说明书一个或多个实施例并不对此进行限制。
在本说明书实施例中,所述数据存储端用于维护包含原始内容的第一原始数据,而所述多个第一类访问端可以分别通过只读方式读取所述第一原始数据,不同第一类访问端对该数据的读取操作可以并行进行,因此可以实现多个第一类访问端对原始内容的同时访问。
其中,该系统可以应用于多种场景,相应的,所述数据存储端和第一类访问端可以具有多种形式。例如,在数据存储端为服务端对应的数据库、第一类访问端为该服务端对应的多个客户端的情况下,所述多个客户端可以分别独立访问该数据库中存储的公共数据(如该服务端所支持应用程序的基础组件等)。
再例如,所述数据管理系统也可以应用于云桌面场景。云桌面又称桌面虚拟化、云电脑等,是替代传统本地计算机的计算模式:用户无需购买电脑主机,主机运行所需的CPU、内存、硬盘等组件可以由云桌面服务器的资源通过虚拟化技术实现并提供。用户可是使用任意形式的终端设备作为云桌面客户端,通过网络连接至所述云桌面服务器,二者相互配合即构成云桌面场景下的完整计算机。
所述数据管理系统还可以包括若干电子设备,如手机25~27等,任一手机中可以运行有客户端程序,从而将该手机实现为云桌面系统中的云桌面客户端。所述云桌面客户端本质上可以为应用程序,该应用程序可以被预先安装在手机上,使得该客户端可以在该终端设备上被启动并运行;当然,当使用诸如HTML5技术的在线“客户端”时,无需在手机上安装相应的应用程序,即可获得并运行该客户端。另外,手机25~27只是用户可以使用的一种类型的电子设备。用户还可以使用诸如下述类型的电子设备:平板设备、笔记本电脑、掌上电脑(PDAs,Personal Digital Assistants)、可穿戴设备(如智能眼镜、智能手表等)、VR(Virtual Reality,虚拟现实)设备、AR(Augmented Reality,增强现实)设备等。其中,作为应用客户端的电子设备可以包括控制模组、通信模组、显示器、键盘、鼠标等硬件,以便用户通过上述硬件与应用服务端实现信息交互。实际上,用户还可以使用云桌面专用设备,如该设备中可以预装有云桌面客户端,用户只需要为该设备连接相应的输入/输出设备,即可通过实施相应的操作,利用所述云桌面客户端访问相应的云桌面服务端中运行的应用,享受该设备提供的云桌面服务。
同时,服务器24中可以部署有云桌面实例,基于在该实例中运行的应用(即APP,Application,应用程序)或者在服务器22和/或服务器23中运行的应用,服务器24可以作为云桌面服务端为手机25~27等电子设备提供云桌面服务,以便用户控制运行上述应用。可见,服务器24中运行的云桌面实例可以作为服务端程序,所述任一虚拟机通过运行该程序可以将自身实现为云桌面系统中的服务端。
对于服务器24而言,其中运行的云桌面实例可以集成该实例中部署的应用,也可以集成其他服务器(如服务器22~23)中部署的应用。任一用户通过手机登录服务器24中运行的云桌面实例后,可以控制启动该实例中集成的各个应用,从而实现对各个应用分别所处服务器的登录;换言之,用户通过云桌面实例启动任一应用,即可视为该用户登录至该应用所属的服务器。显然,所述用户可以同时登录多个服务器。
对于任一手机的用户而言,数据存储端21可以用于维护该用户在使用云桌面服务的过程中产生的账户信息、历史数据等原始内容,例如可以维护有包含这些原始内容的第一原始数据,而前述服务器22~24则可能需要同时访问这些原始内容,即多个服务器存在同时访问同一原始内容的需求。例如,在服务器24中可以部署有云桌面实例,该实例中集成有本地部署的APP1、服务器22部署的APP2和服务器23部署的APP3等应用,手机25的用户在通过该手机登录所述云桌面实例后,可以控制运行所述APP1~3,此时服务器22~24需要分别访问数据存储端21所存储的上述第一原始数据,以便获取所述原始内容为该用户提供相应服务,此时服务器22~24即相当于针对原始内容存在共同访问需求的多个第一访问端。
本说明书对于任一应用所能够实现的具体功能并不进行限制,例如,所述应用可以包括办公应用、购物应用、支付应用、即时通信应用和/或音乐应用等,不再赘述。
本说明书提出一种数据管理系统,用于对包含原始内容的第一原始数据进行管理和更新。如前所述,该系统包括数据存储端和多个第一类访问端,所述数据存储端维护有包含原始内容的第一原始数据,所述多个第一类访问端分别具有针对第一原始数据的共享只读权限。
其中,任一第一类访问端,用于响应于针对所述第一原始数据的访问请求,通过只读方式读取已加载的所述第一原始数据,并对基于读取到的所述第一原始数据生成的第一已更新数据进行缓存;所述数据存储端,用于根据数据更新合并结果更新所述第一原始数据,且用于生成所述数据更新合并结果的数据来源包括所述多个第一类访问端分别缓存的第一已更新数据。
需要说明的是,所述原始内容可以为任意形式的信息、数据或指令等,本说明书并不对此进行限制。对于被存储的第一原始数据而言,相关方可以对其实施读取操作和/或写入操作。如对于第一类访问端而言,其访问原始内容的过程,即包括对第一原始数据实施读取操作(即读取该数据)的过程。所述共享只读权限可以由数据存储端为第一原始数据设置,如在数据存储端的操作系统为Windows系统的情况下,可以通过该操作系统提供的minifilter驱动将第一原始数据的访问方式设置为共享方式。当然,本说明书所述数据存储端(以及任一第一类访问端)的操作系统也可以为iOS、Linux、Unix等,本说明书并不对此进行限制。
在访问原始内容之前,各个第一类访问端需要先加载第一原始数据,如任一第一类访问端可以在启动过程中或启动完成后加载第一原始数据,也可以在用户登录过程中或登录完成后加载第一原始数据。以用户登录为例,在某一用户登录任一第一类访问端的情况下,所述任一第一类访问端可以根据该用户的身份信息确定第一原始数据的访问地址并据此进行加载;也可以将该用户的身份信息提交至所述数据存储端,并在接收到数据存储端返回的访问地址的情况下,通过该访问地址加载第一原始数据。其中,任一第一类访问端可以将第一原始数据的访问地址记录在本地(如自身维护的数据标识与访问地址之间的映射关系中)已完成对该数据的加载。可以理解的是,在第一原始数据被加载完成后,所述任一第一类访问端即可按照所述访问地址读取该数据。当然,也可以响应于所述访问请求临时加载所述第一原始数据,并在加载完成后读取该数据,不再赘述。
如前所述,数据管理系统中的多个第一类访问端分别具有针对第一原始数据的共享只读权限,因此各个第一类访问端可以分别通过只读方式读取已加载的该数据。以其中任一第一类访问端为例,该访问端可以响应于针对第一原始数据的访问请求,通过只读方式读取已加载的第一原始数据。对于被各个第一类访问端分别加载的第一原始数据,就其读取操作而言,所述多个第一类访问端可以互不影响地分别通过只读形式读取第一原始数据,从而“共享”该数据。在一实施方式中,所述多个第一类访问端可以在不同时刻分别(通过只读方式)读取第一原始数据,也可以在同一时刻分别(通过只读方式)读取第一原始数据;可见,任意两个第一类访问端的读取操作之间互不影响,且二者通过上述读取操作可以获知相同的所述原始内容。
在一实施例中,任一第一类访问端可以预先通过只读方式读取所述第一原始数据,并将读取到的该数据缓存在本地;进而在接收到访问请求的情况下,可以响应于该请求读取本地缓存的所述第一原始数据。可以理解的是,对于被预先读取的第一原始数据而言,所述任一第一类访问端读取之后在本地缓存的是该数据的一份副本——该副本与数据存储端维护的所述第一原始数据完全相同——响应于访问请求被加读取的第一原始数据即为该副本。该方式将针对第一原始数据的只读操作前置,并将读取到的第一原始数据(的副
本)缓存在本地,从而便于后续快速读取和及时更新该数据,提升针对访问请求的响应速度,避免用户等待过长时间。
另外,在所述第一原始数据包含多个数据的情况下,也可以从中选取部分第一原始数据预先读取。如可以按照历史读取和更新记录确定所述第一原始数据中的高频数据,并预先读取这部分高频数据,而其余的低频数据则不预先读取。可以理解的是,所述任一第一类访问端接收到针对所述高频数据的访问请求的可能性通常大于接收到针对所述低频数据的访问请求,即该第一类访问端对所述高频数据的更新需求大于对所述低频数据的更新需求,所以通过上述方式,可以在提升对所述高频数据更新效率的同时,尽量节省所述任一第一类访问端的本地存储空间。
或者,任一第一类访问端也可以临时读取第一原始数据。例如,在任一第一访问端预先加载了第一原始数据的情况下,可以响应于所述访问请求访问所述数据存储端,并通过只读方式从已加载的所述第一原始数据中读取所述访问请求指定的内容。其中,所述访问请求中可以包含标识信息,以便所述任一第一类访问端根据该标识信息确定应当从已加载的第一原始数据中读取哪些内容。当然,所述标识信息可以用于标识全部或部分第一原始数据,以便所述任一第一类访问端据此读取已加载的全部或部分第一原始数据。所述标识信息具体可以为内容名称、数据索引等,本说明书对其具体形式并不进行限制。通过该方式,所述任一第一类访问端可以从全部第一原始数据中准确地读取到访问请求指定的内容,便于后续数据更新。
在一实施例中,所述任一第一类访问端可以部署有应用,所述访问请求可以由该应用针对所述第一原始数据发起。例如,在前述云桌面场景下,若所述任一第一类访问端为部署有某一APPi的云服务器实例Instance,则该Instance接收到的访问请求可以由所述APPi发起。如所述APPi的用户可以针对该应用实施预设操作,此时APPi可以响应于上述预设操作确定第一原始数据,并针对该数据发起所述访问请求。再例如,在所述任一第一类访问端为某一应用的客户端设备(即运行有该客户端的终端设备)的情况下,若检测到用户针对该客户端实施的预设操作,则该客户端可以向量确定相应的第一原始数据并针对其发起所述访问请求。其中,用户实施的所述预设操作可以与所述应用可实现的功能有关,示例性的,可以为编辑文档、输入文本、转发图片、录制音频、编辑视频等,本说明书并不对此进行限制。
在一实施例中,所述多个第一类访问端可以登录同一用户,即该用户分别登录至所述多个第一类访问端。此时,所述多个第一类访问端的共享只读权限可以由该用户授予,且所述第一原始数据归属于该用户。基于此,所述任一第一类访问端可以根据该访问端上已登录的所述用户的信息,按照只读方式读取已加载的归属于所述用户的所述第一原始数据。通过该方式,所述任一第一类访问端可以准确地读取到归属于登录所述多个第一类访问端的用户的第一原始数据。
其中,在所述用户登录至所述任一第一类访问端的情况下,该访问端可以记录已登录的该用户的身份信息(如账户ID、密码、其他基础信息等);而针对所述数据管理系统涉及的多个用户,数据存储端可以分别维护归属于各个用户的第一原始数据,如维护任一用户的身份信息及其第一原始数据之间的映射关系(如在采用键值对方式记录该映射关系的
情况下,可以将账户ID作为key并将相应的第一原始数据作为value)。基于此,在任一用户登录至所述任一第一类访问端的情况下,该访问端可以根据该用户的身份信息针对性地读取归属于该用户的第一原始数据,而数据存储端可以以该身份信息作为索引查询相应的第一原始数据。例如,所述任一第一类访问端通过只读方式读取第一原始数据,具体可以向数据存储端发送针对第一原始数据的读取请求,并接收数据存储端响应于该请求返回的数据,该数据即可视为所述任一第一类访问端针对第一原始数据的读取结果,即自身读取到的第一原始数据。其中,所述读取请求中可以包含登录至所述任一第一类访问端的用户的身份信息,相应的,数据存储端可以根据该身份信息在前述映射关系中查询相应的第一原始数据,并将查询结果(即查询到的第一原始数据)返回至所述任一第一类访问端作为其读取结果。
在响应于所述访问请求通过只读方式读取到所述第一原始数据的情况下,所述任一第一访问端可以基于该数据生成第一已更新数据。其中,可以通过多种方式生成第一已更新数据。
在一实施例中,所述任一第一访问端可以将读取到的第一原始数据提供至用户终端,以便后者向用户展示该数据供其查看。而用户在查看第一原始数据的过程中,可能需要对其进行更新,此时用户可以向所述任一第一访问端发起针对该数据的更新指令,此时所述任一第一访问端即可响应于该指令对读取到的第一原始数据进行更新,即基于第一原始数据生成第一已更新数据。在该场景下,所述任一第一访问端响应于所述访问请求读取第一原始数据,并进一步响应于更新指令生成第一已更新数据。可见,此时所述任一第一访问端针对第一原始数据的读取和更新处理相互分离,而所述访问请求和所述更新指令均可以由所述用户根据自身需求发起。可以理解的是,若用户不发出所述更新指令,则所述任一第一访问端并不会更新第一原始数据,此时用户仅查看该数据。
在另一实施例中,所述访问请求也可以直接指示需要对第一原始数据做出的更新处理。例如,在通过只读方式读取到第一原始数据的情况下,所述任一第一访问端可以确定所述访问请求所指示的更新方式(如更新前和更新后的数值等),进而按照该更新方式对读取到的第一原始数据进行更新,即基于第一原始数据生成第一已更新数据。在该场景下,所述任一第一访问端响应于所述访问请求先读取第一原始数据,再基于该数据生成第一已更新数据。
其中,基于读取到的第一原始数据生成第一已更新数据的过程,可以包括增加、删除、修改等。以响应于所述访问请求读取并更新第一原始数据为例,所述访问请求中可以包含待更新数据,此时所述任一访问端可以在读取到的第一原始数据中增加该待更新数据得到第一已更新数据,也可以将读取到的第一原始数据中的数据修改为待更新数据得到第一已更新数据,还可以在读取到的第一原始数据中删除待更新数据得到(剩余数据构成的)第一已更新数据等。
需要说明的是,上述增加、删除和修改操作,都是针对所述任一访问端读取到的第一原始数据的进行的,而并非针对数据存储端维护的所述第一原始数据进行,即数据存储端维护的所述第一原始数据当前尚未被更新。如前所述,基于读取到的第一原始数据生成的第一已更新数据后续被用于生成数据更新合并结果,以便根据该结果对数据存储端维护的
所述第一原始数据进行更新。
所述任一访问端可以对生成的所述第一已更新数据进行缓存。例如,可以将所述第一已更新数据缓存在所述任一第一类访问端本地,以便提升缓存速度。也可以将第一已更新数据缓存在所述数据存储端中,即在数据存储端内区别于第一原始数据的存储空间处写入所述第一已更新数据;显然,在数据存储端本地缓存第一已更新数据并非使用该数据直接更新第一原始数据——此时第一原始数据尚未被更新。在所述第一类访问端和所述数据存储端的操作系统为Windows系统的情况下,其可以通过VHD(Virtual Hard Disk,虚拟磁盘)技术将其他存储设备挂载至本地作为虚拟磁盘VHD,此时所述任一第一类访问端也可以将所述第一已更新数据缓存至自身或者所述数据存储端挂载的VHD处。
所述多个第一类访问端分别缓存的第一已更新数据,可以被作为数据来源生成所述数据更新合并结果,以便所述数据存储端根据该结果更新本地存储的所述第一原始数据。下面以云桌面场景为例,对数据管理系统的更新第一原始数据的过程进行说明。
如图3所示,数据管理系统包括NAS设备和三个Instance,即Instance1、Instance2和Instance3。其中,所述NAS设备维护有包含原始内容的第一原始数据master,所述三个Instance分别具有针对所述master的共享只读权限。在所述三个Instance登录有同一用户的情况下,所述master可以归属于该用户。
Instance1、Instance2和Instance3内均设置有只读组件(即ReadOnly Layer)和写入组件(即Write Layer)。其中,所述任一Instance可以借助自身的ReadOnly Layer通过只读方式读取master,此时ReadOnly Layer可视为NAS组件向Instance开放的、用于读取master的数据接口。例如,任一Instance可以通过copyonwrite(即写入时复制)方式在需要更新master时临时读取该数据;或者,在所述任一Instance预先读取部分或全部master的情况下,也可以将预先读取到的这部分数据副本保存在ReadOnly Layer中,此时ReadOnly Layer可视为该Instance本地用于存储上述数据副本的存储空间。
对于上述任一Instance而言,在接收到针对master的访问请求的情况下,可以相应于该指令加载master。例如,可以加载预先读取并保存在ReadOnly Layer中的前述数据副本,或者也可以直接访问NAS设备加载访问请求所指示的master的部分或全部内容。在上述加载完成后,Instance可以基于被加载的master(的全部或部分内容)生成第一已更新数据,如可以先确定第一访问请求指定的待更新数据(如包含在该请求中),然后基于该数据对master做出增加、删除、修改等更新操作,从而得到相应的第一已更新数据。此时,所述任一Instance可以对第一已更新数据进行缓存,如将该数据缓存在Write Layer中。此后,针对基于各个Instance分别缓存的第一已更新数据生成的第一已更新数据,NAS设备可以根据该数据更新自身维护的所述master。
在一实施例中,在用户登出Instance3的情况下,Instance3可以将自身在用户本次登录期间缓存的第一已更新数据提交至NAS设备。此外,Instance3还可以通知该用户登录的其他Instance(即Instance1和Instance2)也分别将自身当前时刻已经缓存的第一已更新数据提交至NAS设备;或者,鉴于各个Instance之间可能相互独立且不可知,所以也可以由NAS设备在接收到Instance3提交的第一已更新数据的情况下,分别向Instance1和Instance2请求获取二者在当前时刻分别缓存的第一已更新数据。具体过程如图3所示的虚线“sync”。
当然,在上述任一Instance并未缓存第一原始数据所对应第一已更新数据的情况下,该Instance也可以不提交任何数据。
基于获取到的至少一个Instance缓存的第一已更新数据,NAS设备可以将按照合并策略对这些第一已更新数据进行合并处理,并根据相应的合并结果更新自身维护的master。其中,上述合并策略可以包括第一已更新数据生成时刻的先后顺序,如对于第一原始数据中涉及更新的任一内容,将各个第一已更新数据中生成时刻最晚(即距离当前时刻最近)的第一已更新数据作为合并结果,从而使得不同Instance对该内容的更新呈现出按时间先后依次覆盖的整体更新效果。和/或,所述合并策略也可以包括各个Instance的优先级顺序等,如在Instance1、Instance2和Instance3的优先级依次降低的情况下,可以直接将Instance1缓存的第一已更新数据作为合并结果用于更新第一原始数据。当然,此时Instance2和Instance3可以不将第一已更新数据提交至NAS设备,而是仅保存在本地,以供自身在运行区间进行查询。
在确定上述数据更新合并结果后,数据存储端可以根据该数据更新第一原始数据,如使用数据更新合并结果直接替换master中的相应内容,或者按照数据更新合并结果直接更新master中的相应部分,最终完成对所述第一原始数据的更新。
可见,本方案由各个Instance通过只读方式分别加载master,并各自缓存自身根据master生成的第一已更新数据,进而由NAS设备根据各个Instance分别缓存的第一已更新数据对master进行更新,实现了对该数据有序、可靠的更新。由此可见,无论需要同时访问原始内容的Instance的数量有多少,NAS设备都只需维护一份master,即可满足这些Instance的访问需求,不仅有效减少了第一原始数据所占的存储空间,节省了NAS设备的存储资源(相对于相关技术,在存在n个Instance的情况下,能够节省n-1份存储资源)。而且,因为各个Instance采用只读方式,所以无论master当前已经被多少Instance所加载,最新的Instance都可以直接加载并读取master而无需等待,显著提升了后来的Instance对master的加载速度及其对原始内容的首次访问速度。如图3所示,所述用户新登录的Instance4、Instance5等均可以直接加载master,而不必等待NAS设备为其临时创建相应的副本。显然,在master的数据量较大的情况下,本方案对于存储资源的占用问题以及Instance的等待问题的解决效果将更加显著。
实际上,多个访问端同时访问同一份原始内容的场景通常较少出现,例如在云桌面场景下,一个用户在任意时刻通常只会登录一台Instance。因此为了提升访问端在多数情况下的内容方效率,可以对上述方案做出进一步改进:将同时访问原始数据的多个访问端划分为第一类访问端和第二类访问端,其中,第二类访问端可以为访问原始数据的首个访问端(如用户登录的第一个Instance),第一类访问端可以为访问原始数据的访问端中除首个访问端之外的其余访问端(如用户登录的其他Instance)。下面结合图4即相关实施例对该改进方案进行说明。
在一实施例中,除了维护前述第一原始数据之外,数据存储端还可以维护有与第一原始数据具有相同原始内容的第二原始数据。此时,所述第一原始数据可以为第二原始数据的副本,或者所述第二原始数据可以为第一原始数据的副本。此时,所述数据管理系统还可以包括第二类访问端,该访问端可以具有针对所述第二原始数据的独占读写权限。与前
述各个第一类访问端对前述第一原始数据的共享只读权限不同的是,第二类访问端具有针对第二原始数据的独占读写权限,表明第二原始数据仅可以被第二类访问端所读取(而不能被任一第一类访问端以任何方式读取),而且该访问端可以针对第二原始数据执行读/写操作,换言之,第二类访问端既可以读取第二原始数据(即针对该数据执行读取操作),也可以直接更新该数据(即可以针对第二原始数据执行写入操作)。
在该场景下,第二类访问端可以响应于针对第二原始数据发起的更新请求,触发所述数据存储端更新所述第二原始数据;其中,用于生成所述数据更新合并结果的数据来源还可以包括:所述第二类访问端对所述第二原始数据的更新记录。访问请求的发起方式及其内容,以及第二类访问端接收并响应该请求的具体方式,可以参见前述访问请求的相关实施例,此处不再赘述。通过该方式,使得访问原始数据的首个访问端(即第二类访问端)独占第二原始数据,即其可以直接对该数据进行读/写操作,不仅实现了对这部分数据的实/时更新,而且第二类访问端无需保存读取到的第二原始数据或者缓存相应的已更新数据(并不存在第二已更新数据),有助于节省该访问端的存储空间并降低数据维护压力。可以理解的是,在仅有一个访问端访问原始数据的情况下,该访问端可以加载第二原始数据并直接对其进行读/写操作,从而尽可能地减少其数据维护压力和数据存储端对所维护原始数据进行数据同步的工作量。
如图4所示,作为数据管理系统中的数据存储端,NAS设备维护有第一原始数据duplicate和第二原始数据master(所述duplicate可以是在首个Instance访问之前拷贝所述master得到的副本)。该系统包括两个第一类访问端(即Instance2和Instance3)和一个第二类访问端(即Instance1)。其中Instance2和Instance3加载duplicate的具体过程可以参见图3所示任一Instance加载master的相关实施例,Instance2和Instance3生成并缓存第一已更新数据的过程可以参见图3所示任一Instance缓存第一已更新数据的相关实施例,此处不再赘述。
与图3所示Instance1不同的是,图4所示Instance1中设置有读写组件(即ReadWrite Layer),而并未设置前述只读组件和写入组件。Instance1可以借助自身的ReadWrite Layer通过读/写方式直接读取和更新master。另外,针对更新master的过程,还可以将相应的更新记录(更新日志或者更新后的内容)保存在更新记录文件(即record file)中,以用于后续数据合并。由此可见,该改进方案中的各个第二类访问端(Instance2和Instance3等)通过只读方式读取duplicate,并将据此生成的已更新数据缓存在自身的Write Layer中,以便后续生成数据更新合并结果用于更新duplicate;而第一类访问端(即Instance1)独占master,并通过读/写方式读取和更新master。
可见,上述改进方案由Instance2和Instance3等通过只读方式分别加载duplicate,并各自缓存自身根据master生成的第一已更新数据;同时,由第二类访问端通过独占方式读取master并直接对其进行更新,最后由NAS设备根据Instance2和Instance3等分别缓存的第一已更新数据以及Instance1对master的预更新结果确定数据更新合并结果,并据此更新master和duplicate,实现了对原始数据有序、可靠的更新。由此可见,无论需要同时访问原始内容的Instance的数量有多少,NAS设备都只需维护一份master和一份duplicate,即可满足这些Instance的访问需求,不仅有效减少了第一原始数据所占的存储空间,节省
了NAS设备的存储资源(相对于相关技术,在存在n个Instance的情况下,能够节省n-2份存储资源)。而且,因为各个第一类访问端采用只读方式,所以无论duplicate当前已经被多少Instance所加载,最新的Instance都可以直接加载并通过只读方式读取duplicate而无需等待,显著提升了后来的Instance对duplicate的加载速度及其对原始内容的首次访问速度。如图4所示,所述用户新登录的Instance4、Instance5等均可以直接加载duplicate,而不必等待NAS设备为其临时创建相应的副本。显然,在duplicate数据量较大的情况下,本方案对于存储资源的占用问题以及Instance的等待问题的解决效果将更加显著。
在一实施例中,数据存储端可以被通过多种方式根据数据更新合并结果更新所述第一原始数据。例如,其可以按照第一合并策略对所述多个第一类访问端分别缓存的第一已更新数据进行合并处理,并根据相应的第一数据更新合并结果预更新所述第一原始数据;然后按照第二合并策略对所述第一原始数据的预更新结果和所述第二原始数据的预更新结果进行合并处理,并根据相应的第二数据更新合并结果更新所述第一原始数据和所述第二原始数据。如图4所示,NAS设备可以按照第一合并策略对Instance2和Instance3分别缓存的第一已更新数据(任一Instance缓存的该数据可能为空)进行合并处理,并根据相应的第一数据更新合并结果预更新duplicate。此时,NAS设备可以按照第二合并策略对所述duplicate的预更新结果和所述master的预更新结果(Instance1已经对master进行了更新,由于该更新可能并非master的最终结果,因此将其记为master的预更新结果)进行合并处理,并根据相应的第二数据更新合并结果更新所述master和duplicate。其中,所述第二原始数据的预更新结果可以为master在当前时刻(预更新之后)的内容,也可以为前述更新记录文件record file中保存的更新记录,不再赘述。所述第一合并策略可以包括第一已更新数据生成时刻的先后顺序或者各个第一类访问端的优先级顺序等,所述第二合并策略可以包括master的预更新时刻与各个第一已更新数据的生成时刻的先后顺序,或者各个访问端的优先级顺序等,不再赘述。
再例如,数据存储端也可以按照第三合并策略对所述第二原始数据的预更新结果和所述多个第一类访问端分别缓存的第一已更新数据进行合并处理,并根据相应的第三数据更新合并结果更新所述第一原始数据和所述第二原始数据。如可以按照第三合并策略对master的预更新结果和Instance2及Instance3分别缓存的第一已更新数据进行合并处理,并根据相应的第三数据更新合并结果更新所述master和duplicate。所述第三合并策略可以包括master的预更新时刻与各个第一已更新数据的生成时刻的先后顺序,或者各个访问端的优先级顺序等,不再赘述。如图4所示的虚线“sync”。
另外,在更新所述master和duplicate的过程中,可以分别并行更新master和duplicate,以尽量提升数据更新效率,减少用户的登出耗时;或者,也可以按照先后顺序依次更新master和duplicate(即先更新master再更新duplicate),此时可以直接拷贝master中的更新后数据并替换duplicate中的相应部分,减轻数据存储端根据数据更新合并结果确定更新后数据的计算量(如日志解析工作等),提升整体更新效率。
前述实施例对任一第一访问端更新第一原始数据的过程进行了说明,实际上,对于自身加载的第一原始数据,所述任一第一访问端也可以只通过只读方式读取该数据,而并不对其进行更新。例如,在所登录的用户仅发起针对某一数据的查看操作的情况下,第一访
问端可以在已加载的第一原始数据中查询该数据,然后通过只读方式读取该数据并向用户展示。此时,所述任一第一访问端与数据存储端之间仅涉及针对该数据的读取操作(通过只读方式),而不涉及针对该数据的写入操作。
对应于上文针对数据管理系统的相关实施例,本说明书还提出一种数据更新方法。请参见图5,图5是一示例性实施例提供的一种数据更新方法的流程图。如图5所示,该方法应用于数据管理系统所含多个第一类访问端中的任一第一类访问端,所述数据管理系统还包括数据存储端,所述数据存储端维护有包含原始内容的第一原始数据,所述多个第一类访问端分别具有针对所述第一原始数据的共享只读权限,包括下述步骤502-504。
步骤502,响应于针对所述第一原始数据的访问请求,通过只读方式读取已加载的所述第一原始数据。
步骤504,对基于读取到的所述第一原始数据生成的第一已更新数据进行缓存,其中,所述多个第一类访问端分别缓存的第一已更新数据用于作为数据来源生成数据更新合并结果,以使所述数据存储端根据所述数据更新合并结果更新所述第一原始数据。
对应于上文针对数据管理系统的相关实施例,本说明书还提出另一种数据更新方法。请参见图6,图6是一示例性实施例提供的另一种数据更新方法的流程图。如图6所示,该方法应用于数据管理系统中的数据存储端,所述数据管理系统还包括多个第一类访问端,所述数据存储端维护有包含原始内容的第一原始数据,所述多个第一类访问端分别具有针对所述第一原始数据的共享只读权限,包括下述步骤602-604。
步骤602,将所述多个第一类访问端分别缓存的第一已更新数据作为数据来源生成数据更新合并结果,其中,任一第一类访问端缓存的第一已更新数据由所述任一第一类访问端基于通过只读方式读取已加载的所述第一原始数据生成,所述第一原始数据由所述任一第一类访问端响应于针对所述第一原始数据的访问请求加载。
步骤604,根据所述数据更新合并结果更新所述第一原始数据。
在一实施例中,数据存储端还维护有与第一原始数据具有相同原始内容的第二原始数据,所述数据管理系统还包括具有针对所述第二原始数据的独占读写权限的第二类访问端,所述方法还包括:响应于所述第二类访问端的触发,更新所述第二原始数据;其中,用于生成所述数据更新合并结果的数据来源还包括:所述第二类访问端对所述第二原始数据的更新记录。
上述数据更新方法的具体实现,可以参见前述数据管理系统相关实施例的记载,此处不再赘述。
在本方案中,数据管理系统包括数据存储端和多个第一类访问端,所述数据存储端维护有包含原始内容的第一原始数据,所述多个第一类访问端分别具有针对所述第一原始数据的共享只读权限。其中任一第一类访问端,用于响应于针对所述第一原始数据的访问请求,通过只读方式读取已加载的所述第一原始数据,并对基于读取到的所述第一原始数据生成的第一已更新数据进行缓存;而所述数据存储端,用于根据数据更新合并结果更新所述第一原始数据,且用于生成所述数据更新合并结果的数据来源包括所述多个第一类访问端分别缓存的第一已更新数据。
可以理解的是,因为数据管理系统中的多个第一类访问端分别具有针对第一原始数据
的共享只读权限,且各个第一类访问端分别通过只读方式读取已加载的所述第一原始数据,所以各个第一类访问端能够访问相同的原始内容(即第一原始数据所包含的原始内容)。而各个第一类访问端在更新自身加载的第一原始数据时(更新过程通常涉及写入操作)并不会直接对该数据实施写入操作,而是基于读取到的该数据生成第一已更新数据并对其进行缓存,从而避免了各个第一类访问端分别写入可能造成的数据混乱;另外,由数据存储端根据基于多个第一类访问端分别缓存的第一已更新数据生成的数据更新合并结果更新所述第一原始数据,能够综合各个第一类访问端的更新结果对该数据做出最后的实际更新。
可见,本方案由各个第一类访问端通过只读方式读取已加载的第一原始数据并各自缓存自身生成的第一已更新数据,进而由数据存储端根据各个第一类访问端分别缓存的第一已更新数据对第一原始数据进行更新,实现了对该数据有序、可靠的更新。由此可见,无论存在多少第一类访问端需要同时访问原始内容,数据存储端都只需维护第一原始数据,即可满足这些第一类访问端的访问需求,不仅有效减少了原始数据所占的存储空间,节省了数据存储端的存储资源;而且因为各个第一类访问端分别加载并通过只读方式读取第一原始数据,所以无论第一原始数据当前已经被多少第一类访问端所加载,最新的第一类访问端都可以直接加载并通过只读方式读取该数据而无需等待,显著提升了后来的第一类访问端对第一已更新数据的加载速度及其对原始内容的首次访问速度。显然,在第一原始文件的数据量较大的情况下,本方案对于存储资源的占用问题以及访问端的等待问题的解决效果将更加显著。
图7是一示例性实施例提供的一种设备的示意结构图。请参考图7,在硬件层面,该设备包括处理器702、内部总线704、网络接口706、内存708以及非易失性存储器710,当然还可能包括其他功能所需要的硬件。本说明书一个或多个实施例可以基于软件方式来实现,比如由处理器702从非易失性存储器710中读取对应的计算机程序到内存708中然后运行。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
请参考图8,在一软件实施方式中,该数据更新装置应用于数据管理系统所含多个第一类访问端中的任一第一类访问端,所述数据管理系统还包括数据存储端,所述数据存储端维护有包含原始内容的第一原始数据,所述多个第一类访问端分别具有针对所述第一原始数据的共享只读权限,所述装置包括:数据加载单元801,用于响应于针对所述第一原始数据的访问请求,通过只读方式读取已加载的所述第一原始数据;数据缓存单元802,用于对基于读取到的所述第一原始数据生成的第一已更新数据进行缓存,其中,所述多个第一类访问端分别缓存的第一已更新数据用于作为数据来源生成数据更新合并结果,以使所述数据存储端根据所述数据更新合并结果更新所述第一原始数据。
请参考图9,在另一软件实施方式中,该数据更新装置应用于数据管理系统中的数据存储端,所述数据管理系统还包括多个第一类访问端,所述数据存储端维护有包含原始内容的第一原始数据,所述多个第一类访问端分别具有针对所述第一原始数据的共享只读权限,所述装置包括:结果生成单元901,用于将所述多个第一类访问端分别缓存的第一已
更新数据作为数据来源生成数据更新合并结果,其中,任一第一类访问端缓存的第一已更新数据由所述任一第一类访问端基于通过只读方式读取已加载的所述第一原始数据生成,所述第一原始数据由所述任一第一类访问端响应于针对所述第一原始数据的访问请求加载;第一更新单元902,用于根据所述数据更新合并结果更新所述第一原始数据。
在一实施例中,所述数据存储端还维护有与第一原始数据具有相同原始内容的第二原始数据,所述数据管理系统还包括具有针对所述第二原始数据的独占读写权限的第二类访问端,所述装置还包括第二更新单元903,用于:响应于所述第二类访问端的触发,更新所述第二原始数据;其中,用于生成所述数据更新合并结果的数据来源还包括:所述第二类访问端对所述第二原始数据的更新记录。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
在一个典型的配置中,计算机包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。
Claims (13)
- 一种数据管理系统,包括数据存储端和多个第一类访问端,所述数据存储端维护有包含原始内容的第一原始数据,所述多个第一类访问端分别具有针对所述第一原始数据的共享只读权限,其中,任一第一类访问端,用于响应于针对所述第一原始数据的访问请求,通过只读方式读取已加载的所述第一原始数据;以及,对基于读取到的所述第一原始数据生成的第一已更新数据进行缓存;所述数据存储端,用于根据数据更新合并结果更新所述第一原始数据,且用于生成所述数据更新合并结果的数据来源包括所述多个第一类访问端分别缓存的第一已更新数据。
- 根据权利要求1所述的系统,所述任一第一类访问端通过只读方式读取已加载的所述第一原始数据,包括:响应于所述访问请求访问所述数据存储端,通过只读方式从已加载的所述第一原始数据中读取所述访问请求指定的内容;或者,读取本地缓存的所述第一原始数据,所述第一原始数据被预先通过只读方式读取并缓存。
- 根据权利要求1所述的系统,所述任一第一类访问端部署有应用,所述访问请求由所述应用针对所述第一原始数据发起。
- 根据权利要求1所述的系统,所述第一原始数据的共享只读权限由分别登录至所述多个第一类访问端的用户授予,且所述第一原始数据归属于所述用户;所述任一第一类访问端通过只读方式读取已加载的所述第一原始数据,包括:根据所述任一第一类访问端上已登录的所述用户的信息,按照只读方式读取已加载的归属于所述用户的所述第一原始数据。
- 根据权利要求1所述的系统,所述数据存储端还维护有与第一原始数据具有相同原始内容的第二原始数据;所述系统还包括:第二类访问端,具有针对所述第二原始数据的独占读写权限,用于响应于针对所述第二原始数据发起的更新请求,触发所述数据存储端更新所述第二原始数据;其中,用于生成所述数据更新合并结果的数据来源还包括:所述第二类访问端对所述第二原始数据的更新记录。
- 根据权利要求5所述的系统,所述数据存储端根据数据更新合并结果更新所述第一原始数据,包括:按照第一合并策略对所述多个第一类访问端分别缓存的第一已更新数据进行合并处理,并根据相应的第一数据更新合并结果预更新所述第一原始数据;以及,按照第二合并策略对所述第一原始数据的预更新结果和所述第二原始数据的预更新结果进行合并处理,并根据相应的第二数据更新合并结果更新所述第一原始数据和所述第二原始数据;或者,按照第三合并策略对所述第二原始数据的预更新结果和所述多个第一类访问端分别缓存的第一已更新数据进行合并处理,并根据相应的第三数据更新合并结果更新所述第一原始数据和所述第二原始数据;其中,更新后的所述第一原始数据和所述第二原始数据分别包含相同的更新后内容。
- 一种数据更新方法,应用于数据管理系统所含多个第一类访问端中的任一第一类访问端,所述数据管理系统还包括数据存储端,所述数据存储端维护有包含原始内容的第一原始数据,所述多个第一类访问端分别具有针对所述第一原始数据的共享只读权限,所述方法包括:响应于针对所述第一原始数据的访问请求,通过只读方式读取已加载的所述第一原始数据;对基于读取到的所述第一原始数据生成的第一已更新数据进行缓存,其中,所述多个第一类访问端分别缓存的第一已更新数据用于作为数据来源生成数据更新合并结果,以使所述数据存储端根据所述数据更新合并结果更新所述第一原始数据。
- 一种数据更新方法,应用于数据管理系统中的数据存储端,所述数据管理系统还包括多个第一类访问端,所述数据存储端维护有包含原始内容的第一原始数据,所述多个第一类访问端分别具有针对所述第一原始数据的共享只读权限,所述方法包括:将所述多个第一类访问端分别缓存的第一已更新数据作为数据来源生成数据更新合并结果,其中,任一第一类访问端缓存的第一已更新数据由所述任一第一类访问端基于通过只读方式读取已加载的所述第一原始数据生成,所述第一原始数据由所述任一第一类访问端响应于针对所述第一原始数据的访问请求加载;根据所述数据更新合并结果更新所述第一原始数据。
- 根据权利要求8所述的方法,所述数据存储端还维护有与第一原始数据具有相同原始内容的第二原始数据,所述数据管理系统还包括具有针对所述第二原始数据的独占读写权限的第二类访问端,所述方法还包括:响应于所述第二类访问端的触发,更新所述第二原始数据;其中,用于生成所述数据更新合并结果的数据来源还包括:所述第二类访问端对所述第二原始数据的更新记录。
- 一种数据更新装置,应用于数据管理系统所含多个第一类访问端中的任一第一类访问端,所述数据管理系统还包括数据存储端,所述数据存储端维护有包含原始内容的第一原始数据,所述多个第一类访问端分别具有针对所述第一原始数据的共享只读权限,所述装置包括:数据加载单元,用于响应于针对所述第一原始数据的访问请求,通过只读方式读取已加载的所述第一原始数据;数据缓存单元,用于对基于读取到的所述第一原始数据生成的第一已更新数据进行缓存,其中,所述多个第一类访问端分别缓存的第一已更新数据用于作为数据来源生成数据更新合并结果,以使所述数据存储端根据所述数据更新合并结果更新所述第一原始数据。
- 一种数据更新装置,应用于数据管理系统中的数据存储端,所述数据管理系统还包括多个第一类访问端,所述数据存储端维护有包含原始内容的第一原始数据,所述多个第一类访问端分别具有针对所述第一原始数据的共享只读权限,所述装置包括:结果生成单元,用于将所述多个第一类访问端分别缓存的第一已更新数据作为数据来源生成数据更新合并结果,其中,任一第一类访问端缓存的第一已更新数据由所述任一第一类访问端基于通过只读方式读取已加载的所述第一原始数据生成,所述第一原始数据由 所述任一第一类访问端响应于针对所述第一原始数据的访问请求加载;第一更新单元,用于根据所述数据更新合并结果更新所述第一原始数据。
- 一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器通过运行所述可执行指令以实现如权利要求7-9中任一项所述的方法。
- 一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如权利要求7-9中任一项所述方法的步骤。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310321049.6A CN116467270A (zh) | 2023-03-28 | 2023-03-28 | 数据管理系统、数据更新方法及装置 |
CN202310321049.6 | 2023-03-28 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2024198872A1 true WO2024198872A1 (zh) | 2024-10-03 |
Family
ID=87179851
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2024/080352 WO2024198872A1 (zh) | 2023-03-28 | 2024-03-06 | 数据管理系统、数据更新方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN116467270A (zh) |
WO (1) | WO2024198872A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116467270A (zh) * | 2023-03-28 | 2023-07-21 | 阿里巴巴(中国)有限公司 | 数据管理系统、数据更新方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1489075A (zh) * | 2002-10-12 | 2004-04-14 | 鸿富锦精密工业(深圳)有限公司 | 多点协同作业系统及方法 |
US20040205653A1 (en) * | 2001-12-17 | 2004-10-14 | Workshare Technology, Ltd. | Method and system for document collaboration |
CN106469150A (zh) * | 2015-08-14 | 2017-03-01 | 阿里巴巴集团控股有限公司 | 文件读写方法、装置和系统 |
CN115759004A (zh) * | 2022-11-16 | 2023-03-07 | 平安付科技服务有限公司 | 一种在线共同编辑方法、装置、设备及介质 |
CN116467270A (zh) * | 2023-03-28 | 2023-07-21 | 阿里巴巴(中国)有限公司 | 数据管理系统、数据更新方法及装置 |
-
2023
- 2023-03-28 CN CN202310321049.6A patent/CN116467270A/zh active Pending
-
2024
- 2024-03-06 WO PCT/CN2024/080352 patent/WO2024198872A1/zh unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040205653A1 (en) * | 2001-12-17 | 2004-10-14 | Workshare Technology, Ltd. | Method and system for document collaboration |
CN1489075A (zh) * | 2002-10-12 | 2004-04-14 | 鸿富锦精密工业(深圳)有限公司 | 多点协同作业系统及方法 |
CN106469150A (zh) * | 2015-08-14 | 2017-03-01 | 阿里巴巴集团控股有限公司 | 文件读写方法、装置和系统 |
CN115759004A (zh) * | 2022-11-16 | 2023-03-07 | 平安付科技服务有限公司 | 一种在线共同编辑方法、装置、设备及介质 |
CN116467270A (zh) * | 2023-03-28 | 2023-07-21 | 阿里巴巴(中国)有限公司 | 数据管理系统、数据更新方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN116467270A (zh) | 2023-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10469501B2 (en) | Multi-protocol access control lists | |
US10275489B1 (en) | Binary encoding-based optimizations at datastore accelerators | |
US11561930B2 (en) | Independent evictions from datastore accelerator fleet nodes | |
US10452296B1 (en) | Accelerated volumes | |
US8892677B1 (en) | Manipulating objects in hosted storage | |
US10097659B1 (en) | High performance geographically distributed data storage, retrieval and update | |
US10129357B2 (en) | Managing data storage in distributed virtual environment | |
US20220075640A1 (en) | Thin provisioning virtual desktop infrastructure virtual machines in cloud environments without thin clone support | |
TW201220197A (en) | for improving the safety and reliability of data storage in a virtual machine based on cloud calculation and distributed storage environment | |
US10191663B1 (en) | Using data store accelerator intermediary nodes and write control settings to identify write propagation nodes | |
WO2024183559A1 (zh) | 数据共享方法、设备、系统及存储介质 | |
US10884980B2 (en) | Cognitive file and object management for distributed storage environments | |
WO2024198873A1 (zh) | 资源的调用方法及装置 | |
WO2024198872A1 (zh) | 数据管理系统、数据更新方法及装置 | |
WO2024198817A1 (zh) | 系统资源的调用方法及装置 | |
WO2023016414A1 (zh) | 凭据的轮转方法、计算设备及存储介质 | |
US11157456B2 (en) | Replication of data in a distributed file system using an arbiter | |
US10146833B1 (en) | Write-back techniques at datastore accelerators | |
US11625179B2 (en) | Cache indexing using data addresses based on data fingerprints | |
CN113204520A (zh) | 一种基于分布式文件系统的遥感数据快速并发读写方法 | |
US20240184745A1 (en) | File-level snapshot access service | |
WO2024021417A1 (zh) | 数据账户创建方法及装置 | |
US11386072B1 (en) | Automatic consistency for database write forwarding | |
Tchaye-Kondi et al. | Hadoop Perfect File: A fast access container for small files with direct in disc metadata access | |
US10015248B1 (en) | Syncronizing changes to stored data among multiple client devices |