[发明专利]基于Hook的业务请求处理方法及相关设备在审
申请号: | 202310447480.5 | 申请日: | 2023-04-20 |
公开(公告)号: | CN116467060A | 公开(公告)日: | 2023-07-21 |
发明(设计)人: | 梁德金;何俊泽 | 申请(专利权)人: | 深圳复临科技有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 深圳市世联合知识产权代理有限公司 44385 | 代理人: | 刘畅 |
地址: | 518000 广东省深圳市南山区粤海街*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 hook 业务 请求 处理 方法 相关 设备 | ||
本申请属于数据处理技术领域,涉及一种基于Hook的业务请求处理方法、装置、计算机设备及存储介质,方法包括:基于Web端的函数组件创建请求队列,通过Hook函数State Hook预定义请求队列的状态,获取Web端发起的业务请求加入请求队列,其中预定义的请求队列的状态中封装有请求处理函数;通过请求处理函数周期性检查请求队列,在请求队列非空时,调取其中一个业务请求并发送至服务器端;更新被调取的业务请求的状态为第一状态,并对请求队列中的请求数量进行减一操作;处理下一个业务请求,以进行异步处理;接收服务器端返回的资源数据来渲染Web端的函数组件。本申请可以控制请求的流量,避免过多的请求导致服务器负载过高,从而提高业务系统的稳定性和可靠性。
技术领域
本申请涉及数据处理技术领域,尤其涉及一种基于Hook的业务请求处理方法、装置、计算机设备及存储介质。
背景技术
在业务处理过程中,不同业务系统之间存在大量的交互过程,使的业务请求的并发量大,增加了业务系统负载,同时业务系统在处理业务请求时,需按照一定顺序执行多个异步任务,例如在长列表中进行数据加载时,在业务系统的React应用程序中进行大量的API调用,将产生过多的并发网络请求,容易导致应用程序性能下降,同时在长列表中进行数据加载时,这些网络请求为异步请求,需要异步获取数据,对此React应用程序中使用Promise来对异步请求进行处理,异步请求的数量过大可能会导致React应用程序变得缓慢或崩溃,容易出现数据错位、数据缺失或数据加载顺序错乱的情况。此外,在业务系统的多个组件之间进行数据交互时,也存在因数据更新需要控制更新顺序而出现数据不一致或数据错乱的情况。
发明内容
本申请实施例的目的在于提出一种基于Hook的业务请求处理方法、装置、计算机设备及存储介质,以解决现有技术中业务系统交互时业务请求并发量大容易导致程序性能下降,以及处理大量异步请求时容易出现数据错误的问题。
为了解决上述技术问题,本申请实施例提供一种基于Hook的业务请求处理方法,所述方法包括:
基于Web端的函数组件创建请求队列,通过Hook函数State Hook预定义所述请求队列的状态,获取所述Web端发起的业务请求,将所述业务请求加入所述请求队列,其中,预定义的所述请求队列的状态中封装有请求处理函数;
通过所述请求处理函数周期性检查所述请求队列,在所述请求队列非空时,调取其中一个所述业务请求并发送至服务器端;
更新被调取的所述业务请求的状态为第一状态,并对所述请求队列中的请求数量进行减一操作;
处理下一个业务请求,以进行业务请求的异步处理;
接收所述服务器端根据所述异步处理的业务请求所返回的资源数据,根据所述资源数据渲染所述Web端的函数组件。
进一步地,所述通过所述请求处理函数周期性检查所述请求队列包括:
提供Hook函数Effect Hook,当所述函数组件首次渲染时,通过所述Hook函数Effect Hook启动所述请求处理函数;
获取预设的定时器,根据所述定时器每隔预设时间调用所述请求处理函数检查所述请求队列。
进一步地,在所述调取其中一个所述业务请求并发送至服务器端的步骤之前,所述方法还包括:
调用所述请求处理函数检查当前状态为处理中的业务请求的数量,判断该数量是否大于预设的最大并发请求数量,若是则等待下一轮定时器调用。
进一步地,在所述调取其中一个所述业务请求并发送至服务器端的步骤之后,所述方法还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳复临科技有限公司,未经深圳复临科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310447480.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:皮肤张紧装置
- 下一篇:一种房建建筑施工用测量装置