CN109521971A - 一种基于跨机房的数据读写分离方法及系统 - Google Patents
一种基于跨机房的数据读写分离方法及系统 Download PDFInfo
- Publication number
- CN109521971A CN109521971A CN201811413877.8A CN201811413877A CN109521971A CN 109521971 A CN109521971 A CN 109521971A CN 201811413877 A CN201811413877 A CN 201811413877A CN 109521971 A CN109521971 A CN 109521971A
- Authority
- CN
- China
- Prior art keywords
- computer room
- data
- request
- reading
- information
- 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
- 238000000926 separation method Methods 0.000 title claims abstract description 90
- 238000000034 method Methods 0.000 claims description 35
- 238000000354 decomposition reaction Methods 0.000 claims description 14
- 230000015654 memory Effects 0.000 description 13
- 230000008569 process Effects 0.000 description 12
- 230000001360 synchronised effect Effects 0.000 description 10
- 238000004590 computer program Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 230000009471 action Effects 0.000 description 2
- 235000013399 edible fruits Nutrition 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 230000010076 replication Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 229910052799 carbon Inorganic materials 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
一种基于跨机房的数据读写分离方法及系统,包括:利用业务层的目标组件分解目标数据读写请求,获得目标请求以及所述目标请求相匹配的机房信息,所述目标请求为读数据请求或者写数据请求;在所述机房信息对应的机房中执行所述目标请求相匹配的操作。实施本发明实施例,可以利用业务层的目标组件对目标数据读写请求进行分解,从而在不同的机房执行不同的目标请求,实现了跨机房的数据读写分离。
Description
技术领域
本发明涉及数据存储技术领域,尤其涉及一种基于跨机房的数据读写分离方法及系统。
背景技术
目前,采用单机房架构存储数据时,经常会出现机房故障以至于该机房存储的所有数据丢失的情况,为了减少这种情况的发生,多机房架构已经广泛应用至数据存储,用以将数据备份在不同的机房中。在实践中发现,在多机房架构下只能实现利用某一机房中的代理响应该机房接收到的数据读写指令,用以在该机房中实现数据读写分离,无法实现跨机房的数据读写分离。
发明内容
本发明实施例公开一种基于跨机房的数据读写分离方法及系统,能够实现跨机房的数据读写分离。
本发明实施例第一方面公开一种基于跨机房的数据读写分离方法,包括:
利用业务层的目标组件分解目标数据读写请求,获得目标请求以及所述目标请求相匹配的机房信息,所述目标请求为读数据请求或者写数据请求;
在所述机房信息对应的机房中执行所述目标请求相匹配的操作。
作为一种可选的实施方式,在本发明实施例第一方面中,所述在所述机房信息对应的机房中执行所述目标请求相匹配的操作,包括:
当所述目标请求为所述写数据请求时,在所述机房信息对应的机房中执行所述写数据请求相匹配的写数据操作,并根据所述写数据操作所写入的数据更新关联机房中的数据,所述关联机房为所述机房信息对应的机房相关联的机房;
当所述目标请求为所述读数据请求时,在所述机房信息对应的机房中执行所述读数据请求相匹配的读数据操作。
作为一种可选的实施方式,在本发明实施例第一方面中,在所述机房信息对应的机房中执行所述写数据请求相匹配的写数据操作之前,所述方法还包括:
获取所述写数据请求对应的第一权限信息;
根据所述第一权限信息判断所述写数据请求是否具有在所述机房信息对应的机房中执行所述写数据请求相匹配的写数据操作的权限,如果是,执行所述的在所述机房信息对应的机房中执行所述写数据请求相匹配的写数据操作。
作为一种可选的实施方式,在本发明实施例第一方面中,在所述机房信息对应的机房中执行所述读数据请求相匹配的读数据操作之前,所述方法还包括:
获取所述读数据请求对应的第二权限信息;
根据所述第二权限信息判断所述读数据请求是否具有在所述机房信息对应的机房中执行所述读数据请求相匹配的读数据操作的权限,如果是,执行所述的在所述机房信息对应的机房中执行所述读数据请求相匹配的读数据操作。
作为一种可选的实施方式,在本发明实施例第一方面中,在所述利用业务层的目标组件分解目标数据读写请求,获得目标请求以及所述目标请求相匹配的机房信息之前,所述方法还包括:
通过域名系统解析数据读写请求,获得目标数据读写请求。
本发明实施例第二方面公开了一种基于跨机房的数据读写分离系统,包括:
第一获取单元,用于利用业务层的目标组件分解目标数据读写请求,获得目标请求以及所述目标请求相匹配的机房信息,所述目标请求为读数据请求或者写数据请求;
执行单元,用于在所述机房信息对应的机房中执行所述目标请求相匹配的操作。
作为一种可选的实施方式,在本发明实施例第二方面中,所述执行单元包括:
第一执行子单元,用于当所述目标请求为所述写数据请求时,在所述机房信息对应的机房中执行所述写数据请求相匹配的写数据操作,并根据所述写数据操作所写入的数据更新关联机房中的数据,所述关联机房为所述机房信息对应的机房相关联的机房;
第二执行子单元,用于当所述目标请求为所述读数据请求时,在所述机房信息对应的机房中执行所述读数据请求相匹配的读数据操作。
作为一种可选的实施方式,在本发明实施例第二方面中,所述系统还包括:
第二获取单元,用于所述第一执行子单元在所述机房信息对应的机房中执行所述写数据请求相匹配的写数据操作之前,获取所述写数据请求对应的第一权限信息;
第一判断单元,用于根据所述第一权限信息判断所述写数据请求是否具有在所述机房信息对应的机房中执行所述写数据请求相匹配的写数据操作的权限,如果是,触发所述第一执行子单元执行所述的在所述机房信息对应的机房中执行所述写数据请求相匹配的写数据操作。
作为一种可选的实施方式,在本发明实施例第二方面中,所述系统还包括:
第三获取单元,用于所述第二执行子单元在所述机房信息对应的机房中执行所述读数据请求相匹配的读数据操作之前,获取所述读数据请求对应的第二权限信息;
第二判断单元,用于根据所述第二权限信息判断所述读数据请求是否具有在所述机房信息对应的机房中执行所述读数据请求相匹配的读数据操作的权限,如果是,触发所述第二执行子单元执行所述的在所述机房信息对应的机房中执行所述读数据请求相匹配的读数据操作。
作为一种可选的实施方式,在本发明实施例第二方面中,所述系统还包括:
解析单元,用于在所述第一获取单元利用业务层的目标组件分解目标数据读写请求,获得目标请求以及所述目标请求相匹配的机房信息之前,通过域名系统解析数据读写请求,获得目标数据读写请求。
本发明实施例第三方面公开一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行第一方面的任意一种方法的部分或全部步骤。
本发明实施例第四方面公开一种应用发布平台,所述应用发布平台用于发布计算机程序产品,其中,当所述计算机程序产品在计算机上运行时,使得所述计算机执行第一方面的任意一种方法的部分或全部步骤。
与现有技术相比,本发明实施例具有以下有益效果:
本发明实施例中,利用业务层的目标组件分解目标数据读写请求,获得目标请求以及目标请求相匹配的机房信息,目标请求为读数据请求或者写数据请求;在机房信息对应的机房中执行目标请求相匹配的操作。这一过程可以利用业务层的目标组件对目标数据读写请求进行分解,从而在不同的机房执行不同的目标请求,实现了跨机房的数据读写分离。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例公开的一种基于跨机房的数据读写分离方法的流程示意图;
图2是本发明实施例公开的另一种基于跨机房的数据读写分离方法的流程示意图;
图3是本发明实施例公开的另一种基于跨机房的数据读写分离方法的流程示意图;
图4是本发明实施例公开的一种基于跨机房的数据读写分离系统的结构示意图;
图5是本发明实施例公开的另一种基于跨机房的数据读写分离系统的结构示意图;
图6是本发明实施例公开的另一种基于跨机房的数据读写分离系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明实施例及附图中的术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例公开一种基于跨机房的数据读写分离方法及系统,能够在不同的机房执行不同的目标请求,实现了跨机房的数据读写分离。以下分别进行详细说明。
实施例一
请参阅图1,图1是本发明实施例公开的一种基于跨机房的数据读写分离方法的流程示意图。如图1所示,该基于跨机房的数据读写分离方法可以包括以下步骤:
101、基于跨机房的数据读写分离系统利用业务层的目标组件分解目标数据读写请求,获得目标请求以及目标请求相匹配的机房信息,目标请求为读数据请求或者写数据请求。
本发明实施例中,目标组件可以为tomcat组件,利用业务层的tomcat组件可以将目标数据读写请求分解,获得若干个目标请求以及与每一目标请求相匹配的机房信息,从而在不同的机房信息对应的机房中实现相应的读数据请求相匹配的操作或者写数据请求相匹配的操作。例如,目标数据读写请求包括在机房A中读数据的目标请求又包括在机房B中写数据的目标请求,通过业务层的tomcat组件可以在机房A中读取数据,在机房B中写入数据,从而实现了跨机房的数据读写分离。
102、基于跨机房的数据读写分离系统在机房信息对应的机房中执行目标请求相匹配的操作。
本发明实施例中,与读数据请求相匹配的操作为读数据操作,与写数据请求相匹配的操作为写数据操作。
作为一种可选的实施方式,当目标请求为读数据请求时,基于跨机房的数据读写分离系统在机房信息对应的机房中执行目标请求相匹配的操作可以包括:
基于跨机房的数据读写分离系统在获取该读数据请求相匹配的读写分离策略以及该读数据请求指示读取的数据标识;
基于跨机房的数据读写分离系统根据该读写分离策略确定与该数据标识对应的数据相匹配的写入机房;
基于跨机房的数据读写分离系统判断该写入机房写入的数据是否同步更新至上述机房信息对应的机房中;
如果是,基于跨机房的数据读写分离系统在机房信息对应的机房中执行读数据请求相匹配的读数据操作;
如果否,基于跨机房的数据读写分离系统将写入机房的数据同步更新至上述机房信息对应的机房中,并执行上述的在机房信息对应的机房中执行读数据请求相匹配的读数据操作。
通过实施这种可选的实施方式,如果目标请求为读数据请求,可以先获取读数据请求相匹配的读写分离策略,以此为依据判断需要读取的数据所写入的写入机房中的数据是否已同步更新至机房信息对应的机房,如果更新,则在机房信息对应的机房中读数据,如果未更新,则将写入机房中的数据更新至机房信息对应的机房后再读数据。这一过程可以提高读数据的成功率,智能化程度更高。
可见,通过实施图1所描述的基于跨机房的数据读写分离方法,可以利用业务层的目标组件对目标数据读写请求进行分解,从而在不同的机房执行不同的目标请求,实现了跨机房的数据读写分离。
实施例二
请参阅图2,图2是本发明实施例公开的另一种基于跨机房的数据读写分离方法的流程示意图。如图2所示,该基于跨机房的数据读写分离方法可以包括以下步骤:
201、基于跨机房的数据读写分离系统利用业务层的目标组件分解目标数据读写请求,获得目标请求以及目标请求相匹配的机房信息,目标请求为读数据请求或者写数据请求。
202、当目标请求为读数据请求时,基于跨机房的数据读写分离系统在机房信息对应的机房中执行读数据请求相匹配的读数据操作。
203、当目标请求为写数据请求时,基于跨机房的数据读写分离系统获取写数据请求对应的第一权限信息。
本发明实施例中,第一权限信息至少包括该请求允许写入数据的机房信息。
204、基于跨机房的数据读写分离系统根据第一权限信息判断写数据请求是否具有在机房信息对应的机房中执行写数据请求相匹配的写数据操作的权限,如果是,执行步骤205至步骤206,如果否,结束本次流程。
作为一种可选的实施方式,基于跨机房的数据读写分离系统根据第一权限信息判断写数据请求是否具有在机房信息对应的机房中执行写数据请求相匹配的写数据操作的权限可以包括:
基于跨机房的数据读写分离系统判断第一权限信息包括的允许写入数据的机房信息中是否包括上述机房信息对应的机房;
如果否,基于跨机房的数据读写分离系统确定写数据请求不具有在机房信息对应的机房中执行写数据请求相匹配的写数据操作的权限;
如果是,基于跨机房的数据读写分离系统判断确定写数据请求具有在机房信息对应的机房中执行写数据请求相匹配的写数据操作的权限。
通过实施这种可选的实施方式,可以根据第一权限信息包括的允许写入数据的机房信息来判断上述机房信息对应的机房中是否具有写数据请求相匹配的写数据操作的权限,判断方式更加便捷,提高了判断的准确度。
作为另一种可选的实施方式,在基于跨机房的数据读写分离系统判断出写数据请求不具有在机房信息对应的机房中执行写数据请求相匹配的写数据操作的权限之后,还可以执行以下步骤:
基于跨机房的数据读写分离系统在允许写入数据的机房信息中确定与该机房信息对应的机房具有数据同步关系的目标机房,数据同步关系为定期复制该允许写入数据的机房信息对应的机房的数据至机房信息对应的机房的数据;
基于跨机房的数据读写分离系统输出目标机房对应的目标机房信息,并检测是否接收到用户针对该目标机房信息的选取指令;
如果是,基于跨机房的数据读写分离系统根据选取指令指示选取的目标机房,在该目标机房中执行写数据请求相匹配的写数据操作。
通过实施这种可选的实施方式,当用户请求在某一机房写数据且该用户不具有在该机房写入数据的权限时,可以进一步确定该某一机房具有数据同步关系的机房,将这些机房推荐给用户写入数据,由于这些机房写入数据后可在该某一机房中读取该写入的数据,更符合用户的使用习惯,提高了写入数据的智能化程度。
205、基于跨机房的数据读写分离系统在机房信息对应的机房中执行写数据请求相匹配的写数据操作。
206、基于跨机房的数据读写分离系统根据写数据操作所写入的数据更新关联机房中的数据,关联机房为机房信息对应的机房相关联的机房。
可见,通过实施图2所描述的基于跨机房的数据读写分离方法,可以利用业务层的目标组件对目标数据读写请求进行分解,从而在不同的机房执行不同的目标请求,实现了跨机房的数据读写分离。
此外,通过实施图2所描述的基于跨机房的数据读写分离方法,当目标请求为写数据请求时,还可以将写入的数据更新至关联机房,以使在关联机房中能够读取到写入的数据,实现了数据的跨机房读取,能够读取其它机房写入的数据,提高了机房之间数据的连通性。
此外,通过实施图2所描述的基于跨机房的数据读写分离方法,在写入数据之前可以先判断写数据请求是否具有在该机房中写数据的权限,如果有权限,才执行相应的写数据操作,提高了数据写入的安全性。
实施例三
请参阅图3,图3是本发明实施例公开的另一种基于跨机房的数据读写分离方法的流程示意图。如图3所示,该基于跨机房的数据读写分离方法可以包括以下步骤:
301、基于跨机房的数据读写分离系统通过域名系统解析数据读写请求,获得目标数据读写请求。
302、基于跨机房的数据读写分离系统利用业务层的目标组件分解目标数据读写请求,获得目标请求以及目标请求相匹配的机房信息,目标请求为读数据请求或者写数据请求。
303、当目标请求为读数据请求时,基于跨机房的数据读写分离系统获取读数据请求对应的第二权限信息。
304、基于跨机房的数据读写分离系统根据第二权限信息判断读数据请求是否具有在机房信息对应的机房中执行读数据请求相匹配的读数据操作的权限,如果是,执行步骤305,如果否,结束本次流程。
作为一种可选的实施方式,基于跨机房的数据读写分离系统根据第二权限信息判断读数据请求是否具有在机房信息对应的机房中执行读数据请求相匹配的读数据操作的权限可以包括:
基于跨机房的数据读写分离系统判断第二权限信息包括的允许读取数据的机房信息中是否包括上述机房信息对应的机房;
如果否,基于跨机房的数据读写分离系统确定读数据请求不具有在机房信息对应的机房中执行读数据请求相匹配的读数据操作的权限;
如果是,基于跨机房的数据读写分离系统判断确定读数据请求具有在机房信息对应的机房中执行读数据请求相匹配的读数据操作的权限。
通过实施这种可选的实施方式,可以根据第二权限信息包括的允许写入数据的机房信息来判断上述机房信息对应的机房中是否具有读数据请求相匹配的读数据操作的权限,判断方式更加便捷,提高了判断的准确度。
305、基于跨机房的数据读写分离系统在机房信息对应的机房中执行读数据请求相匹配的读数据操作。
306、当目标请求为写数据请求时,基于跨机房的数据读写分离系统获取写数据请求对应的第一权限信息。
307、基于跨机房的数据读写分离系统根据第一权限信息判断写数据请求是否具有在机房信息对应的机房中执行写数据请求相匹配的写数据操作的权限,如果是,执行步骤308至步骤309,如果否,结束本次流程。
308、基于跨机房的数据读写分离系统在机房信息对应的机房中执行写数据请求相匹配的写数据操作。
309、基于跨机房的数据读写分离系统根据写数据操作所写入的数据更新关联机房中的数据,关联机房为机房信息对应的机房相关联的机房。
可见,通过实施图3所描述的基于跨机房的数据读写分离方法,可以利用业务层的目标组件对目标数据读写请求进行分解,从而在不同的机房执行不同的目标请求,实现了跨机房的数据读写分离。
此外,通过实施图3所描述的基于跨机房的数据读写分离方法,当目标请求为写数据请求时,还可以将写入的数据更新至关联机房,以使在关联机房中能够读取到写入的数据,实现了数据的跨机房读取,能够读取其它机房写入的数据,提高了机房之间数据的连通性。
此外,通过实施图3所描述的基于跨机房的数据读写分离方法,在写入数据之前可以先判断写数据请求是否具有在该机房中写数据的权限,如果有权限,才执行相应的写数据操作,提高了数据写入的安全性。
此外,通过实施图3所描述的基于跨机房的数据读写分离方法,还可以在读数据之前先判断读数据请求是否具有在该机房中读数据的权限,如果有权限,才执行相应的读数据操作,提高了数据读取的安全性。
实施例四
请参阅图4,图4是本发明实施例公开的一种基于跨机房的数据读写分离系统的结构示意图。其中,如图4所示,该系统400可以包括:
第一获取单元401,用于利用业务层的目标组件分解目标数据读写请求,获得目标请求以及目标请求相匹配的机房信息,目标请求为读数据请求或者写数据请求。
本发明实施例中,目标组件可以为tomcat组件,利用业务层的tomcat组件可以将目标数据读写请求分解,获得若干个目标请求以及与每一目标请求相匹配的机房信息,从而在不同的机房信息对应的机房中实现相应的读数据请求相匹配的操作或者写数据请求相匹配的操作。例如,目标数据读写请求包括在机房A中读数据的目标请求又包括在机房B中写数据的目标请求,通过业务层的tomcat组件可以在机房A中读取数据,在机房B中写入数据,从而实现了跨机房的数据读写分离。
执行单元402,用于在机房信息对应的机房中执行目标请求相匹配的操作。
本发明实施例中,与读数据请求相匹配的操作为读数据操作,与写数据请求相匹配的操作为写数据操作。
作为一种可选的实施方式,当目标请求为读数据请求时,执行单元402在机房信息对应的机房中执行目标请求相匹配的操作可以包括:
执行单元402在获取该读数据请求相匹配的读写分离策略以及该读数据请求指示读取的数据标识;
执行单元402根据该读写分离策略确定与该数据标识对应的数据相匹配的写入机房;
执行单元402判断该写入机房写入的数据是否同步更新至上述机房信息对应的机房中;
如果是,执行单元402在机房信息对应的机房中执行读数据请求相匹配的读数据操作;
如果否,执行单元402将写入机房的数据同步更新至上述机房信息对应的机房中,并执行上述的在机房信息对应的机房中执行读数据请求相匹配的读数据操作。
通过实施这种可选的实施方式,如果目标请求为读数据请求,可以先获取读数据请求相匹配的读写分离策略,以此为依据判断需要读取的数据所写入的写入机房中的数据是否已同步更新至机房信息对应的机房,如果更新,则在机房信息对应的机房中读数据,如果未更新,则将写入机房中的数据更新至机房信息对应的机房后再读数据。这一过程可以提高读数据的成功率,智能化程度更高。
可见,通过实施图4所描述的基于跨机房的数据读写分离系统,可以利用业务层的目标组件对目标数据读写请求进行分解,从而在不同的机房执行不同的目标请求,实现了跨机房的数据读写分离。
实施例五
请参阅图5,图5是本发明实施例公开的另一种基于跨机房的数据读写分离系统的结构示意图。其中,图5所示的系统400是由图4所示的系统400进行优化得到的,在图5所示的系统400中,执行单元402包括:
第一执行子单元4021,用于当目标请求为写数据请求时,在机房信息对应的机房中执行写数据请求相匹配的写数据操作,并根据写数据操作所写入的数据更新关联机房中的数据,关联机房为机房信息对应的机房相关联的机房。
第二执行子单元4022,用于当目标请求为读数据请求时,在机房信息对应的机房中执行读数据请求相匹配的读数据操作。
可选的,图5所示的系统400还可以包括:
第二获取单元403,用于第一执行子单元4021在机房信息对应的机房中执行写数据请求相匹配的写数据操作之前,获取写数据请求对应的第一权限信息。
第一判断单元404,用于根据第一权限信息判断写数据请求是否具有在机房信息对应的机房中执行写数据请求相匹配的写数据操作的权限,如果是,触发第一执行子单元4021执行上述的在机房信息对应的机房中执行写数据请求相匹配的写数据操作。
作为一种可选的实施方式,第一判断单元404根据第一权限信息判断写数据请求是否具有在机房信息对应的机房中执行写数据请求相匹配的写数据操作的权限可以包括:
第一判断单元404判断第一权限信息包括的允许写入数据的机房信息中是否包括上述机房信息对应的机房;
如果否,第一判断单元404确定写数据请求不具有在机房信息对应的机房中执行写数据请求相匹配的写数据操作的权限;
如果是,第一判断单元404判断确定写数据请求具有在机房信息对应的机房中执行写数据请求相匹配的写数据操作的权限。
通过实施这种可选的实施方式,可以根据第一权限信息包括的允许写入数据的机房信息来判断上述机房信息对应的机房中是否具有写数据请求相匹配的写数据操作的权限,判断方式更加便捷,提高了判断的准确度。
作为另一种可选的实施方式,在第一判断单元404判断出写数据请求不具有在机房信息对应的机房中执行写数据请求相匹配的写数据操作的权限之后,第一判断单元404还可以用于:
在允许写入数据的机房信息中确定与该机房信息对应的机房具有数据同步关系的目标机房,数据同步关系为定期复制该允许写入数据的机房信息对应的机房的数据至机房信息对应的机房的数据;
输出目标机房对应的目标机房信息,并检测是否接收到用户针对该目标机房信息的选取指令;
如果是,根据选取指令指示选取的目标机房,在该目标机房中执行写数据请求相匹配的写数据操作。
通过实施这种可选的实施方式,当用户请求在某一机房写数据且该用户不具有在该机房写入数据的权限时,可以进一步确定该某一机房具有数据同步关系的机房,将这些机房推荐给用户写入数据,由于这些机房写入数据后可在该某一机房中读取该写入的数据,更符合用户的使用习惯,提高了写入数据的智能化程度。
可见,通过实施图5所描述的基于跨机房的数据读写分离系统,可以利用业务层的目标组件对目标数据读写请求进行分解,从而在不同的机房执行不同的目标请求,实现了跨机房的数据读写分离。
此外,通过实施图5所描述的基于跨机房的数据读写分离系统,当目标请求为写数据请求时,还可以将写入的数据更新至关联机房,以使在关联机房中能够读取到写入的数据,实现了数据的跨机房读取,能够读取其它机房写入的数据,提高了机房之间数据的连通性。
此外,通过实施图5所描述的基于跨机房的数据读写分离系统,在写入数据之前可以先判断写数据请求是否具有在该机房中写数据的权限,如果有权限,才执行相应的写数据操作,提高了数据写入的安全性。
实施例六
请参阅图6,图6是本发明实施例公开的另一种基于跨机房的数据读写分离系统的结构示意图。其中,图6所示的系统400是由图5所示的系统400进行优化得到的,图6所示的系统400还可以包括:
第三获取单元405,用于第二执行子单元4022在机房信息对应的机房中执行读数据请求相匹配的读数据操作之前,获取读数据请求对应的第二权限信息。
第二判断单元406,用于根据第二权限信息判断读数据请求是否具有在机房信息对应的机房中执行读数据请求相匹配的读数据操作的权限,如果是,触发第二执行子单元4022执行上述的在机房信息对应的机房中执行读数据请求相匹配的读数据操作。
作为一种可选的实施方式,第二判断单元406根据第二权限信息判断读数据请求是否具有在机房信息对应的机房中执行读数据请求相匹配的读数据操作的权限可以包括:
第二判断单元406判断第二权限信息包括的允许读取数据的机房信息中是否包括上述机房信息对应的机房;
如果否,第二判断单元406确定读数据请求不具有在机房信息对应的机房中执行读数据请求相匹配的读数据操作的权限;
如果是,第二判断单元406判断确定读数据请求具有在机房信息对应的机房中执行读数据请求相匹配的读数据操作的权限。
通过实施这种可选的实施方式,可以根据第二权限信息包括的允许写入数据的机房信息来判断上述机房信息对应的机房中是否具有读数据请求相匹配的读数据操作的权限,判断方式更加便捷,提高了判断的准确度。
可选的,图6所示的系统400还可以包括:
解析单元407,用于在第一获取单元401利用业务层的目标组件分解目标数据读写请求,获得目标请求以及目标请求相匹配的机房信息之前,通过域名系统解析数据读写请求,获得目标数据读写请求。
具体的,在解析单元407通过域名系统解析数据读写请求,获得目标数据读写请求,向第一获取单元401发送触发指令,以触发第一获取单元401通过域名系统解析数据读写请求,获得目标数据读写请求。
可见,通过实施图6所描述的基于跨机房的数据读写分离系统,可以利用业务层的目标组件对目标数据读写请求进行分解,从而在不同的机房执行不同的目标请求,实现了跨机房的数据读写分离。
此外,通过实施图6所描述的基于跨机房的数据读写分离系统,当目标请求为写数据请求时,还可以将写入的数据更新至关联机房,以使在关联机房中能够读取到写入的数据,实现了数据的跨机房读取,能够读取其它机房写入的数据,提高了机房之间数据的连通性。
此外,通过实施图6所描述的基于跨机房的数据读写分离系统,在写入数据之前可以先判断写数据请求是否具有在该机房中写数据的权限,如果有权限,才执行相应的写数据操作,提高了数据写入的安全性。
此外,通过实施图6所描述的基于跨机房的数据读写分离系统,还可以在读数据之前先判断读数据请求是否具有在该机房中读数据的权限,如果有权限,才执行相应的读数据操作,提高了数据读取的安全性。
本发明实施例公开一种计算机可读存储介质,其存储计算机程序,其中,该计算机程序使得计算机执行图1~图3任意一种基于跨机房的数据读写分离方法。
本发明实施例还公开一种计算机程序产品,其中,当计算机程序产品在计算机上运行时,使得计算机执行如以上各方法实施例中的方法的部分或全部步骤。
本发明实施例还公开一种应用发布平台,其中,应用发布平台用于发布计算机程序产品,其中,当计算机程序产品在计算机上运行时,使得计算机执行如以上各方法实施例中的方法的部分或全部步骤。
在本发明的各种实施例中,应理解,上述各过程的序号的大小并不意味着执行顺序的必然先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在本发明所提供的实施例中,应理解,“与A相应的B”表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其他信息确定B。
另外,在本发明各实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元若以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可获取的存储器中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或者部分,可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干请求用以使得一台计算机设备(可以为个人计算机、服务器或者网络设备等,具体可以是计算机设备中的处理器)执行本发明的各个实施例上述方法的部分或全部步骤。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质包括只读存储器(Read-Only Memory,ROM)、随机存储器(Random Access Memory,RAM)、可编程只读存储器(Programmable Read-only Memory,PROM)、可擦除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、一次可编程只读存储器(One-time Programmable Read-Only Memory,OTPROM)、电子抹除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
以上对本发明实施例公开的一种基于跨机房的数据读写分离方法及系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种基于跨机房的数据读写分离方法,其特征在于,包括:
利用业务层的目标组件分解目标数据读写请求,获得目标请求以及所述目标请求相匹配的机房信息,所述目标请求为读数据请求或者写数据请求;
在所述机房信息对应的机房中执行所述目标请求相匹配的操作。
2.根据权利要求1所述的方法,其特征在于,所述在所述机房信息对应的机房中执行所述目标请求相匹配的操作,包括:
当所述目标请求为所述写数据请求时,在所述机房信息对应的机房中执行所述写数据请求相匹配的写数据操作,并根据所述写数据操作所写入的数据更新关联机房中的数据,所述关联机房为所述机房信息对应的机房相关联的机房;
当所述目标请求为所述读数据请求时,在所述机房信息对应的机房中执行所述读数据请求相匹配的读数据操作。
3.根据权利要求2所述的方法,其特征在于,在所述机房信息对应的机房中执行所述写数据请求相匹配的写数据操作之前,所述方法还包括:
获取所述写数据请求对应的第一权限信息;
根据所述第一权限信息判断所述写数据请求是否具有在所述机房信息对应的机房中执行所述写数据请求相匹配的写数据操作的权限,如果是,执行所述的在所述机房信息对应的机房中执行所述写数据请求相匹配的写数据操作。
4.根据权利要求2所述的方法,其特征在于,在所述机房信息对应的机房中执行所述读数据请求相匹配的读数据操作之前,所述方法还包括:
获取所述读数据请求对应的第二权限信息;
根据所述第二权限信息判断所述读数据请求是否具有在所述机房信息对应的机房中执行所述读数据请求相匹配的读数据操作的权限,如果是,执行所述的在所述机房信息对应的机房中执行所述读数据请求相匹配的读数据操作。
5.根据权利要求1至4任一项所述的方法,其特征在于,在所述利用业务层的目标组件分解目标数据读写请求,获得目标请求以及所述目标请求相匹配的机房信息之前,所述方法还包括:
通过域名系统解析数据读写请求,获得目标数据读写请求。
6.一种基于跨机房的数据读写分离系统,其特征在于,包括:
第一获取单元,用于利用业务层的目标组件分解目标数据读写请求,获得目标请求以及所述目标请求相匹配的机房信息,所述目标请求为读数据请求或者写数据请求;
执行单元,用于在所述机房信息对应的机房中执行所述目标请求相匹配的操作。
7.根据权利要求6所述的系统,其特征在于,所述执行单元包括:
第一执行子单元,用于当所述目标请求为所述写数据请求时,在所述机房信息对应的机房中执行所述写数据请求相匹配的写数据操作,并根据所述写数据操作所写入的数据更新关联机房中的数据,所述关联机房为所述机房信息对应的机房相关联的机房;
第二执行子单元,用于当所述目标请求为所述读数据请求时,在所述机房信息对应的机房中执行所述读数据请求相匹配的读数据操作。
8.根据权利要求7所述的系统,其特征在于,所述系统还包括:
第二获取单元,用于所述第一执行子单元在所述机房信息对应的机房中执行所述写数据请求相匹配的写数据操作之前,获取所述写数据请求对应的第一权限信息;
第一判断单元,用于根据所述第一权限信息判断所述写数据请求是否具有在所述机房信息对应的机房中执行所述写数据请求相匹配的写数据操作的权限,如果是,触发所述第一执行子单元执行所述的在所述机房信息对应的机房中执行所述写数据请求相匹配的写数据操作。
9.根据权利要求8所述的系统,其特征在于,所述系统还包括:
第三获取单元,用于所述第二执行子单元在所述机房信息对应的机房中执行所述读数据请求相匹配的读数据操作之前,获取所述读数据请求对应的第二权限信息;
第二判断单元,用于根据所述第二权限信息判断所述读数据请求是否具有在所述机房信息对应的机房中执行所述读数据请求相匹配的读数据操作的权限,如果是,触发所述第二执行子单元执行所述的在所述机房信息对应的机房中执行所述读数据请求相匹配的读数据操作。
10.根据权利要求6至9任一项所述的系统,其特征在于,所述系统还包括:
解析单元,用于在所述第一获取单元利用业务层的目标组件分解目标数据读写请求,获得目标请求以及所述目标请求相匹配的机房信息之前,通过域名系统解析数据读写请求,获得目标数据读写请求。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811413877.8A CN109521971A (zh) | 2018-11-26 | 2018-11-26 | 一种基于跨机房的数据读写分离方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811413877.8A CN109521971A (zh) | 2018-11-26 | 2018-11-26 | 一种基于跨机房的数据读写分离方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109521971A true CN109521971A (zh) | 2019-03-26 |
Family
ID=65778777
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811413877.8A Pending CN109521971A (zh) | 2018-11-26 | 2018-11-26 | 一种基于跨机房的数据读写分离方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109521971A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102033912A (zh) * | 2010-11-25 | 2011-04-27 | 北京北纬点易信息技术有限公司 | 一种分布式数据库访问方法及系统 |
CN105162878A (zh) * | 2015-09-24 | 2015-12-16 | 网宿科技股份有限公司 | 基于分布式存储的文件分发系统及方法 |
CN105335219A (zh) * | 2014-07-08 | 2016-02-17 | 阿里巴巴集团控股有限公司 | 一种基于分布式的任务调度方法及系统 |
CN106341454A (zh) * | 2016-08-23 | 2017-01-18 | 世纪龙信息网络有限责任公司 | 跨机房多活分布式数据库管理系统和方法 |
CN107204873A (zh) * | 2017-05-04 | 2017-09-26 | 网宿科技股份有限公司 | 一种切换目标域名解析服务器的方法及相关设备 |
CN107888666A (zh) * | 2017-10-27 | 2018-04-06 | 北京奇艺世纪科技有限公司 | 一种跨地域数据存储系统以及数据同步方法和装置 |
-
2018
- 2018-11-26 CN CN201811413877.8A patent/CN109521971A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102033912A (zh) * | 2010-11-25 | 2011-04-27 | 北京北纬点易信息技术有限公司 | 一种分布式数据库访问方法及系统 |
CN105335219A (zh) * | 2014-07-08 | 2016-02-17 | 阿里巴巴集团控股有限公司 | 一种基于分布式的任务调度方法及系统 |
CN105162878A (zh) * | 2015-09-24 | 2015-12-16 | 网宿科技股份有限公司 | 基于分布式存储的文件分发系统及方法 |
CN106341454A (zh) * | 2016-08-23 | 2017-01-18 | 世纪龙信息网络有限责任公司 | 跨机房多活分布式数据库管理系统和方法 |
CN107204873A (zh) * | 2017-05-04 | 2017-09-26 | 网宿科技股份有限公司 | 一种切换目标域名解析服务器的方法及相关设备 |
CN107888666A (zh) * | 2017-10-27 | 2018-04-06 | 北京奇艺世纪科技有限公司 | 一种跨地域数据存储系统以及数据同步方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100555279C (zh) | 不用快照的项同步系统和方法 | |
US9372908B2 (en) | Merging an out of synchronization indicator and a change recording indicator in response to a failure in consistency group formation | |
CN1694098B (zh) | 实时文件系统修复 | |
CA3121919A1 (en) | System and method for augmenting database applications with blockchain technology | |
CN103198122B (zh) | 重启内存数据库的方法和装置 | |
US20070073907A1 (en) | Device, method and computer program product readable medium for determining the identity of a component | |
CN110018989A (zh) | 一种快照比对的方法和装置 | |
CN106681863B (zh) | 保存电子病历编辑内容的方法和终端设备 | |
CN104750755B (zh) | 一种数据库主备切换后的数据回补方法及系统 | |
JP7215971B2 (ja) | 記憶機器のデータ位置の処理方法及び処理装置、コンピュータ機器並びにコンピュータ読み取り可能な記憶媒体 | |
CN108762982B (zh) | 一种数据库恢复方法、装置及系统 | |
US20060184627A1 (en) | Automatic commutativity detection for generalized paxos | |
CN113204530B (zh) | 分布式文件系统的数据写入方法、装置、设备以及介质 | |
CN110162428A (zh) | 数据同步方法及装置、电子设备和计算机可读存储介质 | |
CN106098069A (zh) | 一种身份认证方法、及终端设备 | |
CN108958969B (zh) | 数据库灾备方法、装置及灾备系统 | |
CN110008197A (zh) | 一种数据处理方法、系统及电子设备和存储介质 | |
CN113239098A (zh) | 一种数据管理方法、计算机及可读存储介质 | |
CN109726264A (zh) | 用于索引信息更新的方法、装置、设备和介质 | |
US20050154786A1 (en) | Ordering updates in remote copying of data | |
CN110297822A (zh) | 面向区块链的密钥管理方法、装置、设备及存储介质 | |
CN109521971A (zh) | 一种基于跨机房的数据读写分离方法及系统 | |
US20130018931A1 (en) | Accessing snapshots of a time based file system | |
CN109491929A (zh) | 一种缓存数据读写方法及系统 | |
CN107643942A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190326 |
|
RJ01 | Rejection of invention patent application after publication |