




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、分布式与云计算技术探究与安全瓶颈研究分布式与云计算技术探究分布式与云计算技术探究(一一)RPC概述RPC原理RPCRPC概述背景问题对策RPC定义优势结构架构演变架构图分析1.访问量逐年攀升服务器数不断增加3.对性能可靠性的要求越来越高问题问题对策对策拆分对巨型系统进行梳理垂直拆分成多个独立的Web系统剥离抽取共用的服务提供远程调用接口与应用共存集群甄别核心的服务独立搭建集群提供专门服务均衡减少专业负载均衡设备使用,应用自行支持分布式分布式程序设计在单台机器上构建并测试应用程序,然后将程序划分为两个或多个程序片,加入通信协议以允许每片程序在单独的计算机上运行。从一个程序片调用另一个程序片的过程
2、称为远程过程调用,即RPC。RPC是一个Client/Server模型,调用程序片(本地程序)称为rpc client,被调用程序片(远程程序)称为rpc server RPC(Remote Procedure Call)远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。什么是什么是RPC? RPC使用client/server模型。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。 RPC作为普遍的C/S开发方
3、法,开发效率高效,可靠高。RPC的优势的优势分布式服务架构分布式服务架构All in one垂直应用架构垂直应用架构流动计算架构流动计算架构单一应用架构单一应用架构 Vertical ApplicationDistributed ServiceElastic Computing。 。 。 。 。applicationservice1 101 0 10001000 1000010000+PV(万)架构演变过程架构演变过程架构图架构图前端负载+缓存(lvs+nginx)webwebwebwebweb serveruseruserproductproductorderorder消息中间件统一配置平台
4、分布式缓存DAL(分库分表、读写分离)dbdbdbdbdbdbDb cluster 统一监控平台使用RPC通信:同步/异步调用client负载均衡.order weblogin weborderdistributed serverLogic server LayerBase server LayerRPC原理 原理 操作流程 参数传递RPC的基本思想:允许程序调用位于其他机器上的进程(代码迁移)客户存根(client stub):服务器过程的代理服务器存根(server stub):客户过程的代理RPC原理原理1.客户端进程正常调用客户存根2.客户存根将参数生成消息,并调用本地操作系统,接着挂
5、起3.本地操作系统将消息发送给服务器4.服务器(处于接收状态)的操作系统将收到的消息传给服务器存根5.服务器存根将参数提取出来,并调用服务器上的进程6.服务器执行完操作,将结果返还给服务器存根7.服务器存根将结果打包成消息,并调用服务器操作系统8.服务器操作系统将消息发给客户端9.客户端操作系统将消息传给客户端存根10.客户存根将结果去除返还给客户进程RPC的基本操作流程的基本操作流程RPC的基本操作流程的基本操作流程 不同的机器数据编码格式不一样,参数解码出错 指针和引用的传递 解决方法: 约定双方遵守的协议,消息结构,数据结构的表示 存根中加入接口进行转化 用复制还原调用代替引用调用参数传
6、递的问题参数传递的问题RPC应用 在网络中的应用 在嵌入式系统中的应用 在三层分布系统中的应用 为何需要RPC? 现今企业大多数的信息系统解决方案是在局域网上实现的,而且主要是面向部门级应用的。 一方面,企业内部各组织机构开发的各种单项应用以及多途径引入的应用软件,造成普遍存在的异构信息孤岛问题,使得数据难以共享、集成。 另一方面,随着Internet/Intranet技术的飞速发展,企业对数据共享和深层次的应用的要求(例如基于数据仓库的OLAP和数据采掘等决策支持应用)越来越迫切。不但需要集成分布在网络中多个数据库服务器上的数据,而且需要访问分布在网络上的电子邮件、HTML文档、电子表格以及
7、其它非数据库数据源。要集成的不但包括本企业局域网上的数据,而且包括处于Internet环境下企业外部的相关数据。RPC在网络中的应用在网络中的应用 在这种情况下,要求建立一个分布、异构的计算环境,在此环境下实现系统的互操作。要解决分布、异构的数据访问和互操作问题,一种有效的手段是利用RPC。使用RPC使软件开发人员能够透明的调用网络另一端机器提供的服务而不用管对方机器的体系结构。 RPC的原理是将一个服务的请求和执行在客户和服务器之间进行分布。客户在请求一个服务之前,要知道服务的接口名和调用参数,然后它通过网络向服务器发出RPC请求。服务器收到请求后,调用本地的服务实现之,然后将结果传回客户。
8、RPC在网络中的应用在网络中的应用 2000年5月W3C提出的SOAP技术是一种新的对象远程过程调用(ORPC)技术,有助于实现大量异构程序和平台之间的互操作性,实现异构数据源数据的访问和集成,从而使存在的应用能够被广泛的用户所访问。SOAP是把成熟的基于HTTP的WEB技术与XML的灵活性和可扩展性组合在一起。它在一定范围内能够克服已存在技术(如CORBA和DCOM)的一些缺陷,提供一种新的进行异构数据集成的手段。RPC在网络中的应用在网络中的应用 什么是SOAP? SOAP即简单对象访问协议,是一种轻量的、简单的、基于XML的协议,它被设计成在WEB上交换结构化的和固化的信息。 作为Web
9、Service三要素:SOAP、WSDL、UDDI之一, SOAP用来传递信息的格式,WSDL用来描述如何访问具体的接口,UDDI用来管理、分发、查询WebService。 SOAP可以和现存的许多因特网协议和格式结合使用,包括超文本传输协议(HTTP),简单邮件传输协议(SMTP),多用途网际邮件扩充协议(MIME)。RPC在网络中的应用在网络中的应用 SOAP中的RPC SOAP最常用的应用是作为一个RPC协议。SOAP采用的是将已有的XML技术和HTTP技术结合起来,用XML作为其编码模式,用HTTP作为其RPC的传输协议。在一个SOAP环境,WEB服务器就是SOAP的ORB(对象请求代
10、理),而后台服务器可以是基于任何已有的RPC技术的服务提供者,当然也可以是WEB服务器。SOAP RPC工作方式的全过程: 首先从客户端开始,客户发出远程过程调用请求,这常表现为点击浏览器页面上的某个链接,当用户点击后,SOAP Request就由客户端发出。这个SOAP Request按照SOAP协议的要求,以XML的格式封装在一个HTTP Post请求中,并加上相关的请求头信息向服务器发送。RPC在网络中的应用在网络中的应用 然后服务器收到HTTP Post请求,由于是作为HTTP请求传输的,服务器查看HTTP请求(这里实际上是SOAP请求)的是哪个服务器上的哪个服务,处理该请求的服务器将
11、请求中以XML形式携带的数据传递给该请求中要求调用的应用程序。在处理了请求之后,HTTP服务器发回一个HTTP响应到客户端。响应包括用一个状态代码来表示请求的结果。响应也可以包含任意的体信息,比如调用的返回值。RPC在网络中的应用在网络中的应用 举一个SOAP 请求的实例:在这里,除去SOAP元素,实际要发出的远程调用方法名是getReverse,而调用参数是Hello,World。这个SOAP请求的目的就是:调用getReverse,取得输入参数的逆序。RPC在网络中的应用在网络中的应用 用SOAP进行RPC的好处:1.SOAP调用的数据和方法名传输是基于XML的。利用XML在信息交换上的强
12、大能力,可使数据和数据的表现形式分离,从而实现分布的应用程序之间的透明信息交换而不需关心信息的具体编码格式。 2.SOAP协议是基于文本的协议,因此它是完全与平台无关的协议,能够接受文本信息的一切系统都可以发出和接收SOAP消息,而且Server在接受了消息以后,可以任意选择使用本地的可执行程序,或是COM组件,或是一段脚本等等来处理SOAP消息。RPC在网络中的应用在网络中的应用3.SOAP用HTTP作为RPC协议,它简单、配置广泛,且对防火墙比其它协议更容易发挥作用。像IIS和Apache这样的Web服务器就可对RPC进行处理。而且在客户和服务器被防火墙或代理服务器分隔的情况下,使用HTT
13、P协议进行RPC比使用DCOM或CORBA这类协议容易,这是因为现有的Internet连接技术对遵循HTTP协议的信息有很好的处理技术。RPC在网络中的应用在网络中的应用RPC应用在嵌入式系统应用在嵌入式系统 在嵌入式环境下,节点间的通信往往是通过显式地发送和接收消息进行的,网络的开发者需要了解网络接口及使用方式,通信过程对开发者来说不是透明的。这样做的优点是:通信效率高,可以针对发送的数据类型和语义进行优化,资源占用少,响应速度快。但是它的缺点也很明显,增加了开发的复杂性。为了提高节点间通信层次,隐藏通信细节,提高开发效率,提出了将RPC应用于嵌入式环境下。 RPC应用在嵌入式系统应用在嵌入
14、式系统 例:在采用ARM7(Philips LPC2210) 为处理器,C/OS-II为底层操作系统,以太网和TCP/IP协议栈为网络环境。由于在嵌入式环境下,节点间通信的数据量比较小,对实时性有一定的要求,因此设计中是以低延时作为主要目标。RPC应用在嵌入式系统应用在嵌入式系统 在ARM平台上用C语言描述的RPC 请求报头和服务器存根注册列表:RPC应用在嵌入式系统应用在嵌入式系统 从测试结果可以看出,RPC 相关操作对调用时间的影响极低,基本实现了低延时的设计目标。RPC在三层分布系统中的应用在三层分布系统中的应用越来越多的数据库应用系统使用三层分布架构,即在原有的客户机/ 服务器体系结构
15、之间加人了一层或多层应用服务程序这种程序称为应用服务器。RPC在三层分布系统中的应用在三层分布系统中的应用该系统在技术上主要采用RPC来实现客户端与服务器的通信,而在服务器与数据库之间则采用OCI(Oracle Call Interface)接口来实现通信。终端通过RPC客户端(Stub) 调用应用服务器提供的远程过程终端只需将调用接口所需要的参数传递给应用服务器,而程序的运行实际上是在应用服务器上完成的。服务器处理传来的信息,通过OCI 接口访问Oracle 服务器, 将从终端传来的数据传输给Oracle数据库,对数据库中的表进行查询、插、删、改等操作。主要应用:处理居民身份证信息,高考成绩
16、等数据量较大的系统。仿真:一个处理成绩的仿真:一个处理成绩的RPC应用程序应用程序 基于VC+6.0创建一个简单的客户机服务器的分布式应用程序,实现客户应用程序在一个远程过程调用中,可以添加或查看存于服务器的学生成绩。 仿真:一个处理成绩的仿真:一个处理成绩的RPC应用程序应用程序 服务器端的开发流程score.idlMIDL Compilerscore.hscore_s.cServer Stubscores.cscorep.cC CompilerLinkerImportLibraryscore.exescore.acf仿真:一个处理成绩的仿真:一个处理成绩的RPC应用程序应用程序 客户端的开
17、发流程score.idlscore.hscore_c.cClient Stubscorec.cC CompilerLinkerImportLibraryMIDL Compilerscore.acfscorec.exe仿真:一个处理成绩的仿真:一个处理成绩的RPC应用程序应用程序score.idl中接口的定义属性配置文件score.acf仿真:一个处理成绩的仿真:一个处理成绩的RPC应用程序应用程序添加新成员成绩函数add_member() 和查询成绩函数check_score()仿真:一个处理成绩的仿真:一个处理成绩的RPC应用程序应用程序运行结果:将附件中的两个可执行文件拷到某一目录下,打开
18、两个命令行窗口,一个模拟表示服务器端,另一个模拟表示客户端。1.运行服务器端仿真:一个处理成绩的仿真:一个处理成绩的RPC应用程序应用程序2.运行客户端仿真:一个处理成绩的仿真:一个处理成绩的RPC应用程序应用程序3.运行客户端后服务器变为: 根据云安全联盟(CSA)的调查,大部分的受访者会存在对自己在云端的敏感数据可能会被破坏或者窃取的担心,因而并没有把敏感数据存储在云中。安全性是现阶段云计算的研究热点。 如何在保证数据安全的情况下,对数据进行处理呢?一种可能的解决方法就是将加密域信号处理与云计算结合起来 在Craig Gentry的博士论文中,他虚构了这么一个场景,可以生动地说明这一方法。
19、这个场景描述的是一个叫Alice的珠宝店主如何设计一个系统来保证自己的珠宝店珠宝的安全性。分布式与云计算安全瓶颈探究(二)分布式与云计算安全瓶颈探究(二) 手套箱 这里我们将云计算与加密域信号处理结合起来的技术称为安全云计算。 在一个共有、不可信任的云环境中,不仅仅用户对云设备提供商以及应用提供商是否会非法收集隐私信息持怀疑态度,应用提供商也对云设备提供商是否会非法盗用存储在云设备上的应用信息存在担忧。这个时候安全云计算的实现意义重大。安全云计算 MRAC(Model-reference adaptive control)滤波器是信号处理中的一个重要模块,而自适应滤波器在非平稳的环境中是高效的
20、。为了调节滤波器参数到最佳状态,各个用户需要把自己的滤波器组的输入以及收集到的信息发送给云端的自适应控制器,从而实现参数的调整。在这个情景中,如果输入信息以及滤波器所收集到的信息包含了隐私敏感信息的话,即便在传输存储过程中使用了安全保护技术,最终为了实现参数调节,信号不得不在云端解密以便自适应控制器进行处理,这就存在了隐私泄露的风险。下面几种场景更可以体现云计算中的安全隐私问题:下面几种场景更可以体现云计算中的安全隐私问题: E-HealthE-Health是一个典型的涉及到了隐私敏感信息的场景。E-Health,为保健机构提供了极大的便利,特别是在保健机构不具备存储大量数据以及进行大规模数据
21、分析处理能力的情况下。在这种情况下,保健机构将病患信息存储到云端的服务器,由云端服务器进行处理。同时,这个有利于收集更多保健机构的病患信息,构建一个较为全面丰富的数据库,一些实验室、分析中心可以通过请求访问服务器的数据,对数据进行分析处理,有利于研究工作的开展。但如果云不是保健机构的私有云的话,就会存在病患信息是否会被非法窃取非法利用等问题。 Biometric verification生物认证也是一个需要考虑安全隐私问题的场景。生物信息包括了人脸、指纹、声音等个人隐私信息,它们是在生物认证中,对人物进行区分的重要凭证。在一个生物认证系统中,一些生物信息存储在云端的数据库中,通过在云端进行匹配
22、,以确认用户是否能够通过系统认证。外源生物认证,即数据库及认证模块在云端,有着多种好处,例如节约存储处理成本等。但是,当云是一个共有不可信任的云的时候,我们就要考虑上传到云端的个人生物信息,以及存储在云端的数据库的安全问题。一个最好的场景就是,我们上传的个人信息是加密的,云端的数据库也是加密的,但是我们同时还能够对其进行匹配操作。 一种可能的安全云计算框架在最上层,是个人用户以及在云端的加密数据库、安全的应用系统。中间层,是用户信息的加密模块,以及云端的数据库加密存储模块,基于加密域信号处理的安全处理器,最底层是云设备。 Paillier加密系统加密系统 一般来说,将加密域信号处理与云计算结合
23、起来,实现安全云计算,还需要解决一下几个问题: 一是如何在处理器实现加密处理的问题,即将明文域的信号处理算法,在密文域实现; 二是解决密文信号的膨胀问题,即如何尽可能的在不影响安全性的情况下,减少密文膨胀,减少存储信息所需要的空间; 三是加密域信号处理的效率问题。 (1)在用户端对原始图像进行加密,然后传输到云端。 (2)云端的处理器对加密的图像进行小波变换,将处理结果返回用户端。 (3)用户端对处理结果解密,以验证安全小波变换是否正确。例子:在云端实现安全小波变换例子:在云端实现安全小波变换 加密域小波变换的实现加密域小波变换的实现public void KeyGeneration(int bitLengthVal, int certainty bitLength = bitLengthVal;p = new BigInteger(bitLength / 2, certainty, new Random();q = new BigInteger(bitLength / 2, certainty, new Random();n = p.multiply(q);nsquare = n.multip
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 店铺礼仪培训
- 原发性巨球蛋白血症肾损害的临床护理
- 关于双减政策的心得体会模版
- 1《小蝌蚪找妈妈》课件
- 新质生产力农业例子
- 医学文献翻译核心要点解析
- 翡翠知识培训
- 玉林消防考试题及答案大全
- 幼儿教师资格证考试试题及答案
- 马克思主义哲学心得体会模版
- 2024年新疆泽普县事业单位公开招聘村务工作者笔试题带答案
- 《网络素养教育》课件
- 2025年大数据分析师职业技能测试卷:数据采集与处理流程试题解析
- 2025年计算机科学与技术专业考试题及答案
- 2025年全国特种设备安全管理人员A证考试练习题库(300题)含答案
- 浙江省9 1高中联盟2024-2025学年高一下学期4月期中英语试卷(含解析含听力原文无音频)
- 人工智能在航空服务中的应用-全面剖析
- 脑区网络在记忆形成中的作用机制研究-全面剖析
- 2023年高考生物试卷(福建)(答案卷)
- 小饭桌转让合同协议
- 中广核测试题及答案
评论
0/150
提交评论