使用postgresql HASH分区随笔
一、前言
在这个数据时代,对数据库的要求是越来越高了,百万级的数据毫秒响应,对于mysql来说有很多种的优化方案.但postgresql却用的比较自然
二、hash分区
首先要安装postgresql,安装教程可以百度.很简单.
在postgresql11之前是不支持hash分区的,支持list和range分区的方式,当然也可以巧妙的利用list实现hash分区的功能.
创建主表:
CREATE TABLE "public"."SysOperateLog" (
"id" varchar(64) NOT NULL,
"account" varchar(100) NOT NULL,
"operate" int2 NOT NULL,
...
虹软人脸识别sdk踩坑记录贴
一、虹软sdk过期问题
虹软虽然让我们免费试用sdk,但sdk下载下来只能在一年之内试用,超过一年则视为过期,要在虹软官网重新下载sdk和替换秘钥.虹软的这种措施,估计是为了后面收费做打算吧.但这种机制折腾起来真的很蛋疼.一个sdk包体积大约40M吧,如果需要批量替换,流量哪个遭得住哇.
目前想到一个思路,把系统的时间改了,让系统时间永远在有效时间内.这样就避免的了虹软sdk过期而不工作的问题.
二、虹软sdk2.0人脸检测问题
听说2.0在速度方面有很大的提升,于是乎就去下载下来进行尝试.发现2.0在人脸检测的速度上不仅很慢还容易错识别.之前在办公室摆了一盆儿花,不知不觉的被虹软识别了好几次人脸.妈耶,吓死我了.晚上就去求一个附身符.
经过测试在windows平台,CPU:...
在c/c++代码中执行bat文件
一、前言
最近在整公司IPC的更新功能,为了保证更新阶段的灵活性,思路为使用编写好的脚本进行更新,当更新失败的时候使用编写好的脚本进行回滚.感觉难度不是很大.但是在实现的过程中还是遇到了一个坑.
二、踩坑
当程序是以服务的方式运行的时候,我尝试过使用system、ShellExecute、ShellExecuteEx方式去执行写好的脚本,发现每次代码执行过后,脚本是没有被执行到的,但用vc调试的时候,发现是被执行了的.就感觉很奇怪了.貌似更windows的服务机制是有关的.具体的机制不太清楚,毕竟我只是一个javaer.抱着以解决问题为目的,在Stack Overflow上面找到了答案,使用创建进程的方式调用bat文件.下面开始贴代码了.
三、填坑
具体代码如下:
/***...
近半月项目总结
一、前言
这段时间公司里的任务要用到虹软的人脸识别,以及openCV获取onvif的视频流.由于没怎么接触过这两个东西.于是踩了不少的坑.特别是openCV的坑.太致命了,来不来就crash jvm,头大.
由于经常crash jvm 并没找到原因,退而求其次的方案是加上一个看门狗,当jvm crash 的时候,自动拉起程序.哈哈,是不是个小机灵鬼??但在windows上的这个看门狗,也让我踩了session隔离的坑.也头大.
二、挖坑与填坑
虹软的挖与填
坑: 虹软1.0的版本在做人脸识别的时候不能多线程并发识别.
填: 通过线程池,并且集成线程池对象,让每个线程都持有一个虹软的engine,达到多线程识别的目的
坑: 线程池使用forkjoin的方式,会出现...
分享一次jna内存泄露问题定位BUG的过程
一、前言
使用jna和jni都不可避免内存泄露的问题,一般内存泄露分两种,一种本地库本身有内存泄露问题,另一种JVM 内存中 native memory 的内存泄漏.
本地库本身有泄露这种定位起来比较麻烦,毕竟你也没有他的源码不是.native memory 内存泄露这个还比较好定位,首先保护好案发现场,保存好程序运行日志,heap dump 下来,然后就可以慢慢的来调查来,一般都可以石锤.
笔者这次出现问题,主要是因为换了个线程池导致的.为了加快虹软的对比速度,采用了多线程并发的方式进行对比,只要其中一个对比成功,其余任务全部取消.当时为了上线急忙忙的自己实现了,线程池采用的是ThreadPoolExecutor,并继承Thread对象,在该对象类引入虹软的人脸识别引擎,该方式...
用c造一个日志记录的轮子
一、前言
有现成的C库为什么要自己造轮子呢?我发现大家对造轮子情有独钟呀,所以我也来试一试,免得被C圈里面的人排挤.
二、上代码
头文件logger.h
#ifndef LOGGER_H_
#define LOGGER_H_
#include <Windows.h>
#include <tchar.h>
#include <stdio.h>
#if !defined(LOG_TAG)
#define LOG_TAG L"NO_TAG"
#endif
#include <stdarg.h>
#include <time.h>
#define __S...
windows用c创建进程
一、前言
在windows服务的设计理念中,服务就是应该在后面默默无闻的跑,不要搞什么GUI之类的,但是凡事都有但是的时候,因为有些业务程序需要像服务程序一样的运行方式,也需要拥有GUI界面.然后,后面就有个session 0 隔离了,具体我也不多讲了,我也不懂.具体的百度吧哈哈哈.
二、上代码
无GUI创建进程
PROCESS_INFORMATION pi; //子进程句柄
DWORD returnCode; //子进程返回码
STARTUPINFO si = { sizeof(STARTUPINFO) };
BOOL CreateProcessNoService(c...
用c写windows服务程序
一、前言
最近公司需要在windows平台上做一个服务程序,不幸的是这个任务落在我这个不怎么会c/c++的人身上了,于是拿起一本«C语言入门到精通»就开始干了.在编码期间发现win32 API 有不少的坑.在此记录一下.
二、上代码
安装服务,相当于在服务控制器中注册一个服务.
//判断是否已经安装过服务
BOOL IsInstalled() {
BOOL bResult = FALSE;
SC_HANDLE hScm = OpenSCManager(NULL, NULL, SC_MANAGER_CREATE_SERVICE);
if (hScm != NULL) {
SC_HANDLE hService = OpenService...
共计 67 篇文章,9 页。