Application control method and system
By intelligently selecting servers and filtering candidate applications, the server concurrency situation is optimized, and the problem of insufficient server processing capabilities under high concurrency is solved, achieving smooth operation of the system and improving user experience.
Patent Information
- Application Number
- CN202411765576.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-04
- Publication Date
- 2025-03-25
- Estimated Expiration
- 2044-12-04
AI Technical Summary
In the case of high concurrency, insufficient server processing capabilities lead to problems such as request accumulation, delayed response, and connection interruption. Traditional concurrency balance strategies cannot effectively solve the server performance differences and the complexity of concurrency.
By intelligently selecting servers, filtering candidate applications, and fine-grained control of their use, optimize server concurrency and ensure the smooth operation of the system. The specific steps include obtaining server information, determining the target server, obtaining the latest candidate application, and generating and sending usage information to instruct the target application to use it according to the target usage information.
By optimizing server concurrency, the overall performance and stability of the system are improved, request accumulation and delayed responses are avoided, and the user experience is improved, especially in application scenarios that require rapid response.
Smart Images

Figure CN119690665A_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the field of computer technology, and in particular relates to an application control method and system. Background Art
[0002] Because the Chinese patent publication number CN114363461B "Application Control Method, Device, Electronic Device and Computer Readable Storage Medium" has insufficient processing power on the server under high concurrency conditions, resulting in frequent request accumulation, delayed response, connection interruption and other phenomena, although the traditional concurrency balancing strategy can distribute requests to multiple servers to balance the concurrency pressure, it is not ideal when facing complex and changeable scenarios.
[0003] Traditional concurrency balancing algorithms such as polling, minimum number of connections and other simple rules may not fully take into account the actual performance differences of servers and the current concurrency situation, resulting in some servers being overloaded while other servers are idle. In addition, the need to manually adjust server resources during peak periods will also cause a certain degree of delay and instability. Moreover, when the number of concurrent requests to a server surges, especially when it exceeds the number of requests that the server can handle simultaneously, the first situation the system faces is the accumulation of requests. When multiple requests are queued in the server-side processing queue waiting to be processed, the response time will increase significantly, resulting in huge delays. This delay is often manifested as the client being unable to quickly obtain feedback and poor user experience, especially in application scenarios that require fast response (such as e-commerce rush purchases, financial transactions, etc.). The impact is particularly serious. Summary of the invention
[0004] The present invention aims to solve at least one of the technical problems in the related art to a certain extent. To this end, the first object of the present invention is to propose an application control method, which can optimize server concurrency and ensure the smooth operation of the system by intelligently selecting servers, screening candidate applications, and finely controlling their use in a scenario of efficient resource utilization;
[0005] The second objective of the present invention is to provide an application control system.
[0006] To achieve the above object, a first aspect of the present invention provides an application control method, the method comprising the following steps:
[0007] S100, obtaining server information;
[0008] S200, determining a target server through server information;
[0009] S300, obtaining the latest candidate application through the target server and determining the target application;
[0010] S400, generating and sending usage information according to a target application to instruct the target application to use according to the target usage information.
[0011] According to the application control method of the embodiment of the present invention, in the scenario of efficient resource utilization, it is possible to optimize server concurrency and ensure the smooth operation of the system by intelligently selecting servers, screening candidate applications, and finely controlling their use.
[0012] Furthermore, obtaining server information in step S100 includes:
[0013] The matching servers are screened out through the user's request information, and the matching server information is further obtained; wherein the server information includes the server's response time efficiency, the number of server requests, and the number of concurrent users of the server.
[0014] The request information includes: the user's request type (such as e-commerce shopping, financial transactions, data queries, etc.), the request load type (such as the size of the request, whether it is a high-concurrency request), and the timeliness requirements of the request (such as whether real-time response is required, whether a certain delay is allowed).
[0015] The method of selecting matching servers through user request information includes: selecting servers according to request types, for example, for high-concurrency e-commerce rush purchase requests, selecting servers with high concurrency processing capabilities;
[0016] Preferably, select a server that can handle the user request load. If the request volume is large and the number of concurrent requests is high, select a server that has a higher than average load capacity among all servers in the same time period.
[0017] Preferably, for requests requiring strict response time, such as financial transactions, servers whose response time is less than the average response time of all servers are screened out to ensure that the request can be processed and completed within the predetermined time.
[0018] When the number of concurrent requests surges, especially when it exceeds the number of requests that the server can handle simultaneously, the system first faces a situation of request accumulation. When multiple requests are queued in the server's processing queue waiting to be processed, the response time increases significantly. This delay often manifests itself as the client's inability to quickly obtain feedback, resulting in a poor user experience, especially in application scenarios that require a quick response (such as e-commerce rush purchases, financial transactions, etc.). In order to solve this problem, it is necessary to monitor the current server concurrency and select target servers that can provide timely feedback.
[0019] Further, determining the target server through the server information in step S200 includes: S201, after the matching servers are screened out through the user's request information, obtaining the response time sequence of each matching server through the response time after the server receives the user's request in the last hour;
[0020] The method for calculating the effective load response time by the response time after the server receives the user request in the last hour is as follows: obtain all matching servers and use P(j) to represent the jth server, where j represents the identifier of each matching server, j=1,2,…,K, and K represents the number of matching servers; obtain the response time of each matching server in the last hour after receiving the user request, use Pt(j,i) to represent the response time after the jth matching server receives the ith user request in the last hour, where i represents the identifier of the response time, i=1,2,…,G, and G represents the number of response times after the jth matching server receives the user request in the last hour; the average value of all response times after the jth server receives the user request in the last hour is Pav(j), create an empty sequence and record it as the response time sequence TO, import all Pav(j) into the response time sequence, and record the average value in the response time sequence as MO; obtain the total number of user requests received by the matching servers in the last hour and record it as n(j), and the maximum number of concurrent users of the matching servers in the last hour is b(j);
[0021] S202, dividing the response time into a first server response time range Tok1, a second server response time range Tok2, and a third server response time range Tok3 by calculating the variance of the response time series TO;
[0022] Specifically, the value recorded in the average response time MO minus the variance is MG, and the value recorded in the average response time MO plus the variance is MP. The first server response time range Tok1 includes all response times less than or equal to MG. The second server response time range Tok2 includes all response times greater than the value of MG and less than the value of MP. The third server response time range Tok3 includes all response times greater than or equal to MP.
[0023] The beneficial effect of this step is: due to the high concurrent request volume that may cause the request processing time to exceed the preset timeout period, the connection between the client and the server may be interrupted, or the response to the request may time out, resulting in request failure. The client will receive a timeout error or failure prompt, affecting normal user operations. For example, some requests may be rejected by the server due to queuing too long, and a 503 service unavailable error is returned. Therefore, the time-sensitive load response time is calculated based on the response time after the server receives the user request in the last hour, and by calculating the average response time of each matching server and importing it into the response time series, the working status and performance of each server can be understood, and a relatively stable and high-performance target server can be selected based on actual data, thereby improving the overall performance and stability of the system. Since the variance value reflects the degree to which the value in the data set deviates from the average value, and thus reflects whether the system concurrency fluctuates greatly, by calculating the variance of the response time series and dividing it into different ranges, the change and stability of the response time can be evaluated. Classification management according to different response time ranges helps to predict possible problems and adjust the target server selection in time to ensure service quality and stability. According to the total number of user requests received by the matching server in the last hour and the maximum number of concurrent users, the total request response time boundary and concurrent response time boundary are calculated. This comprehensive consideration can help the system use resources more effectively and avoid overloading or waste of resources on some servers, and avoid service failures by carefully evaluating the server status, predicting potential risks and taking corresponding measures.
[0024] S203, calculating the total request response time boundary KP1 and the concurrent response time boundary KP2 through the first server response time range Tok1, the second server response time range Tok2, and the third server response time range Tok3;
[0025] The time ranges of the first server response time range Tok1, the second server response time range Tok2, and the third server response time range Tok3 are recorded as [S, SL], [L, LK], and [ML, MX], respectively, where the interval [S, SL] represents the first server response time range Tok1, where S is the minimum value of the response time series TO, and SL is the value closest to MG among all response times less than or equal to MG. The interval [L, LK] represents the second server response time range Tok2, where L is the value closest to MG among all response times greater than MG, and LK is the value closest to MP among all response times less than MP. The interval [ML, MX] represents the third server response time range Tok3, where ML is the value closest to MP among all response times greater than or equal to MP, and MX is the maximum value of the response time series TO.
[0026] Create an empty sequence and record it as the total number of requests sequence EN; create an empty sequence and record it as the concurrency sequence BN; import all n(j) into the total number of requests sequence EN, and record the average value in the total number of requests sequence EN as EM, and the variance as EK; import all b(j) into the total number of requests sequence BN, and record the average value in the total number of requests sequence BN as BM, the variance as BK, and the maximum value of b(j) as MaxB;
[0027] Furthermore, the method for calculating the total request response time boundary KP1 and the concurrent response time boundary KP2 includes: wherein the total request response time boundary KP1 is equal to (SL+L) / 2-N×(EM-EK) / (EM+EK); the concurrent response time boundary KP2 is equal to (MX-S)-[(SL+L) / 2]×(BM-BK) / MaxB; wherein SL and L represent the maximum value of the first server response time range and the minimum value of the second server response time range respectively, N is the minimum value of the first server response time range, EM is the average value in the total number of requests sequence EN, EK is the variance in the total number of requests sequence EN, MX is the maximum value of the third server response time range, BM is the average value in the concurrent volume sequence BN, BK is the variance in the concurrent volume sequence BN, and MaxB is the maximum value of b(j) in the concurrent volume sequence BN.
[0028] Specifically, the calculation method of the total request response time boundary KP1 is: calculate the reasonable response time boundary of the server when processing requests through (SL+L) / 2, then calculate the average value EM and variance EK in the total number of requests sequence EN, and bring them into the formula. By calculating the difference ratio between the average value and the variance, the impact of the total number of requests on the server response time can be measured. Combining the above two parts, the total request response time boundary KP1 is obtained. This value is used to evaluate the stability and performance of the system under different load conditions, so that the target server suitable for the task under the current load condition can be better selected.
[0029] Specifically, the calculation method of the response time boundary KP2 is as follows: first, calculate the difference between the maximum value MX of the response time range of the third server and the minimum value S of the response time range of the second server, and the relative response time of the server under the additional delay when processing high load. Then, the correlation between the average value of the maximum value SL and the minimum value L of the response time range of the first server and the average value BM and the variance BK in the concurrency sequence BN is weighted and multiplied to the concurrency influencing factor MaxB, so as to calculate the reasonable response time boundary under the influence of concurrency on the processing capacity of different servers under high load.
[0030] S204, compare the sizes of the total request response time boundary KP1 and the concurrent response time boundary KP2. When KP1 is smaller than KP2, the server corresponding to the Pav(j) with the smallest absolute value subtracted from KP1 in the response time sequence TO is recorded as the target server; when KP2 is smaller than KP1, the server corresponding to the Pav(j) with the smallest absolute value subtracted from KP2 in the response time sequence TO is recorded as the target server.
[0031] Specifically, the total request response time boundary KP1 and the concurrent response time boundary KP2 are important indicators for the system when selecting the target server. They provide the system with a basis for optimizing the target server selection, dynamically scheduling resources, improving system stability and reducing the risk of failure by comprehensively calculating the performance parameters and concurrency of each server. The calculation principle of KP1 and KP2 is based on the analysis of parameters such as the response time range, the average and variance of the total number of requests, and the average and variance in the concurrency sequence, and the estimated total request response time boundary and concurrent response capacity boundary are obtained. Through the total request response time boundary KP1 and the concurrent response time boundary KP2, the target server that is most suitable for the task under the current concurrency situation can be intelligently selected to avoid the degradation of service quality due to excessive concurrency or unstable performance. At the same time, dynamically adjusting the resource allocation strategy according to KP1 and KP2 to keep the system running in a stable state can further reduce the risk of failure and ensure the normal operation of the system.
[0032] The beneficial effects of this step are: through the calculation method in steps S203 and S204, the system can optimize the target server selection, intelligently schedule resources, and improve system stability and reduce the risk of failure. First, by calculating the total request response time boundary KP1 and the concurrent response time boundary KP2, the system can more accurately evaluate the performance and concurrency of each server, thereby avoiding sending requests to servers with excessive concurrency or unstable performance, and improving the performance of the entire system; secondly, based on the analysis of the total number of request sequences and the concurrency sequence, the resource allocation strategy can be dynamically adjusted to meet the needs under different concurrency and keep the system running in a reasonable state; in addition, selecting the target server based on the comparison of the total request response time boundary and the concurrent response time boundary helps control the stability of the system and avoid the degradation of service quality due to excessive concurrency of some nodes.
[0033] In step S300, the latest candidate application is obtained through the target server, and the target application is determined;
[0034] Specifically, the system obtains the latest candidate applications by connecting to the target server and determines the final target application; first, the system establishes a connection with the target server and requests a list of applications currently available on the server; then, the system filters the obtained application list and determines the candidate applications based on user preferences; then, the system checks whether the candidate applications are the latest versions and can choose to update to the latest versions; finally, after screening and updating, the final target application is determined to ensure that users always use the latest version of application software that meets their needs.
[0035] Furthermore, in an e-commerce rush purchase activity, the process of step S300 can obtain and select the most suitable products for the system, ensuring that users can rush purchase products that meet their needs, and the product information is the latest and updated. The specific steps are as follows: establish a connection with the target server and obtain a list of products; before the e-commerce rush purchase activity starts, the system first establishes a connection with the server of the e-commerce platform and requests to obtain a list of products available for rush purchase on the current platform. The list may include information such as product name, inventory, price, sales volume, etc.; the server returns a list of products, including all product information that will be involved in the rush purchase, as well as their detailed information (such as price, remaining inventory, etc.). This list is customized based on activity rules and user preferences; filter candidate products and recommend them according to user needs; the system will filter out products that meet the requirements according to the user's personal preferences (such as brand, price range, preference type, etc.). For example, if a user prefers a certain brand or a specific function of a product, the system will filter out candidate products from the product list based on this information; the system will display the filtered products to the user for selection. These products are usually the most interesting and most in line with the needs of users. Next, the system will check the status of each candidate product to confirm whether it is the latest version. For example, whether there are new discounts, promotions or inventory updates for the product. If the price of a product changes or the inventory is adjusted, the system will make corresponding updates; if it is found that the product information (such as price, inventory, promotion, etc.) has been updated, the system will automatically update the product data to ensure that the latest product information is displayed to the user; after screening and updating, the system finally determines the user's target product. This product not only meets the user's needs, but is also the latest version and is still in stock during the event; finally, the user can click on the target product, add it to the shopping cart and participate in the rush purchase. After the system confirms that the product can be purchased smoothly, the user successfully completes the rush purchase operation.
[0036] S400, generating and sending usage information according to a target application to instruct the target application to use according to the target usage information.
[0037] Further, after the target application is determined, the control end will generate a usage information, which includes but is not limited to: usage duration: specifies the time the target application needs to run; traffic consumption: specifies the network traffic that the target application is allowed to consume during use; usage frequency: specifies the number of times the application needs to be started within a certain period of time; resource consumption limit: includes the CPU or memory usage, ensuring that the target application does not exceed certain resource limits when in use; sending usage information: after generating the usage information, the control end sends this information to the controlled end device to ensure that the target application runs in the specified manner. This information is transmitted to the target device through the network protocol to ensure timely and accurate execution.
[0038] The control end refers to the device or system responsible for managing, monitoring and operating other devices (controlled ends), and is used to monitor and manage multiple controlled end devices in real time. The functions of the control end include requesting data from the controlled end, filtering and sorting these data, and performing corresponding management operations according to needs. For example, the control end can send a request to the controlled end to obtain the latest application usage data, process the data, and display candidate applications.
[0039] The controlled end refers to the device or system that is controlled and monitored, which includes the end-user's device, such as a smartphone, computer or other networked device, running various applications and generating usage data. The controlled end can regularly upload information about the applications it uses (such as application name, usage time, traffic consumption, etc.) for the control end to obtain and process;
[0040] Furthermore, the controlled end is managed and monitored by the control end through management software.
[0041] Furthermore, after receiving the usage information of the target application, the controlled end performs actual application management according to the parameters provided by the control end (such as usage time, traffic, etc.). The controlled end device will execute the target application to ensure that the application runs under the premise of complying with the predetermined usage information.
[0042] Furthermore, the control end monitors the status of the application in real time during its operation and adjusts the usage information as needed. If it is found that the resource consumption of the application is too large or exceeds the target usage range, the control end can issue new adjustment instructions to limit or stop the operation of the application.
[0043] The beneficial effects of the present invention are: for complex systems that need to manage multiple devices and applications, especially in scenarios that require efficient resource utilization, by intelligently selecting servers, screening candidate applications, and finely controlling their use, server concurrency is optimized to ensure smooth operation of the system.
[0044] To achieve the above-mentioned purpose, the second aspect embodiment of the present invention further proposes an application control system, which includes: a processor, a memory, and a computer program stored in the memory and executable on the processor, wherein the processor implements the steps in an application control method when executing the computer program, and the application control system runs on a desktop computer, a notebook, a PDA, and a computing device in a cloud data center.
[0045] By executing the application control method through the application control system, it is possible to optimize server concurrency and ensure smooth system operation by intelligently selecting servers, screening candidate applications, and finely controlling their use in scenarios with efficient resource utilization. BRIEF DESCRIPTION OF THE DRAWINGS
[0046] Figure 1 Shown is a flow chart of an application control method;
[0047] Figure 2 Shown is the application control system structure diagram. DETAILED DESCRIPTION
[0048] Embodiments of the present invention are described in detail below, examples of which are shown in the accompanying drawings, wherein the same or similar reference numerals throughout represent the same or similar elements or elements having the same or similar functions. The embodiments described below with reference to the accompanying drawings are exemplary and are intended to be used to explain the present invention, and should not be construed as limiting the present invention.
[0049] Figure 1 Shown is a flow chart of an application control method.
[0050] Reference Figure 1 The present invention proposes an application control method, the method comprising the following steps:
[0051] S100, obtaining server information;
[0052] S200, determining a target server through server information;
[0053] S300, obtaining the latest candidate application through the target server and determining the target application;
[0054] S400, generating and sending usage information according to a target application to instruct the target application to use according to the target usage information.
[0055] According to the application control method of the embodiment of the present invention, in the scenario of efficient resource utilization, it is possible to optimize server concurrency and ensure the smooth operation of the system by intelligently selecting servers, screening candidate applications, and finely controlling their use.
[0056] Furthermore, obtaining server information in step S100 includes:
[0057] The matching servers are screened out through the user's request information, and the matching server information is further obtained; wherein the server information includes the server's response time efficiency, the number of server requests, and the number of concurrent users of the server.
[0058] When the number of concurrent requests surges, especially when it exceeds the number of requests that the server can handle simultaneously, the system first faces a situation of request accumulation. When multiple requests are queued in the server's processing queue waiting to be processed, the response time increases significantly. This delay often manifests itself as the client's inability to quickly obtain feedback, resulting in a poor user experience, especially in application scenarios that require a quick response (such as e-commerce rush purchases, financial transactions, etc.). In order to solve this problem, it is necessary to monitor the current server concurrency and select target servers that can provide timely feedback.
[0059] Further, determining the target server through the server information in step S200 includes: S201, after the matching servers are screened out through the user's request information, obtaining the response time sequence of each matching server through the response time after the server receives the user's request in the last hour;
[0060] The method for calculating the effective load response time by the response time after the server receives the user request in the last hour is as follows: obtain all matching servers and use P(j) to represent the jth server, where j represents the identifier of each matching server, j=1,2,…,K, and K represents the number of matching servers; obtain the response time of each matching server in the last hour after receiving the user request, use Pt(j,i) to represent the response time after the jth matching server receives the ith user request in the last hour, where i represents the identifier of the response time, i=1,2,…,G, and G represents the number of response times after the jth matching server receives the user request in the last hour; the average value of all response times after the jth server receives the user request in the last hour is Pav(j), create an empty sequence and record it as the response time sequence TO, import all Pav(j) into the response time sequence, and record the average value in the response time sequence as MO; obtain the total number of user requests received by the matching servers in the last hour and record it as n(j), and the maximum number of concurrent users of the matching servers in the last hour is b(j);
[0061] S202, dividing the response time into a first server response time range Tok1, a second server response time range Tok2, and a third server response time range Tok3 by calculating the variance of the response time series TO;
[0062] Specifically, the value recorded in the average response time MO minus the variance is MG, and the value recorded in the average response time MO plus the variance is MP. The first server response time range Tok1 includes all response times less than or equal to MG. The second server response time range Tok2 includes all response times greater than the value of MG and less than the value of MP. The third server response time range Tok3 includes all response times greater than or equal to MP.
[0063] The beneficial effect of this step is: due to the high concurrent request volume that may cause the request processing time to exceed the preset timeout period, the connection between the client and the server may be interrupted, or the response to the request may time out, resulting in request failure. The client will receive a timeout error or failure prompt, affecting normal user operations. For example, some requests may be rejected by the server due to queuing too long, and a 503 service unavailable error is returned. Therefore, the time-sensitive load response time is calculated based on the response time after the server receives the user request in the last hour, and by calculating the average response time of each matching server and importing it into the response time series, the working status and performance of each server can be understood, and a relatively stable and high-performance target server can be selected based on actual data, thereby improving the overall performance and stability of the system. Since the variance value reflects the degree to which the value in the data set deviates from the average value, and thus reflects whether the system concurrency fluctuates greatly, by calculating the variance of the response time series and dividing it into different ranges, the change and stability of the response time can be evaluated. Classification management according to different response time ranges helps to predict possible problems and adjust the target server selection in time to ensure service quality and stability. According to the total number of user requests received by the matching server in the last hour and the maximum number of concurrent users, the total request response time boundary and concurrent response time boundary are calculated. This comprehensive consideration can help the system use resources more effectively and avoid overloading or waste of resources on some servers, and avoid service failures by carefully evaluating the server status, predicting potential risks and taking corresponding measures.
[0064] S203, calculating the total request response time boundary KP1 and the concurrent response time boundary KP2 through the first server response time range Tok1, the second server response time range Tok2, and the third server response time range Tok3;
[0065] The time ranges of the first server response time range Tok1, the second server response time range Tok2, and the third server response time range Tok3 are recorded as [S, SL], [L, LK], and [ML, MX], respectively, where the interval [S, SL] represents the first server response time range Tok1, where S is the minimum value of the response time series TO, and SL is the value closest to MG among all response times less than or equal to MG. The interval [L, LK] represents the second server response time range Tok2, where L is the value closest to MG among all response times greater than MG, and LK is the value closest to MP among all response times less than MP. The interval [ML, MX] represents the third server response time range Tok3, where ML is the value closest to MP among all response times greater than or equal to MP, and MX is the maximum value of the response time series TO.
[0066] Create an empty sequence and record it as the total number of requests sequence EN; create an empty sequence and record it as the concurrency sequence BN; import all n(j) into the total number of requests sequence EN, and record the average value in the total number of requests sequence EN as EM, and the variance as EK; import all b(j) into the total number of requests sequence BN, and record the average value in the total number of requests sequence BN as BM, the variance as BK, and the maximum value of b(j) as MaxB;
[0067] Furthermore, the method for calculating the total request response time boundary KP1 and the concurrent response time boundary KP2 includes: wherein the total request response time boundary KP1 is equal to (SL+L) / 2-N×(EM-EK) / (EM+EK); the concurrent response time boundary KP2 is equal to (MX-S)-[(SL+L) / 2]×(BM-BK) / MaxB; wherein SL and L represent the maximum value of the first server response time range and the minimum value of the second server response time range respectively, N is the minimum value of the first server response time range, EM is the average value in the total number of requests sequence EN, EK is the variance in the total number of requests sequence EN, MX is the maximum value of the third server response time range, BM is the average value in the concurrent volume sequence BN, BK is the variance in the concurrent volume sequence BN, and MaxB is the maximum value of b(j) in the concurrent volume sequence BN.
[0068] S204, compare the sizes of the total request response time boundary KP1 and the concurrent response time boundary KP2. When KP1 is smaller than KP2, the server corresponding to the Pav(j) with the smallest absolute value subtracted from KP1 in the response time sequence TO is recorded as the target server; when KP2 is smaller than KP1, the server corresponding to the Pav(j) with the smallest absolute value subtracted from KP2 in the response time sequence TO is recorded as the target server.
[0069] Specifically, the total request response time boundary KP1 and the concurrent response time boundary KP2 are important indicators for the system when selecting the target server. They provide the system with a basis for optimizing the target server selection, dynamically scheduling resources, improving system stability and reducing the risk of failure by comprehensively calculating the performance parameters and concurrency of each server. The calculation principle of KP1 and KP2 is based on the analysis of parameters such as the response time range, the average and variance of the total number of requests, and the average and variance in the concurrency sequence, and the estimated total request response time boundary and concurrent response capacity boundary are obtained. Through the total request response time boundary KP1 and the concurrent response time boundary KP2, the target server that is most suitable for the task under the current concurrency situation can be intelligently selected to avoid the degradation of service quality due to excessive concurrency or unstable performance. At the same time, dynamically adjusting the resource allocation strategy according to KP1 and KP2 to keep the system running in a stable state can further reduce the risk of failure and ensure the normal operation of the system.
[0070] The beneficial effects of this step are: through the calculation method in steps S203 and S204, the system can optimize the target server selection, intelligently schedule resources, and improve system stability and reduce the risk of failure. First, by calculating the total request response time boundary KP1 and the concurrent response time boundary KP2, the system can more accurately evaluate the performance and concurrency of each server, thereby avoiding sending requests to servers with excessive concurrency or unstable performance, and improving the performance of the entire system. Secondly, based on the analysis of the total number of request sequences and the concurrency sequence, the resource allocation strategy can be dynamically adjusted to meet the needs under different concurrency and keep the system running in a reasonable state. In addition, selecting the target server based on the comparison of the total request response time boundary and the concurrent response time boundary helps control the stability of the system and avoid the degradation of service quality due to excessive concurrency of some nodes.
[0071] In step S300, the latest candidate application is obtained through the target server, and the target application is determined;
[0072] Specifically, the system obtains the latest candidate applications by connecting to the target server and determines the final target application; first, the system establishes a connection with the target server and requests a list of applications currently available on the server; then, the system filters the obtained application list and determines the candidate applications based on user preferences; then, the system checks whether the candidate applications are the latest versions and can choose to update to the latest versions; finally, after screening and updating, the final target application is determined to ensure that users always use the latest version of application software that meets their needs.
[0073] S400, generating and sending usage information according to a target application to instruct the target application to use according to the target usage information.
[0074] Further, after the target application is determined, the control end will generate a usage information, which includes but is not limited to: usage duration: specifies the time the target application needs to run; traffic consumption: specifies the network traffic that the target application is allowed to consume during use; usage frequency: specifies the number of times the application needs to be started within a certain period of time; resource consumption limit: includes the CPU or memory usage, ensuring that the target application does not exceed certain resource limits when in use; sending usage information: after generating the usage information, the control end sends this information to the controlled end device to ensure that the target application runs in the specified manner. This information is transmitted to the target device through the network protocol to ensure timely and accurate execution.
[0075] The control end refers to the device or system responsible for managing, monitoring and operating other devices (controlled ends), and is used to monitor and manage multiple controlled end devices in real time. The functions of the control end include requesting data from the controlled end, filtering and sorting these data, and performing corresponding management operations according to needs. For example, the control end can send a request to the controlled end to obtain the latest application usage data, process the data, and display candidate applications.
[0076] The controlled end refers to the device or system that is controlled and monitored, which includes the end-user's device, such as a smartphone, computer or other networked device, running various applications and generating usage data. The controlled end can regularly upload information about the applications it uses (such as application name, usage time, traffic consumption, etc.) for the control end to obtain and process;
[0077] Furthermore, the controlled end is managed and monitored by the control end through management software.
[0078] Furthermore, after receiving the usage information of the target application, the controlled end performs actual application management according to the parameters provided by the control end (such as usage time, traffic, etc.). The controlled end device will execute the target application to ensure that the application runs under the premise of complying with the predetermined usage information.
[0079] Furthermore, the control end monitors the status of the application in real time during its operation and adjusts the usage information as needed. If it is found that the resource consumption of the application is too large or exceeds the target usage range, the control end can issue new adjustment instructions to limit or stop the operation of the application.
[0080] The beneficial effects of the present invention are: for complex systems that need to manage multiple devices and applications, especially in scenarios that require efficient resource utilization, by intelligently selecting servers, screening candidate applications, and finely controlling their use, server concurrency is optimized to ensure smooth operation of the system.
[0081] The method is applied to the following example of e-commerce rush purchase:
[0082] Before the e-commerce rush sale begins, the system will intelligently select the target server based on the real-time monitoring of server concurrency and performance indicators, and preload the required resources to ensure that the system is in the best state on standby. By preparing and optimizing the server configuration in advance, the system can cope with sudden user requests and maintain a stable service response time during peak hours;
[0083] Once the rush sale begins, the system will intelligently schedule resource allocation strategies based on real-time monitoring of server concurrency and user access behavior. By distributing requests to target servers with stable performance and moderate concurrency, it avoids service failures or delays caused by overloading of certain nodes. This intelligent scheduling mechanism can effectively improve the overall performance of the system and ensure that users can still shop smoothly during peak hours.
[0084] The control end monitors user access behavior in real time and adjusts usage information as needed to manage user operations. For example, when a user is detected to frequently refresh the page or occupy a large amount of bandwidth, the control end can limit the access frequency or traffic consumption to avoid affecting other users and ensure the stability and performance of the overall system;
[0085] When the rush sale ends, the system will automatically release excess resources and conduct an in-depth analysis and summary of the event based on historical data. By comprehensively evaluating data such as participants, product popularity, and transaction success rate, the system can provide a more accurate reference for similar events in the future, further optimize operational strategies and resource allocation plans, and enhance the competitiveness and user experience of e-commerce platforms.
[0086] Figure 2 Shown is the application control system structure diagram.
[0087] Reference Figure 2 The present invention also proposes an application control system 20, which includes: a processor, a memory, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, the steps in an application control method are implemented. The application control system 20 runs on a desktop computer, a notebook, a PDA, and a computing device in a cloud data center.
[0088] The application control system comprises: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to run in the following units of the application control system:
[0089] A collection unit 21, used to obtain server information;
[0090] A determination unit 22, configured to determine a target server through server information;
[0091] The acquisition unit 23 is used to acquire the latest candidate application through the target server and determine the target application;
[0092] The management unit 24 is used to generate and send usage information according to the target application to instruct the target application to use according to the target usage information.
[0093] The application control system described above can be run in computing devices such as desktop computers, notebooks, PDAs, and cloud servers. The application control system described above can include, but is not limited to, a processor and a memory. Those skilled in the art can understand that the example described above is only an example of an application control system 20 and does not constitute a limitation on an application control system 20. The application control system can include more or fewer components than the example, or a combination of certain components, or different components. For example, the application control system described above can also include input and output devices, network access devices, buses, etc.
[0094] By executing the application control method through the application control system 20, it is possible to optimize server concurrency and ensure smooth operation of the system by intelligently selecting servers, screening candidate applications, and finely controlling their use in a scenario of efficient resource utilization.
[0095] It should be noted that the logic and / or steps represented in the flowchart or otherwise described herein, for example, can be considered as a sequenced list of executable instructions for implementing logical functions, and can be specifically implemented in any computer-readable medium for use by an instruction execution system, device or apparatus (such as a computer-based system, a system including a processor, or other system that can fetch instructions from an instruction execution system, device or apparatus and execute instructions), or in combination with these instruction execution systems, devices or apparatuses. For the purposes of this specification, "computer-readable medium" can be any device that can contain, store, communicate, propagate or transmit a program for use by an instruction execution system, device or apparatus, or in combination with these instruction execution systems, devices or apparatuses. More specific examples of computer-readable media (a non-exhaustive list) include the following: an electrical connection portion with one or more wirings (electronic device), a portable computer disk box (magnetic device), a random access memory (RAM), a read-only memory (ROM), an erasable and programmable read-only memory (EPROM or flash memory), an optical fiber device, and a portable compact disk read-only memory (CDROM). In addition, the computer-readable medium may even be paper or other suitable medium on which the program is printed, since the program may be obtained electronically, for example, by optically scanning the paper or other medium and then editing, interpreting or processing in other suitable ways if necessary, and then stored in a computer memory.
[0096] It should be understood that the various parts of the present invention can be implemented by hardware, software, firmware or a combination thereof. In the above-mentioned embodiments, a plurality of steps or methods can be implemented by software or firmware stored in a memory and executed by a suitable instruction execution system. For example, if implemented by hardware, as in another embodiment, it can be implemented by any one of the following technologies known in the art or their combination: a discrete logic circuit having a logic gate circuit for implementing a logic function for a data signal, a dedicated integrated circuit having a suitable combination of logic gate circuits, a programmable gate array (PGA), a field programmable gate array (FPGA), etc.
[0097] In the description of this specification, the description with reference to the terms "one embodiment", "some embodiments", "examples", "specific examples", or "some examples" means that the specific features, structures, materials or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of the present invention. In this specification, the schematic representation of the above terms does not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described may be combined in any one or more embodiments or examples in a suitable manner.
[0098] In the description of the present invention, it is to be understood that the terms “center”, “longitudinal”, “lateral”, “length”, “width”, “thickness”, “up”, “down”, “front”, “back”, “left”, “right”, “vertical”, “horizontal”, “top”, “bottom”, “inside”, “outside”, “clockwise”, “counterclockwise”, “axial”, “radial”, “circumferential”, etc., indicating orientations or positional relationships based on the orientations or positional relationships shown in the accompanying drawings, are only for the convenience of describing the present invention and simplifying the description, and do not indicate or imply that the referred device or element must have a specific orientation, be constructed and operated in a specific orientation, and therefore should not be understood as limiting the present invention.
[0099] In addition, the terms "first", "second", etc. used in the embodiments of the present invention are only used for descriptive purposes and should not be understood as indicating or implying relative importance, or implicitly indicating the number of technical features indicated in the present embodiment. Therefore, the features defined by the terms "first", "second", etc. in the embodiments of the present invention can explicitly or implicitly indicate that the embodiment includes at least one of the features. In the description of the present invention, the word "multiple" means at least two or two or more, such as two, three, four, etc., unless otherwise clearly and specifically defined in the embodiments.
[0100] In the present invention, unless otherwise clearly specified or limited in the embodiments, the terms "installed", "connected", "connected" and "fixed" etc. in the embodiments should be understood in a broad sense. For example, the connection can be a fixed connection, a detachable connection, or an integrated connection. It can be understood that it can also be a mechanical connection, an electrical connection, etc.; of course, it can also be a direct connection, or an indirect connection through an intermediate medium, or it can be the internal connection of two elements, or the interaction relationship between two elements. For ordinary technicians in this field, the specific meanings of the above terms in the present invention can be understood according to the specific implementation situation.
[0101] In the present invention, unless otherwise clearly specified and limited, a first feature being "above" or "below" a second feature may mean that the first and second features are in direct contact, or the first and second features are in indirect contact through an intermediate medium. Moreover, a first feature being "above", "above" or "above" a second feature may mean that the first feature is directly above or obliquely above the second feature, or simply means that the first feature is higher in level than the second feature. A first feature being "below", "below" or "below" a second feature may mean that the first feature is directly below or obliquely below the second feature, or simply means that the first feature is lower in level than the second feature.
[0102] Although the embodiments of the present invention have been shown and described above, it is to be understood that the above embodiments are exemplary and are not to be construed as limitations of the present invention. A person skilled in the art may change, modify, replace and vary the above embodiments within the scope of the present invention.
Claims
1. An application control method, characterized in that: The method comprises the following steps: S100, obtaining server information; S200, determining a target server through server information; S300, obtaining the latest candidate application through the target server and determining the target application; S400, generating and sending usage information according to a target application to instruct the target application to use according to the target usage information.
2. The application control method according to claim 1, characterized in that: Acquiring server information in step S100 includes: filtering out matching servers from a database according to user request information, and further acquiring matching server information; wherein the server information includes the response time efficiency of the server, the number of requests to the server, and the number of concurrent users of the server.
3. The application control method according to claim 1, characterized in that: Determining the target server through the server information in step S200 includes: S201, after selecting matching servers from the database according to the user's request information, obtain the response time sequence TO of each matching server according to the response time after the server receives the user's request in the last hour; S202, dividing the response time into a first server response time range Tok1, a second server response time range Tok2, and a third server response time range Tok3 by calculating the variance of the response time series TO; S203, calculating the total request response time boundary KP1 and the concurrent response time boundary KP2 through the first server response time range Tok1, the second server response time range Tok2, and the third server response time range Tok3; S204, compare the sizes of the total request response time boundary KP1 and the concurrent response time boundary KP2. When KP1 is smaller than KP2, the server corresponding to the Pav(j) with the smallest absolute value subtracted from KP1 in the response time sequence TO is recorded as the target server; when KP2 is smaller than KP1, the server corresponding to the Pav(j) with the smallest absolute value subtracted from KP2 in the response time sequence TO is recorded as the target server.
4. The application control method according to claim 1, characterized in that: In step S300, the latest candidate application is obtained through the target server, and the target application is determined. The method of obtaining the latest candidate application is as follows: the system obtains the latest candidate application by connecting to the target server and determines the final target application; first, the system establishes a connection with the target server and requests to obtain a list of currently available applications on the server; Subsequently, the system screens the obtained application list and determines candidate applications based on user preferences; next, the system checks whether the candidate applications are the latest versions and can choose to update to the latest versions; finally, after screening and updating, the final target application is determined.
5. The application control method according to claim 1, characterized in that: In step S400, usage information is generated and sent according to the target application to instruct the target application to use according to the target usage information, wherein the usage information includes: usage duration: specifies the time the target application needs to run; traffic consumption: specifies the network traffic that the target application is allowed to consume during use; usage frequency: specifies the number of times the application needs to be started within a certain time period; resource consumption limit: includes CPU or memory usage, to ensure that the target application does not exceed certain resource limits when in use; sending usage information: after generating the usage information, the control end sends this information to the device of the controlled end to ensure that the target application runs in the specified manner.
6. An application control system, characterized in that: The application control system comprises: a processor, a memory, and a computer program stored in the memory and running on the processor, and the processor implements the steps of the application control method described in any one of claims 1 to 5 when executing the computer program.
Citation Information
Patent Citations
Application control methods, devices, electronic devices, and computer-readable storage media
CN114363461B
Server load control method and device
CN105933429A
Information processing method, client side and information processing system
CN108769101A
Application control method and device, electronic equipment and computer readable storage medium
CN114363461A
Request response method and device, equipment and storage medium
CN116155907A