[发明专利]一种业务处理方法和装置在审
申请号: | 202010690013.1 | 申请日: | 2020-07-17 |
公开(公告)号: | CN111913792A | 公开(公告)日: | 2020-11-10 |
发明(设计)人: | 李小峰;李涛 | 申请(专利权)人: | 郑州阿帕斯数云信息科技有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50;G06Q30/02 |
代理公司: | 北京国昊天诚知识产权代理有限公司 11315 | 代理人: | 许振新 |
地址: | 450046 河南省郑州市郑东新区*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 业务 处理 方法 装置 | ||
本申请公开了一种业务处理方法和装置,该方法包括:接收来自客户端的并发的多个业务请求,多个业务请求用于请求从外部系统获取多个业务数据;将多个业务请求分配给多个PHP协程,由多个PHP协程并发执行多个业务请求;在执行任一业务请求时,异步执行从外部系统获取业务请求对应的业务数据,并在获取到业务数据后,基于业务数据继续执行业务请求;在获取到多个业务数据后,对多个业务数据执行指定业务处理。本申请实施例通过引入由用户调度的多个PHP协程,可以将原有的同步阻塞调整为异步通信,再加上回调的机制,能够高效地对多个并发的业务请求进行处理,不仅可以提升系统性能和最大承载能力,还可以提高对CPU的利用率。
技术领域
本申请涉及计算机技术领域,尤其涉及一种业务处理方法和装置。
背景技术
PHP(超级文本预处理语言,Hypertext Preprocessor)是一种web主流开发语言,由于其语法较为简单易于编程,能够支持业务的发展和迭代升级,因此被广泛应用于各种系统或服务中。
PHP属于解释型语言,其进程模型为单进程,在使用PHP作为开发语言的系统或服务中,通常可以配置启用多个进程来轮流调度执行任务。然而,在实际执行任务的过程中,在高并发的场景下,由于PHP的进程模型为单进程,因此,会出现同步阻塞调用的问题,导致无法及时对任务进行处理,严重影响系统的吞吐量和性能。
发明内容
本申请实施例提供一种业务处理方法和装置,用于解决在使用PHP作为开发语言的系统或服务中,在接收到高并发的业务请求的场景下,系统的吞吐量和性能较低的问题。
为解决上述技术问题,本申请实施例是这样实现的:
第一方面,提出一种业务处理方法,包括:
接收来自客户端的并发的多个业务请求,所述多个业务请求用于请求从外部系统获取多个业务数据;
将所述多个业务请求分配给多个超级文本预处理语言PHP协程,由所述多个PHP协程并发执行所述多个业务请求;
在执行任一业务请求时,异步执行从所述外部系统获取所述业务请求对应的业务数据,并在获取到所述业务数据后,基于所述业务数据继续执行所述业务请求;
在获取到所述多个业务数据后,对所述多个业务数据执行指定业务处理。
第二方面,提出一种业务处理装置,包括:
接收单元,接收来自客户端的并发的多个业务请求,所述多个业务请求用于请求从外部系统获取多个业务数据;
任务执行单元,将所述多个业务请求分配给多个超级文本预处理语言PHP协程,由所述多个PHP协程并发执行所述多个业务请求;
数据获取单元,在执行任一业务请求时,异步执行从所述外部系统获取所述业务请求对应的业务数据,并在获取到所述业务数据后,基于所述业务数据继续执行所述业务请求;
业务处理单元,在获取到所述多个业务数据后,对所述多个业务数据执行指定业务处理。
第三方面,提出一种电子设备,该电子设备包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,该可执行指令在被执行时使该处理器执行以下操作:
接收来自客户端的并发的多个业务请求,所述多个业务请求用于请求从外部系统获取多个业务数据;
将所述多个业务请求分配给多个超级文本预处理语言PHP协程,由所述多个PHP协程并发执行所述多个业务请求;
在执行任一业务请求时,异步执行从所述外部系统获取所述业务请求对应的业务数据,并在获取到所述业务数据后,基于所述业务数据继续执行所述业务请求;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州阿帕斯数云信息科技有限公司,未经郑州阿帕斯数云信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010690013.1/2.html,转载请声明来源钻瓜专利网。