@cloudbitmaps/core

中文文档
0.27.0发布于 2026/11/03Apache-2.0TypeScriptES Module零依赖构建来源已验证近 30 天下载 3357

CloudBitmaps 的内部引擎, 其它的@ cloudbitmaps 软件包是建立在其中的 。 它的主要条目在稳定承诺之外;写司机的公开合同是@cloudbitmaps/core/driver-kit. 无云 SDK.

中文使用文档
文档目录5 节
  1. 这是什么
  2. 如何设置存储路径
  3. 排行数代
  4. 文档
  5. 许可证

@ cloudbitmaps/ core (中文(简体) )

大多数人不安装此软件包. 发动机在下面 云位图它会独自到达 当安装要的两个软件包时。取而代之的是:

pnpm add @cloudbitmaps/roaring @cloudbitmaps/s3   # the store, and the storage you have (or /gcs, or /azure-blob)

安装每张的同版本 @cloudbitmaps/* 软件包:它们一起发行,每个包都标出准确的版本 core 它是与建造的.

取决于 @cloudbitmaps/core 直接只写驱动程序,通过 @cloudbitmaps/core/driver-kit。 。 。 .

此套件的主要条目,以及 @cloudbitmaps/core/node这是内部的. 主条目是引擎 @cloudbitmaps/roaring 和驱动软件包的构建,以及 /node 持有后端和键盘,需要一个节点内建. 两者均在稳定承诺之外:他们可以改变任何微小的放行,改变为要么没有变换GELOG突破入会. 安装 @cloudbitmaps/roaring 还有司机 这里的公开条目是 @cloudbitmaps/core/driver-kit写司机的合同.

仅限无害环境管理,节点22.12. 使用 import; 用于 require()时标和类型脚本,参见 常见的JS、快取和类型脚本。 。 。 .

前1.0:API和上盘格式仍然可以更改. 在npm上,这些文件与它们所运送的版本相符;在GitHub上,它们描述 main,更改日志则说每个版本都改变了什么.

这是什么

解码-不可知云引擎:无限的内存缓存 .crbm 对象, 切入 交叉, 分块注册, 写入并打印路径, 生成收藏, 加密休息 并加密、通过重写消除、保留以及内存和本地文件系统后端(导出自 @cloudbitmaps/core/node,因此主条目导入已建的节点). 它已经 零运行时间 依赖和无云 SDK云后端是他们自己的包裹, 建造针对 @cloudbitmaps/core/driver-kit司机的申报合同取决于 第三方驾驶员也可以使用.

它的主要条目是内部引擎(读取引擎,商店方法的独立形式,再试和 (预算内部) @cloudbitmaps/roaring 和驱动软件包导入;它不是一个公共 API。 真是个 应用程序用途按名称从 @cloudbitmaps/roaring司机合同(储存和登记) 端口、登记簿的记录类型、读取源端口和密钥端口)导出于 @cloudbitmaps/core/driver-kit 仅此而已, 已完整 : 它的签名名称也会导出 .

如何设置存储路径

这个 .crbm 存储路径在 src/core/,每个关切单元。 箭头读作"进口":

                bulk-load.ts                       write path: ids in, a generation written and published
              /      |       \
             v       v        v
   publish.ts  crbm-write.ts  crbm-open.ts  <----  crbm-storage-source.ts     read path

publish.ts, (中文(简体) ), crbm-write.ts 财务报告和审定财务报表 crbm-open.ts 输入其它的. bulk-load.ts 进口 sorted-chunks.ts,它将一个排序的载荷的ID 切成块,并且没有进口它们。 在这个团体之外, load.ts 进口 bulk-load.ts, (中文(简体) ), publish.ts 财务报告和审定财务报表 crbm-open.ts· ; erase-id.ts 进口 publish.ts, (中文(简体) ), crbm-write.ts 财务报告和审定财务报表 crbm-open.ts· ; rollback.ts 财务报告和审定财务报表 consistency.ts 导入 crbm-open.ts。 。 。 . combine-many.ts, (中文(简体) ), pinned-storage-source.ts (仅类型)和软件包条目导入 crbm-storage-source.ts。 。 。 .

文件持有
crbm-write.ts写出来自内嵌位图、溪流或已编码块的不可改变的一代
sorted-chunks.ts排序负载的块( c)sorted: true:升入的id在读取时一次切入一个块,每个块检查(一个32位的id,不低于之前的;一个重复跳过),id读取一次,以及它们为载荷所保留的第一个错误
publish.ts仅转发指针 推进每个写入的结尾, 租赁补丁, 拒绝在清晰的文本生成时指向按键行, 以及解决一个没有答案的注册写
bulk-load.ts装入器 load() 以读取头为基础: id、 解码位图或组合的块入取出, 制成块( ids buckleed, 用其编码符分出一个位图, 其中编码符可以分出, 组合的块检查) , 写出一代, 当一个登记册被接通而呼叫者不推迟时公布; load() 推迟,并通过 publish.ts 在它的戒备之后。 排序的 ID 是通过 : crbm-write.ts 在读取时,在行后,数字和密钥就定了
known-generations.ts该行的分类账, knownGens: 什么是可用的,窗口 一个负载收集的名字,盖子,和分类账 一个发布和回滚写
ledger-seed.ts从桶上读取一行没有的分类账的第一个窗口
crbm-open.ts在没有缓存的情况下打开存储的一代:驱动器对象之上的blob读取器、检查和注释打开、将一个开口与它所读对象连接起来的身份检查、生成验证和回滚目标打开
crbm-storage-source.ts读取路径 : CrbmStorageChunkSource,它的分辨率缓存和接针机械

没有写入路径模块导入 crbm-storage-source.ts,它只进口 crbm-open.ts 其他四个.

排行数代

登记行携带 knownGens: 部分的几代人知道而且还没有决定删除,每个部分都与 CRC32C 其对象的页脚商店,目前为最后一个. 它们就是它按这个顺序制造的,当一个 发布一行,没有可用的分类帐种子 1,这些种子由 keep 保存在桶中,其中可以包括 对象未发布负载( 孤儿 或 出错 ): 一个条目说库知道生成及其校验和, 而不是 一个负荷发布它。 其条目下方 指针是装有载荷的窗口 代代为活地租赁的窗口 所以装有载荷就删除了它所出版的东西 中,只列出不能依赖行的桶.

  row (schema 5)                              bucket
  currentGen: 7                               segment.3.crbm  segment.5.crbm  segment.6.crbm  segment.7.crbm
  knownGens: [ {5,crcA}, {6,crcB}, {7,crcC} ]       |               |               |              |
              \_____ window ____/  \ current        deleted by     in the window   in the window   current
                                                   name when a
                                                   load pushed it out
  • 一个出版社写的 在移动指针的比较和擦拭中。 在可以使用分类账的一行中,窗口 取自世世代代的顺序: keep 最近编号的条目 低于新生代(最多127个),除此之外,每一次有活租期的租户,无论什么 keep 说,然后 输入在新一代上方编号的回滚(带入时,分类账持有量不到128,从未) 收集,没有在 keep),后为新一代. 取代出版的一代是 分类账的最后一个条目,所以它是第一位的, 在回滚之后, 恢复的一代排在最前面 滚回远离, 远离每一载。 超过一行,没有可用的分类账(手修理、恢复、指针) 由手移下)负载列出桶并写出窗口的数 keep 保存在那里: 生成 先以当前命名的行,然后以数字表示最新,每行有页脚读取(店下一次读取八行) 读取重试,被取代的一代也读取; 清晰的总结,用另一个校验和来描述它, 除他们外,还有数以百计的世代 在写完之前,再读一行,最古老的一行, 和窗前租赁的一行 取代最后一个,然后新一代。 一代人从桶中走出, 或谁的脚没有它的检查, 被排除在外。 然后,出版商通过这个统计收集.
  • 一个化身的首次出版 独自写出新一代 (无行,或无指针的行):下面没有 它被它制成电流,所以一个种子只能命名没有公布的物件.
  • 不再开始使用可用的分类账:超过一连串出版物 keep 携带过64个名字 没有租赁,下一个负载与a keep 在64个或更少的窗口上写下它从分类账的订单中提取的窗口 租入的和超过其数目的,通过列名收集.
  • 有集所诵. 装满了 keep 最多64个删除其出版物所遗漏的条目。 传球 计数(a) keep 标注在无租赁的指针下64个以上的分类账,或 首先装入一行,没有可用的分类账)先保存分类账自己的最近时名,再保存最新时名 按人数分列, keep 在全部中,并省去每行知道的名字 当它再次读取行之前删除.
  • 一个回滚带它,用它读取的页脚的校验和将其目标移到尾端,保留每个页脚 生成该行的租赁名称, 当它剪切一个完整的分类账, 并且不写一个没有的行: 回滚 从来没有开始一个分类账.
  • 擦去的重写让自己独处,因为它删除了每一代人;一丝一毫地删除它。 一个 消除不重写将每代人先从分类账中删除, 写在之后 查找和在第一次删除之前,只有在分类账上列出(erase-id.ts栅栏;其收藏 当他们在删除前读取行名时,将每代行名省去.
  • 盖子:一个作家最多写了192个条目,并且只保留一个条目,而分类账持有的则更少 128;登记簿接受192个书面,384个读取,因此,不因分类账的大小而拒绝公布或回滚.
  • 错误: 一个错误的分类账是 ValidationError 写着 IntegrityError 阅读; 不同意的分类账 其行被读取而未使用;所盖一行 4 或更低为 UnsupportedError。 。 。 .
  • 一个回滚读它: 它只移动到一代的分类账名称上, 其对象的页脚校验和就是那个 录音,除非呼叫者通过 allowUnknown; 单指指针决定(一行无可用分类账,a a 指针以下的目标不需要旗帜. rollback.ts 守规矩.

文档

许可证

阿帕奇 - 2.0

版本与发布记录

@cloudbitmaps/core 共发布 40 个版本,首次发布于 2026/07/26;过去 12 个月发布了 40 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.27.0latest2026/11/036 天前
0.26.02026/11/028 天前
0.25.02026/10/3010 天前
0.24.02026/10/2417 天前
0.23.02026/10/2120 天前
0.22.02026/10/1823 天前

关于 @cloudbitmaps/core 的常见问题

@cloudbitmaps/core 是什么?

CloudBitmaps 的内部引擎, 其它的@ cloudbitmaps 软件包是建立在其中的 。 它的主要条目在稳定承诺之外;写司机的公开合同是@cloudbitmaps/core/driver-kit. 无云 SDK.

如何安装 @cloudbitmaps/core?

在项目目录运行 npm install @cloudbitmaps/core,或使用 pnpm add / yarn add / bun add。

@cloudbitmaps/core 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@cloudbitmaps/core 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@cloudbitmaps/core 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=22.12。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@cloudbitmaps/core 可以商用吗?

@cloudbitmaps/core 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@cloudbitmaps/core 的下载量有多少?

根据 npm 官方下载统计,@cloudbitmaps/core 在 2026/10/10 – 2026/11/08 这 30 天内被下载 3,357 次,日均约 112 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@cloudbitmaps/core 还在维护吗?

最新版本 0.27.0 发布于 2026/11/03(6 天前);至今共发布 40 个版本,其中过去 12 个月发布了 40 个;首次发布于 2026/07/26。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。