[发明专利]一种业务异步处理方法、装置和系统有效
申请号: | 201410105782.5 | 申请日: | 2014-03-20 |
公开(公告)号: | CN104932932B | 公开(公告)日: | 2019-08-23 |
发明(设计)人: | 孙雨润;陈志博;谭国富 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F9/52 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 郝传鑫;熊永强 |
地址: | 518000 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 业务 异步 处理 方法 装置 系统 | ||
本发明实施例公开了一种业务异步处理方法,所述方法包括:IO服务获取应用程序提交的异步业务请求,所述异步业务请求包括业务IO请求和回调函数;所述IO服务通知操作系统根据所述业务IO请求进行异步的业务IO处理,所述操作系统将所述业务IO处理得到的业务数据放入业务事件队列中;所述IO服务从所述业务事件队列中取出所述业务数据,并执行所述回调函数对所述业务数据进行业务逻辑处理。本发明实施例还公开了一种业务异步处理装置和系统。采用本发明,可实现异步的进行业务IO处理和业务逻辑处理。
技术领域
本发明涉及计算机技术领域,尤其涉及一种业务异步处理方法、装置和系统。
背景技术
在互联网时代服务器是任何产品必不可少的重要组成部分,面对海量用户如何设计高性能高并发的网络框架是一个经典问题。现有的技术方案大体设计如下:一个线程专门处理网络IO(Input/Output,输入输出),其余线程作为线程池来处理任务。现有技术方案中,并发完全依赖线程数量,严重加大系统开销,并且随着连接数的增多,现有方案系统开销线性增长。处理每个连接都要使用一个线程,而到一定的数量之后,效率随着线程数的增加而减少。
发明内容
本发明实施例所要解决的技术问题在于,提供一种业务异步处理方法、装置和系统,可实现异步的进行业务IO处理和业务逻辑处理,从而解耦线程与业务并发量,能够实现使用最少的线程数充分利用系统处理资源。
为了解决上述技术问题,本发明实施例提供了一种业务异步处理方法,所述方法包括:
IO服务获取应用程序提交的异步业务请求,所述异步业务请求包括业务IO请求和回调函数;
所述IO服务通知操作系统根据所述业务IO请求进行异步的业务IO处理,所述操作系统将所述业务IO处理得到的业务数据放入业务事件队列中;
所述IO服务从所述业务事件队列中取出所述业务数据,并执行所述回调函数对所述业务数据进行业务逻辑处理。
相应地,本发明实施例还提供了一种业务异步处理装置,所述业务异步处理装置包括:
业务请求获取模块,用于获取应用程序提交的异步业务请求,所述异步业务请求包括业务IO请求和回调函数;
IO处理触发模块,用于通知操作系统根据所述业务IO请求进行异步的业务IO处理,所述操作系统将所述业务IO处理得到的业务数据放入业务事件队列中;
事件分离模块,用于从所述业务事件队列中取出所述业务数据,并执行所述回调函数对所述业务数据进行业务逻辑处理。
相应地,本发明实施例还提供了一种业务服务器,包括应用程序、操作系统、业务事件队列以及如前文实施例所述的业务异步处理装置,其中:
所述应用程序用于向所述业务异步处理装置提交异步业务请求,所述异步业务请求包括业务IO请求和回调函数;
所述业务异步处理装置用于通知操作系统根据所述业务IO请求进行异步的业务IO处理;
所述操作系统用于根据所述业务IO请求进行异步的业务IO处理,并将所述业务IO处理得到的业务数据放入业务事件队列中;
所述业务事件队列用于缓存所述操作系统进行业务IO处理得到的业务数据;
所述业务异步处理装置还用于从所述业务事件队列中取出所述业务数据,并执行所述回调函数对所述业务数据进行业务逻辑处理。
本实施例通过异步的进行业务IO处理和业务逻辑处理,从而解耦线程与业务并发量,能够实现使用最少的线程数充分利用系统处理资源。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410105782.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:微小卫星FPGA关键数据保护方法
- 下一篇:处理信息的方法及装置