一种数据源库表信息探测方法、装置、服务器和介质与流程

文档序号:18985793发布日期:2019-10-29 04:23阅读:194来源:国知局
本发明实施例涉及数据库
技术领域
:,尤其涉及一种数据源库表信息探测方法、装置、服务器和介质。
背景技术
::数据库是存储电子文件的处所,用户可以对文件中的数据进行新增、截取、更新以及删除等操作,变更数据捕获可以记录数据库的相关变更信息,为使用者访问更改的数据库提供便利。现有变更数据捕获通常利用的数据源表结构探测工具实现,但是目前的数据源表结构探测工具对源数据库有一定的侵入性,在进行数据表结构探测时需要更改源数据库的部分配置,操作比较复杂,适用性较差。技术实现要素:有鉴于此,本发明提供一种数据源库表信息探测方法、装置、服务器和介质,以实现无需更改源数据库的配置信息,进而对数据库表结构的变更信息进行探测。第一方面,本发明实施例提供了一种数据源库表信息探测方法,包括:依据目标数据源连接信息,从所述目标数据源中获取并存储所需探测的目标数据库的库表信息;依据预设周期获取所述目标数据库的库表信息,并与存储的库表信息进行比较,确定库表变更信息。第二方面,本发明实施例提供了一种数据源库表信息探测装置,包括:库表信息获取模块,用于依据目标数据源连接信息,从所述目标数据源中获取并存储所需探测的目标数据库的库表信息;库表变更信息确定模块,用于依据预设周期获取所述目标数据库的库表信息,并与存储的库表信息进行比较,确定库表变更信息。第三方面,本发明实施例提供了一种服务器,包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明任一实施例所述的数据源库表信息探测方法。第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任一实施例所述的数据源库表信息探测方法。本发明实施例通过依据目标数据源的连接信息,从目标数据源中获取并存储所需要探测的目标数据库的库表信息,并依据预设周期获取目标数据库的库表信息,与存储的库表信息进行比较,以确定库表变更信息。本发明实施例的技术方案,通过目标数据源的连接信息来获取所需探测的目标数据库的库表信息,实现了无需更改源数据库的配置信息,从而对数据库表结构的变更信息进行无侵入式的探测。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例一提供的一种数据源库表信息探测方法的流程图;图2为本发明实施例一提供的一种目标数据源配置表的示意图;图3a为本发明实施例一提供的一种存储的库表信息的示意图;图3b为本发明实施例一提供的一种定时抓取的库表信息的示意图;图4为本发明实施例二提供的一种数据源库表信息探测方法的流程图;图5是本发明实施例三提供的一种数据源库表信息探测装置的结构示意图;图6为本发明实施例四提供的一种服务器的结构示意图。具体实施方式为使本发明的目的、技术方案和优点更加清楚,以下将参照本发明实施例中的附图,通过实施方式清楚、完整地描述本发明的技术方案,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。下述各实施例中,每个实施例中同时提供了可选特征和示例,实施例中记载的各个特征可进行组合,形成多个可选方案,不应将每个编号的实施例仅视为一个技术方案。实施例一图1为本发明实施例一提供的一种数据源库表信息探测方法的流程图,本实施例可适用于对更改的数据源库表信息进行探测的情况。该方法可以由本发明实施例提供的数据源库表信息探测装置来执行,该装置可采用硬件和/或软件的方式实现,该装置可集成于服务器中。参见图1,该方法具体可以包括:s110、依据目标数据源连接信息,从目标数据源中获取并存储所需探测的目标数据库的库表信息。其中,数据源是指数据库应用程序所使用的数据库或者数据库服务器,用于提供某种所需要数据的器件或原始媒体。数据库为电子化的文件柜,是存储电子文件的处所,用户可以对文件中的数据进行新增、截取、更新、删除等操作。可选的,一个数据源中可设置有多个数据库。对应的,目标数据源是指用户根据自身需求所选择的任一数据源。本实施例中,目标数据源连接信息是指服务器用于连接目标数据源所需的信息,可以包括但不限于目标数据源名称、目标数据源ip地址、访问目标数据源的端口号、数据库类型、访问目标数据源的用户名以及密码等,通过上述连接信息对目标数据源进行配置。可选的,服务器可以获取第三方应用客户端通过浏览器发送的用户输入的目标数据源连接信息。可选的,目标数据源中可以配置有一个或者多类型的数据库,其中数据库种类包括但不限于oracle、sqlserver以及mysql等,如图2所示。通过目标数据源的连接信息可以获取某种目标数据库中的库表信息,也可以同时获取多种目标数据库中的库表信息。其中库表信息可以包括库表的名称、以及库表中相关字段信息等。以mysql数据源配置示例:目标数据源连接信息中包括的schema中的schemaname和tables提供了需要探测的目标数据库对应的库表,满足了在实际应用当中,对特定的目标数据的库表信息进行探测的需求。具体的,服务器可基于设定的通信机制,与目标数据源建立通信连接;之后可从目标数据源中获取并存储所需探测的目标数据库的库表信息。进一步的,依据目标数据源连接信息,从目标数据源的数据库中获取并存储所需要探测的目标数据库的库表信息可以包括:依据目标数据源连接信息,从目标数据源的数据库中获取所需探测的目标数据库的元信息;依据元信息确定目标数据库关联的字段信息;依据目标数据库关联的字段信息,确定并存储目标数据库的库表信息。其中,元信息允许服务器提供所发送数据的信息。数据库中包含多个库表,每个库表中又包含相应的字段信息。通过上述目标源连接信息,可以从目标数据源的数据库中获取所需探测的目标数据库的元信息,具体的,通过访问接口可以获取目标数据库的元信息,通过元信息可以进一步获取库表中全部或者部分所需要探测的字段信息,进而由字段信息组成所需要探测的目标数据库的库表信息。s120、依据预设周期获取目标数据库的库表信息,并与存储的库表信息进行比较,确定库表变更信息。本实施例中,预设周期可以根据实际需求进行设置。库表变更信息可以包括对库表中字段的插入、更改和删除等操作。具体的,库表信息可以包括字段名称、字段类型、字段长度等字段信息,通过定时的抓取库表信息中的字段信息,将抓取的字段信息和存储的库表信息中的字段信息进行比较,来确定库表变更信息。以库表名称为school的库表为例进行说明。图3a为存储的库表信息,图3b定时抓取的库表信息。可见,库表变更信息为增加了name字段,且city字段的长度从50变更为了255,同时删除了graduation_rates字段。进一步的,确定库表变更信息之后,还可以包括:依据库表变更信息,更新存储的库表信息。本实施例中,在确定库表变更信息之后,可用该库表变更信息对存储的库表信息进行更新,以便将存储的库表信息更新至最新状态。进一步的,还可以按照一定的关系格式来提供库表变更的详细信息,以便使用者可以系统的访问更改数据。本发明实施例通过依据目标数据源的连接信息,从目标数据源中获取并存储所需要探测的目标数据库的库表信息,并依据预设周期获取目标数据库的库表信息,与存储的库表信息进行比较,以确定库表变更信息。本发明实施例的技术方案,通过目标数据源的连接信息来获取所需探测的目标数据库的库表信息,实现了无需更改源数据库的配置信息,从而对数据库表结构的变更信息进行无侵入式的探测。实施例二图4为本发明实施例二提供的一种数据源库表信息探测方法的流程图,本实施例是在上述实施例的基础上,进一步对依据目标数据源连接信息,从目标数据源中获取并存储所需探测的目标数据库的库表信息进行解释说明,参见图2,该方法具体可以包括:s210、依据目标数据源连接信息,确定所需探测的目标数据库。s220、通过公共访问接口与目标数据库连接,从目标数据源中获取并存储所需探测的目标数据库的库表信息。其中,公共访问接口能够为多种数据库提供统一的访问接口,可以同时对不同类型的数据库进行访问,解决了现有技术中只能探测单种数据库的问题。示例性的,上述公共访问接口可以为java数据连接(javadatabaseconnectivity,jdbc),具体的,不同的数据库对应有不同的jdbc驱动器,通过加载驱动与目标数据库进行连接,进一步的,jdbc中有获取元信息的接口函数,通过该接口函数可以获取到目标数据库的元数据,通过上述元信息可以进一步解析得到库表中的所需探测的字段信息,从而确定目标数据库的库表信息。具体的,通过配置数据库的ip地址、端口以及数据库名等拼接数据库的url,以mysql数据库为例,jdbc加载驱动语句为:class.forname(“com.mysql.cj.jbdc.driver”);获取目标数据库连接的语句为:conn=drivermanager.getconnection(“jdbc:mysql://localhost:3306/test_demo?usessl=false&severtimezone=utc”,“root”,“password”);jdbc里有获取元信息的接口databasemetadata,通过该接口可以获取目标数据库中的元信息,相关的表述语句为:databasemetadatadmd=conn.getmetedata();进一步的,在获取到目标数据库的元信息之后,通过对元信息进行解析,通过语句databasemetadata.getcolumns可以获取数据库表中的目标字段信息,通过目标字段信息来组成目标数据库的库表信息。s230、依据预设周期获取目标数据库的库表信息,并与存储的库表信息进行比较,确定库表变更信息。本实施例通过根据公共的访问接口与目标数据库相连,来获取目标数据库的库表信息,实现了对多种数据库的库表信息进行探测,简化了库表信息探测过程。实施例三图5是本发明实施例三提供的一种数据源库表信息探测装置的结构示意图,可执行本发明任意实施例所提供的数据源库表信息探测方法。参见图5,本实施例中数据源库表信息探测装置,包括:库表信息获取模块310和库表变更信息确定模块320。其中,库表信息获取模块310,用于依据目标数据源连接信息,从目标数据源中获取并存储所需探测的目标数据库的库表信息。库表变更信息确定模块320,用于依据预设周期获取目标数据库的库表信息,并与存储的库表信息进行比较,确定库表变更信息。本发明实施例通过依据目标数据源的连接信息,从目标数据源中获取并存储所需要探测的目标数据库的库表信息,并依据预设周期获取目标数据库的库表信息,与存储的库表信息进行比较,以确定库表变更信息。本发明实施例的技术方案,通过目标数据源的连接信息来获取所需探测的目标数据库的库表信息,实现了无需更改源数据库的配置信息,从而对数据库表结构的变更信息进行无侵入式的探测。在上述实施例的基础上,数据源库表信息探测装置还可以包括:库表信息更新模块,用于依据库表变更信息,更新存储的库表信息。在上述实施例的基础上,库表信息获取模块310具体可以用于:依据目标数据源连接信息,从目标数据源的数据库中获取所需探测的目标数据库的元信息;依据元信息确定目标数据库关联的字段信息;依据目标数据库关联的字段信息,获取并存储目标数据库的库表信息。在上述实施例的基础上,库表信息获取模块310还具体用于:依据目标数据源连接信息,确定所需探测的目标数据库;通过公共访问接口与目标数据库连接,从目标数据源中获取并存储所需探测的目标数据库的库表信息。本发明实施例所提供的数据源库表信息探测装置可执行本发明任意实施例所提供的数据源库表信息探测方法,具备执行方法相应的功能模块和有益效果。实施例四图6为本发明实施例四提供的一种服务器的结构示意图,图6示出了适于用来实现本发明实施例实施方式的示例性服务器的框图。图6显示的服务器仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。如图6所示,服务器12以通用计算设备的形式表现。服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(isa)总线,微通道体系结构(mac)总线,增强型isa总线、视频电子标准协会(vesa)局域总线以及外围组件互连(pci)总线。服务器12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被服务器12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(ram)30和/或高速缓存存储器32。服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图6未显示,通常称为“硬盘驱动器”)。尽管图6中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如cd-rom,dvd-rom或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。系统存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明实施例各实施例的功能。具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如系统存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明实施例所描述的实施例中的功能和/或方法。服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该服务器12交互的设备通信,和/或与使得该服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口22进行。并且,服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图4所示,网络适配器20通过总线18与服务器12的其它模块通信。应当明白,尽管图中未示出,可以结合服务器12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的数据源库表信息探测方法。实施例五本发明实施例五还提供一种包含计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时用于执行一种数据源库表信息探测方法,该方法包括:依据目标数据源连接信息,从目标数据源中获取并存储所需探测的目标数据库的库表信息;依据预设周期获取所述目标数据库的库表信息,并与存储的库表信息进行比较,确定库表变更信息。当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的数据源库表信息方法中的相关操作。通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本发明各个实施例所述的方法。值得注意的是,上述数据源库表信息探测装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1