一种控制虚拟机连接数的方法及装置制造方法及图纸

技术编号:14065922 阅读:81 留言:0更新日期:2016-11-28 11:45
本发明专利技术公开了一种控制虚拟机连接数的方法及装置,其中该方法包括:获取接收或发送的数据报文的互联网协议IP地址;若根据IP地址确定出该数据报文属于服务器上的虚拟机,则获取警示标识;当警示标识指示虚拟机当前连接跟踪数目未超过所能拥有的连接跟踪数目时,允许虚拟机建立连接跟踪。本发明专利技术实施例在进入连接跟踪模块前,按照虚拟机所能拥有的连接跟踪数目来决定是否允许虚拟机建立连接跟踪,可合理的分配服务器的连接跟踪数目和限制每个虚拟机的连接数,同时,相对于在服务器的系统内核里实现一套基于五元组对数据报文建立连接跟踪机制的方式,避免了代码冗余的问题,且提高了服务器性能。

【技术实现步骤摘要】

本专利技术属于通信
,尤其涉及一种控制虚拟机连接数的方法及装置
技术介绍
虚拟机(VM,Virtual Machine),是指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。用户在通过技术远程访问技术(RDP,Remote Desktop Protocol)访问服务器时,通常是输入远程虚拟机的互联网协议(IP,Internet Protocol)地址,若验证通过则可连接虚拟机,同时需要对虚拟机的连接跟踪数量进行限制。目前方案中,通过在虚拟机所在服务器的系统内核里实现一套基于五元组对数据报文建立连接跟踪的机制,以便用于监控和统计每个虚拟机的IP的连接个数,进一步限制每个虚拟机的连接数量,实现了抵御分布式拒绝服务攻击(DDOS,Distributed Denial of Service)等。在对现有技术的研究和实践过程中,本专利技术的专利技术人发现,由于服务器的系统内核里本身已实现了一套连接跟踪的机制,再去实现一套会导致代码冗余,代码多难维护,对服务器的性能造成损耗的问题。
技术实现思路
本专利技术的目的在于提供一种控制虚拟机连接数的方法及装置,旨在提高网络资源的排重准确率以及召回率。为解决上述技术问题,本专利技术实施例提供以下技术方案:一种控制虚拟机连接数的方法,其中包括:获取接收或发送的数据报文的互联网协议IP地址;若根据所述IP地址确定出该数据报文属于服务器上的虚拟机,则获取警示标识;当所述警示标识指示虚拟机当前连接跟踪数目未超过所能拥有的连接跟踪数目时,允许虚拟机建立连接跟踪。为解决上述技术问题,本专利技术实施例还提供以下技术方案:一种控制虚拟机连接数的装置,其中包括:第一获取模块,用于获取接收或发送的数据报文的互联网协议IP地址;第二获取模块,用于若根据所述IP地址确定出该数据报文属于服务器上的虚拟机,则获取警示标识;允许连接模块,用于当所述警示标识指示虚拟机当前连接跟踪数目未超过所能拥有的连接跟踪数目时,允许虚拟机建立连接跟踪。相对于现有技术,本实施例,服务器根据数据报文的IP地址,当确定出该数据报文属于服务器上的虚拟机时,获取用于指示虚拟机当前连接跟踪数目是否超过所能拥有的连接跟踪数目的警示标识,若是,则允许虚拟机建立连接跟踪;本专利技术实施例在进入连接跟踪模块前,按照虚拟机所能拥有的连接跟踪数目来决定是否允许虚拟机建立连接跟踪,可合理的分配服务器的连接跟踪数目和限制每个虚拟机的连接数,同时,相对于在服务器的系统内核里实现一套基于五元组对数据报文建立连接跟踪机制的方式,避免了代码冗余的问题,且提高了服务器性能。附图说明下面结合附图,通过对本专利技术的具体实施方式详细描述,将使本专利技术的技术方案及其它有益效果显而易见。图1是本专利技术第一实施例提供的控制虚拟机连接数的方法的流程示意图;图2a和图2b为本专利技术第二实施例提供的控制虚拟机连接数的方法的流程示意图;图3为本专利技术第三实施例提供的控制虚拟机连接数的装置的结构示意图;图4为本专利技术第四实施例提供的控制虚拟机连接数的装置的结构示意图;图5为本专利技术第五实施例提供的服务器的结构示意图。具体实施方式请参照图式,其中相同的组件符号代表相同的组件,本专利技术的原理是以实施在一适当的运算环境中来举例说明。以下的说明是基于所例示的本专利技术具体实施例,其不应被视为限制本专利技术未在此详述的其它具体实施例。在以下的说明中,本专利技术的具体实施例将参考由一部或多部计算机所执行的步骤及符号来说明,除非另有述明。因此,这些步骤及操作将有数次提到由计算机执行,本文所指的计算机执行包括了由代表了以一结构化型式中的数据的电子信号的计算机处理单元的操作。此操作转换该数据或将其维持在该计算机的内存系统中的位置处,其可重新配置或另外以本领域测试人员所熟知的方式来改变该计算机的运作。该数据所维持的数据结构为该内存的实体位置,其具有由该数据格式所定义的特定特性。但是,本专利技术原理以上述文字来说明,其并不代表为一种限制,本领域测试人员将可了解到以下所述的多种步骤及操作亦可实施在硬件当中。本文所使用的术语「模块」可看做为在该运算系统上执行的软件对象。本文所述的不同组件、模块、引擎及服务可看做为在该运算系统上的实施对象。而本文所述的装置及方法优选的以软件的方式进行实施,当然也可在硬件上进行实施,均在本专利技术保护范围之内。第一实施例请参阅图1,图1是本专利技术第一实施例提供的控制虚拟机连接数的方法的流程示意图。所述方法包括:在步骤S101中,获取接收或发送的数据报文的互联网协议IP地址。在步骤S102中,若根据所述IP地址确定出该数据报文属于服务器上的虚拟机,则获取警示标识。其中,所述步骤S101与步骤S102可具体为:所述控制虚拟机连接数的方法可基于一终端服务器上运行,服务器根据数据报文的IP地址,当确定出该数据报文属于服务器上的虚拟机时,获取用于指示虚拟机当前连接跟踪数目是否超过所能拥有的连接跟踪数目的警示标识,若是,则允许虚拟机建立连接跟踪。可以理解的是,在服务器接收或发送的数据报文时,会携带服务器上的虚拟机的IP地址。在确认是数据报文属于服务器上的虚拟机时,获取一警示标识,所述警示标识可预先设置在服务器中,用于指示虚拟机当前连接跟踪数目是否超过所能拥有的连接跟踪数目。在步骤S103中,当所述警示标识指示虚拟机当前连接跟踪数目未超过所能拥有的连接跟踪数目时,允许虚拟机建立连接跟踪。可以理解的是,每个虚拟机所能拥有的连接跟踪数目也是预先设置在服务器中,按照虚拟机所能拥有的连接跟踪数目来决定是否允许虚拟机建立连接跟踪,即在进入连接跟踪模块前控制连接是否建立,可合理的分配服务器的连接跟踪数目和限制每个虚拟机的连接数,此处对虚拟机所能拥有的连接跟踪数目的设置不作具体限定。可选的,在某些实施方式中,所述警示标识可具体为一标识位,如当确定出虚拟机当前连接跟踪数目未超过所能拥有的连接跟踪数目时,该标识位默认为“0”,当确定出虚拟机当前连接跟踪数目超过所能拥有的连接跟踪数目时,该标识位默认为“1”;在某些实施方式中,所述警示标识也可具体为一反馈消息等。容易想到的是,在允许虚拟机建立连接跟踪后,根据服务器系统内核的基于五元组连接跟踪机制,即根据源IP地址,源端口,目的IP地址,目的端口和传输层协议在内核连接跟踪模块中进行连接跟踪。由上述可知,本实施例提供的控制虚拟机连接数的方法,服务器根据数据报文的IP地址,当确定出该数据报文属于服务器上的虚拟机时,获取用于指示虚拟机当前连接跟踪数目是否超过所能拥有的连接跟踪数目的警示标识,若是,则允许虚拟机建立连接跟踪;本专利技术实施例,在进入连接跟踪模块前,按照虚拟机所能拥有的连接跟踪数目来决定是否允许虚拟机建立连接跟踪,可合理的分配服务器的连接跟踪数目和限制每个虚拟机的连接数,同时,相对于在服务器的系统内核里实现一套基于五元组对数据报文建立连接跟踪机制的方式,避免了代码冗余的问题,且提高了服务器性能。第二实施例请参阅图2a,图2a为本专利技术第二实施例提供的控制虚拟机连接数的方法的流程示意图。其中,所述控制虚拟机连接数的方法基于一终端服务器上运行,服务器根据数据报文的IP地址,当确定出该数据报文属于服务器上的虚拟机时,获取用于指示虚拟机当前连接跟踪数目是否超过所能拥有的连接跟踪数本文档来自技高网...
一种控制虚拟机连接数的方法及装置

【技术保护点】
一种控制虚拟机连接数的方法,其特征在于,包括:获取接收或发送的数据报文的互联网协议IP地址;若根据所述IP地址确定出该数据报文属于服务器上的虚拟机,则获取警示标识;当所述警示标识指示虚拟机当前连接跟踪数目未超过所能拥有的连接跟踪数目时,允许虚拟机建立连接跟踪。

【技术特征摘要】
1.一种控制虚拟机连接数的方法,其特征在于,包括:获取接收或发送的数据报文的互联网协议IP地址;若根据所述IP地址确定出该数据报文属于服务器上的虚拟机,则获取警示标识;当所述警示标识指示虚拟机当前连接跟踪数目未超过所能拥有的连接跟踪数目时,允许虚拟机建立连接跟踪。2.根据权利要求1所述的控制虚拟机连接数的方法,其特征在于,所述获取警示标识之后,还包括:当所述警示标识指示虚拟机当前连接跟踪数目超过所能拥有的连接跟踪数目时,对相应的数据报文做丢包处理。3.根据权利要求1所述的控制虚拟机连接数的方法,其特征在于,获取接收或发送的数据报文的互联网协议IP地址之前,还包括:当确定服务器上任一虚拟机创建成功时,获取所述虚拟机的中央处理器CPU的个数;按照所述虚拟机的CPU的个数,计算对应的虚拟机所能拥有的连接跟踪数目;初始化虚拟机当前的连接跟踪数目,并设置一警示标识,用于指示虚拟机当前连接跟踪数目是否超过所述所能拥有的连接跟踪数目。4.根据权利要求3所述的控制虚拟机连接数的方法,其特征在于,所述按照所述虚拟机的CPU的个数,计算对应的虚拟机所能拥有的连接跟踪数目之前,还包括:获取可供虚拟机使用的连接跟踪总数;获取服务器本身的CPU的个数;根据所述连接跟踪总数以及服务器本身的CPU的个数,确定平均连接跟踪
\t数;则所述按照所述虚拟机的CPU的个数,计算对应的虚拟机所能拥有的连接跟踪数目,包括:按照所述虚拟机的CPU的个数以及所述平均连接跟踪数,计算对应的虚拟机所能拥有的连接跟踪数目。5.根据权利要求1至4任一项所述的控制虚拟机连接数的方法,其特征在于,所述允许虚拟机建立连接跟踪之后,还包括:若根据数据报文的IP地址确定出该数据报文属于服务器上的虚拟机,且该连接为新连接,则相应的增加该虚拟机当前连接跟踪数目;对虚拟机当前连接跟踪数目进行更新统计。6.根据权利要求5所述的控制虚拟机连接数的方法,其特征在于,所述对虚拟机当前连接跟踪数目进行更新统计之后,还包括:若更新后的虚拟机当前连接跟踪数目超过所能拥有的连接跟踪数目,则重新设置所述警示标识,以使所述警示标识指示虚拟机当前连接跟踪数目超过所述所能拥有的连接跟踪数目。7.根据权利要求5所述的控制虚拟机连接数的方法,其特征在于,所述方法还包括:若确定虚拟机连接跟踪释放,则相应的减少该虚拟机当前连接跟踪数目;对虚拟机当前连接跟踪数目进行更新统计;若更新后的虚拟机当前连接跟踪数目未超过所能拥有的连接跟踪数目,则重新设置所述警示标识,以使所述警示标识指示虚拟机当前连接跟踪数目位超过所述所能拥有...

【专利技术属性】
技术研发人员:何冠森
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1