This invention belongs telecom operator's large-scale cross system accurately data processing technology, as an accurate method of account checking in the situation of 7*24 hours transactions between telecom multiple systems.
Along with the development of communication technology, our country's communication network is constantly expansion, and the businesses of telecom operators are in the unceasing development. On one hand, there are more and more business types, On the other hand, the usage of each business is getting higher and higher. Meanwhile, telecom operators put forward new requirements in operation management continuously. A few years ago, production mode of China telecom was local network, but now most provinces have realized the centralized management and production. The transaction volume increased, centralized and unified operation mode, proposed high requirements to the supporting system for telecom operators, especially the processing ability of billing account system. For example, JiangSu telecom has more than 40 million subscribers, there will be more than two million times transactions concurrently one second at peak periods.
Such the concurrent volume, single host and system is difficult to implement, and also the investment is too much. Normally, using cluster to improve the processing ability, each host running system independently and provides some customer services, these systems are cooperate with others, they provide services in an unified form. Because each system undertake the calculation for its customer businesses, when it encounters the customer businesses across systems, we will need cooperation between systems, any two system may exist cooperation, so a mesh network is formed. See
The transaction across systems is completed by two different systems together, theoretically both successful or back is requirement, the total transaction volume and the detail should be identical, but in fact, because the reasons of network, artificial operation etc, there will be “unilateral account”, namely a transaction is recorded successfully only in one system. Failure may be occur due to the system itself or communication reasons, for example, the following scenes.
How to find these problems? A effective method is do account checking. Account checking, namely collect the transaction records in the system at a given time after transaction has completed, to find problems by compare data according to the predetermined rules. To meet the requirements of production, account checking must satisfy several conditions as follows:
1) Timely: account checking must timely, so we can find problems and correct them as soon as possible;
2) Accurately: the calculation must accurately, because it's the basic guarantee for the system running normally;
3) It shouldn't affect the 7×24 hours service of each system;
To meet the three conditions above, there are many challenges, we find several issues to consider in practice:
1) Clock differences between different platforms. Due to the transaction is between two different systems, if clocks are not synchronous in the two systems, there will be errors when collect the data, this cause defects of the account checking itself.
2) Differences of account checking cycle. Different types of business or different rules requires different account checking cycle, for example, a month, a week, a day, an hour or a minute. Especially when the time granularity is too fine, often the data of the last account checking cycle isn't finished, the next has arrived. The flow is confused when do account checking concurrently, also it's difficult to track the problems later.
3) Irregular account checking. Account checking of some systems is entirely artificial triggered, there is no rules to follow, so account checking cycle is irregular.
4) Who launched the account checking in the mesh network.
This invention will solve the problem: when we do account checking cross the existing telecom systems, due to clock differences, account checking cycle differences, irregular account checking, and who launched the account checking, it can't achieve timely and accurately, so we should provide a new method of account checking: it can do account checking timely and accurately, and don't affect the systems 7*24 hours running.
Technical solutions of this invention is: the accurate method of account checking in the situation of 7*24 hours transactions between telecom multiple systems, The systems we discussed here can provide services individual, and also cooperate with others, they provide services in an unified form. There is an Account Checking Controlling Server, and all the systems are connected with the Account Checking Controlling Servers, the transaction between systems is distributed by the Account Checking Controlling Servers, and it's also in charge of control and manage the transaction of account checking between systems. Account Checking Controlling Servers consists of transaction management module, account checking cycle management module, transaction flow module and account checking management module.
Transaction management module is in charge of storage and handle the system information and the system distribute rules.
Account checking cycle management module is in charge of create account checking cycle and manage it, each transaction of system associate with an account checking cycle. The account checking cycle including attributes as follows: account checking cycle descriptor (the unique descriptor of account checking); start time (the transaction's start time of an account checking); end time (the transaction's end time of an account checking); the state of account checking cycle (1. occupy: the cycle is in transaction now; 2. close: the cycle had already closed, waiting for account checking; 3. account checking: the cycle is in account checking now; 4. archive: account checking had already finished).
Transaction flow module is in charge of the specific transaction and distribute the transaction between systems according to the account checking cycle.
Account checking management module is responsible for collect the transaction data, and provides account checking operations according to the account checking cycle.
Transaction management module provide the function of add, modify, delete the system information and the system distribute rules. The system information including: system descriptor, hostname, host ip, log directory, user/password; The system's distribute rules including: Section No., system descriptor (it's a reference to system descriptor in system information).
In Account checking cycle management module, the start time and the end time of the account checking cycle is shielding outside and is just managed in Account Checking Controlling Server by account checking cycle management module according to cycles switching event, the cycles switching event is triggered by the external according to cycle or by artificial; the system get an account checking cycle descriptor for each transaction, and associate the transaction with the account checking cycle, later, account checking is based on the account checking cycle, the action of account checking is defined as an operation process of transactions comparison in an account checking cycle.
Cycles switching event specific realization as follows: set the step of account checking cycle, and account checking cycle management module can create a new account checking cycle according to the step we have already set or by an artificial event, at the same time it closes the last account checking cycle.
Transaction flow module specific realization is: assume that a transaction is requested by system A, the opposite end is system B:
a) System A make a request for transaction, and send it to Account Checking Controlling Server;
b) Account Checking Controlling Server modify the transaction information which system A has requested, and insert an account checking cycle descriptor, associate the transaction with the account checking cycle, then the transaction information is transferred to system B;
c) System B do some corresponding processing, record the transaction information data which contains an account checking cycle descriptor, and send a response information which also contains the account checking cycle descriptor to Account Checking Controlling Server;
d) Account Checking Controlling Server transfer the response information (from system B) to system A
e) System A record the transaction information data which contains the account checking cycle descriptor.
Transaction flow module of this invention using tuxedo mode or socket mode to transfer the transaction request information and transaction response information. When using tuxedo mode, we can use the tuxedo's event trigger; when using socket mode, we can use the message queue of System V to store the request and response information, transaction distribute can realize the event trigger through access the message queue.
Request information forwarding specific realization as follows:
a) Account Checking Controlling Server receive the transaction response by event trigger;
b) Analyze the target system according to the corresponding field in the response information;
c) Transfer the response information to target system;
d) Account Checking Controlling Server record the corresponding operation logs, as the auxiliary information for account checking.
In this invention, when closed an account checking cycle, Account checking management module is automatically invoked to do the operations of account checking, account checking management specific realization as follows:
a) Detect the state of the account checking cycle which is closed;
b) Download the transaction data of this account checking cycle from all systems by ftp mode;
c) Analyze the data, check whether there is abnormal data;
d) If the data is normal, record logs directly, and modify the state of the account checking cycle to archive;
e) If the data is abnormal, do some adjustments, then record logs and modify the state of the account checking cycle to archive.
The beneficial effects of this invention is: because of using the same account checking cycle, we can do account checking timely and accurately, and this don't affect other systems 7*24 hours running normally. Account checking is automatically invoked when account checking cycle ended, so we can find problems as soon as possible. This method provides a good solution for the problems we will meet during account checking:
a) Unsynchronized clock problems in different platforms. This invention brings account checking cycle descriptor as the unit of account checking, thereby we can avoid the difficulties which is caused by unsynchronized clock in different platforms when do account checking;
b) Differences of account checking cycle. Account checking cycle is managed by Account Checking Controlling Server according to the rules of business type, so it can avoid the confusion of the account checking cycles;
c) Irregular account checking. This invention unify account checking management, and execute the regulations which the system had already set;
d) Who launched the account checking. According to the state of account billing cycle, account checking is invoked automatically by account checking management module.
For the scenes of the transaction in the china telecom multiple systems, this invention gives a solution for accurate account checking. The systems we discussed here can provide services individual, and also cooperate with others, they provide services in an unified form. This invention establish Account Checking Controlling Server, and all the systems are connected with Account Checking Controlling Server, the transaction between systems is transferred by Account Checking Controlling Server, see
Transaction management module is in charge of storage and handle the system information and the system distribute rules.
Account checking cycle management module is in charge of create account checking cycle and manage it, each transaction of system associate with a cycle. The account checking cycle including attributes as follows: account checking cycle descriptor (the unique descriptor of account checking); start time (the transaction's start time of an account checking); end time (the transaction's end time of an account checking); the state of account checking cycle (1. occupy: the cycle is in transaction now; 2. close: the cycle had already closed, waiting for account checking; 3. account checking: the cycle is in account checking now; 4. archive: account checking had already finished).
Transaction flow module is in charge of the specific transaction and distribute the transaction between systems according to the account checking cycle.
Account checking management module is responsible for collect the transaction data, and provides account checking operations according to account checking cycle.
The specific implementation of this invention is as follows:
1. Establish Account Checking Controlling Server
2. Transaction Management Module
3. Account Checking Cycle Management Module
4. Transaction Flow Module
Transaction distribute contains transfer the request information and the response information. Communication between systems can using tuxedo mode or socket mode. All transaction distributes are triggered by event. When using tuxedo mode, we can use the tuxedo's event trigger; when using socket mode, we can use the message queue of System V to store the request and response information, transaction distribute can realize the event trigger through access the message queue.
There are two important works for request information forwarding: insert an account checking cycle descriptor and transfer the information to destination. See
a) Account Checking Controlling Server receive the transaction request by event trigger;
b) Get the account checking cycle descriptor from account checking cycle management module, which associate with an account checking cycle, set the state of account checking cycle to occupy;
c) Modify the transaction request information, insert the account checking cycle descriptor which we got by step b into the transaction request information;
d) Analyze the target system according to the corresponding field in the request information;
e) Transfer the request information to target system;
f) Account Checking Controlling Server record the corresponding operation logs, as the auxiliary information for account checking.
Response information forwarding is simple, it doesn't need to modify the body of information, See
a) Account Checking Controlling Server receive the transaction response by event trigger;
b) Analyze the target system according to the corresponding field in the response information;
c) Transfer the response information to target system;
d) Account Checking Controlling Server record the corresponding operation logs, as the auxiliary information for account checking.
5. Participant Transaction System
6. Account Checking Management Module
Number | Date | Country | Kind |
---|---|---|---|
201019026102.X | Feb 2010 | CN | national |