首页 理论教育2017年软件工程论文专集:数据处理总体架构

2017年软件工程论文专集:数据处理总体架构

【摘要】:图2数据处理总体架构图2.1.1功能架构数据处理总体架构如图3所示。

总体的设计流程主要包括:首先将分散在各个分库的数据经过数据清洗、转换、存储、同步等处理,存储到所建立的Oracle中心集中库(center_agent)中;其次,由于数据是和源库同步的,数据量在不断增加,无疑传统的关系型数据库就无法满足要求了,从而需要使用Hadoop集群,采用分布式存储的方式,数据分析主要是基于Hadoop里面的组件如Hive pig等;最终以Web的方式进行展示。数据处理总体架构如图2所示。

图2 数据处理总体架构图

2.1.1 功能架构

数据处理总体架构如图3所示。

2.1.1.1 数据管理

(1)数据配置管理。数据配置管理主要是字典表的配置,分为平台字典表的配置(主要是目的字典表的配置)和项目字典表的配置(主要是源字典表和目的字典表对应关系的配置)。

(2)数据导出管理。这部分主要是先输入导出的条件,将符合导出条件的客户和联系人的信息展示出来,然后用户可以自己手动选择要导出的字段实现导出。

图3 数据处理功能架构图

2.1.1.2 数据应用

(1)项目管理。主要是提供中心集中库中项目信息的展示,简单查找以及项目信息的修改等功能。

(2)客户管理。主要是提供中心集中库中客户信息主表和附表信息的展示,简单查找和相关信息的修改等功能。

(3) 联系人管理。主要是提供中心集中库中联系人信息主表和附表信息的展示,简单查找和相关信息的修改等功能。(www.chuimin.cn)

(4)明细记录管理。主要是提供中心集中库中明细记录信息的展示及简单查找功能。

(5) 综合查询。主要是针对中心集中库中有关联的一些表的信息进行查询。可实现多条件(目前一共有11个查询条件)组合查询,当只选择一个条件时是单条件查询,输入多个条件即为多条件查询。由于数据量大,综合查询不输入任何条件不允许查询。

数据分析模块基于Hadoop做相对复杂数据分析功能。由于数据量的庞大,综合查询当前所需时间依据单批次处理数据量而定,在综合查询的时效性方面仍然有望提高,这也反映了Hadoop后期在商务分析中的应用趋势。

2.1.2 技术架构

本系统分为前后台两部分实现,在技术实现方面,后端主要是采用Java的SSH框架,前台采用的是JavaScript的成熟框架Extjs。

2.1.2.1 SH框架

集成SSH框架的系统从职责上分为四层,即表示层、业务逻辑层、数据持久层和域模块层。在表示层中,首先通过JSP页面实现交互界面,负责接收请求(request)和传送响应(response),然后Struts根据配置文件(struts-config.xml)将 ActionServlet接收到的Request委派给相应的Action处理;在业务层中,管理服务组件的Spring IoC容器负责向Action提供业务模型(model)组件和该组件的协作对象数据处理(DAO)组件完成业务逻辑,并提供事务处理、缓冲池等容器组件以提升系统性能和保证数据的完整性;而在数据持久层中,则依赖于Hibernate的对象化映射和数据库交互,处理DAO组件请求的数据,并返回处理结果。

2.1.2.2 ExtJS框架

ExtJS是一个用JavaScript编写,主要用于创建前端用户界面,与后台技术无关的前端AJAX框架。因此可以把ExtJS用在.Net、Java、PHP等各种开发语言开发的应用中。ExtJS最开始基于YUI技术,由开发人员Jack Slocum开发,通过参考Java Swing等机制来组织可视化组件,无论从UI界面上CSS样式的应用,到数据解析上的异常处理,都可算是一款不可多得的JavaScript客户端技术精品。

通过上述两者的统一实现前后台的流畅交互,提高系统的应用友好性。2.1.3物理部署

本系统的物理部署如图4所示。

图4 系统的物理部署