CN111752970B - 一种基于缓存的分布式查询服务响应方法及存储介质 - Google Patents
一种基于缓存的分布式查询服务响应方法及存储介质 Download PDFInfo
- Publication number
- CN111752970B CN111752970B CN202010615667.8A CN202010615667A CN111752970B CN 111752970 B CN111752970 B CN 111752970B CN 202010615667 A CN202010615667 A CN 202010615667A CN 111752970 B CN111752970 B CN 111752970B
- Authority
- CN
- China
- Prior art keywords
- service
- query
- sub
- component
- scheduling
- 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
- 230000004044 response Effects 0.000 title claims abstract description 26
- 238000000034 method Methods 0.000 title claims abstract description 25
- 230000006870 function Effects 0.000 claims description 15
- 230000005055 memory storage Effects 0.000 claims description 6
- 230000008569 process Effects 0.000 claims description 6
- 230000000712 assembly Effects 0.000 claims description 3
- 238000000429 assembly Methods 0.000 claims description 3
- 230000000903 blocking effect Effects 0.000 claims description 3
- 239000004020 conductor Substances 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 abstract description 5
- 230000008878 coupling Effects 0.000 abstract description 3
- 238000010168 coupling process Methods 0.000 abstract description 3
- 238000005859 coupling reaction Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
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/242—Query formulation
- G06F16/2433—Query languages
-
- 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
- G06F16/24552—Database cache management
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于缓存的分布式查询服务响应方法及存储介质,属于互联网分布式架构领域,解决现有缓存查询技术,效率较低、经常出现查询超时、缓存数据颗粒度比较粗、查询复用度低、耦合度高和缺少扩展性的问题。本发明通过查询服务拆分后得到并行执行的子查询服务,再进行任务并行调度,调度后再进行消息处理,处理后进行数据缓存,基于数据缓存再进行数据组装。本发明用于分布式查询服务响应。
Description
技术领域
一种基于缓存的分布式查询服务响应方法及存储介质,用于分布式查询服务响应,属于互联网分布式架构领域,尤其针对大并发量的查询类服务提供了一种快速的响应机制。
背景技术
传统的基于缓存的查询类技术方案,在一个查询交易内部,顺序调用各个子查询服务,效率较低,对于互联网大并发量的查询请求,经常出现查询超时的问题,同时,一个查询交易会把相关的查询结果数据全部缓存到缓存服务组件中,缓存数据颗粒度比较粗,查询复用度低,同时,在一个查询交易内部集成了任务调度、状态管理、数据缓存等执行过程,耦合度高,缺少扩展性。
发明内容
针对上述研究的问题,本发明的目的在于提供一种基于缓存的分布式查询服务响应方法及存储介质,解决现有缓存查询技术,效率较低、经常出现查询超时、缓存数据颗粒度比较粗、查询复用度低、耦合度高和缺少扩展性的问题。
为了达到上述目的,本发明采用如下技术方案:
一种基于缓存的分布式查询服务响应方法,包括以下步骤:
步骤1:查询服务拆分
组合编排服务组件接收网关组件发送的查询服务请求,生成唯一的对应查询服务请求的编号,对生成编号后的查询服务进行拆分,得到并行执行的子查询服务;
步骤2:任务并行调度
对步骤1得到的子查询服务,注册子查询服务的状态信息,注册后并行执行各子查询服务的任务,其中,任务是指业务数据查询,状态信息为“成功”或“已缓存”;
步骤3:消息处理
执行完各子查询服务的任务后,将子查询服务的结果数据添加到消息队列中,并更新对应的子查询服务的状态信息;
步骤4:数据缓存
消息处理后,根据监控的各子查询服务的状态信息,将各子查询服务结果数据从消息队列中添加到缓存服务组件中,并更新对应的子查询服务的状态信息为“已缓存”;
步骤5:数据组装
当查询服务请求对应的所有子查询服务的查询结果数据都完成数据缓存后,服务组合编排组件将查询结果信息返回给查询服务请求的调用方。
进一步,所述步骤1具体包括:
步骤1.1:组合编排服务组件接收网关组件发送的查询服务请求,根据Hash算法生成唯一的对应查询服务请求的编号;
步骤1.2:生成编号后,组合编排服务组件根据查询服务请求的内容以及各个业务系统提供的查询服务组件,按照业务功能及产品分类进行服务拆分,得到并行执行的子查询服务。
进一步,步骤2具体包括:
步骤2.1:组合编排服务组件将拆分后的各编号对应的子查询服务注册到调度服务组件中,得到各编号对应的子查询服务调度任务,其中,调度服务组件为分布式任务调度平台;
步骤2.2:注册子查询服务调度任务完成,注册各编号对应的查询服务请求回调处理,其中,回调是指某个编号的查询服务请求对应的所有子查询服务调度任务状态均为“已缓存”后,通知组合编排服务组件;
步骤2.3:启动组合编排服务组件超时定时器,等待调度服务组件通知消息,即组合编排服务组件依据通知消息的不同类别做相应的处理,若超时定时器时间范围内组合编排服务组件还未接收到调度服务组件的通知消息,则组合编排服务组件返回超时信息,即本次查询服务请求已处理结束,反之则不返回超时信息,其中,通知消息为接收到调度服务组件的通知消息或未接收到调度服务组件的通知消息,组合编排服务组件为具备服务组合编排功能的工具,具体用于组合编排各个子查询服务组件返回的查询结果信息,其中,子查询服务即指子查询服务组件;
步骤2.4:基于接收到的调度服务组件的通知消息,调度服务组件根据各子查询服务调度任务到协调服务组件中查询对应的子查询服务的状态信息是否存在,如果不存在,则将子查询服务的状态信息注册到协调服务组件中,再转到步骤2.5,若存在,直接转到步骤2.5,其中,协调服务组件为分布式应用程序协调服务中间件;
步骤2.5:若调度服务组件中查询服务请求对应的子查询服务调度任务存在且状态信息为“初始化”时,调度服务组件并行调用子查询服务组件的子查询服务接口进行业务数据查询,即调用非阻塞的子查询服务接口进行业务数据查询;调度服务组件中查询服务请求对应的子查询服务调度任务状态全部为非“初始化”,即每一个子查询服务调度任务都已经调度完成,调度服务组件结束调度,其中,子查询服务组件对外提供子查询服务接口。
进一步,步骤3具体包括:
步骤3.1:子查询服务组件执行完业务数据查询功能后,将子查询服务的结果数据推送到消息队列组件中;
步骤3.2:推送后,更新协调服务组件中对应的子查询服务的状态信息。
进一步,步骤4具体包括:
步骤4.1:若调度服务组件中查询服务请求对应的子查询服务调度任务存在且状态信息为“成功”,调度服务组件调用缓存服务组件数据缓存请求接口;若调度服务组件中查询服务请求对应的子查询服务调度任务状态信息全部为“已缓存”,则数据缓存处理结束,其中,缓存服务组件为缓存数据库或中间件;
步骤4.2:缓存服务组件接收到调度服务组件发送的请求后,将对应子查询服务请求的结果数据获取到缓存中;
步骤4.3:将结果数据获取到缓存中后,更新协调服务组件中对应的子查询服务的状态信息为“已缓存”。
进一步,步骤5具体包括:
步骤5.1:调度服务组件监控协调服务组件中查询服务请求对应的所有子查询服务的状态信息,当所有的子查询服务的状态信息均为“已缓存”后,通知组合编排服务组件;
步骤5.2:组合编排服务组件接收到调度服务组件的通知消息后,从缓存服务组件中获取查询结果数据,按照业务类别组装成动态数组结构的结果信息;
步骤5.3:将组装后的查询结果信息返回给查询服务请求的调用方。
进一步,所述调度服务组件为XXL-JOB分布式任务调度平台或ELASTIC-JOB分布式任务调度平台;
所述协调服务组件为ZooKeeper分布式应用程序协调服务中间件;
所述缓存服务组件为Redis或Memcached缓存数据库或中间件;
所述组合编排服务组件为Conductor服务编排框架;
子查询服务组件为业务功能组件。
一种基于缓存的分布式查询服务响应的存储介质,
包括用于存储上述方法的内存存储介质,通过缓存服务组件提供的API接口在内存存储介质中进行数据的存入、查询。
本发明同现有技术相比,其有益效果表现在:
一、本发明中的子查询服务并行执行,提高查询服务的响应速度,解决查询服务超时问题,如:以用户签约信息查询服务为例,与现有技术相比,查询响应速度由原来的几十秒缩短为现在的秒级;
二、本发明的查询结果数据缓存,对于后续查询相同数据内容请求,能够缩短查询请求的响应时间,提高用户体验;
三、本发明中涉及到的服务组件均采用分布式实现,可以实现高可用,能够通过水平扩展提升整个方案的服务能力;
四、本发明第一次查询由于超时等原因未能返回查询结果数据时,第二次再次进行查询时,仍然能够利用本方案中异步及数据缓存的机制,实现查询结果数据的快速返回;
五、本发明中的子查询服务请求的结果数据通过消息队列组件和缓存服务组件来实现,提升整体查询业务的吞吐量,如:以用户签约信息查询服务为例,与现有技术相比,查询业务吞吐量由原来的几十TPS提升到几百TPS;
六、本发明将每一个子查询结果数据添加到缓存中,并记录子查询服务的状态信息,缓存粒度更细,区别现有的将整个查询得到的结果数据全部缓存到缓存服务组件中的实现方式,提高了查询结果的复用度;
七、本发明采用的架构方案将调度服务组件、协调服务组件、消息队列组件、缓存服务组件进行了合理拆分,各个组件专注于实现自身的功能,组件边界清晰,区别于现有的在一个查询交易内部集成所有组件的实现方式,具备更强的可扩展性。
附图说明
图1为本发明中的任务并行调度流程示意图;
图2为本发明中的消息处理流程示意图;
图3为本发明中的数据缓存流程示意图。
具体实施方式
本技术可以运用于开放银行对第三方平台提供的查询类服务的业务场景中,通过该技术并行处理各个子查询服务请求,并将查询结果添加到缓存中,提高查询业务吞吐量及响应速度。
下面将结合附图及具体实施方式对本发明作进一步的描述。
本发明通过该技术并行处理各个子查询服务,并将查询结果添加到缓存中,提高查询业务吞吐量及响应速度。
一种基于缓存的分布式查询服务响应方法,包括以下步骤:
步骤1:查询服务拆分
组合编排服务组件接收网关组件发送的查询服务请求,生成唯一的对应查询服务请求的编号(后续调度服务组件记录该编号和对应的子查询服务调度任务的关系,当该编号对应的子查询服务调度任务状态均为“已缓存”,调度服务组件会通知组合编排服务组件),对生成编号后的查询服务进行拆分,得到并行执行的子查询服务;
步骤2:任务并行调度
对步骤1得到的子查询服务,注册子查询服务的状态信息,注册后并行执行各子查询服务的任务,其中,任务是指业务数据查询,状态信息为“成功”或“已缓存”;
步骤3:消息处理
执行完各子查询服务的任务后,将子查询服务的结果数据添加到消息队列中,并更新对应的子查询服务的状态信息;
步骤4:数据缓存
消息处理后,根据监控的各子查询服务的状态信息,将各子查询服务结果数据从消息队列中添加到缓存服务组件中,并更新对应的子查询服务的状态信息为“已缓存”;
步骤5:数据组装
当查询服务请求对应的所有子查询服务的查询结果数据都完成数据缓存后,服务组合编排组件将查询结果信息返回给查询服务请求的调用方。
进一步,所述步骤1具体包括:
步骤1.1:组合编排服务组件接收网关组件发送的查询服务请求,根据Hash算法生成唯一的对应查询服务请求的编号;
步骤1.2:生成编号后,组合编排服务组件根据查询服务请求的内容以及各个业务系统提供的查询服务组件,按照业务功能及产品分类进行服务拆分,得到并行执行的子查询服务。
其中,查询服务请求包括:用户签约信息查询请求、用户交易信息查询请求等;
查询服务组件包括:存款查询、贷款查询、理财查询、支付查询等业务组件;
具体的:如用户签约信息查询服务请求根据签约业务功能及签约产品类别进行服务拆分,得到并行执行的子查询服务。
以用户签约信息查询服务为例:
组合编排服务组件通过网关组件对外提供统一用户签约信息查询服务,用户签约信息包含用户短信签约、理财产品签约、账户开立签约、协议支付签约等信息,而这些用户签约信息由以下业务系统分别提供:
短信平台提供用户短信签约查询服务;
综合理财平台提供用户理财产品签约查询服务;
核心系统提供用户账户开立签约查询服务;
统一支付平台提供用户协议支付签约查询服务;
综上,得到并行执行的子查询服务,即用户短信签约查询服务、用户理财产品签约查询服务、用户账户开立签约查询服务和用户协议支付签约查询服务。
进一步,步骤2具体包括:
步骤2.1:组合编排服务组件将拆分后的各编号对应的子查询服务注册到调度服务组件中,得到各编号对应的子查询服务调度任务,其中,调度服务组件是指XXL-JOB、ELASTIC-JOB等分布式任务调度平台;
步骤2.2:注册子查询服务调度任务完成,注册各编号对应的查询服务请求回调处理,其中,回调是指某个编号的查询服务请求对应的所有子查询服务调度任务状态均为“已缓存”后,通知组合编排服务组件;
步骤2.3:启动组合编排服务组件超时定时器,等待调度服务组件通知消息,即组合编排服务组件依据通知消息的不同类别做相应的处理,若超时定时器时间范围内组合编排服务组件还未接收到调度服务组件的通知消息,则组合编排服务组件返回超时信息,即本次查询服务请求已处理结束(返回超时消息,本次查询服务请求就已经处理结束了,不会再继续等待通知消息,如果用户再次发起相同的查询服务请求,就可以快速返回查询结果),反之则不返回超时信息,其中,通知消息为接收到调度服务组件的通知消息或未接收到调度服务组件的通知消息,组合编排服务组件为具备服务组合编排功能的工具,具体用于组合编排各个子查询服务组件返回的查询结果信息,其中,子查询服务即指子查询服务组件;
步骤2.4:基于接收到的调度服务组件的通知消息,调度服务组件根据各子查询服务调度任务到协调服务组件中查询对应的子查询服务的状态信息是否存在,如果不存在,则将子查询服务的状态信息注册到协调服务组件中,再转到步骤2.5,若存在,直接转到步骤2.5,其中,协调服务组件指的是ZooKeeper等分布式应用程序协调服务中间件;
步骤2.5:若调度服务组件中查询服务请求对应的子查询服务调度任务存在且状态信息为“初始化”时,调度服务组件并行调用子查询服务组件的子查询服务接口进行业务数据查询,即调用非阻塞的子查询服务接口进行业务数据查询;调度服务组件中查询服务请求对应的子查询服务调度任务状态全部为非“初始化”,即每一个子查询服务调度任务都已经调度完成,调度服务组件结束调度,其中,子查询服务组件对外提供子查询服务接口。
进一步,步骤3具体包括:
步骤3.1:子查询服务组件执行完业务数据查询功能后,将子查询服务请求的结果数据推送到消息队列组件中;
步骤3.2:推送后,更新协调服务组件中对应的子查询服务的状态信息。
进一步,步骤4具体包括:
步骤4.1:若调度服务组件中查询服务请求对应的子查询服务调度任务存在且状态信息为“成功”,调度服务组件调用缓存服务组件数据缓存请求接口;若调度服务组件中查询服务请求对应的子查询服务调度任务状态信息全部为“已缓存”,则数据缓存处理结束,其中,缓存服务组件指的是Redis、Memcached等缓存数据库或中间件;
步骤4.2:缓存服务组件接收到调度服务组件发送的请求后,将对应子查询服务请求的结果数据获取到缓存中;
步骤4.3:将结果数据获取到缓存中后,更新协调服务组件中对应的子查询服务的状态信息为“已缓存”。
进一步,步骤5具体包括:
步骤5.1:调度服务组件监控协调服务组件中查询服务请求对应的所有子查询服务的状态信息,当所有的子查询服务的状态信息均为“已缓存”后,通知组合编排服务组件;组合编排服务组件为Conductor服务编排框架;
步骤5.2:组合编排服务组件接收到调度服务组件的通知消息后,从缓存服务组件中获取查询结果数据,按照业务类别组装成动态数组结构的结果信息;比如将各个业务系统查询得到的结果信息按照理财、账户、支付进行分类组装;
步骤5.3:将组装后的查询结果信息返回给查询服务请求的调用方。
一种基于缓存的分布式查询服务响应的存储介质,包括用于存储上述方法的内存存储介质,通过缓存服务组件提供的API接口在内存存储介质中进行数据的存入、查询。
实施例
以用户签约信息查询为例:
步骤1:查询服务拆分
组合编排服务组件通过网关组件对外提供统一用户签约信息查询,包含用户短信签约、理财产品签约、账户开立签约、协议支付签约等信息,而这些签约信息由以下业务系统分别提供:
短信平台提供用户短信签约查询服务;
综合理财平台提供用户理财产品签约查询服务;
核心系统提供用户账户开立签约查询服务;
统一支付平台提供用户协议支付签约查询服务。
组合编排服务组件按照业务功能及产品分类进行服务拆分,得到用户短信签约、理财产品签约、账户开立签约、协议支付签约子查询服务,其中,子查询服务即指子查询服务组件。
步骤2:任务并行调度
将拆分后的用户短信签约、理财产品签约、账户开立签约、协议支付签约子查询服务注册到调度服务组件中,调度服务组件并行调用子查询服务组件的子查询服务(即子查询服务接口)进行业务数据查询。
步骤3:消息处理
用户短信签约、理财产品签约、账户开立签约、协议支付签约子查询服务组件执行完业务数据查询功能后,将子查询服务的结果数据推送到消息队列中,并更新对应的子查询服务的状态信息。
步骤4:数据缓存
缓存服务组件接收到调度服务组件发送的请求后,将用户短信签约、理财产品签约、账户开立签约、协议支付签约子查询服务的结果数据获取到缓存服务组件中,并更新对应的子查询服务的状态信息为“已缓存”。
步骤5:数据组装
组合编排服务组件接收到调度服务组件的通知消息后,从缓存服务组件中获取用户短信签约、理财产品签约、账户开立签约、协议支付签约子查询服务缓存数据,按照业务类别组装成用户签约信息查询结果信息。
最后由组合编排服务组件将组装后的查询结果信息返回给查询服务请求的调用方。
以上仅是本发明众多具体应用范围中的代表性实施例,对本发明的保护范围不构成任何限制。凡采用变换或是等效替换而形成的技术方案,均落在本发明权利保护范围之内。
Claims (8)
1.一种基于缓存的分布式查询服务响应方法,其特征在于:包括以下步骤:
步骤1:查询服务拆分
组合编排服务组件接收网关组件发送的查询服务请求,生成唯一的对应查询服务请求的编号,对生成编号后的查询服务进行拆分,得到并行执行的子查询服务;
步骤2:任务并行调度
对步骤1得到的子查询服务,注册子查询服务的状态信息,注册后并行执行各子查询服务的任务,其中,任务是指业务数据查询,状态信息为“成功”或“已缓存”;
步骤3:消息处理
执行完各子查询服务的任务后,将子查询服务的结果数据添加到消息队列中,并更新对应的子查询服务的状态信息;
步骤4:数据缓存
消息处理后,根据监控的各子查询服务的状态信息,将各子查询服务结果数据从消息队列中添加到缓存服务组件中,并更新对应的子查询服务的状态信息为“已缓存”;
步骤5:数据组装
当查询服务请求对应的所有子查询服务的查询结果数据都完成数据缓存后,服务组合编排组件将查询结果信息返回给查询服务请求的调用方。
2.根据权利要求1所述的一种基于缓存的分布式查询服务响应方法,其特征在于:所述步骤1具体包括:
步骤1.1:组合编排服务组件接收网关组件发送的查询服务请求,根据Hash算法生成唯一的对应查询服务请求的编号;
步骤1.2:生成编号后,组合编排服务组件根据查询服务请求的内容以及各个业务系统提供的查询服务组件,按照业务功能及产品分类进行服务拆分,得到并行执行的子查询服务。
3.根据权利要求1或2所述的一种基于缓存的分布式查询服务响应方法,其特征在于:步骤2具体包括:
步骤2.1:组合编排服务组件将拆分后的各编号对应的子查询服务注册到调度服务组件中,得到各编号对应的子查询服务调度任务,其中,调度服务组件为分布式任务调度平台;
步骤2.2:注册子查询服务调度任务完成,注册各编号对应的查询服务请求回调处理,其中,回调是指某个编号的查询服务请求对应的所有子查询服务调度任务状态均为“已缓存”后,通知组合编排服务组件;
步骤2.3:启动组合编排服务组件超时定时器,等待调度服务组件通知消息,即组合编排服务组件依据通知消息的不同类别做相应的处理,若超时定时器时间范围内组合编排服务组件还未接收到调度服务组件的通知消息,则组合编排服务组件返回超时信息,即本次查询服务请求已处理结束,反之则不返回超时信息,其中,通知消息为接收到调度服务组件的通知消息或未接收到调度服务组件的通知消息,组合编排服务组件为具备服务组合编排功能的工具,具体用于组合编排各个子查询服务组件返回的查询结果信息,其中,子查询服务即指子查询服务组件;
步骤2.4:基于接收到的调度服务组件的通知消息,调度服务组件根据各子查询服务调度任务到协调服务组件中查询对应的子查询服务的状态信息是否存在,如果不存在,则将子查询服务的状态信息注册到协调服务组件中,再转到步骤2.5,若存在,直接转到步骤2.5,其中,协调服务组件为分布式应用程序协调服务中间件;
步骤2.5:若调度服务组件中查询服务请求对应的子查询服务调度任务存在且状态信息为“初始化”时,调度服务组件并行调用子查询服务组件的子查询服务接口进行业务数据查询,即调用非阻塞的子查询服务接口进行业务数据查询;调度服务组件中查询服务请求对应的子查询服务调度任务状态全部为非“初始化”,即每一个子查询服务调度任务都已经调度完成,调度服务组件结束调度,其中,子查询服务组件对外提供子查询服务接口。
4.根据权利要求3所述的一种基于缓存的分布式查询服务响应方法,其特征在于:步骤3具体包括:
步骤3.1:子查询服务组件执行完业务数据查询功能后,将子查询服务的结果数据推送到消息队列组件中;
步骤3.2:推送后,更新协调服务组件中对应的子查询服务的状态信息。
5.根据权利要求4所述的一种基于缓存的分布式查询服务响应方法,其特征在于:步骤4具体包括:
步骤4.1:若调度服务组件中查询服务请求对应的子查询服务调度任务存在且状态信息为“成功”,调度服务组件调用缓存服务组件数据缓存请求接口;若调度服务组件中查询服务请求对应的子查询服务调度任务状态信息全部为“已缓存”,则数据缓存处理结束,其中,缓存服务组件为缓存数据库或中间件;
步骤4.2:缓存服务组件接收到调度服务组件发送的请求后,将对应子查询服务请求的结果数据获取到缓存中;
步骤4.3:将结果数据获取到缓存中后,更新协调服务组件中对应的子查询服务的状态信息为“已缓存”。
6.根据权利要求5所述的一种基于缓存的分布式查询服务响应方法,其特征在于:步骤5具体包括:
步骤5.1:调度服务组件监控协调服务组件中查询服务请求对应的所有子查询服务的状态信息,当所有的子查询服务的状态信息均为“已缓存”后,通知组合编排服务组件;
步骤5.2:组合编排服务组件接收到调度服务组件的通知消息后,从缓存服务组件中获取查询结果数据,按照业务类别组装成动态数组结构的结果信息;
步骤5.3:将组装后的查询结果信息返回给查询服务请求的调用方。
7.根据权利要求6所述的一种基于缓存的分布式查询服务响应方法,其特征在于:
所述调度服务组件为XXL-JOB分布式任务调度平台或ELASTIC-JOB分布式任务调度平台;
所述协调服务组件为ZooKeeper分布式应用程序协调服务中间件;
所述缓存服务组件为Redis或Memcached缓存数据库或中间件;
所述组合编排服务组件为Conductor服务编排框架;
子查询服务组件为业务功能组件。
8.一种基于缓存的分布式查询服务响应的存储介质,其特征在于:
包括用于存储权利要求1-7任一所述的一种基于缓存的分布式查询服务响应方法的内存存储介质,通过缓存服务组件提供的API接口在内存存储介质中进行数据的存入、查询。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010615667.8A CN111752970B (zh) | 2020-06-26 | 2020-06-26 | 一种基于缓存的分布式查询服务响应方法及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010615667.8A CN111752970B (zh) | 2020-06-26 | 2020-06-26 | 一种基于缓存的分布式查询服务响应方法及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111752970A CN111752970A (zh) | 2020-10-09 |
CN111752970B true CN111752970B (zh) | 2024-01-30 |
Family
ID=72676835
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010615667.8A Active CN111752970B (zh) | 2020-06-26 | 2020-06-26 | 一种基于缓存的分布式查询服务响应方法及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111752970B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112612807B (zh) * | 2020-12-31 | 2022-07-05 | 浙江融象数科控股有限公司 | 分布式事务数据一致性系统设计方法 |
CN113392132B (zh) * | 2021-05-07 | 2023-04-11 | 杭州数知梦科技有限公司 | Iot场景的分布式缓存方法及系统 |
CN115665175B (zh) * | 2022-12-26 | 2023-03-31 | 江苏苏宁银行股份有限公司 | 一种分布式网关系统及其交易处理方法 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102006330A (zh) * | 2010-12-01 | 2011-04-06 | 北京瑞信在线系统技术有限公司 | 分布式缓存系统、数据的缓存方法及缓存数据的查询方法 |
CN102790784A (zh) * | 2011-05-18 | 2012-11-21 | 阿里巴巴集团控股有限公司 | 分布式缓存方法及系统、缓存解析方法及解析系统 |
US9002824B1 (en) * | 2012-06-21 | 2015-04-07 | Pivotal Software, Inc. | Query plan management in shared distributed data stores |
CN106210117A (zh) * | 2016-08-01 | 2016-12-07 | 浪潮软件股份有限公司 | 一种通过云端缓存实现的高性能服务架构 |
CN107135268A (zh) * | 2017-05-22 | 2017-09-05 | 南京大学 | 基于信息中心网络的分布式任务计算方法 |
CN107426034A (zh) * | 2017-08-18 | 2017-12-01 | 国网山东省电力公司信息通信公司 | 一种基于云平台的大规模容器调度系统及方法 |
CN108287764A (zh) * | 2018-01-31 | 2018-07-17 | 上海携程商务有限公司 | 分布式任务调度方法及其系统、存储介质、电子设备 |
CN109327509A (zh) * | 2018-09-11 | 2019-02-12 | 武汉魅瞳科技有限公司 | 一种主/从架构的低耦合的分布式流式计算框架 |
CN110275822A (zh) * | 2019-04-26 | 2019-09-24 | 武汉众邦银行股份有限公司 | 应用程序接口的性能测试方法、装置、设备及存储介质 |
CN110287217A (zh) * | 2019-06-10 | 2019-09-27 | 天翼电子商务有限公司 | 基于分布式业务系统的缓存控制方法、系统、及电子设备 |
CN110673933A (zh) * | 2019-08-15 | 2020-01-10 | 平安普惠企业管理有限公司 | 基于ZooKeeper的分布式异步队列实现方法、装置、设备及介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11599541B2 (en) * | 2016-09-26 | 2023-03-07 | Splunk Inc. | Determining records generated by a processing task of a query |
US10977260B2 (en) * | 2016-09-26 | 2021-04-13 | Splunk Inc. | Task distribution in an execution node of a distributed execution environment |
US11016958B2 (en) * | 2017-09-29 | 2021-05-25 | Oracle International Corporation | Recreating an OLTP table and reapplying database transactions for real-time analytics |
EP3537366A1 (en) * | 2018-03-09 | 2019-09-11 | Spotify AB | System and method for dynamic advertisement content in a digital media content environment |
US11170002B2 (en) * | 2018-10-19 | 2021-11-09 | Oracle International Corporation | Integrating Kafka data-in-motion with data-at-rest tables |
US11550755B2 (en) * | 2018-11-15 | 2023-01-10 | Red Hat, Inc. | High performance space efficient distributed storage |
-
2020
- 2020-06-26 CN CN202010615667.8A patent/CN111752970B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102006330A (zh) * | 2010-12-01 | 2011-04-06 | 北京瑞信在线系统技术有限公司 | 分布式缓存系统、数据的缓存方法及缓存数据的查询方法 |
CN102790784A (zh) * | 2011-05-18 | 2012-11-21 | 阿里巴巴集团控股有限公司 | 分布式缓存方法及系统、缓存解析方法及解析系统 |
US9002824B1 (en) * | 2012-06-21 | 2015-04-07 | Pivotal Software, Inc. | Query plan management in shared distributed data stores |
CN106210117A (zh) * | 2016-08-01 | 2016-12-07 | 浪潮软件股份有限公司 | 一种通过云端缓存实现的高性能服务架构 |
CN107135268A (zh) * | 2017-05-22 | 2017-09-05 | 南京大学 | 基于信息中心网络的分布式任务计算方法 |
CN107426034A (zh) * | 2017-08-18 | 2017-12-01 | 国网山东省电力公司信息通信公司 | 一种基于云平台的大规模容器调度系统及方法 |
CN108287764A (zh) * | 2018-01-31 | 2018-07-17 | 上海携程商务有限公司 | 分布式任务调度方法及其系统、存储介质、电子设备 |
CN109327509A (zh) * | 2018-09-11 | 2019-02-12 | 武汉魅瞳科技有限公司 | 一种主/从架构的低耦合的分布式流式计算框架 |
CN110275822A (zh) * | 2019-04-26 | 2019-09-24 | 武汉众邦银行股份有限公司 | 应用程序接口的性能测试方法、装置、设备及存储介质 |
CN110287217A (zh) * | 2019-06-10 | 2019-09-27 | 天翼电子商务有限公司 | 基于分布式业务系统的缓存控制方法、系统、及电子设备 |
CN110673933A (zh) * | 2019-08-15 | 2020-01-10 | 平安普惠企业管理有限公司 | 基于ZooKeeper的分布式异步队列实现方法、装置、设备及介质 |
Non-Patent Citations (3)
Title |
---|
众邦银行:打造数字驱动、科技赋能的开放型数字银行;李耀;;中国金融电脑(第05期);全文 * |
基于OSGi规范某城市商业银行小额支付系统的设计及实现;刘剑;中国优秀硕士学位论文全文数据库信息科技辑;I138-207 * |
异地协作敏捷开发团队转型实践;余迪谦;;软件(第10期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111752970A (zh) | 2020-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111752970B (zh) | 一种基于缓存的分布式查询服务响应方法及存储介质 | |
CN101800762B (zh) | 一种对多个业务进行融合的业务云系统及业务实现方法 | |
US10915554B2 (en) | Database replication system | |
CN101452555A (zh) | 查询个人信用信息的方法、系统及个人信用查询系统 | |
CN110968586B (zh) | 分布式事务处理方法及装置 | |
EP1780983B1 (en) | Service broker integration layer for supporting telecommunication client service requests | |
WO2021088641A1 (zh) | 数据发送方法、处理方法、接收方法及其设备、存储介质 | |
CN112015578B (zh) | 基于事前同步处理和事后异步处理的风控系统和方法 | |
CN110955857A (zh) | 一种用于高并发环境的业务处理方法及装置 | |
CN104219235A (zh) | 一种分布式交易请求方法及装置 | |
CN111585913B (zh) | 基于回收令牌的服务流量限制方法及存储介质 | |
WO2011150601A1 (zh) | 交易处理系统 | |
CN110727507B (zh) | 一种消息的处理方法、装置、计算机设备和存储介质 | |
CN114063936A (zh) | 一种优化定时任务的方法、系统、设备和存储介质 | |
US20120102168A1 (en) | Communication And Coordination Between Web Services In A Cloud-Based Computing Environment | |
WO2010043138A1 (zh) | 一种智能网业务库存取海量数据的系统、装置及方法 | |
EP1820311B1 (en) | A messaging gateway and method | |
CN111488382A (zh) | 一种数据调用方法、系统及电子设备 | |
CN114301783B (zh) | 用于微服务的优化方法以及装置、存储介质、电子装置 | |
CN112416414A (zh) | 一种基于状态机的微服务架构容器化轻量级工作流系统 | |
US20150120607A1 (en) | System and method for customer event email consolidation and delivery | |
CN113596177B (zh) | 智能家居设备的ip地址的解析方法和装置 | |
CN112612807B (zh) | 分布式事务数据一致性系统设计方法 | |
CN111125025B (zh) | 元数据的存储系统、存储方法、调用方法、调用装置和可读存储介质 | |
CN111897839A (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 |