一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

鉴定任务调度方法和调度组件与流程

2022-07-13 10:47:37 来源:中国专利 TAG:


1.本公开涉及网络安全领域,特别是涉及一种鉴定任务调度方法、一种鉴定任务调度组件、一种电子设备、一种计算机可读存储介质以及一种计算机程序产品。


背景技术:

2.随着计算机技术的迅速发展,网络安全问题得以日益广泛的关注。利用鉴定器对网络数据进行鉴定,是甄别网络数据是否存在安全风险的重要手段。
3.在实现本公开发明构思的过程中,发明人发现相关技术中在利用鉴定器执行鉴定任务时,由同一机器中的多个鉴定器向服务器获取鉴定任务,和获取与鉴定任务关联的待鉴定对象,该种鉴定任务执行方法存在带宽资源消耗大、鉴定效率低的问题。


技术实现要素:

4.本公开的一个方面提供了一种鉴定任务调度方法,应用于调度组件,包括:接收来自至少一个鉴定器的任务领取请求;根据所述至少一个鉴定器的任务领取请求,从服务器中获取至少一个鉴定任务,以及获取与各所述鉴定任务关联的待鉴定对象;针对每一所述鉴定器,根据所述鉴定器的任务领取请求,向所述鉴定器分配鉴定任务,以使所述鉴定器基于被分配的鉴定任务,从所述调度组件中获取与所述被分配的鉴定任务关联的待鉴定对象。
5.可选地,在获取与各所述鉴定任务关联的待鉴定对象时,包括:确定本地是否缓存有与待获取的待鉴定对象相同的对象;若有,则将本地缓存的所述对象作为所述待鉴定对象。
6.可选地,所述根据所述至少一个鉴定器的任务领取请求,从服务器中获取至少一个鉴定任务,包括:根据自前一次从所述服务器中获取所述鉴定任务起的预设时长内接收的所述至少一个鉴定器的任务领取请求,从所述服务器中获取至少一个鉴定任务。
7.可选地,所述根据自前一次从所述服务器中获取所述鉴定任务起的预设时长内接收的所述至少一个鉴定器的任务领取请求,从所述服务器中获取至少一个鉴定任务,包括:根据所述预设时长内接收的各所述鉴定器的任务领取请求,确定各所述鉴定器请求领取的鉴定任务数量和鉴定任务类型;根据各所述鉴定器请求领取的鉴定任务数量和鉴定任务类型,从所述服务器中获取至少一个鉴定任务。
8.可选地,所述根据所述预设时长内接收的各所述鉴定器的任务领取请求,确定各所述鉴定器请求领取的鉴定任务数量,包括:在所述预设时长内当接收到同一鉴定器的多个任务领取请求时,将所述多个任务领取请求中指示的最大鉴定任务数量,作为所述鉴定器请求领取的鉴定任务数量。
9.可选地,本方法还包括:建立与各所述鉴定器关联的内存实例;所述根据所述鉴定器的任务领取请求,向所述鉴定器分配鉴定任务,包括:根据所述鉴定器的任务领取请求,确定针对所述鉴定器的待分配的鉴定任务;将所述待分配的鉴定任务存入与所述鉴定器关
联的内存实例中。
10.可选地,本方法还包括:接收所述鉴定器以预设频次发送的心跳信息;以及,当在预设时长内未接收到某一所述鉴定器的心跳信息时,确定所述鉴定器异常;删除与异常鉴定器关联的内存实例。
11.可选地,本方法还包括:建立与各所述待鉴定对象关联的内存实例;以及当确定所述待鉴定对象被关联的所有鉴定器扫描完成,或者确定所述待鉴定对象在所述调度组件中的缓存时间超过预设阈值时,删除与所述待鉴定对象关联的内存实例。
12.可选地,本方法还包括:接收各所述鉴定器返回的鉴定结果;汇总各所述鉴定器针对相同鉴定任务的鉴定结果;将汇总后的针对各所述鉴定任务的鉴定结果返回给所述服务器。
13.可选地,所述鉴定器与所述调度组件位于同一运行环境中。
14.本公开的另一方面提供了一种鉴定任务调度方法,应用于鉴定器,包括:向所述调度组件发送任务领取请求;从所述调度组件中获取基于所述任务领取请求被分配的鉴定任务,以及获取与所述被分配的鉴定任务关联的待鉴定对象;进行针对所述待鉴定对象的鉴定操作,以及将得到的鉴定结果返回所述调度组件。
15.可选地,所述调度组件建立有与所述鉴定器关联的内存实例;所述从所述调度组件中获取基于所述任务领取请求被分配的鉴定任务,包括:从与所述鉴定器关联的内存实例中获取所述被分配的鉴定任务。
16.可选地,所述调度组件建立有与所述待鉴定对象关联的内存实例;所述获取与所述被分配的鉴定任务关联的待鉴定对象,包括:从与所述待鉴定对象关联的内存实例中获取所述待鉴定对象。
17.可选地,以预设频次向所述调度组件发送心跳信息。
18.本公开的另一方面提供了一种鉴定任务调度组件,包括:鉴定器管理模块、鉴定任务管理模块和待鉴定对象管理模块,每两个所述管理模块之间通信连接,其中,所述鉴定器管理模块用于接收来自至少一个鉴定器的任务领取请求;所述鉴定任务管理模块用于根据所述至少一个鉴定器的任务领取请求,从服务器中获取至少一个鉴定任务,以及针对每一所述鉴定器,根据所述鉴定器的任务领取请求,向所述鉴定器分配鉴定任务;所述待鉴定对象管理模块用于获取与各所述鉴定任务关联的待鉴定对象,以使所述鉴定器基于被分配的鉴定任务,从所述待鉴定对象管理模块中获取与所述被分配的鉴定任务关联的待鉴定对象。
19.可选地,所述获取与各所述鉴定任务关联的待鉴定对象,包括:所述待鉴定对象管理模块确定本地是否缓存有与待获取的待鉴定对象相同的对象;若有,则将本地缓存的所述对象作为所述待鉴定对象。
20.可选地,所述根据所述至少一个鉴定器的任务领取请求,从服务器中获取至少一个鉴定任务,包括:所述鉴定任务管理模块根据自前一次从所述服务器中获取所述鉴定任务起的预设时长内所述鉴定器管理模块接收的所述至少一个鉴定器的任务领取请求,从所述服务器中获取至少一个鉴定任务。
21.可选地,所述鉴定器管理模块根据所述预设时长内接收的各所述鉴定器的任务领取请求,确定各所述鉴定器请求领取的鉴定任务数量和鉴定任务类型;所述鉴定任务管理
模块根据所述鉴定器管理模块确定的各所述鉴定器请求领取的鉴定任务数量和鉴定任务类型,从所述服务器中获取至少一个鉴定任务。
22.可选地,所述根据所述预设时长内接收的各所述鉴定器的任务领取请求,确定各所述鉴定器请求领取的鉴定任务数量,包括:所述鉴定器管理模块在所述预设时长内当接收到同一鉴定器的多个任务领取请求时,将所述多个任务领取请求中指示的最大鉴定任务数量,作为所述鉴定器请求领取的鉴定任务数量。
23.可选地,所述鉴定器管理模块还用于建立与各所述鉴定器关联的内存实例;所述根据所述鉴定器的任务领取请求,向所述鉴定器分配鉴定任务,包括:所述鉴定任务管理模块根据所述鉴定器的任务领取请求,确定针对所述鉴定器的待分配的鉴定任务,以及将所述待分配的鉴定任务存入与所述鉴定器关联的内存实例中。
24.可选地,所述鉴定器管理模块还用于:接收所述鉴定器以预设频次发送的心跳信息;以及,当在预设时长内未接收到某一所述鉴定器的心跳信息时,确定所述鉴定器异常,并删除与异常鉴定器关联的内存实例。
25.可选地,所述待鉴定对象管理模块还用于:建立与各所述待鉴定对象关联的内存实例;以及,当确定所述待鉴定对象被关联的所有鉴定器扫描完成,或者确定所述待鉴定对象的缓存时间超过预设阈值时,删除与所述待鉴定对象关联的内存实例。
26.可选地,所述鉴定器管理模块还用于:接收各所述鉴定器返回的鉴定结果;汇总各所述鉴定器针对相同鉴定任务的鉴定结果;将汇总后的针对各所述鉴定任务的鉴定结果返回给所述服务器。
27.可选地,所述鉴定器与所述调度组件位于同一运行环境中。
28.本公开的另一方面提供了一种鉴定任务处理系统,包括:服务器、鉴定器和本公开实施例的调度组件,其中,所述鉴定器与所述调度组件位于同一运行环境中。
29.本公开的另一方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现本公开实施例的方法。
30.本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现本公开实施例的的方法。
31.本公开的另一方面提供了一种计算机程序产品,包括计算机可读指令,其中,所述计算机可读指令被执行时用于执行本公开实施例的的方法。
附图说明
32.为了更完整地理解本公开及其优势,现在将参考结合附图的以下描述,其中:
33.图1示意性示出了根据本公开实施例的鉴定任务调度方法和装置的系统架构;
34.图2示意性示出了根据本公开实施例的一种鉴定任务调度方法的流程图;
35.图3示意性示出了根据本公开实施例的鉴定任务调度过程的示意图;
36.图4示意性示出了根据本公开实施例的获取鉴定任务方法的流程图;
37.图5示意性示出了根据本公开实施例的另一鉴定任务调度方法的流程图;
38.图6a示意性示出了相关技术中的鉴定任务处理系统的结构示意图;
39.图6b示意性示出了本公开实施例的鉴定任务处理系统的结构示意图;
40.图7示意性示出了根据本公开实施例的鉴定任务调度组件的框图;以及
41.图8示意性示出了根据本公开实施例的电子设备的框图。
具体实施方式
42.以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性地,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
43.在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
44.在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
45.在使用类似于“a、b和c等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有a、b和c中至少一个的系统”应包括但不限于单独具有a、单独具有b、单独具有c、具有a和b、具有a和c、具有b和c、和/或具有a、b、c的系统等)。
46.附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读存储介质上的计算机程序产品的形式,该计算机程序产品可供指令执行系统使用或者结合指令执行系统使用。
47.本公开的实施例提供了一种鉴定任务调度方法以及能够应用该方法的操作装置,该方法例如可以包括如下操作。首先,接收来自至少一个鉴定器的任务领取请求,以及,根据至少一个鉴定器的任务领取请求,从服务器中获取至少一个鉴定任务,以及获取与各鉴定任务关联的待鉴定对象,然后,针对每一鉴定器,根据鉴定器的任务领取请求,向鉴定器分配鉴定任务,以使鉴定器基于被分配的鉴定任务,从调度组件中获取与被分配的鉴定任务关联的待鉴定对象。
48.图1示意性示出了根据本公开实施例的鉴定任务调度方法和装置的系统架构。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
49.如图1所示,该系统架构100包括:至少一个终端(图中示出了多个,如终端101、102、103)、网络104和服务器105。网络104用于在终端(如终端101、102、103)和服务器105之间提供通信链路,网络104可以包括各种连接类型,例如包括无线通信链路、有线通信链路、
光纤电缆等。服务器105响应于用户的服务请求而提供鉴定服务,一个服务器可以提供一种或多种鉴定服务,同一鉴定服务也可以由多个服务器完成。示例性地,服务器105为云端服务器,其可以提供的鉴定服务至少包括云检测服务、恶意代码鉴定服务、文件信誉判定服务等。
50.在该系统架构100中,终端(如终端101、102、103)中设置有调度组件(如调度组件101a)和鉴定器(如鉴定器101b、101c、101d)。调度组件(如调度组件101a)接收来自同一终端中的至少一个鉴定器(如鉴定器101b、101c、101d)的任务领取请求,根据至少一个鉴定器的任务领取请求,从服务器105中获取至少一个鉴定任务,以及获取与各鉴定任务关联的待鉴定对象,然后针对每一鉴定器,调度组件根据鉴定器的任务领取请求,向鉴定器分配鉴定任务,以使鉴定器基于被分配的鉴定任务,从调度组件中获取与被分配的鉴定任务关联的待鉴定对象。
51.需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他系统架构。
52.以下将结合附图和具体实施例详细阐述本公开。
53.图2示意性示出了根据本公开实施例的一种鉴定任务调度方法的流程图,该方法应用于调度组件。
54.如图2所示,该方法200可以包括操作s210~s230。
55.在操作s210,接收来自至少一个鉴定器的任务领取请求。
56.在本公开实施例中,具体地,调度组件与鉴定器位于同一运行环境中,更具体地,调度组件与鉴定器位于同一终端中。根据鉴定方法所基于的特征不同,鉴定器可以包括基于静态特征的鉴定器、基于动态特征的鉴定器和综合鉴定器,综合鉴定器可以同时基于静态特征和动态特征进行鉴定。静态特征例如可以包括文件名称、文件版本、文件长度、文件类型、程序版本、程序形态、api(应用程序接口)数量等信息。动态特征例如可以包括自启动行为、进程隐藏行为、通信隐藏行为、注册表白动加载行为、注册表修改行为、系统文件修改行为、记录键盘操作的行为、修改浏览器中网页内容的行为、修改执行应用文件的行为等。
57.调度组件接收各鉴定器以预设频率发送的心跳信息,例如接收各鉴定器以预设频率发送的ping请求。当调度组件首次接收到某个鉴定器的ping请求时,调度组件建立针对该鉴定器的内存实例,内存实例包括与该鉴定器的实际运行信息相同的信息。当在预设时长内没有接收到某一鉴定器的心跳信息时,调度组件确定该鉴定器异常。为保证调度组件中的内存实例与鉴定器的实际运行情况一致,调度组件删除与异常鉴定器关联的内存实例。
58.可选地,可采用relay-job组件实现本实施例中的调度组件。
59.接下来,在操作s220,根据至少一个鉴定器的任务领取请求,从服务器中获取至少一个鉴定任务,以及获取与各鉴定任务关联的待鉴定对象。
60.在本实施例中,具体地,鉴定器的任务领取请求指示鉴定器请求领取的鉴定任务数量和鉴定任务类型。鉴定器可以基于自身硬件参数、运行参数和当前工作状态生成任务领取请求,运行参数例如可以包括运行速率、处理鉴定任务所占用的资源消耗等信息,当前工作状态例如可以包括未鉴定、正在鉴定的鉴定任务数量等信息。
61.服务器响应于用户的鉴定服务请求而提供鉴定服务,鉴定服务例如可以包括云检测服务、恶意代码鉴定服务、文件信誉判定服务等。服务器的数据库汇总存储动态的鉴定任务信息,以及存储与鉴定任务关联的待鉴定对象,待鉴定对象为需要利用终端中的鉴定器进行鉴定的对象,例如可以包括待鉴定的样本文件、日志数据、软件代码、程序脚本等。
62.示例性地,用户请求对某恶意代码进行鉴定,具体需要利用鉴定器鉴定恶意代码的类型,恶意代码的类型例如可以包括病毒、木马、广告软件、后门等。鉴定器可以对恶意代码的命名字段进行鉴定,判断恶意代码执行所需的操作系统环境、恶意代码的家族信息、恶意代码家族的变种信息、文件感染型病毒的感染长度等信息,以此实现判断恶意代码类型。
63.调度组件响应于接收的至少一个鉴定器的任务领取请求,从服务器中获取至少一个鉴定任务,以及获取与各鉴定任务关联的待鉴定对象。具体地,调度组件根据各鉴定器请求领取的鉴定任务数量和鉴定任务类型,从服务器中获取至少一个鉴定任务。除此之外,还可以根据各鉴定任务的任务标识,进行针对至少一个鉴定任务的获取操作,其中,任务标识指示鉴定任务类型和鉴定执行要求,鉴定执行要求例如包括用户指示的执行鉴定任务所需的鉴定器类型和鉴定器数量等信息。
64.调度组件建立与待鉴定对象关联的内存实例,内存实例包括待鉴定对象的数据结构、下载地址、报文标识、ip地址、存储位置等属性信息集合。建立与待鉴定对象关联的内存实例的同时,调度组件启动下载逻辑从服务器中获取待鉴定对象,并将待鉴定对象缓存在与待鉴定对象关联的内存实例中。可选地,在获取与各鉴定任务关联的待鉴定对象时,调度组件确定本地是否缓存有与待获取的待鉴定对象相同的对象,若有,则将本地缓存的对象作为待鉴定对象。具体地,调度组件确定本地是否存在针对待获取的待鉴定对象的内存实例,若存在则不重复建立内存实例,而是直接通知待鉴定对象下载完成。
65.利用调度组件从服务器中获取与鉴定任务关联的待鉴定对象,并且针对同一鉴定任务,调度组件只需从服务器中获取一次待鉴定对象。相较于相关技术中的同一终端的多个鉴定器分别从服务器中获取相同的待鉴定对象,本实施例通过优化待鉴定对象的下载次数,能够有效实现减少执行鉴定任务的网络资源耗费、节省终端带宽消耗达到资源利用最大化的目的。并且,对于已经建立的针对待鉴定对象的内存实例不再重复建立,通过避免重复下载待鉴定对象,有利于进一步减少终端带宽消耗,有利于进一步提高网络资源利用率和鉴定任务执行效率。
66.接下来,在操作s230,针对每一鉴定器,根据鉴定器的任务领取请求,向鉴定器分配鉴定任务,以使鉴定器基于被分配的鉴定任务,从调度组件中获取与被分配的鉴定任务关联的待鉴定对象。
67.在本实施例中,具体地,鉴定器与调度组件位于同一运行环境中,该运行环境内可能设置有多个鉴定器。针对每一鉴定器,调度组件根据鉴定器的任务领取请求,向鉴定器分配鉴定任务。具体地,调度组件根据鉴定器的任务领取请求,将待分配给鉴定器的鉴定任务,存放于针对鉴定器的内存实例中,更具体地,将鉴定任务存放于内存实例的待领取缓存中,以等待鉴定器从待领取缓存中领取被分配的鉴定任务。在从调度组件领取到被分配的鉴定任务后,鉴定器基于被分配的鉴定任务,从调度组件中下载与被分配的鉴定任务关联的待鉴定对象。
68.调度组件中的待鉴定对象不会被无限分配,在待鉴定对象被关联的所有鉴定器扫
描完成,或者确定待鉴定对象在调度组件中的缓存时间超过预设阈值时,删除与待鉴定对象关联的内存实例。示例性地,待鉴定对象为待鉴定的样本文件,确定与样本文件关联的鉴定器包括鉴定器a1、鉴定器a2和鉴定器a3,当确定样本文件被鉴定器a1、鉴定器a2和鉴定器a3扫描完成,则删除与样本文件关联的内存实例;或者,当样本文件在调度组件中的缓存时间超过一个小时,即与样本文件关联的内存实例在调度组件中的存留时间超过一个小时,则删除与样本文件关联的内存实例。通过对调度组件中的内存实例进行优化,有利于提升调度组件的资源利用率。
69.在鉴定器执行针对待鉴定对象的鉴定操作时,各鉴定器生成针对待鉴定对象的鉴定结果。鉴定结果例如可以包括待鉴定对象的可信度和信誉值,可信度例如包括以下任一:黑、白、灰、疑黑和疑白。黑表征待鉴定对象具有恶意性,白表征待鉴定对象具有安全性,灰表征不确定,疑黑表征待鉴定对象可能具有恶意性,疑白表征待鉴定对象可能具有安全性。信誉值可以采用数值特征进行表示,例如当某待鉴定对象的可信度为黑时,其信誉值为100,当某待鉴定对象的可信度为灰时,其信誉值为5,信誉值表征针对待鉴定对象的鉴定结果的可靠程度。
70.鉴定器在生成针对待鉴定对象的鉴定结果后,区别于相关技术中鉴定器将所得的鉴定结果发送给服务器,本实施例中鉴定器将所得的鉴定结果发送给调度组件。调度组件接收各鉴定器返回的鉴定结果,并对各鉴定器针对相同鉴定任务的鉴定结果进行汇总,即对各鉴定器针对同一待鉴定对象的鉴定结果进行汇总,并将汇总后的针对各鉴定任务的鉴定结果返回给服务器。
71.示例性地,上游用户请求对某日志数据进行鉴定,其要求使用a、b、c类型各5个鉴定器进行鉴定。调度组件对a、b、c类型各5个鉴定器的鉴定结果进行汇总,并将汇总后的鉴定结果返回服务器。在针对该日志数据的15个鉴定结果中,13个鉴定结果指示日志数据为白,2个鉴定结果指示日志数据为疑白,服务器确定该日志数据的最终鉴定结果为白,并将最终鉴定结果返回给上游用户。
72.通过本实施例,利用调度组件接收来自至少一个鉴定器的任务领取请求,和根据至少一个鉴定器的任务领取请求,从服务器中获取至少一个鉴定任务,以及获取与各鉴定任务关联的待鉴定对象,然后针对每一鉴定器,根据鉴定器的任务领取请求,向鉴定器分配鉴定任务,以使鉴定器基于被分配的鉴定任务,从调度组件中获取与被分配的鉴定任务关联的待鉴定对象。利用调度组件从服务器中获取与鉴定任务关联的待鉴定对象,由至少一个鉴定器从调度组件中获取待鉴定对象,相比于相关技术中由至少一个鉴定器直接从服务器中获取相同待鉴定对象,本实施例通过优化从服务器中下载待鉴定对象的次数,有效减少了获取待鉴定对象的网络资源消耗,通过节省终端带宽消耗达到了资源利用最大化的目的。
73.图3示意性示出了根据本公开实施例的鉴定任务调度过程的示意图,如图3所示,在鉴定任务调度过程300中,用户通过用户终端301向服务器302发送鉴定请求,用于请求对待鉴定对象进行鉴定,服务器302在接收到用户的鉴定请求后,生成鉴定任务并获取与鉴定任务关联的待鉴定对象,待鉴定对象具体可由用户通过用户终端301发送至服务器302,也可由服务器302通过其他途径获得。鉴定终端303(鉴定系统可能存在多个鉴定终端,图3示意性示出了鉴定终端303)包括调度组件和n个鉴定器,n为大于3的整数。调度组件接收n个
鉴定器中的至少部分鉴定器的任务领取请求,基于接收到的至少部分鉴定器的任务领取请求,调度组件从服务器302中获取鉴定任务,以及获取与鉴定任务关联的待鉴定对象。调度组件根据各鉴定器的任务领取请求,向各鉴定器分配鉴定任务,以使各鉴定器基于被分配的鉴定任务,从调度组件中获取与被分配的鉴定任务关联的待鉴定对象并进行鉴定,各鉴定器将鉴定得到的鉴定结果返回给调度组件,调度组件对针对相同鉴定任务的鉴定结果进行汇总,并将汇总后的鉴定结果返回服务器302,以供服务器302将汇总后的鉴定结果返回用户终端301。
74.图4示意性示出了根据本公开实施例的获取鉴定任务方法的流程图。
75.如图4所示,操作s220例如可以包括操作s410~s420。
76.在操作s410,根据自前一次从服务器中获取鉴定任务起的预设时长内接收的至少一个鉴定器的任务领取请求,确定各鉴定器请求领取的鉴定任务数量和鉴定任务类型。
77.在本实施例中,具体地,调度组件可以以预设频率从服务器中获取鉴定任务,以及获取与鉴定任务关联的待鉴定对象,示例性地,调度组件每隔1s从服务器中获取一次鉴定任务。鉴定器可以以预设频率向调度组件发送任务领取请求,也可以根据需要随时向调度组件发送任务领取请求。示例性地,鉴定器每隔100ms向调度组件发送一次任务领取请求。
78.调度组件根据自前一次从服务器中获取鉴定任务起的预设时长内接收的至少一个鉴定器的任务领取请求,确定各鉴定器请求领取的鉴定任务数量和鉴定任务类型,其中,预设时长由调度组件从服务器中获取鉴定任务的频次决定。示例性地,调度组件根据每1s内接收的鉴定器的任务领取请求,确定各鉴定器请求领取的鉴定任务数量和鉴定任务类型。
79.调度组件对预设时长内接收到的至少一个鉴定器的任务领取请求进行汇总,汇总原则包括当在预设时长内接收到同一鉴定器的多个任务领取请求时,将多个任务领取请求中指示的最大鉴定任务数量,作为鉴定器请求领取的鉴定任务数量;当在预设时长内接收到鉴定器的一个任务领取请求时,将该任务领取请求指示的鉴定任务数量,直接作为鉴定器请求领取的鉴定任务数量。
80.示例性地,调度组件在某1s内接收到鉴定器a1的3个任务领取请求,3个任务领取请求分别请求领取5、10、5个鉴定任务,此时,将3个任务领取请求中指示的最大鉴定任务数量,作为鉴定器a1请求领取的鉴定任务数量,即确定鉴定器a1请求领取的鉴定任务数量为10个。同时,调度组件在该1s内还接收到鉴定器a2、a3、b1、b2各发送的一个任务领取请求,将各任务领取请求指示的鉴定任务数量,直接作为对应的鉴定器请求领取的鉴定任务数量。
81.可选地,可以对调度组件从服务器中获取鉴定任务的频次进行调整,即对上述预设时长进行调整,以实现调度组件在预设时长内接收到终端中所有鉴定器的任务领取请求。调度组件对预设时长内接收的任务领取请求进行汇总,汇总后的任务领取请求包尽量对应于同一鉴定任务,即汇总后的任务领取请求包尽量对应于同一待鉴定对象,该种设计可以最大程度减少待鉴定对象的下载次数,有利于实现网络资源优化程度的最大化。
82.鉴定器的任务领取请求还指示鉴定器请求领取的鉴定任务类型,不同鉴定任务类型对应于不同待鉴定对象类型。调度组件可以根据接收到的鉴定器的任务领取请求,确定适于鉴定器的待鉴定对象类型,待鉴定对象类型例如可以包括样本文件、日志数据、软件代
码、程序脚本等。
83.接下来,在操作s420,根据各鉴定器请求领取的鉴定任务数量和鉴定任务类型,从服务器中获取至少一个鉴定任务。
84.在本实施例中,具体地,调度组件根据各鉴定器请求领取的鉴定任务数量和鉴定任务类型,从服务器中获取至少一个鉴定任务。在从服务器中获取到至少一个鉴定任务后,调度组件将与各鉴定器关联的鉴定任务,放入针对各鉴定器的内存实例的下载缓存中。在下载完成与鉴定任务关联的待鉴定对象后,调度组件将鉴定任务由下载缓存放入领取缓存,以等待鉴定器领取鉴定任务。
85.图5示意性示出了根据本公开实施例的另一鉴定任务调度方法的流程图,该方法应用于鉴定器。
86.如图5所示,该方法500可以包括操作s510~s530
87.在操作s510,向调度组件发送任务领取请求。
88.在操作s520,从调度组件中获取基于任务领取请求被分配的鉴定任务,以及获取与被分配的鉴定任务关联的待鉴定对象。
89.在操作s530,进行针对待鉴定对象的鉴定操作,以及将得到的鉴定结果返回调度组件。
90.调度组件建立有与鉴定器关联的内存实例,在从调度组件中获取被分配的鉴定任务时,具体从与鉴定器关联的内存实例中获取被分配的鉴定任务。同时,调度组件还建立有与待鉴定对象关联的内存实例,在从调度组件中获取与被分配的鉴定任务关联的待鉴定对象时,从与待鉴定对象关联的内存实例中获取待鉴定对象。可选地,鉴定器以预设频次向调度组件发送心跳信息,以表征鉴定器处于运行正常状态。
91.本公开实施例提供一种鉴定任务处理系统,包括服务器、鉴定器和调度组件,其中,调度组件可用于执行本实施例方法,鉴定器与调度组件位于同一运行环境中。
92.图6a示意性示出了相关技术中的鉴定任务处理系统的结构示意图,如图6a所示,该处理系统种包括服务器、位于机器1中的鉴定器1、鉴定器2和位于机器2中的鉴定器3、鉴定器4。在执行鉴定任务时,鉴定器1、鉴定器2、鉴定器3、鉴定器4从服务器中获取鉴定任务,以及获取与鉴定任务关联的待鉴定对象。同一机器中的不同鉴定器从服务器中获取的待鉴定对象可能相同,待鉴定对象的重复获取会造成网络带宽额外消耗,影响鉴定任务处理效率,甚至影响机器正常工作。
93.图6b示意性示出了本公开实施例的鉴定任务处理系统的结构示意图,如图6b所示,该处理系统种包括服务器、位于机器1中的调度组件1、鉴定器1、鉴定器2和位于机器2中的调度组件2、鉴定器3、鉴定器4。在执行鉴定任务时,调度组件1、调度组件2从服务器中获取鉴定任务,以及获取与鉴定任务关联的待鉴定对象。各机器中的鉴定器从位于同一机器内的调度组件中获取鉴定任务,以及获取与鉴定任务关联的待鉴定对象,由于调度组件与鉴定器位于同一机器内,不同鉴定器从调度组件中获取待鉴定对象不会造成网络带宽额外消耗。通过在各机器中设置调度组件,利用调度组件从服务器中获取待鉴定对象,通过优化从服务器中下载待鉴定对象的次数,有利于减少网络带宽消耗,有利于通过节省终端带宽消耗达到资源利用最大化的目的。
94.图7示意性示出了根据本公开实施例的鉴定任务调度组件的框图。
95.如图7所示,该调度组件700可以包括鉴定器管理模块701、鉴定任务管理模块702和待鉴定对象管理模块703,每两个管理模块之间通信连接。
96.其中,鉴定器管理模块701用于接收来自至少一个鉴定器的任务领取请求;鉴定任务管理模块702用于根据至少一个鉴定器的任务领取请求,从服务器中获取至少一个鉴定任务,以及针对每一鉴定器,根据鉴定器的任务领取请求,向鉴定器分配鉴定任务;待鉴定对象管理模块703用于获取与各鉴定任务关联的待鉴定对象,以使鉴定器基于被分配的鉴定任务,从待鉴定对象管理模块中获取与被分配的鉴定任务关联的待鉴定对象。
97.通过本实施例,利用调度组件接收来自至少一个鉴定器的任务领取请求,和根据至少一个鉴定器的任务领取请求,从服务器中获取至少一个鉴定任务,以及获取与各鉴定任务关联的待鉴定对象,然后针对每一鉴定器,根据鉴定器的任务领取请求,向鉴定器分配鉴定任务,以使鉴定器基于被分配的鉴定任务,从调度组件中获取与被分配的鉴定任务关联的待鉴定对象。利用调度组件从服务器中获取与鉴定任务关联的待鉴定对象,由至少一个鉴定器从调度组件中获取待鉴定对象,相比于相关技术中由至少一个鉴定器直接从服务器中获取相同待鉴定对象,本实施例通过优化从服务器中下载待鉴定对象的次数,有效减少了获取待鉴定对象的网络资源消耗,通过节省终端带宽消耗达到了资源利用最大化的目的。
98.作为一种可选的实施例,获取与各鉴定任务关联的待鉴定对象,包括:待鉴定对象管理模块确定本地是否缓存有与待获取的待鉴定对象相同的对象;若有,则将本地缓存的对象作为待鉴定对象。
99.作为一种可选的实施例,根据至少一个鉴定器的任务领取请求,从服务器中获取至少一个鉴定任务,包括:鉴定任务管理模块根据自前一次从服务器中获取鉴定任务起的预设时长内鉴定器管理模块接收的至少一个鉴定器的任务领取请求,从服务器中获取至少一个鉴定任务。
100.作为一种可选的实施例,鉴定器管理模块根据预设时长内接收的各鉴定器的任务领取请求,确定各鉴定器请求领取的鉴定任务数量和鉴定任务类型;鉴定任务管理模块根据鉴定器管理模块确定的各鉴定器请求领取的鉴定任务数量和鉴定任务类型,从服务器中获取至少一个鉴定任务。
101.作为一种可选的实施例,根据预设时长内接收的各鉴定器的任务领取请求,确定各鉴定器请求领取的鉴定任务数量,包括:鉴定器管理模块在预设时长内当接收到同一鉴定器的多个任务领取请求时,将多个任务领取请求中指示的最大鉴定任务数量,作为鉴定器请求领取的鉴定任务数量。
102.作为一种可选的实施例,鉴定器管理模块还用于建立与各鉴定器关联的内存实例;根据鉴定器的任务领取请求,向鉴定器分配鉴定任务,包括:鉴定任务管理模块根据鉴定器的任务领取请求,确定针对鉴定器的待分配的鉴定任务,以及将待分配的鉴定任务存入与鉴定器关联的内存实例中。
103.作为一种可选的实施例,鉴定器管理模块还用于:接收鉴定器以预设频次发送的心跳信息;以及,当在预设时长内未接收到某一鉴定器的心跳信息时,确定鉴定器异常,并删除与异常鉴定器关联的内存实例。
104.作为一种可选的实施例,待鉴定对象管理模块还用于:建立与各待鉴定对象关联
的内存实例;以及,当确定待鉴定对象被关联的所有鉴定器扫描完成,或者确定待鉴定对象的缓存时间超过预设阈值时,删除与待鉴定对象关联的内存实例。
105.作为一种可选的实施例,鉴定器管理模块还用于:接收各鉴定器返回的鉴定结果;汇总各鉴定器针对相同鉴定任务的鉴定结果;将汇总后的针对各鉴定任务的鉴定结果返回给服务器。
106.作为一种可选的实施例,鉴定器与调度组件位于同一运行环境中。
107.需要说明的是,在本公开实施例中,装置部分的实施例方式与方法部分的实施例方式对应类似,并且所达到的技术效果也对应类似,在此不再赘述。
108.根据本公开的实施例的模块中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、片上系统、基板上的系统、封装上的系统、专用集成电路(asic),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者根据本公开实施例的模块中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
109.例如,鉴定器管理模块701、鉴定任务管理模块702和待鉴定对象管理模块703中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,鉴定器管理模块701、鉴定任务管理模块702和待鉴定对象管理模块703中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、片上系统、基板上的系统、封装上的系统、专用集成电路(asic),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,鉴定器管理模块701、鉴定任务管理模块702和待鉴定对象管理模块703中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
110.图8示意性示出了根据本公开实施例的电子设备的框图。图8示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
111.如图8所示,电子设备800包括处理器810、计算机可读存储介质820。该电子设备800可以执行根据本公开实施例的方法。
112.具体地,处理器810例如可以包括通用微处理器、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(asic)),等等。处理器810还可以包括用于缓存用途的板载存储器。处理器810可以是用于执行根据本公开实施例的方法流程的不同动作的单一处理模块或者是多个处理模块。
113.计算机可读存储介质820,例如可以是非易失性的计算机可读存储介质,具体示例包括但不限于:磁存储装置,如磁带或硬盘(hdd);光存储装置,如光盘(cd-rom);存储器,如随机存取存储器(ram)或闪存;等等。
114.计算机可读存储介质820可以包括计算机程序821,该计算机程序821可以包括代
码/计算机可执行指令,其在由处理器810执行时使得处理器810执行根据本公开实施例的方法或其任何变形。
115.计算机程序821可被配置为具有例如包括计算机程序模块的计算机程序代码。例如,在示例实施例中,计算机程序821中的代码可以包括一个或多个程序模块,例如包括821a、模块821b、......。应当注意,模块的划分方式和个数并不是固定的,本领域技术人员可以根据实际情况使用合适的程序模块或程序模块组合,当这些程序模块组合被处理器810执行时,使得处理器810可以执行根据本公开实施例的方法或其任何变形。
116.根据本公开的实施例,鉴定器管理模块701、鉴定任务管理模块702和待鉴定对象管理模块703中的至少一个可以实现为参考图8描述的计算机程序模块,其在被处理器810执行时,可以实现上面描述的相应操作。
117.本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
118.本公开还提供了一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行本公开实施例所提供的方法的程序代码,当计算机程序产品在电子设备上运行时,该程序代码用于使电子设备实现本公开实施例所提供的鉴定任务调度方法。
119.根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如java,c ,python,“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
120.附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
121.本领域技术人员可以理解,尽管已经参照本公开的特定示例性实施例示出并描述了本公开,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以对本公开进行形式和细节上的多种改变。因此,本公开的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献