1、 基于Android的医院预约挂号系统摘 要医疗事业对于人们生活显得尤为重要,研究医疗信息服务中如何使用手机移动终端具有深刻的现实意义和广泛的应用价值。本文在基于 PC 的基础上进一步设计了基于Android 的医疗挂号信息系统。在实际设计中考虑到医患双方的功能需求存在很大差异,将系统划分为医生端系统和患者端子系统两部分。同时考虑到系统所需部分功能复杂不适于在移动终端运行,在系统设计时增加了 PC 机 Web 端子系统的设计。Android 客户端采用 C/S 结构模式,Web 管理端采用 B/S 结构模式。本文 Android 客户端采用了 MVC 分层的设计模式、UI 界面设置技术和 JS
2、ON 进行通信,并封装了一个网络会话模型。系统功能主要包括病症查询、医院查询、挂号、专家查询、查看医生处方。通过二维码模块功能实现了可移动的信息录入与查询功能,简化了信息录入与查询环节的操作。使用 Apache 的 HttpClient 组件进行网络数据的获取,该组件模拟实现了 HTTP 通信协议,采用了轻量级数据格式 JSON 作为数据封装,在数据传输上降低资源开销、获得了较高的传输效率。提出了医疗云存储的方案,通过云存储文件功能,利用二维码对电子病历进行管理和再现, 提高了数据安全性和存储利用率。服务器端数据传输采用 JSON 格式,与 Android 移动终端共用同一后台处理程序,采用S
3、truts2,Hibernate,Spring 技术,布局上通过 HTML,CSS 和 JavaScript 技术实现页面的设计。实验及运行结果表明,本文所开发的基于 Android 的医疗挂号系统,在以 Android为平台的智能移动终端中运行稳定,在测试中达到了预期的效果,实现了可移动的信息录入与查询功能,解决了医疗双方的需求,给医患双方带来便利。关键词: Android;医疗挂号系统;JSON;二维码;云存储;电子病历暨南大学硕士论文 基于 Android 平台医院医疗挂号系统Based on the Android hospital appointment register syste
4、m design and implementationAbstract As medical service is important to our social life, mobile terminal are of profound practical significance meaning and high applicational value in medical service. The system of Android-based medical service is designed, on the basis of Web PC-based terminal . For
5、 thesake to solve the medical problem, the medical information system of Android-based is designed, the system is composed of Android client terminal system and Web PC-based terminal . Android client will employ C/S structure mode while B/S structure mode will be adopted to fit Web management.The An
6、droid system employs MVC model coupled with the UI layout technology. The client and the server communicate by JSON.Then,we design the system functions.In order to reduce the information inputting and inquiry aspects of the operation, the two-dimensional code recognition technology is used in treatm
7、ent services to quickly read the patients entire medical record information. The network data access is through the Apache HttpClientcomponent,which completes the HTTP communication protocol;data encapsulation uses JSON data format of lightweight. Then,we propose medical cloud storage solutions and
8、use stwo-dimensional code to manage and preserve electronic medical record,which realizing the data security and the high storage utilization.The page of the client is designed through technologies such as HTML, CSS and JavaScript in a Web terminal system, where data acquisition is still using the J
9、SON format sharing the same spooler with Android client to achieve system optimization design.Struts2,Hibernate and Spring technology are also used in Web terminal.Experiments and operating results show that the medical information system developed in this paper works stably and well in smart mobile
10、 devices based on Android platform. The test achieves the desired results realizing the information inputting and inquiry functions movably, which takes greatly convenience to both doctors and patients.Keywords:Android;Medical Information System;Cloud Storage;JSON;two-dimensional code; Electronic Me
11、dical Record目 录摘 要IAbstractII第一章 绪 论11.1 论文研究背景与意义1 1.2 国内外发展现状21.3 本文所做工作31.4 本文结构安排3第二章 可行性研究202.1 技术可行性202.2 经济可行性2.3 操作可行性第三章 系统的相关技术及工具介绍43.1 浏览器/服务器结构43.2 Android的平台特性53.3 Android平台的架构53.4 客户端和服务端之间的通信原理63.5 Android的构成和工作机制73.6 MVC模式7第四章 系统性能需求和框架设计94.1 性能需求分析94.2 系统总体架构104.3 系统功能总体设计124.4 数据库
12、系统架构与技术选型144.5 网络架构设计164.6 医院云存储的解决方案164.7 数据库私密性164.8 系统数据库设计164.9 本章小结16第五章 医疗信息服务系统的设计与实现175.1 系统开发环境搭建175.2 Android客户端功能实现185.3 服务端功能模块设计185.4 服务端逻辑实现215.5 通信与数据交换235.6 HDFS文件系统235.7 本章小结25 第六章 系统主要模块实现与测试XX6.1 系统客户端功能的实现与测试XX6.2 测试分析XX6.3 本章小结16第七章 总结与展望167.1 总结167.2 展望16参考文献XX附录16致谢XX暨南大学硕士论文
13、基于 Android 平台医院医疗挂号系统31 绪论1.1 研究背景医疗问题一直是我国急需解决的问题之一,目前在医院就医时,病人需耗费大量时间精力排队问诊,但医生实际的诊断时间相对较短,因而这种传统就医方式会造成病人极大不便,而且对于初次就诊的病人来说,由于不熟悉医院的具体情况,更易陷入“病急乱投医”的尴尬境地。伴随着科技的发展,有人提出采用现代化医疗管理软件辅助医疗管理,这种模式能够有效的改善就医条件,从而开始受到越来越多的关注。随着数字化时代的来临,中国的医疗建设也进入了一个改革发展的新阶段。医院在提升医疗器械水平和医生的医疗技术的基础上,也开始关注病人的就诊条件,陆续地设立了一些自动挂号
14、的终端机和介绍医院医生信息的网站。但仅靠设立挂号终端机和信息网站,并不能完全解决病人就医难的状况。在此背景下,本课题研究了一个基于移动终端的医疗挂号系统,该系统针对就医难的问题,给出了全面的解决方案。通过对系统功能进行设计,其主要包括病症查询、医院查询、挂号、专家查询、查看医生处方等功能,患者可以通过子系统,以手机端信息浏览取代人工咨询模式,根据需求自行查询相关信息。另外该系统还可通过二维码模块功能实现可移动的信息录入与查询功能,从而简化患者病历信息的管理,以及信息录入与查询环节的操作。随着中国联通 2009 年推出了 3G 移动网络通信后,中国的移动互联网建设进入了一个高速发展的历史时期。截
15、止到目前为止,中国移动,中国联通以及中国电信的 3G 网络已覆盖了全国各主要一、二线城市,并正在向周边地区扩散。无线网络通信技术的发展使移动设备如智能手机逐渐走进人们的生活。目前 Android 系统是作为智能手机其中的一个操作系统,其市场占有率越来越大。因而本课题设计的医疗挂号系统选择在Android 平台上进行开发,并在移动互联网的支撑下进行运行。通过开发这套 Android 医疗挂号系统,将有效减少了病人候诊时间、提升医院工作效率。本方案的提出将会有利于医疗事业的发展和完善,对未来医疗技术的完善起到一个引领的作用。能提高医疗水平和效率、降低医疗开支,实现医疗资源共享,扩大医疗范围,能够为
16、更广大人民群众日益提供一项全新的医疗服务,提升人民的健康水平。暨南大学硕士论文 基于 Android 平台医院医疗挂号系统41.2 研究现状目前社会上医院的预约渠道如下:表 1-1 挂号方式的比较挂号方式 操作 费用和便利性电话医疗登记册 通过各个医院的医疗登记册和电子医疗本反馈意见,通过致电热线登记医疗计划,由客服完成预约需要支付电话费,需要等待通话接入时间互联网预约 受年轻患者喜爱,是中年患者也可以接受的方式,通过简单的电脑网页浏览操作完成免话费,相对快捷移动互联网预订 通过下载手机软件,手机端即可登陆随时随地方便快捷短信挂号预约 通过短信渠道将特定指令发送到 SMS 预订中心并迅速完成预
17、订。需要查询到短信的发送方式,也比较快捷,但信息往返回馈慢,反馈次数多自助预约机预约 通过机器的录入和出票挂号约下次就诊时间。需要人工协助,要人手管理目前的医疗信息管理系统仅是针对于医护人员开发的,忽视了患者对于便利性的需求以及对医疗点和医生查询的重要性。过去的软件基于 PC 上,并没有充分体察病人的需求。而医疗软件主要包括医疗百科全书系列产品、医疗咨询系列产品;其中,医疗百科全书系列产品主要是提供一个医疗的数据库,里面记录一些病症对应的诊疗方法等,一般为静态的数据,不能根据动态的数据进行更新,除非开发者进行更新,使用者主动更新。医疗咨询系列产品,提供一些专家的在线咨询方式,给用户提供具有互动
18、性的咨询方式,但是仍然存在很多问题,例如单纯的咨询不能够激发患者和医生的主动性,往往使得咨询的结果偏差较大。1.3 课题创新点1、采用二维码模块功能实现了可移动的信息录入与查询功能,简化了患者病历信息的管理以及信息录入与查询环节的操作,实现了医院快速读取患者病历信息的功能。2、提出医疗云存储的方案,通过云存储文件功能,利用开源分布式框架 Hadoop 中的分布式文件系统 HDFS,提出利用二维码对电子病历进行管理和再现的机制,使得数暨南大学硕士论文 基于 Android 平台医院医疗挂号系统5据存储利用率和负载均衡性问题得到了改善。3、在客户端与服务器端的使用 JSON 封装数据,在数据传输上
19、降低了资源开销、获取高效率的传输效率。在系统设计中融合了服务器和客户端等多项技术。1.4 本课题研究意义 本课题研发的医疗服务系统从技术方面有效地解决了我国数字医疗建设在移动互联网和智能手机系统平台中数据交互问题以及数据容量升级问题,当今国内将移动互联网和智能手机联合起来应用到医疗的实例并不多,本系统的开发为后人创建更好医疗服务系统积累了一定的经验,同时可以根据本系统今后的运行数据分析出我国的医疗现状和病人的医疗需求。从现实角度分析,由本课题研发的医疗服务系统切实有效地解决了病人在看病时遇到的各种问题。通过本系统病人可以根据自己的病情预约到相关领域的专家,可以获得及时有效地治疗;通过本系统,病
20、人只需在挂号时,医生给出的时间段内来医院就诊即可,这样就避免了长时间的枯燥等待;同时医生根据本系统可以对病人的病情做一个初步的了解,对错误就诊的病人,做到及时发现并引导其向其他相关医生就诊,有效提高医患双方的工作效率。各医院的加盟能有利于维系本系统作为统一的管理平台,便于对患者需求作进一步的挖掘。结合云服务 Sass 的分布式文件平台搭建,为日后平台数据扩展做准备,通过对本系统中的数据进行分析,即可以针对用户需要作出推荐,为用户带来了便利。1.5 本论文主要工作Android 操作系统是目前开源性和封装性良好的操作系统。本文利用 Android 的应用技术,以实现基于 Android 平台的医
21、疗挂号的软件的设计为目标,进行如下探究:1.提出本课题的研究意义和所研发产品的使用价值。2.分析医疗挂号软件需求,分别 Android 客户端和 Web 客户端和云服务器入手,利用集成的开发工具插件进行系统的搭建环境;3.做方案技术选型,了解用户之前平台的使用情况,基于分析医疗信息服务系统需求来进行方案选型;4.进行详细设计、连接数据库,通过 MySQL 和 apache tomcat 搭建和连接调试服务暨南大学硕士论文 基于 Android 平台医院医疗挂号系统6器,通过 SQLyog community 建立可视化数据库连接工具,搭建数据库关系模型和进行数据表的建立,对数据库安全性作出评估
22、和管理方案的建议;5.研究 HttpClient 协议接口,分析客户端和服务器端使用的网络协议,并实现客户端和服务器端的通信交流。6.建立测试环境和手机模拟器,通过服务器和客户端模拟器的双向调试完成本次测试和错误排查;7.使用本地服务器构建一个 SaaS 云,通过对加盟的医院授予不同级别的权限,利用二维码对电子病历进行管理。1.6 本论文结构安排第一章绪论部分进行医疗信息服务系统的现状研究,介绍了如今 Android 的技术发展,阐述国内外医疗信息服务系统的发展趋势及现有系统的设计特点,提出本系统设计研究意图。概括阐述本文的主要工作和架构。第二章主要阐述了 Android 平台的软件布局,研究
23、系统开发用到的相关技术以及Android 组建的运行机制,最后简单介绍开发中用到的 SPRING 框架和 HDFS 分布式文件系统。第三章对系统性能需求和框架进行整体设计,对技术进行选型。介绍所需要用到的开发工具,进行软件的需求和总体架构。细化开发流程,完成客户端与服务器端系统功能模块说明,并作出关键模块需求用例分析。第四章介绍了服务器通信之间客户端通信机制,以及对系统功能进行实现。对本系统的各个模块进行分析,并作出关键流程图。通过 JSON 对数据进行封装,在数据传输中实现高效率的目的。第五章作为软件测试部分,在测试用例和分析的基础上,输入几个合理的用例进行结果分析,并对不合理的程序予以修正
24、,完善系统的可靠性。对数据安全性作出可靠性分析,并对数据库的管理安全作出几点建议。通过文件存储功能,利用二维码对电子病历进行管理和再现做测试。第六章对总结本论文的工作内容,并对以后的研究发展作出前瞻性分析。附录附带了之前章节说明性的程序和连接服务器的请求程序。暨南大学硕士论文 基于 Android 平台医院医疗挂号系统71.7 本章小结通过对研究现状分析和对研究背景做出了总体的概述,提出了课题的工作要点。对Android 客户端作和服务器端作出分析,并提到了提高系统存储容量和数据传输效率的技术以及使用到的工具。通过系统规划,提出了一个符合现今发展需要的医疗信息系统方案。暨南大学硕士论文 基于
25、Android 平台医院医疗挂号系统82 系统的相关技术研究2.1 Android 的平台特性Android 是基于 C 语言和 JAVA 语言开发,同时具有可操作和移植性强的特点,是一款兼容性良好的操作系统。JAVA1-3语言的特性是接口复用性好,而且代码易读,方便程序间的调用。Android 的主要竞争力在于其广大的用户市场,使得其在开发过程中能够接受及时的反馈。Android 的4-6性能特点可以用几个特点来形容,开源、具有免费的开发服务环境、界面丰富、系统可裁剪、应用程序框架支持应用组件的重用集成和继承、具有自主研发的虚拟机且占用的内存和资源比较少、稳定性能优越、自带有 3D 和自定义
26、 2D 图形库、数据存储方式灵活的 SQLite、支持蓝牙等无线通信、3G 接入和公共网络 WIFI 接入、支持罗盘技术、照相机和地理信息系统定位等、拥有强大的模拟器和调试工具、附加上7内存检测后可以达到稳步进行应用程序开发。Android 平台具有良好的平台开放性,能够为用户提供广泛的应用和服务与 Google应用实现无缝结合。2.2 Android 平台的架构Android 的操作系统Android 操作系统体系分为 4 层结构,从顶部到底部分别是应用层、应用程序框架层、9核心类库和 Linux 内核(Linux 内核),其中在第三层还包括 Android 的运行环境。如下图 2-1 所示
27、,Android 系统脱胎于 Linux,借助 Java 的 jvm 思想,形成了自己特色的操作系统,现在描述其框架。Android 的操作系统可以分为四层框架模型,从顶层的自定义应用程序层通过外部接口可以连接到应用框架层、继而是运行支撑层支撑着整个框架,起着承上启下的作用,接下来便是内核层,它的存在使得二次开发无需再进行大的改动,关键时候可以进行内核裁剪。框架图如下图 2-1 所示,1、应用程序层里可以使用的包括了电话、浏览器、记事本等功能。2、应用框架层内具有通知管理器、内容提供器和活动管理器。暨南大学硕士论文 基于 Android 平台医院医疗挂号系统93、运行支撑层包含了一些库,其中有
28、接口管理和媒体框架、SQLite 以及图形界面的 OpenGLJES、WebKit 浏览器接口以及 libc 库等;4、底层的内核层由 LINUX C 编写,具有各种驱动,包括蓝牙驱动、相机驱动库、声音驱动、节电管理、USB 接口驱动、无线上网驱动和图形驱动等。图 2-1 Android 系统的体系架构3内核层具有 LINUX 8-10内核,它的文件管理系统能实现文件的打开、复制、移动、删除等操作,具有空间分配、内存管理、设置管理权限;网络通信模块能够针对 7 层模型进行 ISO 前四层的接口分配并进行数据包传输等,通过提供面向无连接和面向连接的单双工工作方式,对包进行投递;其中设备管理和节电
29、管理,进行着 GPS 感应设备、触摸屏、重力感应、温度感应、电池等管理设备的管理,对处理器和内存进行动态管理,对线程进行时空调度,实现程序被 CPU 执行的最优方案。对于运行支撑层,内核提供了一些支撑上层的库,并在软件运行过程中进行11底层调用:提供了 SGL(2D 图形引擎)、FreeType(字体库)、Libc 标准 C 库和作为 Android浏览器内核的 LibWebCore 和 3D 图形界面开发库 openGL。Android 的库是用 C 和 C+编写的,通过 Android 的应用程序框架提供构建 Android系统的库给开发人员调用,实现其功能。Davlik 通过 JNI 方
30、式能够调用内核层和运行支暨南大学硕士论文 基于 Android 平台医院医疗挂号系统10撑层的程序。其实质是一个 Android 虚拟机。通过库的调用可以实现附加功能,可以调用的库有系统 C 库、SGL、3D 图形库等。2.3 客户端和服务器之间的通信原理套接字是通信的基石,是作为 TCP/IP 协议的网络通信的基本单位。它是网络通信过程中端点的抽象表示,包含进行网络通信必须的五种信息: 11,12协议、协议端口中的本地进程、远程主机的 IP 地址、本地主机的 IP 地址面向进程的协议端口的链接、协议端口中的本地进程。应用层通过传输层进行数据通信时,TCP 会遇到同时为多个应用程序进程提供并发
31、服务的问题。多个 TCP 连接或多个应用程序进程有可能需要借助同一个 TCP 协议端口传输数据。为了对不同的应用程序进程和连接进行区分,多数的计算机操作系统与TCP/IP 协议12进行交互时应用程序是使用套接字连接。建立套接字连接至少要有一对套接字,其中一个运行在客户端上,称为 ClientSocket,而另一个则运行在服务器端,称为 ServerSocket。服务器套接字连接过程:服务器监控建立,客户端请求和连接确认。监视服务器:服务器端套接字与客户端套接字在一个连接,实施实时监测网络状态、等待状态等待客户端的连接请求。客户端请求:客户端请求连接的套接字,其目标是在服务器端的连接套接字。图
32、2-2 套接字连接过程客户端与服务器连接过程如下:暨南大学硕士论文 基于 Android 平台医院医疗挂号系统11 :客户端请求连接的套接字,其目标是在服务器端的连接套接字。客户端套接字描述其本身要连接到的服务器套接字,指出其端口和地址的服务器端套接字,然后提交到服务器端进行套接字连接请求;对连接进行确认:客户端与服务器端套接字在聆听讯息时双方将正式建立连接图 2-3 客户端与服务器连接过程在创建套接字连接时,可以对传输层协议进行指定,Socket 可以支持不同的传输层协议(TCP 或 UDP),当使用 TCP 协议进行连接时,该 Socket 连接就是一个 TCP 连接。由于套接字连接通常是
33、一个 TCP 连接,以便建立一次连接的套接字时,各自准备直到这两个当事方断开连接并将数据发送到对方为止。不过在实际网络应用中,完成从客户端到服务器的通信过程往往需要穿过多个中间节点,如路由器、防火墙、网等等。2.4Android 的构成和工作机制Android 程序相互之间根据功能的不同,各自完成相应的任务,可以通过了解 Android的接口对其进行开发,组件包括了13Activity、Service、Broadcast Receiver 与 Content Provider;通过 Intent 在不同组建之间进行导航。而可视化的操作界面可通过调用 View 类进行显示,如菜单下拉框、对话框等
34、可以实现可视化操作选项。2.4.1 Activity Android 应用程序中通过多个 Activity 进行相互跳转,而 Activity 是 Android 的最基本模块,每个 Activity 都有自己的生命周期,根据程序运行需要进行产生、运行或销毁,暨南大学硕士论文 基于 Android 平台医院医疗挂号系统12通过 Android 系统对其生命周期进行维护,以及通过状态保存,恢复和数据传输(intent )的控制,这些就是每个活动(Activity)需要关注的事情。表 2-1 Activity 有三种基本状态Active 状态处于屏幕前景,也就是当前task 的栈顶Activity
35、 正处于Active 状态,同 一时刻只能有一个Activity 处于Active 状态 ;Paused 状态 处于背景画面状态,将失去了焦点,但依然是活动状态 ;Stopped 状态 不可见,但始终保持所有的状态和内存信息 。图 2-4 Activity 的生命周期2.4.2 Service Service 是和 Activity 基本差不多的 Android 组件,通过后台进行,还可以与别的进程进行交互。Android 的 Service 没有界面,但他可以不终止地一直运行,当内存不足时,可以杀死旧的进程来获得内存。暨南大学硕士论文 基于 Android 平台医院医疗挂号系统13图 2-5
36、 Service 的生命周期2.4.3 Broadcast Receiver 使用 Broadcast Receiver10接受和处理广播通知,部分的相应程序进行广播时会采用Broadcast receiver 进行多播。当电量低时,都会产生广播通知 receiver。当用户数据下载完成后会通知其他应用程序。所有的 receiver 都继承于13BroadcastReceive 这个父类。而且可以通过他启动和提醒用户 NotificationManager 发送过来的 Notififications。应用程序发送了多个消息,并相应会有关键消息。当多个重要且要求响应的消息发送过来,通过Inten
37、t 查看可以启动多个 Broadcast Receiver 对 Intent 进行监听。2.4.4 Content Provider 作为第三方数据服务方案提供器,他具有标准的数据访问接口。通过它可以起到在应用程序共享数据的作用。Content Provider14支持 SQLite,并且可以对资料文件进行封装压缩。2.4.5 View 在 Android 用户界面中,分为三层,分别是 Activity,Window 和 Window Views,其中 VIEW 用作为视图界面。2.4.6 Android 的 Intent 暨南大学硕士论文 基于 Android 平台医院医疗挂号系统14而 I
38、ntent 负责调配之前四种组件间的相互协同工作。Intent 15主要是作为一个传递中介的作用,专门为组件互相调用提供信息,实现调用者与被调用者之间的耦合关系。通过 Intent 的实现,在传递中需要找到目标消费者,他们往往是另一个 Activity 的显式匹配或是需要匹配几个值(Action、Category、Data/Type、Component)的隐式匹配;Intent的组成包括组名、动作分类描述 Category、数据类型描述 Type、目标组件描述 Component等,如下表:表 2-2 Intent 的组成Action 通常和特定的 Uri 组合使用Category 它是对目标
39、组件类型类别信息的描述Type 数据类型描述Component 目标组建描述Data 该动作相关联数据Extras 和 Flag 附加信息Intent 存在的目的是要求做某事,而 intentfilter 则阐述了能够做什么,通过检查 Action的 VIEW、PICK、MAIN(主程序入口点)对多个 Action 进行过滤,并且 Uri 联系 Data 进行检查,是引向联系人的一个方法。当 Uri16数据匹配成功,则 Data 验证成功。多个Category 可以联合检查。通过 Intent 功能可以实现启动同一个功能的另一个活动 , 例如Activity 可以监听桌面的天气活动,当发布天气
40、转阴时,进行相应的活动跳转。2.4.7 Android 的 Bundle基于 Bundle 传递单参数或者多参数都是消息传递的方法:Clear()清除此 Bundle 映射的数据备份;putExtras() 去除相应 Bunddle 中的数据;remove(String key)移除指定的 Key 值;hasFileDescriptions():指示是否包含任何捆绑打包文件描述符。通过 putXX 可以使用内部哈希表类型来存放其数据的置入值。通过 getExtras()等去除数据,也可以通过 Bundle 传递多参数。2.5 云存储 SaaS 及 HDFS软件即服务(13,28SaaS)是随着
41、互联网技术的发展和应用软件的成熟,而在 21 世纪开始兴起的一种完全创新的软件应用模式。它与“on-demand software”(按需软件),the 暨南大学硕士论文 基于 Android 平台医院医疗挂号系统15application service provider(ASP,应用服务提供商),hosted software(托管软件)所具有相似的含义。它是一种通过 Internet 提供软件的模式,厂商将应用软件统一部署在自己的服务器上,客户可以根据自己实际需求,通过互联网向厂商定购所需的应用软件服务,按定购的服务多少和时间长短向厂商支付费用,并通过互联网获得厂商提供的服务。用户不用再
42、购买软件,而改用向提供商租用基于 Web 的软件,来管理企业经营活动,且无需对软件进行维护,服务提供商会全权管理和维护软件。有些软件厂商在向客户提供互联网应用的同时,也提供软件的离线操作和本地数据存储,让用户随时随地都可以使用其定购的软件和服务。对于许多小型企业来说,SaaS 是采用先进技术的最好途径,它消除了企业购买、构建和维护基础设施和应用程序的需要。在这种模式下,客户不再像传统模式那样花费大量投资用于硬件、软件、人员,而只需要支出一定的租赁服务费用,通过互联网便可以享受到相应的硬件、软件和维护服务,享有软件使用权和不断升级;公司上项目不用再像传统模式一样需要大量的时间用于布置系统,多数经
43、过简单的配置就可以使用。这是网络应用最具效益的营运模式。云存储的好处: (1)数据的可移动性。(2)轻松维护个人应用程序和个人文件, (3)对设备硬件要求较低,节省存储空间(4)云计算通过虚拟化的运用,可以把工作负载转移到空闲或使用不足的系统(5) 节省电能,降低成本,运行企业级数据中心的节约。HDFS11,13(Hadoop Distributed File System)分布式文件系统是开源式 Hadoop 云计算框架中的一个核心组件,它为大规模分布式数据处理提供很好的存储支持。传统文件系统无法把大数据集(比如说 100TB)存储为单个文件,而 HDFS 可以轻松实现。HDFS 被设计成能
44、够在一个大集群中跨机器提供可靠的海量数据存储系统,该系统还能实现负载均衡能力的优化。在 HDFS 文件系统中每个文件都是被分割成不定数量的数据块,除了最后一个数据,其余的数据块的大小都一致,文件块的大小可以在配置文件中修改。高容错是 HDFS 的一个特性,HDFS 通过备份数据块来实现实现系统容错的功能,每个文件的数据块副本的数量可以通过配置文件修改来适应实际的应用环境。2.6MVC 模式在 android 程序中使用了 MVC 模式的技术。MVC 模式是为那些需要为同样的数据提供多个视图的应用程序而设计的,它很好地实现了数据层与表示层的分离。对于界面设计可变性的需求,MVC(Model-Vi
45、ew-Controller)把交互系统的组成分解成模型、视暨南大学硕士论文 基于 Android 平台医院医疗挂号系统16图、控制器三种部件。视图部件把表示模型数据及逻辑关系和状态的信息以特定形式展示给用户。它从模型获得显示信息,对于相同的信息可以有多个不同的显示形式和视图。控制器部件14是处理用户与软件的交互操作的,其职责是控制提供模型中任何变化的传播,确保用户界面和模型间的对应联系;它接收用户的输入,将输入反馈给模型,进而实现对模型的计算控制,是使模型和视图协调工作的部件。模型部件保存由视显示、由控制器控制的数据,它封装了问题的核心数据、逻辑和功能的计算关系,独立于具体的界面表达和 I/O
46、 操作。模型、视图、控制器15,16的分离,使得一个模型可以具有多个显示视图。如果用户通过某个视图的控制器改变了模型的数据,所有其他依赖于这些数据的视图都应反映这些变化。因此,无论何时发生了何种数据变化,控制器都会讲变化通知所有的视图,导致显示的更新。这实际上是一种模型的变化-传播机制。模型、视图、控制器三者的关系与各自的主要功能如图 2-6 所示模型封装应用程序状态响应状态查询应用程序功能通过视图改变视图解释模型模型更新请求发送用户输入给控制器云寻控制器选择视图控制器定义应用程序行为用户动作映射成模型更新选择响应的视图视图选择状态查询用户请求通知查询方法调用 事件状态改变图 2-6 MVC 模式Android 提供了一个很好的实现这种经典 MVC 设计模式的类似环境。视图(V)15:可以通过在 Activity(活动)中开发用户接口(丰富而又可以扩展的视图 Views,可以