您好,欢迎来到网暖!

当前位置:网暖 » 站长资讯 » 建站基础 » 网络技术 » 文章详细 订阅RssFeed

【码农杂谈】谈谈优先级问题

来源:网络整理 浏览:365次 时间:2022-11-22

丛林小故事

        以前,有两个人在森林里散步,忽然出现了一只大老虎,一个人忙伏下身去系鞋带。另一个人问:你系什么鞋带啊?你难道还能跑得过老虎吗? 这个人说:我哪能跑得过老虎啊。不过我只要跑的过你就行了!

        假设系好鞋带确实可以跑得更快,如果老虎思维正常的话,应该是谁跑得慢吃掉谁,柿子挑软的捏嘛,那么没有系鞋带的童鞋在老虎看来优先级较高,给予优先处理。

广告优先级

        假设现在有一个很火的视频客户端AVideo,有三个广告商想在视频首页投放广告,广告商甲乙丙依次出资5元,3元,2元,那么如何公平公正公开地给这三个广告商播放广告呢?

        因为广告商出资不同,谁给的钞票多当然就优先投放谁的,谁给的钞票多当然优先多次播放谁的。于是开始按照先后播放思路设计,先加播放5次甲的广告,再按此播放3次乙的广告,2次丙的广告。但是客户端那么多,无法保证每个客户端都打开AVideo,有的客户端只打开过一次AVideo,可能乙丙的广告压根看不到,我们需要继续调整优先级。

        出资的多少只是权重占比不同,于是开始按照播放占比的思路设计,假设现在随机产生一个(0,1)数字,命中区间(0,0.5)时播放甲的广告,命中区间(0.5,0.8)时播放乙的广告,命中区间(0.8,1)时播放丙的广告。这样我们就按权重大小,暂时公平地解决了优先级的问题。广告当然还可以继续精准定位投放,暂不考虑。

队列的优先级

        经过广告位优先级的实现,突然发现,优先级的概念已经不只是一系列可以比较大小的数字,而是谁占有更多的资源,谁的优先级就会提高。队里是FIFO的,假设有两个队列A,B,两个普通的队列,如何才能让A队列数据的消费优先级高于B队列?

        要让A队列消费优先级高于B队列,不如限制B队列的消费者,消费速度,A的消费者多同时消费速度快,自然优先级就高于队列B了。扬汤止沸不如釜底抽薪,哈哈。那假如只有一个队列,来了一条优先级比较高的数据,如何才能让这条数据优先于其它已经排在队列里的数据?

SSO登录验证优先级

        假设流程简化,单点登录只是解决一个会话共享的状态。每次请求可以将token信息携带,由服务端获取并验证,也可以由服务端获取cookie信息并验证,如果还是没有token信息则跳转验证中心登录。潜意识自带了优先级概念,先处理request,再处理cookie。


缓存优先级

        为了提高各种响应速度,程序处处加入了缓存,以前单机年代把缓存直接放到本地的内存,先在内存加载数据里找,找不到再去数据库查,查完再次放到本地缓存里,这就是缓存优先级高于数据库。计算机的世界里处处充斥着优先级。

码农小记

        码农小伙伴开发功能,总是先完成,再完美,事分轻重缓急,这就是优先级的概念。生产出现bug时,立马停下手里新开发的功能,优先解决生产的问题。潜意识里自带优先级概念,如何协调好优先级顺序可以帮我们轻轻松松解决很多问题,如何提高一个事物优先级,加大投入,给予更多的资源,或者降低其它事物的占用资源。


推荐站点

  • 腾讯腾讯

    腾讯网(www.QQ.com)是中国浏览量最大的中文门户网站,是腾讯公司推出的集新闻信息、互动社区、娱乐产品和基础服务为一体的大型综合门户网站。腾讯网服务于全球华人用户,致力成为最具传播力和互动性,权威、主流、时尚的互联网媒体平台。通过强大的实时新闻和全面深入的信息资讯服务,为中国数以亿计的互联网用户提供富有创意的网上新生活。

    www.qq.com
  • 搜狐搜狐

    搜狐网是全球最大的中文门户网站,为用户提供24小时不间断的最新资讯,及搜索、邮件等网络服务。内容包括全球热点事件、突发新闻、时事评论、热播影视剧、体育赛事、行业动态、生活服务信息,以及论坛、博客、微博、我的搜狐等互动空间。

    www.sohu.com
  • 网易网易

    网易是中国领先的互联网技术公司,为用户提供免费邮箱、游戏、搜索引擎服务,开设新闻、娱乐、体育等30多个内容频道,及博客、视频、论坛等互动交流,网聚人的力量。

    www.163.com
  • 新浪新浪

    新浪网为全球用户24小时提供全面及时的中文资讯,内容覆盖国内外突发新闻事件、体坛赛事、娱乐时尚、产业资讯、实用信息等,设有新闻、体育、娱乐、财经、科技、房产、汽车等30多个内容频道,同时开设博客、视频、论坛等自由互动交流空间。

    www.sina.com.cn
  • 百度一下百度一下

    百度一下,你就知道

    www.baidu.com