“一超多强”的云格局下,百度云“云+端”依然有看头

百度云通过融合人工智能、云计算和大数据技术,在农业、工业、金融等多个领域展现其技术实力,展现出强劲的增长势头。百度云在智能云领域的深耕细作,正逐渐成为百度的第三大支柱业务。

??Щ?????????????????????2.jpg

文|曾响铃 

来源|科技向令说(xiangling0815)

6月28日,百度云智峰会成都大会上,百度云传达出如何赋能农业、工业、金融、零售、服务业的构想与落地措施,并表达出用人工智能、云计算、大数据及物联网思维引领智能变革的决心。

事实上,这是以技术著称的“ABC”融合战略正在发生的化学反应,百度“云生态”正成为一股可能改变行业云格局的暗涌。

百度的主航道

     百度近年的打法愈来愈清晰:横向上将现有业务体系分成“主航道”与“护城河”;纵向上,以“ABC”融合,对外赋能,打造AI开发者生态。“决胜AI时代”的目标宏愿,与相对较长的技术研发周期的综合作用下,百度正处于一个夯实移动基础的沉潜状态。

在现有业务体系中,百度在搜索、信息流上都占据着优势,市场格局基本已定。但是,有“有野心”的百度一直也在寻找新的增长向量。而最有可能出现突破口的是“主航道”中的最为关键的幕后角色,即智能云。腾讯研究院曾在《用云量与数字经济发展报告2017》中明确指出,云计算与数字经济发展存在着正反馈机制。百度的智能体系,其智能驾驶、智能家居、AIG、DuerOS、短视频、金融等业务无不建立在庞大的云计算基础上。

可以这样说,百度云与大数据、AI摆在同一战线上,支撑起百度的智能体系。而事实上也是如此,百度云正成为继百度搜索与百度信息流之后的第三大支柱,其在百度内部的分量越来越重。

BAT,三大巨头的“云”差异打法

说来也是巧合,目前云巨头多诞生在电商行业,亚马逊是个典型。在国内,阿里在2009年涉足云计算领域,相对较早,从第三方的数据来看,目前阿里的市场份额在40%左右。

不过,云计算领域仍处窗口期,谁都有机会。云计算1.0时代,各家云巨头的市场份额集中在Iaas上,而16年后风口开始转向人工智能,更多公司倾向于整体的解决方案。腾讯云试图将IaaS、PaaS、SaaS全部收归囊中,B端、C端同时发力,努力缩小与阿里的距离,但是现阶段阿里云的服务相对来说更均衡,在CDN、存储领域的能力更优秀。

然而,百度云的出现,给行业的这种现存格局又带来了一些变化。

首先,体现在经营理念上。云计算对阿里、腾讯而言,属于业务的防守阵营。在相对成熟的生态体系内,往往考虑的是商业回报,因此,阿里想借此巩固电商帝国,腾讯则重视现有的社交型生态。真正能下苦功夫研发AI及云计算的企业,唯有百度。

其二,彼此关注的领域会有所区别。阿里和腾讯有着相似的基因,会将大部分资源倾向于C端。而百度云因其与生俱来的技术基因,更多承担的是底层系统建设,因此在PaaS领域的研究更为深入。

其三,介入根基有所差异。从李彦宏的AI站台,到张亚勤的“ABC三位一体”策略,由上至下,百度的骨子里流淌的是极客文化。选择打技术牌,商业回报的速度会慢一点,但由此而造成的马太效应,会形成技术壁垒,进而重塑百度品牌形象。

确实,百度因为技术和战略优势,直接进入大数据和人工智能应用的云计算2.0阶段。很明显,在基础云的竞争方面,阿里云占了优势;但是在商业价值更高的云计算2.0时代,占据AI技术高地的百度云未来大有机会。

拳头出击,百度“云+端”全线布局

作为互联网的龙头企业,BAT通常是整个行业的标杆。目前,BAT在具体的云计算运营方面各有特色。以百度云的打法为例,它是拳头出击,即通过“ABC三位一体”形成合力,找准切入口,快速进入行业级市场。目前百度“云”+“端”全线布局,已深入金融服务、工业制造、交通、智慧家居等领域。此外,相较于阿里云和腾讯云,百度云表现出明显的几个不同。

1、区别于腾讯的社交基因,百度云依然表现的是技术范

毫无疑问,开发云技术首先是为了满足自身的发展需要,同时,云技术开发的深度和广度也与自身业务体系相关联。腾讯的娱乐互动性强,百度的极客文化则对技术要求更为严苛。譬如,在政务合作方面,腾讯云强调利益各方的协同,且聚焦点依然在B端与C端的交互之上,这和腾讯的社交生态体系有莫大的关联。而百度云更强调技术的安全性能以及整体的协同性,这在百度研发无人驾驶上就能初见端倪。

2百度云在“ABC+IoT”上优势明显

百度的“AIoT”发展应当是其值得骄傲的一件事情。其最新推出国内首个智能边缘BIE(Baidu IntelliEdge)、DuHome以及DuGo等是百度云布局IoT领域核心优势的体现。比如在工业互联网领域,百度云集中解决了两大难题:

第一,数据方面,需要考虑到数据使用的整个环节。工业设备上云,在信息采集方面,不仅需要足量的传感器作为媒介,还需要设备本身具备丰富的数据信息;同时,还要考虑到智能设备反馈的数据与云端的函数模型的匹配性。

数据传输过程中,一方面要保证数据的安全,另一方面要保证数据传输的衔接性,譬如在无网或者网络不稳定的情况下,仍要保证数据传输的实时性。当前,物联网网络还面临着带宽受限的问题。百度云的智能边缘BIE利用其开放性接口恰好解决了这些问题,目前应用于煤矿、钢材质检、烤烟生产等领域。

第二,安全性方面,主要体现为信息安全以及系统性安全。AIoT网络安全有可能是源于一个恶意的数据包,也有可能是一个引起黑客攻击的BUG,更可怕的是某一个环节掉链引起整个系统的瘫痪,譬如美国因IoT设备导致的网络瘫痪事件,Facebook的数据泄露等,这些都需要提前预防。

针对IoT+云的安全问题。针对此,百度云采用的是整套而非零散的方案形式,即产品方案涵盖从设备硬件、IoT云平台,再到APP的一站式安防和检测的全链路安防能力,以抵御网络攻击。

3、以技术为中心,百度云更注重赋活型生态

与腾讯所有资源围绕其娱乐生态配置有所区别,百度所有的业务产品,包含搜索、信息流等,均在为技术层面的AI提供服务。这对百度云的营销决策产生着深远的影响,体现在以下两个层面:

第一,整体方案的输出能力。由于所有资源围绕着技术中心,故而百度云的技术硬实力就显得相对集中,研发能力也相对均衡。因此,在对外输出方案的时候,其DuerOS对话式AI开放平台在DuHome的解决方案应用中,则是提供“端”、“管”、“云”、“APP”一站式服务,赋能全屋智能产业链,在DuGo汽车安全领域,也形成类似的整套解决方案。

第二,开放型“云生态”更注重产业赋活能力。按照易观高级分析师董旭的说法,云生态企业成功的关键因素包括:数据中心的资源,技术能力,合作伙伴的数量以及质量,企业客户的生态的维系和关系的稳定。各要素环环相扣,体现的是乘数效应。由于百度战略目标特别精准,因此,后两点对于百度云生态建设更为重要,开放共享式的赋活方式对于合作伙伴与百度自身都有利无害。

而事实上,百度也是这么做的,譬如百度云在家居领域,同海尔、碧桂园等知名地产、家电企业成立“ABC+IoT智能家居互联互通联盟”。 在安全领域,又积极组建AI智能终端安全生态联盟等,在坚持开放共享的过程中,与合作伙伴也达到共赢的结果。

“云生态”,能否助力百度扳回战局?

在“云+端”的扩张中,百度将其技术品牌作为一个产品对外输出。而这种开放式共享更容易造就几何式版图扩张。百度云的开放其实是搭快车的战略选择,能够在短时间内使其获得更大的市场份额和品牌渗透。目前而言,云计算领域的BAT格局依然不可撼动。

1、“一超多强”的云格局长期存在

整个行业大致上分为“云派”及“厂派”,分别对应的是互联网企业及实体科技企业,前者以BAT、AWS、京东为代表,后者以华为、海尔、小米等企业为主导。万物互联时代,两派的通力合作是未来趋势,百度云与海尔智慧家居进行合作,是云派要渗透进厂派,厂派为云派提供具体场景的例证。

2但是,当前的“一超多强”的云格局局面还将长期存在。阿里的先发优势加上电商基因,能率先达到规模经济。并且,完全能够凭借其夯实的基础进行对外扩张,以更稳定的服务和较低的价格来占据更多的市场份额。强技术壁垒优势,使得百度云在Cloud2.0时代超越“AT”大有机会。

对标阿里产品的绝对实力以及腾讯的营销优势,百度云的最大特色则是技术的沉潜,这种优势随着时间的积累,爆发力更强,尤其在与物联网紧密关联的工业制造领域。而经济发展越往深走,对于AI人才的需求也更强,百度的工程师及极客文化建造的人才梯队,可能会形成后续竞争中百度最核心的竞争力。

即便是现在,百度云也已经开足了马力。百度总裁张亚勤,将百度云明确定位为产业的智能引擎,显然,百度内部对“ABC”战略充满着期待。百度云目前与近300家单位达成深度合作,战绩颇丰。有数据统计,相比2016年,百度云客户数增长近10倍,流量呈现8倍增长,收入则达到了2016年的4倍,成为国内公有云市场中增速最快的云厂商,这些数据恰恰是百度云“提档加速”,ABC技术势能全面爆发的印证。

【写在最后】

相较于阿里、腾讯巩固现有城池的防守型战略,百度在AI方面的发力要大得多,旨在“攻城略地”的进攻性战略。根据目前的发展态势可以预见,“百度云生态”会带来更多的惊喜。因为,“ABC”战略的成败是百度在Cloud2.0时代获得领先地位的关键一环,百度云势必会比阿里云、腾讯云拼命得多。

【完】

曾响铃

1钛媒体、品途商业评论等2016年度十大作者;

2虎啸奖评委;

3AI新媒体“智能相对论”创始人;

4作家:【移动互联网+ 新常态下的商业机会】等畅销书作者;

5《商界》《商界评论》《销售与市场》等近十家杂志撰稿人;

6钛媒体、界面、虎嗅等近80家专栏作者;

7“脑艺人”(脑力手艺人)概念提出者,现演变为“自媒体”,成为一个行业。

8现为“今日头条问答签约作者”、多家科技智能公司传播顾问;

内容概要:本文系统介绍了算术优化算法(AOA)的基本原理、核心思想及Python实现方法,并通过图像分割的实际案例展示了其应用价值。AOA是种基于种群的元启发式算法,其核心思想来源于四则运算,利用乘除运算进行全局勘探,加减运算进行局部开发,通过数学优化器加速函数(MOA)和数学优化概率(MOP)动态控制搜索过程,在全局探索与局部开发之间实现平衡。文章详细解析了算法的初始化、勘探与开发阶段的更新策略,并提供了完整的Python代码实现,结合Rastrigin函数进行测试验证。进步地,以Flask框架搭建前后分离系统,将AOA应用于图像分割任务,展示了其在实际工程中的可行性与高效性。最后,通过收敛速度、寻优精度等指标评估算法性能,并提出自适应参数调整、模型优化和并行计算等改进策略。; 适合人群:具备定Python编程基础和优化算法基础知识的高校学生、科研人员及工程技术人员,尤其适合从事人工智能、图像处理、智能优化等领域的从业者;; 使用场景及目标:①理解元启发式算法的设计思想与实现机制;②掌握AOA在函数优化、图像分割等实际问题中的建模与求解方法;③学习如何将优化算法集成到Web系统中实现工程化应用;④为算法性能评估与改进提供实践参考; 阅读建议:建议读者结合代码逐行调试,深入理解算法流程中MOA与MOP的作用机制,尝试在不同测试函数上运行算法以观察性能差异,并可进步扩展图像分割模块,引入更复杂的预处理或后处理技术以提升分割效果。
<think>好的,我现在需要帮助用户解决如何检查STM32项目的头文件中是否已定义某个函数以避免冲突的问题。首先,我得回顾下之前的对话,确保自己理解用户的上下文。用户之前询问了函数定义冲突的问题,我给出了详细的解释和解决方法。现在用户提到参考了站内引用,特别是关于防止头文件重复包含和extern关键字的用法,现在想知道如何检查头文件中的特定函数是否存在,以避免冲突。 首先,我需要确定用户的需求。用户可能是在开发STM32项目时遇到了函数重复定义的错误,或者在添加新函数时想确保没有命名冲突。他们希望找到种方法来检查头文件中是否已经存在某个函数,从而在编码阶段预防问题。 接下来,我应该考虑用户可能不熟悉哪些工具或方法。例如,他们可能不知道如何利用IDE的搜索功能,或者对预处理指令如#ifdef不太了解。或者他们可能没有使用过静态代码分析工具,或者对编译器的警告信息不够关注。 然后,结合用户提供的引用内容,特别是引用[1]和[2]提到的防止头文件重复包含的宏和条件编译,以及引用[3]中的extern用法,我需要将这些知识点整合到回答中。用户已经了解防止重复包含的方法,现在需要扩展这些知识到检查特定函数是否存在。 可能的解决方案包括手动检查头文件、使用IDE的搜索功能、利用预处理指令进行条件编译、使用编译器警告、静态代码分析工具,以及生成MAP文件来查找符号定义。此外,还可以建议用户采用命名规范和模块化设计来预防冲突。 我需要确保回答的结构清晰,分步骤说明每种方法,并给出具体的示例,比如如何使用#ifdef来条件编译函数定义,或者如何查看MAP文件中的符号。同时,要提醒用户注意函数声明和定义的致性,以及extern关键字的正确使用,避免重复定义。 还需要考虑用户的实际操作场景,例如他们可能使用的是Keil、IAR或者STM32CubeIDE,不同的IDE有不同的搜索和调试功能,可能需要分别说明。不过为了通用性,可以给出通用的方法,如文本搜索和编译器选项。 最后,应该提供相关问题,帮助用户进步深入理解,比如如何利用版本控制工具或自动化脚本检测重复函数,或者如何配置编译器以显示更警告信息。这样不仅解决了当前问题,还扩展了用户的知识面,帮助他们预防未来的类似问题。 在整理回答时,要确保语言简洁明了,步骤具体,示例代码正确,并且符合用户的中文要求。同时,引用之前的引用内容,比如条件编译和extern的用法,来增回答的权威性和相关性。</think>在STM32开发中,检查头文件是否已定义特定函数以避免冲突,可通过以下方法实现: --- ### 、手动检查方法 #### 1. **全局文本搜索** - **操作步骤**: - 在IDE(如Keil、STM32CubeIDE)中使用`Ctrl+Shift+F`全局搜索目标函数名 - **重点检查范围**: - 用户自定义头文件(`.h`) - 标准库头文件(如`stm32f1xx_hal.h`) - 第三方库头文件 - **优势**:直接定位所有包含该函数的位置 - **示例**: ```c // 搜索"UART_Send"时发现重复定义 // uart.h void UART_Send(uint8_t data); // utils.h void UART_Send(char* buffer); // 参数类型不同导致冲突 ``` #### 2. **条件编译辅助检查** - **原理**:通过`#ifdef`检测符号是否已定义[^2] - **代码示例**: ```c #ifndef MY_FUNC_DEFINED // 检查自定义标识符 #define MY_FUNC_DEFINED void My_Function(void) { // 函数实现 } #endif ``` - **应用场景**:在编写新函数时主动添加保护宏 --- ### 二、自动化检查方法 #### 1. **编译器警告分析** - **配置编译器**: - Keil中开启`--warn_duplicate_definitions`选项 - GCC添加`-Wredundant-decls`参数检测冗余声明 - **典型输出**: ``` warning: redundant redeclaration of 'GPIO_Init' [-Wredundant-decls] ``` #### 2. **静态代码分析工具** - **推荐工具**: - PC-Lint:检测函数重复定义和声明不致 - Cppcheck:扫描跨文件的符号冲突 - **检测示例**: ``` error: Function 'Delay_MS' already defined in src/driver.c:45 ``` #### 3. **MAP文件解析** - **生成步骤**: 1. Keil:`Options for Target -> Linker -> Enable Memory Map` 2. IAR:`Linker -> List -> Generate linker map file` - **分析方法**: - 在`.map`文件中搜索函数名,查看是否出现次 ```map .text.Delay_MS 0x08001234 0x40 src/main.o .text.Delay_MS 0x08002200 0x40 src/utils.o // 重复定义 ``` --- ### 三、工程实践建议 #### 1. **头文件规范** - **制要求**: - 所有头文件必须包含条件编译保护[^1] ```c #ifndef MODULE_H #define MODULE_H // 声明或定义 #endif ``` - **声明与定义分离**: - 头文件仅包含函数声明(使用`extern`)[^3] ```c // 正确做法(module.h) extern void Critical_Function(void); ``` #### 2. **命名空间隔离** - **模块前缀法**: ```c // ADC模块函数 void ADC_StartConversion(void); // PWM模块函数 void PWM_SetDutyCycle(uint8_t duty); ``` - **文件作用域限制**: ```c static void Internal_Helper(void) { ... } // 仅本文件可见 ``` --- ### 四、冲突预防流程 1. **编写阶段**:使用`#ifdef`主动检查标识符存在性 2. **编译阶段**:开启编译器所有警告(Keil中`-Wall`) 3. **链接阶段**:分析.map文件的符号表 4. **调试阶段**:通过调试器验证函数实际调用地址 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值