[go: up one dir, main page]

CN113515375A - Calling method and device for multiple CICS (common information carrier) nodes - Google Patents

Calling method and device for multiple CICS (common information carrier) nodes Download PDF

Info

Publication number
CN113515375A
CN113515375A CN202110544845.7A CN202110544845A CN113515375A CN 113515375 A CN113515375 A CN 113515375A CN 202110544845 A CN202110544845 A CN 202110544845A CN 113515375 A CN113515375 A CN 113515375A
Authority
CN
China
Prior art keywords
cics
node
pool
nodes
server
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
Application number
CN202110544845.7A
Other languages
Chinese (zh)
Other versions
CN113515375B (en
Inventor
李梓韬
官林辉
卢红阳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Agricultural Bank of China
Original Assignee
Agricultural Bank of China
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Agricultural Bank of China filed Critical Agricultural Bank of China
Priority to CN202110544845.7A priority Critical patent/CN113515375B/en
Publication of CN113515375A publication Critical patent/CN113515375A/en
Application granted granted Critical
Publication of CN113515375B publication Critical patent/CN113515375B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

The invention provides a method and a device for calling multiple CICS nodes, wherein each application server is provided with a node pool, each node pool comprises a plurality of CICS nodes, each CICS node can be called by a server where the CICS node is located and servers where other CICS nodes are located, when the application server receives a service request sent by a load balancing server, the application server inquires a target node pool according to an identification of the target node pool to be accessed, the target CICS node is selected to be a normally running CICS node, and then the target CICS node is called to access a background server. Each application server can access other CICS nodes in the node pool besides the CICS node of the application server, and when the CICS node where the application server is located is abnormal, the CICS nodes of other servers can be called to process the service request, so that the problem that the service request processing fails due to the abnormal CICS node of the application server is solved.

Description

Calling method and device for multiple CICS (common information carrier) nodes
Technical Field
The present invention relates to database technologies, and in particular, to a method and an apparatus for calling a multi-Client Information Control System (CICS) node.
Background
The CICS is a series of middleware for providing online transaction processing and transaction management for applications, and has a function of providing a transaction processing environment for applications, helping customers establish online transaction processing applications with a three-hierarchy structure, and is widely applied to systems such as banks at present.
The CICS is generally applied to a cluster system, the cluster system is configured by centralizing a plurality of servers together to provide the same service, each server is deployed with the CICS service, and the plurality of servers can run in parallel to improve the technical speed and can also be backed up by the plurality of servers, so that the fault tolerance and risk resistance of the cluster system are increased, and the stability of the cluster system is improved. At present, a cluster system generally adopts a load balancing mode to improve the performance of the system, a load balancing server distributes a request sent by a client to servers with normal CICS service, and when a certain server goes down, the load balancing server can recognize the abnormality and distribute the request to other normal servers, so that the stability of the system is ensured.
However, when an abnormality occurs in the CICS service of the server, the load balancing server cannot recognize the abnormality and still distributes the request to the server, thereby causing a failure in request processing.
Disclosure of Invention
The invention provides a multi-CICS node calling method and device, which can avoid the problem that an application server fails to process a service request due to the abnormality of a CICS node of the application server.
In a first aspect, the invention provides a method for calling multiple CICS nodes, which is applied to a cluster system, wherein the cluster system comprises a load balancing server, multiple application servers and at least one background server, each application server is provided with a CICS node of a client information control system, each application server is provided with a node pool, configuration information of the node pool comprises information of multiple CICS nodes, the multiple CICS nodes in the node pool are used for accessing the same background server, and the CICS nodes in the node pool can be called by a server where the CICS nodes are located and servers where other CICS nodes are located; the method comprises the following steps:
the application server receives a service request sent by a load balancing server, wherein the service request comprises an identifier of a target node pool to be accessed;
the application server inquires the target node pool according to the identification of the target node pool, and selects a normally-running CICS node from the target node pool as a target CICS node;
the application server calls the target CICS node to access the background server;
and the application server returns the response of the service request to the load balancing server.
Optionally, the nodes included in the target node pool are normally operating CICS nodes.
Optionally, the method further includes:
the application server periodically reads the information of a plurality of CICS nodes in the target node pool according to a preset scanning period;
aiming at any CICS node, the application server sends a CICS request to the background server according to the information of the CICS node;
the application server judges whether the CICS node normally operates according to a return result of the CICS request;
and when the CICS node abnormally operates, the application server deletes the CICS node from the cache pool corresponding to the target node pool, and the CICS node which normally operates is stored in the cache pool corresponding to the target node pool.
Optionally, the method further includes:
and the application server outputs the log information of the CICS node which is abnormally operated.
Optionally, the selecting a normally operating CICS node from the target node pool as a target CICS node includes:
selecting a candidate CICS node from the target node pool;
sending a CICS request to the background server according to the information of the candidate CICS node;
judging whether the candidate CICS node normally operates according to a return result of the CICS request;
when the candidate CICS node normally runs, determining the candidate CICS node as the target CICS node;
when the candidate CICS node runs very much, selecting one candidate CICS node from the rest CICS nodes in the target node pool, and returning to execute the step of sending the CICS request to the background server according to the information of the candidate CICS node.
Optionally, the information of the CICS node includes: the system comprises an identifier of a node pool, identifiers of CICS nodes, an internet protocol IP address, a port number, a service name, a user name, a password, timeout time, a version, a character set and a channel identifier bit.
The second aspect of the invention provides an application server, which belongs to a cluster system, wherein the cluster system comprises a load balancing server, a plurality of application servers and at least one background server, each application server is provided with a Client Information Control System (CICS) node, each application server is provided with a node pool, the configuration information of the node pool comprises the information of a plurality of CICS nodes, the plurality of CICS nodes in the node pool are used for accessing the same background server, and the CICS nodes in the node pool can be called by the server where the CICS nodes are located and the servers where other CICS nodes are located; the application server includes:
a receiving module, configured to receive a service request sent by a load balancing server, where the service request includes an identifier of a target node pool to be accessed;
the selection module is used for inquiring the target node pool according to the identification of the target node pool and selecting a normally-running CICS node from the target node pool as a target CICS node;
the calling module is used for calling the target CICS node to access the background server;
and the sending module is used for returning the response of the service request to the load balancing server.
Optionally, the nodes included in the target node pool are normally operating CICS nodes.
Optionally, the health check module is further included, and is configured to:
periodically reading the information of a plurality of CICS nodes in the target node pool according to a preset scanning period;
aiming at any CICS node, sending a CICS request to the background server according to the information of the CICS node;
judging whether the CICS node normally operates or not according to a return result of the CICS request;
and when the CICS node abnormally operates, deleting the CICS node from the cache pool corresponding to the target node pool, and storing the CICS node which normally operates in the cache pool corresponding to the target node pool.
Optionally, the method further includes:
and the log output module is used for outputting the log information of the abnormally operated CICS node.
Optionally, the selection module is specifically configured to:
selecting a candidate CICS node from the target node pool;
sending a CICS request to the background server according to the information of the candidate CICS node;
judging whether the candidate CICS node normally operates according to a return result of the CICS request;
when the candidate CICS node normally runs, determining the candidate CICS node as the target CICS node;
when the candidate CICS node runs very much, selecting one candidate CICS node from the rest CICS nodes in the target node pool, and returning to execute the step of sending the CICS request to the background server according to the information of the candidate CICS node.
Optionally, the information of the CICS node includes: the system comprises an identifier of a node pool, identifiers of CICS nodes, an internet protocol IP address, a port number, a service name, a user name, a password, timeout time, a version, a character set and a channel identifier bit.
In a third aspect, the present invention provides an application server, comprising: at least one processor and memory; the memory stores computer-executable instructions; the at least one processor executing the computer-executable instructions stored by the memory causes the at least one processor to perform the method according to the first aspect of the invention.
In a fourth aspect, the present invention provides a computer readable storage medium having stored thereon computer executable instructions for performing the method according to the first aspect of the present invention when executed by a processor.
In a fifth aspect, the invention provides a computer program product comprising a computer program which, when executed by a processor, performs the method according to the first aspect of the invention.
The method and the device for calling the multiple CICS nodes are characterized in that each application server is provided with a node pool, each node pool comprises a plurality of CICS nodes, the CICS nodes in the node pools can be called by the server where the CICS nodes are located and the servers where other CICS nodes are located, when the application server receives a service request sent by a load balancing server, the application server inquires a target node pool according to the identification of the target node pool to be accessed, the target CICS node is selected from the target node pool to be used as the target CICS node, then the target CICS node is called to access a background server, and a response of the service request is returned to the load balancing server. Because each application server can access other CICS nodes in the node pool besides the CICS node where the application server is located, when the CICS node where the application server is located is abnormal, the CICS nodes of other servers can be called to process the service request, and therefore the problem that the service request processing fails due to the abnormal CICS node of the application server is solved.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the invention and together with the description, serve to explain the principles of the invention.
FIG. 1 is a schematic diagram of an architecture of a conventional cluster system;
fig. 2 is a schematic communication diagram of a conventional cluster system when a server is abnormal;
fig. 3 is a schematic communication diagram of a conventional cluster system when a CICS node is abnormal;
FIG. 4 is a schematic diagram of an architecture of a cluster system suitable for use in the present invention;
FIG. 5 is a schematic diagram of a configuration structure of a node pool on an application server;
FIG. 6 is a flowchart of a method for invoking multiple CICS nodes according to an embodiment of the present invention;
fig. 7 is a signaling flowchart of a method for invoking multiple CICS nodes according to a second embodiment of the present invention;
fig. 8 is a schematic structural diagram of an application server according to a third embodiment of the present invention;
fig. 9 is a schematic structural diagram of an application server according to a fourth embodiment of the present invention.
With the above figures, certain embodiments of the invention have been illustrated and described in more detail below. The drawings and the description are not intended to limit the scope of the inventive concept in any way, but rather to illustrate it by those skilled in the art with reference to specific embodiments.
Detailed Description
Reference will now be made in detail to the exemplary embodiments, examples of which are illustrated in the accompanying drawings. When the following description refers to the accompanying drawings, like numbers in different drawings represent the same or similar elements unless otherwise indicated. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present invention. Rather, they are merely examples of apparatus and methods consistent with certain aspects of the invention, as detailed in the appended claims.
Fig. 1 is an architectural schematic diagram of an existing cluster system, and as shown in fig. 1, the cluster system includes a load balancing server, an application server a, an application server B, an application server C, and a background server, where the application server a, the application server B, and the application server C are used to provide a same application, each application server is deployed or installed with a CICS node, the CICS node is also called a CICS service, and the CICE node is an effective and complete minimum structural unit in a CICS access and includes basic information such as an Internet Protocol (IP) address, a port, and a service name of the access. The application server and the background server are connected and communicated through the CICS node.
A client sends a service request, where the client may be a user device such as a mobile phone and a tablet computer, and a user may trigger a service operation through an application (APP for short) installed on the client. When the cluster system is a bank system, the service request can be a transaction request, and a user triggers a transaction through a mobile phone bank APP on a mobile phone.
The load balancing server receives the service request sent by the client, executes the basic conversion of the source IP address and the destination IP address, and guides the flow to the corresponding application server capable of providing the service. The load balancing server can adopt an F5 load balancing scheme, also called as an F5 technical scheme, and is a network performance optimization technology.
The load balancing server periodically detects the IP address of the background server through an Internet Control Message Protocol (ICMP) packet (e.g., PING packet) or a Transmission Control Protocol (TCP) packet (e.g., Port test packet), and if the response of the ICMP/server Port of the address can be received within a set time, the application server is considered to be able to provide service.
And after receiving the service request sent by the load balancing server, the application server calls the background server through the CICS node.
And after receiving the response packet of the application server, the load balancing server changes the address of the application server back to the address of the client, and returns the response of the service request to the client to finish the standard server load balancing process.
In the operation process of the cluster system, server abnormality or CICS node abnormality may occur, and the following describes the processing flow of the load balancing server when two kinds of abnormality occur, respectively.
Fig. 2 is a schematic communication diagram of an existing cluster system when a server is abnormal, and as shown in fig. 2, when an application server C goes down, a load balancing server can detect that the application server C is abnormal through an ICMP packet or a TCP packet, so that the abnormal application server C is gradually processed, and a request of a client is not distributed to the application server C any more, but is forwarded to other servers that operate normally. The gradual-out refers to that the load balancing server checks that the application server is abnormal and does not distribute the request to the abnormal server any more.
Fig. 3 is a communication diagram when a CICS node abnormality occurs in the conventional cluster system, and as shown in fig. 3, in a case where a server is actually operating normally but a CICS node of a certain server is abnormal (for example, blocking, timeout, retransmission, or the like), in this case, the load balancing server fails to recognize the CICS node abnormality of the server through health check. For example, in fig. 3, an abnormal CICS node of the application server C occurs, but the load server does not recognize that the application server C is considered to be normal, so the load balancing server still distributes the request of the client to the application server C with the abnormal CICS node, thereby causing a failure of the request.
The health check of the load balancing server only identifies whether a certain application server is abnormal or not by whether an ICMP packet or a TCP packet has a response or not, but cannot identify the abnormal condition of a CICS node of a middleware of the application server, and the load balancing server still sends a request to the application server with the abnormal CICS node for processing, so that the request processing fails.
When the CICS node of the application server is abnormal, an operation and maintenance person is generally required to perform manual repair. Whether or not there is a method to prevent this from happening again in the production environment, avoiding affecting the client request. The invention refers to the load balancing method among application servers, and performs load balancing on the middleware CICS node in the cluster system, thereby increasing the stability of the system and effectively solving the problems.
Fig. 4 is a schematic structural diagram of a cluster system to which the present invention is applicable, and as shown in fig. 4, the cluster system includes a load balancing server, application servers A, B, C and a background server, and each application server is deployed with a CICS node. It is understood that more or fewer application servers and background servers may be included in the cluster system, and the present invention is not limited thereto.
The architecture shown in fig. 4 is different from the existing architecture in that each application server can access the CICS nodes deployed on other application servers in addition to calling the CICS nodes deployed on itself. Specifically, each application server is configured with a node pool, the node pool includes a plurality of CICS nodes, configuration information of the node pool includes information of the plurality of CICS nodes, the plurality of CICS nodes in the node pool are used for accessing the same background server, and the CICS nodes in the node pool can be called by a server where the CICS nodes are located and servers where other CICS nodes are located.
As shown in fig. 4, the CICS nodes on the application server A, B, B form a node pool, the node pool includes three nodes, and the application server A, B, C can access all the nodes in the node pool, so that when a CICS node of a certain application server is abnormal, the application server can also access other CICS nodes in the node pool, thereby avoiding a failure in processing a service request due to an abnormality of its own CICS node.
Illustratively, the information of the CICS node includes: the identifier of the node pool (poolNo in the corresponding table one), the identifier of each CICS node (node in the corresponding table one), the IP address, the port number, the service name, the user name, the password, the timeout time, the version, the character set and the channel identification bit. The function of each piece of information of the CICS node is shown in table one.
Watch 1
Figure BDA0003073158800000071
It will be appreciated that multiple node pools may be configured on one application server, with different node pools being used to access different background application servers. Fig. 5 is a schematic configuration diagram of a node pool on an application server, and as shown in fig. 5, two node pools are configured in an application program of the application server: the node pool A comprises three CICS nodes: CICS node 1, CICS node 2 and CICS node 3, wherein CICS node 1, CICS node 2 and CICS node 3 can access the same background server with IP address of 127.1.1.1. The node pool B comprises three CICS nodes: CICS node 4, CICS node 5 and CICS node 6, CICS node 4, CICS node 5 and CICS node 6 can access the same background server with IP address 127.1.1.2. Only the information of CICS node 1 is shown in fig. 5, and the information of other nodes is similar.
Optionally, the information of the CICS node may be configured in an src/main/resource/ctgconfiguration.xml file of the application program in an Extensible Markup Language (XML) format.
Based on the architecture illustrated in fig. 4, an embodiment of the present invention provides a method for invoking multiple CICS nodes, fig. 6 is a flowchart of the method for invoking multiple CICS nodes according to an embodiment of the present invention, which is described from the perspective of an application server, and as illustrated in fig. 6, the method provided in this embodiment includes the following steps.
Step S101, the application server receives a service request sent by the load balancing server, wherein the service request comprises an identification of a target node pool to be accessed.
Different from the prior art, when a client initiates a service request, the service request carries an identifier of a target node pool to be accessed, the identifier of the node pool is also referred to as a serial number of the node pool, and the service request may be a hypertext transfer protocol (http) request or a hypertext transfer protocol over secure socket layer (https) request based on a security layer. When the client accesses the server, the identifier of the target node pool needing to be accessed is configured in the Header of the https request according to the node pool identifier agreed with the server in advance.
S102, the application server inquires the target node pool according to the identification of the target node pool, and selects a normally-running CICS node from the target node pool as a target CICS node.
A plurality of node pools may be configured in the application server, and the application server queries the target node pool from the configured node pools according to the identification of the target node pool.
In an exemplary manner, the nodes included in the target node pool are normally operating CICS nodes, and the abnormally operating CICS nodes are deleted from the target node pool. In the running process of the application program, normally running CICS nodes can be stored in cache pools corresponding to a target node pool, wherein each node pool corresponds to one cache pool, the cache pools can be JavaGateWay cache pools, and when the application server selects the CICS nodes, the normally running CICS nodes are selected from the JavaGateWay cache pools.
Accordingly, the application server periodically reads the information of the plurality of CICS nodes in the target node pool according to the preconfigured scanning period, for example, the nodes in the node pool are trained every 60 seconds or 90 seconds. And aiming at any CICS node, sending a CICS request to a background server according to the information of the CICS node, judging whether the CICS node normally operates according to the return result of the CICS request, wherein the return result of the CICS request can be a return code, if the return code is normal, the success of the return is determined, the CICS node normally operates, and if the return code is abnormal, the failure of the return is determined, the CICS node abnormally operates, and the abnormal operation is also called as abnormal operation or abnormal operation of the CICS node.
And when the CICS node abnormally operates, deleting the CICS node from the cache pool corresponding to the target node pool. And when the CICS node normally operates, continuously storing the CICS node in a cache pool corresponding to the target node pool.
Optionally, log information of the abnormally-operating CICS node may also be output, so that a worker may perform optimization processing according to the log information or repair the CICS node.
Optionally, notification information may be output to notify a worker that the CICS node is invalid, so that the worker can repair the CICS node in time.
In another exemplary manner, state information is added to each CICS node in a target node pool or a cache pool corresponding to the target node pool, where the state information is used to indicate whether the CICS node normally operates, and the application server periodically detects whether each CICS node normally operates according to the above manner, and updates the state information of each CICS node according to the detection result. Correspondingly, the application server selects a CICS node with a normal running state as the target node according to the state information of each CICS node in the target node pool.
In another exemplary manner, the application server selects a candidate CICS node from the target node pool, sends a CICS request to the background server according to information of the candidate CICS node, and determines whether the candidate CICS node normally operates according to a return result of the CICS request. When the candidate CICS node normally runs, determining the candidate CICS node as a target CICS node; when the candidate CICS node runs very much, selecting one candidate CICS node from the rest CICS nodes in the target node pool, and returning to execute the step of sending the CICS request to the background server according to the information of the candidate CICS node until the normally running CICS node is found. This approach may result in a delay of the service request due to real-time detection of whether the CICS node is operating normally.
Optionally, when the application server selects the target CICS node in the target node pool, the application server preferentially selects the CICS node where the application server is located, and when the CISC node where the application server is located abnormally operates, the application server selects the CICS node where the application server is located as the target node. Because the load balancing server performs load balancing when sending the service request to the application server, selecting the CICS node where the load balancing server is located can ensure load balancing.
S103, the application server calls the target CICS node to access the background server.
And the server side assembles an XML message request corresponding to the target CICS node according to the transaction data and the transaction request of the front end and by combining the message content agreed by the background server.
And S104, the application server returns a response of the service request to the load balancing server.
And the application server analyzes the XML message of the background server responding to the target CICS node, performs corresponding logic processing and returns a response of the service request to the load balancing server.
In this embodiment, a node pool is configured on each application server, where the node pool includes multiple CICS nodes, and each CICS node in the node pool can be called by a server where the application server is located and servers where other CICS nodes are located, when the application server receives a service request sent by a load balancing server, the application server queries a target node pool according to an identifier of a target node pool to be accessed, which is included in the service request, selects one normally-running CICS node from the target node pool as a target CICS node, then calls the target CICS node to access a background server, and returns a response to the service request to the load balancing server. Because each application server can access other CICS nodes in the node pool besides the CICS node where the application server is located, when the CICS node where the application server is located is abnormal, the CICS nodes of other servers can be called to process the service request, and therefore the problem that the service request processing fails due to the abnormal CICS node of the application server is solved.
Fig. 7 is a signaling flowchart of a method for invoking multiple CICS nodes according to a second embodiment of the present invention, and as shown in fig. 7, the method according to the second embodiment includes the following steps.
S201, configuring a plurality of CICS node information on an application server.
Configuring a plurality of CICS node information in an application program, wherein the CICS nodes belong to one or more node pools, the configuration information is configured in a file of src/main/resource/ctgConfiguration.
S202, the application server initializes the CICS node scanner.
When an application program is started, initializing a node pool in an src/main/resource/ctgconfiguration xml configuration file, caching information in the node pool into a CtgSendAndRecXML class, starting a CICS node, and using a scanner to scan whether each CICS node is normally started.
S203, the application server trains CICS nodes of each node pool in the configuration file every 60 seconds.
When the application program is started, the node can be trained for every 60 second round, and a longer or shorter period can be set.
And S204, the application server performs CICS node health check.
And the health check is to detect whether the nodes in each node pool operate normally, and perform health check on each node in each node pool in sequence, where the specific health check mode refers to the description related to the first embodiment, and is not described herein again.
S205, the application server continuously stores the normally running CICS nodes in a JavaGateWay cache pool.
S206, the application server deletes the abnormal CICS node from the JavaGateWay cache pool and prints an error log.
The error log is log information of the CICS node which is abnormally operated, and is convenient for subsequently positioning the reason of the abnormal occurrence of the CICS node and the like.
S207, the client adds the identification of the target node pool to be accessed in the service request according to an Application Programming interface (API for short) agreed with the server.
When the client accesses the server, the identifier of the node pool needing to be accessed is configured in a Header in the https request according to the node pool identifier agreed with the server in advance.
And S208, the load balancing server distributes the service request to an application server which normally operates.
S209, the application server judges whether the CICS node needs to be called.
The application server receives the service request sent by the load balancing server, judges whether the CICS node needs to be called according to the agreed API, executes step S209 if the CICS node needs to be called, and processes the service request if the CICS node does not need to be called.
S210, the application server inquires the target node pool according to the identification of the target node pool in the service request.
S211, the application server assembles the message of the CICS node.
And the application server combines the content of the message appointed by the background according to the service data and the service request of the front end to assemble the XML message corresponding to the CICS node.
S212, the application server selects a CICS node which operates normally from the target node pool.
S213, the application server successfully accesses the background application server through the selected CICS node to perform corresponding logic processing.
S214, the application server returns the response of the service request to the client.
Fig. 8 is a schematic structural diagram of an application server according to a third embodiment of the present invention, where the application server 100 belongs to a cluster system, the cluster system includes a load balancing server, multiple application servers, and at least one background server, each application server is deployed with a CICS node of a client information control system, each application server is configured with a node pool, configuration information of the node pool includes information of multiple CICS nodes, the multiple CICS nodes in the node pool are used to access the same background server, and the CICS nodes in the node pool can be invoked by servers where the CICS nodes are located and servers where other CICS nodes are located. The application server 100 includes: a receiving module 11, a selecting module 12, a calling module 14 and a sending module 15.
A receiving module 11, configured to receive a service request sent by a load balancing server, where the service request includes an identifier of a target node pool to be accessed;
a selecting module 12, configured to query the target node pool according to the identifier of the target node pool, and select a normally operating CICS node from the target node pool as a target CICS node;
the calling module 13 is used for calling the target CICS node to access the background server;
a sending module 14, configured to return a response to the service request to the load balancing server.
Optionally, the nodes included in the target node pool are normally operating CICS nodes.
Optionally, the health check module is further included, and is configured to:
periodically reading the information of a plurality of CICS nodes in the target node pool according to a preset scanning period;
aiming at any CICS node, sending a CICS request to the background server according to the information of the CICS node;
judging whether the CICS node normally operates or not according to a return result of the CICS request;
and when the CICS node abnormally operates, deleting the CICS node from the cache pool corresponding to the target node pool, and storing the CICS node which normally operates in the cache pool corresponding to the target node pool.
Optionally, the method further includes: and the log output module is used for outputting the log information of the abnormally operated CICS node.
Optionally, the selecting module 12 is specifically configured to:
selecting a candidate CICS node from the target node pool;
sending a CICS request to the background server according to the information of the candidate CICS node;
judging whether the candidate CICS node normally operates according to a return result of the CICS request;
when the candidate CICS node normally runs, determining the candidate CICS node as the target CICS node;
when the candidate CICS node runs very much, selecting one candidate CICS node from the rest CICS nodes in the target node pool, and returning to execute the step of sending the CICS request to the background server according to the information of the candidate CICS node.
Optionally, the information of the CICS node includes: the system comprises an identifier of a node pool, identifiers of CICS nodes, an internet protocol IP address, a port number, a service name, a user name, a password, timeout time, a version, a character set and a channel identifier bit.
The apparatus of this embodiment may be configured to execute the method executed by the application server in the foregoing method embodiment, and the specific implementation manner and the technical effect are similar and will not be described again here.
Fig. 9 is a schematic structural diagram of an application server according to a fourth embodiment of the present invention, and as shown in fig. 9, the application server 200 includes: the processor 21 is configured to execute the instructions stored in the memory, so that the application server 200 executes the method steps executed by the application server in the foregoing method embodiment, and the specific implementation manner and the technical effect are similar, which is not described herein again.
A fifth embodiment of the present invention provides a computer-readable storage medium, where a computer execution instruction is stored in the computer-readable storage medium, and the computer execution instruction, when executed by a processor, is used to implement the method performed by the application server in the foregoing method embodiments, and specific implementation manners and technical effects are similar, and are not described herein again.
A sixth embodiment of the present invention provides a computer program product, including a computer program, where when the computer program is executed by a processor, the method performed by an application server in the foregoing method embodiments is implemented, and specific implementation manners and technical effects are similar, and are not described herein again.
Other embodiments of the invention will be apparent to those skilled in the art from consideration of the specification and practice of the invention disclosed herein. This invention is intended to cover any variations, uses, or adaptations of the invention following, in general, the principles of the invention and including such departures from the present disclosure as come within known or customary practice within the art to which the invention pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the invention being indicated by the following claims.
It will be understood that the invention is not limited to the precise arrangements described above and shown in the drawings and that various modifications and changes may be made without departing from the scope thereof. The scope of the invention is limited only by the appended claims.

Claims (15)

1. The method for calling the multiple CICS nodes is characterized by being applied to a cluster system, wherein the cluster system comprises a load balancing server, a plurality of application servers and at least one background server, each application server is provided with a CICS node of a client information control system, each application server is provided with a node pool, configuration information of the node pool comprises information of a plurality of CICS nodes, the plurality of CICS nodes in the node pool are used for accessing the same background server, and the CICS nodes in the node pool can be called by a server where the CICS nodes are located and servers where other CICS nodes are located; the method comprises the following steps:
the application server receives a service request sent by a load balancing server, wherein the service request comprises an identifier of a target node pool to be accessed;
the application server inquires the target node pool according to the identification of the target node pool, and selects a normally-running CICS node from the target node pool as a target CICS node;
the application server calls the target CICS node to access the background server;
and the application server returns the response of the service request to the load balancing server.
2. The method of claim 1, wherein the nodes included in the pool of target nodes are normally operating CICS nodes.
3. The method of claim 2, further comprising:
the application server periodically reads the information of a plurality of CICS nodes in the target node pool according to a preset scanning period;
aiming at any CICS node, the application server sends a CICS request to the background server according to the information of the CICS node;
the application server judges whether the CICS node normally operates according to a return result of the CICS request;
and when the CICS node abnormally operates, the application server deletes the CICS node from the cache pool corresponding to the target node pool, and the CICS node which normally operates is stored in the cache pool corresponding to the target node pool.
4. The method of claim 3, further comprising:
and the application server outputs the log information of the CICS node which is abnormally operated.
5. The method of claim 1, wherein the selecting a normally operating CICS node from the pool of target nodes as a target CICS node comprises:
selecting a candidate CICS node from the target node pool;
sending a CICS request to the background server according to the information of the candidate CICS node;
judging whether the candidate CICS node normally operates according to a return result of the CICS request;
when the candidate CICS node normally runs, determining the candidate CICS node as the target CICS node;
when the candidate CICS node runs very much, selecting one candidate CICS node from the rest CICS nodes in the target node pool, and returning to execute the step of sending the CICS request to the background server according to the information of the candidate CICS node.
6. The method according to any of claims 1-5, wherein the information of the CICS node comprises: the system comprises an identifier of a node pool, identifiers of CICS nodes, an internet protocol IP address, a port number, a service name, a user name, a password, timeout time, a version, a character set and a channel identifier bit.
7. An application server is characterized in that the application server belongs to a cluster system, the cluster system comprises a load balancing server, a plurality of application servers and at least one background server, each application server is provided with a client information control system CICS node, each application server is provided with a node pool, configuration information of the node pool comprises information of a plurality of CICS nodes, the plurality of CICS nodes in the node pool are used for accessing the same background server, and the CICS nodes in the node pool can be called by the server where the CICS nodes are located and the servers where other CICS nodes are located; the application server includes:
a receiving module, configured to receive a service request sent by a load balancing server, where the service request includes an identifier of a target node pool to be accessed;
the selection module is used for inquiring the target node pool according to the identification of the target node pool and selecting a normally-running CICS node from the target node pool as a target CICS node;
the calling module is used for calling the target CICS node to access the background server;
and the sending module is used for returning the response of the service request to the load balancing server.
8. The server according to claim 7, wherein the nodes included in the pool of target nodes are normally operating CICS nodes.
9. The server of claim 8, further comprising a health check module to:
periodically reading the information of a plurality of CICS nodes in the target node pool according to a preset scanning period;
aiming at any CICS node, sending a CICS request to the background server according to the information of the CICS node;
judging whether the CICS node normally operates or not according to a return result of the CICS request;
and when the CICS node abnormally operates, deleting the CICS node from the cache pool corresponding to the target node pool, and storing the CICS node which normally operates in the cache pool corresponding to the target node pool.
10. The server of claim 9, further comprising:
and the log output module is used for outputting the log information of the abnormally operated CICS node.
11. The server according to claim 7, wherein the selection module is specifically configured to:
selecting a candidate CICS node from the target node pool;
sending a CICS request to the background server according to the information of the candidate CICS node;
judging whether the candidate CICS node normally operates according to a return result of the CICS request;
when the candidate CICS node normally runs, determining the candidate CICS node as the target CICS node;
when the candidate CICS node runs very much, selecting one candidate CICS node from the rest CICS nodes in the target node pool, and returning to execute the step of sending the CICS request to the background server according to the information of the candidate CICS node.
12. The server according to any of claims 7-11, wherein the information of the CICS node comprises: the system comprises an identifier of a node pool, identifiers of CICS nodes, an internet protocol IP address, a port number, a service name, a user name, a password, timeout time, a version, a character set and a channel identifier bit.
13. An application server, comprising: at least one processor and memory;
the memory stores computer-executable instructions;
the at least one processor executing the computer-executable instructions stored by the memory causes the at least one processor to perform the method of any of claims 1-6.
14. A computer-readable storage medium having computer-executable instructions stored thereon, which when executed by a processor, are configured to implement the method of any one of claims 1 to 6.
15. A computer program product comprising a computer program, characterized in that the computer program, when executed by a processor, implements the method of any one of claims 1 to 6.
CN202110544845.7A 2021-05-19 2021-05-19 Calling method and device for multiple CICS nodes Active CN113515375B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110544845.7A CN113515375B (en) 2021-05-19 2021-05-19 Calling method and device for multiple CICS nodes

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110544845.7A CN113515375B (en) 2021-05-19 2021-05-19 Calling method and device for multiple CICS nodes

Publications (2)

Publication Number Publication Date
CN113515375A true CN113515375A (en) 2021-10-19
CN113515375B CN113515375B (en) 2024-05-24

Family

ID=78064628

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110544845.7A Active CN113515375B (en) 2021-05-19 2021-05-19 Calling method and device for multiple CICS nodes

Country Status (1)

Country Link
CN (1) CN113515375B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115766733A (en) * 2022-11-14 2023-03-07 中国建设银行股份有限公司 Node information processing system and method
CN118394357A (en) * 2024-06-28 2024-07-26 北京火山引擎科技有限公司 Application deployment method, application access method, device, equipment and storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997024664A1 (en) * 1995-12-29 1997-07-10 Mci Communications Corporation System and method for transferring messages between application programs running in a distributed computing environment
CN101778017A (en) * 2010-01-05 2010-07-14 中国工商银行股份有限公司 Method and server for processing on-line transaction fault event of mainframe
CN109067611A (en) * 2018-07-13 2018-12-21 中国银行股份有限公司 The method, apparatus of communication state, storage medium and processor between detection system
US10216612B1 (en) * 2016-07-01 2019-02-26 Fundi Software Pty Ltd System and method for accessing server information
CN111176715A (en) * 2019-12-16 2020-05-19 青岛聚看云科技有限公司 Information calling method and server

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997024664A1 (en) * 1995-12-29 1997-07-10 Mci Communications Corporation System and method for transferring messages between application programs running in a distributed computing environment
CN101778017A (en) * 2010-01-05 2010-07-14 中国工商银行股份有限公司 Method and server for processing on-line transaction fault event of mainframe
US10216612B1 (en) * 2016-07-01 2019-02-26 Fundi Software Pty Ltd System and method for accessing server information
CN109067611A (en) * 2018-07-13 2018-12-21 中国银行股份有限公司 The method, apparatus of communication state, storage medium and processor between detection system
CN111176715A (en) * 2019-12-16 2020-05-19 青岛聚看云科技有限公司 Information calling method and server

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115766733A (en) * 2022-11-14 2023-03-07 中国建设银行股份有限公司 Node information processing system and method
CN118394357A (en) * 2024-06-28 2024-07-26 北京火山引擎科技有限公司 Application deployment method, application access method, device, equipment and storage medium
CN118394357B (en) * 2024-06-28 2024-09-03 北京火山引擎科技有限公司 Application deployment method, application access method, device, equipment and storage medium

Also Published As

Publication number Publication date
CN113515375B (en) 2024-05-24

Similar Documents

Publication Publication Date Title
US10880231B2 (en) Systems and methods for determining routing information for a network request
EP0817043B1 (en) Apparatus and method for operating an aggregation of server computers using a dual-role proxy server computer
US10958735B2 (en) Client connection method and system
WO2016184175A1 (en) Database processing method and apparatus
US10924326B2 (en) Method and system for clustered real-time correlation of trace data fragments describing distributed transaction executions
US20070233862A1 (en) Trend analysis based on network admission control fingerprints
CN108881066B (en) Routing request method, access server and storage device
JP4805912B2 (en) Anomaly management method for multi-agent systems
US10891193B2 (en) Application health monitoring and automatic remediation
US8732694B2 (en) Method and system for performing services in server and client of client/server architecture
CN112003721B (en) Method and device for realizing high availability of large data platform management node
CN113515375B (en) Calling method and device for multiple CICS nodes
CN113347037B (en) Data center access method and device
US8326913B2 (en) Method and system for service contract discovery
US10645183B2 (en) Redirection of client requests to multiple endpoints
US20080222164A1 (en) Method and apparatus to provide guaranteed deployment of applications to nodes in an enterprise
US9485156B2 (en) Method and system for generic application liveliness monitoring for business resiliency
CN114531498B (en) Data transmission method, device, electronic equipment and storage medium
CN114448703B (en) Request processing method, request processing device, electronic equipment and storage medium
Alshareef et al. Robust cloud management of MANET checkpoint sessions
CN111064636B (en) Control method, device and system for connection of front-end processor and computer equipment
CN109981738B (en) A cloud server suitable for narrowband IoT applications
CN109510864B (en) A kind of forwarding method, transmission method and related device of cache request
WO2025052422A1 (en) System and method for managing connections between a client and a server
CN113220491B (en) Remote call self-adaptive load balancing method, device and system and computer equipment

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