CN112256429A - 基于计算图和工业云边缘系统的数据请求处理方法 - Google Patents
基于计算图和工业云边缘系统的数据请求处理方法 Download PDFInfo
- Publication number
- CN112256429A CN112256429A CN202011140269.1A CN202011140269A CN112256429A CN 112256429 A CN112256429 A CN 112256429A CN 202011140269 A CN202011140269 A CN 202011140269A CN 112256429 A CN112256429 A CN 112256429A
- Authority
- CN
- China
- Prior art keywords
- micro
- service
- data set
- edge server
- microservice
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5013—Request control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/502—Proximity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/508—Monitor
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供一种基于计算图和工业云边缘系统的数据请求处理方法,包括以下步骤:构建工业云边缘系统构架;每台边缘服务器建立并实时更新本地存储的数据集合表;微服务管理器构建表征微服务级联依赖关系的计算图;微服务管理器采用数据就近原则确定微服务部署到的目标边缘服务器;实现对客户端的数据请求处理;微服务管理器对各个边缘服务器的负载状态进行实时监控,当监控到任意的边缘服务器的负荷达到设定阈值时,对边缘服务器当前部署的微服务进行微服务迁移。本发明具有以下优点:本发明从多个角度对整个数据请求处理过程进行创新,从而最大程度实现超低时延应用,有效缩短数据传输时间,进而提高对客户端的响应时间。
Description
技术领域
本发明属于数据请求处理技术领域,具体涉及一种基于计算图和工业云边缘系统的数据请求处理方法。
背景技术
目前,工业现场数据采集与分析系统,普遍采用集中式云计算架构,即:在云端布置远端数据中心,远端数据中心通过接入网关与监控范围内的各种智能终端通信连接,其中,智能终端包括固定智能终端和移动智能终端;因此,远端数据中心对监控范围内的各类智能终端进行数据采集,并分析处理,再将处理结果发送给客户端。
随着基层物联网数据的类型和数量越来越多,以上集中式云计算架构具有时延高的问题,已无法满足客户端对数据快速获取的需求。
发明内容
针对现有技术存在的缺陷,本发明提供一种基于计算图和工业云边缘系统的数据请求处理方法,可有效解决上述问题。
本发明采用的技术方案如下:
本发明提供一种基于计算图和工业云边缘系统的数据请求处理方法,包括以下步骤:
步骤1,构建工业云边缘系统构架;所述工业云边缘系统构架包括:微服务管理器和边缘服务器;其中,在云端布置所述微服务管理器;在总监控区域内存在q个基站,在每个基站中布置一台所述边缘服务器,因此,共布置q台边缘服务器,分别为:边缘服务器BF1,边缘服务器BF2,...,边缘服务器BFq;每台所述边缘服务器的监控区域即为对应的所述基站的覆盖范围;
步骤2,对于任意的每台边缘服务器BFi,其中,i=1,2,...,q,建立并实时更新本地存储的数据集合表EDSi=(DSi1,DSi2,...,DSin);
其中,n代表边缘服务器BFi监控区域当前包含的智能终端的总数量,并且,随着监控的不断进行,当边缘服务器BFi监控到其监控区域加入新的智能终端时,则更新数据集合表EDSi,将新加入的智能终端的数据集合DS加入到数据集合表EDSi;
其中:DSi1,DSi2,...,DSin分别代表边缘服务器BFi包含的第1个智能终端Ii1的数据集合,第2个智能终端Ii2的数据集合,...,第n个智能终端Iin的数据集合;
对于边缘服务器BFi包含的任意的第j个智能终端Iij,其数据集合DSij描述方式为:{Key(BFi,IDij):{Lj=Lt1,Lt2,...,Ltx}},即:采用键值对的方式存储数据,其中,IDij代表边缘服务器BFi的监控区域包含的第j个智能终端Iij的智能终端ID;Lj=Lt1,Lt2,...,Ltx代表从监控开始后,第j个智能终端Iij采集到的工业现场数据序列,即:Lt1代表监控开始后,采集到的第1个工业现场数据,Lt2代表监控开始后,采集到的第2个工业现场数据,依此类推,Ltx代表监控开始后,采集到的第x个工业现场数据,并且,随着监控不断进行,第j个智能终端Iij采集到的最新的工业现场数据不断存入该数据集合DSij,实现对数据集合DSij的实时更新;
步骤3,微服务管理器获得总监控区域内需要运行的微服务集合MS=[MS1,MS2,...,MSk],其中,k为总监控区域内需要运行的微服务的总数量;MS1,MS2,...,MSk分别代表总监控区域内需要运行的第1个微服务MS1,第2个微服务MS2,...,第k个微服务MSk;
对于每个任意的微服务MSl,l=1,2,...,k,微服务管理器分析到微服务MSl的输入数据集合DSl和输出数据集合DRl,并对各个微服务之间的数据传递关系进行关联分析,形成表征微服务级联依赖关系的计算图;并且,所述微服务管理器将所述计算图发送给各个边缘服务器;其中,所述计算图包括两类节点:一类节点为微服务节点,另一类节点为数据集合节点;
假设计算图共有m层,则最底层,即第m层的各个节点均为数据集合节点,并且,该数据集合节点均为智能终端采集到的工业现场数据序列形成的数据集合,或为智能终端采集到的工业现场数据序列形成的数据集合的子集合;
计算图的第m-1层节点包括至少一个微服务节点,其对应的微服务表示为MSm-1,微服务MSm-1与第m层的至少一个数据集合节点采用向上箭头连接,代表第m层的对应数据集合节点所对应的数据集合输入到微服务MSm-1,微服务MSm-1对输入的数据集合进行计算处理后,得到输出数据集合DRm-1,将输出数据集合DRm-1作为数据集合节点,并表示在第m-2层的某个节点,再采用向上箭头,使微服务MSm-1连接到其输出的输出数据集合DRm-1;
微服务MSm-1输出的输出数据集合DRm-1,可作为另一个微服务的输入数据集合或输入数据集合的子集,由此采用自下向上方向,实现各个微服务之间的数据传递关系;
步骤4,对于每个微服务MSl,微服务管理器采用数据就近原则确定微服务MSl部署到的目标边缘服务器BF,并将微服务MSl部署在目标边缘服务器BF,同时,微服务管理器将微服务MSl与目标边缘服务器BF的对应关系,存储到微服务部署表,具体方法为:
步骤4.1,微服务管理器在计算图中定位到微服务MSl,从微服务MSl开始,向下定位到与其具有直接连接关系的所有数据集合节点和所有微服务节点;再以定位到的数据集合节点和/或微服务节点为起始节点,向下定位到与自身具有直接连接关系的所有数据集合节点和所有微服务节点,依此类推,直到定位到最底层的数据集合节点,假设定位到的最底层的数据集合节点为c个,则对应的c个数据集合表示为:DS(MSl)=[DS1,DS2,...,DSc];
步骤4.2,微服务管理器将DS(MSl)=[DS1,DS2,...,DSc]与步骤2得到的各个边缘服务器BFi的数据集合表EDSi=(DSi1,DSi2,...,DSin)进行匹配,选择交集最大的边缘服务器作为部署微服务MSl的目标边缘服务器,进而将微服务MSl部署在目标边缘服务器;
步骤5,在所有微服务均部署在自身对应的目标边缘服务器后,采用以下方法,实现对客户端的数据请求处理过程:
步骤5.1,客户端A向微服务管理器发送获取所需的微服务MSl物理地址的请求消息;
步骤5.2,微服务管理器根据步骤4确定的各个微服务的部署情况,确定当前部署微服务MSl的边缘服务器BF(MSl),并向客户端A返回边缘服务器BF(MSl)的物理地址;
步骤5.3,客户端A根据获得的边缘服务器BF(MSl)的物理地址,向边缘服务器BF(MSl)上的微服务MSl发送数据集合DR(MSl)获取请求;其中,该数据集合DR(MSl)为微服务MSl的输出数据集合;
步骤5.4,微服务MSl判断本地是否缓存位于生命周期内的数据集合DR(MSl),如果没有,则执行步骤5.5-步骤5.8;如果有,则直接从本地缓存读取到位于生命周期内的数据集合DR(MSl),并执行步骤5.9;
步骤5.5,微服务MSl根据数据集合DR(MSl)确定本次需要输入的多路输入数据集合,分别表示为:输入数据集合DSl1,DSl2,...,DSlr,其中,r为本次需要输入的输入数据集合的总路数;
步骤5.6,对于每路输入数据集合DSlu,其中,u=1,2,...,r,微服务MSl均采用以下方式收集获取:
步骤5.6.1,微服务MSl判断本地是否缓存位于生命周期内的输入数据集合DSlu,如果没有,则执行步骤5.6.2-步骤5.6.3;如果有,则直接从本地缓存读取到位于生命周期内的输入数据集合DSlu,并执行步骤5.7;
步骤5.6.2,微服务MSl确定输入数据集合DSlu的类型,其中,所述输入数据集合DSlu的类型包括三类,第一种类型为:输入数据集合DSlu为边缘服务器BF(MSl)监控区域中智能终端I(BF(MSl))采集到的工业现场数据序列;第二种类型为:输入数据集合DSlu为边缘服务器BF监控区域中智能终端I(BF)采集到的工业现场数据序列;其中,边缘服务器BF与边缘服务器BF(MSl)为不同的边缘服务器;第三种类型为:微服务MSl通过分析边缘服务器BF(MSl)本地存储的计算图,确定输入数据集合DSlu为微服务MSv的直接输出数据集合或微服务MSl的直接输出数据集合的子集合,其中,微服务MSv与微服务MSl为不同的微服务;
步骤5.6.3,如果输入数据集合DSlu为第一种类型,则微服务MSl查找边缘服务器BF(MSl)本地存储的数据集合表EDS,直接读取到所需的输入数据集合DSlu;
如果输入数据集合DSlu为第二种类型,则微服务MSl向边缘服务器BF发送获得智能终端I(BF)采集到的输入数据集合DSlu的请求消息,边缘服务器BF接收到该请求消息后,通过查找本地存储的数据集合表,读取到所需的由智能终端I(BF)采集到的输入数据集合DSlu,并返回给微服务MSl,因此,微服务MSl获得所需的输入数据集合DSlu;
如果输入数据集合DSlu为第三种类型,则采用以下方式:
1)微服务MSl向微服务管理器发送获取微服务MSv物理地址的请求消息;
2)微服务管理器确定当前部署微服务MSv的边缘服务器BF(MSv),并向微服务MSl返回边缘服务器BF(MSv)的物理地址;
3)微服务MSl根据获得的边缘服务器BF(MSv)的物理地址,向边缘服务器BF(MSv)上的微服务MSv发送输入数据集合DSlu获取请求;
4)微服务MSv根据输入数据集合DSlu,确定本次需要输入的至少一路输入数据集合,并对所需要的各路输入数据集合进行汇聚和分析,得到输入数据集合DSlu;
5)微服务MSv将分析计算得到的输入数据集合DSlu发送给微服务MSl;
至此,微服务MSl收集获取到输入数据集合DSlu;然后执行步骤5.7;
步骤5.7,微服务MSl收集获取到所需的各种输入数据集合DSl1,DSl2,...,DSlr后,将输入数据集合DSl1,DSl2,...,DSlr缓存在本地,并且,输入数据集合DSl1,DSl2,...,DSlr在本地缓存存在生命周期,当到达生命周期长度时,删除或将其标记为失效状态;然后执行步骤5.8;
步骤5.8,微服务MSl以DSl1,DSl2,...,DSlr为输入,进行分析处理,得到数据集合DR(MSl);微服务MSl将数据集合DR(MSl)缓存在本地,并且,数据集合DR(MSl)在本地缓存存在生命周期,当到达生命周期长度时,删除或将其标记为失效状态;然后执行步骤5.9;
步骤5.9,然后,微服务MSl将获得的数据集合DR(MSl)发送给客户端A,实现对客户端A请求的处理。
优选的,还包括步骤6,微服务管理器对各个边缘服务器的负载状态进行实时监控,当监控到任意的边缘服务器BFi的负荷达到设定阈值时,对边缘服务器BFi当前部署的微服务进行微服务迁移。
优选的,各个边缘服务器的负载状态包括当前CPU利用率、内存利用率和网络流量中的至少一种。
优选的,微服务管理器采用以下步骤,对边缘服务器BFi当前部署的微服务进行微服务迁移:
步骤6.1,假设边缘服务器BFi当前一共部署x个微服务,分别为微服务MS1(BFi),微服务MS2(BFi),...,微服务MSx(BFi);
步骤6.2,对于每个微服务MSz(BFi),其中,z=1,2,...,x,均采用以下方法,计算得到微服务MSz(BFi)对应的优先级PROZ:
1)微服务管理器根据计算图,采用步骤4.1的方式,确定微服务MSz(BFi)的最底层的输入数据集合DS(MSz(BFi))=[DS[z1],DS[z2],...,DS[zy]];其中,y为最底层的数据集合DS的总数量;
2)对于y个数据集合DS[z1],DS[z2],...,DS[zy],其中,有y1个数据集合为边缘服务器BFi监控区域内的智能终端采集到的数据集合,剩余y-y1个数据集合为其他边缘服务器的监控区域内的智能终端采集到的数据集合;
3)采用下式,计算得到微服务MSz(BFi)对应的优先级PROZ:
步骤6.3,对于微服务MS1(BFi),微服务MS2(BFi),...,微服务MSx(BFi),分别计算得到的优先级为:PRO1,PRO2,...,PROx;
微服务管理器比较各个微服务的优先级,即:比较PRO1,PRO2,...,PROx,获得优先级最大的微服务,表示为微服务MSmax(BFi);
步骤6.4,总监控区域一共布置q台边缘服务器,分别为:边缘服务器BF1,边缘服务器BF2,...,边缘服务器BFq;在q台边缘服务器中,将边缘服务器BFi去除,剩余的q-1台边缘服务器形成微服务MSmax(BFi)的候选边缘服务器集合;
对于候选边缘服务器集合中的每个候选边缘服务器RW,计算得到候选边缘服务器RW对微服务MSmax(BFi)的迁移优先级PRW,计算方法为:
设微服务MSmax(BFi)的最底层的输入数据集合为DS(MSmax(BFi))=[DS[1],DS[2],...,DS[e]],其中,e为DS(MSmax(BFi))中数据集合DS的数量,在DS(MSmax(BFi))=[DS[1],DS[2],...,DS[e]]中,属于候选边缘服务器RW监控区域内的智能终端采集到的数据集合的数量,即为候选边缘服务器RW对微服务MSmax(BFi)的迁移优先级PRW;
因此,按迁移优先级从高到低的顺序,对候选边缘服务器集合中的各个候选边缘服务器RW进行排序,形成候选边缘服务器优先级集合,表示为:RW=[RW1,RW2,...,RWw],其中,w为候选边缘服务器的总数量;
步骤6.5,微服务管理器首先向RW=[RW1,RW2,...,RWw]中第1个候选边缘服务器RW1发出对微服务MSmax(BFi)的迁移请求;
步骤6.6,第1个候选边缘服务器RW1根据当前本边缘服务器的负载情况,决定是否接受部署微服务MSmax(BFi),如果不同意,则向微服务管理器发出拒绝部署微服务MSmax(BFi)的通知消息,然后执行步骤6.7;如果同意,则接受并部署微服务MSmax(BFi),然后向微服务管理器发出迁移成功的通知消息,然后执行步骤6.9;
步骤6.7,微服务管理器按照迁移优先级从高到低顺序,继续轮询RW=[RW1,RW2,...,RWw]中下一个候选边缘服务器,依此类推,如果在RW=[RW1,RW2,...,RWw]中成功获得可迁移部署微服务MSmax(BFi)的候选边缘服务器,则执行步骤6.9;如果没有,则执行步骤6.8;
步骤6.8,微服务管理器将微服务MSmax(BFi)迁移部署在自身所处的云端,然后执行步骤6.9;
步骤6.9,微服务管理器更新步骤4建立的微服务部署表,用微服务MSmax(BFi)及部署该微服务MSmax(BFi)的最新边缘服务器的关系,更新微服务MSmax(BFi)及部署该微服务MSmax(BFi)的原边缘服务器的关系,并向边缘服务器BFi发送微服务MSmax(BFi)已迁移成功的通知消息,边缘服务器BFi接收到该消息后,结束本地微服务MSmax(BFi)的运行,并释放微服务MSmax(BFi)占用的本地资源。
本发明提供的基于计算图和工业云边缘系统的数据请求处理方法具有以下优点:
本发明从多个角度对整个数据请求处理过程进行创新,从而最大程度实现超低时延应用,有效缩短数据传输时间,进而提高对客户端的响应时间。
附图说明
图1为本发明提供的基于计算图和工业云边缘系统的数据请求处理方法的流程示意图;
图2为本发明提供的一种工业云边缘系统构架的示意图;
图3为本发明提供的一种具体的计算图的示意图。
具体实施方式
为了使本发明所解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明提供一种基于计算图和工业云边缘系统的数据请求处理方法,参考图1,包括以下步骤:
步骤1,构建工业云边缘系统构架;参考图2,为工业云边缘系统构架的示意图,所述工业云边缘系统构架包括:微服务管理器和边缘服务器;其中,在云端布置所述微服务管理器;在总监控区域内存在q个基站,在每个基站中布置一台所述边缘服务器,因此,共布置q台边缘服务器,分别为:边缘服务器BF1,边缘服务器BF2,...,边缘服务器BFq;每台所述边缘服务器的监控区域即为对应的所述基站的覆盖范围;
步骤2,对于任意的每台边缘服务器BFi,其中,i=1,2,...,q,建立并实时更新本地存储的数据集合表EDSi=(DSi1,DSi2,...,DSin);
其中,n代表边缘服务器BFi监控区域当前包含的智能终端的总数量,本发明中,智能终端既可以为移动智能终端,也可以为固定智能终端,例如,智能终端可以为用于采集工业现场数据的各类传感器,本发明对此并不限制。并且,随着监控的不断进行,当边缘服务器BFi监控到其监控区域加入新的智能终端时,则更新数据集合表EDSi,将新加入的智能终端的数据集合DS加入到数据集合表EDSi;
其中:DSi1,DSi2,...,DSin分别代表边缘服务器BFi包含的第1个智能终端Ii1的数据集合,第2个智能终端Ii2的数据集合,...,第n个智能终端Iin的数据集合;
对于边缘服务器BFi包含的任意的第j个智能终端Iij,其数据集合DSij描述方式为:{Key(BFi,IDij):{Lj=Lt1,Lt2,...,Ltx}},即:采用键值对的方式存储数据,其中,IDij代表边缘服务器BFi的监控区域包含的第j个智能终端Iij的智能终端ID,例如,可以为智能终端的物理地址;Lj=Lt1,Lt2,...,Ltx代表从监控开始后,第j个智能终端Iij采集到的工业现场数据序列,即:Lt1代表监控开始后,采集到的第1个工业现场数据,Lt2代表监控开始后,采集到的第2个工业现场数据,依此类推,Ltx代表监控开始后,采集到的第x个工业现场数据,并且,随着监控不断进行,第j个智能终端Iij采集到的最新的工业现场数据不断存入该数据集合DSij,实现对数据集合DSij的实时更新;
步骤3,微服务管理器获得总监控区域内需要运行的微服务集合MS=[MS1,MS2,...,MSk],其中,k为总监控区域内需要运行的微服务的总数量;MS1,MS2,...,MSk分别代表总监控区域内需要运行的第1个微服务MS1,第2个微服务MS2,...,第k个微服务MSk;
本发明中,微服务是指用于输入数据集合,并输出数据集合的数据处理软件,其中,根据实际应用,可以为各类数据处理软件,例如,对数据求最大值的数据处理软件、对数据求均值或最小值的数据处理软件等,当然,也可以为根据模型进行数据预测的软件等,本发明对微服务的具体类型并不限制。
对于每个任意的微服务MSl,l=1,2,...,k,微服务管理器分析到微服务MSl的输入数据集合DSl和输出数据集合DRl,并对各个微服务之间的数据传递关系进行关联分析,形成表征微服务级联依赖关系的计算图;并且,所述微服务管理器将所述计算图发送给各个边缘服务器;其中,所述计算图包括两类节点:一类节点为微服务节点,另一类节点为数据集合节点;
假设计算图共有m层,则最底层,即第m层的各个节点均为数据集合节点,并且,该数据集合节点均为智能终端采集到的工业现场数据序列形成的数据集合,或为智能终端采集到的工业现场数据序列形成的数据集合的子集合;
计算图的第m-1层节点包括至少一个微服务节点,其对应的微服务表示为MSm-1,微服务MSm-1与第m层的至少一个数据集合节点采用向上箭头连接,代表第m层的对应数据集合节点所对应的数据集合输入到微服务MSm-1,微服务MSm-1对输入的数据集合进行计算处理后,得到输出数据集合DRm-1,将输出数据集合DRm-1作为数据集合节点,并表示在第m-2层的某个节点,再采用向上箭头,使微服务MSm-1连接到其输出的输出数据集合DRm-1;
微服务MSm-1输出的输出数据集合DRm-1,可作为另一个微服务的输入数据集合或输入数据集合的子集,由此采用自下向上方向,实现各个微服务之间的数据传递关系;
为方便理解,如图3所示,为一种具体的计算图的示例。在图3中,微服务节点用圆形形状节点表示,数据集合节点用矩形形状节点表示。在图3中,共有6层节点,第6层共有5个数据集合节点,分别为DS1、DS2、DS3、DS4和DS5,其中,DS1可代表第1个传感器直接采集到的工业现场数据序列形成的数据集合;DS2可代表第2个传感器直接采集到的工业现场数据序列形成的数据集合;依此类推,DS5可代表第5个传感器直接采集到的工业现场数据序列形成的数据集合;当然,实际应用中,各个数据集合节点可以相交,存在相同的数据序列。
第5层共有5个微服务节点,分别为MS1、MS2、MS3、MS4和MS5。其中,数据集合DS1输入到微服务MS1,经微服务MS1进行数据处理后,输出数据集合DR1。数据集合DS2输入到微服务MS2,经微服务MS2进行数据处理后,输出数据集合DR2。依此类推,数据集合DS5输入到微服务MS5,经微服务MS5进行数据处理后,输出数据集合DR5。
数据集合DR1、DR2和DR3作为输入,输入到微服务MS6,经微服务MS6进行数据处理后,输出数据集合DR6。也就是,对于一个微服务,可以存在多个输入的数据集合。
因此,采用图3所示的计算图,实现了各个微服务之间的数据传递关系。
步骤4,对于每个微服务MSl,微服务管理器采用数据就近原则确定微服务MSl部署到的目标边缘服务器BF,并将微服务MSl部署在目标边缘服务器BF,同时,微服务管理器将微服务MSl与目标边缘服务器BF的对应关系,存储到微服务部署表,具体方法为:
步骤4.1,微服务管理器在计算图中定位到微服务MSl,从微服务MSl开始,向下定位到与其具有直接连接关系的所有数据集合节点和所有微服务节点;再以定位到的数据集合节点和/或微服务节点为起始节点,向下定位到与自身具有直接连接关系的所有数据集合节点和所有微服务节点,依此类推,直到定位到最底层的数据集合节点,假设定位到的最底层的数据集合节点为c个,则对应的c个数据集合表示为:DS(MSl)=[DS1,DS2,...,DSc];
例如,对于图3,以微服务MS8为例,进行数据集合扩展,直到确定其最底层的数据集合的方法为:
从微服务MS8开始,向下定位到与其具有直接连接关系的节点,分别为:数据集合DR6、数据集合DR4和数据集合DS3;
对于数据集合DR6,再向下定位到与数据集合DR6具有直接连接关系的节点,为微服务节点MS6。对于微服务节点MS6,再向下定位到与MS6具有直接连接关系的节点,分别为:数据集合DR1、DR2和DR3。对于数据集合DR1,最终定位到的最底层的数据集合为DS1;对于数据集合DR2,最终定位到的最底层的数据集合为DS2;对于数据集合DR3,最终定位到的最底层的数据集合为DS3;因此,对于数据集合DR6,最终扩展后的最底层的数据集合为:数据集合DS1、数据集合DS2和数据集合DS3。
采用同样的方式,对于数据集合DR4,最终扩展后的最底层的数据集合为:数据集合DS4。
对于数据集合DS3,已经为最底层的数据集合,不需要进一步扩展。
因此,对于微服务MS8,最终扩展后的最底层的数据集合节点数量为4个,即:DS(MS8)=[DS1,DS2,DS3,DS4]。也就是说,微服务MS8运行时,需要依赖最底层的数据集合DS1、DS2、DS3和DS4。
步骤4.2,微服务管理器将DS(MSl)=[DS1,DS2,...,DSc]与步骤2得到的各个边缘服务器BFi的数据集合表EDSi=(DSi1,DSi2,...,DSin)进行匹配,选择交集最大的边缘服务器作为部署微服务MSl的目标边缘服务器,进而将微服务MSl部署在目标边缘服务器;
例如,假设步骤2共有3个边缘服务器,其中,边缘服务器BF1数据集合表EDS1=(DS11,DS12,...,DS19);边缘服务器BF2数据集合表EDS2=(DS21,DS22,...,DS25);边缘服务器BF3数据集合表EDS3=(DS31,DS32,...,DS36)。
对于微服务MS8,DS(MS8)=[DS1,DS2,DS3,DS4];假设DS1对应的智能终端和DS21对应的智能终端为相同智能终端;DS2对应的智能终端和DS32对应的智能终端为相同智能终端;DS3对应的智能终端和DS33对应的智能终端为相同智能终端;DS4对应的智能终端和DS36对应的智能终端为相同智能终端。
因此,微服务MS8的DS(MS8),其与边缘服务器BF1的交集为0;与边缘服务器BF2的交集为1;与边缘服务器BF3的交集为3。
所以最终需要将微服务MS8部署到边缘服务器BF3上面。
微服务管理器采用数据就近原则进行微服务部署,能够使各个微服务在运行时,有效缩短底层数据集合到对应微服务的传输时间,进而加快各个微服务输出数据集合的速度,从而加快数据请求处理速度,最终满足客户端对数据快速获取的需求。
步骤5,在所有微服务均部署在自身对应的目标边缘服务器后,采用以下方法,实现对客户端的数据请求处理过程:
步骤5.1,客户端A向微服务管理器发送获取所需的微服务MSl物理地址的请求消息;
步骤5.2,微服务管理器根据步骤4确定的各个微服务的部署情况,确定当前部署微服务MSl的边缘服务器BF(MSl),并向客户端A返回边缘服务器BF(MSl)的物理地址;
步骤5.3,客户端A根据获得的边缘服务器BF(MSl)的物理地址,向边缘服务器BF(MSl)上的微服务MSl发送数据集合DR(MSl)获取请求;其中,该数据集合DR(MSl)为微服务MSl的输出数据集合;
步骤5.4,微服务MSl判断本地是否缓存位于生命周期内的数据集合DR(MSl),如果没有,则执行步骤5.5-步骤5.8;如果有,则直接从本地缓存读取到位于生命周期内的数据集合DR(MSl),并执行步骤5.9;
步骤5.5,微服务MSl根据数据集合DR(MSl)确定本次需要输入的多路输入数据集合,分别表示为:输入数据集合DSl1,DSl2,...,DSlr,其中,r为本次需要输入的输入数据集合的总路数;
步骤5.6,对于每路输入数据集合DSlu,其中,u=1,2,...,r,微服务MSl均采用以下方式收集获取:
步骤5.6.1,微服务MSl判断本地是否缓存位于生命周期内的输入数据集合DSlu,如果没有,则执行步骤5.6.2-步骤5.6.3;如果有,则直接从本地缓存读取到位于生命周期内的输入数据集合DSlu,并执行步骤5.7;
步骤5.6.2,微服务MSl确定输入数据集合DSlu的类型,其中,所述输入数据集合DSlu的类型包括三类,第一种类型为:输入数据集合DSlu为边缘服务器BF(MSl)监控区域中智能终端I(BF(MSl))采集到的工业现场数据序列;第二种类型为:输入数据集合DSlu为边缘服务器BF监控区域中智能终端I(BF)采集到的工业现场数据序列;其中,边缘服务器BF与边缘服务器BF(MSl)为不同的边缘服务器;第三种类型为:微服务MSl通过分析边缘服务器BF(MSl)本地存储的计算图,确定输入数据集合DSlu为微服务MSv的直接输出数据集合或微服务MSl的直接输出数据集合的子集合,其中,微服务MSv与微服务MSl为不同的微服务;
步骤5.6.3,如果输入数据集合DSlu为第一种类型,则微服务MSl查找边缘服务器BF(MSl)本地存储的数据集合表EDS,直接读取到所需的输入数据集合DSlu;
如果输入数据集合DSlu为第二种类型,则微服务MSl向边缘服务器BF发送获得智能终端I(BF)采集到的输入数据集合DSlu的请求消息,边缘服务器BF接收到该请求消息后,通过查找本地存储的数据集合表,读取到所需的由智能终端I(BF)采集到的输入数据集合DSlu,并返回给微服务MSl,因此,微服务MSl获得所需的输入数据集合DSlu;
如果输入数据集合DSlu为第三种类型,则采用以下方式:
1)微服务MSl向微服务管理器发送获取微服务MSv物理地址的请求消息;
2)微服务管理器确定当前部署微服务MSv的边缘服务器BF(MSv),并向微服务MSl返回边缘服务器BF(MSv)的物理地址;
3)微服务MSl根据获得的边缘服务器BF(MSv)的物理地址,向边缘服务器BF(MSv)上的微服务MSv发送输入数据集合DSlu获取请求;
4)微服务MSv根据输入数据集合DSlu,确定本次需要输入的至少一路输入数据集合,并对所需要的各路输入数据集合进行汇聚和分析,得到输入数据集合DSlu;
5)微服务MSv将分析计算得到的输入数据集合DSlu发送给微服务MSl;
至此,微服务MSl收集获取到输入数据集合DSlu;然后执行步骤5.7;
步骤5.7,微服务MSl收集获取到所需的各种输入数据集合DSl1,DSl2,...,DSlr后,将输入数据集合DSl1,DSl2,...,DSlr缓存在本地,并且,输入数据集合DSl1,DSl2,...,DSlr在本地缓存存在生命周期,当到达生命周期长度时,删除或将其标记为失效状态;然后执行步骤5.8;
步骤5.8,微服务MSl以DSl1,DSl2,...,DSlr为输入,进行分析处理,得到数据集合DR(MSl);微服务MSl将数据集合DR(MSl)缓存在本地,并且,数据集合DR(MSl)在本地缓存存在生命周期,当到达生命周期长度时,删除或将其标记为失效状态;然后执行步骤5.9;
步骤5.9,然后,微服务MSl将获得的数据集合DR(MSl)发送给客户端A,实现对客户端A请求的处理。
例如,仍以图3为例,假设微服务MS1、微服务MS2和微服务MS6部署在边缘服务器BF1;微服务MS8和微服务MS3部署在边缘服务器BF2;微服务MS7、微服务MS4和微服务MS5部署在边缘服务器BF3;
1)客户端A向微服务管理器发送获取微服务MS8物理地址的请求消息;
2)微服务管理器向客户端A返回边缘服务器BF2的物理地址;
3)客户端A向微服务MS8发送DR(MS8)获取请求;
4)微服务MS8判断本地是否缓存位于生命周期内的数据集合DR(MS8),如果有,则直接从本地缓存读取到位于生命周期内的数据集合DR(MS8),并发送给客户端A,实现对客户端A请求的处理。
如果没有,则执行后续步骤;
5)微服务MS8确定本次需要输入的输入数据集合,分别为数据集合DR6、数据集合DS3和数据集合DR4;假设数据集合DR6、数据集合DS3和数据集合DR4均没有缓存在本地;
对于数据集合DS3,为第一种类型,因此,微服务MS8查找边缘服务器BF2,直接读取到数据集合DS3;
对于数据集合DR6和数据集合DR4,均为第三种类型,因此,仅以数据集合DR4为例进行介绍:
数据集合DR4为微服务MS4的直接输出数据集合,而微服务MS4部署在边缘服务器BF3,因此,微服务MS8获得边缘服务器BF3的物理地址,并向边缘服务器BF3上的微服务MS4发送获取数据集合DR4的请求;
微服务MS4以数据集合DS4作为输入,经过数据处理,得到数据集合DR4,并发送给微服务MS8;
至此,微服务MS8获得数据集合DR6、数据集合DS3和数据集合DR4,微服务MS8以数据集合DR6、数据集合DS3和数据集合DR4作为输入,经过数据处理,得到数据集合DR(MS8),一方面,将数据集合DR(MS8)缓存在本地,另一方面将数据集合DR(MS8)发送给客户端A,实现对客户端A请求的处理。
由此可见,通过以上数据交互,具有以下优点:
每个微服务在计算得到输出数据集合后,均在本地缓存,并且,缓存数据具有生命周期,一方面,提高了微服务提供数据集合的速度;另一方面,保证了微服务提供最新的有效数据集合。
还包括步骤6,微服务管理器对各个边缘服务器的负载状态进行实时监控,各个边缘服务器的负载状态包括当前CPU利用率、内存利用率和网络流量中的至少一种。
当监控到任意的边缘服务器BFi的负荷达到设定阈值时,对边缘服务器BFi当前部署的微服务进行微服务迁移。
微服务管理器采用以下步骤,对边缘服务器BFi当前部署的微服务进行微服务迁移:
步骤6.1,假设边缘服务器BFi当前一共部署x个微服务,分别为微服务MS1(BFi),微服务MS2(BFi),...,微服务MSx(BFi);
步骤6.2,对于每个微服务MSz(BFi),其中,z=1,2,...,x,均采用以下方法,计算得到微服务MSz(BFi)对应的优先级PROZ:
1)微服务管理器根据计算图,采用步骤4.1的方式,确定微服务MSz(BFi)的最底层的输入数据集合DS(MSz(BFi))=[DS[z1],DS[z2],...,DS[zy]];其中,y为最底层的数据集合DS的总数量;
2)对于y个数据集合DS[z1],DS[z2],...,DS[zy],其中,有y1个数据集合为边缘服务器BFi监控区域内的智能终端采集到的数据集合,剩余y-y1个数据集合为其他边缘服务器的监控区域内的智能终端采集到的数据集合;
3)采用下式,计算得到微服务MSz(BFi)对应的优先级PROZ:
步骤6.3,对于微服务MS1(BFi),微服务MS2(BFi),...,微服务MSx(BFi),分别计算得到的优先级为:PRO1,PRO2,...,PROx;
微服务管理器比较各个微服务的优先级,即:比较PRO1,PRO2,...,PROx,获得优先级最大的微服务,表示为微服务MSmax(BFi);
步骤6.4,总监控区域一共布置q台边缘服务器,分别为:边缘服务器BF1,边缘服务器BF2,...,边缘服务器BFq;在q台边缘服务器中,将边缘服务器BFi去除,剩余的q-1台边缘服务器形成微服务MSmax(BFi)的候选边缘服务器集合;
对于候选边缘服务器集合中的每个候选边缘服务器RW,计算得到候选边缘服务器RW对微服务MSmax(BFi)的迁移优先级PRW,计算方法为:
设微服务MSmax(BFi)的最底层的输入数据集合为DS(MSmax(BFi))=[DS[1],DS[2],...,DS[e]],其中,e为DS(MSmax(BFi))中数据集合DS的数量,在DS(MSmax(BFi))=[DS[1],DS[2],...,DS[e]]中,属于候选边缘服务器RW监控区域内的智能终端采集到的数据集合的数量,即为候选边缘服务器RW对微服务MSmax(BFi)的迁移优先级PRW;
因此,按迁移优先级从高到低的顺序,对候选边缘服务器集合中的各个候选边缘服务器RW进行排序,形成候选边缘服务器优先级集合,表示为:RW=[RW1,RW2,...,RWw],其中,w为候选边缘服务器的总数量;
步骤6.5,微服务管理器首先向RW=[RW1,RW2,...,RWw]中第1个候选边缘服务器RW1发出对微服务MSmax(BFi)的迁移请求;
步骤6.6,第1个候选边缘服务器RW1根据当前本边缘服务器的负载情况,决定是否接受部署微服务MSmax(BFi),如果不同意,则向微服务管理器发出拒绝部署微服务MSmax(BFi)的通知消息,然后执行步骤6.7;如果同意,则接受并部署微服务MSmax(BFi),然后向微服务管理器发出迁移成功的通知消息,然后执行步骤6.9;
步骤6.7,微服务管理器按照迁移优先级从高到低顺序,继续轮询RW=[RW1,RW2,...,RWw]中下一个候选边缘服务器,依此类推,如果在RW=[RW1,RW2,...,RWw]中成功获得可迁移部署微服务MSmax(BFi)的候选边缘服务器,则执行步骤6.9;如果没有,则执行步骤6.8;
步骤6.8,微服务管理器将微服务MSmax(BFi)迁移部署在自身所处的云端,然后执行步骤6.9;
步骤6.9,微服务管理器更新步骤4建立的微服务部署表,用微服务MSmax(BFi)及部署该微服务MSmax(BFi)的最新边缘服务器的关系,更新微服务MSmax(BFi)及部署该微服务MSmax(BFi)的原边缘服务器的关系,并向边缘服务器BFi发送微服务MSmax(BFi)已迁移成功的通知消息,边缘服务器BFi接收到该消息后,结束本地微服务MSmax(BFi)的运行,并释放微服务MSmax(BFi)占用的本地资源。
微服务管理器进行微服务迁移,具有以下优点:
1)当边缘服务器的负荷达到设定阈值时,微服务管理器及时将该边缘服务器上的微服务进行迁移,从而保证该边缘服务器的运行效率;
2)微服务管理器选择将优先级最大的微服务进行微服务迁移,能够最大程度的使微服务管理器上面剩下的微服务满足数据就近原则,从而保证数据交互的速度;
3)微服务管理器在将优先级最大的微服务迁移出来时,在确定其新部署到的边缘服务器时,仍然是在满足新边缘服务器负荷的情况下,实现数据就近原则对迁移出来的微服务进行部署,从而保证数据交互的速度。
本发明提供的基于计算图和工业云边缘系统的数据请求处理方法,具有以下特点:
1)在云端只布置微服务管理器,将各个微服务下沉到对应的边缘服务器,即:在靠近用户的移动接入网络侧增加边缘服务器,边缘服务器上部署具有数据处理能力的微服务,因此,将云端的计算任务下沉到边缘服务器进行处理,能够弥补云计算存在的时延较长、难以满足5G新增业务场景流量密度需求的缺点;本发明方法,实现超低时延应用,有效缩短数据传输时间,进而提高对客户端的响应时间。
2)本发明中,微服务管理器采用数据就近原则,进行微服务部署;能够使各个微服务在运行时,有效缩短底层数据集合到对应微服务的传输时间,进而加快各个微服务输出数据集合的速度,从而加快数据请求处理速度,最终满足客户端对数据快速获取的需求。
3)本发明中,微服务输出数据集合后,均在本地缓存,并且,缓存数据具有生命周期,提高了微服务提供数据集合的速度;也保证了微服务提供最新的有效数据集合。
4)本发明中,微服务管理器进行微服务迁移,从而满足客户端对数据快速获取的需求。
因此,本发明从多个角度对整个数据请求处理过程进行创新,从而最大程度实现超低时延应用,有效缩短数据传输时间,进而提高对客户端的响应时间。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。
Claims (4)
1.一种基于计算图和工业云边缘系统的数据请求处理方法,其特征在于,包括以下步骤:
步骤1,构建工业云边缘系统构架;所述工业云边缘系统构架包括:微服务管理器和边缘服务器;其中,在云端布置所述微服务管理器;在总监控区域内存在q个基站,在每个基站中布置一台所述边缘服务器,因此,共布置q台边缘服务器,分别为:边缘服务器BF1,边缘服务器BF2,...,边缘服务器BFq;每台所述边缘服务器的监控区域即为对应的所述基站的覆盖范围;
步骤2,对于任意的每台边缘服务器BFi,其中,i=1,2,...,q,建立并实时更新本地存储的数据集合表EDSi=(DSi1,DSi2,...,DSin);
其中,n代表边缘服务器BFi监控区域当前包含的智能终端的总数量,并且,随着监控的不断进行,当边缘服务器BFi监控到其监控区域加入新的智能终端时,则更新数据集合表EDSi,将新加入的智能终端的数据集合DS加入到数据集合表EDSi;
其中:DSi1,DSi2,...,DSin分别代表边缘服务器BFi包含的第1个智能终端Ii1的数据集合,第2个智能终端Ii2的数据集合,...,第n个智能终端Iin的数据集合;
对于边缘服务器BFi包含的任意的第j个智能终端Iij,其数据集合DSij描述方式为:{Key(BFi,IDij):{Lj=Lt1,Lt2,...,Ltx}},即:采用键值对的方式存储数据,其中,IDij代表边缘服务器BFi的监控区域包含的第j个智能终端Iij的智能终端ID;Lj=Lt1,Lt2,...,Ltx代表从监控开始后,第j个智能终端Iij采集到的工业现场数据序列,即:Lt1代表监控开始后,采集到的第1个工业现场数据,Lt2代表监控开始后,采集到的第2个工业现场数据,依此类推,Ltx代表监控开始后,采集到的第x个工业现场数据,并且,随着监控不断进行,第j个智能终端Iij采集到的最新的工业现场数据不断存入该数据集合DSij,实现对数据集合DSij的实时更新;
步骤3,微服务管理器获得总监控区域内需要运行的微服务集合MS=[MS1,MS2,...,MSk],其中,k为总监控区域内需要运行的微服务的总数量;MS1,MS2,...,MSk分别代表总监控区域内需要运行的第1个微服务MS1,第2个微服务MS2,...,第k个微服务MSk;
对于每个任意的微服务MSl,l=1,2,...,k,微服务管理器分析到微服务MSl的输入数据集合DSl和输出数据集合DRl,并对各个微服务之间的数据传递关系进行关联分析,形成表征微服务级联依赖关系的计算图;并且,所述微服务管理器将所述计算图发送给各个边缘服务器;其中,所述计算图包括两类节点:一类节点为微服务节点,另一类节点为数据集合节点;
假设计算图共有m层,则最底层,即第m层的各个节点均为数据集合节点,并且,该数据集合节点均为智能终端采集到的工业现场数据序列形成的数据集合,或为智能终端采集到的工业现场数据序列形成的数据集合的子集合;
计算图的第m-1层节点包括至少一个微服务节点,其对应的微服务表示为MSm-1,微服务MSm-1与第m层的至少一个数据集合节点采用向上箭头连接,代表第m层的对应数据集合节点所对应的数据集合输入到微服务MSm-1,微服务MSm-1对输入的数据集合进行计算处理后,得到输出数据集合DRm-1,将输出数据集合DRm-1作为数据集合节点,并表示在第m-2层的某个节点,再采用向上箭头,使微服务MSm-1连接到其输出的输出数据集合DRm-1;
微服务MSm-1输出的输出数据集合DRm-1,可作为另一个微服务的输入数据集合或输入数据集合的子集,由此采用自下向上方向,实现各个微服务之间的数据传递关系;
步骤4,对于每个微服务MSl,微服务管理器采用数据就近原则确定微服务MSl部署到的目标边缘服务器BF,并将微服务MSl部署在目标边缘服务器BF,同时,微服务管理器将微服务MSl与目标边缘服务器BF的对应关系,存储到微服务部署表,具体方法为:
步骤4.1,微服务管理器在计算图中定位到微服务MSl,从微服务MSl开始,向下定位到与其具有直接连接关系的所有数据集合节点和所有微服务节点;再以定位到的数据集合节点和/或微服务节点为起始节点,向下定位到与自身具有直接连接关系的所有数据集合节点和所有微服务节点,依此类推,直到定位到最底层的数据集合节点,假设定位到的最底层的数据集合节点为c个,则对应的c个数据集合表示为:DS(MSl)=[DS1,DS2,...,DSc];
步骤4.2,微服务管理器将DS(MSl)=[DS1,DS2,...,DSc]与步骤2得到的各个边缘服务器BFi的数据集合表EDSi=(DSi1,DSi2,...,DSin)进行匹配,选择交集最大的边缘服务器作为部署微服务MSl的目标边缘服务器,进而将微服务MSl部署在目标边缘服务器;
步骤5,在所有微服务均部署在自身对应的目标边缘服务器后,采用以下方法,实现对客户端的数据请求处理过程:
步骤5.1,客户端A向微服务管理器发送获取所需的微服务MSl物理地址的请求消息;
步骤5.2,微服务管理器根据步骤4确定的各个微服务的部署情况,确定当前部署微服务MSl的边缘服务器BF(MSl),并向客户端A返回边缘服务器BF(MSl)的物理地址;
步骤5.3,客户端A根据获得的边缘服务器BF(MSl)的物理地址,向边缘服务器BF(MSl)上的微服务MSl发送数据集合DR(MSl)获取请求;其中,该数据集合DR(MSl)为微服务MSl的输出数据集合;
步骤5.4,微服务MSl判断本地是否缓存位于生命周期内的数据集合DR(MSl),如果没有,则执行步骤5.5-步骤5.8;如果有,则直接从本地缓存读取到位于生命周期内的数据集合DR(MSl),并执行步骤5.9;
步骤5.5,微服务MSl根据数据集合DR(MSl)确定本次需要输入的多路输入数据集合,分别表示为:输入数据集合DSl1,DSl2,...,DSlr,其中,r为本次需要输入的输入数据集合的总路数;
步骤5.6,对于每路输入数据集合DSlu,其中,u=1,2,...,r,微服务MSl均采用以下方式收集获取:
步骤5.6.1,微服务MSl判断本地是否缓存位于生命周期内的输入数据集合DSlu,如果没有,则执行步骤5.6.2-步骤5.6.3;如果有,则直接从本地缓存读取到位于生命周期内的输入数据集合DSlu,并执行步骤5.7;
步骤5.6.2,微服务MSl确定输入数据集合DSlu的类型,其中,所述输入数据集合DSlu的类型包括三类,第一种类型为:输入数据集合DSlu为边缘服务器BF(MSl)监控区域中智能终端I(BF(MSl))采集到的工业现场数据序列;第二种类型为:输入数据集合DSlu为边缘服务器BF监控区域中智能终端I(BF)采集到的工业现场数据序列;其中,边缘服务器BF与边缘服务器BF(MSl)为不同的边缘服务器;第三种类型为:微服务MSl通过分析边缘服务器BF(MSl)本地存储的计算图,确定输入数据集合DSlu为微服务MSv的直接输出数据集合或微服务MSl的直接输出数据集合的子集合,其中,微服务MSv与微服务MSl为不同的微服务;
步骤5.6.3,如果输入数据集合DSlu为第一种类型,则微服务MSl查找边缘服务器BF(MSl)本地存储的数据集合表EDS,直接读取到所需的输入数据集合DSlu;
如果输入数据集合DSlu为第二种类型,则微服务MSl向边缘服务器BF发送获得智能终端I(BF)采集到的输入数据集合DSlu的请求消息,边缘服务器BF接收到该请求消息后,通过查找本地存储的数据集合表,读取到所需的由智能终端I(BF)采集到的输入数据集合DSlu,并返回给微服务MSl,因此,微服务MSl获得所需的输入数据集合DSlu;
如果输入数据集合DSlu为第三种类型,则采用以下方式:
1)微服务MSl向微服务管理器发送获取微服务MSv物理地址的请求消息;
2)微服务管理器确定当前部署微服务MSv的边缘服务器BF(MSv),并向微服务MSl返回边缘服务器BF(MSv)的物理地址;
3)微服务MSl根据获得的边缘服务器BF(MSv)的物理地址,向边缘服务器BF(MSv)上的微服务MSv发送输入数据集合DSlu获取请求;
4)微服务MSv根据输入数据集合DSlu,确定本次需要输入的至少一路输入数据集合,并对所需要的各路输入数据集合进行汇聚和分析,得到输入数据集合DSlu;
5)微服务MSv将分析计算得到的输入数据集合DSlu发送给微服务MSl;
至此,微服务MSl收集获取到输入数据集合DSlu;然后执行步骤5.7;
步骤5.7,微服务MSl收集获取到所需的各种输入数据集合DSl1,DSl2,...,DSlr后,将输入数据集合DSl1,DSl2,...,DSlr缓存在本地,并且,输入数据集合DSl1,DSl2,...,DSlr在本地缓存存在生命周期,当到达生命周期长度时,删除或将其标记为失效状态;然后执行步骤5.8;
步骤5.8,微服务MSl以DSl1,DSl2,...,DSlr为输入,进行分析处理,得到数据集合DR(MSl);微服务MSl将数据集合DR(MSl)缓存在本地,并且,数据集合DR(MSl)在本地缓存存在生命周期,当到达生命周期长度时,删除或将其标记为失效状态;然后执行步骤5.9;
步骤5.9,然后,微服务MSl将获得的数据集合DR(MSl)发送给客户端A,实现对客户端A请求的处理。
2.根据权利要求1所述的基于计算图和工业云边缘系统的数据请求处理方法,其特征在于,还包括步骤6,微服务管理器对各个边缘服务器的负载状态进行实时监控,当监控到任意的边缘服务器BFi的负荷达到设定阈值时,对边缘服务器BFi当前部署的微服务进行微服务迁移。
3.根据权利要求2所述的基于计算图和工业云边缘系统的数据请求处理方法,其特征在于,各个边缘服务器的负载状态包括当前CPU利用率、内存利用率和网络流量中的至少一种。
4.根据权利要求2所述的基于计算图和工业云边缘系统的数据请求处理方法,其特征在于,微服务管理器采用以下步骤,对边缘服务器BFi当前部署的微服务进行微服务迁移:
步骤6.1,假设边缘服务器BFi当前一共部署x个微服务,分别为微服务MS1(BFi),微服务MS2(BFi),...,微服务MSx(BFi);
步骤6.2,对于每个微服务MSz(BFi),其中,z=1,2,...,x,均采用以下方法,计算得到微服务MSz(BFi)对应的优先级PROZ:
1)微服务管理器根据计算图,采用步骤4.1的方式,确定微服务MSz(BFi)的最底层的输入数据集合DS(MSz(BFi))=[DS[z1],DS[z2],...,DS[zy]];其中,y为最底层的数据集合DS的总数量;
2)对于y个数据集合DS[z1],DS[z2],...,DS[zy],其中,有y1个数据集合为边缘服务器BFi监控区域内的智能终端采集到的数据集合,剩余y-y1个数据集合为其他边缘服务器的监控区域内的智能终端采集到的数据集合;
3)采用下式,计算得到微服务MSz(BFi)对应的优先级PROZ:
步骤6.3,对于微服务MS1(BFi),微服务MS2(BFi),...,微服务MSx(BFi),分别计算得到的优先级为:PRO1,PRO2,...,PROx;
微服务管理器比较各个微服务的优先级,即:比较PRO1,PRO2,...,PROx,获得优先级最大的微服务,表示为微服务MSmax(BFi);
步骤6.4,总监控区域一共布置q台边缘服务器,分别为:边缘服务器BF1,边缘服务器BF2,...,边缘服务器BFq;在q台边缘服务器中,将边缘服务器BFi去除,剩余的q-1台边缘服务器形成微服务MSmax(BFi)的候选边缘服务器集合;
对于候选边缘服务器集合中的每个候选边缘服务器RW,计算得到候选边缘服务器RW对微服务MSmax(BFi)的迁移优先级PRW,计算方法为:
设微服务MSmax(BFi)的最底层的输入数据集合为DS(MSmax(BFi))=[DS[1],DS[2],...,DS[e]],其中,e为DS(MSmax(BFi))中数据集合DS的数量,在DS(MSmax(BFi))=[DS[1],DS[2],...,DS[e]]中,属于候选边缘服务器RW监控区域内的智能终端采集到的数据集合的数量,即为候选边缘服务器RW对微服务MSmax(BFi)的迁移优先级PRW;
因此,按迁移优先级从高到低的顺序,对候选边缘服务器集合中的各个候选边缘服务器RW进行排序,形成候选边缘服务器优先级集合,表示为:RW=[RW1,RW2,...,RWw],其中,w为候选边缘服务器的总数量;
步骤6.5,微服务管理器首先向RW=[RW1,RW2,...,RWw]中第1个候选边缘服务器RW1发出对微服务MSmax(BFi)的迁移请求;
步骤6.6,第1个候选边缘服务器RW1根据当前本边缘服务器的负载情况,决定是否接受部署微服务MSmax(BFi),如果不同意,则向微服务管理器发出拒绝部署微服务MSmax(BFi)的通知消息,然后执行步骤6.7;如果同意,则接受并部署微服务MSmax(BFi),然后向微服务管理器发出迁移成功的通知消息,然后执行步骤6.9;
步骤6.7,微服务管理器按照迁移优先级从高到低顺序,继续轮询RW=[RW1,RW2,...,RWw]中下一个候选边缘服务器,依此类推,如果在RW=[RW1,RW2,...,RWw]中成功获得可迁移部署微服务MSmax(BFi)的候选边缘服务器,则执行步骤6.9;如果没有,则执行步骤6.8;
步骤6.8,微服务管理器将微服务MSmax(BFi)迁移部署在自身所处的云端,然后执行步骤6.9;
步骤6.9,微服务管理器更新步骤4建立的微服务部署表,用微服务MSmax(BFi)及部署该微服务MSmax(BFi)的最新边缘服务器的关系,更新微服务MSmax(BFi)及部署该微服务MSmax(BFi)的原边缘服务器的关系,并向边缘服务器BFi发送微服务MSmax(BFi)已迁移成功的通知消息,边缘服务器BFi接收到该消息后,结束本地微服务MSmax(BFi)的运行,并释放微服务MSmax(BFi)占用的本地资源。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011140269.1A CN112256429B (zh) | 2020-10-22 | 2020-10-22 | 基于计算图和工业云边缘系统的数据请求处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011140269.1A CN112256429B (zh) | 2020-10-22 | 2020-10-22 | 基于计算图和工业云边缘系统的数据请求处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112256429A true CN112256429A (zh) | 2021-01-22 |
CN112256429B CN112256429B (zh) | 2023-09-22 |
Family
ID=74264102
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011140269.1A Active CN112256429B (zh) | 2020-10-22 | 2020-10-22 | 基于计算图和工业云边缘系统的数据请求处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112256429B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113037872A (zh) * | 2021-05-20 | 2021-06-25 | 杭州雅观科技有限公司 | 一种基于物联网多级边缘节点的缓存和预取方法 |
CN116360992A (zh) * | 2023-03-30 | 2023-06-30 | 郑州地铁集团有限公司运营分公司 | 基于容器化微服务的轨道交通供电智能运维方法及系统 |
CN117349036A (zh) * | 2023-12-06 | 2024-01-05 | 湖北省楚天云有限公司 | 微服务实例部署方法、系统、设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180159747A1 (en) * | 2016-12-05 | 2018-06-07 | General Electric Company | Automated feature deployment for active analytics microservices |
CN109302321A (zh) * | 2018-11-13 | 2019-02-01 | 珠海格力电器股份有限公司 | 服务器、业务需求处理系统、方法和监控系统 |
CN109861858A (zh) * | 2019-01-28 | 2019-06-07 | 北京大学 | 微服务系统根因节点的错误排查方法 |
CN110022349A (zh) * | 2019-01-17 | 2019-07-16 | 重庆邮电大学 | 一种基于边缘计算的异构工业网络设备组态微服务方法 |
CN110187973A (zh) * | 2019-05-31 | 2019-08-30 | 浙江大学 | 一种面向边缘计算的服务部署优化方法 |
US20200151191A1 (en) * | 2018-11-13 | 2020-05-14 | Thoughtspot, Inc. | Low-Latency Predictive Database Analysis |
-
2020
- 2020-10-22 CN CN202011140269.1A patent/CN112256429B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180159747A1 (en) * | 2016-12-05 | 2018-06-07 | General Electric Company | Automated feature deployment for active analytics microservices |
CN109302321A (zh) * | 2018-11-13 | 2019-02-01 | 珠海格力电器股份有限公司 | 服务器、业务需求处理系统、方法和监控系统 |
US20200151191A1 (en) * | 2018-11-13 | 2020-05-14 | Thoughtspot, Inc. | Low-Latency Predictive Database Analysis |
CN110022349A (zh) * | 2019-01-17 | 2019-07-16 | 重庆邮电大学 | 一种基于边缘计算的异构工业网络设备组态微服务方法 |
CN109861858A (zh) * | 2019-01-28 | 2019-06-07 | 北京大学 | 微服务系统根因节点的错误排查方法 |
CN110187973A (zh) * | 2019-05-31 | 2019-08-30 | 浙江大学 | 一种面向边缘计算的服务部署优化方法 |
Non-Patent Citations (1)
Title |
---|
于亮亮;徐欣;巢俊;: "基于微服务架构的边缘计算系统研究", 工业控制计算机, no. 09 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113037872A (zh) * | 2021-05-20 | 2021-06-25 | 杭州雅观科技有限公司 | 一种基于物联网多级边缘节点的缓存和预取方法 |
CN116360992A (zh) * | 2023-03-30 | 2023-06-30 | 郑州地铁集团有限公司运营分公司 | 基于容器化微服务的轨道交通供电智能运维方法及系统 |
CN116360992B (zh) * | 2023-03-30 | 2023-11-17 | 郑州地铁集团有限公司运营分公司 | 基于容器化微服务的轨道交通供电智能运维方法及系统 |
CN117349036A (zh) * | 2023-12-06 | 2024-01-05 | 湖北省楚天云有限公司 | 微服务实例部署方法、系统、设备及存储介质 |
CN117349036B (zh) * | 2023-12-06 | 2024-04-05 | 湖北省楚天云有限公司 | 微服务实例部署方法、系统、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112256429B (zh) | 2023-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112256429A (zh) | 基于计算图和工业云边缘系统的数据请求处理方法 | |
CN110247793B (zh) | 一种移动边缘云中的应用程序部署方法 | |
CN111885122B (zh) | 远程推送方法、系统、服务器、计算机可读存储介质 | |
Wu et al. | An efficient offloading algorithm based on support vector machine for mobile edge computing in vehicular networks | |
CN113498508A (zh) | 动态网络配置 | |
CN113282409B (zh) | 边缘计算任务的处理方法、装置和计算机设备 | |
Huang et al. | A scalable approach to SDN control plane management: High utilization comes with low latency | |
CN114595049A (zh) | 一种云边协同任务调度方法及装置 | |
CN111064591B (zh) | 数据汇聚方法、装置、设备、存储介质和系统 | |
Beraldi et al. | Randomized load balancing under loosely correlated state information in fog computing | |
CN109495565B (zh) | 基于分布式泛在计算的高并发服务请求处理方法和设备 | |
WO2019057209A1 (zh) | 本地内容的缓存方法、装置、存储介质及电子装置 | |
Kumar et al. | A K-means clustering based message forwarding model for Internet of Things (IoT) | |
CN111434074A (zh) | 用于通信网络中的虚拟网络功能(vnf)的自动选择的方法和系统 | |
CN115118647B (zh) | 算力网络中算力信息感知和通告系统及其方法 | |
CN111050398B (zh) | 寻呼方法、装置、设备及存储介质 | |
US11622322B1 (en) | Systems and methods for providing satellite backhaul management over terrestrial fiber | |
CN112272227A (zh) | 一种基于计算图的边缘计算任务调度方法 | |
CN114253728A (zh) | 基于网页生态的异构多节点协同分布式神经网络部署系统 | |
Thanuja | Multi mobile agent itinerary planning using farthest node first nearest node next (FNFNNN) technique | |
CN114390489A (zh) | 一种端到端网络切片的服务化部署方法 | |
Hu et al. | A mobility-aware service function chain migration strategy based on deep reinforcement learning | |
CN107147694B (zh) | 一种信息处理方法和装置 | |
Li et al. | On the modelling and analysis of edge-serverless computing | |
Chen et al. | Energy-efficient load-balanced heterogeneous mobile cloud |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |