一种业务数据快速入库的方法和装置的制作方法

文档序号:6333880阅读:369来源:国知局
专利名称:一种业务数据快速入库的方法和装置的制作方法
技术领域
本发明涉及计算机领域,特别涉及一种业务数据快速入库方法和装置。
背景技术
传输网管系统中有大量的业务数据需要存放到数据库,例如时隙、告警、性能等 等,这些业务数据的数据量非常大,如果不能及时导入数据库,将会带来数据丢失、占用磁 盘空间、影响网管效率等问题。目前,数据快速入库的方法有以下两种1、构造结构化查询语言(Structured Query Language,SQL)语句,主要是插入 Insert语句,然后优化这些语句,使数据快速入库;2、直接使用数据库管理系统自带的快速入库接口入库。上述第一种方法,通过Insert等SQL语句入库时,数据库管理系统需要记录日志, 即使优化语句,也不能很好的改善入库效率,因此,只适用于业务数据量较少的情况。对于 传输网管系统而言,每天的告警数据可能达到几百万条,性能数据可能达到几千万条,如果 采用第一种方法,大量的业务数据会使业务数据的入库非常耗时,成为系统的瓶颈。上述第二种方法,快速入库接口需要和存放业务数据的数据库表的字段绑定,不 同的业务数据存放在不同的表中,因此,为了使用数据库管理系统自带的快速入库接口将 业务数据快速入库,各种业务模块需要单独编写相应的代码,而这些接口使用起来比较复 杂,容易出错,这样,业务模块进行单独编码存在编码效率低和复杂度高的问题。综上所述,第一种方法在业务数据量大时会严重影响网管运行效率,第二种方法 编码效率低,并且容易出错,因此,有必要提供一种通用的能够针对各种业务数据都能够快 速入库的技术。

发明内容
本发明的目的在于提供一种业务数据快速入库的方法和装置,能更好地解决业务 数据入库效率低的问题。根据本发明的一个方面,提供的一种业务数据快速入库的方法包括A)根据业务数据类型,基础数据类型对象生成模块生成一个包含所有业务数据类 型的基础数据类型对象;B)根据存放业务数据的数据库表的结构,集合数据对象生成模块生成一个其集合 元素类型为基础数据类型对象的集合数据对象;C)通用业务数据入库接口模块将集合数据对象或集合数据对象集合的所有基础 数据类型对象相应的值与数据库表的字段绑定并入库。根据本发明的另一个方面,提供的一种业务数据快速入库的装置包括基础数据类型对象生成模块,用于生成一个包含所有业务数据类型的基础数据类 型对象;
集合数据对象生成模块,用于生成一个其集合元素类型为基础数据类型对象的集 合数据对象;通用业务数据入库接口模块,用于将集合数据对象或集合数据对象集合的所有基 础数据类型对象相应的值与数据库表的字段绑定并入库。所述装置还包括表数据对象生成模块,用于生成一个其集合元素类型为集合数据对象的表数据对 象,所述集合数据对象对应数据库表的一条记录。与现有技术相比较,本发明的有益效果在于本发明实现了各种业务数据的入库, 具有入库速度快、效率高的优点。


图1是本发明提供的一种业务数据快速入库方法流程图;图2是本发明实施例提供的一种业务数据快速入库装置结构示意图;图3是本发明实施例提供的一种业务数据快速入库方法流程图。
具体实施例方式以下结合附图对本发明的优选实施例进行详细说明,应当理解,以下所说明的优 选实施例仅用于说明和解释本发明,并不用于限定本发明。图1显示了本发明提供的一种业务数据快速入库方法流程图,如图1所示,步骤包 括步骤101 根据业务数据类型,基础数据类型对象生成模块生成一个包含所有业 务数据类型的基础数据类型对象;步骤102 根据存放业务数据的数据库表的结构,集合数据对象生成模块生成一 个其集合元素类型为基础数据类型对象的集合数据对象,所述集合数据对象对应数据库表 的一条记录;步骤103 通用业务数据入库接口模块将集合数据对象或集合数据对象集合的所 有基础数据类型对象相应的值与数据库表的字段绑定并入库。上述步骤102中,所述集合数据对象中存放的每一个集合元素的值为存放到数据 库表的每一个字段的值,顺序与数据库表的字段的顺序一致。上述步骤103包括将集合数据对象或集合数据对象集合传递至所述通用业务数据入库接口模块;根据存放业务数据的数据库表的信息,遍历数据库表的每一个字段,根据字段的 位置和字段类型取出集合数据对象或集合数据对象集合的所有基础数据类型对象相应的 值;在内存中将所述字段与所述基础数据类型对象相应的值绑定;调用数据库管理系统快速入库接口将所有绑定的业务数据一次性入库。图2显示了本发明实施例提供的一种业务数据快速入库装置结构示意图,如图2 所示,所述装置包括基础数据类型对象生成模块21,用于根据业务数据类型,生成一个包含所有业务数据类型的基础数据类型对象;集合数据对象生成模块22,用于根据存放业务数据的数据库表的结构,生成一个 其集合元素类型为基础数据类型对象的集合数据对象;表数据对象生成模块23,用于生成一个其集合元素类型为集合数据对象的表数据 对象,所述表数据对象对应数据库表。通用业务数据入库接口模块24,用于将集合数据对象或表数据对象的所有基础数 据类型对象相应的值与数据库表的字段绑定并入库。所述通用业务数据入库接口模块24包括 绑定单元241,用于将集合数据对象或表数据对象的所有基础数据类型对象相应 的值与存放业务数据的数据库表的各个字段绑定;入库单元242,用于调用数据库管理系统快速入库接口将所有绑定的业务数据一 次性入库。本实施例中,上述基础数据类型对象生成模块21生成的基础数据类型对象包含 int类型和string类型;上述集合数据对象生成模块22生成的集合数据对象对应数据库表的一条记录;上述表数据对象生成模块23生成的表数据对象对应数据库表。所述装置的工作原理是业务数据需要入库时,所述基础数据类型对象生成模块21生成包含int类型和 string类型的基础数据类型对象,所述集合数据对象生成模块22生成一个其集合元素类 型为基础数据类型对象的集合数据对象,所述表数据对象生成模块23生成一个其集合元 素类型为集合数据对象的表数据对象。根据存放业务数据的数据库表的字段,将每个业务 数据赋值给相应的int类型和string类型的数据项,并依次插入到集合数据对象后面,每 条集合数据对象中的集合元素赋值完成后,将集合数据对象插入到表数据对象后面,并将 集合数据对象或表数据对象、以及存放业务数据的数据库表的信息传递至所述通用业务数 据入库接口模块24中的所述绑定单元241中。所述绑定单元241将集合数据对象或表数 据对象的所有基础数据类型对象相应的值与存放业务数据的数据库表的各个字段在内存 中进行绑定,并由入库单元242调用数据库管理系统快速入库接口将所有绑定的业务数据 一次性入库。图3显示了本发明实施例提供的一种业务数据快速入库方法流程图,如图3所示, 包括以下步骤步骤301 根据业务数据类型,生成一个包含所有基础数据类型的基础数据类型 对象 BcpField ;步骤302 根据存放业务数据的数据库表的结构,生成一个其集合元素类型为基 础数据类型对象BcpField的集合数据对象BcpRecord ;步骤303:生成一个其集合元素类型为集合数据对象BcpRecord的表数据对象 BcpTable ;步骤304 将业务数据赋值到表数据对象BcpTable中的集合数据对象BcpRecord 下的基础数据类型对象BcpField相应的数据项中;步骤305 将存放业务数据的数据库表信息和表数据对象BcpTable传递至的通用业务数据入库接口模块;步骤306 在所述通用业务数据接口模块中,遍历表数据对象BcpTable的每一个 集合数据对象BcpRecord下的每一个基础数据类型对象BcpField,并将每一个基础数据类 型对象BcpField相应的值与数据库表的各个字段在内存中的一一绑定;步骤307 所有的数据都绑定后,调用数据库管理系统自带的快速入库接口将业 务数据一次性入库。上述步骤301中,基础数据类型对象包含int类型和string类型,所述基础数据 类型对象BcpField相应的值是业务数据存放到数据库表的每一个字段的值,顺序与数据 库表的字段顺序一致;上述步骤302中,所述集合数据对象BcpRecord与数据库表的一条记录对应;上述步骤303中,所述表数据对象BcpTable与存放业务数据的数据库表对应。本发明不是通过构造SQL语句的方式入库,可以实现各种业务数据的快速入库, 例如性能数据入库可以从每秒几百条提高到每秒超过一万多条,同时避免了各个业务模 块为了使用数据库管理系统自带的快速入库接口而单独编码造成的编码效率低、复杂的问 题。综上所述,本发明业务数据快速入库方法和装置极大地提高了业务数据的入库效 率和编码效率。尽管上文对本发明进行了详细说明,但是本发明不限于此,本技术领域技术人员 可以根据本发明的原理进行各种修改。因此,凡按照本发明原理所作的修改,都应当理解为 落入本发明的保护范围。
权利要求
一种业务数据快速入库的方法,其特征在于,包括A)根据业务数据类型,基础数据类型对象生成模块生成一个包含所有业务数据类型的基础数据类型对象;B)根据存放业务数据的数据库表的结构,集合数据对象生成模块生成一个其集合元素类型为基础数据类型对象的集合数据对象;C)通用业务数据入库接口模块将集合数据对象或集合数据对象集合的所有基础数据类型对象相应的值与数据库表的字段绑定并入库。
2.根据权利要求1所述的方法,其特征在于,所述步骤A)中,所述基础数据类型对象包 含所有业务数据类型的基础数据类型。
3.根据权利要求1所述的方法,其特征在于,所述步骤B)中,所述集合数据对象为基础 数据类型对象的集合,对应数据库的一条记录。
4.根据权利要求1所述的方法,其特征在于,所述步骤C)具体为将集合数据对象或集合数据对象集合传递至所述通用业务数据入库接口模块; 根据存放业务数据的数据库表的信息,遍历各个字段,并根据字段位置和字段类型取 出集合数据对象或集合数据对象集合的所有基础数据类型对象相应的值; 在内存中将所述字段与所述基础数据类型对象相应的值绑定; 调用数据库管理系统快速入库接口将所有绑定的业务数据一次性入库。
5.根据权利要求4所述的方法,其特征在于,所述步骤C)中,所述集合数据对象集合是 对应存放业务数据的数据库表的一个表数据对象。
6.一种业务数据快速入库的装置,其特征在于,包括基础数据类型对象生成模块,用于生成一个包含所有业务数据类型的基础数据类型对象;集合数据对象生成模块,用于生成一个其集合元素类型为基础数据类型对象的集合数 据对象;通用业务数据入库接口模块,用于将集合数据对象或集合数据对象集合的所有基础数 据类型对象相应的值与数据库表的字段绑定并入库。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括表数据对象生成模块,用于生成一个其集合元素类型为集合数据对象的表数据对象, 所述集合数据对象对应数据库表的一条记录。
8.根据权利要求6或7所述的装置,其特征在于,所述通用业务数据入库接口模块包括绑定单元,用于将集合数据对象或表数据对象的所有基础数据类型对象相应的值与存 放业务数据的数据库表的各个字段绑定;入库单元,用于调用数据库管理系统快速入库接口将所有绑定的业务数据一次性入库。
全文摘要
本发明公开了一种业务数据快速入库的方法和装置,方法包括根据业务数据类型,基础数据类型对象生成模块生成一个包含所有业务数据类型的基础数据类型对象;根据存放业务数据的数据库表的结构,集合数据对象生成模块生成一个其集合元素类型为基础数据类型对象的集合数据对象;通用业务数据入库接口模块将集合数据对象或集合数据对象集合的所有基础数据类型对象相应的值与数据库表的字段绑定并入库。本发明能够实现各种业务数据入库,具有入库速度快、效率高的优点。
文档编号G06F17/30GK101980190SQ201010510050
公开日2011年2月23日 申请日期2010年10月15日 优先权日2010年10月15日
发明者李汉敏 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1