【技术实现步骤摘要】
一种业务处理方法和装置
本申请涉及计算机
,尤其涉及一种业务处理方法和装置。
技术介绍
PHP(超级文本预处理语言,HypertextPreprocessor)是一种web主流开发语言,由于其语法较为简单易于编程,能够支持业务的发展和迭代升级,因此被广泛应用于各种系统或服务中。PHP属于解释型语言,其进程模型为单进程,在使用PHP作为开发语言的系统或服务中,通常可以配置启用多个进程来轮流调度执行任务。然而,在实际执行任务的过程中,在高并发的场景下,由于PHP的进程模型为单进程,因此,会出现同步阻塞调用的问题,导致无法及时对任务进行处理,严重影响系统的吞吐量和性能。
技术实现思路
本申请实施例提供一种业务处理方法和装置,用于解决在使用PHP作为开发语言的系统或服务中,在接收到高并发的业务请求的场景下,系统的吞吐量和性能较低的问题。为解决上述技术问题,本申请实施例是这样实现的:第一方面,提出一种业务处理方法,包括:接收来自客户端的并发的多个业务请求,所述多个业务请求用于请求从外部系统获取多个业务数据;将所述多个业务请求分配给多个超级文本预处理语言PHP协程,由所述多个PHP协程并发执行所述多个业务请求;在执行任一业务请求时,异步执行从所述外部系统获取所述业务请求对应的业务数据,并在获取到所述业务数据后,基于所述业务数据继续执行所述业务请求;在获取到所述多个业务数据后,对所述多个业务数据执行指定业务处理。第二方面,提出一种业务处理装置 ...
【技术保护点】
1.一种业务处理方法,其特征在于,包括:/n接收来自客户端的并发的多个业务请求,所述多个业务请求用于请求从外部系统获取多个业务数据;/n将所述多个业务请求分配给多个超级文本预处理语言PHP协程,由所述多个PHP协程并发执行所述多个业务请求;/n在执行任一业务请求时,异步执行从所述外部系统获取所述业务请求对应的业务数据,并在获取到所述业务数据后,基于所述业务数据继续执行所述业务请求;/n在获取到所述多个业务数据后,对所述多个业务数据执行指定业务处理。/n
【技术特征摘要】
1.一种业务处理方法,其特征在于,包括:
接收来自客户端的并发的多个业务请求,所述多个业务请求用于请求从外部系统获取多个业务数据;
将所述多个业务请求分配给多个超级文本预处理语言PHP协程,由所述多个PHP协程并发执行所述多个业务请求;
在执行任一业务请求时,异步执行从所述外部系统获取所述业务请求对应的业务数据,并在获取到所述业务数据后,基于所述业务数据继续执行所述业务请求;
在获取到所述多个业务数据后,对所述多个业务数据执行指定业务处理。
2.如权利要求1所述的方法,其特征在于,
一个业务请求对应多个子任务,所述多个子任务通过所述多个PHP协程之间的切换并发执行。
3.如权利要求1所述的方法,其特征在于,在执行任一业务请求时,异步执行从所述外部系统获取所述业务请求对应的业务数据,并在获取到所述业务数据后,基于所述业务数据继续执行所述业务请求,包括:
由所述多个PHP协程执行所述多个业务请求中的第一业务请求;
在执行所述第一业务请求的过程中,当调用应用程序编程接口API向所述外部系统发起网络请求时,中断执行所述第一业务请求,并执行所述多个业务请求中的第二业务请求,所述网络请求用于请求从所述外部系统获取与所述第一业务请求对应的第一业务数据;
异步执行从所述外部系统获取所述第一业务数据;
在获取到所述第一业务数据时,中断执行所述第二业务请求,并基于所述第一业务数据继续执行所述第一业务请求。
4.如权利要求3所述的方法,其特征在于,在中断执行所述第一业务请求时,所述方法还包括:
将所述第一业务请求的执行状态记录在协程上下文中;
其中,基于所述第一业务数据继续执行所述第一业务请求,包括:
基于所述第一业务数据以及所述协程上下文中记录的所述第一业务请求的执行状态,继续执行所述第一业务请求。
5.如权利要求3所述的方法,其特征在于,当调用API接口向所述外部系统发起网络请求时,所述方法还包括:
从预先设置的连接池中获取目标网络连接通道,所述目标网络连接通道用于建立与所述外部系统之间的网络连接,所述连接池中存储有多个不同的网络连接通道;
基于所述目标网络连接通道,建立与所述外部系统之间的网络连接;
基于所述网络连接向所述外部系统发送所述网络请求。
6.如权利要求1所述的方法,其特征在于,所述业务请求中包括用户信息,所述用户信息包括用户的个人信息和行为数据;
其中,在接收到来自客户端的并发的多个业务请求...
【专利技术属性】
技术研发人员:李小峰,李涛,
申请(专利权)人:郑州阿帕斯数云信息科技有限公司,
类型:发明
国别省市:河南;41
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。