DHT(分布式哈希表):一种分布式存储方法的相关研究调研

本文是一篇类似于文献综述的东西,做点前期调研。随着区块链项目的火热,很多传统技术结合区块链技术都取得了一定程度上的成功。2014 年 Juan Benet 成立了 Protocol Labs 并在开源社区的帮助下发展出了 IPFS[1]:一个去中心化的分布式文件系统。IPFS 的下层构建于对等网络交换协议,其核心是用于索引数据的分布式哈希表(DHT)。分布式哈希表的研究伊始就是为了开发点对点网络系

- 阅读全文 -

博客回迁,网站备案,域名 xiongxiong.me -> xiocs.com

在搬瓦工上买的机子,单核 512M 内存 1M 带宽,一年租金 11 刀,建了这个技术博客。奈何访问速度不行,19 年 1 月 16 日决定迁回国内,于是购买阿里云服务器,原先的 .me 域名不支持备案,就直接在 godaddy 上购买了 .com 域名。1 月 17 日上午。接到备案客服电话,网站信息中不能出现博客这两个字,其他的诸如空间、网站、网址等关键字也不能出现,遂修改网站信息,去除关键字

- 阅读全文 -

2018 年个人年终工作总结及 2019 年全年计划

8102 年捣鼓着寻思着就过去了,陆续看了网易云音乐、哔哩哔哩以及支付宝出的个人年终报告,尤其是网易云的报告,激起了漫漫回忆。从18年初一直到18年6月,这段时间一直处于持续的高压状态,期间一直循环着 yousa 的歌,一边生疏地用着调试工具调试着内核,感觉没多久前的事情,现在都感觉有点陌生了。时间冲淡了点点滴滴,再次一一回忆起来,这一年做了什么、有什么遗憾、成绩与不足、经验与教训、计划完成情况、

- 阅读全文 -

CTP API 的初始化 demo 以及相关资料的整理

瞅着周末了来整理一下 CTP 的 demo 和相关的开发资料。目录行情接口的初始化交易接口的初始化Spi 异步调用 Api行情接口的初始化继承 CThostFtdcMdSpi 类并实现接口创建 MdApi 和 MdSpi 的实例并将 MdSpi 注册到 MdApi 中注册行情服务器前置地址并启动 MdApi 线程登录行情账号订阅合约接收行情数据继承 CThostFtdcMdSpi 类并实现接口首先

- 阅读全文 -

IPFS:去中心化的分布式文件系统简介

IPFS(InterPlanetary File System,星际文件系统),是一个面向整个互联网、基于点对点传输的去中心化分布式文件系统。通过对网络通信、数据处理方法和传输协议等过程的封装,IPFS 能够将运行在多种异构网络上的节点存储资源组织起来,同时向每个节点提供整个 IPFS 网络的存取服务。白皮书中列出了如下几个特点:点对点传输去中心化文件共享内容去重基于内容寻址文件版本控制IPFS

- 阅读全文 -

局域网主机通过内网跳板连接外网的一个方案

故事是这样的,原导师离职,所以更换了导师,加入了一个搞分布式文件系统的课题组。暂时给的课题是先学习 ceph 和 ipfs,并把环境搭建起来分析源码。导师留下了几台电脑没人用,所有就拿过来重整了一下。本学期校园网打击个人 WiFi 的行为可谓到了极端的地步,根据脚本日志显示,路由器通过 drcom.py 连接的方式平均每天要掉 8 次以上,而且还会每隔十几分钟就中断连接数十秒,真是非常难受了。于是

- 阅读全文 -

FIOS 调度器实现

核心数据结构分析fios 队列结构:struct fios_queue { pid_t pid; // 进程的pid struct rb_node fiosq_node; // 将fios queue插入到fios rb-tree,主要用于在dispatch阶段,快速的取出下一个要被处理的fios queue struct rb_node

- 阅读全文 -

LightNVM 代码分析总结

内核版本:Linux-4.19Lightnvm 与 pblkLightnvm 与 pblk 的关系,类似于 linux 块层与 IO 调度器之间的关系。即在 lightnvm 中可以有多种 FTL 的实现,这里 pblk 就是一种 FTL 的实现。Lightnvm 子系统在支持PPA接口的块设备的基础上进行初始化。该模块使内核能够通过内部 nvm_dev 数据结构和 sysfs 等来暴露设备的几何

- 阅读全文 -

FIOS 调度器的实现思路整理

时间片管理CFQ的时间片管理CFQ 的时间片管理如下图。每个请求队列 cfq queue 的时间片用完后,都要通过【选择 cfq group -> 选择 service tree -> 选择 cfq queue】的流程,从其自身维护的数据结构中找出下一个要被调度的请求队列,整个选择相当于根据一个优先级顺序不断地遍历这个数据结构。当一个 cfq queue 的时间片用尽,就要等到下一轮遍

- 阅读全文 -

CFQ:完全公平排队 IO 调度器结构简析

block layer 的最核心功能可分为两部分——接受上层提交的请求;对请求进行调度。其中 block layer 的入口函数为:submit_bio。如下图所示:文件系统请求提交 - submit_bio接口函数 submit_bio 被调用后,将对 bio 进行合并,然后尝试合并 request,期间会调用调度器中定义的方法,完成合并后,请求将等待被调度。调度阶段,将决定哪个请求被下发执行,

- 阅读全文 -