现在有一个程序 处理收到的数据
这些数据 是不同设备发来的 只包括设备ID 和 数据
比如设备ID 分为 1000 数据为 100.23
每个设备我在ini文件中配置了响应的量 如 单位 名称 处理算法 等
现在程序是 收到一个数据包 就去ini文件里读取该设备的配置信息 以便处理 最后显示
我总觉得这样的方式 效率不好
一两个设备还好 可是设备多了呢
成百上千的设备分别传数据包过来
还要每个都读ini的话
效率不知道要低到哪里去了所以请问一下大家 这个问题是如何做的?
程序启动时把所有的设备配置信息都读出来 ?保存到变量中?
困惑~~
这些数据 是不同设备发来的 只包括设备ID 和 数据
比如设备ID 分为 1000 数据为 100.23
每个设备我在ini文件中配置了响应的量 如 单位 名称 处理算法 等
现在程序是 收到一个数据包 就去ini文件里读取该设备的配置信息 以便处理 最后显示
我总觉得这样的方式 效率不好
一两个设备还好 可是设备多了呢
成百上千的设备分别传数据包过来
还要每个都读ini的话
效率不知道要低到哪里去了所以请问一下大家 这个问题是如何做的?
程序启动时把所有的设备配置信息都读出来 ?保存到变量中?
困惑~~
结构体可以如下形式定义:typedef struct DevInfoNode{
char szDevId[10]; //设备号
char szDepartment[50]; //设备单位
char szName[20]; //名称
int nArithmetic; //算法
}DevInfoNode;将各个配置信息在程序初始化时读到结构体中,并保存到一个数组或者链表中去。
如果设备多的情况下要考虑查找设备时的效率问题。
std::map<int,struct>
还是xml吧。
它一次读入整个文件。然后在内存里生成一个树的结构。查找都是通过map表来的。效率很快。
map表1000万数据查找。实际查找次数都在十几次左右。
其实还是觉得数据库查找快。