基于HBase的冠字号查询系统1--理论部分

本文介绍了一个基于HBase的冠字号查询系统,背景是为了验证伪钞。系统利用HBase存储海量钞票和用户信息,支持高并发查询需求。通过MapReduce进行数据加载,并详细介绍了表设计和数据加载过程。
摘要由CSDN通过智能技术生成

1. 软件版本和部署

maven:3.3.9,jdk:1.7 ,Struts2:2.3.24.1,hibernate:4.3.6,spring:4.2.5,MySQL:5.1.34,Junit:4,Myeclipse:2014;

Hadoop2.6.4,HBase1.1.2

源码下载:https://github.com/fansy1990/ssh_v3/releases

部署参考:http://blog.csdn.net/fansy1990/article/details/51356583 

数据下载:http://download.csdn.net/detail/fansy1990/9540865 或  http://pan.baidu.com/s/1dEVeJz7 

2. 背景&思路

目前针对钞票识别,一般都是使用看、摸、听、测四种方式,这里使用一种比较客观的方式类进行识别。   建设冠字号管理查询系统,以冠字号查询为手段,有效解决银行对外误付假币的问题。从源头解决伪钞问题。

本系统就是使用客观的方法来验证伪钞。本系统采用的方案是基于冠字号的,每张人民币的冠字号是唯一的,如果有一个大表可以把所有的人民币以及人民币对应的操作(在什么时间、什么地点存入或获取)记录下来,这样在进行存取时就可以根据冠字号先查询一下,看当前冠字号对应的纸币在大表中的保存的情况,这样就可以确定当前冠字号对应的纸币是否是伪钞了(这里假设在大表中的所有冠字号对应的钞票都是真钞)。

下面对应存储场景:

 

存/取

最近状态(表中有无)

真钞/伪钞

场景1

伪钞

场景2

真钞

场景3

有(此时没有无状态)

真钞


目前,基于传统数据库存储数据一般在千万级别(受限于查询等性能),但是如果要存储所有钞票的信息以及其被存储或获取的记录信息,那么传统数据库肯定是不能胜任的。所以本系统是基于HBase的。

3. 功能指标

Ø  存储万级用户信息;

Ø  存储百万级别钞票信息;

Ø  支持前端业务每秒500+实时查询请求;

Ø  数据存储和计算能够可扩展;

Ø  提供统一接口,支持前端相关查询业务;


说明: 其中前两条,万级用户信息和百万级钞票信息是根据数据确定的,这里可以根据数据以及集群的大小进行调整(如果集群够大,存储信息也可以很大);

4. 架构


冠字号查询系统包括下面5层:

Ø  数据层:包括基础数据MySQL、文档、Web数据等;

Ø  数据处理层:主要是数据的加载,包括MR加载方式、Java API加载模式、Sqoop加载模式等;

Ø  数据存储层:主要是HBase存储,包括钞票的所有信息以及用户信息等;

Ø  数据服务层:主要是对外提供查询、存储等接口服务;

Ø  数据应用

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值