CN113886217A - 云数据库服务的灰度验证方法、设备、系统及存储介质 - Google Patents

云数据库服务的灰度验证方法、设备、系统及存储介质 Download PDF

Info

Publication number
CN113886217A
CN113886217A CN202110977235.6A CN202110977235A CN113886217A CN 113886217 A CN113886217 A CN 113886217A CN 202110977235 A CN202110977235 A CN 202110977235A CN 113886217 A CN113886217 A CN 113886217A
Authority
CN
China
Prior art keywords
database instance
database
access request
instance
cloud server
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
Application number
CN202110977235.6A
Other languages
English (en)
Inventor
朱自升
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba China Co Ltd
Alibaba Cloud Computing Ltd
Original Assignee
Alibaba China Co Ltd
Alibaba Cloud Computing Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba China Co Ltd, Alibaba Cloud Computing Ltd filed Critical Alibaba China Co Ltd
Priority to CN202110977235.6A priority Critical patent/CN113886217A/zh
Publication of CN113886217A publication Critical patent/CN113886217A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/368Test management for test version control, e.g. updating test cases to a new software version
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请实施例提供一种云数据库服务的灰度验证方法、设备、系统及存储介质。采用云服务器上的新的数据库实例,更新用户的应用系统正在使用的旧的数据库实例之前,云服务器可利用新的数据库实例执行应用系统的访问请求。其中,该访问请求由应用系统对旧的数据库实例的访问请求复制得到,从而可在不影响应用系统在旧的数据库实例上正常运行的情况下,实现对新的数据库实例的运行测试。在新旧不同的数据库实例执行相同的访问请求后,云服务器对比不同数据库实例的执行结果,即可自动判断新的数据库实例与旧的数据库实例上的应用系统之间是否相互兼容。进而,可在不影响应用系统正常运行的前提下,为数据库实例的平滑、稳定更新提供了有力保证。

Description

云数据库服务的灰度验证方法、设备、系统及存储介质
技术领域
本申请涉及云计算技术领域,尤其涉及一种云数据库服务的灰度验证方法、设备、系统及存储介质。
背景技术
在云原生技术迅速发展的当下,云厂商在不断地对云数据库服务的功能进行深度的开发定制,以提供更全面的云数据库服务。在云数据库服务的深度开发过程中,云数据库服务的版本将不断地进行更新迭代。
现有技术中,通常采用强制升级或者在指定时间内升级云数据库服务的版本的实施方式。但是,这种实施方式无法确保云数据库服务在版本升级过程中的平滑性以及稳定性。因此,有待提出一种新的解决方案。
发明内容
本申请的多个方面提供一种云数据库服务的灰度验证方法、设备、系统及存储介质,用以对云数据库服务的进行平滑、稳定地更新。
本申请实施例还提供一种云数据库的灰度验证方法,包括:云服务器获取针对第一数据库实例的目标访问请求,所述目标访问请求,由应用系统对当前使用的第二数据库实例的原始访问请求复制得到;利用所述第一数据库实例,对所述目标访问请求进行处理;第一数据库实例为所述应用系统待使用的数据库实例;响应验证触发事件,分别获取所述第二数据库实例对所述原始访问请求的执行结果以及所述第一数据库实例对所述目标访问请求的执行结果;将所述第二数据库实例对所述原始访问请求的执行结果以及所述第一数据库实例对所述目标访问请求的执行结果进行对比,得到所述第一数据库实例与所述应用系统之间的兼容性验证结果。
本申请实施例还提供一种电子设备,其中,包括:存储器、处理器以及通信组件;其中,所述存储器用于存储一条或多条计算机指令;所述处理器用于执行所述一条或多条计算机指令以用于:执行本申请实施例提供的方法中的步骤。
本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,其中,计算机程序被处理器执行时能够实现本申请实施例提供的方法中的步骤。
本申请实施例还提供一种计算机程序产品,包括计算机程序/指令,其中,当计算机程序被处理器执行时,致使处理器实现本申请实施例提供的方法中的步骤。
本申请实施例提供的云数据库的灰度验证系统中,采用云服务器上的新的数据库实例,更新用户的应用系统正在使用的旧的数据库实例之前,云服务器可利用新的数据库实例执行应用系统的访问请求。其中,该访问请求由应用系统对旧的数据库实例的访问请求复制得到,从而可在不影响应用系统在旧的数据库实例上正常运行的情况下,实现对新的数据库实例的运行测试。在新旧不同的数据库实例执行相同的访问请求后,云服务器对比不同数据库实例的执行结果,即可自动判断新的数据库实例与旧的数据库实例上的应用系统之间是否相互兼容。进而,可在不影响应用系统正常运行的前提下,为数据库实例的平滑、稳定更新提供了有力保证。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请一示例性实施例提供的云数据库的灰度验证系统的结构示意图;
图2为本申请另一示例性实施例提供的云数据库的灰度验证系统的结构示意图;
图3为本申请一示例性实施例提供的云数据库的灰度验证系统的执行流程图;
图4为本申请一示例性实施例提供的云数据库的灰度验证方法的流程示意图;
图5为本申请一实例性实施例提供的电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在云原生技术迅速发展的当下,云厂商在不断地对云数据库服务的功能进行深度的开发定制,以提供更全面的云数据库服务。在云数据库服务的深度开发过程中,云数据库服务的版本将不断地进行更新迭代。
云数据库服务往往位于用户的应用系统的底层,用户的应用系统产生的数据,需要落地到云数据库中。当云数据库服务发布新版本时,一方面,用户希望快速升级到新版本,以享受新版本带来的性能提升和安全性提升;另一方面,用户往往担心升级到新的数据库服务版本后,用户的应用系统与升级后的数据库服务之间存在不兼容的问题,从而遭受损失。
现有技术中,通常采用强制升级或者在指定时间内升级云数据库服务的版本的实施方式。其中,强制升级是指,根据服务协议,当用户的数据库实例的版本低于某个版本时,强制为用户的数据库实例进行升级操作。这种实施方式未考虑用户侧的应用系统的需求。其中,指定时间内升级是指,向用户发出升级邀约,用户可以设置在指定时间范围内进行升级。这种实施方式考虑了用户的主观升级意愿,但仍旧未考虑用户侧的应用系统的需求。
在上述强制升级以及指定时间内升级的方式中,若升级后出现兼容性问下,则将对用户侧的应用系统造成严重影响。为解决这一问题,可在云数据库实例进行版本升级之前,投入专门的开发人员进行大量的测试验证工作,以确保云数据库服务在版本升级后对用户侧的应用系统的影响较小。但这种实施方式将耗费大量的人力成本。
针对上述技术问题,在本申请的一些实施例中,提供了一种解决方案,该解决方案可在云数据库服务进行版本升级之前,在应用系统无感知的情况下对新版本的云数据库服务进行灰度验证,从而实现云数据库服务的平滑、稳定升级。
以下结合附图,详细说明本申请各实施例提供的技术方案。
图1为本申请一示例性实施例提供的云数据库的灰度验证系统的结构示意图,如图1所示,云数据库的灰度验证系统100包括:云服务器10以及终端设备20。
在本实施例中,终端设备20是指能够向用户提供云数据库的灰度验证请求操作,并且具有通信功能的设备。在不同的应用场景下,终端设备20的实现形态也会有所不同。例如,在一些场景下,终端设备20可表现为用户侧的手机、平板电脑、计算机设备等,用户可通过上述终端设备20提供的插件、应用程序或者浏览器等访问云服务器10。
其中,云服务器10位于云计算平台(也称为云平台)上,用于基于硬件资源以及软件资源的服务,提供计算、网络以及存储能力。在一些实施例中,云服务器10可实现为云平台提供的服务器设备,包括虚拟主机、虚拟服务器、弹性计算实例等等,本实施例不做限制。云服务器10上运行有可提供云数据库服务的软件/硬件系统。
在本实施例中,云服务器10可向用户提供云数据库服务,云下数据上云服务、云数据库版本更新服务等等。在提供云数据库服务时,涉及到数据库实例的切换。例如,在提供云下数据上云服务时,用户的应用系统部署在云下数据库实例中,可将该云下的数据库实例切换为云上的指定版本的数据库实例。在提供云数据库版本更新服务时,用户的应用系统部署在云上的旧版本的数据库实例中,可将该旧版本的数据库实例切换为云上的新版本的数据库实例。
在切换数据库实例之前,云服务器10可提供对拟切换的目标数据库实例进行灰度验证的功能,从而确保切换后的数据库实例与用户的应用系统具有较好的兼容性。以下将对云服务器10提供的灰度验证功能进行实例性说明。
在以下的实施例中,为便于描述和区分,将拟切换的目标数据库实例描述为第一数据库实例,将待切换的数据库实例描述为第二数据库实例。即,第一数据库实例用于对第二数据库实例进行更新。该更新包括:由云下数据库实例切换为云上的数据库实例,或者由云上旧版本的数据库实例升级为云上新版本的数据库实例。
其中,第二数据库实例为用户的应用系统当前正在使用的数据库实例,第一数据库实例为应用系统待使用的数据库实例,该应用系统可依赖于数据库服务运行用户指定的功能逻辑,从而满足用户的计算需求。在本实施例中,将应用系统针对第二数据库实例的访问请求,描述为原始访问请求。其中,该访问请求可包括对第二数据库实例发起的增、删、改、查等请求。
在本实施例中,第一数据库实例,是云服务器10根据拟切换的数据库服务的版本创建的。第一数据库实例可与第二数据库实例执行相同的来自应用系统的访问请求,从而验证第二数据库实例上的应用系统,是否适合迁移至第一数据库实例中。
其中,原始访问请求是应用系统针对第二数据库实例发出的,在本实施例中,可对原始访问请求进行复制,并将复制得到的访问请求路由至云服务器10。其中,对原始访问请求进行复制,并将复制得到的访问请求路由至云服务器10的操作,可由云服务器10执行,也可由云下的其他硬件或者软件执行,本实施例不做限制。
云服务器10接收原始访问请求后,可用第一数据库实例对该原始访问请求进行处理。需要说明的是,原始访问请求可包括针对第二数据库实例发起的一个或者多个访问请求。若原始访问请求包括多个访问请求,则云服务器10可利用第一数据库实例执行每个访问请求,以确保第一数据库实例与第二数据库实例执行相同的访问请求。
若第一数据库实例与第二数据库实例上的应用系统具有良好的兼容性,则第一数据库实例与第二数据库实例在执行相同的访问请求后,将具有相同或者较为接近的执行结果。基于此,云服务器10可获取第一数据库实例以及第二数据库实例各自的执行结果,并对第一数据库实例以及第二数据库实例各自的执行结果进行对比,以判断第一数据库实例是否可较好地替代第二数据库实例来向应用系统提供服务。
其中,第二数据库实例可以位于云服务器10上;或者,第二数据库实例可以是用户在云下创建的数据库实例;或者,第二数据库实例也可以是云下的第三方的数据库实例,本实施例不做限制。当第二数据库实例的部署位置不同时,云服务器10可采用不同的实施方式获取第二数据库实例的第二执行结果,此部分将在后续实施例中进行介绍此处不赘述。
其中,云服务器10可在第一数据库实例以及第二数据库实例每次执行完相同的访问请求后,获取第一数据库实例以及第二数据库实例各自的执行结果,并根据获取到的执行结果执行兼容性判断操作。或者,云服务器10也可在特定的验证触发事件的触发下,获取第一数据库实例以及第二数据库实例各自的执行结果,并根据获取到的执行结果执行兼容性判断操作。
其中,该验证触发事件,可以是用户事件,也可以是系统事件。若为用户事件,可实现为用户通过终端设备20向云服务器10发送验证请求的事件。例如,终端设备20可提供发起验证请求的控件,用户可通过该控件触发验证操作,并由终端设备20根据该验证操作向云服务器10发送验证请求。
若为系统事件,则该系统事件可实现为定时事件,或者周期到达事件。例如,用户可通过终端设备20向云服务器10指定验证时间,当该验证时间到达时,云服务器10可执行验证操作。又例如,云服务器10可设置一验证周期,每一验证周期结束时,云服务器10可对第一数据库实例和第二数据库实例在该验证周期内的兼容性进行验证。
响应验证触发事件,云服务器10可获取第一数据库实例对原始访问请求的第一执行结果,并获取第二数据库实例对原始访问请求复制得到的目标访问请求的第二执行结果。获取到第一执行结果以及第二执行结果后,云服务器10可将第一执行结果与第二执行结果进行对比,得到第一数据库实例与第二数据库实例之间的兼容性验证结果。
上述获取第一执行结果以及第二执行结果,并对第一执行结果和第二执行对比的操作,可由云服务器10中的兼容性验证服务组件执行。该兼容性验证服务组件,可实现为云服务器10中的功能模块,该功能模型可基于具有特定功能逻辑的程序代码实现,本实施例不做限制。
在一些可选的实施例中,终端设备20可包括一电子显示屏,用户可通过该显示屏发起访问云服务器10的请求,并查看云服务器10获取到的兼容性验证结果。其中,电子显示屏可包括液晶显示器(LCD)和触摸面板(TP)。如果电子显示屏包括触摸面板,电子显示屏可以被实现为触摸屏,该触摸屏可接收来自用户的输入信号,以获用户查看兼容性验证结果的操作。当然,在其他可选的实施例中,终端设备20可包括用于向用户提供输入操作的物理按键或者语音输入装置等,此处不赘述。
终端设备20检测到用户查看兼容性验证结果的操作后,可向云服务器10发送查看数据库实例的兼容性的请求。云服务器10可响应该请求,将兼容性验证结果发送至终端设备20进行展示。
例如,在一些实施例中,终端设备20通过浏览器提供的网页访问云服务器10时,该网页上可展示下载兼容性报告的控件,用户可触发该控件,以使得终端设备20向云服务器10发送下载兼容性报告的请求。云服务器10接收到该下载请求后,可向终端设备20返回兼容性报告,以供用户查看。
其中,该兼容性报告,可包含是否兼容的判断结果,还可包含第一数据库实例与第二数据库实例的执行结果的对比详情数据,本实施例对此不做限制。
在灰度验证系统100中,为实现终端设备20和云服务器10之间的上述数据交互过程,终端设备20和云服务器10可建立通信连接,具体的通信连接方式可视实际的应用场景而定。
在一些示例性实施方式中,终端设备20和云服务器10之间可采用有线通信方式无线通信方式进行通信。其中,无线通信方式包括蓝牙、ZigBee、红外线、WiFi(Wireless-Fidelity,无线保真技术)等短距离通信方式,也包括LORA等远距离无线通信方式,还可包括基于移动网络的无线通信方式。其中,当通过移动网络通信连接时,移动网络的网络制式可以为2G(GSM)、2.5G(GPRS)、3G(WCDMA、TD-SCDMA、CDMA2000、UTMS)、4G(LTE)、4G+(LTE+)、5G、WiMax等中的任意一种。
在本实施例中,采用云服务器上的新的数据库实例,更新用户的应用系统正在使用的旧的数据库实例之前,云服务器可利用新的数据库实例执行应用系统的访问请求。其中,该访问请求由应用系统对旧的数据库实例的访问请求复制得到,从而可在不影响应用系统在旧的数据库实例上正常运行的情况下,实现对新的数据库实例的运行测试。在新旧不同的数据库实例执行相同的访问请求后,云服务器对比不同数据库实例的执行结果,即可自动判断新的数据库实例与旧的数据库实例上的应用系统之间是否相互兼容。进而,可在不影响应用系统正常运行的前提下,为数据库实例的平滑、稳定更新提供了有力保证。
除此之外,该方法降低了数据库服务的灰度验证过程对人工测试操作的依赖,有利于降低灰度验证的人力成本。
在一些示例性的实施例中,为确保灰度验证过程的安全性,第一数据库实例可预先部署在云服务器10中的基于虚拟专用网络的安全隔离环境中,进而使得用户的数据在安全的环境中进行保存以及传输。以下将具体介绍第一数据库实例的可选部署方式。
可选地,终端设备20可向用户提供发起灰度验证操作的入口。例如,云上的数据库服务发布新版本时,终端设备20可询问用户是否升级新版本,并提供新版本的测试入口。终端设备20可在用户对该测试入口的触发操作下,向云服务器10发送针对数据库服务的灰度验证请求。当云服务器10提供多个版本的云数据库服务时,终端设备20可展示多个版本的相关信息。用户可根据需求,指定云数据库服务的版本号,该用户指定的版本的版本号,可描述为云数据库服务的目标版本号。
为提升用户数据在传输过程中的安全性,该指定版本的云数据库服务,可基于专有虚拟网络(Virtual Private Network,VPN)实现加密通信。可选地,用户可通过终端设备20,指定所使用的VPN的ID(identity,身份标识)。终端设备20可根据目标版本号以及VPN的ID,向云服务器10发送针对数据库服务的灰度验证请求。
云服务器10接收终端设备20发送的针对数据库服务的灰度验证请求后,可根据VPN的ID,在云服务器上创建基于VPN进行数据传输的隔离容器。该隔离容器可提供安全的数据隔离环境,并可基于VPN实现加密通信。接下来,可根据目标版本号对应的数据库服务的安装包,在隔离容器中部署第一数据库实例,并将第一数据库实例的地址返回至终端设备20。其中,云服务器10中的数据库实例的地址与其ID存在一一对应的关系,因此,云服务器10在返回第一数据库实例的地址时,可直接返回第一数据库实例对应的ID,以便于用户查看或者记忆。
在一些实施例中,为满足“增、删、改、查”的需求,在创建第一数据库实例之后,可将第二数据库实例中的数据集备份至第一数据实例中,以确保在第一数据库实例与第二数据库实例执行相同的访问请求之前,第一数据库实例与第二数据实例具有相同的存量数据。
基于上述实施方式部署得到的第一数据库实例可作为第二数据库实例的“影子实例”存在,即第二数据库实例与第一数据库实例具有相同的数据基础,以便于后续二者执行相同的访问请求,并在相同的数据基础上对比执行结果。
在本申请的上述以及下述各实施例中,数据库实例的地址可通过数据库代理组件(proxy server)向应用系统暴露,应用系统发送的访问请求,可经由数据库代理组件路由至不同的数据库实例中。其中,数据库代理组件,可基于四层或者七层的数据库访问代理服务实现,本实施例不做限制。
因此,为将第二数据库实例上部署的应用系统的访问请求同步路由至第一数据库实例,用户通过终端设备20获取到第一数据库实例的地址后,可向数据库代理组件注册第一数据库实例。
在一些实施例中,数据库代理组件位于云服务器10之外,如图1所示。在这种实施方式中,用户可通过修改数据库代理组件的配置文件的方式,向数据库代理组件注册第一数据库实例。
在另一些实施例中,如图2所示,数据库代理组件位于云服务器10中,则用户可通过终端设备20访问云服务器10,并向云服务器10中的数据库代理组件注册第二数据库实例。
当数据库代理组件位于云服务器10中时,云服务器10通过数据库代理组件,接收终端设备20发送的注册请求,该注册请求包括第一数据库实例的地址以及登录凭证。其中,登录凭证包括第一数据库实例的账户、登录密码以及授权信息。数据库代理组件可根据该注册请求,确定第一数据库实例与第二数据库实例的对应关系。
基于此,数据库代理组件在接收到针对第一数据库的访问请求时,可将原始访问请求路由至第二数据库实例,并可对原始访问请求进行复制;根据第一数据库实例与第二数据库实例的对应关系,数据库代理组件可将复制得到的目标访问请求路由至第一数据库实例,以使得第一数据库实例与第二数据库实例执行相同的任务。
在这种实施方式中,数据库代理组件位于云服务器10上,可向用户提供快捷的数据库实例注册服务,节省了用户修改数据库代理组件的配置文件所需的时间以及人力成本。
在第一数据库实例以及第二数据库实例分别执行对应的访问请求后,云服务器10可响应验证触发事件,获取第一数据库实例对原始访问请求的执行结果以及第二数据库实例对原始访问请求的执行结果。
其中,第一数据库实例位于云服务器10上,云服务器10可根据第一数据库实例的地址以及登录凭证,访问所述第一数据库实例,并从第一数据库实例中获取执行结果。其中,第一数据库实例的登录凭证,可以是用户通过终端设备20提供的,也可以是云服务器10部署第一数据库实例时设置的,本实施例不做限制。
其中,第二数据库实例可以位于云服务器10上,也可以位于云服务器10之外的其他服务器中。以下将结合不同的场景进行说明。
在云数据库版本更新的场景中,第二数据库实例位于云上,可实现为云服务器10提供的云数据库实例,如图2所示。当第二数据库实例位于云服务器10上时,云服务器10可在用户授权后,根据第二数据库实例的地址以及登录凭证访问第二数据库实例,并从第二数据库实例中获取执行结果。其中,第二数据库实例的登录凭证,可以是用户通过终端设备20提供的。
在云下数据上云服务的场景中,第二数据库实例位于云下,可以为用户部署的数据库实例,也可以为第三方的数据库实例,如图1所示。在这种情况下,云服务器10可预先在用户的授权下,根据二数据库实例的地址以及登录凭证,对第二数据库实例进行数据库备份操作。
可选地,在这种实施方式中,用户可通过终端设备20向云服务器10发送数据备份请求数据备份请求,该请求可携带第二数据库实例的地址以及登录凭证,该登录凭证包含用户的授权信息。
云服务器10可响应终端设备20发送的数据备份请求,获取第二数据库实例的地址以及登录凭证。在用户的授权下,云服务器10可创建以第二数据库实例为主数据库的从数据库,以将第二数据库实例中的数据变化同步至从数据库中。也就是说,第一数据库执行原始访问请求后产生的数据变化,将被同步至云服务器10上的从数据库中。从而,云服务器10可基于第二数据库实例与从数据库的主从关系,以“复制者”的身份访问第二数据库实例,并获取第二数据库实例的执行结果。
在这种实施方式中,以复制者的身份访问第二数据库实例时,可确保灰度测试过程对用户的应用系统而言是透明无感知的,进而降低对第二数据库实例的正常运行过程产生影响。
云服务器10在获取到第一数据库实例对目标访问请求的执行结果以及第二数据库实例对原始访问请求的执行结果后,可将第一数据库实例的执行结果以及第二数据库实例的执行结果进行对比,得到第一数据库实例与应用系统之间的兼容性验证结果。
可选地,云服务器10可将第一数据库实例执行目标访问请求后的数据与第二数据库实例执行原始访问请求后的数据进行对比,得到第一数据库实例与第二数据库实例的数据一致性验证结果。
其中,若第一数据库实例与第二数据库实例具有数据一致性,则可认为第一数据库实例与第二数据库实例上的应用系统具有良好的兼容性。若将部署在第二数据库实例上的应用系统迁移到第一数据库实例上,则对用户的应用系统产生的影响较小。因此,有利于实现第二数据库实例向第一数据库实例进行平滑稳定切换,满足数据上云需求以及数据库服务升级需求。
进一步可选地,除进行数据一致性对比之外,云服务器10还可进一步对第一数据库实例以及第二数据库实例进行性能对比。为比较第一数据库实例以及第二数据库实例进行性能,云服务器10在部署第一数据库实例时,可设置第一数据库实例与第二数据库实例具有相同的规格。
可选地,用户通过终端设备20请求灰度验证数据库服务时,可进一步提供第二数据库实例的规格信息。该规格信息包括:内存容量、CPU(central processing unit,中央处理器)规格、磁盘容量以及I/O(输入/输出)带宽中的至少一种。终端设备20可携带上述规格信息,向云服务器10发送灰度验证请求。
云服务器10在隔离容器中部署第一数据库实例时,可根据目标版本号对应的数据库服务的安装包,在隔离容器中部署与该规格信息适配的第一数据库实例。进而,可使得第一数据库实例与第二数据库实例具有相同的规格配置。
基于此,云服务器10在进行灰度验证时,还可进一步获取第一数据库实例的吞吐量数据以及第二数据库实例的吞吐量数据。其中,该吞吐量数据,可以是QPS(Queries-per-second,每秒查询率)或者TPS(Transaction-per-second,每秒数据处理量),本实施例包含但不限于此。云服务器10可将第一数据库实例执行目标访问请求时的吞吐量数据以及第二数据库实例执行所述原始访问请求时的吞吐量数据进行对比,得到第一数据库实例和第二数据库实例的性能对比结果。
其中,若第一数据库实例的吞吐量大于第二数据库实例的吞吐量,则可认为第一数据库实例的性能优于第二数据库实例,第一数据库实例与第二数据库实例上的应用系统具有良好的兼容性。反之,则可认为第一数据库实例的性能接近或者明显差于第二数据库实例的性能,第一数据库实例与第二数据库实例上的应用系统之间的兼容性较差。
基于上述各实施例确定兼容性验证结果后,可输出该兼容性验证结果。在该兼容性验证结果中,可直观地展示数据一致性对比结果和/或性能对比结果,也可根据数据一致性对比结果和/或性能对比结果给出是否兼容的判断结论,以便于用户下载后查看。
以下将结合图3,以云上数据库实例升级场景为例进行进一步示例性说明。如图3所示,开始灰度验证后,云服务器可创建安全隔离环境,并在安全隔离环境中部署新版本的云数据库服务实例。部署完成后,用户可注册新版本的云数据库服务实例至云服务器中的数据库代理组件。
接下来,数据库代理组件可接收应用系统的访问请求,并将该访问请求分别路由至新版本的数据库实例以及旧版本的数据库实例。在数据库实例处理访问请求后,云服务器中的兼容性验证组件可拉取新版本的数据库实例的执行结果以及旧版本的数据库实例的执行结果,并判断验证周期是否结束。若验证周期未结束,可由数据库代理组件继续接收应用系统的访问请求。若验证周期结束,则可由兼容性验证组件将两种执行结果进行对比,得到数据一致性对比结果以及性能对比结果。接下来,兼容性验证组件可判断数据一致性对比结果是否异常或新版本的数据库实例的性能是否差于旧版本的数据库实例的性能。若数据一致性对比结果异常,或者新版本的数据库实例的性能差于旧版本的数据库实例的性能,则返回不兼容风险报告。若数据一致性对比结果正常,且新版本的数据库实例的性能优于旧版本的数据库实例的性能,则给出兼容性结论以及说明报告供用户查看。
除前述实施例提供的灰度验证系统之外,本申请实施例还提供一种灰度验证方法,以下将结合附图进行示例性说明。
图4是本申请一示例性实施例提供的云数据库服务的灰度验证方法的流程示意图,该方法在云服务器侧执行时,可包括如图4所示的步骤:
步骤401、云服务器获取针对第一数据库实例的目标访问请求,所述目标访问请求,由应用系统对当前使用的第二数据库实例的原始访问请求复制得到。
步骤402、利用所述第一数据库实例,对所述目标访问请求进行处理;第一数据库实例为所述应用系统待使用的数据库实例。
步骤403、响应验证触发事件,分别获取所述第二数据库实例对所述原始访问请求的执行结果以及所述第一数据库实例对所述目标访问请求的执行结果。
步骤404、将所述第二数据库实例对所述原始访问请求的执行结果以及所述第一数据库实例对所述目标访问请求的执行结果进行对比,得到所述第一数据库实例与所述应用系统之间的兼容性验证结果。
在一些示例性的实施例中,利用所述第一数据库实例,对所述目标访问请求进行处理之前,还包括:接收终端设备发送的针对数据库服务的灰度验证请求,所述灰度验证请求包括:所述数据库服务的目标版本号以及专有虚拟网络的ID;根据所述虚拟专有网络的ID,在所述云服务器上创建基于专有虚拟网络的隔离容器;根据所述目标版本号对应的数据库服务的安装包,在所述隔离容器中部署所述第一数据库实例。
在一些示例性的实施例中,所述灰度验证请求,还包括:数据库实例的规格信息,所述规格信息包括:内存容量、CPU规格、磁盘容量以及I/O带宽中的至少一种;根据所述目标版本号对应的数据库服务的安装包,在所述隔离容器中部署所述第一数据库实例的一种方式,包括:根据所述目标版本号对应的数据库服务的安装包,在所述隔离容器中部署与所述规格信息适配的所述第一数据库实例。
在一些示例性的实施例中,利用所述第一数据库实例,对所述目标访问请求进行处理之前,还包括:获取所述第二数据库实例的地址以及登录凭证;根据所述第二数据库实例的地址以及登录凭证,访问所述第二数据库实例;将所述第二数据库实例中的存量数据备份至部署完成的所述第一数据库实例中,以同步所述第一数据库实例和所述第二数据库实例中的存量数据。
在一些示例性的实施例中,在所述隔离容器中部署所述第一数据库实例之后,还包括:将所述第一数据库实例的地址返回至所述终端设备;通过数据库代理组件,接收所述终端设备发送的注册请求,所述注册请求包括:所述第一数据库实例的地址以及登录凭证;根据所述注册请求,确定所述第一数据库实例与所述第二数据库实例的对应关系。
在一些示例性的实施例中,云服务器获取针对第一数据库实例的目标访问请求的一种方式,包括:通过所述数据库代理组件接收针对所述第二数据库实例的所述原始访问请求;将所述原始访问请求路由至所述第二数据库实例,并对所述原始访问请求进行复制,得到所述目标访问请求;根据所述第一数据库实例与所述第二数据库实例的对应关系,将所述目标访问请求路由至所述第一数据库实例。
在一些示例性的实施例中,所述第二数据库实例位于所述云服务器之外的服务器中;获取所述第二数据库实例对所述原始访问请求的执行结果之前,还包括:响应终端设备发送的数据备份请求,创建以所述第二数据库实例为主数据库的从数据库,以将所述第二数据库实例中的数据变化实时同步至所述从数据库中;相应地,获取所述第二数据库实例对所述原始访问请求的执行结果的一种方式,包括:通过兼容性验证组件,访问所述从数据库,得到所述第二数据库实例对所述原始访问请求的执行结果。
在一些示例性的实施例中,将所述第二数据库实例对所述原始访问请求的执行结果以及所述第一数据库实例对所述目标访问请求的执行结果进行对比,得到所述第一数据库实例与所述应用系统之间的兼容性验证结果的一种方式,包括:将所述第一数据库实例执行所述目标访问请求后的数据与所述第二数据库实例执行所述原始访问请求后的数据进行对比,得到所述第一数据库实例与所述第二数据库实例的数据一致性验证结果;和/或,将所述第一数据库实例执行所述原始访问请求时的吞吐量数据以及所述第二数据库实例执行所述原始访问请求时的吞吐量数据进行对比,得到所述第一数据库实例和所述第二数据库实例的性能对比结果;输出所述数据一致性验证结果和/或所述性能对比结果,作为所述兼容性验证结果。
在一些示例性的实施例中,该方法还包括:响应终端设备发送的查看所述第一数据库实例的兼容性的请求,将所述兼容性验证结果发送至所述终端设备进行展示。
在本实施例中,采用云服务器上的新的数据库实例,更新用户的应用系统正在使用的旧的数据库实例之前,云服务器可利用新的数据库实例执行应用系统的访问请求。其中,该访问请求由应用系统对旧的数据库实例的访问请求复制得到,从而可在不影响应用系统在旧的数据库实例上正常运行的情况下,实现对新的数据库实例的运行测试。在新旧不同的数据库实例执行相同的访问请求后,云服务器对比不同数据库实例的执行结果,即可自动判断新的数据库实例与旧的数据库实例上的应用系统之间是否相互兼容。进而,可在不影响应用系统正常运行的前提下,为数据库实例的平滑、稳定更新提供了有力保证。
需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤401至步骤404的执行主体可以为设备A;又比如,步骤401和402的执行主体可以为设备A,步骤403的执行主体可以为设备B;等等。
另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如401、402等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。
另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
图5示意了本申请一示例性实施例提供的电子设备的结构示意图,该电子设备可用于执行前述各实施例提供的云数据库服务的灰度验证方法。该点子设备可位于云平台中,实现为云平台中的云服务器。以下将以电子设备实现为云服务器为例进行说明。
如图5所示,该电子设备包括:存储器501、处理器502以及通信组件503。
存储器501,用于存储计算机程序,并可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
其中,存储器501可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
处理器502,与存储器501耦合,用于执行存储器501中的计算机程序,以用于:云服务器获取针对第一数据库实例的目标访问请求,所述目标访问请求,由应用系统对当前使用的第二数据库实例的原始访问请求复制得到;利用所述第一数据库实例,对所述目标访问请求进行处理;第一数据库实例为所述应用系统待使用的数据库实例;响应验证触发事件,第二数据库实例第一数据库实例原始访问请求分别获取所述第二数据库实例对所述原始访问请求的执行结果以及所述第一数据库实例对所述目标访问请求的执行结果;第二数据库实例第一数据库实例原始访问请求将所述第二数据库实例对所述原始访问请求的执行结果以及所述第一数据库实例对所述目标访问请求的执行结果进行对比,得到所述第一数据库实例与所述应用系统之间的兼容性验证结果。
进一步可选地,处理器502在利用所述第一数据库实例,对所述目标访问请求进行处理之前,还用于:接收终端设备发送的针对数据库服务的灰度验证请求,所述灰度验证请求包括:所述数据库服务的目标版本号以及专有虚拟网络的ID;根据所述虚拟专有网络的ID,在所述云服务器上创建基于专有虚拟网络的隔离容器;根据所述目标版本号对应的数据库服务的安装包,在所述隔离容器中部署所述第一数据库实例。
进一步可选地,所述灰度验证请求,还包括:数据库实例的规格信息,所述规格信息包括:内存容量、CPU规格、磁盘容量以及I/O带宽中的至少一种;处理器502在根据所述目标版本号对应的数据库服务的安装包,在所述隔离容器中部署所述第一数据库实例时,具体用于:根据所述目标版本号对应的数据库服务的安装包,在所述隔离容器中部署与所述规格信息适配的所述第一数据库实例。
进一步可选地,处理器502在利用所述第一数据库实例,对所述目标访问请求进行处理之前,还用于:获取所述第二数据库实例的地址以及登录凭证;根据所述第二数据库实例的地址以及登录凭证,访问所述第二数据库实例;将所述第二数据库实例中的存量数据备份至部署完成的所述第一数据库实例中,以同步所述第一数据库实例和所述第二数据库实例中的存量数据。
进一步可选地,处理器502在所述隔离容器中部署所述第一数据库实例之后,还用于:将所述第一数据库实例的地址返回至所述终端设备;通过数据库代理组件,接收所述终端设备发送的注册请求,所述注册请求包括:所述第一数据库实例的地址以及登录凭证;根据所述注册请求,确定所述第一数据库实例与所述第二数据库实例的对应关系。
进一步可选地,处理器502在云服务器获取针对第一数据库实例的目标访问请求时,具体用于:通过所述数据库代理组件接收针对所述第二数据库实例的所述原始访问请求;将所述原始访问请求路由至所述第二数据库实例,原始访问请求并对所述原始访问请求进行复制,得到所述目标访问请求;根据所述第一数据库实例与所述第二数据库实例的对应关系,原始访问请求第一数据库实例将所述目标访问请求路由至所述第一数据库实例。
进一步可选地,所述第二数据库实例位于所述云服务器之外的服务器中;处理器502在获取所述第二数据库实例对所述原始访问请求的执行结果之前,还用于:响应终端设备发送的数据备份请求,创建以所述第二数据库实例为主数据库的从数据库,以将所述第二数据库实例中的数据变化实时同步至所述从数据库中;处理器502在获取所述第二数据库实例对所述原始访问请求的执行结果时,具体用于:通过兼容性验证组件,访问所述从数据库,得到所述第二数据库实例对所述原始访问请求的执行结果。
进一步可选地,处理器502在第一数据库实例第二数据库实例原始访问请求将所述第二数据库实例对所述原始访问请求的执行结果以及所述第一数据库实例对所述目标访问请求的执行结果进行对比,得到所述第一数据库实例与所述应用系统之间的兼容性验证结果时,具体用于:将所述第一数据库实例执行所述目标访问请求后的数据与所述第二数据库实例执行所述原始访问请求后的数据进行对比,得到所述第一数据库实例与所述第二数据库实例的数据一致性验证结果;和/或,将所述第一数据库实例执行所述原始访问请求时的吞吐量数据以及所述第二数据库实例执行所述原始访问请求时的吞吐量数据进行对比,得到所述第一数据库实例和所述第二数据库实例的性能对比结果;输出所述数据一致性验证结果和/或所述性能对比结果,作为所述兼容性验证结果。
进一步可选地,处理器502还用于:响应终端设备发送的查看所述第一数据库实例的兼容性的请求,将所述兼容性验证结果发送至所述终端设备进行展示。
进一步,如图5所示,该电子设备还包括:电源组件504等其它组件。图5中仅示意性给出部分组件,并不意味着电子设备只包括图5所示组件。
其中,通信组件503被配置为便于通信组件所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如WiFi,2G、3G、4G或5G,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件可基于近场通信(NFC)技术、射频识别(RFID)技术、红外数据协会(IrDA)技术、超宽带(UWB)技术、蓝牙(BT)技术和其他技术来实现。
其中,电源组件504,为电源组件所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
本实施例中,采用云服务器上的新的数据库实例,更新用户的应用系统正在使用的旧的数据库实例之前,云服务器可利用新的数据库实例执行应用系统的访问请求。其中,该访问请求由应用系统对旧的数据库实例的访问请求复制得到,从而可在不影响应用系统在旧的数据库实例上正常运行的情况下,实现对新的数据库实例的运行测试。在新旧不同的数据库实例执行相同的访问请求后,云服务器对比不同数据库实例的执行结果,即可自动判断新的数据库实例与旧的数据库实例上的应用系统之间是否相互兼容。进而,可在不影响应用系统正常运行的前提下,为数据库实例的平滑、稳定更新提供了有力保证。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现上述方法实施例中可由电子设备执行的各步骤。
相应地,本申请实施例还提供一种计算机程序产品,包括计算机程序/指令,其中,当计算机程序被处理器执行时,致使处理器能够实现上述方法实施例中可由电子设备执行的各步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (12)

1.一种云数据库服务的灰度验证方法,其中,包括:
云服务器获取针对第一数据库实例的目标访问请求,所述目标访问请求,由应用系统对当前使用的第二数据库实例的原始访问请求复制得到;
利用所述第一数据库实例,对所述目标访问请求进行处理;第一数据库实例为所述应用系统待使用的数据库实例;
响应验证触发事件,分别获取所述第二数据库实例对所述原始访问请求的执行结果以及所述第一数据库实例对所述目标访问请求的执行结果;
将所述第二数据库实例对所述原始访问请求的执行结果以及所述第一数据库实例对所述目标访问请求的执行结果进行对比,得到所述第一数据库实例与所述应用系统之间的兼容性验证结果。
2.根据权利要求1所述的方法,其中,利用所述第一数据库实例,对所述目标访问请求进行处理之前,还包括:
接收终端设备发送的针对数据库服务的灰度验证请求,所述灰度验证请求包括:所述数据库服务的目标版本号以及专有虚拟网络的ID;
根据所述虚拟专有网络的ID,在所述云服务器上创建基于专有虚拟网络的隔离容器;
根据所述目标版本号对应的数据库服务的安装包,在所述隔离容器中部署所述第一数据库实例。
3.根据权利要求2所述的方法,其中,所述灰度验证请求,还包括:数据库实例的规格信息,所述规格信息包括:内存容量、CPU规格、磁盘容量以及I/O带宽中的至少一种;
根据所述目标版本号对应的数据库服务的安装包,在所述隔离容器中部署所述第一数据库实例,包括:
根据所述目标版本号对应的数据库服务的安装包,在所述隔离容器中部署与所述规格信息适配的所述第一数据库实例。
4.根据权利要求2所述的方法,其中,利用所述第一数据库实例,对所述目标访问请求进行处理之前,还包括:
获取所述第二数据库实例的地址以及登录凭证;
根据所述第二数据库实例的地址以及登录凭证,访问所述第二数据库实例;
将所述第二数据库实例中的存量数据备份至部署完成的所述第一数据库实例中,以同步所述第一数据库实例和所述第二数据库实例中的存量数据。
5.根据权利要求2所述的方法,其中,在所述隔离容器中部署所述第一数据库实例之后,还包括:
将所述第一数据库实例的地址返回至所述终端设备;
通过数据库代理组件,接收所述终端设备发送的注册请求,所述注册请求包括:所述第一数据库实例的地址以及登录凭证;
根据所述注册请求,确定所述第一数据库实例与所述第二数据库实例的对应关系。
6.根据权利要求5所述的方法,其中,云服务器获取针对第一数据库实例的目标访问请求,包括:
通过所述数据库代理组件接收针对所述第二数据库实例的所述原始访问请求;
将所述原始访问请求路由至所述第二数据库实例,并对所述原始访问请求进行复制,得到所述目标访问请求;
根据所述第一数据库实例与所述第二数据库实例的对应关系,将所述目标访问请求路由至所述第一数据库实例。
7.根据权利要求1-6任一项所述的方法,其中,所述第二数据库实例位于所述云服务器之外的服务器中;获取所述第二数据库实例对所述原始访问请求的执行结果之前,还包括:
响应终端设备发送的数据备份请求,创建以所述第二数据库实例为主数据库的从数据库,以将所述第二数据库实例中的数据变化实时同步至所述从数据库中;
获取所述第二数据库实例对所述原始访问请求的执行结果,包括:
通过兼容性验证组件,访问所述从数据库,得到所述第二数据库实例对所述原始访问请求的执行结果。
8.根据权利要求1-6任一项所述的方法,其中,将所述第二数据库实例对所述原始访问请求的执行结果以及所述第一数据库实例对所述目标访问请求的执行结果进行对比,得到所述第一数据库实例与所述应用系统之间的兼容性验证结果,包括:
将所述第一数据库实例执行所述目标访问请求后的数据与所述第二数据库实例执行所述原始访问请求后的数据进行对比,得到所述第一数据库实例与所述第二数据库实例的数据一致性验证结果;和/或,
将所述第一数据库实例执行所述原始访问请求时的吞吐量数据以及所述第二数据库实例执行所述原始访问请求时的吞吐量数据进行对比,得到所述第一数据库实例和所述第二数据库实例的性能对比结果;
输出所述数据一致性验证结果和/或所述性能对比结果,作为所述兼容性验证结果。
9.根据权利要求1-6任一项所述的方法,其中,还包括:
响应终端设备发送的查看所述第一数据库实例的兼容性的请求,将所述兼容性验证结果发送至所述终端设备进行展示。
10.一种电子设备,其中,包括:存储器、处理器以及通信组件;
其中,所述存储器用于存储一条或多条计算机指令;
所述处理器用于执行所述一条或多条计算机指令以用于:执行权利要求1-9任一项所述的方法中的步骤。
11.一种存储有计算机程序的计算机可读存储介质,其中,计算机程序被处理器执行时能够实现权利要求1-9任一项所述的云数据库服务的灰度验证方法。
12.一种计算机程序产品,包括计算机程序/指令,其中,当计算机程序被处理器执行时,致使处理器实现权利要求1-9任一项所述方法中的步骤。
CN202110977235.6A 2021-08-24 2021-08-24 云数据库服务的灰度验证方法、设备、系统及存储介质 Pending CN113886217A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110977235.6A CN113886217A (zh) 2021-08-24 2021-08-24 云数据库服务的灰度验证方法、设备、系统及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110977235.6A CN113886217A (zh) 2021-08-24 2021-08-24 云数据库服务的灰度验证方法、设备、系统及存储介质

Publications (1)

Publication Number Publication Date
CN113886217A true CN113886217A (zh) 2022-01-04

Family

ID=79011378

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110977235.6A Pending CN113886217A (zh) 2021-08-24 2021-08-24 云数据库服务的灰度验证方法、设备、系统及存储介质

Country Status (1)

Country Link
CN (1) CN113886217A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116484413A (zh) * 2023-06-25 2023-07-25 上海联鼎软件股份有限公司 面向非结构化数据的高效跨云智能安全布局构建方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116484413A (zh) * 2023-06-25 2023-07-25 上海联鼎软件股份有限公司 面向非结构化数据的高效跨云智能安全布局构建方法
CN116484413B (zh) * 2023-06-25 2023-09-29 上海联鼎软件股份有限公司 面向非结构化数据的高效跨云智能安全布局构建方法

Similar Documents

Publication Publication Date Title
CN112019475B (zh) 无服务器架构下的资源访问方法、设备、系统及存储介质
CN109547570B (zh) 服务注册方法、装置、注册中心管理设备及存储介质
CN108809722B (zh) 一种部署Kubernetes集群的方法、装置和存储介质
US10735393B2 (en) Data communication method, user equipment, and server
CN109542611B (zh) 数据库即服务系统、数据库调度方法、设备及存储介质
US10057113B2 (en) Techniques for workload coordination
CN106528224A (zh) 一种Docker容器的内容更新方法、服务器及系统
CN109144478B (zh) 组件框架系统以及组件框架系统的使用方法
CN107967140B (zh) 软件修改的发起方法、发布元数据的方法及装置
TW201721411A (zh) 應用程式的處理方法和裝置
EP3016354A1 (en) Cloud-service-based data backup and operation method
WO2017166791A1 (zh) 应用程序备份方法及装置
CN113961312A (zh) 目标服务的部署方法、装置和电子设备
CN111796838B (zh) Mpp数据库自动部署方法及装置
US10929241B2 (en) System and method to provide file level restore
CN110968331A (zh) 应用程序运行的方法和装置
US10078532B2 (en) Resource management method and device for terminal system among multiple operating systems
CN105763545B (zh) 一种byod方法及装置
CN114996750A (zh) 数据共享方法以及装置
CN113886217A (zh) 云数据库服务的灰度验证方法、设备、系统及存储介质
CN111935260B (zh) 账户同步的方法及装置、电子设备、存储介质
CN113300866B (zh) 节点能力管控方法、设备、系统及存储介质
US10474472B2 (en) Operating system establishing method and apparatus
CN104570967A (zh) 基于Android系统的远程控制方法及系统
US11757976B2 (en) Unified application management for heterogeneous application delivery

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40066052

Country of ref document: HK

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination