[发明专利]共享内存中的关键数据的处理方法及处理器有效
申请号: | 201110116702.2 | 申请日: | 2011-05-06 |
公开(公告)号: | CN102163164A | 公开(公告)日: | 2011-08-24 |
发明(设计)人: | 董雪松;胡士辉 | 申请(专利权)人: | 华为数字技术有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 彭愿洁;李文红 |
地址: | 100085 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 共享 内存 中的 关键 数据 处理 方法 处理器 | ||
1.共享内存中的关键数据的处理方法,其特征在于,包括:
在用户态存储进程注册的修复回调函数的指针后,进程进入共享内存,所述修复回调函数的指针用于在修复共享内存中的已被修改的关键数据时调用修复回调函数;
在所述进程准备修改共享内存中的关键数据之前,跟踪记录所述关键数据的原始值,所述关键数据是共享内存中用于数据连接的数据;
当进程退出共享内存通过陷阱机制进入内核态后,若进程的标志位指示所述进程使用过所述共享内存,将所述进程送回到用户态,所述陷阱机制就是进程异常退出共享内存后由用户态进入内核态的一段程序,所述标志位用于指示所述进程是否使用过所述共享内存;
当有所述跟踪记录的关键数据的原始值,确认到所述共享内存中的关键数据已被所述进程修改,所述已被修改的关键数据需要修复后,使用所述修复回调函数的指针调用所述修复回调函数,使用所述修复回调函数将所述关键数据的原始值对应的写回到共享内存中已被修改的关键数据中去。
2.根据权利要求1所述的共享内存中的关键数据的处理方法,其特征在于,在所述进程准备修改共享内存中的关键数据之前,跟踪记录所述关键数据的原始值的步骤之后包括:
在所述进程退出共享内存并通过陷阱机制进入内核态后,根据所述进程携带的标志位判断所述进程是否使用过所述共享内存。
3.根据权利要求1所述的共享内存中关键数据的处理方法,其特征在于,还包括:当所述标志位指示的是所述进程未使用过所述共享内存时,终止所述进程。
4.根据权利要求2所述的共享内存中的关键数据的处理方法,其特征在于,在所述将所述进程送回到用户态的步骤后包括:
根据所述跟踪记录的关键数据的原始值的有无,判断所述共享内存中的关键数据是否被修改。
5.根据权利要求4所述的共享内存中关键数据的处理方法,其特征在于,还包括:当无所述跟踪记录的关键数据的原始值,确认到所述关键数据没有被修改,所述共享内存中的关键数据不需要修复后,将所述进程送回到内核态。
6.根据权利要求5所述的共享内存中的关键数据的处理方法,其特征在于,在确认到所述共享内存中的关键数据没有被修改,将所述进程送回到内核态后包括:
在所述进程被送回到内核态后,终止所述进程;
在所述共享内存中已被修改的关键数据被修复后,包括:
将所述进程送回到内核态;
在所述进程被送回到内核态后,终止所述进程。
7.根据权利要求1~6任意一项所述的共享内存中关键数据的处理方法,其特征在于,所述在所述进程准备修改关键数据之前,跟踪记录共享内存中的关键数据的原始值包括:
建立一个包含内存地址字段和初始值字段的数据跟踪列表,所述关键数据的原始值包括关键数据的内存地址和关键数据的初始值;在所述进程准备修改关键数据之前,将所述关键数据的内存地址和关键数据的初始值对应的记录到所述数据跟踪列表的内存地址字段和初始值字段;
所述将所述关键数据的原始值对应的写回到共享内存中被修改的关键数据是指根据所述关键数据的内存地址,将所述关键数据的初始值写回到对应的所关键数据的内存地址下。
8.一种处理器,其特征在于,包括:
存储单元,用于存储进程注册的修复回调函数的指针,所述修复回调函数的指针用于在修复共享内存中的已被修改的关键数据时调用修复回调函数;
跟踪记录单元,用于在所述进程准备修改共享内存中的关键数据之前,跟踪记录所述关键数据的原始值,所述关键数据是共享内存中用于数据连接的数据;
送回单元,用于当进程退出共享内存通过陷阱机制进入内核态后,若进程的标志位指示所述进程使用过所述共享内存,将所述进程送回到用户态,所述陷阱机制就是进程异常退出共享内存后由用户态进入内核态的一段程序,所述标志位用于指示所述进程是否使用过所述共享内存;
调用修复单元,用于当有所述跟踪记录的关键数据的原始值,确认到所述共享内存中的关键数据已被所述进程修改,所述已被修改的关键数据需要修复后,使用所述修复回调函数的指针调用所述修复回调函数,使用所述修复回调函数将所述关键数据的原始值对应的写回到共享内存中已被修改的关键数据中去。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为数字技术有限公司,未经华为数字技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110116702.2/1.html,转载请声明来源钻瓜专利网。