[发明专利]一种针对Excel文件的增量数据的ETL实现方法有效
申请号: | 200910229625.4 | 申请日: | 2009-10-28 |
公开(公告)号: | CN101697126A | 公开(公告)日: | 2010-04-21 |
发明(设计)人: | 扶文海;舒琦;陈俊 | 申请(专利权)人: | 山东中创软件商用中间件股份有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44 |
代理公司: | 济南舜源专利事务所有限公司 37205 | 代理人: | 苗峻 |
地址: | 250014 山*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 针对 excel 文件 增量 数据 etl 实现 方法 | ||
1.一种针对Excel文件的增量数据的ETL实现方法,其特征在于: 获取并解析source端和sink端的配置信息,并行启动多个线程分别 用于读取source端excel文件内容并进行封装、发送封装后的 DataObject对象和sink端接收获得的DataObject对象进行处理,并 最后写入excel文件;获取并解析source端和sink端的配置信息的 步骤为:获取及解析source端的xbean.xml文件,并解析出对应的配 置信息;获取sink端的xbean.xml文件,并解析出对应的配置信息; 按照下列步骤来获取source端xbean.xml文件:
解析source端xbean.xml文件,获取Source端配置信息;
通过解析xbean.xml文件,获得配置信息中的runMode项内容来 确定抽取模式是实时或定时或触发;
根据xbean.xml中的remoteFile项配置信息,判断是进行远程还 是本地的Excel文件数据抽取,如果是远程文件,则使用远程方法创 建基础目录的FileObject对象,如果是本地文件,则使用本地方法创 建基础目录的FileObject对象;
根据获得的配置内容,取出跟抽取动作有关的信息,生成抽取规 则,开始按抽取规则对FileObject对象下面的Excel文件进行抽取。
2.根据权利要求1所述的针对Excel文件的增量数据的ETL实现 方法,其特征在于:按照下列步骤进行并行启动多个线程分别用于读 取source端excel文件内容、发送封装后的DataObject对象和sink 端接收获得的DataObject对象进行处理,并最后写入excel文件的操 作:
启动source端读取线程,循环读取基础目录FileObject对象下 面符合抽取规则的Excel文件,并将内容封装成若干个DataObject对 象送入发送队列中;
启动发送线程,循环读取发送队列中的DataObject对象,并发送 到InforSib总线容器;
启动sink端处理线程,监听InforSib总线;当DataObject对象 从InforSib总线到达sink端时,处理线程将调用process方法来接 收DataObject对象并准备处理。
3.根据权利要求2所述的针对Excel文件的增量数据的ETL实现 方法,其特征在于:Source端按照如下步骤进行读取excel文件内容 操作:
启动读取线程,循环读取基础目录FileObject对象下面符合抽取 规则的Excel文件,并将文件的数据写入内存;
按照抽取规则,将内存中的Excel内容写入Document对象中;
将生成的Document对象按照抽取规则中设置的包数目大小和包 字节大小封装成DataObject对象,并放入发送线程的发送队列中。
4.根据权利要求1所述的针对Excel文件的增量数据的ETL实现 方法,其特征在于:按照如下步骤获得sink端配置信息:
解析Sink端配置信息文件xbean.xml文件,获取excel目的端文 件路径,解析xbean.xml文件中的内容,获取sink端所使用的excel 文件路径、excel sheet信息;
根据解析xbean.xml文件得到的excel文件路径,判断该路径是 否为本地路径还是为远程路径;
如果获取的excel路径为远程路径,则判断该远程的excel文件 是否已经存在或不存在,如果不存在则创建该文件;
如果获取的excel路径为本地路径,则判断该本地excel文件是 否已经存在或不存在,如果不存在则创建该文件;
自动载入已经存在或者创建的excel文件到内存当中。
5.根据权利要求2所述的针对Excel文件的增量数据的ETL实现 方法,其特征在于:Sink端按照如下步骤进行接收和处理操作:
sink端启动处理线程,监听InforSib总线;当DataObject对 象从InforSib总线到达sink端时,处理线程将调用process方法来 接收DataObject对象并准备处理;
sink端处理线程,接收到DataObject对象后,将从DataObject 对象解析出excel结构,excel数据,excel数据格式信息;
sink端处理线程,按照从xbean.xml文件中获得的excel文件, 将从DataObject对象中解析出的excel数据,按照追加方式把excel 数据保存到excel文件中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东中创软件商用中间件股份有限公司,未经山东中创软件商用中间件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910229625.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:钢绞线连接器
- 下一篇:一种具有加强结构的全焊接板束