走在乡间的小路上歌谱你的双11购物车,就是这样被电商算法套路的!-经管之家论坛

2016-11-25 admin 全部文章 34
你的双11购物车,就是这样被电商算法套路的!-经管之家论坛


来源:数据分析精选(ID:sjfxjx)
电商行业中恋狱月狂病,对于用户的商品推荐一直是个非常热门而且重要的话题,相信昨晚大家都有亲身感受。本文数据侠针总结了不同电商算法, 并结合自身实践,讲解了算法对你的下单思路的理解姿势。
▍常见算法套路
电商行业中,常见的算法套路大致如下:
基于商品相似度:
比如食物A和食物B,对于它们价格、味道、保质期、品牌等维度,可以计算它们的相似程度,可以想象,我买了包子,很有可能顺路带一盒水饺回家。例如亚马逊早期的推荐系统。
优点:冷启动,其实只要你有商品的数据,在业务初期用户数据不多的情况下,也可以做推荐
缺点:预处理复杂,任何一件商品,维度可以说至少可以上百,如何选取合适的维度进行计算,设计到工程经验,这些也是花钱买不到的
案例:亚马逊早期的推荐系统
基于关联规则:
最常见的就是通过用户购买的习惯,经典的就是“啤酒尿布”的案例,但是实际运营中这种方法运用的也是最少的,首先要做关联规则,数据量一定要充足,否则置信度太低,当数据量上升了,我们有更多优秀的方法,可以说没有什么亮点,业内的算法有apriori、ftgrow之类的。
优点:简单易操作,上手速度快,部署起来也非常方便
缺点:需要有较多的数据,精度效果一般
案例:早期运营商的套餐推荐
基于物品的协同推荐:
假设物品A被小张、小明、小董买过,物品B被小红、小丽、小晨买过,物品C被小张、小明、小李买过;直观的看来,物品A和物品C的购买人群相似度更高(相对于物品B),现在我们可以对小董推荐物品C,小李推荐物品A,这个推荐算法比较成熟,运用的公司也比较多。
优点:相对精准,结果可解释性强,副产物可以得出商品热门排序
缺点:计算复杂,数据存储瓶颈,冷门物品推荐效果差
案例:早期一号店商品推荐
基于用户的协同推荐:
假设用户A买过可乐、雪碧、火锅底料,用户B买过卫生纸、衣服、鞋,用户C买过火锅、果汁、七喜;直观上来看,用户A和用户C相似度更高(相对于用户B),现在我们可以对用户A推荐用户C买过的其他东西,对用户C推荐用户A买过买过的其他东西,优缺点与基于物品的协同推荐类似,不重复了。
基于模型的推荐:
svd+、特征值分解等等,将用户的购买行为的矩阵拆分成两组权重矩阵的乘积,一组矩阵代表用户的行为特征,一组矩阵代表商品的重要性,在用户推荐过程中,计算该用户在历史训练矩阵下的各商品的可能性进行推荐。
优点:精准,对于冷门的商品也有很不错的推荐效果
缺点:计算量非常大,矩阵拆分的效能及能力瓶颈一直是受约束的
案例:惠普的电脑推荐
基于时序的推荐:
这个比较特别,在电商运用的少,在Twitter,Facebook,豆瓣运用的比较多,就是只有赞同和反对的情况下,怎么进行评论排序,详细的可以参见我之前写的一篇文章:《应用:推荐系统-威尔逊区间法》。
基于深度学习的推荐:
现在比较火的CNN(卷积神经网络)、RNN(循环神经网络)、DNN(深度神经网络)都有运用在推荐上面的例子,但是都还是试验阶段,但是有个基于word2vec的方法已经相对比较成熟,也是我们今天介绍的重点。
优点:推荐效果非常精准,所需要的基础存储资源较少
缺点:工程运用不成熟,模型训练调参技巧难
案例:苏宁易购的会员商品推荐
▍item2vec的工程引入
现在苏宁的商品有约4亿个,商品的类目有10000多组,大的品类也有近40个,如果通过传统的协同推荐,实时计算的话,服务器成本金牌女王,计算能力都是非常大的局限,之前已经有过几篇应用介绍:基于推荐的交叉销售、基于用户行为的推荐预估。
会员研发部门因为不是主要推荐的应用部门,所以在选择上,我们期望的是更加高效高速且相对准确的简约版模型方式,所以我们这边基于了word2vec的原始算法,仿造了itemNvec的方式。
首先,让我们对itemNvec进行理论拆分,part one:n-gram。

(图片说明:目标商品的前后商品对目标商品的影响程度)
这是两个用户userA太王四神记,userB在易购上面的消费time line,灰色方框内为我们观察对象,试问一下,如果换一下灰色方框内的userA、userB的购买物品,钟若涵直观的可能性有多大?

直观的体验告诉我们,这是不可能出现,或者绝对不是常出现的,所以,我们就有一个初始的假设赵涵竹,对于某些用户在特定的类目下,用户的消费行为是连续影响的,换句话说,就是我买了什么东西是依赖我之前买过什么东西。如何通过算法语言解释上面说的这件事呢?
大家回想一下,naive bayes做垃圾邮件分类的时候是怎么做的?
假设“我公司可以提供发票、军火出售、航母维修”这句话是不是垃圾邮件?
P1(“垃圾邮件”|“我公司可以提供发票、军火出售、航母维修”)=p(“垃圾邮件”)p(“我公司可以提供发票、军火出售、航母维修”/“垃圾邮件”)/p(“我公司可以提供发票、军火出售、航母维修”)=p(“垃圾邮件”)p(“发票”,“军火”,“航母”/“垃圾邮件”)/p(“发票”,“军火”,“航母”)
同理:
P2(“正常邮件”|“我公司可以提供发票、军火出售、航母维修”)=p(“正常邮件”)p(“发票”,“军火”,“航母”/“正常邮件”)/p(“发票”,“军火”,“航母”)
我们只需要比较p1和p2的大小即可,在条件独立的情况下可以直接写成:
P1(“垃圾邮件”|“我公司可以提供发票、军火出售、航母维修”)=p(“垃圾邮件”)p(“发票”/“垃圾邮件”)p(“军火”/“垃圾邮件”)p(“航母”/“垃圾邮件”)P2(“正常邮件”|“我公司可以提供发票、军火出售、航母维修”)=p(“正常邮件”)p(“发票”/“正常邮件”)p(“军火”/“正常邮件”)p(“航母”/“正常邮件”)
但是,我们看到,无论“我公司可以提供发票、军火出售、航母维修”词语的顺序怎么变化,不影响它最后的结果判定,但是我们这边的需求里面前面买的东西对后项的影响会更大。
冰箱=>洗衣机=>衣柜=>电视=>汽水,这样的下单流程合理冰箱=>洗衣机=>汽水=>电视=>衣柜,这样的下单流程相对来讲可能性会更低
但是对于naive bayes,它们是一致的。
所以,我们这边考虑顺序,还是上面那个垃圾邮件的问题。
P1(“垃圾邮件”|“我公司可以提供发票、军火出售、航母维修”)
=p(“垃圾邮件”)p(“发票”)p(“军火”/“发票”)p(“军火”/“航母”)P1(“正常邮件”|“我公司可以提供发票、军火出售、航母维修”)=p(“正常邮件”)p(“发票”)p(“军火”/“发票”)p(“军火”/“航母”)
这边我们每个词只依赖前一个词,理论上讲依赖1-3个词通常都是可接受的。
以上的考虑顺序的bayes就是基于著名的马尔科夫假设(Markov Assumption):下一个词的出现仅依赖于它前面的一个或几个词下的联合概率问题,相关详细的理论数学公式就不给出了,这边这涉及一个思想。
接下来进入第二个部分,part two:Huffman Coding,即更大的数据存储形式。
我们常用的user到item的映射是通过one hot encoding的形式去实现的,这有一个非常大的弊端就是数据存储系数且维度灾难可能性极大。
回到最初的那组数据:现在苏宁的商品有约4亿个,商品的类目有10000多组,大的品类也有近40个,同时现在会员数目达到3亿,要是需要建造一个用户商品对应的购买关系矩阵做基于用户的协同推荐的话,我们需要做一个4亿X6亿的1/0矩阵,这个是几乎不可能的,Huffman采取了一个近似二叉树的形式进行存储:
我们以易购商品购买量为例,讲解一下如何以二叉树的形式替换one hot encoding存储方式:
假设短歌行教案,818苏宁大促期间,经过统计,有冰箱=>洗衣机=>烘干机=>电视=>衣柜=>钻石的用户下单链条(及购买物品顺序如上),其中冰箱总售出15万台,洗衣机总售出8万台,烘干机总售出6万台,电视总售出5万台,衣柜总售出3万台,钻石总售出1万颗。

Huffman树构造过程:
1.给定{15,8,6,5,3,1}为二叉树的节点,每个树仅有一个节点,那就存在6颗单独的树
2.选择节点权重值最小的两颗树进行合并也就是{3}、{1},合并后计算新权重3+1=4
3.将{3},{1}树从节点列表删除,将3+1=4的新组合树放回原节点列表
4.重新进行2-3,直到只剩一棵树为止

针对每层每次分支过程,我们可以将所有权重大的节点看做是1,权重小的节点看做是0,相反亦可。现在,我们比如需要知道钻石的code,就是1000,也就是灰色方框的位置,洗衣机的code就是111;这样的存储利用了0/1的存储方式,也同时考虑了组合位置的排列长度,节省了数据的存储空间。
第三部分,part three:node probility,即最大化当前数据出现可能的概率密度函数。
对于钻石的位置而言,它的Huffman code是1000,那就意味着在每一次二叉选择的时候,它需要一次被分到1,三次被分到0,而且每次分的过程中,只有1/0可以选择,这是不是和logistic regression里面的0/1分类相似,所以这边我们也直接使用了lr里面的交叉熵来作为loss function。
其实对于很多机器学习的算法而言,都是按照先假定一个模型,再构造一个损失函数,通过数据来训练损失函数求argmin(损失函数)的参数,放回到原模型。
让我们详细的看这个钻石这个例子:

第一步,p(1|No.1层未知参数)=sigmoid(No.1层未知参数)

第二步,p(0|No.2层未知参数)=sigmoid(No.2层未知参数)
同理,第三第四层:
p(0|No.3层未知参数)=sigmoid(No.3层未知参数)p(0|No.4层未知参数)=sigmoid(No.4层未知参数)
然后求p(1|No.1层未知参数)xp(0|No.2层未知参数)xp(0|No.3层未知参数)xp(0|No.4层未知参数)最大下对应的每层的未知参数即可,求解方式与logistic求解方式近似,未知参数分布偏导,后续采用梯度下降的方式(极大、批量、牛顿按需使用)冰凌花手语舞。
第四部分,part four:approximate nerual network,即商品的相似度。
刚才在part three里面有个p(1|No.1层未知参数)这个逻辑,这个NO.1层未知参数里面有一个就是商品向量。
举个例子:
存在1000万个用户有过:“啤酒=>西瓜=>剃须刀=>百事可乐”的商品购买顺序。
10万个用户有过:“啤酒=>苹果=>剃须刀=>百事可乐”的商品购买顺序,如果按照传统的概率模型比如navie bayes 或者n-gram来看,P(啤酒=>西瓜=>剃须刀=>百事可乐)>>p(啤酒=>苹果=>剃须刀=>百事可乐),但是实际上这两者的人群应该是同一波人,他们的属性特征一定会是一样的才对。
我们这边通过了随机初始化每个商品的特征向量,然后通过part three的概率模型去训练,最后确定了词向量的大小。除此之外,还可以通过神经网络算法去做这样的事情。

Bengio 等人在 2001 年发表在 NIPS 上的文章《A Neural Probabilistic Language Model》介绍了详细的方法。
我们这边需要知道的就是,对于最小维度商品,我们以商品向量(0.8213,0.8232,0.6613末世竞技场,0.1234,...)的形式替代了0-1点(0李佳丹 ,0,0,0,0,1,0,0,0,0...),单个的商品向量无意义,但是成对的商品向量我们就可以比较他们间的余弦相似度,就可以比较类目的相似度,甚至品类的相似度。
▍Python代码实现
1.数据读取
#-*-coding:utf-8-*-importpandasaspdimportnumpyasnpimportmatplotlibasmtfromgensim.modelsimportword2vecfromsklearn.model_selectionimporttrain_test_splitorder_data=pd.read_table('C:/Users/17031877/Desktop/SuNing/cross_sell_data_tmp1.txt')dealed_data=order_data.drop('member_id',axis=1)dealed_data=pd.DataFrame(dealed_data).fillna(value='')
2.简单的数据合并整理
#数据合并dealed_data=dealed_data['top10']+[""]+dealed_data['top9']+[""]+dealed_data['top8']+[""]+dealed_data['top7']+[""]+dealed_data['top6']+[""]+dealed_data['top5']+[""]+dealed_data['top4']+[""]+dealed_data['top3']+[""]+dealed_data['top2']+[""]+dealed_data['top1']#数据分列dealed_data=[s.encode('utf-8').split()forsindealed_data]#数据拆分train_data,test_data=train_test_split(dealed_data,test_size=0.3,random_state=42)
3.模型训练
#原始数据训练#sg=1,skipgram;sg=0,SBOW#hs=1:hierarchicalsoftmax,huffmantree#nagative=0非负采样model=word2vec.Word2Vec(train_data,sg=1,min_count=10,window=2,hs=1,negative=0)
接下来就是用model来训练得到我们的推荐商品,这边有三个思路,可以根据具体的业务需求和实际数据量来选择:
3.1 相似商品映射表
#最后一次浏览商品最相似的商品组top3x=1000result=[]result=pd.DataFrame(result)foriinrange(x):test_data_split=[s.encode('utf-8').split()forsintest_data[i]]k=len(test_data_split)last_one=test_data_split[k-1]last_one_recommended=model.most_similar(last_one,topn=3)tmp=last_one_recommended[0]+last_one_recommended[1]+last_one_recommended[2]last_one_recommended=pd.concat([pd.DataFrame(last_one),pd.DataFrame(np.array(tmp))],axis=0)last_one_recommended=last_one_recommended.Tresult=pd.concat([pd.DataFrame(last_one_recommended),result],axis=0)
考虑用户最后一次操作的关注物品x,干掉那些已经被用户购买的商品,剩下的商品表示用户依旧有兴趣但是因为没找到合适的或者便宜的商品,通过商品向量之间的相似度,可以直接计算出,与其高度相似的商品推荐给用户。
3.2 最大可能购买商品
根据历史上用户依旧购买的商品顺序,判断根据当前这个目标用户近期买的商品,接下来他最有可能买什么?
比如历史数据告诉我们,购买了手机+电脑的用户,后一周内最大可能会购买背包,那我们就针对那些近期购买了电脑+手机的用户去推送电脑包的商品给他,刺激他的潜在规律需求。
#向量库rbind_data=pd.concat([order_data['top1'],order_data['top2'],order_data['top3'],order_data['top4'],order_data['top5'],order_data['top6'],order_data['top7'],order_data['top8'],order_data['top9'],order_data['top10']],axis=0)x=50start=[]output=[]score_final=[]foriinrange(x):score=np.array(-100000000000000)name=np.array(-100000000000000)newscore=np.array(-100000000000000)tmp=test_data[i]k=len(tmp)last_one=tmp[k-2]tmp=tmp[0:(k-1)]forjinrange(number):tmp1=tmp[:]target=rbind_data_level[j]tmp1.append(target)test_data_split=[tmp1]newscore=model.score(test_data_split)ifnewscore>score:score=newscorename=tmp1[len(tmp1)-1]else:passstart.append(last_one)output.append(name)score_final.append(score)
3.3 联想记忆推荐
在3.2中,我们根据了这个用户近期购买行为,从历史已购用户的购买行为数据发现规律,提供推荐的商品。还有一个近似的逻辑,就是通过目标用户最近一次的购买商品进行推测,参考的是历史用户的单次购买附近的数据,详细如下:

这个实现也非常的简单,这边代码我自己也没有写,就不贴了,采用的还是word2vec里面的predict_output_word(context_words_list, topn=10),Report the probability distribution of the center word given the context words as input to the trained model。
其实,这边详细做起来还是比较复杂的,我这边也是简单的贴了一些思路,最后,谢谢阅读。
延伸阅读:
程序员评双十一:彼之蜜糖,吾之砒霜
(本文属于原创文章,如若转载,请注明来源:程序员评双十一:彼之蜜糖,吾之砒霜http://server.zol.com.cn/663/6638633.html)
第1页:分发作业的“学委”:CDN
2016年天猫双十一单日成交记录,为1207亿。今年虽然尚未公布数据,但是今年电商流量最高峰已经结束,在这个疯狂地购物节上,人们再一次体现了中国人多力量大的特点,创造了又一个电商神话。
每年双十一电商IT系统架构都会面临巨大的流量冲击。电子商务网站的IT系统包括电子商务订单在线交易、后台管理,供应链管理、物流管理和产品数据库、客服系统等等,都需要有一个高可靠性、高性能并具有良好弹性扩展的IT系统的良好支撑。而这些并不容易,本文将主要讲述4个IT关键技术与其在系统中的重要性。

分发作业的“学委”:CDN
CDN的重要性有多大?它就像是一个快递员,负责将“数据包裹”从一个地方送到另一个地方,距离和速度直接影响了数据流的质量,影响了视频观看的流畅度和剁手是酸爽的痛感强度。
随着视频直播的流行,如今CDN正在进入黄金发展期。云计算、大数据、移动互联网等新兴技术的成熟正在为CDN提供强发展动力。有了CDN的帮助,从深圳下单剁手的流量请求,就不必千里迢迢的来到北京机房的服务器上,而只需要选择一个距离用户(深圳)最近的CDN边缘节点来响应用户请求。
中国联通CDN分发情况
事实上,每年的双十一狂欢节都少不了CDN的助阵。分析CDN峰值,甚至可以直接但映出用户购买习惯。从之前的数据来看,11月10日早上8点起就启动“买买买”模式,而到了11月10日晚上10点,将迎来第一个高峰,之后流量数据不断攀升,直到11月11日0:30之后,数据开始下滑,凌晨5点跌入谷底,清晨8点后开始回升,直到11月11日的10:30会迎来年度最高峰。
从目前国内CDN市场现状来看,竞争越来越激烈。11月6日上午,工信部公布了最新获得CDN拍照的5家企业,至此李根镐 ,获得CDN拍照的企业已经达到39家。在阿里云完成对优酷CDN业务整合后,整体带宽史无前例的达到40TB,全球节点超过1000个精爆双姬 ,低价竞争开始,这进一步证明粗放经济时代已经彻底结束。
CDN就像是一个系统中的学习委员,它清楚地知道那个作业应该发给谁,怎么走是最近的道路,怎样才能同时保证效率与质量,还能节约成本(TCO)。
第2页:会搞关系的“外联主席”:云计算
会搞关系的“外联主席”:云计算
业内有这样一种观点:双十一倒逼云计算走向成熟。笔者认为此言不虚,事实上不少IT技术的发展都是因为受到强大市场需求影响所致。
若要深追电商平台上云的历史,可能要从2008年王坚提出的“去IOE”(在IT建设过程中,去除IBM小型机、Oracle数据库及EMC存储设备)算起,毕竟x86平台造就了今天的公有云。这项具有深远意义“去IOE”大潮,为阿里带来了很多好处,也深远影响了国内IT发展路径。直至2013年5月17日,阿里集团最后一台IBM小机在支付宝下线,阿里的“去IOE”战略取得阶段性成果。
数据中心现多为X86架构服务器
但是,并不是每个企业都有阿里那样雄厚的资金支撑“去IOE”战略,对于中小型企业而言,最好的“去IOE”方式就是业务上云,用公有云的方式改变企业IT架构。
对于双十一这样一个流量请求高并发的节点,云计算的弹性与可扩展性优势得以充分发挥。公有云可以通过建立计算资源池和灵活的软件调控,做到资源充分利用,降低企业的TCO。
云计算增强IT弹性
为了保证双十一期间服务器不宕机,让消费者更好地享受剁手体验,电商平台的IT部门一般都会在双十一到来之前做现网压力测试,做出大量的系统预留。从近年的用户体验来讲龙魂噬天决,双十一的IT保障确实做的越来越好了。
一个人的力量总是有限的,对于IT系统而言同样如此,云计算就像是IT系统中的外联主席,总是能够帮助解决小集体容量不足的问题,提高了IT系统的弹性和可扩展性。
第3页:分清主次的“班长”:分布式数据库
分清主次的“班长”:分布式数据库
从2015年已经公布的数据来看,双十一当天阿里巴巴自主研发的OceanBase分布式数据库看承载了双十一100%的交易流量,每秒创建14万订单,完成8.59万笔支付(2014年为4.73万笔)。仅以交易系统为例,在双十一当天写进数据库的数据量达到了10TB赵毅维。
正如前面提到的,原来固有的数据库一般是甲骨文的Oracle数据库,而在“去IOE”之后走在乡间的小路上歌谱 ,阿里研发了自己的OceanBase数据库,这也是中国首个具有知识产权的数据库,也是首个应用在金融业务中的分布式数据关系库。
分布式数据库平台(现为蚂蚁金服所用)
之所以要做分布式数据库是因为阿里巴巴交易系统需要强扩展性与可用性。为此,阿里秉持这系统扩展性高于一切、系统可用性高于一致性与适当放宽一致性约束等原则搭建了适用于淘宝等电商平台的分布式C2C业务。分布式数据库与混合云(公有云+私有云)架构相结合的方式,让阿里的IT架构成为一个标杆。
对于网购的购买者来说,有一个问题可能您已经习惯:一致性问题。举个例子,就是你已经下单成功,并已经支付款项,但是后台却显示发货失败。这就是数据库一致性出了问题。为了将数据库可扩展性放在第一位,分布式数据库自然遇到了一些一致性问题。
“AP”是大多数分布式数据库的选择
在2000年,美国科学家EricBrewer曾经说过:当技术架构从集中式架构向分布式架构演进,会遇到“CAP定律”的瓶颈。CAP即一致性(Consistency)、可用性(Availability)与分区容忍性(PartitionTolerance)的缩写。EricBrewer认为,一个数据处理系统无法同时满足一致性、可用性和分区容错性三个要素,最多只能满足两个要素。对于分布式数据库牺牲的正是“一致性”,因此我们曾经遇到付款却不见发货的情况。
 有舍方能有得。对于班长而言,往往也需要面临学习与班级事务之间的选择,面临集体荣誉与个人利益之间的选择,分布式数据库就像是已经分清主次,做出选择的班长,将扩展性放在第一位,哪怕会牺牲掉一致性能力。
第4页:检查作业的“老师”:APM
判考卷的“老师”:APM
大概在两年前,企业都开始认识到移动端的力量,无数软件企业成立,应用软件成为企业重要的获客和信息传播渠道。客户应用体验的重要性再一次被提上日程,APM就是在这个背景下蓬勃发展起来。
APM架构图(图片来自网络)
APM是应用性能管理ApplicationPerformanceManagement的缩写邢国辉,只对企业的关节业务应用进行监测、优化,提升企业应用的可靠性和质量,保证用户能够获得良好的服务,降低TCO(总有用成本),为企业带来更多利益。在双十一这个IT的关键节点上,通过APM能够帮助企业更好地认识到自己的IT优势和局限。
根据市场研究机构Gartner的APM报告来看,虽然也看到IBM、Dell、微软这样的大企业外,位居领导者象限的企业还有许多是以APM为主导的SaaS企业,并以外国企业为主(注:2015年的魔力象限里中国企业听云位列其中)。
APM应用性能管理(图片来自听云)
通过前面的介绍大家已经了解一个强大IT系统的复杂性,它必然包含了服务器、存储、网络、操作系统、数据库、中间件、web服务、页面或终端等多层组成,而这就像是串联电路,在这个长长的链条中任何一个环节都有可能出现故障,而任何一个性能瓶颈都会影响到整个应用的性能。
APM性能管理系统的作用就是一个主动式的管理解决方案,面对负载的IT环境,通过实时性能检测分析定位问题根源,进行性能优化。在面临双十一流量高峰时用户体验尤为重要,出不得分毫差错。以听云为例,根据以往的双十一经验就做出了防出事儿、快速定位和快速解决,即预防、诊断、治疗三位一体的策略。
但值得注意的是,近两年随着微服务架构和容器技术的成熟,IT系统的灵活性越来越强,但IT环境也变得更为复杂,更难监控。这就需要APM性能管理系统提供足够细颗粒度的监控套件,在新环境下,如何能够追踪信息链路和系统架构拓扑上导致性能问题的关键,成为未来APM厂商急需解决的问题。
双十一就是一场IT大考,在这场考试中APM就像是一个老师,帮助参考者提前做准备,监测考场情况,并最后做出判断。当然,这个老师监考的目的绝不是抓作弊的人,而是为了帮助考生通过考试。
第5页:“彼之蜜糖,吾之砒霜”
“彼之蜜糖,吾之砒霜”
从“双十一购物”这个概念兴起开始,电商平台一年胜于一年,销售额连年攀升,人们似乎也习惯了每年打破记录。同时,IT技术也不断提升,可扩展性、可用性和可靠性越来越强,流量高发期服务器宕机导致页面崩溃的事件也越来越少,与之相适应的是电商平台采购的IT设备(服务器、存储等)越来越多,而程序员小哥、IT工程师和架构师们的压力也越来越大。
彼之蜜糖,吾之砒霜
马云曾说过:“通过双十一,能够真正提升整个中国未来新零售的技术、水平,因为这种技术的能力的提升,真的很难得的,在同一秒钟,那么多消费者进来,这种技术,云计算能力的突破,管理能力的突破,我觉得是很了不起。”每年的双十一显然锻炼了IT部门对于高并发的处理能力,帮助了CDN行业的不断提升。
但是,机遇常常与挑战并存。双十一的出现确实推进了网络电商的快速发展,为了支撑庞大的电商技术需求,IT工程师、程序员、架构时又夜以继日的对IT系统进行扩容和升级,提升了IT能力。
另一方面,在云计算、大数据和人工智能的背景下,双十一电商节所产生的大量数据不得不称之为企业财富。通过对这些数据进行存储、整理和分析,可以得到更多有价值的营销信息或销售线索,这些也是实施精准营销的必要条件。
作为剁手党,感谢IT工作人员
“彼之蜜糖,吾之砒霜”,程序员小哥如是说。起初,笔者并不理解程序员小哥突然说这句话的含义,直至了解了上面的这些技术,发现双十一这个全民狂欢购物节在一个技术宅眼里,只是无数个代码和0、1组成的荒诞剧。这场戏剧的主演是几亿名网友,导演是电商平台qqmac,而真正提供支持的场务人员、票务人员、音响师和灯光师们是这些程序员小哥。程序员小哥辛苦,深鞠躬~
本文属于原创文章,如若转载奇门药典录 ,请注明来源:程序员评双十一:彼之蜜糖,吾之砒霜http://server.zol.com.cn/663/6638633.html