数据导入模块设计.docVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
深圳市 SCSDB-RDBMS数据导入模块概要设计 模块名称: 版 本: V 完成日期: 201-02-19 作 者: 审 核: 批 准: 文件状态: ■草稿 □正式发布 □正在修改 版 本 历 史 版本/状态 责任人 起止日期 备注 V/草稿 熊志强 2013-02-19 至 2013-02-21 1、完成接口定义。具体的开发设计由合作者补充完成。 目录 1. 1 1.1. 项目简要说明 1 1.2. 文档说明 1 1.3. 术语 1 2. 设计目标 1 2.1. 关键功能 1 2.2. 关键质量属性 1 2.3. 约束条件 2 3. 逻辑架构设计 3 4. 开发架构设计 3 4.1. 关键目录、文件组织 3 4.2. 程序单元组织 3 4.3. 数据结构设计 4 4.4. 接口定义 5 4.5. 关键处理逻辑流程 6 5. 物理架构设计 7 前言 项目简要说明 支持多种商用源数据库 能够支持将mysql、oracle、sql server的数据导入到SCSDB 模块需要全面支持将mysql、oracle、sql server的数据导入SCSDB 图表 1 关键功能列表 关键质量属性 质量属性 描述 备注 高可靠性 这里的高可靠性是指数据不丢失、数据不被修改,导入后的数据与源数据完全相同;表属性能正确保留,如索引、主键属性要保留;其他SCSDB不支持的属性可删除,如外键 高可靠性是数据导入模块的一个非常重要指标。导入完成后,从目标数据库中查询到的数据与从源数据库查询到的数据完全相同,数据不丢失、不截留(只保留了小数点前几位)。 SCSDB支持的数据类型、属性可能与其他商业数据库有些不同,如SCSDB不支持外键,在处理类型、属性时请积极与SCSDB开发者沟通,确定开发方案 高稳定性 在长时间导入大数据时能够稳定运行 高性能 在导入大数据表(kw级别以上)时,能有较好的性能表现 通过多线程并行导入等各种手段提高数据导入的性能 多线程安全 调用者在多线程方式下调用本模块应是线程安全的 可维护性 有良好的可维护性,方便其他人员维护本模块 详细的设计文档;良好的编码规范;详细的注释 可扩展性 模块要划分清晰;各子模块、接口间要弱耦合 图表 2 质量属性列表 约束条件 约束条件 描述 备注 系统支持 能够支持Windows(XP/VISTA/VIN7)、linux(centos5.5/centos6.2)系统 Windows系统输出sip.dll和sip.lib文件,linux系统输出libsip.so和libsip.a文件 服务不中断 在数据导入过程中,不能中断源数据库服务器的服务 采用各种手段,尽量保证服务不中断或只中断部分服务。如从mysql导入数据,可以进行lock table操作,暂停增删改服务,但不影响查询服务 图表 3 约束条件列表 逻辑架构设计 图表 4 数据导入模块逻辑架构 封装接口API层:负责封装本模块的接口,供上层调用者使用。 数据导入逻辑控制层:按照一定的逻辑,调用下层的查询源数据库、数据分析、导入目标数据库子模块,来实现数据导入功能。 查询源数据库:通过向源数据库发送查询命令,从而获取源数据库的表结构信息或表数据。 数据分析:对从源数据库中查询到的数据进行分析,以转换成适合导入到目标数据库的数据。 导入目标数据:将转换后的目标数据导入目标数据库。 数据库访问接口层:相应数据库厂商提供的访问下层数据库的接口API。 开发架构设计 关键目录、文件组织 目录、文件名 目的 sip.h 数据导入模块封装的对外接口API的定义 sip_types.h 数据导入模块重要的、公共对外的数据类型定义 sip_error.h 数据导入模块的错误码、错误消息定义 图表 5 关键目录、文件列表 程序单元组织 明确描述各单元编译依赖关系。 数据结构设计 //枚举目标数据库(表)存在时的处理方法 typedef enum { EXIT_DEL, //如果目标数据库(表)已存在,则先删除目标数据库(表) EXIT_IGN, //如果目标数据库已存在,则忽略,继续后面的操作; //如果目标数据表已存在,则忽略,继续后面其他数据表的导入 EXIT_ABORT //如果目标数据库(表)已存在,则终止本次导入操作 }IF_EXIT; //枚举数据库类型 typedef enum { DB_SCSDB, //SCSDB类型数据库 DB_MYSQL, //MYSQL类型数据库 DB_ORACLE, DB_SQLSERVER }DB_TYPE; //连接数据库服务器的一些必要参数 typedef struct { DB_T

文档评论(0)

rpv75l07 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档