首页> 中国专利> 一种基于元数据进行数据共享的方法及数据共享系统

一种基于元数据进行数据共享的方法及数据共享系统

摘要

本发明公开了一种基于元数据进行数据共享的方法及数据共享系统,方法包括读取数据库的表以及ER关系形成基础的元数据,并添加注释建立ER关系,删除元数据中的无用表和字段;获取页面数据资源目录和目录与数据库中表的映射关系,生成查询sql;对数据集构建dataFrame,数据集之间通过dataFrame进行关联并配置数据共享任务;加载配置文件,并制作容器镜像推送镜像至私有镜像仓库,部署程序发布数据共享任务;数据共享机构完成注册并提交请求,完成数据共享秘钥分配并接收数据配置信息进行数据共享。本发明能实现主动式元数据维护,对接入数据共享的用户进行统一授权管理,通过数据共享程序的部署和可视化配置,降低了数据共享的技术复杂度,提高数据共享效率。

著录项

  • 公开/公告号CN112199431A

    专利类型发明专利

  • 公开/公告日2021-01-08

    原文格式PDF

  • 申请/专利权人 成都房联云码科技有限公司;

    申请/专利号CN202011110943.1

  • 发明设计人 谢进;

    申请日2020-10-16

  • 分类号G06F16/25(20190101);G06F16/22(20190101);G06F16/245(20190101);G06F16/28(20190101);G06F21/46(20130101);G06F21/60(20130101);

  • 代理机构51218 成都金英专利代理事务所(普通合伙);

  • 代理人袁英

  • 地址 610041 四川省成都市高新区天华二路219号12栋4层

  • 入库时间 2023-06-19 09:30:39

说明书

技术领域

本发明涉及数据共享技术领域,尤其涉及一种基于元数据进行数据共享的方法及数据共享系统。

背景技术

过去20年是中国经济高速增长的20年,也是中国数字化建设飞速发展的20年,各行各业以及政府都累计了大量的数据。数据的量虽然大,但比较分散,关联性不强,数据孤岛现象比较严重。随着国家“放管服”政策的推行,“让数据多跑路,让群众少破路”已渐渐成为IT系统建设重要指标之一。因此跨行业、跨政府部门甚至政府部门与行业间的数据共享越来越多。

当前数据共享技术基本上都聚焦于硬件设备或者基于不信任的区块链数据共享。但实际上在B端或者G端大都是基于信任的数据共享。基于信任的数据共享,管理的重要性大于数据共享技术实现。换言之,管理数据共享也是一门值得深究的技术。

由于大多IT系统都是按需而建,缺乏统一的顶层规划,导致数据资源分布在各个IT系统,没有清晰的目录结构。实现数据共享的技术手段也是各式各样,没有统一的授权以及监控,导致数据管理处于失控的边缘,存在极大的数据安全隐患。正是由于数据共享的技术没有统一,数据共享的技术复杂度高,导致数据共享程序开发效率低下,维护成本高。

发明内容

本发明的目的在于克服现有技术的不足,提供一种基于元数据进行数据共享的方法及数据共享系统。

本发明的目的是通过以下技术方案来实现的:

一种基于元数据进行数据共享的方法,包括以下步骤:

步骤一:数据资源初始化,通过数据资源初始化子程序读取数据库的表以及ER关系,形成基础的元数据,并对元数据进行添加注释,建立ER关系,删除元数据中的无用表和字段;

步骤二:配置数据集,获取页面数据资源目录,根据数据资源目录与数据库中表的映射关系,生成数据集的查询sql并配置sql生成数据集;

步骤三:配置数据共享任务,对每一个数据集构建一个pandas的dataFrame,将多个数据集之间通过dataFrame进行关联,并将关联后的多个数据集配置在一个数据共享任务中;

步骤四:发布数据共享任务,选取数据发布方式,加载yaml配置文件至对应模板程序,并制作容器镜像,推送镜像至私有镜像仓库,选择部署方式部署相应的数据共享程序,发布数据共享任务;

步骤五:数据共享交换,数据发布机构首先对数据集进行加密,同时数据共享机构完成注册并提交数据共享权限请求,请求通过之后接收共享数据选择数据共享任务,与数据发布机构之间进行数据共享秘钥分配,接收数据配置信息,根据分配的共享密钥对加密数据集进行解密,并以惰性加载的方式加载解密后的数据集,完成数据共享。

具体的,所述步骤四中的数据发布方式包括RESTFul接口推送方式、库表推送方式和消息推送方式;

所述RESTFul接口推送方式采用配置程序会读取数据集对应的sql,然后将sql写入RESTFul接口 yaml配置文件;

所述库表推送方式通过读取数据集的sql,同时可以配置ETL节点数量、每个节点的并发数量以及执行计划,将配置数据一并写入ETL程序yaml配置文件;

所述消息推送方式首先配置推送的数据集,配置消息读取频率,以及目标端消息中间类型,将配置数据一并写入消息推送程序yaml配置文件。

具体的,所述步骤四中数据共享程序的部署方式包括容器部署和k8s部署;所述容器部署用于部署库表推送方式和消息推送方式发布的数据共享任务;所述k8s部署用于以集群方式部署RESTFul接口推送方法发布的数据共享任务。

具体的,所述容器部署的部署过程具体包括:加载yaml配置文件至对应模板程序,制作容器镜像并推送镜像至私有镜像仓库,通过paramiko ssh到手动指定或自动分配的服务器。

具体的,所述k8s部署的部署过程具体包括:加载yaml配置文件至对应模板程序,制作容器镜像并推送镜像至私有镜像仓库,同时制作k8s deployment部署yaml文件,最后通过paramiko将deployment部署yaml文件上传至k8s管理客户端所在服务器,执行k8sdeployment部署命令,生成deployment。

具体的,所述步骤五中数据发布机构首先对数据集进行加密的过程包括:数据发布机构先读取数据集数据,通过yaml配置文件选择加密字段,并随机生成24位由ascii字符+数字形式的字符串作为3DES的密码,通过24位密码长度的3DES密码对所选加密字段的数据进行加密,最后通过rsa公钥文件加密24位3DES密码,并添加至共享数据。

具体的,所述步骤五中数据共享机构根据分配的共享密钥对加密数据集进行解密过程包括:通过数据发布机构分配的rsa私钥解密3DES_CODE的数据,获取3DES的密码,并对加密数据集利用3DES解密算法进行解密,获取解密后的数据集。

一种基于元数据进行数据共享的系统,包括

数据初始化模块,用于读取数据库的表以及ER关系,生成基础的元数据,并对元数据进行注释添加,ER关系建立,元数据中的无用表和字段删除操作;

数据集配置模块,用于获取页面数据资源目录,根据数据资源目录与数据库中表的映射关系,生成数据集的查询sql;

数据共享任务配置模块,用于对每一个数据集构建一个pandas的dataFrame,将多个数据集之间通过dataFrame进行关联,并将关联后的多个数据集配置在一个数据共享任务中;

任务发布模块,用于选取数据发布方式,加载yaml配置文件至对应模板程序,并制作容器镜像,推送镜像至私有镜像仓库,选择部署方式部署相应的数据共享程序,发布数据共享任务;

数据共享管理模块,用于为数据共享机构提供注册和数据共享权限请求提交服务,以及审批数据共享请求和管理共享数据发送。

本发明的有益效果:本发明能实现主动式元数据维护,保证数据资源目录与真实环境一致,并对接入数据共享的用户进行统一授权管理。通过容器部署数据共享程序,通过k8s编排容器,然后调用k8s api管理以及监控数据共享程序。利用可视化配置数据共享程序,降低了数据共享的技术复杂度,业务人员也可以根据业务需求发布数据共享任务完成数据共享。

附图说明

图1是本发明的方法流程图。

图2是本发明的系统架构图。

具体实施方式

为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图说明本发明的具体实施方式。

本实施例中,如图1所示,一种基于元数据进行数据共享的方法,包括以下步骤:

步骤一:数据资源初始化,通过数据资源初始化子程序读取数据库的表以及ER关系,形成基础的元数据,并对元数据进行添加注释,建立ER关系,删除元数据中的无用表和字段。

步骤二:配置数据集,获取页面数据资源目录,根据数据资源目录与数据库中表的映射关系,生成数据集的查询sql。其中,数据集的数据均是惰性加载,即只有在有共享请求的时候才会加载,在添加到共享程序之前均是以配置文件方式存在。

步骤三:配置数据共享任务,对每一个数据集构建一个pandas的dataFrame,将多个数据集之间通过dataFrame进行关联,并将关联后的多个数据集配置在一个数据共享任务中。其中,数据集配置完成之后,便可配置数据共享任务,数据共享基于配置好的数据集进行共享,可将多个数据集配置在一个共享任务里面,但要指定数据集之前的关联关系,每一个数据集对应一个pandas的dataFrame,关联的时候也是通过dataFrame进行关联,很好的转移了数据库的压力。配置的数据共享任务支持RESTFul接口推送、库表推送和消息推送等三种发布方式进行数据发布。

步骤四:发布数据共享任务,选取数据发布方式,加载yaml配置文件至对应模板程序,并制作容器镜像,推送镜像至私有镜像仓库,选择部署方式部署相应的数据共享程序,发布数据共享任务。

发布方式是指RESTFul接口、库表推送、消息推送,即在共享任务配置的时候配置了哪些方式我们就可以选哪些方式,支持多选,表示同时发布。每种发布方式都对应一个模板程序,变量就是yaml配置文件。数据发布方式包括RESTFul接口推送方式、库表推送方式和消息推送方式。其中,RESTFul接口推送方式采用配置程序会读取数据集对应的sql,然后将sql写入RESTFul接口 yaml配置文件。库表推送方式通过读取数据集的sql,同时可以配置ETL节点数量、每个节点的并发数量以及执行计划,将配置数据一并写入ETL程序yaml配置文件。消息推送方式首先配置推送的数据集,配置消息读取频率,以及目标端消息中间类型,将配置数据一并写入消息推送程序yaml配置文件。

数据共享程序的部署方式包括容器部署和k8s部署。其中,容器部署用于部署库表推送方式和消息推送方式发布的数据共享任务。k8s部署用于以集群方式部署RESTFul接口推送方法发布的数据共享任务。

其中,容器部署的部署过程具体包括:加载yaml配置文件至对应模板程序,制作容器镜像并推送镜像至私有镜像仓库,通过paramiko ssh到手动指定或自动分配的服务器。

k8s部署的部署过程具体包括:加载yaml配置文件至对应模板程序,制作容器镜像并推送镜像至私有镜像仓库,同时制作k8s deployment部署yaml文件,最后通过paramiko将deployment部署yaml文件上传至k8s管理客户端所在服务器,执行k8s deployment部署命令,生成deployment。

步骤五:数据共享交换,数据共享机构完成注册并提交数据共享权限请求,请求通过之后接收共享数据选择数据共享任务,并与数据发布机构之间进行数据共享秘钥分配,并接收数据配置信息,接收数据完成数据共享。所有要共享数据的机构或者单位都需要先注册用户并申请权限,在数据管理主体审批通过之后才能接收共享数据。

数据共享交换过程中,首先生成RSA公钥/私钥对,在注册数据共享用户时,当数据发布机构完成审批就会分配数据共享密钥,共享密钥通过python的rsa工具包生成,会产生公钥跟私钥两个pem文件,公钥由数据发布机构保存,用于加密数据,私钥提供给用户和数据共享机构,用于解密数据。

考虑性能问题,rsa不直接加密数据,而是采用3DES加密数据,使用rsa加密3DES的密码。在共享出去的每一条数据数据发布机构都会增加一个3des_code字段,用于存储数据加密的密码。数据发布机构首先对数据集进行加密的过程包括:数据发布机构先读取数据集数据,通过yaml配置文件选择加密字段,并随机生成24位由ascii字符+数字形式的字符串作为3DES的密码,通过24位密码长度的3DES密码对所选加密字段的数据进行加密,最后通过rsa公钥文件加密24位3DES密码,并添加至共享数据。

用户在使用共享数据的时候,先要对加密的数据进行解密,数据共享机构根据分配的共享密钥对加密数据集进行解密过程包括:通过数据发布机构分配的rsa私钥解密3DES_CODE的数据,获取3DES的密码,并对加密数据集利用3DES解密算法进行解密,获取解密后的数据集。

本发明中,如图2所示,提供一种基于元数据进行数据共享的系统,包括数据初始化模块、数据集配置模块、数据共享任务配置模块、任务发布模块、数据共享管理模块。其中,数据初始化模块,用于读取数据库的表以及ER关系,生成基础的元数据,并对元数据进行注释添加,ER关系建立,元数据中的无用表和字段删除操作。

数据集配置模块,用于获取页面数据资源目录,根据数据资源目录与数据库中表的映射关系,生成数据集的查询sql。

数据共享任务配置模块,用于对每一个数据集构建一个pandas的dataFrame,将多个数据集之间通过dataFrame进行关联,并将关联后的多个数据集配置在一个数据共享任务中。

任务发布模块,用于选取数据发布方式,加载yaml配置文件至对应模板程序,并制作容器镜像,推送镜像至私有镜像仓库,选择部署方式部署相应的数据共享程序,发布数据共享任务。

数据共享管理模块,用于为数据共享机构提供注册和数据共享权限请求提交服务,以及审批数据共享请求和管理共享数据发送。

以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护的范围由所附的权利要求书及其等效物界定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号