本发明涉及通信技术领域,尤其涉及信息采集技术领域,具体是指一种实现企业终端信息采集的客户端系统及方法。
背景技术:
现代企业的正常运营离不开电脑和网络,规模较大的企业会拥有数量巨大的个人电脑用于办公、辅助设计、数据计算等业务。
因采购批次、更新换代以及使用者个人偏好等原因,每台电脑的硬件配置信息、软件安装信息都会不尽相同,it部门必须要实时地、准确地掌握这些信息,才能做好企业的软硬件资产管理,并且防范版权侵权、财产损失以及信息泄漏等事故的发生。
企业内部的网络规划也应该是相对稳定的,突破整体网络规划的私自跨网段接驳行为也应受到监控和纠正,it部门要能够及时掌控网络节点所处网络位置的变化情况,并采取相应的纠正措施。
技术实现要素:
本发明的目的是克服了上述现有技术的缺点,提供了一种能实时地、准确地掌握企业终端信息的实现企业终端信息采集的客户端系统及方法。
为了实现上述目的,本发明的实现企业终端信息采集的客户端系统及方法具有如下构成:
该实现企业终端信息采集的客户端系统,其主要特点是,所述的客户端系统包括:
信息采集模块,用于自动采集企业终端的信息;
信息上报模块,与所述的信息采集模块相连接,用于将所述的企业终端信息自动上报至服务端,所述的服务端进行所述企业终端信息的分析以及报表统计;
信息监控模块,与所述的信息上报模块相连接,用于在自动监控到所述的客户端系统的注册表信息发生变更时,触发所述信息上报模块的上报操作。
该实现企业终端信息采集的客户端系统的企业终端信息包括软件安装信息、硬件配置信息以及网络设置信息。
该实现企业终端信息采集的客户端系统的信息上报模块通过socket通信模式将所述的企业终端信息自动上报至服务端。
该实现企业终端信息采集的客户端系统的软件安装信息包括软件名称、软件公司名称、软件版本、软件大小、软件安装路径以及软件安装时间。
该实现企业终端信息采集的客户端系统的硬件配置信息包括sn号、网卡、硬盘信息、cpu信息以及内存信息。
该实现企业终端信息采集的客户端系统的网络设置信息包括ipv4的网络模式、ip地址、子网掩码、网关、计算机名、用户名以及域名。
该实现企业终端信息采集的客户端系统中,当所述的客户端系统的注册表信息未发生变更时,所述的信息上报模块将相隔第一设定时间阈值进行上报操作。
该实现企业终端信息采集的客户端系统的第一设定时间阈值为13小时。
该基于上述客户端系统支持企业终端信息采集的方法,其主要特点是,所述的方法包括:
(1)所述的信息采集模块自动采集企业终端的信息;
(2)所述的信息上报模块将所述的企业终端信息自动上报至服务端,并根据所述服务端的返回信息决定是否对所述的客户端系统进行更新处理,以及所述的信息监控模块在自动监控到所述的客户端系统的注册表信息发生变更时,触发所述信息上报模块的上报操作。
该支持企业终端信息采集的方法的步骤(2)中,根据所述服务端的返回信息决定是否对所述的客户端系统进行更新处理具体为:
所述的服务端返回所述客户端系统的最新版本,并比较所述的最新版本与本地版本,以及在所述的最新版本高于所述的本地版本时,更新所述的客户端系统。
采用了该发明中的实现企业终端信息采集的客户端系统及方法,通过这个客户端信息搜集系统,it部门能够实时地、准确地掌握这些信息,做好企业的软硬件资产管理,并且能够防范版权侵权、财产损失以及信息泄漏等事故的发生。
附图说明
图1为本发明的实现企业终端信息采集的客户端系统的应用示意图。
图2为本发明的支持企业终端信息采集的方法的应用示意图。
具体实施方式
为了能够更清楚地描述本发明的技术内容,下面结合具体实施例来进行进一步的描述。
该实现企业终端信息采集的客户端系统包括:
信息采集模块,用于自动采集企业终端的信息;
信息上报模块,与所述的信息采集模块相连接,用于将所述的企业终端信息自动上报至服务端,所述的服务端进行所述企业终端信息的分析以及报表统计;
信息监控模块,与所述的信息上报模块相连接,用于在自动监控到所述的客户端系统的注册表信息发生变更时,触发所述信息上报模块的上报操作。
该实现企业终端信息采集的客户端系统的企业终端信息包括软件安装信息、硬件配置信息以及网络设置信息。
该实现企业终端信息采集的客户端系统的信息上报模块通过socket通信模式将所述的企业终端信息自动上报至服务端。
该实现企业终端信息采集的客户端系统的软件安装信息包括软件名称、软件公司名称、软件版本、软件大小、软件安装路径以及软件安装时间。
该实现企业终端信息采集的客户端系统的硬件配置信息包括sn号、网卡、硬盘信息、cpu信息以及内存信息。
该实现企业终端信息采集的客户端系统的网络设置信息包括ipv4的网络模式、ip地址、子网掩码、网关、计算机名、用户名以及域名。
该实现企业终端信息采集的客户端系统中,当所述的客户端系统的注册表信息未发生变更时,所述的信息上报模块将相隔第一设定时间阈值进行上报操作。
该实现企业终端信息采集的客户端系统的第一设定时间阈值为13小时。
该基于上述客户端系统支持企业终端信息采集的方法包括:
(1)所述的信息采集模块自动采集企业终端的信息;
(2)所述的信息上报模块将所述的企业终端信息自动上报至服务端,并根据所述服务端的返回信息决定是否对所述的客户端系统进行更新处理,以及所述的信息监控模块在自动监控到所述的客户端系统的注册表信息发生变更时,触发所述信息上报模块的上报操作。
该支持企业终端信息采集的方法的步骤(2)中,根据所述服务端的返回信息决定是否对所述的客户端系统进行更新处理具体为:
所述的服务端返回所述客户端系统的最新版本,并比较所述的最新版本与本地版本,以及在所述的最新版本高于所述的本地版本时,更新所述的客户端系统,具体地,指对客户端系统中各个应用软件进行更新。
在一具体实施方式中,请参阅图1所示,其为本发明的实现企业终端信息采集的客户端系统的应用示意图,其中信息采集模块、信息上报模块以及信息监控模块都置于管理客户端中,且信息采集模块用于采集各个被管理的电脑的信息,信息上报模块用于进行以下两个并行处理的过程:
(1)将上述信息上报至电脑信息服务端,并根据所述服务端的返回信息决定是否对所述的客户端系统进行更新处理;
(2)在信息监控模块监控到注册表信息发生变更时,触发所述的信息上报模块进行上报操作。
本发明的实现企业终端信息采集的客户端系统及方法中,具体为:
1、软件信息搜集
软件信息包含两部分,一部分是系统版本信息(例如:win7/专业版/sp1/64位),一部分是基本的软件信息。
(1)通过windowsapi函数中getversion和getversionex可以获取到系统版本信息。
(2)电脑中的软件安装信息通常是记录在注册表中,而通过regopenkeyex方法则可以打开一个指定的注册表键。win732位系统的软件信息在software\\microsoft\\windows\\currentversion\\uninstall,win764为的软件信息在software\\wow6432node\\microsoft\\windows\\currentversion\\uninstall中。
循环遍历注册表中的所有软件,通过读取其键值可以获取到详细的软件信息。
2、硬件信息搜集
硬件配置信息包含sn号、网卡(型号、mac)、硬盘信息(容量、型号、厂商)、cpu信息、内存信息(容量大小、型号、厂商)。通常获取硬件信息的方法有两种,一种是通过windows提供的系统标准api函数;一种是通过是wmi。由于硬件信息需要用到的api函数较多,所以采用wmi获取。wmi是windows管理规范,通过它可以访问、配置、管理和监视几乎所有的windows资源。
接下来需要通过com技术编写wmi应用,具体实现过程:
(1)初始化com组件。
调用函数coinitializeex用于初始化com库。
(2)初始化com库安全级别。
调用函数coinitializesecurity用于初始化com安全级别。
(3)连接到wmi命名空间。
通过调用函数cocreateinstanc初始化wmi的定位器。
(4)创建wmi服务。
调用iwbemlocator::connectserver方法,通过这个定位器连接到wmi的命名空间,通过把一个iwbemservices的实例以参数形式传递给connectserver方法,就会创建这个服务。如我们需要一些diskdrive硬盘信息,那么需要使用的wmi提供程序是win32_diskdrive,则需要连接到root//cimv2命名空间中。
(5)设置wmi服务的安全级别。
根据上一步得到的服务,设置相应的服务安全级别。通常来说,如果我们没有设置适当的安全属性,com安全方案不允许一个进程去访问另一个进程,因此如果我们要访问一个外部进程的对象,那么我们应该设置适当的iwbemservices的安全级别。
(6)使用wmi服务。
使用之前得到的服务,可以进行查询操作。
本次wmi调用使用到的类有:win32_diskdrive(硬盘)、fromwin32_physicalmemory(内存)、win32_processor(cpu)、win32_bios(主板)。
(7)相关信息查询。通过遍历信息属性获取所需要的信息。
(8)最后释放资源,关闭服务与连接,关闭com库。
3、网络信息搜集
网络信息包含ipv4的网络模式(dhcp、手动)、ip地址、子网掩码、网关[静态路由]。
(1)通过windowsapi函数getusername获取系统用户名。
(2)通过iphelperapi中的getnetworkparams函数获取网络配置信息。iphelper是一套用于管理本地网络设置的api。使用这一套api可以方便的改变计算机的网络设置或者提取有关的信息。而且它还提供了一种消息机制,能够在本地计算机的网络设置发生改变时通知应用程序。实际上,它不仅仅能够提取本机的网络设置信息,还能够获得网络上其它计算机的ip使用情况和mac地址。
(3)需要注意的是在获取网卡信息的时候,需要将虚拟网卡进行排除。而在注册表中classguid={4d36e972-e325-11ce-bfc1-08002be10318}的网卡为虚拟网卡,只需将其排除就行了。
二、信息上报
客户端信息上报采用的是socket通信模式。
(1)客户端将搜集的信息组装成json格式数据上报给服务端,json数据格式如下:
(2)服务端接收成功后,会返回一个客户端最新的版本。
(3)客户端通过接收到的最新版本与本地版本进行对比,如果新版本更高,则启动更新程序。
三、状态监控
客户端提供软件、硬件、网络信息的监控。不过考虑到硬件信息、网络信息的变更包括usb接口、网线的拔插,变更频繁,所以未对此操作进行处理。
针对网络信息变更,将触发客户端信息的上报操作。
四、打包安装
为了方便it进行域策略推送安装,客户端使用advancedinstaller11.0进行封装打包为msi安装包。
安装包版本为1.0,大小4m。包含cimsclient.exe(主程序)和cimsupdate.exe(更新程序)。
安装环境支持win732/win764/xp。
在实际应用中,本发明的客户端系统将完成信息搜集、状态监控、信息上报等功能,有显示界面提示用户客户端在运行,但是所有的功能都是自动的,不提供用户交互界面,其中:
(1)信息搜集包含软件安装信息、硬件配置信息、网络设置信息。
(2)状态监控主要指软件信息变更监控,监控到发生变更时进行信息上报。
(3)客户端系统开机后运行,随机6小时内进行信息搜集上报信息,之后每隔13小时上报一次。
采用了该发明中的实现企业终端信息采集的客户端系统及方法,通过这个客户端信息搜集系统,it部门能够实时地、准确地掌握这些信息,做好企业的软硬件资产管理,并且能够防范版权侵权、财产损失以及信息泄漏等事故的发生。
在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。