编程开发 购物 网址 游戏 小说 歌词 地图 快照 股票 美女 新闻 笑话 | 汉字 软件 日历 阅读 下载 图书馆 开发 租车 短信 China
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
移动开发 架构设计 编程语言 互联网 开发经验 Web前端 开发总结
开发杂谈 系统运维 研发管理 数据库 云 计 算 Java开发
VC(MFC) Delphi VB C++(C语言) C++ Builder 其它开发语言 云计算 Java开发 .Net开发 IOS开发 Android开发 PHP语言 JavaScript
ASP语言 HTML(CSS) HTML5 Apache MSSQL数据库 Oracle数据库 PowerBuilder Informatica 其它数据库 硬件及嵌入式开发 Linux开发资料
  编程开发知识库 -> 架构设计 -> 实习记录5 再看fs框架 -> 正文阅读
 

[架构设计]实习记录5 再看fs框架[第1页]

今天趁着周日空闲,来记录一下最近讨论的fs框架问题,之前的fs框架并没有深入到内部,这次是从原理上,或者叫与实际相结合的意义上来看fs的框架。

简单来说,就是proxy接受数据,传给fs,fs回传proxy,再传给ps。
结合实际来说,整体所做的大致任务就是根据流量来对广告进行打分,打分的标准则是通过fs提取相应的打分特征,再将特征通过ps进行相应预测(tensorflow等方式)。
--------------------------------------------------------------------------结合自己的想法,来进行阐述
其实整体内容包括proxy、fs以及ps都是对流量进行相关的计算,流量粗略来理解就比如网页中的某个浮动框中不断出现的广告图片(不限于此,在主页以外还可能包括其他平台所带来的流量,包括头条等),而这套软件则是根据流量等信息对广告进行打分排序(或者是排序,或者是计算价格分配等具体业务)。其中一些专属名词:
1.sku:可以理解为商品,或者是某种品牌具体商品或具体型号(网络说的解释为“库存量单位”,实际意思也差不多)
2.common feature:这里的common可以指具体的客户,或是该客户所带来的流量
3.ad feature:这里的ad指的就是广告,一个common可以对应多个广告,但这并不是指相应的映射,只是数量的对比
4.model_id:这是对流量进行具体划分的一种方式,不好具体理解是什么内容,但是是指一种提取特征的具体模型,每一个model_id包含common的内容或是ad(也可能都有),每次server和client进行信息传输就是以model_id为单位。
5.pb:这个指的就是protobuf,一种数据格式,proxy和fs传输就是一个pb(其内容也是一个model_id所包含的内容),而一次传输过程中,pb要经历拆包/分析/装包的过程,同是一个pb中可能包含多个pb包,因此需要多重解析。(其实对于该总体软件来说,proxy给fs传递一个pb,而fs将pb解析,提取相应内容并装包,再转发给proxy,proxy只是将该包完整转给了ps,并没有操作)
6:MD5:网上解释为一种密码格式,大意没错。具体解释为fs中dict内容(或其他内容)对应的是某个文件,通过MD5可以将该文件转为一种字符串,通过比较该字符串,可以轻易的判断在传输过程中是否文件有丢失或是修改。
7:sku service:这里的sku service可以理解为一个具体的服务器(此时fs相当于客户端)或是一个数据库,fs可以从其中提取想要的数据(这里的提取其实利用了反射的内容,即通过给出特定字符串,来构建新的类执行相同操作(类似重写,其原始基类函数所构建的就是纯虚函数)),该部分利用了百度开源库sofa(sofa具体含义就是指函数的远距离执行,就是客户端A调用服务器B的函数来进行执行,其实单纯从内容来看就是客户端和服务器的功能,通过传输一种特定数据,来获得相应数据,只不过获得的数据是经过了相关函数的处理后所产生的)。此外,通过它所获得的数据则存放至fs的cache中(由于与其进行交互提取的过程相对较为耗时,所以每次proxy请求到来时,都去sku service反射函数并提取相应数据并不现实,因此利用cache来存放提取的内容,这样如果新的请求是已经提取过的,则可以直接获取,若不存在再进行提取,节省时间)。
--------------------------------------------------------------------------对具体内容进行阐述
1.Initsingleton:
1.fs_config:首先是从ini提取配置内容,ini文件跟平台相关,每个ini包含该平台所有的model_id(每个平台只包含部分model_id,而这一部分id都在总id中),通过ini文件 可以配置 model_id所对应的需要被提取的相关特征;与sku service连接所需的ip;dict(这一部分并未很好使用,暂时也不了解)
2.ResourceSingleton:初始化cache,compass指南针(这个应该是为了让护航等软件观察的输出接口内容),初始化sofa,建立client
3.DictResMap
2.Server:
1.openport:bind和listen等
2.SetupAcceptor:重点内容。其中重点函数包括HandleRequest→(conn→HandleRequest)→ReqHeaderHandler→PbMsgHandler(应该是拆包,解析pb文件) →ProcessRequest(这个是最为重要的内容)
3.SetupMonitorAcceptor:用于监视,其他的客户端发送请求即可获取该监视内容,暂时没研究
3.Server.Run:这就是具体的执行了,通过asio的异步命令来进行线程的启动
中间实在懒得写了,看之前写的一个图吧:

阅读全文
版权声明:本文为博主原创文章,未经博主允许不得转载。
本文已收录于以下专栏:

发表评论
HTML/XML objective-c Delphi Ruby PHP C# C++ JavaScript Visual Basic Python Java CSS SQL 其它
相关文章推荐
闲话js前端框架(5)——再看自己一年前设计的微型渲染引擎
我在初学前端的时候,做过一个现在我看来都是天方夜谭的设计,我制作了一个小型渲染引擎,我给他起名ntml(即将崩坏的html)。
sun_xiaofan 2015-08-20 19:28 1291 再看DXUT框架
温故而知新,前面的DXUT框架我只看了一个外壳,我觉得这次框架的亮点就在于它对于图形界面的支持。如果说Win32 API SDK中gdi部分是主旋律,那么MFC就是一个流行歌曲作家发挥之后完成的作品,...
weiqubo 2011-10-27 16:56 1092 再看数据库——(5)Group By与Order By
在使用sql语句时,很多人都会分不清order by与group by,其实简单的说: order by —— 排序 group by ——分组 order by是行的排序,默认为升序。 有两种方式,...
u010066934 2015-01-09 20:12 1250 打今儿起开始不定时整合框架,实在没时间,更新会很乱,肥了再看____Struts2
从今天开始更新框架系列,不定时更新,都是自己平时的一些整合,就酱紫...... 在有的公司一直用而有的公司一直不用的,地位很尴尬的SSH框架中,Stauts2的工作是充当了联系用户界面与控制器...
ran_uzi 2017-07-11 08:33 85 FS_S5PC100平台上Android Camera架构分析
/*************************************************************************** 转自:http://www.embedu.o...
kangear 2012-11-29 15:58 1644 FS_S5PC100平台上Linux Camera驱动开发详解
转自:http://mobile.riaos.com/?p=2005569 说明:         理解摄像头驱动需要四个前提:        ...
lijiatong1005 2013-07-11 16:55 710 FS_S5PC100平台上Linux Camera驱动开发详解(一)
FS_S5PC100平台上Linux Camera驱动开发详解(一) 作者:刘洪涛,华清远见嵌入式学院讲师。 说明:         理解摄像头驱动需要四个前提:     ...
gooogleman 2012-06-07 16:17 1939 FS_S5PC100平台上Linux Camera驱动开发详解(二)
作者:刘洪涛,华清远见嵌入式学院讲师。 原文:http://www.embedu.org/Column/Column409.htm 4-3 摄像头的初始化流程及v4l2子设备驱动 这个问题弄清楚...
liuying_0408 2012-05-04 11:28 643 FS_S5PC100平台上Linux Camera驱动开发详解(一)
FS_S5PC100平台上Linux Camera驱动开发详解(一) 作者:刘洪涛,华清远见嵌入式学院讲师。 说明:         理解摄像头驱动需要四个前提:     ...
eilianlau 2011-12-24 15:13 1320 FS_S5PC100平台上Linux Camera驱动开发详解(二)
作者:刘洪涛,华清远见嵌入式培训中心讲师。 4-3 摄像头的初始化流程及v4l2子设备驱动 这个问题弄清楚了以后下面就来看获得Camera信息以后如何做后续的处理: 在fimc_init_glo...
farsight2009 2012-01-04 14:43 4649
tuboshumomo +关注
原创 5 粉丝 0 喜欢 0 码云  
他的最新文章 更多文章
实习记录3 实习记录2 实习记录1
在线课程

【免费】搜狗机器翻译技术分享
讲师:

深度学习在推荐领域的应用和实践
讲师:吴岸城
热门文章 实习记录2
63
实习记录3
53
实习记录1
38
实习记录4
17
0
  架构设计 最新文章
实习记录5 再看fs框架
通过webservice发布静态页面
Spring AOP 详解
58到家MQ如何快速实现流量削峰填谷
Android应用开发结构分析
究竟啥才是互联网架构“高可用”
[HID]Spec简读
Atitit 硬件 软件 的开源工作
ofbiz连接mysql并创建独立数据库
【59】Quartz+Spring框架详解
上一篇文章           查看所有文章
加:2017-10-30 04:00:40  更:2017-10-30 04:01:02 
VC(MFC) Delphi VB C++(C语言) C++ Builder 其它开发语言 云计算 Java开发 .Net开发 IOS开发 Android开发 PHP语言 JavaScript
ASP语言 HTML(CSS) HTML5 Apache MSSQL数据库 Oracle数据库 PowerBuilder Informatica 其它数据库 硬件及嵌入式开发 Linux开发资料
360图书馆 软件开发资料 文字转语音 购物精选 软件下载 美食菜谱 新闻资讯 电影视频 小游戏 Chinese Culture 股票 租车
生肖星座 三丰软件 视频 开发 短信 中国文化 网文精选 搜图网 美图 阅读网 多播 租车 短信 看图 日历 万年历 2018年1日历
2018-1-23 23:59:52
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  编程开发知识库