A resource scheduling method, system, device and medium of an Internet of Things platform
By performing capacity analysis and dynamic scheduling factor optimization on the resource scheduling method of the IoT platform, the problems of resource idleness and stability were solved, achieving more efficient resource utilization and improved user experience.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- E SURFING IOT CO LTD
- Filing Date
- 2026-01-19
- Publication Date
- 2026-05-26
AI Technical Summary
Existing IoT platform resource scheduling methods cannot detect resource fluctuations, resulting in an excessive proportion of idle resources, low resource utilization, and a lack of smooth transition capabilities in the event of catastrophic failures, leading to poor stability and user experience.
By acquiring actual resource data from the IoT platform and resource consumption instructions from users, capacity analysis is performed to optimize dynamic scheduling factors. By utilizing idle resources and user priority matching strategies, dynamic scheduling optimization of resources is achieved.
It improves the resource utilization and stability of the IoT platform, reduces the risk of system overload, and ensures a better user experience.
Smart Images

Figure CN122093344A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of Internet of Things (IoT) technology, and in particular to a resource scheduling method, system, device, and medium for an IoT platform. Background Technology
[0002] With the large-scale development of the Internet of Things (IoT), the number of application devices connected to the IoT platform is constantly increasing. These application devices continuously trigger command requests through the platform, resulting in an explosive growth in the amount of command data stored on the platform. Application devices of different sizes often compete for resources, making resource scheduling of the IoT platform one of the key concerns for relevant personnel.
[0003] Currently, relevant technologies typically allocate a fixed resource quota to each application device connected to the IoT platform to achieve resource scheduling. This approach cannot detect resource fluctuations, easily leading to an excessive proportion of idle resources on the IoT platform and low resource utilization. Furthermore, it lacks the ability to smoothly transition in the event of a catastrophic failure, resulting in significant business interruption risks, low platform stability, and a poor user experience.
[0004] Therefore, the problems existing in the current technology still need to be solved and optimized. Summary of the Invention
[0005] To address at least one of the aforementioned technical problems, this application provides a resource scheduling method, system, device, and medium for an Internet of Things (IoT) platform. This method can effectively improve the resource utilization and stability of the IoT platform, thereby enhancing the user experience.
[0006] According to a first aspect of this application, a resource scheduling method for an Internet of Things (IoT) platform is provided, comprising: Obtain the actual resource data of the IoT platform in the current scheduling cycle, as well as the resource consumption instructions, basic resource capacity data and first dynamic scheduling factor of the user terminal in the current scheduling cycle; Based on the actual resource data and the resource consumption instructions, capacity analysis processing is performed to obtain capacity analysis data; Based on the capacity analysis data and the actual resource data, the first dynamic scheduling factor is optimized to obtain the second dynamic scheduling factor. Based on the second dynamic scheduling factor, the basic resource capacity data is updated and scheduled to obtain the resource capacity scheduling result of the user terminal.
[0007] In some embodiments, the step of performing capacity analysis processing based on the actual resource data and the resource consumption instructions to obtain capacity analysis data includes: Obtain the platform resource early warning strategy and the user resource early warning strategy corresponding to the user terminal; Based on the platform's resource early warning strategy, the actual resource data is analyzed to obtain the first analysis data; Based on the user resource early warning strategy, resource analysis is performed on the corresponding resource consumption instructions to obtain second analysis data; The capacity analysis data is obtained based on the first analysis data and the second analysis data.
[0008] In some embodiments, the step of optimizing the first dynamic scheduling factor based on the capacity analysis data and the actual resource data to obtain a second dynamic scheduling factor includes: If the capacity analysis data triggers a resource warning, then a first resource threshold and a second resource threshold are obtained, wherein the first resource threshold is less than the second resource threshold. Based on the first resource threshold and the second resource threshold, threshold analysis is performed on the actual resource data to obtain the threshold analysis results; Based on the threshold analysis results, the first dynamic scheduling factor is optimized to obtain the second dynamic scheduling factor.
[0009] In some embodiments, the step of optimizing the first dynamic scheduling factor based on the threshold analysis result to obtain the second dynamic scheduling factor includes: If the threshold analysis result indicates that the actual resource data is less than the first resource threshold, then an idle resource utilization strategy is obtained, and the first dynamic scheduling factor is updated according to the idle resource utilization strategy to obtain the second dynamic scheduling factor. Alternatively, if the threshold analysis result is that the actual resource data is greater than or equal to the first resource threshold and the actual resource data is less than the second resource threshold, then the first dynamic scheduling factor is determined as the second dynamic scheduling factor. Alternatively, if the threshold analysis result indicates that the actual resource data is greater than or equal to the second resource threshold, a resource borrowing strategy is obtained, and the first dynamic scheduling factor is updated according to the resource borrowing strategy to obtain the second dynamic scheduling factor.
[0010] In some embodiments, updating the first dynamic scheduling factor according to the idle resource utilization strategy to obtain the second dynamic scheduling factor includes: Obtain the user priority of the aforementioned user terminal; According to the idle resource utilization strategy, the user priority is matched to obtain the first matching data; If the first matching data indicates that the user priority matches the idle resource utilization strategy, then the first dynamic scheduling factor is updated incrementally to obtain the second dynamic scheduling factor, wherein the second dynamic scheduling factor is greater than the first dynamic scheduling factor; or, if the first matching data indicates that the user priority does not match the idle resource utilization strategy, then the first dynamic scheduling factor is determined as the second dynamic scheduling factor.
[0011] In some embodiments, updating the first dynamic scheduling factor according to the resource borrowing policy to obtain the second dynamic scheduling factor includes: Obtain the user priority of the user terminal, and the first priority and second priority corresponding to the resource borrowing strategy, wherein the first priority is lower than the second priority; Based on the first priority and the second priority, priority matching is performed on the user priority to obtain second matching data; If the second matching data is the user priority matching the first priority, then the first dynamic scheduling factor is updated by a decrease to obtain the second dynamic scheduling factor, which is less than the first dynamic scheduling factor; or, if the second matching data is the user priority matching the second priority, then the first dynamic scheduling factor is updated by a second increment to obtain the second dynamic scheduling factor, which is greater than the first dynamic scheduling factor.
[0012] In some embodiments, the method further includes: Obtain the first platform service mode corresponding to the user terminal, and the borrowing information of the resource borrowing strategy; If the borrowing information indicates a resource scheduling failure, the first platform service mode is updated according to the user priority of the user terminal to obtain a second platform service mode, so that the IoT platform can provide resource services to the user terminal according to the second platform service mode.
[0013] According to a second aspect of this application, a resource scheduling system for an Internet of Things (IoT) platform is provided, comprising: The first processing unit is used to acquire the actual resource data of the IoT platform in the current scheduling cycle, as well as the resource consumption instructions, basic resource capacity data and the first dynamic scheduling factor of the user terminal in the current scheduling cycle. The second processing unit is used to perform capacity analysis processing based on the actual resource data and the resource consumption instructions to obtain capacity analysis data. The third processing unit is used to perform factor optimization on the first dynamic scheduling factor based on the capacity analysis data and the actual resource data to obtain the second dynamic scheduling factor. The fourth processing unit is used to update the basic resource capacity data according to the second dynamic scheduling factor to obtain the resource capacity scheduling result of the user terminal.
[0014] According to a third aspect of this application, an electronic device is provided, comprising: At least one processor; At least one memory for storing at least one program; When the at least one program is executed by the at least one processor, the at least one processor performs the method as described above.
[0015] According to a fourth aspect of this application, a computer-readable storage medium is provided, wherein a processor-executable program is stored, the processor-executable program being used, when executed by the processor, to implement the method as described above.
[0016] According to a fifth aspect of this application, a computer program product is provided, comprising a computer program stored in a computer-readable storage medium, wherein a processor of an electronic device reads the computer program from the computer-readable storage medium and executes the computer program, causing the electronic device to perform the method described above.
[0017] The beneficial effects of the technical solutions provided in this application are: This application provides a resource scheduling method, system, device, and medium for an Internet of Things (IoT) platform. The method acquires actual resource data of the IoT platform within the current scheduling period, as well as resource consumption instructions, basic resource capacity data, and a first dynamic scheduling factor from the user terminal within the current scheduling period. Based on the actual resource data and the resource consumption instructions, capacity analysis is performed to obtain capacity analysis data. Based on the capacity analysis data and the actual resource data, the first dynamic scheduling factor is optimized to obtain a second dynamic scheduling factor. Based on the second dynamic scheduling factor, the basic resource capacity data is updated to obtain the resource capacity scheduling result for the user terminal. This method, based on capacity analysis data and actual resource data, optimizes the dynamic scheduling factor before updating the basic resource capacity data of the user terminal, which can effectively improve the resource utilization and stability of the IoT platform, thereby enhancing the user experience. Attached Figure Description
[0018] Figure 1 A flowchart illustrating a resource scheduling method for an Internet of Things (IoT) platform provided in an embodiment of this application; Figure 2 A detailed flowchart of step S120 provided for an embodiment of this application; Figure 3 A detailed flowchart of step S130 provided for an embodiment of this application; Figure 4 A detailed flowchart of step S330 provided for an embodiment of this application; Figure 5 A detailed flowchart of step S410 provided for an embodiment of this application; Figure 6 A detailed flowchart of step S430 provided for an embodiment of this application; Figure 7 A schematic diagram of a first optional process for a resource scheduling method for an Internet of Things platform provided in an embodiment of this application; Figure 8 A schematic diagram of the framework of a resource scheduling system for an Internet of Things platform provided in an embodiment of this application; Figure 9 This is a structural block diagram of a computer device provided in an embodiment of this application. Detailed Implementation
[0019] The present application will be further described below with reference to the accompanying drawings and specific embodiments. The described embodiments should not be considered as limitations on the present application, and all other embodiments obtained by those skilled in the art without inventive effort are within the scope of protection of the present application.
[0020] In the following description, references are made to “some embodiments,” which describe a subset of all possible embodiments. However, it is understood that “some embodiments” may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict.
[0021] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used herein is for the purpose of describing embodiments of this application only and is not intended to limit this application.
[0022] Currently, relevant technologies typically allocate a fixed resource quota to each application device connected to the IoT platform to achieve resource scheduling. This approach cannot detect resource fluctuations, easily leading to an excessive proportion of idle resources on the IoT platform and low resource utilization. Furthermore, it lacks the ability to smoothly transition in the event of a catastrophic failure, resulting in significant business interruption risks, low platform stability, and a poor user experience.
[0023] It should be noted that the aforementioned related technologies are only used to assist in understanding the technical solutions of this application and do not mean that they belong to the publicly disclosed prior art.
[0024] In view of this, embodiments of this application provide a resource scheduling method, system, device, and medium for an Internet of Things (IoT) platform. The method optimizes dynamic scheduling factors by matching idle resource utilization strategies / resource scheduling strategies with user priorities before optimizing dynamic factors. This can reduce the waste of idle resources (e.g., utilizing idle resources during low-peak periods of IoT platform resources and ensuring the core experience of second-priority users during peak periods) and improve the overall resource utilization rate of the IoT platform.
[0025] Furthermore, this method optimizes the scheduling of dynamic scheduling factors based on threshold analysis results. By avoiding resource contention through multi-level scheduling, it can reduce the risk of system overload caused by sudden traffic from first-priority users, reduce the risk of IoT platform crash, achieve dynamic protection, effectively improve the stability of IoT platform, and thus improve user experience.
[0026] This application provides a resource scheduling method for an Internet of Things (IoT) platform, which can be specifically described through the following embodiments. First, a resource scheduling method for an IoT platform in this application is described.
[0027] The resource scheduling method for an IoT platform provided in this application can be applied to IoT application scenarios. In IoT application scenarios, IoT service providers can use the method provided in this application to schedule resources on the IoT platform, which can effectively improve the resource utilization and stability of the IoT platform, thereby improving the user experience.
[0028] This application can be used in a wide variety of general-purpose or special-purpose computer system environments or configurations. Examples include: personal computers, server computers, handheld or portable devices, tablet devices, multiprocessor systems, microprocessor-based systems, set-top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, and distributed computing environments including any of the above systems or devices. This application can be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc., that perform specific tasks or implement specific abstract data types. This application can also be practiced in distributed computing environments where tasks are performed by remote processing devices connected via a communication network. In distributed computing environments, program modules can reside in local and remote computer storage media, including storage devices.
[0029] Reference Figure 1 , Figure 1 This is a flowchart illustrating a resource scheduling method for an IoT platform provided in an embodiment of this application. The method includes, but is not limited to, steps S110 to S140: Step S110: Obtain the actual resource data of the IoT platform in the current scheduling cycle, as well as the resource consumption instructions, basic resource capacity data and first dynamic scheduling factor of the user terminal in the current scheduling cycle; In this embodiment, the actual resource data of the IoT platform in the current scheduling cycle can be the CPU utilization rate, memory idle rate, storage IOPS data, etc. of the instruction service of the IoT platform at the current moment; the resource consumption instruction can be the instruction message related to the user terminal stored in the distributed message queue of the IoT platform; the basic resource capacity data of the user terminal can be the storage capacity allocated to the user terminal in the IoT platform, which can be the preset storage capacity or the resource capacity scheduling result determined in the previous scheduling cycle.
[0030] It is understood that the first dynamic scheduling factor can be the initial dynamic scheduling factor or the second dynamic scheduling factor determined by the user terminal in the previous scheduling cycle. The specific value of the initial dynamic scheduling factor can be set according to the actual situation, such as the specific value of the initial dynamic scheduling factor can be 1. In practical applications, the IoT platform can obtain resource consumption instructions from several user terminals in the current scheduling cycle. For ease of understanding, the following embodiments of this application will take obtaining resource consumption instructions from a single user terminal as an example.
[0031] Step S120: Perform capacity analysis processing based on the actual resource data and the resource consumption instruction to obtain capacity analysis data; In the embodiments of this application, capacity analysis can be performed on the actual resource data and resource consumption instructions respectively to realize the capacity detection of resources and thus obtain capacity analysis data.
[0032] Reference Figure 2 In some embodiments, step S120, which involves performing capacity analysis processing based on the actual resource data and the resource consumption instruction to obtain capacity analysis data, includes: Step S210: Obtain the platform resource early warning strategy and the user resource early warning strategy corresponding to the user terminal; Step S220: According to the platform resource early warning strategy, perform resource analysis on the actual resource data to obtain the first analysis data; Step S230: According to the user resource early warning strategy, perform resource analysis on the corresponding resource consumption instruction to obtain second analysis data; Step S240: Obtain the capacity analysis data based on the first analysis data and the second analysis data.
[0033] In this embodiment, the platform resource warning strategy and the user resource warning strategy are used to determine whether to trigger a resource warning. Specifically, the platform resource warning strategy can be any one of the following: whether the CPU utilization rate of the IoT platform instruction service is continuously higher than a certain value in the current scheduling period, or whether the memory idle rate of the IoT platform instruction service is continuously lower than a certain value in the current scheduling period. The user resource warning strategy can be any one of the following: whether the change in the number of instruction issuance requests by the user terminal in the current scheduling period is higher than a certain value, or whether the data capacity of the user terminal in the current scheduling period is greater than a certain value.
[0034] It is understandable that, for step S220, resource analysis may involve analyzing whether the actual resource data conforms to the platform's resource early warning strategy, and generating first analysis data indicating that a resource early warning is triggered when the data conforms, or generating first analysis data indicating that a resource early warning is not triggered when the data does not conform.
[0035] Specifically, taking the CPU utilization rate of the IoT platform command service as an example, which is based on the platform resource early warning strategy, as an example, if the CPU utilization rate of the actual resource data at each sampling time point in the current scheduling period is continuously higher than a certain value, the resource analysis can compare the actual resource data with the value in the platform resource early warning strategy. If the CPU utilization rate of the actual resource data is greater than the value for all sampling time points in the current scheduling period, the actual resource data is considered to meet the platform resource early warning strategy, thus generating the first analysis data that indicates that the resource early warning is triggered; otherwise, the actual resource data is considered to not meet the platform resource early warning strategy, thus generating the first analysis data that indicates that the resource early warning is not triggered.
[0036] It is worth mentioning that the content of step S230 is similar to that of step S220 mentioned above and can be easily deduced by analogy. Step S240 can be: if at least one of the first analysis data and the second analysis data indicates that a resource warning has been triggered, then capacity analysis data indicating that a resource warning has been triggered is generated; or, if both the first analysis data and the second analysis data indicate that a resource warning has not been triggered, then capacity analysis data indicating that a resource warning has not been triggered is generated.
[0037] Step S130: Based on the capacity analysis data and the actual resource data, optimize the first dynamic scheduling factor to obtain the second dynamic scheduling factor; In this embodiment, the first dynamic scheduling factor of the user terminal in the current scheduling cycle can be optimized based on capacity analysis data and actual resource data to obtain a second dynamic scheduling factor. Specifically, if the capacity analysis data indicates that no resource warning is triggered, the process can proceed to the next scheduling cycle and return to step S110.
[0038] Reference Figure 3 In some embodiments, step S130, optimizing the first dynamic scheduling factor based on the capacity analysis data and the actual resource data to obtain a second dynamic scheduling factor, includes: Step S310: If the capacity analysis data triggers a resource warning, then obtain a first resource threshold and a second resource threshold, wherein the first resource threshold is less than the second resource threshold; Step S320: Perform threshold analysis on the actual resource data based on the first resource threshold and the second resource threshold to obtain the threshold analysis result; In this embodiment, the first resource threshold and the second resource threshold can be predefined values. Specifically, the first resource threshold can be any one of 0.4, 0.5, 0.55, etc., and the second resource threshold can be any one of 0.85, 0.9, 0.93, etc. In this embodiment, the first resource threshold is 0.5 and the second resource threshold is 0.9 as an example.
[0039] Threshold analysis can be performed by comparing a certain resource indicator in actual resource data with a first resource threshold and a second resource threshold to obtain the threshold analysis result. For example, the storage utilization rate in the actual resource data can be obtained, and the storage utilization rate can be compared with the first resource threshold and the second resource threshold respectively to obtain the threshold analysis result.
[0040] Step S330: Based on the threshold analysis results, optimize the scheduling of the first dynamic scheduling factor to obtain the second dynamic scheduling factor.
[0041] Reference Figure 4 Further, step S330, optimizing the first dynamic scheduling factor based on the threshold analysis results to obtain the second dynamic scheduling factor, includes: Step S410: If the threshold analysis result is that the actual resource data is less than the first resource threshold, then obtain the idle resource utilization strategy, and update the first dynamic scheduling factor according to the idle resource utilization strategy to obtain the second dynamic scheduling factor. Reference Figure 5 Further, step S410, updating the first dynamic scheduling factor according to the idle resource utilization strategy to obtain the second dynamic scheduling factor, includes: Step S510: Obtain the user priority of the user terminal; Step S520: According to the idle resource utilization strategy, perform priority matching on the user priority to obtain the first matching data; Step S530: If the first matching data is the user priority matching the idle resource utilization strategy, then the first dynamic scheduling factor is updated by the first incremental update to obtain the second dynamic scheduling factor, and the second dynamic scheduling factor is greater than the first dynamic scheduling factor. Alternatively, in step S540, if the first matching data indicates that the user priority does not match the idle resource utilization strategy, then the first dynamic scheduling factor is determined as the second dynamic scheduling factor.
[0042] In this embodiment of the application, if the threshold analysis result shows that the actual resource data is less than the first resource threshold, such as when the storage utilization rate is less than 0.5, a resource idle utilization strategy can be obtained. This resource idle utilization strategy is used to indicate that low-priority user terminals are allowed to temporarily occupy additional storage in order to utilize idle resources during the low-peak period of IoT platform resources and improve resource utilization.
[0043] It is understood that the user priority on the user end is used to indicate the priority of the user end in the command service of the Internet of Things platform. The specific number of priority divisions can be set according to the actual situation. For ease of understanding, this application embodiment takes the example that the user priority can be low priority or high priority.
[0044] Priority matching can be based on matching the low priority indicated by the idle resource utilization policy with the user priority on the client side. If the user priority on the client side is low priority, first matching data representing the user priority matching the idle resource utilization policy can be generated. At this time, a first incremental update can be performed on the first dynamic scheduling factor to obtain a second dynamic scheduling factor. Specifically, the first incremental update can be to obtain the extra storage value in the idle resource utilization policy as the increment and add it to the first dynamic factor to obtain the second dynamic scheduling factor. For example, if the first dynamic scheduling factor is 1.0 and the idle resource utilization policy indicates that low-priority clients are allowed to temporarily occupy 20% of the extra storage, the corresponding increment can be 0.2. In this case, the second dynamic scheduling factor obtained after the first incremental update can be 1.2.
[0045] Alternatively, if the user priority on the user terminal is not low priority, such as high priority, then first matching data representing the mismatch between user priority and idle resource utilization strategy can be generated. In this case, the first dynamic scheduling factor can be directly determined as the second dynamic scheduling factor. At the same time, the storage retention time of the instruction message on the IoT platform of the user terminal can be obtained and the storage retention time of the instruction message can be increased.
[0046] Alternatively, in step S420, if the threshold analysis result is that the actual resource data is greater than or equal to the first resource threshold and the actual resource data is less than the second resource threshold, then the first dynamic scheduling factor is determined as the second dynamic scheduling factor. In this embodiment of the application, if the threshold analysis result shows that the actual resource data is greater than or equal to the first resource threshold and less than the second resource threshold, such as 0.5 ≤ storage utilization rate < 0.9, then the current scheduling factor of the IoT platform can be maintained (that is, the first dynamic scheduling factor is determined as the second scheduling factor), avoiding the system overhead caused by frequent adjustments to the scheduling factors of various user terminals in the IoT platform.
[0047] Alternatively, in step S430, if the threshold analysis result indicates that the actual resource data is greater than or equal to the second resource threshold, a resource borrowing strategy is obtained, and the first dynamic scheduling factor is updated according to the resource borrowing strategy to obtain the second dynamic scheduling factor.
[0048] Reference Figure 6 Further, step S430, updating the first dynamic scheduling factor according to the resource borrowing strategy to obtain the second dynamic scheduling factor, includes: Step S610: Obtain the user priority of the user terminal, and the first priority and second priority corresponding to the resource borrowing strategy, wherein the first priority is lower than the second priority; Step S620: Based on the first priority and the second priority, perform priority matching on the user priority to obtain second matching data; Step S630: If the second matching data is the user priority matching the first priority, then the first dynamic scheduling factor is reduced and updated to obtain the second dynamic scheduling factor, and the second dynamic scheduling factor is less than the first dynamic scheduling factor. Alternatively, in step S640, if the second matching data is the user priority matching the second priority, then the first dynamic scheduling factor is updated in a second increment to obtain the second dynamic scheduling factor, wherein the second dynamic scheduling factor is greater than the first dynamic scheduling factor.
[0049] In this embodiment of the application, the resource borrowing strategy is used to instruct the borrowing of idle resources from low-priority (i.e., first-priority) user terminals to high-priority (i.e., second-priority) user terminals, so as to ensure the core experience of second-priority users during peak periods of the Internet of Things platform.
[0050] It is understandable that the content of the second matching data is similar to that of the first matching data, and can be easily deduced by analogy; similarly, the content of the reduction update and the second incremental update are similar to that of the first incremental update, and can be easily deduced by analogy. Specifically, if the second matching data is a user priority matching the first priority, then the dynamic scheduling factor of the low-priority user can be reduced based on the borrowing value in the resource borrowing strategy. This borrowing value can be set according to the actual situation, for example, reducing the dynamic scheduling factor of the low-priority user from 1.0 to 0.85; or, if the second matching data is a user priority matching the second priority, then the dynamic scheduling factor of the high-priority user can be increased based on the borrowing value in the resource borrowing strategy.
[0051] Step S140: According to the second dynamic scheduling factor, the basic resource capacity data is updated to obtain the resource capacity scheduling result of the user terminal.
[0052] In this embodiment, the scheduling update can be based on a second dynamic scheduling factor, updating the basic resource capacity data allocated to the user terminal in the IoT platform to obtain the resource capacity scheduling result of the user terminal in the current scheduling cycle of the IoT platform. For example, the resource capacity scheduling result of the user terminal can be expressed as:
[0053] in, This refers to the resource capacity scheduling results on the user side. This provides the basic resource capacity data for the user terminal within the current scheduling period. This is the second dynamic scheduling factor.
[0054] Reference Figure 7 In some embodiments, the method further includes: Step S710: Obtain the first platform service mode corresponding to the user terminal, and the borrowing information of the resource borrowing strategy; Step S720: If the borrowing information indicates a resource scheduling failure, then the first platform service mode is updated according to the user priority of the user terminal to obtain a second platform service mode, so that the IoT platform can provide resource services to the user terminal according to the second platform service mode.
[0055] In this embodiment, the first platform service mode can be the service mode assigned to the user terminal in the IoT platform. Specifically, it can be a full-function mode, a read-only mode, etc. The full-function mode indicates that the user terminal can use all the functional services of the IoT platform, while the read-only mode indicates that the user terminal can only use the instruction services of the IoT platform. The borrowing information is used to indicate whether the dynamic scheduling factor policy update based on the resource borrowing strategy was successful. Specifically, it can be determined by whether the actual resource capacity (such as storage capacity) allocated to the user terminal changes accordingly after the dynamic scheduling factor update. For example, if the actual resource capacity allocated to the user terminal changes correctly, borrowing information indicating successful resource scheduling can be generated; otherwise, borrowing information indicating failed resource scheduling can be generated.
[0056] Understandably, if the borrowing information indicates successful resource scheduling, the IoT platform can provide resource services to the user terminal based on the first platform service mode of the user terminal; or, if the borrowing information indicates unsuccessful resource scheduling, the first platform service mode can be updated based on the user priority of the user terminal to obtain a second platform service mode, and resource services can be provided to the user terminal based on the second platform service mode.
[0057] Specifically, if the user priority on the user terminal is low, the current first platform service mode on the user terminal can be replaced and updated based on read-only mode to obtain the second platform service mode; or, if the user priority on the user terminal is high, the first platform service mode on the user terminal can be determined as the second platform service mode.
[0058] It should be noted that this service model update can ensure that critical commands from low-priority users are not interrupted when IoT platform resources are overloaded, thus providing a safety net for the core business of the IoT platform and effectively improving the operational stability of the IoT platform; at the same time, it further ensures the core experience of high-priority users during peak IoT platform resource periods.
[0059] Figure 8 A system block diagram of a resource scheduling system for an Internet of Things (IoT) platform provided in this application embodiment includes: The first processing unit 801 is used to acquire the actual resource data of the Internet of Things platform in the current scheduling cycle, as well as the resource consumption instructions, basic resource capacity data and the first dynamic scheduling factor of the user terminal in the current scheduling cycle. The second processing unit 802 is used to perform capacity analysis processing based on the actual resource data and the resource consumption instruction to obtain capacity analysis data; The third processing unit 803 is used to perform factor optimization on the first dynamic scheduling factor based on the capacity analysis data and the actual resource data to obtain the second dynamic scheduling factor. The fourth processing unit 804 is used to schedule and update the basic resource capacity data according to the second dynamic scheduling factor to obtain the resource capacity scheduling result of the user terminal.
[0060] It is worth mentioning that the content of the above method embodiments is applicable to this system embodiment. The specific functions implemented in this system embodiment are the same as those in the above method embodiments, and the beneficial effects achieved are also the same as those achieved in the above method embodiments.
[0061] Figure 9 A schematic diagram of the structure of a computer device provided in this application embodiment includes: At least one processor 980; At least one memory 920 is used to store at least one program; When the at least one program is executed by the at least one processor 980, the at least one processor 980 performs the method as described in the foregoing embodiments.
[0062] This application also provides a computer-readable storage medium storing a processor-executable program, which, when executed by the processor 980, is used to implement the methods described in the foregoing embodiments.
[0063] Specifically, computer equipment can be either a user terminal or a server.
[0064] This application uses a computer device as a user terminal as an example, as detailed below: like Figure 9 As shown, the computer device 900 may include an RF (Radio Frequency) circuit 910, a memory 920 including one or more computer-readable storage media, an input unit 930, a display unit 940, a sensor 950, an audio circuit 960, a WiFi module 970, a processor 980 including one or more processing cores, and a power supply 990, among other components. Those skilled in the art will understand that... Figure 9 The device structure shown does not constitute a limitation on the electronic device and may include more or fewer components than shown, or combine certain components, or have different component arrangements.
[0065] The RF circuit 910 can be used for receiving and transmitting signals during information transmission or calls. Specifically, it receives downlink information from the base station and hands it over to one or more processors 980 for processing; additionally, it transmits uplink data to the base station. Typically, the RF circuit 910 includes, but is not limited to, an antenna, at least one amplifier, a tuner, one or more oscillators, a Subscriber Identity Module (SIM) card, a transceiver, a coupler, an LNA (Low Noise Amplifier), a duplexer, etc. Furthermore, the RF circuit 910 can also communicate wirelessly with networks and other devices. Wireless communication can use any communication standard or protocol, including but not limited to GSM (Global System for Mobile communication), GPRS (General Packet Radio Service), CDMA (Code Division Multiple Access), WCDMA (Wideband Code Division Multiple Access), LTE (Long Term Evolution), email, SMS (Short Messaging Service), etc.
[0066] The memory 920 can be used to store software programs and modules. The processor 980 executes various functional applications and data processing by running the software programs and modules stored in the memory 920. The memory 920 may mainly include a program storage area and a data storage area. The program storage area may store the operating system, application programs required for at least one function (such as sound playback function, image playback function, etc.), etc.; the data storage area may store data created according to the use of the computer device 900 (such as audio data, telephone directory, etc.). In addition, the memory 920 may include high-speed random access memory, and may also include non-volatile memory, such as at least one disk storage device, flash memory device, or other volatile solid-state storage device. Accordingly, the memory 920 may also include a memory controller to provide access to the memory 920 by the processor 980 and the input unit 930. Although Figure 9 The RF circuit 910 is shown, but it is understood that it is not a necessary component of the computer device 900 and can be omitted as needed without changing the nature of the invention.
[0067] The input unit 930 can be used to receive input digital or character information, and to generate keyboard, mouse, joystick, optical, or trackball signal inputs related to user settings and function control. Specifically, the input unit 930 may include a touch-sensitive surface 932 and other input devices 931. The touch-sensitive surface 932, also known as a touch display screen or touchpad, can collect touch operations performed by the user on or near it (such as operations performed by the user using a finger, stylus, or any suitable object or accessory on or near the touch-sensitive surface 932), and drive the corresponding connection device according to a pre-set program. Optionally, the touch-sensitive surface 932 may include two parts: a touch detection device and a touch controller. The touch detection device detects the user's touch position and the signal generated by the touch operation, and transmits the signal to the touch controller; the touch controller receives touch information from the touch detection device, converts it into touch point coordinates, sends it to the processor 980, and can receive and execute commands from the processor 980. In addition, the touch-sensitive surface 932 can be implemented using various types such as resistive, capacitive, infrared, and surface acoustic wave. In addition to the touch-sensitive surface 932, the input unit 930 may also include other input devices 931. Specifically, other input devices 931 may include, but are not limited to, one or more of the following: physical keyboard, function keys (such as volume control buttons, power buttons, etc.), trackball, mouse, joystick, etc.
[0068] Display unit 940 can be used to display information input by the user or information provided to the user, as well as various graphical user interfaces of computer device 900. These graphical user interfaces can be composed of graphics, text, icons, video, and any combination thereof. Display unit 940 may include display panel 941, optionally configured as LCD (Liquid Crystal Display), OLED (Organic Light-Emitting Diode), etc. Further, touch-sensitive surface 932 may cover display panel 941. When touch-sensitive surface 932 detects a touch operation on or near it, it transmits the information to processor 980 to determine the type of touch event. Subsequently, processor 980 provides corresponding visual output on display panel 941 according to the type of touch event. Although in Figure 9 In this embodiment, the touch-sensitive surface 932 and the display panel 941 are implemented as two separate components to realize input and output functions. However, in some embodiments, the touch-sensitive surface 932 and the display panel 941 can be integrated to realize input and output functions.
[0069] The computer device 900 may also include at least one sensor 950, such as a light sensor, a motion sensor, and other sensors. Specifically, the light sensor may include an ambient light sensor and a proximity sensor. The ambient light sensor can adjust the brightness of the display panel 941 according to the ambient light level, and the proximity sensor can turn off the display panel 941 and / or backlight when the computer device 900 is moved to the ear. As a type of motion sensor, a gravity acceleration sensor can detect the magnitude of acceleration in various directions (generally three axes). When stationary, it can detect the magnitude and direction of gravity and can be used for applications that recognize the phone's posture (such as landscape / portrait switching, related games, magnetometer posture calibration), vibration recognition-related functions (such as pedometers, taps), etc. Other sensors that the computer device 900 may also be equipped with, such as gyroscopes, barometers, hygrometers, thermometers, and infrared sensors, will not be described in detail here.
[0070] Audio circuitry 960, speaker 961, and microphone 962 provide an audio interface between the user and computer device 900. Audio circuitry 960 converts received audio data into electrical signals, which are then transmitted to speaker 961, where they are converted into sound signals for output. Conversely, microphone 962 converts collected sound signals into electrical signals, which are received by audio circuitry 960, converted back into audio data, and then processed by processor 980 before being transmitted via RF circuitry 910 to another control device, or output to memory 920 for further processing. Audio circuitry 960 may also include an earphone jack to facilitate communication between peripheral headphones and computer device 900.
[0071] Computer device 900 can transmit information with the wireless transmission module set up on the battle equipment via WiFi module 970.
[0072] The processor 980 is the control center of the computer device 900. It connects various parts of the control device via various interfaces and lines. By running or executing software programs and / or modules stored in the memory 920, and by calling data stored in the memory 920, it performs various functions of the computer device 900 and processes data, thereby providing overall monitoring of the control device. Optionally, the processor 980 may include one or more processing cores; optionally, the processor 980 may integrate an application processor and a modem processor, wherein the application processor mainly handles the operating system, user interface, and applications, and the modem processor mainly handles wireless communication. It is understood that the aforementioned modem processor may also not be integrated into the processor 980.
[0073] The computer device 900 also includes a power supply 990 (such as a battery) that supplies power to various components. Preferably, the power supply can be logically connected to the processor 980 through a power management system, thereby enabling functions such as charging, discharging, and power consumption management through the power management system. The power supply 990 may also include one or more DC or AC power supplies, recharging systems, power fault detection circuits, power converters or inverters, power status indicators, and other arbitrary components.
[0074] Although not shown, the computer device 900 may also include a camera, Bluetooth module, etc., which will not be described in detail here.
[0075] This application also provides a computer-readable storage medium storing a computer program, which, when executed by a processor, causes the processor to perform the methods described in the foregoing embodiments.
[0076] This application also discloses a computer program product or computer program, which includes computer instructions stored in the aforementioned computer-readable storage medium; the processor of the aforementioned electronic device can read the computer instructions from the aforementioned computer-readable storage medium, and the processor executes the computer instructions, causing the electronic device to perform the aforementioned method embodiment.
[0077] It is understood that the content of the above method embodiments is applicable to this computer program product or computer program embodiment. The specific functions implemented by this computer program product or computer program embodiment are the same as those of the above method embodiments, and the beneficial effects achieved are also the same as those achieved by the above method embodiments.
[0078] The terms “first,” “second,” “third,” “fourth,” etc. (if present) in the specification and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented, for example, in orders other than those illustrated or described herein. Furthermore, the terms “comprising” and “having,” and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatuses.
[0079] It should be understood that in this application, "at least one (item)" means one or more, and "more than" means two or more. "And / or" is used to describe the relationship between related objects, indicating that three relationships can exist. For example, "A and / or B" can represent three cases: only A exists, only B exists, and both A and B exist simultaneously, where A and B can be singular or plural. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. "At least one (item) of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one (item) of a, b, or c can represent: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, and c can be single or multiple.
[0080] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection between apparatuses or units through some interfaces, and may be electrical, mechanical, or other forms.
[0081] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0082] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0083] If the integrated unit 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 application, in essence, or the part that contributes to the prior art, or all or 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 described in the various embodiments of this application. 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.
[0084] The step numbers in the above method embodiments are set only for ease of explanation and do not limit the order of the steps. The execution order of each step in the embodiments can be adaptively adjusted according to the understanding of those skilled in the art.
[0085] The above is a detailed description of the preferred embodiments of this application, but this application is not limited to the embodiments described. Those skilled in the art can make various equivalent modifications or substitutions without departing from the spirit of this application, and these equivalent modifications or substitutions are all included within the scope defined by the claims of this application.
Claims
1. A resource scheduling method for an Internet of Things (IoT) platform, characterized in that, include: Obtain the actual resource data of the IoT platform in the current scheduling cycle, as well as the resource consumption instructions, basic resource capacity data and first dynamic scheduling factor of the user terminal in the current scheduling cycle; Based on the actual resource data and the resource consumption instructions, capacity analysis processing is performed to obtain capacity analysis data; Based on the capacity analysis data and the actual resource data, the first dynamic scheduling factor is optimized to obtain the second dynamic scheduling factor. Based on the second dynamic scheduling factor, the basic resource capacity data is updated and scheduled to obtain the resource capacity scheduling result of the user terminal.
2. The method according to claim 1, characterized in that, The process of performing capacity analysis based on the actual resource data and the resource consumption instructions to obtain capacity analysis data includes: Obtain the platform resource early warning strategy and the user resource early warning strategy corresponding to the user terminal; Based on the platform's resource early warning strategy, the actual resource data is analyzed to obtain the first analysis data; Based on the user resource early warning strategy, resource analysis is performed on the corresponding resource consumption instructions to obtain second analysis data; The capacity analysis data is obtained based on the first analysis data and the second analysis data.
3. The method according to claim 1, characterized in that, The step of optimizing the first dynamic scheduling factor based on the capacity analysis data and the actual resource data to obtain the second dynamic scheduling factor includes: If the capacity analysis data triggers a resource warning, then a first resource threshold and a second resource threshold are obtained, wherein the first resource threshold is less than the second resource threshold. Based on the first resource threshold and the second resource threshold, threshold analysis is performed on the actual resource data to obtain the threshold analysis results; Based on the threshold analysis results, the first dynamic scheduling factor is optimized to obtain the second dynamic scheduling factor.
4. The method according to claim 3, characterized in that, The step of optimizing the first dynamic scheduling factor based on the threshold analysis results to obtain the second dynamic scheduling factor includes: If the threshold analysis result indicates that the actual resource data is less than the first resource threshold, then an idle resource utilization strategy is obtained, and the first dynamic scheduling factor is updated according to the idle resource utilization strategy to obtain the second dynamic scheduling factor. Alternatively, if the threshold analysis result is that the actual resource data is greater than or equal to the first resource threshold and the actual resource data is less than the second resource threshold, then the first dynamic scheduling factor is determined as the second dynamic scheduling factor. Alternatively, if the threshold analysis result indicates that the actual resource data is greater than or equal to the second resource threshold, a resource borrowing strategy is obtained, and the first dynamic scheduling factor is updated according to the resource borrowing strategy to obtain the second dynamic scheduling factor.
5. The method according to claim 4, characterized in that, The step of updating the first dynamic scheduling factor according to the idle resource utilization strategy to obtain the second dynamic scheduling factor includes: Obtain the user priority of the aforementioned user terminal; According to the idle resource utilization strategy, the user priority is matched to obtain the first matching data; If the first matching data indicates that the user priority matches the idle resource utilization strategy, then the first dynamic scheduling factor is updated incrementally to obtain the second dynamic scheduling factor, wherein the second dynamic scheduling factor is greater than the first dynamic scheduling factor; or, if the first matching data indicates that the user priority does not match the idle resource utilization strategy, then the first dynamic scheduling factor is determined as the second dynamic scheduling factor.
6. The method according to claim 4, characterized in that, The step of updating the first dynamic scheduling factor according to the resource borrowing strategy to obtain the second dynamic scheduling factor includes: Obtain the user priority of the user terminal, and the first priority and second priority corresponding to the resource borrowing strategy, wherein the first priority is lower than the second priority; Based on the first priority and the second priority, priority matching is performed on the user priority to obtain second matching data; If the second matching data is the user priority matching the first priority, then the first dynamic scheduling factor is updated by decreasing the amount of data to obtain the second dynamic scheduling factor, which is less than the first dynamic scheduling factor; or, if the second matching data is the user priority matching the second priority, then the first dynamic scheduling factor is updated by increasing the amount of data to obtain the second dynamic scheduling factor, which is greater than the first dynamic scheduling factor.
7. The method according to any one of claims 4-6, characterized in that, The method further includes: Obtain the first platform service mode corresponding to the user terminal, and the borrowing information of the resource borrowing strategy; If the borrowing information indicates a resource scheduling failure, the first platform service mode is updated according to the user priority of the user terminal to obtain a second platform service mode, so that the IoT platform can provide resource services to the user terminal according to the second platform service mode.
8. A resource scheduling system for an Internet of Things (IoT) platform, characterized in that, include: The first processing unit is used to acquire the actual resource data of the IoT platform in the current scheduling cycle, as well as the resource consumption instructions, basic resource capacity data and the first dynamic scheduling factor of the user terminal in the current scheduling cycle. The second processing unit is used to perform capacity analysis processing based on the actual resource data and the resource consumption instructions to obtain capacity analysis data. The third processing unit is used to perform factor optimization on the first dynamic scheduling factor based on the capacity analysis data and the actual resource data to obtain the second dynamic scheduling factor. The fourth processing unit is used to update the basic resource capacity data according to the second dynamic scheduling factor to obtain the resource capacity scheduling result of the user terminal.
9. An electronic device, characterized in that, include: At least one processor; At least one memory for storing at least one program; When the at least one program is executed by the at least one processor, the at least one processor performs the method as described in any one of claims 1-7.
10. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by a processor, it implements the method as described in any one of claims 1-7.