CN109688006B - 支持目标集群动态探测的高性能网络日志消息分发方法 - Google Patents

支持目标集群动态探测的高性能网络日志消息分发方法 Download PDF

Info

Publication number
CN109688006B
CN109688006B CN201811583893.1A CN201811583893A CN109688006B CN 109688006 B CN109688006 B CN 109688006B CN 201811583893 A CN201811583893 A CN 201811583893A CN 109688006 B CN109688006 B CN 109688006B
Authority
CN
China
Prior art keywords
state
receiving host
receiving
message distribution
host
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811583893.1A
Other languages
English (en)
Other versions
CN109688006A (zh
Inventor
李少敏
王凯峰
许云飞
王志飞
魏川鸿
明树新
贾夺元
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Yuantek Technology Co ltd
Original Assignee
Beijing Yuantek Technology 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 Beijing Yuantek Technology Co ltd filed Critical Beijing Yuantek Technology Co ltd
Priority to CN201811583893.1A priority Critical patent/CN109688006B/zh
Publication of CN109688006A publication Critical patent/CN109688006A/zh
Application granted granted Critical
Publication of CN109688006B publication Critical patent/CN109688006B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • 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
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明提供了支持目标集群动态探测的高性能网络日志消息分发方法,通过采取分布式探测、状态统一发布的保活动态探测策略,能够确保各分发节点上接收主机状态的一致性,同时,通过在日志消息分发过程采用加权负载均衡,避免了大量内存访问。通过采用分布式动态探测、状态统一分布等方法,确保接收主机的活跃性;采用加权负载均衡算法,将网络日志消息更加均衡地分布到集群环境下的接收主机上;同时,采用哈希函数计算会话数据包中所包含的五元组(源地址、目的地址、源端口、目的端口、协议)的哈希值,逐包确定接收主机端口的方法,有效的降低了接收主机失效带来的影响。

Description

支持目标集群动态探测的高性能网络日志消息分发方法
技术领域
本发明属于网络管理领域,具体涉及支持目标集群动态探测的高性能网络日志消息分发方法。
背景技术
会话(Session)本义是指有始有终的一系列动作/消息,当会话与网络协议相关联时,又包含了“面向连接”和“保持状态”两种含义。网络设备或软件,会根据实际业务的需要生成会话日志。随着网络技术的飞速发展,实时高性能地处理网络流量,并将生成的同一个会话的日志消息向同一个特定集群进行汇聚分发已成为当前研究的重要内容,特别是在众多的应用研究领域。例如:网络监控、电子商务等重要领域。在处理网络会话日志过程中,并以会话连接为单位对消息进行分发时,接收主机的保活探测是消息分发正确性的基础。消息的分发汇聚需要获取所有正常状态的节点,并将负载在各个状态正常的业务处理节点之间进行合理分配和调度,使各个节点尽量均衡地承担网络日志处理的任务。消息分发节点根据处理业务的类型对接收主机进行分组,也就是根据业务类型进行分组形成接收集群。所以,需要分发节点通过动态保活机制监测各个接收主机是否处于正常工作状态,将异常节点从活跃接收主机对象列表中删除,避免给故障节点分配负载任务,并将故障节点的负载任务分发给其他正常节点承担。现有技术主要采用由消息分发节点各自独立完成对接收主机状态探测的方案,然而,对于处理跨地域消息分发时,同一分发节点或者不同地区的多个分发节点,向同一接收主机集群发送消息的情况,如果各分发节点对集群内某个接收主机的状态判定不一致,则会直接导致不同分发节点将相同连接的消息分发到不同的接收主机上,从而导致日志消息分发失败;同时,由于在日志消息转发过程中,需要多次访问不同的内存空间获取接收主机的地址及端口信息,消耗了大量内存资源。
发明内容
有鉴于此,本发明提供了支持目标集群动态探测的高性能网络日志消息分发方法,通过采取分布式探测、状态统一发布的保活动态探测策略,能够确保各分发节点上接收主机状态的一致性,同时,通过在日志消息分发过程采用加权负载均衡,避免了大量内存访问。
本发明提供的支持目标集群动态探测的高性能网络日志消息分发方法,具体包括如下步骤;
步骤1、探测节点对业务集群内的接收主机进行探测,获得接收主机的状态信息,并将该状态信息与保存在本地的接收主机历史状态数据进行比较,判断此时接收主机的状态,接收主机的状态包括:活跃状态、失效状态及恢复状态,其中,恢复状态为当接收主机的历史数据为失效状态而当前状态为活跃状态时接收主机所处的状态;如果接收主机的当前状态与其历史状态数据保持一致,则立即将接收主机的当前状态信息发送给分发管理中心;如果接收主机的当前状态为失效状态,则立即将接收主机的当前状态信息即失效状态发送给分发管理中心;如果接收主机的当前状态为恢复状态,则延迟发送该主机的状态信息,等待进一步确认;
对于处于恢复状态的接收主机,探测节点按照固定的时间间隔继续连续对其进行n次探测,若连续n次探测的结果都是活跃状态,则说明该节点已恢复功能且状态稳定,则将该节点的状态设定为活跃状态,并立即将当前状态信息发送给分发管理中心;
步骤2、分发管理中心接收到来自于探测节点的状态信息后,统一发布到所有的消息分发节点;
步骤3、消息分发节点根据处理业务的类型对接收主机进行分组,并根据接收主机的处理能力为接收主机的每个端口赋权值,再根据端口的权值建立该组接收主机的消息分发映射表,分发映射表中以主机端口为单元进行存储,每个主机端口具有多条记录,记录的条数与该端口的权值相等,每条记录都与一个固定的序号与之相对应;
消息分发节点根据接收到的来自于分发管理中心的状态信息,更新本地存储的接收主机状态及消息分发映射表,即如果某个接收主机处于失效状态,则消息分发节点将其从相应的消息分发映射表中剔除,消息分发映射表中的序号自动更新;
步骤4、当消息分发节点接收到会话消息时,根据该会话请求的业务类型,确定其采用的接收主机分组,从而确定对应的消息分发映射表;
消息分发节点确定会话消息数据包的五元组,即源地址、源端口、目的地址、目的端口、协议,并计算该五元组的哈希值,以该哈希值作为消息分发映射表中的序号,找到对应的接收主机端口,消息分发节点将该会话消息数据包转发至该接收主机端口。
进一步地,所述分发管理中心采用Zookeeper实现。
有益效果:
本发明通过采用分布式动态探测、状态统一分布等方法,确保接收主机的活跃性;考虑到同一集群内的不同性能的业务处理机的性能,采用加权负载均衡算法,将网络日志消息更加均衡地分布到集群环境下的接收主机上;同时,采用哈希函数计算会话数据包中所包含的五元组(源地址、目的地址、源端口、目的端口、协议)的哈希值,逐包确定接收主机端口的方法,有效的降低了接收主机失效带来的影响。
附图说明
图1为本发明提供的支持目标集群动态探测的高性能网络日志消息分发方法部署图。
图2为本发明提供的支持目标集群动态探测的高性能网络日志消息分发方法消息分发映射表示意图。
具体实施方式
下面结合附图并举实施例,对本发明进行详细描述。
本发明提供了支持目标集群动态探测的高性能网络日志消息分发方法,其基本思想是:通过在不同地域部署探测节点,实现对消息接收主机状态的实时动态探测,同时将探测结果向分发管理中心汇聚,再由分发管理中心将处理后的接收主机状态消息同步分发到各分发节点上,再根据建立的接收主机权值相关的消息分发映射表进行日志消息分发加强负载均衡,最终完成日志消息的有效分发,提高了日志消息分发的效率和可靠性。
本发明提供的支持目标集群动态探测的高性能网络日志消息分发方法,消息分发节点、状态探测节点、消息接收主机及分发管理中心的部署图,如图1所示。其中,消息分发节点分别部署在不同的地域,负责消息的分发;状态探测节点分别部署在每个接收节点集群内部,负责所部署区域内的接收主机的状态探测,并将探测结果发送给分发管理中心;消息接收主机为不同地域的业务接收主机,负责接收消息处理业务;分发管理中心支持分布式部署,能够满足整个消息分发-业务处理机群规模的扩展需求,且发布的消息具有严格的一致性,从而确保整个消息分发体系具备跨地域的同源同宿负载均衡能力。
本发明提供的支持目标集群动态探测的高性能网络日志消息分发方法,具体包括如下步骤:
步骤1、探测节点对业务集群内的接收主机进行探测,获得接收主机的状态信息,并将该状态信息与保存在本地的接收主机历史状态数据进行比较,判断此时接收主机的状态,接收主机的状态包括:活跃状态、失效状态及恢复状态,如果接收主机的当前状态与其历史数据保持一致,则立即将接收主机的当前状态信息发送给分发管理中心;如果接收主机的当前状态为失效状态,则立即将接收主机的当前状态信息即失效状态发送给分发管理中心;如果接收主机的当前状态为活跃状态,而其历史数据为失效状态,则认为该接收主机的状态为恢复状态,延迟发送该主机的状态信息,等待进一步确认;
对于处于恢复状态的接收主机,探测节点按照固定的时间间隔继续连续对其进行3次探测,若连续3次探测的结果都是活跃状态,则说明该节点已恢复功能且状态稳定,则将该节点的状态设定为活跃状态,并立即将当前状态信息发送给分发管理中心;
步骤2、分发管理中心接收到来自于探测节点的状态信息后,统一发布到所有的消息分发节点;
步骤3、消息分发节点根据处理业务的类型对接收主机进行分组,并根据接收主机的处理能力为接收主机的每个端口赋权值,再根据端口的权值建立该组接收主机的消息分发映射表,如图2所示,分发映射表中以主机端口为单元进行存储,每个主机端口具有多条记录,记录的条数与该端口的权值相等,每条记录都与一个固定的序号与之相对应;例如,接收主机的地址为IP1,其PORT11端口,表示为IP1:PORT11,该端口的权值为W11,W11的值为2,则IP1:PORT11在消息分发映射表中有两条记录,记录的序号分别为0和1;
消息分发节点根据接收到的来自于分发管理中心的状态信息,更新本地存储的接收主机状态及消息分发映射表,即如果某个接收主机处于失效状态,则消息分发节点需要将其从相应的消息分发映射表中剔除,原消息分发映射表中的序号自动更新;
步骤4、当消息分发节点接收到会话消息时,根据该会话请求的业务类型,确定其采用的接收主机组,从而确定对应的消息分发映射表;
消息分发节点以会话消息数据包为单元进行逐包分发处理,首先确定会话消息数据包的五元组,即源地址、源端口、目的地址、目的端口、协议,并计算该五元组的哈希值,以该哈希值作为消息分发映射表中的序号,找到对应的接收主机端口,消息分发节点将该会话消息数据包转发至该接收主机端口。
实施例一:
本实施例中选择采用Zookeeper作为分发管理中心。
步骤1、探测节点对区域内的接收主机进行探测,获得接收主机的状态信息,并将该状态信息与保存在本地的接收主机历史状态数据进行比较,判断此时接收主机的状态,接收主机的状态包括:活跃状态、失效状态及恢复状态,如果接收主机的当前状态与其历史数据保持一致,则立即将接收主机的当前状态信息发送给Zookeeper;如果接收主机的当前状态为失效状态,则立即将接收主机的当前状态信息即失效状态发送给Zookeeper;如果接收主机的当前状态为活跃状态,而其历史数据为失效状态,则认为该接收主机的状态为恢复状态,延迟发送该主机的状态信息,等待进一步确认;
对于处于恢复状态的接收主机,探测节点按照固定的时间间隔继续连续对其进行3次探测,若连续3次探测的结果都是活跃状态,则说明该节点已恢复功能且状态稳定,则将该节点的状态设定为活跃状态,并立即将当前状态信息发送给Zookeeper;
步骤2、Zookeeper接收到来自于探测节点的状态信息后,同步更新所有其他Zookeeper节点,然后统一发布到所有的消息分发节点;
步骤3、消息分发节点根据处理业务的类型对接收主机进行分组,并根据接收主机的处理能力为接收主机的每个端口赋权值,再根据端口的权值建立该组接收主机的消息分发映射表,如图2所示,分发映射表中以主机端口为单元进行存储,每个主机端口具有多条记录,记录的条数与该端口的权值相等,每条记录都与一个固定的序号与之相对应;
消息分发节点根据接收到的来自于分发管理中心的状态信息,更新本地存储的接收主机状态及消息分发映射表,即如果某个接收主机处于失效状态,则消息分发节点需要将其从相应的消息分发映射表中剔除,原消息分发映射表中的序号自动更新;
步骤4、当消息分发节点接收到会话消息时,根据该会话请求的业务类型,确定其采用的接收主机组,即确定对应的消息分发映射表;
消息分发节点以会话消息数据包为单元进行逐包分发处理,首先确定会话消息数据包的五元组,即源地址、源端口、目的地址、目的端口、协议,并计算该五元组的哈希值,以该哈希值作为消息分发映射表中的序号,找到对应的接收主机端口,消息分发节点将该会话消息数据包转发至该接收主机端口。
采用本发明提供的加权负载均衡方法,当某个接收节点失效时,通过消息分发映射表可以及时切换至活跃节点上,保持了日志消息分发的连接性及完整性,避免出现连接大迁移的情况,此外,由于接收主机间的切换过程中不需要多次访问内存,从而达到了访存优化的目的。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (2)

1.支持目标集群动态探测的高性能网络日志消息分发方法,其特征在于,具体包括如下步骤;
步骤1、探测节点对业务集群内的接收主机进行探测,获得接收主机的状态信息,并将该状态信息与保存在本地的接收主机历史状态数据进行比较,判断此时接收主机的状态,接收主机的状态包括:活跃状态、失效状态及恢复状态,其中,恢复状态为当接收主机的历史数据为失效状态而当前状态为活跃状态时接收主机所处的状态;如果接收主机的当前状态与其历史状态数据保持一致,则立即将接收主机的当前状态信息发送给分发管理中心;如果接收主机的当前状态为失效状态,则立即将接收主机的当前状态信息即失效状态发送给分发管理中心;如果接收主机的当前状态为恢复状态,则延迟发送该主机的状态信息,等待进一步确认;
对于处于恢复状态的接收主机,探测节点按照固定的时间间隔继续连续对其进行n次探测,若连续n次探测的结果都是活跃状态,则说明该节点已恢复功能且状态稳定,则将该节点的状态设定为活跃状态,并立即将当前状态信息发送给分发管理中心;
步骤2、分发管理中心接收到来自于探测节点的状态信息后,统一发布到所有的消息分发节点;
步骤3、消息分发节点根据处理业务的类型对接收主机进行分组,并根据接收主机的处理能力为接收主机的每个端口赋权值,再根据端口的权值建立该组接收主机的消息分发映射表,分发映射表中以主机端口为单元进行存储,每个主机端口具有多条记录,记录的条数与该端口的权值相等,每条记录都与一个固定的序号与之相对应;
消息分发节点根据接收到的来自于分发管理中心的状态信息,更新本地存储的接收主机状态及消息分发映射表,即如果某个接收主机处于失效状态,则消息分发节点将其从相应的消息分发映射表中剔除,消息分发映射表中的序号自动更新;
步骤4、当消息分发节点接收到会话消息时,根据该会话请求的业务类型,确定其采用的接收主机分组,从而确定对应的消息分发映射表;
消息分发节点确定会话消息数据包的五元组,即源地址、源端口、目的地址、目的端口、协议,并计算该五元组的哈希值,以该哈希值作为消息分发映射表中的序号,找到对应的接收主机端口,消息分发节点将该会话消息数据包转发至该接收主机端口。
2.根据权利要求1所述的方法,其特征在于,所述分发管理中心采用Zookeeper实现。
CN201811583893.1A 2018-12-24 2018-12-24 支持目标集群动态探测的高性能网络日志消息分发方法 Active CN109688006B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811583893.1A CN109688006B (zh) 2018-12-24 2018-12-24 支持目标集群动态探测的高性能网络日志消息分发方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811583893.1A CN109688006B (zh) 2018-12-24 2018-12-24 支持目标集群动态探测的高性能网络日志消息分发方法

Publications (2)

Publication Number Publication Date
CN109688006A CN109688006A (zh) 2019-04-26
CN109688006B true CN109688006B (zh) 2021-08-17

Family

ID=66188272

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811583893.1A Active CN109688006B (zh) 2018-12-24 2018-12-24 支持目标集群动态探测的高性能网络日志消息分发方法

Country Status (1)

Country Link
CN (1) CN109688006B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110365748B (zh) * 2019-06-24 2022-11-08 深圳市腾讯计算机系统有限公司 业务数据的处理方法和装置、存储介质及电子装置
CN110830582B (zh) * 2019-11-13 2022-02-15 福建顶点软件股份有限公司 一种基于服务器集群选主方法和装置
CN110839084B (zh) * 2019-11-19 2022-04-05 中国建设银行股份有限公司 会话管理方法、装置、设备和介质
CN111831221B (zh) * 2020-05-26 2022-09-23 武汉安象信息科技有限公司 一种基于云存储的分布式存储方法及系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100088128A1 (en) * 2008-09-26 2010-04-08 Deep Rock Drive Partners Inc. Ticket scarcity management for interactive events
CN103167441B (zh) * 2011-12-15 2016-05-25 中国移动通信集团公司 一种短消息的下发方法、装置及系统
CN103475496B (zh) * 2013-09-09 2016-06-15 北京思特奇信息技术股份有限公司 一种保证多节点业务一致性的方法及系统
KR20180072026A (ko) * 2016-12-20 2018-06-29 에스케이하이닉스 주식회사 메모리 컨트롤러, 이를 포함하는 메모리 시스템, 및 그의 동작 방법
CN107862064B (zh) * 2017-11-16 2021-09-10 北京航空航天大学 一个基于nvm的高性能、可扩展的轻量级文件系统

Also Published As

Publication number Publication date
CN109688006A (zh) 2019-04-26

Similar Documents

Publication Publication Date Title
CN109688006B (zh) 支持目标集群动态探测的高性能网络日志消息分发方法
WO2021179493A1 (zh) 基于微服务的负载均衡方法、装置、设备及存储介质
CN110166568B (zh) 分布负载平衡器
CN111615066B (zh) 一种基于广播的分布式微服务注册及调用方法
CN103581276B (zh) 集群管理装置、系统、业务客户端及相应方法
US11418429B2 (en) Route anomaly detection and remediation
JP2016520904A (ja) 分散型ロードバランサにおける非対称パケットフロー
CN108712464A (zh) 一种面向集群微服务高可用的实现方法
US11206173B2 (en) High availability on a distributed networking platform
WO2011140951A1 (zh) 负载均衡的方法、设备和系统
CN108234191A (zh) 云计算平台的管理方法和装置
WO2021004385A1 (zh) 服务单元切换方法、系统及设备
US9736235B2 (en) Computer system, computer, and load balancing method
CN106713378B (zh) 实现多个应用服务器提供服务的方法和系统
WO2012065426A1 (zh) 一种分布式缓存系统中负荷分配方法、装置及服务器
CN102387218A (zh) 一种计算机多机热备负载均衡系统
CN112953982B (zh) 一种服务处理的方法、服务配置的方法以及相关装置
CN113709220B (zh) 虚拟负载均衡器的高可用实现方法、系统及电子设备
CN111901236B (zh) 一种利用动态路由优化openstack云网络的方法及系统
EP1764688A2 (en) Distributed embedded software for a switch
KR101956320B1 (ko) 트랜잭셔널 미들웨어 머신 환경에서 단일 포인트 병목을 방지하는 시스템 및 방법
CN113076212A (zh) 一种集群的管理方法、装置、设备及计算机可读存储介质
CN102437960B (zh) 集群模式的检测处理方法、系统和网络设备
Aditya et al. A high availability (HA) MariaDB Galera Cluster across data center with optimized WRR scheduling algorithm of LVS-TUN
CN114024971B (zh) 业务数据处理方法、Kubernetes集群及介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant