CN117608862B - 数据分发控制方法、装置、设备及介质 - Google Patents

数据分发控制方法、装置、设备及介质 Download PDF

Info

Publication number
CN117608862B
CN117608862B CN202410085838.9A CN202410085838A CN117608862B CN 117608862 B CN117608862 B CN 117608862B CN 202410085838 A CN202410085838 A CN 202410085838A CN 117608862 B CN117608862 B CN 117608862B
Authority
CN
China
Prior art keywords
data
computer
load
task
subtask
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.)
Active
Application number
CN202410085838.9A
Other languages
English (en)
Other versions
CN117608862A (zh
Inventor
董万根
周恩著
田冬雷
于建
陈霞玲
魏祖志
王金海
杨军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Gold Products Computer Technology Tianjin Co ltd
Original Assignee
Gold Products Computer Technology Tianjin Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Gold Products Computer Technology Tianjin Co ltd filed Critical Gold Products Computer Technology Tianjin Co ltd
Priority to CN202410085838.9A priority Critical patent/CN117608862B/zh
Publication of CN117608862A publication Critical patent/CN117608862A/zh
Application granted granted Critical
Publication of CN117608862B publication Critical patent/CN117608862B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation 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/505Allocation 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Abstract

本申请涉及一种数据分发控制方法、装置、设备及介质,应用于计算机技术领域,其方法包括:获取待处理任务数据;确定所述待处理任务数据的数据类型;基于所述待处理任务数据的数据类型确定所述待处理任务数据对应的计算机组;基于所述计算机组以及所述待处理任务数据确定分配计算机,所述分配计算机为负载小于负载阈值的计算机。本申请具有提高任务数据处理的效率以及准确率的效果。

Description

数据分发控制方法、装置、设备及介质
技术领域
本申请涉及计算机的技术领域,尤其是涉及一种数据分发控制方法、装置、设备及介质。
背景技术
随着大数据、人工智能等领域的迅猛发展,大规模数据处理和任务分配变得更加普遍,在一组计算机集群中,如何对大量的任务数据进行分发,从而合理分配计算机资源以及高效的进行数据处理,变得至关重要。
相关技术中,在进行任务数据分发时,往往根据计算机的负载率进行分发,然而由于任务数据非常复杂,仅根据计算机负载率进行分发,无法保证任务数据处理的准确率以及效率。
发明内容
为了提高任务数据处理的效率以及准确率,本申请提供一种数据分发控制方法、装置、设备及介质。
第一方面,本申请提供一种数据分发控制方法,采用如下的技术方案:
一种数据分发控制方法,包括:
获取待处理任务数据;
确定所述待处理任务数据的数据类型;
基于所述待处理任务数据的数据类型确定所述待处理任务数据对应的计算机组;
基于所述计算机组以及所述待处理任务数据确定分配计算机,所述分配计算机为负载小于负载阈值的计算机。
通过采用上述技术方案,当获取到待处理任务数据之后,确定待处理任务数据的数据类型,根据该数据类型选择可以更加准确高效处理该数据类型的计算机组,并根据计算机组内各个计算机的负载确定处理该待处理任务数据的分配计算机,首先根据数据类型选择计算机组,提高了提高任务数据处理的效率以及准确率。
可选的,在所述基于所述待处理任务数据的数据类型确定所述待处理任务数据对应的计算机组之前,所述方法还包括:
获取计算机信息;
基于所述计算机信息确定计算机属性,所述计算机属性用于表征计算机处理的数据特征;
基于所述计算机属性对所述计算机进行分组,得到至少一个计算机组,每个所述计算机组中的所述计算机对应相同的计算机属性。
通过采用上述技术方案,在确定计算机组之前,先根据计算机信息确定计算机属性,根据计算机属性对计算机进行分组,每个计算机组中的计算机对应相同的计算机属性,在进行数据分发时,可以根据计算机组更方便的确定对应的分配计算机,无需从计算机集群中的大量计算机中确定,提高了数据分发的效率。
可选的,所述基于所述计算机组以及所述待处理任务数据确定分配计算机,包括:
获取计算机组信息,所述计算机组信息包括所述计算机组中每台所述计算机当前的负载;
基于所述计算机组信息以及负载阈值计算每台所述计算机的空闲负载,所述空闲负载为每台所述计算机可承担的负载;
基于所述待处理任务数据确定任务负载;
基于所述任务负载以及所述空闲负载确定所述分配计算机。
通过采用上述技术方案,在确定计算机组之后,根据每台计算机的空闲负载以及待处理任务数据的任务负载确定分配计算机,分配计算机可以及时的处理待分配任务数据,从而提高了待处理任务数据处理的效率。
可选的,所述基于所述任务负载以及所述空闲负载确定所述分配计算机,包括:
若所述空闲负载均小于所述任务负载,则划分所述待处理任务数据,得到多个子任务数据;
计算空闲负载总和,所述空闲负载总和为所述计算机组中所有所述计算机的所述空闲负载的总和;
若所述空闲负载总和大于或等于所述任务负载,则确定各个所述子任务数据的子任务负载;
基于所述子任务负载以及所述空闲负载确定所述分配计算机。
通过采用上述技术方案,当待处理任务数据较为复杂从而任务负载较大时,可能每台计算机的空闲负载均无法承担该待处理任务数据的处理过程,将待处理任务数据进行划分,得到多个子任务数据,若空闲负载总和大于或等于任务负载,则根据子任务负载以及空闲负载确定分配计算机,将待处理任务数据划分为多个子任务数据分别进行处理,提高了待处理任务数据处理的效率。
可选的,所述计算空闲负载总和之后,所述方法还包括:
若所述空闲负载总和小于所述任务负载,则确定各个所述子任务数据的逻辑关系;
基于所述逻辑关系确定各个所述子任务数据的任务处理等级,所述任务处理等级包括第一等级,所述第一等级对应的所述子任务数据为需要优先处理的子任务数据;
将所述任务处理等级为所述第一等级的所述子任务数据确定为优先子任务数据;
将所述优先子任务数据的数量确定为第一数量;
将所述计算机组中所述空闲负载大于预设负载的所述计算机的数量确定为第二数量;
基于所述第一数量以及所述第二数量的大小关系确定所述分配计算机。
通过采用上述技术方案,若空闲负载总和小于任务负载,则将各个子任务数据根据逻辑关系确定任务处理等级,根据优先子任务数据的数量以及第二数量确定分配计算机,在进行子任务数据处理时,考虑到各个子任务数据之间的逻辑关系,提高了待处理任务数据处理的效率。
可选的,所述基于所述第一数量以及所述第二数量的大小关系确定所述分配计算机,包括:
若所述第一数量大于所述第二数量,则基于所述优先子任务数据的数据类型确定第二计算机组;
获取所述第二计算机组中所述计算机对应的空闲负载;
基于所述子任务负载以及所述空闲负载确定所述分配计算机。
通过采用上述技术方案,若第一数量大于第二数量,则当前计算机组无法及时承担处理需求,再次确定第二计算机组,两个计算机组协同处理待处理任务数据,提高了待处理任务数据处理的效率。
可选的,在所述基于所述计算机组以及所述待处理任务数据确定分配计算机之后,所述方法还包括:
获取所述分配计算机的状态数据;
基于所述状态数据判断所述分配计算机是否存在异常;
若所述分配计算机存在异常,则确定存在异常的所述分配计算机对应的所述待处理任务数据;
基于所述待处理任务数据的所述任务负载确定分配计算机。
通过采用上述技术方案,通过分配计算机的状态数据判断分配计算机是否异常,若存在异常,则将对应的待处理任务数据重新分配,实时对分配计算机进行监控,减少了分配计算机异常从而无法及时处理待分配任务数据的可能性。
第二方面,本申请提供一种数据分发控制装置,采用如下的技术方案:
一种数据分发控制装置,包括:
数据获取模块,用于获取待处理任务数据;
类型确定模块,用于确定所述待处理任务的数据类型;
组合确定模块,用于基于所述待处理任务的数据类型确定所述待处理任务对应的计算机组;
分配确定模块,用于基于所述计算机组以及所述待处理任务确定分配计算机,所述分配计算机为负载小于负载阈值的计算机。
通过采用上述技术方案,当获取到待处理任务数据之后,确定待处理任务数据的数据类型,根据该数据类型选择可以更加准确高效处理该数据类型的计算机组,并根据计算机组内各个计算机的负载确定处理该待处理任务数据的分配计算机,首先根据数据类型选择计算机组,提高了提高任务数据处理的效率以及准确率。
第三方面,本申请提供一种电子设备,采用如下的技术方案:
一种电子设备,包括处理器,所述处理器与存储器耦合;
所述存储器上存储有能够被处理器加载并执行第一方面任一项所述的数据分发控制方法的计算机程序。
第四方面,本申请提供一种计算机可读存储介质,采用如下的技术方案:
一种计算机可读存储介质,存储有能够被处理器加载并执行第一方面任一项所述的数据分发控制方法的计算机程序。
附图说明
图1是本申请实施例提供的一种数据分发控制方法的流程示意图。
图2是本申请实施例提供的一种数据分发控制装置的结构框图。
图3是本申请实施例提供的电子设备的结构框图。
具体实施方式
以下结合附图对本申请作进一步详细说明。
本申请实施例提供一种数据分发控制方法,该数据分发控制方法可由电子设备执行,该电子设备可以为服务器也可以为终端设备,其中该服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云计算服务的云服务器。终端设备可以是智能手机、平板电脑、台式计算机等,但并不局限于此。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,如无特殊说明,一般表示前后关联对象是一种“或”的关系。
如图1所示,一种数据分发控制方法,该方法主要流程描述如下(步骤S101~S104):
步骤S101、获取待处理任务数据。
待处理任务数据为需要计算机处理的任务的相关数据,即待处理任务的相关数据,由于在许多应用场景中都存在大量的待处理任务数据,故而数据的来源也有很多,例如:可以从用户请求中获取待处理任务数据,也可以从传感器中获取待处理任务数据,还可以从日志文件中获取待处理任务数据。
步骤S102、确定待处理任务数据的数据类型。
待处理任务数据的数据类型例如图像类型、音频类型以及数值类型等,待处理任务数据会涵盖多个领域以及类型,若待处理任务为对视频或图像进行识别或处理,则该待处理任务数据的数据类型为图像类型,若待处理任务为对音频进行识别或处理,则该待处理任务数据的数据类型为音频类型,若待处理任务为对数值进行分析或计算,则该待处理任务数据的数据类型为数值类型。
步骤S103、基于待处理任务数据的数据类型确定待处理任务数据对应的计算机组。
为了提高待处理任务数据处理的效率以及准确率,在进行数据分发时,需要选择更适配的计算机进行数据处理,即选择可以更高效准确处理该数据类型数据的计算机组。
具体地,在基于待处理任务数据的数据类型确定待处理任务数据对应的计算机组之前,方法还包括:获取计算机信息;基于计算机信息确定计算机属性,计算机属性用于表征计算机处理的数据特征;基于计算机属性对计算机进行分组,得到至少一个计算机组,每个计算机组中的计算机对应相同的计算机属性。
在本实施例中,计算机集群中包含大量用于处理待处理任务数据的计算机,从数据库中获取计算机集群中所有计算机的相关信息,即计算机信息,由于计算机的软件或硬件配置存在差异,故每台计算机能够提供的计算机资源不同,即擅长处理的数据会有不同,计算机信息包括计算机擅长处理的数据特征,将该擅长处理的数据特征确定为计算机属性,计算机属性包括图像属性、数值属性以及音频属性,将具有相同计算机属性的计算机划分为一个计算机组,会得到至少一个计算机组,每个计算机组中的计算机均具有相同的计算机属性。
步骤S104、基于计算机组以及待处理任务数据确定分配计算机。
其中,分配计算机为负载小于负载阈值的计算机,负载阈值为工作人员根据计算机的配置情况预先设定的负载阈值,当计算机的负载超过该负载阈值时,计算机会出现故障,例如:计算机卡顿以及死机等。
在进行待处理任务数据分发时,根据对应的计算机组中所有计算机的负载进行分发,使得待处理任务可以及时得到处理。
具体地,基于计算机组以及待处理任务数据确定分配计算机,包括:获取计算机组信息,计算机组信息包括计算机组中每台计算机当前的负载;基于计算机组信息以及负载阈值计算每台计算机的空闲负载,空闲负载为每台计算机可承担的负载;基于待处理任务数据确定任务负载;基于任务负载以及空闲负载确定分配计算机。
在本实施例中,从数据库中获取对应的计算机组信息,通过计算机组信息了解对应的计算机组中每台计算机当前的负载,负载阈值减去每台计算机当前的负载可以得到每台计算机的空闲负载,即每台计算机当前可承担的负载,数据库中存储有每种待处理任务数据与任务负载的对应关系,该数据库为根据历史待处理任务数据占用负载的情况构建,根据待处理任务数据从数据库中获取对应的任务负载,将空闲负载大于或等于任务负载的计算机确定为第一分配计算机,若存在多个第一分配计算机,则选择空闲负载最大的第一分配计算机作为该待处理任务数据对应的分配计算机,若只存在一个第一分配计算机,则将该第一分配计算机确定为该待处理任务数据对应的分配计算机。
进一步地,基于任务负载以及空闲负载确定分配计算机,包括:若空闲负载均小于任务负载,则划分待处理任务数据,得到多个子任务数据;计算空闲负载总和,空闲负载总和为计算机组中所有计算机的空闲负载的总和;若空闲负载总和大于或等于任务负载,则确定各个子任务数据的子任务负载;基于子任务负载以及空闲负载确定分配计算机。
在本实施例中,若对应的计算机组中所有计算机的空闲负载均小于任务负载,则将待处理任务进行划分,得到多个子任务,相应的待处理任务数据也划分为多个子任务数据,计算当前计算机组(即待处理任务数据对应的计算机组)中所有计算机的空闲负载总和,若空闲负载总和大于或等于任务负载,即当前计算机组可以承担待处理任务数据的处理工作,根据子任务数据从数据库中获取对应的子任务负载,根据子任务负载以及空闲负载确定每个子任务数据对应的分配计算机。
在确定分配计算机与子任务数据之间的对应关系时,根据子任务数据的子任务负载由高到底依次确定分配计算机,在确定每个子任务数据对应的分配计算机时,将空闲负载与子任务负载的差值最小的分配计算机确定为该子任务数据对应的分配计算机。
具体地,在计算空闲负载总和之后,方法还包括:若空闲负载总和小于任务负载,则确定各个子任务数据的逻辑关系;基于逻辑关系确定各个子任务数据的任务处理等级,任务处理等级包括第一等级,第一等级对应的子任务数据为需要优先处理的子任务数据;将任务处理等级为第一等级的子任务数据确定为优先子任务数据;将优先子任务数据的数量确定为第一数量;将计算机组中空闲负载大于预设负载的计算机的数量确定为第二数量;基于第一数量以及第二数量的大小关系确定分配计算机。
在本实施例中,若当前计算机组中所有计算机的空闲负载总和小于任务负载,则可能会存在当前计算机组无法完整的处理待处理任务数据的情况,此时需要通过以下判断确定分配计算机,通过对待处理任务的划分方式确定各个子任务之间的逻辑关系,逻辑关系包括存在先后顺序以及互不相关,各个子任务之间的逻辑关系即各个子任务数据之间的逻辑关系。
根据各个子任务数据之间的逻辑关系确定各个子任务数据的任务处理等级,任务处理等级包括第一等级、第二等级以及第三等级,若子任务数据存在后序子任务数据,且不存在前序子任务数据,即该子任务数据会对其他子任务数据存在影响,只有该子任务数据处理之后,对应的后序子任务数据才可进行处理,且不存在对该子任务数据存在影响的前序子任务数据,则该子任务数据对应的任务处理等级为第一等级;若子任务数据既存在前序子任务数据,又存在后序子任务数据,即只有该子任务数据的前序子任务数据处理之后,才可处理该子任务数据,并且当该子任务数据处理后,才可处理对应的后序子任务数据,则该子任务数据对应的任务处理等级为第二等级;若子任务数据存在前序子任务数据,且不存在后序子任务数据,即该子任务数据不会对其他子任务数据存在影响,且只有该子任务数据对应的前序子任务数据处理之后,该子任务数据才可进行处理,则该子任务数据对应的任务处理等级为第三等级。
第一等级的子任务数据需要优先进行处理,将任务处理等级为第一等级的子任务数据确定为优先子任务数据,统计优先子任务数据的数量,并将优先子任务数据的数量确定为第一数量,统计计算机组中空闲负载大于预设负载的计算机的数量,并将该数量确定为第二数量,预设负载为各个优先子任务数据对应的子任务负载中最小的负载,比较第一数量以及第二数量的大小,根据第一数量以及第二数量的大小关系确定分配计算机。
进一步地,基于第一数量以及第二数量的大小关系确定分配计算机,包括:若第一数量大于第二数量,则基于优先子任务数据的数据类型确定第二计算机组;获取第二计算机组中计算机对应的空闲负载;基于子任务负载以及空闲负载确定分配计算机。
在本实施例中,若第一数量大于第二数量,说明当前计算机组中的计算机无法满足及时处理优先子任务数据的要求,从而无法及时处理待处理任务数据,此时需要另外选择一个计算机组配合进行处理,将选择的计算机组确定为第二计算机组,在选择第二计算机组时,同样根据数据类型进行选择,待处理任务数据的数据类型与每个子任务数据的数据类型并非完全相同,例如:待处理任务数据的数据类型为图像类型,即该待处理任务主要是对图像进行处理,但并非该待处理任务仅对图像进行处理,也会存在对数值和/或音频处理的任务,故而对于划分后的子任务数据,也需要确定对应的数据类型。
根据优先子任务数据的数据类型确定第二计算机组,统计每种数据类型对应的各个优先子任务数据的数量,将待处理任务数据对应的数据类型确定为第一数据类型,将其他数据类型(除第一数据类型之外的数据类型为其他数据类型)中对应优先子任务数据的数量最多的数据类型确定为优先数据类型,根据优先数据类型确定对应的计算机属性,即第二计算机属性,将计算机属性为第二计算机属性的计算机组确定为第二计算机组,从数据库中获取第二计算机组中各个计算机当前的负载,通过负载阈值减去当前的负载计算每台计算机对应的空闲负载。
将第二计算机组中的计算机按照空闲负载从高到底进行排序,选择前第三数量的计算机作为分配计算机,第三数量等于第一数量减去第二数量。
当前计算机组以及第二计算机组均存在分配计算机,此时将所有的分配计算机确定为一个任务计算机组,即在进行数据分发时,计算机组并非固定不变的,会根据待处理任务随时进行调整,在确定分配计算机与优先子任务数据之间的对应关系时,根据优先子任务数据的子任务负载由高到底依次确定分配计算机,在确定每个优先子任务数据对应的分配计算机时,将空闲负载与子任务负载的差值最小的分配计算机确定为该优先子任务数据对应的分配计算机。
在确定第二等级或第三等级的子任务数据对应的分配计算机时,确定方式同第一等级的优先子任务数据的分配方法,此处不再赘述。
具体地,在基于计算机组以及待处理任务数据确定分配计算机之后,方法还包括:获取分配计算机的状态数据;基于状态数据判断分配计算机是否存在异常;若分配计算机存在异常,则确定存在异常的分配计算机对应的待处理任务数据;基于待处理任务数据的任务负载确定分配计算机。
在分配计算机处理待处理任务数据和/或子任务数据时,需要实时从分配计算机处获取状态数据,状态数据例如:电量、负载以及热量等,根据状态数据判断分配计算机是否存在异常,若存在异常会影响数据的处理,从而导致待处理任务无法及时处理完成,存在异常例如:分配计算机负载过大,电量过低以及热量较高等,若分配计算机存在异常,则根据对应关系确定存在异常的分配计算机对应的待处理任务数据和/或子任务数据,根据该待处理任务数据对应的任务负载和/或子任务数据对应的子任务负载重新确定分配计算机,确定的方式同上述方法,此处不再赘述。
图2为本申请实施例提供的一种数据分发控制装置200的结构框图。
如图2所示,数据分发控制装置200主要包括:
数据获取模块201,用于获取待处理任务数据;
类型确定模块202,用于确定待处理任务的数据类型;
组合确定模块203,用于基于待处理任务的数据类型确定待处理任务对应的计算机组;
分配确定模块204,用于基于计算机组以及待处理任务确定分配计算机,分配计算机为负载小于负载阈值的计算机。
作为本实施例的一种可选实施方式,组合确定模块203还具体用于在基于待处理任务数据的数据类型确定待处理任务数据对应的计算机组之前,包括:获取计算机信息;基于计算机信息确定计算机属性,计算机属性用于表征计算机处理的数据特征;基于计算机属性对计算机进行分组,得到至少一个计算机组,每个计算机组中的计算机对应相同的计算机属性。
作为本实施例的一种可选实施方式,分配确定模块204还具体用于基于计算机组以及待处理任务数据确定分配计算机,包括:获取计算机组信息,计算机组信息包括计算机组中每台计算机当前的负载;基于计算机组信息以及负载阈值计算每台计算机的空闲负载,空闲负载为每台计算机可承担的负载;基于待处理任务数据确定任务负载;基于任务负载以及空闲负载确定分配计算机。
作为本实施例的一种可选实施方式,分配确定模块204还具体用于基于任务负载以及空闲负载确定分配计算机,包括:若空闲负载均小于任务负载,则划分待处理任务数据,得到多个子任务数据;计算空闲负载总和,空闲负载总和为计算机组中所有计算机的空闲负载的总和;若空闲负载总和大于或等于任务负载,则确定各个子任务数据的子任务负载;基于子任务负载以及空闲负载确定分配计算机。
作为本实施例的一种可选实施方式,分配确定模块204还具体用于在计算空闲负载总和之后,还包括:若空闲负载总和小于任务负载,则确定各个子任务数据的逻辑关系;基于逻辑关系确定各个子任务数据的任务处理等级,任务处理等级包括第一等级,第一等级对应的子任务数据为需要优先处理的子任务数据;将任务处理等级为第一等级的子任务数据确定为优先子任务数据;将优先子任务数据的数量确定为第一数量;将计算机组中空闲负载大于预设负载的计算机的数量确定为第二数量;基于第一数量以及第二数量的大小关系确定分配计算机。
作为本实施例的一种可选实施方式,分配确定模块204还具体用于基于第一数量以及第二数量的大小关系确定分配计算机,包括:若第一数量大于第二数量,则基于优先子任务数据的数据类型确定第二计算机组;获取第二计算机组中计算机对应的空闲负载;基于子任务负载以及空闲负载确定分配计算机。
作为本实施例的一种可选实施方式,数据分发控制装置200还具体用于在基于计算机组以及待处理任务数据确定分配计算机之后,还包括:获取分配计算机的状态数据;基于状态数据判断分配计算机是否存在异常;若分配计算机存在异常,则确定存在异常的分配计算机对应的待处理任务数据;基于待处理任务数据的任务负载确定分配计算机。
在一个例子中,以上任一装置中的模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个专用集成电路(application specificintegratedcircuit,ASIC),或,一个或多个数字信号处理器(digital signal processor,DSP),或,一个或者多个现场可编程门阵列(field programmable gate array,FPGA),或这些集成电路形式中至少两种的组合。
再如,当装置中的模块可以通过处理元件调度程序的形式实现时,该处理元件可以是通用处理器,例如中央处理器(central processing unit,CPU)或其它可以调用程序的处理器。再如,这些模块可以集成在一起,以片上***(system-on-a-chip,SOC)的形式实现。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
图3为本申请实施例提供的一种电子设备300的结构框图。
如图3所示,电子设备300包括处理器301和存储器302,还可以进一步包括信息输入/信息输出(I/O)接口303、通信组件304中的一种或多种以及通信总线305。
其中,处理器301用于控制电子设备300的整体操作,以完成上述的数据分发控制方法的全部或部分步骤;存储器302用于存储各种类型的数据以支持在电子设备300的操作,这些数据例如可以包括用于在该电子设备300上操作的任何应用程序或方法的指令,以及应用程序相关的数据。该存储器302可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,SRAM)、电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,EPROM)、可编程只读存储器(Programmable Read-Only Memory,PROM)、只读存储器(Read-OnlyMemory,ROM)、磁存储器、快闪存储器、磁盘或光盘中的一种或多种。
I/O接口303为处理器301和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件304用于电子设备300与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(NearField Communication,简称NFC),2G、3G或4G,或它们中的一种或几种的组合,因此相应的该通信组件304可以包括:Wi-Fi部件,蓝牙部件,NFC部件。
电子设备300可以被一个或多个应用专用集成电路 (Application SpecificIntegrated Circuit,简称ASIC)、数字信号处理器(Digital Signal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field ProgrammableGate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述实施例给出的数据分发控制方法。
通信总线305可包括一通路,在上述组件之间传送信息。通信总线305可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA (ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。通信总线305可以分为地址总线、数据总线、控制总线等。
电子设备300可以包括但不限于移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端,还可以为服务器等。
本申请还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述的数据分发控制方法的步骤。
该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器 (R ead-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的申请范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离前述申请构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中申请的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (6)

1.一种数据分发控制方法,其特征在于,包括:
获取待处理任务数据;
确定所述待处理任务数据的数据类型;
基于所述待处理任务数据的数据类型确定所述待处理任务数据对应的计算机组;
基于所述计算机组以及所述待处理任务数据确定分配计算机,所述分配计算机为负载小于负载阈值的计算机;
所述基于所述计算机组以及所述待处理任务数据确定分配计算机,包括:
获取计算机组信息,所述计算机组信息包括所述计算机组中每台所述计算机当前的负载;
基于所述计算机组信息以及负载阈值计算每台所述计算机的空闲负载,所述空闲负载为每台所述计算机可承担的负载;
基于所述待处理任务数据从数据库中获取任务负载,所述数据库为根据历史待处理任务数据占用负载的情况构建;
基于所述任务负载以及所述空闲负载确定所述分配计算机;
所述基于所述任务负载以及所述空闲负载确定所述分配计算机,包括:
若所述空闲负载均小于所述任务负载,则划分所述待处理任务数据,得到多个子任务数据;
计算空闲负载总和,所述空闲负载总和为所述计算机组中所有所述计算机的所述空闲负载的总和;
若所述空闲负载总和大于或等于所述任务负载,则确定各个所述子任务数据的子任务负载;将所述子任务数据按照对应的所述子任务负载由高到底进行排序,得到排序结果;基于所述排序结果依次为所述子任务数据确定分配计算机,所述分配计算机为所述空闲负载与所述子任务负载的差值最小的计算机;在所述计算空闲负载总和之后,所述方法还包括:
若所述空闲负载总和小于所述任务负载,则确定各个所述子任务数据的逻辑关系,所述逻辑关系包括存在先后顺序以及互不相关;
基于所述逻辑关系确定各个所述子任务数据的任务处理等级,所述任务处理等级包括第一等级、第二等级以及第三等级,所述第一等级对应的所述子任务数据为需要优先处理的子任务数据;
将所述任务处理等级为所述第一等级的所述子任务数据确定为优先子任务数据;
将所述优先子任务数据的数量确定为第一数量;
将所述计算机组中所述空闲负载大于预设负载的所述计算机的数量确定为第二数量;
基于所述第一数量以及所述第二数量的大小关系确定所述分配计算机;
所述基于所述逻辑关系确定各个所述子任务数据的任务处理等级,包括:
若所述子任务数据存在后序子任务数据,且不存在前序子任务数据,则所述子任务数据对应的任务处理等级为第一等级;
若所述子任务数据既存在前序子任务数据,又存在后序子任务数据,则所述子任务数据对应的任务处理等级为第二等级;
若所述子任务数据存在前序子任务数据,且不存在后序子任务数据,则所述子任务数据对应的任务处理等级为第三等级;
所述基于所述第一数量以及所述第二数量的大小关系确定所述分配计算机,包括:
若所述第一数量大于所述第二数量,则基于所述优先子任务数据的数据类型确定第二计算机组;
获取所述第二计算机组中所述计算机对应的空闲负载;
基于所述子任务负载以及所述空闲负载确定所述分配计算机。
2.根据权利要求1所述的方法,其特征在于,在所述基于所述待处理任务数据的数据类型确定所述待处理任务数据对应的计算机组之前,所述方法还包括:
获取计算机信息;
基于所述计算机信息确定计算机属性,所述计算机属性用于表征计算机处理的数据特征;
基于所述计算机属性对所述计算机进行分组,得到至少一个计算机组,每个所述计算机组中的所述计算机对应相同的计算机属性。
3.根据权利要求1所述的方法,其特征在于,在所述基于所述计算机组以及所述待处理任务数据确定分配计算机之后,所述方法还包括:
获取所述分配计算机的状态数据;
基于所述状态数据判断所述分配计算机是否存在异常;
若所述分配计算机存在异常,则确定存在异常的所述分配计算机对应的所述待处理任务数据;
基于所述待处理任务数据的所述任务负载确定分配计算机。
4.一种数据分发控制装置,其特征在于,包括:
数据获取模块,用于获取待处理任务数据;
类型确定模块,用于确定所述待处理任务的数据类型;
组合确定模块,用于基于所述待处理任务的数据类型确定所述待处理任务对应的计算机组;
分配确定模块,用于基于所述计算机组以及所述待处理任务确定分配计算机,所述分配计算机为负载小于负载阈值的计算机;
所述分配确定模块还具体用于所述基于所述计算机组以及所述待处理任务数据确定分配计算机,包括:
获取计算机组信息,所述计算机组信息包括所述计算机组中每台所述计算机当前的负载;
基于所述计算机组信息以及负载阈值计算每台所述计算机的空闲负载,所述空闲负载为每台所述计算机可承担的负载;
基于所述待处理任务数据从数据库中获取任务负载,所述数据库为根据历史待处理任务数据占用负载的情况构建;
基于所述任务负载以及所述空闲负载确定所述分配计算机;
所述分配确定模块还具体用于所述基于所述任务负载以及所述空闲负载确定所述分配计算机,包括:
若所述空闲负载均小于所述任务负载,则划分所述待处理任务数据,得到多个子任务数据;
计算空闲负载总和,所述空闲负载总和为所述计算机组中所有所述计算机的所述空闲负载的总和;
若所述空闲负载总和大于或等于所述任务负载,则确定各个所述子任务数据的子任务负载;将所述子任务数据按照对应的所述子任务负载由高到底进行排序,得到排序结果;基于所述排序结果依次为所述子任务数据确定分配计算机,所述分配计算机为所述空闲负载与所述子任务负载的差值最小的计算机;所述分配确定模块还具体用于在所述计算空闲负载总和之后,还包括:
若所述空闲负载总和小于所述任务负载,则确定各个所述子任务数据的逻辑关系,所述逻辑关系包括存在先后顺序以及互不相关;
基于所述逻辑关系确定各个所述子任务数据的任务处理等级,所述任务处理等级包括第一等级、第二等级以及第三等级,所述第一等级对应的所述子任务数据为需要优先处理的子任务数据;
将所述任务处理等级为所述第一等级的所述子任务数据确定为优先子任务数据;
将所述优先子任务数据的数量确定为第一数量;
将所述计算机组中所述空闲负载大于预设负载的所述计算机的数量确定为第二数量;
基于所述第一数量以及所述第二数量的大小关系确定所述分配计算机;
所述分配确定模块还具体用于所述基于所述逻辑关系确定各个所述子任务数据的任务处理等级,包括:
若所述子任务数据存在后序子任务数据,且不存在前序子任务数据,则所述子任务数据对应的任务处理等级为第一等级;
若所述子任务数据既存在前序子任务数据,又存在后序子任务数据,则所述子任务数据对应的任务处理等级为第二等级;
若所述子任务数据存在前序子任务数据,且不存在后序子任务数据,则所述子任务数据对应的任务处理等级为第三等级;
所述分配确定模块还具体用于所述基于所述第一数量以及所述第二数量的大小关系确定所述分配计算机,包括:
若所述第一数量大于所述第二数量,则基于所述优先子任务数据的数据类型确定第二计算机组;
获取所述第二计算机组中所述计算机对应的空闲负载;
基于所述子任务负载以及所述空闲负载确定所述分配计算机。
5.一种电子设备,其特征在于,包括处理器,所述处理器与存储器耦合;
所述处理器用于执行所述存储器中存储的计算机程序,以使得所述电子设备执行如权利要求1至3任一项所述的方法。
6.一种计算机可读存储介质,其特征在于,包括计算机程序或指令,当所述计算机程序或指令在计算机上运行时,使得所述计算机执行如权利要求1至3任一项所述的方法。
CN202410085838.9A 2024-01-22 2024-01-22 数据分发控制方法、装置、设备及介质 Active CN117608862B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410085838.9A CN117608862B (zh) 2024-01-22 2024-01-22 数据分发控制方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410085838.9A CN117608862B (zh) 2024-01-22 2024-01-22 数据分发控制方法、装置、设备及介质

Publications (2)

Publication Number Publication Date
CN117608862A CN117608862A (zh) 2024-02-27
CN117608862B true CN117608862B (zh) 2024-04-12

Family

ID=89944707

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410085838.9A Active CN117608862B (zh) 2024-01-22 2024-01-22 数据分发控制方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN117608862B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105729491A (zh) * 2016-04-01 2016-07-06 纳恩博(北京)科技有限公司 机器人任务的执行方法、装置及***
CN109343962A (zh) * 2018-10-26 2019-02-15 北京知道创宇信息技术有限公司 数据处理方法、装置及分布式服务***
CN110673944A (zh) * 2018-07-03 2020-01-10 杭州海康威视数字技术股份有限公司 执行任务的方法和装置
CN111459678A (zh) * 2020-04-02 2020-07-28 上海极链网络科技有限公司 一种资源调度方法、装置、存储介质及电子设备
CN116700955A (zh) * 2023-05-22 2023-09-05 曙光信息产业(北京)有限公司 作业处理方法、装置、计算机设备及可读存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150236974A1 (en) * 2013-04-26 2015-08-20 Hitachi, Ltd. Computer system and load balancing method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105729491A (zh) * 2016-04-01 2016-07-06 纳恩博(北京)科技有限公司 机器人任务的执行方法、装置及***
CN110673944A (zh) * 2018-07-03 2020-01-10 杭州海康威视数字技术股份有限公司 执行任务的方法和装置
CN109343962A (zh) * 2018-10-26 2019-02-15 北京知道创宇信息技术有限公司 数据处理方法、装置及分布式服务***
CN111459678A (zh) * 2020-04-02 2020-07-28 上海极链网络科技有限公司 一种资源调度方法、装置、存储介质及电子设备
CN116700955A (zh) * 2023-05-22 2023-09-05 曙光信息产业(北京)有限公司 作业处理方法、装置、计算机设备及可读存储介质

Also Published As

Publication number Publication date
CN117608862A (zh) 2024-02-27

Similar Documents

Publication Publication Date Title
US10558498B2 (en) Method for scheduling data flow task and apparatus
CN107124472A (zh) 负载均衡方法及装置、计算机可读存储介质
CN112000467A (zh) 一种数据倾斜处理方法、装置、终端设备及存储介质
CN111443999A (zh) 数据并行处理方法、执行器、计算机设备和存储介质
CN111813535A (zh) 一种资源配置确定方法、装置及电子设备
CN113703975A (zh) 模型分配方法、装置、电子设备及计算机可读存储介质
CN111382141B (zh) 主从架构配置方法、装置、设备以及计算机可读存储介质
CN117608862B (zh) 数据分发控制方法、装置、设备及介质
CN112000485A (zh) 任务分配方法、装置、电子设备及计算机可读存储介质
CN107634978B (zh) 一种资源调度方法及装置
CN116594753A (zh) 任务调度方法、装置、电子设备、存储介质及程序产品
CN107391262B (zh) 一种作业调度方法及装置
US20140047454A1 (en) Load balancing in an sap system
CN114143322A (zh) 一种混合云场景中计算资源的配置行动评估方法
CN114546652A (zh) 一种参数预估方法、装置及电子设备
CN114168439A (zh) 一种集群内服务的压测控制方法、装置、存储介质及终端
CN113608847A (zh) 任务处理方法、装置、设备及存储介质
CN111258729A (zh) 基于Redis的任务分配方法、装置、计算机设备及存储介质
CN117591382B (zh) 服务器故障智能监测方法、装置、设备及介质
CN112540842A (zh) 动态调整***资源的方法及装置
CN114598705B (zh) 消息负载均衡方法、装置、设备和介质
CN117112242B (zh) 一种云计算***中的资源节点分配方法和***
CN116566992B (zh) 边缘计算的动态协同方法、装置、计算机设备和存储介质
CN112596884B (zh) 一种任务调整方法及装置
EP2698713A2 (en) Load balancing in data processing system

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
GR01 Patent grant
GR01 Patent grant