CN115617517A - Data processing system for application pod control - Google Patents
Data processing system for application pod control Download PDFInfo
- Publication number
- CN115617517A CN115617517A CN202211248327.1A CN202211248327A CN115617517A CN 115617517 A CN115617517 A CN 115617517A CN 202211248327 A CN202211248327 A CN 202211248327A CN 115617517 A CN115617517 A CN 115617517A
- Authority
- CN
- China
- Prior art keywords
- sub
- application
- expanded
- target
- num
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000004044 response Effects 0.000 claims abstract description 5
- 108091093088 Amplicon Proteins 0.000 claims description 4
- 230000001960 triggered effect Effects 0.000 claims description 4
- 238000000034 method Methods 0.000 abstract description 31
- 230000006870 function Effects 0.000 description 8
- 101100517651 Caenorhabditis elegans num-1 gene Proteins 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000009825 accumulation Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 241000282326 Felis catus Species 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000013612 plasmid Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
The present application provides a data processing system for application pod control, comprising: the system comprises a control server and an application running server, wherein the control server is connected with the application running server; the application running server runs a plurality of applications, each application comprises a plurality of sub-applications, and each application has a unique calling port; the control server executes: in response to the set time, determining a plurality of sub-applications to be expanded from the plurality of sub-applications in the application running server; acquiring the corresponding to-be-expanded quantity of each to-be-expanded Rong Zi application; if the sum Num of the quantity to be expanded is max Determining a target sub-application to be expanded from the w sub-applications to be expanded; and sending a capacity expansion instruction to the application operation server so that the application operation server increases the number of the sub-applications to be subjected to capacity expansion for each target to be subjected to capacity expansion to be the corresponding pod to be subjected to capacity expansion. The method and the device can avoid the situation that the system is unstable due to the fact that the number of the integrally increased pod is too large in the same time.
Description
Technical Field
The present application relates to the field of data processing, and more particularly, to a data processing system for application pod control.
Background
Today, many applications are deployed directly on k8s (kubernets) systems. Such that each application's sub-application can run against its individual corresponding pod. However, each pod has an upper configuration limit, e.g., there is an upper limit to the maximum number of calls that can be supported in one minute of a pod. If the number of times the pod is called exceeds the upper limit in one minute, the problem of request failure of the call requests occurs. Therefore, in this case, many systems perform capacity expansion processing on the sub-application with an excessively high current call number, that is, increase the number of the pods corresponding to the sub-application.
However, if the number of pod increases excessively in the same time, the system may become unstable, and the overall call failure rate of the system may increase drastically.
Disclosure of Invention
In view of the above, the present application provides a data processing system for applying pod control that at least partially solves the problems in the prior art.
In an aspect of the present application, there is provided a data processing system for applying pod control, comprising: the system comprises a control server and an application running server, wherein the control server is connected with the application running server; the application running server runs a plurality of applications, each application comprises a plurality of sub-applications, and each application has a unique calling port; each sub-application has at least one pod uniquely corresponding to it.
The control server is configured to perform the steps of:
s100, determining a plurality of sub applications to be expanded from a plurality of sub applications in the application running server in response to the set time; the sub-application to be expanded is a sub-application which needs to increase the number of the pod corresponding to the sub-application.
S200, acquiring the number Num to be expanded corresponding to each Rong Zi application to be expanded 1 ,Num 2 ,...,Num e ,...,Num w E =1,2, · w; wherein w is the number of applications of the to-be-expanded plasmid, num e And applying the corresponding quantity to be expanded for the e-th Rong Zi to be expanded.
S300, if Num 1 +Num 2 +...+Num e +...+Num w >Num max Then, go to step S400; num max Is a preset expansion quantity threshold value.
S400, determining at least one target sub application to be expanded from the w sub applications to be expanded. The sum of the to-be-expanded quantities corresponding to the at least one target to-be-expanded Rong Zi application is less than or equal to Num max 。
And S500, sending a capacity expansion instruction to the application running server so that the application running server increases the pod number of each target sub-application to be subjected to capacity expansion to be the corresponding pod number to be subjected to capacity expansion.
According to the data processing system for application pod control, a plurality of sub applications to be expanded are determined from a plurality of sub applications in the application running server through the independently arranged control server. And when the to-be-expanded quantity corresponding to the to-be-expanded Rong Zi application is only equal to or greater than a preset expansion quantity threshold, determining at least one target to-be-expanded sub-application from the w to-be-expanded sub-applications, so as to ensure that the sum of the to-be-expanded quantities corresponding to the at least one target to-be-expanded Rong Zi application is less than or equal to Num max . Thus, even if the determined application to be expanded Rong Zi is corresponding to the quantity to be expanded which is only more than Num max In the meantime, the capacity expansion cannot be directly performed, so that the overall call failure rate of the system is greatly increased due to the fact that the number of the integrally increased pod is too large.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required to be used in the embodiments will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments of the present application, and it is obvious for those skilled in the art to obtain other drawings without creative efforts.
FIG. 1 is a flowchart illustrating steps performed by a control server in a data processing system for application pod control according to an embodiment of the present application;
fig. 2 is a schematic diagram of a call relation diagram in a data processing system for applying pod control according to an embodiment of the present application.
Detailed Description
The embodiments of the present application will be described in detail below with reference to the accompanying drawings.
It should be noted that, in the case of no conflict, the features in the following embodiments and examples may be combined with each other; moreover, all other embodiments that can be derived by one of ordinary skill in the art from the embodiments disclosed herein without making any creative effort fall within the scope of the present disclosure.
It is noted that various aspects of the embodiments are described below within the scope of the appended claims. It should be apparent that the aspects described herein may be embodied in a wide variety of forms and that any specific structure and/or function described herein is merely illustrative. Based on the disclosure, one skilled in the art should appreciate that one aspect described herein may be implemented independently of any other aspects and that two or more of these aspects may be combined in various ways. For example, an apparatus may be implemented and/or a method practiced using any number of the aspects set forth herein. Additionally, such an apparatus may be implemented and/or such a method may be practiced using other structure and/or functionality in addition to one or more of the aspects set forth herein.
The noun explains:
pod: in the kubernets cluster, a pod is the basis for all traffic types, also the minimum unit level for K8S management, which is a combination of one or more containers.
In an aspect of the present application, there is provided a data processing system for applying pod control, comprising: the system comprises a control server and an application running server, wherein the control server is connected with the application running server; the application running server runs a plurality of applications, each application comprises a plurality of sub-applications, and each application has a unique calling port. I.e. each application has only a common interface to external calls. The external device can realize the calling of the sub-application in the application by sending a calling request to the calling port.
Each sub-application has at least one pod uniquely corresponding thereto. The application running server may be a server in a Kubernetes cluster.
Referring to fig. 1, the control server is configured to perform the following steps:
s100, determining a plurality of sub applications to be expanded from a plurality of sub applications in the application running server in response to the set time; the sub-application to be expanded is a sub-application which needs to increase the number of the pod corresponding to the sub-application.
S200, acquiring the number Num to be expanded corresponding to each Rong Zi application to be expanded 1 ,Num 2 ,...,Num e ,...,Num w E =1,2, ·, w; wherein w is the number of applications of the amplicon to be amplified, num e And applying the corresponding quantity to be expanded for the e-th Rong Zi to be expanded.
S300, if Num 1 +Num 2 +...+Num e +...+Num w >Num max Then go to step S400; num max Is a preset expansion quantity threshold value.
S400, determining at least one target sub application to be expanded from the w sub applications to be expanded; the sum of the to-be-expanded quantities corresponding to the at least one target to-be-expanded Rong Zi application is less than or equal to Num max 。
And S500, sending a capacity expansion instruction to the application running server so that the application running server increases the pod number of each target sub-application to be subjected to capacity expansion to be the corresponding pod number to be subjected to capacity expansion.
The data processing system for application pod control provided by the embodimentAnd determining a plurality of sub applications to be expanded from the plurality of sub applications in the application running server through a separately arranged control server. And when the sum of the to-be-expanded quantities corresponding to the to-be-expanded Rong Zi applications is only larger than the preset expansion quantity threshold, determining at least one target to-be-expanded sub-application from the w to-be-expanded sub-applications, so as to ensure that the sum of the to-be-expanded quantities corresponding to the at least one target to-be-expanded Rong Zi applications is smaller than or equal to Num max . Thus, even if the determined application to be expanded Rong Zi is corresponding to the quantity to be expanded which is only more than Num max In the meantime, the capacity expansion cannot be directly performed, so that the overall call failure rate of the system is greatly increased due to the fact that the number of the integrally increased pod is too large.
In an exemplary embodiment of the present application, the step S400 includes the steps of:
s411, acquiring each application preset priority parameter A of Rong Zi to be expanded 1 ,A 2 ,...,A e ,...,A w (ii) a Wherein A is e And applying a corresponding preset priority parameter for the e-th Rong Zi to be expanded. The priority parameter may be preset by a worker according to the importance level of each sub-application, and the priority parameter is stored in the parameter table, and specifically, the greater the importance level of the sub-application is, the greater the priority parameter is.
S412, traverse A 1 ,A 2 ,...,A e ,...,A w If A is e If beta is more than or equal to beta, then A is added e Determining the corresponding sub-application to be expanded as the target sub-application to be expanded, otherwise, determining A e And determining the corresponding sub-application to be expanded as a candidate sub-application to be expanded. Beta is a preset priority parameter threshold. And determining the core sub-application and the basic sub-application through beta to screen out the core sub-application in the to-be-expanded sub-applications and preferentially expand the core sub-application.
S413, obtain a first target list MA = (MA) 1 ,MA 2 ,...,MA μ ,...,MA λ ) And a second target list MB = (MB) 1 ,MB 2 ,...,MB g ,...,MB h ) μ =1,2, λ, g =1,2, λ, h, λ + h = w. Wherein λ is the currently determined purposeMarking the number of the sub applications to be expanded, wherein h is the number of the candidate sub applications to be expanded which are determined currently; MA (MA) μ Applying the corresponding to-be-expanded quantity, MB, for the mu target to-be-expanded Rong Zi g And applying the corresponding to-be-expanded quantity for the g candidate to-be-expanded Rong Zi.
S414, if MA 1 +MA 2 +...+MA μ +...+MA λ <Num max Then, the process proceeds to step S420.
The step S414 further includes:
s4141, if MA 1 +MA 2 +...+MA μ +...+MA λ >Num max Then, the process proceeds to step S430.
If MA 1 +MA 2 +...+MA μ +...+MA λ <Num max It is stated that the application control server is also capable of carrying the bearer MA 1 +MA 2 +...+MA μ +...+MA λ An increase in the number of more pod. Otherwise, the same principle is applied.
S420, respectively obtaining the MB 1 ,MB 2 ,...,MB g ,...,MB h Corresponding candidate to-be-expanded Rong Zi applies corresponding calling chain length information DL 1 ,DL 2 ,...,DL g ,...,DL h (ii) a Wherein DL g Is MB g And the calling chain length information of the corresponding candidate sub-application to be expanded indicates that the maximum number of other called sub-applications can be triggered when the corresponding candidate sub-application to be expanded is called.
S421, for DL 1 ,DL 2 ,...,DL g ,...,DL h Sorting to obtain DL 1 1 ,DL 1 2 ,...,DL 1 g ,...,DL 1 h (ii) a Wherein DL 1 1 >DL 1 2 >...>DL 1 g >...>DL 1 h . I.e. in order of increasing priority parameter.
S422, determining the first quantity S.
Wherein DL 1 1 ,DL 1 2 ,...,DL 1 s The sum of the corresponding quantity to be expanded is more than Num target ,DL 1 1 ,DL 1 2 ,...,DL 1 s-1 The sum of the corresponding quantity to be expanded is less than or equal to Num target ,Num target =Num max -(MA 1 +MA 2 +...+MA μ +...+MA λ ) And s is less than h. S423, mixing DL 1 1 ,DL 1 2 ,...,DL 1 s-1 And determining the corresponding candidate sub-application to be expanded as the target sub-application to be expanded, and entering the step S500.
That is, in this embodiment, by the above method, the candidate sub-application to be expanded with a higher priority parameter can be determined again as the target sub-application to be expanded, so that the capacity expansion processing is increased as much as possible at the same time, and the number of pod added is increased more, and the overall increased number does not exceed Num max . Thus, it can be guaranteed that Num, which is not exceeded at an increased pod number max Under the condition, the expansion processing is preferentially carried out on the sub-application to be expanded with higher importance degree.
Specifically, the determination method of s may be: sequentially combine DL 1 1 ,DL 1 2 ,...,DL 1 g ,...,DL 1 h Accumulating one by one from front to back, and adding the accumulated result to Num after each accumulation target Comparing if it is less than or equal to Num target And continuing accumulation, if so, subtracting 1 from the current accumulation number to determine the value of s.
S430, obtain a third target list MC = (MC) 1 ,MC 2 ,...,MC μ ,...,MC λ ) (ii) a Wherein, MC μ Is MA μ The number of the corresponding adjusted number is, the tag is rounded down.
S431, traverse MA 1 ,MA 2 ,...,MA μ ,...,MA λ Let MA be μ =MC μ And proceeds to step S500.
Because the sub-applications to be expanded corresponding to the first target list are all core sub-applications, in order to ensure good operation of the system, the capacity expansion processing needs to be preferentially performed on the core sub-applications. But the sum of the to-be-expanded quantities corresponding to all the core sub-applications in the plurality of to-be-expanded sub-applications is more than Num max In this case, if some of the core sub-applications are selected from the first target list and deleted from the first target list, the whole application where the deleted core sub-application is located may have a large failure, which is not favorable for system operation. In this case, therefore, the present application passesThe numerical value of each quantity to be expanded in the first target list is reduced, and the sum of all quantities to be expanded in the third target list can be ensured to be less than or equal to Num by adopting rounding-down in the calculation process max And the situation that the numerical value is not an integer does not occur.
Therefore, the capacity expansion processing of each core sub-application in the plurality of sub-applications to be subjected to capacity expansion can be ensured, and the number of the integrally increased pod is not larger than Num max The situation of (1) occurs.
In some systems, all the sub-applications have substantially the same level, so that it is not necessary to distinguish whether the sub-applications are core sub-applications, in which case, it is obviously inappropriate to determine the target sub-application to be expanded by using the method in the foregoing embodiment, so the present application also provides the following embodiments to support the determination of the target sub-application to be expanded in the foregoing case.
In an exemplary embodiment of the present application, the step S400 includes the steps of:
s440, acquiring a target parameter D of each sub-application to be expanded 1 ,D 2 ,...,D e ,...,D w . Wherein D is e Applying corresponding target parameters for the e-th Rong Zi to be expanded; d e =(Qps1 e -Qps2 e )/Δt;Qps1 e Applying the first sub-time window for the e-th to-be-extended sub-setNumber of calls in the mouth, qps2 e And for the number of times that the e-th to-be-extended sub-application is called in a second sub-time window, the end time of the first sub-time window is the set time (namely the current time), the end time of the second sub-time window is the start time of the first sub-time window, and the lengths of the first sub-time window and the second sub-time window are both delta t.
Specifically, qps1 e And Qps2 e The method can be obtained by monitoring the call port corresponding to the application including the e-th sub-application to be expanded. The lengths of the first sub-time window and the second sub-time window can be set according to requirements, and in this embodiment, the lengths of the first sub-time window and the second sub-time window are 1 minute.
(Qps1 e -Qps2 e ) The/Δ t can be understood as being in a coordinate system with the vertical axis of the number of times the sub-application to be expanded is called and the horizontal axis of time. The slope corresponding to the first sub-time window can indicate the increase rate of the number of times that the e-th sub-application to be expanded is called, and the larger the value is, the more expansion processing is required.
S441, traverse Num 1 ,Num 2 ,...,Num e ,...,Num w Let Num e =Num max *D e /(D 1 +D 2 +...+D e +...,D w )。
And S442, determining each sub-application to be expanded as a target sub-application to be expanded.
In this embodiment, each application to be expanded Rong Zi is determined as a target sub-application to be expanded, and Num is set to be e =D e /(D 1 +D 2 +...+D e +...,D w ) And adjusting the corresponding quantity to be expanded of each application Rong Zi to be expanded. The sum of the adjusted quantity to be expanded is equal to Num max . Thus, the integrally increased pod number can be ensured not to be more than Num max Under the condition, capacity expansion processing is carried out on each sub-application to be subjected to capacity expansion, and more pod can be added to the sub-application to be subjected to capacity expansion with a faster called number increase rate, so that the system can operate more stably.
In an exemplary embodiment of the present application, the step S100 includes the steps of:
s110, obtaining a calling information vector N = (N) of the target application in a target time window 1 ,N 2 ,...,N i ,...,N x ) I =1,2,.. X; the target time window comprises x sub-time windows, the length of each sub-time window is the same, the end time of the x-th sub-time window is the current time, namely the end time of the target event window is also the current time. The length of the target time window is equal to the sum of the lengths of all the sub-time windows, and the step size is the length of one sub-time window. Specifically, in this embodiment, x =4 to 8, and preferably, x =4. Each sub-time window is 1-5 minutes in length, and preferably each sub-time window is 1 minute in length. In this embodiment, a new call information vector is obtained once every step of the target time window. The target application may be any of several applications.
N i The number of times of calling the calling port of the target application in the ith sub-time window is obtained. And determining a plurality of sub-applications of the target application as target sub-applications. When the calling port of the target application is called once, at least one target sub-application can be triggered to be called. That is, after the calling port receives a calling request, a plurality of target sub-applications can be called in the target application.
It can be understood that, in this embodiment, the xth sub-time window is the current sub-time window in the foregoing embodiment, and the xth-1 window is the first comparison sub-time window. The distinguishing designations are provided herein for convenience of understanding only and those skilled in the art should be able to fully understand the present disclosure.
S120, obtaining the calling coefficient Q of each target sub-application 1 ,Q 2 ,...,Q p ,...,Q z ,p=1,2,...,z;Q p A calling coefficient for the p-th target sub-application, z is the number of the target sub-applications of the target application, and the calling coefficient represents the corresponding target when the calling port of the target application is called onceProbability of a child application being invoked.
Specifically, the calling coefficient of each target sub-application may be determined by a preset calling relationship diagram of the target application. At least one call chain is included in the call relation diagram, and as shown in fig. 2, "target sub-application 1-target sub-application 4-target sub-application 9" is a call chain. In the call chain relationship diagram, each line segment has a corresponding line segment parameter, and the line segment parameter identifies the probability that the target sub-application on the right side of the line segment is called when the target sub-application/call port on the left side of the line segment corresponding to the line segment parameter is called (note that this probability is not the call coefficient in the foregoing). And the calling coefficient of each target sub-application needs to be determined through the calling chain where the target sub-application is located and the line segment parameters corresponding to all line segments located on the left side of the target sub-application in the calling chain. As in the call chain "target sub-application 1-target sub-application 4-target sub-application 9", the call coefficient of the target sub-application 1 is 0.3 (i.e., when the call port is called 1 time, the target sub-application 1 is called with a 30% probability). The calling coefficient of the target sub-application 4 is 0.3 × 0.6=0.18 (i.e., when the calling port is called 1 time, the target sub-application 4 has a probability of being called 30%).
In the calling relation graph, the line segment parameters corresponding to each line segment can be obtained by counting the data of the historical calling requests of the target application. In fig. 2, only the line segment parameters of some line segments are labeled, and the rest that are not labeled are only subjected to the concealment processing and do not represent that they have no corresponding line segment parameters.
In this embodiment, after the call port receives a call request, a plurality of target sub-applications can be called in the target application, so Q 1 +Q 2 +...+Q p +...+Q z ≥1。
S130, according to N and Q 1 ,Q 2 ,...,Q p ,...,Q z Determining to call a data table G; the G comprises z-th row data, and the p-th row data in the G is (G) p,1 ,G p,2 ,...,G p,i ,...,G p,x ),G p,i =Q p *N i ;G p,i The number of times the p-th target child application is called within the i-th child time window. Can be prepared byIt is understood that the size of G is x (number of columns) z (number of rows).
S141, determining a growth rate information table M according to G; m comprises z-th row data, and the p-th row data in M is (M) p,1 ,M p,2 ,...,M p,j ,...,M p,y ),M p,j =(G p,j+1 -G p,j )/G p,j ,j=1,2,...,y,y=x-1;M p,j Applying the call growth rate corresponding to the j +1 th sub-time window for the pth target sub-application;
s142, traversing each row of data of M in sequence, and if M is not the same p,1 ,M p,2 ,...,M p,j ,...,M p,y Are all greater than F 1 (G p,x ) Determining the target sub-application corresponding to the pth row of data as the sub-application to be expanded; wherein, F 1 () The function is determined for a preset growth rate threshold.
Specifically, in this example, F 1 (G p,x ) The following conditions are met:
if T0 is less than or equal to G p,x If < T1, then F 1 (G p,x )=K1;
If T1 is less than or equal to G p,x < T2, then F 1 (G p,x )=K2;
If T2 is less than or equal to G p,x If < T3, then F 1 (G p,x )=K2;
If T3 is less than or equal to G p,x If < T4, then F 1 (G p,x )=K3;
If T4 is less than or equal to G p,x If < T5, then F 1 (G p,x )=K3;
If T5 is less than or equal to G p,x Then F is 1 (G p,x )=K4;
Wherein T0, T1, T5 are all preset threshold values, and T1 < T2 > T5; k1 > K2 > K3 > K4. T1-T0 < T2-T1= T3-T2 < T4-T3 < T5-T4.
In this embodiment, by setting 6 preset thresholds T0, T1.. And T5, it can be realized that, for sub-applications whose current calling times are kept in different intervals, when determining the sub-applications to be expanded, the used growth rate thresholds are different. The method and the device enable the determination of the sub-application to be expanded to be more accurate and can be suitable for different types of sub-applications.
And each interval determined by setting the 6 preset thresholds to be T1-T0 < T2-T1= T3-T2 < T4-T3 < T5-T4 is more reasonable, and experimental data can show that the application of the to-be-expanded amplicon determined by the interval set in the way is more accurate.
Specifically, in order to determine the sub-applications to be expanded in all the applications, each application may be sequentially determined as a target application and the above steps may be performed, or at least some applications may be simultaneously determined as target applications in a parallel manner and the above steps may be performed separately.
In the application control method provided in this embodiment, the number of times that the call port of the target application is called in each sub-time window is obtained. And determining a calling data table G according to the calling coefficient (which can be preset) of each target sub-application. And calling a target sub-application corresponding to each line in the data table, wherein the data of one line comprises the calling coefficient of the target sub-application and the calling frequency of the calling port of the target application in each sub-time window, and the calling frequency of the target sub-application in each sub-time window is directly determined. And determining the call growth rate corresponding to each target sub-application from the 2 nd sub-time window to the x th sub-time window. And determining whether the target sub-application corresponding to each row needs capacity expansion (namely determining the sub-application to be subjected to capacity expansion) according to the data of each row in the M.
In summary, the application control method provided in this embodiment can directly and quickly determine the number of times of call of each target sub-application predicted in different sub-time windows according to the call coefficient. Therefore, the predicted calling times of each target sub-application in different sub-time windows can be quickly determined without analyzing each calling request received by the calling port of the target application. Therefore, the sub-application to be expanded can be determined according to the predicted calling condition of each target sub-application. The calculation amount of the determination process of the sub-application to be expanded is reduced, system resources are saved, and the instantaneity can be improved.
Meanwhile, in the present embodiment, in the determinationWhen the child application is to be expanded, the corresponding called times in the child time window corresponding to the current time are not directly used for direct determination. Instead, in M, the data of the same row are all greater than F 1 (G p,x ) Then, the target sub-application corresponding to the row is determined as the sub-application to be expanded. Therefore, unnecessary capacity expansion caused by the condition of only instantaneous or short-time calling surge can be avoided, the determination of the application of the to-be-expanded sub-system is more reasonable, and unnecessary system resource waste is reduced. In practical implementation, the staff can also quickly and flexibly adjust the determination rule applied by the sub-to-be-expanded by controlling the number of the sub-time windows in the target time window and the length of each sub-time window.
In an exemplary embodiment of the application, after the step S130, the control server is further configured to perform the following steps:
s151, obtaining a history calling information vector L = (L) of the target application in a history time window 1 ,L 2 ,...,L m ,...,L n ) M =1,2. The historical time window comprises n historical sub-time windows, the length of each historical sub-time window is the same and equal to the length of the sub-time window, the end time of the nth historical sub-time window is the current time, L m The number of times that the calling port of the target application is called in the mth history sub-time window. In particular, n is equal to 2 to 5 times x.
S152, according to L and Q 1 ,Q 2 ,...,Q p ,...,Q z Determining a historical calling data table V; v includes z-th row data, and the p-th row data in V is (V) p,1 ,V p,2 ,...,V p,m ,...,V p,n ),V p,m =Q p *L m ;V p,m The number of times that the pth target child application is called within the mth historical child time window;
s153, obtaining the maximum value MAX in each line of data in V 1 ,MAX 2 ,...,MAX p ,...,MAX z (ii) a Wherein, MAX p Is the maximum value in the p row data in V;
s154, sequentially traversing G 1,x ,G 2,x ,...,G p,x ,...G z,x If G is p,x >MAX p Then G will be p,x The corresponding target sub-application is determined as the sub-application to be expanded.
In this embodiment, MAX is passed 1 ,MAX 2 ,...,MAX p ,...,MAX z It can be reflected that the maximum number of times that each target sub-application is called within a sub-time window in the same historical event can be shown, and this data can indicate what the maximum number of times that the corresponding target sub-application is called under normal conditions, and if G is used p,x >MAX p Then, it indicates G p,x The number of times that the corresponding target sub-application is called in the sub-time window corresponding to the current time is too large, and thus the target sub-application needs to be determined as the sub-application to be expanded.
In this embodiment, steps S151 to S154 may be executed in parallel with steps S141 to S142 to determine the sub-application to be expanded in different ways. The determined to-be-expanded sub-application is more accurate and comprehensive.
In an exemplary embodiment of the present application, after the step S130, the control server is further configured to perform the following steps:
s161, obtaining the average calling number U corresponding to the target time interval of each target sub-application at the current time 1 ,U 2 ,...,U p ,...,U z . Wherein, U p And applying the average calling number corresponding to the target time interval of the current time for the pth target sub. In this embodiment, the target time periods may be 24, each of which may have a length of 1 hour, or 1440, each of which may have a length of 1 minute.
The average call quantity corresponding to each target time interval may be a call request received by the second data source in each target time interval for multiple days (multiple days before the current time) of the target application acquired from the first data source, and the actual call times of each target sub-application per day are counted according to the sub-application identifier in the call request. And then, each target sub is sequentially applied to a plurality of target time intervals corresponding to each day, and the average value (namely the average calling number) of the actual called times corresponding to each target time interval is obtained. It can be seen that the average number of calls is not a predicted value but an actual value, as compared to the "number of calls" in the foregoing scheme. However, since the calculation amount required for this actual value is large, only the statistics in the historical time are performed, not in real time. Thus, the first data source may be understood as a real-time data source and the second data source may be understood as an off-line data source. The first data source can ensure that the calling information vector is sent to the control server in real time so as to ensure that the sub-application to be expanded is rapidly determined.
Specifically, in this embodiment, the application control system further includes a first data source and a second data source, the control server is connected to the first data source and the second data source, and the first data source is simultaneously connected to the second data source and the application running server. The first data source may be a cat data source, and the second data source may be a prometheus data source.
The first data source is used for monitoring the called times of the calling port of each application in the application running server and the calling request received when each calling port is called.
The calling request comprises the sub-application identifications of all sub-applications which can be called by the calling of the corresponding calling port. That is, if the call triggers each target sub-application in the call chain "target sub-application 1-target sub-application 4-target sub-application 9", the call request includes the sub-application identifiers of the target sub-application 1, the target sub-application 4, and the target sub-application 9.
The second data source is used for determining the average calling quantity corresponding to each sub-application in each target time period according to the historical data in the first data source. The target time intervals are multiple and are connected with each other at the head in time sequence, and the sum of the lengths of the multiple target time intervals is 24 hours.
S162, sequentially traversing G 1,x ,G 2,x ,...,G p,x ,...G z,x If G is p,x >F 2 (G p,x )*U p Then G will be p,x Determining the corresponding target sub-application as a sub-application to be expanded, and entering step S700; wherein, F 2 () And determining a function for the preset call quantity multiple.
F 2 (G p,x ) The following conditions are met:
if T0 is less than or equal to G p,x If < T1, then F 2 (G p,x )=B1;
If T1 is less than or equal to G p,x < T2, then F 2 (G p,x )=B2;
If T2 is less than or equal to G p,x If < T3, then F 2 (G p,x )=B3;
If T3 is less than or equal to G p,x If < T4, then F 2 (G p,x )=B4;
If T4 is less than or equal to G p,x If < T5, then F 2 (G p,x )=B4;
If T5 is less than or equal to G p,x Then F is 1 (G p,x )=B4;
Wherein B1 > B2 > B3 > B4.
In this embodiment, when determining the sub-application to be expanded, the average call number corresponding to each target sub-application in the target period corresponding to the current time in the historical time may be quickly obtained through the second data source (since the second data source is determined offline in advance, the average call number may be quickly obtained). If G is p,x >F 2 (G p,x )*U p Then G can be determined p,x The number of times that the corresponding target sub-application is called in the sub-time window corresponding to the current time is too large, and capacity expansion processing needs to be performed.
At the same time, by F 2 () The method can realize that the multiple of the used call quantity is different when the sub-application of which the current call times are kept in different intervals is used for judging the sub-application to be expanded. The method and the device enable the determination of the sub-application to be expanded to be more accurate and can be suitable for different types of sub-applications.
Further, F 1 () And F 2 () The 6 preset thresholds are completely the same, so that two functions share one set of parameter configuration, and the method can saveThe system calculates the pressure, so that the method setting is more reasonable.
Specifically, in this embodiment, T0=50, T1=100, T2=200, T3=300, T4=500, and T5= 1000. K1=0.8, K2=0.4, K3=0.3, K4=0.2; b1=5, B2=2, B3=1.8, B4=1.4. Experimental data can show that the determined amplicon to be amplified can be applied more accurately by setting the numerical values.
In an exemplary embodiment of the present application, after determining the sub-applications to be expanded, the following steps may be performed to determine the corresponding quantity to be expanded (i.e., the quantity of the corresponding pod that needs to be increased) for each sub-application to be expanded Rong Zi application:
and determining the sub-application to be expanded from the plurality of sub-applications in the application running server. The sub-application to be expanded is a sub-application which needs to increase the number of the pod corresponding to the sub-application. The number of applications to be expanded may be plural. In the subsequent step, the following processing may be performed for any one of the applications to be expanded, or may be performed for each of the applications to be expanded in sequence.
And acquiring a call increment RM = Qps1-Qps2 corresponding to the to-be-expanded Rong Zi application. Wherein, qps1 is the number of times that the sub-application to be expanded is called in the current sub-time window, and Qps2 is the number of times that the sub-application to be expanded is called in the first comparison sub-time window; the end time of the current sub-time window is the current time, the end time of the first comparison sub-time window is the start time of the current sub-time window, and the lengths of the current sub-time window and the first comparison sub-time window are the same. Specifically, the Qps1 and the Qps2 may be obtained by monitoring a call port corresponding to an application including the sub-application to be extended. The lengths of the current sub-time window and the first comparison sub-time window may be set according to requirements, and in this embodiment, the lengths of the current sub-time window and the first comparison sub-time window are 1 minute.
Acquiring the number Num1= RM/Qps to be expanded t + J1+ R (RM/Qps 2); wherein, qps t Applying a corresponding maximum call number bearing upper limit of the pod for the Rong Zi to be expanded, wherein J1 is a preset parameter value, and RM/Qps2 is a current sub-time windowAnd applying a corresponding call growth rate to the to-be-expanded Rong Zi, wherein R () is a preset quantity determination function.
In particular, by RM/Qps t The determined quantity can meet the called requirement of the current sub-time window. And increasing J1, performing controllable capacity expansion quantity management to reserve enough buffer space for the sub-application to be subjected to capacity expansion. J1 and specific numerical values can be set according to actual requirements, and preset parameter values corresponding to different applications of Rong Zi to be expanded can be different.
Meanwhile, when the RM/Qps2 is greater than the preset determination threshold YG, R (RM/Qps 2) is a positive value, otherwise R (RM/Qps 2) is a negative value. That is, under the condition that the call growth rate is low, the final value of Num1 can be reduced through R (RM/Qps 2), so as to avoid the occurrence of the condition that the system resource is wasted due to excessive capacity expansion quantity. When the RM/Qps2 is higher, it can be shown that the situation that the number of times of calls continues to increase in the subsequent high probability of the sub-application to be expanded occurs, so that the final value of Num1 is increased by R (RM/Qps 2), and the situation of frequent expansion can be avoided. In this embodiment, YG =0.2-0.5. Preferably, YG =0.3.
And sending a capacity expansion instruction to the application operation server so that the application operation server increases Num1 corresponding pod for the sub-application to be subjected to capacity expansion.
In the application control system provided in this embodiment, after the control server determines the sub-application to be expanded, the control server may carry the upper limit Qps according to the maximum calling number of the pod corresponding to the current application to be expanded Rong Zi t Calling the increment RM corresponding to the current sub-time window, presetting a parameter value J1, and determining the expansion quantity of the basis. And determining a function according to the call growth rate RM/Qps2 corresponding to the current sub-time window and a preset quantity, and determining the quantity of the supplementary expansion. Therefore, the more reasonable number Num1 to be expanded can be accurately determined, and the application running server is controlled to increase Num1 corresponding pod for the sub-application to be expanded. The capacity expansion quantity is more accurate, and the situation that redundant pod occupies system resources due to excessive capacity expansion processing or the calling request cannot be effectively processed due to too small capacity expansion quantity is reduced.
The same sub-application or the sub-application to be expanded is frequently expanded within a certain time, which may cause the sub-application or the sub-application to be expanded to have operation fluctuation, and may increase the overall operation pressure of the system.
To solve the above problem, in an exemplary embodiment of the present application, after the step S400, the control server is further configured to perform the following steps:
and adding a setting identifier for the sub application to be extended. The sub-application to be expanded added with the setting identification cannot respond to the expansion instruction of the control server to increase the number of the corresponding pod; the effective duration of the set identifier is Time.
That is, in the time when the setting identifier is within the validity period, the sub-application to be expanded with the setting identifier cannot be automatically expanded by the control server according to the above steps. The situation that the same sub-application is subjected to capacity expansion frequently is avoided. The Time may be a preset fixed value, such as 3 minutes, 5 minutes, 10 minutes, and the like.
However, because the called times of each sub-application fluctuate or increase differently under different conditions, if the Time is set to a fixed value, the situation that the same sub-application is frequently expanded can be reduced, but if the called times of a sub-application to be expanded continuously and rapidly increase after the sub-application to be expanded is expanded, the calling fails and is greatly increased because the Time is too large and the automatic expansion cannot be performed in Time.
Thus, in an exemplary embodiment of the present application, time satisfies the following condition:
Time=Time0*(1-(RM-(Qps2-Qps3))/Δt);
the Time0 is a preset basic Time parameter, the Qps3 is the number of times that the to-be-companded sub-application is called in a second comparison sub-Time window, the end Time of the second comparison sub-Time window is the start Time of the first comparison sub-Time window, the lengths of the first and second comparison sub-Time windows are the same, and the Δ t is the length of the current Time window. 1 > RM- (Qps 2-Qps 3))/Δ t > 0.
Specifically, RM- (Qps 2-Qps 3))/Δ t can be understood as being in a coordinate system with the number of times the sub-application to be expanded is called as the vertical axis and time as the horizontal axis. The difference of the slopes corresponding to the current sub-time window and the first comparison sub-time window. If RM- (Qps 2-Qps 3))/Δ t is greater than 0, it indicates that the slope of the number of times that the sub-application to be expanded is called is increasing, and at this Time, it can be considered that the probability of the sub-application to be expanded continuously increases in the subsequent Time, so that the final value of Time can be reduced by Time0 × (1- (RM- (Qps 2-Qps 3))/Δ t), so that the sub-application to be expanded can timely recover the state of being automatically expanded even if a setting identifier is added. Otherwise, the final value of the Time can be increased, and the situation of frequent expansion is avoided.
In an exemplary embodiment of the present application, the application control server is further configured to perform the following steps:
in response to receiving an active capacity expansion instruction which is input by a user and aims at any sub-application to be expanded and has a set identifier, determining the sub-application to be expanded as a first sub-application to be expanded, and increasing the number of pods corresponding to the first sub-application to be expanded Rong Zi. Namely, after an active capacity expansion instruction actively input by a user is received, even if the sub-application to be expanded has the set identifier, the sub-application to be expanded can be expanded so as to ensure that manual intervention control can be performed when automatic capacity expansion cannot be effectively performed.
And setting the effective duration of the corresponding setting identifier applied by the first Rong Zi to be expanded as Time1.
The effective duration of the setting identifier applied to the first sub-expansion Rong Zi is updated to Time1, because after the manual intervention is performed for expansion, the number of the expansion is increased reasonably, so that the updating to Time1 can limit the first sub-expansion to be applied to Time1 not to be automatically expanded, and the operating pressure of the system is reduced.
Meanwhile, in this embodiment, time1 meets the following conditions;
Time1=Time0*Num2/Num3;
wherein Num2 is the number of the pod to be applied by the first to-be-expanded Rong Zi after the active capacity expansion instruction is executed; num3 is the number of the pod corresponding to the first to-be-expanded Rong Zi application before the active capacity expansion instruction is executed.
So set up, can so that the automatic determination is a reasonable effective duration, reduces because Time1 is too big, and can not be timely carry out automatic dilatation, leads to its call to fail the condition emergence of sharp increase.
Moreover, although the steps of the methods of the present disclosure are depicted in the drawings in a particular order, this does not require or imply that these steps must be performed in this particular order, or that all of the depicted steps must be performed, to achieve desirable results. Additionally or alternatively, certain steps may be omitted, multiple steps combined into one step execution, and/or one step broken down into multiple step executions, etc.
Through the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein may be implemented by software, or by software in combination with necessary hardware. Therefore, the technical solution according to the embodiments of the present disclosure may be embodied in the form of a software product, which may be stored in a non-volatile storage medium (which may be a CD-ROM, a usb disk, a removable hard disk, etc.) or on a network, and includes several instructions to enable a computing device (which may be a personal computer, a server, a mobile terminal, or a network device, etc.) to execute the method according to the embodiments of the present disclosure.
In an exemplary embodiment of the present disclosure, an electronic device capable of implementing the above method is also provided.
As will be appreciated by one skilled in the art, aspects of the present application may be embodied as a system, method or program product. Accordingly, various aspects of the present application may be embodied in the form of: an entirely hardware embodiment, an entirely software embodiment (including firmware, microcode, etc.) or an embodiment combining hardware and software aspects that may all generally be referred to herein as a "circuit," module "or" system.
An electronic device according to this embodiment of the present application. The electronic device is only an example, and should not bring any limitation to the function and the scope of use of the embodiments of the present application.
The electronic device is in the form of a general purpose computing device. Components of the electronic device may include, but are not limited to: the at least one processor, the at least one memory, and a bus connecting the various system components (including the memory and the processor).
Wherein the storage stores program code executable by the processor to cause the processor to perform steps according to various exemplary embodiments of the present application described in the "exemplary methods" section above.
The memory may include readable media in the form of volatile memory, such as Random Access Memory (RAM) and/or cache memory, and may further include Read Only Memory (ROM).
The storage may also include a program/utility having a set (at least one) of program modules including, but not limited to: an operating system, one or more application programs, other program modules, and program data, each of which, or some combination thereof, may comprise an implementation of a network environment.
The bus may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, a processor, or a local bus using any of a variety of bus architectures.
The electronic device may also communicate with one or more external devices (e.g., keyboard, pointing device, bluetooth device, etc.), with one or more devices that enable a user to interact with the electronic device, and/or with any devices (e.g., router, modem, etc.) that enable the electronic device to communicate with one or more other computing devices. Such communication may be through an input/output (I/O) interface. Also, the electronic device may communicate with one or more networks (e.g., a Local Area Network (LAN), a Wide Area Network (WAN), and/or a public network, such as the internet) via a network adapter. The network adapter communicates with other modules of the electronic device over the bus. It should be appreciated that although not shown in the figures, other hardware and/or software modules may be used in conjunction with the electronic device, including but not limited to: microcode, device drivers, redundant processors, external disk drive arrays, RAID systems, tape drives, and data backup storage systems, among others.
Through the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein may be implemented by software, or by software in combination with necessary hardware. Therefore, the technical solution according to the embodiments of the present disclosure may be embodied in the form of a software product, which may be stored in a non-volatile storage medium (which may be a CD-ROM, a usb disk, a removable hard disk, etc.) or on a network, and includes several instructions to enable a computing device (which may be a personal computer, a server, a terminal device, or a network device, etc.) to execute the method according to the embodiments of the present disclosure.
In an exemplary embodiment of the present disclosure, there is also provided a computer-readable storage medium having stored thereon a program product capable of implementing the above-described method of the present specification. In some possible embodiments, the various aspects of the present application may also be implemented in the form of a program product comprising program code for causing a terminal device to perform the steps according to various exemplary embodiments of the present application described in the above section "exemplary method" of this specification, when said program product is run on the terminal device.
The program product may employ any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. A readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples (a non-exhaustive list) of the readable storage medium include: an electrical connection having one or more wires, a portable disk, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
A computer readable signal medium may include a propagated data signal with readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A readable signal medium may also be any readable medium that is not a readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Program code for carrying out operations of the present application may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, C + + or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computing device, partly on the user's device, as a stand-alone software package, partly on the user's computing device and partly on a remote computing device, or entirely on the remote computing device or server. In the case of a remote computing device, the remote computing device may be connected to the user computing device through any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computing device (e.g., through the internet using an internet service provider).
Furthermore, the above-described figures are merely schematic illustrations of processes involved in methods according to exemplary embodiments of the present application, and are not intended to be limiting. It will be readily understood that the processes shown in the above figures are not intended to indicate or limit the chronological order of the processes. In addition, it is also readily understood that these processes may be performed synchronously or asynchronously, e.g., in multiple modules.
It should be noted that although in the above detailed description several modules or units of the device for action execution are mentioned, such a division is not mandatory. Indeed, the features and functionality of two or more modules or units described above may be embodied in one module or unit, according to embodiments of the present disclosure. Conversely, the features and functions of one module or unit described above may be further divided into embodiments by a plurality of modules or units.
The above description is only for the specific embodiments of the present application, but the scope of the present application is not limited thereto, and any changes or substitutions that can be easily conceived by those skilled in the art within the technical scope of the present application should be covered within the scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.
Claims (9)
1. A data processing system for applying pod control, comprising: the system comprises a control server and an application running server, wherein the control server is connected with the application running server; the application running server runs a plurality of applications, each application comprises a plurality of sub-applications, and each application has a unique calling port; each sub-application has at least one pod uniquely corresponding thereto;
the control server is used for executing the following steps:
s100, determining a plurality of sub applications to be expanded from a plurality of sub applications in the application running server in response to the set time; the sub-application to be expanded is a sub-application which needs to increase the number of the corresponding pod;
s200, acquiring the number Num to be expanded corresponding to each Rong Zi application to be expanded 1 ,Num 2 ,...,Num e ,...,Num w E =1,2, ·, w; wherein w is the number of applications of the amplicon to be amplified, num e Applying the corresponding to-be-expanded quantity for the e-th to-be-expanded Rong Zi;
s300, if Num 1 +Num 2 +...+Num e +...+Num w >Num max Then, go to step S400; num max Is a preset expansion quantity threshold;
s400, determining at least one target sub application to be expanded from the w sub applications to be expanded; the sum of the to-be-expanded quantities corresponding to the Rong Zi application of at least one target to be expanded is less than or equal to Num max ;
And S500, sending a capacity expansion instruction to the application running server so that the application running server increases the pod number of each target sub-application to be subjected to capacity expansion to be the corresponding pod number to be subjected to capacity expansion.
2. The data processing system for application pod control as claimed in claim 1, wherein the step S400 comprises the steps of:
s411, acquiring each application preset priority parameter A of Rong Zi to be expanded 1 ,A 2 ,...,A e ,...,A w (ii) a Wherein, A e Applying a corresponding preset priority parameter for the e-th Rong Zi to be expanded;
s412, traverse A 1 ,A 2 ,...,A e ,...,A w If A is e If not less than beta, then A is e Determining the corresponding sub-application to be expanded as the target sub-application to be expanded, otherwise, determining A e Determining the corresponding sub-application to be expanded as a candidate sub-application to be expanded; beta is a preset priority parameter threshold;
s413, obtain a first target list MA = (MA) 1 ,MA 2 ,...,MA μ ,...,MA λ ) And a second target list MB = (MB) 1 ,MB 2 ,...,MB g ,...,MB h ) μ =1,2., λ, g =1,2., h, λ + h = w; wherein, λ is the number of the currently determined target to-be-expanded sub-applications, and h is the number of the currently determined candidate to-be-expanded sub-applications; MA (MA) μ Applying the corresponding to-be-expanded quantity, MB, for the mu target to-be-expanded Rong Zi g Applying the corresponding to-be-expanded quantity for the g candidate to-be-expanded Rong Zi;
s414, if MA 1 +MA 2 +...+MA μ +...+MA λ <Num max Then, go to step S420;
s420, respectively obtaining the MB 1 ,MB 2 ,...,MB g ,...,MB h Corresponding candidate to-be-expanded Rong Zi applies corresponding calling chain length information DL 1 ,DL 2 ,...,DL g ,...,DL h (ii) a Wherein DL g As MB g Calling chain length information of the corresponding candidate to-be-augmented sub-application, wherein the calling chain length information represents the maximum number of other called sub-applications which can be triggered when the corresponding candidate to-be-augmented sub-application is called;
s421, for DL 1 ,DL 2 ,...,DL g ,...,DL h Sorting to obtain DL 1 1 ,DL 1 2 ,...,DL 1 g ,...,DL 1 h (ii) a Wherein DL 1 1 >DL 1 2 >...>DL 1 g >...>DL 1 h ;
S422, determining a first quantity S;
wherein DL 1 1 ,DL 1 2 ,...,DL 1 s The sum of the corresponding quantity to be expanded is more than Num target ,DL 1 1 ,DL 1 2 ,...,DL 1 s-1 The sum of the corresponding quantity to be expanded is less than or equal to Num target ,Num target =Num max -(MA 1 +MA 2 +...+MA μ +...+MA λ ),s<h;
S423, mixing DL 1 1 ,DL 1 2 ,...,DL 1 s-1 And determining the corresponding candidate sub-application to be expanded as the target sub-application to be expanded, and entering the step S500.
3. The data processing system for application pod control as claimed in claim 2, wherein the step S414, further comprises:
s4141, if MA 1 +MA 2 +...+MA μ +...+MA λ >Num max Step S430 is entered;
s430, obtain a third target list MC = (MC) 1 ,MC 2 ,...,MC μ ,...,MC λ ) (ii) a Wherein, MC μ Is MA μ The number of the corresponding adjusted number is,
s431, traverse MA 1 ,MA 2 ,...,MA μ ,...,MA λ Let MA be μ =MC μ And proceeds to step S500.
4. The data processing system for applying pod control as claimed in claim 1, wherein the step S400 comprises the steps of:
s440, acquiring a target parameter D of each sub-application to be expanded 1 ,D 2 ,...,D e ,...,D w (ii) a Wherein D is e Applying corresponding target parameters for the e-th Rong Zi to be expanded; d e =(Qps1 e -Qps2 e )/Δt;Qps1 e For the number of times the e-th to-be-extended sub-application is called within the first sub-time window, qps2 e The number of times that the e-th to-be-extended sub-application is called in a second sub-time window is obtained, the end time of the first sub-time window is the set time, the end time of the second sub-time window is the start time of the first sub-time window, and the lengths of the first sub-time window and the second sub-time window are both delta t;
s441, traverse Num 1 ,Num 2 ,...,Num e ,...,Num w Let Num e =Num max *D e /(D 1 +D 2 +...+D e +...,D w );
And S442, determining each sub-application to be expanded as a target sub-application to be expanded.
5. The data processing system for application pod control as claimed in claim 1, wherein the step S100, comprises the steps of:
s110, responding to the set time and obtaining the calling information vector N = (N) of the target application in the target time window 1 ,N 2 ,...,N i ,...,N x ) I =1,2, ·, x; wherein the target time window comprises x sub-time windows, the length of each sub-time window is the same, the end time of the x sub-time window is the current time, N i The number of times of calling the calling port of the target application in the ith sub-time window is called; the target application is any one of the plurality of applications; determining a plurality of sub-applications of the target application as target sub-applications; when the calling port of the target application is called once, at least one target sub-application can be triggered to be called;
s120, obtaining the calling coefficient Q of each target sub-application 1 ,Q 2 ,...,Q p ,...,Q z ,p=1,2,...,z;Q p The calling coefficient is the calling coefficient of the p-th target sub-application, z is the number of the target sub-applications of the target application, and the calling coefficient represents the probability that the corresponding target sub-application is called when the calling port of the target application is called once; q 1 +Q 2 +...+Q p +...+Q z ≥1;
S130, according to N and Q 1 ,Q 2 ,...,Q p ,...,Q z Determining to call a data table G; the G comprises z-th row data, and the p-th row data in the G is (G) p,1 ,G p,2 ,...,G p,i ,...,G p,x ),G p,i =Q p *N i ;G p,i The number of times that the p-th target sub-application is called in the i-th sub-time window;
s141, determining a growth rate information table M according to G; m comprises z-th row of data, and the p-th row of data in M is (M) p,1 ,M p,2 ,...,M p,j ,...,M p,y ),M p,j =(G p,j+1 -G p,j )/G p,j ,j=1,2,...,y,y=x-1;M p,j Applying a call growth rate corresponding to the j +1 th sub-time window for the pth target sub-application;
s142, traversing each row of data of M in sequence, and if M is not the same p,1 ,M p,2 ,...,M p,j ,...,M p,y Are all greater than F 1 (G p,x ) If yes, determining the target sub-application corresponding to the p-th row of data as the sub-application to be expanded; wherein, F 1 () The function is determined for a preset growth rate threshold.
6. The data processing system for application pod control of claim 4, wherein after the step S130, the control server is further configured to perform the steps of:
s151, obtaining a history calling information vector L = (L) of the target application in a history time window 1 ,L 2 ,...,L m ,...,L n ) M =1,2,.., n, n > x; the historical time window comprises n historical sub-time windows, the length of each historical sub-time window is the same and equal to the length of the sub-time window, the end time of the nth historical sub-time window is the current time, L m The number of times of calling the calling port of the target application in the mth historical sub-time window is called;
s152, according to L and Q 1 ,Q 2 ,...,Q p ,...,Q z Determining a historical calling data table V; v includes z-th row data, and the p-th row data in V is (V) p,1 ,V p,2 ,...,V p,m ,...,V p,n ),V p,m =Q p *L m ;V p,m The number of times that the pth target child application is called within the mth historical child time window;
s153, obtaining the maximum value MAX in each line of data in V 1 ,MAX 2 ,...,MAX p ,...,MAX z (ii) a Wherein, MAX p Is the maximum value in the p row data in V;
s154, sequentially traversing G 1,x ,G 2,x ,...,G p,x ,...G z,x If G is p,x >MAX p Then G will be p,x The corresponding target sub-application is determined as the sub-application to be expanded.
7. The data processing system for application pod control of claim 6, wherein after the step S130, the control server is further configured to perform the steps of:
s161, obtaining the average calling number U corresponding to the target time interval of each target sub-application at the current time 1 ,U 2 ,...,U p ,...,U z (ii) a Wherein, U p Applying the average calling number corresponding to the target time interval of the current time for the pth target sub;
s162, sequentially traversing G 1,x ,G 2,x ,...,G p,x ,...G z,x If G is p,x >F 2 (G p,x )*U p Then G will be p,x Determining the corresponding target sub-application as a sub-application to be expanded, and entering step S700; wherein, F 2 () And determining a function for the preset call quantity multiple.
8. The data processing system for application pod control as claimed in claim 7, wherein F is 1 (G p,x ) The following conditions are met:
if T0 is less than or equal to G p,x If < T1, then F 1 (G p,x )=K1;
If T1 is less than or equal to G p,x If < T2, then F 1 (G p,x )=K2;
If T2 is less than or equal to G p,x If < T3, then F 1 (G p,x )=K2;
If T3 is less than or equal to G p,x If < T4, then F 1 (G p,x )=K3;
If T4 is less than or equal to G p,x If < T5, then F 1 (G p,x )=K3;
If T5 is less than or equal to G p,x Then F is 1 (G p,x )=K4;
Wherein T0, T1, T5 are all preset threshold values, and T1 < T2 > T5; k1 > K2 > K3 > K4.
9. The data processing system for application pod control as claimed in claim 8, wherein F is 2 (G p,x ) SymbolThe following conditions were applied:
if T0 is less than or equal to G p,x If < T1, then F 2 (G p,x )=B1;
If T1 is less than or equal to G p,x < T2, then F 2 (G p,x )=B2;
If T2 is less than or equal to G p,x If < T3, then F 2 (G p,x )=B3;
If T3 is less than or equal to G p,x If < T4, then F 2 (G p,x )=B4;
If T4 is less than or equal to G p,x If < T5, then F 2 (G p,x )=B4;
If T5 is less than or equal to G p,x Then F is 1 (G p,x )=B4;
Wherein B1 > B2 > B3 > B4.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211248327.1A CN115617517B (en) | 2022-10-12 | 2022-10-12 | Data processing system for applying pod control |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211248327.1A CN115617517B (en) | 2022-10-12 | 2022-10-12 | Data processing system for applying pod control |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115617517A true CN115617517A (en) | 2023-01-17 |
CN115617517B CN115617517B (en) | 2023-11-10 |
Family
ID=84861939
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211248327.1A Active CN115617517B (en) | 2022-10-12 | 2022-10-12 | Data processing system for applying pod control |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115617517B (en) |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140365554A1 (en) * | 2013-06-07 | 2014-12-11 | Apple Inc | Distributed control over client-side requests for server resources |
CN108769100A (en) * | 2018-04-03 | 2018-11-06 | 郑州云海信息技术有限公司 | A kind of implementation method and its device based on kubernetes number of containers elastic telescopics |
CN109471725A (en) * | 2018-10-24 | 2019-03-15 | 新华三大数据技术有限公司 | Resource allocation methods, device and server |
CN111464355A (en) * | 2020-03-31 | 2020-07-28 | 北京金山云网络技术有限公司 | Method and device for controlling expansion capacity of Kubernetes container cluster and network equipment |
US20210011812A1 (en) * | 2019-07-10 | 2021-01-14 | Commvault Systems, Inc. | Preparing containerized applications for backup using a backup services container and a backup services container-orchestration pod |
CN112559186A (en) * | 2020-12-22 | 2021-03-26 | 北京云思畅想科技有限公司 | Novel Kubernetes container resource expansion and contraction method |
CN112835685A (en) * | 2021-03-31 | 2021-05-25 | 中国工商银行股份有限公司 | Container memory adjusting method and device |
CN112882794A (en) * | 2021-02-25 | 2021-06-01 | 重庆紫光华山智安科技有限公司 | pod capacity expansion method, device, node and storage medium |
CN113051075A (en) * | 2021-03-23 | 2021-06-29 | 烽火通信科技股份有限公司 | Kubernetes intelligent capacity expansion method and device |
KR102318533B1 (en) * | 2020-06-29 | 2021-10-28 | 인하대학교 산학협력단 | Method and System for GPU-based Embedded Edge Server Configuration and Neural Network Service Utilization |
CN114064199A (en) * | 2021-09-29 | 2022-02-18 | 浪潮软件科技有限公司 | Cluster capacity management method and system |
CN114090176A (en) * | 2021-11-19 | 2022-02-25 | 苏州博纳讯动软件有限公司 | Kubernetes-based container scheduling method |
CN114116187A (en) * | 2020-08-26 | 2022-03-01 | 中国电信股份有限公司 | Dynamic capacity expansion method and device for container resources |
CN114296867A (en) * | 2021-12-17 | 2022-04-08 | 山东海量信息技术研究院 | Container operation method and system of cloud platform and related device |
CN114443619A (en) * | 2022-01-27 | 2022-05-06 | 中国电信股份有限公司 | Database capacity expansion method and device, electronic equipment and storage medium |
CN114615340A (en) * | 2022-03-08 | 2022-06-10 | 北京字节跳动网络技术有限公司 | Request processing method and device, computer equipment and storage device |
CN114942844A (en) * | 2022-05-11 | 2022-08-26 | 浪潮云信息技术股份公司 | MySQL database elastic expansion method and system based on cloud platform |
US20220278927A1 (en) * | 2021-03-01 | 2022-09-01 | Juniper Networks, Inc. | Data interfaces with isolation for containers deployed to compute nodes |
-
2022
- 2022-10-12 CN CN202211248327.1A patent/CN115617517B/en active Active
Patent Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140365554A1 (en) * | 2013-06-07 | 2014-12-11 | Apple Inc | Distributed control over client-side requests for server resources |
CN108769100A (en) * | 2018-04-03 | 2018-11-06 | 郑州云海信息技术有限公司 | A kind of implementation method and its device based on kubernetes number of containers elastic telescopics |
CN109471725A (en) * | 2018-10-24 | 2019-03-15 | 新华三大数据技术有限公司 | Resource allocation methods, device and server |
US20210011812A1 (en) * | 2019-07-10 | 2021-01-14 | Commvault Systems, Inc. | Preparing containerized applications for backup using a backup services container and a backup services container-orchestration pod |
CN111464355A (en) * | 2020-03-31 | 2020-07-28 | 北京金山云网络技术有限公司 | Method and device for controlling expansion capacity of Kubernetes container cluster and network equipment |
KR102318533B1 (en) * | 2020-06-29 | 2021-10-28 | 인하대학교 산학협력단 | Method and System for GPU-based Embedded Edge Server Configuration and Neural Network Service Utilization |
CN114116187A (en) * | 2020-08-26 | 2022-03-01 | 中国电信股份有限公司 | Dynamic capacity expansion method and device for container resources |
CN112559186A (en) * | 2020-12-22 | 2021-03-26 | 北京云思畅想科技有限公司 | Novel Kubernetes container resource expansion and contraction method |
CN112882794A (en) * | 2021-02-25 | 2021-06-01 | 重庆紫光华山智安科技有限公司 | pod capacity expansion method, device, node and storage medium |
US20220278927A1 (en) * | 2021-03-01 | 2022-09-01 | Juniper Networks, Inc. | Data interfaces with isolation for containers deployed to compute nodes |
CN113051075A (en) * | 2021-03-23 | 2021-06-29 | 烽火通信科技股份有限公司 | Kubernetes intelligent capacity expansion method and device |
CN112835685A (en) * | 2021-03-31 | 2021-05-25 | 中国工商银行股份有限公司 | Container memory adjusting method and device |
CN114064199A (en) * | 2021-09-29 | 2022-02-18 | 浪潮软件科技有限公司 | Cluster capacity management method and system |
CN114090176A (en) * | 2021-11-19 | 2022-02-25 | 苏州博纳讯动软件有限公司 | Kubernetes-based container scheduling method |
CN114296867A (en) * | 2021-12-17 | 2022-04-08 | 山东海量信息技术研究院 | Container operation method and system of cloud platform and related device |
CN114443619A (en) * | 2022-01-27 | 2022-05-06 | 中国电信股份有限公司 | Database capacity expansion method and device, electronic equipment and storage medium |
CN114615340A (en) * | 2022-03-08 | 2022-06-10 | 北京字节跳动网络技术有限公司 | Request processing method and device, computer equipment and storage device |
CN114942844A (en) * | 2022-05-11 | 2022-08-26 | 浪潮云信息技术股份公司 | MySQL database elastic expansion method and system based on cloud platform |
Also Published As
Publication number | Publication date |
---|---|
CN115617517B (en) | 2023-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110297711B (en) | Batch data processing method, device, computer equipment and storage medium | |
CN112650576B (en) | Resource scheduling method, device, equipment, storage medium and computer program product | |
EP3758325B1 (en) | Traffic limiting method, node and system | |
US10417062B2 (en) | Method and apparatus of unloading out of memory processing flow to user space | |
JP2011076604A (en) | Work queue selection method, system, and computer program | |
CN110109741B (en) | Method and device for managing circular tasks, electronic equipment and storage medium | |
US20160357623A1 (en) | Abnormality detection method and information processing apparatus | |
CN114531373A (en) | Node state detection method, node state detection device, equipment and medium | |
EP4242842A1 (en) | Thread priority adjusting method, terminal, and computer readable storage medium | |
CN110674149B (en) | Service data processing method and device, computer equipment and storage medium | |
CN115617517A (en) | Data processing system for application pod control | |
US20200305301A1 (en) | Method for remotely clearing abnormal status of racks applied in data center | |
CN115454680B (en) | Application control system | |
CN115562889A (en) | Application control method, electronic device and storage medium | |
KR20210029417A (en) | Storage system having cache and method for processing data thereby | |
CN111309456A (en) | Task execution method and system | |
US12008396B2 (en) | Application state control method apparatus, and terminal and computer-readable storage medium | |
JP4485560B2 (en) | Computer system and system management program | |
CN114816866A (en) | Fault processing method and device, electronic equipment and storage medium | |
CN114116203A (en) | Resource calling control method, resource calling control device and storage medium | |
US12032429B2 (en) | Application program freezing control method and apparatus, terminal, and readable storage medium | |
CN112291288B (en) | Container cluster expansion method and device, electronic equipment and readable storage medium | |
CN117493024B (en) | Multi-process heterogeneous program migration method, storage medium and electronic equipment | |
CN110874430A (en) | Network crawler scheduling method, device and equipment | |
CN112527540B (en) | Method and device for realizing automatic degradation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |