基于位置的服务_架构与进展

基于位置的服务_架构与进展
基于位置的服务_架构与进展

第34卷 第7期2011年7月

计 算 机 学 报

CHINESE JOURNAL OF 

COMPUTERSVol.34No.7

July 

2011收稿日期:2009-12-04;最终修改稿收到日期:2011-03-28.本课题得到国家自然科学基金创新研究群体科学基金(61021004)、国家杰出青年基金(60925008)、国家自然科学基金面上基金(61070052)和上海市重点学科建设项目(B412)资助.周傲英,男,1965年生,教授,博士生导师,主要研究兴趣为数据管理与信息系统,包括Web数据管理、中文Web基础设施、Web搜索与挖掘、

数据流与数据挖掘、复杂事件处理与实时商务智能、不确定数据管理及其应用、数据密集的计算、分布存储与计算、对等计算及其数据管理、Web服务计算等.E-mail:ay

zhou@sei.ecnu.edu.cn.杨 彬,男,1982年生,博士,主要研究方向为移动数据管理.金澈清(通信作者),男,1977年生,博士,副教授,主要研究方向为数据流管理、不确定数据管理、基于位置的服务等.E-mail:cqjin@sei.ecnu.edu.cn.马 强,男,1984年生,硕士,主要研究方向为海量数据管理.

基于位置的服务:架构与进展

周傲英

1),2)

 杨 彬2) 金澈清1) 马 强

2)

1)(华东师范大学上海市高可信计算重点实验室 上海 200062)2)(复旦大学上海市智能信息处理重点实验室

 上海 2

00433)摘 要 随着无线通信技术和智能移动终端的快速发展,基于位置的服务(Location-based Services,LBS)在军事、交通、物流等诸多领域得到了广泛应用,它能够根据移动对象的位置信息提供个性化服务.目前,主流的定位技术大致可分为卫星定位、基于网络基础设施的定位和感知定位三类.LBS使用有效的移动对象时空索引技术来高效处理服务查询请求,并且采用不同隐私保护策略以有效保护用户的位置隐私.近年来,由于应用场景趋于复杂、多定位技术协同、数据规模迅速扩大等因素影响,室内LBS、不确定位置信息管理、新型隐私保护技术、云计算平台下的LBS、社会化LBS等也越来越重要.文中介绍了LBS系统的架构及其各个组成部分的关键技术,回顾了近几年来LBS技术的研究进展,探讨了未来的研究方向.关键词 基于位置的服务;定位技术;移动对象;隐私保护

中图法分类号TP311 DOI号:10.3724/SP.J.1016.2011.01155

Location-Based Services:Architecture and Prog

ressZHOU Ao-Ying

),2)

 YANG Bin2) JIN Che-Qing1) MA Qiang

1)(

Shanghai Key Laboratory of Trustworthy Computing,East China Normal University,Shanghai 200062)2)(

Shanghai Key Laboratory of 

Intelligent Information Processing,Fudan University,Shanghai 200433)Abstract With the advances in wireless communication technolog

ies and smart mobile devices,Location-based Services(LBS),which provide personalized services based on users’location in-formation,have been widely 

applied in military,transportation,logistics etc.Currently,main-stream positioning techniques are mainly divided into three categories,including satellite-basedpositioning,network infrastructure-based positioning and presence sensing 

positioning.With thehelp of effective spatio-temporal indexes,LBS are capable of processing the service requests effi-ciently.LBS usually employ different location privacy 

preservation methods to protect the userprivacy.Recently,because of the complexity of applications,the cooperation of multiple positio-ning 

techniques and the huge data volume,new challenges emerge.Indoor LBS,management ofuncertain data,novel location privacy protection method,LBS on cloud infrastructure and socialLBS are becoming 

critical issues.This paper introduces the architecture of an LBS system and thekey techniques of its components.Second,After reviewing the main progresses in recent years,we discuss the future work briefly

.Keywords location-based services;positioning technologies;moving objects;privacy 

preservation

1 引 言

随着无线通信技术和智能移动终端的广泛应用,基于位置的服务(Location-based Service,LBS)得到飞速发展与普及.基于位置的服务是指移动终端利用各种定位技术获得当前位置信息,再通过无线网络得到某项服务.早期的LBS系统主要用于在紧急情况下快速定位求助者的位置,以实施救援,比如美国的E911系统和欧洲的E112系统[1].当前,LBS已经广泛应用在军事、交通、物流、医疗、民生等领域中.例如,司机可以利用内置GPS功能的智能手机查找最近的加油站,也可制定行车线路.在大型博物馆(例如故宫博物馆)内,游客可以借助一个能感知位置的语音导游器来欣赏对各个藏品的讲解.

LBS区别于其它传统网络服务的一大特点就是上下文感知性(context aware)以及应对上下文变化的适应性(adaption).上下文是指描述某个实体状态的任何信息.Nivala等人对基于地图的移动服务提出了9种上下文信息[2]:移动地图用户、位置、时间、运动方向、导航历史、使用目的、社会和文化状况、物理环境和系统属性.根据上下文的状况和变化,需要动态适应LBS的服务内容和表达形式.Reichenbacher将适应性划分为4个级别:信息级别、技术级别、用户界面级别和显示级别[3].

1.1 LBS的系统架构

图1描述了LBS系统的一般性架构.先进的定位技术可以实时获取用户/移动对象的位置信息,并发送到LBS系统中去.当前应用最广泛的定位技术无疑就是GPS了,此外也不乏其它定位技术,例如GSM、Wi-Fi、RFID(Radio Frequency IDentifica-tion)等.LBS系统将这些位置信息保存在移动对象数据库(Moving Object Database,MOD)之中,通过构建特定的索引来提高访问效率.此外,LBS系统还需要保留一些静态GIS信息.用户向LBS系统发出服务请求,并获取服务.LBS中间件是用户与LBS系统之间的通信媒介,它具有多种模型,包括基于内容的模型(content-based model)、基于主题空间的模型(subject space-based model)和元组空间模型(tuple space model)等,前两个模型又被称为发布/订阅模型(publish/subscribe model)[4].LBS系统的查询处理引擎访问移动对象数据库和静态数据库,从而提供用户所需的服务.为了保护用户的隐私,LBS系统一般还有位置隐私保护模块,从而不会在向用户提供服务的过程中泄露用户的隐私.位置隐私保护模块有时也涉及到与第三方可信机构之间的交互

图1 LBS系统的架构

虽然LBS中的许多功能和传统的GIS(Geo-graphic Information Systems)系统相似,但是LBS和GIS有许多本质的区别[1].GIS系统通常可以利用较多的计算资源,为少数专业技术人员提供专业的地理数据的分析和处理.而LBS则是为大量普通用户提供有限的地理数据服务,并且这些服务要在资源有限的移动终端上运行.因此,一个LBS服务提供商通常具备如下几方面特点:

高性能.快速处理用户的查询请求,以避免长时间等待;

可扩展性.能够支持大规模用户和数据;

高可靠性.保证系统长时间稳定运行;

实时性.支持实时查询动态信息;

移动性.无论移动终端在任何地点都可以为其提供服务;

开放性.支持多种公告协议和标准;

安全性.保护服务提供商的数据和用户的隐私;

互操作性.LBS通常需要和其它电子商务服务集成在一起,因此需要有良好的互操作性.

1.2 LBS的分类

根据服务信息的投递是否需要用户的直接交互,LBS可以分为拉动服务(pull services)和推送服务(push services)[4].拉动服务是指由用户主动发送明确的服务请求,服务提供商把所需信息返回给用户,就如同用户把所需要的信息从服务提供商那里“拉”到用户自己这里.比如,用户发送一个请求“离我最近的饭店在哪里?”给服务提供商,服务提供商根据用户当前位置,找到最近的饭店返回给用户.推送服务则和拉动服务相反,用户没有明确发送服务请求,而是当某一条件满足时,服务提供商自动将相关信息返回给用户.推送服务可以分为用户事先

1计 算 机 学 报2011年

同意和用户事先未同意两个子类.用户事先同意的

服务通常是通过向服务提供商订阅(subscription)实现,比如:用户订阅根据当前位置提供天气预报信息的服务.当用户从上海到达北京时,服务提供商就将北京的天气资料发给该用户.用户未事先同意的服务一般指的是广告投递服务,比如:服务提供商将某商场的促销信息发送给周边的用户.

根据服务对象的不同,LBS又可以分为特定服务和通用服务.特定服务是指为特定人群或特定地区提供的服务,例如医院的残疾人跟踪服务、景点的自助导游服务等.特定服务需要服务提供商维护特定数据集合,比如旅游景点的相关信息.通用服务是指通信提供商对其所有用户提供的通用服务.OGC(Open Geospatial Consortium)的OpenLS(OpenLocation Services)标准规定了6种基本的通用服务:目录服务、网关服务、位置工具(地理编码和反地理编码)服务、显示服务、路径服务和导航服务.根据服务处理技术的不同,LBS又可以分为快照查询服务(snapshot queries)和连续查询服务(continuous queries).快照查询服务根据查询条件,一次执行,返回结果;连续查询根据移动对象的位置变换信息持续更新查询结果.通常情况下,推送服务通过连续查询来实现.

目前已经有一些LBS相关技术的综述文献.D’Roza和Bilchev[5]总结了LBS中常见的室外定位技术,综述了LBS中数据传递的格式和协议.Liu等人[6]描述了主流的室内定位技术.Jiang和Yao[1]分析了LBS的常见应用情景和特点,指出了LBS与GIS系统之间的差异.Mokbel等人[7]对如何提高LBS查询的可扩展性进行了综述,提出了共享执行策略.Lee等人[8]初步探讨了室内、室外空间不同的位置系统模型和相应的查询.潘晓等人[9]则对LBS中的隐私保护方法进行了综述.Schiller和Voisard[4]编辑的书较为全面地介绍了LBS系统,该书出版于2004年,无法收录之后的LBS研究进展.本文围绕LBS的架构,介绍关键技术,特别是新近的研究进展.

本文第2节回顾主流定位技术;第3节介绍针对移动对象的索引技术;第4节描述3个主要的中间件模型;第5、6节分别介绍LBS系统的查询处理技术和位置隐私保护技术;第7节着重叙述近期LBS的研究进展;第8节探讨未来的研究方向;最后,在第9节总结全文.2 定位技术

基于位置的服务的基础是高质量地获取位置信息.定位技术主要有3类:卫星定位技术、基于网络的定位技术和感知定位技术.卫星定位技术是指利用太空中的人造卫星对移动对象进行定位,典型代表是GPS.基于网络的定位技术是指利用网络基站(或者接入点)等基础设施对移动对象进行定位.当移动终端被某一网络覆盖区域感知时,由网络基站或控制点计算出该移动终端的位置,典型代表是移动通信网络(如GSM,CDMA等).感知定位技术指在指定空间内部署传感器,当移动对象进入传感器的检测区域时,则能判定该对象的位置,典型代表是无线射频识别技术(RFID).

卫星定位技术.目前在室外空间最为广泛使用的卫星定位技术是GPS(Global Positioning System).GPS全球定位系统是由美国国防部于1978年设计研制的,起初只用于军事用途[5].美国于2000年全面放开GPS对普通民众的使用权限,使得GPS广泛应用于民用交通导航.类似定位系统有欧洲的伽利略系统、俄罗斯的GLONASS系统.我国也已经实验开发了北斗1定位系统,北斗2定位系统正在研究中.GPS能将终端的位置限制在经度、纬度、高度组成的三维坐标系统内.其它改进型技术还包括差分GPS技术和辅助GPS技术等.差分GPS(Differential GPS)系统可以纠正卫星信号在电离层和对流层传输时的时间误差,进而提高精度.辅助GPS(Assistant-GPS)系统是指使用一些辅助数据(例如地面的移动网络基站)来提高GPS在弱信号下的定位精度.当外部条件良好时,GPS能够获得较佳的定位效果.但是GPS的精度较易受到周围环境的影响,例如高大建筑、室内空间等.

基于网络的定位技术.这种定位技术往往依赖于移动通信网络设施.移动通信网络通常通过COO(Cell Of Origin)[5]进行定位,将移动终端定位在其注册的基站的覆盖范围内.因此,移动通信网络COO定位的精度和基站覆盖范围紧密相关.尽管使用一些辅助手段有助于提升精度,但总体来说这类定位技术的精度较低.此外,还可以依赖无线局域网进行定位,如Wi-Fi等.基于Wi-Fi的定位通常根据Wi-Fi访问点(Access Point or Hotspot)的已知部署位置和信号强弱进行定位,主要有基于三边测量的方法[10]和基于信号强度指纹的方法[11].基于三边

7期周傲英等:基于位置的服务:架构与进展

测量的方法通过信号传递模型,将接收到的信号强度转换为到访问点的距离,进而利用三边测量法定位.但是由于室内影响信号强度的因素很多,这使得建立一个通用的信号传播模型并不简单,而模型的好坏直接影响到定位的效果.基于信号强度指纹的方法首先将事先选择的室内空间每个参考点到所有Wi-Fi访问点的信号强度(即指纹)记录到数据库,终端根据当前自身到所有访问点的信号强度信息在指纹数据库中查找与其最接近的参考点,并用该参考点的位置定位移动终端.这种方法的精度在很大程度上取决于参考点选取的数量和位置.

感知定位技术.感知定位技术适用于短距离识别.一般而言,需要一个信号发送端和一个信号接收端.当信号发送端和信号接收端相互间距离很小时,则能够被识别.RFID就是一种典型的感知定位技术.RFID系统通常包括两个组成部分:RFID阅读器和RFID标签.RFID阅读器能感知其覆盖区域内出现的RFID标签.当携带RFID标签的对象被某一RFID阅读器感知时,即可对该对象定位.该方法与移动通信网络的COO方法类似,但是RFID的覆盖区域要小很多,主要用于室内空间.这使得RFID定位的位置通常被限制在符号系统中.符号系统比几何坐标系统更适合描述室内空间,比如人们通常用房间号码来指示一个室内位置,而不是通过经纬度.另一方面,通过RFID读卡器的部署信息,可以将符号系统的坐标转化为几何坐标系统.因此,为了更好地利用RFID进行室内定位,需要综合考虑室内空间的平面规划和RFID阅读器的部署.此外,蓝牙、红外等也是比较典型的感知定位技术.

表1总结了各类定位技术的特点.

表1 定位技术对比

类别代表性技术精度覆盖范围应用场景定位坐标卫星定位技术GPS,北斗,伽利略中高广室外几何坐标基于网络的定位技术GSM,3G,CDMA,Wi-Fi中低较广室外/室内几何坐标感知定位技术RFID,蓝牙,红外高小室内符号坐标

由于室内、室外的环境不同,定位技术的工作原理不同,使得很难有一种定位技术能同时广泛地支持室内和室外定位.为了给服务提供商进行统一的室内外定位信息,需要在室内室外定位技术之间进行切换.Hansen等人[12]对这一问题进行了研究,提出了针对室外GPS定位和室内Wi-Fi定位之间的4种切换策略.相对于室外空间的成熟定位技术,近年来对室内空间的各类定位技术的研究比较集中.但大部分研究集中在如何提高某一个特定技术的定位精度.如何通过多种室内定位技术获得更精确的位置信息也有较高的研究价值,即提供一种通用的室内定位模型.

3 索引技术

索引技术是移动对象数据库的核心技术,决定了LBS的查询性能.对空间数据的索引技术的研究工作已经开展了20余年的时间,出现了R-tree家族[13-14]、KD-tree家族[15-16]和Quard-tree家族[17]等代表性的索引技术.这类空间索引技术能够有效实现对静态空间对象的索引.然而,当移动对象频繁移动时,上述索引技术的性能显著下降.因此,近年来

出现了一批有针对性的移动对象历史轨迹索引技术和移动对象当前/将来位置索引技术.历史轨迹索引技术不仅考虑对象的空间位置,也考虑时间维度;当前-将来位置索引技术则对于移动对象位置的更新操作具有良好的适应性.

3.1 历史轨迹索引技术

首先我们来讨论索引移动对象历史轨迹的方法.历史轨迹的索引方法可以分为两类:基于R-tree的索引和基于Hash的索引.基于R-tree的历史轨迹索引方法将时间维视为一个普通维,将移动对象的轨迹表示成多维空间内的一组线段,再用R-tree进行索引.如图2所示,一个移动对象的轨迹被表现在二维几何空间范围(x,y)和一个时间维(t)的三维空间内

图2 室外移动对象在几何坐标下的移动轨迹[22]

1计 算 机 学 报2011年

3DR-

tree[18]

把时间维当作一个额外的空间维,不区分空间维和时间维,用一个3DR-tree统一对在这个三维空间内的轨迹进行索引,使得空间查询、时间查询、时空查询在3DR-tree上统一实现.MR-

tree[19]

和HR-

tree[20

对每一个时刻的移动对象的位置建立一个R-

tree.为了节省索引的空间,对连续时刻内位置未发生改变的移动对象不再进行保存,而

是通过指针指向前一个节点.MV3R-

tree[21]

同时维护两棵树:MVR-tree和3DR-tree,其中MVR-

tree用于处理时间参数为时刻的时空查询,3DR-tree用于处理时间参数为时间间隔的时空查询.为了处理

针对轨迹的查询,TB-tree[22]利用类似R-

tree的结构,

但是它要求每个节点只保存来自于同一移动对象轨迹的时空数据.这样,在时空上临近但不属于一个移动对象轨迹的数据将被分别保存在不同的节点内.

基于Hash的索引结构通常将空间维和时间维

分开处理.SETI[23]

把空间维和时间维区分开:使用静态、

无重叠的网格划分空间维度(如图3所示);使用一维R-tree索引各空间网格内的时间维度.Song在其相关研究中也是先按照空间维度使用静态的网

格划分[24]

,而对每个空间网格内的对象的时间属性进行转化,用SEB-

tree[25]进行索引

.图3 SETI中基于空间的网格划分[2

3]

3.2 当前位置索引技术

移动对象的位置随时间不停变化,这就要求索

引结构能够应对大量更新操作.2+3R-

tree[26]

是一种既能索引历史轨迹,又能索引当前位置的方法,它维护了两个R-tree,一个2DR-tree用于索引移动对象当前位置,另一个3DR-tree用于索引移动对象的历史轨迹.当移动对象的位置改变时,一条新的轨迹线段被构造出来并插入至3DR-tree中,与此同时,新位置插入到2DR-

tree中,且旧位置从2DR-tree中移除.LUR-tree[27]

通过R-

tree索引移动对象的当前位置,

以满足移动对象频繁的位置更新操作.一旦移动对象的位置改变,新的位置将及时更新到R-tree中.如果新位置仍然在其原先节点的MBR内,

只需更改该目录的位置;如果新的位置超出其节点的MBR,

则根据不同策略选择是将该对象的目录删除后再插入,或者是将该节点的MBR进

行扩展以包含该对象的新位置.为了应对移动对象

频繁的更新操作,RUM-tree[2

8]利用保存在内存的特定信息,在更新时能避免访问磁盘来实现删除旧条目.而过期的旧条目将以批处理方式移除,从而提高了更新操作的效率.

3.3 将来位置索引技术

为了索引未来时刻的移动对象位置,通常情况下需要根据移动对象的速度V对移动对象的未来位置建模,即locationnew=locationold+V×(tnew-told)

.对移动对象将来位置的索引技术分为两类:基于R-

tree的索引结构和基于B+-tree的索引结构.TPR-

tree[29]和TPR*-tree[30]

使用时间参数的MBR来组织移动对象,在组织节点时不仅考虑移动对象

当前的位置,也考虑移动对象的速度,因而MBR能

随时间的变化而扩展.

当移动对象的位置更新时,则重新计算包含该对象的MBR.

由于这类索引结构保存了速度信息,因而能预测移动对象的将来位置.

REXP-tree[31

是TPR-

tree的一种扩展,它针对部分移动对象长时间不更新位置信息导致MBR不断扩

大的缺点,设定一个失效时间以删除失效的移动对

象或重新计算.VCI R-tree[32]额外保持每个R-

tree节点的所有对象的最大速度,在查询处理时,根据查询时间和最大速度对MBR或查询本身进行扩展,如图4所示

图4VCI R-

tree处理范围查询时的MBR扩展和查询扩展[32]

利用B+-tree对移动对象建立索引也是一种重

要的方法.Bx

-tree[33]是第一个基于B+-tree索引移动对象的方法.整个空间被划分为若干个单元格,借

助于空间填充曲线(space filling 

curve),每个单元9

5117期

周傲英等:基于位置的服务:架构与进展

格被赋予一个标识符.移动对象所在的单元格的标识符值被B+-tree进行索引.当处理范围查询时,需要通过移动对象的速度和相对时间对范围进行扩展.Jensen等人[34]提出了支持更精确的范围查询的扩展算法.Yiu等人[35]提出了Bdual-tree,将一个二维的移动对象映射到四维的对偶空间进行索引.Chen等人[36]针对移动对象经常在时空范围内发生变化的特点,提出了一种可自适应调节的ST2 B-tree索引结构.

此外,STRIPES[37]是一个对位置和速度进行索引的对偶索引,它将在二维空间移动的移动对象映射到四维的对偶空间,并对四维空间进行PR Quad-tree[17]索引.这样的结构提高了更新效率,但是却对查询效率有所影响.针对不同的当前/将来位置索引技术,Chen等人[38]提出了一个测试基准,并对主要的当前/将来位置索引方法的特性进行了详细的比较.

4 LBS中间件模型

中间件技术广泛地用于移动计算环境之中.LBS系统将LBS中间件作为服务处理引擎与终端用户之间的软件载体,隐藏了具体技术细节,便于向客户端提供服务.主要的LBS中间件模型有三种,包括基于内容的模型(content-based model)、基于主题空间的模型(subject space-based model)和元组空间模型(tuple space model).前两个模型又可被归为发布/订阅模型(publish/subscribe model).发布/订阅模型是移动计算中应用最为广泛的中间件模型之一.该模型中有两个角色:发布者和订阅者(也称消费者),二者之间通过事件交换信息.发布者产生事件,订阅者向发布者发送订阅请求.当特定事件发生时,即可将该事件通知订阅者.发布者与订阅者之间的联系并不紧密,是松耦合的;换言之,当订阅者暂时无法工作时,发布者仍可发布事件[4,39].4.1 基于内容的模型

在本模型中,一个事件被描述为一组(属性,值)对子,而订阅请求则被描述为一个事件相关的谓词.对于任一事件,检查所有订阅请求的谓词;当谓词为真时,则将该事件发布给订阅者[4].

例如,假设某个LBS系统中某个移动对象产生的事件为{(id,"救护车"),(location,(100,200))},表明某一辆救护车的当前坐标是(100,200).订阅者的请求是:(location,(x>100)and(x<120)and(y>150)and(y<180)),表示订阅者对于空间上

矩形框(左下角坐标(100,150),右上角坐标(120,180))内的移动对象感兴趣.因此,这个事件不会发送到订阅者.

基于内容的模型比较简单,但是无法记录发布者或者订阅者的状态.例如,假设某用户(订阅者)不愿一天之内接连看两场电影,则最好不要在一天内多次向他发送电影放映通知.由于基于内容的模型并不记录历史事件,无法满足这个需求,因此可以应用基于主题空间的模型.

4.2 基于主题空间的模型

基于主题空间的模型的核心概念是主题空间.一个主题空间实际上是一个多维空间,空间中的每个维度分别被定义为一个元组d={name,type},其中name是维度的唯一标识符,type表示数据类型.例如,关于位置的主题空间可以被描述为{(x,double),(y,double)}.此外,兴趣区域(interestregion)表示订阅者感兴趣的一个子域,在某个主题空间中;对象区域(object region)表示一个对象的状态或者属性.订阅者的订阅请求指定一组兴趣区域和一个过滤函数,以查看对象区域是否符合订阅标准;发布者的发布准则指定了一组对象区域和一个过滤函数,以查看兴趣区域是否与本次发布匹配.可以通过订阅请求和发布准则来判定是否匹配[40].在基于主题空间的模型中,信息在发布之后仍旧会保留在系统之中,而不是直接被移除,因此该模型支持有状态的发布/订阅.此外,也有助于实现对称的发布/订阅系统.换句话说,仅当发布准则与订阅请求匹配时才会向订阅者发送信息.这个特性能有效降低信息发布量,避免了冗余信息的传播.4.3 元组空间模型

元组空间模型最早被用于并行编程领域,以协调并发执行的任务.一个元组是一个包含多项值的矢量,元组空间是一个包含许多元组的集合.多个任务共享一个元组空间,可以通过改变元组空间中的各个元组值(或插入新元组)来实现任务间通信.因此,一般情况下任务间通信是松耦合、匿名化的.如果想实现同步化通信的目的,则在任务向元组空间发送信息之后,必须等待目标任务产生响应元组[41].一般来说,元组空间模型需要支持3个原子操作.

write(t):向元组空间插入一个元组t;

extract(p):从元组空间中取出符合谓词p的元组;

1计 算 机 学 报2011年

read(p):从元组空间中读取符合谓词p的元组,但该元组仍旧保留在元组空间中.

LBS系统可以很方便地使用元组空间模型,信息发布者和订阅者通过元组空间进行通信.

5 服务处理方法

5.1 快照查询和连续查询

如前所述,从查询处理的技术角度,基于位置的服务通常包含两类查询服务:快照查询和连续查询.快照查询访问移动对象数据库后立即返回查询结果.典型的快照查询如:“查询当前离我最近的快餐店”.连续查询根据周围环境变化情况持续刷新查询结果.例如,“监控未来一小时内某路口车流量变化”就是一个典型的连续查询.

快照查询的处理较为简单.根据查询对象的时效性不同,快照查询大致可分为历史查询、当前查询和未来查询三类.历史查询用于查询过去时间内发生的事件,例如“查找哪些车辆昨天出现在停车场”;当前查询用于查询正在发生的事情,例如“查找哪些车辆现在出现在停车场”;将来查询则查询将要发生的事件,例如“查找哪些车辆将在五分钟后出现在停车场”.为了提高快照查询的执行效率,需要创建各种索引结构.对于历史查询,需要在时间-空间维度上对移动对象的历史运动轨迹进行索引.对于当前查询和未来查询,则需要对移动对象的当前位置进行索引,并维护移动对象的移动模型.这一类索引结构需要支持较多的更新操作.这两种索引结构已经在第3节中做详细综述.

相比而言,连续查询的处理更为复杂,常用的策略有周期性快照查询法[32]、增量处理法和查询感知处理法.

周期性快照查询法.该方法是最朴素的连续查询处理方法,定期执行快照查询(通常是当前快照查询),并刷新查询结果.缺点是难以有效地定义周期值:过小的周期值将增加系统负荷,而过大的周期值会降低查询结果精度.

增量处理法.根据初始结果,动态增加新数据或者删除过期数据.SINA[42]定义了两类更新:正更新和负更新(从当前结果集内增加或删除一个移动对象),从而增量地更新查询结果.SINA通过散列、验证和连接3个步骤完成对连续查询的正负更新,从而有效地执行连续查询.Q-index[32]是另一种处理连续查询的索引结构.和通常的索引构建策略相

反,Q-index为所有查询建立索引,当移动对象的位置变化时,通过Q-index可以找到受影响的查询,并更新相应的查询结果.

查询感知处理法.该方法根据连续查询的查询条件计算出“安全区域”[32,43],只有当移动对象离开或进入“安全区域”时,才会影响查询结果.因此,系统可以忽略很多不影响查询结果的位置更新操作,进而降低系统负荷.如图5所示,给定5个范围查询,对象A的安全区域表示为一个以A为圆心的圆,而对象B的安全区域则是一个矩形.文献[32,43]基于欧式空间距离计算安全区域,而在实际应用中许多时候需要基于道路网络进行计算.针对这一特点,Yiu等人[44]针对道路网络上的kNN连续查询提出了新的方法.该方法首先通过确定能够影响当前kNN结果的路段,当移动对象离开该路段时则更新连续查询结果.该方法同时支持共享查询处理

图5 安全区域[32]

5.2 分布式查询处理方法

按照移动终端是否参与查询处理,服务处理方法可以分为集中式和分布式两种处理方式.在集中式方式中,仅服务提供商处理连续查询,移动终端并不参与查询处理.分布式方式中,服务提供商与移动终端协作完成连续查询处理.

Gedik等人[45]提出了一种分布式连续查询处理架构MobiEyes,其核心思想是由移动终端来计算和判断是否是一个连续查询的结果,而中心服务器负责注册和维护连续查询的相关参数,并将参数传到相关移动终端.移动终端维护一个注册表以记录临近的一组连续查询,并周期性地检查自己是否属于这些查询的结果之中.若是,则向服务器报告.为减少服务器和移动终端之间的通信代价和移动终端的计算开销,该文还提出了3种优化策略.Cai等人[46]则考虑到每个移动终端的计算和存储能力有差别,针对每个移动终端最多能处理的查询个数确定一个

7期周傲英等:基于位置的服务:架构与进展

存在区域,仅当移动对象离开存在区域时,才向中心服务器发送位置更新,并获取新的存在区域.移动终端在存在区域移动时,需要自己计算并检查是否是与该存在区域相关的连续查询的结果.

与集中式方式相比,分布式方式通常需要在服务器与移动终端之间传递更多的消息,这带来两个问题:一是大量移动终端可能造成网络拥塞;二是网络通信会消耗移动终端的能量,缩短充电周期.另外,该方法无法适用于无计算能力的移动终端,如仅携带RFID标签的移动对象.

6 隐私保护

隐私保护是LBS的重要内容.用户并不期望由于接受了服务而向外界泄露了位置信息,这既包括当前的具体位置,也包括对象的移动习惯等.最常用的位置隐私解决方案是空间伪装(spatial cloa-king)[47],即用户将位置伪装成为一个区域之后再发送给服务提供商,服务提供商则根据用户所提供的区域信息为用户提供服务.在这种方式下,服务提供商无法准确得知用户的位置.事实上,用户隐私和服务质量是一对矛盾关系,需根据具体情况进行权衡.Tan等人[48]提出了量化分析隐私保护和服务质量比例的方法.本节回顾两大类隐私保护技术[49],即依赖于可信赖的第三方机构的技术(简称TTP-based)和不依赖于可信赖的第三方机构的技术(简称非TTP-based).

6.1 依赖可信赖第三方机构的隐私保护方法在TTP-based技术中,用户将位置信息发送给TTP(Trusted Third Party),由TTP对位置信息做变换,之后再连同服务请求一起发送给服务提供商;服务提供商基于不精确的位置信息进行处理,并将服务结果返回给TTP.TTP经过过滤、取精后返回给用户,如图6所示.在此过程中,TTP的主要任务是将原始的、准确的位置信息转化为不准确的位置信息,以保护用户的隐私.

一种简单的方法是TTP直接用虚假标识符表示真实的用户标识符,再发送给服务提供商[44].但是,服务提供商仍可借助其它辅助信息进行破解,比如通过电话号码或家庭住址来推测真实用户信息.k-匿名方法是另外一种使用较广泛的方法[50],其核心思想是以一个覆盖移动对象的矩形来描述该对象的真实位置,该矩形同时还包含另外k-1个对象,使得服务提供商无法将该对象与其余k-1

个对象

图6 隐私保护方法

区分开来.Gedik等人[51]提出了整合时间和空间区域的k-匿名方法CliqueCloak,在一个时空立方体内部至少仍然存在其它k-1个对象.林欣等人[52]发现k-匿名方法对连续攻击保护效果较弱,提出了一种能够有效保护连续查询时用户隐私的基于熵理论的度量方式AD(anonymity degree).Mokbel等人[53]提出了Casper方法,利用金字塔数据结构将整个空间划分成大小不等的单元,若移动对象较为密集,则单元面积较小;反之,则单元面积较大.Kalnis等人[54]提出了Hilbert Cloak方法,利用Hilbert曲线将二维空间映射成一维空间,再利用B+-tree对移动对象建立索引.通过选取具有连续Hilbert值的k个对象进行隐私保护.Privacy-Grid[55]使用网格进行k-匿名,并在此基础上增加了l-多样性,进而又提高了隐私的保护程度.

依赖于可信赖第三方的隐私保护技术的有效性在很大程度上取决于第三方机构是否可信.近年来,陆续出现了一些有关第三方机构的丑闻事件,使得第三方机构的独立性与权威性大打折扣.该技术的另一个缺点是集中式处理方式,即所有用户请求均发送到TTP,使得TTP成为系统性能瓶颈.因此,当前的发展趋势越来越倾向于不依赖可信第三方的隐私保护方法.

6.2 不依赖可信赖第三方机构的隐私保护方法目前,有一些隐私保护技术并不依赖于TTP,其基本思想是用户和其它用户之间交互位置信息,进而构造伪装的位置,如图6所示.主要步骤如下[56]:(1)请求服务的用户A首先将自身位置模糊化,并向周围的邻居广播;(2)邻居对象将模糊化之后的位置信息发送给用户A,直到A至少搜集到k-1个移动用户的位置信息;(3)用户A随机选取k-1个对象,与自身构成一个含k个对象的集合,并将包含这些对象的MBR或任意一个非用户A对象

1计 算 机 学 报2011年

的位置发送给服务提供商;(4)服务提供商根据接收到的位置提供服务.Chow等人[57]在此基础上提出了一种基于点对点(P2P)架构的基于合作的隐私保护技术.MobiHide[58]方法也利用点对点构架,把用户的二维空间信息通过Hilbert曲线映射到一维空间,通过在映射后的一维空间内选取连续的k个对象以保护用户的隐私.Solanas等人[59]也提出了一个无需借助TTP的网络传输协议.

尽管上述方法不再依赖TTP,但是仍然需要和至少k-1个可信用户交互[60],增加了整个方法的通信复杂度,并且在实际应用中无法有效保证参与隐私保护的其它k-1个用户是可信的.最近,一些学者提出了新的解决方案,并不借助与临近节点的交互.我们将在下一节中详细叙述.

7 近期研究进展

7.1 室内LBS技术

随着大型建筑物的内部空间趋于大型化和复杂化,室内LBS(例如室内导航等)得到了越来越多的关注[8,61].例如,博物馆的自动导游指引服务、基于乘客移动模式分析的机场商铺规划等.为了支持此类服务,亟需发展室内空间建模技术、索引技术和连续查询处理技术.

室内空间模型.一般来说,室内空间的拓扑关系比室外空间复杂得多,因而更适合用符号化的坐标系统[62]对室内空间结构建模.三维几何网络模型[63]区分对待室内实体(房间)之间水平和垂直的连通关系.3DPoincare Duality[64]通过对偶转换,把三维空间内的实体的连通关系转换为对偶空间,可以应用于室内空间紧急疏散线路的计算.为了支持室内导航,一种三维可测量拓扑模型[65]被提出,该模型同时考虑空间实体的形状和连通关系.Li等人提出基于栅格的语义模型[66],可以维持不同室内位置间的最短路径.Jensen等人[61]提出了一种基于图模型的方法,不仅维持室内实体间的拓扑结构,还能有效管理基于感知定位的室内定位数据.

室内轨迹索引技术.由于室内空间表示为符号化系统,因此室内轨迹表达方式也和室外轨迹不同.室内移动对象的轨迹可以表示在一个包含空间维和时间维的多维空间.空间维用符号化的地理位置编号表示,例如房间号、RFID阅读器编号等.这样,移动对象的轨迹可以表示为若干水平线段,进而利用R-tree索引这些线段,如图7所示.Jensen、Lu和Yang[61]提出了一种基于图的室内移动对象的跟踪算法,用于确定室内移动对象的轨迹,并且提出了两种基于R-tree的索引结构RTR-tree和TP2 R-tree[67].RTR-tree将室内移动对象的轨迹表示为若干水平的线段,TP2 R-tree则把轨迹表示为一个带时间参数的点.这两种索引结构均可有效支持室内空间的范围查询和室内轨迹查找

图7 室内移动对象在符号空间下的轨迹以及

对应的RTR-tree和TP2 R-tree[67]

连续查询处理.针对室内移动对象的连续查询处理,Yang等人[68]提出了一种查询感知的、增量的方法.该方法适用于基于符号化存在感应器的室内定位技术(如RFID).针对每个连续范围查询,作者提出了关键设备的概念,即在符号空间中的安全区域[32].仅当关键设备有新的读数产生时,会对查询结果进行增加或删除操作.这样,非关键设备的新读数将不会被用于增量更新查询结果.

7.2 不确定的位置服务

位置信息的不确定性源于多种因素.首先,非连续的定位采样会带来不确定性.一般来说,定位技术会定期汇报位置信息,因而移动对象的位置在相邻两次采样之间存在不确定性[69-70].其次,定位技术自身具有精度限制[71].再次,当以物体的历史运动轨迹和附加信息来预测其未来行为时也存在不确定性[72].最后,出于隐私保护目的,需将数据模糊化[47],人为地引入不确定性.

不确定位置信息管理技术大致可分为如下几种

7期周傲英等:基于位置的服务:架构与进展

情况.

(1

)查询发出点精确,被查询的数据点是不确定的移动对象.

这类不确定查询在LBS中最常见.Cheng等

人[71]提出了一套针对室外移动对象的查询处理框

架.

首先,根据定位的精度,将移动对象可能出现的区域限制在一个不确定区域内.在此基础上定义了概率范围查询和概率NN查询.

并对直线运动模型和自由移动模型的移动对象的不确定性进行了总结与分析,进而有效地处理概率范围查找和概率NN

查询.在此基础上,Cheng等人[73]

又提出了概率阈值kNN查询,根据提出的k-bound概念进行过滤(k-

bound为查询发出点到不确定对象的第k个最大距离,如图8所示),并且提出了3种优化处理

该查询的方法.基于树的U-Tree[7

4]

和基于网格的U-Grid[75]

等索引方法可以索引多维不确定数据.Yang等人[68]

提出了针对室内移动对象的查询处理技术,将范围查询的结果划分为两类:确定结果和不

确定结果.

给定移动对象的最大移动速度和室内空间的拓扑结构,

对不确定结果集上的概率分析也做了基本讨论.Yang等人在其最新的研究中,针对定位系统的精度不确定性,提出了室内移动对象的不确定区域的定义,并在此基础上提出了基于精确查询发出点的概率阈值kNN查询处理方法

图8 查询发出点精确的不确定移动对象k

NN查询,k=3[73]

(2

)查询发出点是不确定的移动对象,被查询的数据点是精确的.

Chen等人[7

6]

针对范围查询提出了3种优化方法:首先通过查询扩展,过滤掉一些不可能成为查询结果的数据点;接着通过互换查询发出点和数据点的角色,提高查询效率;最后针对阈值概率查询,提出了p-bound以限制查找空间,

进而提高查询效率.Ishikawa等人[7

7]

则考虑了室内机器人这一应用场景,范围查询从不确定的机器人位置发出,并且假

设该机器人的位置服从正态分布.针对这一特殊的分布,提出了3种优化的策略.此问题的定义虽然是在室内的机器人应用,

但是其使用的模型仍然是室外空间常用的几何模型,并未考虑室内符号空间.

Hu等人[7

8]

则针对最近邻查询进行了研究,并提出了EXO-tree提高查询效率.

(3

)查询发出点和被查询数据点都是不确定的.Krieg

el等人[79-

80]研究了查询出发点和被查询数据点都存在不确定性的查询处理技术,定义了概

率kNN查询和概率连接查询,并对Monte 

Carlo抽样点建R-

tree索引以提高查找效率.Chen等人[76]提出的p-bound则可以用于提高范围查询效率.

(4

)不确定的移动速度.Huang等人[81]考虑移动对象速度变化的不确定性,提出了一种支持连续kNN查询的方法.Lian等人[82]定义了概率RNN查询,并提出了基于双曲

线的启发式查询处理算法.给定移动对象当前位置和

速度的分布,移动对象不确定性的模型[72]可以被确

定.

根据该模型,可以用于预测未来移动对象的位置.7.3 非合作策略的不基于TTP的隐私保护方法

非合作策略的不基于TTP的隐私保护方法是近几年出现的一种新型隐私保护方法,该方法无需用户与其它用户之间的交互,而仅由用户自己完成

整个操作.Sp

aceTwist[83]使用一个锚点来代替移动对象的真实位置,

通过对服务商不断查找锚点的k最近邻的感兴趣点(POI),进而最终确定离真实位置最近的POI.在这一过程中,服务提供商只获得锚点的位置,而不能获得移动对象的真实位置.Ghinita

等人[84]

提出的基于私人信息恢复(PIR-

based)的技术也是非合作策略的方法.如图9所示,它通过把隐私信息使用加密技术处理再发出查询请求,得到查询结果后再在客户端解密,保证了用户信息的私密性.这一方法不仅保护了单次查询的隐私,同时还可

以很好地保护多次关联查询的隐私,以防止对手分析多次查询之间的关联性来窃取用户隐私

图9 基于PIR的隐私保护策略[8

1]

在找朋友应用中需要检测朋友之间的空间临近性,这就要求用户隐私数据被保护的同时,还需要保

611计 算 机 学 报2011年

证其空间临近性被保存下来.Ruppel等人[85]提出了一种位置保存映射方法,但是Liu等人[86]在随后的研究中发现该方法可以被攻破.一种能够保护用户位置隐私,又能保证检测到用户之间临近性的算法在文献[87]中提出.该方法首先将用户的坐标映射到一个网格中,并将该网格的标识符进行加密发送到LBS服务提供商,服务提供商仅仅可以利用这种加密后网格标识符进行临近性的检测,却无法反推出用户的实际位置,用户位置隐私因此得到保护.7.4 云计算平台下的LBS

通常情况下移动终端受限于计算能力和电池资源,无法完成较复杂的运算,如何利用强有力的云计算平台来提供更高效的基于位置的服务富有挑战.海量历史轨迹数据管理.大量的室外空间轨迹数据已经堆积,最新的研究[88]已经对多达1亿个室外移动对象进行了轨迹索引研究.另一方面,室内轨迹数据也在快速增长,例如地铁站、飞机场等场所每天的数据量达到百万量级.对大量的历史轨迹数据进行分析和查询,能够为改进LBS的服务质量提供很好的帮助.MapReduce框架为大规模的分布式的轨迹处理提供了良好的基础.Yang和Ma等人[89-90]利用分布式平台,提出了基于MapReduce架构的大规模历史轨迹数据处理算法,该方法将时空系统分区,把轨迹数据存储在不同节点上.在处理查询时,按照同样的分区策略,把查询分布在不同的节点上执行,最后合并出最终结果.

隐私保护.云计算平台为LBS提供了一种新的运营模式,即LBS服务提供商并不一定拥有自己的云计算平台,而是将自己的数据和服务外包到云计算平台(由云计算平台服务提供商提供)上运行.这就带来了新的隐私保护问题,即如何在利用不可信的云计算平台的同时,获得可信的基于位置的服务.这类隐私保护方法需要保证两方面安全[91-92]:既要求保证被外包的时空数据是隐私的(privacy),即云计算平台服务提供商无法破解外包的时空数据;同时也要求用户能对查询的结果完整性(integrity)进行验证,即用户能验证结果是正确并且是完整的,以防止云计算平台服务提供商篡改和删除某些结果.

7.5 社会化LBS

随着Web2.0技术的迅速普及,Flicker、Deli-cious、YouTube和Facebook等服务允许用户参与并共享自己的数据.由于这些数据通常包含3种信息———时间、空间和人物,因而也常被视为是时间-

空间-社会数据[93].针对这一类型数据的分析可以更深入地掌握用户的兴趣爱好,并进一步地提供个性化LBS服务.通过对具有空间信息标注的图片的分析,WorldExplorer提供了一种新的基于地图的探索服务[94].

用户可以对已有的空间对象加文字标注,或者对其它对象进行具有空间、时间信息的标注.这产生了一种空间关键字查询服务,即结合空间信息的信息检索.Cong等人[95]提出了一种算法,综合考虑空间上的相似度和标注文字的相关程度,通过倒排表和R-tree索引,返回最相关的k个空间对象.Zhang等人[96]提出了m最近关键字查询和bR*-tree索引结构,可以找到m个空间上最近、并满足m个用户给定的关键字的空间对象.

7.6 针对紧急情况的LBS

不少学者最近也在关注如何在紧急情况下提供高质量的LBS服务,例如地震、火灾等.在紧急情况下,周围环境更为恶劣,往往也要求用户快速做出反应,因而对LBS服务的要求更苛刻.例如,火灾现场充满烟雾、光线黯淡且有很多障碍物[97].

当前,许多科研机构均对本问题进行探索,提出了不少方案.SummitSafety公司的Pathfinder系统利用了超声波技术,能为消防员在黑暗空间中快速找到安全出口.超声波无法穿墙而过,但是能够绕过墙角或通过门缝传播.该系统在安全出口处放置若干超声波发射器,发送不同频率信号.消防员手持超声波接收仪,分析接收到的信号即可快速制定安全的路径[98].美国国家标准和技术协会(NIST)利用RFID技术研发的flipside系统有助于消防员在黑暗空间快速定位.与传统的RFID系统不同,在这个系统中,RFID标签是静态的,各消防员穿戴移动的RFID阅读器.读到临近的RFID标签时,即可定位[99].Klann[100]设计的LifeNet系统能够为消防员在黑暗空间中寻找一条安全路径.该系统也采用超声波技术,在室内空间布置若干个标杆.消防员可以携带一个设备,感知临近的信标,并依赖感知到的信标构造路径,显示到头盔上去.其它代表性的系统还包括PPL[101]、HeadSLAM[102]等.这个方向的研究工作尚未成熟,上述提及的系统中大多处于实验室环境之中,仅有Pathfinder系统已经商业化.

8 未来的研究工作

基于位置的服务在近几年得到了广泛的研究,

7期周傲英等:基于位置的服务:架构与进展

并且取得了较大的进展.在未来一段时间内,受应用场景趋于复杂、定位技术种类繁多、数据规模迅速扩大等因素影响,以下几点仍将会成为研究热点.8.1 室内移动对象管理

支持多定位方法的统一室内定位模型.现代室内空间通常部署多种定位基础设施,不同定位基础设施的覆盖区域不同且可能存在重叠.综合考虑多种室内定位技术,可以提供更为全面和准确的服务.所谓的全面是指多定位技术条件下总体覆盖区域面积增大;精确是指在重叠区域内综合运用多种定位技术能提高定位精度.室内定位技术的定位方式、坐标空间不尽相同,如何提供一个统一的室内定位模型并不容易.

室内移动对象的索引技术.相对于大量的室外移动对象索引技术,当前对室内移动对象的索引技术研究还不是很多.特别是针对不同定位技术,需要设计不同的索引方法.当前的研究集中在室内符号空间中[64-65],专门针对室内几何空间的索引技术目前还没有.而室内拓扑结构的限制使得室外几何空间的索引技术又不能直接应用于室内几何空间,这也是室内移动对象索引技术的一个难点.另一方面,不同的定位技术,会导致不同形式的不确定性的存在,索引室内移动对象时还需要考虑不同类型的不确定性.例如RFID读卡器的漏读误读可能造成存在不确定性,而Wi-Fi定位可能造成定位数据精度的不确定性.当前还没有利用B+-tree对室内移动对象当前位置索引的相关研究,可以考虑通过空间填充曲线将符号空间线性化,其一可以用于改进基于R-tree索引结构的符号空间维的顺序,其二可以直接进行构建类似的基于B+-tree的索引.

室内移动对象的隐私保护.当前的隐私保护方法尚未有针对性地考虑室内空间.比如利用k-匿名方法,如果k个对象都在一个房间内,这样的隐私保护效果就不好.结合室内空间的拓扑结构,攻击者也可以根据先后两次的匿名空间进行移动位置推测.另外,针对基于感知定位的室内移动对象,其终端没有计算存储能力,这就使得当前很多隐私保护策略无法进行,进而隐私保护的架构需要进行相应的调整.

8.2 无缝化的LBS

在一些大型应用中,室外/室内相结合的无缝化服务也非常重要.例如,上海世博会既有室内展区也有室外展区,需分别采用室内/室外定位技术;乘客

启程去机场乘坐飞机时,室外位置服务可以在去机场的途中提供导航服务,室内位置服务可为其提供在候机大厅的服务.无缝化LBS的难点在于室外/室内空间的定位技术切换和统一数据管理.

室外/室内定位切换.一种方法是直接使用同时能够为室外和室内空间定位的方法,如Wi-Fi.另一种方法是按照某种策略进行室外定位和室内定位的切换.而切换的时机并不好掌握,在Hansen对这一问题的研究[12]中可以发现,切换时刻的定位精度均有不同程度下降.而在不同定位技术之间的切换,经常需要不同的策略.一种支持室外/室内不同类型定位技术的位置模型也能够为室外/室内定位切换提供帮助.

室内室外空间统一数据管理.由于室内室外空间的表达方式和定位技术的不同,导致室内外移动对象的轨迹表达形式也不同.如何进行室内室外空间的统一数据管理存在挑战.为了进行统一的移动对象数据管理,需要把某一类型的移动对象数据转换为另一类型的数据.比如,把室内移动对象的基于符号空间的轨迹数据转换为室外移动对象的基于几何空间的数据,进而统一对转换后的室外移动对象数据进行管理.但是,在这一转化过程中会导致部分的信息丢失,引进新类型的不确定性数据.另一种可能的方法是进行合适的室内/室外交接,即当查询室内空间时,使用室内移动对象的模型,当查询室外空间时,使用室外移动对象的模型.而这一方法需要中间件把查询分发到适当的模型中进行查询处理,并且将查询结果组织成统一的格式返回给用户.8.3 云计算下的LBS挑战

海量移动对象当前/将来位置索引.如何在云计算平台上对海量的移动对象的当前/将来位置进行索引,进而有效提高查询效率.基于磁盘的索引结构无法适应移动对象频繁的对当前位置的更新操作.而大量使用内存则非常昂贵.因此,利用云计算平台成为解决索引移动对象当前位置的一个有效途径.Google的Latitude项目利用云计算平台提供了“找朋友”等服务,这一服务要求对移动对象当前位置的索引.已有的当前/将来位置索引技术并不一定能够有效地应用在云计算平台上,因此需要对原有索引技术进行改进或设计全新的索引技术.

云计算下的隐私保护.云计算平台下的隐私保护也亟待加强,尤其是开发出更好的隐私保护算法来解决7.4节中提到的基于外包数据的隐私保护问

1计 算 机 学 报2011年

题.另外,可以在云计算平台上实现传统的TTP-based方法.建立在云计算平台上的TTP通常可以拥有较好的可扩展性和可靠性,进而避免TTP成为系统的瓶颈.但另一方面,同时需要更强的保护方法来保证在云计算平台上的TTP可信.

8.4 高效的社会化LBS

Web 2.0技术和LBS的结合,带来了许多新的应用,社会化的LBS正在成为一个应用和研究的热点.为了提供高效的时间-空间-社会信息检索技术,新的索引结构、查询处理方法需要研究.而这些新的方法都应该能够很好地应用在越来越广泛使用的云计算平台上.另外,社会化LBS的隐私保护也需要研究,在社会化的LBS中,除了保护用户位置信息隐私外,还需要综合考虑用户的社会化隐私信息.

9 小 结

LBS是移动设备、因特网、空间数据库等多学科交叉的产物.最近十多年以来,相关学科发展迅速、社会需求很紧迫,因而LBS的发展非常迅速,其发展过程主要有以下4个特点[103]:(1)从被动式到主动式.早期的LBS服务可称为是被动式的,即终端用户发起一个服务请求,服务提供商再向用户传送服务结果.这种模式基于快照查询,简单但不灵活.主动式LBS基于连续查询处理方法,能不断更新服务内容,因而更为灵活.(2)从自引用到交叉引用.在早期阶段,服务请求者的位置信息仅限于为该用户提供服务,而没有其它用途.在新近的LBS应用中,服务请求者的位置信息还将被用于为其它用户提供查询服务,从而凸显了位置隐私保护的重要性.(3)从单目标到多目标.在早期阶段,用户的电子地图中仅可显示单个目标(可以是自身,也可以是其它用户/对象)的位置和轨迹.随着应用需求发展,需要在电子地图中同时显示/跟踪多个目标对象.(4)服务呈现方式从面向内容到面向应用.“面向内容”是指需要借助于其它应用程序向用户发送服务内容,例如短信等.“面向应用”则强调利用专有的应用程序呈现LBS服务,且这些程序往往可以自动安装或者移除组件.

参考文献

[1]Jiang B,Yao X.Location-based services and GIS in perspec-tive.Computers,Environment and Urban Systems,2006,

30(6):712-725

[2]Nivala A-M,Sarjakoski L T.An approach to intelligentmaps:context awareness//Proceedings of the workshop HCIin Mobile Guides held at the 5th International Symposium on

Human Computer Interaction with Mobile Devices and Serv-

ices(Mobile HCI).Udine,2003:45-50

[3]Reichenbacher T.Adaptive methods for mobile cartogra-phy//Proceedings of the 21st International Cartographic Con-

ference.Durban,2003:1311-1323

[4]Schiller J H,Voisard A.Location-Based Services.San Fran-cisco:Morgan Kaufmann,2004

[5]D’Roza T,Bilchev G,An overview of location-based serv-ices.BT Technology Journal,2003,21(1):20-27

[6]Liu H,Darabi H,Banerjee P,Liu J.Survey of wireless in-door positioning techniques and systems.IEEE Transactions

on Systems,Man,and Cybernetics,Part C:Applications

and Reviews,2007,37(6):1067-1080

[7]Mokbel M F,Aref W G,Hambrusch S E,Prabhakar S.To-wards scalable location-aware services:Requirements and re-

search issues//Proceedings of the 11th ACM International

Symposium on Advances in Geographic Information System.

New Orleans,2003:110-117

[8]Lee D K,Zhu M,Hu H.When location-based services meetdatabases.Mobile Information Systems(MIS),2005,1(2):81-90

[9]Pan Xiao,Xiao Zhen,Meng Xiao-Feng.Survey of locationprivacy-preserving.Journal of Frontiers of Computer Sci-

ences and Technology,2007,1(3):268-281(in Chinese)

(潘晓,肖珍,孟小峰.位置隐私研究综述.计算机科学与探

索,2007,1(3):268-281)

[10]Bahl P,Padmanabhan V N.RADAR:An in-building RF-based user location and tracking system//Proceedings of theIEEE INFOCOM.Tel Aviv,2000:775-784

[11]Li B,Salter J,Dempster A G,Rizos C.Indoor positioningtechniques based on wireless LAN//Proceedings of the 1stIEEE International Conference on Wireless Broadband and

Ultra Wideband Communications.Sydney,2006:3-16

[12]Hansen R,Wind R.,Jensen C S,Thomsen B.Seamless in-door/outdoor positioning handover for location-based servicesin streamspin//Proceedings of the 2009 10th International

Conference on Mobile Data Management:Systems,Services

and Middleware.Taipei,China,2009:267-272

[13]Guttman A.R-Trees:A dynamic index structure for spatialsearching//Proceedings of the 1984ACM SIGMOD Interna-

tional Conference on Management of Data.Boston,1984:47-57

[14]Beckmann N,Kriegel H P,Schneider R,Seeger B.The R*-tree:An efficient and robust access method for points and

rectangles//Proceedings of the 1990ACM SIGMOD Interna-

tional Conference on Management of Data.Atlantic City,1990:322-331

[15]Bentley J L.Multidimensional binary search trees used forassociative searching.Communications of the ACM,1975,18(9):509-517

7期周傲英等:基于位置的服务:架构与进展

[16]Robinson J T.The K-D-B-Tree:A search structure for largemultidimensional dynamic indexes//Proceedings of the 1981

ACM SIGMOD International Conference on Management of

Data.Ann Arbor,1981:10-18

[17]Samet H.The quadtree and related hierarchical data struc-tures.ACM Computing Surveys,1984,16(2):187-260[18]Theodoridis Y,Vazirgiannis M,Sellis T.Spatio-temporalindexing for large multimedia applications//Proceedings ofthe IEEE International Conference on Multimedia Computing

and Systems.Hiroshima,Japan,1996:441-448

[19]Nascimento M A,Silva J R O.Towards historical R-trees//Proceedings of the 1998ACM Symposium on Applied Com-

puting.Atlanta,1998:235-240

[20]Tao Y,Papadias D.Efficient historical R-trees//Proceedingsof the 13th International Conference on Scientific and Statisti-

cal Database Management.Fairfax,2001:223-232

[21]Tao Y,Papadias D.MV3R-Tree:A spatio-temporal accessmethod for timestamp and interval queries//Proceedings ofthe 27th International Conference on Very Large Data Bases.Roma,2001:431-440

[22]Pfoser D,Jensen C S,Theodoridis Y.Novel approaches inquery processing for moving object trajectories//Proceedings

of the 26th International Conference on Very Large Data Ba-

ses.Cairo,2000:395-406

[23]Chakka V P,Everspaugh A,Patel J M.Indexing large traj-ectory data sets with SETI//Proceedings of the 1st Biennial

Conference on Innovative Data Systems Research.Asilomar,2003

[24]Song Z,Roussopoulos N.Hashing moving objects//Proceed-ings of the 2nd International Conference on Mobile Data

Management.Hong Kong,China,2001:161-172

[25]Song Z,Roussopoulos N.SEB-tree:An approach to indexcontinuously moving objects//Proceedings of the 4th Interna-

tional Conference on Mobile Data Management.Melbourne,2003:340-344

[26]Nascimento M A,Silva J R O,Theodoridis Y.Evaluation ofaccess structures for discretely moving points//Proceedings

of the International Workshop on Spatio-Temporal Database

Management.Edinburgh,1999:171-188

[27]Kwon D,Lee S,Lee S.Indexing the current positions ofmoving objects using the lazy update R-tree//Proceedings ofthe 3rd International Conference on Mobile Data Manage-

ment.Singapore,2002:113-120

[28]Xiong X,Aref W G.R-trees with update memos//Proceed-ings of the 22nd International Conference on Data Engineer-

ing.Atlanta,2006:22

[29]Saltenis S,Jensen C S,Leutenegger S T,Lopez M A.Inde-xing the positions of continuously moving objects//Proceed-

ings of the 2000ACM SIGMOD International Conference on

Management of Data.Dallas,2000:331-342

[30]Tao Y,Papadias D,Sun J.The TPR*-Tree:An optimizedspatio-temporal access method for predictive queries//Pro-

ceedings of the 29th International Conference on Very Large

Data Bases.Berlin,2003:790-801[31]Saltenis S,Jensen C S.Indexing of moving objects for loca-

tion-based services//Proceedings of the 18th International

Conference on Data Engineering.San Jose,2002:463-472[32]Prabhakar S,Xia Y,Kalashnikov D V,Aref W G,Hambr-

usch S E.Query indexing and velocity constrained indexing:Scalable techniques for continuous queries on moving objects.IEEE Transactions on Computers,2002,51(10):1124-1140[33]Jensen C S,Lin D,Ooi B C.Query and update efficient B+-tree based indexing of moving objects//Proceedings of the

30th International Conference on Very Large Data Bases.Toronto,2004:768-779

[34]Jensen C S,Tiesyte D,Tradisauskas N.Robust B+-tree-

based indexing of moving objects//Proceedings of the 7th In-

ternational Conference on Mobile Data Management.Nara,2006:12

[35]Yiu M L,Tao Y,Mamoulis N.The Bdual-tree:Indexing

moving objects by space filling curves in the dual space.TheInternational Journal of Very Large Data Bases,2008,17

(3):379-400

[36]Chen S,Ooi B C,Tan K L,Nascimento M A.The ST2B-

tree:A self-tunable spatio-temporal B+-tree index for mov-

ing objects//Proceedings of the 2008ACM SIGMOD Interna-

tional Conference on Management of Data.Vancouver,2008:29-42

[37]Patel J M,Chen Y,Chakka V P.STRIPES:An efficient in-

dex for predicted trajectories//Proceedings of the 2004ACM

SIGMOD International Conference on Management of Data.Paris,2004:637-646

[38]Chen S,Jensen C S,Lin D.A benchmark for evaluating

moving object indexes//Proceedings of the VLDB Endow-

ment.Auckland,2008,1(2):1574-1585

[39]Roxin A M,Dumez C,Gaber J,Wack M.Middleware mod-

els for location-based services:A survey//Proceedings of the

2nd International Workshop on Agent-Oriented Software En-

gineering Challenges for Ubiquitous and Pervasive Compu-

ting,2008

[40]Leung H K Y,Burcea I,Jacobsen H A.Modeling location-

based services with subject spaces//Proceedings of the 2003

Conference of the Centre for Advanced Studies Conference on

Collaborative Research.Toronto,Ontario,Canada,2003:171-181

[41]Gelernter D.Generative communication in Linda.ACM

Transactions on Program.Lang.Syst.,1985,7(1):80-112[42]Mokbel M F,Xiong X,Aref W G.SINA:Scalable incre-

mental processing of continuous queries in spatio-temporaldatabases//Proceedings of the ACM 2004SIGMOD Interna-

tional Conference on Management of Data.Paris,2004:623-

634

[43]Hu H,Xu J,Lee D L.A generic framework for monitoring

continuous spatial queries over moving objects//Proceedings

of the 2005ACM SIGMOD International Conference on Man-

agement of Data.Baltimore,2005:479-490

[44]Mouratidis K,Yiu M L,Papadias D,Mamoulis N.Continu-

ous nearest neighbor monitoring in road networks//Proceed-

ings of the 32nd International Conference on Very Large Data

Bases.Seoul,2006:43-54

1计 算 机 学 报2011年

[45]Gedik B,Liu L.MobiEyes:Distributed processing of contin-uously moving queries on moving objects in a mobile sys-

tem//Proceedings of the 9th International Conference on Ex-

tending Database Technology.Heraklion,2004:67-87

[46]Cai Y,Hua K A,Cao G.Processing range-monitoring que-ries on heterogeneous mobile objects//Proceedings of the 5th

IEEE International Conference on Mobile Data Management.Berkeley,2004:27-38

[47]Gruteser M,Grunwald D.Anonymous usage of location-based services through spatial and temporal cloaking//Pro-

ceedings of the 1st International Conference on Mobile Sys-

tems,Applications,and Services.San Francisco,2003:31-42

[48]Tan K W,LinY,Mouratidis K.Spatial cloaking revisited:distinguishing information leakage from anonymity//Proceed-

ings of the 11th International Symposium on Advances in

Spatial and Temporal Databases.Aalborg,2009:117-134[49]Solanas A,Domingo-Ferrer J,Martinez-Balleste A.Locationprivacy in location-based services:Beyond TTP-based

schemes//Proceedings of the 1st International Workshop on

Privacy in Location-Based Applications.Malaga,2008

[50]Sweeney L.k-anonimity:A model for protecting privacy.In-ternational Journal of Uncertainty,Fuzziness and Knowl-

edge-Based Systems,2002,10(5):557-570

[51]Gedik B,Liu L.Location privacy in mobile systems:A per-sonalized anonymization model//Proceedings of the 25th In-

ternational Conference on Distributed Computing Systems.Columbus,Ohio,USA,2005:620-629

[52]Lin Xin,Li Shan-Ping,Yang Zhao-Hui.Attacking algo-rithms against continuous queries in LBS and anonymity

measurement.Journal of Software,2009,20(4):1058-1068

(in Chinese)

(林欣,李善平,杨朝晖.LBS中连续查询攻击算法及匿名性

度量.软件学报,2009,20(4):1058-1068)

[53]Mokbel M F,Chow C Y,Aref W G.The new casper:Queryprocessing for location services without compromising priva-

cy//Proceedings of the 32nd International Conference on

Very Large Data Bases.Seoul,2006:763-774

[54]Kalnis P,Ghinita G,Mouratidis K,Papadias D.Preventinglocation-based identity inference in anonymous spatial que-

ries.IEEE Transactions on Knowledge and Data Engineer-

ing,2007,19(12):1719-1733

[55]Bamba B,Liu L,Pesti P,Wang T.Supporting anonymouslocation queries in mobile environments with privacygrid//

Proceedings of the 17th International Conference on World

Wide Web.Beijing,2008:237-246

[56]Domingo-Ferrer J.Microaggregation for database and loca-tion privacy//Proceedings of the 6th International Workshop

on Next Generation Information Technologies and Systems.Kibbutz Shefayim,2006:106-116

[57]Chow C,Mokbel M F,Liu X.A peer-to-peer spatial cloa-king algorithm for anonymous location-based services//Pro-

ceedings of 14th ACM International Symposium on Geo-

graphic Information Systems.Arlington,2006:171-178[58]Ghinita G,Kalnis P,Skiadopoulos S.MobiHide:A mobileapeer-to-peer system for anonymous location-based queries//

Proceedings of the 10th International Symposium Advances in

Spatial and Temporal Databases.Boston,2007:221-238[59]Solanas A,Martinez-Balleste A.A TTP-free protocol forlocation privacy in location-based services.Computer Com-

munications,2008,31(6):1181-1191

[60]Ghinita G,Kalnis P,Skiadopoulos S.PRIVE:Anonymouslocation-based queries in distributed mobile systems//Pro-

ceedings of the 16th International Conference on World Wide

Web.Banff,2007:371-380

[61]Jensen C S,Lu H,Yang B.Graph model based indoor track-ing//Proceedings of the 10th International Conference on

Mobile Data Management:Systems,Services and Middle-

ware.Taipei,2009:122-131

[62]Becker C,Durr F.On location models for ubiquitous compu-ting.Personal Ubiquitous Computing,2005,9(1):20-31[63]Lee J.A spatial access-oriented implementation of a 3-D GIStopological data model for urban entities.GeoInformatica,2004,8(3):237-264

[64]Lee J.3DGIS for geo-coding human activity in micro-scaleurban environments//Proceedings of the 3rd International

Conference on Geographic Information Science.Adelphi,2004:162-178

[65]Whiting E,Battat J,Teller S.Topology of urban environ-ments//Proceedings of the 12th International Computer-

Aided Architectural Design Futures Conference.Sydney,2007:115

[66]Li D,Lee D L.A lattice-based semantic location model forindoor navigation//Proceedings of the 9th International Con-

ference on Mobile Data Management.Beijing,2008:17-24[67]Jensen C S,Lu H,Yang B.Indexing the trajectories of mov-ing objects in symbolic indoor space//Proceedings of the 11th

International Symposium on Advances in Spatial and Tempo-

ral Databases.Aalborg,2009:208-227

[68]Yang B,Lu H,Jensen C S.Scalable continuous range moni-toring of moving objects in symbolic indoor space//Proceed-

ings of the 18th ACM Conference on Information and Knowl-

edge Management.Hong Kong,China,2009:671-680

[69]Wolfson O,Sistla P A,Chamberlain S,Yesha Y.Updatingand querying databases that track mobile units.Distributed

and Parallel Databases,1999,7(3):257-387

[70]Pfoser D,Jensen C S.Capturing the uncertainty of moving-objects representations//Proceedings of the 6th International

Symposium on Advances in Spatial Databases.Hong Kong,China,1999:111-132

[71]Cheng R,Kalashnikov D V,Prabhakar S.Querying impre-cise data in moving object environments.IEEE Transactions

on Knowledge and Data Engineering,2004,16(9):1112-

1127

[72]Zhang M,Chen S,Jensen C S,Ooi B C,Zhang Z.Effective-ly indexing uncertain moving objects for predictive queries//

Proceedings of the VLDB Endowment.Lyon,2009,2(1):1198-1209

7期周傲英等:基于位置的服务:架构与进展

基于SpringCloud 微服务系统设计方案

微服务系统设计方案 1.微服务本质 微服务架构从本质上说其实就是分布式架构,与其说是一种新架构,不如说是一种微服务架构风格。 简单来说,微服务架构风格是要开发一种由多个小服务组成的应用。每个服务运行于独立的进程,并且采用轻量级交互。多数情况下是一个HTTP的资源API。这些服务具备独立业务能力并可以通过自动化部署方式独立部署。这种风格使最小化集中管理,从而可以使用多种不同的编程语言和数据存储技术。 对于微服务架构系统,由于其服务粒度小,模块化清晰,因此首先要做的是对系统整体进行功能、服务规划,优先考虑如何在交付过程中,从工程实践出发,组织好代码结构、配置、测试、部署、运维、监控的整个过程,从而有效体现微服务的独立性与可部署性。 本文将从微服务系统的设计阶段、开发阶段、测试阶段、部署阶段进行综合阐述。 理解微服务架构和理念是核心。 2.系统环境

3.微服务架构的挑战 可靠性: 由于采用远程调用的方式,任何一个节点、网络出现问题,都将使得服务调用失败, 随着微服务数量的增多,潜在故障点也将增多。 也就是没有充分的保障机制,则单点故障会大量增加。 运维要求高: 系统监控、高可用性、自动化技术 分布式复杂性: 网络延迟、系统容错、分布式事务 部署依赖性强: 服务依赖、多版本问题 性能(服务间通讯成本高): 无状态性、进程间调用、跨网络调用 数据一致性: 分布式事务管理需要跨越多个节点来保证数据的瞬时一致性,因此比起传统的单体架构的事务,成本要高得多。另外,在分布式系统中,通常会考虑通过数据的最终一致性来解决数据瞬时一致带来的系统不可用。 重复开发: 微服务理念崇尚每个微服务作为一个产品看待,有自己的团队开发,甚至可以有自己完全不同的技术、框架,那么与其他微服务团队的技术共享就产生了矛盾,重复开发的工作即产生了。

服务器部署方案

FMScms网站包含2个部分,即为客户端和服务端。 客户端:网站前台+网站后台 服务端:FMS直播软件和组件 FMS主播系统工作图解 FMS主播系统服务器架构以及硬件级宽带需求说明 FMS服务器安排需要两部分,WEB服务器以及FMS直播服务器,即为开始所说的用程序的2部分。 WEB服务器的作用是用来安装承载用户访问的客户端(网站或者移动端前台) FMS直播服务器的作用是用来接收处理并发布直播视频流 一般来说,WEB服务器的要求不高,普通的服务器或者云主机就可以满足需求,FMS服务器相对来说带宽要求较高,硬件要求:市面上配置不错的独立服务器即可满足,当然还是推荐SSD固态硬盘。 服务架构图

服务器架构方案一: FMS直播中可以通过调整视频直播品质来调整带宽占用大小(视频品质数值范围1-100,数值越小品质越差) 1、通常一个在线观众要流畅清晰的观看标清视频需要大概30k~40k的带宽流量。 2、带宽的换算方法是128k的流量需要1M的网络带宽。 3、服务器所要负载的带宽是按可承载的最高并发流量计算出来的。并发流量是指同时访问资源的流量值, 如果是利用FMS技术,要想满足并发流量的需求就需要将流量累加。如100人同时访问视频资源则可计算出:100人 * 30k = 3000k 3000k ÷ 128k/M = 23.4M(约20M带宽) 如果网站的视频观众最高并发量时达到100人,就需要至少20M的带宽; 如果网站的视频观众最高并发量时达到1000人,就需要至少200M的带宽; 如果网站的视频观众最高并发量时达到5000人,就需要至少1000M的带宽; 推荐服务器: 服务器的配置重点在于带宽,根据市场了解G端口<1000M带宽>的服务器 推荐硬件配置 固态硬盘,大内存即可,CPU占用率相对较低,目前没有一定数量的真实用户,暂时不能测试出对服务器硬 件的消耗值,不过16G内存的服务器承载5000人同时观看直播。 服务器架构方案二:

微服务架构的部署

微服务架构的部署 本文从以下几个方面简要说明微服务架构项目的实践经验:架构选型、开发测试环境下的相关工具支持、人员分工及开发部署流程、相关设计及注意事项。最后,将根据实践经验讨论提高微服架构下的开发和运维效率的切实需求,进一步理清本项目所实现的容器服务管理平台的完善性需求。 本项目是一个企业级的容器服务管理平台,该平台的功能是基于容器实现的应用运行环境管理,以及应用开发阶段的持续集成和持续发布。简单的理解该平台的核心功能之一就是管理复杂应用的开发和运维环境,提高微服务架构下的开发和运维效率。项目的开发背景如下: 首先,该系统具有典型分布式应用系统特征: 该平台所运行的服务器配置不高,例如华为RH1288这类低配置服务器,允许硬件失败; 系统平台要求可根据实际用户数的规模进行伸缩部署,保证硬件资源的合理利用; 由于系统平台之上需要运行若干企业应用的开发和运行环境,可靠性是非常重要的,不允许单点失效。 其次,本系统功能复杂,从架构的角度需要将系统分成多个层次和若干个子系统。不同的层次、子系统根据具体情况需要采用不同的开发语言,由不同的开发小组完成。 第三,项目组成员由几个城市的异地团队协同开发,统一的开发环境和协同工具是必不可少的。 针对上述项目背景的考虑,本项目选择基于微服务架构进行项目开发。 开发、测试、部署使用到的工具集 “工欲善其事、必先利其器”,借助适合的流程和相关工具集,才能提高微服务架构下的应用开发效率。本项目利用DevOPs流程并选用一套相关工具集实现应用开发管理,提高开发、测试、部署的效率。 代码库:本项目使用分布式代码库Gitlab,它的功能不限于代码仓库,还包括reviews(代码审查), issue tracking(问题跟踪)、wiki等功能,是代码管理和异地团队沟通、协作工具的首选。 Docker镜像仓库、Docker:本项目用容器贯穿整个软件开发流程,以容器作为应用发布的载体,应用的开发环境和测试发版环境都运行在Docker容器中。对于复杂的开发和运维环境管理Docker具有先天的优势,目前国内外的互联网公司有大多数都已经将Docker应用到了他们的开发或者生产环境中了。

服务器部署方案

服务器部署方案标准化管理处编码[BBX968T-XBB8968-NNJ668-MM9N]

FMScms网站包含2个部分,即为客户端和服务端。 客户端:网站前台+网站后台 服务端:FMS直播软件和组件 FMS主播系统工作图解 FMS主播系统服务器架构以及硬件级宽带需求说明 FMS服务器安排需要两部分,WEB服务器以及FMS直播服务器,即为开始所说的用程序的2部分。 WEB服务器的作用是用来安装承载用户访问的客户端(网站或者移动端前台) FMS直播服务器的作用是用来接收处理并发布直播视频流 一般来说,WEB服务器的要求不高,普通的服务器或者云主机就可以满足需求,FMS服务器相对来说带宽要求较高,硬件要求:市面上配置不错的独立服务器即可满足,当然还是推荐SSD固态硬盘。 服务架构图 服务器架构方案一: FMS直播中可以通过调整视频直播品质来调整带宽占用大小(视频品质数值范围1-100,数值越小品质越差) 1、通常一个在线观众要流畅清晰的观看标清视频需要大概30k~40k的带宽流量。 2、带宽的换算方法是128k的流量需要1M的网络带宽。 3、服务器所要负载的带宽是按可承载的最高并发流量计算出来的。并发流量是指同时访问资源的流量值,如果是利用FMS技术,要想满足并发流量的需求就需要将流量累加。如100人同时访问视频资源则可计算出: 100人 * 30k = 3000k 3000k ÷ 128k/M = (约20M带宽)

如果网站的视频观众最高并发量时达到100人,就需要至少20M的带宽; 如果网站的视频观众最高并发量时达到1000人,就需要至少200M的带宽; 如果网站的视频观众最高并发量时达到5000人,就需要至少1000M的带宽; 推荐服务器: 服务器的配置重点在于带宽,根据市场了解G端口<1000M带宽>的服务器 推荐硬件配置 固态硬盘,大内存即可,CPU占用率相对较低,目前没有一定数量的真实用户,暂时不能测试出对服务器硬件的消耗值,不过16G内存的服务器承载5000人同时观看直播。 服务器架构方案二: 采用CDN加速,分发流媒体。这种方式目前也是需要FMS服务器,未来一段时间我们会用另外的方法代替,不过这种方式对服务器的硬件以及带宽的需求就大大减小了。 1.web服务器,当然也可以安装FMS 2.流媒体服务器,这里的流媒体服务器FMS只用来承载聊天、礼物赠送等数据 3.接入CDN,我们目前支持RTMP协议的流媒体加速方式,即将推出的版本的FMSCMS会 添加HTTP协议的流媒体,更适合主流加速方式。 方案二的优点 1.服务器硬件以及带宽要求降低太多,节省服务器成本 2.在线观看直播人数可以无限拓宽,不需要担心服务器占用达到峰值的危险 3.网络环境得到优化,直播效果更加理想

微服务架构设计与实战

关于举办“微服务架构设计与实战”高级培训班的通知 各有关单位: 作为一种新的设计和架构理念,微服务自2014年首次提出就引发了业界激烈的讨论。同时,Docker技术的迅速发展,也让微服务架构的实施变得更加容易。相比于传统的单体式应用而言,微服务这种小而化之、互相连接的设计理念不仅能让复杂应用的构建变得更加灵活,更能帮助创业企业在面对市场的高度不确定性时,快速推出新产品,低成本试错。那么,企业究竟该如何去设计、开发和部署微服务到自己的业务中去?如何做好服务发现和服务治理呢?中国软件产业培训网决定在举办“微服务架构设计与实战培训班”望各单位收到通知后组织相关人员参加。现将有关事宜通知如下: 一、培训时间及地点 2019年12月20日-12月23日北京 2020年01月10日-01月13日上海 二、主讲专家 程老师 CTO,微服务架构首席咨询师,国内较早倡导和实践微服务的先行者,多次受邀在大型技术会议主题分享“微服务架构”相关主题。超过10年以上的软件行业经验,从企业应用、互联网应用、服务化平台的架构设计、开发到自动化构建、持续集成、持续交付以及DevOps 的转型实施等有较丰富的实践经验。 范老师国内架构设计专家、多领域架构评审委员和技术架构组委员。信息技术领域具有坚实的学术背景和教学培训经验,多年研发和客户项目高级管理咨询能力,多年包括华为IPD 研发管理工作经历。善于用先进信息化技术架构和方法指导团队完成设计工作,具有雄厚的咨询能力。具有大型分布式团队的领导和管理经验。 三、培训特色 1. 理论与实践相结合、案例分析与行业应用穿插进行; 2. 专家精彩内容解析、学员专题讨论、分组研究;

大型电商网站服务器架构完全部署实施方案

大型电商网站服务器架构完全部署方案

————————————————————————————————作者:————————————————————————————————日期: 2

任何一个大型网站都是经历用户积累然后成长,从一台服务器到多台服务器才能构架支撑网站现有数据、用户、页面请求等。大型网站(如淘宝、京东等)的系统架构并不是开始设计就具备完整的高性能、高可用、安全等特性,它总是随着用户量的增加,业务功能的扩展逐渐演变完善的,在这个过程中,开发模式、技术架构、设计思想也发生了很大的变化,就连技术人员也从几个人发展到一个部门甚至一条产品线。所以成熟的系统架构是随业务扩展而完善出来的,并不是一蹴而就;不同业务特征的系统,会有各自的侧重点,例如淘宝,要解决海量的商品信息的搜索、下单、支付,例如腾讯,要解决数亿的用户实时消息传输,百度它要处理海量的搜索请求,他们都有各自的业务特性,系统架构也有所不同。尽管如此我们也可以从这些不同的网站背景下,找出其中共用的技术,这些技术和手段可以广泛运行在大型网站系统的架构中,下面就通过介绍大型网站系统的演化过程,来认识这些技术和手段。 一、最开始的网站架构最初的架构,应用程序、数据库、文件都部署在一台服务器上,如图: 二、应用、数据、文件分离随着业务的扩展,一台服务器已经不能满足性能需求,故将应用程序、数据库、文件各自部署在独立的服务器上,并且根据服务器的用途配置不同的硬件,达到最佳的性能效果。

三、利用缓存改善网站性能在硬件优化性能的同时,同时也通过软件进行性能优化,在大部分的网站系统中,都会利用缓存技术改善系统的性能,使用缓存主要源于热点数据的存在,大部分网站访问都遵循28原则(即80%的访问请求,最终落在20%的数据上),所以我们可以对热点数据进行缓存,减少这些数据的访问路径,提高用户体验。

服务器架构方案

服务器架构方案 项目名称:北京大地腾农网络科技有限公司服务器架构方案主管部门:技术部 建设地点:北京市朝阳区广播电视学校机房 编写时间:2009年10月

目录 系统 软件 拓扑图 基本需求基本思路技术实现流量考虑服务器配置方案的好处

系统: CENTOS 5.0 WINDOWS 2003 软件: Apache2.0以上版本——jk_mod模块Tomcat6.0以上版本 IPtables防火墙 FTP软件 Winmail邮箱 SQL Server 2000 拓扑图:

基本需求: 1、高可用性:将停止服务时间降低到最低甚至是不间断服务。 2、可扩展性:随着访问的增加,系统具备良好的伸缩能力。 3、高性能高可靠性:经过优化的体系结构及合理的备份策略。 4、安全性:结构上的安全及主机的安全策略。 基本思路: 1、对于访问频繁,用户量大的对象采用网站、视频资源负载均衡 到多台服务器上来提高可用性,当然其中一台服务器出现问题,其他服务器将提供网站、视频资源服务。图中(WEB网站集 群服务器与资源服务器集群) 2、可护展性:将网站服务器后期有新的项目增加时可以通过虚拟 机增加新的网站项目。用户量大的时候,可以考虑做负载均衡。 或者是软件集群。(WEB网站集群服务器) 3、高性能高可靠性:通过(WEB网站集群、资源集群)大大提 高了网站的性能,也合理的解决网站、资源的备份策略。数据 库的备份可以安时间段进行定时备份,并将备份文件上传到 FTP服务器。 4、安全性:结构上的安全及于硬件防火墙、IPS入侵检测与防御 系统的安全策略。 技术现实 1、防火墙:由于internet上每天都有上百万人在那里收集信 息、交换信息不,避免不了有人搞破坏。这样就要求我们用防

微服务架构介绍

微服务架构介绍

微服务是个说的挺长时间的概念,也是比较成熟的技术体系。像Spring Cloud,甚至提供了微服务所需要的全套框架,包括注册中心(Eureka)、配置中心(Config)、断路器(Hytrix)、API 网关(Zuul) 等组件。微服务体系庞杂,每个组件都能独自成章。 微服务与更早就起来的SOA 是什么关系? 个人觉得如果从概念上来说,微服务和SOA 都是一回事,强调把整个系统,按照多个服务的方式去组合及通信,而不是揉合在一起,但它们的内涵有很大的区别。 SOA 诞生在早期企业级的应用,其业务复杂、技术体系多样,SOA 强调的是各个服务之间,尤其是异构系统、遗留系统之间,建立起一套统一的协议和通信(SOAP),以及寻址服务(UDDI),它的侧重点在集成和兼容;与SOA 同期的另一种概念ESB(企业总线),强调通过一根总线服务,把所有服务串联起来,由ESB 总线来屏蔽各种不同业务系统自身业务/ 语言/ 协议的特殊性,各服务以一种统一的方式,与总线相连,从而降低接入成本。 这两种概念,我感觉在国内没有太发展起来。一是国内的软件起步相对较晚,系统的整体复杂度——多厂商、多语言/ 技术栈、历史遗留系统的问题,还不算突出。而对于公司内部的产品系,又没有必要使用SOA、UDDI 来做复杂的集成。随着互联网的兴起和用户量的迅速爆发,企业自身的产品的微服务化的需求,快速发展起来,而与此同时SOA 这种以XML 为基础的SOAP 协议、以寻址为主要作用的UDDI,不能使用互联网产品的发展——SOAP 的XML 协议内容太多,造成性能明显下降;HTTP 协议的效率不如RPC;UDDI 只有寻址,缺少服务治理等功能。 在此种大背景下,以服务切分+ 服务注册+ 服务治理+ 限流降级+RPC+ 监控等为主要内涵的微服务,就快速发展起来的。国内的阿里巴巴走在前列,以Dubbo 为代表在国内互联网企业中得到广泛应用;后来Spring 官方发布Spring Cloud,揉合了一系列自研或其他企业捐赠的开源项目,发布微服务领域的Spring Cloud 产品。各自都有各自的优势和劣势,而

微服务架构设计V1

微服务架构设计

目录 一、微服务架构介绍 (3) 二、微服务出现和发展 (3) 三、传统开发模式和微服务的区别 (4) 四、微服务的具体特征 (7) 五、SOA和微服务的区别 (9) 六、怎么具体实践微服务 (11) 七、常见的设计模式和应用 (17) 八、优点和缺点 (23) 九、思考:意识的转变 (26)

一、微服务架构介绍 微服务架构(Microservice Architecture)是一种架构概念,旨在通过将功能分解到各个离散的服务中以实现对解决方案的解耦。你可以将其看作是在架构层次而非获取服务的 类上应用很多SOLID原则。微服务架构是个很有趣的概念,它的主要作用是将功能分解到离散的各个服务当中,从而降低系统的耦合性,并提供更加灵活的服务支持。 概念:把一个大型的单个应用程序和服务拆分为数个甚至数十个的支持微服务,它可扩展单个组件而不是整个的应用程序堆栈,从而满足服务等级协议。 定义:围绕业务领域组件来创建应用,这些应用可独立地进行开发、管理和迭代。在分散的组件中使用云架构和平台式部署、管理和服务功能,使产品交付变得更加简单。 本质:用一些功能比较明确、业务比较精练的服务去解决更大、更实际的问题。 二、微服务出现和发展 微服务(Microservice)这个概念是2012年出现的,作为加快Web和移动应用程序开发进程的一种方法,2014年开始受到各方的关注,而2015年,可以说是微服务的元年; 越来越多的论坛、社区、blog以及互联网行业巨头开始对微服务进行讨论、实践,可以说这样更近一步推动了微服务的发展和创新。而微服务的流行,Martin Fowler功不可没。 这老头是个奇人,特别擅长抽象归纳和制造概念。特别是微服务这种新生的名词,都有一个特点:一解释就懂,一问就不知,一讨论就打架。

各公司服务器架构

各公司服务器架构 经典云计算架构包括IaaS、PaaS、SaaS三层服务。云计算平台架构细分为硬件层、虚拟层、软件平台层、能力层、应用平台以及软件服务层。 云平台的云计算架构虽然分了多个层次,但是每个层次之间都是松耦合关系,在一个具体案例中也不是每个层次的服务都使用到,而且根据具体的应用环境搭建相应的云计算架构。 (1)硬件层和虚拟层对应IaaS层(Infrastructure as a Service) 主要提供基本架构的服务,比如提供基本的计算服务、存储服务、网络服务。计算机服务是提供用户一个计算环境,用户可以在上面开发和运行自己的应用,此环境一般是包含约定CPU、内存和基本存储空间的虚拟机环境,也可以是一台物理服务器,但是对用户是透明的。 存储资源是提供用户一个存储空间,根据用户需求不同可以提供块存储服务,文件存储服务,记录存储服务,对象存储服务。 网络服务是提供用户一个网络方案,可以让用户维护自己的计算环境和存储空间,并可以利用计算环境和存储空间对外提供服务。 (2)软件平台、能力层、应用平台组成PaaS层(Platform as a Service) 软件平台层主要提供公共的平台技术,比如统一支撑操作系统,包括使用到的运行平台,对应用屏蔽了运行环境差异,应用只要关心逻辑即可;也包括统一计费、统一配置、统一报表等后台支撑,各种应用利用相应的框架进行开发后,即可做到对外统一界面、统一运维管理、统一报表展示等;也包括分布式缓存、分布式文件系统、分布式数据库等通用技术,上层应用可以根据自己的需要使用相应的API就可以使用到这些通用技术。 能力层主要提供基本业务能力,比如传统电信服务中的短信、彩信、wappush等,互联网服务中的图

微服务框架的设计与实现

微服务框架的设计与实现① 张晶1, 黄小锋2, 李春阳3 1(北京中电普华信息技术有限公司, 北京100192) 2(中国电建集团国际工程有限公司, 北京100048) 3(国网信息通信产业集团有限公司, 北京100031) 摘 要: 相对于传统单块架构, 微服务框架具有技术选型灵活, 独立部署, 按需独立扩展等优点, 更适合当前互联网时代需求. 但微服务架构的使用引入了新的问题, 如服务注册发现、服务容错等. 对微服务框架引入的问题进行分析, 并给出了微服务框架的一种实现方案, 在框架层面解决服务注册发现、服务容错等共性问题, 使业务系统开发人员专注于业务逻辑实现, 简化系统开发的难度, 提高开发效率. 关键词: 微服务框架; 服务注册; 服务发现; 服务容错 Design and Implementation of Microservice Architecture ZHANG Jing1, HUANG Xiao-Feng2, LI Chun-Yang3 1(Beijing China Power Information Technology Co. Ltd., Beijing 100192, China) 2(PowerChina International Group Limited, Beijing 100048, China) 3(State Grid Information & Telecommunication Industry Group Co. Ltd., Beijing 100031, China) Abstract: Compared with traditional single block architecture, microservice architecture has many advantages, such as flexible technology selection, independent deployment, and independent scalability more suitability for the current needs of the internet age, etc. But microservice architecture also introduces new problems such as service registration, service discovery, service fault tolerance. On the basis of the analysis for problems mentioned above, this paper proposes one implementation of microservice framework, which can solve service registration, service discovery, service fault tolerance and other common problems. Based on this, developers only need to focus on the development of business functions, so that it can simplify the difficulty of system development and improve development effectiveness. Key words: microservice architecture; service registration; service discover; fault tolerance 传统信息化系统的典型架构是单块架构(Monolithic Architecture), 即将应用程序的所有功能都打包成一个应用, 每个应用是最小的交付和部署单元, 应用部署后运行在同一进程中. 单块架构应用具有IDE友好、易于测试和部署等优势, 但是, 随着互联网的迅速发展, 单块架构临着越来越多的挑战, 主要表现在维护成本高、持续交付周期长、可伸缩性差等方面[1]. 微服务架构(Microservices)的出现以及在国内外的成功应用, 成为系统架构的一种新选择. 很多大型宝等都已经从传统单块架构迁移到微服务架构[2]. 微服务架构提倡将单块架构的应用划分成一组小的服务, 互联网公司如Twitter、Netflix、Amazon 、eBay、淘服务之间互相协调、互相配合, 为用户提供最终价值. 1 微服务架构 微服务架构是一种架构模式, 采用一组服务的方式来构建一个应用, 服务独立部署在不同的进程中, 不同服务通过一些轻量级交互机制来通信, 例如RPC、HTTP等, 服务可独立扩展伸缩, 每个服务定义了明确的边界, 不同的服务甚至可以采用不同的编程语言来实现, 由独立的团队来维护[3]. 相对于传统的单体应用架构, 微服务架构具有单个服务易于开发、理解和维护; 复杂度可控; 技术选 ①收稿时间:2016-09-18;收到修改稿时间:2016-11-03 [doi: 10.15888/https://www.360docs.net/doc/a817472155.html,ki.csa.005796]

微服务架构落地最佳实践

微服务架构落地最佳实践

难点1:“一步到位”的认知错觉 这些年微服务大红大紫,但是真正能够拿出来做为可实践的案例少之又少。大部分的微服务案例只能看到微服务架构的“演进结果”,但是看不到微服务架构的“演进过程”。这就像每个人看到一个架构的高峰,却没有看到攀登高峰的路径。 这就给很多架构师一个假象:微服务的架构是通过能力极高的架构师一步到位设计出来的。 这和很多团队自上而下的架构设计感受和相似。于是架构师们蜂拥而至,各种分析方法论层出不穷,讨论和分享络绎不绝。然而真正落地实施的却很少,使得微服务在网络上慢慢变成了一种“玄学”:微服务的实施在“理论研究”的阶段。 这违反了软件架构的最基本规律:架构是解决当前的需求和痛点演进的,而无法对没有出现的问题和痛点进行设计。因此,一步到位的整体的微服务架构设计完全没有必要。况且一个集中化的设计,很难体现微服务的轻量级优势。 我相信技术的发展一定是向不断降低成本的方向上发展的。如果新技术没有降低成本反而提升了成本,要么这个新技术有问题,要么一定是姿势不对,走错了路。 因此,准备实施微服务一定要有一个长期的思想准备。不过跨过了最初的门槛之后,剩下的工作可以被复制而且速度会越来越快。 难点2:“架构师精英主义”

很多产品对架构师的依赖很大,即“架构师精英主义”:认为产品架构只有这个组织的“技术精英”——架构师才可以完成,而团队其它成员只需要实现架构师的设计就可以。这是大型企业和大型系统的常见问题,这来源于长期的重量级企业级架构习惯。 而微服务则类似于一种“敏捷边际革命”:即由一个不超过2~8个人的小团队就可以完成的功能。而且这种规模的团队即使从整个产品团队移除也对整体产品的研发进度没有影响。因此,即使失败了不会带来太多的损失。不过,当第一个微服务改造成功,那么成功经验的复制带来的乘数效应却能带来很大的收益。 从架构改造投资的风险收益比来看,这是非常划算的。 因此,微服务团队完全没必要大张旗鼓,只需要两三个人就可以动工。但是,谁也没有微服务的实践经验啊,万一失败了怎么办? 这就带来了下一个难点。 难点3:缺乏一个信任并鼓励创新的环境

论微服务架构及其应用

论微服务架构及其应用 摘要 2016年7月,我所在的公司为全国各级人民检察院开发了行贿犯罪档案互联网查询系统的产品,我担任系统架构师职务,主要负责软件架构和安全体系设计的工作,该项目是基于互联网,为单位、企业和个人等公众群体提供7*24小时的查询申请服务,同时兼顾行贿犯罪预防宣传。本文结合作者的实践,以行贿犯罪档案互联网查询系统为例,论述微服务架构及其应用。首先概述我参与管理和开发,并采用微服务架构开发的工作,然后具体描述微服务架构的特点,最后结合项目描述软件的架构,说明该系统是如何采用微服务架构模式的,并说明采用微服务架构模式后,在软件开发过程中遇到的实际问题和解决方案。经过项目组近一年的努力,本产品已顺利开发完成,目前,已在浙江、云南等多省上线使用,取得客户和公司领导的一致好评。 正文 近年来,随着互联网行业的迅猛发展,公司或组织业务的不断扩张,需求的快速变化以及用户量的不断增加,传统的单块(Monolithic)软件架构面临着越来越多的挑战,已逐渐无法适应互联网时代对软件的要求。在这一背景下,微服务架构模式(Microservice Architecture Pattern)逐渐流行。它强调将单一业务功能开发成微服务的形式,每个微服务运行在一个进程中;采用HTTP等通信协议和轻量级API实现微服务之间的协作与通信。这些微服务可以使用不同的开发语言以及不同数据存储技术,能够通过自动化部署工具独立发布,并保持最低限制的集中式管理。 2015年7月,我所在的公司为全国各级人民检察院开发了行贿犯罪档案互联网查询系统的产品,我担任系统架构师职务,主要负责软件架构和安全体系设计的工作。本文结合作者的实践,论述微服务架构及其应用。首先概述我参与管理和开发,并采用微服务架构开发的工作,然后具体描述微服务架构的特点,最后结合项目描述软件的架构,说明该架构是如何采用微服务架构模式的,并说明采用微服务架构模式后,在软件开发过程中遇到的实际问题和解决方案。

微服务系统和数据库设计方案

微服务系统和数据库设计方案 1.微服务本质 微服务架构从本质上说其实就是分布式架构,与其说是一种新架构,不如说是一种微服务架构风格。 简单来说,微服务架构风格是要开发一种由多个小服务组成的应用。每个服务运行于独立的进程,并且采用轻量级交互。多数情况下是一个HTTP的资源API。这些服务具备独立业务能力并可以通过自动化部署方式独立部署。这种风格使最小化集中管理,从而可以使用多种不同的编程语言和数据存储技术。 对于微服务架构系统,由于其服务粒度小,模块化清晰,因此首先要做的是对系统整体进行功能、服务规划,优先考虑如何在交付过程中,从工程实践出发,组织好代码结构、配置、测试、部署、运维、监控的整个过程,从而有效体现微服务的独立性与可部署性。 本文将从微服务系统的设计阶段、开发阶段、测试阶段、部署阶段进行综合阐述。 理解微服务架构和理念是核心。 2.系统环境

3.微服务架构的挑战 可靠性: 由于采用远程调用的方式,任何一个节点、网络出现问题,都将使得服务调用失败,随着微服务数量的增多,潜在故障点也将增多。 也就是没有充分的保障机制,则单点故障会大量增加。 运维要求高: 系统监控、高可用性、自动化技术 分布式复杂性: 网络延迟、系统容错、分布式事务 部署依赖性强: 服务依赖、多版本问题 性能(服务间通讯成本高): 无状态性、进程间调用、跨网络调用 数据一致性: 分布式事务管理需要跨越多个节点来保证数据的瞬时一致性,因此比起传统的单体架构的事务,成本要高得多。另外,在分布式系统中,通常会考虑通过数据的最终一致性来解决数据瞬时一致带来的系统不可用。 重复开发: 微服务理念崇尚每个微服务作为一个产品看待,有自己的团队开发,甚至可以有自己完全不同的技术、框架,那么与其他微服务团队的技术共享就产生了矛盾,重复开发的工作即产生了。 4.架构设计 4.1.思维设计 微服务架构设计的根本目的是实现价值交付,微服务架构只有遵循DevOps理念方可进行的更顺畅,思维方式的转变是最重要的。

数据中心建设架构设计

数据中心架构建设计方案建议书 1、数据中心网络功能区分区说明 1.1 功能区说明 图1:数据中心网络拓扑图 数据中心网络通过防火墙和交换机等网络安全设备分隔为个功能区:互联网区、应用服务器区、核心数据区、存储数据区、管理区和测试区。可通过在防火墙上设置策略来灵活控制各功能区之间的访问。各功能区拓扑结构应保持基本一致,并可根据需要新增功能区。 在安全级别的设定上,互联网区最低,应用区次之,测试区等,核心数据区和存储数据区最高。 数据中心网络采用冗余设计,实现网络设备、线路的冗余备份以保证较高的可靠性。 1.2 互联网区网络 外联区位于第一道防火墙之外,是数据中心网络的Internet接口,提供与Internet 高速、可靠的连接,保证客户通过Internet访问支付中心。 根据中国南电信、北联通的网络分割现状,数据中心同时申请中国电信、中国联通各1条Internet线路。实现自动为来访用户选择最优的网络线路,保证优质的网络访问服务。当1条线路出现故障时,所有访问自动切换到另1条线路,即实现线路的冗余备份。

但随着移动互联网的迅猛发展,将来一定会有中国移动接入的需求,互联区网络为未来增加中国移动(铁通)链路接入提供了硬件准备,无需增加硬件便可以接入更多互联网接入链路。 外联区网络设备主要有:2台高性能链路负载均衡设备F5 LC1600,此交换机不断能够支持链路负载,通过DNS智能选择最佳线路给接入用户,同时确保其中一条链路发生故障后,另外一条链路能够迅速接管。互联网区使用交换机可以利用现有二层交换机,也可以通过VLAN方式从核心交换机上借用端口。 交换机具有端口镜像功能,并且每台交换机至少保留4个未使用端口,以便未来网络入侵检测器、网络流量分析仪等设备等接入。 建议未来在此处部署应用防火墙产品,以防止黑客在应用层上对应用系统的攻击。 1.3 应用服务器区网络 应用服务器区位于防火墙内,主要用于放置WEB服务器、应用服务器等。所有应用服务器和web服务器可以通过F5 BigIP1600实现服务器负载均衡。 外网防火墙均应采用千兆高性能防火墙。防火墙采用模块式设计,具有端口扩展能力,以满足未来扩展功能区的需要。 在此区部署服务器负载均衡交换机,实现服务器的负载均衡。也可以采用F5虚拟化版本,即无需硬件,只需要使用软件就可以象一台虚拟服务器一样,运行在vmware ESXi上。 1.4 数据库区

微服务架构全解析

微服务架构全解析:绝不是360度无死角 草根开发群体的大力支持正在将微服务架构的采用率推到新的高度。据红帽公司中间件专家Mark Little博士声称,微服务是个好东西,却不是世界和平的答案。 红帽公司中间件部门工程副总裁Mark Little博士:采用微服务并不意味着你那架构差强的泥球突然变得架构很好。 鉴于微服务的人气扶摇直上,那些记性不好的人可能忽略了这种方法极其类似面向服务的架构(SOA),20年前SOA第一次出现在世人眼前。 不过红帽公司中间件部门工程副总裁Mark Little博士喜欢将微服务看成面向服务的架构中的精华部分,它得益于出现了更先进的工程和运维技术及技巧。 Little说:“区别就在于,推动它的主要是开发软件和分布式软件领域的新方法。Linux容器等技术――Docker就是个典例。你现在有了不变的服务,有了Kuberneters之类用于协调那些服务的技术――很显然,你有了开发运维(DevOps),而开发运维受到敏捷开发理念的重大影响。” “那些技术让人们真正回顾我们在过去开发分布式系统的方法,面向服务的架构就是这方面的一个例子,并挑选与那些技术相匹配的精华部分。或者反之亦然,找到与面向服务的架构的一些精华部分相匹配的那些技术。这可能就是区别所在。架构方法并非不一样,但是其背后的技术确实不一样。” 在微服务架构中,应用程序组装成一组小小的半自主式进程,这些进程执行特定的任务,并使用API彼此进行联系。微服务旨在易于使用、灵活扩展,在Web应用程序、移动应用程序和物联网应用程序中日益崭露头角。 在面向服务的架构的以往不足中,Little提到了一个不足:无法在客户机和服务之间提供很好的契约定义,他还提到了Web服务描述语言(WSDL)的不足,这种语言对松散耦合、分布式的系统而言差强人意。 然而,就因为许多因素和技术融合到一起,让微服务成为当下风光无限的架构,并不能保证它就能一帆风顺。 Little说:“认识到微服务不是世界和平的答案,这一点很重要。它对一些任务来说很好。但是它跟任何技术一样,也有缺点。就因为你采用了微服务,并不突然意味着你那架构差劲的泥球(ball of mud)突然架构变得很好,不再是泥球。它有可能变成了好多分布式泥球。”“这让我有点担忧。我长期以来就在关注面向服务的架构,知道优点和缺点。我喜欢微服务,因为它让我们得以关注优点,但是人们以为它能解决根本就解决不了的许多问题,这确实让我担心。” 如果你正在考虑微服务,最好从良好的软件工程实践开始入手。 Little说:“从根本上来说,这正是面向服务的架构背后的思想。如果你不从那方面开始入手,无论你使用Docker、虚拟化、Java虚拟机还是使用其他什么都不重要,合适的工具不会为你解决架构问题。” 微架构或者甚至面向服务的架构真正发挥所长的地方在于,应彼此独立部署的逻辑服务,这些逻辑服务可以独立于其他服务进行扩展,而且能够实现独立的故障切换。 Little说:“我在微服务方面担心的问题之一就是,你有一个整体式系统(monolith),假设你开始把它分解成多个服务,可是分解时很随意,到头来就会分解得过细,最后会有10个、

ERP服务器网络环境架构方案

ERP服务器网络环境架构方案 --IT ArmyWU 一.前言 为保证深圳总部,广州工厂和深圳工厂三地万达宝ERP运行稳定,快速和安全,并为公司未来发展做好规划。 二.公司现状 1.ERP服务器暂无,需要新增购买; 2.客户端操作系统WINDOWS 7, CPU: I3-4170,内存4GB,硬盘500G 三.万达宝需求运行环境 一)、硬件环境 1、服务器:不同并发用户对服务器及网络有不同要求,万达宝对130个并发用户以下的要求: 建议选用HA, 两台服务器双机热备+1个集群存储

2、客户端 CPU: Core i3 / i5 / i7 or Celeron、Pentium 4 或以上 内存:4GB RAM 或以上 硬盘:需至少预留50GB的未用空间 操作系统:Windows Server 2012 R2 / 2012 Standard ( 标准版 ) 或以上 数据库: SQL Server 2014 2、客户端 操作系统:Windows7(64bit)或以上 四.解决方案 本着系统设计的前瞻性、安全性、稳定性、可扩展性及经济性原则做如下建议。 1.服务器 注:并发数-指在一个固定的时间段内,通常是指在15分钟之内,向服务器提出过服务请求的用户。公司而言按在线用户的数量占整个注册用户数量的65-70%计算。 方案采用两台相同配置服务器Host1和Host2,一台集群存储系统,高可用性HA软件构成。在这样的系统中两台服务器都处于工作状态,各自有各自工作负荷。HA系统会自动侦测主机,如果主机的发生异常,HA 系统会自动结束异常主机的工作,而由另一部主机依备援程序来接管异常主机的工作。这样以保证系统的持续安全可靠运转。 有同联想大客户部及DELL总部沟通公司服务器及集群存储要求,两家公司提供了以下机型供选择:

基础架构及服务器虚拟化解决方案

网络基础架构及数据中心规划方案 2016年11月

目录 一.网络建设需求3 1.1 目标架构:3 1.2设计目标:3 二. 规划方案4 2.1 方案拓扑4 2.2 架构说明5 2.3 为什么选用Vmware虚拟化技术(整个方案的重点)6 2.4 VMware方案结构 (7) 2.4.1 基础架构服务层7 2.4.2 应用程序服务层9 2.4.3 虚拟应用程序层14 2.4.4 数据备份15 2.4.5具体方案陈述20 2.5 VMWARE方案带来的好处21 2.5.1 大大降低TCO (21) 2.5.2 提高运营效率23 2.5.3 提高服务水平24 三. 项目预算24 总述

为推进公司信息化建设,以信息化推动公司业务工作改革与发展,需要在集团总部建设新一代的绿色高效能数据中心网络。 一.网络建设需求 1.1 目标架构: 传统组网观念是根据功能需求的变化实现对应的硬件功能盒子堆砌而构建企业网络的,这是一种较低效率的资源调用方式,而如果能够将整个网络的构建看成是由封装完好、相互耦合松散、但能够被标准化和统一调度的“服务”组成,那么业务层面的变更、物理资源的复用都将是轻而易举的事情。最终形成底层资源对于上层应用就象由服务构成的“资源池”,需要什么服务就自动的会由网络调用相关物理资源来实现。 1.2设计目标: ?扩展性: 架构设计能应对集团未来几年的发展以及满足整合分公司资源的需要; ?简化管理 使上层业务的变更作用于物理设施的复杂度降低,能够最低限度的减少了物理资源的直接调度,使维护管理的难度和成本大大降低。 ?高效复用 得物理资源可以按需调度,物理资源得以最大限度的重用,减少建设成本,提高使用效率。即能够实现总硬件资源占用降低了,而每个业务得到的服务反而更有充分的资源保证了。 ?网络安全:

基于Spring Cloud微服务架构的应用

142 ?电子技术与软件工程 Electronic Technology & Software Engineering 计算机技术应用 ? the Application of Computer Technology 【关键词】微服务 Spring Cloud 分布式 早期的系统开发,都采用了单体应用模式,比如淘宝、京东、豆瓣网等,这种模式是比较适合公司创业初期的,因为比较简单,一个工程,一个数据库,最后整体打包发布就上线了。但随着业务的发展,特别是系统的访问量、数据量的急剧增加,单体应用已经无法满足业务需求,因此将庞大的单体应用按照某种维度进行拆分,进行分布式部署,为了让这种分布式系统更加的规范、更容易管理,便形成了各种服务化的方式和工具,从基于ESB 的SOA (面向服务)的基础架构到当前流行的微服务架构模式,都是在不断适应越来越复杂的应用系统。 1 微服务简介 1.1 什么是微服务 微服务是一种新兴的软件架构模式,它把一个大型的单体应用或服务拆分为多个支持微服务。一个微服务的策略可以让工作变得更为简便,它可扩展单个组件而不是整个应用程序堆栈,从而满足服务等级协议。微服务最重要的就是这个“微”字,怎样才能成为“微服务”呢,其实没有标准,这要根据系统的实际功能需求而定,并不是拆分得越细越好,应该在业务层面上去划分,能够满足各方面的需求。1.2 微服务的特点 1.2.1 微服务的优势 1.2.1.1 单个服务容易开发和维护 相比传统的单体应用,单个微服务的功能更加单一,只关注特定的功能实现,因此,在开发和维护上不需要多方的协调以及冗长的业务流程。 1.2.1.2 服务可以独立部署和扩展 微服务的开发、部署和维护都是相对独立的,互不干扰,服务之间通过标准的接口进行交互,可以很方便的对服务进行扩容。1.2.1.3 可以由不同的团队来开发 在微服务的整体架构上,通常都是按照业务进行服务划分,可以由不同的团队进行开发,服务间通过接口进行交互。1.2.1.4 服务开发技术的选项更加灵活 每个服务的技术选型都可以由相应的团队决定,可以尝试各种最新技术,更加的灵活。1.2.2 微服务的不足 1.2.2.1 管理微服务是一件麻烦的事情 基于Spring Cloud 微服务架构的应用 文/李娜 单个服务的开发和维护相对来说是很容易的,但从整个系统上看,这是一件很麻烦的事情,因为系统从单体变成了分布式,多个服务分布在不同的服务器中,需要完善的服务监控和管理的能力。 1.2.2.2 来自分区数据库带来的实现问题 每一个服务都有自己的数据库,这样才能达到真正系统微服务化的目的。由此会带来一个最为突出的问题就是分布式事务,实现上可以选择按照ACID 的强一致性或者基于BASE 理论的最终一致性。 1.2.2.3 服务间调用的成本更高 由于服务都是分布式部署,服务之间的调用相比传统的本地方法调用,需要更大的成本,调用过程中还会遇到安全、网络抖动等外在的问题。 2 微服务的实现方式 微服务并不是一种技术或者框架,而是一种设计理念或者架构模式,它基于模块化、组件化等架构思想。微服务的实现方式,目前主要有两种,一种是基于RPC 的方式,另一种是基于HTTP 的Restful 方式,这两种实现方式各有利弊,可以选择其中的一种,也可以将两种结合起来使用。在实际应用中,系统内部服务之间的调用通过RPC 方式,可以满足对性能方面的需求;面向客户端以及对外的服务输出采用Restful 方式,一是调用简单,二是更加标准,降低调用成本。 3 Spring-Cloud的技术架构 Spring Cloud 是一种基于Spring Boot 的微服务框架,它实现了微服务架构中常用的组件,目前比较常用的组件是基于Net?ix 对多个开源组件的封装,为微服务架构开发涉及的配置管理、服务治理、熔断机制、智能路由、微代理、控制总线、一次性token 、全局一致性锁、leader 选举、分布式session 、集群状态管理等操作提供了一种简单的开发方式,spring-cloud 的基础架构如图1所示。3.1 网关 接受外部对服务接口的访问,屏蔽底层服务的具体实现,提供权限、认证、安全、监控、限流等基础服务,常见的有Zuul 、spring-cloud-gateway 。3.2 Ribbon Spring-Cloud-Ribbon 是基于HTTP 和TCP 的客户端负载均衡工具,它基于Net?ix Ribbon 实现,可以轻松地将面向服务的REST 模版请求自动转换成客户端负载均衡的服务调用。3.3 Eureka Spring-Cloud-Eureka 是对Net?ix Eureka 的封装以实现服务发现功能,它包含了Server 端和Client 端。Eureka Server 提供服务注册功能,各个节点启动后,会在Eureka Server 中 进行注册;Eureka Client 用于简化与Eureka Server 的交互,可以方便地访问注册中心的服务。3.4 Hystrix Hystrix 是一种熔断器,实现服务的限流、熔断、降级等功能,可以很好的保证服务在高并发情况下的稳定性。 4 微服务应用场景 任何的架构模式都需要根据实际的业务场景而定,不能盲目的追求最新的技术,最适合的就是最好的。对于微服务而言,以下的场景或者条件是比较适合的。 系统业务量越来越大,核心业务和非核心业务变得泾渭分明,这个时候将你的业务系统拆分为细颗粒的服务进行管理,通过断路由、降级、限流等服务管理措施保证系统高可用。 开发团队具有足够的实力,包括系统架构、开发、运维等方面,可以解决微服务带来的各种问题,充分利用好微服务带来的好处。 5 结论 综上所述,相对于传统的单体应用,微服务带来了系统整体架构上的转变,也给系统的设计和开发带来了很多好处,但也不可避免的存在一些问题,这需要根据系统自身业务场景来选择适合自己的架构模式。 参考文献 [1]不甘于平凡的溃败的博客.微服务初 探.https://https://www.360docs.net/doc/a817472155.html,/wohiusdashi /article/details/83957771 [2]李忠民,齐占新.业务架构的微应用化与 技术架构的微服务化--兼谈微服务架构的实施实践[J].科技创新与应用,2016.[3]王玉良.基于Spark 的短时交通流预测系 统设计[J].桂林电子科技大学,2017.[4]赵善龙,孙婉婷.基于微服务架构的互 联网+农业平台设计[J].通信管理与技 术,2017. 作者简介 李娜(1988-),女,山东省新泰市人。研究生学历。主要研究方向为计算机应用技术。 作者单位 重庆青年职业技术学院 重庆市 400712 图1:Spring-cloud 基础架构图

相关文档
最新文档