[发明专利]一种基于虚拟机快照的二分法在线仿真和查错方法有效
申请号: | 201711022557.5 | 申请日: | 2017-10-27 |
公开(公告)号: | CN107844420B | 公开(公告)日: | 2020-08-28 |
发明(设计)人: | 高翔;杨小凡;朱杰媛;朱岩 | 申请(专利权)人: | 南京国电南自电网自动化有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 南京纵横知识产权代理有限公司 32224 | 代理人: | 金方玮;董建林 |
地址: | 211106 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于虚拟机快照的二分法在线仿真和查错方法,包括以下步骤:步骤一,利用待在线仿真和查错的软件组件及其软件环境生成0号镜像;步骤二,生成相互独立的多份虚拟机运行环境快照形成虚拟机镜像矩阵;步骤三,整理虚拟机快照镜像;步骤四,利用二分法递进减少虚拟机快照镜像数目;步骤五,提交人工判断故障原因;本发明通过充分利用虚拟机的特性,实现提高复现故障的速度,利于人工分析同一故障的不同运行序列,可以回溯至缺陷引入点,从而指出软件缺陷在源代码中可能存在的位置。 | ||
搜索关键词: | 一种 基于 虚拟机 快照 二分法 在线 仿真 查错 方法 | ||
【主权项】:
一种基于虚拟机快照的二分法在线仿真和查错方法,其特征在于,包括如下步骤:步骤一,利用待在线仿真和查错的软件组件及其软件环境生成0号镜像;a)在虚拟机管理平台中,部署待在线仿真和查错和设置好的目标操作系统、第三方软环境,网络初始配置,目标程序系统;b)部署桩代码脚本程序;c)将此虚拟机制作为初始虚拟机镜像,称之为0号镜像。步骤二:生成相互独立的多份虚拟机运行环境快照形成虚拟机镜像矩阵;a)设问题出现的概率为p,p∈(0,1],为了保证几率复现,部署个工程实例数;其中k为可靠性参数,k>0;b)利用虚拟机管理API部署多份0号镜像实例,并部署相关的虚拟网络环境;将0号镜像实例化为运行态虚拟机;c)对每个0号镜像实例,利用管理机进行远程SSH控制,启动运行于虚拟机实例中的桩代码程序;d)启动桩代码后,将目标软件开始运行的时刻称分别0时刻,为它建立虚拟机快照,即0时刻虚拟机快照;设有N份0号镜像实例,则生成S=[S01,S02,S03....S0N]的虚拟机快照集群;e)虚拟机在运行过程中,管理机按时间间隔T0定时对N个虚拟机进行快照,并形成相应的1号镜像实例、2号镜像实例、3号镜像实例……N号镜像实例;f)设某一虚拟机运行一段时间后发生程序中断或其他待调试的异常行为后,由桩代码记录虚拟机运行的时刻运行工况,并通过通信方式向管理机汇报此刻的运行工况,管理机关闭此虚拟机的运行;设此前已记录下虚拟机镜像号为I,则在将运行出错时刻的虚拟机镜像设为I+1号镜像;g)等待时间Tmax后,一部分虚拟机复现出在Tmax之前或Tmax时的故障,另一部分未能成功复现故障的虚拟机,则形成了如下所示的虚拟机镜像矩阵;其中K=Tmax/T0,S=S01S02...S0NS11S12...S1N............SK1SK2...SKN,]]>其中由于部分虚拟机实例运行未到Tmax就复现了故障,此时将此时间点之后的Sij镜像设置为空;h)管理机根据桩代码识别出程序异常的位置,并根据事先设置的指标确认此异常为目标异常;步骤三:整理虚拟机快照镜像;a)管理机将复现出异常的虚拟机对应的镜像S异常=[Si1,Si2,Si3....SiN]保留,将到达Tmax时间仍然未复先异常虚拟机对应的镜像S正常删除;b)设复现出故障的虚拟机集合为Mfail,对于每一个发现异常的虚拟机镜像i∈Mfail,设Si1,Si2,Si3..Sik不为空,Si(k+1)为空,则管理机将Si1‑Si,middle镜像删除,其中middle=UpperRound(k/2);UpperRound为大于等于取k/2的最小整数的值;再重新在原有虚拟机实例中还原Si,middle镜像;步骤四:利用二分法递进减少虚拟机快照镜像数目;a)保证每一种复现异常的虚拟机镜像均进入下次迭代中,取出每一个发现异常的虚拟机i的Si,middle镜像并部署至少1份运行实例;并且在部署所有异常的虚拟机镜像后,异常的虚拟机镜像仍然未达到个工程实例数时,部署未达到虚拟机运行实例数目的虚拟机剩余个数的运行环境,运行环境所采用的镜像为所有发现异常的虚拟机的镜像;b)需要保证部署所有发现异常的镜像的虚拟机至少大于等于个工程实例数;c)对每个利用桩代码实现对Si,middle之后的输入输出操作;对每个利用桩代码实现对Si,middle之后的输入输出操作;并如步骤二中的e)‐g)所示进行实际仿真运行,其中由于部分虚拟机实例运行未到Tmax就复现了故障,此时将此时间点之后的Sij镜像设置为空;按照步骤三的方法可以再次生成虚拟机镜像矩阵S,Si,0‑Si,middle实例为空;步骤五:提交人工判断故障原因;a)当发现某一台虚拟机不为空的镜像集合小于数目小于100个样本,且虚拟机进入故障态;将所有满足这个条件的镜像还原至目标虚拟机;b)将这些虚拟机历次桩代码收集的信息日志提交人工分析,并提供虚拟机镜像矩阵供人工进行还原测试,调试。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京国电南自电网自动化有限公司,未经南京国电南自电网自动化有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201711022557.5/,转载请声明来源钻瓜专利网。
- 上一篇:多用途车辆智能监控系统及方法
- 下一篇:借助移动设备激活交通工具动作