[发明专利]一种并发检测堆缓冲区溢出的架构及方法在审
申请号: | 201810313731.X | 申请日: | 2018-04-10 |
公开(公告)号: | CN108614772A | 公开(公告)日: | 2018-10-02 |
发明(设计)人: | 殷萍;高翠芳 | 申请(专利权)人: | 江南大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F21/52 |
代理公司: | 南京经纬专利商标代理有限公司 32200 | 代理人: | 张素卿 |
地址: | 214122 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 缓冲区 缓冲区信息 溢出 数据暂存器 用户线 监控线程 数据仓库 架构 并发 计算机技术领域 遍历数据 故障报警 数据结构 运行效率 传送线 动态的 检测 无锁 并行 存储 仓库 传送 查找 检查 | ||
本发明公开了一种并发检测堆缓冲区溢出的架构及方法,涉及计算机技术领域,该方法包括:用户线程将缓冲区的缓冲区信息动态的插入到数据暂存器中,传送线程将数据暂存器中的缓冲区信息传送至数据仓库中,数据仓库存储各个缓冲区信息,监控线程在各个用户线程将缓冲区信息插入到数据暂存器中的同时遍历数据仓库中的各个缓冲区信息,并根据缓冲区信息查找溢出缓冲区,对溢出缓冲区进行故障报警;本发明是通过无锁的数据结构提高程序的运行效率的,该架构可以支持用户线程和监控线程并行的对缓冲区的信息进行操作,支持堆缓冲区溢出的高效检查,能够解决所有的堆缓冲区溢出问题。
技术领域
本发明涉及计算机技术领域,尤其是一种并发检测堆缓冲区溢出的架构及方法。
背景技术
随着计算机产业的发展,目前各种各样的软件程序正迅速的融入到我们的实际生活中,并成为推动各行各业发展的关键一环,但随着社会对软件系统的依赖性的增长,软件系统产生的故障会给商业系统甚至是安全关键系统带来巨大隐患,因此软件可靠性成为了用户选择软件系统的一项重要指标,软件可靠性的要求也成为了软件行业发展中不可忽视的一方面。软件可靠性是指软件系统在特定环境下以及特定时间段内保持运行不失效的概率,而软件可靠性工程是指利用一些工程上的技术来开发和维护软件系统,使得这些软件系统的可靠性能够进行量化的评价与比较。按照软件故障产生的周期可以概括出提高软件系统可靠性的四个主要方面:1、通过规范开发进行错误预防和错误避免;2、通过验证和确认技术实现错误检测和移除;3、通过冗余设计使系统服务在错误发生情况下依然满足要求;4、通过软件可靠性模型等对错误存在性,未来失效发生可能性和失效影响等进行预测。
上述四种方法主要应用在软件的开发过程,与此不同的是,运行时验证是一种在软件实际运行阶段进行性质分析验证的技术,作为一种最新提出的高效的验证技术,能够实现在运行时对软件实时监控,验证软件是否符合给定的属性,这对提高软件的可靠性有着突破性的意义。在运行时验证所需要的关键技术中,主要包括两个方面,一个是对待验证性质的描述和对应验证器的生成,二是监控器和验证器的集成。目前的运行时验证无法高效地应用在堆缓冲区溢出的检测中。
发明内容
本发明人针对上述问题及技术需求,提出了一种并发检测堆缓冲区溢出的架构及方法,通过无锁的数据结构提高程序的运行效率,且用户线程不用和监控线程争用锁,减少了对用户线程的影响。
本发明的技术方案如下:
一种并发检测堆缓冲区溢出的架构,该架构包括:若干个用户线程、监控线程、数据暂存器、数据仓库和传送线程,数据暂存器和数据仓库均无锁且数据仓库支持多线程并发,传送线程为非阻塞线程;用户线程调用内存分配函数申请在堆内存中分配缓冲区,内存分配函数返回动态分配的缓冲区信息,用户线程将缓冲区的缓冲区信息动态的插入到数据暂存器中,传送线程将数据暂存器中的缓冲区信息传送至数据仓库中,数据仓库存储缓冲区信息;监控线程在各个用户线程将缓冲区信息插入到数据暂存器中的同时遍历数据仓库中的各个缓冲区信息,并根据缓冲区信息查找溢出缓冲区和失效缓冲区,将数据仓库中与溢出缓冲区和失效缓冲区对应的缓冲区信息删除,溢出缓冲区是存在溢出错误的缓冲区,失效缓冲区是被释放的缓冲区。
其进一步的技术方案为,数据暂存器采用环链数据结构,数据仓库采用嵌套链表结构。
一种并发检测堆缓冲区溢出的方法,方法基于上述架构,该方法包括:
通过程序插桩的方式将预设动态共享库插入到内存分配函数中,用户线程调用内存分配函数申请在堆内存中分配缓冲区,内存分配函数返回动态分配的缓冲区信息,用户线程将缓冲区的缓冲区信息动态的插入到数据暂存器中,缓冲区对应的缓冲区信息依次包括尺寸字段、头标记字段、缓冲块字段和尾标记字段;
传送线程将数据暂存器中的缓冲区信息传送至数据仓库中;
数据仓库存储各个缓冲区信息;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于江南大学,未经江南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810313731.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种数学建模教学学习系统
- 下一篇:一种手机小程序用展示发布体验系统