当前位置:文档之家› 《分布式计算、云计算与大大数据》习题参考解答

《分布式计算、云计算与大大数据》习题参考解答

《分布式计算、云计算与大数据》习题解答参考第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操作进程A进程B发出非阻塞send操作,进程A继续运行发出阻塞receive操作,进程B被阻塞进程B在进程A发起send前发出receive操作发出非阻塞send 操作,进程A 继续运行发出阻塞receive 操作,进程B被阻塞收到进程A 发送的数据,进程B 被唤醒2. 进程A 在进程B 发送receive 前发起send 操作进程A 进程B发出阻塞send 操作,进程A 被阻塞发出阻塞receive 操作,进程B 被阻塞进程B 在进程A 发起send 前发出receive 操作发出阻塞send操作,进程A被阻塞发出阻塞receive操作,进程B被阻塞收到进程A发送的数据,进程B被唤醒收到进程B返回的数据,进程A被唤醒3.1).在提供阻塞send操作和阻塞receive操作的通信系统中receiveoperationsendoperationt=1在提供非阻塞send操作和阻塞receive操作的通信系统中t=1receiveoperationsendoperation2).P1,P2,P3进程间通信的顺序状态图m1m1m2m2第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*/try{DatagramSocket mySocket = new DatagramSocket(port);System.out.println("Waiting for receiving the data!");// instantiates a datagram socket for receiving the databyte[ ] buffer = new byte[100];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原理与应用开发一、选择题1.B 2.D 3.D 4.D 5.A 6.BD 7.B8.D 解析:<% include file="relativeURL"%>这是jsp的指令元素9.C 10.B 11.A 12.C 13.C 14.A 14.B 15.C 16.C 17.D 18.C 解析:<jsp:include>是jsp的动作元素19.C 20.A 21.D22. B 23. A 24. E 25.D 26. E 27. B 28. E 29.D 30. A31. A 32. BC 33.B 34.D二、填空题1.Tomcat2.80803.servlet4.<jsp:include>5.GB23126. <%-- 这是注释的容--%>7.request8. setContentType(String s)9. response\addCookie(c)10.静态页面\动态页面11.localhost:808012.web.xml 13. <%page %>/<%include file=””%>/<% taglib prefix=””uri=”” %>14.session 15. gbk 16.一对多/多对一三、名词解释及解答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运行所必须的环境包。

相关主题