CN112527487A - 多线程请求数据整合方法、装置、电子设备及存储介质 - Google Patents
多线程请求数据整合方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112527487A CN112527487A CN202011510520.9A CN202011510520A CN112527487A CN 112527487 A CN112527487 A CN 112527487A CN 202011510520 A CN202011510520 A CN 202011510520A CN 112527487 A CN112527487 A CN 112527487A
- Authority
- CN
- China
- Prior art keywords
- list
- data
- thread pool
- asynchronous thread
- class object
- 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
Images
Classifications
-
- 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
-
- 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/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/481—Exception handling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5011—Pool
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及数据处理领域,提供一种多线程请求数据整合方法,首先对关联方列表中的关联方进行实例化处理以形成单一类对象,再将单一类对象放入异步线程池以生成异步线程池的列表对象,调用异步线程池的单一类对象接口进行异步并发以形成请求数据,从而利用异步线程池的并行特性,可以同时发起请求,不需要串行等待,大大缩短接口响应时间,而后基于熔断机制对请求数据进行异步响应以生成返回数据,并将返回数据传输至单一类对象接口,熔断机制能够把响应慢的或者发生异常的请求及时剔除掉,避免请求堵塞引起线程挂起,而后使在线配置组件于单一类对象接口对返回数据进行分类汇总形成整合数据,并将整合数据发送至客户端,便于用户对比选择。
Description
技术领域
本发明涉及数据处理领域,涉及一种数据整合方法,尤其涉及一种多线程请求数据整合方法、装置、电子设备及计算机可读存储介质。
背景技术
在现今常见软件高并发、高可用的环境下,某些APP上海量用户的访问,对系统的接口响应时间提出了更高的要求,目前APP上展现出来的服务除了自建的部分,实际上很大比例是后台集成了多个下游关联合作方的接口,后台通过整合合作方的接口信息让用户享受范围更加广泛、品类更加齐全的服务。但在实现快速迭代更新产品的同时也带来了不少性能问题,如后台技术实现上,串联排队去调合作方的接口耗时较长、合作方接口不稳定,用户量激增有波峰波谷等,容易引起系统响应耗时长、出现异常容易拖垮服务器、数据库进而导致服务不可用或者影响关联系统等情况。
并且因关联合作方的接口存在差异,容易导致代码实现逻辑重复、代码量臃肿冗余不利于维护,不便于扩展,排查问题困难。
因此,亟需一种提高响应速度和可扩展性,便于后期维护,避免引起线程挂起现象的多线程请求整合数据的方法。
发明内容
本发明提供一种多线程请求数据整合方法、装置、电子设备及计算机可读存储介质,其主要目的在于减少APP后台连接APP合作方的接口的耗时,提高合作方接口的稳定性,并提高整合多个合作方返回数据的效率。
为实现上述目的,本发明提供的一种多线程请求数据整合方法,包括:
调用在线配置组件以获取关联方列表,并对所述关联方列表中的所有关联方进行实例化处理以形成单一类对象;其中,所述单一类对象为所述关联方列表中各个关联方对应的对象;
将所述单一类对象放入异步线程池以生成所述异步线程池的列表对象;
通过触发所述列表对象,调用所述异步线程池的单一类对象接口进行异步并发以形成请求数据;
基于熔断机制对所述请求数据进行异步响应以生成返回数据,并将所述返回数据传输至所述单一类对象接口,使所述在线配置组件于所述单一类对象接口对所述返回数据进行分类汇总形成整合数据,并将所述整合数据发送至客户端。
可选地,调用在线配置组件以获取关联方列表,并对所述关联方列表中的所有关联方进行实例化处理以形成单一类对象的过程,包括:
客户端后台调用在线配置组件以获取关联方列表;
采用工厂模式对所述关联方列表中的每一关联方进行类别划分形成单一类组分;所述工厂模式为将一组列表生成平行类似的类的设计模式;
为所述单一类组分创建单一类名称,并将所述单一类组分转化为能够与异步线程池互通数据的格式以形成单一类对象;其中,所述单一类对象与所述异步线程池互通数据的通道为单一类通道。
可选地,将所述单一类对象放入异步线程池以生成所述异步线程池的列表对象的过程,包括:
建立空列表;
将所述单一类对象与所述单一类通道放入所述异步线程池形成线程池对象,并将所述异步线程池对象放入所述空列表形成异步线程池列表;
在所述异步线程池列表中加入类别参数形成列表对象。
可选地,在将所述异步线程池对象放入所述空列表形成异步线程池列表的过程中,还包括:
设置列表回复阈值;
向所述异步线程池列表中添加所述异步线程池对象时,若添加时间超过所述列表回复阈值,则所述异步线程池列表拒绝等待所述异步线程池对象,并且向所述在线配置组件发出异常信号。
可选地,若所述在线配置组件接收到所述异常信号,则采用异常处理组件做出异常处理;其中,所述异常处理的过程包括:
所述异常处理组件识别所述异常信号;
获取所述异常信号对应的异步线程池对象;
将与所述异常信号对应的异步线程池对象在所述异步线程池中过滤掉。
可选地,在触发所述列表对象之前,还包括:
创建触发接口;
将所述触发接口与所述单一类通道相连形成单一类对象接口;并且,
通过触发所述列表对象,调用所述异步线程池的单一类对象接口进行异步并发以形成请求数据的过程包括:
所述在线配置组件将客户端输入的目的请求传输至所述列表对象;
所述列表对象针对所述目的请求调用所述异步线程池列表;
判断所述异步线程池列表与所述目的请求中的请求列表是否一致;
若一致则同时将所述目的请求传输至所述单一类对象接口;
所述单一类对象接口将所述目的请求转化为目的数据,并将所述目的数据通过所述单一类通道传输至所述单一类对象。
可选地,基于熔断机制对所述请求数据进行异步响应以生成返回数据的过程为:
所述单一类对象基于熔断机制接收所述目的数据,并根据所述目的数据生成返回数据;其中,所述熔断机制包括熔断时间和熔断规则;
所述熔断规则为:
若所述目的数据到达所述单一类对象的时间长于所述熔断时间,所述单一类对象仍未针对所述目的数据做出应答,则所述在线配置组件中断所述单一类对象与所述目的数据的通道,并向所述在线配置组件发送空数据;
所述在线配置组件将所述空数据传输至客户端。
为了解决上述问题,本发明还提供一种多线程请求数据整合装置,所述装置包括:
对象配置单元,用于调用在线配置组件以获取关联方列表,并对所述关联方列表中的所有关联方进行实例化处理以形成单一类对象;其中,所述单一类对象为所述关联方列表中各个关联方对应的对象;
列表对象生成单元,用于将所述单一类对象放入异步线程池以生成所述异步线程池的列表对象;
异步请求单元,用于通过触发所述列表对象,调用所述异步线程池的单一类对象接口进行异步并发以形成请求数据;
数据整合单元,用于基于熔断机制对所述请求数据进行异步响应以生成返回数据,并将所述返回数据传输至所述单一类对象接口,使所述在线配置组件于所述单一类对象接口对所述返回数据进行分类汇总形成整合数据,并将所述整合数据发送至客户端。
为了解决上述问题,本发明还提供一种电子设备,所述电子设备包括:
存储器,存储至少一个指令;及
处理器,执行所述存储器中存储的指令以实现上述所述的多线程请求数据整合方法中的步骤。
为了解决上述问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个指令,所述至少一个指令被电子设备中的处理器执行以实现上述所述的多线程请求数据整合方法。
本发明实施例首先调用在线配置组件以获取关联方列表,并对关联方列表中的关联方进行实例化处理以形成单一类对象,即将所有的合作方列表转化为客户端后台中的对象,从而用户可以通过客户端向合作方发出请求,再将单一类对象放入异步线程池以生成异步线程池的列表对象,通过触发列表对象,调用异步线程池的单一类对象接口进行异步并发以形成请求数据,从而利用异步线程池的并行特性,可以同时发起请求,不需要串行等待,大大缩短了接口响应时间,而后基于熔断机制对请求数据进行异步响应以生成返回数据,并将返回数据传输至单一类对象接口,熔断机制能够把响应慢的或者发生异常的请求及时剔除掉,避免请求堵塞引起线程挂起;而后使在线配置组件于单一类对象接口对返回数据进行分类汇总形成整合数据,并将整合数据发送至客户端,客户端能够一目了然了解各个单一类对象返回的数据,便于对比选择,并且能够方便地进行合作方接口扩展,便于后期维护。
附图说明
图1为本发明一实施例提供的多线程请求数据整合方法的流程示意图;
图2为本发明一实施例提供的多线程请求数据整合装置的模块示意图;
图3为本发明一实施例提供的实现多线程请求数据整合方法的电子设备的内部结构示意图;
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种多线程请求数据整合方法。参照图1所示,为本发明一实施例提供的网多线程请求数据整合方法的流程示意图。该方法可以由一个装置执行,该装置可以由软件和/或硬件实现。
在本实施例中,多线程请求数据整合方法包括:
S1:调用在线配置组件以获取关联方列表,并对关联方列表中的所有关联方进行实例化处理以形成单一类对象;其中,单一类对象为关联方列表中各个关联方对应的对象;
步骤S1的过程,包括:
S11:客户端后台调用在线配置组件以获取关联方列表;在本实施例中该在线配置组件采用Apollo组件;
S12:采用工厂模式对关联方列表中的每一关联方进行类别划分形成单一类组分;工厂模式为将一组列表生成平行类似的类的设计模式;
S13:为单一类组分创建单一类名称,并将单一类组分转化为能够与异步线程池互通数据的格式以形成单一类对象;其中,单一类对象与异步线程池互通数据的通道为单一类通道。
具体的,在一实施例中,本方案应用在停车调度系统中,再本实施例中,上述公开的客户端可以为停车软件,该停车软件的后台调用在线配置组件以获取关联方列表,该关联方列表可包括多个关联方,例如,包括五个关联方(车位商户),分别取名A、B、C、D、E,当向该停车软件发起全部停车请求,该停车软件的后台调用在线配置组件以获取全部车位商户列表,并采用工厂模式将对停车商户列表中的每一商户进行类别形成五个平行互不干涉的商户组分ServiceA、ServiceB、ServiceC、ServiceD、ServiceE,而后为五个独立的商户组分创建停车商户名称,并为每一停车商户名称创建单一类通道(停车通道),并且五个通道相互独立、互不干涉。
S2:将单一类对象放入异步线程池以生成异步线程池的列表对象;
将单一类对象放入异步线程池以生成异步线程池的列表对象的过程,包括:
S21:在客户端后台建立空列表;
S22:将单一类对象与单一类通道放入异步线程池形成线程池对象,并将异步线程池对象放入空列表形成异步线程池列表;
S23:在异步线程池列表中加入类别参数形成列表对象;
在将异步线程池对象放入空列表形成异步线程池列表的过程中,还包括:
S22-1:设置列表回复阈值;
S22-2:向异步线程池列表中添加异步线程池对象时,若添加时间超过列表回复阈值,则异步线程池列表拒绝等待所述异步线程池对象,并且向在线配置组件发出异常信号;
若在线配置组件接收到所述异常信号,则采用异常处理组件做出异常处理;其中,异常处理的过程包括:
异常处理组件识别所述异常信号;
获取异常信号对应的异步线程池对象;
将与异常信号对应的异步线程池对象在异步线程池中过滤掉。
具体的,当向异步线程池列表中添加异步线程池对象时,若超过回复阈值,则异步线程池列表拒绝等待异步线程池对象,并且向在线配置组件发出异常信号,比如回复阈值为3秒,若超过3秒,则整个异步线程池列表就不会再等待某个异步线程对象的返回了,会抛出超时异常;
并且,在本实施例中采用try-catch组件作为异常处理组件,该try-catch组件包括try语句和catch语句,通过在try语句中编译异常获取语句,在catch语句中编译错误处理方法,从而使其在请求异常时能够锁定该请求异常,并针对该请求异常做出异常处理,前面步骤提到的异步线程池列表在装载异步线程池对象指定3秒超时,所以只要到达了3秒,异步线程池列表就会触发超时异常;try-catch组件会不断去检测是否有异常抛出,超时异常属于异常的一种,如果检测到是超时异常这个类别,如关联方A用户的接口部分慢,然后触发了装载时设定的超时时间,这时就会抛出超时异常,则被trt-catch组件捕捉识别,然后try-catch组件利用异常机制及时把关联方A对应的异步线程池对象过滤掉,即告诉异步线程池列表这个异步线程池对象是超时异常了不需要再等它做整合了,先返回其他数据整合即可,如此避免影响处理后续异步线程池对象队列的等待请求。
S3:通过触发列表对象,调用异步线程池的单一类对象接口进行异步并发以形成请求数据;并且在本实施例中触发列表对象为同时触发;
在步骤S3中,在触发列表对象之前,还包括:
S31-1:创建触发接口;
S31-2:将触发接口与单一类通道相连形成单一类对象接口;并且,
通过触发列表对象,调用异步线程池的单一类对象接口进行异步并发以形成请求数据的过程包括:
S32-1:在线配置组件将客户端输入的目的请求传输至列表对象;
S32-2:列表对象针对目的请求调用异步线程池列表;
S32-3:判断异步线程池列表与目的请求中的请求列表是否一致;
S32-4:若一致则同时将目的请求传输至单一类对象接口;
S32-5:单一类对象接口将目的请求转化为目的数据,并将目的数据通过单一类通道传输至单一类对象。
具体的,在本实施例中仍以停车软件作为客户端,在停车软件中包含有五个停车商户,在用户发出请求之前,需要为该五个用户创设触发接口,通过该触发接口才能将用户的请求传输至停车商户;
用户在停车软件的客户端发出停车请求时,停车请求首先到达触发组件,触发组件将停车软件客户端输入的欲停车列表输至列表对象(即包含全部商户的列表),而用户只想在三家通车商户中停车,则该列表对象针对该在三家停车的目的请求调用异步线程池列表,而后判断异步线程池列表与目的请求中的请求列表是否一致,若一致则同时将停三家商户的目的请求传输至单一类对象接口,单一类对象接口将停三个商户的目的请求转化为目的数据,并将该目的数据通过单一类通道传输至单一类对象。
S4:基于熔断机制对请求数据进行异步响应以生成返回数据,并将返回数据传输至单一类对象接口,使在线配置组件于所述单一类对象接口对返回数据进行分类汇总形成整合数据,并将整合数据发送至客户端;
在步骤S4中,基于熔断机制对请求数据进行异步响应以生成返回数据的过程为:
S41:单一类对象基于熔断机制接收所述目的数据,并根据目的数据生成返回数据;其中,熔断机制包括熔断时间和熔断规则;
熔断规则为:
若目的数据到达单一类对象的时间长于熔断时间,单一类对象仍未针对目的数据做出应答,则在线配置组件中断单一类对象与目的数据的通道,并向在线配置组件发送空数据;
在线配置组件将空数据传输至客户端。
在本实施例中该熔断时间为5000毫秒,一般超过10秒以上,超时一直会挂在线程池里面占用服务器资源直至到很久之后才中断此次请求,若设置了5000毫秒作为熔断时间超时,则超过该5000毫秒就主动切断这次请求,返回空数据,释放线程池的线程资源以免阻塞后续的请求,同时也避免影响整合数据的总体时长;
将返回数据传输至单一类对象接口,使在线配置组件于单一类对象接口对返回数据进行分类汇总形成整合数据,并将整合数据发送至客户端的过程,包括:
S42:返回数据传输至单一类对象接口;
S43:在线配置组件接单一类对象接口中的所有返回数据,并将返回数据进行整理汇总形成整合数据;
S44:在线配置组件将整合数据发送至客户端完成多线程请求整合数据。
具体的,仍以停车软件为例,用户的目的请求到达单一类对象(停车商户),若停车商户超时未处理,则自定切断该商户的应答途径,若部分商户正常处理,则其根据该目的请求向客户端发出其剩余车位、车位单价等返回数据,在线配置组件将用户请求的三个商户所回应的全部返回数据进行整理汇总,整理为三个商户分别对应的车位剩余量、车位地理位置、车位单价等车位信息形成车位整合数据,并将该整合数据发送至客户端供用户选择。
如上所述,本发明提供的多线程请求数据整合方法首先调用在线配置组件以获取关联方列表,并对关联方列表中的关联方进行实例化处理以形成单一类对象,即将所有的合作方列表转化为客户端后台中的对象,从而用户可以通过客户端向合作方发出请求,再将单一类对象放入异步线程池以生成异步线程池的列表对象,通过触发列表对象,调用异步线程池的单一类对象接口进行异步并发以形成请求数据,从而利用异步线程池的并行特性,可以同时发起请求,不需要串行等待,大大缩短了接口响应时间,而后基于熔断机制对请求数据进行异步响应以生成返回数据,并将返回数据传输至单一类对象接口,熔断机制能够把响应慢的或者发生异常的请求及时剔除掉,避免请求堵塞引起线程挂起;而后使在线配置组件于单一类对象接口对返回数据进行分类汇总形成整合数据,并将整合数据发送至客户端,客户端能够一目了然了解各个单一类对象返回的数据,便于对比选择,并且能够方便地进行合作方接口扩展,便于后期维护。
如图2所示,本发明提供一种多线程请求数据整合装置100,本发明可以安装于电子设备中。根据实现的功能,该多线程请求数据整合装置100可以包括对象配置单元101、列表对象生成单元102、异步请求单元103、数据整合单元104。本发明所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
在本实施例中,关于各模块/单元的功能如下:
对象配置单元101,用于调用在线配置组件以获取关联方列表,并对关联方列表中的所有关联方进行实例化处理以形成单一类对象;其中,单一类对象为关联方列表中各个关联方对应的对象;
列表对象生成单元102,用于将单一类对象放入异步线程池以生成异步线程池的列表对象;
异步请求单元103,用于通过触发列表对象,调用异步线程池的单一类对象接口进行异步并发以形成请求数据;
数据整合单元104,用于基于熔断机制对请求数据进行异步响应以生成返回数据,并将返回数据传输至单一类对象接口,使在线配置组件于单一类对象接口对返回数据进行分类汇总形成整合数据,并将整合数据发送至客户端。
如图3所示,本发明提供一种能够实现多线程请求数据整合方法的电子设备1。
该电子设备1可以包括处理器10、存储器11和总线,还可以包括存储在存储器11中并可在所述处理器10上运行的计算机程序,如多线程请求数据整合程序12。
其中,所述存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:SD或DX存储器等)、磁性存储器、磁盘、光盘等。所述存储器11在一些实施例中可以是电子设备1的内部存储单元,例如该电子设备1的移动硬盘。所述存储器11在另一些实施例中也可以是电子设备1的外部存储设备,例如电子设备1上配备的插接式移动硬盘、智能存储卡(Smart Media Card,SMC)、安全数字(SecureDigital,SD)卡、闪存卡(Flash Card)等。进一步地,所述存储器11还可以既包括电子设备1的内部存储单元也包括外部存储设备。所述存储器11不仅可以用于存储安装于电子设备1的应用软件及各类数据,例如多线程请求数据整合程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
所述处理器10在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述处理器10是所述电子设备的控制核心(Control Unit),利用各种接口和线路连接整个电子设备的各个部件,通过运行或执行存储在所述存储器11内的程序或者模块(例如多线程请求数据整合程序等),以及调用存储在所述存储器11内的数据,以执行电子设备1的各种功能和处理数据。
所述总线可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。所述总线被设置为实现所述存储器11以及至少一个处理器10等之间的连接通信。
图3仅示出了具有部件的电子设备,本领域技术人员可以理解的是,图3示出的结构并不构成对所述电子设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
例如,尽管未示出,所述电子设备1还可以包括给各个部件供电的电源(比如电池),优选地,电源可以通过电源管理装置与所述至少一个处理器10逻辑相连,从而通过电源管理装置实现充电管理、放电管理、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备1还可以包括多种传感器、蓝牙模块、Wi-Fi模块等,在此不再赘述。
进一步地,所述电子设备1还可以包括网络接口,可选地,所述网络接口可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该电子设备1与其他电子设备之间建立通信连接。
可选地,该电子设备1还可以包括用户接口,用户接口可以是显示器(Display)、输入单元(比如键盘(Keyboard)),可选地,用户接口还可以是标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备1中处理的信息以及用于显示可视化的用户界面。
应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
所述电子设备1中的所述存储器11存储的多线程请求数据整合程序12是多个指令的组合,在所述处理器10中运行时,可以实现:
调用在线配置组件以获取关联方列表,并对关联方列表中的所有关联方进行实例化处理以形成单一类对象;其中,单一类对象为关联方列表中各个关联方对应的对象;
将单一类对象放入异步线程池以生成异步线程池的列表对象;
通过触发列表对象,调用异步线程池的单一类对象接口进行异步并发以形成请求数据;
基于熔断机制对请求数据进行异步响应以生成返回数据,并将返回数据传输至单一类对象接口,使在线配置组件于单一类对象接口对返回数据进行分类汇总形成整合数据,并将整合数据发送至客户端。
进一步地,所述电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
Claims (10)
1.一种多线程请求数据整合方法,其特征在于,包括:
调用在线配置组件以获取关联方列表,并对所述关联方列表中的所有关联方进行实例化处理以形成单一类对象;其中,所述单一类对象为所述关联方列表中各个关联方对应的对象;
将所述单一类对象放入异步线程池以生成所述异步线程池的列表对象;
通过触发所述列表对象,调用所述异步线程池的单一类对象接口进行异步并发以形成请求数据;
基于熔断机制对所述请求数据进行异步响应以生成返回数据,并将所述返回数据传输至所述单一类对象接口,使所述在线配置组件于所述单一类对象接口对所述返回数据进行分类汇总形成整合数据,并将所述整合数据发送至客户端。
2.如权利要求1所述的多线程请求数据整合方法,其特征在于,调用在线配置组件以获取关联方列表,并对所述关联方列表中的所有关联方进行实例化处理以形成单一类对象的过程,包括:
客户端后台调用在线配置组件以获取关联方列表;
采用工厂模式对所述关联方列表中的每一关联方进行类别划分形成单一类组分;所述工厂模式为将一组列表生成平行类似的类的设计模式;
为所述单一类组分创建单一类名称,并将所述单一类组分转化为能够与异步线程池互通数据的格式以形成单一类对象;其中,所述单一类对象与所述异步线程池互通数据的通道为单一类通道。
3.如权利要求2所述的多线程请求数据整合方法,其特征在于,将所述单一类对象放入异步线程池以生成所述异步线程池的列表对象的过程,包括:
建立空列表;
将所述单一类对象与所述单一类通道放入所述异步线程池形成线程池对象,并将所述异步线程池对象放入所述空列表形成异步线程池列表;
在所述异步线程池列表中加入类别参数形成列表对象。
4.如权利要求3所述的多线程请求数据整合方法,其特征在于,在将所述异步线程池对象放入所述空列表形成异步线程池列表的过程中,还包括:
设置列表回复阈值;
向所述异步线程池列表中添加所述异步线程池对象时,若添加时间超过所述列表回复阈值,则所述异步线程池列表拒绝等待所述异步线程池对象,并且向所述在线配置组件发出异常信号。
5.如权利要求4所述的多线程请求数据整合方法,其特征在于,
若所述在线配置组件接收到所述异常信号,则采用异常处理组件做出异常处理;其中,所述异常处理的过程包括:
所述异常处理组件识别所述异常信号;
获取所述异常信号对应的异步线程池对象;
将与所述异常信号对应的异步线程池对象在所述异步线程池中过滤掉。
6.如权利要求5所述的多线程请求数据整合方法,其特征在于,在触发所述列表对象之前,还包括:
创建触发接口;
将所述触发接口与所述单一类通道相连形成单一类对象接口;并且,
通过触发所述列表对象,调用所述异步线程池的单一类对象接口进行异步并发以形成请求数据的过程包括:
所述在线配置组件将客户端输入的目的请求传输至所述列表对象;
所述列表对象针对所述目的请求调用所述异步线程池列表;
判断所述异步线程池列表与所述目的请求中的请求列表是否一致;
若一致则同时将所述目的请求传输至所述单一类对象接口;
所述单一类对象接口将所述目的请求转化为目的数据,并将所述目的数据通过所述单一类通道传输至所述单一类对象。
7.如权利要求1所述的多线程请求数据整合方法,其特征在于,基于熔断机制对所述请求数据进行异步响应以生成返回数据的过程为:
所述单一类对象基于熔断机制接收所述目的数据,并根据所述目的数据生成返回数据;其中,所述熔断机制包括熔断时间和熔断规则;
所述熔断规则为:
若所述目的数据到达所述单一类对象的时间长于所述熔断时间,所述单一类对象仍未针对所述目的数据做出应答,则所述在线配置组件中断所述单一类对象与所述目的数据的通道,并向所述在线配置组件发送空数据;
所述在线配置组件将所述空数据传输至客户端。
8.一种多线程请求数据整合装置,其特征在于,所述装置包括:
对象配置单元,用于调用在线配置组件以获取关联方列表,并对所述关联方列表中的所有关联方进行实例化处理以形成单一类对象;其中,所述单一类对象为所述关联方列表中各个关联方对应的对象;
列表对象生成单元,用于将所述单一类对象放入异步线程池以生成所述异步线程池的列表对象;
异步请求单元,用于通过触发所述列表对象,调用所述异步线程池的单一类对象接口进行异步并发以形成请求数据;
数据整合单元,用于基于熔断机制对所述请求数据进行异步响应以生成返回数据,并将所述返回数据传输至所述单一类对象接口,使所述在线配置组件于所述单一类对象接口对所述返回数据进行分类汇总形成整合数据,并将所述整合数据发送至客户端。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至7中任一所述的多线程请求数据整合方法中的步骤。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一所述的多线程请求数据整合方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011510520.9A CN112527487A (zh) | 2020-12-18 | 2020-12-18 | 多线程请求数据整合方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011510520.9A CN112527487A (zh) | 2020-12-18 | 2020-12-18 | 多线程请求数据整合方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112527487A true CN112527487A (zh) | 2021-03-19 |
Family
ID=75001710
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011510520.9A Pending CN112527487A (zh) | 2020-12-18 | 2020-12-18 | 多线程请求数据整合方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112527487A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113326039A (zh) * | 2021-06-21 | 2021-08-31 | 深圳市网通兴技术发展有限公司 | 医疗代码流程建模的异步代码生成方法及系统 |
-
2020
- 2020-12-18 CN CN202011510520.9A patent/CN112527487A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113326039A (zh) * | 2021-06-21 | 2021-08-31 | 深圳市网通兴技术发展有限公司 | 医疗代码流程建模的异步代码生成方法及系统 |
CN113326039B (zh) * | 2021-06-21 | 2022-02-18 | 深圳市网通兴技术发展有限公司 | 医疗代码流程建模的异步代码生成方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104618693B (zh) | 一种基于云计算的监控视频在线处理任务管理方法及系统 | |
CN110231995B (zh) | 一种基于Actor模型的任务调度方法、装置及存储介质 | |
CN102541661B (zh) | 实现等待地址同步接口的方法和设备 | |
US9529651B2 (en) | Apparatus and method for executing agent | |
CN101192192B (zh) | 用于实时操作系统的任务异常诊断方法及系统 | |
CN104750522A (zh) | 任务或流程的动态执行方法和系统 | |
CN111984426A (zh) | 任务调度方法、装置、电子设备及存储介质 | |
CN113342472A (zh) | 微服务集群创建方法、装置、电子设备及可读存储介质 | |
CN115118738B (zh) | 基于rdma的灾备方法、装置、设备及介质 | |
CN112256783A (zh) | 数据导出方法、装置、电子设备及存储介质 | |
CN111694844A (zh) | 基于配置算法的企业运行数据分析方法、装置及电子设备 | |
CN112016905A (zh) | 基于审批流程的信息展示方法、装置、电子设备及介质 | |
CN112527487A (zh) | 多线程请求数据整合方法、装置、电子设备及存储介质 | |
CN115129753A (zh) | 数据血缘关系分析方法、装置、电子设备及存储介质 | |
CN113360321B (zh) | 微服务重试调用方法、装置、电子设备及存储介质 | |
CN114153635A (zh) | 消息处理方法、装置、存储介质及计算机设备 | |
CN113190427A (zh) | 卡顿监控方法、装置、电子设备及存储介质 | |
CN115147031B (zh) | 清算工作流执行方法、装置、设备及介质 | |
CN115373826B (zh) | 一种基于云计算的任务调度方法及装置 | |
CN111831408A (zh) | 异步任务处理方法、装置、电子设备及介质 | |
CN116820714A (zh) | 一种算力设备的调度方法、装置、设备和存储介质 | |
CN114675976B (zh) | 基于kubernetes的GPU共享方法、装置、设备及介质 | |
CN113419772A (zh) | 响应数据打包及拆包方法、打包装置、设备及介质 | |
CN114020414A (zh) | Android系统与底层Linux共生方法、装置、电子设备及存储介质 | |
CN113076069A (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 |