1.2.7 • Published 4 years ago
@bfchain/algorithm-stream-merger v1.2.7
Algorithm Stream Merger
An Algorithm of Merge
片段合并算法:用来将碎片数据通过规则不断合并成更大的数据,并提供查询功能。
概念入门
定义了三个名词:
Frame帧,不可分割的单元数据Fragment片段,由连续的帧组成Stream流,由不连续的片段拼接而成。是一个简单的片段管理器
这里最关键的概念是 Frame,也就是帧。 开发者可以自定义帧的概念是什么来实现片段的自动合并功能,这也是这个算法的核心目的:
- 开发者需要定义:
- 如何对比两帧之间的顺序?
- 两帧是否是连续的?
补充说明
此外,还有一个方向的概念:ORDER,可以简单地理解成是“正序播放”还是“倒带播放”,本项目中:
left被定义是小值,与min近义,但min只用在边界清晰的情况下的极值right被定义是大值,与max近义,但max只用在边界清晰的情况下的极值up被定义为to-right/from-left,也就是从小变大,UPUP!down被定义为to-left/from-right,也就是从大变小,DOWN~start与end的含义取决于order。order为up时,start为left,end为rightorder为down时,start为right,end为left- 和
left/right类似,我们使用first/last来代表边界清晰的情况下的极值每一个
Fragment都有明确的order。它的firstFrame与lastFrame由它的order决定 但它的min和max是固定的