文档章节

巨杉案例:大数据司法查询平台

巨杉数据库
 巨杉数据库
发布于 2017/05/28 12:56
字数 2378
阅读 6
收藏 0

1、前言

公检法机关因审理经济纠纷案件或经济犯罪案件需要向银行查询企业事业单位、机关、团体的银行存款或者查阅与案件有关的会计凭证、账册、报表等档案资料,银行应当积极配合。在查询或者查阅时,人民法院应当向银行出具正式公函,由银行行长(主任)指定具体的业务部门负责提供有关的情况和资料并派专人接待。查阅人对需要的资料可以抄录、复制或照相,但不能借走。人民法院对银行提供的资料应当保守秘密。

 

人民检察院侦查机关在办理职务犯罪案件时,尤其是贪污贿赂案件,到商业银行查询犯罪嫌疑人的账户相关交易流水和凭证是一个重要的获取线索和证据的途径,这也是商业银行的一项法定义务。然而在实际操作过程中,侦查机关到商业银行开展查询工作时却因为历史数据查询上的困难,导致查询工作效率低下。

 

对于历史数据而言,超过三至五年的数据,银行会采用离线存储的方式将数据归档至磁带库或光盘库。当侦查机关向银行提出司法查询请求时,银行工作人员需要将带库中的离线数据导出成在线数据,以供查询使用。带库数据的导出操作是非常耗时,耗力的过程,故导致司法查询进展缓慢。

2、面临的挑战

因为司法查询需要查看单位或个人银行账户的所有交易流水,所以银行需要提供所有历史数据用以查询。针对此类需求,银行均要安排相关系统工作人员导出离线数据以供查询使用。在此需求环境下,银行急需一种有效的解决方案将银行工作人员从繁重的导数作业中解放出来。

司法查询的数据是银行存储了几十年的历史数据,且会涉及多个业务系统,如核心系统、信用卡系统及网银系统等。故其数据有以下特点:数据量庞大、业务系统众多及新旧系统更替等。针对以上特点,解决方案需要解决以下几点需求:

 

离线数据在线化:整个解决方案的重点即在于消除司法查询中的离线数据导出工作,而最效有效的解决之道则在于把离线的数据进行在线化。离线数据在线化后,司法查询则只用将在线数据查询出来给到相应检查部门。因为司法查询不像核心交易查询如此频繁,所以也不可以使用大中型乃至小型机作为数据在线化的硬件存储平台。

 

各业务系统数据统一管理:因为司法查询涉及众多业务系统,所以进行司法查询时,需要到各业务系统平台进行数据查询。这种查询方式带来了极大的人力消耗成本。离线数据在线化需要将各业务系统数据进行统一管理,后续的司法查询只用在一个平台即可查询所有相关数据。

 

新旧系统数据整合:银行的各系统在整个历史中进行了多次的升级改造,这就导致了新旧系统之间数据存储设计上存在着极大的差异。为了能提供高效、便捷的司法查询,新旧系统之间数据的整合也是必不可少。

 

提供高效的数据查询:离线数据进行在线化的同时,也要保证数据查询的高效性。只有两者均达到,司法查询才能真正摆脱低效率查询的境地。

3、解决方案

司法查询平台由下到上可分为数据采集层、数据存储加工层和数据应用层。数据存储加工层是司法查询平台的核心,主要基于SequoiaDB分布式数据库和Spark内存分析框架构成。基于此架构,司法查询的离线数据实现在线化及实时查询。

 

3.1数据采集层

数据采集层的主要作用是为数据存储加工层提供司法查询所需的各业务系统数据。ODS取数平台通过将新旧核心、新旧信用卡及网银等业务系统准备的历史数据采集回来,将采集的数据统一格式,再通过SFTP、FTP和CD等网络传输方式提供给数据存储加工平台。

 

3.2数据存储加工层

数据存储加工层主要工作是完成司法查询数据的统一存储和加工处理。数据采集层传输至数据存储加工层的数据主要分为存量数据和增量数据。根据此两类数据,SequoiaDB+Spark构建的存储加工层完成数据的规划、入库以及加工处理。

 

存量数据存储:存量数据是指截止某时间点已经落盘存储的数据,主要作为各业务系统的初始化数据进行存储入库。因为司法查询的历史数据所存储的量比较庞大,所以存量数据在入库前会根据系统类别、数据类别(流水与非流水)及数据量等维度进行数据规划。SequoiaDB数据库的Domain可根据系统类别完成数据规划,如新旧核心使用Domain1,新旧信用卡使用Domain2。SequoiaDB的数据水平切分机制和时间序模型可根据数据类别及数据量等维度完成数据有序高效存储,如流水数据可根据客户交易日期采用时间序模型进行数据存储。数据规划完成后,操作员使用SequoiaDB Import工具将各系统数据导入SequoiaDB数据库。

 

数据模型去范式化:由于新旧系统的更替及旧系统设计的历史性,同一套系统的新旧系统数据表结构存在极大的差异,且旧系统数据在存储大量历史数据的情况下也不利用数据的查询。众所周知,历史数据查询的难度在于在数据量表的多表JOIN查询。为了实现新旧系统数据统一和高效快速的查询,存储加工层需要根据司法查询需求对存量数据进行加工处理。数据加工通过Spark分析框架将存储于SequoiaDB中的数据根据新旧系统结构的统一规划完成数据加工处理,如将所有数据打平成流水表及非流水表。

 

增量数据同步:增量数据指存量数据截止日期以后每日变更的数据,如新核心每天增加的客户及每天的交易流水数据等。SequoiaDB数据库存储的数据需要与在线交易系统(如新核心、新信用卡)保持T-2数据的一致。

3.3数据应用层

离线数据完成在线化之后,数据的应用并不局限于司法查询(即公检法查询),也可以用于历史数据定制查询和管理员查询等诸多用途。司法查询因为其低频率的查询使得在线数据在绝大部分时间里均未被使用。在不影响司法查询的前提下,在线存储数据的价值应该被发挥出来,如银行网点对历史数据的查询和银行管理员查询等。数据应用层使用SequoiaDB API、SequoiaDB SQL和SparkSQL等方式从数据存储加工层获取数据,并将获取的数据在WEB前端页面进行数据展示。

4、项目成果

离线数据低成本在线存储:SequoiaDB数据库采用分布式架构,只需要普通X86 PC Server即可完成海量数据的高效存储。由于司法查询使用的业务数据存在离线化、海量化、分散性及查询低频性等特点,所以廉价的在线存储架构使离线数据实现在线化成为可能。

业务系统数据统一平台管理:司法查询涉及多个业务系统,所以对多个业务系统数据的规划存储和统一管理则显得非常重要。SequoiaDB的Domain功能及元数据信息的有效管理很好的实现了多系统数据的统一存储及管理。

历史数据的实时查询:司法查询的数据存储在SequoiaDB分布式数据库之后,历史数据可以进行实时查询。SequoiaDB分布式存储+多索引机制达成一个司法查询请求任务秒级返回的结果。

 

 

SequoiaDB巨杉数据库2.6最新版下载

SequoiaDB巨杉数据库技术博客

SequoiaDB巨杉数据库社区

 

QQ图片20161025222551.jpg

© 著作权归作者所有

巨杉数据库
粉丝 54
博文 103
码字总数 210199
作品 1
朝阳
数据库管理员
私信 提问
【开源访谈】乔国治:分布式数据库如何实现海量数据实时查询

高访问量、海量数据业务背后的基础系统架构是如何设计和优化的?分布式数据库是如何做到数据的透明水平、垂直拆分,实现海量数据实时查询的?本期,【开源访谈】邀请到了巨杉数据库技术总监乔...

王练
2017/03/20
4.3K
6
SequoiaDB巨杉数据库与IBM共建Power Linux 生态系统

SequoiaDB巨杉数据库与IBM共建Power Linux 生态系统 2015年9月22日,主题为“开源重构世界 开发改变未来”的Linux开源生态系统联盟开发者大会在北京举行。作为全球首个基于Power平台的开源技...

巨杉软件
2015/09/23
735
0
SequoiaDB 受邀参加旧金山Spark 技术峰会,与Spark联手推动大数据企业级应用

巨杉将亮相Spark Summit大会 6月5日至7日,全球大数据界最顶尖的技术盛会,Spark Summit峰会将在加州旧金山召开。 巨杉数据库作为唯一来自中国的分布式数据库厂商,同时作为Spark的全球14家发...

巨杉数据库
2017/06/05
0
0
SequoiaDB 获得 1000万美元 B 轮融资,DCM 领投


国内领先的新一代分布式数据库厂商SequoiaDB巨杉数据库,宣布获得世界顶级投资机构DCM领投的B轮融资1000万美元,A轮投资机构启明创投跟投。 【编者注】SequoiaDB 数据库源码:http://git....

oschina
2016/07/14
2.5K
16
SequoiaDB x Spark 新主流架构引领企业级应用

6月,汇集当今大数据界精英的Spark Summit 2017盛大召开,Spark作为当今最炙手可热的大数据技术框架,向全世界展示了最新的技术成果、生态体系及未来发展规划。 巨杉作为业内领先的分布式数据...

巨杉数据库
2017/07/03
6
0

没有更多内容

加载失败,请刷新页面

加载更多

哪些情况下适合使用云服务器?

我们一直在说云服务器价格适中,具备弹性扩展机制,适合部署中小规模的网站或应用。那么云服务器到底适用于哪些情况呢?如果您需要经常原始计算能力,那么使用独立服务器就能满足需求,因为他...

云漫网络Ruan
今天
5
0
Java 中的 String 有没有长度限制

转载: https://juejin.im/post/5d53653f5188257315539f9a String是Java中很重要的一个数据类型,除了基本数据类型以外,String是被使用的最广泛的了,但是,关于String,其实还是有很多东西...

低至一折起
今天
16
0
OpenStack 简介和几种安装方式总结

OpenStack :是一个由NASA和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目。项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。OpenSta...

小海bug
昨天
11
0
DDD(五)

1、引言 之前学习了解了DDD中实体这一概念,那么接下来需要了解的就是值对象、唯一标识。值对象,值就是数字1、2、3,字符串“1”,“2”,“3”,值时对象的特征,对象是一个事物的具体描述...

MrYuZixian
昨天
9
0
解决Mac下VSCode打开zsh乱码

1.乱码问题 iTerm2终端使用Zsh,并且配置Zsh主题,该主题主题需要安装字体来支持箭头效果,在iTerm2中设置这个字体,但是VSCode里这个箭头还是显示乱码。 iTerm2展示如下: VSCode展示如下: 2...

HelloDeveloper
昨天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部