A short message center system, comprising a virtual short message office and at least two short message offices which are connected with the virtual short message office, wherein,
- each short message office comprises at least one computer processor which implements:
- a signaling processing module, a service processing module, and a short message peer to peer protocol agent (SMPP AGENT) module, wherein said signaling processing module is connected to said SMPP AGENT module through said service processing module and they are structured in three separate layers;
- said virtual short message office comprises at least one computer processor which implements:
- a virtual signaling processing module, a virtual service processing module, and a virtual SMPP AGENT module which are not connected and do not communicate with each other, and a configuration management module;
- wherein, the virtual signaling processing module is structured in the same layer with the signaling processing modules of the short message offices, the virtual service processing module is structured in the same layer with the service processing modules of the short message offices, and the virtual SMPP AGENT module is structured in the same layer with the SMPP AGENT modules of the short message offices;
- wherein, each virtual module of said virtual short message office only receives messages sent from the modules of the short message offices in the adjacent layer but does not process the received messages, and only selects another short message office based on a configured load-balancing policy and forwards the messages to the corresponding module of the selected short message office which is in the same layer with the virtual module;
- wherein the configuration management module maintains a forwarding relation table that stores an association relation including, for each message:
- identification information of the short message office with the module sending the message, identification information of a module of the short message office with the module sending the message, and identification information of the short message office with the module which the message is forwarded to, identification information of a module which the message is forwarded to;
- wherein, after the message is processed at a corresponding module of the selected short message office, a response message is returned to a virtual module of the virtual short message office, the said virtual module of the virtual short message office queries the forwarding relation table to determine the module of the original sending short message to receive the response message, and returns the response message to the original sending short message office, thereby returning the response messages to the modules of the original sending short message offices based on the forwarding relation table;
- wherein, the communication channels between the different layers are independent to each other, so when any module from any of the short message offices fails, only the messages that need to be processed by the failed module will be forwarded to a module in the virtual short message office and be further forwarded to a corresponding module of a different short message office in the same layer for processing, other modules in the short message offices that do not fail will continue normal operation.