CN113946422A - 一种动态分配的网站监测调度方法 - Google Patents
一种动态分配的网站监测调度方法 Download PDFInfo
- Publication number
- CN113946422A CN113946422A CN202111210276.9A CN202111210276A CN113946422A CN 113946422 A CN113946422 A CN 113946422A CN 202111210276 A CN202111210276 A CN 202111210276A CN 113946422 A CN113946422 A CN 113946422A
- Authority
- CN
- China
- Prior art keywords
- monitoring
- tasks
- task
- parallel
- executed
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/552—Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/484—Precedence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请涉及一种动态分配的网站监测调度方法,包括以下步骤:获取监测目标及监测目标对应的监测任务,并赋予所述监测任务优先级;按照任务类型将监测任务存入第一待执行队列;遍历第一待执行队列,获取第一类型的监测任务,基于优先级顺序从第一待执行队列中取出可执行的第一类型的监测任务;判断是否需要按监测目标维度限制并行的第一类型的监测任务;若否,则直接基于优先级顺序对第一类型的监测目标执行监测任务操作;若是,则基于优先级顺序与预设的监测目标维度任务并行限制方案对第一类型的监测目标执行监测任务操作;执行所述第一待执行队列中所有类型的监测任务操作。本申请具有在网站的监测过程中减少任务倾斜,均衡获取监测任务的效果。
Description
技术领域
本申请涉及网站监测的技术领域,尤其是涉及一种动态分配的网站监测调度方法。
背景技术
网站监测具体是指对客户授权网站的页面进行数据信息采集,根据策略分析该网站是否被恶意修改、植入挂马、是否有漏洞等风险,并在分析为有风险时,通过告警和报告方式通知客户。
传统的采集过程是按照任务创建时间的顺序获取采集任务,所以当相近时间创建多个网站任务时,集中对先创建的某一个网站的子任务进行采集,而忽略其他网站的子任务采集。
针对上述中的相关技术,发明人认为集中对网站子任务进行采集,容易出现任务倾斜,由于客户授权网站一般都设置有未知的防火墙策略,针对集中采集的操作极有可能触发其防火墙策略,造成不必要的麻烦。
发明内容
为了在网站监测过程中减少任务倾斜,均衡获取监测任务。本申请提供一种动态分配的网站监测调度方法。
本申请提供一种动态分配的网站调度方法,采用如下的技术方案:
一种动态分配的网站调度方法,一种动态分配的网站监测调度方法,包括以下步骤:
获取监测目标及所述监测目标对应的监测任务,并赋予所述监测任务优先级,所述监测任务包括有父任务和子任务;
按照任务类型将所述监测任务存入第一待执行队列;
遍历所述第一待执行队列,获取第一类型的监测任务,基于所述优先级顺序从所述第一待执行队列中取出可执行的第一类型的监测任务;
判断是否需要按监测目标维度限制并行的第一类型的监测任务;
若否,则直接基于所述优先级顺序对第一类型的监测目标执行监测任务操作;
若是,则基于所述优先级顺序与预设的监测目标维度任务并行限制方案对第一类型的所述监测目标执行监测任务操作;
执行所述第一待执行队列中所有类型的监测任务操作。
通过采用上述技术方案,对监测任务按照任务类型进行整理,存入第一待执行队列,将第一类型的监测任务中可执行的部分监测任务按照优先级顺序取出,若需要按照监测目标维度限制并行的第一类型的监测任务,则基于优先级顺序和预设的监测目标维度任务并行限制方案对第一类型的监测目标执行监测任务操作,若不需要按照监测目标维度限制并行的第一类型的监测任务,则直接基于优先级顺序对第一类型的监测目标执行监测任务操作,第一待执行队列中所有类型的监测任务均按照第一类型的监测任务的分配方法进行处理。本方法为所有监测任务赋予优先级,在执行监测任务的过程中优先执行优先级较高的监测任务,而非按照监测任务创建的时间顺序执行,减少了任务倾斜,使监测任务获取较为均衡。
可选的,所述按照所述优先级顺序从所述第一待执行队列中取出可执行的第一类型的监测任务包括以下步骤:
遍历所述第一待执行队列,获取第一类型的监测任务;
根据预设的时间循环查询第一类型监测任务的并行任务数和并行限制策略,所述并行任务数为正在执行的第一类型的监测任务总数,所述并行限制策略为可以同时执行的第一类型的最大监测任务总数;
对所述并行任务数和所述并行限制策略进行分析,得到第一分析结果,基于所述优先级顺序与所述第一分析结果取出可执行的第一类型的监测任务。
通过采用上述技术方案,根据并行任务数和并行限制策略可以得知是否能添加新的监测任务,便于分配。
可选的,所述对所述并行任务数和所述并行限制策略进行分析,得到第一分析结果,基于所述优先级顺序与所述第一分析结果取出可执行的第一类型的监测任务包括以下步骤:
判断所述并行任务数是否小于所述并行限制策略;
若所述并行任务数大于等于所述并行限制策略,则在预设的时间后重新获取第一类型监测任务的并行任务数和并行限制策略,并对所述并行任务数和所述并行限制策略再次进行分析;
若所述并行任务数小于所述并行限制策略,则按照优先级顺序从第一待执行队列中取出可执行的监测任务,并获得第一类型监测任务的可执行任务总数,所述可执行任务总数为所述并行限制策略与所述并行任务数的差值。
通过采用上述技术方案,当并行任务数大于等于并行限制策略时,表示当前第一类型的监测探针的工作量已饱和,此时不能再继续添加第一类型的监测任务;当第一类型的并行任务数小于并行限制策略时,按照优先级顺序取出优先级较高的监测任务,监测任务的可执行总数为并行限制策略与并行任务数的差值,表示可以继续添加监测任务,能够减少监测任务分配的盲目性,使监测任务的获取更加均衡。
可选的,所述基于所述监测任务的优先级与预设的监测目标维度任务并行限制方案执行监测任务操作包括以下步骤:
将第一类型的监测任务存入第二待执行队列;
将第二待执行队列中的监测任务进行分类,形成第一集合,所述第一集合中包括有若干所述监测目标及与每个所述监测目标对应的父任务和子任务;
遍历所述第一集合,按照优先级顺序从所述第一集合中获取优先级较高的第一监测目标,获取所述第一监测目标的子任务并行数和子任务限制策略,对所述子任务并行数和所述子任务限制策略进行分析,得到第二分析结果,所述子任务并行数为第一监测目标正在执行的第一类型的监测任务数,所述子任务限制策略为第一监测目标能够支持同时执行的最大监测任务数;
基于所述优先级顺序与所述第二分析结果对所述第一监测目标执行监测任务操作;
基于所述优先级顺序执行所述第二待执行队列中的所有监测任务操作。
通过采用上述技术方案,基于优先级顺序与预设的监测目标维度任务并行限制方案对第一类型的监测目标执行监测任务操作,能够进一步提高监测任务分配的合理性。
可选的,所述对所述子任务并行数和所述子任务限制策略进行分析,得到第二分析结果包括以下步骤:
判断所述第一监测目标的所述子任务并行数是否小于所述子任务限制策略;
若所述子任务并行数大于等于所述子任务限制策略,则在预设的时间后重新获取所述第一监测目标的所述子任务并行数和所述子任务限制策略,并对所述子任务并行数和所述子任务限制策略再次进行分析;
若所述子任务并行数小于所述子任务限制策略,则获取所述第一监测目标的父任务和子任务,形成第二集合,并获取所述第一监测目标的可执行子任务数,所述可执行子任务数等于所述子任务限制策略与所述子任务并行数的差值。
通过采用上述技术方案,若子任务并行数大于等于子任务限制策略,则表示同时执行的监测任务数已经饱和,即将触发网站的防火墙策略,无法再继续添加监测任务;若子任务并行数小于子任务限制策略,则表示此时还可以继续添加待执行的监测任务,能够减少监测任务分配的盲目性,使监测任务分配较为合理。
可选的,所述基于所述优先级顺序与所述第二分析结果对所述第一监测目标执行监测任务操作包括以下步骤:
遍历所述第二集合,按照所述优先级顺序取出优先级较高的监测任务;
将取出的监测任务加入第三待执行队列,所述可执行子任务数和所述可执行任务总数均减1;
对所述可执行任务总数进行分析,获得第三分析结果,基于所述第三分析结果执行所述第三待执行队列中的监测任务操作。
通过采用上述技术方案,根据可执行任务总数可以得知第一类型的监测任务是否全部取出,便于分配。
可选的,所述对所述可执行任务总数进行分析,获得第三分析结果,基于所述第三分析结果执行所述第三待执行队列中的监测任务操作包括以下步骤:
判断所述第一类型的可执行任务总数是否小于等于0;
若所述可执行任务总数小于等于0,则直接执行所述第三待执行队列中的所有子任务;
若所述可执行任务总数大于0,则对所述可执行子任务数进行分析,获得第四分析结果,基于所述第四分析结果执行所述第三待执行队列中的监测任务操作。
通过采用上述技术方案,判断第一类型的可执行任务总数是否小于等于0,可知第一类型的监测任务是否全部取出。
可选的,所述对所述可执行子任务数进行分析,获得第四分析结果,基于所述第四分析结果执行所述第三待执行队列中的监测任务操作包括以下步骤:
判断所述可执行子任务数是否小于等于0;
若所述可执行子任务数大于0,则继续遍历所述第二集合,按照优先级顺序取出优先级较高的监测任务加入第三待执行队列;
若所述可执行子任务数小于等于0,则对所述第一集合进行分析,并获得第五分析结果,并基于所述第五分析结果执行所述第三待执行队列中的监测任务操作。
通过采用上述技术方案,判断第一监测目标的可执行子任务数是否小于等于0,可知第二集合中的监测任务是否全部取出。
可选的,所述对所述第一集合进行分析,并获得第五分析结果包括以下步骤:
判断所述第一集合是否遍历结束;
若所述第一集合未遍历结束,则继续遍历所述第一集合,按照优先级顺序从所述第一集合中获取优先级较高的第二监测目标,再次获取所述第二监测目标的子任务并行数和子任务限制策略,并对所述第二监测目标的子任务并行数和子任务限制策略再次进行分析;
若所述第一集合遍历结束,则执行所述第三待执行队列中的所有监测任务。
通过采用上述技术方案,判断第一集合是否遍历结束,可以得知所有类型的监测任务是否全部取出。
可选的,所述判断第一集合是否遍历结束包括以下步骤:
获取所有监测目标的总目标数量,基于所述总目标数量确定操作次数;
从所述第一集合中取出一次监测目标,则所述操作次数减 1;
根据所述操作次数是否大于0来判断所述第一集合是否遍历结束。
附图说明
图1是本申请实施例一种动态分配的网站监测调度方法的整体流程结构示意图。
图2是本申请实施例一种动态分配的网站监测调度方法中步骤S201-S203的流程结构示意图。
图3是本申请实施例一种动态分配的网站监测调度方法中步骤S301-S303的流程结构示意图。
图4是本申请实施例一种动态分配的网站监测调度方法中步骤S401-S405的流程结构示意图。
图5是本申请实施例一种动态分配的网站监测调度方法中步骤S501-S503的流程结构示意图。
图6是本申请实施例一种动态分配的网站监测调度方法中步骤S601-S603的流程结构示意图。
图7是本申请实施例一种动态分配的网站监测调度方法中步骤S701-S703的流程结构示意图。
图8是本申请实施例一种动态分配的网站监测调度方法中步骤S801-S803的流程结构示意图。
图9是本申请实施例一种动态分配的网站监测调度方法中步骤S901-S903的流程结构示意图。
图10是本申请实施例一种动态分配的网站监测调度方法中步骤S901a-S903c的流程结构示意图。
具体实施方式
以下结合附图1-图10对本申请作进一步详细说明。
本申请实施例公开一种动态分配的网站监测调度方法,参照图1,包括以下步骤:
S101、获取监测目标及监测目标对应的监测任务,并赋予监测任务优先级,监测任务包括有父任务和子任务;
S102、按照任务类型将监测任务存入第一待执行队列;
S103、遍历第一待执行队列,获取第一类型的监测任务,基于优先级顺序从第一待执行队列中取出可执行的第一类型的监测任务;
S104、判断是否需要按监测目标维度限制并行监测任务;
S105、若需要按照监测目标维度限制并行监测任务,则基于优先级顺序与预设的监测目标维度任务并行限制方案对监测目标执行监测任务操作;
S106、若不需要按照监测目标维度限制并行监测任务,则直接对监测目标执行监测任务操作;
S107、执行第一待执行队列中所有类型的监测任务操作。
其中,步骤S101中,首先获取监测目标及监测目标对应的监测任务,监测目标为网站,在本实施例中,监测任务包括有父任务和子任务,且包括多种类型,一般来讲,父任务是对网站主页进行监测,子任务是对网站的子链接进行监测。在获取监测目标及监测目标的监测任务时,根据不同需求对所有的监测任务赋予优先级数值,以便优先执行较为重要的监测任务。
具体地,以百度网站为例,百度网站为监测目标,监测任务包括监测百度主网站的父任务及监测百度子链接的子任务,监测任务可以分为网站可用性ping、可用性http、可用性socket、域名监测、网页敏感词监测、网页篡改监测、网页暗链监测、网站挂马监测及网站漏洞扫描等多种类型,在实际监测过程中,上述的监测任务均适用父任务,即在百度主网站上可以执行上述的所有类型的任务,可用性ping、可用性http、可用性socket、域名监测、网站挂马监测类型不适用子任务,即百度网站的子链接不适用执行可用性ping、可用性http、可用性socket、域名监测、网站挂马监测任务,而网页敏感词监测、网页篡改监测、网页暗链监测及网站漏洞扫描适用子任务,即百度网站的子链接适用网页敏感词监测、网页篡改监测、网页暗链监测及网站漏洞扫描监测任务。
具体地,以百度网站和新浪网站为例,对百度网站和新浪网站的监测任务进行优先级标识,例如,将百度网站的监测任务标识为“1”,表示为加急处理优先级,将新浪网站的监测任务标识为“0”,表示为普通处理优先级。在本实施例中,定义优先级为“普通处理”的监测任务,将其父任务和子任务都按照0-1000进行优先级赋值,定义优先级为“加急处理”的监测任务,将其父任务和子任务按照1001-2000进行优先级赋值。由上述可知,监测百度网站的父任务和子任务的优先级赋值为1001-2000中的随机数字,监测新浪网站的父任务和子任务的优先级赋值为0-1000中的随机数字。
其中,步骤S102中,按照任务类型将监测任务存入第一待执行队列,将所有的监测任务按照网站可用性ping、可用性http、可用性socket、域名监测、网页敏感词监测、网页篡改监测、网页暗链监测、网站挂马监测及网站漏洞扫描等多种类型进行分类整理,并将整理后的监测任务存入第一待执行队列。例如:
1.可用性ping任务类型:百度主网站(父任务1)、新浪主网站(父任务2)……;
2.网站漏洞扫描任务类型:百度主网站(父任务1)、百度子链接1(子任务11)、百度子链接2(子任务12)、新浪主网站(父任务2)、新浪子链接1(父任务21)、新浪子链接2(父任务22)……;
……
其中,步骤S103中,遍历第一待执行队列,获取同一类型的监测任务,并根据优先级顺序取出目前可以执行的部分监测任务,具体参照图2中的步骤S201-步骤S203:
S201、遍历第一待执行队列,获取第一类型的监测任务;
S202、根据预设的时间循环获取第一类型监测任务的并行任务数和并行限制策略,并行任务数为正在执行的第一类型的监测任务总数,并行限制策略为可以同时执行的第一类型的最大监测任务总数;
S203、对并行任务数和并行限制策略进行分析,得到第一分析结果,基于优先级顺序与第一分析结果取出可执行的第一类型的监测任务。
其中,步骤S201中,遍历第一待执行队列,取出第一类型的监测任务,例如,将网站漏洞扫描监测任务作为第一类型的监测任务。
步骤S202中,循环获取第一类型的并行任务数和第一类型的并行限制策略,并行任务数表示现在正在进行的第一类型的任务总数,并行限制策略为能够支持同时执行的最大任务总数。预设的时间可以根据实际需求进行调整,在本实施例中,将预设的时间定为20s,即每过20s,获取一次第一类型的并行任务数和并行限制策略。
具体地,监测任务是通过监测探针进行执行的,监测探针可以看做执行监测任务的载体,并行限制策略与执行该任务的监测探针成正比,而每个监测探针可执行的最大任务数量是固定的,可知,监测探针越多,可同时执行的监测任务越多。例如,负责执行网站漏洞扫描任务的监测探针的数量若固定为10个,每个监测探针可执行的最大任务数量是20个,则同时执行网站漏洞扫描任务的数量为200个,即网站漏洞扫描监测任务的并行限制策略为200。
其中,步骤S203中,对并行任务数与并行监测策略进行分析,得到第一分析结果,从而根据第一分析结果判断是否可以添加监测任务进行执行,具体参照图3中的步骤S301-步骤S303:
S301、判断并行任务数是否小于并行限制策略;
S302、若并行任务数大于等于并行限制策略,则在预设的时间后重新获取第一类型监测任务的并行任务数和并行限制策略,并对并行任务数和并行限制策略再次进行分析;
S303、若并行任务数小于并行限制策略,则按照优先级顺序从第一待执行队列中取出可执行的监测任务,并获得第一类型监测任务的可执行任务总数,可执行任务总数为并行限制策略与并行任务数的差值。
具体地,当第一类型的并行任务数大于等于并行限制策略时,表示当前第一类型的监测探针的工作量已饱和,此时不能再继续添加第一类型的监测任务。等待预设的时间过后,再次获取第一类型的监测任务的并行任务数和并行限制策略,并再次进行分析,直至并行任务数小于并行限制策略。
当第一类型的并行任务数小于并行限制策略时,按照优先级顺序取出优先级较高的监测任务,监测任务的可执行总数为并行限制策略与并行任务数的差值。例如,网站漏洞扫描监测任务的并行限制策略为200个,并行任务数为180个,则可执行总数为200-180=20个,表示还可以再接收20个网站的漏洞扫描监测任务。
其中,取出可执行的同一类型的监测任务后,判断其中的父任务是否需要按照监测目标维度限制并行监测任务,可以理解为是否需要对父任务的子任务进行动态分配。同样以百度网站为例,可用性ping、可用性http、可用性socket、域名监测、网站挂马监测类型不适用百度网站的子链接,无需对这些子任务进行动态分配;网页敏感词监测、网页篡改监测、网页暗链监测及网站漏洞扫描适用子任务,则需要对这些子任务进行动态分配。
参照图1中的步骤S104-步骤S106,对第一类型的监测任务进行判断,若不需要按照监测目标维度限制并行监测任务,则直接根据监测任务的优先级顺序执行监测任务操作;
若需要按照监测目标维度限制并行监测任务,则基于优先级顺序与预设的监测目标维度任务并行限制方案对第一类型的监测目标执行监测任务操作,具体参照图4中的步骤S401-步骤S405。
S401、将第一类型的监测任务存入第二待执行队列;
S402、将第二待执行队列中的监测任务进行分类,形成第一集合,第一集合中包括有若干监测目标及与每个监测目标对应的父任务和子任务;
S403、遍历第一集合,按照优先级顺序从第一集合中获取优先级较高的第一监测目标,获取第一监测目标的子任务并行数和子任务限制策略,对子任务并行数和子任务限制策略进行分析,得到第二分析结果,子任务并行数为第一监测目标正在执行的第一类型的监测任务数,子任务限制策略为第一监测目标能够支持同时执行的最大监测任务数;
S404、基于优先级顺序与第二分析结果对第一监测目标执行监测任务操作;
S405、基于优先级顺序执行第二待执行队列中的所有监测任务操作。
具体地,步骤S401中,将第一类型的监测任务存入第二待执行队列,例如,将网站漏洞扫描类型任务存入第二待执行队列,在步骤S402中,将第一类型的监测任务进行分类,形成第一集合。执行网站漏洞扫描监测任务的包括有多个父任务和与父任务对应的子任务,例如,百度网站和新浪网站的父任务和子任务都需要执行网站漏洞扫描监测任务,则将百度网站的父任务和子任务分为一类,将新浪网站的父任务和子任务分为一类。因此,结合优先级将第一集合表示为:
1.百度网站,优先级:加急处理,标识“1”:
主网站:父任务1,优先级赋值“2000”;
子链接1:子任务11,优先级赋值“1800”;
子链接2:子任务12,优先级赋值“1500”……
2.新浪网站,优先级:普通处理,标识“0”:
主网站:父任务2,优先级赋值“1000”
子链接1:子任务21,优先级赋值“800”;
子链接2:子任务22,优先级赋值“500”……
……
具体地,步骤S403中,遍历第一集合,按照优先级顺序从第一集合中获取优先级较高的第一监测目标,并获取第一监测目标的子任务并行数和子任务限制策略。由上述第一集合可知,取出优先级标识为“1”的百度网站作为第一监测目标,获取百度网站的子任务并行数和子任务限制策略,其中,子任务并行数表示第一监测目标正在执行的第一类型的监测任务数,子任务限制策略表示第一监测目标能够支持同时执行的最大监测任务数量,子任务限制策略是根据每个监测目标网站的防火墙策略得知,每个网站的防火墙策略不同,因此每个监测目标的子任务限制策略不同,同样以百度网站为例,假设百度网站的防火墙策略是最高允许20个监测任务同时执行,则确定百度网站的子任务限制策略为20个。
具体的,获取子任务并行数和子任务限制策略后,对子任务并行数和子任务限制策略进行分析,从而判断是否继续添加待执行的子任务,具体参照图5中的步骤S501-步骤S503。
S501、判断第一监测目标的子任务并行数是否小于子任务限制策略;
S502、若子任务并行数大于等于子任务限制策略,则在预设的时间后重新获取第一监测目标的子任务并行数和子任务限制策略,并对子任务并行数和子任务限制策略再次进行分析;
S503、若子任务并行数小于子任务限制策略,则获取第一监测目标的父任务和子任务,形成第二集合,并获取第一监测目标的可执行子任务数,可执行子任务数等于子任务限制策略与子任务并行数的差值。
具体地,步骤S501-步骤S503中,判断第一监测目标的子任务并行数是否小于子任务限制策略,从而能够得知是否还可以继续添加第一监测目标的监测任务。
若子任务并行数大于等于子任务限制策略,则表示同时执行的监测任务数已经饱和,即将触发网站的防火墙策略,无法再继续添加监测任务。此时需等待预设的时间过后,再次获取第一监测目标的子任务并行数和子任务限制策略,并再次进行分析,直至子任务并行数小于子任务限制策略。
若子任务并行数小于子任务限制策略,则表示此时还可以继续添加待执行的监测任务,此时获取第一监测目标的所有待执行的第一类型的子任务,形成第二集合,并确定可执行子任务数,可执行子任务数即待执行的监测任务,数值上等于子任务限制策略与子任务并行数的差值。依然以百度网站为例,百度网站针对网站漏洞扫描监测任务的子任务限制策略为20个,此时正在执行的子任务并行数为15个,则可执行子任务数等于20-15=5个。
具体地,步骤S404中,对子任务并行数和子任务限制策略进行分析后,根据监测任务的优先级顺序和第二分析结果执行第二集合中的子任务操作,具体动作参照图6中的步骤S601-步骤S603:
S601、遍历第二集合,按照优先级顺序取出优先级较高的监测任务;
S602、将取出的监测任务加入第三待执行队列,可执行子任务数和可执行任务总数均减1;
S603、对可执行任务总数进行分析,获得第三分析结果,基于第三分析结果执行第三待执行队列中的监测任务操作。
具体地,步骤S601中,遍历第二集合,根据所有监测任务的优先级赋值顺序,取出优先级赋值较高的监测任务。例如,上述百度网站的父任务和子任务中,父任务1的优先级赋值最高,因此需要首先取出父任务1,子任务11的优先级赋值次之,因此接下来需要取出子任务11。
步骤S602中,将取出的子任务按照取出顺序存入第三待执行队列,此时将可执行子任务数和可执行任务总数的数值均减1。例如,取出百度网站的父任务1后,百度网站的可执行子任务数为5-1=4个,网站漏洞扫描监测任务的可执行任务总数20-1=19个。
步骤S603中,对可执行任务总数进行分析,获得第三分析结果,判断第一类型的监测任务是否全部取出,并基于第三分析结果执行第三待执行队列中的监测任务操作,具体动作参照图7中的步骤S701-步骤S703:
S701、判断第一类型的可执行任务总数是否小于等于0;
S702、若可执行任务总数小于等于0,则直接执行第三待执行队列中的所有子任务;
S703、若可执行任务总数大于0,则对可执行子任务数进行分析,获得第四分析结果,基于第四分析结果执行第三待执行队列中的监测任务操作。
具体地,步骤S701-步骤703中,判断第一类型的可执行任务总数是否小于等于0,可知第一类型的监测任务是否全部取出。
若可执行任务总数小于等于0,则确定第一集合中的监测任务已经全部取出,并存放在第三待执行队列中,此时可以直接执行第三待执行队列中的所有监测任务。
若可执行任务总数大于0,则确定第一类型的监测任务还未全部取出,此时对可执行子任务数进行分析,获得第四分析结果,判断第二集合中的监测任务是否全部取出,具体参照图8中的步骤S801-步骤S803:
S801、判断可执行子任务数是否小于等于0;
S802、若可执行子任务数大于0,则继续遍历第二集合,按照优先级顺序取出优先级较高的监测任务加入第三待执行队列;
S803、若可执行子任务数小于等于0,则对第一集合进行分析,并获得第五分析结果,并基于第五分析结果执行第三待执行队列中的监测任务操作。
具体地,步骤S801-步骤S803中,判断第一监测目标的可执行子任务数是否小于等于0,可知第二集合中的监测任务是否全部取出。
若可执行子任务数大于0,则确定第二集合中的监测任务还未全部取出,此时继续遍历第二集合,按照优先级顺序取出优先级较高的监测任务加入到第三待执行队列中。
若可执行子任务数小于等于0,则确定第二集合中的监测任务已经全部取出,即第一监测目标的监测任务已经全部取出,此时,对第一集合进行分析,并获得第五分析结果,基于第五分析结果执行第三待执行队列中的监测任务操作,具体参照图9中的步骤S901-步骤S903:
S901、判断第一集合是否遍历结束;
S902、若第一集合未遍历结束,则继续遍历第一集合,按照优先级顺序从第一集合中获取优先级较高的第二监测目标,再次获取第二监测目标的子任务并行数和子任务限制策略,并对第二监测目标的子任务并行数和子任务限制策略再次进行分析;
S903、若第一集合遍历结束,则执行第三待执行队列中的所有监测任务。
具体地,步骤S901-步骤S903中,判断第一集合是否遍历结束,可知所有监测目标第一类型的监测任务是否已经全部取出。
若第一集合未遍历结束,则继续遍历第一集合,按照监测目标对应的父任务优先级赋值较高的顺序选取出第二监测目标,并对第二监测目标执行步骤S403-步骤S405。例如,百度网站父任务的优先级赋值是2000,新浪网站父任务的优先级赋值为1000,阿里网站父任务的优先级赋值是500,则选择新浪网站作为第二监测目标,选择阿里网站作为第三监测目标。
若第一集合已经遍历结束,则确定所有监测目标的第一类型的监测任务已经全部取出,并存放在第三待执行队列中,此时直接执行第三待执行队列中的所有监测任务。
更具体地,参照图10,步骤S901还包括以下步骤:
S901a、获取所有监测目标的总目标数量,基于总目标数量确定操作次数;
S901b、从第一集合中取出一次监测目标,则操作次数减 1;
S901c、根据操作次数是否大于0来判断第一集合是否遍历结束。
步骤S901a-步骤S901c中,获取监测目标的总目标数量,例如,若需要对百度网站、新浪网站和阿里网站进行监测,则确定总目标数量为3个。根据总目标数量确定操作次数,若总目标数量为3个,则操作次数等于3,即需要从第一集合中取出3次监测目标。
当从第一集合中取出1个监测目标时,操作次数减1,即当取出第一监测目标时,操作次数等于3-1=2。
当操作次数大于0时,确定第一集合未遍历结束;当操作次数等于0时,确定第一集合遍历结束。
具体地,步骤S405中,根据优先级顺序选择第二类型的监测任务,按照上述的第一类型的监测任务的处理方法执行,直至第二待处理队列中所有类型的监测任务全部执行完毕。
具体地,步骤S107中,执行第一待执行队列中所有类型的监测任务操作,遍历第一集合,将所有类型的监测任务均按照上述第一类型的监测任务的处理方法进行处理,直至完成第一待执行队列中所有的监测任务操作。
本申请实施例一种动态分配的网站监测调度方法的实施原理为:将所有的监测任务按照任务类型存入第一待执行队列,遍历第一待执行队列,取出第一类型的监测任务,并基于并行任务总数和并行限制策略的关系以及监测任务的优先级顺序取出可执行的第一类型的监测任务,若取出的监测任务需要按照监测目标维度限制并行监测任务,则将可执行的第一类型的监测任务存入第二待执行队列,并进行整理,按照监测目标维度形成第一集合,基于第一监测目标的子任务并行数和子任务限制策略的关系取出第一监测目标的监测任务,形成第二集合,按照优先级顺序依次取出优先级较高的监测任务加入第三待执行队列,直至将第二集合中的所有监测任务全部取出,并根据可执行任务总数是否为0、可执行子任务数是否为0及第一集合是否遍历完毕来执行第三待执行队列中的所有监测任务操作,同理执行第二待执行队列中第二监测目标的监测任务操作,同理执行第一待执行队列中所有类型的监测任务操作。本方法的设置减少了按照时间分配任务的可能性,能够在网站的监测过程中减少任务倾斜,均衡获取监测任务;如果有特殊任务,可以调整该任务的优先级赋值,从而优先执行,灵活度高,适应性强,具有较强的实用性。
以上均为本申请的较佳实施例,并非依此限制本申请的保护范围,故:凡依本申请的结构、形状、原理所做的等效变化,均应涵盖于本申请的保护范围之内。
Claims (10)
1.一种动态分配的网站监测调度方法,其特征在于,包括以下步骤:
获取监测目标及所述监测目标对应的监测任务,并赋予所述监测任务优先级,所述监测任务包括有父任务和子任务;
按照任务类型将所述监测任务存入第一待执行队列;
遍历所述第一待执行队列,获取第一类型的监测任务,基于所述优先级顺序从所述第一待执行队列中取出可执行的第一类型的监测任务;
判断是否需要按监测目标维度限制并行的第一类型的监测任务;
若否,则直接基于所述优先级顺序对第一类型的监测目标执行监测任务操作;
若是,则基于所述优先级顺序与预设的监测目标维度任务并行限制方案对第一类型的所述监测目标执行监测任务操作;
执行所述第一待执行队列中所有类型的监测任务操作。
2.根据权利要求1所述的一种动态分配的网站监测调度方法,其特征在于,所述按照所述优先级顺序从所述第一待执行队列中取出可执行的第一类型的监测任务包括以下步骤:
遍历所述第一待执行队列,获取第一类型的监测任务;
根据预设的时间循环查询第一类型监测任务的并行任务数和并行限制策略,所述并行任务数为正在执行的第一类型的监测任务总数,所述并行限制策略为可以同时执行的第一类型的最大监测任务总数;
对所述并行任务数和所述并行限制策略进行分析,得到第一分析结果,基于所述优先级顺序与所述第一分析结果取出可执行的第一类型的监测任务。
3.根据权利要求2所述的一种动态分配的网站监测调度方法,其特征在于,所述对所述并行任务数和所述并行限制策略进行分析,得到第一分析结果,基于所述优先级顺序与所述第一分析结果取出可执行的第一类型的监测任务包括以下步骤:
判断所述并行任务数是否小于所述并行限制策略;
若所述并行任务数大于等于所述并行限制策略,则在预设的时间后重新获取第一类型监测任务的并行任务数和并行限制策略,并对所述并行任务数和所述并行限制策略再次进行分析;
若所述并行任务数小于所述并行限制策略,则按照优先级顺序从第一待执行队列中取出可执行的监测任务,并获得第一类型监测任务的可执行任务总数,所述可执行任务总数为所述并行限制策略与所述并行任务数的差值。
4.根据权利要求2所述的一种动态分配的网站监测调度方法,其特征在于,所述基于所述监测任务的优先级与预设的监测目标维度任务并行限制方案执行监测任务操作包括以下步骤:
将第一类型的监测任务存入第二待执行队列;
将第二待执行队列中的监测任务进行分类,形成第一集合,所述第一集合中包括有若干所述监测目标及与每个所述监测目标对应的父任务和子任务;
遍历所述第一集合,按照优先级顺序从所述第一集合中获取优先级较高的第一监测目标,获取所述第一监测目标的子任务并行数和子任务限制策略,对所述子任务并行数和所述子任务限制策略进行分析,得到第二分析结果,所述子任务并行数为第一监测目标正在执行的第一类型的监测任务数,所述子任务限制策略为第一监测目标能够支持同时执行的最大监测任务数;
基于所述优先级顺序与所述第二分析结果对所述第一监测目标执行监测任务操作;
基于所述优先级顺序执行所述第二待执行队列中的所有监测任务操作。
5.根据权利要求4所述的一种动态分配的网站监测调度方法,其特征在于,所述对所述子任务并行数和所述子任务限制策略进行分析,得到第二分析结果包括以下步骤:
判断所述第一监测目标的所述子任务并行数是否小于所述子任务限制策略;
若所述子任务并行数大于等于所述子任务限制策略,则在预设的时间后重新获取所述第一监测目标的所述子任务并行数和所述子任务限制策略,并对所述子任务并行数和所述子任务限制策略再次进行分析;
若所述子任务并行数小于所述子任务限制策略,则获取所述第一监测目标的父任务和子任务,形成第二集合,并获取所述第一监测目标的可执行子任务数,所述可执行子任务数等于所述子任务限制策略与所述子任务并行数的差值。
6.根据权利要求5所述的一种动态分配的网站监测调度方法,其特征在于,所述基于所述优先级顺序与所述第二分析结果对所述第一监测目标执行监测任务操作包括以下步骤:
遍历所述第二集合,按照所述优先级顺序取出优先级较高的监测任务;
将取出的监测任务加入第三待执行队列,所述可执行子任务数和所述可执行任务总数均减1;
对所述可执行任务总数进行分析,获得第三分析结果,基于所述第三分析结果执行所述第三待执行队列中的监测任务操作。
7.根据权利要求6所述的一种动态分配的网站监测调度方法,其特征在于,所述对所述可执行任务总数进行分析,获得第三分析结果,基于所述第三分析结果执行所述第三待执行队列中的监测任务操作包括以下步骤:
判断所述第一类型的可执行任务总数是否小于等于0;
若所述可执行任务总数小于等于0,则直接执行所述第三待执行队列中的所有子任务;
若所述可执行任务总数大于0,则对所述可执行子任务数进行分析,获得第四分析结果,基于所述第四分析结果执行所述第三待执行队列中的监测任务操作。
8.根据权利要求7所述的一种动态分配的网站监测调度方法,其特征在于,所述对所述可执行子任务数进行分析,获得第四分析结果,基于所述第四分析结果执行所述第三待执行队列中的监测任务操作包括以下步骤:
判断所述可执行子任务数是否小于等于0;
若所述可执行子任务数大于0,则继续遍历所述第二集合,按照优先级顺序取出优先级较高的监测任务加入第三待执行队列;
若所述可执行子任务数小于等于0,则对所述第一集合进行分析,并获得第五分析结果,并基于所述第五分析结果执行所述第三待执行队列中的监测任务操作。
9.根据权利要求8所述的一种动态分配的网站监测调度方法,其特征在于,所述对所述第一集合进行分析,并获得第五分析结果包括以下步骤:
判断所述第一集合是否遍历结束;
若所述第一集合未遍历结束,则继续遍历所述第一集合,按照优先级顺序从所述第一集合中获取优先级较高的第二监测目标,再次获取所述第二监测目标的子任务并行数和子任务限制策略,并对所述第二监测目标的子任务并行数和子任务限制策略再次进行分析;
若所述第一集合遍历结束,则执行所述第三待执行队列中的所有监测任务。
10.根据权利要求9所述的一种动态分配的网站监测调度方法,其特征在于,所述判断第一集合是否遍历结束包括以下步骤:
获取所有监测目标的总目标数量,基于所述总目标数量确定操作次数;
从所述第一集合中取出一次监测目标,则所述操作次数减 1;
根据所述操作次数是否大于0来判断所述第一集合是否遍历结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111210276.9A CN113946422A (zh) | 2021-10-18 | 2021-10-18 | 一种动态分配的网站监测调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111210276.9A CN113946422A (zh) | 2021-10-18 | 2021-10-18 | 一种动态分配的网站监测调度方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113946422A true CN113946422A (zh) | 2022-01-18 |
Family
ID=79331139
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111210276.9A Pending CN113946422A (zh) | 2021-10-18 | 2021-10-18 | 一种动态分配的网站监测调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113946422A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118095790A (zh) * | 2024-04-23 | 2024-05-28 | 中国电建集团昆明勘测设计研究院有限公司 | 一种基于多源设备状态的水电站资源配置方法和系统 |
-
2021
- 2021-10-18 CN CN202111210276.9A patent/CN113946422A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118095790A (zh) * | 2024-04-23 | 2024-05-28 | 中国电建集团昆明勘测设计研究院有限公司 | 一种基于多源设备状态的水电站资源配置方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105631026B (zh) | 一种安全数据分析系统 | |
CN103902646B (zh) | 一种分布式任务管理系统与方法 | |
US8261266B2 (en) | Deploying a virtual machine having a virtual hardware configuration matching an improved hardware profile with respect to execution of an application | |
US10491453B2 (en) | Correlating computing network events | |
US8869149B2 (en) | Concurrency identification for processing of multistage workflows | |
US10044820B2 (en) | Method and system for automated transaction analysis | |
DE102016208672A1 (de) | Verwalten von Redundanzen zwischen Anwendungs-Bundles | |
CN102664961A (zh) | MapReduce环境下的异常检测方法 | |
JP2008198025A (ja) | 並列処理制御プログラム、並列処理制御システムおよび並列処理制御方法 | |
CN111901204B (zh) | 一种云网络的巡检方法、装置及系统 | |
CN113946422A (zh) | 一种动态分配的网站监测调度方法 | |
JP2006344068A5 (zh) | ||
CN106293911A (zh) | 分布式调度系统、方法 | |
US10558391B2 (en) | Data processing system and data processing method | |
CN104394201A (zh) | 分布式web应用监控方法 | |
CN107168788B (zh) | 分布式系统中资源的调度方法以及装置 | |
US9584390B1 (en) | Method and application performance monitoring device for monitoring transactions by analyzing packets in packet processing system | |
US11687063B2 (en) | Semantics-based internet of things device data processing-related application installation method and apparatus | |
CN103902447B (zh) | 一种分布式系统的系统测试方法及装置 | |
CN113608838A (zh) | 应用镜像文件的部署方法、装置、计算机设备和存储介质 | |
US8788601B2 (en) | Rapid notification system | |
KR101556541B1 (ko) | 고부하 경로 기반의 복합 이벤트 처리 장치 및 그 방법 | |
CN105897841A (zh) | 用于网络资源处理的调度方法、设备、系统及子调度器 | |
CN107959662B (zh) | 网站安全检测的方法和系统 | |
CN111124834B (zh) | 云计算环境下监控数据的接入方法、装置和计算机设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |