首页 理论教育 罪犯矫正证据数据化及存储检索技术实现

罪犯矫正证据数据化及存储检索技术实现

时间:2023-08-06 理论教育 版权反馈
【摘要】:设计的罪犯矫正证据数据化及数据存储检索方法主要应用于业务层面的罪犯矫正证据数据存储检索,其总体方案如图3-5所示,依照Hadoop 大数据挖掘技术体系标准以及相应的最佳实践案例进行设计,架构设计沿袭了分层设计的思想,将平台所需提供的服务按照功能划分成不同的模块层次,每一模块层次只与上层或下层的模块层次进行交互,避免跨层的交互。图3-6矫正证据数据迁移架构结构化数据迁移及存储设计。

罪犯矫正证据数据化及存储检索技术实现

设计的罪犯矫正证据数据化及数据存储检索方法主要应用于业务层面的罪犯矫正证据数据存储检索,其总体方案如图3-5所示,依照Hadoop 大数据挖掘技术体系标准以及相应的最佳实践案例进行设计,架构设计沿袭了分层设计的思想,将平台所需提供的服务按照功能划分成不同的模块层次,每一模块层次只与上层或下层的模块层次进行交互(通过层次边界的接口),避免跨层的交互。该设计的优势在于:各功能模块的内部是高内聚的,而模块与模块之间是松耦合的。这种架构有利于实现平台的高可靠性,高扩展性以及易维护性。当需要进行扩容Hadoop 集群时,只需要在基础设施层添加一台新的Hadoop 节点服务器即可,而对其他模块层无须做任何的变动,且对用户也是完全透明的。

图3-5 矫正证据数据化及数据存储检索

整个平台按其职能从下到上依次划分为运行环境层、基础设施层、基础平台层、用户网关层、用户层五个模块层次。

运行环境层为基础设施层提供运行时环境,由操作系统和运行时环境两部分构成。采用64 位的Centos6.5 操作系统,为了提高磁盘的I/O 吞吐量,避免安装RAID 驱动,而是将分布式文件系统的数据目录分布在不同的磁盘分区上,以此提高磁盘的性能,运行环境为JDK1.7。

基础设施层由Zookeeper 集群和Hadoop 集群两部分组成,为基础平台层提供命名服务、分布式文件系统、MapReduce 等基础设施服务。ZooKeeper 集群用于命名映射,作为Hadoop 集群的命名服务器,基础平台层的任务调度控制台可以通过命名服务器访问Hadoop 集群中的Name Node,同时具备failover 的功能。

Hadoop 集群作为大数据平台的核心,是基础平台层的基础设施,提供了HDFS、MapReduce、JobTracker 和TaskTracker 等服务。在系统中采用双主节点模式,以此避免Hadoop 集群的单点故障问题。

基础平台层由任务调度控制台、HBase 和Hive 三个部分组成,为用户网关层提供基础服务调用接口。任务调度控制台是Map Reduce 任务的调度中心,分配各种任务执行的顺序和优先级。用户通过调度控制台提交作业任务,并通过用户网关层的Hadoop 客户端返回其任务执行的结果。

HBase 是基于Hadoop 的列数据库,为用户提供基于表的数据访问服务。

Hive 是在Hadoop 上的一个查询服务,用户通过用户网关层的Hive 客户端提交类SQL 的查询请求,并通过客户端的UI 查看返回的查询结果,该接口可提供数据部门准即时的数据查询统计服务。

用户网关层为终端客户提供个性化的调用接口以及用户的身份认证,是用户唯一可见的大数据平台操作入口。终端用户只有通过用户网关层提供的接口才可以与大数据平台进行交互。用户网关层可以根据实际的需求无限扩展,以满足不同用户的需求。

客户应用层是各种不同的终端应用程序,包括各种关系型数据库、罪犯循证矫正基础平台、罪犯循证矫正终端等。在实际应用环境中,罪犯的信息数据类型包含结构化数据和非结构化数据,监狱内罪犯各类基础数据及改造数据等结构化数据存储在关系型数据库中,而罪犯通话录音、访谈等非结构化数据存储在不同存储服务器中。为了实现对矫正证据的分析处理,本课题设计了基于Mapreduce 机制的数据迁移任务,将监狱内罪犯各类基础数据及改造数据迁移到HDFS,利用hadoop 云计算技术对罪犯矫正相关数据进行处理分析。

实施过程采用sqoop 框架将罪犯各类基础数据及改造数据进行迁移和存储,数据迁移架构如图3-6所示。通过sqoop,我们可以将监狱各类罪犯数据集合从传统关系数据库导入到HDFS。实施过程分为结构化数据迁移和非结构化数据迁移。

(www.xing528.com)

图3-6 矫正证据数据迁移架构

(1)结构化数据迁移及存储设计。

结构化数据迁移和存储设计的方法为:读取要导入数据的表结构生成运行类(默认是QueryResult),打成jar 包,设置好job,然后提交给Hadoop,由Map Reduce 来执行Import 命令。数据迁移job 流程如下。

①首先要对数据进行切分Data Split Data Driven DB Input Format,get Splits (Job Context job)。

②切分好范围后,写入范围,以便读取Data Driven DB Input Format.write(Data Output output)。

③读取写入的范围,Data Driven DB Input Format.read Fields(Data Input input)。

④然后创建RecordReader,从数据库中读取数据Data Driven DB Input Format.create Record Reader (Input Splitsplit,Task Attempt Context context)。

⑤创建MAP,Map TextImport Mapper.setup (Context context)。

⑥Record Reader 一行一行从关系型数据库中读取数据,设置好Map 的Key 和Value,交给Map DB Record Reader.next KeyValue()。

⑦运行MAP,map Text Import Mapper.map (Long Writable key,Sqoop Record val,Context context),最后生成的Key 是行数据,由Query Result 生成,Value 是Null Writable.get()。

(2)非结构化数据存储设计。

对于大量的半结构化数据(semi-structure data)和非结构化数据,本课题采用Hbase 进行存储。对Hbase 中数据的读写首先是根据行键值或行键值域(row key range)来检索,行键值是按照字典序排列的,针对同时访问的数据设计好相似的行键值会相应的减少I/O 操作。为方便罪犯信息的检索,我们用罪犯编号作为行键值,罪犯的其他信息作为列信息。

Map Reduce 是一种分布式的并行编程模式,它可以实现大型数据集的并行运算。Lucene 是Apache 下的索引擎开发包,当索引文件不断增大时,Lucene 搜索便会出现瓶颈问题。本课题通过利用Map Reduce 的思想,将罪犯矫正证据检索请求映射到对应的分布式服务器中进行Map 操作,再结合Lucene,从对应索引服务器中查询后利用Reduce 操作返回最终结果。实验结果表明,这不仅解决了大数据量查询的瓶颈问题,还将系统效率提高了66.7%。

我们设计了基于Mapreduce 机制的数据迁移任务,将监狱内罪犯结构化/非结构化各类基础数据及改造数据迁移到HDFS,利用hadoop 云计算技术对罪犯矫正相关数据进行处理分析,实现数据化预处理。我们设计了矫正证据数据化及数据存储检索方法,建立了由3 台服务器组成的hadoop 集群存储及计算环境,并在燕城监狱进行试点数据实验,将燕城监狱的罪犯基本信息数据和改造信息数据等结构化数据以及心理咨询电话录音和亲情电话录音等非结构化数据进行了数据迁移和存储,总存储容量达到24TB。实验结果表明,通过本方案建立的循证矫正资源库能够达到课题预期指标16TB 的容量,并且很容易通过横向扩展达到更大的存储容量级别。用户网关层用于为终端客户提供数据的快速插入、查询、删除和更新调用接口,是用户唯一可见的大数据平台操作入口。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈