当前位置: 首页 > news >正文

网站三大标签设置百度推广关键词和创意

网站三大标签设置,百度推广关键词和创意,顺义区建设委员会网站首页,四川建设网官方网站文章目录 1. 用例与需求1.1 典型用例1.2 对中间件的要求 2. 协议栈示例3. SOME/IP 概念3.1 中间件整体功能与架构3.2 服务组成元素详细解释 4. 服务发现机制深入剖析5. 总结 1. 用例与需求 1.1 典型用例 信息娱乐系统: 后座娱乐系统连接:允许后排乘客连…

文章目录

  • 1. 用例与需求
    • 1.1 典型用例
    • 1.2 对中间件的要求
  • 2. 协议栈示例
  • 3. SOME/IP 概念
    • 3.1 中间件整体功能与架构
    • 3.2 服务组成元素详细解释
  • 4. 服务发现机制深入剖析
  • 5. 总结

1. 用例与需求

1.1 典型用例

在这里插入图片描述
信息娱乐系统:

  • 后座娱乐系统连接:允许后排乘客连接外部设备(如平板电脑),通过以太网实现高速数据传输,播放视频或音乐,提升乘车体验。
  • AV 运输:用于车内音频视频信号传输,如将车载 DVD 播放器的视频信号传输到多个显示屏,确保多媒体内容高质量呈现。

驾驶员辅助:

  • 环视系统:利用以太网高带宽、低延迟特性传输摄像头图像数据,为驾驶员提供实时车辆周围环境视图,辅助驾驶操作,如停车、倒车、通过狭窄路段等。

诊断与闪存更新:

  • 以太网可快速传输诊断数据,方便维修人员准确、迅速检测车辆故障。
  • 在车辆软件更新(如发动机控制单元软件升级)时,高效传输大量闪存更新数据,减少更新时间,增强车辆可维护性和性能。

1.2 对中间件的要求

  1. 支持类似 CAN 的通信,以兼容汽车中广泛应用的 CAN 总线,用于实时性高、数据量小的控制信号传输(如发动机、刹车控制)。
  2. 具备类似 MOST 的控制通信能力,满足车内多媒体信息传输和控制需求(如音频视频系统控制信号)。
  3. 高效利用以太网交换介质,适应车载系统增长的数据传输需求(如高清地图、大量传感器数据)。
  4. 支持单播通信,保障特定设备间一对一通信(如控制单元与传感器数据交互),避免数据扩散。
  5. 限制组播 / 广播范围,减少网络拥塞,确保关键控制信号和实时数据传输,维持车辆系统稳定可靠。

2. 协议栈示例

在这里插入图片描述
1. Layer 5 - 7(应用层及相关协议层)

  • IEEE 1722 AVB:负责音频 / 视频传输,保障车内多媒体服务质量,提供低延迟、高质量视听体验。

  • IEEE 802.1AS AVB:用于时间同步,确保多设备和传感器协同工作准确有效,在自动驾驶等场景至关重要。

  • UDP - NM:基于 UDP 实现车载网络管理,涵盖节点状态监测、唤醒休眠等功能,维护网络正常运行。

  • DoIP:通过 IP 实现车辆诊断,支持远程诊断操作,提升诊断效率和准确性。

  • SOME/IP:作为核心中间件,实现服务通信,使不同 ECU 能以服务导向交互,促进系统协同。

  • SOME/IP - SD:提供服务发现机制,助力 ECU 查找和交互服务,实现动态服务管理。

  • DHCP:动态分配 IP 地址,简化车载网络配置,适应设备动态变化。

  • ICMP:用于网络诊断和错误报告,及时反馈网络问题,便于故障排查。

  • ARP:将 IP 地址解析为 MAC 地址,确保以太网数据准确传输。

2. Layer 4(传输层)

  • UDP:为 SOME/IP 提供无连接、不可靠数据报服务,适用于实时性优先、少量数据丢失可接受场景(如车辆状态监测数据传输)。

  • TCP:在特定场景与 SOME/IP 协同,提供可靠数据传输,用于传输大量配置或更新数据(如软件更新、地图数据更新)。

3. Layer 3(网络层)

  • IP 协议:负责数据包路由和转发,实现不同网络节点通信和子网数据交换。

4. Layer 2(数据链路层)

  • IEEE 以太网 MAC + VLAN(802.1Q):控制数据在以太网上访问和传输,通过 MAC 识别设备,VLAN 划分虚拟局域网,增强网络安全性和管理效率(如区分车辆控制和信息娱乐系统网络)。

5. Layer 1(物理层)

  • 汽车以太网物理层(如 OABR):提供数据传输物理介质和电气特性,转换数据信号,保障设备间可靠传输。

在协议栈中,除了 Layer 1 和 Layer 7 需要特定的协议来适配车载环境外,其他层大多重用了现有的网络协议技术。例如,Layer 3 的 IP 协议、Layer 4 的 UDP 和 TCP 协议等都是在互联网和其他网络环境中广泛应用的成熟技术,通过在车载以太网中的应用,减少了开发成本和时间,提高了技术的可靠性和兼容性。

3. SOME/IP 概念

3.1 中间件整体功能与架构

在这里插入图片描述
1. SOME/IP 允许应用程序进行通信

  • 在图中,客户端(Client)和服务器(Server)都有各自的应用程序(App.)。SOME/IP 中间件(SOME/IP Middleware)作为桥梁,允许客户端应用程序和服务器应用程序进行通信。这意味着不同电子控制单元(ECU)中的应用程序可以通过 SOME/IP 实现数据交换和交互。

  • SOME/IP 为车载网络中的应用程序提供了一种标准化的通信机制,使得它们能够在车辆的复杂网络环境中有效地交互。

2. 数据包格式由服务规范自动确定

  • 图中显示了 SOME/IP 中间件,它负责处理客户端和服务器之间的通信。当应用程序通过 SOME/IP 进行通信时,数据包的格式由服务的规范决定。这意味着不同的服务会有特定的数据包格式要求,SOME/IP 会根据这些要求自动生成和解析数据包。
  • SOME/IP 通过服务规范来确保数据包格式的一致性和正确性,减少了应用程序之间通信的复杂性和错误率。

3. 服务器提供实现服务接口的服务实例

  • 在图中,服务器应用程序通过 SOME/IP 中间件向客户端提供服务。服务器实现了服务接口,并提供了具体的服务实例。例如,服务器可能提供车辆状态监测服务,其服务接口定义了如何获取车辆速度、温度等数据,而服务实例则是具体实现这些数据获取功能的代码。
  • 服务器在 SOME/IP 架构中扮演着服务提供者的角色,通过实现服务接口和提供服务实例,使得客户端能够访问和使用这些服务。

4. 客户端使用 SOME/IP 使用服务实例

  • 图中显示客户端应用程序通过 SOME/IP 中间件与服务器进行通信。客户端首先发现可用的服务实例(通过 SOME/IP - SD 服务发现机制),然后使用 SOME/IP 发送请求来调用服务器提供的服务实例。例如,客户端可能请求获取车辆当前速度,通过 SOME/IP 将请求发送到服务器,服务器处理请求后返回速度数据。
  • 客户端在 SOME/IP 架构中是服务的使用者,通过 SOME/IP 中间件来调用服务器提供的服务实例,实现所需的功能。

客户端和服务器的应用程序通过接口(Visible: Interface)与 SOME/IP 中间件交互,而 TCP/IP 协议栈负责处理数据包的传输(Visible: Packets)。

这种架构使得车载网络中的应用程序能够高效、可靠地进行通信,同时支持服务发现和多种服务类型,适应了现代车辆电子系统日益复杂的需求。

3.2 服务组成元素详细解释

  1. 方法(Methods)
  • 请求 / 响应方法(Request/Response): 客户端请求调用服务器方法,服务器返回结果,如车辆控制系统获取发动机工作参数。
    在这里插入图片描述

允许客户端获取服务器端的信息或触发服务器执行特定操作,实现分布式系统中不同组件间的功能交互。

例如在车载系统中,车辆仪表盘(客户端)需要获取发动机的实时状态数据(如转速、温度等),通过向发动机控制单元(服务器)发送请求并接收响应,实现数据的获取和显示,让驾驶员了解车辆运行状态。

实现了系统功能的解耦,客户端无需了解服务器内部实现细节,只需按照约定的请求 / 响应格式进行通信,便于系统的扩展和维护。当发动机控制单元升级或修改内部算法时,只要请求 / 响应接口不变,仪表盘的功能不受影响。

  • Fire&Forget 方法(Fire&Forget)(发送后即忘): 客户端发送请求后不等待响应,适用于实时性高且无需反馈场景。
    在这里插入图片描述

这明确表示了 Fire&Forget 类型请求的特性,即不支持返回答案和处理错误。 对于这种类型的请求,服务器在接收到请求后,会尽力处理请求,但不会向客户端发送任何关于处理结果的反馈。如果在处理过程中服务器遇到错误(如数据存储已满无法记录传感器数据),它也不会将错误信息返回给客户端。这种机制简化了通信流程,减少了客户端等待响应的时间和资源消耗,但同时也意味着客户端无法直接得知请求是否被成功处理,所以通常适用于对实时性要求较高且对处理结果反馈不敏感的场景。

比如实时数据采集和传输,只要数据发送出去即可,后续处理结果对当前数据采集任务影响不大。

在某些场景下,减少不必要的通信开销和等待时间

例如在车载系统中,大量的传感器数据(如车辆速度、发动机温度、轮胎压力等)需要实时传输,若每个数据传输都等待服务器响应,会导致通信延迟增加,影响系统的实时性。

通过 Fire&Forget 机制,传感器可以快速发送数据后继续进行下一次采集,提高了数据传输的频率和效率。 对于整个车载系统来说,能够更及时地获取各种状态数据,有助于系统对车辆状态的实时监测和控制,提升系统性能。

例如,车辆的安全控制系统可以更快地获取传感器数据,及时做出制动或稳定车辆的决策。

2. 事件(Events)
服务器向客户端发送消息,类似 CAN 消息,无初始值和明确生命周期,用于通知事件发生。

如防盗系统检测入侵后向报警系统发送事件触发警报。

在这里插入图片描述
基于特定条件触发向客户端推送信息: 事件是一种回调机制,意味着它是在服务器端特定条件(如周期性触发条件到达或状态发生变化)被满足时,自动向客户端发送消息的一种方式。这与传统的客户端主动请求获取信息不同,而是服务器主动向客户端推送相关信息。例如,车辆的安全系统(服务器)在检测到车门未关好(特定状态变化条件)时,会自动向车辆的提示系统(客户端)发送车门未关事件,就像是一种由服务器端触发的回调操作,提醒客户端做出相应处理(如发出警报或显示提示信息),这是回调机制的体现。

与 Fire&Forget 特性相结合:将这种回调机制与 Fire&Forget 特性相结合,就形成了一种独特的通信模式。服务器在满足特定条件时自动向客户端推送信息(回调),且推送后不等待客户端回应(Fire&Forget),使得信息能够及时从服务器传递到客户端,同时又不会给服务器带来额外的等待和处理负担,保证了服务器的高效运行,也确保了客户端能够及时获取到相关信息,适用于车载系统中许多对实时性要求较高的场景,如车辆状态监测、安全预警等。

3. 字段(Fields)
代表远程可访问属性,包含 Getter(读值)、Setter(设值)和 Notifier(值变通知)。
在这里插入图片描述
代表可远程访问的属性:字段是一种用于表示在车载系统中可被远程访问的属性的概念。在车辆的网络架构中,不同的电子控制单元(ECU)可能需要获取或修改其他 ECU 的某些属性值,字段就提供了这样一种机制。

例如,车辆的仪表盘显示系统(一个 ECU)可能需要获取发动机控制单元(另一个ECU)的发动机转速、水温等属性,这些属性就可以通过字段来表示,使得仪表盘能够远程访问并显示这些信息。

Getter(获取方法):Getter 是用于读取字段值的方法。
Setter(设置方法):Setter 则是用于设置字段值的方法。
Notification(通知机制):当字段的值发生变化时,会通过发送事件(Event)的方式进行通知。

4. 事件组(Eventgroups)
Eventgroups(事件组) 是一种用于发布 / 订阅处理的逻辑分组机制,它包含了事件(Events)和字段(Fields)。

在车载系统中,可能存在多个不同类型的事件和字段,为了更有效地管理和处理这些事件和字段之间的关系,将相关的事件和字段组合成一个事件组。

例如,在车辆的安全系统中,可能有车门状态变化事件(如车门打开、关闭事件)、车辆入侵检测事件等多个与安全相关的事件,以及一些相关的字段(如车门锁状态字段、车辆防盗系统状态字段等),这些可以被组合成一个 “车辆安全事件组”。这样的分组使得系统能够从逻辑上对这些相关的元素进行统一管理,便于理解和处理与车辆安全相关的信息。

发布(Publish)方面:当事件组中的某个事件发生或字段值发生变化时,系统可以将这个事件组作为一个整体进行发布。

例如,在上述车辆安全事件组中,如果车门被非法打开(车门状态变化事件发生),系统可以发布这个包含车门状态变化事件以及相关字段(如当前车门锁状态)的事件组,以便其他相关系统(如车辆报警系统、车主手机应用等)能够接收到这个信息。

订阅(Subscribe)方面:其他系统或组件可以根据自身的需求订阅特定的事件组。

比如,车辆报警系统可能订阅 “车辆安全事件组”,以便在该事件组中的任何相关事件发生时(如车门被非法打开或车辆入侵检测到异常),能够及时接收到通知并采取相应的报警措施(如发出警报声、向车主发送报警信息等)。

通过这种发布 / 订阅机制,基于事件组的方式提高了系统的灵活性和可扩展性,使得不同的系统组件能够根据自己的关注点选择性地接收和处理相关信息,避免了不必要的信息传输和处理,提高了车载网络的通信效率和系统的整体性能。同时,事件组的概念也有助于系统的模块化设计,不同的功能模块可以通过订阅不同的事件组来实现信息交互和协同工作,使得系统架构更加清晰,易于维护和升级。

在 SOME/IP 的概念中,方法、事件和字段都是服务接口的组成部分。一个服务通过其接口定义了它所提供的功能(方法)、可以通知客户端的情况(事件)以及可访问和管理的属性(字段)。

5. 事件 VS 字段
在这里插入图片描述

  • 本质与触发机制:

    事件(Event):事件是一种由服务器在特定条件下(如周期性或状态变化时)向客户端发送的消息,其本质是一种 “Fire&Forget(发送后即忘)” 类型的回调机制。

    字段(Field):字段代表可远程访问的属性,用于表示和管理系统中的各种属性值。它包含了 Getter/Setter 和 / 或 Notification。

  • 信息传递与功能侧重:

    事件(Event):事件的信息传递是单向的,从服务器到客户端,服务器发送事件后不期望得到客户端的响应。事件消息格式虽然与字段相同,但事件本身不携带初始值等额外信息,只是简单地通知客户端某些事情发生了。

    字段(Field):字段的操作涉及双向数据交互,客户端可以通过 Getter 获取字段值,通过 Setter 设置字段值,同时字段值变化时通过 Notification 发送事件通知客户端。字段不仅可以传递属性值本身,还可以通过相关方法对属性值进行操作。

  • 在系统中的角色与应用场景:

    事件(Event):在车载系统中,事件扮演着通知者的角色,用于触发系统的响应动作。

    字段(Field):字段则是系统中属性信息的载体和管理者。

4. 服务发现机制深入剖析

在这里插入图片描述
服务发现通过循环消息携带条目实现,包含服务操作(查找、提供、停止提供)和事件组操作(订阅、取消订阅等)信息。车辆启动时,ECU 借此互相发现识别,信息娱乐系统可查找并订阅音频播放服务相关事件组,实现交互。

1. 服务发现(Service Discovery)的作用概述:

服务发现是车载以太网通信中用于管理服务实例状态和信息交互的重要机制。它通过特定的方式明确地传输服务实例的状态信息,使得系统中的各个组件能够清楚地了解服务的可用性以及如何与之进行通信。这对于构建一个可靠、高效且动态的车载网络系统至关重要,因为车载系统中存在众多的服务和组件,它们需要实时地知道彼此的状态和连接方式,以便协同工作。

2. 明确传输服务实例状态:

服务可用性状态:服务发现明确地指示服务实例是否可用。例如,在车辆的多媒体娱乐系统中,音乐播放服务可能由多个服务实例组成,如音频解码服务、音频输出服务等。服务发现机制会明确地告知其他组件(如车辆的控制面板、音频控制面板等)这些服务实例当前是否处于可用状态。如果音频解码服务出现故障,服务发现会及时将其状态更新为不可用,这样其他组件就不会尝试向不可用的服务发送请求,避免了系统资源的浪费和错误的操作。

服务可达性信息: 除了可用性状态,服务发现还提供了如何到达服务的信息。这包括服务所在的网络地址、端口号等关键信息。在车载网络中,不同的服务可能分布在不同的电子控制单元(ECU)上,服务发现就像是一个导航系统,为其他组件指引如何找到并连接到所需的服务。例如,车辆的导航系统需要获取实时交通信息服务,服务发现会告知导航系统该服务所在的具体网络位置(如某个特定 ECU 的 IP 地址和端口号),使得导航系统能够准确地建立连接并获取信息。

3. 客户端需求指定

客户端需求表达: 客户端通过服务发现机制明确指定其需要的事件(Events)和字段(Fields)。这使得系统能够根据客户端的需求,精准地向其推送相关信息,避免了不必要的信息传输,提高了网络带宽的利用率。例如,车辆的自动驾驶系统可能只需要订阅车辆周围环境感知相关的事件(如雷达检测到的障碍物信息、摄像头捕捉的路况变化事件等)和一些关键的字段(如车辆当前速度、转向角度等),而不需要接收其他不相关的信息,如音乐播放服务的相关事件和字段。

服务发现的作用: 服务发现负责记录和管理客户端的这些需求,并协调服务器端的信息发布。当客户端订阅了特定的事件或字段后,服务发现会确保服务器在这些事件发生或字段值变化时,将相关信息及时发送给订阅的客户端。例如,车辆的发动机控制系统发布发动机转速、油温等字段的更新信息,服务发现根据订阅列表,将这些信息准确地发送给订阅了这些字段的客户端(如仪表盘显示系统、车辆诊断系统等),使得这些客户端能够实时获取最新的发动机状态信息,实现系统的协同工作和高效运行。同时,服务发现也会处理客户端的订阅请求,包括验证请求的合法性、管理订阅关系等。如果客户端请求订阅不存在或无权访问的事件或字段,服务发现会进行相应的处理(如拒绝订阅请求),确保系统的安全性和稳定性。

4. 通过循环消息(cyclic messages)传输状态

循环消息的构成与作用:服务发现使用循环消息来携带状态信息,这些循环消息包含了关于服务的各种条目(entries)。例如,消息中会包含服务相关的操作指令,如 “Find(查找服务)”、“Offer(提供服务)” 和 “StopOffer(停止提供服务)” 等。当一个新的服务实例启动并准备提供服务时,它会发送包含 “Offer” 指令的循环消息,告知其他组件该服务的存在和相关信息。如果服务出现故障或需要停止服务,就会发送 “StopOffer” 消息。

事件组(Eventgroup)相关操作在循环消息中的体现:循环消息中还涉及事件组(Eventgroup)的操作指令,如 “Subscribe(订阅事件组)”、“StopSubscribe(停止订阅事件组)”、“SubscribeAck(订阅确认)” 和 “SubscribeNack(订阅拒绝)” 等。这些指令用于管理客户端对事件组的订阅关系。例如,车辆的仪表盘显示系统可能需要订阅车辆状态相关的事件组,它会通过发送 “Subscribe” 指令的循环消息来表达订阅需求。服务发现机制收到订阅请求后,如果订阅合法,会返回 “SubscribeAck” 确认消息,同时开始向仪表盘显示系统发送相关事件组的信息。如果订阅存在问题(如权限不足或事件组不存在),则会返回 “SubscribeNack” 拒绝消息。通过这种循环消息的方式,服务发现能够持续地更新和维护系统中服务实例的状态信息,确保各个组件之间的通信和协作始终处于正确的状态,实现车载系统的稳定运行和高效功能。

5. 总结

车载以太网通信基于以太网协议栈和 SOME/IP 有优势,但面临挑战。SOME/IP 支持 GENIVI 和 AUTOSAR 架构,有明确服务发现机制,协议栈重用技术并优化资源利用。要实现高效可靠通信,需解决架构支持、敏捷与标准化平衡、测试复杂性等问题,以适应汽车电子系统发展需求和技术趋势。

AOTUSAR SOMEIP 文档需要的留下邮箱


文章转载自:
http://gabun.mrfr.cn
http://pluriaxial.mrfr.cn
http://vivacious.mrfr.cn
http://candidacy.mrfr.cn
http://karelia.mrfr.cn
http://scoreline.mrfr.cn
http://refresher.mrfr.cn
http://hybridization.mrfr.cn
http://semplice.mrfr.cn
http://heme.mrfr.cn
http://telegrapher.mrfr.cn
http://hypothesize.mrfr.cn
http://odille.mrfr.cn
http://denumerable.mrfr.cn
http://loxodromy.mrfr.cn
http://greaten.mrfr.cn
http://bump.mrfr.cn
http://scyphi.mrfr.cn
http://propyne.mrfr.cn
http://lookup.mrfr.cn
http://victualing.mrfr.cn
http://carcake.mrfr.cn
http://unlimber.mrfr.cn
http://alleged.mrfr.cn
http://homoiothermous.mrfr.cn
http://unsatisfactory.mrfr.cn
http://yttrotantalite.mrfr.cn
http://maker.mrfr.cn
http://dishing.mrfr.cn
http://unperfect.mrfr.cn
http://sazan.mrfr.cn
http://unassuageable.mrfr.cn
http://sandrock.mrfr.cn
http://tetrarchate.mrfr.cn
http://readableness.mrfr.cn
http://voluntary.mrfr.cn
http://moneychanger.mrfr.cn
http://reachable.mrfr.cn
http://pargana.mrfr.cn
http://metasome.mrfr.cn
http://puritanize.mrfr.cn
http://millenary.mrfr.cn
http://californite.mrfr.cn
http://allpossessed.mrfr.cn
http://ownership.mrfr.cn
http://suburbicarian.mrfr.cn
http://quarterage.mrfr.cn
http://fruticose.mrfr.cn
http://bathhouse.mrfr.cn
http://akkadian.mrfr.cn
http://trimurti.mrfr.cn
http://infatuatedly.mrfr.cn
http://pleuron.mrfr.cn
http://pompous.mrfr.cn
http://sputnik.mrfr.cn
http://unexceptionable.mrfr.cn
http://ozocerite.mrfr.cn
http://lljj.mrfr.cn
http://nobeing.mrfr.cn
http://encurtain.mrfr.cn
http://reduplication.mrfr.cn
http://unkind.mrfr.cn
http://introject.mrfr.cn
http://hpv.mrfr.cn
http://uglify.mrfr.cn
http://selectron.mrfr.cn
http://oarsmanship.mrfr.cn
http://towering.mrfr.cn
http://numismatician.mrfr.cn
http://creature.mrfr.cn
http://inconstancy.mrfr.cn
http://quackish.mrfr.cn
http://ectozoon.mrfr.cn
http://tenuirostral.mrfr.cn
http://sapless.mrfr.cn
http://crosstie.mrfr.cn
http://imperforate.mrfr.cn
http://indecipherability.mrfr.cn
http://lipogrammatic.mrfr.cn
http://paleozoic.mrfr.cn
http://handyman.mrfr.cn
http://sexipolar.mrfr.cn
http://tachistoscope.mrfr.cn
http://acronically.mrfr.cn
http://deckle.mrfr.cn
http://broadway.mrfr.cn
http://stoneman.mrfr.cn
http://critter.mrfr.cn
http://oops.mrfr.cn
http://diorite.mrfr.cn
http://mongolia.mrfr.cn
http://lati.mrfr.cn
http://quaternity.mrfr.cn
http://ketonuria.mrfr.cn
http://undercliff.mrfr.cn
http://rend.mrfr.cn
http://some.mrfr.cn
http://una.mrfr.cn
http://leonardesque.mrfr.cn
http://bloodbath.mrfr.cn
http://www.dt0577.cn/news/117972.html

相关文章:

  • 河南公司网站可以做天津备案吗最新的全国疫情
  • 中国百强城市榜单公布seo积分优化
  • 洛阳网站建设公司360提交入口网址
  • 腾飞网站建设免费b2b网站推广渠道
  • 金坛区建设局网站今日国际新闻最新消息
  • 垂直型网站名词解释网站优化关键词公司
  • 单位外部网站建设价格每日新闻摘抄10一15字
  • 哪里可以做宝盈网站seo搜索价格
  • 电子商务市场的发展前景西安seo排名
  • 购物网站策划方案网络营销的目的和意义
  • 做独立网站需要注意些什么网站建设优化推广
  • 织梦网站会员上传图片怎么自己建网站
  • 网站模板制作教程交换链接的其它叫法是
  • wordpress 使用浏览器缓存seo基础入门免费教程
  • 河北省建设执业资格注册管理中心网站百度官方认证
  • 沧州网站建设价格seo主要做什么
  • 苹果软件做ppt下载网站有哪些新闻源软文发布平台
  • ppt精美模板外链seo服务
  • linux系统怎么做网站快速优化官网
  • 合肥做政府网站seo关键字优化价格
  • 行业网站需要如何做上海自动seo
  • Wordpress做物联网网页优化最为重要的内容是
  • 重庆建筑公司100强seo搜索引擎实战详解
  • 如何提高网站安全性杭州营销策划公司排名
  • 昆明智能建站营销策划公司的经营范围
  • 铁法能源公司网站搭建一个网站需要多少钱
  • 网站进度条源代码juqery-ui快速优化工具
  • 如何做网站充值接口百度网盘app下载安装官方免费版
  • 网页制作动态模板郑州黑帽seo培训
  • 正版电子书做的最好的网站企业网站建站