Scheduling method and apparatus for a cloudy object storage environment
By acquiring and calculating storage bucket information and monitoring data from cloud vendors, and dynamically adjusting storage bucket scores, storage buckets are adaptively allocated to terminal devices. This solves the problems of low upload success rate and high cost in multi-cloud object storage environments, achieving adaptive optimization and improved stability.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- HANGZHOU JIEFENG SOFTWARE CO LTD
- Filing Date
- 2026-06-15
- Publication Date
- 2026-07-17
AI Technical Summary
Existing technologies lack dynamic adaptability in multi-cloud object storage environments. They cannot adjust to changes in network conditions or the performance of the bucket itself, resulting in insufficient multi-cloud utilization. The allocation strategy is fixed and cannot be optimized based on actual operating conditions, leading to low upload success rate, high cost, and untimely switching of backup buckets.
By acquiring storage bucket information and monitoring data from multiple cloud vendors, a storage bucket score is calculated. Based on the score, storage buckets are allocated to terminal devices. Combined with device feedback and cloud vendor monitoring data, dynamic adjustments are made to achieve adaptive allocation and optimization.
In a multi-cloud object storage environment, there is no need to frequently perform complex real-time scheduling, which improves upload success rate, reduces costs, and enhances system stability and adaptability.
Smart Images

Figure CN122420232A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of data transmission technology, and in particular to a scheduling method and apparatus for a multi-cloud object storage environment. Background Technology
[0002] With the continued growth in the scale of IoT devices, uploading and managing device data via public cloud object storage has become a mainstream technical solution. Existing technical solutions typically bind devices to specific storage buckets based on device identifiers or fixed rules, or retry after an upload failure by requesting an access signature from the original storage bucket.
[0003] However, existing technical solutions have the following main drawbacks: 1. Lacks dynamic adaptability and cannot adjust to changes based on network conditions or the performance of the bucket itself; 2. Insufficient multi-cloud utilization capabilities, making it difficult to switch flexibly between multiple vendors; 3. The allocation strategy is fixed and cannot be optimized based on actual operating conditions, which affects the upload success rate and the overall system performance and cost; 4. If the process fails, re-fetching the signature from the original storage bucket from the server may still fail. Backup bucket switching is not timely enough, relying on manual intervention or a fixed polling strategy. Summary of the Invention
[0004] In view of this, the purpose of the present invention is to provide a scheduling method and apparatus for a multi-cloud object storage environment, so as to adaptively allocate storage buckets to terminal devices in a multi-cloud object storage environment without frequently performing complex real-time scheduling, thereby improving the upload success rate and reducing costs.
[0005] In a first aspect, embodiments of the present invention provide a scheduling method for a multi-cloud object storage environment. The method includes: acquiring storage bucket information and monitoring data from multiple cloud vendors; wherein the storage bucket information includes: storage bucket weight and storage bucket cost, and the monitoring data includes: success rate data and latency data; calculating a storage bucket score for each cloud vendor based on the storage bucket information and monitoring data of each cloud vendor; and allocating storage buckets to terminal devices based on the storage bucket scores of multiple cloud vendors, so that the terminal devices can upload data to the allocated storage buckets.
[0006] In an optional embodiment of this application, after the above-described step of enabling the terminal device to upload data to the allocated storage bucket, the method further includes: obtaining result information and latency data of the data uploaded this time reported by the terminal device; and updating the storage bucket score of the cloud vendor to which the allocated storage bucket belongs based on the result information and latency data of the data uploaded this time.
[0007] In optional embodiments of this application, the method further includes: if the result information of this data upload indicates that the data upload to the allocated storage bucket was successful, no storage bucket is reallocated to the terminal device; if the result information of this data upload indicates that the data upload to the allocated storage bucket failed, a storage bucket is reallocated to the terminal device based on the updated storage bucket scores of multiple cloud vendors.
[0008] In an optional embodiment of this application, the steps of obtaining storage bucket information and monitoring data from multiple cloud vendors include: obtaining storage bucket information from multiple cloud vendors entered by the user; and capturing monitoring data from multiple cloud vendors based on a preset time interval.
[0009] In an optional embodiment of this application, the above-mentioned bucket weight includes: a stability factor and a strategy factor.
[0010] In an optional embodiment of this application, the step of calculating the bucket score of each cloud vendor based on the bucket information and monitoring data of each cloud vendor includes: calculating the basic bucket score of each cloud vendor based on the success rate data, latency data and bucket cost of each cloud vendor; and calculating the final bucket score of each cloud vendor based on the basic bucket score, stability factor and policy factor of each cloud vendor.
[0011] In an optional embodiment of this application, the step of enabling the terminal device to upload data to the allocated storage bucket includes: responding to the terminal device with signature information based on the allocated storage bucket, so that the terminal device uploads data to the allocated storage bucket based on the signature information.
[0012] In optional embodiments of this application, the aforementioned bucket information may further include: the cloud provider to which the bucket belongs, the bucket region, and the customer of the bucket service.
[0013] In an optional embodiment of this application, the step of reallocating storage buckets to terminal devices based on updated storage bucket ratings from multiple cloud vendors includes: reallocating storage buckets to terminal devices based on updated storage bucket ratings from multiple cloud vendors, storage bucket regions, and customers of storage bucket services.
[0014] Secondly, embodiments of the present invention also provide a scheduling device for a multi-cloud object storage environment. The device includes: an information acquisition module for acquiring storage bucket information and monitoring data from multiple cloud vendors; wherein the storage bucket information includes: storage bucket weight and storage bucket cost, and the monitoring data includes: success rate data and latency data; a storage bucket score calculation module for calculating a storage bucket score for each cloud vendor based on the storage bucket information and monitoring data of each cloud vendor; and a storage bucket allocation module for allocating storage buckets to terminal devices based on the storage bucket scores of multiple cloud vendors, so that the terminal devices can upload data to the allocated storage buckets.
[0015] The embodiments of the present invention bring the following beneficial effects: This invention provides a scheduling method and apparatus for a multi-cloud object storage environment, which acquires storage bucket information and monitoring data from multiple cloud vendors. The storage bucket information includes bucket weight and storage bucket cost, and the monitoring data includes success rate data and latency data. A storage bucket score is calculated for each cloud vendor based on its storage bucket information and monitoring data. Storage buckets are allocated to terminal devices based on these scores, enabling the terminal devices to upload data to the allocated storage buckets. This method allows for adaptive storage bucket allocation to terminal devices in a multi-cloud object storage environment without frequent complex real-time scheduling, thereby improving upload success rate and reducing costs.
[0016] Other features and advantages of this disclosure will be set forth in the following description, or some features and advantages may be inferred from the description or determined without doubt, or may be learned by practicing the techniques described above.
[0017] To make the above-mentioned objects, features and advantages of this disclosure more apparent and understandable, preferred embodiments are described below in detail with reference to the accompanying drawings. Attached Figure Description
[0018] To more clearly illustrate the specific embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the specific embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present invention. For those skilled in the art, other drawings can be obtained from these drawings without creative effort.
[0019] Figure 1 A flowchart illustrating a scheduling method for a multi-cloud object storage environment provided in an embodiment of the present invention; Figure 2 A schematic diagram of the overall architecture of a scheduling method for a multi-cloud object storage environment provided in an embodiment of the present invention; Figure 3 A flowchart illustrating another scheduling method for a multi-cloud object storage environment provided in an embodiment of the present invention; Figure 4 This is a schematic diagram illustrating a scheduling method for a multi-cloud object storage environment provided in an embodiment of the present invention; Figure 5 A schematic diagram of the structure of a scheduling device for a multi-cloud object storage environment provided in an embodiment of the present invention; Figure 6 This is a schematic diagram of the structure of an electronic device provided in an embodiment of the present invention. Detailed Implementation
[0020] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0021] Currently, existing technical solutions mainly have the following drawbacks: 1. Lacks dynamic adaptability and cannot adjust to changes based on network conditions or the performance of the bucket itself; 2. Insufficient multi-cloud utilization capabilities, making it difficult to switch flexibly between multiple vendors; 3. The allocation strategy is fixed and cannot be optimized based on actual operating conditions, which affects the upload success rate and the overall system performance and cost; 4. If the process fails, re-fetching the signature from the original storage bucket from the server may still fail. Backup bucket switching is not timely enough, relying on manual intervention or a fixed polling strategy.
[0022] Based on this, the present invention provides a scheduling method and apparatus for a multi-cloud object storage environment, specifically providing an adaptive scheduling and upload control method for multi-cloud object storage buckets based on multi-source feedback. Applied to a multi-cloud object storage environment, without the need for frequent execution of complex real-time scheduling, the scheduling strategy can continuously apply to the device upload process. By combining device-side feedback and cloud vendor monitoring data, adaptive selection and dynamic optimization of storage buckets can be achieved, thereby improving the upload success rate and reducing costs.
[0023] To facilitate understanding of this embodiment, a scheduling method for a multi-cloud object storage environment disclosed in this embodiment of the invention will first be described in detail.
[0024] Example 1: This invention provides a scheduling method for a multi-cloud object storage environment. See [link to relevant documentation]. Figure 1 The flowchart shown illustrates a scheduling method for a multi-cloud object storage environment, which includes the following steps: Step S102: Obtain storage bucket information and monitoring data from multiple cloud vendors; the storage bucket information includes: storage bucket weight and storage bucket cost, and the monitoring data includes: success rate data and latency data.
[0025] This embodiment allows for the input of storage bucket information and the configuration of policies. The storage bucket information may include: bucket weight and bucket cost. This embodiment can also periodically synchronize monitoring data from the cloud provider. The monitoring data may include: success rate data and latency data.
[0026] Step S104: Calculate the storage bucket score for each cloud vendor based on the storage bucket information and monitoring data of each cloud vendor.
[0027] In this embodiment, a bucket score for each cloud provider can be calculated based on their bucket information and monitoring data. This bucket score can be used to evaluate the health status of the buckets. Furthermore, this embodiment can periodically and continuously synchronize the monitoring data from each cloud provider, updating the bucket score for each provider based on this monitoring data.
[0028] Step S106: Allocate storage buckets to terminal devices based on storage bucket ratings from multiple cloud vendors, so that terminal devices can upload data to the allocated storage buckets.
[0029] In this embodiment, a storage bucket can be allocated to a terminal device based on the storage bucket ratings of multiple cloud vendors. The terminal device can upload data to the allocated storage bucket. Thus, in a multi-cloud object storage environment, storage buckets can be adaptively allocated to the terminal device without frequent and complex real-time scheduling, thereby improving the upload success rate and reducing costs.
[0030] This invention provides a scheduling method for a multi-cloud object storage environment, which acquires storage bucket information and monitoring data from multiple cloud vendors. The storage bucket information includes bucket weight and cost, and the monitoring data includes success rate and latency data. A storage bucket score is calculated for each cloud vendor based on their storage bucket information and monitoring data. Storage buckets are then allocated to terminal devices based on these scores, enabling the terminal devices to upload data to the assigned buckets. This method allows for adaptive storage bucket allocation to terminal devices in a multi-cloud object storage environment without frequent complex real-time scheduling, thereby improving upload success rates and reducing costs.
[0031] Example 2: This invention provides another scheduling method for a multi-cloud object storage environment, which is implemented based on the above embodiments. The key description is the specific implementation of adaptive allocation of storage buckets and dynamic optimization by terminal devices.
[0032] See also Figure 2 The diagram illustrates the overall architecture of a scheduling method for a multi-cloud object storage environment. In this embodiment, terminal devices may include: smart cameras, IoT sensors (Internet of Things), internet devices, etc. The overall system applied by the method provided in this embodiment includes: an upload control system, an input system, and a scoring system. Cloud vendors in this embodiment may include: cloud vendor A, cloud vendor B, cloud vendor C, etc.
[0033] Based on the above description, please refer to Figure 3The flowchart shown illustrates another scheduling method for a multi-cloud object storage environment, which includes the following steps: Step S302: Obtain storage bucket information and monitoring data from multiple cloud vendors; the storage bucket information includes: storage bucket weight and storage bucket cost, and the monitoring data includes: success rate data and latency data.
[0034] In some embodiments, storage bucket information from multiple cloud vendors entered by the user can be obtained; monitoring data can be retrieved from multiple cloud vendors based on preset time intervals.
[0035] See also Figure 4 The diagram illustrates a scheduling method for a multi-cloud object storage environment. System operators (i.e., users) can input storage bucket information into the input system, which can then synchronize this information to the scoring system. The scoring system can retrieve the synchronized storage bucket information, initialize the storage bucket scores, and synchronize the storage bucket information to the upload control system.
[0036] like Figure 4 As shown, the scoring system can retrieve monitoring data from cloud vendors and update the bucket scores.
[0037] In some embodiments, the bucket information may also include: the cloud provider to which the bucket belongs, the bucket region, and the customer of the bucket service.
[0038] The overall system in this embodiment can provide bucket entry and configuration functions for managing multi-cloud object storage bucket resources and providing initial parameters and constraints for scheduling strategies. The bucket information includes: 1. The cloud provider to which the storage bucket belongs; 2. Storage bucket area and storage bucket service customers (i.e., OEM (Original Equipment Manufacturer) information); 3. Bucket weight and bucket cost.
[0039] Step S304: Calculate the storage bucket score for each cloud vendor based on the storage bucket information and monitoring data of each cloud vendor.
[0040] In some embodiments, bucket weights include a stability factor and a strategy factor.
[0041] In some embodiments, a basic bucket score for each cloud vendor can be calculated based on each cloud vendor's success rate data, latency data, and bucket cost; and a final bucket score for each cloud vendor can be calculated based on each cloud vendor's basic bucket score, stability factor, and policy factor.
[0042] In this embodiment, the basic score of the storage bucket, BaseScore = f(success rate data, latency data, storage bucket cost), can be calculated. Here, f() is a pre-defined function, which can be a normalized multi-metric weighted function.
[0043] In this embodiment, a stability factor (StabilityFactor) and a policy factor (PolicyFactor) can be set. In this embodiment, stability adjustments can be made first based on the stability factor (StabilityFactor), and then policy constraints can be applied using the policy factor (PolicyFactor). The stability factor (StabilityFactor) characterizes the stability of the storage bucket over a relatively long period (e.g., one year or one quarter), while the policy factor (PolicyFactor) characterizes the pre-contracted policies between the system operations team and the cloud vendor to which the storage bucket belongs.
[0044] Specifically, stability adjustment can be: StableScore after stability adjustment = BaseScore × StabilityFactor; policy constraint can be: FinalScore after policy constraint = StableScore after stability adjustment × PolicyFactor. In this embodiment, to avoid the impact of instantaneous fluctuations on the scheduling results when performing stability adjustment, smoothing processing in the time dimension can be added.
[0045] The method provided in this invention can score storage buckets based on multi-dimensional indicators, including device-side upload success rate, upload latency, cloud vendor-side success rate, latency, cost, and load. It can also employ a weighted calculation method based on normalized multi-indicators, combined with historical data smoothing and anomaly penalty mechanisms, to obtain a comprehensive score for the storage bucket. The scoring process can include penalty handling for abnormal states and time-weighted processing of historical operating states to improve the stability and accuracy of scheduling decisions.
[0046] Step S306: Allocate storage buckets to terminal devices based on storage bucket ratings from multiple cloud vendors, so that terminal devices can upload data to the allocated storage buckets.
[0047] In some embodiments, a signature message can be provided to the terminal device based on the allocated storage bucket, so that the terminal device can upload data to the allocated storage bucket based on the signature message.
[0048] like Figure 4As shown, the terminal device can obtain signature information from the upload control system, the upload control system can respond with signature information to the terminal device based on the allocated storage bucket, and the terminal device can upload data to the allocated cloud vendor's storage bucket based on the signature information.
[0049] Step S308: Obtain the result information and delay data of the uploaded data reported by the terminal device; update the storage bucket score of the cloud provider to which the allocated storage bucket belongs based on the result information and delay data of the uploaded data.
[0050] like Figure 4 As shown, the cloud provider can respond to the terminal device with the result of this data upload (which may include result information, error codes (if any), and delayed data). The terminal device can report the result of this data upload to the upload control system. The upload control system can synchronize the result of this data upload to the scoring system, and the scoring system can update the bucket score based on the result of this data upload. In this embodiment, the bucket score can be updated asynchronously.
[0051] The results of this data upload can include result information and latency data. The success rate data can be updated based on the result information of this upload, and the latency data can be updated based on the latency data of this upload, thereby updating the bucket score.
[0052] In some embodiments, if the result information of this data upload indicates that the data upload to the allocated bucket was successful, the bucket will not be reassigned to the terminal device; if the result information of this data upload indicates that the data upload to the allocated bucket failed, the bucket will be reassigned to the terminal device based on the updated bucket scores of multiple cloud vendors.
[0053] like Figure 4 As shown, the upload control system can also reallocate storage buckets for terminal devices.
[0054] If the upload result indicates that the data was successfully uploaded to the allocated bucket, then there is no need to reallocate the bucket; only the bucket score needs to be updated. If the upload result indicates that the data was not successfully uploaded to the allocated bucket, then not only the bucket score needs to be updated, but the bucket also needs to be reallocated.
[0055] In some embodiments, storage buckets can be reallocated to end devices based on updated bucket ratings from multiple cloud vendors, bucket regions, and customers of the bucket service.
[0056] In this embodiment, storage buckets can be reallocated to end devices based on updated bucket ratings, bucket regions, and OEM information.
[0057] The method provided in the embodiments of the present invention mainly provides the following: 1. It can pre-enter storage bucket information from multiple cloud vendors, bind storage buckets based on storage bucket region and OEM information, and maintain storage bucket weight and storage bucket cost. Based on periodically obtaining monitoring data from cloud vendors, it updates the health status of storage buckets for subsequent calculation of storage bucket scores.
[0058] 2. Upon receiving a request to allocate a storage bucket to a terminal device, the system can allocate and cache a storage bucket from a specified cloud provider based on the terminal device's storage bucket region, OEM information, storage bucket weight, and storage bucket health status.
[0059] 3. After the terminal device initiates a request to obtain the upload signature, it can respond with the signature information based on the cached storage bucket. After the terminal device completes the direct upload to cloud storage, it reports the result and can determine whether to switch storage buckets based on the result. If it is necessary to switch storage buckets, the scheduling switch is automatically executed based on the current health status and other scoring information of the storage bucket, without the terminal noticing.
[0060] In summary, the method provided by the embodiments of the present invention specifically provides a multi-cloud upload method that enables the scheduling strategy to continuously apply to the object storage upload process, dynamically adjusts the selection of storage buckets by combining device feedback and cloud vendor monitoring data, can score storage buckets based on multiple source indicators, and can also perform seamless switching and adaptive scheduling upload control in multi-cloud scenarios.
[0061] The method provided in this embodiment of the invention can improve the upload success rate and dynamically and adaptively schedule to avoid abnormal buckets; it can optimize cost and success rate, select the upload scheme with the best cost, thereby saving costs; it can also enhance the system's adaptive capability, detect vendor anomalies in advance, and improve system stability.
[0062] Example 3: Corresponding to the above method embodiments, this invention provides a scheduling device for a multi-cloud object storage environment, see [link to relevant documentation]. Figure 5 The diagram shows a structural schematic of a scheduling device for a multi-cloud object storage environment. The scheduling device for the multi-cloud object storage environment includes: The information acquisition module 51 is used to acquire storage bucket information and monitoring data from multiple cloud vendors; among which, the storage bucket information includes: storage bucket weight and storage bucket cost, and the monitoring data includes: success rate data and latency data; The bucket rating calculation module 52 is used to calculate the bucket rating of each cloud vendor based on the bucket information and monitoring data of each cloud vendor. The storage bucket allocation module 53 is used to allocate storage buckets to terminal devices based on storage bucket ratings from multiple cloud vendors, so that the terminal devices can upload data to the allocated storage buckets.
[0063] This invention provides a scheduling device for a multi-cloud object storage environment. It acquires storage bucket information and monitoring data from multiple cloud vendors. The storage bucket information includes bucket weight and cost, and the monitoring data includes success rate and latency data. Based on the storage bucket information and monitoring data for each cloud vendor, a storage bucket score is calculated for each vendor. Storage buckets are then allocated to terminal devices based on these scores, enabling the terminal devices to upload data to the allocated buckets. This method allows for adaptive storage bucket allocation to terminal devices in a multi-cloud object storage environment without frequent complex real-time scheduling, thereby improving upload success rate and reducing costs.
[0064] The aforementioned device also includes: a bucket reallocation module, used to obtain the result information and latency data of the uploaded data reported by the terminal device; and to update the bucket score of the cloud vendor to which the allocated bucket belongs based on the result information and latency data of the uploaded data.
[0065] The aforementioned storage bucket reallocation module is also used to: if the result information of this data upload indicates that the data upload to the allocated storage bucket was successful, then not to reallocate a storage bucket for the terminal device; if the result information of this data upload indicates that the data upload to the allocated storage bucket failed, then to reallocate a storage bucket for the terminal device based on the updated storage bucket scores of multiple cloud vendors.
[0066] The aforementioned information acquisition module is used to acquire storage bucket information from multiple cloud vendors entered by the user; and to retrieve monitoring data from multiple cloud vendors based on preset time intervals.
[0067] The aforementioned bucket weights include: stability factor and strategy factor.
[0068] The aforementioned bucket rating calculation module is used to calculate the basic bucket rating for each cloud vendor based on its success rate data, latency data, and bucket cost; and to calculate the final bucket rating for each cloud vendor based on its basic bucket rating, stability factor, and policy factor.
[0069] The aforementioned storage bucket allocation module is used to respond with signature information to the terminal device based on the allocated storage bucket, so that the terminal device can upload data to the allocated storage bucket based on the signature information.
[0070] The aforementioned bucket information also includes: the cloud provider to which the bucket belongs, the bucket region, and the customers of the bucket service.
[0071] The aforementioned bucket reallocation module is used to reallocate buckets to terminal devices based on updated bucket ratings from multiple cloud vendors, bucket regions, and the customers of bucket services.
[0072] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working process of the scheduling device for the multi-cloud object storage environment described above can be referred to the corresponding process in the aforementioned embodiments of the scheduling method for the multi-cloud object storage environment, and will not be repeated here.
[0073] Example 4: This invention also provides an electronic device for running the scheduling method of the above-described multi-cloud object storage environment; see [link to previous document]. Figure 6 The diagram shows the structure of an electronic device, which includes a memory 100 and a processor 101. The memory 100 is used to store one or more computer instructions, which are executed by the processor 101 to implement the scheduling method of the multi-cloud object storage environment described above.
[0074] Furthermore, Figure 6 The electronic device shown also includes a bus 102 and a communication interface 103, with the processor 101, the communication interface 103 and the memory 100 connected via the bus 102.
[0075] The memory 100 may include high-speed random access memory (RAM) and may also include non-volatile memory, such as at least one disk storage device. Communication between this system network element and at least one other network element is achieved through at least one communication interface 103 (which can be wired or wireless), such as the Internet, wide area network, local area network, metropolitan area network, etc. The bus 102 may be an ISA bus, PCI bus, or EISA bus, etc. The bus can be divided into address bus, data bus, control bus, etc. For ease of representation, Figure 6 The symbol is represented by a single double-headed arrow, but this does not mean that there is only one bus or one type of bus.
[0076] Processor 101 may be an integrated circuit chip with signal processing capabilities. In implementation, each step of the above method can be completed by the integrated logic circuitry in the hardware of processor 101 or by instructions in software form. Processor 101 can be a general-purpose processor, including a Central Processing Unit (CPU), a Network Processor (NP), etc.; it can also be a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field-Programmable Gate Array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. It can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this invention. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of this invention can be directly manifested as execution by a hardware decoding processor, or execution by a combination of hardware and software modules in the decoding processor. The software module can reside in a readily available storage medium in the art, such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, or registers. This storage medium is located in memory 100, and processor 101 reads information from memory 100 and, in conjunction with its hardware, completes the steps of the method described in the foregoing embodiments.
[0077] This invention also provides a computer-readable storage medium storing computer-executable instructions. When these computer-executable instructions are invoked and executed by a processor, they cause the processor to implement the aforementioned scheduling method for a multi-cloud object storage environment. For specific implementation details, please refer to the method embodiments, which will not be repeated here.
[0078] The computer program product of the scheduling method and apparatus for multi-cloud object storage environment provided in the embodiments of the present invention includes a computer-readable storage medium storing program code. The instructions included in the program code can be used to execute the methods in the preceding method embodiments. For specific implementation, please refer to the method embodiments, which will not be repeated here.
[0079] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working process of the system and / or device described above can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.
[0080] Furthermore, in the description of the embodiments of the present invention, unless otherwise explicitly specified and limited, the terms "installation," "connection," and "linking" should be interpreted broadly. For example, they can refer to a fixed connection, a detachable connection, or an integral connection; they can refer to a mechanical connection or an electrical connection; they can refer to a direct connection or an indirect connection through an intermediate medium; and they can refer to the internal connection of two components. Those skilled in the art can understand the specific meaning of the above terms in the present invention based on the specific circumstances.
[0081] If a function is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this invention, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of the various embodiments of this invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0082] In the description of this invention, it should be noted that the terms "center," "upper," "lower," "left," "right," "vertical," "horizontal," "inner," and "outer," etc., indicate the orientation or positional relationship based on the orientation or positional relationship shown in the accompanying drawings. They are used only for the convenience of describing the invention and for simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, or be constructed and operated in a specific orientation. Therefore, they should not be construed as limitations on the invention. Furthermore, the terms "first," "second," and "third" are used for descriptive purposes only and should not be construed as indicating or implying relative importance.
[0083] Finally, it should be noted that the above-described embodiments are merely specific implementations of the present invention, used to illustrate the technical solutions of the present invention, and not to limit it. The scope of protection of the present invention is not limited thereto. Although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that any person skilled in the art can still modify or easily conceive of changes to the technical solutions described in the foregoing embodiments within the technical scope disclosed in the present invention, or make equivalent substitutions for some of the technical features; and these modifications, changes, or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present invention, and should all be covered within the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be determined by the scope of the claims.
Claims
1. A scheduling method for a multi-cloud object storage environment, characterized in that, The method includes: Obtain storage bucket information and monitoring data from multiple cloud vendors; wherein, the storage bucket information includes: storage bucket weight and storage bucket cost, and the monitoring data includes: success rate data and latency data; Calculate the bucket score for each cloud provider based on the bucket information and monitoring data of each cloud provider; Storage buckets are allocated to terminal devices based on storage bucket ratings from multiple cloud vendors, enabling the terminal devices to upload data to the allocated storage buckets.
2. The method according to claim 1, characterized in that, After the step of enabling the terminal device to upload data to the allocated storage bucket, the method further includes: Obtain the result information and delay data of the uploaded data reported by the terminal device; Based on the results of the uploaded data and the storage bucket score of the cloud provider to which the storage bucket allocated for delayed data updates belongs.
3. The method according to claim 2, characterized in that, The method further includes: If the result information of this data upload indicates that the data upload to the allocated storage bucket was successful, the storage bucket will not be reallocated to the terminal device; If the result information of this data upload indicates that the data upload to the allocated storage bucket failed, a new storage bucket will be allocated to the terminal device based on the updated storage bucket scores of the multiple cloud vendors.
4. The method according to claim 1, characterized in that, The steps to obtain storage bucket information and monitoring data from multiple cloud vendors include: Obtain storage bucket information from multiple cloud vendors entered by the user; Monitoring data is captured from multiple cloud vendors at preset time intervals.
5. The method according to claim 1, characterized in that, The bucket weights include: stability factor and strategy factor.
6. The method according to claim 5, characterized in that, The steps for calculating the bucket score for each cloud provider based on the bucket information and monitoring data of each cloud provider include: A basic bucket score for each cloud provider is calculated based on the success rate data, latency data, and bucket cost of each cloud provider. The final score of each cloud vendor's storage bucket is calculated based on the cloud vendor's basic bucket score, the stability factor, and the strategy factor.
7. The method according to claim 1, characterized in that, The steps for enabling the terminal device to upload data to the allocated storage bucket include: The terminal device responds with signature information based on the allocated storage bucket, so that the terminal device uploads data to the allocated storage bucket based on the signature information.
8. The method according to claim 3, characterized in that, The storage bucket information also includes: the cloud provider to which the storage bucket belongs, the storage bucket region, and the customer of the storage bucket service.
9. The method according to claim 8, characterized in that, The step of reallocating storage buckets to the terminal device based on the updated storage bucket ratings of the multiple cloud vendors includes: Based on the updated bucket ratings of the various cloud vendors, the bucket region, and the customers of the bucket service, the storage buckets are reassigned to the terminal devices.
10. A scheduling device for a multi-cloud object storage environment, characterized in that, The device includes: The information acquisition module is used to acquire storage bucket information and monitoring data from multiple cloud vendors; wherein, the storage bucket information includes: storage bucket weight and storage bucket cost, and the monitoring data includes: success rate data and latency data; The bucket rating calculation module is used to calculate the bucket rating of each cloud provider based on the bucket information and monitoring data of each cloud provider. The storage bucket allocation module is used to allocate storage buckets to terminal devices based on the storage bucket ratings of multiple cloud vendors, so that the terminal devices can upload data to the allocated storage buckets.