CN112035537A - 一种快速统计多传感器监测移动物体行为的方法 - Google Patents
一种快速统计多传感器监测移动物体行为的方法 Download PDFInfo
- Publication number
- CN112035537A CN112035537A CN202010661062.2A CN202010661062A CN112035537A CN 112035537 A CN112035537 A CN 112035537A CN 202010661062 A CN202010661062 A CN 202010661062A CN 112035537 A CN112035537 A CN 112035537A
- Authority
- CN
- China
- Prior art keywords
- time
- people
- data
- sensor
- store
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2462—Approximate or statistical queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Data Mining & Analysis (AREA)
- Fuzzy Systems (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种快速统计多传感器监测移动物体行为的方法,包括如下步骤:1)业务流程;2)技术架构;3)技术方案。本发明属于线下移动物体行为数据统计装置技术领域,具体是一种快速统计多传感器监测移动物体行为的方法,采集多个传感器设备收集到的物体唯一标识和收集时间进行统计分析停留时长、出入频次,逻辑定义了一套占用内存小,快速检索的数据存储格式,设计了一套从逻辑定义映射传感器方法,简单实现分布式计算,采用redis插件用c语言实现了基于redis在内存进行统计。
Description
技术领域
本发明属于线下移动物体行为数据统计装置技术领域,具体是指一种快速统计多传感器监测移动物体行为的方法。
背景技术
目前现有方案主要是着重分析页面之间跳转的关系,对于停留时长的统计涉及很少;缺少在服务端对停留时长灵活统计,有个别方案提供停留时长统计主要是基于客户端计时器统计,统计方法如下:当客户进入页面时启动计时器进行计时,一直到客户跳转到其它页面,这种有个弊端是当客户关闭浏览器时这个停留时长无法及时上报到服务器;缺少对线下行为统计,现有方案大部分基于线上网页或者应用内添加代码收集数据统计,没有针对多传感器收集线下实际物体移动进行停留时长以及相关指标统计。
发明内容
针对上述情况,为克服现有技术的缺陷,本发明提供一种快速统计多传感器监测移动物体行为的方法,采集多个传感器设备收集到的物体唯一标识和收集时间进行统计分析停留时长、出入频次,逻辑定义了一套占用内存小,快速检索的数据存储格式,设计了一套从逻辑定义映射传感器方法,简单实现分布式计算,采用redis插件用c语言实现了基于redis在内存进行统计。
本发明采取的技术方案如下:本发明一种快速统计多传感器监测移动物体行为的方法,包括如下步骤:
一、业务流程
a、在展会现场部署多个传感器对物体或者人员进行数据收集;
b、管理员会在***绑定传感器->监测点->监测区域->门店/活动;
c、从传感器内提取数据传到***中;
d、***将收集到的数据按指定格式写入redis中;
e、用户在***中设定停留时长相关阈值;
f、当用户查看图表时,通过接口结合相关阈值到redis里统计停留时长、出入频次等;
二、技术架构
a、报表展示:主要是基于SpringMvc框架开发,用户可以设置阈值、查看报表;
b、数据接收:主要是收集到传感器上报的数据之后,对数据进行校验完整性和合法性,解析为可读格式;
c、数据存储:把数据接收解析完成的可读数据按照数据统计的格式进行存储到Redis;
d、数据统计:用户在查看报表时通过界面调用在自主开发Redis插件指令来读取存储数据进行计算;
三、技术方案
a、实体关系;
b、存储格式;
c、中层计算逻辑;
d、底层计算逻辑。
进一步地,步骤1)所述的传感器是定时扫描收集数据,例如每30秒扫描一次,而物体发出信号也是间歇的,例如40秒一次,因此对于单个传感器上某个物体的数据是不连续的,服务器需要把同一时间某个范围(门店/区域)所有传感器针对某个物体的数据进行综合绘制出该物体的时间线;把某个物体的所有时间点排列好后,决定两个点之间是否连成线在于用户从界面设定的中断时长;传感器收集的数据一般是“传感器ID,物体ID,收集时间”;而本发明是以监测点ID为最小粒度进行统计,因此存在监测点ID在不同时间对应不同传感器ID的情况,例如传感器坏了,需要更换,这时需要保持数据的连续性。
进一步地,步骤3)所述的实体关系为一个厂商有多个门店/活动,每个门店下有多家监测区域,每家监测区域下有多个监测点,每个监测点对应一个传感器,每个传感器收集到多个物体ID。
进一步地,步骤3)所述的存储格式包括二进制类型和集合类型,所述二进制类型为某个物体ID在某个传感器某日出现分钟;Key:传感器ID(3B)+物体ID(6B)+年*1000+日偏移(2B);Value:某日0-1439分钟(1440比特);0表示该分钟物体ID无数据,1表示该分钟物体ID有数据;所述集合类型为传感器某日收集到的所有物体ID集合;Key:p+传感器ID(3字节)+年*1000+日偏移(2B);成员:二进制的物体ID(6B)集合。
进一步地,步骤3)所述的中层计算逻辑为首先根据查询条件判断统计的级别是哪个级别,根据各级别分别提取对应的监测点,监测点是中层计算的最小单元;查询用户设定的门店/活动的营业时间(例如周一到周五)/活动时间 (例如4月18日-4月25日),每日营业时间(9:00-17:00);查询用户设定中断时长,用于判断人次,停留时长;查询用户设定的进店/关注时长、深访时长;用于计算进店/关注停留时间、深访停留时间;判断时间粒度:全部、月、周、天、小时,把查询时间范围拆成小段;根据时间段查询每个监测点对应的传感器ID集合;把每个传感器ID集合进行合并调用底层计算逻辑进行统计;把统计结果进行汇总输出到界面上的图表中。
进一步地,步骤3)所述的底层计算逻辑为运行在Redis插件中,对外提供自定义Redis命令,直接操作Redis数据,不需要通过网络传输,速度比较快,采用C语言编写可以直接对数据进行位运算,指针操作,避免占用内存空间。
进一步地,所述底层计算逻辑包括二进制或运算、拆分时间线、合并多个传感器的分钟数据和统计一个物体ID某一天内人次,人数,进店/关注人次数,进店/关注人数,深访人次数,总停留时间;所述二进制或运算的功能为实现函数能够传入的两个二进制字符串进行或运算;参数为字符串a的指针,字符串a的长度,字符串b的指针,字符串b的长度;返回值为或运算结果字符串数组c的指针,长度;流程为比较两个字符串长度,取最短的字符串的每一比特和另外一个字符串的每一比特进行或运算,0|1=1、1|1=1、1|0=1、 0|0=0;所述拆分时间线的功能为根据指定中断时长阈值,把一个由时间点组成的时间线拆成多个时间段;参数为时间线字符串timeline的指针,时间线字符串timeline的长度,中断时长;返回值为时间段数组,格式为开始时间 1,结束时间1,开始时间2,结束时间2…开始时间n,结束时间n,例如 [100,102,106,106]表示第100分钟-第102分钟,第106分钟-第106分钟;所述时间线的最小粒度是分钟,时间线表示1天,字符串长度固定为1440 比特,即1天=1440分钟,截取时间线字符串timeline,避免超过1440比特造成越界,循环每一比特,遇到1就记录下开始时间,结束时间会一直往后移动,碰到0就开始计算和上一个1的距离是否超过中断时长,若是没有超过则继续移动结束时间,直到1440或者超过中断时长;所述合并多个传感器的分钟数据的功能为把同一个物体ID的多个传感器分钟数据进行合并,因为每个传感器收集到的数据只是一部分,需要把所有相关的数据进行合并;参数为传感器ID数组,物体ID,年份,日偏移量;返回值为返回合并后的分钟字符串指针和长度;所述统计一个物体ID某一天内人次,人数,进店/关注人次数,进店/关注人数,深访人次数,总停留时间的功能为统计一个物体ID在某一天多个传感器收集的数据里人次,人数,进店/关注人次数,进店/关注人数,深访人次数,总停留时间;输入参数为传感器ID数组,物体ID,年,日偏移,中断时长,人流停留时间,进店/关注停留时间,深访停留时间;输出参数为人次,人数,进店/关注人次数,进店/关注人数,深访人次数,总停留时间;无返回值;流程里的结果是通过输出参数返回的,传入的输出参数是上一个物体ID的统计结果,本流程是把本次统计结果附加到上一个物体的统计结果之上,从而达到对多个物体ID进行统计的目的,人次和人数的区别在于是否去重,人次的产生是由中断时长导致的,中断时长越短人次就越多,而人数是有符合条件的人次大于0的多个物体ID去重后的结果,当中断时长设定为1天时,人次和人数就相等。
进一步地,所述停留时长是指一个对象从进入一个区域到离开该区域之间的时间差,所述移动物体在本发明里是指移动设备、人、动物等之类能够被传感器监测到的对象,所述物体唯一标识是指可以收集的数据里用以区分某一类物体之间的标识,例如人的指纹、虹膜、体重、身高,手机的网卡地址、蓝牙、sim卡等;所述Redis(Remote DictionaryServer),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API;所述监测点是一个逻辑概念,是指放在某个位置的传感器,一般一个监测点对应一个传感器,但是若是传感器损坏的话可以更换传感器,这时需要在本发明中绑定监测点ID对应传感器ID;所述中断时长是本发明中一个阈值,若是某物体ID在一段(超过阈值)时间内一直无数据则判断曾经离开过,例如设定中断时长为5分钟,则表示某个物体ID在9点59分时有数据,10点0分开始没有数据,到10点 5分都没有数据则认为改物体ID曾经离开过;所述比特(BIT,Binary digit),计算机专业术语,是信息量单位,是由英文BIT音译而来,同时也是二进制数字中的位,信息量的度量单位,为信息量的最小单位,在需要作出不同选择的情况下把备选的刺激数量减少半所必需的信息,即信号的信息量(比特数)等于信号刺激量以2为底数的对数值,L.哈特莱1928年认为对信息量选用对数单位进行度量最合适;所述Value是Redis里存储的数据值,所述 Key是Redis里的数据的唯一名称,用于查找数据值;所述进店/关注时长是本发明中一个阈值,若是某物体ID在一段(超过阈值)时间内一直有数据则判断近店/关注,若是某物体ID在门店/活动范围内并且在营业时间内没有离开过并且持续时间超过阈值;所述人流量是门店/活动内所有传感器收集到的所有物体ID次数(每离开算一次);所述人数是人流量去重后的数量;所述首次进店/关注是时间段内进店/关注物体中第一次进店/关注人数;所述多次进店/ 关注是时间段内进店/关注物体中第2次及2次以上进店/关注人数;所述Tomcat服务器是一个免费的开放源代码的WEB应用服务器,属于轻量级应用服务器,在中小型***和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选;所述Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring WEB Flow里面,Spring框架提供了构建WEB应用程序的全功能MVC模块,使用Spring可***的MVC架构,从而在使用Spring 进行WEB开发时,可以选择使用Spring的Spring MVC框架或集成其他MVC开发框架,如Struts1(现在一般不用),Struts 2(一般老项目使用)等。
采用上述结构本发明取得的有益效果如下:本方案一种快速统计多传感器监测移动物体行为的方法,采集多个传感器设备收集到的物体唯一标识和收集时间进行统计分析停留时长、出入频次,逻辑定义了一套占用内存小,快速检索的数据存储格式,设计了一套从逻辑定义映射传感器方法,简单实现分布式计算,采用redis插件用c语言实现了基于redis在内存进行统计。
具体实施方式
下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例;基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明一种快速统计多传感器监测移动物体行为的方法,包括如下步骤:
一、业务流程
g、在展会现场部署多个传感器对物体或者人员进行数据收集;
h、管理员会在***绑定传感器->监测点->监测区域->门店/活动;
i、从传感器内提取数据传到***中;
j、***将收集到的数据按指定格式写入redis中;
k、用户在***中设定停留时长相关阈值;
l、当用户查看图表时,通过接口结合相关阈值到redis里统计停留时长、出入频次等;
二、技术架构
a、报表展示:主要是基于SpringMvc框架开发,用户可以设置阈值、查看报表;
b、数据接收:主要是收集到传感器上报的数据之后,对数据进行校验完整性和合法性,解析为可读格式;
c、数据存储:把数据接收解析完成的可读数据按照数据统计的格式进行存储到Redis;
d、数据统计:用户在查看报表时通过界面调用在自主开发Redis插件指令来读取存储数据进行计算;
三、技术方案
a、实体关系;
b、存储格式;
c、中层计算逻辑;
d、底层计算逻辑。
步骤1)所述的传感器是定时扫描收集数据,例如每30秒扫描一次,而物体发出信号也是间歇的,例如40秒一次,因此对于单个传感器上某个物体的数据是不连续的,服务器需要把同一时间某个范围(门店/区域)所有传感器针对某个物体的数据进行综合绘制出该物体的时间线;把某个物体的所有时间点排列好后,决定两个点之间是否连成线在于用户从界面设定的中断时长;传感器收集的数据一般是“传感器ID,物体ID,收集时间”;而本发明是以监测点 ID为最小粒度进行统计,因此存在监测点ID在不同时间对应不同传感器ID的情况,例如传感器坏了,需要更换,这时需要保持数据的连续性。
步骤3)所述的实体关系为一个厂商有多个门店/活动,每个门店下有多家监测区域,每家监测区域下有多个监测点,每个监测点对应一个传感器,每个传感器收集到多个物体ID。
步骤3)所述的存储格式包括二进制类型和集合类型,所述二进制类型为某个物体ID在某个传感器某日出现分钟;Key:传感器ID(3B)+物体ID(6B)+ 年*1000+日偏移(2B);Value:某日0-1439分钟(1440比特);0表示该分钟物体ID无数据,1表示该分钟物体ID有数据;所述集合类型为传感器某日收集到的所有物体ID集合;Key:p+传感器ID(3字节)+年*1000+日偏移(2B);成员:二进制的物体ID(6B)集合。
步骤3)所述的中层计算逻辑为首先根据查询条件判断统计的级别是哪个级别,根据各级别分别提取对应的监测点,监测点是中层计算的最小单元;查询用户设定的门店/活动的营业时间(例如周一到周五)/活动时间(例如4月 18日-4月25日),每日营业时间(9:00-17:00);查询用户设定中断时长,用于判断人次,停留时长;查询用户设定的进店/关注时长、深访时长;用于计算进店/关注停留时间、深访停留时间;判断时间粒度:全部、月、周、天、小时,把查询时间范围拆成小段;根据时间段查询每个监测点对应的传感器 ID集合;把每个传感器ID集合进行合并调用底层计算逻辑进行统计;把统计结果进行汇总输出到界面上的图表中。
步骤3)所述的底层计算逻辑为运行在Redis插件中,对外提供自定义 Redis命令,直接操作Redis数据,不需要通过网络传输,速度比较快,采用 C语言编写可以直接对数据进行位运算,指针操作,避免占用内存空间。
所述底层计算逻辑包括二进制或运算、拆分时间线、合并多个传感器的分钟数据和统计一个物体ID某一天内人次,人数,进店/关注人次数,进店/关注人数,深访人次数,总停留时间;所述二进制或运算的功能为实现函数能够传入的两个二进制字符串进行或运算;参数为字符串a的指针,字符串a的长度,字符串b的指针,字符串b的长度;返回值为或运算结果字符串数组c的指针,长度;流程为比较两个字符串长度,取最短的字符串的每一比特和另外一个字符串的每一比特进行或运算,0|1=1、1|1=1、1|0=1、0|0=0;所述拆分时间线的功能为根据指定中断时长阈值,把一个由时间点组成的时间线拆成多个时间段;参数为时间线字符串timeline的指针,时间线字符串timeline的长度,中断时长;返回值为时间段数组,格式为开始时间1,结束时间1,开始时间2,结束时间2…开始时间n,结束时间n,例如[100,102,106,106] 表示第100分钟-第102分钟,第106分钟-第106分钟;所述时间线的最小粒度是分钟,时间线表示1天,字符串长度固定为1440比特,即1天=1440分钟,截取时间线字符串timeline,避免超过1440比特造成越界,循环每一比特,遇到1就记录下开始时间,结束时间会一直往后移动,碰到0就开始计算和上一个1的距离是否超过中断时长,若是没有超过则继续移动结束时间,直到1440或者超过中断时长;所述合并多个传感器的分钟数据的功能为把同一个物体ID的多个传感器分钟数据进行合并,因为每个传感器收集到的数据只是一部分,需要把所有相关的数据进行合并;参数为传感器ID数组,物体 ID,年份,日偏移量;返回值为返回合并后的分钟字符串指针和长度;所述统计一个物体ID某一天内人次,人数,进店/关注人次数,进店/关注人数,深访人次数,总停留时间的功能为统计一个物体ID在某一天多个传感器收集的数据里人次,人数,进店/关注人次数,进店/关注人数,深访人次数,总停留时间;输入参数为传感器ID数组,物体ID,年,日偏移,中断时长,人流停留时间,进店/关注停留时间,深访停留时间;输出参数为人次,人数,进店/ 关注人次数,进店/关注人数,深访人次数,总停留时间;无返回值;流程里的结果是通过输出参数返回的,传入的输出参数是上一个物体ID的统计结果,本流程是把本次统计结果附加到上一个物体的统计结果之上,从而达到对多个物体ID进行统计的目的,人次和人数的区别在于是否去重,人次的产生是由中断时长导致的,中断时长越短人次就越多,而人数是有符合条件的人次大于0的多个物体ID去重后的结果,当中断时长设定为1天时,人次和人数就相等。
所述停留时长是指一个对象从进入一个区域到离开该区域之间的时间差,所述移动物体在本发明里是指移动设备、人、动物等之类能够被传感器监测到的对象,所述物体唯一标识是指可以收集的数据里用以区分某一类物体之间的标识,例如人的指纹、虹膜、体重、身高,手机的网卡地址、蓝牙、sim卡等;所述Redis(Remote Dictionary Server),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、 Key-Value数据库,并提供多种语言的API;所述监测点是一个逻辑概念,是指放在某个位置的传感器,一般一个监测点对应一个传感器,但是若是传感器损坏的话可以更换传感器,这时需要在本发明中绑定监测点ID对应传感器 ID;所述中断时长是本发明中一个阈值,若是某物体ID在一段(超过阈值) 时间内一直无数据则判断曾经离开过,例如设定中断时长为5分钟,则表示某个物体ID在9点59分时有数据,10点0分开始没有数据,到10点5分都没有数据则认为改物体ID曾经离开过;所述比特(BIT,Binary digit),计算机专业术语,是信息量单位,是由英文BIT音译而来,同时也是二进制数字中的位,信息量的度量单位,为信息量的最小单位,在需要作出不同选择的情况下把备选的刺激数量减少半所必需的信息,即信号的信息量(比特数)等于信号刺激量以2为底数的对数值,L.哈特莱1928年认为对信息量选用对数单位进行度量最合适;所述Value是Redis里存储的数据值,所述Key是Redis里的数据的唯一名称,用于查找数据值;所述进店/关注时长是本发明中一个阈值,若是某物体ID在一段(超过阈值)时间内一直有数据则判断近店/关注,若是某物体ID在门店/活动范围内并且在营业时间内没有离开过并且持续时间超过阈值;所述人流量是门店/活动内所有传感器收集到的所有物体ID次数(每离开算一次);所述人数是人流量去重后的数量;所述首次进店/关注是时间段内进店/关注物体中第一次进店/关注人数;所述多次进店/关注是时间段内进店/关注物体中第2次及2次以上进店/关注人数;所述Tomcat服务器是一个免费的开放源代码的WEB应用服务器,属于轻量级应用服务器,在中小型***和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选;所述Spring MVC属于SpringFrameWork的后续产品,已经融合在 Spring WEB Flow里面,Spring框架提供了构建WEB应用程序的全功能MVC 模块,使用Spring可***的MVC架构,从而在使用Spring进行WEB开发时,可以选择使用Spring的Spring MVC框架或集成其他MVC开发框架,如 Struts1(现在一般不用),Struts 2(一般老项目使用)等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
以上对本发明及其实施方式进行了描述,这种描述没有限制性,只是本发明的实施方式之一,实际的结构并不局限于此。总而言之如果本领域的普通技术人员受其启示,在不脱离本发明创造宗旨的情况下,不经创造性的设计出与该技术方案相似的结构方式及实施例,均应属于本发明的保护范围。
Claims (8)
1.一种快速统计多传感器监测移动物体行为的方法,其特征在于,包括如下步骤:
一、业务流程
a、在展会现场部署多个传感器对物体或者人员进行数据收集;
b、管理员会在***绑定传感器->监测点->监测区域->门店/活动;
c、从传感器内提取数据传到***中;
d、***将收集到的数据按指定格式写入redis中;
e、用户在***中设定停留时长相关阈值;
当用户查看图表时,通过接口结合相关阈值到redis里统计停留时长、出入频次等;
二、技术架构
a、报表展示:主要是基于SpringMvc框架开发,用户可以设置阈值、查看报表;
b、数据接收:主要是收集到传感器上报的数据之后,对数据进行校验完整性和合法性,解析为可读格式;
c、数据存储:把数据接收解析完成的可读数据按照数据统计的格式进行存储到Redis;
d、数据统计:用户在查看报表时通过界面调用在自主开发Redis插件指令来读取存储数据进行计算;
三、技术方案
a、实体关系;
b、存储格式;
c、中层计算逻辑;
d、底层计算逻辑。
2.根据权利要求1所述的一种快速统计多传感器监测移动物体行为的方法,其特征在于:步骤1)所述的传感器是定时扫描收集数据,例如每30秒扫描一次,而物体发出信号也是间歇的,例如40秒一次,因此对于单个传感器上某个物体的数据是不连续的,服务器需要把同一时间某个范围所有传感器针对某个物体的数据进行综合绘制出该物体的时间线;把某个物体的所有时间点排列好后,决定两个点之间是否连成线在于用户从界面设定的中断时长;传感器收集的数据一般是“传感器ID,物体ID,收集时间”;而本发明是以监测点ID为最小粒度进行统计,因此存在监测点ID在不同时间对应不同传感器ID的情况,例如传感器坏了,需要更换,这时需要保持数据的连续性。
3.根据权利要求2所述的一种快速统计多传感器监测移动物体行为的方法,其特征在于:步骤3)所述的实体关系为一个厂商有多个门店/活动,每个门店下有多家监测区域,每家监测区域下有多个监测点,每个监测点对应一个传感器,每个传感器收集到多个物体ID。
4.根据权利要求3所述的一种快速统计多传感器监测移动物体行为的方法,其特征在于:步骤3)所述的存储格式包括二进制类型和集合类型,所述二进制类型为某个物体ID在某个传感器某日出现分钟;Key:传感器ID+物体ID+年*1000+日偏移;Value:某日0-1439分钟;0表示该分钟物体ID无数据,1表示该分钟物体ID有数据;所述集合类型为传感器某日收集到的所有物体ID集合;Key:p+传感器ID+年*1000+日偏移;成员:二进制的物体ID集合。
5.根据权利要求4所述的一种快速统计多传感器监测移动物体行为的方法,其特征在于:步骤3)所述的中层计算逻辑为首先根据查询条件判断统计的级别是哪个级别,根据各级别分别提取对应的监测点,监测点是中层计算的最小单元;查询用户设定的门店/活动的营业时间/活动时间,每日营业时间;查询用户设定中断时长,用于判断人次,停留时长;查询用户设定的进店/关注时长、深访时长;用于计算进店/关注停留时间、深访停留时间;判断时间粒度:全部、月、周、天、小时,把查询时间范围拆成小段;根据时间段查询每个监测点对应的传感器ID集合;把每个传感器ID集合进行合并调用底层计算逻辑进行统计;把统计结果进行汇总输出到界面上的图表中。
6.根据权利要求5所述的一种快速统计多传感器监测移动物体行为的方法,其特征在于:步骤3)所述的底层计算逻辑为运行在Redis插件中,对外提供自定义Redis命令,直接操作Redis数据,不需要通过网络传输,速度比较快,采用C语言编写可以直接对数据进行位运算,指针操作,避免占用内存空间。
7.根据权利要求6所述的一种快速统计多传感器监测移动物体行为的方法,其特征在于:所述底层计算逻辑包括二进制或运算、拆分时间线、合并多个传感器的分钟数据和统计一个物体ID某一天内人次,人数,进店/关注人次数,进店/关注人数,深访人次数,总停留时间;所述二进制或运算的功能为实现函数能够传入的两个二进制字符串进行或运算;参数为字符串a的指针,字符串a的长度,字符串b的指针,字符串b的长度;返回值为或运算结果字符串数组c的指针,长度;流程为比较两个字符串长度,取最短的字符串的每一比特和另外一个字符串的每一比特进行或运算,0|1=1、1|1=1、1|0=1、0|0=0;所述拆分时间线的功能为根据指定中断时长阈值,把一个由时间点组成的时间线拆成多个时间段;参数为时间线字符串timeline的指针,时间线字符串timeline的长度,中断时长;返回值为时间段数组,格式为开始时间1,结束时间1,开始时间2,结束时间2…开始时间n,结束时间n,例如[100,102,106,106]表示第100分钟-第102分钟,第106分钟-第106分钟;所述时间线的最小粒度是分钟,时间线表示1天,字符串长度固定为1440比特,即1天=1440分钟,截取时间线字符串timeline,避免超过1440比特造成越界,循环每一比特,遇到1就记录下开始时间,结束时间会一直往后移动,碰到0就开始计算和上一个1的距离是否超过中断时长,若是没有超过则继续移动结束时间,直到1440或者超过中断时长;所述合并多个传感器的分钟数据的功能为把同一个物体ID的多个传感器分钟数据进行合并,因为每个传感器收集到的数据只是一部分,需要把所有相关的数据进行合并;参数为传感器ID数组,物体ID,年份,日偏移量;返回值为返回合并后的分钟字符串指针和长度;所述统计一个物体ID某一天内人次,人数,进店/关注人次数,进店/关注人数,深访人次数,总停留时间的功能为统计一个物体ID在某一天多个传感器收集的数据里人次,人数,进店/关注人次数,进店/关注人数,深访人次数,总停留时间;输入参数为传感器ID数组,物体ID,年,日偏移,中断时长,人流停留时间,进店/关注停留时间,深访停留时间;输出参数为人次,人数,进店/关注人次数,进店/关注人数,深访人次数,总停留时间;无返回值;流程里的结果是通过输出参数返回的,传入的输出参数是上一个物体ID的统计结果,本流程是把本次统计结果附加到上一个物体的统计结果之上,从而达到对多个物体ID进行统计的目的,人次和人数的区别在于是否去重,人次的产生是由中断时长导致的,中断时长越短人次就越多,而人数是有符合条件的人次大于0的多个物体ID去重后的结果,当中断时长设定为1天时,人次和人数就相等。
8.根据权利要求7所述的一种快速统计多传感器监测移动物体行为的方法,其特征在于:所述停留时长是指一个对象从进入一个区域到离开该区域之间的时间差,所述移动物体在本发明里是指移动设备、人、动物等之类能够被传感器监测到的对象,所述物体唯一标识是指可以收集的数据里用以区分某一类物体之间的标识,例如人的指纹、虹膜、体重、身高,手机的网卡地址、蓝牙、sim卡等;所述Redis,即远程字典服务,是一个开源的使用C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API;所述监测点是一个逻辑概念,是指放在某个位置的传感器,一般一个监测点对应一个传感器,但是若是传感器损坏的话可以更换传感器,这时需要在本发明中绑定监测点ID对应传感器ID;所述中断时长是本发明中一个阈值,若是某物体ID在一段时间内一直无数据则判断曾经离开过,例如设定中断时长为5分钟,则表示某个物体ID在9点59分时有数据,10点0分开始没有数据,到10点5分都没有数据则认为改物体ID曾经离开过;所述比特,计算机专业术语,是信息量单位,是由英文BIT音译而来,同时也是二进制数字中的位,信息量的度量单位,为信息量的最小单位,在需要作出不同选择的情况下把备选的刺激数量减少半所必需的信息,即信号的信息量等于信号刺激量以2为底数的对数值,L.哈特莱1928年认为对信息量选用对数单位进行度量最合适;所述Value是Redis里存储的数据值,所述Key是Redis里的数据的唯一名称,用于查找数据值;所述进店/关注时长是本发明中一个阈值,若是某物体ID在一段时间内一直有数据则判断近店/关注,若是某物体ID在门店/活动范围内并且在营业时间内没有离开过并且持续时间超过阈值;所述人流量是门店/活动内所有传感器收集到的所有物体ID次数;所述人数是人流量去重后的数量;所述首次进店/关注是时间段内进店/关注物体中第一次进店/关注人数;所述多次进店/关注是时间段内进店/关注物体中第2次及2次以上进店/关注人数;所述Tomcat服务器是一个免费的开放源代码的WEB应用服务器,属于轻量级应用服务器,在中小型***和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选;所述Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring WEB Flow里面,Spring框架提供了构建应用程序的全功能MVC模块,使用Spring可***的MVC架构,从而在使用Spring进行WEB开发时,可以选择使用Spring的Spring MVC框架或集成其他MVC开发框架。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010661062.2A CN112035537B (zh) | 2020-07-10 | 2020-07-10 | 一种快速统计多传感器监测移动物体行为的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010661062.2A CN112035537B (zh) | 2020-07-10 | 2020-07-10 | 一种快速统计多传感器监测移动物体行为的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112035537A true CN112035537A (zh) | 2020-12-04 |
CN112035537B CN112035537B (zh) | 2023-10-20 |
Family
ID=73579012
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010661062.2A Active CN112035537B (zh) | 2020-07-10 | 2020-07-10 | 一种快速统计多传感器监测移动物体行为的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112035537B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101051334A (zh) * | 2006-04-06 | 2007-10-10 | 香港理工大学 | 结构健康监测和信息管理***及其方法 |
CN104123388A (zh) * | 2014-08-07 | 2014-10-29 | 武汉大学 | 一种面向海量传感网数据的高并发实时接入***及方法 |
US20160267157A1 (en) * | 2015-03-10 | 2016-09-15 | The Boeing Company | System and method for large scale data processing of source data |
CN107967135A (zh) * | 2017-10-31 | 2018-04-27 | 平安科技(深圳)有限公司 | 计算引擎实现方法、电子装置及存储介质 |
CN109144014A (zh) * | 2018-10-10 | 2019-01-04 | 北京交通大学 | 工业设备运行状况的检测***及方法 |
CN109862106A (zh) * | 2019-03-04 | 2019-06-07 | 知轮(杭州)科技有限公司 | 在线监测数据的处理方法和*** |
CN110942200A (zh) * | 2019-11-28 | 2020-03-31 | 好买气电子商务有限公司 | 一种基于物联区块链技术的lng能源管理的方法 |
-
2020
- 2020-07-10 CN CN202010661062.2A patent/CN112035537B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101051334A (zh) * | 2006-04-06 | 2007-10-10 | 香港理工大学 | 结构健康监测和信息管理***及其方法 |
CN104123388A (zh) * | 2014-08-07 | 2014-10-29 | 武汉大学 | 一种面向海量传感网数据的高并发实时接入***及方法 |
US20160267157A1 (en) * | 2015-03-10 | 2016-09-15 | The Boeing Company | System and method for large scale data processing of source data |
CN107967135A (zh) * | 2017-10-31 | 2018-04-27 | 平安科技(深圳)有限公司 | 计算引擎实现方法、电子装置及存储介质 |
CN109144014A (zh) * | 2018-10-10 | 2019-01-04 | 北京交通大学 | 工业设备运行状况的检测***及方法 |
CN109862106A (zh) * | 2019-03-04 | 2019-06-07 | 知轮(杭州)科技有限公司 | 在线监测数据的处理方法和*** |
CN110942200A (zh) * | 2019-11-28 | 2020-03-31 | 好买气电子商务有限公司 | 一种基于物联区块链技术的lng能源管理的方法 |
Non-Patent Citations (3)
Title |
---|
向彬彬;马明星;童茂林;彭瑾;苏文秀;高秀敏;: "基于微服务架构的分布式测距***的研究与设计", 计算机应用与软件, no. 05 * |
柏彬;陈勇;杜长青;茅鑫同;韩超;李东鑫;黄云天;郑兴;王磊磊;: "基于物联网技术的智能安全监控建筑信息模型", 工业建筑, no. 04 * |
肖哥哥: "redis集成到Springmvc中及使用实例", Retrieved from the Internet <URL:https://cloud.tencent.com/developer/article/1394253> * |
Also Published As
Publication number | Publication date |
---|---|
CN112035537B (zh) | 2023-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10068136B2 (en) | Event detection based on video metadata | |
CN111241453B (zh) | 页面访问时长采集方法、装置、介质及电子设备 | |
CN108566618B (zh) | 获取用户驻留规律的方法、装置、设备及存储介质 | |
CN105659263A (zh) | 序列识别 | |
CN111212383B (zh) | 区域常住人口数量的确定方法、装置、服务器和介质 | |
CN103186600B (zh) | 互联网舆情的专题分析方法和装置 | |
CN107608862A (zh) | 监控告警方法、监控告警装置及计算机可读存储介质 | |
CN111405030B (zh) | 一种消息推送方法、装置、电子设备和存储介质 | |
CN106371953A (zh) | 紧凑二进制事件日志生成 | |
CN104462167A (zh) | 数据分析辅助*** | |
CN114564930A (zh) | 文档信息整合方法、装置、设备、介质和程序产品 | |
CN113704373B (zh) | 基于移动轨迹数据的用户识别方法、装置及存储介质 | |
CN114969303A (zh) | 问卷调研方法、装置、设备及存储介质 | |
CN112347457A (zh) | 异常账户检测方法、装置、计算机设备和存储介质 | |
CN112035537A (zh) | 一种快速统计多传感器监测移动物体行为的方法 | |
CN111145514B (zh) | 一种多维度预警策略方法 | |
JP5223404B2 (ja) | 組織活動分析装置およびプログラム | |
CN104376021A (zh) | 文件推荐***及方法 | |
CN112346938B (zh) | 操作审计方法、装置及服务器和计算机可读存储介质 | |
CN113157925A (zh) | 基于大数据的智慧政务分析*** | |
CN115965137B (zh) | 特定对象关联性预测方法、***、终端及存储介质 | |
Stefanutti et al. | Does discrimination beat association in the IAT? The discrimination-association model reconceived | |
CN114817377B (zh) | 基于用户画像的数据风险检测方法、装置、设备及介质 | |
CN107918672B (zh) | 信息处理方法、装置、计算机设备和存储介质 | |
CN110209567B (zh) | 一种性能测试方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |