The invention discloses a server-based event processing method, device, device and storage medium. The method includes: sending the consent response information to the corresponding client through the main thread to listen to and accept the event processing request sent by at least one client; adding the event data returned by the client according to the consent response information to the buffer queue; distributing the event data in the buffer queue to the idle worker thread; and applying the worker thread to the said buffer queue. The event data is processed, in which the main thread is a synchronous processing thread and the working thread is an asynchronous processing thread. The technical scheme of the invention can effectively reduce the development difficulty, reduce the maintenance cost and improve the compatibility of the server while guaranteeing the scalability of the server application.
【技术实现步骤摘要】
基于服务器的事件处理方法、装置、设备及介质
本专利技术实施例涉及计算机技术,尤其涉及一种基于服务器的事件处理方法、装置、设备及介质。
技术介绍
随着金融行业的不断发展,对行业的服务能力提出了更高的要求。银行为了扩展自己的业务范围,在多种范围内进行了有效的尝试。从安全等各方面考虑,银行目前的数据服务大多还是基于集中式数据服务的方式,通过布设多种服务器应用来满足大量业务的处理需求。为满足这样的需求,具有高性能的服务器事件处理程序就必不可少。针对这些能处理大量业务请求的服务器事件处理程序,结合不同项目的情况,各厂商都会进行针对性地开发。目前,针对服务器程序的开发,常见的有两种方式,一种是采用开源的框架产品,一种是自开发。开源的框架产品,例如ACE(ADAPTIVECommunicationEnvironment,自适配通信环境)等,代码量大,接口复杂,而且版本的迭代不受控制,对应用开发厂商而言,容易受到各种制肘。而且,这些框架应用,是为满足通用的通信程序的需要,对具体厂商而言,可能大多数接口、代码都属于冗余的,但这样的版本维护,却不能因为使用部分少而减小相关工作。自开发的服务器程序,对于许多非专业厂商来说,从开发效率的角度出发,多数会选择比较简单的开发模式,以满足项目开发的需要。在实现并发处理多事件的应用程序方面,有如下两种常见的编程模型:多进程或多线程的池处理模型和事件驱动的单线程模型。在多进程或多线程的池处理模型中,由于池里面的对象在使用时,新的请求将不能被受理。所以这种模型的应用扩展性差,如果应用程序只需处理少量的并发请求,系统还能正常运行;但如果应用程序 ...
【技术保护点】
1.一种基于服务器的事件处理方法,其特征在于,包括:通过主线程监听并接受至少一个客户端发送的事件处理请求,发送同意应答信息给对应的客户端;将所述客户端根据所述同意应答信息返回的事件数据添加至缓冲队列;将所述缓冲队列中的事件数据分发给空闲的工作线程;通过所述工作线程对所述事件数据进行处理;其中,所述主线程为同步处理线程,所述工作线程为异步处理线程。
【技术特征摘要】
1.一种基于服务器的事件处理方法,其特征在于,包括:通过主线程监听并接受至少一个客户端发送的事件处理请求,发送同意应答信息给对应的客户端;将所述客户端根据所述同意应答信息返回的事件数据添加至缓冲队列;将所述缓冲队列中的事件数据分发给空闲的工作线程;通过所述工作线程对所述事件数据进行处理;其中,所述主线程为同步处理线程,所述工作线程为异步处理线程。2.根据权利要求1所述的方法,其特征在于,所述事件数据包括连接请求;通过所述工作线程对所述事件数据进行处理,包括:根据所述连接请求建立所述工作线程与所述客户端之间的连接通道;通过所述工作线程对基于所述连接通道接收的业务数据进行处理。3.根据权利要求1所述的方法,其特征在于,所述事件数据包括连接请求以及业务数据;将所述缓冲队列中的事件数据分发给空闲的工作线程,包括:若确定所述事件数据为连接请求,则将所述连接请求注册至内部事件表中,并根据所述内部事件表将注册的连接请求依次分发给空闲的工作线程;若确定所述事件数据为业务数据,且与所述业务数据对应的目标工作线程为空闲状态,则将所述业务数据分配给所述目标工作线程。4.根据权利要求1所述的方法,其特征在于,所述通过主线程监听并接受至少一个客户端发送的事件处理请求,发送同意应答信息给对应的客户端,包括:通过主线程监听事件通知接口上绑定的文件描述字的状态;若所述文件描述字的状态变为目标状态,则通过所述主线程从所述文件描述字对应的读写对象中读取至少一个客户端发送的事件处理请求;接受所述事件处理请求并发送同意应答信息给对应的客户端。5.根据权利要求4所述的方法,其特征在于,所述事件通知接口由...
【专利技术属性】
技术研发人员:肖艳华,何华强,李进南,刘志宏,朱勇军,邓兵龙,吴韦盛,
申请(专利权)人:深圳怡化电脑股份有限公司,深圳市怡化时代科技有限公司,深圳市怡化金融智能研究院,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。