flowchart TD %% 定义主要组件/类 GetonlineUserMap[GetonlineUserMap] FindNearestUser[FindNearestUser] offlinechangeduser[offlinechangeduser] MapUserClients[MapUserClients] %% 定义服务器组件 m_LockServers[m_LockServers] NHServer_LockUserClient[NHServer::LockUserClient] %% 定义处理组件 ONDataCasterThread["ONDataCasterThread\n(网络广播数据处理)"] CasterDataProcess[CasterDataProcess] LibeventServerLoop["LibeventServerLoop\n考虑NHServer单独运\n行的libevent循环"] %% 定义回调和队列 NHServer_ProcessRequestCallback["NHServer_ProcessRequestCallback\n处理链接请求队列"] Http_ReadCallback["tcp回调\n用户上行数据处理\nHttp_ReadCallback"] NHServer_requestque[(NHServer::requestque)] userUpdateQueue[(userupdateQueue)] %% 定义处理组件 ParseNtripBuffer[ParseNtripBuffer] ParseNtripLoginBuffer[ParseNtripLoginBuffer] %% 定义数据组件 m_MapGridUser[m_MapGridUser] GridData["整理网点,找到对应\nGridData\n更新user-griddata的映射"] NtripUserLoginDeal[NtripUserLoginDeal] NtripUserLogin[NtripUserLogin] m_ListRegUserInfo[m_ListRegUserInfo] %% 定义数据处理组件 DataProc["DataProc\n(干扰redis信息读取\n处理)"] ProcessUserInfoChange[ProcessUserInfoChange] %% 定义连接关系 GetonlineUserMap --> m_LockServers FindNearestUser --> m_LockServers m_LockServers --> LibeventServerLoop offlinechangeduser --> NHServer_LockUserClient MapUserClients --> NHServer_LockUserClient ONDataCasterThread -- Use --> CasterDataProcess LibeventServerLoop --> NHServer_ProcessRequestCallback LibeventServerLoop --> Http_ReadCallback NHServer_ProcessRequestCallback -- Use --> NHServer_requestque Http_ReadCallback -- "处理data" --> ParseNtripBuffer Http_ReadCallback -- "登录" --> ParseNtripLoginBuffer ParseNtripBuffer --> GridData GridData --> m_MapGridUser ParseNtripLoginBuffer --> NtripUserLoginDeal NtripUserLoginDeal -- Use --> m_ListRegUserInfo NtripUserLoginDeal --> NtripUserLogin DataProc --> ProcessUserInfoChange ProcessUserInfoChange -- Use --> userUpdateQueue