CN109165122B - 一种提升基于区块链技术实现的应用系统同城多园区部署灾备能力的方法 - Google Patents
一种提升基于区块链技术实现的应用系统同城多园区部署灾备能力的方法 Download PDFInfo
- Publication number
- CN109165122B CN109165122B CN201810917876.0A CN201810917876A CN109165122B CN 109165122 B CN109165122 B CN 109165122B CN 201810917876 A CN201810917876 A CN 201810917876A CN 109165122 B CN109165122 B CN 109165122B
- Authority
- CN
- China
- Prior art keywords
- park
- nodes
- fault
- node
- production
- 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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2023—Failover techniques
- G06F11/2028—Failover techniques eliminating a faulty processor or activating a spare
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2041—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with more than one idle spare processing component
Abstract
本发明公开了一种提升基于区块链技术实现的应用系统同城多园区部署灾备能力的方法,本发明根据区块链平台的节点共识机制,确定生产节点数的范围;当容错节点数已知时,根据节点共识机制的容错算法确定生产节点数;当生产节点数已知时,根据节点共识机制的容错算法确定容错节点数;根据园区的数量、生产节点数、容错节点数、备份节点数制定多园区多活、单园区灾备方案,并制定相应的异常处理流程。本发明根据区块链平台节点共识机制以及区块链节点部署情况,以配置化方式实现多地多中心的灾备方案,特别是金融机构两地三中心架构下实现本地/同城园区互备或同城双活、异地园区灾备,降低生产风险。
Description
技术领域
本发明属于计算机系统领域,尤其涉及一种提升基于区块链技术实现的应用系统同城多园区部署灾备能力的方法。
背景技术
如何保证应用系统的高可用性,一直是金融机构信息系统建设的重点工作,目前商业银行传统的应用系统已有相对成熟的灾备方案,但考虑到区块链平台在商用化环境下多以联盟链的形式部署,外围应用都使用ESDK方式调用,具有多节点部署、拜占庭容错等特殊性,无法套用传统应用系统灾备方案,需要对其单独规划。同时,区块链平台作为底层平台,对接多个业务系统,上层支持多个产品应用,系统间依赖程度较高,交易频率呈持续上涨趋势,为降低生产风险,需要尽快根据区块链技术特点制定针对性的灾备方案。
发明内容
本发明的目的在于基于金融机构普遍采取的“两地三中心”灾备体系架构,根据区块链技术特点制定针对性的灾备方案,提升区块链系统的高可用性。
本发明的目的是通过以下技术方案来实现的:一种提升基于区块链技术实现的应用系统同城多园区部署灾备能力的方法,该方法包括以下步骤:
(1)根据区块链平台的联盟链或私有链的节点共识机制,确定生产节点数n的范围,n最小值为3;当容错节点数f已知时,根据节点共识机制的容错算法确定生产节点数n大于等于3f+1,小于等于3f+3;当生产节点数n已知时,根据节点共识机制的容错算法确定容错节点数f=TRUNC[(n-1)/3];
(2)根据园区的数量m、生产节点数n、容错节点数f、备份节点数b,制定多园区多活、单园区灾备方案,具体如下:
部署方式:n个生产节点、b个备份节点,b=2n;
第一园区到第m-1园区:每个园区至少部署1个生产节点,至多部署CEIL[n/(m-1)]个生产节点,每个园区部署的备份节点数与当前园区部署的生产节点数保持一致,所有园区部署的生产节点总数等于n;
第m园区:部署n个备份节点;
当故障节点数小于等于f时,不影响生产运行。
进一步地,所述多园区多活、单园区灾备的异常处理流程如下:
单节点故障:将故障节点切换到同园区备份节点;
多节点故障:将故障节点切换到同园区备份节点;
园区级故障:将故障节点切换到第一园区到第m-1园区中非故障园区的备份节点,优先切换至同城园区;当故障节点数大于第一园区到第m-1园区中非故障园区的备份节点总数时,将故障节点切换到异地第m园区备份节点或将所有生产节点,包括故障节点和正常节点,切换到异地第m园区备份节点;
城市级故障:将故障节点切换到异地第m园区备份节点。
进一步地,在异常处理流程中,通过人工或自动监控机制调整维护在数据库表或配置文件中的生产节点IP/主机名,将故障节点IP/主机名修改为相应的备份节点IP/主机名,实现节点快速切换。
进一步地,共识算法包括工作量证明机制或算法、权益证明机制或算法、BFT算法或基于BFT实现的算法。
进一步地,所述备份节点可通过数据实时或准实时的方式从一个或多个生产节点同步,亦可通过共识算法进行数据同步,但是否参与共识由参数设置确定。
本发明的有益效果是:基于商业银行现有的灾备体系架构,对区块链平台采取有别于传统应用系统的高可用灾备方法,从而保证传统系统与区块链系统依赖程度日益紧密,交易额持续上涨的同时,降低生产风险,保证区块链应用系统的稳定运行。
附图说明
图1是三个园区部署四个生产节点的实施例的节点部署结构图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步详细说明,应当理解,此处描述的具体实施方式仅仅用以解释本发明,并不用于限定本发明。
因区块链平台具有多节点部署、拜占庭容错等特性,无法套用传统应用系统灾备方案,需要单独规划。本发明提供一种提升基于区块链技术实现的应用系统灾备能力的方法,根据区块链平台的联盟链或私有链的节点共识机制,以及区块链节点部署情况,以配置化方式实现本地/同城园区互备、异地园区灾备,降低生产风险。
在商业银行领域,共识机制的概念为:通过选定节点的投票,在很短的时间内完成对交易的验证和确认;对一笔交易,如果利益不相干的若干个节点能够达成共识,我们就可以认为全网对此也能够达成共识;共识算法包括工作量证明机制或算法、权益证明机制或算法、BFT算法或基于BFT实现的算法等。备份节点可通过数据实时或准实时的方式从一个或多个生产节点同步,亦可通过共识算法进行数据同步,但是否参与共识由参数设置确定。
本发明提供的一种提升基于区块链技术实现的应用系统同城多园区部署灾备能力的方法方法,具体包括以下步骤:
(1)根据区块链平台的联盟链或私有链的节点共识机制,确定生产节点数n的范围,n最小值为3;当容错节点数f已知时,根据节点共识机制的容错算法确定生产节点数n大于等于3f+1,小于等于3f+3;当生产节点数n已知时,根据节点共识机制的容错算法确定容错节点数f=TRUNC[(n-1)/3],其中TRUNC为截取整数/向下取整函数;
(2)根据园区(或数据中心,数据中心可以为机房或相对独立的运行环境)的数量m、生产节点数n、容错节点数f、备份节点数b,制定多园区多活、单园区灾备方案,具体如下:
(a)部署方式:n个生产节点、b个备份节点,b=2n;
第一园区到第m-1园区:每个园区至少部署1个生产节点,至多部署CEIL[n/(m-1)]个生产节点,其中CEIL为向上取整函数,每个园区部署的备份节点数与当前园区部署的生产节点数保持一致,所有园区部署的生产节点总数等于n;
第m园区:部署n个备份节点;
当故障节点数小于等于f时,不影响生产运行;
(b)异常处理流程:
单节点故障:将故障节点切换到同园区备份节点;
多节点故障:将故障节点切换到同园区备份节点;
园区级故障:将故障节点切换到第一园区到第m-1园区中非故障园区的备份节点,优先切换至同城园区;当故障节点数大于第一园区到第m-1园区中非故障园区的备份节点总数时,将故障节点切换到异地第m园区备份节点或将所有生产节点,包括故障节点和正常节点,切换到异地第m园区备份节点;
城市级故障:将故障节点切换到异地第m园区备份节点;
在异常处理流程中,通过人工或自动监控机制调整维护在数据库表或配置文件中的生产节点IP/主机名,将故障节点IP/主机名修改为相应的备份节点IP/主机名,实现节点快速切换。
实施例:以三个园区部署四个生产节点为例,对多园区多活、单园区灾备方案及异常处理流程进行了全面分析和对比。如图1所示,A表示生产节点,B表示备份节点。
(a)部署方式:4个生产节点、8个备份节点;
第一园区作为主园区:部署2个生产节点、2个备份节点;
第二园区作为同城园区:部署2个生产节点、2个备份节点;
第三园区作为异地灾备园区:部署4个备份节点;
(b)异常处理流程:
单节点故障:将故障节点切换到同园区备份节点;
多节点故障:将故障节点切换到同园区备份节点;
园区级故障:将故障节点切换到主园区或同城园区的备份节点;
城市级故障:将故障节点切换到异地灾备园区的备份节点;
上述实施例用来解释说明本发明,而不是对本发明进行限制,在本发明的精神和权利要求的保护范围内,对本发明作出的任何修改和改变,都落入本发明的保护范围。
Claims (5)
1.一种提升基于区块链技术实现的应用系统同城多园区部署灾备能力的方法,其特征在于,该方法包括以下步骤:
(1)根据区块链平台的联盟链或私有链的节点共识机制,确定生产节点数n的范围,n最小值为3;当容错节点数f已知时,根据节点共识机制的容错算法确定生产节点数n大于等于3f+1,小于等于3f+3;当生产节点数n已知时,根据节点共识机制的容错算法确定容错节点数f=TRUNC[(n-1)/3];其中TRUNC为截取整数/向下取整函数;
(2)根据园区的数量m、生产节点数n、容错节点数f、备份节点数b,制定多园区多活、单园区灾备方案,具体如下:
部署方式:n个生产节点、b个备份节点,b=2n;
第一园区到第m-1园区:每个园区至少部署1个生产节点,至多部署CEIL[n/(m-1)]个生产节点,其中CEIL为向上取整函数,每个园区部署的备份节点数与当前园区部署的生产节点数保持一致,所有园区部署的生产节点总数等于n;
第m园区:部署n个备份节点;
当故障节点数小于等于f时,不影响生产运行。
2.根据权利要求1所述的一种提升基于区块链技术实现的应用系统同城多园区部署灾备能力的方法,其特征在于,所述多园区多活、单园区灾备的异常处理流程如下:
单节点故障:将故障节点切换到同园区备份节点;
多节点故障:将故障节点切换到同园区备份节点;
园区级故障:将故障节点切换到第一园区到第m-1园区中非故障园区的备份节点,优先切换至同城园区;当故障节点数大于第一园区到第m-1园区中非故障园区的备份节点总数时,将故障节点切换到异地第m园区备份节点或将所有生产节点,包括故障节点和正常节点,切换到异地第m园区备份节点;
城市级故障:将故障节点切换到异地第m园区备份节点。
3.根据权利要求2所述的一种提升基于区块链技术实现的应用系统同城多园区部署灾备能力的方法,其特征在于,在异常处理流程中,通过人工或自动监控机制调整维护在数据库表或配置文件中的生产节点IP/主机名,将故障节点IP/主机名修改为相应的备份节点IP/主机名,实现节点快速切换。
4.根据权利要求1所述的一种提升基于区块链技术实现的应用系统同城多园区部署灾备能力的方法,其特征在于,共识算法包括工作量证明机制或算法、权益证明机制或算法、BFT算法或基于BFT实现的算法。
5.根据权利要求1所述的一种提升基于区块链技术实现的应用系统同城多园区部署灾备能力的方法,其特征在于,所述备份节点可通过数据实时或准实时的方式从一个或多个生产节点同步,亦可通过共识算法进行数据同步,但是否参与共识由参数设置确定。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810917876.0A CN109165122B (zh) | 2018-08-13 | 2018-08-13 | 一种提升基于区块链技术实现的应用系统同城多园区部署灾备能力的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810917876.0A CN109165122B (zh) | 2018-08-13 | 2018-08-13 | 一种提升基于区块链技术实现的应用系统同城多园区部署灾备能力的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109165122A CN109165122A (zh) | 2019-01-08 |
CN109165122B true CN109165122B (zh) | 2021-10-29 |
Family
ID=64895711
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810917876.0A Active CN109165122B (zh) | 2018-08-13 | 2018-08-13 | 一种提升基于区块链技术实现的应用系统同城多园区部署灾备能力的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109165122B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111581278B (zh) * | 2020-04-08 | 2023-12-22 | 浙商银行股份有限公司 | 一种基于区块链技术的仓单流转系统及方法 |
CN112162902A (zh) * | 2020-09-24 | 2021-01-01 | 国网辽宁省电力有限公司辽阳供电公司 | 一种提升调控系统应用模块运行水平的多活冗余方法 |
CN112615915B (zh) * | 2020-12-10 | 2022-05-24 | 浙商银行股份有限公司 | 一种在私有链之间构建联盟链的方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10872074B2 (en) * | 2016-09-30 | 2020-12-22 | Microsoft Technology Licensing, Llc | Distributed availability groups of databases for data centers |
CN106534317B (zh) * | 2016-11-17 | 2019-09-03 | 杭州云象网络技术有限公司 | 一种基于区块链技术的灾备云存储系统构建方法 |
CN106529951A (zh) * | 2016-12-30 | 2017-03-22 | 杭州云象网络技术有限公司 | 一种联盟链网络下采用异步方式的节点共识验证方法 |
CN108052620B (zh) * | 2017-12-15 | 2021-02-12 | 泰康保险集团股份有限公司 | 数据状态的存储系统、区块链的节点数据处理系统和方法 |
-
2018
- 2018-08-13 CN CN201810917876.0A patent/CN109165122B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109165122A (zh) | 2019-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2281240B1 (en) | Maintaining data integrity in data servers across data centers | |
CN109828868B (zh) | 数据存储方法、装置、管理设备和双活数据存储系统 | |
CN106062717B (zh) | 一种分布式存储复制系统和方法 | |
CN109165122B (zh) | 一种提升基于区块链技术实现的应用系统同城多园区部署灾备能力的方法 | |
CN110224871A (zh) | 一种Redis集群的高可用方法及装置 | |
WO2014101424A1 (zh) | 分布式数据库同步方法和系统 | |
CN103795754B (zh) | 多系统间的数据同步方法和系统 | |
CN108234306A (zh) | 网络装置、网络方法和计算机可读存储介质 | |
CN102938705B (zh) | 一种高可用多机备份路由表管理与切换方法 | |
EP3745269B1 (en) | Hierarchical fault tolerance in system storage | |
WO2012145963A1 (zh) | 数据管理系统及方法 | |
KR102508817B1 (ko) | 메시지 전송 버스를 이용한 고가용성 배전 지능화 시스템 | |
CN108810150B (zh) | 协同办公系统应用级灾备系统的数据复制方法 | |
CN114301972B (zh) | 一种基于云边协同的区块链节点分级部署方法和系统 | |
Suh et al. | On performance of OpenDaylight clustering | |
CN110348826A (zh) | 异地多活容灾方法、系统、设备及可读存储介质 | |
Amiri et al. | Saguaro: An edge computing-enabled hierarchical permissioned blockchain | |
CN109144781B (zh) | 一种提升基于区块链技术实现的应用系统单园区部署灾备能力的方法 | |
CN109039750B (zh) | 一种提升区块链应用系统多城多园区部署灾备能力的方法 | |
Ruchel et al. | A leaderless hierarchical atomic broadcast algorithm | |
CN104503871A (zh) | 一种基于小型机系统全冗余模型的实现方法 | |
CN114584450A (zh) | 双层区块链系统及共识方法 | |
Feng et al. | A Low Communication Complexity Double‐layer PBFT Consensus | |
Lyu et al. | High-availability deployment for large enterprises | |
CN115967611A (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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220614 Address after: No. 1788, Hongning Road, Xiaoshan District, Hangzhou, Zhejiang 311200 Patentee after: CHINA ZHESHANG BANK Co.,Ltd. Patentee after: Yiqiyin (Hangzhou) Technology Co.,Ltd. Address before: No.288, Qingchun Road, Hangzhou, Zhejiang, 310006 Patentee before: CHINA ZHESHANG BANK Co.,Ltd. |