一种云软件健康度评测方法及系统的制作方法

文档序号:6493664阅读:326来源:国知局
一种云软件健康度评测方法及系统的制作方法
【专利摘要】本发明公开了一种云软件健康度评测方法及系统,其中,该方法包括:嵌入数据采集插件采集云软件的状态数据,将数据采集插件与云软件一同打包进虚拟机镜像实例;获取虚拟机镜像实例启动后的媒介访问控制地址,根据媒介访问控制地址获得云软件的进程识别参数;根据进程识别参数对云软件进行定位,分析虚拟机镜像实例获得云软件的健康度数据;根据健康度数据对云软件的健康度进行评测。本发明的云软件健康度评测方法和系统,根据提出的健康度评测计算公式,依据健康度数据获取模块获取的多维度的健康度数据,能够准确的评测云软件在各种条件下的健康度指标。
【专利说明】一种云软件健康度评测方法及系统
【技术领域】
[0001]本发明涉及通信领域中云计算【技术领域】,具体地,涉及云软件健康度评测方法及系统。
【背景技术】
[0002]云计算是当前移动互联网的技术热点,为用户提供了在Internet上使用的资源和服务。除了弹性计算、云存储等常见的云计算服务,传统的软件提供商也在基于云计算基础设施提供软件的云端版本,用户无需按照传统的方式在本地安装,可直接在云端使用软件,Amazon等云计算服务提供商称这种软件为云软件(Cloud Software)。
[0003]云软件需要基于云计算基础设施提供,通常云计算基础设施由云计算IaaS(Infrastructure as a Service,基础设施即服务)平台实现,提供计算资源、存储资源和网络资源等虚拟化资源,云软件需要和基础操作系统一起被打包在虚拟机镜像(VirtualMachine Image,以下简称VMI)中,并部署于云计算基础设施上运行。VMI是云计算IaaS服务上的部署和运行单元,包含了操作系统和相关软件,传统的软件Stack和云软件Stack对比如图1所示。
[0004]云软件是一种新的软件交付和使用方式,需要打包在VMI中并运行于云计算IaaS平台之上,在这种新的架构下,云软件及相应依赖环境(即VMI)的运行状况评测流程如图2所示,包括:
[0005]步骤1,含有云软件对的VMI启动,云计算IaaS平台记录VMI的启动时间;
[0006]步骤2,VMI管理模块(云计算IaaS平台的一部分)获取VMI对运行资源的使用情况,并记录进日志;
[0007]步骤3,含有云软件对的VMI停止,云计算IaaS平台记录VMI的停止时间;
[0008]步骤4,云计算IaaS平台将日志传递给单独的VMI评测平台;
[0009]步骤5,VMI评测平台分析日志,获取VMI (含云软件)的运行时间和整体运行资源占用情况,并基于这些数据进行评价。
[0010]在实现本发明过程中,发明人发现现有的云软件(包含在VMI中)评测方法中至少存在如下问题:
[0011](I)不能实现云软件运行状况的精准获取:VMI评测平台将云计算IaaS平台同步的VMI运行时间作为云软件的运行时间,而在VMI运行期间,其中的云软件可能处于停止状态,因此云软件的实际运行时间并不等于VMI的运行时间;IaaS平台同步的VMI运行资源使用情况是整个VMI (包括操作系统和若干软件)的资源使用情况,不能准确反映某一云软件的资源使用情况;
[0012](2)不能对运行于同一 VMI的多个云软件区分评测:在同一个VMI中可能包含多款云软件,而这些云软件的运行时间(启停状态)不同,使用的运行资源情况也不同,而当前的方法是依据VMI的运行时间和运行资源使用情况一概而论,无法区分每个云软件的运行情况,进而不能实现区分评测。
【发明内容】

[0013]本发明是为了克服现有技术中无法对云软件进行精准评测的缺陷,根据本发明的一个方面,提出一种云软件健康度评测方法。
[0014]根据本发明实施例的云软件健康度评测方法,包括:
[0015]嵌入数据采集插件采集云软件的状态数据,将数据采集插件与云软件一同打包进虚拟机镜像实例;
[0016]获取虚拟机镜像实例启动后的媒介访问控制地址,根据媒介访问控制地址获得云软件的进程识别参数;
[0017]根据进程识别参数对云软件进行定位,分析所述虚拟机镜像实例获得云软件的健康度数据;
[0018]根据健康度数据对云软件的健康度进行评测。
[0019]本发明是为了克服现有技术中无法对云软件进行精准评测的缺陷,根据本发明的另一个方面,提出一种云软件健康度评测系统。
[0020]根据本发明实施例的云软件健康度评测系统,包括:
[0021]健康度数据获取模块,用于采集云软件的状态数据,与云软件一同打包进虚拟机镜像实例,获取虚拟机镜像实例启动后的媒介访问控制地址,根据媒介访问控制地址获得云软件的进程识别参数,根据进程识别参数对云软件进行定位,分析虚拟机镜像实例获得云软件的健康度数据;
[0022]健康度评测模块,用于根据健康度数据对云软件的健康度进行评测。
[0023]本发明的云软件健康度评测方法和系统,健康度数据获取模块与云软件运行于同一 VMI实例中,能够实时准确的捕获云软件进程的运行状况,实现对云软件健康度数据的精准获取。
[0024]本发明的云软件健康度评测方法和系统,实现对运行于同一 VMI实例中的多个云软件区分评测,突破了现有技术中依赖VMI实例运行状态笼统判断云软件运行状况的限制,通过健康度数据获取模块获取的精准健康度数据,达到对同一 VMI实例中不同云软件的健康度精准评测的目的。
[0025]本发明的云软件健康度评测方法和系统,根据提出的健康度评测计算公式,依据健康度数据获取模块获取的多维度的健康度数据,能够准确的评测云软件在各种条件下的健康度指标。
[0026]本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
[0027]下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
【专利附图】

【附图说明】
[0028]附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
[0029]图1为传统软件Stack和云软件Stack的对比结构示意图;[0030]图2为现有技术中云软件健康度评测流程示意图;
[0031]图3为本发明云软件健康度评测系统的架构图;
[0032]图4为本发明以Linux操作系统为例查看云软件进程的示例代码;
[0033]图5为本发明云软件进程定位流程示意图;
[0034]图6为本发明云软件运行时间记录流程示意图;
[0035]图7为本发明侦测云软件异常退出流程示意图;
[0036]图8为本发明获取云软件资源使用情况流程示意图;
[0037]图9为本发明云软件资源使用统计图;
[0038]图10为本发明云软件健康度评测方法的流程示意图;
[0039]图11为本发明云软件健康度评测系统的结构示意图。
【具体实施方式】
[0040]下面结合附图,对本发明的【具体实施方式】进行详细描述,但应当理解本发明的保护范围并不受【具体实施方式】的限制。
[0041]本发明提出了一种基于云计算平台运行的云软件的健康度评测方法及系统,能够实现对运行于云计算环境中的云软件健康度数据的精准获取,并根据健康度评测模型计算出健康指数和生成评测报告,从而指导云软件的优化和改进。实现该评测方法的系统包括两个模块:健康度数据获取模块和健康度评测模块。
[0042]健康度数据获取模块用于精准地获取云软件的健康度数据,如健康运行时间、非正常退出次数、运行资源占用情况等,并对这些数据进行预处理后同步给健康度评测模块;健康度评测模块用于基于云软件的健康数据,根据健康度评测模型计算出健康指数并生成评测报告。
[0043]健康度数据获取模块作为操作系统的内嵌式应用,以后台进程的形式运行于云软件所在的IaaS虚拟机镜像(VMI)实例中,对云软件进程生命周期状态和相关数据进行获取,预处理后同步给健康度评测模块进行处理和计算。其中健康度数据获取模块作为应用程序嵌入到操作系统中,为了能够应用于不同的操作系统平台,本部分程序采用Java实现,并通过JVM (Java虚拟机)的跨平台特性实现。
[0044]如图3所示,本发明的云软件健康度评测系统包括的健康度数据获取模块和健康度评测模块的功能和实现逻辑描述如下:
[0045]1.健康度数据获取模块
[0046]本模块用于一组云软件状态数据采集和同步应用,运行于云软件所在的操作系统,并针对不同操作系统实现了相应版本的数据采集插件;该模块作为应用程序内嵌到操作系统中,并和云软件一同打包进VMI。这组应用在操作系统启动后表现为两个系统后台进程,实现功能如下:
[0047]I)软件状态数据采集:用于监控云软件的生命周期状态和操作系统状态,统计云软件的健康度数据,如运行时间、异常退出次数、运行资源使用情况(CPU、内存等),并同步给健康度评测模块。
[0048]数据采集插件:软件运行状态数据的采集是通过执行操作系统提供的资源查看命令行实现的,不同操作系统上提供了不同的命令行工具,为了最大程度实现程序模块的可重用性和灵活度,本部分程序采用插件方式实现,即根据不同操作系统的命令实现不同的数据采集插件,并应用于不同的操作系统之上。
[0049]如图4所示,在操作系统启动后,健康度数据获取模块即会启动,并通过数据采集插件运行相关命令,完成数据采集任务,包括:定位云软件相关进程,记录云软件运行时间,获取云软件进程对系统资源的使用情况,侦测云软件异常退出情况,相关任务的处理流程如下:
[0050]a)云软件进程定位流程,从健康度评测模块获取云软件识别参数,如常用进程名称、常用端口号、常用安装路径和日志分析关键字等,通过该流程能够准确的定位到云软件的相关进程,如图5所示;
[0051]b)记录云软件运行时间流程,其中T秒为软件运行时间获取间隔,可根据系统压力和对数据获取的精准度要求进行调整,如图6所示;
[0052]c)侦测云软件异常退出,如果在云软件进程启动并运行一段时间后,本程序无法获取该进程,则需要侦测该进程是否是正常退出,或者是因为云软件Crash导致的异常退出,如图7所示;
[0053]d)获取云软件资源使用情况,如图8所示;
[0054]数据过滤和处理:数据采集插件获取的原始数据都会交给数据过滤和处理程序,经过对大量的原始数据进行过滤并抽取关键数据后,云软件的各种状态数据将会存放在本地文件中,相关的数据结构如下:
[0055]a)云软件运 行时间记录数据结构,如果因为云软件重启造成进程ID的变化,会创建一张新表并记录在新的进程ID下的运行时间,如表1所示;
[0056]表1
【权利要求】
1.一种云软件健康度评测方法,其特征在于,包括: 嵌入数据采集插件采集云软件的状态数据,将所述数据采集插件与所述云软件一同打包进虚拟机镜像实例; 获取所述虚拟机镜像实例启动后的媒介访问控制地址,根据所述媒介访问控制地址获得所述云软件的进程识别参数; 根据所述进程识别参数对所述云软件进行定位,分析所述虚拟机镜像实例获得所述云软件的健康度数据; 根据所述健康度数据对所述云软件的健康度进行评测。
2.根据权利要求1所述的方法,其特征在于,所述健康度数据包括:负载加权值、健康度因子加权值、资源使用稳定度因子、正常运行时间因子和周期内云软件异常退出次数; 所述根据健康度数据对所述云软件的健康度进行评测的步骤包括: 根据负载加权值、健康度因子加权值、资源使用稳定度因子、正常运行时间因子和周期内云软件异常退出次数对所述云软件的健康度进行评测。
3.根据权利要求2所述的方法,其特征在于,所述对云软件的健康度进行评测的公式包括:
4.根据权利要求3所述的方法,其特征在于,所述评测周期内云软件最长的正常运行时间为一个评测周期内重启多次的云软件运行时间最长的时间记录。
5.根据权利要求4所述的方法,其特征在于,所述云软件异常退出次数为一个评测周期内云软件异常退出的总次数。
6.根据权利要求1所述的方法,其特征在于,所述根据所述进程识别参数对所述云软件进行定位的步骤包括: 根据所述进程识别参数获取所述云软件的进程信息,在多个所述进程符合条件的状态下,如果无法通过云软件端口号定位进程,则通过进程启动命令行参数寻找并分析云软件启动日志,定位所述云软件的进程;否则,通过云软件端口号定位所述云软件的进程。
7.—种云软件健康度评测系统,其特征在于,包括: 健康度数据获取模块,用于采集云软件的状态数据,与所述云软件一同打包进虚拟机镜像实例,获取所述虚拟机镜像实例启动后的媒介访问控制地址,根据所述媒介访问控制地址获得所述云软件的进程识别参数,根据所述进程识别参数对所述云软件进行定位,分析所述虚拟机镜像实例获得所述云软件的健康度数据;健康度评测模块,用于根据所述健康度数据对所述云软件的健康度进行评测。
8.根据权利要求7所述的系统,其特征在于,所述健康度数据包括:负载加权值、健康度因子加权值、资源使用稳定度因子、正常运行时间因子和周期内云软件异常退出次数; 所述健康度评测模块,具体用于根据负载加权值、健康度因子加权值、资源使用稳定度因子、正常运行时间因子和周期内云软件异常退出次数对所述云软件的健康度进行评测。
9.根据权利要求8所述的系统,其特征在于,所述对云软件的健康度进行评测的公式包括:
10.根据权利要求7所述的系统,其特征在于,所述健康度数据获取模块包括: 信息获取子模块,用于根据所述进程识别参数获取所述云软件的进程信息; 进程判断子模块,用于在多个所述进程符合条件的状态下,判断是否能够通过云软件端口号定位进程; 进程定位子模块,用于如果无法通过云软件端口号定位进程,则通过进程启动命令行参数寻找并分析云软件启动日志,定位所述云软件的进程;否则,通过云软件端口号定位所述云软件的进程。
【文档编号】G06F11/36GK103902442SQ201210573073
【公开日】2014年7月2日 申请日期:2012年12月25日 优先权日:2012年12月25日
【发明者】陈曦 申请人:中国移动通信集团公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1