[发明专利]一种数据绑定批量入库方法和装置有效
申请号: | 201210377418.5 | 申请日: | 2012-10-08 |
公开(公告)号: | CN102929951A | 公开(公告)日: | 2013-02-13 |
发明(设计)人: | 叶春生;车新奕;雷果;程涛木;冉梦旭;尹开中 | 申请(专利权)人: | 深圳市博瑞得科技有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 重庆市恒信知识产权代理有限公司 50102 | 代理人: | 刘小红 |
地址: | 518057 广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据 绑定 批量 入库 方法 装置 | ||
1.一种数据绑定批量入库方法,包括如下步骤:
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控制文件将该文件入库。
2.一种数据绑定批量入库装置,其特征在于包括:
A、用于底层提供对外全局初始化函数的装置,包括occi初始化函数模块、sqlloader初始化函数模块和宏定义接口模板;其中宏定义接口模板,包括对于occi入库的消息结构与表之间绑定操作函数模板和消息结构字段与SQL语句绑定函数模板,对于sqlloader入库的消息结构与表ctl文件之间的绑定函数模板和消息结构字段与写文件的绑定函数模板;
B、用于上层在配置文件中配置入库方式的装置,所述配置文件包括occi配置文件或者sqlloader配置文件;上层调用A装置中的全局初始化函数,底层读取所述occi配置文件或者sqlloader配置文件;
C、绑定函数模块:通过上层调用occi初始化函数模块或者sqlloader初始化函数模块,并在头文件中调用A装置中的宏定义接口模板建立;其中所述绑定函数模块包括消息结构与表的绑定函数模块,消息结构字段与SQL语句的绑定函数模块,消息结构与表ctl文件之间的绑定函数模块,消息结构字段与写文件的绑定函数模块;
D、插入数据函数模板装置:用于调用所述绑定函数模块生成occi入库实例或生成sqlloader的写文件实例,并将occi入库实例插入occi全局管理实例中,将sqlloader的写文件实例插入写文件全局管理实例中;
E、数据入库装置:用于底层调用插入数据函数模板装置,判断入库方式,若是occi入库则调用绑定函数模块中的消息结构字段与SQL语句的绑定函数模块,将待入库数据同数据库表字段一一对应绑定,入库;若是sqlloader入库则调用绑定函数模块中的消息结构字段与写文件的绑定函数模块,将待入库数据同数据库表字段一一对应绑定,入库。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市博瑞得科技有限公司,未经深圳市博瑞得科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210377418.5/1.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置