读书笔记

一.《Dapper, a Large-Scale Distributed Systems Tracing Infrastructure》读书笔记

1.论文概述

2010年,Google发表了《Dapper, a Large-Scale Distributed Systems Tracing Infrastructure》。本文介绍了“Dapper”——Google生产环境中的大规模分布式系统下的跟踪系统,并在论文中阐述了其设计以及使用经验等。

在文章中,分别就Dapper“要解决的问题”、“设计目标”、“基本概念”、“数据收集流程”、“应用场景”等进行了说明。
Dapper概述思维导图

2.个人感悟

  • 从实际中寻找有价值的问题
    当缺乏快速定位服务时,那些长期的性能低下问题以及重复出现的问题很难进行精确定位,问题就这样日积月累。而随着新的功能的不断添加,这种问题会加剧。因此,快速的故障定位是非常重要的。
    现代的分布式应用服务,往往是牵一发而动全身的。在此情况下,传统方式下的跟踪系统往往是系统整体的一部分,这样会导致侵入性过强的问题出现,同时这样也会对整体的性能带来较大负担。因此,在设计Dapper的时候,既要做到相应的跟踪定位功能,同时也要尽量避免以上问题的出现。

  • 定位系统设计与实现的关键点
    在本篇论文中,追踪系统需要满足“ubiquitous deployment(无所不在的部署)”和“continuous monitoring(持续的监控)”。无处不在的部署,本质上是一种空间上的跟踪布局,也就是尽量做到避免死角的出现,因为即使是很小的一部分,在没有被监控到的情况下,也可能对追踪系统的有效性造成很大影响。持续的监控,相对应的,本质上是一种时间上的跟踪布局,因为很多异常的行为很难重现,因此在追踪系统中将其保留就显得非常重要。

  • 积极做出开创性的设计
    当具体到Dapper时,明确提出了三大设计要点:低损耗应用级别透明可扩展性。其中的应用级别透明是Google明确提出区别于以往传统方式下的跟踪系统的重要特点,通俗的说,就是要让程序员在开发的时候不需要意识到跟踪系统的存在,即跟踪系统对程序开发者是透明的。这里的“应用级别透明”,对于其他软件的设计开发具有很强的学习借鉴意义,Google在设计本系统的时候,显然抓到了追踪系统的问题点,我想这也是Dapper在Google开发中异常受欢迎的原因。

3.改进方案

Dapper同样有不太适合的使用场景:
1.Dapper模型的前提是不同的子系统使用同一个被跟踪的请求所产生的连锁链式调用栈的情况。如果是多个追踪请求合并起来,最终只使用其中的一个的情况则无法很好地对应。

改进:
1.避免在Dapper中将多个追踪请求合并起来,最终只使用一个的情况发生;
2.在Dapper中添加应对该情况的方法,尝试添加相应的链路拓扑形态分析,
  分析来源、去向,识别不合理来源,添加较为详细的依赖梳理功能;

2.Dapper可以找出性能瓶颈,但是并不一定能准确定位到根本原因,因为定位出很慢的结果往往是由其他请求造成的,而这则需要进一步的分析。

改进:
1.生成可视化服务调用拓扑图,如点击某个节点会展示这个模块的详情,
  比如它当前的状态和请求数量,然后再次点击寻找;
2.尝试引入机器学习等方法,经过数据分析,进一步查看能否解决该问题;

3.Dapper的设计主要是针对在线服务的系统,尤其是一个用户请求的系统行为,但是离线的情况下,则不能直接使用,需要一些人工的关联和干预行为。

改进:
1.可以参考阿里的“鹰眼”系统,在架构中尝试添加“离线分析”这一层。

二.《On Availability for Blockchain-Based Systems》读书笔记

1.论文概述

On Availability for Blockchain-Based Systems》对影响区块链提交时间的因素进行了详细的分析,并且提出了限制这种消极影响的中止机制。发现网络重新排序对提交时间造成的明显影响,且这种影响甚至能抵消交易手续费和gas price造成的影响。另外以太坊应对DDoS攻击所采取的措施对电子合约的创建也有很大的影响。

通过对比特币和以太坊这两种当前主流的区块链系统所进行的介绍,可从这两者的具体运行机制中发现目前区块链系统所常见的一个问题,就是交易的提交需要消耗大量时间,且只能概率性地保证成功实施每笔交易。

在比特币系统中,影响交易提交时间的因素有以下几点:

1.手续费的高低。
2.交易的有序性。
3.每笔交易所设置的锁定时间。
4.网络问题。

对于以太坊,作者探讨了gas pricegas limit和网络对于提交时间的影响:

1.gas price对于提交时间的影响有限,超过一定值后几乎不产任何影响。
2.gas limit与提交时间并没有很大的联系。
3.由于每笔交易的有序性要求,网络延迟容易造成交易出现乱序,因此导致提交时间的增加。

同时,作者对gas limit的作用也做出了研究,gas limit主要用于防止DDoS攻击,但是太小的gas limit也容易造成一些合约无法正常工作。

2.个人感悟

  • 独一无二的数据库
    通过查找有关区块链的知识,结合本文可以得出一些感悟。区块链,有人将其称之为分布式账单,对其另外一个理解——它是一种特殊的分布式数据库,我想这更加贴近区块链的本质。“去中心化”是它的区分于其他常见数据库的特点。之所以说它还是“数据库”,是因为它的主要作用还是用来存储信息,并且可以读写。而区块链的“去中心化”是指没有管理员,彻底没有中心。没有中心,也就意味着无法管理,这样区块链才能无法被控制,这也成为区块链的最大特点。还有一点,就是“同步”,因为是“分布式”数据库,任何节点都是平等地享有保存整个数据库的权利,区块链发生改变,正是通过同步的手段保证区块链的一致。

  • 鱼与熊掌不可兼得
    采矿过程较为耗时,虽然说所谓的采矿就是计算哈希值,但是在区块链的设计中,了解到区块头中包含着一个难度系数,这个值决定了计算哈希值的难度。而计算的难易程度也直接决定了采矿的难易程度。这里之所以人为地增加采矿的难度,也正是为了保证区块链的可靠性。区块链是由一个个区块链接起来的,如果有人修改一个区块,那么其哈希值就会变化,所以还要修改后面所有的区块。试想一下,如果可以轻易地实现采矿,也就存在短时间内修改多个区块的情况发生,这大大破坏了区块链的可靠性。所以,我认为区块链的设计是为了在保证计算哈希值难度足够大(大到短时间内无法连续修改多个区块)的情况下,再进行采矿。所以采矿难可以说是目前的区块链中必要的设计。

  • 区块链并不是万金油
    这样看来,我觉得区块链真正的使用场景,其实是非常有限的。如果数据不希望存放在有人管理的数据库中,并且写入数据库中的数据不要求实时地使用,在坚持这样做,得到的收益仍然是比较大的情况下,可能才比较适合使用区块链——这一分布式数据库。
    相对应的,如果在考虑了以上几种情况之后,感觉不太好,我想传统的数据库可能会更为适合。

3.改进方案

1.当前区块链技术可应用于许多场景,但是由于其现有机制的问题导致了数据提交的时候,需要耗费一定的时间,且提交的成功与否具有不确定性,造成了一定不便。

改进:
可将如何缩短数据提交所需要的时间,以及提高成功提交的概率作为区块链技术研究的主要方向。

2.如何用于改善客户端软件和电子钱包?

改进:
可以参考作者提出的可用于以太坊系统中的中止交易的机制,

三.《Fake News Detection on Social Media:A Data Mining Perspective》读书笔记

1.论文概述

当今社会,传统媒体日渐没落,新兴的社交媒体因其及时便宜便于分享和讨论等众多优点逐渐占据主体地位,但是也正因如此,社交媒体中所充斥的大量虚假新闻也成为一个不可避免的问题,随着人们对此不断关注,对社交媒体上的虚假新闻进行检测也成为一项值得讨论与研究的新的挑战。《Fake News Detection on Social Media: A Data Mining Perspective 》一文针对这一难题,提出了自己的检测方法并讨论了有前景的研究方向。具体展开两方面的研究:虚假新闻的定义以及虚假新闻的检测。

本文对社交媒体上的虚假新闻进行了较为全面的审查,包括基于心理学社会学理论方面所构建的虚假新闻特征基于数据挖掘视角下的现有算法,提出了评估指标和具有代表性的数据集。除此之外,还对社交媒体上假新闻检测的相关研究领域开放性问题未来研究方向等进行了合理的讨论。

在这里插入图片描述

2.个人感悟

  • 问题精细化
    在本文开始,作者对虚假新闻的定义从传统媒体和社交媒体不同类型和狭义和广义的不同角度进行了解释说明。基于本文的目的,选择了合适的基于社交媒体的狭义的对社交媒体中虚假新闻的相关定义,不得不说,这是符合实际的,并且也是十分重要的一步,即明确了自己将要解决的具体问题。
    当我们在实际的项目开发当中,也应该重点学习——将欲解决的问题规范在一个较为详细而精确的程度。

  • 多角度解析问题
    对于虚假新闻的广泛传播,本文从心理学社会学等多角度进行了说明。在心理学方面,从人的意识形态出发,谈到了现实主义因素和确认偏差。一方面人们总是倾向于认为自己的想法是正确的,其他不同的想法是不合理甚至片面的,另一方面人们也表现得更愿意接收那些会确认其现有观点的信息。而在社会学中,重点强调了导致虚假新闻扩散的社会动态因素。究其原因,是其中的新闻发布者和消费者都在尽力追求着属于自己的最大效益。而且还提到了“回声室效应”,简单的说,就是人以群分,物以类聚,效果不断叠加。
    在现实中,当我们针对某个具体的问题寻求解决方法的时候,也同样应该尝试多角度进行分析。有时候添加了之前没有考虑到的分析,最终可能会收到意想不到的好效果,这也是不断优化与进步的过程。

  • 利用相关的数学知识解决问题
    本文设a为新闻,通过F()函数预测是否为假新闻:
    F ( a ) = { 1 , f a k e − n e w s 0 , o t h e r F(a)=\left\{\begin{matrix} 1, & fake-news\\ 0,& other \end{matrix}\right. F(a)={1,0,fakenewsother
    这里实际上将虚假新闻的检测定义为了
    二元分类问题

    在对算法的评估检测环节也同样用到了许多相关的数学知识。

1. 正确的肯定(TP):预测的“假新闻”实际上标注的是“假新闻”;
2. 正确的否定(TN):预测的“真新闻”实际上标注的是“真新闻”;
3. 错误的否定(FN):预测的“真新闻”实际上标注的是“假新闻”;
4. 错误的肯定(FP):预测的“假新闻”实际上标注的是“真新闻”;

基于以上设定,有如下公式:
P r e c i s i o n = ∣ T P ∣ ∣ T P ∣ + ∣ F P ∣ Precision=\frac{\left | TP \right |}{\left | TP \right |+\left | FP \right |} Precision=TP+FPTP
精确度:用于衡量所有虚假新闻的分数。
R e c a l l = ∣ T P ∣ ∣ T P ∣ + ∣ F N ∣ Recall=\frac{\left | TP \right |}{\left | TP \right |+\left | FN \right |} Recall=TP+FNTP
召回率:这里的Recall值和之后提到的真实正率TPR相同。

F 1 = 2 ∗ P r e c i s i o n ∗ R e c a l l P r e c i s i o n + R e c a l l F1=2*\frac{Precision*Recall}{Precision+Recall} F1=2Precision+RecallPrecisionRecall
F1用于结合精确度召回率,为虚假新闻的检测提供了整体预测性能。

A c c u r a c y = ∣ T P ∣ + ∣ T N ∣ ∣ T P ∣ + ∣ T N ∣ + ∣ F P ∣ + ∣ F N ∣ Accuracy = \frac{\left | TP \right |+\left | TN \right |}{\left | TP \right |+\left | TN \right |+\left | FP \right |+\left | FN \right |} Accuracy=TP+TN+FP+FNTP+TN

准确度:用于衡量假新闻和真假新闻之间的相似性。
T P R = ∣ T P ∣ ∣ T P ∣ + ∣ F N ∣ TPR=\frac{\left | TP \right |}{\left | TP \right |+\left | FN \right |} TPR=TP+FNTP

真实正率TPR

F P R = ∣ F P ∣ ∣ F P ∣ + ∣ T N ∣ FPR=\frac{\left | FP\right |}{\left | FP\right |+\left | TN\right |} FPR=FP+TNFP
方法正率FPR

A U C = ∑ ( n 0 + n 1 + 1 − r i ) − n 0 ( n 0 + 1 ) ÷ 2 n 0 n 1 AUC=\frac{\sum (n0+n1+1-ri)-n0(n0+1)\div 2}{n0n1} AUC=n0n1(n0+n1+1ri)n0(n0+1)÷2

AUC:根据FPRTPR可以绘制ROC曲线,AUC正是该曲线的面积值。用于衡量分类器将假新闻排序高于任何真实新闻的可能性表现。其中ri是假新闻的排名,n0n1)是)新闻的数量。AUC更具判别力而不是准确性。

本文是基于数据挖掘视角进行的社交媒体虚假新闻检测,通过使用相关的数学知识,提取相关特征,建立合适的特征模型,对于解决问题有十分明显的效果。算法的设计与实现需要数学知识的参与,这对于项目的解决以及其他方面的实现都是大有裨益的,今后也要灵活运用这一点。

  • 提出未来的建设性问题和研究方向
    未来发展方向和社会媒体假新闻的检测悬而未决的问题任何事情都需要未雨绸缪,这对于项目开发和编程实现也十分重要,更好得考虑这些问题和研究方向,对于未来的扩展也有十分重要的意义。

3.改进方案

针对本文所提出的基于数据挖掘视角下对虚假新闻的检测方法,可能的改进措施如下:

改进:
1.聚合多种方法,尝试将不同的特征表示组合成为加权形式,并且优化特征权重;
2.针对假新闻的内容可能出现“真真假假,真假掺半”的情况,对真假新闻的检测由本文的二值分类
(不是真就是假)改为预测该新闻是真假新闻的概率或许对现实情形更有意义;
3.通过构建多个弱分类器的连接,最终达到的分类效果或许会更加理想;
4.尝试在数据处理的过程中,添加针对检测虚假新闻而言能够有效去除“垃圾数据”的手段;
5.尝试创建一个全面大规模的假新闻基准数据集,用于进一步研究。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值