融云服务已覆盖全球,实现系统到 APP 的通信

摘要即时通信云服务商融云2019年于11月30日正式宣布,已完成数亿元 C
轮融资。本轮融资由东方证券旗下东证资本、国投创业以及中经合资本联合投资。此前,融云曾于
2016 年 2 月完成由合创资本领投的 A 轮 5000 万元融资。2017年 6
月,融云完成了由金浦投资领投、泰岳梧桐资本等跟投的亿元 B
轮融资。融云表示,此次融资将主要用于构建全球互联的通信云模式,具体细分在产品创新和技术研发、专业化运营服务体系打造以及全球化战略布局推进三大方面。在融资发布现场,融云董事长汪铖及投资人代表唐祖佳分别就融云的未来发展前景、行业最新投资趋势等话题进行了分享。融云成立于
2014
年,聚焦互联网通信云赛道,专注为开发者和企业客户提供即时通讯和实时音视频通信云能力。艾瑞报告数据显示,融云连续多年在
IM即时通讯领域市场占有率第一。据了解,融云的技术团队源自飞信技术团队和三星研究院,通过私有通讯协议和分布式的微服务架构,在高并发和弱网环境下,可以保障消息的不丢、不重、不乱序。同时,融云在实时音视频市场拥有多年研发经验,从技术指标看,融云的表现较为优秀,如音频可对抗
50% 丢包,视频可对抗 30% 丢包,音视频延时最低可达 66ms
。此外,融云还于今年推出了磐石、锦囊、方舟、魔方及玲珑五大服务体系,将原有的服务能力与全新的服务模块进行整合,搭建了可以全面覆盖客户整个生命周期的服务体系,从稳定性、可靠性、安全性、个性化、先进性等多维度为客户提供管家式服务。目前,融云服务已覆盖全球
233 个国家及地区,SDK 触达用户量超过 40 亿,日均消息量达 150
亿条,日消息峰值超 2218 亿条,为超过 30 万款 App
提供了即时通讯和实时音视频云服务,长期服务于万科、哈啰出行、Opera、汽车之家、得到App、易车网、CastBox、斗米、荔枝等海内外各行业客户。C轮融资之后,融云将进一步推进全球化互联网云服务的发展。融云
CEO
韩迎表示,融云将持续巩固即时通讯和实时音视频领域的技术优势,提升专业服务质量。同时,以全球化为战略导向,强化全球加速网络的覆盖范围和能力,进一步孵化新业务,加强横、纵向资源整合,打造互联网通信云行业新生态。

摘要微信自用的安卓APP与系统间通信解决方案——Hardcoder已开源,该方案能让微信的整体性能提升10%-30%。1、Hardcoder
的诞生随着微信越来越复杂,性能优化变得越来越难做,优化所带来的效果提升也越来越不明显。所以我们⼀直在思考,该如何突破这个优化的极限?直到有一次与厂商的交流我们了解到,部分厂商会针对微信做一些小改动,其中比较典型的就是“暴力提频”。系统在识别到微信启动,页面切换等场景时,会粗暴地提高
CPU 频率,从而提升 APP
运行的性能。但由于厂商无法准确判断微信场景,暴力提频效果并不理想;而如果过多地提高
CPU
频率,又对手机的功耗有影响。这一方案启发了我们,我们何不跳出软件的范畴,在手机硬件的层面上挖掘更多的性能优化空间呢?于是
Hardcoder 框架应运而生。2、Hardcoder
是什么厂商暴力提频效果不理想是由于在目前 Android
框架下,手机没有办法准确获知 APP
需要资源的时机。如果我们需要挖掘手机硬件层面的性能优化,就需要跳过
Android
操作系统的应用框架,在应用开发者和硬件之间打开一个通道,让硬件可以直接根据应用开发者的需要进行资源的调度。Hardcoder
构建了 APP 与系统(ROM)之间可靠的通信框架,突破了 APP 只能调用系统标准
API,无法直接调用系统底层硬件资源的问题,让 Android APP
和系统能实时通信。利用 Hardcoder,APP 能充分调度系统资源如 CPU
频率,大小核,GPU 频率等来提升 APP 性能,系统能够从 APP
侧获取更多信息以便更合理提供各项系统资源。同时,对于 Android
缺乏标准接口实现的功能,APP
和系统间也可以通过该框架实现机型适配和功能拓展。3、Hardcoder
框架通信流程Hardcoder 框架分为 Server 端和 Client 端。其中 Server
端在厂商系统侧实现,Client 端以 aar 形式合入到 APP中。APP
在需要资源的时候,向 Hardcoder 的 Client 端发出请求。Hardcoder Client
端接收到请求后向 Hardcoder Server 端发出请求。Server
端接受到请求后会根据请求参数向硬件申请不同的资源,比如调整 CPU
频率,把线程绑定到大核运行等,实现了 APP
到系统的通信。同时系统也可把当前系统的状态通过 Hardcoder Client 在
Server 端注册的接口回调通知到 Client 端,从而 APP
可以获取到系统状态,实现系统到 APP 的通信。Hardcoder Client 端与 Server
端采用的是 LocalSocket 的通信方式,由于 Hardcoder 采用 Native
实现,因而在 C 层使用 Linux 的 socket 接口实现了一套 LocalSocket
机制作为 Client 端与 Server 端之间的通信方式。Hardcoder
通信框架有以下特点:1)系统服务为
optional,实现上可以完全支持或者部分支持;2)框架实现不依赖于特定
Android 系统,如 API level 限制;3)APP
的功能和业务特性不依赖于该框架。4、Hardcoder 适用场景和效果Hardcoder
框架有效提升了微信启动、发送视频、小程序启动等重度场景的速度,朋友圈的滑动流畅性也明显提升,平均优化效果达
10%-30%。此外,由于微信作为主动请求方可以在场景资源把控上做得更精细和准确,Hardcoder
在性能得到提升的同时仅增加了 2% 的电量消耗,相当于用 2% 的功耗换取平均
20% 的性能提升。Hardcoder 框架目前已接入
OPPO、vivo、华为、小米、三星、魅族等主流手机厂商,覆盖 4.6 亿+
设备量。5、Hardcoder
开源从微信技术开放共享的理念出发,我们在腾讯内部进行了 Hardcoder
框架的宣传和推广,包括手机
QQ、企业微信、天天快报等多个应用团队接入。其中手机 QQ 接入 Hardcoder
后,在启动、打开聊天界面、发送图片等场景的平均优化效果达
10%-50%。我们现将 Hardcoder 框架开源,让更多 Android 开发者享受到
Hardcoder 框架的价值,解决大家在性能优化和机型适配上的烦恼。欢迎大家查阅
github 网址:
Hardcoder一、通过 Hardcoder 技术方案介绍,了解 Hardcoder
实现原理以及框架;二、使用工程自带 testapp 快速使用 Hardcoder
并验证效果,具体请见 Hardcoder Testapp 测试指南;三、APP 接入
Hardcoder,具体请参见 Hardcoder 接入指南:1)下载 Hardcoder 工程编译
aar;2)项目 build.gradle 引入 Hardcoder aar;3)进程启动时调用
initHardCoder 建立 socket
连接(一般进程启动时需要请求资源,因而推荐在进程启动时调用)。每个进程都是独立的,都需要调用
initHardCoder 建立 socket 连接,建立连接后每个进程维持一个
socket,进程退出时 socket 也会断开;4)initHardCoder 回调成功后调用
checkPermission,传入 APP
已申请的各个厂商鉴权值;5)在需要请求资源的场景调用
startPerformance,传入请求资源的参数。若场景位于进程启动阶段,比如 APP
启动,需要在 initHardCoder 的回调成功以后再调用
startPerformance,确保连接已成功建立,或者判断 HardCoderJNI 的
isConnect() 检查 socket 是否已连接。6)场景结束时主动调用
stopPerformance,传入对应场景 startPerformance 时的返回值 hashCode
作为参数,停止本次请求。7)测试性能,APP 可对打开/关闭 Hardcoder
的情况做对比实验,测试性能是否有提升。四、向厂商申请线上权限,具体请见常见问题;五、发布带
Hardcoder 功能的 APP。附录: github的wiki
文档链接Hardcoder产品方案介绍:
技术方案介绍:
testapp
测试指南:
接入指南:

摘要2019年7月12日,今日头条的IM产品飞聊被发现莫名其妙在App
Store中被苹果下架。7月12日,飞聊被发现莫名其妙在App
Store中被下架,飞聊官方表示,不知道是怎么回事,目前正在和App
Store方面进行交涉。飞聊负责人表示,飞聊方面正在积极与苹果方面进行沟通,应该很快就会有结果。不过其并未透露是何原因导致的下架。这次下架的事件只涉及iOS版本,安卓版用户仍可以正常下载,iOS用户已经下载过的也不会影响使用。试图搬动微信的不只有飞聊,今年年初的多闪、聊天宝、马桶MT也做过同样的事情,都无一例外地以惨败结束。

相关文章