服务器信息的存储和提取方法及系统、提取装置与流程

文档序号:12906190阅读:363来源:国知局
服务器信息的存储和提取方法及系统、提取装置与流程

本发明涉及数据处理技术领域,特别是涉及一种服务器信息的存储和提取方法及系统、提取装置。



背景技术:

在互联网环境运维时,互联网的服务器很多,经常遇到要操作大量服务器的场景的时候,需要去按照一定的条件去搜索,针对哪些网络进行操作,例如:针对某个网段的服务器或某个操作系统版本的服务器进行操作。因此,如何有效便捷地提取出需要操作的服务器信息,成为海量运维场景下碰到的日常问题。

目前,传统的提取服务器信息的方式是先将服务器信息维护在一个数据库表中,基于表字段做服务器信息的查询,但是通过表字段进行查询带来以下几个问题:数据库中数据无法实时获取更新,导致服务器信息不准确;数据库表结构比较固定,无法动态扩展所需的服务器信息;没有语义丰富的api(applicationprogramminginterface,应用程序编程接口)查询方式供其他客户端对接。



技术实现要素:

本发明的目的在于提出一种服务器信息的存储和提取方法及系统、提取装置,以解决上述现有技术中的技术问题。

为达到上述目的,本发明提供了以下技术方案:

一种服务器信息的存储方法,包括:

按照预设脚本和预设时间间隔从服务器上收集服务器信息,所述服务器信息包括预先定义的基础服务器信息和/或自定义服务器信息,所述自定义服务器信息为用户根据需求添加的应用程序对应的服务器信息;

将所述服务器信息发送至服务器信息存储数据库进行存储,所述服务器信息按照预设存储格式进行存储。

其中,所述将所述服务器信息发送至服务器信息存储数据库进行存储,具体为:

通过推送的方式将所述服务器信息发送至服务器信息存储数据库进行存储。

其中,所述预先定义的基础服务器信息包括:操作系统版本、处理器cpu核数、内存大小以及磁盘大小。

其中,所述预设存储格式为键值格式,所述预设存储格式的键为服务器名称,所述预设存储格式的值为所述服务器信息的json字符串。

一种服务器信息的存储系统,包括:

收集单元,用于按照预设脚本和预设时间间隔从服务器上收集服务器信息,所述服务器信息包括预先定义的基础服务器信息和/或自定义服务器信息,所述自定义服务器信息为用户根据需求添加的应用程序对应的服务器信息;

存储单元,用于将所述服务器信息发送至服务器信息存储数据库进行存储,所述服务器信息按照预设存储格式进行存储。

其中,所述存储单元用于通过推送的方式将所述服务器信息发送至服务器信息存储数据库进行存储。

一种服务器信息的提取方法,应用于提取所述服务器信息存储数据库中的服务器信息,该方法包括:

接收提取服务器信息的dsl查询语句;

将所述dsl查询语句转化为查询所述服务器信息存储数据库的服务器信息查询语句;

根据所述服务器信息查询语句提取对应的服务器信息。

一种服务器信息的提取系统,应用于提取所述服务器信息存储数据库中的服务器信息,该系统包括:

接收单元,用于接收提取服务器信息的dsl查询语句;

转换单元,用于将所述dsl查询语句转化为查询所述服务器信息存储数据库的服务器信息查询语句;

提取单元,用于根据所述服务器信息查询语句提取对应的服务器信息。

一种服务器信息的提取装置,包括:服务器信息数据库、网络服务端以及多个收集器,其中:

所述多个收集器按照预设脚本和预设时间间隔从各服务器上收集服务器数据信息,并通过推送的方式将所述服务器信息发送给所述服务器信息存储数据库;

所述服务器信息存储数据库按照预设的存储格式将所述服务器信息进行存储;

所述网络服务端为用户提供应用程序接口和查询引擎,用于对所述服务器信息存储数据库中的所述服务器信息进行提取。

其中,所述服务器信息存储数据库为文档数据库mongodb。

其中,所述应用程序接口为http接口。

经由上述的技术方案可知,与现有技术相比,本发明公开了一种服务器信息的存储和提取方法及系统、提取装置,其中服务器信息的存储方法及系统,通过定时从服务器收集信息,并统一发送给服务器信息存储数据库,统一发送可优化收集器投递数据的性能,收集器执行预先定义的脚本收集服务器的基础信息,且用户也可以创建自定义脚本收集信息,且收集器为自定义脚本提供撰写规范,按照规范撰写的脚本可以被自动发现并收集、发送数据到服务器信息存储数据库,实现服务器信息的实时更新获取,数据更加准确。本发明提供的服务器信息存储数据库的表结构是通过键值形式实现的,所以服务器信息可自由扩展,且添加新的自定义标签不需要更改表结构。

附图说明

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

图1为本发明实施例提供的一种服务器信息的存储方法流程示意图;

图2为本发明实施例提供的一种服务器信息的存储系统结构示意图;

图3为本发明实施例提供的一种服务器信息的提取方法流程示意图;

图4为本发明实施例提供的一种服务器信息的提取系统结构示意图;

图5为本发明实施例提供的一种服务器信息的提取装置的结构示意图。

具体实施方式

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

在互联网环境运维时,经常遇到要操作大量服务器的场景。如何有效便捷地提取出需要操作的服务器信息,成为海量运维场景下碰到的日常问题。

在传统的方式将服务器信息维护在一个数据库表中,基于表字段做查询。其中三个主要问题,也是本专利要解决的问题:数据库中数据无法实时获取更新,可能不准确;数据库表结构比较固定,无法动态扩展所需的服务器信息;没有语义丰富的api查询方式供其他客户端对接(比如脚本)。

请参阅附图1,图1为本发明实施例提供的一种服务器信息的存储方法流程示意图。如图1所示,本发明公开了一种服务器信息的存储方法,该方法具体包括如下步骤:

s101、按照预设脚本和预设时间间隔从服务器上收集服务器信息,服务器信息包括预先定义的基础服务器信息和/或自定义服务器信息,自定义服务器信息为用户根据需求添加的应用程序对应的服务器信息。

其中,预先定义的基础服务器信息包括:操作系统版本、处理器cpu核数、内存大小以及磁盘大小等。自定义服务器信息为用户根据需求添加的应用程序对应的服务器信息。

通过安装在服务器中的收集器收集服务器信息,例如:os版本,cpu核数,内存大小等。该收集器会收集预先定义好的服务器基础信息,用户也可以根据自己的需求添加自定义信息,通过推送的方式发送本服务器信息。

具体的,收集器为服务器上的一个后台运行程序,定时从服务器收集服务器信息,并统一发送给服务器信息存储数据库,统一发送可优化收集器投递数据的性能。收集器与网络服务间有心跳机制保证其可用性,当网络服务发现收集器无响应时,可报警提醒管理员进行处理。收集器执行预先定义的脚本收集服务器的基础信息,包括操作系统、cpu核数、内存大小、磁盘大小等。用户也可以创建自定义脚本收集信息,且收集器为自定义脚本提供撰写规范,按照规范撰写的脚本可以被自动发现并收集、发送数据到服务器信息存储数据库。

s102、将服务器信息发送至服务器信息存储数据库进行存储,服务器信息按照预设存储格式进行存储。

其中,将服务器信息发送至服务器信息存储数据库进行存储,具体为:

通过推送的方式将服务器信息发送至服务器信息存储数据库进行存储。

其中,预设存储格式为键值格式,预设存储格式的键为服务器名称,预设存储格式的值为服务器信息的json字符串。

服务器信息存储数据库存储了从收集器接收的服务器信息,包括预先定义的基础服务器信息及自定义服务器信息。服务器信息存储数据库只为每台服务器存储其最新的投递的信息,用于筛选查询。服务器信息存储数据库存储使用文档数据库mongodb,方便扩展收集的信息,并提供快速灵活的查询接口。

具体的,服务器信息存储数据库存储的键为服务器名称,值为包含服务器信息的json字符串,如:host001:{“cpu”:4,“memory”;1024,“os”:“centos6”,“software1.version”:“3.0”},其中:host001为键,表示服务器的名称;cpu,memory,os为预定义信息,收集器会自动收集。software1.version为自定义信息,可通过在收集器中添加插件的方式额外收集,由于mongodb数据的值为无预定义结构的json字符串,故可灵活扩展。通过键值key-value方式给服务器打上服务器信息的标签。因为是键值的形式,所以服务器信息可自由扩展,添加新的自定义标签不需要更改表结构。

本发明在上述公开的方法的基础上,还公开了一种服务器信息存储系统。

请参阅附图2,图2为本发明实施例提供的一种服务器信息的存储系统结构示意图。如图2所示,本发明公开了一种服务器信息的存储系统,该系统结构包括如下:

收集单元201,用于按照预设脚本和预设时间间隔从服务器上收集服务器信息,服务器信息包括预先定义的基础服务器信息和/或自定义服务器信息,自定义服务器信息为用户根据需求添加的应用程序对应的服务器信息;

存储单元202,用于将服务器信息发送至服务器信息存储数据库进行存储,服务器信息按照预设存储格式进行存储。

其中,存储单元用于通过推送的方式将服务器信息发送至服务器信息存储数据库进行存储。

本发明公开了一种服务器信息的存储方法及系统,通过定时从服务器收集信息,并统一发送给服务器信息存储数据库,统一发送可优化收集器投递数据的性能。收集器执行预先定义的脚本收集服务器的基础信息,且用户也可以创建自定义脚本收集信息,且收集器为自定义脚本提供撰写规范,按照规范撰写的脚本可以被自动发现并收集、发送数据到服务器信息存储数据库,实现服务器信息的实时更新获取,数据更加准确;本发明提供的服务器信息存储数据库的表结构是通过键值形式实现的,所以服务器信息可自由扩展,且添加新的自定义标签不需要更改表结构。

在上述公开的服务器信息的存储方法及系统的基础上,还公开了一种服务器信息的提取方法及系统。

请参阅附图3,图3为本发明实施例提供的一种服务器信息的提取方法流程示意图。如图3所示,本发明公开了一种服务器信息的提取方法,其应用于提取服务器信息存储数据库中的服务器信息,该方法具体包括如下步骤:

s301、接收提取服务器信息的dsl(digitalsubscriberline,数字用户线路)查询语句。

s302、将dsl查询语句转化为查询服务器信息存储数据库的服务器信息查询语句。

s303、根据服务器信息查询语句提取对应的服务器信息。

本实施例提供的服务器信息的提取方法,应用于提取服务器信息存储数据库中的服务器信息,在接收到提取服务器信息的dsl查询语句后,先将dsl查询语句转化为查询服务器信息存储数据库的服务器信息查询语句,然后根据服务器信息查询语句提取对应的服务器信息。预先接收的用户查询语句为dsl查询语句,该查询语句对初级用户较为友善,方便编写,但不能直接用于mongodb的查询,因此,需要先将dsl查询语句进行转换,转换为mongodb的查询语句,实现服务器信息的查询提取。

本发明在上述公开的服务器信息的提取方法的基础上,还公开了一种服务器信息的提取系统。

请参阅附图4,图4为本发明实施例提供的一种服务器信息的提取系统结构示意图。如图4所示,本发明公开了一种服务器信息的提取系统,其应用于提取服务器信息存储数据库中的服务器信息,该系统具体包括如下结构:

接收单元401,用于接收提取服务器信息的dsl查询语句;

转换单元402,用于将dsl查询语句转化为查询服务器信息存储数据库的服务器信息查询语句;

提取单元403,用于根据服务器信息查询语句提取对应的服务器信息。

综上,本实施例提供的服务器信息的提取方法及系统,应用于提取服务器信息存储数据库中的服务器信息,在接收到提取服务器信息的dsl查询语句后,先将dsl查询语句转化为查询服务器信息存储数据库的服务器信息查询语句,然后根据服务器信息查询语句提取对应的服务器信息。预先接收的用户查询语句为dsl查询语句,该查询语句对初级用户较为友善,方便编写,但不能直接用于mongodb的查询,因此,需要先将dsl查询语句进行转换,转换为mongodb的查询语句,实现服务器信息的查询提取。

本发明还公开了一种服务器信息的提取装置,用于实现上述服务器信息的存储以及提取。

请参阅附图5,图5为本发明实施例提供的一种服务器信息的提取装置结构示意图。如图5所示,本发明公开了一种服务器信息的提取装置,该提取装置具体包括:服务器信息存储数据库、网络服务端以及多个收集器,其中:

多个收集器按照预设脚本和预设时间间隔从各服务器上收集服务器信息,并通过推送的方式将服务器信息发送给服务器信息存储数据库;

服务器信息存储数据库按照预设的存储格式将服务器信息进行存储;

网络服务端为用户提供应用程序接口和查询引擎,用于对服务器信息存储数据库中的服务器信息进行提取。

具体的,查询引擎将预先定义好的查询语句转换成mongodb的查询语句,返回获取对应的服务器信息。预先定义好的查询语句为领域定义语言dsl,该查询语句对初级用户较为友善,方便编写,但不能直接用于mongodb的查询。该查询引擎将面向用户的dsl查询语句转换为mongodb的查询语句,如后续由于扩展性、性能等未知原因需要替换服务器信息存储数据库的存储,则只需要更改查询引擎。

应用程序接口向用户暴露了查询引擎,该接口为http接口。外部调用时传入dsl查询语句,接口返回符合查询条件的服务器信息。由于查询引擎会转换dsl到mongodb的查询语句,应用程序接口只负责传递参数并返回查询结果。

本实施例提供的一种服务器信息的提取装置中,收集器是服务器上的一个后台运行程序,定时从服务器收集信息,并统一发送给服务器信息存储数据库。统一发送可优化收集器投递数据的性能。收集器与网络服务间有心跳机制保证其可用性,当网络服务发现收集器无响应时,可报警提醒管理员进行处理。服务器信息存储数据库存储了从收集器接收的服务器信息,包括预先定义的基础信息及自定义信息。服务器信息存储数据库只为每台服务器存储其最新的投递的信息,用于筛选查询,且服务器信息存储数据库存储使用文档数据库mongodb,方便扩展收集的信息,并提供快速灵活的查询接口。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括上述要素的物品或者设备中还存在另外的相同要素。

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

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