Nothing Special   »   [go: up one dir, main page]

CN116325705A - 边缘计算环境中的管理任务流 - Google Patents

边缘计算环境中的管理任务流 Download PDF

Info

Publication number
CN116325705A
CN116325705A CN202180067889.3A CN202180067889A CN116325705A CN 116325705 A CN116325705 A CN 116325705A CN 202180067889 A CN202180067889 A CN 202180067889A CN 116325705 A CN116325705 A CN 116325705A
Authority
CN
China
Prior art keywords
edge devices
cluster
metadata information
edge
task
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
CN202180067889.3A
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN116325705A publication Critical patent/CN116325705A/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/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/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • 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/5083Techniques for rebalancing the load in a distributed system

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

提供了用于管理任务流的计算机实现的方法、计算机系统和计算机程序产品。根据计算机实现的方法,定义器模块可以接收用于执行任务流的请求。定义器模块可以从一组边缘装置中确定要执行任务流的边缘装置集群。定义器模块可以检索集群中的任务流和边缘装置的元数据信息,其中元数据信息用于调度集群中的任务流。然后,集群中的边缘装置可以根据元数据信息执行任务流。

Description

边缘计算环境中的管理任务流
背景技术
本公开总体上涉及计算机技术,并且更具体地涉及用于在边缘计算环境中动态地管理任务流的方法、系统和计算机程序产品。
随着云计算和IoT技术的发展,边缘计算成为实现更强计算能力的新兴方向。在物联网(IoT)的背景下,″边缘″或″边缘系统″是指靠近数据源而存在的计算基础设施。这样的计算基础设施可以包括例如工业机器、工业控制器、工业传感器、移动装置和/或本领域普通技术人员将认识到可以存在于靠近数据源的任何其他基础设施。作为数据源的机器和/或装置可被称为″边缘装置″。边缘装置通常远离云中可用的集中式计算资源而存在。边缘系统可以将应用、数据处理和模型中的至少一个远离集中式云数据中心移动到更靠近边缘装置的边缘侧,从而减少到云数据中心的数据流量的量。
发明内容
根据本公开的一个实施例,提供一种用于管理任务流的计算机实现的方法、计算机系统和计算机程序产品。根据计算机实现的方法,定义器模块可以接收用于执行任务流的请求。定义器模块可以从一组边缘装置中确定要执行任务流的边缘装置集群。定义器模块可以检索任务流和集群中的边缘装置的元数据信息,其中元数据信息用于调度集群中的任务流。然后,集群中的边缘装置可以根据元数据信息执行任务流。
附图说明
从以下将结合附图阅读的对本发明的示范性实施例的详细描述中,本发明的这些和其他目的、特征和优点将变得显而易见。附图的各种特征不是按比例的,因为图示是为了清楚起见而便于本领域技术人员结合具体实施方式理解本发明。在附图中:
图1描绘了根据本公开的实施方式的计算机系统/服务器的实例的示意图。
图2描绘了根据本公开的实施方式的云计算环境。
图3描述了根据本公开的实施方式的抽象模型层。
图4示出了现有的示例性边缘计算环境。
图5示出了根据本公开的一些实施方式的示例性边缘计算环境。
图6A示出了根据本公开的一些实施方式的示例性任务流程。
图6B示出了根据本公开的一些实施方式的示例性任务流的信息。
图7A示出了根据本公开的一些实施方式的具有标签的示例性任务流。
图7B示出了根据本公开的一些实施方式的具有与任务流的那些匹配的标签的边缘装置的示例性集群。
图7C示出了根据本公开内容的一些实施方式的对用于执行任务流的边缘装置的集群创建的元数据信息。
图7D示出了根据本公开的一些实施例的具有元数据信息的示范性任务流。
图8示出了根据本公开的一些实施方式的用于在边缘计算环境中动态地管理任务流的示例性方法800的流程图。
具体实施方式
将参考附图更详细地描述一些实施方式,在附图中示出了本公开内容的实施方式。然而,本公开可以以各种方式实施,并且因此不应被解释为局限于本文中公开的实施方式。
应当理解,虽然本公开包括关于云计算的详细描述,但是本文所引用的教导的实现不限于云计算环境。相反,本公开的实施例能够结合现在已知的或以后开发的任何其他类型的计算环境来实现。
云计算是一种服务交付模型,用于使得能够方便地、按需地访问可配置计算资源(例如,可配置计算资源的共享池)的共享池。网络、网络带宽、服务器、处理、存储器、存储、应用、虚拟机和服务),其能够以最小的管理努力或与服务的提供商的交互快速地供应和释放。该云模型可以包括至少五个特性、至少三个服务模型和至少四个部署模型。
特性如下:
按需自助服务:云消费者可以单方面地根据需要自动地提供计算能力,诸如服务器时间和网络存储,而不需要与服务的提供者的人类交互。
广泛的网络接入:能力可通过网络获得并且通过标准机制接入,该标准机制促进异构瘦客户机平台或厚客户机平台(例如,移动电话、膝上型计算机和PDA)的使用。
资源池:提供者的计算资源被池化以使用多租户模型来服务于多个消费者,其中不同的物理和虚拟资源根据需要动态地指派和重新指派。存在位置独立性的感觉,因为消费者通常不具有对所提供的资源的确切位置的控制或了解,但可能能够以较高抽象级别(例如,国家、州或数据中心)指定位置。
快速弹性:能够快速和弹性地提供能力,在一些情况下自动地快速缩小和快速释放以快速放大。对于消费者而言,可用于供应的能力通常显得不受限制并且可以在任何时间以任何数量购买。
测量的服务:云系统通过在适合于服务类型(例如,存储、处理、带宽和活动用户账户)的某个抽象级别处利用计量能力来自动控制和优化资源使用。可以监视、控制和报告资源使用,为所利用的服务的提供者和消费者提供透明度。
服务模型如下:
软件即服务(SaaS):提供给消费者的能力是使用在云基础设施上运行的提供者的应用。可通过诸如web浏览器(例如,基于web的电子邮件)之类的瘦客户端接口从不同客户端装置访问应用。消费者不管理或控制包括网络、服务器、操作系统、存储或甚至单独的应用能力的底层云基础设施,可能的例外是有限的用户特定应用配置设置。
平台即服务(PaaS):提供给消费者的能力是将消费者创建的或获取的使用由提供商支持的编程语言和工具创建的应用部署到云基础设施上。消费者不管理或控制包括网络、服务器、操作系统或存储的底层云基础设施,但是对所部署的应用和可能的应用托管环境配置具有控制。
基础设施即服务(laaS):提供给消费者的能力是提供处理、存储、网络和消费者能够部署和运行任意软件的其他基本计算资源,所述软件可以包括操作系统和应用。消费者不管理或控制底层云基础设施,而是具有对操作系统、存储、所部署的应用的控制以及对所选联网组件(例如,主机防火墙)的可能受限的控制。
部署模型如下:
私有云:云基础架构仅为组织运作。它可以由组织或第三方管理,并且可以存在于场所内或场所外。
社区云:云基础架构被若干组织共享并支持共享了关注(例如,任务、安全要求、策略、和合规性考虑)的特定社区。它可以由组织或第三方管理,并且可以存在于场所内或场所外。
公共云:使云基础架构对公众或大型行业组可用,并且由出售云服务的组织拥有。
混合云:云基础架构是两个或更多个云(私有、社区或公共)的组合,这些云保持唯一实体但通过使数据和应用能够移植的标准化或专有技术(例如,云突发以用于云之间的负载平衡)绑定在一起。
云计算环境是面向服务的,集中于无状态、低耦合、模块化和语义互操作性。云计算的核心是包括互连节点网络的基础设施。
现在参见图1,示出了计算机系统/服务器12的示例的示意图,其在一些实施例中可以是便携式电子装置,诸如通信装置,其可与许多其他通用或专用计算系统环境或配置一起操作。可适用于计算机系统/服务器12的公知的计算系统、环境和/或配置的示例包括但不限于个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持式或膝上型装置、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络PC、小型计算机系统、大型计算机系统和包括上述任何系统或装置的分布式云计算环境等。
计算机系统/服务器12可以在由计算机系统执行的计算机系统可执行指令(例如程序模块)的一般上下文中描述。一般而言,程序模块可包括执行特定任务或实现特定数据类型的例程、程序、对象、组件、逻辑、数据结构等。计算机系统/服务器12可以在分布式云计算环境中实践,其中任务由通过通信网络链接的远程处理装置执行。在分布式云计算环境中,程序模块可以位于包括存储器存储装置的本地和远程计算机系统存储介质中。
如图1所示,计算机系统/服务器12以通用计算装置的形式示出。计算机系统/服务器12的组件可以包括但不限于一个或多个处理器或处理单元16、系统存储器28和将包括系统存储器28的不同系统组件耦合到一个或多个处理器或处理单元16的总线18。
总线18可表示若干类型的总线结构中的任意一种或多种,包括存储器总线或存储器控制器、外围总线、加速图形端口和使用各种总线架构中的任一种的处理器或局部总线。作为示例而非限制,此类体系结构可包括工业标准体系结构(iSA)总线、微通道体系结构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)局部总线和外围组件互连(PCI)总线。
计算机系统/服务器12通常可以包括各种计算机系统可读介质。这样的介质可以是可由计算机系统/服务器12访问的任何可用介质,并且该介质包括易失性和非易失性介质,以及可移动和不可移动介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,诸如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其他可移动/不可移动和/或易失性/非易失性计算机系统存储介质。仅通过示例的方式,存储系统34可以被提供用于从不可移除的非易失性磁介质(未示出,并且通常被称为″硬盘驱动器″)读取和写入不可移除的非易失性磁介质。尽管未示出,可以提供用于从可移动非易失性磁盘(例如,″软盘″)读取或向其写入的磁盘驱动器,以及用于从可移动非易失性光盘(如CD-ROM、DVD-ROM或其他光学介质)读取或向其写入的光盘驱动器。在这样的情况下,每一个可以通过一个或多个数据介质接口连接到总线18。如以下将进一步描绘和描述的,系统存储器28可以包括具有被配置为执行本公开的实施例的功能的一组(例如,至少一个)程序模块的至少一个程序产品。
具有一个或多个程序模块42的程序/实用程序40可以存储在例如系统存储器28中以及操作系统、一个或多个应用程序、其他程序模块和程序数据中。操作系统、一个或多个应用程序、其他程序模块和程序数据中的每一个或它们的一些组合可以包括网络环境的实现方式。一个或多个程序模块42一般可以执行如本文所描述的本公开的实施例的功能和/或方法。计算机系统/服务器12也可以与一个或多个外部装置14通信,所述外部装置14诸如是键盘、定点装置、显示器24、使得用户能够与计算机系统/服务器12交互的一个或多个装置、和/或使得计算机系统/服务器12能够与一个或多个其他计算装置通信的任何装置(例如,网卡、调制解调器等)。这种通信可经由输入/输出(I/O)接口22进行。此外,计算机系统/服务器12可以通过网络适配器20与一个或多个网络通信,例如局域网(LAN)、通用广域网(WAN)和/或公共网络(例如互联网)。如所描绘的,网络适配器20可以经由总线18与计算机系统/服务器12的其他组件通信。应当理解,虽然未示出,但是其他硬件和/或软件组件可以与计算机系统/服务器12结合使用。示例包括但不限于微代码、装置驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器和数据归档存储系统。图1中示出的计算机系统/服务器12可以是云计算节点,诸如图2中示出的一个或多个云计算节点10。根据本公开的至少一个说明性实施例,图1中所示的计算机系统/服务器12还可以是图4和图5中所示的示例性边缘计算环境中的硬件组件。
现在参见图2,描述了说明性云计算环境50。如所示,云计算环境50可以包括由云消费者使用的本地计算装置可以与其通信的一个或多个云计算节点10,本地计算装置诸如例如个人数字助理(PDA)或蜂窝电话54A、台式计算机54B、膝上型计算机54C和/或汽车计算机系统54N。一个或多个节点10可以彼此通信。它们可以物理地或虚拟地分组(未示出)在一个或多个网络中,诸如如上所述的私有云、社区云、公共云或混合云、或其组合。此分组可允许云计算环境50提供基础架构、平台和/或软件作为云消费者不需要为其维护本地计算装置上的资源的服务。应当理解,图2中所示的计算装置54A-N的类型仅旨在是说明性的,并且一个或多个计算节点10和云计算环境50可通过任何类型的网络和/或网络可寻址连接(例如,使用网络浏览器)与任何类型的计算机化装置通信。
现在参见图3,示出了由云计算环境50(图2)提供的一组功能抽象层300。应提前理解,图3中所示的组件、层和功能仅旨在是说明性的,并且本发明的实施例不限于此。如所描述,提供以下层和对应功能:
硬件和软件层60包括硬件和软件组件。硬件组件的示例包括:大型机61;基于RISC(精简指令集计算机)架构的服务器62;服务器63;刀片服务器64;存储装置65;以及网络和联网组件66。在一些实施例中,软件组件包括网络应用服务器软件67和数据库软件68。
虚拟化层70提供抽象层,从该抽象层可以提供虚拟实体的以下示例:虚拟服务器71;虚拟存储器72;虚拟网络73,包括虚拟专用网络;虚拟应用和操作系统74;以及虚拟客户端75。
在一个示例中,管理层80可以提供以下描述的功能。资源供应81提供用于在云计算环境内执行任务的计算资源和其他资源的动态采购。计量和定价82在云计算环境内利用资源时提供成本跟踪,并为这些资源的消费开账单或发票。在一个示例中,这些资源可以包括应用软件许可证。安全性为云消费者和任务提供身份验证,以及为数据和其他资源提供保护。用户门户83为消费者和系统管理员提供对云计算环境的访问。服务水平管理84提供云计算资源分配和管理,使得满足所需的服务水平。服务水平协议(SLA)规划和履行85提供云计算资源的预安排和采购,根据该SLA预期该云计算资源的未来要求。
工作负载层90提供可以利用云计算环境的功能的示例。可以从该层提供的工作负荷和功能的示例包括:地图和导航91;软件开发和生命周期管理92;虚拟课堂教育交付93;数据分析处理94;交易处理95;以及边缘控制器96。
图3中的功能抽象层仅为示例。必要时,可以向其添加一个或多个层,并且可以合并或省略图3中的一个或多个层。此外,在图3的每个层中,可以省略或合并一些组分,并且可以添加一个或多个组分。
示例计算环境
如上所述,随着云计算和IoT技术的发展,边缘计算成为实现更强计算能力的新兴方向。边计算正迅速成为工业物联网(IIoT)加速数字变换的关键部分。边缘计算专注于实际附接至′事物′的装置和技术,诸如工业机器。智能制造可以是边计算的典型实例。边计算可以使得分析和数据收集能够发生在数据的源处。
可以理解,边计算可以是对云计算系统的优化,并且可以与云计算一起工作。边缘计算可能主导的场景包括对低等待时间的需要或者存在带宽约束的情况。当互联网或蜂窝连接多端时,边缘计算也可能是重要的。当动作需要大量计算能力以有效地管理来自机器的大量数据量时,云计算可采取更主导的位置。云计算和边缘计算对于工业操作来说都是必要的,以从当今的复杂的、变化的和大量的数据中获得最高价值。对于工业或服务器提供商来说,管理和处理来自位于更靠近边缘装置的边缘侧、云或两者的组合的边缘装置的数据,以实现最佳操作,可能是有利的。
图4示出了现有的示例性边缘计算环境。现有的示范性边缘计算环境可以包含在云层和边缘层两者上运行的组件和/或模块。可以理解,在现有的示范性边缘计算环境中,云的数据中心可以与边缘系统和边缘装置相连,而不是典型的云计算环境中与计算节点/服务器相连。
如图4所示,示例性边缘计算环境可包括云层410的数据中心、边缘系统层420和边缘装置层430。示例性边缘计算环境中每个层中的硬件部件可以是图1中所示的计算机系统/服务器12。图1中所示的计算机系统/服务器12可以在示例性边缘计算环境中实现任何功能。示范性边缘计算环境中的所有组件和/或模块可经由通信网络直接或间接地连接。图4中的网络可以包括各种类型的通信网络,诸如广域网(WAN)、局域网(LAN)、电信网络、无线网络、公共交换网络和/或卫星网络。通信网络可包括连接,如有线、无线通信链路、光纤电缆和/或本领域普通技术人员将认识到可允许接入通信网络的任何其他连接。
应当理解,仅为了说明的目的而提供跨越边缘计算环境的层和模块以及边缘装置的数量。边缘计算环境可以包括一个或多个其他层和模块,边缘装置的数量可以不同和以其他方式布置。
云层410的数据中心可属于现有云计算环境,其已参考上述图2-3进行了描述。在实际应用中,根据生产或者服务的实际需求和情况,云计算中心410可以将部分计算能力,如部分型号和应用,发送给边缘系统420,对边缘装置进行集中管理。
如图4所示,云层410的数据中心中的示例性模块可包括存储系统411、API服务器412和边缘控制器96。存储系统411可存储API服务器412所需的元数据。例如,存储系统411可以是一致的分布式键值存储。存储系统411中存储的数据可以由分布式系统或机器集群访问。API服务器412可以用于处理API操作并且可以由用户调用。云层410中的组件可依赖于API服务器412来进行消息递送。边缘控制器96可用于在云层410的数据中心与边缘系统层420之间通信以执行中央管理。
边缘系统层420可管理边缘装置层430中的边缘装置。以智能生产为例,智能生产的工业园区生产线的中心管理系统可以称为边缘系统,工业园区生产线的机器可以称为边缘装置。以基站为例,该基站的中心管理系统可以称为边缘系统,与该基站通信的移动装置可以称为边缘装置。
如图4所示,边缘系统层420中的示例性模块可包括存储模块421、同步服务模块422以及边缘代理模块423。存储模块421可以存储边缘系统420和边缘装置的元数据。同步服务模块422可以是边缘系统420的中央数据处理模块,并且可以用于同步云410和边缘系统420之间的模型和数据,并且边缘代理模块423可以是边缘装置的管理模块。
″边缘装置″可以被定义为进入企业或服务提供商的核心网的入口点。边缘系统420可以处理边缘装置的数据,并且可以通过网络仅将已经处理或适合于中央处理的数据发送到云数据中心410。这样可以避免未经处理的数据在网络上进行海量数据传输,节省中央处理时间。如图4所示,示例性边缘装置层430可包括多个边缘装置,诸如装置A、B、C、D和E等。每个边缘装置可包括容器,例如分别在装置B、C和A中的容器4321、4331、4311。容器可以是被配置为执行任务请求的服务网格或模块。
可以理解,工业/智能生产或服务功能可以在边缘计算环境中执行或实现。可以请求边缘装置执行不同任务来实现工作负荷,以完成生产任务或实现服务功能。任务可以包括一系列子任务。子任务可以在多个装置上并行和/或串行地执行。任务在本文中还可以被称为″任务流″。生产或服务的过程可以是执行任务流的过程,包括在边缘装置上执行的一系列子任务。
还可以理解,在实际的生产或服务实践中,可以并行运行多个任务流。对于每个任务流,可以涉及多个装置。假设两个类似的任务流要在边缘装置中并行执行,其中一个任务流可以包括要在装置B、C和A上运行的一系列子任务。如线431、432和433所示,装置B、C和A可以分别接收来自边缘代理423的所分配的子任务并且将运行结果分别返回到边缘代理423。其他任务流可以包括要在装置D、E和A上运行的一系列子任务。类似地,装置D、E和A可以与边缘代理423通信以执行如虚线434、435和436所示的任务流。
可以注意到,任务流中涉及的每个边缘装置可能需要与边缘代理423通信以完成任务流。可能需要边缘代理423向每个边缘装置发送任务请求并从每个装置接收运行结果。换言之,每个边缘装置可从边缘代理423接收任务请求,并可将运行结果输出到边缘代理423。可见,边缘系统层420中的边缘代理423可控制所有任务流的执行。
在实际的生产或者服务实践中,所要执行的任务可能是庞大和复杂的,并且所涉及的边缘装置的数目可能很大。然而,在现有的边缘计算环境中,对任务流的管理主要集中在如上所述的边缘代理423系统上。边缘代理423的工作负荷可能非常重并且可能导致管理的瓶颈。同时,边缘代理423与边缘装置之间通信的有线或无线连接可能不稳定,这会增加形成管理瓶颈或系统故障的风险。
本公开的实施例旨在解决上述问题,并提出一种主要在边缘装置层430中而不是在边缘系统层420中动态管理任务流的解决方案,以减少边缘代理423的工作量。
在下文中,将参考图5至图8详细地描述本公开的实施方式。
图5示出了根据本公开实施方式的示例性边缘计算环境。应注意,图4中的相似和对应的模块或元件在图5中通过相似参考标号指代并且将不在本文中讨论。
应当理解,图5仅提供边缘计算环境的实现方式的图示并且不暗示关于其中可以实现不同实施例的环境的任何限制。可以对图示环境做出许多修改。
现在参考图5,定义器模块5231、发送器模块5232和接收机模块5233可以配置在边缘代理523中。与图4所示的现有计算环境相比,这些模块具有改进的功能,这将在下文中详细讨论。此外,一个或多个代理模块,例如代理5312和代理5322,可以配置在每个边缘装置中。例如,代理模块5312可以被配置在装置A中,代理模块5322可以被配置在装置B中等等。根据本公开的一个实施例,定义器模块5231、发送器模块5232和接收机模块5233以及一个或多个代理模块可以用于管理和控制任务流。应当理解,提供模块仅用于说明的目的。根据本公开内容的一些实施方式的边缘计算环境可以包括额外的或更少的模块以实现相似的功能或者意图。模块以及它们的数目可以不同并且以其他方式布置。
在现有边缘计算环境中,边缘代理423可被配置为动态地或实时确定用于执行任务流的边缘装置。根据本公开的实施例,定义器模块5231可以被配置为动态地确定用于执行任务流的边缘装置。执行任务流的边缘装置可以构成集群,例如集群1和集群2。例如,如果定义器模块5231确定一个任务流可以在装置B、C和A上执行,则装置组B、C和A可以被称为集群1,如图5所示。类似地,定义器模块5231可以确定其他任务流可以在装置D、E和A上并行执行,并且装置组D、E和A可以被称为集群2,如图5所示。为了简单起见,下面将仅详细讨论在集群1中执行的任务流。
定义器模块5231还可以被配置为确定用于执行任务的集群1的元数据信息。元数据信息可以用于管理或调度集群1之间的边缘装置中的任务流。在下文中将结合图6详细描述元数据信息的确定。
根据本公开的实施方式,发送器模块5232可被配置为向集群1中涉及的一个或多个边缘装置发送具有元数据信息的请求,以开始执行任务。元数据信息可以与请求一起发送。例如,如可以理解的,请求可以包括请求报头和请求主体。元数据信息可以被嵌入在请求的报头中。以这种方式,元数据信息可以与请求一起发送。也可以单独发送元数据信息。发送元数据信息的方式不应不利地限制本公开的范围。
每个边缘装置中的容器可以运行所分配的子任务,并且每个装置中的一个或多个代理模块可以管理任务流的数据。每个边缘装置中的一个或多个代理模块可以根据元数据信息管理或路由任务流。
根据本发明的实施例,接收模块5233可以用于从集群中对应的最后边缘装置接收最终运行结果,而不是从每个装置接收每个子任务的运行结果。
以此方式,本发明所提出的解决方案可通过允许在边缘装置层530中而不是在边缘系统层520中控制任务流来增强现有边缘计算架构。因此,可以降低边缘代理523中的管理的工作量和在数据中心410中形成瓶颈的风险。
图6A示出了根据本公开的一些实施方式的示例性任务流程。
现在参考图6A,示例性任务流可以包括两个子任务(subtask),subtask_1(未示出)和subtask_2。subtask_1还包括两个子任务,subtask_1_1和subtask_1_2。subtask_1_1和subtask_1_2可能需要在两个装置上并行运行。两个子任务的运行结果可以需要作为输入发送到第三装置以运行下一子任务,即subtask_2。第三个装置可以是执行子任务的最后一个装置,可以输出子任务_2的运行结果。然后,任务流可以结束。可以在图6B所示的表格中检索示例性任务流的信息。
如上所述,在实际生产或服务实践中,要执行的任务可能是庞大和复杂的。图6A中所示的任务流程仅为了说明和简化而作为具体实例提供,其建议不对本公开进行限制。本公开的实施例可以应用于具有相同、相似或不同定义的所有种类的任务流。
在下文中,以图6A中所示的任务流程为例,将参考图5至图8详细描述本公开的实施方式。
元数据信息确定
如上文简要提及的,定义器模块5231可以被配置为基于任务流和边缘装置的属性动态地确定用于执行任务流的边缘装置集群,并且可以创建集群中的任务流和边缘装置的元数据信息。
例如,在接收到如图6A所示的任务流或任务时,定义器模块5231可以获得任务流的每个子任务的标签。标签可以指示边缘装置的属性的基本要求。换言之,任务流可指示哪些装置被适配成执行标签中的任务。图7A示出了根据本公开的一些实施方式的具有标签的任务流的示例性实施方式。
可以理解,边缘装置具有其自身的属性或特性,并可用于执行各种任务。边缘装置的属性可以是属性、类型、功率、参数、索引、配置等。为了简单起见,装置的属性也可被标记为标签。定义器模块5231可以基于任务流与边缘装置之间的标签的映射关系来确定执行任务流的边缘装置集群。现在参考图7A和图7B,subTask_1_1可具有Tag_1,Tag_1可与装置C的Tag_1映射;subTask_1_2还可具有Tag_1,Tag_1可与装置B的Tag_1映射;subTask_2可以具有与装置A的Tag_2映射的Tag_2。装置C和装置B可以是具有相同属性的装置并且可以是可互换的。由此,定义器模块5231可以确定装置A、B和C适于执行任务流。
根据本公开的实施例,定义器模块5231可以将装置A、B和C的组定义为用于执行任务流的集群,即集群1,如图5所示。考虑到网络的不稳定性,一旦接收到任务流,就可以在可用的边缘装置之间动态地确定集群。一旦任务流完成,集群就可以被解除。需要说明的是,还可以采用其他合适的方式,例如基于历史数据、自定义等方式,确定执行该任务流的边缘装置。边缘装置执行任务流的确定方法不应不利地限制本公开的范围。
根据本公开的实施例,定义器模块5231还可以基于任务流与所确定的集群内的边缘装置之间的映射关系来检索元数据作为元数据信息。可以被用来管理或调度任务流的其他信息也可以被检索作为元数据信息。例如,在本公开的一些实施例中,可以从集群中选择高性能的特定装置作为协调器装置以管理集群中的边缘装置。在这种情况下,元数据信息可包括协调器装置的相应信息。
现在参考图7C,装置B可基于性能考虑在元数据信息中被标记为协调器装置。装置C和装置A可以不是协调器装置。可以理解,装置的性能可以是综合因素,为了简单起见,该性能可以以CPU使用率为例进行说明。如在图7B中可以看出,装置B在集群之中具有最低的CPU使用率,所以装置B可以被选择为协调器装置。协调器装置的代理可定期或不定期获得集群中其他成员的状态,并且可将状态信息同步到边缘系统520。以这种方式,可以通知边缘系统520是否存在任何异常,例如,集群中的任何装置由于不稳定的网络连接而故障。
根据本公开的实施例,元数据信息可以包括可以用于管理或调度任务流的任何信息。例如,元数据信息可以包括以下至少之一:任务流的ID、集群的ID、集群中涉及的边缘装置的ID、集群中边缘装置所要执行的任务流的子任务的ID、协调器边缘装置的ID。元数据信息可以存储或保持在图5中的存储模块521中。图7C示出了每个装置的示例性元数据信息。图7C中的元数据信息仅为了说明和简化而示出,其建议不限制本公开。
现在参考图7D,任务流的每个子任务可以根据元数据信息与集群中的对应装置匹配。例如,subtask_1_1可以与装置C匹配,subtask_1_2可以与装置B匹配,并且subtask_2可以与装置A匹配。即,装置C可以执行subtask_1_1,装置B可以执行subtask_1_2,装置A可以执行subtask_2。装置C和装置B可以是起始子任务对应的起始边缘装置,即分别为subtask_1_1和subtask_1_2。装置A可以是最后一个子任务对应的最后一个装置,即subtask_2。装置A的运行结果可以是任务流程的最终运行结果。由此,集群中的每个装置可以根据元数据信息与对应的子任务匹配,以便运行该子任务。
任务流程动态管理流程
根据本公开的实施方式,下面结合图5和图6描述根据元数据信息动态地管理任务流的过程。
现在返回参考图5,一旦边缘代理523接收到执行如图6A所示的任务流的请求,定义器模块5231可以基于可用的边缘装置与任务之间的标签或属性的映射关系确定适于执行任务流的边缘装置集群。如图7C所示,定义器模块5231可进一步为所确定的边缘装置集群和任务流创建元数据信息。
然后发送器模块5232可以根据元数据信息向装置B和装置C发送任务请求,如行531和532所示。发送器模块5232还可以在任务请求的头部中嵌入元数据信息,因此可以将元数据信息与请求一起发送到边缘装置。一旦接收到具有元数据信息的请求,装置B中的容器4321和装置C中的容器4331可以分别运行subtask_1_1和subtask_1_2。然后,装置B的运行结果可以由装置B中的代理5322发送到装置A,如线533所示。并行地,装置C的运行结果可以由装置C中的代理5332根据元数据信息发送到装置A,如线534所示。一旦从装置B和装置C两者接收到运行结果,装置A中的容器4311可以运行subtask_2。装置A的运行结果可以由装置A中的代理5312发送到接收机模块5233,如线535所示。然后完成任务流程。行531-535示出了执行集群中的示范性任务流的过程。如果协调器装置信息包括在元数据信息中,则该过程可进一步包括集群中的状态流,这将在下面详细讨论。
根据本公开的实施方式,集群中的装置B可被选择为指示图7C中所示的元数据信息的协调器装置。协调器装置B可定期或不定期地获得装置C和装置A的状态信息。状态信息可以包括但不限于″运行″、″完成″和″故障″。状态信息可通过由协调器装置B询问或检查装置C和装置A来获得。装置C和装置A还可将自身的状态信息报告给协调器装置B。状态信息的获取可以利用当前存在的或将来开发的任何适当的方法,并且不应当不利地限制本发明的范围。
现在返回参考图5,协调器装置B中的代理5322可获得装置C和装置A的状态信息,分别由线536和537所示。装置B中的代理5322可将所接收的状态信息发送到接收机模块5233,如线538所示。线536-538解说了集群中的状态流。因此,集群中的边缘装置的状态可由集群中的协调器装置管理,并且可被提供给接收机模块5233。在获得″故障″的状态信息时,可以解散(dissolve)本集群并且可以确定新集群。
以这种方式,发送器模块5232可以发送具有头部中的元数据信息的任务请求以开始任务流。接收机模块5233可以从对应的最后装置接收任务流的最终运行结果,并且从集群的协调器装置接收装置的状态信息。除了最终运行结果之外的运行结果可能不需要在边缘装置和边缘系统520之间传送。例如,装置C或装置B的运行结果可以不需要发送给接收模块5233,而可以根据元数据信息发送给装置A。装置A的运行结果可以是最终的运行结果,可以发送给接收模块5233。因此,任务流的管理或调度可以根据在边缘装置层530中而不是在边缘系统层520中的元数据信息来实现。因此,可以减少边缘系统层520的工作量。
类似地,可以通过图5中的虚线示出根据相应的元数据信息管理集群2中的任务流的过程。可见,对于集群2中的任务流,可以首先在装置D和装置E中并行执行该任务流的两个子任务,然后在装置A上执行装置D和装置E的运行结果。集群2中的协调器装置可以是装置E。集群2中任务流的执行过程类似,在此不再赘述。
实例方法
图8示出了根据本公开的一些实施方式的示例性方法800的流程图。可以在如图5中所示的边缘计算环境中实现方法800。为了讨论的目的,将参考图5描述方法800。
在810,定义器模块5231接收执行任务流的请求。在820处,定义器模块5231从一组边缘装置中确定要执行任务流的边缘装置集群。在830,定义器模块5231检索集群中的任务流和边缘装置的元数据信息,其中该元数据信息用于调度集群中的任务流。在840,集群中的边缘装置根据元数据信息执行任务流。
根据本公开的一个实施例,所述定义器模块可以从一组边缘装置中确定执行所述任务流的边缘装置集群,包括:所述定义器模块分别检索所述任务流和一组边缘装置的属性;基于所述任务流与所述边缘装置组的属性的映射关系,从所述边缘装置组中选择一组边缘装置作为边缘装置集群执行所述任务流。
根据本公开的一个实施例,所述定义器模块可以从一组边缘装置中确定执行所述任务流的边缘装置集群,还包括:所述定义器模块从所述集群中的边缘装置中选择一个边缘装置作为协调器装置以管理所述集群中其他边缘装置的状态;定义器模块在元数据信息中指示协调器装置的信息。
根据本公开的一个实施例,所述集群中的边缘装置可以根据所述元数据信息执行所述任务流,包括:发送模块,用于向所述集群中的一个或多个起始边缘装置发送执行所述任务流的请求以及所述元数据信息,其中,所述任务流包括一系列子任务,所述一个或多个起始边缘装置根据所述元数据信息与一个或多个起始子任务相对应;集群中对应的边缘装置根据元数据信息运行对应的子任务,响应于一个或多个最后边缘装置完成一个或多个最后子任务,一个或多个最后边缘装置向接收机模块发送一个或多个最终运行结果。
根据本公开的一个实施例,所述集群中的边缘装置可以根据所述元数据信息执行所述任务流,包括:发送模块,用于向所述集群中的一个或多个起始边缘装置发送执行所述任务流的请求以及所述元数据信息,其中,所述任务流包括一系列子任务,所述一个或多个起始边缘装置根据所述元数据信息对应一个或多个起始子任务;集群中相应的边缘装置根据元数据信息运行相应的子任务,响应于一个或多个最后边缘装置完成一个或多个最后子任务,一个或多个最后边缘装置向接收机模块发送一个或多个最终运行结果;协调器装置获取集群中其他边缘装置的状态信息;将该状态信息发送给接收模块模块。
根据本发明的一个实施例,向集群中的一个或多个起始边缘装置发送带有元数据信息的执行任务流的请求包括:发送模块,向集群中的一个或多个起始边缘装置发送带有请求头中的元数据信息的执行任务流的请求。
根据本发明的一个实施例,其中,所述元数据信息可以指示以下至少一者:所述任务流的ID、所述集群的ID、所述集群中涉及的边缘装置的ID、将由所述集群中的所述边缘装置执行的所述任务流的所述子任务的I D、以及所述协调器装置的I D。
根据本公开的一个实施例,执行所述任务流的边缘装置集群的元数据信息可以存储在存储模块中。
应当注意,根据本公开的实施方式的任务流的处理可以由图1的计算机系统/服务器12实现。
本公开可以是任何可能的技术细节集成度的系统、方法和/或计算机程序产品。所述计算机程序产品可包含上面具有用于致使处理器执行本发明的方面的计算机可读程序指令的计算机可读存储介质(或媒介)。
计算机可读存储介质可为可保留和存储供指令执行装置使用的指令的有形装置。计算机可读存储介质可以是,例如但不限于,电子存储装置、磁存储装置、光存储装置、电磁存储装置、半导体存储装置、或者上述的任意合适的组合。计算机可读存储介质的更具体示例的非穷尽列表包括以下各项:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式紧凑盘只读存储器(CD-ROM)、数字通用盘(DVD)、记忆棒、软盘、诸如穿孔卡之类的机械编码装置或具有记录在其上的指令的槽中的凸出结构、以及上述各项的任何合适的组合。如本文所使用的计算机可读存储介质不应被解释为暂时性信号本身,例如无线电波或其他自由传播的电磁波、通过波导或其他传输媒体传播的电磁波(例如,穿过光纤电缆的光脉冲)或通过电线发射的电信号。
本文中所描述的计算机可读程序指令可以经由网络(例如,互联网、局域网、广域网和/或无线网络)从计算机可读存储介质下载到相应的计算/处理装置,或者下载到外部计算机或外部存储装置。网络可以包括铜传输电缆、光传输纤维、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理装置中的网络适配器卡或网络接口接收来自网络的计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理装置内的计算机可读存储介质中。
用于执行本披露的操作的计算机可读程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路的配置数据、或以一种或多种程序设计语言的任何组合编写的源代码或目标代码,这些程序设计语言包括面向对象的程序设计语言(诸如Smalltalk、C++等)和过程程序设计语言(诸如″C″程序设计语言或类似程序设计语言)。计算机可读程序指令可以完全地在用户计算机上执行、部分在用户计算机上执行、作为独立软件包执行、部分在用户计算机上部分在远程计算机上执行或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可通过任何类型的网络(包括局域网(LAN)或广域网(WAN))连接至用户计算机,或者可连接至外部计算机(例如,使用互联网服务提供商通过互联网)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以通过利用计算机可读程序指令的状态信息来使电子电路个性化来执行计算机可读程序指令,以便执行本公开的各方面。
本文中参考根据本发明的实施例的方法、装置(系统)和计算机程序产品的流程图说明和/或框图来描述本发明的方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可被提供给计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现在流程图和/或框图的或多个框中指定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置、和/或其他装置以特定方式工作,从而,其中存储有指令的计算机可读存储介质包括包含实现流程图和/或框图中的或多个方框中规定的功能/动作的方面的指令的制造品。
也可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他装置上,使得在计算机、其他可编程装置或其他装置上执行一系列操作步骤,以产生计算机实现的处理,使得在计算机、其他可编程装置或其他装置上执行的指令实现流程图和/或框图中的或多个方框中规定的功能/动作。
附图中的流程图和框图示出了根据本公开的不同实施例的系统、方法和计算机程序产品的可能实现方式的架构、功能和操作。对此,流程图或框图中的每个框可表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些备选实现中,框中标注的功能可以不按照图中标注的顺序发生。例如,连续示出的两个方框实际上可以作为一个步骤完成,同时、基本上同时、以部分或完全时间上重叠的方式执行,或者方框有时可以以相反的顺序执行,这取决于所涉及的功能。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作或执行专用硬件与计算机指令的组合的专用的基于硬件的系统来实现。
已经出于说明的目的呈现了本披露的不同实施例的描述,但并不旨在是详尽的或限于所披露的实施例。在不脱离所描述的实施例的范围的情况下,许多修改和变化对于本领域普通技术人员来说是显而易见的。这里使用的术语被选择来最好地解释实施例的原理、实际应用或对在市场中找到的技术的技术改进,或者使得本领域普通技术人员能够理解这里公开的实施例。

Claims (20)

1.一种计算机实现的方法,包括:
由定义器模块接收用于执行任务流的请求;
由所述定义器模块从边缘装置组中确定执行所述任务流的边缘装置集群;
由所述定义器模块检索所述集群中的所述任务流和所述边缘装置的元数据信息,其中所述元数据信息用于调度所述集群中的所述任务流;以及
所述集群中的边缘装置根据所述元数据信息执行所述任务流。
2.根据权利要求1所述的方法,其中,从所述边缘装置组中确定执行所述任务流的所述边缘装置集群包括:
由所述定义器模块分别检索所述任务流和所述边缘装置组的属性;以及
基于所述任务流与所述边缘装置组的属性的映射关系,从所述边缘装置组中选择一组边缘装置作为所述边缘装置集群执行所述任务流。
3.根据权利要求2所述的方法,进一步包括:
由所述定义器模块从所述集群中的边缘装置中选择一个边缘装置作为协调器装置以管理所述集群中其他边缘装置的状态;以及
由所述定义器模块在所述元数据信息中指示所述协调器装置的所述信息。
4.根据权利要求2所述的方法,其中,根据所述元数据信息执行所述任务流包括:
发送模块向集群中的一个或多个起始边缘装置发送执行带有元数据信息的任务流的请求,任务流包括一系列子任务,一个或多个起始边缘装置根据元数据信息对应一个或多个起始子任务;
集群中对应的边缘装置根据元数据信息运行对应的子任务;
响应于一个或多个最后子任务由一个或多个最后边缘装置完成,由所述一个或多个最后边缘装置向接收机模块发送一个或多个最终运行结果。
5.根据权利要求3所述的方法,其中,根据所述元数据信息执行所述任务流包括:
发送模块向集群中的一个或多个起始边缘装置发送执行带有元数据信息的任务流的请求,任务流包括一系列子任务,一个或多个起始边缘装置根据元数据信息对应一个或多个起始子任务;
集群中对应的边缘装置根据元数据信息运行对应的子任务;
响应于由一个或多个最后边缘装置完成了一个或多个最后子任务,由所述一个或多个最后边缘装置向接收机模块发送一个或多个最终运行结果;
所述协调器装置获得所述集群中的其他边缘装置的状态信息;以及
由所述协调器装置将所述状态信息发送至所述接收机模块。
6.根据权利要求4所述的方法,其中,将具有所述元数据信息的执行所述任务流的所述请求发送至所述集群中的所述一个或多个起始边缘装置包括:
所述发送模块向所述集群中的一个或多个起始边缘装置发送执行所述任务流的请求,所述请求中携带有所述请求的头部中的元数据信息。
7.根据权利要求1所述的方法,其中,所述元数据信息从由所述任务流的ID、所述集群的ID、所述集群中涉及的所述边缘装置的ID、将由所述集群中的所述边缘装置执行的所述任务流的子任务的ID或协调器装置的ID中的至少一个组成的组中选择。
8.一种计算机系统,所述计算机系统包括:
一个或多个处理器、一个或多个计算机可读存储器、一个或多个计算机可读有形存储介质、以及存储在所述一个或多个有形存储介质中的至少一个上的用于由所述一个或多个处理器中的至少一个经由所述一个或多个存储器中的至少一个执行的程序指令,其中所述计算机系统能够执行包括以下步骤的方法:
由定义器模块接收用于执行任务流的请求;
由所述定义器模块从一组边缘装置中确定执行所述任务流的边缘装置集群;
由所述定义器模块检索所述集群中的所述任务流和所述边缘装置的元数据信息,其中所述元数据信息用于调度所述集群中的所述任务流;以及
所述集群中的边缘装置根据所述元数据信息执行所述任务流。
9.根据权利要求8所述的计算机系统,其中,从所述一组边缘装置中确定执行所述任务流的所述边缘装置集群包括:
由所述定义器模块分别检索所述任务流和所述边缘装置组的属性;以及
基于所述任务流与所述边缘装置组的属性的映射关系,从所述边缘装置组中选择一组边缘装置作为所述边缘装置集群执行所述任务流。
10.根据权利要求9所述的计算机系统,进一步包括:
由所述定义器模块从所述集群中的边缘装置中选择一个边缘装置作为协调器装置以管理所述集群中其他边缘装置的状态;以及
由所述定义器模块在所述元数据信息中指示所述协调器装置的所述信息。
11.根据权利要求9所述的计算机系统,其中,根据所述元数据信息执行所述任务流包括:
发送模块向集群中的一个或多个起始边缘装置发送执行带有元数据信息的任务流的请求,任务流包括一系列子任务,一个或多个起始边缘装置根据元数据信息对应一个或多个起始子任务;
集群中对应的边缘装置根据元数据信息运行对应的子任务;
响应于一个或多个最后子任务由一个或多个最后边缘装置完成,由所述一个或多个最后边缘装置向接收机模块发送一个或多个最终运行结果。
12.根据权利要求10所述的计算机系统,其中,根据所述元数据信息执行所述任务流包括:
发送模块向集群中的一个或多个起始边缘装置发送执行带有元数据信息的任务流的请求,任务流包括一系列子任务,一个或多个起始边缘装置根据元数据信息对应一个或多个起始子任务;
集群中对应的边缘装置根据元数据信息运行对应的子任务;
响应于由一个或多个最后边缘装置完成了一个或多个最后子任务,由所述一个或多个最后边缘装置向接收机模块发送一个或多个最终运行结果;
所述协调器装置获得所述集群中的其他边缘装置的状态信息;以及
由所述协调器装置将所述状态信息发送至所述接收机模块。
13.根据权利要求11所述的计算机系统,其中,将用于执行所述任务流的所述请求与所述元数据信息一起发送至所述集群中的所述一个或多个起始边缘装置包括:
所述发送模块向所述集群中的一个或多个起始边缘装置发送执行所述任务流的请求,所述请求中携带有所述请求的头部中的元数据信息。
14.根据权利要求8所述的计算机系统,其中,所述元数据信息从由所述任务流的ID、所述集群的ID、所述集群中涉及的所述边缘装置的ID、将由所述集群中的所述边缘装置执行的所述任务流的子任务的ID或协调器装置的ID中的至少一个组成的组中选择。
15.一种计算机程序产品,所述计算机程序产品包括:
一个或多个计算机可读有形存储介质和存储在所述一个或多个有形存储介质中的至少一个上的程序指令,所述程序指令可由能够执行方法的处理器执行,所述方法包括:
由定义器模块接收用于执行任务流的请求;
由所述定义器模块从一组边缘装置中确定执行所述任务流的边缘装置集群;
由所述定义器模块检索所述集群中的所述任务流和所述边缘装置的元数据信息,其中所述元数据信息用于调度所述集群中的所述任务流;以及
所述集群中的边缘装置根据所述元数据信息执行所述任务流。
16.根据权利要求15所述的计算机程序产品,其中,从所述一组边缘装置中确定执行所述任务流的所述边缘装置集群包括:
由所述定义器模块分别检索所述任务流和所述边缘装置组的属性;以及
基于所述任务流与所述边缘装置组的属性的映射关系,从所述边缘装置组中选择一组边缘装置作为所述边缘装置集群执行所述任务流。
17.根据权利要求16所述的计算机程序产品,进一步包括:
由所述定义器模块从所述集群中的边缘装置中选择一个边缘装置作为协调器装置以管理所述集群中其他边缘装置的状态;以及
由所述定义器模块在所述元数据信息中指示所述协调器装置的所述信息。
18.根据权利要求16所述的计算机程序产品,其中,根据所述元数据信息执行所述任务流包括:
发送模块向集群中的一个或多个起始边缘装置发送执行带有元数据信息的任务流的请求,任务流包括一系列子任务,一个或多个起始边缘装置根据元数据信息对应一个或多个起始子任务;
集群中对应的边缘装置根据元数据信息运行对应的子任务;
响应于一个或多个最后子任务由一个或多个最后边缘装置完成,由所述一个或多个最后边缘装置向接收机模块发送一个或多个最终运行结果。
19.根据权利要求17所述的计算机程序产品,其中,根据所述元数据信息执行所述任务流包括:
发送模块向集群中的一个或多个起始边缘装置发送执行带有元数据信息的任务流的请求,任务流包括一系列子任务,一个或多个起始边缘装置根据元数据信息对应一个或多个起始子任务;
集群中对应的边缘装置根据元数据信息运行对应的子任务;
响应于由一个或多个最后边缘装置完成了一个或多个最后子任务,由所述一个或多个最后边缘装置向接收机模块发送一个或多个最终运行结果;
所述协调器装置获得所述集群中的其他边缘装置的状态信息;以及
由所述协调器装置将所述状态信息发送至所述接收机模块。
20.根据权利要求18所述的计算机程序产品,其中,将用于执行所述任务流的所述请求与所述元数据信息一起发送至所述集群中的所述一个或多个起始边缘装置包括:
所述发送模块向所述集群中的一个或多个起始边缘装置发送执行所述任务流的请求,所述请求中携带有所述请求的头部中的元数据信息。
CN202180067889.3A 2020-10-23 2021-08-31 边缘计算环境中的管理任务流 Pending CN116325705A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/078,617 US11645111B2 (en) 2020-10-23 2020-10-23 Managing task flow in edge computing environment
US17/078,617 2020-10-23
PCT/CN2021/115508 WO2022083293A1 (en) 2020-10-23 2021-08-31 Managing task flow in edge computing environment

Publications (1)

Publication Number Publication Date
CN116325705A true CN116325705A (zh) 2023-06-23

Family

ID=81258360

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180067889.3A Pending CN116325705A (zh) 2020-10-23 2021-08-31 边缘计算环境中的管理任务流

Country Status (6)

Country Link
US (1) US11645111B2 (zh)
JP (1) JP2023545985A (zh)
CN (1) CN116325705A (zh)
DE (1) DE112021004577T5 (zh)
GB (1) GB2615683A (zh)
WO (1) WO2022083293A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11645109B2 (en) * 2020-10-25 2023-05-09 International Business Machines Corporation Managing failures in edge computing environments
US11762743B2 (en) * 2021-06-28 2023-09-19 International Business Machines Corporation Transferring task data between edge devices in edge computing
CN115883268B (zh) * 2022-11-21 2024-07-23 中国联合网络通信集团有限公司 工业生产算力网络服务计费方法、平台、设备及介质

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7810099B2 (en) * 2004-06-17 2010-10-05 International Business Machines Corporation Optimizing workflow execution against a heterogeneous grid computing topology
US8645454B2 (en) 2010-12-28 2014-02-04 Canon Kabushiki Kaisha Task allocation multiple nodes in a distributed computing system
KR102134127B1 (ko) 2012-10-19 2020-07-15 바스프 코포레이션 고온 scr 촉매로서의 8-고리 소공극 분자체
WO2014207759A2 (en) * 2013-06-20 2014-12-31 Tata Consultancy Services Limited System and method for distributed computation using heterogeneous computing nodes
IN2013MU02180A (zh) * 2013-06-27 2015-06-12 Tata Consultancy Services Ltd
US9485197B2 (en) 2014-01-15 2016-11-01 Cisco Technology, Inc. Task scheduling using virtual clusters
US9826011B2 (en) * 2014-07-31 2017-11-21 Istreamplanet Co. Method and system for coordinating stream processing at a video streaming platform
JP6531473B2 (ja) * 2015-04-02 2019-06-19 富士通株式会社 管理支援プログラム、管理支援装置、及び管理支援方法
US9848041B2 (en) 2015-05-01 2017-12-19 Amazon Technologies, Inc. Automatic scaling of resource instance groups within compute clusters
US9866637B2 (en) 2016-01-11 2018-01-09 Equinix, Inc. Distributed edge processing of internet of things device data in co-location facilities
CN116881013A (zh) 2018-06-01 2023-10-13 杭州海康威视数字技术股份有限公司 一种任务处理方法、装置及云计算系统
US20200272899A1 (en) 2019-02-22 2020-08-27 Ubotica Technologies Limited Systems and Methods for Deploying and Updating Neural Networks at the Edge of a Network
CN109918205B (zh) 2019-03-25 2023-11-17 深圳市网心科技有限公司 一种边缘设备调度方法、系统、装置及计算机存储介质
US11436051B2 (en) 2019-04-30 2022-09-06 Intel Corporation Technologies for providing attestation of function as a service flavors
US11146455B2 (en) * 2019-12-20 2021-10-12 Intel Corporation End-to-end quality of service in edge computing environments

Also Published As

Publication number Publication date
GB202306579D0 (en) 2023-06-21
WO2022083293A1 (en) 2022-04-28
JP2023545985A (ja) 2023-11-01
DE112021004577T5 (de) 2023-08-17
US20220129306A1 (en) 2022-04-28
US11645111B2 (en) 2023-05-09
GB2615683A (en) 2023-08-16

Similar Documents

Publication Publication Date Title
US10972586B2 (en) Reusable message flow between applications of a message broker integrated systems environment
US10044837B2 (en) Generation and distribution of named, definable, serialized tokens
US10620928B2 (en) Global cloud applications management
CN116325705A (zh) 边缘计算环境中的管理任务流
US11582285B2 (en) Asynchronous workflow and task api for cloud based processing
US11546431B2 (en) Efficient and extensive function groups with multi-instance function support for cloud based processing
US11762743B2 (en) Transferring task data between edge devices in edge computing
US20230164210A1 (en) Asynchronous workflow and task api for cloud based processing
US11704119B2 (en) Migrating infrastructure as code between different cloud providers
GB2604203A (en) Managing failures in edge computing environments
US10620837B2 (en) Tuning memory across database clusters for distributed query stability
US10082933B2 (en) Context sensitive active fields in user interface
US10904348B2 (en) Scanning shared file systems
US20230086195A1 (en) Efficient and extensive function groups with multi-instance function support for cloud based processing
WO2022148376A1 (en) Edge time sharing across clusters via dynamic task migration
US20220405131A1 (en) Decentralized resource scheduling
CN118056187A (zh) 处理事务请求
US20220229451A1 (en) Adjustable control of fluid processing networks based on proportions of server effort
US10158544B2 (en) Selecting communication channels based on categorizations and measurements
US20230056965A1 (en) Dynamic multi-stream deployment planner
CN115469995A (zh) 容器服务分配
CN118696313A (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