CN112068959A - 自适应任务调度方法、***及包括该方法的检索方法 - Google Patents
自适应任务调度方法、***及包括该方法的检索方法 Download PDFInfo
- Publication number
- CN112068959A CN112068959A CN202010920525.2A CN202010920525A CN112068959A CN 112068959 A CN112068959 A CN 112068959A CN 202010920525 A CN202010920525 A CN 202010920525A CN 112068959 A CN112068959 A CN 112068959A
- Authority
- CN
- China
- Prior art keywords
- node
- weight
- task scheduling
- value
- working
- 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
- 238000000034 method Methods 0.000 title claims abstract description 57
- 230000008859 change Effects 0.000 claims abstract description 24
- 230000003044 adaptive effect Effects 0.000 claims abstract description 17
- 238000012163 sequencing technique Methods 0.000 claims abstract description 15
- 238000012545 processing Methods 0.000 claims abstract description 6
- 238000004364 calculation method Methods 0.000 claims description 30
- 230000015654 memory Effects 0.000 claims description 18
- 238000012544 monitoring process Methods 0.000 claims description 17
- 230000011218 segmentation Effects 0.000 claims description 17
- 230000004807 localization Effects 0.000 claims description 7
- 238000005192 partition Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 claims description 6
- 238000000638 solvent extraction Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
- G06F16/316—Indexing structures
- G06F16/325—Hash tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5044—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请涉及大数据处理领域,特别是涉及一种自适应任务调度方法、***及包括该方法的检索方法。包括:根据工作节点的资源利用情况和负载变化情况,每间隔一定周期,工作节点对其节点的权值进行调整;任务调度节点读取各个工作节点的权值情况,并对权值进行排序,根据所述权值的排序进行任务调度。本发明考虑了集群异构性和工作节点当前的资源剩余情况,解决了工作节点计算任务分配的相对不均衡问题,提高了***总体计算能力并缩短了总体任务完成时间,实现了性能的提高。
Description
技术领域
本申请涉及大数据处理领域,特别是涉及一种自适应任务调度方法、***及包括该方法的检索方法。
背景技术
随着各大数据中心、超算中心和互联网公司等机构设备的更新换代和高性能部件(如GPU等)的引入,集群中各节点逐步变得异构,计算节点在CPU、内存和IO等方面不同的性能导致它们的处理能力出现差异。因而各节点的综合计算能力出现较大的差异,整个集群处于资源不均衡的状态。由于集群中各节点的能力不同,相同任务分配到不同节点将对节点负载产生不同的影响。
Spark默认的任务调度是spark任务调度器从注册的工作节点中随机选取部分节点;遍历所挑选的节点,将任务分配给本地化最高的任务执行节点。这一任务调度方法基于集群节点同构的理想化设计,并未考虑集群异构性及节点资源利用和负载变化的情况,因此无法解决资源异构模式下***的节点计算任务分配的相对不均衡和***总体计算能力受限和总体任务完成时间长和性能低的问题。为了改善了计算资源浪费的问题,在集群调度方面提出自适应任务调度方法,
同时,在大数据时代,各种信息呈现***式增长,随着信息量的膨胀,人们越来越难检索出对自己有价值的信息,如何解决大数据环境下,对信息的有效检索是至关重要的,因此本申请在自适应任务调度方法的基础上还提出了一种检索方法。
发明内容
本申请实施例提供了一种自适应任务调度方法、***以及分布式检索方法,以至少解决相关技术中任务调度的问题。
第一方面,本申请实施例提供了一种自适应任务调度方法,包括以下步骤:
权值调整步骤:根据工作节点的资源利用情况和负载变化情况,每间隔一定周期,工作节点对其节点的权值进行调整;
任务调度步骤:任务调度节点读取各个工作节点的权值情况,并对权值进行排序,根据所述权值的排序进行任务调度。
在其中一些实施例中,所述权值调整步骤具体包括:
参数预设步骤,预设节点能力统计指标值和周期计算值为零,
获取节点信息步骤,工作节点获取其节点的资源利用情况和负载变化情况,包括CPU利用率、内存利用率和单核平均队列长度;
分析节点信息步骤,通过设置每个参数的阈值,将各自对应的阈值分别与获取的CPU利用率、内存利用率和单核平均队列长度进行对比,若阈值均大于各参数,则提高节点能力统计指标值,反之,节点能力统计指标值不变;
动态调整步骤,判断周期计算值是否达到预设的节点权值调整周期,若达到,则根据节点能力统计指标调整权值大小,若没达到,则继续获取其工作节点信息。
在其中一些实施例中,所述动态调整步骤具体包括:
当周期计算值达到节点权值调整周期,比较此时的节点能力统计指标和强决定因子与节点权值调整周期乘积的向上取整值,
若节点能力统计指标值大于强决定因子与节点权值调整周期乘积的向上取整,节点的权值增加;
若节点能力统计指标值小于弱决定因子与节点权值调整周期乘积的向上取整,节点的权值降低。
在其中一些实施例中,所述任务调度步骤具体包括:
分析节点权值步骤,任务调度节点读取各工作节点的权值情况,并根据权值的大小进行快速排序;
选择节点执行调度步骤,选择排序在前的一定数量的工作节点,遍历所选择的工作节点,将本地化最高的工作节点分配给当前任务。
第二方面,本申请实施例提供了一种自适应任务调度***,适用于上述的一种自适应任务调度方法,包括节点监测模块、权值调整模块、权值读取模块和任务调度模块,其中:
节点监测模块,用于定期监测工作节点的资源利用情况和负载变化情况,并输出至权值调整模块;
权值调整模块,用于根据工作节点的资源情况和负载变化情况,对工作节点的权值进行调整,并输出至权值读取模块;
权值读取模块,用于接收工作节点的权值,并按照大小进行排序,将排序输出至任务调度模块;
任务调度模块,用于接收所述权值读取模块的权值排序,优先选择权值大的节点进行任务分配。
在其中一些实施例中,所述权值调整模块根据获取节点信息步骤,工作节点获取其节点的资源利用情况和负载变化情况,包括CPU利用率、内存利用率和单核平均队列长度;
通过设置每个参数的阈值,将各自对应的阈值分别与获取的CPU利用率、内存利用率和单核平均队列长度进行对比,若阈值均大于各参数,则提高节点能力统计指标值,反之,节点能力统计指标值不变;
判断周期计算值是否达到预设的节点权值调整周期,若达到,则根据节点能力统计指标调整权值大小,若没达到,则继续获取其工作节点信息。
在其中一些实施例中,当所述周期计算值到达节点权值调整周期,所述权值调整模块比较此时的节点能力统计指标和强决定因子与节点权值调整周期乘积的向上取整值,
若节点能力统计指标值大于强决定因子与节点权值调整周期乘积的向上取整,节点的权值增加;
若节点能力统计指标值小于弱决定因子与节点权值调整周期乘积的向上取整,节点的权值降低。
在一些实施例中,所述任务调度模块读取各工作节点的权值情况,并根据权值的大小进行快速排序;选择排序在前的一定数量的工作节点,遍历所选择的工作节点,将本地化最高的工作节点分配给当前任务。
第三方面,本申请实施例提供了一种分布式检索方法,包括上述一种自适应任务调度方式,本检索方法采用hash和冗余存储的切片策略对检索数据进行存储,包括以下步骤:
读取元信息,定位文档位置;
任务调度节点在hash分区采用自适应任务调度方法,进行任务调度,并将文档分布给工作节点;
工作节点读取文档后对文档内容进行分词操作,得到文档中的关键词,并根据关键词建立索引,按关键词重新进行hash分区,依次按照分区写入索引集群;
当键入检索的关键词时,按关键词进入索引集群,按照关键词的hash得到对应索引的切片位置,在不同的索引副本上进行分段查询,将查询结果返回给索引集群主节点,主节点按照文档词频进行排序处理,并将最后结果反馈给用户。
在其中一些实施例中,在文档内容进行分词过程中,通过数据来源选定标识符,并采用一对闭合的标识符将每个句子包裹起来
相比于相关技术,本申请实施例提供的自适应调整方法考虑了集群异构性和工作节点当前的资源剩余情况,解决了工作节点计算任务分配的相对不均衡问题,提高了***总体计算能力并缩短了总体任务完成时间,实现了性能的提高。
本申请实施例还提出了一种检索方案,包含自适应任务调度方法,提高了工作效率,同时提出了一种分词技术,通过设置标识符提高了分词效率。
本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请中自适应任务调度方法的流程图;
图2为本申请中权值调整步骤的流程图;
图3为监测调整权值的流程图;
图4为本申请中任务调度步骤的流程图;
图5为本申请中自适应任务调度***的结构框图;
图6为任务调度框架图;
图7为本申请中分布式检索方法的流程图;
图8为本申请中分词技术的具体处理方法示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、***、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
应用(application)在提交后,不同的action将为作业划分不同的job,每个job又将根据实际情况划分为不同stage,而不同stage中包括一个task的集合,再根据任务调度策略,分配task到指定节点上执行。其中,关于任务调度的情况由任务调度节点控制。
由于默认的spark任务调度方式没有考虑集群异构性和节点当前的资源剩余情况。导致节点计算任务分配相对不均衡,即:高配置的节点经常处于饥饿状态,而配置较低的节点经常处于满负荷状态。同时,还会导致***总体计算能力受限、总体任务完成时间较长以及***性能较差。
每个工作节点均包括有一个权值,根据自身负载及资源情况动态调整,表示其被选中执行任务的概率大小。权值越大,表示当前节点能力越强,被选择中的概率越大。
如图1所示,本实施例提出了一种自适应任务调度方法,包括以下步骤:
权值调整步骤:根据工作节点的资源利用情况和负载变化情况,每间隔一定周期,工作节点对其节点的权值进行调整;
任务调度步骤:任务调度节点读取各个工作节点的权值情况,并对权值进行排序,根据所述权值的排序进行任务调度。
通过上述步骤,在一定周期内,调整权值,可以及时反映工作节点的状态,并将工作节点的状态输出给任务调度节点,任务调度节点根据工作节点的状态来进行任务分配,避免了高配置节点处于空闲状态,低配置节点处于高负荷状态的情况,可以提高***的整体运算能力,减少任务完成时间。
spark集群下任务调度方法包括权值调整步骤与任务调度步骤两部分。其中,权值调整步骤主要是通过监测工作节点的自身负载状况,动态地调整节点权值大小,服务于任务调度步骤。任务调度步骤主要设计思想是优先选择权值较大节点进行任务分配,这样可以更好地发挥异构集群整体计算能力。
下面通过优选实施例对本申请实施例进行描述和说明。
在一些实施例中,如图2所示,权值调整步骤具体包括:
参数预设步骤:预设节点能力统计指标值和周期计算值为零;
获取节点信息步骤,工作节点获取其节点的资源利用情况和负载变化情况,包括CPU利用率、内存利用率和单核平均队列长度;
分析节点信息步骤,通过设置每个参数的阈值,将各自对应的阈值分别与获取的CPU利用率、内存利用率和单核平均队列长度进行对比,若阈值均大于各参数,则提高节点能力统计指标值,反之,节点能力统计指标值不变;
在具体的应用中,根据各参数的阈值,调整节点能力统计指标值大小。在此过程中,通过对比CPU利用率cu、内存利用率Mu、单核平均队列长度scl与各自对应阈值的大小,调整节点能力统计指标值节点能力统计指标,节点能力统计指标表示节点能力值计数,值越大,表示当前节点能力越强。
若各参数值均小于阈值,则说明当前节点处于低负载状态,可以处理更多任务,周期计算值增加,节点能力统计指标值也增加;反之,则说明当前节点超负荷运行,不应再接受更多任务,节点能力统计指标值不变,只增加周期计算值。
动态调整步骤,判断周期计算值是否达到预设的节点权值调整周期,若达到,则根据节点能力统计指标调整权值大小,若没达到,则继续获取其工作节点信息。
在一些实施例中,动态调整步骤具体包括:
当周期计算值达到节点权值调整周期,比较此时的节点能力统计指标和强决定因子与节点权值调整周期乘积的向上取整值,
若节点能力统计指标值大于强决定因子与节点权值调整周期乘积的向上取整,节点的权值增加;
若节点能力统计指标值小于弱决定因子与节点权值调整周期乘积的向上取整,节点的权值降低。
在具体的应用中,若节点能力统计指标值大于强决定因子α与节点权值调整周期乘积的向上取整,则说明在本监测周期中该工作节点能力高,节点的权值增加,并将节点能力统计指标与周期计算值置零,重新获取节点的情况;若节点能力统计指标值小于弱决定因子β与节点权值调整周期乘积的向上取整,则说明在本监测周期中,节点能力较低,节点的权值降低,并将节点能力统计指标与周期计算值置零,重新获取节点的情况;当节点能力统计指标值在两者之间时,不做权值调整,继续获取节点信息。
在具体应用中,权值调整的流程图见图3,具体为:
首先,预设节点能力统计指标值Capacity和周期计算值Count为零,权值Weight为100;
其次,工作节点获取其节点的资源利用情况和负载变化情况,包括CPU利用率、内存利用率和单核平均队列长度;
再次,将各自对应的阈值分别与获取的CPU利用率、内存利用率和单核平均队列长度进行对比,若各参数均小于阈值,则提高节点能力统计指标值,周期计算值增加,反之,节点能力统计指标值不变,继续获取节点信息;
最后,判断周期计算值是否达到预设的节点权值调整周期,若达到,则根据节点能力统计指标调整权值大小,若没达到,则继续获取其工作节点信息;
当周期计算值达到节点权值调整周期,比较此时的节点能力统计指标和强决定因子与节点权值调整周期乘积的向上取整值,
若节点能力统计指标值大于强决定因子α与权值调整周期N乘积的向上取整,节点权值(Weight)增加,并将节点能力统计指标与周期计算值置零,重新开始循环;反之,若节点能力统计指标值小于弱决定因子β与权值调整周期N乘积的向上取整,节点权值Weight降低,并将节点能力统计指标与周期计算值置零,重新开始循环。
在一些实施例中,如图4所示,任务调度步骤具体包括:
分析节点权值步骤,任务调度节点读取各工作节点的权值情况,并根据权值的大小进行快速排序;
在具体的应用中,任务调度节点读取各节点权值,并根据权值进行快速排序。根据节点权值排序节点后,节点能力越强,排序越靠前;反之,节点能力越低,排序越靠后。
选择节点执行调度步骤,选择排序在前的一定数量的工作节点,遍历所选择的工作节点,将本地化最高的工作节点分配给当前任务。
本实施例还提出了一种自适应任务调度***,适用于上述的一种自适应任务调度方法,如图5所示,包括节点监测模块、权值调整模块、权值读取模块和任务调度模块,其中:
节点监测模块,用于定期监测工作节点的资源利用情况和负载变化情况,并输出至权值调整模块;
权值调整模块,用于根据工作节点的资源情况和负载变化情况,对工作节点的权值进行调整,并输出至权值读取模块;
权值读取模块,用于接收工作节点的权值,并按照大小进行排序,将排序输出至任务调度模块;
任务调度模块,用于接收所述权值读取模块的权值排序,优先选择权值大的节点进行任务分配。
图6为任务调度的框架图,图中,包括一个任务调度节点和多个工作节点,每个工作节点中均设置有节点监测模块和权值调整模块,任务调度节点中设置有权值读取模块和任务调度模块,工作节点和任务调度节点之间通信连接。权值读取模块通过通信接口从权值调整模块中读取权值,任务调度模块通过通信结构将任务分配给工作节点。
每个工作节点通过节点监测模块来定期监测自身负载及资源情况,汇报给权值调整模块,权值调整模块确定在一个长度的周期内,是否需要调整其权值。当任务调度节点需要进行任务调度时,首先读取工作节点的当前权值,优先选择权值较大的部分节点进行任务分配。
需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。
在一些实施例中,所述权值调整模块根据获取节点信息步骤,工作节点获取其节点的资源利用情况和负载变化情况,包括CPU利用率、内存利用率和单核平均队列长度;
通过设置每个参数的阈值,将各自对应的阈值分别与获取的CPU利用率、内存利用率和单核平均队列长度进行对比,若阈值均大于各参数,则提高节点能力统计指标值,反之,节点能力统计指标值不变;
判断周期计算值是否达到预设的节点权值调整周期,若达到,则根据节点能力统计指标调整权值大小,若没达到,则继续获取其工作节点信息。
在具体的应用中,通过将CPU利用率、内存利用率和单核平均队列长度与各自对应阈值进行对比,若各参数值均小于阈值,则说明当前节点处于低负载状态,节点能力统计指标值增加,反之,则说明当前节点超负荷运转,不再接受更多任务,节点能力统计指标值不变。
在一些实施例中,当所述周期计算值到达节点权值调整周期,所述权值调整模块比较此时的节点能力统计指标和强决定因子与节点权值调整周期乘积的向上取整值,
若节点能力统计指标值大于强决定因子与节点权值调整周期乘积的向上取整,节点的权值增加;
若节点能力统计指标值小于弱决定因子与节点权值调整周期乘积的向上取整,节点的权值降低。
在具体的应用中,当所述周期计算值到达了节点权值调整周期后,权值调整模块比较节点能力统计指标与强决定因子α与节点权值调整周期乘积的向上取整值,若节点能力统计指标值大于强决定因子α与节点权值调整周期乘积的向上取整,则说明在本次监测周期中节点能力高,节点的权值增加,并将节点能力统计指标与周期计算值置零,重新获取节点信息;反之,若节点能力统计指标值小于弱决定因子β与节点权值调整周期乘积的向上取整,则说明在本次监测周期中,节点能力较低,节点的权值降低,并将节点能力统计指标与周期计算值置零,重新获取节点信息。
在一些实施例中,所述任务调度模块读取各工作节点的权值情况,并根据权值的大小进行快速排序;选择排序在前的一定数量的工作节点,遍历所选择的工作节点,将本地化最高的工作节点分配给当前任务。
本实施例在所提出的自适应任务调度方法的基础上,结合Spark平台的内存迭代计算,提出一种检索方法,利用HDFS集群作为存储集群,Spark作为计算集群以及ElasticSearch集群作为索引集群,通过不同分布式集群的***工作,提出基于树状的倒排索引方案和基于哈希冗余切片策略的分布式检索方案,解决并发索引创建效率低下和高并发查询时索引服务器负载均衡两方面问题。
本检索方法包括上述一种自适应任务调度方式,如图7所示,本检索方法采用hash和冗余存储的切片策略对检索数据进行存储,包括以下步骤:
读取元信息,定位文档位置,所述元信息包括索引参数表和文档记录表;
任务调度节点在hash分区采用自适应任务调度方法,进行任务调度,并将文档分布给工作节点;
工作节点读取文档后对文档内容进行分词操作,得到文档中的关键词,并根据关键词建立索引,按关键词重新进行hash分区,依次按照分区写入索引集群;
当键入检索的关键词时,按关键词进入索引集群,按照关键词的hash得到对应索引的切片位置,在不同的索引副本上进行分段查询,将查询结果返回给索引集群主节点,主节点按照文档词频进行排序处理,并将最后结果反馈给用户。
在一些实施例中,在文档数据分词过程中,通过数据来源选定标识符,并采用一对闭合的标识符将每个句子包裹起来。
在需要分词的句子的开始和结尾添加两个人工标记来指定所需的目标标准,分词技术的具体处理方法示意图见图8,用一对闭合的标识符将每个句子包裹起来。通过两个标识符可以指明句子是来自哪个数据集,在模型训练过程中,将两个标记看成是普通的字符,不需要做其他处理。但会提示神经网络模型这个句子属于哪种分词标准,使其为每个字符生成的上下文信息都受到该分词标准的影响。在它们的长依赖关系中包含分词标准相关的信息,从而影响每个角色的上下文表示,最终生成与目标标准相匹配的分词决策。
以上分词方法是异构数据联合训练的中文分词法,克服单一的语料库进行分词的效果不够好,并且分词不够准确的问题。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种自适应任务调度方法,其特征在于,包括以下步骤:
权值调整步骤,根据工作节点的资源利用情况和负载变化情况,每间隔一定周期,工作节点对其节点的权值进行调整;
任务调度步骤,任务调度节点读取各个工作节点的权值情况,并对权值进行排序,根据所述权值的排序进行任务调度。
2.根据权利要求1所述的一种自适应任务调度方法,其特征在于,所述权值调整步骤具体包括:
参数预设步骤,预设节点能力统计指标值和周期计算值为零;
获取节点信息步骤,工作节点获取其节点的资源利用情况和负载变化情况,包括CPU利用率、内存利用率和单核平均队列长度;
分析节点信息步骤,通过设置每个参数的阈值,将各自对应的阈值分别与获取的CPU利用率、内存利用率和单核平均队列长度进行对比,若阈值均大于各参数,则提高节点能力统计指标值,反之,节点能力统计指标值不变;
动态调整步骤,判断周期计算值是否达到预设的节点权值调整周期,若达到,则根据节点能力统计指标调整权值大小,若没达到,则继续获取其工作节点信息。
3.根据权利要求2所述的一种自适应任务调度方法,其特征在于,所述动态调整步骤具体包括:
当周期计算值达到节点权值调整周期,比较此时的节点能力统计指标和强决定因子与节点权值调整周期乘积的向上取整值,
若节点能力统计指标值大于强决定因子与节点权值调整周期乘积的向上取整,节点的权值增加;
若节点能力统计指标值小于弱决定因子与节点权值调整周期乘积的向上取整,节点的权值降低。
4.根据权利要求3所述的一种自适应任务调度方法,其特征在于,所述任务调度步骤具体包括:
分析节点权值步骤,任务调度节点读取各工作节点的权值情况,并根据权值的大小进行快速排序;
选择节点执行调度步骤,选择排序在前的一定数量的工作节点,遍历所选择的工作节点,将本地化最高的工作节点分配给当前任务。
5.一种自适应任务调度***,适用于权利要求1-4任意一项所述的一种自适应任务调度方法,其特征在于,包括节点监测模块、权值调整模块、权值读取模块和任务调度模块,其中:
节点监测模块,用于定期监测工作节点的资源利用情况和负载变化情况,并输出至权值调整模块;
权值调整模块,用于根据工作节点的资源情况和负载变化情况,对工作节点的权值进行调整,并输出至权值读取模块;
权值读取模块,用于接收工作节点的权值,并按照大小进行排序,将排序输出至任务调度模块;
任务调度模块,用于接收所述权值读取模块的权值排序,优先选择权值大的节点进行任务分配。
6.根据权利要求5所述的一种自适应任务调度***,其特征在于,所述权值调整模块根据获取节点信息步骤,工作节点获取其节点的资源利用情况和负载变化情况,包括CPU利用率、内存利用率和单核平均队列长度;
通过设置每个参数的阈值,将各自对应的阈值分别与获取的CPU利用率、内存利用率和单核平均队列长度进行对比,若阈值均大于各参数,则提高节点能力统计指标值,反之,节点能力统计指标值不变;
判断周期计算值是否达到预设的节点权值调整周期,若达到,则根据节点能力统计指标调整权值大小,若没达到,则继续获取其工作节点信息。
7.根据权利要求6所述的一种自适应任务调度***,其特征在于,当所述周期计算值到达节点权值调整周期,所述权值调整模块比较此时的节点能力统计指标和强决定因子与节点权值调整周期乘积的向上取整值,
若节点能力统计指标值大于强决定因子与节点权值调整周期乘积的向上取整,节点的权值增加;
若节点能力统计指标值小于弱决定因子与节点权值调整周期乘积的向上取整,节点的权值降低。
8.根据权利要求5-8任意一项所述的一种自适应任务调度***,其特征在于,所述任务调度模块读取各工作节点的权值情况,并根据权值的大小进行快速排序;选择排序在前的一定数量的工作节点,遍历所选择的工作节点,将本地化最高的工作节点分配给当前任务。
9.一种检索方法,包括上述权利要求1-5所述的一种自适应任务调度方式,其特征在于,本检索方法采用hash和冗余存储的切片策略对检索数据进行存储,包括以下步骤:
读取元信息,定位文档位置;
任务调度节点在hash分区采用自适应任务调度方法,进行任务调度,并将文档分布给工作节点;
工作节点读取文档后对文档内容进行分词操作,得到文档中的关键词,并根据关键词建立索引,按关键词重新进行hash分区,依次按照分区写入索引集群;
当键入检索的关键词时,按关键词进入索引集群,按照关键词的hash得到对应索引的切片位置,在不同的索引副本上进行分段查询,将查询结果返回给索引集群主节点,主节点按照文档词频进行排序处理,并将最后结果反馈给用户。
10.根据权利要求9所述的一种分布式检索方法,其特征在于,在对文档内容进行分词过程中,通过数据来源选定标识符,并采用一对闭合的标识符将每个句子包裹起来。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010920525.2A CN112068959A (zh) | 2020-09-04 | 2020-09-04 | 自适应任务调度方法、***及包括该方法的检索方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010920525.2A CN112068959A (zh) | 2020-09-04 | 2020-09-04 | 自适应任务调度方法、***及包括该方法的检索方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112068959A true CN112068959A (zh) | 2020-12-11 |
Family
ID=73665118
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010920525.2A Pending CN112068959A (zh) | 2020-09-04 | 2020-09-04 | 自适应任务调度方法、***及包括该方法的检索方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112068959A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112965796A (zh) * | 2021-03-01 | 2021-06-15 | 亿企赢网络科技有限公司 | 一种任务调度***、方法和装置 |
CN116880407A (zh) * | 2023-08-01 | 2023-10-13 | 中科院成都信息技术股份有限公司 | 基于工业控制***的设备运行控制方法、装置及终端设备 |
CN117274507A (zh) * | 2023-11-21 | 2023-12-22 | 长沙美莱医疗美容医院有限公司 | 基于互联网的面部美容整形的ai仿真模拟方法及*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108572873A (zh) * | 2018-04-24 | 2018-09-25 | 中国科学院重庆绿色智能技术研究院 | 一种解决Spark数据倾斜问题的负载均衡方法及装置 |
CN110083607A (zh) * | 2019-04-26 | 2019-08-02 | 毕昀 | 一种简历快速搜索方法、***和存储介质 |
CN110413389A (zh) * | 2019-07-24 | 2019-11-05 | 浙江工业大学 | 一种资源不均衡Spark环境下的任务调度优化方法 |
-
2020
- 2020-09-04 CN CN202010920525.2A patent/CN112068959A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108572873A (zh) * | 2018-04-24 | 2018-09-25 | 中国科学院重庆绿色智能技术研究院 | 一种解决Spark数据倾斜问题的负载均衡方法及装置 |
CN110083607A (zh) * | 2019-04-26 | 2019-08-02 | 毕昀 | 一种简历快速搜索方法、***和存储介质 |
CN110413389A (zh) * | 2019-07-24 | 2019-11-05 | 浙江工业大学 | 一种资源不均衡Spark环境下的任务调度优化方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112965796A (zh) * | 2021-03-01 | 2021-06-15 | 亿企赢网络科技有限公司 | 一种任务调度***、方法和装置 |
CN112965796B (zh) * | 2021-03-01 | 2024-04-09 | 亿企赢网络科技有限公司 | 一种任务调度***、方法和装置 |
CN116880407A (zh) * | 2023-08-01 | 2023-10-13 | 中科院成都信息技术股份有限公司 | 基于工业控制***的设备运行控制方法、装置及终端设备 |
CN117274507A (zh) * | 2023-11-21 | 2023-12-22 | 长沙美莱医疗美容医院有限公司 | 基于互联网的面部美容整形的ai仿真模拟方法及*** |
CN117274507B (zh) * | 2023-11-21 | 2024-02-23 | 长沙美莱医疗美容医院有限公司 | 基于互联网的面部美容整形的ai仿真模拟方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112068959A (zh) | 自适应任务调度方法、***及包括该方法的检索方法 | |
US8510747B2 (en) | Method and device for implementing load balance of data center resources | |
CN112162865A (zh) | 服务器的调度方法、装置和服务器 | |
US20070043970A1 (en) | Approach for managing interrupt load distribution | |
CN104199739B (zh) | 一种基于负载均衡的推测式Hadoop调度方法 | |
CN109901932B (zh) | 一种基于虚拟机的服务器整合方法 | |
CN112181613B (zh) | 异构资源分布式计算平台批量任务调度方法及存储介质 | |
CN109828790B (zh) | 一种基于申威异构众核处理器的数据处理方法和*** | |
Wang et al. | DCCP: an effective data placement strategy for data-intensive computations in distributed cloud computing systems | |
CN112817728A (zh) | 任务调度方法、网络设备和存储介质 | |
CN116560860B (zh) | 一种基于机器学习的资源优先级的实时优化调整方法 | |
Ma et al. | Dependency-aware data locality for MapReduce | |
CN113791913B (zh) | 一种类脑计算机操作***的任务迁移方法 | |
Min et al. | Scheduling co-reservations with priorities in grid computing systems | |
CN107370783B (zh) | 一种云计算集群资源的调度方法及装置 | |
US6865527B2 (en) | Method and apparatus for computing data storage assignments | |
US8650571B2 (en) | Scheduling data analysis operations in a computer system | |
CN109117285B (zh) | 支持高并发的分布式内存计算集群*** | |
CN108776698B (zh) | 一种基于Spark的抗偏斜的数据分片方法 | |
CN110888713A (zh) | 一种针对异构云数据中心的可信虚拟机迁移算法 | |
CN110851245A (zh) | 一种分布式异步任务调度方法及电子设备 | |
Ray et al. | Is high performance computing (HPC) ready to handle big data? | |
Lu et al. | NPIY: A novel partitioner for improving mapreduce performance | |
CN106888237B (zh) | 一种数据调度方法及*** | |
CN113419863A (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 |