logo好方法网

事件调用方法、装置、电子设备及存储介质


技术摘要:
本申请实施例提供了一种事件调用方法、装置、电子设备及存储介质,首先,获取待处理事件对应的方法名和目标参数,然后,根据所述方法名和所述目标参数从事件注册列表中确定所述待处理事件对应的预选注册事件,再进一步从各所述预选注册事件中确定目标注册事件,最后,  全部
背景技术:
用户产生需求之后会通过用户界面向系统发出各种请求,这些请求相当于一个个 待处理的事件,而系统需要通过相应的方法来处理这些事件,这些用来处理事件的方法是 利用函数方法调用与事件相关的参数来实现的,这些事件在被处理的过程中相当于一个被 分发传递的过程,而这些方法相当于调用方法。 通常采用事件总线机制来分发事件,即通过既定的函数方法和既定的参数来分发 事件,以处理事件。但是,在实际应用中会存在重载问题,即待处理事件与事件总线机制所 采用的函数方法相同,但是相关联的参数不同,那么该总线机制将无法有效处理这样的待 处理事件。同时,即使待处理事件与事件总线机制所对应的参数之间存在关联关系,也可能 由于事件总线机制所采用的既定的参数与待处理事件所采用的参数的关联性较低,因此需 要耗费较多的分发步骤来处理该待处理事件,从而令处理效率大大降低。
技术实现要素:
本申请提供了一种事件调用方法的确定方法、装置、电子设备即存储介质,以提高 事件的处理效率。 第一方面,本申请实施例提供了一种事件调用方法,所述方法包括: 获取待处理事件对应的方法名和目标参数,所述待处理事件为用户通过操作页面 向系统发出的请求,所述方法名为处理所述待处理事件的函数方法的名称,所述目标参数 为使用所述函数方法处理所述待处理事件时所需的参数; 根据所述方法名和所述目标参数从事件注册列表中确定所述待处理事件对应的 预选注册事件,其中,所述事件注册列表包括注册事件、所述注册事件对应的方法名以及所 述注册事件对应的参数;所述预选注册事件为在所述事件注册列表中,与所述待处理事件 具有相同方法名和相匹配参数的注册事件; 从各所述预选注册事件中确定目标注册事件,所述目标注册事件为所述预选注册 事件中具有最短继承路径的一个,所述继承路径为由所述目标参数与所述预选注册事件的 参数之间通过继承关系形成的层级结构; 获取所述待处理事件的调用方法,利用所述调用方法处理所述待处理事件,以响 应用户通过所述操作页面向系统发出的所述请求,其中,所述调用方法为利用与所述目标 注册事件的方法名对应的函数方法按照所述最短继承路径依次调用所述目标注册事件的 参数的操作。 在本发明实施例第一方面一种可能的实现方式中,所述根据所述方法名和所述目 标参数从事件注册列表中确定所述待处理事件对应的预选注册事件包括: 5 CN 111596975 A 说 明 书 2/9 页 根据所述方法名从所述事件注册列表中获取待选注册事件,所述待选注册事件为 具有与所述方法名相同的方法名的注册事件; 获取所述目标参数的参数继承路径,所述目标参数的参数继承路径用于表示所述 目标参数与其它参数之间的继承关系; 从所述事件注册列表中获取每一所述待选注册事件对应的参数; 获取每一所述待选注册事件对应的参数与所述目标参数之间的继承路径; 从所述待选注册事件中确定预选注册事件,所述预选注册事件为对应的参数与所 述目标参数之间的继承路径被所述目标参数的参数继承路径覆盖的待选注册事件。 在本发明实施例第一方面一种可能的实现方式中,所述从各所述预选注册事件中 确定目标注册事件包括: 根据所述预选注册事件对应的参数与所述目标参数之间的继承路径,计算所述预 选注册事件对应的路径深度,所述预选注册事件的路径深度为所述预选注册事件中各参数 与所述目标参数之间的继承路径中包含的层级数量的总和; 确定目标注册事件,所述目标注册事件为路径深度最小的所述预选注册事件。 在本发明实施例第一方面一种可能的实现方式中,所述获取所述待处理事件的调 用方法,利用所述调用方法处理所述待处理事件,以响应用户通过所述操作页面向系统发 出的所述请求之后包括: 获取所述待处理事件的类字节码,所述类字节码用于唯一标识所述待处理事件, 所述类字节码与所述待处理事件的调用方法一一对应; 根据所述类字节码确定对应的调用方法,并利用所述调用方法处理所述类字节码 标识的所述待处理事件。 在本发明实施例第一方面一种可能的实现方式中,所述方法还包括: 如果所述注册事件列表中不存在目标注册事件,则将所述待处理事件确定为目标 注册事件,并由技术人员根据所述目标参数为所述待处理事件设计调用方法; 将所述待处理事件、所述待处理事件对应的方法名以及所述待处理事件对应的目 标参数注册到所述事件注册列表中,以更新所述事件注册列表。 第二方面,本申请实施例提供了一种事件调用装置,所述装置包括: 待处理事件信息获取模块,用于获取待处理事件对应的方法名和目标参数,所述 待处理事件为用户通过操作页面向系统发出的请求,所述方法名为处理所述待处理事件的 函数方法的名称,所述目标参数为使用所述函数方法处理所述待处理事件时所需的参数; 预选注册事件确定模块,用于根据所述方法名和所述目标参数从事件注册列表中 确定所述待处理事件对应的预选注册事件,其中,所述事件注册列表包括注册事件、所述注 册事件对应的方法名以及所述注册事件对应的参数;所述预选注册事件为在所述事件注册 列表中,与所述待处理事件具有相同方法名和相匹配参数的注册事件; 目标注册事件确定模块,用于从各所述预选注册事件中确定目标注册事件,所述 目标注册事件为所述预选注册事件中具有最短继承路径的一个,所述继承路径为由所述目 标参数与所述预选注册事件的参数之间通过继承关系形成的层级结构; 调用方法确定模块,用于获取所述待处理事件的调用方法,利用所述调用方法处 理所述待处理事件,以响应用户通过所述操作页面向系统发出的所述请求,其中,所述调用 6 CN 111596975 A 说 明 书 3/9 页 方法为利用与所述目标注册事件的方法名对应的函数方法按照所述最短继承路径依次调 用所述目标注册事件的参数的操作。 在本发明实施例第二方面一种可能的实现方式中,所述预选注册事件确定模块包 括: 目标方法名确定模块,用于根据所述方法名从所述事件注册列表中获取待选注册 事件,所述待选注册事件为具有与所述方法名相同的方法名的注册事件; 待选注册事件获取模块,用于获取所述目标参数的参数继承路径,所述目标参数 的参数继承路径用于表示所述目标参数与其它参数之间的继承关系; 参数获取模块,用于从所述事件注册列表中获取每一所述待选注册事件对应的参 数; 第一获取模块,用于获取每一所述待选注册事件对应的参数与所述目标参数之间 的继承路径; 第一确定模块,用于从所述待选注册事件中确定预选注册事件,所述预选注册事 件为对应的参数与所述目标参数之间的继承路径被所述目标参数的参数继承路径覆盖的 待选注册事件。 在本发明实施例第二方面一种可能的实现方式中,所述目标注册事件确定模块包 括: 路径深度计算模块,用于根据所述预选注册事件对应的参数与所述目标参数之间 的继承路径,计算所述预选注册事件对应的路径深度,所述预选注册事件的路径深度为所 述预选注册事件中各参数与所述目标参数之间的继承路径中包含的层级数量的总和; 第二确定模块,用于确定目标注册事件,所述目标注册事件为路径深度最小的所 述预选注册事件。 在本发明实施例第二方面一种可能的实现方式中,所述装置还包括: 类字节码获取模块,用于获取所述待处理事件的类字节码,所述类字节码用于唯 一标识所述待处理事件,所述类字节码与所述待处理事件的调用方法一一对应; 反馈模块,用于根据所述类字节码确定对应的调用方法,并利用所述调用方法处 理所述类字节码标识的所述待处理事件。 在本发明实施例第二方面一种可能的实现方式中,所述装置还包括: 第三确定模块,用于如果所述注册事件列表中不存在目标注册事件,则将所述待 处理事件确定为目标注册事件,并由技术人员根据所述目标参数为所述待处理事件设计调 用方法; 更新模块,用于将所述待处理事件、所述待处理事件对应的方法名以及所述待处 理事件对应的目标参数注册到所述事件注册列表中,以更新所述事件注册列表。 第三方面,本申请提供了一种电子设备,所述电子设备包括: 处理器,以及 存储器,用于存储所述处理器的可执行指令; 其中,所述处理器配置为经由执行所述可执行指令来执行所述的事件调用方法。 第四方面,本申请提供了一种计算机可读存储介质,其上存储有计算机程序,所述 计算机程序被处理器执行时实现所述的事件调用方法。 7 CN 111596975 A 说 明 书 4/9 页 本申请实施例提供了一种事件调用方法、装置、电子设备及存储介质,首先,获取 待处理事件对应的方法名和目标参数,所述待处理事件为用户通过操作页面向系统发出的 请求,然后,根据所述方法名和所述目标参数从事件注册列表中确定所述待处理事件对应 的预选注册事件,再进一步从各所述预选注册事件中确定目标注册事件,最后,确定所述待 处理事件的调用方法,以利用所述调用方法处理所述待处理事件。由于本申请所提供的事 件调用方法与待处理事件具有最短继承路径,因此,该调用方法的参数可以最接近待处理 事件所对应的参数,从而减少待处理事件的分发步骤,可以有效提高处理效率。 附图说明 为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简 单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下, 还可以根据这些附图获得其他的附图。 图1为本申请实施例提供的一种事件调用方法的流程图; 图2为本申请实施例提供的一种确定预选注册事件的方法的流程图; 图3为本申请实施例提供的一种确定目标注册事件的方法的流程图; 图4为本申请实施例提供的一种调用方法的反馈方法的流程图; 图5为本申请实施例提供地一种更新事件注册列表的方法的流程图; 图6为本申请实施例提供的事件调用装置实施例一的结构示意图; 图7为本申请实施例提供的事件调用装置实施例二的结构示意图; 图8为本申请实施例提供的事件调用装置实施例三的结构示意图; 图9为本申请实施例提供的事件调用装置实施例四的结构示意图; 图10为本申请实施例提供的事件调用装置实施例五的结构示意图; 图11为本发明实施例提供的电子设备的硬件结构示意图。
下载此资料需消耗2积分,
分享到:
收藏