[发明专利]软件监测方法、装置以及系统有效

专利信息
申请号: 201180001455.X 申请日: 2011-06-14
公开(公告)号: CN102301343A 公开(公告)日: 2011-12-28
发明(设计)人: 王超;余加强;陈明宇;黄永兵;张文力;崔泽汉 申请(专利权)人: 华为技术有限公司
主分类号: G06F11/36 分类号: G06F11/36
代理公司: 暂无信息 代理人: 暂无信息
地址: 518129 中国广东省深*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 软件 监测 方法 装置 以及 系统
【说明书】:

技术领域

发明涉及计算机技术领域,尤其涉及一种软件监测方法、装置以及系统。

背景技术

在使用并行技术的软件系统中,例如应用多线程技术以及多核处理技术等软件系统,软件系统中程序的串行部分成为整个系统性能的瓶颈因素,而串行部分主要体现在各种锁程序所保护的临界区,包括信号量,互斥锁程序(Mutex),自旋锁程序(Spinlock),开关中断,读写锁程序等等。如果能够详细、准确地统计串行部分中各种锁程序的相关信息,则可以为整个软件系统的性能优化提供数据依据。

在现有技术条件下常见的一种软件监测方法是通过软件自身会给锁程序函数进行插桩替换的方式来统计软件的锁程序使用信息。一些软件软件监测工具如Valgrind Mutextrace等,普遍使用这种软件插桩的软件监测技术,其过程一般为先替换或增加被检测目标软件的某段指令(通常为函数的入口和返回)为检测程序的指令;再强制执行检测程序,以获取锁程序的相关信息。

然而,这种软件监测方式需要修改目标程序并强制执行监测程序,这样在运行软件系统的同时增加系统的运行负担。对于较为大型的软件系统来说,软件系统具有数量庞大的临界区和对应管理临界区的锁程序,而利用现有的插桩方式进行软件分析的话,插桩的数量也是非常庞大的,这样致使软件系统通常会在高负荷的环境下进行测试和数据搜集,带来较大的系统开销,并严重干扰应用程序的正常运行,追踪导致难以统计出完整而详细的锁程序使用信息。

发明内容

本发明实施例提供一种软件监测方法、装置以及系统,以解决分析过程中引入过大系统开销而致使难以统计出完整而详细的锁程序使用信息的问题。

本发明实施例提供一种软件监测方法,所述方法在锁程序被调用或释放时记录锁程序地址以及使用所述锁程序的线程标识;将所述锁程序地址以及使用所述锁程序的线程标识进行编码转化为内存地址,并通过所述内存地址访问内存;侦听内存总线以识别所述内存地址的访问内存信号并获取所述锁程序的追踪信息,所述锁程序的追踪信息包括所述内存地址以及时间信息;根据所述追踪信息获得所述锁程序的使用信息,所述使用信息包括所述锁程序地址、使用所述锁程序的线程标识以及所述线程占用锁程序的时间。

本发明实施例提供一种软件监测装置,包括动态库模块、通信模块、侦听模块以及数据分析模块,其中所述动态库模块用于记录锁程序地址以及使用所述锁程序的线程标识;所述通信模块用于将所述锁程序地址以及使用所述锁程序的线程标识进行编码转化为内存地址并通过所述内存地址访问内存;所述侦听模块用于侦听内存总线以识别所述内存地址的访问内存信号并获取所述锁程序的追踪信息,所述锁程序的追踪信息包括所述内存地址以及时间信息;所述数据分析模块用于根据所述追踪信息获得所述锁程序的使用信息,所述使用信息包括所述锁程序地址、使用所述锁程序的线程标识以及所述线程占用锁程序的时间。

上述软件监测方法、装置以及系统只有锁程序地址以及线程标识的记录和编码转化地址通过软件部分实现,而侦听、存储以及分析方面均可以利用旁路硬件来实现,例如,通过在内存接口或插槽上插卡来实现对内存总线的侦听、存储以及分析,而旁路硬件无需对目标程序做任何修改,不占用系统的处理资源,也不影响应用程序的运行环境,从而通过这样软硬结合的方式可以在不带来额外的系统开销的情况下,实现对应系统性能的分析。

附图说明

图1所示为本发明一实施例中软件监测方法的流程示意图。

图2所示为本发明一实施例中软件监测方法的一部分流程示意图。

图3所示为本发明一实施例中软件监测方法的另一部分流程示意图。

图4所示为本发明另一实施例中软件监测装置的示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员所获得的所有其他实施例,都属于本发明保护的范围。

本发明一实施例提供一种软件监测方法,主要对系统串行部分的相关信息进行分析,所述分析方法采用非插桩式分析,不对目标程序做任何修改,也不依赖于具体的软件或硬件平台,在分析运行过程中不引入额外的开销,从而可以充分记录分析所需的信息。

如图1所示,本发明实施例提供一种软件监测方法,包括:

步骤101、记录锁程序地址以及线程标识,所述线程标识用于标识使用所述锁程序的线程;

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201180001455.X/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top