天文数据处理流水线可视化建模的研究与实现_唐家宁.pdf
《天文数据处理流水线可视化建模的研究与实现_唐家宁.pdf》由会员分享,可在线阅读,更多相关《天文数据处理流水线可视化建模的研究与实现_唐家宁.pdf(7页珍藏版)》请在咨信网上搜索。
1、本栏目责任编辑:王力数据库与大数据技术Computer Knowledge and Technology电脑知识与技术第19卷第3期(2023年1月)第19卷第3期(2023年1月)天文数据处理流水线可视化建模的研究与实现唐家宁,吴开超,张晓丽(中国科学院 计算机网络信息中心,北京 100190)摘要:天文数据规模大,计算需求强,处理过程复杂,传统天文数据处理大多依赖手工操作,效率较低。面向FAST巡天快速射电暴研究的需求,提出天文数据处理流水线可视化建模研究方法,通过数据驱动模式实现流水线模型的自动化运行。在流水线模型中定义了数据处理流水线、算法模块、数据集等对象,通过交互式流水线建模构建流
2、水线模型。流水线建模工具基于MVC模型设计,通过gRPC实现前后端的高效通信,实现流水线的可视化建模,进而支持数据处理全生命周期管理,简化数据处理流程,提高天文科学研究的效率。关键词:流水线建模;数据处理自动化;快速射电暴;gRPC;布局管理中图分类号:TP311文献标识码:A文章编号:1009-3044(2023)03-0060-06开放科学(资源服务)标识码(OSID):1 引言天文学是一门以观测为基础的学科,从观测数据中搜寻信号总结规律,因而对数据运算处理都有很大需求。天文数据处理的流程复杂,传统上多依赖人工,处理效率较低。当前观测数据规模快速增长,现有处理方式难以满足PB级天文数据的快
3、速处理要求。500米口径球面射电望远镜FAST(Five-hundred-meter Aperture Spherical radio Telescope)是 我 国 于2016年建成的世界上单口径最大、灵敏度最高的射电望远镜1,每年观测产生的数据量达15PB。快速射电暴(Fast Radio Bursts,FRB)2是FAST的主要科学目标之一,也是当前射电天文领域的热点研究方向,FRB搜索计算处理的算力需求大、流程复杂、人工依赖性较强,需提升计算处理效率,以加快科研成果的产出。为解决以FRB搜索为代表的天文数据处理中存在的问题与挑战,在对其处理过程复杂、冗长、数据算法独立性较高等特点深入分
4、析的基础上,设计了流水线(Pipeline)模型,将整个数据处理过程分为若干步骤,每一个步骤都设计为独立的数据处理模块,整个模型采用流水线工作模式3将所有处理模块以有向无环图(DAG,Directed Acyclic Graph)串联起来,通过设计流水线处理引擎,来驱动对流水线DAG模型的自动化处理。基于此构建天文数据处理自动化流水线平台。流水线平台主要包括流水线处理引擎和支持与科学家交互的流水线建模工具软件。本文主要研究天文数据处理中的流水线建模技术以及建模中的可视化交互及可视化呈现。基于平台分布式架构,通过对接流水线处理引擎,实现流水线模型自动化执行,进而减少人工操作。2 可视化建模相关研
5、究工作可视化建模中涉及模型自身与模型可视化表达,基于经典的MVC模型开展相关研究是其中重要的研究内容;流水线建模应用涉及大量数据交互,gRPC(Google Remote Procedure Call)支持高效的数据序列化,是当前最重要的分布式对象协议之一,可为分布式的流水线建模应用提供底层支撑;模型图中的部件自动布局管理也是模型可视化的重要研究内容。2.1 MVC模型MVC 设计模式由 Trygve Reenskaug 于 1970 年代在Xerox Parc首次提出,其根本目的是构建人类用户理解的业务模型和计算机数字模型的桥梁4。1988年Krasner和Pope详细解释了smalltal
6、k中的MVC模式,如果在构建应用程序时考虑模块化,尽可能将功能单元彼此隔离,使应用逻辑设计更易于理解和修改,而无须了解其他逻辑单元5。按MVC模式,可将用户应用程序分为三个部分:主应用域模型、模型数据展示和用户交互。MVC模型结构如图1所示。收稿日期:2022-08-25作者简介:唐家宁(1994),女,吉林长春人,通信作者,工程师,学士,研究方向为云计算、天文科学应用、Web开发;吴开超(1970),男,研究员,博士,研究方向为数据密集型计算、科研云基础设施、天文科学应用;张晓丽(1977),女,工程师,硕士,研究方向为软件开发、科研云基础设施。E-mail:http:/Tel:+86-55
7、1-65690963 65690964ISSN 1009-3044Computer Knowledge and Technology电脑知识与技术Vol.19,No.3,January202360DOI:10.14004/ki.ckt.2023.0162数据库与大数据技术本栏目责任编辑:王力Computer Knowledge and Technology电脑知识与技术第19卷第3期(2023年1月)第19卷第3期(2023年1月)ControllerViewModel图1 MVC模型示意图1)模型Model模型负责管理与数据相关的所有任务:验证、会话状态和控制,引入模型管理可降低应用代码的复
8、杂性。模型层负责应用程序的业务逻辑,通过封装访问数据(SQL/NoSQL/文件等)的方法,提供一个可重用的代码库6。通常一个模型是用数据构建的头脑中的抽象,验证和认证,由定义感兴趣领域的代码组成,封装存储在数据库中的数据及其操作,并与不同数据源的交互,执行业务规则。通过有效设计使得模型在应用程序间变得高度可重用。2)视图View视图负责图形界面管理。针对Web应用,所有表单、按钮、图形元素和应用程序内部的所有其他HTML元素,可用于生成RSS聚合器。通过将应用程序的设计与应用程序的逻辑分离,当设计师决定改变应用程序的界面时,可降低出错的风险6。Web应用中视图层控制数据显示方式和用户交互模式,
9、并提供收集用户数据的方法。视图通常不应包含属于应用逻辑的元素,以使其更容易供设计师使用。视图层通常利用模板技术来实现,模板中使用特殊的HTML基于相关内容来插入和生成注释,设计人员可看到渲染视图之前的整个标记,这使得模型处理对于前端开发人员透明。3)控制器Controller控制器负责事件处理,事件则由用户交互或系统进程触发。控制器绑定所有应用逻辑,将View的显示与View的功能绑定。模型则负责检索数据并为视图建立执行路径。控制器还负责统一的错误处理。控制器接受用户交互请求后,访问模型的功能,与模型交互检索所需数据生成视图,并解释接收到的数据,准备相应的数据格式,以便在视图中显示。2.2 g
10、RPC通信gRPC是一个高性能、通用的开源RPC框架,基于ProtoBuf(Protocol Buffers)序列化协议开发,且支持众多开发语言。面向服务端和移动端,基于HTTP/2设计,具有诸如双向流、流控、头部压缩、单TCP连接上的多复用请求等特征7。在gRPC 里客户端应用可以像调用本地对象一样,直接调用其他不同机器上的服务端应用的方法,能够更容易地创建分布式应用和服务,请求流程如图2所示。gRPC ServergRPC StubServiceClientProto ResponseProto Request图2 gRPC请求流程图1)客户端(gRPC Stub)调用M方法,发起RPC调
11、用。2)对请求信息使用 Protobuf 进行对象序列化压缩(IDL)。3)服务端(gRPC Server)接收到请求后,解码请求,进行业务逻辑处理并返回。4)对响应结果使用Protobuf进行对象序列化压缩(IDL)。5)客户端接受到服务端响应,解码请求体。回调被调用的M方法,唤醒正在等待响应(阻塞)的客户端调用并返回响应结果。对于技术选型,流水线平台基于gRPC进行前后端通信,有如下优势:1)性能好,传输效率高:流水线模型运行过程中数据层和视图层的数据规模都比较大,需要在前后端频繁通信,gRPC通过Protocol Buffers定义接口,基于ProtoBuf可将数据序列化为二进制格式,减
12、少数据量,大幅度提升性能8,且gRPC采用HTTP/2.0协议进行传输,可以减少TCP连接次数,更加节省网络带宽。总体上传输效率相较json数据流快6倍。2)简化编程,编码效率高:流水线平台客户端基于JavaScript实现,服务端基于Java实现,gRPC可以跨语言使用,支持多种语言,基于proto文件可生成客户端和服务端目标代码,通过前后端对象的序列化实现通信,序列化反序列化直接对应程序中的数据类,不需要解析后再进行映射,前端可直接调用后端接口方法,简化流水线建模工作平台工作流程,提高编码效率。2.3 图表布局管理(Diagram Layout Management)数据流建模中数据流模型
13、以图表形式展示并与用户交互,基于布局管理算法实现图表的自动绘制,使得其具有良好可读性,并符合美学要求。自动布局算法接收指定图表元素之间连接关系的抽象图(DAG)作为输入,并根据美学产生相应的图表作为输出。基本策略是逐步构建布局,首先构建好拓扑结构,减少边之间的交叉;随后,图表的形状根据沿边缘出现的角度做调整;最后给图赋予维度,得到图的网格骨61本栏目责任编辑:王力数据库与大数据技术Computer Knowledge and Technology电脑知识与技术第19卷第3期(2023年1月)第19卷第3期(2023年1月)架9。数据流模型通常都是手动生成的,或者使用图形编辑器生成;在这两种情况
14、下,图表的布局都由设计者负责10。自动布局管理在以下方面对建模过程非常有用:降低制作和维护图表的成本;自动生成符合美学的图表,增加图解表示的表达能力;整合图表的构思和制作阶段;图文文档自动统一管理,增加用户和设计者之间的通信带宽。常见的自动布局管理如表1所示11。3 流水线可视化建模的设计与实现3.1 设计思路及方法流水线平台主要包括流水线处理引擎和支持与科学家交互的流水线建模工具软件。本文聚焦于天文数据处理中的流水线建模技术以及建模中的可视化交互及可视化呈现。向上面向科学家用户的使用需求,研究数据处理全生命周期的建模管理,提供图形化管理界面,支持数据处理流水线的可视化交互及可视化呈现;向下对
15、接流水线处理引擎,完成对流水线模型的驱动。驱动过程主要依靠后端调度算法,具体实现过程不是本文研究重点,不做具体介绍。流水线建模实现主要通过构建流水线建模工作台,完成Pipeline模型绘制,得到可视化模型数据结构,经过Pipeline 执行流程,赋予模型计算能力并且得到流水线处理引擎可工作的DAG模型数据结构。基于模型管理,完成流水线启动以及运行过程可视化展示,辅助用户分析。基于此,提出具体设计思路、实现方案及方法。1)基于DAG的流水线模型设计流水线平台实现数据处理自动化的关键在于模型数据结构定义,需构建各计算任务间的依赖关系,完成流水线处理引擎数据驱动。天文数据处理流水线是由一系列串行的、
16、数据驱动的处理模块组成的数据处理过程。流水线的数据流程中通常不存在分支或循环。第一个模块将原始数据作为输入,对其进行处理,并将其结果发送到第二个过程,依此类推,最终以最后一个模块产生的最终结果结束。软件平台层面上可理解为由相互连接的数据集和处理模块组成的有向无环图,因此流水线数据结构可基于DAG进行定义,以yml文件形式进行保存。模块封装和数据组织是流水线定义的重要环节,因此可定义两类节点,数据集节点和处理模块节点。DAG的起点和终点为数据集,数据集和处理模块交叉互联。数据集中应包含数据集名称节点实体路径等信息,处理模块应包含处理模块名称、输入输出数据集、下级处理节点、工作基础镜像等信息,ym
17、l文件具体定义形式如下所示:yml文件定义形式name:“xxx“/流水线英文名称submitter“xxx“/提交人员jobs:/处理节点,可定义多个xxxx:/处理节点英文名称label:“xxx“/处理节点中文名称base_image:“xxx“/处理节点工作基础镜像type:/处理节点工作类型input_datasets:/输入数据集节点,可对应多个-xxxx1output_datasets:/输出数据集节点,可对应多个-xxxx1sink_jobs:/下级处理节点-xxxxdatasets:/数据集节点,可定义多个xxxx:/数据集节点英文名称label:“xxx“/数据集节点中文名
18、称base_uri:“xxx“/数据集节点实体路径值布局名称Grid LayoutForce-DirectedLayoutTree LayoutLayered DigraphLayoutCircular Layout具体含义一个简单的布局,用于以类似网格的形式放置节点力导向布局将图形视作是一个物理系统,在其上以及它们之间作用有力此布局将树结构图的节点放置在层(行或列)中这会将有向图的节点排列成层(行或列)此布局将节点定位为圆形或椭圆形布局图例展示113214315456789101112213456781191021345621345672134567表1 自动布局管理62数据库与大数据技术本
19、栏目责任编辑:王力Computer Knowledge and Technology电脑知识与技术第19卷第3期(2023年1月)第19卷第3期(2023年1月)2)流水线建模工具的构建流水线建模工具包括流水线建模工作台以及流水线相关管理界面,主要基于MVC模式实现模型构建与模型输出功能。Model模型层用于数据处理、逻辑处理,View视图层用于显示用户界面,Control控制层作用于模型和视图上,控制数据流向模型对象,并在数据变化时更新视图。针对流水线可视化建模需求,视图层需要为用户提供一个通过简单拖拽节点组件来构建Pipeline模型的工作台,构建好的Pipeline模型可保存、可复现、可
20、创建流水线实例,提供模型启动、模型执行过程、输出结果可视化的模型管理界面。Pipeline模型结构需与数据层相匹配,模型中包含的相关数据应有节点、连线、位置等信息,各节点默认配置项、配置参数选项等。基于此,将上述功能划分,应用于视图层设计,模块结构设计如图3所示。节点组件流水线建模工作台流水线管理界面图3 模块结构设计节点组件。节点组件可理解为流水线建模过程中的模型算子根据Pipeline定义形式,定义两类节点组件:数据集节点和处理节点。a)数据集节点:此类节点为用户提供数据处理所需的数据,包括建模流程交互功能和实例创建后数据管理功能。建模流程交互功能允许用户拖拽至流水线建模工作台,作为算子使
21、用;数据管理功能在模板实例创建后,可显示数据列表,支持数据详情查看等。b)处理节点:此类节点用于封装数据处理过程中的各类算法,实现对单位数据实体(单个实体、一组实体)的数据变换、数据过滤、数据传输等处理功能。该节点允许用户在建模流程交互功能中拖拽至流水线建模工作台,作为算子使用。允许用户在模板实例创建后查看处理过程任务列表,支持任务详情查看。流水线建模工作台流水线建模工作台为用户提供Pipeline模型构建功能。选用HTML5交互性图形库中图表布局管理技术,支持用户在图形编辑界面进行编辑,支持用户拉取具备连接关系的数据自动生成拓扑图。用户可通过图形编辑界面构建流水线模型,也可通过导入具备一定连
22、接关系的数据自动生成流水线模型,数据结构参考下文提到的可视化数据结构,自动布局无需节点位置关系。图形编辑界面建模主要涉及拖拽节点、节点配置、节点间连线形成模板。下面主要对拖拽实现,节点连线实现,模板数据结构定义进行介绍。a)拖拽技术实现:将节点组件拖拽至建模工作区域。应用JS库的拖拽技术,单击组件模块中的节点算子选中节点,拖动操作开始执行,拖动过程中选择合适位置放置目标,拖拽结束时,结束鼠标单击事件,节点组件放置在适当位置。b)节点连线实现:通过使用JS库中的链接功能为节点组件间生成可视化工作流。在节点事件绑定时,为节点添加输入、输出锚点。每个锚点允许引入多个数据流。节点连线时,可由一个节点的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 天文 数据处理 流水线 可视化 建模 研究 实现 唐家宁
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【自信****多点】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【自信****多点】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。