本申请主要关于软件管理,特别有关于一种软件主文件数据管理系统及方法。
背景技术:
::主文件数据管理主要是针对企业的主文件数据进行管理,而主文件数据一般指企业内部主要的数据文件,包括:客户数据、供货商数据、产品数据、列管软件数据、组织单位数据、以及员工数据等,而此类数据通常拥有一重要特质,就是可在该企业范围内的各个系统之间共享,以提升企业管理的效率。以软件授权管理为例,传统上,一般是以企业所购买的软件作为基础,建立软件主文件数据,并根据软件主文件数据去比对员工在终端装置上的软件安装使用状况,以进行稽核管理。然而,在许多情况中,员工可能会在终端装置上自行安装其他未列管软件,而因为软件主文件数据中并未建立对应的数据,所以就无法针对这些未列管的软件进行稽核管理。即便可通过采购程序在行政上要求管理单位注记登录欲购买的软件数据,但实际上仍无法完整涵盖所有的未列管软件。因此,传统的软件授权管理方式存在上述的管理漏洞,使得企业可能面对未授权赔偿的风险。技术实现要素:为了解决上述问题,本申请提出一种软件主文件数据管理系统及方法,通过对终端装置进行扫描以取得存在终端装置中的软件列表,然后将当前的软件主文件数据以及存在终端装置中的软件列表进行比对,找出存在终端装置中的未列管软件,然后将未列管软件的信息加入软件主文件数据。如此一来,便能够掌握企业内部所有使用软件的信息,从而有效避免未列管软件所造成的稽核漏洞及赔偿风险。本申请所述的软件主文件数据管理系统包括一网络通讯装置、一存储装置、以及一控制器。上述网络通讯装置用以提供网络连接到至少一终端装置。上述存储装置用以存储多列管软件的一主文件数据。上述控制器用以通过上述网络通讯装置从上述终端装置取得存在上述终端装置中的至少一软件的一列表,比对上述主文件数据以及上述列表以决定存在上述终端装置中的一或多个未列管软件,以及将上述未列管软件的信息加入上述主文件数据。在一实施例,上述控制器还通过上述网络通讯装置对上述终端装置进行扫描以取得上述列表。在一实施例,上述控制器还通过上述网络通讯装置派送一代理程序(agent)到上述终端装置,由上述代理程序对上述终端装置进行扫描以取得上述列表。在一实施例,上述控制器还决定上述未列管软件是否有授权证明,当上述未列管软件有授权证明时,将上述未列管软件的信息加入上述主文件数据,以及当上述未列管软件没有授权证明时,通过上述网络通讯装置传送一通知到上述终端装置以指示移除上述未列管软件。在一实施例,上述控制器还根据多规则的至少一者来决定上述未列管软件的一风险等级,以及将上述风险等级更新到上述主文件数据,上述规则包括:上述未列管软件的一开发商是否属于商业软件联盟(businesssoftwarealliance,bsa)、上述未列管软件的一授权费用、以及上述未列管软件是否为开源(opensource)软件。本申请所述的软件主文件数据管理方法适用于一系统用以管理至少一终端装置的软件主文件数据,上述软件主文件数据管理方法由上述系统的一控制器所执行,且包括以下步骤:从上述系统的一存储装置读取多列管软件的一主文件数据;从上述终端装置取得存在上述终端装置中的至少一软件的一列表;比对上述主文件数据以及上述列表以决定存在上述终端装置中的一或多个未列管软件;以及将上述未列管软件的信息加入上述主文件数据。在一实施例,上述软件主文件数据管理方法更包括以下步骤:由上述系统对上述终端装置进行扫描以取得上述列表。在一实施例,上述软件主文件数据管理方法更包括以下步骤:派送一代理程序到上述终端装置;以及由上述代理程序对上述终端装置进行扫描以取得上述列表。在一实施例,上述软件主文件数据管理方法更包括以下步骤:决定上述未列管软件是否有授权证明;当上述未列管软件有授权证明时,将上述未列管软件的信息加入上述主文件数据;以及当上述未列管软件没有授权证明时,传送一通知到上述终端装置以指示移除上述未列管软件。在一实施例,上述软件主文件数据管理方法更包括以下步骤:根据多规则的至少一者来决定上述未列管软件的一风险等级;以及将上述风险等级更新到上述主文件数据,其中上述规则包括:上述未列管软件的一开发商是否属于商业软件联盟、上述未列管软件的一授权费用、以及上述未列管软件是否为开源软件。关于本申请其他附加的特征与优点,本领域技术人员,在不脱离本申请的精神和范围内,当可根据本案实施方法中所揭示的软件主文件数据管理系统及方法做些许的更动与润饰而得到。附图说明图1为根据本申请一实施例所述的企业网络环境的示意图。图2为根据本申请一实施例所述的软件主文件数据管理系统150的硬件架构示意图。图3为根据本申请一实施例所述的软件主文件数据管理方法的软件架构图。图4为根据本申请一实施例所述的软件主文件数据管理方法的流程图。具体实施方式本章节所叙述的是实施本申请的较佳方式,目的在于说明本申请的精神而非用以限定本申请的保护范围,当可理解的是,使用于本说明书中的“包含”、“包括”等词,用以表示存在特定的技术特征、数值、方法步骤、作业处理、元件以及/或组件,但并不排除可加上更多的技术特征、数值、方法步骤、作业处理、元件、组件,或以上的任意组合。图1为根据本申请一实施例所述的企业网络环境的示意图。企业网络环境100包括终端装置110~130、无线存取点140、以及软件主文件数据管理系统150,其中软件主文件数据管理系统150可经由有线网络或无线网络连接到终端装置110~130,以进行软件主文件数据管理。终端装置110~130可个别为一具备网络通讯功能的计算装置,如:笔记本电脑、桌面计算机、智能型手机、平板计算机、或服务器等。举例来说,如图1所示,终端装置110为一笔记本电脑,其通过无线存取点140连接到企业网络,另外,终端装置120~130为桌面计算机,其通过有线网络的方式(例如:以太网(ethernet)、光纤(optical)网络、非对称数字式用户线路(asymmetricdigitalsubscriberline,adsl)、双绞线(twistedpair)网络、或同轴电缆(coaxialcable)网络等)连接到企业网络。特别是,终端装置110~130的每一者皆可安装有相同或不同的一或多个软件,包括:有安装的软件、及未安装的软件,特别是,这些软件的一或多者有可能不在软件主文件数据的列管中。明确来说,有安装的软件是指必须安装后才能执行的软件,而未安装的软件是指不需安装即可执行的软件(或可称为绿色软件、或可携式(portable)软件)。无线存取点140可使用任一无线网络技术建立无线局域网络,以提供无线存取服务予任一终端装置(如:终端装置110)。所述无线网络技术可包括:无线保真(wirelessfidelity,wifi)技术、蓝牙技术、以及群蜂技术等。明确来说,无线存取点140可通过以太网缆线连接到企业网络,无线存取点140通常用以接收、暂存、以及传送针对终端装置的数据流量。软件主文件数据管理系统150可为一服务器或其他具备网络通讯功能的计算装置,其主要负责维护软件的主文件数据(masterdata)。在一实施例,软件主文件数据可以是以企业所购买的软件资产作为基础而建立的。此外,软件主文件数据管理系统150还可对终端装置110~130进行扫描以取得存在终端装置110~130中的软件列表,然后将软件主文件数据以及存在终端装置110~130中的软件列表进行比对,找出存在终端装置110~130中的未列管(unmonitored)软件,然后将未列管软件的信息加入软件主文件数据。当可理解的是,图1所示的环境仅用以提供一说明的范例,并非用以限制本申请的保护范围。举例来说,企业网络环境100可包括更多或更少的终端装置,例如:仅包括单一终端装置,或者,可包括多于3台以上的终端装置,其中,每台终端装置皆可选择性地通过有线或无线的方式连接到企业网络。图2为根据本申请一实施例所述的软件主文件数据管理系统150的硬件架构示意图。如图2所示,软件主文件数据管理系统150包括网络通讯装置151、控制器152、存储装置153、以及输入输出装置154。网络通讯装置151用以提供网络连接到企业网络以及企业网络内的终端装置110~130。网络通讯装置151可依循至少一特定通讯技术提供有线或无线网络连接。举例来说,有线网络可以是:以太网、非对称数字用户线网络、光纤网络、双绞线网络、或同轴电缆网络。无线网络可以是使用如:无线保真技术、蓝牙技术、或群蜂技术所建立。控制器152可为通用处理器、微处理器(microcontrolunit,mcu)、应用处理器(applicationprocessor,ap)、或数字信号处理器(digitalsignalprocessor,dsp)等,其可包括各式电路逻辑,用以提供数据处理及运算的功能、控制网络通讯装置151的运作以提供网络连接到终端装置110~130、从存储装置153读取或存储数据、以及通过输入输出装置154接收用户的输入或输出反馈讯号给用户。特别是,控制器152用以协调控制网络通讯装置151、存储装置153、以及输入输出装置154的运作,以执行本申请的软件主文件数据管理方法。本领域技术人员当可理解,控制器152中的电路逻辑通常可包括多个晶体管,用以控制该电路逻辑的运作以提供所需的功能及作业。更进一步的,晶体管的特定结构及其之间的连结关系通常是由编译器所决定,例如:寄存器转移语言(registertransferlanguage,rtl)编译器可由处理器所运作,将类似汇编语言码的指令文件(script)编译成适用于设计或制造该电路逻辑所需的形式。存储装置153为非暂态(non-transitory)的计算机可读取存储介质,例如:随机存取存储器(randomaccessmemory,ram)、闪存,或硬盘、光盘,或上述介质的任意组合,用以存储软件的主文件数据、以及应用以及/或通讯协议的程序代码等,其中软件的主文件数据可以数据库的形式存储。特别是,存储装置153还存储有本申请的软件主文件数据管理方法的指令集或程序代码,由控制器152加载并执行。输入输出装置154可包括一或多个按钮、键盘、鼠标、触碰板、视频镜头、麦克风、以及/或喇叭等,用以作为人机界面与用户(如:资通/网管人员)互动。当可理解的是,图2所示的元件仅用以提供一说明的范例,并非用以限制本申请的保护范围。举例来说,软件主文件数据管理系统150还可包括其他元件,例如:电源供应器、以及/或显示屏幕(例如:液晶显示器(liquid-crystaldisplay,lcd)、发光二极管显示器(light-emittingdiode,led)、或电子纸显示器(electronicpaperdisplay,epd))等。其中,电源供应器可为一可携式/可替换的充电电池,用以负责提供电力予软件主文件数据管理系统150中的其他元件。显示屏幕可提供显示功能,用以显示视觉内容、以及/或文字。图3为根据本申请一实施例所述的软件主文件数据管理方法的软件架构图。在此实施例,软件主文件数据管理方法适用于软件主文件数据管理系统150,明确来说,软件主文件数据管理方法可用程序代码实作为多个软件模块,并由控制器152加载并执行。如图3所示,软件主文件数据管理方法的软件架构包括:比对模块310、评估模块320、以及反馈模块330。比对模块310主要负责从数据库310读取软件主文件数据,以及接收终端装置中的代理程序(agent)扫描出存在终端装置中的软件的列表,然后将软件主文件数据以及存在终端装置中的软件列表进行比对,找出存在终端装置中的未列管软件。在此实施例,软件主文件数据管理系统150可事先派送代理程序到每台终端装置,并且由代理程序对终端装置进行扫描以取得存在终端装置中的软件列表。在另一实施例,软件主文件数据管理系统150亦可直接连接到每台终端装置进行扫描以取得存在终端装置中的软件列表,而无须派送代理程序到每台终端装置。评估模块320主要负责针对未列管软件进行数量统计、授权确认、以及风险评估,以决定是否要针对特定的未列管软件进行移除或采购。明确来说,数量统计是指统计出每种未列管软件的数量,并将未列管软件依照数量进行排序,让后续得以依照该排序针对未列管软件一个一个进行授权确认及风险评估作业。明确来说,授权确认是指针对每个未列管软件进行确认是否有授权证明。在一实施例,可以从未列管软件的“关于”信息中读取是否有授权的相关数据。明确来说,风险评估是指根据一或多个预定规则来决定每个未列管软件的风险等级。预定规则可包括:未列管软件的开发商是否属于商业软件联盟(businesssoftwarealliance,bsa)、未列管软件的授权费用、以及未列管软件是否为开源(opensource)软件。举例来说,如果某个未列管软件的开发商属于商业软件联盟,则该未列管软件可被设定为高风险等级,反之,则该未列管软件可被设定为低风险等级;或者,如果某个未列管软件的授权费用超过一限额(如:一百万),则该未列管软件可被设定为高风险等级,反之,则该未列管软件可被设定为低风险等级;或者,如果某个未列管软件是开源软件,则该未列管软件可被设定为低风险等级,反之,则该未列管软件可被设定为高风险等级。在一实施例,针对确认没有授权证明的未列管软件,可传送通知到终端装置指示将之移除。如果用户仍有使用需求,则可另外申请采购,待采购程序完成后,该软件的信息就会更新到数据库中所存储的软件主文件数据。反馈模块330主要负责将未列管软件的信息(如:软件名称、版本、开发商、适用平台、用途等)、授权确认的结果(如:是否有授权证明)、以及风险评估的结果(如:是否为高风险等级)反馈到数据库,以更新软件主文件数据。图4为根据本申请一实施例所述的软件主文件数据管理方法的流程图。首先,终端装置上的代理程序从终端装置的操作系统控制台中收集有安装软件列表(步骤s401),以及针对终端装置的存储装置(如:硬盘)进行扫描以取得未安装软件列表(步骤s402)。明确来说,有安装软件是指安装后才能执行的软件,而未安装软件是指不需安装即可执行的软件(如:绿色软件、或可携式软件)。在一实施例,当终端装置的操作系统为windows时,代理程序可以从控制台中的“新增/移除程序”功能中收集到有安装软件列表。在一实施例,代理程序可以扫描终端装置的硬盘中所有的执行文件(即:*.exe文件),再排除掉有安装软件,即可取得未安装软件列表。接着,数据库将代理程序扫描得到的软件列表(包括:有安装软件列表、及未安装软件列表)进行存储(步骤s403),并且提供当前的软件主文件数据给比对模块310(步骤s404)。比对模块310比对软件主文件数据以及扫描得到的软件列表,以决定存在终端装置中的未列管软件(步骤s405)。明确来说,比对模块310可针对软件列表中的软件一个一个比对是否软件主文件数据中有相应的软件信息,若没有,则可判定该软件为未列管软件。评估模块320统计每种未列管软件的总数,并将未列管软件依照数量进行排序(步骤s406),然后针对每个未列管软件进行确认是否有授权证明(步骤s407),接着根据预定规则来决定每个未列管软件的风险等级(步骤s408)。之后,反馈模块330再将未列管软件的信息、授权确认的结果、以及风险评估的结果一并反到数据库,以更新软件主文件数据(步骤s409)。根据上述实施例,当可理解的是,本申请的软件主文件数据管理方法其特征在于,能够通过定期或不定期的执行以掌握终端装置最实时的软件使用信息,并予以统计、评估、以及反馈到软件主文件数据。如此一来,便能够掌握企业内部所有使用软件的信息,从而有效避免未列管软件所造成的稽核漏洞及赔偿风险。因此,可大幅提升软件主文件数据管理的效率及正确性。本申请虽以各种实施例揭示如上,然而其仅为范例参考而非用以限定本申请的范围,任何熟习此项技艺者,在不脱离本申请的精神和范围内,当可做些许的更动与润饰。因此上述实施例并非用以限定本申请的范围,本申请之保护范围当视后附的申请专利范围所界定者为准。【符号说明】100企业网络环境110~130终端装置140无线存取点150软件主文件数据管理系统151网络通讯装置152控制器153存储装置154输入输出装置310比对模块320评估模块330反馈模块s401~s409步骤编号当前第1页12当前第1页12