CN102932444A - Load balancing module in financial real-time trading system - Google Patents

Load balancing module in financial real-time trading system Download PDF

Info

Publication number
CN102932444A
CN102932444A CN2012104192393A CN201210419239A CN102932444A CN 102932444 A CN102932444 A CN 102932444A CN 2012104192393 A CN2012104192393 A CN 2012104192393A CN 201210419239 A CN201210419239 A CN 201210419239A CN 102932444 A CN102932444 A CN 102932444A
Authority
CN
China
Prior art keywords
event
load balancing
load
network interface
interface card
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
CN2012104192393A
Other languages
Chinese (zh)
Other versions
CN102932444B (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.)
SHANGHAI CHINA UNION LOYALTY CO Ltd
Original Assignee
SHANGHAI CHINA UNION LOYALTY CO Ltd
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 SHANGHAI CHINA UNION LOYALTY CO Ltd filed Critical SHANGHAI CHINA UNION LOYALTY CO Ltd
Priority to CN201210419239.3A priority Critical patent/CN102932444B/en
Publication of CN102932444A publication Critical patent/CN102932444A/en
Application granted granted Critical
Publication of CN102932444B publication Critical patent/CN102932444B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

The invention discloses a load balancing module in a financial real-time trading system, which is located between a terminal and a background server cluster. The load balancing module comprises at least two servers, each load balancing server is provided with a foreground network card and a background network card and adopts a VRRP (virtual router redundancy protocol). The foreground network cards are in one set and are externally provided with a unique IP (internet protocol) address and a unique MAC (media access control) address and internally divided into a master control foreground network card and the reset of backup foreground network cards. The background network cards are also in one set and are externally provided with a unique IP (internet protocol) address and a unique MAC (media access control) address and internally divided into a master control background network card and the reset of backup background network cards. Each load balancing server operates a load balancing program, and the load balancing program comprises a load balancing process, a multi-machine hot standby process and a monitoring process; and in the multi-machine hot standby process, the master control foreground network card and the master control background network card determined by the VRRP protocol are monitored, and the master control foreground network card and the master control background network card must be on a same load balancing server.

Description

Load balancing module in the finance real-time transaction system
Technical field
The application relates to a kind of financial real-time transaction system, particularly relates to the communication module between terminal and background server.
Background technology
People have just used financial real-time transaction system when financial cards such as using bank card, prepaid card carries out consumer sale.See also Fig. 1, this is the simple principle schematic diagram of financial real-time transaction system, comprising:
---a plurality of terminals 10: be used for reading financial card image, and the transaction request that will include financial card image and Transaction Information sends to background server 50, also receive the transaction results that background server 50 returns.Described terminal 10 comprises machine for punching the card (also claiming the POS machine), is integrated with the cashier's machine of function of swiping card etc.,
---background server 50: be used for receiving the transaction request from each terminal 10, after according to financial card image (such as the card number of financial card, password etc.) Transaction Information (such as dealing money etc.) being processed, transaction results is returned to each terminal 10.
In financial real-time transaction system, transaction request, transaction results are the message form that meets the ISO8583 agreement.
In the financial real-time transaction system shown in Figure 1, the One's name is legion of terminal 10, thereby the transaction request of sending simultaneously may have thousands of, this will bring to the parallel processing capability of background server 50 great pressure.For this reason, the financial real-time transaction system of practical application is provided with communication module 20 at the front end of background server 50, as shown in Figure 2.The communication module 20 that newly increases is used for receiving in real time the transaction request from the short connected mode transmission of a plurality of terminals 10, and with it to grow the connected mode asynchronous transmission to background server 50; Also receive background server 50 growing the transaction results of connected mode asynchronous transmission, and it is sent it back each terminal 10 simultaneously with short connected mode.Adopt the short communication modes that is connected between described communication module 20 and the terminal 10, just connect when namely whenever carrying out a packet sending and receiving, receive and dispatch and disconnect immediately after complete.Adopt the long communication modes that is connected between described communication module 20 and the background server 50, namely connect first and carry out again packet sending and receiving, when not having packet sending and receiving, connect and also do not disconnect.
Obviously, received synchronously, concurrently the transaction request of each terminal 10 by communication module 20, it is cached rear serial, sends to background server 50 asynchronously, this has improved the responding ability to foreground (terminal 10) greatly, has greatly alleviated again the pressure to backstage (background server 50).Simultaneously, communication module 20 is gone back the transaction results that serial received background server 50 returns, and it is back to each terminal 10 concurrently.
At present, described communication module 20 mainly is to be realized by a kind of special hardware device " net control device " (Network Access Controller).Net control device comprises two network interface cards being called as first line of a couplet card and second line of a couplet card, bus, such as the various interface of cable interface, serial line interface, modem interface etc.Wherein, second line of a couplet card and terminal 10 are carried out the message communication by physical connection modes such as dial-up network, special line, local area network (LAN)s, first line of a couplet card and background server 50 carry out the message communication by physical connection modes such as serial line interface, modem, local area network (LAN)s, between second line of a couplet card and the first line of a couplet card by the internal bus swap data and be subjected to the control of internal routing table.
Described communication module 20 can be a net control device, also can be many net control devices of cascade.For example as shown in Figure 3, terminal 10a is positioned at Beijing, background server 50 is positioned at Shanghai City, terminal 10a connects the first net control device 21a as Beijing's node, this first net control device 21a connects the second net control device 21b as the north China Region domain node again, this second net control device 21b connects the 3rd net control device 21c as the Shanghai City root node again, and the 3rd net control device 21c directly connects background server 50.At this moment, adopt short connecting communication between the first net control device 21a and the terminal 10a, all adopt long connecting communication between the cascade between each net control device and the 3rd net control device 21c and the background server 50.
The communication module 20 of being realized by net control device 21 has following defective:
One, background server 50 are that financial institution is used for settlement of transactions, and each financial institution only disposes a place in the world usually.Along with the fast development of financial transaction, background server 50 develops into the computer cluster based on distributed system gradually.And every net control device 21 all can only be connected to a background server 50, does not support computer cluster, does not naturally also possess load-balancing function.
For the background server cluster, at present can only be for each background server 50 arrange separately independently communication module 20, and be each communication module 20 distributing terminals 10 according to flow and the concurrent number of message.In the practical application, because message flow and concurrent number change at any time, the processing mode of this manual intervention is dumb, be difficult to adjust.
Its two, net control device 21 is not supported the online backup function, can only adopt the mode of cold machine backup.In case a certain net control device 21 breaks down, and can only adopt the mode of manual reversion, cost is high, has a big risk.
Its three, the foreground number of connection that every net control device 21 can be supported is limited.Along with the fast development of financial transaction, number of transaction constantly rises in the time of in peak period, and this just need to constantly purchase new net control device 21 and be deployed in the communication module 20, has increased the operation and maintenance cost.
Summary of the invention
The application's technical problem to be solved provides the load balancing module in a kind of financial real-time transaction system, is used for substituting the communication module that existing financial real-time transaction system is in same position.Described load balancing module can be used for the background server cluster environment, and supports online backup, also is convenient to expanding treatment ability, and has higher handling property and stronger stability.
For solving the problems of the technologies described above, the load balancing module in the application's finance real-time transaction system is between terminal and background server cluster;
Described load balancing module comprises at least two-server, and every load-balanced server all has a foreground network interface card and a backstage network interface card, and all adopts VRRP agreement (Virtual Router Redundancy Protocol);
Described VRRP agreement consists of one group with all foreground network interface cards, and selects a master control foreground network interface card, and remaining is as backup foreground network interface card; Also all backstage network interface cards are also consisted of one group, and select a master control backstage network interface card, remaining is as backup backstage network interface card;
Every load-balanced server has all moved the load balancing program, and this load balancing program comprises load balancer process, multi-host hot swap process and monitoring process; Described monitoring process is used for when load balancer process and/or multi-host hot swap process withdraw from it being restarted; The master control foreground network interface card that described multi-host hot swap process monitoring Virtual Router Redundancy Protocol is selected and master control backstage network interface card, and require both must be on same load-balanced server; Go back phase mutually synchronization master control foreground network interface card and the information of master control backstage network interface card on which platform load-balanced server between described load balancer process and the multi-host hot swap process.
Further, be multi-host hot swap relation or the mutual standby relation of multimachine between each load-balanced server; Under the multi-host hot swap relation, one group of foreground network interface card externally only has unique ip address and MAC Address, and one group of backstage network interface card externally also only has unique ip address and MAC Address; Mutually under the standby relation, one group of foreground network interface card externally has x IP address and MAC Address at multimachine, and one group of backstage network interface card externally also has x IP and MAC Address, and x is the number of mutual standby load-balanced server.
Further, described load balancer process as thread, is carried out task scheduling according to the load of each background server of background server cluster with message; Be short connecting communication mode between described load balancer process and each terminal, and be long connecting communication mode between each background server.
Further, described load balancer process is at intervals to being connected the order that sends the state that is used for obtaining this long connection with each background server long, and obtains the result that this order is returned, and judges thus whether the long connection of each bar is interrupted;
Described order comprises getsockopt function with the SO_ERROR option, with the getsockopt function of TCP_INFO option;
Described result comprises the RETRANSMIT territory in described SO_ERROR option, the described TCP_INFO option; These two any one shows that a certain long connection is unusual as a result, and then described load balancer process is judged this long disconnecting, and stops to carry out task scheduling to the background server of correspondence; Otherwise described load balancer process judges that this long connection is normal.
Further, described load balancer process only arranges the transmission buffering area for each background server, is used for the message that buffer memory is issued this background server; (reception buffer zone is not set) judges a certain long disconnecting when described load balancer process, then the data in the transmission buffering area of corresponding background server setting in the load-balanced server abandoned.
Further, described load-balanced server adopts the event-driven algorithm based on EPOLL, but the expansion I/O event notification mechanism that EPOLL is linux kernel to be provided;
Described event-driven algorithm based on EPOLL is divided into three kinds of large classes with event, and according to priority ordering is from high to low: real-time event, ready event, synchronizing signal are called event;
Described ready event is divided into again three kinds of groups, and according to priority ordering is from high to low: subprocess withdraws from event, IO read-write event, overtime event;
Described ready event its life cycle have from front to back registration, ready, carry out, reclaim four kinds of states.
Further, described overtime event just transfers ready state from login state to through the time that sets in advance; Adopt the CPU time during computing time.
Further, described IO read-write event need to read or register during data writing from some IO ports in any process; When EPOLL mechanism send this IO port have data can for read, maybe can be when the data writing, this IO read-write event transfers ready state to.
Further, when ready event is in the recovery state, do not discharge the shared memory headroom of this ready event, so that can directly utilize this memory headroom during new ready event registration; Only have when memory source is not enough, the shared memory headroom of ready event that reclaims state just can be released.
Load balancing module in the application's finance real-time transaction system has the several functions such as multi-host hot swap (or multimachine is standby mutually), load balancing, event-driven, not only can the perfect communication module that replaces in the existing financial real-time transaction system, and in all many-sides such as function, performance, autgmentabilities larger lifting has been arranged.
Description of drawings
Fig. 1 is the theoretical construct schematic diagram of financial real-time transaction system;
Fig. 2 is the practical structures schematic diagram of existing financial real-time transaction system;
Fig. 3 is by the schematic diagram of many net control device cascades as communication module in the existing financial real-time transaction system;
Fig. 4 is the structural representation of the application's financial real-time transaction system;
Fig. 5 is the flow chart of the application's health examination algorithm;
Fig. 6 is the event classification chart that the application's the event-driven algorithm based on EPOLL mechanism has.
Description of reference numerals among the figure:
10,10a is terminal; 20,20a, 20b, 20c are communication module; 30 is load balancing module; 31 is load-balanced server one; 32 is load-balanced server two; 50 is background server; 500 is the background server cluster.
Embodiment
See also Fig. 4, the application's finance real-time transaction system comprises:
---a plurality of terminals 10: be used for reading financial card image, and transaction request is sent to background server cluster 500, also receive the transaction results that background server cluster 500 returns.
---load balancing module 30: be used for receiving in real time the transaction request from the short connected mode transmission of a plurality of terminals 10, and with it to grow the connected mode asynchronous transmission to background server cluster 500; Also receive background server cluster 500 growing the transaction results of connected mode asynchronous transmission, and it is sent it back each terminal 10 simultaneously with short connected mode.Adopt the short communication modes that is connected between described load balancing module 30 and the terminal 10.Adopt the long communication modes that is connected between described load balancing module 30 and the background server cluster 500.
---background server cluster 500: be used for receiving the transaction request from load balancing module 30, after according to financial card image Transaction Information being processed, transaction results returned to load balancing module 30.
Described background server cluster 500 is comprised of a plurality of background servers 50.
Described load balancing module 30 is comprised of at least two load-balanced server servers 31,32.Every load-balanced server all has two network interface cards, and one is carried out communication and is called the foreground network interface card with each terminal 10, and another piece and each background server 50 carry out communication and be called the backstage network interface card.All load-balanced servers all adopt the VRRP agreement, so that all foreground network interface cards (on the physical significance) consist of one group, and select a master control foreground network interface card, remaining is as backup foreground network interface card.Described VRRP agreement still consists of one group with all backstage network interface cards, and selects a master control backstage network interface card, and remaining is as backup backstage network interface card.
The VRRP agreement is generally used for virtual route, is single network card equipment in its applied environment.The application is applied to have in the computer environment of two network interface cards, such situation may occur: the foreground network interface card of load-balanced server 1 is chosen to be master control foreground network interface card by the VRRP agreement, the backstage network interface card of load-balanced server 2 32 is chosen to be master control backstage network interface card by the VRRP agreement, and does not carry out exchanges data thereby produced mistake between these two physical network cards.
Each station server 31,32 of load balancing module 30 ... in all the operation load balancing program is arranged, this load balancing program mainly comprises load balancer process, multi-host hot swap process and monitoring process.Multi-host hot swap process is wherein monitored the selected master control foreground network interface card of VRRP agreement and master control backstage network interface card especially, and requires both must be on same load-balanced server.For example can adopt following method: when the foreground network interface card on the load-balanced server is chosen as master control foreground network interface card, then also elect the backstage network interface card on this load-balanced server as master control backstage network interface card forcibly.If can't force election, illustrate that then load balancing module 30 or network environment make mistakes, will report to the police this moment in modes such as mails, transfer artificial treatment to.
Also carry out information synchronization between described load balancer process and the multi-host hot swap process, synchronous information comprises: master control foreground network interface card and master control backstage network interface card are on which platform load-balanced server.
Described multi-host hot swap process can realize the multi-host hot swap function, namely only has under normal circumstances load-balanced server 1 to carry out work, and load-balanced server 2 32 is not worked; When load-balanced server 1 breaks down, then turn by load-balanced server 2 32 and carry out work.Described multi-host hot swap process also can realize mutually standby function of multimachine, and namely two load-balanced servers 31,32 carry out work independently of one another under normal circumstances, and are made as each other standby host; When a station server breaks down, the work of its processing turns by another station server and is undertaken, and does not affect original work of the server of this catcher.Multi-host hot swap, multimachine are standby mutually all to have ripe algorithm to be realized, the application is no longer given unnecessary details.
Described load balancer process is carried out task scheduling as thread with message between each background server 50, this is the remarkable difference with existing load-balancing algorithm.The foundation of in addition, carrying out task scheduling is to make the live load of each background server 50 be maintained roughly the same as far as possible.
Existing load-balancing algorithm is take session (session) as thread.Session refers to establish a communications link, keep between two nodes in communication network communication connection unimpeded with swap data, stop the process of communication connection.
This load-balancing algorithm take session as thread can't be realized the balance dispatching to server cluster veritably, illustrates as follows:
If a web server clusters has adopted existing load-balancing algorithm take session as thread, when a user's access request is assigned to server A, and logined in server A.Then in a short period of time, this user (for example determining whether same user with the IP address) has sent again an access request, if there is not session to keep function, this user's request probably can be assigned to server B.This time this user server B less than the login, so this user will login again.From user's angle, what he faced is " one " web page server, and he feels and need to repeat at short notice to log in, thereby the user experiences very bad.Experience in order to promote the user, existing load-balancing algorithm take session as thread all includes session and keeps function, within a period of time same user's access request is all distributed to same station server.So in fact, be not that the operating load of considering every station server fully carries out dispatching distribution, wherein be doped with the factor that session keeps.Only for the access request of different user, existing load-balancing algorithm take session as thread has just really been realized carrying out dispatching distribution with the operating load of every station server owing to need not to consider the session maintenance.
The application is with the thread of message as load-balancing algorithm.Described message for example is the message that meets the ISO8583 agreement, comprises transaction request, transaction results etc.Owing to not having each other association between the financial transaction, be independent of each other, even if thereby a plurality of transaction request of sending of same terminal 10, also can distribute to the different server 50 in the background server cluster 500.Therefore the load-balancing algorithm that adopts of the application does not need session to keep function, and this makes each station server 50 in the background server cluster 500 only obtain dispatching distribution according to operating load, thereby the most balanced, bring into play handling property fully.
Usually, described load balancer process and each station server 50 in the background server cluster 500 are set up one and only set up and long a connection be used for the message communication.Described load balancer process adopt the health examination algorithm know with each station server 50 between be connected and whether interrupt, in case disconnecting then stop to carry out dispatching distribution to it recovers just to restart to carry out dispatching distribution to it in case connect.Described health examination algorithm roughly can be described as: load balancer process is at intervals to being connected the order that sends for the state that obtains this long connection with the long of each station server 50, and obtains the result that this order is returned.By analyzing described result, judge whether interrupt long connection of each bar.
The application exemplarily provides an embodiment of described health examination algorithm, as shown in Figure 5, comprises the steps:
The 1st goes on foot, and the SO_KEEPALIVE option of setsockopt function is set.The setsockopt function is that (POSIX standard) is used for the function that socket connects parameter is set under the LINUX system, is the abbreviation of set socket option.
Transmission Control Protocol is built-in with the inner health examination mechanism of KEEPALIVE, and way roughly is: send at set intervals a packet and receive and reply; If do not receive in setting time and to reply, then repeat to send by certain time interval; If having sent continuously N packet all can not receive to reply then think and connect to disconnect; As long as have in the packet that repeats to send one receive reply just think connect disconnected.
SO_KEEPALIVE is the option that the setsockopt function is supported, is used for arranging the parameter of KEEPALIVE mechanism, comprises the time interval that repeats to send packet, the maximum standby time that repeats transmission times, start-up check etc.Refer to the standby time of described start-up check: when system is passing through to connect the transmission of data, illustrate that then this connection does not disconnect, KEEPALIVE mechanism does not send packet.After system stops the transmission of data, just send packet through KEEPALIVE mechanism after predetermined time, described predetermined time is exactly " standby time of start-up check ".
In the 2nd step, described load balancer process is periodically to being connected transmission with the getsockopt function of SO_ERROR option with the long of each station server 50, and obtains the SO_ERROR option that it returns.Getsockopt is the function that (POSIX standard) is used for obtaining the socket connectivity option under the LINUX system, is the abbreviation of get socket option.SO_ERROR is the option that the getsockopt function is supported, is to check whether the state of socket connection is unusual, is the check result of checking KEEPALIVE mechanism specifically.The SO_ERROR option is generally one-bit digital, have an expression connect normal value (for example being 0) and are connected the unusual value of expression connection (for example be 1,2 ..., different values represent different abnormalities).
Described load balancer process also periodically sends the getsockopt function that is used for the TCP_INFO option to being connected with the length of each station server 50, and obtains the TCP_INFO option that it returns.TCP_INFO is another option that the getsockopt function is supported, is used for checking the TCP connection state information.Comprise the RETRANSMIT territory in the TCP_INFO option, wherein put down in writing the resend number of times of current time packet in this long connection.After tcp data wraps in and sends unsuccessfully for the first time, through behind the very first time interval, will carry out sending the second time; After sending unsuccessfully for the second time, after second time interval, will send for the third time; By that analogy, until arrive the maximum number of times of transmission of setting.And second time interval was the twice at very first time interval, and the 3rd time interval was the twice in second time interval ...Described RETRANSMIT has just put down in writing in the territory number of times that resends of tcp data bag current time, can obtain the time that resends of correspondence according to each time interval.
In the 3rd step, in case there is the long SO_ERROR option that connects of certain bar to show that connection is unusual, then described load balancer process is judged this long disconnecting, stops to corresponding background server 50 allocating tasks of this long connection.
Show that for the SO_ERROR option connecting normal length connects, and sees the RETRANSMIT territory in these long TCP_INFO options that connect again.
If the RETRANSMIT territory demonstration current time packet in these long TCP_INFO options that connect resends number of times greater than default threshold value (time that namely resends is greater than default threshold value) this long connection, then described load balancer process is judged this long disconnecting, stops to corresponding background server 50 allocating tasks of this long connection.
If the RETRANSMIT territory in these long TCP_INFO options that connect shows that the current time packet is less than or equal to default threshold value at the number of times that resends of this long connection, then described load balancer process judges that this long connection do not interrupt, still to corresponding background server 50 allocating tasks of this long connection.
Described the 1st step of method and the 2nd step are closely related, and only after the relevant parameter to KEEPALIVE mechanism arranged, the check result of the KEEPALIVE mechanism of obtaining was only timely, useful.Preferably, the application limits the span of each parameter in the SO_KEEPALIVE option and is:
---the time interval that repeats to send packet is 2 seconds.If this parameter arranges to such an extent that too little meeting affect network communication, because have a large amount of Packet Generations; If the promptness that checks of conference impact too is set to get, possible netting twine interrupts just can being found afterwards for a long time.
---maximum repetition transmission times is 7 times.If this parameter arranges to get the too little accuracy that can affect inspection, because have the situation of erroneous judgement; If the promptness that checks of conference impact too is set to get.
---be 1 second the standby time of start-up check.This parameter arranges littlely, more can begin as early as possible to check.
Above this group parameter can guarantee to find about second to connect at 1+2*7=15 to break down, and having passed through test of many times, to confirm that this organizes parameter more stable.
Described method is in the 3rd step, if only rely on the check result of KEEPALIVE mechanism, then it has a critical defect: can't in time find netting twine disconnect (such as from cable interface, come off, the people is for pulling up etc.) fault.When this type of fault occurs when, in the transmission buffering area of system kernel data are arranged, this moment, KEEPALIVE mechanism can not worked (after its transfer of data in the transmission buffering area of system kernel is complete, through just starting working set " standby time of start-up check "), be exactly the out-of-date check result of KEEPALIVE mechanism by the resulting result of SO_ERROR option.The application combines the TCP_INFO option simultaneously for this reason.Preferably, when showing the current time packet, the RETRANSMIT territory resend 6 times (namely altogether having sent 7 times) or more times in this long connection, corresponding to the time of resending be about 15 seconds (8 seconds=15.75 seconds the 4 seconds+the 6th time interval of the 2 seconds+the 5th time interval the 1 second+the 4th time interval the 0.5 second+the 3rd time interval, 0.25 second+second time interval of very first time interval) or the longer time, described load balancing module 30 is just thought and the fault that netting twine disconnects occurred, thereby judges this long disconnecting.The application is mutually comprehensive with the TCP_INFO option with the SO_ERROR option, just can intactly cover the judgement of various failure conditions.
Described method is in the 3rd step, except judging first the SO_ERROR option, when showing that connection is normal, sees again outside the TCP_INFO option SO_ERROR option, can also judge simultaneously SO_ERROR option and TCP_INFO option, as long as there is any one to show that a certain long connection is unusual among these two results, then described load balancer process is judged this long disconnecting.
Described method is in the 3rd step, when described load balancer process find its with background server cluster 500 in one or more server 50 between set up grow and be connected disconnection, then no longer be these server 50 allocating tasks.The transaction request that not yet is disposed can not feed back to terminal 10, and terminal 10 is not received transaction results in the given time then according to overtime trading processing, for example sends and rushes positive transaction request.The positive transaction request of described punching refers to: if transaction request is before processed by background server cluster 500, produced the operation of withholing; This rushes positive transaction request with regard to transaction request is before cancelled so, will withhold and return former account.If transaction request is before not yet processed by background server cluster 500, this rushes positive transaction request and does not just operate so.Simultaneously, described load balancer process all only is provided with the transmission buffering area for each connected background server 50, and reception buffer zone is not set.Described transmission buffering area is used for the messages such as transaction request that buffer memory sends to background server 50.Disconnect in case find a certain long connection, the application just will discard for the data in the transmission buffering area of corresponding background server 50 settings.The generation that can avoid following situation is set like this: in case rebulid long the connection between these background servers 50 and the described load balancing module 30, if do not abandon the content that sends in the buffering area, then these background servers 50 will inevitably be processed the message that sends in the buffering area, and this just might produce terminal 10 and think that overtime transaction is in the but contradiction situation of Successful Transaction of background server cluster 500.According to the application's method, when long between these servers 50 and the described load balancing module 30 is connected recover after, just can begin to receive new task, and can not be subject to the before impact of task.
The application's load-balanced server all moves a load balancing program, and this load balancing program is divided into a plurality of processes (process) execution when operation, and each process specifically is divided into again a plurality of events (event) when carrying out.Also has level between the described process, for example, the load balancing program comprises load balancer process, multi-host hot swap process and monitoring process, and monitoring process is the parent process of other two processes, no matter when being used for withdrawing from by any way in other two processes (for example collapse) they are restarted.
The described load-balanced server of the application adopts the event-driven algorithm based on EPOLL.But the expansion I/O event notification mechanism that EPOLL is the linux kernel of 2.6 above versions to be provided, EPOLL mechanism externally provides the state of I/O interface, comprises whether each IO port has data arrival can supply to read, whether the free time can supply data writing etc.
See also Fig. 6, the described event-driven algorithm based on EPOLL of the application is divided into three types with event:
---real-time event refers to by the caused event of manual operation.The manual operation meeting starts one or more processes to be carried out, and the corresponding event of these processes just belongs to real-time event, must process with limit priority.
---ready event, there are and only have three kinds, be respectively that subprocess withdraws from event, IO read-write event, overtime event, their priority each other sorts from high to low and is: subprocess withdraws from event>IO and reads and writes event>overtime event.These events enter ready event queue according to priority order from high to low, and ready event queue is first-in first-out (FIFO) formation, put into first the event of ready event queue and just carry out first.
---synchronizing signal is called event, refers to the processing to signal, and for example to withdraw from be that mode with signal is notified to subprocess, has some administrator command such as server to withdraw from also to be the mode with signal to process.
These three kinds of event types sort from high to low according to priority and are: real-time event>ready event>synchronizing signal is called event, and the high event type of the priority forever event type lower than priority is carried out first.
Described ready event has following four kinds of states from front to back in its life cycle:
---registration, refer to the ready event of initialization, comprise concrete kind, call back function parameter, IO port that ready event is set, the information such as process and state under the ready event.
---ready, refer to ready event is at any time executable state.
---carry out, refer to process ready event.
---reclaim, refer to that ready event is finished after, do not discharge the shared memory headroom of this event, so that can directly utilize this memory headroom during new ready event registration.Only have when memory source is not enough, the shared memory headroom of ready event that reclaims state just can be released.
Described subprocess withdraws from event and registers when described load balancing program start, more particularly be registration when described multi-host hot swap process and load balancer process start, multi-host hot swap process and load balancer process all are created in the mode of the subprocess of monitoring process.In described load balancing program, monitoring process is the parent process of other all processes, and other all processes are subprocesss of monitoring process.When the norator process withdraws from, all can send one to parent process and withdraw from signal, this is that a synchronizing signal is called event.Monitoring process just withdraws from subprocess from event and transfers ready state to after receiving that this withdraws from signal.According to the order that enters ready event queue, subprocess withdraws from event can be processed, and the subprocess that is about to withdraw from restarts, and registers a new subprocess and withdraw from event.Then this old subprocess withdraws from event and transfers the recovery state to.
Described IO read-write event need to read or register during data writing from some IO ports in any process.When EPOLL mechanism send this IO port have data can for read, maybe can be when the data writing, this IO read-write event transfers ready state to.According to the order that enters ready event queue, this IO read-write event can be processed, namely reads or data writing from this IO port, IO port, parameter and state can be passed to call back function during execution.Then this IO read-write event transfers the recovery state to.
Described overtime event is generally used for the affairs that those need Timing Processing, for example aforesaid health examination algorithm.Overtime event also is to register when described load balancing program start.Just transfer ready state to through the time that sets in advance after the registration.The time here of it should be noted that is adopted the CPU time, and the CPU time has the advantages that to only increase and can not artificially revise.According to the order that enters ready event queue, this overtime event can be processed.If the disposable overtime event that can be disposed just transfers the recovery state subsequently to.If the overtime event of Timing Processing, processing procedure can again transfer self to login state at last, and do not transfer the recovery state to.
The described event-driven algorithm based on EPOLL of the application has following advantage:
One has only provided limited event type, and strict difinition priority, guaranteed the stability in linux system, moved through checking repeatedly, avoided the deadlock situation between the event.For fear of the deadlock situation that occurs between the event, existing event-driven algorithm needs the people for avoiding, and the application is then guaranteed by the event type that sets in advance and priority, and the stability of calling program is improved greatly, has reduced the difficulty of program development.
Existing event-driven algorithm has many, and more famous have libevent, libev, a nginx etc.These event-driven algorithm have all provided more event type, and allow the priority of self-defined these event types.Provided error event, inspection event, customized event, regularly processed the event types such as event, cleaning event, subprocess duplicate event such as the libev event-driven algorithm, they can be between 255 priority self-defining.In case the priority definition error to some event type just may cause the deadlock of whole program.For example, it is high that the priority definition that the synchronizing signal of signal is called event must be read and write event than IO, then can registration IO read-write event in the processing procedure of certain signal and to wait this IO read-write event handling to finish after this synchronizing signal call event and just finish.The IO read-write event that new registration will occur so can't be processed because priority is lower, and the synchronizing signal that priority is higher is called event and can't be continued owing to needing to wait for this IO read-write event, forms deadlock in logic.
Its two, adopt dull time management, acquiescence is used the CPU time.Do not support then to use system time to be simulated such as CPU, the mode of simulation is to record the difference that the keeper revises system time at every turn, add difference during the time at computing system, guaranteeing not to be subjected to artificially to revise the impact of system time, and then guarantee the timing accuracy of overtime event.
Its three, compare with the IO operation of traditional non-event, performance obviously improves.If to move IO read-write be not the obstruction read/write of IO to the use case mode, can hang up the process of IO read-write, until read or write successfully.The described system of the application obviously has a large amount of IO read-write operations, and this will certainly expend system resource in a large number.
Compare with existing event-driven method, the application is based on the operation of EPOLL mechanism.EPOLL is IO event notification mechanism most effective under the Linux, thereby so that the performance of the application's event-driven algorithm and autgmentability greatly improve.
Its four, in the existing event-driven algorithm, be releasing memory space after event is finished, memory headroom is redistributed in new events registration again.If memory headroom is all redistributed in the initialization of a large amount of events (i.e. registration), will greatly affect systematic function.
The application is that ready event has designed the recovery state, just is used for preserving the memory headroom that distributes.If the actual required memory size of different event is different, the application distributes maximum memory headroom without distinction for all events so, so that can be used for any event when reusing this memory headroom.New events at first utilizes the memory headroom that has distributed of the event of recovery state in when registration like this, only has event when the recovery state all to make and has used up, and just redistributes memory headroom by system.Described three kinds of ready events are just no longer distinguished at the recovery state, and any new ready event registration can be used.For example, after IO read-write event entered the recovery state, its undelivered memory headroom can be used for the registration of new overtime event.
The described load balancing program of the application is divided into two kinds of mode of operations, is respectively debugging mode and production model.Production model is used for real work, and debugging mode then is used for EMS memory error and the filec descriptor mistake of discovery procedure running.
Program can take the memory source of computer in running, in the process that is the programme distribution internal memory, following several mistake can appear: memory accessing outside (buffer overrun), discharge null pointer (free null pointer), heavily distribute null pointer (realloc null pointer), discharge the internal memory (free non-allocated buffer) that not have to distribute, repeatedly discharge same internal memory (double free), distribute in not release (non-released buffer) when having EP (end of program).These EMS memory errors may cause the significant problems such as program run-time error, program are moved unsuccessfully, computer corruption, and if do not solve these problems of EMS memory error and will occur continuously.
The described load balancing module of the application has adopted a kind of memory management algorithm under debugging mode, check the problem in Memory Allocation, release and the use of load balancing program in running.This memory management algorithm is such:
One, under debugging mode, the load balancing program all can the larger actual memory space of the desired memory headroom of distribution ratio when requiring to obtain memory headroom each time.This actual memory space is divided into three sections, and middle one section is exactly desired memory headroom size, and a bit of space of each overabsorption, front and back is all for the verification and the data that record memory boundary.
Its two, also can be in internal memory during each Memory Allocation with the memory address after the type of extra this Memory Allocation of data structure records, file, function, line number, size, the distribution.Verification and mainly be out-of-bounds access for detection of internal memory, the words verification of out-of-bounds access and will be destroyed.
Its three, also can be in disk during each Memory Allocation log, comprise which kind of operation when system carried out, has the information such as which kind of result.
Under debugging mode, by analyzing above-mentioned verification and whether complete, extra data structure, log recording etc., but whether the discovery procedure design Memory Allocation problem can occur.
Filec descriptor (file descriptor) is that system kernel is used for access file, because its length fixes, thereby the quantity of filec descriptor is limited.In the process that is the programme distribution filec descriptor, following several mistake can occur: the descriptor that the filec descriptor of opening do not close (non-closed fd) when EP (end of program), close the filec descriptor (closed non-opened fd) do not opened, close empty descriptor (close bad fd), repeatedly close same descriptor (double close), PIPE opens has been closed half (only close one of pipe fd).These filec descriptor mistakes may cause the significant problems such as program run-time error, program are moved unsuccessfully, computer corruption, and if do not solve these problems of filec descriptor mistake and will occur continuously.
The described load balancing module of the application has adopted a kind of filec descriptor management algorithm under debugging mode, check the distribution, release of the filec descriptor of load balancing program in running and use in problem.This document descriptor management algorithm is such:
One, under debugging mode, the load balancing program when requiring to obtain filec descriptor each time, the numerical value of type, file, function, line number, the size that all can in internal memory, distribute with this filec descriptor of extra data structure records, the filec descriptor after opening.
Its two, each filec descriptor divide timing also can be in disk log, comprise which kind of operation when system carried out, has the information such as which kind of result.
Under debugging mode, by analyzing above-mentioned extra data structure, log recording etc., but whether the discovery procedure design assignment problem of filec descriptor can occur.
The described load balancing module of the application is used for substituting the communication module of existing financial real-time transaction system, thereby must support the repertoire that communication module is achieved.Wherein topmost is exactly the transaction request that receives in real time from the short connected mode transmission of a plurality of terminals, and with it to grow the connected mode asynchronous transmission to the background server cluster; Also receive the background server cluster growing the transaction results of connected mode asynchronous transmission, and it is sent it back each terminal simultaneously with short connected mode.What transmit in this process is exactly the message of ISO8583 protocol definition, and this message comprises TPDU(Transport Protocol Data Unit, TPDU), heading and application data.Wherein TDPU forms by three, is respectively ID item (1 byte), destination address item (2 bytes), source address item (2 bytes) for the sign type of message.Described ID item is generally 0x60 when message correctly, be generally 0x68 during mistake, and 0x represents hexadecimal number.The destination address item is exactly message recipient's sign.The source address item is exactly the sign of message transmitting party.
For example, in the financial real-time transaction system of a reality, the communication of concluding the business between terminal 10 and the background server 50, but terminal 10 connect be actually load balancing module 30.The home address of terminal 10, load balancing module 30, background server 50 is respectively A, B, C, all represents the hexadecimal number of two bytes.The TPDU of 30 messages that send partly is exactly<0x60 from terminal 10 to load balancing module so, C, A 〉.Load balancing module 30 partly becomes<0x60 C, B with the TPDU of this message after receiving this message 〉, record simultaneously new source address B(identification load balance module 30) with old source address A(marking terminal 10) corresponding relation.Described new source address B for different messages, can distribute different new source address B to record the corresponding relation of this message and terminal 10, thereby determine this message should be got back to which terminal 10 in balance module 30 dynamic assignment.After load balancing module 30 sent to background server 50 with this message, background server 50 became<0x60 B, C again with the TPDU part of this message 〉, be about to the exchange of destination address and source address.This message sends it back load balancing module 30 after processing through background server 50, and load balancing module 30 partly becomes the TPDU of this message<0x60 for the third time, A, C 〉, subsequently this message is sent it back terminal 10.
For load balancing module 30, the TDPU of the transaction request message that comes self terminal 10 of its reception partly is<0x60 C, A 〉, its TDPU to the transaction request message that background server 50 sends partly is<0x60 C, B 〉, the TPDU from the transaction results message of background server 50 of its reception partly is<0x60, B, C 〉, its TPDU to the transaction results message that terminal 10 sends partly is<0x60, A, C 〉.
For background server 50, the TDPU of the transaction request message that it receives partly is<0x60 B, C 〉, the TPDU of the transaction results message that it sends partly is<0x60 C, B 〉.
For terminal 10, the TDPU of the transaction request message that it sends partly is<0x60 C, A 〉, the TPDU of the transaction results message that it receives partly is<0x60 A, C 〉, middle processing procedure is transparent to terminal 10.
Realize load balancing module because the application is the mode with computer run load balancing program, thereby have great autgmentability.For example, can make amendment to the message format of ISO8583 protocol definition, be 4 bytes with destination address item and the source address item of TDPU by 2 byte expansion, and the simultaneously treated message amount supported of load balancing module just can be by 2 like this 16Expand to 2 32This expansion has been owing to having broken through the restriction of ISO8583 agreement, thereby need to carry out program upgrade to terminal and background server, can be used for concurrent transaction quantity and breaks through 2 16Future.
Server in the described load balancing module of the application need to configure at least two cards of throwing the net, and the card of throwing the net is used for connecting the access of terminal, and another card of throwing the net is used for connection background server cluster.By the two isolation settings of throwing the net card, can realize the isolation of the network segment, thereby protect well the fail safe of background server cluster, the flexibility when improving simultaneously real network and disposing.
Be the application's preferred embodiment only below, and be not used in restriction the application.For a person skilled in the art, the application can have various modifications and variations.All within the application's spirit and principle, any modification of doing, be equal to replacement, improvement etc., all should be included within the application's the protection range.

Claims (9)

1. the load balancing module in the financial real-time transaction system is characterized in that, described load balancing module is between terminal and background server cluster;
Described load balancing module comprises at least two-server, and every load-balanced server all has a foreground network interface card and a backstage network interface card, and all adopts Virtual Router Redundancy Protocol;
Described Virtual Router Redundancy Protocol consists of one group with all foreground network interface cards, and selects a master control foreground network interface card, and remaining is as backup foreground network interface card; Also all backstage network interface cards are also consisted of one group, and select a master control backstage network interface card, remaining is as backup backstage network interface card;
Every load-balanced server has all moved the load balancing program, and this load balancing program comprises load balancer process, multi-host hot swap process and monitoring process; Described monitoring process is used for when load balancer process and/or multi-host hot swap process withdraw from it being restarted; The master control foreground network interface card that described multi-host hot swap process monitoring Virtual Router Redundancy Protocol is selected and master control backstage network interface card, and require both must be on same load-balanced server; Also phase mutually synchronization master control foreground network interface card and the information of master control backstage network interface card on which platform load-balanced server between described load balancer process and the multi-host hot swap process.
2. the load balancing module in the financial real-time transaction system according to claim 1 is characterized in that, is multi-host hot swap relation or the mutual standby relation of multimachine between each load-balanced server;
Under the multi-host hot swap relation, one group of foreground network interface card externally only has unique ip address and MAC Address, and one group of backstage network interface card externally also only has unique ip address and MAC Address;
Mutually under the standby relation, one group of foreground network interface card externally has x IP address and MAC Address at multimachine, and one group of backstage network interface card externally also has x IP and MAC Address, and x is the number of mutual standby load-balanced server.
3. the load balancing module in the financial real-time transaction system according to claim 1 is characterized in that, described load balancer process as thread, is carried out task scheduling according to the load of each background server of background server cluster with message; Be short connecting communication mode between described load balancer process and each terminal, and be long connecting communication mode between each background server.
4. the load balancing module in the financial real-time transaction system according to claim 1, it is characterized in that, described load balancer process is at intervals to being connected transmission for the order of the state that obtains this long connection with the long of each background server, and obtain the result that this order is returned, judge thus whether interrupt long connection of each bar;
Described order comprises getsockopt function with the SO_ERROR option, with the getsockopt function of TCP_INFO option;
Described result comprises the RETRANSMIT territory in described SO_ERROR option, the described TCP_INFO option; These two any one shows that a certain long connection is unusual as a result, and then described load balancer process is judged this long disconnecting, and stops to carry out task scheduling to the background server of correspondence; Otherwise described load balancer process judges that this long connection is normal.
5. the load balancing module in the financial real-time transaction system according to claim 4 is characterized in that, described load balancer process only arranges the transmission buffering area for each background server, is used for the message that buffer memory sends to this background server; When described load balancer process is judged a certain long disconnecting, then the data in the transmission buffering area of corresponding background server setting in the load-balanced server are abandoned.
6. the load balancing module in the financial real-time transaction system according to claim 1 is characterized in that, described load-balanced server adopts the event-driven algorithm based on EPOLL, but the expansion I/O event notification mechanism that EPOLL is linux kernel to be provided;
Described event-driven algorithm based on EPOLL is divided into three kinds of large classes with event, and according to priority ordering is from high to low: real-time event, ready event, synchronizing signal are called event;
Described ready event is divided into again three kinds of groups, and according to priority ordering is from high to low: subprocess withdraws from event, IO read-write event, overtime event;
Described ready event its life cycle have from front to back registration, ready, carry out, reclaim four kinds of states.
7. the load balancing module in the financial real-time transaction system according to claim 6 is characterized in that, described overtime event just transfers ready state from login state to through the time that sets in advance; Adopt the CPU time during computing time.
8. the load balancing module in the financial real-time transaction system according to claim 6 is characterized in that, described IO read-write event need to read or register during data writing from some IO ports in any process; When EPOLL mechanism send this IO port have data can for read, maybe can be when the data writing, this IO read-write event transfers ready state to.
9. the load balancing module in the financial real-time transaction system according to claim 6, it is characterized in that, when ready event is in the recovery state, do not discharge the shared memory headroom of this ready event, so that can directly utilize this memory headroom during new ready event registration; Only have when memory source is not enough, the shared memory headroom of ready event that reclaims state just can be released.
CN201210419239.3A 2012-10-29 2012-10-29 Load balancing module in finance real-time transaction system Active CN102932444B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210419239.3A CN102932444B (en) 2012-10-29 2012-10-29 Load balancing module in finance real-time transaction system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210419239.3A CN102932444B (en) 2012-10-29 2012-10-29 Load balancing module in finance real-time transaction system

Publications (2)

Publication Number Publication Date
CN102932444A true CN102932444A (en) 2013-02-13
CN102932444B CN102932444B (en) 2015-11-25

Family

ID=47647141

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210419239.3A Active CN102932444B (en) 2012-10-29 2012-10-29 Load balancing module in finance real-time transaction system

Country Status (1)

Country Link
CN (1) CN102932444B (en)

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103294769A (en) * 2013-04-28 2013-09-11 中国工商银行股份有限公司 File writing system and method for large-scale server
CN104243481A (en) * 2014-09-24 2014-12-24 国家电网公司 Electricity consumption data acquisition and pre-processing method and system
CN105357320A (en) * 2015-12-09 2016-02-24 浪潮电子信息产业股份有限公司 Multi-Web server load balancing system
CN105450540A (en) * 2015-12-14 2016-03-30 福建星网锐捷网络有限公司 Load balancing method and device as well as DHCP (dynamic host configuration protocol) server
CN105592163A (en) * 2016-01-25 2016-05-18 上海斐讯数据通信技术有限公司 Communication method and system
CN105677451A (en) * 2014-11-18 2016-06-15 北京风行在线技术有限公司 Load balancing method and equipment used for multiple processes
CN106506701A (en) * 2016-12-28 2017-03-15 北京奇艺世纪科技有限公司 A kind of server load balancing method and load equalizer
CN106550009A (en) * 2016-09-20 2017-03-29 海能达通信股份有限公司 A kind of method for processing business, system and device
CN106686040A (en) * 2015-11-10 2017-05-17 阿里巴巴集团控股有限公司 Message processing method and message processing device
CN107154880A (en) * 2016-03-03 2017-09-12 阿里巴巴集团控股有限公司 system monitoring method and device
CN107666401A (en) * 2016-07-28 2018-02-06 平安科技(深圳)有限公司 A kind of configuration information obtaining method and terminal
WO2018053687A1 (en) * 2016-09-20 2018-03-29 海能达通信股份有限公司 Service processing method, system and apparatus
CN108055346A (en) * 2017-12-26 2018-05-18 广东睿江云计算股份有限公司 A kind of method for optimizing mail terminal link
CN108769227A (en) * 2018-06-04 2018-11-06 贵州数据宝网络科技有限公司 A kind of data trade SiteServer LBS
CN110830461A (en) * 2019-10-28 2020-02-21 杭州涂鸦信息技术有限公司 Cross-region RPC service calling method and system based on TLS long connection
TWI706361B (en) * 2019-05-31 2020-10-01 康和綜合證券股份有限公司 Transaction dispatching apparatus and method
CN112204482A (en) * 2018-05-31 2021-01-08 西门子股份公司 Redundant hot standby control system, method, control device and computer readable storage medium
TWI720113B (en) * 2017-01-20 2021-03-01 香港商阿里巴巴集團服務有限公司 Method and device for processing telegrams
CN112653620A (en) * 2020-12-21 2021-04-13 杭州迪普科技股份有限公司 Route processing method, device, equipment and computer readable storage medium
CN114844897A (en) * 2022-07-06 2022-08-02 深圳爱换电科技有限公司 Method and device for distributed dynamic adjustment of long connection service based on Internet of things

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030120788A1 (en) * 2001-12-21 2003-06-26 International Business Machines Corporation Method of preserving symmetrical routing in a communication system based upon a server farm
CN102158387A (en) * 2010-02-12 2011-08-17 华东电网有限公司 Protection fault information processing system based on dynamic load balance and mutual hot backup
CN102510407A (en) * 2011-11-22 2012-06-20 沈文策 Method and system for reading and writing microblog

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030120788A1 (en) * 2001-12-21 2003-06-26 International Business Machines Corporation Method of preserving symmetrical routing in a communication system based upon a server farm
CN102158387A (en) * 2010-02-12 2011-08-17 华东电网有限公司 Protection fault information processing system based on dynamic load balance and mutual hot backup
CN102510407A (en) * 2011-11-22 2012-06-20 沈文策 Method and system for reading and writing microblog

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
邹润生: "VRRP技术实现网络的路由冗余和负载均衡", 《计算机与信息技术》 *

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103294769B (en) * 2013-04-28 2016-02-03 中国工商银行股份有限公司 A kind of system and method for large server written document
CN103294769A (en) * 2013-04-28 2013-09-11 中国工商银行股份有限公司 File writing system and method for large-scale server
CN104243481A (en) * 2014-09-24 2014-12-24 国家电网公司 Electricity consumption data acquisition and pre-processing method and system
CN105677451A (en) * 2014-11-18 2016-06-15 北京风行在线技术有限公司 Load balancing method and equipment used for multiple processes
CN106686040A (en) * 2015-11-10 2017-05-17 阿里巴巴集团控股有限公司 Message processing method and message processing device
WO2017080386A1 (en) * 2015-11-10 2017-05-18 阿里巴巴集团控股有限公司 Method and device for processing message
CN105357320A (en) * 2015-12-09 2016-02-24 浪潮电子信息产业股份有限公司 Multi-Web server load balancing system
CN105450540A (en) * 2015-12-14 2016-03-30 福建星网锐捷网络有限公司 Load balancing method and device as well as DHCP (dynamic host configuration protocol) server
WO2017128789A1 (en) * 2016-01-25 2017-08-03 上海斐讯数据通信技术有限公司 Communication method and system
CN105592163A (en) * 2016-01-25 2016-05-18 上海斐讯数据通信技术有限公司 Communication method and system
CN105592163B (en) * 2016-01-25 2018-07-17 上海斐讯数据通信技术有限公司 A kind of communication means and system
CN107154880A (en) * 2016-03-03 2017-09-12 阿里巴巴集团控股有限公司 system monitoring method and device
CN107666401A (en) * 2016-07-28 2018-02-06 平安科技(深圳)有限公司 A kind of configuration information obtaining method and terminal
CN107666401B (en) * 2016-07-28 2021-05-04 平安科技(深圳)有限公司 Configuration information acquisition method and terminal
WO2018053687A1 (en) * 2016-09-20 2018-03-29 海能达通信股份有限公司 Service processing method, system and apparatus
CN106550009A (en) * 2016-09-20 2017-03-29 海能达通信股份有限公司 A kind of method for processing business, system and device
CN106550009B (en) * 2016-09-20 2020-01-21 海能达通信股份有限公司 Service processing method, system and device
CN106506701A (en) * 2016-12-28 2017-03-15 北京奇艺世纪科技有限公司 A kind of server load balancing method and load equalizer
TWI720113B (en) * 2017-01-20 2021-03-01 香港商阿里巴巴集團服務有限公司 Method and device for processing telegrams
CN108055346A (en) * 2017-12-26 2018-05-18 广东睿江云计算股份有限公司 A kind of method for optimizing mail terminal link
CN108055346B (en) * 2017-12-26 2020-12-22 广东睿江云计算股份有限公司 Method for optimizing mail terminal link
CN112204482A (en) * 2018-05-31 2021-01-08 西门子股份公司 Redundant hot standby control system, method, control device and computer readable storage medium
CN108769227A (en) * 2018-06-04 2018-11-06 贵州数据宝网络科技有限公司 A kind of data trade SiteServer LBS
TWI706361B (en) * 2019-05-31 2020-10-01 康和綜合證券股份有限公司 Transaction dispatching apparatus and method
CN110830461A (en) * 2019-10-28 2020-02-21 杭州涂鸦信息技术有限公司 Cross-region RPC service calling method and system based on TLS long connection
CN112653620A (en) * 2020-12-21 2021-04-13 杭州迪普科技股份有限公司 Route processing method, device, equipment and computer readable storage medium
CN114844897A (en) * 2022-07-06 2022-08-02 深圳爱换电科技有限公司 Method and device for distributed dynamic adjustment of long connection service based on Internet of things

Also Published As

Publication number Publication date
CN102932444B (en) 2015-11-25

Similar Documents

Publication Publication Date Title
CN102932444B (en) Load balancing module in finance real-time transaction system
CN102880475B (en) Based on the real-time event disposal system of cloud computing and method in computer software
CN103199972B (en) The two-node cluster hot backup changing method realized based on SOA, RS485 bus and hot backup system
CN105450489B (en) The preferential efficient field bus systems of HEBus and communication means for realizing most short message of output
CN103107960B (en) The method and system of the impact of exchange trouble in switching fabric is reduced by switch card
JP3640187B2 (en) Fault processing method for multiprocessor system, multiprocessor system and node
CN100426751C (en) Method for ensuring accordant configuration information in cluster system
CN102088490B (en) Data storage method, device and system
CN105357147B (en) A kind of network-on-chip adaptation unit that high speed is highly reliable
CN106850260A (en) A kind of dispositions method and device of virtual resources management platform
CN103778031A (en) Distributed system multilevel fault tolerance method under cloud environment
CN105959235B (en) Distributed data processing system and method
CN110868278B (en) Method for dual-computer redundancy of communication front-end processor of rail transit comprehensive monitoring system
CN105049258B (en) The data transmission method of network disaster tolerance system
CN106874143A (en) Server backup method and backup system thereof
CN112698838B (en) Multi-cloud container deployment system and container deployment method thereof
CN103139018A (en) Network card condition monitoring and transmission control protocol (TCP) communication method in dispatching and transformer substation integrated system
CN106354563A (en) Distributed computing system for 3D (three-dimensional reconstruction) and 3D reconstruction method
CN104753707B (en) A kind of system maintenance method and the network switching equipment
WO2024109239A1 (en) Cluster data synchronization method and apparatus, device, and nonvolatile readable storage medium
CN104170307B (en) Failover methods, devices and systems
CN107145399A (en) A kind of shared-memory management method and shared-memory management equipment
CN109445862A (en) Network interface card redundant drive method under Windows system based on MUX
CN110286852A (en) Dual control framework distributed memory system, method for reading data, device and storage medium
JP2778893B2 (en) Communication control device

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant