图像检索服务器编写问题记录——回忆历次版本更改

版本 版本简述 放弃理由 1 多进程:一个任务对应一个连接,一个连接对应一个进程。 所有进程都需与特征库中所有特征计算相似度。 特征库应共享,但多进程进程间共享困难。 2 多线程:一个任务对应一个连接,一个连接...

2017-05-14 17:13:19

阅读数 297

评论数 0

图像检索服务器编写问题记录——关于任务队列的思考

任务队列底层容器的选择:          现在使用的是包装stl::queue后的自定义struct。std::queue可以使用deque(双端队列)作为底层容器(queue q);也可以使用list作为底层容器(queue > q)。          若底层容器使用list,每个节点...

2017-05-14 16:14:38

阅读数 380

评论数 0

图像检索服务器编写问题记录——服务端的任务队列线程分配的反思

这个图像检索服务器在服务端的工作:1.接收客户端发来的图片+2.计算图片特征向量,匹配特征库图像+3.发回topK的相似图片。 上版的做法:一个eopll主线程循环检测是否有连接进来==》检测到连接,装填读任务队列==》读任务调度线程循环检测是否有读任务==》检测到读任务,分派工作线程去...

2017-05-09 21:51:28

阅读数 361

评论数 0

图像检索服务器编写问题记录——用单例模式确保log类、server类只返回一个实例

2.22思考:作为持有读写日志文件的指针的log类以及持有任务队列的server类,他们应该做成单例模式。

2017-02-22 15:59:49

阅读数 367

评论数 0

图像检索服务器编写问题记录——TCP粘包了!!!

服务器端在选出匹配度高的图片后,将多个图片发送给客户端,结果客户端除了第一个图片正常外,其余都是乱码;运气好时,能有两个是正确的。打印客户端接收数据如下 136199 ��� ����l~,s8�[��:��<���zӓNjxn% �펿*% N��K��A�pGS�����[�`7�aC�...

2017-02-14 19:28:57

阅读数 645

评论数 0

图像检索服务器编写问题记录——特征库的存储问题

【1】SIFT特征没有自己编写,使用了opencv的SIFT特征提取、匹配函数。 【2】centos6.8装opencv3.0有问题,系统更换成了ubuntu14.04.4。opencv3已将sift库去掉,需要自己在git上下载编译,但是编译出来错误很多,诸多不顺,最终换成了老版本。openc...

2017-02-14 10:38:29

阅读数 451

评论数 0

图像检索服务器编写问题记录——MSER最大稳定极值区域检测

参考: http://blog.csdn.net/pirlck/article/details/52846550 http://blog.csdn.net/zhaocj/article/details/40742191 SIFT提取的特征具有旋转不变性(视角差异带来的物体内容...

2017-01-30 19:49:41

阅读数 904

评论数 0

图像检索服务器编写问题记录——SIFT尺度不变特征变换匹配算法学习

SIFT解决的问题及其思路 SIFT之前更加传统的匹配图像的方法是使用颜色、灰度等全局特征来描述整张图像,进而用这些全局特征去匹配图像。这样拍摄的光照、角度等因素对图像匹配的影响巨大。 解决的问题: 1.图像匹配时,两张相同图像,因为拍摄远近、模糊不同,导致匹配不出来。 2...

2016-12-29 13:35:10

阅读数 352

评论数 0

centos学习笔记--github初步使用部分

安装git【配置获取rsa-key,使本机上可以使用github】 0.github的使用,需要在添加本机地rsa-key。 1.生成rsa key:ssh-keygen -t rsa -b 4096 -C "XXXXX@yeah.net" 出现: Enter file...

2016-12-28 22:04:17

阅读数 704

评论数 0

图像检索服务器编写问题记录——添加线程池

出的问题,本机同时开两个客户端,发送数据给服务器,服务器只处理其中一个 后发现:是两个客户端都用了同个端口号。导致其中一个线程都空了所有数据,另一个就没有数据可读了。 简易线程池的实现: pool_init中初始化number个线程,这些线程全部调用pool_route函数,pool_ro...

2016-12-23 15:12:04

阅读数 249

评论数 0

图像检索服务器编写问题记录——加入信号安装后的问题

问题描述:在main中加入了捕捉【硬件错误引起的SIGBUS等信号】的代码,然后图片无法传输了。 解决问题步骤描述: 通过 数次的注释信号安装sigaction,发现问题是由该代码引起。用fprintf打印函数执行情况,发现卡在了loadimge,的log_DEBUG中,于是gdb打印线程栈 ...

2016-12-18 13:30:01

阅读数 260

评论数 0

图像检索服务器编写问题记录——线程中信号的处理方式思考

【信号的分类】: 1.SIGKILL、SIGSTOP这两个信号单独一类,这两个信号不能被捕捉、忽略和阻塞。表示杀死进程和暂停进程,它们为root提供了一种一定可以杀死或暂停进程的方法。 2.SIGBUS、SIGFPE、SIGSEGV这类由硬件引起的硬件故障、段错误、除0错误等信号只会发送给引起该...

2016-12-15 16:29:55

阅读数 285

评论数 0

图像检索服务器编写问题记录——服务器端模型再思考

1.32bit系统,4G寻址空间,按线程栈10M来算(ulimit -a 查看stack size 默认为8192KB,即8M),系统最多支持400个线程。按原先的做法,将accept的套接字的缓冲区交由epoll监听,epoll监听到有数据之后,开新线程来处理。 这样做有个两个大问题: ...

2016-12-14 10:34:43

阅读数 429

评论数 0

图像检索服务器编写问题记录——日志定时写回

上回写的日志系统,我发现在ctrl+\使服务器突然断开后,产生的日志并没有及时地写入到磁盘文件中,磁盘中的日志还是空白的,这样无法应对服务器异常崩溃地情况。 于是在LOG类中,添加了writeback的方法。 起先writeback中只是简单的调用fclose,然后在fopen日志文件,重定位到文...

2016-12-13 15:28:21

阅读数 361

评论数 0

图像检索服务器编写问题记录——拒绝可恶的编译器优化

今早将原先sever的纯c代码,改写成C++类,一运行,昨天好好的,改完之后就跑不起来了。于是查啊查,查了一早上,最终定位到LOG的MUTEX这边。 非常奇怪的是当我在MUTEX的构造,析构函数中加入fprintf打印输出时,serv运行正常,但当我将fprintf注释掉后,serv就卡在那儿,...

2016-12-12 12:20:30

阅读数 253

评论数 0

图像检索服务器编写问题记录——日志系统问题记录

线程安全的日志系统 主要利用的是c++对象生命周期来管理log,使得各个线程可以同步的在server_log文本文件中输出。 LOG log定义成所有线程共享的变量,log有一把mutex,提供互斥的写server_log文件。使用MUTEX类可以很好的避免重复释放mutex,...

2016-12-11 22:10:30

阅读数 250

评论数 0

图像检索服务器编写问题记录——epoll+多线程传输图片时的问题

上节在图片传输中,在主线程main中加入了epoll,结果和上上节的图片传输一结合,各种问题。 【问题】:将套接字设置成非阻塞,然后在epoll检测到sockfd有新数据时创建线程进行处理。然后问题来了,小图片第一次传输成功,第二次传输不成功;大图片一次传输都不成功;服务端图片size第一次打印...

2016-12-11 15:30:42

阅读数 403

评论数 0

图像检索服务器编写问题记录——服务器端模型选择+epoll和非阻塞IO

0.服务器端模型选择 大体思路是:在主线程中使用epoll承受高并发连接,在主线程中开辟工作线程用来处理就绪的描述符。嗯,这个原来有官名,叫反应者模式。事件驱动编程。另外工作线程处理的就绪的文件描述符最好是非阻塞的。

2016-12-09 22:24:44

阅读数 236

评论数 0

图像检索服务器编写问题记录——用socket传输图片

1.用readn代替read的原因 为避免频繁的调用read。read调用系统调用,系统调用需要在用户态和核心态转换,需要保存上下文,频繁调用read,会使系统性能下降,in指标上升。为避免频繁调用read,我们在用户空间创建用户缓冲区,将套接字的缓冲区的内容全部读入用户缓冲区后,一次性把用户...

2016-12-08 22:17:49

阅读数 338

评论数 0

centos学习笔记--gdb调试部分

======================================================================= GDB调试部分 =====================================================================...

2016-12-08 21:41:34

阅读数 1674

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭