掌桥专利:专业的专利平台
掌桥专利
首页

应用资源部署方法、装置、电子设备和介质

文献发布时间:2023-06-19 11:19:16


应用资源部署方法、装置、电子设备和介质

技术领域

本公开涉及计算机技术领域,尤其涉及云计算、边缘计算技术领域,具体涉及一种应用资源部署方法、装置、电子设备、计算机可读存储介质和计算机程序产品。

背景技术

云计算(cloud computing)是一种分布式计算,将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。

目前,在物联网场景下,缺少对边缘设备集群的应用资源部署和管控。

发明内容

根据本公开实施例的第一方面,提供一种应用资源部署方法。该方法可以应用于边缘设备集群,边缘设备集群包括一个或多个边缘设备。该方法包括:响应于确定待同步列表中包括有待部署的应用资源,获取应用资源的信息,其中,应用资源的信息包括辅助应用资源运行的数据以及设备选择信息;基于设备选择信息,从一个或多个边缘设备中确定目标边缘设备;将应用资源的副本部署在目标边缘设备上;以及将数据的副本部署在每个边缘设备上。

根据本公开实施例的第二方面,提供一种应用资源部署方法。该方法可以应用于边缘计算系统云端,包括:响应于接收到应用部署请求,创建与应用部署请求相对应的应用资源,其中,应用资源的信息包括辅助应用资源运行的数据以及设备选择信息;以及将应用资源同步至目标边缘设备集群的待同步列表中。目标边缘设备集群包括一个或多个边缘设备,并且其中,目标边缘设备集群被配置为:基于设备选择信息,从一个或多个边缘设备中确定目标边缘设备,将应用资源的副本部署在目标边缘设备上,并将数据的副本部署在每个边缘设备上。

根据本公开实施例的第三方面,提供一种应用资源部署装置,包括:获取模块,配置为响应于确定边缘设备集群待同步列表中包括有待部署的应用资源,获取应用资源的信息,其中,边缘设备集群包括一个或多个边缘设备,并且其中,应用资源的信息包括辅助应用资源运行的数据以及设备选择信息;设备确定模块,配置为基于设备选择信息,从一个或多个边缘设备中确定目标边缘设备;第一部署模块,配置为将应用资源的副本部署在目标边缘设备上;以及第二部署模块,配置为将数据的副本部署在每个边缘设备上。

根据本公开实施例的第四方面,提供一种应用资源部署装置,包括:创建模块,配置为响应于接收到应用部署请求,创建与应用部署请求相对应的应用资源,其中,应用资源的信息包括辅助其运行的数据以及设备选择信息;以及同步模块,配置为将应用资源同步至目标边缘设备集群的待同步列表中。目标边缘设备集群包括一个或多个边缘设备,并且目标边缘设备集群被配置为:基于设备选择信息,从一个或多个边缘设备中确定目标边缘设备,将应用资源的副本部署在目标边缘设备上,并将数据的副本部署在每个边缘设备上。

根据本公开的第五方面,提供一种电子设备,包括:至少一个处理器以及与所述至少一个处理器通信连接的存储器。存储器存储有能够被所述至少一个处理器执行的计算机程序,所述计算机程序在被所述至少一个处理器执行时用于使所述电子设备执行根据本公开实施例的第一方面或第二方面的方法的步骤。

根据本公开的第六方面,提供一种存储有计算机程序的非瞬时计算机可读存储介质。所述计算机程序在被计算机的处理器执行时用于使所述计算机执行根据本公开实施例的第一方面或第二方面的方法的步骤。

根据本公开的第七方面,提供一种计算机程序产品,包括计算机程序。所述计算机程序在被计算机的处理器执行时用于使所述计算机执行根据本公开实施例的第一方面或第二方面的方法的步骤。

借助于本公开的技术方案,能够实现对边缘设备集群中的边缘设备的应用资源的部署。

应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。

附图说明

附图示例性地示出了实施例并且构成说明书的一部分,与说明书的文字描述一起用于讲解实施例的示例性实施方式。所示出的实施例仅出于例示的目的,并不限制权利要求的范围。在所有附图中,相同的附图标记指代类似但不一定相同的要素。

图1示出了根据本公开的实施例的可以在其中实施本文描述的各种方法的示例性系统的示意图;

图2示出了根据本公开的实施例的应用资源部署方法的流程图;

图3示出了根据本公开的实施例的应用资源部署方法的流程图;

图4示出了根据本公开的实施例的用户终端、边缘计算系统云端、边缘设备集群的交互流程的示意图;

图5示出了根据本公开的实施例的应用资源部署方法的示意图;

图6示出了根据本公开的实施例的应用资源部署装置的结构框图;

图7示出了根据本公开的实施例的应用资源部署装置的结构框图;以及

图8示出了能够用于实现本公开的实施例的示例性电子设备的结构框图。

具体实施方式

为了使本技术领域的人员更好地理解本公开方案,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。

本公开的说明书和权利要求书及上述附图中的术语“第一”和“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解,这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。

此外,术语“包括”和“具有”以及他们的任何变形,意在覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

在本公开中对各种所述示例的描述中所使用的术语只是为了描述特定示例的目的,而并非旨在进行限制。除非上下文另外明确地表明,如果不特意限定要素的数量,则该要素可以是一个也可以是多个。此外,本公开中所使用的术语“和/或”涵盖所列出的项目中的任何一个以及全部可能的组合方式。

云计算(cloud computing)是一种分布式计算,将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。根据提供的资源类型的不同,云计算可以提供三种服务模式:基础设施即服务IaaS、平台即服务PaaS、软件即服务SaaS。在IaaS模式下,云服务商向用户提供虚拟计算机、存储、网络等计算资源,用户可以从这些资源中获取相应服务。为了避免网络延时等影响,通常将服务部署在距离用户较近的边缘设备(也称为边缘节点)。多个边缘设备可以组成边缘设备集群。目前,在物联网场景下,缺少对边缘设备集群中边缘设备的应用资源部署和管控。

对此,本公开提供一种应用资源部署方法,对于应用资源中还包括有辅助应用资源运行的数据的情况下,将该数据部署在边缘设备集群中的所有边缘设备中,使得后续例如应用资源待部署的边缘设备发生变化时,无需每次单独部署该数据,可以提高部署效率,同时还能够实现对边缘设备集群中的边缘设备的应用资源的部署。

在边缘计算系统云端监控边缘设备集群的状态和应用资源部署,通过边缘计算系统云端向边缘设备集群中的边缘设备部署应用资源,为物联网场景下边缘设备集群的控制提供技术支持。

图1示出了根据本公开的实施例可以将本文描述的各种方法和装置在其中实施的示例性系统100的示意图。如图1所示,系统100包括用户终端101、服务器102以及边缘设备103。

示例性地,服务器102可以提供可以包括非虚拟环境和虚拟环境的其他服务或软件应用。在一些实施例中,这些服务可以作为基于web的服务或云服务提供,例如在软件即服务(SaaS)模型下提供给用户终端101。在一些示例中,服务器102可以为边缘计算系统云端。

在图1所示的配置中,服务器120可以包括实现由服务器101执行的功能的一个或多个组件。这些组件可以包括可由一个或多个处理器执行的软件组件、硬件组件或其组合。用户终端101的用户可以依次利用一个或多个客户端应用程序来与服务器102进行交互以利用这些组件提供的服务。应当理解,各种不同的系统配置是可能的,其可以与系统100不同。因此,图1是用于实施本文所描述的各种方法的系统的一个示例,并且不旨在进行限制。

用户终端101可以提供使用户终端101的用户能够与客户端设备进行交互的接口。用户终端101还可以经由该接口向用户输出信息。

示例性地,用户终端101可以包括各种类型的计算机设备,例如便携式手持设备、通用计算机(诸如个人计算机和膝上型计算机)、工作站计算机、可穿戴设备、游戏系统、瘦客户端、各种消息收发设备、传感器或其他感测设备等。这些计算机设备可以运行各种类型和版本的软件应用程序和操作系统,例如Microsoft Windows、Apple iOS、类UNIX操作系统、Linux或类Linux操作系统(例如Google Chrome OS);或包括各种移动操作系统,例如Microsoft Windows Mobile OS、iOS、Windows Phone、Android。便携式手持设备可以包括蜂窝电话、智能电话、平板电脑、个人数字助理(PDA)等。可穿戴设备可以包括头戴式显示器和其他设备。游戏系统可以包括各种手持式游戏设备、支持互联网的游戏设备等。客户端设备能够执行各种不同的应用程序,例如各种与Internet相关的应用程序、通信应用程序(例如电子邮件应用程序)、短消息服务(SMS)应用程序,并且可以使用各种通信协议。

示例性地,服务器102可以包括一个或多个通用计算机、专用服务器计算机(例如PC(个人计算机)服务器、UNIX服务器、中端服务器)、刀片式服务器、大型计算机、服务器群集或任何其他适当的布置和/或组合。服务器120可以包括运行虚拟操作系统的一个或多个虚拟机,或者涉及虚拟化的其他计算架构(例如可以被虚拟化以维护服务器的虚拟存储设备的逻辑存储设备的一个或多个灵活池)。在各种实施例中,服务器120可以运行提供下文所描述的功能的一个或多个服务或软件应用。

示例性地,服务器102中的计算单元可以运行包括上述任何操作系统以及任何商业上可用的服务器操作系统的一个或多个操作系统。服务器102还可以运行各种附加服务器应用程序和/或中间层应用程序中的任何一个,包括HTTP服务器、FTP服务器、CGI服务器、JAVA服务器、数据库服务器等。

示例性地,服务器102可以包括一个或多个应用程序,以分析和合并从用户终端101的用户接收的数据馈送和/或事件更新。服务器102还可以包括一个或多个应用程序,以经由用户终端101的一个或多个显示设备来显示数据馈送和/或实时事件。

在一些实施方式中,服务器120可以为分布式系统的服务器,或者是结合了区块链的服务器。服务器120也可以是云服务器,或者是带人工智能技术的智能云计算服务器或智能云主机。云服务器是云计算服务体系中的一项主机产品,以解决传统物理主机与虚拟专用服务器(VPS,Virtual Private Server)服务中存在的管理难度大、业务扩展性弱的缺陷。

示例性地,边缘设备103是向企业或服务提供商核心网络提供入口点的设备,其可以是例如,路由器、路由交换机、集成接入设备(IAD)、多路复用器,以及各种城域网(MAN)和广域网(WAN)接入设备。在其他的示例中,边缘设备103还可以,包括但不限于,例如智能路由器,智能音响,网络附属存储(NAS),网络摄像头,可存储的网络设备,智能手表,智能电视以及监控器等。

可以理解地,用户终端101、服务器102以及边缘设备103可以通过网络进行通信。该网络可以是本领域技术人员熟知的任何类型的网络,其可以使用多种可用协议中的任何一种(包括但不限于TCP/IP、SNA、IPX等)来支持数据通信。仅作为示例,一个或多个网络110可以是局域网(LAN)、基于以太网的网络、令牌环、广域网(WAN)、因特网、虚拟网络、虚拟专用网络(VPN)、内部网、外部网、公共交换电话网(PSTN)、红外网络、无线网络(例如蓝牙、WIFI)和/或这些和/或其他网络的任意组合。

图1的系统100可以以各种方式配置和操作,以使得能够应用根据本公开所描述的各种方法和装置。

图2示出了根据本公开的实施例的应用资源部署方法200的流程图。在一些实施例中,方法200可应用于边缘设备集群,边缘设备集群可以包括一个或多个边缘设备。如图2所示,方法200可以包括如下步骤。

在步骤201,响应于确定待同步列表中包括有待部署的应用资源,获取应用资源的信息。

在一些实施例中,应用资源的信息可以包括辅助其运行的数据以及设备选择信息。

在步骤202,基于设备选择信息,从一个或多个边缘设备中确定目标边缘设备。

在步骤203,将应用资源的副本部署在目标边缘设备上。

在步骤204,将所述数据的副本部署在每个边缘设备上。

由此,在边缘设备集群的待同步列表中包括有待部署的应用资源时,基于应用资源中包括的设备选择信息来确定目标边缘设备。由此,可以实现边缘设备集群中边缘设备的应用资源部署。同时,在应用资源还包括有辅助应用资源运行的数据的情况下,将该数据部署在边缘设备集群中的所有边缘设备中,使得后续例如应用资源待部署的边缘设备发生变化时,无需每次单独部署该数据,可以提高部署效率。

在一些实施例中,目标边缘设备可以指,待部署应用资源的边缘设备。用户可以通过用户终端在边缘计算系统云端创建资源,并选择资源类型为集群型。可以在边缘侧设备(例如边缘设备集群)执行资源对应的边缘计算程序(例如安装命令)。在执行程序后,边缘侧设备会具有相关模块,例如核心模块、用户模块等。在一些示例中,可以通过例如包括但不限于,在线安装、离线安装、镜像烧录等形式完成安装。通常,边缘设备集群包括一个核心模块,该核心模块运行在边缘设备集群中的其中一个边缘设备上。

在一些示例中,核心模块用于周期性地与边缘计算系统云端通信,用于本地数据的收集和上报,并从边缘计算系统云端下载相关的应用资源。在一些示例中,核心模块会自动与边缘计算系统云端建立链路,此链路建立的方式包括但不限于通过WebSocket、HTTP、MQTT、HTTP3等技术。

在一些示例中,核心模块上报的本地数据可以包括,例如边缘设备集群中各边缘设备的运行数据、状态信息、应用资源的部署和运行情况等。在其他的示例中,核心模块还可以获取例如应用资源的名称、版本、实例部署情况等信息。在另外的示例中,核心模块还可以获取,例如边缘设备集群中各个边缘设备的软硬件信息,例如容器版本、边缘设备名称、边缘设备标签、边缘设备状态、边缘设备的资源消耗情况等信息。

在一些实施例中,每个边缘设备上都部署守护类型应用,可以基于该守护类型应用,将应用资源中包括的数据的副本部署在每个边缘设备上。示例性地,在边缘侧设备执行程序后,边缘侧设备还会具有代理(agent)模块。该代理模块守护类型(daemon-type)应用,部署在每个边缘设备上。

在从边缘计算系统云端的数据同步中获取到应用资源的信息,并且应用资源的信息包括辅助应用资源运行的数据,核心模块可以获取数据的地址,并根据该地址将数据下载至本地(即核心模块所在的边缘设备)。核心模块还可以获取每个边缘设备中代理模块的地址信息,并根据该地址信息将数据的副本发送至相应的代理模块,从而实现将数据部署在每个边缘设备上。在一些实施例中,代理模块在接收到核心模块发送的数据的副本,还可以对该数据的副本进行校验,以确保数据的完整性和准确性。

在一些实施例中,数据下载和传输的方式包括但不限于,通过用户数据报协议(User Datagram Protocol,UDP)、传输控制协议(Transmission Control Protocol,TCP)等协议和方式创建的数据链接通路。数据下载流程包括数据传输前的身份验证、数据传输、数据传输完成后的数据校验等。

在一些实施例中,边缘设备具有标签。标签可以包括,例如边缘设备的名称、角色(例如主节点(master node)、工作节点(work node)等)、批次等。标签可以由一个或多个键值对表征。在一些示例中,设备选择信息可以包括键值匹配规则。可以基于边缘设备的标签,从一个或多个边缘设备中确定目标边缘设备。示例性地,对于一个或多个边缘设备中的任一边缘设备(例如第一边缘设备),在第一边缘设备的标签满足设备选择信息定义的键值匹配规则的情况下,可以将第一边缘设备确定为目标边缘设备。由此,通过键值对的匹配,可以准确地确定出目标边缘节点。

在一些示例中,键值匹配规则可以包括,但不限于,键值对完全匹配、只匹配键、多个键值对“与”并列、多个键值对“或”并列、包含指定键值对、不包含指定键值对等。对于边缘设备集群,基于不同的键值匹配规则,最终确定出的目标边缘设备也会有所不同。

示例性地,对于边缘设备集群X,其包括边缘设备X1-X3。边缘设备X1的标签由3个键值对a:a、b:b和c:c表征,边缘设备X2的标签由2个键值对a:a和d:d表征,边缘设备X3的标签由1个键值对e:e表征。基于不同的键值匹配规则,从边缘设备集群X中确定的目标边缘设备也会不同。

例如,在键值匹配规则为键值对完全匹配(例如e:e)的情况下,可以匹配出边缘设备X3,可以将边缘设备X3确定为目标边缘设备。在这种情况下,当键值匹配规则为a:a时,由于边缘设备X1还包括有键值对b:b和c:c,边缘设备X2还包括有键值对d:d,则会无法匹配出满足该规则的边缘设备。

例如,在键值匹配规则为只匹配键(例如包含a:)的情况下,可以匹配出边缘设备X1和边缘设备X2,可以将边缘设备X1和边缘设备X2确定为目标边缘设备。

例如,在键值匹配规则为多个键值对“与”并列(例如a:a and b:b)的情况下,可以匹配出边缘设备X1,可以将边缘设备X1确定为目标边缘设备。

例如,在键值匹配规则为多个键值对“或”并列(例如c:c or e:e)的情况下,可以匹配出边缘设备X1和边缘设备X3,可以将边缘设备X1和边缘设备X3确定为目标边缘设备。

例如,在键值匹配规则为包含指定键值对(例如in(c:c d:d e:e))的情况下,可以匹配出边缘设备X1、边缘设备X2和边缘设备X3,可以将边缘设备X1、边缘设备X2和边缘设备X3确定为目标边缘设备。

例如,在键值匹配规则为不包含指定键值对(例如not in(a:a d:d))的情况下,可以匹配出边缘设备X3,可以将边缘设备X3确定为目标边缘设备。

在一些实施例中,在边缘设备集群包括多个边缘设备的情况下,在基于设备选择信息,确定出多个候选边缘设备时,还可以获取多个候选边缘设备中每个候选边缘设备的资源评价信息,并基于资源评价信息,从多个候选边缘设备中确定目标边缘设备。由此,通过资源评价信息,可以进一步准确地确定目标边缘设备,提高部署效率。

在一些示例中,边缘设备包括可以一个或多个资源。边缘设备的资源可以为其软硬件资源,例如包括但不限于,中央处理器(CPU)核数、CPU频率、CPU占用比例、内存总量、内存占用比例、硬盘空间总量、硬盘占用比例、图形处理器(GPU)总量、GPU占用比例、网络带宽情况、网络延迟、系统架构类型、系统已运行时间、距离上一次调度部署时间、已部署软件情况等。

可以根据实际的使用场景,设置各个资源的权重。在一些实施例中,设备选择信息可以包括对待部署应用资源的副本的边缘设备的一个或多个资源的权重比例。对于任一候选边缘设备,可以获取该候选边缘设备的一个或多个资源中每个资源的资源值,并基于所述资源值和所述权重比例,确定该候选边缘设备的资源评价信息。

示例性地,对于边缘设备集群Y,其包括边缘设备Y1-Y3。在从边缘设备集群Y中确定出候选边缘设备Y1和候选边缘设备Y2的情况下,可以分别获取候选边缘设备Y1的资源信息和候选边缘设备Y2的资源信息。例如,候选边缘设备Y1包括硬盘容量10G(记为资源a)和内存2G(记为资源b),候选边缘设备Y2包括硬盘容量10G和内存10G。在权重比例为a:b=3:7的情况下,可以确定候选边缘设备Y1和Y2的资源评价信息。例如候选边缘设备Y1的资源评价信息为:3×10+7×2=44G,候选边缘设备Y2的资源评价信息为:3×10+7×10=100G。则基于资源评价信息,可以将候选边缘设备Y2确定为目标边缘设备。在本例中,确定出一个目标边缘设备。在其他的示例中,还可以确定多个目标边缘设备,本公开对此不限制目标边缘设备的数量。

图3示出了根据本公开的实施例的应用资源部署方法300的流程图。在一些实施例中,方法300可应用于边缘计算系统云端。如图3所示,方法300可以包括如下步骤。

在步骤301,响应于接收到应用资源部署请求,创建与应用资源部署请求相对应的应用资源。

在一些实施例中,应用资源的信息包括辅助其运行的数据以及设备选择信息。

在步骤302,将应用资源同步至目标边缘设备集群的待同步列表中。

在一些实施例中,目标边缘设备集群可以包括一个或多个边缘设备。目标边缘设备集群可以被配置为:基于设备选择信息,从一个或多个边缘设备中确定目标边缘设备,将应用资源的副本部署在目标边缘设备上,并将数据的副本部署在每个边缘设备上。由此,可以通过边缘计算系统云端,实现对边缘设备集群中的边缘设备的应用资源部署。

在一些实施例中,辅助应用资源运行的数据可以指使应用资源正常运行的数据,在没有该数据的情况下,应用资源可能会无法正常运行。边缘设备集群中的每个边缘设备具有标签,标签可以由一个或多个键值对表征。可以在边缘计算系统云端对每个边缘设备的标签独立地进行操作,例如增加新标签、删除标签、更新标签的键/值等。

通常,边缘计算系统云端可以包括有一个或多个边缘设备集群。在接收到用户终端的应用资源部署请求时,需要根据该请求,从该一个或多个边缘设备集群中确定出目标边缘设备集群。目标边缘设备集群可以指,待部署应用资源部署请求所指示的应用资源的边缘设备所在的边缘设备集群。

在一些实施例中,应用资源的信息还可以包括集群选择信息。可以基于集群选择信息,从一个或多个边缘设备集群中确定目标边缘设备集群。

边缘设备集群可以具有标签,例如边缘设备集群的名称、序列号等。边缘设备集群的标签也可以由一个或多个键值对表征。在一些示例中,集群选择信息可以包括有集群键值匹配规则,并可以基于集群键值匹配规则,从一个或多个边缘设备集群中确定目标边缘设备集群。示例性地,集群键值匹配规则可以包括,例如键值对完全匹配、只匹配键、多个键值对“与”并列、多个键值对“或”并列、包含指定键值对、不包含指定键值对等。基于不同的集群键值匹配规则,最终确定出的目标边缘设备集群也会有所不同。

在一些实施例中,在接收到用户终端的应用资源部署请求,并且与该请求相对应的应用资源中包括有辅助其运行的数据的情况下,与应用资源部署请求相对应的应用资源。边缘计算系统云端可以自动创建守护类型应用资源,并将该守护类型应用资源同步至目标边缘设备集群的待同步列表中。在下载到该守护类型应用资源后,目标边缘设备集群可以将该守护类型应用资源部署在其包括的每个边缘设备上。从而,基于部署的守护类型应用资源,能够实现将辅助应用资源运行的数据的副本部署在每个边缘设备上。

目标边缘设备集群包括的一个或多个边缘设备中的每个边缘设备具有标签,标签由一个或多个键值对表征。可以基于边缘设备的标签,从一个或多个边缘设备中确定目标边缘设备。示例性地,对于一个或多个边缘设备中的任一边缘设备(例如第一边缘设备),在第一边缘设备的标签满足设备选择信息定义的键值匹配规则的情况下,可以将第一边缘设备确定为目标边缘设备。由此,通过键值对的匹配,可以准确地确定出目标边缘节点。

图4示出了根据本公开的实施例的用户终端、边缘计算系统云端、边缘设备集群的交互流程400的示意图。如图4所示,交互流程400可以包括如下步骤。

在步骤401,用户终端触发应用资源部署请求。

在步骤402,边缘计算系统云端创建与应用资源部署请求相对应的应用资源,其中,应用资源包括辅助其运行的数据、集群选择信息和设备选择信息。

在步骤403,边缘计算系统云端基于集群选择信息,确定目标边缘设备集群。

在步骤404,边缘计算系统云端将应用资源同步至目标边缘设备集群的待同步列表中。

在步骤405,目标边缘设备集群基于设备选择信息,确定目标边缘设备。

在步骤406,目标边缘设备集群将应用资源部署字在目标边缘设备上。

在步骤407,目标边缘设备集群将应用资源中包括的辅助其运行的数据的副本部署在每个边缘设备上。

在一些实施例中,在将应用资源部署在目标边缘设备上后,目标边缘设备可以执行与应用资源相对应的业务流程。

图5示出了根据本公开的实施例的应用资源部署流程500的示意图。如图5所示,流程500可以包括如下步骤。

用户可以通过用户终端501触发应用资源部署请求。在接收到应用资源部署请求后,边缘计算系统云端502可以创建相应的应用资源,例如应用资源0和应用资源1。相应地,边缘计算系统云端502还创建应用2,该应用2为守护类型应用。应用资源0包括集群选择信息00和设备选择信息01。应用资源1包括集群选择信息10和辅助其运行的数据11。边缘设备集群503包括边缘设备5031和边缘设备5032。边缘设备集群504包括边缘设备5041、边缘设备5042和边缘设备5043。边缘设备集群504的核心模块运行在边缘设备5041上。核心模块可以周期性与边缘计算系统云端502通信,以进行数据同步。

基于集群选择信息00,可以确定目标边缘设备集群,即边缘设备集群504,基于设备选择信息01,可以确定目标边缘设备,即边缘设备5042。从而,将应用资源0部署在边缘设备5042上。基于集群选择信息10,可以确定目标边缘设备集群,即边缘设备集群504。从而,将应用资源1以及辅助其运行的数据11部署在边缘设备集群504的每个边缘设备(边缘设备5041-5043)。相应地,守护类型应用2也部署在边缘设备集群504的每个边缘设备(边缘设备5041-5043)上。

本公开示例性实施例还提供一种边缘计算系统。所述边缘计算系统可以包括前端控制装置、云端后台装置以及边缘设备集群。

前端控制装置可以用于和用户进行交互。用户可以通过前端控制装置发起请求,以完成边缘节点的创建、应用资源的创建更新、命令的下发、响应数据的接收等功能。

云端后台装置可以用于边缘节点的信息管理、各类应用资源的管理和更新、边缘节点预配和远程调试等。边缘节点预配和远程调试可以包括,例如各类资源的创建、应用上传、资源更新、应用资源的创建和更新、与边缘设备集群进行资源信息同步、提供Open API等功能。

边缘设备集群包括核心模块、数据同步模块、边缘模块、应用模块、资源管理器、存储器等。核心模块用于收集边缘设备的信息、与云端通信进行资源数据同步、同资源管理器通信以提交资源进行部署、和存储器通信进行数据的存取、与指定模块或主机建立调试链路等。数据同步模块用于向边缘设备集群中个边缘节点上同步待部署应用所需的数据。资源管理器用于接收资源部署信息、部署资源等。边缘模块用于执行业务流程等。

图6示出了根据本公开的实施例的应用资源部署装置600的结构框图。如图6所示,装置600包括获取模块601、设备确定模块602、第一部署模块603以及第二部署模块604。

获取模块601被配置为响应于确定边缘设备集群待同步列表中包括有待部署的应用资源,获取应用资源的信息。在一些实施例中,边缘设备集群包括一个或多个边缘设备,应用资源的信息包括辅助其运行的数据以及设备选择信息。

设备确定模块602被配置为基于设备选择信息,从一个或多个边缘设备中确定目标边缘设备。

第一部署模块603被配置为将应用资源的副本部署在目标边缘设备上。

第二部署模块604被配置为将所述数据的副本部署在每个边缘设备上。

在一些示例中,获取模块601、设备确定模块602、第一部署模块603以及第二部署模块604的操作分别对应于上面关于图2描述的方法200的步骤201-204,此处不再详细描述。

图7示出了根据本公开的实施例的应用资源部署装置700的结构框图。如图7所示,装置700包括创建模块701和同步模块702。

创建模块701被配置为响应于接收到应用资源部署请求,创建与应用资源部署请求相对应的应用资源。在一些实施例中,应用资源的信息包括辅助其运行的数据以及设备选择信息。

同步模块702被配置为将应用资源同步至目标边缘设备集群的待同步列表中。在一些实施例中,目标边缘设备集群包括一个或多个边缘设备,并且目标边缘设备集群被配置为:基于设备选择信息,从一个或多个边缘设备中确定目标边缘设备,将应用资源的副本部署在目标边缘设备上,并将所述数据的副本部署在每个边缘设备上。

在一些示例中,创建模块701和同步模块702的操作分别对应于上面关于图3描述的方法300的步骤301和302,此处不再详细描述。

虽然上面参考特定模块讨论了特定功能,但是应当注意,本文讨论的各个模块的功能可以分为多个模块,和/或多个模块的至少一些功能可以组合成单个模块。本文讨论的特定模块执行动作包括该特定模块本身执行该动作,或者替换地该特定模块调用或以其他方式访问执行该动作的另一个组件或模块(或结合该特定模块一起执行该动作)。因此,执行动作的特定模块可以包括执行动作的该特定模块本身和/或该特定模块调用或以其他方式访问的、执行动作的另一模块。

本公开示例性实施例还提供一种电子设备,包括:至少一个处理器以及与所述至少一个处理器通信连接的存储器。存储器存储有能够被所述至少一个处理器执行的计算机程序,所述计算机程序在被所述至少一个处理器执行时用于使所述电子设备执行根据本公开实施例的方法。

本公开示例性实施例还提供一种存储有计算机程序的非瞬时计算机可读存储介质。所述计算机程序在被计算机的处理器执行时用于使所述计算机执行根据本公开实施例的方法。

本公开示例性实施例还提供一种计算机程序产品,包括计算机程序。所述计算机程序在被计算机的处理器执行时用于使所述计算机执行根据本公开实施例的方法。

参考图8,现将描述可以作为本公开的服务器或客户端的电子设备800的结构框图,其是可以应用于本公开的各方面的硬件设备的示例。电子设备旨在表示各种形式的数字电子的计算机设备,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。

如图8所示,设备800包括计算单元801,其可以根据存储在只读存储器(ROM)802中的计算机程序或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序,来执行各种适当的动作和处理。在RAM 803中,还可存储设备800操作所需的各种程序和数据。计算单元801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。

设备800中的多个部件连接至I/O接口805,包括:输入单元806、输出单元807、存储单元808以及通信单元809。输入单元806可以是能向设备800输入信息的任何类型的设备,输入单元806可以接收输入的数字或字符信息,以及产生与电子设备的用户设置和/或功能控制有关的键信号输入,并且可以包括但不限于鼠标、键盘、触摸屏、轨迹板、轨迹球、操作杆、麦克风和/或遥控器。输出单元807可以是能呈现信息的任何类型的设备,并且可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。存储单元808可以包括但不限于磁盘、光盘。通信单元809允许设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信收发机和/或芯片组,例如蓝牙TM设备、1302.11设备、WiFi设备、WiMax设备、蜂窝通信设备和/或类似物。

计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法和处理,例如方法200或方法300。例如,在一些实施例中,方法200和方法300可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序加载到RAM 803并由计算单元801执行时,可以执行上文描述的方法200或方法300的一个或多个步骤。备选地,在其他实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法200或方法300。

本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。

用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。

在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。

为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。

可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。

计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。

应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行、也可以顺序地或以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。

虽然已经参照附图描述了本公开的实施例或示例,但应理解,上述的方法、系统和设备仅仅是示例性的实施例或示例,本发明的范围并不由这些实施例或示例限制,而是仅由授权后的权利要求书及其等同范围来限定。实施例或示例中的各种要素可以被省略或者可由其等同要素替代。此外,可以通过不同于本公开中描述的次序来执行各步骤。进一步地,可以以各种方式组合实施例或示例中的各种要素。重要的是随着技术的演进,在此描述的很多要素可以由本公开之后出现的等同要素进行替换。

相关技术
  • 应用资源部署方法、装置、电子设备和介质
  • 资源部署方法、资源部署装置以及存储介质
技术分类

06120112881018