一种程序代码的查找方法及装置.pdf

上传人:zhu****69 文档编号:1669969 上传时间:2018-07-03 格式:PDF 页数:17 大小:1.06MB
返回 下载 相关 举报
摘要
申请专利号:

CN201510075869.7

申请日:

2015.02.12

公开号:

CN104636471A

公开日:

2015.05.20

当前法律状态:

撤回

有效性:

无权

法律详情:

发明专利申请公布后的视为撤回IPC(主分类):G06F 17/30申请公布日:20150520|||实质审查的生效IPC(主分类):G06F 17/30申请日:20150212|||公开

IPC分类号:

G06F17/30; G06F9/44

主分类号:

G06F17/30

申请人:

中国农业银行股份有限公司

发明人:

盖金鹏; 吴汇川; 李妍

地址:

100005北京市东城区建国门内大街69号

优先权:

专利代理机构:

北京集佳知识产权代理有限公司11227

代理人:

王宝筠

PDF下载: PDF下载
内容摘要

本申请提供了一种程序代码查找方法及装置,该方法包括:在接收到数据表变更消息后,获取数据访问层程序的代码段,并提取数据表变更消息中的数据表标识,进而在代码段中查找对数据表标识对应的数据表执行操作的代码,若查找到,记录该代码段的程序标识,从而实现在数据表变更后,对与其关联的数据访问层程序的查找,避免人工查找方式效率较低及容易疏漏的技术问题。

权利要求书

权利要求书
1.  一种程序代码的查找方法,其特征在于,包括:
当接收到数据表变更消息时,获取数据访问层程序的代码段;
提取所述数据表变更消息中的数据表标识,并在所述代码段中,查找对 所述数据表标识对应的数据表执行第一操作的代码;其中,所述第一操作包 括增加、删除、查找、修改或连接;
若查找到,记录所述代码段对应的程序标识。

2.  根据权利要求1所述的程序代码的查找方法,其特征在于,所述在所 述代码段中,查找对所述数据表标识对应的数据表执行第一操作的代码包括:
利用预设数据表访问模板,在所述代码段中,查找对数据表执行第一操 作的代码;其中,所述预设数据表访问模板中包括对数据表执行操作的格式 代码,所述数据表为所述数据表标识对应的数据表;
当所述代码段中包含对视图执行第二操作的代码时,在视图的代码中, 查找对所述数据表执行第一操作的代码;其中,所述第二操作包括查找或连 接;
当所述代码段中包含调用自定义存储过程的代码时,利用所述自定义存 储过程的代码,查找对所述数据表执行第一操作的代码。

3.  根据权利要求1所述的程序代码的查找方法,其特征在于,还包括:
当所述代码段中包含动态操作标识且所述数据表标识作为参数时,标记 所述代码段对应的程序标识为备选程序;
当所述代码段中包含调用系统存储过程的代码且所述数据表标识作为参 数时,标记所述代码段对应的程序标识为备选程序。

4.  根据权利要求2所述的程序代码的查找方法,其特征在于,在视图的 代码中,查找对所述数据表执行第一操作的代码包括:
利用预设数据表访问模板,在所述视图的代码中,查找对所述数据表执 行第一操作的代码;
当所述视图的代码中包含对新的视图执行第二操作的代码时,返回利用 预设数据表访问模板,在新的视图的代码中,查找对所述数据表执行第一操 作的代码。

5.  根据权利要求2所述的程序代码的查找方法,其特征在于,所述利用 所述自定义存储过程的代码,查找对所述数据表执行第一操作的代码包括:
当所述代码段中包含调用自定义存储过程的代码时,利用预设数据表访 问模板,在该自定义存储过程的代码中,查找对所述数据表执行第一操作的 代码;
当所述自定义存储过程的代码中包含对视图执行第二操作的代码时,在 视图的代码中,查找对所述数据表执行第一操作的代码;
当所述自定义存储过程的代码中包含调用自定义函数的代码时,利用所 述自定义函数的代码,查找对所述数据表执行第一操作的代码;
当所述自定义存储过程的代码中包含新的自定义存储过程的代码时,返 回利用所述新的自定义存储过程的代码,查找对所述数据表执行第一操作的 代码。

6.  根据权利要求5所述的程序代码的查找方法,其特征在于,所述利用 所述自定义函数的代码,查找对所述数据表执行第一操作的代码包括:
利用预设数据表访问模板,在所述自定义函数的代码中,查找对所述数 据表执行第一操作的代码;
当所述自定义函数的代码中包含对视图执行第二操作的代码时,返回在 视图的代码中,查找对所述数据表执行第一操作的代码。

7.  根据权利要求6所述的程序代码的查找方法,其特征在于,还包括:
当所述自定义函数的代码中包含所述动态操作标识且所述数据表作为参 数时,标记所述代码段对应的程序标识为备选程序。

8.  根据权利要求1所述的程序代码的查找方法,其特征在于,还包括:
当所述代码段中存在注释语句时,删除所述代码段中的注释语句。

9.  一种程序代码的查找装置,其特征在于,包括:
代码段获取模块,用于当接收到数据表变更消息时,获取数据访问层程 序的代码段;
操作代码查找模块,用于提取所述数据表变更消息中的数据表标识,并 在所述代码段中,查找对所述数据表标识对应的数据表执行第一操作的代码; 其中,所述第一操作包括增加、删除、查找、修改或连接;若查找到,触发 程序标识记录模块;
程序标识记录模块,用于记录所述代码段对应的程序标识。

10.  根据权利要求9所述的程序代码的查找装置,其特征在于,还包括:
注释语句删除模块,用于当所述代码段中存在注释语句时,删除所述代 码段中的注释语句。

说明书

说明书一种程序代码的查找方法及装置
技术领域
本申请涉及代码查找技术领域,尤其是一种程序代码的查找方法及装置。
背景技术
目前,各种软件系统都会使用到数据库系统,并且应用层程序需要访问 数据库内数据表中存储的数据,来实现相应的功能。以银行系统为例,软件 系统在实现存款交易等功能时,存款交易模块需要查找到账户余额表,并将 存款金额等各种信息存入到账户余额表中,这个过程可称为程序对数据表的 操作或者访问。
但是,数据表自身信息会发生变更,为了保证程序对变更后的数据表的 正确访问,需要程序开发人员修改相应代码,因此,需要在大量的系统代码 中查找到与变更后的数据表具有访问关系的程序。目前的查找方式为人工查 找,该种方式效率较低且容易出现疏漏。
发明内容
有鉴于此,本发明提供了一种程序代码的查找方法及装置,用以实现在 数据表发生变化的情况下,实现对与该数据表相关的程序的自动查询。为实 现所述目的,本发明提供的技术方案如下:
一种程序代码的查找方法,包括:
当接收到数据表变更消息时,获取数据访问层程序的代码段;
提取所述数据表变更消息中的数据表标识,并在所述代码段中,查找对 所述数据表标识对应的数据表执行第一操作的代码;其中,所述第一操作包 括增加、删除、查找、修改或连接;
若查找到,记录所述代码段对应的程序标识。
优选地,上述的程序代码的查找方法,所述在所述代码段中,查找对所 述数据表标识对应的数据表执行第一操作的代码包括:
利用预设数据表访问模板,在所述代码段中,查找对数据表执行第一操 作的代码;其中,所述预设数据表访问模板中包括对数据表执行操作的格式 代码,所述数据表为所述数据表标识对应的数据表;
当所述代码段中包含对视图执行第二操作的代码时,在视图的代码中, 查找对所述数据表执行第一操作的代码;其中,所述第二操作包括查找或连 接;
当所述代码段中包含调用自定义存储过程的代码时,利用所述自定义存 储过程的代码,查找对所述数据表执行第一操作的代码。
优选地,上述的程序代码的查找方法还包括:
当所述代码段中包含动态操作标识且所述数据表标识作为参数时,标记 所述代码段对应的程序标识为备选程序;
当所述代码段中包含调用系统存储过程的代码且所述数据表标识作为参 数时,标记所述代码段对应的程序标识为备选程序。
优选地,上述的程序代码的查找方法,在视图的代码中,查找对所述数 据表执行第一操作的代码包括:
利用预设数据表访问模板,在所述视图的代码中,查找对所述数据表执 行第一操作的代码;
当所述视图的代码中包含对新的视图执行第二操作的代码时,返回利用 预设数据表访问模板,在新的视图的代码中,查找对所述数据表执行第一操 作的代码。
优选地,上述的程序代码的查找方法,所述利用所述自定义存储过程的 代码,查找对所述数据表执行第一操作的代码包括:
当所述代码段中包含调用自定义存储过程的代码时,利用预设数据表访 问模板,在该自定义存储过程的代码中,查找对所述数据表执行第一操作的 代码;
当所述自定义存储过程的代码中包含对视图执行第二操作的代码时,在 视图的代码中,查找对所述数据表执行第一操作的代码;
当所述自定义存储过程的代码中包含调用自定义函数的代码时,利用所 述自定义函数的代码,查找对所述数据表执行第一操作的代码;
当所述自定义存储过程的代码中包含新的自定义存储过程的代码时,返 回利用所述新的自定义存储过程的代码,查找对所述数据表执行第一操作的 代码。
优选地,上述的程序代码的查找方法,所述利用所述自定义函数的代码, 查找对所述数据表执行第一操作的代码包括:
利用预设数据表访问模板,在所述自定义函数的代码中,查找对所述数 据表执行第一操作的代码;
当所述自定义函数的代码中包含对视图执行第二操作的代码时,返回在 视图的代码中,查找对所述数据表执行第一操作的代码。
优选地,上述的程序代码的查找方法还包括:
当所述自定义函数的代码中包含所述动态操作标识且所述数据表作为参 数时,标记所述代码段对应的程序标识为备选程序。
优选地,上述的程序代码的查找方法还包括:
当所述代码段中存在注释语句时,删除所述代码段中的注释语句。
本申请还提供了一种程序代码的查找装置,包括:
代码段获取模块,用于当接收到数据表变更消息时,获取数据访问层程 序的代码段;
操作代码查找模块,用于提取所述数据表变更消息中的数据表标识,并 在所述代码段中,查找对所述数据表标识对应的数据表执行第一操作的代码; 其中,所述第一操作包括增加、删除、查找、修改或连接;若查找到,触发 程序标识记录模块;
程序标识记录模块,用于记录所述代码段对应的程序标识。
优选地,上述的程序代码的查找装置,还包括:
注释语句删除模块,用于当所述代码段中存在注释语句时,删除所述代 码段中的注释语句。
由以上可知,本发明具有如下有益效果:
本发明提供的代码查找方法,在接收到数据表变更消息后,获取数据访 问层程序的代码段,并提取数据表变更消息中的数据表标识,进而在代码段 中查找对数据表标识对应的数据表执行操作的代码,若查找到,记录该代码 段的程序标识,从而实现在数据表变更后,对与其关联的数据访问层程序的 查找,避免人工查找方式效率较低及容易疏漏的技术问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实 施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面 描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不 付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的程序代码的查找方法的流程图;
图2为本发明另一实施例提供的程序代码的查找方法的流程图;
图3为本发明又一实施例提供的程序代码的查找方法的部分流程图;
图4为本发明又一实施例提供的程序代码的查找方法的部分流程图;
图5为本发明又一实施例提供的程序代码的查找方法的流程图;
图6为本发明又一实施例提供的程序代码的查找方法的部分流程图;
图7为本发明实施例提供的程序代码的查找装置的结构示意图;
图8为本发明另一实施例提供的程序代码的查找装置的部分结构示意图;
图9为本发明又一实施例提供的程序代码的查找装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行 清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而 不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做 出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,其示出了本发明实施例提供的程序代码的查找方法的流程,具 体包括以下步骤:
步骤S101:当接收到数据表变更消息时,获取数据访问层程序的代码段。
其中,数据表发生变化时,会生成变更消息,该变更消息会被发送至本 实施例的执行装置,触发该执行装置获取数据访问层程序的代码段。其中, 数据访问层程序的代码段存储在代码服务器上,在代码服务器上下载全部的 数据访问层程序,需要说明的是,这些程序是所有访问数据表的程序,但需 要在其中查找到访问变更的数据表的程序。
步骤S102:提取所述数据表变更消息中的数据表标识,并在所述代码段 中,查找对所述数据表标识对应的数据表执行第一操作的代码;其中,所述 第一操作包括增加、删除、查找、修改或连接;若查找到,执行步骤S103。
其中,判断变更的数据表是否被数据访问层的程序访问,只需判断程序 的所有代码段中是否有一段代码访问了变更的数据表。数据表变更消息中包 含数据表标识,该标识代表变更过的数据表。在该变更消息中提取数据表标 识,并在各个程序代码段中查找访问该数据表的代码,若查找到,说明该程 序与变更的数据表具有关联关系,或者说,变更的数据表会影响到该数据访 问的程序,进而执行步骤S103记录该程序。
程序与数据表的关联指的是程序对数据表的操作,具体包括向数据表内 增加记录、删除数据表中的记录、在数据表中查找记录、修改数据表中的记 录或者将多个数据表进行连接。需要说明的是,此处的操作被称为第一操作, 是为了便于描述并且与下文的操作进行区分,并没有特指顺序的含义。
步骤S103:记录所述代码段对应的程序标识。
具体地,若某个程序的代码段中包括对变更数据表的操作,记录该代码 段的程序标识。程序标识可以是程序名称,记录的方式可以是将程序标识记 录在列表中,当然,程序标识可以是唯一代表程序的任意标识,并且还可以 用其他的方式对程序标识进行记录。需要说明的是,步骤S101中获取到的程 序可以是多个,并且步骤S102是对每个程序都进行查找,若在任意多个程序 中均查找到对变更后的数据表的访问,则本步骤会记录下多个程序标识。
由以上的技术方案可知,本实施例提供的程序代码的查找方法,在接收 到数据表变更的消息后,首先获取数据访问层程序的代码段,并提取该数据 表变更消息中的数据表标识,该数据表标识代表变更后的数据表,进而在获 取到的各个代码段中查找对该数据表执行操作的代码,若查找到,则记录该 代码段对应的程序标识,从而获得访问变更后的数据表的各个程序,该种方 式避免人工查找方式效率较低及容易疏漏的技术问题。另外,查找到各个程 序,便可为开发人员修改程序提供依据,最终保证程序对变更后的数据表的 准确访问。
上述实施例中,连接可以是内部连接(inner join)、外部连接(outer join) 或笛卡尔积连接(cross join),外部连接可以具体包括left join、right join或者 full join三种。并且,该实施例可以应用在Rule编程语言环境中,数据表应用 的数据库可以为DB2,程序访问DB2的方式可以是ESQL方式,当然,这仅仅 是一种具体应用实例,还可以是应用在其他的程序设计语言及数据库产品中。
下载的程序代码段中可能包含注释语句,因此,为了避免查找过程中错 误地将注释语句解析为真正访问数据库的语句,需要在解析前判断,即在步 骤S101之后及步骤S102之前还包括:判断代码段中是否存在注释语句,若存 在,删除代码段中的注释语句。
需要说明的是,以上及以下各个实施例可以但不局限于银行业务系统中, 只要是利用数据表存储数据,且应用程序需要访问访问变更后的数据表的情 况均可适用。
上述实施例中,步骤S102的查找是一个复杂的解析过程,除了要在程序 代码段本身进行查找外,还需要校验访问时引用的视图或者存储过程等,下 面结合图2对查找过程进行具体说明。如图2所示,步骤S102的具体实现过程 可以包括以下内容:
步骤S201:利用预设数据表访问模板,在所述代码段中,查找对数据表 执行第一操作的代码;其中,所述预设数据表访问模板中包括对数据表执行 操作的格式代码,所述数据表为所述数据表标识对应的数据表。
具体地,代码段中可能包括“简单SQL”,即单纯对数据表进行增删查改 或连接操作的代码。因此,为了实现查找出该种形式的访问语句,可以利用 预设数据表访问模板,在代码段中查找对数据表执行上述操作的代码。其中, 数据表访问模板中包括对数据表执行操作的格式代码,若在待查找的代码段 中查找到符合该模板中任意一种格式代码的代码,说明步骤S102的查找结果 为查找到,进而执行步骤S103记录该段代码的程序标识。
例如,数据表访问模板包含的查找格式代码为:select……from数据表集 合,利用该数据表访问模板中的各个格式代码与待查找的代码进行匹配,若 待查找的代码中包含select时,进而判断selcet后面的代码是否符合from数据表 集合的格式,若是,说明该段代码为对数据表执行查找操作的代码,进而执 行步骤S103记录该段代码的程序标识。例如,待查找的代码段中包含一段代 码:select……from T1,XX;where T1.id=XX.id。根据上述的查找说明,该 段代码符合数据表访问模板中的查找格式代码,因此,需要对该段代码的程 序标识进行记录。
需要说明的是,根据数据表访问规律,对数据表的操作中最多的往往是 查找操作,因此,为了提高整体的查找效率,设置的数据表访问模板可以是 将查找操作放置在首位,从而,如图3所示,利用数据表访问模板查找代码 段时,可以首先查找是否包括查找操作语句。其后,可以是依次查找是否包 括增加、修改、删除或连接的代码,进一步,连接操作还可以有先后顺序, 如首先查找内部连接、然后查找外部连接,最后查找笛卡尔积连接。当然, 上述查找先后顺序仅仅是一种示例,实施时并不局限于此,还可以是任意其 他顺序,或者是同时执行。
当然,程序访问数据表的形式可能是非简单SQL方式,如调用视图或者 存储过程。因此,除了需要查找简单SQL,还要对视图和存储过程进行判断。
步骤S202:当所述代码段中包含对视图执行第二操作的代码时,在视图 的代码中,查找对所述数据表执行第一操作的代码;其中,所述第二操作包 括查找或连接。
具体地,程序中可能操作视图,视图可能操作更新的数据表,这种情况 同样属于程序对更新数据表的操作。因此,判断代码段中是否包括对视图执 行操作的代码,该操作包括查找视图或连接视图,其中,查找视图的格式代 码为select……from集合A,集合A中包括视图,连接视图的格式代码为inner join视图、outer join视图或者cross join视图。若包括,需要进一步判断该视 图是否访问了更新的数据表,即在视图的代码中,查找是否存在对更新的数 据表执行操作的代码,若查找到,说明步骤S102的查找结果为是,进而执行 步骤S103记录下载的该段代码的程序标识。
需要说明的是,对视图代码的查找过程可以是一个递归过程,即视图可 以调用视图,因此,在视图代码中同样需要判断是否调用新的视图。本步骤 的具体实现过程包括:利用预设数据表访问模板,在所述视图的代码中,查 找对所述数据表执行第一操作的代码,判断所述视图的代码中是否包含对新 的视图执行第二操作的代码,若是,返回利用预设数据表访问模板,在新的 视图的代码中,查找对所述数据表执行第一操作的代码。
该查找过程中,在视图代码中查找对数据表执行操作的代码的方式可以 是利用数据表访问模板。并且,可以首先进行该种查找,若该查找的结果为 未查找到,再进一步查找该视图代码中是否调用新的视图,相反,若查找到, 会直接执行步骤S103的记录过程,不必执行进一步的查找过程。另外,若需 要进一步地查找视图中是否调用新的视图,查找方式如本步骤,并不做赘述。
步骤S203:当所述代码段中包含调用自定义存储过程的代码时,利用所 述自定义存储过程的代码,查找对所述数据表执行第一操作的代码。
同理,程序还可能调用自定义存储过程,自定义存储过程中可能包括对 更新数据表的操作,因此,判断代码段中是否调用自定义的存储过程,若是, 进一步利用该自定义存储过程查找对更新数据表执行操作的代码。如图4所 示,本步骤的查找过程可以具体包括:
步骤S401:当所述代码段中包含调用自定义存储过程的代码时,利用预 设数据表访问模板,在该自定义存储过程的代码中,查找对所述数据表执行 第一操作的代码。步骤S402:当所述自定义存储过程的代码中包含对视图执 行第二操作的代码时,在视图的代码中,查找对所述数据表执行第一操作的 代码。步骤S403:当所述自定义存储过程的代码中包含调用自定义函数的代 码时,利用所述自定义函数的代码,查找对所述数据表执行第一操作的代码。 步骤S404:当所述自定义存储过程的代码中包含新的自定义存储过程的代码 时,返回利用所述新的自定义存储过程的代码,查找对所述数据表执行第一 操作的代码。
由于自定义存储过程可以继续调用视图、自定义函数及新的自定义存储 过程,因此,上述查找过程具体来讲,一是利用数据表访问模板,直接在该 自定义存储过程中查找对更新数据表的操作,二是查找该自定义存储过程中 是否包括对视图的调用,若是,则在视图的代码中查找对更新数据表的操作, 三是查找该自定义存储过程中是否包括对自定义函数的调用,若是,则在自 定义函数的代码中查找对更新数据表的操作,四是查找该自定义存储过程中 是否包括对新的自定义存储过程的调用,若是,则在新的自定义存储过程的 代码中查找对更新数据表的操作。
由此可见,需要在自定义存储过程中进行四种不同的查找。需要说明的 是,这四种查找可以是同时进行,也可以是先后执行,若任何一种查找的查 找结果为是,则说明步骤S102的查找结果为是,进而直接执行步骤S103。当 然,该四种查找还可以是先后执行,即当前一种查找的查找结果为否,才执 行后一种查找。当然,查找的先后顺序可以并不局限于文字的上述位置顺序, 可以是任意排列顺序。
进一步地,如同利用视图的查找,利用自定义函数的查找可以包括在自 定义函数的自身代码中查找,还可以在其调用的视图中继续查找。即:利用 预设数据表访问模板,在自定义函数的代码中,查找对所述数据表执行第一 操作的代码;当自定义函数的代码中包含对视图执行第二操作的代码时,返 回在视图的代码中,查找对所述数据表执行第一操作的代码。可见,利用自 定义函数的查找过程也可以是一个递归过程,即自定义函数可能调用视图, 如上述有关视图的说明,视图可以调用新的视图。其中,在视图中代码中查 找对数据表执行操作的方式可以参见上文描述,不做赘述。
整体来看,上述步骤S201利用数据表访问模板的查找、步骤S202利用视 图代码的查找及步骤S203利用自定义存储过程的查找,可以是同时执行,也 可以是先后执行。
需要说明的是,程序除了利用简单SQL、视图或自定义存储过程这三种方 式中的任意一种访问数据表外,还可能是以动态SQL或者系统存储过程方式访 问数据表。但是,前三种方式是在查找到相应的格式代码后,便可直接明确 地确定程序访问了变更数据表,但后两种方式则不然,因此,在查找到后两 种方式的格式代码后,并不能将其直接以步骤S103的方式进行记录,而是将 其标记为备选程序,以供相关人员以人工方式进行确定。因此,如图5所示, 若步骤S102的查找结果为未查找到时,还可以包括:
步骤S104:当所述代码段中包含动态操作标识且所述数据表标识作为参 数时,或者,当所述代码段中包含调用系统存储过程的代码且所述数据表标 识作为参数时,标记所述代码段对应的程序标识为备选程序。
具体地,以动态SQL方式访问数据表的具体体现为,代码段中包含动态 SQL操作标识。因此,在代码段中判断是否包含动态SQL操作标识,若包括, 且变更数据表作为动态操作的参数,则需要将该代码段的程序标识标记为备 选程序。
以调用系统存储过程的方式访问数据表的具体体现为,代码段中包含调 用存储过程的代码。需要说明的是,系统存储过程是预设的,且保存在数据 库系统中,因此,判断代码段中是否包括数据库系统中预存的系统存储过程, 若包括,且变更数据表作为调用时的参数,则需要将该代码段的程序标识标 记为备选程序。
另外,自定义函数中也可能会以动态方式访问数据表,因此,如图6所示, 步骤S304利用自定义存储过程的代码,查找对所述数据表执行操作的代码的 查找结果为否时,还可以包括:
步骤S405:当所述自定义函数的代码中包含所述动态操作标识且所述数 据表作为参数时,标记所述代码段对应的程序标识为备选程序。
下面对本发明实施例提供的程序代码的查找装置进行介绍,需要说明的 是,有关程序代码的查找装置的说明可参照上文的程序代码的查找方法,以 下并不做赘述。
参照图7,其示出了本发明实施例提供的程序代码查找装置的结构,具体 包括代码段获取模块100、操作代码查找模块200及程序标识记录模块300;其 中:
代码段获取模块100,用于当接收到数据表变更消息时,获取数据访问层 程序的代码段;
操作代码查找模块200,用于提取所述数据表变更消息中的数据表标识, 并在所述代码段中,查找对所述数据表标识对应的数据表执行第一操作的代 码;其中,所述第一操作包括增加、删除、查找、修改或连接;若查找到, 触发程序标识记录模块;
程序标识记录模块300,用于记录所述代码段对应的程序标识。
由以上技术方案可以看出,本实施例提供的程序代码的查找装置中,代 码段获取模块100在接收到数据表变更消息后,获取数据访问层程序的代码 段,进而操作代码查找模块200利用数据表变更消息中的数据表标识,在代码 段中,查找对数据表执行操作的代码,程序标识记录模块300进而记录代码段 的程序标识,从而实现了对程序代码的查找。
另外,上述查找装置还可以包括:注释语句删除模块,用于当所述代码 段中存在注释语句时,删除所述代码段中的注释语句。
另外,如图8所示,操作代码查找模块200可以具体包括:第一查找子 模块201、第二查找子模块202及第三查找子模块203;其中:
第一查找子模块201,用于利用预设数据表访问模板,在所述代码段中, 查找对数据表执行第一操作的代码;其中,所述预设数据表访问模板中包括 对数据表执行操作的格式代码,所述数据表为所述数据表标识对应的数据表;
第二查找子模块202,用于当所述代码段中包含对视图执行第二操作的代 码时,在视图的代码中,查找对所述数据表执行第一操作的代码;其中,所 述第二操作包括查找或连接;
第三查找子模块203,用于当所述代码段中包含调用自定义存储过程的代 码时,利用所述自定义存储过程的代码,查找对所述数据表执行第一操作的 代码。
另外,如图9所示,上述的查找装置还可以包括:备选程序标记模块400, 用于当所述代码段中包含动态操作标识且所述数据表标识作为参数时,或者, 当所述代码段中包含调用系统存储过程的代码且所述数据表标识作为参数 时,标记所述代码段对应的程序标识为备选程序。
另外,第二查找子模块202可以具体包括:查找单元及循环单元,其中:
查找单元,用于利用预设数据表访问模板,在所述视图的代码中,查找 对所述数据表执行第一操作的代码;
循环单元,用于当所述视图的代码中包含对新的视图执行第二操作的代 码时,返回触发查找单元利用预设数据表访问模板,在新的视图的代码中, 查找对所述数据表执行第一操作的代码。
另外,第三查找子模块203具体包括:第一查找单元、第二查找单元、第 三查找单元及第四查找单元;其中:
第一查找单元,用于当所述代码段中包含调用自定义存储过程的代码时, 利用预设数据表访问模板,在该自定义存储过程的代码中,查找对所述数据 表执行第一操作的代码;
第二查找单元,用于当所述自定义存储过程的代码中包含对视图执行第 二操作的代码时,在视图的代码中,查找对所述数据表执行第一操作的代码;
第三查找单元,用于当所述自定义存储过程的代码中包含调用自定义函 数的代码时,利用所述自定义函数的代码,查找对所述数据表执行第一操作 的代码;
第四查找单元,用于当所述自定义存储过程的代码中包含新的自定义存 储过程的代码时,返回利用所述新的自定义存储过程的代码,查找对所述数 据表执行第一操作的代码。
具体地,第三查找单元包括:查找子单元及循环子单元;其中:
查找子单元,用于利用预设数据表访问模板,在所述自定义函数的代码 中,查找对所述数据表执行第一操作的代码;
循环子单元,用于当所述自定义函数的代码中包含对视图执行第二操作 的代码时,返回在视图的代码中,查找对所述数据表执行第一操作的代码。
另外,上述查找装置还可以包括:备选程序标记子单元,用于当所述自 定义函数的代码中包含所述动态操作标识且所述数据表作为参数时,标记所 述代码段对应的程序标识为备选程序。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个 实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似 的部分互相参见即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用 来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗 示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、 “包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要 素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列 出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要 素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除 在包括上述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用 本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易 见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下, 在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例, 而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

一种程序代码的查找方法及装置.pdf_第1页
第1页 / 共17页
一种程序代码的查找方法及装置.pdf_第2页
第2页 / 共17页
一种程序代码的查找方法及装置.pdf_第3页
第3页 / 共17页
点击查看更多>>
资源描述

《一种程序代码的查找方法及装置.pdf》由会员分享,可在线阅读,更多相关《一种程序代码的查找方法及装置.pdf(17页珍藏版)》请在专利查询网上搜索。

本申请提供了一种程序代码查找方法及装置,该方法包括:在接收到数据表变更消息后,获取数据访问层程序的代码段,并提取数据表变更消息中的数据表标识,进而在代码段中查找对数据表标识对应的数据表执行操作的代码,若查找到,记录该代码段的程序标识,从而实现在数据表变更后,对与其关联的数据访问层程序的查找,避免人工查找方式效率较低及容易疏漏的技术问题。。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1