The present invention relates to a cloud data sharing method, in particular to a cloud data sharing method supporting native applications and containerized applications.
As network technologies become more and more developed, cloud storage services are also more convenient, fast, and diverse. Today's users can access data through browsers or client applications provided by various cloud service providers, and general cloud service providers also provide various application programming interfaces (APIs) so that users can develop their own client applications to meet various data access requirements. It is known that an individual client application has been developed by integrating these application programming interfaces to define a user-space file system and a virtual file system that interacts with the user-space file system, so that various applications can view the virtual file system as a general file system, and can access a cloud storage device through the virtual file system and the user-space file system.
However, when the data stored in the cloud storage device is changed through other channels, the individual client application cannot be immediately informed, resulting in the data changes cannot be updated simultaneously in a local storage device with the virtual file system. This is a shortcoming of the aforementioned individual client application.
Therefore, there is an urgent need for a novel cloud data sharing technical solution in the field.
One objective of the present invention is to provide a cloud data sharing method, which can support both native applications and containerized applications.
Another objective of the present invention is to provide a cloud data sharing method, which can enable a client application to be instantly informed of the content changes of a cloud file through a push notification service provided by a cloud storage service module.
Still another objective of the present invention is to provide a cloud data sharing method, which can enable the storage content of a local SSD device to be updated in real time as the content of a cloud storage device changes.
To achieve the aforementioned objectives, a cloud data sharing method supporting native applications and containerized applications is proposed, which is implemented by a data storage device, and the method includes:
using a user-space file system to mount at least one cloud storage server to a virtual file system;
using a cloud agent module to register a push notification service with a cloud storage service module of each of the at least one cloud storage server, so that when a content of a file stored in one of the at least one cloud storage server changes, the cloud agent module can receive a content-altered notification of the file and send the content-altered notification to a message broker module; and
using the message broker module to accept a file-altered-notification subscription from at least one native application or at least one containerized application, so that when the message broker module receives the content-altered notification from the cloud agent module, the message broker module can publish a file-altered message to one of the at least one native application or one of the at least one containerized application.
In one embodiment, one of the at least one native application or one of the at least one containerized application will respond to the file-altered message to read a corresponding file in one of the at least one cloud storage server through the virtual file system, and perform an image processing procedure on the corresponding file to generate a processed file, and then store the processed file in an SSD device in the data storage device through the virtual file system.
In one embodiment, the data storage device has a LINUX operating system, and the user-space file system, the virtual file system, the cloud agent module, the message broker module, the native application and the containerized application are all mounted on the Linux operating system.
In one embodiment, the message broker module is a functional module that supports containerized inter-process communication (IPC).
In one embodiment, the data storage device communicates with at least one user native application or at least one user containerized application via a network, so that the at least one user native application and the at least one user containerized application program can communicate respectively with the at least one native application and the at least one containerized application in the data storage device.
To achieve the above objectives, the present invention further provides a storage device, which has an SSD device and an information processing device to implement a cloud data sharing method that supports native applications and containerized applications, the method includes:
using a user-space file system to mount at least one cloud storage server to a virtual file system;
using a cloud agent module to register a push notification service with a cloud storage service module of each of the at least one cloud storage server, so that when a content of a file stored in one of the at least one cloud storage server changes, the cloud agent module can receive a content-altered notification of the file and send the content-altered notification to a message broker module; and
using the message broker module to accept a file-altered-notification subscription from at least one native application or at least one containerized application, so that when the message broker module receives the content-altered notification from the cloud agent module, the message broker module can publish a file-altered message to one of the at least one native application or one of the at least one containerized application.
In one embodiment, one of the at least one native application or one of the at least one containerized application will respond to the file-altered message to read a corresponding file in one of the at least one cloud storage server through the virtual file system, and perform an image processing procedure on the corresponding file to generate a processed file, and then store the processed file in an SSD device in the data storage device through the virtual file system.
In one embodiment, the data storage device has a LINUX operating system, and the user-space file system, the virtual file system, the cloud agent module, the message broker module, the native application and the containerized application are all mounted on the Linux operating system.
In one embodiment, the message broker module is a functional module that supports containerized inter-process communication (IPC).
In one embodiment, the data storage device communicates with at least one user native application or at least one user containerized application via a network, so that the at least one user native application and the at least one user containerized application program can communicate respectively with the at least one native application and the at least one containerized application in the data storage device.
To make it easier for our examiner to understand the objective of the invention, its structure, innovative features, and performance, we use preferred embodiments together with the accompanying drawings for the detailed description of the invention.
The principle of the present invention lies in:
(1) installing a cloud agent module in a data storage device to register a push notification service with each cloud storage server, so as to instantly learn the content-altered information of at least one file in each cloud storage server;
(2) installing a message broker module in the data storage device to receive the content-altered message of the at least one file provided by the cloud agent module; and
(3) installing at least one native application and at least one containerized application in the data storage device, where when a native application or a containerized application receives the content-altered message provided by the message broker module, the native application or the containerized application can read the at least one file through a network, and perform an image processing procedure on the at least one file to generate at least one processed file, and then store the at least one processed file in an SSD device in the data storage device.
According to the above design, a user native application (or a user containerized application) can communicate with one native application (or one containerized application) in the data storage device via the network to obtain the latest content of a target file from the SSD device of the data storage device, that is, as a native application (or a containerized application) in the data storage device will ensure the content changes of the target file stored in the SSD device be synchronized with the content changes of a corresponding file in a cloud storage server, therefore, when a user native application (or a user containerized application) requests the target file, a native application (or a containerized application) in the data storage device only has to read the target file in the SSD device without the need of requesting the corresponding file from the cloud storage server to quickly provide the latest content of the target file to the user native application (or the user containerized application).
Please refer to
Preferably, the data storage device may have a LINUX operating system, and the user-space file system, the virtual file system, the cloud agent module, the message broker module, the native application and the containerized application are all mounted on the Linux operating system.
In addition, in step c, the native application refers to an application program using a language supported by the operating system of the data storage device, and the containerized application refers to an application program that interacts with the operating system via a container.
In addition, the message broker module is a functional module that supports containerized inter-process communication (IPC).
In addition, the data storage device communicates with at least one user native application or at least one user containerized application via a network, so that the at least one user native application and the at least one user containerized application program can communicate respectively with the at least one native application and the at least one containerized application in the data storage device.
Based on the above description, the present invention further provides a storage device. Please refer to
(1) using the user-space file system 121 to mount at least one cloud storage server 200 to the virtual file system 122;
(2) using the cloud agent module 123 to register a push notification service with a cloud storage server module of each cloud storage server 200, so that when the content of a file stored in one cloud storage server 200 is altered, the cloud agent module 123 can receive a content-altered notification of the file and send the content-altered notification to the message broker module 124;
(3) using the message broker module 124 to accept a file-altered-notification subscription from at least one native application 125 or at least one containerized application 126, so that when the message broker module 124 receives the content-altered notification from the cloud agent module 123, the message broker module 124 can publish a file-altered message to one native application 125 or one containerized application 126; and
(4) one native application 125 or one containerized application 126 will respond to the file-altered message to read a corresponding file in one cloud storage server 200 through the virtual file system, and perform an image processing procedure on the corresponding file to generate a processed file, and then store the processed file in the SSD device 110 via the virtual file system 122.
In addition, the message broker module 124 is a functional module that supports containerized inter-process communication (IPC).
In addition, the information processing device 120 communicates with a user native application or a user containerized application of at least one user device 300 via a network, so that the at least one user native application and the at least one user containerized application can interact respectively with the at least one native application 125 and the at least one containerized application 126 in the information processing device 120, where the user device 300 may be a personal computer, a portable computer, or smart phone.
Please refer to
When in operation, through the message transfer between the cloud agent module 123 and the message broker module 124, the native application 125 and the containerized application 126 can instantly learn the content-altered information of a file stored in a cloud storage server 200, and in response read the file via the virtual file system 122, and perform an image processing procedure on the file to generate a processed file, and then store the processed file in the SSD device 110 via the virtual file system 122.
Please refer to
It can be seen from the above description that the present invention has the following advantages:
(1) The cloud data sharing method of the present invention can support both native applications and containerized applications.
(2) The cloud data sharing method of the present invention can enable the applications on the user side to instantly learn the content changes of a cloud file by using a push notification service provided by a cloud storage service module.
(3) The cloud data sharing method of the present invention can enable the storage content of a local SSD device to be updated in real time as the content of a cloud storage device changes, so that when a user native application (or a user containerized application) requests the target file, a native application (or a containerized application) in the data storage device only has to read the target file in the SSD device without the need of requesting the corresponding file from the cloud storage server to quickly provide the latest content of the target file to the user native application (or the user containerized application).
While the invention has been described by way of example and in terms of preferred embodiments, it is to be understood that the invention is not limited thereto. On the contrary, it is intended to cover various modifications and similar arrangements and procedures, and the scope of the appended claims therefore should be accorded the broadest interpretation so as to encompass all such modifications and similar arrangements and procedures.
In summation of the above description, the present invention herein enhances the performance over the conventional structure and further complies with the patent application requirements and is submitted to the Patent and Trademark Office for review and granting of the commensurate patent rights.
Number | Date | Country | Kind |
---|---|---|---|
109118854 | Jun 2020 | TW | national |