本申请涉及数据源接口生成领域,具体而言,涉及一种基于多数据源的动态接口调用方法、基于多数据源的动态接口调用装置、计算机可读存储介质和电子设备。
背景技术:
1、随着大数据时间的到来,海量数据带来的可视化数据场景与日俱增。随着数据量的指数增长,可视化运营大盘应运而生。但是面对纷繁复杂的场景,大盘数据场景千变万化,不同的数据来源以及不同的数据场景,导致接口的千变万化。
2、传统的接口开发中,对于多个数据源的配置和管理是一项繁琐的任务。开发人员需要手动编写和配置多个数据源的接口代码,增加了开发的复杂性和工作量。接口通常只能针对一个固定的数据源进行操作。当应用程序需要访问多个数据源时,需要编写额外的接口代码来适配不同的数据源。这限制了系统的灵活性和扩展性。且针对每个数据源都需要编写独立的接口代码,增加了开发和维护的时间成本。当应用程序需要访问多个数据源时,开发人员需要花费更多的时间来编写和维护接口代码。
技术实现思路
1、本申请的主要目的在于提供一种基于多数据源的动态接口调用方法、基于多数据源的动态接口调用装置、计算机可读存储介质和电子设备,以至少解决现有技术在多数据源接口开发方面存在繁琐的配置和管理、缺乏灵活性以及时间成本高的问题。
2、为了实现上述目的,根据本申请的一个方面,提供了一种基于多数据源的动态接口调用方法,包括:在系统中对多个数据源进行参数配置,并获取通用接口,上述通用接口为可以同时调用多个不同的上述数据源的接口,上述数据源包括关系源和/或非关系源;获取目标请求,上述目标请求为查询目标数据的请求,上述目标数据存储在至少一个数据库表中,一个上述数据库表为一个数据源;根据上述目标请求并基于数据源路由器,确定存储上述目标数据的目标数据源;基于上述目标请求、上述通用接口和上述目标数据源,动态生成目标接口,并基于上述目标接口调用上述目标数据源,以查询上述目标数据源中的上述目标数据。
3、可选地,在系统中对多个数据源进行参数配置,包括:获取各所述数据源的连接信息,所述连接信息至少包括:所述数据源的数据库表类型、所述数据源的地址、有权限访问所述数据源的用户名以及所述数据源的访问密码;将所有的所述数据源的连接信息存储至配置文件或者配置数据库表中,以在所述系统中对所有的所述数据源进行参数配置。
4、可选地,获取通用接口,包括:定义所述通用接口的输入参数和所述通用接口的输出参数,所述通用接口的输入参数至少包括所述通用接口的名称、所述通用接口的输入数据的数据类型,所述通用接口的输出参数至少包括所述通用接口的输出数据的数据类型;根据所述通用接口的输入参数和所述通用接口的输出参数,并基于接口描述语言,获取所述通用接口。
5、可选地,根据所述目标请求并基于数据源路由器,确定存储所述目标数据的目标数据源,包括:根据所述目标请求,确定所述目标请求的请求数据,所述请求数据至少包括:所述目标请求的业务类型、所述目标请求的用户身份以及所述目标请求的地理位置;根据所述目标请求,确定所述目标请求的参数信息,所述参数信息至少包括:所述目标请求对应的请求后台地址、所述目标请求对应的请求头参数;根据所述目标请求的所述参数信息和所述请求数据,基于所述数据源路由器,确定对应的存储所述目标数据的目标数据源。
6、可选地,基于所述目标请求、所述通用接口和所述目标数据源,动态生成目标接口,包括:获取第一映射关系,所述第一映射关系表征业务请求和数据源之间的映射关系;获取第二映射关系,所述第二映射关系表征所述业务请求与通用接口的输入接口代码之间的映射关系;获取第三映射关系,所述第三映射关系表征所述数据源与所述通用接口的输出接口代码之间的映射关系;根据所述第一映射关系、所述第二映射关系、所述第三映射关系、所述目标请求、所述通用接口和所述目标数据源,动态生成目标接口。
7、可选地,基于所述目标请求、所述通用接口和所述目标数据源,动态生成目标接口,包括:根据所述通用接口的接口参数和所述目标数据源,采用目标引擎识别所述目标数据源;根据所述通用接口的接口参数、所述目标请求和所述目标数据源,采用代码生成器动态生成适配所述目标数据源的接口代码;根据适配所述目标数据源的所述接口代码,动态生成所述目标接口。
8、可选地,基于所述目标接口调用所述目标数据源,以查询所述目标数据源中的所述目标数据,包括:根据所述目标请求输入所述目标接口能识别的接口输入数据;根据所述接口输入数据调用所述目标接口,以使得所述目标接口调用所述目标数据源,以查询所述目标数据源中的所述目标数据,并将所述目标数据返回给客户端。
9、根据本申请的另一方面,提供了一种基于多数据源的动态接口调用装置,包括:第一处理单元,用于在系统中对多个数据源进行参数配置,并获取通用接口,所述通用接口为可以同时调用多个不同的所述数据源的接口,所述数据源包括关系源和/或非关系源;获取单元,用于获取目标请求,所述目标请求为查询目标数据的请求,所述目标数据存储在至少一个数据库表中,一个所述数据库表为一个数据源;确定单元,用于根据所述目标请求并基于数据源路由器,确定存储所述目标数据的目标数据源;第二处理单元,用于基于所述通用接口和所述目标数据源,动态生成目标接口,并基于所述目标接口调用所述目标数据源,以查询所述目标数据源中的所述目标数据。
10、根据本申请的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行任意一种所述的基于多数据源的动态接口调用方法。
11、根据本申请的另一方面,提供了一种电子设备,包括:一个或多个处理器,存储器,以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行任意一种所述的基于多数据源的动态接口调用方法。
12、应用本申请的技术方案,上述基于多数据源的动态接口调用方法,首先在系统中对多个数据源进行参数配置,并获取通用接口,通用接口为可以同时调用多个不同的数据源的接口,数据源包括关系源和/或非关系源;获取目标请求,目标请求为查询目标数据的请求,目标数据存储在至少一个数据库表中,一个数据库表为一个数据源;根据目标请求并基于数据源路由器,确定存储目标数据的目标数据源;基于目标请求、通用接口和目标数据源,动态生成目标接口,并基于目标接口调用目标数据源,以查询目标数据源中的目标数据。该方法简化了接口开发过程,通过动态接口生成,无需手动编写和配置多个数据源的接口代码,减少了开发人员的工作量和出错的可能性,解决了现有技术在多数据源接口开发方面存在繁琐的配置和管理、缺乏灵活性以及时间成本高的问题。
1.一种基于多数据源的动态接口调用方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,在系统中对多个数据源进行参数配置,包括:
3.根据权利要求1所述的方法,其特征在于,获取通用接口,包括:
4.根据权利要求1所述的方法,其特征在于,根据所述目标请求并基于数据源路由器,确定存储所述目标数据的目标数据源,包括:
5.根据权利要求1所述的方法,其特征在于,基于所述目标请求、所述通用接口和所述目标数据源,动态生成目标接口,包括:
6.根据权利要求1所述的方法,其特征在于,基于所述目标请求、所述通用接口和所述目标数据源,动态生成目标接口,包括:
7.根据权利要求1所述的方法,其特征在于,基于所述目标接口调用所述目标数据源,以查询所述目标数据源中的所述目标数据,包括:
8.一种基于多数据源的动态接口调用装置,其特征在于,包括:
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行权利要求1至7中任意一项所述的基于多数据源的动态接口调用方法。
10.一种电子设备,其特征在于,包括:一个或多个处理器,存储器,以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行权利要求1至7中任意一项所述的基于多数据源的动态接口调用方法。