This application provides a database table including relationship determination method and device, the method to remove the source files in the database annotation information; function segmentation to eliminate annotation information after the source file, according to the segmentation results and the function of the source file analysis relationship between the function and the function of statement; segmentation of the annotation information after removing each source file, according to the statement, the segmentation results of segmentation results and the function of the source file analysis correlation function, and get the MDL operating mode; according to the relationship between the function and the function of the correlation function, and the DML operation method, analysis table and relationship between tables and close degree. This application can reduce the human input of the relational analysis of database tables, reduce the complexity of the analysis process, and accurately define the relationship between the database tables, and provide the basis for the follow-up system architecture adjustment and optimization.
【技术实现步骤摘要】
数据库表关联关系确定方法及装置
本申请涉及计算机
,特别涉及一种数据库表关联关系确定方法及装置。
技术介绍
随着互联网应用的广泛普及,海量数据的存储和访问已经成为系统设计的瓶颈问题。传统的垂直扩展(提升硬件设备处理能力)的解决方案存在投入昂贵、无法弹性扩展的局限,已不能满足业务快速发展需要。目前业界通用措施是采用数据库分拆(分库、分表)的策略,将数据从单节点数据库分为多个数据库节点。数据库分拆(分库、分表)一般就是按照某种特定条件,将放在同一数据库的数据分散到多个数据库。目前业界主要有两种方式:一是垂直分拆:按照业务功能,将不同的表分散到不同的数据库,即分库;二是水平分拆:将同一表的数据按照某种规则分散到不同的数据库,即分表。但在实施分库、分表时,都面临如下问题及挑战:1、应用端如何方便的从数据库中获取数据,不能因为数据拆分导致应用端存取数据错误或者异常复杂;2、应用实施分库、分表,如何对应用端程序影响最小;3、数据库节点扩容时,如何避免或者减少对应用端的影响;对于数据库分拆(分库、分表)面临的问题,良好的设计才是解决问题的关键。在实施数据库分拆(分库、分表)前,必须充分了解系统业务逻辑和数据库SCHEMA,绘制数据库ER图,结合业务逻辑和表间关系,将业务、表间关联关系密切的表划分到一起。当所有表划分完毕后才能最终确定数据库分库分表方案。随着系统规模逐渐增大、系统维护使用年限逐渐增长,文档设计与编码实现之间不可避免地会存在脱节、遗漏或描述不一致的情况。由于缺乏完整清晰的文档,维护人员难以直接理解数据库设计,无法准确的分析或界定数据库表之间的关联关系, ...
【技术保护点】
一种数据库表关联关系确定方法,其特征在于,包括:剔除数据库各源码文件中的注释信息;对剔除注释信息后的各源码文件进行函数切分,根据函数切分结果及各源码文件分析得到函数与函数之间的关联关系;对剔除注释信息后的各源码文件进行语句切分,根据语句切分结果、函数切分结果及各源码文件分析得到函数、表及MDL操作方式的关联关系;根据函数与函数之间的关联关系,函数、表及DML操作方式的关联关系,分析得到表与表之间关联关系及其密切程度。
【技术特征摘要】
1.一种数据库表关联关系确定方法,其特征在于,包括:剔除数据库各源码文件中的注释信息;对剔除注释信息后的各源码文件进行函数切分,根据函数切分结果及各源码文件分析得到函数与函数之间的关联关系;对剔除注释信息后的各源码文件进行语句切分,根据语句切分结果、函数切分结果及各源码文件分析得到函数、表及MDL操作方式的关联关系;根据函数与函数之间的关联关系,函数、表及DML操作方式的关联关系,分析得到表与表之间关联关系及其密切程度。2.如权利要求1所述的数据库表关联关系确定方法,其特征在于,剔除数据库各源码文件中的注释信息的过程进一步包括:确定源码的注释格式,根据注释格式提取注释在各源码文件中的开始行数及结束行数;将同一注释的开始行数及结束行数之间的信息剔除。3.如权利要求1所述的数据库表关联关系确定方法,其特征在于,对剔除注释信息后的各源码文件进行函数切分的过程包括:根据关键字提取各源码文件中的函数名称;根据函数名称提取函数在源码文件中的开始行数及结束行数,根据函数在源码中的开始行数及结束行数对剔除注释信息后的源码文件进行切分得到函数切分结果。4.如权利要求1所述的数据库表关联关系确定方法,其特征在于,根据函数切分结果及各源码文件分析得到函数与函数之间的关联关系的过程包括:根据源码文件的文件名在各源码文件中进行遍历,确定源码文件之间的调用关系;在调用源码文件中,遍历被调用源码文件中的函数名,确定代码行数,根据调用源码文件的函数切分结果确定代码行数属于哪个函数,从而确定函数与函数的调用关系。5.如权利要求1所述的数据库表关联关系确定方法,其特征在于,对剔除注释信息后的各源码文件进行语句切分的过程包括:确定语句结束符格式,根据语句结束符格式在各源码文件中提取包含语句结束符格式的行数得到语句的结束行数;对于每一源码文件,将语句的结束行数进行升序排列,对上一语句的结束行数作加一处理得到下一语句的开始行数;根据语句的开始行数及结束行数对剔除注释信息后的源码文件进行切分得到语句切分结果。6.如权利要求1所述的数据库表关联关系确定方法,其特征在于,根据语句切分结果、函数切分结果及各源码文件分析得到函数、表及DML操作方式的关联关系的过程包括:根据表清单在各源码文件中进行遍历,确定文件与表之间的调用关系;根据文件与表之间的调用关系确定表所在源码文件的代码行数;从语句切分结果中查找表所在源码文件的代码行数对应的语句,根据DML操作方式关键字确定查找到的语句的操作方式;根据函数切分结果确定表所在源码文件的代码行数属于哪个函数;将确定的函数、表及操作方式关联到一起。7.如权利要求1至6任一项所述的数据库表关联关系确定方法,其特征在于,根据函数与函数之间的关联关系,函数、表及DML操作方式的关联关系,分析得到表与表之间关联关系及其密切程度进一步包括:利用如下规则,根据函数与函数之间的关联关系,函数、表及DML操作方式的关联关系,分析得到表与表之间的关联关系:若同一函数同时对多个表存在DML操作方式,则同一函数中存在DML操作方式的各表之间存在关联关系,若函数与函数之间存在调用关系,则两个函数中存在DML操作方式的表之间存在关联关系;表与表之间每确定一次关联关系,则做加一计算,根据计算结果确定表与表之间的密切程度。8.一种数据库表关联关系确定装置,其特征...
【专利技术属性】
技术研发人员:范呈锦,严波,
申请(专利权)人:中国工商银行股份有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。