CN104932932B - 一种业务异步处理方法、装置和系统 - Google Patents

一种业务异步处理方法、装置和系统 Download PDF

Info

Publication number
CN104932932B
CN104932932B CN201410105782.5A CN201410105782A CN104932932B CN 104932932 B CN104932932 B CN 104932932B CN 201410105782 A CN201410105782 A CN 201410105782A CN 104932932 B CN104932932 B CN 104932932B
Authority
CN
China
Prior art keywords
business
asynchronous
service
request
event queue
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410105782.5A
Other languages
English (en)
Other versions
CN104932932A (zh
Inventor
孙雨润
陈志博
谭国富
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201410105782.5A priority Critical patent/CN104932932B/zh
Publication of CN104932932A publication Critical patent/CN104932932A/zh
Application granted granted Critical
Publication of CN104932932B publication Critical patent/CN104932932B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Telephonic Communication Services (AREA)

Abstract

本发明实施例公开了一种业务异步处理方法,所述方法包括:IO服务获取应用程序提交的异步业务请求,所述异步业务请求包括业务IO请求和回调函数;所述IO服务通知操作系统根据所述业务IO请求进行异步的业务IO处理,所述操作系统将所述业务IO处理得到的业务数据放入业务事件队列中;所述IO服务从所述业务事件队列中取出所述业务数据,并执行所述回调函数对所述业务数据进行业务逻辑处理。本发明实施例还公开了一种业务异步处理装置和系统。采用本发明,可实现异步的进行业务IO处理和业务逻辑处理。

Description

一种业务异步处理方法、装置和系统
技术领域
本发明涉及计算机技术领域,尤其涉及一种业务异步处理方法、装置和系统。
背景技术
在互联网时代服务器是任何产品必不可少的重要组成部分,面对海量用户如何设计高性能高并发的网络框架是一个经典问题。现有的技术方案大体设计如下:一个线程专门处理网络IO(Input/Output,输入输出),其余线程作为线程池来处理任务。现有技术方案中,并发完全依赖线程数量,严重加大系统开销,并且随着连接数的增多,现有方案系统开销线性增长。处理每个连接都要使用一个线程,而到一定的数量之后,效率随着线程数的增加而减少。
发明内容
本发明实施例所要解决的技术问题在于,提供一种业务异步处理方法、装置和系统,可实现异步的进行业务IO处理和业务逻辑处理,从而解耦线程与业务并发量,能够实现使用最少的线程数充分利用系统处理资源。
为了解决上述技术问题,本发明实施例提供了一种业务异步处理方法,所述方法包括:
IO服务获取应用程序提交的异步业务请求,所述异步业务请求包括业务IO请求和回调函数;
所述IO服务通知操作系统根据所述业务IO请求进行异步的业务IO处理,所述操作系统将所述业务IO处理得到的业务数据放入业务事件队列中;
所述IO服务从所述业务事件队列中取出所述业务数据,并执行所述回调函数对所述业务数据进行业务逻辑处理。
相应地,本发明实施例还提供了一种业务异步处理装置,所述业务异步处理装置包括:
业务请求获取模块,用于获取应用程序提交的异步业务请求,所述异步业务请求包括业务IO请求和回调函数;
IO处理触发模块,用于通知操作系统根据所述业务IO请求进行异步的业务IO处理,所述操作系统将所述业务IO处理得到的业务数据放入业务事件队列中;
事件分离模块,用于从所述业务事件队列中取出所述业务数据,并执行所述回调函数对所述业务数据进行业务逻辑处理。
相应地,本发明实施例还提供了一种业务服务器,包括应用程序、操作系统、业务事件队列以及如前文实施例所述的业务异步处理装置,其中:
所述应用程序用于向所述业务异步处理装置提交异步业务请求,所述异步业务请求包括业务IO请求和回调函数;
所述业务异步处理装置用于通知操作系统根据所述业务IO请求进行异步的业务IO处理;
所述操作系统用于根据所述业务IO请求进行异步的业务IO处理,并将所述业务IO处理得到的业务数据放入业务事件队列中;
所述业务事件队列用于缓存所述操作系统进行业务IO处理得到的业务数据;
所述业务异步处理装置还用于从所述业务事件队列中取出所述业务数据,并执行所述回调函数对所述业务数据进行业务逻辑处理。
本实施例通过异步的进行业务IO处理和业务逻辑处理,从而解耦线程与业务并发量,能够实现使用最少的线程数充分利用系统处理资源。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例中的一种业务异步处理方法的流程示意图;
图2是本发明另一实施例中的一种业务异步处理方法的流程示意图;
图3是本发明实施例中的一种业务异步处理装置的结构示意图;
图4是本发明实施例中的一种业务服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例中的业务异步处理方法,可以实现在网络的业务服务器中,尤其适用于互联网后台需要高性能高并发处理业务的业务服务器,例如网络相册后台服务器、SNS(Social Networking Services,社会性网络服务)服务器等。
图1是本发明实施例中的一种业务异步处理方法的流程示意图,如图所示本实施例中的业务异步处理方法可以包括以下流程步骤:
S101,IO服务获取应用程序提交的异步业务请求,所述异步业务请求包括业务IO请求和回调函数。
具体实现中,所述IO服务即为本发明为实现业务异步处理逻辑而构造的类,例如可以为Boost::asio::io_service,其内聚有多个成员函数,例如run循环成员函数、post成员函数、stop成员函数等。所述应用程序可以为接收用户客户端或其他服务器发来的业务请求,并对该业务请求进行业务处理的程序,例如通讯后台服务器中负责接收、发送以及转发通讯消息逻辑的通讯进程,或如网络相册服务器中负责接收用户上传数据以及根据用户浏览操作向用户发送浏览数据的业务服务程序。在可选实施例中,所述应用程序可以调用预设的IO对象进行异步业务操作,所述IO对象可以例如socket对象,以使所述IO对象可以根据所述异步业务操作向所述IO服务提交所述异步业务请求,所述异步业务请求包括业务IO请求和回调函数,所述业务IO请求可以为应用程序执行所述异步业务操作所需进行的IO处理,例如可以包括业务使用的IO接口、IO协议等,所述回调函数可以为预先设定的以实现所述业务操作逻辑的函数。
S102,所述IO服务通知操作系统根据所述业务IO请求进行异步的业务IO处理,所述操作系统将所述业务IO处理得到的业务数据放入业务事件队列中。
具体实现中,所述IO服务器可以通知操作系统根据所述业务IO请求执行实际的业务IO处理,所述操作系统在执行完毕所述业务IO处理后或定时的将所述业务IO处理得到的业务数据放入业务事件队列中,所述业务数据中可以携带业务标识或编号等信息以表明是与所述应用程序提交的异步业务请求对应的业务数据。这里若是同步IO处理则IO服务需要为每个业务分配一个对应的线程,并该占用的线程需要一直阻塞在等待操作系统为该业务进行的IO处理结果,本发明由于采用异步进行IO处理和业务逻辑处理,因此通知操作系统进行IO处理后所述IO服务可以继续接收应用程序提交的其他异步业务请求。
S103,所述IO服务从所述业务事件队列中取出所述业务数据,并执行所述回调函数对所述业务数据进行业务逻辑处理。
具体实现中,所述IO服务在接收到应用程序提交的异步业务请求后,可以一直检测所述业务事件队列中是否存在业务数据,直至检测到所述业务事件队列中有业务数据后,所述IO服务从所述业务事件队列中取出所述业务数据,并执行所述业务数据对应的异步业务请求中的回调函数,以对所述业务数据进行业务逻辑处理。可选的,本发明实施例中可以由IO服务如io_service中的run成员函数负责检测所述业务事件队列中是否存在业务数据,并且当所述run成员函数检测到所述业务事件队列中存在所述业务IO请求对应业务数据后,仍由所述run成员函数从所述业务事件队列中取出所述业务数据,并执行所述异步业务请求中的回调函数对所述业务数据进行业务逻辑处理。由于本发明中采用了业务事件队列,因此io_service中的run成员函数只需检测该业务事件队列中是否有IO处理完成的业务数据,若有业务数据则取出并执行对应的回调函数,若没有则返回轮询结果,不再需要对每一个业务IO的处理结果进行轮询检测是否完成,因此极大的减少了运行io_service中的run成员函数的线程的工作量。
进而在可选实施例中,所述IO服务可以包括多个线程分别用于执行所述run成员函数,如通过线程池来运行所述run成员函数,从而在某个线程在执行业务的回调函数时,别的线程可以检测业务事件队列中是否存在业务数据或执行别的业务的回调函数,进一步的提高业务处理效率。可选的检测业务事件队列中是否存在业务数据,以及当检测到业务事件队列中存在业务数据时从所述业务事件队列中取出所述业务数据可以由同一线程上运行的run成员函数完成,即若所有线程都在执行回调函数,则没有线程去查看所述业务事件队列中是否存在业务数据,所述业务事件队列中的业务数据阻塞,这时IO服务可以调整接收所述异步业务请求的策略,即可以根据线程的负载状况确定是否接收应用程序发送的其他异步业务请求,当IO服务中的所有用于运行run成员函数的线程都在执行回调,则可以停止接收应用程序发送的异步业务请求,从而实现动态的限制业务请求的接入。
从而,本实施例通过异步的进行业务IO处理和业务逻辑处理,从而解耦线程与业务并发量,能够实现使用最少的线程数充分利用系统处理资源,通过实验证明采用本方案的业务服务器在面对每秒万以上的用户连接时,效率是现有技术的6倍。
图2是本发明另一实施例中的一种典型的业务异步处理方法的流程示意图,本实施例中以网络相册服务器实现的一个具体业务异步处理方法为例进行详细说明,所述网络相册服务器可以包括应用程序、操作系统、业务事件队列以及IO服务,如图所示可以包括以下步骤:
S201,应用程序接收用户提交的业务请求,调用IO对象执行对应的异步业务操作。
例如用户通过客户端向网络相册服务器提交照片上传请求,提交上传用户的图片数据。对于网络相册服务器而言,用户提交上传用户的图片数据即相当于一个IO对象(如socket连接),网络相册服务器本地的应用程序在接收到客户端提交的照片上传请求后,调用该IO对象执行对应的异步业务操作;
S202,所述IO对象根据所述异步业务操作向IO服务提交所述异步业务请求,所述异步业务请求包括业务IO请求和回调函数。
S203,所述IO服务通知操作系统根据所述业务IO请求进行异步的业务IO处理。即请求操作系统根据所述业务IO请求接收所述用户提交的图片数据。
S204,所述操作系统将所述业务IO处理得到的业务数据放入业务事件队列中。即所述操作系统接受完所述用户上传的图片数据后,放入业务事件队列中。
S205,所述IO服务检测所述业务事件队列中是否存在所述业务IO请求对应的业务数据。
S206,所述IO服务从所述业务事件队列中取出所述业务数据;
S207,所述IO服务执行所述异步业务请求中的回调函数对所述业务数据进行业务逻辑处理。所述回调函数可以例如:对用户上传的图片数据进行标记处理,即根据用户已标记的照片对用户上传的图片中的人脸数据进行识别从而标记图片中的人脸。
本发明实施例中的网络相册服务器在响应每个用户的请求时候,都是非阻塞的,服务器在处理数据接收和发送的时候是可以同时响应其他的请求,当数据准备完成,再去执行业务逻辑。极大的弥补了服务器本地CPU与IO处理速度之间的差距造成的业务处理效率瓶颈,也无需创建过多的线程去分别处理每个请求,极大的提高系统的吞吐效率。并且由于本发明中采用了业务事件队列,因此IO服务只需检测该业务事件队列中是否有IO处理完成的业务数据,若有业务数据则取出并执行对应的回调函数,若没有则返回轮询结果,不再需要对每一个业务IO的处理结果进行轮询检测是否完成,因此极大的减少了运行IO服务的线程的工作量。
图3是本发明实施例中的一种业务异步处理装置的结构示意图,本发明实施例中的业务异步处理装置可以实现在网络的业务服务器中,尤其适用于互联网后台需要高性能高并发处理业务的业务服务器,例如网络相册后台服务器、SNS(Social NetworkingServices,社会性网络服务)服务器等。如图所示本发明实施例中的业务异步处理装置300至少可以包括:
业务请求获取模块310,用于获取应用程序提交的异步业务请求,所述异步业务请求包括业务IO请求和回调函数。
具体实现中本发明实施例中业务异步处理装置300可以由为实现业务异步处理逻辑而构造的IO服务类实现,该IO服务类例如可以为Boost::asio::io_service,其内聚有多个成员函数,例如run循环成员函数、post成员函数、stop成员函数等。所述应用程序可以为接收用户客户端或其他服务器发来的业务请求,并对该业务请求进行业务处理的程序,例如通讯后台服务器中负责接收、发送以及转发通讯消息逻辑的通讯进程,或如网络相册服务器中负责接收用户上传数据以及根据用户浏览操作向用户发送浏览数据的业务服务程序。具体的,业务请求获取模块310可以获取应用程序调用的IO对象根据所述应用程序执行的异步业务操作提交的异步业务请求,即所述应用程序调用预设的IO对象进行异步业务操作,所述IO对象可以例如socket对象,以使所述IO对象根据所述异步业务操作向业务请求获取模块310提交所述异步业务请求,所述业务IO请求可以为应用程序执行所述异步业务操作所需进行的IO处理,例如可以包括业务使用的IO接口、IO协议等,所述回调函数可以为预先设定的以实现所述业务操作逻辑的函数。
IO处理触发模块320,用于通知操作系统根据所述业务IO请求进行异步的业务IO处理,所述操作系统将所述业务IO处理得到的业务数据放入业务事件队列中。
具体实现中,IO处理触发模块320可以通知操作系统根据所述业务IO请求执行实际的业务IO处理,所述操作系统在执行完毕所述业务IO处理后或定时的将所述业务IO处理得到的业务数据放入业务事件队列中,所述业务数据中可以携带业务标识或编号等信息以表明是与所述应用程序提交的异步业务请求对应的业务数据。这里若是同步IO处理则IO服务需要为每个业务分配一个对应的线程,并该占用的线程需要一直阻塞在等待操作系统为该业务进行的IO处理结果,本发明由于采用异步进行IO处理和业务逻辑处理,因此通知操作系统进行IO处理后业务异步处理装置300可以继续接收应用程序提交的其他异步业务请求。
事件分离模块330,用于从所述业务事件队列中取出所述业务数据,并执行所述回调函数对所述业务数据进行业务逻辑处理。
具体实现中,事件分离模块330可以在业务请求获取模块310接收到应用程序提交的异步业务请求后,可以一直检测所述业务事件队列中是否存在业务数据,直至检测到所述业务事件队列中有业务数据后,事件分离模块330从所述业务事件队列中取出所述业务数据,并执行所述业务数据对应的异步业务请求中的回调函数,以对所述业务数据进行业务逻辑处理。可选的,本发明实施例中的事件分离模块330可以由io_service中的run成员函数负责检测所述业务事件队列中是否存在业务数据,并且当所述run成员函数检测到所述业务事件队列中存在所述业务IO请求对应业务数据后,仍由所述run成员函数从所述业务事件队列中取出所述业务数据,并执行所述异步业务请求中的回调函数对所述业务数据进行业务逻辑处理。由于本发明中采用了业务事件队列,因此io_service中的run成员函数只需检测该业务事件队列中是否有IO处理完成的业务数据,若有业务数据则取出并执行对应的回调函数,若没有则返回轮询结果,不再需要对每一个业务IO的处理结果进行轮询检测是否完成,因此极大的减少了运行io_service中的run成员函数的线程的工作量。
进而在可选实施例中,事件分离模块330可以包括多个线程分别用于执行所述run成员函数,如通过线程池来运行所述run成员函数,从而在某个线程在执行业务的回调函数时,别的线程可以检测业务事件队列中是否存在业务数据或执行别的业务的回调函数,进一步的提高业务处理效率。可选的检测业务事件队列中是否存在业务数据,以及当检测到业务事件队列中存在业务数据时从所述业务事件队列中取出所述业务数据可以由同一线程上运行的run成员函数完成,即若所有线程都在执行回调函数,则没有线程去查看所述业务事件队列中是否存在业务数据,所述业务事件队列中的业务数据阻塞。进而业务异步处理装置300还可以包括:
负载调整模块340,用于根据事件分离模块中执行所述run成员函数的线程的负载状况确定是否接收应用程序发送的其他异步业务请求。即负载调整模块340可以调整接收所述异步业务请求的策略,可以根据线程的负载状况确定是否接收应用程序发送的其他异步业务请求,当IO服务中的所有用于运行run成员函数的线程都在执行回调,则可以停止接收应用程序发送的异步业务请求。
从而,本实施例通过异步的进行业务IO处理和业务逻辑处理,从而解耦线程与业务并发量,能够实现使用最少的线程数充分利用系统处理资源,通过实验证明采用本方案的业务服务器在面对每秒万以上的用户连接时,效率是现有技术的6倍。
图4是本发明实施例中的一种业务服务器的结构示意图,本发明实施例中的业务服务器可以为互联网后台需要高性能高并发处理业务的业务服务器,例如网络相册后台服务器、SNS(Social Networking Services,社会性网络服务)服务器等。如图所示本发明中的业务服务器400可以包括应用程序410、操作系统430、业务事件队列440以及如前文实施例结合图3介绍的业务异步处理装置420,其中:
所述应用程序410用于向所述业务异步处理装置420提交异步业务请求,所述异步业务请求包括业务IO请求和回调函数。在可选实施例中,所述应用程序410可以调用预设的IO对象执行异步业务操作,以使所述IO对象根据所述异步业务操作向所述IO服务提交所述异步业务请求。
所述业务异步处理装置420用于通知操作系统430根据所述业务IO请求进行异步的业务IO处理。
所述操作系统430用于根据所述业务IO请求进行异步的业务IO处理,并将所述业务IO处理得到的业务数据放入业务事件队列440中;
所述业务事件队列440用于缓存所述操作系统430进行业务IO处理得到的业务数据;
所述业务异步处理装置420还用于从所述业务事件队列440中取出所述业务数据,并执行所述回调函数对所述业务数据进行业务逻辑处理。
可选的,本发明实施例中的业务异步处理装置420可以由io_service中的run成员函数负责检测所述业务事件队列中是否存在业务数据,并且当所述run成员函数检测到所述业务事件队列中存在所述业务IO请求对应业务数据后,仍由所述run成员函数从所述业务事件队列中取出所述业务数据,并执行所述异步业务请求中的回调函数对所述业务数据进行业务逻辑处理。
进而在可选实施例中,所述业务异步处理装置420可以包括多个线程分别用于执行所述run成员函数,如通过线程池来运行所述run成员函数,从而在某个线程在执行业务的回调函数时,别的线程可以检测业务事件队列440中是否存在业务数据或执行别的业务的回调函数,进一步的提高业务处理效率。可选的检测业务事件队列440中是否存在业务数据,以及当检测到业务事件队列440中存在业务数据时从所述业务事件队列440中取出所述业务数据可以由同一线程上运行的run成员函数完成,即若所有线程都在执行回调函数,则没有线程去查看所述业务事件队列440中是否存在业务数据,所述业务事件队列440中的业务数据阻塞,这时业务异步处理装置420可以调整接收所述异步业务请求的策略,即可以根据线程的负载状况确定是否接收应用程序410发送的其他异步业务请求,当业务异步处理装置420中的所有用于运行run成员函数的线程都在执行回调,则可以停止接收应用程序发送的异步业务请求,从而实现动态的限制业务请求的接入。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

Claims (9)

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处理得到的业务数据;
所述业务异步处理装置还用于从所述业务事件队列中取出所述业务数据,并执行所述回调函数对所述业务数据进行业务逻辑处理。
CN201410105782.5A 2014-03-20 2014-03-20 一种业务异步处理方法、装置和系统 Active CN104932932B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410105782.5A CN104932932B (zh) 2014-03-20 2014-03-20 一种业务异步处理方法、装置和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410105782.5A CN104932932B (zh) 2014-03-20 2014-03-20 一种业务异步处理方法、装置和系统

Publications (2)

Publication Number Publication Date
CN104932932A CN104932932A (zh) 2015-09-23
CN104932932B true CN104932932B (zh) 2019-08-23

Family

ID=54120107

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410105782.5A Active CN104932932B (zh) 2014-03-20 2014-03-20 一种业务异步处理方法、装置和系统

Country Status (1)

Country Link
CN (1) CN104932932B (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105468710A (zh) * 2015-11-19 2016-04-06 中国建设银行股份有限公司 应用于高并发场景的图片处理方法及系统
CN106886464A (zh) * 2015-12-16 2017-06-23 天脉聚源(北京)科技有限公司 一种提高服务器处理并发业务能力的方法和系统
CN105827604A (zh) * 2016-03-15 2016-08-03 深圳市游科互动科技有限公司 服务器业务处理方法及服务器
CN107147620B (zh) * 2017-04-19 2020-07-24 武汉聚风天下科技有限公司 一种消息交互处理方法、客户端和服务端
CN110493303B (zh) * 2019-07-03 2022-04-01 招联消费金融有限公司 业务数据处理系统及方法
CN112288574A (zh) * 2019-11-04 2021-01-29 中建材信息技术股份有限公司 一种交易异步处理方法
CN110852603B (zh) * 2019-11-07 2022-07-15 武汉极意网络科技有限公司 高吞吐量的风控数据处理方法、装置、设备及存储介质
CN110928746B (zh) * 2019-11-14 2023-10-24 杭州天宽科技有限公司 可调配的业务处理系统、方法、装置及可存储介质
CN110968438B (zh) * 2019-11-29 2022-09-02 江苏满运软件科技有限公司 事件消息异步通知方法、装置、电子设备、存储介质
CN111858002B (zh) * 2020-07-16 2022-12-23 苏州浪潮智能科技有限公司 一种基于异步io的并发处理方法、系统及装置
CN112040317B (zh) * 2020-08-21 2022-08-09 海信视像科技股份有限公司 事件响应方法及显示设备
CN112052105A (zh) * 2020-09-04 2020-12-08 京东数字科技控股股份有限公司 接口的调用方法、装置、电子设备及计算机可读介质
CN114257597B (zh) * 2021-12-22 2023-12-29 中国工商银行股份有限公司 用于函数计算的并发控制方法、装置、设备及介质
CN114885025B (zh) * 2022-06-14 2023-10-03 中国电信股份有限公司 异步请求处理方法、装置、设备和存储介质
CN116089036B (zh) * 2022-12-30 2023-12-15 长城证券股份有限公司 多线程多模块的业务流编排处理方法、设备及存储介质
CN115826934B (zh) * 2023-02-09 2023-05-26 中国证券登记结算有限责任公司 一种应用开发系统和方法
CN115981896A (zh) * 2023-03-16 2023-04-18 北京仁科互动网络技术有限公司 事件处理系统、方法、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1584842A (zh) * 2004-06-09 2005-02-23 中兴通讯股份有限公司 一种实现计算机系统应用服务器的方法
CN103164256A (zh) * 2011-12-08 2013-06-19 深圳市快播科技有限公司 一种实现单机支持高并发处理方法及系统
CN103645939A (zh) * 2013-11-29 2014-03-19 北京奇虎科技有限公司 一种图片抓取的方法和系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9043796B2 (en) * 2011-04-07 2015-05-26 Microsoft Technology Licensing, Llc Asynchronous callback driven messaging request completion notification

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1584842A (zh) * 2004-06-09 2005-02-23 中兴通讯股份有限公司 一种实现计算机系统应用服务器的方法
CN103164256A (zh) * 2011-12-08 2013-06-19 深圳市快播科技有限公司 一种实现单机支持高并发处理方法及系统
CN103645939A (zh) * 2013-11-29 2014-03-19 北京奇虎科技有限公司 一种图片抓取的方法和系统

Also Published As

Publication number Publication date
CN104932932A (zh) 2015-09-23

Similar Documents

Publication Publication Date Title
CN104932932B (zh) 一种业务异步处理方法、装置和系统
Lu et al. Join-idle-queue: A novel load balancing algorithm for dynamically scalable web services
TWI337715B (en) Method and system for complex event processing
CN110851429B (zh) 一种基于影响力自适应聚合的边缘计算可信协同服务方法
US8417817B1 (en) Preventing server overload
CN104580538B (zh) 一种提高Nginx服务器负载均衡效率的方法
JP6336988B2 (ja) 使用要求の小バッチ処理のためのシステムおよび方法
US11249826B2 (en) Link optimization for callout request messages
WO2021190087A1 (zh) 任务执行方法、装置、系统和服务器
WO2017092582A1 (zh) 一种数据处理方法和装置
CN103493449A (zh) 分组交换网络中的有效电路
CN110020046B (zh) 一种数据抓取方法及装置
TWI747092B (zh) 資源調度方法、設備、系統及中心伺服器
US20130117748A1 (en) Scalable group synthesis
CN105208133A (zh) 一种服务器、负载均衡器以及服务器负载均衡方法和系统
TWI786527B (zh) 程式設計平台的使用者代碼運行方法、電子設備和電腦可讀儲存介質
CN105426326A (zh) 一种实现高并发的队列存储方法及系统
US20140059152A1 (en) Support server for redirecting task results to a wake-up server
WO2017185615A1 (zh) 一种业务处理设备的业务状态确定方法及调度设备
CN104866528B (zh) 多平台数据采集方法及系统
CN107454177A (zh) 网络通信的动态实现方法
US9448827B1 (en) Stub domain for request servicing
CN103905484B (zh) 处理超文本传输协议请求的方法及装置
CN107294911A (zh) 一种数据包监听方法及装置、远程过程调用系统、设备
CN104731660B (zh) 数据分配方法、装置和系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant