用于对传感器测量值进行预处理的方法和系统与流程

文档序号:16637186发布日期:2019-01-16 07:08阅读:375来源:国知局
用于对传感器测量值进行预处理的方法和系统与流程

本发明涉及对主机设备和/或存储系统的传感器测量值进行预处理,更具体地,涉及对传感器测量值进行预处理以便将总时延测量值分解为其相加时延分量。



背景技术:

支持虚拟机的存储平台的一个重要性能测量是虚拟机提交请求(例如,读取请求、写入请求)至存储平台时该虚拟机所经历的时延。存储平台可包括主机设备(即,物理设备),虚拟机在主机设备(即,物理设备)上被实例化。存储平台可包括使虚拟机与主机设备的物理硬件相联系的管理程序(即,运行于主机设备上的软件程序)。存储平台可包括将管理程序连接至远程存储系统(即,从主机设备的角度看是远程的)的网络。存储平台还可包括实现请求(例如,提供读取请求所请求的数据,将来自写入请求的数据写入存储介质)的远程存储系统。下面在本文中讨论分析虚拟机经历的时延以便帮助系统管理员(或其他个人)诊断虚拟机所经历的时延的主要成因的技术。



技术实现要素:

根据一个实施例,虚拟机所经历的时延(例如,读取时延、写入时延)的测量值可被分解为其相加时延分量,包括主机时延、内核时延、网络时延和存储时延。

主机时延可以是虚拟机处理读取命令或写入命令所花费的平均时间量(包括由于虚拟机的应用和客户操作系统而造成的时延),并可被确定为从自虚拟机的虚拟磁盘报告(例如,经由管理程序管理器的应用程序接口(api)报告)的总时延中减去从存储虚拟磁盘的数据存储报告(例如,经由管理程序管理器的api报告)的总时延。如果非显而易见,术语“主机时延”并不指由于主机设备而造成的全部时延,而仅仅是运行于主机设备上的虚拟机所导致的时延。尽管内核时延(如下描述)也与该主机设备相关联,但内核时延通常不包括在主机时延中。

内核时延可以是管理程序(特别是管理程序的内核)处理读取命令或写入命令所花费的平均时间量(包括命令停留在管理程序的队列中的时间)。内核时延可从存储虚拟磁盘的数据存储报告(例如,经由管理程序管理器的api报告)。

网络时延可以是网络从主机设备传输请求至存储系统并从存储系统传回应答(如果必要)至主机设备所花费的平均时间量。网络时延可被确定为从数据存储报告的设备时延中减去存储系统所报告的存储时延。

设备时延可以是主机设备从存储系统读取或向存储系统写入所花费的平均时间(排除由于主机设备而造成的任何时延)。设备时延可从存储虚拟磁盘的数据存储报告(例如,经由管理程序管理器的api报告)。

存储时延可以是存储系统处理读取请求或写入请求所花费的平均时间量。存储时延可从存储系统(例如,经由存储系统的存储系统api)报告。

时延时间序列可利用表示上述相加时延分量的补充信息来显示,这允许个人可视地确定时延随时间的主要成因。

根据一个实施例,传感器测量值可在与其他传感器测量值合并之前首先被预处理。例如,从数据存储报告的设备时延和/或从存储系统报告的存储时延可在从设备时延中减去存储时延以得到网络时延之前首先被预处理。同样地,从虚拟磁盘报告的总时延和/或从数据存储报告的总时延可在从自虚拟磁盘报告的总时延中减去从数据存储报告的总时延之前进行预处理。预处理可包括数据插值或数据平均(例如,在数据存储和存储系统之间的数据报告速率不同的情况下)、数据估计(例如,用于填充缺失的数据)、时移(在数据样本以不正确的时间戳被标记的情况下)等。

根据一个实施例,分析服务器可从存储系统接收第一时延时间序列,并从管理程序管理器接收第二时延时间序列。管理程序管理器可对使主机设备的虚拟机与存储系统相联系的管理程序进行管理。分析服务器可处理第一时延时间序列和第二时延时间序列。然后分析服务器可基于第一时延时间序列和第二时延时间序列的相应处理后版本来计算第三时延时间序列。最终,分析服务器可实现第三时延时间序列在客户端设备上的显示。

结合以下附图对本发明的这些实施例和其他实施例进行更充分地描述。

附图说明

图1描述了根据一个实施例的通信路径(包括客户端设备、主机设备和存储系统)和用于监视并分析在通信路径中的多个点提取的传感器测量值的监视/分析路径(包括监视服务器、测量数据存储、分析服务器和客户端设备)的系统图。

图2描述了根据一个实施例的其中主机设备、管理程序管理器和存储系统可通信地相互耦接的系统图。

图3描述了根据一个实施例的其中传感器测量值由分析服务器接收并处理的系统图。

图4描述了根据一个实施例的用于处理传感器测量值的算法的流程图。

图5描述了根据一个实施例的对接收自存储系统应用程序接口(api)的数据进行插值的示例。

图6描述了根据一个实施例的来自vmwareapi的时间段与来自存储系统api的时间段的示例对齐。

图7描述了根据一个实施例的随时间的虚拟机时延被叠加以其相加时延分量的分解的图示。

图8描述了其中实例化本发明方法的计算机可读指令可被存储并执行的计算机系统的部件。

具体实施方式

在如下优选实施例的详细描述中,参考了形成其一部分的附图,附图中以示例方式示出本发明可被实现的具体实施例。应当理解,还可利用其他实施例,而且可以进行结构改变,而不偏离本发明的范围。与任一附图相关的描述可应用于包含相同或相似部件/步骤的不同附图。尽管顺序图均以特定顺序呈现一系列步骤,但某些步骤的顺序可进行改变。

图1描述了根据一个实施例的通信路径(包括客户端设备102、网络104、主机设备106、网络108和存储系统110)和用于分析并监视在通信路径中的多个点提取的传感器测量值的监视/分析路径(包括监视服务器112、测量值数据库114、网络116、分析服务器118、网络120和客户端设备122)的系统图100。以下在图2中更详细地描述了沿着从主机设备106、网络108到存储系统110的通信路径的一部分进行的传感器测量。

客户端设备102可将请求(例如,访问金融数据的请求、访问电子邮件的请求、上传视频的请求等)传输至在其上应用(例如,来自金融企业的应用、电子邮件应用、视频共享应用等)被实例化的主机设备106。在某些实例,数据可直接从主机设备106的存储介质获取,或可存储于主机设备106的存储介质上。在其它实例,数据可从存储系统110获取,或可存储于存储系统110上,需要主机设备106代表客户端设备102将读取请求和/或写入请求传输至存储系统110。

在监视/分析路径中,传感器测量值可从主机设备106和/或存储系统110经网络108收集至测量值数据库114(例如,代理/守护进程可位于主机设备106和/或存储系统110上,其经网络108将传感器测量值发送至测量值数据库114)。附加地或可替代地,传感器测量值可由监视服务器112从主机设备106和/或存储系统110收集,然后存储于测量值数据库114。在又一实施例(未描述)中,监视服务器112和测量值数据库114可以是主机设备106和/或存储系统110的一部分。分析服务器118可对传感器测量值进行处理(这种处理在下文参考图3来描述),并实现结果数据在客户端设备122上的显示。

客户端设备102和122均可以是台式计算机、笔记本电脑、移动电话、平板计算设备和其他任何计算设备中的任意一种。在某些实施例,客户端设备102和122为单个计算设备的一部分。主机设备106可以是服务器或任何其他计算设备。网络104、108、116和120可以是任何形式的通信装置,而且在某些情况下可以是单个通信链路(例如,有线或无线),或一个或多个通信网络,包括私有网络、公共网络和/或公共网络上的虚拟私有网络。

图2描述为了更详细地说明系统图100的部分而被呈现的系统图200。如系统图200中所描述,主机设备106、管理程序管理器216和存储系统110可通信地相互耦接。虚拟机(vm)202和管理程序204可在主机设备106上被实例化,并且管理程序204可将vm202和其他vm(未描述)连接至主机设备106的物理硬件206。管理程序的示例包括esxtm(来自加利福尼亚州帕洛阿尔托的威睿公司(vmware,inc.tm))、hyper-vtm(来自华盛顿州雷德蒙德的微软公司(microsoftcorp.tm))以及xenprojecttm(由加利福尼亚州旧金山的linuxfoundationtm开发)。vm202可包括一个或多个软件应用(即,通常简称为“应用”或“app”)和操作系统。物理硬件206可包括处理器(被配置为执行计算机可读指令)、内存(被配置为存储计算机可读指令和数据)、磁盘存储器(也被配置为存储计算机可读指令和数据)和相关部件。因为物理硬件206的存储容量可能是有限的,所以管理程序204也可将vm202与存储系统110(通常具有大量的存储容量)连接。

存储系统110可以是nimblestoragearraytm或nimblestorageall-flasharraytm(均来自加利福尼亚州圣何塞的敏博系统存储有限公司(nimblestorage,inc.tm))。卷208可以是存储系统110中可用的存储空间的逻辑部分(即,由映射至存储系统的一组物理地址的一组逻辑地址来定义)。卷208的一部分可存储数据存储210(包含管理程序204的数据和计算机可读指令)。以下的描述将假设数据存储和卷之间的一一对应关系(为便于描述),尽管这种关系可能通常并未保持。数据存储210的一部分可存储虚拟磁盘212,也称虚拟机磁盘或vmdk(包含vm202的数据和计算机可读指令)。以下的描述将假设虚拟磁盘和数据存储之间的一一对应关系(为便于描述),尽管这种关系可能通常并未保持。vm202的数据可包括vm202的应用的数据、vm202的操作系统的数据、vm202的操作状态(例如,上电、断电、悬挂等)等。vm202的计算机可读指令可对vm202的操作系统、vm202的应用等进行编码。

存储系统110可经由管理程序管理器216与管理程序204通信。管理程序管理器的示例为来自威睿公司的vcenterservertm。管理程序管理器216可在服务器214上被实例化,而服务器214可以是监视服务器112的一部分(如图1所描述)。由管理程序管理器216执行的一个任务是从主机设备106收集传感器测量值。此外,管理程序管理器216可收集关于数据存储210、虚拟磁盘212和管理程序204的传感器测量值。管理程序管理器216可附加地被配置为执行与传感器测量值的收集无关的任务,诸如提取vm快照等。应注意,存储系统110可直接与管理程序204通信,以在没有管理程序管理器216的帮助下收集传感器测量值。

感兴趣的传感器测量值可包括主机时延、内核时延、设备时延、网络时延和存储时延。主机时延可以是vm202处理读取命令或写入命令所花费的平均时间量(包括由于虚拟机的应用和客户操作系统而导致的时延)。内核时延可以是管理程序204(具体是管理程序的内核)处理取读取命令或写入命令所花费的平均时间量(包括命令停留在管理程序的队列中的时间)。设备时延可以是主机设备106从存储系统110读取或向存储系统110写入所花费的平均时间(排除由于主机设备106而导致的任何时延)。网络时延可以是网络108将请求从主机设备106传输至存储系统110并将应答(如果必要)从存储系统110传回至主机设备106所花费的平均时间量。存储时延可以是存储系统110处理读取请求或写入请求所花费的平均时间量。如图2所描述,设备时延可等于网络时延和存储时延的总和。

图3描述了根据一个实施例的系统图300,其中传感器测量值由分析服务器118接收和处理。在系统图300中,分析服务器118被描述为从管理程序管理器216和存储系统110直接接收多个传感器测量值。尽管这种布置是可能的,但应理解,图3可以是图1的简化表示,其中分析服务器118可获取首先存储于测量值数据库114的传感器测量值。

更具体地,分析服务器118可从vmware应用程序接口(api)302(其可以是管理程序管理器216的一部分)接收多个测量值。这些测量值可涉及数据存储210(这种测量从“数据存储级”报告)和虚拟磁盘212(这种测量从“虚拟磁盘级”报告)。“数据存储级”下的测量值可包括每秒操作次数(缩写为“ops”)、吞吐量、内核时延、设备时延、以及内核+设备的总时延。更具体地,ops可指每秒对数据存储210执行的读取操作的平均次数,或每秒对数据存储210执行的写入操作的平均次数。吞吐量可指每秒从数据存储210读取的比特的平均数,或每秒写入数据存储210的比特的平均数。内核时延和设备时延已在上文结合图2描述。

“虚拟磁盘级”下的测量值可包括每秒操作次数(缩写为“ops”)、吞吐量、以及主机+内核+设备的总时延。更具体地,ops可指每秒对虚拟磁盘212执行的读取操作的平均次数,或每秒对虚拟磁盘212执行的写入操作的平均次数。吞吐量可指每秒从虚拟磁盘212读取的比特的平均数,或每秒写入虚拟磁盘212的比特的平均数。主机时延、内核时延和设备时延已在上文结合图2描述。

分析服务器118可附加地从存储系统api304(其可以是存储系统110的一部分)接收多个测量值。这些测量值可包括每秒操作次数(缩写为“ops”)、吞吐量和存储时延。更具体地,ops可指每分钟对卷208执行的读取操作的次数,或每分钟对卷208执行的写入操作的次数。吞吐量可指每分钟从卷208读取的比特的数目,或每分钟写入卷208的比特的数目。存储时延已在上文结合图2描述。利用无错误测量以及卷208和数据存储210之间的一一对应关系,来自存储系统api304的“ops”测量值应当等于来自vmwareapi302的数据存储级的“ops”测量值(对于相等的时间间隔)。类似地,来自存储系统api304的“吞吐量”测量值应当等于来自vmwareapi302的数据存储级的“吞吐量”测量值。

分析服务器118的数据预处理器306可预处理(或处理,为便于讨论)接收的传感器测量值中的一个或多个,以便对出现于传感器测量值中的一个或多个非理想特性(例如,截断、错误、时间延迟等)进行补偿。预处理的细节下文在图4-6中描述。在信号的预处理之后,从数据存储210报告的核心+设备总时延可从自虚拟磁盘212报告的主机+内核+设备总时延中减去(经减法模块308),以得到主机时延。类似地,从存储系统110报告的存储时延可从自数据存储210报告的设备时延中减去(经减法模块310),以得到网络时延。主机时延、内核时延、网络时延和存储时延(例如,其预处理后版本)可被提供至绘图仪312,绘图仪312接着在客户端设备122上实现这些相加时延分量的显示。应当注意,与时延值在单个时间的显示相比,多数情况下是期望时延值随时间的绘制。示例时延时间序列的显示在下文图7中被提供。

尽管在图3中未描述(为清晰展示),但来自数据存储级的ops和吞吐量测量值、来自虚拟磁盘级的ops和吞吐量测量值以及来自存储系统的ops和吞吐量测量值还可由数据预处理器306预处理,且其处理后版本可从数据预处理器306输出,并传输至绘图仪312用于显示。

尽管在图3中未描述(为清晰展示),但传输至绘图仪312的所有数据还可由分析服务器118存储在存储设备(未描述)中。这种存储设备可位于分析服务器118的内部或分析服务器118的外部。该数据的存储允许绘图仪312(或其他模块)访问数据,无论数据何时被请求。

图4描述了根据一个实施例的用于处理传感器测量值的算法的流程图400。流程图400接受存储系统数据(包括存储系统api304的输出)和vmware数据(包括vmwareapi302的输出)作为输入。在步骤402,存储系统数据可进行错误检查、插值并标记。例如,如果读取的次数被报告为负数,则这种测量是错误的。负的读取次数以及同一时间段的对应吞吐量和时延测量值可被替换为零,并且测量值可被标记为错误。类似地,如果读取次数大于特定阈值(例如,定义给定时间段内可能的最大读取次数的阈值),则这种测量值也是错误的。错误的高读取次数以及同一时间段的对应吞吐量和时延测量值可被替换为零,并且测量值可被标记为错误。

偶尔可能需要插值来解决较大的传感器值所跟随的空值序列问题。这种数据模式可能是因为存储系统变得过于繁忙而无法报告数值(导致空值序列),随后存储系统报告大量未报告的数值。图5中描述的顶部图提供了存储系统针对1分钟间隔所报告的操作次数的示例。存储系统首先报告针对第一间隔的100次操作,紧随着针对后面四个间隔的空值,随后针对第六间隔的500次操作。在插值例程中,总值(即,空值序列之后)可除以空间隔(即,具有空值的间隔)的数目加一。在该示例中,500除以(4+1),得到100。结果值可被填入空间隔,以及具有总数的间隔。从插值例程得出的数据在图5的底部图中被描述。结果数据还可被标记为观测的(obs)或插值的(int)。在图5的示例中,第一间隔的测量值是观测的值,而第二至第六间隔的测量值是插值后的值。

在步骤406,vmware数据可被错误检查、去平均和标记。类似于存储系统数据,任何负的读取计数可被替换为零,并标记为错误。vmware数据通常在20秒间隔期间被测量和平均,而存储系统数据通常在1分钟间隔期间被测量。为允许在两个数据集之间执行比较,可对vmware数据执行“去平均”操作。以指示每秒4次读取的vmware传感器测量值(其是对20秒间隔期间的总读取次数进行平均的结果)为例,“去平均”操作可将20秒间隔期间可能的总读取操作的范围计算为80-99(假设平均值被四舍五入为最近的整数)。更一般地,去平均操作可计算出具有下限值=(测量的操作次数)*20以及上限值=(测量的操作次数+1)*20–1的范围。假设vmware数据三个邻接的20秒间隔与存储系统数据的1分钟间隔对齐,则来自三个邻接的20秒间隔的去平均值可被求和,并与来自1分钟间隔的值相比较。例如,假定对于三个邻接的20秒间隔,计算出80±10、40±10、60±10的去平均值,则来自vmware数据的总计值180±30可与来自存储系统数据的1分钟间隔的值(例如160)相比较。

在步骤408,任何不一致都可在vmware数据内解决。例如在任何给定间隔中,来自虚拟磁盘级的读取(或写入)次数应当等于或超过来自数据存储级的读取(或写入)次数,因为虚拟磁盘级可包括来自主机的活动之外的活动(例如,来自运行于vm202上的应用和/或操作系统的活动)。如果违背了该条件,相关的测量值可被标记为错误。附加地或可替代地,不一致的数据可基于附加信息来解决(例如,数据存储数据和虚拟磁盘数据哪一个更可信)。如果没有附加信息可用,则不一致的数据可以以零填充以避免错误值的传播。

在步骤404,存储系统数据可与vmware数据对齐(如果可能)。如果针对同一时间段,存储系统数据和vmware数据均可用(即,针对1分钟间隔存储系统数据可用,且针对近似对应于该1分钟间隔的三个邻接的20秒间隔vmware数据可用),则数据对齐可被执行。相反,如果针对同一时间段存储系统数据和vmware数据中的一个或多个不可用,则数据对齐不能执行。更常见的情形为,vmware数据可用,而存储系统数据延迟(因此不可用)。步骤412和414(后面描述)处理的是仅vmware数据可用时的情形。

图6提供了根据一个实施例的将vmware数据与存储系统数据对齐的示例。通常,vmware数据和存储系统数据包含时间戳。基于这些时间戳,近似对应关系可在20秒的vmware间隔和1分钟的存储系统间隔之间建立。在图6的示例中,为简单起见,假设20秒间隔的边界与1分钟间隔的边界对齐(尽管一般情况下不成立)。在第一个1分钟间隔中,90次操作被记录,而在对应的三个20秒间隔中,针对20秒间隔中的每一个记录了30次操作。应当注意,在图6中描述了针对20秒间隔中每一个的离散操作计数,以便于描述,而在更真实的情形下,针对20秒间隔中的每一个提供范围(例如,30±10)。

由于针对第一个1分钟间隔,从vmware报告的总的操作次数(即,30+30+30)等于从存储系统报告的总的操作次数(即,90),所以针对该第一个1分钟间隔不需要对齐。在第二个1分钟间隔,不一致性呈现为从vmware报告的总的操作次数(即,30+20+10)不等于从存储系统报告的总的操作次数(即,90)。同样地,在第三个1分钟间隔,不一致性呈现为从vmware报告的总的操作次数(即,60+30+30)不等于从存储系统报告的总的操作次数(即,90)。

基于以往的观测,图6的简化示例中描述的不一致的原因可更简单地解释为,在一个间隔中发生的操作部分地在后面的间隔中被报告。例如,在报告了20次操作的第五个20秒间隔中,该间隔可能有30次操作,但这些操作中的10次可能在具有60次操作的第七个20秒间隔中被报告。同样地,在报告了10次操作的第六个20秒间隔中,该间隔可能有30次操作,但这些操作中的20次可能在具有60次操作的第七个20秒间隔中被报告。为解决这种不一致,步骤404的对齐过程将50%的操作从第七个间隔分配到第二个1分钟间隔,而50%的操作从第七个间隔分配到第三个1分钟间隔。作为这种分配的结果,可观测到现在每个1分钟间隔的操作次数在两个数据集之间已经一致。一般而言,用于划分20秒间隔中的数据的百分比可通过最小化方差的最小二乘法技术来确定。

一旦确定了50/50的分配(或其他百分比的分配),其同样也应用于吞吐量和时延数据。例如,假定第七个20秒间隔的时延为4毫秒/操作。这表示第七个20秒间隔经历了240毫秒的总时延(即,4毫秒/操作*60次操作)。作为50/50分配的结果,120毫秒将被加到第二个1分钟间隔的时延,使第七个20秒间隔为第三个1分钟间隔贡献120毫秒的时延。

在图6中,两个数据集的时间间隔之间的边界被对齐。在更真实的情形下,边界可不对齐,导致跨越两分钟间隔,针对每个20秒间隔的更系统的数据分配。基于以往的观测,两个数据集通常呈现出时间偏移,使时间间隔边界不对齐,并且该时间偏移可随时间变化。

在上述示例中,两个数据集之间的不一致通过50/50分配解决。更一般地,不一致通过对齐过程可能未被完全消除,只是被减少。例如,如果图6的第七个20秒间隔具有30次操作而不是60次操作,则不论有没有对齐过程,vmware数据集的操作计数都会低于存储系统数据集的操作计数(对于这三个1分钟间隔)。在两个数据集之间仍存在的任何不一致可在步骤410解决。两个数据集之间的不一致可基于附加信息来解决(例如,vmware数据和存储系统数据哪一个更可信)。如果vmware数据更可信,则vmware数据可被保存,而存储系统数据可填充为零,以避免错误值的传播。如果存储系统数据更可信,则存储系统数据可被保存,而vmware数据可填充为零,以避免错误值的传播。如果没有附加信息可用,则两个数据集均可填充为零(即,在特定时间间隔内),以避免错误值的传播。被替换为零的任何数据可被标记为错误。在一个实施例中,数据集之间的不一致可不解决,而替代为生成并报告表示数据可信度的计分(例如,针对具有较高不一致性的数据报告较低的计分)。

基于以往的观测,可以怀疑的是,极高的平均时延值是正确测量的绝对时延值和低估的操作次数的结果。例如,设备时延值[毫秒/操作]可由vmware计算为20秒间隔期间的总设备时延除以20秒间隔期间的操作次数。该比率的分母错误地过低可导致错误的高比率(即,错误的高平均时延测量值)。为解决这种潜在的不精确性,无论来自vmware数据的操作何时被怀疑为错误地过低(例如,经由步骤404的对齐过程),设备时延值都可通过移除错误的分母(例如,vmware操作计数乘以设备时延值)并将得到的乘积除以更可信的分母(例如,将得到的乘积除以来自存储系统的操作计数)来校正。

回到未对齐数据的讨论,未对齐数据的处理在步骤412和414执行。如上述,未对齐数据指没有任何对应的存储系统数据的vmware数据。因此,“未对齐数据”所指的不是未与存储系统数据对齐的vmware数据,而是指无法与存储系统数据对齐的vmware数据(由于存储系统数据不可用)。处理“未对齐数据”的目标在于估计缺失的存储系统数据,其包括卷208的ops、吞吐量和存储时延。卷208的ops和吞吐量可基于数据存储级下所提供的ops和吞吐量来估计(因为这些值之间存在直接对应关系)。然而,没有来自vmware数据的针对存储时延的对应测量值。为估计存储时延,设备时延的存储时延分数(即,存储时延除以设备时延)在已对齐数据的较长时间(例如,6小时)期间被计算(在步骤412)。在未对齐的vmware数据中报告的设备时延可乘以该分数,以估计存储时延(在步骤414)。得到的存储时延值可被标记为估计值(在步骤414),以使其可在以后观测值变为可用时被替换为观测值。当可用时,已对齐数据(即,步骤410的结果数据)在步骤416用于生成结果(例如,计算主机和/或网络时延)。否则,未对齐数据(即,未对齐数据本身或步骤414的结果数据)在步骤416用于生成结果(例如,计算主机和/或网络时延)。

为完整起见,标示出图3和图4之间的对应关系。图4的步骤402、404、406、408、410、412和414可由图3的数据预处理器306执行,图4的步骤416可由减法模块308和310及图3的绘图仪312执行。例如,当已对齐数据可用时,图3的“存储时延(pr)”可基于图4步骤410的结果数据;否则,当已对齐数据不可用时,“存储时延(pr)”可基于图4的步骤414的结果数据。

图7描述了根据一个实施例的一小时持续时间期间的虚拟机时延被叠加以其相加时延分量的分解的图示700。图7中描述的相加时延分量是主机时延(702)、网络时延(704)和存储时延(706)。由于内核时延上文已在图2和3中描述,所以为简单起见,内核时延在图7中未描述。显示在x轴的时间单位为[小时]:[分钟],而y轴的值以毫秒(ms)提供。在一小时持续时间期间的虚拟机时延图示的下方为较长时间窗期间的虚拟机时延的图示(例如,从2016年2月至2016年4月)。

如在前讨论中显而易见,本发明的方面涉及使用多种计算机系统以及存储有计算机可读指令的计算机可读存储介质。图8提供了系统800的示例,其表示本文讨论的计算系统中的任意一种(例如,客户端设备102、主机设备106、存储系统110、监视服务器112、分析服务器118和客户端设备122)。注意,多种计算机系统中并非所有计算机系统均具有系统800的全部特征。例如,以上讨论的特定计算机系统可不包括显示器,因为显示功能可由可通信地耦接至计算机系统的客户端计算机提供,或显示功能可能是不必要的。这种细节并非本发明的关键。

系统800包括总线802或用于传送信息的其他通信机构,以及耦接于总线802的用于处理信息的处理器804。计算机系统800还包括耦接至总线802的用于存储信息和由处理器804执行的指令的主内存806,诸如随机存取存储器(ram)或其他动态存储设备。主内存806还可用于在由处理器804执行的指令的执行期间存储临时变量或其他中间信息。计算机系统800进一步包括耦接至总线802的用于为处理器804存储静态信息和指令的只读存储器(rom)808或其他静态存储设备。存储设备810可以是软盘、弹性磁盘、硬盘、基于闪存的存储介质、磁带或其他磁存储介质、压缩盘(cd)-rom、数字通用磁盘(dvd)-rom或其他光学存储介质,或者处理器804可读的其他任何存储介质中的一种或多种,其被提供并耦接至总线802,用于存储信息和指令(例如,操作系统、应用程序等)。

计算机系统800可经总线802耦接至诸如平板显示器的显示器812,用于将信息显示给计算机用户。输入设备814,诸如包括字母数字以及其他按键的键盘,可耦接至总线802,用于将信息和命令选择传送至处理器804。另一类型的用户输入设备是光标控制设备816,诸如鼠标、跟踪球、或光标方向键,用于将方向信息和命令选择传送至处理器804,并用于控制显示器812上的光标移动。其他用户接口设备,诸如麦克风、扬声器等,未详细示出,但可涉及用户输入的接收和/或输出的呈现。

本文所指的过程可由执行主内存806中包含的计算机可读指令的合适序列的处理器804实现。这种指令可从诸如存储设备810的另一计算机可读介质被读入主内存806,并且主内存806中包含的指令序列的执行使处理器804执行相关的动作。在可替代的实施例中,硬连线电路或固件控制处理单元(例如,现场可编程门阵列)可代替或结合处理器804及其相关计算机软件指令而使用,以实现本发明。计算机可读指令可以以任一种计算机语言呈现,包括而不限于c#、c/c++、fortran、cobol、pascal、汇编语言、标记语言(例如html、sgml、xml、voxml)等,以及面向对象的环境,诸如公共对象请求代理体系结构(corba)、javatm等。一般而言,所有前述术语意图包含以一定顺序执行以实现给定目的的任何逻辑步骤序列,这是任何计算机可执行应用的特点。除非另外特别声明,应当理解,本发明的描述全文中使用的诸如“处理”、“计算”、“运算”、“确定”、“显示”、“接收”、“传输”等的术语,指适当编程的计算机系统(诸如计算机系统1100或类似电子计算设备)的动作和过程,计算机系统将其寄存器和内存中表示为物理(电子)量的数据操作并变换为类似地表示为内存或寄存器或其他这种信息存储、传输或显示设备中的物理量的其他数据。

计算机系统800还包括耦接至总线802的通信接口818。通信接口818可提供与计算机网络的双向数据通信通道,其提供到以上讨论的多种计算机系统的连接或多种计算机系统之间的连接。例如,通信接口818可以是局域网(lan)卡,以提供到兼容lan的数据通信连接,兼容lan本身通过一个或多个互联网服务提供商网络可通信地耦接至互联网。这种通信路径的精确细节并非本发明的关键。重要的是,计算机系统800可通过通信接口818发送和接收消息与数据,并以此方式与经互联网可访问的主机相通信。

因此,描述了用于对传感器测量值进行预处理以将总时延测量值分解为其相加时延分量的方法和系统。应当理解,以上的描述意图为说明性而非限制性的。许多其他实施例对阅读了以上描述的本领域技术人员是显而易见的。因此,本发明的范围应当参考所附权利要求以及这些权利要求所享有的等同概念的全部范围来确定。

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