一种事件响应装置、方法、电子设备及存储介质与流程

文档序号:23419005发布日期:2020-12-25 11:40阅读:72来源:国知局
一种事件响应装置、方法、电子设备及存储介质与流程

本发明实施例涉及数据处理技术领域,尤其涉及一种事件响应装置、方法、电子设备及存储介质。



背景技术:

在网页开发中,网页浏览器主要通过http(hypertexttransferprotocol,超文本传输协议)协议与网页服务器交互并获取网页。一个网页中可以包括多个文档,每个文档均从服务器获取。在用户浏览网页时,浏览器通过响应浏览器内核传出来的事件,将网页上的信息正确的显示出来。事件中标识有当前事件的类型及内容,比如用户点击了新建文章的按钮、鼠标悬浮显示菜单以及当前浏览的网页标题等,在事件响应中,浏览器将需要的信息提取出来,然后做出响应动作或者将信息更新在界面上通知用户。

但是在使用过程中,用户比较难增加自定义事件,对页面的操作会不灵活。如果通过开发浏览器扩展功能实现用户自定义事件响应,开发难度会较大,成本高。



技术实现要素:

本发明提供一种事件响应装置、方法、电子设备及存储介质,以实现快速处理浏览器事件,提高了浏览器事件的响应效率。

第一方面,本发明实施例提供了一种事件响应装置,该装置包括指令绑定器、基础视图层、基础逻辑层、基础数据处理层、视图子类、逻辑子类和数据处理子类,其中,所述视图子类继承于所述基础视图层,所述逻辑子类继承于所述基础逻辑层,所述数据处理子类继承于所述基础数据处理层;

所述指令绑定器用于当浏览器事件触发时,将所述浏览器事件绑定初始指令;

所述视图子类用于将所述浏览器事件的业务行为数据封装至所述初始指令中,形成所述浏览器事件的目标指令,对目标指令进行发布;

所述逻辑子类用于对接收的所述目标指令进行逻辑验证,并对验证成功的目标指令进行发布;

所述数据处理子类用于当接收的验证成功的目标指令进行处理。

第二方面,本发明实施例还提供了一种事件响应方法,该方法应用于如上述任一实施例所述的事件响应装置,该方法包括:

当浏览器事件触发时,基于指令绑定器将所述浏览器事件绑定初始指令;

基于视图子类将所述浏览器事件的业务行为数据封装至所述初始指令中,形成所述浏览器事件的目标指令,其中,所述视图子类继承于基础视图层;

基于逻辑子类对所述目标指令进行逻辑验证,其中,所述逻辑子类继承与所述基础逻辑层;

基于数据处理子类根据所述目标指令的配置信息确定所述目标指令的响应策略,基于所述响应策略执行所述目标指令。

第三方面,本发明实施例还提供了一种电子设备,所述电子设备包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序,

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明任意实施例提供的事件响应方法。

第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例提供的事件响应方法。

本发明通过当浏览器事件触发时,基于指令绑定器将所述浏览器事件绑定初始指令;基于视图子类将所述浏览器事件的业务行为数据封装至所述初始指令中,形成所述浏览器事件的目标指令,其中,所述视图子类继承于基础视图层;基于逻辑子类对所述目标指令进行逻辑验证,其中,所述逻辑子类继承与所述基础逻辑层;基于数据处理子类根据所述目标指令的配置信息确定所述目标指令的响应策略,基于所述响应策略执行所述目标指令。解决了现有技术中页面操作不灵活的问题,实现了快速处理浏览器事件,提高了数据处理速率。

附图说明

图1为本发明实施例一提供的事件响应装置的结构示意图;

图2为本发明实施例二提供的事件响应方法的流程图;

图3为本发明实施例三提供的电子设备的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

实施例一

图1是本发明实施例一中的事件响应装置的结构示意图,本实施例可以适用于对浏览器事件进行响应的情况。如图1所示,所述装置包括:

指令绑定器110、基础视图层120、基础逻辑层130、基础数据处理层140、视图子类150、逻辑子类160和数据处理子类170,其中,

所述视图子类150继承于所述基础视图层120,所述逻辑子类160继承于所述基础逻辑层130,所述数据处理子类170继承于所述基础数据处理层140;

所述指令绑定器110,用于当浏览器事件触发时,将所述浏览器事件绑定初始指令;

所述视图子类150,用于将所述浏览器事件的业务行为数据封装至所述初始指令中,形成所述浏览器事件的目标指令,对目标指令进行发布;

所述逻辑子类160,用于对接收的所述目标指令进行逻辑验证,并对验证成功的目标指令进行发布;

所述数据处理子类170,用于当接收的验证成功的目标指令进行处理。

在本发明实施例中,浏览器包括浏览器外壳部分与浏览器内核部分。具体的,外壳部分包括浏览器的前端界面显示部分,具体的如地址栏、菜单、收藏夹等;浏览器内核用于处理用户浏览所产生的浏览器事件,具体的如网页请求,包括页面下载、页面显示和渲染等功能。当用户对浏览页面进行操作产生浏览器事件时,监听浏览器事件的监听模块获取该浏览器事件的标识。其中浏览器事件的标识可以是预先设置的各浏览器事件的唯一标识,不对标识的形式进行限定,例如可以是事件名称、哈希值或者由数字、字符等形成的字符串。可选的,基于浏览器事件中的事件参数生成唯一标识,其中,事件参数可以包括但不限于业务行为类型、业务行为状态和业务行为数据;可选的,可以采用angular组件实现浏览器事件的标识的设置。其中,基础angular组件中包括css(cascadingstylesheets,层叠样式表)文件、html(hypertextmark-uplanguage,超文本标记语言)文件和typescript文件等文件。具体的,在创建angular组件时,在需要操作的浏览器事件中添加对应的唯一标识。当然,也可以采用其他方式添加浏览器事件的唯一标识,本实施例对此不加以限制。

可选的,当用户浏览网页时,浏览器通过响应浏览器内核传出浏览器事件,将网页上的信息正确的显示出来。事件中包括当前事件的类型及内容,比如用户点击了新建文章的按钮、鼠标悬浮显示菜单以及当前浏览的网页标题等。具体的,当浏览器事件触发,即从内核中传出浏览器事件时,基于浏览器事件中的业务行为类型确定与浏览器事件绑定的初始指令,将浏览器事件的唯一标识与所述初始指令进行绑定。其中,浏览器事件中的业务行为类型为浏览器根据用户的触发指令产生的具体行为的类型。具体的,业务行为类型包括但不限于页面下载、页面显示、页面更新、页面关闭等类型。需要说明的是,初始指令中没有对应浏览器事件的行为数据。存储器中可以预先存储有不同业务行为类型对应的不同初始指令,可根据当前浏览器事件中的业务行为类型在初始指令的存储区域中进行匹配,调用匹配成功的初始指令,指令绑定器110将浏览器事件和匹配成功的初始指令进行绑定,具体的,指令绑定器110可以是将浏览器事件的唯一标识添加至该初始指令的指定字段。

本实施例中,事件响应装置中配置有基础视图层120、基础逻辑层130、基础数据处理层140,其中,基础视图层120具有指令封装功能,基础逻辑层130具有指令验证功能,基础数据处理层140具有数据处理功能,通过设置基础视图层120、基础逻辑层130、基础数据处理层140,并创建分别继承于基础视图层120、基础逻辑层130、基础数据处理层140的多个子类,创建各子类中可以复写基础层的函数方法,具有基础层的功能,在避免代码冗余的基础上,实现多子类对浏览器事件的并行处理,提高了多个浏览器事件的响应效率。

需要说明的是,视图子类150、逻辑子类160和数据处理子类170分别为至少一个,可以是预先创建的,还可以是在监测到浏览器事件时实时创建的。

可选的,视图子类150将所述浏览器事件的业务行为数据封装至所述初始指令中,形成所述浏览器事件的目标指令。具体的,业务行为数据包括但不限于页面下载的内容、页面显示的内容以及页面更新的内容等具体的内容数据。可选的,视图子类150还通过指令调度总线将目标指令进行广播发送。其中,指令调度总线分别与视图子类150、逻辑子类和160数据处理子类170依次连接,用于对目标指令进行发布。当视图子类150、逻辑子类160和数据处理子类170分别为多个时,指令调度总线分别与每一个视图子类150、每一个逻辑子类160和每一个数据处理子类170连接,实现对目标指令的准确发布。

可选的,指令调度总线中预先存储有指令与逻辑子类160的映射关系。根据该映射关系可以将目标指令发送至对应的逻辑子类160中进行逻辑验证。示例性的,当目标指令类型为a类型时,根据指令与逻辑子类的映射关系确定类型为a的逻辑子类,并将该目标指令从视图子类发送至该逻辑子类。需要说明的是,目标指令类型可以是与浏览器事件的业务行为类型相同,相应的,逻辑子类160为继承于基础逻辑层130的用于处理不同业务行为类型的逻辑子类。

可选的,逻辑子类160对目标指令进行逻辑验证的验证内容具体包括:对接收的目标指令所处的处理层级和流转状态进行判断。其中,处理层级包括视图层、逻辑层和处理层。流转状态包括从视图层到逻辑层再到数据处理层的流转顺序,以及从数据处理层到逻辑层再到视图层的流转顺序。可选的,当目标指令处于逻辑层,且流转状态满足视图层、逻辑层和数据处理层的流转顺序时,确定逻辑验证成功。

在逻辑子类160对目标指令验证后,通过指令调度总线对验证成功的目标指令进行发布。指令调度总线根据指令与数据处理子类170的映射关系,将目标指令发送到对应的处理子类170进行响应策略。示例性的,当目标指令类型为a类型时,根据指令与处理子类的映射关系确定类型为a的处理子类,并将该目标指令从逻辑子类发送至a类型对应的处理子类进行行为数据的响应处理。需要说明的是,逻辑子类160和数据处理子类170分为至少一个,可以使多个浏览器事件实现并行处理,缩短了浏览器事件的响应周期。

数据处理子类170接收的验证成功的目标指令,并基于目标指令的配置信息确定目标指令的响应策略,基于响应策略执行目标指令。其中,目标指令的配置信息可以预先配置并存储至数据处理子类170,也可以在处理过程中在数据处理子类170中进行预设时间间隔的设置,还可以是由目标指令的指定字段携带,本实施例对此不加以限制。目标指令的配置信息可以是不同的配置标识,例如可以是本地标识和云端标识,具体的,响应策略包括将目标指令中的行为数据缓存至数据存储模块;或者,将目标指令中的行为数据进行发送至后台数据接口。例如,配置信息为本地标识时,数据处理子类将目标指令中的行为数据缓存至数据存储模块;当配置信息为运动标识时,数据处理子类将目标指令中的行为数据进行发送至后台数据接口。其中,将目标指令中的行为数据缓存至数据存储模块可以使浏览器在不依赖后台数据的情况下进行独立响应处理浏览器事件,缩短了浏览器事件的响应时间,提高了浏览器事件的响应效率。

本发明实施例提供了一种事件响应装置,通过当浏览器事件触发时,基于指令绑定器将所述浏览器事件绑定初始指令;基于视图子类将所述浏览器事件的业务行为数据封装至所述初始指令中,形成所述浏览器事件的目标指令,其中,所述视图子类继承于基础视图层;基于逻辑子类对所述目标指令进行逻辑验证,其中,所述逻辑子类继承与所述基础逻辑层;基于数据处理子类根据所述目标指令的配置信息确定所述目标指令的响应策略,基于所述响应策略执行所述目标指令。解决了现有技术中页面操作不灵活的问题,实现了快速处理浏览器事件,提高了浏览器事件的响应效率。

实施例二

图2为本发明实施例二中的事件响应方法的流程图,本实施例可以适用于对浏览器事件进行响应的情况,该方法可以由事件响应的装置执行,该事件响应装置可以采用软件和/或硬件的方式实现。如图1所示,该方法具体包括:

s210、当浏览器事件触发时,基于指令绑定器将所述浏览器事件绑定初始指令。

s220、基于视图子类将所述浏览器事件的业务行为数据封装至所述初始指令中,形成所述浏览器事件的目标指令,其中,所述视图子类继承于基础视图层。

s230、基于逻辑子类对所述目标指令进行逻辑验证,其中,所述逻辑子类继承与所述基础逻辑层。

s240、基于数据处理子类根据所述目标指令的配置信息确定所述目标指令的响应策略,基于所述响应策略执行所述目标指令。

可选的,所述浏览器事件中配置有唯一标识。

可选的,所述基于指令绑定器将所述浏览器事件绑定初始指令,包括:

基于所述浏览器事件中的业务行为类型确定与所述浏览器事件绑定的初始指令,将所述浏览器事件的唯一标识与所述初始指令进行绑定。

可选的,所述事件响应方法还包括:

基于预先存储的指令与逻辑子类的映射关系,以及指令与数据处理子类的映射关系,对所述目标指令进行发布;其中,所述指令调度总线分别与所述视图子类、逻辑子类和数据处理子类依次连接,用于对所述目标指令进行发布。

可选的,所述视图子类、逻辑子类和数据处理子类分别为至少一个。

可选的,基于逻辑子类对所述目标指令进行逻辑验证,包括:

对接收的所述目标指令所处的处理层级和流转状态进行判断;

当所述目标指令处于基础逻辑层,且流转状态满足视图层、逻辑层和数据处理层的流转顺序时,确定逻辑验证成功。

可选的,所述响应策略包括将所述目标指令中的行为数据缓存至数据存储模块;或者,将所述目标指令中的行为数据进行发送至后台数据接口。

可选的,所述事件响应方法还包括:

创建继承于所述基础视图层的至少一个视图子类;

创建继承与所述基础逻辑层的各业务行为类型对应的至少一个逻辑子类;

创建继承与所述基础数据处理层的各业务行为类型对应的至少一个数据处理子类。

本发明实施例提供了一种事件响应方法,通过当浏览器事件触发时,基于指令绑定器将所述浏览器事件绑定初始指令;基于视图子类将所述浏览器事件的业务行为数据封装至所述初始指令中,形成所述浏览器事件的目标指令,其中,所述视图子类继承于基础视图层;基于逻辑子类对所述目标指令进行逻辑验证,其中,所述逻辑子类继承与所述基础逻辑层;基于数据处理子类根据所述目标指令的配置信息确定所述目标指令的响应策略,基于所述响应策略执行所述目标指令。解决了现有技术中页面操作不灵活的问题,实现了快速处理浏览器事件,提高了浏览器事件的响应效率。

实施例三

图3是本发明实施例三中的电子设备的结构示意图。图3示出了适于用来实现本发明实施方式的示例性电子设备312的框图。图3显示的电子设备312仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

如图3所示,电子设备312以通用计算设备的形式表现。电子设备312的组件可以包括但不限于:一个或者多个处理器或者处理单元316,系统存储器328,连接不同系统组件(包括系统存储器328和处理单元316)的总线318。

总线318表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(isa)总线,微通道体系结构(mac)总线,增强型isa总线、视频电子标准协会(vesa)局域总线以及外围组件互连(pci)总线。

电子设备312典型地包括多种计算机系统可读介质。这些介质可以是任何能够被电子设备312访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。

系统存储器328可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(ram)330和/或高速缓存存储器332。电子设备312可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统334可以用于读写不可移动的、非易失性磁介质(图3未显示,通常称为“硬盘驱动器”)。尽管图3中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如cd-rom,dvd-rom或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线318相连。存储器328可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。

具有一组(至少一个)程序模块342的程序/实用工具340,可以存储在例如存储器328中,这样的程序模块342包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块342通常执行本发明所描述的实施例中的功能和/或方法。

电子设备312也可以与一个或多个外部设备314(例如键盘、指向设备、显示器324等)通信,还可与一个或者多个使得用户能与该电子设备312交互的设备通信,和/或与使得该电子设备312能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口322进行。并且,电子设备312还可以通过网络适配器320与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器320通过总线318与电子设备312的其它模块通信。应当明白,尽管图3中未示出,可以结合电子设备312使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。

处理单元316通过运行存储在系统存储器328中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的事件响应方法,该方法包括:

当浏览器事件触发时,基于指令绑定器将所述浏览器事件绑定初始指令;

基于视图子类将所述浏览器事件的业务行为数据封装至所述初始指令中,形成所述浏览器事件的目标指令,其中,所述视图子类继承于基础视图层;

基于逻辑子类对所述目标指令进行逻辑验证,其中,所述逻辑子类继承与所述基础逻辑层;

基于数据处理子类根据所述目标指令的配置信息确定所述目标指令的响应策略,基于所述响应策略执行所述目标指令。

实施例四

本发明实施例四还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例所提供的事件响应方法,该方法包括:

当浏览器事件触发时,基于指令绑定器将所述浏览器事件绑定初始指令;

基于视图子类将所述浏览器事件的业务行为数据封装至所述初始指令中,形成所述浏览器事件的目标指令,其中,所述视图子类继承于基础视图层;

基于逻辑子类对所述目标指令进行逻辑验证,其中,所述逻辑子类继承与所述基础逻辑层;

基于数据处理子类根据所述目标指令的配置信息确定所述目标指令的响应策略,基于所述响应策略执行所述目标指令。

本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、rf等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如”c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或电子设备上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1