WO2017114397A1 - 一种实现心跳机制的方法、装置及系统 - Google Patents

一种实现心跳机制的方法、装置及系统 Download PDF

Info

Publication number
WO2017114397A1
WO2017114397A1 PCT/CN2016/112465 CN2016112465W WO2017114397A1 WO 2017114397 A1 WO2017114397 A1 WO 2017114397A1 CN 2016112465 W CN2016112465 W CN 2016112465W WO 2017114397 A1 WO2017114397 A1 WO 2017114397A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
message
switching
time
heartbeat
Prior art date
Application number
PCT/CN2016/112465
Other languages
English (en)
French (fr)
Inventor
智雅楠
程伟
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Priority to EP16881186.7A priority Critical patent/EP3386152B1/en
Publication of WO2017114397A1 publication Critical patent/WO2017114397A1/zh
Priority to US16/023,532 priority patent/US11128718B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/143Termination or inactivation of sessions, e.g. event-controlled end of session
    • H04L67/145Termination or inactivation of sessions, e.g. event-controlled end of session avoiding end of session, e.g. keep-alive, heartbeats, resumption message or wake-up for inactive or interrupted session
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/44Distributed routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/103Packet switching elements characterised by the switching fabric construction using a shared central buffer; using a shared memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/822Collecting or measuring resource availability data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services

Definitions

  • the present invention relates to the field of computer technologies, and in particular, to a method, device and system for implementing a heartbeat mechanism.
  • the heartbeat mechanism means that the sending end periodically sends a customized heartbeat request (for example, a heartbeat packet or a heartbeat frame). After receiving the structure, the receiving end returns a heartbeat response to the sending end, so that the sending end knows that the receiving end is “online”. To confirm that the receiving end is currently working properly.
  • a customized heartbeat request for example, a heartbeat packet or a heartbeat frame.
  • a data synchronization unit can be formed.
  • each node in the data synchronization unit can use a synchronization protocol (for example, raft protocol) for data synchronization.
  • a synchronization protocol for example, raft protocol
  • the synchronization protocol It is required that each node in the data synchronization unit sends a heartbeat request and a heartbeat response through a switch or a router to confirm whether each node can work normally, thereby detecting whether a copy stored in each node is available.
  • Embodiments of the present invention provide a method, apparatus, and system for implementing a heartbeat mechanism, which can reduce the number of heartbeat responses sent by a node, thereby reducing unnecessary resource occupation overhead in a distributed database system.
  • an embodiment of the present invention provides a method for implementing a heartbeat mechanism, which is applied to a distributed database system, including: a switching node acquiring a heartbeat request sent by a first node to a second node, where the heartbeat request includes the first node And the identifier of the second node, the first node and the second node are different nodes connected to the switching node; the switching node records a first moment of receiving the heartbeat request; the switching node is according to the second node And a second time when the switching node receives the second node sending the message in the cache information, where the cache information stores the time of sending the message by any node received by the switching node and the identifier of the node Corresponding relationship; if the absolute value of the difference between the first time and the second time is less than a threshold, the switching node sends a heartbeat response to the first node.
  • the switching node can record the time when the message sent by each node of the N nodes passes through the switching node in real time, when the heartbeat request sent by the first node to the second node passes through the switching node, the switching node can pass Querying the time when the second node sends the message to the second node, and then determining that the second node is available, so that instead of the second node sending a heartbeat response to the first node, the heartbeat of each node of the N nodes can be effectively reduced. The number of times a heartbeat response is requested and sent, thereby avoiding receiving a large number of heartbeat requests and sending a large number of heartbeat responses to occupy resources.
  • the second node can directly send a heartbeat response to the first node, that is, based on the heartbeat mechanism of the solution, the heartbeat path experienced by a complete heartbeat request and the heartbeat response is: One node - switching node - first node. Based on the existing heartbeat mechanism, the heartbeat path experienced by a complete heartbeat request and heartbeat response is: first node-switching node-second node-switching node-first node.
  • the method for implementing the heartbeat mechanism provided by the embodiment of the present invention can also greatly reduce the heartbeat path and reduce the delay of the heartbeat response, thereby shortening the fault detection time of the distributed database system and improving the reliability of the distributed database system.
  • the switching node after the switching node records the first time to receive the heartbeat request, the switching node further includes: the switching node storing the correspondence between the identifier of the first node and the first moment in the cache information.
  • the switching node acquires a heartbeat request sent by the first node to the second node, where the switching node receives the message sent by the first node to the second node, where the message carries the first node
  • the switching node parses the message to determine that the message is a heartbeat request sent by the first node to the second node.
  • the method further includes: if the message is not a heartbeat request sent by the first node to the second node, the exchange The node records a third moment when the message is received; the switching node stores the correspondence between the identifier of the first node and the third moment in the cache information.
  • the switching node after the switching node queries the cache information for the second time that the switching node last receives the second node sending the message according to the identifier of the second node, the switching node further includes: if the first The absolute value of the difference between the time and the second time is greater than a threshold, and the switching node forwards the heartbeat request to the second node.
  • an embodiment of the present invention provides a switching node, which is applied to a distributed database system, where the switching node is connected to a first node and a second node, where the switching node includes: an acquiring unit, configured to acquire the first node.
  • the heartbeat request includes an identifier of the first node and an identifier of the second node, a recording unit, configured to record a first moment of receiving the heartbeat request, and a query unit, configured to An identifier of the second node, where the cache information is used to query a second time when the switching node last receives the second node sending a message, where the cache information stores a time when the node received by the switching node sends a message Corresponding relationship between the identifiers of the nodes; the sending unit, configured to send a heartbeat response to the first node if an absolute value of the difference between the first time and the second time is less than a threshold.
  • the switching node further includes: a storage unit, configured to store the correspondence between the identifier of the first node and the first moment in the cache information.
  • the switching node further includes a parsing unit, wherein the acquiring unit is further configured to receive a message sent by the first node to the second node, where the message carries an identifier of the first node; The parsing unit is configured to parse the message, and determine that the message is a heartbeat request sent by the first node to the second node.
  • the recording unit is further configured to: if the message is not a heartbeat request sent by the first node to the second node, record a third moment of receiving the message; the storage unit is further configured to: The correspondence between the identifier of the first node and the third moment is stored in the cache information.
  • the sending unit is further configured to: if the absolute value of the difference between the first time and the second time is greater than a threshold, forward the heartbeat request to the second node.
  • an embodiment of the present invention provides a switching node, including: a processor, a memory, a bus, and a communication interface; the memory is configured to store a computer to execute an instruction, and the processor is connected to the memory through the bus when the exchange While the node is running, the processor executes the computer-executable instructions stored by the memory to cause the switching node to perform the method of implementing a heartbeat mechanism as set forth in any of the first aspects.
  • an embodiment of the present invention provides a system for implementing a heartbeat mechanism, including the switching node of any one of the second aspect or the third aspect, and the first node and the second node that are connected to the switching node. .
  • an embodiment of the present invention provides a computer storage medium for storing computer software instructions used by the switching node, including a program designed to perform the foregoing aspects for a switching node.
  • the names of the switching node, the first node, and the second node are not limited to the device or the function module itself. In actual implementation, these devices or functional modules may appear under other names. As long as the functions of the respective devices or functional modules are similar to the present invention, they are within the scope of the claims and equivalents thereof.
  • the switching node can record the time when the message sent by each node in each node passes through the switching node in real time, so that when the heartbeat request sent by the first node to the second node passes through the switching node, the switching node
  • the heartbeat response can be effectively reduced by each node by querying the time when the second node sends the message, and then determining that the second node is available, so that the second node can send the heartbeat response to the first node.
  • the number of heartbeat responses thereby avoiding receiving a large number of heartbeat requests and sending a large number of heartbeat responses to occupy resources.
  • FIG. 1 is a schematic structural diagram of a distributed database system according to an embodiment of the present invention
  • FIG. 2 is a schematic flowchart 1 of a method for implementing a heartbeat mechanism according to an embodiment of the present invention
  • FIG. 3 is a schematic flowchart 2 of a method for implementing a heartbeat mechanism according to an embodiment of the present disclosure
  • FIG. 4 is a schematic structural diagram 1 of a switching node according to an embodiment of the present invention.
  • FIG. 5 is a schematic structural diagram 2 of a switching node according to an embodiment of the present disclosure.
  • FIG. 6 is a schematic structural diagram 3 of a switching node according to an embodiment of the present disclosure.
  • FIG. 7 is a schematic structural diagram of hardware of a switching node according to an embodiment of the present disclosure.
  • FIG. 8 is a schematic diagram of a system for implementing a heartbeat mechanism according to an embodiment of the present invention.
  • first and second are used for descriptive purposes only, and are not to be construed as indicating or implying a relative importance or implicitly indicating the number of technical features indicated. Thus, features defining “first” and “second” may include one or more of the features either explicitly or implicitly. In the description of the present invention, "a plurality” means two or more unless otherwise stated.
  • the core principle of the method for implementing the heartbeat mechanism provided by the embodiment of the present invention is that N nodes connected to a switching node (for example, a switch or a router) in the topology are regarded as a node group, because the N nodes send Messages (eg, heartbeat requests, heartbeat responses, and service messages, etc.) pass through the switching node, ie, the switching node is located on a path that communicates between every two nodes in the N nodes, therefore,
  • the switching node can record the time when the message sent by each node of the N nodes passes through the switching node in real time, so that when the heartbeat request sent by the first node to the second node passes through the switching node, the switching node can receive the latest reception through the query.
  • the time at which the second node sends the message thereby determining whether the second node is "alive". If the second node is "alive", the heartbeat response is directly returned to the first node, and the heartbeat request is not forwarded to the second node. The second node then replies to the heartbeat response through the switching node.
  • the method for implementing the heartbeat mechanism can be applied to the distributed database system shown in FIG. 1 , wherein N nodes connected to one switching node in the topology can be used as a node group.
  • the messages sent by the N nodes in the node group must pass through the switching node in the node group.
  • the distributed database system may include multiple node groups, and the switching node and the local area network (Local Area Network, respectively) in each node group. LAN) or Wide Area Network (WAN).
  • N nodes in the node group may be physical devices having a storage function, such as a computer, or may be a function module having a storage function, such as a disk.
  • the switching node can record the time when the message sent by each node of the N nodes passes through the switching node in real time, when the heartbeat request sent by the first node to the second node passes through the switching node, the switching node can pass Querying the time when the second node sends the message to the second node, and then determining that the second node is available, so that instead of the second node sending a heartbeat response to the first node, the heartbeat of each node of the N nodes can be effectively reduced. The number of times a heartbeat response is requested and sent, thereby avoiding receiving a large number of heartbeat requests and sending a large number of heartbeat responses to occupy resources.
  • the second node can directly send a heartbeat response to the first node, that is, based on the heartbeat mechanism of the solution, the heartbeat path experienced by a complete heartbeat request and the heartbeat response is: One node - switching node - first node. Based on the existing heartbeat mechanism, the heartbeat path experienced by a complete heartbeat request and heartbeat response is: first node-switching node-second node-switching node-first node. It can be seen that the method for implementing the heartbeat mechanism provided by the embodiment of the present invention can also greatly reduce the heartbeat path and reduce the delay of the heartbeat response, thereby shortening the entire distribution. The fault detection time of the database system improves the reliability of the distributed database system.
  • FIG. 2 a method for implementing a heartbeat mechanism provided by an embodiment of the present invention is specifically described, and the method includes:
  • the switching node receives a message sent by the first node to the second node, where the message carries an identifier of the first node.
  • the first node and the second node are two different nodes connected to the switching node in one node group in FIG. 1 .
  • the switching node can receive the message sent by the first node to the second node, where the message carries the identifier of the first node.
  • the message mentioned here may be any message, for example, a heartbeat request, a heartbeat response, and a service message.
  • the switching node parses the message, and determines whether the message is a heartbeat request sent by the first node to the second node.
  • step 102 the switching node parses the message received in step 101 to determine whether the message is a heartbeat request sent by the first node to the second node.
  • the message type may be a type of a heartbeat request, a heartbeat response, or a service message. For example, one or more fields in the message may be reserved for indicating the message.
  • the identification of the type then, in step 102, the switching node parses the message received in step 101, obtains the identifier of the message type carried in the message, and further determines whether the message is the first according to the identifier of the message type.
  • a heartbeat request sent by a node to a second node.
  • the message may be sent and received in the form of a message, and the switching node obtains the identifier of the message type carried in the message by parsing the first two bits in the header of the packet, so according to the message type. Determining whether the message is a heartbeat request sent by the first node to the second node. For example, when the identifier of the message type is 00, the message may be determined as a heartbeat request, and when the first frame is 10, the device may determine The message is a service message. It should be noted that the method for parsing the message is only used as an example. The embodiment of the present invention does not limit the form of the message to the switch node.
  • the switching node performs the following steps 103a-106a to query the time when the second node sends the message last time, so as to determine the second node. Whether it is "alive"; if the message is not a heartbeat request sent by the first node to the second node, the switching node performs the following steps 103b-104b to record in real time the time at which the received node sends the message and the identity of the node Correspondence between the two.
  • the switching node records a first moment of receiving the heartbeat request, where the heartbeat request includes an identifier of the first node and an identifier of the second node.
  • step 103a if the message is a heartbeat request sent by the first node to the second node, the heartbeat request includes an identifier of the second node, which is used to indicate the first The node sends a heartbeat request to the second node.
  • the switching node records the time when the heartbeat request is received as the first moment, and the first moment can be regarded as the time when the first node sends the heartbeat request.
  • the heartbeat request may also carry the time when the first node sends the heartbeat request, so that the switching node can The time at which the carried first node sends the heartbeat request is the first moment.
  • the switching node queries, in the cache information, a second moment when the switching node receives the last node sending the message according to the identifier of the second node.
  • the cache information stores a correspondence between a time when any node received by the switching node sends a message and an identifier of the node.
  • the switching node can record the correspondence between the time when the received node sends the message and the identifier of the node to itself.
  • the switching node can query the switching node in the cache information. The time at which the second node sends the message, that is, the second time, is received.
  • the switching node may also update and maintain the cache information described in the above table, for example, periodically delete the correspondence between the time when the node sends the message more than one day from the current time and the identifier of the node.
  • the switching node may record only the correspondence between the time when each node sending the message is closest to the current time and the identifier of the node, for example, when the switching node receives the identifier of the node at 19:0:59.
  • the time corresponding to the identifier of the first row node in the above table 1 is updated, so that only the time when the node sending the message closest to the current time is sent in the cache information and the identifier of the node is recorded.
  • the corresponding relationship between the identifier of the first node and the first moment may be stored in the cache information, indicating that the first node is in an available state at the first moment, so as to be received by the subsequent switching node.
  • the first time when the first node sends the message is received may be obtained from the cache information in time.
  • the switching node If the absolute value of the difference between the first time and the second time is less than a threshold, the switching node sends a heartbeat response to the first node.
  • step 105a if the absolute value of the difference between the first time obtained in step 103a and the second time obtained in step 104a is less than the threshold, ie, the first time - the second time
  • the threshold ie, the first time - the second time
  • the switching node forwards the heartbeat request to the second node.
  • the switching node cannot determine whether the second node is currently available. Therefore, the switching node forwards the heartbeat request to the second node, and the second node receives the heartbeat request. After the status of the second node is normal, the heartbeat response is fed back to the first node through the switching node; if the second node fails, the heartbeat response cannot be fed back to the first node.
  • the first node determines the second response. The node has failed.
  • the switching node records the third moment of receiving the message.
  • step 102 if it is determined in step 102 that the message received in step 101 is not a heartbeat request sent by the first node to the second node, for example, the message is a heartbeat response or a service message, at this time, the switching node records the time of receiving the message. That is the third moment.
  • the switching node stores the correspondence between the identifier of the first node and the third moment in the cache information.
  • step 104b the switching node stores the corresponding relationship between the identifier of the first node and the third moment in the cache information, so that the subsequent switching node can receive the heartbeat request sent to the first node in time, and can timely obtain the information from the cached information. Obtain the third time when the first node sent the message was received.
  • FIG. 3 a method for implementing a heartbeat mechanism described in the above steps 101-106a and 101-104b is illustrated by taking the node group 1 in FIG. 1 as an example.
  • the switching node may be specifically a post-switch router, and the path of the N nodes in the node group 1 to send a message passes through the switching node.
  • the cache unit in the switching node stores cache information. As shown in Table 1, any information received by the switching node (ie, any one of node 1 to node N) is recorded in the cache information, and sent. The correspondence between the moment of the message and the identity of the node.
  • the node 1 may send a message to the switching node, where the message carries the identifier of the node 1, for example, the identifier of the node 1 is 1.
  • the message may be a message of any message type, for example, a heartbeat request or a service.
  • the switching node After receiving the message, the switching node parses the message and determines whether the message is a heartbeat request sent by node 1.
  • the switching node records the first time T1 of receiving the heartbeat request, where the heartbeat request includes the identifier of the node 1 and the identifier of the sending object of the node 1, for example, the identifier of the node N, and further, According to the identifier of the node N, the switching node queries the second time T2 that the switching node receives the message sent by the node N in the cache information of the cache unit. At this time, if
  • the previous state is the available state, that is, the "alive" state
  • the switching node sends a heartbeat response to node 1, and correspondingly, if
  • the switching node records the third time T3 of receiving the message, and the identifier of the node 1 and the third time T3 The corresponding relationship is stored in the cache information, so that when the subsequent switching node receives the heartbeat request sent to the node 1, the time at which the node 1 last transmitted the message is received can be obtained from the cache information in time.
  • an embodiment of the present invention provides a method for implementing a heartbeat mechanism, where a switching node acquires a heartbeat request sent by a first node to a second node, where the heartbeat request includes an identifier of the first node and an identifier of the second node;
  • the node records the first moment of receiving the heartbeat request; and, according to the identifier of the second node, queries the cache information for the second time when the switching node receives the second node sending the message last time, and the cache information stores the exchange node receiving The correspondence between the time at which any node sends a message and the identity of the node; if the absolute value of the difference between the first time and the second time is less than the threshold Value, the switching node sends a heartbeat response to the first node.
  • the switching node can record the time that the message sent by each node passes through the switching node in real time, when the heartbeat request sent by the first node to the second node passes through the switching node, the switching node can receive the latest receiving by querying.
  • the second node sends a message, it is determined that the second node is available, so that the heartbeat response is sent to the first node instead of the second node. Therefore, the number of times that each node receives the heartbeat request and sends the heartbeat response can be effectively reduced, thereby avoiding Receive a large number of heartbeat requests and send a large number of heartbeat responses to occupy resources.
  • FIG. 4 is a schematic structural diagram of a switching node according to an embodiment of the present invention.
  • the switching node provided by the embodiment of the present invention may be used to implement the foregoing implementation manners of the embodiments of the present invention shown in FIG. 1 to FIG. Only parts related to the embodiments of the present invention are shown. Without specific details, please refer to the embodiments of the present invention shown in FIGS.
  • the switching node may be specifically a switch or a router with programmable capability.
  • the present invention does not impose any limitation on this, and all hardware products that can meet the computing capability requirements are applicable.
  • the switching node includes:
  • the acquiring unit 11 is configured to acquire a heartbeat request sent by the first node to the second node, where the heartbeat request includes an identifier of the first node and an identifier of the second node;
  • a recording unit 12 configured to record a first moment of receiving the heartbeat request
  • the querying unit 13 is configured to query, in the cache information, the second time that the switching node receives the second node sending the message according to the identifier of the second node, where the cache information stores the exchange Corresponding relationship between the time when any node receives the message sent by the node and the identifier of the node;
  • the sending unit 14 is configured to send a heartbeat response to the first node if an absolute value of a difference between the first time and the second time is less than a threshold.
  • the switching node further includes:
  • the storage unit 15 is configured to store the correspondence between the identifier of the first node and the first moment in the cache information.
  • the switching node further includes a parsing unit 16, wherein the acquiring unit 11 is further configured to receive a message sent by the first node to the second node, where the message carries The identifier of the first node, the parsing unit 16 is configured to parse the message, and determine that the message is a heartbeat request sent by the first node to the second node.
  • the recording unit 12 is further configured to: if the message is not a heartbeat request sent by the first node to the second node, record a third moment of receiving the message; the storage unit 15, And is further configured to store the correspondence between the identifier of the first node and the third moment into the cache information.
  • the sending unit 14 is further configured to forward the heartbeat request to the second node if an absolute value of a difference between the first time and the second time is greater than a threshold.
  • FIG. 7 is a schematic diagram of a hardware structure of a switching node according to an embodiment of the present invention.
  • the switching node includes a processor 21, a communication interface 22, and a memory 23, as shown in FIG. Communication interface 22 and memory 23 communicate via bus 24.
  • the memory 23 is configured to store computer execution instructions
  • the processor 21 is connected to the memory 23 via the bus 24, and when the switching node is running, the processor 21 executes computer execution instructions stored in the memory 23. So that the switching node performs the method of implementing the heartbeat mechanism as described in FIG. 2.
  • the switching node performs the method of implementing the heartbeat mechanism as described in FIG. 2.
  • the processor 21 can be a central processing unit (English: central processing unit, abbreviated as: CPU).
  • the processor 21 can also be other general-purpose processors, digital signal processing (DSP), application specific integrated circuit (ASIC), field programmable gate array (English) : field-programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc.
  • DSP digital signal processing
  • ASIC application specific integrated circuit
  • FPGA field-programmable gate array
  • the general purpose processor can be a microprocessor or there
  • the processor can also be any conventional processor or the like.
  • the processor 21 is a control center of the switching node, and the processor 21 performs various functions of the switching node by processing data received by the communication interface 22 and calling software or programs in the memory 23.
  • the communication interface 22 can be specifically an interface circuit for receiving and transmitting signals during the process of transmitting and receiving information or requests. After receiving the information sent by the terminal, the communication interface 22 processes the information to the processor 21; in addition, the communication interface 22 can be wireless. Communication communicates with the network and other devices.
  • the memory 23 may include a volatile memory (English: volatile memory), such as a random access memory (English: random-access memory, abbreviation: RAM); the memory 23 may also include a non-volatile memory (English: non -volatile memory), such as read-only memory (English: read-only memory, abbreviation: ROM), flash memory (English: flash memory), hard disk (English: hard disk drive, abbreviation: HDD) or solid state drive (English: Solid-state drive, abbreviated: SSD); the memory 23 may also include a combination of the above types of memory.
  • the processor 21 can execute various functional applications and data processing of the switching node by running a software program stored in the memory 23.
  • the memory 23 is configured to store cache information, where the cache information stores a correspondence between a time when any node received by the switching node sends a message and an identifier of the node.
  • the bus 24 can include a data bus, a power bus, a control bus, and a signal status bus. For the sake of clarity in the present embodiment, various buses are illustrated as the bus 24 in FIG.
  • an embodiment of the present invention further provides a system for implementing a heartbeat mechanism, including any of the foregoing switching nodes 31, and a first node 32 and a second node connected to the switching node 31 point.
  • a system for implementing a heartbeat mechanism including any of the foregoing switching nodes 31, and a first node 32 and a second node connected to the switching node 31 point.
  • the switching node 31 may be connected to both the first node 32 and the second node 33. Any node, preferably, may use the topology between the first node 32 and the second node 33 to use a switch or router located on the communication path between the first node 32 and the second node 33 as the switching node 31. In this way, it is not necessary to introduce a new node to perform the function of the switching node 31.
  • an embodiment of the present invention provides a switching node and a system for implementing a heartbeat mechanism, wherein the switching node acquires a heartbeat request sent by the first node to the second node, where the heartbeat request includes the identifier of the first node and the second node.
  • the switching node determines, by the switching node, the first moment of receiving the heartbeat request; and, according to the identifier of the second node, querying, in the cache information, the second moment when the switching node receives the second node sending the message last time, and storing the cache information Corresponding relationship between the time when any node receives the message and the identifier of the node received by the switching node; if the absolute value of the difference between the first time and the second time is less than the threshold, the switching node sends the message to the first node Heartbeat response.
  • the switching node can record the time that the message sent by each node passes through the switching node in real time, when the heartbeat request sent by the first node to the second node passes through the switching node, the switching node can receive the latest receiving by querying.
  • the second node sends a message, it is determined that the second node is available, so that the heartbeat response is sent to the first node instead of the second node. Therefore, the number of times that each node receives the heartbeat request and sends the heartbeat response can be effectively reduced, thereby avoiding Receive a large number of heartbeat requests and send a large number of heartbeat responses to occupy resources.
  • the disclosed system, apparatus, and method may be implemented in other manners.
  • the device embodiments described above are merely illustrative.
  • the division of the modules or units is only a logical function division.
  • there may be another division manner for example, multiple singles.
  • Meta or components may be combined or integrated into another system, or some features may be omitted or not executed.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, and may be in an electrical, mechanical or other form.
  • the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
  • each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
  • the above integrated unit can be implemented in the form of hardware or in the form of a software functional unit.
  • the integrated unit if implemented in the form of a software functional unit and sold or used as a standalone product, may be stored in a computer readable storage medium.
  • the technical solution of the present invention which is essential or contributes to the prior art, or all or part of the technical solution, may be embodied in the form of a software product stored in a storage medium.
  • a number of instructions are included to cause a computer device (which may be a personal computer, server, or network device, etc.) or a processor to perform all or part of the steps of the methods described in various embodiments of the present invention.
  • the foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, and the like. .

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Environmental & Geological Engineering (AREA)
  • Hardware Redundancy (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明的实施例提供一种实现心跳机制的方法、装置及系统,可降低节点发送心跳响应的数量,从而减少分布式数据库系统中不必要的资源占用开销。该方案包括:交换节点获取第一节点向第二节点发送的心跳请求,该心跳请求包括该第一节点的标识和该第二节点的标识;该交换节点记录接收该心跳请求的第一时刻;该交换节点根据该第二节点的标识,在缓存信息中查询该交换节点最近一次接收到该第二节点发送消息的第二时刻,该缓存信息中存储有该交换节点接收到的任一节点发送消息的时刻与该节点的标识之间的对应关系;若该第一时刻与该第二时刻之间差值的绝对值小于阈值,则该交换节点向该第一节点发送心跳响应。

Description

一种实现心跳机制的方法、装置及系统
本申请要求于2015年12月31日提交中国专利局、申请号为201511031806.8、发明名称为“一种实现心跳机制的方法、装置及系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本发明涉及计算机技术领域,尤其涉及一种实现心跳机制的方法、装置及系统。
背景技术
心跳机制,是指发送端定时发送一个自定义的心跳请求(例如,心跳包或心跳帧),接收端接收到该结构体后向发送端回复心跳响应,让发送端知道接收端“在线”,以确认接收端当前可以正常工作。
在分布式数据库系统中,为了提高系统的可靠性,会为数据分片保存多个副本,同一数据分片的多个副本可以分别存储在不同的节点上,存储这多个副本的一组节点可组成一个数据同步单元,为了保证这多个副本之间的数据一致性,数据同步单元内的各节点可使用同步协议(例如,raft协议)进行数据同步,在数据同步的过程中,同步协议要求数据同步单元内的各节点之间通过交换机或路由器发送心跳请求和心跳响应,来确认各节点是否可以正常工作,从而探测各节点内存储的副本是否可用。
然而,随着分布式数据库系统的规模日益庞大,一个数据同步单元内节点的数量增多,因此,各节点之间发送心跳请求和心跳响应的数量显著增加,导致整个分布式数据库系统的负载增加。
发明内容
本发明的实施例提供一种实现心跳机制的方法、装置及系统,可降低节点发送心跳响应的数量,从而减少分布式数据库系统中不必要的资源占用开销。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,本发明的实施例提供一种实现心跳机制的方法,应用于分布式数据库系统,包括:交换节点获取第一节点向第二节点发送的心跳请求,该心跳请求包括该第一节点的标识和该第二节点的标识,该第一节点和该第二节点为与该交换节点相连的不同节点;该交换节点记录接收该心跳请求的第一时刻;该交换节点根据该第二节点的标识,在缓存信息中查询该交换节点最近一次接收到该第二节点发送消息的第二时刻,该缓存信息中存储有该交换节点接收到的任一节点发送消息的时刻与该节点的标识之间的对应关系;若该第一时刻与该第二时刻之间差值的绝对值小于阈值,则该交换节点向该第一节点发送心跳响应。
可以理解的是,由于交换节点可以实时记录N个节点中每个节点发送的消息经过交换节点的时间,这样,当第一节点向第二节点发送的心跳请求经过交换节点时,交换节点可以通过查询到最近一次接收到第二节点发送消息的时刻,进而确定出该第二节点可用,从而代替第二节点向第一节点发送心跳响应,那么,可以有效减少N个节点中每个节点接收心跳请求和发送心跳响应的次数,从而避免接收大量的心跳请求和发送大量的心跳响应占用资源。
同时,当交换节点确定第二节点可用后,可直接代替第二节点向第一节点发送心跳响应,即基于本方案的心跳机制,一个完整的心跳请求和心跳响应所经历的心跳路径为:第一节点-交换节点-第一节点。而基于现有的心跳机制,一个完整的心跳请求和心跳响应所经历的心跳路径为:第一节点-交换节点-第二节点-交换节点-第一节点。可以看出,本发明实施例提供的实现心跳机制的方法,还可以大大降低心跳路径,减少心跳响应的延迟,从而缩短整个分布式数据库系统的故障检测时间,提高分布式数据库系统的可靠性。
在一个可能的设计中,在该交换节点记录接收该心跳请求的第一时刻之后,还包括:该交换节点将该第一节点的标识与该第一时刻的对应关系存储至该缓存信息中。
在一个可能的设计中,该交换节点获取第一节点向第二节点发送的心跳请求,包括:该交换节点接收该第一节点向该第二节点发送的消息,该消息携带有该第一节点的标识;该交换节点对该消息进行解析,确定该消息为该第一节点向该第二节点发送的心跳请求。
在一个可能的设计中,在该交换节点接收该第一节点向该第二节点发送的消息之后,还包括:若该消息不是该第一节点向该第二节点发送的心跳请求,则该交换节点记录接收该消息的第三时刻;该交换节点将该第一节点的标识与该第三时刻的对应关系存储至该缓存信息中。
在一个可能的设计中,在该交换节点根据该第二节点的标识,在缓存信息中查询该交换节点最近一次接收到该第二节点发送消息的第二时刻之后,还包括:若该第一时刻与该第二时刻之间差值的绝对值大于阈值,则该交换节点将该心跳请求转发至该第二节点。
第二方面,本发明的实施例提供一种交换节点,应用于分布式数据库系统,该交换节点与第一节点和第二节点相连,该交换节点包括:获取单元,用于获取该第一节点向该第二节点发送的心跳请求,该心跳请求包括该第一节点的标识和该第二节点的标识;记录单元,用于记录接收该心跳请求的第一时刻;查询单元,用于根据该第二节点的标识,在缓存信息中查询该交换节点最近一次接收到该第二节点发送消息的第二时刻,该缓存信息中存储有该交换节点接收到的任一节点发送消息的时刻与该节点的标识之间的对应关系;发送单元,用于若该第一时刻与该第二时刻之间差值的绝对值小于阈值,则向该第一节点发送心跳响应。
在一个可能的设计中,该交换节点还包括:存储单元,用于将该第一节点的标识与该第一时刻的对应关系存储至该缓存信息中。
在一个可能的设计中,该交换节点还包括解析单元,其中,该获取单元,还用于接收该第一节点向该第二节点发送的消息,该消息携带有该第一节点的标识;该解析单元,用于对该消息进行解析,确定该消息为该第一节点向该第二节点发送的心跳请求。
在一个可能的设计中,该记录单元,还用于若该消息不是该第一节点向该第二节点发送的心跳请求,则记录接收该消息的第三时刻;该存储单元,还用于将该第一节点的标识与该第三时刻的对应关系存储至该缓存信息中。
在一个可能的设计中,该发送单元,还用于若该第一时刻与该第二时刻之间差值的绝对值大于阈值,则将该心跳请求转发至该第二节点。
第三方面,本发明的实施例提供一种交换节点,包括:处理器、存储器、总线和通信接口;该存储器用于存储计算机执行指令,该处理器与该存储器通过该总线连接,当该交换节点运行时,该处理器执行该存储器存储的该计算机执行指令,以使该交换节点执行如第一方面中任意一项该的实现心跳机制的方法。
第四方面,本发明的实施例提供一种实现心跳机制的系统,包括第二方面或第三方面中任一项该的交换节点,以及与该交换节点均相连的第一节点和第二节点。
第五方面,本发明实施例提供了一种计算机存储介质,用于储存为上述交换节点所用的计算机软件指令,其包含用于执行上述方面为交换节点所设计的程序。
本发明中,交换节点、第一节点以及第二节点的名字对设备或功能模块本身不构成限定,在实际实现中,这些设备或功能模块可以以其他名称出现。只要各个设备或功能模块的功能和本发明类似,属于本发明权利要求及其等同技术的范围之内。
相较于现有技术,由于交换节点可以实时记录各个节点中每个节点发送的消息经过该交换节点的时间,这样,当第一节点向第二节点发送的心跳请求经过交换节点时,交换节点可以通过查询到最近一次接收到第二节点发送消息的时刻,进而确定出该第二节点可用,从而代替第二节点向第一节点发送心跳响应,那么,可以有效减少各个节点接收心跳请求和发送心跳响应的次数,从而避免接收大量的心跳请求和发送大量的心跳响应占用资源。
本发明的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例提供的分布式数据库系统的架构图;
图2为本发明实施例提供的一种实现心跳机制的方法的流程示意图一;
图3为本发明实施例提供的一种实现心跳机制的方法的流程示意图二;
图4为本发明实施例提供的一种交换节点的结构示意图一;
图5为本发明实施例提供的一种交换节点的结构示意图二;
图6为本发明实施例提供的一种交换节点的结构示意三;
图7为本发明实施例提供的一种交换节点的硬件结构示意图;
图8为本发明实施例提供的一种实现心跳机制的系统的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
另外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
本发明实施例提供的实现心跳机制的方法,其核心原理在于:将拓扑结构中均连接至一个交换节点(例如,交换机或路由器)的N个节点作为一个节点组,由于这N个节点发送的消息(例如,心跳请求、心跳响应以及业务消息等)都要经过该交换节点,即,该交换节点位于N个节点内每两个节点之间进行通讯的路径上,因此, 交换节点可以实时记录N个节点中每个节点发送的消息经过交换节点的时间,这样,当第一节点向第二节点发送的心跳请求经过交换节点时,交换节点可以通过查询到最近一次接收到第二节点发送消息的时刻,从而确定出该第二节点是否“活着”,若第二节点是否“活着”,则直接向第一节点返回心跳响应,无需将该心跳请求转发至第二节点,再由第二节点通过交换节点回复心跳响应。
具体的,本发明实施例提供的实现心跳机制的方法,可应用于如图1所示的分布式数据库系统,其中,可将拓扑结构中均连接至一个交换节点的N个节点作为一个节点组,节点组内的N个节点发送的消息都要经过该节点组内的交换节点,该分布式数据库系统中可以包括多个节点组,每个节点组中的交换节点与局域网(Local Area Network,LAN)或广域网(Wide Area Network,WAN)相连。
需要说明的是,节点组内的N个节点可以为具有存储功能的实体设备,例如计算机等,也可以为具有存储功能的功能模块,例如磁盘等,本发明实施例对此不做限定。
可以理解的是,由于交换节点可以实时记录N个节点中每个节点发送的消息经过交换节点的时间,这样,当第一节点向第二节点发送的心跳请求经过交换节点时,交换节点可以通过查询到最近一次接收到第二节点发送消息的时刻,进而确定出该第二节点可用,从而代替第二节点向第一节点发送心跳响应,那么,可以有效减少N个节点中每个节点接收心跳请求和发送心跳响应的次数,从而避免接收大量的心跳请求和发送大量的心跳响应占用资源。
同时,当交换节点确定第二节点可用后,可直接代替第二节点向第一节点发送心跳响应,即基于本方案的心跳机制,一个完整的心跳请求和心跳响应所经历的心跳路径为:第一节点-交换节点-第一节点。而基于现有的心跳机制,一个完整的心跳请求和心跳响应所经历的心跳路径为:第一节点-交换节点-第二节点-交换节点-第一节点。可以看出,本发明实施例提供的实现心跳机制的方法,还可以大大降低心跳路径,减少心跳响应的延迟,从而缩短整个分布 式数据库系统的故障检测时间,提高分布式数据库系统的可靠性。
以下,如图2所示,详细阐述本发明实施例提供的实现心跳机制的方法,该方法包括:
101、交换节点接收第一节点向第二节点发送的消息,该消息携带有第一节点的标识。
其中,第一节点和第二节点为图1中一个节点组内与交换节点相连的两个不同节点。
由于第一节点向第二节点发送消息时都需要经过交换节点,因此,交换节点可以接收到第一节点向第二节点发送的消息,其中,该消息携带有第一节点的标识。
需要说明的是,这里所说的消息可以是任何消息,例如,心跳请求、心跳响应以及业务消息等。
102、交换节点对该消息进行解析,判断该消息是否为第一节点向第二节点发送的心跳请求。
在步骤102中,交换节点对步骤101中接收到的消息进行解析,判断该消息是否为第一节点向第二节点发送的心跳请求。
具体的,该消息中可携带有消息类型的标识,该消息类型具体可以为心跳请求、心跳响应或业务消息等类型,例如,可以预留该消息中的一个或多个字段用于指示该消息类型的标识,那么,在步骤102中,交换节点对步骤101中接收到的消息进行解析,获取该消息中携带的消息类型的标识,进而,根据该消息类型的标识判断该消息是否为第一节点向第二节点发送的心跳请求。
示例性的,该消息可以以报文的形式进行发送和接收,交换节点通过解析报文的报头中的前两个比特位,获取该消息中携带的消息类型的标识,从而根据该消息类型的标识判断该消息是否为第一节点向第二节点发送的心跳请求,例如,当该消息类型的标识为00时,可判断出该消息为心跳请求,当第一帧内为10时,可判断出该消息为业务消息,需要说明的是,上述解析消息的方法仅作为举例说明,本发明实施例对交换节点解析消息的形式不作任何限定。
进一步地,若该消息为第一节点向第二节点发送的心跳请求,则交换节点执行下述步骤103a-106a,查询最近一次接收到第二节点发送消息的时刻,从而确定出该第二节点是否“活着”;若该消息不是第一节点向第二节点发送的心跳请求,则交换节点执行下述步骤103b-104b,实时记录接收到的任一节点发送消息的时刻与该节点的标识之间的对应关系。
103a、若该消息为第一节点向第二节点发送的心跳请求,则交换节点记录接收该心跳请求的第一时刻,该心跳请求包括第一节点的标识和第二节点的标识。
具体的,步骤103a中,若该消息为第一节点向第二节点发送的心跳请求,则该心跳请求中除了包含第一节点的标识外,还包含第二节点的标识,用于指示第一节点向第二节点发送心跳请求。
此时,交换节点记录接收该心跳请求的时间为第一时刻,该第一时刻可以认为是第一节点发送该心跳请求的时间。
当然,由于第一节点发送该心跳请求与交换节点记录接收该心跳请求之间存在时间差,因此,还可以在该心跳请求中携带第一节点发送该心跳请求的时间,这样,交换节点便可以将该携带的第一节点发送该心跳请求的时间作为第一时刻。
104a、交换节点根据第二节点的标识,在缓存信息中查询交换节点最近一次接收到第二节点发送消息的第二时刻。
其中,该缓存信息中存储有交换节点接收到的任一节点发送消息的时刻与该节点的标识之间的对应关系。
如表1所示,为该缓存信息中交换节点接收到的任一节点发送消息的时刻与该节点的标识之间的对应关系,具体的,交换节点接收到任一节点发送的消息时,如步骤101所述,由于该消息中均携带有发送该消息的节点的标识,因此,交换节点便可以将接收到的任一节点发送消息的时刻与该节点的标识之间的对应关系记录到自身的存储器中,这样,在步骤104a中,当第一节点向第二节点发送的心跳请求时,交换节点便可以在缓存信息中,查询交换节点最近 一次接收到第二节点发送消息的时刻,即第二时刻。
表1
节点的标识 时间
2 19:0:10
1 16:30:12
当然,交换节点也可以对上表所述的缓存信息进行更新和维护,例如,定时删除距离当前时间1天以上的节点发送消息的时刻与该节点的标识之间的对应关系。
又或者,交换节点可以只记录距离当前时间最近的各节点发送消息的时刻与该节点的标识之间的对应关系,例如,当交换节点在19:0:59时接收到节点的标识为2的节点发送的业务消息时,可以更新上述表1中第一行节点的标识为2所对应的时间,使缓存信息中仅记录距离当前时间最近的各节点发送消息的时刻与该节点的标识之间的对应关系。
这样,缓存信息内只需记录一个节点组内N个节点中每一个节点的标识与该节点发送消息的最后时间之间的对应关系,可降低缓存信息的存储容量。
另外,在步骤104a之后,还可以将第一节点的标识与上述第一时刻的对应关系存储至所述缓存信息中,说明第一节点在第一时刻时为可用状态,以便于后续交换节点接收到向第一节点发送的心跳请求时,可及时从缓存信息中获取最近一次接收到第一节点发送消息的第一时刻。
105a、若第一时刻与第二时刻之间差值的绝对值小于阈值,则交换节点向第一节点发送心跳响应。
在步骤105a中,若步骤103a得到的第一时刻与步骤104a得到的第二时刻之间差值的绝对值小于阈值,即|第一时刻-第二时刻|<阈值,说明第二节点在不久之前为可用状态,即“活着”状态,则交换节点此时向第一节点发送心跳响应,以使得第一节点确定第二节点此时为可用状态。
需要说明的是,本领域技术人员可以根据实际经验设置该阈值的具体取值,本发明实施例对此不作任何限制。
106a、若第一时刻与第二时刻之间差值的绝对值大于阈值,则交换节点将心跳请求转发至第二节点。
与步骤105a相反的,若步骤103a得到的第一时刻与步骤104a得到的第二时刻之间差值的绝对值大于阈值,即|第一时刻-第二时刻|>阈值,说明第二节点已经在较长的时间段内没有与其他节点发送过消息,此时,交换节点无法确定第二节点当前是否可用,因此,交换节点将心跳请求转发至第二节点,第二节点收到该心跳请求后,若自身的状态为可用状态,即第二节点运行正常,则通过该交换节点向第一节点反馈心跳响应;若此时第二节点出现故障则无法向第一节点反馈心跳响应,而第一节点若在一定时间内未收到第二节点发送的心跳响应,或者,第一节点连续发送多次心跳请求后均未收到第二节点发送的心跳响应,第一节点则确定该第二节点出现故障。
103b、若该消息不是第一节点向第二节点发送的心跳请求,则交换节点记录接收该消息的第三时刻。
具体的,若步骤102中判断出步骤101中接收的消息不是第一节点向第二节点发送的心跳请求,例如,该消息为心跳响应或者业务消息,此时,交换节点记录接收该消息的时间,即第三时刻。
104b、交换节点将第一节点的标识与第三时刻的对应关系存储至缓存信息中。
在步骤104b中,交换节点将第一节点的标识与上述第三时刻的对应关系存储至缓存信息中,以便于后续交换节点接收到向第一节点发送的心跳请求时,可及时从缓存信息中获取最近一次接收到第一节点发送消息的第三时刻。
示例性的,如图3所示,此处以图1中的节点组1为例,阐述上述步骤101-106a以及101-104b所述的一种实现心跳机制的方法。
参见图3,在节点组1内,交换节点可以具体为交换机后路由器,节点组1内的N个节点发送消息的路径都要经过该交换节点。
其中,交换节点内的缓存单元中存储有缓存信息,如表1所示,该缓存信息中记录有该交换节点接收到的任一节点(即节点1至节点N中的任一节点),发送消息的时刻与该节点的标识之间的对应关系。
具体的,节点1可以向交换节点发送消息,该消息内携带有节点1的标识,例如,节点1的标识为1,此处,该消息可以为任意消息类型的消息,例如,心跳请求或业务消息等,交换节点接收到该消息后,对该消息进行解析,判断出该消息是否为节点1发送的心跳请求。
若该消息为节点1发送的心跳请求,则交换节点记录接收该心跳请求的第一时刻T1,该心跳请求包括节点1的标识和节点1的发送对象的标识,例如节点N的标识,进而,交换节点根据节点N的标识,在缓存单元的缓存信息中,查询交换节点最近一次接收到节点N发送消息的第二时刻T2,此时,若|T1-T2|<阈值,说明节点N在不久之前为可用状态,即“活着”状态,则交换节点向节点1发送心跳响应,相应的,若|T1-T2|>阈值,则交换节点将心跳请求转发至节点N。
相应的,若该消息不是节点1发送的心跳请求,例如,该消息为节点1发送的业务消息,则交换节点记录接收该消息的第三时刻T3,并将节点1的标识与第三时刻T3的对应关系存储至该缓存信息中,以便于后续交换节点接收到向节点1发送的心跳请求时,可及时从缓存信息中获取最近一次接收到节点1发送消息的时刻。
至此,本发明的实施例提供一种实现心跳机制的方法,交换节点获取第一节点向第二节点发送的心跳请求,该心跳请求包括第一节点的标识和第二节点的标识;进而,交换节点记录接收心跳请求的第一时刻;并且,根据第二节点的标识,在缓存信息中查询交换节点最近一次接收到第二节点发送消息的第二时刻,该缓存信息中存储有交换节点接收到的任一节点发送消息的时刻与该节点的标识之间的对应关系;若第一时刻与第二时刻之间差值的绝对值小于阈 值,则交换节点向第一节点发送心跳响应。可以看出,由于换节点可以实时记录每个节点发送的消息经过交换节点的时间,这样,当第一节点向第二节点发送的心跳请求经过交换节点时,交换节点可以通过查询到最近一次接收到第二节点发送消息的时刻,进而确定出该第二节点可用,从而代替第二节点向第一节点发送心跳响应,因此,可以有效减少各个节点接收心跳请求和发送心跳响应的次数,从而避免接收大量的心跳请求和发送大量的心跳响应占用资源。
图4为本发明实施例提供的一种交换节点的结构示意图,本发明实施例提供的交换节点可以用于实施上述图1-图3所示的本发明各实施例实现的方法,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照图1-图3所示的本发明各实施例。
其中,该交换节点可以具体为具有可编程能力的交换机或路由器等,本发明对此不作任何限制,可满足运算能力需求的所有硬件产品都适用。
具体的,该交换节点包括:
获取单元11,用于获取所述第一节点向所述第二节点发送的心跳请求,所述心跳请求包括所述第一节点的标识和所述第二节点的标识;
记录单元12,用于记录接收所述心跳请求的第一时刻;
查询单元13,用于根据所述第二节点的标识,在缓存信息中查询所述交换节点最近一次接收到所述第二节点发送消息的第二时刻,所述缓存信息中存储有所述交换节点接收到的任一节点发送消息的时刻与该节点的标识之间的对应关系;
发送单元14,用于若所述第一时刻与所述第二时刻之间差值的绝对值小于阈值,则向所述第一节点发送心跳响应。
进一步地,如图5所示,该交换节点还包括:
存储单元15,用于将所述第一节点的标识与所述第一时刻的对应关系存储至所述缓存信息中。
进一步地,如图6所示,该交换节点还包括解析单元16,其中,所述获取单元11,还用于接收所述第一节点向所述第二节点发送的消息,所述消息携带有所述第一节点的标识;所述解析单元16,用于对所述消息进行解析,确定所述消息为所述第一节点向所述第二节点发送的心跳请求。
进一步地,所述记录单元12,还用于若所述消息不是所述第一节点向所述第二节点发送的心跳请求,则记录接收所述消息的第三时刻;所述存储单元15,还用于将所述第一节点的标识与所述第三时刻的对应关系存储至所述缓存信息中。
进一步地,所述发送单元14,还用于若所述第一时刻与所述第二时刻之间差值的绝对值大于阈值,则将所述心跳请求转发至所述第二节点。
另外,图7为本发明实施例提供的一种交换节点的硬件结构示意图,其中,如图7所示,该交换节点包括处理器21、通信接口22以及存储器23,并且,该处理器21、通信接口22以及存储器23通过总线24进行通信。
所述存储器23用于存储计算机执行指令,所述处理器21与所述存储器23通过所述总线24连接,当该交换节点运行时,所述处理器21执行所述存储器23存储的计算机执行指令,以使该交换节点执行如图2所述的实现心跳机制的方法。具体的实现心跳机制的方法可参见上述如图2或图3所示的实施例中的相关描述,此处不再赘述。
其中,处理器21,可以为中央处理器(英文:central processing unit,缩写:CPU)。所述处理器21还可以为其他通用处理器、数字信号处理器(英文:digital signal processing,简称DSP)、专用集成电路(英文:application specific integrated circuit,简称ASIC)、现场可编程门阵列(英文:field-programmable gate array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处 理器也可以是任何常规的处理器等。
处理器21是所述交换节点的控制中心,处理器21通过对通信接口22接收到的数据进行处理,并调用存储器23中的软件或程序,执行所述交换节点的各项功能。
通信接口22,可具体为接口电路,用于收发信息或请求的过程中,信号的接收和发送,通信接口22接收终端发送的信息后,给处理器21处理;另外,通信接口22可以通过无线通信与网络和其他设备通信。
存储器23,可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access memory,缩写:RAM);所述存储器23也可以包括非易失性存储器(英文:non-volatile memory),例如只读存储器(英文:read-only memory,缩写:ROM),快闪存储器(英文:flash memory),硬盘(英文:hard disk drive,缩写:HDD)或固态硬盘(英文:solid-state drive,缩写:SSD);所述存储器23还可以包括上述种类的存储器的组合。处理器21可通过运行存储在存储器23的软件程序,从而执行所述交换节点的各种功能应用以及数据处理。
具体的,在本发明的实施例中,存储器23可用于存储缓存信息,该缓存信息中存储有交换节点接收到的任一节点发送消息的时刻与该节点的标识之间的对应关系。
而总线24可以包括数据总线、电源总线、控制总线和信号状态总线等。本实施例中为了清楚说明,在图7中将各种总线都示意为总线24。
另外,如图8所示,本发明的实施例还提供一种实现心跳机制的系统,包括上述任一种交换节点31,以及与该交换节31点均相连的第一节点32和第二节点33,其中,交换节点与第一节点32和第二节点33进行交互的过程,可参见如图2或图3所示的实施例中实现心跳机制的方法相关描述,此处不再赘述。
其中,交换节点31可以是与第一节点32和第二节点33均相连 的任意节点,优选的,可以利用第一节点32和第二节点33之间本身的拓扑结构,将位于第一节点32和第二节点33之间的通信路径上的交换机或路由器作为交换节点31,这样便无需额外引入新的节点执行交换节点31的功能。
至此,本发明的实施例提供一种交换节点、实现心跳机制的系统,其中,交换节点获取第一节点向第二节点发送的心跳请求,该心跳请求包括第一节点的标识和第二节点的标识;进而,交换节点记录接收心跳请求的第一时刻;并且,根据第二节点的标识,在缓存信息中查询交换节点最近一次接收到第二节点发送消息的第二时刻,该缓存信息中存储有交换节点接收到的任一节点发送消息的时刻与该节点的标识之间的对应关系;若第一时刻与第二时刻之间差值的绝对值小于阈值,则交换节点向第一节点发送心跳响应。可以看出,由于换节点可以实时记录每个节点发送的消息经过交换节点的时间,这样,当第一节点向第二节点发送的心跳请求经过交换节点时,交换节点可以通过查询到最近一次接收到第二节点发送消息的时刻,进而确定出该第二节点可用,从而代替第二节点向第一节点发送心跳响应,因此,可以有效减少各个节点接收心跳请求和发送心跳响应的次数,从而避免接收大量的心跳请求和发送大量的心跳响应占用资源。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单 元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (12)

  1. 一种实现心跳机制的方法,应用于分布式数据库系统,其特征在于,包括:
    交换节点获取第一节点向第二节点发送的心跳请求,所述心跳请求包括所述第一节点的标识和所述第二节点的标识,所述第一节点和所述第二节点为与所述交换节点相连的不同节点;
    所述交换节点记录接收所述心跳请求的第一时刻;
    所述交换节点根据所述第二节点的标识,在缓存信息中查询所述交换节点最近一次接收到所述第二节点发送消息的第二时刻,所述缓存信息中存储有所述交换节点接收到的任一节点发送消息的时刻与该节点的标识之间的对应关系;
    若所述第一时刻与所述第二时刻之间差值的绝对值小于阈值,则所述交换节点向所述第一节点发送心跳响应。
  2. 根据权利要求1所述的方法,其特征在于,在所述交换节点记录接收所述心跳请求的第一时刻之后,还包括:
    所述交换节点将所述第一节点的标识与所述第一时刻的对应关系存储至所述缓存信息中。
  3. 根据权利要求1或2所述的方法,其特征在于,所述交换节点获取第一节点向第二节点发送的心跳请求,包括:
    所述交换节点接收所述第一节点向所述第二节点发送的消息,所述消息携带有所述第一节点的标识;
    所述交换节点对所述消息进行解析,确定所述消息为所述第一节点向所述第二节点发送的心跳请求。
  4. 根据权利要求3所述的方法,其特征在于,在所述交换节点接收所述第一节点向所述第二节点发送的消息之后,还包括:
    若所述消息不是所述第一节点向所述第二节点发送的心跳请求,则所述交换节点记录接收所述消息的第三时刻;
    所述交换节点将所述第一节点的标识与所述第三时刻的对应关系存储至所述缓存信息中。
  5. 根据权利要求1-4中任一项所述的方法,其特征在于,在所述交换节点根据所述第二节点的标识,在缓存信息中查询所述交换节点最近一次接收到所述第二节点发送消息的第二时刻之后,还包括:
    若所述第一时刻与所述第二时刻之间差值的绝对值大于阈值,则所述交换节点将所述心跳请求转发至所述第二节点。
  6. 一种交换节点,应用于分布式数据库系统,其特征在于,所述交换节点与第一节点和第二节点相连,包括:
    获取单元,用于获取所述第一节点向所述第二节点发送的心跳请求,所述心跳请求包括所述第一节点的标识和所述第二节点的标识;
    记录单元,用于记录接收所述心跳请求的第一时刻;
    查询单元,用于根据所述第二节点的标识,在缓存信息中查询所述交换节点最近一次接收到所述第二节点发送消息的第二时刻,所述缓存信息中存储有所述交换节点接收到的任一节点发送消息的时刻与该节点的标识之间的对应关系;
    发送单元,用于若所述第一时刻与所述第二时刻之间差值的绝对值小于阈值,则向所述第一节点发送心跳响应。
  7. 根据权利要求6所述的交换节点,其特征在于,还包括:
    存储单元,用于将所述第一节点的标识与所述第一时刻的对应关系存储至所述缓存信息中。
  8. 根据权利要求6或7所述的交换节点,其特征在于,还包括解析单元,其中,
    所述获取单元,还用于接收所述第一节点向所述第二节点发送的消息,所述消息携带有所述第一节点的标识;
    所述解析单元,用于对所述消息进行解析,确定所述消息为所述第一节点向所述第二节点发送的心跳请求。
  9. 根据权利要求8所述的交换节点,其特征在于,
    所述记录单元,还用于若所述消息不是所述第一节点向所述第二节点发送的心跳请求,则记录接收所述消息的第三时刻;
    所述存储单元,还用于将所述第一节点的标识与所述第三时刻的 对应关系存储至所述缓存信息中。
  10. 根据权利要求6-9中任一项所述的交换节点,其特征在于,
    所述发送单元,还用于若所述第一时刻与所述第二时刻之间差值的绝对值大于阈值,则将所述心跳请求转发至所述第二节点。
  11. 一种交换节点,其特征在于,包括:处理器、存储器、总线和通信接口;
    所述存储器用于存储计算机执行指令,所述处理器与所述存储器通过所述总线连接,当所述交换节点运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述交换节点执行如权利要求1-5任意一项所述的实现心跳机制的方法。
  12. 一种实现心跳机制的系统,其特征在于,包括如权利要求6-11中任一项所述的交换节点,以及与所述交换节点均相连的第一节点和第二节点。
PCT/CN2016/112465 2015-12-31 2016-12-27 一种实现心跳机制的方法、装置及系统 WO2017114397A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP16881186.7A EP3386152B1 (en) 2015-12-31 2016-12-27 Method, device and system for realizing heartbeat mechanism
US16/023,532 US11128718B2 (en) 2015-12-31 2018-06-29 Method, apparatus, and system for implementing heartbeat mechanism

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201511031806.8A CN106936662B (zh) 2015-12-31 2015-12-31 一种实现心跳机制的方法、装置及系统
CN201511031806.8 2015-12-31

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/023,532 Continuation US11128718B2 (en) 2015-12-31 2018-06-29 Method, apparatus, and system for implementing heartbeat mechanism

Publications (1)

Publication Number Publication Date
WO2017114397A1 true WO2017114397A1 (zh) 2017-07-06

Family

ID=59224595

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/112465 WO2017114397A1 (zh) 2015-12-31 2016-12-27 一种实现心跳机制的方法、装置及系统

Country Status (4)

Country Link
US (1) US11128718B2 (zh)
EP (1) EP3386152B1 (zh)
CN (1) CN106936662B (zh)
WO (1) WO2017114397A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115333983A (zh) * 2022-08-16 2022-11-11 超聚变数字技术有限公司 心跳管理方法及节点

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107678918B (zh) * 2017-09-26 2021-06-29 郑州云海信息技术有限公司 一种分布式文件系统的osd心跳机制设置方法及装置
CN108804119A (zh) * 2018-04-28 2018-11-13 北京金山云网络技术有限公司 配置更新方法、装置、系统、配置中心、应用节点及介质
CN112995254B (zh) * 2019-12-13 2022-07-19 北京金山云网络技术有限公司 传输心跳信息的方法、设备、系统、装置及组件
CN113805788B (zh) * 2020-06-12 2024-04-09 华为技术有限公司 一种分布式存储系统及其异常处理方法和相关装置
CN112671835B (zh) * 2020-12-07 2022-08-09 深圳市晨北科技有限公司 一种请求处理的方法、装置、系统及存储介质
CN113014446B (zh) * 2021-02-10 2022-09-16 北京字跳网络技术有限公司 异常离线用户检测方法、装置、服务器、存储介质和系统
CN113411237B (zh) * 2021-08-18 2021-11-30 成都丰硕智能数字科技有限公司 一种低延迟检测终端状态的方法、存储介质及系统
CN114866395B (zh) * 2022-04-29 2024-03-22 中国建设银行股份有限公司 多组分布式一致性协议集群心跳通讯方法及装置
CN115242820A (zh) * 2022-07-25 2022-10-25 济南浪潮数据技术有限公司 一种集群节点故障处理方法、装置、设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101115313A (zh) * 2007-08-23 2008-01-30 中兴通讯股份有限公司 一种软心跳检测方法及系统
CN101771579A (zh) * 2009-01-06 2010-07-07 鲁逸峰 一种p2p流媒体系统中的分布式节点故障检测方法
CN104883279A (zh) * 2015-04-13 2015-09-02 中国联合网络通信集团有限公司 心跳报文处理方法、设备和系统
US20150254273A1 (en) * 2009-12-18 2015-09-10 Microsoft Technology Licensing, Llc Distributed transaction management

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7451359B1 (en) 2002-11-27 2008-11-11 Oracle International Corp. Heartbeat mechanism for cluster systems
US7383313B2 (en) * 2003-11-05 2008-06-03 Hitachi, Ltd. Apparatus and method of heartbeat mechanism using remote mirroring link for multiple storage system
US7912950B1 (en) * 2007-07-09 2011-03-22 ByteSphere Technologies, LLC Adaptive polling facility for network monitoring system
GB2504634B (en) * 2010-11-22 2014-04-09 Seven Networks Inc Aligning data transfer to optimize connections established for transmission over a wireless network
CN102185740B (zh) * 2011-05-13 2013-09-18 北京星网锐捷网络技术有限公司 心跳检测方法及网络设备
CN103119896A (zh) * 2011-07-01 2013-05-22 华为技术有限公司 心跳消息发送方法和心跳代理服务器
US8743680B2 (en) 2011-08-12 2014-06-03 International Business Machines Corporation Hierarchical network failure handling in a clustered node environment
US9244796B2 (en) * 2011-11-15 2016-01-26 International Business Machines Corporation Diagnostic heartbeat throttling
US9705733B2 (en) * 2012-08-07 2017-07-11 Ca, Inc. Systems and methods for throttling polling
CN103117901B (zh) * 2013-02-01 2016-06-15 华为技术有限公司 一种分布式心跳检测方法、装置及系统
KR20180041771A (ko) * 2013-05-16 2018-04-24 콘비다 와이어리스, 엘엘씨 향상된 발견을 위한 시스템들 및 방법들
CN103763155A (zh) * 2014-01-24 2014-04-30 国家电网公司 分布式云存储系统多服务心跳监测方法
CN104506358A (zh) * 2014-12-19 2015-04-08 上海斐讯数据通信技术有限公司 基于snmp的网络管理系统及网络管理方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101115313A (zh) * 2007-08-23 2008-01-30 中兴通讯股份有限公司 一种软心跳检测方法及系统
CN101771579A (zh) * 2009-01-06 2010-07-07 鲁逸峰 一种p2p流媒体系统中的分布式节点故障检测方法
US20150254273A1 (en) * 2009-12-18 2015-09-10 Microsoft Technology Licensing, Llc Distributed transaction management
CN104883279A (zh) * 2015-04-13 2015-09-02 中国联合网络通信集团有限公司 心跳报文处理方法、设备和系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115333983A (zh) * 2022-08-16 2022-11-11 超聚变数字技术有限公司 心跳管理方法及节点
CN115333983B (zh) * 2022-08-16 2023-10-10 超聚变数字技术有限公司 心跳管理方法及节点

Also Published As

Publication number Publication date
EP3386152A4 (en) 2018-10-10
CN106936662B (zh) 2020-01-31
US20180309835A1 (en) 2018-10-25
CN106936662A (zh) 2017-07-07
US11128718B2 (en) 2021-09-21
EP3386152B1 (en) 2019-10-09
EP3386152A1 (en) 2018-10-10

Similar Documents

Publication Publication Date Title
WO2017114397A1 (zh) 一种实现心跳机制的方法、装置及系统
US10555253B2 (en) Method and system for selection of an access and mobility management function in an access network environment
KR102167613B1 (ko) 메시지 푸시 방법 및 장치
WO2019127915A1 (zh) 基于分布式一致性协议实现的数据读取方法及装置
CN109344014B (zh) 一种主备切换方法、装置及通信设备
WO2017206183A1 (zh) 一种网络切片的确定方法、装置及系统
WO2018090677A1 (zh) 一种nf组件异常的处理方法、设备及系统
US9596313B2 (en) Method, terminal, cache server and system for updating webpage data
WO2017071087A1 (zh) 信息的传输方法、装置和设备
US20190158627A1 (en) Method and device for generating forwarding information
WO2021139289A1 (zh) 报文发送方法、路由表项的生成方法、装置及存储介质
US11231983B2 (en) Fault tolerance processing method, apparatus, and server
US20220007240A1 (en) Communication method and apparatus
CN111049928A (zh) 数据同步方法、系统、电子设备及计算机可读存储介质
WO2021136634A1 (en) Association with a network data analytics function
WO2018137149A1 (zh) 一种内容请求方法及代理设备
CN110798492B (zh) 数据存储方法及装置、数据处理系统
US10536346B2 (en) Data processing method and device
US20230403611A1 (en) Handover processing method and apparatus, and communication device
KR20210044281A (ko) 클라우드 저하 모드에서 지속적인 디바이스 동작 안정성을 보장하기 위한 방법 및 장치
CN109510864B (zh) 一种缓存请求的转发方法、传输方法及相关装置
WO2023207880A1 (zh) 随机接入报告记录方法及装置
US20230004304A1 (en) Storage System, Request Processing Method, and Switch
WO2014040409A1 (zh) 路由管理的方法和节点
WO2024051304A1 (zh) 节点状态信息的获取方法、系统及相关装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16881186

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2016881186

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2016881186

Country of ref document: EP

Effective date: 20180703