一种分布式服务器自动分配并扫描病毒的方法及装置与流程

文档序号:26790717发布日期:2021-09-28 23:17阅读:94来源:国知局
一种分布式服务器自动分配并扫描病毒的方法及装置与流程

1.本技术涉及镜像病毒扫描领域,尤其涉及一种分布式服务器自动分配并扫描病毒的方法及装置。


背景技术:

2.对于linux用户,通过镜像站点下载镜像文件是获得应用程序和文件的重要方式之一。镜像站点往往采用ftp服务器作为镜像服务器来存储管理镜像文件。对于镜像服务器,其面临的安全威胁主要来自于上传的镜像文件携带的病毒。一旦携带病毒的镜像文件通过镜像服务器发布,被用户下载安装很容易造成大规模的病毒传播事件。
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.本技术实施例提供的上述技术方案与现有技术相比具有如下优点:
34.本技术通过管理节点从镜像服务器获取待扫描镜像文件的文件信息,并根据文件信息生成病毒扫描任务,管理节点根据病毒扫描任务内容利用扫描时间模型计算与管理节点连接的扫描节点完成病毒扫描任务的时刻,并将病毒扫描任务分配最快完成的扫描节点。扫描节点扫描镜像文件生成扫描日志和镜像扫描信息;将扫描日志上传给镜像服务器,将镜像扫描信息发送给管理节点以更新扫描时间模型。
35.本技术能够通过镜像服务器和管理节点配合自动生成病毒扫描任务,管理节点与扫描节点配合维护扫描时间模型,利用扫描时间模型计算扫描节点完成病毒扫描任务的时刻,将病毒扫描任务自动分配给最佳的扫描节点。本技术能够自动高效地进行镜像文件病毒扫描。
36.镜像服务器本身无需配置扫描查毒程序,解放镜像服务器性能。
37.由多个扫描节点为一个镜像服务器提供扫描服务,大大提高扫描效率,减少扫描延迟,更高效地完成镜像文件的安全上传。
附图说明
38.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
39.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
40.图1为本技术实施例提供的一种分布式服务器自动分配并扫描病毒的方法的流程图;
41.图2为本技术实施例提供的根据镜像扫描信息维护扫描时间模型的流程图;
42.图3为本技术实施例提供的镜像服务器将文件信息发送给管理节点的流程图;
43.图4为本技术实施例提供的另一种分布式服务器自动分配并扫描病毒的方法的流程图;
44.图5为本技术实施例提供的分布式服务器自动分配并扫描病毒的装置的架构图。
具体实施方式
45.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术的一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
46.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
47.实施例1
48.本实施例提供一种分布式服务器自动分配并扫描病毒的方法,参阅图1所示,包括:
49.s100,管理节点从扫描节点获取镜像扫描信息来构建扫描时间模型。参阅图2所示,管理节点从扫描节点获取镜像扫描信息来构建扫描时间模型。
50.s101,管理节点为每个扫描节点定义针对镜像文件类型的扫描时间变量。镜像(mirroring)是一种文件存储形式,镜像文件类型包括iso、bin、img、tao、dao、cif、fcd。一
种可行的扫描时间变量命名的方式如下:扫描节点名_文件类型名_time。扫描时间变量用于估计不同扫描节点扫描不同类型的单位容量的镜像文件所需时间。对于扫描节点名为host2,镜像文件类型为iso的扫描时间变量为host2_iso_time,表示host2扫描单位容量的iso镜像文件的所需时间。
51.s102,初始化扫描时间变量,任一扫描时间变量的初始值远小于扫描节点扫描单位容量相应镜像文件病毒的时间;扫描时间变量的初始值小,则管理节点认为其处理病毒扫描任务所需时间少,就会将病毒扫描任务分配给未执行过扫描的扫描节点,而扫描节点一旦执行病毒扫描任务,更新后的扫描时间变量会远大于初始值,管理节点会将病毒扫描任务分配给未执行过扫描的节点。
52.s103,管理节点获取所述镜像扫描信息。所述镜像扫描信息包括扫描镜像文件的镜像文件类型、镜像文件容量以及实际扫描时间。具体实施过程中,扫描节点扫描镜像文件时,对扫描过程进行计时。扫描完成后,扫描节点将镜像文件类型、镜像文件容量以及实际扫描时间发送给管理节点。
53.s104,管理节点根据镜像文件类型更新相应的扫描时间变量:
54.扫描时间变量=扫描镜像文件的总时间/扫描镜像文件总容量。具体实施过程中,扫描镜像文件的总时间=原扫描镜像文件的总时间+镜像扫描信息的实际扫描时间,扫描镜像文件总容量=原扫描镜像文件总容量+镜像扫描信息的镜像文件容量。随着扫描节点扫描镜像文件量的增加,扫描时间的增长,扫描时间变量会越来越接近扫描节点扫描单位容量的相应镜像文件的实际所需时间。
55.任意一扫描节点的全部的扫描时间变量的集合形成该扫描节点的扫描时间变量模型。
56.s200,所述管理节点从镜像服务器获取待扫描镜像文件的文件信息。具体实施过程中,参阅图3所示,所述管理节点从镜像服务器获取待扫描镜像文件的文件信息过程包括:
57.s201,所述镜像服务器本地运行镜像上传监控程序,镜像上传监控程序循环读取镜像服务器系统日志文件,
58.s202,并匹配系统日志文件中镜像上传相关的关键字来判断是否有新的镜像文件上传到镜像服务器,
59.s203,如果有新的镜像上传到镜像服务器则采集镜像文件的文件信息,所述文件信息包括镜像文件名称、镜像文件类型、镜像文件容量和镜像文件路径。所述镜像文件路径为镜像文件在镜像服务器中的保存路径。
60.s204,将采集的文件信息写入设定文件;
61.s205,镜像服务器将设定文件传输给管理节点。
62.s300,所述管理节点根据所述文件信息创建病毒扫描任务。具体实施过程中构建包含所述文件信息和镜像服务器连接参数的数组型数据结构;数组型数据结构的元素依次为镜像文件名称、镜像文件类型、镜像文件容量、镜像文件路径、连接镜像服务器的用户名以及连接镜像服务器的密码。
63.通过链表将数据结构构建成病毒扫描任务队列。通过链表的方式实现先进入病毒扫描任务队列的数据结构先被索引,后进入病毒扫描任务队列的数据结构后被索引。
64.s400,所述管理节点利用所述扫描时间模型计算每个扫描节点完成目标病毒扫描任务的时刻;具体实施过程中,所述管理节点根镜像文件的类型选取相应的扫描时间变量,所述管理节点计算全部节点完成目标病毒扫描任务的时间,完成目标病毒扫描任务的时间=扫描节点的扫描时间变量*镜像文件的容量。所述管理节点统计扫描节点正在执行任务的时刻,每个扫描节点完成目标病毒扫描任务的时刻=扫描节点正在执行任务的时刻+完成目标病毒扫描任务的时间。
65.s500,所述管理节点给能最早完成的扫描节点分配目标病毒扫描任务;具体实施过程中,管理节点比较全部扫描节点完成目标病毒扫描任务的时刻,所述管理节点将目标病毒扫描任务分配给完成目标病毒扫描任务的时刻最小的扫描节点;具体的,所述管理节点将所述数据结构发送给所述扫描节点。
66.s600,扫描节点根据目标病毒扫描任务从镜像服务器下载相应镜像文件并扫描,生成扫描日志上传镜像服务器;扫描节点生成镜像扫描信息并上传至管理节点。
67.具体实施过程中,所述扫描节点解析数据结构内容获取镜像文件名称、镜像文件类型、镜像文件容量、镜像文件路径、连接镜像服务器的用户名以及连接镜像服务器的密码。扫描节点通过连接镜像服务器的用户名和连接镜像服务器的密码连接到镜像服务器,如果扫描节点首次连接,则记录连接镜像服务器的用户名以及连接镜像服务器的密码到本地。
68.扫描节点根据所述镜像文件路径从镜像服务器下载与镜像文件名称相对应的镜像文件,并将下载的镜像文件保存到到扫描节点的指定目录。扫描节点配置扫描杀毒程序启动脚本,该启动脚本监测指定目录是否有镜像文件写入,如果有镜像文件写入则所述启动脚本启动扫描杀毒程序扫描写入的镜像文件。
69.所述扫描杀毒程序在扫描过程中生成相应的扫描日志。所述扫描节点将扫描日志命名为镜像文件名称_log,所述扫描节点将扫描日志发送到镜像文件路径下。审查人员根据扫描日志的名称可以确定扫描日志对应的镜像文件,根据扫描日志的内容判断镜像文件是否安全。
70.所述扫描杀毒程序扫描镜像文件过程中,所述扫描节点对扫描过程进行计时,直至扫描镜像文件完成,通过计时获取镜像文件的实际扫描时间。扫描节点将镜像文件类型、镜像文件容量以及实际扫描时间作为镜像扫描信息发送给所述管理节点。
71.实施例2
72.本实施例提供一种分布式服务器自动分配并扫描病毒的方法,通过管理节点监测扫描节点的工作状态;具体实施过程中管理节点根据分配给扫描节点的病毒扫描任务和扫描节点反馈给管理节点的镜像扫描信息判断扫描节点处于工作状态还是空闲状态。
73.本实施例提供一种分布式服务器自动分配并扫描病毒的方法,参阅图4所示,过程包括:
74.s10,管理节点从扫描节点获取镜像扫描信息来构建扫描时间模型。
75.s20,所述管理节点从镜像服务器获取待扫描镜像文件的文件信息。
76.s30,所述管理节点根据所述文件信息创建病毒扫描任务。
77.s40,先判断是否存在空闲状态的扫描节点;如果存在空闲状态的扫描节点,则执行s50;如果不存在空闲状态的扫描节点则执行s60。
78.s50,将病毒扫描任务依次分给空闲状态的扫描节点;具体实施过程中,可能同时存在多个处于空闲状态的扫描节点,在管理节点中配置一个扫描节点顺序表,对于处于空闲装填的扫描节点,按其在扫描节点顺序表的顺序依次分配病毒扫描任务。
79.s60,利用所述扫描时间模型计算每个扫描节点完成目标病毒扫描任务的时刻,给能最早完成的扫描节点分配目标病毒扫描任务。实施例2相比实施例1在存在空闲状态扫描节点时,减少计算每个扫描节点完成目标病毒扫描任务的时刻的过程。
80.s70,扫描节点根据目标病毒扫描任务从镜像服务器下载相应镜像文件并扫描,生成扫描日志上传镜像服务器;扫描节点生成镜像扫描信息并上传至管理节点。
81.实施例3
82.本实施例提供一种分布式服务器自动分配并扫描病毒的装置,参阅图5所示,包括镜像服务器,所述镜像服务器用于保存镜像文件;
83.与所述镜像服务器连接的管理节点。具体实施过程中,一方面所述管理节点从所述镜像服务器获取待扫描镜像文件的文件信息,并根据文件信息生成病毒扫描任务。
84.另一方面,所述管理节点维持各个扫描节点的扫描时间模型,利用扫描时间模型计算扫描节点完成病毒扫描任务的时刻,进而根据完成病毒扫描任务的时刻将病毒扫描任务分配给能最早完成的扫描节点。
85.与所述管理节点连接且与所述镜像服务器连接的若干扫描节点,扫描节点与管理节点形成分布式布局,在当前的管理节点故障时,分布式布局可以通过选举的方式产生新的管理节点,使得分布式服务器自动分配并扫描病毒的装置具有容错性,而且采用分布式布局可以统一更新扫描杀毒程序,扫描杀毒程序更新方便。所述扫描节点配置扫描杀毒程序;扫描节点根据病毒扫描任务从镜像服务器下载镜像文件,扫描杀毒程序扫描下载的镜像文件,并生成扫描日志,所述扫描节点将扫描日志上传镜像服务器,具体的,将扫描日志上传到镜像文件所处的路径。
86.所述扫描节点配置计时模块,所述计时模块对所述扫描杀毒程序扫描镜像文件的时间进行计时。通过计时获取镜像文件的实际扫描时间,所述扫描节点将镜像扫描信息发送给管理节点,管理节点根据镜像扫描信息更新扫描时间模型。
87.具体实施过程中,所述镜像服务器配置镜像文件监控模块、文件信息检索模块和文件信息传输模块,所述镜像文件监控模块用于监控是否有镜像文件上传至镜像服务器,采集镜像名称;所述文件信息检索模块根据镜像名称检索镜像文件的文件信息,所述文件信息传输模块用于将文件信息发送给所述管理节点。
88.实施例4
89.本实施例提供一种分布式服务器自动分配并扫描病毒的存储介质,该存储介质存储至少一条指令,执行所述指令实现实施例1或实施例2所述的分布式服务器自动分配并扫描病毒的方法。
90.本技术分布式服务器自动分配并扫描病毒的方法及装置的原理如下:
91.通过在镜像服务器上运行的镜像上传监控程序循环读取镜像服务器系统日志文件,通过匹配镜像上传相关的关键则来判断是否有镜像文件上传到镜像服务器,获取上传到镜像服务器的镜像文件的文件信息并发送给管理节点;刚上传镜像服务器的镜像文件
92.管理节点根据文件信息生成病毒扫描任务,管理节点根据病毒扫描任务中镜像文
件类型选取扫描时间模型中的扫描时间变量,并将扫描时间变量乘以镜像文件容量计算与管理节点连接的扫描节点完成病毒扫描任务的完成时间,将时间累计到现有病毒扫描任务时刻上获得各个扫描节点完成病毒扫描任务的时刻,取时刻最小的扫描节点并将病毒扫描任务分配给它。
93.获取病毒扫描任务的扫描节点解析任务内容获取镜像名称和镜像文件路径,扫描节点连接镜像服务器,并根据镜像名称从镜像文件路径下载镜像文件。扫描节点通过扫描杀毒程序扫描镜像文件生成扫描日志,将扫描日志上传给镜像服务器的镜像文件路径下;扫描节点对扫描杀毒程序扫描镜像文件过程计时获取实际扫描时间,将镜像文件类型、镜像文件容量以及实际扫描时间打印成镜像扫描信息发送给管理节点;管理节点将镜像文件容量加到原扫描镜像文件总容量获取当前的扫描镜像文件总容量,将实际扫描时间加到原扫描镜像文件的总时间获取当前的扫描镜像文件的总时间,当前的扫描镜像文件的总时间/当前扫描镜像文件总容量更新扫描时间变量。
94.本技术能够通过镜像服务器和管理节点配合自动生成病毒扫描任务,管理节点与扫描节点配合维护扫描时间模型,利用扫描时间模型计算扫描节点完成病毒扫描任务的时刻,将病毒扫描任务自动分配给最佳的扫描节点。本技术能够自动高效地进行镜像文件病毒扫描。镜像服务器本身无需配置扫描查毒程序,解放镜像服务器性能。由多个扫描节点为一个镜像服务器提供扫描服务,大大提高扫描效率,减少扫描延迟,更高效地完成镜像文件的安全上传。
95.在本发明所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
96.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
97.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
98.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read

only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
99.以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1