[发明专利]程序要素提取方法及装置有效
申请号: | 202011330861.8 | 申请日: | 2020-11-24 |
公开(公告)号: | CN112306499B | 公开(公告)日: | 2023-10-13 |
发明(设计)人: | 张浩;黄贵敏;戴明海;林德坤 | 申请(专利权)人: | 中国工商银行股份有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F8/51;G06F9/445 |
代理公司: | 北京三友知识产权代理有限公司 11127 | 代理人: | 任默闻;孙乳笋 |
地址: | 100140 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 程序 要素 提取 方法 装置 | ||
本申请实施例提供一种程序要素提取方法及装置,可用于大数据技术领域,方法包括:根据目标要素提取信息遍历预存储的各个源程序各自对应的语法树,查找用于源程序迁移的程序要素;其中,所述语法树的各个节点分别用于表示对应的源程序中各个程序要素,各个所述程序要素分别对应预存储的程序要素信息;输出所述目标要素提取信息对应的全部的所述程序要素的程序要素信息。本申请能够有效提高程序要素的提取全面性及准确性,有效提高程序要素的提取效率,进而能够有效提高应用提取的程序要素进行源程序迁移等场景的实施效率及准确性。
技术领域
本申请涉及数据处理技术领域,特别涉及大数据技术领域,具体涉及程序要素提取方法及装置。
背景技术
随着互联网行业快速发展,基于X86架构的开发平台分布式架构日趋成熟,展现了成本可控、弹性伸缩、技术体系开放等优点。同时,为确保关键信息系统技术安全,去IOE成为金融行业趋势,关键技术需自有化。例如,当前采用的基于IBM大型机技术的架构体系的大型金融机构,亟待向基于X86架构的分布式架构转型。在转型过程中,不能影响既有的业务开展,需保持原有程序逻辑不变,因此有海量的源代码需要迁移、分析。因此,需要一种高效、灵活的代码分析工具来辅助架构转型。
代码分析是一个系统性的工作,可以归结为程序要素管理。程序要素包括源程序、接口、函数、sql语句、表结构、表字段等等,以及程序要素之间的调用、访问关系,比如有哪些程序访问了表A,比如哪些程序调用了公共函数B。在架构转型工程的不同阶段,往往有不同的代码分析需求。
目前,现有的代码分析工具,往往是基于工程现阶段的具体需求,单独开放一个工具,其技术原理,一般是把源代码当作一个大字符串,基于程序语法的关键字定义把某一种程序要素提取出来。然而,这种方法具有多种不足,包括代码开放效率低,需要大量测试以防止程序问题导致程序要素的搜索遗漏、准确性差等问题。
发明内容
针对现有技术中的问题,本申请提供一种程序要素提取方法及装置,能够有效提高程序要素的提取全面性及准确性,有效提高程序要素的提取效率,进而能够有效提高应用提取的程序要素进行源程序迁移等场景的实施效率及准确性。
为解决上述技术问题,本申请提供以下技术方案:
第一方面,本申请提供一种程序要素提取方法,包括:
根据目标要素提取信息遍历预存储的各个源程序各自对应的语法树,查找用于源程序迁移的程序要素;其中,所述语法树的各个节点分别用于表示对应的源程序中各个程序要素,各个所述程序要素分别对应预存储的程序要素信息;
输出所述目标要素提取信息对应的全部的所述程序要素的程序要素信息。
进一步地,在所述根据目标要素提取信息遍历预存储的各个源程序各自对应的语法树,查找用于源程序迁移的程序要素之前,还包括:
应用预设的语法树生成程序对源码库进行扫描,并基于预设的代码语法生成所述源码库中的各个所述源程序各自对应的可扩展程序要素的语法树,且所述语法树的各个节点分别用于表示对应的源程序中各个程序要素;
存储各个所述程序要素分别对应的用于表示程序要素信息的程序要素表,其中,所述程序要素信息包括程序要素的标识和对应的属性信息;且该属性信息包括程序要素的类型、所属源程序标识和对应在语法树中的节点标识。
进一步地,所述根据目标要素提取信息遍历预存储的各个源程序各自对应的语法树,查找用于源程序迁移的程序要素,包括:
接收程序要素提取请求,其中,该程序要素提取请求中包含有目标要素提取信息,且该目标要素提取信息中包括程序要素的目标属性信息;
基于所述目标属性信息获取对应的目标插件,并将所述目标插件加入预设的语法树遍历程序中以形成对应的目标遍历程序;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国工商银行股份有限公司,未经中国工商银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011330861.8/2.html,转载请声明来源钻瓜专利网。