设计数据(共12篇)
设计数据 篇1
随着保险竞争的加剧和信息化建设进程的推进, 各家保险公司逐步实施了数据仓库建设, 而数据集成作为数据仓库建设的关键技术之一, 是数据进入仓库的入口, 其设计的好坏将直接影响整个数据仓库建设的成败。然而在数据集成的设计过程中, 经常由于数据源质量不高、数据源修改主键、多表对一表抽取数据不同步以及数据源不支持数据仓库的抽取等原因, 导致数据抽取遗漏、冗余、错误, 造成数据质量差并影响公司信息决策。本文结合自身实践, 就数据仓库建设的数据集成设计与大家一并探讨。
一、数据集成原理概述
由于保险业务性质决定保险业务系统处理逻辑复杂, 数据量大, 再加上种种原因还保留许多历史遗留系统, 开发平台和技术规范也不统一, 给数据仓库的数据集成带来了不小的难度。因此, 在数据集成设计时, 既要考虑满足数据仓库之初管理需求的实现, 又要考虑实现数据规范的统一、避免对OLTP (联机事务处理) 数据库性能的影响、减少对OLTP库结构的修改等约束, 在保证数据抽取质量和效率的前提下, 我们提出的保险数据仓库数据集成解决方案, 如图1所示。
(一) 各数据抽取层概述
1. OLTP数据源
即所有保险联机事务处理数据库, 以及其他非结构化数据。为减少对OLTP的性能影响, 对各生产库要抽取的源数据表增加了插入、删除、修改触发器, 由触发器调用数据库内核捕获OLTP数据源的表记录变化, 并按事务处理前后将这种变化保存在轨迹库中。
2. 轨迹库
即保存反映OLTP数据变化的轨迹数据库, 与OLTP数据源是一对一关系, 且尽量选择相同数据库, 这样确保对OLTP性能影响小。它与OLTP数据库表结构的不同之处在于, 轨迹库表除比OLTP数据库表多3个字段外, 其他字段结构相同, 多的3个字段分别为:变化类型标志 (I:插入, D:删除, U:修改) 、更新时间戳、标志型字段。如一条记录在生产库中先被插入, 而后修改再删除, 这样在轨迹库中将保存三条记录。
3. 同构库
选择与后续数据仓库、ODS相同的数据库平台, 实现各异构的OLTP数据库平台的统一, 其库结构与OLTP轨迹库相同, 而记录信息除要保存删除记录外, 其他与OLTP数据源表一致。它是通过ETL工具获取OLTP轨迹库中最后记录状态信息, 仅反映生产库的当前状态。
4. 操作数据存储 (ODS)
是对多个OLTP库经过ETL (即数据抽取、转换、装载) 过程按照主题进行有效地集成, 定期刷新, 包含当前有效数据, 是数据进入数据仓库前的缓冲区。其具备4个特点:面向主题、集成性、近实时数据发布、当前数据。
5. 数据仓库 (DW) 和数据集市 (DM)
包含大量从ODS层传送来的历史数据, 传入数据一般不再修改。它是面向分析型数据处理, 支持分析决策, 不同于操作型数据库, 具备4个特点:面向主题、集成的、相对稳定的、反映历史变化。数据仓库是满足企业级管理决策需要, 而数据集市是满足部门级管理决策需要而设置, 可看成数据仓库的子集。
(二) 数据抽取层间关系
OLTP数据源到轨迹库是通过触发器方式减少数据抽取对OLTP生产库的性能影响, 而轨迹库到同构库是解决数据库平台统一问题, 将不同数据库统一到同构库中, 形成与生产库同构的数据, 同构库到ODS库是分主题的数据集成, 用于数据进入DW前的数据缓存, ODS到DW是生成代理键及映射表的过程, 由于数据进入DW生成了代理键, 不便根据业务键进行回溯关联更新, 同时从同构库到ODS中有多对一表的抽取, 情况更为复杂, 不便查错。因此设计ODS非常必要, 这样也保证ODS到DW的抽取基本上是一对一的抽取。
二、关键抽取技术设计
数据抽取主要有全量抽取和增量抽取。全量抽取比较简单, 在此不再累述;增量抽取主要有触发器、时间戳、全表比对、日志比对等方式。下文就触发器和时间戳增量抽取方式中的一些关键技术与大家进行分享。
(一) 抽取控制表的设计
本控制表存在除生产库外的所有源数据抽取端的库中, 用于增量抽取控制。其中endid和curid是自增长型的标志型字段, 如数据从生产库进入轨迹库时会产生系统时间戳和标志字段, 而通过抽取控制表可以确定本次数据抽取范围, 实现增量抽取。另外, 此处endtime和curtime的设计是增加系统的可靠性。
(二) 抽取频率及精度设计
数据增量抽取是在各抽取层间从前至后顺序流动, 为保证数据抽取的有效性和准备性, 后面抽取频率应低于或等于前面的抽取频率, 后面抽取时间戳精度应低于或等于前面抽取层的时间戳精度。同时, 只要不是最后一级数据层, 即使是到DW层, 若还有后续抽取, 则都应在各级数据层中设计时间戳 (捕获更新数据行) 和增删标志 (有效确保删除目标数据层中的删除或被修改前的数据) 字段, 以便数据正确流转。
从同构库开始后的一表对一表的数据流转方式:根据源数据层Etl Ctl控制表中的时间戳起点及源数据表中的最大时间戳确定被更新的数据范围, 抽取数据到临时表, 根据主键关联删除目标正式表中的数据, 将临时表中的数据插入正式表, 若此时正式表为最后一层数据层, 此时将临时表中增删标志不为‘D’的插入即可。另外, 因为同构库中数据与OLTP数据源中数据是同构的, 所以即使后续数据的抽取频率变低, 数据流转方式与上面的相同。
(三) 防主键修改的触发器设计
针对有主键表的增量抽取方式, 若在OLTP生产库中修改了主键值, 通常做法是通过更新触发器插入轨迹库一条更新的数据记录, 但由于有主键的后续抽取是通过主键进行判重删除的, 这样将导致同构层数据原主键记录形成垃圾, 无法删除。鉴于此种情况, 我们对OLTP生产库的更新触发器改为两条插入触发, 插入一条主键修改前原记录, 同时标志为D, 再插入一条主键修改后的新记录, 同时标志为I。这样, 在抽取包中按主键查重后, 不会因修改了主键而产生冗余垃圾记录。如对表agent_post_mclerk的更新触发器修改为:
(四) 多表对一表的数据抽取设计
多表对一表的数据抽取过程中, 往往由于源数据层的多表数据准备不同步, 有的表数据先准备好, 有的表数据后准备好, 导致进行多表数据关联抽取时数据遗漏, 从而影响后续数据抽取的正确性, 为此须采取措施保证多表数据到目标层后数据的同步性和正确性。通常做法是:先通过在Etl Ctl控制表采取左关联, 确保控制表数据不会掉, 然后用另一个表关联更新目的表所有字段。这种抽取方式虽然可以保证数据的准确性, 但不能保证数据的一致性和同步性 (同步更新) , 同时关联更新此表时必须用另一个表的全表数据更新, 查询数据量大, 效率低, 因此这种方式不可取。为了保证数据的正确性、同步性, 采取的设计原则是:只有多表的关联记录数据全部准备齐了才一同到达目标层。
考虑到生成的目标表是否要对关联的源数据多表进行聚合运算, 在此分两种情况进行分别讨论。现假设要从源数据层的A表:psn_customer (cust_id, …, upd_flag) 和B表:customer (cust_id, …, upd_flag) 中, 抽取数据到目标层的C表:c02 (cust_id, …) 中, 前面带下划线的字段为表中的主键 (此处源表的关联条件是否构成目标表的主键均没有任何影响, 将其设置为目标表主键是为了更方便理解) 。
1. 多表对一表时不进行sum, average, count等聚合运算, 但可进行distinct运算的情况
根据表间关联条件抽取数据, 并根据upd_flag值决定, 只要有一个为‘D’, 则值为‘D’, 同时不为‘D’时, 才为‘I’, 然后生成的临时表数据根据目标表主键对目标表进行先删除后插入操作。
(1) 更新抽取控制Etl Ctl表:update Etl Ctl set
2. 多表对一表抽取时进行了 (不含distinct) sum, average, count等聚合运算的情况
此时应分两步:第一步先根据有效或无效 (删除) 数据生成2个临时表 (字段为目标层表的主键) , 2个临时表的数据为第二步回溯抽取数据的条件;第二步以临时表字段为条件关联回溯抽取源多表数据 (当然原多表的关联仍然保存) , 生成对应2个新的明细临时表, 进行distinct临时表数据, 而后取合生成正式表数据, 再对正式表进行先删后插操作。
(1) 更新Etl Ctl表:update Etl Ctl set
三、结束语
数据集成设计是一个复杂的工程, 也是一门艺术, 其设计好坏将直接决定数据仓库的数据质量。由于篇幅有限, 本文主要从增量抽取的关键技术设计进行了讨论, 抽取审计、查错跟踪等未能一一介绍。同时, 数据仓库的质量不仅需要好的数据抽取设计, 而且有赖于OLTP建设时能事先考虑到将来DW的数据抽取需要, 信息工作人员应站在企业级、行业级的高度去思考信息架构建设。
设计数据 篇2
陕西省级气象科学数据共享数据库设计与实现
介绍陕西省级气象科学数据共享数据库建设的内容、技术方案、设计参考标准、结构、信息流程等.元数据的基本概念、作用和使用方法.介绍了元数据库的表名,表结构及基于元数据导航的`数据发布;数据实体库设计的基本原则,数据集及数据库表;数据库管理系统的设计及维护.
作 者:夏巧利 陈高峰 邸永强 高宇 作者单位:陕西省气象信息中心,西安,710014刊 名:陕西气象英文刊名:JOURNAL OF SHAANXI METEOROLOGY年,卷(期):“”(2)分类号:P409关键词:气象科学数据 共享数据库 设计开发
《筛选数据》教学设计 篇3
1.教学大纲分析
《筛选数据》选取自人力资源和社会保障部全国计算机信息高新技术考试指定教材《办公软件应用职业技能培训教程》(2008年版)第20章第4节。这一节介绍了数据清单的概念、记录单的使用、以及记录的排序、筛选、查找和分类汇总。
在实践辅导中要注意学生创造力与自主学习能力的培养,引导他们自己发现问题、解决问题,鼓励学生互相探讨,让学生在学习过程中感受到愉悦与成就感。
2.教材分析
本节教材介绍在办公软件应用中,如何利用数据筛选功能,从Excel工作表中将满足条件的数据记录筛选出来。在学习本节课之前,学生已经初步掌握了工作表的创建及编辑、数据清单的概念和记录单的使用,掌握了记录的排序,这节课可以说是在原有基础上的一个再提高。授课时,先将从感性上让学生了解Excel工作表原数据记录和按某一个或多个条件筛选后的数据记录,然后分解演示每一知识点的操作步骤,让学生筛选出符合条件的记录,既可调动学生的学习积极性,又可提高他们的操作技能。
3.学生分析
学生已经初步掌握了工作表的创建及编辑、数据清单的概念和记录单的使用,掌握了记录的排序,同时已经具备了一定的自学能力。多数同学对计算机的学习有兴趣和积极性,但在探究问题能力、合作交流意识等方面发展不够均衡,尚有待加强。
4.教学目标
(1)知识目标。明确数据筛选在实际生活、工作中应用的意义;理解高级筛选条件区域与列表区域的定义与选择 ;初步掌握高级筛选的操作方法。
(2)能力、方法目标。熟练掌握高级筛选的方法;根据实际需求对数据清单进行筛选。
(3)情感目标。培养学生善于观察、乐于尝试、独立思考、互相帮助的自学品质,提高学以致用的能力。
5.教学重点与难点
(1)重点。高级筛选条件的设定;高级筛选功能的应用。
(2)难点。正确理解多个筛选中多条件的确定及如何介定多条件之间的逻辑关系(与关系、或关系);高级筛选条件区域的设置。
6.教学策略
(1)教法。①讲授法:讲授基本理论,使学生从整体上获得理性认知。②启发式教学法:先提出问题,启发学生思考在实际生活中如何解决,根据学生的解答再进一步提出更复杂的问题。让学生分组上机操作,调动学习兴趣,逐步形成赶、比的学习氛围。引导学生得出结论,拓展学生思维,使其更好地理解所学内容。③演示教学法:通过多媒体演示实例操作过程,让学生直观地理解和掌握理论知识和操作方法,给学生新的、更方便的解决问题的方法。④任务驱动法:让学生在一个个典型“任务”的驱动下,有序开展学习活动。先看演示,再不断提出或变换问题,让学生自己解决,应用所学知识完成任务。
学生在实操中,不但要巩固旧知识,还要理解和记忆新内容,最后通过师生互动、总结、老师补充的方法,列出本次课的理论知识点和操作技能,让学生充分理解、掌握并熟练操作。
(2)学法。①互助式学习:为了使学生更好地掌握知识和技能,鼓励他们互相帮助,互相交流,协作学习,从而培养他们的团队精神。②自主式、探究式学习:本次课以学生练为主,引导学生既动手又动脑,在实践中掌握和运用知识,给他们一个自由发挥的空间,培养他们的实践能力和创新能力。③学法指导:本课教给学生的学法是“接受任务—分析任务—思考讨论—合作学习”。建构主义学习理论强调以学生为中心,要求学生由知识的灌输对象转变为信息加工的主体。因此在本课教学过程中,巧妙设计,让学生带着一个个任务通过课堂讨论、相互合作、实际操作等方式,自我探索,自主学习,在完成任务的过程中不知不觉实现知识的传递、迁移和融合。
7.教学用具
一是多媒体电脑室,保证每位同学一台电脑并能正常使用。二是多媒体广播教学系统,用以控制学生机、演示操作过程、展示学生作业等。三是课件、素材、相关练习等。
8.教学准备
(1)把课堂上所用到的课件、练习存放到教师机,并对多媒体机房电脑进行检查,保证上课能够正常使用。
(2)将全班同学分成四个小组,每组中任命一位知识基础较牢固、组织能力较强的同学担任组长,课前对知识进行复习巩固,并预习高级筛选的相关内容。
(3)教具、学具、练习等与本课相关的东西提前做好准备。
二、课堂系统部分(教学过程)
1.课前探究
(1)回顾:上节课已学内容(自动筛选功能)。
(2)导入:师生互动(提出问题—回答—再提出问题)。
2.导入新课(师生互动)
(1)现在有一张学生成绩表,请问同学们,怎样才能将所有语文成绩不及格的记录选出来?
预设结果:同学们可能会说将语文成绩及格的记录删除掉,剩下的就是不及格的记录。教师再提问:如果有一个年级或一个学校甚至成千上万条记录,又怎样选呢?(目标是激发学生的学习兴趣)
(2)在上一个问题的基础上提出:如果要找的是语、数、英都不及格的学生记录,又该如何查找?
3.讲授新课
如果用户要使用高级筛选,一定要先建立一个条件区域,条件区域用来指定筛选的数据必须满足的条件,如图1、图2所示。
(1)建立条件区域(在一空白单元格输入筛选条件)。
(2)然后选择参与筛选的数据记录(含表头行)。
(3)选择“数据”→“筛选”→“高级筛选”菜单项。
(4)根据需要定义好“高级筛选”对话框。
4.学生实操练习
(1)操作要求:从原始数据表中筛选出各科成绩都大于或等于60分学生的记录,见图3;从原始数据表中筛选出语、数、英任意一科大于或等于90分学生的记录,如图4。
(2)师生互动:请一位同学通过媒体广播系统演示上述作业的操作过程,然后请另一位同学点评其操作是否正确。老师点评学生操作过程,肯定其正确的操作方法或指出其存在的不足。同时引伸出筛选“语、数、英任意一科大于或等于90分”时条件必须放置在连续不同行中,见图5。
5.课堂总结
总结本次课教学重点、难点,對学生操作中出现的问题进行说明,以帮助学生梳理知识,加深印象。
6.作业布置
高级筛选综合练习题(已发到学生机桌面),按题目要求完成并通过多媒体教学软件“作业提交”功能上传给教师机(第一节课)。
进入模拟练习软件固定抽题第25套,完成并登记分数做为平时成绩(第二节课)。
三、课后系统部分(教学反思)
本节课主要采取任务驱动法,以探索—小结—实践—提高模式展开教学。“任务驱动”教学强调让学生在密切联系学习、生活和社会实际的有意义的“任务”情境中,通过完成任务来学习知识、获得技能、形成能力。
通过精心设计和准备,教师在教学过程中起到了引导作用。以学生为主体自主学习,学生积极参与,课堂气氛活跃。90%以上的学生能通过讲练结合,掌握本次课的教学内容,完成自己力所能及的练习,体验成就感,培养了探究精神和自信心。突出了重点,突破了难点,按时顺利地完成了教学任务,教学效果良好。
在教材处理上,进一步认识到,教与学的重点在于提高学生的学习兴趣和意识,而不仅限于书面知识。所以教学过程中要着重体现学为主体,激发学生学习的兴趣,带动学生发现问题,指导学生分析问题,诱导学生解决问题。在这个过程中培养学生的创新精神和实践能力。同学们学习积极性都很高,均表示容易理解和掌握,但高级筛选中条件的构造有个别同学仍旧容易出错,要多加练习。
在课堂结构上,教师还需要思考:如何根据学生的差异设计不同层次的教学内容?预先设计的教学内容能否根据学生的学习需求随机调整?教学过程中学生积极参与能否通过不同的形式体现?教学评价时该如何鼓励、照顾到更多的学生?因此教师还需要与时俱进,大胆创新,因材施教,更要不断更新自身知识,提高专业能力。
设计数据 篇4
为促进与完善高校各部门管理工作的数字化、规范化和科学化, 推动数字化校园的全面建设, 各高校分别在保留原有系统的基础上将各个应用子系统进行整合集成为一个整体。由于各应用子系统所使用的系统及数据库不尽相同, 可能同构, 但更多的是异构系统, 因此需要建立一个公共数据交换平台, 将原有各系统数据整合到公共数据库, 同时各系统可方便调阅公共库中的数据进行应用, 从而形成一个无缝数字化校园体系结构。
1 数据交换平台的设计原则
1.1 遵循统一的数据交换标准
数据交换平台的目的是在数据中心和各业务部门等原有业务系统之间交换数据。由于各原有系统的技术构架不同, 信息的表示也各不相同, 要在这些不同的系统之间交换数据, 首要的问题就是定义一种标准的数据格式及数据交换的规范, 以方便实现不同硬件平台、不同操作系统平台、不同语言平台应用之间的平滑通信。
1.2 支持异构系统、异构数据库的交互及数据存取
数据交换首先涉及到如何与各级部门、各异构系统及其异构数据库进行交互, 实现数据的存取。能够对各级部门、各业务系统的数据库定义数据抽取规则, 从而实现自动地从各级部门的数据库或相应业务系统中抽取公共数据库所需的数据。数据存取的需求具体可归纳为:支持多种异构数据库, 如主流的关系型数据库包括:Oracle、SQL Server、DB2、Sybase等;能够集成各种异构的业务系统, 通过接口实现与应用的交互, 完成数据的存取, 如Web Service接口、文本型数据库接口;
1.3 信息传输
支持灵活的数据交换方式:可以根据不同部门的情况, 对于不同类型的数据有不同的更新要求, 可分别灵活采取多种数据上传的方式, 比如, 对于信息变更频繁的数据, 能够实现实时更新, 而对校园中变动不是很频繁的数据, 如人事数据、设备数据, 则实现定时更新, 如可定义每日上传一次, 或每周一次。对于数据上传的时间, 也可灵活定义, 如为了避开网络高峰, 减少对系统的影响, 可定义在晚间及凌晨等系统和网络均比较“空闲”的时候来进行数据的同步;支持大数据量、支持跨平台、跨多种网络模式的分布式数据交换;有高可靠性和和安全性。
1.4 数据转换
平台需要能够适应各系统数据内容和格式的变化, 提供可视化的转换配置界面, 并实现各系统数据与中心标准数据之间灵活的转换。
1.5 质量控制
能够对交换数据进行验证和质量控制, 能够根据一定的规则, 进行数据验证, 验证数据是否符合入库要求;能提供完善的日志。
1.6 数据交换的安全
支持对敏感数据进行加密传输。
2 数据交换平台中的数据整合模式
根据不同子系统的数据库, 可以建立图1所示的整合模式。在该模式中的公共库选用Oracle (9i/10G) , 应用系统业务库包含Oracle8i/9i/10G、DB28.1.2/8.2、Sybase11.5/12、SQLServe2000、DBF、A CCESS、EXCEL等, 其整合线路可以定义为3类: (1) 基于业务库表进行ETL抽取输入公共库 (A、ETL抽取) ; (2) 基于业务库输出虚视图进行ETL抽取输入 (B、ETL抽取) ; (3) 基于业务数据源文件或中介文件进行ETL抽取输入 (C、ETL抽取) 。
其中A类线路的适用于业务库遵循执行标准规范、两个数据库系统网络连接有保障、业务库能为公共库提供需要公共的表的读取帐号的情况;B类线路适用于业务库遵循执行标准规范、两个数据库系统网络连接有保障、业务库能为公共库提供该视图的访问帐号、公共库能够明确给出业务库输出格式要求、业务库能依据公共库整合的要求建立输出视图的情况;C类线路适用于公共库不能直接访问业务库、应用系统能依据公共库整合要求提供输出文件、业务库能为公共库管理员提供文件结构说明的情况。
4 平台中数据的订阅模式
要将公共库中的有用数据调入各子系统中加以应用, 需要制定数据的订阅模式。根据系统的不同, 制定了同构系统的订阅模式和异构系统的订阅模式。
4.1 同构系统的订阅模式
在同构系统的订阅模式 (图2) 中, 公共库和业务库都选用Oracle (9i/10G) , 其订阅线路为: (1) 应用系统基于公共库数据表的ETL抽取 (A、ETL抽取) ; (2) 基于公共库数据表的增量快照输出 (B、增量快照) ; (3) 基于公共库数据表跨库视图输出 (C、跨库视图) ; (4) 应用系统基于公共库视图的ETL抽取 (D、ETL抽取) ; (5) 基于公共库视图完全快照输出 (E、完全快照) ; (6) 基于公共库视图跨库视图输出 (F、跨库视图) ; (7) 基于公共库数据文件输出 (G、文件输出) 。其中A线路主要适用于两个数据库系统网络连接有保障、应用系统能独立配置和运用ETL工具进行抽取、公共库通过订阅工具为应用系统提供公共表读取帐号的情况;B线路主要适用于两个数据库系统网络连接有保障、公共库通过订阅工具为应用系统提供可执行订阅脚本、应用系统在自有数据库中完成订阅脚本执行的情况;C线路主要适用于两个数据库系统网络连接有保障、公共库通过订阅工具为应用系统提供可执行订阅脚本、应用系统在自有数据库中完成订阅脚本执行的情况;D线路主要适用于两个数据库系统网络连接有保障、应用系统能独立配置和运用ETL工具进行抽取、公共库通过订阅工具为应用系统提供公共输出视图的结构和读帐号;E线路主要适用于两个数据库系统网络连接有保障、公共库通过订阅工具为应用系统提供可执行订阅脚本、应用系统在自有数据库中完成订阅脚本执行;E线路主要适用于两个数据库系统网络连接有保障、公共库通过订阅工具为应用系统提供可执行订阅脚本、应用系统在自有数据库中完成订阅脚本执行的情况;F线路主要适用于应用系统能处理中介数据文件的情况。
4.2 异构系统的订阅模式
异构系统的订阅模式 (图3) 中, 公共库用Oracle (9i/10G) , 业务库可能是Oracle8i DB2 8.1.2/8.2、Sybase 11.5/12、SQL Server2000、DBF、ACCESS、EXCEL等, 其订阅线路为: (1) 应用系统从公共库数据表中抽取 (A、ETL抽取) ; (2) 基于公共库数据表跨库视图输出 (B、跨库视图) ; (3) 基于公共库视图应用系统ETL抽取 (C、ETL抽取) ; (4) 基于公共库视图跨库视图输出 (D、跨库视图) ; (5) 基于公共库中介文件输出 (E、文件输出) 。其中A线路用于两个数据库系统网络连接有保障、应用系统能独立配置和运用ETL工具进行抽取、公共库通过订阅工具为应用系统提供公共表读取帐号;B线路用于两个数据库系统网络连接有保障、公共库通过订阅工具为应用系统提供可执行订阅脚本、应用系统在自有数据库中完成订阅脚本执行;C线路用于两个数据库系统网络连接有保障、应用系统能独立配置和运用ETL工具进行抽取、公共库通过订阅工具为应用系统提供公共输出视图的结构和读帐号;D线路用于两个数据库系统网络连接有保障、公共库通过订阅工具为应用系统提供可执行订阅脚本、应用系统在自有数据库中完成订阅脚本执行;E线路用于应用系统能处理中介数据文件。
5 结语
在数据整合的过程中, 建立有效安全的数据交换平台是关键。在该平台的公共数据库基础上逐步形成的数据仓储, 将为高校的决策和分析提供更好的支持, 从而加快高校的教育信息化进程。
参考文献
[1]许鑫, 苏新宁.高校共享数据中心平台的设计与实现[J].现代图书情报技术, 2005 (6) .
[2]黎小红, 田富鹏.异构数据库中数据集成技术研究[J].西北民族大学学报 (自然科学版) , 2006 (4) .
[3]段永威, 秦峰.异构数据源数据转换工具的设计与实现[J].现代图书情报技术, 2004 (4) .
[4]董向辉.分布数据整合与共享中的关键问题及解决方案研究[N].吉林大学硕士学位论文, 2004.
数据库设计练习 篇5
1.根据周围的实际情况,选择一个小型的数据库应用项目,例如仓库管理系统、物流管理系统、图书馆管理系统等。
2.进行系统需求分析,写出系统需求分析报告,应包括采用的设计方法、数据流图和数据字典。
3.进行系统的概念设计,使用E-R图表示对数据库中要存储的信息及语义进行详细描述,对数据约束和数据之间的关联进行详细描述。
4.进行系统的逻辑设计,详细描述系统需要的基本表及属性、视图和索引,对基本表的主、外键等进行说明,对基本表中数据的约束条件进行说明。
5.在SQL Server 2005中,实现系统中所需基本表、视图、存储过程、完整性等要求的定义。
浅谈数据库设计 篇6
数据库设计属于系统设计的范畴,通常把使用数据的系统称为数据库应用系统,把数据库应用系统的设计简称为数据库设计。数据库设计把数据库应用系统分为需求分析阶段、概念结构设计、逻辑结构设计、物理结构设计、数据库实施阶段、数据库运行与维护六个阶段。下面简要介绍各个步骤的主要任务及方法。
1.需求分析阶段
需求分析是在项目确定之后,用户和设计人员通过详细的调查研究,充分了解用户的组织机构、业务规则、数据需求等等。所谓需求是指用户对软件的功能和性能的要求,就是用户希望软件能做什么事情,完成什么样的功能,达到什么性能。需求分析是数据库设计最基础的工作,如果这个阶段的工作不准确或有误,那么后面几个阶段的任务就会有偏差,如果到测试阶段才发现错误再去更改必然会付出很大的代价,因此必须高度重视这个阶段的人任务。需求分析阶段的后期编写系统分析报告,主要包括:系统的概况、目标、范围、现状等;系统及子系统的结构说明;系统的功能划分;系统的组织机构联系图;数据流程图;功能模块图及数据字典等内容。然后将此需求分析报告提交给用户的决策部门讨论审查,通过审查以后的需求分析报告作为今后各阶段设计和工作的依据。
例如:公司职工人事档案资料繁多,查询、统计、更新等各方面工作都不能更快更好进行,急需一管理系统实现人事资料的录入、维护、统计、查询等工作,明确要求后将具体事项形成书面报告审查后作为今后设计的依据。
2.概念结构设计
概念结构设计的目标是产生出一个能反映组织信息需求的概念模型,其特点有简单明确表示用户业务数据需求、数据之间的联系、数据约束条件等。概念结构的策略有四种自顶向下、自底向上、逐步扩张、混合策略。概念结构设计的最著名、最常用的方法是实体-联系方法,简称E-R方法。它虽然只有几个基本元素(实体、属性、联系),但能够表达现实世界复杂的数据、数据之间的关系和约束条件。
E-R图设计是对需求分析阶段所得到的数据进行分类、聚集、概括,确定实体、属性和联系,具体步骤如下:
2.1选择局部应用
数据流图是对业务处理过程从高层到底层的一级级抽象,高层抽象流图一般反映系统的概貌,对数据的引用较为笼统,选择适当层次的数据流图,让这一层的每一部分对应一个局部应用,实现某一项功能。
2.2逐一设计局部E-R图
规划好各个局部应用之后,对每一个局部应用设计局部E-R图,按照局部应用的数据流图,从数据字典中提取数据,使用抽象机制,确定局部应用中的实体、实体的属性、实体标示符、实体间的联系和类型,但是许多实物是实体还是属性没有明确的界定,要根据具体情况判断,一般来说,属性不能再分,属性也不能和其他实体发生联系,因为联系是实体和实体间的联系。
2.3 E-R图合并
根据局部应用设计好的局部E-R图之后,就可以对各局部E-R图进行合并,合并的目的是在合并过程中解决局部E-R图之间存在的冲突,消除存在的信息冗余,使之成为供用户理解的统一的、精练的全局概念模型。对所有的局部E-R图合并之后,就形成了全局E-R图,从而完成了概念结构设计。
3.逻辑结构设计
逻辑结构设计是在概念结构设计的基础上进行的数据模型设计,一般有层次、网状模型和关系模型,现在绝大多数DBMS都是基于关系模型的,此阶段的主要任务有确定数据模型、将E-R图转换为指定的数据模型、确定完整性约束、确定用户视图。
例如:部门(1)——<聘用>——职工(M)。
4.物理结构设计
在实现数据库逻辑结构设计之后,就要确定数据库在计算机中的具体存储。数据库在计算机物理设备上的存储结构与存取方法称为数据库的物理结构。数据库的物理设计完全依赖于给定的数据库软件和硬件设备。层次和网状模型物理设计比较复杂,而关系DBMS对物理设计要求很少,由DBA来实现。物理结构设计需要确定数据分布、确定存储结构、确定存取方式。
5.数据库实施阶段
确定了数据库的逻辑结构和物理结构以后,可以利用DBMS提供的数据定义语言建立数据库的结构。
例如:CREATE TABLE 职工库。
(职工编号 CHAR(6) NOT NULL,
姓名 CHAR(8) NOT NULL,
性别 CHAR(2),
所属部门 CHAR(10),
PRIMARYKEY KEY (职工编号));
当数据库的结构建成之后,就可向数据库中加载数据,由于数据库中的数据量非常大,为了避免浪费大量人力财力时间等,通常专门设计一个录入子系统来提高效率,满足用户的要求。该子系统一般包括数据录入、录入过程的数据校验、代码转换、数据完整性约束、安全性检查等功能。
6.数据库的运行与维护
数据库设计与应用开发工作完成之后系统便进入运行与维护阶段。为保证数据库系统的安全稳定运行,需要综合考虑可能遇到的各种问题,指定详尽的运行计划和应对措施。任何因素导致系统初选问题,都可能给用户带来损失。
数据库的运行与维护阶段主要任务有:
6.1维护数据的安全性和数据完整性
为保障系统的稳定运行,必须制定运行策略。数据库的运行离不开用户的访问和操作,安全性策略包括网络安全、用户的权限管理、设备的安全及数据的安全等方面。按照设计阶段提供的安全和故障规范。实施授权和设定密码,并经常检查系统的安全性和可靠性,实施备份、恢复和数据重组的任务。
6.2监测并改变数据库性能
经常对数据库存储空间的状况和响应速度进行评价分析,确定优化和改善的措施,及时调整系统的运行状况。
6.3数据库的维护
在数据库系统的运行过程中,可能会由于某些原因需要修改数据库的结构,称为数据库的重构,重构包括表结构的修改和视图的修改。还要根据用户环境的扩大,适时的向数据库增加一些新的数据和功能。
6.4及时修改错误
系统运行过程中难免发生一些错误,需要及时运行修改错误,弥补设计时的欠缺。
设计数据 篇7
在信息时代, 谁能在信息的海洋中获取更多的知识, 谁就能取得成功的主动权。信息技术在企业的决策和商业活动中起着重要的支持作用。
信息技术的迅速发展和企业管理决策的迫切需要, 使数据仓库理论应运而生, 并成为决策支持领域中实用性极强的技术。
一、数据仓库和数据集市
数据仓库技术是当前用于企业决策支持的、先进的有效方法。
1993年, W.H.lnmon在其所著《Building the Data Warehouse》中对数据仓库进行了完整的界定。他将数据仓库定义为:“一个面向主题的、集成的、随时间变化的、非易失性的数据集合, 用以支持管理层的决策”。这一界定被学术界广泛认同。W.H.lnmon关于数据仓库的定义, 可以从几方面来理解:
1. 数据仓库是一种数据资源集成与整合的具体方法。
数据仓库不同于一般的数据库。它是按照一定的要求、围绕明确的主题, 对原有分散的、相互独立, 异构的操作型数据进行有效集成。
2. 数据仓库存储的数据具有相对的稳定性。
3. 数据仓库的数据主要用于对管理决策过程的支持。
数据仓库的鲜明特点, 使数据仓库技术具有广泛的应用前景。目前, 已有不少行业把数据仓库技术用于数据管理和决策支持, 取得了经验, 产生了效益。
数据集市是数据仓库的一个子集, 它面向部门级业务, 面向某个特定的主题。是一种简化的小型数据仓库。实际上, 多个相互联系的、围绕一个宏观大主题的多个数据集市的集成, 就构成了数据仓库。数据集市和数据仓库在其实现过程和数据模式方面, 没有根本的差异。而数据集市比数据仓库更为简洁、方便, 易于快速实施并应用。因此, 在建立企业级的数据仓库前, 可规划建立多个部门级的数据集市, 在此基础上, 集成实现企业级的数据仓库。
二、数据仓库的“星型模型”
“星型模型”是数据仓库广泛采用的数据模型。它能准确、简洁地描述出实体之间的逻辑关系。数据仓库的其他数据模型, 一般是在“星型模型”的基础上的变形与扩充。一个典型的星型模式包括一个大型的事实表和一组逻辑上围绕这个事实表的维度表。如图1所示:
事实表是星型模型的核心。用于存放大量的具有业务性质的事实数据。事实表由主键和事实的度量数据两部分组成。事实表通过主键, 把各维度表链接在一起, 形成一个相互关联的整体, 共同描述主题。事实表中存放的大量数据, 是同主题密切相关的、用户最关心的、对象的度量数据。
维度是观察事实、分析主题的角度。维度表的集合是数据仓库数据模式的关键。维度表通过主关键字与事实表相连。用户依赖于维度表中的维度属性, 对事实表中的事实数据进行查询、分析, 从而得到支持决策的数据。
因此, 对事实表和维表的分析设计, 是数据仓库数据模型设计的关键。
三、连锁超市数据集市的数据模型
数据模型是建立数据仓库的基础。业务需求是进行数据仓库数据模型设计的驱动力。连锁超市商品销售情况可以看作超市管理数据仓库的一个子集, 即数据集市。适宜选用以“星型模型”为基础, 建立能满足需求的连锁超市数据集市的数据模型。
1. 事实表的设计
如前所述, 事实表由主键和度量数据两部分组成。星型模型中各维度表主键的组合构成事实表的主键。针对本文的研究主题, 最需要关注的是连锁超市商品销售情况。因此, 在事实表中, 要准确记载各连锁超市所畅销的商品、销售数量、营业额、利润等度量数据。
事实表中数据的细节程度或综合程度的级别称为数据“粒度”。粒度是数据仓库事实表的重要的特征。粒度的级别依赖于维表的属性。不同的需求, 对数据仓库的粒度要求不同。
连锁超市数据集市需要保留最低层次的细节数据, 以满足数据集市的信息查询要求。很多数据挖掘的应用程序也需要最低层次的数据颗粒。再者, 低粒度的事实表便于从操作型系统中抽取源数据。此外, 最低层次的细节数据是聚集事实表的基础。
另一方面, 为提供决策支持, 需要多方面的高粒度的汇总数据。
因此, 连锁超市数据集市的数据模型设计, 要能方便获取从最低层次的细节数据到高度概括的汇总数据。这不仅需要设计好事实表, 同时依赖于维度表属性的设计。
2. 维度表的设计
维度表的集合是建立数据仓库数据模型的关键。
建立连锁超市数据集市的目的是要从各个角度, 分析对商品销售情况的影响, 为管理者在研究超市发展策略等方面, 提供决策支持。
针对连锁超市需要掌握的基础信息和决策的需求, 在连锁超市数据集市中, 设计了以下维度及其主要属性。
客户维:这是最重要的一个维度, 在商界, “客户就产上帝”。在客户维中, 建立了客户的基本信息、是否为会员客户、客户居住地域等, 以便掌握客户个人细节数据。从数据粒度的需要, 客户维还建立了客户的会员关系和属地等。为建立聚集事实表作好准备。
商品维:商品维也是一个重要的维度。商品不仅决定了超市的经营范围, 商品的结构、品牌、质量直接影响营业额。在商品维中, 设计了商品代码、商品名称、商品类别、品牌名称、包装类别等维度属性。
时间维:在数据仓库的多维数据结构中, 时间维往往是不可少的一个维度。因为每项“销售事实”都是在一定的时间或者时间段内发生。针对需求, 时间维采用日、月、季、年四个属性。
连锁店维:各连锁店承担了全部商品的销售业务。连锁店的服务质量直接影响企业的竞争力、销售业绩和企业利润。连锁店维中建立了连锁店名、销售经理、规模、所在地域等维度属性。
根据上述分析, 建立连锁超市数据集市的星型数据模型, 如图2所示:
3. 处理好大维度问题
在上列各个维度中, 客户维和商品维都是典型的大维度。这是因为:大的连锁超市, 客户维和商品维很深, 累计可能有数以万计的客户和上万种商品;客户维和商品维很宽, 根据需要, 这两种维可以有多个维度属性。
数据仓库的大维度, 会给数据仓库的操作应用带来一些问题。大维度中的长文本字段不仅占用存储空间, 而且维度数据不易更新和维护;向大维度表填充数据难度增大;对事实表的查询涉及大维度表时, 会影响效率。解决数据仓库“大维度”问题较好的办法是采用“雪花模型”。
“雪花模型”是在星型模型的基础上拓展而来的。将“星型模型”中的大维度表进分解, 通过增加详细类别表, 形成一些局部的层次区域, 就演变成为“雪花模型”。将连锁超市数据集市中的两个大维度表——客户维和商品维进行“雪花化”。分解出相应的类别表, 既解决了大维度表带来的问题, 也为建立“聚集事实表”作好了准备。
基于上述分析, 设计出低保基础信息数据集市的雪花模型构架。如图3所示:
四、连锁超市数据集市聚集模型设计
“聚集”是从最低粒度的事实表中衍生出来的的预先计算的汇总数据。这些汇总数据形成了一组独立的聚集事实表。实际应用中, 可以根据需要用跨越任何维度的特定的汇总数据构建为一个聚集事实表。
1. 建立数据集市聚集事实表的必要性
建立低保基础信息数据集市的主要目的, 是要为管理者提供具有决策价值的汇总数据。因此, 把使用频率高的汇总数据存放在聚集事实表中, 对提高数据集市的的使用性能, 为管理者提供决策支持, 使用户获得更好、更快的查询结果, 是非常必要的。数据集市聚集模型的好坏将在很大程度上影响到数据集市的使用效果。
2. 怎样建立聚集事实表
在数据集市中建立聚集事实表, 要注意以下原则:
⑴每一个不同的聚集必须使用单独的事实表存储聚集数据, 成为相对独立的聚集事实表。
⑵聚集事实表中的维表必须是基本事实表中的维表的压缩。
⑶基本事实表中的度量数据加载后, 才能作聚集处理。
3. 连锁超市数据集市常用的聚集事实表
每一个数据仓库 (数据集市) , 都可能有多个维度表。因此, 一个数据仓库 (数据集市) 会有很多个聚集事实表。究竟需要那些聚集, 要针对用户需求和决策需要。例如, 连锁超市数据集市中可建立以下常用聚集事实表:
⑴单路聚集:在有多个维度的数据模型中, 如果只有一个维度升高维度层次, 其他维度保持最低层次, 所生成的事实表为单路聚集事实表。在连锁超市数据集市中, 把时间维度的属性层次升高到月、季或年, 其他维度层次保持不变, 就生成一个单路时间聚集事实表。
⑵二路聚集:在多维数据模型中, 如果有二个维度升高维度层次, 其他维度保持最低层次, 所生成的事实表为二路聚集事实表。在连锁超市数据集市中, 如果需要掌握在某年对会员客户的销售情况, 可以生成时间维属性为年, 客户维属性为会员, 其他维保持不变的二路聚集事实表。如图4所示。
⑶三路聚集:在多维数据模型中, 如果有三个维度升高维度层次, 其他维度保持最低层次, 所生成的事实表为三路聚集事实表。例如:在连锁超市数据集市中, 需要掌握在某年会员客户对某个品牌商品的购买情况, 就需要对销售事实表进行三路聚集, 如图5所示。
按照上述方法, 可以根据需要灵活方便地生成多个聚集事实表。
五、结束语
能否满足需求, 是衡量一个应用软件质量的重要依据。利用本文提出的连锁超市数据集市的数据模型架构, 不仅为建立连锁超市数据集市奠定了基础;而且为数据集市的发展利用创造了条件。通过数据挖掘技术, 能够从多方面获取连锁超市经营管理中的重要信息, 为企业在竞争中取得主动权, 促进企业的进一步发展, 提供决策支持。
参考文献
[1]王志海:数据仓库[M].机械工业出版社, 2003
[2]邵红全 赵 茜:运用多维数据模型实现数据集市[J].河北省科学院学报, 2003 (2) :99~102
[3]段云峰:数据仓库基础[M].电子工业出版社, 2004
[4]李姗姗 宁 洪 陈 波:通用数据仓库元数据模型的研究[J].计算机工程与应用, 2004, 26 (5) :52~55
[5]刘中蔚 陈 红:用基于元数据库的工作流调度数据仓库的更新[]].计算机应用研究, 2006, 23 (3) :178~180
[6]范 明:数据挖掘概念与技术[M].机械工业出版社, 2004
[7]平 静 林平瑞:元数据管理及其在数据仓库中的应用[J].平原大学学报, 2006 (8) :130~132
设计数据 篇8
软件开发中,数据库往往是信息系统的基石,即便是最简单的信息系统中都会涉及到数据的持久性和数据的访问。而JAVA作为一种可以撰写跨平台应用软件的面向对象的程序设计语言,被广泛的应用与当前的各种信息系统开发。但对于用Delphi及.Net开发过应用系统的开发人员大多都使用过数据集组件来连接数据库并操作数据库表数据的功能。这些功能使用很方便,同时有强大的数据操纵能力,可以对各种数据库进行统一操纵,数据组件会根据不同数据库的语法要求自动生成新增(insert)、修改(update)及删除(delete)等DML语句对数据库记录进行操纵。在JAVA环境中没有与之对应的数据集组件,JAVA主要依靠JDBC接口[1]来操作数据库数据,但JDBC属于一个较低层次的接口,虽然功能强大但需要较多的编程量,所以使用并不方便。有些JAVA持久层框架[2(]如Hibernate)基于JDBC做了一些包装并提出了OR映射的概念,通过操作对象的方式间接操作关系数据库中的记录,由OR映射框架自动将对象的新增、修改、删除等操作自动转换成特定关系数据库的DML语句。这种方式在JAVA世界中应用很多。但OR映射需要许多手工配置,且在涉及大数据量且表间关系复杂的情况时容易出现性能问题。并且对习惯SQL及数据集操作的程序员来说,对于对象的操作不如对记录行的操作直接和灵活。针对这些框架的问题,IBM和BEA设计了SDO(Service Da-ta Object)[3],方便了数据访问和操作。该文借鉴了SDO的方法及Delphi、.Net数据集的设计理念[4-7],应用软件设计模式方法[8-9],结合实际的开发经验,设计一种基于JDBC的JAVA通用数据集数据访问框架。
2 总体设计
整个框架设计的目标包括:
1)通用性,实现一种通用的关系数据库访问机制,能够独立于数据库,采用一致的数据集的方式访问及操作各种关系数据库。
2) 方便性,充分利用数据库的元数据功能,无需配置就能根据数据集的状态,自动生成某种数据库的DML语句,尽量减少编程量。
3) 扩展性,能支持现存或未来出现的各种关系数据库系统。
设计思路:
为达到以上设计目标,考虑将通用数据集框架主要分为2个大的部分来实现:
第一部分是独立于数据库的,这一部分里,所有操作的实现对数据库来说是完全中立的,无需考虑数据库的差异性;
第二部分是数据库相关的,这一部分里,所有操作的实现都要考虑特定数据库的差异,并通过接口及抽象类使这种差异对第一部分屏蔽。
3 独立于数据库的部分设计
独立于数据库的部分主要是数据表(Data Table)对象,其中包括数据列管理器(Data Columns)、数据列(Data Column)、数据行管理器(Data Rows)、数据行(Data Row)、数据字段(Data Field)等对象。对于开发应用开发者来说,主要是对这些部分的对象进行操作。以下对这些对象的功能进行介绍。
3.1 数据表对象(Data Table)
Data Table数据表,实现IData Table接口,负责在内存中保持及操作数据集,并自动记录数据集及记录行的状态等信息。
IData Table接口定义如下:
数据表(Data Table)对象主要依靠所包含的数据列管理器(Data Columns)、数据列(Data Column)、数据行管理器(Data Rows)、数据行(Data Row)、数据字段(Data Field)等对象来实现数据集的操纵功能。
3.2 数据列管理器对象(Data Columns)
数据列管理器对象(Data Columns)实现接口IData Columns接口,是管理数据列对象(Data Column)的容器。
IData Columns接口定义如下:
3.3 数据列对象(Data Column)
数据列对象(Data Column)实现接口IData Column接口,主要记录表字段的属性信息。
IData Column接口定义如下:
3.4 数据行管理器对象(Data Rows)
数据行管理器对象(Data Rows)实现接口IData Rows接口,是管理数据行对象(Data Row)的容器。
IData Rows接口定义如下:
3.5 数据行对象(Data Row)
数据行对象(Data Row)实现接口IData Row接口,主要用于管理记录行。
IData Row接口定义如下:
3.6 数据字段对象(Data Field)
数据字段对象(Data Field)实现接口IData Filed接口,主要用于管理数据字段。
IData Filed接口定义如下:
public interface IData Field {public IData Table get Table();public IData Row get Row();public IData Column get Column();public Object get Value() throws Exception;public void set Value(Object value) throws Exception;public boolean is Null() throws Exception;public boolean is Empty() throws Exception;public boolean is Change() throws Exception;}
4 数据库相关的部分设计
数据库相关的部分主要包括数据源(Data Source)、元数据(Meta Data)、数据适配器(Data Adapter)及命令生成器(Data Command)三个对象。以下对这些对象的功能进行简要介绍。
4.1 数据源对象(Data Source)
数据源对象需实现接口IData Source,主要封装了JDBC中的数据库连接对象(Connection)。负责连接到数据库,提供数据库级别的事务控制,并根据数据库的类型创建元数据(Meta Data)对象、数据适配器(Data Adapter)对象及命令生成器(Data Command)对象。
接口IData Source定义如下:
IData Source接口最主要的目的就是管理数据库连接及本地事务控制。各类数据库都应实现该接口,在现实中一般会提供一个实现IData Source接口的抽象类Data Source,该类将实现一些数据源对象的公共操作,然后特定数据库的数据源类则继承Data-Source抽象类,并实现其特定的功能。如:Oracle的数据源类Oracle Data Source,Sql Server的数据源类Sql Server Data Source等。
4.2 元数据对象(Meta Dat)
段、视图、存储过程、触发器等)。元数据对象,实现IMeta Data接口,负责提供统一格式的数据库元数据。可由此对象获取当前数据库中的所有对象(如:表、字
IMeta Data接口定义如下:
接口最主要的目的就是获取表及其字段的信息,表各类数据库都需实现这个接口。在现实中一般会提供一个实现IMeta Data接口的抽象类Meta Data,该类将实现一些元数据的公共操作,然后特定数据库的元数据类则继承Meta Data抽象类,并实现其特定的功能。如:Oracle的元数据类Oracle Meta Data,Sql Server的元数据类Sql Server Meta Data等。
4.3 数据适配器对象(Data Adapter)
数据适配器对象,实现IData Adapter接口。特定于某种数据库,负责实现对数据库的读写操作,能够从数据库加载数据到数据表,以及执行DML语句,将数据的变化写入数据库。
IData Adapter接口定义如下:public interface IData Adapter {
IData Adapter接口最主要的目的就是实现对数据库的读写操做,表各类数据库都需实现这个接口。在现实中一般会提供一个实现IData Adapter接口的抽象类Data Adapter,该类将实现一些数据适配器对象的公共操作,然后特定数据库的数据适配器类则继承Data Adapter抽象类,并实现其特定的功能。如:Oracle的数据适配器类Oracle Data Adapter,Sql Server的数据适配器类Sql Server-Data Adapter等。
程序员一般不需直接使用数据适配器对象,在Data Table对象需要加载数据(如调用open Sql方法)或写入数据(如调用execute方法)时,Data Table内部会使用Data Adapter对象来读写数据,并将数据填充到Data Table对象中,同时更新数据的状态。
4.4 命令生成器对象(Data Command)
命令生成器对象,实现IData Command接口。特定于某种数据库,根据数据表的变化状态生成DML语句。
IData Command接口定义如下:
IData Command接口最主要的目的就是生成更新数据所需的SQL语句,主要是Insert、update、delete语句。各类数据库都需实现这个接口。在现实中一般会提供一个实现IData Command接口的抽象类Data Command,该类将实现一些命令生成器对象的公共操作,然后特定数据库的命令生成器类则继承Data Command抽象类,并实现其特定的功能。如:Oracle的命令生成器类Oracle Data-Command,Sql Server的命令生成器类Sql Server Data Command等。
程序员一般不会直接使用命令生成器对象,在Data Table对象中的数据新增、修改、删除后,在调用Data Table对象的执行方法时,Data Table内部会使用Data Command对象来自动生成SQL语句。
5 使用样例
在java环境下,使用本框架来访问关系数据库,本身无需任何配置。只需在J2EE应用服务器上配置好JDBC数据源,使用标准的SQL语言即可访问任何数据,更新数据时无需拼凑SQL语句。如下所示,程序员只需在服务器上配好JDBC数据源,使用该配置的jndi Name即可操纵数据。
IData Source ds = Oracle Data Source“(jndi Name”);//创建一个Oracle数据源
ds.open(false);//打开数据源,并设置为不自动提交事务
try {
摘要:考虑使用数据集组件来连接数据库并操作数据库表中数据在软件开发中的方便性,其具有强大的数据操作能力,在很多开发环境中都提供了相应的数据集组件,但在JAVA语言的开发环境中没有与之对应的数据集组件,一般采用JDBC接口或者OR映射的方式完成数据的操作,其中JDBC接口因其属于较低层次接口需要大量的编程,而OR映射在涉及复杂数据关系及大量数据访问是容易出现性能问题,在借鉴其他环境中数据集的设计理念的基础上,以实际开发要求为目标,设计一种基于JDBC封装的JAVA通用数据集数据访问框架。
设计数据 篇9
近年来,随着综合治税工作的深入开展,涉税信息目录及采集范围不断扩大,税收征管、行政许可、建设项目、注册登记等各类涉税信息数据规模快速增长,特别是综合治税信息系统在省市县三级的推广与应用,为综合治税数据分析与决策支持提供了规模庞大的数据资源。研究如何基于这些海量数据开展数据分析,从中获取与综合治税相关的信息与价值,为各级税务部门加强税源控管、堵塞税收漏洞、实现信息管税提供支撑,具有重要的理论和现实意义。
数据仓库是一个面向主题的、集成的、非易失且随时间变化的数据集合,用来支持管理决策[1],是实现数据整合和分析利用的最佳解决方案。目前,综合治税信息系统所使用的数据库,是按照联机事务处理(OLTP)的要求进行设计的,其数据结构、内容用法与数据仓库有很大不同,无法满足复杂查询和数据挖掘的需要。例如,复杂查询所涉及的多表链接、汇总排序等操作,会很大程度上影响系统相应速度[2]。因此,构建综合治税数据仓库,以数据仓库为基础开发综合治税数据分析系统,是充分利用综合治税数据资源,提升涉税信息利用水平的有效手段。
1 功能需求分析
根据综合治税数据整合与应用需求,数据分析系统建设应以信息管税为目标,按照“覆盖广泛、详实可靠、开放共享、安全高效”的原则,依托数据仓库技术,逐步将税收征管、行政许可、建设项目、注册登记等各类涉税信息接入系统,构建集信息采集交换、审核校验、统计汇总、分析预测、应用发布为一体的综合治税数据仓库,实现第三方涉税信息整合分析与深度应用,包括以下主要功能:
(1)涉税信息采集交换。按照综合治税信息共享目录的要求,依托现有综合治税信息系统,通过人工报送和自动交换两种方式采集原始涉税信息,形成综合治税数据仓库初始数据。此外,系统应提供异构数据源支持,支持半结构化和非结构化数据采集导入功能。
(2)建立综合治税数据仓库。按照数据仓库设计、建设要求,按照统一编码体系,对原始涉税信息进行抽取、转换、装载(即ETL过程)。此外,系统应能根据数据仓库的数据处理流程,按照数据质量控制标准对数据进行校验和审核,保证数据正确性。
(3)涉税信息报表和查询。根据综合治税工作需要,按照规范的数据统计口径,建立综合治税数据统计报表体系,定期生成各类统计报表。同时,系统应提供直观的查询功能,能够对报表数据进行钻取操作,实现从汇总数据到明细数据的分层下钻和逐级浏览。
(4)税收风险评估。以第三方涉税信息整合应用为出发点,建立风险评估模型,通过模型将各类涉税信息与税务部门的征管信息进行比对分析,及时发现税收管理的薄弱环节,查找定位税收风险点,堵塞税收征管漏洞,为提高税收征管水平提供数据支撑。
(5)重点税源监控。依托涉税部门提供的企业生产经营信息以及税务部门的税收征管信息,建立重点税源监测指标,对重点纳税人的经营与纳税情况进行监控,并以图形、表格等形式进行展现,直观地反映微观经济主体的运行状态,为制定税收优惠政策、促进企业发展提供参考。
(6)税收收入预测预警。基于综合治税数据仓库所整合的历年度税收数据,建立数据挖掘模型,将税收收入与相关宏观经济指标进行关联分析,对二者的相关性进行深入挖掘。此外,借助计量经济学模型,对税收收入未来走势和波动幅度进行科学预测,为税收政策的制定和领导决策提供依据。
2 系统架构设计
系统整体架构如图1所示,分为4个层次:数据采集层、数据服务层、应用分析层、信息展现层。
图1 系统整体架构
(1)数据采集层。数据采集层是整个系统中涉税信息的统一入口,该层能够屏蔽异构数据源的差异,使系统中后续数据处理基于统一的数据接口,降低技术复杂性。系统采集的各类涉税信息,首先在这一层中进行保存,既能减少对数据源性能产生影响,又能在数据ETL失败时再次加载,从而提高系统效率。
(2)数据存储层。数据存储层根据分析主题的要求,采用星型结构对业务数据进行建模,形成数据仓库逻辑模型和实体模型。在数据处理方面,数据存储层先通过ETL处理从数据采集层获取原始数据,再按照数据模型结构对原始数据进行整合,形成一系列事实表和维表。此外,部门数据分析所需数据集市也在该层进行设计和实现。
(3)应用分析层。应用分析层基于数据存储层中的模型数据,对信息展现层提供不同类型的数据分析服务。其中,即席查询服务通过语义层映射机制,可以为涉税信息自定义查询提供支持;报表服务通过定义报表模板,提供可扩展报表生成和查询服务;OLAP通过建立多维数据结构,为复杂数据分析操作提供快速响应服务;数据挖掘服务通过封装特定算法,对综合治税数据进行关联分析,为风险评估、预测预警等系统功能提供支撑。
(4)信息展现层。信息展现层按照数据分析需求,将数据仓库中的数据以及应用分析结果,通过数据展现工具以图形、报表、文字等形式呈现到用户面前。此外,还提供管理维护界面,完成包括用户管理、权限分配等系统管理功能。
3 关键技术实现
3.1 数据自动交换
涉税信息采集是进行数据分析的前提和基础,信息采集的质量直接对数据分析结果产生影响。因此,对于信息化程度高、业务数据集中存储的涉税部门,应当建立数据自动交换平台,实现涉税信息的自动采集,提高数据的完整性、准确性和及时性。
数据自动交换技术的实现模式主要有两种:一是数据库复制模式,其优点是交换双方数据库结构相同,交换数据的内容能够保证较好的一致性和实时性,缺点是扩展性和适应性不足,对异构数据交换的支持较差;二是前置机模式,其优点是支持数据库、文件、接口服务等多种接入方式,有较好的适应性和扩展性,数据交换流程可配置、管理和监控,缺点是数据较难实时同步,交换服务程序对硬件要求较高。本系统采用前置机模式,在各涉税部门部署数据交换前置服务器及软件工具,利用XML文件对异构数据格式进行转换,在保持数据库相对独立和自治的基础上,实现涉税信息的自动提取、整理、传输和保存[3]。
3.2 ETL
ETL是建设数据仓库的重要步骤。在完成不同部门、不同类型涉税信息采集后,涉税信息需要经过抽取、转换、加载进入数据仓库,形成一系列维表和事实表,为后续数据分析与挖掘提供数据基础。在数据抽取环节,系统采用触发器的方式,在数据采集层保存涉税信息的同时,启动对应的数据抽取处理,实现数据采集与ETL的有效衔接,确保采集的涉税信息及时进入数据仓库;在数据转换环节,要对涉税信息的有效性进行检查,然后对照税收收入、纳税人登记信息等事实表,以及区划、行业、税种等维表,经过数据变换、清理、集成、聚集和概括等处理,形成格式一致的事实表和维表数据[4];在数据加载环节,要将转换完成的事实表与维表,批量存储到综合治税数据仓库中。
3.3 数据建模
在数据仓库数据建模中,星型模式能够提高查询性能,降低维表复杂度,因而得到广泛应用[5]。在此模型中,根据数据分析的主题构造事实表,用于存储分析数据的度量值和维度值;根据数据分析的角度构造维度表,用于存储分析数据的维度值(包括历史版本)。事实表和维表以主外键的形式进行关联,形成主题分析所需的星型模型[6]。例如,分产业税收分析主题所对应的数据模型如图2所示。
3.4 联机分析处理
联机分析处理(OLAP)是数据仓库的主要应用,专门设计用于支持复杂的分析操作,侧重对决策人员和高层管理人员的决策支持。在应用分析层,OLAP服务利用数据仓库的模型数据,根据主题分析需求建立多维分析模型(CUBE多维立方体),并以ROLAP方式进行存储,可从不同层次、阶段共享、存取和分析涉税数据[7]。在信息展现层,系统采用Cognos组件,按照用户的分析需求,以报表、图形、记分卡、仪表盘等多种形式,把CUBE的数据和分析结果展现给最终用户。
4 结语
建设综合治税数据仓库,并以此为基础构建综合治税数据分析系统,是充分利用综合治税数据资源、提升综合治税信息价值的有效手段。本文从应用角度,阐述了综合治税数据仓库及数据分析系统的功能、架构和关键技术。综合治税数据的深层次数据挖掘功能及其实现等问题,还有待进一步研究。
图2 税收收入分析主题数据模型
摘要:为提高综合治税涉税信息利用水平,实现对各类综合治税数据的整合分析与关联比对,为数据分析提供应用支撑,在分析系统业务需求的基础上,设计了基于数据仓库的综合治税数据分析系统,探讨数据自动交换、ETL、数据建模、联机分析处理等关键技术。
关键词:综合治税,数据仓库,决策支持
参考文献
[1][美]荫蒙(Inmon,W.H).数据仓库[M].王志海,译.北京:机械工业出版社,2006.
[2]林建明,琚春华,李军.基于数据仓库的财政综合信息分析系统研究与设计[J].计算机时代,2008(9):24-26.
[3]张丽华.基于XML的异构数据交换技术研究[J].苏州科技学院学报:工程技术版,2010(6):77-79.
[4]黄容,党齐民,陈宝树.财政数据仓库的设计开发[J].计算机工程与应用,2003(32):190-193.
[5]陈荣保,何伟华,戚维田.基于数据仓库的财政收支多维分析系统设计[J].常州信息职业技术学院学报,2008(1):13-15.
[6]张军占,陈光伟.基于数据仓库和OLAP的城市财税分析系统的构建[J].计算机与现代化,2008(9):126-128.
设计数据 篇10
由于传统存储设备容量、传输带宽有限,而且设备节点扩展难、使用难、数据管理难,不足以应付不断增长数据的存储要求,对于需要面向不同地域分布的用户进行服务更是无力应对。随着信息化基础设施的不断完善、大数据技术突飞猛进的发展,使得构建一种支持大数据架构存储的集群式数据管理系统成为可能。
1 关键技术点
1.1 集群技术
集群是将一组独立的计算机系统通过网络有机连接,主要解决高可用性、高性能计算、扩展性等问题。
集群的模式主要包括两种模式,负载均衡和冗余模式模式。
对于负载均衡,目前比较常用的负载均衡技术主要有基于DNS的负载均衡[2]、反向代理负载均衡和基于NAT(Net Address Translation)的负载均衡。
基于DNS负载均衡是通过DNS服务中的域名解析来实现负载均衡,在DNS服务器中,可以为多个不同的地址配置同一个名字,而最终查询这个名字的客户机将在解析这个名字时得到其中一个地址。因此,对于同一个名字,不同的客户机会得到不同的地址,他们也就访问不同地址上的WEB服务器,从而达到负载均衡的目的。
反向代理负载均衡使用代理服务器可以按照某种算法将会话连接均匀地转发给多台内部服务器,从而达到负载均衡的目的。
基于NAT的负载均衡技术使用内部地址和外部地址之间进行转换,以便具备内部地址的计算机能访问外部网络,而当外部网络中的计算机访问地址网关拥有的某一外部地址时,地址转换网关能将其转发到一个映射的内部地址上。这样,地址转换网关能将每个链接均匀转换为不同的内部服务器地址,从而达到负载分担的目的。
对于冗余模式,主要分为全冗余备份、互为冗余备份、中央备份服务器三种模式。
全冗余模式:集群中的每台服务器都会备份其它服务器的Session,当一台服务器发生故障,可以失败转移到其它任意一台服务器上。
互为冗余备份:A会有B的数据,B会有C的数据,C会有A的数据,如果A出错,就会由C接替A的工作。
中央备份服务器:N+1模式,一个中央Server存放所有Session,如果一台Server宕机,接管的Server就从中央服务器恢复相关Session数据。
1.2 分布式存储计算平台
Hadoop是Apache软件基金会所研发的开放源码项目,它是一个分布式存储计算平台,可以在其上开发和运行处理海量数据。让用户通过跨集群的计算机完成大型数据集的分布式处理任务。用户可以利用该框架在大量廉价计算机上构建一个具有高可靠和良好扩展性的分布式处理系统[3]。
它的两大核心内容为[4]:分布式文件系统(Hadoop distributed file system,HDFS),是分布式计算中数据存储管理的基础,具有高吞吐量数据访问能力、高容错性、高可靠性和高扩展性等提点,可用于存储海量级别的数据(Tbyte甚至Pbyte);Map Reduce(Google Map Reduce的开源实现)算法模型,是一种编程规范,2004年Google研究员通过对网页存储和并行分析处理研究后,在文献[5]提出该模型,并在ACM等多个期刊上转载[6,7],Map Reduce用于处理大规模数据集的计算模型,它可以将一个应用程序分解为多个并行计算指令,依靠大量的计算节点完成数据集的分布式计算,用户通过编写Map和Reduce两个函数来完成对应的逻辑功能,实现分布式处理的模型和算法,原理如图1所示[8]。
HDFS文件系统使用副本存储策略来实现高可靠性。系统的冗余因子一般为3,分别位于3个Data Node上,其中一个位于不同集群上,当一个Data Node出现故障后,其保存的数据仍然可以通过其他Data Node上保存的数据进行读取网络断开会造成一组Data Node和Data Node失去联系,Name Node根据缺失的心跳信息判断故障情况。当一个在Data Node出现故障,这时Name Node就再复制该Data Node的副本并存储到其他Data Node上,以此来保证系统的高可靠性。当用户需要访问文件系统中的文件时,都需要向Name Node提交请求,获得相应的权限后,再对Data Node进行读或写[2]。系统原理如图2所示[10]。
2 系统方案
2.1 需求分析
现有的数据文件管理系统大都基于FTP客户端和本地磁盘阵列完成的简单数据管理系统,不具备分布式扩展能力,而且客户端使用不方便、与客户业务结合不紧密,不支持多客户并行使用及海量数据文件的管理。
本方案建立一套在大数据集群架构层面的利用WEB技术进行管理的数据管理系统,提供统一的门户网站,支持接口一致的数据获取和下载访问,支持对数据权限的细粒度分配,包括组织架构设置、任务设置、审批流程的设置等。
基于大数据集群架构的数据文件管理系统应具备以下特点。
(1)统一的门户:提供用户管理、文件管理、任务管理、组织架构设置、审批流程控制等全面的控制能力。
(2)随时接入与访问数据:能够在任何终端、平台登录系统,接入和访问数据。
(3)高扩展性:能够通过堆叠硬件,零配置增加存储能力且用户访问能力不降低的系统性能。
(4)高可靠:系统具有冗余能力,在单点损坏的情况下能够报警并自动启用冗余节点。
(5)高安全性:系统具有统一认证的权限控制能力,防止非法用户访问未授权数据。
2.2 系统架构
大数据集群架构的数据管理系统是以数据管理和存储为核心的计算平台,它的内涵主要是在分布式存储平台基础上,通过集群应用、网络技术和分布式文件系统等技术,将网路中大量不同类型的存储设备集合起来协同工作,共同对外提供数据存储和业务访问功能,并能够保证数据的安全性并节约存储空间。实现了存储介质的互联和数据的统一管理、共享、冲突解决、透明存储、容错容灾、一致性及数据迁移等功能,传统存储设备主要是指简单的硬件,例如:阵列、光纤存储等,而大数据集群架构的组成则是存储设备、网络设备、应用软件、服务器、访问接口等多部分的高效组合。基于大数据集群架构的数据管理系统主要由3层组成,它是一种典型的层次结构。
存储层的设备主要是指最底层设备,包括:Nas、FC、i SCSI等,统一由上一层的虚拟化管理设备进行集中管理,对底层设备进行状态监视和审计维护等。考虑到就近服务的要求,以提高当地用户的体验,并增加抗毁性,可以把存储集群分布在不同的区域,各个区域间的集群通过网络互联形成逻辑上对用户透明的存储设备。
基础管理层是核心层,通过利用集群技术、分布式文件系统技术、数据压缩、加密技术实现不同区域间多个存储设备的协同工作,一体化对外提供服务。为了保证数据安全性,采用了数据加密技术,同时为了提高数据可靠性,采用数据容灾备份技术。
应用层主要提供了基本的用户权限认证、权限管理、部门组织架构、审批流程控制、数据驾驶舱管理、任务管理等业务层面的控制和应用,为用户提供业务层面的统一界面。
本系统前端采用WEB架构进行部署,后端采用Hadoop的HDFS分布式存储系统,前端软件利用负载均衡模式进行集群化部署,后端Hadoop系统自身具备了冗余模式的集群管理方式。
应用服务器集群采用Tomcat组成集群,使用分组集群架构,利用Tomcat自身的全冗余session备份模式,集群中的每台服务器都会备份其它服务器的Session,当一台服务器发生故障,可以失败转移到其它任意一台服务器上。
2.3 软件架构
大数据集群架构的数据文件管理系统前端采用HTML5进行人机交互设计,后端架构采用B/S架构设计,基于Spring MVC框架,实现模型、视图、控制器的分离,利于系统功能模块升级;权限管理采用Apache Shiro、界面显示框架采用Bootstrap、JQuery等Web应用主流框架/组件,降低开发风险和成本,缩短开发周期,提高整个系统安全性、稳定性、可扩展性。数据底层采用Hadoop HDFS文件系统结合My SQL数据库完成管理数据和数据文件的管理。
软件架构层次划分为分布式文件层、数据层、业务层和应用层四层。软件架构如图4所示。
分布式数据文件层有Hadoop的hdfs文件系统进行服务,直接对外提供数据文件的分布式访问。
数据层安装在独立的Mysql数据库内,保存数据文件的属性信息、用户信息、权限信息、组织架构信息以及任务信息等应用系统的基础信息。
业务层包含了用户、权限、工作流、任务控制、组织架构等信息的添加、删除、变更等基础管理服务,以及数据缓存机制,文件操作服务包括新建目录、删除目录、复制、合并、重命名基本文件操作。其中数据合并功能,可以将My Sql数据文件合并备份到分布式数据文件层,保证管理信息的可靠性,也提高了整个系统的可靠性。
应用层提供了相关业务层的人机交互界面,为用户提供统一的视图信息。
软件底层的核心主要是对Hadoop hdfs文件系统的操作。Hadoop有一个抽象的文件系统,HDFS只是其中一个实现,Java抽象类org.apache.hadoop.fs.File System定义了Hadoop的文件系统接口。Hadoop是通过Java编写的,通过org.apache.hadoop.fs.File System的具体实现类Distributed File System,可以调用所有的Hadoop hdfs文件系统交互操作。
综合利用Distributed File System和Hadoop提供的IOutils类完成数据文件的读写、查询等操作,实现业务层的文件操作功能。
分布式文件数据API操作的主要步骤是[9]:
(1)调用get函数得到文件系统实例,其中需要输入服务器的配置信息;
(2)调用open函数获取文件的输入流;
(3)调用create函数,制定Path对象,返回输出流;
(4)该过程可以使用Progressable重载方法跟踪执行进行;
(5)调用IOutils.copy Bytes方法完成数据的操作。
3 部署方式
3.1 原则
(1)可扩展性:服务器需具有横向扩展能力,因为随着应用和企业的不断壮大,用户增多,服务器应具备一定的可扩展空间;
(2)高可用性:为了保障服务的连续性,通常要求服务器不间断地工作,持续为用户提供连续服务,对于关键应用需要任何时间都可用,并且能保证响应速度。因此就要求服务器集群具有强大的处理能力,不能有单点故障,保证系统的高可用。
3.2 方案
通过对关键技术的对比分析,部署方案采用基于DNS负载均衡、反向代理均衡以及Tomcat全冗余session冗余备份的解决方案,DNS负载均衡作为全局负载器,通过分析客户在网络上地址,以及反向代理服务器的负载情况,将反向代理均衡服务器发布向客户,反向代理均衡器通过审视内部应用服务器的负载情况,将任务提交到空闲的服务器执行,并统一对外提供服务,而Tomcat自身的session全冗余备份模式,保证了服务的不间断和连续一致性。部署方案如图DNS全局负载均衡采用具有负载均衡功能的4层交换设备,反向代理服务器采用安装了ngix软件服务器,内部应用服务器利用tomcat部署小型集群。
通过以上部署,可以实现在广域网上不同地域服务器间的流量调配,保证终端使用最佳的服务,确保服务质量。
4 优势分析
(1)以WEB架构组建的数据管理应用,让用户有独享的数据管理界面,可以随时、随地接入,对数据进行管理、获取和分享。
(2)采用分布式集群架构,增强了多用户服务能力,只需通过简单的增加应用服务器,就可以从容的应对来自不同地域用户的激增。
(3)存储采用HDFS大数据分布式文件系统,较传统存储阵列带来了以下优点:
高性能,阵列主控一般链接速率6Gbps、10Gbps,总是有上限的服务能力,很难满足用户激增或数据吞吐量激增的情况,而随着用户、用户数据不断的增多,传统阵列架构将很难满足,而本系统数据分布在不同的Data Node节点上,每个Data Node节点都可以10Gbps为应用服务器提供数据,多台Data Node节点组合在一起,理想的吞吐率将达到10Gbps×N,远远超过传统阵列。
易扩充,该架构只需要通过简单扩展Data Node节点,就可以自动增加存储容量,传统阵列需要经过备份数据、重做阵列来扩充数据容量。
高可靠,一般默认配置下,该架构有3份的冗余存储,并可以通过策略来改变冗余的存储地域,保证了在不同地域、不同存储机柜都有备份。
经济性,可以利用廉价商用设备作为扩充节点,减少投入。
5 结束语
本文介绍了一种基于大数据集群架构的据管理系统方案,可以应用于需要在不同地域进行数据管理的场景,实现透明化数据管理与共享。通过利用HDFS分布式文件系统作为底层存储,上层利用Ngix反向代理的方式管理集群负载,解决了数据管理系统要求的高效性、高可用性和高可扩展性,以该架构搭建的系统能够解决在用户不断增多的情况下,较容易的通过增加硬件就完成系统的扩容,并具备异地就近服务、异地互备的能力。另外,前端搭建了WEB架构的数据管理应用系统,用户可以随时、随地的接入网路对数据进行管理和分享。
该架构为大数据架构的最基础平台,后期通过部署分布式计算框架或利用Map Reduce模型,将现有数据节点变为计算节点,可以方便的为用户提供并行计算服务。
摘要:由于传统存储设备容量、传输带宽有限,而且设备节点扩展难、使用难、数据管理难,不足以应付不断增长的用户及数据存储要求。针对这种情况,通过对现有大数据底层支撑技术的梳理,搭建了一种基于大数据集群架构的数据管理系统,该系统为满足支持不同地域海量数据服务的需求,考虑了高性能、易用性、易扩展和可靠性等方面的因素,解决了在用户激增的情况下,较容易的通过增加硬件就完成系统的扩容,并具备异地就近服务、异地互备的能力。
关键词:数据管理,大数据,集群,Hadoop Hdfs
参考文献
[1]沈志荣,易乐天,舒继武.大规模数据中心的数据存储可靠性[J].中国计算机学会通讯,2012,8(10):8-16.
[2]崔晶.基于DNS的Web服务集群负载平衡算法[J].中国科技信息,2007(5):118-120.
[3]陆嘉恒,文继荣,毛新生,等.分布式系统及云计算概论[M].北京:清华大学出版社,2011.
[4]蔡斌,陈湘萍.Hadoop技术内幕:深入解析Hadoop Common和HDFS架构设计与实现原理[M].北京:机械工业出版社,2013.
[5]Dean J,Ghemawat S.Map Reduce:Simplified Data Processing on Large Clusters[C].//Proc of 6th OSDI.San Francisco:USENIX Association,2004:137-150.
[6]Dean J,Ghemawat S.Experiences with Map Reduce:an abstraction for large scale compultation[C].//Proc 15th Inter-Conf on PACT.Washington DC,2006:1-2.
[7]Dean J,Ghemawat S Map Reduce:a flexible data processing tool[J].Communications of the ACM,2010,53:72-77.
[8]Apache Haoop[EB/OL].(2014-06-30)..http://hadoop.apache.org.
[9]李振举,李学军,杨晟.HDFS可视化管理系统设计与实现[J].微型机与应用,2015,34(8):80-82.
机械设计中数据精度的影响 篇11
一、机械数据精度的概述
机械设计精度是指相关工件在设计完成后所具有的包括尺寸大小、几何形状以及各表面相互位置等参数的实际值,与其预先设计应具备的理想几何参数需求比对的相符程度。设计精度通常包括尺寸精度、形状精度和位置精度等方面的内容,尺寸精度用来限制设计表面与其基准间尺寸误差的范围,形状精度用来限制设计表面宏观几何形状误差,位置精度用来限制设计表面与其基准间的平行度、垂直度、同轴度等相互位置误差。由于设计机械的性能、技术方法、生产条件等因素的不同影响,机械设计出来的相关零件在其尺寸、形状和表面相互位置参数与理想参数总是存在一定的偏离误差,在数值上通常采用设计误差的大小来表示设計精度。机械元件的设计精度和表面质量等设计质量、是保证相关机械产品装配质量的基础,设计误差的大小反映了设计精度的高低。
二、机械设计数据误差及产生原因
任何零件在设计过程都会存在设计误差,工艺系统误差是“因”,设计误差是“果”。原始误差与设计误差是一个因果关系,就是说因为有原始误差的存在,所以零件一定存在着设计误差。因此,有多方面因素对此系统产生影响,引起设计误差,归纳起来有以下下面几点:
①工艺系统几何误差:包括机床、夹具、刀具的制造和磨损。尺寸链误差,机床传动链的静态和动态调整误差及工件、夹具、刀具的安装误差。
②定位基准与设计基准不重合时所产生的基准不重合误差:只有在采用调整法设计时才会产生,在试切法设计中不会产生。
③工艺系统热变形产生的误差:包括机床、刀具和工件热变形以及环境温度变化所产生误差。在设计过程中,由于受切削热、摩擦热及工作场地周围热源影响,工艺系统温度会产生复杂变化,工艺系统通常会发生变形,改变了系统中各组成部分的正确相对位置,导致了设计误差产生。
④由于人为情绪、技术水平不稳定所引起的设计误差。
三、机械设计工艺系统误差
1.机床的几何误差。在零件的实际实践设计过程中,刀具相对于工件的成形作用主要都是通过机床完成的,因此,工件的设计精度在很大程度上取决于机床的精度。我们了解到,而机床制造误差对工件设计精度影响较大的有,主轴回转误差、导轨误差和传动链误差。且不难发现,机床的磨损将使机床工作精度下降。
2.刀具的几何误差。任何刀具在切削过程中,都不可避免地要产生磨损,并由此引起所设计零件件尺寸和形状地改变。正确地选用刀具材料和选用新型耐磨地刀具材料,正确地采用冷却液、合理地选用刀具几何参数和切削用量,正确地刃磨刀具等,都可以有效减少刀具地尺寸磨损,因此从而提高所设计零件精准度。而必要时候还可以采用补偿装置对刀具尺寸磨损进行自动补偿。
3.工艺系统受热变形引起误差。我们知道,工艺系统热变形对设计精度的影响比较大,特别是在精密设计和大件设计中,由热变形所引起的设计误差有时可占工件总误差的百分之40到百分之70。机床、刀具和工件受到各种热源的作用,温度会逐渐升高,与此同时,它们也会通过各种传热方式向周围的物质和空间散发热量。在此过程中,单位时间传入的热量与其散出的热量相等时,工艺系统就达到了热平衡状态。
四、提高机械精度的误差控制措施
相对而言,机械设计过程中的精度误差具有不可避免的客观性,但应该在最大可能的基础上将影响机械设计精度的误差因素控制在允许范围内,从而提高工件设计质量和精度,具体措施如下:
①减少原始精度误差。高零件设计所使用机床的几何精度,提高夹具、量具及工具本身精度,控制工艺系统受力、受热变形、刀具磨损、内应力引起的变形、测量误差等均属于直接减少原始误差。它是生产应用较广的一种基本方法。为了提高机械设计精度,需对产生设计误差的各项原始误差进行分析,根据不同情况对造成设计误差的主要原始误差采取不同的措施解决。对于精密零件的设计应尽可能提高所使用精密机床的几何精度、刚度和控制设计热变形;对具有成形表面的零件设计,则主要是如何减少成形刀具形状误差和刀具的安装误差。
②对传动精度实行实时补偿控制。在电子信息技术广泛使用以前,例如补偿控制技术主要应用在传动精度要求很高的机床中,其补偿控制装置由校正尺、杠杆、及接收附加运动的螺母等组成。机械补偿控制装置简单可靠,但补偿精度依赖于校正尺的制作精度,另外校正尺的调整也比较复杂。在现代数控机床上,一般都采用的软件补偿,事先测量好误差数据放在数据表中,数控系统在完成每一次精插补后,根据当前坐标位置从数据表中查找误差补偿值,并据此控制坐标轴一个附加的运动。
③加强精度误差预防。误差预防是指减少误差源、改变误差源至设计误差之间的数量转变关系。常用的方法有:直接减少原始误差法、误差转移法、采用先进工艺和设备法、误差分组法、就地设计法和误差平均法等等之类。实践与分析表明,精度要求高于某一程度后,利用误差预防技术来提高设计精度所花费成本等成指数增长。
④转移精度误差。实质就是将原始误差从误差敏感方向转移到误差非敏感方向上去。
五、结语
机械设计是当前机械工业产品的生产重要环节,随着国家科技的迅猛发展,对于机械工件的设计精度和质量要求程度较为严格,采取合理措施减少或消除相关影响机械设计精度的误差因素,是保障机械设计的产品质量的必要阶段。
参考文献:
[1]严桂英.改革与战略,2008
[2]张国丽.基于CAXA数控仿真系统的数学实训平台的研究.华北电力大学(保定),20012
设计数据 篇12
数据仓库整体架构的设计应充分考虑系统的稳定性、安全性、可扩展性,设计高效、支持多个并发用户的数据库访问操作。数据导入是数据仓库数据流向的主要环节,要完成将来自源数据的数据向数据仓库的抽取、转换和加载的工作。
1 设计与指导原则
(1)模块化的系统设计
将管理控制类的模块与具体的数据处理模块严格分开,因为数据处理模块将随着数据源的扩大而进一步扩展和扩充,因此松耦合的模块设计将使得系统的扩展性大大增强;
(2)统一的调度与管理
在统一的调度与管理服务的控制下,各ETL任务在每个加载周期的运行状态与出错情况将显得非常直观,以提高ETL的运行维护效率。
(3)高效的ETL加载策略
数据导入层涉及的数据处理环节较多,且数据吞吐量较大,因此高效率的ETL加载策略将显著提高ETL过程的效率,有效缩短ETL加载时间窗口,其原则是尽量利用Teradata的性能优势来完成对大数据量的汇总与转换等各种繁重计算与操作。
(4)安全的数据管理与用户管理
ETL过程中数据在不同环节间流动,其数据本身的安全性是ETL过程不可忽略的因素;此外,数据的加载与转换必然涉及到对数据库用户的管理,口令必须以加密形式存放。
(5)便利的消息通知机制
ETL任务的执行情况需要及时告知ETL加载运行和维护人员,因此在ETL体系设计中应包含一个消息通知的机制,将每日ETL任务的完成情况和出错报警以邮件和短消息的形式通知运维人员。
2 加载策略
源数据的获取将依赖于数据的生成和更新周期,目前与源数据层约定的获取接口为规定的数据库接口,由Data Stage通过数据库接口,从各个源系统获取源数据,在ETL服务器上,以数据文件或命名管道文件的形式,将数据加载到数据仓库中央数据库中。
在经过初步的转换处理后,数据将首先加载进入数据仓库临时数据区,在临时数据区的基础上完成数据的进一步清洗、汇总计算和转换处理,并最终生成数据仓库的物理模型数据,相关的数据集市和OLAP立方体,以及其他为数据输出而准备的中间数据。
在整个ETL过程中,需要自动化管理ETL任务调度和控制以及必要的数据质量检查模块。
3 相关层次
数据导入是在源数据中经确认的数据进入数据仓库数据服务的数据获取和数据处理的中间层,是重要的数据处理环节。
以下将结合ETL过程的几个重点步骤,对数据导入的数据处理过程进行详细的描述:
(1)确认
源数据的确认是指根据针对本系统的业务需求,来定义包含相应的数据源的物理表/数据结构的过程,这些表在进行信息需求分析时需要确定下来,即确定需要使用源系统的哪些数据来满足业务需求。
(2)映射
数据的映射(Mapping)是指确定操作源数据和数据仓库数据库中数据存储之间的物理映射关系,简单的说就是将已确认的源数据与本系统数据库中的数据相对应起来,供ETL参考。
(3)获取
为了把源数据加载到数据仓库数据库中,首先需要先获取这些数据。一般来讲,数据获取包括两种方式:
数据源主动(PUSH):即数据源主动定时将相关数据吐到ETL服务器上。再由ETL服务器对数据进行必要处理(转换、清洗)后加载到数据库;
ETL服务器主动(PULL):即ETL服务器主动到数据源中获取数据。
考虑到本系统的主要数据源是业务系统的镜像系统或Snapshot,数据获取过程将采用ETL服务器主动(PULL)的方式,即业务系统完成Snapshot或镜像处理后,由ETL服务器主动到业务系统的镜像系统或Snapshot中获取数据,而后直接加载入数据仓库数据库中。
(4)转换
转换工作主要分为两部分:
加载前的转换:主要是针对数据格式、代码映射以及数据类型转换等。
加载后的清洗和转换:主要是针对明细数据进行汇总计算以及异常数据的过滤。
(5)加载
数据加载是将完成抽取、转换后的源数据加载到数据仓库中央数据库中,数据加载过程需保证加载的快速、稳定,并且考虑到数据加载的维护,本次源数据向数据库加载将仅采用Data Stage的Teradata专用组件Teradata Enterprise来完成,数据后续处理(产生汇总表,多表关联等)的工作将使用Teradata SQL来完成。
4 数据质量管理
数据质量对任何数据仓库来说都是非常重要的,决策支持的质量往往是取决于查询所选择的数据本身的质量。一般地,数据质量问题主要来源于以下几种情况:
1)源数据质量问题:源系统中的数据信息不真实、不符合业务规则或数据约束条件,或者源系统导出的接口数据文件不符合接口标准或格式等;因此在数据仓库建设中仍要采用多种手段进行数据质量的检查和管理。
2)数据从源系统到数据仓库的抽取、传输过程中造成数据失真、丢失,或在整合过程中对数据的取舍存在误判;这类问题主要来自于ETL体系本身,可以通过各类技术手段进行避免。
3)从数据仓库到前端展现存在的问题,包括代码错误、算法错误,或者对业务问题的理解错误等。这部分主要是业务逻辑与统计口径不准确所致,并不能代表数据本身的质量问题。
数据质量管理包括:检查规则管理、数据质量检查模块以及数据质量检查结果展示与管理。
检查规则管理是通过数据库中建立一个数据检查的规则库,用于各数据质量检查模块进行数据检查的依据。
数据质量检查模块是分散在数据导入即ETL的各个环节中,数据质量检查包括文件级检查、记录级检查以及业务指标检查。
文件级检查的主要内容包括:
文件大小检验:确保数据在传输过程中没有缺失、损坏,在本系统中,就是保证数据由数据源到数据加载机(ETL服务器)传输的完整性。
文件格式检验:接口数据文件的格式是否是按照约定的格式进行,如定长或变长、分割符的约定等。
记录级检查的主要内容包括:
数据类型与格式检查
主外键及关联检查
编码映射检查
数据值域检查
基本业务规则检查
记录集合检查,数据仓库临时数据区数据与一期ODS的数据比较;
业务指标检查的主要内容包括:
比较同一业务指标在临时数据区、数据区及OLAP的计算值,判断数据在转换过程中是否遗漏;
利用来自其他渠道的业务指标参考值,与该指标在数据区或OLAP的计算值相比较,判断数据的正确性;
【设计数据】推荐阅读:
产品设计数据10-06
数据增强设计论文11-28
移动数据库设计05-10
多数据库设计06-06
电能量数据平台设计06-19
高校档案数据仓库设计07-31
数据输入界面设计11-19
数据库设计原则11-26
试验设计与数据分析07-30
多路数据采集系统设计08-01