首页 文章 精选 留言 我的

精选列表

搜索[o2o],共663篇文章
优秀的个人博客,低调大师

普通o2o公司架构部署

架构方案 web1:192.168.1.211 web1:192.168.1.212 web1:192.168.1.214 部署软件: java tomcat redis主从集群 zookeeper集群 elastcserch集群 ####三台服务器Jdk安装部署 rpm –ivh jdk-7u67-linux-x64.rpm vi /root/.bash_profile 添加内容 JAVA_HOME=/usr/java/jdk1.7.0_67 PATH=$JAVA_HOME/bin:$PATH CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export JAVA_HOME export PATH export CLASSPATH #使变量文件生效 source /root/.bash_profile 测试:java –version ###########redis主从部署 yum -y install gcc vim tar xf redis-3.0.3.tar.gz mv redis-3.0.3 /storage/local/redis-3.0.3 cd /storage/local/redis-3.0.3 make MALLOC=libc && make install redis配置: redis目录:/storage/local/redis-3.0.3 主的redis配置文件,使用默认的配置文件就可以了,如果你需要设计其他参数 从的redis配置文件,添加 #从的redis配置文件,需要添加vim/storage/local/redis-3.0.3/redis.conf daemonizeyes slaveof192.168.1.2116379 启动主从redis redis-server/storage/local/redis-3.0.3/redis.conf 查看主redis信息 #查看主redis的信息redis-cli-h192.168.1.211infoReplication#Replicationrole:master#代表192.168.1.211:6379这台redis是主connected_slaves:1slave0:192.168.9.18,6379,online 查看从redis信息 #查看主redis的信息redis-cli-h192.168.1.212infoReplication#Replicationrole:slave#代表192.168.1.211:6379这台redis是主master_host:192.168.1.212master_port:6379master_link_status:up master_last_io_seconds_ago:4master_sync_in_progress:0slave_priority:100slave_read_only:1connected_slaves:0 配置redis sentinel集群监控服务 1.添加一份redis sentinel 配置文件 vim/storage/local/redis-3.0.3/sentinel.conf##redis-0##sentinel实例之间的通讯端口port26379#master1 port26379 sentinelmonitormymaster192.168.1.21163792 sentineldown-after-millisecondsmymaster5000 sentinelfailover-timeoutmymaster900000 sentinelparallel-syncsmymaster2 2.有配置文件了,那么启动redis sentinel做redis集群监听 redis-sentinel/storage/local/redis-3.0.3/sentinel.conf 监控状态查询 #################ZooKeeper部署 第一步:主机名称到IP地址映射配置 ZooKeeper集群中具有两个关键的角色:Leader和Follower。集群中所有的结点作为一个整体对分布式应用提供服务,集群中每个结点之间都互相连接,所以,在配置的ZooKeeper集群的时候,每一个结点的host到IP地址的映射都要配置上集群中其它结点的映射信息。 例如,我的ZooKeeper集群中每个结点的配置,以slave-01为例,/etc/hosts内容如下所示: vim /etc/hosts 192.168.1.211 slave-01 192.168.1.212 slave-02 192.168.1.214 slave-03 第二步:修改ZooKeeper配置文件 在其中一台机器(slave-01)上,解压缩 tar xf zookeeper-3.3.4.tar.gz,mv zookeeper-3.3.4 zookeeper-3.3.4-node1 修改配置文件 cp zookeeper-3.3.4-node1/conf/zoo_sample.cfg /zoo.cfg vim zoo.cfg tickTime=2000 initLimit=10 syncLimit=5 dataDir=/tmp/zookeeper clientPort=2181 server.1=slave-01:2888:3888 server.2=slave-02:2888:3888 server.3=slave-03:2888:3888 第三步:远程复制分发安装文件 上面已经在一台机器slave-01上配置完成ZooKeeper,现在可以将该配置好的安装文件远程拷贝到集群中的各个结点对应的目录下: scp -r zookeeper-3.3.4-node1/root@192.168.1.211:/storage/local/zookeeper-3.3.4-node2 scp -r zookeeper-3.3.4-node1/root@192.168.1.211:/storage/local/zookeeper-3.3.4-node3 第四步:设置myid 在我们配置的dataDir指定的目录下面,创建一个myid文件,里面内容为一个数字,用来标识当前主机,conf/zoo.cfg文件中配置的server.X中X为什么数字,则myid文件中就输入这个数字 mkdir /tmp/zookeeper web1设置: echo "1" > /tmp/zookeeper/myid web2设置: echo "2" > /tmp/zookeeper/myid web3设置: echo "3" > /tmp/zookeeper/myid 启动 sh /home/storage/local/zookeeper-node1/bin//zkServer.sh start 查看状态 sh /home/storage/local/zookeeper-node1/bin//zkServer.sh status JMX enabled by default Using config: /home/hadoop/installation/zookeeper-3.3.4/bin/../conf/zoo.cfg Mode: leader 或follower(正常) ######################elasticsearch集群部署 tar xf elasticsearch-1.7.1.tar.gz mkdir -pv /storage/local/elasticsearch-cluster vim/storage/local/elasticsearch-node1/conf/elasticsearch.yml cluster.name: elasticsearch-cluster-CentOS node.name: "es-node1" node.master: true node.data: true marvel.agent.enabled: false transport.tcp.port: 9300 http.port: 9200 discovery.zen.ping.multicast.enabled: false discovery.zen.ping.unicast.hosts: ["192.168.1.212:9300", "192.168.1.214:9300"] 3.安装head插件 #进入到节点bin路径 cd /storage/local/elasticsearch-cluster/elasticsearch-node1/bin 安装插件 [root@localhost bin]# ./plugin -install mobz/elasticsearch-head 安装完插件之后会在es节点bin路径同级创建一个plugins目录,存放安装的插件 4.复制一份配置好的节点为elasticsearch-node2 scp -r /home/storage/local/zookeeper-node1/ root@192.168.1.212:/home/storage/local/zookeeper-node1/elasticsearch-node2 scp -r /home/storage/local/zookeeper-node1/ root@192.168.1.212:/home/storage/local/zookeeper-node1/elasticsearch-node3 所有服务器启动服务: sh /home/storage/local/elasticsearch-node1/bin/elasticsearch -d -Xms512m -Xmx512m 状态如图 访问:http://192.168.1.211:9200/_plugin/head/看到三个节点即可 ##########tomcat部署这里略去 附件:http://down.51cto.com/data/2366294 本文转自 msj0905 51CTO博客,原文链接:http://blog.51cto.com/sky66/1710284

优秀的个人博客,低调大师

『 天池竞赛』O2O优惠券使用预测思路总结

解决方案概述 本赛题提供了用户线下消费和优惠券领取核销行为的纪录表,用户线上点击/消费和优惠券领取核销行为的纪录表,记录的时间区间是2016.01.01至2016.06.30,需要预测的是2016年7月份用户领取优惠劵后是否核销。根据这两份数据表,我们首先对数据集进行划分,然后提取了用户相关的特征、商家相关的特征,优惠劵相关的特征,用户与商家之间的交互特征,以及利用本赛题的leakage得到的其它特征(这部分特征在实际业务中是不可能获取到的)。最后训练了XGBoost,GBDT,RandomForest进行模型融合。 数据集划分 可以采用滑窗的方法得到多份训练数据集,特征区间越小,得到的训练数据集越多。以下是一种划分方式: 划取多份训练集,一方面可以增加训练样本,另一方面可以做交叉验证实验,方便调参。 特征工程 赛题提供了online和offline两份数据集,online数据集可以提取到与用户相关的特征,offline数据集可以提取到更加丰富的特征:用户相关的特征,商家相关的特征,优惠劵相关的特征,用户-商家交互特征。 另外需要指出的是,赛题提供的预测集中,包含了同一个用户在整个7月份里的优惠券领取情况,这实际上是一种leakage,比如存在这种情况:某一个用户在7月10日领取了某优惠券,然后在7月12日和7月15日又领取了相同的优惠券,那么7月10日领取的优惠券被核销的可能性就很大了。我们在做特征工程时也注意到了这一点,提取了一些相关的特征。加入这部分特征后,AUC提升了10个百分点,相信大多数队伍都利用了这一leakage,但这些特征在实际业务中是无法获取到的。 以下简要地说明各部分特征: 用户线下相关的特征 用户领取优惠券次数 用户获得优惠券但没有消费的次数 用户获得优惠券并核销次数 用户领取优惠券后进行核销率 用户满050/50200/200~500 减的优惠券核销率 用户核销满050/50200/200~500减的优惠券占所有核销优惠券的比重 用户核销优惠券的平均/最低/最高消费折率 用户核销过优惠券的不同商家数量,及其占所有不同商家的比重 用户核销过的不同优惠券数量,及其占所有不同优惠券的比重 用户平均核销每个商家多少张优惠券 用户核销优惠券中的平均/最大/最小用户-商家距离 用户线上相关的特征 用户线上操作次数 用户线上点击率 用户线上购买率 用户线上领取率 用户线上不消费次数 用户线上优惠券核销次数 用户线上优惠券核销率 用户线下不消费次数占线上线下总的不消费次数的比重 用户线下的优惠券核销次数占线上线下总的优惠券核销次数的比重 用户线下领取的记录数量占总的记录数量的比重 商家相关的特征 商家优惠券被领取次数 商家优惠券被领取后不核销次数 商家优惠券被领取后核销次数 商家优惠券被领取后核销率 商家优惠券核销的平均/最小/最大消费折率 核销商家优惠券的不同用户数量,及其占领取不同的用户比重 商家优惠券平均每个用户核销多少张 商家被核销过的不同优惠券数量 商家被核销过的不同优惠券数量占所有领取过的不同优惠券数量的比重 商家平均每种优惠券核销多少张 商家被核销优惠券的平均时间率 商家被核销优惠券中的平均/最小/最大用户-商家距离 用户-商家交互特征 用户领取商家的优惠券次数 用户领取商家的优惠券后不核销次数 用户领取商家的优惠券后核销次数 用户领取商家的优惠券后核销率 用户对每个商家的不核销次数占用户总的不核销次数的比重 用户对每个商家的优惠券核销次数占用户总的核销次数的比重 用户对每个商家的不核销次数占商家总的不核销次数的比重 用户对每个商家的优惠券核销次数占商家总的核销次数的比重 优惠券相关的特征 优惠券类型(直接优惠为0, 满减为1) 优惠券折率 满减优惠券的最低消费 历史出现次数 历史核销次数 历史核销率 历史核销时间率 领取优惠券是一周的第几天 领取优惠券是一月的第几天 历史上用户领取该优惠券次数 历史上用户消费该优惠券次数 历史上用户对该优惠券的核销率 其它特征 这部分特征利用了赛题leakage,都是在预测区间提取的。 用户领取的所有优惠券数目 用户领取的特定优惠券数目 用户此次之后/前领取的所有优惠券数目 用户此次之后/前领取的特定优惠券数目 用户上/下一次领取的时间间隔 用户领取特定商家的优惠券数目 用户领取的不同商家数目 用户当天领取的优惠券数目 用户当天领取的特定优惠券数目 用户领取的所有优惠券种类数目 商家被领取的优惠券数目 商家被领取的特定优惠券数目 商家被多少不同用户领取的数目 商家发行的所有优惠券种类数目 模型设计与模型融合 基于以上提取到的特征,进行模型设计与融合。 单模型 第一赛季只训练了XGBoost单模型提交,连续几周位居排行榜第一位。 第二赛季训练了XGBoost,GBDT,RandomForest三种单模型,其中GBDT表现最好,XGBoost次之,RandomForest相比之下最差。GBDT和XGBoost单模型在第二赛季仍然名列Top3,融合后效果更佳,尝试了以下两种方法: 加权融合 得到了单模型的预测结果后,直接将概率预测值进行加权融合,我们简单地用0.65 * GBDT + 0.35 * XGBoost就得到了第一的成绩。 Blending模型 我们尝试了两层的blending模型,首先将训练集分为两部分(D1和D2),一部分用于第一层(level 1)的训练,另一部分用于第二层(level 2)的训练。level1 在D1上训练了4个XGBoost,4个GBDT,4个RandomForest,将这些模型的预测结果作为level2的feature,在D2上训练第二层模型。Blending模型的结果相比单模型有细微的提升,但这点提升相对于模型复杂度带来的计算代价显得微不足道。 转载。原文:https://github.com/wepe/O2O-Coupon-Usage-Forecast

优秀的个人博客,低调大师

O2O看点:卡包和微POS

【大咖・来了 第7期】10月24日晚8点观看《智能导购对话机器人实践》 微信将在本月26日推出微信5.5的正式版(非6.0版),核心升级包括加入卡包功能和微视频功能,其中***的一个升级将瞄准卡券管理和线下支付市场,推出微信卡包功能。 与之前的当面付等功能不同,微信卡包不仅仅是几亿微信用户增加了一个功能,而且将影响到线下商家的运作方式,同时,微POS类产品将从之前的内测阶段,正式进入公众市场。 微信5.5的推出表明微信在商户侧推广加速,打造的消费线上线下闭环由商户+用户+微信(卡包)+微POS产品组成,微信卡包功能和微POS是两个切入点。在微信端,公众号为卡券派发,卡包则是存储盒管理;线下微POS用户卡券的核销,同时也是一个卡券派发点。 微信卡包到底是什么?将对个人和商家的消费方式运营模式产生怎样的影响?腾讯在其中的诉求又是什么,来看我们的解秘。 切入点一、微信卡包功能 微信卡包是什么 微信5.5中加入的卡包功能,是和iOS中的Passport类似的产品,可以聚合你传统实物钱包里存在的银行卡、优惠券、电影票、会员卡等信息。 所不同的是,微信的卡包是出现在微信主目录“我”里面,钱包下方的一个新子菜单。而Passport则是存在于iOS中的一个App,从这个角度来看,微信俨然已经成了一个“系统级的App”。 (微信卡包功能界面) 对用户:入口变浅 统一管理 微信卡包能做什么在上面的描述中已经有些说明,目前来看,针对个人主要有2大用途,主要是增加了卡券使用的便捷和易用性。 个人用途一、管理银行卡、优惠券等信息。 个人用途二、将原来存在于各服务商公众号或服务号里面的优惠券、打折券等信息,从更加底层的公众号/服务号菜单中提取出来,集中在卡券菜单里显示。 这样的好处是,用户像使用一个真实的钱包一样在管理自己的卡券等信息。 (由于微信的社交属性,卡券可分享,会员卡甚至可共用) 对商户:卡券派发 轻量级ERP 其实卡包功能对商户来说更有意义,年初我在***披露微信POS硬件“微POS”创始人宿凯后,引起了“微信涉足”线下支付,威胁银联支付的误解,后腾讯公司也低调对待这一说法,撇清自己没有直接参与硬件的事实。 事实上,微信钱包、卡包和线下支付打通,确实有2个方面是离不开的,一类是微信类POS机这类硬件产品,同时也离不开线下商家的加入。 切入点二、微POS 商家和用户在线上的互动可以通过微信这个平台,比如用户从商家的公众号里,通过某个活动获得一些优惠券,或办理会员卡,存储在用户微信的“卡券”包里。 线下消费时,则可以通过微信POS设备扫描进行卡券的快速记录、消除等过程。 在这个过程中,商家会对卡券的派发消费,有一个清晰的管理后台,这是微信类POS设备+微信客户端实现的线下消费和线上关系打通的一环。 掌贝微POS创始人宿凯认为,这一方式是将线下商家接入互联网的一种很好方式,让线下所有商家组成一个类似淘宝的网络。 (微POS点功能逻辑) 微POS意在成线下入口 硬件厂商在其中的诉求,一方面是像传统开展POS业务的银联一样,通过渠道派发设备,在支付额中收取一定的佣金,据悉微信给予的佣金比例为3‰,比银联POS在渠道收入通常的比例1~2‰更高。 但 这不是最终的述求,宿凯认为,微POS类产品的获利方式,应该是基于商家的卡券派发功能,因为现在微POS类产品的核心功能,除了收款、卡券消除,还有一 个可以实现的功能是卡券派发,其设备本身使用的是Android手机软硬件架构,用户可以扫描屏幕中的二维码获取优惠卡券。 当此类终端积累到一定规模,将成为一个大的卡券分发平台,或者换一个说法,广告平台。这个类似分众传媒的电梯视频广告没有什么区别。 核心元素:二维码 在这个软硬件组成了商户、用户交易互动和交易过程中,二维码扮演着非常重要的角色,或者说是最核心的革新之一。 比如支付环节,“扫描支付”并未完全获官方准许使用,但据掌贝微POS创始人宿凯讲,官方目前已经默认可做,但不鼓励大力推广。但在实际操作层面,无论是支付宝和微信,都不想过于低调地使用这一方便的技术。 另外,比如优惠券的领取,我们传统的方式是在派发点派发,用户获得纸质的优惠券;近几年有一类新的派发设备,被摆放在繁华的地铁站附近让用户获取快速打印的纸质凭证。 按照微信卡包和微POS的组合方式,用户获取优惠券的方式,就是扫一下二维码,然后存储在微信客户端里面,在消费场所,通过微信POS类产品扫描消费。 这样优惠券的派发方式就变得非常多样,突破了时间和空间的限制,只要有显示的地方,都可以以二维码的方式派发优惠券。 腾讯的诉求:解微信盈利之困 从线上支付到线下支付,腾讯在迭代微信的时候,今年将支付功能放在非常重要的位置,个中原因为何? 据业内人士透露,这样的发展方向,原因在微信发展过程中对盈利的诉求还没有满足腾讯集团的目标。 而与用户和商家在支付方式上对接,将会有更多盈利的机会产生。 同时,这也将是继移动支付之后,又一次用户消费方式的大变。据称,下半年基于卡包功能,腾讯还未开始新一轮针对移动支付的烧钱行动。

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册