APP下载

面向多终端异构系统的中间件平台体系结构研究

2012-11-30刘宴兵肖云鹏

计算机工程与设计 2012年4期
关键词:中间件异构虚拟化

陶 强,刘宴兵,肖云鹏

(重庆邮电大学 计算机学院,重庆400065)

0 引 言

互联网已经由原来以PC机为主要接入设备的Internet架构转向以移动终端和其他便捷移动设备为主要接入设备的移动Internet架构,移动终端成为了互联网业务的最终载体,如何实现移动终端高效、安全、无缝地接入移动互联网将是亟需解决的问题[1]。3G时代的到来,WiFi、WiMax等高带宽无线技术的成熟商用,使得移动互联网的带宽瓶颈已经得到解决。然而移动终端设备由于技术限制使得自身的存储和计算能力受限,多种异构系统之间差异明显,体积较小而导致表现能力不足、人机交互能力差等问题[2-3]。

针对以上问题,本文提出一种面向多终端异构系统的中间件平台,平台采用 “能力+中间件平台+终端应用”的新型应用服务模式。为终端应用提供一种高效、低成本、跨平台的开发方式和丰富的应用资源。最后通过本平台架构上开发的服务验证平台的正确性和可行性。

1 面向多终端异构系统的中间件平台

为解决移动终端自身的弊端和多异构系统的接入问题,本文运用 “能力+中间件+终端应用”的新型应用服务模式,结合中间件、虚拟化技术,SOA、Web Service、OSGi标准以及统一的数据交互和终端接入方案,提出面向多终端异构系统的中间件平台(MP-MTHS)。如图1所示:该平台框架上主要包括能力层、中间件平台和移动终端应用平台三层架构以及角色分配和安全监控两个管理模块。

图1 面向多终端异构系统的中间件平台体系结构

1.1 能力层

能力层通过网络将大量的资源整合成资源池,并进行统一管理和调度供用户随时获取、按需使用和弹性扩展,包括基础设施和基础设施监控管理两部分[4]。基础设施就是通过网络整合大量资源所形成的资源池,包括计算机、分布式计算机集群等大量的硬件资源和数据库包、基础应用等丰富的软件资源。基础设施监控管理包括监控和管理两个部分,监控是监测集群的运行使用情况,发现故障资源及时停止或利用其他资源代替;管理是将基础资源根据用户的需求统一分配,统一调度,向用户提供一个完整的服务。

通过硬件虚拟化实现硬件设备的即插即用,即在不影响平台正常操作和其他设备正常工作的前提下可以随时加入或撤离[5]。软件虚拟化实现了按需使用和动态扩展,即代码可以根据逻辑动态地调度到所需的地方。虚拟化之后的资源以服务的形式向上层提供,用户无需购买、维护硬件设备和相关软件,就可以在其上构建自己的平台和应用。

1.2 中间件平台

中间件平台组织底层资源并提供基础服务和增强服务,以满足上层需求。同时还可以屏蔽设备的差异,使得底层各种设备都可以向平台提供资源服务,上层各种终端都可以使用平台上的应用服务,而不必担心彼此之间的兼容问题[6]。

如图2所示,中间件平台为移动终端提供一种高效、低成本、跨平台的开发方式,为服务提供者和使用者搭建了一个广阔的且都将获益的双边平台[7]。对于服务提供者而言,底层拥有强大的计算存储能力,平台上有众多的基础服务和详细的用户需求,提供者可以按需快速的进行创新设计,而不必担心能力不足和需求不明的问题。对于服务使用者而言,平台上有大量的服务供其选择,如果不满意还可以订制服务,服务提供者会根据使用者的需求开发个性服务。

图2 中间件平台关系

1.3 移动终端应用平台

传统中间件平台重点研究对计算机的服务提供,而忽略了对移动终端的服务提供,移动终端有易于携带、使用方便的优势,终端服务需求大大提升。移动终端平台利用基于网络连接的界面提供给用户丰富的应用,提供多用户机制,无论是一对一还是一对多都能够提供个性智能的用户体验[8]。

移动终端平台面向移动互联网终端用户,提供的服务要考虑到移动互联网终端显示、计算、存储等问题。如图3所示,应用提供者提供移动终端的应用安装文件和标准接口,移动终端用户可以通过标准接口直接使用服务或者下载安装文件使用;移动终端用户可以向平台订制应用,应用提供者则按照应用需求来开发自己的应用。这样充分体现了平台性也实现用户个性化,给用户以良好的体验。

图3 移动终端应用平台关系

1.4 角色分配

面向多终端异构系统的中间件平台本身是开放的,因此平台中的参与者很多,如果不能够对参与者进行完善的管理,平台很有可能由于参与者的误操作而提供不了理想中的服务[9]。如图4所示,平台中的参与者大致可以分为3种:提供商,管理者和用户。

图4 平台角色分配

提供商包括硬件和软件提供商。硬件提供商提供计算机集群,路由器等硬件资源,软件提供商则是提供操作系统,虚拟化软件等软件资源。管理者包括资源管理者,服务管理者和应用管理者。资源管理者就是管理软硬件资源,保证基础资源的稳定提供;服务管理者则是管理平台服务,为后续开发者提供服务接口;应用管理者主要负责用户应用的提供。用户就是提供移动终端用户的接入方式。

1.5 安全监控

连接到平台中的设备都是开放的,任何信息都可以在任何设备上被找到,安全监控管理就成为了急需解决的问题。本框架中介绍了4种安全监控管理相关的模块:账户密码管理、安全防御系统、系统更新升级、保留系统日志[10]。

账户密码管理是保护平台的第一道防线,用户通过密码认证来获得不同的权限,避免非法用户和操作破坏平台运转。安全防御系统通过防火墙防止黑客的非法访问和流量攻击,将恶意的网络连接挡在防火墙之外,通过入侵检测系统可以监视服务器的出入口,识别并过滤入侵性质的访问。系统的更新升级就是在被攻击之前发现漏洞并及时打补丁,消除系统的不稳定因素。系统日志记录了系统上的一切操作,可以根据日志的记录进行追踪和回滚来保护系统。

1.6 平台数据流

面向多终端异构系统的中间件平台中的3个层次和3种角色之间需要统一的协同机制和标准的数据传输规范才可以无缝连接,实现平台的功能。

平台数据流如图5所示,能力层、中间件平台和移动终端应用平台不间断地运转,等待用户的访问。能力层向中间件平台提供计算、存储、网络等基础能力,中间件平台将这些能力展示出来,供二次开发者使用。二次开发者可以通过重组基础能力和开发新能力的形式来设计应用成品或网络接口。移动终端用户可以通过中间件平台下载应用成品安装和访问网络接口来享受平台中所提供的应用。如果用户没有找到适合自己的服务,可以向中间件平台订制应用,二次开发者会根据用户的需求开发出适合用户的应用。

2 关键技术

2.1 基于中间件平台的新型互联网应用开发模式

本新型开发模式可以抽象表达为 “能力+中间件+终端应用”的开发模式。“能力”屏蔽底层设备异同,将底层设备的资源抽象成能力并向上层提供;“中间件”利用中间件技术屏蔽多平台异构终端,向上层提供标准统一的网络接口和应用服务;“终端应用”将下层提供的网络接口和标准服务呈现给移动终端用户,提供良好的用户体验。

借助于 “中间件”就可以实现 “能力”和 “终端应用”的独立开发。开发人员无需参与到产品设计的整个过程,而是在精通的领域进行开发,精力集中在产品逻辑设计上,各模块之间通过中间件兼容,产品整体质量得到提升。

2.2 基于OSGi的标准化平台架构

OSGi平台规范具有很好的跨平台性,提供了一个开放、通用的架构,使参与者能够互动地开发、部署和管理服务。OSGi利用标准组件接口和插件机制可以满足不同用户的需求,为网络服务定义了一个标准的、面向组件的计算环境。基于OSGi技术的应用和模块可以灵活地接入平台系统,并且在不停机的状态下安装、起停、升级和卸载。因此,采用OSGi标准的平台具有标准化、动态可扩展、模块间松耦合和基础能力可组装的优势[11]。

2.3 多终端异构平台标准化接入技术

研究解决通过SOA、Web Service标准化技术,使中间件平台支持多异构终端系统接入。SOA进一步屏蔽底层技术平台,以客户更易于理解的业务语言进行系统建模、编排设计和部署等,以标准化的服务形式实现应用之间的交互与集成,从而提升系统的综合服务能力,降低运营管理成本[12]。Web Service是一种Internet上松散藕合的软组件技术,它提供了简单的服务器技术集成方案,规定了服务描述、发布和通信交互的规范,利用Web技术和XML格式的消息编码,实现服务的远程访问。

图5 平台数据流

2.4 虚拟化基础资源封装技术

虚拟化基础资源封装技术是是物理实际的逻辑抽象,包括统一的资源描述和标准的资源封装[13]。资源描述有助于资源的整合,方便资源之间的访问;资源封装则将整合之后的资源进行能力化的封装,以便上层使用。平台通过单机虚拟化、多机虚拟化、网络虚拟化、计算存储虚拟化等技术对分布式基础服务资源进行透明化整合,经过整合封装后的资源屏蔽了硬件资源的差异性,能够按照需求灵活分配给用户,提高了资源的利用率和复用性。

2.5 统一数据交互方案

异构设备有不同的接口,不同的数据格式,必须依靠统一数据交互方案来保证设备之间的正常通信,数据交互主要包括横向和纵向两个方面[14]。横向来说,各层设备之间必须保证彼此不发生冲突,协同工作共同提供服务。纵向来看,各层之间也需要保证数据准确传输,资源服务正常提供。统一的数据交互方案保证了平台在纵向、横向两个方面的数据交互,实现了平台的松耦合、可配置和易测试。

3 系统实现

面向多终端异构系统的中间件平台核心模块包括能力层、中间件平台和移动终端应用平台3个层次,如图6所示,每个层次都有相对应的模块来实现层次功能。

3.1 能力层

图6 核心模块设计

能力层包括基础设施和基础设施监控管理两层结构,采用Apache开源项目Hadoop来构建基础设施,采用Xen进行资源的虚拟化工作,采用zabbix来监控整个集群。

采用Hadoop来构建基础设施主要是由于其具有一种用于数据处理的编程模式MapReduce,该模式下的程序本质上是并行的。因此,Hadoop是一个能够对大量数据进行分布式处理的软件框架,并且处理方式是可靠、可伸缩和高效的。利用Hadoop可以异构不同的服务器、数据库、网络等基础设备,共同提供强大的基础能力[15]。

采用Xen进行资源虚拟化工作可以实现开源,且无需特殊硬件支持,就能达到高性能的虚拟化。Xen的模拟类型主要有半虚拟化和全虚拟化两种,前者要求虚拟机与原操作系统相同,后者则可以兼容不同类型的操作系统。

利用开源监控集群zabbix,可以轻松得到集群运行时的数据,方便进行数据分析。Zabbix利用zabbix server可以监视远程服务器/网络状态,进行数据收集,利用zabbix agent安装在被监视的服务器上,完成对其硬件信息、内存和CPU等信息的收集,并且可以通过柔软的通知机制以让系统管理员快速定位/解决存在的各种问题。

3.2 中间件平台

中间件平台中主要包括Tomcat、Equinox和Eclipse。Tomcat实现一种运行环境,Equinox规定一种基于OSGi标准的框架,Eclipse提供一种简单实用的开发工具。

选用Eclipse作为开发工具可以实现开源、易用、跨平台和支持多种语言开发,方便本系统的协同开发,并且可以基于OSGi标准的框架Equinox来进行开发设计,Eclipse众多插件使其相比于其他IDE更具有灵活性。

采用Tomcat实现运行环境是因为其是轻量级应用服务器,技术比较成熟。当配置好Apache服务器时,他可以响应对HTML的访问请求,Tomcat作为Apache的扩展,可以响应对JSP、Servlet的访问请求,增加了平台的灵活性。

采用Equinox可以通过Java语言实现OSGi,提供了应用之间相互通信的支持,用户可以向环境注册自己的服务,也可以查询环境中动态存在的服务并加以利用。根据OSGi标准开发出的服务就是Bundle,包含清单文件和一些Java类的组合。Bundle由许多功能互异且相互独立的基本服务组成,主要实现安装、升级和卸载、开始和停止、注册、注销和跟踪服务的任务。Bundle中注册的Service服务可以通过SOAP协议与其他Web服务实现消息传递,实现了异构平台间的互操作。Bundles通过注册中心发布之后,用户通过查询UDDI注册中心,可得到所需服务的WSDL文件。

3.3 移动终端应用平台

移动终端应用平台就是将平台上提供的各种应用、服务展现给用户,供用户选择实用。

Web Service就是利用网页来展示平台上的各种应用,可以利用中间件平台上的Tomcat来实现,网页上面提供各种应用、接口以及说明介绍文档,终端用户按照说明文档直接调用接口就可以享受到应用服务。Application Product则是移动终端应用软件,通过软件在终端上展示服务,供用户随时随地下载使用,故其底层连接和Web相同,可以共用。

4 实验与分析

用户登陆平台使用平台服务的流程如图7所示:用户通过用户名和密码来鉴别,如果没有注册或者输入错误则返回重新登录或注册。用户名和密码匹配之后根据注册信息将用户分为普通用户、开发者和管理者3种级别,每种级别赋予不同等级的权限。普通用户只是查看平台上的服务和订制自己所需要的服务;开发者可以查看平台上的服务,也可以开发自己的服务上传到平台上供普通用户使用;管理者则监控整个平台,保证平台的正常运行。

开发者可以利用平台上的基础能力快速开发服务,开发者快速开发过程如图8所示。在Eclipse中,src中是自己开发的代码,Referenced Libraries中是从平台上下载的基础能力,以jar包形式添加到项目当中,就可以利用接口实现功能,服务开发完成后可以上传到平台上供普通用户使用。

普通用户可以借助平台上的服务接口直接使用服务也可以将服务成品下载到移动终端安装后使用,图9展示了Intelligence Campus在移动终端上的运行效果,左侧是自习室查询效果,右侧是校园招聘信息效果。

图9 终端展示

从图9中可以清楚的看到在面向多异构系统的中间件平台体系结构上的终端应用成功在移动终端上运行,我们可以简单的查询到适合自己的自习室,清楚的了解学校中的最新消息。说明 “能力+中间件+终端应用”服务模式的成功实现,也验证了该面向多终端异构系统的中间件平台框架结构的可行性和正确性。

5 结束语

针对目前移动终端自身所存在的弊端以及对中间件平台、虚拟化等技术的研究,本文提出了一种面向多终端异构系统的中间件平台架构,采用 “能力+中间件平台+终端应用”的新型应用服务模式。能力层提供强大的能力,中间件平台屏蔽异构设备和终端,终端应用平台将移动终端接入平台,角色管理明确用户权限,安全监控保障平台运转,5个模块协同工作实现了平台的标准化、动态可扩展、模块间松耦合、基础能力可组装和多终端异构系统可接入。最后通过Android智能移动终端测试了新框架下开发出来的应用软件,验证了服务模式的可行性和框架结构的正确性。

[1]CHEN Kang,ZHENG Weimin.Cloud computing:System instance and research situation [J].Journal of Software,2009,20 (5):1337-1348 (in Chinese). [陈康,郑纬民.云计算:系统实例与研究现状 [J].软件学报,2009,20 (5):1337-1348.]

[2]Vania Goncalves,Pieter Ballon.An exploratory analysis of software as a service and platform as a service models for mobile operators [C].13th International Conference on Intelligence in Next Generation Networks,2009:1-4.

[3]FUNG Po Tso,CUI Lin,ZHANG Lizhuo,et al.Building a platform to bridge low end mobile phones and cloud computing services [J].ZTE Communication,2011,9 (1):22-26.

[4]ZHANG Liangjie,ZHOU Qun.CCOA:Cloud computing open architecture [C].IEEE International Conference on Web Services,2009:607-616.

[5]Sergio Martin,Manuel Castro,Alex Talevski,et al.A middleware for mobile and ubiquitous learning ecosystems based on a reconfigurable plug-and-play architecture:application to mashups[C].IEEE 24th International Conference on Advanced Information Networking and Applications Workshops,2010:1-6.

[6]Aitor Uribarren,Jorge Parra,Rosa Iglesias,et al.A middleware platform for application configuration,adaptation and interoperability [C].Second IEEE International Conference on Self-Adaptive and Self-Organizing Systems Workshops,2008:162-167.

[7]Kwon Young Woo,Eli Tilevich,William R Cook.An assessment of middleware platforms for accessing remote services[C].IEEE International Conference on Services Computing,2010:482-489.

[8]Zeeshan Pervez,LEE Sungyoung.Multi tenant,secure,load disseminated SaaS architecture [C].The 12th International Conference on Advanced Communication Technology,2010:214-219.

[9]LEE Woojin,LEE Sungwon,Dan Hyung.Product line approach to role-based middle ware development for ubiquitous sensor network [C].7th IEEE International Conference on Computer and Information Technology,2007:1032-1037.

[10]Al Jaroodi,Al Dhaheri J,Al-Abdouli A,et al.A survey of security middleware approaches and issues for ubiquitous applications[J].Computers & Mathematics with Applications,2010,60(2):35-42.

[11]LEE Jonathan,CHEN Hsimin,WU Chialing,et al.Delivery of telematics services using OSGI and mobile agents Systems[C].IEEE International Conference on Man and Cybernetics,2010:3952-3955.

[12]YANG Linfeng,LI Jie,LI Taoshen,et al.The realize and performance test of service-oriented computing grid middle ware [J].Computer Engineering,2009,35 (3):268-270(in Chinese).[杨林峰,李捷,李陶深,等.面向服务的计算网格中间件的实现及性能测试 [J].计算机工程,2009,35 (3):268-270.]

[13]LV Bo,WANG Zhenkai,HUANG Tao,et al.Virtual resource organization and virtual network embedding across multiple domains[C].International Conference on Multimedia Information Networking and Security,2010:725-728.

[14]XU Shiwu,ZHAO Yilang,ZHU Feng.Research of multilevel data exchange mechanism based on land and resource e-government[C].18th International Conference on Geoinformatics,2010:1-5.

[15]Jeffey Shafer,Scott Rixner,Alan L Cox.The Hadoop distributed file system:Balancing portability and performance[C].IEEE International Symposium Performance Analysis of Systems &Software,2010:122-133.

猜你喜欢

中间件异构虚拟化
试论同课异构之“同”与“异”
基于OpenStack虚拟化网络管理平台的设计与实现
对基于Docker的虚拟化技术的几点探讨
RFID中间件技术及其应用研究
基于VanConnect中间件的设计与开发
虚拟化技术在计算机技术创造中的应用
异构醇醚在超浓缩洗衣液中的应用探索
overlay SDN实现异构兼容的关键技术
LTE异构网技术与组网研究
存储虚拟化还有优势吗?