调用请求处理方法、装置、终端和计算机可读存储介质制造方法及图纸

技术编号:25438678 阅读:39 留言:0更新日期:2020-08-28 22:27
本发明专利技术提出了一种终端的调用请求处理方法、装置、终端和计算机可读存储介质。其中,方法包括:获取终端的调用请求;根据预设分类条件对调用请求进行分类合并,生成请求列表;根据请求列表配置对应的线程池,并确定线程执行队列;根据线程执行队列执行接口调用操作。本发明专利技术的调用请求处理方法,将同一类的调用请求作为一种请求来响应,分批量进行接口调用,从而形成合并请求‑入列等待对垒‑进入执行队列‑执行并回调的循环机制,实现一处响应多处返回,进而在较少硬件资源条件下保证准确、高效、有序地进行响应调用请求,降低运行维护成本,且有利于问题追踪。

【技术实现步骤摘要】
调用请求处理方法、装置、终端和计算机可读存储介质
本专利技术涉及电路板制造
,具体而言,涉及一种终端的调用请求处理方法、一种调用请求处理装置、一种终端和一种计算机可读存储介质。
技术介绍
鉴于微服务和软件高内聚、低耦合的实现要求以及移动应用的广泛普及,接口的调用从之前的内部单一调用变成了海量客户端的请求调用,尤其一些常用数据接口面对百万级甚至千万级的请求需要在服务快速高效地响应每个请求,在此除了在硬件上进行扩容,更多的是需要软件层依据一些高并发处置策略进行有效响应。相关技术中,对于海量接口请求调用处理方式大致分为入口并发异步锁机制、接口调用分布式/集群机制,对此两种机制,目标是在入口和执行端进行控制,抑制高并发造成的资源耗尽和端口堵塞。但上述两种方案具有很大的弊端:第一,在调用入口加异步锁机制会造成延迟,这对于实时性比较高的接口调用显然不合理;第二,在接口响应时进行分布式或集群对资源要求更高,相应的成本也更高,而且更多的分布式或集群带来的维护成本、问题追踪更加复杂。
技术实现思路
本专利技术旨在至少解决现有技术或相关技术中存在的技术问题之一。为此,本专利技术第一方面在于提出了一种终端的调用请求处理方法。本专利技术的第二方面在于提出了一种调用请求处理装置。本专利技术的第三方面在于提出了一种终端。本专利技术的第四方面在于提出了一种计算机可读存储介质。有鉴于此,根据本专利技术的第一方面,提出了一种终端的调用请求处理方法,包括:获取终端的调用请求;根据预设分类条件对调用请求进行分类合并,生成请求列表;根据请求列表配置对应的线程池,并确定线程执行队列;根据线程执行队列执行接口调用操作。本专利技术提供的调用请求处理方法,不同客户端对接口的调用会不同的参数和规则要求,由于同一类(条件)的请求调用本质上与单一的请求返回机制是一样的,为此,对接口的海量调用请求根据预设分类条件进行归类,其中,预设分类条件包括参数、类型、规则等,将统一的业务、规则、参数的请求进行合并,生成请求列表,然后根据请求列表将合并归类后的调用请求调用组以键值对的形式入列到等待队列中,整个队列是一定数量的线程池,使得线程池能够对应同一类的调用请求,这些待执行的调用请求会去不断检查线程池中是否有空闲执行线程,如果存在空闲执行线程,则从等待队列出列到线程执行队列,并由线程池对应的空闲执行线程快速执行接口调用操作。从而形成合并请求-入列等待对垒-进入执行队列-执行并回调的循环机制,能够将同一类的调用请求作为一种请求来响应,分批量进行接口调用,实现一处响应多处返回,进而在较少硬件资源条件下保证准确、高效、有序地进行响应调用请求,降低运行维护成本,且有利于问题追踪。另外,根据本专利技术提供的上述技术方案中终端的调用请求处理方法,还可以具有如下附加技术特征:在上述技术方案中,进一步地,确定线程执行队列,具体包括:获取终端的数据处理参数;获取终端的数据处理参数;根据阻抗匹配规则和数据处理参数,确定线程池的执行线程数量;根据预设优先级确定请求列表中调用请求的调用顺序;根据调用顺序和执行线程数量,确定线程执行队列。在该技术方案中,线程池是一系列线程聚集地,考虑到在请求调用接口的应用上,如果基于“threadperrequest”的模式,每个调用请求用一个线程去处理,当请求数达到某个临界值,由于线程的增加,上下文之间的切换开销也随之增加,使得接口吞吐量反而会下降,为了在并发请求数很高时也能保持稳定的吞吐量,利用线程池来处理调用请求,并且利用终端的数据处理参数和线程池阻抗匹配规则对线程池中每个线程进行饱和度计算,从而确定线程池的执行线程数量,即系统CPU(中央处理器)能够用于执行请求的线程数量,其中,CPU的性能越高,执行线程数量越多,然后根据预设优先级确定请求列表中调用请求的调用顺序,例如,先进先出、请求数据量大小等规则,按照调用顺序以键值对(key-value)的形式入列到线程池的等待队列中,等待队列对应一个固定执行线程数量的线程池,线程池中的执行线程按序列号有序转入执行调用请求的线程执行队列,同时,等待队列中待执行的调用请求不断检查线程池中是否有空闲执行线程,判断空闲的标准是采用线程池阻抗匹配,若存在空闲执行线程,则调用请求从等待队列出列到执行线程池对应的空闲执行线程,以执行线程池的接口调用,从而运用了线程池阻抗匹配规则接收线程,让每个线程池根据CPU的性能得出最优布局,利用线程池轮询机制,无论在调用请求的等待队列还是执行队列,实现入列-出列(执行)快速多线程执行,在提高了接口响应的并发度的同时保证稳定的吞吐量,进而提升响应调用请求的效率。具体地,线程池中的线程在执行任务时,密集计算所占的时间比重为A(0<A≤1),而系统一共有N个CPU,为了让这N个CPU跑满而又不过载,线程池大小百分比(执行线程数量)的经验公式T=N/A,例如N=8,A=1.0,即线程池的任务完全是密集计算,那么T=8,只要8个执行线程就能让8个CPU饱和,即使调用请求的数量超过8个,但由于CPU资源耗尽,多余调用请求也只能继续存于等待队列中,直至空闲执行线程出现。在上述任一技术方案中,进一步地,根据线程执行队列执行接口调用操作,具体包括:确定线程执行队列中调用请求的线程类型;根据线程类型调用线程池中的执行线程进行线程执行队列的接口调用操作。在该技术方案中,根据调用请求中业务类型、调用规则等信息,确定线程执行队列中调用请求所需的线程类型,根据线程类型调用线程池中的执行线程进行线程执行队列的接口调用操作,从而将不同的数据处理操作分别交由不同的线程来异步进行,实现不同的数据处理操作的相互重叠(并行),降低了系统延迟,有利于快速对接口调用后返回进行同类分发,进而降低资源消耗,提高响应服务速度。在上述任一技术方案中,进一步地,还包括:获取线程执行队列的线程回调函数;根据线程回调函数生成调用结果;返回调用结果,并更新执行线程的状态信息。在该技术方案中,接口调用执行后分可以直接完成操作,不做返回,也可以根据线程执行队列的线程回调函数生成调用结果,并将调用结果返回给请求端,同时更新执行线程的状态为空闲,以便于等待队列中的调用请求继续调用该执行线程进行接口调用,从而提高了线程的利用率,进而在较少硬件资源条件下保证准确、高效、有序地响应调用请求,降低维护成本。在上述任一技术方案中,进一步地,线程类型包括:IO线程和计算线程。在该技术方案中,IO操作主要是读写存储在物理介质中的数据,数据获取之后的需要进行计算也,采用IO和“计算”拆分的算法,把读写数据和数据计算进行分离,让一个线程只从事某一项处理操作,实现线程的重用,降低了系统延迟和资源消耗,提高响应服务速度。在上述任一技术方案中,进一步地,获取终端的调用请求之后,还包括:判断调用请求是否满足预设调用规则;判定调用请求不满足预设调用规则,删除调用请求。在该技术方案中,在接收到调用请求后,判断调用请求是否满足接口的预设调用规则,若调用请求不满足预设调用规则,说明接口本文档来自技高网...

【技术保护点】
1.一种终端的调用请求处理方法,其特征在于,包括:/n获取所述终端的调用请求;/n根据预设分类条件对所述调用请求进行分类合并,生成请求列表;/n根据所述请求列表配置对应的线程池,并确定线程执行队列;/n根据所述线程执行队列执行接口调用操作。/n

【技术特征摘要】
1.一种终端的调用请求处理方法,其特征在于,包括:
获取所述终端的调用请求;
根据预设分类条件对所述调用请求进行分类合并,生成请求列表;
根据所述请求列表配置对应的线程池,并确定线程执行队列;
根据所述线程执行队列执行接口调用操作。


2.根据权利要求1所述的终端的调用请求处理方法,其特征在于,所述确定线程执行队列,具体包括:
获取所述终端的数据处理参数;
根据阻抗匹配规则和所述数据处理参数,确定所述线程池的执行线程数量;
根据预设优先级确定所述请求列表中所述调用请求的调用顺序;
根据所述调用顺序和所述执行线程数量,确定所述线程执行队列。


3.根据权利要求1所述的终端的调用请求处理方法,其特征在于,所述根据所述线程执行队列执行接口调用操作,具体包括:
确定所述线程执行队列中所述调用请求的线程类型;
根据所述线程类型调用所述线程池中的执行线程进行所述线程执行队列的接口调用操作。


4.根据权利要求3所述的终端的调用请求处理方法,其特征在于,还包括:
获取所述线程执行队列的线程回调函数;
根据所述线程回调函数生成调用结果;
返回所述调用结果,并更新所述执行线程的状态信息。


5.根据权利要求3所述的终端的调用请求处理方法...

【专利技术属性】
技术研发人员:陈友雄谭仁棕
申请(专利权)人:深圳中兴网信科技有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1