一种面向分布式数据仓库的加载客户端实现方法技术

技术编号:14760404 阅读:74 留言:0更新日期:2017-03-03 10:43
本发明专利技术公开了一种面向分布式数据仓库的高效加载客户端实现方法,属于信息处理领域;具体为:首先,初始化系统启动参数;加载器管理模块为每个线程各申请一个加载器;每个线程各创建一个数据解析模块,对客户端数据进行解析并传输给加载器;每个加载器分别调用数据校验模块进行检验;然后,将检验后的字段数据缓存到数据缓存模块,进行管理并传输给数据传输模块;通过分布式节点监听模块获取每个分布式数据仓库的监听状态,并发送给数据传输模块;最后,数据传输模块将收到的缓存数据发送给健康的分布式数据仓库。本发明专利技术提升了整个分布式数据仓库的使用效率和数据加载效率,符合目前的应用需求,具有广阔的应用前景。

【技术实现步骤摘要】

本专利技术属于信息处理领域,具体是一种面向分布式数据仓库的高效加载客户端实现方法。
技术介绍
随着计算机技术的不断发展和信息化程度的不断提高,人们对分布式存储的使用越来越多;与目前常见的集中式存储技术不同,分布式存储技术并不是将数据存储在某个或多个特定的节点上,而是通过网络使用企业中的每台机器上的磁盘空间,并将分散的存储资源构成一个虚拟的存储设备,数据分散的存储在企业的各个角落。数据在分布式环境下的加载效率,在很大程度上影响着整个集群的效率;为了提高数据加载效率,优化整个集群使用,且降低成本,迫切需要更好的,更快捷的加载方式。随着信息化水平的不断提高,信息数据量越来越大,由于信息数据加载过慢而引起的重视和关注越来越多,人们迫切的需要快速得到某些数据集的结果,因此能够快速的把需要用到的数据导入分布式数据仓库成为目前急需的方法。但是目前海量的数据导入时间阻挡了高速信息时代发展的步伐。
技术实现思路
本专利技术针对现有分布式数据仓库加载效率慢的问题,提供了一种面向分布式数据仓库的高效加载客户端实现方法,不但能解决多数据表同时加载,多数据仓库节点负载均衡,而且能够在使用少量内存的情况下发挥最高的加载速率,有效降低了加载时间,促进大数据体系发展的不断完善。具体步骤如下:步骤一、对某个含有1个客户端和N个服务端的系统,初始化系统启动参数;系统启动参数包括:同时运行加载器的数量,指定被加载数据的位置,数据仓库节点列表和服务端指定数据加载的N个具体表名。步骤二、加载器管理模块根据主线程创建加载器并初始化,每个线程各申请一个加载器;创建加载器的数量为初始化参数中需要同时运行加载器的数量。步骤三、每个线程各创建一个数据解析模块,对被加载的客户端数据进行解析,按行切分为字段数据,传输给该线程申请的加载器;具体步骤如下:步骤301、根据被加载数据的指定位置,将客户端的数据加载到数据文件目录r中;步骤302、数据解析模块读取客户端被加载的数据文件目录r;步骤303、从当前目录r中依次获取当前文件f的行数据;步骤304、按指定分隔符将当前行数据d切分为字段v;并将字段v传输给该线程中的加载器;步骤305、重复读取当前文件f的下一行数据,直至将当前文件f的所有数据都传输给加载器;步骤306、重复读取目录r中的下一个文件,返回步骤303,直至该目录r中所有文件读取完成。步骤四、每个加载器收到字段数据后,分别调用数据校验模块进行检验;数据校验模块根据初始化时的N个指定表名,向分布的各数据仓库节点申请每个指定表的结构信息,等待用以校验加载数据的格式是否正确。具体步骤为:步骤401:数据校验模块根据服务端的N个指定表名创建N个类型校验器;步骤402:将每个加载器的字段数据,按服务端预定的N个指定表名分别进入N个类型校验器;步骤403:分别判断每个字段数据的类型校验是否成功,如果成功,说明该字段数据符合服务端预定的指定表类型,则进入步骤404,否则返回调用者错误信息,结束。步骤404:根据服务端N个指定表名,对字段数据进行格式化补全,并转化格式类型;步骤五、每个加载器将检验后的字段数据,缓存到数据缓存模块进行管理并传输给数据传输模块;首先,数据缓存模块根据分布式数据仓库数量和缓存数量建立内存矩阵;每个内存矩阵分别对应一个分布式数据仓库,预申请的内存长度保存在内存矩阵中。然后,加载器根据指定表名,将检验后的字段数据放入到对应的内存矩阵中,并标记缓存数量;最后,判断各内存矩阵的缓存数量是否达到上限,如果是,将检验后的字段数据进行序列化,并传输给数据传输模块,否则,继续将检验后的字段数据放入到对应的内存矩阵中;步骤六、分布式节点监听模块获取每个分布式数据仓库的监听状态,并发送给数据传输模块等待查阅;分布式节点监听模块启动监听服务器,并等待分布式数据仓库的连接;当某分布式数据仓库启动后,向监听服务器进行注册,监听服务器获取该分布式数据仓库的状态信息,从而分布式节点监听模块获取所有N个分布式数据仓库的健康状态,并保存在内存中,等待数据传输模块查阅;步骤七、数据传输模块收到缓存数据后,查阅健康的分布式数据仓库并发送数据,实现负载均衡和链路冗余的功能。数据传输模块根据收到的缓存数据,按预定发送地址发送数据给分布式数据仓库;并判断是否发送成功,如果发送成功,记录发送日志后,执行结束。否则,向分布式节点监听模块重新申请健康的分布式数据仓库节点重新发送。发送地址是在缓存数据的多个字段中,根据表结构指定某一个字段用来计算分区值,根据分区值的不同选择不同的分布式数据仓库,从而预定该分布式数据仓库的发送地址。本专利技术的优点在于:1)、一种面向分布式数据仓库的高效加载客户端实现方法,提升了整个分布式数据仓库的使用效率和数据加载效率,符合目前的应用需求,具有广阔的应用前景。2)、一种面向分布式数据仓库的高效加载客户端实现方法,对加载过程中的数据进行进一步的类型验证,并且根据数据长度进行内存使用的调整,从而减少内存的使用,提高加载效率。3)、一种面向分布式数据仓库的高效加载客户端实现方法,可以快速的将指定的数据文件按照分布式数据仓库的特点进行分散式数据传输,可以支持多线程、多任务、多数据表、多节点的分布式快速加载。4)、一种面向分布式数据仓库的高效加载客户端实现方法,可以支持多节点之间的负载均衡、链路冗余,有效解决了加载过程中可能出现的连接崩溃问题。5)、一种面向分布式数据仓库的高效加载客户端实现方法,对数据内容的缓存管理,用于降低数据序列化的压力,以及减少频繁的数据发送请求,使整个发送环节和内存的整体占用情况处于可调控状态。6)、一种面向分布式数据仓库的高效加载客户端实现方法,可以实时监听分布式节点的健康情况,根据节点的不同状态控制数据传输模块将数据发送到健康的节点。附图说明图1为本专利技术面向分布式数据仓库的数据加载流程及数据结构示意图;图2为本专利技术一种面向分布式数据仓库的高效加载客户端实现方法流程图;图3为本专利技术数据解析模块解析的方法流程图;图4为本专利技术数据校验模块校验的方法流程图;图5为本专利技术加载器管理模块的流程图;图6为本专利技术数据缓存模块缓存的方法图;图7为本专利技术分布式节点监听模块的原理图;图8为本专利技术数据传输模块的原理图。具体实施方式下面将结合附图对本专利技术作进一步的详细说明。本专利技术涉及一种多任务、多数据表、多数据仓库节点并在占用最小内存的情况下,达到最高加载速率的分布式快速加载方法,面向分布式数据仓库加载过程的数据结构示意图,如图1所示,从图中可以看出,整个数据加载过程中的数据处理流程,包括字段结构和数据包结构。其中在字段结构中存放了字段内容属性、总数据量长度和内存描述,内存的使用根据字段类型的变化而改变,从而减少内存使用并提高拷贝效率;给出了支持多线程多表加载的组织结构,由数据解析模块将需要加载的数据进行解析后,整理为有效的结构字段,通过加载器发往下个模块,完成数据梳理业务保证后面处理流程的顺畅。对加载器的管理,通过创建不同的加载器,可以支持多个线程操作,实现对多个数据表同时进行加载操作。数据由数据校验模块校验后提交到数据缓存模块中,当数据达到一定阀值会进入序列化流程,数据被序列化之后作为数据包提交给数据传输模块;数据包包括:目标IP,端口,SN标示符和消息类本文档来自技高网...
一种<a href="http://www.xjishu.com/zhuanli/55/201610849787.html" title="一种面向分布式数据仓库的加载客户端实现方法原文来自X技术">面向分布式数据仓库的加载客户端实现方法</a>

【技术保护点】
一种面向分布式数据仓库的高效加载客户端实现方法,其特征在于:具体步骤如下:步骤一、对某个含有1个客户端和N个服务端的系统,初始化系统启动参数;系统启动参数包括:同时运行加载器的数量,指定被加载数据的位置,数据仓库节点列表和服务端指定数据加载的N个具体表名;步骤二、加载器管理模块根据主线程创建加载器并初始化,每个线程各申请一个加载器;步骤三、每个线程各创建一个数据解析模块,对被加载的客户端数据进行解析,按行切分为字段数据,传输给该线程申请的加载器;步骤四、每个加载器收到字段数据后,分别调用数据校验模块进行检验;数据校验模块根据初始化时的N个指定表名,向分布的各数据仓库节点申请每个指定表的结构信息,等待用以校验加载数据的格式是否正确;步骤五、每个加载器将检验后的字段数据,缓存到数据缓存模块进行管理并传输给数据传输模块;步骤六、分布式节点监听模块获取每个分布式数据仓库的监听状态,并发送给数据传输模块等待查阅;步骤七、数据传输模块收到缓存数据后,查阅健康的分布式数据仓库并发送数据,实现负载均衡和链路冗余的功能。

【技术特征摘要】
1.一种面向分布式数据仓库的高效加载客户端实现方法,其特征在于:具体步骤如下:步骤一、对某个含有1个客户端和N个服务端的系统,初始化系统启动参数;系统启动参数包括:同时运行加载器的数量,指定被加载数据的位置,数据仓库节点列表和服务端指定数据加载的N个具体表名;步骤二、加载器管理模块根据主线程创建加载器并初始化,每个线程各申请一个加载器;步骤三、每个线程各创建一个数据解析模块,对被加载的客户端数据进行解析,按行切分为字段数据,传输给该线程申请的加载器;步骤四、每个加载器收到字段数据后,分别调用数据校验模块进行检验;数据校验模块根据初始化时的N个指定表名,向分布的各数据仓库节点申请每个指定表的结构信息,等待用以校验加载数据的格式是否正确;步骤五、每个加载器将检验后的字段数据,缓存到数据缓存模块进行管理并传输给数据传输模块;步骤六、分布式节点监听模块获取每个分布式数据仓库的监听状态,并发送给数据传输模块等待查阅;步骤七、数据传输模块收到缓存数据后,查阅健康的分布式数据仓库并发送数据,实现负载均衡和链路冗余的功能。2.如权利要求1所述的一种面向分布式数据仓库的高效加载客户端实现方法,其特征在于:所述步骤二中创建加载器的数量为初始化参数中需要同时运行加载器的数量。3.如权利要求1所述的一种面向分布式数据仓库的高效加载客户端实现方法,其特征在于:所述步骤三具体为:步骤301、根据被加载数据的指定位置,将客户端的数据加载到数据文件目录r中;步骤302、数据解析模块读取客户端被加载的数据文件目录r;步骤303、从当前目录r中依次获取当前文件f的行数据;步骤304、按指定分隔符将当前行数据d切分为字段v;并将字段v传输给该线程中的加载器;步骤305、重复读取当前文件f的下一行数据,直至将当前文件f的所有数据都传输给加载器;步骤306、重复读取目录r中的下一个文件,返回步骤303,直至该目录r中所有文件读取完...

【专利技术属性】
技术研发人员:王宇徐晓燕周渊刘利宏刘庆良郑彩娟黄成王振宇李斌斌周游
申请(专利权)人:北京赛思信安技术股份有限公司国家计算机网络与信息安全管理中心
类型:发明
国别省市:北京;11

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

1