一种分布式边缘计算系统及分布式边缘计算方法与流程

文档序号:21626525发布日期:2020-07-29 02:33阅读:431来源:国知局
一种分布式边缘计算系统及分布式边缘计算方法与流程

本发明涉及分布式边缘计算系统及分布式边缘计算方法,属于边缘计算领域。



背景技术:

近年来,随着5g和工业互联网的快速发展,新兴业务对边缘计算的需求十分迫切,在众多垂直行业新兴业务中,对边缘计算的需求主要体现在时延、带宽和安全三个方面。众所周知,边缘计算通过把数据处理由云端推向离数据和应用更近的边缘,减少系统响应时延、节省网络带宽、保护数据安全,因而可以完全满足包括智能制造、智慧城市、直播游戏、车联网等垂直行业应用场景的需求。

在边缘计算领域,目前基于arm架构的终端产品,其系统和方法只能进行单一图像的简单算法分析,对于连续图像的复杂分析不能在端进行,或者不能近实时地得出运算结果。随着物联网技术的发展,对平台通讯前端进行边缘计算的要求越来越迫切。开发人员希望在前端选择不同分析算法及应用软件,将结构化计算结果回传,充分发挥前端采集数据的价值,大大缓解网络传输压力,降低数据延迟,增强数据安全。

目前,边缘计算主要是在物联网设备上进行实现的,由于设备本身计算效率不高,且无法实现多操作系统的软件、算法间的调用,因而应用价值不是很大。



技术实现要素:

为解决上述边缘计算不能进行复杂运算分析或者不能近实时地得出复杂分析运算结果的技术问题,本发明提供一种分布式边缘计算系统及分布式边缘计算方法。

所述分布式边缘计算系统包括:包括外设接口、网络模块、供电模块、并行计算单元、至少一个主节点和至少一个计算节点。外设接口与并行计算单元相连,组成操作系统模块;供电模块分别与并行计算单元、网络模块相连,负责提供电源;主节点和计算节点分布在并行计算单元上,并且在同一个局域网内,所有的主节点模块分布在至少一个并行计算单元上,所有的计算节点模块分布在至少一个并行计算单元上;网络模块通过局域网将所有的并行计算单元连接;

所述主节点包括:

1、资源管理模块,用于收集分布式边缘计算中,计算节点管理模块上传的节点状态信息,包括节点内存状态、cpu状态、gpu状态、正在运行任务信息。其中,子节点各自获取其内存状态、cpu状态、gpu状态,并利用通信协议将该信息传递至主节点。

2、任务管理模块,用于下发分析任务到计算节点。调度机制可采用推测执行调度、公平调度、容量调度和比例数据分配的策略:

1)推测执行调度策略:如果一个任务的运行时间低于平均值时,主节点将启动新任务来重新运行这个慢任务,同时,原任务和新任务两者之间先运行完的一方把慢的一方给关掉。

2)公平调度策略:把资源平均分配到每个用户。

3)容量调度策略:以队列为最小单位,每个队列设置资源的使用下限和上限。当某一队列资源有剩余时,可分享给另一个队列使用,用完后归还。

4)比例数据分配策略:先利用各种应用程序在每个计算节点上测试,统计每个节点运行该任务所花费的时间,将其置换成相对处理速率,根据节点计算速率进行重新组合划分的相同尺寸数据块,让每个节点执行的任务与其处理速率成正比,以降低节点间数据的移动量。

3、数据预处理模块,用于预处理和切分执行任务数据。把输入的任务切分为多个独立的任务块,然后由主节点将这些任务块分发给计算节点以完全并行的方式处理它们。

4、结果汇聚模块,用于收集各个运算模块的分析结果,并根据序号整理结果集。

5、输出模块,用于将分析结果集输出到应用层。

所述计算节点包括:

1、节点管理模块,用于收集所在计算节点状态信息,包括节点内存状态、cpu状态、gpu状态、正在运行任务信息;以及接收运算任务,启动运算模块并将具体运算参数传递到运算模块。

2、运算模块,用于具体执行分析算法。此部分根据不同的应用场景采用对应的算法。每个计算节点可单独运行一个任务。当任务计算量超过一个计算节点的计算力时,则采用并行分布式计算方法。调动多个计算节点的计算能力,共同完成一个任务。

进一步,所述的操作系统模块的数量大于等于二,其数量取决于装置上运行得操作系统的数量,且多个操作系统模块之间采用并联的结构连接;所述的操作系统模块中的并行计算单元以及与其并联的多个并行计算单元之间通过网络模块实现相互间的通讯,以操作系统模块中的并行计算单元为主进行任务分配,协同进行任务处理。

进一步,所述的并行计算单元为基于cpu和gpu相结合且带有内存的并行计算机。为了更好的实现远程通讯能力,其中一个并行计算单元最好具备4g/5g移动通信网络或卫星通信接入能力。

进一步,所述的网络模块为带有rj45的有线网卡模块或无线网卡模块中的任意一个或两个;该网络模块可以直接与物联网设备相连接,通过网络进行通讯。

进一步,所述的外设接口为包含type-c、usb、ethernet、microsd、displayport、uart等接口中的两种以上的接口,根据用户需求合理选择接口配置。其中,type-c接口可应用于外接触摸屏;displayport用于外接显示屏,支持双屏显示;microsd卡用于扩展装置存储能力;usb可应用于连接鼠标、键盘等通用外设;uart接口支持串口通信协议,用于接收和处理物联网设备的数据。

至于分布式边缘计算方法,包括:

步骤一、收集计算节点状态信息分配计算资源;

步骤二、将待分析数据根据计算资源预处理和切分;

步骤三、启动任务管理模块,将分析任务分派至各计算节点的节点管理模块,各计算节点的节点管理模块启动运算模块执行运算;

步骤四、运算完成后,将分析结果传回至主节点进行结果汇聚并整理结果,整理后的分析结果集输出到使用方。

本发明取得的有益效果:利用分布式设计的多个计算节点上的运算模块,提升并行计算单元的复杂运算分析能力,可以近实时地得出负责分析运算结果;利用分布式边缘计算系统可以通过增加计算节点的方式动态扩展并行计算单元的运算能力。满足计算需求的同时,可灵活部署于缺少网络、供电等环境下,实现了去中心化、多接口等功能,节省了数据的传输时间和成本,降低数据延迟,增强数据安全。

附图说明

图1为根据本发明一个实施例的分布式边缘计算系统的结构图;

图2为根据本发明一个实施例的分布式边缘计算系统的部件连接图;

图3为根据本发明一个实施例的分布式边缘计算方法流程图。。

具体实施方式

本发明公开了一种新的分布式边缘计算系统及分布式边缘计算方法。

所述分布式边缘计算系统包括:所述分布式边缘计算系统包括:包括外设接口、网络模块、供电模块、并行计算单元、至少一个主节点和至少一个计算节点。外设接口与并行计算单元相连,组成操作系统模块;供电模块分别与并行计算单元、网络模块相连,负责提供电源;主节点和计算节点分布在并行计算单元上,并且在同一个局域网内,所有的主节点模块分布在至少一个并行计算单元上,所有的计算节点模块分布在至少一个并行计算单元上;网络模块通过局域网将所有的并行计算单元连接;所述主节点包括:

1、资源管理模块,用于收集分布式边缘计算中,计算节点管理模块上传的节点状态信息,包括节点内存状态、cpu状态、gpu状态、正在运行任务信息。其中,子节点各自获取其内存状态、cpu状态、gpu状态,并利用通信协议将该信息传递至主节点。

2、任务管理模块,用于下发分析任务到计算节点。调度机制可采用推测执行调度、公平调度、容量调度和比例数据分配的策略。

1)推测执行调度策略:如果一个任务的运行时间低于平均值时,主节点将启动新任务来重新运行这个慢任务,同时,原任务和新任务两者之间先运行完的一方把慢的一方给关掉。

2)公平调度策略:把资源平均分配到每个用户。例如,有10个任务用3个节点进行执行,则计算节点1分配任务1-4,计算节点2分配任务5-7,计算节点3分配任务8-10。

3)容量调度策略:以队列为最小单位,每个队列设置资源的使用下限和上限。当某一队列资源有剩余时,可分享给另一个队列使用,用完后归还。

4)比例数据分配策略:先利用各种应用程序在每个计算节点上测试,统计每个节点运行该任务所花费的时间,将其置换成相对处理速率,根据节点计算速率进行重新组合划分的相同尺寸数据块,让每个节点执行的任务与其处理速率成正比,以降低节点间数据的移动量。例如,第1个子节点的能力是第2和3个节点的3倍,此时有10个等同的任务,第一个节点获得任务1-6,第二个节点获得任务7-8,第三个节点获得任务9-10。其优点在于,与轮巡策略相比,节约分配时间。

3、数据预处理模块,用于预处理和切分执行任务数据。把输入的任务切分为多个独立的任务块,然后由主节点将这些任务块分发给计算节点以完全并行的方式处理它们。例如,以视频分析为例,主节点利用切帧技术(如javacv)对视频进行图像分离,并将切帧图像分发给每个计算节点,计算节点对接收到的图像进行处理,并将结果反馈给主节点。主节点要负责任务的调度和监控,以及重新执行已经失败的任务。

4、结果汇聚模块,用于收集各个运算模块的分析结果,并根据序号整理结果集。

5、输出模块,用于将分析结果集输出到应用层(例如,采用websocket)。

至于计算节点包括:

1、节点管理模块,用于收集所在计算节点状态信息,包括节点内存状态、cpu状态、gpu状态、正在运行任务信息;以及接收运算任务,启动运算模块并将具体运算参数传递到运算模块。

例如,当运行平台为android系统时,第一步,获取android当前可用运行内存大小通过context获取系统的activitymanager,再通过activitymanager的getmemoryinfo函数即可获取结果。第二步,获取android总运行内存大小。读取android系统下的/proc/meminfo文件即可获取结果。第三步,获取android系统版本(直接调用获取结果)。采用build.version.release命令。第四步,运行cpu指令集,可以查看是否支持64位(直接调用获取结果),采用build.cpu_abi命令。第五步,获得机身可用rom,读取android系统下/data的statfs文件,stat.getblocksize()*stat.getavailableblocks()即可获取结果。第六步,获得机身rom总大小。读取android系统下/data的statfs文件,stat.getblocksize()*stat.getblockcount()即可获取结果。

2、运算模块,用于具体执行分析算法。此部分根据不同的应用场景采用对应的算法。每个计算节点可单独运行一个任务。当任务计算量超过一个计算节点的计算力时,则采用并行分布式计算方法。调动多个计算节点的计算能力,共同完成一个任务。

进一步,所述的并行计算单元为基于cpu和gpu相结合且带有内存的并行计算机。为了更好的实现远程通讯能力,其中一个并行计算单元最好具备4g/5g移动通信网络或卫星通信接入能力。

进一步,所述的网络模块为带有rj45的有线网卡模块或无线网卡模块中的任意一个或两个;该网络模块可以直接与物联网设备相连接,通过网络进行通讯。

进一步,所述的外设接口为包含type-c、usb、ethernet、microsd、displayport、uart等接口中的两种以上的接口,根据用户需求合理选择接口配置。其中,type-c接口可应用于外接触摸屏;displayport用于外接显示屏,支持双屏显示;microsd卡用于扩展装置存储能力;usb可应用于连接鼠标、键盘等通用外设;uart接口支持串口通信协议,用于接收和处理物联网设备的数据。

而分布式边缘计算方法,包括:

步骤一、收集计算节点状态信息分配计算资源;

步骤二、将待分析数据根据计算资源预处理和切分;

步骤三、启动任务管理模块,将分析任务分派至各计算节点的节点管理模块,各计算节点的节点管理模块启动运算模块执行运算;

步骤四、运算完成后,将分析结果传回至主节点进行结果汇聚并整理结果,整理后的分析结果集输出到使用方。

本发明不限于上述实施例,对于本领域技术人员来说,对本发明的上述实施例所做出的任何改进或变更都不会超出仅以举例的方式示出的本发明的实施例和所附权利要求的保护范围,所描述的实施例仅旨在便于对本发明的理解,而对其不起任何限定作用。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1