华为云社区的学习心得(华为云培训心得)
华为云服务器特价优惠火热进行中! 2核2G2兆仅需 38 元;4核4G3兆仅需 79 元。购买时间越长越优惠!更多配置及优惠价格请咨询客服。
合作流程: |
今天给各位分享华为云社区的学习心得的知识,其中也会对华为云培训心得进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
微信号:cloud7591如需了解更多,欢迎添加客服微信咨询。
复制微信号
本文目录一览:
一文带你了解NB-IoT标准演进与产业发展
本文分享自华为云社区《一文带你了解NB-IoT标准演进与产业发展》,作者:万万万。
我们都知道,物联网的场景和手机、电脑在使用的传统互联网是不太一样的。那么,就无线通信场景而言,物联网有什么样的特点呢?首先,感知层的物联网设备在进行数据收发的时候,那些数据包是比较小的,并且收发的频率也是比较低的,有的时候每天只需要发送不到十个数据。其次,为了提高物联网设备的使用寿命,这些设备对能源的消耗是比较小的,所以这也要求设备在通信的时候功耗也是要比较低的。
总结起来,就是无源、小包、偶发的通信需求。基于这样的场景需求,就要求通信网络必须要是功耗低,覆盖广的,也就是LowPowerWideArea的场景。
在LPWA场景当中,当下最热门的一项技术莫过于NB-IoT通信技术。它被广泛使用于现如今的公共事业、城市管理当中,所以了解NB-IoT的技术细节以及解决方案对学习物联网就显得很重要了。
本文将带大家详细了解NB-IoT标准演进与产业发展。
NB-IoT技术标准最早是由华为和沃达丰主导提出来的,之后又吸引了高通和爱立信等一些厂家。从一开始的NB-M2M经过不断的演进和研究,在2015年的时候演进为NB-IoT,在2016的时候,NB-IoT的标准就正式被冻结了。当然,NB-IoT的标准依然在持续的演进当中,在17年的R14当中就新增了许多特性,到了R14版本,NB-IoT具有了更高的速率,同时也支持站点定位和多播业务了。在2020年7月9日最新召开的会议上,NB-IoT这项技术已经被正式接纳为5G的一部分了。
这一事件对于NB-IoT来说有一个什么样的好处呢?当NB-IoT这项技术被归为5G的标准之后,也就是说,即使是通过NB-IoT接入网络的物联网设备,最终也可以连接5G核心网,享受5G的边缘计算、网络切片等一些服务。所以,这一事件对于NB-IoT来说是非常非常重要的。但是由于现阶段的NB-IoT并不支持接入5G网络,所以该技术在后续仍需要经过不断的演化和技术的演进才能进入5G网络当中。
图1全球运营商LPWA技术选择分布
从上图可知,全球大多数的运营商在进行LPWA技术选择的时候都是先选择去部署一张NB-IoT的网络,之后再去部署一张eMTC的网络。其原因在于运营商都是倾向于先去部署一张他们本来没有的网络,因为之前没有像NB-IoT这样的网络去支持低功耗广域网的场景,并且也从来没有专门为了设备去设计一张网络供物联网终端设备来使用。
之前所使用的运营商网络其实都是给人来使用的,为了方便人们的通信,所拥有的语音通信以及越来越高的传输速率等等。但是NB-IoT不一样,这张网络速率是非常慢的,人类去使用的话体验肯定是非常差的,但是这张网络对于底层的设备来说是非常合适的。原因之一是因为覆盖范围非常广,另一个原因是能耗低,速率低等。至于eMTC这张网络,它的速率相对于NB-IoT是要高的,并且还支持语音通信,所以它与用户现在正在使用的2G网络是比较相近的。所以在2G网络退网之后,运营商就可以选择使用eMTC去代替2G网络来进行使用,这就是大部分运营商选择先部署NB-IoT网络再部署eMTC网络的原因。
对于运营商来说,除了有选择技术的问题之外,另一个就是频谱选择的问题,因为这是一个避不开的问题。如果要满足低功率广域网的场景的话,网络的频段要够低,因为它既要满足广覆盖,还要满足网络的穿透性。大部分感知层的物联网设备,像气表、水表等,它们是被放在厨房的柜子里的,相当于是被层层遮蔽的,如果网络穿透力不够的话是没有办法跟设备进行连接的。
图2全球运营商NB-IoT频谱选择
同时,频段越低穿透性越强,频段越高穿透性越弱。所以由图2可以看到,对于运营商来讲,他们相当于把最合适的一部分频段都拿出来了。所以大部分的运营商都是在700到900M这一部分也就是SubG频段来进行部署。当然,也有少数的部分像中国联通他有一部分是放在1800M。所以在上文中提到的,NB-IoT网络主要是部署在SubG频段的,而不是说全部都是在SubG频段原因就在于此。
另外,由于NB-IoT的网络是基于4GLTE的网络的。所以运营商会在4G的基站中选择一部分基站去做软件升级来作为NB-IoT的基站。但是中国联通不一样,因为中国联通的4G基站就是基于3G基站升级得到的。所以就相当于它可以直接使用3G1800MHz的基站升级得到NB-IoT的基站,所以联通经过基站平滑升级之后,就直接在1800M使用NB-IoT网络,节省了很大的成本。这也就是为什么中国联通可以在1800MHz部署NB-IoT网络。
除了网络技术,基站和频段之外,如果想要使用这个网络也得有支持设备与基站连接的芯片。所以华为早在R13就推出了Boudica120芯片,由于它推出的比较早,所以芯片的功能并不是特别强,只支持SubG频段,并且也不支持移动性这些在R14才演进的特性。所以基于R14的一些新特性,华为又推出了Boudica150芯片来满足新特性的使用。
图3NB-IoT产业生态
图3为NB-IoT技术的应用情况,其实NB-IoT所涉及的领域是比较多的。像水表、气表、路灯、智能停车等等应用当中都有涉及。

生产环境频繁内存溢出,原来就是因为这个“String类”
本文分享自华为云社区《【高并发】你敢信?String类竟然是导致生产环境频繁内存溢出的罪魁祸首!!》,作者: 冰 河 。
最近,一名小伙伴跟我说:他写的程序在测试环境一点问题没有,但是发到生产环境却会频繁出现内存溢出的情况,这个问题都困扰他一周多了。于是乎,周末我便开始帮他排查各种问题。
在排查问题的过程中,我发现这位小伙伴使用的JDK还是1.6版本。开始,我也没想那么多,继续排查他写的代码,也没找出什么问题。但是一旦启动生产环境的程序,没过多久,JVM就抛出了内存溢出的异常。
这就奇怪了,怎么回事呢?
启动程序时加上合理的JVM参数,问题依然存在。。。
没办法,继续看他的代码吧!无意间,我发现他写的代码中,大量使用了String类的substring()方法来截取字符串。于是,我便跟到JDK中的代码查看传递进来的参数。
这无意间点进来的一次查看,竟然找到了问题所在!!
经过分析,竟然发现了JDK1.6中String类的一个大坑!为啥说它是个坑呢?就是因为它的substring()方法会把人坑惨!不多说了,我们先来看下JDK1.6中的String类的substring()方法。
接下来,我们来看看JDK1.6中的String类的一个构造方法,如下所示。
看到,这里,相信细心的小伙伴已经发现了问题,导致问题的罪魁祸首就是下面的一行代码。
在JDK1.6中,使用 String 类的构造函数创建子字符串的时候,并不只是简单的拷贝所需要的对象,而是每次都会把整个value引用进来。如果原来的字符串比较大,即使这个字符串不再被应用,这个字符串所分配的内存也不会被释放。 这也是我经过长时间的分析代码得出的结论,确实是太坑了!!
既然问题找到了,那我们就要解决这个问题。
既然JDK1.6中的String类存在如此巨大的坑,那最直接有效的方式就是升级JDK。于是,我便跟小伙伴说明了情况,让他将JDK升级到JDK1.8。
同样的,我们也来看下JDK1.8中的String类的substring()方法。
在JDK1.8中的String类的substring()方法中,也调用了String类的构造方法来生成子字符串,我们来看看这个构造方法,如下所示。
在JDK1.8中,当我们需要一个子字符串的时候,substring 生成了一个新的字符串,这个字符串通过构造函数的 Arrays.copyOfRange 函数进行构造。这个是没啥问题。
这里,为了更好的提升系统的性能,我也帮这位小伙伴优化了JVM启动参数。
经小伙伴授权, 我简单列下他们的业务规模和服务器配置:整套系统采用分布式架构,架构中的各业务服务采用集群部署,日均访问量上亿,日均交易订单50W~100W,订单系统的各服务器节点配置为4核8G。目前已将JDK升级到1.8版本。
根据上述条件,我给出了JVM调优后的参数配置。
至于,为啥会给出上述JVM参数配置,后续我会单独写文章来具体分析如何根据实际业务场景来进行JVM参数调优。
经过分析和解决问题,小伙伴的程序在生产环境下运行的很平稳,至少目前还未出现内存溢出的情况!!
如果在程序中创建了比较大的对象,并且我们基于这个大对象生成了一些其他的信息,此时,一定要释放和这个大对象的引用关系,否则,就会埋下内存溢出的隐患。
JVM优化的目标就是: 尽可能让对象都在新生代里分配和回收,尽量别让太多对象频繁进入老年代,避免频繁对老年代进行垃圾回收,同时给系统充足的内存大小,避免新生代频繁的进行垃圾回收。
华为云专家一席谈:开发低代码,上手低门槛,AppCube让人人都是开发者
企业在数字化转型过程中,面临着软件开发的不确定性。如开发人员间的沟通、业务的灵活多变、软件工程师技能差异、新技术的出现等,导致软件开发实际成果和人力工作量的投入之间产生很大的差距。
让不确定因子变为确定性因子,把复杂留给平台,简单留给开发者, 是软件开发效率改进一直努力的方向,也是低代码理念的来源。
从软件开发的过程来看:从机器语言到汇编语言,到面向对象、面向函数等高级语言,软件开发技术其实攀登的是一棵“复用”树。复用的表现方式,主要体现为:组件化和框架化。而这两种表现形式正是低代码开发平台所带来的特点。
Gartner预测到2024年,低代码应用程序开发将负责超过65%的应用程序开发活动。低代码将成为下一代企业IT系统的主流开发手段。
脱胎于华为内部流程与IT的最佳实践的 低代码开发平台AppCube ,仅需拖拉拽操作就能搭建各种业务流程,真正的帮助到企业快速开发,应对市场发展。
那么,低代码开发平台AppCube都有哪些特征帮助用户进行应用快速开发?平台开放性如何呢?为此,华为云开发者社区邀请到了 华为云AppCube的专家组老师 ,听他们聊一聊华为云的低代码应用之道。
低代码是一个相对的概念。从字面上看,能减少代码量的开发方式就可以看做是低代码。我们认为低代码平台指面向业务开发人员,屏蔽底层技术复杂性,以可视化方式为主,少量代码为辅,用来快速搭建各种应用系统的开发平台。
如果套用自然界的进化论,低代码可以看做是软件开发方式在应对飞速增长的软件业务规模及不断提高的软件业务复杂度这一云计算时代大背景下的进化和演进。它的核心价值就在于帮助大量传统企业以低门槛、低成本的方式构建应用系统,帮助企业充分发挥上云后云计算的算力优势。
AppCube是2015年通过国内外专家联合设计开发出来的,早先是应用在电信行业,减少电信软件的定制人力投入。
AppCube提供四大能力,帮助开发者高效构建应用:第一, 页面编排能力 ,可以把页面的组件、布局、颜色进行编排;第二, 相关数据建模能力 ,用于保存业务数据;第三, 业务逻辑编排能力 ,基于机器自动执行的、不需要人为干涉的流程,可以高效编排;第四, BPM的流程编排的能力 ,用以解决人为干涉和审批类的流程问题。
当然,企业数字化的场景非常复杂。为此,华为云应用魔方AppCube提供了全场景的开发能力: 对于专业软件开发工程师和企业IT人员 ,可以用低代码开发能力快速开发应用; 对于业务人员 ,可以用零代码能力,通过一些拖拽快速构建; 对于面向专业领域的专业问题 ,如复杂业务算法,开发者可以使用Java、Python等语言开发,以微服务的方式发布到AppCube低代码平台进行托管和调用。
AppCube不仅仅只提供应用开发能力,也提供应用运行和运维能力,包括应用托管、部署、升级能力,租户侧的应用运维能力(监控告警、日志等)以及运行时的配置能力。一些市场上的低代码产品仅提供应用启停能力甚至无应用托管能力。
从应用开发能力来说,AppCube带有华为数字化转型基因,更能支撑行业复杂应用场景及核心业务软件开发。 AppCube整体架构是以元数据驱动的,提供服务总入口,Serverless后端支撑 ,完美的解决了数字化转型复杂场景应用构建的问题。
AppCube作为开放能力入口,提供了快速调用华为云能力、WeLink能力、第三方系统能力的方法,让开发者能够更容易地使用到先进的技术和服务。AppCube还支持资产沉淀和复用,过往的经验可以变成开发资产/服务上架共享,让每个AppCube开发者都可以站在别人的肩膀上走的更远。
AppCube为开发者从应用开发到上线运行,提供三大服务:第一, 开发者服务 ,给开发者提供了一个开发环境,让应用可以快速编排和开发,也可以编排相应的服务,或调用微服务。第二, 沙箱测试服务 ,开发的应用可以快速打包到测试环境,进行业务上线前的测试,第三, 运行态服务 ,对于测试完毕的应用可以打包安装到运行环境,使应用上线运行。
例如在开发环境中,AppCube提供丰富的应用模板,实现0到1的开发和沉淀,应用模板可以直接安装使用,对于定制化的诉求可以直接在此模板上修改源代码。比如设备维修的场景,用户会给客服人员打电话,客服接到电话之后马上创建工单,然后派单给工程师进行维修。类似于这种实际应用场景有很多的模板,在华为云AppCube模板市场可直接订阅之后可立即上线,相当于开放了很多基于应用场景的源代码,模板其实就是一些开源代码。
AppCube可以构建如下四类应用创建:第一,构建2B企业复杂的内部流程类、内部管理类、生产管理类应用。第二,构建企业大屏、领导驾驶舱等展示类应用。第三,可以构建手机端的小程序等应用,第四,构建办公、流程类等轻应用。点击体验(;utm_medium=paasutm_content=content)
AppCube操作页面
移动端应用样例
IOC大屏应用样例
装修管理系统样例
在数据存储方面,AppCube提供数据库,应用运行时产生的业务数据存储、访问、处理、传递等CRUD操作都可以通过相应的API完成。
AppCube支持在App、BO或者Addon App中开发或者编辑服务编排、脚本、BPM、状态机、标准页面、页面资产时,在获取锁、未激活状态且数据为非受保护下的开发数据可以自动保存在缓存中。默认每15分钟保存一次,最长保存7天。
在应用安全防护方面,AppCube租户数据是互相隔离的,安全性符合华为云服务安全标准。同样是利用AppCube模板开发出来的应用,在不同租户下会打上不同的命名空间前缀以示区分,也就是说,不同租户用同一个模板创建出来的应用是不一样的。
AppCube提供多样的平台能力供开发者进行应用配置开发。开发者使用模板创建应用后,可以在开发页面左侧的目录树中查看当前应用的资源目录并进行修改,如新增/删除页面、业务逻辑、流程、脚本等;也可以选中想要修改的组件、图元等应用元素,在页面右侧的元素配置框中修改相应的设置。
不仅如此, AppCube给予开发者充分的自由度,非常欢迎开发者自己开发软件模板并共享。
我们在华为云学院有上架 免费的AppCube学习课程 ,平台开发环境中也内置了学习中心和实战演练版块,有案例演示视频及视频操作指导。另外我们还会定期举办 AppCube开发者云上交流会 ,针对开发者问题以及平台新特性等进行直播讲解。另外,可以关注华为云 应用魔方AppCube开发者论坛 和 应用魔方AppCube公众号 获取交流会的举办和报名信息。
市场对低代码的关注度提高,对产品领域来说是利好的,势必会涌现大批低代码业务平台,市场对低代码平台的体验期待和要求也会更高,竞争会更激烈,行业会逐渐发展成熟,低代码开发领域会在各行各业出现更精细、更有行业属性的平台,相应的行业标准和平台规范会逐渐建设起来,我们对这些还是很期待的。
AppCube在接下来会继续优化开发体验, 推出零码体验场景 ,降低开发者上手门槛;深化 与办公协同软件WeLink的融合集成 ,推进能力连接器建设,服务好企业数字化;联合各行各业的伙伴共建平台,做好生态,服务好开发者。
关于华为云社区的学习心得和华为云培训心得的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
