CMDB水平发现方法、系统、设备及介质
文献发布时间:2023-06-19 12:02:28
技术领域
本发明涉及CMDB数据库技术领域,特别是涉及一种CMDB水平发现方法、系统、设备及介质。
背景技术
CMDB是将企业IT资产数字化存储的数据库,其中存储着企业内海量的硬件、软件、应用等资产信息,这些信息作为底层的基石支撑着其他运维系统共同保障企业业务的连续性、健康性,重要性不言而喻。因此,CMDB中这些信息的准确性、一致性是需要强保障的。
目前,企业内的配置管理团队面对这些信息的维护操作,针对硬件类的设备,如硬件服务器等,往往是需要去机房中找到对应机柜里的这台机器,通过看铭牌、维保单等把相关信息录入到Excel中再导入CMDB进行数据存储更新;针对软件类的,如数据库、中间件等,往往是自己通过网络协议连接上相关对象进行详细信息的查看并记录在Excel中,之后统一导入CMDB中进行数据存储更新。这样的工作不仅复杂重复,而且无法有效的保障CMDB中相关数据的准确性、及时性、一致性。
现有技术面临的主要问题总结如下:
1、CMDB中存储的IT资源信息是海量级的,数据获取和更新的时间成本高、效率低。
2、部分资产设备信息(如小众品牌的存储设备等)无法使用通用的方法(线下查看、记录复核)获取到最新的设备信息,往往需要联系原厂商,数据获取难度大。
3、对于获取到的设备信息进行手动记录存在风险,原始数据准确性难以保障。
4、获取到的信息无法天然对接CMDB,转录成本高。
5、人工维护周期性较长,CMDB数据的实时性较差。
6、数据录入难以审核,风险回溯难度高。
因此,需要一种支持扩展、能够周期性自动发现软硬件资产信息并录入CMDB的技术来解决企业CMDB数据维护难、准确性差的问题。
发明内容
基于此,本发明的目的在于,提供一种支持扩展、能够周期性自动发现软硬件资产信息并录入CMDB的CMDB水平发现方法、系统、设备及介质。
第一方面,本发明提供一种CMDB水平发现方法,包括:
下发数据采集脚本到目标对象服务器运行,执行脚本获取结果数据;
使用通用网络协议连接目标对象,采集详细信息的原始数据;
对原始数据进行数据清洗,得到CMDB可识别的标准格式数据;
将标准格式数据进行调和,得到调和数据;
调取CMDB的数据回写接口,把调和数据回写到CMDB中。
上述技术方案在一种实施方式中,所述下发数据采集脚本到目标对象服务器运行,执行脚本获取结果数据,包括:通过安装在服务器上的agent下发数据采集脚本到目标对象服务器运行,并传递凭据信息获取入口认证,执行脚本获取结果数据。
上述技术方案在一种实施方式中,所述使用通用网络协议连接目标对象,采集详细信息的原始数据,包括:
通过使用通用网络协议连接到目标对象,并传递凭据信息获取认证,进行详细信息的原始数据采集;
通过调取对接系统的API接口,获取到API接口返回的详细信息的原始数据。
上述技术方案在一种实施方式中,所述对原始数据进行数据清洗,得到CMDB可识别的标准格式数据,包括:
根据执行脚本获取的结果数据对应于CMDB中的对象,得到映射关系;
根据映射关系和CMDB中的对象,将采集的详细信息的原始数据进行转换,得到CMDB可识别的标准格式数据。
上述技术方案在一种实施方式中,所述将标准格式数据进行调和,得到调和数据,包括:将标准格式数据与CMDB中的现有数据进行对比,获取两部分数据的差异,得到调和数据。
上述技术方案在一种实施方式中,所述将标准格式数据与CMDB中的现有数据进行对比,包括:通过API接口获取CMDB中的现有数据,通过脚本将CMDB中的现有数据与标准格式数据进行对比。
上述技术方案在一种实施方式中,所述原始数据为JSON格式的key-value数据;
所述标准格式数据为key-value字典。
第二方面,本发明提供一种CMDB水平发现系统,包括:
数据采集模块,配置用于下发数据采集脚本到目标对象服务器运行,执行脚本获取结果数据;以及配置用于使用通用网络协议连接目标对象,采集详细信息的原始数据;
数据清洗模块,配置用于对原始数据进行数据清洗,得到CMDB可识别的标准格式数据;
数据调和模块,配置用于将标准格式数据进行调和,得到调和数据;
数据同步模块,配置用于调取CMDB的数据回写接口,把调和数据回写到CMDB中。
第三方面,本发明还提供一种CMDB水平发现设备,包括:
存储器,用于存储一个或多个程序;
处理器,用于运行所述存储器中存储的所述程序,以实现如上述任一项所述的CMDB水平发现方法。
第四方面,本发明还提供一种计算机可读存储介质,其存储有至少一个程序,当所述程序被处理器执行时,实现如上述任一项所述的CMDB水平发现方法。
相对于现有技术,本发明的CMDB水平发现方法、系统、设备及介质的有益效果:
1、通过自动化脚本和网络协议的方式获取企业IT资产详细数据,单对象采集速度为秒级,解决面对海量资产人工维护时成本高、效率低的问题。
2、通过数据采集的三种技术实现方式:脚本、网络协议、API,解决人工获取资产数据时方法单一、难度大、时效性低的问题。
3、通过数据清洗,将获取的原始数据自动转换为CMDB可识别的标准格式数据,解决获取资产数据后需要人工转换复杂数据格式的问题。
4、通过数据同步,将转换后的信息自动录入到CMDB中,解决人工录入成本高、风险高、难回溯的问题。
为了更好地理解和实施,下面结合附图详细说明本发明。
附图说明
图1是本发明的CMDB水平发现方法的示意流程框图。
图2是本发明的CMDB水平发现系统的连接框图。
具体实施方式
在本说明书中提到或者可能提到的上、下、左、右、前、后、正面、背面、顶部、底部等方位用语是相对于其构造进行定义的,它们是相对的概念。因此,有可能会根据其所处不同位置、不同使用状态而进行相应地变化。所以,也不应当将这些或者其他的方位用语解释为限制性用语。
以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的方法的例子。
在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
请参阅图1,图1是本发明的CMDB水平发现方法的示意流程框图。
第一方面,本发明提供一种CMDB水平发现方法,包括:
S1.数据采集:
下发数据采集脚本到目标对象服务器运行,执行脚本获取结果数据;
使用通用网络协议连接目标对象,采集详细信息的原始数据。
具体地,上述S1中,所述下发数据采集脚本到目标对象服务器运行,执行脚本获取结果数据,包括:通过安装在服务器上的agent下发数据采集脚本到目标对象服务器运行,并传递凭据信息获取入口认证,执行脚本获取结果数据。
目前,支持shell、bat、powershell等类型的脚本。
所述使用通用网络协议连接目标对象,采集详细信息的原始数据,包括:
通过使用通用网络协议连接到目标对象,并传递凭据信息获取认证,进行详细信息的原始数据采集;
以及通过调取对接系统的API接口,获取到API接口返回的详细信息的原始数据。
若目标对象为网络设备等硬件设备,需要设备本身开启相关协议。目前支持LLDP、CDP、ACMP、SNMP、SSH、SFTP、WMIC、WINRM等协议,且目前市场上主流API接口均可支持。
所述原始数据为JSON格式的key-value数据。由于原始数据为JSON格式的key-value数据,无法直接录入CMDB,故需要对原始数据进行清洗。
S2.数据清洗:
对原始数据进行数据清洗,得到CMDB可识别的标准格式数据。
上述S2具体包括:
根据执行脚本获取的结果数据对应于CMDB中的对象(该对象可以为服务器、数据库等),得到映射关系(如采集结果的IP对应于CMDB中的SYSTEM IP);
根据映射关系和CMDB中的对象,将采集的详细信息的原始数据进行转换,得到CMDB可识别的标准格式数据,至此,数据清洗过程结束。
所述标准格式数据为key-value字典,其可被CMDB识别。
截止到S2步骤,采集回来的原始数据我们只知道是最新的,和CMDB中的数据相比是什么结果,我们依然未知。出于对数据准确性的考虑,在不清楚数据之间的差异时,不能贸然把数据之间录入覆盖,故,需要数据调和。
S3.数据调和:
将标准格式数据进行调和,得到调和数据。
上述S3具体包括:
将标准格式数据与CMDB中的现有数据进行对比,获取两部分数据的差异,得到调和数据。
更进一步,所述将标准格式数据与CMDB中的现有数据进行对比,包括:通过API接口获取CMDB中的现有数据,通过脚本将CMDB中的现有数据与标准格式数据进行对比。
例如:CMDB中没有某部分数据而被采集到了,可定义为数据新增。支持灵活自定义规则判断数据差异性,自定义规则形成创建、更新、异常、删除等差异类型的数据调和。
S4.数据同步:
调取CMDB的数据回写接口,把调和数据回写到CMDB中,完成数据维护的操作。
以上为对本发明的CMDB水平发现方法的实现全流程解析。
请进一步参阅图2,图2是本发明的CMDB水平发现系统的连接框图。
第二方面,本发明提供一种CMDB水平发现系统,包括:
数据采集模块,配置用于下发数据采集脚本到目标对象服务器运行,执行脚本获取结果数据;以及配置用于使用通用网络协议连接目标对象,采集详细信息的原始数据;
数据清洗模块,配置用于对原始数据进行数据清洗,得到CMDB可识别的标准格式数据;
数据调和模块,配置用于将标准格式数据进行调和,得到调和数据;
数据同步模块,配置用于调取CMDB的数据回写接口,把调和数据回写到CMDB中。
第三方面,本发明还提供一种CMDB水平发现设备,包括:
存储器,用于存储一个或多个程序;
处理器,用于运行所述存储器中存储的所述程序,以实现如上述所述的CMDB水平发现方法。
所述设备还可以优选地包括通信接口,所述通信接口用于与外部设备进行通信和数据交互传输。
需要说明的是,所述存储器可能包含高速RAM存储器,也可能还包括非易失性存储器 (nonvolatile memory),例如至少一个磁盘存储器。
在具体实现上,如果存储器、处理器及通信接口集成在一块芯片上,则存储器、处理器及通信接口可以通过内部接口完成相互间的通信。如果存储器、处理器和通信接口独立实现,则存储器、处理器和通信接口可以通过总线相互连接并完成相互间的通信。
第四方面,本发明还提供一种计算机可读存储介质,其存储有至少一个程序,当所述程序被处理器执行时,实现如上述所述的CMDB水平发现方法。
应当理解,所述计算机可读存储介质为可存储数据或程序的任何数据存储设备,所述数据或程序其后可由计算机系统读取。计算机可读存储介质的示例包括只读存储器、随机存取存储器、CD-ROM、HDD、DVD、磁带和光学数据存储设备等。计算机可读存储介质还可分布在网络耦接的计算机系统中使得计算机可读代码以分布式方式来存储和执行。
计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、射频(Radio Frequency,RF)等,或者上述的任意合适的组合。
在一些实施方案中,计算机可读存储介质可以是非暂态的。
相对于现有技术,本发明的CMDB水平发现方法、系统、设备及介质的有益效果:
1、通过自动化脚本和网络协议的方式获取企业IT资产详细数据,单对象采集速度为秒级,解决面对海量资产人工维护时成本高、效率低的问题。
2、通过数据采集的三种技术实现方式:脚本、网络协议、API,解决人工获取资产数据时方法单一、难度大、时效性低的问题。
3、通过数据清洗,将获取的原始数据自动转换为CMDB可识别的标准格式数据,解决获取资产数据后需要人工转换复杂数据格式的问题。
4、通过数据同步,将转换后的信息自动录入到CMDB中,解决人工录入成本高、风险高、难回溯的问题。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
- CMDB水平发现方法、系统、设备及介质
- 一种设备发现方法、装置、系统、电子设备及存储介质