CN113836179A - 一种交易读写分离的方法及装置 - Google Patents
一种交易读写分离的方法及装置 Download PDFInfo
- Publication number
- CN113836179A CN113836179A CN202110973016.0A CN202110973016A CN113836179A CN 113836179 A CN113836179 A CN 113836179A CN 202110973016 A CN202110973016 A CN 202110973016A CN 113836179 A CN113836179 A CN 113836179A
- Authority
- CN
- China
- Prior art keywords
- transaction
- read
- data source
- write
- instance
- 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.)
- Granted
Links
- 238000000926 separation method Methods 0.000 title claims abstract description 25
- 238000000034 method Methods 0.000 claims abstract description 33
- 238000001514 detection method Methods 0.000 claims abstract description 10
- 230000007246 mechanism Effects 0.000 claims abstract description 8
- 238000012545 processing Methods 0.000 claims description 39
- 230000008569 process Effects 0.000 claims description 17
- 230000008014 freezing Effects 0.000 claims description 4
- 238000007710 freezing Methods 0.000 claims description 4
- 230000002159 abnormal effect Effects 0.000 claims description 3
- 238000000151 deposition Methods 0.000 claims description 3
- 230000032683 aging Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 230000031068 symbiosis, encompassing mutualism through parasitism Effects 0.000 description 1
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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Finance (AREA)
- Databases & Information Systems (AREA)
- Fuzzy Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Mathematical Physics (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及交易读写分离技术领域,一种交易读写分离装置,包括数据源选择单元、交易链路和路由单元,所述数据源选择单元由交易配置模块、数据源配置模块、数据源管理模块、数据源选择模块和数据源差异探测模块组成;还公开了一种交易读写分离的方法,包括以下步骤:S11、登记只读数据源和读写数据源的要求;S12、加载交易配置信息S13、分配数据源;S14、获取只读数据;S15、增加节点数据差距的获取逻辑;S16、获取读写数据。本发明中新增交易配置模块、数据源配置模块、数据源管理模块、数据源选择模块和数据源差异探测模块,满足交易层级读写分离要求,提升交易结果的数据时效性,还设置实例配置机制,满足系统的精准横向扩展能力。
Description
技术领域
本发明涉及交易读写分离技术领域,具体是一种交易读写分离的方法及装置。
背景技术
联机交易是一种实时在线的业务处理方式,即Online Transaction;从交互角度而言,客户端将业务处理输入数据放在请求中,并发送请求到服务端,服务端接收请求,获取业务处理输入数据,实时业务逻辑,将业务处理结果数据放在响应中,并返回响应给客户端。
按照所承载的业务处理种类,联机交易可以分为“写交易”和“读交易”;写交易的处理过程,会对业务数据进行新增、修改、删除等操作,会影响业务数据的状态,进而影响后续的业务处理过程;写交易要求独占业务,所以写交易具有互斥性,即同一业务数据同一时刻只能有一个写交易成功处理;从银行业务角度来说,写交易包括:开户、销户、存入、支取、冻结、解冻、转账、绑定等业务;读交易的处理过程,仅对业务数据进行查询操作,不影响业务数据的状态,不影响后续的业务处理过程。读交易不要求独占业务数据,具有较好共生性。读交易主要包括查询类业务,比如余额查询、明细查询、账户信息查询等。
对联机交易进行定期统计分析之后,发现总数占比超过60%(甚至更多)的交易是读交易,写交易只占据较少部分;针对读写交易的特性(写交易互斥且总量占比少、读交易共生且总量占比多),结合数据库主从同步机制,联机交易处理系统会设置读写分离处理机制,从而实现提升数据库资源利用率、提升交易处理时效、提升系统横向扩展能力的多重目标。
现有技术主要是基于中间件实现SQL语句层级的读写分离,可以通过数据库中间件(比如MyCat等)实现SQL语句层级的读写分离,应用系统通过中间件来访问数据库;中间件支持分别配置读写数据源,通过识别SQL语句,将insert、delete、update路由到写数据源,将select路由到读数据源,实现SQL语句层级的读写分离。
现有技术基于监控程序发现MySQL组复制自动切换,然后触发DNS的映射调整。从应用系统的角度来看,需要将切换前已经建立的(与旧主节点的)连接释放,并建立(与新主节点的)新连接。应用系统必须在完成建立新连接之后,才能够正常对外提供服务。所以,该方法会严重影响应用系统在切换期间(重建连接)的对外服务可用性和交易处理性能。
现有技术基于SQL语句类型进行读写分离路由,简单地配置读写数据源并将insert/delete/update语句路由到写数据源、将select语句路由到读数据源。从银行联机交易处理系统的角度来看,这是不够的。
在业务功能场景方面,缺少了对具体场景的支持。比如,同是查询账户余额的select语句,在转账交易场景中和在余额查询交易场景中,对数据时效的要求是不一样,不能简单一致处理。
在数据时效性方面,缺少了对读数据源、写数据源之间的数据时效差异的检测机制。若读数据源与写数据源的数据同步时效非常好,数据差距非常少,则读数据源的可用性比较好,能支持较多的业务场景;反之,若同步时效不好,数据差距较大,则读数据可用性较差,可能无法支持业务场景。举例说明,若读数据源比写数据源落后10秒以上,则读数据源的数据几乎不可用(在银行联机交易处理系统中)。
发明内容
本发明的目的在于提供一种交易读写分离的方法及装置,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:
一种交易读写分离装置,包括数据源选择单元、交易链路和路由单元,所述数据源选择单元由交易配置模块、数据源配置模块、数据源管理模块、数据源选择模块和数据源差异探测模块组成,所述交易链路和路由单元包括实例配置模块,所述实例配置模块由联机服务实例、注册中心和联机交易网关组成。
一种交易读写分离的方法,所述数据源选择单元的实现方法包括以下步骤:
S11、通过交易配置模块在联机交易处理系统中设置交易配置表,通过交易配置表集中登记每一个交易对只读数据源和读写数据源的要求,并对联机交易的处理逻辑进行全面的分析,确认没有数据库的写操作之后,才可以在交易配置表设置“只读标志”为“是”;
S12、加载交易配置信息,联机交易处理系统在启动阶段时将交易配置信息从数据库表加载到内存中,确保后续的交易处理过程都是访问内存中的交易配置信息;若在系统运行过程中,发生交易配置信息的变更,则由其他机制来维护内存与数据库的数据一致性;
在联机交易处理过程中,系统先从联机请求中找到交易识别信息,再根据识别出来交易信息从“交易配置信息”中找到对应的“只读标志”;
S13、根据联机请求对应的“交易配置信息”的“只读标志”,通过数据源配置模块判断应该为该联机请求分配哪种数据源;
S14、通过数据源管理模块从联机交易系统中所有的数据源中获取只读数据;结合数据源信息的动态调整特性,通过数据源选择模块获取只读数据源列表需要访问节点状态寄存器;并从节点状态寄存器中检查到数据源的相关属性;
S15、通过数据源差异探测模块在“节点状态寄存器”中新增“节点数据差距”属性,以支持数据源的数据时效性检查;
在“节点状态识别程序”中,增加节点数据差距的获取逻辑,以及“节点寄存器”的“节点数据差距”属性的赋值逻辑;
在“数据源配置”中,新增“数据源差异阀值”配置项;若只读数据源的“节点数据差距”小于该“数据源差异阀值”,则该只读数据源有效;否则,该只读数据源无效;
S16、通过数据源管理模块从联机交易系统中所有的数据源中获取读写数据;结合数据源信息的动态调整特性,通过数据源选择模块获取只读数据源列表需要访问节点状态寄存器;并从节点状态寄存器中检查到数据源的相关属性。
作为本发明再进一步的方案:在所述S11步骤中:如果在交易配置表中错误地将有数据库写操作的交易设置“只读标志”为“是”,则交易处理过程中可能会发生执行数据库写操作时报错权限不足;如果在交易配置表中错误地将无数据库写操作的交易设置“只读标志”为“否”,则交易处理能够正常完成,但是查询类类交易会被关联到写数据源进而无法达到“读写分离”的目的。
作为本发明再进一步的方案:在所述S13步骤中:联机交易处理系统会为“只读标志”为“否”的请求分配读写数据源;为“只读标志”为“是”的请求分配只读数据源,若所有的只读数据源都不可用或数据差异过大时,才会分配读写数据源。
作为本发明再进一步的方案:所述S16步骤中的异常情况说明:若无可用的只读数据源,联机交易系统会为只读交易提供读写数据源,从而能够减少交易失败率,提升系统可用性。
作为本发明再进一步的方案:所述交易链路和路由单元的实现方法包括以下步骤:
S21、通过在实例配置模块中,增加“服务实例角色”配置项;该配置项用于表示联机服务可以提供的交易种类;取值包括:“只读”、“读写”两种;“只读”用于表示该实例对外提供“读交易”服务,其中,“读交易”主要是查询类交易;“读写”用于表示该实例对外提供“读交易”和“写交易”,其中,“读交易”和“写交易”包括开户/销户/存入/支取/冻结/解冻/维护等交易;
S22、“读写”联机服务实例的初始化、“心跳”消息发送;具体的逻辑与S21步骤中的逻辑一致;
S23、当联机交易网关接收到一笔交易请求时,先会进行交易识别,即根据交易请求的识别字段确认交易码,再根据交易码查询交易配置信息获取“只读标志”值;若交易请求对应“读写交易”,则网关会查询注册中心的“实例服务角色”为“读写”的实例列表,并根据负载均衡算法选择一个目标实例,并将交易请求转发给该目标实例,其中,该目标实例为“读写”联机服务实例;
S24、若交易请求对应“只读交易”,则网关会查询注册中心的“实例服务角色”为“只读”的实例列表,并根据负载均衡算法选择一个目标实例,并将交易请求转发给该目标实例,其中,该目标实例为“只读”联机服务实例;
S25、对于“只读交易”,若注册中心中无法找到可用的“只读”联机服务实例,则联机交易网关会从注册中心中查找“读写”联机服务实例,经过负载均衡算法选择目标实例,其中,目标实例为“读写”联机服务实例,并向目标实例转发交易请求。
作为本发明再进一步的方案:S21步骤中联机服务实例在服务启动的初始化阶段,从“实例配置”中读取“服务实例角色”配置项;在启动之后的整个生命周期中,联机服务实例根据“服务实例角色”配置项值,定时地向注册中心发送消息,其中,发送消息即为“心跳”,且在“心跳”消息增加“服务实例角色”信息。
与现有技术相比,本发明的有益效果:
本发明中新增交易配置模块、数据源配置模块、数据源管理模块、数据源选择模块和数据源差异探测模块,满足交易层级读写分离要求,提升交易结果的数据时效性,还设置实例配置机制,满足系统的精准横向扩展能力。
附图说明
图1为一种交易读写分离的方法中数据源选择环节的流程示意图;
图2为一种交易读写分离的方法中读写分离的实例选择策略示意图。
具体实施方式
本发明实施例中,一种交易读写分离装置,包括数据源选择单元、交易链路和路由单元,数据源选择单元由交易配置模块、数据源配置模块、数据源管理模块、数据源选择模块和数据源差异探测模块组成,交易链路和路由单元包括实例配置模块,实例配置模块由联机服务实例、注册中心和联机交易网关组成。
在图1中,一种交易读写分离的方法,数据源选择单元的实现方法包括以下步骤:
S11、101-通过交易配置模块在联机交易处理系统中设置交易配置表,通过交易配置表集中登记每一个交易对只读数据源和读写数据源的要求,并对联机交易的处理逻辑进行全面的分析,确认没有数据库的写操作之后,才可以在交易配置表设置“只读标志”为“是”,其中,写操作包括insert/delete/update,举例说明,如下表所示:
S12、102-加载交易配置信息,联机交易处理系统在启动阶段时将交易配置信息从数据库表加载到内存中,确保后续的交易处理过程都是访问内存中的交易配置信息;若在系统运行过程中,发生交易配置信息的变更,则由其他机制来维护内存与数据库的数据一致性;
在联机交易处理过程中,系统先从联机请求中找到交易识别信息,再根据识别出来交易信息从“交易配置信息”中找到对应的“只读标志”;
S13、103-根据联机请求对应的“交易配置信息”的“只读标志”,通过数据源配置模块判断应该为该联机请求分配哪种数据源;
S14、104-通过数据源管理模块从联机交易系统中所有的数据源中获取只读数据;结合数据源信息的动态调整特性,通过数据源选择模块获取只读数据源列表需要访问节点状态寄存器;并从节点状态寄存器中检查到数据源的相关属性,比如“是否可连接”、“是否为主节点”等;
S15、105-通过数据源差异探测模块在“节点状态寄存器”中新增“节点数据差距”属性,以支持数据源的数据时效性检查;如下表格所示:
在“节点状态识别程序”中,增加节点数据差距的获取逻辑,以及“节点寄存器”的“节点数据差距”属性的赋值逻辑;
在“数据源配置”中,新增“数据源差异阀值”配置项;若只读数据源的“节点数据差距”小于该“数据源差异阀值”,则该只读数据源有效;否则,该只读数据源无效;
S16、106-通过数据源管理模块从联机交易系统中所有的数据源中获取读写数据;结合数据源信息的动态调整特性,通过数据源选择模块获取只读数据源列表需要访问节点状态寄存器;并从节点状态寄存器中检查到数据源的相关属性,比如“是否可连接”、“是否为主节点”等。
优选的,在S11步骤中:如果在交易配置表中错误地将有数据库写操作的交易设置“只读标志”为“是”,则交易处理过程中可能会发生执行数据库写操作时报错权限不足;如果在交易配置表中错误地将无数据库写操作的交易设置“只读标志”为“否”,则交易处理能够正常完成,但是查询类类交易会被关联到写数据源进而无法达到“读写分离”的目的。
优选的,在S13步骤中:联机交易处理系统会为“只读标志”为“否”的请求分配读写数据源,其中,“只读标志”为“否”的请求即为非查询类交易;为“只读标志”为“是”的请求分配只读数据源,其中,“只读标志”为“是”的请求即为查询类交易,若所有的只读数据源都不可用或数据差异过大时,才会分配读写数据源。
优选的,S16步骤中的异常情况说明:若无可用的只读数据源,联机交易系统会为只读交易提供读写数据源,其中,只读交易即为查询类交易,从而能够减少交易失败率,提升系统可用性。
在图2中,交易链路和路由单元的实现方法包括以下步骤:
S21、201-通过在实例配置模块中,增加“服务实例角色”配置项;该配置项用于表示联机服务可以提供的交易种类;取值包括:“只读”、“读写”两种;“只读”用于表示该实例对外提供“读交易”服务,其中,“读交易”主要是查询类交易;“读写”用于表示该实例对外提供“读交易”和“写交易”,其中,“读交易”和“写交易”包括开户/销户/存入/支取/冻结/解冻/维护等交易;
S22、202-“读写”联机服务实例的初始化、“心跳”消息发送;具体的逻辑与S21步骤中的201的逻辑一致。
S23、203-当联机交易网关接收到一笔交易请求时,先会进行交易识别,即根据交易请求的识别字段确认交易码,再根据交易码查询交易配置信息获取“只读标志”值;若交易请求对应“读写交易”,则网关会查询注册中心的“实例服务角色”为“读写”的实例列表,并根据负载均衡算法选择一个目标实例,并将交易请求转发给该目标实例,其中,该目标实例为“读写”联机服务实例。
S24、204-若交易请求对应“只读交易”,则网关会查询注册中心的“实例服务角色”为“只读”的实例列表,并根据负载均衡算法选择一个目标实例,并将交易请求转发给该目标实例,其中,该目标实例为“只读”联机服务实例。
S25、205-对于“只读交易”,若注册中心中无法找到可用的“只读”联机服务实例,则联机交易网关会从注册中心中查找“读写”联机服务实例,经过负载均衡算法选择目标实例,其中,目标实例为“读写”联机服务实例,并向目标实例转发交易请求,从而可以提升系统的可用性,在“只读”联机服务实例故障时,系统仍然能够提供“只读”服务能力。
优选的,S21步骤中联机服务实例在服务启动的初始化阶段,从“实例配置”中读取“服务实例角色”配置项;在启动之后的整个生命周期中,联机服务实例根据“服务实例角色”配置项值,定时地向注册中心发送消息,其中,发送消息即为“心跳”,且在“心跳”消息增加“服务实例角色”信息。
以上所述的,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
Claims (7)
1.一种交易读写分离装置,包括数据源选择单元、交易链路和路由单元,其特征在于,所述数据源选择单元由交易配置模块、数据源配置模块、数据源管理模块、数据源选择模块和数据源差异探测模块组成,所述交易链路和路由单元包括实例配置模块,所述实例配置模块由联机服务实例、注册中心和联机交易网关组成。
2.一种实现权利要求1所述的交易读写分离的方法,其特征在于,所述数据源选择单元的实现方法包括以下步骤:
S11、通过交易配置模块在联机交易处理系统中设置交易配置表,通过交易配置表集中登记每一个交易对只读数据源和读写数据源的要求,并对联机交易的处理逻辑进行全面的分析,确认没有数据库的写操作之后,才可以在交易配置表设置“只读标志”为“是”;
S12、加载交易配置信息,联机交易处理系统在启动阶段时将交易配置信息从数据库表加载到内存中,确保后续的交易处理过程都是访问内存中的交易配置信息;若在系统运行过程中,发生交易配置信息的变更,则由其他机制来维护内存与数据库的数据一致性;
在联机交易处理过程中,系统先从联机请求中找到交易识别信息,再根据识别出来交易信息从“交易配置信息”中找到对应的“只读标志”;
S13、根据联机请求对应的“交易配置信息”的“只读标志”,通过数据源配置模块判断应该为该联机请求分配哪种数据源;
S14、通过数据源管理模块从联机交易系统中所有的数据源中获取只读数据;结合数据源信息的动态调整特性,通过数据源选择模块获取只读数据源列表需要访问节点状态寄存器;并从节点状态寄存器中检查到数据源的相关属性;
S15、通过数据源差异探测模块在“节点状态寄存器”中新增“节点数据差距”属性,以支持数据源的数据时效性检查;在“节点状态识别程序”中,增加节点数据差距的获取逻辑,以及“节点寄存器”的“节点数据差距”属性的赋值逻辑;
在“数据源配置”中,新增“数据源差异阀值”配置项;若只读数据源的“节点数据差距”小于该“数据源差异阀值”,则该只读数据源有效;否则,该只读数据源无效;
S16、通过数据源管理模块从联机交易系统中所有的数据源中获取读写数据;结合数据源信息的动态调整特性,通过数据源选择模块获取只读数据源列表需要访问节点状态寄存器;并从节点状态寄存器中检查到数据源的相关属性。
3.根据权利要求2所述的一种交易读写分离的方法,其特征在于,在所述S11步骤中:如果在交易配置表中错误地将有数据库写操作的交易设置“只读标志”为“是”,则交易处理过程中可能会发生执行数据库写操作时报错权限不足;如果在交易配置表中错误地将无数据库写操作的交易设置“只读标志”为“否”,则交易处理能够正常完成,但是查询类类交易会被关联到写数据源进而无法达到“读写分离”的目的。
4.根据权利要求2所述的一种交易读写分离的方法,其特征在于,在所述S13步骤中:联机交易处理系统会为“只读标志”为“否”的请求分配读写数据源;为“只读标志”为“是”的请求分配只读数据源,若所有的只读数据源都不可用或数据差异过大时,才会分配读写数据源。
5.根据权利要求2所述的一种交易读写分离的方法,其特征在于,所述S16步骤中的异常情况说明:若无可用的只读数据源,联机交易系统会为只读交易提供读写数据源,从而能够减少交易失败率,提升系统可用性。
6.根据权利要求1所述的一种交易读写分离的方法,其特征在于,所述交易链路和路由单元的实现方法包括以下步骤:
S21、通过在实例配置模块中,增加“服务实例角色”配置项;该配置项用于表示联机服务可以提供的交易种类;取值包括:“只读”、“读写”两种;“只读”用于表示该实例对外提供“读交易”服务,其中,“读交易”主要是查询类交易;“读写”用于表示该实例对外提供“读交易”和“写交易”,其中,“读交易”和“写交易”包括开户/销户/存入/支取/冻结/解冻/维护等交易;
S22、“读写”联机服务实例的初始化、“心跳”消息发送;具体的逻辑与S21步骤中的逻辑一致;
S23、当联机交易网关接收到一笔交易请求时,先会进行交易识别,即根据交易请求的识别字段确认交易码,再根据交易码查询交易配置信息获取“只读标志”值;若交易请求对应“读写交易”,则网关会查询注册中心的“实例服务角色”为“读写”的实例列表,并根据负载均衡算法选择一个目标实例,并将交易请求转发给该目标实例,其中,该目标实例为“读写”联机服务实例;
S24、若交易请求对应“只读交易”,则网关会查询注册中心的“实例服务角色”为“只读”的实例列表,并根据负载均衡算法选择一个目标实例,并将交易请求转发给该目标实例,其中,该目标实例为“只读”联机服务实例;
S25、对于“只读交易”,若注册中心中无法找到可用的“只读”联机服务实例,则联机交易网关会从注册中心中查找“读写”联机服务实例,经过负载均衡算法选择目标实例,其中,目标实例为“读写”联机服务实例,并向目标实例转发交易请求。
7.根据权利要求6所述的一种交易读写分离的方法,其特征在于,所述S21步骤中联机服务实例在服务启动的初始化阶段,从“实例配置”中读取“服务实例角色”配置项;在启动之后的整个生命周期中,联机服务实例根据“服务实例角色”配置项值,定时地向注册中心发送消息,其中,发送消息即为“心跳”,且在“心跳”消息增加“服务实例角色”信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110973016.0A CN113836179B (zh) | 2021-08-23 | 2021-08-23 | 一种交易读写分离装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110973016.0A CN113836179B (zh) | 2021-08-23 | 2021-08-23 | 一种交易读写分离装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113836179A true CN113836179A (zh) | 2021-12-24 |
CN113836179B CN113836179B (zh) | 2023-10-27 |
Family
ID=78961053
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110973016.0A Active CN113836179B (zh) | 2021-08-23 | 2021-08-23 | 一种交易读写分离装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113836179B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118172048A (zh) * | 2024-05-16 | 2024-06-11 | 上海银行股份有限公司 | 快捷支付交易额度扣减方法、系统、设备及介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170017692A1 (en) * | 2015-07-13 | 2017-01-19 | Paypal, Inc. | Read/write split database query routing |
CN106815218A (zh) * | 2015-11-27 | 2017-06-09 | 华为技术有限公司 | 数据库访问方法、装置和数据库系统 |
CN107122357A (zh) * | 2016-02-24 | 2017-09-01 | 阿里巴巴集团控股有限公司 | 数据库读写分离方法、装置和系统 |
US20190095293A1 (en) * | 2016-07-27 | 2019-03-28 | Tencent Technology (Shenzhen) Company Limited | Data disaster recovery method, device and system |
CN110019312A (zh) * | 2017-12-29 | 2019-07-16 | 中国移动通信集团山西有限公司 | 读写数据分离调度方法、装置、设备及介质 |
CN112506962A (zh) * | 2020-11-10 | 2021-03-16 | 中软国际科技服务南京有限公司 | 一种高性能数据库读写分离方法 |
CN112667711A (zh) * | 2020-12-29 | 2021-04-16 | 浪潮云信息技术股份公司 | 一种MySQL只读实例管理方法及系统 |
-
2021
- 2021-08-23 CN CN202110973016.0A patent/CN113836179B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170017692A1 (en) * | 2015-07-13 | 2017-01-19 | Paypal, Inc. | Read/write split database query routing |
US20170017685A1 (en) * | 2015-07-13 | 2017-01-19 | Paypal, Inc. | Replica database query routing for database environments |
CN106815218A (zh) * | 2015-11-27 | 2017-06-09 | 华为技术有限公司 | 数据库访问方法、装置和数据库系统 |
CN107122357A (zh) * | 2016-02-24 | 2017-09-01 | 阿里巴巴集团控股有限公司 | 数据库读写分离方法、装置和系统 |
US20190095293A1 (en) * | 2016-07-27 | 2019-03-28 | Tencent Technology (Shenzhen) Company Limited | Data disaster recovery method, device and system |
CN110019312A (zh) * | 2017-12-29 | 2019-07-16 | 中国移动通信集团山西有限公司 | 读写数据分离调度方法、装置、设备及介质 |
CN112506962A (zh) * | 2020-11-10 | 2021-03-16 | 中软国际科技服务南京有限公司 | 一种高性能数据库读写分离方法 |
CN112667711A (zh) * | 2020-12-29 | 2021-04-16 | 浪潮云信息技术股份公司 | 一种MySQL只读实例管理方法及系统 |
Non-Patent Citations (3)
Title |
---|
HUA FAN等: "ALOHA-KV: high performance read-only and write-only distributed transactions", 《SOCC \'17: PROCEEDINGS OF THE 2017 SYMPOSIUM ON CLOUD COMPUTING》, pages 561 * |
丁敏: "云环境下高性能数据库集群关键技术研究", 《CNKI优秀硕士学位论文全文库 (信息科技辑)》, no. 02, pages 138 - 1080 * |
余莎莎;肖辉;: "HIS双活架构实现读写分离的设计及实践", 中国数字医学, no. 10, pages 111 - 113 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118172048A (zh) * | 2024-05-16 | 2024-06-11 | 上海银行股份有限公司 | 快捷支付交易额度扣减方法、系统、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113836179B (zh) | 2023-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111240763B (zh) | 配置更新方法、装置、设备及存储介质 | |
US5778179A (en) | System for flexible distributed processing and transaction processing suitable for nested transaction | |
CN110278284B (zh) | 一种服务调用方法及装置 | |
US7185096B2 (en) | System and method for cluster-sensitive sticky load balancing | |
US7987266B2 (en) | Failover in proxy server networks | |
US7840674B1 (en) | Routing messages across a network in a manner that ensures that non-idempotent requests are processed | |
US7603354B2 (en) | Method for enhancing the operation of a database | |
US11250395B2 (en) | Blockchain-based transaction processing methods and apparatuses and electronic devices | |
US20070112812A1 (en) | System and method for writing data to a directory | |
CN111371684B (zh) | 路由处理方法及装置、双活数据中心系统 | |
CN111885098A (zh) | 对象存储集群的代理访问方法、系统及计算机设备 | |
JP2012222402A (ja) | 中継装置、中継プログラム、及び中継方法 | |
US7000016B1 (en) | System and method for multi-site clustering in a network | |
EP3786802A1 (en) | Method and device for failover in hbase system | |
CN106649804A (zh) | 数据查询服务器的数据处理方法及装置、数据处理系统 | |
CN112866421A (zh) | 基于分布式缓存以及nsq的智能合约运行方法及装置 | |
US7716678B2 (en) | Processing messages in a message queueing system | |
CN113836179A (zh) | 一种交易读写分离的方法及装置 | |
KR20020007160A (ko) | 애플리케이션 서버의 가용성을 표시하는 컴퓨터화된 방법및 이를 포함하는 시스템 및 컴퓨터 프로그램 및애플리케이션 서버의 가용성을 결정하는 컴퓨터화된 방법및 이를 포함하는 컴퓨터 프로그램 | |
CN112860494A (zh) | 一种数据中心切换方法及其相关设备 | |
CN114493602B (zh) | 区块链交易的执行方法、装置、电子设备和存储介质 | |
US9922031B2 (en) | System and method for efficient directory performance using non-persistent storage | |
US7058773B1 (en) | System and method for managing data in a distributed system | |
US20020194268A1 (en) | Distribute object mechanism | |
CN116107801A (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 | ||
CB03 | Change of inventor or designer information |
Inventor after: Wang Yi Inventor after: Chen Zipei Inventor before: Chen Dianyin Inventor before: Zhang Dequan |
|
CB03 | Change of inventor or designer information |