一种基于分布式系统的数据处理优化装置及方法制造方法及图纸

技术编号:18256518 阅读:24 留言:0更新日期:2018-06-20 08:17
本发明专利技术公开一种基于分布式系统的数据处理优化装置,包括分布式缓存集群、计算集群及本地缓存总控管理,分布式缓存集群进行全量信息存储并与计算集群分离;计算集群包括两个及以上计算节点,每一计算节点包括本地缓存、缓存代理及计算单元;所述本地缓存封装API操作并内嵌有容量扩展与限额管理功能,按业务要求分解成多个内存分片并实现对每个内存分片容量的动态扩展与限额管理,以jar包形式提供给计算单元使用;缓存代理模块对应服务器上的本地缓存各内存分片的监控工作以及缓存数据的在线同步功能;本地缓存总控管理统一管理各服务器节点的缓存大力。分布式集群缓存与本地缓存的融合,使海量数据的关联匹配、数据过滤等操作的微秒级处理成为可能。

A data processing optimization device and method based on distributed system

This invention discloses a data processing optimization device based on distributed system, including distributed cache cluster, computing cluster and local caching total control management. Distributed cache cluster performs full information storage and separations from computing clusters; a computing cluster consists of two and more computing nodes, each of which includes local slow down. The storage, caching agent and computing unit; the local cache encapsulates the API operation and is embedded with capacity expansion and quota management functions, decomposed into multiple memory segments according to business requirements and implementing dynamic extension and quota management for each memory chip capacity, used in the form of jar packages; caching proxy module correspondence Local caching on the server of each memory chip monitoring work and cached data online synchronization function; local caching management unified management of each server node cache energetically. The integration of distributed cluster cache and local cache makes it possible to handle microsecond processing of massive data association matching and data filtering.

【技术实现步骤摘要】
一种基于分布式系统的数据处理优化装置及方法
本专利技术涉及计算机信息技术的大数据数据处理领域,尤其涉及一种基于分布式系统的数据处理优化装置及方法。
技术介绍
随着互联网时代的高速发展,人们的生活发生了巨大的变化。人们会利用互联网进行工作、学习和生活,数据的产生速度及共享速度也成指数增长,从而导致数据量的剧增。但由于数据的来源及类型变得复杂多样性,数据量非常庞大,与传统的数据处理方式有很大的区别。在传统数据处理方式中,数据存储、处理及分析的数据量相对较少,可以采用关系型数据库高效进行数据处理,但在海量数据处理需求,传统技术已不能满足现在数据处理的需求,因此业界普遍利用分布式技术(如hadoop、storm、spark等)对海量数据再深度分析挖掘之前进行数据预处理,也称为数据准备工作。数据准备工作在处理数据通常有如下一些特点:(1)源数据量大,主要是一些信令(传感器信令、网元信令等)或者日志(电商访问记录、消费记录等)信息;(2)计算集群数据吞吐量大,通常要求平均每条纪录预处理时长要达到几十微秒(每台服务器每秒50m以上的数据吞吐能力);(3)在流技术处理中,数据处理、数据分析全过程实效性要求高,以便做出实时响应,一般是秒级甚至毫秒级延迟。这些主要应用于对数据实效性敏感的应用领域,比如实时营销、行情分析、位置跟踪等;(4)数据类型多、信息不完整,需要进行关联补全、数据格式标准化等预处理工作。同一个分析主体(用户、用户群体等)的数据会时序的产生,关联的缓存要多次使用;(5)部分应用需要对数据进行过滤,得到满足分析主体的数据。分析主体的信息有百、千万级别量级,需要专门的缓存来存储;(6)缓存数据主要是一些维表与分析主体的信息,这些信息相对稳定,不需要实时更新,其生命周期通常是天或者小时。以上所述特点势必在海量数据的数据准备过程中涉及到计算框架与缓存技术的结合以完成信息补全,转义等工作,通常采用如下几种方案应对解决:方案一:计算单元直接加载缓存,如图1所示。在分布式数据处理的计算框架中,这些计算单元是一个个worker或者container。在批处理时,这些计算单元在处理每个批次的数据时都要重新加载缓存信息,并且计算单元之间这些缓存信息无法共享。在流处理时,虽然只要加载一次缓存信息,但是计算单元之间仍然不能共享缓存。这种方案主要适用于小缓存的场景,否则会造成计算资源与内存资源的浪费。方案二:分布式缓存与计算框架融合部署,如图2所示。引入分布式缓存(如Redis、Memcached等),可以解决缓存容量限制的问题。但是分布式缓存框架除了占用一定的内存资源外,还会消耗计算资源,形成与计算框架的资源竞争,严重时影响预处理的性能。同时,该方案的部分缓存仍然需要跨节点访问,也存在方案三中跨节点时性能问题。采用一些商用的分布式缓存(如Coherence),缓存信息自动迁移到计算节点本机上或者临近的节点上,可以一定程度上缓解跨节点访问的性能问题,但是资源竞争的问题仍然存在。所以该方案主要适用于处理数据与缓存数据能够在同一个节点上,也就是说需要对处理数据能进行取模或者按业务区隔的场景。方案三:分布式缓存与计算框架独立部署,如图3所示。可以解决缓存容量限制、资源竞争的问题。当数据吞吐量要求不大的情况下,这也是一种适用度较好的方式。但是数据吞吐量比较大时,在现有的硬件条件下,单次查询都是毫秒级,这样的处理速度难以满足数据处理吞吐量(每秒几十兆)的要求。若采用多线程的并发查询,可以减少平均单次查询的访问时间,但整体cpu负载较大。同时,分布式缓存(以Redis为例)采用的是“单线程-多路复用io模型”,当访问出现热点数据时,容易出现“排队现象”,导致查询性能骤降,并且易出现对应逻辑cpu核心使用负载100%,而其他却比较空闲的情况。
技术实现思路
本专利技术的目的在于,提出一种吞吐量高,实时性好的基于分布式系统的数据处理优化装置,解决现有内存浪费大的问题。为了实现上述目的,本专利技术所采用的技术方案为:一种基于分布式系统的数据处理优化装置,包括分布式缓存集群、计算集群及本地缓存总控管理,分布式缓存集群包括两个及以上缓存节点,进行全量的信息存储并与计算集群分离;计算集群包括两个及以上计算节点,每一计算节点包括本地缓存、缓存代理及计算单元;所述本地缓存封装API操作并内嵌有容量扩展与限额管理功能,按业务要求分解成多个内存分片并实现对每个内存分片容量的动态扩展与限额管理,以jar包形式提供给计算单元使用;缓存代理模块对应服务器上的本地缓存各内存分片的监控工作以及缓存数据的在线同步功能;所述本地缓存总控管理统一管理各服务器节点的缓存大力,统一对外提供服务操作与内存监控的接口,实现本地缓存的生命周期管理。其中,所述分布式缓存集群由Redis或Memcached搭建,可线性扩展。其中,所述本地缓存为kv数据结构的Java堆外内存,支持跨jvm访问。其中,所述API操作包括查询、创建缓存、增删改缓存。其中,所述监控工作包括清理、删除工作。其中,所述本地缓存的生命周期管理包括如下步骤:S01:由外部应用程序周期性的处理分布式缓存集群中的缓存信息;S02:处理完后通知本地缓存总控管理,本地缓存总控管理将分布式缓存集群中完成处理的缓存信息对应成为本地缓存中相应的内存分片名称;S03:本地缓存总控管理通知各计算节点上缓存代理进行同样的处理操作;S04:缓存代理完成相应本地缓存中内存分片清理、删除或缓存数据的在线同步,将完成的信息反馈给本地缓存总控管理;S05:本地缓存总控管理记录处理后的状态,若有异常产生告警日志。其中,所述处理包括更新、状态监控。本专利技术还公开一种基于分布式系统的数据处理优化方法,包括如下步骤:S100:并行读取原始数据,所述原始数据包括数据流或数据文件;S200:计算单元依据数据识别码,调用本地缓存提供的API查询本地缓存相应内存分片中是否存在对应所述数据识别码的数据;S300:在本地缓存中存在与所述数据识别码相匹配的配对码时,则将对应所述数据识别码的数据补全到原始数据中,完成数据预处理;S400:在本地缓存中没有配对码时,则从分布式缓存集群中获取数据识别码相匹配的配对码;S500:判断是否成功将所述配对码写入本地缓存对应的内存分片;若是,则执行步骤S300;若否,则执行步骤S600;S600:判断本地缓存的内存分片空间是否达到预设阈值;S700:若是,则按照预设的参数清理内存分片中旧缓存信息,并重新将配对码写入本地缓存;S800:若否,则按照预设的参数扩展内存分片大小,重新执行步骤S500。其中,所述数据包括用户手机的位置信令、网站访问日志、消费记录。其中,所述数据识别码为国际移动用户识别码。本专利技术的有益效果为:所述装置建立成熟的分布式集群缓存与本地缓存相结合的体系,分布式集群缓存存储全量缓存信息,存储空间可线性扩展并且缓存节点采用凉凉湖北的方式,保障集群的高可用的同时兼顾并发能力提升。本地缓存存储本机计算数据需要的有效缓存信息,使得每条数据关联补全等预处理操作的平均性能达到几十微秒级,同时解决了本地缓存跨JVM共享、缓存容量限制、计算资源竞争、网络延时等问题,为后续实时分析、数据挖掘等环节提供高吞吐、高实时性的数据准备。分布式集群缓存本文档来自技高网
...
一种基于分布式系统的数据处理优化装置及方法

【技术保护点】
1.一种基于分布式系统的数据处理优化装置,其特征在于:包括分布式缓存集群、计算集群及本地缓存总控管理,分布式缓存集群包括两个及以上缓存节点,进行全量的信息存储并与计算集群分离;计算集群包括两个及以上计算节点,每一计算节点包括本地缓存、缓存代理及计算单元;所述本地缓存封装API操作并内嵌有容量扩展与限额管理功能,按业务要求分解成多个内存分片并实现对每个内存分片容量的动态扩展与限额管理,以jar包形式提供给计算单元使用;缓存代理模块对应服务器上的本地缓存各内存分片的监控工作以及缓存数据的在线同步功能;所述本地缓存总控管理统一管理各服务器节点的缓存大力,统一对外提供服务操作与内存监控的接口,实现本地缓存的生命周期管理。

【技术特征摘要】
1.一种基于分布式系统的数据处理优化装置,其特征在于:包括分布式缓存集群、计算集群及本地缓存总控管理,分布式缓存集群包括两个及以上缓存节点,进行全量的信息存储并与计算集群分离;计算集群包括两个及以上计算节点,每一计算节点包括本地缓存、缓存代理及计算单元;所述本地缓存封装API操作并内嵌有容量扩展与限额管理功能,按业务要求分解成多个内存分片并实现对每个内存分片容量的动态扩展与限额管理,以jar包形式提供给计算单元使用;缓存代理模块对应服务器上的本地缓存各内存分片的监控工作以及缓存数据的在线同步功能;所述本地缓存总控管理统一管理各服务器节点的缓存大力,统一对外提供服务操作与内存监控的接口,实现本地缓存的生命周期管理。2.根据权利要求1所述的一种基于分布式系统的数据处理优化装置,其特征在于:所述分布式缓存集群由Redis或Memcached搭建,可线性扩展。3.根据权利要求1所述的一种基于分布式系统的数据处理优化装置,其特征在于:所述本地缓存为kV数据结构的Java堆外内存,支持跨jvm访问。4.根据权利要求1所述的一种基于分布式系统的数据处理优化装置,其特征在于:所述API操作包括查询、创建缓存、增删改缓存。5.根据权利要求1所述的一种基于分布式系统的数据处理优化装置,其特征在于:所述监控工作包括清理、删除工作。6.根据权利要求1所述的一种基于分布式系统的数据处理优化装置,其特征在于:所述本地缓存的生命周期管理包括如下步骤:S01:由外部应用程序周期性的处理分布式缓存集群中的缓存信息;S02:处理完后通知本地缓存总控管理,本地缓存总控管理将分布式缓存集群中完成处理的缓存信息对应成为本...

【专利技术属性】
技术研发人员:黄晓伟肖万明余涵叶承坤高建国
申请(专利权)人:福建新大陆软件工程有限公司
类型:发明
国别省市:福建,35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1