首页 星云 工具 资源 星选 资讯 热门工具
:

PDF转图片 完全免费 小红书视频下载 无水印 抖音视频下载 无水印 数字星空

《数据资产管理核心技术与应用》读书笔记-第五章:数据服务(一)

编程知识
2024年08月23日 14:05

《数据资产管理核心技术与应用》是清华大学出版社出版的一本图书,全书共分10章,第1章主要让读者认识数据资产,了解数据资产相关的基础概念,以及数据资产的发展情况。第2~8章主要介绍大数据时代数据资产管理所涉及的核心技术,内容包括元数据的采集与存储、数据血缘、数据质量、数据监控与告警、数据服务、数据权限与安全、数据资产管理架构等。第9~10章主要从实战的角度介绍数据资产管理技术的应用实践,包括如何对元数据进行管理以发挥出数据资产的更大潜力,以及如何对数据进行建模以挖掘出数据中更大的价值。

图书介绍:数据资产管理核心技术与应用

今天主要是给大家分享一下第五章的内容:

第五章的标题为数据服务

内容思维导图如下:

 

在数据资产中,数据服务是对外提供使用和访问的一种最重要的形式,数据只有提供对外的访问,才能体现其自身的价值。而且有了数据服务后也可以降低外部业务或者用户使用数据的门槛,对于用户来说提供了如下的便利。

  • 不需要用户自己花时间从数据资产中去检索数据。
  • 不要用户自己考虑怎么来获取自己已经检索到的数据。
  • 不需要考虑获取数据时的网络安全等问题。
  • 数据服务可以复用于多个用户和业务。
  • 用户不需要关注技术细节,可以专注于数据服务的具体需求。

另外数据质量以及数据的监控与告警,会直接决定数据服务的质量,因为如果数据质量低下以及数据在存在问题时不能及时得到监控与告警,这样数据服务被用户访问时,就无法获取到准确的数据。

《数据资产管理核心技术与应用》是清华大学出版社出版的一本图书,作者为张永清等著

1、如何设计数据服务

在传统的API接口服务中,通常会面临如下的一些问题:

  • 一个普通的接口服务通常需要数据ETL开发工程师按照数据产品经理提供的业务逻辑进行数据处理加工得到最终的结果数据,然后再由后端开发工程师开发接口服务,并且输出接口服务的文档,之后再让业务通过接口来获取最终的结果数据。由于经过的环节很多,导致时间周期一般需要很长,如下图所示。

  • 当业务众多时,对外输出的数据接口服务势必也会很多,随着人员的交替、数据需求逻辑的变更等,数据服务的管理会非常困难,需要维护的接口数量越来越多,运维成本非常大。
  • 通常在时间久了后,由于业务方以及数据服务开发和运维人员的交替,会遇到每个数据服务有哪些业务在调用、每个业务的调用量有多少、数据服务在变更和升级时,需要通知到哪些业务等众多繁琐的问题。

所以数据服务的设计非常的重要,在设计时,通常需要考虑如下问题:《数据资产管理核心技术与应用》是清华大学出版社出版的一本图书,作者为张永清等著

  • 数据服务的敏捷化和可配置化:敏捷化是指数据服务可以随着业务需求的变化,能快速的进行修改和变更。可配置化是指数据服务不需要使用太多的代码开发,而是根据配置SQL查询逻辑、配置请求的入参和响应报文,就能快速生成一个对外使用的数据服务。
  • 数据服务API文档可自动生成:能根据数据服务的请求入参和响应报文,自动生成API文档,不需要后端开发工程师每次手动进行编写,而且手动编写文档还极易出错,并且每次变更时都需要及时更新和维护。
  • 数据服务的流程化管理:流程化管理是指可以在一个平台上完成数据服务调用的申请、审批、开发、上线、监控、告警等环节,方便数据服务的运维与管理。
  • 数据服务的统一鉴权设计:所有的数据服务采用相同的统一鉴权方式,方便以后的运维和管理。
  • 数据服务的性能以及熔断:性能是数据服务最重要的一项指标,因为如果性能不达标的话,那就无法满足业务的查询要求。熔断是指当数据服务的调用量过大或者发生了大量异常时,为了保护数据服务的整体稳定性,而触发的一种降级机制。
  • 数据服务的监控与告警:数据服务在发生问题时,能通过监控与告警及时让运维或者开发人员进行处理,降低数据服务的问题给业务带来的影响。数据服务如果自身没有监控与告警,在发生问题时,可能就需要通过业务使用时主动来报出服务不可用的问题。

为了解决上述的问题,在大数据资产中,一般建议对数据服务进行平台化设计。开发一个数据服务API 通常的流程如下图所示。《数据资产管理核心技术与应用》是清华大学出版社出版的一本图书,作者为张永清等著

 

上述的这些流程,在做数据服务的平台化设计时,都可以考虑进去,这样通过平台化的管理,就可以达到数据服务的敏捷化开发以及开发时可以基于平台快速配置来生成外部访问需要的数据服务节省人力的成本开销以及缩短开发的周期。《数据资产管理核心技术与应用》是清华大学出版社出版的一本图书,作者为张永清等著

 在平台化的统一管理下,自然就可以在创建数据服务或者变更数据服务时,自动来生成API文档。也可以对数据服务进行统一的鉴权以及监控与告警。

1.1、数据源管理

数据源是数据服务的基础,没有数据源,自然也就无法提供数据服务。数据源的来源可以是多种多样的。数据仓库、数据湖、常见的各种类型的关系型数据库等都可以是数据服务的数据源。而且创建好的一个数据源也可以让多个数据服务共同使用,如下图所示。

在数据服务的平台化建设中,数据源管理的关键就在于需要去适配多种不同的数据源,而每一种数据源通常都有自己专有的数据驱动。所以数据服务平台在底层技术实现时需要能支持动态的去根据不同的数据源加载不同的数据驱动来达到创建数据源连接的目的,如下图所示。

1.2、   数据服务的敏捷化和可配置化

数据服务的敏捷化和可配置化主要体现在能随着业务需求的变化而快速的开发、修改对应的数据服务。而要达到快速响应需求的提出或者变更,将数据服务设计成能配置SQL查询逻辑或者低代码的逻辑脚本、能配置请求的入参和响应报文便是一种最好的解决方式,如下图所示为建议的数据服务可配置的技术实现方案设计。《数据资产管理核心技术与应用》是清华大学出版社出版的一本图书,作者为张永清等著

从图中可以看到

  • 在创建数据服务时,填入的请求参数,需要和SQL查询脚本中的查询条件对应上。
  • 创建的数据服务在保存时,需要将参数和SQL查询脚本都保存到数据库表中,在设计时,会设计两张表,一张表用于存储数据服务的相关信息,一张表用于存储数据服务对应的数据参数信息。创建数据服务时,数据服务平台会自动生成一个唯一的API服务ID,两张表之间通过API服务ID进行关联。

数据服务在创建好了后,外部用户在调用数据服务时,数据服务平台处理请求的逻辑如下图所示。《数据资产管理核心技术与应用》是清华大学出版社出版的一本图书,作者为张永清等著

1.3、 数据服务文档的自动生成

数据服务在支持了可配置化之后,还需要能自动生成数据服务的API文档,这样外部用户在调用数据服务的API时,就知道如何去调用了。由于数据服务的请求参数、服务ID等信息都已经保存在数据服务平台中了,所以通过从数据服务平台中把这些数据信息查询出来,按照API文档的格式展示出来就可以了,如下图所示。

从图中可以看到,由于数据服务平台中保存了数据服务每次修改变更的信息,所以在自动生成出的数据服务文档中,还可以将该数据服务的历史变更记录也展示出来,可以看到自动生成出来的数据服务文档和通常手动编写的那种接口服务文档的内容几乎是一致的。

1.4、数据服务的统一认证与鉴权

数据服务在创建好了后,在调用时必定需要认证,不然就无法保证服务的安全性,也无法防止网络机器人或者黑客等发起的频繁恶意的请求或者攻击等。传统的认证通常是通过密码来完成的,给每个请求方分配一个唯一的密码,然后请求时,每次都带上这个密码,如果密码正确,那么就可以完成请求的调用,如下图所示。《数据资产管理核心技术与应用》是清华大学出版社出版的一本图书,作者为张永清等著

 

但是这种简单的认证方式会面临如下问题:

  • 安全性太低,密码容易丢失或者被别人使用。
  • 通常情况下,很多数据服务都是支持Http协议,但是Http请求非常容易被劫持,一旦被劫持后,就可以从拦截到的请求中获取到密码,这样别人就可以用这个密码来发送请求或者直接篡改劫持到的请求,造成恶意的攻击。

为了解决上述的问题,通常推荐使用数字签名的方式来完成数据服务的统一认证,如下图所示,数字签名通常采用非对称的密码的方式(也称为公私钥机制),请求方通过私钥对请求的报文进行加密。数据服务平台通过使用该私钥对应的公钥进行解密。

从图中可以看到请求方需要先对数据生成摘要,然后再用私钥加密后,生成加密的摘要,然后将数据和加密的摘要一起发送给数据服务平台,数据服务平台在收到数据和加密后的摘要后,先对加密后的摘要使用对应的公钥进行解密得到解密后的摘要,并且对发送过来的数据也重新生成摘要,如果生成出来的摘要和解密后的摘要一致,说明数据在传输过程中没用被更改。数据签名的认证方式可以有效的防止请求被劫持从而发生篡改。

在服务认证时,还可以加入网络认证,这样可以有效的拦截非正常调用的请求,最常见的网络认证的方式就是在网络中设置白名单,如下图所示。《数据资产管理核心技术与应用》是清华大学出版社出版的一本图书,作者为张永清等著

从图中可以看到,数据服务首先就会判断请求方的IP地址是否在白名单内,如果不在就可以直接返回。

在服务认证通过后,就可以进行下一步的鉴权操作了,数据服务平台在设计时,通常会给每个请求方分配唯一的身份ID(通常也称作appId),数据服务平台在收到该唯一身份ID后,会判断其是否有调用该数据服务的权限,如下图所示,如果没用权限,那么就直接返回并且给出对应的提示信息。

未完待续......《数据资产管理核心技术与应用》是清华大学出版社出版的一本图书,作者为张永清等著

From:https://www.cnblogs.com/laoqing/p/18376019
本文地址: http://shuzixingkong.net/article/1378
0评论
提交 加载更多评论
其他文章 线性dp:最长公共子序列
最长公共子序列 本文讲解的题与leetcode1143.最长公共子序列这题一样,阅读完可以挑战一下。 力扣题目链接 题目叙述: 给定两个字符串,输出其最长公共子序列,并输出它的长度 输入: ADABEC和DBDCA 输出: DBC 3 解释 最长公共子序列是DBC,其长度为3 动态规划思路: 我们这
线性dp:最长公共子序列 线性dp:最长公共子序列 线性dp:最长公共子序列
【故障公告】博客站点遭遇大规模 DDoS 攻击
今天 12:24 开始收到阿里云的电话、短信与邮件通知,博客站点的其中一台负载均衡因 DDoS 攻击被阿里云屏蔽 您的IP: x.x.x.x 实例名称:yy 受到攻击,攻击流量已超过DDoS基础防护的黑洞阈值,服务器的所有公网访问已被屏蔽,屏蔽时长20分钟,屏蔽时间内未再次被攻击将自动解除否则会延期
Spherical Voxelization
介绍了球面体素化的过程,包括重要的类和方法,如ConvertToSphericalVoxel和spherical_voxel_optimized,详细解释了参数及其作用。球面体素化通过将点云转换为球面坐标系,利用自适应采样权重来平衡不同纬度区域的点密度,从而有效捕捉几何特征。文中还提到C++绑定的s
傅里叶变换
傅里叶变换 对于周期信号,如果满足 \(Dirichlet\) 条件,就可以尝试将其分解为傅里叶级数,并绘制成频谱的形式,但是在实际使用的过程中我们遇到的信号往往既不是周期的信号又难以获取解析式。对于复杂的现实信号,我们可以将问题的难点拆分开,我们先解决不是周期信号但解析式已知的情况,再去解决难以获
傅里叶变换
AI的那些名词
AI 是什么? Artificial Intelligence,即人工智能,1956年于Dartmouth学会上提出,一种旨在以类似人类反应的方式对刺激做出反应并从中学习的技术,其理解和判断水平通常只能在人类的专业技能中找到。AI因具备自主学习和认知能力,可进行自我调整和改进,从而应对更加复杂的任务
JuiceFS 在多云架构中加速大模型推理
在大模型的开发与应用中,数据预处理、模型开发、训练和推理构成四个关键环节。本文将重点探讨推理环节。在之前的博客中,社区用户 BentoML 和贝壳的案例提到了使用 JuiceFS 社区版来提高模型加载的效率。本文将结合我们的实际经验,详细介绍企业版在此场景下的优势。 下图是一个典型的大模型推理服务的
JuiceFS 在多云架构中加速大模型推理 JuiceFS 在多云架构中加速大模型推理 JuiceFS 在多云架构中加速大模型推理
WPF 模仿前端大佬写一个Hover效果
先看一下效果吧: 原博主的地址:【动画进阶】神奇的卡片 Hover 效果与 Blur 的特性探究 - ChokCoco - 博客园 (cnblogs.com) 原效果是一个css效果,我们采用WPF的方式模仿一下 因为技术有限,没有原博主的那么好看,毕竟盗版永远比不过原版... 然后这里看一下盗版的
WPF 模仿前端大佬写一个Hover效果 WPF 模仿前端大佬写一个Hover效果 WPF 模仿前端大佬写一个Hover效果
Go 互斥锁 Mutex 源码分析 (一)
原创文章,欢迎转载,转载请注明出处,谢谢。 0. 前言 锁作为并发编程中的关键一环,是应该要深入掌握的。 1. 锁 1.1 示例 实现锁很简单,示例如下: var global int func main() { var mu sync.Mutex var wg sync.WaitGroup for
Go 互斥锁 Mutex 源码分析 (一) Go 互斥锁 Mutex 源码分析 (一)