Apparatus and method for implementing process control redundancy using operating system (os) file system support
US-2020151146-A1 · May 14, 2020 · US
US11494100B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11494100-B2 |
| Application number | US-201916588903-A |
| Country | US |
| Kind code | B2 |
| Filing date | Sep 30, 2019 |
| Priority date | Apr 16, 2019 |
| Publication date | Nov 8, 2022 |
| Grant date | Nov 8, 2022 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
According to embodiments of the present disclosure, a method, device and computer program product for storage management are proposed. The method comprises: obtaining, in a first virtual storage device, a first portion storing a source file, the source file being used to update a target file; determining a second portion in the first virtual storage device, data stored in the second portion being changed relative to data stored in a second virtual storage device, the data stored in the second virtual storage device including the target file; determining a changed portion based on the first portion and the second portion, the changed portion indicating changed data of the source file relative to the target file; and updating the target file based on the changed portion. Therefore, the present solution can reduce data transmission and resource consumption.
Opening claim text (preview).
We claim: 1. A method for storage management, comprising: obtaining, in a first virtual storage device, a first portion storing a source file, the source file being used to update a target file, wherein the first virtual storage device includes a plurality of storage blocks; determining a second portion in the first virtual storage device, data stored in the second portion being changed relative to data stored in a second virtual storage device, the data stored in the second virtual storage device including the target file, wherein determining the second portion comprises: generating a first snapshot of the first virtual storage device at a first time point, generating a second snapshot of the second virtual storage device at the first time point, determining a first intermediate second portion, generating a third snapshot of the first virtual storage device at a second time point, generating a fourth snapshot of the second virtual storage device at the second time point, determining a second intermediate second portion, and generating the second portion by combining the first intermediate second portion and the second intermediate second portion; determining a changed portion based on the first portion and the second portion, wherein determining the changed portion includes recording changes of data stored in the first virtual storage device relative to data stored in the second virtual storage device using an IO device driver, the changed portion indicating changed data of the source file relative to the target file; and updating the target file based on the changed portion. 2. The method of claim 1 , further comprising: determining, in the second virtual storage device, a third portion storing the target file. 3. The method of claim 1 , wherein obtaining the first portion comprises: mapping the source file to a corresponding storage block among the plurality of storage blocks; and determining the first portion based on the corresponding storage block. 4. The method of claim 1 , wherein determining the second portion comprises: determining the second portion by comparing the first snapshot with the second snapshot. 5. The method of claim 1 , wherein determining the changed portion comprises: determining an overlapped portion between the first portion and the second portion as the changed portion. 6. The method of claim 2 , wherein the second virtual storage device comprises a plurality of storage blocks, and determining the third portion comprises: mapping the target file to a corresponding storage block among the plurality of storage blocks; and determining the third portion based on the corresponding storage block. 7. The method of claim 2 , wherein updating the target file comprises: in response to the changed portion indicating the source file does not contain changed data relative to the target file, updating the target file based on the first portion, the second portion, the third portion, and data stored in the second virtual storage device and associated with the target file. 8. The method of claim 2 , wherein updating the target file comprises: in response to the changed portion indicating the source file contains changed data relative to the target file, obtaining data in the changed portion in the source file based on the changed portion; and updating the target file based on data in the changed portion in the source file, the first portion, the second portion, the third portion, and data stored in the second virtual storage device and associated with the target file. 9. A device for storage management, comprising: at least one processing unit; at least one memory coupled to the at least one processing unit and storing instructions executed by the at least one processing unit, the instructions, when executed by the at least one processing unit, causing the device to perform acts comprising: obtaining, in a first virtual storage device, a first portion storing a source file, the source file being used to update a target file, wherein the first virtual storage device comprises a plurality of storage blocks, and; determining a second portion in the first virtual storage device, data stored in the second portion being changed relative to data stored in a second virtual storage device, data stored in the second virtual storage device including the target file, wherein determining the second portion comprises: generating a first snapshot of the first virtual storage device at a first time point, generating a second snapshot of the second virtual storage device at the first time point, determining a first intermediate second portion, generating a third snapshot of the first virtual storage device at a second time point, generating a fourth snapshot of the second virtual storage device at the second time point, determining a second intermediate second portion, and generating the second portion by combining the first intermediate second portion and the second intermediate second portion; determining a changed portion based on the first portion and the second portion, wherein determining the changed portion includes recording changes of data stored in the first virtual storage device relative to data stored in the second virtual storage device using an IO device driver, the changed portion indicating changed data of the source file relative to the target file; and updating the target file based on the changed portion. 10. The device of claim 9 , the acts further comprising: determining, in the second virtual storage device, a third portion storing the target file. 11. The device of claim 9 , wherein obtaining the first portion comprises: mapping the source file to a corresponding storage block among the plurality of storage blocks; and determining the first portion based on the corresponding storage block. 12. The device of claim 9 , wherein determining the second portion comprises: determining the second portion by comparing the first snapshot with the second snapshot. 13. The device of claim 9 , wherein determining the changed portion comprises: determining an overlapped portion between the first portion and the second portion as the changed portion. 14. The device of claim 10 , wherein the second virtual storage device comprises a plurality of storage blocks, and determining the third portion comprises: mapping the target file to a corresponding storage block among the plurality of storage blocks; and determining the third portion based on the corresponding storage block. 15. The device of claim 10 , wherein updating the target file comprises: in response to the changed portion indicating the source file does not contain changed data relative to the target file, updating the target file based on the first portion, the second portion, the third portion, and data stored in the second virtual storage device and associated with the target file. 16. The device of claim 10 , wherein updating the target file comprises: in response to the changed portion indicating the source file contains changed data relative to the target file, obtaining data in the changed portion in the source file based on the changed portion; and updating the target file based on data in the changed portion in the source file, the first portion, the second portion, the third portion, and data stored in the second virtual storage device and associated with the target file. 17. A computer program product, tangibly stored on a non-transient computer readable medium and comprising machine executable instructions which, when executed, cause a machine to implement a method for storage man
in relation to data integrity, e.g. data losses, bit errors · CPC title
Virtual file systems · CPC title
Improving I/O performance · CPC title
Single storage device · CPC title
Replication mechanisms · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.