[发明专利]一种业务异步处理方法、装置和系统有效
申请号: | 201410105782.5 | 申请日: | 2014-03-20 |
公开(公告)号: | CN104932932B | 公开(公告)日: | 2019-08-23 |
发明(设计)人: | 孙雨润;陈志博;谭国富 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F9/52 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 郝传鑫;熊永强 |
地址: | 518000 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 业务 异步 处理 方法 装置 系统 | ||
1.一种业务异步处理方法,其特征在于,所述方法包括:
输入输出IO服务获取应用程序提交的异步业务请求,所述异步业务请求包括业务IO请求和回调函数;
所述IO服务通知操作系统根据所述业务IO请求进行异步的业务IO处理,所述操作系统在执行完毕所述业务IO处理后或定时的将所述业务IO处理得到的业务数据放入业务事件队列中;
所述IO服务中的循环成员函数检测所述业务事件队列中是否存在所述业务IO请求对应的业务数据;
当所述IO服务中的循环成员函数检测到所述业务事件队列中存在所述业务IO请求对应业务数据后,所述IO服务中的循环成员函数从所述业务事件队列中取出所述业务数据,并执行所述异步业务请求中的所述回调函数对所述业务数据进行业务逻辑处理。
2.如权利要求1所述的业务异步处理方法,其特征在于,所述IO服务获取应用程序提交的异步业务请求包括:
所述应用程序调用预设的IO对象执行异步业务操作;
所述IO对象根据所述异步业务操作向所述IO服务提交所述异步业务请求。
3.如权利要求1所述的业务异步处理方法,其特征在于,所述IO服务中包括多个线程分别用于执行所述循环成员函数。
4.如权利要求3所述的业务异步处理方法,其特征在于,所述方法还包括:
所述IO服务根据执行所述循环成员函数的线程的负载状况确定是否接收应用程序发送的其他异步业务请求。
5.一种业务异步处理装置,其特征在于,所述业务异步处理装置包括:
业务请求获取模块,用于获取应用程序提交的异步业务请求,所述异步业务请求包括业务IO请求和回调函数;
IO处理触发模块,用于通知操作系统根据所述业务IO请求进行异步的业务IO处理,所述操作系统在执行完毕所述业务IO处理后或定时的将所述业务IO处理得到的业务数据放入业务事件队列中;
事件分离模块,用于从所述业务事件队列中取出所述业务数据,并执行所述回调函数对所述业务数据进行业务逻辑处理;
所述事件分离模块包括:
循环成员函数,用于检测所述业务事件队列中是否存在所述业务IO请求对应的业务数据,并且当所述循环成员函数检测到所述业务事件队列中存在所述业务IO请求对应业务数据后,所述循环成员函数从所述业务事件队列中取出所述业务数据,并执行所述异步业务请求中的回调函数对所述业务数据进行业务逻辑处理。
6.如权利要求5所述的业务异步处理装置,其特征在于,所述业务请求获取模块用于:
获取应用程序调用的IO对象根据所述应用程序执行的异步业务操作提交的异步业务请求。
7.如权利要求5所述的业务异步处理装置,其特征在于,所述事件分离模块包括多个线程分别用于执行所述循环成员函数。
8.如权利要求7所述的业务异步处理装置,其特征在于,所述业务异步处理装置还包括:
负载调整模块,用于根据事件分离模块中执行所述循环成员函数的线程的负载状况确定是否接收应用程序发送的其他异步业务请求。
9.一种业务服务器,其特征在于,包括应用程序、操作系统、业务事件队列以及如权利要求5~8中任一项所述的业务异步处理装置,其中:
所述应用程序用于向所述业务异步处理装置提交异步业务请求,所述异步业务请求包括业务IO请求和回调函数;
所述业务异步处理装置用于通知操作系统根据所述业务IO请求进行异步的业务IO处理;
所述操作系统用于根据所述业务IO请求进行异步的业务IO处理,并将所述业务IO处理得到的业务数据放入业务事件队列中;
所述业务事件队列用于缓存所述操作系统进行业务IO处理得到的业务数据;
所述业务异步处理装置还用于从所述业务事件队列中取出所述业务数据,并执行所述回调函数对所述业务数据进行业务逻辑处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410105782.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:微小卫星FPGA关键数据保护方法
- 下一篇:处理信息的方法及装置