一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种数据操作方法以及数据库实例与流程

2022-02-20 14:47:39 来源:中国专利 TAG:


1.本技术涉及计算机领域,尤其涉及一种数据操作方法,支持该方法执行的数据库实例以及相应的计算机和可读存储介质


背景技术:

2.随着公有云技术的兴起,云数据库的应用规模也越来越大,如何提升云数据库的资源利用率,降低云数据库的使用成本成为了一个需要持续关注的问题。


技术实现要素:

3.本技术提供的数据操作方法,提升了数据库的资源利用率,降低了数据库的资源消耗。
4.第一方面,提供了一种数据操作方法,包括:客户端发送内存数据库操作请求至数据库实例,其中,所述内存数据库操作请求符合内存数据库的接口格式,所述内存数据库利用内存来存储租户数据以提升所述租户数据的处理速度;所述数据库实例将所述内存数据库操作请求转换为键值kv操作请求;所述数据库实例发送所述kv操作请求至kv存储池;所述kv存储池执行所述kv操作请求。
5.在一种可能的实现方式中,在所述客户端发送内存数据库操作请求至数据库实例前,所述方法包括:所述客户端发送创建请求至所述数据库实例;所述数据库实例根据所述创建请求,生成配置项,所述配置项包括所述数据库实例分配的桶id以及所述创建请求携带的元数据;所述数据库实例发送所述桶id至所述客户端;所述客户端根据所述桶id生成所述内存数据库操作请求。
6.在一种可能的实现方式中,所述方法还包括:所述数据库实例分配用于访问所述数据库实例的ip地址,发送所述ip地址至所述客户端;所述客户端根据所述ip地址发送所述内存数据库操作请求至数据库实例。
7.在一种可能的实现方式中,所述方法还包括:另一客户端发送另一创建请求至所述数据库实例;所述数据库实例根据所述另一创建请求,生成另一配置项,所述另一配置项包括所述数据库实例分配的另一桶id以及所述另一创建请求携带的元数据;所述数据库实例发送所述另一桶id至所述另一客户端;所述数据库实例分配用于访问所述数据库实例的另一ip地址,并发送所述另一ip地址至所述另一客户端。
8.在一种可能的实现方式中,所述客户端运行于虚拟私有云vpc内。租户需要在vpc内创建所述客户端。所述vpc和所述数据库实例均部署于同一云数据中心。
9.第二方面提供了一种数据库实例,包括:接口模块,用于接收客户端发送的内存数据库操作请求,其中,所述内存数据库操作请求符合内存数据库的接口格式,所述内存数据库利用内存来存储租户数据以提升所述租户数据的处理速度;语义转换模块,用于将所述内存数据库操作请求转换为键值kv操作请求,发送所述kv操作请求至kv存储池。
10.在一种可能的实现方式中,该数据库实例还包括配置模块;所述接口模块,用于接
收所述客户端发送的创建请求;所述配置模块,用于根据所述创建请求,生成配置项,所述配置项包括所述配置模块分配的桶id以及所述创建请求携带的元数据;所述接口模块,还用于发送所述桶id至所述客户端。
11.在一种可能的实现方式中,所述接口模块,用于分配用于访问所述数据库实例的ip地址,发送所述ip地址至所述客户端。
12.在一种可能的实现方式中,所述接口模块,用于接收另一客户端发送的另一创建请求;所述配置模块,根据所述另一创建请求,生成另一配置项,所述另一配置项包括所述配置模块分配的另一桶id以及所述另一创建请求携带的元数据;所述接口模块,用于分配用于访问所述数据库实例的另一ip地址,并发送所述另一ip地址至所述另一客户端。
13.第三方面提供了一种云数据中心,包括第二方面及其可能的实现方式提供的数据库实例、客户端以及kv存储池。
14.第四方面提供了一种计算机,包括存储器和处理器,该存储器存储有程序指令,该处理器运行该程序指令以执行第一方面及其可能的实现方式提供的方法。具体的,该处理器运行该程序指令以运行第二方面及其可能的实现方式提供的数据库实例。
15.第五方面提供了一种可读存储介质,该可读存储介质可以是该非瞬态的。该可读存储介质中存储的指令被主机执行时,导致主机执行前述第一方面及其可能的实现方式提供的方法。该可读存储介质中存储了程序指令。该可读存储介质包括但不限于易失性存储设备,例如随机访问存储设备,和非易失性存储设备,例如快闪存储设备、硬盘(hard disk drive,hdd)、固态硬盘(solid state drive,ssd)。
16.第六方面提供了一种计算机程序产品,该计算机程序产品包含的指令被主机执行时,导致主机执行前述第一方面及其可能的实现方式提供的方法。该计算机程序产品可以为一个软件安装包,在需要使用前述第一方面及其可能的实现方式提供的方法的情况下,可以下载该计算机程序产品并在主机执行该计算机程序产品。
附图说明
17.图1为本技术提供的一种云数据中心的组织结构示意图;
18.图2为本技术提供的另一种云数据中心的组织结构示意图;
19.图3为本技术提供的另一种云数据中心的组织结构示意图;
20.图4为本技术提供的数据操作方法的示意图;
21.图5为本技术提供的一种计算机的组织结构示意图。
具体实施方式
22.首先,介绍本技术中涉及的一些术语。
23.主机:部署在云数据中心中的物理服务器。主机的硬件层包括多种硬件资源,例如,中央处理器(core processing unit,cpu)、内存、网络带宽等资源供主机上运行的操作系统、数据库中间件、内存数据库实例使用。
24.实例:运行在主机上的计算节点,常见的实例包括虚拟机(virtual machine,vm)或容器(container)。每个实例占用了主机的部分或全部的虚拟资源。主机上运行了至少一个实例来运行数据库。
25.内存数据库:利用内存来存储租户数据的数据库,通过将数据存储在内存中,加速了数据的读写速度。内存数据库也称之为缓存数据库,常见的内存数据库包括:redis、apache ignite、kinetica、memcached、oracle rdbms等。
26.客户端:本技术中的客户端为内存数据库的客户端,支持内存数据库的接口格式。因此客户端向数据库实例发送的操作请求符合内存数据库的接口格式。租户可以在云数据中心创建一个或多个虚拟私有云(virtual private cloud,vpc),客户端可以运行在vpc内。
27.持久化:将易失性介质(例如内存)中存储的数据存储到非易失性介质上的过程。
28.键值(key value,kv)存储池:以kv为存储格式的分布式存储系统,一般可以支持块、对象、文件等多类型的数据类型。kv存储池内可以创建桶,桶的租户可以用kv操作请求对桶内的数据进行操作。
29.如图1所示,一种云数据中心中包括多个主机,每个主机的硬件层上运行有操作系统、数据库中间件和内存数据库实例。多个租户的内存数据库的客户端接入到云数据中心租用内存数据库实例。每个租户的内存数据库实例位于不同的主机上。这种情况下,每个租户需要为自己的内存数据库实例占用的硬件资源支付比较高额的费用。
30.如图2所示,另一种云数据中心内,主机的硬件层上运行的操作系统和数据库中间件上支持了多个内存数据库实例的运行。当多个租户的内存数据库的客户端分别申请内存数据库实例时,这多个内存数据库实例可以运行在同一主机上。这种情况下,每个租户为自己的内存数据库实例占用的硬件资源支付的费用会降低。但这种情况下,多个内存数据库实例共享数据库中间件和操作系统也导致了数据库中间件在持久化这多个内存数据库实例处理的数据的时候,持久化的数据量更大,如果持久化过程中主机故障,数据丢失的风险更高。
31.基于此,本技术提供了一种云数据中心,如图3所示。该云数据中心内,多个租户的客户端接入同一数据库实例。数据库实例内包括接口模块、配置模块和语义转换模块。接口模块,用于接收客户端发来的创建请求。配置模块,用于存储每个租户的配置项。语义转换模块,用于将租户的内存数据库操作请求转换为kv操作请求并发送至kv存储池。
32.图4介绍了一种本技术提供的数据库实例的数据操作方法,包括:
33.s200,客户端向接口模块发送创建请求,该创建请求用于在云数据中心内创建一个内存数据库实例。该创建请求中可以携带租户id和内存数据库的元数据。内存数据库的元数据包括了内存数据库性能参数,例如存储容量、最大支持的连接数、性能参数等。
34.s202,客户端根据该创建请求,指示配置模块生成对应的配置项。
35.客户端发送的指示包括租户id和内存数据库的元数据。
36.s204,配置模块根据指示,创建并存储该创建请求对应的配置项。
37.配置模块根据该指示为租户在kv存储池内创建了一个桶,并分配桶id。生成并记录配置项,配置项内包括租户id(可选的),桶id,内存数据库的元数据的对应关系,如图3所示。
38.同一租户的多个创建请求,或者不同租户的多个创建请求都可以在同一数据库实例内被分配多个不同的桶id。
39.s206,配置模块发送创建成功响应至接口模块。
40.s208,接口模块分配访问该内存数据库实例的ip地址,并发送创建成功响应至客户端。该ip地址也可以在s206由配置模块分配并发送至接口模块。所述创建成功响应携带有桶id。
41.同一租户的多个创建请求,或者不同租户的多个创建请求都可以在同一数据库实例内被分配多个不同的ip地址,这多个ip地址均指向语义转换模块,用于客户端后续将内存数据库操作请求发送至语义转换模块。如图3所示,3个租户分别被分配了ip地址1、ip地址2、ip地址3,ip地址1、ip地址2、ip地址3均指向语义转换模块。该创建过程使得多个租户可以共享一个数据库实例,提升了主机的物理资源利用率,减轻了租户的费用负担。
42.s208后,客户端得知内存数据库实例已经创建完成(实际上,在云数据中心内并未真正创建一个新的内存数据库实例,而是在配置模块内生成了一条配置项)。同一租户的多个创建请求,或者不同租户的多个创建请求都可以在同一数据库实例的配置模块内创建多个配置项,每个配置项的租户id、桶id均不同。
43.s210,客户端根据分配的ip地址,将内存数据库操作请求发送至语义转换模块。
44.内存数据库操作请求符合内存数据库的接口格式,内存数据库操作请求具体可以用于写数据、删除数据、修改数据、查询数据等。内存数据库操作请求携带有桶id。
45.s212,语义转换模块将内存数据库操作请求转换为kv操作请求。
46.语义转换模块根据内存数据库操作请求携带的数据的key和桶id,生成kv操作请求中携带的key。具体的生成方式可以用哈希,拼接等方法。
47.s214,语义转换模块将kv操作发送至kv存储池。
48.s216,kv存储池执行该kv操作请求。
49.s218,语义转换模块通知配置模块对该内存数据库操作请求对应的配置项进行调整。
50.s218可以在s212后执行,也可以在s216后确认kv存储池执行完毕kv操作请求后执行。语义转换模块可以通知配置模块对该内存数据库操作请求对应的配置项中的元数据进行调整,例如,如果该内存数据库操作请求用于写数据,那么s218中可以调整桶的剩余容量。
51.以上提供的数据操作方法中,多个客户端可以共享数据库实例,提升了主机资源利用率,降低了租户的成本。租户的客户端发送内存数据库操作请求至数据库实例,保持了内存数据库的接口格式,保证了租户的使用效率。同时,内存数据库操作请求在数据库实例内被转换为kv操作请求,避免了被操作的数据在主机的内存里长时间停留造成的对资源消耗,进一步提升了资源利用率,并降低了租户的成本。
52.图5提供了一种计算机400,包括计算机400也即运行了本技术提供的数据库实例的主机。
53.计算机400包括处理器401、网络设备402、总线403、存储设备404。处理器401、网络设备402、存储设备404之间通过总线403通信。处理器401可以为中央处理器(central processing unit,cpu)。存储设备403可以包括易失性存储设备(volatile memory),例如随机存取存储设备(random access memory,ram),或非易失性存储设备(non-volatile memory),例如只读存储设备(read-only memory,rom),快闪存储设备,hdd或ssd等。网络设备402为网络接口卡用于与客户端以及kv存储池通信。
54.存储设备404中存储有可执行指令,处理器401执行该可执行指令以执行数据库实例的各个模块以运行图4所示的方法。存储设备404还可以包括运行操作系统(operation system,os)所需的可执行指令。os可以为linux
tm
,unix
tm
,windows
tm
等。
55.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令时,全部或部分地产生按照本发明实施例的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字租户线或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如ssd)等。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献