一种连接数的统计方法及装置与流程

文档序号:12183046阅读:242来源:国知局
一种连接数的统计方法及装置与流程

本发明涉及分布式存储软件技术领域,更具体地说,涉及一种连接数的统计方法及装置。



背景技术:

在使用分布式存储服务时,一般使用多个服务器节点组成一个集群,该集群可以提供DNS(Domain Name System,域名系统)服务,因此也可以称为DNS服务集群。

为了保证客户访问量过大或者服务器出现故障的情况,通常需要在集群中进行DNS负载均衡。现有技术中通常是通过连接数策略来实现DNS负载均衡的,具体来说,由集群中的一个节点作为管理节点,当有客户发出请求时,管理节点确定集群中每个节点的连接数,将其中连接数最小的节点的IP地址返回给客户,供客户实现访问。但是,由于接收到客户的请求获取每个节点的连接数的过程需要一定的时间,因此,这段时间会造成返回给客户IP地址的速度较慢,也即反馈速度较慢。

综上所述,现有技术中对客户发起的请求进行处理过程中存在反馈速度较慢的问题。



技术实现要素:

本发明的目的是提供一种连接数的统计方法及装置,以解决现有技术中对客户发起的请求进行处理过程中存在的反馈速度较慢的问题。

为了实现上述目的,本发明提供如下技术方案:

一种连接数的统计方法,应用于具有多个常规节点及一个管理节点的DNS服务集群中,包括:

定时统计每个所述常规节点当前时刻的连接数;

将统计得到的每个所述常规节点当前时刻的连接数发送至所述管理节点,供所述管理节点实现DNS负载均衡。

优选的,定时统计每个所述常规节点当前时刻的连接数,包括:

定时利用每个所述常规节点自身具有的nf_conntrack_ipv4模块统计其当前时刻的连接数。

优选的,定时利用每个所述常规节点自身具有的nf_conntrack_ipv4模块统计其当前时刻的连接数,包括:

定时利用每个所述常规节点自身具有的nf_conntrack_ipv4模块统计其当前时刻与指定服务对应的连接数。

优选的,将统计得到的每个所述常规节点当前时刻的连接数发送至所述管理节点,包括:

利用每个所述常规节点自身具有的SNMP tarp将统计得到的该常规节点当前时刻的连接数发送至所述管理节点。

优选的,还包括:

如果对任一所述常规节点当前时刻的连接数统计失败或者对当前时刻的连接数发送失败,则发送失败信息至指定管理终端,并返回执行统计对应常规节点当前时刻的连接数的步骤或者返回执行发送对应常规节点当前时刻的连接数的步骤。

一种连接数的统计装置,应用于具有多个常规节点及一个管理节点的DNS服务集群中,包括:

统计模块,用于定时统计每个所述常规节点当前时刻的连接数;

发送模块,用于将统计得到的每个所述常规节点当前时刻的连接数发送至所述管理节点,供所述管理节点实现DNS负载均衡。

优选的,所述统计模块包括:

统计单元,用于定时利用每个所述常规节点自身具有的nf_conntrack_ipv4模块统计其当前时刻的连接数。

优选的,所述统计单元包括:

统计子单元,用于定时利用每个所述常规节点自身具有的nf_conntrack_ipv4模块统计其当前时刻与指定服务对应的连接数。

优选的,所述发送模块包括:

发送单元,用于利用每个所述常规节点自身具有的SNMP tarp将统计得到的该常规节点当前时刻的连接数发送至所述管理节点。

优选的,还包括:

失败反应模块,用于如果对任一所述常规节点当前时刻的连接数统计失败或者对当前时刻的连接数发送失败,则发送失败信息至指定管理终端,并指示所述统计模块执行统计对应常规节点当前时刻的连接数的步骤或者指示所述发送模块执行发送对应常规节点当前时刻的连接数的步骤。

本发明提供的一种连接数的统计方法及装置,应用于具有多个常规节点及一个管理节点的DNS服务集群中,其中该方法包括:定时统计每个所述常规节点当前时刻的连接数;将统计得到的每个所述常规节点当前时刻的连接数发送至所述管理节点,供所述管理节点实现DNS负载均衡。本申请公开的上述技术方案中,定时统计各个常规节点的连接数,并将得到的连接数发送至管理节点,供管理节点基于获取的连接数实现负载均衡;与现有技术相比,本申请公开的技术方案中无需管理节点在接收到客户请求后再去获取各个常规节点的连接数,而是在接收到客户请求时直接由已经获取的距离当前时刻最近的各个常规节点的连接数中选取出最小连接数进而实现DNS负载均衡即可,由此大大缩短了反馈时间,提升了DNS服务集群的性能。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例提供的一种连接数的统计方法的流程图;

图2为本发明实施例提供的一种连接数的统计装置的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图1,其示出了本发明实施例提供的一种连接数的统计方法的流程图,该方法应用于具有多个常规节点及一个管理节点的DNS服务集群中,可以包括:

S11:定时统计每个常规节点当前时刻的连接数。

其中,常规节点即为DNS服务集群中除管理节点之外的其他节点。本申请中的定时具体可以是预先设定一个时间段,然后每经过该时间段则对每个常规节点当前时刻的连接数进行统计,或者是每个常规节点具有对应的时间段,不同常规节点对应的时间段可以相同也可以不同,由此,对于任一常规节点来说,每经过其对应的时间段则对其连接数进行统计。需要说明的是,任一常规节点的连接数即为该常规节点与客户端的连接及与其他节点的连接的总和,具体来说,这种连接可以包括基于TCP的连接及基于UDP的连接,具体可以根据实际需要进行确定,均在本发明的保护范围之内。

S12:将统计得到的每个常规节点当前时刻的连接数发送至管理节点,供管理节点实现DNS负载均衡。

统计得到常规节点的连接数之后,则将该连接数发送至管理节点,由此,当有客户发起请求时,管理节点无需再统计各个常规节点的连接数,而是由获取的距离当前时刻最近的各个常规节点的连接数中直接选取出最小连接数即可实现DNS负载均衡,大大缩短了反馈时间。

本申请公开的上述技术方案中,定时统计各个常规节点的连接数,并将得到的连接数发送至管理节点,供管理节点基于获取的连接数实现负载均衡;与现有技术相比,本申请公开的技术方案中无需管理节点在接收到客户请求后再去获取各个常规节点的连接数,而是在接收到客户请求时直接由已经获取的距离当前时刻最近的各个常规节点的连接数中选取出最小连接数进而实现DNS负载均衡即可,由此大大缩短了反馈时间,提升了DNS服务集群的性能。

本发明实施例提供的一种连接数的统计方法,定时统计每个常规节点当前时刻的连接数,可以包括:

定时利用每个常规节点自身具有的nf_conntrack_ipv4模块统计其当前时刻的连接数。

其中,本申请中各个节点均可以使用linux内核,而现有的linux内核提供了一种统计当前节点下连接数的模块:nf_conntrack和nf_conntrack_ipv4、nf_conntrack_ipv6。其中,nf_conntrack模块为基础模块,在该基础模块的基础上,本申请中利用nf_conntrack_ipv4模块实现对应常规节点连接数的统计,并且可以将统计得到的连接数以共享内存的方式存储至/proc/net/nf_conntrack文件中,进而通过对该文件进行截取,获取到对应的连接数及每个连接对应的源IP和目的IP等。由此,利用linux内核自带的模块快速高效的实现连接数的统计,进一步提升了连接数获取的速度。

本发明实施例提供的一种连接数的统计方法,定时利用每个常规节点自身具有的nf_conntrack_ipv4模块统计其当前时刻的连接数,可以包括:

定时利用每个常规节点自身具有的nf_conntrack_ipv4模块统计其当前时刻与指定服务对应的连接数。

其中,指定服务可以包括nfs、cifs等,具体还根据实际需要进行其他设定,而与指定服务对应的连接数即为在实现指定服务时需要实现的连接的数量。由此,对连接数的统计可以是针对指定服务对应的连接数的统计,由此在需要对指定服务对应连接数进行统计时,可以只对该指定服务对应连接数进行统计,无需对其他服务对应连接数进行统计,大大加快了连接数统计速度。

本发明实施例提供的一种连接数的统计方法,将统计得到的每个常规节点当前时刻的连接数发送至管理节点,可以包括:

利用每个常规节点自身具有的SNMP tarp将统计得到的该常规节点当前时刻的连接数发送至管理节点。

其中,SNMP tarp为现有技术中的某种入口,在此不再赘述;通过该入口能够在统计得到常规节点的连接数后,自动将该连接数发送至管理节点,从而实现信息的实时发送,同时能够提高信息传递的准确性。

本发明实施例提供的一种连接数的统计方法,还可以包括:

如果对任一常规节点当前时刻的连接数统计失败或者对当前时刻的连接数发送失败,则发送失败信息至指定管理终端,并返回执行统计对应常规节点当前时刻的连接数的步骤或者返回执行发送对应常规节点当前时刻的连接数的步骤。

如果对任一常规节点当前时刻的连接数统计失败,则返回执行获取该常规节点的连接数的步骤,如果对任一常规节点当前时刻的连接数发送失败,则返回执行发送该常规节点的连接数的步骤,并且在上述两种失败情况时发送失败信息至指定终端,指定终端为预先设定的与管理人员对应的终端,由此,能够在实现步骤循环以一定程度上保证连接数的获取及发送的顺利实现的同时,通知管理人员当前状况,以便于其作出对应的措施。

另外,管理节点也可以按照上述方式实现其自身连接数的统计,管理节点与常规节点的区别在于管理节点增加了实现DNS负载的均衡功能,而在其接收到客户请求选取出连接数最小的节点时,被选取的节点也包括管理节点自身。

本发明实施例还提供一种连接数的统计装置,应用于具有多个常规节点及一个管理节点的DNS服务集群中,如图2所示,可以包括:

统计模块11,用于定时统计每个常规节点当前时刻的连接数;

发送模块12,用于将统计得到的每个常规节点当前时刻的连接数发送至管理节点,供管理节点实现DNS负载均衡。

需要说明的是,本发明实施例提供的一种连接数的统计装置可以设置在每个常规节点中,也可以单独设置,具体可以根据实际需要进行设定,均在本发明的保护范围之内。

本发明实施例提供的一种连接数的统计装置,统计模块可以包括:

统计单元,用于定时利用每个常规节点自身具有的nf_conntrack_ipv4模块统计其当前时刻的连接数。

本发明实施例提供的一种连接数的统计装置,统计单元可以包括:

统计子单元,用于定时利用每个常规节点自身具有的nf_conntrack_ipv4模块统计其当前时刻与指定服务对应的连接数。

本发明实施例提供的一种连接数的统计装置,发送模块可以包括:

发送单元,用于利用每个常规节点自身具有的SNMP tarp将统计得到的该常规节点当前时刻的连接数发送至管理节点。

本发明实施例提供的一种连接数的统计装置,还可以包括:

失败反应模块,用于如果对任一常规节点当前时刻的连接数统计失败或者对当前时刻的连接数发送失败,则发送失败信息至指定管理终端,并指示统计模块执行统计对应常规节点当前时刻的连接数的步骤或者指示发送模块执行发送对应常规节点当前时刻的连接数的步骤。

本发明实施例提供的一种连接数的统计装置中相关部分的说明请参见本发明实施例提供的一种连接数的统计方法中对应部分的详细说明,在此不再赘述。

对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1