硕士学位论文-KIOSK网络监控管理系统的设计与实现.pdf_第1页
硕士学位论文-KIOSK网络监控管理系统的设计与实现.pdf_第2页
硕士学位论文-KIOSK网络监控管理系统的设计与实现.pdf_第3页
硕士学位论文-KIOSK网络监控管理系统的设计与实现.pdf_第4页
硕士学位论文-KIOSK网络监控管理系统的设计与实现.pdf_第5页
已阅读5页,还剩55页未读 继续免费阅读

硕士学位论文-KIOSK网络监控管理系统的设计与实现.pdf.pdf 免费下载

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

文档简介

上海交通大学 硕士学位论文 KIOSK网络监控管理系统的设计与实现 姓名:金永琪 申请学位级别:硕士 专业:软件工程 指导教师:黄林鹏;黄磊 20081201 KIOSK 网络监控管理系统的设计与实现 I KIOSK 网络监控管理系统的设计与实现 摘摘 要要 随着社会的进步,科技的发展,一种称之为 KIOSK 的多媒体智能终端 日益融入到社会生活的各个领域。KIOSK 是以提供便利的信息化服务为目 的,通常以触摸屏为主,集成多种可交互的外设(例如:磁卡读写器、热 敏感打印机等)的一类多媒体智能终端机的统称,其广泛地运用在银行、 便利店、酒店、车站、机场、公共服务网点等众多场所。而且随着电子信 息技术的发展,其应用的领域仍在不断扩大,市场前景非常看好。这些多 媒体终端(以下简称 KIOSK)不仅分布广泛,而且数量众多。如何更高效、 更准确地管理这些分布在全国各地的终端机,并提供能及时响应的支持服 务,在当今竞争日益激烈的市场环境中,已经成为 KIOSK 设备制造商和服 务提供商迫切需要解决的重要课题。 为了使得维护管理工作能跟上 KIOSK 的发展,需要设计一种全新、高 效的管理平台,本文正是以实现 KIOSK 网络监控管理系统为目标,着重研 究了支撑此系统的远程数据收集,基于 WEB 地图的状态监视和终端运行数 据的统计分析等功能模块。 本文首先从技术角度,分析了 KIOSK 网络监控管理系统中涉及的一些 关键技术,包括基于 ASP.NET 2.0 的系统架构设计、基于 WMI 的远程数据 收集、基于 Google Maps 的 WEB 地图服务。从技术层面保证本课题的可实 现性。 然后,根据课题的应用背景,对实际需求进行分析,确定本系统的主 要功能和模块组成。通过前面的技术准备,具体讨论了以下内容的实现: KIOSK 网络监控管理系统的设计与实现 II (1) 基于 ASP.NET 2.0 的三层系统架构设计 (2) 运用 WMI 组件技术实现了对分布在远程的终端机的数据收集功能 (3) 通过调用 Google Maps API 实现了基于 Google Maps 的状态监视 (4) 对终端的运行数据进行分类统计 最后本文对系统的测试方案作了说明,通过分阶段的测试保证系统的 正确性和可用性。 关键词 KIOSK,WMI,Google Maps,ASP.NET 2.0,监控 KIOSK 网络监控管理系统的设计与实现 III DESIGN AND IMPLEMENTATION OF KIOSK NETWORK MONITORING MANAGEMENT SYSTEM Abstract With the development of science and technology, KIOSK, one kind of intelligent multimedia terminals has been widely used in daily life. KIOSK is an intelligent multimedia terminal built on touch screen, and with the integration of external devices such as magnetic card reader and thermal printer etc. KIOSK could provide on convenient information service, it has been widely used in many public areas, such as banks, 24-hour stores, hotels, stations, airports, and service centers etc. Moreover, there will be even more substantial KIOSK applications with the developing of electronic information technology. To manage KIOSK applications efficiently, an efficient management platform is needed for KIOSK manufacturers and service providers. This thesis mainly studies three key parts of this management platform, including remote data collection, Google Maps-based status monitoring, and statistics of real time data. Firstly, this thesis discusses about the core techniques such as system architecture based on ASP.NET 2.0, WMI component technique and Google Maps API. Then, the thesis defines some primary functions and modules of KIOSK network monitoring management system with focus on the detail realization of the following content: 1. Three-tier system architecture based on ASP.NET 2.0, 2. Remote data collection technique based on WMI, 3. Status monitoring component based on Google Maps API, 4. Statistics and analysis of real time data from terminals. Finally, this thesis introduces the test scheme phase by phase to insure the quality of this management system. Keywords KIOSK, WMI, Google Maps, ASP.NET 2.0, monitoring KIOSK 网络监控管理系统的设计与实现 上海交通大学上海交通大学 学位论文原创性声明学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独立 进行研究工作所取得的成果。除文中已经注明引用的内容外,本论文不 包含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究 做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意 识到本声明的法律结果由本人承担。 学位论文作者签名:金永琪 日期: 年 月 日 KIOSK 网络监控管理系统的设计与实现 上海交通大学上海交通大学 学位论文版权使用授权书学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同 意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许 论文被查阅和借阅。本人授权上海交通大学可以将本学位论文的全部或 部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制 手段保存和汇编本学位论文。 保密保密,在 年解密后适用本授权书。 本学位论文属于 不保密 不保密。 (请在以上方框内打“”) 学位论文作者签名:金永琪 指导教师签名:黄林鹏 日期: 年 月 日 日期: 年 月 日 KIOSK 网络监控管理系统的设计与实现 1 1 绪论绪论 1.1 课题研究的背景 今天,随着科技的进步,整个社会的信息化程度日益加深,众多信息化设备和服务的运用使得 人们的生活方式也发生了诸多改变, 而同时人们对信息化服务的方便性和实时性的要求也越来越高。 一种称之为 KIOSK 的多媒体智能终端机正是在这种背景下孕育而生,从字典中查得,kiosk 的本意 是亭子或书报亭、问询处,而现在 KIOSK 作为一个赋予了全新意义的应用而赋予了新的概念,具体 来讲,KIOSK 是在微型电脑的基础上集成多种外设,通常以触摸屏为主,同时根据各种应用的需要 搭载不同的外设,诸如:磁卡读写装置、微型热敏感打印机、对人感知探头、微型扫描仪、条形码 读取装置等设备的一种多媒体智能终端机,其外形随着时代的进步而不断完善和变化,图 1-1 是目 前比较常见的 KIOSK。 图 1-1 常见的 KIOSK 1 Fig.1-1 Some popular KIOSKs KIOSK经过面向各种行业和应用的专门硬件设计, 虽然本质上是一台集成多种外设的微型电脑, 但正是通过电脑这个平台,可以在上面运行各种软件系统,而且这些系统可以按需定制,再通过 Internet 的互联,在当今社会生活中有着十分广泛的应用。日常的主要应用有如下一些: ? 银行自助终端 包括 ATM(自动取款机)、CSD(自助存/取款机)等各类银行自助业务办理的终端机。 ? 自助排队取号机 包括银行、电信、公共事务办理等众多服务营业网点内运用的排队取号机。 ? 便利店自助服务终端 借助便利店分布广泛、深入社区的优势,提供账单缴费,信用卡还款,生活信息查询等多种便 民功能的自助服务终端。 ? 其他各类自助服务终端 KIOSK 网络监控管理系统的设计与实现 2 在车站等交通枢纽中心、景点、大型商场、展会、剧场、餐厅、医院、图书馆、学校、酒店等 各类公共服务场所,提供包括交通查询、地理位置导航、产品/服务介绍、票务自助服务、自助 登记办理、信息查询等综合性服务的各类自助终端。 以上只是 KIOSK 日常运用的一部分,实际上如前所述由于 KIOSK 是基于计算机平台的硬件集 成,而随着电子技术的发展,可以和越来越多的新设备进行集成(比如:RFID 读写器、指纹识别装 置等),所以 KIOSK 的实际运用和发展前景可以说是非常广阔。在欧美,日本等发达国家已经得到 了高度普及,相应的硬件设备研发、及应用服务的推广都处于领先水平,值得我们借鉴。改革开放 之后,随着中国的经济、科技和社会的进步,其发展也相当迅速。特别是近几年,随着奥运会和世 博会在中国的召开,城市的信息化建设得到了跨越式的发展,KIOSK 也越来越为人们所熟悉,成为 生活中不可或缺的一部分。 对于这样一种分布广泛、增长迅速、前景广阔的信息化产品,KIOSK 设备制造商或者服务提供 商若想提供更优质的服务,占领更广阔的市场,就必须能对终端设备进行高效、准确、系统化的管 理。而传统的人工管理模式显然不大现实,基于 C/S 的信息化管理系统也不能满足增长的需要,而 且越来越多的运用领域和方式也对管理系统的可扩充性、实时性、良好的交互性提出了更高的要求。 基于这些现实而迫切的需求,需要设计并开发出一个采用先进平台和技术,具有良好的界面表现和 可操作性,能实时高效地管理各终端机及其搭载设备的 KIOSK 网络监控管理系统。 1.2 课题研究的内容和意义 当今时代,科技的高速发展,时间和效率越来越被重视,利用计算机和网络来实现的企业管理、 电子商务和信息化服务,作为未来经济增长和企业发展的关键动力,不仅能打破地域的界限,而且 能有效降低企业生产管理成本,提高企业竞争力。着眼于未来的全球竞争和适应社会的需要,使自 己理论与实践相结合,提高自己的理论知识、实践动手能力,完善自己的知识体系结构,并且通过 实际项目的开发来检验所掌握的技术理论知识,并进一步提高自己对相关领域的认识深度,这些是 本次选题的根本目的。 本课题主要通过对.NET Pet Shop 实例模型进行分析,确立 KIOSK 网络监控管理系统基于 ASP.NET 2.0 的三层系统架构设计,在此基础上,实现系统的主要功能:采用 WMI 技术来实现对分 布在各地的终端机进行远程数据收集, 通过 Google Maps API 的调用来实现基于 WEB 地图的实时状 态监视,然后将收集的终端数据进行统计分析并用图表输出以实现效率化的管理。在系统实现的过 程中,为了保证系统的正确性和稳定性,对系统进行分阶段的测试。最终,通过本系统的发布运用 来实现对 KIOSK 终端进行高效、准确的管理,节约企业成本,提高服务水平,增强企业的核心竞争 力。 通过实现 KIOSK 网络监控管理系统,能有效满足 KIOSK 制造商和服务提供商的管理需求,具 有重要的实际意义,具体表现在以下几个方面: (1) 动态地在地图上反映出各个终端机的分布和实时状态,能对所有的终端运行情况进行全局的把 握,有效地指导系统的维护工作。同时,自动进行短信和邮件通知,缩短了问题的响应时间, 提高了作业效率。 KIOSK 网络监控管理系统的设计与实现 3 (2) 以图表形式输出终端机各关键数据的统计分析结果,为企业进行业务分析和战略研究提供了支 持。 (3) 能根据历史的运行数据和终端设备的最新状态预测出设备的寿命期限,有助于企业对设备资源 进行合理化调配,能有效控制企业的物流、库存成本。 (4) 系统平台易于扩展和升级,诸如:增加、撤销、变更终端机,或者更新终端机所搭载的设备, 都能快速的响应变动,能满足用户业务增长的需求。 (5) 系统易于定制从而满足不同服务提供商的多种领域的运用,比如:此监控系统既可以面向某个 银行客户,又可以通过服务定制方便的运用在连锁酒店的自助终端管理。既可以面向设备制造 商的维护,又可以面向服务提供商提供服务管理。 (6) 对于具有分散特性的资源管理,以往需要投入巨大成本才能构筑的监控网络是耗费大量人力、 物力、财力的黑洞,而通过 KIOSK 网络监控管理系统将其变得更直观、更高效,而建设成本却 大大降低。为 KIOSK 应用提供了有效的保障,且为其进一步发展提供了有力支持。 1.3 课题研究中要解决的主要问题 在 KIOSK 网络监控管理系统开发的过程中,我们所要解决的问题主要有以下几个方面: (1) 在业务需求方面,本系统主要是面向国外的客户所开发的系统,面对国外的 KIOSK 发展现状和 具体运用业务流程不够熟悉,同时对客户的需求理解和消化,对需求变更的响应,如何尽量减 少我们和客户之间的理解偏差,对开发至关重要,这是我们首先需要解决的问题。 (2) 在系统架构方面,如何选取合适的开发平台,并确立其系统的架构,也是必须解决的技术课题。 (3) 在技术方面,本系统要实现终端数据的远程收集、基于 Google Maps 的状态监视等关键功能, 需要我们通过技术调查,模型开发来掌握相关技术,所以对相关技术的研究也是本系统开发的 必要课题。 (4) 在软件测试方面,为确保系统能正确、稳定的运行,以达到可以交付的状态,必须对软件产品 进行严格而有计划的测试,选取何种测试工程,如何指定测试的计划,如何实施测试,是我们 确保系统品质的重要手段,也是系统开发过程中需要解决的课题之一。 1.4 本文研究内容和组织结构 本文阐述了.NET 的框架结构和 ASP.NET 2.0 平台,通过对课题所涉及的 WMI、Google Maps 等关键技术进行了调查分析,根据实际的需求确定了系统的各个主要功能和模块划分,并对其中的 数据收集、状态监视这两个模块的设计和实现进行了较详细的说明,另外对状态分析和寿命预测这 两部分也进行了概要的设计说明, 最后通过分阶段的测试最终完成 KIOSK 网络监控管理系统的模块 化的开发。本论文的组织结构如下: 第一章是绪论,介绍了本课题研究的背景、目的和意义,以及所要解决的主要问题。 第二章提出并研究分析了本课题研发所涉及的关键技术,包括:基于 ASP.NET 2.0 的系统架构 KIOSK 网络监控管理系统的设计与实现 4 设计、基于 WMI 技术的远程数据收集以及基于 Google Maps 的状态监视在内的关键技术课题。 第三章对 KIOSK 网络监控管理系统的需求、系统概要及主要功能进行了说明。 第四章具体说明了本系统的架构设计,以及主要模块的详细设计和实现。 第五章介绍了本系统开发过程中所采用的测试方案。 第六章对本文进行了总结和展望。 1.5 本章小结 多媒体智能终端机(KIOSK)广泛地应用在日常生活的众多方面,其服务内容日益丰富,相应 的覆盖范围也不断扩大,如何对其进行高效、便捷、精确的管理成为设备制造商和服务提供商迫切 需要解决的问题, 本课题正是基于这种背景之下而提出的。 本文需要解决如何构建基于 ASP.NET 2.0 的分层系统架构,如何运用 WMI 技术、Google Maps 等技术来实现系统各主要功能,如何实施测试 来保证品质等课题,最终确保 KIOSK 网络监控管理系统研发的完成。 KIOSK 网络监控管理系统的设计与实现 5 2 关键技术研究关键技术研究 KIOSK 网络监控管理系统作为一个企业级的应用,首先需要有一个设计良好的系统架构作为开 发的基础。其次为了实现本系统状态监控、统计分析等基本功能,需要远程获取 KIOSK 终端的数据 信息, 并且能将监控的画面以 WEB 地图服务的形式展现。 为了完成上述目标, 本文将基于 ASP.NET 2.0 的系统架构设计、远程信息获取、WEB 地图服务作为关键技术加以研究分析,为系统的实现做 理论准备。 2.1 基于 ASP.NET 2.0 的系统架构设计 2.1.1 多层系统架构 系统架构通常被称为架构,指可以预制和可重构的软件框架结构。系统架构是以构件、构件之 间的关系、构件与环境之间的关系为内容的某一系统的基本组织结构以及知道上述内容设计与演化 的原理。系统架构是一系列相关的抽象模式,用于指导大型软件系统各个方面的设计,其描述的对 象是直接构成系统的抽象组件。各个组件之间的连接则明确和相对细致地描述组件之间的通讯。在 实现阶段,这些抽象组件被细化为实际的组件,比如具体某个类或者对象2。 正如软件系统本身有其要达到的目标一样,系统架构设计也有目标,主要来讲,有如下一些: ? 可靠性。 软件系统对于用户的商业经营和管理来说极为重要, 因此软件系统必须非常可靠。 ? 安全行。软件系统所承担的交易的商业价值极高,系统的安全性同样至关重要。 ? 可扩充性。软件必须能够在用户的使用率、用户的数目增加的情况下,保持合理的性能。 只有这样,才能适应用户的市场扩展。 ? 可定制化。同样一套软件,可以根据客户群的不同和市场需求的变化而进行调整。 ? 可维护性。软件系统的维护包括两方面,一是排除现有的错误,二是将新的软件需求反映 到现有系统中去。 ? 可用性。软件系统必须易于使用。 通过上面对系统架构的简单介绍,让我们对系统架构有了概念上的认识。然而,本系统最终要 实现商业应用,因此我们必须确立符合企业应用体系的系统架构。在传统的两层应用程序中,处理 工作由客户端负责,而服务器只是简单地作应用程序和数据之间的传输控制器,不仅应用程序的性 能要受到客户机有限资源的制约,而且网络传输量也大了很多。这种架构存在着很多体系结构上的 问题,比如:当客户端数目激增时,服务器端的性能会因为负荷过重而大大衰减,大量的数据传输 增加了网络的负荷,一旦应用的需求发生变化,客户端和服务器端的应用程序都需要进行修改,给 应用维护和升级带来了极大的不便。因此,两层架构己退出了软件的主流架构模式。 传统两层架构的诸多不便,推动了软件界的革新。多层架构的模式孕育而生,其特点是在传统 的两层架构中的客户端与服务端之间插入一层或几层中间层。多层架构有如下一些优势3: KIOSK 网络监控管理系统的设计与实现 6 (1) 把业务逻辑封装在共享的中间层里。不同的客户端都访问相同的中间层。这可以减少由于 在每个单独的客户端应用中重复业务逻辑所造成的冗余以及相应的维护成本。 (2) 客户端应用程序可以写得很小,而把大多数的业务逻辑工作交给中间层处理,客户端程序 只处理界面的显示。这样,客户端应用程序不仅是变小了,而且还更加的易于发布,因为 它们不需要再考虑安装,配置和维护数据库连接软件的问题。 (3) 分布式数据处理。中间层可以有多个,并且可以安装在不同的计算机上,将一个应用系统 的工作分布到几台机器上可以改善系统的性能,而且可以使系统有更高的稳定性。 (4) 增强安全性。通过使用不同的访问约束,来分层隔离敏感的功能。这提供了一个灵活的、 可配置的安全层。中间层可以限制敏感部分的入口点,这样可以方便地控制对它的访问。 2.1.2 .NET 平台 通过前面的分析,我们确立了多层的架构模式,接着我们需要来确定具体的开发平台。根据本 系统的可行性分析(请参加后面的 3.2 章节),我们选取 Microsoft 的.NET 平台作为开发平台。下面 我们来对.NET 平台作个简单的了解。 2002 年,Microsoft 正式发布.NET Framework 和 Visual Studio .NET 开发环境。从此,企业软件 开发领域的版图发生了很大的变化。.NET 的一个重要的特点就是“无关性”。Microsoft 的.NET 平 台是一个强调多语言间交互的通用运行环境,这样的环境为 Web 服务端应用提供了一个支持多种语 言的、通用的运行平台。.NET 平台上拥有两个核心模块:Common Language Runtime(CLR,通用 语言运行时)和.NET Framework 类库。CLR 是一个软件引擎,是.NET 的虚拟机,用来加载应用程 序,确认它们可以没有错误地运行,并进行相应的安全许可验证,执行应用程序,它是.NET 语言无 关性的根本所在4。 .NET 框架实现了语言开发、代码编译、组件各个层面的功能,为 Web 服务及普通应用程序提 供了执行环境5。.NET 框架如图 2-1 所示,包含两个主要部分:公共语言运行环境(CLR),以及 具有多层次结构的统一的基础类库集合。 图 2-1 .NET 框架结构图6 Fig.2-1 .NET Framework structure KIOSK 网络监控管理系统的设计与实现 7 .NET Framework 类库则向程序员提供软件组件,来编写在 CLR 的控制下运行的代码,它们按 照单一有序的分级组织提供了一个庞大的功能集,包括从文件系统到对 XML 功能的网访问的每一 样功能。该类库为开发提供了三种基本编程模板:基于 ASP.NET 的 Web 表单应用、基于 ASP.NET 的 Web 服务应用和基于传统 GUI 交互的 Windows 应用6。 2.1.3 ASP.NET 2.0 ASP.NET 是一个统一的 Web 开发模型,它让开发者使用尽可能少的代码生成企业级 Web 应 用程序所必需的各种服务,作为.NET Framework 的一部分提供。当编写 ASP.NET 应用程序的代码 时,可以访问 .NET Framework 中的类,也可以使用与公共语言运行库(CLR)兼容的任何语言, 包括:VB.NET、C#、和 J#等。ASP.NET 主要包含以下一些内容:页和控件框架、ASP.NET 编译 器、安全基础结构、状态管理功能、应用程序配置、运行状况监视和性能功能、调试支持、XML Web services 框架、可扩展的宿主环境和应用程序生命周期管理、可扩展的设计器环境7。 2000 年 ASP.NET 1.0 正式发布,2003 年 ASP.NET 升级为 1.1 版本。在 2005 年 11 月微软公司 又发布了 ASP.NET 2.0。ASP.NET 2.0 技术增加了大量方便、实用的新特性,是一种建立在公共语言 运行库上的编程框架,可用于在服务器上开发功能强大的 Web 应用程序。ASP.NET 2.0 的新特性主 要包括以下几方面: (1) 生产效率。使用新增的 ASP.NET 服务器控件和包含新增功能的现有控件,可以轻松、快捷地创 建 ASP.NET 网页和应用程序。 (2) 可扩展性。由于 ASP.NET 2.0 基于公共语言运行库,因此可以使用整个平台的灵活性。 (3) 安全性。现在向 Web 程序添加身份验证和授权比以往任何时候都简单。 (4) 完整性。新增功能和现有功能协同工作,可以创建解决实时 Web 开发挑战的端对端方案。 (5) 增强的性能。ASP.NET 2.0 是将编译好的公共语言运行库代码运行在服务器上。它可以利用早期 绑定、实时编译、本机优化和缓存服务等功能,在编码前就提高了应用程序性能8。 (6) 工具支持。ASP.NET 2.0 框架补充了 Visual Studio 集成开发环境中的大量工具箱和设计器。 (7) 可管理性。ASP.NET 2.0 采用基于文本的分层配置,简化了设置环境和 Web 应用程序的工作。 ASP.NET 2.0 的运行原理如下:当一个 HTTP 请求到达服务器并被 IIS 接收到之后,IIS 首先通 过客户端请求的页面类型为其加载相应的 dll 文件, 然后在处理过程中将这条请求发送给能够处理这 个请求的模块。在 ASP.NET 2.0 中,这个模块叫做 HttpHandler(HTTP 处理程序组件)。IIS 在将这 条请求发送给能够处理这个请求的模块之前,还需要经过一些 HttpModule 的处理,这些都是系统默 认的 Modules(用于获取当前应用程序的模块集合),在这个 HTTP 请求传到 HttpHandler 之前要经 过不同的 HttpModule 的处理9。ASP.NET 2.0 的运行原理如图 2-2 所示。 KIOSK 网络监控管理系统的设计与实现 8 图 2-2 ASP.NET 2.0 运行原理图9 Fig.2-2 Operation principle of ASP.NET 2.0 2.1.4 .NET Pet Shop 实例模型的架构分析 在对本系统进行架构设计的调查过程中, 我们发现, Microsoft 已经提供了一个基于 ASP.NET 2.0 的实例模型为.NET Pet Shop 4.0,它通过实现一个宠物商店的在线网站的主要功能,具体展现了如何 通过 Microsoft .NET 平台进行 ASP.NET 2.0 的开发,并说明了构建多层系统架构的最佳做法,不仅 如此,该实例中还涉及到诸如缓存机制,集成的用户权限控制等技术,对实际开发有很好的参考价 值,所以我们决定通过对此实例模型进行研究分析,然后参照其来完成本系统的架构设计。.NET Pet Shop 4.0 的高级逻辑体系结构如图 2-3 所示。 图 2-3 .NET Pet Shop 4.0 的体系架构10 Fig.2-3 Architecture of .NET Pet Shop 4.0 KIOSK 网络监控管理系统的设计与实现 9 图 2-3 的详细说明如下: 1) 表示层 (WEB) 。是系统的 UI 部分,负责使用者与整个系统的交互。在这一层中,理想的状态 是不应包括系统的业务逻辑。表示层中的逻辑代码,仅与界面元素有关。 2) 业务逻辑层 (BLL)。包含应用程序逻辑和业务组件。是整个系统的核心,它与这个系统的业务 (领域)有关,例如查询宠物,下订单,添加宠物到购物车等。 3) 数据访问层 (DAL) 。负责与数据库交互,进行数据存储和检索。有时候也称为是持久层,其功 能主要是负责数据库的访问。简单的说法就是实现对数据表的操作。 4) 模型对象 (Model Objects) 。模仿数据库表结构的自定义轻量级类。它们在各应用程序层之间共 享以相互通信。 数据访问层(DAL)中,采用 DAL Interface 抽象出数据访问逻辑,并以 DAL Factory 作为 DAL 层对象的工厂模块。 对于IDAL而言, 分别有支持MS-SQL的SQL Server DAL和支持Oracle的Oracle DAL 具体实现。其详细的模块结构如图 2-4 所示。 图 2-4 数据访问层的模块结构图11 Fig.2-4 Structure of DAL 在数据访问层中,完全采用了“面向接口编程”思想。抽象出来的 IDAL 模块,脱离了与具体 数据库的依赖,从而使得整个数据访问层利于数据库迁移。DALFactory 模块专门管理 DAL 对象的 创建,便于业务逻辑层访问。SQLServerDAL 和 OracleDAL 模块均实现 IDAL 模块的接口,其中包 含的逻辑就是对数据库的 Select,Insert,Update 和 Delete 操作11。此外,抽象出来的 IDAL 模块, 除了解除了向下的依赖之外,对于其上的业务逻辑层,同样仅存在弱依赖关系,如图 2-5 所示。 KIOSK 网络监控管理系统的设计与实现 10 图 2-5 业务逻辑层的模块结构图11 Fig.2-5 Structure of BLL BLL 是业务逻辑层的核心模块,它包含了整个系统的核心业务。在业务逻辑层中,不能直接访 问数据库,而必须通过数据访问层。如果此时需要修改数据访问层的具体实现,只要不涉及到 IDAL 的接口定义,那么业务逻辑层就不会受到任何影响。 2.2 基于 WMI 的远程信息获取 为了实现实时监控各个 KIOSK 终端的运行状态,并且能对各个 KIOSK 终端机搭载的设备的运 行数据进行统计分析,我们需要能实时地取得远程 KIOSK 终端的本机信息数据。若想获取远程计算 机信息,有三种方法可供参考: (1) 最常用的方法就是在远程计算机上运行一个客户端程序,服务器通过这个客户端来获取远 程计算机的系统数据。但此方法无论是程序设计还是后面的程序发布都是相当困难的。 (2) 基于.NET Remoting 分布式对象技术来实现远程信息的获取。Microsoft .NET Remoting 提 供了一种允许对象通过应用程序域与另一对象进行交互的框架。这种框架提供了多种服 务,包括激活和生存期支持,以及负责与远程应用程序进行消息传输的通讯通道。远程对 象可以通过将远程计算机信息存储在配置文件中,将该配置文件的名称作为参数传递来进 行注册12。 通过.NET Remoting 来实现远程信息的获取虽然有.NET 类库的支撑, 但实现的 方法也是比较复杂的。 (3) 通过 WMI 组件来获取远程计算机信息。WMI(Windows Management Instrumentation)是 Microsoft 针对 Windows 的主要管理技术, 为计算机系统管理提供了强大的支持。WMI 提 供了统一的访问管理信息的方式, 对几乎所有的 Windows 系统资源进行描述, 利用 WMI 可以监视、跟踪和控制有关软件应用程序、硬件组件和网络的系统事件。WMI 不仅可以 KIOSK 网络监控管理系统的设计与实现 11 获取想要的计算机数据,而且还可以用于远程控制。因为 WMI 是 Windows 的基本服务, 所以通过 WMI 来实现的远程信息获取无需担心本地信息获取的服务是否被关闭。 根据客户的需求: 考虑 KIOSK 终端的批量化生产, 本系统要易于发布, 不能有繁杂的安装限制; 另外,考虑到开发的成本,需要尽量选用效率高、风险小、易于实现的相关技术。综合上述三种方 法的比较,选用 WMI 技术来实现本系统远程数据的获取。 2.2.1 WMI 技术的研究 WMI 是 Windows 操作系统的一个组件,允许通过编程方式访问企业环境中的管理信息。WMI 允许通过一个公共的接口访问多种操作系统构成单元,因此不必分别对待各种底层接口或所谓的提 供者。利用 WMI 可以高效地管理远程和本地的计算机;与此相对,并非所有的 Windows 2000/XP 命令行工具都支持远程运行。 WMI 作为一种规范和基础结构,通过它可以访问、配置、管理和监视几乎所有的 Windows 资 源,比如用户可以在远程计算机器上启动一个进程;设定一个在特定日期和时间运行的进程;远程 启动计算机;获得本地或远程计算机的已安装程序列表;查询本地或远程计算机的 Windows 事件日 志等等13。利用 WMI 不仅可以解决本地机的很多问题,而且还可以用来编写网络应用程序,比如 通过 WMI 获取远程计算机的各种数据信息、 控制远程计算机的各种行为, 而这就像操作本地机一样 方便。而这只有一个前提条件,那就是必须知道远程计算机的超级用户和对应的口令。 .NET Framework 中的 WMI 基于原始的 WMI 技术,允许利用 .NET Framework 中的编程优 势进行同样的应用程序和提供程序开发。WMI 提供预装的类架构,允许使用脚本语言、Visual Basic 或 C+ 编写的脚本或应用程序监视和配置企业中的应用程序、系统或网络组件以及硬件10。.NET 中的 WMI 结构层次图如图 2-6 所示。 图 2-6 WMI 层次图10 Fig.2-6 Level of WMI 具体说明如下: ? 客户端软件组件使用 WMI 执行操作(例如,读取管理详细信息)的软件组件。 KIOSK 网络监控管理系统的设计与实现 12 ? 对象管理器是提供程序与客户端之间的中间装置,它提供一些关键服务,如标准事件发布 和预订、事件筛选、查询引擎以及其他服务。 ? 提供程序软件组件捕获实时数据并将其返回到客户端应用程序,处理来自客户端的方法调 用并将客户端链接到所管理的基础结构10。 .Net Framework 对 WMI 提供了全面的支持,提供了一个专门的命名空间 System.Management。 在命名空间 System.Management 中提供了大量用以处理和 WMI 相关的类、接口和枚举。其成员是比 较复杂,由于篇幅限制,仅简单介绍其中较重要的以下六个类: (1) ConnectionOptions 类 它的主要的功能是为建立的 WMI 连接提供所需的所有设置。 表 2-1 是 ConnectionOptions 类的一 些主要属性及其说明。 表 2-1 ConnectionOptions 类 Table 2-1 ConnectionOptions class 属性 说明 Authority 获取或设置将用于验证指定用户的权利 Locale 获取或设置将用于连接操作的区域设置 Password 提供用于 WMI 连接操作的口令 Username 提供用于 WMI 连接操作的用户名 (2) ManagementScope 类 通过它类能够建立和远程计算机(或者本地计算机)的 WMI 连接,表示管理可操作范围。 (3) ObjectQuery 类 ObjectQuery 类或其派生类用于在 Management ObjectSearcher 中指定查询。程序中一般采用查询 字符串来构造 ObjectQuery 实例。其中的查询字符串是一种类似 SQL 语言的 WQL 语言。 (4) ManagementObjectSearcher 类 ManagementObjectSearcher 主要是根据指定的查询检索 WMI 对象的集合。其 Get 方法是非常重 要的,Management ObjectSearcher 通过 Get 方法进行 WMI 查询,并返回得到的结果集合。Get 方法的返回值是一个 ManagementObjectCollection 实例,它包含匹配指定查询的对象14。 (5) ManagementObjectCollection 类 它主要表示 WMI 实例的不同集合,其中包括命名空间、范围和查询观察程序等。 (6) ManagementObject 类 ManagementObject 类为单个管理对象或类。ManagementObject 类是一个内容丰富的类,表 2-2 是其常用属性和方法的列表: KIOSK 网络监控管理系统的设计与实现 13 表 2-2 ManagementObject 类 Table 2-2 ManagementObject Class 属性 说明 ClassPath 对象的类的路径 Options 检索对象时要使用的其他信息 Path 对象的 WMI 路径 Scope 此对象在其中驻留的范围 CopyTo 将对象复制到另一个位置 Delete 删除对象 Get 绑定到管理对象 GetRelated 获取与该对象(联系对象)相关的对象的集合 GetRelationships 获取该对象的关联的集合 InvokeMethod 调用对应的对象方法 Put 提交对对象所做的更改 与原始的 WMI 相比,使用 .NET Framework 中的 WMI 编写客户端应用程序或提供程序具有 多种优势,特别是对于使用 C#的开发人员。在这种情况下,编写提供程序意味着为在托管代码中编 写的应用程序添加规范。在编写客户端应用程序和提供程序时,.NET Framework 中的 WMI 具有 以下优势10: (1) 利用公共语言运行库功能,例如垃圾回收、自定义索引器和字典。 (2) 类定义和实例发布与.NET Framework类一起规范应用程序, 以便应用程序可以为 WMI 提 供数据。 (3) 原始 WMI 的 C+应用程序开发效率不高。System.Management 的类结构为在.NET Framework 中开发的应用程序带来更多类似脚本的简单性。可以更快地开发应用程序和提 供程序,并且更容易调试。 (4) 可以访问所有 WMI 数据。 (5) 与原始 WMI 相比, 客户端应用程序可以对 WMI 数据进行相同的访问, 并且可执行所有相 同的操作。 2.3 基于 Google Maps 的 WEB 地图服务 20 世纪 80 年代,随着计算机科学的发展,一种以数字形式记录、反映地表自然与社会现象、 KIOSK 网络监控管理系统的设计与实现 14 可在计算机屏幕上以图形形式快速表现的地图新品种电子地图产生了。与传统纸质地图相比, 从狭义上讲,电子地图是一种以数字地图为数据基础、以计算机系统为处理平台、在屏幕上实时显 示的一种地图形式;从广义上讲,电子地图是地图制作和应用的一个系统。电子地图由于数据贮存 与数据表示相分离,使得图形的表现形式具有极强的动态特性,可将地图阅读和制作相融合,带来 地图制图的全新概念15。电子地图具有:内容详尽、信息量大,可视化手段丰富,交互性强等特点。 随着网络技术的迅速发展,产生了基于 Internet/ Intranet 技术的 WebGIS,于是地图被赋予先进 的可视化信息技术及网络技术,可以通过网络高速传输地图数据,任地图在 Internet 或 Intranet 上自 由驰骋。WebGIS 可广泛应用于土地和地籍管理、水资源管理、环境监测、数字天气预报、灾害监 测与评估、智能交通管理、跟踪污染和疾病的传播区域、移动位置服务、现代物流、城市设施管理、 数字城市、电子政务等诸多领域16。WEB 地图服务利用成熟的网络技术、通信技术、GIS( 地理信 息系统) 技术, 实现一种新的地图服务方式。 随着计算机及网络技术的迅速发展和普及, Web 地图服 务会逐渐被人们认知, 成为相关行业领域的一个高科技助手。从 Google 推出在线地图服务 Google Maps 开始, 随着微软 MSN 、雅虎、亚马逊等公司的参战, 地图搜索服务日趋火热起来。 2.3.1 Google Maps Google Maps 是最大的搜索引擎 Google 提供的地图搜索服务,通过 Google Maps,只要在搜索 框输入城市或街道的名字,就可以查看该地点的地图和卫星照片,并根据需要进行放大、缩小、定 位等操作17。Google Maps 自 2004 年推出以来发展迅速,从单一的地图浏览功能发展成集多种功能 于一体的综合 WEB 地图服务平台,具体包括: (1) 地图功能。Google Maps 的地图搜索功能相当强大,并且在随着用户的需求而不断改进。 其中不仅有公交线路图、各大目标地等信息的集成,也有距离测量、框选、点选搜索等非 常实用的搜索工具,还有令人方便直观的搜索结果页面。 (2) 卫星功能。Google 卫星地图功能一经推出就立即受到全世界的热捧。通过卫星功能,能看 到指定位置的卫星成像,还可以通过拖动鼠标以显示周边区域18。 (3) 地形功能。地形功能在地图上显示出了海拔绘影效果的自然特征,例如山脉和植被19。 (4) 街景功能。最新的 Google Maps 已经在多个国家,比如:美国、日本等,推出了称之为街 景(Street View)的新功能。街景地图浏览可以使用全屏、旋转等视角,可以让用户看到 地图上的实景街道环境的图片。让使用者能更加清晰的了解该地图的具体状况。 2.3.2 Google Maps API 2005 年 6 月 29 日, Google 推出了自己的 API 程序,让我们能开发基于 Google Maps 服务的各 种应用系统, 而 Google 也可以通过 API 来对这些服务进行管理。 这样一来, 只需使用 JavaScript 脚 本语言就可以轻轻松松将 Google Maps 服务衔接到自己的网页中。 此外,还可以自主地在地图上制作 标记或者信息窗口,包括图标和黄页等这种类型的信息框20 。Google Maps API 的最新版本为 2.0 版,提供了基于 Google 地图的三种地图模式的各种层面的调用和扩展接口。通过调查和实践,本系 KIOSK 网络监控管理系统的设计与实现 15 统需要用到 Google Maps API 以下几个重要功能: (1) 将Googel Maps 嵌 入 到 网 页 中 。 在 使 用Google Maps API 之 前 , 需 要 向 申请一组 API KEY。当申请到 API KEY 之后, 就 可以将 Google Maps 嵌入到网页了。 (2) GMap 类。GMap 的每一个实例表现为页面上的一个地图,可以创建这个类的多个实例,每个 地图被包含在一个 container 之中。GMap 类提供了操作地图点(中心和缩放度)和添加删除标 记和方法。同时也提供了一个打开“信息窗口”的方法,地图上同时只能有一个信息浮窗。 (3) 事件。利用事件监视器,可以在程序中加入动态的内容,每个实例提供一些指定的事件,可以 利用静态方法 GEvent.addListener 或 GEvent.bind 监视这些事件。 (4) 控件。addControl 用来添加如下控件: ? GLargeMapControl:在 Google Map 中使用的大缩放/定位控件 ? GSmallMapControl:在 Google Map 中使用的小缩放/定位控件 ? GSmallZoomControl:一个小的缩放控件(不能定位),用在小窗口中显示驾驶方向 ? GMapTypeControl:地图类型切换控件(如:

温馨提示

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

评论

0/150

提交评论