提交 7f000e79 编写于 作者: X Xu Peng

refactor(db): rename


Former-commit-id: 60c982ed5e500d958182bbc0816731d9423b509a
上级 204c6887
#include <easylogging++.h>
#include "Serializer.h"
#include "ExecutionEngine.h"
namespace zilliz {
namespace vecwise {
namespace engine {
Status Serializer::AddWithIds(const std::vector<float>& vectors, const std::vector<long>& vector_ids) {
Status ExecutionEngine::AddWithIds(const std::vector<float>& vectors, const std::vector<long>& vector_ids) {
long n1 = (long)vectors.size();
long n2 = (long)vector_ids.size();
if (n1 != n2) {
......
......@@ -8,7 +8,7 @@ namespace zilliz {
namespace vecwise {
namespace engine {
class Serializer {
class ExecutionEngine {
public:
Status AddWithIds(const std::vector<float>& vectors,
......@@ -24,7 +24,7 @@ public:
virtual Status Cache() = 0;
virtual ~Serializer() {}
virtual ~ExecutionEngine() {}
};
......
......@@ -3,7 +3,7 @@
#include <wrapper/Index.h>
#include <cache/CpuCacheMgr.h>
#include "FaissSerializer.h"
#include "FaissExecutionEngine.h"
namespace zilliz {
namespace vecwise {
......@@ -11,30 +11,30 @@ namespace engine {
const std::string IndexType = "IDMap,Flat";
FaissSerializer::FaissSerializer(uint16_t dimension, const std::string& location)
FaissExecutionEngine::FaissExecutionEngine(uint16_t dimension, const std::string& location)
: pIndex_(faiss::index_factory(dimension, IndexType.c_str())),
location_(location) {
}
Status FaissSerializer::AddWithIds(long n, const float *xdata, const long *xids) {
Status FaissExecutionEngine::AddWithIds(long n, const float *xdata, const long *xids) {
pIndex_->add_with_ids(n, xdata, xids);
return Status::OK();
}
size_t FaissSerializer::Count() const {
size_t FaissExecutionEngine::Count() const {
return (size_t)(pIndex_->ntotal);
}
size_t FaissSerializer::Size() const {
size_t FaissExecutionEngine::Size() const {
return (size_t)(Count() * pIndex_->d);
}
Status FaissSerializer::Serialize() {
Status FaissExecutionEngine::Serialize() {
write_index(pIndex_.get(), location_.c_str());
return Status::OK();
}
Status FaissSerializer::Cache() {
Status FaissExecutionEngine::Cache() {
zilliz::vecwise::cache::CpuCacheMgr::GetInstance(
)->InsertItem(location_, std::make_shared<Index>(pIndex_));
......
......@@ -3,7 +3,7 @@
#include <memory>
#include <string>
#include "Serializer.h"
#include "ExecutionEngine.h"
namespace faiss {
class Index;
......@@ -13,9 +13,9 @@ namespace zilliz {
namespace vecwise {
namespace engine {
class FaissSerializer : public Serializer {
class FaissExecutionEngine : public ExecutionEngine {
public:
FaissSerializer(uint16_t dimension, const std::string& location);
FaissExecutionEngine(uint16_t dimension, const std::string& location);
virtual Status AddWithIds(long n, const float *xdata, const long *xids) override;
virtual size_t Count() const override;
......
......@@ -6,7 +6,7 @@
#include "MemManager.h"
#include "Meta.h"
#include "FaissSerializer.h"
#include "FaissExecutionEngine.h"
namespace zilliz {
......@@ -19,36 +19,36 @@ MemVectors::MemVectors(const std::shared_ptr<meta::Meta>& meta_ptr,
options_(options),
schema_(schema),
_pIdGenerator(new SimpleIDGenerator()),
pSerializer_(new FaissSerializer(schema_.dimension, schema_.location)) {
pEE_(new FaissExecutionEngine(schema_.dimension, schema_.location)) {
}
void MemVectors::add(size_t n_, const float* vectors_, IDNumbers& vector_ids_) {
_pIdGenerator->getNextIDNumbers(n_, vector_ids_);
pSerializer_->AddWithIds(n_, vectors_, vector_ids_.data());
pEE_->AddWithIds(n_, vectors_, vector_ids_.data());
for(auto i=0 ; i<n_; i++) {
vector_ids_.push_back(i);
}
}
size_t MemVectors::total() const {
return pSerializer_->Count();
return pEE_->Count();
}
size_t MemVectors::approximate_size() const {
return pSerializer_->Size();
return pEE_->Size();
}
Status MemVectors::serialize(std::string& group_id) {
group_id = schema_.group_id;
auto rows = approximate_size();
pSerializer_->Serialize();
pEE_->Serialize();
schema_.rows = rows;
schema_.file_type = (rows >= options_.index_trigger_size) ?
meta::GroupFileSchema::TO_INDEX : meta::GroupFileSchema::RAW;
auto status = pMeta_->update_group_file(schema_);
pSerializer_->Cache();
pEE_->Cache();
return status;
}
......
......@@ -19,7 +19,7 @@ namespace meta {
class Meta;
}
class Serializer;
class ExecutionEngine;
class MemVectors {
public:
......@@ -47,7 +47,7 @@ private:
Options options_;
meta::GroupFileSchema schema_;
IDGenerator* _pIdGenerator;
std::shared_ptr<Serializer> pSerializer_;
std::shared_ptr<ExecutionEngine> pEE_;
}; // MemVectors
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册