一种延后响应用户操作的方法及系统技术方案

技术编号:28941200 阅读:92 留言:0更新日期:2021-06-18 21:45
本发明专利技术公开了一种延后响应用户操作的方法及系统,当检测到用户的操作时,首先等待一段时间,然后再响应用户的操作,如果在等待期间又持续检测到用户的同类型操作,那么等待时间相应地延长,通过这种方式来解决用户的快速密集操作和任务执行慢之间的匹配问题,即用户在短时间内连续的进行多次同类型操作时,软件仅对最后一次操作做出响应;当用户操作是对应一个需要耗时比较长的任务而这个任务又不允许中途被中断时,延时处理的方式可以避免出现同一个任务多次重复执行的问题。

【技术实现步骤摘要】
一种延后响应用户操作的方法及系统
本专利技术涉及软件人机界面编程
,尤其涉及一种延后响应用户操作的方法及系统。
技术介绍
传统的技术方案主要用了限制的方式来处理用户的快速密集操作,这些方案需要开发人员在软件界面上采取一些限制用户操作的措施,比如在执行耗时任务期间将某些界面元素设置为不可用状态,当耗时任务完成时再将这些界面元素设置为可用状态。使用限制方式的技术方案容易带来以下缺点: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(光学相干断层扫描(opticalcoherencetomography))产品中,有一个切换扫描模式的操作,具体如下:1、用户点击“切换”按钮2、软件执行切换任务由于切换任务需要耗时比较多(几秒钟),而用户的切换操作是1秒以内就可以完成,当用户连续快速地点击“切换”按钮时(很多用户喜欢这样操作!),软件就无法及时响应容易出错。采用本申请的技术方案后,由于采用了延后处理的方法,因而可以避免软件出现异常。本文档来自技高网...

【技术保护点】
1.一种延后响应用户操作的方法,其特征在于:具体包括以下步骤:/nS1、当检测到用户操作时,启动预先定时的等待时间并计时,根据超时条件来触发任务的执行,并在任务执行开始后停止计时;/nS2、当频繁检测到用户操作时,相应地反复重置等待时间并计时,使计时无法满足超时条件,就不会执行任务;/nS3、当频繁检测到用户操作结束后,以最后一次检测为准,重置等待时间并计时,根据超时条件来触发任务的执行,并在任务开始执行以后销毁与之对应的等待时间,以做好执行下一次任务的准备。/n

【技术特征摘要】
1.一种延后响应用户操作的方法,其特征在于:具体包括以下步骤:
S1、当检测到用户操作时,启动预先定时的等待时间并计时,根据超时条件来触发任务的执行,并在任务执行开始后停止计时;
S2、当频繁检测到用户操作时,相应地反复重置等待时间并计时,使计时无法满足超时条件,就不会执行任务;
S3、当频繁检测到用户操作结束后,以最后一次检测为准,重置等待时间并计时,根据超时条件来触发任务的执行,并在任务开始执行以后销毁与之对应的等待时间,以做好执行下一次任务的准备。


2.根据权利要求1所述的延后响应用户操作的方法,其特征在于:所述的等待时间是由用户设定的。


3.根据权利要求1所述的延后响应用户操作的方法,其特征在于:所述的等待时间是由用户通过定时器设定的。


4.一种延后响应用户操作的系统,其特征在于:包括控制模块、定时器、软件界面检...

【专利技术属性】
技术研发人员:王帅代祥松
申请(专利权)人:深圳市斯尔顿科技有限公司
类型:发明
国别省市:广东;44

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

1