From 9ab4fcfa149019131089c18b565a9adf3cfa6a3e Mon Sep 17 00:00:00 2001 From: wusheng Date: Fri, 4 Nov 2016 19:12:55 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E9=83=A8=E5=88=86=E4=BC=AA?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E9=80=BB=E8=BE=91=E3=80=82=E8=B0=83=E6=95=B4?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E5=8F=AF=E8=AF=BB=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../eye/skywalking/storage/data/SpanDataConsumer.java | 11 ++++++++--- .../storage/data/index/IndexMetaCollections.java | 5 +++-- .../skywalking/storage/data/index/IndexOperator.java | 11 +---------- 3 files changed, 12 insertions(+), 15 deletions(-) diff --git a/skywalking-storage-center/skywalking-storage/src/main/java/com/a/eye/skywalking/storage/data/SpanDataConsumer.java b/skywalking-storage-center/skywalking-storage/src/main/java/com/a/eye/skywalking/storage/data/SpanDataConsumer.java index ffd3946ed..7b6758d78 100644 --- a/skywalking-storage-center/skywalking-storage/src/main/java/com/a/eye/skywalking/storage/data/SpanDataConsumer.java +++ b/skywalking-storage-center/skywalking-storage/src/main/java/com/a/eye/skywalking/storage/data/SpanDataConsumer.java @@ -2,6 +2,7 @@ package com.a.eye.skywalking.storage.data; import com.a.eye.datacarrier.consumer.IConsumer; import com.a.eye.skywalking.storage.data.file.DataFileWriter; +import com.a.eye.skywalking.storage.data.index.IndexDBConnector; import com.a.eye.skywalking.storage.data.index.IndexMetaGroup; import com.a.eye.skywalking.storage.data.index.IndexOperator; import com.a.eye.skywalking.storage.data.index.IndexDBConnectorCache; @@ -17,16 +18,20 @@ public class SpanDataConsumer implements IConsumer { @Override public void consume(List data) { - Iterator iterator = fileWriter.write(data).group().iterator(); + Iterator iterator = fileWriter.write(data).group(); while (iterator.hasNext()) { IndexMetaGroup metaGroup = iterator.next(); - IndexOperator indexOperator = IndexOperator.newOperator(cache.get(metaGroup.getTimestamp())); - indexOperator.update(metaGroup.getMetaInfo()); + IndexOperator indexOperator = IndexOperator.newOperator(getDBConnector(metaGroup)); + indexOperator.batchUpdate(metaGroup); } } + private IndexDBConnector getDBConnector(IndexMetaGroup metaGroup){ + return cache.get(metaGroup.getTimestamp()); + } + @Override public void onError(List list, Throwable throwable) { diff --git a/skywalking-storage-center/skywalking-storage/src/main/java/com/a/eye/skywalking/storage/data/index/IndexMetaCollections.java b/skywalking-storage-center/skywalking-storage/src/main/java/com/a/eye/skywalking/storage/data/index/IndexMetaCollections.java index 4e9e16cc2..c24e5ec5f 100644 --- a/skywalking-storage-center/skywalking-storage/src/main/java/com/a/eye/skywalking/storage/data/index/IndexMetaCollections.java +++ b/skywalking-storage-center/skywalking-storage/src/main/java/com/a/eye/skywalking/storage/data/index/IndexMetaCollections.java @@ -5,6 +5,7 @@ import com.a.eye.skywalking.storage.block.index.BlockFinder; import com.a.eye.skywalking.storage.block.index.BlockIndexEngine; import java.util.ArrayList; +import java.util.Iterator; import java.util.List; public class IndexMetaCollections { @@ -12,7 +13,7 @@ public class IndexMetaCollections { private List metaInfo; private BlockFinder finder = BlockIndexEngine.newFinder(); - public List group() { + public Iterator group() { List indexMetaGroups = new ArrayList(); for (IndexMetaInfo info : metaInfo) { long timestamp = finder.find(info.getStartTime()); @@ -30,7 +31,7 @@ public class IndexMetaCollections { metaGroup.addIndexMetaInfo(info); } - return indexMetaGroups; + return indexMetaGroups.iterator(); } diff --git a/skywalking-storage-center/skywalking-storage/src/main/java/com/a/eye/skywalking/storage/data/index/IndexOperator.java b/skywalking-storage-center/skywalking-storage/src/main/java/com/a/eye/skywalking/storage/data/index/IndexOperator.java index 6503a6b9a..b2db058b8 100644 --- a/skywalking-storage-center/skywalking-storage/src/main/java/com/a/eye/skywalking/storage/data/index/IndexOperator.java +++ b/skywalking-storage-center/skywalking-storage/src/main/java/com/a/eye/skywalking/storage/data/index/IndexOperator.java @@ -18,19 +18,10 @@ public class IndexOperator { } - public void update(List metaInfo) { + public void batchUpdate(IndexMetaGroup metaGroup) { } - private IndexDBConnector getConnector() { - return connector; - } - - - public static IndexOperator newOperator(long timestamp) { - return newOperator(new IndexDBConnector(timestamp)); - } - public static IndexOperator newOperator(IndexDBConnector indexDBConnector) { return new IndexOperator(indexDBConnector); }