The invention discloses a device and method for data loading text table a memory database, the method includes: determining the load database of the target text, the target text table contains N text files, N is greater than or equal to the positive integer 1; create N first queue in memory, with the corresponding one-to-one mapping relationship between each of the first queue with each of the text file; for each of the text file read operation, the first queue each of the text file data read out into their respective; create M second queue in memory, M is greater than or equal to the positive integer 1; followed by N from the first queue read, and read out the N data and copy to each of the second cohort, among them, the M queue number second It can be read separately for each of their corresponding concurrent requirements.
【技术实现步骤摘要】
一种数据库文本表数据的加载方法及装置
本专利技术涉及数据库
,特别涉及一种数据库中文本表数据的加载方法及装置。
技术介绍
随着网络运维关联集中化程度的进一步提高,网管集成的应用功能不断增多,运维需要管理的数据量也迅速增大,对数据的多维度读取需求也不断出现。而现有的传统数据库在面对数量级较大的并发需求时,通常是依次对每个并发任务提供数据加载,由此会存在运行负荷较大,对百万级、千万级及更大数据级数据的并行处理能力不足的问题;或者通过内存为每个并发任务同时提供数据加载,但会存在因过度消耗系统内存及I/O资源而大幅度降低数据加载效率的问题。为此,目前亟需一种能够高效实现数据库数据的并行加载的技术方案。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种内存数据库中文本表的数据加载方法及装置,用以解决现有技术中内存数据库中重复加载同一文本表时I/O资源消耗过大的技术问题。本专利技术提供了一种数据库中文本表数据的加载方法,包括:确定数据库中待加载的目标文本表,所述目标文本表包含N个文本文件,N为大于或等于1的正整数;在内存中创建N个第一队列,每个所述第一队列与每个所述文本文件之间具有一一映射的对应关系;对每个所述文本文件分别进行读操作;将每个所述文本文件所读出的数据分别写入其各自对应的第一队列中;在内存中创建M个第二队列,M为大于或等于1的正整数;依次从N个所述第一队列中读取出数据,并将读取出的N个数据同时复制到每个所述第二队列中,其中,所述M个第二队列中的数据可被分别读取,用于各自对应的并发需求。上述方法,优选的,所述对每个所述文本文件分别进行读操作,具体包括: ...
【技术保护点】
一种数据库中文本表数据的加载方法,其特征在于,包括:确定数据库中待加载的目标文本表,所述目标文本表包含N个文本文件,N为大于或等于1的正整数;在内存中创建N个第一队列,每个所述第一队列与每个所述文本文件之间具有一一映射的对应关系;对每个所述文本文件分别进行读操作,以将每个所述文本文件所读出的数据分别写入其各自对应的第一队列中;在内存中创建M个第二队列,M为大于或等于1的正整数;依次从N个所述第一队列中读取出数据,并将读取出的N个数据同时复制到每个所述第二队列中,其中,所述M个第二队列中的数据可被分别读取,用于各自对应的并发需求。
【技术特征摘要】
1.一种数据库中文本表数据的加载方法,其特征在于,包括:确定数据库中待加载的目标文本表,所述目标文本表包含N个文本文件,N为大于或等于1的正整数;在内存中创建N个第一队列,每个所述第一队列与每个所述文本文件之间具有一一映射的对应关系;对每个所述文本文件分别进行读操作,以将每个所述文本文件所读出的数据分别写入其各自对应的第一队列中;在内存中创建M个第二队列,M为大于或等于1的正整数;依次从N个所述第一队列中读取出数据,并将读取出的N个数据同时复制到每个所述第二队列中,其中,所述M个第二队列中的数据可被分别读取,用于各自对应的并发需求。2.根据权利要求1所述的方法,其特征在于,所述对每个所述文本文件分别进行读操作,以将每个所述文本文件所读出的数据分别写入其各自对应的第一队列中,具体包括:从每个所述文本文件中逐行读取出字符串数据;对每个所述文本文件中读取出的字符串数据进行解析,得到内存数据;将每个所述文本文件所读出的内存数据分别写入其各自对应的第一队列中。3.根据权利要求1所述的方法,其特征在于,依次从每个所述第一队列中读取出数据,并将每次读取出的数据同时复制到每个所述第二队列中,包括:依次从N个所述第一队列中逐个逐行读取出数据;将每次读取到的数据均同时写入到M个所述第二队列中。4.根据权利要求1、2或3所述的方法,其特征在于,所述方法还包括:在读取到所述文本文件的末尾时,在该文本文件对应的第一队列中写入结束标志。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:在读取到每个所述第一队列的结束标志时,在每个所述第二队列中分别写入结束标志。6.一种数据库中文本表数据的加载装置,其特征在于,包括:目标文本表确定单...
【专利技术属性】
技术研发人员:张凤桥,高建军,
申请(专利权)人:亿阳信通股份有限公司,
类型:发明
国别省市:黑龙江,23
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。