转载本文需注明出处:微信公众号EAWorld,违者必究。
引言:
随着云计算、大数据、物联网等技术兴起,数据朝着多样性、高体量、高速度方向发展,如何将海量数据安全、稳定、高效地数据共享出去成为各企业关注的重点。本次微课堂通过普元在数据服务共享平台研发过程中的实践,和大家分享数据服务共享发布的相关经验。
目录:
1.数据服务共享发布核心场景
2.数据服务共享发布技术架构
3.数据服务共享发布关键设计
4.数据服务共享发布安全考虑
5.结束语
1.数据服务共享发布核心场景
按功能划分核心场景
核心场景主要包括四个环节:资源目录生成、数据服务发布、数据服务消费、数据服务监控。
按角色进行功能场景划分
围绕核心场景定义了四类角色:数据管理员、数据开发人员、数据消费方、运维人员。
围绕核心场景,我们总结了四个典型应用场景:
场景一:让用数据的所有人知道可以提供什么样的数据
通过资源目录提供技术元数据、业务元数据、服务元数据视图,使资源更容易发现,提供分区、分节点的体系化资源目录管理,保护数据安全,快速查找数据。通过自动化采集与解析手段获取元数据信息,建立技术、业务、服务元数据的注册输入,标明数据方位。
场景二:提供接口、文件、数据库三种服务类型对外进行共享
基于数据服务目录以接口、文件、数据库三种提供给数据使用方,数据消费方可通过申请的方式主动拉取数据,也可通过订阅的方式自动获取所需数据。
场景三:自助式数据问题追踪
消费方申请数据时通过血缘分析及级影响分析能够及时发现资源在使用过程中的质量问题 ,确认是否是自己想要的数据,验证开发正确性。
场景四 :从全局了解企业数据服务应用情况
通过数据服务监控自动形成数据监控链路,提供数据服务共享的全貌地图,帮助企业了解数据共享交换的全貌及系统间数据关系,从全局了解企业的数据服务应用情况。
2.数据服务共享发布技术架构
支撑流水线式的数据服务共享发布核心架构
上图核心架构中定义了数据从数据源开始经过数据准备(清洗、转换、质量核检)后进入共享区,对共享区数据进行服务化后提供给消费方使用的处理流程及机制,支撑流水线式的数据服务共享发布。
根据数据生命周期的不同环节,架构设计上定义了三个数据区域(数据源、数据前置区、数据共享区),可根据实际情况对三个区域进行自定义或取舍。
功能架构
在功能架构上主要包括四大支撑引擎+四大功能模块。
四大支撑引擎:
四大功能模块:
开发采用的技术栈
在数据服务共享平台开发的中涉及到的技术栈分为五个层次:
3.数据服务共享发布关键设计
数据服务共享发布设计主要从数据服务发布、故障告警、数据质量核检、数据服务监控四个层面去考虑。
数据服务发布
数据服务发布提供两种类型的服务发布:实时服务发布、批量服务发布。
实时服务发布-微服务架构的实时服务引擎
实时服务引擎是基于SpringBoot框架实现的微服务架构引擎,支持分布式部署,线性扩展。提供扩展能力,封装内部技术实现细节,提供扩展接口实现对特殊需求的服务发布。
支持三种数据类型服务:
实时服务发布-发布逻辑
实时服务发布逻辑主要分为几个步骤:
批量服务发布引擎
批量服发布引擎基于数据流的异步处理模型,可将DB、Hive资源快速生成指定的文件类型服务,主要提供Excel、Csv、Xml三种文件类型。
批量服务提供三种访问方式:
故障告警
通过事件的方式按照定义规则进行检查,当满足规则时进行告警,支持以站内信息、邮件、短信方式进行通知。
数据质量检核
在数据服务共享发布整个环节提供对数据资源质量检核能力,在事前、事中、事后进行质量核检,保证数据质量。支持按照自定义规则进行检核。
数据服务监控
数据服务监控主要从异步日志落地、日志读取解析指标、指标存储及故障处理等方面去考虑。
在运行环境中日志引擎(SSM)与Gateway一对一部署,通过异步分析Gateway调用日志提供服务调用结果、服务性能、服务调用耗时等指标。数据服务监控详细机制普元工程师阿良做过《普元数据服务监控解密》的分享,在这里不做详细赘述。
4.数据服务共享发布安全考虑
数据服务共享发布安全主要从服务访问控制、数据加密及脱敏、基于安全协议访问三个方面进行考虑。
服务访问控制
消费方系统通过SpringCloud Gateway访问数据服务,依次通过token授权、IP白名单、访问频度、访问流量多重拦截器进行控制,保证服务访问安全。
数据加密及脱敏
数据服务引擎端提供安全组件,保证数据访问安全,主要从以下几个方面进行控制:
基于安全协议进行数据传输
在数据访问的过程中基于HTTPS、SFTP安全协议进行传输,防止数据在传输过程中不被窃取、篡改,确保数据的完整性。
5.结束语
数据服务共享发布是企业数据资源“纵向贯通”、“横向互联”的共享通道,从数据准备、数据质量、数据发布、数据共享、数据安全等多个环节去详细考虑,它将向着服务自助化、智能化的方向发展,帮助企业更加有效、可靠的管理和使用数据。
精选提问:
问1:列级权限怎么控制的?是基于接口配置字段控制,还是基于 SQL 解析器动态改写SQL?
答:列级权限控制是通过动态改写SQL的方式控制。
问2:数据加密中的对等加密和非对等加密,哪个加密的安全性要高些?
答:非对称加密安全性高。
问3:数据共享系统长什么样的,适用于哪些场景,哪些企业?
答:普元有自己的数据服务共享平台,具体的可以从官网(www.primeton.com)查看。适用于政府、金融、保险等有数据交换、共享及使用的场景的各行业领域。
问4:数据共享安全管控中如何对非结构化的数据资源进行安全控制,如影像地图等,如何进行按地理区域来控制访问的权限及安全?
答:数据共享安全管控中对影像地图类非结构化的数据资源很难从内容上去做控制,可以配置地理区域标识与服务的对应关系、地理区域IP与服务对关系,从服务访问的角度来控制。
问5:即使用了https,数据是不是还有被修改的可能,目前能做到数据不被修改吗?
答:https中将服务器端公钥证书同客户端绑定,由客户端在交互过程中去验证证书的合法性,可以避免中间人攻击,防止抓包和篡改,需要客户端有验证的逻辑。
问6:在数据中台和业务中台是否也需要这个?前期如何规划?
答:数据服务共享发布可以做为数据中台和业务中台的一部分,关注将已有数据资产发布成数据服务。前期可从数据标准、数据质量、数据治理的角度去规划。
问7:数据服务共享,核心是数据质量可靠,请问数据质量核检能否保证数据质量,有无办法对数据质量的真实性、完整性、时效性进行有效的管控。行业及普元是否有相关的解决办法?
答:普元有专门的数据质量产品,在金融、政企行业有关的解决方案。
问8:请问如何对数据服务从计量的角度进行监控,满足监控数据共享程度的热度、使用的频率和按数据的访问流量计价等?
答:可以借助于SparkStreaming、Flink等流式处理框架对数据服务的交易日志进行相关指标的计算。
问9:为什么数据服务共享中,是否有报表共享服务?
答:可以将报表以接口服务或者文件的方式提供给数据使用方。
问10:场景三中的血缘分析及级影响分析,能否具体举例说明下?
答:血缘分析是基于当前资源向上追溯分析影响,影响分析基于当前资源分析对下游产生哪些资源产生影响。比如:当表某个字段发生变更时,可以通过血缘分析与影响分析查看对上游和下游所牵扯到的哪些系统有影响。
问11:密钥怎么管理?
答:秘钥需要考虑从整个生命周期进行管理,进行定期备份与存储,建议从网上查看下相关资料。
问12:请问,数据标准这块怎么理解,具体包括哪些内容?
答:普元有自己的数据标准产品,数据标准包括基础标准和分析类标准,基础标准包括数据内容格式、数据类型及数据含义;分析类标准含有指标的计算口径、纬度和定义等。