一种基于服务的大规模集群节点的版本检测方法

文档序号:7782647阅读:219来源:国知局
一种基于服务的大规模集群节点的版本检测方法
【专利摘要】本发明公开了一种基于服务的大规模集群节点的版本检测方法,该方法通过在被检测节点部署版本检测代理程序并在后台启动运行来提供服务,该版本检测主要有2类角色:被检测节点和检测客户端,被检测节点发布版本检测服务,检测客户端发起版本检测请求,被检测节点发返回数据,完成一次检测。本发明基于节点进行代理查询版本信息,速度更快,部署简单,同时基于SOAP服务,被动发布,占带宽小。
【专利说明】一种基于服务的大规模集群节点的版本检测方法
【技术领域】
[0001]本发明涉及信息安全【技术领域】,尤其涉及一种基于服务的大规模集群节点的版本检测方法。
【背景技术】
[0002]随着云计算、移动互联网、物联网的崛起与发展,大数据的时代已经来临。大数据安全越来越弓I起人们的重视。
[0003]最常见的大数据安全方法就是版本检测,漏洞扫描,目前的版本检测一般是基于扫描主机端口或者是基于Agent推送的形式,这两种形式都比较浪费网络流量和带宽的。因此,需要找到一种占用带宽小速度快的版本检测方法,以满足当前大数据的需求。

【发明内容】

[0004]本发明的目的是为了克服现有技术的缺陷,提出了一种基于服务的版本检测方法,并能够应用到大规模集群节点上面。
[0005]一种基于服务的大规模集群节点的版本检测方法,该方法通过在被检测节点部署版本检测代理程序并在后台启动运行来提供服务,该版本检测包括被检测节点和检测客户端,被检测节点发布版本检测服务,检测客户端发起版本检测请求,被检测节点发返回数据,完成一次检测,即客户端向服务器端的服务请求版本信息,服务查询到信息,并返回给客户端,具体流程为:
[0006]1)服务接收到客户端发送的检测版本信息的请求;
[0007]2)服务检测是否存在记录文件,如果存在,跳转到3),否则,跳转到4);
[0008]3)服务检测记录文件的更新时间是否超过默认的更新时间,如果是,则脚本查询信息并跳转到6),否则,跳转到7);
[0009]4)脚本查询信息;
[0010]5)创建记录文件,并写入信息,并跳转到8);
[0011]6)更新信息到记录文件,并跳转到8);
[0012]7)读取记录文件,并跳转到8);
[0013]8)返回结果给客户$而;
[0014]9)服务查询结束。
[0015]本发明技术方案带来的有益效果:
[0016]1、基于节点进行代理,速度更快
[0017]在被检测节点上面安装代理,可以最大限度地检测到系统的信息,并且,贴近系统硬件层,速度更快。
[0018]2、基于SOAP服务,被动发布,占带宽小
[0019]在被检测节点上面发布SOAP服务,基于HTTP协议,是被动的,占局域网的带宽很小,基本不会影响局域网用户的使用。[0020]3、部署简单,运行高效
[0021]基于Python脚本实现,Release出来是一个平台无关的可执行文件,部署简单,只需要部署到被检测节点上面,在后台启动运行即可以正常提供服务。Python更贴近系统硬件,运行起来很高效。
[0022]4、支持多语言
[0023]基于SOAP服务,检测端可以使用任何语言编写客户端来接收检测到的版本信息。【专利附图】

【附图说明】
[0024]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
[0025]图1是本发明中客户端与服务器端的服务之间的交互图;
[0026]图2是本发明中在集群模式下版本检测的通信模型图;
[0027]图3是本发明的基于服务的大规模集群节点的版本检测方法流程图。
【具体实施方式】
[0028]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0029]本发明为了解决现有技术中对主机进行版本检测,顺序扫描端口,响应时间过长,导致系统假死,或者检测失败、数据不对的缺点或不足,采用了一种基于服务的大规模集群节点的版本检测方法,从而实现了快速、准确、及时、高效地对集群主机进行版本检测的目的。
[0030]一种基于服务的大规模集群节点的版本检测方法,主要提供如下的版本信息:
[0031]操作系统版本:Linux版本、Windows版本等。
[0032]大数据应用平台版本:Hadoop版本,HBase版本,Hive版本等。
[0033]常用应用软件版本:MySQL版本,MongoDB版本,Tomcat版本等。
[0034]基于服务的大规模集群节点的版本检测需要在被检测节点部署代理,默认部署在“/opt/bdagent” 目录下。然后,在控制台运行 “./VersionDetectService start” 命令,在后台启动代理来提供服务。
[0035]基于服务的大规模集群节点的版本检测,主要有2类角色:被检测节点和检测客户端。
[0036]被检测节点发布版本检测服务,检测客户端发起版本检测请求,被检测节点发返回数据,完成一次检测。
[0037]客户端向服务器端的服务请求版本信息,服务查询到信息,并返回给客户端。客户端与服务器端的服务之间的交互如图1所示。
[0038]在集群模式下,版本检测的通信模型如图2所示,可以计算得出来,假设客户端与服务一次交互的时间为单位时间n,则N个节点的时间复杂度为O(Nn)。
[0039]因此,对客户端与服务一次交互的单位时间η进行优化,能够加快版本检测的响
应速度。
[0040]在服务器中,服务基于Python等脚本语言建立并提供SOAP服务,是高性能和轻量级的SOAP服务提供者。同时,版本检测的逻辑处理,也是基于Python等脚本语言,拥有更快的响应速度和性能,仅次于C/C++语言。
[0041]基于服务的大规模集群节点的版本检测方法的流程如图3所示,具体步骤为:
[0042]1)服务接收到客户端发送的检测版本信息的请求;
[0043]2)服务检测是否存在记录文件,如果存在,跳转到3),否则,跳转到4);
[0044]3)服务检测记录文件的更新时间是否超过默认的更新时间,如果是,则脚本查询信息并跳转到6),否则,跳转到7);
[0045]4)脚本查询信息;
[0046]5)创建记录文件,并写入信息,并跳转到8);
[0047]6)更新信息到记录文件,并跳转到8);
[0048]7)读取记录文件,并跳转到8);
[0049]8)返回结果给客户端;
[0050]9)服务查询结束。
[0051]为了防止服务长时间无响应,在服务端加入了超时时间,假如一次查询超过默认的超时时间,则该次查询失败,取消查询线程,返回失败信息给客户端。
[0052]以上对本发明实施例所提供的一种基于服务的大规模集群节点的版本检测方法进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在【具体实施方式】及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
【权利要求】
1.一种基于服务的大规模集群节点的版本检测方法,其特征在于,该方法通过在被检测节点部署版本检测代理程序并在后台启动运行来提供服务,该版本检测包括被检测节点和检测客户端,被检测节点发布版本检测服务,检测客户端发起版本检测请求,被检测节点发返回数据,完成一次检测,即客户端向服务器端的服务请求版本信息,服务查询到信息,并返回给客户端,具体流程为:1)服务接收到客户端发送的检测版本信息的请求;2)服务检测是否存在记录文件,如果存在,跳转到3),否则,跳转到4);3)服务检测记录文件的更新时间是否超过默认的更新时间,如果是,则脚本查询信息并跳转到6),否则,跳转到7);4)脚本查询信息;5)创建记录文件,并写入信息,并跳转到8);6)更新信息到记录文件,并跳转到8);7)读取记录文件,并跳转到8);8)返回结果给客户端;9)服务查询结束。
2.根据权利要求1所述的方法,其特征在于,为了防止服务长时间无响应,在服务端加入了超时时间,假如一次查询超过默认的超时时间,则该次查询失败,取消查询线程,返回失败信息给客户端。
3.根据权利要求1所述的方法,其特征在于,在服务器中,服务基于Python脚本语言建立并提供SOAP服务,是高性能和轻量级的SOAP服务提供者,同时,版本检测的逻辑处理,也是基于Python脚本语目,拥有更快的响应速度和性能,仅次于C/C++语g。
4.根据权利要求1所述的方法,其特征在于,对客户端与服务一次交互的单位时间进行优化,能够加快版本检测的响应速度。
5.根据权利要求1所述的方法,其特征在于,该方法提供以下的版本信息:操作系统版本包括Linux版本、Windows版本;大数据应用平台版本包括Hadoop版本、HBase版本、Hive版本;常用应用软件版本包括MySQL版本、MongoDB版本、Tomcat版本。
【文档编号】H04L29/08GK103677850SQ201310739959
【公开日】2014年3月26日 申请日期:2013年12月26日 优先权日:2013年12月26日
【发明者】柯宗贵, 杨育斌, 赵必厦 申请人:蓝盾信息安全技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1