深度阐述数据建模及可视化系统技术方案

1.系统概述

        数据建模及可视化系统系统一站式全链路数据生命周期管家,帮助用户管理数据资产并挖掘价值。平台提供多源异构的数据采集模块、实时/离线计算框架,简洁易用的开发环境和平台接口,为政府机构、企业、科研机构、第三方软件服务商等客户,提供大数据管理、开发和计算的能力。让客户最大化的发现与分析行业内部核心业务数据价值,挖掘现有业务和应用系统的潜在商机,培育完好的业务创新产业链,实现数据应用的完整闭环,帮助客户实现商业价值。

深度阐述数据建模及可视化系统技术方案_第1张图片

数据全生命周期管理流程

        数据建模及可视化系统主要由数据仓库、模型工厂、任务中心、应用超市、智能看板和系统管理6部分,系统专注于多来源、碎片化数据的高效治理和可视化拖拽式建模应用,提供丰富、易用的数据治理工具,用户可以快速对采集的海量数据进行数据结构标准化、数据分类编目等的规范化治理;实现可视化拖拽式的模型设计功能并集成多种算法模型,极大的降低了建模的技术门槛,让用户可以轻松高效的完成建模工作;并提供丰富的可视化展示界面,支持PC、大屏等多种载体进行可视化展示,充满科技感的页面效果,将海量数据以用户理解熟悉的方式进行展示。

2.系统结构

数据建模及可视化系统架构

系统架构主要分三层,包括基础支持层,数据管理层,数据服务层。

基础支撑层:主要是围绕支撑平台运行的软硬件环境,虚拟化环境,分布式大数据平台环境,数据库环境等等。

数据管理层:包括数据源管理(数据接入),数据治理,数据资产,算法模型库等模块。

  • 数据治理模块为用户提供数据清洗、筛选、并集、差集、交集、分组等工具,用户可依据建模需要进行灵活组合进行数据治理工作。
  • 数据资产模块提供对检索的数据资产目录、数据映射功能、数据资产维护管理功能等。。
  • 数据源管理提供对数据源连接及任务的管理。
  • 模型算法模块提供历史算法库、算法维护、算法共享等功能。

数据服务层:主要包括数据推送服务、微应用服务和数据可视化服务。

  • 数据推送服务,支持定向定时推送成果数据到指定的数据库(mysql\oracle)等。
  • 微应用服务,提供应用模块化功能,将数据、平台工具、模型应用转化为APP应用功能。以APP的方式上架到应用超市中,供用户自主选择所需服务。
  • 数据可视化服务提供图形化图标软件,可自由拖拽生产可视化面板,并进行数据展示等。可视化大屏场景共享发布。

专业业务软件,通过接收数据建模系统进行数据治理和算法模型生成的成果数据,结合他们的业务服务行业客户。支持三种集成模式,其一,数据集成,支持数据推送;其二,应用集成,支持微应用能力;其三,业务可视化集成,通过数据建模软件可以根据业务需求定制可视化看板场景,然后把看板场景发布出来,通过行业业务软件进行集成页面。

3.产品亮点

  • 通过可视化拖拽图标的方式,就可以完成业务模型设计和数据分析工作,降低了技术门槛,大大提升了工作效率。
  • 自助式可视化图标设计,拖拽图表模版,设置数据来源,两步生成科技感十足的可视化图标。
  • 系统支持单机版(仅一台服务支持运行)、大数据版(多台集群),低使用成本,全场景渗透。
  • 适配多种类型数据库的数据抽取和数据推送,面对各种情况都可以轻松解决。
  • 分级用户管理,对原始数据、成果数据、算法模型和微应用提供分级管控。
  • 支持海量数据挖掘分析碰撞。

4.功能组成

数据建模及可视化系统主要由数据仓库、模型工厂、任务中心、应用超市、智能看板和系统管理6部分组成。具体如图所示:

深度阐述数据建模及可视化系统技术方案_第2张图片

数据建模及可视化系统组成

数据仓库:构建高效健全的大数据仓库管理功能,为用户提供基础库、标准库、主题库的构建能力,同时提供给数据源管理、数据编目、数据接入、数据集管理、字段管理和数据预览等功能。

模型工厂:提供模型分类、模型管理、模型设计等功能,在定义模型的时候,每个结果集都是可视化展示,并可对结果集进行自定义可视化布局,两两结果集都可以根据逻辑函数碰撞分析。定义完的模型,可以一键发布到应用超市中。

任务中心:提供任务全生命周期管理功能。

应用超市:提供模型转化发布应用,以APP的方式上架到应用超市中,供用户自主选择所需服务过程的能力。

智能看板:提供平台化、场景化、定制化的数据应用服务工具,可实现针对多行业、多场景数据可视化的快速搭建,零门槛打造专业大屏数据展示。

系统管理:提供用户管理、角色管理、单位部门管理、数据定级、数据字典管理、日志管理等功能。

4.1.数据仓库分系统

        对大数据服务与应用平台来说,数据采集是基础,而数据如何存储管理是影响后续数据分析挖掘的可用性和效率的关键。构建高效健全的大数据仓库管理对数据分析和应用具有决定因素,本平台大数据仓库是建立在大数据管理基础上,充分利用采集的各类信息资源和数据资源,依托成熟、可靠的Hadoop开源大数据解决方案和内存数据库加速技术实现海量数据的存储、管理和高效应用,并为上层可视化的大数据分析、深度挖掘分析应用提供数据存储和计算资源。

深度阐述数据建模及可视化系统技术方案_第3张图片

4.1.1.大数据基础库

        大数据基础库主要用于存储不同数据来源的原始基础数据,本平台大数据基础库支持基于大数据ETL工具完成数据抽取同步其他数据库数据的能力,支持ORACLE、HBASE数据源提取。操作环境下各业务系统中的业务数据通过ETL(抽取、转换、装载)过程进人到数据仓库中,即数据仓库存储了业务系统(如OLTP系统)近实时的详细数据,业务系统之间准实时的数据交换由数据仓库系统完成,数据仓库系统同时还将整合好的操作环境下的运营数据通过ETL等方式传送到专题库中,完成业务数据从操作环境进人到分析环境的过程。

1、数据抽取

平台可实现基于大数据ETL工具完成数据的抽取同步其他数据库数据的能力,支持ORACLE、HBASE数据源提取。

2、自主附件数据管理属性

本平台具有自主附加数据管理属性的能力,例如时间戳、ROWKEY等;

3、多种文件格式导入

具有不同格式文件的批量导入/追加入基础库的能力,支持EXCEL、CSV等格式,并能够控制导入的数据字段与模板对应关系、数据量及筛选条件等。

4.1.2.大数据标准库

原始数据库中的数据往往存在大量不规范的字段值以及各种类型的脏数据,为避免其对后续业务功能的影响,数据需经过清洗转换为格式标准的统一数据进入标准数据库。建议系统构建一个标准化信息数据库,对原始数据进行一个统一的规范约束和存储。

1、数据列清晰

平台支持在大数据基础库上通过数据列清洗扩展形成大数据标准库的能力。数据清洗包含两方面内容:数据字典规范以及垃圾数据清除。

2、通过数据清洗新建标准库

为保证数据的规范性以及通用性,标准数据库采用现行国标、行标以及各类规范性文件为标准进行设计,包括数据库构建标准化、数据表设计标准化以及详细的数据字段标准化(字段名称、格式等)等内容。

3、自定义数据清洗

平台具备用户自主可视化自行配置的数据清洗的能力。

4.1.3.大数据主题库

系统支持用户基于标准库自由、自主构建主题库,支持用户全面可视化、可控的情况下构建大数据主题库。

4.2.模型工厂分系统

模型工厂为用户提供的自助式数据分析建模工具,是一个用于数据分析的可视化工具。用户可以把自己的业务思路,注入到自助式数据分析建模工具模型中,根据经验形成一个成熟的研判模型。

模型工厂的功能包括:模型列表、模型的维护管理;在定义模型的时候,每个结果集都是可视化展示,并可对结果集进行自定义可视化布局,两两结果集都可以根据逻辑函数碰撞分析。定义完的模型,可以一键发布到应用超市中。

自助式数据分析建模工具的核心功能构成由生成结果集组件、自定义条件过滤组件、关联碰撞分析组件、分组统计分析组件、高级分组统计分析组件、偏差分析组件等。其中关联碰撞分析中包括对数据集的交集分析、合并结果集分析、差集分析、自连接分析。自定义条件过滤中包括对结果集的二次过滤,函数有等于、小于、大于、区间、模糊查询、精确包含、精确不包含、模糊包含、模糊不包含、自定义正则表达式、字符串截取等函数库。丰富并可扩展的使用手段让分析数据变得简单易操作。

深度阐述数据建模及可视化系统技术方案_第4张图片

深度阐述数据建模及可视化系统技术方案_第5张图片

4.2.1.生成结果集组件

添加分析结果集支持各类业务数据,支持excel、csv、oracle、mysql等格式的数据衔接。

  • 支持选择模板数据源、可以针对该数据源自定义条件、自定义结果列,生成结果集。建的同时支持数据的预览。
  • 自定义条件时,可支持对字段等于、精确包含、精确不包含、大于、小于、区间、截取范围、模糊不包含、长度等于等函数对条件进行筛选。
  • 还可支持一键对数据源生成结果集。
  • 结果集以图标形式显示,支持查询数据,并将数据导出到 excel。
  • 支持对结果重命名,并查看生成逻辑操作。
  • 支持对结果集自动生成模板表

4.2.2.比对过滤分析组件

比对过滤分析主要的使用场景在于数据集的二次查询过滤,里面涵盖强大的函数库操作,使用者可按照条件规则使用平台对就的函数即可完成复杂的查询过滤操作,无论易用性还是实用性都很直观。比对过滤组件具有以下功能:

  • 可对已生成数据源进行条件过滤(字段等于、精确包含、精确不包含、大于、小于、区间、截取范围、模糊不包含、长度等于等函数对条件进行筛选。
  • 过滤同时支持组合排序与取前N条样本数据功能

4.2.3.关联碰撞分析组件

关联碰撞分析支持两个结果集的交集、并集、差集、自连接等操作算法,可自定义比对条件列、自定义结果集的显示列信息。通过灵活的配置达到使用者的要求。关联碰撞组件具有以下功能: 

  • 支持从窗口中选取两个结果集进行关联,支持自动生成第三个结果集。
  • 比对算法支持交集自连接、交集、并集、差集。
  • 比对条件支持可配置列。
  • 生成结果集可支持从源结果集中进行配置。
  • 支持关联结果数据预览。

4.2.4.分组统计组件

分组统计功能可以对数据集进行自定义条件、自定义分组字段、组数据求和/求平均等操作,自动生成分组数量列,支持数量升序、降序排列,秒级响应。

分组统计组件具有以下功能:

  • 支持点击结果集进行分组统计,可按过滤条件、分组字段进行设置。
  • 可定义分组后升序、降序方式。
  • 支持对分组后数据的可扩展计算函数支持,例如汇总、均值等。
  • 支持分组后显示前 N 条记录。
  • 支持对分组后的数据取临界值功能。
  • 支持分组后对相应字段计算比例。
  • 支持高级分组。

4.2.5.高级分组统计组件

对结果集进行分组统计,并且可在此使用比对过滤中的函数库,自定义分组字段,自定义排序字段,自定义分组聚合字段,自定义列与列的计算算法,自定义每组显示前N条数据。高级分组统计组件具有以下功能:

  • 支持分组后对相应字段计算比例。
  • 支持多字段组合分组,多字段组合排序,支持分组的同时带出所有字段信息。
  • 支持按排序取每组前N条功能
  • 支持分组的同时对字段做聚合操作(求和、求平均)

4.2.6.偏差分析组件

两个结果集可以做偏差分析,可自定义偏差分析的字段,自定义偏差分析的条件、自定义偏差显示的结果集列、支持取正偏差、负偏差、绝对值偏差。偏差分析组件具有以下功能:

  • 支持两数据源关联比对同时,做时间或者数值类偏差计算(正、负、绝对值)。

4.2.7.数据清洗组件

可对当前模板表/结果集的数据进行自定义清洗,清洗逻辑以流程化图形展现,清洗结果作为新列合并到模板表/结果集中。

  • 支持自定义生成列的列名等基本属性。
  • 支持多种运算清洗规则,包括:加减乘除等基本运算、字符串截取、字段/字符拼接、日期计算等函数运算、自定义sql逻辑等
  • 支持多列并行操作
  • 支持规则嵌套
  • 支持逻辑预览

4.2.8.数据导出组件

自定义比对工具生成的结果集支持导出到Excel、CSV,不受数据量的限制。数据导出组件具有以下功能:

  • 可导出csv、excel
  • 可分组导出,每组单独生成文件

4.3.任务中心分系统

任务中心任务管理功能的整个生命周期包括任务创建、删除;任务启动、停止;任务运行周期设定;任务调度日志及运行监控日志。

深度阐述数据建模及可视化系统技术方案_第6张图片

4.4.应用超市分系统

应用超市针对信息查询、关系拓展、数据研判、实时监控、预测预警等五种类型的模型,提供应用模块化功能,将数据、平台工具、模型应用转化为API服务、工具服务、模型服务、推送服务等微服务向用户开放,构建微服务体系。微服务以APP的方式上架到应用超市中,供用户自主选择所需服务。

深度阐述数据建模及可视化系统技术方案_第7张图片

4.5.智能看板分系统

智能看板应用模块组件支持包括折线图、柱状图、饼图、雷达图、热力图、仪表盘等图表展现;支持GIS地图集成,提供表格、文本等多类型组件数据展现能力。

数据可视化展示:支持包括折线图、柱状图、饼图、雷达图、热力图、仪表盘等图表展现;支持GIS地图集成,提供表格、文本等多类型组件数据展现能力。组件数据绑定:支持包括折线图、柱状图、饼图、雷达图、热力图、仪表盘等图表展现;支持GIS地图集成,提供表格、文本等多类型组件数据展现能力。

深度阐述数据建模及可视化系统技术方案_第8张图片

4.6.系统管理分系统

4.6.1.权限管理

1、单位部门管理

单位部门管理是组织结构的重要管理手段,管理员通过单位部门的添加、修改和删除功能将用户很好的管理起来,还能够综合展示所有单位部门的信息,包括所属地区、上级部门、单位编号、全称简称等。

2、用户管理

系统管理员可以通过用户管理功能完成添加用户、修改用户信息和删除用户等基本操作。结合用户所属组织机构、所属角色等信息,可以进一步对用户进行分类,生成用户列表,利用多条件搜索功能,快速定位用户,全面掌握用户信息。

3、角色管理

应用超市采用基于角色的访问控制,系统的权限与角色相关联,用户被赋予适当角色而得到这些角色的权限。系统中管理员可以完成以下操作:创建、删除角色,并为角色添加相应附加信息。配置角色权限,即该角色下用户可使用的应用超市功能和资源。为用户分配角色,同时赋予用户该角色所拥有的权限。通过以上三个步骤,即可完成系统角色的统一管理,达到由角色控制用户权限的目的。

4、数据定级

根据实际需要合理、便捷地控制数据等级权限。支持对于模板数据级别的各类查询,包括:条件单项查询、条件组合查询、左匹配查询、右匹配查询、模糊匹配查询等多种查询方式。数据权限,指用户在使用超市各应用时所能使用的数据范围,未授权或被屏蔽的数据将不能被获取和使用。管理员可以针对不同角色的性质为其分配不同的功能和数据权限,进而对角色对应的用户权限进行统一管理。

5、数据字典管理

管理员可以对数据字典灵活的进行管理维护,包括:字典的增加、修改、删除、查询。同时,用户可以对数据字典进行批量导出操作,方便用户对数据字典的移动携带。

4.6.2.日志管理

1、操作了统计

对各类操作数量的统计,支持列表、柱状图及折线图多种展示方式。主要记录登录用户的身份信息,用于身份核对以及必要的事后责任追查。对用户使用过的功能进行记录,生成每项应用的使用用户列表、用户类型、使用频度等信息,作为应用推送、热门应用展示等功能的数据依据。

2、操作信息展示

展示用户每一步操作情况,对用户操作过程进行还原。主要记录用户对各应用中的关键功能点(如数据导入、导出,信息搜索等)以及关键数据(如用户信息、黑红名单信息等)的操作,获取的记录信息一方面可以为各项统计功能服务,另一方面也可以作为用户非法操作的判定依据。

5.技术优势

5.1.大数据体系架构

Hadoop大数据技术是新兴的数据存储、处理系统,有别于关系型数据库,实现了对海量的数据存储、分析成为可能,利用大数据技术对海量数据产生关联关系、预测行为等挖掘价值信息,使数据产生更大的价值,大数据相关组件如下:

  • HDFS

一个分布式文件系统,隐藏下层负载均衡,冗余复制等细节,对上层程序提供一个统一的文件系统API接口。HDFS针对海量数据特点做了特别优化,包括:超大文件的访问、读操作比例远超过写操作、PC机极易发生故障造成节点失效等。HDFS把文件分成64MB的块,分布在集群的机器上,使用Linux的文件系统存放;同时每块文件至少有3份以上的冗余,中心是一个NameNode节点,根据文件索引,找寻文件块。

  • Hive

基于Hadoop的大数据分布式数据仓库引擎。它可以将数据存放在分布式文件系统或分布式数据库中,并使用SQL语言进行海量数据统计、查询和分析操作。

  • HBase

一个分布式的、按列存储的、多维表结构的实时分布式数据库。它可以提供大数据量结构化和非结构化数据的高速读写操作,为高速在线数据服务而设计。支持列式存储,可指定某列族的压缩方式和复制份数,做到可用性和复制冗余灵活调配。

  • Impala

Impala是Cloudera公司主导开发的新型查询系统,它提供SQL语义,能查询存储在Hadoop的HDFS和HBase中的PB级大数据。已有的Hive系统虽然也提供了SQL语义,但由于Hive底层执行使用的是MapReduce引擎,仍然是一个批处理过程,难以满足查询的交互性。相比之下,Impala的最大特点也是最大卖点就是它的快速。

  • Zookeeper

针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。它可以维护系统配置、群组用户和命名等信息。

5.2.采用基于J2EE技术的多层架构开发模式

系统的整体架构基于J2EE技术实现。在开发企业级应用系统方面采用J2EE技术实现具有明显优势:

  • 平台无关性:可以轻松地移植到几乎任何操作系统和主机平台环境下
  • 广泛的支持:技术路线的选择需要考虑到目前计算机技术的主流发展趋势。而J2EE技术获得了大多数国际和国内厂商的广泛支持,已经成为首选的主流技术
  • 开放性和标准性:J2EE技术兼容和支持多数重要的技术规范和协议,如CORBA、Web Service、消息中间件、交易中间件、主流数据库存取,有利于系统对外提供服务接口、扩展服务功能
  • 稳定的可用性:一个服务器端平台必须能全天候运转以满足用户的需要。J2EE部署到可靠的操作环境中,支持长期的可用性。

5.3.基于Docker容器的组件开发技术

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

Docker核心解决的问题是利用LXC来实现类似VM的功能,从而利用更加节省的硬件资源提供给用户更多的计算资源。同VM的方式不同, LXC其并不是一套硬件虚拟化方法-无法归属到全虚拟化、部分虚拟化和半虚拟化中的任意一个,而是一个操作系统级虚拟化方法, 理解起来可能并不像VM那样直观。所以我们从虚拟化到docker要解决的问题出发,看看他是怎么满足用户虚拟化需求的。

Daocker技术优势如下:

隔离性-每个用户实例之间相互隔离, 互不影响。 硬件虚拟化方法给出的方法是VM, LXC给出的方法是container,更细一点是kernel namespace。

可配额/可度量-每个用户实例可以按需提供其计算资源,所使用的资源可以被计量。硬件虚拟化方法因为虚拟了CPU, memory可以方便实现, LXC则主要是利用cgroups来控制资源

移动性-用户的实例可以很方便地复制、移动和重建。硬件虚拟化方法提供snapshot和image来实现,docker(主要)利用AUFS实现

安全性-这个话题比较大,这里强调是host主机的角度尽量保护container。硬件虚拟化的方法因为虚拟化的水平比较高,用户进程都是在KVM等虚拟机容器中翻译运行的, 然而对于LXC, 用户的进程是lxc-start进程的子进程, 只是在Kernel的namespace中隔离的, 因此需要一些kernel的patch来保证用户的运行环境不会受到来自host主机的恶意入侵, dotcloud(主要是)利用kernel grsec patch解决的。

5.4.基于H5、D3及angular的前端技术

  • HTML5

HTML5具有以下新特性:

语义特性:HTML5赋予网页更好的意义和结构。

本地存储特性:基于HTML5开发的网页APP拥有更短的启动时间,更快的联网速度,因为可以将一些常用、不常更新的内容存储在本地。

设备兼容特性 :HTML5提供了前所未有的数据与应用接入开放接口

连接特性:HTML5拥有更有效的服务器推送技术,Server-SentEvent和WebSockets就是其中的两个特性,这两个特性能够帮助实现服务器将数据“推送”到客户端的功能。更有效的连接工作效率,可以实现基于页面的实时聊天,更快速的网页游戏体验,更优化的在线交流。

网页多媒体特性:支持网页端的Audio、Video等多媒体功能。三维、图形及特效特性(Class: 3D, Graphics & Effects),基于SVG、Canvas、WebGL及CSS3的3D功能,视觉效果将大大增强,在线3D网游就是最典型的例子。

性能与集成特性:HTML5会通过XMLHttpRequest2等技术,帮助Web应用和网站在多样化的环境中更快速的工作。最直观的就是加载会更快。

CSS3特性:如果把网页比喻成舞台,文字图片视频这些比喻成演员,那么CSS3就是化妆师和舞美,它控制着网页所有元素的视觉和动作效果。相对于旧的CSS版本,HTML5所支持的CSS3中提供了更多的风格和更强的效果,也提供了更高的灵活性和控制性。

  • Angular.js的使用

AngularJS是一款优秀的前端JS框架,已经被用于Google的多款产品当中。AngularJS有着诸多特性,最为核心的是:MVC、模块化、自动化双向数据绑定、语义化标签、依赖注入等等。

良好的应用程序结构通过MVC(模型 - 视图 - 控制器)或MVVM (模型 - 视图 - 视图模型)模式来组织源代码。AngularJS 是一个 MVW 框架,其中W代表可以用于任何项目。你可以组织你的代码模块,它可显著提高应用程序的可测试性和可维护性。具有以下优点:

双向数据绑定:数据绑定肯定是AngularJS 最佳功能之一。你可以声明绑定的模型到HTML元素。当模型发生变化时,视图会自动更新,反之亦然。这可以减少大量的传统样板代码,保持模型和视图同步。

指令:AngularJS 指令让你使用HTML新语法快速的构建应用程序。您可以创建可重用的自定义组件与指令的API。例如,如果你想自定义日期选择器小部件,你可以创建一个组件。如果你想要一个奇特的文件上传与进度指示器可以继续创建一个组件。

  • D3.js 

D3是Data-Driven Documents(数据驱动文档)的简称。D3 (或D3.js) 是一个用来使用Web标准做数据可视化的JavaScript库。 D3帮助我们使用SVG, Canvas 和 HTML技术让数据生动有趣。 D3将强大的可视化,动态交互和数据驱动的DOM操作方法完美结合,让我们可以充分发挥现代浏览器的功能,自由的设计正确的可视化界面。

5.5.基于spring boot微服务架构体系

一套完整的微服务架构需要考虑许多问题,包括API Gateway、服务间调用、服务发现、服务容错、服务部署、数据调用等。基于SpringCloud构建微服务架构可以通过自动配置和绑定Spring环境和其他Spring编程模型来实现微服务。采用Spring Boot应用程序提供的集成功能,通过几个简单的注释,开发人员可以快速配置和启用应用程序中的常见功能模块,并使用久经考验的Netflix组件构建大型分布式系统。提供的微服务功能模块包括服务发现(Eureka),断路器(Hystrix),智能路由(Zuul)和客户端负载均衡(Ribbon)等。

Spring boot 多模块的架构模式。服务间通过restful接口进行数据访问。

5.6.Codis 内存数据库

内存数据库,是将数据放在内存中直接操作的数据库。相对于磁盘,内存的数据读写速度要高出几个数量级,将数据保存在内存中相比从磁盘上访问能够极大地提高应用的性能。内存数据库系统带来的优越性能不仅仅在于对内存读写比对磁盘读写快上,更重要的是,从根本上抛弃了磁盘数据管理的许多传统方式,基于全部数据都在内存中管理进行了新的体系结构的设计,并且在数据缓存、快速算法、并行操作方面也进行了相应的改进,从而使数据处理速度一般比传统数据库的数据处理速度快很多,一般都在10倍以上,理想情况甚至可以达到1000倍。

Codis 是一个分布式 Redis 解决方案, 对于上层的应用来说, 连接到 Codis Proxy 和连接原生的 Redis Server 没有显著区别, 上层应用可以像使用单机的 Redis 一样使用, Codis 底层会处理请求的转发, 不停机的数据迁移等工作, 所有后边的一切事情, 对于前面的客户端来说是透明的, 可以简单的认为后边连接的是一个内存无限大的 Redis 服务。

Redis获得动态扩容/缩容的能力,增减redis实例对client完全透明、不需要重启服务,不需要业务方担心 Redis 内存爆掉的问题. 也不用担心申请太大, 造成浪费. 业务方也不需要自己维护 Redis。

Codis支持水平扩容/缩容,扩容可以直接界面的 "Auto Rebalance" 按钮,缩容只需要将要下线的实例拥有的slot迁移到其它实例,然后在界面上删除下线的group即可。

5.7.kafka技术

Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。 对于像Hadoop的一样的日志数据和离线分析系统,但又要求实时处理的限制,这是一个可行的解决方案。Kafka的目的是通过Hadoop的并行加载机制来统一线上和离线的消息处理,也是为了通过集群来提供实时的消费。

本平台利用kafka技术作为数据输送的管道,把海量数据高效的输送到各类型数据库中。

5.8.Spark Streaming

Spark Streaming是一个准实时流处理框架,处理响应时间一般以分钟为单位,处理实时数据的延迟时间是秒级别的;Storm是一个实时流处理框架,处理响应是毫秒级的。SparkStreaming优点:

1、提供了丰富的API,企业中能快速实现各种复杂的业务逻辑。

2、流入Spark Streaming的数据流通过和机器学习算法结合,完成机器模拟和图计算。

3、Spark Streaming基于Spark优秀的血统。

本项目利用Spark流计算,接收kafka的数据,并按照协议解析数据,同时按照部门产品定制的需求对外提供订阅服务,产品层通过浏览器rest接口向kafka订阅topic发送订阅指令,spark streaming根据kafka订阅信息计算订阅结果,然后将结果存入到kafka结果topic中,然后websocket根据获取的订阅编号、IP端口、订阅结果与浏览器连接,向浏览器实时推送订阅的结果。

6.应用场景

6.1.日常数据统计

深度阐述数据建模及可视化系统技术方案_第9张图片

日常工作分析工作是指固定时间周期性重复进行的分析工作,可以对分析工作进行建模后,设置模型定期执行并结果推送至前台功能进行展示。

6.2.简单数据分析工作

深度阐述数据建模及可视化系统技术方案_第10张图片

简单数据分析工作是指分析工作的需求数据源明确,建模逻辑清晰,无需复杂算法就能实现的数据分析和统计工作。主要包括如下场景:

  • 领导临时交办的数据分析统计任务;
  • 某些专项活动中需要的数据分析统计任务;
  • 业务中出现的数据分析统计需求;
  • 工作中出现的数据分析统计需求。

6.3.复杂的业务专题研判

深度阐述数据建模及可视化系统技术方案_第11张图片

 复杂业务专题研判是指分析工作的数据来源多,相关工作业务复杂,需要根据业务特点选择相应的算法模型才能实现的数据挖掘和研判工作。针对这类复杂需求,需要先进行一下步骤:需求分析、业务梳理、数据准备、模型算法升级、生成结果,数据推送。

6.4.数据可视化设计及展示

深度阐述数据建模及可视化系统技术方案_第12张图片

 近百种组件特效任意组合即可制作酷炫灵动的大屏驾驶舱,用户可以根据工作需要,自己设计科技感十足的可视化报表,通过简单的图表组件拖拽和数据来源点选,就可以快速完成可视化报表的设计。

好用的数据建模工具

你可能感兴趣的:(大数据,数据分析,数据挖掘,算法,数据仓库)