Summary of the invention
In order to solve above-mentioned shortcoming of the prior art and problem the present invention is proposed.
According to an aspect, the present invention proposes a kind of unfailing performance supervisory system, comprise: application server is used for moving monitored application, the performance-related information of described monitored application is recorded to daily record data in performance log store module and the described performance log store of the timed sending module; The log transmission platform be used for to receive the daily record data that sends from described application server and according to the subscription of performance evaluation server described daily record data is sent at least two performance Analysis servers; The task management center is used for needing task to be processed to each described performance evaluation server-assignment; And at least two performance Analysis servers, be used for carrying out the task of distributing, so that described daily record data is carried out analyzing and processing, obtain the performance statistics.
Alternatively, each described performance evaluation server deploy master's performance evaluation module and auxiliary performance evaluation module, under normal circumstances, described main performance evaluation module will be carried out; When the performance evaluation server at main performance evaluation module place is delayed machine, perhaps because other reasons causes all or a part of task that can not provide that when service, described auxiliary performance evaluation module will be assigned with that described main performance evaluation module bears.
Alternatively, independent deployment task distribution module on each described performance evaluation server, and described task management center is come to need task to be processed to described performance evaluation server-assignment by described task distribution module.
Alternatively, described task management module is registered to described task management center, the task that the performance evaluation server that is deployed with described task management module will be distributed in described task management center returns to described task management module, described task management module writes the task allocate file with the task of distributing, the performance evaluation module reads described task allocate file and determines the task that oneself will be carried out before carrying out the performance evaluation statistics at every turn.
Alternatively, when a described performance evaluation server was delayed machine, the performed task of performance evaluation server of the machine of delaying was carried out at described task management center according to other described performance evaluation servers of the selections such as algorithm or configuration file.
Alternatively, call the task management module assignment new task of described other task analysis server deploy.
Alternatively, described application server comprises daily record extraction agency, is used for regularly reading incremental update and transmission from described performance log store module.
According to another aspect of the present invention, the present invention proposes a kind of unfailing performance method for supervising, comprising: monitored application is recorded to performance log store module with performance-related information; The described monitored daily record data that regularly will be stored in the described performance log store module of using sends to the log transmission platform; Described log transmission platform sends at least two performance Analysis servers according to the subscription of performance evaluation server with described daily record data; Each described performance evaluation server is carried out the task that described task management center is distributed; And when a described performance evaluation server was delayed machine, will the delay task of performance evaluation server of machine of described task management center was distributed to other performance evaluation servers.
Alternatively, described task management center is come to performance Analysis server allocating task by the task distribution module that is deployed on the performance evaluation server.
Alternatively, behind the performance evaluation startup of server, the task management module is registered to the task management center, the task that this performance evaluation server will be distributed in the task management center returns to the task management module, the task management module writes the task allocate file with the task of distributing, before the performance evaluation module was carried out the performance evaluation statistics at every turn, the task allocate file of reading was determined the task that oneself will be carried out.
Alternatively, when a performance Analysis server is delayed machine, the task that described task management center will select other performance evaluation servers to carry out to delay machine performance evaluation server to carry out according to algorithm or configuration file, wherein, take on the performance evaluation server at performance evaluation module place of execution performance analysis task, must subscribe to the performance daily record of wanting analytical applications.
Alternatively, extract the agency by daily record and regularly from described performance log store module, read incremental update and transmission.
Embodiment
Provide with reference to the accompanying drawings the following describes to help complete understanding example embodiment of the present invention.It comprises various details to help understanding, and they should be thought it only is exemplary.Therefore, those of ordinary skills will be appreciated that, can make various changes and modification to the embodiments described herein, and can not deviate from scope and spirit of the present invention.Equally, for clarity and conciseness, omitted the description to known function and structure.
Can solve the single-point problem of performance monitoring according to unfailing performance supervisory system of the present invention and method, when a performance monitoring server is delayed machine, can proceed monitoring by other performance monitoring servers, guarantee that monitor service do not interrupt.
Describe below with reference to the accompanying drawings the present invention in detail.
Fig. 1 is that diagram is according to the block diagram of unfailing performance supervisory system of the present invention.
As shown in fig. 1, unfailing performance supervisory system according to the present invention comprises application server 110, log transmission platform 120, at least two performance Analysis servers 130 and task management center 140.
Although figure 1 illustrates two application server 110-1 and 110-2, can comprise still less or more application server.The monitored application 112 of each application server 110 operations, the performance-related information of monitored application 112 is recorded to for example performance daily record of performance log store module 114() in and the daily record data in the timed sending performance log store module 114.
Can be when monitored application 112 be performed, call suitable method or interface is recorded to performance-related information in the performance log store module 114 by monitored application 112.Performance-related information can comprise to be carried out start time, complete time etc.
In addition, can extract agency's 116 daily record datas that come in the timed sending performance log store module 114 by daily record.Preferably, daily record is extracted agency 116 and regularly read incremental update and transmission from performance log store module 114.
Log transmission platform (or message-oriented middleware) 120 receives the daily record data that sends from application server 110 and according to the subscription of described at least two performance Analysis servers 130 daily record data is sent to the performance evaluation server.
The task to be processed that needs is distributed to each performance evaluation server 130 in task management center 140.For example, all tasks that will distribute can be read from database in task management center 140, and guarantee that when allocating task all application on each application server can carry out the performance evaluation statistics, and keep under normal conditions the load of each performance evaluation server in a basic balance.Significantly, allocating task can be come according to other rules in task management center 140, such as the factors such as performance based on each performance evaluation server.In addition, when a performance Analysis server is delayed machine, when perhaps other reasons caused main performance evaluation module that service can not be provided, the performance evaluation server that other record corresponding daily record data was distributed to the task of this task analysis server in task management center 140.For example, can find that a performance Analysis server breaks down by the viability supervisory system, and notice task management center.
Performance evaluation server 130 is carried out each task of distributing, and daily record data is carried out analyzing and processing, obtains the performance statistics.For example, carry out a performance evaluation every predetermined amount of time (for example per minute).In addition, performance evaluation server 130 can be stored in analysis result in the database, thereby can obtain relevant information by display systems.For example, the performance evaluation server stores analysis result in the outside storage system in (database, nosql database).When being assigned to new task (for example, when other performance evaluation servers are delayed machine by the new task of task management central dispense), the performance evaluation server can find the ultimate analysis result from inventory analysis result's storage system (database, nosql database), according to ultimate analysis result's time, proceed statistical analysis of performance.
Two performance analysis modules of each performance evaluation server 130 deploy shown in Figure 1, i.e. main performance evaluation module 132 and auxiliary performance evaluation module 134.Under normal circumstances, main performance evaluation module will be carried out; When an other performance evaluation server is delayed machine, auxiliary performance evaluation module 134 will be assigned with former cause task or the part (for example, in the situation that comprises three or more performance evaluation servers) that the performance evaluation server of machine bears of delaying.Although two performance analysis modules of each performance evaluation server deploy (for the single-thread performance analysis module) in Fig. 1, but for the multi-threading performance analysis module, only need a performance analysis module, and in order to increase reliability, also can dispose more performance evaluation modules.
In order to improve development efficiency and system, coupled degree, independent deployment task distribution module 136 on each performance evaluation server.Task management center 140 is distributed the task to be processed that needs by task distribution module 136 to performance Analysis server 130.For example, after a performance Analysis server started, at first task management module was to the registration of task management center, and the information of registration can comprise quantity and the title of performance evaluation module; Then the task management center task of will distribute to this performance evaluation server returns to the task management module; The task management module writes the task allocate file with the task of distributing; The performance evaluation module reads the task allocate file before carrying out the performance evaluation statistics at every turn, determines the task that oneself will be carried out, and carries out this performance evaluation statistics.In addition, when (for example by the viability supervisory system) finds that a performance Analysis server is delayed machine, the task that the machine server of delaying is carried out will be carried out according to performance Analysis server of the selections such as algorithm or configuration file in the task management center, wherein call the task management module assignment new task of this task analysis server deploy, then carrying out said process (is that the task that this performance evaluation server will be distributed in the task management center returns to the task management module; The task management module writes the task allocate file with the task of distributing; The performance evaluation module reads the task allocate file before carrying out the performance evaluation statistics at every turn, determines the task that oneself will be carried out, and carries out this performance evaluation statistics).
Fig. 2 is that diagram is according to the process flow diagram of unfailing performance method for supervising of the present invention.
As shown in Figure 2, the method starts from step 210.
In step 210, monitored application is recorded to performance log store module with performance-related information.For example, when monitored application was performed, method or the interface suitable by monitored application call were recorded to performance-related information in the performance log store module, and performance-related information can comprise to be carried out start time, complete time etc.
In step 220, for example extract the agency by daily record and come regularly daily record data to be sent to the log transmission platform.Preferably, extract the agency by daily record and regularly from performance log store module, read incremental update and transmission.
In step 230, the log transmission platform sends at least two performance Analysis servers according to the subscription of performance evaluation server with daily record data.
In step 240, the performance evaluation server task that administrative center distributes of executing the task.For example, carry out a performance evaluation every predetermined amount of time (for example per minute).Preferably, the task management center is come to performance Analysis server allocating task by the task distribution module.For example, after a performance Analysis server started, at first task management module was to the registration of task management center, and the information of registration can comprise quantity and the title of performance evaluation module; Then the task management center task of will distribute to this performance evaluation server returns to the task management module; The task management module writes the task allocate file with the task of distributing; The performance evaluation module reads the task allocate file before carrying out the performance evaluation statistics at every turn, determines the task that oneself will be carried out, and carries out this performance evaluation statistics.
In step 250, when a performance Analysis server was delayed machine, will the delay task of performance evaluation server of machine of task management center was distributed to other performance evaluation servers.For example, when (for example by the viability supervisory system) finds that a performance Analysis server is delayed machine, the task that the machine server of delaying is carried out will be carried out according to performance Analysis server of the selections such as algorithm or configuration file in the task management center, wherein call the task management module assignment new task of this task analysis server deploy.When being assigned to new task, the performance evaluation server can find the ultimate analysis result from inventory analysis result's storage system (database, nosql database), according to ultimate analysis result's time, proceed statistical analysis of performance.
Respectively apparatus and method embodiment of the present invention is described respectively above being to be noted that, but the details that an embodiment is described also can be applicable to another embodiment.
Ultimate principle of the present invention has below been described in conjunction with specific embodiments, but, it is to be noted, for those of ordinary skill in the art, can understand whole or any steps or the parts of method and system of the present invention can be realized with software, hardware, firmware or their combination, and this is that those of ordinary skills use their basic programming skill just can realize in the situation of having read explanation of the present invention.
Therefore, purpose of the present invention can also be by realizing in any calculation element software module of operation or one group of software module.Described calculation element can be known fexible unit.Therefore, purpose of the present invention also can be only by providing the program product that comprises the program code of realizing described method or device to realize.That is to say that such program product also consists of the present invention, and the storage medium that stores such program product also consists of the present invention.Obviously, described storage medium can be any storage medium that develops in any known storage medium or future.
Although this instructions comprises many particular implementation details, but these details should be interpreted as the restriction of the scope of the content that maybe can advocate any invention, and should be interpreted as can be specific to the description of the feature of the specific embodiment of specific invention.Some Feature Combination of describing in the situation of the embodiment that separates in this manual can also be realized in single embodiment.On the contrary, also each character separation ground of describing in the situation of single embodiment can be realized in a plurality of embodiments or realized in any suitable sub-portfolio.In addition, work although may describe feature as in the above in some combination, even initial opinion so, but can in some cases the one or more features from the combination of advocating be left out from combination, and the combination of advocating can be pointed to the variant of sub-portfolio or sub-portfolio.
Similarly, although described operation with certain order in the accompanying drawings, this should be interpreted as need to shown in certain order or carry out such operation or need to carry out the result that all illustrated operations just can reach expectation with continuous order.In some cases, multitask and parallel processing can be favourable.In addition, the separation of in the above-described embodiments various system components should be interpreted as and all need in all embodiments such separation, and should be understood that, usually can be with described program assembly and the system integration to becoming together single software product or being encapsulated as a plurality of software products.
Computer program (being also referred to as program, software, software application, script or code) can be write by programming language in any form, described programming language comprises compiling or interpretative code or illustrative or procedural language, and it can be disposed in any form, comprises as stand-alone program or as module, assembly, subroutine or other unit of being suitable for using in computing environment.Computer program there is no need corresponding to the file in the file system.Can be with procedure stores at the file that keeps other program or data (for example, be stored in the one or more scripts in the marking language document) a part, the Single document that is exclusively used in question program or a plurality of coordinative file (for example, storing the file of one or more modules, subroutine or partial code) in.
Above-mentioned embodiment does not consist of limiting the scope of the invention.Those skilled in the art should be understood that, depend on designing requirement and other factors, and various modifications, combination, sub-portfolio and alternative can occur.Any modification of doing within the spirit and principles in the present invention, be equal to and replace and improvement etc., all should be included within the protection domain of the present invention.