一种数据获取方法及装置制造方法及图纸

技术编号:21476793 阅读:29 留言:0更新日期:2019-06-29 04:35
本发明专利技术实施例公开了一种数据获取方法及装置,该方法包括:基于设备系统对应的开放源代码编译目标动态库;将目标动态库集成到目标应用中;目标应用是基于插件化的应用;基于目标动态库所提供的访问接口,在目标应用中访问设备系统的系统参数集;系统参数集中包括设备系统中所有应用对应的内存信息;获取目标应用对应的标识信息,根据标识信息在系统参数集中获取与目标应用对应的目标内存信息;目标应用对应的标识信息是基于目标应用的插件化的特性得到的。采用本发明专利技术实施例,可提高对插件化应用进行内存分类的通用性以及分类效率。

【技术实现步骤摘要】
一种数据获取方法及装置
本专利技术涉及数据处理的
,尤其涉及一种数据获取方法及装置。
技术介绍
现今应用市场已经是百花齐放,各类应用不论在功能上还是内容上都越发丰富,为了满足用户日益增长的需求,对应用的功能以及内容都提出了更高的要求,由此插件化的应用应运而生。现有技术中,在对应用进行内存分类时,需要通过特定的内存工具才能实现应用的内存分类,从而对应用以及应用所在设备增加了一系列限定,导致内存分类通用性低。且在现有技术中,在对插件化的应用对应的内存进行分类以获取与该插件化的应用相匹配的内存信息时,需要获取到设备最高管理权限或者修改设备系统的源代码才能实现,此种方式会导致开发成本高,内存分类效率低等缺陷。
技术实现思路
本专利技术实施例提供了一种数据获取方法及装置,可提高对插件化应用进行内存分类的通用性以及分类效率。本专利技术实施例一方面提供了一种数据获取方法,包括:基于设备系统对应的开放源代码编译目标动态库;将所述目标动态库集成到目标应用中;所述目标应用是基于插件化的应用;基于所述目标动态库所提供的访问接口,在所述目标应用中访问所述设备系统的系统参数集;所述系统参数集中包括所述设备系统中所有应用对应的内存信息;获取所述目标应用对应的标识信息,根据所述标识信息在所述系统参数集中获取与所述目标应用对应的目标内存信息;所述目标应用对应的标识信息是基于所述目标应用的插件化的特性得到的。其中,所述基于设备系统对应的开放源代码编译目标动态库,包括:创建源码工程;所述源码工程中包括所述开放源代码;将所述源码工程中的所述开放源代码链接到开发工程中,基于所述开发工程提供的开发环境编译所述目标动态库。其中,所述基于所述开发工程提供的开发环境编译所述目标动态库,包括:基于所述开发环境从所述开放源代码中获取所述设备系统对应的头文件;基于所述开发环境编译初始动态库,并根据所述头文件为所述初始动态库编译访问接口,将包含所述访问接口的初始动态库确定为所述目标动态库。其中,还包括:获取所述目标应用对应的所述标识信息;所述标识信息中包括所述目标应用对应的目标内存地址;在所述目标应用中访问所述系统参数集,以获取与所述目标内存地址对应的内存信息,并将获取到的与所述目标内存地址相匹配的内存信息确定为所述目标内存信息。其中,还包括:确定所述目标应用对应的锚定点;所述锚定点用于区别所述目标应用对应的目标插件的引用路径,所述引用路径用于区分所述目标应用对应的内存信息;将所述锚定点确定为遍历的起点,并获取中间节点;所述中间节点包括系统节点、所述目标应用对应的目标节点以及宿主节点;所述目标节点是指所述目标插件的引用路径对应的多个节点;所述系统节点是指所述设备系统中除了所述目标节点以及所述宿主节点之外的其他节点;所述宿主节点是指所述目标插件与所述设备系统对应的宿主进行交互时所获取到的节点;从所述起点开始,通过节点遍历规则遍历所述目标节点、所述系统节点以及所述宿主节点,并根据遍历结果生成所述目标应用对应的标识信息;所述标识信息是通过遍历到的所述目标节点所获取的。其中,所述从所述起点开始,通过节点遍历规则遍历所述目标节点以及所述系统节点,并根据遍历结果生成所述目标应用对应的标识信息,包括:根据所述节点遍历规则确定所述中间节点的遍历顺序,根据所述遍历顺序,从所述起点开始,遍历所述中间节点;根据处于遍历状态的中间节点的类型在所述中间节点中选择停止遍历节点;所述处于遍历状态的中间节点的类型包括所述宿主节点的类型或所述目标节点的类型或所述系统节点的类型;当遍历至所述目标节点时,获取所述目标节点对应的内存地址,将获取到的所述目标节点中的每一个目标节点对应的内存地址统称为目标内存地址;当遍历至所述系统节点的类型所对应的停止遍历节点时,停止遍历,并基于所述目标内存地址生成所述目标应用对应的所述标识信息。其中,还包括:检测所述目标应用对应的加载源;若所述加载源为所述目标应用对应的类加载器,则执行所述目标应用对应的锚定点的步骤。其中,所述确定所述目标应用对应的锚定点,包括:获取所述设备系统的插件入口对应的类,并通过所述插件入口对应的类确定入口函数以及成员变量;根据所述入口函数以及所述成员变量确定所述锚定点。其中,所述节点遍历规则包括:所述宿主节点的遍历优先级大于所述目标节点的遍历优先级,所述目标节点的遍历优先级大于所述系统节点的遍历优先级。本专利技术实施例另一方面提供了一种数据获取装置,包括:编译模块,用于基于设备系统对应的开放源代码编译目标动态库;集成模块,用于将所述目标动态库集成到目标应用中;所述目标应用是基于插件化的应用;访问模块,用于基于所述目标动态库所提供的访问接口,在所述目标应用中访问所述设备系统的系统参数集;所述系统参数集中包括所述设备系统中所有应用对应的内存信息;第一获取模块,用于获取所述目标应用对应的标识信息,根据所述标识信息在所述系统参数集中获取与所述目标应用对应的目标内存信息;所述目标应用对应的标识信息是基于所述目标应用的插件化的特性得到的。其中,所述编译模块还包括:创建单元,用于创建源码工程;所述源码工程中包括所述开放源代码;编译单元,用于将所述源码工程中的所述开放源代码链接到开发工程中,基于所述开发工程提供的开发环境编译所述目标动态库。其中,所述编译单元还包括:获取子单元,用于基于所述开发环境从所述开放源代码中获取所述设备系统对应的头文件;编译子单元,用于基于所述开发环境编译初始动态库,并根据所述头文件为所述初始动态库编译访问接口,将包含所述访问接口的初始动态库确定为所述目标动态库。其中,所述数据获取装置还包括:第二获取模块,用于获取所述目标应用对应的所述标识信息;所述标识信息中包括所述目标应用对应的目标内存地址;第一确定模块,用于在所述目标应用中访问所述系统参数集,以获取与所述目标内存地址对应的内存信息,并将获取到的与所述目标内存地址相匹配的内存信息确定为所述目标内存信息。其中,所述数据获取装置还包括:第二确定模块,用于确定所述目标应用对应的锚定点;所述锚定点用于区别所述目标应用对应的目标插件的引用路径,所述引用路径用于区分所述目标应用对应的内存信息;节点获取模块,用于将所述锚定点确定为遍历的起点,并获取中间节点;所述中间节点包括系统节点、所述目标应用对应的目标节点以及宿主节点;所述目标节点是指所述目标插件的引用路径对应的多个节点;所述系统节点是指所述设备系统中除了所述目标节点以及所述宿主节点之外的其他节点;所述宿主节点是指所述目标插件与所述设备系统对应的宿主进行交互时所获取到的节点;生成模块,用于从所述起点开始,通过节点遍历规则遍历所述目标节点、所述系统节点以及所述宿主节点,并根据遍历结果生成所述目标应用对应的标识信息;所述标识信息是通过遍历到的所述目标节点所获取的。其中,所述第二确定模块还包括:第一获取单元,用于获取所述设备系统的插件入口对应的类,并通过所述插件入口对应的类确定入口函数以及成员变量;确定单元,用于根据所述入口函数以及所述成员变量确定所述锚定点。其中,所述生成模块还包括:遍历单元,用于根据所述节点遍历规则确定所述中间节点的遍历顺序,根据所述遍历顺序,从所述起点开始,遍历所述中间节点;选择单元,用于根据处于遍历状态的中间节点的类型在本文档来自技高网...

【技术保护点】
1.一种数据获取方法,其特征在于,包括:基于设备系统对应的开放源代码编译目标动态库;将所述目标动态库集成到目标应用中;所述目标应用是基于插件化的应用;基于所述目标动态库所提供的访问接口,在所述目标应用中访问所述设备系统的系统参数集;所述系统参数集中包括所述设备系统中所有应用对应的内存信息;获取所述目标应用对应的标识信息,根据所述标识信息在所述系统参数集中获取与所述目标应用对应的目标内存信息;所述目标应用对应的标识信息是基于所述目标应用的插件化的特性得到的。

【技术特征摘要】
1.一种数据获取方法,其特征在于,包括:基于设备系统对应的开放源代码编译目标动态库;将所述目标动态库集成到目标应用中;所述目标应用是基于插件化的应用;基于所述目标动态库所提供的访问接口,在所述目标应用中访问所述设备系统的系统参数集;所述系统参数集中包括所述设备系统中所有应用对应的内存信息;获取所述目标应用对应的标识信息,根据所述标识信息在所述系统参数集中获取与所述目标应用对应的目标内存信息;所述目标应用对应的标识信息是基于所述目标应用的插件化的特性得到的。2.根据权利要求1所述的方法,其特征在于,所述基于设备系统对应的开放源代码编译目标动态库,包括:创建源码工程;所述源码工程中包括所述开放源代码;将所述源码工程中的所述开放源代码链接到开发工程中,基于所述开发工程提供的开发环境编译所述目标动态库。3.根据权利要求2任一项所述的方法,其特征在于,所述基于所述开发工程提供的开发环境编译所述目标动态库,包括:基于所述开发环境从所述开放源代码中获取所述设备系统对应的头文件;基于所述开发环境编译初始动态库,并根据所述头文件为所述初始动态库编译访问接口,将包含所述访问接口的初始动态库确定为所述目标动态库。4.根据权利要求1所述的方法,其特征在于,还包括:获取所述目标应用对应的所述标识信息;所述标识信息中包括所述目标应用对应的目标内存地址;在所述目标应用中访问所述系统参数集,以获取与所述目标内存地址对应的内存信息,并将获取到的与所述目标内存地址相匹配的内存信息确定为所述目标内存信息。5.根据权利要求1-4任一项所述的方法,其特征在于,还包括:确定所述目标应用对应的锚定点;所述锚定点用于区别所述目标应用对应的目标插件的引用路径,所述引用路径用于区分所述目标应用对应的内存信息;将所述锚定点确定为遍历的起点,并获取中间节点;所述中间节点包括系统节点、所述目标应用对应的目标节点以及宿主节点;所述目标节点是指所述目标插件的引用路径对应的多个节点;所述系统节点是指所述设备系统中除了所述目标节点以及所述宿主节点之外的其他节点;所述宿主节点是指所述目标插件与所述设备系统对应的宿主进行交互时所获取到的节点;从所述起点开始,通过节点遍历规则遍历所述目标节点、所述系统节点以及所述宿主节点,并根据遍历结果生成所述目标应用对应的标识信息;所述标识信息是通过遍历到的所述目标节点所获取的。6.根据权利要求5所述的方法,其特征在于,所述从所述起点开始,通过节点遍历规则遍历所述目标节点以及所述系统节点,并根据遍历结果生成所述目标应用对应的标识信息,包括:根据所述节点遍历规则确定所述中间节点的遍历顺序,根据所述遍历顺序,从所述起点开始,遍历所述中间节点;根据处于遍历状态的中间节点的类型在所述中间节点中选择停止遍历节点;所述处于遍历状态的中间节点的类型包括所述宿主节点的类型或所述目标节点的类型或所述系统节点的类型;当遍历至所述目标节点时,获取所述目标节点对应的内存地址,将获取到的所述目...

【专利技术属性】
技术研发人员:杜文涛
申请(专利权)人:腾讯科技北京有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1