@bfchain/algorithm-stream-merger
v1.2.7
Published
> An Algorithm of Merge
Downloads
16
Keywords
Readme
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
为right
order
为down
时,start
为right
,end
为left
- 和
left
/right
类似,我们使用first
/last
来代表边界清晰的情况下的极值每一个
Fragment
都有明确的order
。它的firstFrame
与lastFrame
由它的order
决定 但它的min
和max
是固定的