1 / 23
文档名称:

魔方系统架构设计说明书v1.0.doc

格式:doc   大小:168KB   页数:23页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

魔方系统架构设计说明书v1.0.doc

上传人:w3332654 2022/2/28 文件大小:168 KB

下载得到文件列表

魔方系统架构设计说明书v1.0.doc

相关文档

文档介绍

文档介绍:.
1 / 23
范文范例参考
魔方系统架构设计说明书

Revision History
日期
版本
描述
作者
审核


文档生成
*100=58500条数据存储。
当前-使用HBase进行存储抓取回来的运价数据,使用Oracle来存储运营数据。
进化-随着目标的增多及频率的增大,数据量会越来越大。
高度影响,如存储性能太低,会大大影响用户体验。


渠道适配器的适应性
由于抓取的目标文件格式可能是各种文本格式,包括txt,xml,jason,而每种格式的数据结构不同,即使是同一种格式,随着网站的改版,数据结构也可能发生改变。
当前-专门针对目标编写特定的适配器。
进化-随着需求的增加及网站改版,特定的目标格式会增多。
中度影响,会影响系统的运营及扩展。但对系统最终用户的影响较小。对系统运维人员影响较大。


技术决策
问题:抓取屏蔽
解决方案概括:使用改变ip的方法来应对。
因素
自动改变ip
.
5 / 23
范文范例参考
解决方案
当前,我们使用***来运行机器人抓取任务。随着频率的增大,我们需要更多更稳定的***来满足我们的业务需求,即使ip遭到屏蔽,由于可能伤害到其他普通ADSL用户,所以也不大可能永远屏蔽,过一段时间ip解除屏蔽后,这些***又可以实现复用。
所需要的***数量的计算方法:假设频率至少为5分钟/ip才不会遭到屏蔽,根据初期需求,每个渠道每小时内有4500个请求,五分钟内就有375个请求,这样的话就至少需要375个***ip才可以避免被屏蔽,我们就会保持在ip地址池中至少有375个ip是可用的。
***ip获取方法可以有如下几种方式:
通过网络扫描,自动获取。
通过向专业服务商购买。
第二种方式目前我们供应商给我们的数据是300元/月,有15万个ip可用。这个目前来说足够满足我们的需求了。
动机
运价数据是整个系统的中心,用户希望系统能够稳定地抓取数据,有稳定的数据来源。以支持后续的数据分析及查询。
问题:大数据量存储
解决方案描述:使用云计算平台
因素
需要支持海量数据存取。
解决方案
目前数据量还不大的时候,我们使用HBase来存储抓取的运价数据,经过对比之后把变化的数据保存入数据库。随着数据的增大,以及并发的增加,我们会考虑使用Hadoop云计算平台来支持大数据量的快速存取。同时使用Memcache缓存来加快查询速度,对于某些功能,比如最低价查询,我们还会使用预处理的方式先把最低价保存在一张表中,加快处理速度。
动机
随着数据量的增大,如果用普通的关系型数据库,很快会面临性能问题,一旦性能有问题,用户体验就会大打折扣,试想每次查询都要等几十秒钟甚至几分钟,那很快用户就会失去耐心,很快就会抛弃你的系统。所以保持快速响应是非常重要的目标之一。
问题:渠道适配器的适应性
解决方案描述:提供自定义适配器的界面。
.
6 / 23
范文范例参考
因素
提供多种方式让适配器或者解析方式是可配置的。
解决方案
用户可以用java编写自己的渠道实现〔实现IPlaneService,系统会根据配置自动加载相应的渠道实现。
可以使用规则引擎或者动态语言提供另外一种除java之外的适配器编写方式。
以上2种方式不需要重新启动服务器就能让新的适配器生效,但缺点是需要运维人员具备相应语言的开发能力。
提供界面让用户自定义数据节点对应,以xml为例,用户指定航班号,起飞时间,航空公司等应该对应什么节点,然后xml通用适配器就会取得对应节点的值把它作为航班号,起飞时间,航空公司等,类似可以指定所有其他的节点对应关系。最后xml通用适配器取完所有的值之后就存入数据库。Jason格式也类似,也会有jason通用适配器来处理。
动机
系统运维人员希望系统上线之后,如果遇到目标网站改版,添加新的抓取渠道等要修改适配器或者添加适配器的时候,能尽可能简单,同时尽可能把成本降到最低。
子系统
本系统从逻辑上可以分为2个子系统:
WEB前端子系统:前端用户界面,提供运价查询,抓取设置管理等用户接口。
抓取机器人子系统:读取用户在WEB前端设置的任务,按计划运行。
逻辑视图
总体架构图
Figure 1 总体架构图
技术架构
Figure 2 Web前端子系统技术架构
Figure 3 抓取机器人技术架构
WEB前端
WEB前端项目层次如下:
Figure 4 前端框架层次图
基于DDD思想,/