欢迎光临小豌豆知识网!
当前位置:首页 > 电学技术 > 电通讯技术> 基于分布式思想的高性能高可靠数据共享系统及方法独创技术19951字

基于分布式思想的高性能高可靠数据共享系统及方法

2021-03-03 08:30:03

基于分布式思想的高性能高可靠数据共享系统及方法

  技术领域

  本发明涉及信息技术领域,主要涉及多信息系统间高效、安全的数据抽取与数据共享技术,具体地说是一种基于分布式思想的高性能高可靠数据共享系统及方法。

  背景技术

  目前各个企业的信息化建设都达到了一定的规模,沉淀了大量的具有极高价值的数据,数据是一个企业的重要资产,是企业赖以生存和持久发展的灵魂,通常各个系统开发商(以下简称开发商)之间存在着各种原因导致这些数据资源被各个开发商独占。但企业内数据的分析又需要不同开发商之间开放一些数据来配合。为了使各个开发商能够方便快捷的共享数据,目前企业一般采用三种方式共享数据:

  第一种方式:企业通常需要协调各个开发商以接口的形式共享数据,这种方式可以解决小量的数据共享问题,但对于数据量比较大的数据就束手无策了。例如每天需要同步全国烟草行业零售终端销售单数据(每天约千万订单)到烟草营销分析系统,普通的方法就捉襟见肘了。况且接口一般由各个开发商自己开发,自己持有,企业一般无法做到共享数据的实时管理与监控。

  第二种方式:企业需要协调开发商,开放数据库只读权限以达到数据共享的目的,这种方式需要把数据库表结构的详细设计公开,以便其他厂商能够提取自己需要的数据。但是这种方式容易泄漏开发商数据库的底层设计,不仅不安全而且对参与数据共享的开发商来说也不公平。

  第三种方式:企业需要协调开发商,采用ETL等现有数据抽取工具将需要共享的数据抽取到单独的共享数据库。这种方式工作量大,不但耗费大量人力资源而且不安全、不直观。

  综上所述,现有技术存在如下问题:长期以来企业内部数据共享困难,大规模数据难以共享,传统共享方式效率低且不安全,同时存在数据共享难以管理、共享方式不直观以及共享内容难监控。

  发明内容

  本发明的技术任务是提供一种基于分布式思想的高性能高可靠数据共享系统及方法,来解决大规模数据共享效率低且不安全,同时存在数据共享难以管理、共享方式不直观及共享内容难监控的问题。

  本发明的技术任务是按以下方式实现的,一种基于分布式思想的高性能高可靠数据共享系统,该数据共享系统包括,

  数据库连接管理单元,用于新增待共享的源数据库并修改或删除数据库连接;

  定时任务管理单元,用于新增、修改、启动、停止、删除以及手动补偿定时任务;

  任务日志管理单元,用于查看每个历史任务的详细执行过程、每个历史任务的执行过程以及生成的加密数据文件在文档中心的存放位置,同时提供查看SQL、删除日志以及高级操作;

  任务统计单元,用于对每个任务执行过程进行统计;

  任务监控单元,用于对任何一个任务进行实时监控,通过可视化图表的形式查看分析任务运行状态,为管理员提供全方位的数据共享任务监控信息;

  失败报告单元,用于对失败的任务生成报告,管理员直观的看到失败的任务出问题的环节。

  作为优选,所述数据库连接管理单元包括,

  数据库连接新增模块,用于通过数据库连接管理功能新增待共享的源数据库,同时提供测试连接按钮,随时测试数据库连通性并管理多种数据库连接;

  数据库连接修改删除模块,用于随时修改或删除已有的数据库连接。

  更优地,所述待共享的源数据库新增的内容包括连接名称、连接地址、连接端口号、数据库名称、数据库用户名、数据库密码以及数据库类型。

  作为优选,所述定时任务管理单元包括,

  定时任务新增模块,用于通过定时任务管理的新增功能新增定时任务;

  定时任务修改模块,用于对已经存在的数据共享定时任务进行修改;

  定时任务启动、停止或删除模块,用于对已经存在的数据共享定时任务进行相应的启动、停止或删除操作;

  手动补偿任务模块,用于迅速、自由的对历史数据进行手动补偿。

  更优地,所述新增定时任务需要维护的信息包括任务名称、约定表名、连接名称、cron表达式、任务步长、抽取时格式、抽取起始时间、时间偏移量、密钥类型、SQL类型、任务SQL以及时间戳字段全名;

  其中,约定表名用于保护开发商底层设计而设计的策略,开发商随意填写该字段;

  cron表达式是指linux操作系统下常用的时间指令表达式;

  任务步长是指执行本次任务时需要从源数据库取多长时间的数据,以分钟计量;

  时间偏移量是指选取任务步长时需要往前偏移多久,用于解决使用数据库事务处理复杂业务时,数据入库延时问题;

  密钥类型是指对文件进行加密时能够选择不同的公私钥密钥对进行加密;

  SQL类型允许系统管理员告诉系统执行sql任务时的参数填充策略,具体包括自动拼接参数和手动定义参数;

  任务SQL是指数据共享任务的结构化查询语言;

  时间戳字段全名用于解决各个开发商时间戳字段命名多样的问题,同时用于指明任务sql中哪个字段代表时间戳。

  作为优选,所述任务日志管理单元包括,

  任务日志清空模块,用于将选中的任务的所有历史进行清空,并清空不需要的历史记录;

  SQL查看模块,用于查看选中任务的具体执行SQL,并协助分析数据共享过程中出现的问题;

  日志删除模块,用于逐条删除任务日志;

  高级操作模块,用于提供对日志管理更高级的操作。

  作为优选,所述任务统计单元统计的内容包括共享的数据行数、共享数据文本文件大小、共享数据加密文件大小以及连接数据库时长。

  作为优选,该数据共享系统提供两种工作模式,具体如下:

  ①、单Master模式:数据共享系统工作在一台服务器上,会自动通过多线程的方式模拟多个Slave子节点;

  ②、Master-Slave模式:将数据共享系统手动拆分为Master与Slave,其中Master节点工作在一台服务器上,Slave节点工作在其他多台服务器上,Master节点与Slave节点之间采用MQ消息中间件进行通信。

  一种基于分布式思想的高性能高可靠数据共享方法,该方法具体如下:

  S1、系统管理员配置启动数据共享任务,任务定时的从源数据库并通过定义的规则抽取数据形成数据文本文件并对文件进行压缩、加密后上传到文档中心(企业内部非结构化数据库管理系统)并记录访问链接;

  S2、数据共享系统对外提供数据共享接口,使用方通过数据共享接口获取到下载链接;

  S3、通过调用下载链接去文档中心下载加密文件,并通过事先分配好的密钥进行解密从而获取数据。

  作为优选,所述数据共享系统能够按照管理员设置的任务步长将一个数据量巨大的共享任务按照时间维度进行自动拆分,分散执行,降低源数据库的压力;

  数据共享系统从源数据库中获取的数据形成文本文件并通过RSA非对称加密算法进行加密形成加密文件,载发送加密文件到文档中心存储,需要共享数据的用户直接通过链接从文档中心下载数据,从而转移数据共享系统的压力;

  需要共享数据的用户需要分两步获取目标数据,具体如下:

  ①、先调用数据共享系统提供的接口;

  ②、根据第一步获取的结果调用文档中心的接口取得加密文件。

  本发明的基于分布式思想的高性能高可靠数据共享系统及方法具有以下优点:

  (一)本发明为企业内部数据共享提供了一种全新的解决方案,打破传统数据共享困难的壁垒,共享方式非常直观、共享过程高效安全可靠、可以实现便捷高效的管理共享任务以及能够做到数据共享任务的实时监控,从而能够节省大量的人力资源成本,对企业内部数据共享尤其是超大规模数据的快速共享提供强有力的支撑;

  (二)本发明可以有效的解决企业内部数据共享的问题,尤其是大规模数据共享的问题,并且可以做到方便快捷的管理数据共享任务、高效的、安全的做到大规模数据的共享,为企业内部数据共享尤其是大量数据的共享提供安全、高效的解决方案;

  (三)本发明为了减少数据汇总过程中对源数据库的访问压力,避免影响其他业务系统的正常运行,将一次大量的数据共享任务划分成N次小型的数据共享任务,可以通过数据库连接池连接数据库,每隔相应的时间执行一次数据抽取任务,一次抽取步长(时间长度)的数据,抽取的这些数据被经过压缩、加密后上传到文档中心存放;

  (四)奔赴马宁除了具有普通数据抽取和共享工具的特性外还具有以下特性:

  ①安全性:数据共享接口的调用需要平台授予开发商权限才能调用,保证了接口的安全性;数据文件以RSA加密的方式存放在文档中心,开发商必须申请获取RSA私钥才能对获取到的数据文件进行解密;

  ②高性能:采用分布式思想,基于Master-Slave模式(一主多从模式),主节点仅用来生成和派发任务,从节点用来处理这些任务。从节点可以有多个,可以同时处理大规模数据抽取和共享任务;

  ③高可用:主节点派发任务存储在消息中间件中(以下简称MQ)同时从节点有多个节点且部署在不同的机器,保障系统的高可用;

  ④便捷管理:通过本发明系统管理员可以随时新增数据共享任务,随时修改数据抽取规则、随时启动数据共享任务、随时停止数据共享任务、随时删除数据共享任务;

  ⑤可监控统计:本发明可以实时查看任务的运行情况,监控任务的成功与失败;同时提供各种维度任务统计报表与可视化图表,实时掌握任务的运行情况;

  ⑥可补偿:针对失败的任务,本发明兼有自动补偿与手动补偿的功能,当检测到任务失败后,会立即启动补偿机制,对失败的任务进行补偿,同时管理员也可以手动进行补偿,操作方便快捷;

  ⑦源数据库降压:本发明提供对同一个数据共享任务拆分的能力,将一个数据共享任务分成n多个小任务,实现分时,分段去数据库读取数据,以免对源数据库造成压力,同时提高数据抽取与共享速度;

  ⑧数据共享系统降压:将从源数据库中获取的数据处理后发送到文档中心存储,需要共享数据的系统开发商直接通过链接从文档中心下载数据,从而转移数据共享系统的压力。

  附图说明

  下面结合附图对本发明进一步说明。

  附图1为基于分布式思想的高性能高可靠数据共享系统的结构框图;

  附图2为附图1中数据共享系统的工作原理的架构图;

  附图3为新增数据库连接的界面截图;

  附图4为新增定时任务模块的界面截图一;

  附图5为新增定时任务模块的界面截图二;

  附图6为任务日志管理单元的界面截图一;

  附图7为任务日志管理单元的界面截图二;

  附图8为任务统计单元的界面截图;

  附图9为任务监控单元的折线图的界面截图;

  附图10为任务监控单元的饼图的界面截图;

  附图11为失败报告的界面截图。

  具体实施方式

  参照说明书附图和具体实施例对本发明的基于分布式思想的高性能高可靠数据共享系统及方法作以下详细地说明。

  实施例1:

  如附图1所示,本发明的基于分布式思想的高性能高可靠数据共享系统,该数据共享系统包括,

  数据库连接管理单元,用于新增待共享的源数据库并修改或删除数据库连接;数据库连接管理单元包括,

  数据库连接新增模块,用于通过数据库连接管理功能新增待共享的源数据库,同时提供测试连接按钮,随时测试数据库连通性并管理多种数据库连接,如附图3所示;

  数据库连接修改删除模块,用于随时修改或删除已有的数据库连接。

  其中,待共享的源数据库新增的内容包括连接名称、连接地址、连接端口号、数据库名称、数据库用户名、数据库密码以及数据库类型。

  定时任务管理单元,用于新增、修改、启动、停止、删除以及手动补偿定时任务;定时任务管理单元包括,

  定时任务新增模块,用于通过定时任务管理的新增功能新增定时任务;新增定时任务需要维护的信息包括任务名称、约定表名、连接名称、cron表达式、任务步长、抽取时格式、抽取起始时间、时间偏移量、密钥类型、SQL类型、任务SQL以及时间戳字段全名,如附图4和5所示;

  其中,约定表名用于保护开发商底层设计而设计的策略,开发商随意填写该字段;

  cron表达式是指linux操作系统下常用的时间指令表达式;

  任务步长是指执行本次任务时需要从源数据库取多长时间的数据,以分钟计量;

  时间偏移量是指选取任务步长时需要往前偏移多久,用于解决使用数据库事务处理复杂业务时,数据入库延时问题;

  密钥类型是指对文件进行加密时能够选择不同的公私钥密钥对进行加密;

  SQL类型允许系统管理员告诉系统执行sql任务时的参数填充策略,具体包括自动拼接参数和手动定义参数;

  任务SQL是指数据共享任务的结构化查询语言;

  时间戳字段全名用于解决各个开发商时间戳字段命名多样的问题,同时用于指明任务sql中哪个字段代表时间戳。

  定时任务修改模块,用于对已经存在的数据共享定时任务进行修改;

  定时任务启动、停止或删除模块,用于对已经存在的数据共享定时任务进行相应的启动、停止或删除操作;

  手动补偿任务模块,用于迅速、自由的对历史数据进行手动补偿。

  任务日志管理单元,用于查看每个历史任务的详细执行过程、每个历史任务的执行过程以及生成的加密数据文件在文档中心的存放位置,同时提供查看SQL、删除日志以及高级操作,如附图6和7所示;任务日志管理单元包括,

  任务日志清空模块,用于将选中的任务的所有历史进行清空,并清空不需要的历史记录;

  SQL查看模块,用于查看选中任务的具体执行SQL,并协助分析数据共享过程中出现的问题;

  日志删除模块,用于逐条删除任务日志;

  高级操作模块,用于提供对日志管理更高级的操作。

  任务统计单元,用于对每个任务执行过程进行统计,如附图8所示;任务统计单元统计的内容包括共享的数据行数、共享数据文本文件大小、共享数据加密文件大小以及连接数据库时长。

  任务监控单元,用于对任何一个任务进行实时监控,通过可视化图表的形式查看分析任务运行状态,为管理员提供全方位的数据共享任务监控信息,如附图9和10所示;

  失败报告单元,用于对失败的任务生成报告,管理员直观的看到失败的任务出问题的环节,如附图11所示。

  如附图2所示,该数据共享系统提供两种工作模式,具体如下:

  ①、单Master模式:数据共享系统工作在一台服务器上,会自动通过多线程的方式模拟多个Slave子节点;

  ②、Master-Slave模式:将数据共享系统手动拆分为Master与Slave,其中Master节点工作在一台服务器上,Slave节点工作在其他多台服务器上,Master节点与Slave节点之间采用MQ消息中间件进行通信。

  数据共享系统的工作过程具体如下:

  (1)、系统管理员登录,通过数据库管理功能新增要共享数据的数据库;

  (2)、配置定时任务与数据共享规则并启动任务;

  (3)、数据共享系统会按照系统管理员的配置,定时的从源数据库并通过定义的规则抽取数据形成数据文本文件;

  (4)、数据文本文件形成后数据共享系统会将这些文本文件归档压缩同时通过RSA非对称算法进行加密形成加密文件,随后系统会将加密文件上传至企业内部非结构化数据库管理系统(简称文档中心)并记录访问链接;

  (4)、数据共享系统对外提供数据共享接口,开发商可以通过数据共享系统接口获取到下载链接;

  (5)、调用该链接去文档中心下载加密文件,并通过事先分配好的密钥进行解密从而获取数据。

  本发明适用于零售行业。

  实施例2:

  本发明的基于分布式思想的高性能高可靠数据共享方法,该方法具体如下:

  S1、系统管理员配置启动数据共享任务,任务定时的从源数据库并通过定义的规则抽取数据形成数据文本文件并对文件进行压缩、加密后上传到文档中心(企业内部非结构化数据库管理系统)并记录访问链接;

  S2、数据共享系统对外提供数据共享接口,使用方通过数据共享接口获取到下载链接;

  S3、通过调用下载链接去文档中心下载加密文件,并通过事先分配好的密钥进行解密从而获取数据。

  其中,数据共享系统能够按照管理员设置的任务步长将一个数据量巨大的共享任务按照时间维度进行自动拆分,分散执行,降低源数据库的压力;

  数据共享系统从源数据库中获取的数据形成文本文件并通过RSA非对称加密算法进行加密形成加密文件,载发送加密文件到文档中心存储,需要共享数据的用户直接通过链接从文档中心下载数据,从而转移数据共享系统的压力;

  需要共享数据的用户需要分两步获取目标数据,具体如下:

  ①、先调用数据共享系统提供的接口;

  ②、根据第一步获取的结果调用文档中心的接口取得加密文件。

  最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

《基于分布式思想的高性能高可靠数据共享系统及方法.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)