Interface IdsMap

  • All Known Subinterfaces:
    FastIdsMap

    public interface IdsMap
    内部Id即VertexId的转化器 特点:seqId为连续的Id, 所以您可以采用更紧密的数据结构,节约更多的内存。例如数组。 note: 1. 为了保证连续性,seqId中会存在删除的点id,您可以在最后阶段将其过滤掉 2. IdsMap生成的那一刻即为快照是不更新的。
    • Method Detail

      • getVertexId

        long getVertexId​(int seqId)
        通过seqId获取VertexId
        Parameters:
        seqId - Id
        Returns:
        返回VertexId
      • getSeqId

        int getSeqId​(long vertexId)
        获取seqId
        Parameters:
        vertexId - 底层表示Id
        Returns:
        返回seqId
      • getStartSeqId

        int getStartSeqId​(int clusterNodeId)
        获取本机起始的seqId
        Parameters:
        clusterNodeId - 本机标识
        Returns:
        起始seqId
      • getEndSeqId

        int getEndSeqId​(int clusterNodeId)
        获取本机终止的seqId
        Parameters:
        clusterNodeId - 本机标识
        Returns:
        终止的seqId
      • getLocalStartSeqId

        int getLocalStartSeqId()
        获取本机起始的seqId
        Returns:
        起始seqId
      • getLocalEndSeqId

        int getLocalEndSeqId()
        获取本机终止的seqId
        Returns:
        终止的seqId
      • getSizeWithDeleted

        int getSizeWithDeleted()
        包含删除的点
        Returns:
        获取算法seqId最大值
      • getLocalSizeWithDeleted

        int getLocalSizeWithDeleted​(int clusterNodeId)
        获取本机邻居数量
        Parameters:
        clusterNodeId - 机器标识
        Returns:
        seqId的数量
      • refresh

        IdsMap refresh​(Graph graph,
                       java.util.Set<java.lang.Integer> vertexTypes)
        更新后的IdsMap
        Parameters:
        graph - graph
        vertexTypes - vertexTypes
        Returns:
        更新后的IdsMap
      • getClusterNodeIds

        java.util.Set<java.lang.Integer> getClusterNodeIds()
        获取集群集群Id
        Returns:
        集群集群标识
      • getLocalClusterNodeId

        int getLocalClusterNodeId()
        获取集群集群Id
        Returns:
        集群集群标识
      • getTypeIndexBySeqId

        int getTypeIndexBySeqId​(int seqId)
        获取seqId获取点类型标识
        Parameters:
        seqId - Id
        Returns:
        类型
      • getClusterNodeId

        int getClusterNodeId​(int seqId)
        获取seqId对应的节点号
        Parameters:
        seqId - Id
        Returns:
        节点号
      • getVertexTypes

        java.util.Set<java.lang.Integer> getVertexTypes()
        获取点类型过滤。
        Returns:
        点类型过滤。
      • getOffsetByTypeIndex

        int getOffsetByTypeIndex​(int clusterNodeId,
                                 int typeIndex)
        获取节点上的点类型偏移量。
        Parameters:
        clusterNodeId - 节点号
        typeIndex - 点类型编号
        Returns:
        点类型偏移量。
      • getSizeByTypeIndex

        int getSizeByTypeIndex​(int clusterNodeId,
                               int typeIndex)
        获取节点上的点类型总数。
        Parameters:
        clusterNodeId - 节点号
        typeIndex - 点类型编号
        Returns:
        点类型总数。