CN113836121B - 一种数据库控制方法及目标服务器 - Google Patents
一种数据库控制方法及目标服务器 Download PDFInfo
- Publication number
- CN113836121B CN113836121B CN202111428441.8A CN202111428441A CN113836121B CN 113836121 B CN113836121 B CN 113836121B CN 202111428441 A CN202111428441 A CN 202111428441A CN 113836121 B CN113836121 B CN 113836121B
- Authority
- CN
- China
- Prior art keywords
- module
- target
- version
- information
- database
- 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.)
- Active
Links
Images
Classifications
-
- 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/21—Design, administration or maintenance of databases
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种数据库控制方法及目标服务器,可以响应于对目标模块的模块信息创建指令,在目标数据库的数据库信息下创建目标模块的模块信息,目标模块为目标数据库的可集成模块,响应于版本信息创建指令,在模块信息下创建第一版本的目标模块的版本信息,版本信息中至少包括目标动态库文件的下载地址,目标动态库文件为第一版本的目标模块的动态库文件,响应于对第一版本的目标模块的装载指令,基于目标动态库文件的下载地址,对第一版本的目标模块进行装载,以将第一版本的目标模块设置为目标数据库的集成模块。本发明可以提高数据库模块集成的自动化程度,提高集成效率,有效实现对数据库模块的集成。
Description
技术领域
本发明涉及数据库管理及控制领域,尤其涉及一种数据库控制方法及目标服务器。
背景技术
随着科学技术的发展,数据库控制及管理技术不断提高。
当前,现有技术可以通过对数据库进行数据库模块的集成,来扩展数据库的功能,以在降低数据库自身复杂度的同时,可以使得数据库具备高性能和高可用性。比如,对于远程字典服务(Redis,Remote Dictionary Server),现有技术可以通过对Redis进行Redis模块的集成,来扩展Redis的功能(如查询关系型数据)。
但是,现有技术无法有效的实现数据库对数据库模块的集成。
发明内容
鉴于上述问题,本发明提供一种克服上述问题或者至少部分地解决上述问题的数据库控制方法及目标服务器,技术方案如下:
一种数据库控制方法,应用于目标服务器,包括:
响应于对目标模块的模块信息创建指令,在目标数据库的数据库信息下创建所述目标模块的模块信息,所述目标模块为所述目标数据库的可集成模块;
响应于版本信息创建指令,在所述模块信息下创建第一版本的所述目标模块的版本信息,所述版本信息中至少包括目标动态库文件的下载地址,所述目标动态库文件为所述第一版本的所述目标模块的动态库文件;
响应于对所述第一版本的所述目标模块的装载指令,基于所述目标动态库文件的下载地址,对所述第一版本的所述目标模块进行装载,以将所述第一版本的所述目标模块设置为所述目标数据库的集成模块。
可选的,所述方法还包括:
响应于所述模块信息创建指令,向编译服务器发送编译使能信号,以使得所述编译服务器:基于源码地址下载至少一个版本的所述目标模块的模块源码,分别对各所述模块源码进行编译,获得相应的动态库文件并发送至资源仓库服务器中进行保存。
可选的,所述响应于版本信息创建指令,在所述模块信息下创建第一版本的所述目标模块的版本信息,包括:
响应于所述版本信息创建指令,从资源仓库服务器中获得所述目标动态库文件的下载地址,所述资源仓库服务器中保存有至少一个版本的所述目标模块的动态库文件;
在所述模块信息下创建所述版本信息,所述版本信息中对应保存所述目标模块的模块标识、所述第一版本的版本标识和所述目标动态库文件的下载地址。
可选的,所述方法还包括:
响应于客户端发送的对第二版本的第一模块的调用请求,查询所述目标数据库是否已集成有所述第二版本的所述第一模块,如果是,则调用所述第二版本的所述第一模块向所述客户端提供所述调用请求对应的相应服务。
可选的,所述方法还包括:
设置并输出所述目标数据库的信息管理及控制界面,所述信息管理及控制界面中包括所述数据库信息、所述模块信息、所述版本信息和/或模块装载信息。
一种目标服务器,包括:第一创建单元、第二创建单元和第一装载单元;其中:
所述第一创建单元,用于响应于对目标模块的模块信息创建指令,在目标数据库的数据库信息下创建所述目标模块的模块信息,所述目标模块为所述目标数据库的可集成模块;
所述第二创建单元,用于响应于版本信息创建指令,在所述模块信息下创建第一版本的所述目标模块的版本信息,所述版本信息中至少包括目标动态库文件的下载地址,所述目标动态库文件为所述第一版本的所述目标模块的动态库文件;
所述第一装载单元,用于响应于对所述第一版本的所述目标模块的装载指令,基于所述目标动态库文件的下载地址,对所述第一版本的所述目标模块进行装载,以将所述第一版本的所述目标模块设置为所述目标数据库的集成模块。
可选的,所述目标服务器还包括:第一发送单元;
所述第一发送单元,用于响应于所述模块信息创建指令,向编译服务器发送编译使能信号,以使得所述编译服务器:基于源码地址下载至少一个版本的所述目标模块的模块源码,分别对各所述模块源码进行编译,获得相应的动态库文件并发送至资源仓库服务器中进行保存。
可选的,所述第二创建单元包括:第一获得单元和第三创建单元;其中:
所述第一获得单元,用于响应于所述版本信息创建指令,从资源仓库服务器中获得所述目标动态库文件的下载地址,所述资源仓库服务器中保存有至少一个版本的所述目标模块的动态库文件;
所述第三创建单元,用于在所述模块信息下创建所述版本信息,所述版本信息中对应保存所述目标模块的模块标识、所述第一版本的版本标识和所述目标动态库文件的下载地址。
可选的,所述目标服务器还包括:查询单元和调用单元;其中:
所述查询单元,用于响应于客户端发送的对第二版本的第一模块的调用请求,查询所述目标数据库是否已集成有所述第二版本的所述第一模块,如果是,则触发所述调用单元;
所述调用单元,用于调用所述第二版本的所述第一模块向所述客户端提供所述调用请求对应的相应服务。
可选的,所述目标服务器还包括:设置单元和输出单元;其中:
所述设置单元,用于设置所述目标数据库的信息管理及控制界面,所述信息管理及控制界面中包括所述数据库信息、所述模块信息、所述版本信息和/或模块装载信息。
所述输出单元,用于输出所述信息管理及控制界面。
本发明提出的数据库控制方法及目标服务器,可以响应于对目标模块的模块信息创建指令,在目标数据库的数据库信息下创建目标模块的模块信息,目标模块为目标数据库的可集成模块,响应于版本信息创建指令,在模块信息下创建第一版本的目标模块的版本信息,版本信息中至少包括目标动态库文件的下载地址,目标动态库文件为第一版本的目标模块的动态库文件,响应于对第一版本的目标模块的装载指令,基于目标动态库文件的下载地址,对第一版本的目标模块进行装载,以将第一版本的目标模块设置为目标数据库的集成模块。本发明可以满足对于某个类型的数据库模块的新建需求,以及满足对具体某个版本的数据库模块的新建需求,提高数据库模块集成的自动化程度,减少人工参与工作量,从而降低人力资源消耗,提高集成效率和成功率,有效实现对数据库模块的集成。
上述说明仅是本发明技术方案的概述,为了能够更清楚地了解本发明的技术手段,可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1示出了本发明实施例提供的第一种数据库控制方法的流程图;
图2示出了本发明实施例提供的一种Redis信息管理及控制界面;
图3示出了本发明实施例提供的第一种目标服务器的结构示意图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
如图1所示,本实施例提出了第一种数据库控制方法,该方法可以应用于目标服务器。其中,该方法可以包括以下步骤:
S101、响应于对目标模块的模块信息创建指令,在目标数据库的数据库信息下创建目标模块的模块信息,目标模块为目标数据库的可集成模块;
其中,目标服务器可以为设置有目标数据库的服务器。
其中,目标模块可以为集成于目标数据库的某个类型的数据库模块。
其中,目标数据库可以为某个待集成数据库模块的数据库,比如Redis。
其中,模块信息创建指令可以为用于触发目标服务器创建目标模块的模块信息的指令。
其中,模块信息可以包括模块的名称、功能和/或模块的源码下载地址等信息。
其中,数据库信息可以包括数据库名称、功能、配置信息和/模块管理信息等信息。
具体的,目标服务器在接收到对目标模块的模块信息创建指令时,可以在目标数据库的数据库信息中的模块管理信息下,创建目标模块的模块信息。可以理解的是,在目标数据库中的模块管理信息下所创建的目标模块的模块信息,可以是与目标数据库中的模块管理信息是相关联的。
S102、响应于版本信息创建指令,在模块信息下创建第一版本的目标模块的版本信息,版本信息中至少包括目标动态库文件的下载地址,目标动态库文件为第一版本的目标模块的动态库文件;
其中,版本信息创建指令可以用于触发目标服务器创建第一版本的目标模块的版本信息的指令。
其中,第一版本为目标模块的一个版本。需要说明的是,每个类型的模块均可以存在有至少一个版本。
其中,版本信息可以包括模块标识、版本标识和动态库文件的下载地址。比如,第一版本的目标模块的版本信息,可以包括有目标模块的模块标识、第一版本的版本标识和目标动态库文件的下载地址。
其中,目标动态库文件可以保存在其下载地址对应的目标存储空间中,如其他服务器或云存储中。
可选的,目标动态库文件可以保存在资源仓库服务器中。此时,目标服务器可以按照目标动态库文件的下载地址,从资源仓库服务器中下载获得目标动态库文件。
S103、响应于对第一版本的目标模块的装载指令,基于目标动态库文件的下载地址,对第一版本的目标模块进行装载,以将第一版本的目标模块设置为目标数据库的集成模块。
其中,装载指令可以是用于触发目标服务器对第一版本的目标模块进行装载的指令。
具体的,目标服务器可以在接收到对第一版本的目标模块的装载指令时,可以按照目标动态库文件的下载地址,下载获得目标动态库文件,之后基于目标动态库文件进行对第一版本的目标模块的装载。
可选的,目标服务器可以先行获得第一版本的目标模块的预定义配置文件,之后可以通过预定义配置文件的指定配置项来启动目标数据库,来实现对第一版本的目标模块的装载;比如,当目标数据库为Redis,目标模块为Redis模块时,目标服务器可以先行获得第一版本的Redis模块的预定义配置文件redis.conf,之后可以通过预定义配置文件redis.conf中的配置项loadmodule /path/to/mymodule.so启动Redis,来实现对第一版本的Redis模块的装载。
可选的,目标服务器可以在获得第一版本的目标模块的预定义配置文件之后,通过目标数据库的热部署方式,对目标数据库执行指定命令,同时相应修改预定义配置文件中的配置项,以使得目标数据库在遇到故障而重新启动之后依然可以装载第一版本的目标模块,从而实现目标数据库对于数据库模块的动态加载。比如,当目标数据库为Redis,目标模块为Redis模块时,目标服务器可以先行获得预定义配置文件redis.conf,之后通过Redis热部署方式对目标数据库执行module load /path/to/mymodule.so,同时相应修改预定义配置文件redis.conf中的配置项loadmodule /path/to/mymodule.so,以使得Redis在遇到故障而重新启动之后依然可以装载第一版本的Redis模块。
可选的,目标数据库在初始化数据库模块的过程中,可以先加载数据库模块的链接库,此时在源码文件中的相应函数可以负责加载数据库模块。比如,当目标数据库为Redis时,Redis在初始化模块的过程中,会先加载指定模块的链接库,在Redis源码module.c文件中的moduleInitModulesSystem函数负责加载模块。其中moduleRegisterCoreAPI为注册函数的主要逻辑,首先创建存放api函数的字典,该字典key用于提供给module的函数名称,value为module.c中具体的实现,通过维护字典的方式实现了提供给模块的接口与Redis内部实现相分离。
可以理解的是,目标服务器可以响应于版本信息创建指令,在已集成数据库模块的模块信息下,创建一个版本的数据库模块的版本信息,并可以响应于对该版本的目标模块的装载指令,基于相应的动态库文件的下载地址,对该版本的数据库模块进行集成。
可选的,本发明可以响应于对版本信息的操作指令(如修改指令),在目标模块的模块信息中,对版本信息中的信息进行相应的操作,从而实现对数据库模块的版本信息的管理。
可选的,目标服务器可以按照图1所示方法,装载多个版本的目标模块,使得目标数据库可以同时集成多个版本的目标模块;
可选的,目标服务器可以按照图1所示方法,装载多种类型的模块,使得目标数据库可以同时集成多种类型的模块;
可选的,目标服务器中可以响应于用户或管理人员的数据库开通指令,设置多个目标数据库,并可以分别对目标数据库集成模块。比如,目标服务器中可以设置有两个Redis实例,并可以分别对两个Redis实例集成Redis模块。需要说明的是,目标服务器中设置的不同目标数据库可以集成有不同类型和/或不同数量的模块,比如,目标服务器中设置有两个Redis实例时,其中的一个Redis实例可以集成有三种类型的模块,另一个Redis实例可以集成有两种类型的模块。
可选的,目标服务器可以输出各目标数据库所集成的数据库模块的信息列表。其中信息列表中可以包括多行信息,每行信息均可以对应记录一个目标数据库所集成的数据库模块的模块标识。
可选的,目标服务器可以响应于查询指令,输出目标数据库当前已集成的数据库模块的模块名称和版本信息。
可选的,上述方法还可以包括:
设置并输出目标数据库的信息管理及控制界面,信息管理及控制界面中包括数据库信息、模块信息、版本信息和/或模块装载信息。
具体的,目标服务器可以基于目标数据库的数据库信息、已创建模块的模块信息、已创建版本的模块的版本信息和已集成模块的装载信息等信息,设置目标数据库的信息管理及控制界面,实现对数据库模块的模块及版本管理。
为更好的介绍信息管理及控制界面,本实施例提出并结合图2所示的Redis信息管理及控制界面进行说明。图2中左侧的第一界面部分可以为Redis的信息菜单,信息菜单中可以设置有全局统计、工单审批、报警配置、系统配置、资源管理、模块管理和任务管理等选项。每个选项均可以对应一个子级信息界面。当管理人员选中一个选项时,目标服务器可以打开相应的子级信息界面。
具体的,当管理人员选中模块管理的选项时,目标服务器可以打开模块管理的子级信息界面,该子级信息界面中可以包括有已创建的第一Redis模块、第二Redis模块、第三Redis模块和第四Redis模块等各Redis模块的信息选项。当选中一个Redis模块的信息选项时,目标服务器可以打开该Redis模块的模块信息界面,模块信息界面中可以包括Redis模块的版本信息和管理选项(如新建版本的选项)。其中,Redis模块的版本信息可以包括有版本id、版本号、适用的Redis版本、最后更新时间、是否可用、动态库文件的下载地址以及信息操作选项(如修改),如图2所示,在第一Redis模块的版本信息中,其版本id为1,版本号为v2.0.6,适用的Redis版本为Redis-6.2.4,最后更新时间为2021年6月23日的10点0分7秒(即图2中的2021.6.23 10:00:07),动态库文件的下载地址为第一地址。
需要说明的是,现有技术在对目标数据库集成数据库模块时,主要是由人工根据数据库模块的集成说明来进行集成操作,集成方式复杂,且为非流程化操作,并需要额外记录安装版本,或进入各个数据库应用分别查询。对于具有很多数据库实例的应用方,操作极其复杂,人力资源消耗较多且容易出错。另,对于互联网企业,企业版数据库本身可能已集成部分数据库模块,但集成模块的版本固定,且数据库的版本并非支持所有数据库模块,此时如需要在数据库完成初始化而进行运行的过程中添加数据库模块,则需要按照由人工根据数据库模块的集成说明进行操作,而企业版数据库仅支持付费试用,将会造成系统成本增加,资源利用率降低。
而本发明可以在需要向目标数据库集成数据库模块时,可以按照图1所示方法进行集成,满足对于某个类型的数据库模块的新建需求,以及满足对具体某个版本的数据库模块的新建需求,提高数据库模块集成的自动化程度,可针对大规模应用部署提供快速高效的集成,降低服务部署配置的成本,简化流程复杂度,减少人工参与工作量,从而降低人力资源消耗,提高集成效率和成功率,有效实现对数据库模块的集成。
本实施例提出的数据库控制方法,可以响应于对目标模块的模块信息创建指令,在目标数据库的数据库信息下创建目标模块的模块信息,目标模块为目标数据库的可集成模块,响应于版本信息创建指令,在模块信息下创建第一版本的目标模块的版本信息,版本信息中至少包括目标动态库文件的下载地址,目标动态库文件为第一版本的目标模块的动态库文件,响应于对第一版本的目标模块的装载指令,基于目标动态库文件的下载地址,对第一版本的目标模块进行装载,以将第一版本的目标模块设置为目标数据库的集成模块。本发明可以满足对于某个类型的数据库模块的新建需求,以及满足对具体某个版本的数据库模块的新建需求,提高数据库模块集成的自动化程度,减少人工参与工作量,从而降低人力资源消耗,提高集成效率和成功率,有效实现对数据库模块的集成。
基于图1,本实施例提出第二种数据库控制方法。该方法还可以包括步骤S201。其中:
S201、响应于模块信息创建指令,向编译服务器发送编译使能信号,以使得编译服务器:基于源码地址下载至少一个版本的目标模块的模块源码,分别对各模块源码进行编译,获得相应的动态库文件并发送至资源仓库服务器中进行保存。
其中,编译使能信号可以为用于触发编译服务器对模块源码进行编译而生成动态库文件的信号。
具体的,本发明对于编译服务器的具体类型不作限定,比如,编译服务器可以为linux服务器。需要说明的是,如果linux编译过程有依赖linux系统其他类库,则可以先行在linux服务器中预先安装好,如gcc、gcc-c++、pip等。
具体的,目标服务器可以在接收到模块信息创建指令时,将编译使能信号发送至编译服务器,使得编译服务器通过编译生成动态库文件并发送至资源仓库服务器进行保存。
可选的,编译使能信号中可以携带有需要下载的某个或多个版本的目标模块的源码地址,即各版本的目标模块的源码的下载地址。此时,编译服务器在接收到编译使能信号后,可以分别基于编译使能信号中携带的各源码地址,下载相应的目标模块的模块源码,之后分别对已下载的各模块源码进行编译,将各模块源码分别编译为相应的动态库文件,之后将相应数量的动态库文件发送至资源仓库服务器中进行保存。
可选的,编译使能信号中也可以仅携带目标模块的模块标识和相应的版本标识。此时,编译服务器可以基于目标模块的模块标识和版本标识,先行确定相应的源码地址(如向专门保存和管理源码地址的电子设备请求获得源码地址),之后再基于源码地址去下载模块源码,将已下载的模块源码编译为动态库文件,并发送至资源仓库服务器进行保存。
可选的,编译服务器可以负责对目标数据库的各类型数据库模块的源码编译,即可以将各类型数据库模块的源码编译为动态库文件,实现对目标数据库的数据库模块的源码的集中式编译。
需要说明的是,本发明在需要集成目标模块时,可以通过向编译服务器发送编译使能信号,将源码编译至动态库文件的过程集中至编译服务器进行,实现对源码的集中式编译,提高源码编译效率,且无需目标服务器执行源码的编译过程,降低目标服务器的负担和自身复杂度。
本实施例提出的数据库控制方法,可以在需要集成目标模块时,可以通过向编译服务器发送编译使能信号,将源码编译至动态库文件的过程集中至编译服务器进行,实现对源码的集中式编译,提高源码编译效率,且无需目标服务器执行源码的编译过程,降低目标服务器的负担和自身复杂度。
基于图1,本实施例提出第三种数据库控制方法。在该方法中,步骤S102可以包括:
S301、响应于版本信息创建指令,从资源仓库服务器中获得目标动态库文件的下载地址,资源仓库服务器中保存有至少一个版本的目标模块的动态库文件;
其中,资源仓库服务器中可以集中保存有目标数据库的任一类型数据库模块的动态库文件。具体的,资源仓库服务器中可以保存有所有版本的目标模块的动态库文件。
具体的,目标服务器可以在接收到第一版本的目标模块的版本信息创建指令时,向资源仓库服务器发送对目标动态库文件,即第一版本的目标模块的下载地址的请求,获得资源仓库服务器返回的目标动态库文件的下载地址。
S302、在模块信息下创建版本信息,版本信息中对应保存目标模块的模块标识、第一版本的版本标识和目标动态库文件的下载地址。
具体的,目标服务器可以在获得目标动态库文件的下载地址之后,设置对应保存有目标模块的模块标识、第一版本的版本标识和目标动态库文件的下载地址的版本信息。
需要说明的是,目标服务器可以在创建目标模块的版本信息后,可以输出已创建的目标模块的版本信息,以使得用户或后台管理人员可以了解目标模块的版本信息,从而更好的对目标模块进行管理和控制。
本实施例提出的数据库控制方法,可以创建目标模块的版本信息,并可以在创建目标模块的版本信息后,可以输出已创建的目标模块的版本信息,以使得用户或后台管理人员可以了解目标模块的版本信息,从而更好的对目标模块进行管理和控制。
基于图1,本实施例提出第四种数据库控制方法,该方法还可以包括:
响应于客户端发送的对第二版本的第一模块的调用请求,查询目标数据库是否已集成有第二版本的第一模块,如果是,则调用第二版本的第一模块向客户端提供调用请求对应的相应服务。
其中,第一模块可以为目标数据库已集成好的某个数据库模块。
其中,第二版本可以为第一模块的某个版本。
具体的,目标服务器在对目标数据库集成好数据库模块后,客户端可以向目标服务器发送对数据库模块的调用请求,以获得数据库模块提供的服务。
具体的,目标服务器在接收到客户端发送的对第二版本的第一模块的调用请求时,可以先行查询自身设置的目标数据库是否已集成好第二版本的第一模块。当且仅当目标数据库已集成好第二版本的第一模块时,目标服务器才能调用第二版本的第一模块向客户端提供相应服务。
其中,如果目标数据库未集成好第二版本的第一模块,则目标服务器可以禁止执行后续步骤,即调用第二版本的第一模块向客户端提供服务,避免无谓的资源消耗。以目标数据库为Redis,第一模块为RediSearch2模块为例:目标服务器在接收到客户端对于RediSearch2模块的调用请求时,可以通过module list 查看search模块是否已经装载成功,如果已成功,则可以对相应的Redis实例执行api操作,为客户端提供search服务,相关search命令如下:
1).创建索引:FT.CREATE
2).插入/删除数据:HSET/HSETNX/HDEL/HINCRBY/HDECRBY
3).检索数据:FT.SEARCH,FT.AGGREGATE
4).删除索引:FT.DROPINDEX
5).添加索引字段:FT.ALTER SCHEMA ADD
6).索引别名:FT.ALIASADD,FT.ALIASDEL
7).查询现有的索引 FT._LIST
8).查询索引的信息和统计等 FT.INFO
本实施例提出的数据库控制方法,可以在接收到客户端发送的对第二版本的第一模块的调用请求时,先行查询目标数据库是否已集成该模块,仅在确定已集成好后再对该模块进行调用,向客户端提供相应服务。本发明可以在减少无谓资源消耗的情况下,为客户端提供服务。
与图1所示步骤相对应,如图3所示,本实施例提出第一种目标服务器。该目标服务器可以包括:第一创建单元101、第二创建单元102和第一装载单元103;其中:
第一创建单元101,用于响应于对目标模块的模块信息创建指令,在目标数据库的数据库信息下创建目标模块的模块信息,目标模块为目标数据库的可集成模块;
第二创建单元102,用于响应于版本信息创建指令,在模块信息下创建第一版本的目标模块的版本信息,版本信息中至少包括目标动态库文件的下载地址,目标动态库文件为第一版本的目标模块的动态库文件;
第一装载单元103,用于响应于对第一版本的目标模块的装载指令,基于目标动态库文件的下载地址,对第一版本的目标模块进行装载,以将第一版本的目标模块设置为目标数据库的集成模块。
在本实施例中,第一创建单元101、第二创建单元102和第一装载单元103的具体处理及其带来的技术效果可参考图1中步骤S101、步骤S102和步骤S103的相关说明,在此不再赘述。
可选的,在本发明提出的其它实施例中,目标服务器还包括:第一发送单元;
第一发送单元,用于响应于模块信息创建指令,向编译服务器发送编译使能信号,以使得编译服务器:基于源码地址下载至少一个版本的目标模块的模块源码,分别对各模块源码进行编译,获得相应的动态库文件并发送至资源仓库服务器中进行保存。
可选的,第二创建单元102包括:第一获得单元和第三创建单元;其中:
第一获得单元,用于响应于版本信息创建指令,从资源仓库服务器中获得目标动态库文件的下载地址,资源仓库服务器中保存有至少一个版本的目标模块的动态库文件;
第三创建单元,用于在模块信息下创建版本信息,版本信息中对应保存目标模块的模块标识、第一版本的版本标识和目标动态库文件的下载地址。
可选的,目标服务器还包括:查询单元和调用单元;其中:
查询单元,用于响应于客户端发送的对第二版本的第一模块的调用请求,查询目标数据库是否已集成有第二版本的第一模块,如果是,则触发调用单元;
调用单元,用于调用第二版本的第一模块向客户端提供调用请求对应的相应服务。
可选的,目标服务器还包括:设置单元和输出单元;其中:
设置单元,用于设置目标数据库的信息管理及控制界面,信息管理及控制界面中包括数据库信息、模块信息、版本信息和/或模块装载信息。
输出单元,用于输出信息管理及控制界面。
本实施例提出的目标服务器,可以满足对于某个类型的数据库模块的新建需求,以及满足对具体某个版本的数据库模块的新建需求,提高数据库模块集成的自动化程度,减少人工参与工作量,从而降低人力资源消耗,提高集成效率和成功率,有效实现对数据库模块的集成。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (8)
1.一种数据库控制方法,其特征在于,应用于目标服务器,包括:
响应于对目标模块的模块信息创建指令,在目标数据库的数据库信息下创建所述目标模块的模块信息,所述目标模块为所述目标数据库的可集成模块;
响应于版本信息创建指令,在所述模块信息下创建第一版本的所述目标模块的版本信息,所述版本信息中至少包括目标动态库文件的下载地址,所述目标动态库文件为所述第一版本的所述目标模块的动态库文件;
响应于对所述第一版本的所述目标模块的装载指令,基于所述目标动态库文件的下载地址,对所述第一版本的所述目标模块进行装载,以将所述第一版本的所述目标模块设置为所述目标数据库的集成模块;
其中,所述响应于版本信息创建指令,在所述模块信息下创建第一版本的所述目标模块的版本信息,包括:
响应于所述版本信息创建指令,从资源仓库服务器中获得所述目标动态库文件的下载地址,所述资源仓库服务器中保存有至少一个版本的所述目标模块的动态库文件;
在所述模块信息下创建所述版本信息,所述版本信息中对应保存所述目标模块的模块标识、所述第一版本的版本标识和所述目标动态库文件的下载地址。
2.根据权利要求1所述的数据库控制方法,其特征在于,所述方法还包括:
响应于所述模块信息创建指令,向编译服务器发送编译使能信号,以使得所述编译服务器:基于源码地址下载至少一个版本的所述目标模块的模块源码,分别对各所述模块源码进行编译,获得相应的动态库文件并发送至资源仓库服务器中进行保存。
3.根据权利要求1所述的数据库控制方法,其特征在于,所述方法还包括:
响应于客户端发送的对第二版本的第一模块的调用请求,查询所述目标数据库是否已集成有所述第二版本的所述第一模块,如果是,则调用所述第二版本的所述第一模块向所述客户端提供所述调用请求对应的相应服务。
4.根据权利要求1所述的数据库控制方法,其特征在于,所述方法还包括:
设置并输出所述目标数据库的信息管理及控制界面,所述信息管理及控制界面中包括所述数据库信息、所述模块信息、所述版本信息和/或模块装载信息。
5.一种目标服务器,其特征在于,包括:第一创建单元、第二创建单元和第一装载单元;其中:
所述第一创建单元,用于响应于对目标模块的模块信息创建指令,在目标数据库的数据库信息下创建所述目标模块的模块信息,所述目标模块为所述目标数据库的可集成模块;
所述第二创建单元,用于响应于版本信息创建指令,在所述模块信息下创建第一版本的所述目标模块的版本信息,所述版本信息中至少包括目标动态库文件的下载地址,所述目标动态库文件为所述第一版本的所述目标模块的动态库文件;
所述第一装载单元,用于响应于对所述第一版本的所述目标模块的装载指令,基于所述目标动态库文件的下载地址,对所述第一版本的所述目标模块进行装载,以将所述第一版本的所述目标模块设置为所述目标数据库的集成模块;
其中,所述第二创建单元包括:第一获得单元和第三创建单元;其中:
所述第一获得单元,用于响应于所述版本信息创建指令,从资源仓库服务器中获得所述目标动态库文件的下载地址,所述资源仓库服务器中保存有至少一个版本的所述目标模块的动态库文件;
所述第三创建单元,用于在所述模块信息下创建所述版本信息,所述版本信息中对应保存所述目标模块的模块标识、所述第一版本的版本标识和所述目标动态库文件的下载地址。
6.根据权利要求5所述的目标服务器,其特征在于,所述目标服务器还包括:第一发送单元;
所述第一发送单元,用于响应于所述模块信息创建指令,向编译服务器发送编译使能信号,以使得所述编译服务器:基于源码地址下载至少一个版本的所述目标模块的模块源码,分别对各所述模块源码进行编译,获得相应的动态库文件并发送至资源仓库服务器中进行保存。
7.根据权利要求5所述的目标服务器,其特征在于,所述目标服务器还包括:查询单元和调用单元;其中:
所述查询单元,用于响应于客户端发送的对第二版本的第一模块的调用请求,查询所述目标数据库是否已集成有所述第二版本的所述第一模块,如果是,则触发所述调用单元;
所述调用单元,用于调用所述第二版本的所述第一模块向所述客户端提供所述调用请求对应的相应服务。
8.根据权利要求5所述的目标服务器,其特征在于,所述目标服务器还包括:设置单元和输出单元;其中:
所述设置单元,用于设置所述目标数据库的信息管理及控制界面,所述信息管理及控制界面中包括所述数据库信息、所述模块信息、所述版本信息和/或模块装载信息;
所述输出单元,用于输出所述信息管理及控制界面。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111428441.8A CN113836121B (zh) | 2021-11-29 | 2021-11-29 | 一种数据库控制方法及目标服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111428441.8A CN113836121B (zh) | 2021-11-29 | 2021-11-29 | 一种数据库控制方法及目标服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113836121A CN113836121A (zh) | 2021-12-24 |
CN113836121B true CN113836121B (zh) | 2022-03-01 |
Family
ID=78971865
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111428441.8A Active CN113836121B (zh) | 2021-11-29 | 2021-11-29 | 一种数据库控制方法及目标服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113836121B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114564467A (zh) * | 2022-04-27 | 2022-05-31 | 飞狐信息技术(天津)有限公司 | 一种数据库版本的管理方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103038750A (zh) * | 2010-03-31 | 2013-04-10 | 安全第一公司 | 对移动中数据进行保护的系统和方法 |
CN107146154A (zh) * | 2017-05-05 | 2017-09-08 | 江苏未至科技股份有限公司 | 一种数据管理的方法及装置 |
CN107547250A (zh) * | 2017-06-26 | 2018-01-05 | 新华三云计算技术有限公司 | 在云计算管理平台中部署数据库的方法和装置 |
CN109687986A (zh) * | 2017-10-18 | 2019-04-26 | 飞狐信息技术(天津)有限公司 | 一种基于私有云平台的Redis运维方法及系统 |
CN113271307A (zh) * | 2021-05-18 | 2021-08-17 | 中国工商银行股份有限公司 | 数据组装方法、装置、计算机系统及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101174989B (zh) * | 2007-10-19 | 2011-08-24 | 中兴通讯股份有限公司 | 一种采用嵌入式数据库系统保存信令跟踪数据的方法 |
CN102195802B (zh) * | 2010-03-18 | 2014-08-20 | 中兴通讯股份有限公司 | 一种终端软件下发方法、服务器和终端 |
CN103136305B (zh) * | 2011-12-05 | 2016-10-05 | 北大方正集团有限公司 | 用于试题资源的处理方法和装置 |
US20140046722A1 (en) * | 2012-08-10 | 2014-02-13 | Sample6 Technologies, Inc. | System for on-site environment monitoring |
-
2021
- 2021-11-29 CN CN202111428441.8A patent/CN113836121B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103038750A (zh) * | 2010-03-31 | 2013-04-10 | 安全第一公司 | 对移动中数据进行保护的系统和方法 |
CN107146154A (zh) * | 2017-05-05 | 2017-09-08 | 江苏未至科技股份有限公司 | 一种数据管理的方法及装置 |
CN107547250A (zh) * | 2017-06-26 | 2018-01-05 | 新华三云计算技术有限公司 | 在云计算管理平台中部署数据库的方法和装置 |
CN109687986A (zh) * | 2017-10-18 | 2019-04-26 | 飞狐信息技术(天津)有限公司 | 一种基于私有云平台的Redis运维方法及系统 |
CN113271307A (zh) * | 2021-05-18 | 2021-08-17 | 中国工商银行股份有限公司 | 数据组装方法、装置、计算机系统及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113836121A (zh) | 2021-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2429529C2 (ru) | Динамическое конфигурирование, выделение и развертывание вычислительных систем | |
US9065843B2 (en) | Method, system and article of manufacture for providing connections and connection aliases descriptors by services and libraries archives | |
US9489189B2 (en) | Dynamically generate and execute a context-specific patch installation procedure on a computing system | |
US6493594B1 (en) | System and method for improved software configuration and control management in multi-module systems | |
US20110088011A1 (en) | Automated Enterprise Software Development | |
US8630969B2 (en) | Systems and methods for implementing business rules designed with cloud computing | |
US6901590B2 (en) | System and method for single transparent deployment flow | |
CN105094922A (zh) | 应用程序免安装运行控制方法及其装置 | |
CN110175677A (zh) | 自动更新方法、装置、计算机设备及存储介质 | |
CN108696372B (zh) | 一种保持系统配置一致性的方法和系统 | |
CN107943453B (zh) | 一种实现运维系统自定义计划任务的方法及系统 | |
US20100313197A1 (en) | System and method for operating domain profile using database in core framework for sdr mobile terminals | |
CN113434158B (zh) | 一种大数据组件的自定义管理方法、装置、设备及介质 | |
CN111857801B (zh) | 一种移动应用的构建方法 | |
CN110098952A (zh) | 一种服务器的管理方法和装置 | |
CN106599167B (zh) | 一种支持增量升级数据库的系统和方法 | |
CN113836121B (zh) | 一种数据库控制方法及目标服务器 | |
CN106484458B (zh) | 一种开放型软件仓库管理系统及其管理方法 | |
CN109684028A (zh) | 一种操作系统与用户数据分离的方法、装置及设备 | |
CN114546563A (zh) | 一种多租户页面访问控制方法和系统 | |
CN116680003A (zh) | 前端插件化系统 | |
CN115658791A (zh) | 一种地面应用管理控制系统及方法 | |
CN115185700B (zh) | 一种高集成单进程的容器管理方法 | |
US11474845B2 (en) | System and method for versioned script management | |
CN117348916B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |