CN110728363B - 任务处理方法和装置 - Google Patents

任务处理方法和装置 Download PDF

Info

Publication number
CN110728363B
CN110728363B CN201810722181.7A CN201810722181A CN110728363B CN 110728363 B CN110728363 B CN 110728363B CN 201810722181 A CN201810722181 A CN 201810722181A CN 110728363 B CN110728363 B CN 110728363B
Authority
CN
China
Prior art keywords
task
area
executed
devices
computing resources
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
CN201810722181.7A
Other languages
English (en)
Other versions
CN110728363A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201810722181.7A priority Critical patent/CN110728363B/zh
Priority to EP19825972.3A priority patent/EP3800589A4/en
Priority to PCT/CN2019/085507 priority patent/WO2020001161A1/zh
Publication of CN110728363A publication Critical patent/CN110728363A/zh
Priority to US17/136,020 priority patent/US20210117231A1/en
Application granted granted Critical
Publication of CN110728363B publication Critical patent/CN110728363B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • G06F9/4862Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration the task being a mobile agent, i.e. specifically designed to migrate
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/503Resource availability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/509Offload

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Neurology (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本申请公开了任务处理方法和装置。方法包括:当第一设备确定本地可用计算资源小于待执行AI任务组所需的计算资源时,在第一区域的有效设备中选择至少一个第二设备;第一区域是以第一设备为中心,第一设备的有效通信距离为半径的区域,第一区域的有效设备是第一区域中的与第一设备连接的协同计算设备;第一设备向至少一个第二设备中的每个第二设备发送待执行AI任务组中的任务;若待执行AI任务组包括至少两个AI任务,则所发送的任务是至少两个AI任务中的部分AI任务;若待执行AI任务组包括一个AI任务,则所发送的任务是一个AI任务中的部分子任务;第一设备接收来自每个第二设备的所发送的任务的执行结果。

Description

任务处理方法和装置
技术领域
本申请涉及数据处理技术领域,尤其涉及任务处理方法和装置。
背景技术
随着人工智能(artificial intelligence,AI)应用场景的拓展、AI算法特别是深度学习算法的挖掘以及AI计算能力(或工艺)的发展,AI正逐步蔓延到生活的各个方面。
协同计算(collaboration computing)功能,区别于传统的由单一设备计算的功能,具体可以理解为是基于计算机网络技术、通讯技术、多媒体技术和群件技术等中的一项或多项技术构成的协同计算环境,使得多个设备(如不同地域的设备、不同类型的多个设备等)能够协调一致地为某项任务而共同工作的功能。
目前,执行AI任务所使用的协同计算方案是基于端云的AI协同计算方案。其中,端云可以理解为用户使用的终端设备和云数据中心相结合,利用云数据中心的强大处理能力,辅助终端设备进行数据分析和处理。云数据中心是一个计算功能强大的设备,或者多个设备构成的一个计算功能强大的设备集群。基于端云的AI协同计算方案的核心思想是AI任务的一部分在终端本地执行,另一部分在云端(即云数据中心)执行。这样,可以扩展终端呈现的计算能力。但是,由于由云端执行的这部分任务需要经过多重网络转发才能由终端到达云端,并且,这部分任务的执行结果也需要经过多重网络转发才能由云端反馈给终端,这会导致转发时延较大。
发明内容
本申请提供了任务处理方法和装置,用以减少转发时延,具体是减少任务转发时延以及任务的执行结果的转发时延。
第一方面,本申请提供了任务处理方法,该方法可以包括:当第一设备确定第一设备的可用计算资源小于AI任务组所需的计算资源时,在第一区域的有效设备中选择至少一个第二设备;然后,第一设备向至少一个第二设备中的每个第二设备发送待执行AI任务组中的任务,接着,第一设备接收来自每个第二设备的所发送的任务的执行结果。其中,第一区域是以第一设备为中心,第一设备的有效通信距离为半径的区域,第一区域的有效设备是第一区域中的与第一设备连接的协同计算设备。待执行AI任务组包括至少一个AI任务。若待执行AI任务组包括至少两个AI任务,则所发送的任务是至少两个AI任务中的部分AI任务;若待执行AI任务组包括一个AI任务,则所发送的任务是一个AI任务中的部分子任务。该技术方案中,由第一设备和至少一个第二设备协同执行AI任务组。由于第二设备在以第一设备为圆心,第一设备的有效通信距离为半径的区域内,因此,与现有技术中由第一设备和端云协同执行AI任务(或AI任务组)的技术方案相比,由第二设备执行的任务由第一设备到达第二设备,以及该任务的执行结果由第二设备到达第一设备的距离较近,因此,转发时延较小。
例如,第一设备的可用计算资源可以包括第一设备的空闲计算资源和/或第一设备协同执行其他设备触发的AI任务所使用的计算资源。
例如,第一设备的有效通信距离是指,使得第一设备接收到的信号的强度大于或等于预设强度时,发送信号的设备与第一设备之间的最大距离。
在一种可能的实现方式中,至少一个第二设备是第一区域的有效设备中的与第一设备之间的通信时延小于或等于预设时延的设备。或者,至少一个第二设备是第一序列中的第一预设位置的设备,第一序列是按照与第一设备之间的通信时延从小到大的顺序或者从大到小的顺序对第一区域的有效设备排列后得到的序列。由于第一设备的协同计算设备与第一设备之间的通信时延越小,被该协同计算设备执行的任务以及该任务的执行结果的转发时延越小,因此,该可能的实现方式能够进一步减小转发时延。
可替换地,至少一个第二设备是第一区域的有效设备中的在第一区域中的停留时长大于或等于预设时长的设备。或者,至少一个第二设备是第二序列中的第二预设位置的设备,第二序列是按照在第一区域中的停留时长从小到大的顺序或者从大到小的顺序对第一区域的有效设备排列后得到的序列。由于第一设备的协同计算设备在第一区域中的停留时长越大,可以认为该协同计算设备越可靠,因此,该可能的实现方式能够提高协同执行任务的可靠性。
在另一种可能的实现方式中,该方法还可以包括:根据第一设备的位置信息、第一设备与第一区域中的设备是否连接,以及第一区域中与第一设备连接的设备是否是协同计算设备中的至少一项,更新第一区域的有效设备。可见,第一区域的有效设备是可以更新的。
在另一种可能的实现方式中,该方法还可以包括:第一设备获取每个第二设备的空闲计算资源信息。例如,接收每个第二设备发送(如广播)的该第二设备的空闲计算资源信息。该情况下,第一设备向每个第二设备发送待执行AI任务组中的任务,可以包括:第一设备根据每个第二设备的空闲计算资源信息,向每个第二设备发送待执行AI任务组中的任务;其中,向每个第二设备中的任意一个第二设备发送的任务所需的计算资源小于或等于任意一个第二设备的空闲计算资源。这样,有助于实现发往第二设备的任务能够被第二设备执行,从而提高处理待执行AI任务组的效率。
在另一种可能的实现方式中,第一设备的可用计算资源包括第一设备执行其他设备的任务所使用的计算资源。该方法还可以包括:当第一设备确定第一设备的可用计算资源小于或等于待执行AI任务组所需的计算资源时,停止执行其他设备的AI任务组;停止执行其他设备的AI任务组所释放的计算资源用于执行至少一个AI任务组中除所发送的任务之外的其他任务。可见,本申请支持优先处理本地触发的AI任务的技术方案。
可选的,第一设备在本地执行的其他任务的实时性要求高于第二设备执行的任务的实时性要求,或第一设备在本地执行的其他任务的可靠性要求高于第二设备执行的任务的可靠性要求。这样,有助于提高待执行AI任务组整体的处理性能。关于任务的实时性要求和可靠性要求的相关说明可以参考下述具体实施部分。
可选的,第一设备在本地执行的其他任务的实时性要求高于第二设备执行的任务的实时性要求,且第一设备在本地执行的任务的可靠性要求高于第二设备执行的任务的可靠性要求。
第二方面,本申请提供了一种任务处理装置。该装置可以用于执行上述第一方面提供的任一种方法。该装置具体可以是第一设备。
在一种可能的实现方式中,可以根据上述第一方面提供的方法对该装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。
在另一种一种可能的实现方式中,该装置可以包括:存储器和处理器,存储器用于存储计算机程序,该计算机程序被处理器执行时,使得第一方面提供的任一方法被执行。
应注意,本申请描述的存储器和处理器可以集成在一块芯片上,也可以分别设置在不同的芯片上,本申请对存储器的类型以及存储器与处理器的设置方式不做限定。
本申请还提供了一种计算机可读存储介质,其上储存有计算机程序,当该计算机程序在计算机上运行时,使得计算机执行上述第一方面的任一种可能的方法。
本申请还提供了一种计算机程序产品,当其在计算机上运行时,使得第一方面的任一方法被执行。
可以理解地,上述提供的任一种任务处理装置或计算机可读存储介质或计算机程序产品等均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考对应的方法中的有益效果,此处不再赘述。
附图说明
图1为本发明实施例提供的一种任务处理方法的示意图;
图2为本发明实施例提供的一种通信设备的硬件结构示意图;
图3为本发明实施例提供的一种操作***的软件架构示意图;
图4为本发明实施例提供的技术方案的一种应用场景的示意图;
图5为本发明实施例提供的一种设备之间的连接方法的示意图;
图6为本发明实施例提供的一种确定协同计算设备的方法的示意图;
图7为本发明实施例提供的一种管理协同计算设备的空闲计算资源的方法的示意图;
图8为本发明实施例提供的一种任务处理方法的示意图;
图9为本发明实施例提供的一种第一设备的结构示意图。
具体实施方式
如图1所示,为本发明实施例提供的技术方案的一种应用场景的架构示意图。图1所示的应用场景包括第一设备101以及第一区域的有效设备102。其中,第一设备101是发起待执行AI任务组的设备。待执行AI任务组包括至少一个AI任务。AI任务是由第一设备101中安装的AI应用分发的,且需要通过AI计算软件及具有AI计算能力的硬件共同执行的任务。AI应用可以例如但不限于包括人脸识别应用、翻译应用、自动驾驶应用或语音识别应用等。第一区域是以第一设备101为中心,第一设备101的有效通信距离为半径的区域。第一设备101的有效通信距离是指,使得第一设备101接收到的信号的强度大于或等于预设强度时,发送该信号的设备与第一设备101之间的最大距离。第一区域的有效设备102是第一区域中的与第一设备101连接的协同计算设备。这里的“连接”可以是通过连接技术,尤其是近距离连接技术,如WIFI技术、蓝牙技术、局域网(local area network,LAN)技术或红外技术等,进行连接。协同计算设备是指开启了协同计算功能的设备。另外,第一设备101也是开启了协同计算功能的设备。
具有通信功能和协同计算功能的设备,若发起待执行AI任务组,则该设备即可作为第一设备101。其中,通信功能是指基于连接技术尤其是近距离连接技术进行通信的功能,如WIFI通信功能、蓝牙通信功能、LAN通信功能或红外通信功能等。第一区域内的具有上述通信功能和协同计算功能的设备均可能作为第一区域的有效设备102。例如,第一设备101和第一区域的有效设备102均可以包括智能手机、智能家电、路由器、可穿戴设备或车载设备等。
第一设备101的有效通信距离,可以与“第一设备101和第一设备101周围的设备连接所采用的连接技术”相关。例如,若该连接技术是WIFI技术,则第一区域具体可以是以第一设备101为圆心,WIFI技术的通信距离为半径的范围。例如,若该连接技术是蓝牙技术,则第一区域具体可以是以第一设备101为圆心,蓝牙技术的通信距离为半径的范围。另外,第一设备101的有效通信距离,还可以与第一设备101本身的配置(例如通信能力)相关。
需要说明的是,为了便于描述,本发明实施例中引入了“第一区域”和“第一设备101的有效通信距离”的概念,其中,第一设备101的有效通信距离用于表征第一区域的尺寸。不难理解,具体实现时,第一设备101可以不需要先获得第一区域的具***置、尺寸等,再确定哪些设备是第一区域的有效设备。而是,可以先确定第一区域内与第一设备101连接的设备,再通过确定与第一设备101连接的设备是否开启了协同计算功能,来确定与第一设备101连接的设备中哪些设备是第一区域的有效设备。也就是说,第一设备101可以不需要确定第一设备101的有效通信距离的具体取值。并且,可以认为与第一设备101连接的设备是第一区域内的设备,当然,第一区域内的设备还可以包括没有与第一设备101连接的设备。
图1中的各设备(包括第一设备101和第一区域的有效设备102)均可以通过图2中的通信设备200来实现。图2所示为本发明实施例提供的通信设备的硬件结构示意图。该通信设备200包括至少一个处理器201、通信线路202、存储器203以及通信接口204。通信接口204可以包括有线收发器或无线收发器。无线收发器可以包括通信芯片,通信芯片可以例如但不限于包括WIFI芯片、蓝牙芯片、LAN芯片、红外芯片等。其中,至少一个处理器201与通信芯片可以集成在一起,也可以是独立设置的。
处理器201可以是一个通用中央处理器(central processing unit,CPU),图形处理器(graphics processing unit,GPU)、神经网络处理器(neural network processingunit,NPU)、微处理器、特定应用集成电路(application-specific integrated circuit,ASIC)、或一个或多个用于控制本申请方案程序执行的集成电路。
通信线路202可以包括一通路,用于在上述组件(如处理器201、存储器203和通信接口204)之间传送信息。
存储器203可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器203可以是独立存在的,通过通信线路202与处理器201相连接。存储器203也可以和处理器202集成在一起。本发明实施例提供的存储器203通常可以具有非易失性。其中,存储器203用于存储执行本申请方案的计算机执行指令,并由处理器201来控制执行。处理器201用于执行存储器203中存储的计算机执行指令,从而实现本申请下述实施例提供的方法。
通信接口204,使用任何收发器一类的装置,用于与其他设备通信。例如,若通信设备200是上述第一设备101,则这里的其他设备可以是第一区域的有效设备102。若通信设备200是上述第一区域的有效设备102,则这里的其他设备另一是第一设备101。
可选的,本发明实施例中的计算机执行指令也可以称之为应用程序代码。
作为一个示例,处理器201可以包括一个或多个CPU(或GPU或NPU等)。作为一个示例,通信设备200可以包括多个处理器。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
上述通信设备200可以是一个通用设备或者是一个专用设备。在具体实现中,通信设备200可以是台式机、便携式电脑、网络服务器、掌上电脑(personal digitalassistant,PDA)、平板电脑、智能手机、智能家电、路由器、可穿戴设备、车载设备、无线终端设备、嵌入式设备或有图2中类似结构的设备。本发明实施例不限定通信设备200的类型。
示例的,上述存储器203可以存储操作***,该操作***可以结合图2所示的硬件架构实现本发明实施例提供的任务处理方法对应的功能。以下,说明所存储的操作***的软件架构。需要说明的是,本发明实施例以图3所示的操作***为例来说明通信设备200要实现本实施例提供的任务处理方法所需的软件环境,当然本发明实施例提供的任务处理方法也可以通过其它操作***来实现。
如图3所示,为一种可以运行在上述通信设备200中的操作***的软件架构示意图。该软件架构可以包括应用程序(Applications)层、应用程序框架(ApplicationFramework)层、函数库(Libraries)层以及内核(Kernel)层。具体的:
应用程序层,是操作***的最上一层,在本发明实施例中,应用程序层可以包括AI应用,例如人脸识别应用、自动驾驶应用、语音识别应用、翻译应用等。
应用程序框架层,主要是为开发者提供了可以访问应用程序所使用的各种应用程序编程接口(application programming interface,API),开发者可以通过应用程序框架来与操作***的底层(例如函数库层、内核层等)进行交互,开发自己的应用程序。该应用程序框架主要是操作***的一系列的服务和管理***。在本发明实施例中,应用程序框架层具体可以包括:AI协同计算框架层、AI计算框架层以及设备通信层。其中,AI协同计算框架层用于通过与AI计算框架层和/或设备通信层,以及操作***的底层)进行交互,实现AI任务分发、AI任务接收、AI空闲资源估计、协同计算设备管理等。AI计算框架层用于通过与设备通信层以及操作***的底层进行交互,实现AI计算,例如可以包括但不限于神经网络框架(如Caffe、TensorFlow),以及传统机器学习框架等。设备通信层用于通过与操作***的底层进行交互,实现与其他设备通信,如通过WIFI技术、蓝牙技术、LAN技术或红外技术等进行通信。
函数库层,是应用程序框架的支撑,是连接应用程序框架层与内核层的重要纽带。函数库能***作***中的不同的组件使用,它们通过应用程序框架层为开发者提供服务。具体地,函数库可以包括LIBC函数库、开放运算语言(open computing language,OPENCL)函数库、开放图形库(open graphics library,OPENGL)函数库、统一计算设备架构(compute unified device architecture,CUDA)函数库等。
内核层,用于提供操作***的核心***服务,如安全性、内存管理、进程管理等,另外网络协议栈和驱动模型等也基于该层。该层有许多与移动设备相关的驱动程序,例如GPU驱动、NPU驱动、WIFI驱动、蓝牙驱动、LAN驱动、红外驱动等。
以下所涉及的技术方案均可以在具有上述硬件架构(如图2所示)和软件架构(如图3所示)的通信设备中实现。
可以理解的,由于第一区域的有效设备102是第一区域内的与第一设备101连接的协同计算设备,因此,若第一设备101的位置改变,则第一区域会随之更新,这样第一区域的有效设备102可能随之更新。另外第一设备101与第一区域中的设备是否连接,以及第一区域中与第一设备101连接的设备是否是协同计算设备,均可能使第一区域的有效设备102更新。
以下,通过具体示例说明因第一区域更新使得第一区域的有效设备更新(例如参见图4),第一设备101确定与第一区域中的设备是否连接的方法(例如参见图5),以及第一区域中与第一设备101连接的设备是否是协同计算设备的方法(例如参见图6)。
如图4所示,为本发明实施例提供的技术方案的一种应用场景的示意图。图4包括设备1~5。若设备1~5均具有通信功能和协同计算功能,则设备1~5中的任意一个设备均可以作为第一设备101。以设备1为中心的虚线区域表示设备1的第一区域,以设备5为中心的虚线区域表示设备5的第一区域。当设备5在位置1时,设备5的第一区域内没有设备,因此,不存在设备5的第一区域的有效设备。该情况下,设备1的第一区域内的设备包括设备2~设备4,因此,设备2~4中的任意一个设备均可能作为设备1的第一区域的有效设备。当设备5移动到位置2时,设备5的第一区域随之更新,此时,设备5的第一区域中包含设备1和设备2,因此,设备1和设备2中的任意一个设备均可能作为设备5的第一区域的有效设备。该情况下,设备1的第一区域内的设备包括设备2~5,因此,设备2~5中的任意一个设备均可能作为设备1的第一区域的有效设备。可见,第一区域的有效设备会随着第一区域的更新而更新。
如图5所示,为本发明实施例提供的一种设备之间的连接方法的示意图。图5所示的实施例是基于图4为例进行说明的。图5所示的方法可以包括如下步骤:
S101:设备1搜索设备。例如,设备1通过连接技术(如WIFI技术、蓝牙技术等)发送(如周期性发送)信号,若接收到周围其他设备回复的信号,说明该其他设备在第一区域内,且开启了连接功能,则认为搜索到了该其他设备。其中,设备1是开启了连接功能的设备。基于图4所示的示例,若设备5在位置1,则执行S101之后,设备1可能搜索到设备2~4;若设备5在位置2,则执行S101之后,设备1可能搜索到设备2~5。以设备1搜索到设备5为例,设备1可以接着执行以下S102。
S102:设备1查看搜索到的设备5的信息(如设备5的标识信息)是否记录在设备1的设备连接表中。设备1的设备连接表是设备1为了对自身所连接的设备进行管理而维护(包括创建和/或更新)的一个表格,设备1的设备连接表用于记录设备1所连接的设备的标识信息等。当然也可以通过其他方式对自身所连接的设备进行管理,本申请对此不进行限定。
若设备5的信息已记录在设备1的设备连接表中,说明设备1与设备5已连接,则结束。
若设备5的信息没有记录在设备1的设备连接表中,说明设备1与设备5没有连接,则可以通过执行以下S103~109,实现设备1与设备5连接。
S103:设备1向设备5发送连接请求消息。连接请求消息用于请求与设备5连接。
S104:设备5接收到连接请求消息之后,向设备1发送认证请求。认证请求用于请求对设备1进行认证。
S105:设备1接收到认证请求之后,向设备5发送认证消息。认证消息用于设备5对设备1进行认证。例如,若S101中的连接技术是WIFI技术,则该认证消息可以包括WIFI密码等。若S101中的连接技术是蓝牙技术,则该认证消息可以包括蓝牙配对码等。
S106:设备5接收到认证消息之后,根据该认证消息对设备1进行认证。若认证成功,则执行S107。
S107:设备5将设备1的信息(如设备1的标识信息等)记录在设备5的设备连接表中。其中,设备5的设备连接表是设备5为了对自身所连接的设备进行管理而维护的一个表格。
S108:设备5向设备1发送认证结果,该认证结果用于指示认证成功。
本发明实施例对S107和S108的执行顺序不进行限定。例如,可以先执行S107再执行S108,也可以先执行S108再执行S107,还可以同时执行S107和S108。
S109:设备1接收到该认证结果之后,将设备5的信息(如设备5的标识信息等)记录在设备1的设备连接表中。
至此,实现了设备1与设备5连接,后续设备1与设备5可以进行通信。
需要说明的是,若在S106中,设备5根据认证消息对设备1进行认证时,认证失败,则设备5向设备1发送用于指示认证失败的认证结果。该情况下,说明设备1和设备5之间连接失败。后续设备1与设备5不能进行通信。
图5所示的实施例仅作为可适用于本发明实施例的一种设备之间的连接方法的具体示例,其不对本发明实施例中的设备之间的连接方法构成限定。
图5所示的实施例可以认为是设备1和设备5增加自身的设备连接表中的信息的一种实现方式。对于删除自身的设备连接表中的信息的方法可以包括如下方式1或方式2:
方式1:若设备1在预设时间段内接收不到设备5发送的信号,说明可能是设备5关闭了连接功能,或者是因设备1或设备5的位置更新使得设备5离开设备1的了第一区域,则设备1删除自身的设备连接表中记录的设备5的信息。
方式2:若设备1关闭了连接功能,则设备1可以删除自身的设备连接表中记录的每个设备的信息。
同理,其他设备(如设备5等)可以按照类似的方法删除自身的设备连接表中的信息。
如图6所示,为本发明实施例提供的一种确定协同计算设备的方法的示意图。图6所示的实施例是基于图4为例进行说明的。图6所示的方法可以包括如下步骤:
S201:设备1通过连接技术向设备1的设备连接表中的部分或全部设备发送检测消息。其中,设备1是开启了协同计算功能的设备。检测消息用于检测接收到该检测消息的设备是否开启了协同计算功能。假设设备1的设备连接表中包含设备5的信息,则接着执行S202。
S202:设备5接收到检测消息之后,若确定设备5开启了协同计算功能,则将设备1的信息(如设备1的标识信息等)记录在设备5的协同计算表中,以及执行以下S203。
其中,设备5的协同计算表是设备5为了管理自身的协同计算设备的信息而维护(包括创建和/或更新)的一个表格,设备5的协同计算表中可以包括设备5的协同计算设备的标识信息,每个协同计算设备的空闲计算资源的信息等。其中,关于协同计算设备的空闲计算资源的信息的相关描述可以参考下文。当然,设备5还可以通过其他实现方式管理自身的协同计算设备的信息,本申请对此不进行限定。
S203:设备5向设备1发送响应消息。响应消息用于指示设备5已开启协同计算功能。
S204:设备1接收到响应消息之后,将设备5的信息记录在设备1的协同计算表中。其中,设备1的协同计算表是设备1为了管理自身的协同计算设备的信息而维护(包括创建和/或更新)的一个表格。
至此,设备1将设备5作为自身的协同计算设备,设备5将设备1作为自身的协同计算设备。后续,设备1与设备5可以协同执行设备1或设备5触发的AI任务。
需要说明的是,在S202中,设备5接收到检测消息之后,若确定自身没有开启协同计算功能,则可以向设备1发送用于指示没有开启协同计算功能的响应消息。该情况下,说明:设备5不能作为设备1的协同计算设备。
另外需要说明的是,为了实现协同执行AI任务,可以通过图7所示的方法记录协同计算设备的空闲计算资源信息。图7所示的方法可以包括如下步骤:
S301:设备1向设备1的各协同计算设备发送(例如广播如周期性广播)设备1的空闲计算资源信息。可以理解的,设备1的协同计算设备是设备1的协同计算表中记录的信息所对应的设备。假设设备1的协同计算表中包括设备5的标识信息,则可以接着执行S302。
设备1的空闲计算资源信息用于指示设备1的空闲计算资源。设备1可以通过如下方式A~方式C中的任一种估计设备1的空闲计算资源:
方式A:设备1根据待执行AI任务所需的计算资源,估计设备1的空闲计算资源。
其中,待执行AI任务是指设备1已触发的,且还没有执行完的AI任务。当设备1中有待执行AI任务需要执行时,设备1广播设备1的空闲计算资源信息,则所广播的设备1的空闲计算资源信息所指示的空闲计算资源可以是当前时刻设备1的空闲计算资源减去待执行AI任务所需的计算资源得到的差值。
方式B:设备1根据历史信息估计设备1的空闲计算资源,其中,历史信息是设备1在当前时刻之前执行的AI任务所需的计算资源。
方式B可以适用于设备1执行的AI任务在时域上具有特定规律的场景,例如,如果设备1是监控设备,且该监控设备在每天的特定时间段内需要进行监控(即执行某些AI任务),那么,当本次广播设备1的空闲计算资源信息的时刻在该特定时间段之前,且下一次广播设备1的空闲计算资源信息的时刻在该特定时间段之内,则所广播的设备1的空闲计算资源所指示的空闲计算资源可以是当前时刻设备1的空闲计算资源减去基于历史信息记录确定的该特定时间段内所需的计算资源得到的差值。该方式中,第一设备为该特定时间段内执行的AI任务预留计算资源,这样,可以减少在该特定预设时间段内需要执行的AI任务所需的计算资源不足的概率,从而提高性能。当然具体应用场景不限于此。
方式C:设备1根据待执行AI任务所需的计算资源,估计设备1的第一空闲计算资源;以及,根据历史信息估计设备1的第二空闲计算资源,历史信息是设备1在当前时刻之前执行的任务所需的计算资源;将第一空闲计算资源和第二空闲计算资源的最小值,作为设备1的空闲计算资源。方式C是上述方式A和方式B的结合,其相关解释可以参考上文。
S302:设备5接收到设备1的空闲计算资源信息之后,将设备1的空闲计算资源信息记录在设备5的协同计算表中。
图6所示的实施例仅作为可适用于本发明实施例的一种确定协同计算设备的方法的具体示例,其不对本发明实施例中的确定协同计算设备的方式构成限定。图7所示的实施例仅作为本发明实施例提供的一种记录协同计算设备的空闲计算资源信息的方法,其不构成对本发明实施例中记录协同计算设备的空闲计算资源信息的方式构成限定。
图6和图7所示的实施例可以认为是设备1和设备5增加自身的协同计算表中的信息的实现方式。对于删除自身的协同计算表中的信息的方法可以包括如下方式1至方式3任一种:
方式1:若设备1确定自身的资源设备表中删除了设备5的信息(如设备5的标识信息),说明设备5关闭了连接功能,或者是因设备1或设备5的位置更新使得设备5离开了设备1的第一区域,则设备1删除自身的协同计算表中记录的设备5的信息(如包括设备5的标识信息和设备5的空闲计算资源信息等)。
方式2:若设备1的资源设备表中记录了设备5的信息,但是设备1在预设时间段内接收不到设备5发送的与协同计算功能相关的信息,说明可能是由于设备5关闭了协同计算功能,则设备1删除自身的设备连接表中记录的设备5的信息。其中,本发明实施例对与协同计算功能相关的信息的具体实现方式不进行限定,例如一个设备发送的与协同计算功能相关的信息可以是该设备的空闲计算资源信息,另外,也可以是一个新的信息等。
方式3:若设备1关闭了协同计算功能,则设备1删除自身的协同计算表中记录的每个设备的信息;进一步可选的,设备1还可以发送(如广播)指示信息,该指示信息用于指示设备1关闭了协同计算功能,该情况下,接收到该指示信息的设备(如设备5)根据该指示信息删除自身的协同计算表中设备1的信息。
同理,其他设备(如设备5等)也可以按照类似的方法删除自身的协同计算表中的信息。
需要说明的是,为了提高任务处理效率,在本申请的一些实施例中,具有连接功能和协同计算功能的设备可以按照但不限于上文描述的方法,更新自身的设备连接表和协同计算表中的信息。这样,当该设备中的应用分发AI任务时,可以直接基于协同计算表中记录的信息,执行任务处理方法。当然,在执行任务处理的过程中,该设备也可以更新自身的设备连接表和协同计算表中的信息。
另外需要说明的是,由于表格的名字不对表格本身构成限定,因此本文中描述的“设备连接表”和“协同计算表”的名字也可以是其他名字。另外,更新设备连接表和协同计算表的方法可以在执行本发明实施例提供的任务处理方法之前、之中和之后一直执行(如周期性执行),这样,有助于使第一设备获取到最新的协同计算设备,从而快速处理待执行任务组。
以下,对本发明实施例提供的任务处理方法进行说明:
如图8所示,为本发明实施例提供的一种任务处理方法的示意图。基于图4所示的示例,本实施例中的第一设备可以是图4中的设备1~设备5中的任意一个设备。图8所示的方法可以包括以下步骤:
S401:第一设备中的应用(如人脸识别应用、翻译应用等)分发待执行AI任务组。其中,待执行AI任务组包括至少一个AI任务。具体的,第一设备中的应用分发待执行AI任务组中的每个AI任务的标识信息以及待执行AI任务组所需的计算资源等。
对于第一设备中安装的应用来说,一次可以分发一个AI任务,也可以分发至少两个AI任务,本发明实施例中,将应用一次分发的AI任务称为AI任务组。
若AI任务组包括至少两个AI任务,则该至少两个AI任务之间可以具有相关性。其中,该相关性可以包括任务的类型相关。作为一个示例,任务的类型相关可以包括任务的类型相同,例如多个人脸识别任务可以作为一组AI任务。作为一个示例,任务的类型相关可以包括任务的类型具有先后逻辑关系,例如,由于通常需要先执行人脸检测任务再执行人脸识别任务,因此,可以认为人脸检测任务和人脸识别任务之间具有先后逻辑关系,因此人脸检测任务和人脸识别任务可以作为一组AI任务。其他示例不再一一列举。
若AI任务组包括一个AI任务,则该AI任务可以被分为至少两个子任务。例如,假设AI任务是人脸识别任务,由于执行人脸识别任务的过程中,需要先对人脸图像进行特征检测、特征提取、特征匹配等过程,因此,可以将对人脸图像进行特征检测、特征提取和特征匹配这几个过程分别作为一个子任务。再如,假设AI任务是翻译任务,且需要对多个段落进行翻译,则可以将对每个段落的翻译作为一个子任务。其他示例不再一一列举。将一个AI任务分为多个子任务的步骤可以是由分发该AI任务的应用执行的(如在图3中的应用程序层执行),也可以是由第一设备中接收该AI任务的模块(如图3中的AI协同计算框架层执行)。
当待执行AI任务组包括至少两个AI任务时,待执行AI任务组所需的计算资源可以被替换为:待执行AI任务组中的每个AI任务所需的计算资源。当待执行任务组包括一个AI任务时,待执行AI任务组所需的计算资源为该AI任务所需的计算资源。该情况下,待执行AI任务组所需的计算资源可以被替换为:该AI任务所分成的多个子任务中每个子任务所需的计算资源;此时,应用所分发的信息还可以包括该多个子任务中每个子任务的标识信息。
计算资源,是指单位时间内执行的任务量,可以用于表征第一设备的处理器(如CPU、GPU或NPU等)的计算能力。示例的,计算资源的单位可以是每秒浮点运算次数(floating-point operations per second,FLOPS),或者比特/秒(bits/s)等。
S402:第一设备确定第一设备的可用计算资源。
若当前时刻第一设备没有协同执行其他设备触发的AI任务,则第一设备的可用计算资源包括第一设备的空闲计算资源。若当前时刻第一设备正在协同执行其他设备的AI任务,则第一设备的可用计算资源包括第一设备的空闲计算资源以及第一设备协同执行其他设备触发的AI任务所使用的计算资源。
S403:第一设备判断第一设备的可用计算资源是否大于或等于待执行AI任务组所需的计算资源。
若是,说明第一设备使用第一设备的可用计算资源在预设时间段内可以完成待执行AI任务组中的任务,则执行S409。
若否,说明第一设备使用第一设备的可用计算资源不能在预设时间段内完成待执行AI任务组中的任务,因此需要其他设备协同执行,则执行S404。
S404:第一设备根据第一设备的可用计算资源以及待执行AI任务组所需的计算资源,确定第一设备的协同计算设备所需的计算资源(即第一设备的协同计算设备协同执行待执行AI任务组所需的计算资源)。
例如,若待执行AI任务组所需的计算资源是A比特/秒,第一设备的可用计算资源是B比特/秒,则第一设备的协同计算设备所需的计算资源是(A-B)比特/秒。
S405:第一设备根据第一设备的协同计算设备所需的计算资源从第一区域的有效设备中选择至少一个第二设备。其中,该至少一个第二设备的空闲计算资源之和大于或等于第一设备的协同计算资源组所需的计算资源。例如,结合上文,第一区域的有效设备以及该至少一个第二设备的空闲计算资源,可以从第一设备维护的协同计算表中获得。
例如,结合图3,上述S402~S405可以认为是第一设备中的AI协同计算框架层执行的。
上述S404~S405是第一设备从第一区域的有效设备中选择至少一个第二设备的一种具体实现方式。
S406:第一设备向所选择的至少一个第二设备中的每个第二设备发送待执行AI任务组中的任务,以及第一设备执行待执行AI任务组中除发送给该至少一个第二设备的任务之外的其他任务。其中,第一设备向每个第二设备发送的任务所需的计算资源之和小于或等于该第二设备的空闲计算资源。
例如,结合图3,S406中的发送步骤可以认为是第一设备中的AI协同计算框架层执行的AI任务分发,执行步骤可以认为是第一设备中的AI计算框架层执行的。
具体的,若待执行AI任务组包括至少两个AI任务,则所发送的任务是该至少两个AI任务中的部分AI任务。若待执行AI任务组包括一个AI任务,则所发送的任务是该AI任务中的部分子任务。
当待执行AI任务组包括一个AI任务(下文中称为待执行AI任务),且在S401中,第一设备中的应用分发该待执行AI任务之前,没有将该待执行AI任务分成多个子任务,则在执行S406之前,该方法还可以包括:第一设备将待执行AI任务分成若干个子任务。
可选的,若当前时刻第一设备正在协同执行其他设备的AI任务,则在第一设备执行待执行AI任务中除发送给该至少一个第二设备的任务之外的其他任务之前,该方法还可以包括:停止执行该其他设备的AI任务。后续,第一设备执行完自身触发的AI任务之后,可以继续执行所停止的该其他设备的AI任务。换句话说,本发明实施例支持第一设备优先保证处理自身触发的AI任务的技术方案。
可选的,第一设备在本地执行的其他任务的实时性要求高于第二设备执行的任务的实时性要求。本发明实施例对第一设备如何确定不同任务之间的实时性要求的高低的具体实现方式不进行限定。例如,对于翻译任务或者语音识别任务说,相比时间上靠前的任务来说,时间上靠后的任务的实时性要求较低。实时性要求较高的任务在本地处理,可以减少这些任务和这些任务的执行结果的转发时延,从而有助于提高待执行AI任务组整体的处理性能。
可选的,第一设备在本地执行的其他任务的可靠性要求高于第二设备执行的任务的可靠性要求。本发明实施例对第一设备如何确定不同任务之间的可靠性要求的高低。例如,对于人脸识别任务来说,当一张图像中有多个人脸图像需要识别时,可以认为用于识别距离该图像的中心的距离越远的图像的任务的可靠性越低。这样,有助于提高待执行AI任务组整体的处理性能。
可选的,第一设备在本地执行的其他任务的实时性要求高于第二设备执行的任务的实时性要求,且第一设备在本地执行的任务的可靠性要求高于第二设备执行的任务的可靠性要求。
S407:至少一个第二设备中的每个第二设备接收第一设备发送的任务,并执行所接收到的任务,并将所执行的任务的执行结果发送给第一设备。
例如,结合图3,S407中的接收步骤可以认为是第二设备的AI协同计算框架层执行的AI任务接收,执行步骤可以认为是第二设备的AI计算框架层执行的,发送步骤可以认为是第二设备的设备通信层执行的。
S408:第一设备接收来自该至少一个第二设备发送的任务的执行结果,并将该至少一个第二设备发送的任务的执行结果以及自身执行该其他任务的执行结果反馈给S401中分发待执行AI任务组的应用。执行S408之后,则结束。
具体的,若待执行任务AI任务组包括至少两个AI任务,则第一设备将接收到的来自该至少一个第二设备发送的该至少两个AI任务中的部分AI任务的执行结果直接反馈给S401中分发待执行AI的应用,并且将自身执行的该至少两个AI任务中的其他AI任务的执行结果的反馈给S401中分发待执行AI的应用。若待执行任务AI任务组包括一个AI任务(下文中称为待执行AI任务),则第一设备将接收到的来自该至少一个第二设备发送的该待执行AI任务的部分子任务的执行结果与自身执行该待执行AI任务的其他子任务的执行结果进行合并,并将合并后得到的执行结果反馈给S401中分发待执行AI的应用。例如,第一设备可以按照待执行AI任务中各子任务的顺序,将至少一个第二设备反馈的子任务的执行结果与在本地执行的子任务的执行结果进行合并。例如,假设待执行任务AI中的各子任务为:子任务1~5,且子任务1和子任务3在本地执行,子任务2在一个第二设备执行,子任务4~5在另一个第二设备执行,则第一设备可以将子任务1的执行结果和子任务3的执行结果,以及至少一个第二设备反馈的子任务3~5的执行结果合并为:子任务1~5的执行结果。
例如,结合图3,S408中的接收步骤可以认为是第一设备的设备通信层执行的,反馈步骤可以认为是第一设备中的AI协同计算框架层执行的。
S409:第一设备判断第一设备的空闲计算资源是否大于或等于待执行AI任务组所需的计算资源。
若是,说明第一设备使用当前的空闲计算资源在预设时间段内可以执行完待执行AI任务组,则执行S411。若否,说明第一设备使用当前的空闲计算资源在预设时间段内不能执行完待执行AI任务组,此时,当前时刻第一设备正在协同执行其他设备的AI任务,则执行S410。
S410:第一设备减少执行其他设备的AI任务所使用的计算资源或停止执行其他设备的AI任务,以使得当前空闲资源大于或等于待执行AI任务组所需的计算资源。这样,可以保证第一设备优先处理自身触发的AI任务。
例如,结合图3,S409~S410可以认为是第一设备中的AI协同计算框架层执行的。
S411:第一设备执行待执行AI任务组,并将执行结果反馈给S401中分发待执行AI任务组的应用。执行S411之后,则结束。
例如,结合图3,S411中的执行步骤可以认为是第一设备的AI计算框架层执行的,反馈步骤可以认为是第一设备中的AI协同计算框架层执行的。
本发明实施例提供的任务处理方法中,待执行AI任务组的一部分任务在第一设备本地执行,另一部分任务由至少一个第二设备执行,也就是说,由第一设备和至少一个第二设备协同执行AI任务组。由于第二设备在以第一设备为圆心,第一设备的有效通信距离为半径的区域内,因此,与现有技术中由第一设备和端云协同执行AI任务(或AI任务组)的技术方案相比,由第二设备执行的任务由第一设备到达第二设备,以及该任务的执行结果由第二设备到达第一设备的距离较近,因此,转发时延较小。
本发明实施例对S405中第一设备所选择出的至少一个第二设备的具体特征不进行限定。理论上,第一区域的有效设备中的任意一个设备均可以作为第二设备。以下列举本发明实施例提供的几种可选的实现方式:
方式1:至少一个第二设备是第一区域的有效设备中的与第一设备之间的通信时延小于或等于预设时延的设备。
第一设备可以直接或间接确定第一区域的有效设备中的每个设备与第一设备之间的通信时延与预设时延之间的大小关系,从而确定第一区域的任意一个有效设备是否可以作为第二设备。例如,先获取第一区域的有效设备中的每个设备与第一设备之间的通信时延,并将该通信时延与预设时延进行比较,从而确定该设备是否可以作为第二设备。例如,由于与第一设备之间的通信时延的大小,可以例如但不限于通过与第一设备之间的距离的远近来确定。通常,距离第一设备越近的设备与第一设备之间的通信时延越小。因此,第一设备可以通过确定第一区域的有效设备中的每个设备与第一设备之间的距离,并通过确定该距离是否小于或等于预设距离,来确定该设备是否可以作为第二设备。需要说明的是,本发明实施例对第一设备如何确定第一区域的有效设备与第一设备之间的距离不进行限定,例如第一设备可以在第一设备与第一区域的有效设备连接的过程中确定二者之间的距离。
本发明实施例对预设时延的确定方式以及具体取值不进行限定,例如可以根据待执行AI任务组中由第一设备的协同计算设备执行的任务的实时性要求等因素来确定。
方式2:至少一个第二设备是第一序列中的第一预设位置的设备,第一序列是按照与第一设备之间的通信时延从小到大的顺序或者从大到小的顺序对第一区域的有效设备排列后得到的序列。
具体的,若第一序列是按照与第一设备之间的通信时延从小到大的顺序对第一区域的有效设备排列后得到的序列,则至少一个第二设备是第一序列中的前一个或多个设备。若第一序列是按照与第一设备之间的通信时延从大到小的顺序对第一区域的有效设备排列后得到的设备,则至少一个第二设备是第一序列中的后一个或多个设备。
以第一序列是按照与第一设备之间的通信时延从小到大的顺序对第一区域的有效设备排列后得到的序列为例,第一设备可以根据如下方法从第一区域的有效设备中选择至少一个第二设备:第一设备首先确定第一序列中的第一个设备的空闲计算资源是否大于或等于第一设备的协同计算设备所需的计算资源,若是,则将第一序列中的第一个设备作为该至少一个第二设备;若否,则确定第一序列中的前两个设备的空闲计算资源之和是否大于或等于第一设备的协同计算设备所需的计算资源,若是,则将第一序列中的前两个设备作为该至少一个第二设备;若否,则确定第一序列中的前三个设备的空闲计算资源之和是否大于或等于第一设备的协同计算设备所需的计算资源……以此类推,直到确定出该至少一个第二设备。
需要说明的是,由于第一设备的协同计算设备与第一设备之间的通信时延越小,被该协同计算设备执行的任务以及该任务的执行结果的转发时延越小,因此,方式1和方式2能够进一步减小转发时延。
方式3:至少一个第二设备是第一区域的有效设备中的在第一区域中的停留时长大于或等于预设时长的设备。
该方式中,第一设备可以维护(包括创建和/或更新)第一区域的有效设备在第一区域中的停留时长,从而比较该停留时长与预设时长之间的大小关系。例如,第一设备可以在确定第一设备与第一区域的有效设备连接之后,开启一个定时器,以开始记录该有效设备在第一设备中的停留时长。当然本申请不限于此。
本发明实施例对预设时延的确定方式以及具体取值不进行限定,例如可以根据待执行AI任务组中由第一设备的协同计算设备执行的任务的可靠性要求等因素来确定。
方式4:至少一个第二设备是第二序列中的第二预设位置的设备,第二序列是按照在第一区域中的停留时长从小到大的顺序或者从大到小的顺序对第一区域的有效设备排列后得到的序列。其中,在第一区域中的停留时长越长的第二设备越可靠,因此越适合作为第一设备的协同计算设备。
该方式中,第一设备可以维护(包括创建和/或更新)第一区域的有效设备在第一区域中的停留时长。当然本申请不限于此。
具体的,若第二序列是按照在第一区域中的停留时长从大到小的顺序对第一区域的有效设备排列后得到的序列,则至少一个第二设备是第一序列中的前一个或多个设备。若第二序列是按照在第一区域中的停留时长从小到大的顺序对第一区域的有效设备排列后得到的序列,则至少一个第二设备是第一序列中的后一个或多个设备。
以第二序列是按照在第一区域中的停留时长从大到小的顺序对第一区域的有效设备排列后得到的序列为例,第一设备可以根据如下方法从第一区域的有效设备中选择至少一个第二设备:第一设备首先确定第二序列中的第一个设备的空闲计算资源是否大于或等于第一设备的协同计算设备所需的计算资源,若是,则将第二序列中的第一个设备作为该至少一个第二设备;若否,则确定第二序列中的前两个设备的空闲计算资源之和是否大于或等于第一设备的协同计算设备所需的计算资源,若是,则将第二序列中的前两个设备作为该至少一个第二设备;若否,则确定第二序列中的前三个设备的空闲计算资源之和是否大于或等于第一设备的协同计算设备所需的计算资源……以此类推,直到确定出该至少一个第二设备。
需要说明的是,由于第一设备的协同计算设备在第一区域中的停留时长越大,可以认为该协同计算设备越可靠,换句话说,因任务的执行结果还未被反馈给第一设备就不能离开第一区域,从而不能继续作为第一设备的协同计算设备的概率较小,因此,方式3和方式4能够提高协同执行任务的可靠性。
上述主要从方法的角度对本发明实施例提供的方案进行了介绍。为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本发明实施例可以根据上述方法示例对第一设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本发明实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
如图9所示,为本发明实施例提供的第一设备的结构示意图。图9所示的第一设备可以用于执行如图8所示的方法中第一设备所执行的步骤。任务处理装置可以包括:处理单元901、发送单元902和接收单元903。处理单元901,用于当第一设备确定第一设备的可用计算资源小于待执行AI任务组所需的计算资源时,在第一区域的有效设备中选择至少一个第二设备;第一区域是以第一设备为中心,第一设备的有效通信距离为半径的区域,第一区域的有效设备是第一区域中的与第一设备连接的协同计算设备;AI任务组包括至少一个AI任务。发送单元902,用于向至少一个第二设备中的每个第二设备发送待执行AI任务组中的任务;其中,若待执行AI任务组包括至少两个AI任务,则发送的任务是至少两个AI任务中的部分AI任务;若待执行AI任务组包括一个AI任务,则发送的任务是一个AI任务中的部分子任务。接收单元903,用于接收来自每个第二设备的发送的任务的执行结果。例如,结合图8,处理单元901可以用于执行S405,发送单元902可以用于执行S406中的发送步骤,接收单元903可以用于执行S408中的接收步骤。
可选的,第一设备的有效通信距离是指,使得第一设备接收到的信号的强度大于或等于预设强度时,发送信号的设备与第一设备之间的最大距离。
可选的,至少一个第二设备是第一区域的有效设备中的与第一设备之间的通信时延小于或等于预设时延的设备。或者,至少一个第二设备是第一序列中的第一预设位置的设备,第一序列是按照与第一设备之间的通信时延从小到大的顺序或者从大到小的顺序对第一区域的有效设备排列后得到的序列。或者,至少一个第二设备是第一区域的有效设备中的在第一区域中的停留时长大于或等于预设时长的设备。或者,至少一个第二设备是第二序列中的第二预设位置的设备,第二序列是按照在第一区域中的停留时长从小到大的顺序或者从大到小的顺序对第一区域的有效设备排列后得到的序列。
可选的,处理单元901还可以用于,根据第一设备的位置信息、第一设备与第一区域中的设备是否连接,以及第一区域中与第一设备连接的设备是否是协同计算设备中的至少一项,更新第一区域的有效设备。
可选的,处理单元901还可以用于,获取每个第二设备的空闲计算资源信息。发送单元902具体可以用于,根据每个第二设备的空闲计算资源信息,向每个第二设备发送待执行AI任务组中的任务;其中,向每个第二设备中的任意一个第二设备发送的任务所需的计算资源小于或等于任意一个第二设备的空闲计算资源。
可选的,第一设备的可用计算资源包括第一设备执行其他设备的任务所使用的计算资源。处理单元901还可以用于:当第一设备确定第一设备的可用计算资源小于或等于待执行AI任务组所需的计算资源时,停止执行其他设备的AI任务组;其中,停止执行其他设备的AI任务组所释放的计算资源用于执行至少一个AI任务组中除发送的任务之外的其他任务。
本实施例中相关内容的解释以及有益效果的描述等均可参考上述方法实施例,此处不再赘述。作为一个示例,结合图2所示的通信设备,上述处理单元901可以对应图2中的处理器201,上述发送单元902和接收单元903可以对应图2中的通信接口201。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式来实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机执行指令时,全部或部分地产生按照本发明实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(digitalsubscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
尽管在此结合各实施例对本申请进行了描述,然而,在实施所要求保护的本申请过程中,本领域技术人员通过查看附图、公开内容、以及所附权利要求书,可理解并实现公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
尽管结合具体特征及其实施例对本申请进行了描述,显而易见的,在不脱离本申请的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本申请的示例性说明,且视为已覆盖本申请范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (11)

1.一种任务处理方法,其特征在于,所述方法包括:
当第一设备确定所述第一设备的可用计算资源小于待执行人工智能AI任务组所需的计算资源时,在第一区域的有效设备中选择至少一个第二设备;所述第一区域是以所述第一设备为中心,所述第一设备的有效通信距离为半径的区域,所述第一区域的有效设备是所述第一区域中的与所述第一设备连接的协同计算设备;所述AI任务组包括至少一个AI任务;其中,所述可用计算资源包括所述第一设备的空闲计算资源和所述第一设备执行其他设备的任务所使用的计算资源;
所述第一设备向所述至少一个第二设备中的每个第二设备发送待执行AI任务组中的任务;其中,若所述待执行AI任务组包括至少两个AI任务,则发送的任务是所述至少两个AI任务中的部分AI任务;若所述待执行AI任务组包括一个AI任务,则发送的任务是所述一个AI任务中的部分子任务;
所述第一设备接收来自所述每个第二设备的所述发送的任务的执行结果;
当所述第一设备的可用计算资源大于或等于所述待执行人工智能AI任务组所需的计算资源,且所述第一设备的空闲计算资源小于所述待执行人工智能AI任务组所需的计算资源时,停止执行所述其他设备的AI任务组;停止执行所述其他设备的AI任务组所释放的计算资源用于执行所述至少一个AI任务中除所述发送的任务之外的其他任务。
2.根据权利要求1所述的任务处理方法,其特征在于,所述第一设备的有效通信距离是指,使得所述第一设备接收到的信号的强度大于或等于预设强度时,发送所述信号的设备与所述第一设备之间的最大距离。
3.根据权利要求1或2所述的任务处理方法,其特征在于,
所述至少一个第二设备是所述第一区域的有效设备中的与所述第一设备之间的通信时延小于或等于预设时延的设备;
或者,所述至少一个第二设备是第一序列中的第一预设位置的设备,所述第一序列是按照与所述第一设备之间的通信时延从小到大的顺序或者从大到小的顺序对所述第一区域的有效设备排列后得到的序列;
或者,所述至少一个第二设备是所述第一区域的有效设备中的在所述第一区域中的停留时长大于或等于预设时长的设备;
或者,所述至少一个第二设备是第二序列中的第二预设位置的设备,所述第二序列是按照在所述第一区域中的停留时长从小到大的顺序或者从大到小的顺序对所述第一区域的有效设备排列后得到的序列。
4.根据权利要求1至3任一项所述的任务处理方法,其特征在于,所述方法还包括:
根据所述第一设备的位置信息、所述第一设备与所述第一区域中的设备是否连接,以及所述第一区域中与所述第一设备连接的设备是否是协同计算设备中的至少一项,更新所述第一区域的有效设备。
5.根据权利要求1至4任一项所述的任务处理方法,其特征在于,所述方法还包括:
所述第一设备获取所述每个第二设备的空闲计算资源信息;
所述第一设备向所述每个第二设备发送所述待执行AI任务组中的任务,包括:
所述第一设备根据所述每个第二设备的空闲计算资源信息,向所述每个第二设备发送所述待执行AI任务组中的任务;其中,向所述每个第二设备中的任意一个所述第二设备发送的任务所需的计算资源小于或等于任意一个第二设备的空闲计算资源。
6.一种第一设备,其特征在于,所述第一设备包括:
处理单元,用于当第一设备确定所述第一设备的可用计算资源小于待执行人工智能AI任务组所需的计算资源时,在第一区域的有效设备中选择至少一个第二设备;所述第一区域是以所述第一设备为中心,所述第一设备的有效通信距离为半径的区域,所述第一区域的有效设备是所述第一区域中的与所述第一设备连接的协同计算设备;所述AI任务组包括至少一个AI任务;其中,所述可用计算资源包括所述第一设备的空闲计算资源和所述第一设备执行其他设备的任务所使用的计算资源;
发送单元,用于向所述至少一个第二设备中的每个第二设备发送待执行AI任务组中的任务;其中,若所述待执行AI任务组包括至少两个AI任务,则发送的任务是所述至少两个AI任务中的部分AI任务;若所述待执行AI任务组包括一个AI任务,则发送的任务是所述一个AI任务中的部分子任务;
接收单元,用于接收来自所述每个第二设备的所述发送的任务的执行结果;
所述处理单元还用于:当所述第一设备的可用计算资源大于或等于所述待执行人工智能AI任务组所需的计算资源,且所述第一设备的空闲计算资源小于所述待执行人工智能AI任务组所需的计算资源时,停止执行所述其他设备的AI任务组;停止执行所述其他设备的AI任务组所释放的计算资源用于执行所述至少一个AI任务中除所述发送的任务之外的其他任务。
7.根据权利要求6所述的第一设备,其特征在于,所述第一设备的有效通信距离是指,使得所述第一设备接收到的信号的强度大于或等于预设强度时,发送所述信号的设备与所述第一设备之间的最大距离。
8.根据权利要求6或7所述的第一设备,其特征在于,
所述至少一个第二设备是所述第一区域的有效设备中的与所述第一设备之间的通信时延小于或等于预设时延的设备;
或者,所述至少一个第二设备是第一序列中的第一预设位置的设备,所述第一序列是按照与所述第一设备之间的通信时延从小到大的顺序或者从大到小的顺序对所述第一区域的有效设备排列后得到的序列;
或者,所述至少一个第二设备是所述第一区域的有效设备中的在所述第一区域中的停留时长大于或等于预设时长的设备;
或者,所述至少一个第二设备是第二序列中的第二预设位置的设备,所述第二序列是按照在所述第一区域中的停留时长从小到大的顺序或者从大到小的顺序对所述第一区域的有效设备排列后得到的序列。
9.根据权利要求6至8任一项所述的第一设备,其特征在于,
所述处理单元还用于,根据所述第一设备的位置信息、所述第一设备与所述第一区域中的设备是否连接,以及所述第一区域中与所述第一设备连接的设备是否是协同计算设备中的至少一项,更新所述第一区域的有效设备。
10.根据权利要求6至9任一项所述的第一设备,其特征在于,
所述处理单元还用于,获取所述每个第二设备的空闲计算资源信息;
所述发送单元具体用于,根据所述每个第二设备的空闲计算资源信息,向所述每个第二设备发送所述待执行AI任务组中的任务;其中,向所述每个第二设备中的任意一个所述第二设备发送的任务所需的计算资源小于或等于任意一个第二设备的空闲计算资源。
11.一种任务处理装置,其特征在于,所述装置包括:存储器和处理器,所述存储器用于存储计算机程序,所述处理器用于调用所述计算机程序,使得如权利要求1至5任一项所述的任务处理方法被执行。
CN201810722181.7A 2018-06-29 2018-06-29 任务处理方法和装置 Active CN110728363B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201810722181.7A CN110728363B (zh) 2018-06-29 2018-06-29 任务处理方法和装置
EP19825972.3A EP3800589A4 (en) 2018-06-29 2019-05-05 TASK PROCESSING PROCESS AND APPARATUS
PCT/CN2019/085507 WO2020001161A1 (zh) 2018-06-29 2019-05-05 任务处理方法和装置
US17/136,020 US20210117231A1 (en) 2018-06-29 2020-12-29 Task processing method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810722181.7A CN110728363B (zh) 2018-06-29 2018-06-29 任务处理方法和装置

Publications (2)

Publication Number Publication Date
CN110728363A CN110728363A (zh) 2020-01-24
CN110728363B true CN110728363B (zh) 2022-11-18

Family

ID=68985998

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810722181.7A Active CN110728363B (zh) 2018-06-29 2018-06-29 任务处理方法和装置

Country Status (4)

Country Link
US (1) US20210117231A1 (zh)
EP (1) EP3800589A4 (zh)
CN (1) CN110728363B (zh)
WO (1) WO2020001161A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2592609B (en) * 2020-03-03 2023-05-31 Imagination Tech Ltd Resource allocation in a parallel processing system
WO2021183681A1 (en) 2020-03-10 2021-09-16 MeetKai, Inc. Parallel hypothetical reasoning to power a multi-lingual, multi-turn, multi-domain virtual assistant
US11995561B2 (en) 2020-03-17 2024-05-28 MeetKai, Inc. Universal client API for AI services
US11991253B2 (en) 2020-03-17 2024-05-21 MeetKai, Inc. Intelligent layer to power cross platform, edge-cloud hybrid artificial intelligence services
CN111309491B (zh) * 2020-05-14 2020-11-06 北京并行科技股份有限公司 一种作业协同处理方法及***
WO2022076471A1 (en) 2020-10-05 2022-04-14 MeetKai, Inc. System and method for automatically generating question and query pairs
CN112395089A (zh) * 2020-11-19 2021-02-23 联通智网科技有限公司 一种云端异构计算方法及设备
CN114820269A (zh) * 2021-01-28 2022-07-29 华为云计算技术有限公司 数据处理***、方法、装置、设备及存储介质
DE102021113954A1 (de) * 2021-05-31 2022-12-01 Miele & Cie. Kg Verfahren zum Ansteuern einer Rechenoperation und Verfahren zum Durchführen einer Rechenoperation
CN116208976A (zh) * 2021-11-30 2023-06-02 华为技术有限公司 任务处理方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102141836A (zh) * 2010-01-29 2011-08-03 株式会社泛泰 项控制设备、项控制***和方法
CN103729257A (zh) * 2012-10-16 2014-04-16 阿里巴巴集团控股有限公司 一种分布式并行计算方法以及***
CN104063353A (zh) * 2014-07-08 2014-09-24 上海华勤通讯技术有限公司 主从设备间信息同步的方法
CN105182828A (zh) * 2015-09-18 2015-12-23 深圳前海达闼科技有限公司 一种设备请求协助、响应设备协助请求的方法及设备
CN106257960A (zh) * 2015-06-18 2016-12-28 中兴通讯股份有限公司 多设备协同操作的方法及设备
CN108124018A (zh) * 2012-06-26 2018-06-05 丛林网络公司 分布式处理网络设备任务的方法与虚拟机管理器

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5603031A (en) * 1993-07-08 1997-02-11 General Magic, Inc. System and method for distributed computation based upon the movement, execution, and interaction of processes in a network
US20060048157A1 (en) * 2004-05-18 2006-03-02 International Business Machines Corporation Dynamic grid job distribution from any resource within a grid environment
WO2006120946A1 (ja) * 2005-05-10 2006-11-16 Brother Kogyo Kabushiki Kaisha ツリー型ネットワークシステム、ノード装置、放送システム及び放送方法等
US7864682B2 (en) * 2006-06-27 2011-01-04 Samsung Electronics Co., Ltd. Method for routing data in networks
CN101741912A (zh) * 2009-12-30 2010-06-16 中兴通讯股份有限公司 一种处理计算任务的方法、网络设备及分布式网络***
US9721386B1 (en) * 2010-12-27 2017-08-01 Amazon Technologies, Inc. Integrated augmented reality environment
KR101269222B1 (ko) * 2011-06-24 2013-05-30 한국기초과학지원연구원 통신 장치, 허브 감지 방법 및 패킷 전송 방법
US9800517B1 (en) * 2013-10-31 2017-10-24 Neil Anderson Secure distributed computing using containers
US10275479B2 (en) * 2014-02-27 2019-04-30 Sas Institute Inc. Sparse matrix storage in a database
CN106445686A (zh) * 2016-09-21 2017-02-22 东软集团股份有限公司 资源分配方法及装置
JP6951846B2 (ja) * 2017-03-07 2021-10-20 株式会社日立製作所 計算機システム及びタスクの割当方法
CN107135257A (zh) * 2017-04-28 2017-09-05 东方网力科技股份有限公司 一种节点集群中任务分配的方法、节点和***
US10992795B2 (en) * 2017-05-16 2021-04-27 Apple Inc. Methods and interfaces for home media control
EP3622388B1 (en) * 2017-06-05 2023-10-11 Balanced Media Technology, LLC Platform for collaborative processing of computing tasks
US10452441B1 (en) * 2018-10-15 2019-10-22 Accenture Global Solutions Limited Determining an allocation of computing resources for a job

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102141836A (zh) * 2010-01-29 2011-08-03 株式会社泛泰 项控制设备、项控制***和方法
CN108124018A (zh) * 2012-06-26 2018-06-05 丛林网络公司 分布式处理网络设备任务的方法与虚拟机管理器
CN103729257A (zh) * 2012-10-16 2014-04-16 阿里巴巴集团控股有限公司 一种分布式并行计算方法以及***
CN104063353A (zh) * 2014-07-08 2014-09-24 上海华勤通讯技术有限公司 主从设备间信息同步的方法
CN106257960A (zh) * 2015-06-18 2016-12-28 中兴通讯股份有限公司 多设备协同操作的方法及设备
CN105182828A (zh) * 2015-09-18 2015-12-23 深圳前海达闼科技有限公司 一种设备请求协助、响应设备协助请求的方法及设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Resource Allocation Scheme to Minimize Communication Cost in Mobile Ad Hoc Computational Grids;Sayed Chhattan Shah et al;《2010 International Conference on Intelligent Networking and Collaborative Systems》;20110128;第169-176页 *

Also Published As

Publication number Publication date
CN110728363A (zh) 2020-01-24
EP3800589A1 (en) 2021-04-07
US20210117231A1 (en) 2021-04-22
EP3800589A4 (en) 2021-08-25
WO2020001161A1 (zh) 2020-01-02

Similar Documents

Publication Publication Date Title
CN110728363B (zh) 任务处理方法和装置
US11025711B2 (en) Data centric resource management for edge cloud systems
US20170093988A1 (en) Workflow service using state transfer
CN110704177B (zh) 计算任务处理方法、装置、计算机设备和存储介质
WO2021227999A1 (zh) 云计算服务***和方法
EP3813447A1 (en) Service area management method and apparatus
CN109688191B (zh) 流量调度方法及通信装置
US9654582B2 (en) Enhanced shared memory based communication driver for improved performance and scalability
US8635682B2 (en) Propagating security identity information to components of a composite application
JP2024512209A (ja) IoT機器に基づく情報処理方法、関連機器及び記憶媒体
US11042409B2 (en) Leader election with lifetime term
CN110912990B (zh) 一种共识周期的更新方法及相关设备
CN114185558A (zh) 基于K8s的原生应用选主方法、装置及存储介质
WO2018068655A1 (zh) 一种许可管理方法和***
CN111813529B (zh) 数据处理方法、装置、电子设备及存储介质
CN110120963B (zh) 一种数据处理方法、装置、设备和机器可读介质
US9628401B2 (en) Software product instance placement
CN115185658A (zh) 一种基于时间和通信可靠的任务卸载调度方法及相关产品
CN107967181B (zh) 临界区的控制方法及装置
US11010823B2 (en) Connector leasing for long-running software operations
US12009976B2 (en) Configuration of a server in view of a number of clients connected to the server
US11665110B1 (en) Using distributed services to continue or fail requests based on determining allotted time and processing time
CN113360252B (zh) 基于容器的加速智能合约执行方法、装置及存储介质
CN113168323B (zh) 资源添加方法、管理设备及计算机存储介质
CN117827365A (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
GR01 Patent grant
GR01 Patent grant