CN108874569B - 事件响应及文件生成的方法、装置及电子设备 - Google Patents

事件响应及文件生成的方法、装置及电子设备 Download PDF

Info

Publication number
CN108874569B
CN108874569B CN201810555873.7A CN201810555873A CN108874569B CN 108874569 B CN108874569 B CN 108874569B CN 201810555873 A CN201810555873 A CN 201810555873A CN 108874569 B CN108874569 B CN 108874569B
Authority
CN
China
Prior art keywords
event
preset
target
time interval
preset event
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
CN201810555873.7A
Other languages
English (en)
Other versions
CN108874569A (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.)
Beijing Sankuai Online Technology Co Ltd
Original Assignee
Beijing Sankuai Online Technology 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 Beijing Sankuai Online Technology Co Ltd filed Critical Beijing Sankuai Online Technology Co Ltd
Priority to CN201810555873.7A priority Critical patent/CN108874569B/zh
Publication of CN108874569A publication Critical patent/CN108874569A/zh
Application granted granted Critical
Publication of CN108874569B publication Critical patent/CN108874569B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/004Error avoidance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

本申请提供一种事件响应及文件生成的方法、装置及电子设备,所述事件响应方法的一具体实施方式包括:确定目标可执行文件;基于所述目标可执行文件监测针对目标控件的预设事件;若监测到所述预设事件,确定所述预设事件是正常事件还是异常事件;若确定所述预设事件是正常事件,则执行所述预设事件对应的响应操作,若确定所述预设事件是异常事件,则忽略所述预设事件。该实施方式能够在针对目标控件的预设事件为异常事件时,忽略该预设事件,从而避免了由于异常事件而导致的客户端与服务端进行频繁交互的问题,同时也减轻了网络负担。

Description

事件响应及文件生成的方法、装置及电子设备
技术领域
本申请涉及计算机软件技术领域,特别涉及一种事件响应及文件生成的方法、装置及电子设备。
背景技术
随着终端设备以及网络技术的不断发展和普及,各类客户端也被广泛使用在终端设备上。客户端变得越来越丰富,使人们的日常生活也变得越来越便利。目前来说,人们在使用客户端时,有时可能会频繁多次触发该客户端对应的用户界面上的虚拟按钮。如果该虚拟按钮用于触发该客户端与网络服务端进行交互(如,向服务端发送请求,或者向服务端上报消息等),则可能会导致服务端的错误响应。另外,如果客户端与服务端进行交互的次数过于频繁,还可能会增加网络负担。
发明内容
为了解决上述技术问题之一,本申请提供一种事件响应及文件生成的方法、装置及电子设备。
根据本申请实施例的第一方面,提供一种事件响应方法,包括:
确定目标可执行文件;
基于所述目标可执行文件监测针对目标控件的预设事件;
若监测到所述预设事件,确定所述预设事件是正常事件还是异常事件;
若确定所述预设事件是正常事件,则执行所述预设事件对应的响应操作,若确定所述预设事件是异常事件,则忽略所述预设事件。
可选的,所述基于所述目标可执行文件监测针对目标控件的预设事件,包括:
确定所述目标可执行文件中与所述目标控件绑定的目标对象;
通过所述目标对象对应的监听器监测针对所述目标控件的预设事件。
可选的,所述确定所述预设事件是正常事件还是异常事件,包括:
从所述目标可执行文件中调用所述监听器对应的预设方法逻辑执行预设操作,以确定所述预设事件是正常事件还是异常事件。
可选的,所述执行预设操作,包括:
如果确定首次检测到所述预设事件,则确定所述预设事件是正常事件;
如果确定非首次检测到所述预设事件,确定当前时刻与上次检测到所述预设事件的时刻之间的目标时间间隔;
获取预设时间间隔;
如果所述目标时间间隔小于或等于所述预设时间间隔,则确定所述预设事件是异常事件,如果所述目标时间间隔大于所述预设时间间隔,则确定所述预设事件是正常事件。
可选的,所述预设时间间隔为基于目标云服务器下发的预设字段而得到的。
可选的,所述目标可执行文件通过如下方式而得到:
在对获取到的源程序进行编译的过程中,根据所述源程序中预先定义的注解,将所述目标控件与相应的目标对象进行绑定;
创建针对所述目标对象的监听器;
添加针对所述监听器的预设方法逻辑;
响应于完成对所述源程序的编译,得到所述目标可执行文件。
根据本申请实施例的第二方面,提供一种可执行文件的生成方法,包括:
对获取到的源程序进行编译;
在所述编译的过程中,根据所述源程序中预先定义的注解将目标控件与相应的目标对象进行绑定;
创建针对所述目标对象的监听器,所述监听器用于监测针对所述目标控件的预设事件;
添加针对所述监听器的预设方法逻辑,所述预设方法逻辑在所述监听器监测到所述预设事件时,被调用执行预设操作,以确定所述预设事件是正常事件还是异常事件;
响应于完成对所述源程序的编译,得到所述目标可执行文件。
可选的,所述预设方法逻辑被调用时,通过如下方式执行预设操作:
如果确定首次检测到所述预设事件,则确定所述预设事件是正常事件;
如果确定非首次检测到所述预设事件,确定当前时刻与上次检测到所述预设事件的时刻之间的目标时间间隔;
获取预设时间间隔;
如果所述目标时间间隔小于或等于所述预设时间间隔,则确定所述预设事件是异常事件,如果所述目标时间间隔大于所述预设时间间隔,则确定所述预设事件是正常事件。
根据本申请实施例的第三方面,提供一种事件响应装置,包括:
确定模块,用于确定目标可执行文件;
监测模块,用于基于所述目标可执行文件监测针对目标控件的预设事件;
判定模块,用于在监测到所述预设事件时,确定所述预设事件是正常事件还是异常事件;
执行模块,用于在确定所述预设事件是正常事件时,执行所述预设事件对应的响应操作,在确定所述预设事件是异常事件时,忽略所述预设事件。
根据本申请实施例的第四方面,提供一种可执行文件的生成装置,包括:
编译模块,用于对获取到的源程序进行编译;
绑定模块,用于在所述编译的过程中,根据所述源程序中预先定义的注解将目标控件与相应的目标对象进行绑定;
创建模块,用于创建针对所述目标对象的监听器,所述监听器用于监测针对所述目标控件的预设事件;
添加模块,用于添加针对所述监听器的预设方法逻辑,所述预设方法逻辑在所述监听器监测到所述预设事件时,被调用执行预设操作,以确定所述预设事件是正常事件还是异常事件;
获取模块,用于响应于完成对所述源程序的编译,得到所述目标可执行文件。
根据本申请实施例的第五方面,提供一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面及第二方面中任一项所述的方法。
根据本申请实施例的第六方面,提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述第一方面及第二方面中任一项所述的方法。
本申请的实施例提供的技术方案可以包括以下有益效果:
本申请的实施例提供的事件响应方法和装置,通过确定目标可执行文件,基于该目标可执行文件监测针对目标控件的预设事件,若监测到上述预设事件,确定该预设事件是正常事件还是异常事件,若确定该预设事件是正常事件,则执行该预设事件对应的响应操作,若确定该预设事件是异常事件,则忽略该预设事件。由于本实施例能够在针对目标控件的预设事件为异常事件时,忽略该预设事件,从而避免了由于异常事件而导致的客户端与服务端进行频繁交互的问题,同时也减轻了网络负担。
本申请的实施例提供的可执行文件的生成方法和装置,对获取到的源程序进行编译,在上述编译的过程中,根据源程序中预先定义的注解将目标控件与相应的目标对象进行绑定,创建针对目标对象的监听器,该监听器用于监测针对目标控件的预设事件,添加针对该监听器的预设方法逻辑,该预设方法逻辑在该监听器监测到上述预设事件时,被调用执行预设操作,以确定该预设事件是正常事件还是异常事件,响应于完成对源程序的编译,得到目标可执行文件。由于在运行本实施例得到的目标可执行文件时,能够监测针对目标控件的预设事件,并能够判断监测到的预设事件是正常事件还是异常事件。在该预设事件是异常事件时,忽略该预设事件,从而能够实现用户界面的无感知,在不影响用户的体验的情况下,不仅避免了由于异常事件而导致的客户端与服务端进行频繁交互的问题,也减轻了网络负担。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1是本申请根据一示例性实施例示出的一种事件响应方法的流程图;
图2是本申请根据一示例性实施例示出的另一种事件响应方法的流程图;
图3是本申请根据一示例性实施例示出的一种可执行文件的生成方法的流程图;
图4是本申请根据一示例性实施例示出的一种事件响应装置的框图;
图5是本申请根据一示例性实施例示出的另一种事件响应装置的框图;
图6是本申请根据一示例性实施例示出的另一种事件响应装置的框图;
图7是本申请根据一示例性实施例示出的一种可执行文件的生成装置的框图;
图8是本申请根据一示例性实施例示出的一种电子设备的结构示意图;
图9是本申请根据一示例性实施例示出的另一种电子设备的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
如图1所示,图1是根据一示例性实施例示出的一种事件响应方法的流程图,该方法可以应用于终端设备中。在本实施例中,为了便于理解,结合能够安装第三方应用程序的终端设备来举例说明。本领域技术人员可以理解,该终端设备可以包括但不限于诸如智能手机的移动终端设备、智能穿戴式设备、平板电脑、个人数字助理等等。该方法包括以下步骤:
在步骤101中,确定目标可执行文件。
一般来说,可以在终端设备上安装客户端,该客户端安装结束后,会在终端设备上存储该客户端对应的可执行文件。当开启该客户端时,可以直接加载运行该可执行文件。
在本实施例中,当开启目标客户端时,首先可以将该目标客户端对应的可执行文件确定为目标可执行文件。
在步骤102中,基于该目标可执行文件监测针对目标控件的预设事件。
在本实施例中,目标控件可以是上述目标客户端对应的用户界面上的虚拟控件(如,按钮控件,或开关控件等)。目标控件可以用于触发该目标客户端与服务端进行交互(如,向服务端发送请求,或者向服务端上报消息等),例如,当目标控件被用户点击一次后,会触发目标客户端向服务端发送一次请求,或者上报一次消息。可以理解,目标控件可以是任意能够用于触发该目标客户端与服务端进行交互的控件,本申请对目标控件的具体类型方面不限定。
在本实施例中,针对目标控件的预设事件可以是对目标控件进行触发的事件,例如,预设事件可以是对目标控件进行单击的事件,也可以是对目标控件进行双击的事件,还可以是对目标控件进行滑动操作的事件等等。可以理解,本申请对此方面不限定。
在本实施例中,可以基于该目标可执行文件监测针对目标控件的预设事件。具体来说,首先可以确定该目标可执行文件中与上述目标控件绑定的目标对象。然后,通过该目标对象对应的监听器监测针对目标控件的预设事件。
在步骤103中,若监测到上述预设事件,确定该预设事件是正常事件还是异常事件。
在本实施例中,可以将对目标控件进行过于频繁的触发的事件视为异常事件。因此,当监测到上述预设事件时,可以进一步判断该预设事件是否属于过于频繁的触发事件。如果属于过于频繁的触发事件,则可以确定该预设事件是异常事件;如果不属于过于频繁的触发事件,则可以确定该预设事件是正常事件。
在本实施例中,可以从上述目标可执行文件中调用上述监听器对应的预设方法逻辑执行预设操作,以确定该预设事件是正常事件还是异常事件。
在步骤104中,若确定该预设事件是正常事件,则执行该预设事件对应的响应操作,若确定该预设事件是异常事件,则忽略该预设事件。
在本实施例中,预设事件对应的响应操作可以是响应于预设事件的触发而进行的操作。例如,该响应操作可以是向服务端发送请求,也可以是向服务端上报消息等,本申请对预设事件对应的响应操作的具体内容方面不限定。
在本实施例中,若确定该预设事件是正常事件,则可以执行该预设事件对应的响应操作,若确定该预设事件是异常事件,则可以忽略该预设事件,即不执行该预设事件对应的响应操作。
本申请的上述实施例提供的事件响应方法,通过确定目标可执行文件,基于该目标可执行文件监测针对目标控件的预设事件,若监测到上述预设事件,确定该预设事件是正常事件还是异常事件,若确定该预设事件是正常事件,则执行该预设事件对应的响应操作,若确定该预设事件是异常事件,则忽略该预设事件。由于本实施例能够在针对目标控件的预设事件为异常事件时,忽略该预设事件,从而避免了由于异常事件而导致的客户端与服务端进行频繁交互的问题,同时也减轻了网络负担。
如图2所示,图2根据一示例性实施例示出的另一种事件响应方法的流程图,该实施例描述了监测预设事件以及确定预设事件是正常事件还是异常事件的过程,该方法可以应用于终端设备中,包括以下步骤:
在步骤201中,确定目标可执行文件。
在步骤202中,确定该目标可执行文件中与目标控件绑定的目标对象。
在步骤203中,通过该目标对象对应的监听器监测针对目标控件的预设事件。
在本实施例中,该目标可执行文件中记录有目标控件,每个目标控件绑定有相应的目标对象(一般来说,对象指的是类创建出来的实例,目标对象可以是将目标类实例化以后得到的对象)。每个目标对象对应于一个监听器,该监听器可以用于监测针对目标控件的预设事件。
在本实施例中,可以通过目标可执行文件中与目标控件绑定的目标对象所对应的监听器,监测针对目标控件的预设事件。
在步骤204中,若监测到针对目标控件的预设事件,从目标可执行文件中调用上述监听器对应的预设方法逻辑执行预设操作,以确定该预设事件是正常事件还是异常事件。
在本实施例中,上述每个监听器对应于预设方法逻辑,该预设方法逻辑用于执行预设操作,以确定预设事件是正常事件还是异常事件。当上述监听器监测到针对目标控件的预设事件时,可以触发从目标可执行文件中调用上述监听器对应的预设方法逻辑,以执行预设操作。
具体来说,该预设方法逻辑在被调用时,可以通过如下方式执行预设操作:首先,确定是否首次检测到该预设事件。如果确定是首次检测到该预设事件,则可以确定该预设事件是正常事件。如果确定不是首次检测到该预设事件,则可以获取当前时刻与上次检测到该预设事件的时刻之间的目标时间间隔。接着,获取预设时间间隔,并将目标时间间隔与预设时间间隔进行比较。如果目标时间间隔小于或等于预设时间间隔,则可以确定该预设事件是异常事件,如果目标时间间隔大于该预设时间间隔,则可以确定该预设事件是正常事件。
在本实施例中,预设时间间隔可以是基于目标云服务器下发的预设字段而得到的,该预设时间间隔是可变的,可以定时或不定时的对该预设时间间隔进行更新。在一种实现方式中,可以直接请求目标云服务器下发预设字段,并基于接收到的预设字段确定预设时间间隔。在另一种实现方式中,还可以接收目标云服务器主动下发预设字段,并基于该预设字段确定预设时间间隔,然后,将预设时间间隔进行存储,使用时,直接从预先存储的数据中取出该预设时间间隔。可以理解,可以通过任意合理的方式获取预设时间间隔,本申请对获取预设时间间隔的具体方式方面不限定。
在步骤205中,若确定该预设事件是正常事件,则执行该预设事件对应的响应操作,若确定该预设事件是异常事件,则忽略该预设事件。
需要说明的是,对于与图1实施例中相同的步骤,在上述图2实施例中不再进行赘述,相关内容可参见图1实施例。
本申请的上述实施例提供的事件响应方法,确定目标可执行文件,确定该目标可执行文件中与目标控件绑定的目标对象,通过该目标对象对应的监听器监测针对目标控件的预设事件。若监测到针对目标控件的预设事件,从目标可执行文件中调用上述监听器对应的预设方法逻辑执行预设操作,以确定该预设事件是正常事件还是异常事件。若确定该预设事件是正常事件,则执行该预设事件对应的响应操作,若确定该预设事件是异常事件,则忽略该预设事件。由于本实施例能够通过监听器监测针对目标控件的预设事件,在监测到预设事件时,调用该监听器对应的预设方法逻辑判断该预设事件是正常事件还是异常事件。并在该预设事件是异常事件时,忽略该预设事件,从而能够实现用户界面的无感知,在不影响用户的体验的情况下,不仅避免了由于异常事件而导致的客户端与服务端进行频繁交互的问题,也减轻了网络负担。
在一些可选实施方式中,上述目标可执行文件可以通过如下方式而得到:首先,获取预先编写好的源程序(例如,该源程序可以是采用Java语言编写的源程序等)。接着,需要对源程序进行编译,以将源程序编译成终端设备可以读取的编码。在对源程序进行编译的过程中,可以根据源程序中预先定义的注解,将目标控件与相应的目标对象进行绑定,创建针对目标对象的监听器,并添加针对监听器的预设方法逻辑。当完成对源程序的编译后,可以得到目标可执行文件。
如图3所示,图3根据一示例性实施例示出的另一种可执行文件的生成方法的流程图,该方法可以应用于服务器中,也可以应用于终端设备中,包括以下步骤:
在步骤301中,对获取到的源程序进行编译。
在本实施例中,源程序可以是预先针对目标客户端编写好的源程序,该源程序可以是采用Java语言编写的源程序,也可以是采用其它编程语言编写的源程序,本申请对源程序所采用具体语言方面不限定。
一般来说,终端设备无法直接读取源程序,必须先对源程序进行编译,得到终端设备可以读取的编码,因此,需要先对获取到的源程序进行编译。
在步骤302中,在上述编译的过程中,根据源程序中预先定义的注解将目标控件与相应的目标对象进行绑定。
在本实施例中,在编写源程序时,可以预先加入自定义的注解,该注解能够标识目标控件与相应的目标对象之间的关联关系。在对源程序进行编译的过程中,可以根据源程序中预先定义的注解,将目标控件与关联的目标对象进行绑定。
其中,目标控件可以是上述目标客户端对应的用户界面上的虚拟控件(如,按钮控件,或开关控件等)。目标控件可以用于触发该目标客户端与服务端进行交互(如,向服务端发送请求,或者向服务端上报消息等)。可以理解,目标控件可以是任意能够用于触发该目标客户端与服务端进行交互的控件,本申请对目标控件的具体类型方面不限定。
其中,对象指的是类创建出来的实例,目标对象可以是将目标类实例化以后得到的对象。
在步骤303中,创建针对目标对象的监听器,该监听器用于监测针对目标控件的预设事件。
在本实施例中,在将目标控件与关联的目标对象进行绑定后,接着,可以创建针对目标对象的监听器,该监听器用于监测针对目标控件的预设事件。其中,针对目标控件的预设事件可以是对目标控件进行触发的事件,例如,预设事件可以是对目标控件进行单击的事件,也可以是对目标控件进行双击的事件,还可以是对目标控件进行滑动操作的事件等等。可以理解,本申请对此方面不限定。
在步骤304中,添加针对该监听器的预设方法逻辑,该预设方法逻辑在该监听器监测到上述预设事件时,被调用执行预设操作,以确定该预设事件是正常事件还是异常事件。
在本实施例中,上述预设方法逻辑在上述监听器监测到预设事件时,被调用执行预设操作,其中,可以通过如下方式执行预设操作:首先,确定是否是首次检测到该预设事件。如果确定是首次检测到该预设事件,则可以确定该预设事件是正常事件。如果确定不是首次检测到该预设事件,则可以获取当前时刻与上次检测到该预设事件的时刻之间的目标时间间隔。接着,获取预设时间间隔,并将目标时间间隔与预设时间间隔进行比较。如果目标时间间隔小于或等于预设时间间隔,则可以确定该预设事件是异常事件,如果目标时间间隔大于该预设时间间隔,则可以确定该预设事件是正常事件。
在步骤305中,响应于完成对源程序的编译,得到目标可执行文件。
在本实施例中,完成对源程序的编译,从而得到目标可执行文件。然后,当在终端设备中安装上述目标客户端时,可以将该目标客户端对应的目标可执行文件存储于终端设备中。当开启目标客户端时,首先可以运行该目标可执行文件。当目标可执行文件中与目标控件绑定的目标对象所对应的监听器监测到针对目标控件的预设事件时,可以从目标可执行文件中调用该监听器对应的预设方法逻辑执行预设操作,以确定该预设事件是正常事件还是异常事件。若确定该预设事件是正常事件,则执行该预设事件对应的响应操作,若确定该预设事件是异常事件,则忽略该预设事件。
本申请的上述实施例提供的可执行文件的生成方法,对获取到的源程序进行编译,在上述编译的过程中,根据源程序中预先定义的注解将目标控件与相应的目标对象进行绑定,创建针对目标对象的监听器,该监听器用于监测针对目标控件的预设事件,添加针对该监听器的预设方法逻辑,该预设方法逻辑在该监听器监测到上述预设事件时,被调用执行预设操作,以确定该预设事件是正常事件还是异常事件,响应于完成对源程序的编译,得到目标可执行文件。由于在运行本实施例得到的目标可执行文件时,能够监测针对目标控件的预设事件,并能够判断监测到的预设事件是正常事件还是异常事件。在该预设事件是异常事件时,忽略该预设事件,从而能够实现用户界面的无感知,在不影响用户的体验的情况下,不仅避免了由于异常事件而导致的客户端与服务端进行频繁交互的问题,也减轻了网络负担。
应当注意,尽管在上述实施例中,以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,流程图中描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
与前述事件响应方法及可执行文件的生成方法实施例相对应,本申请还提供了事件响应装置及可执行文件的生成装置的实施例。
如图4所示,图4是本申请根据一示例性实施例示出的一种事件响应装置框图,该装置可以包括:确定模块401,监测模块402,判定模块403和执行模块404。
其中,确定模块401,用于确定目标可执行文件。
监测模块402,用于基于目标可执行文件监测针对目标控件的预设事件。
判定模块403,用于在监测到上述预设事件时,确定该预设事件是正常事件还是异常事件。
执行模块404,用于在确定该预设事件是正常事件时,执行该预设事件对应的响应操作,在确定该预设事件是异常事件时,忽略该预设事件。
如图5所示,图5是本申请根据一示例性实施例示出的另一种事件响应装置框图,该实施例在前述图4所示实施例的基础上,监测模块402可以包括:确定子模块501和监测子模块502。
其中,确定子模块501,用于确定目标可执行文件中与目标控件绑定的目标对象。
监测子模块502,用于通过上述目标对象对应的监听器监测针对目标控件的预设事件。
如图6所示,图6是本申请根据一示例性实施例示出的另一种事件响应装置框图,该实施例在前述图4所示实施例的基础上,判定模块403可以包括:调用子模块601。
其中,调用子模块601,用于从目标可执行文件中调用上述监听器对应的预设方法逻辑执行预设操作,以确定该预设事件是正常事件还是异常事件。
在一些可选实施方式中,调用子模块601被配置用于:如果确定首次检测到上述预设事件,则确定该预设事件是正常事件。如果确定非首次检测到上述预设事件,确定当前时刻与上次检测到上述预设事件的时刻之间的目标时间间隔,获取预设时间间隔。如果目标时间间隔小于或等于预设时间间隔,则确定该预设事件是异常事件,如果目标时间间隔大于预设时间间隔,则确定该预设事件是正常事件。
在另一些可选实施方式中,预设时间间隔为基于目标云服务器下发的预设字段而得到的。
在另一些可选实施方式中,目标可执行文件可以通过如下方式而得到:在对获取到的源程序进行编译的过程中,根据源程序中预先定义的注解,将目标控件与相应的目标对象进行绑定,创建针对目标对象的监听器,添加针对监听器的预设方法逻辑,响应于完成对源程序的编译,得到目标可执行文件。
应当理解,上述装置可以预先设置在终端设备中,也可以通过下载等方式而加载到终端设备中。上述装置中的相应模块可以与终端设备中的模块相互配合以实现事件响应方案。
如图7所示,图7是本申请根据一示例性实施例示出的一种可执行文件的生成装置框图,该装置可以包括:编译模块701,绑定模块702,创建模块703,添加模块704和获取模块705。
其中,编译模块701,用于对获取到的源程序进行编译。
绑定模块702,用于在编译的过程中,根据源程序中预先定义的注解将目标控件与相应的目标对象进行绑定。
创建模块703,用于创建针对目标对象的监听器,该监听器用于监测针对目标控件的预设事件。
添加模块704,用于添加针对该监听器的预设方法逻辑,该预设方法逻辑在该监听器监测到预设事件时,被调用执行预设操作,以确定该预设事件是正常事件还是异常事件。
获取模块705,用于响应于完成对源程序的编译,得到目标可执行文件。
在一些可选实施方式中,该预设方法逻辑被调用时,通过如下方式执行预设操作:如果确定首次检测到上述预设事件,则确定该预设事件是正常事件。如果确定非首次检测到上述预设事件,确定当前时刻与上次检测到上述预设事件的时刻之间的目标时间间隔,获取预设时间间隔。如果目标时间间隔小于或等于预设时间间隔,则确定该预设事件是异常事件,如果目标时间间隔大于预设时间间隔,则确定该预设事件是正常事件。
应当理解,上述装置可以预先设置在终端设备或服务器中,也可以通过下载等方式而加载到终端设备或服务器中。上述装置中的相应模块可以与终端设备或服务器中的模块相互配合以实现可执行文件的生成方案。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本申请实施例还提供了一种计算机可读存储介质,该存储介质存储有计算机程序,计算机程序可用于执行上述图1至图2任一实施例提供的事件响应方法。
对应于上述的事件响应方法,本申请实施例还提出了图8所示的根据本申请的一示例性实施例的电子设备的示意结构图。请参考图8,在硬件层面,该电子设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成事件响应装置。当然,除了软件实现方式之外,本申请并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
本申请实施例还提供了一种计算机可读存储介质,该存储介质存储有计算机程序,计算机程序可用于执行上述图3实施例提供的可执行文件的生成方法。
对应于上述的可执行文件的生成方法,本申请实施例还提出了图9所示的根据本申请的一示例性实施例的电子设备的示意结构图。请参考图9,在硬件层面,该电子设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成可执行文件的生成装置。当然,除了软件实现方式之外,本申请并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

Claims (8)

1.一种事件响应方法,其特征在于,所述方法包括:
确定目标可执行文件;
基于所述目标可执行文件监测针对目标控件的预设事件;
若监测到所述预设事件,确定所述预设事件是正常事件还是异常事件;
若确定所述预设事件是正常事件,则执行所述预设事件对应的响应操作,若确定所述预设事件是异常事件,则忽略所述预设事件;
所述基于所述目标可执行文件监测针对目标控件的预设事件,包括:
确定所述目标可执行文件中与所述目标控件绑定的目标对象;
通过所述目标对象对应的监听器监测针对所述目标控件的预设事件;
所述确定所述预设事件是正常事件还是异常事件,包括:
从所述目标可执行文件中调用所述监听器对应的预设方法逻辑执行预设操作,以确定所述预设事件是正常事件还是异常事件;
所述执行预设操作,包括:
如果确定首次检测到所述预设事件,则确定所述预设事件是正常事件;
如果确定非首次检测到所述预设事件,确定当前时刻与上次检测到所述预设事件的时刻之间的目标时间间隔;
获取预设时间间隔;
如果所述目标时间间隔小于或等于所述预设时间间隔,则确定所述预设事件是异常事件,如果所述目标时间间隔大于所述预设时间间隔,则确定所述预设事件是正常事件。
2.根据权利要求1所述的方法,其特征在于,所述预设时间间隔为基于目标云服务器下发的预设字段而得到的。
3.根据权利要求1-2中任一所述的方法,其特征在于,所述目标可执行文件通过如下方式而得到:
在对获取到的源程序进行编译的过程中,根据所述源程序中预先定义的注解,将所述目标控件与相应的目标对象进行绑定;
创建针对所述目标对象的监听器;
添加针对所述监听器的预设方法逻辑;
响应于完成对所述源程序的编译,得到所述目标可执行文件。
4.一种可执行文件的生成方法,其特征在于,所述方法包括:
对获取到的源程序进行编译;
在所述编译的过程中,根据所述源程序中预先定义的注解将目标控件与相应的目标对象进行绑定;
创建针对所述目标对象的监听器,所述监听器用于监测针对所述目标控件的预设事件;
添加针对所述监听器的预设方法逻辑,所述预设方法逻辑在所述监听器监测到所述预设事件时,被调用执行预设操作,以确定所述预设事件是正常事件还是异常事件;
响应于完成对所述源程序的编译,得到目标可执行文件;
所述预设方法逻辑被调用时,通过如下方式执行预设操作:
如果确定首次检测到所述预设事件,则确定所述预设事件是正常事件;
如果确定非首次检测到所述预设事件,确定当前时刻与上次检测到所述预设事件的时刻之间的目标时间间隔;
获取预设时间间隔;
如果所述目标时间间隔小于或等于所述预设时间间隔,则确定所述预设事件是异常事件,如果所述目标时间间隔大于所述预设时间间隔,则确定所述预设事件是正常事件。
5.一种事件响应装置,其特征在于,所述装置包括:
确定模块,用于确定目标可执行文件;
监测模块,用于基于所述目标可执行文件监测针对目标控件的预设事件;
判定模块,用于在监测到所述预设事件时,确定所述预设事件是正常事件还是异常事件;
执行模块,用于在确定所述预设事件是正常事件时,执行所述预设事件对应的响应操作,在确定所述预设事件是异常事件时,忽略所述预设事件;
所述监测模块具体用于,确定所述目标可执行文件中与所述目标控件绑定的目标对象;通过所述目标对象对应的监听器监测针对所述目标控件的预设事件;
所述判定模块具体用于,从所述目标可执行文件中调用所述监听器对应的预设方法逻辑执行预设操作,以确定所述预设事件是正常事件还是异常事件;所述执行预设操作,包括:如果确定首次检测到所述预设事件,则确定所述预设事件是正常事件;如果确定非首次检测到所述预设事件,确定当前时刻与上次检测到所述预设事件的时刻之间的目标时间间隔,获取预设时间间隔,如果所述目标时间间隔小于或等于所述预设时间间隔,则确定所述预设事件是异常事件,如果所述目标时间间隔大于所述预设时间间隔,则确定所述预设事件是正常事件。
6.一种可执行文件的生成装置,其特征在于,所述装置包括:
编译模块,用于对获取到的源程序进行编译;
绑定模块,用于在所述编译的过程中,根据所述源程序中预先定义的注解将目标控件与相应的目标对象进行绑定;
创建模块,用于创建针对所述目标对象的监听器,所述监听器用于监测针对所述目标控件的预设事件;
添加模块,用于添加针对所述监听器的预设方法逻辑,所述预设方法逻辑在所述监听器监测到所述预设事件时,被调用执行预设操作,以确定所述预设事件是正常事件还是异常事件;所述执行预设操作,包括:如果确定首次检测到所述预设事件,则确定所述预设事件是正常事件;如果确定非首次检测到所述预设事件,确定当前时刻与上次检测到所述预设事件的时刻之间的目标时间间隔,获取预设时间间隔,如果所述目标时间间隔小于或等于所述预设时间间隔,则确定所述预设事件是异常事件,如果所述目标时间间隔大于所述预设时间间隔,则确定所述预设事件是正常事件;
获取模块,用于响应于完成对所述源程序的编译,得到目标可执行文件。
7.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述权利要求1-4中任一项所述的方法。
8.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述权利要求1-4中任一项所述的方法。
CN201810555873.7A 2018-05-31 2018-05-31 事件响应及文件生成的方法、装置及电子设备 Active CN108874569B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810555873.7A CN108874569B (zh) 2018-05-31 2018-05-31 事件响应及文件生成的方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810555873.7A CN108874569B (zh) 2018-05-31 2018-05-31 事件响应及文件生成的方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN108874569A CN108874569A (zh) 2018-11-23
CN108874569B true CN108874569B (zh) 2021-07-30

Family

ID=64336790

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810555873.7A Active CN108874569B (zh) 2018-05-31 2018-05-31 事件响应及文件生成的方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN108874569B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113032172B (zh) * 2021-03-04 2024-05-28 北京字节跳动网络技术有限公司 异常检测方法、装置和电子设备
CN114756298B (zh) * 2022-04-20 2024-06-04 广州博冠信息科技有限公司 程序实例管理方法及装置、计算机存储介质、电子设备

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103049164A (zh) * 2011-10-14 2013-04-17 上海可鲁系统软件有限公司 一种动态矢量图形快速响应操作的方法及其控制设备
CN103577290A (zh) * 2013-11-01 2014-02-12 广东欧珀移动通信有限公司 一种测试脚本的回放节奏控制方法及系统
CN105718370A (zh) * 2016-01-21 2016-06-29 上海斐讯数据通信技术有限公司 一种Android设备测试方法及测试装置
CN106095666A (zh) * 2016-06-02 2016-11-09 腾讯科技(深圳)有限公司 游戏自动化测试方法及相关装置
CN106708645A (zh) * 2016-12-01 2017-05-24 珠海市魅族科技有限公司 误操作处理方法、误操作处理装置和终端
CN106775728A (zh) * 2016-12-20 2017-05-31 珠海市魅族科技有限公司 一种移动终端的控制方法及装置
CN107908443A (zh) * 2017-10-10 2018-04-13 武汉极意网络科技有限公司 一种事件监听方法、智能设备及存储介质
EP2783284B1 (en) * 2011-11-22 2019-03-13 Solano Labs, Inc. System of distributed software quality improvement

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7877681B2 (en) * 2002-12-05 2011-01-25 Borland Software Corporation Automatic context management for web applications with client side code execution
US7417626B2 (en) * 2003-09-16 2008-08-26 Microsoft Corporation Method for processing data quantifying force applied to one or more keys of a computer keyboard

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103049164A (zh) * 2011-10-14 2013-04-17 上海可鲁系统软件有限公司 一种动态矢量图形快速响应操作的方法及其控制设备
EP2783284B1 (en) * 2011-11-22 2019-03-13 Solano Labs, Inc. System of distributed software quality improvement
CN103577290A (zh) * 2013-11-01 2014-02-12 广东欧珀移动通信有限公司 一种测试脚本的回放节奏控制方法及系统
CN105718370A (zh) * 2016-01-21 2016-06-29 上海斐讯数据通信技术有限公司 一种Android设备测试方法及测试装置
CN106095666A (zh) * 2016-06-02 2016-11-09 腾讯科技(深圳)有限公司 游戏自动化测试方法及相关装置
CN106708645A (zh) * 2016-12-01 2017-05-24 珠海市魅族科技有限公司 误操作处理方法、误操作处理装置和终端
CN106775728A (zh) * 2016-12-20 2017-05-31 珠海市魅族科技有限公司 一种移动终端的控制方法及装置
CN107908443A (zh) * 2017-10-10 2018-04-13 武汉极意网络科技有限公司 一种事件监听方法、智能设备及存储介质

Also Published As

Publication number Publication date
CN108874569A (zh) 2018-11-23

Similar Documents

Publication Publication Date Title
US11960912B2 (en) Methods for user interface generation and application modification
US20230024387A1 (en) System and method for detecting and fixing robotic process automation failures
CN107193750B (zh) 一种脚本录制方法和装置
US8171346B2 (en) Client session based debugging
CN110442502B (zh) 一种埋点的方法、装置、设备及存储介质
CN104834602B (zh) 一种程序发布方法、装置和程序发布系统
JP7106001B2 (ja) サブアプリケーション開発方法、装置、コンピュータ機器、並びにコンピュータプログラム
CN111930472B (zh) 一种代码调试方法、装置、电子设备及存储介质
CN108255708B (zh) 测试环境中访问生产文件的方法、装置、存储介质及设备
CN103777967A (zh) 页面返回方法、页面生成方法和装置
CN107678782B (zh) 一种进程保护方法、装置、设备以及计算机可读存储介质
CN105183457A (zh) 一种监听界面生命周期回调的方法及装置
CN110908702B (zh) 一种版本切换方法、版本切换装置、计算机设备及存储介质
CN108874569B (zh) 事件响应及文件生成的方法、装置及电子设备
CN111159039A (zh) 一种服务模拟方法、系统、设备和存储介质
CN108646577B (zh) 一种客户端运行管理方法及客户端
CN111045941B (zh) 用户界面控件的定位方法、装置及存储介质
CN110020330B (zh) 页面跳转方法及页面跳转装置、设备和存储介质
CN115543827A (zh) 一种埋点数据展示方法及装置
CN110046100B (zh) 一种分组测试的方法、电子设备及介质
CN112052447A (zh) 针对软件开发工具包的隔离方法、装置、终端及存储介质
CN107102937B (zh) 一种用户界面测试方法和装置
CN106294119B (zh) 测试调度系统、方法及终端设备
CN110543429A (zh) 测试用例调试方法、装置及存储介质
CN109995931B (zh) 一种实现自动呼叫的方法及装置

Legal Events

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