【功能设计】数据分发功能设计

2024-02-27 21:20
文章标签 数据 分发 功能设计

本文主要是介绍【功能设计】数据分发功能设计,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 设计脑图
    • 功能性
    • 非功能性
  • 功能设计文档
    • 1. 需求分析
      • 1.1、功能性需求
      • 1.2、非功能性需求
    • 2. 功能设计
      • 2.1 业务流程图
      • 2.2 数据流图
      • 2.3 表结构设计
      • 2.4 接口设计
      • 2.5 功能点
    • 3.非功能性设计
      • 3.1 性能
      • 3.2 可用性
      • 3.3 并发性
      • 3.4 安全性

设计脑图

功能性

在这里插入图片描述

非功能性

在这里插入图片描述

功能设计文档

1. 需求分析

1.1、功能性需求

针对主数据管理系统(MDM)需要与外部系统进行主数据交互的需求,设计了以下数据分发管理功能,以实现敏感字段过滤、手动控制数据分发、直观展示分发数据场景以及便捷高效的系统间数据交互:

  1. 敏感字段过滤:根据权限配置过滤掉敏感字段,确保数据的安全性和合规性。
  2. 手动控制数据分发:允许业务管理员手动控制数据分发的触发和停止。
  3. 分发数据场景展示:提供直观的界面展示,用于显示已经分发的数据场景。
  4. 高效的系统间数据交互:为了提高数据传递的效率和便捷性。

适用对象:获取MDM主数据的外部系统、接收MDM分发数据的外部系统

功能场景描述:

  • 系统A需要从MDM拉取数据

    当有系统A需要拉取MDM物料数据时,MDM需要过滤掉对于系统A来说没有权限查看的敏感数据。

    在系统A数据使用审批(线下)通过之后,MDM业务管理员通过执行步骤(已维护直接跳过):

    1. 维护系统A信息
    2. 维护过滤出敏感字段的通用数据权限模板
    3. 配置拉取策略(绑定接入方、调用限制、授权模板、状态、有效期等)

    后,系统A可通过(定时)调用MDM系统方提供的(已开发好的)的标准物料主数据查询接口,拉取到过滤后的物料主数据。

  • MDM向系统B分发数据

    当MDM需要集成系统B,并向其分发物料主数据时,发送的数据需要过滤掉系统B没有权限获取的敏感数据。

    在MDM需要开发推送数据到系统B的需求场景时(如:场景:物料申请-OA审批通过-推送数据到CRMS),系统B数据使用审批(线下)通过之后,MDM业务管理员通过执行步骤(如已维护跳过):

    1. 维护系统B信息
    2. 维护需要过滤敏感字段的通用数据权限模板

    后,告知MDM系统方,MDM系统方开发人员在对应需求场景中,通过执行步骤(如已维护跳过):

    1. 维护数据对象
    2. 开发标准通用主数据推送接口
    3. 维护推送场景(比如:物料申请),生成推送任务(目的:直观展示是哪些场景何时分发了数据)

    后,告知业务管理员,业务管理员通过MDM系统方维护的场景来配置分发策略,执行步骤:

    1. 配置分发策略,包括绑定接入方、指定推送场景、授权模板、重试次数、状态和有效时间等。

    后,MDM系统方开发人员通过调用对应场景下的配置策略,过滤推送到系统B的敏感数据。

具体功能点:

  1. 消费方管理

    外部系统基础信息管理。

    包含消费方新增、修改、删除、列表查看功能。

  2. 元对象管理(字典)

    数据拉取元对象:完整主数据对象,如物料、客户等。

    数据推送元对象:场景,如物料新增、客户上市等。

​ 包含新增、修改、删除、列表查看功能。

  1. 权限模板管理

    主数据元对象,具体授权字段。

    包含模板的新增、修改、删除、列表等功能。

  2. 数据分发配置管理

    配置外部系统接入方对应数据分发策略。

    具体配置内容:

    • 被动拉取:绑定接入方、数据授权模板、调用限制、生效状态、有效起止时间

    • 主动推送:绑定接入方、选择业务推送场景、数据授权模板、重试次数、生效状态、有效起止时间

  3. 分发任务管理

    基于数据推送场景自动创建一条分发任务;展示哪些场景下何时分发数据(场景、创建时间)。

    包含列表功能。

  4. 分发日志管理

    基于分发任务自动推送创建分发日志,记录具体分发数据;对于日志中失败记录,可进行手动推送。

    包含列表查看、手动重新分发按钮功能。

  5. 异常提醒功能

    对于分发异常数据、系统异常,钉钉推送给运维人员处理。

    包含钉钉消息推送功能。

1.2、非功能性需求

  1. 性能
    • 避免同时处理并响应多个数据获取请求时出现响应时间长。
  2. 可用性
    • 系统运行稳定性可靠,避免异常崩溃或意外停机。
  3. 并发性
    • 该功能无并发场景。
  4. 安全性
    • 确保只有经过认证授权的外部系统才能访问系统数据资源。
    • 确保数据传输过程的数据完整性、可验证性、安全性,避免被篡改。
    • 确保数据在传输过程中得到保护(非必须)。

2. 功能设计

2.1 业务流程图

MDM数据被动拉取、或主动分发时,不同参与者处理的业务活动内容。主要分为:接入方、业务管理员、系统方。

image-20230918090308497

2.2 数据流图

顶层数据流图:

image-20230918141623896

细化数据流图:

image-20230918141234300

2.3 表结构设计

消费方管理、权限模板管理、分发配置管理、分发任务管理表、分发日志记录表结构设计如下;元对象(数据对象、场景)管理为字典管理。

tn_mdm_date_distribute_consumer(消费方管理表)

consumer数据类型主键外键描述
consumer_idbigint(20)消费方ID
consumer_namevarchar(50)消费方名称
descriptionvarchar(100)消费方信息
created_byvarchar(64)创建人
created_timedatetime创建时间
updated_byvarchar(64)更新人
updated_timedatetime更新时间
remarkvarchar(500)备注

tn_mdm_date_distribute_authorization_template(权限模板管理表)

列名数据类型主键外键描述
template_idbigint(20)模板ID
template_namevarchar(50)模板名称
element_idvarchar(20)元对象ID
element_namevarchar(50)元对象名称
authorized_fieldsjson授权字段列表
created_byvarchar(64)创建人
created_timedatetime创建时间
updated_byvarchar(64)更新人
updated_timedatetime更新时间
remarkvarchar(500)备注

tn_mdm_date_distribute_config(分发配置管理表)

列名数据类型主键外键描述
config_idbigint(20)配置ID
consumer_idbigint(20)消费方ID
consumer_namevarchar(50)消费方名称
element_idvarchar(20)元对象ID
element_namevarchar(20)元对象名称
distribution_typevarchar(20)分发类型(被动拉取/主动推送)
template_idbigint(20)授权模板ID
template_namevarchar(50)授权模板名称
call_limitint调用限制
is_activeboolean生效状态
start_timedatetime有效起始时间
end_timedatetime有效结束时间
created_byvarchar(64)创建人
created_timedatetime创建时间
updated_byvarchar(64)更新人
updated_timedatetime更新时间
remarkvarchar(500)备注

tn_mdm_date_distribute__task(分发任务管理表)

列名数据类型主键外键描述
distribute_task_idbigint(20)任务ID
element_idvarchar(20)元对象ID
element_namevarchar(20)元对象名称(场景名称)
created_timedatetime创建时间
created_byvarchar(64)创建人
updated_byvarchar(64)更新人
updated_timedatetime更新时间
remarkvarchar(500)备注

tn_mdm_date_distribute_log(分发日志表)

列名数据类型主键外键描述
log_idbigint(20)日志ID
distribute_task_idvarchar(50)任务ID
consumer_idbigint(20)消费方ID
consumer_namevarchar(50)消费方名称
element_idvarchar(20)元对象ID
element_namevarchar(20)元对象名称
business_datajson分发的业务数据
status_codeint(10)接口响应状态码
response_bodyvarchar(200)接口响应内容
error_msgvarchar(200)异常信息
request_timedatetime请求时间
response_timedatetime响应时间
created_byvarchar(64)创建人
created_timedatetime创建时间
updated_byvarchar(64)更新人
updated_timedatetime更新时间
remarkvarchar(500)备注

2.4 接口设计

根据UI界面,设计定义具体接口。

2.5 功能点

功能点功能描述输入输出预期结果
1消费方管理消费方基础信息(系统名称、信息等)执行操作后的提示信息能够方便地管理和维护外部系统消费方的基础信息
2元对象管理(字典)元对象的标识、名称、描述等基本信息执行操作后的提示信息能够方便地管理和维护主数据拉取、推送的元对象
3权限模板管理权限模板的名称、描述以及授权字段的配置执行操作后的提示信息能够方便地管理和维护主数据元对象的权限模板
4数据分发配置管理接入方的信息、数据授权模板、调用限制、生效状态、有效起止时间等配置执行操作后的提示信息能够方便地配置外部系统接入方的数据分发策略
5分发任务管理数据推送场景的信息创建任务后的提示信息,已创建任务的列表能够自动创建分发任务,并清晰地展示哪些场景下何时分发了数据
6分发日志管理分发任务的信息分发日志的列表查看功能,手动重新分发的操作结果能够记录和管理分发任务的日志,便于查看和处理失败的记录
7钉钉提醒功能异常信息提醒分发日志中失败记录(异常)能够推送给MDM系统方运维人员异常信息,便于处理

3.非功能性设计

3.1 性能

  1. 限制分发时数据包大小,控制单次数据分发条数。

  2. 网关负载均衡,采用权重轮询/IP哈希策略。

  3. 限制调用系统接口次数,控制访问时间。

  4. 查询数据放入缓存。

  5. 外部系统获取系统数据异步执行,系统向多个外部系统分发多线程并行执行。

  6. 数据库设计读写分离,主库实例负责写入,从库实例负责读取。

  7. 表设计、索引优化。

3.2 可用性

  1. 通过ESB进行服务限流(设置阈值,监控请求)、熔断(实时监控可用性,出现故障时,暂时关闭活切换到备用结点)。
  2. 高可用应用部署架构,应用部署主备机制。

3.3 并发性

  1. 暂无并发场景。

3.4 安全性

  1. 调用鉴权。

  2. 调用签名。

  3. 数据加密(非必须)。

这篇关于【功能设计】数据分发功能设计的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/753642

相关文章

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

基于MySQL Binlog的Elasticsearch数据同步实践

一、为什么要做 随着马蜂窝的逐渐发展,我们的业务数据越来越多,单纯使用 MySQL 已经不能满足我们的数据查询需求,例如对于商品、订单等数据的多维度检索。 使用 Elasticsearch 存储业务数据可以很好的解决我们业务中的搜索需求。而数据进行异构存储后,随之而来的就是数据同步的问题。 二、现有方法及问题 对于数据同步,我们目前的解决方案是建立数据中间表。把需要检索的业务数据,统一放到一张M

关于数据埋点,你需要了解这些基本知识

产品汪每天都在和数据打交道,你知道数据来自哪里吗? 移动app端内的用户行为数据大多来自埋点,了解一些埋点知识,能和数据分析师、技术侃大山,参与到前期的数据采集,更重要是让最终的埋点数据能为我所用,否则可怜巴巴等上几个月是常有的事。   埋点类型 根据埋点方式,可以区分为: 手动埋点半自动埋点全自动埋点 秉承“任何事物都有两面性”的道理:自动程度高的,能解决通用统计,便于统一化管理,但个性化定

使用SecondaryNameNode恢复NameNode的数据

1)需求: NameNode进程挂了并且存储的数据也丢失了,如何恢复NameNode 此种方式恢复的数据可能存在小部分数据的丢失。 2)故障模拟 (1)kill -9 NameNode进程 [lytfly@hadoop102 current]$ kill -9 19886 (2)删除NameNode存储的数据(/opt/module/hadoop-3.1.4/data/tmp/dfs/na

异构存储(冷热数据分离)

异构存储主要解决不同的数据,存储在不同类型的硬盘中,达到最佳性能的问题。 异构存储Shell操作 (1)查看当前有哪些存储策略可以用 [lytfly@hadoop102 hadoop-3.1.4]$ hdfs storagepolicies -listPolicies (2)为指定路径(数据存储目录)设置指定的存储策略 hdfs storagepolicies -setStoragePo

Hadoop集群数据均衡之磁盘间数据均衡

生产环境,由于硬盘空间不足,往往需要增加一块硬盘。刚加载的硬盘没有数据时,可以执行磁盘数据均衡命令。(Hadoop3.x新特性) plan后面带的节点的名字必须是已经存在的,并且是需要均衡的节点。 如果节点不存在,会报如下错误: 如果节点只有一个硬盘的话,不会创建均衡计划: (1)生成均衡计划 hdfs diskbalancer -plan hadoop102 (2)执行均衡计划 hd

【Prometheus】PromQL向量匹配实现不同标签的向量数据进行运算

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,前后端开发,小程序开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi

烟火目标检测数据集 7800张 烟火检测 带标注 voc yolo

一个包含7800张带标注图像的数据集,专门用于烟火目标检测,是一个非常有价值的资源,尤其对于那些致力于公共安全、事件管理和烟花表演监控等领域的人士而言。下面是对此数据集的一个详细介绍: 数据集名称:烟火目标检测数据集 数据集规模: 图片数量:7800张类别:主要包含烟火类目标,可能还包括其他相关类别,如烟火发射装置、背景等。格式:图像文件通常为JPEG或PNG格式;标注文件可能为X

pandas数据过滤

Pandas 数据过滤方法 Pandas 提供了多种方法来过滤数据,可以根据不同的条件进行筛选。以下是一些常见的 Pandas 数据过滤方法,结合实例进行讲解,希望能帮你快速理解。 1. 基于条件筛选行 可以使用布尔索引来根据条件过滤行。 import pandas as pd# 创建示例数据data = {'Name': ['Alice', 'Bob', 'Charlie', 'Dav

SWAP作物生长模型安装教程、数据制备、敏感性分析、气候变化影响、R模型敏感性分析与贝叶斯优化、Fortran源代码分析、气候数据降尺度与变化影响分析

查看原文>>>全流程SWAP农业模型数据制备、敏感性分析及气候变化影响实践技术应用 SWAP模型是由荷兰瓦赫宁根大学开发的先进农作物模型,它综合考虑了土壤-水分-大气以及植被间的相互作用;是一种描述作物生长过程的一种机理性作物生长模型。它不但运用Richard方程,使其能够精确的模拟土壤中水分的运动,而且耦合了WOFOST作物模型使作物的生长描述更为科学。 本文让更多的科研人员和农业工作者