TSINGSEE青犀视频行人检测对接景区票务系统请求数据库优化时间长问题

TSINGSEE青犀视频开发的行人检测功能目前已经进入与票务系统结合测试的阶段,测试期间,票务系统数据库每次请求都需要3~4秒左右,分析人数会出现程序过慢的情况。

这样会导致程序还在分析而切换视频源已经跑完的情况,也有可能取相同的数据导致崩溃问题。要解决分析过慢的问题,首先要查看以下代码情况:

1、先搜索本地用于检测人数的数据库,再进行相邻的剔除。

2、使用循环来遍历本地人数检测的数据库。将开始时间和结束时间保存在临时的变量中,再使用该变量进行票务系统数据库查找(会导致程序出现3~4秒钟慢的情况)。

3、查找到票务数据库,进行人数检测。人数检测小于的情况,进行记录一个标志。此数组标记为需要替换的源。

4、最后还要查找历史票务系统的数据库(已开始时间和结束时间来查找,这样也会出现3~4秒慢的情况)。

注:此查找票务数据库需要链表查询,而且票务数据库的大小是几个G的数据,导致查找数据库慢也是正常的情况。

解决此问题,需要做到不要频繁地查找数据库。

我们想到的解决办法是用内存来解决时间慢的问题。将一天的数据库都查找到,保存在临时的内存中,以后在分析就不会再次查找票务数据库,只要读取刚才保存的临时内存用来取数据。这个方法简单说就是用内存来换时间。

所以以下代码,在循环前面加上读一天的票务数据库,下面循环只要处理数据就可以了,这样时间会快很多。

原文地址:https://www.cnblogs.com/TSINGSEE/p/15513532.html