Adaptive server data processing method and system
By using adaptive server data processing methods, real-time monitoring and dynamic adjustment of the operating status of IBM mainframe middleware were implemented, solving the problem of CICS middleware system downtime under high pressure and achieving system stability and efficient resource utilization.
Patent Information
- Application Number
- CN202210654530.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-06-10
- Publication Date
- 2025-10-10
- Estimated Expiration
- 2042-06-10
AI Technical Summary
Existing technologies in IBM mainframe CICS middleware systems cannot effectively cope with instantaneous high-pressure shocks, causing system downtime and paralysis of the company's core business systems. Traditional load balancing and high availability methods fail under heavy load conditions.
Through adaptive server data processing methods and circuit negative feedback theory, the operating status and transaction status of the host middleware are monitored in real time, a parameter value prediction model is built, the configuration strategy is dynamically adjusted, transaction requests are rejected or forwarded, and system overload is avoided.
It effectively protects the host middleware system, avoids downtime caused by instantaneous high pressure, and ensures the stable operation of the system and resource utilization efficiency.
Smart Images

Figure CN115048265B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer software and can be applied to the financial field and other fields, and particularly relates to an adaptive server data processing method and system. Background Art
[0002] Currently, most core banking operations at large banks still run on IBM mainframes (also known as mainframes). IBM mainframes utilize z / OS (z / Operating System), a mainframe operating system that provides a variety of middleware for processing online transaction data. Banks' online systems are typically built on this middleware. This middleware categorizes business programs by transaction. Typically, banks deploy hundreds or even thousands of transactions to this middleware, often representing their core business processes. Therefore, ensuring the secure and stable operation of mainframe middleware systems is a key priority for bank system maintenance.
[0003] There are many types of middleware running on banking mainframes, among which CICS (Customer Information Control System) is a powerful and widely used middleware. CICS, an online transaction processing product developed by IBM, provides a series of advanced interfaces and functions for controlling the execution of interactive programs. It embodies the ACID properties (atomicity, consistency, isolation, and durability). It is widely used in numerous online transaction processing sectors, including banking, insurance, and aviation. It offers horizontally scalable clustering capabilities and a maximum number of concurrent transactions within a CICS system. However, as business volume grows, the mainframe CICS system may be subject to sudden and significant impacts, including both the volume of business and the increased consumption of system resources by individual transactions. This can lead to middleware downtime if unforeseen circumstances occur. This is due to the high cost of mainframe resources and the erratic growth of business volume, especially sudden and unpredictable volume, making it difficult to predict. In severe cases, middleware downtime can paralyze an enterprise's entire core business system, causing significant financial and reputational losses.
[0004] To address this, various approaches have been devised, typically focusing on load balancing and high availability. For example, load balancing devices can be used to increase the number of horizontally scalable devices; traffic balancing devices can be added in front of the system; and system load can be calculated based on the number of requests and responses. These methods rely on external monitoring of system status to control input to back-end application systems, thereby protecting the application systems. This external control approach protects the application systems while leaving them virtually unaffected, making it a very meaningful approach. However, these methods do not address the internal aspects of the application systems. When the instantaneous load exceeds the total capacity of the application system, load balancing and traffic balancing will fail. Application systems also have one-way transactions (requiring only notification of data processing requests to the host without requiring the host server to return the results), so methods that calculate request / response load can lead to protection failures. Therefore, even if application systems use external control methods to protect the z / OS system on the IBM mainframe, the risk of application system overwhelm still exists. In addition, due to the different hardware configurations of each host and the huge differences in the types of services and business operations and the amount of access running on the host, fixed protection strategies and parameters cannot guarantee the safe operation of the host. Traditional manual fixed parameter devices cannot maximize the performance of the server. If the parameter domain value is set too small, it will waste the server's hardware performance and actual transaction processing resources. If the parameter domain value is set too large, it will easily lead to the risk of the host middleware application system crashing due to excessive pressure or excessive instantaneous pressure. Summary of the Invention
[0005] The purpose of this application is to provide an adaptive server data processing method and system, starting from the z / OS system of the IBM mainframe, by detecting the usage status of the middleware within the z / OS system of the IBM mainframe, and using the detection results to control the requests input to the system. The negative feedback theory method similar to that in the circuit is used to avoid the risk of the mainframe middleware application system crashing due to excessive pressure or instantaneous excessive pressure. The system also dynamically protects the operation security of the mainframe middleware through dynamic operation data collection and analysis models and machine learning.
[0006] To achieve the above-mentioned purpose, the adaptive server data processing method provided by the present application is applicable to IBM mainframe systems, and the method includes: collecting the historical operating status of the mainframe and the historical transaction status of the mainframe middleware according to a preset period, and constructing a parameter value prediction model based on the historical operating status and the historical transaction status; generating a predicted parameter value according to the predicted time point and the parameter value prediction model, and generating a configuration strategy based on the predicted parameter value; obtaining a decision parameter based on the current operating status of the mainframe and the current transaction status of the mainframe middleware, performing a decision operation on the decision parameter through the configuration strategy to generate a status command, and analyzing the transaction type of the externally initiated transaction data according to the status command; and feeding back a rejection instruction to the initiator of the transaction data or transferring it to the mainframe middleware for processing according to the transaction type and the status command.
[0007] In the above-mentioned adaptive server data processing method, optionally, constructing a parameter value prediction model based on the historical operating status and the historical transaction situation includes: obtaining multiple historical time points and historical peak values corresponding to the historical time points based on the historical operating status and the historical transaction situation; generating multiple coordinate points based on the historical time points and the historical peak values, fitting the multiple coordinate points to obtain at least one linear model, and converting the linear model into at least one nonlinear model; and determining the corresponding nonlinear model as a parameter value prediction model based on the maximum value of the goodness of fit of the nonlinear model.
[0008] In the above-mentioned adaptive server data processing method, optionally, determining that the corresponding nonlinear model is a parameter value prediction model based on the maximum value of the goodness of fit of the nonlinear model also includes: calculating the predicted parameter value of any historical time point through the parameter value prediction model, and comparing the predicted parameter value with the actual decision parameter of the historical time point to obtain a stable value; determining that the corresponding nonlinear model is a parameter value prediction model based on the comparison result of the stable value and the preset stability threshold.
[0009] In the above-mentioned adaptive server data processing method, optionally, obtaining decision parameters based on the current operating status of the host and the current transaction status of the host middleware includes: generating first decision data based on the current operating status of the host and the allocation of host resources; and generating second decision data based on the comparison result of the current transaction operating status of the host middleware and a preset threshold; generating decision parameters based on the first decision data and the second decision data.
[0010] In the above-mentioned adaptive server data processing method, optionally, analyzing the transaction type of externally initiated transaction data according to the status command includes: when the status command is a busy state, obtaining the current time to generate a timestamp; generating a busy time period according to the timestamp and a preset query period, and analyzing the transaction type of the externally initiated transaction data according to the busy time period.
[0011] In the above-mentioned adaptive server data processing method, optionally, feeding back a rejection instruction to the initiator of the transaction data or transferring it to the host middleware for processing based on the transaction type and the status command includes: when the transaction type is a request type and the status command is a busy state, feeding back a rejection instruction to the initiator of the transaction data; when the transaction type is a non-request type, transferring the transaction data to the host middleware for processing.
[0012] The present application also provides an adaptive server data processing system, which is suitable for IBM mainframe systems. The system includes a status monitoring device and a control device; the status monitoring device is used to collect the historical operating status of the mainframe and the historical transaction status of the mainframe middleware according to a preset period, and construct a parameter value prediction model based on the historical operating status and the historical transaction status; generate a predicted parameter value based on the predicted time point and the parameter value prediction model, and generate a configuration strategy based on the predicted parameter value; obtain a decision parameter based on the current operating status of the mainframe and the current transaction status of the mainframe middleware, and perform a decision operation on the decision parameter through the configuration strategy to generate a status command; the control device is used to analyze the transaction type of externally initiated transaction data according to the status command; and feedback a rejection instruction to the initiator of the transaction data or transfer it to the mainframe middleware for processing based on the transaction type and the status command.
[0013] The present application also provides an electronic device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the above-mentioned method when executing the computer program.
[0014] The present application also provides a computer-readable storage medium, which stores a computer program for executing the above method.
[0015] The present application also provides a computer program product, comprising a computer program / instruction, which implements the steps of the above method when executed by a processor.
[0016] The beneficial technical effects of this application are: based on the process characteristics of middleware running transactions in the IBM mainframe z / OS system, the mainframe middleware transaction submission process is improved, overcoming the disadvantage of the existing processing mode that the mainframe middleware may be overwhelmed by instantaneous high pressure, and providing a dynamic learning and adaptive protection device and method for the middleware in the IBM mainframe z / OS system. By monitoring the resources and status of the middleware in the IBM mainframe z / OS system, the monitoring policy adjustment device self-learns and analyzes data, and regularly adjusts the parameters on the monitoring parameter storage device; a control device is implemented in the middleware in the mainframe / OS system to reject requests when system resources or status reach the busy conditions configured by the policy; and when the system resources or status are restored, the request is allowed to be submitted to the mainframe middleware. BRIEF DESCRIPTION OF THE DRAWINGS
[0017] The drawings described herein are used to provide a further understanding of the present application, constitute a part of the present application, and do not constitute a limitation of the present application. In the drawings:
[0018] Figure 1 A flowchart of an adaptive server data processing method provided in one embodiment of the present application;
[0019] Figure 2 A flow chart of a parameter value prediction model provided in one embodiment of the present application;
[0020] Figure 3 A schematic diagram of a validity verification process for a parameter value prediction model provided in one embodiment of the present application;
[0021] Figure 4 A schematic diagram of the actual construction and application process of the parameter value prediction model provided in one embodiment of the present application;
[0022] Figure 5 A schematic diagram of a process for obtaining decision parameters provided in an embodiment of the present application;
[0023] Figure 6 A schematic diagram of a process for obtaining a transaction type provided in an embodiment of the present application;
[0024] Figure 7 A schematic diagram of the structure of an adaptive server data processing system provided in one embodiment of the present application;
[0025] Figure 8 A schematic diagram of the application structure of an adaptive server data processing system provided in one embodiment of the present application;
[0026] Figure 9 A schematic diagram of the structure of a status monitoring device provided in one embodiment of the present application;
[0027] Figure 10 A schematic diagram of the structure of a control device provided in one embodiment of the present application;
[0028] Figure 11 A schematic diagram of the workflow of an adaptive server data processing system provided in one embodiment of the present application;
[0029] Figure 12 A schematic diagram of the structure of an electronic device provided in one embodiment of the present application. DETAILED DESCRIPTION
[0030] The following will describe in detail the implementation methods of this application in conjunction with the accompanying drawings and examples, so that the application can fully understand how technical means are used to solve technical problems and achieve technical effects, and implement them accordingly. It should be noted that as long as there is no conflict, the various embodiments and the various features in each embodiment of this application can be combined with each other, and the resulting technical solutions are all within the scope of protection of this application.
[0031] Additionally, the steps shown in the flowcharts of the accompanying drawings may be executed in a computer system such as a set of computer-executable instructions, and although a logical order is shown in the flowcharts, in some cases the steps shown or described may be performed in an order different from that shown.
[0032] Please refer to Figure 1 As shown, the adaptive server data processing method provided by this application is applicable to IBM mainframe systems, and the method includes:
[0033] S101 collects historical operating status of the host and historical transaction status of the host middleware according to a preset period, and builds a parameter value prediction model based on the historical operating status and the historical transaction status;
[0034] S102 generates a predicted parameter value according to the predicted time point and the parameter value prediction model, and generates a configuration strategy according to the predicted parameter value;
[0035] S103: obtaining decision parameters based on the current operating state of the host and the current transaction status of the host middleware, performing decision operations on the decision parameters using the configuration policy to generate status commands, and analyzing the transaction type of the externally initiated transaction data based on the status commands;
[0036] S104: Feedback a rejection instruction to the initiator of the transaction data or forward the transaction to the host middleware for processing according to the transaction type and the status command.
[0037] The host's operating status includes the host's current CPU usage, MEM usage, and I0 usage. Specifically, in practice, the bank's mainframe CICS is transaction middleware. To implement multi-user and multi-task concurrent processing, CICS has designed different service domains, including: AP (Application), PG (Program Manager), SM (Storage Manager), DS (Dispatcher), DD (Direct Manager), US (User), KE (Kernel), XM (Transaction Manager), LD (Loader), XS (Security Manager), and ME (Message). These domains support terminal management, file access control, task scheduling, message processing, and program flow control. Business transactions are typically initiated by external applications, and the mainframe CICS submits transaction request data to the mainframe CICS for transaction execution. Host CICS transactions are the primary source of host system resource consumption. The protection mechanism of this application monitors the internal usage of the host CICS system. A status monitoring device monitors key system resources, including the operating system's CPU, MEM, and I / O, as well as the number of CICS transactions executed, and generates status commands based on predefined policies. Based on the status commands, the device then identifies the type of externally initiated data. If the data is an external request, the latest status command is confirmed. If the status command is a rejection, the request data is rejected. Otherwise, the request data is submitted normally to the CICS to execute the transaction.
[0038] In the above embodiment, status commands are divided into two types: busy and normal. If a busy status command is received, the client's request is rejected. If a normal status command is received, the request is submitted normally. This prevents the CICS transaction processing device from being overwhelmed by excessive pressure. Because the host CICS is monitored in real time, the status information also reflects the host CICS's operational status. Whether a request is submitted is entirely determined by the status command at that moment. Different status commands for each request will result in different rejections. If the host CICS system is busy due to a large number of submitted requests or other reasons, subsequent requests will be rejected and not submitted to the host CICS system. After processing the submitted requests, the host system will be free, and subsequent requests can be submitted normally. This way, no matter how high the sustained or transient pressure, the conditional rejection prevents excessive stress on the subsequent host CICS transaction processing device, effectively protecting the host CICS system.
[0039] Please refer to Figure 2As shown, in one embodiment of the present application, constructing a parameter value prediction model based on the historical operating status and the historical transaction situation includes:
[0040] S201 obtains a plurality of historical time points and historical peak values corresponding to the historical time points according to the historical operating status and the historical transaction situation;
[0041] S202 generates a plurality of coordinate points according to the historical time points and the historical peak values, fits the plurality of coordinate points to obtain at least one linear model, and converts the linear model into at least one nonlinear model;
[0042] S203 determines, according to the maximum value of the goodness of fit of the nonlinear model, that the corresponding nonlinear model is a parameter value prediction model.
[0043] For further information, please refer to Figure 3 As shown, determining the corresponding nonlinear model as a parameter value prediction model according to the maximum value of the goodness of fit of the nonlinear model further includes:
[0044] S301 calculates the predicted parameter value at any historical time point through the parameter value prediction model, and compares the predicted parameter value with the actual decision parameter at the historical time point to obtain a stable value;
[0045] S302 determines, based on a comparison result between the stability value and a preset stability threshold, that the corresponding nonlinear model is a parameter value prediction model.
[0046] Specifically, in actual work, the construction process of the parameter value prediction model can refer to Figure 4 As shown, its parameter value prediction model regularly performs self-learning and data analysis to achieve the purpose of regular adjustment and update of parameters. The specific steps are as follows:
[0047] S401: Determine an initial adjustment strategy model based on a historical time point and a corresponding transaction peak time point, and obtain the CPU utilization, memory utilization, disk read / write latency, and number of transactions per second for each CICS service domain corresponding to the historical transaction peak time point. Determine a historical peak value corresponding to the historical time point based on the CPU utilization, memory utilization, disk read / write latency, and number of transactions per second for the CICS service domain.
[0048] During implementation, you can first execute the vmstat command on the host system to obtain the host system's central processing unit (CPU) utilization, memory utilization, disk read and write wait time (disk I / O wait time), and collect the number of transactions per second (TPS) in the CICS service domain. The above data is continuous time series data.
[0049] Then, historical performance data, including CPU utilization, memory utilization, disk read / write latency, and CICS transactions per second, is divided into n = B / L groups at intervals L, where B is the host server's performance monitoring period and n is the number of groups. Each data group is compressed using the following formula:
[0050]
[0051] Among them, v i is the historical performance data of group i, p i F The Fth historical performance data point in group i, e is the number of historical performance data points in the group, and i is a natural number greater than or equal to 0 and less than n. Historical performance data is obtained in monitoring cycles, and only data from the previous monitoring cycle is obtained. The monitoring cycle can be set based on the actual application, for example, 30 minutes.
[0052] The historical performance data compressed at the same time is written as a vector [t i ,c i ,m i ,d i ,tps i ], where t i is the i-th time point, c i is the CPU utilization of group i (i-th time point), m i is the memory utilization of the i-th group (i-th time point), d i is the disk read and write waiting time of the i-th group (i-th time point), tps i is the transaction volume per second of the i-th group (i-th time point). The above vectors can be organized into a historical performance data matrix in time series as follows:
[0053]
[0054] The historical server peak value and actual server peak value threshold parameter value (actual parameter value) corresponding to the historical time point can be determined by the following formula:
[0055] Y i =w1×c i +w2×m i +w3×d i ,+w4×tps i ;
[0056] Among them, w1 is the weight of the CPU utilization, w2 is the weight of the memory utilization, w3 is the weight of the disk read and write waiting time, w4 is the weight of the maximum number of transactions per second of the host server middleware CICS, and Yi is the historical server peak actual server peak domain value parameter value (actual parameter value) at the i-th time point.
[0057] Before each calculation and analysis, this application will select R from the power function regression model, exponential regression model, logarithmic regression model and polynomial regression model. 2 The model with the highest goodness of fit is used as the prediction model for the nonlinear regression algorithm to improve the accuracy of the application server peak threshold parameter value. Considering that in actual applications, the server peak threshold parameter value is a continuous value that changes over time, before applying the power function regression model, exponential regression model, logarithmic regression model, and polynomial regression model (a cubic polynomial model) to fit the server peak threshold parameter value curve, they are first converted into linear regression models (including a linear polynomial model and a ternary linear polynomial model). Based on the least squares method, they are fitted into a linear historical parameter curve. The linear historical parameter curve is then converted into a power function regression model, exponential regression model, logarithmic regression model, and polynomial regression model.
[0058] In specific implementation, you can use Python to call the PolynomialFeatures(degree=3) method in sklearn.preprocessing to create a cubic polynomial model, where degree=3 means creating a third-order polynomial; specifically: qf=PolynomialFeatures(degree=3);
[0059] Furthermore, a linear regression model is created using the LinearRegression() method in sklearn.linear_model, and then the univariate cubic polynomial model is converted into a multivariate linear regression model, as follows:
[0060] LR_Model=LinearRegression();
[0061] LR_Model.fit(qf.fit_transform(X),Y).
[0062] Where Y is the server peak threshold parameter value of the application server obtained in the previous step, and X is the time series corresponding to it. When LR_Model is the server peak threshold parameter value prediction model, the predicted server peak threshold parameter value can be directly obtained as follows:
[0063] h_predict=LR_Model.predict(X'[m]).
[0064] Among them, X'[i] is a certain moment in the future. When it is necessary to predict the future, T′={t1,t2,t3,...,t m-1 ,t m When the server peak threshold parameter value at time T′ is obtained, each moment in T′ is input into the above model one by one to obtain the server peak threshold parameter value at each moment.
[0065] S402: Generate multiple coordinate points according to historical time points and historical actual server peak threshold parameter values corresponding to the historical time points.
[0066] In the specific implementation, the historical time points are written as an ordered vector T arranged in time sequence, T = {t1, t2, t3, ..., t n-1 ,t n}, n is the number of historical time points; the historical actual health is written as the corresponding ordered vector Y, Y = {y1,y2,y3,...,y n-1 ,y n}. Take the historical time point as the horizontal axis (independent variable x, that is, T={t1,t2,t3,...,t n-1 ,t n} is converted to X={x1,x2,x3,...x n-1 ,x n}), the historical actual health degree corresponding to the historical time point (Y i ) as the vertical axis (dependent variable f(x)).
[0067] S403: Fitting the multiple coordinate points into at least one linear model, and converting the linear model into at least one nonlinear model.
[0068] Fitting multiple coordinate points into at least one linear model can be done by fitting a one-dimensional coordinate point (x, f(x)) into a one-dimensional linear model f(x) = a + bx based on the least squares method, and then converting the one-dimensional coordinate point into a multidimensional coordinate point (x1, x2, x3, f(x)) and fitting it into a multivariate linear model f(x1, x2, x3) = a″ + b″ x1 + c″ x2 + d″ x3. Where x1 = x, x2 = x 2 , x3=x 3 .
[0069] The linear model is converted into at least one nonlinear model. The one-dimensional linear model f(x) = a + bx is converted into a power function regression model f'(x') = a'x ′b ,in:
[0070] f′(x′)=e f(x) ,a′=e a ,x′=e x .
[0071] Convert the linear model f(x)=a+bx into an exponential regression model f′(x)=a′e bx ,in:
[0072] f′(x)=e f(x) ,a′=e a .
[0073] Convert the one-variable linear model f(x)=a+bx to the logarithmic regression model f(x′)=a+blnx′, where:
[0074] x′=e x .
[0075] Convert the ternary linear model f(x1,x2,x3)=a″+b″x1+c″x2+d″x3 to a univariate cubic linear regression model f(x″)=a″+b″x″+c″x″ 2 +d″x″ 3 ;in,
[0076] S404: Determine the nonlinear model corresponding to the maximum value of the goodness of fit of the nonlinear model as the initial server peak threshold parameter value prediction model.
[0077] For example, determine the goodness of fit of a power function regression model Goodness of fit of the exponential regression model Goodness of fit of the logarithmic regression model and goodness of fit of the polynomial regression model when When the logarithmic regression model is used as the initial server peak domain parameter value prediction model f(t i ). Where the goodness of fit is:
[0078]
[0079] Y i is the historical actual server peak threshold parameter value, y i Substituting the historical time point into the nonlinear formula to obtain the predicted peak threshold parameter value, Y i The average value of .
[0080] S405: Inputting the historical time point into the initial server peak threshold parameter value prediction model (parameter value prediction model) to obtain the historical predicted server peak threshold parameter value (prediction parameter value).
[0081] S406: Determine a stable value based on the historical predicted server peak threshold parameter value (predicted parameter value) and the historical actual server peak threshold parameter value (actual decision parameter).
[0082] For example, the stable value can be determined by the following formula:
[0083]
[0084] Among them, U is the stable value, y n Y is the historical prediction server peak threshold parameter value at the nth historical time point, n is the historical actual server peak threshold parameter value at the nth historical time point, r n is the intercept at the nth historical time point, The intercept r1 from the first historical time point to the intercept r from the n-1th historical time point n-1 The average value of .
[0085] S407: Determine whether the stable value is less than or equal to a preset stable value. If the stable value is less than or equal to the preset stable value, determine that the initial server peak threshold parameter value prediction model is the server peak threshold parameter value prediction model. Otherwise, update the initial server peak threshold parameter value prediction model based on the historical predicted server peak threshold parameter values and the historical actual server peak threshold parameter values, and return to step S406.
[0086] S408: Obtain the predicted time point of the application server, input the predicted time point into a server peak value domain parameter value prediction model created based on the historical time point and the historical actual server peak value domain parameter value corresponding to the historical time point, and obtain the parameter value of the predicted server peak value.
[0087] S409: Determine the parameter value of the server peak value and update the parameter.
[0088] Please refer to Figure 5 As shown, in one embodiment of the present application, obtaining decision parameters according to the current operating status of the host and the current transaction status of the host middleware includes:
[0089] S501 generates first decision data based on the current operating status of the host and the allocation of host resources; and generates second decision data based on the comparison result of the current transaction operation status of the host middleware and the preset threshold value;
[0090] S502 generates a decision parameter according to the first decision data and the second decision data.
[0091] In order to save resources in actual work, the operating status of the host, the allocation of host resources, and the current transaction operation status of the host middleware can also be collected at the same time, and then decision parameters are generated based on the collection results; it is worth noting that relevant technical personnel in this field can also choose to use the collected data as decision parameters according to actual needs without any processing. This application does not limit the decision data and the collected data to be different data.
[0092] Please refer to Figure 6 As shown, in one embodiment of the present application, analyzing the transaction type of the externally initiated transaction data according to the status command includes:
[0093] S601: When the status command is busy, obtain the current time and generate a timestamp;
[0094] S602 generates a busy time period according to the timestamp and a preset query period, and analyzes the transaction type of the externally initiated transaction data according to the busy time period.
[0095] Furthermore, feeding back a rejection instruction to the initiator of the transaction data or transferring it to the host middleware for processing based on the transaction type and the status command may include: when the transaction type is a request type and the status command is a busy state, feeding back a rejection instruction to the initiator of the transaction data; when the transaction type is a non-request type, transferring the transaction data to the host middleware for processing.
[0096] Specifically, in actual work, an assembly table can be set up to statistically confirm status commands and their timeliness, so as to facilitate subsequent analysis of the status of the current host middleware, so as to facilitate the processing of relevant transaction request data; relevant technical personnel in this field can also choose other similar or equivalent technical means to record status commands according to actual needs, and this application does not make further limitations here.
[0097] Please refer to Figure 7As shown, the present application also provides an adaptive server data processing system, which is suitable for IBM mainframe systems, and the system includes a status monitoring device and a control device; the status monitoring device is used to collect the historical operating status of the mainframe and the historical transaction status of the mainframe middleware according to a preset period, and construct a parameter value prediction model based on the historical operating status and the historical transaction status; generate a predicted parameter value based on the predicted time point and the parameter value prediction model, and generate a configuration strategy based on the predicted parameter value; obtain a decision parameter based on the current operating status of the mainframe and the current transaction status of the mainframe middleware, and perform a decision operation on the decision parameter through the configuration strategy to generate a status command; the control device is used to analyze the transaction type of externally initiated transaction data according to the status command; and feedback a rejection instruction to the initiator of the transaction data or transfer it to the mainframe middleware for processing based on the transaction type and the status command.
[0098] For details, please refer to Figure 8 As shown, in actual operation, the above-mentioned adaptive server data processing system includes a CICS transaction operation device 1, a status monitoring device 2, a control device 3, a network device 4, and a client device 5.
[0099] The CICS transaction operation device 1 can run multiple CICSs, forming a CICS group, providing transaction services and storing enterprise data.
[0100] Status monitoring device 2 runs various monitoring programs that monitor the operating system and CICS operating status information and convert this information into status commands according to configuration policies. The status monitoring device includes functional devices such as operating system status monitoring device 10, CICS operating status monitoring device 11, monitoring parameter storage device 12, monitoring policy adjustment device 13, and status command output device 14.
[0101] Control device 3, also running multiple CICS modules, provides a status command buffer for status monitoring device 2. It also provides services for client device 5, receiving client data. If the client device 5 data is a request and the status command is normal or other data types, it submits the request to CICS transaction execution device 1 and returns the transaction execution results to client device 5. Control device 3 includes five functional units: status command receiving unit 20, data receiving unit 21, data type identification unit 22, comparison execution unit 23, and data return unit 24.
[0102] The network device 4 is the internal network environment of the enterprise and the communication basis for the operation of the system. It can support SNA and TCP / IP.
[0103] The client device 5 is the user of the host transaction and can be an application system of an open platform. It submits data to the host through the network device 4 to request transaction services.
[0104] Please refer to Figure 9 As shown, the above-mentioned status monitoring device may include an operating system status monitoring device 10, a CICS operation status monitoring device 11, a monitoring parameter storage device 12, a monitoring strategy adjustment device 13, a status command output device 14 and other functional devices.
[0105] The operating system status monitoring device 10 is responsible for monitoring the operating system part, including the CPU, MEM, IO, etc. of the operating system, and provides the generated status information to the status command output device 14.
[0106] The CICS operation status monitoring device 11 is primarily responsible for collecting CICS operation status information. This includes the operation status of various CICS service domains (e.g., AP (Application), PG (Program Manager), SM (Storage Manager), DS (Dispatcher), DD (Direct Manager), US (User), KE (Kernel), XM (Transaction Manager), LD (Loader), XS (Security Manager), and ME (Message). For example, the device collects information such as the current number of running transactions in each CICS service domain and whether the current number of transactions has reached the CICS maximum transaction limit. The device then generates status information and provides it to the status command output device 14.
[0107] The monitoring parameter storage device 12 is responsible for storing the mainframe operation, monitoring and other parameter settings, and is responsible for storing the mainframe operation monitoring strategy.
[0108] The monitoring strategy adjustment device 13 is responsible for collecting the actual historical data of the system and CICS actually running on the server, and regularly performs dynamic calculation and self-learning analysis to adjust the parameter domain value based on the actual historical data of the actual operation of the server, and adjusts the parameters on the monitoring parameter storage device 12 based on the calculated domain value. In actual applications, as time changes, the user activity, transaction frequency and transaction type of the business system carried by the middleware CICS on the host server have certain periodic patterns, which directly affect the number of CICS transaction processing, CPU utilization, memory utilization, disk I / O waiting time and TPS of the application server. Dynamic calculation and self-learning analysis are performed based on the actual historical data of the actual operation of the server to adjust the parameter domain value, update the protection strategy, and effectively avoid the problem that the traditional manual fixed protection strategy and parameters cannot effectively ensure the operation safety of the host. For details of the adjustment method, see Figure 4 As described in the above corresponding embodiments, they will not be described in detail here.
[0109] The status command output device 14 is a decision-making operation device. It performs decision-making operations based on the status information provided by the operating system status monitoring device 10 and the CICS operation status monitoring device 11, and reads the monitoring parameters from the monitoring parameter storage device 12. It generates a status command result, outputs it, and notifies the control device 3.
[0110] For details about the control device 3, please refer to Figure 10 As shown, the control device 3 includes functional devices such as a status command receiving device 20, a data receiving device 21, a data type identification device 22, a comparison execution device 23, and a data return device 24.
[0111] Status command receiving device 20 is responsible for receiving the status results output by status command output device 14. This device also includes a host assembly table consisting of two main fields: a timestamp and a status command. Control device 3 retrieves the status command from this assembly table. The validity of the status command is determined by the time difference between the current system time and the timestamp. If the current time is greater than the timestamp and the time difference is less than or equal to one status information collection cycle of status monitoring device 2, the status command is valid. Otherwise, the status command is invalid and normal processing is performed according to the default status command.
[0112] The data receiving device 21 is responsible for receiving data sent by the client device 5. The service provided by the device can be based on TCP / IP or SNA.
[0113] The data type identification device 22 performs type judgment on the data received by the data receiving device 21, and the data is divided into two categories: transaction request type and non-transaction request type.
[0114] Comparison and execution means 23 processes the data received by data receiving means 21 based on the data identification result of request data type identification means 22 and the current status command of status command receiving means 20. If the request data type is a transaction-type request and the current status command is busy, comparison and execution means 23 rejects the data request to CICS transaction operation means 1 and returns the rejection information to client means 5 via data return means 24. Otherwise, the data is submitted to CICS operation means 1 and waits for the result, which is then returned to the corresponding client means 5 via data return means 24.
[0115] The data return device 24 provides data services for the client device, and returns the execution result or rejection information of the comparison execution device 23 to the client device 5 through the network device 3.
[0116] Please refer to Figure 11 As shown, the processing flow of middleware protection by the adaptive server data processing system provided by this application is as follows:
[0117] S1101: Client device 5 sends transaction data request data
[0118] S1102: The data receiving device 21 receives the data sent by the client device 5, and the data type identification device 22 determines the type of the request data received by the data receiving device 21: transaction request type and non-transaction request type.
[0119] If it is a non-transaction request type, jump to step S1105.
[0120] If it is a transaction request type, go to step S1103.
[0121] S1103: The control device 3 sends a transaction request to the status monitoring device 2. The status command output device 14 performs a decision operation based on the status information provided by the operating system status monitoring device 10 and the CICS operation status monitoring device 11, and reads the monitoring parameters from the monitoring parameter storage device 12. The status command result is generated and output to the control device 3.
[0122] S1104 : The comparison execution device 23 processes the data received by the data receiving device 21 according to the identification result of the data by the data type identification device 22 and the current status command of the status command receiving device 20 .
[0123] When the current status command is busy, the comparison execution device 23 refuses to submit the data request to the CICS transaction operation device 1 and jumps to step S1106.
[0124] When the current status command is non-busy, proceed to step S1105.
[0125] S1105: The control device 3 submits data to the CICS operation device 1. The CICS operation device 1 processes the data request and returns the processing result to the control device 3.
[0126] S1106: The data return device 24 transmits the processing result to the client device 5. The data processing is completed.
[0127] As can be seen from the above steps, the status command generated by the status monitoring device is the key factor in determining whether to reject a transaction. If the status monitoring device is inoperative, control device 3 will process the transaction as if it were not busy, rendering the protection mechanism ineffective. Control device 3 is the core component of the protection implementation. It uses the data request type and the current status command to determine whether to continue submitting the request to the CICS transaction execution device. Submitting the request will increase the resource consumption of the host CICS. When this increases to a certain level, the status monitoring device will output a system busy status command. Control device 3 will reject the request, which will no longer increase the resource consumption of the host CICS. Once the host CICS completes processing the currently running transaction, resources will be released. When resources are released to a certain level, the status command generated by the status monitoring device will be non-busy, allowing control device 3 to resume submitting requests. This is an adaptive loop process, using the host CICS status output to control the host CICS input. Similar to the principle of negative feedback, it is a negative feedback implementation in software systems.
[0128] The beneficial technical effects of this application are: based on the process characteristics of middleware running transactions in the IBM mainframe z / OS system, the mainframe middleware transaction submission process is improved, overcoming the disadvantage of the existing processing mode that the mainframe middleware may be overwhelmed by instantaneous high pressure, and providing a dynamic learning and adaptive protection device and method for the middleware in the IBM mainframe z / OS system. By monitoring the resources and status of the middleware in the IBM mainframe z / OS system, the monitoring policy adjustment device self-learns and analyzes data, and regularly adjusts the parameters on the monitoring parameter storage device; a control device is implemented in the middleware in the mainframe / OS system to reject requests when system resources or status reach the busy conditions configured by the policy; and when the system resources or status are restored, the request is allowed to be submitted to the mainframe middleware.
[0129] The present application also provides an electronic device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the above-mentioned method when executing the computer program.
[0130] The present application also provides a computer-readable storage medium, which stores a computer program for executing the above method.
[0131] The present application also provides a computer program product, comprising a computer program / instruction, which implements the steps of the above method when executed by a processor.
[0132] The present application also provides an electronic device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the above-mentioned method when executing the computer program.
[0133] The present application also provides a computer-readable storage medium, which stores a computer program for executing the above method.
[0134] The present application also provides a computer program product, comprising a computer program / instruction, which implements the steps of the above method when executed by a processor.
[0135] like Figure 12 As shown, the electronic device 600 may further include: a communication module 110, an input unit 120, an audio processing unit 130, a display 160, and a power supply 170. It is worth noting that the electronic device 600 does not necessarily have to include Figure 12 In addition, the electronic device 600 may also include all components shown in Figure 12 For components not shown, reference may be made to the prior art.
[0136] like Figure 12 As shown, the central processing unit 100 is sometimes also referred to as a controller or an operation control unit, and may include a microprocessor or other processor device and / or logic device. The central processing unit 100 receives inputs and controls the operations of various components of the electronic device 600 .
[0137] Memory 140 may be, for example, one or more of a cache, flash memory, hard drive, removable media, volatile memory, non-volatile memory, or other suitable devices. It may store the aforementioned failure-related information and may also store programs that execute the relevant information. The CPU 100 may execute the programs stored in memory 140 to implement information storage or processing.
[0138] The input unit 120 provides input to the CPU 100. The input unit 120 may be, for example, a keypad or touch input device. The power supply 170 is used to provide power to the electronic device 600. The display 160 is used to display objects such as images and text. The display may be, for example, an LCD display, but is not limited thereto.
[0139] The memory 140 may be a solid-state memory, such as a read-only memory (ROM), a random access memory (RAM), or a SIM card. Alternatively, it may be a memory that retains information even when power is off, can be selectively erased, and is provided with more data. Examples of such memory are sometimes referred to as EPROMs. The memory 140 may also be some other type of device. The memory 140 includes a buffer memory 141 (sometimes referred to as a buffer). The memory 140 may include an application / function storage unit 142 for storing application programs and function programs or processes for executing the operations of the electronic device 600 via the central processing unit 100.
[0140] The memory 140 may also include a data storage unit 143 for storing data, such as contacts, digital data, pictures, sounds, and / or any other data used by the electronic device. The driver storage unit 144 of the memory 140 may include various driver programs for communication functions of the electronic device and / or for executing other functions of the electronic device (such as messaging applications, address book applications, etc.).
[0141] The communication module 110 is a transmitter / receiver 110 that transmits and receives signals via an antenna 111. The communication module (transmitter / receiver) 110 is coupled to the central processor 100 to provide input signals and receive output signals, which may be the same as in a conventional mobile communication terminal.
[0142] Based on different communication technologies, multiple communication modules 110 may be provided in the same electronic device, such as a cellular network module, a Bluetooth module, and / or a wireless local area network module. The communication module (transmitter / receiver) 110 is also coupled to a speaker 131 and a microphone 132 via an audio processor 130 to provide audio output via the speaker 131 and receive audio input from the microphone 132, thereby implementing common telecommunication functions. The audio processor 130 may include any suitable buffer, decoder, amplifier, etc. Furthermore, the audio processor 130 is also coupled to the central processing unit 100, enabling local recording via the microphone 132 and playback of stored audio via the speaker 131.
[0143] Those skilled in the art will appreciate that the embodiments of the present application can be provided as methods, systems, or computer program products. Therefore, the present application can adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application can adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage, CD-ROM, optical storage, etc.) that contain computer-usable program code.
[0144] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the steps in the process. Figure 1a process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0145] These computer program instructions may also be stored in a computer readable memory that can direct a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 a process or multiple processes and / or boxes Figure 1 The function specified in one or more boxes.
[0146] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operational steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing the instructions executed on the computer or other programmable device for implementing the process. Figure 1 a process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.
[0147] The specific embodiments described above further illustrate the purpose, technical solutions and beneficial effects of the present application. It should be understood that the above description is only a specific embodiment of the present application and is not intended to limit the scope of protection of the present application. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present application should be included in the scope of protection of the present application.
Claims
1. An adaptive server data processing method, applicable to IBM mainframe systems, characterized in that: The method comprises: Collect the historical operating status of the host and the historical transaction status of the host middleware according to a preset period, and build a parameter value prediction model based on the historical operating status and the historical transaction status; Generate a predicted parameter value according to the predicted time point and the parameter value prediction model, and generate a configuration strategy according to the predicted parameter value; generating first decision data according to the current operating state of the host and the allocation of host resources; Generate second decision data based on the comparison result of the current transaction operation status of the host middleware and the preset threshold value; generating a decision parameter according to the first decision data and the second decision data; Performing a decision operation on the decision parameters using the configuration strategy to generate a status command, and analyzing the transaction type of the externally initiated transaction data according to the status command; According to the transaction type and the status command, a rejection instruction is fed back to the initiator of the transaction data or the transaction is transferred to the host middleware for processing.
2. The adaptive server data processing method according to claim 1, characterized in that: Constructing a parameter value prediction model based on the historical operating status and the historical transaction situation includes: Obtaining multiple historical time points and historical peak values corresponding to the historical time points according to the historical operating status and the historical transaction situation; generating a plurality of coordinate points according to the historical time points and the historical peak values, fitting the plurality of coordinate points to obtain at least one linear model, and converting the linear model into at least one nonlinear model; According to the maximum value of the goodness of fit of the nonlinear model, the corresponding nonlinear model is determined to be a parameter value prediction model.
3. The adaptive server data processing method according to claim 2, characterized in that: Determining the corresponding nonlinear model as a parameter value prediction model according to the maximum value of the goodness of fit of the nonlinear model further includes: The predicted parameter value at any historical time point is calculated through the parameter value prediction model, and the predicted parameter value is compared with the actual decision parameter at the historical time point to obtain a stable value; According to the comparison result of the stability value and the preset stability threshold, the corresponding nonlinear model is determined to be a parameter value prediction model.
4. The adaptive server data processing method according to claim 1, characterized in that: Analyzing the transaction type of externally initiated transaction data according to the status command includes: When the status command is busy, get the current time to generate a timestamp; A busy time period is generated according to the timestamp and a preset query period, and a transaction type of the externally initiated transaction data is analyzed according to the busy time period.
5. The adaptive server data processing method according to claim 4, characterized in that: Feedback of a rejection instruction to the initiator of the transaction data or forwarding the transaction to the host middleware for processing according to the transaction type and the status command includes: When the transaction type is a request type and the status command is a busy state, feeding back a rejection instruction to the initiator of the transaction data; When the transaction type is a non-request type, the transaction data is transferred to the host middleware for processing.
6. An adaptive server data processing system, suitable for IBM mainframe system, characterized in that: The system includes a status monitoring device and a control device; The state monitoring device is used to collect the historical operating state of the host and the historical transaction status of the host middleware according to a preset period, build a parameter value prediction model based on the historical operating state and the historical transaction status; generate a predicted parameter value based on the predicted time point and the parameter value prediction model, and generate a configuration strategy based on the predicted parameter value; generate first decision data based on the current operating state of the host and the allocation of host resources; generate second decision data based on the comparison result of the current transaction operation status of the host middleware and a preset threshold; generate decision parameters based on the first decision data and the second decision data, and perform a decision operation on the decision parameters through the configuration strategy to generate a state command; The control device is used to analyze the transaction type of the externally initiated transaction data according to the status command; and to feed back a rejection instruction to the initiator of the transaction data or transfer it to the host middleware for processing according to the transaction type and the status command.
7. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the computer program, the method according to any one of claims 1 to 5 is implemented.
8. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a computer program for causing a computer to execute the method according to any one of claims 1 to 5.
9. A computer program product comprising a computer program / instructions, characterized in that When the computer program / instructions are executed by a processor, the steps of the method according to any one of claims 1 to 5 are implemented.
Citation Information
Patent Citations
Large host middleware protection method and system
CN114661550A