异步工作流的负载平衡与隔离_第1页
异步工作流的负载平衡与隔离_第2页
异步工作流的负载平衡与隔离_第3页
异步工作流的负载平衡与隔离_第4页
异步工作流的负载平衡与隔离_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

1/1异步工作流的负载平衡与隔离第一部分负载均衡算法的类型及其优化 2第二部分负载平衡的实现策略:集中式与分布式 4第三部分进程和线程隔离的机制与比较 6第四部分资源管理和队列管理在隔离中的作用 9第五部分轻量级进程和协程在隔离中的应用 11第六部分异步工作流中的异常处理与故障容忍 15第七部分调度策略对隔离和负载均衡的影响 17第八部分异步工作流隔离和负载均衡的最佳实践 19

第一部分负载均衡算法的类型及其优化负载均衡算法类型及其优化

在异步工作流系统中,负载均衡算法对于优化系统性能和弹性至关重要。负载均衡算法负责将任务分配给工作进程或机器,以平衡负载、提高吞吐量并确保高可用性。以下是常见的负载均衡算法类型及其优化:

轮询算法

*轮询(RR):此算法将任务依次分配给所有可用的工作进程或机器。

*加权轮询(WRR):此算法根据预定义的权重分配任务,允许为特定进程或机器分配更多或更少的负载。

优化:

*优化权重分配以匹配工作进程或机器的处理能力。

*使用健康检查机制来识别并排除不可用的进程或机器。

随机算法

*随机:此算法将任务随机分配给所有可用的工作进程或机器。

*哈希:此算法根据任务的哈希值将任务分配给特定的工作进程或机器。

优化:

*确保哈希函数具有良好的均匀性,以防止负载不平衡。

*使用一致性哈希算法来处理工作进程或机器的动态添加和删除。

最少连接算法

*最少连接(LC):此算法将任务分配给当前连接最少的可用的工作进程或机器。

优化:

*实时监控工作进程或机器的连接数,以准确分配任务。

*考虑连接的持续时间,以避免分配短连接任务给繁忙的进程。

最小响应时间算法

*最小响应时间(MRT):此算法将任务分配给当前响应时间最短的可用的工作进程或机器。

优化:

*定期收集和更新工作进程或机器的响应时间数据。

*使用预测模型来预测未来响应时间并优化任务分配。

混合算法

*混合算法:此算法结合了多种算法的优点,以提高负载均衡的效率和弹性。

优化:

*根据工作流的特性选择合适的算法组合。

*实时调整算法权重以响应负载条件的变化。

除了算法优化之外,还需考虑以下最佳实践以增强负载均衡的有效性:

*监控和自动化:使用监控工具来跟踪负载均衡性能,并自动化负载均衡决策以提高响应速度。

*容错性:设计负载均衡系统具有容错性,以便在发生故障时可以自动切换到备用组件。

*容量规划:根据预期负载和服务级别目标进行容量规划,以确保系统能够处理负载波动。

通过仔细选择和优化负载均衡算法,可以显着改善异步工作流系统的性能、可靠性和可扩展性。第二部分负载平衡的实现策略:集中式与分布式负载平衡的实现策略:集中式与分布式

在异步工作流系统中,负载平衡对于优化资源利用和确保系统可靠性至关重要。实现负载平衡有两种主要策略:集中式和分布式。

#集中式负载平衡

集中式负载平衡依赖于一个中央负载平衡器组件,负责根据预定义的算法将传入的工作流任务分配给工作流执行器。这种策略的特点是:

优点:

*易于管理:所有负载平衡决策都集中在单个组件中,简化了管理和维护。

*全局视图:负载平衡器拥有工作流系统中所有执行器的全局视图,这可以做出更优化的负载分配决策。

*可靠性:如果负载平衡器发生故障,则可以轻松地部署备用负载平衡器。

缺点:

*单点故障:负载平衡器是系统的单点故障,如果它发生故障,整个工作流系统将停止工作。

*可扩展性限制:随着工作流系统规模的扩大,集中式负载平衡器可能会成为瓶颈,限制系统可扩展性。

#分布式负载平衡

分布式负载平衡将负载平衡职责分散到系统中的各个执行器上。每个执行器负责管理其本地负载,并与其他执行器协商以确保工作流任务在执行器之间均匀分布。这种策略的特点是:

优点:

*高可用性:分布式负载平衡消除了单点故障,因为没有中央组件可以成为故障点。

*可扩展性:随着系统规模的扩大,分布式负载平衡可以轻松扩展,而不会遇到性能瓶颈。

*容错性:如果某个执行器发生故障,其他执行器可以接管其负载,确保系统继续运行。

缺点:

*管理复杂性:管理分布式负载平衡系统比集中式系统更复杂,因为它涉及多个组件之间的协调。

*有限的全局视图:各个执行器对工作流系统的全局视图有限,这可能会导致负载分配不均衡。

*通信开销:执行器之间需要通信以协调负载分配,这会增加通信开销。

#策略选择

选择集中式还是分布式负载平衡策略取决于工作流系统的特定要求。需要考虑的关键因素包括:

*系统规模:大型系统可能更适合分布式负载平衡,而较小的系统可能可以通过集中式负载平衡得到充分满足。

*可靠性要求:如果系统可靠性至关重要,则集中式负载平衡可能是一个更好的选择,因为单点故障的可能性较小。

*可扩展性要求:如果系统需要高可扩展性,则分布式负载平衡是最佳选择,因为它可以轻松扩展以满足不断增长的负载。

*管理复杂性:如果管理复杂性是一个问题,那么集中式负载平衡可能是一个更好的选择,因为它易于管理和维护。

#结论

负载平衡是异步工作流系统中的一项关键功能,有助于优化资源利用并确保可靠性。集中式和分布式负载平衡策略各有优缺点,系统设计者需要根据系统特定要求选择最合适的策略。第三部分进程和线程隔离的机制与比较进程和线程隔离机制

进程隔离

*进程虚拟地址空间(VAS):每个进程都有自己的VAS,用于存储其代码、数据和栈。其他进程无法直接访问该VAS。

*系统调用:进程需要通过系统调用来与内核交互。这提供了对内核资源的控制和隔离。

*文件描述符:进程具有自己的文件描述符表,用于访问文件系统和其他资源。

线程隔离

*共享虚拟地址空间:线程共享同一VAS,因此它们可以访问同一集合的代码、数据和栈。

*线程局部存储(TLS):TLS允许每个线程拥有自己的私有数据区域,其他线程无法访问。

*线程执行上下文:每个线程都有自己的程序计数器、寄存器和栈,确保独立执行。

*调度:操作系统可以调度线程在同一个或不同的CPU核心上运行,实现并行执行。

机制比较

隔离级别:

*进程隔离提供了更强的隔离级别,因为每个进程拥有自己的VAS。线程隔离虽然共享VAS,但仍然可以防止并发访问问题。

资源占用:

*进程隔离比线程隔离需要更多的资源开销,因为每个进程都需要自己的VAS和系统资源。

通信和同步:

*进程之间的通信通常通过消息传递或文件系统进行,而线程可以使用共享内存、互斥锁和条件变量等机制进行通信和同步。

性能:

*进程隔离通常比线程隔离性能较低,因为进程切换开销更大。

选择依据

进程和线程隔离机制的选择取决于特定应用的需求。

进程隔离适合于:

*隔离对资源有竞争的应用程序或任务

*保护敏感数据免遭其他进程的篡改

*容忍故障,因为一个进程的崩溃不会影响其他进程

线程隔离适合于:

*实现轻量级并发,共享大量数据

*提高多核系统的性能

*简化应用程序开发,通过并行执行多个任务

为了实现负载平衡和隔离,可以采用以下策略:

*进程池:创建多个进程,每个进程处理一组特定任务。

*线程池:创建多个线程,每个线程处理请求队列中的任务。

*容器隔离:使用容器技术在单个主机上隔离多个进程。

*虚拟机隔离:在不同的虚拟机中运行应用程序,提供更强的隔离级别。

通过选择适当的隔离机制并实施适当的负载平衡策略,可以提高异步工作流的效率和可靠性。第四部分资源管理和队列管理在隔离中的作用资源管理和队列管理在隔离中的作用

在异步工作流中,资源管理和队列管理对隔离至关重要,可分别通过以下手段实现:

资源管理

*资源池划分:隔离不同类型的任务,为每个池分配专用资源。

*配额管理:限制每个池的资源分配,防止一个池过度消耗资源。

*资源监控:持续监控资源使用情况,并在达到阈值时采取措施。

队列管理

*队列隔离:使用独立的队列来处理不同类型的任务,防止不同任务相互干扰。

*优先级设置:为队列分配优先级,确保重要任务得到优先处理。

*优先级调整:根据任务的重要性或响应时间调整队列优先级。

资源管理和队列管理协同作用

资源管理和队列管理协同工作,实现高效的隔离:

*队列管理确保任务分离,而资源管理提供必要的资源。

*资源池划分和优先级设置共同保证不同队列之间的资源公平分配。

*资源监控和优先级调整可动态调整资源分配,以适应工作流负载和任务优先级的变化。

具体示例

示例1:图像处理工作流

*资源管理:将CPU密集型图像处理任务与I/O密集型文件传输任务分配到不同的资源池。

*队列管理:创建不同优先级的队列,高优先级队列用于紧急图像处理。

示例2:数据分析工作流

*资源管理:为机器学习训练任务分配GPU资源,而为数据预处理任务分配CPU资源。

*队列管理:创建不同的队列,一个用于机器学习模型训练,另一个用于数据预处理。优先级设置为:训练>预处理。

系统层面实现

资源管理和队列管理通常在操作系统或中间件层面实现,例如:

*容器编排系统(如Kubernetes):提供跨容器的资源隔离和配额管理。

*消息队列(如ApacheKafka):提供队列管理、优先级控制和队列隔离。

优势

资源管理和队列管理的隔离机制提供以下优势:

*确保任务隔离:防止不同类型的任务相互干扰。

*提高资源利用率:通过优化资源分配,最大化工作流效率。

*保证服务的质量(QoS):优先处理重要任务,确保关键业务流程的顺利运行。

*增强可扩展性和灵活性:隔离机制使工作流能够响应负载和优先级变化进行动态调整。

*提高故障容错性:隔离故障任务,防止它们影响整个工作流。第五部分轻量级进程和协程在隔离中的应用关键词关键要点轻量级进程

1.资源分配灵活:轻量级进程在内存占用和调度开销方面都更轻量,因此可以更高效地利用系统资源,实现更精细的负载平衡。

2.并发执行性高:轻量级进程可以同时运行多个任务,并通过上下文切换机制快速在不同任务之间切换,提高并发执行效率。

3.隔离性佳:轻量级进程之间相互独立,具有自己的栈和寄存器,即使一个进程出现异常或故障,也不会影响其他进程的执行。

协程

1.超轻量级并行:协程是比线程更轻量级的并发机制,可以在单线程中模拟多线程执行,极大地减少了内存消耗和调度开销。

2.极高并发性:协程允许在一个线程中同时运行大量任务,而不会产生上下文切换的性能瓶颈,实现超高并发性。

3.协作式调度:协程的调度依赖于开发者手动控制,可以根据具体需求制定灵活的调度策略,实现更精细的负载平衡。轻量级进程和协程在异步工作流中的隔离

引言

隔离是异步工作流设计中的关键考虑因素,它可以防止不同任务之间的意外交互并确保系统的鲁棒性。轻量级进程(LWP)和协程是实现隔离的两种有效技术。

轻量级进程(LWP)

LWP是传统进程的轻量级版本,它们共享相同的地址空间和资源。与常规进程不同,LWP具有较低的操作系统开销,这使得它们非常适合并发编程。

在异步工作流中,LWP可以用于隔离不同的任务,避免它们意外访问或修改共享数据。每个LWP都有自己的堆栈和寄存器,因此一个LWP中的错误或异常不会影响其他LWP。

协程

协程是轻量级线程,它们在共享内存中运行并交替执行。与LWP不同,协程由用户空间代码而不是操作系统管理。这使得协程的创建和切换非常高效,并且可以同时运行大量协程。

协程在异步工作流中可用作轻量级隔离机制。每个协程都有自己的堆栈和局部变量,这有助于防止任务之间的数据竞争和意外交互。

轻量级进程和协程的比较

LWP和协程在异步工作流中的隔离方面各有优势和劣势:

*资源占用:LWP比协程占用更多的系统资源,例如内存和堆栈空间。

*调度:LWP由操作系统调度,而协程由用户空间代码调度。这使得协程的调度更加灵活和高效。

*上下文切换:LWP的上下文切换开销更高,因为它们需要操作系统内核的介入。协程的上下文切换开销较低,这有利于高性能并发应用程序。

*同步机制:LWP依赖于传统同步机制,例如锁和互斥量。协程可以使用专门的协程库提供的协作式同步机制,例如通道和选择语句。

隔离技术的选择

在异步工作流中选择隔离技术时,需要考虑以下因素:

*任务隔离级别:所需的隔离级别,例如数据隔离、错误隔离或资源隔离。

*性能要求:所需的性能开销,包括资源占用和上下文切换时间。

*开发复杂性:使用特定隔离技术的复杂性。

示例

以下示例说明了如何在异步工作流中使用轻量级进程和协程进行隔离:

*轻量级进程:在以下代码中,我们使用Python中的多进程库创建两个独立的LWP并分配给它们不同的任务。

```python

importmultiprocessing

deftask1():

print("任务1正在运行")

deftask2():

print("任务2正在运行")

if__name__=="__main__":

p1=multiprocessing.Process(target=task1)

p2=multiprocessing.Process(target=task2)

p1.start()

p2.start()

p1.join()

p2.join()

```

*协程:在以下代码中,我们使用Python中的asyncio库创建两个协程并同时运行它们。

```python

importasyncio

asyncdeftask1():

print("任务1正在运行")

asyncdeftask2():

print("任务2正在运行")

asyncdefmain():

awaitasyncio.gather(task1(),task2())

if__name__=="__main__":

asyncio.run(main())

```

结论

轻量级进程和协程是实现异步工作流中隔离的有效技术。LWP提供了更强的隔离,而协程提供了更高的性能。根据特定应用程序的要求,选择合适的隔离技术至关重要。通过了解这两种技术的优势和劣势,开发人员可以设计出鲁棒和可扩展的异步工作流系统。第六部分异步工作流中的异常处理与故障容忍关键词关键要点主题名称:异常处理和恢复策略

1.在异步工作流中建立清晰的异常处理策略,确保失败事件能够得到及时检测和处理。

2.考虑使用重试机制,在一定次数和时间间隔内自动重试失败的任务,提高系统容错性。

3.实施回滚机制,在任务执行失败后将系统恢复到先前状态,避免数据丢失或意外更改。

主题名称:隔离机制和故障隔离

异步工作流中的异常处理与故障容忍

在异步工作流中,异常处理和故障容忍至关重要,以确保系统稳定性和数据一致性。以下介绍了处理异步工作流中异常和故障的最佳实践:

异常处理

*Try-Catch机制:在处理工作流任务时,使用try-catch机制捕获并处理异常。这允许应用程序处理错误并防止它们导致工作流失败。

*错误消息记录:所有捕获的异常都应记录到日志或数据库中,以便进行故障排除和调试。

*重试机制:对于暂时性故障(例如网络中断),可以实现重试机制,在达到最大重试次数之前重复任务。

*补偿机制:当无法重试任务时,可以实现补偿机制,执行替代操作来恢复工作流状态。

故障容忍

*幂等性操作:工作流任务应设计为幂等的,这意味着多次执行不会产生不同的结果。这可防止因重复执行任务而导致数据损坏。

*分布式事务:对于涉及多个服务的复杂工作流,可以利用分布式事务机制来确保原子性和一致性。

*消息队列:使用消息队列进行工作流通信,确保即使其中一个服务出现故障,消息也不会丢失。

*故障转移:设置故障转移机制,将失败任务转移到其他服务实例或节点上。

*监视和告警:实施监视和告警系统,在检测到异常或故障时及时通知运维人员。

具体示例

处理临时网络故障:

*在任务处理代码中实现try-catch机制。

*如果遇到网络错误,捕获并记录异常。

*设置重试机制,在达到最大重试次数之前重复任务。

处理不可恢复的任务失败:

*创建补偿机制,执行替代操作以恢复工作流状态。

*例如,如果向外部服务发送消息失败,补偿机制可以将消息存储在本地数据库中。

使用分布式事务确保数据一致性:

*对于涉及多个服务的复杂工作流,使用分布式事务管理器(例如XA)来协调事务。

*事务管理器确保所有涉及的服务在提交事务之前都处于一致状态。

通过故障转移提高可用性:

*设置故障转移机制,将失败任务转移到其他服务实例或节点上。

*使用负载均衡器或服务发现机制自动检测失败的实例。

监视和告警:

*实现监视系统,定期检查工作流的健康状况。

*设置告警阈值,并在检测到异常或故障时通知运维人员。

*使用告警系统来触发自动修复操作,例如故障转移或重新启动服务。

通过遵循这些最佳实践,可以在异步工作流中实现有效的异常处理和故障容忍,提高系统稳定性、数据一致性和可用性。第七部分调度策略对隔离和负载均衡的影响关键词关键要点主题名称:轮询调度

1.平均分配任务,保证每个工作流节点的负载均衡。

2.简单易于实现,但可能导致低优先级任务占据过多资源。

3.适用于没有任务优先级或任务优先级变化不大的场景。

主题名称:优先级调度

调度策略对隔离和负载均衡的影响

异步工作流基于任务队列和调度器进行管理,调度策略在隔离和负载均衡方面至关重要。不同的调度策略会对工作流的效率、可靠性和可伸缩性产生显著影响。

隔离

隔离是确保工作流彼此独立执行并防止资源争用的关键考虑因素。调度策略可以通过以下方式实现隔离:

*优先级队列:优先级队列根据任务的优先级对任务进行排序,确保高优先级任务优先执行。这有助于防止低优先级任务阻塞高优先级任务。

*队列竞争:队列竞争允许不同的队列同时争夺资源,从而为每个队列提供隔离级别。这有助于确保每个队列中的任务不会被其他队列中的任务饿死。

*资源限制:资源限制通过限制每个工作流或任务可以使用的资源来实现隔离。这有助于防止单一工作流消耗过多资源,从而影响其他工作流的性能。

负载均衡

负载均衡通过跨多个工作流或机器均匀分配任务来最大化资源利用率并提高可伸缩性。调度策略可以通过以下方式实现负载均衡:

*轮询:轮询策略简单地将任务按顺序分配给工作流。这确保了所有工作流都接收相同数量的任务,但可能导致某些工作流负载过重,而其他工作流闲置。

*加权轮询:加权轮询策略根据每个工作流的容量或性能分配任务。这有助于确保负载在工作流之间更均匀地分布。

*最少连接:最少连接策略将任务分配给具有最小活动连接数的工作流。这有助于防止某些工作流过载,同时允许其他工作流处理更多任务。

调度策略的评估

选择最佳的调度策略取决于工作流应用程序的特定要求。评估调度策略时需要考虑以下因素:

*吞吐量:调度策略是否最大化了工作流的吞吐量?

*延迟:调度策略是否最小化了任务的延迟?

*可伸缩性:调度策略是否允许工作流随着负载的增加而轻松扩展?

*公平性:调度策略是否确保所有工作流以公平的方式获得资源?

调度策略的优化

调度策略可以根据工作流应用程序的特定需求进行优化。优化策略时需要考虑以下技术:

*任务亲和性:将具有相似处理需求的任务分配给同一工作流,以提高性能。

*资源感知调度:根据可用资源进行任务调度,以最大化资源利用率。

*动态调整:根据负载状况动态调整调度策略,以优化性能。

通过仔细评估和优化调度策略,组织可以实现高效、可靠且可伸缩的异步工作流。第八部分异步工作流隔离和负载均衡的最佳实践关键词关键要点隔离分区

-将工作流划分为独立分区,每个分区处理特定类型的工作负荷。

-每个分区运行于单独的计算资源或集群上,物理上隔离。

-通过防火墙、网络策略和访问控制列表等机制实施访问限制,保护分区免受其他分区的影响。

队列分区

-使用消息队列或事件流将工作流任务划分为多个队列。

-每个队列处理特定类型的工作负荷或任务优先级。

-通过队列管理器或调度程序将任务分配给消费者,确保工作流按需执行。

负载均衡

-利用负载均衡器在多个工作流实例之间分配工作负荷。

-根据实例可用性、性能和容量进行动态负载分配。

-采用轮询、加权轮询或最少连接等负载均衡算法,优化资源利用率。

弹性扩展

-根据工作流负载动态调整工作流实例的数量。

-使用自动伸缩机制监控工作流性能并部署或销毁实例以满足需求。

-实现持续交付和更新,以确保工作流的弹性性和可扩展性。

容器化

-将工作流打包到容器中,提供隔离和可移植性。

-容器编排工具(如Kubernetes)可用于管理容器生命周期和资源分配。

-容器化简化了工作流部署和管理,并提高了弹性和可扩展性。

云原生解决方案

-利用云平台提供的托管服务,如云队列、云函数和云负载均衡器。

-云原生解决方案降低了隔离和负载均衡的复杂性。

-可以根据需要动态配置和扩展云资源,以优化工作流性能。异步工作流隔离和负载均衡的最佳实践

#隔离

容器化和沙盒化:

使用容器或沙箱隔离工作流组件,以防止组件间干扰和资源竞争。

故障隔离:

实现故障隔离机制,确保单个组件故障不会使整个工作流崩溃。

消息队列隔离:

为不同类型的工作流消息使用单独的消息队列,以防止消息混合和拥塞。

资源限制:

对每个工作流组件设置资源限制(例如CPU和内存),以防止单个组件占用过多资源。

#负载均衡

负载均衡器:

部署负载均衡器,以根据工作流请求的类型和优先级将流量分发到不同的工作流实例。

动态扩展:

实现动态扩展机制,根据工作流负载自动增加或减少工作流实例的数量。

优先级调度:

使用优先级调度算法将关键任务或高优先级工作流请求分配给更强大的实例。

地理位置感知:

考虑工作流消费者的地理位置,并将请求路由到距离他们最近的工作流实例。

健康检查:

定期执行健康检查,以识别故障或低效的工作流实例,并将其从负载均衡中移除。

#最佳实践

识别工作流类型:

确定不同类型的工作流,并根据它们的特性和负载要求进行隔离和负载均衡。

粒度控制:

以最精细的粒度进行隔离和负载均衡,以优化资源利用率和性能。

可观察性:

实施健全的可观察性措施,以监视工作流性能,识别瓶颈并优化负载均衡策略。

自动化:

自动化隔离和负载均衡流程,以提高效率并减少人为错误。

持续优化:

定期审查隔离和负载均衡策略,并根据工作流负载和性能瓶颈进行调整。

考虑安全影响:

隔离和负载均衡措施应与整体安全策略保持一致,以防止未经授权的访问或数据泄露。关键词关键要点主题名称:轮询算法

关键要点:

1.每个工作请求依次分配给可用的工作者,形成循环模式。

2.简单易于实现,但可能导致工作量分布不均,因为同一工作者可能需要连续处理多个请求。

3.通过使用加权轮询或其他技术可以优化,以考虑不同工作者的处理能力或当前负载。

主题名称:随机算法

关键要点:

1.将请求随机分配给可用工作者,无论其当前负载如何。

2.确保负载均衡,但可能会导致延迟增加,因为请求可能被分配给繁忙的工作者。

3.通过使用伪随机数生成器或其他技术可以优化,以提高公平性和降低延迟。

主题名称:最短队列算法

关键要点:

1.将请求分配给具有最短队列的工作者,以实现平均负载分布。

2.减少了等待时间和延迟,但可能导致工作者之间队列长度不均。

3.通过使用近似算法或动态调整队列长度阈值可以优化,以平衡负载和等待时间。

主题名称:加权分配算法

关键要点:

1.根据工作者的处理能力或当前负载,为每个工作者分配不同的权重。

2.确保请求分配到最合适的处理程序,从而最大化吞吐量并最小化延迟。

3.通过使用动态调整权重或考虑其他因素(如资源消耗)可以优化,以适应负载波动和工作者能力的变化。

主题名称:一致性哈希算法

关键要点:

1.使用哈希函数将请求映射到虚拟环,并将其分配给负责该请求范围的工作者。

2.提供数

温馨提示

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

评论

0/150

提交评论