一种刷新任务的管理方法及装置与流程

文档序号:18213247发布日期:2019-07-19 22:27阅读:247来源:国知局
一种刷新任务的管理方法及装置与流程

本说明书实施例涉及单页应用技术领域,尤其涉及一种刷新任务的管理方法及装置。



背景技术:

单页应用(singlepageapplication,简称为spa)是一种特殊的web页面应用。它将所有的活动局限于一个web页面中,仅在该web页面初始化时加载相应的html、css(cascadingstylesheets,层叠样式表)以及javascript。一旦页面加载完成了,单页应用不会因为用户的操作而进行页面的重新加载或跳转,取而代之的是利用javascript动态的变换html的内容(通常以组件的形式表现,组件是对数据和方法的简单封装),从而实现ui与用户的交互。由于单页应用避免了页面的重新加载,可以提供较为流畅的用户体验。

目前对于传统的单页应用,尤其是对于监控类型的单页应用,其包含大量组件(每个组件均有自己的生命周期),均需要实现自动刷新功能。而目前单页应用各组件一般通过刷新任务实现自动刷新功能,一般单页应用将刷新任务交给组件本身进行管理,即当组件加载时组件自身开启刷新任务,然后当组件卸载时组件自身取消刷新任务,期间当外部事件触发(如参数变化)时,组件需要自行处理,并执行一次刷新任务以保证数据一致性。

由于每个组件本身管理刷新任务,期间当外部事件触发时,每个组件需要自行处理,并执行一次刷新任务以保证数据一致性,如此编码复杂度较高,相应的会耗费开发人员较多的时间和精力。



技术实现要素:

针对上述技术问题,本说明书实施例提供一种刷新任务的管理方法及装置,技术方案如下:

一种刷新任务的管理方法,应用于单页应用,在所述单页应用中预先配置任务管理中心,该方法包括:

当接收到任一组件发送的刷新任务注册指令时,任务管理中心建立对应的刷新任务;

当外部事件触发时,任务管理中心访问所述单页应用中当前包含的各组件,获取所述外部事件触发所产生的当前参数信息;

根据所述当前参数信息,任务管理中心执行为所述单页应用中当前包含的各组件已建立的各自对应的刷新任务,以使所述单页应用中当前包含的各组件获取所述当前参数信息对应的最新数据;

当接收到任一组件发送的刷新任务取消指令时,任务管理中心移除对应的刷新任务。

一种刷新任务的管理装置,应用于单页应用,该装置包括:

配置模块,用于在所述单页应用中预先配置任务管理中心;

任务建立模块,用于当接收到任一组件发送的刷新任务注册指令时,任务管理中心建立对应的刷新任务;

信息获取模块,用于当外部事件触发时,任务管理中心访问所述单页应用中当前包含的各组件,获取所述外部事件触发所产生的当前参数信息;

任务执行模块,用于根据所述当前参数信息,任务管理中心执行为所述单页应用中当前包含的各组件已建立的各自对应的刷新任务,以使所述单页应用中当前包含的各组件获取所述当前参数信息对应的最新数据;

任务移除模块,用于当接收到任一组件发送的刷新任务取消指令时,任务管理中心移除对应的刷新任务。

本说明书实施例所提供的技术方案,在单页应用中预先配置任务管理中心,任务管理中心可以统一管理刷新任务:当接收到任一组件发送的刷新任务注册指令时,任务管理中心建立对应的刷新任务;当外部事件触发时,任务管理中心访问单页应用中当前包含的各组件,获取外部事件触发所产生的当前参数信息,根据该当前参数信息,执行为单页应用中当前包含的各组件已建立的各自对应的刷新任务,以使单页应用中当前包含的各组件获取当前参数信息对应的最新数据;当接收到任一组件发送的刷新任务取消指令时,任务管理中心移除对应的刷新任务。如此一来,任务管理中心可以统一管理刷新任务,可以使分散在各组件中的数据维护任务统一化,可以有效地降低编码复杂度,相应的也会减少开发人员所耗费的时间和精力。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书实施例。

此外,本说明书实施例中的任一实施例并不需要达到上述的全部效果。

附图说明

为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。

图1是现有技术中单页应用中结构示意图;

图2是本说明书实施例的一种单页应用中结构示意图;

图3是本说明书实施例的一种刷新任务的管理方法的实施流程图;

图4是本说明书实施例的一种刷新任务的管理装置的结构示意图;

图5是用于配置本说明书实施例装置的一种设备的结构示意图。

具体实施方式

单页应用是一种特殊的web页面应用。它将所有的活动局限于一个web页面中,仅在该web页面初始化时加载相应的html、css(cascadingstylesheets,层叠样式表)以及javascript,一切活动都由javascript来控制。一旦页面加载完成了,单页应用不会因为用户的操作而进行页面的重新加载或跳转,取而代之的是利用javascript动态的控制组件加载和卸载,从而实现ui与用户的交互。

目前对于传统的单页应用,尤其是对于监控类型的单页应用,一般包含大量组件,均需要实现自动刷新功能,而目前单页应用各组件一般通过刷新任务实现自动刷新功能。如图1所示,为一单页应用结构示意图,包含4个组件,分别为组件a、组件b、组件c、组件d,每个组件均可以通过刷新任务实现自动刷新功能,而且一般单页应用将刷新任务交给组件本身进行管理,组件管理刷新任务主要分为三个部分:首先当组件加载时组件自身开启刷新任务;然后当外部事件触发(如参数变化)时,组件需要自行处理,并执行一次刷新任务以保证数据一致性;其次当组件卸载时组件自身取消刷新任务。如此对于组件a、组件b、组件c、组件d,每个组件本身管理刷新任务,编码复杂度较高,相应的会耗费开发人员较多的时间和精力。

针对上述问题,本说明书实施例提供一种技术方案,在单页应用中预先配置任务管理中心,统一管理刷新任务,如图2所示,为本说明书实施例提供的一种单页应用结构示意图,包含4个组件,分别为组件a、组件b、组件c、组件d,任务管理中心统一管理组件a、组件b、组件c、组件d的刷新任务,可以将分散在各组件中的数据维护任务统一化,可以有效地降低编码复杂度,相应的也会减少开发人员所耗费的时间和精力。

具体的本说明书实施例提供的技术方案如下:

当接收到任一组件发送的刷新任务注册指令时,任务管理中心建立对应的刷新任务;当外部事件触发时,任务管理中心访问所述单页应用中当前包含的各组件,获取所述外部事件触发所产生的当前参数信息;根据所述当前参数信息,任务管理中心执行为所述单页应用中当前包含的各组件已建立的各自对应的刷新任务,以使所述单页应用中当前包含的各组件获取所述当前参数信息对应的最新数据;当接收到任一组件发送的刷新任务取消指令时,任务管理中心移除对应的刷新任务。

为了使本领域技术人员更好地理解本说明书实施例中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行详细地描述,显然,所描述的实施例仅仅是本说明书的一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于保护的范围。

如图3所示,为本说明书实施例提供的刷新任务的管理方法的实施流程图,其具体可以包括以下步骤:

其中本说明书实施例提供的刷新任务管理方法主要分为三个部分,分别为刷新任务建立、刷新任务执行以及刷新任务移除,下面分别进行说明:

刷新任务建立部分:

s301,当接收到任一组件发送的刷新任务注册指令时,任务管理中心建立对应的刷新任务;

在本说明书中,当组件加载完成时,会向任务管理中心发送刷新任务注册指令,对于任务管理中心而言,可能接收到任一组件发送的刷新任务注册指令,当接收到任一组件发送的刷新任务注册指令时,意味着该刷新任务注册指令是在组件加载完成的情况下发出的,任务管理中心可以直接在容器中(如任务池)建立对应的刷新任务。

如图2所示的组件a、组件b、组件c、组件d,单页应用初始化加载组件a、组件b、组件c、组件d,一旦组件a、组件b、组件c、组件d加载完成了,组件a、组件b、组件c、组件d会分别向任务管理中心发送刷新任务注册指令,当任务管理中心接收到组件a、组件b、组件c、组件d分别发送的刷新任务注册指令时,则会建立与组件a、组件b、组件c、组件d各自对应的刷新任务。

优选的,在容器中建立对应的刷新任务之前,查找是否存在对应的处于未依附状态的刷新任务,若不存在,任务管理中心在容器中建立对应的刷新任务,若存在,则将对应的处于未依附状态的刷新任务重新依附到容器中,不必建立对应的刷新任务。这里处于未依附状态的刷新任务为未依附容器的刷新任务,其状态为不可用。

刷新任务执行部分:

s302,当外部事件触发时,任务管理中心访问所述单页应用中当前包含的各组件,获取所述外部事件触发所产生的当前参数信息;

在经过上述步骤s301之后,单页应用中当前包含的各组件均已建立对应的刷新任务,当外部事件触发时,需要执行各组件对应的刷新任务,以保证数据一致性,将分散在各组件中的数据维护任务统一化。

外部事件可以是参数改变、页面变更、定时任务等,例如对于单页应用,显示最近5天内的数据,用户调整时间参数,显示最近7天内的数据,又例如对于单页应用中的组件每间隔5秒钟刷新一次。当上述外部事件触发时,在执行各组件对应的刷新任务之前,为了保证数据一致性,任务管理中心需要访问单页应用中当前包含的各组件,获取上述外部事件触发所产生的当前参数信息,例如以参数改变为例,用户调整时间参数,显示最近7天内的数据,对于任务管理中心而言,并不知道这7天具体是哪7天,因此则任务管理中心需要访问单页应用中各组件,获取由于调整时间参数所产生的当前参数信息,即确定这7天具体是哪7天。

优选的,当外部事件触发时,从单页应用中当前包含的各组件中确定上述外部事件触发针对的组件,从外部事件触发针对的组件中获取上述外部事件触发所产生的当前参数信息。

例如如图2所示的组件a、组件b、组件c、组件d,外部事件触发针对的对象是组件a,任务管理中心从上述组件a、组件b、组件c、组件d中确定外部事件触发针对的对象是组件a,则可以从组件a中获取上述外部事件触发所产生的当前参数信息。

s303,根据所述当前参数信息,任务管理中心执行为所述单页应用中当前包含的各组件已建立的各自对应的刷新任务,以使所述单页应用中当前包含的各组件获取所述当前参数信息对应的最新数据;

针对s302中得到的当前参数信息,可以根据该参数信息,任务管理中心可以执行为单页应用中当前包含的各组件已建立的各自对应的刷新任务,然后各组件会刷新一次,获取当前参数信息对应的最新数据,如此可以保证各组件中数据一致性。

例如如图2所示的组件a、组件b、组件c、组件d,对于s302中得到的当前时间参数信息为2017-01-05至2017-01-12,根据该时间参数信息,任务管理中心可以执行为组件a、组件b、组件c、组件d已建立的各自对应的刷新任务,组件a、组件b、组件c、组件d各自刷新一次,组件a、组件b、组件c、组件d各自获取2017-01-05至2017-01-12对应的最新数据,如此可以使组件a、组件b、组件c、组件d显示的数据的时间范围为2017-01-05至2017-01-12,保证数据一致性。

刷新任务移除部分:

s304,当接收到任一组件发送的刷新任务取消指令时,任务管理中心移除对应的刷新任务。

由于每个刷新任务对应唯一的组件,每个组件均有自身的生命周期,因此当组件开始卸载时,向任务管理中心发送刷新任务取消指令,对于任务管理中心而言,当接收到任一组件发送的刷新任务取消指令时,可以得知任一组件发送的刷新任务取消指令是在任一组件开始卸载的情况下发送的刷新任务取消指令,从容器中移除对应的刷新任务,使所移除的刷新任务处于未依附状态,即未依附容器,其状态为不可用。

例如如图2所示的组件a、组件b、组件c、组件d,当组件a向任务管理中心发送刷新任务取消指令时,任务管理中心接收该指令,从容器中移除组件a对应的刷新任务,使其处于未依附状态,后续当组件a重新加载完成时,接收该组件a发送的刷新任务注册指令,直接将该组件a对应的处于未依附状态的刷新任务重新依附到容器中,此时状态为可用,不必再重新建立组件a对应的刷新任务。

通过上述对本说明书实施例提供的技术方案的描述,在单页应用中预先配置任务管理中心,任务管理中心可以统一管理刷新任务:当接收到任一组件发送的刷新任务注册指令时,任务管理中心建立对应的刷新任务;当外部事件触发时,任务管理中心访问单页应用中当前包含的各组件,获取外部事件触发所产生的当前参数信息,根据该当前参数信息,执行为单页应用中当前包含的各组件已建立的各自对应的刷新任务,以使单页应用中当前包含的各组件获取当前参数信息对应的最新数据;当接收到任一组件发送的刷新任务取消指令时,任务管理中心移除对应的刷新任务。如此一来,任务管理中心可以统一管理刷新任务,可以使分散在各组件中的数据维护任务统一化,可以有效地降低编码复杂度,相应的也会减少开发人员所耗费的时间和精力。

相对于上述方法实施例,本说明书实施例还提供一种刷新任务的管理装置,参见图4所示,该装置具体可以包括:配置模块410、任务建立模块420、信息获取模块430、任务执行模块440、任务移除模块450。

配置模块410,用于在所述单页应用中预先配置任务管理中心;

任务建立模块420,用于当接收到任一组件发送的刷新任务注册指令时,任务管理中心建立对应的刷新任务;

信息获取模块430,用于当外部事件触发时,任务管理中心访问所述单页应用中当前包含的各组件,获取所述外部事件触发所产生的当前参数信息;

任务执行模块440,用于根据所述当前参数信息,任务管理中心执行为所述单页应用中当前包含的各组件已建立的各自对应的刷新任务,以使所述单页应用中当前包含的各组件获取所述当前参数信息对应的最新数据;

任务移除模块450,用于当接收到任一组件发送的刷新任务取消指令时,任务管理中心移除对应的刷新任务。

在本说明书的一种具体实施方式中,所述信息获取模块430具体用于:

当外部事件触发时,从所述单页应用中当前包含的各组件中确定外部事件触发针对的组件;

从外部事件触发针对的组件中获取所述外部事件触发所产生的当前参数信息。

在本说明书的一种具体实施方式中,所述任务建立模块420具体用于:

当接收到任一组件发送的刷新任务注册指令时,查找是否存在对应的处于未依附状态的刷新任务;

若不存在,任务管理中心在容器中建立对应的刷新任务,否则将对应的处于未依附状态的刷新任务重新依附到容器中。

在本说明书的一种具体实施方式中,所述任务移除模块450具体用于:

当接收到任一组件发送的刷新任务取消指令时,任务管理中心从所述容器中移除对应的刷新任务,使所移除的刷新任务处于未依附状态。

在本说明书的一种具体实施方式中,

所述任一组件发送的刷新任务注册指令是在任一组件加载完成的情况下发送的刷新任务注册指令;

所述任一组件发送的刷新任务取消指令是在任一组件开始卸载的情况下发送的刷新任务取消指令。

上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

通过上述对本说明书实施例提供的技术方案的描述,在单页应用中预先配置任务管理中心,任务管理中心可以统一管理刷新任务:当接收到任一组件发送的刷新任务注册指令时,任务管理中心建立对应的刷新任务;当外部事件触发时,任务管理中心访问单页应用中当前包含的各组件,获取外部事件触发所产生的当前参数信息,根据该当前参数信息,执行为单页应用中当前包含的各组件已建立的各自对应的刷新任务,以使单页应用中当前包含的各组件获取当前参数信息对应的最新数据;当接收到任一组件发送的刷新任务取消指令时,任务管理中心移除对应的刷新任务。如此一来,任务管理中心可以统一管理刷新任务,可以使分散在各组件中的数据维护任务统一化,可以有效地降低编码复杂度,相应的也会减少开发人员所耗费的时间和精力。

本说明书实施例还提供一种计算机设备,如图5所示,该设备可以包括:处理器510、存储器520、输入/输出接口530、通信接口540和总线550。其中处理器510、存储器520、输入/输出接口530和通信接口540通过总线550实现彼此之间在设备内部的通信连接。

处理器510可以采用通用的cpu(centralprocessingunit,中央处理器)、微处理器、应用专用集成电路(applicationspecificintegratedcircuit,asic)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。

存储器520可以采用rom(readonlymemory,只读存储器)、ram(randomaccessmemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器520可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器520中,并由处理器510来调用执行。

输入/输出接口530用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。

通信接口540用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如usb、网线等)实现通信,也可以通过无线方式(例如移动网络、wifi、蓝牙等)实现通信。

总线550包括一通路,在设备的各个组件(例如处理器510、存储器520、输入/输出接口530和通信接口540)之间传输信息。

需要说明的是,尽管上述设备仅示出了处理器510、存储器520、输入/输出接口530、通信接口540以及总线550,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。

本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述的刷新任务的管理方法。该方法至少包括:

一种刷新任务的管理方法,应用于单页应用,在所述单页应用中预先配置任务管理中心,该方法包括:

当接收到任一组件发送的刷新任务注册指令时,任务管理中心建立对应的刷新任务;

当外部事件触发时,任务管理中心访问所述单页应用中当前包含的各组件,获取所述外部事件触发所产生的当前参数信息;

根据所述当前参数信息,任务管理中心执行为所述单页应用中当前包含的各组件已建立的各自对应的刷新任务,以使所述单页应用中当前包含的各组件获取所述当前参数信息对应的最新数据;

当接收到任一组件发送的刷新任务取消指令时,任务管理中心移除对应的刷新任务。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书实施例可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书实施例各个实施例或者实施例的某些部分所述的方法。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,在实施本说明书实施例方案时可以把各模块的功能在同一个或多个软件和/或硬件中实现。也可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述仅是本说明书实施例的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本说明书实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本说明书实施例的保护范围。

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