Page 253 - 《软件学报》2021年第11期
P. 253

杨良怀  等:面向大数据流的分布式索引构建                                                           3579


                 用以记录窗口流元组码值特征,如最小值、最大值.对于连续时间窗口,形如{W 1 ,W 2 ,…,W i ,W i+1 },从时间维度构建
                 上层 B+树索引,其 key 值为窗口 W i 的时间戳 t i ,value 值为下层索引引用.提供基于时间的查询.图 1 为整个索引
                 结构图.

















                                                    Fig.1   Index structure
                                                      图 1   索引结构

                    WB-Index 索引结构中,上层索引由窗口时间 t i 及其下层索引的元数据构成,数据量较小,可在单机中存储;
                 下层索引由流元组码值构成,存储开销大,无法在单机中维护,且各窗口对应的下层索引相互独立,因此,
                 WB-Index 根据负载均衡原则,将各个下层索引分发到不同的节点维护,从而减轻索引的更新、存储负载.上层索
                 引 value 值中,对下层索引的引用可表示为(t i ,host).t i 表示对应时间窗口时间戳,host 表示该时间窗口下层索引所
                 在的主机信息.查询时,与传统的主从索引结构查询类似,首先搜索上层索引,再搜索对应的下层索引获取结果.
                 由于各个下层索引相互独立且存储在不同的节点上,因此下层索引支持并行化搜索.
                 2.2   WB-Index系统架构
                    如图 2 所示,WB-Index 集群由多个协调节点、一个构建节点、多个查询节点、多个存储节点和多个控制
                 节点构成,集群中节点间的通信效率直接影响索引的构建和查询性能.系统实现中,将所有主机部署在同一机房
                 以降低数据传输时延.主机间使用自定义 TCP 协议通信,其格式由定长包头和具体消息体构成.传输层采用
                 Protocol Buffers 数据结构,其能减少数据包大小,并具有良好的解析性能.


                                                                 查询模块
                                                                                     集群管理
                                                                                      模块
                                                上层索引              处理查询
                                 WB-Index结构       更新                请求               控   协
                                                                                     制   调
                                                                                     节   节
                                       查询节点        查询节点       查询节点         节点信息      点   点
                                                                            维护
                              索引构建模块                   下层索引                          控   协
                                                        发布                           制   调
                                              下层索引                 索引                节   节
                                数据流             构建                持久化                点   点
                                       构建节点
                                           流元组                            索引元数据
                                           持久化                              维护       控   协
                                                                                     制
                                                                                         调
                                                                                     节   节
                              存储模块    存储节点         存储节点       存储节点                   点   点

                                                 Fig.2   WB-Index architecture
                                                    图 2   WB-Index 架构
   248   249   250   251   252   253   254   255   256   257   258