发明内容
鉴于此,本发明提供了一种能够实现扫描任务灵活智能调度的扫描任务的调度方法及系统。
为达到发明目的,本发明提供一种扫描任务调度方法,包括以下步骤:
任务管理器接收到创建指令后创建扫描任务,并初始化所述扫描任务的基本属性,其中,所述扫描任务包括处理对象队列,所述处理对象队列适用于存放扫描对象;
任务管理器根据接收到的模式信号或默认的模式信号获取所述扫描任务的当前变频处理模式,根据所述当前变频处理模式的性能调节参数创建相应数量的扫描线程;其中,所述任务管理器中存储有变频处理模式,所述变频处理模式包括至少两种处理模式,所述当前变频处理模式为所述变频处理模式之中的一种处理模式,并可以在所述至少两种处理模式之间进行切换;
所述任务管理器将需要处理的所述扫描对象存入所述处理对象队列中;
所述扫描线程从所述处理对象队列中获取所述扫描对象,并对所述扫描对象进行查毒杀毒处理;
在所述扫描线程对所述扫描对象进行查毒杀毒的处理过程中,若所述任务管理器接收到变频信号,则根据所述变频信号获取所述扫描任务的当前变频处理模式,并根据所述当前变频处理模式的性能调节参数调度所述扫描线程;
其中,所述性能调节参数包括所述扫描线程的数量及扫描任务在中央处理器中的占用率。
作为一种可实施例,还包括以下步骤:
所述任务管理器创建所述扫描任务后,根据所述扫描任务的所述基本属性将所述扫描任务分为持续任务和一般任务,对所述扫描任务进行统一管理;
监听控制进程通过所述任务管理器遍历所述持续任务和所述一般任务,获取需要监听的第一扫描任务,并与所述第一扫描任务建立监听控制模式;
所述第一扫描任务中的所述扫描线程对所述扫描对象进行查毒杀毒处理时,将所述第一扫描任务中的扫描进度信息进行保存,并通过所述监听控制模式将所述扫描进度信息通知给所述监听控制进程;
其中,所述监听控制进程为多个。
作为一种可实施例,还包括所述扫描线程状态的设置步骤,所述扫描线程状态的设置步骤包括如下步骤:
在根据所述性能调节参数创建相应数量的所述扫描线程之后,设置所述扫描线程的状态为空闲状态;
在将需要处理的所述扫描对象存入所述处理对象队列中之后,设置所述扫描线程的状态为开始状态;
在所述扫描线程从所述处理对象队列中获取所述扫描对象之前,判断是否接收到暂停信号、删除信号和退出信号;
若接收到所述暂停信号,则将对应的所述扫描线程的状态设置为暂停状态,若接收到所述删除信号或所述退出信号,则将对应的所述扫描线程删除或退出,并将正进行查毒杀毒处理的扫描线程的计数原子减1,若所有所述扫描线程均已删除或退出,则将所述计数原子减至0,并设置所述扫描线程的状态为结束;
若没有接收到所述暂停信号、所述删除信号和所述退出信号,则判断所述扫描线程是否获得所述扫描对象;
若是,则设置所述扫描线程的状态为运行状态,并将正进行查毒杀毒处理的扫描线程的计数原子加1,所述扫描线程对所述扫描对象进行查毒杀毒处理;
若否,则返回执行所述判断是否接收到暂停信号、删除信号和退出信号的步骤。
作为一种可实施例,所述扫描线程从所述处理对象队列中获取所述扫描对象,并对所述扫描对象进行查毒杀毒处理,包括异步处理的步骤:
从所述处理对象队列中获取所述扫描对象,调度所有所述扫描线程对所述扫描对象进行查毒杀毒处理,若第一扫描线程处理完获取的所述扫描对象后,创建新的所述扫描对象并存入所述处理对象队列中,以供所述第一扫描线程和其他所述扫描线程获取,同时,所述第一扫描线程从所述处理对象队列中获取下一个所述扫描对象,对下一个所述扫描对象进行查毒杀毒处理。
作为一种可实施例,所述变频处理模式包括办公处理模式、高速处理模式和智能处理模式;
所述在所述扫描线程对所述扫描对象进行查毒杀毒的处理过程中,若所述任务管理器接收到变频信号,则根据所述变频信号获取所述扫描任务的当前变频处理模式,并根据所述当前变频处理模式的性能调节参数调度所述扫描线程,包括如下步骤:
所述任务管理器接收到所述变频信号后,对所述变频信号进行解析得到所述变频信号对应的第一变频处理模式;
将所述第一变频处理模式与所述当前变频处理模式进行比较,判断所述第一变频处理模式是否为所述当前变频处理模式;
若是,则根据所述当前变频处理模式的所述性能调节参数调度所述扫描线程;
若否,则将所述第一变频处理模式设置为当前变频处理模式;
若所述当前变频处理模式为办公处理模式,判断中央处理器中所述扫描任务的占用率是否大于第一预设占用率;若是,则逐次减少所述扫描线程的数量,并判断所述占用率是否大于所述第一预设占用率,若仍大于所述第一预设占用率,则继续减少所述扫描线程的数量,直至将所述扫描线程的数量减至1,若此时所述占用率仍大于所述第一预设占用率,则增大处理两个所述扫描对象之间的间隔时间,直至所述占用率小于等于所述第一预设占用率;若否,则保持所述扫描线程的数量和处理两个所述扫描对象之间的间隔时间不变;
若所述当前变频处理模式为高速处理模式,判断所述中央处理器中所述扫描任务的所述占用率是否小于第二预设占用率;若是,则增加所述扫描线程,减少处理两个所述扫描对象之间的间隔时间,直至所述占用率大于等于所述第二预设占用率;若否,则保持所述扫描线程的数量和处理两个所述扫描对象之间的间隔时间不变;
若所述当前变频处理模式为智能处理模式,则采集输入设备的使用频率,并根据所述使用频率的大小调度所述扫描线程的数量及处理两个所述扫描对象之间的间隔时间。
本发明还提供一种扫描任务的调度系统,包括任务管理器,所述任务管理器包括任务创建模块,线程创建模块,对象保存模块,获取处理模块和获取调度模块,其中:
所述任务创建模块,被配置以收到创建指令后创建扫描任务,并初始化所述扫描任务的基本属性,其中,所述扫描任务包括处理对象队列,所述处理对象队列适用于存放扫描对象;
所述线程创建模块,被配置以根据接收到的模式信号或默认的模式信号获取所述扫描任务的当前变频处理模式,根据所述当前变频处理模式的性能调节参数创建相应数量的扫描线程;其中,所述任务管理器中存储有变频处理模式,所述变频处理模式包括至少两种处理模式,所述当前变频处理模式为所述变频处理模式之中的一种处理模式,并可以在所述至少两种处理模式之间进行切换;
所述对象保存模块,被配置以将需要处理的所述扫描对象存入所述处理对象队列中;
所述获取处理模块,被配置以从所述处理对象队列中获取所述扫描对象,并对所述扫描对象进行查毒杀毒处理;
所述获取调度模块,被配置以在所述扫描线程对所述扫描对象进行查毒杀毒的处理过程中,若所述任务管理器接收到变频信号,则根据所述变频信号获取所述扫描任务的当前变频处理模式,并根据所述当前变频处理模式的性能调节参数调度所述扫描线程;
其中,所述性能调节参数包括所述扫描线程的数量及扫描任务在中央处理器中的占用率。
作为一种可实施例,还包括任务管理模块,监听控制模块和保存通知模块,所述任务管理模块和保存通知模块包含于所述任务管理器中,其中:
所述任务管理模块,被配置以创建所述扫描任务后,根据所述扫描任务的所述基本属性将所述扫描任务分为持续任务和一般任务,对所述扫描任务进行统一管理;
所述监听控制模块,被配置以通过所述任务管理器遍历所述持续任务和所述一般任务,获取需要监听的第一扫描任务,并与所述第一扫描任务建立监听控制模式;
所述保存通知模块,被配置以所述第一扫描任务中的所述扫描线程对所述扫描对象进行查毒杀毒处理时,将所述第一扫描任务中的扫描进度信息进行保存,并通过所述监听控制模式将所述扫描进度信息通知给所述监听控制模块;
其中,所述监听控制模块为多个。
作为一种可实施例,所述任务管理器还包括状态设置模块,所述状态设置模块包括空闲状态设置单元,开始状态设置单元,暂停删除退出状态设置单元和运行状态设置单元;
其中,所述暂停删除退出状态设置单元包括第一判断子单元,暂停状态设置子单元,结束状态设置子单元;
所述运行状态设置单元包括第二判断子单元,运行状态设置子单元和返回子单元;
所述空闲状态设置单元,被配置以在根据所述性能调节参数创建相应数量的所述扫描线程之后,设置所述扫描线程的状态为空闲状态;
所述开始状态设置单元,被配置以在将需要处理的所述扫描对象存入所述处理对象队列中之后,设置所述扫描线程的状态为开始状态;
所述第一判断子单元,被配置以在每个所述扫描线程从所述处理对象队列中获取所述扫描对象之前,判断所述线程管理器是否接收到暂停信号、删除信号和退出信号;
所述暂停状态设置子单元,被配置以若接收到所述暂停信号,将对应的所述扫描线程的状态设置为暂停状态;
所述结束状态设置子单元,被配置以若接收到所述删除信号或所述退出信号,将对应的所述扫描线程删除或退出,并将正进行查毒杀毒处理的扫描线程的计数原子减1,若所有所述扫描线程均已删除或退出,则将所述计数原子减至0,并设置所述扫描线程的状态为结束;
所述第二判断子单元,被配置以在没有接收到所述暂停信号、所述删除信号和所述退出信号,判断所述扫描线程是否获得所述扫描对象;
所述运行状态设置子单元,被配置以若获得所述扫描对象,设置所述扫描线程的状态为运行状态,并将正进行查毒杀毒处理的扫描线程的计数原子加1,所述扫描线程对所述扫描对象进行查毒杀毒处理;
所述返回子单元,被配置以若没有获得所述扫描对象,返回执行所述第一判断子单元。
作为一种可实施例,所述获取处理模块包括异步处理单元,被配置以从所述处理对象队列中获取所述扫描对象,调度所有所述扫描线程对所述扫描对象进行查毒杀毒处理,若第一扫描线程处理完获取的所述扫描对象后,创建新的所述扫描对象并存入所述处理对象队列中,以供所述第一扫描线程和其他所述扫描线程获取,同时,所述第一扫描线程从所述处理对象队列中获取下一个所述扫描对象,对下一个所述扫描对象进行查毒杀毒处理。
作为一种可实施例,所述变频处理模式包括办公处理模式、高速处理模式和智能处理模式;
所述获取调度模块包括解析单元,比较判断单元,第一调度单元,第二调度单元和第三调度单元,其中:
所述解析单元,被配置以接收到所述变频信号后,对所述变频信号进行解析得到所述变频信号对应的第一变频处理模式;
所述比较判断单元,被配置以将所述第一变频处理模式与所述当前变频处理模式进行比较,判断所述第一变频处理模式是否为所述当前变频处理模式;若是,则根据所述当前变频处理模式的所述性能调节参数调度所述扫描线程;若否,则将所述第一变频处理模式设置为当前变频处理模式;
所述第一调度单元,被配置以若所述当前变频处理模式为办公处理模式,判断中央处理器中所述扫描任务的占用率是否大于第一预设占用率;若是,则逐次减少所述扫描线程的数量,并判断所述占用率是否大于所述第一预设占用率,若仍大于所述第一预设占用率,则继续减少所述扫描线程的数量,直至将所述扫描线程的数量减至1,若此时所述占用率仍大于所述第一预设占用率,则增大处理两个所述扫描对象之间的间隔时间,直至所述占用率小于等于所述第一预设占用率;若否,则保持所述扫描线程的数量和处理两个所述扫描对象之间的间隔时间不变;
所述第二调度单元,被配置以若所述当前变频处理模式为高速处理模式,判断所述中央处理器中所述扫描任务的所述占用率是否小于第二预设占用率;若是,则增加所述扫描线程,减少处理两个所述扫描对象之间的间隔时间,直至所述占用率大于等于所述第二预设占用率;若否,则保持所述扫描线程的数量和处理两个所述扫描对象之间的间隔时间不变;
所述第三调度单元,被配置以若所述当前变频处理模式为智能处理模式,采集输入设备的使用频率,并根据所述使用频率的大小调度所述扫描线程的数量及处理两个所述扫描对象之间的间隔时间。
本发明的有益效果包括:
本发明的扫描任务的调度方法及系统,任务管理器创建扫描任务,创建扫描任务后,根据模式信号得到扫描任务的当前变频处理模式,实现手动自动一体化的处理方式,根据当前变频处理模式的性能调节参数创建相应数量的扫描线程,支持不同的处理模式,使得扫描任务以最合适的处理模式进行处理,扫描对象插入处理对象队列之后,扫描线程对扫描对象进行查毒杀毒处理,在查毒杀毒处理过程中,根据接收到的变频信号获取当前变频处理模式的性能调节参数以调度扫描线程,实现了扫描任务的灵活智能调度,满足不同环境差异的需求,根据用户终端的使用环境智能调度扫描任务,满足使用者需求,提高使用舒适度。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对本发明扫描任务的调度方法及系统进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
参见图1,本发明实施例提供一种扫描任务的调度方法,包括以下步骤:
S200,任务管理器接收到创建指令后创建扫描任务,并初始化扫描任务的基本属性,其中,扫描任务包括处理对象队列,处理对象队列适用于存放扫描对象。
S400,任务管理器根据接收的模式信号或默认的模式信号获取扫描任务的当前变频处理模式,根据当前变频处理模式的性能调节参数创建相应数量的扫描线程;其中,任务管理器中存储有变频处理模式,变频处理模式包括至少两种处理模式,当前变频处理模式为变频处理模式之中的一种处理模式,并可以在至少两种处理模式之间进行切换。
S600,任务管理器将需要处理的所述扫描对象存入处理对象队列中。
S800,扫描线程从处理对象队列中获取扫描对象,并对所述扫描对象进行查毒杀毒处理。
S1000,在扫描线程对扫描对象进行查毒杀毒的处理过程中,若任务管理器接收到变频信号,则根据变频信号获取扫描任务的当前变频处理模式,并根据当前变频处理模式的性能调节参数调度扫描线程。其中,性能调节参数包括扫描线程的数量及扫描任务在中央处理器中的占用率。
本发明实施例的扫描任务的调度方法,任务管理器接收到上层调用进程的创建指令后,创建扫描任务并初始化扫描任务的基本属性,创建扫描任务后,根据用户终端设置的模式信号或任务管理器默认的模式信号获取扫描任务所在的当前变频处理模式,实现手动自动一体的处理方式,根据当前变频处理模式的性能调节参数中扫描线程的数量创建相应数量的扫描线程,且使扫描任务处于最适合的处理状态,在处理对象队列中插入扫描对象后,扫描线程开始从处理对象队列中获取扫描对象,获取扫描对象后对扫描对象进行查毒杀毒处理。其中,扫描线程能够处理任何事情,满足对扫描任务的处理,在扫描线程对扫描对象进行查毒杀毒处理的过程中,若当前变频处理模式发生变化(即任务管理器接收到变频信号),则根据变频信号获取当前变频处理模式,并根据当前变频处理模式的性能调节参数调度扫描线程,实现扫描任务的智能调度,满足用户在不同环境差异下的需求,提高了用户使用舒适度及灵活度。其中,扫描任务的基本属性包括任务类型、创建时间、任务ID(Identity,身份识别码)、任务名字、任务上层调用者ID以及任务上层调用者环境ID。
其中,变频处理模式指的是扫描任务进行查毒杀毒处理时,用户终端(如计算机)提供给扫描任务的处理环境,其包括办公处理模式、高速处理模式和智能处理模式,但不限于此,可以根据需求设置多个不同的处理模式,在创建扫描任务之后,用户终端根据需求选择其中一个处理模式提供给扫描任务,在扫描任务查毒杀毒处理时,用户终端根据需求在多个处理模式之间进行切换。值得说明的是,在创建扫描任务后,若用户终端发送模式信号,则用户终端发送的模式信号对应的变频处理模式为扫描任务的当前变频处理模式(即用户终端根据需求选择其中一个处理模式提供给扫描任务),若用户终端没有发送模式信号给任务管理器,则扫描任务的当前变频处理模式为任务管理器自身保存的默认的模式信号对应的变频处理模式,通常将办公处理模式设置为默认模式信号对应的变频处理模式。
较优的,在其中一个实施例中,任务管理器将要处理的扫描对象以队列或链表的形式存入处理对象队列中。以队列形式将要处理的扫描对象存入处理对象队列中,扫描线程依次处理对象队列中获取扫描对象,直至取完所有扫描对象。以链表的方式将要处理的扫描对象插入处理对象队列中,扫描线程获取当前扫描对象后,根据当前扫描对象的信息能够获知下一个扫描对象信息,从而有序快速的将处理对象队列中的所有扫描对象处理完,加快查毒杀毒进程。
作为一种可实施方式,参见图2,还包括步骤S300,任务管理器创建扫描任务后,根据扫描任务的所述基本属性将扫描任务分为持续任务和一般任务,对扫描任务进行统一管理。具体的,根据基本属性中的任务类型及任务名字将扫描任务分为持续任务和一般任务。
S310,监听控制进程通过任务管理器遍历所述持续任务和所述一般任务,获取需要监听的第一扫描任务,并与第一扫描任务建立监听控制模式,其中,监听控制进程为多个。
S900,第一扫描任务中的扫描线程对扫描对象进行查毒杀毒处理时,将第一扫描任务中的扫描进度信息进行保存,并通过监听控制模式将扫描进度信息通知给监听控制进程。
任务管理器创建扫描任务后将多个扫描任务以map(映射表)等方式保存,并以接口的方式统一管理扫描任务的生命期,保证扫描任务在多监听控制进程下的生命期,对于上层调用者来说,扫描任务只有两种类型,不必关心扫描任务的具体属性,也不必为专门的扫描任务建立特殊的扫描任务,实现任务的通用性。在监听控制进程获取第一扫描任务时,判断任务管理器中是否包含了所有的第一扫描任务(根据扫描任务的任务名字判断),若是,则获取所有的第一扫描任务,并对第一扫描任务进行监听控制,若否,则监听控制进程自动创建任务管理器中没有的第一扫描任务,并对其进行监听控制,实现任务的可扩展性。扫描进程对扫描对象进行查毒杀毒时,将扫描任务的扫描进度信息进行保存,其中扫描进度信息包括任务的扫描属性和任务的扫描事件,任务的扫描属性由监听控制进程主动获取,任务的扫描事件是主动反馈给监听控制进程,若在监听控制过程监听到第一扫描任务中有扫描任务完成事件,则根据扫描任务是一般任务还是持续任务控制扫描任务,若扫描任务为一般任务,则直接删除,若扫描任务为持续任务,则等待监听控制进程退出时删除。需要说明的是,监听控制进程可以只进行监听,以获得扫描任务的状态,也可以同时监听控制,如监听到扫描任务完成事件时,将扫描任务删除,以更好的对其他扫描任务进行监听控制;若监听到忽略单个扫描对象事件时,则控制扫描线程不对该扫描对象进行处理。任务管理器对扫描任务进行统一管理,支持动态的增减、控制任务,同一任务支持多个监听控制进程,以满足进程内、进程外上层应用的各种环境需求,若是进程内调用,则直接进行监听控制,若是进程外调用,则通过RPC(RemoteProcedureCall,远程过程调用)对扫描任务进行监听控制,对于上层应用来说进程内和进程外的使用方式是一样的。多个监听进程同时监听控制扫描任务,极大的提高了扫描任务本身的控制能力。上述监听控制模式不受特定环境和特定任务的影响,实现任务的统一管理和任务的可扩展性。
其中,持续任务由监听控制进程创建,中间不允许删除,扫描任务完成后在监听控制进程退出时才能删除;一般任务为手动创建,任务完成后便自动释放扫描任务。扫描属性包括任务扫描的当前状态(如空闲、启动、运行、停止或暂停),扫描所消耗的时间,扫描的各种计数原子以及当前扫描的扫描对象。扫描的任务事件包括任务的处理进度,任务的处理结果,任务的关闭及任务单个对象的忽略,任务的扫描属性、任务的扫描事件及任务的基本属性构成任务的性能属性,其展现每个扫描任务的内部差异,根据性能属性标记不同的扫描任务及控制方式。
作为一种可实施方式,参见图3,还包括所述扫描线程状态的设置步骤,扫描线程状态的设置步骤包括如下步骤:
G100,在根据性能调节参数创建相应数量的扫描线程之后,设置扫描线程的状态为空闲状态。监听控制进程监听到空闲状态时,驱动任务管理器在处理对象队列中插入扫描对象以供扫描进程获取。
G200,在将需要处理的扫描对象存入处理对象队列中之后,设置扫描线程的状态为开始状态。监听控制进程监听扫描任务的处理进度。
G300,在扫描线程从处理对象队列中获取扫描对象之前,判断是否接收到暂停信号、删除信号和退出信号。
G310,若接收到暂停信号,则将对应的扫描线程的状态设置为暂停状态,若接收到删除信号或所述退出信号,则将对应的扫描线程删除或退出,并将正进行查毒杀毒处理的扫描线程的计数原子减1,若所有扫描线程均已删除或退出,则将计数原子减至0,并设置扫描线程的状态为结束。
G320,若没有接收到暂停信号、删除信号和退出信号,则判断扫描线程是否获得扫描对象。
G330,若是,则设置扫描线程的状态为运行状态,并将正进行查毒杀毒处理的扫描线程的计数原子加1,扫描线程对扫描对象进行查毒杀毒处理。
若否,则返回执行步骤G300。
扫描线程状态的设置步骤根据扫描线程的状态进行实时设置,监听控制进程通过扫描进程的状态信息获知扫描任务的处理进度,以对扫描任务进行管理控制。
作为一种可实施方式,参见图4,步骤S800包括异步处理的步骤:
S810,从处理对象队列中获取扫描对象,调度所有扫描线程对扫描对象进行查毒杀毒处理,若第一扫描线程处理完获取的扫描对象后,扫描对象创建新的扫描对象并存入所述处理对象队列中,以供第一扫描线程和其他扫描线程获取,同时,第一扫描线程从处理对象队列中获取下一个所述扫描对象,对下一个扫描对象进行查毒杀毒处理。
异步处理的扫描对象可以为单个文件对象,也可以为文件目录对象,当扫描对象是文件目录对象,以广度优先的方式扫描本层文件,本层文件处理结束后,子目录再创建新的对象存入处理对象队列中,扫描进程再对文子目录创建的对象进行处理,其他扫描线程都以此流程处理扫描对象,直至处理完所有扫描对象。其中,创造对应数量的扫描线程后,形成一个线程池,进行统一管理。每个扫描线程都能做任何处理,多个扫描线程高并发的同时处理多个扫描对象,提高查毒杀毒的处理效率。
需要说明的是,在对扫描任务进行监听控制时,采用同步的处理方式对扫描对象进行查毒杀毒处理,同步处理方式相对简单,只需上层监听控制进程调用一个同步扫描功能函数。每个扫描任务中可创建多个同步扫描器对象,并给每个同步扫描器对象预设一个ID号,ID号能够区分这些同步扫描器对象。当上层监听控制进程调用扫描任务的同步扫描功能函数时,需传递同步扫描器对象的ID号及要进行查毒杀毒处理的文件对象(同步处理中扫描对象只能为单个文件对象)两个参数,任务管理器根据传递的ID号获得相应的同步扫描器对象,用该同步扫描器对象处理相应的文件对象,并将处理结果返回给监听控制进程。其中,值得说明的是,传递的ID号及文件对象可以为1个,也可以为多个。
作为一种可实施方式,变频处理模式包括办公处理模式、高速处理模式和智能处理模式。
参见图5,步骤S1000包括如下步骤:
S1100,任务管理器接收到变频信号后,对变频信号进行解析得到变频信号对应的第一变频处理模式。
S1200,将第一变频处理模式与当前变频处理模式进行比较,判断第一变频处理模式是否为当前变频处理模式;若是,则根据当前变频处理模式的性能调节参数调度扫描线程;若否,则将第一变频处理模式设置为当前变频处理模式。
以上为任务管理器根据变频信号获取扫描任务的当前变频处理模式的具体实施步骤,任务管理器中还保存有扫描任务的当前变频处理模式(即表明存储的变频处理模式中哪个是当前变频处理模式的信息),以供与变频信号对应的第一变频处理模式进行比较。上述描述较为具体和详细,在不脱离上述构思的前提下,其他方式实现的获得扫描任务的当前变频处理模式也包括在内。
S1300,若当前变频处理模式为办公处理模式,判断中央处理器中扫描任务的占用率是否大于第一预设占用率;若是,则逐次减少扫描线程的数量,并判断占用率是否大于第一预设占用率,若仍大于第一预设占用率,则继续减少扫描线程的数量,直至将扫描线程的数量减至1,若此时占用率仍大于第一预设占用率,则增大处理两个扫描对象之间的间隔时间,直至用率小于等于第一预设占用率;若否,则保持扫描线程的数量和处理两个扫描对象之间的间隔时间不变。
较优的,在其中一个实施例中,若占用率远远小于第一预设占用率,则减小处理两个扫描对象之间的间隔时间,增加扫描线程的数量,以使占用率小于第一预设占用率但并不远远小于。如第一预设占用率为15%,在办公处理模式下,若占用率大于15%,则逐次减少扫描线程的数量,直至占用率小于等于15%,若扫描线程数量减少至1个时,仍大于15%,则增大处理两个扫描对象之间的时间间隔,如a文件处理完成后,等待2s后再处理b文件,直至占用率小于15%。若占用率小于5%时,则反向调度扫描线程,使得占用率大于等于5%小于等于15%。
S1400,若当前变频处理模式为高速处理模式,判断中央处理器中扫描任务的占用率是否小于第二预设占用率,若是,则增加扫描线程,减少处理两个扫描对象之间的间隔时间,直至占用率大于等于所述第二预设占用率,若否,则保持扫描线程的数量和处理两个扫描对象之间的间隔时间不变,以使扫描任务以最快的速度进行查毒杀毒处理。
如第二预设占用率为80%时,以比中央处理器个数多1个的扫描线程处理扫描对象,若此时中央处理器中扫描任务的占用率小于80%,增增加扫描线程的数量,使扫描任务以最快的速度进行查毒杀毒处理。
S1500,若当前变频处理模式为智能处理模式,则采集输入设备的使用频率,并根据使用频率的大小调度扫描线程的数量及处理两个扫描对象之间的间隔时间。
智能处理模式是根据用户的使用情况智能调度扫描线程,使用频率与用户使用的点击率相关,点击率越高,使用频率越高,点击率越小,使用频率也越小。使用频率大时,调度扫描线程使得扫描任务的占用率小些,使用频率小时,调度扫描线程使得扫描任务的占用率大些,使用频率与占用率的计算方式以区间经验值为准。
扫描线程的调度方法分为两种:一种是调度扫描线程的数量(增加或减少扫描线程数),另一种是调整处理两个扫描对象之前的间隔时间。灵活的多线程调度方式,提高多扫描线程的处理效率。多扫描线程对扫描对象查毒杀毒处理过程中,如果进程外性能为自动模式,会有调整线程数目的操作,当所需的线程数大于当前线程数时,线程管理器会创建新的线程运行,如果所选线程数小于当前线程数时,线程管理器设置删除线程的信号量,扫描线程收到删除线程信号时退出线程,并删除与此线程相关的对象;另外还会有调整处理两个扫描对象间隔时间的操作,以达到调整扫描速度的效果,其中,扫描速度最大的是两个扫描对象之间间隔时间为0,即处理扫描对象时不等待一直扫描。较优的,在其中一个实施例中,根据查毒杀毒的处理时间设置间隔时间,每个扫描线程处理扫描对象时等待间隔时间,以降低系统资源的占用。
上述实施例为线程管理器根据获取的三种变频处理模式调度扫描线程的具体实施步骤,其根据不同的模式需求自动或手动调整扫描任务的资源占用(线程数越大,占用系统资源越多,线程处理速度越快,间隔时间越长扫描任务占用的系统资源越小),满足了不同环境的需求,提高了扫描线程的处理性能,提高使用者使用舒适性。其描述较为详细和具体,但不用于限定本发明,在此基础上,本领域技术人员能容易想到的其他技术方案也为本发明所保护的内容。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。
基于同一发明构思,本发明还提供了一种扫描任务的调度系统,由于此系统解决问题的原理与前述一种扫描任务的调度方法相似,因此该系统的实施可以参见前述方法的实施,重复之处不再赘述。
本发明实施例提供的扫描任务的调度系统,参见图6,包括任务管理器,任务管理器包括任务创建模块200,线程创建模块400,对象保存模块600,获取处理模块800和获取调度模块1000。
任务创建模块200,被配置以收到创建指令后创建扫描任务,并初始化扫描任务的基本属性。其中,扫描任务包括处理对象队列,处理对象队列适用于存放扫描对象。
线程创建模块400,被配置以根据接收到的模式信号或默认的模式信号获取所述扫描任务的当前变频处理模式,根据所述当前变频处理模式的性能调节参数创建相应数量的扫描线程;其中,所述任务管理器中存储有变频处理模式,所述变频处理模式包括至少两种处理模式,所述当前变频处理模式为所述变频处理模式之中的一种处理模式,并可以在所述至少两种处理模式之间进行切换。
对象保存模块600,被配置以将需要处理的扫描对象存入所述处理对象队列中。
获取处理模块800,被配置以从处理对象队列中获取扫描对象,并对扫描对象进行查毒杀毒处理。
获取调度模块1000,被配置以在所述扫描线程对所述扫描对象进行查毒杀毒的处理过程中,若所述任务管理器接收到变频信号,则根据所述变频信号获取所述扫描任务的当前变频处理模式,并根据所述当前变频处理模式的性能调节参数调度所述扫描线程。其中,性能调节参数包括扫描线程的数量及扫描任务在中央处理器中的占用率。
本发明的扫描任务的调度系统,任务管理器根据接收到的模式信号或默认的模式信号获取扫描任务的当前变频处理模式,实现手动自动一体的处理方式,根据当前变频处理模式的性能调节参数创建相应数量的扫描线程,支持不同的处理模式,使得扫描任务以最合适的处理模式进行处理,扫描对象插入处理对象队列之后,扫描线程从处理对象队列中获取扫描对象,对扫描对象进行查毒杀毒处理,在查毒杀毒处理过程中,根据用户终端发送的变频信号获取当前变频处理模式的性能调节参数调度扫描线程,实现了扫描任务的灵活智能调度,满足不同环境差异的需求,根据使用者的使用环境智能调度扫描任务,满足使用者需求,提高使用舒适度。
作为一种可实施方式,还包括任务管理模块300,监听控制模块100和保存通知模块310,任务管理模块300和保存通知模块310包含于任务管理器中。
任务管理模块300,被配置以创建扫描任务后,根据扫描任务的基本属性将扫描任务分为持续任务和一般任务,对扫描任务进行统一管理。
监听控制模块100,被配置以通过任务管理器遍历持续任务和所述一般任务,获取需要监听的第一扫描任务,并与第一扫描任务建立监听控制模式。
保存通知模块310,被配置以第一扫描任务中的扫描线程对扫描对象进行查毒杀毒处理时,将第一扫描任务中的扫描进度信息进行保存,并通过监听控制模式将扫描进度信息通知给所述监听控制模块。其中,所述监听控制模块为多个。
作为一种可实施方式,任务管理器还包括状态设置模块900,状态设置模块900包括空闲状态设置单元910,开始状态设置单元920,暂停删除退出状态设置单元930和运行状态设置单元940。暂停删除退出状态设置单元930包括第一判断子单元931,暂停状态设置子单元932,结束状态设置子单元933。运行状态设置单元940包括第二判断子单元941,运行状态设置子单元942和返回子单元943。
空闲状态设置单元910,被配置以在根据性能调节参数创建相应数量的扫描线程之后,设置扫描线程的状态为空闲状态。
开始状态设置单元920,被配置以在将需要处理的所述扫描对象存入处理对象队列中之后,设置扫描线程的状态为开始状态。
第一判断子单元931,被配置以在每个扫描线程从处理对象队列中获取扫描对象之前,判断线程管理器是否接收到暂停信号、删除信号和退出信号。暂停状态设置子单元932,被配置以若接收到暂停信号,将对应的扫描线程的状态设置为暂停状态结束状态设置子单元933,被配置以若接收到删除信号或所述退出信号,将对应的扫描线程删除或退出,并将正进行查毒杀毒处理的扫描线程的计数原子减1,若所有扫描线程均已删除或退出,则将计数原子减至0,并设置扫描线程的状态为结束。
第二判断子单元941,被配置以在没有接收到暂停信号、删除信号和退出信号,判断扫描线程是否获得扫描对象。运行状态设置子单元942,被配置以若获得扫描对象,设置扫描线程的状态为运行状态,并将正进行查毒杀毒处理的扫描线程的计数原子加1,扫描线程对扫描对象进行查毒杀毒处理。返回子单元943,被配置以若没有获得扫描对象,返回执行第一判断子单元931。
作为一种可实施方式,获取处理模块800异步处理单元810,被配置以从处理对象队列中获取扫描对象,调度所有所述扫描线程对所述扫描对象进行查毒杀毒处理,若第一扫描线程处理完获取的扫描对象后,创建新的扫描对象并存入处理对象队列中,以供第一扫描线程和其他扫描线程获取,同时,第一扫描线程从处理对象队列中获取下一个所述扫描对象,对下一个扫描对象进行查毒杀毒处理。
作为一种可实施方式,变频处理模式包括办公处理模式、高速处理模式和智能处理模式。获取调度模块1000包括解析单元1100,比较判断单元1200,第一调度单元1300,第二调度单元1400和第三调度单元1500。
解析单元1100,被配置以接收到变频信号后,对变频信号进行解析得到变频信号对应的第一变频处理模式。
比较判断单元1200,被配置以将第一变频处理模式与当前变频处理模式进行比较,判断第一变频处理模式是否为当前变频处理模式;若是,则根据当前变频处理模式的性能调节参数调度扫描线程;若否,则将第一变频处理模式设置为当前变频处理模式。
第一调度单元1300,被配置以若当前变频处理模式为办公处理模式,判断中央处理器中所述扫描任务的占用率是否大于第一预设占用率;若是,则逐次减少扫描线程的数量,并判断所述占用率是否大于第一预设占用率,若仍大于第一预设占用率,则继续减少扫描线程的数量,直至将扫描线程的数量减至1,若此时占用率仍大于第一预设占用率,则增大处理两个扫描对象之间的间隔时间,直至占用率小于等于第一预设占用率;若否,则保持扫描线程的数量和处理两个扫描对象之间的间隔时间不变。
第二调度单元1400,被配置以若当前变频处理模式为高速处理模式,判断中央处理器中扫描任务的占用率是否小于第二预设占用率,若是,则增加扫描线程,减少处理两个扫描对象之间的间隔时间,直至占用率大于等于第二预设占用率,若否,则保持扫描线程的数量和处理两个扫描对象之间的间隔时间不变。
第三调度单元1500,被配置以若当前变频处理模式为智能处理模式,采集输入设备的使用频率,并根据使用频率的大小调度扫描线程的数量及处理两个所述扫描对象之间的间隔时间。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。