这意味着华为手机的短信功能将能像苹果,应用场景JVM-Sandbox

摘要2018年1 月 18 日,华为宣布将与谷歌合作采用推广 RCS
技术,在不久的将来,所有的华为手机将预装 Android
Messages,并默认为短信的应用程序。这意味着华为手机的短信功能将能像苹果
iMessage 或微信一样进行信息的 …概述2018年 1 月 18
日,华为宣布将与谷歌合作采用推广 RCS
技术,在不久的将来,所有的华为手机将预装 Android
Messages,并默认为短信的应用程序。这意味着华为手机的短信功能将能像苹果
iMessage 或微信一样进行信息的收发,并可通过 Google Duo、LTE
进行视频通话等。什么是 RCS 技术?RCS(Rich Communication
Suite)即融合通信,从运营商的层面直接与手机整合,类似微信或 iMessage
嵌入取代手机终端原通话、原消息、原联系,固化成为手机的通话、信息、联系的基础功能。目前,智能手机的短信解决方案仍是
SMS/MMS,RCS 与普通的短信不同之处在于它带来了更多的增强功能。RCS
旨在创建一个 SMS
风格的跨运营商通信服务,提供一些附加功能,例如群组消息、通过 WiFi
发送短信、语音对话、阅读反馈(显示信息是否已读)、文件共享等,类似于
WhatsApp 和微信之类的 App。总而言之,RCS 是取代现有的 SMS/MMS
服务,模仿现代 IP 消息服务所有最佳功能的下一代 SMS。据报道,RCS
有两大特点:一是 Native
原生态地址本,这一增强型地址本基于手机本地地址本演进而来的,不仅提供了传统地址本中用户的基本个人信息,还在此基础上还作为了更丰富的功能入口;其次是
RCS
能实现全球互联互通,它能充分利用运营商现有的号码资源,实现全球互联互通。Google
如何推广 RCS?Google 认为每天都有数十亿用户使用短信服务,但是 SMS
中的功能并没有跟上现代的消息应用程序,RCS
是运营商信息传递的新标准,带来了很多用户期望从移动消息传递中获得的许多功能。Google
曾在 2015 年收购了移动运营商 Jibe Mobile,Jibe
致力于将新世界的互联网与旧世界的电讯联系起来,通过创新让传统的运营商在互联网的浪潮下变得更具有竞争力。该公司是
RCS
服务的领先供应商,专注于帮助运营商将各种消息支持到其服务中,同时支持跨网络的互操作性。所以它不仅需要网络运营商的支持,还需要手机制造商的支持。对此,Google
曾在 2016
年与全球多家运营商达成合作,包括德国电信、墨西哥美洲电信公司、澳洲电信等,后来也与手机厂商
LG、诺基亚、中兴合作,但以华为目前在通信界的地位来看,Google
这次寻求华为的支持也是情理之中的。对此,Google 高级副总裁 Hiroshi
Lockheimer 表示,Google 很高兴能与华为合作,通过 RCS 和 Android Massage
将为全球数以亿计的用户带来更好的本地消息体验,华为作为网络技术领域的全球领先运营商,同时也是全球最大的手机制造商之一,这次合作,将会加速
RCS 的推广,更多的用户将可以访问 RCS 消息。而华为方表示,Android
Messages 将在未来几个月内在华为手机上推出,我们期待就好。

摘要阿里巴巴于近期正式开源了其自研的动态非侵入AOP解决方案:JVM-Sandbox。JVM-Sandbox即JVM沙箱容器,一种JVM的非侵入式运行期AOP解决方案。写在前面随着软件部署规模的扩大,系统的功能的细化,系统间耦合度和链路复杂度不断加强。若要继续保持现规模系统的稳定性,需要实现并完善监控体系、故障定位分析、流量录制回放、强弱依赖检测、故障演练等支撑工具平台。出于对服务器规模和业务稳定性的考量,这些配套工具平台要具备对目标应用具有无侵入、实时生效、动态可插拔的特点。要实现这些,多少都会触及到一块底层技术——动态字节码增强。如果每个工具都自己实现一套字节码增强逻辑,前期实现的门槛与后期维护成本高,且不同工具间相互影响造成不可预知的风险。如何屏蔽字节码增强技术的高门槛,降低研发运维成本,同时又能支持上层多个工具平台功能的快速实现和动态管理,成为阿里集团的目标。从去年开始潜心修行,创新的研发了一套实时无侵入的字节码增强框架。于是
JVM-Sandbox
诞生了!诞生历程2014年GREYS第一版正式发布,一路看着他从无到有,并不断优化强大,感慨羡慕之余,也在想GREYS是不是只能做问题定位。2015年开始根据GREYS的底层代码完成了人生的第一个字节码增强工具——动态日志。之后又萌生了将其拆解成录制回放、故障模拟等工具的想法。扪心自问,我是想以一人一个团队的力量建立大而全的工具平台,还是做一个底层中台,让每一位技术人员都可以在它的基础上快速的实现业务功能。我选择了后者。应用场景JVM-Sandbox
的目标群体Btrace
好强大,也曾技痒想做一个更便捷、更适合自己的问题定位工具,既可支持线上链路监控排查,也可支持单机版问题定位。有时候突然一个问题反馈上来,需要入参才能完成定位,但恰恰没有任何日志,甚至出现在别人的代码里,好想开发一个工具可以根据需要动态添加日志,最好还能按照业务
ID
进行过滤。系统间的异常模拟可以使用的工具很多,可是系统内的异常模拟怎么办,加开关或是用
AOP
在开发系统中实现,好想开发一个更优雅的异常模拟工具,既能模拟系统间的异常,又能模拟系统内的异常。好想获取行调用链路数据,可以用它识别场景、覆盖率统计等等,覆盖率统计工具不能原生支持,统计链路数据不准确。想自己开发一个工具获取行链路数据。我想开发录制回放、故障模拟、动态日志、行链路获取等等工具,就算我开发完成了,这些工具底层实现原理相同,同时使用,要怎么消除这些工具之间的影响,怎么保证这些工具动态加载,怎么保证动态加载
/
卸载之后不会影响其他工具,怎么保证在工具有问题的时候,快速消除影响,代码还原。如果你有以上诉求,那么你就是
JVM-Sandbox 的潜在客户。JVM-Sandbox
提供动态增强类你所指定的类,获取你想要的参数和行信息;提供动态可插拔容器,管理基于
JVM-Sandbox 的模块。JVM-Sandbox 能做什么?在
JVM-Sandbox(以下简称沙箱)的世界观中,任何一个 Java
方法的调用都可以分解为BEFORE、RETURN和THROWS三个环节,由此在三个环节上引申出对应环节的事件探测和流程控制机制。不仅如此还有LINE事件,可以完成代码行的记录。//
BEFORE-EVENTtry { /* * do something… */ //LINE-EVENT a(); //
RETURN-EVENT return;} catch (Throwable cause) { //
THROWS-EVENT}基于BEFORE、RETURN和THROWS三个环节事件以及LINE事件,可以完成很多类
AOP
的操作。可以感知和改变方法调用的入参可以感知和改变方法调用返回值和抛出的异常可以感知一个请求按顺序执行了哪些行可以改变方法执行的流程在方法体执行之前直接返回自定义结果对象,原有方法代码将不会被执行在方法体返回之前重新构造新的结果对象,甚至可以改变为抛出异常在方法体抛出异常之后重新抛出新的异常,甚至可以改变为正常返回JVM-Sandbox
都有哪些可能的应用场景线上故障定位线上系统流控线上故障模拟方法请求录制和结果回放动态日志打印安全信息监测和脱敏行链路计算和覆盖率统计JVM
沙箱还能帮助你做很多很多,取决于你的脑洞有多大了。JVM-Sandbox
在阿里集团的应用线上故障演练17 年故障演练平台在 JVM-Sandbox 基础上仅耗时
1
周即完成故障注入部分的系统重构。重构后的系统在挂载效率和挂载成功率方面有了明显的提升,极大的缩短的故障演练的时间,演练效率提升了数十倍。基于
JVM-Sandbox 改造后的故障演练平台,通用性强,所有基于 JVM
启动的系统均支持,极大的拓展了故障演练的范围,故障演练已达到集团级部署。与
16 年故障演练数据对比,17 年的故障演练平台,覆盖 BU 提升了 1.6
倍,覆盖应用提升了 5 倍,覆盖场景提升了 37 倍。依赖检测17
年强弱依赖自动化检测平台诞生。它提供了依赖检测、强弱分析、依赖扫描、故障注入等多种能力,底层能力基于
JVM-Sandbox 在 1
周内完成功能开发。利用其模块容器的特性,将前人开发的模块与新增模块一起挂载共同工作,完成平台功能。强弱依赖梳理方面,承载了淘宝的系统强弱依赖梳理工作,260+
个应用一键接入系统,并实现了 0
人工成本的自动化、智能化梳理。服务端录制隔离回放机制在 JVM-Sandbox
基础上开发了一个 SS 模块,相当于一个录音机 + 回放机,
在调用中间件的时候, 顺序录制下了我们的中间件请求,
并且存储这份‘磁带’到服务器上。当我们需要隔离回放的时候,
将这份‘磁带’找到, 并且在需要的时候直接从‘磁带’读取,
并不需要真实地请求我们的中间件,
这样就保证了我们的读、写接口也能做到可重复使用,从而实现服务端的隔离回放。线上录制隔离回放不仅极大的缩短的业务回归的耗时,把业务测试同学从繁琐的数据准备和接口自动化脚本的编写过程中解放出来,而且极大的拓展了覆盖范围,使回归的范围更贴近用户,且场景更丰富。精准回归服务端录制隔离回放机制诞生之后,虽然有效的提升了覆盖范围,降低了自动化脚本的人工投入,但是也带来了新的问题。线上录制的场景是海量的,单个系统都可以达到万级、十万级甚至百万级别的录制,这些录制的场景中,存在大量的重复场景,如何识别重复场景,实现有效、精准的回放,成为新的待解决问题。17
年在 JVM-Sandbox 的基础上,利用 LineEvnet
实现了行链路识别和标记,有效的提升了回放的精准度和效率。JVM-Sandbox
在阿里集团已经实现全网部署,在其上加载不同的模块实现了不同的功能,每个功能根据
BU
和应用的需要进行加载:强弱依赖检测功能:覆盖淘宝、天猫、业务平台、菜鸟、飞猪、ICBU、CBU
等 7 个 BU,240+
个应用;线上故障演练功能:覆盖集团客户体验事业群、淘宝网、云零售事业部、天猫、业务平台、飞猪、菜鸟、钉钉、阿里健康、CBU、集团安全、支付宝等
16 个 BU,391 个应用;服务端录制回放:覆盖淘宝网、钉钉 2 个
BU;精准回归:覆盖淘宝网、业务平台、钉钉 3 个
BU。通过上边的事例,想必大家对 JVM-Sandbox
是什么,核心功能是什么,还能做哪些事情,以及是否可以为阿里以外的同学提供服务等问题更感兴趣了,下面我们着重介绍这部分内容。开源和共建1、已开源,寻求更多的同学一起完善
JVM-Sandbox 的功能。Github
地址:
JVM-Sandbox
的功能;3、希望更多的同学想到跟多的应用场景,并能开源出来供大家使用。综上,JVM-Sandbox
是一个纯 java 编写的 AOP
解决方案。它为研发人员提供了一个快速实现字节码增强工具的平台。他的模块管理功能可以最大限度的复用模块、协同合作,减少重复投入。随着
JVM-Sandbox
的开源,我们期待更多的人加入到功能扩张和优化上,使其适配更多的开源中间件和
JVM。希望有更多的同学,发挥其聪明才智,开发更多、更好的上层模块,提供给自己和其他人的人使用。也希望能够利用好已有的模块,组装出新的工具平台和应用场景。JVM-Sandbox
建设和应用期待大家共同建设。

摘要即时通讯云网易云信于2018年01月04日发布4.6版,本次更新为主要版本更新,详情见文章内容。发布的版本本次发布的版本号为
4.6版,更新时间为:2018年01月04日。iOS
更新内容新增新增在后台自动执行重连开关@interface NIMSDKConfig :
NSObject/** * 是否禁止后台重连 * @discusssion 默认为
NO。即默认情况下,当程序退到后台断开连接后,如果 App 仍能运行,SDK
将继续执行自动重连机制。设置为 YES
后在后台将不自动重连,重连将被推迟到前台进行。 *
只有特殊用户场景才需要此设置,无明确原因请勿设置。 */@property
(nonatomic,assign) BOOL
reconnectInBackgroundStateDisabled;@end新增聊天室历史记录拉取可以按类型筛选字段/**
* 检索服务器历史消息选项 (服务器) */@interface
NIMHistoryMessageSearchOption : NSObject/** * 查询的消息类型 *
@discusssion 消息类型组合,默认为 nil ,搜索全类型。
此参数只对聊天室会话有效 */@property (nonatomic,copy)
NSArray<NSNumber *>
*messageTypes;@end易盾反垃圾,支持对单条消息配置对应的反垃圾业务规则,NIMAntiSpamOption新增字段
businessId。/** * 反垃圾选项 * @discussion
这个选项用于配置易盾反垃圾,设置 enabled 为 YES (默认为 NO)
后该消息进投递到易盾系统进行反垃圾检测 (需要开启易盾服务)
*/@interface NIMAntiSpamOption : NSObject/** *
用户在易盾配置的额外反垃圾的业务ID */@property
(nullable,nonatomic,copy) NSString
*businessId;@end新增聊天室队列权限修改,NIMChatroomUpdateTag中新增字段
NIMChatroomUpdateTagQueueModificationLevel修正聊天室缓存用户扩展信息,保证掉线重连后不清除Android
更新内容新增1. 易盾反垃圾支持对单条消息配置对应的反垃圾业务规则。2.
新增支持海外推送 FCM 以及魅族推送。3. 支持配置聊天室队列管理权限。4.
支持群管理员撤销其他人消息。5. 支持视频消息获取远程缩略图 url。6.
聊天室历史记录拉取可按类型筛选。变更1. 修复酷派偶现崩溃问题。2.
接口变更:List<NimRobotInfo> getRobotInfo(List<String>
accounts);改为List<NimRobotInfo>
getRobotInfoList(List<String>
accounts);3.MessageNotifierCustomization新增消息撤回通知文案自定义接口:/**
* 定制消息撤回提醒文案 * @param revokeAccount 撤回操作者账号 * @param
item 被撤回的消息 * @return */String makeRevokeMsgTip(String
revokeAccount, IMMessage
item);4.ChatRoomPartClearAttachment附件内容变更getContentMap()返回由Map<String,Object>变为Map<String,
String>getChatRoomQueueChangeType()返回ChatRoomQueueChangeType.PARTCLEARWindows(PC)
SDK
更新内容新增群主或群管理员可以撤回其他群成员发送的消息的功能用户配置的对某单条消息另外的反垃圾的业务ID的功能视频消息主动获取封面功能NOS域名迁移NOS加速地址,上传、下载地址等统一配置聊天室历史记录拉取可以按类型筛选功能聊天室队列权限可配置聊天室更新用户信息后,断线重连进入聊天室时,相应信息依旧还在的功能Web
SDK
更新内容新增聊天室队列管理权限可配置聊天室历史记录拉取可以按类型筛选群管理员可以撤回其他人发的消息易盾反垃圾,支持对单条消息配置对应的反垃圾业务规则变更WebSocket链路若因网络状态不佳,悄悄被踢,将自动重连,不再由上层做处理WebSocket握手重连优化,清除实例接口下载地址请从以下官网地址下载:

相关文章