From 080afae264fe7ff89a54886f28dff208fe5a06c4 Mon Sep 17 00:00:00 2001
From: chenshijun <csj_sky@126.com>
Date: 星期二, 16 四月 2019 22:01:35 +0800
Subject: [PATCH] 整合代码
---
QiaoJiaSystem/build/YoloServer | 0
QiaoJiaSystem/build/killAll.sh | 0
QiaoJiaSystem/build/FaceSearchServer | 0
QiaoJiaSystem/build/YoloDetectClientTest | 0
QiaoJiaSystem/FaceSearchServer/FaceFeatureSearchServerI.cpp | 57 +++++---
QiaoJiaSystem/FaceDetectServer/FaceDetectServerI.h | 8 +
QiaoJiaSystem/build/config.json | 48 ++++----
QiaoJiaSystem/build/syncDBClient | 0
syncDBTool/ErlangDbTool.cpp | 1
QiaoJiaSystem/build/FaceDetectServer | 0
QiaoJiaSystem/build/DataWebServer | 0
QiaoJiaSystem/build/FaceDetectResourcesTest | 0
QiaoJiaSystem/build/FaceExtractServer | 0
QiaoJiaSystem/DataManagerServer/http_configserver.cpp | 21 ++
QiaoJiaSystem/FaceSearchServer/FaceFeatureSearchServerI.h | 45 ++++++-
QiaoJiaSystem/build/VideoAnalysFromHC | 0
QiaoJiaSystem/DataManagerServer/http_configserver.h | 78 ++++++++++++
QiaoJiaSystem/FaceSearchServer/FaceDBCompareServer.cpp | 32 ----
QiaoJiaSystem/FaceSearchServer/FaceDBCompareServer.h | 25 +++
19 files changed, 226 insertions(+), 89 deletions(-)
diff --git a/QiaoJiaSystem/DataManagerServer/http_configserver.cpp b/QiaoJiaSystem/DataManagerServer/http_configserver.cpp
index 5761756..4e61e33 100644
--- a/QiaoJiaSystem/DataManagerServer/http_configserver.cpp
+++ b/QiaoJiaSystem/DataManagerServer/http_configserver.cpp
@@ -2142,9 +2142,12 @@
// auto resType = erlangDbTool->findAllTypeInfo();
string json = "[";
for (auto &item : resDB) {
+ //-------------------maybe delete ?------------------------
if (item.second.tableName.find("lt_") == 0) {
continue;
}
+ //-------------------maybe delete end----------------------
+
string subJson = "{ ";
subJson.append("\"uuid\":\"" + item.second.uuid + "\",");
subJson.append("\"tableName\":\"" + item.second.tableName + "\",");
@@ -3029,8 +3032,19 @@
}
}
- if (videoStVec.size() >= 1) {
- std::string strVideoName = strPath + videoStVec[0].ToVideoName();
+ std::vector<VideoName_s_t> videoStVec_;
+ auto imgTm_ = AppUtil::ParseFromHypenTimeStr(imgSt.m_timeStamp);
+ for (auto &item : videoStVec) {
+ auto resTime_ = AppUtil::ParseFromHypenTimeStr(item.m_timeStamp);
+ auto timeRes = difftime(mktime(&resTime_), mktime(&imgTm_));
+ if ((timeRes < 0 && difftime(mktime(&imgTm_), mktime(&resTime_)) >= 30) || (timeRes / 60 >= 3)) {
+ continue;
+ }
+ videoStVec_.emplace_back(item);
+ }
+
+ if (videoStVec_.size() >= 1) {
+ std::string strVideoName = strPath + videoStVec_[0].ToVideoName();
INFO("ImageName: " << imgKey << " SingleMatchVideo: " << strVideoName);
return strVideoName;
} else {
@@ -3336,8 +3350,7 @@
rule.strLine = value["strLine"].asCString();
rule.strExLine = value["strExLine"].asCString();
- if(!value["strPerimeterObjType"].empty())
- {
+ if (!value["strPerimeterObjType"].empty()) {
rule.strPerimeterObjType = value["strPerimeterObjType"].asCString();
}
if (rule.strCamId.isEmpty()) {
diff --git a/QiaoJiaSystem/DataManagerServer/http_configserver.h b/QiaoJiaSystem/DataManagerServer/http_configserver.h
index 00fff1c..98399e4 100644
--- a/QiaoJiaSystem/DataManagerServer/http_configserver.h
+++ b/QiaoJiaSystem/DataManagerServer/http_configserver.h
@@ -121,7 +121,7 @@
std::string createDatabase(std::string ip, unsigned int port, std::string content, PResponse &response);
/**
- *
+ * 鍒犻櫎鏁版嵁 搴曞簱
* @param ip
* @param port
* @param content
@@ -130,23 +130,97 @@
*/
std::string deleteDatabase(std::string ip, unsigned int port, std::string content, PResponse &response);
+ /***
+ * 鏇存柊鏁版嵁 搴曞簱
+ * @param ip
+ * @param port
+ * @param content
+ * @param response
+ * @return
+ */
std::string updateDatabase(std::string ip, unsigned int port, std::string content, PResponse &response);
+ /**
+ * 鏌ヨ鎵�鏈夊悓姝ュ簱
+ * @param ip
+ * @param port
+ * @param content
+ * @param response
+ * @return
+ */
std::string findAllDatabase(std::string ip, unsigned int port, std::string content, PResponse &response);
+ /**
+ * 鏌ヨ鎵�鏈夋湰鍦板簱
+ * @param ip
+ * @param port
+ * @param content
+ * @param response
+ * @return
+ */
std::string findLocalDatabase(std::string ip, unsigned int port, std::string content, PResponse &response);
+ /***
+ * 涓婁紶浜哄憳
+ * @param ip
+ * @param port
+ * @param content
+ * @param response
+ * @return
+ */
std::string addPerson(std::string ip, unsigned int port, std::string content, PResponse &response);
+ //#todo 鎵归噺娣诲姞浜哄憳鍊熷彛
+
+ /***
+ * 鍚戝悓姝ュ簱鎵归噺娣诲姞浜哄憳鍙婃洿鏂颁汉鍛�
+ * feature_addPersonTracking 鍒嗘敮涓洿鏂板姛鑳藉垎绂讳负鏂板�熷彛
+ * @param ip
+ * @param port
+ * @param content
+ * @param response
+ * @return
+ */
std::string addPersons(std::string ip, unsigned int port, std::string content, PResponse &response);
+ /***
+ * 鍒ゆ柇鍚屾搴撲腑浜哄憳鏄惁瀛樺湪
+ * @param ip
+ * @param port
+ * @param content
+ * @param response
+ * @return
+ */
std::string personIsExists(std::string ip, unsigned int port, std::string content, PResponse &response);
+ /**
+ * 鏇存柊鍚屾搴撲腑鐨勪汉鍛�
+ * @param ip
+ * @param port
+ * @param content
+ * @param response
+ * @return
+ */
std::string updatePersonByOldId(std::string ip, unsigned int port, std::string content, PResponse &response);
-
+ /**
+ * 鍒犻櫎浜哄憳
+ * @param ip
+ * @param port
+ * @param content
+ * @param response
+ * @return
+ */
std::string delPerson(std::string ip, unsigned int port, std::string content, PResponse &response);
+ /**
+ * 鍔犺浇鐗瑰緛
+ * @param ip
+ * @param port
+ * @param content
+ * @param response
+ * @return
+ */
std::string loadFaceFeaData(std::string ip, unsigned int port, std::string content, PResponse &response);
diff --git a/QiaoJiaSystem/FaceDetectServer/FaceDetectServerI.h b/QiaoJiaSystem/FaceDetectServer/FaceDetectServerI.h
index 09dfe1a..fed2cdb 100644
--- a/QiaoJiaSystem/FaceDetectServer/FaceDetectServerI.h
+++ b/QiaoJiaSystem/FaceDetectServer/FaceDetectServerI.h
@@ -10,6 +10,10 @@
~FaceDetectServerI();
// FaceDetectServer interface
public:
+ /**
+ * 浜鸿劯妫�娴�
+ * @return
+ */
virtual FaceDetect::Faces faceDetect(Ice::Int, Ice::Int, const std::string &, const Ice::Current &) override;
private:
@@ -19,6 +23,10 @@
// FaceDetectServer interface
public:
+ /**
+ * 浜鸿劯浜屾灞炴�ф彁鍙�
+ * @return
+ */
virtual FaceDetect::ThftResult faceProperty(Ice::Int, Ice::Int, const FaceDetect::FacePos &, const std::string &, const Ice::Current &) override;
private:
diff --git a/QiaoJiaSystem/FaceSearchServer/FaceDBCompareServer.cpp b/QiaoJiaSystem/FaceSearchServer/FaceDBCompareServer.cpp
index 1c7ca29..3281d1c 100644
--- a/QiaoJiaSystem/FaceSearchServer/FaceDBCompareServer.cpp
+++ b/QiaoJiaSystem/FaceSearchServer/FaceDBCompareServer.cpp
@@ -62,6 +62,7 @@
DBG("m_dbRWLocks ok");
m_dbRWLocks_Lock.unlock();
// ClockTimer clockTimer("compare ");
+ //淇濇姢 t_compareResults
RWLock t_rwLock;
m_rwLock.rdlock();
@@ -80,12 +81,15 @@
FaceResult tface{0, data.uuid, alarmData->tableName, sc, data.faceUrl, data.idcard, ""};
t_rwLock.wrlock();
//#todo
+ // 瀵规瘮缁撴灉淇濆瓨
if (sc < t_compareResults.end()->second.confidence) {
t_rwLock.unlock();
return;
}
+ // 淇濆瓨瀵规瘮缁撴灉
t_compareResults.insert(make_pair(tface.confidence, tface));
//#todo 10
+ // 鍙繚鐣欐渶楂樼殑n涓姣旂粨鏋�
if (t_compareResults.size() > topN) {
t_compareResults.erase((--t_compareResults.end()), t_compareResults.end());
}
@@ -123,6 +127,7 @@
auto &t_topResult = topResult[key];
DBG("topResult[key] ok");
t_topResult.clear();
+ // 瀵规瘮缁撴灉杞崲
for (auto &item : t_compareResults) {
auto &it = item.second;
//#todo
@@ -203,16 +208,8 @@
m_tableName = str_tab.substr(1, str_tab.length() - 2);//.append("_fea");
DBG("m_tableName is " << m_tableName);
-// string tet = "./syncDBClient ";
-// string str_json = writer.write(t_json);
-// tet.append("\"" + str_json.substr(0, str_json.length() - 1) + "\" ");
-// INFO(tet);
-// system(tet.c_str());
dataMap.clear();
try {
- // init
-// BISTL::BiMapFeaData biMapFeaData(m_tableName);
-// auto mymap = biMapFeaData.getMap();
auto mymap = m_erlangDbTool->loadFaceFeaData(m_tableName);
DBG(m_tableName << " db size is " << mymap.size());
@@ -231,29 +228,10 @@
test.enabled = it.enable;
test.monLevel = it.monLevel;
}
-// //#todo
-// for (auto it = mymap->begin(); it != mymap->end(); it++) {
-// string str_uuid(it->second.m_id.data());
-// string ft(it->second.m_feature.data());
-// string imgUrl(it->second.m_imgUrl.data());
-// string strIdCard(it->second.m_idcard.data());
-// string str2;
-// str2 = base64.Decode(ft.data(), ft.length());
-// std::vector<unsigned char> t_fea;
-// t_fea.resize(str2.size());
-// memcpy(t_fea.data(), str2.data(), str2.size());
-// auto &test = dataMap[str_uuid];
-// test.uuid = str_uuid;
-// test.features.push_back(t_fea);
-// test.faceUrl = imgUrl;
-// test.idcard = strIdCard;
-// }
} catch (const std::exception &e) {
printf("Exception:%s\n", e.what());
-// BISTL::shared_memory_object::remove(m_tableName.c_str());
}
appPref.setIntData(m_tableName, 1);
-// BISTL::shared_memory_object::remove(m_tableName.c_str());
} else {
//#todo get sqlite3 data
m_tableName = t_json["tableName"].asCString();
diff --git a/QiaoJiaSystem/FaceSearchServer/FaceDBCompareServer.h b/QiaoJiaSystem/FaceSearchServer/FaceDBCompareServer.h
index 0667bbf..6ec4fae 100644
--- a/QiaoJiaSystem/FaceSearchServer/FaceDBCompareServer.h
+++ b/QiaoJiaSystem/FaceSearchServer/FaceDBCompareServer.h
@@ -21,19 +21,35 @@
public:
FaceDBCompareServer();
+ /**
+ * 鏈湴搴撴瀯閫�
+ */
FaceDBCompareServer(SqliteFaceEncap *);
+ /***
+ * 鍚屾搴撴瀯閫�
+ */
FaceDBCompareServer(ErlangTool::ErlangDbTool *);
~FaceDBCompareServer();
virtual bool compare(std::thread::id key, AlarmData *alarmData, int topN);
+ /***
+ * @deprecated
+ * @param key
+ * @param alarmData
+ * @return
+ */
bool compare(std::thread::id key, AlarmData *alarmData);
FaceResults getTopResult(std::thread::id key);
private:
+ /**
+ * 鍔犺浇鐗瑰緛
+ * @param str_config
+ */
virtual void loadDBData(std::string str_config);
protected:
@@ -41,10 +57,14 @@
std::string m_tableName;
int fea_size;
+ // 淇濇姢鐖剁被鐨刣ataMap
RWLock m_rwLock;
std::mutex topResultMtx;
std::map<std::thread::id, FaceResults> topResult;
+
+ // 淇濇姢m_dbRWLocks
RWLock m_dbRWLocks_Lock;
+ // 淇濇姢 topResult
std::map<std::thread::id, RWLock> m_dbRWLocks;
ErlangTool::ErlangDbTool *m_erlangDbTool;
@@ -54,8 +74,9 @@
static bool getRet(std::string startTime, std::string endTime) {
auto crrentTime = AppUtil::getTimeSecString();
-
- if (crrentTime.compare(startTime) > 0 && (crrentTime.compare(endTime) < 0 || endTime == "0000-00-00 00:00:00")) {
+ // 鏍规嵁褰撳墠鏃堕棿鏄惁鍦ㄨ缃殑鏃堕棿鍐呮垨姘镐箙鐢熸晥
+ if (crrentTime.compare(startTime) > 0 && (crrentTime.compare(endTime) < 0
+ || endTime == "0000-00-00 00:00:00")) {
return true;
}
return false;
diff --git a/QiaoJiaSystem/FaceSearchServer/FaceFeatureSearchServerI.cpp b/QiaoJiaSystem/FaceSearchServer/FaceFeatureSearchServerI.cpp
index 30fed97..e37f88a 100644
--- a/QiaoJiaSystem/FaceSearchServer/FaceFeatureSearchServerI.cpp
+++ b/QiaoJiaSystem/FaceSearchServer/FaceFeatureSearchServerI.cpp
@@ -123,14 +123,25 @@
}
//#todo 浼樺寲
+/**
+ *
+ * @param feature 闇�瑕佸姣旂殑鐗瑰緛
+ * @param info_json 闇�瑕佹彃鍏ユ暟鎹簱鐨刯son瀛楁
+ * @param topN 鑾峰彇鍓嶅嚑浣�
+ * @param score 瀵规瘮鐨勯槇鍊�
+ * @return
+ */
::FaceSearch::FaceResults
FaceFeatureSearchServerI::faceSearchTopN(const ::FaceSearch::Data &feature, const ::std::string &info_json,
::Ice::Int topN, ::Ice::Float score, const ::Ice::Current &) {
ClockTimer clockTimer("faceSearchTopN " + to_string(score) + " :");
INFO("faceSearchTopN start");
+ // 鑾峰彇褰撳墠绾跨▼id
thread::id key = std::this_thread::get_id();
::FaceSearch::FaceResults results;
FaceResults t_TableCompareResult;
+
+ // 杩涜瀵规瘮鐨勬暟鎹粨鏋�
AlarmData featureData;
featureData.num = topN;
featureData.feature.resize(feature.size());
@@ -142,14 +153,19 @@
if (reader.parse(info_json, value)) {
//#todo
m_rwLock.rdlock();
+ // 鐗瑰緛杞寲涓篵ase64瀛樺叆鍒癹son涓�
std::string feature_base64;
feature_base64 = base64.Encode(feature.data(), feature.size());
value["FaceFeature"] = feature_base64;
+ //---------------------------
+
DBG("auto &it : m_faceFCMAP start " << m_faceFCMAP.size());
//#todo lock
+ // 閬嶅巻涓嶅悓鐨勫簳搴撹繘琛屾瘮瀵�
for (auto &it : m_faceFCMAP) {
auto &t_FaceFC = it.second;
auto t_tableInfo = m_tableType[it.first];
+ // 鑾峰彇搴曞簱鐨勬姤璀︾姸鎬�
bool ret = getRet(t_tableInfo.startTime, t_tableInfo.endTime);
if (ret) {
string t_alarmRet = t_tableInfo.bwType;
@@ -157,10 +173,12 @@
//#todo 闈炲悓姝ュ簱鏄惁闇�瑕佹瘮杈冿紵
DBG("m_faceFCMAP compare start " << it.first);
+ // 瀵规瘮
t_FaceFC->compare(key, &featureData, topN);
DBG("m_faceFCMAP compare end " << it.first);
-
+ // 鏍规嵁褰撳墠绾跨▼id鑾峰彇瀵规瘮缁撴灉
auto t_results = t_FaceFC->getTopResult(key);
+ // 瀵规瘮缁撴灉杞崲
for (auto &t_item : t_results) {
t_item.tableName = it.first;
t_item.alarmRet = t_alarmRet;
@@ -176,6 +194,7 @@
DBG("t_TableCompareResult size" << t_TableCompareResult.size());
//sort_all_results
+ // 鎺掑簭
for (auto itor = t_TableCompareResult.begin(); itor != t_TableCompareResult.end(); ++itor) {
float new_confidence = itor->confidence;
auto rtTR = results.rbegin();
@@ -194,6 +213,7 @@
ERR("topResult is null");
}
auto itTR(rtTR.base());
+ // 鏁版嵁杞寲
::FaceSearch::FaceResult t_faceCR;
t_faceCR.id = itor->id;
t_faceCR.uuid = itor->uuid;
@@ -208,9 +228,10 @@
results.insert(itTR, t_faceCR);
}
bool retface = true;
-// cout << __FUNCTION__ << " -> " << __LINE__ << " -> " << results.size() << endl;
//#todo send message
if (results.size() > 0) {
+ // 鏍规嵁浼犲叆鐨勫姣旈槇鍊煎仛绛涢��
+ // 鏈垎鏀彧淇濆瓨浜嗙涓�涓姣旂粨鏋�
for (auto &item : results) {
//#todo 寰楀垎姣旇緝锛屽簲璇ュ湪compare涓繘琛�
if (item.confidence < score) {
@@ -226,15 +247,6 @@
break;
}
value["personId"] = item.uuid.size() > 0 ? item.uuid : "";//鍏宠仈搴曞簱浜哄憳id,浜鸿劯id
-
-// string tmp_tableName = item.tableName;
-// if (tmp_tableName.find("lt_") == 0) {
-// tmp_tableName = tmp_tableName.insert(tmp_tableName.find("lt_") + 3, "::");
-// value["BaseName"] = tmp_tableName;//鍏宠仈搴曞簱琛ㄥ悕
-// } else {
-// value["BaseName"] = item.tableName.size() > 0 ? item.tableName : "";//鍏宠仈搴曞簱琛ㄥ悕
-// }
-
value["BaseName"] = item.tableName.size() > 0 ? item.tableName : "";//鍏宠仈搴曞簱琛ㄥ悕
value["likePer"] = item.confidence > 0 ? item.confidence : 0.0;
@@ -244,10 +256,8 @@
value["personIsHub"] = item.alarmRet.size() > 0 ? item.alarmRet : "4";
auto str_uuid = value["Id"].asString();
-// DBG(value.toStyledString());
- cout << __FUNCTION__ << " -> " << __LINE__ << " -> " << "value.toStyledString() "
- << value.toStyledString() << "\n score " << score << endl;
+ DBG("value.toStyledString() " << value.toStyledString() << "\n score " << score);
// DBG("score " << score);
retface = pManagerEsDB.insertData("videopersons", "perVideoPicture", value.toStyledString(),
str_uuid);
@@ -258,37 +268,35 @@
value["personIsHub"] = "4";
value["likePer"] = 0.0;
DBG(value.toStyledString());
-// cout << __FUNCTION__ << " -> " << __LINE__ << " -> " << "value.toStyledString() "
-// << value.toStyledString() << endl;
retface = pManagerEsDB.insertData("videopersons", "perVideoPicture", value.toStyledString(),
str_uuid);
}
if (!retface) {
ERR("insert error");
} else {
- cout << __FUNCTION__ << " -> " << __LINE__ << " -> " << "retface " << retface << endl;
+ ERR("retface " << retface);
};
} else {
ERR("json is error" << info_json);
}
-
-
-// for (auto &item : t_tables) {
-// DBG(item);
-// }
return results;
}
bool FaceFeatureSearchServerI::loadFeatureData(FaceFeatureSearchServerI *faceFea) {
+ // 鍔犺浇搴曞簱鏁版嵁
ErlangTool::map_TabDataCache dataBaseCache = faceFea->m_erlangDbTool.findAllDatabase();
if (dataBaseCache.size() < 0 && faceFea->m_retUpdatePthread) {
+ // 杩欓噷杩涗笉鏉ュ惂锛�
faceFea->m_retUpdatePthread = false;
+ //鎺у埗涓嬫柟绾跨▼鍙惎鍔ㄤ竴娆�
std::thread thd(dataUpdate, faceFea);
thd.detach();
}
+ // 鑾峰彇琛ㄤ俊鎭�
auto typeInfoCache = faceFea->m_erlangDbTool.findAllTypeInfo();
+ //娓呴櫎鏃ф暟鎹�
faceFea->m_tableType.clear();
string str_config = faceFea->m_erlangDbTool.getConfigJsonString();
@@ -368,6 +376,7 @@
faceFea->m_inTime = getTimeLong();
if (faceFea->m_retUpdatePthread) {
faceFea->m_retUpdatePthread = false;
+ //鎺у埗涓嬫柟绾跨▼鍙惎鍔ㄤ竴娆�
std::thread thd(dataUpdate, faceFea);
// faceFea->m_erlangDbTool.test(faceFea, erlangCallBackFunc);
@@ -418,6 +427,10 @@
// pthread_mutex_unlock(&(func_cond_mutex));
//}
+/**
+ * 绛夊緟搴曞簱鍔犺浇瀹屾垚锛屽苟绛夊緟淇″彿瑙﹀彂鏂扮殑鏁版嵁鍒锋柊
+ * @param faceFea
+ */
void FaceFeatureSearchServerI::dataUpdate(FaceFeatureSearchServerI *faceFea) {
long inTime = faceFea->m_inTime;
// modify all db ready start update, <10s
diff --git a/QiaoJiaSystem/FaceSearchServer/FaceFeatureSearchServerI.h b/QiaoJiaSystem/FaceSearchServer/FaceFeatureSearchServerI.h
index 7a1c16b..8a70b5c 100644
--- a/QiaoJiaSystem/FaceSearchServer/FaceFeatureSearchServerI.h
+++ b/QiaoJiaSystem/FaceSearchServer/FaceFeatureSearchServerI.h
@@ -24,6 +24,8 @@
//};
static bool t_live_ret = true;
+
+//鍏ㄥ眬鐨勪俊鍙烽噺锛屽鏋滄暟鎹埛鏂板欢杩熻繃楂樺彲浠ユ敼涓轰娇鐢╪sq娑堟伅闃熷垪銆�
static pthread_cond_t func_cond(PTHREAD_COND_INITIALIZER);
static pthread_mutex_t func_cond_mutex(PTHREAD_MUTEX_INITIALIZER);
@@ -39,44 +41,71 @@
virtual ~FaceFeatureSearchServerI();
public:
+ /**
+ * @deprecated
+ * @return
+ */
virtual ::FaceSearch::FaceResults faceSearchMax(const ::FaceSearch::Data &, const ::std::string &,
const ::Ice::Current & = ::Ice::emptyCurrent);
+ /***
+ * 瀵规瘮鑾峰彇绗琻澶х殑浜哄憳
+ * @return
+ */
virtual ::FaceSearch::FaceResults
faceSearchTopN(const ::FaceSearch::Data &, const ::std::string &, ::Ice::Int, ::Ice::Float,
const ::Ice::Current & = ::Ice::emptyCurrent);
private:
+ /**
+ * @deprecated
+ * @param nodeName
+ * @param cookie
+ * @return
+ */
bool initErlang(std::string nodeName, std::string cookie);
- //#todo delete cache
//#todo loadData
+ /**
+ * 鍔犺浇浜鸿劯灞炴��
+ * @param faceFea
+ * @return
+ */
static bool loadFeatureData(FaceFeatureSearchServerI *faceFea);
+ /**
+ * 鏁版嵁鏇存柊绾跨▼锛屾湁淇″彿瑙﹀彂鎵嶄細鏇存柊
+ * @param faceFea
+ */
static void dataUpdate(FaceFeatureSearchServerI *faceFea);
+ /***
+ * 绛夊緟搴曞簱琛ㄥ姞杞芥垚鍔�
+ * @param faceFea
+ * @param loop
+ */
static void waitTables(FaceFeatureSearchServerI *faceFea, int loop = -1);
-
-// void erlangCallBackFunc(std::string);
private:
long m_inTime;
+ // 鐗瑰緛瀵规瘮绫�
std::map<std::string, FaceDBCompareServer *> m_faceFCMAP;
+ // 搴曞簱绫诲瀷锛岀敓鏁堟椂闂寸瓑
std::map<std::string, TableInfo> m_tableType;
+ // 瀵� m_faceFCMAP 鍔犺鍐欓攣
+ // 褰撳姣旀椂锛屾暟鎹埛鏂颁細绛夊緟
RWLock m_rwLock;
+
ErlangTool::ErlangDbTool m_erlangDbTool;
+
SqliteFaceEncap m_sqliteFaceEncap;
+
std::mutex m_mutex;
bool m_retUpdatePthread;
Base64 base64;
-// Ice::ObjectPrx base_FaceMemoryData;
-// IceRpcClient<::FaceSearch::FaceMemoryDataPrx> m_faceMemoryClient;
-// ::FaceSearch::FaceMemoryDataPrx serverFaceMemoryData;
-
-// func_cond_mutex(PTHREAD_MUTEX_INITIALIZER), func_cond(PTHREAD_COND_INITIALIZER)
EsDBTool pManagerEsDB;//(appPref.getStringData("ipAdd"), appPref.getIntData("ipPort"));
};
diff --git a/QiaoJiaSystem/build/DataWebServer b/QiaoJiaSystem/build/DataWebServer
index 664c46a..159d12e 100755
--- a/QiaoJiaSystem/build/DataWebServer
+++ b/QiaoJiaSystem/build/DataWebServer
Binary files differ
diff --git a/QiaoJiaSystem/build/FaceDetectResourcesTest b/QiaoJiaSystem/build/FaceDetectResourcesTest
index f9ddeb1..92a5db2 100755
--- a/QiaoJiaSystem/build/FaceDetectResourcesTest
+++ b/QiaoJiaSystem/build/FaceDetectResourcesTest
Binary files differ
diff --git a/QiaoJiaSystem/build/FaceDetectServer b/QiaoJiaSystem/build/FaceDetectServer
index 0bc5e41..80b8a99 100755
--- a/QiaoJiaSystem/build/FaceDetectServer
+++ b/QiaoJiaSystem/build/FaceDetectServer
Binary files differ
diff --git a/QiaoJiaSystem/build/FaceExtractServer b/QiaoJiaSystem/build/FaceExtractServer
index e2aeb11..fddc622 100755
--- a/QiaoJiaSystem/build/FaceExtractServer
+++ b/QiaoJiaSystem/build/FaceExtractServer
Binary files differ
diff --git a/QiaoJiaSystem/build/FaceSearchServer b/QiaoJiaSystem/build/FaceSearchServer
index 5a2e1ea..eac0e3f 100755
--- a/QiaoJiaSystem/build/FaceSearchServer
+++ b/QiaoJiaSystem/build/FaceSearchServer
Binary files differ
diff --git a/QiaoJiaSystem/build/VideoAnalysFromHC b/QiaoJiaSystem/build/VideoAnalysFromHC
index 6343aa6..260d802 100755
--- a/QiaoJiaSystem/build/VideoAnalysFromHC
+++ b/QiaoJiaSystem/build/VideoAnalysFromHC
Binary files differ
diff --git a/QiaoJiaSystem/build/YoloDetectClientTest b/QiaoJiaSystem/build/YoloDetectClientTest
index 216cd5e..3310f97 100755
--- a/QiaoJiaSystem/build/YoloDetectClientTest
+++ b/QiaoJiaSystem/build/YoloDetectClientTest
Binary files differ
diff --git a/QiaoJiaSystem/build/YoloServer b/QiaoJiaSystem/build/YoloServer
index 43d76f7..156a647 100755
--- a/QiaoJiaSystem/build/YoloServer
+++ b/QiaoJiaSystem/build/YoloServer
Binary files differ
diff --git a/QiaoJiaSystem/build/config.json b/QiaoJiaSystem/build/config.json
index f009670..9f0e3e5 100755
--- a/QiaoJiaSystem/build/config.json
+++ b/QiaoJiaSystem/build/config.json
@@ -1,26 +1,26 @@
{
- "mainServerIp": "192.168.1.182",
- "mainServerPort": "3697",
- "logPath": "/home/basic/work/log/",
- "DEV_ID": "DSVAD010120181119",
- "ES_IP": "192.168.1.182",
- "ES_PORT": 9200,
- "FaceSeachSleepTime": 60,
- "TotalLoadSize": "500",
- "buildAddr": "/home/basic/Apps/QiaoJiaSystem/build/",
- "cutPath": "/home/basic/work/qiaojia/cut",
- "erlCookie": "",
- "erlFatherNode": "",
- "erlNode": "",
- "erlPath": "",
- "loadPath": "/home/basic/work/qiaojia/load",
- "localPasswd": "123456",
- "netIfName": "enp3s0",
- "srsAddr": "rtmp://192.168.1.122:1934/live/",
- "webPort": 11111,
- "redis_ip": "127.0.0.1",
- "redis_buf_len": 750,
- "encode_thread_num": 2,
- "FaceDetectionSampleSize": 720,
- "clusterID" : "sssss"
+ "DEV_ID" : "DSVAD010120181119",
+ "ES_IP" : "192.168.1.182",
+ "ES_PORT" : 9200,
+ "FaceDetectionSampleSize" : 720,
+ "FaceSeachSleepTime" : 60,
+ "TotalLoadSize" : "500",
+ "buildAddr" : "/home/basic/Apps/QiaoJiaSystem/build/",
+ "clusterID" : "sssss",
+ "cutPath" : "/home/basic/work/qiaojia/cut",
+ "encode_thread_num" : 2,
+ "erlCookie" : "",
+ "erlFatherNode" : "",
+ "erlNode" : "",
+ "erlPath" : "",
+ "loadPath" : "/home/basic/work/qiaojia/load",
+ "localPasswd" : "123456",
+ "logPath" : "/home/basic/work/log/",
+ "mainServerIp" : "192.168.1.182",
+ "mainServerPort" : "3697",
+ "netIfName" : "enp3s0",
+ "redis_buf_len" : 750,
+ "redis_ip" : "127.0.0.1",
+ "srsAddr" : "rtmp://192.168.1.122:1934/live/",
+ "webPort" : 11111
}
diff --git a/QiaoJiaSystem/build/killAll.sh b/QiaoJiaSystem/build/killAll.sh
old mode 100644
new mode 100755
diff --git a/QiaoJiaSystem/build/syncDBClient b/QiaoJiaSystem/build/syncDBClient
index 32115d0..01cc242 100755
--- a/QiaoJiaSystem/build/syncDBClient
+++ b/QiaoJiaSystem/build/syncDBClient
Binary files differ
diff --git a/syncDBTool/ErlangDbTool.cpp b/syncDBTool/ErlangDbTool.cpp
index fcd3a0b..b42a94b 100755
--- a/syncDBTool/ErlangDbTool.cpp
+++ b/syncDBTool/ErlangDbTool.cpp
@@ -1621,6 +1621,7 @@
"Select a.uuid as id ,a.faceUrl as img,a.feature,b.idCard as idcard,b.enabled,b.monitorLevel from '" +
str_tableUuid +
"_fea' as a ,'" + str_tableUuid + "' as b where a.uuid = b.uuid and ( a.del_flag=0 AND b.del_flag=0);");
+ //Select a.uuid as id ,a.faceUrl as img,a.feature,b.idCard as idcard,b.enabled,b.monitorLevel from '0cd82a8b-5285-5737-ab19-8c07247c797e_fea' as a ,'0cd82a8b-5285-5737-ab19-8c07247c797e' as b where a.uuid = b.uuid and ( a.del_flag=0 AND b.del_flag=0);
QSqlQuery query(g_syncDbFile);
query.prepare(sql);
if (!query.exec()) {
--
Gitblit v1.8.0