CN108415998A - 应用依赖关系更新方法、终端、设备及存储介质 - Google Patents

应用依赖关系更新方法、终端、设备及存储介质 Download PDF

Info

Publication number
CN108415998A
CN108415998A CN201810156611.3A CN201810156611A CN108415998A CN 108415998 A CN108415998 A CN 108415998A CN 201810156611 A CN201810156611 A CN 201810156611A CN 108415998 A CN108415998 A CN 108415998A
Authority
CN
China
Prior art keywords
dependence
data
tables
application
new version
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201810156611.3A
Other languages
English (en)
Other versions
CN108415998B (zh
Inventor
张琛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN201810156611.3A priority Critical patent/CN108415998B/zh
Priority to PCT/CN2018/084379 priority patent/WO2019161620A1/zh
Publication of CN108415998A publication Critical patent/CN108415998A/zh
Application granted granted Critical
Publication of CN108415998B publication Critical patent/CN108415998B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/219Managing data history or versioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

本发明实施例公开了一种应用依赖关系更新方法、终端、设备及存储介质,其中,所述方法包括:获取应用所涉及的数据表;对所述数据表进行解析并确定所述数据表的依赖关系;若监控到生成新版本的应用,获取已确定的依赖关系;运行所获取的依赖关系以更新新版本的应用数据表的依赖情况。本发明实施例通过改进的应用依赖关系更新方法,不需要手动很繁琐地更新新版本的应用的依赖关系、最大程度地简化了更新流程,提高处理效率并可以降低错误率。

Description

应用依赖关系更新方法、终端、设备及存储介质
技术领域
本发明涉及计算机技术领域,尤其涉及一种应用依赖关系更新方法、终端、设备及存储介质。
背景技术
在现有的梳理并更新应用的数据表间依赖关系时,在应用数量比较多的情况下,如果通过人工对逐个应用进行整理,会导致整理过程非常耗时,效率低下并且工作量非常大;另外,在应用的依赖关系非常复杂的时候,若依靠手动整理并更新这些依赖情况,更新出来的出错率也特别高。
发明内容
有鉴于此,本发明实施例提供一种应用依赖关系更新方法、终端、设备及存储介质,能够最大程度地简化了更新流程,提高处理效率并可以降低错误率。
一方面,本发明实施例提供了一种应用依赖关系更新方法,该方法包括:
获取应用所涉及的数据表;
对所述数据表进行解析并确定所述数据表的依赖关系;
若监控到生成新版本的应用,获取已确定的依赖关系;
运行所获取的依赖关系以更新新版本的应用数据表的依赖情况。
另一方面,本发明实施例提供了一种应用依赖关系更新终端,所述终端包括:
第一获取单元,用于获取应用所涉及的数据表;
解析单元,用于对所述数据表进行解析并确定所述数据表的依赖关系;
第二获取单元,用于若监控到生成新版本的应用,获取已确定的依赖关系;
运行单元,用于运行所获取的依赖关系以更新新版本的应用数据表的依赖情况。
又一方面,本发明实施例还提供了一种应用依赖关系更新设备,其包括:
存储器,用于存储实现应用依赖关系更新方法的程序;以及
处理器,用于运行所述存储器中存储的实现应用依赖关系更新方法的程序,以执行如上所述的方法。
再一方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序可被一个或者一个以上的处理器执行,以实现如上所述的方法。
本发明实施例通过获取应用所涉及的数据表;对所述数据表进行解析并确定所述数据表的依赖关系;若监控到生成新版本的应用,获取已确定的依赖关系;运行所获取的依赖关系以更新新版本的应用数据表的依赖情况。本发明实施例通过改进的应用依赖关系更新方法,不需要手动很繁琐地更新新版本的应用的依赖关系、最大程度地简化了更新流程,提高处理效率并可以降低错误率。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种应用依赖关系更新方法的示意流程图;
图2是本发明实施例提供的一种应用依赖关系更新方法的示意流程图;
图3是本发明实施例提供的一种应用依赖关系更新方法的示意流程图;
图4是本发明实施例提供的一种应用依赖关系更新方法的示意流程图;
图5是本发明另一实施例提供的一种应用依赖关系更新方法的示意流程图;
图6是本发明实施例提供的一种应用依赖关系更新终端的示意性框图;
图7是本发明实施例提供的一种应用依赖关系更新终端的另一示意性框图;
图8是本发明实施例提供的一种应用依赖关系更新终端的另一示意性框图;
图9是本发明实施例提供的一种应用依赖关系更新终端的另一示意性框图;
图10是本发明实施例提供的一种应用依赖关系更新终端的另一示意性框图;
图11是本发明实施例提供的一种应用依赖关系更新设备的结构组成示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
请参阅图1,图1为本发明实施例提供的一种应用依赖关系更新方法的示意流程图。该方法可以运行在智能手机(如Android手机、IOS手机等)、平板电脑、笔记本电脑以及智能设备等终端中。本发明实施例所述的应用依赖关系更新方法,不需要手动很繁琐地更新应用的依赖关系、最大程度地简化了更新流程,提高处理效率并可以降低错误率。图1是本发明实施例提供的应用依赖关系更新方法的示意流程图。该方法包括步骤S101~S104。
S101,获取应用所涉及的数据表。
在本发明实施例中,所述数据表指的是与应用对应的数据库中的数据表,该数据表包括主表以及临时表,其中,主表中设置有主键,该主键用于与其它表形成依赖关系,并且作为主表中唯一性的标识,在实际应用中,与主表形成依赖关系的其它表一般指的是临时表;临时表则以主表的主键值为外键,该外键用于与主表形成依赖关系,并且临时表的数据依赖于主表,当用户需要查询相关数据时,一般都会对主表与临时表进行关联查询。
需要说明的是,在一个应用的开发过程中,可以将每个应用中所涉及到的每个主题设计成一个数据表,并且主题与主题之间势必会存在某种联系,在所设计的数据表之间所表现出的即为数据表表间的依赖关系;在实际应用中,涉及到哪些数据表可以由用户自行定义,在此不作限制。
进一步地,如图2所示,所述步骤S101包括步骤S201~S203。
S201,识别应用所涉及的数据表。
在本发明实施例中,识别应用所涉及的数据表,可以通过识别形成应用的程序代码来实现,可选的,可以通过识别程序代码中的SQL(Structured Query Language,结构化查询语言)语句中的关键字来实现,例如,可以通过识别SQL语句中的插入语句“INSERTINTO”,从而识别出插入语句后面跟随的数据表;也可以通过识别SQL语句中更新语句“UPDATE”,从而识别出更新语句后面跟随的数据表;还可以通过识别SQL语句中删除语句“DELETE FROM”,从而识别出删除语句后面跟随的数据表等等。
S202,利用预设关键字提取所识别的数据表表名。
在本发明实施例中,识别出应用所涉及的数据表后,利用预设关键字提取所识别的数据表表名,所述预设关键字可以为SQL语句中的查询语句,该查询语句如SELECT语句;若需要提取应用所涉及的所有的数据表表名,可以通过SELECT语句使用以下方法进行提取:SELECT*FROM应用对应的数据库名WHER xtype='u',其中xtype='u'表示所有的数据表。
S203,根据所提取的数据表表名获取相对应的数据表。
在本发明实施例中,实际操作中,获取相对应的数据表即为获取数据表中的所有数据信息,以待进一步的分析或者操作;当通过预设关键字提取到数据表表名之后,会自动生成全表查询语句,并自动执行所生成的全表查询语句,从而实现对数据表中的数据信息的查询。
S102,对所述数据表进行解析并确定所述数据表的依赖关系。
在本发明实施例中,通过运行自动收集数据表脚本,扫描应用对应的应用程序代码管理库路径下的数据表以解析所述数据表,其中,该数据表可以是一个或者多个,数据表的数量在此不作限制,具体地,可以通过预设解析工具对数据表进行解析,例如,预设的解析工具有CapAnalysis(即:可视化数据表解析工具),首先解析工具会自动扫描该数据表,并获取该数据表的关键字(例如主键),利用所获取的关键字(如主键)可以确定与数据表相对应的应用的依赖关系。
需要说明的是,所述依赖关系主要包括以下几种类型,比如数据依赖、函数依赖以及传递函数依赖等,其中,数据依赖指的是通过一个关系中属性间的相等与否体现出来的数据间的相互关系,在计算机程序中,数据依赖指的是一种状态,即当程序结构导致数据引用之前处理过的数据时的状态;函数依赖指的是一个属性或属性集合的值对另一个属性或属性集合的值的依赖性,即某个属性集决定另一个属性集时,将另一属性集依赖于该属性集;传递函数依赖指的是在某个关系集合中互不相同的属性集合,若X→Y(Y!→X),Y→Z,则称Z传递函数依赖于X。
进一步地,如图3所示,所述步骤S102包括步骤S301~S302。
S301,利用预设解析工具对数据表进行解析。
在本发明实施例中,所述预设解析工具如CapAnalysis(可视化数据表解析工具),所述数据表包括数据表表间的依赖关系,利用预设解析工具对数据表进行解析,即通过预设解析工具解析所述数据表以得到数据表表间依赖关系。具体的,通过预设解析工具对这张表的数据进行解析,首先解析工具会自动扫描该数据表,并获取该数据表的主键和外键,由于主键用于与其它表形成依赖关系,临时表则以主表的主键值为外键,该外键用于与主表形成依赖关系,因此,通过确定数据表的主键和外键便可以准确地获取数据表的依赖关系,例如在数据库中建立的主表TableA(学号,姓名),TableB(课程名,课程编号),其中主表TableA、TableB存在主键(primary key)为学号、课程编号,并用于与其它表相关联,且作为在主表中的唯一性标识,以主表的主键(primary key)值为外键(Foreign Key)的临时表TableC(学号,课程编号,成绩),可以通过外键学号和课程编号与主表TableA、TableB形成依赖,临时表与主表通过外键进行关联查询。
S302,根据解析结果确定所述数据表的依赖关系。
在本发明实施例中,通过所获取的主键和外键最终确定数据表的表间依赖关系,其中,进行解析的数据表可以是一个或者多个,可以是全部已被识别的数据表,也可以是部分已被识别的数据表,数据表的数量在此不作限制;若只解析了一个数据表,获取该数据表的主键和外键,通过数据表的主、外键就能够查看数据表的关系图,通过查看数据表的关系图确定应用的依赖关系;若解析了多个数据表,分别获取多个数据表的主键和外键,通过数据表的主、外键查看数据表的关系图,利用数据表的关系图确定所述依赖关系。
S103,若监控到生成新版本的应用,获取已确定的依赖关系。
在本发明实施例中,通过运行应用监控脚本,以监控是否有新版本的应用生成,具体的,当终端接收到生成新版本应用的指令时,触发启动所述监控脚本,当所述监控脚本启动后,通过调用库脚本的传参数接口将待监控应用的参数传入库脚本中,其中,应用的参数包括但不限于应用的名称、应用的运行代码等。通过将应用的特征传入库脚本,内容根据应用情况自定义,完成对新版本应用的监控。
进一步地,如图4所示,所述步骤S103包括步骤S401~S402。
S401,根据预设应用监控脚本判断是否生成新版本的应用。
在本发明实施例中,当终端接收到生成新版本应用的指令时,根据该生成指令触发所述预设应用监控脚本的启动操作,当启动该应用监控脚本的操作后,应用监控脚本通过调用应用的参数来判断是否生成新版本的应用,应用的参数包括应用的名称、应用的运行代码等,当得到应用名称或者应用的运行代码时,可以判断已监控到生成新版本的应用。
S402,若生成新版本的应用,获取已确定的依赖关系。
在本发明实施例中,若监控到生成新版本的应用,加载已确定的依赖关系至新版本的应用中。
S104,运行所获取的依赖关系以更新新版本的应用数据表的依赖情况。
在本发明实施例中,应用的依赖关系在终端中是以一个文件的形式存在的,当用户创建了应用后,应用就会产生依赖情况,相对应地在磁盘上就会出现用于存储应用依赖关系的目录;具体地,当创建一个新应用的时候,会为其指定存储空间,一旦应用成功创建,数据库系统就要为应用提供磁盘空间,当应用拥有依赖关系时,该磁盘空间便创建用于保存依赖关系的文件以存储应用的依赖情况。
需要说明的是,本实施例中所述的依赖情况即为所述的依赖关系,通过对应用中的脚本文件进行关键字解析,可以确定这种依赖关系;最后,通过运行监控脚本,以判断是否有新版本应用生成,如有,从磁盘中获取应用已有的依赖关系,并将该关系写入新版本的应用中,在运行数据表的同时运行该依赖关系,并更新新版本应用的依赖情况。
由以上可见,本发明实施例通过获取应用所涉及的数据表;对所述数据表进行解析并确定所述数据表的依赖关系;若监控到生成新版本的应用,获取已确定的依赖关系;运行所获取的依赖关系以更新新版本的应用数据表的依赖情况。本发明实施例通过改进的应用依赖关系更新方法,不需要手动很繁琐地更新新版本应用的依赖关系、最大程度地简化了更新流程,提高处理效率并可以降低错误率。
请参阅图5,图5是本发明实施例提供的一种应用依赖关系更新方法的示意流程图。该方法可以运行在智能手机(如Android手机、IOS手机等)、平板电脑、笔记本电脑以及智能设备等终端中。如图5所示,该方法包括步骤S501~S505。
S501,获取应用所涉及的数据表。
在本发明实施例中,所述数据表指的是与应用对应的数据库中的数据表,该数据表包括主表以及临时表,其中,主表中设置有主键,该主键用于与其它表形成依赖关系,并且作为主表中唯一性的标识,在实际应用中,与主表形成依赖关系的其它表一般指的是临时表;临时表则以主表的主键值为外键,该外键用于与主表形成依赖关系,并且临时表的数据依赖于主表,当用户需要查询相关数据时,一般都会对主表与临时表进行关联查询。
需要说明的是,在一个应用的开发过程中,可以将每个应用中所涉及到的每个主题设计成一个数据表,并且主题与主题之间势必会存在某种联系,在所设计的数据表之间所表现出的即为数据表表间的依赖关系;在实际应用中,涉及到哪些数据表可以由用户自行定义,在此不作限制。
S502,对所述数据表进行解析并确定所述数据表的依赖关系。
在本发明实施例中,通过运行自动收集数据表脚本,扫描应用对应的应用程序代码管理库路径下的数据表以解析所述数据表,其中,该数据表可以是一个或者多个,数据表的数量在此不作限制,具体地,可以通过预设解析工具对数据表进行解析,例如,预设的解析工具有CapAnalysis(即:可视化数据表解析工具),首先解析工具会自动扫描该数据表,并获取该数据表的关键字(例如主键),利用所获取的关键字(如主键)可以确定与数据表相对应的应用的依赖关系。
需要说明的是,所述依赖关系主要包括以下几种类型,比如数据依赖、函数依赖以及传递函数依赖等,其中,数据依赖指的是通过一个关系中属性间的相等与否体现出来的数据间的相互关系,在计算机程序中,数据依赖指的是一种状态,即当程序结构导致数据引用之前处理过的数据时的状态;函数依赖指的是一个属性或属性集合的值对另一个属性或属性集合的值的依赖性,即某个属性集决定另一个属性集时,将另一属性集依赖于该属性集;传递函数依赖指的是在某个关系集合中互不相同的属性集合,若X→Y(Y!→X),Y→Z,则称Z传递函数依赖于X。
S503,若监控到生成新版本的应用,获取已确定的依赖关系。
在本发明实施例中,通过运行应用监控脚本,以监控是否有新版本的应用生成,具体的,当终端接收到生成新版本应用的指令时,触发启动所述监控脚本,当所述监控脚本启动后,通过调用库脚本的传参数接口将待监控应用的参数传入库脚本中,其中,应用的参数包括但不限于应用的名称、应用的运行代码等。通过将应用的特征传入库脚本,内容根据应用情况自定义,完成对新版本应用的监控。
S504,将所获取的依赖关系写入与所述新版本应用相对应的磁盘空间。
在本发明实施例中,若每次生成新应用,终端会给新应用分配相对应的磁盘空间,该磁盘空间可被用于存储新应用的依赖关系;可选地,将所获取的依赖关系以文件的形式存储至磁盘空间中,其中,利用SQL语句,在磁盘空间中存储着依赖关系的文件可以被数据库直接调用,数据库调用该文件后可以将文件中的数据直接导入数据表中,并形成新应用对应的数据表。
S505,在所述磁盘空间中运行所述依赖关系以更新新版本应用的依赖情况。
在本发明实施例中,通过SQL语句调用磁盘空间中存储着依赖关系的文件,并将文件中的数据直接导入与新版本应用对应的数据表中,通过运行新版本应用对应的数据表以更新新版本应用的依赖情况。
请参阅图6,对应上述一种应用依赖关系更新方法,本发明实施例还提出一种应用依赖关系更新终端,该终端100包括:第一获取单元101、解析单元102、第二获取单元103、运行单元104。
其中,所述第一获取单元101,用于获取应用所涉及的数据表。在本发明实施例中,所述数据表指的是与应用对应的数据库中的数据表,该数据表包括主表以及临时表,其中,主表中设置有主键,该主键用于与其它表形成依赖关系,并且作为主表中唯一性的标识,在实际应用中,与主表形成依赖关系的其它表一般指的是临时表;临时表则以主表的主键值为外键,该外键用于与主表形成依赖关系,并且临时表的数据依赖于主表,当用户需要查询相关数据时,一般都会对主表与临时表进行关联查询。需要说明的是,在一个应用的开发过程中,可以将每个应用中所涉及到的每个主题设计成一个数据表,并且主题与主题之间势必会存在某种联系,在所设计的数据表之间所表现出的即为数据表表间的依赖关系;在实际应用中,涉及到哪些数据表可以由用户自行定义,在此不作限制。
解析单元102,用于对所述数据表进行解析并确定所述数据表的依赖关系。在本发明实施例中,通过运行自动收集数据表脚本,扫描应用对应的应用程序代码管理库路径下的数据表以解析所述数据表,其中,该数据表可以是一个或者多个,数据表的数量在此不作限制,具体地,可以通过预设解析工具对数据表进行解析,例如,预设的解析工具有CapAnalysis(即:可视化数据表解析工具),首先解析工具会自动扫描该数据表,并获取该数据表的关键字(例如主键),利用所获取的关键字(如主键)可以确定与数据表相对应的应用的依赖关系。
需要说明的是,所述依赖关系主要包括以下几种类型,比如数据依赖、函数依赖以及传递函数依赖等,其中,数据依赖指的是通过一个关系中属性间的相等与否体现出来的数据间的相互关系,在计算机程序中,数据依赖指的是一种状态,即当程序结构导致数据引用之前处理过的数据时的状态;函数依赖指的是一个属性或属性集合的值对另一个属性或属性集合的值的依赖性,即某个属性集决定另一个属性集时,将另一属性集依赖于该属性集;传递函数依赖指的是在某个关系集合中互不相同的属性集合,若X→Y(Y!→X),Y→Z,则称Z传递函数依赖于X。
第二获取单元103,用于若监控到生成新版本的应用,获取已确定的依赖关系。通过运行应用监控脚本,以监控是否有新版本的应用生成,具体的,当终端接收到生成新版本应用的指令时,触发启动所述监控脚本,当所述监控脚本启动后,通过调用库脚本的传参数接口将待监控应用的参数传入库脚本中,其中,应用的参数包括但不限于应用的名称、应用的运行代码等。通过将应用的特征传入库脚本,内容根据应用情况自定义,完成对新版本应用的监控。
运行单元104,用于运行所获取的依赖关系以更新新版本的应用数据表的依赖情况。在本发明实施例中,应用的依赖关系在终端中是以一个文件的形式存在的,当用户创建了应用后,应用就会产生依赖情况,相对应地在磁盘上就会出现用于存储应用依赖关系的目录;具体地,当创建一个新应用的时候,会为其指定存储空间,一旦应用成功创建,数据库系统就要为应用提供磁盘空间,当应用拥有依赖关系时,该磁盘空间便创建用于保存依赖关系的文件以存储应用的依赖情况。
需要说明的是,本实施例中所述的依赖情况即为所述的依赖关系,通过对应用中的脚本文件进行关键字解析,可以确定这种依赖关系;最后,通过运行监控脚本,以判断是否有新版本应用生成,如有,从磁盘中获取应用已有的依赖关系,并将该关系写入新版本的应用中,在运行数据表的同时运行该依赖关系,并更新新版本应用的依赖情况。
由以上可见,本发明实施例通过获取应用所涉及的数据表;对所述数据表进行解析并确定所述数据表的依赖关系;若监控到生成新版本的应用,获取已确定的依赖关系;运行所获取的依赖关系以更新新版本的应用数据表的依赖情况。本发明实施例通过改进的应用依赖关系更新方法,不需要手动很繁琐地更新新版本应用的依赖关系、最大程度地简化了更新流程,提高处理效率并可以降低错误率。
如图7所示,所述第一获取单元101,包括:
识别单元1011,用于识别应用所涉及的数据表。在本发明实施例中,识别应用所涉及的数据表,可以通过识别形成应用的程序代码来实现,可选的,可以通过识别程序代码中的SQL(Structured Query Language,结构化查询语言)语句中的关键字来实现,例如,可以通过识别SQL语句中的插入语句“INSERT INTO”,从而识别出插入语句后面跟随的数据表;也可以通过识别SQL语句中更新语句“UPDATE”,从而识别出更新语句后面跟随的数据表;还可以通过识别SQL语句中删除语句“DELETE FROM”,从而识别出删除语句后面跟随的数据表等等。
提取单元1012,用于利用预设关键字提取所识别的数据表表名。在本发明实施例中,识别出应用所涉及的数据表后,利用预设关键字提取所识别的数据表表名,所述预设关键字可以为SQL语句中的查询语句,该查询语句如SELECT语句;若需要提取应用所涉及的所有的数据表表名,可以通过SELECT语句使用以下方法进行提取:SELECT*FROM应用对应的数据库名WHER xtype='u',其中xtype='u'表示所有的数据表。
第一获取子单元1013,用于根据所提取的数据表表名获取相对应的数据表。在本发明实施例中,实际操作中,获取相对应的数据表即为获取数据表中的所有数据信息,以待进一步的分析或者操作;当通过预设关键字提取到数据表表名之后,会自动生成全表查询语句,并自动执行所生成的全表查询语句,从而实现对数据表中的数据信息的查询。
如图8所示,所述解析单元102,包括:
解析子单元1021,用于利用预设解析工具对数据表进行解析。在本发明实施例中,所述预设解析工具如CapAnalysis(可视化数据表解析工具),所述数据表包括数据表表间的依赖关系,利用预设解析工具对数据表进行解析,即通过预设解析工具解析所述数据表以得到数据表表间依赖关系。具体的,通过预设解析工具对这张表的数据进行解析,首先解析工具会自动扫描该数据表,并获取该数据表的主键和外键,由于主键用于与其它表形成依赖关系,临时表则以主表的主键值为外键,该外键用于与主表形成依赖关系,因此,通过确定数据表的主键和外键便可以准确地获取数据表的依赖关系,例如在数据库中建立的主表TableA(学号,姓名),TableB(课程名,课程编号),其中主表TableA、TableB存在主键(primary key)为学号、课程编号,并用于与其它表相关联,且作为在主表中的唯一性标识,以主表的主键(primary key)值为外键(Foreign Key)的临时表TableC(学号,课程编号,成绩),可以通过外键学号和课程编号与主表TableA、TableB形成依赖,临时表与主表通过外键进行关联查询。
第一确定单元1022,用于根据解析结果确定所述数据表的依赖关系。在本发明实施例中,通过所获取的主键和外键最终确定数据表的表间依赖关系,其中,进行解析的数据表可以是一个或者多个,可以是全部已被识别的数据表,也可以是部分已被识别的数据表,数据表的数量在此不作限制。
如图9所示,所述第二获取单元103,包括:
判断单元1031,用于根据预设应用监控脚本判断是否生成新版本的应用。在本发明实施例中,当终端接收到生成新版本应用的指令时,根据该生成指令触发所述预设应用监控脚本的启动操作,当启动该应用监控脚本的操作后,应用监控脚本通过调用应用的参数来判断是否生成新版本的应用,应用的参数包括应用的名称、应用的运行代码等,当得到应用名称或者应用的运行代码时,可以判断已监控到生成新版本的应用。
第二获取子单元1032,用于若生成新版本的应用,获取已确定的依赖关系。在本发明实施例中,若监控到生成新版本的应用,加载已确定的依赖关系至新版本的应用中。
请参阅图10,对应上述一种应用依赖关系更新方法,本发明实施例还提出一种应用依赖关系更新终端,该终端200包括:第一获取单元201、解析单元202、第二获取单元203、写入单元204、运行子单元205。
其中,所述第一获取单元201,用于获取应用所涉及的数据表。在本发明实施例中,所述数据表指的是与应用对应的数据库中的数据表,该数据表包括主表以及临时表,其中,主表中设置有主键,该主键用于与其它表形成依赖关系,并且作为主表中唯一性的标识,在实际应用中,与主表形成依赖关系的其它表一般指的是临时表;临时表则以主表的主键值为外键,该外键用于与主表形成依赖关系,并且临时表的数据依赖于主表,当用户需要查询相关数据时,一般都会对主表与临时表进行关联查询。需要说明的是,在一个应用的开发过程中,可以将每个应用中所涉及到的每个主题设计成一个数据表,并且主题与主题之间势必会存在某种联系,在所设计的数据表之间所表现出的即为数据表表间的依赖关系;在实际应用中,涉及到哪些数据表可以由用户自行定义,在此不作限制。
解析单元202,用于对所述数据表进行解析并确定所述数据表的依赖关系。在本发明实施例中,通过运行自动收集数据表脚本,扫描应用对应的应用程序代码管理库路径下的数据表以解析所述数据表,其中,该数据表可以是一个或者多个,数据表的数量在此不作限制,具体地,可以通过预设解析工具对数据表进行解析,例如,预设的解析工具有CapAnalysis(即:可视化数据表解析工具),首先解析工具会自动扫描该数据表,并获取该数据表的关键字(例如主键),利用所获取的关键字(如主键)可以确定与数据表相对应的应用的依赖关系。
需要说明的是,所述依赖关系主要包括以下几种类型,比如数据依赖、函数依赖以及传递函数依赖等,其中,数据依赖指的是通过一个关系中属性间的相等与否体现出来的数据间的相互关系,在计算机程序中,数据依赖指的是一种状态,即当程序结构导致数据引用之前处理过的数据时的状态;函数依赖指的是一个属性或属性集合的值对另一个属性或属性集合的值的依赖性,即某个属性集决定另一个属性集时,将另一属性集依赖于该属性集;传递函数依赖指的是在某个关系集合中互不相同的属性集合,若X→Y(Y!→X),Y→Z,则称Z传递函数依赖于X。
第二获取单元203,用于若监控到生成新版本的应用,获取已确定的依赖关系。在本发明实施例中,通过运行应用监控脚本,以监控是否有新版本的应用生成,具体的,当终端接收到生成新版本应用的指令时,触发启动所述监控脚本,当所述监控脚本启动后,通过调用库脚本的传参数接口将待监控应用的参数传入库脚本中,其中,应用的参数包括但不限于应用的名称、应用的运行代码等。通过将应用的特征传入库脚本,内容根据应用情况自定义,完成对新版本应用的监控。
写入单元204,将所获取的依赖关系写入与所述新版本应用相对应的磁盘空间。在本发明实施例中,若每次生成新应用,终端会给新应用分配相对应的磁盘空间,该磁盘空间可被用于存储新应用的依赖关系;可选地,将所获取的依赖关系以文件的形式存储至磁盘空间中,其中,利用SQL语句,在磁盘空间中存储着依赖关系的文件可以被数据库直接调用,数据库调用该文件后可以将文件中的数据直接导入数据表中,并形成新应用对应的数据表。
运行子单元205,在所述磁盘空间中运行所述依赖关系以更新新版本应用的依赖情况。在本发明实施例中,通过SQL语句调用磁盘空间中存储着依赖关系的文件,并将文件中的数据直接导入与新版本应用对应的数据表中,通过运行新版本应用对应的数据表以更新新版本应用的依赖情况。
在硬件实现上,以上第一获取单元101、解析单元102、第二获取单元103、运行单元104等可以以硬件形式内嵌于或独立于数据处理的装置中,也可以以软件形式存储于数据处理装置的存储器中,以便处理器调用执行以上各个单元对应的操作。该处理器可以为中央处理单元(CPU)、微处理器、单片机等。
上述应用依赖关系更新终端可以实现为一种计算机程序的形式,计算机程序可以在如图11所示的计算机设备上运行。
图11为本发明一种应用依赖关系更新设备的结构组成示意图。该设备可以是终端,也可以是服务器,其中,终端可以是智能手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式装置等具有通信功能的电子装置。服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。参照图11,该计算机设备500包括通过系统总线501连接的处理器502、非易失性存储介质503、内存储器504和网络接口505。其中,该计算机设备500的非易失性存储介质503可存储操作系统5031和计算机程序5032,该计算机程序5032被执行时,可使得处理器502执行一种应用依赖关系更新方法。该计算机设备500的处理器502用于提供计算和控制能力,支撑整个计算机设备500的运行。该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序被处理器执行时,可使得处理器502执行一种应用依赖关系更新方法。计算机设备500的网络接口505用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器502执行如下操作:
获取应用所涉及的数据表;
对所述数据表进行解析并确定所述数据表的依赖关系;
若监控到生成新版本的应用,获取已确定的依赖关系;
运行所获取的依赖关系以更新新版本的应用数据表的依赖情况。
在一个实施例中,所述获取应用所涉及的数据表,包括:
识别应用所涉及的数据表;
利用预设关键字提取所识别的数据表表名;
根据所提取的数据表表名获取相对应的数据表。
在一个实施例中,所述对所述数据表进行解析并确定所述数据表的依赖关系,包括:
利用预设解析工具对数据表进行解析;
根据解析结果确定所述数据表的依赖关系。
在一个实施例中,所述若监控到生成新版本的应用,获取已确定的依赖关系,包括:
根据预设应用监控脚本判断是否生成新版本的应用;
若生成新版本的应用,获取已确定的依赖关系。
在一个实施例中,所述运行所获取的依赖关系以更新新版本的应用数据表的依赖情况,包括:
将所获取的依赖关系写入与所述新版本的应用相对应的磁盘空间;
在所述磁盘空间中运行所述依赖关系以更新新版本应用数据表的依赖情况。
本领域技术人员可以理解,图11中示出的应用依赖关系更新设备的实施例并不构成对应用依赖关系更新设备具体构成的限定,在其他实施例中,应用依赖关系更新设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,应用依赖关系更新设备仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图11所示实施例一致,在此不再赘述。
本发明提供了一种计算机可读存储介质,计算机可读存储介质存储有一个或者一个以上计算机程序,所述一个或者一个以上计算机程序可被一个或者一个以上的处理器执行,以实现以下步骤:
获取应用所涉及的数据表;
对所述数据表进行解析并确定所述数据表的依赖关系;
若监控到生成新版本的应用,获取已确定的依赖关系;
运行所获取的依赖关系以更新新版本的应用数据表的依赖情况。
在一个实施例中,所述获取应用所涉及的数据表,包括:
识别应用所涉及的数据表;
利用预设关键字提取所识别的数据表表名;
根据所提取的数据表表名获取相对应的数据表。
在一个实施例中,所述对所述数据表进行解析并确定所述数据表的依赖关系,包括:
利用预设解析工具对数据表进行解析;
根据解析结果确定所述数据表的依赖关系。
在一个实施例中,所述若监控到生成新版本的应用,获取已确定的依赖关系,包括:
根据预设应用监控脚本判断是否生成新版本的应用;
若生成新版本的应用,获取已确定的依赖关系。
在一个实施例中,所述运行所获取的依赖关系以更新新版本的应用数据表的依赖情况,包括:
将所获取的依赖关系写入与所述新版本的应用相对应的磁盘空间;
在所述磁盘空间中运行所述依赖关系以更新新版本应用数据表的依赖情况。
本发明前述的存储介质包括:磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等各种可以存储程序代码的介质。
本发明所有实施例中的单元可以通过通用集成电路,例如CPU(CentralProcessing Unit,中央处理器),或通过ASIC(Application Specific IntegratedCircuit,专用集成电路)来实现。
本发明实施例应用依赖关系更新方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本发明实施例应用依赖关系更新终端中的单元可以根据实际需要进行合并、划分和删减。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种应用依赖关系更新方法,其特征在于,所述方法包括:
获取应用所涉及的数据表;
对所述数据表进行解析并确定所述数据表的依赖关系;
若监控到生成新版本的应用,获取已确定的依赖关系;
运行所获取的依赖关系以更新新版本的应用数据表的依赖情况。
2.如权利要求1所述的方法,其特征在于,所述获取应用所涉及的数据表,包括:
识别应用所涉及的数据表;
利用预设关键字提取所识别的数据表表名;
根据所提取的数据表表名获取相对应的数据表。
3.如权利要求1所述的方法,其特征在于,所述对所述数据表进行解析并确定所述数据表的依赖关系,包括:
利用预设解析工具对数据表进行解析;
根据解析结果确定所述数据表的依赖关系。
4.如权利要求1所述的方法,其特征在于,所述若监控到生成新版本的应用,获取已确定的依赖关系,包括:
根据预设应用监控脚本判断是否生成新版本的应用;
若生成新版本的应用,获取已确定的依赖关系。
5.如权利要求1所述的方法,其特征在于,所述运行所获取的依赖关系以更新新版本的应用数据表的依赖情况,包括:
将所获取的依赖关系写入与所述新版本的应用相对应的磁盘空间;
在所述磁盘空间中运行所述依赖关系以更新新版本应用数据表的依赖情况。
6.一种应用依赖关系更新终端,其特征在于,所述终端包括:
第一获取单元,用于获取应用所涉及的数据表;
解析单元,用于对所述数据表进行解析并确定所述数据表的依赖关系;
第二获取单元,用于若监控到生成新版本的应用,获取已确定的依赖关系;
运行单元,用于运行所获取的依赖关系以更新新版本的应用数据表的依赖情况。
7.如权利要求6所述的终端,其特征在于,所述第一获取单元,包括:
识别单元,用于识别应用所涉及的数据表;
提取单元,用于利用预设关键字提取所识别的数据表表名;
第一获取子单元,用于根据所提取的数据表表名获取相对应的数据表。
8.如权利要求6所述的终端,其特征在于,所述解析单元,包括:
解析子单元,用于利用预设解析工具对数据表进行解析;
第一确定单元,用于根据解析结果确定所述数据表的依赖关系。
9.一种应用依赖关系更新设备,其特征在于,包括:
存储器,用于存储实现应用依赖关系更新方法的程序;以及
处理器,用于运行所述存储器中存储的实现应用依赖关系更新方法的程序,以执行如权利要求1-5任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者一个以上计算机程序,所述一个或者一个以上计算机程序可被一个或者一个以上的处理器执行,以实现如权利要求1-5任一项所述的方法。
CN201810156611.3A 2018-02-24 2018-02-24 应用依赖关系更新方法、终端、设备及存储介质 Active CN108415998B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201810156611.3A CN108415998B (zh) 2018-02-24 2018-02-24 应用依赖关系更新方法、终端、设备及存储介质
PCT/CN2018/084379 WO2019161620A1 (zh) 2018-02-24 2018-04-25 应用依赖关系更新方法、终端、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810156611.3A CN108415998B (zh) 2018-02-24 2018-02-24 应用依赖关系更新方法、终端、设备及存储介质

Publications (2)

Publication Number Publication Date
CN108415998A true CN108415998A (zh) 2018-08-17
CN108415998B CN108415998B (zh) 2020-02-21

Family

ID=63128891

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810156611.3A Active CN108415998B (zh) 2018-02-24 2018-02-24 应用依赖关系更新方法、终端、设备及存储介质

Country Status (2)

Country Link
CN (1) CN108415998B (zh)
WO (1) WO2019161620A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109408535A (zh) * 2018-09-28 2019-03-01 中国平安财产保险股份有限公司 大数据量匹配方法、装置、计算机设备及存储介质
CN110362562A (zh) * 2019-07-16 2019-10-22 中国工商银行股份有限公司 大数据抽取样本数据的方法及系统
CN110704062A (zh) * 2019-09-27 2020-01-17 天津五八到家科技有限公司 依赖管理方法、数据获取方法、装置及设备
CN111797157A (zh) * 2020-07-21 2020-10-20 政采云有限公司 一种数据处理方法、系统及电子设备和存储介质
CN112416306A (zh) * 2020-11-23 2021-02-26 平安普惠企业管理有限公司 多应用依赖树生成方法、装置、电子设备及计算机介质
CN113419752A (zh) * 2021-05-31 2021-09-21 北京沃东天骏信息技术有限公司 一种数据处理方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000276386A (ja) * 1999-03-25 2000-10-06 Hitachi Ltd リレーショナルデータベースの関連を利用したプログラム生成方法及び装置
CN101515234A (zh) * 2009-03-26 2009-08-26 华亚微电子(上海)有限公司 关联数据处理方法和关联数据装置
CN103425751A (zh) * 2013-07-24 2013-12-04 浙江大学 一种基于依赖关系的矢量空间数据的联动增量更新方法
CN103778133A (zh) * 2012-10-18 2014-05-07 阿里巴巴集团控股有限公司 一种数据库对象的变更方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000276386A (ja) * 1999-03-25 2000-10-06 Hitachi Ltd リレーショナルデータベースの関連を利用したプログラム生成方法及び装置
CN101515234A (zh) * 2009-03-26 2009-08-26 华亚微电子(上海)有限公司 关联数据处理方法和关联数据装置
CN103778133A (zh) * 2012-10-18 2014-05-07 阿里巴巴集团控股有限公司 一种数据库对象的变更方法及装置
CN103425751A (zh) * 2013-07-24 2013-12-04 浙江大学 一种基于依赖关系的矢量空间数据的联动增量更新方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109408535A (zh) * 2018-09-28 2019-03-01 中国平安财产保险股份有限公司 大数据量匹配方法、装置、计算机设备及存储介质
CN109408535B (zh) * 2018-09-28 2024-04-09 中国平安财产保险股份有限公司 大数据量匹配方法、装置、计算机设备及存储介质
CN110362562A (zh) * 2019-07-16 2019-10-22 中国工商银行股份有限公司 大数据抽取样本数据的方法及系统
CN110704062A (zh) * 2019-09-27 2020-01-17 天津五八到家科技有限公司 依赖管理方法、数据获取方法、装置及设备
CN111797157A (zh) * 2020-07-21 2020-10-20 政采云有限公司 一种数据处理方法、系统及电子设备和存储介质
CN111797157B (zh) * 2020-07-21 2024-03-22 政采云有限公司 一种数据处理方法、系统及电子设备和存储介质
CN112416306A (zh) * 2020-11-23 2021-02-26 平安普惠企业管理有限公司 多应用依赖树生成方法、装置、电子设备及计算机介质
CN113419752A (zh) * 2021-05-31 2021-09-21 北京沃东天骏信息技术有限公司 一种数据处理方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
WO2019161620A1 (zh) 2019-08-29
CN108415998B (zh) 2020-02-21

Similar Documents

Publication Publication Date Title
CN108415998A (zh) 应用依赖关系更新方法、终端、设备及存储介质
CN105511873B (zh) 用户界面控件展示方法及装置
CN105913316B (zh) 一种规则配置方法和装置
CN104899016B (zh) 调用堆栈关系获取方法及装置
CN108399072A (zh) 应用页面更新方法和装置
CN108536745B (zh) 基于Shell的数据表提取方法、终端、设备及存储介质
CN107870989A (zh) 网页生成方法及终端设备
CN108776587B (zh) 数据获取方法、装置、计算机设备以及存储介质
CN110532107A (zh) 接口调用方法、装置、计算机设备及存储介质
CN107832448A (zh) 数据库操作方法、装置及设备
CN111159040A (zh) 一种测试数据生成方法、装置、设备及存储介质
CN117238433A (zh) 基于LibreOffice进行文档数据自动隔离的方法
CN113254470A (zh) 一种数据更改方法、装置、计算机设备及存储介质
CN113132241B (zh) Acl模板动态配置方法及装置
CN108563578A (zh) Sdk兼容性检测方法、装置、设备及可读存储介质
CN114153665A (zh) 一种基于协议接口的测试方法以及测试装置
CN109408547B (zh) 一种sam注册表的读取方法、读取系统及相关装置
CN114143187B (zh) 智能平台接口网络地址管理方法、系统、终端及存储介质
CN112486556B (zh) 一种服务器兼容bmc的方法、系统、终端及存储介质
CN114237699B (zh) 一种配置脚本的导出方法、装置及存储介质
CN113900895B (zh) 信息处理方法、信息处理装置、存储介质与电子设备
CN111178044B (zh) 一种确定目标文本要素的方法及装置
CN109933573B (zh) 数据库业务更新方法、装置及系统
CN117573130A (zh) 代码处理的方法、装置、电子设备和存储介质
CN112434042A (zh) 数据关系的构建方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant