AICon 上海站|日程100%上线,解锁Al未来! 了解详情
写点什么

中航信唐红武:移动出行场景化设计与架构实践

  • 2015-07-05
  • 本文字数:2670 字

    阅读完需:约 9 分钟

对于出行类的应用,如何为用户提供更好的服务是他们始终关注的问题,航旅纵横作为主流的民航信息应用,在民航出行上做了很多尝试和探索。其中场景化是基于不同场景的变化来提供信息和服务的一种办法,航旅纵横创始人兼技术总监唐红武在和 InfoQ 记者交流中介绍了他们在移动出行场景化方面设计与架构实践。

唐红武还将在 7 月 17 日的 ArchSummit 深圳全球架构师峰会上做关于《移动出行场景化体验的挑战和应对策略》的专题演讲,欢迎报名关注。

InfoQ:请简单介绍一下您自己,以及航旅纵横目前的团队情况?

唐红武:我从中科院研究生毕业后加入中国航信,一直从事民航信息化的工作,先后负责了多个项目的研发工作,推出了网上、手机多渠道值机等多种产品,先后申请了 20 余项专利,目前已获得近 10 项专利授权。航旅纵横是 11 年在内部孵化,我与 4 位同事一起开始开发出来的,目前航旅纵横团队主要还是研发产品人员为主,以技术为导向的团队体系、专注于简化旅客出行,为旅客出行提供便捷的服务。

InfoQ:请介绍一下航旅纵横的开发历程?

唐红武:航旅纵横从一开始推出了 iOS、Android 版本,通过微博等社交媒体的自发推广,取得不错的口碑,迅速的获得了一批高质量的种子用户,用户规模我们也跨越了十万、百万、千万等规模。产品也迅速成为行业的标杆,被媒体称为国企的奇葩。2012 年,航旅纵横率先推出基于 Apple 手机的 Passbook 功能,并得到 Apple App Store 官方推荐。2013 年,我们相继推出了 iPad、Windows Phone 版本,实现了航旅纵横移动端版本的全覆盖。

从开发的角度来说,航旅纵横从早期几个人的开发到目前几十人的开发规模,开发组织和技术体系模式也有很大的变化,技术架构经历了两轮比较大规模的重构,2014 年后台系统也逐渐由商业支撑软件为主改为开源软件为主的系统软件运行体系。

InfoQ:航旅纵横在用户量迅速上升后面临哪些问题?

唐红武:航旅纵横在用户量大规模上升后,面临两个方面的问题,一是系统体系方面,另一个是开发模式方面。系统方面,经历了短时间大量用户进入,后台服务压力迅速增大,早期传统简单的架构体系已经不能满足业务访问的需求情况,因此我们将系统中大规模的同步操作改为基于事件的异步处理机制,同时随着规则的复杂度增加,也大量采用开源的规则引擎。在这个过程中,我们逐渐对系统的痛点进行部分改进,目标是使调用更加透明、系统更稳定,业务开发更迅速,维护更方便。开发模式方面,随着大规模新的团队成员加入,传统单打独斗的开发模式也转变为多团队协作开发模式。

InfoQ:能否介绍一下航旅纵横在用户体验方面做过哪些优化?

唐红武:用户体验优化主要有两个方面,一是 UI 方面,航旅纵横出现以来,主要经历了三次左右大的 UI 优化,早期航旅纵横是传统的九宫格模式,采用木纹的拟物化风格,后续我们随着分析,定位于场景化的理念,简化旅客的出行,希望在旅客需要的时候提供相应的信息和便捷的操作。伴随 iOS 7 的平面化和简洁化理念的提出,我们又对 UI 进行了一次大的调整。另一个是在 UE 方面,我们一直坚持的原则是在场景化步骤中,用户操作不要超过三步。

InfoQ:航旅纵横想做到移动场景下的千人千面,能否简单介绍一下这方面的设想?

唐红武:移动场景下的千人千面,是我们的产品目标,今天是一个大数据时代,信息蓬勃缭绕,而我们智能终端大小有限,能容纳的信息有限,用户的时间也有限,我们希望在用户能接触的界面对用户展现最有用的信息和操作,为用户提供精准的信息和操作。

千人千面主要是两个方面,一个是人物的画像,另一部分是数据的整合和场景推荐。出行是一个典型的随时空和位置变化场景案例,我们比较幸运的是掌握用户比较详细信息数据,同时对民航业务有比较深入的了解。让我们觉得用户行前、行中、行后希望了解到完全不一样,同样操作也不一样。

InfoQ:你们目前定义了多少移动出行场景?能否分别介绍一下。

唐红武:我们目前定义了很多移动场景,主要是基于时间的维度和位置的特性,具体来说:

用户在使用航旅纵横时,无行程情况下,用户可能要了解机场的情况,需要接送朋友,这个时候我们更多为用户提供航班查询和机场的实况情况。

有行程的情况下,又细分多种场景,比如行前,我们要了解我们即将出行的航班历史情况,机型机龄等,是旧飞行还是新飞机,是大飞机还是小飞机。行中的时候,用户关心今天航班登机口在哪里,是原机位还是近机位,是否有摆渡车,关注当天机场的天气情况,民航是一个受天气影响很大的行业,目的地天气如何等等都会有很大影响。

还有乘坐的飞机前序的飞行情况,我们最近还要推出一个航班实况预警信息,提前预告今日航班各种情况。

当然,用户还可以通过航旅纵横办理登机手续,目前国内有十多家机场直接使用航旅纵横登机牌就可以直接登记,非常便捷,到今年年底,国内大部分机场,航旅纵横的用户都可以直接持航旅纵横的电子登机牌登机。对于行后来说,我们可能需要了解行李在哪里取,机场的地面交通如何等。

对于常做飞机的用户和不常做飞机的用户来说,他们习惯也不样。有人关心航空里程积累情况,是否可以升级航空公司金卡了。金卡有哪些服务等。

对于我们来说,航旅纵横就是一个桥梁,一边是我们尽力了解用户,融合场景,另外一边是从大量信息和事件中,提取有针对性信息为用户服务。我想这种理念也就是只有今天移动互联网能承载。

InfoQ:对于场景化的设计,如何从架构设计上保证服务的可用性和体验?

唐红武:场景化的设计,确实对架构设计带来了巨大的挑战。对于我们来说,需要定义场景,但是场景的定义也是在不停的变化中,对于系统的设计来说,必须要有一个相对灵活的架构设计,来应对日益增加、场景细分的需求。同时场景化需要对事件和消息的实时性要求特别高。

系统采用异步事件切面的方式,建立了以队列和订阅发布为基础的消息处理机制。系统主要提供一对多的通信形式,将信源传递到多个订阅者,订阅者通过筛选规则来限制要接收的消息,通过接收到的不同消息,进行不同结果处理,一种模式是存储为数据,另一种模式是启发一个新的业务流程。通过一系列的智能场景算法,将大量的信源分发到各业务单元中。对于场景应用,随着用户的增长、不同场景类型数据的增加和场景转换,建立在海量的数据和不同的业务场景上的智能场景算法,也需要建立一套有效评价体系,不停的训练和修正算法模型,使用户获取信息的准确性得到不断提升。

对于用户的体验和感观,我们需要对场景的结果进行实时有效的监控和评判,根据实时的用户反馈行为训练我们的智能场景算法。以期达到超出用户的预期的结果。对于这些详细的内容,我会在 ArchSummit 深圳 2015 大会上给大家做更详细的分享。

2015-07-05 21:222662
用户头像

发布了 164 篇内容, 共 111.7 次阅读, 收获喜欢 392 次。

关注

评论

发布
暂无评论
发现更多内容

Java中的拆箱与装箱

共饮一杯无

Java 11月月更 装箱与拆箱

ITSM | 对话——从业务场景、中国市场策略角度解读Atlassian ITSM解决方案

龙智—DevSecOps解决方案

ITSM ITIL

这可能是最全的SpringBoot3新版本变化了!

艾小仙

Java spring could spring-boot

从零开始学习Java系列之Java运行机制与跨平台特性

千锋IT教育

互联网大厂必问面试合集,助你跳槽拿高薪--Java篇

钟奕礼

Java java面试 java编程 程序员java

MySQL数据库 group by 语句怎么优化?

Java全栈架构师

Java MySQL 数据库 程序员 后端

公共大数据集群中如何配置 YARN 的公平调度器和容量调度器

明哥的IT随笔

hadoop YARN

车间工厂看板还搞不定,数据可视化包教包会

葡萄城技术团队

数据可视化 看板 智能工厂

异常的基本概念和Java中的体系

共饮一杯无

Java 异常 11月月更

技术指南 | 如何集成Perforce版本控制系统Helix Core (P4V) 与敏捷规划工具Hansoft

龙智—DevSecOps解决方案

敏捷 版本管理

高效!启科量子线路模拟器 QuSprout 与 Amazon HPC 集成,赋能量子计算

亚马逊云科技 (Amazon Web Services)

量子计算 Hero 专栏

DNS中有哪些值得学习的优秀设计

小小怪下士

Java 程序员 DNS

2022中国区Cyber Monday限时优惠来袭,Linux基金会开源软件学园带来优惠

kk-OSC

k8s Linux基金会 CKA CKS

深度 | 新兴软件研发范式崛起,云计算全面走向 Serverless 化

Serverless Devs

阿里云 Serverless

千年荒漠变绿洲,看沙漠“卫士”携手昇腾AI植起绿色希望

华为云开发者联盟

人工智能 华为云 昇腾AI

Java中的StringBuilder类

共饮一杯无

Java StringBuilder 11月月更

降本增效的背后,谈谈阿里云存储数据湖3.0

云布道师

数据湖 云存储 云栖大会

我与梅西粉丝们的世界杯观球日常

ZEGO即构

音视频开发

无情!阿里技术专家手写《微服务架构笔记》,瞬间屠榜NO.1

程序知音

Java 微服务 java架构 后端技术

String、StringBuffer、StringBuilder 有什么区别

共饮一杯无

Java string 11月月更

软件测试自动化“领导者”SmartBear举办首场中国线上研讨会:洞悉全球自动化测试走向,探讨降本增效之策

龙智—DevSecOps解决方案

自动化测试 API测试 UI测试 软件测试自动化

代码质量与安全 | 使用Incredibuild加速Klocwork静态代码分析

龙智—DevSecOps解决方案

代码静态分析 SAST工具 SAST 编译器 加速器 编程语言

Python 项目工程化最佳实践指南

Andy

Python 项目管理 代码规范 代码风格

企业网络“卫生”实用指南(上)

SEAL安全

网络安全 企业安全

Baklib|知识库应用场景:制作员工培训手册

Baklib

团队管理 知识管理

一种基于 Apache Hive 的元数据智能发现方案

移动云大数据

hive

MatrixOne从入门到实践07——MO-Tester

MatrixOrigin

数据库 分布式 测试工具 MatrixOrigin MatrixOne

《鸿蒙生态应用开发白皮书》正式发布,携手更多开发者迈入鸿蒙世界

最新动态

FCOS论文复现:通用物体检测算法

华为云开发者联盟

人工智能 华为云 论文复现

探讨Morest在RESTful API测试的行业实践

华为云开发者联盟

开发 API测试 华为云

FastJSON2他来了,性能显著提升,还能再战十年

共饮一杯无

Java Fastjson 11月月更

中航信唐红武:移动出行场景化设计与架构实践_移动_徐川_InfoQ精选文章