一种基于对象定义的数据导出导入方法

文档序号:9922123阅读:320来源:国知局
一种基于对象定义的数据导出导入方法
【技术领域】
[0001] 本发明涉及计算机应用技术领域,具体地说是一种基于对象定义的数据导出导入 方法。
【背景技术】
[0002] 在计算机领域,对象是对客观事物的抽象。在本发明中,对象是指对数据库中数据 的一种抽象,它可以对应单个数据表,也可以对应多个相关联的数据表,组织成具有唯一标 识数据信息,这个唯一标识我们称之为对象编号。
[0003] 可扩展标记语言(Extensible Markup Language,缩写为XML),是计算机领域一种 用于标记电子文件使其具有结构性的标记语言。它通常被用来标记数据、定义数据类型,是 一种允许用户对自己的标记语言进行定义的源语言。在本发明中,采用XML实现在对象模板 中定义对象对应数据表和单个对象数据的取数条件等信息。
[0004] SQLite,是一款遵守ACID的关系型数据库管理系统,是一种轻型的文件数据库。它 无需安装和管理配置,没有额外依赖,数据无类型却支持几乎所有常见的数据类型,非常适 合在不同数据库和异构数据库之间实现数据交换。
[0005] 在数据库应用软件(如管理软件)的开发和实施工作中,往往需要对开发过程中完 成的报表、单据格式、打印设置等数据进行导出备份,对软件实施过程中验证通过的统计图 表、做好的业务数据导入到不同数据库或异构数据库中,以提高开发和实施交付的效率。但 数据库应用软件的数据结构设计是一般优先考虑软件实现,数据往往是打散保存到多个数 据表,而且数据库系统中还会保存很多与对象数据无关的状态信息,这就给数据的导入导 出带来困难。目前这种数据导入导出一般采用针对不同数据对象编写特定程序,或者使用 数据库间的导入导出功能实现,对技术要求较高,且不利于扩展和推广应用。本发明就是针 对这种情况所提出,通过对数据库应用软件系统中的报表、单据、打印设置、统计图表等定 义对象模板,实现不同类数据对象在数据库中数据存储的描述,根据模板定义从数据库中 导出数据,导入到目标数据库,同时对象模板基于XML可以做到灵活扩展,从而可以方便的 解决软件开发和实施过程中的数据导入导出问题。

【发明内容】

[0006] 本发明的技术任务是针对以上不足之处,提供一种基于对象定义的数据导出导入 方法。
[0007] -种基于对象定义的数据导出导入方法,其实现过程为:
[0008] 首先定义数据对象模板,数据导出、导入基于该数据对象模板实现,再改数据对象 模板中,每个数据对象对应1-n个对象数据列表信息;
[0009]数据导出:读取已定义的数据对象模板并连接数据库,然后根据对象定义读取数 据库中的对象分类的数据列表供数据导出用户进行选择,将导出数据保存到SQLite文件数 据库;
[0010]数据导入:打开SQLite数据库,加载导出对象数据列表,按使用者需要将数据从 SQLite数据库获取。
[0011]数据对象模板采用可扩展标记语言XML定义,即使用文本编辑器或其他特定XML编 辑工具完成对象模板的定义,设定对象分类、对象相关的单个或多个数据表、表字段信息以 及对象编号取数条件信息。
[0012] 数据对象模板中,包括数据对象存储的各数据表和表字段信息,并采用对象编号 作为变量对获取数据的取数条件进行限定;每个数据对象对应的对象数据列表对应单个或 对应多个,具体数值根据对象数据导出需要确定;数据对象模板采用配置文件形式存储,不 同分类的数据对象模板分不同文件存储或在同一文件中不同分段标记和保存。
[0013] 所述数据导出的具体过程为:通过脚本,首先对多个对象模板信息进行读取,然后 连接源数据库,根据模板信息分页加载对象数据列表;最后根据使用者选择的对象编号将 数据从源数据库获取,根据对象模板定义中读取的数据结构写入到用户指定的SQLite数据 库,并在SQLite数据库中增加记录导出对象数据列表。
[0014] 所述数据导入的具体过程为:通过脚本,首先打开SQLite数据库,并读取多个对象 模板信息,然后连接目标数据库,并加载导出对象数据列表,最后按使用者操作将导出对象 数据列表逐项从SQLite数据库获取并写入目标数据库,在写入目标数据库时检查数据是否 存在,并提不覆盖或跳过操作。
[0015] 在数据导入步骤中,脚本程序加载完导出对象数据列表后,该脚本程序还提供使 用者选择对象编号的功能,根据使用者选择的要导入的数据对象类型及对象编号逐项导 入。
[0016] 数据导入步骤中,写入目标数据库时检查数据是否存在依据导出对象数据列表和 数据对象模板实现,即导入数据的脚本程序对目标数据库进行数据重复检查时,依据对象 编号和对象模板定义中对应的各数据表和取数条件进行,导入数据依据SQLite数据库中的 导出对象数据列表循环处理,并检查目标数据库是否数据重复,支持覆盖或跳过两种策略, 完成数据导入操作。
[0017] 数据重复检查的具体过程为:导入数据的脚本程序连接目标数据库,根据导出数 据文件中保存的导出对象数据列表逐项取得对象数据信息写入目标数据库,在写入之前根 据对象编号检查目标数据库是否有相同数据库,并执行覆盖数据或跳过重复数据的处理, 直至所有导出数据导入目标数据库。
[0018] 本发明的一种基于对象定义的数据导出导入方法和现有技术相比,具有以下有益 效果:
[0019] 本发明具有理解使用容易、数据一致可控和配置扩展灵活的特点,在数据库软件 开发和实施中可实现不同数据库及异构数据库之间的数据导出/导入,提高开发和交付的 效率,具备良好的推广应用价值;数据对象模板的定义可以根据使用需要,将对象定义成一 个或多个数据表取数的抽象,并可以灵活扩展其对应的数据表或增加新的数据对象;适用 范围广泛,特别适合在数据库软件开发和实施中在不同数据库及异构数据库间进行数据传 递转换的场景,其灵活配置的特性可以让使用者充分发挥自主定义能力,实现随需应变,实 用性强。
【具体实施方式】
[0020] 下面结合具体实施例对本发明作进一步说明。
[0021] 本发明的一种基于对象定义的数据导出导入方法,其实现过程为:
[0022] 首先定义数据对象模板,数据导出、导入基于该数据对象模板实现,再改数据对象 模板中,每个数据对象对应1-n个对象数据列表信息;
[0023] 数据导出:读取已定义的数据对象模板并连接数据库,然后根据对象定义读取数 据库中的对象分类的数据列表供数据导出用户进行选择,将导出数据保存到SQLite文件数 据库;
[0024]数据导入:打开SQLite数据库,加载导出对象数据列表,按使用者需要将数据从 SQLite数据库获取。
[0025] 数据对象模板采用可扩展标记语言XML定义,即使用文本编辑器或其他特定XML编 辑工具完成对象模板的定义,设定对象分类、对象相关的单个或多个数据表、表字段信息以 及对象编号取数条件信息。
[0026] 数据对象模板中,包括数据对象存储的各数据表和表字段信息,并采用对象编号 作为变量对获取数据的取数条件进行限定;每个数据对象对应的对象数据列表对应单个或 对应多个,具体数值根据对象数据导出需要确定;数据对象模板采用配置文件形式存储,不 同分类的数据对象模板分不同文件存储或在同一文件中不同分段标记和保存。
[0027] 所述数据导出的具体过程为:通过脚本,首先对多个对象模板信息进行读取,然后 连接源数据库,根据模板信息分页加载对象数据列表;最后根据使用者选择的对象编号将 数据从源数据库获取,根据对象模板定义中读取的数据结构写入到用户指定的SQLite数据 库,并在SQLite数据库中增加记录导出对象数据列表。
[0028]所述数据导入的具体过程为:通过脚本,首先打开SQLite数据库,并读取多个对象 模板信息,然后连接目标数据库,并加载导出对象数据列表,最后按使用者操作将导出对象 数据列表逐项从SQLite数据库获取并写入目标数据库,在写入目标数据库时检查数据是否 存在,并提不覆盖或跳过操作。
[0029] 在数据导入步骤中,脚本程序加载完导出对象数据列表后,该脚本程序还提供使 用者选择对象编号的功能,根据使用者选择的要导入的数据对象类型及对象编号逐项导 入。
[0030] 数据导入步骤中,包括以下特点:
[0031] A、数据导入基于对象模板定义进行;
[0032] B、导入数据来自SQLite文件数据库,并与对象模板定义相匹配;
[0033] C、目标数据库数据重复检查依据导出对象数据列表和对象模板定义;
[0034] D、导入数据依据SQLite数据库中的导出对象数据列表循环处理,并检查目标数据 库是否数据重复,支持覆盖或跳过两种策略,完成数据导入操作。
[0035]如A所述的内容,数据导入与数据导出依据相同的数据对象定义模板,以确定导入 目标库对应的数据表和数据重复检查
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1