时间:2022-5-13来源:本站原创作者:佚名
点击上方“EGONetworks”可以订阅EGO是高端技术人聚集和交流的组织,每周我们都会对一位会员进行人物专访,在展示会员风采的同时,也分享会员们对技术、对工作、对人生的感悟,本周,我们邀请到了荔枝FM的CTO丁宁。EGO:能先简单介绍一下荔枝FM吗?

丁宁:荔枝FM是一款手机的轻电台应用,可以在手机上开设自己的电台和录制节目。主要是集录制、编辑、上传、存储、收听、下载于一体,然后又融入了大量的社交元素的这么一款电台类应用,它可以满足各类需求的人群,因为在电台的收听人群中,年龄段的跨度会比较大,所以我们融入这些元素也是为了解决各种需求的人群吧。

EGO:荔枝FM这样的模式对技术与架构会有怎样的要求与挑战?

丁宁:荔枝FM的业务特点还是比较明显的,会有大量并发的页面刷新,还有音频数据的请求,这是最重要的两个方面。

这两个特点,一般技术人看到后,首先就会想到HTTP传输,还有CDN的加速,但是荔枝并没有完全采用这样的方案,因为HTTP虽然好处明显,但耗电量大、流量大、可控精度粗、产品体验受到制约等劣势也很明显。最后,我们在这两个方案的基础上研发了更适合这类业务的解决方案,我们决定采用TCP,然后在TCP的模式上做一些补充。

当然之前也有过HTTP和TCP共用的做法,但这样的多通道会带来状态一致性的问题。针对这个问题,我们又研发了一套单通道多路复用的技术。这个技术使用之后,对上层开发人员来说就和HTTP一样简单,但它在底层只保持了一个TCP的连接,就能防止多通道导致客户端网卡的拥塞。

最后在荔枝FM,不仅信令通道会使用这条链路,后期甚至在上传音频节目这一业务上,我们走的也是这条链路,真正做到单通道多路复用,这样的话,既保持了HTTP的易用性,又最大限度的利用了TCP的灵活性。

EGO:那这样会不会导致上传、响应等特别慢?

丁宁:其实并不会,这个东西在最底层是混到一起去上传了,但我们把它放到应用层上去处理了,会把整个上传的数据分片去传输,我们做了大量的测试,会根据网络的状况和用户的操作实时调整分片的大小。

另外在服务端,为了应对大量的并发请求,我们采用了一些微架构的调整,不同的业务请求会转到相应的业务处理架构上去执行,而且每一个抽象的架构层之间,都会通过SDK的调用来解耦,这样就算某一个业务单元崩溃,不会导致整个架构的崩溃。

但这么做也有利有弊,弊端就是最初的开发速度会慢一些,因为你需要团队全部了解这个架构的组成,以及你设计的思想。而且从顶端设计开始,都是由高级架构师一起讨论然后定案,什么业务能拆、什么业务不能拆、怎么个拆法、拆了之后、分布了之后可能会发生什么样的问题、如果发生问题该采取什么样的应对措施等,这些在前期的时候要进行充分的讨论,会花很多时间在这上面。

EGO:那荔枝FM具有核心竞争力的技术有哪些呢?

丁宁:其实荔枝FM真正核心的技术还是集中在音频方面。现在荔枝有两个音频团队,分别负责语音处理和语音识别。

在语音处理方面,荔枝FM现在有一整套的降噪、回声抑制、润音还有面向小音腔设备录音播放的解决方案。同时,现在我们已经研发出可带有音乐的、全时段剪辑的解决方案,这个目前还是荔枝独有的,这个技术我们也申请了专利。

在语音识别方面,我们现在的精力主要放在提高语义识别的精度上,这个是我们觉得是未来非常重要的一点,也是现在互联网上很多团队在做的事情。对于我们这类应用,难点就是找到用户感兴趣的点,并给他推荐他所感兴趣的内容,所以我们对所有的音频资源进行定位和标签,再进行精准匹配,也就需要我们在语音识别上下更多的功夫。而且语音识别未来的想象空间会很大,真正识别之后就可以去做更多的事情。

EGO:对于技术团队管理,您有何个人心得?

丁宁:其实团队管理中,最大的难题并不是技术本身,也不是你带什么团队,语音团队也好、开发团队也好,其实所有的团队带法都差不多,碰到的挑战也都是一致的。我觉得,对于技术团队来说,挑战最大的其实还是找人,找有管理能力的人,所以很多的技术管理者,他很多时候都是在做招聘。

然后过了招聘这个层面,主要就是项目管理了。因为,创业这个阶段,你要干得事情非常杂,从上到下每个细节你都需要去
转载请注明原文网址:http://www.4006677657.com/lzgx/lzgx/17420.html

------分隔线----------------------------