《分布式计算、云计算与大数据》习题解答参考12第1章分布式计算概述34一、选择题1,CD 2,ABC 3,ABCD 4,ACD56二、简答题71,参考1.1.1和1.1.2节82,参考1.1.2节93,分布式计算的核心技术是进程间通信,参考1.3.2节104,单播和组播115,超时和多线程12三、实验题1.进程A在进程B发送receive前发起send操作1314发出非阻塞send操作,进程A继续运行发出阻塞receive操作,进程B被阻塞15进程B在进程A发起send前发出receive操作16进程A进程B发出非阻塞send操作,进程A继续运行发出阻塞receive操作,进程B被阻塞收到进程A发送的数据,进程B被唤醒172.进程A在进程B发送receive前发起send操作18发出阻塞send操作,进程A被阻塞发出阻塞receive操作,进程B被阻塞19进程B在进程A发起send前发出receive操作20进程A进程B发出阻塞send操作,进程A被阻塞发出阻塞receive操作,进程B被阻塞收到进程A发送的数据,进程B被唤醒收到进程B返回的数据,进程A被唤醒213.1).在提供阻塞send操作和阻塞receive操作的通信系统中22t=1receiveoperationsendoperation2324在提供非阻塞send操作和阻塞receive操作的通信系统中t=1receiveoperationsendoperation252).P1,P2,P3进程间通信的顺序状态图26m1m1m2m2272829第2章分布式计算范型概述301.消息传递,客户-服务器,P2P,分布式对象,网络服务,移动代理31等322.分布式应用最广泛最流行的范型是客户-服务器范型,参考2.2节333.分布式应用最基本的范型是消息传递模型,参考2.1节344.参考2.3节,P2P应用有很多,例如Napster,迅雷,PPS网络电视35等365.参考2.4节376.参考2.7节387.略398.消息传递模式是最基本的分布式计算范型,适用于大多数应用;客40户-服务器范型是最流行的分布式计算范型,应用最为广泛;P2P范型又称41为对等结构范型,使得网络以最有效率的方式运行,适用于各参与者地位平42等的网络;分布式对象范型,是抽象化的远程调用,适用于复杂的分布式计43算应用等。
449.略4510.中间件又称为代理,中间件为参与对象提供内容抽象,隐藏对象46引用,起到中介作用。
4711.略4849第3章 Socket编程与客户服务器应用开发50一、填空题511.数据包socket,流式socket522.无连接方式,面向连接方式533.数据层,业务层,应用层4.迭代服务器和并发服务器54555.有状态服务器和无状态服务器56二、简答题1.API:Application Programming Interface,应用程序编程接口,5758是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或59硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机60制的细节61Socket API:套接字应用程序编程接口,适用于进程间通信的套接62字应用程序编程接口Winsock:Windows下网络编程的规范-Windows Sockets是Windows6364下得到广泛应用的、开放的、支持多种协议的网络编程接口。
652.无连接方式将以任意顺序到达,而有连接方式则以发送顺序按序到达66673.setToTimeout设置为0则表示永无超时,684./*69*this example illustrates the basic method for receiving a70datagram packet71*/72try{73DatagramSocket mySocket = new DatagramSocket(port);74System.out.println("Waiting for receiving the75data!");76// instantiates a datagram socket for receiving the data77byte[ ] buffer = new byte[100];78DatagramPacket datagram = new DatagramPacket(buffer,79MAX_LEN);80mySocket.setSoTimeout(5000);}catch(SocketTimeoutException e){8182System.out.println(“server response time out”);83e.printStackTrace();84}855.略868788第4章 RMI范型与应用891.消息传递范型是最基本的分布式计算范型,要求参与双方是紧耦合90的,交互过程中,进程之间必须直接通信,如果进程之间的通信消息丢失(由91于通信链路、系统或某个进程的失败),协作将失败;消息传递范型是面向数据的范型,适用于网络服务和简单网络应用,但是不适合包含大量混合请9293求和应答的复杂应用。
94而分布式对象范型是在消息传递模型之上提供抽象的一种范型。
与面95向数据范型相比,分布式对象范型是面向行为的,它用分布式对象表示网96络资源,注重于从网络资源请求服务,请求进程调用分布式对象的某个方97法或操作,将数据作为方法参数传递。
随后该方法在远程主机上执行,并将结果作为返回值回送给请求进程。
98992.这里说的本地过程调用,主要是指本地进程间通信,是运行在同一100块内存区域之内的进程间的互相通信,通常由系统IPC接口(如消息队列,信号量,共享存储等)来实现,也可以通过本地套接字方式实现。
而远程过101102程调用,则是在本地过程调用的基础上实现远程进程之间的通信,一般由网103络套接字来编程实现,远程过程调用会被物理网络的通信状况有所限制,也增加了安全问题,但是不再受本地内存空间以及系统资源的限制。
1041053.参考5.2.3节1064.传统的远程方法调用是指只能从客户端向服务端发起调用,增加了107回调机制以后,客户可以在服务端注册自己,客户端可以向服务器提供可以108被调用的方法,我们形象的称之为回调,这样服务端就可以主动向客户端发109起远程方法调用。
1105.当服务器开放stub动态下载时,客户端不再需要预先配置stub文111件,而是通过网络动态下载服务器上提供的stub文件,但是这会为服务器112带来安全隐患,因此通过提供安全管理器来实现共享目录的访问权限,在实113现stub下载的同时也增加了服务器的安全性。
6.stub下载是指可以通过网络从服务器指定的目录动态下载stub文114115件,而无需预先在客户端配置stub文件。
1167.代理是一种中间件,通过引入代理,解耦原来的对象关联,增强扩117展性。
1188.略119第5章 WEB原理与应用开发120121一、选择题1221.B 2.D 3.D 4.D 5.A 6.BD 7.B8.D 解析:<%@ include file="relativeURL"%>这是jsp的指令元123124素1259.C 10.B 11.A 12.C 13.C 14.A 14.B 15.C16.C 17.D12612718.C 解析:<jsp:include>是jsp的动作元素 19.C 20.A21.D12812922. B 23. A 24. E 25.D 26. E 27. B 28. E 13029. D 30. A31. A 32. BC 33.B 34.D131132二、填空题1331.Tomcat2.80803.servlet4.<jsp:include>1345.GB23126. <%-- 这是注释的内容 --%>7.request8.135setContentType(String s)1369. response\addCookie(c)10.静态页面\动态页面13711.http://localhost:808013812.web.xml 13. <%@page %>/<%@include file=””%>/<% @ taglib 139prefix=””uri=”” %>14014.session 15. gbk 16.一对多/多对一141三、名词解释及解答1421. 静态网页是实际存在的,无需经过服务器的编译,直接加载到客户浏览143器上显示出来。
1441452. 所谓动态网页是指网页文件里包含了程序代码,通过后台数据库与Web 146服务器的信息交互,由后台数据库提供实时数据更新和数据查询服务。
1471483. 数据和资源共享这两种方式结合在一起即成为今天广泛使用的网络数据库(WEB数据库),它是以后台(远程)数据库为基础,加上一定的前台(本149150地计算机)程序,通过浏览器完成数据存储、查询等操作的系统。
1514. 前者是指令元素、后者是行为元素。
jsp:include动作和include指令152153之间的根本性的不同在于它们被调用的时间。
jsp:include动作在请求期间被激154活,而include指令在页面转换期间被激活。
1551564.request对象是从客户端向服务器发出请求,包括用户提交的信息以及客157户端的一些信息。
客户端可通过HTML表单或在网页地址后面提供参数的方法提158交数据,然后通过request对象的相关方法来获取这些数据。
request的各种方159法主要用来处理客户端浏览器提交的请求中的各项参数和选项。
1605.JSP的response隐藏对象在转换为Servlet之后,对应于161162HttpServletResponse型态对象,HttpServletResponse对象是有关于对客户端163请求之响应,它可以来设定一些要响应的讯息,例如标题信息、响应状态码等. 1641657. ①跨平台166既然JSP是基于Java语言的,那么它就可以使用Java API,所以它也是跨167平台的,可以应用在不同的系统中,如Windows、Linux、Mac和Solaris等正168是因为跨平台的特性,使得采用JSP技术开发的项目可以不加修改地应用到任169何不同的平台上,这也应验了Java语言的"一次编写,到处运行"的特点。
②业务代码分离170171采用JSP技术开发的项目,通常使用HTML语言来设计和格式化静态页面的内容,而使用JSP标签和Java代码片段来实现动态部分。