CN112988146A - 一种延后响应用户操作的方法及系统 - Google Patents
一种延后响应用户操作的方法及系统 Download PDFInfo
- Publication number
- CN112988146A CN112988146A CN202110170204.XA CN202110170204A CN112988146A CN 112988146 A CN112988146 A CN 112988146A CN 202110170204 A CN202110170204 A CN 202110170204A CN 112988146 A CN112988146 A CN 112988146A
- Authority
- CN
- China
- Prior art keywords
- task
- user
- timer
- user operation
- module
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 17
- 238000001514 detection method Methods 0.000 claims description 21
- 230000002035 prolonged effect Effects 0.000 abstract 1
- 238000003672 processing method Methods 0.000 description 3
- 230000003111 delayed effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012014 optical coherence tomography Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种延后响应用户操作的方法及系统,当检测到用户的操作时,首先等待一段时间,然后再响应用户的操作,如果在等待期间又持续检测到用户的同类型操作,那么等待时间相应地延长,通过这种方式来解决用户的快速密集操作和任务执行慢之间的匹配问题,即用户在短时间内连续的进行多次同类型操作时,软件仅对最后一次操作做出响应;当用户操作是对应一个需要耗时比较长的任务而这个任务又不允许中途被中断时,延时处理的方式可以避免出现同一个任务多次重复执行的问题。
Description
技术领域
本发明涉及软件人机界面编程技术领域,尤其涉及一种延后响应用户操作的方法及系统。
背景技术
传统的技术方案主要用了限制的方式来处理用户的快速密集操作,这些方案需要开发人员在软件界面上采取一些限制用户操作的措施,比如在执行耗时任务期间将某些界面元素设置为不可用状态,当耗时任务完成时再将这些界面元素设置为可用状态。使用限制方式的技术方案容易带来以下缺点:
1)开发人员需要关注界面元素的状态以及任务的运行状态,当界面元素比较多时,往往需花费大量时间来处理,然而这些界面状态的处理实际上并不属于软件的功能,但是又需要投入大量时间,因此开发效率比较低;
2)由于设置界面元素状态的操作不是一个原子操作,即这个操作本身在运行过程中就存在被系统调度中断的可能,那么软件的界面元素状态在最终变成不可用之前仍然可能会接收到用户的重复操作,无法彻底避免重复执行同一个任务的问题;
3)开发人员需要关注界面和任务相关的控制细节,因此对于不同的界面和任务,处理方式无法统一,代码很难复用。
发明内容
本发明目的就是为了弥补已有技术的缺陷,提供一种延后响应用户操作的方法及系统。
本发明是通过以下技术方案实现的:
一种延后响应用户操作的方法,用于处理用户的快速密集操作,具体包括以下步骤:
S1、当检测到用户操作时,启动预先定时的等待时间并计时,根据超时条件来触发任务的执行,并在任务执行开始以后停止计时;
S2、当频繁检测到用户操作时,相应地反复重置等待时间并计时,使计时无法满足超时条件,就不会执行任务;
S3、当频繁检测到用户操作结束后,以最后一次检测为准,重置等待时间并计时,根据超时条件来触发任务的执行,并在任务执行开始以后销毁与之对应的等待时间,以做好执行下一次任务的准备。
所述的等待时间是由用户设定的。
所述的等待时间是由用户通过定时器设定的。
一种延后响应用户操作的系统,包括控制模块、定时器、软件界面检测模块和任务模块;
当软件界面检测模块检测到用户操作时,控制模块直接启动或重置定时器;
定时器根据超时条件来触发任务模块执行任务,并在任务开始以后销毁与其对应的定时器;
当软件界面检测模块频繁检测到用户操作时,就持续地通知控制模块,控制模块也相应地反复重置定时器,这样就使得定时器一直无法满足超时的条件,就不会执行任务;
当软件界面检测模块检测到频繁的用户操作结束后,以最后一次检测为准,定时器根据超时条件来触发任务模块执行任务,任务执行开始以后,销毁与之对应的定时器,以做好执行下一次任务的准备。
所述的任务模块提供了一个通用的任务接口规范。
所述的任务接口规范的数据结构为:
本发明的优点是:本发明不在界面上限制用户的操作,开发者不用再关注任务运行状态与界面可用状态之间的联系;在界面线程上判断用户的操作,然后根据用户的操作设置定时器,由定时器启动任务或者等待,由于用户的操作在界面线程上是按顺序接收的,因此对于定时器的设置也是按顺序进行,可避免同一个任务被多次重复执行的问题;本发明提出的处理方法不与具体的界面和任务绑定,因此可以方便地实现代码复用。
附图说明
图1为本发明整体流程图。
图2为当检测到用户操作时,启动预先定时的等待时间或者重置等待时间部分的流程图。
图3为根据超时条件来触发任务的执行,并在任务结束后销毁等待时间部分的流程图。
图4为本发明系统结构图。
具体实施方式
一种延后响应用户操作的方法,用于处理用户的快速密集操作,具体包括以下步骤:
如图1、2、3所示,S1、当检测到用户操作时,启动预先定时的等待时间并计时,根据超时条件来触发任务的执行,并在任务执行开始以后停止计时;
S2、当频繁检测到用户操作时,相应地反复重置等待时间并计时,使计时无法满足超时条件,就不会执行任务,实现延时效果;
S3、当频繁检测到用户操作结束后,以最后一次检测为准,重置等待时间并计时,根据超时条件来触发任务的执行,并在任务执行开始后销毁与之对应的等待时间,以做好执行下一次任务的准备。
所述的等待时间是由用户设定的。
所述的等待时间是由用户通过定时器设定的。
如图4所示,一种延后响应用户操作的系统,包括控制模块1、定时器2、软件界面检测模块3和任务模块4;
当软件界面检测模块3频繁检测到用户时,控制模块1直接启动或重置定时器2;
定时器2根据超时条件来触发任务模块4执行任务,并在任务结束后销毁与其对应的定时器2;
当软件界面检测模块3频繁检测到用户操作时,就持续地通知控制模块1,控制模块1也相应地反复重置定时器2,这样就使得定时器一直无法满足超时的条件,就不会执行任务,实现延时效果;
当软件界面检测模块3检测到频繁的用户操作结束后,以最后一次检测为准,定时器2根据超时条件来触发任务模块4执行任务,任务执行开始以后销毁与之对应的定时器,以做好执行下一次任务的准备。
任务模块4提供了一个通用的任务接口规范5,以保证控制模块可以识别这些任务,以下数据结构展示了任务接口的规范:
定时器的计时功能,可以周期性地执行指定程序。
抽象基类:本发明封装了统一编程接口的数据结构,提供接口的开发规范。
界面线程接收用户的操作,所有接收到的操作都交由控制模块来处理,控制模块启动或重置定时器,最终由定时器触发任务的执行。
本发明提供的思路关键点在于:每次都是以用户的最后一次操作作为时间起点重新计算任务的启动时间,主要包含以下特征:
1)界面上不限制用户的操作,不关联任务的运行状态(启动、停止)
2)利用定时器定时触发的功能来执行任务以及通过重置定时器进行任务的延迟执行
3)定义任务的接口规范实现代码复用;
本发明所用到的定时器是操作系统提供的功能,对于定时器的一种替代方案是:使用工作者线程进行时间的计算以及触发任务执行。
软件延后处理方法主要是为了解决用户的快速操作和软件任务运行缓慢之间的矛盾。
比如,在某OCT(光学相干断层扫描(optical coherence tomography))产品中,有一个切换扫描模式的操作,具体如下:
1、用户点击“切换”按钮
2、软件执行切换任务
由于切换任务需要耗时比较多(几秒钟),而用户的切换操作是1秒以内就可以完成,当用户连续快速地点击“切换”按钮时(很多用户喜欢这样操作!),软件就无法及时响应容易出错。采用本申请的技术方案后,由于采用了延后处理的方法,因而可以避免软件出现异常。
Claims (6)
1.一种延后响应用户操作的方法,其特征在于:具体包括以下步骤:
S1、当检测到用户操作时,启动预先定时的等待时间并计时,根据超时条件来触发任务的执行,并在任务执行开始后停止计时;
S2、当频繁检测到用户操作时,相应地反复重置等待时间并计时,使计时无法满足超时条件,就不会执行任务;
S3、当频繁检测到用户操作结束后,以最后一次检测为准,重置等待时间并计时,根据超时条件来触发任务的执行,并在任务开始执行以后销毁与之对应的等待时间,以做好执行下一次任务的准备。
2.根据权利要求1所述的延后响应用户操作的方法,其特征在于:所述的等待时间是由用户设定的。
3.根据权利要求1所述的延后响应用户操作的方法,其特征在于:所述的等待时间是由用户通过定时器设定的。
4.一种延后响应用户操作的系统,其特征在于:包括控制模块、定时器、软件界面检测模块和任务模块;
当软件界面检测模块检测到用户操作时,控制模块直接启动或重置定时器;
定时器根据超时条件来触发任务模块执行任务,并在任务开始执行以后销毁与其对应的定时器;
当软件界面检测模块频繁检测到用户操作时,就持续地通知控制模块,控制模块也相应地反复重置定时器,这样就使得定时器一直无法满足超时的条件,就不会执行任务;
当软件界面检测模块检测到频繁的用户操作结束后,以最后一次检测为准,定时器根据超时条件来触发任务模块执行任务,在任务开始执行以后,销毁与之对应的定时器,以做好执行下一次任务的准备。
5.根据权利要求4所述的延后响应用户操作的系统,其特征在于:所述的任务模块提供了一个通用的任务接口规范。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110170204.XA CN112988146A (zh) | 2021-02-05 | 2021-02-05 | 一种延后响应用户操作的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110170204.XA CN112988146A (zh) | 2021-02-05 | 2021-02-05 | 一种延后响应用户操作的方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112988146A true CN112988146A (zh) | 2021-06-18 |
Family
ID=76349172
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110170204.XA Pending CN112988146A (zh) | 2021-02-05 | 2021-02-05 | 一种延后响应用户操作的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112988146A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101140550A (zh) * | 2007-08-22 | 2008-03-12 | 中兴通讯股份有限公司 | 一种嵌入式实时系统中断处理装置及方法 |
CN104765557A (zh) * | 2015-03-18 | 2015-07-08 | 北京畅游天下网络技术有限公司 | 一种减少触摸屏误操作的方法及装置 |
US9286106B1 (en) * | 2013-04-16 | 2016-03-15 | Ca, Inc. | Scheduling periodic tasks with dependencies and determining improper loop dependencies between tasks placed in a waiting tasks set and in a unfinished dependent tasks set |
-
2021
- 2021-02-05 CN CN202110170204.XA patent/CN112988146A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101140550A (zh) * | 2007-08-22 | 2008-03-12 | 中兴通讯股份有限公司 | 一种嵌入式实时系统中断处理装置及方法 |
US9286106B1 (en) * | 2013-04-16 | 2016-03-15 | Ca, Inc. | Scheduling periodic tasks with dependencies and determining improper loop dependencies between tasks placed in a waiting tasks set and in a unfinished dependent tasks set |
CN104765557A (zh) * | 2015-03-18 | 2015-07-08 | 北京畅游天下网络技术有限公司 | 一种减少触摸屏误操作的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4562568B2 (ja) | 異常検出プログラムおよび異常検出方法 | |
CN106933687B (zh) | 定时方法、装置及电子设备 | |
CN105528257B (zh) | 一种单进程数据处理方法及装置 | |
US20040031034A1 (en) | System, method and software for reducing interrupt latency while polling in system management mode | |
US7032211B1 (en) | Method for managing user scripts utilizing a component object model object (COM) | |
EP3499373A1 (en) | Method and apparatus for processing process | |
CN114003396A (zh) | 一种内核软死锁处理方法、装置、设备及存储介质 | |
CN112988146A (zh) | 一种延后响应用户操作的方法及系统 | |
CN109491771B (zh) | 基于系统性能优化的任务处理方法及相关设备 | |
JP2965075B2 (ja) | プログラム実行状態監視方法 | |
CN106980555B (zh) | 一种超时线程处理方法及装置 | |
JP2006227962A (ja) | アプリケーションタスク監視システムおよび方法 | |
CN112463348A (zh) | 一种定时任务处理方法及装置 | |
JP2000132428A (ja) | コンピュータシステム、コンピュータシステムのアプリケーション監視方法、及びプログラム記録媒体 | |
CN111796949A (zh) | 通讯任务处理方法、装置、设备及存储介质 | |
JP2000311099A (ja) | プロセス監視システムおよびプロセス監視方法 | |
JPH064318A (ja) | エラー検出方式 | |
CN114647540B (zh) | 嵌入式调度器故障恢复方法、嵌入式系统及存储介质 | |
JPH11282725A (ja) | 計算機 | |
CN111597016B (zh) | 一种系统任务的时间保护方法、系统、存储介质及终端 | |
CN109992389B (zh) | 触摸类程序的执行方法、装置、终端及存储介质 | |
JP2762817B2 (ja) | アプリケーションプログラムのループ/ストール監視装置 | |
JP2003256243A (ja) | プロセスストール監視方法及び監視システム | |
CN111930433A (zh) | 一种信息处理方法、电子设备和计算机可读存储介质 | |
JP2012043148A (ja) | 監視装置及び監視プログラム |
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 |