GFS Paper Reading
GFS Paper Reading架构(Architecture) GFS采用单Master架构, 由master和chunkserver这两类服务器组成, master是主控节点, 而chunkserver是存储数据的节点, 其实就是Linux服务器. GFS使用Linux上的文件作为基础存储层, 通过命名空间+文件名来定义一个文件. 文件按每64M划分为一个chunk, 每个chunk都自己的唯一标识(chunk handle). 为了确保数据不会因为某一个chunkserver坏了就丢失了,每个chunk都会有三份副本(replica). 其中一份是主副本(primary), 两份是次副本(secondary), 当三份副本出现不一致的时候, 就以主副本为准. 有了三个副本,不仅可以防止因为各种原因丢数据, 还可以在有很多并发读取的时候, 分摊系统读取的压力 Master会存放三种元数据: 文件和chunk的命名空间信息, 文件名和chunk handle的映射关系(文件被拆分成了哪几个chunk), chunk handle和chunkserver的映射关系(chunk被存储在 ...
应用密码学与网络安全实验通关指南
应用密码学与网络安全实验通关指南这是计科网络方向应用密码学与网络安全的随课实验, 占课程分数的20%. 第一次主要是介绍内容, 两周后的第二次实验主要是验收, 实验内容自己线下完成即可. 实验内容如下: 密码学及应用:熟悉云安全实验平台及环境,完成:实验1(古典密码算法)――>练习一Caesar密码,实验1(古典密码算法)――>练习二单表置换密码,实验1(古典密码算法)――>练习三仿射密码 密码学及应用:实验2(对称密码算法)――>练习一DES,实验2(对称密码算法)――>练习二AES 密码学及应用:实验3(非对称密码算法)――>练习一RSA,实验4( Hash算法) ――>练习一MD5 密码学及应用:实验5(密码应用)――>练习一文件安全传输 这个实验的目的是为了考察对于各个加密算法的流程的理解和掌握, 并不是要让你真的手搓这些算法(当然能手搓也是一种能力). 最后验收只要将结果展示出来并且能解释清楚(需要完整讲述算法流程, 主要验收DES, AES, RSA, MD5, 以及文件安全传输) DESDES 算法是在 Feiste ...
初学者眼中的Go语言
初学者眼中的Go语言最近花了一些时间过了一遍Go编程语言中的Go语言之旅, 也算是入门了, 下面谈谈我认知的Go语言 类型不像绝大数语言,类型定义在了变量名之前,Go中类型在变量名之后,如下: 1234567func add(x int, y int) int { return x + y}//等效于func add(x, y int) int { return x + y} 官方也在博客Go’s Declaration Syntax中给出了理由, 但可能是由于惯性, 我仍然不是很喜欢这种设计🤥 关于变量初始化: 123var i, j int = 1, 2//等效于var i, j = 1, 2 幸亏变量初始化时类型声明可以忽略, 不然真的看上去很怪, 忽略后一看, 这不是JavaScript吗🥰 Go没有while绝大多数编程语言都是有while循环的, 虽然while循环的本质还是for循环, Go说: for是Go中的while 1234567func main() { sum := 1 for sum < 100 ...
美赛经验分享
美赛经验分享前一段时间美赛出成绩了, 侥幸得了个M, 虽然不是什么大奖, 但也有一些浅薄的经验可以分享(主建模和画图) 组队其实组队是决定你数模成绩的最重要的一步,和认真负责的队友组队会让你的成功几率上升一大截. 首先我推荐找一个靠谱的熟人, 再让他找一个.这样就是比较好的方式, 或者找两个熟人也行, 不太推荐去各种墙上找人,一般找到的都不太靠谱. 组完队之后, 在比赛开始前, 我们学校一般会有训练(其实就是做往年题), 在这个时候你应该能大致判断队友靠不靠谱了, 如果他天天有事不参加模拟训练或者说不积极不干活, 建议和另一个队友商量把他踢出去, 或者说你觉得另外两个队友都不靠谱, 那就退出重新寻找队伍. 熟人组队的一大劣势就是想踢人很难, 我国是个人情社会(bushi), 所以一开始就要认真思考. 准备首先要确定好1~2个主攻的题型,然后队内三个人的分工要明确, 特别是对于低年级第一次参赛的选手, 分工不明确的话学完很难 . 从建模的角度来说,提升最快的就是看优秀论文,O/F的都可以看看,提取应对某一类问题通用的解决方案和他们论文中的闪光点.积累到自己的笔记上, 比赛时可以快速选 ...
大数据隐私保护
数据安全检索大数据安全与隐私这门课的lab4,要求如下图: 实现:• 对原始数据集进行预处理后, 计算平均年龄• 调用了mondrian库来实现k匿名,并计算了k匿名后的平均年龄• 通过添加拉普拉斯噪声来实现差分隐私发布• 随机删除一条数据后再次计算平均年龄进行对比 结果 代码结构: main.py12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061import copyimport randomimport sysfrom secure.lab3 import utilssys.path.append('./')from utils import preprocess, txt_Readerfrom library.mondrian import *filename = "adult.data.txt"title_column = ['age', ...
博客魔改教程之电脑手机黑夜白天四背景
博客魔改教程之电脑手机黑夜白天四背景主要做的适配是手机端的背景, 手机端背景和电脑端背景是不同的, 因为手机端屏幕比较小, 电脑端背景在手机端只能显示中间的一部分, 显示效果差, 所以要做适配,效果如下 电脑端白天背景: 手机端白天背景: pc端白天黑夜双背景修改[BlogRoot]\themes\butterfly\layout\includes\layout.pug 12345678910111213141516171819202122+ - var DefaultBg = page.defaultbg ? page.defaultbg : theme.background.default+ - var DDMBg = theme.background.darkmode ? theme.background.darkmode : DefaultBg+ - var DarkmodeBg = page.darkmodebg ? page.darkmodebg : DDMBg if theme.background #web_bg+ if page.defaultbg | ...