CN114528104A - 任务处理方法及装置 - Google Patents

任务处理方法及装置 Download PDF

Info

Publication number
CN114528104A
CN114528104A CN202210135580.XA CN202210135580A CN114528104A CN 114528104 A CN114528104 A CN 114528104A CN 202210135580 A CN202210135580 A CN 202210135580A CN 114528104 A CN114528104 A CN 114528104A
Authority
CN
China
Prior art keywords
processed
task
node
distributed
subtasks
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
Application number
CN202210135580.XA
Other languages
English (en)
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.)
Vivo Mobile Communication Co Ltd
Original Assignee
Vivo Mobile Communication 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 Vivo Mobile Communication Co Ltd filed Critical Vivo Mobile Communication Co Ltd
Priority to CN202210135580.XA priority Critical patent/CN114528104A/zh
Publication of CN114528104A publication Critical patent/CN114528104A/zh
Pending legal-status Critical Current

Links

Images

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/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请公开了一种任务处理方法及装置,属于通信技术领域,所述方法包括:电子设备接收用户的第一请求信息;所述电子设备响应于所述第一请求信息,获取待处理任务,其中,所述电子设备为已构建的分布式集群中的一个节点,所述分布式集群为基于多台电子设备构建的分布式系统;所述分布式集群的主节点获取所述待处理任务的应用场景信息和分布式模式信息;所述主节点基于所述应用场景信息和所述分布式模式信息,处理所述待处理任务。

Description

任务处理方法及装置
技术领域
本申请属于通信技术领域,具体涉及一种任务处理方法及装置。
背景技术
随着硬件技术的发展,电子设备的内存,运存等硬件都在提升,然而在电子设备上执行较大的任务,或者存储一些大容量数据时,例如:数据下载,数据上传,数据计算,区块链等一些大任务,或者视频,音乐、文件等大文件存储时,仍然会存在CPU、内存、运存等资源不够用的情况,因此单台电子设备无论硬件怎么提升,都有使用的瓶颈。
现在,很多家庭往往存在多台电子设备,有的电子设备使用较多、资源不足,而有的电子设备却使用较少、资源充足。使用较少的空闲的电子设备的资源无法得到利用,造成了资源的浪费。
发明内容
本申请实施例的目的是提供一种任务处理方法、装置,能够解决现有技术下电子设备处理较大任务时,硬件资源不够用的缺陷,同时提高闲置电子设备的资源利用率,进而提升任务处理效率。
第一方面,本申请实施例提供了一种任务处理方法,该方法包括:
电子设备接收用户的第一请求信息;
所述电子设备响应于所述第一请求信息,获取待处理任务,其中,所述电子设备为已构建的分布式集群中的一个节点,所述分布式集群为基于多台电子设备构建的分布式系统;
所述分布式集群的主节点获取所述待处理任务的应用场景信息和分布式模式信息;
所述主节点基于所述应用场景信息和所述分布式模式信息,处理所述待处理任务。
第二方面,本申请实施例提供了一种任务处理装置,该装置包括:
请求接收模块,用于使电子设备接收用户的第一请求信息;
第一获取模块,用于使所述电子设备响应于所述第一请求信息,获取待处理任务,其中,所述电子设备为已构建的分布式集群中的一个节点,所述分布式集群为基于多台电子设备构建的分布式系统;
第二获取模块,用于使所述分布式集群的主节点获取所述待处理任务的应用场景信息和分布式模式信息;
任务处理模块,用于使所述主节点基于所述应用场景信息和所述分布式模式信息,处理所述待处理任务。
第三方面,本申请实施例提供了一种电子设备,该电子设备包括处理器和存储器,所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的方法的步骤。
第四方面,本申请实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的方法的步骤。
第五方面,本申请实施例提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如第一方面所述的方法。
在本申请实施例中,通过分布式集群的电子设备接收用户请求,获取待处理任务,分布式集群的主节点获取待处理任务的应用场景信息和分布式模式信息,并基于所述应用场景信息和所述分布式模式信息,处理所述待处理任务,充分利用闲置的电子设备,实现了多台电子设备分布式利用的功能,使得多台电子设备共同处理一个任务,提高了闲置电子设备的资源利用率,也提升了任务处理效率。
附图说明
图1为本申请实施例提供的任务处理方法的流程图;
图2为本申请实施例提供的一个分布式集群的示意图;
图3为本申请实施例提供的主节点和从节点之间交互的示意图;
图4为本申请实施例提供的主节点处理待处理任务的流程示意图之一;
图5为本申请实施例提供的主节点处理待处理任务的流程示意图之二;
图6为本申请实施例提供的任务处理装置的结构示意图;
图7是本申请实施例提供的电子设备的结构示意图;
图8是本申请实施例提供的电子设备的硬件示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
本申请实施例中术语“多台”是指两台或两台以上,其它量词与之类似。
现有技术下,目前在电子设备中处理一些大任务的时候,有以下几种方式:
一种是人为的将大任务分离,分别使多台手机、设备同时执行任务,最后将结果人为的合并。例如下载任务,一个用户需要下载10集电影,那需要人为的将10集电影分成几个部分,操作多台设备,使其同时下载各自的部分,最后再通过数据线、网络、蓝牙等方式将数据合并。这种方式需要人为的拆分任务,人为的操作设备,还需要将数据最后进行整合,整个过程较为复杂。
另一种是在单台电子设备存储资源不足的情况下,用户提高手机的存储容量,或是将数据上传到云端,再或是将数据备份到硬盘、内存卡中。但是单台手机的存储资源是有限的,而云端数据也存在风险,比如隐私泄露,数据丢失等问题,如果要把数据从硬盘或内存卡中拿出来,又需要人为操作,将数据进行复制,导入,并不能方便的拿到自己想要的数据。
为了解决上述问题,本申请提供了一种任务处理方法、装置和电子设备。
下面结合附图,通过一些实施例及其应用场景对本申请实施例提供的任务处理方法进行详细地说明。本申请实施例提供的任务处理方法,执行主体可以是电子设备或电子设备中能够实现该任务处理方法的功能模块或功能实体,本申请实施例提及的电子设备包括但不限于手机、平板电脑、电脑、可穿戴设备等。下面以电子设备作为执行主体为例对本申请实施例提供的任务处理方法进行说明。
图1为本申请实施例提供的任务处理方法的流程图,如图1所示,该方法包括:。
步骤101、电子设备接收用户的第一请求信息。
可以理解,在电子设备正常工作的情况下,用户可以通过电子设备发送第一请求信息,用于请求电子设备执行待处理任务。
步骤102、所述电子设备响应于所述第一请求信息,获取待处理任务。
其中,所述电子设备为已构建的分布式集群中的一个节点,所述分布式集群为基于多台电子设备构建的分布式系统;
需要说明的是,传统的分布式系统只在服务器中存在,一般是针对企业级别的数据处理,对于应用软件的分布式是非常少的,特别是在移动领域,目前尚未有比较好的分布式资源利用、并且用于解决“个人使用”场景的方法。
分布式系统可以进行分布式计算和分布式网络存储。其中,分布式计算是计算机科学中一个研究方向,它研究如何把一个需要非常巨大的计算能力才能解决的问题分成许多小问题,然后把这些小问题分配给多个计算机进行处理,最后把这些计算结果综合起来得到最终的结果;分布式网络存储是将数据分散地存储于多台独立的机器设备上。
可以理解,接收第一请求信息的电子设备可以是分布式集群中的任意一台电子设备,电子设备解析用户请求,获取到需要处理的任务。
其中,待处理任务是分布式计算任务或分布式存储任务,例如,下载、上传或存储等任务。
可以理解的是,分布式计算任务是指将待处理任务分发到其它的电子设备,由多个电子设备共同完成待处理任务;分布式存储任务是将数据或文件存储在其他的电子设备内。
步骤103、所述分布式集群的主节点获取所述待处理任务的应用场景信息和分布式模式信息。
需要说明的是,分布式系统一般采用主从设计,即设置一个主节点和至少一个从节点,其目的是为了保障数据一致性。主从设计是一种最直观的数据一致性保障机制。
在本申请实施例中,主节点的功能包括以下至少一项:拆分待处理任务,对分布式集群进行资源申请,任务分配,任务监控,数据合并。
从节点的功能包括以下至少一项:向主节点通知资源情况,处理主节点分配的任务,向主节点反馈任务处理情况。
一种实施方式中,用户在发送第一请求信息之前,在电子设备中手动设置待处理任务的应用场景信息。
需要说明的是,主节点可以通过任务解析器自动识别并获取到待处理任务的应用场景信息。
其中,任务解析器可以是一个程序,在这个程序中包括多个不同的策略,每个策略能够识别出对应的应用场景信息。
主节点获取到的待处理任务的应用场景信息包括以下其中之一:
1)外界网络数据交互场景;
一种实施方式中,主节点获取的待处理任务的应用场景信息是数据交互场景;例如,待处理任务是下载网络文件(视频、音乐、小说)、下载网络软件;上传本地文件到互联网等。
2)用户与应用程序交互的缓存场景;
一种实施方式中,主节点获取的待处理任务的应用场景信息是用户与应用程序交互的缓存场景;例如:缓存已交互的内容,在用户观看视频、小说的过程中,电子设备缓存用户已观看的内容。例如:缓存将要交互的内容,在用户观看视频工程中,电子设备缓存尚未观看的视频,或者在用户阅读小说的过程中,电子设备缓存尚未阅读的章节内容。这些缓存操作不必仅由当前电子设备完成,可以由其它电子设备分布式完成。
3)数据防丢失、防损坏场景;
一种实施方式中,主节点获取的待处理任务的应用场景信息是数据防丢失、防损坏场景;例如:把一份数据同时存储在多台电子设备内,每台电子设备内存储的数据都是一份完整的数据,从而增加了数据的安全性。
4)数据分布式存储场景;
一种实施方式中,主节点获取的待处理任务的应用场景信息是数据分布式存储场景;例如:将分布式集群中任意一台电子设备内存储的数据进行自动拆分,自动主动的将拆分后的数据分别存储在不同的设备中,从而解决单台电子设备可能出现存储资源不足的情况。
5)分布式收集数据场景;
一种实施方式中,主节点获取的待处理任务的应用场景信息是分布式收集数据场景;例如:分布式集群中任一电子设备收集外界物联网或传感器的数据,比如智能手环、手表收集的人体数据,视频,语言监控收集的监控数据,智能家居的运行状态数据等,对这些数据进行分布式存储,或进行数据共享。
可以理解的是,每种应用场景信息都与一个场景id一一对应。
需要说明的是,待处理任务的分布式模式信息需要用户在电子设备中进行手动设置。
例如,用户可以在分布式集群的任一电子设备对需要该电子设备进行分布式处理的应用程序、文件夹、文件设置分布式模式信息。如果是对应用程序进行分布式处理,还需要应用程序授权允许该电子设备获取应用程序的数据存储路径和日志存储路径。如果是对文件夹或文件进行分布式处理,也可以不需要授权。
主节点获取到的待处理任务的分布式模式信息包括以下其中之一:
1)普通模式;
一种实施方式中,主节点获取的待处理任务的分布式模式信息是普通模式。
需要说明的是,普通模式是将待处理任务划分为多个子任务,将多个子任务分配给集群中多台电子设备分别进行处理的模式。采用该模式,待处理任务处理完成后得到的数据也被划分为多份,分别存在不同的电子设备中。这种模式简单方便且自动化进行,能尽可能的利用集群中多台电子设备协助处理。
2)手动模式;
一种实施方式中,主节点获取的待处理任务的分布式模式信息是手动模式。
需要说明的是,手动模式即调整资源模式,是需要用户手动设置指定电子设备,由指定电子设备来完成存储和计算操作的模式。采用该模式,待处理任务处理完成后得到的数据最终仅存放在指定电子设备内。这种模式灵活简便,用户可以使资源非常充足的电子设备优先处理任务。
3)防丢失模式;
一种实施方式中,主节点获取的待处理任务的分布式模式信息是防丢失模式;
需要说明的是,防丢失模式即安全模式,是将待处理任务处理完成后得到的数据分别完整存储在分布式集群中多台电子设备的模式。采用该模式,多台电子设备中分别存储一份完整的数据。这种模式能确保一些重要的数据在多台电子设备中都有一份完整的数据。
可以理解的是,每种分布式模式信息都与一个模式id一一对应
步骤104、所述主节点基于所述应用场景信息和所述分布式模式信息,处理所述待处理任务。
可以理解,主节点在处理任务时,既需要考虑任务的应用场景信息,又需要考虑任务的分布式模式信息。
需要说明的是,主节点处理待处理任务是指主节点基于应用场景信息和分布式模式信息,从分布式集群的从节点中选择出至少一个可用节点,根据可用节点的个数对待处理任务执行划分或复制等处理操作,再将执行了划分或复制等处理操作后的任务分配至可用节点,由可用节点分别处理分配到的任务,进而实现多个从节点分布式处理同一个任务的目的。
在本实施例中,通过分布式集群的电子设备接收用户请求,获取待处理任务,分布式集群的主节点获取待处理任务的应用场景信息和分布式模式信息,并基于所述应用场景信息和所述分布式模式信息,处理所述待处理任务,充分利用闲置的电子设备,实现了多台电子设备分布式利用的功能,使得多台电子设备之间资源调度,存储共享,共同处理一个任务,提高了闲置电子设备的资源利用率,也提升了任务处理效率。
可选地,所述方法还包括构建所述分布式集群,
所述构建所述分布式集群包括:
在满足第一预设条件的N台电子设备中确定1个主节点和N-1个从节点,其中,N为正整数,且N≥2,所述第一预设条件包括以下至少一项:所述N 台电子设备处于同一个网络环境中,所述N台电子设备采用相同的操作系统和所述N台电子设备之间采用tcp连接方式;
基于所述1个主节点和所述N-1个从节点构建所述电子设备分布式集群。
本申请实施例中,可以使用wifi、蓝牙或同一个运营商的移动通信网络等方式使得N台电子设备处于同一个网络环境中。
一种实施方式中,在N台电子设备中安装并采用Linux操作系统。例如:当N台电子设备都是手机时,可以在系统中预装AidLux软件,这是一款轻量级的完整Linux系统,占用内存和存储都比较小。
图2为本申请实施例提供的一个分布式集群的示意图,如图2所示,分布式集群中包括4台手机和1台网络附属存储,其中,手机1是主节点,手机2、手机3、手机4和网络附属存储是从节点,4台手机和1台网络附属存储通过路由器实现处于同一网络环境中,同时4台手机的安卓系统中都预装了AidLux 软件,构建了Linux系统,(图中未画出),在同一网络下,4台手机和1台网络附属存储之间通过TCP构建连接(图中未画出)。图2中的网络附属存储是一个连接在网络上,具备存储功能的装置,它是一个可选的从节点,在需要提高分布式集群的容错性的情况下,分布式集群中的其他节点可以将数据存储在此装置中,进一步地节约存储资源,也能使用此装置进行数据备份,提高数据的稳定性。
可以理解的是,满足第一预设条件的N台电子设备之间能够在同一个网络下互联通信,其中的每台电子设备是一个可以处理任务,存储数据的节点。
需要说明的是,在N台电子设备中确定1个主节点和N-1个从节点是指通过选举算法在N台电子设备之间确定一个主节点,将主节点以外的其他电子设备作为从节点。例如,可以使用Raft算法、ZAB算法、Zookeeper算法或其他轻量级选举算法进行选举功能确定主节点。
在确定了主节点和从节点的情况下,移动分布式集群构建成功。
需要理解的是,当N台电子设备中有电子设备退出集群后或已确定的主节点发生故障后,需要重新确定集群的主节点;当有电子设备加入集群后,不必重新确定集群的主节点。
可以理解的是,一个分布式集群中只有一个主节点,至少有一个从节点。
图3为本申请实施例提供的主节点和从节点之间交互的示意图,如图3所示:a、主节点向从节点申请资源从节点;b、从节点接收主节点的申请,向主节点通知本节点资源情况;c、主节点向从节点分配任务;d、从节点接收主节点分配的任务并处理任务;e、主节点监控从节点任务处理情况;f、从节点实时向主节点反馈本节点任务处理情况。
在本实施例中,通过确定N台电子设备中主节点和从节点,构建分布式集群,为后续分布式处理任务建立操作基础,而且分布式集群的结构简洁,搭建过程简单,与传统的计算机集群相比,因为电子设备资源有限,使用一些轻量级的应用程序来搭建电子设备分布式集群即可,同时电子设备可以方便快捷的并入分布式集群中,有利于横向扩展分布式集群。
可选地,所述分布式集群的主节点获取所述待处理任务的应用场景信息和分布式模式信息,包括:
在所述电子设备为所述已构建的分布式集群的从节点的情况下,所述分布式节点将所述待处理任务发送至所述主节点,所述主节点接收所述待处理任务并保存所述待处理任务至第一队列;或,在所述电子设备为所述已构建的分布式集群的主节点的情况下,所述主节点保存所述待处理任务至第一队列;
在所述待处理任务为所述第一队列的队头元素的情况下,所述主节点获取待处理任务的应用场景信息和分布式模式信息。
可以理解的是,从节点获取到待处理任务后,要将待处理任务发送至主节点。
需要理解的是,第一队列采用队列“先进先出”原则保存主节点接收的来自各个从节点的任务,当第一队列的队头元素对应的任务处理结束后,该任务出队,下一个任务变成队头元素由主节点进行处理。
在本实施例中,通过使用第一队列,采用队列“先进先出”的原则,使主节点能够同时接收各个分布式节点发送的待处理任务,主节点依次获取第一队列中各任务的应用场景信息和分布式模式信息,以便后续对待处理任务进行处理,保障了任务处理的有序进行。
可选地,所述主节点基于所述应用场景信息和所述分布式模式信息,处理所述待处理任务,包括:
所述主节点基于所述应用场景信息和所述分布式模式信息,确定所述待处理任务是否需要划分;
在所述待处理任务需要划分的情况下,所述主节点将所述待处理任务划分为多个待处理子任务,并将所述多个待处理子任务分配到所述分布式集群的从节点;
在所述待处理任务不需要划分的情况下,所述主节点确定能够执行所述待处理任务的可用节点,并将所述待处理任务分配至所述可用节点。
需要理解的是,主节点根据待处理任务的应用场景信息和分布式模式信息确定待处理任务是分布式计算任务还是分布式存储任务,当待处理任务的类型属于分布式计算任务时,主节点需要划分待处理任务为多个待处理子任务,由分布式集群的多个从节点分别处理每个待处理子任务;当待处理任务的类型属于分布式存储任务时,主节点从分布式集群中确定能够执行待处理任务的可用节点,由可用节点存储待处理任务涉及的数据。
需要说明的是,在分布式模式信息是手动模式或防丢失模式的情况下,待处理任务不需要进行划分,在分布式模式信息是普通模式的情况下,还需要结合应用场景信息判断待处理任务是否需要划分。
一种实施方式中,在分布式模式信息是普通模式的情况下,在应用场景信息是外界网络数据交互场景的情况下,待处理任务需要划分。
一种实施方式中,在分布式模式信息是普通模式的情况下,在应用场景信息是用户与应用程序交互的缓存场景的情况下,待处理任务需要划分。
一种实施方式中,在分布式模式信息是普通模式的情况下,在应用场景信息是数据分布式存储场景的情况下,待处理任务需要划分。
一种实施方式中,在分布式模式信息是普通模式的情况下,在应用场景信息是数据防丢失、防损坏场景的情况下,待处理任务不需要划分。
一种实施方式中,在分布式模式信息是普通模式的情况下,在应用场景信息是分布式收集数据场景的情况下,待处理任务不需要划分。
可以理解,待处理任务的划分与应用场景信息以及分布式模式信息有关。
需要说明的是,传统的任务划分大多是针对企业级的任务处理,或者是针对特殊的数据处理需求,无法针对用户的应用场景信息进行任务划分,而本申请实施例中,则是针对用户的应用场景信息进行主动划分任务。
在本实施例中,主节点通过待处理任务的应用场景信息和分布式模式信息,确定待处理任务是否需要划分,进而对待处理任务执行相应的处理操作,能够自动从分布式集群中找到适配的节点来处理待处理任务,加速了任务处理速度。
图4为本申请实施例提供的主节点处理待处理任务的流程示意图之一。如图4所示:
可选地,所述在所述待处理任务需要划分的情况下,所述主节点将所述待处理任务划分为多个待处理子任务,并将所述多个待处理子任务分配到所述分布式集群的从节点,包括:
步骤401、在所述待处理任务需要划分的情况下,所述主节点基于所述N-1 个从节点的CPU空闲状态和第一约束条件确定P个可用节点。
其中,所述第一约束条件为使P值最大的约束条件。
需要说明的是,在待处理任务需要划分的情况下,主节点主动进行资源申请,主节点向各个从节点发送一个获取每个节点当前资源情况的请求,各个从节点响应该请求,向主节点发送本节点的资源情况,例如,从节点向主节点发送本节点的CPU空闲状态和存储空间等资源情况。
需要理解的是,在从节点CPU处于使用状态的情况下,主节点确定该节点是不可用的节点;在从节点CPU处于空闲状态的情况下,主节点确定该节点是可申请的节点;主节点从多个可申请的节点中确定P个可用节点。
其中,所述第一约束条件包括第一原则、第二原则和第三原则;
第一原则是文件完整性原则,即一个文件不能拆分成多个待处理子任务;
第二原则在第一原则基础上设置,是最终分配的标准差最小原则;
第三原则在第二原则基础上设置,是P值最大原则。
设置第一约束条件的目的是为了让尽可能多的从节点共同处理待处理任务,进而提高任务处理效率。
步骤402、所述主节点将所述待处理任务划分为P个待处理子任务,并将所述P个待处理子任务保存至第二队列,并为每个待处理子任务生成任务处理表。
其中,P为正整数,且1≤P≤N-1。
可以理解的是,在待处理任务需要划分的情况下,主节点先确定可用节点的个数,根据可用节点的个数对待处理任务进行划分。
可以理解的是,任一处理子任务的数据大小小于待处理任务的数据大小。
需要理解的是,第二队列用于保存一个待处理任务的所有待处理子任务。
需要说明的是,主节点为每个待处理子任务生成一个任务处理表。如下表 1所示,任务处理表包括以下字段:待处理任务id字段、待处理子任务id字段、模式id字段、场景id字段、操作的步骤列表字段、可用节点id字段和是否已经分配字段。
表1任务处理表包含的字段以及字段含义
字段名 字段含义
job_id 待处理任务id
task_id 待处理子任务id
model_id 模式id
use_case_id 场景id
actions 操作的步骤列表
available_word_id 可用节点id
is_distribut 是否已经分配
在任务处理表中,模式id表示待处理任务的分布式模式信息;场景id表示待处理任务的应用场景信息;操作的步骤列表用于记录对待处理任务进行处理得到对应的待处理子任务的步骤;可用节点id表示在当前分布式集群中已经确定的所有可用节点的id;是否已经分配用于表示某个待处理子任务是否已经分配至可用节点中的任一节点,若是,则该字段表示为“是”,否则,表示为“否”。
步骤403、基于所述任务处理表,所述主节点从所述第二队列中取出所述 P个待处理子任务并将所述P个待处理子任务分配至所述P个可用节点,以供所述P个可用节点处理各自分配到的待处理子任务。
其中,主节点分配所述P个待处理子任务的分配方式包括定时分配或触发式分配。
其中,定时分配是指主节点每隔一段时间,查询一次任务处理表,查出未分配的待处理子任务进行分配。
触发式分配是指主节点在一个待处理任务划分结束后,主动触发任务分配,分配每个待处理子任务。
在本实施例中,通过应用场景信息和分布式模式信息,主节点判断待处理任务是否需要划分,在待处理任务需要划分的情况下,主节点确定可用节点并将对待处理任务划分为多个待处理子任务,并为每一个待处理子任务生成任务处理表以供分配待处理子任务至可用节点,根据用户平时使用的应用场景信息将一些需要大容量存储空间或者长时间占用CPU的任务,自动进行拆分,实现了电子设备的分布式计算,不必用户手动操作多台设备,加速了任务处理速度,进而提高了任务处理效率。
图5为本申请实施例提供的主节点处理待处理任务的流程示意图之二。如图5所示:
可选地,所述在所述待处理任务不需要划分的情况下,所述主节点确定能够执行所述待处理任务的可用节点,并将所述待处理任务分配至所述可用节点,包括:
步骤501、在所述待处理任务不需要划分的情况下,所述主节点根据所述待处理任务确定是否需要从N个节点收集数据。
步骤502、在需要从N个节点收集数据的情况下,所述主节点从所述N个节点收集数据并将收集后的数据整合为完整数据。
需要理解的是,手动模式、防丢失模式、普通模式下使用数据防丢失、防损坏场景不需要对待处理任务进行划分,但是需要根据待处理任务从分布式节点中收集数据并将收集后的数据整合为一份完整数据;普通模式下使用分布式收集数据场景不需要对待处理任务进行划分也不需要整合数据。
需要说明的是,传统的分布式任务处理,是主节点将任务直接分配给从节点,主节点不进行任何操作,本申请实施例提供的主节点,根据应用场景信息和应用模式,自动确定是否需要主节点进行操作,在待处理任务不需要划分的情况下但需要整合数据的情况下,主节点对于来自从节点的数据进行整合操作。
步骤503、所述主节点判断所述待处理任务是否涉及指定节点,并得到判断结果。
需要理解的是,待处理任务涉及指定节点是指主节点需要将待处理任务份分配给指定节点处理;在手动模式或防丢失模式下,待处理任务中涉及了指定节点,在普通模式下使用数据防丢失,防损坏场景下,待处理任务不涉及指定节点。
步骤504、所述主节点根据所述判断结果和所述完整数据,确定P个可用节点,得到P个第一待处理子任务,将所述P个第一待处理任务保存至第二队列,并为所述每个待处理子任务生成任务处理表。
需要说明的是,步骤504中所述主节点根据所述判断结果和所述完整数据,确定P个可用节点,得到P个第一待处理子任务,包括:
步骤5041、在待处理任务涉及指定节点的情况下,主节点确定指定节点为可用节点。
步骤5042、主节点根据完整数据得到第一待处理子任务,并将第一待处理子任务保存至第二队列,为第一待处理子任务生成任务处理表。
需要说明的是,在待处理任务不需要划分的情况下,待处理任务涉及指定节点是指需要将处理待处理任务结束后得到的数据发送至指定的电子设备。
一种实施方式中,用户使用任一电子设备请求读取数据,主节点从各个从节点收集数据并将收集后的数据整合为一份完整数据发送至该电子设备,此时指定节点为用户当前使用的电子设备。
一种实施方式中,用户使用任一分布式节点请求将数据存储到指定节点,主节点从各个从节点收集数据并将收集后的数据整合为一份完整数据发送至该指定节点。
可以理解的是,在待处理任务涉及指定节点的情况下,主节点得到一个待处理子任务。
或;
步骤5043、在待处理任务不涉及指定节点的情况下,主节点基于N-1个从节点的CPU空闲状态和存储空间确定P个可用节点,将完整数据复制P-1次得到P个待处理子任务,并将P个待处理子任务保存至第二队列,为每个待分配任务生成任务处理表。
其中,P为正整数,且1≤P≤N-1。
需要说明的是,在待处理任务不需要划分的情况下,待处理任务不涉及指定节点是指将处理待处理任务结束后得到的数据存储在任意至少一台电子设备中。
需要说明的是,主节点基于N-1个从节点的CPU空闲状态和存储空间确定P个可用节点是指主节点在一个从节点的CPU空闲的情况下,确定该从节点是可申请节点,在该可申请节点的存储空间大于完整数据的数据大小的情况下,确定该从节点为可用节点,由此从N-1个从节点中确定P个可用节点;在该从节点CPU处于使用状态的情况下,该从节点为不可用节点。
可以理解的是,在待处理任务不涉及指定节点的情况下,主节点得到至少一个待处理子任务。
步骤505、基于所述任务处理表,所述主节点从所述第二队列中取出所述待处理任务对应的P个第一待处理子任务,并将所述P个第一待处理子任务分配至所述P个可用节点,以供所述P个可用节点处理各自分配到的第一待处理子任务。
其中,所述主节点分配所述P个第一待处理子任务的分配方式包括定时分配或触发式分配。
需要说明的是,本申请实施例提供的主节点,根据应用场景信息和应用模式,自动确定是否需要主节点进行计算操作,在待处理任务不需要划分且待处理任务需要整合数据的情况下,主节点主动进行计算操作,从分布式节点中收集数据并整合数据,从节点不进行计算操作。
本实施例中,通过应用场景信息和分布式模式信息,主节点判断待处理任务是否需要收集数据,或者是否需要将待处理任务对应的待处理子任务分配至用户指定的节点,能够自动复制出多份完整数据,不仅为用户提供了个性化选择,还使得用户不必手动备份数据,同时加速了任务处理速度,进而提高了任务处理效率。
可选地,所述主节点基于所述应用场景信息和所述分布式模式信息,确定所述待处理任务是否需要划分之后,所述方法还包括:
在不需要从N个节点收集数据的情况下,所述主节点根据所述待处理任务中涉及的数据,确定M个可用节点,得到一个第二待处理子任务,将所述第二待处理子任务保存至第二队列,并为所述第二待处理子任务生成任务处理表;
基于所述任务处理表,所述主节点从所述第二队列中取出所述第二待处理子任务并将所述第二待处理子任务分配至所述M个可用节点中的目标可用节点,以供所述目标可用节点处理所述第二待处理子任务;
其中,M为正整数,且1≤M≤N-1,所述主节点分配所述第二待处理子任务的分配方式包括定时分配或触发式分配。
需要理解的是,主节点根据待处理任务中涉及的数据,确定M个可用节点是指主节点首先根据每个从节点的CPU空闲状态确定该从节点是否为可申请节点,在该从节点CPU处于空闲状态的情况下,当该从节点的存储空间大于待处理任务涉及的数据大小时,该从节点为可用节点,由此确定M个可用节点;在该从节点CPU处于使用状态的情况下,该从节点为不可用的节点。
需要说明的是,在待处理任务不需要划分且待处理任务不需要收集数据的情况下,主节点根据待处理任务涉及的数据得到一个待分配任务,将待分配任务保存在第二队列,等待主节点将其分配至M个可用节点其中任一节点。
本实施例中,通过应用场景信息和分布式模式信息,主节点在待处理任务不需要收集数据的情况下,将待处理任务涉及的数据作为一个待处理子任务,从分布式集群中自动为该待处理子任务选择至少一个可用节点,以供可用节点处理该待处理子任务,进而提高了任务处理效率。
可选地,主节点分配待处理子任务的分配方式包括定时分配或触发式分配。
其中,定时分配包括:
所述主节点根据预设时间定时查询任一待处理子任务的任务处理表,得到查询结果;
基于所述查询结果,所述主节点从所述第二队列中分配所述待处理子任务至一个可用节点,为所述待处理子任务生成任务分配表;
所述可用节点基于所述应用场景信息处理所述待处理子任务。
可以理解,主节点每隔预设时间查询任一待处理子任务的任务处理表,将查询结果为未分配的待处理子任务随机分配至一个可用节点,并为该待处理子任务生成一张任务分配表,直至待处理任务对应的所有待处理子任务分配结束。
需要理解的是,由于每个可用节点的存储空间是大于处理待处理子任务后得到的数据大小,所以每个待处理子任务可以随机分配至任意一个可用节点。
需要说明的是,预设时间可以根据实际需要自定义;例如:设置预设时间为1s。
需要说明的是,可用节点基于应用场景信息处理待分配任务包括以下其中之一:
在应用场景信息是外界网络数据交互场景的情况下,可用节点计算待处理子任务;
在应用场景信息是用户与应用程序交互的缓存场景的情况下,可用节点计算待处理子任务;
在应用场景信息是数据防丢失、防损坏场景的情况下,可用节点接收待处理子任务涉及的数据。
在应用场景信息是数据分布式存储场景的情况下,可用节点接收待处理子任务涉及的数据。
一种实施例方式中,在应用场景信息是外界网络数据交互场景的情况下,可用节点计算待处理子任务。
一种实施例方式中,在应用场景信息是用户与应用程序交互的缓存场景的情况下,可用节点计算待处理子任务。
一种实施例方式中,在应用场景信息是数据防丢失、防损坏场景的情况下,可用节点接收待处理子任务涉及的数据。
一种实施例方式中,在应用场景信息是数据分布式存储场景的情况下,可用的节点接收待处理子任务涉及的数据。
需要说明的是,主节点向从节点分配待处理子任务后,监控每个从节点的任务处理情况,每个从节点在处理任务过程中,实时与主节点保持通信,将子任务处理情况反馈给主节点
可以理解的是,由多个电子设备共同处理一个任务,能够充分利用空闲电子设备的硬件资源,可以加速特定任务的运行情况,也可以利用闲置电子设备的存储,进而达到分布式资源利用的效果。例如可以应用于文件下载,数据存储,区块链或影音播放等。
需要说明的是,可用节点计算待处理子任务完成后,对资源进行释放。例如:释放CPU资源。
需要说明的是,任务分配表包括以下字段:待处理任务id字段、待处理子任务id字段、模式id字段、场景id字段、操作的步骤列表字段、可用的节点 id字段、是否已经分配字段和分配的节点id字段。
表2任务分配表的字段及对应的字段含义
字段名 字段含义
job_id 待处理任务id
task_id 待处理子任务id
model_id 模式id
use_case_id 场景id
actions 操作的步骤列表
available_word_id 可用节点id
is_distribut 是否已经分配
distribut_id 分配的节点id
任务分配表相较于任务处理表而言,增加了分配的节点id的字段。在任务分配表中,操作的步骤列表用于记录对待处理任务进行处理得到对应的待处理子任务,并将子任务分配至可用节点中的其中一个节点的步骤;分配的节点id 表示将某个子任务分配至其中一个可用节点,该可用节点的id。
本实施例中,通过设置预设时间,由主节点主动根据预设时间和任务处理表,分配待处理子任务至可用节点,可用节点根据待处理任务的应用场景信息处理待处理子任务,使得任务处理与应用场景信息相结合,进而实现在电子设备上分布式处理同一任务。
其中,触发式分配包括:
所述主节点在待处理子任务保存至所述第二队列后,根据待处理子任务在所述第二队列中的存储顺序,基于任务处理表分配待处理子任务至可用节点,为每个待处理子任务生成任务分配表;
每个可用节点基于所述应用场景信息处理每个待处理子任务。
可以理解,主节点在待处理任务对应的所有待处理子任务保存至所述第二队列后主动触发任务分配,根据队列“先进先出”的原则顺序分配待处理子任务,基于任务处理表将每个待处理子任务随机分配至一个可用节点,并为每个待处理子任务生成一张任务分配表。
本实施例中,通过所述主节点在待处理子任务保存至所述第二队列后,根据任务处理表顺序分配每个待处理子任务至可用节点,可用节点根据待处理任务的应用场景信息处理处理子任务,使得任务处理与应用场景信息相结合,进而实现在电子设备上分布式处理同一任务。
本申请实施例提供的任务处理方法,执行主体可以为任务处理装置。本申请实施例中以任务处理装置执行任务处理方法为例,说明本申请实施例提供的任务处理装置。
图6为本申请实施例提供的任务处理装置的结构示意图,如图6所示,该装置包括:
请求接收模块601,用于使电子设备接收用户的第一请求信息;;
第一获取模块602,用于使所述电子设备响应于所述第一请求信息,获取待处理任务,其中,所述电子设备为已构建的分布式集群中的一个节点,所述分布式集群为基于多台电子设备构建的分布式系统;
第二获取模块603,用于使所述分布式集群的主节点获取所述待处理任务的应用场景信息和分布式模式信息;
任务处理模块604,用于使所述主节点基于所述应用场景信息和所述分布式模式信息,处理所述待处理任务。
可选地,所述装置还包括:
集群构建模块,用于构建所述分布式集群,包括:
节点确定子单元,用于在满足第一预设条件的N台电子设备中确定1个主节点和N-1个从节点,其中,N为正整数,且N≥2,所述第一预设条件包括以下至少一项:所述N台电子设备处于同一个网络环境中,所述N台电子设备采用相同的操作系统和所述N台电子设备之间采用tcp连接方式;
集群构建子单元,用于基于所述1个主节点和所述N-1个从节点构建所述电子设备分布式集群。
可选地,所述已构建的电子设备分布式集群的主节点获取所述待处理任务的应用场景信息和分布式模式信息,包括:
在所述分布式节点为所述已构建的电子设备分布式集群的从节点的情况下,所述分布式节点将所述待处理任务发送至所述主节点,所述主节点接收所述待处理任务并保存所述待处理任务至第一队列;或,在所述分布式节点为所述已构建的电子设备分布式集群的主节点的情况下,所述主节点保存所述待处理任务至第一队列;
在所述待处理任务为所述第一队列的队头元素的情况下,所述主节点获取待处理任务的应用场景信息和分布式模式信息。
可选地,所述主节点基于所述应用场景信息和所述分布式模式信息,处理所述待处理任务,包括:
所述主节点基于所述应用场景信息和所述分布式模式信息,确定所述待处理任务是否需要划分;
在所述待处理任务需要划分的情况下,所述主节点将所述待处理任务划分为多个待处理子任务,并将所述多个待处理子任务分配到所述分布式集群的从节点;
在所述待处理任务不需要划分的情况下,所述主节点确定能够执行所述待处理任务的可用节点,并将所述待处理任务分配至所述可用节点。
可选地,所述在所述待处理任务需要划分的情况下,所述主节点将所述待处理任务划分为多个待处理子任务,并将所述多个待处理子任务分配到所述分布式集群的从节点,包括:
在所述待处理任务需要划分的情况下,所述主节点基于所述N-1个从节点的CPU空闲状态和第一约束条件确定P个可用节点,其中,所述第一约束条件为使P值最大的约束条件;
所述主节点将所述待处理任务划分为P个待处理子任务,并将所述P个待处理子任务保存至第二队列,并为每个待处理子任务生成任务处理表;
基于所述任务处理表,所述主节点从所述第二队列中取出所述P个待处理子任务并将所述P个待处理子任务分配至所述P个可用节点,以供所述P个可用节点处理各自分配到的待处理子任务;
其中,P为正整数,且1≤P≤N-1,所述主节点分配所述P个待处理子任务的分配方式包括定时分配或触发式分配。
可选地,所述在所述待处理任务不需要划分的情况下,所述主节点确定能够执行所述待处理任务的可用节点,并将所述待处理任务分配至所述可用节点,包括:
在所述待处理任务不需要划分的情况下,所述主节点根据所述待处理任务确定是否需要从N个节点收集数据;
在需要从N个节点收集数据的情况下,所述主节点从所述N个节点收集数据并将收集后的数据整合为完整数据;
所述主节点判断所述待处理任务是否涉及指定节点,并得到判断结果;
所述主节点根据所述判断结果和所述完整数据,确定P个可用节点,得到 P个第一待处理子任务,将所述P个第一待处理任务保存至第二队列,并为每个所述第一待处理子任务生成任务处理表;
基于所述任务处理表,所述主节点从所述第二队列中取出所述待处理任务对应的P个第一待处理子任务,并将所述P个第一待处理子任务分配至所述P 个可用节点,以供所述P个可用节点处理各自分配到的第一待处理子任务;
其中,P为正整数,且1≤P≤N-1,所述主节点分配所述P个第一待处理子任务的分配方式包括定时分配或触发式分配。
可选地,所述主节点基于所述应用场景信息和所述分布式模式信息,确定所述待处理任务是否需要划分之后,所述方法还包括:
在所述待处理任务不需要划分的情况下,所述主节点根据所述待处理任务确定是否需要从N个节点收集数据;
在不需要从N个节点收集数据的情况下,所述主节点根据所述待处理任务中涉及的数据,确定M个可用节点,得到一个第二待处理子任务,将所述第二待处理子任务保存至第二队列,并为所述第二待处理子任务生成任务处理表;
基于所述任务处理表,所述主节点从所述第二队列中取出所述第二待处理子任务并将所述第二待处理子任务分配至所述M个可用节点中的目标可用节点,以供所述目标可用节点处理所述第二待处理子任务;
其中,M为正整数,且1≤M≤N-1,所述主节点分配所述第二待处理子任务的分配方式包括定时分配或触发式分配。
本申请实施例中的任务处理装置可以是电子设备,也可以是电子设备中的部件,例如集成电路或芯片。该电子设备可以是终端,也可以为除终端之外的其他设备。示例性的,电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、移动上网装置(Mobile Internet Device,MID)、增强现实 (augmented reality,AR)/虚拟现实(virtualreality,VR)设备、机器人、可穿戴设备、超级移动个人计算机(ultra-mobile personalcomputer,UMPC)、上网本或者个人数字助理(personal digital assistant,PDA)等,还可以为服务器、网络附属存储器(Network Attached Storage,NAS)、个人计算机(personalcomputer, PC)、电视机(television,TV)、柜员机或者自助机等,本申请实施例不作具体限定。
本申请实施例提供的任务处理装置能够实现图1至图5的方法实施例中任务处理方法实现的各个过程,为避免重复,这里不再赘述。
本申请实施例提供的任务处理装置,通过电子设备分布式集群的分布式节点接收用户请求,获取待处理任务,电子设备分布式集群的主节点获取待处理任务的应用场景信息和分布式模式信息,并基于所述应用场景信息和所述分布式模式信息,处理所述待处理任务。实现了多台电子设备分布式利用的功能,使得多台电子设备之间资源调度,存储共享,共同处理一个任务,提高了闲置电子设备的资源利用率,也提升了任务处理效率。
可选地,如图7所示,本申请实施例还提供一种电子设备700,包括处理器701,存储器702,存储在存储器702上并可在所述处理器701上运行的程序或指令,该程序或指令被处理器701执行时实现上述任务处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
需要注意的是,本申请实施例中的电子设备包括上述所述的移动电子设备和非移动电子设备。
图8为实现本申请实施例的一种电子设备的硬件结构示意图。
该电子设备800包括但不限于:射频单元801、网络模块802、音频输出单元803、输入单元804、传感器805、显示单元806、用户输入单元807、接口单元808、存储器809以及处理器810等部件。
本领域技术人员可以理解,电子设备800还可以包括给各个部件供电的电源(比如电池),电源可以通过电源管理系统与处理器810逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。图8中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,在此不再赘述。
其中,用户输入单元807,用于使电子设备接收用户的第一请求信息;
处理器810,用于使所述电子设备响应于所述第一请求信息,获取待处理任务,其中,所述电子设备为已构建的分布式集群中的一个节点,所述分布式集群为基于多台电子设备构建的分布式系统;
处理器810,还用于使所述分布式集群的主节点获取所述待处理任务的应用场景信息和分布式模式信息;
处理器810,还用于使所述主节点基于所述应用场景信息和所述分布式模式信息,处理所述待处理任务。
根据本申请实施例提供的电子设备,通过分布式集群的电子设备接收用户请求,获取待处理任务,分布式集群的主节点获取待处理任务的应用场景信息和分布式模式信息,并基于所述应用场景信息和所述分布式模式信息,处理所述待处理任务,充分利用闲置的电子设备,实现了多台电子设备分布式利用的功能,使得多台电子设备共同处理一个任务,提高了闲置电子设备的资源利用率,也提升了任务处理效率。
可选地,处理器810,还用于构建所述分布式集群,
所述构建所述分布式集群包括:
在满足第一预设条件的N台电子设备中确定1个主节点和N-1个从节点,其中,N为正整数,且N≥2,所述第一预设条件包括以下至少一项:所述N 台电子设备处于同一个网络环境中,所述N台电子设备采用相同的操作系统和所述N台电子设备之间采用tcp连接方式;
基于所述1个主节点和所述N-1个从节点构建所述电子设备分布式集群。
可选地,处理器810,还用于在所述分布式节点为所述已构建的电子设备分布式集群的从节点的情况下,所述分布式节点将所述待处理任务发送至所述主节点,所述主节点接收所述待处理任务并保存所述待处理任务至第一队列;或,在所述分布式节点为所述已构建的电子设备分布式集群的主节点的情况下,所述主节点保存所述待处理任务至第一队列;
在所述待处理任务为所述第一队列的队头元素的情况下,所述主节点获取待处理任务的应用场景信息和分布式模式信息。
可选地,处理器810,还用于使所述主节点基于所述应用场景信息和所述分布式模式信息,确定所述待处理任务是否需要划分;
在所述待处理任务需要划分的情况下,所述主节点将所述待处理任务划分为多个待处理子任务,并将所述多个待处理子任务分配到所述分布式集群的从节点;
在所述待处理任务不需要划分的情况下,所述主节点确定能够执行所述待处理任务的可用节点,并将所述待处理任务分配至所述可用节点。
可选地,处理器810,还用于在所述待处理任务需要划分的情况下,使所述主节点基于所述N-1个从节点的CPU空闲状态和第一约束条件确定P个可用节点,其中,所述第一约束条件为使P值最大的约束条件;
所述主节点将所述待处理任务划分为P个待处理子任务,并将所述P个待处理子任务保存至第二队列,并为每个待处理子任务生成任务处理表;
基于所述任务处理表,所述主节点从所述第二队列中取出所述P个待处理子任务并将所述P个待处理子任务分配至所述P个可用节点,以供所述P个可用节点处理各自分配到的待处理子任务;
其中,P为正整数,且1≤P≤N-1,所述主节点分配所述P个待处理子任务的分配方式包括定时分配或触发式分配。
可选地,处理器810,还用于在所述待处理任务不需要划分的情况下,使所述主节点根据所述待处理任务确定是否需要从N个节点收集数据;
在需要从N个节点收集数据的情况下,所述主节点从所述N个节点收集数据并将收集后的数据整合为完整数据;
所述主节点判断所述待处理任务是否涉及指定节点,并得到判断结果;
所述主节点根据所述判断结果和所述完整数据,确定P个可用节点,得到 P个第一待处理子任务,将所述P个第一待处理任务保存至第二队列,并为每个所述第一待处理子任务生成任务处理表;
基于所述任务处理表,所述主节点从所述第二队列中取出所述待处理任务对应的P个第一待处理子任务,并将所述P个第一待处理子任务分配至所述P 个可用节点,以供所述P个可用节点处理各自分配到的第一待处理子任务;
其中,P为正整数,且1≤P≤N-1,所述主节点分配所述P个第一待处理子任务的分配方式包括定时分配或触发式分配。
可选地,处理器810,还用于在所述待处理任务不需要划分的情况下,使所述主节点根据所述待处理任务确定是否需要从N个节点收集数据;
在不需要从N个节点收集数据的情况下,所述主节点根据所述待处理任务中涉及的数据,确定M个可用节点,得到一个第二待处理子任务,将所述第二待处理子任务保存至第二队列,并为所述第二待处理子任务生成任务处理表;
基于所述任务处理表,所述主节点从所述第二队列中取出所述第二待处理子任务并将所述第二待处理子任务分配至所述M个可用节点中的目标可用节点,以供所述目标可用节点处理所述第二待处理子任务;
其中,M为正整数,且1≤M≤N-1,所述主节点分配所述第二待处理子任务的分配方式包括定时分配或触发式分配
应理解的是,本申请实施例中,输入单元804可以包括图形处理器 (GraphicsProcessing Unit,GPU)8041和麦克风8042,图形处理器8041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。显示单元806可包括显示面板8061,可以采用液晶显示器、有机发光二极管等形式来配置显示面板8061。用户输入单元807 包括触控面板8071以及其他输入设备8072中的至少一种。触控面板8071,也称为触摸屏。触控面板8071可包括触摸检测装置和触摸控制器两个部分。其他输入设备8072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
存储器809可用于存储软件程序以及各种数据。存储器809可主要包括存储程序或指令的第一存储区和存储数据的第二存储区,其中,第一存储区可存储操作系统、至少一个功能所需的应用程序或指令(比如声音播放功能、图像播放功能等)等。此外,存储器809可以包括易失性存储器或非易失性存储器,或者,存储器809可以包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器 (Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM, DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synch link DRAM,SLDRAM)和直接内存总线随机存取存储器 (Direct Rambus RAM,DRRAM)。本申请实施例中的存储器809包括但不限于这些和任意其它适合类型的存储器。
处理器810可包括一个或多个处理单元;可选的,处理器810集成应用处理器和调制解调处理器,其中,应用处理器主要处理涉及操作系统、用户界面和应用程序等的操作,调制解调处理器主要处理无线通信信号,如基带处理器。可以理解的是,上述调制解调处理器也可以不集成到处理器810中。
本申请实施例还提供一种可读存储介质,所述可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述任务处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
其中,所述处理器为上述实施例中所述的电子设备中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器ROM、随机存取存储器RAM、磁碟或者光盘等。
本申请实施例另提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现上述任务处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
应理解,本申请实施例提到的芯片还可以称为系统级芯片、系统芯片、芯片系统或片上系统芯片等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本申请实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘) 中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。

Claims (12)

1.一种任务处理方法,其特征在于,包括:
电子设备接收用户的第一请求信息;
所述电子设备响应于所述第一请求信息,获取待处理任务,其中,所述电子设备为已构建的分布式集群中的一个节点,所述分布式集群为基于多台电子设备构建的分布式系统;
所述分布式集群的主节点获取所述待处理任务的应用场景信息和分布式模式信息;
所述主节点基于所述应用场景信息和所述分布式模式信息,处理所述待处理任务。
2.根据权利要求1所述的任务处理方法,其特征在于,所述方法还包括构建所述分布式集群,
所述构建所述分布式集群包括:
在满足第一预设条件的N台电子设备中确定1个主节点和N-1个从节点,其中,N为正整数,且N≥2,所述第一预设条件包括以下至少一项:所述N台电子设备处于同一个网络环境中,所述N台电子设备采用相同的操作系统和所述N台电子设备之间采用tcp连接方式;
基于所述1个主节点和所述N-1个从节点构建所述电子设备分布式集群。
3.根据权利要求1所述的任务处理方法,其特征在于,所述分布式集群的主节点获取所述待处理任务的应用场景信息和分布式模式信息,包括:
在所述电子设备为所述已构建的分布式集群的从节点的情况下,所述分布式节点将所述待处理任务发送至所述主节点,所述主节点接收所述待处理任务并保存所述待处理任务至第一队列;或,在所述电子设备为所述已构建的分布式集群的主节点的情况下,所述主节点保存所述待处理任务至第一队列;
在所述待处理任务为所述第一队列的队头元素的情况下,所述主节点获取待处理任务的应用场景信息和分布式模式信息。
4.根据权利要求1所述的任务处理方法,其特征在于,所述主节点基于所述应用场景信息和所述分布式模式信息,处理所述待处理任务,包括:
所述主节点基于所述应用场景信息和所述分布式模式信息,确定所述待处理任务是否需要划分;
在所述待处理任务需要划分的情况下,所述主节点将所述待处理任务划分为多个待处理子任务,并将所述多个待处理子任务分配到所述分布式集群的从节点;
在所述待处理任务不需要划分的情况下,所述主节点确定能够执行所述待处理任务的可用节点,并将所述待处理任务分配至所述可用节点。
5.根据权利要求4所述的任务处理方法,其特征在于,所述在所述待处理任务需要划分的情况下,所述主节点将所述待处理任务划分为多个待处理子任务,并将所述多个待处理子任务分配到所述分布式集群的从节点,包括:
在所述待处理任务需要划分的情况下,所述主节点基于所述N-1个从节点的CPU空闲状态和第一约束条件确定P个可用节点,其中,所述第一约束条件为使P值最大的约束条件;
所述主节点将所述待处理任务划分为P个待处理子任务,并将所述P个待处理子任务保存至第二队列,并为每个待处理子任务生成任务处理表;
基于所述任务处理表,所述主节点从所述第二队列中取出所述P个待处理子任务并将所述P个待处理子任务分配至所述P个可用节点,以供所述P个可用节点处理各自分配到的待处理子任务;
其中,P为正整数,且1≤P≤N-1,所述主节点分配所述P个待处理子任务的分配方式包括定时分配或触发式分配。
6.根据权利要求4述的任务处理方法,其特征在于,所述在所述待处理任务不需要划分的情况下,所述主节点确定能够执行所述待处理任务的可用节点,并将所述待处理任务分配至所述可用节点,包括:
在所述待处理任务不需要划分的情况下,所述主节点根据所述待处理任务确定是否需要从N个节点收集数据;
在需要从N个节点收集数据的情况下,所述主节点从所述N个节点收集数据并将收集后的数据整合为完整数据;
所述主节点判断所述待处理任务是否涉及指定节点,并得到判断结果;
所述主节点根据所述判断结果和所述完整数据,确定P个可用节点,得到P个第一待处理子任务,将所述P个第一待处理任务保存至第二队列,并为每个所述第一待处理子任务生成任务处理表;
基于所述任务处理表,所述主节点从所述第二队列中取出所述待处理任务对应的P个第一待处理子任务,并将所述P个第一待处理子任务分配至所述P个可用节点,以供所述P个可用节点处理各自分配到的第一待处理子任务;
其中,P为正整数,且1≤P≤N-1,所述主节点分配所述P个第一待处理子任务的分配方式包括定时分配或触发式分配。
7.一种任务处理装置,其特征在于,包括:
请求接收模块,用于使电子设备接收用户的第一请求信息;
第一获取模块,用于使所述电子设备响应于所述第一请求信息,获取待处理任务,其中,所述电子设备为已构建的分布式集群中的一个节点,所述分布式集群为基于多台电子设备构建的分布式系统;
第二获取模块,用于使所述分布式集群的主节点获取所述待处理任务的应用场景信息和分布式模式信息;
任务处理模块,用于使所述主节点基于所述应用场景信息和所述分布式模式信息,处理所述待处理任务。
8.根据权利要求7所述的任务处理装置,其特征在于,所述装置还包括集群构建模块,用于构建所述分布式集群,
所述构建所述分布式集群包括:
在满足第一预设条件的N台电子设备中确定1个主节点和N-1个从节点,其中,N为正整数,且N≥2,所述第一预设条件包括以下至少一项:所述N台电子设备处于同一个网络环境中,所述N台电子设备采用相同的操作系统和所述N台电子设备之间采用tcp连接方式;
基于所述1个主节点和所述N-1个从节点构建所述电子设备分布式集群。
9.根据权利要求7所述的任务处理装置,其特征在于,所述分布式集群的主节点获取所述待处理任务的应用场景信息和分布式模式信息,包括:
在所述电子设备为所述已构建的分布式集群的从节点的情况下,所述分布式节点将所述待处理任务发送至所述主节点,所述主节点接收所述待处理任务并保存所述待处理任务至第一队列;或,在所述电子设备为所述已构建的分布式集群的主节点的情况下,所述主节点保存所述待处理任务至第一队列;
在所述待处理任务为所述第一队列的队头元素的情况下,所述主节点获取待处理任务的应用场景信息和分布式模式信息。
10.根据权利要求7所述的任务处理装置,其特征在于,所述主节点基于所述应用场景信息和所述分布式模式信息,处理所述待处理任务,包括:
所述主节点基于所述应用场景信息和所述分布式模式信息,确定所述待处理任务是否需要划分;
在所述待处理任务需要划分的情况下,所述主节点将所述待处理任务划分为多个待处理子任务,并将所述多个待处理子任务分配到所述分布式集群的从节点;
在所述待处理任务不需要划分的情况下,所述主节点确定能够执行所述待处理任务的可用节点,并将所述待处理任务分配至所述可用节点。
11.根据权利要求10所述的任务处理装置,其特征在于,所述在所述待处理任务需要划分的情况下,所述主节点将所述待处理任务划分为多个待处理子任务,并将所述多个待处理子任务分配到所述分布式集群的从节点,包括:
在所述待处理任务需要划分的情况下,所述主节点基于所述N-1个从节点的CPU空闲状态和第一约束条件确定P个可用节点,其中,所述第一约束条件为使P值最大的约束条件;
所述主节点将所述待处理任务划分为P个待处理子任务,并将所述P个待处理子任务保存至第二队列,并为每个待处理子任务生成任务处理表;
基于所述任务处理表,所述主节点从所述第二队列中取出所述P个待处理子任务并将所述P个待处理子任务分配至所述P个可用节点,以供所述P个可用节点处理各自分配到的待处理子任务;
其中,P为正整数,且1≤P≤N-1,所述主节点分配所述P个待处理子任务的分配方式包括定时分配或触发式分配。
12.根据权利要求10所述的任务处理装置,其特征在于,所述在所述待处理任务不需要划分的情况下,所述主节点确定能够执行所述待处理任务的可用节点,并将所述待处理任务分配至所述可用节点,包括:
在所述待处理任务不需要划分的情况下,所述主节点根据所述待处理任务确定是否需要从N个节点收集数据;
在需要从N个节点收集数据的情况下,所述主节点从所述N个节点收集数据并将收集后的数据整合为完整数据;
所述主节点判断所述待处理任务是否涉及指定节点,并得到判断结果;
所述主节点根据所述判断结果和所述完整数据,确定P个可用节点,得到P个第一待处理子任务,将所述P个第一待处理任务保存至第二队列,并为每个所述第一待处理子任务生成任务处理表;
基于所述任务处理表,所述主节点从所述第二队列中取出所述待处理任务对应的P个第一待处理子任务,并将所述P个第一待处理子任务分配至所述P个可用节点,以供所述P个可用节点处理各自分配到的第一待处理子任务;
其中,P为正整数,且1≤P≤N-1,所述主节点分配所述P个第一待处理子任务的分配方式包括定时分配或触发式分配。
CN202210135580.XA 2022-02-14 2022-02-14 任务处理方法及装置 Pending CN114528104A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210135580.XA CN114528104A (zh) 2022-02-14 2022-02-14 任务处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210135580.XA CN114528104A (zh) 2022-02-14 2022-02-14 任务处理方法及装置

Publications (1)

Publication Number Publication Date
CN114528104A true CN114528104A (zh) 2022-05-24

Family

ID=81623141

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210135580.XA Pending CN114528104A (zh) 2022-02-14 2022-02-14 任务处理方法及装置

Country Status (1)

Country Link
CN (1) CN114528104A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116149827A (zh) * 2023-04-04 2023-05-23 云粒智慧科技有限公司 分布式任务调度系统和分布式任务调度执行系统
CN116170501A (zh) * 2023-04-21 2023-05-26 广东中思拓大数据研究院有限公司 网络任务的处理方法、装置、服务器和存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116149827A (zh) * 2023-04-04 2023-05-23 云粒智慧科技有限公司 分布式任务调度系统和分布式任务调度执行系统
CN116170501A (zh) * 2023-04-21 2023-05-26 广东中思拓大数据研究院有限公司 网络任务的处理方法、装置、服务器和存储介质
CN116170501B (zh) * 2023-04-21 2023-07-11 广东中思拓大数据研究院有限公司 网络任务的处理方法、装置、服务器和存储介质

Similar Documents

Publication Publication Date Title
US9665404B2 (en) Optimization of map-reduce shuffle performance through shuffler I/O pipeline actions and planning
CN104618693B (zh) 一种基于云计算的监控视频在线处理任务管理方法及系统
US8671134B2 (en) Method and system for data distribution in high performance computing cluster
US8739169B2 (en) Method for monitoring operating experiences of images to improve workload optimization in cloud computing environments
CN107025139A (zh) 一种基于云计算的高性能计算调度框架
CN114528104A (zh) 任务处理方法及装置
US20130104135A1 (en) Data center operation
CN107515784B (zh) 一种在分布式系统中计算资源的方法与设备
CN108900626B (zh) 一种云环境下数据存储方法、装置及系统
US9104501B2 (en) Preparing parallel tasks to use a synchronization register
CN113419846B (zh) 资源配置方法和装置、电子设备及计算机可读存储介质
CN106302640A (zh) 数据请求处理方法及装置
Jonathan et al. Awan: Locality-aware resource manager for geo-distributed data-intensive applications
CN112328448A (zh) 基于Zookeeper的监控方法、监控装置、设备及存储介质
CN106657182B (zh) 云端文件处理方法和装置
CN111479095B (zh) 一种业务处理控制系统、方法及装置
US20190215363A1 (en) Dynamic pool-based tiering for synchronization storage
CN111078516A (zh) 分布式性能测试方法、装置、电子设备
US20220300323A1 (en) Job Scheduling Method and Job Scheduling Apparatus
CN115391030A (zh) 控制方法及装置、计算机设备及存储介质
CN202872848U (zh) 一种基于云信息云计算服务的云存储终端设备
CN116069493A (zh) 一种数据处理方法、装置、设备以及可读存储介质
CN106257447A (zh) 云存储服务器的视频存储及检索方法、视频云存储系统
WO2018188607A1 (zh) 流处理方法及装置
CN111984393A (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