《分布式计算、云计算与大数据》习题参考解答.doc_第1页
《分布式计算、云计算与大数据》习题参考解答.doc_第2页
《分布式计算、云计算与大数据》习题参考解答.doc_第3页
《分布式计算、云计算与大数据》习题参考解答.doc_第4页
《分布式计算、云计算与大数据》习题参考解答.doc_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

分布式计算、云计算与大数据习题解答参考第1章 分布式计算概述一、 选择题1,CD 2,ABC 3,ABCD 4,ACD二、 简答题1, 参考1.1.1和1.1.2节2, 参考1.1.2节3, 分布式计算的核心技术是进程间通信,参考1.3.2节4, 单播和组播5, 超时和多线程三、 实验题1. 进程A在进程B发送receive前发起send操作进程B在进程A发起send前发出receive操作2. 进程A在进程B发送receive前发起send操作进程B在进程A发起send前发出receive操作3. 1).在提供阻塞send操作和阻塞receive操作的通信系统中在提供非阻塞send操作和阻塞receive操作的通信系统中2)P1,P2,P3进程间通信的顺序状态图第2章 分布式计算范型概述1. 消息传递,客户-服务器,P2P,分布式对象,网络服务,移动代理等2. 分布式应用最广泛最流行的范型是客户-服务器范型,参考2.2节3. 分布式应用最基本的范型是消息传递模型,参考2.1节4. 参考2.3节,P2P应用有很多,例如Napster,迅雷,PPS网络电视等5. 参考2.4节6. 参考2.7节7. 略8. 消息传递模式是最基本的分布式计算范型,适用于大多数应用;客户-服务器范型是最流行的分布式计算范型,应用最为广泛;P2P范型又称为对等结构范型,使得网络以最有效率的方式运行,适用于各参与者地位平等的网络;分布式对象范型,是抽象化的远程调用,适用于复杂的分布式计算应用等。9. 略10. 中间件又称为代理,中间件为参与对象提供内容抽象,隐藏对象引用,起到中介作用。11. 略第3章 Socket编程与客户服务器应用开发一、 填空题1. 数据包socket,流式socket2. 无连接方式,面向连接方式3. 数据层,业务层,应用层4. 迭代服务器和并发服务器5. 有状态服务器和无状态服务器二、 简答题1. API:Application Programming Interface,应用程序编程接口,是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节Socket API:套接字应用程序编程接口,适用于进程间通信的套接字应用程序编程接口Winsock:Windows下网络编程的规范Windows Sockets是Windows下得到广泛应用的、开放的、支持多种协议的网络编程接口。2. 无连接方式将以任意顺序到达,而有连接方式则以发送顺序按序到达3. setToTimeout设置为0则表示永无超时,4. /*this example illustrates the basic method for receiving a datagram packet */tryDatagramSocket mySocket = new DatagramSocket(port); System.out.println(Waiting for receiving the data!); / instantiates a datagram socket for receiving the data byte buffer = new byte100; DatagramPacket datagram = new DatagramPacket(buffer, MAX_LEN);mySocket.setSoTimeout(5000); catch(SocketTimeoutException e) System.out.println(“server response time out”); e.printStackTrace(); 5. 略第4章 RMI范型与应用1. 消息传递范型是最基本的分布式计算范型,要求参与双方是紧耦合的,交互过程中,进程之间必须直接通信,如果进程之间的通信消息丢失(由于通信链路、系统或某个进程的失败),协作将失败;消息传递范型是面向数据的范型,适用于网络服务和简单网络应用,但是不适合包含大量混合请求和应答的复杂应用。而分布式对象范型是在消息传递模型之上提供抽象的一种范型。与面向数据范型相比,分布式对象范型是面向行为的,它用分布式对象表示网络资源,注重于从网络资源请求服务,请求进程调用分布式对象的某个方法或操作,将数据作为方法参数传递。随后该方法在远程主机上执行,并将结果作为返回值回送给请求进程。2. 这里说的本地过程调用,主要是指本地进程间通信,是运行在同一块内存区域之内的进程间的互相通信,通常由系统IPC接口(如消息队列,信号量,共享存储等)来实现,也可以通过本地套接字方式实现。而远程过程调用,则是在本地过程调用的基础上实现远程进程之间的通信,一般由网络套接字来编程实现,远程过程调用会被物理网络的通信状况有所限制,也增加了安全问题,但是不再受本地内存空间以及系统资源的限制。3. 参考5.2.3节4. 传统的远程方法调用是指只能从客户端向服务端发起调用,增加了回调机制以后,客户可以在服务端注册自己,客户端可以向服务器提供可以被调用的方法,我们形象的称之为回调,这样服务端就可以主动向客户端发起远程方法调用。5. 当服务器开放stub动态下载时,客户端不再需要预先配置stub文件,而是通过网络动态下载服务器上提供的stub文件,但是这会为服务器带来安全隐患,因此通过提供安全管理器来实现共享目录的访问权限,在实现stub下载的同时也增加了服务器的安全性。6. stub下载是指可以通过网络从服务器指定的目录动态下载stub文件,而无需预先在客户端配置stub文件。7. 代理是一种中间件,通过引入代理,解耦原来的对象关联,增强扩展性。8. 略第5章 WEB原理与应用开发一、 选择题1B2.D3.D4.D5.A6.BD7.B 8.D 解析:这是jsp的指令元素9.C 10.B 11.A12.C 13.C 14.A 14.B 15.C 16.C 17.D 18.C解析:是jsp的动作元素 19.C20.A21.D22. B 23. A24. E25.D26. E27. B28. E29. D30. A31. A32. BC 33.B 34.D二、填空题1.Tomcat2.80803.servlet4.5.GB23126. 7.request8. setContentType(String s)9. responseaddCookie(c)10.静态页面动态页面11.http:/localhost:808012.web.xml13. /14.session15. gbk16.一对多/多对一三、名词解释及解答1. 静态网页是实际存在的,无需经过服务器的编译,直接加载到客户浏览器上显示出来。2. 所谓动态网页是指网页文件里包含了程序代码,通过后台数据库与Web服务器的信息交互,由后台数据库提供实时数据更新和数据查询服务。3. 数据和资源共享这两种方式结合在一起即成为今天广泛使用的网络数据库(WEB数据库),它是以后台(远程)数据库为基础,加上一定的前台(本地计算机)程序,通过浏览器完成数据存储、查询等操作的系统。4. 前者是指令元素、后者是行为元素。jsp:include动作和include指令之间的根本性的不同在于它们被调用的时间。jsp:include动作在请求期间被激活,而include指令在页面转换期间被激活。4. request对象是从客户端向服务器发出请求,包括用户提交的信息以及客户端的一些信息。客户端可通过HTML表单或在网页地址后面提供参数的方法提交数据,然后通过request对象的相关方法来获取这些数据。request的各种方法主要用来处理客户端浏览器提交的请求中的各项参数和选项。5. JSP的response隐藏对象在转换为Servlet之后,对应于HttpServletResponse型态对象,HttpServletResponse对象是有关于对客户端请求之响应,它可以来设定一些要响应的讯息,例如标题信息、响应状态码等.7. 跨平台既然JSP是基于Java语言的,那么它就可以使用Java API,所以它也是跨平台的,可以应用在不同的系统中,如Windows、Linux、Mac和Solaris等正是因为跨平台的特性,使得采用JSP技术开发的项目可以不加修改地应用到任何不同的平台上,这也应验了Java语言的一次编写,到处运行的特点。 业务代码分离采用JSP技术开发的项目,通常使用HTML语言来设计和格式化静态页面的内容,而使用JSP标签和Java代码片段来实现动态部分。 组件重用JSP中可以使用JavaBean编写业务组件,也就是使用一个JavaBean类封装业务处理代码或者作为一个数据存储模型,在JSP页面甚至整个项目中都可以重复使用这个JavaBean。JavaBean也可以应用到其他Java应用程序中,包括桌面应用程序。 继承Java Servlet功能Servlet是JSP出现之前的主要Java Web处理技术。它接受用户请求,在Servlet类中编写所有Java和HTML代码,然后通过输出流把结果页面返回给浏览器。 预编译预编译就是在用户第一次通过浏览器访问JSP页面时,服务器将对JSP页面代码进行编译,并且仅执行一次编译。编译好的代码将被保存,在用户下一次访问时,直接执行编译好的代码。这样不仅节约了服务器的CPU资源,还大大提升了客户端的访问速度。8.需要Java运行环境和JSP服务器;JDK即Java Development Kit ,是Java运行所必须的环境包。 JSP服务器有Tomcat/Weblogic/websphere/JBOSS等等。 9. 它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。10.B/S结构(Browser/Server,浏览器/服务器模式),它将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器(Browser),如Netscape Navigator或Internet Explorer,服务器安装Oracle、Sybase、Informix或 SQL Server等数据库。11.动态网页语言有JSP、ASP和PHP等等。JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。ASP是Active Server Page的缩写,意为“动态服务器页面”。ASP是微软公司开发的代替CGI脚本程序的一种应用,它可以与数据库和其它程序进行交互,是一种简单、方便的编程工具。PHP,是英文超文本预处理语言Hypertext Preprocessor的缩写。PHP 是一种 HTML 内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,被广泛地运用。12.JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。13.Session 是 用于保持状态的基于 Web服务器的方法。Session 允许通过将对象存储在 Web服务器的内存中在整个用户会话过程中保持任何对象。14.Cookie,有时也用其复数形式Cookies,指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加密)。15.当用户通过浏览器访问一个Web站点时,首先向服务器发送一个连接请求,请求内容包括服务器的地址和请求页面的路径。服务器根据用户请求的路径以及页面路径组合起来查找到相应的页面,然后返回客户端。客户端在向服务器端提交数据时有多种数据提交机制,最常用的是GET方法和POST方法。16. servlet有良好的生存期的定义,包括加载和实例化、初始化、处理请求以及服务结束。这个生存期由javax.servlet.Servlet接口的init,service和destroy方法表达。 Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣 运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法。第6章 P2P原理与实践1、 P2P的基本概念是什么?答:P2P,即Peer-to-Peer的缩写,在英语中“Peer”表示“对等者”和“伙伴”的意思,因此我们常称它为“点对点”或者“端对端”,而学术界常称它为“对等计算”。P2P是一种以非集中化方式使用分布式资源来完成一些关键任务的系统和应用。2、 P2P技术有哪些特点?答:非中心化、可扩展性高、健壮性强、高性价比、负载均衡等。3、 说明P2P网络有哪几种拓扑结构,并举出它们的典型应用系统。答:中心化拓扑,应用:Napster;全分布式非结构化拓扑,应用:Gnutella;全分布式结构化拓扑,应用:Chord;半分布式拓扑,应用:KaZaA。4、 尝试开发一个基于P2P模式的简单的文件传输系统。暂未完成5、 对于P2P的未来,你有哪些感想?略第7章 Web Services1.什么是Web Services?答:Web Services是基于网络、自包含、分布式的模块化组件;它执行特定的任务,遵守具体的技术规范,这些技术规范使得Web Services能与其他兼容组件进行互操作;一般由企业发布能完成特定业务需求的在线服务,而其他企业或应用软件可以通过Internet寻求到自己所需的服务,并调用此服务,以完成特定的需求。2Web Services有哪些特点?答:Web Services具有良好的封装性、松耦合性、高度可集成性和易于构建的特点3.在哪些应用场合中适合使用Web Services方案?答:Web Services的适用场合有:跨防火墙的通信、应用程序集成、B2B的集成和软件及数据的重用。4.简述Web Services的体系架构和工作原理。答:Web Services的体系架构可以参见本章图8.1。在典型情况下,Web服务由服务提供者、服务使用者和注册中心三者构成。服务提供者托管可通过网络访问特定的软件模块,定义Web Services的服务描述并将服务发布到服务注册中心统一目录中;服务请求者使用查找操作从注册中心中检索特定的服务,然后使用服务描述与服务提供者进行绑定并调用相应的服务,以进行交互。5.XML有哪些特点?答:可扩展性、自描述性、简洁性、数据的描述与显示相分离、易于数据的交换和共享、易于充分利用数据、可用于创造新的语言。6.XML与Web Services是有怎样的关系?答:在Web Services中SOAP、WSDL、UDDI等技术都是基于XML建立起来的,它是Web Services的基石。正是因为XML具有跨平台、跨语言等特性,才使得Web Services也具备这些特性,成为应用集成的好帮手。7.试着使用XML语言描述一个生活中你熟悉的事物,并画出该文档的树形图,同时写出相应的XML Schema文档。解析:这里我们来描述下某家鞋店的鞋子信息,一双鞋的信息可以包括品名、价格、尺码、类别、颜色、材质和产地等。鞋子列表信息如下:adidas356.542TrainingBlueLeatherIndiaNike34245BasketballWhiteLeatherChina其文档树形图如下:相应的XML Schema文档如下:8.什么是SOAP,它由哪几个部分组成?答:简单对象访问协议(SOAP)是一种基于XML的、轻量级的、跨平台的分布式系统间信息交换协议。SOAP主要由四个部分组成,SOAP Envelope用于定义一个描述消息中的内容、发送者、接收者、处理者及如何处理的整体表示框架;SOAP编码规则定义了一套编码机制用于交换应用程序定义的数据类型的实例;SOAP RPC表示远程过程调用和应答的协定;SOAP绑定定义了一种使用底层传输协议来完成在节点间交换SOAP消息的约定。9.尝试用SOAP XML Schema编写一个列车时刻信息的服务。该SOAP服务接收三个参数:日期、始发地和终点,返回满足参数条件的所有列车信息(如:列车编号、始发地、终点、始发时间、到达时间、票价和余票等)。解析:SOAP请求消息如下:上海虹桥武昌2013/07/18SOAP响应消息如下: D3052 上海虹桥 2013-07-18 10:54 武昌 2013-07-18 16:50 254.0 52 10、SOAP Web Services有哪几种应用模型?答:请求/响应模式、fire-and-forget模式、高级消息模式、增量解析和处理模式、缓存模式。11、简述WSDL和UDDI。答:WSDL(Web Services Description Language,Web服务描述语言)是一种基于XML的、专门用于描述Web Services的语言。通过WSDL可以对服务的功能信息、功能参数的消息类型、协议绑定信息和特定服务的地址信息进行描述。UDDI(Universal Description、Discovery and Integeration,统一描述、发现和集成)是一套基于Web的分布式的Web Services信息注册中心的实现标准规范,也包含一组访问协议的实现标准,使得企业能将自身的Web Services注册上去,并让其他企业能够发现并使用这些服务,使服务更容易被获取。为了实现Web服务跨平台、跨语言和松耦合的特性,UDDI也是以XML为基础的。UDDI提供了一个全球的、跨平台、开发的框架,企业可以更具需要发布服务产品或业务流程到注册中心中,以便更多的结识更多、更好的合作伙伴,从而拓展企业的业务范围。12、试着使用MyEclipse实现第9题中列车时刻信息查询服务,要求使用JAX-WS开发SOAP型Web Services。注意,从客户端传入始发地、终点和始发时间三个参数,服务返回满足要求的所有列车时刻信息。解析:(1)创建实体类Train,含有属性trainNum(列车编号)、startPlace(始发地)、startTime(始发时间)、destination(终点)、reachTime(到达时间)、price(票价)、remainder(余票)。Train.java的代码如下:public class Train private String trainNum;/列车 编号private String startPlace;/始发地private String startTime;/始发时间private String destination;/终点private String reachTime;/到达时间private float price;/票价private int remainder;/余票public Train()trainNum=;startPlace=;startTime=;destination=;reachTime=;price=0;remainder=0;public Train(String trainNum, String startPlace, String startTime,String destination, String reachTime, float price, int remainder) super();this.trainNum = trainNum;this.startPlace = startPlace;this.startTime = startTime;this.destination = destination;this.reachTime = reachTime;this.price = price;this.remainder = remainder;public String getTrainNum() return trainNum;public void setTrainNum(String trainNum) this.trainNum = trainNum;public String getStartPlace() return startPlace;public void setStartPlace(String startPlace) this.startPlace = startPlace;public String getStartTime() return startTime;public void setStartTime(String startTime) this.startTime = startTime;public String getDestination() return destination;public void setDestination(String destination) this.destination = destination;public String getReachTime() return reachTime;public void setReachTime(String reachTime) this.reachTime = reachTime;public float getPrice() return price;public void setPrice(float price) this.price = price;public int getRemainder() return remainder;public void setRemainder(int remainder) this.remainder = remainder;(2)创建服务类CheckTrainWS,为方便起见,我们用List做数据库,其中存有列车时刻信息。通过将客户端传来的三个需求参数(startPlace、destination和time)与List中的所有列车时刻信息相匹配,返回成功匹配的列车信息。CheckTrainWS.java的代码如下:WebServicepublic class CheckTrainWS private List trainList = new ArrayList();/列车时刻表/初始化列车时刻表public CheckTrainWS()Train t = new Train(D3052,上海虹桥,2013/07/18 10:54,武昌,2013/07/18 16:50,254,52);trainList.add(t);Train t1 = new Train(D56,上海虹桥,2013/07/18 11:10,杭州,2013/07/18 13:50,152,30);trainList.add(t1);Train t2 = new Train(G423,北京西,2013/07/18 14:05,广州,2013/07/18 20:30,856,75);trainList.add(t2);Train t3 = new Train(G4982,上海虹桥,2013/07/18 14:05,杭州,2013/07/18 15:10,208,15);trainList.add(t3);/查询服务WebMethodpublic List checkTrain(String startPlace, String destination,String time)List resultList = new ArrayList();Train temp = new Train();for(int i=0; itrainList.size(); +i)temp = trainList.get(i);if(temp.getStartPlace().equals(startPlace)&temp.getDestination().equals(destination)&temp.getStartTime().startsWith(time)resultList.add(temp);return resultList;(3)完成服务端的建立后,可以创建客户端CheckTrainPollingClient。注意,客户端需要传入三个参数(startPlace、destination和time),且这里采用异步方式。CheckTrainPollingClient.java的代码如下:public class CheckTrainPollingClient public static void main(String args) CheckTrainWSService service = new CheckTrainWSService();CheckTrainWSDelegate port = service.getCheckTrainWSPort();/调用服务,并出入需求参数Response checkTrainAsync = port.checkTrainAsync(上海虹桥, 杭州, 2013/07/18);while(!checkTrainAsync.isDone()System.out.println(is not done);List rtnList = new ArrayList();tryCheckTrainResponse checkTrainResponse = checkTrainAsync.get();/获取列车时刻信息返回列表rtnList = checkTrainResponse.getReturn();/遍历并打印列表if(rtnList.size()!=0)System.out.println(共有+rtnList.size()+趟列车:);System.out.println(列车编号tt始发地tt始发时间ttt终点tt到站时间tt票价tt余票);for(Train i:rtnList)System.out.println(i.getTrainNum()+tt+i.getStartPlace()+tt+i.getStartTime()+t+i.getDestination()+t+i.getReachTime()+t+i.getPrice()+tt+i.getRemainder();elseSystem.out.println(Sorry,没有满足您需求的列车!);catch(Exception ex)ex.printStackTrace();(4)假如,客户端传入的参数为:上海虹桥, 杭州, 2013/07/18,则返回信息如下图所示:13、简述什么REST,它有哪些特点?答:REST(Representational State Transfer,表述性状态转移)是一种全新的对Web应用和开发方式的理念,它将Web中所有事物都抽象为资源,并使用URI唯一标识,以降低开发的复杂性、提高系统的可伸缩性。REST的特点包括:显示、充分地利用HTTP协议;所有应用程序操作都是无状态;将网络上的所有事物都抽象为资源,采用公开目录结构式的URI唯一标识这些资源;对资源的各种操作不会改变资源的标识(URI);采用通用的连接器接口对资源进行访问;使用XML或JASON传输数据格式、跨平台性好。14、简述REST的工作原理。答:REST的理念是将应用中所有的事物都抽象为资源,并用URI来标识每个资源,其中一个资源可以由多个URI来定位,但一个URI只能标识一个资源。REST将HTTP中的GET、POST、PUT和DELETE与资源常用操作读取、添加、更新和删除相对应,充分利用了HTTP协议,使开发的服务具有更低的耦合性。15、试着使用MyEclipse将第9题中的列车信息查询服务,改写为REST WebServices。解析:(1)将列车时刻查询服务改为REST型的关键是怎样把查询操作抽象为资源,并用URI表示。对普通客户而言,“查询”列车时刻信息一般只有“读取”操作,不允许修改和添加等操作。因此,我们选用HTTP GET与读取操作映射。同时,制定三种URI来定义三种查询操作,第一种为http:/loacalhost:8080/CheckTrainREST/services/trains/startPlace,表示查询从startPlace站始发的所有列车的时刻信息;第二种为http:/loacalhost:8080/CheckTrainREST/services/trains/startPlace/destination表示从startPlace始发,开往destination的所有列车的时刻信息;第三种为http:/loacalhost:8080/CheckTrainREST/services/trains/startPlace/destination/time,表示在time指定的日期中,表示从startPlace始发,开往destination的所有列车的时刻信息。(2)建立REST服务资源类TrainsResource,为简化操作,也使用List做数据库,存储列车时刻信息,返回的列车时刻信息用XML格式表示。TrainsResource.java的代码如下:Produces(application/xml)Path(trains)Singletonpublic class TrainsResource /列车信息列表private List trainList = new ArrayList();public TrainsResource() Train t = new Train(D3052,上海虹桥,2013-07-18 10:54,武昌,2013-07-18 16:50,254,52);trainList.add(t);Train t1 = new Train(D56,上海虹桥,2013-07-18 11:10,杭州,2013-07-18 13:50,152,30);trainList.add(t1);Train t2 = new Train(G423,北京西,2013-07-18 14:05,广州,2013-07-18 20:30,856,75);trainList.add(t2);Train t3 = new Train(G4982,上海虹桥,2013-07-18 14:05,杭州,2013-07-18 15:10,208,15);trainList.add(t3);Train t4 = new Train(K369,上海虹桥,2013-07-19 07:35,合肥,2013-07-19 14:30,175,28);trainList.add(t4);Train t5 = new Train(G948,广州,2013-07-20 16:40,深圳,2013-07-20 17:20,108,40);trainList.add(t5);/返回startPlace站点始发的所有列车信息GETPath(startPlace)public List getStationTrians(PathParam(startPlace) String tStartPlace) List resultList = new ArrayList();Train temp = new Train();for(int i=0; idestination航线的所有列车信息GETPath(startPlace/destination)public List getLineTrains(PathParam(startPlace) String tStartPlace,PathParam(destination) String tDestination) List resultList = new ArrayList();Train temp = new Train();for(int i=0; idestination航线在指定time日期中所有列车信息GETPath(startPlace/destination/time)public List getLineTimeTrains(PathParam(startPlace) String tStartPlace,PathParam(destination) String tDestination,PathParam(time) String tTime) List resultList = new ArrayList();Train temp = new Train();for(int i=0; itrainList.size(); +i)temp = trainList.get(i);if(temp.getStartPlace().equals(tStartPlace)&temp.getDestination().equals(tDestination)&temp.getStartTime().startsWith(tTime)resultList.add(temp);return resultList;(3)完成服务建立,并部署和发布后,可以启动Test with REST Web Services

温馨提示

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

评论

0/150

提交评论