基于数据-微服务关系图的天地一体边缘服务自适应部署方法
文献发布时间:2024-04-18 19:59:31
技术领域
本发明属于遥感卫星领域。
背景技术
水体、植被、土壤等不同的地表物体,在遇到电磁波时,反射率并不相同。遥感卫星根据探测到的电磁波数据特征,生成图像,传输给地面站,计算机数据处理后,我们就能得到图像反映出的信息,将其运用到气象、灾害监测、资源和测绘等方面。但在实际操作中,由于遥感卫星传输的带宽有限,每日卫星产生的海量数据中,实际只有10%左右能被传送到数据中心,数据的传输时间长,数据处理和存储效率慢的问题,亟待解决。
为了更好地复用卫星有限的计算资源,加快数据处理和存储的速度,本发明在东数西算的基础上,提出了地数天算的概念,通过构建数据中心、遥感卫星、天算卫星、大数据一体化的新型算力网络体系,将遥感卫星数据处理所需的算力需求部分从地面有序引导到天上,促进天地协同联动。也就是说,让天上的算力资源更好地支持地面的算力资源,从而加快遥感卫星数据的处理效率。
发明内容
本发明针对卫星数据与算法模型的匹配算法进行研究,针对遥感卫星数据处理的问题,提出了天地一体边缘服务自适应部署方法。根据遥感卫星传输的遥感数据之间的依赖关系,及其与由地面训练并部署到卫星的算法模型,使用匹配算法赋给算法模型中的微服务以逻辑关系,再利用卫星的计算资源处理传输的所需遥感数据,最后将结果回传至地面。通过本发明,卫星将自动匹配数据和算法模型并进行计算,加快数据处理和存储的速度,促进天地协同。
本发明的具体步骤如下:
(1)遥感卫星将遥感数据之间的依赖关系发送给天算卫星,并存储在在轨边缘计算平台中。
根据系统内的记录,所有类型遥感数据分别对应一个编号,1、2、3...。构建遥感数据之间的依赖关系,可以用如下有向图结构表示:G1= 构建遥感卫星-天算卫星之间的星间链路,通过光通信,实现从遥感卫星到天算卫星的遥感数据之间的依赖关系传输,并将该依赖关系储存在天算卫星的在轨边缘计算平台中,其存储形式为邻接表形式。 不同轨道星座星间链路建立的难易程度与方位角、仰角和星间距离的动态变化范围、变化速率有关。 对于相同轨道高度的卫星,其位置需满足: (R 其中,R 对于不同轨道高度的卫星,两卫星所夹地心角需小于最大星间地心角,且其仰角需满足 E 其中,E (2)对天算卫星边缘计算平台上的遥感数据之间的依赖关系,构建多个起始结点,实现对该有向图上所有结点的完全遍历。 自定义一个全局变量i,设置i的初始值为1,对天算卫星边缘计算平台上的遥感数据之间的依赖关系有向图上的所有结点,分别作为起始结点,使用通过广度优先检索(BFS)算法遍历,每经过一个结点使i的值加一,并记录以该结点为起始结点时遍历不到的结点。 全部结点均作为起始结点遍历结束后,比较得出遍历时经过结点数最多的结点,即i的值最大的结点,设置该结点为第一个起始结点,在之后遍历有向图时首先作为起点(如图2)。再分别以记录的以该结点为起始结点时遍历不到的结点作为起始结点,继续使用BFS算法遍历有向图上以第一个起始结点为起始时,遍历不到的那些结点,同上文步骤再设置多个起始结点,直到实现以这些起始结点为起点时,使用BFS算法,能实现对遥感数据之间的依赖关系有向图上所有结点的完全遍历。 (3)地面数据中心训练处理数据所需的算法模型。 首先,根据遥感数据类型,对数据集进行处理,例如添加数据,为数据增加的标记。之后,使用conda info–-envs命令找到程序的环境名称后,使用conda create-n命令创建新的算法环境以保留原有算法模型,并使用conda install安装所需要的包。然后,使用source activate环境名(程序所在环境的名字)激活环境,在虚拟环境激活的情况下,进入到程序所在文件夹,使用train方法对数据集进行训练,生成新算法模型。最后,将训练好的模型对测试集进行预测,输出效果图到目标文件夹,检验算法模型效果。 (4)当天算卫星位于该地地面站上方时,数据中心将训练好的算法模型发送给天算卫星。 地面数据中心通过基于神经网络算法的卫星轨道预报算法: X”=RcosE-Re Z”=0 其中X”、Y”、Z”分别表示卫星在地心惯性系下的位置坐标,R、r分别表示卫星在椭圆轨道上的长半轴和短半轴,E表示偏近点角,e表示椭圆轨道离心率。 预测天算卫星的运行轨道,当检测到天算卫星的轨道位置坐标位于地面数据中心的位置坐标上方时,地面数据中心通过地面站发送端将训练好的算法模型文件数据,和该算法模型内各个微服务对应的遥感数据类型编号(详情见(5))发送给天算卫星,在数据传输过程中,通过星.地网关,实现卫星通信网络(CCSDS协议)与地面通信网络(TCP/IP协议)之间协议的转换,将地面网传输上来的IP数据报封装为CCSDS数据帧,满足端到端及星地一体化通信网络的互联互通。 (5)天算卫星自动存储算法模型,并根据遥感数据之间的依赖关系与算法模型,使用匹配算法自动为该算法模型构建依赖关系,并自动将该算法模型封装为边缘服务,在卫星在轨边缘计算平台中部署。 (i)存储 天算卫星在轨边缘计算平台中,存放了遥感数据之间的依赖关系、匹配算法、微服务和部署完成的边缘服务。在上文已经提到,遥感数据之间的依赖关系存储形式为邻接表。设置微服务的存储形式为线性表的链式存储,每个结点包括数据域data(存放微服务结构体)和指针域next(存放后继结点的地址),每个结点的next将线性表的n个存储微服务的结点按照逻辑次序连接在一起构成单链表,在单链表中第一个结点前附设一个不存储信息的头结点,设置头指针指向头结点。定义该线性表为G2= 设置微服务结构体包含一个type成员变量,type值为该微服务对应的遥感数据的类型对应的编号。微服务结构体中type值相同的结点相邻。 天算卫星接收到地面数据中心传输的算法模型和对应的遥感数据类型编号后,从头结点开始遍历整个单链表,当检索到某个结点p中data存储的微服务结构体中的type值,和算法模型中某个微服务A的对应遥感数据编号相等时,将算法模型中的微服务A变形为微服务结构体形式,并复制成两份,其type赋值为遥感数据类型编号。建立新结点s,其data存储微服务A的结构体,通过s.next=p.next指令,将s的next指针指向p的后继节点,再通过p.next=s指令,将p的next指针指向s,从而实现将新结点s插入到原本结点p的后面的操作。然后继续遍历,重复该步骤,直到将算法模型中所有微服务均存储到微服务线性表中。 (ii)匹配 使用匹配算法为该算法模型构建依赖关系,其形式为线性表的顺序存储。具体操作为取一片相邻的存储区域作为线性表的存储地址,其大小为算法模型中微服务的数量总和。以前文提到的第一个起始结点为起始,使用BFS算法遍历遥感数据之间的依赖关系有向图G1= 如果以第一个起始结点为起始遍历有向图G1过程中,线性表已满,即算法模型中所有微服务均存储到线性表中,结束遍历,该步骤完成。以第一个起始结点为起始遍历有向图G1结束后,线性表依旧未满,则继续依次以其它起始结点为起始,使用BFS算法遍历有向图G1,将匹配到的微服务结构体存储到线性表中,直到线性表已满,结束遍历,该步骤完成。 定义该线性表为G3= (iii)封装部署 将G3= (6)根据算法模型使用匹配算法匹配遥感卫星,遥感卫星将实时遥感数据发送给天算卫星。 根据传输上来的算法模型中遥感数据类型编号,检索存储其对应遥感数据的遥感卫星,构建遥感卫星.天算卫星之间的星间链路,通过光通信,实现从匹配到的遥感卫星到天算卫星的实时遥感数据传输。 (7)天算卫星的在轨边缘计算平台存储数据。 天算卫星的在轨边缘计算平台将收集的遥感数据通过数模转换多波段处理,转换成数字数据储存。 {f 遥感图像数据的表示可以看成是一个包含K个波段的矩阵(或张量),f (8)天算卫星使用该边缘服务处理匹配的数据。 当需要使用天算卫星边缘计算平台上的边缘服务处理匹配的遥感数据时,地面端发送ssh root@远程服务器ip指令到天算卫星中控机,中控机收到登录请求后,随机生成一串字符串str1,发送给地面端,地面端使用与中控机公钥配对的私钥对字符串str1进行加密,将加密后字符串发送给中控机。中控机使用存储的公钥对地面端发来的加密字符串进行解密得到解密字符串str2,比较str2和str1,如果结果相同,则地面端远程登录天算卫星上的树莓派,操作边缘服务处理遥感数据。 (9)天算卫星将处理后数据传输回地面数据中心,数据中心接收数据。 天算卫星将处理后数据传输给地面数据中心,在数据传输过程中,通过星-地网关,实现卫星通信网络(CCSDS协议)与地面通信网络(TCP/IP协议)之间协议的转换,将卫星网传输上来的CCSDS数据帧提取出IP数据报,满足端到端及星地一体化通信网络的互联互通。 (10)地面数据中心再处理数据。 地面数据中心接收天算卫星初步处理后的数据后,根据获取遥感数据目的选择相应高精度模型,例如数字高程模型(DEM)、土地利用/覆盖分类模型、植被指数模型等,进一步处理和分析遥感数据,提高数据处理的精确度和准确度,生成检测报告等。 (11)地面数据中心发送处理后数据到相关部门。 地面数据中心使用一系列有线和无线网络发送处理后数据到达所需用户的网络设备上。 附图说明 图1遥感卫星传输遥感数据之间的依赖关系到天算卫星 图2遥感数据之间的依赖关系有向图 图3设置第一个起始结点 图4设置其它起始结点 图5线性表G2 图6遍历单链表G2 图7插入存储算法模型中微服务的新节点到单链表G2 图8算法模型存储进单链表G2完成 图9建立顺序表G3 图10匹配到的遥感卫星传输相关实时遥感数据到天算卫星 图11天算卫星将处理后数据传输给地面数据中心,数据中心再处理数据后发送到有关部门 图12总应用场景 具体实施方式 具体事例1:检测水体状况 重庆新建立一个遥感卫星地面站。国家环境保护总局在某一阶段需要进行水体状况的研究,需要经重庆遥感卫星地面站接收并处理后的卫星水体方面的遥感数据的支持。 1.地面如何做: ①重庆地面数据中心训练处理数据所需的算法模型。 水体遥感监测需要的遥感数据包括水体分布、水温、叶绿素a浓度、悬浮物浓度、透明度。重庆地面数据中心训练处理这些数据所需的算法模型,其中水体分布可以用归一化水体指数(NDWI)表示,水温可以用热红外波段表示,叶绿素a浓度可以用蓝绿比值模型表示,悬浮物浓度可以用近红外波段表示,透明度可以用近红外波段表示。算法模型如下: 水体指数(NDWI): 热红外波段:T 悬浮物浓度:TSM=0.5B 叶绿素a浓度: 透明度:SD=0.5B ②当天算卫星位于重庆地面站上方时,重庆地面数据中心将训练好的算法模型发送给天算卫星。 地面数据中心通过基于神经网络算法的卫星轨道预报算法,预测天算卫星的运行轨道,当检测到天算卫星的轨道位置坐标位于地面数据中心的位置坐标上方时,地面数据中心通过地面站发送端将训练好的算法模型文件数据,和该算法模型内各个微服务对应的遥感数据类型编号通过通过星.地网关实现协议转换,发送给天算卫星。 ③重庆地面数据中心接收天算卫星初步处理的遥感数据。 地面数据中心接收到天算卫星传输回来的水质参数数据后,将其转换为可视化的图表和地图,显示水体状况的空间分布和变化趋势。 ④重庆地面数据中心再处理数据。 地面数据中心接收天算卫星初步处理后的数据后,依据高精度的水体反演模型进一步完成进一步处理和分析遥感数据,提高数据处理的精确度和准确度,生成检测报告。检测报告包括水体状况的评价指标、评价结果、评价等级、评价建议等内容,以及水体状况的影响因素、存在问题、改善措施等分析。 ⑤重庆地面数据中心发送处理后数据到相关部门。 使用有线和无线网络手段,重庆地面数据中心发送处理后数据到达所需用户的网络设备上。例如,将水体状况的图表和地图发送给环保部门、水利部门、渔业部门等相关部门,以便他们了解水体状况并采取相应的管理和保护措施;也可以将检测报告发送给政府部门、科研机构、媒体等相关方,以便他们制定政策、开展研究、宣传教育等工作。 2.天上如何做: ①天算卫星在轨道上运动,当其轨道位置位于重庆遥感卫星地面站上方时,在轨边缘计算平台接收重庆地面数据中心训练好的算法模型。 ②天算卫星自动存储算法模型,并根据遥感数据之间的依赖关系与算法模型,使用匹配算法自动为该算法模型构建依赖关系,并自动将该算法模型封装为边缘服务,在卫星在轨边缘计算平台中部署。 根据传输上来的算法模型中遥感数据类型编号,天算卫星自动将算法模型存储在在轨边缘计算平台中的单链表G2中,并根据遥感数据之间的依赖关系与算法模型,使用匹配算法自动为该算法模型构建依赖关系得到顺序表G3,按其逻辑地址顺序,算法模型中微服务的依赖关系为NDWI→Chl-a→TSM→SD。将G3封装为边缘服务,在卫星在轨边缘计算平台中部署。 ③根据算法模型使用匹配算法匹配遥感卫星,遥感卫星将实时遥感数据发送给天算卫星。 根据传输上来的算法模型中遥感数据类型编号,检索到存储水体分布、水温、叶绿素a浓度、悬浮物浓度、透明度遥感数据的卫星为GF-1、GF-2、ZY-3、SPOT4和Landsat,让这些卫星将有关实时遥感数据发送给天算卫星,天算卫星的在轨边缘计算平台将收集的遥感数据通过数模转换多波段处理,转换成数字数据储存。 ④天算卫星的在轨边缘计算平台存储数据。 天算卫星的在轨边缘计算平台将收集的遥感数据通过数模转换多波段处理,转换成数字数据储存。 ⑤使用该边缘服务处理匹配的数据。 边缘服务根据顺序表G ⑤将初步处理后的数据传输回重庆遥感卫星地面站。