基于流计算的集群数据共享方法及装置制造方法及图纸

技术编号:35442722 阅读:15 留言:0更新日期:2022-11-03 11:54
公开了一种基于流计算的集群数据共享方法及装置,所述方法包括:获取数据共享需求,所述数据共享需求包括:业务规则和数据发送方式,所述数据发送方式包括:参与数据共享的客户端;基于所述数据发送方式,生成共享任务中的用户以及所述用户的用户凭证;对所述业务规则进行转换,获取具有流式SQL语法规则的SQL语句;基于系统资源配额、所述用户、所述用户凭证以及所述具有流式SQL语法规则的SQL语句,生成数据共享任务;执行所述数据共享任务。本发明专利技术降低流数据处理系统的数据接入难度,提高整个数据处理系统的吞吐量。本发明专利技术减少数据延迟,提高执行效率,并且可以灵活的配置任务的启停时间、有效期限,保证数据的安全。保证数据的安全。保证数据的安全。

【技术实现步骤摘要】
基于流计算的集群数据共享方法及装置


[0001]本专利技术属于大数据
,具体提出一种基于流计算的集群数据共享方法及装置。

技术介绍

[0002]在集群数据管理业务中,经常有业务方要求将集群内数据共享,并对共享的数据进行处理,例如过滤、字段筛选、数据脱敏、加密等。
[0003]现有的数据共享流程一般由业务方提出数据共享的需求,数据开发人员根据需求以及业务数据的实际情况,使用离线计算框架,开发代码或者编写脚本;并向集群维护人员申请相关数据的使用权限、存储空间和计算资源等;获得相关资源后,将可执行文件注册到集群某个主机的启动过程或者定时任务,以此实现任务的执行管理。

技术实现思路

[0004]本专利技术公开了一种基于流计算的集群数据共享方法及装置,聚焦于解决集群数据共享的功能实现、以及共享过程中的各种辅助功能的实现。
[0005]为达到上述目的,本专利技术采用如下技术方案:
[0006]一种基于流计算的集群数据共享方法,其步骤包括:
[0007]获取数据共享需求,所述数据共享需求包括:业务规则和数据发送方式;
[0008]基于所述数据发送方式,生成参与数据共享的用户以及所述用户的用户凭证;
[0009]对所述业务规则进行转换,获取具有流式SQL语法规则的SQL语句;
[0010]基于系统资源配额与所述具有流式SQL语法规则的SQL语句,生成数据共享任务;
[0011]执行所述数据共享任务。
[0012]进一步地,所述业务规则包括:是否对数据进行筛选、指定共享的字段、是否加密、否脱敏和将数据发送给外部用户的方式。
[0013]进一步地,所述基于所述数据发送方式,生成参与数据共享的用户以及所述用户的用户凭证,包括:
[0014]根据所述数据发送方式,创建FTP目录与Kafka Topic;
[0015]基于所述FTP目录与所述Kafka Topic,生成参与数据共享的用户以及所述用户的用户凭证。
[0016]进一步地,对所述业务规则进行转换,获取具有流式SQL语法规则的SQL语句,包括:
[0017]将所述业务规则转变为大于等于或小于等于的语句片段;
[0018]拼接所述语句片段中的内容,以生成SQL语句,所述内容包括:名称、表名和关键字;
[0019]依据Flink引擎的流式SQL语法规则,对所述SQL语句进行修改,得到具有流式SQL语法规则的SQL语句。
[0020]进一步地,所述对所述SQL语句进行修改,包括:
[0021]添加共享位置、添加watermark字段和添加用于实现加密脱敏的自定义函数。
[0022]进一步地,所述执行所述数据共享任务之前,还包括:
[0023]系统管理员审批所述数据共享任务;
[0024]审批通过后,将所述数据共享任务中的共享操作保存为系统审计记录。
[0025]进一步地,所述执行所述数据共享任务,包括:
[0026]将所述数据共享任务的任务信息转换为Json数据文件;
[0027]将所述Json数据文件作为任务启动的参数传入,并在执行所述数据共享任务时,基于Json数据文件,按照所述数据共享任务的描述内容执行数据共享操作。
[0028]进一步地,所述执行所述数据共享任务,还包括:
[0029]将所述数据共享任务提交到Flink执行引擎;
[0030]所述数据共享任务中的底层任务执行通过Flink实现,其中,实现的模式包括:负责大流量Kafka输出任务的集群执行模式和负责FTP目录共享的单机执行模式;
[0031]以Restful API的形式开放接口,由最上层的可视化界面调用。
[0032]一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为处理器运行时执行上述任一所述方法。
[0033]一种电子装置,其特征在于,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一所述方法。
[0034]与现有技术相比,本专利技术至少具有以下有益效果:
[0035]1.流数据处理能够减少数据延迟,提高执行效率。使用离线数据处理的方式,一般在每天或者每个小时执行数据,任务的执行时间相对集中,难以有效利用集群资源。
[0036]2.一体化的数据共享任务管理,解决了以前数据共享任务零散、难以追溯的管理问题。同时可以灵活的配置任务的启停时间、有效期限,保证数据的安全。
[0037]3.对业务友好的配置方式。原有的数据共享任务一般是让开发人员根据业务的要求编写脚本或者代码,通过注册定时任务管理。这种方式需要开发人员熟悉业务,增加实施的成本。在界面中,业务人员可以根据需求进行配置,解除了对开发人员的依赖。
附图说明
[0038]图1本专利技术的集群数据共享方法的流程图。
[0039]图2页面转换规则的界面配置示意图。
[0040]图3本专利技术的集群数据共享装置的系统架构图。
具体实施方式
[0041]为了使本
的人员更好的理解本专利技术,下面结合附图和实施方式对本专利技术作进一步的详细说明。
[0042]本专利技术的集群数据共享方法,使用流处理框架执行数据共享任务,通过建立统一的共享任务管理模块,用于任务的创建、分发、状态管理和监控,并开放对应的API接口,依据部署的可视化界面,实现任务配置、资源申请、审核和任务数据展示等功能,并调用管理引擎的相关接口。具体来说,如图1所示,本专利技术的方法包括:
[0043]步骤1:获取数据共享需求。
[0044]一示例中,本专利技术的数据共享需求包括:业务规则和数据发送方式。其中,业务规则是指对外数据共享的描述,例如是否对数据进行筛选、指定共享的字段、是否加密或者脱敏、将数据发送给外部用户的方式等。
[0045]步骤2:生成用户。
[0046]一示例中,本专利技术根据上述的数据发送方式,创建FTP目录、Kafka Topic等,并生成用户与用户凭证。FTP目录的访问信息包括FTP主机和端口号、用户名、密码等,消息队列Kafka的访问信息包括Bootstrap Servers、Kerberos Principal、Keytab等。外部用户可以使用访问信息获取共享数据。
[0047]步骤3:业务规则转换。
[0048]一示例中,本专利技术先将上述的业务规则转变为规则配置,第一部分过滤规则分为四项:组合关系、字段、操作符、值。组合关系可选AND或者OR,表示配置项之间的条件叠加,操作符可选大于、大于等于、小于、小于等于、等于、包含值、包含字符串、匹配正则等。四项组合可以满足基础过滤功能要求。第二部分针对字段的加密、脱敏或者其他操作,直接保存一个字段与处理方式的二元组;第三部分选择输出的字段列表,如图2所示,界面通过元数据访问接口,获取数据库、表、字段等内容,并预置操作符、处理方式等内容,用户可以在界面本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于流计算的集群数据共享方法,其步骤包括:获取数据共享需求,所述数据共享需求包括:业务规则和数据发送方式,所述数据发送方式包括:参与数据共享的客户端;基于所述数据发送方式,生成共享任务中的用户以及所述用户的用户凭证;对所述业务规则进行转换,获取具有流式SQL语法规则的SQL语句;基于系统资源配额、所述用户、所述用户凭证以及所述具有流式SQL语法规则的SQL语句,生成数据共享任务;执行所述数据共享任务。2.如权利要求1所述的方法,其特征在于,所述业务规则包括:是否对数据进行筛选、指定共享的字段、是否加密、否脱敏和将数据发送给外部用户的方式。3.如权利要求1所述的方法,其特征在于,所述基于所述数据发送方式,生成共享任务中的用户以及所述用户的用户凭证,包括:根据所述数据发送方式,创建FTP目录与Kafka Topic,并设定所述FTP目录的访问信息包括:FTP主机、FTP主机的端口号、用户名和密码,所述Kafka Topic相应的消息队列Kafka的访问信息包括:Bootstrap Servers、Kerberos Principal和Keytab;结合所述FTP目录的访问信息与所述消息队列Kafka的访问信息,得到所述用户的用户凭证。4.如权利要求1所述的方法,其特征在于,对所述业务规则进行转换,获取具有流式SQL语法规则的SQL语句,包括:基于过滤规则,过滤所述业务规则,所述过滤规则包括:组合关系、字段、操作符与值;对过滤后的业务规则,进行字段的加密与脱敏处理,以得到字段与处理方式的二元组;依据是业务规则中指定的共享字段,将从数据管理方获取所有数据的Topic名称、字段名称和字段类型,展示在界面上;结合在所述界面上预置的操作符与所述处理方式,用户业务规则配置操作;将过滤规则转换成...

【专利技术属性】
技术研发人员:李晓雪任彦郑礼雄薛晨易立窦禹王一宇杨昕雨张博文
申请(专利权)人:国家计算机网络与信息安全管理中心
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1