一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种边缘算力共享方法、服务器及系统与流程

2022-04-09 09:47:47 来源:中国专利 TAG:


1.本发明涉及互联网技术领域,尤其涉及一种边缘算力共享方法、服务器及系统。


背景技术:

2.随着互联网技术的发展,终端上的应用的功能越来越强大,在一些场景中,可以将应用中部分复杂的计算功能交由功能强大的云计算服务器进行处理。然而,针对一些算力密集型且具有低时延特征的应用,例如增强现实(augmented reality,ar)、自动驾驶、云游戏及工业智能制造等,传统的云计算服务器已无法同时满足高计算资源和低时延的需求。为此,针对这些算力密集型且具有低时延特征的应用,可以将应用中的高计算功能分流到靠近用户位置(即终端侧)的边缘计算节点进行处理,这样减少了将应用数据上传至云计算服务器的传输时延,有利于降低应用数据的整体处理时延,提升应用的用户体验。
3.目前,主要由运营商或互联网厂商独立构建边缘计算节点。一方面,运营商或互联网厂商需要投入大量资金用于购买专用的服务器,并对服务器及机房进行集中管理和维护等,成本高昂。另一方面,运营商或互联网厂商独立构建边缘计算节点,无法实现资源共享,存在计算资源的浪费。


技术实现要素:

4.本技术提供了一种边缘算力共享方法、服务器及系统,可以实现边缘算力共享,提高边缘算力资源利用率。
5.为达到上述目的,本技术采用如下技术方案:
6.第一方面,本技术提供了一种边缘算力共享的方法。第一服务器接收第一终端发送的第一请求,第一请求用于请求执行第一计算任务;当第一服务器的边缘算力不满足第二计算任务时,第一服务器从本地存储的算力服务信息列表中查询边缘算力满足第二计算任务的第一算力服务的信息;其中,第二计算任务为第一计算任务中的部分或全部任务;第一服务器根据第一算力服务的信息向第二服务器发送第二计算任务;第一服务器接收到第二服务器返回的第二计算任务对应的计算结果。
7.结合上述第一方面,在一种可能的实现方式中,在当第一服务器的边缘算力不满足第二计算任务时,第一服务器从本地存储的算力服务信息列表中查询边缘算力满足第二计算任务的第一算力服务的信息之前,第一服务器将第一计算任务拆分为至少两个第二计算任务,其中,第二计算任务为函数粒度的计算任务。
8.结合上述第一方面,在一种可能的实现方式中,第一服务器接收第二服务器发送的第一账单,第一账单为第二服务器执行第二计算任务的费用。
9.结合上述第一方面,在一种可能的实现方式中,第一算力服务的信息还包括功能描述、参数传递、访问入口路径、安全密钥、函数名、版本、执行超时时间、使用价格、算力资源类型以及算力资源所在位置中的一项或多项。
10.结合上述第一方面,在一种可能的实现方式中,第一服务器从本地存储的算力服
务信息列表中查询边缘算力满足第二计算任务的第一算力服务的信息,具体包括第一服务器从本地存储的算力服务信息列表中查询算力服务的功能描述、算力资源所在位置、使用价格、算力资源类型中一项或多项满足第二计算任务的算力服务为第一算力服务。
11.第二方面,本技术提供了一种第一服务器,包括查询模块,存储模块和通信模块;通信模块,用于接收第一终端发送的第一请求,第一请求用于请求执行第一计算任务;查询模块,用于当第一服务器的边缘算力不满足第二计算任务时,从存储模块中存储的算力服务信息列表中查询边缘算力满足第二计算任务的第一算力服务的信息;其中,第二计算任务为第一计算任务中的部分或全部任务;通信模块,用于根据第一算力服务的信息向第二服务器发送第二计算任务;通信模块,还用于接收到第二服务器返回的第二计算任务对应的计算结果。
12.结合上述第二方面,在一种可能的实现方式中,还包括拆分模块。拆分模块,用于将第一计算任务拆分为至少两个第二计算任务,其中,第二计算任务为函数粒度的计算任务。
13.结合上述第二方面,在一种可能的实现方式中,通信模块,还用于接收第二服务器发送的第一账单,第一账单为第二服务器执行第二计算任务的费用。
14.结合上述第二方面,在一种可能的实现方式中,第一算力服务的信息还包括:功能描述、参数传递、访问入口路径、安全密钥、函数名、版本、执行超时时间、使用价格、算力资源类型以及算力资源所在位置中的一项或多项。
15.结合上述第二方面,在一种可能的实现方式中,查询模块还用于从存储模块中存储的算力服务信息列表中查询边缘算力满足第二计算任务的第一算力服务的信息,具体包括查询模块还用于从存储模块中存储的算力服务信息列表中查询算力服务的功能描述、算力资源所在位置、使用价格、算力资源类型中一项或多项满足第二计算任务的算力服务为第一算力服务。
16.综上可见,在本技术实施例提供的边缘算力共享系统中,第一服务器维护有各个边缘算力提供方提供的算力服务的信息。当第一服务器的边缘算力不能满足第二计算任务时,第一服务器可以从本地存储的算力服务信息列表中查询边缘算力能够满足第二计算任务的第二服务器,由第二服务器为第一终端提供边缘算力。如此,实现边缘算力共享,提高边缘算力资源利用率。
附图说明
17.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
18.图1为本发明实施例提供的一种边缘算力共享系统的结构示意图;
19.图2为本发明实施例提供的一种边缘算力共享系统的流程示意图;
20.图3为本发明实施例提供的另一种边缘算力共享系统的流程示意图;
21.图4为本发明实施例提供的又一种边缘算力共享系统的流程示意图;
22.图5为本发明实施例提供的一种第一服务器200的结构示意图;
23.图6为本发明实施例提供的又一种第一服务器200的结构示意图。
具体实施方式
24.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
25.术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
26.为了便于理解本技术的技术方案,先对本技术涉及的一些技术术语进行说明。
27.云计算:是分布式计算的一种,指的是通过网络“云”将巨大的数据计算处理程序分解成无数个小程序,然后通过多个服务器组成的系统对小程序进行处理和分析,得到结果并返回给用户。而随着例如增强现实、自动驾驶、云游戏及工业智能制造等移动应用的出现,这些应用一方面需要低传输时延,以提供更好的用户体验,另一方面对计算资源需求高。传统的云计算无法满足用户的需求。因此,对于计算和存储能力较弱的终端,一般会把需要高计算资源需求的功能分流到靠近用户的边缘计算节点。
28.边缘计算:指的是在靠近用户(终端)的位置处理和分析数据,采用网络、计算、存储、应用核心能力为一体的开放平台,就近提供最近端服务。其中的“边缘”是一个相对的概念,其可以包括用户设备、运营商基站或者地区云。
29.无服务器计算:是指在构建和运行应用时无需管理服务器等基础设施。它描述了一个更细粒度的部署模型,在该模型中,应用被拆解为一个或多个细粒度的函数被上传到一个平台,然后根据当前所需执行、扩展和计费。根据无服务器计算所用到的技术,又分为后端即服务(backend-as-a-service,baas)和功能即服务(functions-as-a-service,faas)。后端即服务包含了存储、数据库、队列、缓存等各种形态的无服务器计算服务。功能即服务是无服务器计算的核心。
30.功能即服务:是一种面向事件的高度可缩放的计算机代码执行模型,该模型通常在云计算基础设施上预设单目的的应用编程接口(application programmi ng interface,api)端点以接收和运行针对少量时间的代码执行请求。在这种模型中,开发人员可以根据需要在云服务供应商的服务器上运行代码,而无需提供和管理服务器。功能即服务负责代码的执行并根据代码消耗的计算进行收费。
31.区块链技术:是一种由多方共同维护,以块链结构存储数据,使用密码学保证传输和访问安全,能够实现数据一致存储、无法篡改、无法抵赖的技术体系。区块链中的账本可以在多个节点进行存储,并使用p2p(peer to peer,p2p)技术进行同步。区块链根据允许接入用户的范围分为公有区块链、联盟区块链和私有区块链。公有区块链允许任何人接入使用账本和记账,支持公有交易。为了完成公有交易,需要在公有区块链内实施共识协议,而共识过程由共识节点控制。共识节点除了需要完成一个普通节点的工作之外,还需要达成共识以实现账本的更新。联盟链仅允许特定的企业和个人实体接入和使用账本。每个企业
或个人都运行着一个或多个节点,其中的数据只允许系统内不同的企业或个人进行读写和发送交易,并且共同来记录交易数据。企业或个人产生的数据除向其他企业或个人授权密匙外,只有自己能够看到。私有链仅由企业内部节点维护和使用区块链,集中控制读取和写入权限。
32.如图1所示,为本发明实施例提供了一种边缘算力共享系统的结构示意图。该共享系统可以包括:一个或多个第一终端100,一个或多个第一服务器200、以及一个或多个第二服务器300。可选的,该共享系统还可以包括第三服务器400。
33.其中,上述第一终端100,可以安装应用程序,为用户提供各种应用功能。例如,第一终端100可以是虚拟现实(virtual reality,vr)终端、ar终端、工业控制中的无线终端、无人驾驶中的无线终端、远程医疗中的无线终端、智能电网中的无线终端、智慧城市(smart city)中的无线终端、智能家居中的物联网(internet of things,iot)设备、或车载终端等。本技术实施例对第一终端100的具体形态不做限定。
34.在一些实施例中,第一终端100在运行其上的应用程序时,可以向第一服务器200请求全部或部分的算力服务。
35.第一服务器200,为边缘计算服务器,用于实现对第一终端请求的算力服务进行分流。第一服务器200上存储有算力服务信息列表,用于维护在第一服务器200注册的边缘算力提供方的信息。其中边缘算力提供方的信息包括各个边缘算力提供方能够提供的各个算力服务的信息,例如各个算力服务的功能描述、参数传递、访问入口路径、安全密钥、函数名、版本、执行超时时间、使用价格、算力资源类型以及算力资源所在位置中的一项或多项。在一个具体的实现方式中,第一服务器200可以采用区块链账本(例如轻量级的账本)存储上述的算力服务信息列表。
36.在本技术的一些实施例中,当第一服务器200接收到第一终端100发送的算力服务请求后,将算力服务请求对应的计算任务拆解为粒度更小的计算任务(例如函数粒度的计算任务)。当自身的边缘算力不满足小粒度的计算任务时,第一服务器200可以从本地存储的算力服务信息列表中查询相匹配的算力服务。在一个示例中,第一服务器200可以基于算力服务的功能描述以及第一服务器200的位置信息查询满足条件的算力服务。在另一个示例中,第一服务器200还可以基于算力资源类型、使用价格、路径时延以及带宽等确定相匹配的算力服务。第一服务器200在确定相匹配的算力服务后,通过访问入口路径向第二服务器300发送计算任务,由第二服务器300执行相应的算力服务。
37.需要说明的是,第一服务器200可以是一台独立的物理服务器、多台独立的物理服务器、提供边缘计算的云服务器、边缘计算平台和虚拟化中心中的至少一种。
38.第二服务器300,在第一服务器200上注册的一个边缘算力提供方。在本技术中,第二服务器300具有的算力资源类型可以为中央处理器(central processing unit,cpu)、图形处理器(graphics processing unit,gpu)、神经网络处理器(neural-network processing unit,npu)、现场可编程门阵列(field programmable gate array,fpga)中的一项或多项。换言之,本技术对第二服务器300配置的算力资源的类型不做限定。再换言之,本技术实施例提供的算力共享系统可以实现异构的计算资源的共享。在一些示例中,第二服务器300可以归属于独立个人,也可以归属于电信运营商,还可以归属于第三方企业。其中第三方企业可以为大型的互联网厂商,也可以中小型的企业。换言之,本技术实施例提供
的算力共享系统可以实现计算资源的多源。
39.第二服务器300在接收到第一服务器200发送的计算任务后,选择相应的算力服务对应的函数及版本,基于传入的数据执行函数运算生成第二计算任务对应的计算结果,并将计算结果返回给第一服务器200。
40.在本技术的又一些实施例中,上述边缘算力共享系统还包括第三服务器400,例如为云计算服务器,可以为第一服务器200提供云计算。
41.在一些实施例中,当第一服务器200确定边缘计算资源(包括第一服务器200,以及在第一服务器200上注册的其他边缘算力提供方)均无法满足第一终端所请求的计算任务时,第一服务器200可以请求第三服务器400执行相关算力服务。
42.如图2所示,为本发明实施例提供的一种边缘算力共享系统的流程示意图,该流程包括:
43.s201、第一终端向第一服务器发送第一计算任务。
44.在一些场景中,第一终端为弱算力(即计算能力较弱)的终端,可能无法完成算力密集型的应用中的计算任务。比如,第一终端为弱算力的可穿戴设备、iot设备、车载终端等时,可能无法完成运算量较大的计算,如神经网络模型的相关计算等。
45.在另一些场景中,当第一终端配置的计算资源缺少某一类型的计算资源时,可能无法高效地完成某个类型的计算任务。比如,第一终端未配置有图形处理器或其他专用芯片时,可能无法高效地完成图像识别类型的计算任务。又比如,第一终端未配置有npu时,可能无法高效地完成语音识别、自然语言处理等类型的计算任务。
46.在又一些场景中,第一终端可能配置有高算力的计算资源,但因为某一时间段的计算任务较重,造成该时间段的计算资源紧缺等。
47.在一个具体的实现方式中,第一终端在运行某个应用时,因自身配置的计算资源有限无法完成该应用的相关计算任务时,或者无法高效完成该应用的相关计算任务时,可以向第一服务器发送第一计算任务。其中,第一计算任务用于请求协同完成该应用中的某个计算任务。在一个示例中,第一计算任务包括完成某个计算任务的输入数据,例如待处理的图像、视频、语音等。可选的,第一计算任务还可以包括计算任务相关的参数,例如计算的精度等。
48.s202、第一服务器将第一计算任务拆分为至少两个第二计算任务。
49.其中,第一服务器例如为边缘计算服务器,用于实现对第一终端请求的算力服务进行分流。在一个示例中,第一服务器的位置和第一终端的位置位于第一距离内,即第一服务器的位置靠近第一终端。
50.在一个具体的实现方式中,第一服务器可以将第一计算任务对应的计算任务(通常计算量较大,为粗粒度的计算任务)拆分为更加细粒度函数(例如faas函数)功能能够实现的计算任务。其中,每一个细粒度函数能够实现的计算任务可以认为对应一个第二计算任务。需要说明的是,由于faas函数具有良好的可伸缩性和易于部署,非常适合边缘计算中的计算分流,有利于实现边缘算力的共享。
51.可以理解的,粗粒度的计算任务拆分为细粒度的函数能够实现的计算任务后,针对细粒度的函数匹配边缘算力提供方时,可以降低边缘算力提供方所配置的算力资源的要求,有利于提升匹配的成功率。
52.另外,从边缘算力提供方来看,当提供的算力服务以细粒度的函数来匹配时,降低了边缘算力提供方配置的算力资源的要求,可使得更多的异构的算力服务器也能够实现算力服务的共享。
53.s203、当第一服务器的边缘算力不满足第二计算任务时,第一服务器从本地存储的算力服务信息列表中查询边缘算力满足第二计算任务的第一算力服务的信息。
54.在一些实施例中,第一服务器具备一定的边缘计算能力。那么第一服务器可以针对拆分后的第二计算任务,先确定第一服务器能够本地完成哪些第二计算任务,并执行相关的业务计算,而后向第一终端返回计算结果。针对第一服务器本地无法完成的第二计算任务,第一服务器可以从本地存储的算力服务信息列表中,查询能够满足这些第二计算任务的算力服务。
55.在另一些实施例中,第一服务器也可以不具备边缘计算能力。那么,第一服务器从本地存储的算力服务信息列表中查询全部的第二计算任务所需的算力服务。
56.如前文所述,第一服务器存储有算力服务信息列表,该算力服务信息列表中记录有在第一服务器处注册的各个边缘算力提供方的算力服务信息。其中,算力服务信息可以包括各个算力服务的功能描述、参数传递、访问入口路径、安全密钥、函数名、版本、执行超时时间、使用价格、算力资源类型以及算力资源所在位置中的一项或多项。其中,算力服务能够提供的功能可以为视频转码、图片压缩、人工智能(artificial intelligence,ai)图像识别、人工智能语音识别、物联网动作触发等中的一项或多项。其中,参数传递,算力服务所需要输入的参数,例如待处理的数据、计算精度等。访问入口路径用于接入提供相应算力服务的物理服务器。执行超时时间是指一次算力服务所允许消耗的最大时长。使用价格可以基于各个算力服务(例如faas函数)的计费规则,即根据代码消耗的计算进行收费。算力资源的类型包括但不限于中央处理器、图形处理器、现场可编程门阵列等。算力资源所在位置是指边缘算力提供方所在的物理位置,可以包括位置所在的经纬度、海拔高度等。
57.在具体实现中,第一服务器可以根据算力服务信息列表中各个算力服务的函数功能、算力资源所在位置、使用价格、算力资源类型中的一项或多项,确定满足第二计算任务的算力服务。
58.在一些示例中,第一服务器可以根据第二计算任务中的关键字,查询能够提供与关键字匹配的函数功能的算力服务,作为候选的算力服务,或者直接确定由该算力服务对应的第二服务器提供边缘算力。
59.可选的,在确定了候选的算力服务后,第一服务器也可以优先选择算力资源所在位置距离第一服务器的位置较近于预设范围内的算力服务。
60.可选的,第一服务器还可以结合边缘算力提供方的使用价格、算力资源类型等其他因素,进一步筛选算力服务。
61.可选的,第一服务器还可以测量第一服务器与各个候选的边缘算力提供方之间的时延、带宽等参数。或者,第一服务器可以在运营商网络管理平台查询第一服务器与各个候选的边缘算力提供方之间的时延、带宽等参数。而后,第一服务器选择低传输时延和/或高带宽的算力服务对应的第二服务器作为最终确定的第二服务器。
62.s204、第一服务器向第二服务器发送第二计算任务。
63.示例性的,第二计算任务包括第一服务器向第二服务器传递的满足第二计算任务
的算力服务所需的参数等。例如,第一服务器可以通过调用满足第二计算任务的算力服务对应的访问接口,向第二服务器传递该算力服务所需的参数。传递的参数例如包括第一服务器的身份信息、证书管理机构(certification authority,ca)证书、算力服务对应的函数名称及版本、输入数据、请求序列号等。
64.s205、第二服务器向第一服务器发送第二计算任务对应的计算结果。
65.在一些实施例中,第二服务器在接收第二计算任务后,选择相应的算力服务对应的函数及版本,基于传入的数据执行函数运算并生成第二计算任务对应的计算结果。其中,第二计算任务对应的计算结果可以包括特定的数据计算结果、逻辑判断结果、文件等。
66.s206、第一服务器向第一终端发送第二计算任务对应的计算结果。
67.在一些实施例中,第一服务器在接收到第一计算任务对应的全部的第二计算任务对应的计算结果后,会将多个计算结果进行整合,发送至第一终端。
68.s207、第二服务器生成第一账单,并发送给第一服务器。
69.本技术中,第二服务器可以基于每一次的第二计算任务进行计费。例如,第二计算任务为faas函数的计算任务时,本技术能够以更细粒度实现对算力服务进行量化和计费,有利于实现异构边缘算力的共享。
70.在另一些实施例中,第一服务器在接收到第二服务器发送的第一账单后,可以按次进行结算,还可以对一段时间(如一个星期、一个月、一年)内进行的第二计算任务生成的第一账单一起进行结算。其中,结算方式包括主动缴费和自动缴费。
71.综上可见,在本技术实施例提供的边缘算力共享系统中,第一服务器维护有各个边缘算力提供方提供的算力服务的信息。第一服务器在接收到第一终端发送的第一计算任务后,会将第一计算任务拆分为至少两个第二计算任务。当第一服务器的边缘算力不能满足第一终端的第二计算任务时,第一服务器可以从本地存储的算力服务信息列表中查询边缘算力能够满足第一终端的第二计算任务的算力服务,通过访问入口路径确定的第二服务器为第一终端提供边缘算力。在本技术的一些实施例中,第一服务器可以对第一终端请求的第一计算任务进行拆分,拆分为细粒度的函数所能实现的算力服务,以细粒度的函数为单位,为第一终端匹配相应的第二服务器。
72.可以理解的,粗粒度的计算任务拆分为细粒度的函数能够实现的计算任务后,针对细粒度的函数匹配边缘算力提供方时,可以降低边缘算力提供方所配置的算力资源的要求,有利于提升匹配的成功率。
73.另外,从边缘算力提供方来看,当提供的算力服务以细粒度的函数来匹配时,降低了边缘算力提供方配置的算力资源的要求,可使得更多的异构的算力服务器也能够实现算力服务的共享。
74.在一些实施例中,第一服务器可以具体包括分流模块和账本模块。这里以第一服务器包括分流模块和账本模块为例,对本技术进行说明。如图3所示,为本发明实施例提供的另一种边缘算力共享系统的流程示意图,所述方法还包括:
75.s301、分流模块在账本模块上注册身份信息。
76.其中,身份信息可以包括但不限于分流模块的基本信息(例如:互联网协议地址、所在地理位置)、ca证书等。
77.s302、第二服务器在账本模块上注册身份信息。
78.其中,身份信息可以包括但不限于边缘算力提供方的基本信息(例如:企业名称或个人姓名、经营范围、企业性质)、ca证书等。
79.需要说明的是,上述步骤s302也可以在步骤s301之前或同时执行,本技术实施例不限定步骤s302和步骤s301的执行顺序。
80.s303、第二服务器在账本模块上注册算力服务信息。
81.其中,算力服务信息可以包括各个算力服务的功能描述、参数传递、访问入口路径、安全密钥、函数名、版本、执行超时时间、使用价格、算力资源类型以及算力资源所在位置中的一项或多项。其中,算力服务的功能描述可以包括但不限于视频转码、图片压缩、人工智能图像识别、人工智能语音识别、物联网动作触发。
82.具体的,第二服务器可以通过集成在区块链上的智能合约将算力服务信息写入账本模块并完成共识。其中,智能合约可以存储数据,该数据可以用于记录信息、事实、关联以及实现合约执行逻辑所需的任何其他信息。第二服务器还可以对注册在账本模块上的算力服务信息(如faas函数版本、faas函数类型)进行更新。
83.s304、第一终端向分流模块发送第一计算任务。
84.在一些实施例中,在第一终端向分流模块发送第一计算任务之前,第一终端与分流模块之间建立通信关系,完成信息交互。例如,第一终端可以将分流模块作为其业务服务方,分流模块为第一终端提供算力服务。包括分流模块可以利用本身的边缘算力为第一终端提供算力服务,还可以在本身的边缘算力无法满足第一终端的计算任务时,从账本模块存储的算力服务信息列表中查询边缘算力匹配的算力服务,由该算力服务对应的第二服务器提供边缘算力。
85.s305、分流模块将第一计算任务拆分为至少两个第二计算任务。
86.在一个具体的实现方式中,分流模块可以将第一计算任务对应的计算任务(通常计算量较大,为粗粒度的计算任务)拆分为更加细粒度函数(例如faas函数)能够实现的计算任务。其中,每一个细粒度函数能够实现的计算任务可以认为对应一个第二计算任务。
87.s306、当分流模块的边缘算力不满足第二计算任务时,分流模块从账本模块存储的算力服务信息列表中查询边缘算力满足第二计算任务的算力服务的信息。
88.在一些实施中,分流模块具备一定的边缘计算能力,能够完成一部分第二计算任务。针对分流模块本地无法完成的第二计算任务,分流模块从账本模块存储的算力服务信息列表中,查询能够满足这些第二计算任务的算力服务。或者分流模块不具备边缘计算能力,从账本模块存储的算力服务信息列表中查询全部的第二计算任务所需的算力服务。
89.在具体实现中,分流模块可以根据算力服务信息列表中各个算力服务的函数功能、算力资源所在位置、使用价格、算力资源类型中的一项或多项,确定满足第二计算任务的算力服务。
90.可以理解的,分流模块可以从账本模块存储的算力服务信息列表中获取算力服务信息。其中,算力服务的信息可以包括满足第二计算任务的算力服务的功能描述、参数传递、访问入口路径、安全密钥、函数名、版本、执行超时时间、使用价格、算力资源类型以及算力资源所在位置中的一项或多项。
91.在一些场景中,第二服务器虽然能提供与关键字匹配的函数功能,但在执行超时时间、使用价格、算力资源类型方面不能满足需求分流模块的需求。此时,分流模块可以从
候选的算力服务中进行选择,根据算力资源所在位置、价格、算力资源类型、时延、带宽等因素选择确定一个算力服务对应的第二服务器。在确定一个第二服务器后,分流模块会按照边缘算力提供方设置的代码编写规则,将函数代码、分流模块的身份信息和ca证书上传至边缘算力提供方提供的访问接口。边缘算力提供方在接收到函数代码、分流模块的身份信息和ca证书后,会进行函数代码的部署及执行环境的配置,将访问接口发送至分流模块。
92.在另一些场景中,分流模块可以根据算力服务信息列表中各个算力服务的函数功能、算力资源所在位置、使用价格、算力资源类型中的一项或多项进行查询,但查询不到满足第二计算任务的算力服务。此时,分流模块会向云计算服务器发送第一计算任务。
93.s307、分流模块对第二服务器的参数进行测试。
94.可选的,分流模块可以测量与各个候选的边缘算力提供方之间的时延、带宽等参数。或者,分流模块还可以在运营商网络管理平台查询与各个候选的边缘算力提供方之间的时延、带宽等参数。
95.s308、分流模块与第二服务器之间完成身份验证。
96.需要说明的是,在第二服务器提供算力服务前,分流模块和第二服务器需要通过双方在账本模块上的身份信息及ca证书,完成双向身份认证。
97.s309、分流模块向第二服务器发送第二计算任务。
98.s310、第二服务器向分流模块发送第二计算任务对应的计算结果。
99.s311、分流模块向第一终端发送第二计算任务对应的计算结果。
100.其中,步骤s309-步骤s311的过程可参照步骤s204-步骤s206,在此不予赘述。
101.需要说明的是,为分流模块提供过算力服务的边缘算力提供方,分流模块可以将边缘算力提供方的算力服务信息中的访问入口路径进行缓存,或者写入算力分流程序,之后可以多次持续使用边缘算力提供方提供的算力服务。
102.s312、第二服务器生成第一账单,并发送给账本模块。
103.在一个具体的实现方式中,账本模块可以采用共识机制对写入账本的记录进行确认和更新,在多节点共同参与下保证记录数据的不可篡改及可溯源。
104.综上可见,在本技术实施例提供的边缘算力共享系统中,账本模块维护有各个边缘算力提供方提供的算力服务的信息。分流模块在接收到第一终端发送的第一计算任务后,会将第一计算任务拆分为至少两个第二计算任务。当分流模块的边缘算力不能满足第一终端的第二计算任务时,分流模块可以从账本模块存储的算力服务信息列表中查询边缘算力能够满足第一终端的算力服务信息,由第二服务器为第一终端提供边缘算力。在本技术的一些实施例中,当第二服务器虽然能提供与关键字匹配的函数功能,但在执行超时时间、使用价格、算力资源类型方面不能满足需求分流模块的需求时,分流模块可以从候选的算力服务中进行选择,确定一个算力服务对应的第二服务器,并按照边缘算力提供方设置的代码编写规则上传函数代码。或者,当分流模块从账本模块存储的算力服务信息列表中查询不到能够满足第二计算任务的算力服务时,还可以将第一计算任务发送至云计算服务器。在本技术的另一些实施例中,分流模块可以对第一终端请求的第一计算任务进行拆分,拆分为细粒度的函数所能实现的算力服务,以细粒度的函数为单位,为第一终端匹配相应的算力服务。
105.可以理解的,粗粒度的计算任务拆分为细粒度的函数能够实现的计算任务后,针
对细粒度的函数匹配边缘算力提供方时,可以降低边缘算力提供方所配置的算力资源的要求,有利于提升匹配的成功率。
106.另外,从边缘算力提供方来看,当提供的算力服务以细粒度的函数来匹配时,降低了边缘算力提供方配置的算力资源的要求,可使得更多的异构的算力服务器也能够实现算力服务的共享。
107.这里示例性结合图像识别的应用场景对本技术提供的技术方案进行说明。
108.可以理解,图像(例如视频)识别具有低时延、高算力需求的特点,同时对于识别结果的准确率要求高,所以需要由靠近用户(即终端侧)的边缘计算节点进行处理。第一终端可以是质检机器人,第一服务器可以包括边缘算力服务节点和区块链账本节点,第二服务器配置gpu算力资源,能够提供高准确度要求的图像处理功能。如图4所示,为本发明实施例提供的又一种边缘算力共享系统的流程示意图,包括以下步骤:
109.s401、边缘算力服务节点在区块链账本节点上注册身份信息。
110.s402、第二服务器在区块链账本节点上注册身份信息。
111.s403、第二服务器在区块链账本节点上注册算力服务信息。
112.s404、质检机器人向边缘算力服务节点发送第一计算任务。
113.s405、边缘算力服务节点将第一计算任务拆分为至少两个第二计算任务。
114.s406、当边缘算力服务节点的边缘算力不满足第二计算任务时,边缘算力服务节点从区块链账本节点存储的算力服务信息列表中查询边缘算力满足第二计算任务的算力服务的信息。
115.s407、边缘算力服务节点对第二服务器的参数进行测试。
116.s408、边缘算力服务节点与第二服务器之间完成身份验证。
117.s409、边缘算力服务节点向第二服务器发送第二计算任务。
118.s410、第二服务器向边缘算力服务节点发送第二计算任务对应的计算结果。
119.s411、边缘算力服务节点向质检机器人发送第二计算任务对应的计算结果。
120.s412、第二服务器生成第一账单,并发送给区块链账本节点。
121.其中,上述步骤s401-步骤s412的具体内容可参见图3中步骤s301-步骤s312中的相关内容,在此不予赘述。
122.综上可见,以一个具体的图像识别为例,在本技术实施例提供的边缘算力共享系统中,区块链账本节点维护有各个边缘算力提供方提供的算力服务的信息。边缘算力服务节点在接收到第一终端发送的第一计算任务后,会将第一计算任务拆分为至少两个第二计算任务。当边缘算力服务节点的边缘算力不能满足质检机器人的第二计算任务时,边缘算力服务节点可以从区块链账本节点存储的算力服务信息列表中查询边缘算力能够满足质检机器人的算力服务信息,由第二服务器为质检机器人提供边缘算力。
123.上述主要从方法的角度对本技术实施例提供的方案进行了介绍。可以理解的是,为了实现上述功能,本技术实施例提供的边缘算力共享装置包含了执行各个功能相应的硬件结构和/或软件网元。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本技术能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述
的功能,但是这种实现不应认为超出本技术的范围。
124.如图5所示,为本技术实施例提供的一种第一服务器200的结构示意图。该第一服务器200包括查询模块201,存储模块202和通信模块203。
125.其中,通信模块203,用于接收第一终端发送的第一请求,第一请求用于请求执行第一计算任务;查询模块201,用于当第一服务器的边缘算力不满足第二计算任务时,从存储模块202中存储的算力服务信息列表中查询边缘算力满足第二计算任务的第一算力服务的信息;其中,第二计算任务为第一计算任务中的部分或全部任务;通信模块203,用于根据第一算力服务的信息向第二服务器发送第二计算任务;通信模块203,还用于接收到第二服务器返回的第二计算任务对应的计算结果。在一些实施例中,存储模块202可以是区块链账本模块,通信模块203可以是区块链客户端模块。
126.进一步的,第一服务器200还包括拆分模块204。拆分模块204,用于将第一计算任务拆分为至少两个第二计算任务,其中,第二计算任务为函数粒度的计算任务。在一些实施例中,拆分模块204可以是计算任务拆分模块。
127.可选的,通信模块203,还用于接收第二服务器发送的第一账单,第一账单为第二服务器执行第二计算任务的费用。
128.可选的,第一算力服务的信息还包括功能描述、参数传递、访问入口路径、安全密钥、函数名、版本、执行超时时间、使用价格、算力资源类型以及算力资源所在位置中的一项或多项。
129.可选的,查询模块201还用于从存储模块202中存储的算力服务信息列表中查询边缘算力满足第二计算任务的第一算力服务的信息,具体包括查询模块201还用于从存储模块202中存储的算力服务信息列表中查询算力服务的功能描述、算力资源所在位置、使用价格、算力资源类型中一项或多项满足第二计算任务的算力服务为第一算力服务。
130.由于本实施例提供的第一服务器200可执行上述边缘算力共享方法,因此其所能获得的技术效果可参考上述方法实施例,在此不再赘述。
131.如图6所示,图6示出一种第一服务器200的结构示意图,第一服务器200包括一个或多个处理器201、一个或多个存储器202、以及一个或多个通信接口203。
132.处理器201、存储器202和通信接口203通过总线相连接。处理器201可以包括通用中央处理器(例如cpu0和cpu1)、微处理器、特定应用集成电路(application-specific integrated circuit,asic),图形处理器、神经网络处理器,或者用于控制本技术方案程序执行的集成电路等。
133.存储器202,可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。存储器202可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统以及应用程序代码等。在一些示例中,存储数据区记录有各个边缘算力提供方的信息。此外,存储器202可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,ufs)等。处理器201通过运行存储在存储器202的指令,执行第二服务器200的各种功能应用以及数据处理。在一个示例中,处理器201也可以包括多个cpu,并且处理器201可以是一个单核(single-cpu)处理器或多核(multi-cpu)处理器。这里的处理器可以指一个或多个设备、电路或用于处理数据(例如计算机程序指令)的处理核。
134.通信接口203,可用于与其他设备或通信网络通信,如以太网,无线局域网(wireless local area networks,wlan)等。
135.需要说明的是,图1所示第二服务器300和第三服务器400等均可以参考图6所示的第一服务器200的结构。第二服务器300和第三服务器400等可以包括比第一服务器200更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。本技术实施例对此不做限定。
136.本技术另一实施例还提供一种边缘算力共享系统,该系统包括第一服务器和第二服务器。
137.本技术另一实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机指令,当计算机指令在服务器上运行时,使得边缘算力共享装置执行上述方法实施例所示的方法流程中执行的各个步骤。
138.本技术另一实施例还提供一种芯片系统,该芯片系统应用于边缘算力共享装置。所述芯片系统包括一个或多个接口电路,以及一个或多个处理器。接口电路和处理器通过线路互联。接口电路用于从边缘算力共享装置的存储器接收信号,并向处理器发送所述信号,所述信号包括所述存储器中存储的计算机指令。当处理器执行计算机指令时,边缘算力共享装置执行上述方法实施例所示的方法流程中边缘算力共享装置执行的各个步骤。
139.在本技术另一实施例中,还提供一种计算机程序产品,该计算机程序产品包括指令,当指令在边缘算力共享装置上运行时,使得边缘算力共享装置执行上述方法实施例所示的方法流程中执行的各个步骤。
140.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
141.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)或随机存储记忆体(random access memory,ram)等。
142.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应该以权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献