出境游购物系统的后台数据服务的设计与实现
发布时间:2020-11-05 23:41
随着国民经济的发展和人均可支配收入的提高,旅游消费在人民生活中的重要性不断增长,尤其是出境游消费呈现出爆发式增长,同时出境游期间发生的购物消费也在不断增加。由于出境游购物消费存在环境陌生、语言障碍等特殊性,信息不对称问题较平常的购物消费更为突出,因此对出境游购物信息服务的需求也越来越迫切。另一方面,移动端设备的普及,为出境游购物的信息服务提供了良好的硬件基础。在这一背景之下,出境游购物系统这一应用既具有现实意义,也具备技术环境支持。对于这一具体应用来说,最需要解决的问题是如何提供准确可靠的购物信息,而整个应用中最核心的部分则是后台的数据服务。本文即是从后台数据服务的设计与实现着手,通过数据有效抓取与基于移动客户端的准确推送,从而解决出境游购物信息服务的现实需求。本文研究的主要目标是通过信息的挖掘、收集、匹配和推送,解决出境游用户购物需求的有效信息获取问题,并通过消息推送及无线API网关将数据提供给手机客户端。本文首先从后台数据服务的研究背景和意义着手,剖析具体需求,然后围绕具体设计与实现,分爬虫服务设计、推送服务设计与无线API网关设计三部分进行了详细地论述,最后对系统进行测试并对各模块的整合运行进行了阐述,并在此基础上进行了全文研究的总结。围绕数据的挖掘、收集、匹配和推送这一条数据流的闭环,本文提出了一整套合理的解决方案,主要研究成果可以概括为以下几方面:1.利用爬虫技术实现了线下数据的自动收集整理。本研究使用基于Python语言的爬虫对这些公开信息进行抓取收集,提取分类信息和关键字,设计匹配的数据结构,将结构化的数据保存到系统中。并且针对网站的反爬虫设计了专门的应对策略。2.基于地理位置的推送消息模块的设计,实现了高并发、高可靠的消息推送功能。使用的是系统内置的定位技术,并将推送消息的生成和发送解耦,通过一个内部SOA接口暴露给推荐系统方调用的方式来实现给推荐系统推送消息,并且使用异步处理的模型,以避免同步高并发处理所带来的一系列难题及硬件要求。文中区分安卓和iOS两个系统讨论了推送,按照不同的系统环境,设计和实现了不同的推送策略。3.使用无线API网关解决开发移动App时面临的诸多痛点,例如与后台服务高耦合、无法快速迭代升级以及缺乏统一的安全保护等。最大的创新之处在于通过热部署这一功能设计解决了稳定性和可迭代性的两难问题。使用脚本形式,在保证核心功能平稳运行的同时,实现了扩展功能,保证程序的非停机发布,在程序稳定运行的基础上实现了可迭代性。并且为特殊情况发生的场景,重点设计了异常处理的方法以及服务降级、熔断保护的方案。4.本文最后对系统进行了测试。系统通过测试运行,对系统的高并发性、可维护性都进行了反复验证。测试通过后,实现了爬虫服务、API网关服务和推送服务三个服务的部署,并从服务端和客户端两个方向,彼此印证了系统的运行。在平台的实现中,本文采用了Python语言实现了爬虫设计部分,其他部分脚本使用Java和Go语言实现,选择了最适应于场景的技术语言。本文的创新主要体现在:通过综合使用多种关键技术实现了后台数据服务对信息的挖掘、收集、匹配和推送,具体体现在使用结合GPS和WiFi进行地理位置信息的快速定位及消息推送,使用爬虫进行基础数据的自动化收集整理,以及使用一个高性能高可用的移动网关作为数据服务的对外接口。本文的不足之处在于:本文仅对后台数据服务提出了基础解决方案,在实际线上应用环境下,还会有各种各样新的问题出现,例如爬虫数据的时效性、更新策略、推送消息的准确性等。这些问题可以在服务上线之后进行不断地优化。
【学位单位】:上海交通大学
【学位级别】:硕士
【学位年份】:2018
【中图分类】:F592;TP311.52
【部分图文】:
出境游购物系统的后台数据服务的关注异常处理的方法以及服务降级、熔断保护的实现方案。最后,从实际生度出发,还要考虑热更新、热部署等快速修复的功能。这三个模块在系统里的整体架构如图 2-1 所示。爬虫模块在抓取到外部数存储,供消息推荐模块进行推荐并推送至客户端的 SDK;而 App 会通过无模块去主动查询、获取商品商场数据。外部数据爬虫模块内部数据无线 API 网关消息推荐数据源服务层
图 3-1 亚马逊网站的反爬虫验证码机制igure 3-1 The Anti-Crawler System of Amazon.c无疑降低了程序的运行效率,为了应对制定了如下的应对策略:首先使用多个服务器只有一个爬虫应用,每个应用只 UserAgent 字段来隐藏自己的真实身份符串头,使得服务器能够识别客户使用浏览器渲染引擎、浏览器语言、浏览器的 User Agent,并再每次请求之前,随机。这样在多次请求的过程中就会表现得更
出境游购物系统的后台数据服务的由苹果服务器实现的,当然实际上苹果也并不保证消息的百分之百憾也没有办法在到达率上额外做提高或者优化,如图 4-1 所示。对于关注点还是应该放在收到消息后如何弹出消息、如何进行应用内跳上大大简化了开发的工作量。但需要注意的是,苹果独特的 token 订在批量发送消息的过程中网络连接意外终止,在 4.4.2 章节中将具体的策略。
【参考文献】
本文编号:2872360
【学位单位】:上海交通大学
【学位级别】:硕士
【学位年份】:2018
【中图分类】:F592;TP311.52
【部分图文】:
出境游购物系统的后台数据服务的关注异常处理的方法以及服务降级、熔断保护的实现方案。最后,从实际生度出发,还要考虑热更新、热部署等快速修复的功能。这三个模块在系统里的整体架构如图 2-1 所示。爬虫模块在抓取到外部数存储,供消息推荐模块进行推荐并推送至客户端的 SDK;而 App 会通过无模块去主动查询、获取商品商场数据。外部数据爬虫模块内部数据无线 API 网关消息推荐数据源服务层
图 3-1 亚马逊网站的反爬虫验证码机制igure 3-1 The Anti-Crawler System of Amazon.c无疑降低了程序的运行效率,为了应对制定了如下的应对策略:首先使用多个服务器只有一个爬虫应用,每个应用只 UserAgent 字段来隐藏自己的真实身份符串头,使得服务器能够识别客户使用浏览器渲染引擎、浏览器语言、浏览器的 User Agent,并再每次请求之前,随机。这样在多次请求的过程中就会表现得更
出境游购物系统的后台数据服务的由苹果服务器实现的,当然实际上苹果也并不保证消息的百分之百憾也没有办法在到达率上额外做提高或者优化,如图 4-1 所示。对于关注点还是应该放在收到消息后如何弹出消息、如何进行应用内跳上大大简化了开发的工作量。但需要注意的是,苹果独特的 token 订在批量发送消息的过程中网络连接意外终止,在 4.4.2 章节中将具体的策略。
【参考文献】
相关期刊论文 前2条
1 孙立伟;何国辉;吴礼发;;网络爬虫技术的研究[J];电脑知识与技术;2010年15期
2 付职忠;;大圆距离及大圆航向的计算[J];中国民航学院学报;1990年01期
本文编号:2872360
本文链接:https://www.wllwen.com/guanlilunwen/lvyoujiudianguanlilunwen/2872360.html