派生自 development/c++

chenshijun
2019-03-27 e15c4888f720b8781260b901ac82d058f8f7c3b5
QiaoJiaSystem/FaceSearchServer/FaceDBCompareServer.cpp
@@ -54,10 +54,13 @@
//#todo map 1->2 modify 2->1
bool FaceDBCompareServer::compare(thread::id key, AlarmData *alarmData, int topN) {
    m_dbRWLocks_Lock.wrlock();
    if (m_dbRWLocks.find(key) == m_dbRWLocks.end()) {
        m_dbRWLocks[key] = RWLock();
    }
    RWLock &t_rwl = m_dbRWLocks[key];
    DBG("m_dbRWLocks ok");
    m_dbRWLocks_Lock.unlock();
//    ClockTimer clockTimer("compare ");
    RWLock t_rwLock;
@@ -116,7 +119,9 @@
    int maxSearchFaces = alarmData->num;
    t_rwl.wrlock();
    DBG("topResult[key] before");
    auto &t_topResult = topResult[key];
    DBG("topResult[key] ok");
    t_topResult.clear();
    for (auto &item : t_compareResults) {
        auto &it = item.second;
@@ -194,9 +199,9 @@
            //            同步库/特征是base64
//            #todo sqlite search data from file
            auto str_tab = t_json["\"tableName\""].asString();
            DBG("str_tab is  " << str_tab);
            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);
@@ -210,6 +215,7 @@
//                auto mymap = biMapFeaData.getMap();
                auto mymap = m_erlangDbTool->loadFaceFeaData(m_tableName);
                DBG(m_tableName << "  db size is  " << mymap.size());
                for (auto &item : mymap) {
                    auto &it = item.second;
                    string str2;
@@ -246,6 +252,7 @@
                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