WO2005084040A1 - A method and a system of double engines sharing memory - Google Patents

A method and a system of double engines sharing memory Download PDF

Info

Publication number
WO2005084040A1
WO2005084040A1 PCT/CN2004/000154 CN2004000154W WO2005084040A1 WO 2005084040 A1 WO2005084040 A1 WO 2005084040A1 CN 2004000154 W CN2004000154 W CN 2004000154W WO 2005084040 A1 WO2005084040 A1 WO 2005084040A1
Authority
WO
WIPO (PCT)
Prior art keywords
board
message
boards
communication
main control
Prior art date
Application number
PCT/CN2004/000154
Other languages
French (fr)
Chinese (zh)
Inventor
Jinyou Xun
Sixin Wu
Jijun Xu
Original Assignee
Utstarcom (China) 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 Utstarcom (China) Co., Ltd. filed Critical Utstarcom (China) Co., Ltd.
Priority to CN200480039850A priority Critical patent/CN100576936C/en
Priority to PCT/CN2004/000154 priority patent/WO2005084040A1/en
Publication of WO2005084040A1 publication Critical patent/WO2005084040A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q1/00Details of selecting apparatus or arrangements
    • H04Q1/18Electrical details
    • H04Q1/28Current-supply circuits or arrangements for selection equipment at exchanges

Definitions

  • the present invention relates to a communication system, and includes a dual-engine shared memory communication method and system in a mobile communication system, a fixed communication system, and a data communication system. Background technique
  • carrier-grade systems such as mobile communication systems, fixed communication systems, and data communication systems are different from personal application systems. They are systems that require high reliability. And this kind of system is more complicated than the general system, there are many business subsystems in one system, and each business subsystem is interconnected with each other, and a large amount of business data needs to be exchanged with each other. Each subsystem may run on different physical entities, such as different chassis, or between different boards in the same chassis.
  • each service subsystem When different service subsystems run on different boards of the same chassis, each service subsystem generally exchanges data messages with each other. For example, in
  • the No. 7 signaling management module and the system HA module are run on the main control board.
  • One of the boards runs the MTP2 module, the one of the boards runs the MTP3 module, and the other board Run the Sigtran module.
  • These modules exchange management messages and transfer protocol packets.
  • the interaction of data messages between different services has different requirements for the underlying transmission mechanism.
  • some subsystems are sensitive to the delay of the message.
  • a message enters the signaling gateway from the traditional No. 7 signaling network, passes through the processing of the gateway, and is output from the IP network. The delay during this period cannot exceed the requirements set by national standards.
  • Some subsystems are not very sensitive to the delay of the message, but are sensitive to whether the message arrives reliably and the message arrives in sequence.
  • the signaling management module on the main control board sends a message to the board. Management command. If this command is lost, the signaling link may be unusable.
  • Each board has at least one Ethernet interface, and the board runs the TCP / IP protocol stack. At this time, if each board directly outputs the Ethernet interface, it means that a corresponding switch needs to be equipped outside the system; and if it passes the backplane Ethernet bus of the PIGMG2.16 standard, it means that another system needs to be added to act as Board with switching function. Either way, the communication between the subsystems is built on the TCP / IP protocol stack, which means that if UDP communication is used, there are problems of message loss and sequence arrival, and if TCP communication is used, There are problems that it is difficult to manage all TCP connections and system HA. For example, a single board communicates with the main control board through TCP.
  • VME bus used in the existing communication mechanism as a bus standard proposed in the 1980s, has certain limitations, for example, its theoretical bandwidth is 80Mbps, which is as practical as In international applications, it can only reach 40Mbps, while cPCI can theoretically reach 264Mbps.
  • cPCI can theoretically reach 264Mbps.
  • there are not many manufacturers supporting VME bus so it will be very difficult to quickly integrate the boards of other manufacturers and quickly develop new products. Summary of the invention
  • an object of the present invention is to overcome the above problems in the existing communication mechanism, and provide a dual-engine shared memory communication method and system, so as to achieve high performance and high reliability of shared memory.
  • the invention discloses a communication mechanism of a main control board and a peripheral single board independent of a specific service, which is structured on a standard CompactPCI bus, and particularly meets the high-performance and high-reliability communication mechanism required in communication equipment.
  • This communication mechanism completes data In the communication equipment, the main control board and peripheral boards, and the exchange between the peripheral boards, the core module of which is a high-speed shared memory engine, each of the main control boards backed up each has a high-speed shared memory engine
  • the two shared memory engines are hot backed up to each other, one engine fails, or the main control board is faulty, and the other engine works seamlessly without any loss of data messages.
  • a communication system which includes a main main control board that runs a main service module and at least one board that runs a sub-service module, and is characterized in that: the single board includes a physical divided into four parts.
  • the first part stores the message headers of the board sending messages to other boards
  • the second part stores the message headers of the boards receiving messages from other boards
  • the third part stores the message bodies of the boards sending messages to other boards.
  • Four parts store a message body where the board accepts messages from other boards
  • the main control board includes a virtual memory for mapping the physical memory of the board.
  • a service board used in the above-mentioned communication system which is characterized in that the board includes physical memory divided into four parts, wherein one part stores the board to send messages to other boards The second part stores the message header for the board to receive messages from other boards, the third part stores the message body for the board to send messages to other boards, and the fourth part stores the message body for the board to receive messages from other boards.
  • a main control used in the above communication system is provided.
  • the board is characterized in that the main control board includes a virtual memory for mapping the physical memory of a service single board used in the communication system.
  • a cPCI bus-based dual-engine shared memory communication method which includes the steps of: a) mapping a board's shared memory to a main control board's virtual memory; b) polling board sharing Memory information header area until an information header is obtained; c) determining the target board according to the obtained information header; d) obtaining the position of the information body in the shared memory and the shared memory information of the target board; and e) starting direct memory reading Write and complete message transfer.
  • a computer program product recorded in at least one computer-readable interface includes functional description materials for causing the computer to execute the steps of the cPCI bus-based dual-engine shared memory communication method when the computer is used.
  • a 64-bit 66M frequency cPCI bus is used to solve the bandwidth problem
  • a shared bus-based mechanism ensures the order of messages
  • a communication method based on direct memory read-write solves the delay in message delivery.
  • FIG 1 shows the situation where different service subsystems run on different boards of the same chassis
  • Figure 2 shows the physical memory allocation of each board and the virtual memory mapping of the master and slave master control boards
  • FIG. 3 is a block diagram showing a structure of a main control board of a communication system according to an embodiment of the present invention
  • FIG. 4 shows a flowchart of a main control board when switching between a main and a standby board in a communication system according to an embodiment of the present invention
  • FIG. 5 shows a flowchart of a process of inserting a new board in a communication system according to an embodiment of the present invention
  • FIG. 6 shows a flowchart of a board removal process in a communication system according to an embodiment of the present invention.
  • FIG. 7 shows high reliability of a dual-cPCI bus-based engine running the present invention.
  • the shared memory communication method is the basic processing flow performed on the main control board. detailed description
  • An object of the present invention is to provide a highly reliable communication system and method based on a standard cPCI bus shared memory, and the communication method is independent of any specific service.
  • the communication method according to the present invention can be applied to high-speed and reliable message transmission of each protocol layer in a signaling gateway, and can also be applied to the communication of submodules distributed on each board in a relay gateway. It is used in call server, call information interaction, mirroring, etc. among various business subsystems.
  • FIG. 1 shows a situation in which different service subsystems run on different boards of the same chassis, where each service subsystem exchanges data messages with each other.
  • the main service module is run on the main control board and the slave main control board, and each sub-service module is run on the board 1 to the authority N.
  • the No. 7 signaling management module and the system HA module are run on the main control board
  • the MTP2 module is run on one of the boards 1 to N
  • the board 1 to The MTP3 module runs on board N
  • the Sigtran module runs on other boards 1 to N.
  • These modules exchange management messages and transfer protocol packets. The interaction of all these modules is accomplished by the dual-engine high-reliability shared memory communication method of the present invention, which will be described in detail below.
  • the VME bus has certain limitations. For example, its theoretical bandwidth is 80 Mbps, which can only reach 40 Mbps in practical applications, while cPCI can theoretically reach 264 Mbps.
  • cPCI can theoretically reach 264 Mbps.
  • the present invention adopts cPCI
  • the bus is used as a connection bus between the various boards (including the main control board and the single board), which facilitates the rapid integration of the boards of other manufacturers, thereby rapidly developing new products.
  • each board in the above chassis and the master and slave master control boards are allocated a piece of physical memory of an appropriate size according to specific requirements, and the memory section of each board is divided into four For the most part, see Figures 2 and 3 for physical memory allocation and virtual memory mapping of the master and slave master boards.
  • a piece of physical memory PM-DAT is allocated on each board and divided into four parts. Among them, the first part stores the message header P- MQ sent by the board to other boards, the second part stores the message header MPQ that the board accepts messages from other boards, and the third part stores the message body that the board sends messages to other boards. PMD (labeled as DATA in the figure), and the fourth part stores the message body MPD (labeled as DATA in the figure) of the board receiving messages from other boards.
  • Each of the above four sections is divided into three small sections.
  • PMQH there are PMQH, PMQN., And PMQL, which means that the board sends messages to other boards PMQH with the highest priority, and boards send messages to other boards PMQN with the normal priority, and boards have low priority Level sends messages to other boards PMQL.
  • the corresponding virtual memory VM-DAT is mapped on the main control board, corresponding to the above-mentioned physical memory PM-D AT of each board respectively.
  • the main control board also includes a global control block SME-CB, a communication engine management core module SMP, a communication engine management module SMM, an HA management module HAM, a real-time database-message routing standard SM-MRT, And the hot plug detection module HSD not shown.
  • SME-CB global control block
  • SMP communication engine management core module
  • SMM communication engine management module
  • HAM HA management module
  • HSD hot plug detection module
  • the global control block SME-CB saves the correspondence between the physical memory of each board PM-D AT and the virtual memory VM-DAT on the main control board.
  • the communication engine management core module SMP is a module with a very high priority. It continuously queries the first part of the shared memory of each board according to the priority policy. If the communication engine management core module SMP finds that a certain board has a message to send to other boards, it immediately fetches the message from the memory of this board and sends it to the destination subsystem on the destination board.
  • the communication engine management module SMM has a heartbeat mechanism with each board and manages each board status.
  • the communication engine management module SMM also has a message interface with the system's HA management module HAM, and can stop and start the communication engine management core module SMP.
  • a system-level HA management module HAM is run on each main control board.
  • the HA management module HAM manages the health status of the entire system and provides master-slave switching services for the entire system. Once an error occurs in the main control board, it immediately informs the communication engine management module SMM, and the communication engine management module SMM immediately stops the current communication engine management core module SMP. Therefore, the HA management module HAM will change the current main control board to the slave main control board, and change the slave main control board to the main main control board, and notify the communication engine management module SMM. Immediately after the communication engine management module SMM receives the notification, the communication engine management core module SMP is started. In this way, the second communication engine starts immediately. Since the shared memory is stored on the board, there is no loss of message data, and the two communication engines are smoothly switched over.
  • the communication engine management core module SMP can better distribute messages. If a sub-module on one board needs to send a message to another board, this is easy for the communication engine. It can directly send this message to the destination according to the slot number of the destination board.
  • the sub-modules on the board do not know the slot number of the destination board, or the target board uses the main or backup or other methods for redundant backup. In this case, the sub-module will use the ID of the destination module for addressing. In this way, the communication engine management core module SMP can translate the module ID into the destination board that is processing the service according to the message routing indicator SM-MRT.
  • FIG. 4 shows the process performed by the main control board when the main and standby boards are switched.
  • step SP41 the services on the main board are stopped.
  • the active board receives notification that it is about to be switched to standby
  • the local query task on the active board will stop querying.
  • the messages on the service channel will be cached in the shared memory of this board.
  • step SP42 a message that has not been sent on the main board is sent.
  • step SP43 a message not received on the main board is sent to the standby board.
  • step SP44 the switching between the active and standby boards is completed, and the routing information of the active and standby relationship is updated.
  • the communication engine management core module SMP "retrieves" messages buffered on the old board and sends them to the new board that processes the service.
  • the message routing indicator SM-MRT is updated, and subsequent service messages will be sent directly to the new service board.
  • the shared memory of the old board cannot be accessed (corresponding to an uncontrolled switchover due to software and hardware exceptions of the old board), the "retrieve” process is skipped, and messages already sent to the old board are lost.
  • step SP45 the information receiving and sending service on the new main board is enabled.
  • the new main board starts to query and process services.
  • the extended translation function is connected in the access of the message routing target so as to realize the load sharing function.
  • the cPCI has the feature of hot swap (Hot Swap), and the communication system according to the present invention also supports hot swap of a single board in the system.
  • Figures 5 and 6 illustrate the process of inserting and removing a new board, respectively.
  • step SP51 when a new board is inserted in the chassis, the hot-plug detection module HSD located on the main control board detects the event and judges the board type. When this board supports the shared memory engine, in step SP52, the hot plug detection module HSD configures the PCI interface chip of the board and maps the PCI address for the shared memory on the board. Next, in step SP53, the hot plug detection module HSD notifies the corresponding engine management module SMM of the corresponding parameters.
  • step SP54 the communication engine management module SMM starts the heartbeat detection of the board.
  • step SP55 the correspondence between the physical memory PM-DAT of the board stored in the global control block SME-CB and the virtual memory VM-DAT on the main control board is updated, and confirmed in step SP56.
  • the communication engine management core module SMP is controlled to start the communication service for the board. Thereby, the insertion process of the new board is completed.
  • step SP60 when the hot-swap detection module HSD detects that the pull-out wrench of a certain board is pulled down, the hot-swap detection module HSD is in step SP61. Notify the board driver of this message. And if this board has been enabled To move the shared memory communication service, the hot plug detection module HSD immediately informs the communication engine management module SMM at step SP62.
  • step SP63 the communication engine management module SMM controls the communication engine management core module SMP to stop the communication service of the single board. Then, in step SP64, the communication engine management module SMM stops the heartbeat detection of the board, and in step SP65, the board is deregistered from the global control block SME-CB.
  • the hot-swap detection module HSD board removal processing is notified at step SP66, and the board can be removed and maintained normally in step SP67.
  • FIG. 7 shows a basic processing flow executed on a main control board when a dual-engine high-reliability shared memory communication method based on a cPCI bus is executed according to the present invention.
  • step SP71 the main control board maps the shared memory of each board to the address space of this board.
  • step SP72 the board shared memory information and function-slot number mapping are recorded.
  • step SP73 the main control board starts to poll the shared memory header area of the board until a header is obtained.
  • step SP74 it is determined in step SP74 whether the destination slot number exists in the information header. If the destination slot number exists in the message header, the information is sent to the board with the slot number specified by the destination slot number in step SP75. After that, the processing flow proceeds to step SP78.
  • step SP74 If it is determined in step SP74 that the destination slot number does not exist in the message header, then the information head is sent to the designated function board in step SP76. Then, in step SP77, the destination slot number is translated from the function, the master-backup relationship, and the matching sharing relationship.
  • step SP78 the main control board acquires the position of the information body in the shared memory and the shared memory information of the target board, and starts direct memory reading and writing in step SP79 according to the obtained above information.
  • step SP80 the transmission of a message is completed at step SP80.
  • the processing flow returns to step SP73, and the main control board continues to poll the shared memory information header area of the board for the next message transmission.
  • a single board is provided with a set of APIs for specific business modules to conveniently use the communication method according to the present invention.
  • Each business module uses this set of APIs to send messages to and receive messages from other boards.
  • the cPCI bus-based dual-engine high-reliability shared memory communication system and method of the present invention its MPQ / PMQ mechanism makes it possible for Memory reads and writes become possible.
  • the CPU of the main control board only determines the message routing and does not participate in message copying. Since the "single board-single board" communication volume in the system accounts for more than 95% of the entire communication volume, the cPCI bus-based dual-engine high-reliability shared memory communication system and method according to the present invention can be implemented with high performance. data communication.
  • the SM-MRT mechanism enables the peripheral boards on the cPCI to implement active / standby switchover when communicating with other boards using shared memory.
  • the hot-swap detection and heartbeat detection mechanisms ensure that board failures are detected as fast as possible, thereby ensuring message delay during board switching.
  • the "retrieval” process ensures the integrity of the message during the board switching process, and the “dual engine” guarantees that the shared memory communication can still be performed normally when the main control board fails.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Hardware Redundancy (AREA)
  • Small-Scale Networks (AREA)

Abstract

The present invention discloses a communication mechanism of the main control boards which is separated from specific service and constructed on normal CompactPCI bus with the peripheral single boards, which particularly satisfies the communication mechanism of high performance and high reliability required in the communication devices, the communication mechanism completes the switch between the main control boards and peripheral single boards, and between the peripheral single boards, in which the core module is high speed sharing memory engine, in the main control boards which are mutually standby, there have respectively a high speed sharing memory engine, and both the high speed sharing memory engine are hot standby mutually. when one engine fails to work or the main control board which the engine resides fails to work, -another engine takes the work without gap, and any data information won't lost.

Description

双引擎共享内存通信方法及系统 技术领域  Method and system for dual-engine shared memory communication
本发明涉及通信系统, 包括移动通信系统、 固定通信系统和数据 通信系统中的双引擎共享内存通信方法及系统。 背景技术  The present invention relates to a communication system, and includes a dual-engine shared memory communication method and system in a mobile communication system, a fixed communication system, and a data communication system. Background technique
一般来说, 诸如移动通信系统、 固定通信系统和数据通信系统的 这类运营级系统与个人应用系统不同,它们属于要求高可靠性的系统。 并且这类系统比一般的系统更复杂, 在一个系统中有很多的业务子系 统, 而每个业务子系统之间又是互相联系的, 有大量的业务数据需要 互相交换。 每个子系统又可能运行在不同的物理实体上, 例如不同的 机框, 或者相同的机框不同的单板之间。  Generally speaking, carrier-grade systems such as mobile communication systems, fixed communication systems, and data communication systems are different from personal application systems. They are systems that require high reliability. And this kind of system is more complicated than the general system, there are many business subsystems in one system, and each business subsystem is interconnected with each other, and a large amount of business data needs to be exchanged with each other. Each subsystem may run on different physical entities, such as different chassis, or between different boards in the same chassis.
在同一个机框的不同单板上运行不同的业务子系统的情况下,每 个业务子系统互相之间一般都存在数据消息的交换。 例如, 在 When different service subsystems run on different boards of the same chassis, each service subsystem generally exchanges data messages with each other. For example, in
UTStarcom的信令网关中, 在主控板上运行 7号信令管理模块、 系统 HA模块,在其中某块单板运行 MTP2模块,在某块单板上运行 MTP3 模块, 在另外的单板上运行 Sigtran模块。 这些模块之间存在管理消 息的交换以及协议数据包的相互传递。 In UTStarcom's signaling gateway, the No. 7 signaling management module and the system HA module are run on the main control board. One of the boards runs the MTP2 module, the one of the boards runs the MTP3 module, and the other board Run the Sigtran module. These modules exchange management messages and transfer protocol packets.
不同业务之间的数据消息的交互对底层的传输机制有不同的要 求。 例如, 有的子系统对消息的时延 4艮敏感, 例如在 7号信令网关中, 一个消息从传统的 7号信令网进入信令网关, 经过网关的处、理, 从 IP 网络输出, 这期间的时延不能超过国家标准规定的要求。 有的子系统 对消息的时延不是很敏感, 但是对消息是否可靠到达、 消息是否顺序 到达很敏感, 例如在 7号信令网关中, 主控板上的信令管理模块向单 板发一个管理命令, 如果这个命令丢失了, 则可能造成信令链路无法 使用。 还有的子系统可能消息数据块很大, 但是又不希望对消息进行 分片, 这样就对最大消息长度有特殊的要求。 由于在复杂的通信系统中, 各个子系统之间的通信是不可避免 的, 而不同的子系统又有不同的要求, 因而, 需要一种能够满足各个 子系统的不同要求的子系统间的通信方法。 The interaction of data messages between different services has different requirements for the underlying transmission mechanism. For example, some subsystems are sensitive to the delay of the message. For example, in the No. 7 signaling gateway, a message enters the signaling gateway from the traditional No. 7 signaling network, passes through the processing of the gateway, and is output from the IP network. The delay during this period cannot exceed the requirements set by national standards. Some subsystems are not very sensitive to the delay of the message, but are sensitive to whether the message arrives reliably and the message arrives in sequence. For example, in the No. 7 signaling gateway, the signaling management module on the main control board sends a message to the board. Management command. If this command is lost, the signaling link may be unusable. Other subsystems may have large message data blocks, but do not want to fragment the messages, so there are special requirements for the maximum message length. In a complex communication system, communication between various subsystems is unavoidable, and different subsystems have different requirements. Therefore, a communication between subsystems that can meet the different requirements of each subsystem is needed. method.
下面简单描述目前用于解决上述问题的两种现有通信机制。  The following briefly describes the two existing communication mechanisms currently used to solve the above problems.
1. 基于以太网络的通信机制。  1. Ethernet-based communication mechanism.
每个单板都有最少一个以太网接口,单板上运行 TCP/IP协议栈。 此时, 如果每个单板直接出以太网接口, 那么意味着在系统外需要另 外配备相应的交换机; 而如果通过 PIGMG2.16标准的背板以太总线, 则意味着系统中需要另外加一个充当交换功能的单板。 无论哪一种方 式, 各子系统之间的通信都是构架在 TCP/IP协议栈上的, 这就意味 着, 如果采取 UDP通信就存在消息丟失、 顺序到达的问题, 而如果采 取 TCP通信就存在管理所有的 TCP连接、 以及系统 HA比较难以实 现的问题。 例如, 一个单板通过 TCP与主控板通信, 当主控板发现错 误切换到备用的主控板时,该 TCP的连接就会被切断,单板与主控板 之间的连接需要重新建立, 这样单板与主控板的消息数据就会丢失。 另外, 无论基于 TCP还是 UDP都可能存在消息延迟的问题, 因为消 息从一个子系统到另外一个子系统都必须经过两个完全的 TCP/IP协 议栈, 而协议栈的性能成为一个必须解决的难题。  Each board has at least one Ethernet interface, and the board runs the TCP / IP protocol stack. At this time, if each board directly outputs the Ethernet interface, it means that a corresponding switch needs to be equipped outside the system; and if it passes the backplane Ethernet bus of the PIGMG2.16 standard, it means that another system needs to be added to act as Board with switching function. Either way, the communication between the subsystems is built on the TCP / IP protocol stack, which means that if UDP communication is used, there are problems of message loss and sequence arrival, and if TCP communication is used, There are problems that it is difficult to manage all TCP connections and system HA. For example, a single board communicates with the main control board through TCP. When the main control board finds that it has switched to the standby main control board by mistake, the TCP connection is cut off, and the connection between the single board and the main control board needs to be re-established. In this way, the message data of the single board and the main control board will be lost. In addition, no matter whether it is based on TCP or UDP, there may be a problem of message delay, because messages must pass through two complete TCP / IP protocol stacks from one subsystem to another, and the performance of the protocol stack has become a problem that must be solved. .
2. 基于串口的通信机制。  2. Serial-based communication mechanism.
对于这种通信机制, 如果每个单板之间、 单板跟主控板之间都需 要通信, 那么这些板必须两两都有物理的串口线相连接。 如果不从背 板上设计这些连线, 而从面板或者后板连接, 将从结构上使得系统很 混乱; 而如果从背板连接这些串口线, 则背板将不标准。 并且, 如果 采用有笫三方的单板, 将没有办法使第三方的单板与自己的单板相互 通信。 再有, 串口的带宽将是各个子系统之间通信的瓶颈。  For this communication mechanism, if there is a need for communication between each board, and between the board and the main control board, these boards must have physical serial lines connected to each other. If you do not design these wires from the backplane, and connect them from the panel or the backplane, the system will be very chaotic; if you connect these serial cables from the backplane, the backplane will not be standard. In addition, if a single-party board is used, there is no way for the third-party board to communicate with its own board. Furthermore, the bandwidth of the serial port will be the bottleneck of communication between the various subsystems.
鉴于上述开发下一代通信系统的特殊要求, 上面两种通信机制各 有缺点, 都不能满足基于标准平台的通信系统的要求。  In view of the above-mentioned special requirements for the development of next-generation communication systems, the above two communication mechanisms each have disadvantages, and neither can meet the requirements of a communication system based on a standard platform.
另外, 现有通信机制中使用的 VME总线, 作为八十年代提出的 总线标准, 有一定的局限性, 例如它的理论带宽为 80Mbps, —般实 际应用中只能到 40Mbps, 而 cPCI理论上可以到达 264Mbps。 同时支 持 VME总线的厂家不是很多, 这样快速的集成其他厂商的板卡并快 速开发出新的产品将非常困难。 发明内容 In addition, the VME bus used in the existing communication mechanism, as a bus standard proposed in the 1980s, has certain limitations, for example, its theoretical bandwidth is 80Mbps, which is as practical as In international applications, it can only reach 40Mbps, while cPCI can theoretically reach 264Mbps. At the same time, there are not many manufacturers supporting VME bus, so it will be very difficult to quickly integrate the boards of other manufacturers and quickly develop new products. Summary of the invention
因此,本发明的目的是为了克服现有通信机制中存在的上述问题, 提供一种双引擎共享内存通信方法及系统, 以实现共享内存的高性 能和高可靠性。  Therefore, an object of the present invention is to overcome the above problems in the existing communication mechanism, and provide a dual-engine shared memory communication method and system, so as to achieve high performance and high reliability of shared memory.
本发明公开一种构架在标准的 CompactPCI总线上的独立于特定 业务的主控板与外围单板的通信机制, 特别满足在通信设备中要求的 高性能高可靠的通信机制, 此通信机制完成数据在通信设备中的主控 板与外围单板, 以及外围单板之间的交换, 其中的核心模块为高速的 共享内存引擎, 在相互备份的主控板中, 各有一个高速的共享内存引 擎, 这两个共享内存引擎互相热备份, 一个引擎出现故障, 或者所在 的主控板出现故障, 另外一个引擎无缝的接替工作, 没有任何数据消 息的丢失。  The invention discloses a communication mechanism of a main control board and a peripheral single board independent of a specific service, which is structured on a standard CompactPCI bus, and particularly meets the high-performance and high-reliability communication mechanism required in communication equipment. This communication mechanism completes data In the communication equipment, the main control board and peripheral boards, and the exchange between the peripheral boards, the core module of which is a high-speed shared memory engine, each of the main control boards backed up each has a high-speed shared memory engine The two shared memory engines are hot backed up to each other, one engine fails, or the main control board is faulty, and the other engine works seamlessly without any loss of data messages.
根据本发明的一个方面, 提供一种通信系统, 包括运行主业务模 块的主用主控板和至少一个运行子业务模块的单板, 其特征在于: 所 述单板包括划分为四部分的物理内存, 其中, 第一部分存放单板发送 消息到其他板的消息头, 第二部分存放单板接受其他板的消息的消息 头, 笫三部分是存放单板发送消息到其他板的消息体, 第四部分存放 单板接受其他板的消息的消息体; 以及所述主控板包括一虛拟内存, 用于映射所述单板的物理内存。  According to an aspect of the present invention, a communication system is provided, which includes a main main control board that runs a main service module and at least one board that runs a sub-service module, and is characterized in that: the single board includes a physical divided into four parts. The first part stores the message headers of the board sending messages to other boards, the second part stores the message headers of the boards receiving messages from other boards, and the third part stores the message bodies of the boards sending messages to other boards. Four parts store a message body where the board accepts messages from other boards; and the main control board includes a virtual memory for mapping the physical memory of the board.
根据本发明的另一方面, 提供一种在上述通信系统中使用的业务单 板, 其特征在于所述单板包括划分为四部分的物理内存, 其中, 笫一 部分存放单板发送消息到其他板的消息头, 第二部分存放单板接受其 他板的消息的消息头, 笫三部分是存放单板发送消息到其他板的消息 体, 第四部分存放单板接受其他板的消息的消息体。  According to another aspect of the present invention, a service board used in the above-mentioned communication system is provided, which is characterized in that the board includes physical memory divided into four parts, wherein one part stores the board to send messages to other boards The second part stores the message header for the board to receive messages from other boards, the third part stores the message body for the board to send messages to other boards, and the fourth part stores the message body for the board to receive messages from other boards.
根据本发明的另一方面, 提供一种在上述通信系统中使用的主控 板, 其特征在于所述主控板包括一虛拟内存, 用于映射通信系统中使 用的业务单板的物理内存。 According to another aspect of the present invention, a main control used in the above communication system is provided. The board is characterized in that the main control board includes a virtual memory for mapping the physical memory of a service single board used in the communication system.
根据本发明的再一方面, 提供一种基于 cPCI总线的双引擎共享 内存通信方法, 其特征在于包括步骤: a)映射单板的共享内存到主控 板虚拟内存; b)轮询单板共享内存信息头区域, 直至获取一条信息头; c)根据所获取的信息头, 确定目标板; d)获取信息体在共享内存中的 位置、 目标板的共享内存信息; 以及 e)启动直接内存读写, 完成消息 传送。  According to still another aspect of the present invention, a cPCI bus-based dual-engine shared memory communication method is provided, which includes the steps of: a) mapping a board's shared memory to a main control board's virtual memory; b) polling board sharing Memory information header area until an information header is obtained; c) determining the target board according to the obtained information header; d) obtaining the position of the information body in the shared memory and the shared memory information of the target board; and e) starting direct memory reading Write and complete message transfer.
另外, 还提供记录在至少一种计算机可读介膚中的计算机程序产 品, 包括当计算机使用时, 使计算机执行上述基于 cPCI 总线的双引 擎共享内存通信方法的步骤的功能性描述素材。  In addition, a computer program product recorded in at least one computer-readable interface is provided, which includes functional description materials for causing the computer to execute the steps of the cPCI bus-based dual-engine shared memory communication method when the computer is used.
根据本发明的上述方法和系统, 采用 64位 66M频率的 cPCI总 线解决了带宽的问题, 基于共享总线的机制保证了消息的顺序到达, 基于内存直接读写的通信方法解决了对消息传递的延时要求。 附图说明  According to the above method and system of the present invention, a 64-bit 66M frequency cPCI bus is used to solve the bandwidth problem, a shared bus-based mechanism ensures the order of messages, and a communication method based on direct memory read-write solves the delay in message delivery. When requested. BRIEF DESCRIPTION OF THE DRAWINGS
图 1 示出同一个机框的不同单板上运行不同的业务子系统的情 况;  Figure 1 shows the situation where different service subsystems run on different boards of the same chassis;
图 2示出每个单板的物理内存分配及主和从主控板的虚拟内存映 射;  Figure 2 shows the physical memory allocation of each board and the virtual memory mapping of the master and slave master control boards;
图 3示出根据本发明一个实施例的通信系统的主控板的结构方框 图;  3 is a block diagram showing a structure of a main control board of a communication system according to an embodiment of the present invention;
图 4示出在根据本发明一个实施例的通信系统中进行主备单板切 换时主控板的流程图;  FIG. 4 shows a flowchart of a main control board when switching between a main and a standby board in a communication system according to an embodiment of the present invention; FIG.
图 5示出在根据本发明一个实施例的通信系统中新单板插入过程 的流程图;  5 shows a flowchart of a process of inserting a new board in a communication system according to an embodiment of the present invention;
图 6示出在根据本发明一个实施例的通信系统中单板拔出过程的 流程图; 以及  FIG. 6 shows a flowchart of a board removal process in a communication system according to an embodiment of the present invention; and
图 7示出在运行根据本发明的基于 cPCI总线的双引擎高可靠性 的共享内存通信方法时主控板上所执行的基本处理流程。 具体实施方式 FIG. 7 shows high reliability of a dual-cPCI bus-based engine running the present invention. The shared memory communication method is the basic processing flow performed on the main control board. detailed description
本发明的目的在于提供一种基于标准的 cPCI总线的共享内存的 高可靠性的通信系统及方法, 而该通信方法独立于任何具体的业务。 例如: 根据本发明的该通信方法可以应用于信令网关中、 各个协议层 的高速可靠的消息传输, 也可以应用于中继网关中、 分布在各个单板 上的子模块的通信, 还可应用于呼叫服务器中、 各个业务子系统之间 的呼叫信息的交互、 镜像等等。  An object of the present invention is to provide a highly reliable communication system and method based on a standard cPCI bus shared memory, and the communication method is independent of any specific service. For example, the communication method according to the present invention can be applied to high-speed and reliable message transmission of each protocol layer in a signaling gateway, and can also be applied to the communication of submodules distributed on each board in a relay gateway. It is used in call server, call information interaction, mirroring, etc. among various business subsystems.
下面以在同一个机框的不同单板上运行不同的业务子系统为例具 体说明本发明。  In the following, the present invention is specifically described by taking different service subsystems running on different boards on the same chassis as an example.
这里首先应该指出的是,.下面的描述仅仅是示例性质的, 本发明 不仅限于运行不同业务的子系统位于同一机框的情形, 而包括各子系 统运行在不同的物理实体上, 例如不同的机框的情况。  It should be pointed out here that the following description is merely exemplary. The present invention is not limited to the case where subsystems running different services are located in the same chassis, but includes that each subsystem runs on different physical entities, such as different Condition of the chassis.
图 1 示出同一个机框的不同单板上运行不同的业务子系统的情 况, 其中, 每个业务子系统互相之间都存在数据消息的交换。 如图 1 所示, 在主用主控板和从主控板上运行主业务模块, 而在单板 1至单 权 N上运行各子业务模块。 例如, 在 UTStarcom的信令网关上, 在 主控板上运行 7号信令管理模块、 系统 HA模块, 在其中某块单板 1 至单板 N上运行 MTP2模块, 在某块单板 1至单板 N上运行 MTP3 模块, 在另外的单板 1至单板 N上运行 Sigtran模块。 这些模块之间 存在管理消息的交换以及协议数据包的相互传递。 所有这些模块的交 互都通过下面将详细描述的本发明的基于双引擎的高可靠性的共享内 存的通信方法来完成。  Figure 1 shows a situation in which different service subsystems run on different boards of the same chassis, where each service subsystem exchanges data messages with each other. As shown in FIG. 1, the main service module is run on the main control board and the slave main control board, and each sub-service module is run on the board 1 to the authority N. For example, on the signaling gateway of UTStarcom, the No. 7 signaling management module and the system HA module are run on the main control board, the MTP2 module is run on one of the boards 1 to N, and the board 1 to The MTP3 module runs on board N, and the Sigtran module runs on other boards 1 to N. These modules exchange management messages and transfer protocol packets. The interaction of all these modules is accomplished by the dual-engine high-reliability shared memory communication method of the present invention, which will be described in detail below.
在这里还应该指出的是, 作为八十年代提出的总线标准, VME 总线有一定的局限性, 例如它的理论带宽为 80Mbps, 一般实际应用 中只能到 40Mbps, 而 cPCI理论上可以到达 264Mbps。 另外, 支持 VME总线的厂家不是很多, 不象 cPCI总线, 有很多的笫三方厂商提 供各种功能的 cPCI板。 因此, 作为优选实施方式, 本发明采用 cPCI 总线作为各个板(包括主控板和单板)之间的连接总线, 这样便于快 速的集成其他厂商的板卡, 从而快速开发出新的产品。 It should also be pointed out here that as a bus standard proposed in the 1980s, the VME bus has certain limitations. For example, its theoretical bandwidth is 80 Mbps, which can only reach 40 Mbps in practical applications, while cPCI can theoretically reach 264 Mbps. In addition, there are not many manufacturers supporting the VME bus. Unlike the cPCI bus, there are many cPCI boards from various third parties that provide various functions. Therefore, as a preferred embodiment, the present invention adopts cPCI The bus is used as a connection bus between the various boards (including the main control board and the single board), which facilitates the rapid integration of the boards of other manufacturers, thereby rapidly developing new products.
根据本发明的通信系统,在上述机框内的每个单板及主和从主控 板上按照具体的需求均分配一段合适大小的物理内存, 同时将每个单 板上的内存段分成四大部分, 具体见图 2和图 3示出的每个单板的物 理内存分配及主和从主控板的虚拟内存映射。  According to the communication system of the present invention, each board in the above chassis and the master and slave master control boards are allocated a piece of physical memory of an appropriate size according to specific requirements, and the memory section of each board is divided into four For the most part, see Figures 2 and 3 for physical memory allocation and virtual memory mapping of the master and slave master boards.
如图 2所示, 在每一块单板上均分配一段物理内存 PM-DAT并 将其划分为四部分。 其中, 第一部分存放单板发送消息到其他板的消 息头 P - M-Q, 第二部分存放单板接受其他板的消息的消息头 M-P-Q, 第三部分是存放单板发送消息到其他板的消息体 P-M-D (图中标为 DATA部分), 第四部分存放单板接受其他板的消息的消息体 M-P-D (图中标为 DATA部分)。  As shown in Figure 2, a piece of physical memory PM-DAT is allocated on each board and divided into four parts. Among them, the first part stores the message header P- MQ sent by the board to other boards, the second part stores the message header MPQ that the board accepts messages from other boards, and the third part stores the message body that the board sends messages to other boards. PMD (labeled as DATA in the figure), and the fourth part stores the message body MPD (labeled as DATA in the figure) of the board receiving messages from other boards.
上述四个部分的每一部分又分为三个小段。 例如: 在第一部分中 有 P-M-Q-H、 P-M-Q-N. 和 P-M-Q-L, 分别的意思是, 单板以最高 优先级发送消息到其他板 P-M-Q-H,单板以普通优先级发送消息到其 他板 P-M-Q-N, 单板以低优先级发送消息到其他板 P-M-Q-L。  Each of the above four sections is divided into three small sections. For example: In the first part, there are PMQH, PMQN., And PMQL, which means that the board sends messages to other boards PMQH with the highest priority, and boards send messages to other boards PMQN with the normal priority, and boards have low priority Level sends messages to other boards PMQL.
同时,在主控板上映射相应的虛拟内存 VM-DAT,与各个单板的 上述物理内存 PM-D AT分别对应。  At the same time, the corresponding virtual memory VM-DAT is mapped on the main control board, corresponding to the above-mentioned physical memory PM-D AT of each board respectively.
另外, 如图 3所示, 在主控板上还包括全局控制块 SME-CB、 通 信引擎管理核心模块 SMP、 通信引擎管理模块 SMM、 HA管理模块 HAM, 实时数据库 -消息路由标 SM-MRT、 以及未示出的热拔插检 测模块 HSD。 这些模块在主用主控板和从主控板上是镜像的。  In addition, as shown in FIG. 3, the main control board also includes a global control block SME-CB, a communication engine management core module SMP, a communication engine management module SMM, an HA management module HAM, a real-time database-message routing standard SM-MRT, And the hot plug detection module HSD not shown. These modules are mirrored on the master and slave control boards.
全局控制块 SME-CB保存了各个单板的物理内存 PM-D AT跟主 控板上虚拟内存 VM-DAT的对应关系。  The global control block SME-CB saves the correspondence between the physical memory of each board PM-D AT and the virtual memory VM-DAT on the main control board.
通信引擎管理核心模块 SMP是一个优先级非常高的模块, 它根 据优先级策略不停的查询各个单板的共享内存的第一部分。 如果通信 引擎管理核心模块 SMP发现某块单板有消息要发送到其他板, 则立 即从这块单板的内存取出该消息, 并发送到目的板上的目的子系统。  The communication engine management core module SMP is a module with a very high priority. It continuously queries the first part of the shared memory of each board according to the priority policy. If the communication engine management core module SMP finds that a certain board has a message to send to other boards, it immediately fetches the message from the memory of this board and sends it to the destination subsystem on the destination board.
通信引擎管理模块 SMM与各个单板有心跳机制, 管理各个单板 的状态。 通信引擎管理模块 SMM还与系统的 HA管理模块 HAM有 消息接口, 并可以停止和启动通信引擎管理核心模块 SMP。 The communication engine management module SMM has a heartbeat mechanism with each board and manages each board status. The communication engine management module SMM also has a message interface with the system's HA management module HAM, and can stop and start the communication engine management core module SMP.
另外, 才艮据本发明的通信系统, 在每个主控板上都运行一个系统 级的 HA管理模块 HAM。该 HA管理模块 HAM管理着整个系统的健 康状态, 为整个系统提供主从倒换服务。 一旦主用主控板出现错误, 它立即通知通信引擎管理模块 SMM,通信引擎管理模块 SMM则立即 停止当前的通信引擎管理核心模块 SMP。 从而, HA管理模块 HAM 就会把当前的主用主控板变为从主控板, 并且把从主控板变为主用主 控板, 并且通知通信引擎管理模块 SMM。 在通信引擎管理模块 SMM 接收到该通知后立即启动通信引擎管理核心模块 SMP。 这样, 第二个 通信引擎立即启动。 由于共享内存保存在单板上, 所以没有任何消息 数据的丢失, 两个通信引擎很平滑的切换过来。  In addition, according to the communication system of the present invention, a system-level HA management module HAM is run on each main control board. The HA management module HAM manages the health status of the entire system and provides master-slave switching services for the entire system. Once an error occurs in the main control board, it immediately informs the communication engine management module SMM, and the communication engine management module SMM immediately stops the current communication engine management core module SMP. Therefore, the HA management module HAM will change the current main control board to the slave main control board, and change the slave main control board to the main main control board, and notify the communication engine management module SMM. Immediately after the communication engine management module SMM receives the notification, the communication engine management core module SMP is started. In this way, the second communication engine starts immediately. Since the shared memory is stored on the board, there is no loss of message data, and the two communication engines are smoothly switched over.
在主控板上还设有一个实时数据库 -消息路由标 SM-MRT。 根 据该消息路由标 SM-MRT, 通信引擎管理核心模块 SMP可以更好的 分发消息。因为一个单板上的子模块如果要发送消息到另外一个单板, 这对通信引擎来说 4艮好处理, 它可以根据目的单板的槽号直接发送这 个消息到目的地。  There is also a real-time database on the main control board-the message routing standard SM-MRT. According to the message routing standard SM-MRT, the communication engine management core module SMP can better distribute messages. If a sub-module on one board needs to send a message to another board, this is easy for the communication engine. It can directly send this message to the destination according to the slot number of the destination board.
但是, 有时候单板上的子模块不知道目的单板的槽号, 或者目标 单板使用主备用或其他方式进行冗余备份, 这时子模块会使用目的模 块的 ID进行寻址。 这样, 通信引擎管理核心模块 SMP就可以根据消 息路由标 SM-MRT将模块 ID翻译成正在处理业务的目的板。  However, sometimes the sub-modules on the board do not know the slot number of the destination board, or the target board uses the main or backup or other methods for redundant backup. In this case, the sub-module will use the ID of the destination module for addressing. In this way, the communication engine management core module SMP can translate the module ID into the destination board that is processing the service according to the message routing indicator SM-MRT.
当目的板进行切换时,外部的管理模块将与通信引擎管理核心模 块 SMP配合, 完成切换过程。 图 4示出主备用单板切换时主控板所 执行的流程。  When the destination board is switched, the external management module will cooperate with the communication engine management core module SMP to complete the switching process. Figure 4 shows the process performed by the main control board when the main and standby boards are switched.
首先, 如图 4所示, 在步骤 SP41 , 停止主单板上的业务。 当主 用单板得到自己即将被切换为备用的通知后, 主用单板上的本地查询 任务将停止查询。 这时, 该业务通道上的消息将緩存在此单板的共享 内存中。  First, as shown in FIG. 4, in step SP41, the services on the main board are stopped. When the active board receives notification that it is about to be switched to standby, the local query task on the active board will stop querying. At this time, the messages on the service channel will be cached in the shared memory of this board.
接着, 在步驟 SP42, 发送所述主单板上尚未发完的消息。 然后, 在步骤 SP43, 将该主单板上未接收的消息发送给备用单板。 然后, 在步骤 SP44, 完成主备用单板的切换, 更新主备关系的 路由信息。通信引擎管理核心模块 SMP将旧板上緩存的消息 "取回", 并发送到处理该业务的新单板。 同时, 消息路由标 SM-MRT被更新, 此后的业务消息将直接发送到新的业务单板。 在此过程中, 如果旧板 的共享内存不能被访问 (对应于由于旧板软硬件异常引起的非受控切 换), 则跳过 "取回" 过程, 已经发送到旧板的消息丟失。 Next, in step SP42, a message that has not been sent on the main board is sent. then, In step SP43, a message not received on the main board is sent to the standby board. Then, in step SP44, the switching between the active and standby boards is completed, and the routing information of the active and standby relationship is updated. The communication engine management core module SMP "retrieves" messages buffered on the old board and sends them to the new board that processes the service. At the same time, the message routing indicator SM-MRT is updated, and subsequent service messages will be sent directly to the new service board. In this process, if the shared memory of the old board cannot be accessed (corresponding to an uncontrolled switchover due to software and hardware exceptions of the old board), the "retrieve" process is skipped, and messages already sent to the old board are lost.
之后, 在步骤 SP45, 启用新主单板上的信息接收和发送服务。 新主单板开始查询和处理业务。  After that, in step SP45, the information receiving and sending service on the new main board is enabled. The new main board starts to query and process services.
优选地,在消息路由标的访问中挂接扩展的翻译功能从而实现负 荷分担的功能。  Preferably, the extended translation function is connected in the access of the message routing target so as to realize the load sharing function.
此外, 利用 cPCI具有热拔插(Hot Swap ) 的特性, 根据本发明 的通信系统也支持单板在系统中的热拔插。 图 5和图 6分别说明新单 板插入过程和单板拔出过程。  In addition, the cPCI has the feature of hot swap (Hot Swap), and the communication system according to the present invention also supports hot swap of a single board in the system. Figures 5 and 6 illustrate the process of inserting and removing a new board, respectively.
如图 5所示, 在步骤 SP51, 当机框中插入新的单板时, 位于主 控板上的热拔插检测模块 HSD检测到该事件并对单板类型进行判断。 当此单板支持共享内存引擎时, 在步驟 SP52, 热拔插检测模块 HSD 对该单板的 PCI接口芯片进行配置, 为该单板上的共享内存映射 PCI 地址。 接着, 在步骤 SP53, 热拔插检测模块 HSD将相应参数通知通 信引擎管理模块 SMM。  As shown in FIG. 5, in step SP51, when a new board is inserted in the chassis, the hot-plug detection module HSD located on the main control board detects the event and judges the board type. When this board supports the shared memory engine, in step SP52, the hot plug detection module HSD configures the PCI interface chip of the board and maps the PCI address for the shared memory on the board. Next, in step SP53, the hot plug detection module HSD notifies the corresponding engine management module SMM of the corresponding parameters.
之后, 在步骤 SP54, 通信引擎管理模块 SMM启动该单板的心 跳检测。在心跳检测成功之后,在步骤 SP55,更新全局控制块 SME-CB 中所保存的该单板的物理内存 PM-DAT 跟主控板上虚拟内存 VM-DAT的对应关系, 并在步骤 SP56中确认该单板激活后控制通信 引擎管理核心模块 SMP 为该单板启动通信业务。 从而, 完成新单板 的插入过程。  After that, in step SP54, the communication engine management module SMM starts the heartbeat detection of the board. After the heartbeat detection is successful, at step SP55, the correspondence between the physical memory PM-DAT of the board stored in the global control block SME-CB and the virtual memory VM-DAT on the main control board is updated, and confirmed in step SP56. After the board is activated, the communication engine management core module SMP is controlled to start the communication service for the board. Thereby, the insertion process of the new board is completed.
对于单板的拔出过程, 如图 6所示, 在步骤 SP60, 当热拔插检 测模块 HSD检测到某单板的拔插扳手被扳下时, 在步糠 SP61中热拔 插检测模块 HSD将该消息通知板驱动程序。并且,若此单板上已经启 动共享内存通信业务, 则在步驟 SP62热拔插检测模块 HSD立即通知 通信引擎管理模块 SMM。 For the process of removing a board, as shown in FIG. 6, in step SP60, when the hot-swap detection module HSD detects that the pull-out wrench of a certain board is pulled down, the hot-swap detection module HSD is in step SP61. Notify the board driver of this message. And if this board has been enabled To move the shared memory communication service, the hot plug detection module HSD immediately informs the communication engine management module SMM at step SP62.
之后, 在步骤 SP63, 通信引擎管理模块 SMM控制通信引擎管 理核心模块 SMP停止该单板的通信业务。 接着, 在步驟 SP64, 通信 引擎管理模块 SMM停止该板心跳检测, 并在步驟 SP65 中向全局控 制块 SME-CB注销该板。  After that, in step SP63, the communication engine management module SMM controls the communication engine management core module SMP to stop the communication service of the single board. Then, in step SP64, the communication engine management module SMM stops the heartbeat detection of the board, and in step SP65, the board is deregistered from the global control block SME-CB.
完成上述操作后,在步骤 SP66通知热拔插检测模块 HSD拔板处 理结束, 该单板可以在步驟 SP67中被正常拔出维护。  After the above operations are completed, the hot-swap detection module HSD board removal processing is notified at step SP66, and the board can be removed and maintained normally in step SP67.
以上结合附图详细描述了根据本发明的基于 cPCI总线的双引擎 高可靠性的共享内存通信系统以及在该系统中热拔插业务单板的处理 过程。  The dual-engine high-reliability shared-memory communication system based on the cPCI bus according to the present invention and the process of hot-plugging a service single board in the system are described in detail above with reference to the accompanying drawings.
下面将结合附图详细描述根据本发明的基于 cPCI总线的双引擎 高可靠性的共享内存通信方法。  The dual-engine high-reliability shared memory communication method based on the cPCI bus according to the present invention will be described in detail below with reference to the accompanying drawings.
图 7示出在运行根据本发明的基于 cPCI总线的双引擎高可靠性 的共享内存通信方法时主控板上所执行的基本处理流程。  FIG. 7 shows a basic processing flow executed on a main control board when a dual-engine high-reliability shared memory communication method based on a cPCI bus is executed according to the present invention.
如图 7所示, 在步骤 SP71, 主控板映射各个单板的共享内存到 本板地址空间。 接着, 在步骤 SP72, 记录单板共享内存信息和功能- 槽号映射。  As shown in FIG. 7, in step SP71, the main control board maps the shared memory of each board to the address space of this board. Next, in step SP72, the board shared memory information and function-slot number mapping are recorded.
在完成上述初始化工作之后, 在步骤 SP73, 主控板开始轮询单 板共享内存信息头区域, 直至获取一条信息头。  After completing the above initialization work, in step SP73, the main control board starts to poll the shared memory header area of the board until a header is obtained.
然后, 在步骤 SP74中判断该信息头中是否存在目的槽号。 如果 在信息头中存在目的槽号, 则在步驟 SP75 中将该信息头发送到目的 槽号所指定槽号的单板。 之后, 处理流程前进到步骤 SP78。  Then, it is determined in step SP74 whether the destination slot number exists in the information header. If the destination slot number exists in the message header, the information is sent to the board with the slot number specified by the destination slot number in step SP75. After that, the processing flow proceeds to step SP78.
如果在步骤 SP74中判断在信息头中不存在目的槽号, 则在步骤 SP76将该信息头发送到指定功能单板。然后,在步骤 SP77中由功能、 主备关系、 符合分担关系翻译出目的槽号。  If it is determined in step SP74 that the destination slot number does not exist in the message header, then the information head is sent to the designated function board in step SP76. Then, in step SP77, the destination slot number is translated from the function, the master-backup relationship, and the matching sharing relationship.
接着,在步驟 SP78中, 主控板获取信息体在共享内存中的位置、 目标板的共享内存信息, 并根据所获取的上述信息在步驟 SP79 中启 动直接内存读写。 从而, 在步骤 SP80完成一条信息的传送。 在步骤 SP80 中完成一条信息的传送之后, 处理流程返回步骤 SP73, 主控板继续轮询单板共享内存信息头区域, 以进行下一条信息 的传送。 Next, in step SP78, the main control board acquires the position of the information body in the shared memory and the shared memory information of the target board, and starts direct memory reading and writing in step SP79 according to the obtained above information. Thus, the transmission of a message is completed at step SP80. After the transmission of one message is completed in step SP80, the processing flow returns to step SP73, and the main control board continues to poll the shared memory information header area of the board for the next message transmission.
另外,在单板上提供有一套 API给具体的业务模块, 以方便地使 用根据本发明的通信方法, 各个业务模块使用这一套 API来发送消息 到其他板和接受从其他板送来的消息。 在单板上还有一个本地的查询 模块,根据预先确定的优先级策略不停的查询第二部分的共享内存块: M-P-Q, 如果有消息到达, 则立即通知具体的业务模块接受消息。  In addition, a single board is provided with a set of APIs for specific business modules to conveniently use the communication method according to the present invention. Each business module uses this set of APIs to send messages to and receive messages from other boards. . There is also a local query module on the board, which continuously queries the shared memory block of the second part according to a predetermined priority policy: M-P-Q. If a message arrives, it immediately informs the specific business module to accept the message.
从以上具体描述可以看出, 根据本发明的基于 cPCI总线的双引 擎高可靠性的共享内存通信系统及方法, 其 M-P-Q/P-M-Q机制使得 当消息传递路径为 "单板-单板" 时, 直接内存读写成为可能。 而主控 板的 CPU只决定消息路由, 不参加消息拷贝。 由于系统中 "单板-单 板" 的通信量占到整个通信量的 95 %以上, 从而, 根据本发明的基于 cPCI 总线的双引擎高可靠性的共享内存通信系统及方法可以高性能 的实现数据通信。  As can be seen from the above specific description, according to the cPCI bus-based dual-engine high-reliability shared memory communication system and method of the present invention, its MPQ / PMQ mechanism makes it possible for Memory reads and writes become possible. The CPU of the main control board only determines the message routing and does not participate in message copying. Since the "single board-single board" communication volume in the system accounts for more than 95% of the entire communication volume, the cPCI bus-based dual-engine high-reliability shared memory communication system and method according to the present invention can be implemented with high performance. data communication.
另外, 由于共享内存存在于单板上, 而不是主控板上, 因此, 当 主控板切换时, 共享内存中的信息不会丢失。 从而, 为完全保证消息 的完整、 唯一和循序提供了最基本的保障条件。  In addition, since the shared memory exists on the single board, rather than the main control board, when the main control board is switched, the information in the shared memory will not be lost. Thereby, the most basic guarantee conditions are provided to completely guarantee the integrity, uniqueness and order of the messages.
此外, SM-MRT机制则使得 cPCI上的外围单板在与其它单板使 用共享内存通信时也可以实现主备切换。 热拔插检测和心跳检测机制 则保证最快的检测到单板故障,从而保证单板切换过程中的消息时延。  In addition, the SM-MRT mechanism enables the peripheral boards on the cPCI to implement active / standby switchover when communicating with other boards using shared memory. The hot-swap detection and heartbeat detection mechanisms ensure that board failures are detected as fast as possible, thereby ensuring message delay during board switching.
"取回"过程保证了在单板切换过程中消息的完整, "双引擎"则保证 在主控板故障时共享内存通信仍能正常进行。  The "retrieval" process ensures the integrity of the message during the board switching process, and the "dual engine" guarantees that the shared memory communication can still be performed normally when the main control board fails.
由此, 可以看出, 根据本发明的基于 cPCI总线的双引擎高可靠 性的共享内存通信系统及方法, 可以实现整个通信系统的高性能和高 可靠性。  From this, it can be seen that according to the cPCI bus-based dual-engine high-reliability shared memory communication system and method, the high performance and high reliability of the entire communication system can be achieved.
以上尽管按照优选实施例说明了本发明,但是可在本公开内容的 精神和范围内进一步修改本发明。 从而, 本申请通过它的总体原理来 覆盖本发明的任何变型、 使用或修改。 另外, 本申请意图覆盖从本公 开内容出发的在技术上和本发明有关的以及在所附权利要求书的限定 之内的已知的或商业上的实践。 Although the invention has been described above in terms of preferred embodiments, the invention can be further modified within the spirit and scope of the disclosure. Accordingly, this application covers any variations, uses, or adaptations of the invention by its general principles. In addition, this application is intended to cover The disclosure is based on known or commercial practice that is technically related to the invention and within the limits of the appended claims.

Claims

权 利 要 求 Rights request
1. 一种通信系统, 包括运行主业务模块的主用主控板和至少一个 运行子业务模块的单板, 其特征在于: 1. A communication system comprising a main main control board running a main service module and at least one board running a sub service module, characterized in that:
所述单板包括划分为四部分的物理内存 (PM-D AT), 其中, 第一 部分存放单板发送消息到其他板的消息头 (P-M-Q), 第二部分存放单 板接受其他板的消息的消息头 (M-P-Q), 第三部分是存放单板发送消 息到其他板的消息体 (P-M-D), 第四部分存放单板接受其他板的消息 的消息体 (M-P-D); 以及  The single board includes four parts of physical memory (PM-D AT), where the first part stores the message header (PMQ) of the board to send messages to other boards, and the second part stores the boards that receive messages from other boards. Message header (MPQ), the third part stores the message body (PMD) of the board sending messages to other boards, and the fourth part stores the message body (MPD) of the boards receiving messages from other boards; and
所述主控板包括一虛拟内存 (VM-DAT), 用于映射所述单板的物 理内存 (PM-DAT)0 The main board includes a virtual memory (VM-DAT), for mapping the physical memory board (PM-DAT) 0
2. 如权利要求 1 所述的通信系统, 其特征在于所述通信系统基 于 cPCI总线。  2. The communication system according to claim 1, wherein the communication system is based on a cPCI bus.
3. 如权利要求 2 所述的通信系统, 其特征在于划分为四部分的 物理内存 (PM-D AT)的每一部分又分为高、 中、 低优先级的三个小段。  3. The communication system according to claim 2, characterized in that each part of the physical memory (PM-D AT) divided into four parts is further divided into three small segments of high, medium and low priority.
4. 如权利要求 1至 3任一所述的通信系统, 其特征在于所述通 信系统还包括与主用主控板结构对称的从用主控板。  4. The communication system according to any one of claims 1 to 3, wherein the communication system further comprises a slave main control board having a structure symmetrical to the structure of the master main control board.
5. 如权利要求 4 所述的通信系统, 其特征在于所述主用主控板 和从用主控板镜像地分别包括:  5. The communication system according to claim 4, wherein the master control board and the slave control board respectively include:
全局控制块 (SME-CB),用于保存单板的物理内存 (PM-D AT)与主 控板上虚拟内存 (VM-D AT)的对应关系; 以及  Global Control Block (SME-CB), which is used to save the correspondence between the physical memory (PM-D AT) of the board and the virtual memory (VM-D AT) on the main control board; and
通信引擎管理核心模块 (SMP), 根据优先级策略轮询单板的共享 内存的第一部分, 如果发现某块单板有消息要发送到其他板, 则立即 从这块单板的内存取出该消息, 并发送到目的板上的目的子系统。  The communication engine management core module (SMP) polls the first part of the shared memory of the board according to the priority policy. If a board is found to have messages to send to other boards, the message is immediately taken from the memory of this board And send it to the destination subsystem on the destination board.
6. 如权利要求 5 所述的通信系统, 其特征在于所述主用主控板 和从用主控板镜像地分别包括:  6. The communication system according to claim 5, wherein the master control board and the slave control board respectively include:
通信引擎管理模块 (SMM), 与单板存在心跳机制, 用于管理单板 的状态; 以及  The communication engine management module (SMM) has a heartbeat mechanism with the board to manage the status of the board; and
HA管理模块 (HAM), 用于管理整个系统的健康状态, 为整个系 统提供主从倒换服务; 并且 HA Management Module (HAM), used to manage the health status of the entire system, for the entire system System to provide master-slave switching services; and
通信引擎管理模块 (SMM)还与系统的 HA 管理模块 (HAM)有消 息接口, 并可以停止和启动通信引擎管理核心模块 (SMP)。  The communication engine management module (SMM) also has a message interface with the system's HA management module (HAM), and can stop and start the communication engine management core module (SMP).
7. 如权利要求 6 所述的通信系统, 其特征在于所述主用主控板 和从用主控板镜像地分别包括消息路由标 (SM-MRT), 并且通信引擎 管理核心模块 (SMP)根据该消息路由标 (SM-MRT)分发消息。  7. The communication system according to claim 6, wherein the master control board and the slave control board respectively include a message routing indicator (SM-MRT), and a communication engine management core module (SMP) Messages are distributed according to this message routing indicator (SM-MRT).
8. 一种在如权利要求 1 - 7任一所述的通信系统中使用的业务单板, 其特征在于所述单板包括划分为四部分的物理内存 (PM-DAT), 其中, 第一部分存放单板发送消息到其他板的消息头 (P-M-Q), 第二部分存 放单板接受其他板的消息的消息头 (M-P-Q), 第三部分是存放单板发 送消息到其他板的消息体 (P-M-D), 第四部分存放单板接受其他板的 消息的消息体 (M-P-D)。  8. A service board used in a communication system according to any one of claims 1 to 7, wherein the board includes a physical memory (PM-DAT) divided into four parts, wherein the first part Stores the message header (PMQ) of the board sending messages to other boards, the second part stores the message header (MPQ) of the board receiving messages from other boards, and the third part stores the message body (PMD) of the boards sending messages to other boards ), The fourth part stores the message body (MPD) of the board receiving messages from other boards.
9. 如权利要求 8 所述的业务单板, 其特征在于划分为四部分的 物理内存 (PM-D AT)的每一部分又分为高、 中、 低优先级的三个小段。  9. The service board according to claim 8, characterized in that each part of the physical memory (PM-D AT) divided into four parts is further divided into three small segments of high, medium and low priority.
10.一种在如权利要求 1 - 7任一所述的通信系统中使用的主控板, 其特征在于所述主控板包括一虛拟内存 (VM-DAT),用于映射通信系统 中使用的业务单板的物理内存 (PM-DAT)。  10. A main control board used in the communication system according to any one of claims 1 to 7, characterized in that the main control board includes a virtual memory (VM-DAT) for mapping use in the communication system The physical memory of the service board (PM-DAT).
11. 如权利要求 10所述的主控板,其特征在于物理内存 (PM-DAT) 划分为四部分, 其中, 第一部分存放单板发送消息到其他板的消息头 11. The main control board according to claim 10, wherein the physical memory (PM-DAT) is divided into four parts, wherein the first part stores message headers sent by the board to other boards.
(P-M-Q), 第二部分存放单板接受其他板的消息的消息头 (M-P-Q), 笫 三部分是存放单板发送消息到其他板的消息体 (P-M-D), 第四部分存 放单板接受其他板的消息的消息体 (M-P-D)。 (PMQ), the second part stores the message header (MPQ) of the board receiving messages from other boards, the third part is the message body (PMD) that stores the board sending messages to other boards, and the fourth part stores the boards that receive messages from other boards (PMD). The message body (MPD) of the message.
12. 如权利要求 11所述的主控板,其特征在于划分为四部分的物 理内存 (PM-DAT)的每一部分又分为高、 中、 低优先级的三个小段。  12. The main control board according to claim 11, wherein each part of the physical memory (PM-DAT) divided into four parts is further divided into three small segments of high, medium, and low priority.
13. 如权利要求 10至 12任一所述的主控板, 其特征在于所述主 控板还包括:  13. The main control board according to any one of claims 10 to 12, wherein the main control board further comprises:
全局控制块 (SME-CB),用于保存单板的物理内存 (PM-DAT)与主 控板上虚拟内存 (VM-D AT)的对应关系; 以及  Global Control Block (SME-CB), which is used to save the correspondence between the physical memory (PM-DAT) of the board and the virtual memory (VM-D AT) on the main control board; and
通信引擎管理核心模块 (SMP), 根据优先级策略轮询单板的共享 内存的第一部分, 如果发现某块单板有消息要发送到其他板, 则立即 从这块单板的内存取出该消息, 并发送到目的板上的目的子系统。 Communication Engine Management Core Module (SMP), polling the sharing of boards based on priority policies In the first part of the memory, if a board is found to have messages to send to other boards, the message is immediately taken out from the memory of this board and sent to the destination subsystem on the destination board.
14. 如权利要求 10至 12任一所述的主控板, 其特征在于所述主 控板还包括:  14. The main control board according to any one of claims 10 to 12, wherein the main control board further comprises:
通信引擎管理模块 (SMM), 与单板存在心跳机制, 用于管理单板 的状态; 以及  A communication engine management module (SMM), which has a heartbeat mechanism with the board to manage the status of the board; and
HA管理模块 (HAM), 用于管理整个系统的健康状态, 为整个系 统提供本从倒换服务; 并且  HA management module (HAM), which is used to manage the health status of the entire system, and provide the slave switching service for the entire system; and
通信引擎管理模块 (SMM)还与系统的 HA 管理模块 (HAM)有消 息接口, 并可以停止和启动通信引擎管理核心模块 (SMP)。  The communication engine management module (SMM) also has a message interface with the system's HA management module (HAM), and can stop and start the communication engine management core module (SMP).
15. 如权利要求 10至 12任一所述的主控板, 其特征在于所述主 控板还包括消息路由标 (SM-MRT),并且通信引擎管理核心模块 (SMP) 根据该消息路由标 (SM-MRT)分发消息。  15. The main control board according to any one of claims 10 to 12, wherein the main control board further comprises a message routing logo (SM-MRT), and the communication engine management core module (SMP) according to the message routing logo (SM-MRT) Distribute messages.
16. 一种基于 cPCI总线的双引擎共享内存通信方法, 其特征在 于包括步骤:  16. A dual-engine shared memory communication method based on a cPCI bus, which is characterized by including steps:
a)映射单板的共享内存到主控板虛拟内存;  a) Map the shared memory of the board to the virtual memory of the main control board;
b)轮询单板共享内存信息头区域, 直至获取一条信息头;  b) polling the information header area of the shared memory of the board until an information header is obtained;
c)根据所获取的信息头, 确定目标板;  c) determining the target board according to the obtained information header;
d)获取信息体在共享内存中的位置、 目标板的共享内存信息; 以 及  d) obtaining the position of the information body in the shared memory, the shared memory information of the target board; and
e)启动直接内存读写, 完成消息传送。  e) Start direct memory read and write, and complete message transmission.
17. 如权利要求 16所述的通信方法, 其特征在于在步骤 b)之前 还包括记录单板共享内存信息和功能 -槽号映射的步骤。  17. The communication method according to claim 16, further comprising a step of recording single board shared memory information and function-slot number mapping before step b).
18. 如权利要求 17所述的通信方法, 其特征在于步骤 c)包括如 下步骤:  18. The communication method according to claim 17, wherein step c) comprises the following steps:
判断该信息头中是否存在目的槽号;  Determine whether the destination slot number exists in the information header;
如果判断信息头中存在目的槽号,则将该信息头发送到目的槽号 所指定槽号的单板; 以及  If it is determined that the destination slot number exists in the information header, the information is sent to the board with the slot number specified by the destination slot number; and
如果判断在信息头中不存在目的槽号,则将该信息头发送到指定 功能单板, 并根据功能、 主备关系、 符合分担关系翻译出目的槽号。 If it is determined that the destination slot number does not exist in the message header, the message head is sent to the specified The function board, and translates the destination slot number according to the function, the master-backup relationship, and the sharing relationship.
19. 如权利要求 16至 18任一所述的通信方法, 其特征在于单板 才艮据预先确定的优先级策略不停的查询其共享内存块, 如果有消息到 达, 则立即通知具体的业务模块接受消息。  19. The communication method according to any one of claims 16 to 18, characterized in that the single board constantly queries its shared memory block according to a predetermined priority policy, and immediately informs the specific service if a message arrives The module accepts the message.
20. 如权利要求 19 所述的通信方法, 其特征在于在主备用单板 切换时, 还包括下列步骤:  20. The communication method according to claim 19, further comprising the following steps when the main and standby single boards are switched:
停止主单板上的业务;  Stop the services on the main board;
发送所述主单板上尚未发完的消息;  Sending a message that has not been sent on the main board;
将该主单板上未接收的消息发送给备用单板;  Sending a message that is not received on the main board to the standby board;
更新主备关系的路由信息; 以及  Update the routing information of the master-backup relationship; and
启用新主单板上的信息接收和发送服务。  Enable the message receiving and sending services on the new main board.
21. 如权利要求 19 所述的通信方法, 其特征在于在插入新单板 时, 还包括下列步骤:  21. The communication method according to claim 19, further comprising the following steps when a new single board is inserted:
主控板上的热拔插检测模块 (HSD)检测新单板的插入并对单板类 型进行判断;  Hot plug detection module (HSD) on the main control board detects the insertion of a new board and judges the board type;
当此单板支持共享内存引擎时, 热拔插检测模块 (HSD)对该单板 的 PCI接口芯片进行配置, 为该单板上的共享内存映射 PCI地址; 热拔插检测模块 (HSD)将相应参数通知通信引擎管理模块 (SMM);  When this board supports the shared memory engine, the hot plug detection module (HSD) configures the PCI interface chip of the board to map the PCI address for the shared memory on the board; the hot plug detection module (HSD) The corresponding parameters are notified to the communication engine management module (SMM);
通信引擎管理模块 (SMM)启动该单板的心跳检测;  The communication engine management module (SMM) starts the heartbeat detection of the board;
更新全局控制块(SME-CB)中所保存的该单板的物理内存 Update the physical memory of the board saved in the global control block (SME-CB)
(PM-DAT)跟主控板上虚拟内存 (VM-DAT)的对应关系; 以及 (PM-DAT) and virtual memory (VM-DAT) on the main control board; and
确认该单板激活后控制通信引擎管理核心模块 (SMP)为该单板 启动通信业务。  After confirming that the board is activated, the communication engine management core module (SMP) is controlled to start the communication service for the board.
22. 如权利要求 19所述的通信方法, 其特征在于在拔出单板时, 还包括下列步驟:  22. The communication method according to claim 19, further comprising the following steps when the board is pulled out:
当热拔插检测模块 (HSD)检测到某单板的拔插扳手被扳下时, 将 该消息通知板驱动程序, 若此单板上已经启动共享内存通信业务, 则 立即通知通信引擎管理模块 (SMM); 通信引擎管理模块 (SMM)控制通信引擎管理核心模块 (SMP)停 止该单板的通信业务; When the hot plug detection module (HSD) detects that the plugging wrench of a board is pulled down, it notifies the board driver of this message, and if the shared memory communication service has been started on this board, it immediately informs the communication engine management module. (SMM); The communication engine management module (SMM) controls the communication engine management core module (SMP) to stop the communication service of the board;
通信引擎管理模块 (SMM)停止该板心跳检测, 并向全局控制块 (SME-CB)注销该板; 以及  The communication engine management module (SMM) stops the board heartbeat detection and deregisters the board to the global control block (SME-CB); and
通知热拔插检测模块 (HSD)拔板处理结束。  Notify the end of the hot-swap detection module (HSD) board removal process.
23. 一种记录在至少一种计算机可读介质中的计算机程序产品, 包括当计算机使用时,使计算机执行权利要求 16 - 22中任何一个所述 的方法步 的功能性描述素材。  23. A computer program product recorded in at least one computer-readable medium, comprising, when used by a computer, a functional description material for causing a computer to perform the method steps of any one of claims 16-22.
PCT/CN2004/000154 2004-02-27 2004-02-27 A method and a system of double engines sharing memory WO2005084040A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN200480039850A CN100576936C (en) 2004-02-27 2004-02-27 Shared drive communication means with double engines and system
PCT/CN2004/000154 WO2005084040A1 (en) 2004-02-27 2004-02-27 A method and a system of double engines sharing memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2004/000154 WO2005084040A1 (en) 2004-02-27 2004-02-27 A method and a system of double engines sharing memory

Publications (1)

Publication Number Publication Date
WO2005084040A1 true WO2005084040A1 (en) 2005-09-09

Family

ID=34894643

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2004/000154 WO2005084040A1 (en) 2004-02-27 2004-02-27 A method and a system of double engines sharing memory

Country Status (2)

Country Link
CN (1) CN100576936C (en)
WO (1) WO2005084040A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101068140B (en) * 2007-06-27 2010-06-16 中兴通讯股份有限公司 Apparatus and method for realizing primary/standby PCI equipment switchover
CN104669268A (en) * 2013-11-26 2015-06-03 中国科学院沈阳自动化研究所 System and method for independent control of redundant underwater robot based on hot backup
WO2016000298A1 (en) * 2014-06-30 2016-01-07 中兴通讯股份有限公司 System exception capturing method, main system, shadow system and intelligent device
CN113411237A (en) * 2021-08-18 2021-09-17 成都丰硕智能数字科技有限公司 Method, storage medium and system for detecting terminal state with low delay

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2352064A (en) * 1999-07-13 2001-01-17 Thomson Training & Simulation Multi-processor system with PCI backplane
CN1321004A (en) * 2000-04-25 2001-11-07 华为技术有限公司 Method and equipment for swapping active with standby switches

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1197018C (en) * 2001-03-01 2005-04-13 中兴通讯股份有限公司 Device and method for implementing dual system slots
CN100336373C (en) * 2001-12-12 2007-09-05 中兴通讯股份有限公司 Remote file transmission method
KR100408047B1 (en) * 2001-12-24 2003-12-01 엘지전자 주식회사 Processor board dualizing apparatus and method for mobile communication system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2352064A (en) * 1999-07-13 2001-01-17 Thomson Training & Simulation Multi-processor system with PCI backplane
CN1321004A (en) * 2000-04-25 2001-11-07 华为技术有限公司 Method and equipment for swapping active with standby switches

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101068140B (en) * 2007-06-27 2010-06-16 中兴通讯股份有限公司 Apparatus and method for realizing primary/standby PCI equipment switchover
CN104669268A (en) * 2013-11-26 2015-06-03 中国科学院沈阳自动化研究所 System and method for independent control of redundant underwater robot based on hot backup
WO2016000298A1 (en) * 2014-06-30 2016-01-07 中兴通讯股份有限公司 System exception capturing method, main system, shadow system and intelligent device
CN113411237A (en) * 2021-08-18 2021-09-17 成都丰硕智能数字科技有限公司 Method, storage medium and system for detecting terminal state with low delay

Also Published As

Publication number Publication date
CN1902949A (en) 2007-01-24
CN100576936C (en) 2009-12-30

Similar Documents

Publication Publication Date Title
US10423568B2 (en) Apparatus and method for transferring data and commands in a memory management environment
CN108696569B (en) System and method for providing data replication in NVMe-oF Ethernet SSD
US8332501B2 (en) High availability for intelligent applications in storage networks
US7493424B1 (en) Network storage system with shared software stack for LDMA and RDMA
JP4937902B2 (en) Managing process state information in an operating system environment
US7844852B2 (en) Data mirror cluster system, method and computer program for synchronizing data in data mirror cluster system
US20100125857A1 (en) Cluster control protocol
US8074009B2 (en) Sharing of host bus adapter context
US6785840B1 (en) Call processor system and methods
JP3987241B2 (en) Inter-system information communication system
US20210286747A1 (en) Systems and methods for supporting inter-chassis manageability of nvme over fabrics based systems
JP2006127201A (en) Storage system and conduction confirmation method
JP2002163140A (en) Storage system
TW200920027A (en) Intelligent failover in a load-balanced networking environment
TW201945946A (en) Drive-to-drive storage system, storage drive and method for storing data
CN113342261A (en) Server and control method applied to same
US11936762B2 (en) Processing protocol packet
US20040223504A1 (en) Apparatus and method for workflow-based routing in a distributed architecture router
WO2005084040A1 (en) A method and a system of double engines sharing memory
KR100429899B1 (en) Fault tolerant control apparatus and method by FUDCOM
JP2000222375A (en) Multi-processor system
US11860719B2 (en) Method for implementing storage service continuity in storage system, front-end interface card, and storage system
CN111352574A (en) Path switching method and device and computer readable storage medium
JP2531919B2 (en) Method for maintaining synchronization status between duplicated processors
JP4679178B2 (en) Communication device and memory device

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

DPEN Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed from 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 200480039850.7

Country of ref document: CN

122 Ep: pct application non-entry in european phase