一种数据存储双活架构构建方法、系统、介质和电子设备与流程

文档序号:16330019发布日期:2018-12-19 06:08阅读:185来源:国知局
一种数据存储双活架构构建方法、系统、介质和电子设备与流程

本发明涉及计算机技术领域,具体而言,涉及一种数据存储双活架构构建方法、系统、介质和电子设备。

背景技术

随着互联网技术的发展,越来越多的数据存储于云端,通过云端进行数据的访问与读取,随之而来的,对数据的稳定性、可靠性、高效性也提出了更高的要求。

用户在访问云端数据时,一方面不能有过多的延时,如果数据访问速度太慢就会影响用户体验;另一方面,数据存储必须保证数据的稳定性,如果数据读取时服务器损坏,导致数据丢失,甚至是不可恢复性的丢失,那将带来不可估量的损失。

为此,现有的方法一方面通过层层防火墙保证数据的可靠性,但这样仍然存在因物理灾难而造成物理损坏的不可恢复性。因此为了能够使线上数据业务无故障率99.99%的稳定目标,必须开发一种更加稳定的数据存储访问技术。



技术实现要素:

本发明的目的在于提供一种数据存储双活架构构建方法、系统、介质和电子设备,能够解决上述提到的至少一个技术问题。具体方案如下:

根据本发明的具体实施方式,第一方面,本发明提供一种数据存储双活架构构建方法,包括如下步骤:通过网络接口获取用户访问数据;将所述访问数据通过负载均衡均匀的分配到第一数据中心和第二数据中心;所述第一数据中心通过内部第一api接口单元、第二api接口单元对内部缓存单元、消息队列单元、内部应用单元进行随机数据读取;所述第二数据中心通过内部第三api接口单元、第四api接口单元对内部缓存单元、消息队列单元、内部应用单元进行随机数据读取;所述第一数据中心和第二数据中心将所述访问数据存储于第一数据库;所述第一数据库将存储数据实时镜像于第二数据库。

根据本发明的具体实施方式,优选的,所述“通过网络接口获取用户访问数据”包括:通过网络接口openweb、website、openapi、erp获取用户访问数据。

根据本发明的具体实施方式,优选的,所述步骤“将所述访问数据通过负载均衡均匀的分配到第一数据中心和第二数据中心”后还包括步骤:通过负载均衡每隔一定时间检测一次所述第一数据中心和第二数据中心;当检测到所述第一数据中心或第二数据中心异常时,迅速将所述用户访问数据转移到所述第二数据中心或第一数据中心。

根据本发明的具体实施方式,优选的,所述第一数据库包括实时存储数据库和非实时存储数据库。

根据本发明的具体实施方式,第二方面,本发明提供一种数据存储双活架构构建系统,包括:数据获取单元:用于通过网络接口获取用户访问数据;将所述访问数据通过负载均衡均匀的分配到第一数据中心和第二数据中心;中间业务单元:所述第一数据中心通过内部第一api接口单元、第二api接口单元对内部缓存单元、消息队列单元、内部应用单元进行随机数据读取;所述第二数据中心通过内部第三api接口单元、第四api接口单元对内部缓存单元、消息队列单元、内部应用单元进行随机数据读取;数据库单元:所述第一数据中心和第二数据中心将所述访问数据存储于第一数据库;所述第一数据库将存储数据实时镜像于第二数据库。

根据本发明的具体实施方式,优选的,所述网络接口包括:openweb接口、website接口、openapi接口或erp接口。

根据本发明的具体实施方式,优选的,所述数据获取单元还包括数据监测单元,用于通过负载均衡每隔一定时间检测一次所述第一数据中心和第二数据中心;当检测到所述第一数据中心或第二数据中心异常时,迅速将所述用户访问数据转移到所述第二数据中心或第一数据中心。

根据本发明的具体实施方式,优选的,所述第一数据库包括实时存储数据库和非实时存储数据库。

根据本发明的具体实施方式,第三方面,本发明提供一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如上任一项所述的双活架构构建方法。

根据本发明的具体实施方式,第四方面,本发明提供一种电子设备,包括:一个或多个处理器;

存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上任一项所述的双活架构构建方法。

本发明实施例的上述方案与现有技术相比,至少具有以下有益效果:

本发明通过双活架构的构建,一方面保证在前端和中端数据访问和读取时,均衡的访问两个数据中心,提高数据吞吐量,保证了数据访问的高效性,同时,当通过前端服务器监测到数据中心有故障时,可以及时的将访问数据转移至另一数据中心,保证了数据访问的连续性和安全性,另一方面,通过后台独立隔绝的异地数据库,使得一旦由于物理原因导致服务器之一损坏,可以立即启用备用服务器,更加保证数据的安全性,为用户数据的安全提供了保障。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:

图1示出了根据本发明实施例的双活架构构建方法流程图;

图2示出了根据本发明的实施例的双活架构构建方法前端结构示意图;

图3示出了根据本发明的实施例的双活架构构建方法中间件结构示意图;

图4示出了根据本发明的实施例的双活架构构建方法后端数据库结构示意图;

图5示出了根据本发明的实施例的双活架构构建系统结构示意图;

图6示出了根据本发明的实施例的电子设备连接结构示意图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种。

应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

应当理解,尽管在本申请实施例中可能采用术语第一、第二、第三等来描述……,但这些……不应限于这些术语。这些术语仅用来将……区分开。例如,在不脱离本申请实施例范围的情况下,第一……也可以被称为第二……,类似地,第二……也可以被称为第一……。

取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。

下面结合附图详细说明本发明的优选实施例。

实施例1

本发明通过双活架构保障线上业务的可靠性,结合云厂商特性打造适合公司业务的双活架构。依据架构图可分为前端、中间件、数据库三层,具体划分如下。

如图1所示,根据本发明的具体实施方式,本发明提供一种数据存储双活架构构建方法,包括如下步骤:

s100:通过网络接口获取用户访问数据;将所述访问数据通过负载均衡均匀的分配到第一数据中心和第二数据中心。

前端,用户通过openwebh5页面、website网站、openapi接口、erp内部工具等访问数据中心。web前端服务通过使用ulb负载均衡+nginx实现。

前端业务:

如图2所示,用户通过直接调用接口或使用浏览器、h5页面等方式通过互联网直接访问数据中心(openwebh5页面、website网站、openapi接口、erp内部工具),用户访问前端业务时均访问ulb负载均衡,负载均衡会把用户均衡分布在a/b两个idc的前端业务主机上,例如按照齐偶分,或者随机分,或者按照用户记录分,其中按照用户记录分是指,当判断出用户有访问第一数据中心的记录时,则优选将用户的访问数据分配到第一数据中心,这样能够提高访问效率。

整个数据访问分配时,ulb负载均衡每2-5秒,优选2秒,检测一次ab两个idc数据中心的主机是否正常,如不正常则会把用户全部指向主机状态正常的idc数据中心,保证了数据读取的正常。

s200:所述第一数据中心通过内部第一api接口单元、第二api接口单元对内部缓存单元、消息队列单元、内部应用单元进行随机数据读取;所述第二数据中心通过内部第三api接口单元、第四api接口单元对内部缓存单元、消息队列单元、内部应用单元进行随机数据读取。

如图3所示,前端服务器会将客户操作请求向中间件传达至内部api(内部接口)服务器,api服务器会与同为中间件的redis(缓存)、mq(消息队列)、oranged(内部应用),redis、rebbitmq使用官方集群方案,保障在某一台主机或某个机房发生故障时服务可以在10秒钟内恢复。

其中第一api接口单元、第二api接口单元、第三api接口单元、第四api接口单元也是采用如上的齐偶分,或者随机分,或者按照用户记录分的规则,均匀的分配访问数据。各api接口根据需要调用内部的redis(缓存)、mq(消息队列)、oranged(内部应用),这种调用是随机的或根据任务需求调用。

根据本发明的具体实施方式,优选的,所述步骤“将所述访问数据通过负载均衡均匀的分配到第一数据中心和第二数据中心”后还包括步骤:通过负载均衡每隔一定时间检测一次所述第一数据中心和第二数据中心;当检测到所述第一数据中心或第二数据中心异常时,迅速将所述用户访问数据转移到所述第二数据中心或第一数据中心。

s300:所述第一数据中心和第二数据中心将所述访问数据存储于第一数据库;所述第一数据库将存储数据实时镜像于第二数据库。

如图4所示,后端数据库一般包括物理隔绝的两套,通程可以间隔较远,例如同城的不同区,或者不同城市。原则上距离越远,数据越安全,但是数据传输速度也会降低。优选的将两套存储服务器位于一个城市的不同区。

将通过前端和中间件传递来的数据做入库操作,数据库包括实时存储数据库和非实时存储数据库,实时存储数据库例如采用mysql数据库,非实时数据库例如采用mongodb数据库。这样可以保证一台主机或某个机房发生故障时服务可以在10秒钟内恢复。

本发明实施例的上述方案与现有技术相比,至少具有以下有益效果:

本发明通过双活架构的构建,一方面保证在前端和中端数据访问和读取时,均衡的访问两个数据中心,提高数据吞吐量,保证了数据访问的高效性,同时,当通过前端服务器监测到数据中心有故障时,可以及时的将访问数据转移至另一数据中心,保证了数据访问的连续性和安全性,另一方面,通过后台独立隔绝的异地数据库,使得一旦由于物理原因导致服务器之一损坏,可以立即启用备用服务器,更加保证数据的安全性,为用户数据的安全提供了保障。

实施例2

如图1-5所示,根据本发明的具体实施方式,本发明提供一种数据存储双活架构构建系统,包括:数据获取单元:用于通过网络接口获取用户访问数据;将所述访问数据通过负载均衡均匀的分配到第一数据中心和第二数据中心;中间业务单元:所述第一数据中心通过内部第一api接口单元、第二api接口单元对内部缓存单元、消息队列单元、内部应用单元进行随机数据读取;所述第二数据中心通过内部第三api接口单元、第四api接口单元对内部缓存单元、消息队列单元、内部应用单元进行随机数据读取;数据库单元:所述第一数据中心和第二数据中心将所述访问数据存储于第一数据库;所述第一数据库将存储数据实时镜像于第二数据库。

用户通过直接调用接口或使用浏览器、h5页面等方式通过互联网直接访问数据中心(openwebh5页面、website网站、openapi接口、erp内部工具),用户访问前端业务时均访问ulb负载均衡,负载均衡会把用户均衡分布在a/b两个idc的前端业务主机上,例如按照齐偶分,或者随机分,或者按照用户记录分,其中按照用户记录分是指,当判断出用户有访问第一数据中心的记录时,则优选将用户的访问数据分配到第一数据中心,这样能够提高访问效率。

根据本发明的具体实施方式,优选的,所述数据获取单元还包括数据监测单元,用于通过负载均衡每隔一定时间检测一次所述第一数据中心和第二数据中心;当检测到所述第一数据中心或第二数据中心异常时,迅速将所述用户访问数据转移到所述第二数据中心或第一数据中心。整个数据访问分配时,ulb负载均衡每2-5秒,优选2秒,检测一次ab两个idc数据中心的主机是否正常,如不正常则会把用户全部指向主机状态正常的idc数据中心,保证了数据读取的正常。

根据本发明的具体实施方式,优选的,将通过前端和中间件传递来的数据做入库操作,数据库包括实时存储数据库和非实时存储数据库,实时存储数据库例如采用mysql数据库,非实时数据库例如采用mongodb数据库。这样可以保证一台主机或某个机房发生故障时服务可以在10秒钟内恢复。

上述数据单元可以采用虚拟的程序编码方式实现,也可以采用实体电子电路结构实现,也可以采用虚拟编码程序结合实体电子电路结合的方式实现,对此不做硬性规定。

本发明通过双活架构的构建,一方面保证在前端和中端数据访问和读取时,均衡的访问两个数据中心,提高数据吞吐量,保证了数据访问的高效性,同时,当通过前端服务器监测到数据中心有故障时,可以及时的将访问数据转移至另一数据中心,保证了数据访问的连续性和安全性,另一方面,通过后台独立隔绝的异地数据库,使得一旦由于物理原因导致服务器之一损坏,可以立即启用备用服务器,更加保证数据的安全性,为用户数据的安全提供了保障。

实施例3

如图5-6所示,本实施例提供一种电子设备,该设备用于数据存储双活架构构建方法,所述电子设备,包括:

至少一个处理器;以及,

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:通过网络接口获取用户访问数据;将所述访问数据通过负载均衡均匀的分配到第一数据中心和第二数据中心;所述第一数据中心通过内部第一api接口单元、第二api接口单元对内部缓存单元、消息队列单元、内部应用单元进行随机数据读取;所述第二数据中心通过内部第三api接口单元、第四api接口单元对内部缓存单元、消息队列单元、内部应用单元进行随机数据读取;所述第一数据中心和第二数据中心将所述访问数据存储于第一数据库;所述第一数据库将存储数据实时镜像于第二数据库。

根据本发明的具体实施方式,优选的,所述“通过网络接口获取用户访问数据”包括:通过网络接口openweb、website、openapi、erp获取用户访问数据。

根据本发明的具体实施方式,优选的,所述步骤“将所述访问数据通过负载均衡均匀的分配到第一数据中心和第二数据中心”后还包括步骤:通过负载均衡每隔一定时间检测一次所述第一数据中心和第二数据中心;当检测到所述第一数据中心或第二数据中心异常时,迅速将所述用户访问数据转移到所述第二数据中心或第一数据中心。

根据本发明的具体实施方式,优选的,所述第一数据库包括实时存储数据库和非实时存储数据库。

本发明通过双活架构的构建,一方面保证在前端和中端数据访问和读取时,均衡的访问两个数据中心,提高数据吞吐量,保证了数据访问的高效性,同时,当通过前端服务器监测到数据中心有故障时,可以及时的将访问数据转移至另一数据中心,保证了数据访问的连续性和安全性,另一方面,通过后台独立隔绝的异地数据库,使得一旦由于物理原因导致服务器之一损坏,可以立即启用备用服务器,更加保证数据的安全性,为用户数据的安全提供了保障。

实施例4

本申请实施例提供了一种非易失性计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的数据存储双活架构构建方法。

实施例5

图6是本实施例提供的一种数据存储双活架构构建方法的电子设备的硬件结构示意图,如图6所示,该设备包括:

一个或多个处理器610以及存储器620,图6中以一个处理器610为例。

基于数据存储双活架构构建方法的设备还可以包括:输入装置630和输出装置640。

处理器610、存储器620、输入装置630和输出装置640可以通过总线或者其他方式连接,图6中以通过总线连接为例。

存储器620作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的数据存储双活架构构建方法对应的程序指令/模块。处理器610通过运行存储在存储器620中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例基于数据存储双活架构构建方法。

存储器620可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据数据存储双活架构构建装置的使用所创建的数据等。此外,存储器620可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。

输入装置630可接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。输出装置640可包括显示屏等显示设备。

所述一个或者多个模块存储在所述存储器620中,当被所述一个或者多个处理器610执行时,执行上述任意方法实施例中的数据存储双活架构构建方法。

上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法。

本发明实施例的电子设备以多种形式存在,包括但不限于:

(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iphone)、多媒体手机、功能性手机,以及低端手机等。

(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:pda、mid和umpc设备等,例如ipad。

(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如ipod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。

(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。

(5)其他具有数据交互功能的电子装置,例如电视机、车载大屏等。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1