CN104025048A - 软件安装 - Google Patents
软件安装 Download PDFInfo
- Publication number
- CN104025048A CN104025048A CN201280065808.7A CN201280065808A CN104025048A CN 104025048 A CN104025048 A CN 104025048A CN 201280065808 A CN201280065808 A CN 201280065808A CN 104025048 A CN104025048 A CN 104025048A
- Authority
- CN
- China
- Prior art keywords
- time
- parameter
- timing
- timing parameter
- test
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/658—Incremental updates; Differential updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Abstract
根据安装配置选项识别计时参数,该计时参数影响在测试环境中的计算机上安装产品的安装时间间隔。对每个计算机确定计时参数的测试值和安装时间的测试值。分析针对样品计算机确定的计时参数和安装时间的测试值以确定针对安装配置选项的安装时间计算表达式。对于根据安装配置选项在正常操作环境中的安装,确定针对安装配置选项的预定的安装时间计算表达式的计时参数中的每一个的当前值。基于计时参数的当前值和安装时间计算表达式,估计正常操作环境中的安装时间间隔。
Description
技术领域
本发明通常涉及计算机领域,并且更特别地涉及精确估计软件产品在操作环境中的安装时间。
背景技术
企业环境包括多个计算机系统、存储设备、本地和/或远程数据库以及具有不同时延/延迟的可能的多个通信网络的互连/集成。企业环境可以包括支持不同通信协议的遗留系统和非遗留系统之间的互连。企业环境可以包括来自不同制造商的多个机器,它们具有不同的配置、硬件、平台、操作系统、存储器配置、分区和性能特征。作为这种可变性的结果,企业环境中的产品安装会消耗可变且不可预测的时间量。
发明内容
公开了用于估计安装时间的各种实施例。在一个实施例中,根据安装配置选项识别计时参数,该计时参数影响用于在测试环境中的多个样品计算机上安装产品的安装时间间隔。识别一组计时参数测试操作以确定多个样品计算机的计时参数的测试值。对于测试环境中的多个样品计算机中的每一个,至少部分地基于所述一组计时参数测试操作,确定计时参数的测试值以用于该样品计算机。对于测试环境中的多个样品计算机中的每一个,至少部分地基于根据安装配置选项执行的安装操作,确定安装时间的测试值以用于该样品计算机。基于对计时参数的测试值和安装时间的测试值的分析,确定针对该计时参数的计时系数,所述两个测试值都针对多个样品计算机中的每一个被确定。记录计时系数和安装配置选项。基于计时系数和安装配置选项,估计用于在非测试操作环境中根据安装配置选项安装产品的安装时间间隔。
在一个实施例中,对于所选择的安装配置选项,根据安装配置选项确定用于在非测试操作环境中安装产品的一个或多个安装操作。至少部分地基于一个或多个安装操作,选择多个预定的安装时间计算表达式中的第一表达式,其至少包括计时参数和与该计时参数相关联的计时系数的组合。识别一组计时参数测试操作以确定非测试操作环境中的计时参数的当前值。至少部分地基于识别出的一组计时参数测试操作,确定计时参数的当前值。至少部分地基于计时参数的当前值、对应的计时系数以及多个安装时间计算表达式中的第一表达式,估计与在非测试操作环境中根据安装配置选项安装产品相关联的安装时间间隔。
附图说明
现在将参考附图,仅通过举例的方式描述本发明的实施例,在附图中:
图1是示出用于确定计时系数来估计安装时间的示例操作的概念框图。
图2是示出用于基于之前计算的计时系数来估计正常操作环境中的安装时间的示例操作的框图。
图3是用于确定计时系数以便随后估计安装时间的示例操作的流程图。
图4是图3的延续并且还示出用于确定计时系数以便随后估计安装时间的示例操作。
图5是示出用于使用之前计算的计时系数来估计安装时间的示例操作的流程图。
图6是包括用于估计安装时间的机制的电子系统的一个实施例的框图。
具体实施方式
下面的描述包括体现本发明主题的技术的示例性系统、方法、技术、指令序列和计算机程序产品。然而,应当理解的是,所描述的实施例可以不用这些具体细节来实践。例如,尽管若干示例涉及估计用于在企业环境中的机器上安装产品的安装时间,然而实施例并不限于此。在其他实施例中,此处描述的操作可以扩展到确定用于以分布方式跨越多个机器安装产品的安装时间。在其他实例中,熟知的指令实例、协议、结构和技术未详细示出以便不会使说明模糊。
在企业环境中安装产品一般包括安装用作集成解决方案的多个组件/程序包。企业环境可以包括具有不同硬件、软件和固件的机器。尽管安装产品所需的时间间隔(“安装时间”)可以在测试环境中预先确定,然而测试环境安装时间可能与正常操作环境(也称为实际操作环境或非测试操作环境)中的安装时间有很大不同。这可能是由于正常操作环境和测试环境中的机器配置的不同,安装过程中的用户交互的不同,在正常操作环境中执行的其他过程的影响,以及其他此类因素(例如,网络拓扑、I/O性能、处理器速度、可用的物理内存、可用的存储空间、机器的当前工作负荷、网络速度、数据库类型等等)。因为企业环境的规模(以及潜在的复杂性),企业环境中的产品安装会消耗可变且不可预测的时间量。对产品在企业环境中的安装和部署时间的认识的缺乏,会不利地影响企业环境所提供的支持/服务。
如果能够基于在正常操作环境中收集的信息来估计正常操作环境(即,客户的企业环境)中的安装时间,则这将是有益的(例如对于企业环境的管理员而言)。至少部分地基于产品安装所根据的安装配置选项,安装时间估计单元能够在测试环境中确定一个或多个影响安装时间的计时参数。测试环境计时参数值可以针对每个计时参数被确定。另外,根据安装配置选项执行的安装操作可以在测试环境中被执行以确定测试环境安装时间值。测试环境计时参数值和测试环境安装时间值可以被分析,并且对于每个计时参数确定计时系数。在正常操作环境中执行安装操作之前,可以在正常操作环境中为每个计时参数确定当前计时参数值。可以将当前计时参数值与之前确定的计时系数相结合,来估计正常操作环境中的安装时间。这种基于在正常操作环境中收集的信息来估计安装时间的机制可以改善所估计的安装时间的精确度。确定更精确的安装时间估计使得企业环境的管理员能够在适当的时间间隔期间(例如,在安排的维护时间间隔期间,在到来的服务请求数量较低的时间间隔期间,等等)安排安装,以便安排安装过程周围的其他操作和任务、等等。
图1是示出用于确定计时系数以估计安装时间的示例操作的框图。图1描绘了包括样机104、106、108和110的测试环境102。取决于测试环境102的网络配置,样机104、106、108和110可以彼此互连或者彼此不互连。图1还描绘了安装单元112和安装时间估计单元114。安装时间估计单元114包括计时统计确定单元116,其与计时系数计算单元118耦合。安装单元112可以包括执行一个或多个安装操作以便在测试环境102中的多个机器104、106、108和110上安装产品/服务的功能。在一些实现中,安装时间估计单元114可以被实施为安装单元112的一部分。换言之,安装单元112可以被仪表化(instrumented),使得安装单元112自身可以记录并收集计时统计(例如,安装单元112执行安装时间估计单元114的功能)。在其他实现中,安装时间估计单元114可以与安装单元112分开地实施。安装时间估计单元114与安装单元112协力可以执行阶段A-E中的下述操作以确定测试环境中的计时系数,该计时系数随后可用来估计正常操作环境中的安装时间。
在阶段A,安装单元112确定被选择用于在测试环境102中安装产品的安装配置选项。安装产品一般包括该产品的一个或多个组件(例如,服务、应用、文件等等)的安装。用户可以选择(例如,选择安装)产品的这些组件的全部/一部分。安装配置选项指出用户选择安装该产品的哪些组件。如在下面进一步描述的,取决于所选择的安装配置选项,安装单元112执行不同的操作组以用于安装产品。
在阶段B,安装单元112确定安装计划,该安装计划包括与安装配置选项相关联的一个或多个操作。安装计划识别根据安装配置选项应该被执行以安装产品的安装操作。如上所述,根据所选择的安装配置选项安装产品通常包括由用户选择的一个或多个组件的安装。安装计划包括将被执行以安装用户选择的组件的操作(例如,数据拷贝操作、数据库创建和访问操作、等等)的列表。安装单元112生成不同的安装计划,以用于取决于所选择的安装配置选项执行不同的安装操作组。例如,选择第一安装配置选项会导致包括大量数据库访问操作的安装计划,而选择第二安装配置选项会导致只包括数据拷贝操作和过程启动/关闭操作的安装计划(很少或不导致数据库访问操作)。
在阶段C,至少部分地基于与安装配置选项相关联的安装计划,计时统计确定单元116针对测试环境102中的多个样机104、106、108和110中的每一个样机确定测试环境计时统计。计时统计确定单元116根据安装配置选项识别计时参数,该计时参数影响与安装产品相关联的安装时间。例如,如果安装计划指出根据所选择的安装配置选项将只执行数据拷贝操作和过程关闭操作来安装产品,则计时统计确定单元116将数据拷贝参数和过程关闭参数识别为安装配置选项的计时参数。在这个示例中,计时统计确定单元116确定用于数据拷贝参数和过程关闭参数的计时参数测试操作,以确定在测试环境中执行数据拷贝操作和过程关闭操作所耗费的时间。应当指出的是,取决于所选择的安装配置选项和对应的安装计划,安装时间可能受到其他适合的计时参数(例如,网络访问操作、数据库访问操作、等等)的影响。
在上述示例中,计时统计确定单元116确定执行针对数据拷贝参数和过程关闭参数的计时参数测试操作的预定次数的迭代。如下面在图3-4中进一步所述的,对于每次迭代,计时统计确定单元116确定对应的测试环境计时参数值。例如,计时统计确定单元116执行针对数据拷贝参数的计时参数测试操作的200次迭代,并执行针对过程关闭参数的计时参数测试操作的200次迭代。在这个示例中,计时统计确定单元116确定对应的200个数据拷贝时间值和200个过程关闭时间值。计时统计确定单元116计算200个数据拷贝时间值的平均值以确定针对样机的测试数据拷贝时间值。同样地,计时统计确定单元116计算200个过程关闭时间值的平均值以确定针对样机的测试过程关闭时间值。另外,计时统计确定单元116还执行(在阶段B确定的)由安装计划识别的安装操作的预定次数的迭代。参考上述示例,在计时参数测试操作被执行200次的情况下,计时统计确定单元116执行安装操作(例如,根据安装配置选项在样机上安装产品)200次。计时统计确定单元116确定对应的200个安装时间值,并且计算该200个安装时间值的平均值以确定针对该样机的测试安装时间值。
在阶段D,基于针对多个测试机器中的每一个处理测试环境计时统计,计时系数计算单元118识别一个或多个与安装配置选项相关联的计时系数。参考上述示例,数据拷贝操作和过程关闭操作被确定为用于所选择的安装配置选项的计时参数。因此,在阶段C,计时统计确定单元116针对样机104、106、108和110中的每一个样机确定测试环境计时统计,其包括计时参数的测试值(“测试计时参数值”)(例如,测试数据拷贝时间值和测试过程关闭时间值)和安装时间的测试值(“测试安装时间值”)。随后,在阶段D,计时系数计算单元118使用测试环境计时统计执行线性回归操作(或其他适合的统计学分析技术或数据外插操作),以确定针对与在阶段A选择的安装配置选项相关联的每个计时参数的计时系数,如将进一步在图3-4中所述。例如,计时系数计算单元118确定计时系数,使得安装时间可以被表达为至少计时系数和对应的计时参数的组合。
在阶段E,计时系数计算单元118存储该一个或多个计时系数,以便随后在选择安装配置选项时估计正常操作环境中的安装时间。在一些实现中,计时系数可以被存储为安装单元112的一部分。还可以存储对应的计时参数和安装配置选项的指示。在一些实现中,还可以存储关于测试环境102(例如,网络配置,以及样机104、106、108、110的机器配置等等)的信息,其中计时系数基于所述信息被确定。安装单元112还可以被仪表化以包括用于在正常操作环境中收集计时统计(在此被称为“当前计时统计”)的过程,以帮助估计正常操作环境中的安装时间。如参考图2和图5将进一步描述的,基于所选择的安装配置选项、对应的计时系数以及当前计时统计,可以估计用于在正常操作环境中安装产品的安装时间。
如上所述应注意的是,在测试环境102中的多个样机104、106、108和110上执行计时参数测试操作和安装操作。该多个样机可以实现共同的操作平台,但是多个样机中的每一个可以包括不同的机器配置(例如,不同的硬件、不同的操作系统版本等等)。例如,该多个样机104、106、108和110可以运行在平台上,但是可以实现AIX平台的不同版本。样机104、106、108和110中的每一个的机器配置以及实施相同机器配置的样机的数量可以变化。在一些实现中,如果先验地知晓正常操作环境(例如,产品最终被安装于的客户环境)中机器的分布、网络配置和机器配置,则可以基于对正常操作环境的认识来选择测试环境102和样机104、106、108和110。在这个实现中,测试环境计时统计可以裁制成适合于正常操作环境,从而确保正常操作环境中更精确的安装时间估计。然而,在其他实现中,可以针对正常操作环境中的分布、网络配置和机器配置的各种组合确定测试环境计时统计。
图2是示出用于基于之前计算的计时系数来估计正常操作环境中的安装时间的示例操作的框图。图2描绘了包括计算机204的正常操作环境202。图2还描绘了被执行以在计算机204上安装产品的仪表化安装单元212。仪表化安装单元212包括安装单元112、当前安装时间估计单元216和计时系数数据结构218。安装单元112执行操作以在正常操作环境中安装产品。当前安装时间估计单元216确定正常操作环境202中的计时统计(在此被称为“当前计时统计”),以便使用图1中确定的计时系数218来估计正常操作环境中的安装时间。应当注意的是,为简化起见,正常操作环境202被示出包括一个计算机204,并且相应地描述图2的操作。然而,在其他实现中,正常操作环境202可以包括任何适合的数量的计算机,并且这些计算机可以以任何适合的配置彼此通信地耦合。此外,下面在用于估计安装时间的阶段A-D中描述的操作可以被实施用于分布式环境中的产品安装(例如,当产品的不同组件/部件被安装在正常操作环境中的不同计算机上时)。
在阶段A,仪表化安装单元212的安装单元112确定为在正常操作环境202中安装产品而选择的安装配置选项。用户选择应该在正常操作环境202中安装的一个或多个组件(例如,服务、应用、文件等等)作为产品安装的一部分。安装配置选项包括用户为安装选择的产品组件的指示。在选择了安装配置选项之后,安装单元112确定与该安装配置选项相关联的安装计划。如下面将在图5中所描述的,该安装计划提供将被执行以根据安装配置选项安装产品的全部安装操作的逐步列表。
在阶段B,当前安装时间估计单元216识别与安装配置选项相关联的一个或多个计时参数和对应的计时系数。如参考图5将被进一步描述的,当前安装时间估计单元216基于安装配置选项和安装计划识别一个或多个计时参数。当前安装时间估计单元216从计时系数数据结构218访问与识别出的计时参数和安装配置选项相关联的对应计时系数。当前安装时间估计单元216还确定计时参数测试操作,该计时参数测试操作应该被执行以计算正常操作环境中的计时统计(“当前计时统计”)。在一些实现中,在正常操作环境202中执行的计时参数测试操作可以与在测试环境102中执行以确定测试环境计时统计的那些计时参数测试操作相同。
在阶段C,当前安装估计单元216基于计时参数和安装配置选项确定当前计时统计。如下面将参考图5进一步描述的,当前安装时间估计单元216在正常操作环境中的将在其上安装产品的机器上执行计时参数测试操作的预定次数的迭代,以确定对应的预定数量的初始计时参数值。然后,当前安装时间估计单元216确定预定数量的初始计时参数值的平均值以确定当前计时统计。例如,响应于将数据拷贝参数识别为与所选择的安装配置选项相关联的计时参数,当前安装时间估计单元216确定针对该数据拷贝参数的测试操作,并且执行针对该数据拷贝参数的测试操作的预定次数的迭代(例如20次迭代)。在这个示例中,当前安装时间估计单元216确定对应的20个数据拷贝时间值,并计算该20个数据拷贝时间值的平均值以确定当前数据拷贝时间值(在本示例中是当前计时统计)。
在阶段D,至少部分地基于与安装配置选项相关联的当前计时统计和计时系数,当前安装时间估计单元216估计与根据安装配置选项安装产品相关联的安装时间。如将参考图5描述的,对于每个计时参数,当前安装时间估计单元216计算与计时参数相关联的计时系数和为该计时参数确定的当前计时统计的乘积。然后,当前安装时间估计单元216把与每个计时参数相关联的计算出的乘积相加来估计安装时间。用于估计安装时间的表达式还可以考虑能影响安装时间的其他因素(例如误差容限和除计时参数以外的因素)。
应当注意的是,当基于在测试环境102中确定的计时系数估计正常操作环境中的安装时间时,测试环境102中的样机的操作可以被假定为相对于正常操作环境202中的机器来说是线性的。例如,可以确定,测试环境中的输入/输出(I/O)系统所支持的数据通信速度是10MBps,正常操作环境中的I/O系统所支持的数据通信速度是5Mbps。因为测试环境和正常操作环境之间的线性,可以假设在正常操作环境中执行一组操作的时间会是在测试环境中执行相同一组操作的时间的两倍。如果在估计安装时间时只考虑I/O操作,则正常操作环境中的安装时间可以是测试环境中的安装时间的两倍。作为另一个示例,在测试环境中执行一组数据库操作(例如,连接到数据库,执行诸如SQL询问之类的数据库询问,从数据库断开连接,等等)可以耗费第一数据库访问时间间隔(例如,5秒)。在正常操作环境中执行相同一组数据库操作可以耗费第二数据库访问时间间隔(例如,15秒)。由于测试环境和正常操作环境之间的线性,可以假设正常操作环境中的数据库比测试环境中的数据库慢三倍。因此可以确定,正常操作环境中的数据库相关操作与测试环境相比较将耗费三倍的时间量。
图3和图4描绘示出用于确定计时系数以便随后估计安装时间的示例操作的流程图。流程300在图3的框302开始。
确定安装配置选项(框302),其中根据所述安装配置选项在测试环境中安装产品。如上面参考图1所述,该安装配置选项指出应该安装哪些组件(例如,待安装的产品的服务、应用、文件等等)。安装配置选择屏幕可以呈现给用户(例如,网络管理员)。在一些实现中,安装配置选择屏幕可以呈现产品的组件列表,并且可以提示用户选择一个或多个应该作为产品安装的一部分被安装的组件。安装配置选项指出用户为安装选择该产品的哪些组件。流程在框304继续。
确定安装计划(框304),其包括将被执行以根据安装配置选项来安装产品的一个或多个安装操作。该安装计划提供将被执行以根据在框302确定的安装配置选项来安装产品的所有安装操作的逐步列表。例如,安装计划可以指出:第一组数据应该从安装磁盘拷贝到本地存储设备上,包括一个或多个表格的新数据库应该被创建,第二组数据应该被存储在数据库中,诸如此类。安装计划指出数据/文件拷贝操作、数据库操作、网络访问操作、过程启动或关闭操作、以及将被执行以根据安装配置选项安装产品的其他适合的操作的按时间顺序的列表。安装产品的不同组件通常涉及执行不同的安装操作。因此,安装计划可以取决于所选择的安装配置选项而变化(即,包括不同的安装操作组)。例如,与第一安装配置选项相关联的安装计划可以包括大量的数据库访问操作,与第二安装配置选项相关联的安装计划可以不包括任何数据库访问操作,而与第三安装配置选项相关联的安装计划可以只包括数据拷贝操作。流程在框306继续。
至少部分地基于与安装配置选项相关联的安装计划,识别影响根据安装配置选项安装产品的时间的一个或多个计时参数(框306)。安装计划可以包括数据拷贝操作(例如,文件移动操作)、I/O操作、数据库操作(例如,数据库访问、数据库修改、数据库创建等等)、过程关闭操作等等。因此,计时参数可以包括数据拷贝参数、数据库相关计时参数(例如,数据库访问参数、数据库修改参数、数据库创建参数等等)、过程关闭参数和其他适合的计时参数。通过识别影响安装时间的计时参数(或至少重要计时参数的子集),可以确定在正常操作环境中安装产品所需的时间的良好估计。无论安装过程复杂度如何,这都能够实现安装时间的预测。
与安装配置选项相关联的安装计划一般包括各种安装操作。一部分安装操作耗费最小的时间量(例如,列出目录的内容的命令),而另一些安装操作(例如,与应用相关联的操作)耗费较长的时间。取决于安装时间估计的期望精确度,安装计划的安装操作的一部分或全部可以用来识别计时参数以及确定用于正常操作环境中的安装时间的随后估计的计时参数。在一个实现中,在确定与所选择的安装配置选项相关联的计时参数时,安装计划的所有安装操作被考虑在内。例如,如果安装计划包含一组数据拷贝操作和过程关闭操作,则数据拷贝参数和过程关闭参数被选择为与所选择的安装配置选项相关联的计时参数。在另一个实现中,在确定与所选择的安装配置选项相关联的计时参数时,耗费最长持续时间的安装操作(例如,耗费总时间的预定百分比(例如,80%)的操作组)被考虑在内。在一个示例中,安装计划包括数据拷贝操作、数据库相关操作和过程关闭操作构成的组。如果确定数据库相关操作耗费了大部分时间量,则只将数据库操纵参数选择为与所选择的安装配置选项相关联的计时参数。在一些实现中,每组操作可以包括对应的组分子操作。例如,数据库相关操作可以包括创建数据库,建立到数据库的连接,将数据项存储在数据库中,执行数据库询问,以及终止与数据库的连接。在一些实现中,所有子操作都被考虑(例如,被考虑作为下述的计时参数测试操作的一部分)以确定下述的测试计时参数值。可替换地,数据库操纵参数可以被划分成数据库连接子参数、数据库询问子参数、数据库终止子参数、等等。然而,一部分子操作可能比其他子操作花费更长的时间来执行。在这个示例中,可以确定用于创建数据库的操作耗费了大部分时间(在一个示例中为80%)。因此,可以只考虑数据库创建子操作(例如,作为下述的计时参数测试操作的一部分)来确定下述的测试环境计时参数值。换言之,数据库访问参数可以只包括数据库连接子参数。流程在框308继续。
对于每个计时参数,识别应该被执行以确定测试计时参数值的计时参数测试操作(框308)。计时参数测试操作包括一组一个或多个操作,其应该被执行以确定在测试环境中的样机上执行针对计时参数的测试操作所花费的时间(见下述)。在一个示例中,数据拷贝参数和过程关闭参数被选择为与安装配置选项相关联的计时参数。因此,确定针对数据拷贝参数和过程关闭参数的计时参数测试操作(例如,基于对数据结构或适合的存储器位置的访问,基于硬编码到安装时间估计单元中的信息,等等)。例如,针对数据拷贝参数的计时参数测试操作包括将文件(例如,内存段)从一个位置拷贝到另一个位置。作为另一个示例,针对数据拷贝参数的计时参数测试操作包括将文件从一个存储设备拷贝到另一个存储设备。作为另一个示例,针对过程关闭参数的计时参数测试操作包括开始和终止一个或多个预定过程。作为又一个示例,针对数据库操纵参数的计时参数测试操作包括建立与数据库的连接,创建数据库,执行一个或多个数据库询问以及终止与数据库的连接。应当注意的是,在其他实现中,可以执行其他适合的计时参数测试操作。流程在框310继续。
针对测试环境中的多个样机中的每一个开始循环(框310)。在一些实现中,如果先验地获得对正常操作环境(例如,最终将在其中安装产品的客户环境)的认识,则测试环境中的样机被选择来近似地匹配正常操作环境中的机器配置。然而,在其他实现中,根据任何适合的样机配置来选择测试环境中的样机。在一些实现中,可以按照计算平台(或操作系统)选择预定数量的样机(例如,50台样机)。然而,样机的子集可以配置成实施计算平台的不同版本。例如,对于操作系统,样机的第一子集可以配置成实施Windows2000操作系统,样机的第二子集可以配置成实施Windows7操作系统,诸如此类。在一些实现中,构成子集中每一个子集的样机的数量是基于对正常操作环境中的机器配置的认识。在其他实现中,每个子集可以包括任意适合数量的样机。然后,下面在框312-314中所述的操作在每个样机上被执行以确定测试环境计时统计。流程在框312继续。
对于每个计时参数,执行与该计时参数相关联的计时参数测试操作以确定与该计时参数相关联的测试计时参数值(框312)。计时参数测试操作的预定次数的迭代在样机上被执行以确定对应的预定数量的初始计时参数值。计算预定数量的初始计时参数值的平均值以确定与该计时参数和样机相关联的测试计时参数值。在上面参考框308描述的一个示例中,与数据拷贝参数相关联的计时参数测试操作包括将文件从一个位置拷贝到另一个位置。计时参数测试操作被执行预定次数(例如,100次)以确定对应的预定数量的数据拷贝时间值。在该示例中,该文件从一个位置被拷贝到另一位置100次以确定对应的100个数据拷贝时间值。计算该100个数据拷贝时间值的平均值以确定针对该样机的测试数据拷贝时间值(Tcopy)。同样地,与过程关闭参数相关联的计时参数测试操作可以包括启动和终止预定的过程。计时参数测试操作被执行预定次数(例如,预定过程被启动并终止100次)以确定对应的100个过程关闭时间值。计算该100个过程关闭时间值的平均值以确定针对该样机的测试过程关闭时间值(Tshutdown)。应当注意的是,在其他实现中,可以执行针对其他适合的计时参数的测试操作以确定对应的测试计时参数值。例如,如上所述,与数据库操纵参数相关联的计时参数测试操作可以包括建立与数据库的连接,执行一个或多个数据库询问以及关闭与数据库的连接。这组针对数据库操纵参数的计时参数测试操作可以被执行100次来确定对应的100个数据库操纵时间值。可以计算这100个数据库操纵时间值的平均值以确定针对该样机的测试数据库操纵时间值。应当注意的是,数据库操纵时间间隔可以取决于数据库是远程还是本地的、通信网络拓扑、通信网络上的业务量等等。流程在图4中的框314继续。
执行与安装配置选项相关联的一个或多个安装操作以确定测试安装时间值(框314)。安装操作的预定次数的迭代在该样机上被执行以确定对应的预定数量的初始安装时间值。计算该预定数量的初始安装时间值的平均值以确定与该样机相关联的测试安装时间值。如上面参考框312的示例所述,与数据拷贝参数和过程关闭参数相关联的计时参数测试操作分别被执行100次以分别确定100个数据拷贝时间值和100个过程关闭时间值。同样地,在框314,与安装配置选项相关联的安装操作(在框304确定的)在样机上被执行100次,以确定针对该样机的对应的100个安装时间值。计算这100个安装时间值的平均值以确定针对该样机的测试安装时间值(Tinstall)。流程在框316继续。
确定在测试环境中是否有额外的样机要分析(框316)。如果确定在测试环境中有额外的样机要分析,则流程在图3中的框310继续,其中下一个样机被识别并且如上面在框312和314中描述的操作被执行用于该下一个样机。否则,流程在框318继续。
处理针对每个样机的测试计时参数值和测试安装时间值以识别针对每个计时参数的计时系数(框318)。为了方便起见,针对每个样机的测试计时参数值以及针对每个样机的测试安装时间值被统称为测试环境计时统计。对测试环境计时统计执行适合的数据外插操作(或统计分析)以识别与计时参数相关联的计时系数,如在表达式1中所述。例如,使用测试安装时间值和测试计时参数值来执行统计学分析,以确定安装时间和计时参数之间的关系。当采用线性回归技术时,安装时间和计时参数之间的关系由直线方程式来表达。在一个示例中,如表达式1中所述,可以基于针对每个样机的测试安装时间值(Tinstall)、针对每个样机的测试数据拷贝时间值(Tcopy)以及针对每个样机的过程关闭时间值(Tshutdown)来执行线性回归操作,以确定安装时间、数据拷贝时间以及过程关闭时间之间的关系。
Tinstall=常数+(Kcopy*Tcopy)+(Kshutdown*Tshutdown) 表达式1
在表达式1中,Kcopy和Kshutdown是分别与针对所选择的安装配置选项的数据拷贝参数和过程关闭参数相关联的计时系数(或回归系数)。常数也被称为误差项,并且能够捕获影响安装时间的其他因素(例如,除数据拷贝参数和过程关闭参数以外的因素)。在一些实现中,常数也可说明测量误差。通过结合为多个样机中的每一个所确定的测试安装时间值和测试计时参数值,来计算计时系数和常数。例如,根据线性回归操作,通过对为样机确定的测试计时参数值求和,将该总和乘以与计时参数相关联的计时系数,从测试安装时间值的总和中减去该结果,并将结果除以测试环境中的样机数量,可以计算出该常数。计时参数、对应的计时系数和该常数一起形成“安装时间估计表达式”,其被用来估计正常操作环境中的安装时间。应当注意的是,在另一些实现中,可以采用其他适合的数据外插技术、直线拟合技术、曲线拟合技术或数据分析技术来确定计时系数和安装时间估计表达式。还应当注意的是,尽管表达式1描述了具有数据拷贝参数和过程关闭参数的安装时间估计表达式,然而实施例并不限于此。在其他实现中,安装时间估计表达式可以包括任何适合数量和类型的计时参数。流程在框320继续。
存储计时系数、对应的计时参数和安装配置选项,以便随后用于估计正常操作环境中的安装时间(框320)。在一些实现中,计时系数、对应的计时参数和安装配置选项可以被存储为安装单元的一部分,该安装单元将被执行以在正常操作环境中安装产品。另外,为其确定安装时间估计表达式的平台(例如,是AIX还是Windows等等)也可以被存储为安装单元的一部分。如将在图5中进一步描述的,当选择安装配置选项时,可以选择适当的安装时间估计表达式,并且可以在正常操作环境中确定当前计时统计。当前计时统计可以在所选择的安装时间估计表达式中使用以估计正常操作环境中的安装时间。流程从框320结束。
图5是示出使用计时系数估计正常操作环境中的安装时间的示例操作的流程图。流程500在框502开始。
确定在正常操作环境中安装产品所根据的安装配置选项(框502)。如上面参考图3所述,一个安装配置选择屏幕被呈现给正常操作环境(例如,商务企业环境)中的用户(例如,企业网络管理员)。用户选择一个或多个组件(例如,服务、应用、文件等等),这些组件应该在正常操作环境中被安装作为产品安装的一部分。安装配置选项包括被用户选择用于安装的产品组件的指示。流程在框504继续。
确定包括将被执行以根据安装配置选项安装产品的一个或多个安装操作的安装计划(框504)。如上面参考图3所述,安装计划提供将被执行以根据安装配置选项安装产品的所有安装操作的逐步列表。安装产品的不同组件一般涉及执行不同的安装操作。因此,安装计划取决于所选择的安装配置选项而变化(即,包括不同的安装操作组)。流程在框506继续。
至少部分地基于与安装配置选项相关联的安装计划,选择预定的安装时间计算表达式(框506),其包括一个或多个计时参数和对应的计时系数的组合。如上面所述,与所选择的安装配置选项相关联的安装计划指出将被执行用于根据安装配置选项来安装产品的安装操作。分析安装计划以确定一个或多个与安装配置选项相关联的计时参数。例如,安装计划可以指出:数据拷贝操作、过程终止操作和数据库操纵操作将被执行以根据安装配置选项来安装产品。因此,可以将数据拷贝参数、过程关闭参数和数据库操纵参数选择为与安装配置选项相关联的计时参数。在一些实现中,用户可以指出安装时间应该以什么样的精确度得到估计。例如,为了确定非常精确的安装时间估计,可以在估计安装时间时考虑所有与安装配置选项相关联的计时参数。作为另一个示例,为了确定近似的安装时间估计,可以在估计安装时间时只考虑与安装配置选项相关联的计时参数的子集。在这个示例中,可以确定数据库操纵操作构成了安装操作的大部分(或耗费大部分的安装时间)。因此,可以只使用数据库操纵参数来估计安装时间。
基于对安装配置选项和对应的计时参数的认识,选择适当的安装时间估计表达式。在一些实现中,所选择的安装配置选项与多个安装时间估计表达式相关联。基于将被用来估计安装时间的计时参数,选择适当的安装时间估计表达式。例如,所选择的安装配置选项可以与两个安装时间估计表达式相关联—使用数据拷贝参数、过程关闭参数和数据库操纵参数的第一表达式、以及只使用数据库操纵参数的第二表达式。如果确定应该确定安装时间的近似估计、并且只应该使用数据库操纵参数,则可以选择第二安装时间估计表达式。流程在框508继续。
对于所选择的安装时间计算表达式的一个或多个计时参数中的每一个,识别应该被执行以确定当前计时参数值的计时参数测试操作(框508)。如上面参考图3中的框308所述,计时参数测试操作包括一组一个或多个操作,其应该被执行以确定在正常操作环境中执行针对计时参数(“当前计时参数值”)的测试操作要花费多长时间。在一些实现中,在正常操作环境中执行的计时参数测试操作可以与在测试环境中被执行用于确定安装时间估计表达式的那些操作相同。在一些实现中,计时参数测试操作可以被提供为安装单元的一部分(例如,硬编码或者存储在预定存储器位置)。如上面所述,在一个示例中,用于数据拷贝参数的计时参数测试操作包括将预定量的数据(例如,5GB的文件)从一个位置拷贝到另一个位置、或者从一个存储设备拷贝到另一个存储设备。作为另一个示例,用于数据库操纵参数的计时参数测试操作包括创建数据库,连接到数据库,执行一个或多个数据存储操作和数据访问操作,以及从数据库断开连接。作为另一个示例,用于过程关闭参数的计时参数测试操作包括启动和终止一个或多个预定过程。在一些实现中,作为针对过程关闭参数的计时参数测试操作的一部分被启动和终止的过程可以是已知存在于正常操作环境中的机器上的过程。在一些实现中,安装单元包括可能存在于正常操作环境中的机器上的一个或多个过程的列表(例如,硬编码为安装单元的一部分或者存储在预定存储器位置)。例如,对于Windows操作系统,这些过程可以包括Windows Telnet过程、Windows log on过程和Internet log on过程等等。为了执行针对过程关闭参数的计时参数测试操作,(例如,随机地,基于所列出的过程的优先级,基于所列出的过程在正常操作环境中的机器上的可用性,和/或基于其他适合的标准)可以选择一个或多个过程。然后,根据计时参数测试操作启动和终止所选择的过程以确定正常操作环境中的过程关闭时间(“当前过程关闭时间值”)。流程在框510继续。
对于每个计时参数,执行与该计时参数相关联的计时参数测试操作以确定与该计时参数相关联的当前计时参数值(框510)。如上面参考图3的框312所述,计时参数测试操作的预定次数的迭代在正常操作环境中的将在其上安装产品的机器上被执行,以确定对应的预定数量的初始计时参数值。计算预定数量的初始计时参数值的平均值,以确定在正常操作环境中执行相同过程(即,计时参数测试操作)所耗费的时间量。通常,安装单元可以包括确定该当前计时参数值的背景过程(或线程)。应当注意的是,与测试环境相比,计时参数测试操作可以在正常操作环境中执行更少的次数。例如,如果计时参数测试操作在测试环境中被执行100次来确定测试计时参数值,则可以在正常操作环境中执行20次计时参数测试操作来确定当前计时参数值。如上面参考图3的框312所述,针对数据拷贝参数的计时参数测试操作被执行预定次数(例如,20次),以确定对应的预定数量的数据拷贝时间值(例如,20个数据拷贝时间值)。计算这20个数据拷贝时间值的平均值以确定正常操作环境中的当前数据拷贝时间值(Tcurrent_copy)。同样地,当前过程关闭时间值(Tcurrent_shutdoown)和其他适合的当前计时参数值(例如,当前数据库操纵时间值)也在正常操作环境中被确定。流程在框512继续。
至少部分地基于当前计时统计和所选择的安装时间计算表达式,估计正常操作环境中的安装时间(框512)。例如,假设在框506选择的安装时间估计表达式是表达式1描述的表达式。如上面所述,计时系数Kcopy和Kshutdown以及常数是该安装时间估计表达式中的已知量。在这个示例中,适当的当前计时参数值(在框510确定的)是当前数据拷贝时间值Tcurrent_copy和当前过程关闭时间值Tcurrent_shutdoown。这些当前计时参数值被插入表达式2所示的安装时间估计表达式中。求解表达式2的右侧,以估计在正常操作环境中根据安装配置选项安装产品的安装时间。流程从框512结束。
Tcurrent_install=常数+(Kcopy*Tcurrent_copy)+(Kshutdown*Tcurrent_shutdoown) 表达式2
应当理解的是,图1-5是帮助理解实施例的示例,并且不应用来限制实施例或者限制权利要求的范围。实施例可以执行额外的操作,更少的操作,以不同顺序执行操作,并行执行操作,并且不同地执行一些操作。在一些实现中,在呈现了正常操作环境中的安装时间估计(例如,在显示单元上呈现给网络管理员)之后,网络管理员可以确定是否要终止(或开始)在正常操作环境中执行一个或多个过程。例如,如果安装时间的估计值较高,则网络管理员可以识别一个或多个可以被终止的过程,并且可以终止所识别的过程来潜在地减少安装时间。然后,网络管理员可以提供输入(例如,通过点击“开始安装”链接),以便开始根据安装配置选项在正常操作环境中进行的产品安装。
尽管示例描述了被考虑以确定安装时间估计表达式(见表达式1)和估计正常操作环境中的安装时间(见表达式2)的数据拷贝操作和过程关闭操作,然而实施例并不限于此。在其他实施例中,与安装配置选项相关联的安装计划的其他适合的操作被考虑,以确定安装时间估计表达式并估计正常操作环境中的安装时间。例如,网络往返、数据库往返、WebSphere往返、安装是否将在分布式环境中执行、安全和防火墙问题、以及其他这类因素也可以被考虑在内。
在一些实现中,用于生成安装时间估计表达式的功能(在图3和4中描述的)和用于使用安装时间估计表达式来估计安装时间的功能(在图5中描述的)可以被组合到独立的安装时间估计实体中。该独立的安装时间估计实体可以在正常操作环境中被执行来改善安装时间估计的精确度。换言之,作为在测试环境中执行图3-4的操作和基于在测试环境中收集的计时统计来确定安装时间估计表达式的替代,图3-4的操作可以在正常操作环境中(例如,在客户的企业环境中)被执行,并且可以基于在正常操作环境中获得的计时统计来确定安装时间估计表达式。裁制成适合于正常操作环境的安装时间估计表达式可以针对各种安装配置而被确定,并且可以随后被存储。响应于确定在正常操作环境中安装产品,可以执行图5的操作来选择适当的安装时间估计表达式并估计安装时间。
所属领域的技术人员将理解的是,本发明主题的各个方面可以实施为系统、方法或计算机程序产品。因此,本发明主题的各个方面可以采取以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、驻留软件、微代码等),或软件和硬件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。此外,本发明主题的各个方面还可以采取用一个或多个计算机可读介质实施的计算机程序产品的形式,该计算机可读介质上包含有计算机可读程序代码。
可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线或半导体的系统、装置或器件,或者任意以上的适当组合。计算机可读存储介质的更具体的示例(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机软盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件的上下文中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读信号介质可以包括例如在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读程序代码。这种传播的信号可以采用各种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明主题各方面的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言(诸如Java、Smalltalk、C++等),还包括常规的过程式程序设计语言(诸如“C”程序设计语言或类似的程序设计语言)。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
参照根据本发明主题的实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明主题的各方面。应当理解的是,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些计算机程序指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
也可以把这些计算机程序指令存储在计算机可读介质中,这些指令可以使得计算机、其它可编程数据处理装置、或其他设备以特定方式工作,使得存储在计算机可读介质中的指令产生包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品。
计算机程序指令还可以加载到计算机、其它可编程数据处理装置或其他设备上,以使一系列操作步骤在计算机、其它可编程装置或其他设备上被执行以产生计算机实现的过程,使得在计算机或其它可编程装置上执行的指令提供用于实现流程图和/或框图中的一个或多个方框中规定的功能/动作的处理。
图6是包括用于估计安装时间的机制的电子系统600的一个实施例的框图。电子系统600包括处理器单元602(可能包括多个处理器、多个核、多个节点和/或实施多线程,等等)。电子系统600包括存储器单元606。存储器单元606可以是系统内存(例如,一个或多个高速缓存、SRAM、DRAM、零电容RAM、双晶体管RAM、eDRAM、EDO RAM、DDR RAM、EEPROM、NRAM、RRAM、SONOS、PRAM等等),或者任何一个或多个上述机器可读介质的可能实现。电子系统600还包括总线610(例如,PCI、ISA、PCI-Express、、、NuBus、AHB、AXI等等)和网络接口604,该网络接口604包括至少一个无线网络接口(例如,WLAN接口、、WiMAX接口、接口、无线USB接口等等)和有线网络接口(例如,以太网接口、ATM接口、帧中继接口、SONET接口等等)。处理器单元602、存储器单元606和网络接口604被耦合到总线610。
电子系统600还包括安装时间估计单元808。安装时间估计单元808可以实施根据所选择的安装配置选项确定影响与安装产品相关联的安装时间的一个或多个计时参数的功能。如上面在图1、3和4中所述,安装时间估计单元808可以确定测试计时统计,并且可以使用该测试计时统计来确定与安装配置选项相关联的安装时间估计表达式。在正常操作环境中,安装时间估计单元808可以确定(例如,响应于用户输入)根据安装配置选项来安装产品。因此,安装时间估计单元808可以识别适当的安装时间估计表达式,并且可以确定正常操作环境中的当前计时统计。如上面在图2和5中所述,安装时间估计单元808可以使用安装时间估计表达式和当前计时统计来估计正常操作环境中的安装时间。
尽管图6描述了安装时间估计单元608被实施为电子系统600的一部分,然而应当指出在其他实现中,安装时间估计单元608也可以体现在不同的电路板(或集成电路)上并且可以在外部与处理器单元602和/或电子系统600耦合。例如,安装时间估计单元608可以被实施为安装单元的一部分,该安装单元包括并执行用于安装产品的操作。在一些实现中,电子系统600可以是电路板、片上系统、一个或多个集成电路的互连、或其他适合的电子系统。这些功能的任意一个可以局部(或整体)实施在硬件中,和/或实施在处理器单元602上。例如,该功能可以采用专用集成电路来实施,用处理器单元802上实现的逻辑来实施,实施在外围设备或卡的协处理器上,等等。此外,实现可以包括更少的组件或者在图8中未示出的额外组件(例如,视频卡、音频卡、附加网络接口、外围设备等等)。尽管被举例说明为耦合到总线610,然而存储器单元606也可以被耦合到处理器单元602。
虽然参考各种实施和开发描述了若干实施例,但是应当理解的是,这些实施例是说明性的并且本发明主题的范围并不限于此。通常,在此描述的用于估计安装时间的技术可以用与任何硬件系统一致的设施或硬件系统来实施。许多变化、更改、添加和改进是可能的。
多个实例可以被提供用于在此作为单个实例描述的组件、操作或结构。最后,各种组件、操作和数据存储之间的边界是有点随意的,并且在特定说明性配置的环境中举例说明了特定的操作。其他的功能分配是可预期的,并且可以落入本发明主题的范围内。通常,在示例性配置中作为单独组件呈现的结构和功能可以被实施为组合结构或组件。类似地,呈现为单个组件的结构和功能可以被实施为单独的组件。这些和其他变化、更改、添加和改进可以落入本发明主题的范围内。
Claims (19)
1.一种用于估计软件产品在操作环境中的安装时间的方法,所述方法包括:
根据安装配置选项识别计时参数,所述计时参数影响在测试环境中的多个样品计算机上安装软件产品的安装时间间隔;
识别一组计时参数测试操作以确定所述多个样品计算机的所述计时参数的测试值;
对于所述测试环境中的所述多个样品计算机中的每一个,
至少部分地基于所述一组计时参数测试操作,确定所述样品计算机的所述计时参数的测试值;
至少部分地基于根据所述安装配置选项执行的安装操作,确定所述样品计算机的安装时间的测试值;
基于针对所述多个样品计算机中的每一个确定的所述计时参数的测试值和所述安装时间的测试值,确定针对所述计时参数的计时系数;
记录所述计时系数和所述安装配置选项,其中基于所述计时系数和所述安装配置选项来估计在非测试操作环境中根据所述安装配置选项安装所述软件产品的安装时间间隔。
2.如权利要求1所述的方法,其中确定所述样品计算机的所述计时参数的测试值包括:
对于所述测试环境中的所述多个样品计算机中的每一个,
在预定次数的迭代中,
在所述样品计算机上执行所述一组计时参数测试操作;
基于在所述样品计算机上执行所述一组计时参数测试操作的计算机可用程序代码,确定所述计时参数的初始测试值;以及
计算所述初始测试环境计时参数值的平均值,以确定所述样品计算机的所述计时参数的测试值和所述计时参数。
3.如权利要求2所述的方法,其中确定所述样品计算机的安装时间的测试值包括:
对于所述测试环境中的所述多个样品计算机中的每一个,
在预定次数的迭代中,
在所述样品计算机上执行根据所述安装配置选项执行的所述安装操作;
基于在所述样品计算机上执行根据所述安装配置选项执行的所述安装操作的计算机可用程序代码,确定初始测试环境安装时间值;以及
计算所述初始测试环境安装时间值的平均值,以确定所述样品计算机的所述安装时间的测试值。
4.如权利要求1所述的方法,还包括:
在所述测试环境中确定在所述多个样品计算机中的每一个上安装所述产品所根据的所述安装配置选项;
对于所述安装配置选项,确定安装计划,所述安装计划包括用于根据所述安装配置选项安装所述产品的一个或多个安装操作;以及
至少部分地基于用于所述安装配置选项的所述安装计划,识别计时参数,所述计时参数影响根据所述安装配置选项在所述测试环境中的所述多个样品计算机上安装所述产品的安装时间间隔。
5.如前述权利要求中任一项所述的方法,其中记录所述计时系数和所述安装配置选项包括:
将针对所述计时参数的计时系数和所述安装配置选项存储为安装单元的一部分,其中执行所述安装单元以用于在所述非测试操作环境中安装所述产品。
6.如权利要求1所述的方法,其中记录所述计时系数和所述安装配置选项包括:
生成用于估计与根据所述安装配置选项安装所述产品相关联的所述安装时间间隔的安装时间计算表达式,其中所述安装时间计算表达式包括至少所述计时参数和与所述计时参数相关联的计时系数的组合;以及
将所述安装时间计算表达式存储为安装单元的一部分,其中执行所述安装单元以用于在所述非测试操作环境中安装所述产品。
7.如权利要求1所述的方法,
其中所述计时参数包括以下参数中的至少一个:数据拷贝参数、过程关闭参数、数据库参数、网络往返参数、以及硬盘访问参数,以及
其中所述计时参数的测试值包括下述中的至少一个:数据拷贝时间间隔、过程关闭时间间隔、数据库时间间隔、网络往返时间间隔、以及硬盘访问时间间隔。
8.如前述权利要求中任一项所述的方法,其中安装所述产品包括安装所述产品的多个组件,其中所述安装配置选项指示所述产品的被选择用于安装的组件的至少一子集。
9.一种用于估计软件产品在操作环境中的安装时间的方法,所述方法包括:
对于所选择的安装配置选项,确定用于根据所述安装配置选项在非测试操作环境中安装产品的一个或多个安装操作;
至少部分地基于所述一个或多个安装操作,选择多个预定的安装时间计算表达式中的第一表达式,所述第一表达式包括至少计时参数和与所述计时参数相关联的计时系数的组合;
识别一组计时参数测试操作,以确定所述非测试操作环境中的所述计时参数的当前值;
至少部分地基于识别出的一组计时参数测试操作,确定所述计时参数的当前值;以及
至少部分地基于所述计时参数的当前值、对应的计时系数和所述多个安装时间计算表达式中的第一表达式,估计与在所述非测试操作环境中根据所述安装配置选项安装所述产品相关联的安装时间间隔。
10.如权利要求9所述的方法,其中确定所述计时参数的当前值包括:
在预定次数的迭代中,
在所述非测试操作环境中执行所述一组计时参数测试操作;
基于在所述非测试操作环境中执行所述一组计时参数测试操作的计算机可用程序代码,确定初始计时参数值;以及
计算所述初始计时参数值的平均值以确定所述计时参数的当前值。
11.如权利要求9所述的方法,其中在测试环境中确定所述多个安装时间计算表达式中的第一表达式、所述多个安装时间计算表达式中的第一表达式的计时参数、以及与所述计时参数相关联的计时系数。
12.如权利要求9所述的方法,还包括:
在所述非测试操作环境中确定所述多个安装时间计算表达式中的第一表达式、所述多个安装时间计算表达式中的第一表达式的计时参数、以及与所述计时参数相关联的计时系数,
其中在所述非测试操作环境中确定所述多个安装时间计算表达式中的第一表达式、所述多个安装时间计算表达式中的第一表达式的计时参数、以及与所述计时参数相关联的计时系数包括:
根据所述安装配置选项识别所述计时参数,所述计时参数影响在所述非测试操作环境中安装所述产品的安装时间间隔;
在预定次数的迭代中,
在所述非测试操作环境中执行与所述计时参数相关联的所述一组计时参数测试操作;
基于在所述非测试操作环境中执行与所述计时参数相关联的所述一组计时参数测试操作的计算机可用程序代码,确定初始计时参数值;
在所述非测试操作环境中执行根据所述安装配置选项执行的所述安装操作;
基于在所述非测试操作环境中执行根据所述安装配置选项执行的所述安装操作的计算机可用程序代码,确定初始安装时间值;
计算所述初始计时参数值的平均值,以确定所述非测试操作环境中的所述计时参数的测试值;
计算所述初始安装时间值的平均值,以确定所述非测试操作环境中的所述安装时间的测试值;
基于对所述计时参数的测试值和所述安装时间的测试值的分析,确定针对所述计时参数的计时系数。
13.如权利要求9所述的方法,还包括:
响应于用户选择,确定在所述非测试操作环境中安装所述产品所根据的安装配置选项,其中安装所述产品包括安装所述产品的多个组件,其中所述安装配置选项指示所述产品的被选择用于安装的组件的至少一子集。
14.一种系统,包括:
处理器,以及
与所述处理器耦合的安装时间估计单元,所述安装时间估计单元可操作以:
根据安装配置选项识别计时参数,所述计时参数影响在测试环境中的多个样品计算机上安装产品的安装时间间隔;
识别一组计时参数测试操作以确定所述多个样品计算机的所述计时参数的测试值;
对于所述测试环境中的所述多个样品计算机中的每一个,
至少部分地基于所述一组计时参数测试操作,确定所述样品计算机的所述计时参数的测试值;
至少部分地基于根据所述安装配置选项执行的安装操作,确定所述样品计算机的安装时间的测试值;
基于针对所述多个样品计算机中的每一个确定的所述计时参数的测试值和所述安装时间的测试值,确定针对所述计时参数的计时系数;
记录所述计时系数和所述安装配置选项,其中基于所述计时系数和所述安装配置选项来估计在非测试操作环境中根据所述安装配置选项安装所述产品的安装时间间隔。
15.如权利要求14所述的系统,其中,对于所述测试环境中的所述多个计算机中的每一个,所述安装时间估计单元可操作以确定所述计算机的所述计时参数的测试值包括:所述安装时间估计单元可操作以:
对于所述测试环境中的所述多个计算机中的每一个,
在预定次数的迭代中,
在所述计算机上执行所述一组计时参数测试操作;
基于所述安装时间估计单元在所述计算机上执行所述一组计时参数测试操作,确定初始测试环境计时参数值;以及
计算所述初始测试环境计时参数值的平均值,以确定所述计算机的所述计时参数的测试值和所述计时参数。
16.如权利要求15所述的系统,其中,对于所述测试环境中的所述多个计算机中的每一个,所述安装时间估计单元可操作以确定所述计算机的安装时间的测试值包括:所述安装时间估计单元可操作以:
对于所述测试环境中的所述多个计算机中的每一个,
在预定次数的迭代中,
在所述计算机上执行根据所述安装配置选项执行的所述安装操作;
基于所述安装时间估计单元在所述计算机上执行根据所述安装配置选项执行的所述安装操作,确定初始测试环境安装时间值;以及
计算所述初始测试环境安装时间值的平均值,以确定所述计算机的所述安装时间的测试值。
17.如权利要求14所述的系统,其中所述安装时间估计单元可操作以记录所述计时系数和所述安装配置选项包括:所述安装时间估计单元可操作以:
生成用于估计与根据所述安装配置选项安装所述产品相关联的所述安装时间间隔的安装时间计算表达式,其中所述安装时间计算表达式包括至少所述计时参数和与所述计时参数相关联的计时系数的组合。
18.如权利要求14所述的系统,其中所述安装时间估计单元还可操作以:
响应于所述安装时间估计单元确定根据所述安装配置选项在所述非测试操作环境中安装所述产品,至少部分地基于所述安装操作,选择多个预定的安装时间计算表达式中的第一表达式,所述第一表达式包括至少计时参数和与所述计时参数相关联的计时系数的组合;
在预定次数的迭代中,
在所述非测试操作环境中执行所述一组计时参数测试操作;
基于所述安装时间估计单元在所述非测试操作环境中执行所述一组计时参数测试操作,确定初始计时参数值;以及
计算所述初始计时参数值的平均值以确定所述计时参数的当前值;以及
至少部分地基于所述计时参数的当前值、所述计时系数、以及所述多个安装时间计算表达式中的第一表达式,估计与在所述非测试操作环境中根据所述安装配置选项安装所述产品相关联的所述安装时间间隔。
19.一种计算机程序产品,用于估计软件产品在操作环境中的安装时间,所述计算机程序产品包括计算机可用程序代码,所述计算机可用程序代码被包含在计算机可读信号介质上,且被配置成当在计算机上执行时执行如权利要求1-13中任一项的步骤。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/342,567 US8661431B2 (en) | 2012-01-03 | 2012-01-03 | Accurately estimating install time |
US13/342,567 | 2012-01-03 | ||
PCT/IB2012/057289 WO2013102813A1 (en) | 2012-01-03 | 2012-12-13 | Software installation |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104025048A true CN104025048A (zh) | 2014-09-03 |
CN104025048B CN104025048B (zh) | 2017-01-11 |
Family
ID=48696036
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280065808.7A Active CN104025048B (zh) | 2012-01-03 | 2012-12-13 | 用于估计软件产品在操作环境中的安装时间的方法和系统 |
Country Status (4)
Country | Link |
---|---|
US (3) | US8661431B2 (zh) |
CN (1) | CN104025048B (zh) |
DE (1) | DE112012005559T5 (zh) |
WO (1) | WO2013102813A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107122205A (zh) * | 2017-04-11 | 2017-09-01 | 上海众开信息科技有限公司 | 安装程序的安装时间确定方法及装置 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008147974A1 (en) * | 2007-05-23 | 2008-12-04 | University Of South Florida | Micro-rnas modulating immunity and inflammation |
US8661431B2 (en) | 2012-01-03 | 2014-02-25 | International Business Machines Corporation | Accurately estimating install time |
US9430750B2 (en) | 2014-10-27 | 2016-08-30 | International Business Machines Corporation | Predictive approach to environment provisioning |
US10042677B2 (en) * | 2016-05-25 | 2018-08-07 | Bank Of America Corporation | Maintenance conflict tool |
US11687501B2 (en) | 2016-06-24 | 2023-06-27 | Spectra Logic Corporation | Informed data retrieval |
US10650621B1 (en) | 2016-09-13 | 2020-05-12 | Iocurrents, Inc. | Interfacing with a vehicular controller area network |
CN106708728B (zh) * | 2016-11-18 | 2019-06-04 | 武汉斗鱼网络科技有限公司 | 自动测试Android应用启动时间的方法及系统 |
US10620930B2 (en) | 2017-05-05 | 2020-04-14 | Servicenow, Inc. | Software asset management |
US11853785B1 (en) * | 2020-03-02 | 2023-12-26 | Amazon Technologies, Inc. | Virtual machine cloning and resource configuration |
Family Cites Families (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5628013A (en) * | 1992-09-30 | 1997-05-06 | Apple Computer, Inc. | Apparatus and method for allocating processing time in a frame-based computer system |
US5355305A (en) * | 1992-10-29 | 1994-10-11 | Johnson Service Company | Pattern recognition adaptive controller |
US5805898A (en) * | 1995-02-24 | 1998-09-08 | International Business Machines Corporation | Method and apparatus for estimating installation time in a data processing system |
JP2000276454A (ja) | 1999-03-26 | 2000-10-06 | Hitachi Ltd | ソフトウェアの構成方法 |
US6738748B2 (en) * | 2001-04-03 | 2004-05-18 | Accenture Llp | Performing predictive maintenance on equipment |
JP2003044155A (ja) * | 2001-07-30 | 2003-02-14 | Hitachi-Lg Data Storage Inc | ソフトウェアのインストール方法及びファームウェアのアップデート方法及びそれらに用いる記録再生装置及び記録媒体 |
US20030074379A1 (en) | 2001-10-11 | 2003-04-17 | International Business Machines Corporation | Apparatus and method of predicting file download time based on historical data |
US20030158803A1 (en) * | 2001-12-20 | 2003-08-21 | Darken Christian J. | System and method for estimation of asset lifetimes |
US7437704B2 (en) * | 2003-08-28 | 2008-10-14 | Ines Antje Dahne-Steuber | Real-time generation of software translation |
JP4363295B2 (ja) * | 2004-10-01 | 2009-11-11 | オムロン株式会社 | ステレオ画像による平面推定方法 |
CN100361079C (zh) | 2005-11-09 | 2008-01-09 | 浪潮电子信息产业股份有限公司 | 多台计算机整机系统的同步自动安装测试方法 |
WO2007072310A1 (en) * | 2005-12-22 | 2007-06-28 | Shapiro Alan J | System and method for software delivery |
US7770167B1 (en) * | 2005-12-30 | 2010-08-03 | United Services Automobile Association (Usaa) | Method and system for installing software |
JP2007213343A (ja) * | 2006-02-09 | 2007-08-23 | Canon Inc | インストール装置及びインストール方法及びプログラム及び記憶媒体 |
DE102006050938A1 (de) * | 2006-10-28 | 2008-04-30 | Abb Technology Ag | Verfahren zur vorausschauenden Ermittlung einer Prozessgröße |
US20080108435A1 (en) | 2006-11-03 | 2008-05-08 | Igt | Monitoring and controlling gaming-environments |
US8495592B2 (en) * | 2006-11-28 | 2013-07-23 | International Business Machines Corporation | Presenting completion progress status of an installer via join points |
US7802083B2 (en) * | 2006-12-20 | 2010-09-21 | Intel Corporation | Utilization based installation on a computing system |
US8266260B2 (en) | 2007-12-11 | 2012-09-11 | Sharp Laboratories Of America, Inc. | Method and system for updating the software of multiple network nodes |
US20090187822A1 (en) * | 2008-01-23 | 2009-07-23 | Microsoft Corporation | System auditing for setup applications |
US8140552B2 (en) * | 2008-09-19 | 2012-03-20 | International Business Machines Corporation | Method and apparatus for optimizing lead time for service provisioning |
US8301395B2 (en) * | 2008-09-22 | 2012-10-30 | Abbott Diabetes Care Inc. | Analyte testing systems |
EP2239676A1 (de) * | 2009-04-09 | 2010-10-13 | Biotronik CRM Patent AG | Verfahren und Anordnung zur Vorhersage mindestens eines Systemereignisses sowie ein entsprechendes Computerprogramm und ein entsprechendes computerlesbares Speichermedium |
JP4510128B1 (ja) * | 2009-05-29 | 2010-07-21 | 株式会社エイツー | 地震判定システム及び地震解析方法 |
US9196009B2 (en) * | 2009-06-22 | 2015-11-24 | Johnson Controls Technology Company | Systems and methods for detecting changes in energy usage in a building |
US8706771B2 (en) * | 2009-09-30 | 2014-04-22 | Smartshift Gmbh | Systems and methods for analyzing and transforming an application from a source installation to a target installation |
US8572566B2 (en) * | 2010-05-11 | 2013-10-29 | Smartshift Gmbh | Systems and methods for analyzing changes in application code from a previous instance of the application code |
JP5541666B2 (ja) * | 2009-10-15 | 2014-07-09 | キヤノン株式会社 | 画像形成装置、画像形成装置の制御方法及びプログラム |
GB2477366B (en) * | 2009-11-12 | 2013-06-19 | Onzo Ltd | Data storage and transfer |
US8918585B2 (en) * | 2010-01-28 | 2014-12-23 | Hitachi, Ltd. | Management system calculating storage capacity to be installed/removed |
EP2572294B1 (en) * | 2010-05-18 | 2021-04-07 | Tata Consultancy Services Limited | System and method for sql performance assurance services |
DE102012103654A1 (de) * | 2011-05-17 | 2012-11-22 | International Business Machines Corp. | Installieren und Prüfen einer Anwendung auf einer stark genutzten Computerplattform |
US20130167131A1 (en) * | 2011-12-22 | 2013-06-27 | Samuel L. Carson | Computer operating system install time predictor |
US8661431B2 (en) | 2012-01-03 | 2014-02-25 | International Business Machines Corporation | Accurately estimating install time |
US9390388B2 (en) * | 2012-05-31 | 2016-07-12 | Johnson Controls Technology Company | Systems and methods for measuring and verifying energy usage in a building |
-
2012
- 2012-01-03 US US13/342,567 patent/US8661431B2/en not_active Expired - Fee Related
- 2012-12-13 DE DE112012005559.4T patent/DE112012005559T5/de active Pending
- 2012-12-13 CN CN201280065808.7A patent/CN104025048B/zh active Active
- 2012-12-13 WO PCT/IB2012/057289 patent/WO2013102813A1/en active Application Filing
-
2014
- 2014-01-08 US US14/150,339 patent/US9170799B2/en not_active Expired - Fee Related
-
2015
- 2015-09-23 US US14/862,816 patent/US9996332B2/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107122205A (zh) * | 2017-04-11 | 2017-09-01 | 上海众开信息科技有限公司 | 安装程序的安装时间确定方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
DE112012005559T5 (de) | 2014-09-18 |
US20140123128A1 (en) | 2014-05-01 |
WO2013102813A1 (en) | 2013-07-11 |
US9170799B2 (en) | 2015-10-27 |
CN104025048B (zh) | 2017-01-11 |
US9996332B2 (en) | 2018-06-12 |
US8661431B2 (en) | 2014-02-25 |
US20130174140A1 (en) | 2013-07-04 |
US20160011861A1 (en) | 2016-01-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104025048A (zh) | 软件安装 | |
CN112567688B (zh) | 用于嵌入的云微服务的自动调谐器 | |
US11226805B2 (en) | Method and system for predicting upgrade completion times in hyper-converged infrastructure environments | |
US8341178B2 (en) | SQL performance analyzer | |
KR102083766B1 (ko) | 애플리케이션별 자원 사용량 정보의 제공 기법 | |
Oliner et al. | Carat: Collaborative energy diagnosis for mobile devices | |
JP2022003566A (ja) | ヒープをため込んでいるスタックトレースを特定するための、スレッド強度とヒープ使用量との相関 | |
JP5313990B2 (ja) | 応答時間に基づいてサービスリソース消費を推定すること | |
US20140289418A1 (en) | Methods and systems for planning execution of an application in a cloud computing system | |
US20110041126A1 (en) | Managing workloads in a virtual computing environment | |
US20120317266A1 (en) | Application Ratings Based On Performance Metrics | |
US7634561B2 (en) | Application usage metering management system | |
US20130254742A1 (en) | Software Portfolio Management Based on Feature Usage | |
US20150261523A1 (en) | System and methods for declaration-based extension management for multi-tenant environments | |
CN109324962B (zh) | 一种基于云物联技术的应用程序的测试方法及设备 | |
US11057280B2 (en) | User interface with expected response times of commands | |
Barve et al. | Fecbench: A holistic interference-aware approach for application performance modeling | |
CN109460003A (zh) | 车辆故障预测建模方法及系统 | |
US20190215262A1 (en) | System and method for dynamically testing networked target systems | |
CN116974874A (zh) | 数据库的测试方法、装置、电子设备及可读存储介质 | |
CN110971478A (zh) | 云平台服务性能的压测方法、装置及计算设备 | |
US20120265879A1 (en) | Managing servicability of cloud computing resources | |
EP2633450A1 (en) | Systems and methods for scheduling changes | |
US20240095397A1 (en) | Evaluating machine learning on remote datasets using confidentiality-preserving evaluation data | |
US20230066193A1 (en) | Determining content output session outliers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |