数据库中表信息检测方法、装置、计算机设备及存储介质与流程

文档序号:27681162发布日期:2021-11-30 23:43阅读:112来源:国知局
1.本发明实施例涉及数据处理
技术领域
:,尤其涉及数据库中表信息检测方法、装置、计算机设备及存储介质。
背景技术
::2.数据库(database)是按照数据结构来组织、存储和管理数据的仓库,随着信息技术和市场的发展,数据库也演化出越来越多的类型,同时也出现了用于数据存储和管理的各种不同形态的数据库管理系统或平台,如目前比较常见的oracle数据库、mysql数据库、postgresql数据库、dmdb数据库以及gbase数据库等。3.在实际应用中,往往具备从数据库中获取数据信息,或者将计算或确定出的数据存储至数据库中的需求。一般的,为了保证待存储的数据能够更好的与数据库兼容,往往需要了解数据库中数据表的相关特性,如数据表的表结构以及数据表的数据质量等特性,上述信息可以通过对数据库的表信息检测来实现,从而可以在将数据存储至数据库的数据表之前,基于检测结果进行数据处理,使得处理后待存储的数据更加贴合数据库中的数据表特征。4.现有对数据库中数据表进行检测的方式,往往需要对不同的数据库系统设定相匹配的检测方式,由此在数据库系统多样化呈现的场景中,无法有效实现数据表信息的检测,从而影响了整个业务性能的高效执行。技术实现要素:5.本发明实施例提供数据库中表信息检测方法、装置、计算机设备及存储介质,以实现用户能够快速检测目标数据库中数据表的表信息的目的。6.第一方面,本发明实施例提供了一种数据库中表信息检测方法,包括:7.获取目标数据库的目标属性参数信息;8.基于预构造的信息检测组件结合所述属性参数信息,对所述目标数据库进行连通性测试;9.当确定连通性测试结果为连通时,对所述目标数据库中数据表的表信息进行检测。10.第二方面,本发明实施例提供了一种数据库中表信息检测装置,包括:11.参数信息获取模块,用于获取目标数据库的目标属性参数信息;12.测试模块,用于基于预构造的信息检测组件结合所述属性参数信息,对所述目标数据库进行连通性测试;13.表信息检测模块,用于当确定连通性测试结果为连通时,对所述目标数据库中数据表的表信息进行检测。14.第三方面,本发明实施例提供了一种计算机设备,包括:15.一个或多个处理器,16.存储装置,用于存储一个或多个程序,17.当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明实施例所述的数据库中表信息检测方法。18.第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例所述的数据库中表信息检测方法。19.本发明实施例的技术方案,通过将获取到的所述目标数据库的目标属性参数信息,输入预构造的信息检测组件中,所述信息检测组件结合所述属性参数信息,对所述目标数据库进行连通性测试,并且在确定连通性测试结果为连通时,对所述目标数据库中数据表的表信息进行检测。上述技术方案,采用了集成各类型数据库相对应信息到公共检测组件(即信息检测组件)的方式,相比于现有技术中对不同数据库分别设定检测组件来进行信息检测的方式,本实施例在保证检测信息准确性的前提下,有效节省了数据库的信息检测时间,从而提高了数据库中数据表信息的检测效率,进而保证了整个业务性能的高效执行。附图说明20.图1是本发明实施例一提供的数据库中表信息检测方法的流程图;21.图2是本发明实施例二提供的数据库中表信息检测方法的流程图;22.图3为本发明实施例二所提供数据库中表信息检测方法中表信息检测的实现流程图;23.图4是本发明实施例三提供的数据库中表信息检测装置的结构框图;24.图5是本发明实施例四提供的一种计算机设备的结构示意图。具体实施方式25.下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。26.在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。27.实施例一28.图1是本发明实施例一提供的数据库中表信息检测方法的流程图,本实施例可适用于在将数据存入数据库之前,对数据库中表信息进行检测的情况,该方法可以由本发明实施例所提供的数据库中表信息检测装置执行,该装置可以由软件和/或硬件的方式来实现,该装置可配置于计算机设备中。29.如图1所示,所述数据库中表信息检测方法具体包括如下步骤:30.s110,获取目标数据库的目标属性参数信息。31.在本实施例中,所述目标数据库是按照数据结构来组织、存储和管理数据的仓库,是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。需要说明的是,根据数据库不同的类型,可以分为关系型数据库、非关系型数据库和分布式数据库。本发明实施例适用于关系型数据库。例如,目标数据库可以是oracle数据库(oracledatabase,oracle)、mysql数据库(mysqldatabase,mysql)、postgresql数据库(postgresqldatabase,postgresql)、达梦数据库(damengdatabase,dm)以及gbase数据库(gbasedatabase,gbase)等数据库。32.在本实施例中,所述目标属性参数信息可以包括数据库类型、数据库网际互联协议(internetprotocol,ip)地址、数据库端口、数据库用户名、数据库密码、数据库名称以及数据表名称。33.示例性,本步骤获取到的所述目标数据库的目标属性参数信息中,数据库类型可以为oracle、mysql、postgresql、dm以及gbase等关系型数据库的类型。数据库ip地址可以为本地主机(localhost)或127.0.0.1,oracle端口可以是1521,mysql端口可以是3306,postgresql端口可以是5432,dmdb端口可以是5236,以及gbase端口可以是5258,用户名可以为root,密码可以为123456,数据库名称可以为“test”本发明实施例对数据库类型、数据库ip地址、数据库端口、数据库用户名、数据库密码以及数据库名称不作限制。34.需要说明的是,用户在使用本发明实施例提供的数据库中表信息检测方法前,可以由用户通过信息编辑的方式向本执行主体提供目标数据库的目标属性参数信息。35.s120,基于预构造的信息检测组件结合所述目标属性参数信息,对所述目标数据库进行连通性测试。36.在本发明实施例中,所述信息检测组件可以包含字符串拼接函数和数据库连接函数。其中,可以通过对数据库类型的判断将相应的数据库的字符串拼接函数和数据库连接函数进行集成。其中,字符串拼接函数可以将目标属性参数按照相应的目标数据库的连接字符串的格式进行拼接,形成目标数据库的连接字符串;其中,数据库连接函数可以基于字符串拼接函数拼接好的连接字符串,对相应的目标数据库进行连通性测试。37.在本发明实施例中,所述连通性测试可以指所述信息检测组件与所述目标数据库连通性的测试。38.示例性的,首先,所述信息检测组件通过对目标属性参数信息中的数据库类型进行判断,然后,调用相应的数据库类型的字符串拼接函数,该字符串拼接函数根据该目标数据库的连接字符串的格式将所述目标属性参数进行拼接,得到拼接好的连接字符串,最后,调用相应的数据库连接函数,该信息检测组件将拼接好的连接字符串作为该数据库连接函数的输入,最后,该数据库连接函数与目标数据库进行连通性的测试。39.s130,当确定连通性测试结果为连通时,对所述目标数据库中数据表的表信息进行检测。40.在本实施例中,所述当确定连通性测试结果为连通时可以理解为所述信息检测组件与目标数据库建立了连接,所述信息检测组件可以对目标数据库进行检测操作。需要说明的是,所述信息检测组件还可以包括数据库检测函数,该数据库检测函数也可以通过对数据库类型的判断将相应的数据库的数据库检测函数进行集成。该数据库检测函数具有对目标数据库中数据表的表结构和表中数据检测的功能。41.在本实施例中,所述表信息可以是表结构和/或表中的数据情况等信息。所述检测可以理解为对目标数据库中数据表的信息进行查询、检查或探查。42.示例性的,首先,通过对目标属性参数信息中的数据库类型判断,调用所述信息检测组件中相应的数据库连接函数与所述目标数据库进行连通性的测试,如果该数据库连接函数返回一个连接对象,则确定连通性测试结果为连通,然后,调用该信息检测组件中的数据库检测函数,并将该返回连接对象作为相应的数据库检测函数的输入,最后该数据库检测函数对该数据库中数据表的表结构和表中的数据进行查询。43.本发明实施例的技术方案,通过将获取到的所述目标数据库的目标属性参数信息,输入预构造的信息检测组件中,所述信息检测组件结合所述属性参数信息,对所述目标数据库进行连通性测试,并且在确定连通性测试结果为连通时,对所述目标数据库中数据表的表信息进行检测。上述技术方案,采用了集成各类型数据库相对应信息到公共检测组件(即信息检测组件)的方式,相比于现有技术中对不同数据库分别设定检测组件来进行信息检测的方式,本实施例在保证检测信息准确性的前提下,有效节省了数据库的信息检测时间,从而提高了数据库中数据表信息的检测效率,进而保证了整个业务性能的高效执行。44.具体的,本发明可选实施例可以将目标数据库的目标属性参数信息,具体表述为:数据库类型、数据库名称、数据库ip地址、数据库端口、数据库用户名、数据库密码以及数据表名称;可以将所述信息检测组件具体表述为:与数据库的属性参数信息对应的待填充信息项。45.可以理解的是,每个类型的数据库有不同的填充格式,每个类型数据库的填充格式中包含待填充信息项。可以将各类型数据库的属性参数信息对各类型数据库的填充格式中的待填充信息项进行相应的填充,从而可以形成各数据库的定位字符串。所述定位字符串可以是计算机编程语言(java)数据库连接(javadatabaseconnectivity,jdbc)的连接字符串,所述定位字符串用于标识所述目标数据库的位置,通过定位字符串告诉jdbc连接哪个数据库。其中,jdbc是一套用于执行结构化查询语言(structuredquerylanguage,sql)语句的计算机编程语言(java)应用程序编程接口(applicationprogramminginterface,api),所述计算机编程语言(java)api允许用户访问任何形式的表信息,尤其是存储在关系型数据库中的信息。jdbc实现了与各种类型数据库的通信,可以为多种关系型数据库提供统一访问接口,并适应sql语句来完成对数据库中数据的查询、更新和删除等操作。jdbc提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。具体来说,用户可以通过jdbc建立数据库连接,创建执行sql的语句,处理执行结果以及释放资源。46.需要说明的是,所述信息检测组件可以有如下功能:可以根据各类型数据库的属性参数信息中的数据库类型作为判断条件,找到对应类型数据库的填充格式,从而可以形成对应类型数据库的定位字符串。示例性的,如果数据库类型是oracle数据库,那么oracle数据库的填充格式可以为“jdbc:oracle:thin:@待填充项1:待填充项2:待填充项3”,可以将用户输入的该数据库的属性参数中的数据库ip地址“127.0.0.1”填入待填充项1,该数据库的属性参数中的数据库端口“1521”填入待填充项2,该数据库的属性参数中的数据库名称“oracle数据库1”填入待填充项3,那么oracle数据库的定位字符串可以为“jdbc:oracle:thin:@127.0.0.1:1521:oracle数据库1”。如果数据库类型是mysql数据库,那么mysql数据库的填充格式可以为“jdbc:mysql//待填充项1:待填充项2:/待填充项3”,可以将用户输入的该数据库的属性参数中的数据库ip地址“localhost”填入待填充项1,该数据库的属性参数中的数据库端口“3306”填入待填充项2,该数据库的属性参数中的数据库名称“mydb”填入待填充项3,那么mysql数据库的定位字符串可以是“jdbc:mysql://localhost:3306/mydb”。47.本实施例一的可选实施例,信息检测组件可以根据用户输入的各类型数据库的属性参数信息得到对应的填充格式,以及可以将属性参数信息在相应的填充格式的待填充信息项中进行填充,形成对应数据库的定位字符串。从而具有根据用户输入的目标数据库的属性参数信息动态形成目标数据库的定位字符串的效果。48.实施例二49.图2是本发明实施例二提供的数据库中表信息检测方法的流程图,本实施例以上述实施例为基础进行优化。在本发明实施例中,可以将基于预构造的信息检测组件结合所述目标属性参数信息,对所述目标数据库进行连通性测试,具体优化为:基于所述目标属性参数信息构成目标定位字符串;调用给定的连通性测试函数,结合所述目标定位字符串,对所述目标数据库与所述信息检测组件进行连通性测试;当函数返回值为设定标记时,确定连通性测试的连通性测试结果为连通。50.同时,本实施例二还可以将对所述目标数据库中数据表的表信息进行检测,具体优化为:获取连通性测试结果为连通时所述目标数据库对应的目标检测函数,所述目标检测函数组装于所述信息检测组件中;通过相匹配的函数接口从所述信息检测组件中调用所述目标检测函数,采用所述目标检测函数对所述目标数据库中数据表的表信息进行检测。51.如图2所示,本发明实施例二提供的数据库中表信息检测方法,具体包括如下步骤:52.s210,获取目标数据库的目标属性参数信息。53.s220,基于所述目标属性参数信息构成目标定位字符串。54.在上述操作中,信息检测组件可以根据执行s210得到的目标数据库的目标属性参数信息中数据库类型得到对应的填充格式,以及可以将目标属性参数信息如数据库ip地址、数据库端口和数据库名称等信息在相应的填充格式的待填充信息项中进行填充,形成对应目标数据库的目标定位字符串。55.s230,调用给定的连通性测试函数,结合所述目标定位字符串,对所述目标数据库与所述信息检测组件进行连通性测试。56.在上述操作中,所述连通性测试函数可以是jdbc的计算机编程语言(java)api中的drivermanager类中的getconnection()方法。其中,drivermanager是jdbc的计算机编程语言(java)api,drivermanager用于加载jdbc驱动并且创建与数据库的连接。其中,drivermanager中的getconnection()方法用于建立和数据库的连接,并返回表示连接的连接(connection)对象。57.示例性的,连通性测试函数可以是connectionconnection=drivermanager.getconnection(目标定位字符串,数据库用户名,数据库密码)。需要说明的,s230根据执行s210可以得到目标数据库的目标属性参数信息中的数据库用户名和数据库密码以及执行s220得到目标定位字符串,并作为连通性测试函数的参数,然后调用连通性测试函数,对目标定位字符串定位的数据库进行连通性的测试。58.s240,当函数返回值为设定标记时,确定连通性测试的连通性测试结果为连通。59.在上述操作中,函数返回值可以返回信息提示,也可以是返回连接(connection)对象。所述连接(connection)对象由drivermanager中的getconnection()方法返回。60.在上述操作中,所述设定标记可以为连接(connection)对象。61.示例性的,当函数返回值返回的是“数据库用户名或数据库密码不存在”或“网络不通,连接超时”等信息提示时,则确定连通性测试的连通性测试结果为失败;当函数返回值返回的是表示连接的连接(connection)对象时,则确定连通性测试的连通性测试结果为连通。其中,连接(connection)对象对应的连接(connection)接口中有一系列的方法,比如getmetadata()方法,该方法用于返回表示数据库的元数据的databasemetadata的databasemetadata对象。其中,databasemetadata是jdbc的计算机编程语言(java)api。62.s250,当确定连通性测试结果为连通时,获取连通性测试结果为连通时所述目标数据库的目标检测函数,所述目标检测函数组装于所述信息检测组件中。63.可以理解的,通过调用连通性测试函数与所述目标数据库进行连通性的测试,当连通性测试函数返回一个连接(connection)对象时,则确定为连通,此时,通过获取所述目标数据库对应的所述信息检测组件中的目标检测函数对连通性测试函数返回的连接对象进行接收。64.s260,通过相匹配的函数接口从所述信息检测组件中调用所述目标检测函数,采用所述目标检测函数对所述目标数据库中数据表的表信息进行检测。65.需要说明的是,可以通过目标数据库的属性参数信息的数据库类型找到对应的填充格式,也可以找到相匹配的函数接口。具体的,先根据属性参数信息中的数据库类型进行判断,找到对应的填充格式,对相应的填充格式中的待填充项进行填充,形成目标定位字符串,同时结合属性参数信息的数据库用户名和数据库密码调用连通性测试函数且连通性测试结果为连通时,便可以通过相匹配的函数接口获取到所述目标数据库的目标检测函数,相匹配的函数接口对连通性测试函数返回的连接性测试结果为连通的连接对象进行接收,并且将接收到的连接对象传输给获取到的目标检测函数,此时,目标检测函数可以对相应的连接的数据库中数据表的表结构或表中的数据进行检测。66.本发明实施例,通过根据所述目标属性参数信息得到目标定位字符串,并调用给定的连通性测试函数,以及结合所述目标定位字符串,对所述目标数据库进行连通性测试,当函数返回值为设定标记时,确定连通性测试的连通性测试结果为连通。使用户的程序通过输入所述目标数据库的目标属性参数信息实现与目标数据库的连通,以提供更有效的连通数据库的方法;当与所述目标数据库连通时,通过相匹配的函数接口从所述信息检测组件中获取对应的所述目标数据库的目标检测函数,并对所述目标数据库中数据表的表信息进行检测,以实现所述检测组件可以对所述目标数据库中数据表的表信息进行检测。67.需要说明的是,执行实施例二中s210、s220、s230和s240可以实现所述信息检测组件对目标数据库连通性的检测;执行实施例二中s210、s220、s230、s240、s250和s260可以实现所述信息检测组件对目标数据库的连通性测试以及对目标数据库的检测。68.进一步的,如图3所示,图3为本发明实施例二所提供数据库中表信息检测方法中表信息检测的实现流程图,本发明可选实施例将采用所述目标检测函数对所述目标数据库中数据表的表信息进行检测,进一步可优化为:69.s2601,通过所述目标数据库的元数据对象,获取所述目标数据库中所包括各数据表的数据表名称信息。70.在上述操作中,所述目标数据库的元数据可以是数据库和数据表等定义的信息。需要说明的是,本实施例中的元数据对象可以由连通性测试的连通性测试结果为连通时,返回的连接(connection)对象对应的连接(connection)接口中getmetadata()方法,该方法获得所述目标数据库的元数据的databasemetadata的databasemetadata对象,并通过所述databasemetadata对象对应的gettables()方法得到所述目标数据库中所包括的各数据表的数据表名称信息,并以resultset的tablenameresultset对象返回。其中,resultset是jdbc的计算机编程语言(java)api。71.s2602,根据所述数据表名称信息,确定所述目标数据库中待检测数据表的表结构信息。72.可以理解的是,通过获取到的数据表名称信息,将待检测数据表的数据表名称在所述数据表名称信息中查找,如果能够在所述数据表名称信息中找到,则可以通过待检测数据表的名称查询到待检测数据表的表结构信息。其中,表结构信息可以包括字段名称、字段类型和字段长度等信息。需要说明的是,所述待检测数据表的数据表名称可以从执行s210得到。73.s2603,通过对所述待检测数据表的数据抽样,确定所述待检测数据表的数据属性信息。74.可以理解的是,可以对待检测数据表中的数据进行抽取,本实施例对数据抽取的数量不作限制,并可以对抽取到的数据进行分析,从而得到所述待检测数据表的数据属性信息。75.示例性的,对待检测数据表的1000条数据进行抽取,里面的数据具体的值是按照表结构中相应的字段的要求进行填充,并且分别根据字段名称进行分析,从而可以确定所述待检测表的数据属性信息。例如,每个字段出现次数最多的数据。76.本发明可选实施例,所述目标检测函数通过获取所述目标数据库的元数据对象,得到所述目标数据库中所包括的各数据表的数据表名称信息,并根据所述表名称信息确定所述目标数据库中待检测数据表的表结构信息,以及通过对所述待检测数据表的数据抽样,确定所述待检测数据表的数据属性信息。解决了用户经常查询各类型数据库的表结构信息以及查询各类型数据库的数据表的数据属性信息速度慢的问题,达到了用户可以根据所述信息检测组件进行更有效的数据库检测的效果。77.具体的,本发明可选实施例将根据所述数据表名称信息,确定所述目标数据库中待检测数据表的表结构信息,具体可优化为:78.a1,通过所述数据表名称信息,确定所述目标数据库所包括数据表的表名称列表。79.本实施例中,所述目标检测函数通过获得所述目标数据库的元数据databasemetadata对象,并通过所述databasemetadata对象对应的gettables()方法得到所述目标数据库中所包括的各数据表的数据表名称信息,以resultset的tablenameresultset对象返回,并可以通过循环语句对tablenameresultset遍历得到所述目标数据库的数据表的表名称列表。80.b1,如果所述待检测数据表的表名称存在于所述表名称列表中,则通过设定的第一查询语句查询所述待检测数据表的表结构信息,所述表结构信息包括:字段英文名称、字段类型、字段长度。81.在上述操作中,所述待检测数据表的表名称由用户输入得到,具体的由所述目标数据库的目标属性参数信息中数据表名称得到。如果所述待检测数据表的表名称不在所述表名称列表中,则提示“表不存在”信息,否则,如果所述待检测数据表的表名称存在于所述表名称列表中,则通过设定的第一查询语句查询所述待检测数据表的表结构信息,所述第一查询语句可以是通过databasemetadata对象对应的getcolumns()方法得到所述待检测数据表的表结构信息,以result的fieldresultset对象返回,并可以通过循环语句对fieldresultset遍历得到所述表结构信息。其中,result是jdbc的计算机编程语言(java)api。82.所述表结构信息包括:字段英文名称、字段类型和字段长度。其中,字段英文名称可以是名称1(field1),字段类型可以是整型(int)、单精度浮点型(float)、可容纳单个字符的数据类型(char)和时间戳类型(timestamp)等,字段长度可以是10、16和7,本发明实施例,对字段英文名称、字段类型和字段长度不作限制。如表1所示。83.表1数据库中数据表的表结构信息84.字段英文名称字段类型字段长度field1int10field2char16field3timestamp7......ꢀꢀ85.本发明可选实施例,通过所述数据表名称信息,确定所述目标数据库所包括数据表的表名称列表,并对所述待检测数据表的表名称是否存在于所述表名称列表中进行判断,如果所述待检测数据表的表名称存在于所述表名称列表中,则通过设定的第一查询语句查询所述待检测数据表的表结构信息。以实现所述信息检测组件可以查询所述待检测数据表的表结构信息,以提供用户更有效的查询表结构信息的方法。86.具体的,本发明可选实施例将通过对所述待检测数据表的数据抽样,确定所述待检测数据表的数据属性信息,具体可优化为:87.a2,通过设定的第二查询语句对所述待检测数据表进行遍历操作,获得所述待检测数据表中的抽样数据。88.在上述操作中,具体的,设定的第二查询语句可以是设定的sql查询语句,对所述待检测数据表进行遍历操作,获得所述待检测数据表中的抽样数据。其中,所述待检测数据表中的抽样数据的数量可以通过预设值获取,例如,可以是2000条,本发明实施例对预设的抽样数据的数量不作限制。89.可以理解的是,所述待检测数据表中的抽样数据中的每条数据内容可以是所述字段英文名称对应的字段类型对应的值,例如,名称1(field1),对应的字段类型是整型(int),则对应的数据值可以为139、23、14和3等,本发明实施例对名称1(field1),对应的整型(int)的数据值不作限制;名称2(field2),对应的字段类型是可容纳单个字符的数据类型(char),则对应的数据值可以为张三、李四、王冬冬和张三等,本发明实施例对名称2(field2),对应的可容纳单个字符的数据类型(char)的数据值不作限制;名称3(field3),对应的字段类型是整型(int),则对应的数据值可以为9、空、37和37等,本发明实施例对名称3(field3),对应的整型(int)的数据值不作限制;名称4(field4),对应的字段类型是时间戳类型(timestamp),则对应的数据值可以为2021‑08‑02、2021‑07‑12、2021‑07‑12和2021‑06‑14等,本发明实施例对名称4(field4),对应的时间戳类型(timestamp)的数据值不作限制。如表2所示。90.表2数据库中数据表的数据91.field1field2field3field4......139张三92021‑08‑0223李四2021‑07‑1214王冬冬372021‑07‑123张三372021‑06‑14......ꢀꢀꢀꢀ92.b2,通过给定的信息统计策略,对所述待检测数据表进行数据属性信息确定,所述数据属性信息包括:待检测数据表中每个字段的最高出现频率元素信息、最小长度值、最大长度值以及单元格填充率。93.在上述操作中,具体的,通过循环语句遍历所述待检测数据表中的抽样数据,并通过给定的信息统计策略,对所述待检测数据表确定数据属性信息,其中,所述数据属性信息包括:待检测数据表中每个字段的最高出现频率元素信息、最小长度值、最大长度值以及单元格填充率。其中,所述最高出现频率元素信息可以是所述字段中的出现次数最多的数据值。所述最小长度值可以是所述字段中所有数据值的最小长度。所述最大长度值可以是所述字段中所有数据值的最大长度。所述单元格填充率可以是所述字段中单元格中含有数据值的数量与预设单元格的数量的百分比。其中,所述数据属性信息也可以包括待检测数据表中最大值和最小值,所述最大值可以是所述字段中所有数据值的最大值,所述最小值可以是所述字段中所有数据值的最小值。94.示例性的,名称1(field1),对应的字段类型是整型(int),则对应的数据值可以为139、23、14和3等,那么所述待检测数据表中的字段名称1(field1)中数据属性信息可以是:最高出现频率元素可以为3、14、23,最小长度值可以为1,最大长度值可以为3,单元格填充率可以为100%,最大值可以为139,最小值可以为3;名称2(field2),对应的字段类型是可容纳单个字符的数据类型(char),则对应的数据值可以为张三、李四、王冬冬和张三等,那么所述待检测数据表中的字段名称2(field2)中数据属性信息可以是:最高出现频率元素可以为张三,最小长度值可以为2,最大长度值可以为3,单元格填充率可以为100%,最大值为空,最小值为空;名称3(field3),对应的字段类型是整型(int),则对应的数据值可以为9、空、37和37等,那么所述待检测数据表中的字段名称3(field3)中数据属性信息可以是:最高出现频率元素可以为37,最小长度值可以为1,最大长度值可以为2,单元格填充率可以为75%,最大值可以为37,最小值可以为9;名称4(field4),对应的字段类型是时间戳类型(timestamp),则对应的数据值可以为2021‑08‑02、2021‑07‑12、2021‑07‑12和2021‑06‑14等,那么所述待检测数据表中的字段名称4(field4)中数据属性信息可以是:最高出现频率元素可以为2021‑07‑12,最小长度值可以为7,最大长度值可以为7,单元格填充率可以为100%,最大值可以为2021‑08‑02,最小值可以为2021‑06‑14。如表3所示。95.表3数据库中数据表的数据属性信息[0096][0097]本发明实施例,通过设定的第二查询语句对所述待检测数据表进行遍历操作,获得所述待检测数据表中的抽样数据,并通过给定的信息统计策略,对所述待检测数据表进行数据属性确定,以实现所述信息检测组件可以对待检测数据表的数据属性进行查询,以提供用户更有效的查询数据库的数据表的数据属性信息。[0098]需要说明的是,执行实施例二中a1和b1以实现通过所述信息检测组件对目标数据库中数据表的表结构信息进行检测。也可以执行实施例二中a1、b1、a2和b2以实现所述信息检测组件对目标数据库中数据表的表结构信息进行检测和数据属性进行确定。当然,前提都是所述信息检测组件与目标数据库进行了连通性测试,并且所述信息检测组件与目标数据库的连通性测试结果为连通。[0099]实施例三[0100]图4是本发明实施例三提供的数据库中表信息检测装置的结构框图,该装置可执行本发明任意实施例所提供的数据库中表信息检测方法,具备执行方法相应的功能模块和有益效果。所述装置配置于计算机设备中来实现本发明实施例中的数据库中表信息检测方法。如图4所示,所述装置包括:参数信息获取模块410、测试模块420和表信息检测模块430。[0101]其中,参数信息获取模块410,用于获取目标数据库的目标属性参数信息;[0102]测试模块420,用于基于预构造的信息检测组件结合所述属性参数信息,对所述目标数据库进行连通性测试;[0103]表信息检测模块430,用于当确定连通性测试结果为连通时,对所述目标数据库中数据表的表信息进行检测。[0104]本发明实施例的技术方案,通过将获取到的所述目标数据库的目标属性参数信息,输入预构造的信息检测组件中,所述信息检测组件结合所述属性参数信息,对所述目标数据库进行连通性测试,并且在确定连通性测试结果为连通时,对所述目标数据库中数据表的表信息进行检测。上述技术方案,采用了集成各类型数据库相对应信息到公共检测组件(即信息检测组件)的方式,相比于现有技术中对不同数据库分别设定检测组件来进行信息检测的方式,本实施例在保证检测信息准确性的前提下,有效节省了数据库的信息检测时间,从而提高了数据库中数据表信息的检测效率,进而保证了整个业务性能的高效执行。[0105]上述装置中,可选的是,所述目标数据库的目标属性参数信息包括:数据库类型、数据库名称、数据库ip地址、数据库端口、数据库用户名、数据库密码以及数据表名称;[0106]所述信息检测组件包括:与数据库的属性参数信息对应的待填充信息项。[0107]上述装置中,可选的是,测试模块420具体用于:[0108]基于所述目标属性参数信息构成目标定位字符串;[0109]调用给定的连通性测试函数,结合所述目标定位字符串,对所述目标数据库与所述信息检测组件进行连通性测试;[0110]当函数返回值为设定标记时,确定连通性测试的连通性测试结果为连通。[0111]上述装置中,可选的是,表信息检测模块430包括函数获取单元和检测单元:[0112]所述函数获取单元,用于获取连通性测试结果为连通时所述目标数据库的目标检测函数,所述目标检测函数组装于所述信息检测组件中;[0113]所述检测单元,用于通过相匹配的函数接口从所述信息检测组件中调用所述目标检测函数,采用所述目标检测函数对所述目标数据库中数据表的表信息进行检测。[0114]上述装置中,可选的是,检测单元包括:表名称获取子单元、表结构确定子单元和数据属性确定子单元:[0115]所述表名称获取子单元,用于通过所述目标数据库的元数据对象,获取所述目标数据库中所包括各数据表的数据表名称信息;[0116]所述表结构确定子单元,用于根据所述数据表名称信息,确定所述目标数据库中待检测数据表的表结构信息;[0117]所述数据属性确定子单元,用于通过对所述待检测数据表的数据抽样,确定所述待检测数据表的数据属性信息。[0118]上述装置中,可选的是,所述表结构确定子单元具体用于:[0119]所述根据所述数据表名称信息,确定所述目标数据库中待检测数据表的表结构信息,包括:[0120]通过所述数据表名称信息,确定所述目标数据库所包括数据表的表名称列表;[0121]如果所述待检测数据表的表名称存在于所述表名称列表中,则通过设定的第一查询语句查询所述待检测数据表的表结构信息,所述表结构信息包括:字段英文名称、字段类型、字段长度。[0122]上述装置中,可选的是,所述数据属性确定子单元具体用于:[0123]通过设定的第二查询语句对所述待检测数据表进行遍历操作,获得所述待检测数据表中的抽样数据;[0124]通过给定的信息统计策略,对所述待检测数据表进行数据属性信息确定,所述数据属性信息包括:待检测数据表中每个字段的最高出现频率元素信息、最小长度值、最大长度值以及单元格填充率。[0125]上述产品可执行本发明实施例所提供的数据库中表信息检测方法,具备执行方法相应的功能模块和有益效果。[0126]实施四[0127]本发明实施例四提供了一种计算机设备。图5是本发明实施例四提供的一种计算机设备的结构示意图。如图5所示,本实施例提供了一种计算机设备,可以包括:处理器和存储装置。存储装置中存储有至少一条指令,且指令由所述处理器执行,使得所述计算机设备执行如上述方法实施例所述的数据库中表信息检测方法。[0128]参照图5,该计算机设备具体可以包括:处理器510、存储装置520、输入装置530和输出装置540;该计算机设备中处理器510的数量可以是一个或多个,图5中以一个处理器510为例;该计算机设备中存储装置520的数量可以是一个或者多个,图5中以一个存储装置520为例。该计算机设备中的处理器510、存储装置520、输入装置530和输出装置540可以通过总线或其他方式连接,图5中以通过总线连接为例。[0129]具体的,实施例中,处理器510执行存储装置520中存储的一个或多个程序时,可以实现如下操作:获取目标数据库的目标属性参数信息;基于预构造的信息检测组件结合所述目标属性参数信息,对所述目标数据库进行连通性测试;当确定连通性测试结果为连通时,对所述目标数据库中数据表的表信息进行检测。[0130]上述实施例中提供的数据库中表信息检测装置、计算机设备及存储介质可执行本发明任意实施例所提供的数据库中表信息检测方法,具备执行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的数据库中表信息检测方法。[0131]实施例五[0132]本发明实施例五提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明所有发明实施例提供的数据库中表信息检测方法,该方法包括:获取目标数据库的目标属性参数信息;基于预构造的信息检测组件结合所述目标属性参数信息,对所述目标数据库进行连通性测试;当确定连通性测试结果为连通时,对所述目标数据库中数据表的表信息进行检测。[0133]本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd‑rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。[0134]计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。[0135]计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、rf等等,或者上述的任意合适的组合。[0136]可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。[0137]注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1