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

资源分配方法、装置、电子设备及存储介质与流程

2022-06-15 23:25:22 来源:中国专利 TAG:


1.本技术涉及网络技术领域,尤其涉及一种资源分配方法、装置、电子设备及存储介质。


背景技术:

2.函数服务化faas(functions as a service)是一种区别于传统服务器-客户端架构的新型网络架构,使用函数服务化,租户只需要关注业务代码逻辑,无需关注服务器的配置和维护。函数服务化面向多租户的场景下,需要解决各租户的数据安全性问题。


技术实现要素:

3.有鉴于此,本技术的目的在于提出一种资源分配方法、装置、电子设备及存储介质。
4.基于上述目的,本技术提供了一种资源分配方法,包括:
5.获取租户的资源池创建请求;其中,所述创建资源池请求包括执行函数请求的数量及所述租户配置的标识值;所述执行函数请求包括所述租户配置的函数;
6.根据所述执行函数请求的数量,确定业务容量;
7.根据所述业务容量和公共资源池的资源使用状态,从所述公共资源池中选取能够执行所述函数对应的函数实例的目标工作单元;其中,所述公共资源池维护工作单元的资源使用状态和单元标识,所述工作单元未分配时,所述工作单元的单元标识设置为默认标识值;
8.基于所述目标工作单元,建立私有资源池,将所述标识值分配给所述私有资源池,将所述目标工作单元分配给所述租户,并将所述目标工作单元的单元标识设置为所述标识值,以使具有所述标识值的工作单元能够执行根据所述租户配置的函数生成的函数实例。
9.可选的,所述资源使用状态包括函数占用状态和计算资源状态;
10.从所述公共资源池中选取能够执行所述函数对应的函数实例的目标工作单元,包括:
11.从所述公共资源池中选取所述单元标识为所述默认标识值、所述函数占用状态为空闲的至少一个工作单元;
12.根据所述计算资源状态,从选取出的至少一个工作单元中筛选出能够执行所述函数对应的函数实例的至少一个工作单元作为目标工作单元。
13.可选的,所述方法还包括:
14.获取资源池修改请求;其中,所述资源池修改请求包括所述标识值及目标业务容量;
15.根据所述标识值,确定目标私有资源池及所述目标私有资源池对应的当前业务容量;
16.根据所述目标业务容量和所述当前业务容量,确定容量变化量;
17.根据所述容量变化量,更新所述目标私有资源池中的目标工作单元的单元标识和资源使用状态。
18.可选的,所述资源使用状态包括函数占用状态;所述资源池修改请求为资源池扩容请求;
19.根据所述容量变化量,更新所述目标私有资源池中的目标工作单元的单元标识和资源使用状态,包括:
20.根据所述容量变化量,从所述公共资源池中选取所述单元标识为所述默认标识值、所述函数占用状态为空闲的至少一个工作单元;
21.在所述目标私有资源池中增加选取出的工作单元的单元标识和资源使用状态,将增加的工作单元的单元标识设置为所述标识值。
22.可选的,所述资源使用状态包括函数占用状态;所述资源池修改请求为资源池缩容请求;
23.根据所述容量变化量,更新所述目标私有资源池中的目标工作单元的单元标识和资源使用状态,包括:
24.根据所述容量变化量,从所述目标私有资源池中选取所述函数占用状态为空闲的目标工作单元;
25.从所述目标私有资源池中删除选取的目标工作单元的单元标识和资源使用状态,将删除的目标工作单元的单元标识设置为所述默认标识值。
26.可选的,所述方法还包括:
27.获取至少一个执行函数请求;其中,所述执行函数请求包括所述标识值;
28.根据所述执行函数请求的数量,确定实际业务容量;
29.根据所述标识值,确定目标私有资源池及所述目标私有资源池对应的当前业务容量;
30.根据所述实际业务容量和所述当前业务容量,确定容量变化量;
31.根据所述容量变化量,更新所述目标私有资源池中的目标工作单元的单元标识和资源使用状态。
32.可选的,所述方法还包括:
33.获取资源池删除请求;其中,所述资源池删除请求包括所述标识值;
34.根据所述标识值,确定目标私有资源池;
35.删除所述目标私有资源池中的目标工作单元的单元标识和资源使用状态;
36.删除所述目标私有资源池。
37.可选的,所述方法还包括:
38.获取函数操作请求;其中,所述函数操作请求包括所述标识值及操作类型;
39.根据所述标识值,确定目标私有资源池;
40.根据所述目标私有资源池中的目标工作单元的单元标识和资源使用状态,从所述目标私有资源池中选取目标占用工作单元;
41.按照所述操作类型,对所述目标占用工作单元进行操作,得到操作结果。
42.可选的,所述操作类型为新增至少一个函数,所述资源使用状态包括函数占用状态;
43.根据所述目标私有资源池中的目标工作单元的单元标识和资源使用状态,从所述目标私有资源池中选取目标占用工作单元,包括:
44.根据所述函数占用状态,从所述目标私有资源池中选取能够运行所述至少一个函数对应的函数实例的至少一个目标工作单元;
45.从选取出的至少一个目标工作单元中选取函数占用量最小的工作单元作为所述目标占用工作单元;
46.按照所述操作类型,对所述目标占用工作单元进行操作,包括:
47.向所述目标占用工作单元发送设置所述标识值的消息,以使所述目标占用工作单元将所述单元标识设置为所述标识值,当接收具有所述标识值的执行函数请求时,所述目标占用工作单元能够运行所述函数实例。
48.可选的,所述操作类型为修改至少一个函数,所述函数操作请求还包括目标标识值;
49.根据所述目标私有资源池中的目标工作单元的单元标识和资源使用状态,从所述目标私有资源池中选取目标占用工作单元,包括:
50.从所述目标私有资源池中选取所述单元标识为所述标识值的目标占用工作单元;
51.按照所述操作类型,对所述目标占用工作单元进行操作,包括:
52.将所述目标占用工作单元的单元标识设置为所述目标标识值;
53.向所述目标占用工作单元发送设置所述目标标识值的消息,以使所述目标占用工作单元将所述单元标识设置为所述目标标识值,当接收具有所述目标标识值的执行函数请求时,所述目标占用工作单元能够运行所述至少一个函数对应的函数实例。
54.可选的,所述操作类型为删除至少一个函数;
55.根据所述目标私有资源池中的工作单元的目标单元标识和资源使用状态,从所述目标私有资源池中选取目标占用工作单元,包括:
56.从所述目标私有资源池中选取所述单元标识为所述标识值的目标占用工作单元;
57.按照所述操作类型,对所述目标占用工作单元进行操作,包括:
58.向所述目标占用工作单元发送删除所述标识值的消息,以使所述目标占用工作单元将所述单元标识设置为所述默认标识值。
59.可选的,所述方法还包括:
60.向其他节点发送分配所述标识值的私有资源池,以及各工作单元的单元标识和资源使用状态。
61.基于同一构思,本技术还提供一种资源分配装置,包括:
62.获取模块,用于获取租户的资源池创建请求;其中,所述创建资源池请求包括执行函数请求的数量及所述租户配置的标识值;所述执行函数请求包括所述租户配置的函数;
63.容量确定模块,用于根据所述执行函数请求的数量,确定业务容量;
64.选取模块,用于根据所述业务容量和公共资源池的资源使用状态,从所述公共资源池中选取能够执行所述函数对应的函数实例的目标工作单元;其中,所述公共资源池维护工作单元的资源使用状态和单元标识,所述工作单元未分配时,所述工作单元的单元标识设置为默认标识值;
65.建立模块,用于基于所述目标工作单元,建立私有资源池,将所述标识值分配给所
述私有资源池,将所述目标工作单元分配给所述租户,并将所述目标工作单元的单元标识设置为所述标识值,以使具有所述标识值的工作单元能够执行根据所述租户配置的函数生成的函数实例。
66.基于同一构思,本技术还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上所述任意一项所述的方法。
67.基于同一构思,本技术还提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使计算机执行如上所述任意一项所述的方法。
68.从上面所述可以看出,本技术提供的资源分配方法、装置、电子设备及存储介质,根据租户资源池创建请求中的执行函数请求的数量,确定业务容量,根据业务容量和公共资源池的资源使用状态,从公共资源池中选取能够执行函数对应的函数实例的目标工作单元,基于目标工作单元,建立私有资源池,将标识值分配给私有资源池,将目标工作单元分配给租户,并将目标工作单元的单元标识设置为标识值,具有标识值的工作单元能够执行根据租户配置的函数生成的函数实例。本技术的方法能够为租户分配私有资源池和工作单元,工作单元仅用于执行对应租户的函数实例,不会出现不同租户的函数实例的交叉运行,从而实现租户间的函数实例运行环境隔离和资源隔离,保证租户的数据安全性。
附图说明
69.为了更清楚地说明本技术或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
70.图1为本技术实施例的应用场景示意图;
71.图2为本技术实施例的方法流程示意图;
72.图3为本技术实施例的资源池示意图;
73.图4为本技术实施例的资源池相关操作的数据流向示意图;
74.图5为本技术实施例的函数相关操作的数据流向示意图;
75.图6为本技术实施例的装置结构示意图;
76.图7为本技术实施例的电子设备结构示意图。
具体实施方式
77.下面将参考若干示例性实施方式来描述本技术的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本技术,而并非以任何方式限制本技术的范围。相反,提供这些实施方式是为了使本技术更加透彻和完整,并且能够将本技术的范围完整地传达给本领域的技术人员。
78.根据本技术的实施方式,提出了一种资源分配方法、装置、电子设备及存储介质。
79.在本文中,需要理解的是,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
80.下面参考本技术的若干代表性实施方式,详细阐释本技术的原理和精神。
81.相关技术中,函数服务化可采用容器或者虚拟机技术实现租户间的函数隔离,此种方式冷启动时间较长,扩缩容速度较慢,配置要求高,成本高。采用已有隔离技术实现进程内的函数隔离,能够缩短冷启动时间,函数部署密度高,且配置要求不高低,成本可控,但是,由于没有实现函数执行所依赖的资源隔离,多个租户进行业务部署之后,不同业务的函数执行所依赖的资源可能出现交叉,函数的混跑导致租户的私有数据存在安全隐患。
82.为解决上述问题,本技术提供一种资源分配方法,能够实现各租户的函数执行所依赖的资源隔离,同一个进程运行同一租户的函数实例,保证租户间的资源隔离,函数运行环境隔离,保证租户的数据安全性。
83.参考图1,其为本技术实施例提供的资源分配方法的应用场景示意图。该应用场景包括中心计算节点10、边缘计算节点20、租户30。
84.其中,租户30使用具有数据传输及处理能力的电子设备,如,计算机、平板电脑、智能手机等,该电子设备可安装用于部署特定业务的应用接口,租户30可通过该应用接口部署业务;在函数服务化中,租户30仅需通过应用接口开发部署函数,使得函数能够实现特定的业务功能。边缘计算节点20用于为租户30提供实现函数服务化的资源与数据处理支持,租户30的相关数据可以存储在边缘计算节点20上,并由边缘计算节点20提供租户的函数管理、租户间的进程隔离功能,边缘计算节点20仅需与中心计算节点10交互处理结果数据或者从中心计算节点10获取特定数据,而无需由中心计算节点10处理所有租户的相关数据,能够降低中心计算节点10的负担,降低成本,各类业务部署更为灵活。
85.下面结合图1的应用场景,来描述根据本技术示例性实施方式的资源分配方法。需要注意的是,上述应用场景仅是为了便于理解本技术的精神和原理而示出,本技术的实施方式在此方面不受任何限制。相反,本技术的实施方式可以应用于适用的任何场景。
86.首先,如图2所示,本技术实施例提供了一种资源分配方法,包括:
87.s201:获取租户的资源池创建请求;其中,创建资源池请求包括执行函数请求的数量及租户配置的标识值;执行函数请求包括租户配置的函数;
88.本实施例中,租户在进行业务部署时,可以申请创建自有的私有资源池,配置执行函数请求的数量,并设置私有资源池的标识值。向边缘计算节点发送资源池创建请求,由边缘计算节点根据执行函数请求的数量创建能够满足租户业务要求的私有资源池,并将设置的标识值作为该租户的私有资源池的标识值。
89.s202:根据执行函数请求的数量,确定业务容量;
90.本实施例中,租户的资源池创建请求中包括了执行函数请求的数量,该执行函数请求的数量为单位时间内的执行函数请求数量,例如,qps(queries-per-second,每秒查询率),边缘计算节点获取资源池创建请求之后,根据执行函数请求的数量,确定能够满足执行函数请求数量的业务容量,即确定能够达到执行函数请求数量的工作单元的数量。例如,租户配置的执行函数请求的数量为每秒钟3000个函数请求,根据租户的函数请求数量,确定分配两个工作单元能够实现每秒钟3000个函数请求的处理性能,从而确定该租户的业务容量为两个工作单元。
91.s203:根据业务容量和公共资源池的资源使用状态,从公共资源池中选取能够执行函数对应的函数实例的目标工作单元;其中,公共资源池维护工作单元的资源使用状态
和单元标识,工作单元未分配时,工作单元的单元标识设置为默认标识值;
92.本实施例中,确定业务容量之后,即确定了所需分配的工作单元的数量,结合公共资源池中所有工作单元的资源使用状态,从其中选取所需数量的能够执行函数对应的函数实例的目标工作单元。
93.边缘计算节点需要获知所有工作单元的元数据,以便于根据所有工作单元的资源使用状态,为租户分配合适的工作单元。在函数服务化中,将租户提交的函数生成可运行的函数实例,工作单元用于执行函数实例以实现特定业务功能,工作单元也可称为worker进程。
94.一些方式中,工作单元的元数据包括单元标识、资源使用状态、地址信息等,资源使用状态包括计算资源状态、函数占用状态等。其中,单元标识可以标识工作单元的分配状态,未分配给租户时,单元标识为预设的默认标识值,已分配给租户后,单元标识为该租户的标识值。计算资源状态可以标识工作单元的计算能力,例如,计算资源状态可以是cpu参数、内存参数等;根据工作单元的计算资源状态和租户的业务需求,为租户分配合适的工作单元,利用分配的工作单元为租户实现业务功能。函数占用状态可以标识工作单元当前的负载量,即当前执行的函数实例的数量,根据函数占用状态可以选取工作单元,进行工作单元的扩缩容。地址信息可以是网络地址,例如,ip地址、端口号等,地址信息用于在实现业务功能时通过地址调用对应的工作单元,由工作单元执行函数实例实现业务功能。
95.一些实施方式中,工作单元的数量可以在函数服务化的初始阶段进行配置,初始化的所有工作单元的单元标识均为默认标识值,所有工作单元均在公共资源池中进行统一管理。边缘计算节点定时收集所有工作单元的元数据,以便获知所有工作单元的最新资源使用状态,便于后续为租户分配合适的工作单元。
96.s204:基于目标工作单元,建立私有资源池,将标识值分配给私有资源池,将目标工作单元分配给租户,并将目标工作单元的单元标识设置为标识值,以使具有标识值的工作单元能够执行根据租户配置的函数生成的函数实例。
97.参考图3所示,本实施例中,在选取出目标工作单元之后,基于所选取出的目标工作单元,为租户创建私有资源池,利用私有资源池存储为该租户分配的目标工作单元的元数据,将租户设置的标识值分配给私有资源池,并将私有资源池中的目标工作单元的单元标识设置为标识值,利用标识值标识租户自有的私有资源池和工作单元。这样,各租户拥有各自的私有资源池和工作单元,私有的工作单元仅用于运行对应租户的函数实例,不再运行其他租户的函数实例,实现租户间的资源隔离和函数运行环境的隔离,不会出现不同租户的函数混跑问题,实现租户间的数据隔离,保证租户的私有数据安全性。
98.本实施例提供一种资源分配方法,应用于边缘计算节点,方法包括根据租户资源池创建请求中的执行函数请求的数量,确定业务容量,根据业务容量和公共资源池的资源使用状态,从公共资源池中选取能够执行函数对应的函数实例的目标工作单元,基于目标工作单元,建立私有资源池,将标识值分配给私有资源池,将目标工作单元分配给租户,并将目标工作单元的单元标识设置为标识值,具有标识值的工作单元能够执行根据租户配置的函数生成的函数实例。利用本实施例的方法,能够为各租户分配各自的私有资源池和工作单元,租户的工作单元仅执行对应租户的函数实例,不会出现不同租户的函数实例交叉运行,不会出现函数运行所依赖资源的交叉,能够保证租户的私有数据安全性;而且,基于
边缘计算节点实现边缘函数服务化,配置要求不高,成本可控,进程隔离化能够缩短冷启动时间,能够满足灵活多样的业务部署。
99.一些实施例中,资源使用状态包括函数占用状态和计算资源状态;
100.从公共资源池中选取能够执行函数对应的函数实例的目标工作单元,包括:
101.从公共资源池中选取单元标识为默认标识值、函数占用状态为空闲的至少一个工作单元;
102.根据计算资源状态,从选取出的至少一个工作单元中筛选出能够执行函数对应的函数实例的至少一个工作单元作为目标工作单元。
103.本实施例中,根据确定的业务容量和公共资源池中所有工作单元的资源使用状态,选取合适的目标工作单元的方法是,根据单元标识和函数占用状态,选取未分配且没有执行函数实例的一个或多个工作单元,然后根据选取出的各工作单元的计算资源状态,选取能够执行租户配置的函数对应的函数实例的一个或多个工作单元,并从中确定出业务容量所需数量的目标工作单元,基于所选取出的目标工作单元创建私有资源池,所选取出的目标工作单元能够满足执行函数实例的计算资源要求。如果未选取出符合条件的工作单元,则等待正在执行函数实例的工作单元执行完存量函数实例后,重新选取符合条件的工作单元,而不再为正在执行函数实例的工作单元增加负载。
104.一些实施例中,资源分配方法还包括:
105.获取资源池修改请求;其中,资源池修改请求包括标识值及目标业务容量;
106.根据标识值,确定目标私有资源池及目标私有资源池对应的当前业务容量;
107.根据目标业务容量和当前业务容量,确定容量变化量;
108.根据容量变化量,更新目标私有资源池中的目标工作单元的单元标识和资源使用状态。
109.考虑到租户的业务请求数会发生变化,为适应业务请求数变化,保证业务功能的正常实现,需要支持扩缩容功能。本实施例中,租户主动进行扩缩容,此种方式中,租户发送包括标识值和目标业务容量的资源池修改请求,边缘计算节点接收资源池修改请求,根据其中的标识值确定需要进行扩缩容的目标私有资源池,以及该目标私有资源池中的当前业务容量,根据其中的目标业务容量和当前业务容量,确定容量变化量,然后根据容量变化量,对目标私有资源池进行扩容或者缩容,使得扩容或者缩容后的私有资源池中的目标工作单元能够满足变化后的执行函数请求数量,保证业务功能正常实现。
110.一些实施例中,资源使用状态包括函数占用状态;资源池修改请求为资源池扩容请求;
111.根据容量变化量,更新目标私有资源池中的目标工作单元的单元标识和资源使用状态,包括:
112.根据容量变化量,从公共资源池中选取单元标识为默认标识值、函数占用状态为空闲的至少一个工作单元;
113.在目标私有资源池中增加选取出的工作单元的单元标识和资源使用状态,将增加的工作单元的单元标识设置为标识值。
114.本实施例中,租户主动进行扩容时,向边缘计算节点发送资源池扩容请求,该资源池扩容请求中包括私有资源池的标识值和扩容后的目标业务容量,边缘计算节点获取资源
池扩容请求,根据标识值确定目标私有资源池,以及该目标私有资源池的当前业务容量,然后根据目标业务容量和当前业务容量确定容量变化量,即所需增加的工作单元的数量。之后,从公共资源池中选取该数量的工作单元,将选取出的工作单元添加于目标私有资源池中,实现目标私有资源池的扩容。其中,从公共资源池中选取工作单元时,选择单元标识为默认标识值且函数占用状态为空闲的工作单元,即选取尚未分配且没有执行函数实例的工作单元作为用于扩容的目标工作单元,将选取出的目标工作单元的单元标识由默认标识值修改为目标私有资源池的标识值,并将选取出的目标工作单元的元数据增加于目标私有资源池中,完成目标私有资源池的扩容。
115.一些实施方式中,考虑到不同租户的需求不同,一些租户对于数据安全性要求较高,一些租户对于数据安全性要求不高,本实施例的方法能够满足不同租户的不同需求。具体的,对于具有数据安全性要求的租户,租户可先行创建私有资源池,为此类租户分配具有特定标识值的私有资源池及工作单元,由私有的工作单元运行租户的函数实例,私有的工作单元不可以运行其他租户的函数实例,从而实现租户之间的函数运行环境隔离和资源隔离。对于数据安全性要求不高的租户,可使用公共资源池中的工作单元,利用单元标识为默认标识值的工作单元运行函数实例,实现此类租户的业务功能,此种情况下,公共资源池中存在单元标识为默认标识值,但由于运行函数实例而函数占用状态为非空闲的工作单元,此类工作单元不可以作为私有资源池扩容可选的对象,避免出现租户间函数交叉运行的情况。由此,本实施例的方法,能够满足不同组户的需求,为不同租户分配合理的资源,避免资源分配不合理造成的抢夺、混跑等问题,提高所提供的服务质量和满意度。
116.一些实施例中,资源使用状态包括函数占用状态;资源池修改请求为资源池缩容请求;
117.根据容量变化量,更新目标私有资源池中的目标工作单元的单元标识和资源使用状态,包括:
118.根据容量变化量,从目标私有资源池中选取函数占用状态为空闲的目标工作单元;
119.从目标私有资源池中删除选取的目标工作单元的单元标识和资源使用状态,将删除的目标工作单元的单元标识设置为默认标识值。
120.本实施例中,租户主动进行缩容时,向边缘计算节点发送资源池缩容请求,该资源池缩容请求中包括私有资源池的标识值和缩容后的目标业务容量,边缘计算节点获取资源池缩容请求,根据标识值确定目标私有资源池,以及该目标私有资源池的当前业务容量,然后根据目标业务容量和当前业务容量确定容量变化量,即所需减少的目标工作单元的数量。之后,从目标私有资源池中选取该数量的目标工作单元,从目标私有资源池中删除选取出的目标工作单元的元数据,并将删除的目标工作单元的单元标识修改为默认标识值,实现目标私有资源池的缩容。其中,从目标私有资源池中选取目标工作单元时,选择函数占用状态为空闲的工作单元,即选取没有执行函数实例的目标工作单元作为用于缩容的目标工作单元,将选取出的目标工作单元的单元标识由目标私有资源池的标识值修改为默认标识值,释放回公共资源池中,完成目标私有资源池的缩容。
121.一些实施例中,资源分配方法还包括:
122.获取至少一个执行函数请求;其中,执行函数请求包括标识值;
123.根据执行函数请求的数量,确定实际业务容量;
124.根据标识值,确定目标私有资源池及目标私有资源池对应的当前业务容量;
125.根据实际业务容量和当前业务容量,确定容量变化量;
126.根据容量变化量,更新目标私有资源池中的目标工作单元的单元标识和资源使用状态。
127.本实施例中,在租户未主动进行扩缩容,但是执行函数请求的数量发生变化时,可以根据变化的执行函数请求的数量,进行扩缩容,为租户提供正常的业务功能。具体的,边缘计算节点获取多个执行函数请求时,确定执行函数请求的数量,根据执行函数请求的数量,确定实际业务容量,根据标识值确定目标私有资源池,及目标私有资源池的当前业务容量,根据实际业务容量和当前业务容量,确定容量变化量,根据容量变化量对目标私有资源池中的目标工作单元进行扩缩容,使得扩缩容后的目标工作单元能够正常实现业务功能。这样,即使租户没有主动进行扩缩容,也可以根据实际的执行函数请求数量进行扩缩容,将工作单元的数量作为私有资源池进行扩缩容的指标,能够反映私有资源池的利用率,同时降低扩缩容计算的复杂度。
128.举例来说,租户在创建私有资源池时,配置的执行函数请求的数量为每秒钟3000个函数请求,为该租户分配的工作单元数量为两个。在特定时段,该租户的执行函数请求的数量超过3000个,此时,边缘计算节点从公共资源池中选取尚未分配且函数占用状态为空闲的工作单元,用于为该租户扩容,将选取出的工作单元增加于该租户的私有资源池中,用于执行函数请求对应的函数实例,保证业务功能正常进行。在特定时段之后的一定时间之内,该租户的执行函数请求的数量下降至3000个以下,此时,边缘计算节点从该租户的私有资源池中选取函数占用状态为空闲的目标工作单元,用于为该租户缩容,将选取出的目标工作单元重新释放回公共资源池中,降低该租户的成本。需要说明的是,缩容后的工作单元的数量应为创建私有资源池阶段分配的目标工作单元的数量,不会少于初始分配的目标工作单元的数量。
129.一些实施例中,资源分配方法还包括:
130.获取资源池删除请求;其中,资源池删除请求包括标识值;
131.根据标识值,确定目标私有资源池;
132.删除目标私有资源池中的工作单元的单元标识和资源使用状态;
133.删除目标私有资源池。
134.本实施例中,租户可以删除私有资源池,向边缘计算节点发送资源池删除请求,请求删除具有标识值的私有资源池。边缘计算节点获取资源池删除请求后,根据其中的标识值确定对应的目标私有资源池,将目标私有资源池中的目标工作单元的元数据删除,然后删除目标私有资源池,完成私有资源池的删除。这样,租户可通过应用接口实现私有资源池的创建、修改(扩缩容)和删除操作,方便租户根据业务需求进行灵活的业务部署。
135.一些实施例中,资源分配方法还包括:
136.获取函数操作请求;其中,函数操作请求包括标识值及操作类型;
137.根据标识值,确定目标私有资源池;
138.根据目标私有资源池中的目标工作单元的单元标识和资源使用状态,从目标私有资源池中选取目标占用工作单元;
139.按照操作类型,对目标占用工作单元进行操作,得到操作结果。
140.本实施例中,租户不仅可对拥有的私有资源池进行创建、修改和删除操作,而且基于私有资源池,可进行包括增加函数、修改函数和删除函数等相关的业务操作。租户发送包括标识值的函数操作请求,边缘计算节点根据标识值确定对应的目标私有资源池,根据目标私有资源池中的目标工作单元的元数据,从中选取目标占用工作单元,然后按照具体的操作类型对目标占用工作单元进行相应操作,得到操作结果。
141.一些实施例中,操作类型为新增至少一个函数,资源使用状态包括函数占用状态;
142.根据目标私有资源池中的目标工作单元的单元标识和资源使用状态,从目标私有资源池中选取目标占用工作单元,包括:
143.根据函数占用状态,从目标私有资源池中选取能够运行至少一个函数对应的函数实例的至少一个目标工作单元;
144.从选取出的至少一个目标工作单元中选取函数占用量最小的工作单元作为目标占用工作单元;
145.按照操作类型,对目标占用工作单元进行操作,包括:
146.向目标占用工作单元发送设置标识值的消息,以使目标占用工作单元将单元标识设置为标识值,当接收具有标识值的执行函数请求时,目标占用工作单元能够运行函数实例。
147.本实施例中,当租户新增函数时,发送操作类型为新增函数的函数操作请求,边缘计算节点根据其中的标识值确定目标私有资源池,以及目标私有资源池中各目标工作单元的函数占用状态,根据各目标工作单元的函数占用状态,选取能够运行新增函数对应的函数实例的目标工作单元,如果选取出的目标工作单元为多个,可优先选取函数占用量最小的目标工作单元作为目标占用工作单元,由目标占用工作单元执行新增函数对应的函数实例。在确定出目标占用工作单元之后,向目标占用工作单元发送设置标识值的消息,目标占用工作单元接收该消息之后,将其单元标识设置为该标识值,之后,当接收具有该标识值的执行函数请求时,可根据标识值确定目标占用工作单元,由目标占用工作单元执行函数实例,实现业务功能。
148.一些实施例中,操作类型为修改至少一个函数,函数操作请求还包括目标标识值;
149.根据目标私有资源池中的目标工作单元的单元标识和资源使用状态,从目标私有资源池中选取目标占用工作单元,包括:
150.从目标私有资源池中选取单元标识为标识值的目标占用工作单元;
151.按照操作类型,对目标占用工作单元进行操作,包括:
152.将目标占用工作单元的单元标识设置为目标标识值;
153.向目标占用工作单元发送设置目标标识值的消息,以使目标占用工作单元将单元标识设置为目标标识值,当接收具有目标标识值的执行函数请求时,目标占用工作单元能够运行至少一个函数对应的函数实例。
154.本实施例中,对于租户具有多个私有资源池的情况,当租户修改函数所属私有资源池时,发送操作类型为修改函数的函数操作请求,边缘计算节点根据其中的标识值确定目标私有资源池,并将目标私有资源池中单元标识为该标识值的目标工作单元作为目标占用工作单元,将目标占用工作单元的单元标识修改为目标标识值,然后向目标占用工作单
元发送设置目标标识值的消息,目标占用工作单元收到该消息后,将其单元标识修改为目标标识值,之后,当接收具有该目标标识值的执行函数请求时,可根据目标标识值确定目标占用工作单元,由目标占用工作单元执行函数实例,实现业务功能。
155.一些实施例中,操作类型为删除至少一个函数;
156.根据目标私有资源池中的工作单元的目标单元标识和资源使用状态,从目标私有资源池中选取目标占用工作单元,包括:
157.从目标私有资源池中选取单元标识为标识值的目标占用工作单元;
158.按照操作类型,对目标占用工作单元进行操作,包括:
159.向目标占用工作单元发送删除标识值的消息,以使目标占用工作单元将单元标识设置为默认标识值。
160.本实施例中,当租户删除函数时,发送操作类型为删除函数的函数操作请求,边缘计算节点根据其中的标识值确定目标私有资源池,并将目标私有资源池中单元标识为该标识值的目标工作单元作为目标占用工作单元,向目标占用工作单元发送删除标识值的消息,目标占用工作单元接收该消息,将其单元标识由该标识值修改为默认标识值,此后,目标占用工作单元不再执行所删除的函数对应的函数实例。
161.本实施例提供的资源分配方法,租户能够通过应用接口在边缘计算节点上实现私有资源池的创建、扩缩容以及删除操作,并基于所拥有的私有资源池实现函数增加、修改和删除等操作。这样,租户可自行部署、维护及管理业务所需资源,操作方便,业务部署灵活,且租户间的资源隔离、函数运行环境隔离,能够保证租户的私有数据安全,满足租户的数据安全要求,提高服务稳定性。
162.一些实施例中,资源分配方法还包括:
163.向其他节点发送分配标识值的私有资源池,以及各工作单元的单元标识和资源使用状态。
164.在分布式系统中,边缘计算节点有多个,进行相关操作之前首选要从多个边缘计算节点中选取主节点,由主节点执行相关资源池操作,和/或函数操作,并将操作结果同步给其他节点,保证所有节点的资源池的相关信息和工作单元的元数据保持一致,便于统一维护管理资源池和工作单元。可选的,各边缘计算节点可基于raft协议选取主节点,只有主节点可以进行写操作,所有节点均可进行读操作。
165.以下结合具体实施例说明本实施例的资源分配方法。
166.结合图4、5所示,边缘计算节点包括网关、资源管理器、主机代理等用于实现函数服务化的多个功能单元,其中,网关用于从应用接口获取租户提交的相关操作请求,以及接收主机代理上报的所有工作单元的元数据,然后根据相关操作请求和所有工作单元的元数据,执行相关操作,统一调度资源。资源管理器用于维护和管理所有工作单元,包括但不限于:初始化阶段配置公共资源池和预定数量的工作单元,将所有工作单元的单元标识设置为默认标识值;当接收网关发送的目标占用工作单元的标识值的消息后,将该目标占用工作单元的单元标识修改为该标识值;当接收具有标识值的函数请求时,调用该标识值的工作单元执行函数实例等等。主机代理用于接收所有工作单元定时上报的元数据,以便于将所有工作单元的元数据统一上报至网关。
167.一些方式中,网关、资源管理器和主机代理可以基于物理机或者虚拟机独立配置。
也可以是,在同一台物理机或者虚拟机上同时配置网关、资源管理器以及主机代理,具体方式不做限定。
168.如图4所示,步骤401,租户通过应用接口进行资源池创建、修改、删除等相关操作;步骤402,应用接口直接返回操作成功。步骤403,网关周期性的轮询应用接口,获取租户提交的资源池相关操作请求;步骤404,应用接口向网关同步租户的相关操作请求数据。步骤405,所有工作单元通过心跳信息定时向主机代理上报各自的元数据,通过心跳信息也可以对工作单元进行健康状态检查,及时发现异常的工作单元;步骤406,主机代理向上报心跳信息的工作单元发送心跳响应信息。步骤407,主机代理将所收集的工作单元的元数据统一上报给网关;步骤408,网关接收上报的工作单元的元数据,向主机代理发送上报成功信息。步骤409,从多个边缘计算节点中选取主节点,由主节点执行资源池的相关操作。
169.步骤4101,对于资源池创建请求,主节点从公共资源池中预选出函数占用状态为空闲、单元标识为默认标识值,且计算资源能够执行函数实例的至少一个工作单元,从预选出的工作单元中优选出最符合条件的目标工作单元,然后,基于优选出的目标工作单元的元数据,创建私有资源池,为该私有资源池分配租户设置的标识值,将私有资源池中的目标工作单元的单元标识设置为该标识值,完成私有资源池的创建。步骤4102,对于资源池修改请求,根据目标业务容量和私有资源池的当前业务容量,从公共资源池中选取扩容的工作单元,增加于私有资源池中,实现扩容,或者从私有资源池中选取函数占用状态为空闲的目标工作单元,释放回公共资源池中,实现缩容。步骤4103,对于资源池删除请求,主节点将所要删除的私有资源池中的目标工作单元的元数据删除,并将该私有资源池删除,完成私有资源池的删除。步骤411,主节点执行资源池的相关操作之后,将资源池的操作结果同步发送给其他节点,保证所有节点的资源池信息保持一致。
170.租户不仅可以创建、修改、删除私有资源池,还可以基于自有的私有资源池,进行函数的增加、修改和删除等业务操作。
171.如图5所示,步骤501,租户通过应用接口进行函数新增、修改、删除等相关函数操作;步骤502,应用接口直接返回操作成功。步骤503,网关周期性的轮询应用接口,获取租户提交的函数操作请求;步骤504,应用接口向网关同步租户的函数操作请求数据。步骤505,所有工作单元通过心跳信息定时向主机代理上报各自的元数据,通过心跳信息也可以对工作单元进行健康状态检查,及时发现异常的工作单元;步骤506,主机代理向上报心跳信息的工作单元发送响应信息。步骤507,主机代理将所收集的工作单元的元数据统一上报给网关;步骤508,网关接收上报的工作单元的元数据,向主机代理发送上报成功信息。步骤509,从多个边缘计算节点中选取主节点,由主节点执行相关业务操作。
172.步骤5101,对于新增函数的函数操作请求,主节点从目标私有资源池中选取目标占用工作单元,向目标占用工作单元发送标识值,目标占用工作单元接收到标识值,将单元标识设置为该标识值,后续接收到函数请求时,根据标识值确定目标占用工作单元,由目标占用工作单元执行函数实例,实现特定的业务功能。步骤5102,对于修改函数的函数操作请求,主节点从目标私有资源池中选取目标占用工作单元,向目标占用工作单元发送修改后的目标标识值,目标占用工作单元接收到目标标识值,将单元标识设置为目标标识值,后续接收到函数请求时,根据目标标识值确定目标占用工作单元,由目标占用工作单元执行函数实例,实现特定的业务功能。步骤5103,对于删除函数的函数操作请求,主节点从目标私
有资源池中选取目标占用工作单元,向目标占用工作单元发送删除标识值的消息,目标占用工作单元接收该消息,将单元标识设置为默认标识值。步骤511,目标占用工作单元接收主节点发送的消息,向主节点发送成功设置消息。步骤512,主节点执行相关函数操作之后,将函数操作结果同步发送给其他节点,保证所有节点的工作单元的元信息保持一致。
173.上述步骤403-408、步骤503-508中,网关周期性的从应用接口获取租户的请求数据,以及定期接收主机代理上报的所有工作单元的元数据,这样的机制使得即使网关发生故障或者重启导致数据丢失,也可以在短期内实现数据恢复,从而提高系统的可靠性,能够为租户提供稳定可靠的服务。
174.需要说明的是,本技术实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本技术实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
175.需要说明的是,上述对本技术的一些实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于上述实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
176.基于同一发明构思,与上述任意实施例方法相对应的,本技术还提供了一种资源分配装置。
177.参考图6,所述资源分配装置包括:
178.获取模块601,用于获取租户的资源池创建请求;其中,创建资源池请求包括执行函数请求的数量及租户配置的标识值;执行函数请求包括租户配置的函数;
179.容量确定模块602,用于根据执行函数请求的数量,确定业务容量;
180.选取模块603,用于根据业务容量和公共资源池的资源使用状态,从公共资源池中选取能够执行函数对应的函数实例的目标工作单元;其中,公共资源池维护工作单元的资源使用状态和单元标识,工作单元未分配时,工作单元的单元标识设置为默认标识值;
181.建立模块604,用于基于目标工作单元,建立私有资源池,将标识值分配给私有资源池,将目标工作单元分配给所述租户,并将目标工作单元的单元标识设置为标识值,以使具有标识值的工作单元能够执行根据租户配置的函数生成的函数实例。
182.为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本技术时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
183.上述实施例的装置用于实现前述任一实施例中相应的弹窗效果的呈现方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
184.基于同一发明构思,与上述任意实施例方法相对应的,本技术还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上任意一实施例所述的资源分配方法。
185.图7示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间
在设备内部的通信连接。
186.处理器1010可以采用通用的cpu(central processing unit,中央处理器)、微处理器、应用专用集成电路(application specific integrated circuit,asic)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
187.存储器1020可以采用rom(read only memory,只读存储器)、ram(random access memory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
188.输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
189.通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如usb、网线等)实现通信,也可以通过无线方式(例如移动网络、wifi、蓝牙等)实现通信。
190.总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
191.需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
192.上述实施例的电子设备用于实现前述任一实施例中相应的资源分配方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
193.基于同一发明构思,与上述任意实施例方法相对应的,本技术还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上任一实施例所述的资源分配方法。
194.本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
195.上述实施例的存储介质存储的计算机指令用于使所述计算机执行如上任一实施例所述的资源分配方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
196.需要说明的是,除非另外定义,本技术实施例使用的技术术语或者科学术语应当为本技术所属领域内具有一般技能的人士所理解的通常意义。本技术实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的
组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。元素前的冠词“一”或“一个”不排除多个这种元素的存在。
197.虽然已经参考若干具体实施方式描述了本技术的精神和原理,但是应该理解,本技术并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本技术旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。所附权利要求的范围符合最宽泛的解释,从而包含所有这样的修改及等同结构和功能。
再多了解一些

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

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

相关文献