数据库与信息管理本栏目责任编辑:代影ComputerKnowledgeandTechnology电脑知识与技术第11卷第01期(2015年01月)大数据分析服务平台实践丁贤(中国工商银行股份有限公司软件开发中心,上海201206)摘要:近年来,在传统银行业务增长乏力及互联网金融冲击等多重压力下,中国银行业积极向智能化转型的趋势日渐明显。银行业务服务理念也正逐渐从“服务为王”向“体验为王”转变。作为智能化转型的一个重要环节,大数据分析通过对海量数据的挖掘提炼出有价值的信息,从而帮助银行做出有竞争性的决策。但是,数据分析的过程具有很强的专业性,对使用人员的技能要求较高。如何将专业性很强的数据分析和易用性结合,让各级用户都能分享到大数据建设的成果是一个业内都在研究的课题。该文以”体验好、操作易、可用性高和服务复用”的设计理念为切入点,结合双数据源架构设计、异步查询框架、参数化界面配置和联机构件等技术手段的支撑,阐述了基于服务的数据分析平台的构建思路。关键词:数据分析;易用性;基于服务;可定制;大数据可视化中图分类号:TP311文献标识码:A文章编号:1009-3044(2015)01-0001-04ThePracticeoftheBigDataAnalysisServicePlatformDINGXian(SoftwareDevelopmentCenter,IndustrialCommercialBankofChinaLtd,Shanghai201206,China)Abstract:Inrecentyears,underthemultiplepressureoftheweakgrowthinthetraditionalbankingbusinessandtheInternetfi⁃nancialimpact,thetrendthattheserviceofChinesebankingisactivelyupdatedtotheintelligentlevelisincreasinglyobvious.TheconceptoftheBankingserviceisgraduallychangingfromserviceisthegodtotheexperienceisthegod.Asanimpor⁃tantpartofintelligenttransformation,theanalysisoflargedatacanextractvaluableinformationbyminingamongthemassiveda⁃ta,whichcanhelpthebanktomakecompetitivedecisions.However,theprocessofthedataanalysisisveryprofessionalandre⁃quireshigherskills.Howtocombinethehighlyprofessionaldataanalysisandtheeaseofuseinordertosharetheachievementsofthelargedataconstructionamongtheusersisawidelystudiedtopic.Thispapertakesthedesignconceptofgoodexperience,easeofoperation,highavailabilityandtheresueofserviceasthestartingpoint,combiningsomekeytechnicalmeasureswhichincludethedesignofdualdatasouceandtheframeworkoftheasynchronousquery,etc,parameterizedinterfaceconfigura⁃tionandtheon-linecomponenttechniques,expoundstheideaofconstructingtheservice-basedplatformofthedataanalysis.Keywords:dataanalysis;usability;service-based;customization;largedatavisualization大数据作为一种重要企业资产,其重要性已深入人心。随之涌现了大批挖掘平台和工具,帮助业务部门挖掘大数据的潜在业务价值。由于数据挖掘工作本身有很强的专业性,对分析人员技能要求比较高,且存在重算法而轻交互的情况,一定程度上制约了大数据分析的推广。“如何降低使用门槛,使更多业务人员都能分享到大数据建设成果并应用到实际业务中”是大数据建设过程中所面临的一个重要课题。作为以上问题的一种解决对策,该文叙述了一个基于服务的数据分析平台的构建思路。以”易“为切入,结合”提升用户体验”、“整合资源”、“系统灵活可订制”这3个主要着眼点展开平台的设计和构建工作,综合运用了消息队列、多级缓存、数据可视化、批量联机和负载均衡等技术手段。1总体框架整个框架根据数据的流转进行了分层,具体包括资源层、核心功能层,基础服务层,服务构件层和应用领域层(如图1所示)。各层的定位和技术实现如下:资源层:数据分析平台的资源包括2大类,一类是数据资源,包括数据仓库、hadoop等,平台对于这类资源访问的技术手段以“数据是否落地”为标准分为2种,1种是通过消息队列的异步联机查询,另1种是通过下数加载的方式实现本地库的访问;平台访问的另一类资源是系统资源,比如:SASEG等分析工具,对于该类资源的访问采用门户的方式进行集成,提供入口链接或基于服务的调用方式进行整合。基础服务层:作为平台的服务基础,围绕着“提高联机响应、简化用户操作、确保系统稳定、降低维护成本和监控”等设计原则,收稿日期:2014-10-20作者简介:丁贤(1979-),男,上海人,助理工程师,硕士,主要研究方向为大数据分析。E-mail:jslt@dnzs.net.cn电脑知识与技术Vol.11,No.1,January20151DOI:10.14004/j.cnki.ckt.2015.0001本栏目责任编辑:代影数据库与信息管理ComputerKnowledgeandTechnology电脑知识与技术第11卷第01期(2015年01月)综合运行了各类技术和算法为核心功能层提供保障。具体技术方式包括:基于双数源的消息队列、基于内存混存和文件缓存的多级缓存、基于双线程的预约定制功能、实现批量和联机资源动态调优的作业调度以及为减少维护成本而基于监听器的日志统计功能。核心功能层:本层提供了与用户存在交互的联机功能。功能的设置贴近数据分析工作,以简洁的操作为设计目标。具体技术方面,包括跨hadoop&TD数据库的向导式功能、可灵活在线定制的模型、集成挖掘工具的分析工具集等。服务构件层:数据分析平台对服务展现方式和服务提供方式也进行了构件化。具体技术包括:基于会话同步的界面嵌入、基于接口调用的异步查询以及基于echarts的大数据可视化构件应用。应用领域层:分析平台的服务对象,可以是各业务领域的业务人员,也可以是相关业务领域的其它应用。2技术实现2.1综述数据分析平台力求将高深的大数据挖掘以一种更加简洁的方式提供给广大用户并提供门户式的访问路径,使更多基层用户能分享到大数据建设的成果并应用到工作中。图2列出了本文的总体业务价值和技术体系,接下来将围绕着“提升用户体验”、“整合资源”、”系统灵活可订制”这3个方面深入进行探讨。图2业务价值和技术体系图2.2提升数据分析用户体验方面的技术实现2.2.1基于OLAP+OLTP的双数据源消息队列设计助力数据分析数据服务平台是基于OLAP系统开展数据分析工作。相较OLTP系统,OLAP的特点是存放海量数据,但联机响应效率相对较慢。为了确保数据分析平台有良好的用户体验,综合OLAP+OLTP的特点,构建了基于双数据源的消息队列处理机制。该处理机制的核心思想是,利用oracle数据库联机响应能力强的特点,将模型管理、查询队列等涉及联机交互的操作数据部署在oracle上,海量的业务数据仍保留在数据数据库上。通过ETL调度+消息队列的方式,将oracle的“快”数据以及数据仓库的”海量“数据粘合起来。具体流程是:用户通过前台提交查询请求,该查询请求存放在oracle数据库中;在ETL调度服务器起服务,每间隔一段时间(可参数配置)扫描oracle的队列表,若发现待处理的请求,则根据优先级和并发数抓取一定数量的请求进行查询;ETL服务器上查询2数据库与信息管理本栏目责任编辑:代影ComputerKnowledgeandTechnology电脑知识与技术第11卷第01期(2015年01月)完成后,生成文件放到外置存储,同时更新oracle上消息队列表中的执行状态,供前台联机访问。2.2.2通过多级缓存设计提高数据分析采样访问效率在数据分析的实际操作时,为确保样本数据的代表性,采样结果集往往非常大,如何对结果集进行有效管理,提高类似查询的效率也是平台在建设过程中需要解决的问题。为实现结果的复用,提高业务数据的访问效率,数据分析平台对缓存进行了分层设计和实现。根据使用特点,分为以下3个层次。1)本地缓存:定位为用于保存一些静态的参数,比如:字典类参数。在应用服务器启服务时读取oracle参数表的数值加载到本地内存中,供联机访问。2)分布式缓存:定位为存放一些动态变化且访问频次较高的数据。比如:用户最关心的模型信息,考虑到该信息访问频繁且由于用户可以实时部署模型存在动态变化的特点,为此在向数据库新增模型数据的同时向分布式缓存中写入模型信息,既提高了访问效率同时也减轻了数据库的压力。3)文件缓存:定位用于保存每次模型的查询结果。为提高查询结果的复用性,数据分析平台采用文本的方式保留查询结果。后续再次查询历史结果则可直接访问文件缓存即可,减少了再次查询的开销,提高了查询效率。2.2.3通过大数据可视化技术直观展现数据的内在联系对于大数据分析而言,传统的表格形式无法直观的发现隐藏在复杂、多维数据后的规律,需要有一种直觉的、可交互的可视化环境来帮助深度挖掘数据价值。大数据可视化的工作分为2个层面:静态展示和交互性。其中,静态展示的实践可按照以下3个场景有针对性的开展:1)将数值图形化:当1个指标时,将数据的大小以图形的方式表现2)指标关系图形化:当存在多个指标时,挖掘指标之间的关系并将其图形化,可提升图表的可视化深度。3)按空间可视化:当图表数据存在地域信息并需要突出表现时,可用地图将空间可视化。2.3系统灵活可定制方面的技术实现2.3.1基于”双线程调度+用户在线定制“的数据分析预约采样功能预约采样功能提供给分析人员在将来某个时间点或某段时间内周期性运行取数模型的功能。主要解决数据分析过程中2个业务问题:1)需定期获取采样数据的任务,免除了用户反复提交的重复劳动。2)充分利用计算资源空闲的特点,实现”晚上定时预约,白天看数”的工作模式,提高工作效率。预约采样功能的具体技术实现由3部分组成:基于双线程的调度框架、时间频度表达式和预定义时间变量和解析。2.3.1.1双线程调度框架应用服务器上启动两个线程ScheduleCheck和ScheduleScan。其中,线程ScheduleCheck属于守护线程,负责监控线程Sched⁃uleScan是否处于活动状态,若发现未启动则会通过newScheduleScan().start()自动启动ScheduleScan线程。线程ScheduleScan是工作线程,作为定时任务扫描预约规则表,根据时间频度表达式的计算,将达到执行周期的查询记录添加到查询队列中。该工作线程的扫描频度目前为10分钟,通过配置文件灵活配置。2.3.1.