加入收藏 | 设为首页 | 会员中心 | 我要投稿 盐城站长网 (https://www.0515zz.cn/)- 运维、云管理、管理运维、智能数字人、AI硬件!
当前位置: 首页 > 站长资讯 > 评论 > 正文

疫情加速公用事业部门转向人工智能

发布时间:2021-02-21 11:37:49 所属栏目:评论 来源:互联网
导读:当前,各行各业都开始加速进入数字化转型的快车道,期望通过云、AI、5G等技术实现转型来支撑业务的长期、持续增长。作为全球领先的ICT基础设施和智能终端提供商,华为在全球拥有19.4万员工、900多个分支机构、15个研发中心,业务覆盖全球170多个国家和地区,

当前,各行各业都开始加速进入数字化转型的快车道,期望通过云、AI、5G等技术实现转型来支撑业务的长期、持续增长。作为全球领先的ICT基础设施和智能终端提供商,华为在全球拥有19.4万员工、900多个分支机构、15个研发中心,业务覆盖全球170多个国家和地区,服务30多亿人口…如此庞大、复杂的一个组织机构,内部如何来运作实现业务的高效运行和全球的管理协同?

6月22日,华为云BU副总裁、首席数字化转型官苏立清,与国内CIO社区ITValue发起理事、钛媒体联合创始人及首席研究官万宁在华为Cloud & AI Live高端对话直播中,围绕华为数字化转型和上云实践,谈大中型企业如何借助云、AI等数字化技术,实现数字化生产、服务、运营,提升效率,加速智能升级,拥抱新基建带来的新机遇。


 

注意这里用的是addList,它的底层是pipelining管道,而add方法的底层是一个个for循环的setBit,这样的速度效率是很慢的,但是他能有返回值,知道是否插入成功,而pipelining是不知道的,所以具体选择用哪一种方法看你的业务场景,以及需要插入的速度决定。。

布隆过滤器工作位置

第一步是将数据库所有的数据加载到布隆过滤器。第二步当有请求来的时候先去布隆过滤器查询,如果bf说没有,第三步直接返回。如果bf说有,在往下走之前的流程。ps:另外guava的数据加载中只有put方法,小伙们可以想下布隆过滤器中数据删除和修改怎么办,为什么没有delete的方法?


 

我们看到这个结果正是印证了上面的结论,这100个真实存在元素在布隆过滤器中一定存在,另外9900个不存在的元素,布隆过滤器还是判断了216个存在,这个就是误判,原因上面也说过了,所以布隆过滤器不是万能的,但是它能帮我们抵挡掉大部分不存在的数据已经很不错了,已经减轻数据库很多压力了,另外误判率0.02是在初始化布隆过滤器的时候我们自己设的,如果不设默认是0.03,我们自己设的时候千万不能设0!

Redis实现布隆过滤器

上面使用guava实现布隆过滤器是把数据放在本地内存中,我们项目往往是分布式的,我们还可以把数据放在redis中,用redis来实现布隆过滤器,这就需要我们自己设计映射函数,自己度量二进制向量的长度,下面贴代码,大家可以直接拿来用的,已经经过测试了。。


 

大家来看下这个图,我们看集合里面3个元素,现在我们要存了,比如说a,经过f1(a),f2(a),f3(a)经过三个哈希函数的计算,在相应的位置上存入1,元素b,c也是通过这三个函数计算放入相应的位置。当取的时候,元素a通过f1(a)函数计算,发现这个位置上是1,没问题,第二个位置也是1,第三个位置上也是 1,这时候我们说这个a在布隆过滤器中是存在的,没毛病,同理我们看下面的这个d,通过三次计算发现得到的结果也都是1,那么我们能说d在布隆过滤器中是存在的吗,显然是不行的,我们仔细看d得到的三个1其实是f1(a),f1(b),f2(c)存进去的,并不是d自己存进去的,这个还是哈希碰撞导致的,我们把这种本来不存在布隆过滤器中的元素误判为存在的情况叫做假阳性(False Positive Probability,FPP)。

我们再来看另一个元素,e 元素。我们要判断它在容器里面是否存在,一样地要用这三个函数去计算。第一个位置是 1,第二个位置是 1,第三个位置是 0。那么e元素能不能判断是否在布隆过滤器中?答案是肯定的,e一定不存在。你想啊,如果e存在的话,他存进去的时候这三个位置都置为1,现在查出来有一个位置是0,证明他没存进去啊。。通过上面这张图加说明,我们得出两个重要的结论

从容器的角度来说:

  • 如果布隆过滤器判断元素在集合中存在,不一定存在
  • 如果布隆过滤器判断不存在,一定不存在
  • 从元素的角度来说:
  • 如果元素实际存在,布隆过滤器一定判断存在
  • 如果元素实际不存在,布隆过滤器可能判断存在

小伙们请牢记

Guava实现布隆过滤器

java为什么写的人多,基数大,因为是开源的,拥抱开源,框架多,轮子多,而且一个功能的轮子还不止一个,光序列化就有fastjson,jackson,gson,随你挑任你选,那布隆过滤器的轮子就是google提供的guava,我们用代码来看一下使用方法

首先引入我们的架包



(编辑:盐城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读