[发明专利]基于多线程的数据导入方法、系统及存储介质在审
申请号: | 202011355709.5 | 申请日: | 2020-11-27 |
公开(公告)号: | CN112445596A | 公开(公告)日: | 2021-03-05 |
发明(设计)人: | 陈伟城 | 申请(专利权)人: | 平安普惠企业管理有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F16/25 |
代理公司: | 北京鸿元知识产权代理有限公司 11327 | 代理人: | 王守梅;袁文婷 |
地址: | 518000 广东省深圳市前海深港合作区前*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 多线程 数据 导入 方法 系统 存储 介质 | ||
本发明涉及大数据处理技术,揭露了一种基于多线程的数据导入方法,方法包括设置队列缓存池和阻塞队列,实现数据的多线程数据导入;将整个过程拆分为多个独立的子功能,由各个子线程独立处理。本发明还涉及区块链技术,数据存储于区块链中,本发明实现了处理过程清晰化,从而达到了提高数据导入的效率的技术效果。
技术领域
本发明涉及大数据处理技术,尤其涉及一种基于多线程的数据导入方法、系统及存储介质。
背景技术
在大数据时代,需要导入的数据量越来越大。数据导入功能是应用系统里除手工输入的另一个数据输入的入口,针对的是大批量数据的输入到系统,比起手工输入效率有着很大的提升,减少人工机械性地重复输入。
现有技术中的数据导入流程为,先把全部文件中的消息数据一次性读取进系统内存中,然后循环进行每一行数据的转换,数据校验以及数据入库。
但是,如果需要导入的数据量过大,存在的弊端如下:
1)系统一次性读取消息数据导致内存溢出风险;
2)导入过程非常缓慢,如果需要导入的数据为数十万条,则导入时间需要40min以上,提升处理速度的。
所以,亟需一种可以提高导入效率的大量数据导入方法。
发明内容
本发明提供一种基于多线程的数据导入方法、系统及计算机可读存储介质,其主要解决大量数据导入数据库时,导入效率低下的问题。
为实现上述目的,本发明提供一种基于多线程的数据导入方法,应用于电子装置,所述方法包括:
通过读取主线程获取消息数据,并将所述消息数据放入队列缓存池中;
通过两个以上的读取子线程从所述队列缓存池中同时读取设定数量的所述消息数据;各读取子线程并行对本线程所读取的所述消息数据进行数据转化和数据校验;
各读取子线程将本线程内的校验合格的消息数据按照是否符合预先设定的校验条件分为处理成功数据和处理失败数据;将所述处理成功数据放入阻塞队列一,将所述处理失败数据放入阻塞队列二;其中,
当所述阻塞队列一的数据量达到所述阻塞队列一的消息数量阈值,则通过写入线程一读取所述阻塞队列一的所述处理成功数据,将所述处理成功数据导入数据库;同时,当所述阻塞队列二的数据量达到所述阻塞队列二的消息数量阈值,则通过写入线程二读取所述阻塞队列二的所述处理失败数据,将所述处理失败数据导入数据库中。
进一步,可选的,在所述通过读取主线程获取消息数据,并将所述消息数据放入队列缓存池中的步骤之后,还包括队列缓存池消息数量判定过程,所述队列缓存池消息数量判定过程包括:
判定所述队列缓存池的消息数量是否达到队列缓存池的消息数量阈值;
若是,则读取主线程停止读取文件,进入通过两个以上的读取子线程从所述队列缓存池中同时读取设定数量的消息数据步骤;
若否,则读取主线程继续获取消息数据,并将所获取的消息数据放入所述队列缓存池。
进一步,可选的,在所述读取主线程通过读取文件获取消息数据之前,还包括数据量判定过程;所述数据量判定过程包括:
若判定所述文件的消息数据总量小于所述队列缓存池的消息数量阈值,则所述读取主线程直接读取所述文件的全部消息数据,并对所读取的消息数据进行数据转化和数据校验;
将校验合格的消息数据导入数据库中。进一步,可选的,所述队列缓存池的消息数量阈值根据实际服务器内存和处理数据的速度进行设定。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于平安普惠企业管理有限公司,未经平安普惠企业管理有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011355709.5/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置