Multi-cloud deployment method and system based on SaaS
Through the multi-cloud deployment method based on SaaS, the configuration center and data label technology are used to solve the problem of inconvenience in user data management in the existing technology, and the rapid and dynamic cloud deployment of data is realized, reducing management costs and improving the flexibility of data storage. Sex and safety.
Patent Information
- Application Number
- CN202411660255.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-20
- Publication Date
- 2025-02-11
- Estimated Expiration
- 2044-11-20
AI Technical Summary
The prior art is difficult to manage user data quickly and dynamically, which leads to the difficulty of timely adjustments for managers when the amount of data increases or the configuration of cloud vendors changes, which increases the cost of users.
Using a multi-cloud deployment method based on SaaS, the configuration center stores the SDKs of multiple cloud vendors, obtain user data and requirements, perform preprocessing and data tag allocation, and call the SDK to upload the data to the most suitable cloud vendor memory.
It realizes the rapid and dynamic cloud deployment of user data, reduces management costs, improves the flexibility and security of data storage, and adapts to different business needs.
Smart Images

Figure CN119172415B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of data cloud deployment technology, and in particular to a multi-cloud deployment method and system based on SaaS. Background Art
[0002] With the current digital economy developing well, enterprises are increasingly relying on cloud storage solutions to manage and store their large amounts of business data. Multi-cloud storage architecture is becoming a priority for enterprises because it can improve the flexibility, redundancy, and security of data storage through the collaborative operation of different cloud platforms. Especially for enterprises with global business or that need to meet specific compliance requirements, deployment based on a multi-cloud environment can help them choose the most appropriate cloud storage service according to business needs. Based on this, how to properly deploy user data in the cloud is becoming increasingly important. At present, cloud deployment of data usually still relies on manual deployment by managers according to customer needs. Although this method can achieve data on the cloud, it is difficult for managers to make timely adjustments to user data to reduce user usage costs when the amount of data increases and the configuration of cloud vendors changes. Therefore, how to quickly and dynamically manage user data is a problem that integrated data managers need to solve. Summary of the invention
[0003] In view of this, the present invention proposes a multi-cloud deployment method and system based on SaaS, which can quickly deploy user data to the most suitable cloud vendor storage. The present invention provides the following technical solutions:
[0004] A multi-cloud deployment method based on SaaS, the method comprising:
[0005] Build a configuration center that stores SDKs of multiple cloud vendors;
[0006] Obtain user data and user needs, pre-process user data, and upload the pre-processed data to the configuration center;
[0007] Analyze user needs and assign data labels to preprocessed data according to user needs;
[0008] Call the SDK and upload the corresponding user data to the cloud vendor's storage according to the data tag.
[0009] Optionally, the method of obtaining user data and user needs, preprocessing user data, and uploading the preprocessed data to the configuration center includes: identifying user data and completing data format and type detection; splitting the data according to the data format and type, and classifying and compressing the split data; slicing the compressed data of each classification, and uploading the sliced data in parallel to the configuration center.
[0010] Optionally, the method of analyzing user needs and assigning data labels to preprocessed data according to user needs includes: analyzing user needs and constructing an index table of user needs and user data; identifying the data type of sliced data, and retrieving user needs from the index table according to the data type; and assigning data labels to sliced data according to user needs.
[0011] Optionally, the data tags include: data requiring encryption, data with a priority on access performance, data with a priority on access location, and data with a priority on storage cost.
[0012] Optionally, the method of calling the SDK and uploading the corresponding user data to the cloud vendor's storage according to the data tag includes: reading the configuration information of multiple cloud vendors and generating a configuration query table; obtaining the current user data tag and mapping the data tag to match the configuration information in the configuration query table; matching the data tag with the configuration information through mapping; calling the SDK to upload the matched user data to the corresponding cloud vendor's storage.
[0013] Optionally, the method of calling the SDK and uploading the corresponding user data to the cloud vendor's storage according to the data tag also includes: if the data tag and the configuration information cannot be matched, obtaining the historical deployment record of the data tag of the current user to upload the unmatched data to the storage of the cloud vendor with historical deployment.
[0014] Optionally, after calling the SDK to upload the matched user data to the storage of the corresponding cloud vendor, the method also includes: periodically reading configuration information updates of multiple cloud vendors; re-matching the new configuration information with the data tag mapping of the user data stored in the cloud vendor; if there is user data that cannot be matched, transferring and storing that part of the user data to the storage of another cloud vendor whose data tag mapping is most closely matched.
[0015] The present invention further discloses a multi-cloud deployment system based on SaaS, which includes: a server module, used to build a configuration center, which stores SDKs of multiple cloud vendors; a data processing module, used to obtain user data and user needs, pre-process user data, and upload the pre-processed data to the configuration center; and also used to analyze user needs and assign data tags to the pre-processed data according to user needs; an encoding module, used to call the SDK and upload the corresponding user data to the cloud vendor's storage according to the data tags.
[0016] The present invention further discloses a computer-readable storage medium, wherein the storage medium stores a computer program, and when the computer program is executed by a processor, the above-mentioned SaaS-based multi-cloud deployment method is implemented.
[0017] The present invention further discloses an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the above-mentioned SaaS-based multi-cloud deployment method when executing the program.
[0018] By building a configuration center that stores SDKs of multiple cloud vendors, developers can use SDKs to quickly deploy user data without reconfiguring and encoding. At the same time, by analyzing user needs, user data can be stored according to user preferences, and special data can be specially processed according to user needs. The data tags corresponding to user needs can more intuitively express the current data selection criteria. When the configuration information of a cloud vendor changes, another more suitable cloud vendor can be quickly matched for data storage based on the data tags. It can be seen that this solution completes the rapid and dynamic cloud deployment of user data. BRIEF DESCRIPTION OF THE DRAWINGS
[0019] For the purpose of illustration and not limitation, the present invention is now described in conjunction with the embodiments of the present invention and the accompanying drawings, in which:
[0020] Figure 1 It is a flowchart of a multi-cloud deployment method based on SaaS in an embodiment of the present invention;
[0021] Figure 2 It is a structural diagram of a SaaS-based multi-cloud deployment system in an embodiment of the present invention;
[0022] Figure 3 It is a schematic diagram of the structure of an electronic device in an embodiment of the present invention. DETAILED DESCRIPTION
[0023] In order to enable those skilled in the art to better understand the solution of the present application, the technical solution in the implementation mode of the present application will be clearly and completely described below in conjunction with the drawings in the implementation mode of the present application. Obviously, the described implementation mode is only a part of the implementation mode of the present application, not all the implementation modes. Based on the implementation mode in the present application, all other implementation modes obtained by ordinary technicians in the field without creative work should fall within the scope of protection of the present application.
[0024] It should be noted that the terms "first", "second", etc. in the specification of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present application described here. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.
[0025] In the present application, the terms "upper", "lower", "left", "right", "front", "back", "top", "bottom", "inner", "outer", "middle", "vertical", "horizontal", "lateral", "longitudinal" and the like indicate positions or positional relationships based on the positions or positional relationships shown in the drawings. These terms are mainly used to better describe the present application and its implementation methods, and are not used to limit the indicated devices, elements or components to have a specific orientation, or to be constructed and operated in a specific orientation.
[0026] In addition, some of the above terms may be used to express other meanings in addition to indicating orientation or positional relationship. For example, the term "on" may also be used to express a certain dependency or connection relationship in some cases. For those of ordinary skill in the art, the specific meanings of these terms in this application can be understood according to the specific circumstances. In addition, the term "plurality" should mean two or more than two.
[0027] It should be noted that, in the absence of conflict, the embodiments of the present application and the features in the embodiments can be combined with each other. The embodiments of the present application will be described in detail below with reference to the accompanying drawings.
[0028] refer to Figure 1 This embodiment discloses a multi-cloud deployment method based on SaaS, the method comprising:
[0029] S100: Build a configuration center, where the configuration center stores SDKs of multiple cloud vendors.
[0030] The configuration center is a processing center for cloud deployment of data. Developers can preset the multi-cloud deployment process through the configuration center, and can quickly deploy data to the storage of the corresponding cloud vendors through the SDKs of multiple cloud vendors stored in it. At the same time, the preset SDK can avoid developers from repeated program writing, and data deployment is more efficient. The configuration center also has a built-in API layer, which can realize unified data operations such as retrieval, writing, and encryption of user data in conjunction with the SDK and the developer's programming. Different SDKs can also be cross-called through the API layer, and different data of a user can be allocated to different cloud vendors without frequently changing the development environment, which is more efficient. Cloud vendors can be any legally traded products, and this implementation method is not limited, and can provide users with a variety of choices to adapt to the different needs of customers.
[0031] S200: Obtain user data and user requirements, pre-process the user data, and upload the pre-processed data to the configuration center.
[0032] By preprocessing user data, data can be efficiently and stably deployed to designated cloud vendors, and targeted optimization processing can be performed based on data characteristics. Preprocessed data can improve transmission efficiency, storage performance, and ensure data security and consistency when deployed in multiple clouds. Specifically,
[0033] S210: Identify user data and complete data format and type detection. By detecting the data format and type, the same type of data from different users can be aggregated and classified at the same time. For example, the user's data includes image data, video data, document data, log files, etc. Even if it is data from different users, when the same type of data is aggregated together, the same cloud vendor can be selected for data deployment. Compared with the traditional user-based deployment method, the call of related deployment processes can be greatly reduced, and the efficiency of data deployment is higher.
[0034] S220: Split the data according to the format and type of the data, and classify and compress the split data. When uploading data, users can upload multiple uncompressed scattered files or one or more compressed files. The compressed files may contain different types of data. If the data in the compressed package is not split, it will be difficult to deploy the data to the best cloud vendor when deploying the data. Therefore, it is necessary to decompress the data packets uploaded by the user, split the data in it according to the format and type, and compress the same type of data. Uploading in the form of compressed packages can effectively improve the transmission efficiency and the integrity of data transmission compared to uploading scattered files.
[0035] S230: Slice the compressed data of each category and upload the sliced data in parallel to the configuration center. Before the data is deployed in the cloud, it is necessary to upload the data to the configuration center. Unlike uploading data to cloud vendors, the data processing of the configuration center often has powerful parallel processing capabilities. Therefore, dividing the compressed data in step S220 into multiple data slices can make full use of the parallel processing capabilities of the configuration center, and multiple data slices can be uploaded to the configuration center in parallel at the same time, which is more efficient.
[0036] S300: Analyze user needs, and assign data labels to pre-processed data according to user needs. User needs refer to the user's storage requirements for current data. For example, when the data uploaded by the user is timed public data, the user's demand for current data is strong data reading performance to avoid data reading congestion caused by a large amount of data access when the data is public. Therefore, the cloud vendor's data reading performance is the primary consideration for current data. For another example, when the data uploaded by the user is customer-related data or financial data, etc., the user's data needs to be encrypted before deployment, or encrypted while being deployed. Then, the data's demand for cloud vendors is encryption performance and encryption algorithm priority. Then, when deploying, the primary consideration is the cloud vendor's encryption-related performance. Therefore, after obtaining and analyzing the user's needs, data labels are assigned to the pre-processed data to indicate what the priority selection point is for the current data when selecting a cloud vendor. The specific processing method is as follows:
[0037] S310: Analyze user needs and construct an index table of user needs and user data. The index table is in the form of one data to multiple needs, that is, the data of one user may correspond to multiple needs, which is caused by the fact that the data contains multiple sub-data. By analyzing user needs, multiple sub-needs can be separated. Exemplarily, a large language model can be used to perform semantic recognition on the demand description uploaded by the user to obtain the user's detailed needs. It can also be set in the form of an option table. When the user uploads data, the user needs and the multiple sub-data in the data package are mapped. However, since the data package cannot be quickly deployed in the cloud, it is temporarily chosen not to split the data package for analysis.
[0038] S320: Identify the data type of the slice data, and retrieve the user demand from the index table according to the data type. In order to solve the problem that the correspondence between the specific data of the sub-data in the data packet and the user demand cannot be accurately identified in step S310, the data type of the pre-processed slice data is identified, and the identification of the data type can correspond to the user demand. Specifically, the user to which the current slice data belongs can be directly obtained through the user slice data, so the user demand corresponding to the data packet uploaded by the user can be directly indexed, and the specific data type of the slice data can correspond to the analyzed user demand.
[0039] S330: Assign data tags to slice data according to user needs. Data tags are specific mappings of user needs, so that developers can quickly point to corresponding operation processes in their development environment. Exemplary data tags include: data that needs to be encrypted, data that prioritizes access performance, data that is restricted by access location, data that prioritizes storage cost, etc. Based on this, after the slice data is uploaded to the configuration center, the most suitable cloud vendor can be quickly assigned by identifying its data tags.
[0040] After matching user data with data tags, the SaaS-based multi-cloud deployment method also includes:
[0041] S400: Call the SDK and upload the corresponding user data to the cloud vendor's storage according to the data tag. After the data is uploaded to the configuration center, it is necessary to upload the data to the selected cloud vendor. Specifically,
[0042] S410: Read configuration information of multiple cloud vendors and generate a configuration query table. The configuration information is the hardware configuration information and business requirements used by the cloud vendors, such as the processor performance used by the cloud vendors, the configured encryption hardware and algorithms, data writing and reading algorithms and processing procedures, price lists, etc. This information together constitutes different usage scenarios between multiple cloud vendors and adapts to different data storage.
[0043] S420: Acquire the current user data tag, and map the data tag to match the configuration information in the configuration query table.
[0044] Taking the data label in step S330 as an example, it includes: data to be encrypted, access performance priority data, access location restriction data, storage cost priority data, etc. The configuration query table in this embodiment is a query table generated by comparing and sorting the configuration information of multiple cloud vendors. The most suitable cloud vendors in various fields can be read from the table. The categories in the query table include but are not limited to encryption performance, access performance, access location list, storage cost comparison table, etc. Map the data labels. For example, the data to be encrypted is mapped to encryption performance, the access performance priority data is mapped to access performance, the access location restriction data is mapped to the access location list, and the storage cost priority data is mapped to the storage cost comparison table.
[0045] S430: Matching the data tag with the configuration information through mapping;
[0046] After the data tag is mapped to the configuration query table through its corresponding mapping, it can be indexed to the configuration information, that is, the cloud vendor. Exemplarily, if the data tag of slice data 1 is data to be encrypted, then the tag mapping of slice data 1 is encryption performance, and the classification of its corresponding configuration query table is encryption performance, then the cloud vendor with the strongest encryption performance can be obtained from the configuration query table. For another example, if the data tag of slice data 2 is storage cost priority data, then the tag mapping of slice data 2 is a storage cost comparison table, and the classification of its corresponding configuration query table is a storage cost comparison table, then the cloud vendor whose storage cost meets the user's acceptable cost can be obtained from the configuration query table.
[0047] In one or more implementations, it is also necessary to identify the data connection between slice data. If there is a calling connection between slice data, during the cloud vendor matching process, the slice data with the calling connection will be stored in the same cloud vendor, and the data tag will have limited matching encryption performance, followed by access performance. If the slice data has no requirements for this, the data tag corresponding to the slice data with the calling connection will be randomly selected.
[0048] S440: Calling SDK to upload the matched user data to the storage of the corresponding cloud vendor. After the cloud vendor matching in step S430, uploading the slice data to the corresponding cloud vendor can complete the cloud deployment of the data.
[0049] If there is a situation where the data tag and the configuration information cannot match, obtain the historical deployment record of the data tag of the current user, identify the most commonly used configuration information of the tag in the historical deployment record, and deploy the slice data to the cloud vendor of the configuration information.
[0050] After the user data is deployed to the cloud vendor, the configuration center periodically reads the configuration information updates of multiple cloud vendors to obtain the latest product status of the cloud vendor, such as configuration upgrades or price adjustments. After obtaining the update, the new configuration information is re-matched with the data label mapping of the user data stored in the cloud vendor. Taking the slice data 1 and slice data 2 shown in step S430 as an example, after the configuration information is updated, the cloud vendor where slice data 1 is stored is no longer the one with the strongest encryption performance, so it is re-matched among all cloud vendors. After the protocol cycle ends, slice data 1 is transferred to the cloud vendor with the strongest encryption performance after the update. For example, slice data 2, after the price of the cloud vendor where it is stored is updated, it no longer meets the user's price requirements. Then, after the current protocol cycle ends, slice data 2 is transferred to the cloud vendor that meets the price requirements after the update. If there is no such cloud vendor, it is stored in the cloud vendor that is closest to meeting the user's needs.
[0051] In summary, the SaaS-based multi-cloud deployment method disclosed in this embodiment can quickly and dynamically upload user data to the storage of the cloud vendor that best matches the user's needs, and timely adjust the storage location of the user data according to the information update of the cloud vendor, and store the user data slices in the most suitable cloud vendor, so that the needs are met more comprehensively, which is conducive to providing users with the most suitable storage solution.
[0052] refer to Figure 2 This embodiment further discloses a SaaS-based multi-cloud deployment system, including:
[0053] The server module 21 is used to build a configuration center, which stores SDKs of multiple cloud vendors;
[0054] The data processing module 22 is used to obtain user data and user needs, pre-process the user data, and upload the pre-processed data to the configuration center. Specifically, it identifies the user data and completes the format and type detection of the data; splits the data according to the format and type of the data, classifies and compresses the split data; slices the compressed data of each classification, and uploads the sliced data in parallel to the configuration center; and is also used to,
[0055] Analyze user needs and assign data labels to preprocessed data according to user needs; specifically, analyze user needs and build an index table of user needs and user data; identify the data type of sliced data and retrieve user needs from the index table based on the data type; assign data labels to sliced data according to user needs.
[0056] The encoding module 23 is used to call the SDK and upload the corresponding user data to the storage of the cloud vendor according to the data tag. Specifically, it reads the configuration information of multiple cloud vendors and generates a configuration query table; obtains the current user data tag and maps the data tag to match the configuration information in the configuration query table; matches the data tag with the configuration information through mapping; calls the SDK to upload the matched user data to the storage of the corresponding cloud vendor, and is also used to, if the data tag and the configuration information cannot be matched, obtain the historical deployment record of the data tag of the current user to upload the unmatched data to the storage of the cloud vendor with historical deployment; periodically reads the configuration information updates of multiple cloud vendors; re-matches the new configuration information with the data tag mapping of the user data stored in the cloud vendor; if there is user data that cannot be matched, transfer and store this part of the user data to the storage of another cloud vendor whose data tag mapping is most similar.
[0057] Figure 3 A schematic diagram of the physical structure of an electronic device provided in an embodiment of the present invention, such as Figure 3As shown, the electronic device 50 includes: a processor 501 (processor), a memory 502 (memory) and a bus 503;
[0058] The processor 501 and the memory 502 communicate with each other via the bus 503 ; the processor 501 is used to call program instructions in the memory 502 to execute the methods provided by the above-mentioned method implementation methods.
[0059] This embodiment provides a non-transitory computer-readable storage medium, which stores computer instructions. The computer instructions enable a computer to execute the methods provided by the above-mentioned method embodiments.
[0060] A person skilled in the art can understand that all or part of the steps for implementing the above-mentioned method implementation method can be completed by hardware related to program instructions, and the aforementioned program can be stored in a computer-readable storage medium, which, when executed, executes the steps of the above-mentioned method implementation method; and the aforementioned storage medium includes: ROM, RAM, magnetic disk or optical disk, etc., various storage media that can store program codes.
[0061] The device implementation described above is merely illustrative, wherein the units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, i.e., they may be located in one place, or they may be distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the present implementation scheme. Those of ordinary skill in the art may understand and implement it without creative effort.
[0062] Through the description of the above implementation modes, those skilled in the art can clearly understand that each implementation mode can be implemented by means of software plus a necessary general hardware platform, or of course by hardware. Based on such an understanding, the above technical solution is essentially or the part that contributes to the prior art can be embodied in the form of a software product, and the computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, a magnetic disk, an optical disk, etc., including a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods of each implementation mode or some parts of the implementation mode.
[0063] The above specific implementations do not constitute a limitation on the protection scope of the present invention. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions may occur depending on design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present invention shall be included in the protection scope of the present invention.
Claims
1. A multi-cloud deployment method based on SaaS, characterized in that: The method comprises: Build a configuration center that stores SDKs of multiple cloud vendors; Obtain user data and user needs, pre-process user data, and upload the pre-processed data to the configuration center; Analyze user needs and assign data labels to preprocessed data according to user needs; Calling the SDK and uploading the corresponding user data to the storage of the cloud vendor according to the data tag, including: reading the configuration information of multiple cloud vendors and generating a configuration query table; obtaining the current user data tag and mapping the data tag to match the configuration information in the configuration query table; matching the data tag with the configuration information through mapping; calling the SDK to upload the matched user data to the storage of the corresponding cloud vendor; Periodically read configuration information updates from multiple cloud vendors; Re-match the new configuration information with the data tag mapping of the user data stored in the cloud vendor; If there is user data that cannot be matched, the user data is transferred and stored in the storage of another cloud vendor whose data tag mapping is most similar.
2. The SaaS-based multi-cloud deployment method according to claim 1, characterized in that: The method of obtaining user data and user requirements, preprocessing the user data, and uploading the preprocessed data to the configuration center includes: Identify user data and complete data format and type detection; Split the data according to the format and type of the data, and classify and compress the split data; Slice the compressed data of each category and upload the sliced data to the configuration center in parallel.
3. The SaaS-based multi-cloud deployment method according to claim 2, characterized in that: The method of analyzing user needs and assigning data labels to pre-processed data according to user needs includes: Analyze user needs and build an index table of user needs and user data; Identify the data type of the slice data, and retrieve user requirements from the index table based on the data type; Assign data labels to slice data according to user needs.
4. The SaaS-based multi-cloud deployment method according to claim 3, characterized in that: The data tags include: data requiring encryption, data with priority on access performance, data with priority on access location, and data with priority on storage cost.
5. The SaaS-based multi-cloud deployment method according to claim 1, wherein: The method of calling the SDK and uploading the corresponding user data to the storage of the cloud vendor according to the data tag also includes: If the data tag cannot be matched with the configuration information, the historical deployment record of the data tag of the current user is obtained to upload the unmatched data to the storage of the cloud vendor with historical deployment.
6. A multi-cloud deployment system based on SaaS, characterized in that: The system comprises: The server module is used to build a configuration center, which stores SDKs of multiple cloud vendors; The data processing module is used to obtain user data and user needs, pre-process the user data, and upload the pre-processed data to the configuration center; it is also used to, Analyze user needs and assign data labels to preprocessed data according to user needs; The coding module is used to call the SDK and upload the corresponding user data to the storage of the cloud vendor according to the data tag, including: reading the configuration information of multiple cloud vendors and generating a configuration query table; obtaining the current user data tag and mapping the data tag to match the configuration information in the configuration query table; matching the data tag with the configuration information through mapping; calling the SDK to upload the matched user data to the storage of the corresponding cloud vendor; and also used to periodically read the configuration information updates of multiple cloud vendors; re-match the new configuration information with the data tag mapping of the user data stored in the cloud vendor; if there is user data that cannot be matched, then transfer and store this part of the user data to the storage of another cloud vendor whose data tag mapping is most similar.
7. A computer-readable storage medium, characterized in that: The storage medium stores a computer program, and when the computer program is executed by a processor, the method according to any one of claims 1 to 5 is implemented.
8. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the program, the method described in any one of claims 1 to 5 is implemented.
Citation Information
Patent Citations
Customized label printing method and device and storage medium
CN114371762A
Multi-language product packaging specification character recognition query method and system
CN117573810A