[发明专利]用于将大数据量的文本文件导入分布式数据库的方法及装置在审
申请号: | 202011481442.4 | 申请日: | 2020-12-15 |
公开(公告)号: | CN112597219A | 公开(公告)日: | 2021-04-02 |
发明(设计)人: | 朱晓真;邓昌胜;陈章立 | 申请(专利权)人: | 中国建设银行股份有限公司 |
主分类号: | G06F16/25 | 分类号: | G06F16/25;G06F9/50;G06F16/27 |
代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 郝红玉;郭晗 |
地址: | 100033 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 数据量 文本文件 导入 分布式 数据库 方法 装置 | ||
1.用于将大数据量的文本文件导入分布式数据库的方法,其特征在于具有下列步骤:
第一步:查询并获取文件导入参数配置;
第二步:将所述大数据量的文本文件以数据量平均的方式分成多个文件读取子区域;
第三步:以对应数量的线程拆分所有文件读取子区域,其中,每个文件读取子区域中的数据分别被拆分到同等数量的多个子文件中;
第四步:将拆分后得到的所有子文件分配给多个分布式AP;
第五步:使用多线程异步外呼发送文件导入请求至各分布式AP,并且各分布式AP分别以分配到的子文件个数发起对应数量的线程进行文件导入,其中,按照拆分后的子文件的编号并发导入到各分表中。
2.根据权利要求1所述的方法,其特征在于,在所述第一步中解析文本文件的名称并将文本文件的名称作为查询条件。
3.根据权利要求1或2所述的方法,其特征在于,如果文本文件不属于大数据量的文本文件,则应用传统的技术方案对文本文件进行处理。
4.根据权利要求3所述的方法,其特征在于,所述传统的技术方案包括下列步骤:
第一步:由service层建立数据库连接池;
第二步:将文本文件直接交给DB层处理并实现数据导入。
5.根据权利要求1所述的方法,其特征在于,在所述第二步中,向后检索数据换行符来对文件读取子区域的边界进行修正直至最后一个文件读取子区域。
6.根据权利要求5所述的方法,其特征在于,经修正的第一个文件读取子区域为其中,X是文件大小,Y是文件读取子区域的数量,Y为自然数且Y≤M×N,其中,M是分库数而N是分表数且均属于文件导入参数配置并且M和N均为自然数,K1是针对第一个文件读取子区域而言的由于出现换行符所引起的偏移位置,经修正的第m个文件读取子区域为其中,Km是针对第m个文件读取子区域而言的由于出现换行符所引起的偏移位置,m∈[2,3,……,Y]。
7.根据权利要求6所述的方法,其特征在于,在所述第三步中,获取合适的业务字段,拆分每个文件读取子区域中的数据并按照hash(Key)%(M×N)分别来确定拆分出的数据属于哪个子文件,其中,Key是业务字段值,M是分库数而N是分表数并且M和N均属于文件导入参数配置且均为自然数,并且其中,拆分出的子文件表示为“文件名_m_hash(Key)%(M×N)”。
8.根据权利要求7所述的方法,其特征在于,所述业务字段为主键。
9.根据权利要求8所述的方法,其特征在于,所述主键为用户ID。
10.根据权利要求7所述的方法,其特征在于,hash(Key)可以采用直接寻址法、数字分析法、平方取中法、折叠法、随机数法或除留余数法。
11.根据权利要求7所述的方法,其特征在于,在拆分每一个文件读取子区域中的数据时根据文件接口规范计算出其中每一条数据的长度L,其起始位置为B,基于区域(B,B+L)算出下个换行符出现的位置并作为这条数据的结束位,随后继续轮询拆分直至最后一条数据。
12.根据权利要求7所述的方法,其特征在于,每个子文件中的数据的数量是平均的。
13.根据权利要求1所述的方法,其特征在于,在所述第四步中执行如下分配算法:假设子文件总数为T,AP个数为P,每个AP所分配的文件个数N=[T-(T%P)]/P,其中,T和P为自然数且T≥P。
14.根据权利要求1所述的方法,其特征在于,所述方法总体上呈树状结构。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国建设银行股份有限公司,未经中国建设银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011481442.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种肠造口保护装置
- 下一篇:一种嵌入式系统的参数存储机制