本发明属于通信技术领域,具体涉及一种资源分配方法、资源分配装置、区块链。
背景技术:
随着mec(multi-accessedgecomputing,多接入边缘计算)的逐步商用和大规模部署,自动驾驶、智慧城市等大型边缘计算业务需要更具专业性和敏捷性的业务编排系统。
meao(多接入边缘应用编排)系统可以在分散的边缘云之间部署大规模网络服务,从mec服务器对应的基本组件,如基于容器或vnf(networkfunctionsvirtualization,网络功能虚拟化)的边缘应用、虚拟基础设施等中收集各种消息,对一个区域内的多个mec服务器进行管理,灵活的为边缘计算业务(如各种边缘应用和服务)分配这一区域内的mec服务器资源。
但由于多个meao系统之间进行消息同步的严格要求,如要满足消息交换的安全性要求,因此难以在多个meao系统之间进行消息同步,也就难以实现为边缘计算业务灵活分配不同区域内的mec服务器资源。
技术实现要素:
本发明至少部分解决现有的资源分配方法难以实现为边缘计算业务灵活分配不同区域内的mec服务器资源的问题,提供一种能够为边缘计算业务灵活分配不同区域内的mec服务器资源的资源分配方法。
本发明的第一方面提供一种资源分配方法,所述方法包括:
接收多个多接入边缘应用编排系统发送的资源分配请求,每个多接入边缘应用编排系统对应多个承载边缘计算资源的多接入边缘计算服务器,所述资源分配请求包括待分配资源任务;
从多个资源分配请求中确定一个资源分配请求为第一资源分配请求,发送所述第一资源分配请求的多接入边缘应用编排系统为第一编排器;
根据预设模型和所述第一资源分配请求从区块链的多个节点中确定一个节点为主节点,从除所述第一编排器外其他多个多接入边缘应用编排系统中确定第二编排器,并从所述第二编排器对应的多个多接入边缘计算服务器中确定第二边缘计算服务器;
通过所述主节点将所述第二边缘计算服务器承载的资源分配给所述待分配资源任务。
可选的,所述预设模型为竞争深度q学习模型。
进一步可选的,所述预设模型的状态空间为s(t)={h(t),r(t),v(t)},其中,h(t)表示区块链节点在时间t的信任度,r(t)表示多接入边缘应用编排系统在时间t的信任度,v(t)表示多接入边缘计算服务器在时间t的可用资源。
可选的,所述通过所述主节点将所述第二边缘计算服务器承载的资源分配给所述待分配资源任务,包括:向所述第一编排器发送应答信息;向所有多接入边缘应用编排系统发送验证消息,所述验证消息为所述主节点根据所述待分配资源任务和所述第二边缘计算服务器生成的消息;将所述待分配资源任务发送至所述第二边缘计算服务器。
进一步可选的,所述向所有多接入边缘应用编排系统发送验证消息,包括:控制所述主节点向所述区块链除所述主节点外其他副节点发送预备消息,并在所有所述副节点确认所述预备消息后,向所有多接入边缘应用编排系统发送验证消息。
本发明的第二方面提供一种资源分配装置,所述装置包括:
接收模块,用于接收多个多接入边缘应用编排系统发送的资源分配请求,每个多接入边缘应用编排系统对应多个承载边缘计算资源的多接入边缘计算服务器,所述资源分配请求包括待分配资源任务;
选择模块,用于从多个资源分配请求中确定一个资源分配请求为第一资源分配请求,发送所述第一资源分配请求的多接入边缘应用编排系统为第一编排器;
深度学习模块,用于根据预设模型和所述第一资源分配请求从区块链的多个节点中确定一个节点为主节点,从除所述第一编排器外其他多个多接入边缘应用编排系统中确定第二编排器,并从所述第二编排器对应的多个多接入边缘计算服务器中确定第二边缘计算服务器;
分配模块,用于通过所述主节点将所述第二边缘计算服务器承载的资源分配给所述待分配资源任务。
可选的,所述预设模型为竞争深度q学习模型。
进一步可选的,所述预设模型的状态空间为s(t)={h(t),r(t),v(t)},其中,h(t)表示区块链节点在时间t的信任度,r(t)表示多接入边缘应用编排系统在时间t的信任度,v(t)表示多接入边缘计算服务器在时间t的可用资源。
可选的,所述分配模块还包括:应答单元,用于向所述第一编排器发送应答信息;发送单元,用于向所有多接入边缘应用编排系统发送验证消息,所述验证消息为所述主节点根据所述待分配资源任务和所述第二边缘计算服务器生成的消息;分配单元,用于将所述待分配资源任务发送至所述第二边缘计算服务器。
本发明的第三方面提供一种区块链,所述区块链包括:
多个节点;
以及上述任意一种资源分配装置。
本发明实施例的资源分配方法、资源分配装置、区块链中,利用区块链系统消息记录不可变,消息同步可信赖的特点,通过区块链系统实现不同meao系统之间交互,实现对不同区域的meao系统管理的mec服务器资源的管理与分配。
附图说明
图1为本发明实施例的一种资源分配方法的流程示意图;
图2为本发明实施例的另一种资源分配方法的流程示意图;
图3为本发明实施例的一种资源分配装置的组成示意框图;
图4为本发明实施例的一种资源分配装置的分配单元的组成示意框图;
图5为本发明实施例的一种区块链的组成示意框图。
具体实施方式
为使本领域技术人员更好地理解本发明的技术方案,下面结合附图和具体实施方式对本发明作进一步详细描述。
可以理解的是,此处描述的具体实施例和附图仅仅用于解释本发明,而非对本发明的限定。
可以理解的是,在不冲突的情况下,本发明中的各实施例及实施例中的各特征可相互组合。
可以理解的是,为便于描述,本发明的附图中仅示出了与本发明相关的部分,而与本发明无关的部分未在附图中示出。
可以理解的是,本发明的实施例中所涉及的每个单元、模块可仅对应一个实体结构,也可由多个实体结构组成,或者,多个单元、模块也可集成为一个实体结构。
可以理解的是,在不冲突的情况下,本发明的流程图和框图中所标注的功能、步骤可按照不同于附图中所标注的顺序发生。
可以理解的是,本发明的流程图和框图中,示出了按照本发明各实施例的系统、装置、设备、方法的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可代表一个单元、模块、程序段、代码,其包含用于实现规定的功能的可执行指令。而且,框图和流程图中的每个方框或方框的组合,可用实现规定的功能的基于硬件的系统实现,也可用硬件与计算机指令的组合来实现。
可以理解的是,本发明实施例中所涉及的单元、模块可通过软件的方式实现,也可通过硬件的方式来实现,例如单元、模块可位于处理器中。
实施例1:
参照图1,本实施例提供一种资源分配方法。
具体的,本实施例的资源分配方法可以用于多接入边缘计算业务协同编排系统架构。
多接入边缘计算业务协同编排系统架构从上到下共分为三层,包括边缘计算业务与应用层、基于区块链的协同编排系统层和mec边缘ict设施资源层。
其中,边缘计算业务与应用层包括自动驾驶、智慧城市、只能制造、云游戏等边缘计算业务。
mec边缘ict(informationandcommunicationstechnology,信息与通信技术)设施资源层包括4g或5g移动网络u-gw/dp/upf、wifi接入网ap或光接入网的onu/ont等多种接入技术的网络设施,也包括承载业务和应用的边缘计算资源的多个mec服务器,以及部署在这些服务器上的mep(mecplatform,mec平台),通过将这些ict资源虚拟化,形成各个区域内的融合网络和边缘计算资源池。
基于区块链的协同编排系统层包括由k个meao系统、与meao系统对应的mepm(移动边缘平台管理器)、nfv的编排器nfvo(网络功能虚拟化编排器)以及具有m个节点的区块链系统。
为了降低在地理区域上大规模广泛部署的meao系统的信息时延和以及发送信息的网络开销,k个meao系统位于k个区域,每个meao系统管理该区域内所有的mec服务器,通过本实施例的资源分配方法和区块链,k个meao系统可以进行信息同步,对mec边缘ict设施资源层的边缘计算资源池中的资源进行管理和分配。
本实施例的资源分配方法具体包括:
s101、接收多个多接入边缘应用编排系统发送的资源分配请求,每个多接入边缘应用编排系统对应多个承载边缘计算资源的多接入边缘计算服务器,资源分配请求包括待分配资源任务。
基于区块链的协同编排系统层中的meao系统(多接入边缘应用编排系统)收集其管理范围内的本地消息,然后将这些消息分为一系列交易事务。
所有meao系统都会向区块链系统发出资源分配请求,该资源分配请求包括待分配资源任务,具体可以是一个交易事务,用于请求为待分配资源任务分配位于其他区域的meao系统管理的多接入边缘计算服务器(mec服务器),即meao系统对应的mec服务器对应的资源。
s102、从多个资源分配请求中确定一个资源分配请求为第一资源分配请求,发送第一资源分配请求的多接入边缘应用编排系统为第一编排器。
区块链系统在接收到多个资源分配请求之后,会选择其中资源分配请求为第一资源分配请求,则发送该第一资源分配请求的meao系统就是第一编排器。
s103、根据预设模型和第一资源分配请求从区块链的多个节点中确定一个节点为主节点,从除第一编排器外其他多个多接入边缘应用编排系统中确定第二编排器,并从第二编排器对应的多个多接入边缘计算服务器中确定第二边缘计算服务器。
由于区块链系统是分散的并且没有中央管理节点,因此在确定第一资源分配请求之后,基于区块链的协同编排系统层根据预设模型从区块链系统的多个节点中确定一个节点为主节点,其他节点为副节点,并从除第一编排器外其他多个meao系统中确定一个满足第一资源分配请求的meao系统的第二编排器,并从第二编排器管理的mec服务器中确定一个服务器为第二边缘计算服务器。
其中,可选的,预设模型为竞争深度q学习模型。
进一步可选的,预设模型的状态空间为s(t)={h(t),r(t),v(t)},其中,h(t)表示区块链节点在时间t的信任度,r(t)表示多接入边缘应用编排系统在时间t的信任度,v(t)表示多接入边缘计算服务器在时间t的可用资源。
具体的,假设有c个mec服务器,用{1,…,c}表示,区块链系统中有n个节点,表示为{1,…,n},m个meao系统,用{1,…,m}表示,定义区块链节点和meao系统的信任度转移概率矩阵为pm与pn,mec资源状态转移矩阵为pc。
在拜占庭式故障模型中,当区块链系统中总共有n个节点时,最多有f=(n-1)/3个不正确的节点。
在每个时间步骤,选择一个meao系统与区块链系统连接,选择一个主区块链节点,并选择一个mec服务器来进行计算任务。
其中,在选择一个mec服务器来进行计算任务时,需要考虑区块链系统以及计算任务使用mec服务器的运营成本。
区块链系统接收meao系统的资源分配请求以及区块链系统的各个节点之间的通信都需要mec服务器提供网络资源,消耗链路带宽。
当计算任务部署在mec服务器上时,还需要计算和存储资源来满足其需求。同时,还有例如验证签名,生成mac(消息认证码)等需要消耗mec服务器的计算资源。
而消耗mec服务器的资源自然会产生mec服务器的运营成本。
为了满足区块链系统资源分配的效率,在选择一个mec服务器来进行计算任务需要考虑访问时延、处理时间和运营成本三方面。
访问时延是指计算任务的数据传输时间,处理时间是指计算任务的处理时间,其和网络资源和所选mec服务器的位置有关,是跳数的函数,而跳数与链路带宽有关,运营成本则是mec服务器消耗的计算资源和网络资源的成本。
具体的,本实施例的预设模型为duelingdqn(竞争深度q学习)模型,即通过duelingdqn训练模型得到区块链节点和meao系统的信任度转移概率矩阵pm与pn以及mec资源状态转移矩阵pc。
具体的,本实施例的预设模型训练时的状态空间可以是s(t)={h(t),r(t),v(t)},其中,h(t)表示区块链节点在时间t的信任度,r(t)表示多接入边缘应用编排系统在时间t的信任度,v(t)表示多接入边缘计算服务器在时间t的可用资源。
状态空间中包含不同区块链节点之间的信任度,多个meao系统之间的信任度以及mec服务器的可用资源,可以使模型从动作与环境之间的交互中学习,通过数据训练得到最优模型。
由于需要在每个时间步骤中进行选择区块链系统中的主节点,选择要连接到区块链的meao系统,选择满足资源需求的mec服务器。因此,每个时间步t中的动作可以表示为:a(t)={an(t),am(t),ac(t)},其中,an(t)为选择的区块链的节点,am(t)为选择的meao系统,ac(t)为选择的mec服务器。
奖励函数是区块链吞吐量与访问时延、处理时间和运营成本的加权和,其中区块链吞吐量的权重系数>0,其他权重系数均<0.
在模型的一次训练过程中,选出meao系统和区块链主节点以及mec服务器,会获得即时奖励,记为r(t)。此外,系统状态将转换为s(t+1),包括区块链节点和meao系统之间的信任度,以及下一步的mec服务器资源。
s104、通过主节点将第二边缘计算服务器承载的资源分配给待分配资源任务。
区块链系统通过主节点将将第二边缘计算服务器承载的资源分配给待分配资源任务,即通过主节点使第二边缘计算服务器处理待分配资源任务。
可选的,参照图2,通过主节点将第二边缘计算服务器承载的资源分配给待分配资源任务(s104),包括:
s1041、向第一编排器发送应答信息。
节点回应所选meao系统(即第一编排器)的资源分配请求,并根据接收到的待分配任务及其自身生成签名和消息验证码(mac)。
s1042、向所有多接入边缘应用编排系统发送验证消息,验证消息为主节点根据待分配资源任务和第二边缘计算服务器生成的消息。
进一步可选的,向所有多接入边缘应用编排系统发送验证消息,包括:控制主节点向区块链除主节点外其他副节点发送预备消息,并在所有副节点确认预备消息后,向所有多接入边缘应用编排系统发送验证消息。
主节点向所有副节点发送一个预备消息,并为所有副本节点生成mac(消息验证码)。
然后,所有副本节点分别向所有区块链节点发送一条准备消息,在发送完成后,所有节点都会向其他节点发送提交消息。
最后,区块链节点使用已验证的消息(也就是使用消息验证码验证的消息),即验证消息答复所有meao系统,该验证消息可以包括第二边缘计算服务器的标识,第二编排器在接收到验证消息之后可以从验证消息中获取第二边缘计算服务器的标识,可以接入主节点。
s1043、将待分配资源任务发送至第二边缘计算服务器。
通过主节点,第一编排器可以将待分配任务的数据发送至第二边缘计算服务器,使其对数据进行处理。
在区块链技术中,使用密码学方法,每个消息块都具有前一个消息块的哈希序列,每个块都保留所有现有块的记录,通过区块链的节点将待分配资源任务发送至第二边缘计算服务器保证了信息传输的不可篡改性,提升了资源分配过程的可靠性。
需要强调的是,在一次资源分配过程结束之后,可以不立即进行下一次的资源分配,两次不同的资源分配过程要保持隔离,避免相互干扰。
本实施例的资源分配方法,利用区块链系统消息记录不可变,消息同步可信赖的特点,通过区块链系统实现不同meao系统之间交互,实现对不同区域的meao系统管理的mec服务器资源的管理与分配。
实施例2:
参照图3,本实施例提供一种资源分配装置,该资源分配装置包括:
接收模块,用于接收多个多接入边缘应用编排系统发送的资源分配请求,每个多接入边缘应用编排系统对应多个承载边缘计算资源的多接入边缘计算服务器,资源分配请求包括待分配资源任务;
选择模块,用于从多个资源分配请求中确定一个资源分配请求为第一资源分配请求,发送第一资源分配请求的多接入边缘应用编排系统为第一编排器;
深度学习模块,用于根据预设模型和第一资源分配请求从区块链的多个节点中确定一个节点为主节点,从除第一编排器外其他多个多接入边缘应用编排系统中确定第二编排器,并从第二编排器对应的多个多接入边缘计算服务器中确定第二边缘计算服务器;
分配模块,用于通过主节点将第二边缘计算服务器承载的资源分配给待分配资源任务。
可选的,预设模型为竞争深度q学习模型。
可选的,预设模型的状态空间为s(t)={h(t),r(t),v(t)},其中,h(t)表示区块链节点在时间t的信任度,r(t)表示多接入边缘应用编排系统在时间t的信任度,v(t)表示多接入边缘计算服务器在时间t的可用资源。
可选的,参照图4,分配模块还包括:
应答单元,用于向第一编排器发送应答信息;
发送单元,用于向所有多接入边缘应用编排系统发送验证消息,验证消息为主节点根据待分配资源任务和第二边缘计算服务器生成的消息;
分配单元,用于将待分配资源任务发送至第二边缘计算服务器。
本实施例的资源分配装置中,利用区块链系统消息记录不可变,消息同步可信赖的特点,通过区块链系统实现不同meao系统之间交互,实现对不同区域的meao系统管理的mec服务器资源的管理与分配。
实施例3:
参照图5,本实施例提供一种区块链,其包括多个节点以及上述任意一种资源分配装置。
本实施例的区块链中,利用区块链系统消息记录不可变,消息同步可信赖的特点,通过区块链系统实现不同meao系统之间交互,实现对不同区域的meao系统管理的mec服务器资源的管理与分配。
可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。
1.一种资源分配方法,其特征在于,所述方法包括:
接收多个多接入边缘应用编排系统发送的资源分配请求,每个多接入边缘应用编排系统对应多个承载边缘计算资源的多接入边缘计算服务器,所述资源分配请求包括待分配资源任务;
从多个资源分配请求中确定一个资源分配请求为第一资源分配请求,发送所述第一资源分配请求的多接入边缘应用编排系统为第一编排器;
根据预设模型和所述第一资源分配请求从区块链的多个节点中确定一个节点为主节点,从除所述第一编排器外其他多个多接入边缘应用编排系统中确定第二编排器,并从所述第二编排器对应的多个多接入边缘计算服务器中确定第二边缘计算服务器;
通过所述主节点将所述第二边缘计算服务器承载的资源分配给所述待分配资源任务。
2.根据权利要求1所述的方法,其特征在于,所述预设模型为竞争深度q学习模型。
3.根据权利要求2所述的方法,其特征在于,
所述预设模型的状态空间为s(t)={h(t),r(t),v(t)},其中,h(t)表示区块链节点在时间t的信任度,r(t)表示多接入边缘应用编排系统在时间t的信任度,v(t)表示多接入边缘计算服务器在时间t的可用资源。
4.根据权利要求1所述的方法,其特征在于,所述通过所述主节点将所述第二边缘计算服务器承载的资源分配给所述待分配资源任务,包括:
向所述第一编排器发送应答信息;
向所有多接入边缘应用编排系统发送验证消息,所述验证消息为所述主节点根据所述待分配资源任务和所述第二边缘计算服务器生成的消息;
将所述待分配资源任务发送至所述第二边缘计算服务器。
5.根据权利要求4所述的方法,其特征在于,所述向所有多接入边缘应用编排系统发送验证消息,包括:
控制所述主节点向所述区块链除所述主节点外其他副节点发送预备消息,并在所有所述副节点确认所述预备消息后,向所有多接入边缘应用编排系统发送验证消息。
6.一种资源分配装置,其特征在于,所述装置包括:
接收模块,用于接收多个多接入边缘应用编排系统发送的资源分配请求,每个多接入边缘应用编排系统对应多个承载边缘计算资源的多接入边缘计算服务器,所述资源分配请求包括待分配资源任务;
选择模块,用于从多个资源分配请求中确定一个资源分配请求为第一资源分配请求,发送所述第一资源分配请求的多接入边缘应用编排系统为第一编排器;
深度学习模块,用于根据预设模型和所述第一资源分配请求从区块链的多个节点中确定一个节点为主节点,从除所述第一编排器外其他多个多接入边缘应用编排系统中确定第二编排器,并从所述第二编排器对应的多个多接入边缘计算服务器中确定第二边缘计算服务器;
分配模块,用于通过所述主节点将所述第二边缘计算服务器承载的资源分配给所述待分配资源任务。
7.根据权利要求6所述的装置,其特征在于,所述预设模型为竞争深度q学习模型。
8.根据权利要求7所述的装置,其特征在于,
所述预设模型的状态空间为s(t)={h(t),r(t),v(t)},其中,h(t)表示区块链节点在时间t的信任度,r(t)表示多接入边缘应用编排系统在时间t的信任度,v(t)表示多接入边缘计算服务器在时间t的可用资源。
9.根据权利要求6所述的装置,其特征在于,所述分配模块还包括:
应答单元,用于向所述第一编排器发送应答信息;
发送单元,用于向所有多接入边缘应用编排系统发送验证消息,所述验证消息为所述主节点根据所述待分配资源任务和所述第二边缘计算服务器生成的消息;
分配单元,用于将所述待分配资源任务发送至所述第二边缘计算服务器。
10.一种区块链,其特征在于,所述区块链包括:
多个节点;
以及权利要求6至9中任意一项所述的资源分配装置。
技术总结