Categorieën: Alle - 技术

door 旭 王 14 jaren geleden

535

DBC中期计划

中期计划的核心在于明确和具体的目标,并通过详尽的指标和措施来保证达成。工作内容分为前期和后期,前期主要为公司产品提供支持,后期则对外提供服务。测试环节注重组内测试和质量保证,通过互为责任人和加快交接来提高效率。数据库维护方面,强调管理制度、文档维护及权限分配。开发和设计需结合资源,明确绩效标准并合理分配人员和硬件资源,确保减少闲置和风险预留。开发时间表和策略措施则涵盖应用技术的多方面,包括搜索引擎技术、云计算、缓存及多线程等。

DBC中期计划

DBC中期计划

中期计划的目标更为明确、具体,指标和措施较为详尽。

工作项

提供底层支持

IShop

秘书工作台

网络商城

供货商

比价网站

储备
Java Lucene测试

测试报告搜索速度、切词准备度、应用Java的可行性工作量分析

工作优先级
以产生效果快速、显著排序
jave lucene 分词

http://blog.chenlb.com/2009/04/mmseg4j-max-word-segment-compare-with-paoding-in-effect.html

http://hi.baidu.com/lewutian/blog/item/0c117af8d0d92103d9f9fd9c.html

http://hi.baidu.com/lewutian/blog/item/d2d723b73e377cf831add19c.html

数据接口
列表、单一、相关商品
供货商维护
到期供货商商品自动下架
合约

比例

范围

时间

货比三家
现有数据结构修改
商品分类

非热闹商品

增加热门商品记录字段

索引加标识字段

GoodsInfo表加标识字段

数据分析

有互动

通过客户反馈信息进行处理。

联嘉商品讯价

测试数据准确

服务质量
热门商品
供货商评级
非关系型数据库
数据库管理
数据整理
租车
体检
索引创建
压缩
讯价

讯价的作用

得到商品实时的价格。

讯价的规则

1. 不讯价的情况

 3小时内更新的热门商品

 1天内更新的非热门商品

2. 自动讯价频率

 热门商品2小时一次

 热门商品2小时一次

讯价的方式

1. 考虑从购物车获得价格。购物车数据量最小,有可能需要通过Cookie传参数。

2. 与供货商建立合作关系,由供货商提供价格接口。

应用技术

缓存

 性能考虑

Length为300万的HashTable会否有性能问题?

如果对性能影响较大,可以考虑的几种拆分方式:

 按频道(操作简单,但图书频道还是很大)

 按InfoCode区间(大小不统一,拆分碎片可能过多)

 热门/非热门

 占用空间

数据按300万计算:

 商品InfoCodeList,占用17M左右。(InfoCode(6)*300万=17M)

 商品价格,占用635M左右。

(provider(40)+providerName(16)+price(6)+updateTime(10))*3>

216*300万=635M

 分类

 商品价格数据

作用:存储商品在各供货商实时售价。

结构:HashTable(Key:InfoCode;Value:IList<ProviderPrice>)

 商品InfoCode String[]

作用:维护全部商品InfoCode列表,自动讯价使用

结构:字符串数组。

服务(自动讯价)

 热门商品2小时一次

 热门商品2小时一次

多线程

 线程池:讯价需要支持多并发。

现有数据结构修改

1. 增加热门商品记录字段。

 GoodsInfo表加标识字段

 索引加标识字段

2. 商品分类

 热门商品

 非热闹商品

接口定义

讯价取商品最低价

 参数:InfoCode

 返回:ProviderPrice

 逻辑:

1. 接收InfoCode,判断是否讯价(通过UpdateTime)

2. 生成最低价供货商URL和参数

3. 抓取解析购物车HTML,取实时价格。

4. 更新数据(如果价格改变)

5. 返回ProviderPrice。

取多个商品价格(推荐商品)

 参数:"InfoCode,InfoCode,InfoCode"

 返回:HashTable(Key:InfoCode;Value:IList<ProviderPrice>)

指定商品在各供货商售价格比较

 参数:InfoCode

 返回:IList<ProviderPrice>

 逻辑:

1. 接收InfoCode

2. 取缓存数据,判断是否讯价(通过UpdateTime)

3. 调用讯价方法(foreach供货商)

4. 更新数据(如果价格改变)

商品价格更新

 参数:InfoCode, IList<ProviderPrice>

 返回:更新结果(成功/失败)

 逻辑:

1. 判断此次操作是 Insert还Update。新商品为Insert。

2. 更新内容包括:缓存、数据库、索引。

编辑热门商品状态

 参数:InfoCode(可接收多个),状态(1表示热门商品 2表示非热门商品)

 返回:更新结果(成功/失败)

 逻辑:

1. 更新数据库中商品状态

2. 更新索引中商品状态

3. 更新两个缓存

实体类

ProviderPrice

属性 说明 类型

providerId 供货商Id Guid

providerName 供货商名称 String

price 价格 Double

updateTime 更新时间 DateTime

延迟加载

讯价按功能按供货商及频道进行分类,便于维护。

异常处理

讯价无结果使用原价格

讯价的规则

自动讯价频率

非热门商品1天一次

热门商品2小时一次

不讯价的情况

1天内更新的非热门商品

3小时内更新的热门商品

接口

单个性能要优于多个

在讯价中取商品价格优先级高于取同类商品价格。

编辑热门商品

1.数据库

2.索引

3.两个缓存

商品价格更新

指定商品在各供货商售价格比较

1.接收InfoCode

2.取缓存数据,判断是否讯价(通过UpdateTime)

3.调用讯价方法(foreach供货商)

4.更新数据(如果价格改变)

取多个商品价格(推荐商品)

讯价取商品最低价

1.接收InfoCode,判断是否讯价(通过UpdateTime)

2.生成最低价供货商URL和参数

3.抓取解析购物车HTML,取实时价格。

4.更新数据(如果价格改变)

4.返回ProviderPrice。

最低供货商无货,返回第二低供货商价格。

服务

票务

中国票务通

大麦网

酒店

机票

商品

购物车页

数据合并
合并标准为品牌、商品型号
数据采集客户端
架构Review
数据组各项目公共部分提取
采集
脚本

维护计划

目录

便于查找、更新信息

分类:供货商、频道

品牌、型号为合并依据

这两个关键信息,提取单独处理模块。

C++>C#
保证频道覆盖率
评论采集
确定供货商采集优先级
供货商数据分类

行业前3

搜索
lucene优化

源码修改记录,记录在项目中。

分类统计
重构
范围搜索的优化

辅助搜索字段

策略、措施

指标

实时性

提供及时有效、有竞争力的价格。

解决方案:调用这个数据的时候要从来源的网站重新查询(询价)

搜索响应速度

数据更新的效率

解决方案:

索引更新方式采用定期重采供货商前10页数据数据,降低全站重采的效率浪费。

索引创建采用多线程。

Subtopic
搜索毫秒级
实时性

已有供货商前10页热卖商品采集

与供货商同步

上下架

信息

价格

准确性

不能拿虚假的信息提供给客户

搜索的准确

解决方案:提高词库精度。定期确定数据完整性(是否已下架或已无此商品)

把相似度很高的数据进行整合,多个供货商商品服务合并。

解决方案:参考向量空间模型

讯价

分词90%
合并80%

半自动化

价格准确99%
查询准确99%

全面性

要给客户提供非常全面的信息

覆盖工作生活的方方面面。

解决方案:通过采集行业前三供货商的商品服务丰富我们的数据。

数据

千万

供货商100家

目标

电子商务

我在做什么?还能做什么?

心放宽
眼放远
以联嘉云网为出发点

开发时间表及milestone

进度表
时间倒排

打造数据网关

贴心服务
有竞争力的价格
为客户提供优质可靠的商品、服务价格

资源

硬件
服务器

集群

RAID

带宽

人员
明确绩效标准

量化指标

需要公司支持

工作安排

充分利用,减少闲置

预留时间来进行技术储备、组内测试

风险预留

不绝对,配合测试需要预留

DBA

预算

工作内容

前期为公司产品做支撑,后期会对外提供服务。

工作制度、流程

工作下达,上行。

沟通有效。

组内标准。

如何有效执行,保障手段是什么?

源码的管理制度

数据库文档的维护

数据库管理制度

权限,责任人、第二责任人

文档维护
数据库维护
测试
组内测试

保证质量

互为责任人二

加快交接

开发
设计
需求

应用技术

迭代开发
测试驱动
分布部署
百度、Google搜索及索引技术
云计算
平行计算
向量空间模型
多线程、并行计算
自动讯价
缓存