[发明专利]一种面向异构数据库的海量组播数据入库实现方法有效

专利信息
申请号: 201310488096.6 申请日: 2013-10-17
公开(公告)号: CN103559217A 公开(公告)日: 2014-02-05
发明(设计)人: 刘平原;高世伟;吕江花;马世龙 申请(专利权)人: 北京航空航天大学
主分类号: G06F17/30 分类号: G06F17/30
代理公司: 北京永创新实专利事务所 11121 代理人: 祗志洁
地址: 100191*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 面向 数据库 海量 数据 入库 实现 方法
【说明书】:

技术领域

发明属于计算机数据采集领域,具体涉及一种面向异构数据库的海量组播数据入库实现方法。

背景技术

在大型系统多型号批量并行测试时,面临任务重、型号多和大量重复测试等情况,测试产生的海量测试数据需要实时地接收并保存到各型号的数据库中,这种海量数据的处理具有实时性强、数据量大、数据格式复杂和入库压力大的特点。

通常组播数据的入库按数据缓存方式的不同,有基于共享缓冲区和基于数据文件两种入库方式。基于共享缓冲区的入库,一般采用“生产者-消费者”模型或其变型,“生产者”将接收到的组播数据存入缓冲内存,“消费者”访问共享内存,取出数据解析后存入数据库。基于数据文件的入库,采用多线程异步操作的方式完成报文接收、解析和入库,接收线程监听网络端口,接收组播报文,按一定周期将报文写入缓存数据文件,生成原始数据文件;解析线程解析原始数据文件,生成入库准备文件;入库线程使用SQL*Loader技术将入库准备文件录入数据库。

在大型系统多型号批量并行测试中,数据库有多个且异构,在这种情况下以上两种入库方式各有不足:

第一种基于共享缓冲区的入库,存在的缺陷是:缓存大小不易确定,容易溢出,特别是在大数据量时,系统极不稳定,无法保证数据的完整性和安全性;共享缓冲区的读写是同步操作,效率低;数据入库效率不如采用SQL*Loader时效率高,在数据库是多个且异构的情况下,无法保证入库速率。

第二种基于数据文件的入库方式,虽然能保证数据的接收效率、稳定性和完整性,采用SQL*Loader技术录入数据,在入库效率也有所提升,但是在面对海量数据的解析和入库,特别是多个异构数据库的入库时,无法保证高效性。

发明内容

针对大型系统多型号批量并行测试时,产生的海量组播数据需要录入多个异构数据库的情况,本发明提出一种面向异构数据库的海量组播数据入库实现方法。通过两级缓存数据文件对组播数据进行存储和分类,通过多线程入库的方式保证每个型号的数据的解析和入库都有专属入库线程完成,在提高了数据处理效率的同时,解决了多个异构数据库入库的问题。

本发明提供的一种面向异构数据库的海量组播数据入库实现方法,包括以下步骤:

步骤一:启动组播报文接收线程,开始接收组播报文;

步骤二:对接收到的组播报文首先进行完整性判断,如果不完整,继续接收;如果完整,则对报文的类型进行检验,如果不是所需要的类型,丢弃该报文,继续接收新的组播报文;如果是所需的报文,将报文存入当前待写入的一级缓存数据文件中;当接收组播报文的时间达到接收周期或接收的组播报文数量达到指定数量时,记录已完成接收的一级数据文件数,关闭并重命名当前待写入的一级缓存数据文件,同时生成新的待写入的一级缓存数据文件;

步骤三:判断是否有需要解析的一级缓存数据文件,若有,读取待解析一级缓存数据文件中的组播报文,开始预解析;否则,继续等待;

预解析的方法是:解析组播报文报头中的信息来源字段,获取报文所属的型号,判断该型号对应的信息是否已在型号队列中,如果不在型号队列中,则获取该型号的信息并添加到型号队列中,并创建该型号对应的二级缓存数据文件存储目录及相关数据文件和控制文件,将组播报文写入二级缓存数据文件,同时调用线程池,启动该型号入库线程;如果在型号队列中,则直接将组播报文写入对应二级缓存数据文件中;

当一个一级缓存数据文件预解析完成后,记录已完成解析的一级缓存数据文件数,关闭并重命名当前所有待写入二级缓存数据文件,更新型号队列中各型号对应的已完成保存二级缓存数据文件数,同时生成新的待写入二级缓存数据文件,等待下一次预解析时存储数据;

步骤四:各型号入库线程判断对应型号的已完成保存二级缓存数据文件数是否大于已入库二级缓存数据文件数,如果否,说明没有新的需要入库的数据,继续等待;如果是,根据已入库二级缓存数据文件数获取下一个待入库二级缓存数据文件,解析该二级缓存数据文件,将解析后的数据保存至对应型号的入库准备数据文件中,解析完成后,调用数据加载工具SQL*Loader和入库控制文件将入库准备数据文件中的数据录入对应数据库,同时更新型号队列中对应的已入库二级缓存数据文件数。

所述的步骤二中,当前待写入的一级缓存数据文件唯一且具有固定文件名;处于已完成写入状态的一级缓存数据文件的命名与已完成接收的一级缓存数据文件数相关。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201310488096.6/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top