引言:
随着云计算、大数据、物联网等技术兴起,数据朝着多样性、高体量、高速度方向发展,如何将海量数据安全、稳定、高效地数据共享出去成为各企业关注的重点。本次微课堂通过普元在数据服务共享平台研发过程中的实践,和大家分享数据服务共享发布的相关经验。
目录:
1.数据服务共享发布核心场景
2.数据服务共享发布技术架构
3.数据服务共享发布关键设计
4.数据服务共享发布安全考虑
5.结束语
1.数据服务共享发布核心场景
资源目录生成:提供数据资源目录与服务资源目录两种视图,数据资源目录通过自动化采集方式生成,对各种数据源(数据库、文件、大数据)的元数据信息进行展示;通过数据服务发布快速生成服务资源目录。
数据服务发布:基于数据资源目录可将共享区数据快速发布成实时服务(RESTful)和批量服务(File)。
数据服务消费:定义了从服务浏览、申请、审批、数据使用的详细流程,消费方通过订阅或者拉取的方式使用数据。
数据服务监控:对数据服务全生命周期管理与监控,对故障进行实时告警。
数据管理员:负责数据资源目录、服务目录的维护,参与数据服务的审批及授权。
数据开发人员:负责数据资源服务化前的转换、脱敏、核检,负责实时和批量服务的开发。
数据消费方:数据资源的使用方,通过资源目录查找相应的数据服务,向数据管理员提交数据服务申请使用数据。
运维人员:负责数据整体共享交换过程中数据资源的监控、统计分析及故障处理。
围绕核心场景,我们总结了四个典型应用场景:
2.数据服务共享发布技术架构
实时服务引擎:实时服务发布及访问功能,以RESTful方式提供;
批量服务引擎:批量服务发布及访问功能,以File方式提供;
调度引擎:提供对批量服务的调度功能;
日志引擎:采集日志进行指标分析。
四大功能模块:
资源目录:数据消费方和数据开发人员使用视图;
数据服务发布:实现对实时服务和批量服务的发布管理;
数据使用及安全:定义数据申请使用流程及数据安全管理;
数据服务监控:对数据服务生命周期进行全链路监控。
资源层:对主流关系型数据库(Oracle、SQLServer、Mysql),大数据(HBase、Hive)、文件等多种数据源进行技术元数据的自动采集和业务元数据的管理。
访问层:基于JDBC、HTTP、RPC、SFTP等通信协议实现与资源层的访问交互。
逻辑层:提供对资源层不同数据源的适配器,同时提供可重用的安全、监控、调度及日志组件。
服务提供层:基于SpringBoot+SpringCloud以微服务架构的方式对外提供服务。
展示层:采用vue+iview+es6+axios+ECharts技术实现前端页面及展示效果。
3.数据服务共享发布关键设计
数据服务共享发布设计主要从数据服务发布、故障告警、数据质量核检、数据服务监控四个层面去考虑。
数据服务发布
数据服务发布提供两种类型的服务发布:实时服务发布、批量服务发布。
实时服务发布:将DB、HBase、File数据发布成实时服务,以RESTful方式提供。
批量服务发布:将DB、Hive数据发布成批量服务,以文件方式提供。
实时服务引擎是基于SpringBoot框架实现的微服务架构引擎,支持分布式部署,线性扩展。提供扩展能力,封装内部技术实现细节,提供扩展接口实现对特殊需求的服务发布。 支持三种数据类型服务:
数据源服务:基于数据资源目录将整个数据源发布服务;
单表服务:基于数据资源目录将选定的单表及字段发布成服务;
结果集服务:基于数据资源目录将选定的多张表及字段组装形成新的结果集,按自定义的结果集发布成服务。
选择所要发布的资源;
填写所发布服务的基本信息;
实时服务引擎根据预先定义的vm模板,动态生成API、controller、service、dao、Model等层的Java代码,编译后发布为RESTful服务,提供Swagger服务描述。
批量服务发布引擎
批量服发布引擎基于数据流的异步处理模型,可将DB、Hive资源快速生成指定的文件类型服务,主要提供Excel、Csv、Xml三种文件类型。 批量服务提供三种访问方式:
sftp:将文件推送到ftpserver,通过sftp的方式进行下载;
https:通过https方式下载文件;
P2P:借助于普元文件传输工具实现点对点的可靠文件传输。
服务引擎告警:对服务引擎CPU、内存指标进行检测,当达到阈值时进行告警;
服务状态告警:实时探测服务状态,当服务停止运行及时进行告警通知;
服务质量告警:针对服务的访问异常、响应时间进行监控,当访问出现异常或者响应时间达到配置阈值时自动进行告警。
在数据服务共享发布整个环节提供对数据资源质量检核能力,在事前、事中、事后进行质量核检,保证数据质量。支持按照自定义规则进行检核。
事前:对主外键、时间戳字段、数据类型等进行检查;
事中:对非空、重复记录等进行核检;
事后:对及时性、一致性等进行核检。
在运行环境中日志引擎(SSM)与Gateway一对一部署,通过异步分析Gateway调用日志提供服务调用结果、服务性能、服务调用耗时等指标。数据服务监控详细机制普元工程师阿良做过《普元数据服务监控解密》的分享,在这里不做详细赘述。
4.数据服务共享发布安全考虑
数据服务共享发布安全主要从服务访问控制、数据加密及脱敏、基于安全协议访问三个方面进行考虑。
消费方系统通过SpringCloud Gateway访问数据服务,依次通过token授权、IP白名单、访问频度、访问流量多重拦截器进行控制,保证服务访问安全。
数据服务引擎端提供安全组件,保证数据访问安全,主要从以下几个方面进行控制:
数据加密:提供MD5、DES、AES、RSA等多种数加密方式;
数据脱敏:根据脱敏规则对字段任意数据进行脱敏,如常规替换、加密替换等;
行列级权限:对消费方系统提供行级、列级数据权限控制。
在数据访问的过程中基于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:****请问,数据标准这块怎么理解,具体包括哪些内容?
本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕,E-mail:xinmeigg88@163.com
本文链接:http://www.glev.cn/tnews/1785.html