支付宝钱包客户端技术架构

黎三平:小微金服高级技术专家,06年就开始移动方面的研发,先后从事过游戏和应用开发。对Android的动态部署和移动应用的开发框架有一定研究,现负责支付宝钱包Android平台基础技术的架构设计工作。

该议题是分析支付宝钱包客户端的技术挑战及背景,讲述钱包客户端技术架构的大思路和整体架构,以及支撑当前架构的一些关键技术。以下来分享其精彩内容。

背景

移动互联网是一个战略核心,支付宝面临着无线化,业务快速推进的问题,且用户规模爆发,android环境复杂。支付宝这样一个支付工具依赖的就是支付产检,所以支付宝有一个平台化的一个构想,可以把支付产检丰富起来。

  支付宝投入的资源也是很大的,有多个业务团队并行开发,纯andioid开发的人员近50人。工程复杂度很高,模块组织方式也有很大挑战,不包括第三方库等其他东西,就有100W+行的java代码,100+个模块。

面临的挑战

  永久的问题:如何提升开发效率,如何提高稳定性,怎样部署,性能如何,安全问题也是支付宝的重要问题。

  研发过程管理困难:1依赖管理,每个模块对其他模块的依赖是管理困难的;2版本管理;3部署管理(搭火车,难以触达到用户);4模块组织方式(库工程,源代码级别,没有权限)。

  构建打包痛苦:可能不能打包(2.x安装不上),合并代码搞了很久,编译打包时间过长。

整体架构

  图1和图2是支付宝钱包客户端整体的架构图:

 

                                                图1

 

                                               图2

 

监控日志主要是用户行为监控,质量监控(包括crash,速度,流量,电量),安全监控以及诊断日志。

  异常处理:所有业务拆分成多个bundles,但如果有一些bundles比如造成闪退了,这时我们就需要做一些故障隔离,就是通过统一的Framework Exception Handler来做这个事情。主线程的Crash;工作线程的异常(网络、存储、其他)。

  安全措施:模块的签名来校验;Dex加固;防二次发布;通讯的安全通道; 防注入攻击(Xposed,Ptrace);其他安全措施。

动态加载

  Quinox容器有三大块:

1、模块管理:安装、升级、卸载;依赖关系的管理。

安装、升级的过程是这样的,我们首先会对所有下载下来的bundles做一个合法性的校验,首先是看它们的签名是否正确,再者看依赖关系是否正确,如果检验通过的话,我们会把它们拷贝到一个可执行域里面去,然后再把元数据持久化,那么下次启动时就会创建类装载,也会把资源初始化。

2、执行引擎:类的装载;资源的管理; Android组件的执行。

3、安全机制:签名校验;容错。

                           
图3

图3为执行引擎的原理,在Pathclassloader上做了一些改造,通过它来管理其它的bundles,且对每个bundle都会串接一个类装载器。

 

                             
图4

  图4为运行期原理图,通过上面的几项来管理bundles,bundles再进行导入导出服务。

 

研发支撑

 

                                图5

 

图5是研发过程,我们用A-svn库来管理代码,每个团队对应一个svn库,每个团队在自己的库上去开发,获取源代码和提交代码。然后在打包平台上打包,再提交到Maven库中,然后通过发布平台进行动态部署。

 

                               图6

图6是构建过程,左边是传统的构建过程,就是源代码编译生成直接给客户端。右边是做了一些改变,工程里面会有标准的工程布局,就是为了规范代码,编译时会有一个中间的过程,编译成一个二进制包,然后再进行动态部署。

                                                                                                            PPT下载地址:http://club.alibabatech.org/resource_detail.htm?topicId=155

 

时间: 2024-09-29 14:35:54

支付宝钱包客户端技术架构的相关文章

支付宝钱包流量电量优化实践

, 刘富康:阿里巴巴支付宝钱包开发工程师,经历并参与了支付宝钱包客户端框架1.0到3.0的演进,对客户端框架和动态加载技术有深刻理解.目前正在负责支付宝钱包监控体系搭建工作. 重点介绍支付宝钱包客户端基于客户端监控体系上,针对流量电量进行专项优化的实践经验.涉及监控日志采集.关键场景分析,流量熔断等内容.以下来分享精彩内容. 平台型移动客户端之痛   平台型移动客户端资源有限,包括它的cpu,它的内存,它的流量,它的电量等,在这样一个资源受限的设备上运行应用时环境是非常复杂的.   对于andr

支付宝钱包今日开放平台上线并进行测试运行

支付宝钱包今日开放平台上线并进行测试运行,据支付宝方面介绍,一期开放平台将开放六大类共35个接口,后续还将进行持续开放和优化.从后台看,目前支付宝钱包开放平台已经开放了服务窗.账户.卡券.支付.钱包能力五类接口,二维码接口将在后期进行开放,用户可以在后台进行接口的调用和配置. 具体内容如下: 服务窗接口:支付宝钱包服务窗基础API,包含h5页面调用系统本地能力.自定义菜单.推送图文消息等接口: 账户开放:通过该接口可以获取到用户的个人实名信息.收货地址.联系方式等信息(需要用户授权): 卡券:通

支付宝钱包开放平台上线测试 一期开放六大类35个接口

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 支付宝钱包开放平台上线测试 一期开放六大类35个接口 5月28日消息,支付宝钱包今日开放平台上线并进行测试运行,据支付宝方面介绍,一期开放平台将开放六大类共35个接口,后续还将进行持续开放和优化. 从后台看,目前支付宝钱包开放平台已经开放了服务窗.账户.卡券.支付.钱包能力五类接口,二维码接口将在后期进行开放,用户可以在后台进行接口的调用和配

【秒懂】2015支付宝钱包抢红包攻略(红包发放时间表)

1.在指定的红包发放时间点,第一时间进入手机支付宝钱包客户端.(客户端必须是最新的8.5版本哦,不然不会有红包可抢) 2.进入客户端后不要点任何按钮,停留几秒后在顶部会有倒计时提示.(必须在抢红包时间段内,如果过了时间,就会提示活动结束) 3.三秒倒计时后,抢红包游戏正式开始,你必须快速的不停猛戳红包小怪,才有几率活动红包哦. 4.抢到的红包有两种,一种是现金红包,在"新春红包-红包消息"里可以查看,现金可以提取到余额或余额宝.另一种是购物红包,在支付宝钱包的"探索-红包&q

支付宝钱包开放平台的“点面”逻辑

看完恒大粮油队与西悉尼流浪者的比赛,心情久久不能平复. 去年的卫冕冠军居然倒在了澳洲袋鼠的脚下,处心积虑设置东西亚赛区的亚足联西亚帮势力终于如愿以偿.虽然球队饮恨四强,但是到现场为恒大淘宝队加油的马云先生出现在电视镜头是,始终带着笑容依旧为球队鼓掌. 也许,马云真的玩的只是足球. 场外的话就到这,回归正题! 8月27日,在离马云千里之外的杭州,支付宝钱包宣布正式推出开放平台,与之前的重大决策相比,支付宝此次则显得低调得多. 开放平台并不是陌生,腾讯有,360有.顾名思义,开放平台是核心企业建立一

蚂蚁金服11.11:支付宝和蚂蚁花呗的技术架构及实践

作者:贺岩 每年"双11"都是一场电商盛会,消费者狂欢日.今年双11的意义尤为重大,它已经发展成为全世界电商和消费者都参与进来的盛宴.而对技术人员来说,双十一无疑已经成为一场大考,考量的角度是整体架构.基础中间件.运维工具.人员等. 一次成功的大促准备不光是针对活动本身对系统和架构做的优化措施,比如:流量控制,缓存策略,依赖管控,性能优化--更是与长时间的技术积累和打磨分不开.下面我将简单介绍支付宝的整体架构,让大家有个初步认识,然后会以本次在大促中大放异彩的"蚂蚁花呗&qu

请问,Java用何种技术架构编写服务端,能让VB客户端访问?

问题描述 各位大哥大姐,小弟菜鸟一只,只会点JAVA和VB.今日心血来潮,想向各位请教个问题.Java用何种技术架构编写服务端,能让VB客户端高效安全的访问?Webservice,COM+,CORBA?这些名词都听说过,可惜小弟才疏学浅,闻其名,却不知其意.请各位指教.非常谢谢. 解决方案 本帖最后由 skill_job 于 2011-07-16 01:22:45 编辑

细看支付宝钱包中的支付技术

最近,支付宝将手机上的软件从"支付宝"改名为"支付宝钱包",以之前的功能为基础,加上优惠券和声波支付,其打造"http://www.aliyun.com/zixun/aggregation/34486.html">电子钱包"的意图非常明显,没有金刚钻揽不了瓷器活,我们也可以从这个新软件中看看其内部有哪些值得玩味的支付技术. 考虑到之前有很多媒体热炒运营商与银联的NFC移动支付,这里有必要加以区隔的是,支付宝等第三方支付做的移动支付

【独家】老庙黄金2016春晚抢红包活动技术架构详解

[编者按]2016春晚红包技术实践系列选题来了!阿里云有一支特殊的团队--护航团队.从最初的12306到现在的红包,每一个备受关注的项目背后都有他们的身影.今年护航团队由支付宝.阿里云和其他技术伙伴组成.本文来自驻云科技COO兼首席架构师肖凯的纯干货分享,欢迎交流反馈.   肖凯 驻云科技COO兼首席架构师 云计算技术践行者,曾帮助新华社.陌陌.航天信息等数百家企业完成上云,曾就职于IBM.EMC等外企,对企业互联网化转型及企业IT架构有深刻理解,坚信公有云才是企业IT的未来. 下为正文: 抢红