首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏携程技术

    干货 | 支持10X增长,携程机票订单库Sharding实践

    通过建立良好的水平扩展能力,来满足日益增长的业务需求,为后续系统优化和支撑10x订单量的增长打下良好基础。 机票订单库的架构演进也不例外。 我们最开始接触机票订单数据库时,它是一个非常庞大的数据集合,所有的订单业务全部都集中一个数据库上,因此整体BR非常高。 但是基于以下几个方面原因,原本2年的存储和处理周期已经不能满足客户和业务的需要: 1) 从客户的角度出发,仍然有查询历史订单的需求; 2) 业务场景的拓展导致机票订单整个服务周期变长; 原先机票使用完成 3)数据库高峰期BR达到了10w+; 4)系统存储了20TB的数据,磁盘使用率达到80%以上,经常触发使用容量告警; 5)主库的CPU使用率高峰期接近50%; 6)由于采用了读写分离的架构,当主库的服务器的性能受到影响的时候 基于上文提到的这些问题,为了确保系统能够长久持续的稳定运行并且提升订单系统的处理能力,我们计划对数据库的架构进行升级,总体实现以下目标: 订单的存储和处理周期至少达到5年 提升订单系统的处理能力,支撑订单QPS10

    1.2K10编辑于 2022-06-13
  • 来自专栏大数据-BigData

    干货 | 支持10X增长,携程机票订单库Sharding实践

    通过建立良好的水平扩展能力,来满足日益增长的业务需求,为后续系统优化和支撑10x订单量的增长打下良好基础。 机票订单库的架构演进也不例外。 我们最开始接触机票订单数据库时,它是一个非常庞大的数据集合,所有的订单业务全部都集中一个数据库上,因此整体BR非常高。 但是基于以下几个方面原因,原本2年的存储和处理周期已经不能满足客户和业务的需要: 1) 从客户的角度出发,仍然有查询历史订单的需求; 2) 业务场景的拓展导致机票订单整个服务周期变长; 原先机票使用完成 3)数据库高峰期BR达到了10w+; 4)系统存储了20TB的数据,磁盘使用率达到80%以上,经常触发使用容量告警; 5)主库的CPU使用率高峰期接近50%; 6)由于采用了读写分离的架构,当主库的服务器的性能受到影响的时候 基于上文提到的这些问题,为了确保系统能够长久持续的稳定运行并且提升订单系统的处理能力,我们计划对数据库的架构进行升级,总体实现以下目标: 订单的存储和处理周期至少达到5年 提升订单系统的处理能力,支撑订单QPS10

    61930编辑于 2022-09-09
  • 来自专栏bit哲学院

    python机票价格_如何获得在线机票的最佳可能价格

    如果您熟悉此机票门户的名称; 这应该。     In our personal testing, we found on average there was a saving of around 5-10 percent when buying a 在我们的个人测试中,我们发现在星期二购买机票时,平均节省了大约5-10%,而不是一周中的其他任何一天。     好吧,一段时间以来,在顽强的旅行者内部众所周知,机票网站(包括Kayak和Google)会根据您在浏览器中搜索机票的次数来调整机票价格。     只需在您的帐户中设置参数,然后系统就会弹出您所选择价格的机票,该应用程序将为您发送完美的报价。    

    1.9K10发布于 2020-12-30
  • 来自专栏Java成长之路

    【天梯 - Wikioi】2235 机票打折

    题目描述 Description .输入机票原价(3到4位的正整数,单位:元),再输入机票打折率(小数点后最多一位数字)。编程计算打折后机票的实际价格(单位:元。 输入只有一行两个数(两数间用一个空格分隔),第一个为整数,表示机票原价,第二个整数或实数(如是实数,小数点后最多1位数字)表示打折率。 输出描述 Output Description 输出只有一行一个正整数,表示打折后的机票价格。 include <stdio.h> int main() { int i, j; float k; scanf("%d %f", &i, &k); j = (int)((i * k * 0.1+5)/10 );//这一步非常的巧妙, 加了一个5, 如果不加5的话, 就不会四舍五入了 printf("%d\n", j*10); return 0; } 心得: 多思考, 多做题。

    79510发布于 2018-09-29
  • 来自专栏Java项目实战

    机票系统架构设计文档

    机票系统架构设计文档 图片 一、概述 随着航空业的快速发展,机票预订系统已成为航空公司及其客户之间必不可少的桥梁。 机票系统是一个复杂的系统,它需要处理大量的数据,包括机票价格、航班时刻表、座位预订、乘客信息等。本文将介绍一个机票系统的架构设计,包括系统的架构模式、技术栈、数据模型、安全机制等。 MySQL:用于存储机票价格、航班时刻表、座位预订、乘客信息等数据。 Redis:用于缓存机票价格、航班时刻表等数据,提高系统的响应速度。 四、数据模型 本机票系统的数据模型包括以下实体: 航班:包括航班号、起飞城市、到达城市、起飞时间、到达时间、机型等字段。 机票:包括机票号、航班号、座位号、价格等字段。 六、总结 本文介绍了一个机票系统的架构设计,包括系统的架构模式、技术栈、数据模型、安全机制等。

    1.4K00编辑于 2023-03-17
  • 来自专栏Java项目实战

    机票预订系统设计文档

    一、需求分析机票预订系统是一种在线预订机票的系统,它可以帮助用户预订机票、查询机票信息、支付机票费用等一系列功能。 三、系统功能设计机票预订系统的主要功能包括:1.机票查询功能用户可以根据出发地、目的地、出发时间等条件查询符合要求的机票信息。2.机票预订功能用户可以选择符合条件的机票,并进行预订。 2.机票机票表存储机票的基本信息,包括出发地、目的地、出发时间、到达时间等。3.订单表订单表存储用户的订单信息,包括订单号、机票信息、支付方式等。 八、总结机票预订系统是一种在线预订机票的系统,它可以帮助用户预订机票、查询机票信息、支付机票费用等一系列功能。 在设计机票预订系统时,需要考虑系统的架构、功能、数据库、安全和性能等方面,以保证系统的质量和稳定性。

    1.6K00编辑于 2023-03-17
  • 来自专栏携程技术

    携程机票Sketch插件开发实践

    2016年,携程机票UED团队主力生产工具完全切换到 Sketch。与此同时,机票前端研发技术团队也关注到设计系统和插件工具规范化自动化对业务交付工作流程的加速作用。 二、Kirby - Sketch Plugin Kirby 是携程机票前端团队的 Sketch Plugin 系统代号,故事源于一次 Sketch 版本升级引起的标注导出功能失效问题。

    1.7K10发布于 2019-06-21
  • 来自专栏携程技术

    干货 | 携程机票iOS Widget实践

    近期接到一项产品需求,需要实现若干机票业务相关的Widget,此文总结该需求开发上线过程中的踩坑填坑经验。 Widget俗称小组件,是苹果推出的众多App Extension中的一款。 并且不能像Widget一样随意拖动移动位置和删除等操作,仅保留最初的规则 小中大三种样式的展示效果: 圆角为系统自带 三种尺寸在不同设备上的实际渲染尺寸,如下官网数据截图: iPhone iPad  机票当前需求仅需支持小卡

    1.9K10编辑于 2022-05-12
  • 来自专栏播放刘德华的歌

    教你怎么使用机票行程识别接口

    接口地址: https://console.cloud.tencent.com/api/explorer?Product=ocr&Version=2018-11-19&Action=FlightInv

    1.1K70发布于 2020-05-15
  • 来自专栏python进阶学习

    “五一”出游你回来的机票还有吗?

    高铁票且不说,机票的抢票难度已经高到天际。很多热门地点早已售罄。这里我们可以通过python爬虫去查看下能否有捡漏的机会。像航空网这样的数据,网站的反爬都是很严的,常见的爬虫手段分为2类。

    47430编辑于 2023-04-21
  • 来自专栏卓越笔记

    Fiddler - filters(过滤)使用教程(飞机票

    🚀🚀🚀 >>> https://www.cnblogs.com/zhaoyanjun/p/7068948.html # 补充 2. Actions:  修改之后要重新 Run 一下:Actions -> Run Filterset Now 5. Request Headers: Flag requests with headers -> 自动标记请求头含有某 key 的请求,多个 hearder 用空格间隔 , 比如:User-Agent

    29630编辑于 2023-02-17
  • 来自专栏毕设原创

    【毕设原创】SpringBoot机票预订系统

    题目 机票预订系统 技术栈 后端:SpringBoot 前端:Vue 数据库:MySQL 功能概述 本系统为实现用户在线预订机票,而打造的“机票预订系统”,机票预订系统是一个工作量丰富,实用性极强的选题 ,所以如果没有特殊要求 机票预订系统是一个不错的选择,本机票预订系统功能涵盖了机票预订,订单详情,航班列表等 机票预订系统包括用户、管理员两个模块 ⭐️用户:机票预订、航班查看、公告查看、订单查询、 个人信息管理等 ⭐️管理员:用户管理、机票管理、航班管理、订单管理、公告管理等 实现页面截图 系统测试 我们必须从多个角度对系统进行全面检查,以识别潜在问题,这构成了我们测试工作的核心目标。 系统测试目的 在机票预订系统开发中,系统测试是关键环节,确保系统品质与稳定性。其目的是预防使用问题,提升用户体验。测试需全面考虑潜在问题,通过模拟场景发现并修正缺陷。

    21510编辑于 2025-06-20
  • 来自专栏我是思聪

    国内机票历史价格数据库

    相关应用文章: 机票大数据分析,揭示购票的秘密 2018春节机票怎么买?看这几张图就够了 我为什么要开发这款小程序? 低频数据 低频数据收集每日下午2点附近的机票价格,数据库中总共包含1025159650(10亿)条数据。平均每天1025159(一百万)条数据。 高频数据 高频数据采取连续收集,每日采集从10次到20次不等,数据量大约为低频数据的10到20倍不等,约100亿到200亿条数据。平均每天一千万左右。 arrivetower 到达航站楼 discount 折扣价格 price 经济舱最低价格信息 样例数据 2017年1月1日起飞的CA4305航班数据,通过crawldate可以看到距离起飞前若干天的机票变化情况 以上数据可渲染出此价格图,可参考此文章《机票大数据分析,揭示购票的秘密》

    24.8K30发布于 2020-04-30
  • 来自专栏携程技术

    干货 | CrateDb在携程机票BI的实践

    这当中,我们遇到了很多问题,也解决了很多问题,本文将分享机票大数据平台在数据存储这一块的实践经验。 二、机票大数据接口现状 携程机票大数据平台接口组碰到的问题: 如何存储 如何查询 如何维护 2.1 如何存储 机票大数据基础架构团队接口组在2018年之前,数据的存储方案基本是:hive、mysql、 以下是我们现有的存储选型: 接口需求HiveMysqlRedis性能要求请求QPS>1s<1√√√<1s<10 √√<500ms>100 √<100ms>100 √ 这就造成了机票大数据部门的redis 在集群中建立了12个数据表,存储了20+亿条数据,经受了生产的实际考验,接口性能指标如下: 数据量99line95lineavg查询特点描述10亿+200ms80ms10ms多关键字、时间范围查询整个集群请求量 1500qps500w+150ms50ms10ms多关键字查询、排序单个表请求量400qps9000w+200ms100ms60ms多关键字查询单个表请求量10qps 性能满足了大部分调用方的使用需求,

    69720发布于 2021-02-01
  • 来自专栏携程技术

    干货 | 携程机票Node.js开发实践

    作者简介 付文平,携程机票研发部前端开发总监。2011年加入携程,主要负责携程机票PC、H5、Hybrid业务方面的开发工作。 先后负责机票PC前后端分离,H5 Swift改版,机票React Native技术的推进,重点关注Node.js技术和产品体验。 本文来自付文平在“2018携程技术峰会”上的分享。 我们也从最初用Node.js来完成前后端的架构分离到最近使用GraphQL来做微服务,机票部门在Node.js的应用探索上越走越宽。 一、前后端分离 在机票事业部前端开发的web1.0时代,整个前后端代码耦合在一起,采用的是典型的服务端 MVC架构。 ? 四、总结 Node.js在机票团队从早期的前后端分离到GraphQL的实践,目前已经深度应用到前端组的各个模块,现在机票前端应用层已全部采用Node.js来实现。

    1.8K20发布于 2019-04-22
  • 来自专栏携程技术

    干货 | 携程机票RN复杂交互实践

    作者简介 海涛,携程前端开发工程师,负责机票主流程预订、React Native技术栈相关开发工作。 前言 本文将主要介绍在携程中文APP国内机票模块中,对往返机票的预定流程改造期间,在React Native中进行复杂动画、手势交互的经验总结,包括复杂交互对于RN页面的性能开销,以及在不断解决问题的过程中总结出来的实践方案 经过产品调研,旧有的往返机票预定分页模式在用户体验中存在以下痛点: 用户需要反复进行信息确认,确认过程中切换页面有较强跳出感; 往返的去程列表和返程列表认知度不高,同时分页模式下往返总价模式理解成本高; 国内机票往返的项目则是使用了transformX属性作为左右滑动的动画值。

    5.3K20发布于 2020-03-11
  • 来自专栏携程技术

    干货 | 携程机票大数据架构最佳实践

    作者简介 许鹏,携程机票大数据基础平台Leader,负责平台的构建和运维。深度掌握各种大数据开源产品,如Spark、Presto及Elasticsearch。 而且Presto是基于流水线的,只要有一个块当中结果出来了,然后比如说我们最典型的就是后面加一个后置的条件,然后limit 10或者Limit 1,你会发觉很快出来结果,用Spark会发现它Where条件的搜索会经历多个 基于ORC的文件存储,它的提升应该是5倍或者10倍,10倍到20倍的提升。 意思就是说缓存内容一旦超过系统内存的10%其它活不要干了,专心致志吐这个缓存内容。 Vm.dirty_background_ratio是说如果达到这个阀值,就开始将文件缓存内容写入到磁盘。 因为查询时不是所有人都应该看到所有的数据,这很容易出问题,可能有比较实实在在的数据,它不像一般的日志数据,特别像机票或者我们这边的酒店,它的数据有不少的一些敏感信息,这需要做相应的权限管理。

    1.5K80发布于 2018-03-16
  • 来自专栏向治洪

    实现去哪儿来回机票选择的view

    ".equals(day)) { if (Integer.parseInt(day) < 10) { day = } } private String getMonth(int month) { String mon = ""; if (month < 10 dd.equals("01")){ list.add(yyyy+"-12-"+dd); } }else if(nowMon==10 ){ list.add(yyyy+"-10-"+dd); list.add(yyyy+"-11-"+dd); list.add(yyyy return list; } public String getMon(int mon){ String month=""; if(mon<10

    63250发布于 2018-02-01
  • 来自专栏携程技术

    干货 | 携程机票前台Trace系统的演进之路

    机票前台预订主流程服务现在有若干个系统,每个系统部署了多个服务,每个服务又依赖多个API,用户通过终端设备(手机、PC等)预订了机票产品,过程中出现“系统异常”该如何分析排查呢? 答案或许就是携程机票前台Trace系统。 二、Trace系统的发展历程 2.1 基于原始日志的Dev&Ops 机票前台的日志记录还是比较完善的,我们将系统中的服务以及上下游依赖的服务都进行了日志写入。 日志体系在机票前台主要有以下三类日志,这三类日志可以满足日常开发运维的基本需求,实现对整个流程的精准把控。 接口自动化平台:结合Mock平台实现服务接口的自动化测试 2.3 基于Chrome插件版本的Trace 工具 机票前台通过日志和自动化建设来保证日常开发运维的基本流程,通过Chrome插件来解决一些重复工作 BDD UI Testing框架 - Flybirds 携程机票前端安卓虚拟机测试集群建设实践 质量保障新手段,携程回归测试平台实践  “携程技术”公众号   分享,交流,成长

    88040编辑于 2022-08-25
  • 来自专栏携程技术

    干货 | 携程机票无线测试技术与效能提升

    作者简介 罗昭君,携程机票无线高级测试经理,负责机票移动端功能测试、自动化测试、平台开发等。从事开发、测试工作近12年,先后在阿里巴巴、携程任职。 例如,下图是携程机票移动端大致的一个调用结构图: ? 互联网应用的分层测试一般情况下可以分成以下测试层面: ? 以下是携程机票分层测试的比重分布的目标,其中单元测试的工作由开发人员完成是效率较高的选择,测试人员可以承担代码静态扫描和UT覆盖率的统计、改善跟进工作。 下图是携程机票的测试数据模板,其中数据的模板只涉及请求和响应报文的契约结构(可以自动生成),具体的数据填充则由其他接口在代码中动态填充。 ? ? 3、UI 自动化测试 ? 携程机票团队进行精细化的模糊测试,主要是依靠mock平台为中心来设置测试输入数据、利用比对工具的方式来进行结果校验。 ?

    1.2K50发布于 2018-03-16
领券