分布式计算、云计算与大数据 第2版 习题答案 林伟伟_第1页
分布式计算、云计算与大数据 第2版 习题答案 林伟伟_第2页
分布式计算、云计算与大数据 第2版 习题答案 林伟伟_第3页
分布式计算、云计算与大数据 第2版 习题答案 林伟伟_第4页
分布式计算、云计算与大数据 第2版 习题答案 林伟伟_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

《分布式计算、云计算与大数据》第2版-习题解答参考第1章分布式计算概述一、 选择题1,AB 2,D 3,B 4,D二、 简答题1. 1.1.12. 1.2.1节3. 1.2节第2章分布式计算编程基础一、 填空题socketsocket无连接方式,面向连接方式基本分布似乎应用,客户回调应用,桩下载应用服务器端,客户端迭代服务器,并发服务器,有状态服务器,无状态服务器二、 简答题无连接方式将以任意顺序到达,而有连接方式则以发送顺序按序到达setToTimeout0则表示永无超时,3. /**thisexampleillustratesthebasicmethodforreceivingadatagrampacket*/try{DatagramSocketmySocket=newDatagramSocket(port);System.out.println("Waitingforreceivingthedata!");//instantiatesadatagramsocketforreceivingthedatabyte[]buffer=newbyte[100];DatagramPacketdatagram=newDatagramPacket(buffer,MAX_LEN);mySocket.setSoTimeout(5000);}catch(SocketTimeoutExceptione){System.out.println(“serverresponsetimeout”);e.printStackTrace();}略2.3.2RMIHelloHelloImpl.java中实现方法修改为,返回两个输入参数的和。略第3章WEB原理与应用开发一、选择题1.B2.D3.D4.D5.A6.BD7.B8.D 解析:<%@includefile="relativeURL"%>jsp的指令元素9.C 10.B11.A 12.C 13.C 14.A 14.B 15.C 16.C 17.D18.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二、填空题2.8080 3.servlet 4.<jsp:include> 5.GB2312 6.<%--这是注释的内容--%> 7.request 8.setContentType(Strings)9.response\addCookie(c)10.静态页面\动态页面11.http://localhost:808012.web.xml 13.<%@page%>/<%@includefile=””%>/<%@taglibprefix=””uri=””%>14.session 15.gbk 16.一对多/多对一三、名词解释及解答静态网页是实际存在的,无需经过服务器的编译,直接加载到客户浏览器上显示出来。服务器的信息交互,由后台数据库提供实时数据更新和数据查询服务。数据和资源共享这两种方式结合在一起即成为今天广泛使用的网络数据库(WEB数据库(远程)数据库为基础,加上一定的前台(本地计算机)程序,通过浏览器完成数据存储、查询等操作的系统。前者是指令元素、后者是行为元素。jsp:includeinclude指令之间的根本性的不同在于它们被调用的时间。jsp:includeinclude指令在页面转换期间被激活。request对象是从客户端向服务器发出请求,包括用户提交的信息以及客户端的一些信息。HTMLrequest对象的相关方法来获取这些数据。request的各种方法主要用来处理客户端浏览器提交的请求中的各项参数和选项。JSPresponseServletHttpServletResponse型态对象,HttpServletResponse对象是有关于对客户端请求之响应,它可以来设定一些要响应的讯息,例如标题信息、响应状态码等.7.①跨平台JSPJavaJavaAPI,所以它也是跨平台的,可以应WindowsLinuxMacSolarisJSPJava语言的"一次编写,到处运行"的特点。②业务代码分离采用JSP技术开发的项目,通常使用HTML语言来设计和格式化静态页面的内容,而使用JSP标签和Java代码片段来实现动态部分。③ 组件重用JSPJavaBeanJavaBean类封装业务处理代码或JSPJavaBean。JavaBean也可以应用到其他Java应用程序中,包括桌面应用程序。④ JavaServlet功能ServletJSPJavaServlet类中编写所JavaHTML代码,然后通过输出流把结果页面返回给浏览器。⑤ 预编译JSPJSP页面代码进行编译,CPU资源,还大大提升了客户端的访问速度。8.JavaJSP服务器;JDKJavaDevelopmentKitJava运行所必须的JSPTomcat/Weblogic/websphere/JBOSS等等。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。B/S(Browser/Server,浏览器/服务器模式它将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器(Browser,如NetscapeNavigatorInternetOracleSybaseInformixSQLServer等数据库。11.动态网页语言有JSP、ASP和PHP等等。ServerPages)SunMicrosystemsActiveServerPageASP是微软公司开发的代替CGIHypertextPreprocessorPHPHTML内嵌式HTMLC语言,被广泛地运用。JavaScriptHTMLSession服务器的方法。Session允许通过将对象存储在Web服务器的内存中在整个用户会话过程中保持任何对象。CookieCookiessession跟踪而储存在用户本地终端上的数据(通常经过加密。15.站点时,首先向服务器发送一个连接请求,请求内容包GETPOST方法。servlet有良好的生存期的定义,包括加载和实例化、初始化、处理请求以及服务结束。javax.servlet.Servletinit,servicedestroyServlet被服务器initservice方法,service方法自动派遣运doXXXdestroy方法。第4章云计算原理与技术1.参见4.1.2节IaaSPaaSSaaS)和四个部署模型(私有云、公有云、社区云、混合云。3.解答要点:ACID是数据库事务处理的四个主要特性,确保事务的可靠性和一致性。原子性(Atomicity个点。一致性(Consisncy:事务必须使数据库从一个一致的状态转换到另一个一致的状(IsolatioDurabliyBASEACIDvailble分布式系统在出现故障时,保证核心功能可用,但可能会损失部分可用性。软状态(Softstae:系统状态不需要严格一致,可以容忍临时的状态不一致。最终一致性(Evntuallyconistnt(Consitenc新的数据。可用性(vailabiity:系统在任何时候都能够响应用户的请求,即使某些节点Partitiontolerance总之,CAP理论指出,在任何分布式系统中,不可能同时满足一致性、可用性和分区容忍(witterBASEACID模型。4.参见4.2.2节5.参见4.3.1节6.参见4.3.2节7.参见4.4.1节8.略9.解答要点:集中式资源调度框架的优缺点优点:适合批处理任务和吞吐量大、运行时间较长的任务。缺点:调度算法只能全部内置在核心调度器当中,灵活性和策略的可扩展性不高。由于所有的资源和任务请求都要有中央调度器处理,集中式调度器的可扩展性较差,容易成为分布式系统吞吐量的瓶颈。双层式资源调度框架的优缺点优点:缺点:中央调度器也存在单点故障的可能性,容错性一般。共享式资源调度框架的特点API完成工作有效降低了外部服务编写的复杂度。10.解答要点:yarn的工作机制如下:1)2)(。启动中的应用主进程向资源管理器注册,启动成功后会向资源管理器发送心跳来保持活力和更新需求记录;3)应用主进程将任务划分为若干任务,并向资源管理器发送请求以申请相应数目的容器;4)5)RPC协议与对相应的应用主进程汇报自身任务的进度和状态等信息;6)应用运行期间,客户端与应用主进程通信获取应用的状态、进度更新等信息;7)应用运行结束后,应用主进程向资源管理器注销,并且允许相应的容器被收回。11.解答要点:Master主节点:APIServerETCD中。2)ControllerManagerNode节点,处理节点故障等等。(将容器调度到Node上运行。4)ETCD:一个分布式数据存储组件,负责存储集群的配置信息。Node从节点:1)kubelet:kubeletContainerRuntimeAPIServer交互,管理节点上的容器。kube-proxy:应用组件间的访问代理,解决节点上应用的访问问题。ContainerRuntimeDocker,最主要的功能是下载镜像和运行容器。13.解答要点:华为公有云架构主要包含六大部分:1)云基础设施:基于FusionSphere将物理资源抽象形成虚拟资源池,采用FusionSphereOpenStackAPI向上层提供服APISLA等管理。2)云平台:在资源虚拟化的基础上,调用云基础设施API申请资源池中的资源以提供PaaS类型服务,并通过云平台API接入云运营支撑系统,实现服务运营管理。3)云服务:主要提供SaaS类型服务,通过云服务API接入云运营支撑系统,实现服务运营管理。4)云运营Portal:即门户页面,将用户控制台以及运营控制台聚合而成的信息集中平台,便于用户及管理员运维。5)云运营支撑系统:主要提供产品管理、权限管理、用户管理、计费管理、结算管理等功能。6)云运维管理系统:通过OM框架实时监控全局资源及服务,并进行故障告警,同时还提供了配置管理、安全管理、调度管理等运维功能。FusionSphere架构。FusionSphere主要包括以下组件:1)FusionCompute:FusionSphere的基础软件,将底层的硬件资源抽象形成逻辑资源,并通过统一的接口进行集中调度、分配、管理,进而提供计算、存储、网络等服务。2)FusionStorage:软件定义存储的分布式存储软件,基于分布式技术将服务器的本地磁盘组织形成虚拟存储资源池,并通过软件模拟接口向上层提供块存储服务。3)FusionNetwork:独立于网络硬件,可实现软件定义网络的软件,提供建立高级网络、配置管理网络、以及安全隔离物理网络与虚拟网络等功能。OpenStackOpenStack进行优化后的云操作系统,主要用于资源简述华为云擎天软硬协同系统架构。擎天软硬协同系统主要由三部分组成:统一智能加速框架:提供存储、网络、安全等多种类的卸载加速:存储加速面:软硬结合实现存储算法的芯片加速、多粒度存储模式的快速切换、免PFC的拥塞控制策略以及块存储芯片加速等。网络加速面:软硬结合实现网络直通设备热迁移、流量转发核安全策略等卸载加速以及QoS高精度带宽保证,并支持多种网络协议加速以及稳定的浅队列拥塞控制。HypervisorHypervisor116简述擎天虚拟化在隔离、保护和性能方面较传统虚拟化的优势。CPU虚第5章云计算编程实践cloudsim如何实现用户自定义的虚拟机调度算法?cloudsim类或方法来实现用户自定义的虚拟机调度算法(虚拟机到物理主机的映射,一般需要用户重新实现acerBrbindCloudletsToVms()方法。cloudsim环境,创建数据中心和代理,在创建数据中心函数中,pecloudsim如何实现用户自定义的任务调度算法?答:对于用户自定义的虚拟机调度策略,一般是需要用户重新实现VmScheduler类和VmAllocationPolicy类。另外VmScheduler调度类一般不用改,因为他们是用来决定虚拟机的调度策略是时间还是空间共享的。3.NpublicclassMySimExample{privatestaticfinalintNUM_CLOUDLET100;//云任务的总数publicclassMySimExample{privatestaticfinalintNUM_CLOUDLET100;//云任务的总数publicstaticvoidmain(String[]args){Log.printLine("StartingMySimExample...");try{intnum_user=1;Calendarcalendar=Calendar.getInstance();booleantrace_flag=false;CloudSim.init(num_user,calendar,trace_flag);//创建数据中心Datacenterdatacenter0=createDatacenter("Datacenter_0");DatacenterBrokerbroker=createBroker();intbrokerId=broker.getId();//创建并提交虚拟机List<Vm>vmlist=newArrayList<Vm>();intnumVm=8;vmlist.addAll(createVm(brokerId,numVm));broker.submitVmList(vmlist);//创建并提交任务List<Cloudlet>cloudletList=newArrayList<Cloudlet>();cloudletList.addAll(createCloudlet(brokerId,NUM_CLOUDLET));broker.submitCloudletList(cloudletList);//启动仿真CloudSim.startSimulation();List<Cloudlet>newList=broker.getCloudletReceivedList();CloudSim.stopSimulation();printCloudletList(newList);Log.printLine("MySimExamplefinished!");}catch(Exceptione){e.printStackTrace();Log.printLine("Thesimulationhasbeenterminatedduetoanunexpectederror");}}privatestaticDatacentercreateDatacenter(Stringname){//创建数据中心List<Host>hostList=newArrayList<Host>();List<Pe>peList=newArrayList<Pe>();//添加四个核芯intmips=1000;intpesNumber4;for(inti=0;i<pesNumber;i++){peList1.add(newPe(i,newPeProvisionerSimple(mips)));peList2.add(newPe(i,newPeProvisionerSimple(mips)));}inthostId=0;intram=4096;longstorage=1000000;intbw=10000;//添加两台主机hostList.add(newHost(hostId,newRamProvisionerSimple(ram),newBwProvisionerSimple(bw),storage,peList1,newVmSchedulerSpaceShared(peList1)));hostId++;hostList.add(newHost(hostId,newRamProvisionerSimple(ram),newBwProvisionerSimple(bw),storage,peList2,newVmSchedulerSpaceShared(peList2)));Stringarch="x86";Stringos="Linux";Stringvmm="Xen";doubletime_zone=10.0;doublecost=3.0;doublecostPerMem=0.05;doublecostPerStorage=0.001;doublecostPerBw=0.0;LinkedList<Storage>storageList=newLinkedList<Storage>();DatacenterCharacteristicscharacteristics=newDatacenterCharacteristics(arch,os,vmm,hostList,time_zone,cost,costPerMem,costPerStorage,costPerBw);Datacenterdatacenter=null;try{datacenter=newDatacenter(name,characteristics,newVmAllocationPolicySimple(hostList),storageList,0);}catch(Exceptione){e.printStackTrace();}returndatacenter;}privatestaticList<Vm>createVm(intbrokerId,intnumVm){//创建虚拟机List<Vm>vmlist=newArrayList<Vm>();intvmid=0;intmips=1000;longsize=10000;intram=512;longbw=1000;intpesNumber=1;Stringvmm="Xen";for(inti=0;i<numVm;i++){Vmvm=newVm(vmid+i,brokerId,mips,pesNumber,ram,bw,size,vmm,newCloudletSchedulerTimeShared());vmlist.add(vm);}returnvmlist;}//创建云任务privatestaticList<Cloudlet>createCloudlet(intbrokerId,intnumCloudlet){List<Cloudlet>cloudletList=newArrayList<Cloudlet>();doublelambda0.1; //指数分布的参数intid=0;intpesNumber=1;longlength;longfileSize=300;longoutputSize=300;UtilizationModelutilizationModel=newUtilizationModelFull();Cloudletcloudlet=null;for(inti=0;i<numCloudlet;i++){length=(long)(2500*randomInt(1,101));//250000的1%-100%cloudlet=newCloudlet(id+i,length,pesNumber,fileSize,outputSize,utilizationModel,utilizationModel,utilizationModel);cloudlet.setUserId(brokerId);cloudletList.add(cloudlet);}returncloudletList;}privatestaticDatacenterBrokercreateBroker(){DatacenterBrokerbroker=null;try{broker=newDatacenterBroker("Broker");}catch(Exceptione){e.printStackTrace();returnnull;}returnbroker;}max

privatestaticintrandomInt(intminintmax//random[min,max)可取min,不可取Randomrandom=newRandom();returnrandom.nextInt(max)%(max-min+1)+min;}privatestaticvoidprintCloudletList(List<Cloudlet>list){intsize=list.size();Cloudletcloudlet;Stringindent=" ";Log.printLine("==========OUTPUT==========");Log.printLine("CloudletID"+indent+"STATUS"+indent+"DatacenterID"+indent+"VMID"+indent+"Length"+indent+"Time"+indent+"StartTime"+indent+"FinishTime");DecimalFormatdft=newDecimalFormat("###.##");for(inti=0;i<size;i++){cloudlet=list.get(i);Log.print(indent+cloudlet.getCloudletId()+indent+indent);if(cloudlet.getCloudletStatus()==Cloudlet.SUCCESS){Log.print("SUCCESS");Log.printLine(indent+indent+cloudlet.getResourceId()+indent+indent+indent+cloudlet.getVmId()+indent+indent+cloudlet.getCloudletLength()+indent+indent+dft.format(cloudlet.getActualCPUTime())+indent+indent+dft.format(cloudlet.getExecStartTime())+indent+indent+dft.format(cloudlet.getFinishTime()));}}}}StartingMySimExample...Initialising...StartingCloudSimversion3.0Datacenter_0isstarting...Brokerisstarting...Entitiesstarted.0.0:Broker:CloudResourceListreceivedwith1resource(s)0.0:Broker:TryingtoCreateVM#0inDatacenter_0:Broker:TryingtoCreateVM#1inDatacenter_00.0:Broker:TryingtoCreateVM#2inDatacenter_00.0:Broker:TryingtoCreateVM#3inDatacenter_00.0:Broker:TryingtoCreateVM#4inDatacenter_00.0:Broker:TryingtoCreateVM#5inDatacenter_00.0:Broker:TryingtoCreateVM#6inDatacenter_00.0:Broker:TryingtoCreateVM#7inDatacenter_0:Broker:VM#0hasbeencreatedinDatacenter#2,Host#00.1:Broker:VM#1hasbeencreatedinDatacenter#2,Host#10.1:Broker:VM#2hasbeencreatedinDatacenter#2,Host#00.1:Broker:VM#3hasbeencreatedinDatacenter#2,Host#10.1:Broker:VM#4hasbeencreatedinDatacenter#2,Host#00.1:Broker:VM#5hasbeencreatedinDatacenter#2,Host#10.1:Broker:VM#6hasbeencreatedinDatacenter#2,Host#00.1:Broker:VM#7hasbeencreatedinDatacenter#2,Host#10.1:Broker:Sendingcloudlet0toVM#00.1:Broker:Sendingcloudlet1toVM#10.1:Broker:Sendingcloudlet2toVM#20.1:Broker:Sendingcloudlet3toVM#30.1:Broker:Sendingcloudlet4toVM#40.1:Broker:Sendingcloudlet5toVM#50.1:Broker:Sendingcloudlet6toVM#60.1:Broker:Sendingcloudlet7toVM#70.1:Broker:Sendingcloudlet8toVM#00.1:Broker:Sendingcloudlet9toVM#10.21000000000000002:Broker:Cloudlet0received0.21000000000000002:Broker:Cloudlet8received0.21000000000000002:Broker:Cloudlet3received0.21000000000000002:Broker:Cloudlet7received0.85:Broker:Cloudlet9received3.8480000000000003:Broker:Cloudlet4received11.362:Broker:Cloudlet6received15.302:Broker:Cloudlet2received30.714:Broker:Cloudlet5received83.692:Broker:Cloudlet1received略略参考解答:OpenStack由控制节点、计算节点、存储节点和网络节点组成。参考解答:NovaScheduler主要负责将新创建的虚拟机调度到合适的计算节点上。参考解答:NovaScheduler调度过程分为两步:1)过滤(Fiter2)计算权值(eights:对过滤集中的主机进行权值计算,选出权值最大的主机。虚拟机实例将会被调度到权值最大的主机上运行。第6章云存储技术参考答案见教材内容,略。第7章云原生技术A:请思考下有哪些技术能比较好地适应云原生的理念,成为云原生的代表技术,请列举几个。Q:容器(Docker、Kubernetes)、服务网格(Istio)、微服务(SpringCloud、Dubbo)、不可变基础设施和声明式API(RESTfulAPI)等。A:如何理解“云原生”这个概念呢?Q:从字面上理解,云原生中的“云”代表了云端,其与“本地”相对,代表应用不是采用,以及基于(言之有理即可)A:微服务架构的设计对比单体式架构有什么不同之处?Q:单体式应用表示一个应用程序内包含了所有需要的业务功能,并且使用像主从式架构(Client/Server)或是多层次架构(N-tier)实现,虽然它也是能以分布式应用程序来实现,A:微服务架构适合所有应用开发吗?Q:由于微服务架构采用模块化的设计风格,更加适合大型应用开发。相比于单体式架构,A:容器与虚拟机有什么不同?Q:GBMB为单位大小的。容器与虚拟机相比较,容器性能更好,一般能做到秒级启动。hypervisor的虚拟化技术(能完整模拟出虚拟硬件和客户机操作系统)低得多。A:Kubernetes的重要组件有哪些,请举出几个,它们各有什么作用?Q:1)Master组件Master节点是Kubernetes的控制节点,负责整个系统的调度和管理,主要包含三个组件:APIServerAPIServerKubernetesKubernetesRESTful接口给外部用户和各组RESTetcd中进行持久化存储。etcdetcdKubernetes所有集群数据的后台数据库。ControllerManagerControllerManager是集群内部管理和控制中心。如果有节点在集群运行期间意外崩溃,ControllerManager将及时发现并处理该故障。若Pod副本数未达到资源对象预期的数量,ControllerManager会及时对Pod副本数量进行相应的增减。使集群能够始终按照预期的状态进行工作。SchedulerScheduler是Kubernetes的默认调度器。Scheduler负责接收ControllerManager创建的新APIServeretcdkubelet会监听到此信息,它会负责Pod接下来的具体创建工作。2)Node组件Node组件在每个节点上运行,维护运行的Pod并提供Kubernetes运行环境。kubeletkubletPodAPIServerPod的PodPod的运行情况并将相关信息返回给APIServer。ProxyProxyPodAPIServerService的资源描述文件,并根据相关描述创建代理服务负责处理Service到Pod的路由和转发。(3)容器运行时引擎(ContainerRuntime)容器运行环境是负责运行容器的软件。Kubernetes支持多个容器运行环境:Docker、containerd、CRI-O以及任何实现KubernetesCRI(容器运行环境接口)。A:ZuulZuulfilterType设置为什么?Q:ZulfiterypepeA:当前版本有问题,需要回滚至前一个版本。执行以下命令:kubectlrollouthistorydeploymentservice-hi-deployment返回:deployments"service-hi-deployment"REVISIONCHANGE-CAUSE1 <none>2 kubectl.exeapply--filename=service-hi-deployment.yaml--record=true若想回滚至版本1,该输入的什么命令?Q:1. kubectlrolloutundodeploymentservice-hi-deployment--to-revision=1第8章云计算技术与标准1.什么是云计算安全?它与传统安全相比有什么特殊之处?云计算安全(Cloudopuingsecuriy“云安全(Cloudscurity泛的政策、技术、应用和控制,用于保护虚拟化的IP、数据、应用、服务以及云计算的相关基础设施。云计算安全的特殊之处在于:集中管理的数据安全问题。云计算依托于海量数据并且将多个用户的数据存储在一起,数据容易泄露给其它用户并且一旦发生数据泄露,造成的损失很大2.云计算常见的身份认证技术有哪些?它们用于什么场景常见的身份认证技术有:APIAPI和重放攻击等安全问题;开放授权可以用于云环境外部实现安全、不泄露敏感数据的API调用跨域身份认证:用于解决跨域环境中身份认证开销大的问题3.适用于云计算的新一代网络隔离技术需要具备的主要特性有哪些?突破防火墙的物理限制,使用软件实现防火墙的功能具备高灵活性,能够快速、动态地调整网络隔离策略,适应云计算不断变化的环境具备高扩展性,调整主机域时不需要对原有的隔离策略做出重大调整4.为什么说VPN不适合公有云等公共云环境?VPNVPNVPNVPN5.云环境中数据加密主要场景有哪些?6云计算标准具体涉及哪些方面的标准?云计算标准涉及云计算的各个方面,包括但不限于:基础设施标准:机房设备的组成架构、各个组件的采购、能耗等方面的标准网络标准:网络架构、访问控制、入侵防范等方面的标准资源标准:资源虚拟化、调度、扩展、监控、计费等方面的标准7.略第9章大数据技术与编程简述大数据的定义及其它的特征。4V特征:第一个特征Volume是数据体量巨大。最后一个特征是Value:商业价值高,但是价值密度低。单个数据的价值很低,只有大量数据聚合起来处理才能借助历史数据预测未来走势,体现出大数据计算的价值所在。MapReduce的数据处理过程及其优劣势。MapReducekey/value对。MapReduce运行环境的用户通MapReducMapkey/valuekey/value对为形式的中间结果。MapReduce运行环

温馨提示

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

评论

0/150

提交评论