CN115114260B - 数据处理方法、装置、电子设备及存储介质 - Google Patents
数据处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115114260B CN115114260B CN202110974942.XA CN202110974942A CN115114260B CN 115114260 B CN115114260 B CN 115114260B CN 202110974942 A CN202110974942 A CN 202110974942A CN 115114260 B CN115114260 B CN 115114260B
- Authority
- CN
- China
- Prior art keywords
- metadata
- storage area
- node
- storage
- new version
- 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
- G06F16/219—Managing data history or versioning
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种数据处理方法、装置、电子设备及存储介质,当存储旧版本元数据的存储区域为第一存储区域时,根据第二路由信息将数据库的新版本元数据写入第二存储区域,根据第一路由信息获取第一变更元数据,将第一变更元数据合并至新版本元数据中,由于旧版本元数据和新版本元数据对应存储于第一存储区域和第二存储区域,通过第一路由信息保持数据库的对外服务,然后将第一变更元数据合并至新版本元数据,再通知管控节点将用于响应事务处理的路由信息切换为第二路由信息以完成数据库的升级,从而在数据库升级期间避免新版本元数据和旧版本元数据之间的相互干扰,提高数据库升级的稳定性,可广泛应用于云计算、数据库等领域。
Description
技术领域
本发明涉及数据库技术领域,特别是涉及一种数据处理方法、装置、电子设备及存储介质。
背景技术
数据库(Database)是互联网中各种业务的数据载体,随着业务的开展,需要对数据库进行升级,以更新数据库里的元数据,满足相应的业务需求。数据库在进行升级时,通常情况下不停止数据库的对外服务,因而新版本元数据和旧版本元数据的处理需要同步进行,相互之间容易产生干扰,降低数据库升级的稳定性。
发明内容
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
本发明实施例提供了一种数据处理方法、装置、电子设备及存储介质,能够提高数据库升级的稳定性。
一方面,本发明实施例提供了一种数据处理方法,包括:
向管控节点发送数据处理请求,所述管控节点根据所述数据处理请求确认存储节点的存储区域状态,所述存储节点的存储区域包括第一存储区域和第二存储区域;
当所述存储区域状态的信息表征旧版本元数据存储于所述第一存储区域,接收用于确定所述第二存储区域的访问路径的第二路由信息,根据所述第二路由信息将数据库的新版本元数据写入所述第二存储区域;
接收用于确定所述第一存储区域的访问路径的第一路由信息,根据所述第一路由信息获取第一变更元数据,将所述第一变更元数据合并至所述新版本元数据中;
向管控节点发送第二路由切换指令,所述管控节点根据所述第二路由切换指令将用于响应事务处理的路由信息切换为所述第二路由信息;
根据所述第二路由信息,利用合并后的新版本元数据响应事务处理。
另一方面,本发明实施例还提供了一种数据处理方法,包括:
接收数据处理请求,根据所述数据处理请求确认存储节点的存储区域状态,所述存储节点的存储区域包括第一存储区域和第二存储区域;
当所述存储区域状态的信息表征旧版本元数据存储于所述第一存储区域,向所述计算节点发送用于确定所述第二存储区域的访问路径的第二路由信息,所述计算节点根据所述第二路由信息将数据库的新版本元数据写入所述第二存储区域;
向所述计算节点发送用于确定所述第一存储区域的访问路径的第一路由信息,所述计算节点根据所述第一路由信息获取第一变更元数据,并将所述第一变更元数据合并至所述新版本元数据中;
接收第二路由切换指令,根据所述第二路由切换指令将用于响应事务处理的路由信息切换为所述第二路由信息,所述计算节点根据所述第二路由信息,利用合并后的新版本元数据响应事务处理。
另一方面,本发明实施例还提供了一种数据处理装置,包括:
数据处理请求发送模块,用于向管控节点发送数据处理请求,所述管控节点根据所述数据处理请求确认存储节点的存储区域状态,所述存储节点的存储区域包括第一存储区域和第二存储区域;
新版本元数据写入模块,用于当所述存储区域状态的信息表征旧版本元数据存储于所述第一存储区域,接收用于确定所述第二存储区域的访问路径的第二路由信息,根据所述第二路由信息将数据库的新版本元数据写入所述第二存储区域;
合并模块,用于接收用于确定所述第一存储区域的访问路径的第一路由信息,根据所述第一路由信息获取第一变更元数据,将所述第一变更元数据合并至所述新版本元数据中;
路由切换指令发送模块,用于向管控节点发送第二路由切换指令,所述管控节点根据所述第二路由切换指令将用于响应事务处理的路由信息切换为所述第二路由信息;
事务处理模块,用于根据所述第二路由信息,利用合并后的新版本元数据响应事务处理。
进一步,上述新版本元数据写入模块具体用于:
获取所述第一存储区域对应的第一系统表标识;
根据所述第一系统表标识确定第二存储区域对应的第二系统表标识;
根据所述第二路由信息以及所述第二系统表标识将所述数据库的新版本元数据写入所述第二存储区域。
进一步,所述第一变更元数据为写入所述新版本元数据期间,利用所述旧版本元数据响应事务处理而产生的元数据,上述合并模块具体用于:
确认将所述第一变更元数据合并至所述新版本元数据中的合并进度;
当所述合并进度达到预设阈值,停止利用所述旧版本元数据响应事务处理,直至将所有的所述第一变更元数据合并至所述新版本元数据中。
进一步,上述事务处理模块具体用于:
将第二变更元数据写入所述第二存储区域,并将所述第二变更元数据复制至所述第一存储区域,其中,所述第二变更元数据为利用合并后的新版本元数据响应事务处理而产生的元数据;
或者,将第二变更元数据写入消息队列,其中,所述第一存储区域和所述第二存储区域为所述消息队列的接收对象,其中,所述第二变更元数据为利用合并后的新版本元数据响应事务处理而产生的元数据。
进一步,所述数据库包括多个存储节点,每个所述存储节点均设置有所述第一存储区域和所述第二存储区域,每个所述存储节点的第一存储区域均存储有所述旧版本元数据,上述合并模块具体用于:
根据所述第一路由信息从多个所述存储节点中确认目标存储节点;
根据所述第一路由信息从所述目标存储节点中确认所述第一存储区域,从所述目标存储节点中的第一存储区域获取第一变更元数据。
进一步,每个所述第二存储区域均存储有所述新版本元数据,上述合并模块具体用于:
将第一元数据合并至第二元数据中,所述第一元数据为所述目标存储节点的第一存储区域中的第一变更元数据,所述第二元数据为所述目标存储节点的第二存储区域中的新版本元数据;
当所述第一元数据与所述第二元数据合并失败,将所述第一元数据合并至第三元数据中,所述第三元数据为除所述目标存储节点以外其他存储节点的第二存储区域中的新版本元数据。
进一步,上述合并模块还用于:
根据所述第一存储区域中的第一变更元数据,对所述第二存储区域中的第一变更元数据进行数据校验。
进一步,上述路由切换指令发送模块还用于:
获取所述数据库的运行信息,其中,所述运行信息用于表征所述数据库运行正常或者运行异常;
当所述运行信息表征所述数据库在预设时长内运行正常,向所述第一存储区域对应的存储节点发送第一删除指令,所述存储节点根据所述第一删除指令删除所述第一存储区域中的所述旧版本元数据和所述第一变更元数据,并向所述管控节点发送第二删除指令,所述管控节点根据所述第二删除指令删除所述第一路由信息;
或者,当所述运行信息表征所述数据库运行异常,向所述管控节点发送第一路由切换指令,所述管控节点根据所述第一路由切换指令将用于响应事务处理的路由信息切换为所述第一路由信息。
另一方面,本发明实施例还提供了一种数据处理装置,包括:
数据处理请求接收模块,用于接收数据处理请求,根据所述数据处理请求确认存储节点的存储区域状态,所述存储节点的存储区域包括第一存储区域和第二存储区域;
第二路由信息发送模块,用于当所述存储区域状态的信息表征旧版本元数据存储于所述第一存储区域,向所述计算节点发送用于确定所述第二存储区域的访问路径的第二路由信息,所述计算节点根据所述第二路由信息将数据库的新版本元数据写入所述第二存储区域;
第一路由信息发送模块,用于向所述计算节点发送用于确定所述第一存储区域的访问路径的第一路由信息,所述计算节点根据所述第一路由信息获取第一变更元数据,并将所述第一变更元数据合并至所述新版本元数据中;
路由信息处理模块,用于接收第二路由切换指令,根据所述第二路由切换指令将用于响应事务处理的路由信息切换为所述第二路由信息,所述计算节点根据所述第二路由信息,利用合并后的新版本元数据响应事务处理。
进一步,上述路由信息处理模块还用于:
接收第二删除指令,根据所述第二删除指令删除所述第一路由信息;其中,所述第二删除指令是由所述计算节点在所述数据库的运行信息表征所述数据库在预设时长内运行正常的情况下发送的;
或者,接收第一路由切换指令,根据所述第一路由切换指令将用于响应事务处理的路由信息切换为所述第一路由信息;其中,所述第一路由切换指令是由所述计算节点在所述数据库的运行信息表征所述数据库运行异常的情况下发送的。
进一步,上述数据处理请求接收模块还用于:
当存储节点不存在第二存储区域,向所述存储节点发送创建指令,所述存储节点根据所述创建指令创建所述第二存储区域。
另一方面,本发明实施例还提供了一种电子设备,包括存储器、处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述的数据处理方法。
另一方面,本发明实施例还提供了一种计算机可读存储介质,所述存储介质存储有程序,所述程序被处理器执行实现上述的数据处理方法。
另一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行实现上述的数据处理方法。
本发明实施例至少包括以下有益效果:本发明实施例通过向管控节点发送数据处理请求,管控节点根据数据处理请求确认存储节点的存储区域状态,存储节点的存储区域包括第一存储区域和第二存储区域,当存储区域状态的信息表征旧版本元数据存储于所述第一存储区域,接收用于确定所述第二存储区域的访问路径的第二路由信息,根据第二路由信息将数据库的新版本元数据写入第二存储区域,接收用于确定所述第一存储区域的访问路径的第一路由信息,根据第一路由信息获取第一变更元数据,将第一变更元数据合并至新版本元数据中,向管控节点发送第二路由切换指令,管控节点根据第二路由切换指令将用于响应事务处理的路由信息切换为第二路由信息,根据第二路由信息,利用合并后的新版本元数据响应事务处理,由于旧版本元数据和新版本元数据对应存储于第一存储区域和第二存储区域,通过第一路由信息保持数据库的对外服务,然后将第一存储区域中的第一变更元数据合并至新版本元数据,再将用于响应事务处理的路由信息切换为第二路由信息以完成数据库的升级,从而在数据库升级期间避免新版本元数据和旧版本元数据之间的相互干扰,提高数据库升级的稳定性。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1为本发明实施例提供的数据处理方法的实施环境的架构示意图;
图2为本发明实施例提供的以计算节点作为执行主体的数据处理方法的流程图;
图3为本发明实施例提供的数据库的一种架构示意图;
图4为本发明实施例提供的系统表标识分配示意图;
图5为本发明实施例提供的计算节点利用消息队列写入第二变更元数据的流程图;
图6为本发明实施例提供的数据库的另一种架构示意图;
图7为本发明实施例提供的以管控节点作为执行主体的数据处理方法的流程图;
图8为本发明实施例提供的数据处理方法的完整流程图;
图9为本发明实施例提供的数据库升级流程示意图;
图10为本发明实施例提供的数据处理装置的结构示意图;
图11为本发明实施例提供的另一种数据处理装置的结构示意图;
图12为本发明实施例提供的服务器的部分的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释:
数据库:简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、查询、更新、删除等操作。所谓“数据库”是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。
元数据:描述表/视图等基本数据库元素的数据,简单来说就是用来描述数据属性的数据。
数据库升级:也可以称为数据库更新,主要是对数据字典中的元数据进行修改。
数据定义语言语句:DDL(Data Definition Languages)语句,定义了不同的数据段,数据库,表,列,索引等数据库对象。常用的语句关键字主要包括create,drop,alter等。DDL语句将会修改数据库中的元数据。
计算节点:Engine,主要用于对元数据执行读取、修改等操作。
存储节点:Store,主要用于存储元数据。
管控节点:Meta,掌控数据库系统的全局信息。
云计算(cloud computing)是一种计算模式,它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。作为云计算的基础能力提供商,会建立云计算资源池(简称云平台,一般称为IaaS(Infrastructure as a Service,基础设施即服务)平台,在资源池中部署多种类型的虚拟资源,供外部客户选择使用。云计算资源池中主要包括:计算设备(为虚拟化机器,包含操作系统)、存储设备、网络设备。按照逻辑功能划分,在IaaS(Infrastructure as a Service,基础设施即服务)层上可以部署PaaS(Platform as aService,平台即服务)层,PaaS层之上再部署SaaS(Software as a Service,软件即服务)层,也可以直接将SaaS部署在IaaS上。PaaS为软件运行的平台,如数据库、web容器等。SaaS为各式各样的业务软件,如web门户网站、短信群发器等。一般来说,SaaS和PaaS相对于IaaS是上层。
随着业务的开展,需要对数据库进行升级,以更新数据库里的元数据,满足相应的业务需求。数据库在进行升级时,通常情况下不停止数据库的对外服务,因而新版本元数据和旧版本元数据的处理需要同步进行,例如,相关技术中,可以对新版本元数据和旧版本元数据添加版本标识,在数据库进行升级的过程中通过版本标识来读取旧版本元数据进行对外服务,这种升级方式直接将新版本元数据写入旧版本元数据中,相互之间容易产生干扰,降低数据库升级的稳定性。
基于此,本发明实施例提供了一种数据处理方法、装置、电子设备及存储介质,能够提高数据库升级的稳定性。
参照图1,图1为本发明实施例提供的数据处理方法的实施环境的架构示意图,其中,该实施环境包括终端101、计算节点102、存储节点103以及管控节点104。
具体地,终端101可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、车载终端、智能电视等,但并不局限于此。终端101以及计算节点102可以通过有线或无线通信方式进行直接或间接的连接,本发明实施例在此不做限制。
计算节点102可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。计算节点102可以通过有线或无线通信方式分别与存储节点103以及管控节点104进行直接或间接的连接,本发明实施例在此不做限制。
其中,存储节点103以及管控节点104可以是具有通信功能的电子设备,计算节点102、存储节点103以及管控节点104之间能够相互通信。
可以理解,本发明实施例中虽然对计算节点102、存储节点103以及管控节点104进行了划分,但实际应用中,计算节点102、存储节点103或者管控节点104在硬件上可以采用集成设置的方式,利用不同的进程实现对应的功能,当然,计算节点102、存储节点103或者管控节点104在硬件上也可以采用分立设置的方式,例如计算节点102、存储节点103或者管控节点104可以布置为独立的服务器,本发明实施例在此不做限制。可以理解,计算节点102、存储节点103或者管控节点104也可以是其中的任意两个在硬件上采用集成设置的方式,例如,计算节点102、存储节点103在硬件上采用集成设置的方式,管控节点104采用分立设置的方式;或者,计算节点102、管控节点104在硬件上采用集成设置的方式,存储节点103采用分立设置的方式;或者,存储节点103、管控节点104在硬件上采用集成设置的方式,计算节点102采用分立设置的方式。
另外,上述终端101、计算节点102、存储节点103或者管控节点104可以是一个分布式系统中的一个节点,该分布式系统可以为区块链系统,该区块链系统可以是由该多个节点通过网络通信的形式连接形成的分布式系统。其中,节点之间可以组成点对点(Peer ToPeer,简称P2P)网络,任意形式的计算设备,比如终端101、计算节点102、存储节点103以及管控节点104等电子设备都可以通过加入该点对点网络而成为该区块链系统中的一个节点。
下面以上述实施环境为基础介绍本发明实施例提供的数据处理方法。参照图2,图2为本发明实施例提供的以计算节点作为执行主体的数据处理方法的流程图,该数据处理方法包括但不限于以下步骤201至步骤205。
步骤201:计算节点向管控节点发送数据处理请求,管控节点根据数据处理请求确认存储节点的存储区域状态;
其中,数据处理请求可以是数据库的升级请求,数据库的旧版本元数据是指数据库当前对外服务所使用的元数据,即对数据库进行升级前所使用的元数据,对外服务可以是处理用户事务,例如处理DDL语句。数据库的元数据存储于存储节点中,在本发明实施例中,计算节点向管控节点发送数据处理请求后,管控节点先确认存储节点的存储区域状态,参照图3,图3为本发明实施例提供的数据库的一种架构示意图,存储节点设置有第一存储区域和第二存储区域,第一存储区域和第二存储区域为相互独立的两个存储区域,在一种可能的实现方式中,第一存储区域和第二存储区域可以互为镜像存储区域,即第一存储区域和第二存储区域的参数可以相一致。第一存储区域和第二存储区域均可以用于存储元数据,数据库在对外服务时,仅基于第一存储区域和第二存储区域中的其中一个存储区域中的元数据实现,相应地,另一个存储区域可以用来进行数据库的升级。因此,计算节点需要先根据存储区域状态确认当前存储旧版本元数据的存储区域,若当前存储旧版本元数据的存储区域为第一存储区域(例如图3所示的SYS1),则利用第二存储区域(例如图3所示的SYS2)对数据库进行升级,换句话说,上述确认当前存储旧版本元数据的存储区域,可以理解为确定SYS1和SYS2中哪个存储区域处于空闲状态。
可以理解,上述第一存储区域和第二存储区域仅用作存储区域的区分描述,例如,当前存储旧版本元数据的存储区域也可以为图3所示的SYS2,此时SYS2作为第一存储区域,SYS1作为第二存储区域,可见,第一存储区域和第二存储区域是对等设置的,因而具有灵活性高的优点。
而存储节点仅存在第一存储区域时,管控节点会根据升级请求使存储节点新增第二存储区域,因此,计算节点通过向管控节点发送升级请求,管控节点可以进行自检,提高数据库升级的稳定性和可靠性。
步骤202:当存储区域状态的信息表征旧版本元数据存储于第一存储区域,计算节点接收用于确定第二存储区域的访问路径的第二路由信息,根据第二路由信息将数据库的新版本元数据写入第二存储区域;
在一种可能的实现方式中,数据库的基本组织形式是表,可以包括用户表和系统表,用户表用于存储在事务处理过程中产生的用户数据,系统表用于存储用户数据对应的元数据,数据字典中包含有多个系统表,数据库的升级可以是系统表的增加、修改或者删除,而系统表的修改可以是字段的增加、修改或者删除,本发明实施例不做限定。新版本元数据即数据库进行升级后需要使用的元数据,新版本元数据可以基于旧版本元数据得到,新版本元数据与旧版本元数据相比,可以是某一个系统表增加一个字段,通过获取增加的该字段对应的元数据后与旧版本元数据合并即可得到新版本元数据,例如,在网上支付数据库的应用场景下,旧版本元数据某一个系统表的字段包括了“名称”、“创建时间”和“安全权限”,为了适应业务需求,需要对该网上支付数据库进行升级,上述的系统表需要增加“手机型号”这个字段,因此,新版本元数据中该系统表的字段就包括了“名称”、“创建时间”、“安全权限”和“手机型号”。可以理解,新版本元数据与旧版本元数据相比,也可以是某一个系统表删除一个字段,或者,还可以是在旧版本元数据的基础上增加一个新的系统表,本发明实施例不做限定。
其中,第二路由信息用于确定第二存储区域的访问路径,计算节点通过第二存储区域的第二路由信息来向第二存储区域写入数据或者读取数据。以当前存储旧版本元数据的存储区域为第一存储区域为例进行说明,在数据库需要升级时,管控节点则根据存储区域状态的判断结果确定需要将新版本元数据写入第二存储区域,因此,数据库仍然可以利用第一存储区域中的旧版本元数据进行对外服务,并且第一存储区域和第二存储区域相互独立,新版本元数据和旧版本元数据之间不会产生干扰,提高数据库升级的稳定性。
在一种可能的实现方式中,参照图3,存储节点还可以设置有第三存储区域,第一存储区域、第二存储区域第三存储区域相互独立,第三存储区域可以用于存储用户数据,以使得在数据库升级的过程中不对用户数据造成影响,从而进一步提高数据库升级的稳定性。
类似地,第二路由信息可以是管控节点直接向计算节点发送的,也可以由其他设备发送至计算节点。
步骤203:计算节点接收用于确定第一存储区域的访问路径的第一路由信息,根据第一路由信息获取第一变更元数据,将第一变更元数据合并至新版本元数据中;
其中,第一路由信息用于确定第一存储区域的访问路径,计算节点通过第一存储区域的第一路由信息来从第一存储区域中写入数据或者读取数据。第一变更元数据为写入新版本元数据期间利用旧版本元数据响应事务处理而产生的元数据;
具体地,在向第二存储区域写入新版本元数据的过程中,由于通过第一存储区域中的旧版本元数据继续对外服务,期间旧版本元数据可能会发生修改,因此,计算节点需要将第一变更元数据合并至新版本元数据中,以使得数据库在升级过程中保持对外服务的基础上,在升级完成后不丢失数据,提升数据库升级的稳定性。
在一种可能的实现方式中,数据库利用旧版本元数据进行对外服务,产生的第一变更元数据可以是增量的元数据,在此基础上,将第一变更元数据合并至新版本元数据中,可以是将第一变更元数据复制至新版本元数据中。可以理解,产生的第一变更元数据也可以是修改的元数据,相应地,将第一变更元数据合并至新版本元数据中,也可以是利用第一变更元数据替换旧版本元数据中对应的元数据,或者,产生的第一变更元数据也可以是删除的元数据,相应地,将第一变更元数据合并至新版本元数据中,也可以是删除旧版本元数据中与第一变更元数据对应的元数据,本发明实施例不做限定。
在一种可能的实现方式中,将第一变更元数据合并至新版本元数据中之后,还可以根据第一存储区域中的第一变更元数据,对第二存储区域中的第一变更元数据进行数据校验,以确认第一变更元数据的合并操作是否存在错误,提高数据库升级的可靠性。例如,可以采用数据库数据一致性校验工具来进行上述的数据校验,数据库数据一致性校验工具可以采用pt-table-checksum等。
类似地,第一路由信息可以是管控节点直接向计算节点发送的,也可以由其他设备发送至计算节点。
步骤204:计算节点向管控节点发送第二路由切换指令,管控节点根据第二路由切换指令将用于响应事务处理的路由信息切换为第二路由信息;
其中,在存储区域建立好系统表之后,存储节点可以向管控节点申请创建对应的路由信息,创建路由信息后可以便于计算节点根据路由信息确定相应的存储节点的访问路径,以针对存储区域中的元数据进行操作。本发明实施例中,为了避免数据混乱,第一存储区域和第二存储区域中只有一个存储区域进行对外服务,因此,计算节点通过向管控节点发送第二路由切换指令,管控节点根据第二路由切换指令将用于响应事务处理的路由信息切换为第二路由信息,使得后续利用存储了新版本元数据的第二存储区域进行对外服务,在完成数据库升级的同时提高数据库运行的稳定性。
其中,将用于响应事务处理的路由信息切换为第二路由信息,指的是利用第二路由信息进行对外服务,不利用第一路由信息进行对外服务。可以理解,路由信息的切换是针对对外服务而言的,例如,将用于响应事务处理的路由信息切换为第二路由信息的情况下,计算节点仍然可以根据第一路由信息得知第一存储区域的访问路径,只是无法利用第一存储区域中的元数据进行对外服务。
在一种可能的实现方式中,计算节点向管控节点发送第二路由切换指令后,可能仍有某个活跃事务正在读取第一存储区域中的旧版本元数据,此时可以允许其使用第一存储区域中的旧版本元数据直至该活跃事务结束,从而提高数据库运行的可靠性。
步骤205:计算节点根据第二路由信息,利用合并后的新版本元数据响应事务处理。
其中,根据第二路由信息,利用合并后的新版本元数据响应事务处理,即利用完成升级后的数据库进行对外服务,上述步骤201至步骤205中,由于旧版本元数据和新版本元数据对应存储于第一存储区域和第二存储区域,通过第一路由信息保持数据库的对外服务,然后将第一存储区域中的第一变更元数据合并至新版本元数据,再将用于响应事务处理的路由信息切换为第二路由信息以完成数据库的升级,从而在数据库升级期间避免新版本元数据和旧版本元数据之间的相互干扰,提高数据库升级的稳定性。
参照图4,图4为本发明实施例提供的系统表标识分配示意图,基于此,上述步骤202中,计算节点根据第二路由信息将数据库的新版本元数据写入第二存储区域,具体可以是计算节点获取第一存储区域对应的第一系统表标识,根据第一系统表标识确定第二存储区域对应的第二系统表标识,根据第二路由信息以及第二系统表标识将数据库的新版本元数据写入第二存储区域。本发明实施例通过引入系统表标识,进一步区分第一存储区域和第二存储区域中的元数据,提高第一存储区域和第二存储区域之间的独立性。
例如,可以为系统表分配n个系统表标识(n为正整数),n可以根据系统表的数量设置,本发明实施例不做限定,为便于理解,本发明实施例以系统表标识为1至n作为例子进行说明,第一存储区域对应的第一系统表标识可以为1至k(k为小于n的正整数),相对应地,第二存储区域对应的第二系统表标识就可以为k+1至n,接着,计算节点根据第二路由信息确认第二存储区域的访问路径,然后根据第二系统表标识写入新版本元数据。另外,当用户数据存储在第三存储区域的情况下,用户表的用户表标识也可以进一步跟上述第一系统表标识和第二系统表标识区分开来,例如用户表标识可以从n+1开始,如此一来,可以使得元数据和用户数据相互独立,提升数据库运行的稳定性。
在一种可能的实现方式中,计算节点将第一变更元数据合并至新版本元数据时,可以确认将第一变更元数据合并至新版本元数据中的合并进度,当合并进度达到预设阈值,停止利用旧版本元数据响应事务处理,直至将所有的第一变更元数据合并至新版本元数据中,由于将第一变更元数据合并至新版本元数据以及通过旧版本元数据进行对外服务是同步进行的,因此通过将合并进度与预设阈值之间进行比较,在合并进度达到预设阈值时停止利用旧版本元数据响应事务处理,避免在合并过程中产生新的变更元数据,影响合并效果。其中,预设阈值可以根据实际情况设置,例如可以是90%、95%或者98%等,本发明实施例不做限定。
可以理解的是,一般来说,数据库中元数据的数据量与用户数据的数据量相比一般小很多,因此将第一变更元数据合并至新版本元数据可以在较短的时间内完成,当合并进度达到预设阈值,停止利用旧版本元数据响应事务处理对于数据库的运行影响也比较小。在此基础上,本发明实施例中,计算节点还可以获取当前数据库的业务量,当数据库当前的业务量较大时,保持将第一变更元数据合并至新版本元数据,直到数据库当前的业务量降低了,再执行上述的将合并进度与预设阈值之间的比较,从而进一步降低将第一变更元数据合并至新版本元数据对数据库的运行影响。或者,计算节点也可以在预设时间段内执行新版本元数据的写入以及第一变更元数据的合并,预设时间段可以是数据库的业务量较低的时间段,例如可以是深夜,又或者,可以根据数据库运行的历史数据来确定预设时间段,本发明实施例不做限定。
将第一变更元数据合并至新版本元数据后,管控节点将用于响应事务处理的路由信息切换为第二路由信息,数据库基于合并后的新版本元数据运行。虽然用于响应事务处理的路由信息被切换为第二路由信息,但利用合并后的新版本元数据响应事务处理产生的第二变更元数据仍然需要分别写入第一存储区域和第二存储区域,上述处理方式的目的在于,一旦数据库基于合并后的新版本元数据运行异常,可以将数据库回滚至基于旧版本元数据运行,由于数据库基于合并后的新版本元数据运行的过程中,利用合并后的新版本元数据响应事务处理产生的第二变更元数据仍然需要分别写入第一存储区域和第二存储区域,使得回滚后不会出现元数据丢失的情况,提高数据库运行的可靠性。
具体地,将第二变更元数据分别写入第一存储区域和第二存储区域,可以是根据第二路由信息将第二变更元数据写入第二存储区域,并将第二变更元数据复制至第一存储区域。其中,用于响应事务处理的路由信息被切换为第二路由信息,只是计算节点无法通过第一存储区域响应事务处理,但计算节点仍然可以通过第一路由信息得知第一存储区域的访问路径,因而可以将第二变更元数据复制至第一存储区域,以达到将第二变更元数据分别写入第一存储区域和第二存储区域的效果。可以理解,其他实施例中,也可以由存储节点自动将第二变更元数据从第二存储区域复制至第一存储区域。
或者,将第二变更元数据分别写入第一存储区域和第二存储区域,也可以是将第二变更元数据写入消息队列,其中,第一存储区域和第二存储区域为消息队列的接收对象。计算节点将第二变更元数据写入消息队列后,存储节点可以自行从消息队列中获取第二变更元数据,以达到将第二变更元数据分别写入第一存储区域和第二存储区域的效果。其中,通过引入消息队列的方式,可以降低写入第二变更元数据的同步性要求。例如,参照图5,图5为本发明实施例提供的计算节点利用消息队列写入第二变更元数据的流程图,以DDL语句为例,第二变更元数据由DDL语句产生,当第一存储区域和第二存储区域均成功应用该DDL语句,即第一存储区域和第二存储区域均成功获取第二变更元数据时,才确定第二变更元数据成功写入第一存储区域和第二存储区域。若第一存储区域和第二存储区域中的至少一个存储区域没有成功获取第二变更元数据,则可以重新尝试从消息队列中获取第二变更元数据,或者发出故障告警。
基于上述将第二变更元数据分别写入第一存储区域和第二存储区域的方式,升级完成后的数据库进入试运行阶段,计算节点可以获取数据库的运行信息,其中,运行信息用于表征数据库运行正常或者运行异常,通过运行信息监控数据库的运行情况,以确认本次升级是否使得数据库的运行产生问题,从而提高数据库运行的可靠性。
其中,计算节点获取数据库的运行信息,可以通过获取数据库的线上环境指标变化、获取业务报错数据、执行测试脚本等一种或者多种方式的结合来实现,本发明实施例不做限定。
具体地,当运行信息表征数据库在预设时长内运行正常,计算节点可以向第一存储区域对应的存储节点发送第一删除指令,存储节点根据第一删除指令删除第一存储区域中的旧版本元数据和第一变更元数据,并向管控节点发送第二删除指令,管控节点根据第二删除指令删除第一路由信息;具体地,当运行信息表征数据库在预设时长内运行正常,可以认为升级后的数据库运行平稳,此时计算节点可以通知存储节点将第一存储区域中的旧版本元数据删除,以腾出存储空间,并且计算节点还通知管控节点删除第一路由信息,管控节点无须再维护第一路由信息,降低管控节点的资源占用。预设时长可以根据实际情况设置,例如可以设置为1小时、2小时等,本发明实施例不做限定。
可以理解,删除第一存储区域中的旧版本元数据后,相当于第一存储区域是空白的,以便下一次数据库升级时使用,在数据库下一次的升级需求到来时,新版本元数据可以写入第一存储区域中,即下一次升级中第一存储区域扮演了本次升级中第二存储区域的角色。如此一来,相当于可以交替利用第一存储区域和第二存储区域来进行数据库的升级,既能提高数据库升级的稳定性,又可以在一定程度上提高数据库升级的便捷性。
另外,当运行信息表征数据库运行异常,计算节点可以向管控节点发送第一路由切换指令,管控节点根据第一路由切换指令将用于响应事务处理的路由信息切换为第一路由信息。具体地,数据库升级完成后一旦发现运行异常,计算节点可以通知管控节点,使得管控节点将用于响应事务处理的路由信息切换为第一路由信息,即数据库重新基于旧版本元数据进行对外服务,以达到回滚升级的效果,提高数据库运行的可靠性。
参照图6,图6为本发明实施例提供的数据库的另一种架构示意图,其中,数据库包括多个存储节点,每个存储节点均设置有第一存储区域和第二存储区域,每个存储节点的第一存储区域均存储有旧版本元数据,基于图5所示的数据库的架构,上述步骤203中,计算节点根据第一路由信息获取第一变更元数据,具体可以是计算节点根据第一路由信息从多个存储节点中确认目标存储节点,根据第一路由信息从目标存储节点中确认第一存储区域,从目标存储节点中的第一存储区域获取第一变更元数据。
可以理解,图6以存储节点的数量为两个(存储节点A和存储节点B)作为例子进行说明,实际应用中存储节点的数量可以根据需求设定,例如也可以是三个、四个等,本发明实施例不做限定。
基于此,假设数据库当前基于存储节点A中的第一存储区域的旧版本元数据进行事务处理,存储节点A中的第一存储区域建立系统表后,存储节点B中的第一存储区域也对应建立相同的系统表,并且,存储节点B可以自动获取存储节点A中第一存储区域响应事务处理产生的元数据,使得存储节点A和存储节点B的第一存储区域均存储有旧版本元数据,并且保持存储节点A和存储节点B之间的旧版本元数据相互同步。
接着,计算节点采用前面实施例描述的方式进行数据库升级时,则先将新版本元数据写入至存储节点A中的第二存储区域,并且接收存储节点A中的第一存储区域的第一路由信息,例如,第一路由信息可以是:“存储节点A->第一存储区域”,从存储节点A和存储节点B中确定目标存储节点为存储节点A,再从存储节点A中确认第一存储区域,进而从存储节点A的第一存储区域中获取第一变更元数据。
类似地,存储节点A中的第二存储区域建立系统表后,存储节点B中的第二存储区域也对应建立相同的系统表,将新版本元数据写入至存储节点A中的第二存储区域后,存储节点B可以自动获取新版本元数据,使得存储节点A和存储节点B的第二存储区域均存储有旧版本元数据。在此基础上,将第一变更元数据合并至新版本元数据时,可以是将第一元数据合并至第二元数据中,其中,第一元数据即存储节点A的第一存储区域中的第一变更元数据,第二元数据为存储节点A的第二存储区域中的新版本元数据,合并完毕后,存储节点A中的第二存储区域的第二路由信息被切换为用于响应事务处理的路由信息,后续便利用存储节点A的第二存储区域中的新版本元数据进行事务处理。
当第一元数据与第二元数据合并失败时,例如由于存储节点A中的第二存储区域发生故障等原因导致合并失败,则可以将第一元数据合并至第三元数据中,其中,第三元数据为除目标存储节点以外其他存储节点的第二存储区域中的新版本元数据,在上述例子中,第三元数据即为存储节点B的第二存储区域中的新版本元数据,合并完毕后,存储节点B中的第二存储区域的第二路由信息被切换为用于响应事务处理的路由信息,后续便利用存储节点B的第二存储区域中的新版本元数据进行事务处理。可见,通过上述处理方式,基于图5所示的数据库架构,即使利用存储节点A进行数据库升级的过程中出现故障,也可以利用存储节点B完成数据库的升级,从而提升数据库升级的可靠性。
另外,参照图7,图7为本发明实施例提供的以管控节点作为执行主体的数据处理方法的流程图,该数据处理方法包括但不限于以下步骤701至步骤704。
步骤701:管控节点接收数据处理请求,根据数据处理请求确认存储节点的存储区域状态;
步骤702:当存储区域状态的信息表征旧版本元数据存储于第一存储区域,管控节点向计算节点发送用于确定第二存储区域的访问路径的第二路由信息,计算节点根据第二路由信息将数据库的新版本元数据写入第二存储区域;
步骤703:管控节点向计算节点发送用于确定第一存储区域的访问路径的第一路由信息,计算节点根据第一路由信息获取第一变更元数据,并将第一变更元数据合并至新版本元数据中;
步骤704:管控节点接收第二路由切换指令,根据第二路由切换指令将用于响应事务处理的路由信息切换为第二路由信息,计算节点根据第二路由信息,利用合并后的新版本元数据响应事务处理。
在本发明实施例中,存储节点的存储区域包括第一存储区域和第二存储区域,管控节点接收到数据处理请求后,先确认存储节点的存储区域状态,当存储区域状态表征旧版本元数据存储于第一存储区域,则向计算节点发送用于确定第二存储区域的访问路径的第二路由信息,基于图1所示的实施环境,数据处理请求可以是计算节点直接向管控节点发送的,当然,在其他实施例中,基于不同的实施环境,数据处理请求也可以是由其他设备发送至管控节点。类似地,第二路由切换指令可以是计算节点直接向管控节点发送的,也可以是由其他设备发送至管控节点。
其中,存储节点被写入旧版本元数据后,会通知管控节点,因而管控节点掌握了旧版本元数据的存储区域状态,以便确定新版本元数据的写入位置。
与步骤201至步骤205相类似,上述步骤701至步骤704中,由于旧版本元数据和新版本元数据对应存储于第一存储区域和第二存储区域,通过第一路由信息保持数据库的对外服务,然后将第一存储区域中的第一变更元数据合并至新版本元数据,再将用于响应事务处理的路由信息切换为第二路由信息以完成数据库的升级,从而在数据库升级期间避免新版本元数据和旧版本元数据之间的相互干扰,提高数据库升级的稳定性。
数据库升级完成后,计算节点会根据数据库的运行信息判断升级完成后的数据库是否运行正常,当升级完成后数据库在预设时长内运行正常,则计算节点会向管控节点发送第二删除指令,管控节点则根据该第二删除指令删除第一路由信息,无须再维护第一路由信息,降低管控节点的资源占用。当升级完成后数据库运行异常,则计算节点会向管控节点发送第一路由切换指令,管控节点则根据第一路由切换指令将用于响应事务处理的路由信息切换为第一路由信息,即数据库重新基于旧版本元数据进行对外服务,以达到回滚升级的效果,提高数据库运行的可靠性。
上述实施例中的数据处理方法是基于存储节点设置有第一存储区域和第二存储区域实现的,一般来说,普通的存储节点只设置有第一存储区域,即当存储节点仅存在第一存储区域时,例如,本发明实施例提供的数据处理方法是应用在3.0版本的数据库上的,存储节点当前的版本为2.0,此时,存储节点里只有一个存储区域,因此,数据库需要升级之前,管控节点先确定存储节点是否存在第一存储区域和第二存储区域,当存储节点不存在第二存储区域,向存储节点发送创建指令,存储节点根据创建指令创建第二存储区域。其中,可以根据版本标识、逻辑分区情况等方式来确定存储节点是否存在第一存储区域和第二存储区域,存储节点根据创建指令创建第二存储区域,可以采用新版本的可执行文件的方式来实现。管控节点通过确定存储节点是否存在第一存储区域和第二存储区域,当存储节点不存在第二存储区域,向存储节点发送创建指令以使存储节点创建第二存储区域,使得本发明实施例提供的数据处理方法可以利用在不同版本、不同类型的数据库上,提升数据处理方法的适用范围。
在一种可能的实现方式中,基于图6所示的数据库架构,在存储节点有多个的情况下,当其中一个存储节点接收创建指令创建了第二存储区域,其他存储节点向该存储节点查询得知该存储节点创建了第二存储区域,因而其他存储节点也一并创建第二存储区域,管控节点可以无须将创建指令都发送至各个存储节点,有利于降低管控节点的资源占用。
下面以一个完整的流程来描述本发明实施例提供的数据处理方法的原理。参照图8,图8为本发明实施例提供的数据处理方法的完整流程图,其中,该数据处理方法包括以下步骤801至步骤819。
步骤801:数据库初始化,管控节点启用存储节点的第一存储区域的第一路由信息;
步骤802:计算节点向管控节点发送升级请求;
步骤803:管控节点确定存储节点的存储区域状态;
步骤804:管控节点根据存储区域状态的信息确认当前存储旧版本元数据的存储区域为第一存储区域;
步骤805:管控节点向计算节点发送用于确定第二存储区域的访问路径的第二路由信息;
步骤806:计算节点接收第二路由信息,根据第二路由信息将数据库的新版本元数据写入第二存储区域;
步骤807:管控节点向计算节点发送用于确定第一存储区域的访问路径的第一路由信息;
步骤808:计算节点接收第一存储区域的第一路由信息,根据第一路由信息响应终端针对旧版本元数据的事务处理,将产生的第一变更元数据写入第一存储区域;
步骤809:计算节点根据第一路由信息获取第一变更元数据,将第一变更元数据合并至新版本元数据中;
步骤810:计算节点向管控节点发送第二路由切换指令;
步骤811:管控节点接收第二路由切换指令,根据第二路由切换指令将用于响应事务处理的路由信息切换为第二路由信息;
步骤812:计算节点根据第二路由信息响应终端针对合并后的新版本元数据的事务处理,将产生的第二变更元数据分别写入第一存储区域和第二存储区域;
步骤813:计算节点获取数据库的运行信息,若数据库在预设时长内运行正常,跳转步骤814,若数据库运行异常,跳转步骤817;
步骤814:计算节点向第一存储区域对应的存储节点发送第一删除指令并向管控节点发送第二删除指令;
步骤815:存储节点接收第一删除指令,根据第一删除指令删除第一存储区域中的旧版本元数据和第一变更元数据;
步骤816:管控节点接收第二删除指令,根据第二删除指令删除第一路由信息,跳转步骤819;
步骤817:计算节点向管控节点发送第一路由切换指令;
步骤818:管控节点接收第一路由切换指令,根据第一路由切换指令将用于响应事务处理的路由信息切换为第一路由信息;
步骤819:结束。
其中,步骤803与步骤805并不限定按顺序执行,步骤803与步骤805也可以同时执行;上述步骤801至步骤819中,由于旧版本元数据和新版本元数据对应存储于第一存储区域和第二存储区域,通过第一路由信息保持数据库的对外服务,然后将第一存储区域中的第一变更元数据合并至新版本元数据,再将用于响应事务处理的路由信息切换为第二路由信息以完成数据库的升级,从而在数据库升级期间避免新版本元数据和旧版本元数据之间的相互干扰,提高数据库升级的稳定性。
其中,在图3或者图6所示的数据库的架构下,计算节点的数量也可以为多个,每个计算节点对应若干个终端,参照图9,图9为本发明实施例提供的数据库升级流程示意图,以计算节点的数量为三个进行说明,可以理解,本发明实施例并不对计算节点的数量进行限定。其中,数据库设置有计算节点E1、计算节点E2和计算节点E3,计算节点E1用于响应终端针对旧版本元数据的事务处理;计算节点E2用于发起升级请求,将新版本元数据写入第二存储区域,并向管控节点发送第二路由切换指令;计算节点E3用于响应终端针对合并后的新版本元数据的事务处理,获取数据库的运行信息,向管控节点发送第二删除指令或者第一路由切换指令。综上,上述步骤801至步骤819中,涉及计算节点的步骤可以分别由不同的计算节点执行,以提升数据库运行的灵活性。可以理解,不同的计算节点在硬件上可以采用分立设置的方式,也可以采用集成设置的方式,若采用集成设置的方式,不同的计算节点可以采用不同的进程以实现对应的功能。当然,上述步骤801至步骤819也可以仅涉及一个计算节点。
下面结合图9详细说明数据库的升级流程。对于计算节点E1来说,数据库初始化后,计算节点E1接收到用于确定第一存储区域的访问路径的第一路由信息,并向管控节点发送第一路由切换指令,使得管控节点将用于响应事务处理的路由信息切换为第一路由信息,然后,计算节点E1根据第一路由信息进行对外服务,将新增的元数据写入第一存储区域,将新增的用户数据写入第三存储区域;当升级需求到来,计算节点E2初始化升级请求,向管控节点发送升级请求,管控节点确认当前存储节点存在第一存储区域和第二存储区域,确认旧版本元数据存储于第一存储区域,第二存储区域空闲,则将用于确定第二存储区域的访问路径的第二路由信息发送至计算节点E2,计算节点E2将新版本元数据写入第二存储区域,此时,计算节点E1仍在正常地对外服务,计算节点E2则将写入新版本元数据期间产生的第一变更元数据从第一存储区域中复制至第二存储区域,再向管控节点发送第二路由切换指令,使得管控节点将用于响应事务处理的路由信息切换为第二路由信息,接下来进入数据库的试运行阶段,计算节点E3向管控节点获取第一路由信息和第二路由信息,计算节点E3将对外服务过程中产生的第二变更元数据分别写入第一存储区域和第二存储区域,并且持续获取数据库的运行信息,当运行信息表征数据库持续运行正常,管控节点删除第一路由信息,可选地,管控节点也可以删除第一存储区域中的数据。之后,数据库后续便利用第二存储区域进行对外服务,从而完成数据库的升级。可以理解的是,在试运行阶段,计算节点E1和计算节点E2在对外服务过程中产生的第二变更元数据也同样分别写入第一存储区域和第二存储区域。可见,图9所示的数据库升级流程可以避免升级过程中新版本元数据和旧版本元数据之间的相互干扰,具有稳定性高的优点。
可以理解的是,虽然上述各个流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本实施例中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
另外,参照图10,图10为本发明实施例提供的数据处理装置的结构示意图,本发明实施例还提供了一种数据处理装置,包括:
数据处理请求发送模块1001,用于向管控节点发送数据处理请求,所述管控节点根据所述数据处理请求确认存储节点的存储区域状态,所述存储节点的存储区域包括第一存储区域和第二存储区域;
新版本元数据写入模块1002,用于当所述存储区域状态的信息表征所述旧版本元数据存储于所述第一存储区域,接收用于确定第二存储区域的访问路径的第二路由信息,根据第二路由信息将数据库的新版本元数据写入第二存储区域;
合并模块1003,用于接收用于确定第一存储区域的访问路径的第一路由信息,根据第一路由信息获取第一变更元数据,将第一变更元数据合并至新版本元数据中;
路由切换指令发送模块1004,用于向管控节点发送第二路由切换指令,管控节点根据第二路由切换指令将用于响应事务处理的路由信息切换为第二路由信息;
事务处理模块1005,用于根据第二路由信息,利用合并后的新版本元数据响应事务处理。
进一步,上述新版本元数据写入模块1002具体用于:
获取第一存储区域对应的第一系统表标识;
根据第一系统表标识确定第二存储区域对应的第二系统表标识;
根据第二路由信息以及第二系统表标识将数据库的新版本元数据写入第二存储区域。
进一步,上述合并模块1003具体用于:
确认将第一变更元数据合并至新版本元数据中的合并进度;
当合并进度达到预设阈值,停止利用旧版本元数据响应事务处理,直至将所有的第一变更元数据合并至新版本元数据中。
进一步,上述事务处理模块1005具体用于:
将第二变更元数据写入第二存储区域,并将第二变更元数据复制至第一存储区域,其中,第二变更元数据为利用合并后的新版本元数据响应事务处理而产生的元数据;
或者,将第二变更元数据写入消息队列,其中,第一存储区域和第二存储区域为消息队列的接收对象,其中,第二变更元数据为利用合并后的新版本元数据响应事务处理而产生的元数据。
进一步,数据库包括多个存储节点,每个存储节点均设置有第一存储区域和第二存储区域,每个存储节点的第一存储区域均存储有旧版本元数据,上述合并模块1003具体用于:
根据第一路由信息从多个存储节点中确认目标存储节点;
根据第一路由信息从目标存储节点中确认第一存储区域,从目标存储节点中的第一存储区域获取第一变更元数据。
进一步,每个第二存储区域均存储有新版本元数据,上述合并模块1003具体用于:
将第一元数据合并至第二元数据中,第一元数据为目标存储节点的第一存储区域中的第一变更元数据,第二元数据为目标存储节点的第二存储区域中的新版本元数据;
当第一元数据与第二元数据合并失败,将第一元数据合并至第三元数据中,第三元数据为除目标存储节点以外其他存储节点的第二存储区域中的新版本元数据。
进一步,上述合并模块1003还用于:
根据第一存储区域中的第一变更元数据,对第二存储区域中的第一变更元数据进行数据校验。
进一步,上述路由切换指令发送模块1004还用于:
获取数据库的运行信息,其中,运行信息用于表征数据库运行正常或者运行异常;
当运行信息表征数据库在预设时长内运行正常,向第一存储区域对应的存储节点发送第一删除指令,存储节点根据第一删除指令删除第一存储区域中的旧版本元数据和第一变更元数据,并向管控节点发送第二删除指令,管控节点根据第二删除指令删除第一路由信息;
或者,当运行信息表征数据库运行异常,向管控节点发送第一路由切换指令,管控节点根据第一路由切换指令将用于响应事务处理的路由信息切换为第一路由信息。
其中,上述数据处理装置与数据处理方法基于相同的发明构思,因此可以在数据库升级期间避免新版本元数据和旧版本元数据之间的相互干扰,提高数据库升级的稳定性,具体原理可以参见前面方法实施例中的描述,在此不再赘述。
另外,参照图11,图11为本发明实施例提供的另一种数据处理装置的结构示意图,本发明实施例还提供了一种数据处理装置,包括:
数据处理请求接收模块1101,用于接收数据处理请求,根据所述数据处理请求确认存储节点的存储区域状态,所述存储节点的存储区域包括第一存储区域和第二存储区域;
第二路由信息发送模块1102,用于当所述存储区域状态的信息表征所述旧版本元数据存储于所述第一存储区域,向计算节点发送用于确定第二存储区域的访问路径的第二路由信息,计算节点根据第二路由信息将数据库的新版本元数据写入第二存储区域;
第一路由信息发送模块1103,用于向计算节点发送用于确定第一存储区域的访问路径的第一路由信息,计算节点根据第一路由信息获取第一变更元数据,并将第一变更元数据合并至新版本元数据中;
路由信息处理模块1104,用于接收第二路由切换指令,根据第二路由切换指令将用于响应事务处理的路由信息切换为第二路由信息,计算节点根据第二路由信息,利用合并后的新版本元数据响应事务处理。
进一步,上述路由信息处理模块1104还用于:
接收第二删除指令,根据第二删除指令删除第一路由信息;其中,第二删除指令是由计算节点在数据库的运行信息表征数据库在预设时长内运行正常的情况下发送的;
或者,接收第一路由切换指令,根据第一路由切换指令将用于响应事务处理的路由信息切换为第一路由信息;其中,第一路由切换指令是由计算节点在数据库的运行信息表征数据库运行异常的情况下发送的。
进一步,上述数据处理请求接收模块1101还用于:
当存储节点不存在第二存储区域,向存储节点发送创建指令,存储节点根据创建指令创建第二存储区域。
其中,上述数据处理装置与数据处理方法基于相同的发明构思,因此可以在数据库升级期间避免新版本元数据和旧版本元数据之间的相互干扰,提高数据库升级的稳定性,具体原理可以参见前面方法实施例中的描述,在此不再赘述。
本发明实施例用于执行数据处理方法的可以是服务器,请参见图12所示,图12为本发明实施例提供的服务器1200的部分的结构框图,服务器1200可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(Central Processing Units,简称CPU)1222(例如,一个或一个以上处理器)和存储器1232,一个或一个以上存储应用程序1242或数据1244的存储介质1230(例如一个或一个以上海量存储装置)。其中,存储器1232和存储介质1230可以是短暂存储或持久存储。存储在存储介质1230的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1222可以设置为与存储介质1230通信,在服务器1200上执行存储介质1230中的一系列指令操作。
服务器1200还可以包括一个或一个以上电源1226,一个或一个以上有线或无线网络接口1250,一个或一个以上输入输出接口1258,和/或,一个或一个以上操作系统1241,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
服务器中的处理器可以用于执行上述数据处理方法。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质用于存储程序代码,程序代码用于执行前述各个实施例的执行数据处理方法。
本发明实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存介质中。计算机设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行前述各个实施例的执行数据处理方法。
本发明的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或装置不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或装置固有的其它步骤或单元。
应当理解,在本发明中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
应了解,在本发明实施例的描述中,多个(或多项)的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
还应了解,本发明实施例提供的各种实施方式可以任意进行组合,以实现不同的技术效果。
以上是对本发明的较佳实施进行了具体说明,但本发明并不局限于上述实施方式,熟悉本领域的技术人员在不违背本发明精神的共享条件下还可作出种种等同的变形或替换,这些等同的变形或替换均包括在本发明权利要求所限定的范围内。
Claims (13)
1.一种数据处理方法,其特征在于,应用于计算节点,包括:
向管控节点发送数据处理请求,所述管控节点根据所述数据处理请求确认存储节点的存储区域状态,所述存储节点的存储区域包括第一存储区域和第二存储区域;
当所述存储区域状态的信息表征旧版本元数据存储于所述第一存储区域,接收所述管控节点发送的用于确定所述第二存储区域的访问路径的第二路由信息,根据所述第二路由信息将数据库的新版本元数据写入所述第二存储区域;
接收所述管控节点发送的用于确定所述第一存储区域的访问路径的第一路由信息,根据所述第一路由信息获取第一变更元数据,将所述第一变更元数据合并至所述新版本元数据中;
向管控节点发送第二路由切换指令,所述管控节点根据所述第二路由切换指令将用于响应事务处理的路由信息切换为所述第二路由信息;
根据所述第二路由信息,利用合并后的新版本元数据响应事务处理;
所述数据库包括多个存储节点,每个所述存储节点均设置有所述第一存储区域和所述第二存储区域,每个所述存储节点的第一存储区域均存储有所述旧版本元数据和所述新版本元数据,所述根据所述第一路由信息获取第一变更元数据,包括:
根据所述第一路由信息从多个所述存储节点中确认目标存储节点;
根据所述第一路由信息从所述目标存储节点中确认所述第一存储区域,从所述目标存储节点中的第一存储区域获取第一变更元数据;
所述将所述第一变更元数据合并至所述新版本元数据中,包括:
将第一元数据合并至第二元数据中,所述第一元数据为所述目标存储节点的第一存储区域中的第一变更元数据,所述第二元数据为所述目标存储节点的第二存储区域中的新版本元数据;
当所述第一元数据与所述第二元数据合并失败,将所述第一元数据合并至第三元数据中,所述第三元数据为除所述目标存储节点以外其他存储节点的第二存储区域中的新版本元数据。
2.根据权利要求1所述的数据处理方法,其特征在于,所述根据所述第二路由信息将所述数据库的新版本元数据写入所述第二存储区域,包括:
获取所述第一存储区域对应的第一系统表标识;
根据所述第一系统表标识确定第二存储区域对应的第二系统表标识;
根据所述第二路由信息以及所述第二系统表标识将所述数据库的新版本元数据写入所述第二存储区域。
3.根据权利要求1所述的数据处理方法,其特征在于,所述第一变更元数据为写入所述新版本元数据期间,利用所述旧版本元数据响应事务处理而产生的元数据,所述将所述第一变更元数据合并至所述新版本元数据中,包括:
确认将所述第一变更元数据合并至所述新版本元数据中的合并进度;
当所述合并进度达到预设阈值,停止利用所述旧版本元数据响应事务处理,直至将所有的所述第一变更元数据合并至所述新版本元数据中。
4.根据权利要求1所述的数据处理方法,其特征在于,所述利用合并后的新版本元数据响应事务处理,包括:
将第二变更元数据写入所述第二存储区域,并将所述第二变更元数据复制至所述第一存储区域,其中,所述第二变更元数据为利用合并后的新版本元数据响应事务处理而产生的元数据;
或者,将第二变更元数据写入消息队列,其中,所述第一存储区域和所述第二存储区域为所述消息队列的接收对象,所述第二变更元数据为利用合并后的新版本元数据响应事务处理而产生的元数据。
5.根据权利要求1所述的数据处理方法,其特征在于,所述将所述第一变更元数据合并至所述新版本元数据中之后,所述数据处理方法还包括:
根据所述第一存储区域中的第一变更元数据,对所述第二存储区域中的第一变更元数据进行数据校验。
6.根据权利要求1所述的数据处理方法,其特征在于,所述数据处理方法还包括:
获取所述数据库的运行信息,其中,所述运行信息用于表征所述数据库运行正常或者运行异常;
当所述运行信息表征所述数据库在预设时长内运行正常,向所述第一存储区域对应的存储节点发送第一删除指令并向所述管控节点发送第二删除指令,所述存储节点根据所述第一删除指令删除所述第一存储区域中的所述旧版本元数据和所述第一变更元数据,使所述管控节点根据所述第二删除指令删除所述第一路由信息;
或者,当所述运行信息表征所述数据库运行异常,向所述管控节点发送第一路由切换指令,所述管控节点根据所述第一路由切换指令将用于响应事务处理的路由信息切换为所述第一路由信息。
7.一种数据处理方法,其特征在于,应用于管控节点,包括:
接收数据处理请求,根据所述数据处理请求确认存储节点的存储区域状态,所述存储节点的存储区域包括第一存储区域和第二存储区域;
当所述存储区域状态的信息表征旧版本元数据存储于所述第一存储区域,向计算节点发送用于确定所述第二存储区域的访问路径的第二路由信息,所述计算节点根据所述第二路由信息将数据库的新版本元数据写入所述第二存储区域;
向所述计算节点发送用于确定所述第一存储区域的访问路径的第一路由信息,所述计算节点根据所述第一路由信息获取第一变更元数据,并将所述第一变更元数据合并至所述新版本元数据中;
接收第二路由切换指令,根据所述第二路由切换指令将用于响应事务处理的路由信息切换为所述第二路由信息,所述计算节点根据所述第二路由信息,利用合并后的新版本元数据响应事务处理;
所述数据库包括多个存储节点,每个所述存储节点均设置有所述第一存储区域和所述第二存储区域,每个所述存储节点的第一存储区域均存储有所述旧版本元数据和所述新版本元数据,所述计算节点根据所述第一路由信息获取第一变更元数据,包括:
根据所述第一路由信息从多个所述存储节点中确认目标存储节点;
根据所述第一路由信息从所述目标存储节点中确认所述第一存储区域,从所述目标存储节点中的第一存储区域获取第一变更元数据;
所述将所述第一变更元数据合并至所述新版本元数据中,包括:
将第一元数据合并至第二元数据中,所述第一元数据为所述目标存储节点的第一存储区域中的第一变更元数据,所述第二元数据为所述目标存储节点的第二存储区域中的新版本元数据;
当所述第一元数据与所述第二元数据合并失败,将所述第一元数据合并至第三元数据中,所述第三元数据为除所述目标存储节点以外其他存储节点的第二存储区域中的新版本元数据。
8.根据权利要求7所述的数据处理方法,其特征在于,所述数据处理方法还包括:
接收第二删除指令,根据所述第二删除指令删除所述第一路由信息;其中,所述第二删除指令是由所述计算节点在所述数据库的运行信息表征所述数据库在预设时长内运行正常的情况下发送的;
或者,接收第一路由切换指令,根据所述第一路由切换指令将用于响应事务处理的路由信息切换为所述第一路由信息;其中,所述第一路由切换指令是由所述计算节点在所述数据库的运行信息表征所述数据库运行异常的情况下发送的。
9.根据权利要求7所述的数据处理方法,其特征在于,所述根据所述数据处理请求确认存储节点的存储区域状态之前,所述数据处理方法还包括:
当所述存储节点不存在第二存储区域,向所述存储节点发送创建指令,所述存储节点根据所述创建指令创建所述第二存储区域。
10.一种数据处理装置,其特征在于,包括:
数据处理请求发送模块,用于向管控节点发送数据处理请求,所述管控节点根据所述数据处理请求确认存储节点的存储区域状态,所述存储节点的存储区域包括第一存储区域和第二存储区域;
新版本元数据写入模块,用于当所述存储区域状态的信息表征旧版本元数据存储于所述第一存储区域,接收所述管控节点发送的用于确定所述第二存储区域的访问路径的第二路由信息,根据所述第二路由信息将数据库的新版本元数据写入所述第二存储区域;
合并模块,用于所述管控节点发送的接收用于确定所述第一存储区域的访问路径的第一路由信息,根据所述第一路由信息获取第一变更元数据,将所述第一变更元数据合并至所述新版本元数据中;
路由切换指令发送模块,用于向管控节点发送第二路由切换指令,所述管控节点根据所述第二路由切换指令将用于响应事务处理的路由信息切换为所述第二路由信息;
事务处理模块,用于根据所述第二路由信息,利用合并后的新版本元数据响应事务处理;
所述数据库包括多个存储节点,每个所述存储节点均设置有所述第一存储区域和所述第二存储区域,每个所述存储节点的第一存储区域均存储有所述旧版本元数据和所述新版本元数据,所述根据所述第一路由信息获取第一变更元数据,包括:
根据所述第一路由信息从多个所述存储节点中确认目标存储节点;
根据所述第一路由信息从所述目标存储节点中确认所述第一存储区域,从所述目标存储节点中的第一存储区域获取第一变更元数据;
所述将所述第一变更元数据合并至所述新版本元数据中,包括:
将第一元数据合并至第二元数据中,所述第一元数据为所述目标存储节点的第一存储区域中的第一变更元数据,所述第二元数据为所述目标存储节点的第二存储区域中的新版本元数据;
当所述第一元数据与所述第二元数据合并失败,将所述第一元数据合并至第三元数据中,所述第三元数据为除所述目标存储节点以外其他存储节点的第二存储区域中的新版本元数据。
11.一种数据处理装置,其特征在于,包括:
数据处理请求接收模块,用于接收数据处理请求,根据所述数据处理请求确认存储节点的存储区域状态,所述存储节点的存储区域包括第一存储区域和第二存储区域;
第二路由信息发送模块,用于当所述存储区域状态的信息表征旧版本元数据存储于所述第一存储区域,向计算节点发送用于确定所述第二存储区域的访问路径的第二路由信息,所述计算节点根据所述第二路由信息将数据库的新版本元数据写入所述第二存储区域;
第一路由信息发送模块,用于向所述计算节点发送用于确定所述第一存储区域的访问路径的第一路由信息,所述计算节点根据所述第一路由信息获取第一变更元数据,并将所述第一变更元数据合并至所述新版本元数据中;
路由信息处理模块,用于接收第二路由切换指令,根据所述第二路由切换指令将用于响应事务处理的路由信息切换为所述第二路由信息,所述计算节点根据所述第二路由信息,利用合并后的新版本元数据响应事务处理;
所述数据库包括多个存储节点,每个所述存储节点均设置有所述第一存储区域和所述第二存储区域,每个所述存储节点的第一存储区域均存储有所述旧版本元数据和所述新版本元数据,所述根据所述第一路由信息获取第一变更元数据,包括:
根据所述第一路由信息从多个所述存储节点中确认目标存储节点;
根据所述第一路由信息从所述目标存储节点中确认所述第一存储区域,从所述目标存储节点中的第一存储区域获取第一变更元数据;
所述将所述第一变更元数据合并至所述新版本元数据中,包括:
将第一元数据合并至第二元数据中,所述第一元数据为所述目标存储节点的第一存储区域中的第一变更元数据,所述第二元数据为所述目标存储节点的第二存储区域中的新版本元数据;
当所述第一元数据与所述第二元数据合并失败,将所述第一元数据合并至第三元数据中,所述第三元数据为除所述目标存储节点以外其他存储节点的第二存储区域中的新版本元数据。
12.一种电子设备,包括存储器、处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现权利要求1至9任意一项所述的数据处理方法。
13.一种计算机可读存储介质,所述存储介质存储有程序,所述程序被处理器执行实现权利要求1至9任意一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110974942.XA CN115114260B (zh) | 2021-08-24 | 2021-08-24 | 数据处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110974942.XA CN115114260B (zh) | 2021-08-24 | 2021-08-24 | 数据处理方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115114260A CN115114260A (zh) | 2022-09-27 |
CN115114260B true CN115114260B (zh) | 2023-06-23 |
Family
ID=83325341
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110974942.XA Active CN115114260B (zh) | 2021-08-24 | 2021-08-24 | 数据处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115114260B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111506592A (zh) * | 2020-04-21 | 2020-08-07 | 腾讯科技(深圳)有限公司 | 一种数据库的升级方法和装置 |
CN111708764A (zh) * | 2020-06-22 | 2020-09-25 | 深圳前海微众银行股份有限公司 | 一种数据库变更版本的控制方法及装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10474648B2 (en) * | 2014-11-25 | 2019-11-12 | Sap Se | Migration of unified table metadata graph nodes |
US10572551B2 (en) * | 2015-10-23 | 2020-02-25 | Oracle International Corporation | Application containers in container databases |
CN105550288B (zh) * | 2015-12-10 | 2019-07-02 | 百度在线网络技术(北京)有限公司 | 数据库系统的更新方法和管理系统 |
US11157517B2 (en) * | 2016-04-18 | 2021-10-26 | Amazon Technologies, Inc. | Versioned hierarchical data structures in a distributed data store |
CN109271376A (zh) * | 2018-11-30 | 2019-01-25 | 北京锐安科技有限公司 | 数据库升级方法、装置、设备及存储介质 |
US11526473B2 (en) * | 2019-09-25 | 2022-12-13 | International Business Machines Corporation | Database upgrade in a distributed database cluster |
-
2021
- 2021-08-24 CN CN202110974942.XA patent/CN115114260B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111506592A (zh) * | 2020-04-21 | 2020-08-07 | 腾讯科技(深圳)有限公司 | 一种数据库的升级方法和装置 |
CN111708764A (zh) * | 2020-06-22 | 2020-09-25 | 深圳前海微众银行股份有限公司 | 一种数据库变更版本的控制方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN115114260A (zh) | 2022-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10956374B2 (en) | Data recovery method, apparatus, and system | |
JP6353924B2 (ja) | ブロックベースストレージに対するデータボリュームの耐久性状態の低減 | |
US8886609B2 (en) | Backup and restore of data from any cluster node | |
US12001453B2 (en) | Asynchronous cross-region block volume replication | |
JP2019519025A (ja) | 分散システムにおける範囲の分割および移動 | |
US20150213100A1 (en) | Data synchronization method and system | |
CN107577420B (zh) | 文件处理方法和装置、服务器 | |
US9747291B1 (en) | Non-disruptive upgrade configuration translator | |
CN102938784A (zh) | 应用于分布式存储系统中的数据存储方法和系统 | |
CN105283847A (zh) | 本地存储数据版本控制 | |
US10824641B1 (en) | Deterministic query-based replication | |
CN112579550B (zh) | 一种分布式文件系统的元数据信息同步方法及系统 | |
CN111414356A (zh) | 数据存储方法、装置、非关系数据库系统及存储介质 | |
CN115114260B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN111752892B (zh) | 分布式文件系统及其实现方法、管理系统、设备及介质 | |
CN110096295B (zh) | 基于ReactNative的多模块移动应用的热更新方法及系统 | |
CN113515574B (zh) | 一种数据同步方法及装置 | |
CN115586872A (zh) | 一种容器镜像管理方法、装置、设备及存储介质 | |
CN113806309A (zh) | 基于分布式锁的元数据删除方法、系统、终端及存储介质 | |
KR101298852B1 (ko) | 파일 복원 방법 및 이를 위한 시스템 | |
CN116414579B (zh) | 基于分布式群组通信实现的多副本间数据一致性的方法 | |
US10862958B1 (en) | Flexible associativity in multitenant clustered environments | |
CN117828160A (zh) | 数据处理方法和数据处理装置 | |
CN115168109A (zh) | 一种数据恢复方法、装置、设备及存储介质 | |
CN115297129A (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 |