自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(6)
  • 资源 (5)
  • 收藏
  • 关注

原创 一个退役中校教你如何用go语言写一个基于B+树的json数据库(进阶篇)之json字符串解析为BsTr结构(二)

json字符串反序列为BsTr中间结构,以及BsTr中间结构序列化为json字符串。

2024-01-30 11:15:08 618 1

原创 一个退役中校教你如何用go语言写一个基于B+树的json数据库(进阶篇)之json字符串解析为BsTr结构(一)

const (

2024-01-29 12:07:30 1160

原创 一个退役中校教你如何用go语言写一个基于B+树的json数据库(进阶篇)之BsTr tree(二)指针混写的实现2

❷ 第二种方法的代码如下(以[]byte类型的key建立的树为例):_groutine_bskeyCsWrFunc是一个驻留协程,用于处理节点如何获取,顺序执行。

2024-01-26 18:08:36 374 1

原创 一个退役中校教你如何用go语言写一个基于B+树的json数据库(进阶篇)之BsTr tree(二)指针混写的实现1

/ 如果旧的父节点被删除了,说明父节点发生了变化,则将其父节点设置为当前节点。// 如果父节点的offset不为-1,则先查找映射,映射的key为"offset@文件名"的字符串格式。} else { ////如果是叶子节点,并且是FILEBIG模式,需要子chunk切片只需分配父节点、左右兄弟节点的空间。//如果存在映射关系,则获取父节点,并设置到当前节点的父节点位置上。// 如果位置为chunk切片的长度,则表明是当前节点也是父节点的最大子节点,位置进行-1操作。

2024-01-25 17:50:43 472

原创 一个退役中校教你如何用go语言写一个基于B+树的json数据库(进阶篇)之BsTr tree(一)

上图的parent、left、right是三个指针,分别指向父节点、左右兄弟节点,图中没有画指向箭头,只是标记了相应节点的最大key来指代指针的指向。可以看的出来,BsTr tree和一般的B+树不同的是,除了指向孩子节点的指针和offset,它还包含了指向父节点和左右节点的指针和offset(offset用于实现指针混写,在内存和文件页面间自由转换)。在最后环节,不同类型的key对应不同的驻留协程,而不同的key和不同的flag对应着不同的表,不同的表对应不同的树,也就是说,支持表级并行执行。

2024-01-22 11:18:35 941

原创 go语言B+树实现:resob包介绍

resob是remote service of BsTr tree的缩写。包resob定义了一个名为BsTr的结构,并基于该结构实现了一个可以指针混写的类B+树,借鉴脉动工作流模式,支持表级并行度。纯go标准库实现,没有额外的依赖。resob_jsondb是基于BsTr树的json数据库,支持特定的json格式作为包含数据的操作命令,通过解析json实现插入、删除、更新和查找。

2024-01-18 17:45:39 1200

go语言nosql数据库resob包

go语言nosql数据库resob包,使用json格式实现curd操作。

2024-02-16

SRTM数据格式

SRTM数据格式,数据空洞和修补,原理性的Matlab源码

2011-09-30

cuda编程要点

cuda编程要点 cuda编程要点 cuda编程要点 cuda编程要点

2011-09-08

一个简单的会员信息系统(采用我自行写的一个数据库函数库,包含源码-库-头文件)

一个简单的会员信息系统(采用我自行写的一个数据库函数库,包含源码-库-头文件) gui采用GTK+ 如果要编译的话,请使用codeblocks等采用gcc的IDE 里面相应的库以及头文件都有

2010-10-03

我写的一个字典软件及源码

字典软件及源码 字典软件及源码 字典软件及源码

2010-05-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除