CN110716811A - 数据库的调用方法、装置和计算机设备 - Google Patents
数据库的调用方法、装置和计算机设备 Download PDFInfo
- Publication number
- CN110716811A CN110716811A CN201910750856.3A CN201910750856A CN110716811A CN 110716811 A CN110716811 A CN 110716811A CN 201910750856 A CN201910750856 A CN 201910750856A CN 110716811 A CN110716811 A CN 110716811A
- Authority
- CN
- China
- Prior art keywords
- service
- database
- component
- micro
- calling
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 64
- 238000004590 computer program Methods 0.000 claims description 21
- 238000000605 extraction Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 6
- 230000006870 function Effects 0.000 abstract description 21
- 230000008878 coupling Effects 0.000 abstract description 11
- 238000010168 coupling process Methods 0.000 abstract description 11
- 238000005859 coupling reaction Methods 0.000 abstract description 11
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 7
- 230000004044 response Effects 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 241000282414 Homo sapiens Species 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000008961 swelling Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提出了一种数据库的调用方法、装置和计算机设备,其中,上述数据库的调用方法包括:获取微服务架构中数据库调用组件的服务名,所述数据库调用组件是预先在微服务架构中设置的微服务组件,所述数据库调用组件用于对预设数据库的数据服务进行调用;根据数据库调用组件的服务名,从微服务架构的服务发现组件中获取所述数据库调用组件的访问地址;根据访问地址,运行数据库调用组件,以调用预设数据库的数据服务。本申请可以实现通过在微服务架构中设置的数据库调用组件,调用预设数据库的数据服务,从而避免了将多个业务功能融合在同一个微服务组件中导致的组件臃肿问题,降低了微服务组件之间的耦合度,提高了微服务组件的可维护性。
Description
【技术领域】
本申请涉及云计算技术领域,尤其涉及一种数据库的调用方法、装置和计算机设备。
【背景技术】
微服务架构是一种架构概念,它的主要作用是将业务系统的功能分解到离散的各个服务当中,从而降低业务系统的耦合性,并提供更加灵活的服务支持。
现有相关技术中,微服务架构中的微服务组件在处理业务时,一般需要实现至少两种功能,例如:对于微服务架构中的出单组件来说,在实现出单这个功能的时候,还需要实现调用出单数据库的功能,从而导致出单组件的功能过于臃肿,并且如果出单组件的出单或调用出单数据库的功能发生故障,将导致整个出单组件无法使用,不易于后期维护。
【发明内容】
本申请实施例提供了一种数据库的调用方法、装置和计算机设备,以实现通过在微服务架构中设置的数据库调用组件,调用预设数据库的数据服务,从而避免了将多个业务功能融合在同一个微服务组件中导致的组件臃肿问题,降低了微服务组件之间的耦合度,提高了微服务组件的可维护性。
第一方面,本申请实施例提供了一种数据库的调用方法,包括:获取微服务架构中数据库调用组件的服务名,所述数据库调用组件是预先在微服务架构中设置的微服务组件,所述数据库调用组件用于对预设数据库的数据服务进行调用;根据所述数据库调用组件的服务名,从所述微服务架构的服务发现组件中获取所述数据库调用组件的访问地址;根据所述访问地址,运行所述数据库调用组件,以调用所述预设数据库的数据服务。
其中一种可能的实现方式中,所述根据所述访问地址,运行所述数据库调用组件,以调用所述预设数据库的数据服务包括:将所述访问地址配置到用于运行所述数据库调用组件的请求方法中;执行所述请求方法,以调用所述预设数据库的数据服务。
第二方面,本申请实施例提供了一种数据库的调用方法,包括:获取微服务架构中需要调用预设数据库的微服务组件;从所述需要调用预设数据库的微服务组件中,提取对所述预设数据库的数据服务进行调用的逻辑代码;根据提取出的逻辑代码部署相应的数据库调用组件;将部署的数据库调用组件的服务名和访问地址注册到所述微服务架构的服务发现组件中,以便服务调用组件根据所述数据库调用组件的服务名,从所述服务发现组件中获取所述数据库调用组件的访问地址,根据所述访问地址,运行所述数据库调用组件,以调用所述预设数据库的数据服务。
其中一种可能的实现方式中,所述根据提取出的逻辑代码部署相应的数据库调用组件包括:获取数据库调用组件,所述数据库调用组件是根据所述预设数据库中的数据的请求方式和请求参数开发的,所述预设数据库中的数据的请求方式和请求参数是从所述逻辑代码中获取的;根据微服务组件的部署方式对所述数据库调用组件进行部署。
其中一种可能的实现方式中,所述根据微服务组件的部署方式对所述数据库调用组件进行部署包括:制作所述数据库调用组件对应的镜像文件;将所述镜像文件推送到注册镜像库;根据所述数据库调用组件以及所述数据库调用组件对应的镜像文件修改所述微服务架构的配置文件。
其中一种可能的实现方式中,所述将部署的数据库调用组件的服务名和访问地址注册到所述微服务架构的服务发现组件中包括:从所述微服务架构的配置文件中获取所述服务发现组件的访问地址;根据所述服务发现组件的访问地址,将所述数据库调用组件的服务名和访问地址注册到所述服务发现组件中。
第三方面,本申请实施例提供一种数据库的调用装置,设置在服务调用组件中,所述数据库的调用装置包括:获取模块,用于获取微服务架构中数据库调用组件的服务名,所述数据库调用组件是预先在微服务架构中设置的微服务组件,所述数据库调用组件用于对预设数据库的数据服务进行调用;以及根据所述数据库调用组件的服务名,从所述微服务架构的服务发现组件中获取所述数据库调用组件的访问地址;调用模块,用于根据所述获取模块获取的访问地址,运行所述数据库调用组件,以调用所述预设数据库的数据服务。
其中一种可能的实现方式中,所述调用模块,具体用于将所述访问地址配置到用于运行所述数据库调用组件的请求方法中,执行所述请求方法,以调用所述预设数据库的数据服务。
第四方面,本申请实施例提供一种数据库的调用装置,设置在微服务组件服务器中,所述数据库的调用装置包括:获取模块,用于获取微服务架构中需要调用预设数据库的微服务组件;提取模块,用于从所述获取模块获取的需要调用预设数据库的微服务组件中,提取对所述预设数据库的数据服务进行调用的逻辑代码;部署模块,用于根据所述提取模块提取出的逻辑代码部署相应的数据库调用组件;注册模块,用于将所述部署模块部署的数据库调用组件的服务名和访问地址注册到所述微服务架构的服务发现组件中。
其中一种可能的实现方式中,所述部署模块,具体用于获取数据库调用组件,根据微服务组件的部署方式对所述数据库调用组件进行部署;所述数据库调用组件是根据所述预设数据库中的数据的请求方式和请求参数开发的,所述预设数据库中的数据的请求方式和请求参数是从所述逻辑代码中获取的。
其中一种可能的实现方式中,所述部署模块,具体用于制作所述数据库调用组件对应的镜像文件,将所述镜像文件推送到注册镜像库,根据所述数据库调用组件以及所述数据库调用组件对应的镜像文件修改所述微服务架构的配置文件。
其中一种可能的实现方式中,所述注册模块,具体用于从所述微服务架构的配置文件中获取所述服务发现组件的访问地址;根据所述服务发现组件的访问地址,将所述数据库调用组件的服务名和访问地址注册到所述服务发现组件中。
第五方面,本申请实施例提供一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现第一方面提供的方法。
第六方面,本申请实施例提供一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现第二方面提供的方法。
第七方面,本申请实施例提供一种非临时性计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面提供的方法。
第八方面,本申请实施例提供一种非临时性计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第二方面提供的方法。
以上技术方案中,获取微服务架构中数据库调用组件的服务名之后,根据上述数据库调用组件的服务名,从上述微服务架构的服务发现组件中获取上述数据库调用组件的访问地址;然后根据上述访问地址,运行上述数据库调用组件,以调用上述预设数据库的数据服务。其中,上述数据库调用组件是预先在微服务架构中设置的微服务组件,上述数据库调用组件用于对预设数据库的数据服务进行调用,从而可以实现通过在微服务架构中设置的数据库调用组件,调用预设数据库的数据服务,避免了将多个业务功能融合在同一个微服务组件中导致的组件臃肿问题,降低了微服务组件之间的耦合度,提高了微服务组件的可维护性。
【附图说明】
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本申请数据库的调用方法一个实施例的流程图;
图2为本申请数据库的调用方法另一个实施例的流程图;
图3为本申请数据库的调用方法再一个实施例的流程图;
图4为本申请数据库的调用方法再一个实施例的流程图;
图5为本申请数据库的调用装置一个实施例的结构示意图;
图6为本申请数据库的调用装置另一个实施例的结构示意图;
图7为本申请计算机设备一个实施例的结构示意图。
【具体实施方式】
为了更好的理解本申请的技术方案,下面结合附图对本申请实施例进行详细描述。
应当明确,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
图1为本申请数据库的调用方法一个实施例的流程图,如图1所示,上述数据库的调用方法可以包括:
步骤101,获取微服务架构中数据库调用组件的服务名,上述数据库调用组件是预先在微服务架构中设置的微服务组件,上述数据库调用组件用于对预设数据库的数据服务进行调用。
其中,上述预设数据库可以为基础数据库,也可以为其他形式的数据库,本实施例对预设数据库不作限定。
上述数据库调用组件的服务名可以为超文本传输协议(HyperText TransferProtocol;以下简称:HTTP)服务名,服务调用组件通过上述HTTP服务名,可以从上述微服务架构的服务发现组件中获取上述数据库调用组件的访问地址。这里的服务调用组件包括微服务架构中需要调用数据库调用组件的微服务组件。
步骤102,根据上述数据库调用组件的服务名,从上述微服务架构的服务发现组件中获取上述数据库调用组件的访问地址。
其中,服务发现组件可以使用Eureka来实现,Eureka是Netflix开发的服务发现框架,是一个基于表述性状态传递(Representational State Transfer;以下简称:REST)的服务,主要作用是对微服务组件进行注册。在微服务组件在Eureka上注册之后,即可通过Eureka找到已注册的微服务组件。
具体地,在使用HTTP服务名,从服务发现组件中获取上述数据库调用组件的访问地址时,服务发现组件会根据上述HTTP服务名,从服务注册列表中找到与上述HTTP服务名对应的访问地址。
步骤103,根据上述访问地址,运行上述数据库调用组件,以调用上述预设数据库的数据服务。
具体地,在根据上述访问地址,运行上述数据库调用组件时,服务调用组件还需要传入运行上述数据库调用组件所需的相关参数,在此不再赘述。
上述数据库的调用方法中,获取微服务架构中数据库调用组件的服务名之后,根据上述数据库调用组件的服务名,从上述微服务架构的服务发现组件中获取上述数据库调用组件的访问地址;然后根据上述访问地址,运行上述数据库调用组件,以调用上述预设数据库的数据服务。其中,上述数据库调用组件是预先在微服务架构中设置的微服务组件,上述数据库调用组件用于对预设数据库的数据服务进行调用,从而可以实现通过在微服务架构中设置的数据库调用组件,调用预设数据库的数据服务,避免了将多个业务功能融合在同一个微服务组件中导致的组件臃肿问题,降低了微服务组件之间的耦合度,提高了微服务组件的可维护性。
图2为本申请数据库的调用方法另一个实施例的流程图,如图2所示,本申请图1所示实施例中,步骤103可以包括:
步骤201,将上述访问地址配置到用于运行上述数据库调用组件的请求方法中。
在具体实现时,在将上述访问地址配置到上述请求方法中时,服务调用组件还可以将运行上述数据库调用组件所需的相关参数一并配置到上述请求方法中。
步骤202,执行上述请求方法,以调用上述预设数据库的数据服务。
具体地,服务调用组件可以使用Socket协议执行上述请求方法,在使用Socket协议执行上述请求方法时,可以使用HTTP协议来完成对上述预设数据库的数据服务的调用。
图3为本申请数据库的调用方法再一个实施例的流程图,如图3所示,上述数据库的调用方法可以包括:
步骤301,获取微服务架构中需要调用预设数据库的微服务组件。
步骤302,从需要调用预设数据库的微服务组件中提取对上述预设数据库的数据服务进行调用的逻辑代码。
步骤303,根据提取出的逻辑代码部署相应的数据库调用组件。
步骤304,将部署的数据库调用组件的服务名和访问地址注册到上述微服务架构的服务发现组件中,以便服务调用组件根据上述数据库调用组件的服务名,从上述服务发现组件中获取上述数据库调用组件的访问地址,根据上述访问地址,运行上述数据库调用组件,以调用上述预设数据库的数据服务。
本实施例中,微服务组件服务器将微服务组件拆分为更小颗粒度的微服务组件,在微服务架构中部署了数据库调用组件,专门负责调用预设数据库,避免了将多个业务功能融合在同一个微服务组件中导致的组件臃肿问题,降低了微服务组件之间的耦合度,使得每一个微服务组件的业务职能更加明确,维护起来更加方便。
图4为本申请数据库的调用方法再一个实施例的流程图,如图4所示,本申请图3所示实施例中,步骤303可以包括:
步骤401,获取数据库调用组件,上述数据库调用组件是根据上述预设数据库中的数据的请求方式和请求参数开发的,上述预设数据库中的数据的请求方式和请求参数是从上述逻辑代码中获取的。
步骤402,根据微服务组件的部署方式对上述数据库调用组件进行部署。
具体地,根据微服务组件的部署方式对上述数据库调用组件进行部署可以为:制作上述数据库调用组件对应的镜像文件,将上述镜像文件推送到注册(registry)镜像库;然后根据上述数据库调用组件以及上述数据库调用组件对应的镜像文件修改上述微服务架构的配置文件。
其中,上述微服务架构的配置文件可以为YAML文件,YAML是“YAML Ain't aMarkup Language(YAML不是一种置标语言)”的递归缩写,YAML是一种直观的能够被电脑识别的数据序列化格式,是一个可读性高并且容易被人类阅读,容易和脚本语言交互,用来表达资料序列的编程语言。
举例来说,在基于spring cloud的微服务架构中,可以在已开发的微服务组件的根配置文件pom.xml中配置Eureka的各种依赖包,同时在根应用的配置文件applcation.yml中配置Eureka的访问地址,该Eureka的访问地址就是Eureka的服务端地址。当所有的配置信息都配置完成后,将已开发的微服务组件进行编译并上传到微服务组件服务器,微服务组件服务器获取微服务组件之后,制作相关镜像、修改YAML文件等,最后使用相关命令行启动上述微服务组件,由于在配置文件中已经配置好Eureka的访问地址,所以在启动微服务组件之后,上述微服务组件的服务名和访问地址就会注册到Eureka的服务器中。
这样,本申请图3所示实施例中,步骤304可以为:从上述微服务架构的配置文件中获取上述服务发现组件的访问地址,根据上述服务发现组件的访问地址,将上述数据库调用组件的服务名和访问地址注册到上述服务发现组件中。
注册完成后,上述数据库调用组件即为公开状态,服务调用组件可以在需要时,根据上述数据库调用组件的服务名从上述服务发现组件获取上述数据库调用组件的访问地址,进而调用上述数据库调用组件。这里的服务调用组件包括微服务架构中需要调用数据库调用组件的微服务组件。
图5为本申请数据库的调用装置一个实施例的结构示意图,本实施例中的数据库的调用装置可以设置在服务调用组件中,实现本申请图1和图2所示实施例提供的数据库的调用方法。这里的服务调用组件包括微服务架构中需要调用数据库调用组件的微服务组件。
如图5所示,上述数据库的调用装置可以包括:获取模块51和调用模块52;
获取模块51,用于获取微服务架构中数据库调用组件的服务名,上述数据库调用组件是预先在微服务架构中设置的微服务组件,上述数据库调用组件用于对预设数据库的数据服务进行调用;以及根据上述数据库调用组件的服务名,从上述微服务架构的服务发现组件中获取上述数据库调用组件的访问地址;其中,上述预设数据库可以为基础数据库,也可以为其他形式的数据库,本实施例对预设数据库不作限定。
上述数据库调用组件的服务名可以为HTTP服务名,获取模块51通过上述HTTP服务名,可以从上述微服务架构的服务发现组件中获取上述数据库调用组件的访问地址。
其中,服务发现组件可以使用Eureka来实现,Eureka是Netflix开发的服务发现框架,是一个基于REST的服务,主要作用是对微服务组件进行注册。在微服务组件在Eureka上注册之后,即可通过Eureka找到已注册的微服务组件。
具体地,在获取模块51使用HTTP服务名,从服务发现组件中获取上述数据库调用组件的访问地址时,服务发现组件会根据上述HTTP服务名,从服务注册列表中找到与上述HTTP服务名对应的访问地址。
调用模块52,用于根据获取模块51获取的访问地址,运行上述数据库调用组件,以调用上述预设数据库的数据服务。
具体地,在调用模块52根据上述访问地址,运行上述数据库调用组件时,调用模块52还需要传入运行上述数据库调用组件所需的相关参数,在此不再赘述。
本实施例中,调用模块52,具体用于将上述访问地址配置到用于运行上述数据库调用组件的请求方法中,执行上述请求方法,以调用上述预设数据库的数据服务。
在具体实现时,在将上述访问地址配置到上述请求方法中时,调用模块52还可以将运行上述数据库调用组件所需的相关参数一并配置到上述请求方法中。调用模块52可以使用Socket协议执行上述请求方法,在使用Socket协议执行上述请求方法时,可以使用HTTP协议来完成对上述预设数据库的数据服务的调用。
上述数据库的调用装置中,获取模块51获取微服务架构中数据库调用组件的服务名之后,根据上述数据库调用组件的服务名,从上述微服务架构的服务发现组件中获取上述数据库调用组件的访问地址;然后调用模块52根据上述访问地址,运行上述数据库调用组件,以调用上述预设数据库的数据服务。其中,上述数据库调用组件是预先在微服务架构中设置的微服务组件,上述数据库调用组件用于对预设数据库的数据服务进行调用,从而可以实现通过在微服务架构中设置的数据库调用组件,调用预设数据库的数据服务,避免了将多个业务功能融合在同一个微服务组件中导致的组件臃肿问题,降低了微服务组件之间的耦合度,提高了微服务组件的可维护性。
图6为本申请数据库的调用装置另一个实施例的结构示意图,本实施例中的数据库的调用装置可以设置在微服务组件服务器中,实现本申请图3和图4所示实施例提供的数据库的调用方法。
如图6所示,上述数据库的调用装置可以包括:获取模块61、提取模块62、部署模块63和注册模块64;
获取模块61,用于获取微服务架构中需要调用预设数据库的微服务组件;
提取模块62,用于从获取模块61获取的需要调用预设数据库的微服务组件中,提取对上述预设数据库的数据服务进行调用的逻辑代码;
部署模块63,用于根据提取模块62提取出的逻辑代码部署相应的数据库调用组件;
本实施例中,部署模块63,具体用于获取数据库调用组件,根据微服务组件的部署方式对上述数据库调用组件进行部署;上述数据库调用组件是根据预设数据库中的数据的请求方式和请求参数开发的,上述预设数据库中的数据的请求方式和请求参数是从上述逻辑代码中获取的。
在具体实现时,部署模块63,具体用于制作上述数据库调用组件对应的镜像文件,将上述镜像文件推送到注册镜像库,根据上述数据库调用组件以及上述数据库调用组件对应的镜像文件修改上述微服务架构的配置文件。
其中,上述微服务架构的配置文件可以为YAML文件,YAML是一种直观的能够被电脑识别的数据序列化格式,是一个可读性高并且容易被人类阅读,容易和脚本语言交互,用来表达资料序列的编程语言。
注册模块64,用于将部署模块63部署的数据库调用组件的服务名和访问地址注册到上述微服务架构的服务发现组件中,以便服务调用组件根据上述数据库调用组件的服务名,从上述服务发现组件中获取上述数据库调用组件的访问地址,根据上述访问地址,运行上述数据库调用组件,以调用上述预设数据库的数据服务。
举例来说,在基于spring cloud的微服务架构中,可以在已开发的微服务组件的根配置文件pom.xml中配置Eureka的各种依赖包,同时在根应用的配置文件applcation.yml中配置Eureka的访问地址,该Eureka的访问地址就是Eureka的服务端地址。当所有的配置信息都配置完成后,将已开发的微服务组件进行编译并上传到微服务组件服务器,获取微服务组件之后,部署模块63制作相关镜像、修改YAML文件等,最后使用相关命令行启动上述微服务组件,由于在配置文件中已经配置好Eureka的访问地址,所以在启动微服务组件之后,上述微服务组件的服务名和访问地址就会注册到Eureka的服务器中。
这样,注册模块64,具体用于从上述微服务架构的配置文件中获取上述服务发现组件的访问地址;根据上述服务发现组件的访问地址,将上述数据库调用组件的服务名和访问地址注册到上述服务发现组件中。
注册完成后,上述数据库调用组件即为公开状态,服务调用组件可以在需要时,根据上述数据库调用组件的服务名从上述服务发现组件获取上述数据库调用组件的访问地址,进而调用上述数据库调用组件。这里的服务调用组件包括微服务架构中需要调用数据库调用组件的微服务组件。
本实施例中,将微服务组件拆分为更小颗粒度的微服务组件,部署模块63在微服务架构中部署了数据库调用组件,专门负责调用预设数据库,避免了将多个业务功能融合在同一个微服务组件中导致的组件臃肿问题,降低了微服务组件之间的耦合度,使得每一个微服务组件的业务职能更加明确,维护起来更加方便。
图7为本申请计算机设备一个实施例的结构示意图,上述计算机设备可以包括存储器、处理器及存储在上述存储器上并可在上述处理器上运行的计算机程序,上述处理器执行上述计算机程序时,可以实现本申请图1和图2所示实施例提供的数据库的调用方法。
本实施例中,上述计算机设备上可以设置服务调用组件,本实施例对上述计算机设备的具体形态不作限定。
图7示出了适于用来实现本申请实施方式的示例性计算机设备的框图。图7显示的计算机设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图7所示,计算机设备以通用计算设备的形式表现。计算机设备的组件可以包括但不限于:一个或者多个处理器410,存储器430,连接不同系统组件(包括存储器430和处理单元410)的通信总线440。
通信总线440表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(Industry StandardArchitecture;以下简称:ISA)总线,微通道体系结构(Micro Channel Architecture;以下简称:MAC)总线,增强型ISA总线、视频电子标准协会(Video Electronics StandardsAssociation;以下简称:VESA)局域总线以及外围组件互连(Peripheral ComponentInterconnection;以下简称:PCI)总线。
计算机设备典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器430可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(Random Access Memory;以下简称:RAM)和/或高速缓存存储器。计算机设备可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。尽管图7中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如:光盘只读存储器(Compact Disc Read Only Memory;以下简称:CD-ROM)、数字多功能只读光盘(Digital Video Disc Read Only Memory;以下简称:DVD-ROM)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与通信总线440相连。存储器430可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本申请各实施例的功能。
具有一组(至少一个)程序模块的程序/实用工具,可以存储在存储器430中,这样的程序模块包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块通常执行本申请所描述的实施例中的功能和/或方法。
计算机设备也可以与一个或多个外部设备(例如键盘、指向设备、显示器等)通信,还可与一个或者多个使得用户能与该计算机设备交互的设备通信,和/或与使得该计算机设备能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过通信接口420进行。并且,计算机设备还可以通过网络适配器(图7中未示出)与一个或者多个网络(例如局域网(Local Area Network;以下简称:LAN),广域网(Wide Area Network;以下简称:WAN)和/或公共网络,例如因特网)通信,上述网络适配器可以通过通信总线440与计算机设备的其它模块通信。应当明白,尽管图7中未示出,可以结合计算机设备使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、磁盘阵列(Redundant Arrays of Independent Drives;以下简称:RAID)系统、磁带驱动器以及数据备份存储系统等。
处理器410通过运行存储在存储器430中的程序,从而执行各种功能应用以及数据处理,例如实现本申请图1和图2所示实施例提供的数据库的调用方法。
本申请实施例还提供一种计算机设备,上述计算机设备可以包括存储器、处理器及存储在上述存储器上并可在上述处理器上运行的计算机程序,上述处理器执行上述计算机程序时,可以实现本申请图3和图4所示实施例提供的数据库的调用方法。
本实施例中,上述计算机设备可以为微服务组件服务器,本实施例对上述计算机设备的具体形态不作限定。
上述计算机设备的结构可以采用图7所示的结构,在此不再赘述。
本申请实施例还提供一种非临时性计算机可读存储介质,其上存储有计算机程序,上述计算机程序被处理器执行时可以实现本申请图1和图2所示实施例提供的数据库的调用方法。
本申请实施例还提供一种非临时性计算机可读存储介质,其上存储有计算机程序,上述计算机程序被处理器执行时可以实现本申请图3和图4所示实施例提供的数据库的调用方法。
上述非临时性计算机可读存储介质可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(Read Only Memory;以下简称:ROM)、可擦式可编程只读存储器(ErasableProgrammable Read Only Memory;以下简称:EPROM)或闪存、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LocalArea Network;以下简称:LAN)或广域网(Wide Area Network;以下简称:WAN)连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
需要说明的是,本申请实施例中所涉及的终端可以包括但不限于个人计算机(Personal Computer;以下简称:PC)、个人数字助理(Personal Digital Assistant;以下简称:PDA)、无线手持设备、平板电脑(Tablet Computer)、手机、MP3播放器、MP4播放器等。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)或处理器(Processor)执行本申请各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory;以下简称:ROM)、随机存取存储器(Random Access Memory;以下简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (10)
1.一种数据库的调用方法,其特征在于,包括:
获取微服务架构中数据库调用组件的服务名,所述数据库调用组件是预先在微服务架构中设置的微服务组件,所述数据库调用组件用于对预设数据库的数据服务进行调用;
根据所述数据库调用组件的服务名,从所述微服务架构的服务发现组件中获取所述数据库调用组件的访问地址;
根据所述访问地址,运行所述数据库调用组件,以调用所述预设数据库的数据服务。
2.根据权利要求1所述的方法,其特征在于,所述根据所述访问地址,运行所述数据库调用组件,以调用所述预设数据库的数据服务包括:
将所述访问地址配置到用于运行所述数据库调用组件的请求方法中;
执行所述请求方法,以调用所述预设数据库的数据服务。
3.一种数据库的调用方法,其特征在于,包括:
获取微服务架构中需要调用预设数据库的微服务组件;
从所述需要调用预设数据库的微服务组件中,提取对所述预设数据库的数据服务进行调用的逻辑代码;
根据提取出的逻辑代码部署相应的数据库调用组件;
将部署的数据库调用组件的服务名和访问地址注册到所述微服务架构的服务发现组件中,以便服务调用组件根据所述数据库调用组件的服务名,从所述服务发现组件中获取所述数据库调用组件的访问地址,根据所述访问地址,运行所述数据库调用组件,以调用所述预设数据库的数据服务。
4.根据权利要求3所述的方法,其特征在于,所述根据提取出的逻辑代码部署相应的数据库调用组件包括:
获取数据库调用组件,所述数据库调用组件是根据所述预设数据库中的数据的请求方式和请求参数开发的,所述预设数据库中的数据的请求方式和请求参数是从所述逻辑代码中获取的;
根据微服务组件的部署方式对所述数据库调用组件进行部署。
5.根据权利要求4所述的方法,其特征在于,所述根据微服务组件的部署方式对所述数据库调用组件进行部署包括:
制作所述数据库调用组件对应的镜像文件;
将所述镜像文件推送到注册镜像库;
根据所述数据库调用组件以及所述数据库调用组件对应的镜像文件修改所述微服务架构的配置文件。
6.根据权利要求5所述的方法,其特征在于,所述将部署的数据库调用组件的服务名和访问地址注册到所述微服务架构的服务发现组件中包括:
从所述微服务架构的配置文件中获取所述服务发现组件的访问地址;
根据所述服务发现组件的访问地址,将所述数据库调用组件的服务名和访问地址注册到所述服务发现组件中。
7.一种数据库的调用装置,设置在服务调用组件中,其特征在于,所述数据库的调用装置包括:
获取模块,用于获取微服务架构中数据库调用组件的服务名,所述数据库调用组件是预先在微服务架构中设置的微服务组件,所述数据库调用组件用于对预设数据库的数据服务进行调用;以及根据所述数据库调用组件的服务名,从所述微服务架构的服务发现组件中获取所述数据库调用组件的访问地址;
调用模块,用于根据所述获取模块获取的访问地址,运行所述数据库调用组件,以调用所述预设数据库的数据服务。
8.一种数据库的调用装置,设置在微服务组件服务器中,其特征在于,所述数据库的调用装置包括:
获取模块,用于获取微服务架构中需要调用预设数据库的微服务组件;
提取模块,用于从所述获取模块获取的需要调用预设数据库的微服务组件中,提取对所述预设数据库的数据服务进行调用的逻辑代码;
部署模块,用于根据所述提取模块提取出的逻辑代码部署相应的数据库调用组件;
注册模块,用于将所述部署模块部署的数据库调用组件的服务名和访问地址注册到所述微服务架构的服务发现组件中。
9.一种计算机设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如权利要求1-2中任一所述的方法。
10.一种计算机设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如权利要求3-6中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910750856.3A CN110716811A (zh) | 2019-08-14 | 2019-08-14 | 数据库的调用方法、装置和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910750856.3A CN110716811A (zh) | 2019-08-14 | 2019-08-14 | 数据库的调用方法、装置和计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110716811A true CN110716811A (zh) | 2020-01-21 |
Family
ID=69209420
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910750856.3A Pending CN110716811A (zh) | 2019-08-14 | 2019-08-14 | 数据库的调用方法、装置和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110716811A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111814177A (zh) * | 2020-06-28 | 2020-10-23 | 中国建设银行股份有限公司 | 基于微服务的多租户数据处理方法、装置、设备及系统 |
CN113254523A (zh) * | 2021-07-01 | 2021-08-13 | 武汉华信数据系统有限公司 | 一种数据调用方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103905551A (zh) * | 2014-04-02 | 2014-07-02 | 北京中交兴路车联网科技有限公司 | 一种服务调用方法及装置 |
CN109587246A (zh) * | 2018-12-06 | 2019-04-05 | 国云科技股份有限公司 | 一种集成多种通讯协议自由组合的微服务框架的实现方法 |
CN109995713A (zh) * | 2017-12-30 | 2019-07-09 | 华为技术有限公司 | 一种微服务框架中的服务处理方法及相关设备 |
CN110062043A (zh) * | 2019-04-16 | 2019-07-26 | 杭州朗和科技有限公司 | 服务治理方法、服务治理装置、存储介质及电子设备 |
-
2019
- 2019-08-14 CN CN201910750856.3A patent/CN110716811A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103905551A (zh) * | 2014-04-02 | 2014-07-02 | 北京中交兴路车联网科技有限公司 | 一种服务调用方法及装置 |
CN109995713A (zh) * | 2017-12-30 | 2019-07-09 | 华为技术有限公司 | 一种微服务框架中的服务处理方法及相关设备 |
CN109587246A (zh) * | 2018-12-06 | 2019-04-05 | 国云科技股份有限公司 | 一种集成多种通讯协议自由组合的微服务框架的实现方法 |
CN110062043A (zh) * | 2019-04-16 | 2019-07-26 | 杭州朗和科技有限公司 | 服务治理方法、服务治理装置、存储介质及电子设备 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111814177A (zh) * | 2020-06-28 | 2020-10-23 | 中国建设银行股份有限公司 | 基于微服务的多租户数据处理方法、装置、设备及系统 |
CN111814177B (zh) * | 2020-06-28 | 2023-06-09 | 建信金融科技有限责任公司 | 基于微服务的多租户数据处理方法、装置、设备及系统 |
CN113254523A (zh) * | 2021-07-01 | 2021-08-13 | 武汉华信数据系统有限公司 | 一种数据调用方法、装置、电子设备及存储介质 |
CN113254523B (zh) * | 2021-07-01 | 2021-10-26 | 武汉华信数据系统有限公司 | 一种数据调用方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10740114B2 (en) | Component invoking method and apparatus, and component data processing method and apparatus | |
CN111813641B (zh) | 崩溃信息收集的方法、装置、介质和设备 | |
CN111580879A (zh) | 小程序的运行方法、装置、电子设备及计算机存储介质 | |
US20170249934A1 (en) | Electronic device and method for operating the same | |
CN109101228B (zh) | 应用程序的执行方法和装置 | |
CN110019498B (zh) | 日志同步方法及装置、存储介质、电子设备 | |
CN109873735B (zh) | H5页面的性能测试方法、装置和计算机设备 | |
CN110531962A (zh) | 小程序的开发处理方法、设备及计算机可读存储介质 | |
CN110865837B (zh) | 一种进行系统升级的方法和终端 | |
CN109062572B (zh) | 一种组件调用方法、装置、设备及存储介质 | |
CN110780874B (zh) | 用于生成信息的方法和装置 | |
CN113031946A (zh) | 一种渲染页面组件的方法和装置 | |
CN110716811A (zh) | 数据库的调用方法、装置和计算机设备 | |
CN113900721A (zh) | 操作系统启动方法、装置和电子设备 | |
CN111428165A (zh) | 三维模型的展示方法、装置及电子设备 | |
CN111309304B (zh) | 一种生成idl文件的方法、装置、介质和电子设备 | |
CN113220366A (zh) | 子应用启动方法、装置、终端及服务器 | |
KR20140142116A (ko) | 텍스트 변환 서비스를 제공하는 전자장치 및 방법 | |
CN107426588B (zh) | 一种获取电视机配置信息方法、系统及存储装置 | |
CN110851211A (zh) | 用于显示应用信息的方法、装置、电子设备和介质 | |
CN113778897A (zh) | 接口的自动测试方法、装置、设备及存储介质 | |
CN111752644A (zh) | 接口模拟方法、装置、设备及存储介质 | |
CN112818129B (zh) | 图谱建模系统及其方法 | |
CN111241368B (zh) | 数据处理方法、装置、介质和设备 | |
CN111666068B (zh) | 一种平台开发框架、构建方法、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |