一种事件驱动方法、装置、设备及可读存储介质制造方法及图纸

技术编号:19008992 阅读:26 留言:0更新日期:2018-09-22 08:53
本发明专利技术公开了一种事件驱动方法,该方法包括以下步骤:利用select函数监听异步套接字的fd句柄,并根据fd句柄判断异步套接字上的目标事件是否可读;若目标事件可读,则读取目标事件并获取目标事件所属的事件类型;选用与事件类型对应的事件处理方式处理目标事件。相较于现有的等待机制,本发明专利技术实施例提供的方法可以无需不停地检查输入设备,而是等待目标事件,也就是等待消息的到来。如果没有消息在等待,则将控制交回给操作系统,以运行其他程序,可减少占用计算机资源,提升计算机的计算速度和事件处理能力,进而提升计算机性能。本发明专利技术还公开了一种事件驱动装置、设备及可读存储介质,具有相应的技术效果。

An event driven method, device, device and readable storage medium

The invention discloses an event-driven method, which comprises the following steps: using the select function to listen for the FD handle of an asynchronous socket, and judging whether the target event on the asynchronous socket is readable according to the FD handle; if the target event is readable, reading the target event and acquiring the event type to which the target event belongs; Event types correspond to event handling methods to handle target events. Compared with the existing waiting mechanism, the method provided by the embodiments of the present invention can wait for the target event, that is, waiting for the arrival of the message, without constantly checking the input device. If there is no message waiting, the control will be returned to the operating system to run other programs, which can reduce the occupancy of computer resources, improve the computing speed and event processing capacity of the computer, and thus improve computer performance. The invention also discloses an event driving device, a device and a readable storage medium, which have corresponding technical effects.

【技术实现步骤摘要】
一种事件驱动方法、装置、设备及可读存储介质
本专利技术涉及计算机应用
,特别是涉及一种事件驱动方法、装置、设备及可读存储介质。
技术介绍
在当今快节奏的生活中,人们迫切需求具有更强计算速度和事件处理能力的高性能计算机。在计算机软件中,往往采用等待机制。即,为了等待某件事情的发生,需要不断地检测某些判断变量,直到达到预设条件之后,才进行相应的处理。而在不断的检测某些变量的过程中,无形中浪费了很多计算机资源,进而限制了计算机提升计算速度、事件处理能力。综上所述,如何有效地解决提升计算机性能等问题,是目前本领域技术人员急需解决的技术问题。
技术实现思路
本专利技术的目的是提供一种事件驱动方法、装置、设备及可读存储介质,以实减少占用计算机资源,提升计算机性能。为解决上述技术问题,本专利技术提供如下技术方案:一种事件驱动方法,包括:利用select函数监听异步套接字的fd句柄,并根据所述fd句柄判断所述异步套接字上的目标事件是否可读;若所述目标事件可读,则读取所述目标事件并获取所述目标事件所属的事件类型;选用与所述事件类型对应的事件处理方式处理所述目标事件。优选地,所述基于所述事件类型对应的处理方式对所述目标事件进行处理,包括:当所述事件类型为消息事件时,利用所述目标事件对应的预设处理函数对所述目标事件进行处理。优选地,所述基于所述事件类型对应的处理方式对所述目标事件进行处理,包括:当所述事件类型为时间事件时,创建定时线程;当达到预设等待时长之后,通过所述定时线程发送预设自定义协议的目标数据到目标异步套接字上,以便所述目标异步套接字激发预设回调函数来处理所述目标事件。优选地,所述基于所述事件类型对应的处理方式对所述目标事件进行处理,包括:当所述事件类型为文件描述符事件时,通过对应的文件描述符将目标用户指定的套接字调整为异步模式;通过所述select函数监控所述套接字,当在所述套接字上发生注册事件时,回调所述目标用户注册的回调函数。一种事件驱动装置,包括:监听模块,用于利用select函数监听异步套接字的fd句柄,并根据所述fd句柄判断所述异步套接字上的目标事件是否可读;目标事件及事件类型获取模块,用于若所述目标事件可读,则读取所述目标事件并获取所述目标事件所属的事件类型;目标事件处理模块,用于选用与所述事件类型对应的事件处理方式处理所述目标事件。优选地,所述目标事件处理模块,包括:信息事件处理单元,用于当所述事件类型为消息事件时,利用所述目标事件对应的预设处理函数对所述目标事件进行处理。优选地,所述目标事件处理模块,包括:时间事件处理单元,用于当所述事件类型为时间事件时,创建定时线程;当达到预设等待时长之后,通过所述定时线程发送预设自定义协议的目标数据到目标异步套接字上,以便所述目标异步套接字激发预设回调函数来处理所述目标事件。优选地,所述目标事件处理模块,包括:文件描述符事件处理单元,用于当所述事件类型为文件描述符事件时,通过对应的文件描述符将目标用户指定的套接字调整为异步模式;通过所述select函数监控所述套接字,当在所述套接字上发生注册事件时,回调所述目标用户注册的回调函数。一种事件驱动设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现上述事件驱动方法的步骤。一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述事件驱动方法的步骤。应用本专利技术实施例所提供的方法,利用select函数监听异步套接字的fd句柄,并根据fd句柄判断异步套接字上的目标事件是否可读;若目标事件可读,则读取目标事件并获取目标事件所属的事件类型;选用与事件类型对应的事件处理方式处理目标事件。利用select函数监听异步套接字的fd句柄实现异步机制。即,当有目标事件可以读取时,此时可以直接读取该异步套接字上的数据而不会阻塞。另外,相较于现有的等待机制,本专利技术实施例提供的方法可以无需不停地检查输入设备,而是等待目标事件,也就是等待消息的到来。由于实现了异步机制,每个输入的目标事件会被排进队列,等待根据事件类型对应的处理方式进行处理。如果没有消息在等待,则将控制交回给操作系统,以运行其他程序,可减少占用计算机资源,提升计算机的计算速度和事件处理能力,进而提升计算机性能。相应地,本专利技术实施例还提供了一种事件驱动装置、设备及可读存储介质,具有上述技术效果,在此不再赘述。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例中一种事件驱动方法的实施流程图;图2为本专利技术实施例中一种事件驱动方法的实施流程图;图3为本专利技术实施例中一种事件驱动方法的实施流程图;图4为本专利技术实施例中一种事件驱动方法的实施流程图;图5为应用本专利技术实施例提供的一种事件驱动程序的事件模块的事件模型示意图;图6为本专利技术实施例中一种事件驱动装置的结构示意图;图7为本专利技术实施例中一种事件驱动设备的结构示意图。具体实施方式本专利技术的核心是提供一种事件驱动方法,在处理事件时,抛去传统的过程式程序中的等待机制,而是引入事件编程。其中,在等待机制中,为了等待某件事情的发生,需要不断地检测某些判断变量。本专利技术引入事件编程后,大大简化了这种过程,事件驱动程序与过程式程序最大的不同就在于,事件驱动程序无需不停地检查输入设备,而是等待消息的到来,每个输入的消息会被排进队列,等待根据事件类型对应的处理方式进行处理。如果没有消息在等待,则程序会把控制交回给操作系统,以运行其他程序,以此来减少占用计算机资源,提升计算机计算速度和处理能力,进一步提升计算机性能。本专利技术的另一个核心是提供一种事件驱动装置、设备及可读存储介质,具有上述技术效果,在此不再赘述。为了使本
的人员更好地理解本专利技术方案,下面结合附图和具体实施方式对本专利技术作进一步的详细说明。显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。实施例一:请参考图1,图1为本专利技术实施例中一种事件驱动方法的流程图,该方法包括以下步骤:S101、利用select函数监听异步套接字的fd句柄,并根据fd句柄判断异步套接字上的目标事件是否可读。在本专利技术实施例中,利用select函数监听异步套接字的fd句柄,并根据fd句柄判断异步套接字上的目标事件是否可读。其中,目标事件可以包括来自用户的(如鼠标、键盘事件等)、来自硬件的(如时钟事件等)和来自软件的(如操作系统、应用程序本身等)的事件。S102、若目标事件可读,则读取目标事件并获取目标事件所属的事件类型。当该目标事件可读取时,可以直接读取该目标事件并获取该目标事件所属的事件类型。具体的,可以根据预先定义的判断标准,获取目标事件的事件类型。S103、选用与事件类型对应的事件处理方式处理目标事件。在本专利技术实施例中,可以预先设置不同的事件类型分别对应何种事件处理方式。当然针对同一种事件类型的处理方式在具体本文档来自技高网
...
一种事件驱动方法、装置、设备及可读存储介质

【技术保护点】
1.一种事件驱动方法,其特征在于,包括:利用select函数监听异步套接字的fd句柄,并根据所述fd句柄判断所述异步套接字上的目标事件是否可读;若所述目标事件可读,则读取所述目标事件并获取所述目标事件所属的事件类型;选用与所述事件类型对应的事件处理方式处理所述目标事件。

【技术特征摘要】
1.一种事件驱动方法,其特征在于,包括:利用select函数监听异步套接字的fd句柄,并根据所述fd句柄判断所述异步套接字上的目标事件是否可读;若所述目标事件可读,则读取所述目标事件并获取所述目标事件所属的事件类型;选用与所述事件类型对应的事件处理方式处理所述目标事件。2.根据权利要求1所述的事件驱动方法,其特征在于,所述基于所述事件类型对应的处理方式对所述目标事件进行处理,包括:当所述事件类型为消息事件时,利用所述目标事件对应的预设处理函数对所述目标事件进行处理。3.根据权利要求1所述的事件驱动方法,其特征在于,所述基于所述事件类型对应的处理方式对所述目标事件进行处理,包括:当所述事件类型为时间事件时,创建定时线程;当达到预设等待时长之后,通过所述定时线程发送预设自定义协议的目标数据到目标异步套接字上,以便所述目标异步套接字激发预设回调函数来处理所述目标事件。4.根据权利要求1所述的事件驱动方法,其特征在于,所述基于所述事件类型对应的处理方式对所述目标事件进行处理,包括:当所述事件类型为文件描述符事件时,通过对应的文件描述符将目标用户指定的套接字调整为异步模式;通过所述select函数监控所述套接字,当在所述套接字上发生注册事件时,回调所述目标用户注册的回调函数。5.一种事件驱动装置,其特征在于,包括:监听模块,用于利用select函数监听异步套接字的fd句柄,并根据所述fd句柄判断所述异步套接字上的目标事件是否可读;目标事件...

【专利技术属性】
技术研发人员:楚光庆
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1