数据采集自动化处理及数据挖掘.doc_第1页
数据采集自动化处理及数据挖掘.doc_第2页
数据采集自动化处理及数据挖掘.doc_第3页
数据采集自动化处理及数据挖掘.doc_第4页
数据采集自动化处理及数据挖掘.doc_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

HUNAN UNIVERSITY 毕业设计(论文)毕业设计(论文) 设计(论文)题目设计(论文)题目: 数据采集自动化处理与数据挖 掘 学生姓名 : 武 祥 斌 学生学号 : 20041610326 专业班级 : 软件工程 2004 级开发 2 班 指导老师: 李 玮 系主任(院长): 林亚平 2008 年 5 月 26 日 数据采集自动化处理与数据挖掘 摘要 目前,随着社会经济的发展,金融市场变的异常庞大和复杂,而基金作为 一种金融衍生产品,在金融市场中占有一席之地。随着基金产业的不断发展, 各种类型的基金进入金融市场,作为一种理财产品,就是要为大众服务,帮 助大家理财,然而当投资者面对大量的基金产品,不知应该怎样选择,所以 我们的目标就是帮助普通的投资者和金融机构做出判断,指引他们选择适合 自己的基金。 为了达到上面的目的,我们就需要大量的数据来做支撑,所以采集这些基 金产品的数据是十分重要的,每天有来自世界各地的金融机构为我们提供这 些数据,而我们的目的就是要采集这些数据,保持数据的完整性和正确性就 是我们这套系统的主要功能。 我们采用程序的方式来实现这样的数据采集,并且不需要人工干预,本套 系统采用了 c#语言,以及三层结构本身的一些设计上特点做了较为详细的分 析,以及大量采用了 XML 技术, 三层架构的设计实现了一套功能相对完备并 具有良好用户界面和可扩展性的系统。在本中也对本文中的创新点进行阐述, 同时展望了采集数据的自动化和数据挖掘的发展方向以及前景。 关键词关键词:基金,XML,数据挖掘 Automation of Data Collection and Data Mining ABSTRACT Author: Wu xiang bin Tutor:Li Wei At present, as the social and economic development, financial markets become unusually large and complex, and the fund as a financial derivative products, financial markets in a place. With the continuous development of the industry, various types of funds into the financial markets, financial products as a means for the public services, financial management help people, but when investors face a lot of fund products, they do not know what to choose, Our goal is to help ordinary investors and financial institutions to make a judgement, the guidelines they choose to suit their own funds. To achieve the above objectives, we need to do a lot of data support, the collection of data products of these funds is very important, every day from all over the world financial institutions to provide us with these data, and our goal is to acquisition of these data, and maintain data integrity and accuracy of this system is our main function. We adopt a program approach to achieve such a data collection, and does not require manual intervention, this set of systems used c # language, and the three-tier structure itself to do some design features a more detailed analysis, and a large number of XML technology, The three-tier system designed to achieve a relatively complete set of features and has a good user interface and scalability of the system. In this paper also on the point on innovation, and the prospect of automated data collection and data mining direction for the development and prospects. Key words: fund, XML, data mining. 目 录 1 绪论6 1.1 本课题的简介.6 1.2 本课题的目的和意义.7 2 技术背景8 2.1 WEB服务的概念.8 2.2 .NET WEB 服务的优势8 2.3 XML.9 2.4 系统的体系结构.11 2.4.1 传统的两层结构11 2.4.2 三层结构简介11 2.4.3 用 ASP.NET 部署三层架构12 2.4.4 IIS.13 2.4.5 体系结构建立的几个原则14 2.5 数据挖掘.15 2.5.1 什么是数据挖掘15 2.5.2 数据挖掘能做什么16 2.5.3 数据挖掘的实现17 3 系统功能设计18 3.1 概要说明.18 3.2 DOWNLOADER模块 .19 3.2.1 主要处理流程19 3.2.2 类图20 3.2.3 功能实现21 3.3 PARSER模块 22 3.3.1 主要处理文件流程22 3.3.2 类图24 3.3.3 功能实现25 3.4 IMPORTER模块 27 3.4.1 主要处理流程27 3.4.2 类图28 3.4.3 功能实现29 3.5 基金数据点定义表格.29 3.6 数据库设计.32 3.6.1 系统要求32 3.6.2 数据库逻辑结构图32 3.7 系统界面设计.35 4 系统测试.39 4.1 DOWNLOADER测试 .39 4.1.1 Email 下载文件测试39 4.1.2 Ftp 下载文件测试 40 4.1.3 Ssh 下载文件测试41 4.1.4 Local 下载文件测试(Copy).41 4.1.5 Local 下载文件测试(Move)42 4.2 PARSER测试 42 4.3 IMPORTER测试 43 4.3.1 导入文件到数据库中43 4.3.2 以固定优先级打开 importer.44 5 结论.44 5.1 本文总结44 5.2 系统的前景展望45 5.3 下一步工作45 致 谢.46 参考文献.47 1绪论 1.1本课题的简介 数据采集自动化处理其实就是一个系统,此系统主要任务就是自动化的 采集数据。对各种基金数据进行整理,分类,最后得到我们可以识别的标准 格式的文件类型的数据文件。 图 1.1 系统整体数据流图 图 1-1 是整个系统的结构图,通过结构图可以很清楚的看到整个系统的大 致的结构和所完成的一些功能有一个初步的了解。 1.2本课题的目的和意义 随着社会不断的进步和发展,人们的生活变的越来越充裕,手中的钱也 越来越多,因此人们选择了理财产品,而不在是存在银行中,但是众多的金 融衍生产品使投资者眼花缭乱。 共同基金这种新兴投资方式的出现,是市场经济特别是证券高度发达的 必然结果。面对各类证券数量的迅速扩张和投资风险的不断加大,个人投资 者对共同基金的倚赖性逐渐增加。这是因为:共同基金将众多小额的资金汇 集起来,积少成多,能从规模经济中获益。 随着我国经济商品化,货币化进程的发展和我国社会市场经济体制的确 立,逐步发展和完善的证券市场将在其中发挥越来越重要的作用。因此,可 以预料,共同基金在我国产生和发展也将是为期不远的现实。 而我们的这个题目的目的就是在于帮助分析人员提供大量的基金数据, 使分析人员不用关心数据,我们会提供给他们正确和完整的数据,而这些数 据的来源就是世界上各个金融机构提供给我们的文件中包括的数据,我们采 用自动化的数据采集,保证了快速和准确的把数据收集起来,然而再美国境 内,美国的机构提供的都是格式统一的文件,这样我们很容易把数据转化为 我们内部可以识别的格式文件,在美国之外,也就是欧洲和亚洲等各个机构 提供的文件格式不同,比如 excel,pdf,txt 等各种各样的格式,我们需要应对各 种的方式来处理文件,最终得到统一的格式,为金融分析人员提供第一手的 数据。 这个系统的意义还在与能够减少人工的参与,大量减少人工的工作量, 再最以前都是人工的读文件取数据并且录入数据,采用现在的信息化处理数 据能够减少公司的开支并且得到最准确和及时的数据,这是金融分析最重要 的一点。 2技术背景 2.1Web 服务的概念 Definition: A Web service is a software system designed to support interoperable machine-to-machine interaction over a network. It has an interface described in a machine-processable format (specifically WSDL). Other systems interact with the Web service in a manner prescribed by its description using SOAP messages, typically conveyed using HTTP with an XML serialization in conjunction with other Web-related standards. Web 服务是一个软件系统,是被开发用来支持可同时操作的,跨越网络 的机器对机器之间的交互。它包含一个以机器可处理格式描述的接口(特指 WSDL)。其他系统同 Web 服务交互以一种本身的描述中规定的方式,使用 SOAP 消息,代表性在同 Web 相关的标准的联结中使用一个 XML 连续,利 用 HTTP 传达(消息)。 2.2.NET WEB 服务的优势 谈到.NET,.NET 是微软为 Web 服务提供的一个平台。微软做.NET 的目 的是,希望在 PC 和 Internet 之后,为用户提供更高层次的服务。也就是说, PC 上做的事,有了 Internet,可以做到 100 倍,而 Web 服务来到后,也许能 做 10000 倍。 Web 服务最终的目的可分为用户、开发商和企业用户。从用户看,Web 服务将用户的需求分成几个部分,逐步完成。比如说,买一束花在今天的互 联网上也能做到。但你需要去搜索卖花,搜索到的也许并不是你所最想要的; 你还需要输入信用卡号和地址,而且所有的数据也不能重复使用。而在 Web 服务中,你只需告诉计算机:我要买束花就行了;因为你的很多数据已经存 在 Web 服务中。 从开发者角度看,Web 服务的目的是让人们开发的程序都能相互结合起 来,比如说,卖花与付款两个服务模块,在开发时并没有任何协议,是独立 开发的,但把它们放在一起,也能运行。对于商业用户来说,不但可以提高 效率,降低 IT 预算,软件可以重用,而且,能够做的事情更多。 .NET 是一个很长的过程,最终目的是任何时候任何一个程序都可以与另 一个程序兼容。Web 服务的优势就像滚雪球那样,滚到一定程度,效果就出 来了。足够多的 Web 服务出现后,成长的速度会非常快。 2.3XML XML 定义: XML 是可扩展标志语言(eXtensible Markup Language)的简称。像 HTML 一样,XML 是从所有标志语言的元语一标准通用标志语言 SGML(Standard Generalized Markup Language)那里派生出来的。设计之初,XML 的目标之一 是取代 HTML 为新出现的复杂的 Web 应用提供标准的 Internet 语言。然而, 由于 XML 在可扩展性、可移植性和结构性等方面的突出优点,它的应用范围 早己突破了 HTML 所达到的范围。尽管严格地讲,XML 只是一种数据标志说 明语言,但它已经开始渐渐地把一系列相关的技术包含进来了,像 DOM,XSL,XLL,XML 命名空间。 XML 是一种元标记语言,所谓“元标记”就是开发者可以根据自己的需 要定义自己的标记。比如开发者可以定义如下标记,任何满足 XML 命名规则的名称都可以标记,这就为不同的应用程序打开了大门。 HTML 是一种预定义标记语言,它只认识诸如等已经定义的标记,对于用户自 己定义的标记是不认识的。 XML 可以通过 DTD(Document Type Definition,文档类型定义)和 XML schema 对其结构进行定义和验证。)CML 技术支持 DOM(Document Object Model,文档对象模型)和 SAX( Simple Application for XMLXML 简单应用程 序)两种编程接口技术,还能使用 XPath 语言对数据内容进行查询。XML 技术 支持 XSLT(eXtensible Stylesheet Language Transformations,可扩展样式表语言 转换)格式转换,利用 XSLT 技术能将 XML 文件转换为各种不同的格式,如 格式不同的 XML 文件、HTML 文件、文本文件、无线标记语言(WML)和 SVG 文件等。 主要特点: 1.简单性;2.可扩展性;3.互操作性;4.开放性;5.结构化数据。 数据表示: HTTP 是一种基于文本的协议,因而缺乏表示 RPC 消息中的参数值的机 制,这也是 XML 作为 Web 服务的一个重要成分出现的原因。XML 是一项将 类型和结构置于信息上层的技术,它架起了应用程序数据类型与存储和传输 单元之间的桥梁,因此 XML 可以被看作是一种串行格式化的传输语法,允许数据被串行化为易于被任何 平台解码的消息格式,提供了在网络应用之间交换结构化数据的机制。 XML 采用纯文本表示,设计的初衷是为了存储、传送和交换数据的。 XML 是一种标记语言,标记在 XML 中不是预先确定的,而必须由使用者自 己定义。XML 允许使用者自由发表有用的信息,不仅可以是有关数据结构的, 也可以是关于数据意义的。另外,XML 文档的结构、内容和外观可以作为三 个不同的部分进行维护,提供了更高的独立性。 对于数据表示层来说,可扩展性是一个关键因素。为了支持可扩展性, Web 服务需要一种机制以避免名字冲突,并允许一个程序只处理自己所关心 的元素。XML 名称空间(Namespaces)提供了一种简单、通用的方式以区分相 同名字的元素或属性。为了支持可扩展性,XML 中的每个元素和属性都有一 个相关的名称空间。 数据格式: Web 服务需要一种方法定义 Web 服务消息中使用的数据类型。XML Schema 规范标准化了一个描述 XML 数据类型的符号集,还定义了一个内置 简单数据类型的集合和在各 XML 文档中建立元素类型的机制。XML Schema 规定了 XML 文档的逻辑结构,定义了元素、元素属性以及元素和元素属性之 间的关系。 2.4 系统的体系结构 2.4.1 传统的两层结构 在过去应用系统开发过程中,Client/Server 体系结构得到了广泛的应用。 其特点是,应用程序逻辑通常分布在客户和服务器两端,客户端发出数据资 源访问请求,服务器端将结果返回客户端。但 Client/Server 结构存在着很多体 系结构上的问题,比如:当客户端数目激增时,服务器端的性能会因为负载 过重而大大衰减;一旦应用的需求发生变化,客户端和服务器端的应用程序 都需要进行修改,给应用维护和升级带来了极大的不便;大量的数据传输增 加了网络的负载等等。 2.4.2 三层结构简介 所谓三层体系结构,是在客户端与数据库之间加入了一个“中间层” ,也 叫组件层。这里所说的三层体系,不是指物理上的三层,不是简单地放置三 台机器就是三层体系结构,也不仅仅有 B/S 应用才是三层体系结构,三层是 指逻辑上的三层,即使这三个层放置到一台机器上。 三层体系的应用程序将业务规则、数据访问、合法性校验等工作放到了 中间层进行处理。通常情况下,客户端不直接与数据库进行交互,而是通过 COM/DCOM 通讯与中间层建立连接,再经由中间层与数据库进行交互5。 随着分布式对象技术的逐渐成熟,多层分布式应用体系结构得到了越来 越多的应用。应用系统只有向多层分布式转变,才能最终解决 Client/Server 结 构存在的问题。在多层架构下,应用可以分布在不同的系统平台上,通过分 布式技术实现异构平台间对象的相互通信。将应用系统集成于分布式系统之 上,能极大地提高系统的可扩展性。 在多层分布式应用中,在客户端和服务器之间加入了一层或多层应用服 务程序,这种程序称为“应用服务器” 。开发人员可以将应用的商业逻辑放在 中间层应用服务器上,把应用的业务逻辑与用户界面分开。在保证客户端功 能的前提下,为用户提供一个简洁的界面。这意味着如果需要修改应用程序 代码,只需要对中间层应用服务器进行修改,而不用修改成千上万的客户端 应用程序。从而使开发人员可以专注于应用系统核心业务逻辑的分析、设计 和开发,简化了应用系统的开发、更新和升级工作。 因此,本系统将选择三层体系结构,图 2.1 是系统高层逻辑体系结构图: 图 2.1 高层逻辑体系结构 2.4.3 用 ASP.NET 部署三层架构 就 B/S 模式的系统的开发,具体技术又有多种选择:JSP + J2EE,ASP+IIS,ASP.NET + Microsoft .NET Framework + IIS,PHP + Apache,就这几门技术,可以说各有其优缺点,分析如下: JSP 技术:具有良好的跨平台性,加上 J2EE 功能十分强大,但是 J2EE 的布置使开发成本显得略高,而且没有良好的安装界面。 PHP 技术:是早期动态网页技术中的强手,但随着 JSP 技术与 ASP 技 术的不断更新,使得 PHP 技术稍微比较落后。 ASP 技术:类似于 PHP 技术,开发简便,快速,加上 IIS 的功能支持, 是比较简易快速的开发技术。 ASP.NET:可以说是 ASP 技术的替代技术,是 ASP 的一大进步,在 Microsoft .NET Framework 的强大支持下,可以使用 C#、VB、JavaScript 等数 十种语言来编写代码,采用预先编译技术,使得代码安全性加强。 逻辑层数据层表示层 CodeBehind 后台代码 ASP.NET 显示页面 Business Layer Data Layer DataBase Microsoft .NET Framework 是微软推出的一套下一代开发平台。从开发人 员的角度来看,.NET 是一个公共平台的类库(FCL),包括一个公共语言运行 库(CLR)。因为只要符合.NET 的公共运行规范(CLS 的语言都可以使用它提供 的强大的类,并编译为微软的中间语言(MSIL) ,在其他的应用中就可以当 作一个组件来调用。同时享受公共语言运行库带来的一切好处:垃圾自动回 收(GC)、实时编译(JIT)、跨语言互动、跨平台。 .NET 可比喻是操作系统提 供给开发人员的面向对像的 API(应用程序编程接口)。 ASP.NET 只是.NET 中的一部分。它除了是编译执行速度快外,最大的优 点是页面和代码分离的编写方式,对惯使 RAD 工具的人来说是个福音。再加 上.NET 运行库提供的支持事件的各种 WEB 控件,和以前编写网页方式相比 可谓是一场革命。 ASP.NET 可以使用.NET 平台快速方便的部署三层架构。.NET 中可以方 便的实现组件的装配,后台代码通过命名空间可以方便的使用自己定义的组 件。表示层放在 ASP.NET 页面中,数据库操作和逻辑层用组件来实现,这样 就很方便的实现了三层架构。 2.4.4 IIS IIS 是 InternetInformationServer 的缩写,它是微软公司主推的服务器,最 新的版本是 Windows2003 里面包含的 IIS 6, IIS 与 WindowNT Server 完全集 成在一起,因而用户能够利用 Windows NT Server 和 NTFS (NT File System,NT 的文件系统)内置的安全特性,建立强大,灵活而安全的 Internet 和 Intranet 站 点。 IIS 支持 HTTP(HypertextTransferProtocol,超文本传输协议), FTP(Fe1eTransfer Protocol,文件传输协议)以及 SMTP(Simple Mail Transfer Protocol, 简单邮件传输协议),通过使用 CGI 和 ISAPI,IIS 可以得到高度的 扩展。 IIS 支 持 与语言无关的脚本编写和组件,通过 IIS,开发人员就可以开 发新一代动态的,富有魅力的 Web 站点。IIS 不需要开发人员学习新的脚本语 言或者编译应用程序,IIS 完全支持 VBScript, JScript 开发软件以及 Java, 它也支持以工和 WinCGI,以及 ISAPI 扩展和过滤器。 IIS 的设计目的是建立一套集成的服务器服务,用以支持 HTTP, FTP 和 SMTP,它能够提供快速且集成了现有产品,同时可扩展的 Internet 服务器。 IIS 相应性极高,同时系统资源的消耗也是最少,IIS 的安装,管理和配置都 相当简单,这是因为 IIS 与 Windows NT Server 网络操作系统紧密的集成在一 起,另外,IIS 还使用与 Windows NT Server 相同的 SAM(Security Accounts Manager,安全性账号管理器),对于管理员来说,IIS 使用诸如 Performance Monitor 和 SNMP (Simple Nerwork Management Protocol,简单网络管理协议) 之类的 NT 已有管理工具。 IIS 支持 ISAPI,使用 ISAPI 可以扩展服务器功能,而使用 ISAPI 过滤器 可以预先处理和事后处理储存在 IIS 上的数据。用于 32 位 Windows 应用程序 的 Internet 扩展可以把 FTP,SMTP 和 HTTP 协议置于容易使用且任务集中的 界面中,这些界面将 Internet 应用程序的使用大大简化,IIS 也支持 MIME(MultipurposeInternet Mail Extensions,多用于 Internet 邮件扩展),它可 以为 Internet 应用程序的访问提供一个简单的注册项。 2.4.5 体系结构建立的几个原则 系统在.NET 体系结构的选择上,基于以下几个原则: 1尽量创建可重用代码 在确认体系结构和基础代码将要提供什么样的服务时,最重要的任务就 是找出那些通用的、可重用的任务,这些任务将被不同的程序模块调用。 构建 HWMPS 的体系结构和基础框架也必须是可扩展的,应该支持功能 的增加与扩展而不影响原有的功能模块。 2加强设计模式与最佳实践 在设计 HWMPS 体系架构时,应自底向上的设计每一步。进行底层的最 佳模式设计。 3提供通用功能 提供一个健壮的体系结构另一种益处就是能够发布被其他组件共享的有 用功能,比如定义一些异常类、日志类、页面类,所有的基页面都继承自这 些类。 4提供开发基础 除了加强设计模式和提供通过功能外,自下而上的建立体系结构还有另 外的好处,许多开发团队会遇到一个问题,那就是每个人会按自己独特的方 式去完成任务,由于 Microsoft.NET 规模大并且对每一个问题可以提供多种解 决办法,这个问题会变得特别突出。 通过建立一个强壮的体系结构,可以向开发者明确的描述如何去完成不 同的任务,可以提供标准化的代码,用开发者用来处理缓存、调用上下文、 数据访问等。当开发者围绕该体系结构执行各种不同的任务时,就可以告诉 他们如何使用。 2.5 数据挖掘 2.5.1 什么是数据挖掘 数据挖掘(Data Mining),又称为数据库中的知识发现(Knowledge Discovery in Database, KDD),就是从大量数据中获取有效的、新颖的、潜在有用的、最 终可理解的模式的非平凡过程,简单的说,数据挖掘就是从大量数据中提取 或“挖掘”知识。 并非所有的信息发现任务都被视为数据挖掘。例如,使用数据库管理系统 查找个别的记录,或通过因特网的搜索引擎查找特定的 Web 页面,则是信息 检索(information retrieval)领域的任务。虽然这些任务是重要的,可能涉及 使用复杂的算法和数据结构,但是它们主要依赖传统的计算机科学技术和数 据的明显特征来创建索引结构,从而有效地组织和检索信息。尽管如此,数 据挖掘技术也已用来增强信息检索系统的能力。 2.5.2 数据挖掘能做什么 数据挖掘能做以下六种不同事情(分析方法): 1. 分类 (Classification) 首先从数据中选出已经分好类的训练集,在该训练集上运用数据挖掘分 类的技术,建立分类模型,对于没有分类的数据进行分类。 例子: (1) 信用卡申请者,分类为低、中、高风险 (2) 分配客户到预先定义的客户分片 注意: 类的个数是确定的,预先定义好的 2. 估值(Estimation) 估值与分类类似,不同之处在于,分类描述的是离散型变量的输出,而 估值处理连续值的输出;分类的类别是确定数目的,估值的量是不确定的。 例子: (1) 根据购买模式,估计一个家庭的孩子个数 (2) 根据购买模式,估计一个家庭的收入 (3) 估计 real estate 的价值 一般来说,估值可以作为分类的前一步工作。给定一些输入数据,通过估 值,得到未知的连续变量的值,然后,根据预先设定的阈值,进行分类。例 如:银行对家庭贷款业务,运用估值,给各个客户记分(Score 01) 。然后, 根据阈值,将贷款级别分类。 3. 预言(Prediction) 通常,预言是通过分类或估值起作用的,也就是说,通过分类或估值得 出模型,该模型用于对未知变量的预言。从这种意义上说,预言其实没有必 要分为一个单独的类。预言其目的是对未来未知变量的预测,这种预测是需 要时间来验证的,即必须经过一定时间后,才知道预言准确性是多少。 4. 相关性分组或关联规则(Affinity grouping or association rules) 决定哪些事情将一起发生。 例子: (1) 超市中客户在购买 A 的同时,经常会购买 B,即 A = B(关联规则) (2) 客户在购买 A 后,隔一段时间,会购买 B (序列分析) 5. 聚集(Clustering) 聚集是对记录分组,把相似的记录在一个聚集里。聚集和分类的区别是 聚集不依赖于预先定义好的类,不需要训练集。 例子: (1) 一些特定症状的聚集可能预示了一个特定的疾病 (2) 租 VCD 类型不相似的客户聚集,可能暗示成员属于不同的亚文化群 聚集通常作为数据挖掘的第一步。例如,“哪一种类的促销对客户响应最 好?“,对于这一 类问题,首先对整个客户做聚集,将客户分组在各自的聚 集里,然后对每个不同的聚集,回答问题,可能效果更好。 6描述和可视化(Des cription and Visualization) 是对数据挖掘结果的表示方式。 2.5.3 数据挖掘的实现 在技术上可以根据它的工作过程分为:数据的抽取、数据的存储和管理、 数据的展现等关键技术。 1. 数据的抽取 数据的抽取是数据进入仓库的入口。由于数据仓库是一个独立的数据环 境,它需要通过抽取过程将数据从联机事务处理系统、外部数据源、脱机的 数据存储介质中导入数据仓库。数据抽取在技术上主要涉及互连、复制、增 量、转换、调度和监控等几个方面的处理。在数据抽取方面,未来的技术发 展将集中在系统功能集成化方面,以适应数据仓库本身或数据源的变化,使 系统更便于管理和维护。 2. 数据的存储和管理 数据仓库的组织管理方式决定了它有别于传统数据库的特性,也决定了 其对外部数据的表现形式。数据仓库管理所涉及的数据量比传统事务处理大 得多,且随时间的推移而快速累积。在数据仓库的数据存储和管理中需要解 决的是如何管理大量的数据、如何并行处理大量的数据、如何优化查询等。 目前,许多数据库厂家提供的技术解决方案是扩展关系型数据库的功能,将 普通关系数据库改造成适合担当数据仓库的服务器。 3. 数据的展现 在数据展现方面主要的方式有: 查询:实现预定义查询、动态查询、OLAP 查询与决策支持智能查询;报 表:产生关系数据表格、复杂表格、OLAP 表格、报告以及各种综合报表;可 视化:用易于理解的点线图、直方图、饼图、网状图、交互式可视化、动态 模拟、计算机动画技术表现复杂数据及其相互关系;统计:进行平均值、最 大值、最小值、期望、方差、汇总、排序等各种统计分析;挖掘:利用数据 挖掘等方法,从数据中得到关于数据关系和模式的知识。 3系统功能设计 3.1 概要说明 系统主要由 3 部分组成,分别 Downloader,Parser,Importer.每个不同的 部分有不同的责任,而每两个部分之间都是相互关联的。 Downloader 负责把 文件从不同的服务器上下在下来。而 Parser 负责把文件解析成标准格式的文 件。最后 Importer 把文件分别放入到 Master Data , Orphan Data ,Failed Data 中。 3.2Downloader 模块 3.2.1 主要处理流程 Read download type and destination folder from AppSettings.config Ftp,Ssh,Local 2.1 Iterate getting delivery setting xml Get delivery record list with download type ProviderDelivery Get concrete controller Connect the server Download raw file to destination folder Add raw file recordProviderRawFile Find raw file Download Type ?Email Get mail server list MailBox 1.1 Iterate to deal with each mail server Connect to mail server Get mail info list 1.1.1 Iterate dealing with each mail Searching matched provider delivery of mail Download attachment (raw file) to destination folder Iterate dealing with each attachments in mail Add raw file record 1. Loop every X minutes. (X is configured in AppSettings.config) 2. Loop every X minutes. (X is configured in AppSettings.config) 图 3.1 Downloader 主要数据流图 3.2.2 类图 MainProcessor Attachment Email +Move() +Download() +Connect() +Close() EmailDownloadHelper +Download() +Connect() +Close() IDownloadHelper +Process() EmailDownloader FtpDownloader +Open() +Close() +Download() Morningstar.Alcoring.FtpClient +Download() +Connect() +Close() FtpDownloadHelper +Process() : bool IDownloader +Process() #Connect() #CheckMatched() #Download() FtpBaseDownloader LocalDownloaderSshDownloader +Download() +Connect() +Close() SshDownloadHelper +SelectClause +WhereClause WebDav Tamir.SharpSsh.jsch 图 3.2 Downloader 设计类图 3.2.3 功能实现 此模块采用的 XML schema 如图 3.3,服务器根据此 schema 来下载文件 图 3.3 Downloader 的 XML schema 此模块完成的功能: 1. 从 FTP 服务器上下载文件。 2. 从 Email 服务器上下载文件。 3. 从 Ssh 服务器上下载文件。 4. 从 Local 服务器上下载文件。 3.3Parser 模块 3.3.1 主要处理文件流程 Update file status lock file for parsing Get the file format according to ProviderDeliveryId ( Cache list) PerformanceFileS tatus DeliveryFileFormatM apping Start Matrix Parse Set the file status , ParseDataDetail and ParseRowsRate File format matrix format Xml formatSpecial format Get special parser according to special name Generated records rate( invalid count / total count) min generated records rate No Set the file status, ParseDataDetail and ParseRowsRate Yes Get the file server path & priority from AppConfig Get a file from DB by statusStatus: Waiting for parser Does load file successful?Raw file server Yes Upload xml file to file server Import file server Status: parseing Unlock the file End Generate valid array and invalid array Out put import xml file(fileId.xml) from valid array through data point outnode xpath (can we do it?) Special Parse Xml Parse N Status: Parsed Done Status:Parsed Failure Load data points setting informationDataPoints Out put failure file( fileId.txt ) from invalid array 图 3.4 Parser 主要数据流图 File format Extention name Invoke Txt ParserInvoke XLS parser Call the m* parser Iterate operating the sheet need to transform try to Open the Work Books Matrix xls MSTtxt Generate valid array and invalid array try to Open the Text file Get the line data with delimiter Matrix parse line The orientation of content ? Portrait Iterate reading row data Iterate reading column data Landscape The column parse pattern ? delimiter ColumnRegx Iterate reading row data Get the line data with regx Matrix parse line Matrix parse line Header row? End of Line? Yes No No Yes 图 3.5 Parser 处理 Matrix 流程图 3.3.2 类图 +Parse(in files) +SetFileFormat(in xmlFormat) IParser MatrixFormatParserXmlFormatParserSpecialFormatParser +GetParser() ParserFactory uses uses uses FileFormat (Alcorian class) +Process(in file) #() AbstractParser +Process(in file)+Process(in file)+Process(in file) +ConvertExcelToCSV() +GenerateInvalidFile() +GenerateValidXmlFile() +GetProviderRawFileByFileId() FileUtility +UpdateStatusTable() +ConvertExcelToCSV() ImportXml (Alcorian class) Parser Class Diagram -Main(in args : string) -Run() ParserMain -status -numFailed -numSuccessful ParserResult +GetNextParseFile() +UpdateParseFileStatus() +DeliveryId +DownloadedFileName +DownloadedFileFolder +DownloadedFileFullName +ParsedFileName +ParsedFileFolder +ParsedFileFullName PerformanceFile (Alcorian class) +GetCurrentFileFormatByDeliveryId() ProviderDelivery (Alcorian class) +Process() IFileParser TxtFileParserXlsFileParser #IsHeadLine() #IsEndLine() #ReadLine() #ParseLine() BaseFileParser 图 3.6 Parser 设计类图 3.3.3 功能实现 此模块采用的 XML schema 图 3.7,程序根据这个 schema 来处理各种各 样的文件,这个 xchema 在这个模块里叫做 File Format . 图 3.7 Parser 的 schema 文件 File Format 分为三种,分别为 Matrix Format, XML Format, Special Format. Matrix Format: Delimiter 指的是文件中一行数据的分隔符。 ColumnRegex 指的是一行数据的正则表达式。 MinPercentageOfParsed 指的是最低通过率。 Orientation 指的是文件的方向,例如 excel 有的方向不同 DecimalPoint 指的是数字的分隔符。 StartLineNo 指的是文件数据的起始行。 SheetIndex 指的是 excel 文件的 sheet。 EndLine 指的是文件数据结束的最大空行算结束。 DataPointId 指的是数据点的名称。 DataFormat 指的是数据点的格式,例如时间的格式。 XMLFormat: XSLTFilePath 指的是路径。 SpecialFormat: Name 指的是特殊文件的名字。 此模块完成的功能 : 1. 实现了将 Excel 文件转换为 clean file (即转换完格式的文件)。 2. 实现了将 Txt 文件转换为 clean file。 3. 实现了将 Xml 文件转换为 clean file。 4. 实现了将各种 Special 文件转换为 clean file。 3.4Importer 模块 3.4.1 主要处理流程 Load DatapointXPathConfig( OutputNode) which is used for mapping datapoints Update file status Iterate to operate record ( Get record with ExternalIdXPath) Update ProviderClass yes End Importer Mapping Data Flow Run PerformanceFileStatus Status:ParsedDone Upd

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论