可视化接口的创建方法、装置、可读存储介质及电子设备与流程

文档序号:20370049发布日期:2020-04-14 13:01阅读:165来源:国知局
可视化接口的创建方法、装置、可读存储介质及电子设备与流程

本公开涉及数据库技术领域,具体地,涉及一种可视化接口的创建方法、装置、可读存储介质及电子设备。



背景技术:

随着大数据时代的到来,越来越多类型的数据源类产品问世。在一些数据共享交换产品中,需要支撑更多数据类型来提高产品的竞争力,一款高效易用的多数据源解析类可视化接口工具就显得尤为重要。现在市面上的一些可视化接口产品功能过于单一,例如,仅支持单数据源的页面生成,并且sql解析模式单一(仅仅支持查询模式),并且,操作步骤比较繁琐。



技术实现要素:

为了克服相关技术中存在的问题,本公开提供一种可视化接口的创建方法、装置、可读存储介质及电子设备。

为了实现上述目的,根据本公开实施例的第一方面,提供一种可视化接口的创建方法,所述方法包括:

获取多种模式的数据源;

将所述多种模式的数据源统一为预设模式,并进行存储;

针对统一为所述预设模式的各数据源,对目标sql语句进行sql解析,以生成并展示可视化接口。

可选地,在所述进行存储的步骤之前,所述方法还包括:

获取各所述数据源的密码信息;

对所述密码信息进行加密。

可选地,所述方法还包括:

将统一为所述预设模式的各数据源,写入分布式缓存中。

可选地,所述预设模式为url模式。

可选地,所述针对统一为所述预设模式的各数据源,对目标sql语句进行sql解析,以生成并展示可视化接口,包括:

针对统一为所述预设模式的各数据源,连接所述数据源;

在所述数据源连接成功后,对目标sql语句进行sql解析,以生成并展示可视化接口。

可选地,所述针对统一为所述预设模式的各数据,连接所述数据源,包括:

针对统一为所述预设模式的各数据源,获取所述数据源的基本信息,其中,所述基本信息包括网际协议地址信息和端口;

根据所述基本信息,通过telnet检测所述端口的连通性;

在确定所述端口连通时,根据所述基本信息,执行数据库连接操作。

可选地,所述sql的解析模式包括查询模式、校验模式、比对模式、采集模式;

所述在所述数据源连接成功后,对目标sql语句进行sql解析,以生成并展示可视化接口,包括:

在所述数据源连接成功后,初始化所述目标sql语句;

获取所述目标sql语句对应的目标解析模式;

通过sql解析适配器,获取初始化后的目标sql语句中、所述目标解析模式对应的输入参数和/或输出参数;

通过类型转换适配器将所述输入参数和/或所述输出参数转换为java基础类型,得到新的输入参数和/或新的输出参数;

基于所述新的输入参数和/或所述新的输出参数,生成json文件,并通过所述json文件进行接口配置渲染,以生成并展示可视化接口。

根据本公开实施例的第二方面,提供一种可视化接口的创建装置,所述装置包括:

获取模块,用于获取多种模式的数据源;

数据源适配模块,用于将所述获取模块获取到的所述多种模式的数据源统一为预设模式,并进行存储;

解析模块,用于针对所述数据源适配模块存储的统一为所述预设模式的各数据源,对目标sql语句进行sql解析,以生成并展示可视化接口。

根据本公开实施例的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本公开第一方面提供的所述方法的步骤。

根据本公开实施例的第四方面,提供一种电子设备,包括:

存储器,其上存储有计算机程序;

处理器,用于执行所述存储器中的所述计算机程序,以实现本公开第一方面提供的所述方法的步骤。

在上述技术方案中,首先获取多种模式的数据源,然后将上述多种模式的数据源统一为预设模式并进行存储;针对统一为预设模式的各数据源,对目标sql语句进行sql解析,以生成并展示可视化接口。在可视化接口满足大部分常用数据源模式的情况下,通过简单的配置,统一各数据源,从而实现数据源管理的标准化,使得数据源管理更加方便快捷,也便于数据源模式的扩展。并且,操作步骤简单,从而提升了用户体验。

本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。

附图说明

附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:

图1是根据一示例性实施例示出的一种可视化接口的创建方法的流程图。

图2是根据一示例性实施例示出的一种将多种数据源统一为预设模式的过程的示意图。

图3是根据一示例性实施例示出的一种示出的一种sql解析的方法的流程图。

图4a是根据一示例性实施例示出的一种连接数据源的方法的流程图。

图4b是根据一示例性实施例示出的一种sql解析的具体方法的流程图。

图5是根据另一示例性实施例示出的一种可视化接口的创建方法的流程图。

图6是根据另一示例性实施例示出的一种可视化接口的创建方法的流程图。

图7是根据一示例性实施例示出的一种可视化接口的创建装置的框图。

图8是根据一示例性实施例示出的一种电子设备的框图。

图9是根据一示例性实施例示出的一种电子设备的框图。

具体实施方式

以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。

图1是根据一示例性实施例示出的一种可视化接口的创建方法的流程图。如图1所示,该方法可以包括以下步骤101~步骤103。

在步骤101中,获取多种模式的数据源。

在本公开中,各种数据源的创建模式多种多样,如图2所示,数据源的创建模式包括服务模式、sid模式、tns模式、url模式、ha模式,其中,支持服务模式的数据源包括mysql、postgresql、sqlserver、oracle,支持sid模式或tns模式的数据源包括oracle,支持url模式的数据源包括mysql、postgresql、sqlserver、oracle、phoenix、hive,支持ha(highavailable,高可用集群)模式的数据源包括hive。由于各种数据源的创建模式多种多样,不便于数据源管理,故需要将多种数据源统一为预设模式进行标准化存储(如图2中所示)。即,在通过上述步骤101获取到多种模式的数据源后,可以将该多种模式的数据源统一为预设模式,并进行存储,即执行以下步骤102。

在步骤102中,将多种模式的数据源统一为预设模式,并进行存储。

在本公开中,上述预设模式可以为服务模式、sid模式、tns模式、url模型、ha模式中的任一者,它可以是用户设定的,也可以是默认的(例如,url模式),在本公开中不作具体限定。

示例地,可以通过表1所示的url适配公式和驱动来将多种模式的数据源统一为url模式:

表1url适配公式和驱动

在步骤103中,针对统一为预设模式的各数据源,对目标sql语句进行sql解析,以生成并展示可视化接口。

在本公开中,在通过上述步骤102将多种模式的数据源统一为预设模式后,可以针对统一为预设模式的每个数据源,对目标sql语句进行sql解析,以生成并展示可视化接口。其中,所述上述目标sql语句可以是针对该数据源中预设表格(用户设定的,也可以是默认的)的查询语句、校验语句、比对语句或采集语句。相应地,sql的解析模式可以包括查询模式、校验模式、比对模式和采集模式。其中,校验模式,是将用户通过接口输入的各条信息,与预存的参考信息进行整体校验,并反馈整体校验的结果;比对模式,是将用户通过接口输入的各条信息,与预存的参考信息进行逐条比对;采集模式是接收并存储用户通过相应接口录入的信息。

另外,可以将sql解析操作分为数据源连接和查询解析两个阶段。将sql解析部分拆成两个阶段,可以更加迅速的响应结果,减少不必要的资源消耗。针对于在共享交换多数据源的开发过程中,sqlserver数据源url错误时会造成服务长时间卡死,phoenix数据源zookeeper大量重试造成的网络阻塞等问题都得到了很好的解决。具体来说,可以通过图3中所示的步骤1031和步骤1032来执行sql解析操作,以生成并展示可视化接口。

在步骤1031中,针对统一为预设模式的各数据源,连接数据源。

具体来说,可以通过图4a中所示的步骤10311~步骤10313来进行数据源的连接。

在步骤10311中,针对统一为预设模式的各数据源,获取该数据源的基本信息。

在本公开中,上述基本信息可以包括网际协议地址信息、端口、数据源名称、密码信息等,其中,上述网际协议地址信息可以为ip地址或域名。在本公开中,可以通过访问数据源对应的数据库的方式来获取上述基本信息。

在步骤10312中,根据基本信息,通过telnet检测端口的连通性。

在通过上述步骤10311获取到数据源的基本信息后,可以进行telnet验证,从而保证上述数据源对应的端口的连通性。在确定端口连通时,可以根据上述基本信息,执行数据库连接操作,即执行以下步骤10313,当确定端口断开时,可以反复进行telent验证。

在步骤10313中,在确定端口连通时,根据基本信息,执行数据库连接操作。

在确定端口连通时,可以通过数据源的基本信息创建数据库连接,保证数据库连通后,通过拼接的方式,对目标sql语句进行执行计划操作,这样,既可以验证数据源的连通性,也可以检测目标sql语句是否有语法错误。

在通过telent验证端口连通后,才进行数据库连接,这样,可以避免端口故障导致反复进行数据库连接,从而可以提升大数据表中sql解析的效率。

返回图3,在步骤1032中,在数据源连接成功后,对目标sql语句进行sql解析,以生成并展示可视化接口。

在通过上述步骤1031成功连接数据源后,可以对上述目标sql语句执行sql解析操作,具体来说,可以通过图4b中所示的步骤10321~步骤10325来实现。

在步骤10321中,在数据源连接成功后,初始化目标sql语句。

在本公开中,上述初始化操作可以包括:sql语句格式化处理(例如,去除空格、回车等特殊字符)、sql语句语法校验、多语句拆分、复杂语句拆分等。

在步骤10322中,获取目标sql语句对应的目标解析模式。

在本公开中,不同的sql语句对应不同的解析模式,例如,sql为查询语句,其对应的解析模式为查询模式;sql为校验语句,其对应的解析模式为校验模式。

在步骤10323中,通过sql解析适配器,获取初始化后的目标sql语句中、目标解析模式对应的输入参数和/或输出参数。

在本公开中,可以根据不同的目标解析模式获取对应的输入参数和/或输出参数。其中,查询模式、校验模式均对应有输入参数和输出参数;比对模式和采集模式均对应有输入参数。

在步骤10324中,通过类型转换适配器将输入参数和/或输出参数转换为java基础类型,得到新的输入参数和/或新的输出参数。

在通过上述步骤10323获取到相应的输入参数和/或输出参数后,可以通过类型转换适配器将它们统一转换成java基础类型,从而实现不同数据源数据类型的统一。

在步骤10325中,基于新的输入参数和/或新的输出参数,生成json文件,并通过json文件进行接口配置渲染,以生成并展示可视化接口。

在通过上述步骤10324将输入参数和/或输出参数统一转换为java基础类型后,可以生成对应的json文件,并通过该json文件动态渲染接口参数,即完成可视化接口的配置。这样,当用户点击相应接口对应的页面时,该接口即可动态渲染至该页面,这样,用户可以通过该页面进行接口操作。

在上述技术方案中,首先获取多种模式的数据源,然后将上述多种模式的数据源统一为预设模式并进行存储;针对统一为预设模式的各数据源,对目标sql语句进行sql解析,以生成并展示可视化接口。在可视化接口满足大部分常用数据源模式的情况下,通过简单的配置,统一各数据源,从而实现数据源管理的标准化,使得数据源管理更加方便快捷,也便于数据源模式的扩展。并且,操作步骤简单,从而提升了用户体验。

另外,为了提升数据的安全性,可以对各数据源的密码信息进行加密处理。具体来说,在对数据源信息进行存储之前,上述方法还可以包括图5中所示的步骤104和步骤105。

在步骤104中,获取各数据源的密码信息。

其中,上述密码信息可以为该数据源的连接密码信息。

在步骤105中,对密码信息进行加密。

示例地,可以通过md5算法、非对称加密rsa算法等对上述密码信息进行加密处理。

由于数据源的密码信息为加密存储,因此,在执行数据库连接操作之前,即在上述步骤10313之前,需要对数据源的基本信息中的密码信息进行解密。之后,在根据解密后的密码信息,进行数据库连接。

图6是根据另一示例性实施例示出的一种可视化接口的创建方法的流程图。如图6所示,上述方法还可以包括以下步骤106。

在步骤106中,将统一为预设模式的各数据源,写入分布式缓存中。

在通过上述步骤102将多种模式的数据源统一为预设模式后,可以将统一为预设模式的各数据源,写入分布式缓存中。相应地,上述步骤10311获取数据源的基本信息时,可以先访问分布式缓存,若该分布式缓存中存在上述数据源的基本信息,即命中,则直接从该分布式缓存中获取数据源的基本信息;若该分布式缓存中不存在上述数据源的基本信息,即未命中,再访问上述数据源对应的数据库来获取上述基本信息,同时更新上述分布式缓存(即,将上述数据源基本信息存储至该分布式缓存中)。这样,可以提高sql解析的效率,同时减少数据库的访问压力。

图7是根据一示例性实施例示出的一种可视化接口的创建装置的框图。参照图7,该装置700可以包括:获取模块701,用于获取多种模式的数据源;数据源适配模块702,用于将所述获取模块701获取到的所述多种模式的数据源统一为预设模式,并进行存储;解析模块703,用于针对所述数据源适配模块702得到的统一为所述预设模式的各数据源,对目标sql语句进行sql解析,以生成并展示可视化接口。

可选地,所述装置700还可以包括:密码信息获取模块,用于在所述数据源适配模块702进行存储之前,获取各所述数据源的密码信息;加密模块,用于对所述密码信息进行加密。

可选地,所述装置700还可以包括:缓存模块,用于将统一为所述预设模式的各数据源,写入分布式缓存中。

可选地,所述预设模式为url模式。

可选地,所述解析模块703包括:

连接子模块,用于针对统一为所述预设模式的各数据源,连接所述数据源;

解析子模块,用于在所述数据源连接成功后,对目标sql语句进行sql解析,以生成并展示可视化接口。

可选地,所述连接子模块包括:

获取子模块,用于针对统一为所述预设模式的各数据源,获取所述数据源的基本信息,其中,所述基本信息包括网际协议地址信息和端口;

检测子模块,用于根据所述基本信息,通过telnet检测所述端口的连通性;

执行子模块,用于在确定所述端口连通时,根据所述基本信息,执行数据库连接操作。

可选地,所述sql的解析模式包括查询模式、校验模式、比对模式、采集模式;

所述解析子模块包括:

初始化子模块,用于在所述数据源连接成功后,初始化所述目标sql语句;

解析模式获取子模块,用于获取所述目标sql语句对应的目标解析模式;

参数获取子模块,用于通过sql解析适配器,获取初始化后的目标sql语句中、所述目标解析模式对应的输入参数和/或输出参数;

类型转换子模块,用于通过类型转换适配器将所述输入参数和/或所述输出参数转换为java基础类型,得到新的输入参数和/或新的输出参数;

生成子模块,用于基于所述新的输入参数和/或所述新的输出参数,生成json文件,并通过所述json文件进行接口配置渲染,以生成并展示可视化接口。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

本公开还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本公开提供的上述可视化接口的创建方法的步骤。

图8是根据一示例性实施例示出的一种电子设备800的框图。如图8所示,该电子设备800可以包括:处理器801,存储器802。该电子设备800还可以包括多媒体组件803,输入/输出(i/o)接口804,以及通信组件805中的一者或多者。

其中,处理器801用于控制该电子设备800的整体操作,以完成上述的可视化接口的创建方法中的全部或部分步骤。存储器802用于存储各种类型的数据以支持在该电子设备800的操作,这些数据例如可以包括用于在该电子设备800上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器802可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(staticrandomaccessmemory,简称sram),电可擦除可编程只读存储器(electricallyerasableprogrammableread-onlymemory,简称eeprom),可擦除可编程只读存储器(erasableprogrammableread-onlymemory,简称eprom),可编程只读存储器(programmableread-onlymemory,简称prom),只读存储器(read-onlymemory,简称rom),磁存储器,快闪存储器,磁盘或光盘。多媒体组件803可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器802或通过通信组件805发送。音频组件还包括至少一个扬声器,用于输出音频信号。i/o接口804为处理器801和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件805用于该电子设备800与其他设备之间进行有线或无线通信。无线通信,例如wi-fi,蓝牙,近场通信(nearfieldcommunication,简称nfc),2g、3g、4g、nb-iot、emtc、或其他5g等等,或它们中的一种或几种的组合,在此不做限定。因此相应的该通信组件805可以包括:wi-fi模块,蓝牙模块,nfc模块等等。

在一示例性实施例中,电子设备800可以被一个或多个应用专用集成电路(applicationspecificintegratedcircuit,简称asic)、数字信号处理器(digitalsignalprocessor,简称dsp)、数字信号处理设备(digitalsignalprocessingdevice,简称dspd)、可编程逻辑器件(programmablelogicdevice,简称pld)、现场可编程门阵列(fieldprogrammablegatearray,简称fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的可视化接口的创建方法。

在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的可视化接口的创建方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器802,上述程序指令可由电子设备800的处理器801执行以完成上述的可视化接口的创建方法。

图9是根据一示例性实施例示出的一种电子设备900的框图。例如,电子设备900可以被提供为一服务器。参照图9,电子设备900包括处理器922,其数量可以为一个或多个,以及存储器932,用于存储可由处理器922执行的计算机程序。存储器932中存储的计算机程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理器922可以被配置为执行该计算机程序,以执行上述的可视化接口的创建方法。

另外,电子设备900还可以包括电源组件926和通信组件950,该电源组件926可以被配置为执行电子设备900的电源管理,该通信组件950可以被配置为实现电子设备900的通信,例如,有线或无线通信。此外,该电子设备900还可以包括输入/输出(i/o)接口958。电子设备900可以操作基于存储在存储器932的操作系统,例如windowsservertm,macosxtm,unixtm,linuxtm等等。

在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的可视化接口的创建方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器932,上述程序指令可由电子设备900的处理器922执行以完成上述的可视化接口的创建方法。

在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于执行上述的可视化接口的创建方法的代码部分。

以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。

另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。

此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1