[发明专利]一种数据绑定批量入库方法和装置有效
申请号: | 201210377418.5 | 申请日: | 2012-10-08 |
公开(公告)号: | CN102929951A | 公开(公告)日: | 2013-02-13 |
发明(设计)人: | 叶春生;车新奕;雷果;程涛木;冉梦旭;尹开中 | 申请(专利权)人: | 深圳市博瑞得科技有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 重庆市恒信知识产权代理有限公司 50102 | 代理人: | 刘小红 |
地址: | 518057 广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及数据库领域,具体是一种数据绑定批量入库方法和装置。实现本发明的方法包括如下步骤:通过配置文件选择入库方式;提供绑定接口绑定入库数据;调用数据插入接口将入库数据传递到底层,底层调用绑定接口绑定数据并入库。本灵活入库方法可保证入库数据不丢失,提升入库速度,提供各个绑定接口模板。 | ||
搜索关键词: | 一种 数据 绑定 批量 入库 方法 装置 | ||
【主权项】:
一种数据绑定批量入库方法,包括如下步骤:A、底层提供对外全局初始化函数,occi初始化函数、sqlloader初始化函数和宏定义接口模板;其中宏定义接口模板,包括对于occi入库的消息结构与表之间绑定操作函数模板和消息结构字段与SQL语句绑定函数模板,对于sqlloader入库的消息结构与表ctl文件之间的绑定函数模板和消息结构字段与写文件的绑定函数模板;B、上层在配置文件中配置入库方式,即occi或者sqlloader,只能选其一种入库方法;C、上层调用步骤A全局初始化函数,底层读取步骤B配置文件,若是occi入库,则建立入库主机到数据库主机的连接池;D、上层调用occi初始化函数或者sqlloader初始化函数;并在头文件中调用步骤A中的宏定义接口模板,建立消息结构与表的绑定函数,消息结构字段与SQL语句的绑定函数,消息结构与表ctl文件之间的绑定函数,消息结构字段与写文件的绑定函数;E、当底层收到步骤D的occi初始化函数或sqlloader初始化函数,读取步骤B配置文件,对于occi根据c++类模板,调用步骤D对应消息结构与表的绑定函数,使用绑定函数获取的表字段初始化入库SQL语句,然后初始化该表occi数据队列,开启取队列线程,提供对外该表的插入数据函数模板,生成该表occi入库实例,并将该对象插入occi全局管理实例中;对于sqlloader根据c++类模板,调用步骤D对应消息结构字段与写文件的绑定函数初始化写文件,调用步骤D消息结构与表ctl文件的绑定函数生成该表的ctl控制文件,提供该表写文件方式入队列函数模板,开启取队列线程,生成该表写文件实例,并将该对象插入写文件全局管理实例中;F、当有某张表数据需要入库时,上层调用步骤E中occi初始化时底层提供的对外该表的插入数据函数模板;G、底层根据c++类模板功能,调用步骤E中对应表的插入数据函数模板,首先根据occi全局管理实例判断该表是否使用occi入库,如果是则将数据入步骤E该表occi数据队列;如果不是则判断步骤B中配置文件是否支持sqlloader入库,如果支持则调用步骤E该表写文件方式入队列函数模板,将数据入写文件队列;H、底层各表的occi取队列线程各自取自己队列,若能从队列取得数据,则调用步骤D消息结构字段与SQL语句的绑定函数,将待入库数据同数据库表 字段一一对应绑定,判断是否待入库条数达到阀值,若达到则使用occi批量入库,当入库失败时,为了避免数据丢失,调用步骤E该表写文件方式入队列函数,将入库失败数据入写文件队列;I、底层各表的写文件取队列线程各自读自己队列,若能从队列取得数据,则调用步骤D消息结构字段与写文件的绑定函数,将待入库数据同数据库表字段一一对应绑定,判断是否待入库条数大小达到写文件缓存区大小,若达到则将缓存区中数据一并写入文件,若文件大小达到阀值,则文件生成完毕,将文件移动到待入库目录;切换文件,后续数据写入切换后的文件;J、外部shell脚本判断是否有待入库文件生成,若有则调用linux命令sqlldr,并使用步骤E对应表ctl控制文件将该文件入库。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市博瑞得科技有限公司,未经深圳市博瑞得科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201210377418.5/,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置