[发明专利]分布式海量数据处理方法及装置有效
申请号: | 201810047558.3 | 申请日: | 2018-01-18 |
公开(公告)号: | CN108256076B | 公开(公告)日: | 2022-04-01 |
发明(设计)人: | 王锋;刘应波;邓辉 | 申请(专利权)人: | 广州大学;云南省科学技术情报研究院 |
主分类号: | G06F16/13 | 分类号: | G06F16/13;G06F16/172;G06F16/182 |
代理公司: | 北京和信华成知识产权代理事务所(普通合伙) 11390 | 代理人: | 胡剑辉 |
地址: | 510006 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分布式 海量 数据处理 方法 装置 | ||
1.一种分布式海量数据处理方法,其特征在于,包括:
客户端向元数据服务器发送索引请求;
客户端接收所述元数据服务器返回的可用服务器列表;可用服务器列表包括一个或多个第一数据索引服务器标识,所述第一数据索引服务器标识与所述第一数据索引服务器一一对应;
客户端对待索引的原始数据进行拆分,以获得拆分后的分块数据,并为所述分块数据分配数字编号;所述分块数据包括分块信息,所述分块信息包括所述分块数据所属的原始数据的文件名称、当前时间戳、数字编号和通用唯一识别码UUID;
客户端根据分布式一致性哈希算法,以所述分块数据的所述分块信息为键值,将所述分块数据的存储位置映射到可用服务器标识列表中,以获得与所述分块数据对应的第二数据索引服务器标识,其中,第一数据索引服务器标识包括第二数据索引服务器标识;
客户端将与第二数据索引服务器标识对应的所述分块数据发送给第二数据索引服务器,以使得所述第二数据索引服务器对所述分块数据进行存储;
客户端接收元数据服务器返回的索引完成信息,其中,所述索引完成信息包括索引存储目录,所述索引存储目录为所述第二数据索引服务器对所述分块数据进行存储后生成的用于查找所述分块数据的目录,所述索引存储目录由所述第二数据索引服务器发送给所述元数据服务器;所述第二数据索引服务器对接收到的所述分块数据进行存储,并向所述元数据服务器发送索引存储目录,具体包括:
获取所述分块数据的列集合{Col1,Col2,Col3,...,Coln},其中,Coli表示所述分块数据中存储的各条记录第i列的集合,i∈[1,n];
遍历每一列Coli以构建位图索引,构建位图索引具体包括:
获取Coli包括的所有子数据Dataori;
对子数据Dataori进行排序去重获得数据集Datanew;
构建二维表T2d,二维表的宽度为数据集Datanew中元素的总数,高度为子数据Dataori中元素的总数;
遍历T2d,判断T2d中的第u行和第v列的值是否相等,若相等,则把T2d中该位置赋值为1,否则赋值为0,以获得位图Tb;
利用压缩字对齐位图算法对Tb中的每一列进行压缩编码后存储至第二数据索引服务器的本地目录下,并向所述元数据服务器发送索引存储目录。
2.根据权利要求1所述的方法,其特征在于,客户端对待索引的原始数据进行拆分,以获得拆分后的分块数据,并为所述分块数据分配数字编号,具体包括:
根据表达式计算获得一个所述分块数据所包括的记录的数量;其中,每条记录由N个列组成,第j列数据类型的大小为sj,j∈[0,N-1],b表示分块数据的存储容量,m表示一个所述分块数据所能存储的记录的数量;
根据将原始数据拆分为k段,每段存储于一个分块数据上,并依次为每个分块数据分配数字编号,t为原始数据所包括的记录的数量。
3.根据权利要求1所述的方法,其特征在于,还包括:客户端向所述元数据服务器发送查询请求,以使得所述元数据服务器将查询请求发送给配置表中与所述索引存储目录相对应的第三数据索引服务器,所述查询请求包括查询语句和索引存储目录,所述配置表包括所述索引存储目录和对应的第三数据索引服务器;
客户端接收所述元数据服务器返回的查询结果,所述查询结果由所述第三数据索引服务器根据所述查询请求进行查找后获得。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州大学;云南省科学技术情报研究院,未经广州大学;云南省科学技术情报研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810047558.3/1.html,转载请声明来源钻瓜专利网。