[发明专利]数据处理方法及装置有效
申请号: | 201910231743.2 | 申请日: | 2019-03-26 |
公开(公告)号: | CN111752912B | 公开(公告)日: | 2022-11-01 |
发明(设计)人: | 不公告发明人 | 申请(专利权)人: | 上海寒武纪信息科技有限公司 |
主分类号: | G06F16/182 | 分类号: | G06F16/182;G06F16/13 |
代理公司: | 北京林达刘知识产权代理事务所(普通合伙) 11277 | 代理人: | 刘新宇 |
地址: | 201306 上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据处理 方法 装置 | ||
1.一种数据处理方法,其特征在于,包括:
获取程序的日志文件,所述日志文件包括多条记录,各记录用于记载所述程序运行中执行函数调用的信息;
根据所述日志文件生成索引文件,所述索引文件表示所述日志文件中的记录的位置和记录中记载的函数调用之间的调用关系;
根据所述索引文件,确定当前记录中的函数调用的父调用、同级调用或直接子调用所在记录的位置;
所述索引文件包括记录的位置序号和与位置序号对应的索引号,所述位置序号表示记录在日志文件中的位置,所述索引号用于表示记录中记载的函数调用之间的调用关系;
根据所述索引文件,确定当前记录中的函数调用的父调用、同级调用或直接子调用所在记录的位置,包括:
根据所述位置序号和所述索引号,确定当前记录中的函数调用的父调用、同级调用或直接子调用所在记录的位置;
在所述索引文件中,每个记录的位置序号对应一个索引号,入记录的位置序号对应的索引号与该入记录所对应的出记录的位置序号相同,出记录的位置序号对应的索引号与该出记录中函数调用的父调用所在入记录的位置序号相同。
2.根据权利要求1所述的方法,其特征在于,
所述日志文件的记录包括入记录和出记录,所述入记录用于记载所述程序执行进入函数调用的信息,所述出记录用于记载所述程序执行退出函数调用的信息,各记录在所述日志文件中的位置序号按照各记录生成的先后顺序依次变化。
3.根据权利要求2所述的方法,其特征在于,根据所述索引文件,确定当前记录中的函数调用的父调用、同级调用或直接子调用所在记录的位置,包括:
如果当前记录为入记录,则将当前入记录的索引号,确定为与当前入记录对应的出记录的位置序号;
将当前入记录对应的出记录的索引号,作为当前入记录的函数调用的父调用所在入记录的位置序号,每个入记录的函数调用和该入记录对应的出记录的函数调用相同;
如果当前入记录对应的出记录的下一条记录为入记录,则将该当前入记录对应的出记录的下一条记录的位置序号,作为当前入记录的函数调用的同级调用中的下一条调用所在入记录的位置序号;
如果当前入记录对应的出记录的下一条记录为出记录,则确定当前入记录中函数调用的同级调用中没有下一条调用。
4.根据权利要求2所述的方法,其特征在于,根据所述索引文件,确定当前记录中的函数调用的父调用或同级调用或直接子调用所在记录的位置,还包括:
如果当前记录为入记录,且当前入记录的下一条记录为入记录,则确定该当前入记录的下一条记录的位置序号,为与当前入记录对应的函数调用的第一条直接子调用所对应入记录的位置;
将该当前入记录的下一条记录的索引号,确定为该当前入记录的下一条记录所对应出记录的位置序号;
如果该当前入记录的下一条记录所对应出记录的下一条记录为入记录,则将该当前入记录的下一条记录所对应出记录的下一条记录的位置序号,确定为当前入记录对应的函数调用的直接子调用中的下一条直接子调用所对应入记录的位置序号;
如果该当前入记录的下一条记录所对应出记录的下一条记录为出记录,则确定当前入记录对应的函数调用的直接子调用中没有下一条直接子调用。
5.根据权利要求2所述的方法,其特征在于,根据所述日志文件生成索引文件,包括:
创建栈,并在遍历所述日志文件的过程中,进行以下操作,直至对所述日志文件的遍历结束;
若遍历到入记录,则将该入记录对应的位置序号压入栈中;
若遍历到出记录,则将该出记录的位置序号,作为位置序号与当前栈顶数值相同的记录的位置序号对应的索引号,弹出当前栈顶,并将新的栈顶数值,作为该出记录的位置序号对应的索引号。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海寒武纪信息科技有限公司,未经上海寒武纪信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910231743.2/1.html,转载请声明来源钻瓜专利网。