CN112035537B - Method for rapidly counting behavior of mobile object monitored by multiple sensors - Google Patents

Method for rapidly counting behavior of mobile object monitored by multiple sensors Download PDF

Info

Publication number
CN112035537B
CN112035537B CN202010661062.2A CN202010661062A CN112035537B CN 112035537 B CN112035537 B CN 112035537B CN 202010661062 A CN202010661062 A CN 202010661062A CN 112035537 B CN112035537 B CN 112035537B
Authority
CN
China
Prior art keywords
time
data
sensor
store
people
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.)
Active
Application number
CN202010661062.2A
Other languages
Chinese (zh)
Other versions
CN112035537A (en
Inventor
姚福源
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Vision Technology Co ltd
Original Assignee
Beijing Vision Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Vision Technology Co ltd filed Critical Beijing Vision Technology Co ltd
Priority to CN202010661062.2A priority Critical patent/CN112035537B/en
Publication of CN112035537A publication Critical patent/CN112035537A/en
Application granted granted Critical
Publication of CN112035537B publication Critical patent/CN112035537B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2462Approximate or statistical queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms

Abstract

The invention discloses a method for rapidly counting the behavior of a mobile object monitored by a plurality of sensors, which comprises the following steps: 1) A business process; 2) A technical architecture; 3) The technical proposal is that. The invention belongs to the technical field of off-line mobile object behavior data statistics devices, in particular to a method for rapidly counting the behaviors of a mobile object by multiple sensors, which is used for collecting unique identifiers and collecting time of the objects collected by multiple sensor devices to perform statistics and analysis on residence time and access frequency, logically defines a set of data storage format which occupies small memory and is rapidly searched, designs a set of sensor mapping method from logical definition, simply realizes distributed computation, and adopts a redis plug-in to realize statistics based on redis in memory by using c language.

Description

Method for rapidly counting behavior of mobile object monitored by multiple sensors
Technical Field
The invention belongs to the technical field of off-line mobile object behavior data statistics devices, and particularly relates to a method for rapidly counting the behavior of a mobile object monitored by multiple sensors.
Background
The existing scheme mainly focuses on analyzing the relation of the jumps among pages, and the statistical relation of the stay time is rarely involved; the lack of flexible statistics of the residence time at the server side, the statistics of the residence time provided by a specific scheme is mainly based on the statistics of a client timer, and the statistical method is as follows: starting a timer to count when a client enters a page until the client jumps to other pages, wherein the disadvantage is that the stay time cannot be timely reported to a server when the client closes a browser; lacking off-line behavior statistics, most of the existing schemes collect data statistics based on-line web pages or added codes in applications, and do not collect stay time and related index statistics for off-line actual object movement by multiple sensors.
Disclosure of Invention
Aiming at the situation, in order to overcome the defects of the prior art, the invention provides a method for rapidly counting the behavior of a mobile object by a plurality of sensors, wherein the method is used for counting and analyzing the residence time and the access frequency by collecting the unique identifications and the collection time of the objects collected by a plurality of sensor devices, logically defining a set of data storage formats which occupy less memory and are rapidly searched, designing a set of sensor mapping method from the logical definition, simply realizing distributed computation, and realizing counting based on the redis in the memory by adopting a redis plug-in c language.
The technical scheme adopted by the invention is as follows: the invention discloses a method for rapidly counting the behavior of a mobile object monitored by a plurality of sensors, which comprises the following steps:
1. business process
a. Deploying a plurality of sensors at an exhibition site to collect data of objects or personnel;
b. an administrator binds sensors- > monitoring points- > monitoring areas- > stores/activities at the system;
c. extracting data from the sensor and transmitting the data to a system;
d. the system writes the collected data into redis according to a specified format;
e. setting a relevant threshold value of the stay time in the system by a user;
f. when a user views the chart, counting the residence time, the frequency of entering and exiting and the like by combining the relevant threshold value into the redis through an interface;
2. technical architecture
a. Report form display: mainly based on SpringMvc framework development, a user can set a threshold value and view a report;
b. and (3) data receiving: after data reported by a sensor are collected, checking the integrity and the legality of the data, and analyzing the data into a readable format;
c. and (3) data storage: storing readable data after data receiving and analyzing to Redis according to a data statistics format;
d. data statistics: when a user views a report, the user reads the stored data to calculate through interface call on the independent development of Redis plug-in instructions;
3. technical proposal
a. Entity relationships;
b. a storage format;
c. middle layer calculation logic;
d. underlying computing logic.
Further, the sensors in step 1) collect data by scanning at regular intervals, for example, every 30 seconds, and the object signals are intermittent, for example, every 40 seconds, so that the data of an object on a single sensor is discontinuous, and the server needs to comprehensively map all sensors in a certain range (store/area) at the same time to the data of the object; after all time points of a certain object are arranged, determining whether the two points are connected in line or not, wherein the time length of interruption is set by a user from an interface; the data collected by the sensor is typically "sensor ID, object ID, collection time"; the invention uses the monitoring point ID as the minimum granularity to count, so that the condition that the monitoring point ID corresponds to different sensor IDs at different times exists, for example, the sensor is damaged and needs to be replaced, and the continuity of data needs to be maintained.
Further, the entity relationship in step 3) is that a manufacturer has a plurality of shops/activities, each shop has a plurality of monitoring areas, each monitoring area has a plurality of monitoring points, each monitoring point corresponds to a sensor, and each sensor collects a plurality of object IDs.
Further, the storage format in step 3) includes a binary type and a set type, where the binary type is that a certain object ID appears for a minute on a certain sensor day; key: sensor ID (3B) +object ID (6B) +year x 1000+ day offset (2B); value: day 0-1439 minutes (1440 bits); 0 indicates that the minute object ID is free of data, and 1 indicates that the minute object ID is data; the collection type is a collection of all object IDs collected by the sensor on a certain day; key: p+ sensor ID (3 bytes) +year 1000+ day offset (2B); member: a binary set of object IDs (6B).
Further, the middle layer calculating logic in step 3) judges which level is the level of statistics according to the query condition, and extracts corresponding monitoring points according to each level, wherein the monitoring points are the minimum units of middle layer calculation; inquiring about the business hours (e.g., monday to friday)/activity time (e.g., 18 days 4 months to 25 days 4 months) of the store/activity set by the user, daily business hours (9:00-17:00); inquiring a user to set interrupt time length for judging the number of people and the stay time length; inquiring store entering/paying attention time length and deep visit time length set by a user; for calculating store entry/attention stay time, deep visit stay time; judging the time granularity: all, month, week, day and hour, and the inquiry time range is divided into small sections; inquiring a sensor ID set corresponding to each monitoring point according to the time period; combining and calling the bottom layer calculation logic to count each sensor ID set; and summarizing and outputting the statistical results to a chart on the interface.
Further, the bottom layer computing logic in step 3) is operated in the Redis plugin, a user-defined Redis command is provided for the outside, the Redis data is directly operated, the network transmission is not needed, the speed is high, the data can be directly operated by adopting C language writing, and the pointer operation is avoided occupying the memory space.
Further, the bottom layer calculation logic comprises binary OR operation, time line splitting, combination of minute data of a plurality of sensors, statistics of the number of people in a certain day of an object ID, the number of people in store/attention, the number of deep visits and total residence time; the function of the binary OR operation is to realize OR operation of two binary character strings which can be transmitted by the function; the parameters are the pointer of the character string a, the length of the character string a, the pointer of the character string b and the length of the character string b; the return value is the pointer length of the OR operation result character string array c; the process is to compare the lengths of two character strings, and take each bit of the shortest character string and each bit of the other character string to perform OR operation, wherein 0|1 =1, 1|1 =1, 1|0 =1 and 0|0 =0; the function of splitting the time line is to split a time line formed by time points into a plurality of time periods according to a specified interruption duration threshold value; the parameter is a pointer of a time line character string timeline, the length of the time line character string timeline and the interrupt duration; the return values are an array of time periods in the format of start time 1, end time 1, start time 2, end time 2 … start time n, end time n, e.g., [100, 102, 106, 106] representing 100 min-102 min, 106 min-106 min; the minimum granularity of the time line is minutes, the time line represents 1 day, the character string length is fixed to 1440 bits, namely 1 day = 1440 minutes, the time line character string timeline is intercepted, the out of range caused by exceeding 1440 bits is avoided, each bit is circulated, 1 is encountered, the starting time is recorded, the ending time is always moved backwards, 0 is encountered, the calculation is started, whether the distance from the last 1 exceeds the interrupt duration or not, if the distance from the last 1 does not exceed the interrupt duration, the ending time is continuously moved until 1440 or the interrupt duration is exceeded; the function of combining the minute data of a plurality of sensors is to combine the minute data of a plurality of sensors of the same object ID, because the data collected by each sensor is only a part, all relevant data need to be combined; the parameters are a sensor ID array, an object ID, a year and a day offset; the return value is the pointer and the length of the minutes character string after the return combination; the function of counting the number of people in a certain day, the number of times of entering a store/paying attention to people and the number of times of deeply visiting people, and the total residence time is to count the number of people in data collected by a plurality of sensors in a certain day, the number of times of entering a store/paying attention to people, the number of times of deeply visiting people and the total residence time of the object ID; input parameters are sensor ID array, object ID, year, day offset, interruption time, people stream residence time, store/attention residence time, and deep visit residence time; the output parameters are the number of people, the number of times of entering a store/paying attention to the people, the number of times of deep visiting the people and the total residence time; no return value; the result in the flow is returned through the output parameter, the input output parameter is the statistical result of the last object ID, the flow is to add the statistical result of this time to the statistical result of the last object, thus achieve the goal of counting a plurality of object IDs, the difference between the number of persons and the number of people is whether to remove the weight, the number of persons is caused by interrupt duration, the shorter the interrupt duration is, the more the number of persons is, and the number of persons is the result after removing the weight of a plurality of object IDs with the number of persons being more than 0, when the interrupt duration is set to 1 day, the number of persons and the number of persons are equal.
Further, the residence time refers to the time difference between entering an area and leaving the area, the moving object refers to the object such as mobile equipment, people, animals and the like which can be monitored by a sensor, and the unique identification of the object refers to the identification which can be used for distinguishing between objects of a certain type in collected data, such as the fingerprint, iris, weight, height of a person, network card address of a mobile phone, bluetooth, sim card and the like; the Redis (Remote Dictionary Server), namely the remote dictionary service, is an open-source log-type and Key-Value database which is written and supported by using ANSI C language, can be based on memory and can be persistent, and provides APIs of multiple languages; the monitoring points are a logic concept, which means that a sensor is placed at a certain position, and generally one monitoring point corresponds to one sensor, but if the sensor is damaged, the sensor can be replaced, and the sensor ID corresponding to the monitoring point ID needs to be bound in the invention; the interruption time is a threshold value in the invention, if an object ID has no data in a period of time (exceeding the threshold value), the object ID is judged to have been left, for example, the interruption time is set to be 5 minutes, the object ID has data at 9 points 59, the object ID is considered to have been left when 10 points 0 are not used, and the object ID is considered to have been left when the object ID has no data at 10 points 5; the BITs (BIT) are information volume units, are transliterated from English BIT, are BITs in Binary digits, are measurement units of information volume, are minimum units of information volume, and are information needed to reduce the number of alternative stimuli by half under the condition that different choices are needed, namely, the information volume (BIT number) of a signal is equal to a logarithmic value of the signal stimulus volume based on 2, and the information volume is considered to be most suitable for measurement in the logarithmic unit in the year L. The Value is a data Value stored in Redis, and the Key is a unique name of data in Redis and is used for searching the data Value; the store-in/attention duration is a threshold value in the invention, if a certain object ID has data in a period of time (exceeding the threshold value), the store-in/attention is judged, if the certain object ID is in a store/activity range and does not leave in business hours and the duration exceeds the threshold value; the traffic is the number of times (once per departure) all object IDs are collected by all sensors in the store/campaign; the number of people is the number of people after the people flow is de-duplicated; the first time store/attention is the first time store/attention number in the store/attention object in the time period; the multiple store entries/concerns are the 2 nd or more store entries/concerns in the store entries/concerns over a time period; the Tomcat server is a free WEB application server with open source codes, belongs to a lightweight application server, is commonly used in small and medium-sized systems and occasions with less concurrent access users, and is a first choice for developing and debugging JSP programs; the Spring MVC belongs to a subsequent product of Spring frame work, is fused in Spring WEB Flow, provides a full-function MVC module for constructing a WEB application program, and uses a Spring pluggable MVC framework, so that when Spring is used for WEB development, the Spring MVC framework of Spring or other MVC development frameworks integrated can be selected, such as Struts1 (which are not used at present), struts 2 (which are used in general old projects) and the like.
The beneficial effects obtained by the invention by adopting the structure are as follows: according to the method for rapidly counting the behavior of the mobile object by the multiple sensors, the unique identification and the collection time of the object collected by the multiple sensor devices are collected to conduct statistical analysis on the residence time and the access frequency, a set of data storage formats which occupy little memory and are rapidly searched are logically defined, a set of sensor mapping method is designed from the logic definition, distributed computation is simply achieved, and statistics based on redis in the memory is achieved by adopting a redis plug-in c language.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described in the following in conjunction with the embodiments of the present invention, and it is obvious that the described embodiments are only some embodiments of the present invention, but not all embodiments; all other embodiments, which can be made by those skilled in the art based on the embodiments of the invention without making any inventive effort, are intended to be within the scope of the invention.
The invention discloses a method for rapidly counting the behavior of a mobile object monitored by a plurality of sensors, which comprises the following steps:
1. business process
g. Deploying a plurality of sensors at an exhibition site to collect data of objects or personnel;
h. an administrator binds sensors- > monitoring points- > monitoring areas- > stores/activities at the system;
i. extracting data from the sensor and transmitting the data to a system;
j. the system writes the collected data into redis according to a specified format;
k. setting a relevant threshold value of the stay time in the system by a user;
l, when a user views the chart, counting the stay time, the frequency of entering and exiting and the like by combining the relevant threshold value into the redis through an interface;
2. technical architecture
a. Report form display: mainly based on SpringMvc framework development, a user can set a threshold value and view a report;
b. and (3) data receiving: after data reported by a sensor are collected, checking the integrity and the legality of the data, and analyzing the data into a readable format;
c. and (3) data storage: storing readable data after data receiving and analyzing to Redis according to a data statistics format;
d. data statistics: when a user views a report, the user reads the stored data to calculate through interface call on the independent development of Redis plug-in instructions;
3. technical proposal
a. Entity relationships;
b. a storage format;
c. middle layer calculation logic;
d. underlying computing logic.
The sensors in step 1) collect data by scanning at regular intervals, for example, every 30 seconds, and the object signals are intermittent, for example, every 40 seconds, so that the data of an object on a single sensor is discontinuous, and the server needs to comprehensively map the time line of the object for all the sensors in a certain range (store/area) at the same time; after all time points of a certain object are arranged, determining whether the two points are connected in line or not, wherein the time length of interruption is set by a user from an interface; the data collected by the sensor is typically "sensor ID, object ID, collection time"; the invention uses the monitoring point ID as the minimum granularity to count, so that the condition that the monitoring point ID corresponds to different sensor IDs at different times exists, for example, the sensor is damaged and needs to be replaced, and the continuity of data needs to be maintained.
The entity relationship in the step 3) is that a manufacturer has a plurality of shops/activities, each shop has a plurality of monitoring areas, each monitoring area has a plurality of monitoring points, each monitoring point corresponds to a sensor, and each sensor collects a plurality of object IDs.
The storage format in the step 3) comprises a binary type and a set type, wherein the binary type is that a certain object ID appears for a certain minute on a certain sensor day; key: sensor ID (3B) +object ID (6B) +year x 1000+ day offset (2B); value: day 0-1439 minutes (1440 bits); 0 indicates that the minute object ID is free of data, and 1 indicates that the minute object ID is data; the collection type is a collection of all object IDs collected by the sensor on a certain day; key: p+ sensor ID (3 bytes) +year 1000+ day offset (2B); member: a binary set of object IDs (6B).
The middle layer calculation logic in the step 3) judges which level is the statistical level according to the query condition, and extracts corresponding monitoring points according to each level, wherein the monitoring points are the minimum units of middle layer calculation; inquiring about the business hours (e.g., monday to friday)/activity time (e.g., 18 days 4 months to 25 days 4 months) of the store/activity set by the user, daily business hours (9:00-17:00); inquiring a user to set interrupt time length for judging the number of people and the stay time length; inquiring store entering/paying attention time length and deep visit time length set by a user; for calculating store entry/attention stay time, deep visit stay time; judging the time granularity: all, month, week, day and hour, and the inquiry time range is divided into small sections; inquiring a sensor ID set corresponding to each monitoring point according to the time period; combining and calling the bottom layer calculation logic to count each sensor ID set; and summarizing and outputting the statistical results to a chart on the interface.
The bottom layer calculation logic in the step 3) is operated in a Redis plug-in, a user-defined Redis command is provided for the outside, redis data is directly operated, transmission through a network is not needed, the speed is high, the data can be directly subjected to bit operation by adopting C language writing, and pointer operation is avoided, so that the occupied memory space is avoided.
The bottom layer calculation logic comprises binary OR operation, time line splitting, combination of minute data of a plurality of sensors, statistics of the number of people in a certain day of an object ID, the number of times of store-in/attention, the number of times of deep visit and total residence time; the function of the binary OR operation is to realize OR operation of two binary character strings which can be transmitted by the function; the parameters are the pointer of the character string a, the length of the character string a, the pointer of the character string b and the length of the character string b; the return value is the pointer length of the OR operation result character string array c; the process is to compare the lengths of two character strings, and take each bit of the shortest character string and each bit of the other character string to perform OR operation, wherein 0|1 =1, 1|1 =1, 1|0 =1 and 0|0 =0; the function of splitting the time line is to split a time line formed by time points into a plurality of time periods according to a specified interruption duration threshold value; the parameter is a pointer of a time line character string timeline, the length of the time line character string timeline and the interrupt duration; the return values are an array of time periods in the format of start time 1, end time 1, start time 2, end time 2 … start time n, end time n, e.g., [100, 102, 106, 106] representing 100 min-102 min, 106 min-106 min; the minimum granularity of the time line is minutes, the time line represents 1 day, the character string length is fixed to 1440 bits, namely 1 day = 1440 minutes, the time line character string timeline is intercepted, the out of range caused by exceeding 1440 bits is avoided, each bit is circulated, 1 is encountered, the starting time is recorded, the ending time is always moved backwards, 0 is encountered, the calculation is started, whether the distance from the last 1 exceeds the interrupt duration or not, if the distance from the last 1 does not exceed the interrupt duration, the ending time is continuously moved until 1440 or the interrupt duration is exceeded; the function of combining the minute data of a plurality of sensors is to combine the minute data of a plurality of sensors of the same object ID, because the data collected by each sensor is only a part, all relevant data need to be combined; the parameters are a sensor ID array, an object ID, a year and a day offset; the return value is the pointer and the length of the minutes character string after the return combination; the function of counting the number of people in a certain day, the number of times of entering a store/paying attention to people and the number of times of deeply visiting people, and the total residence time is to count the number of people in data collected by a plurality of sensors in a certain day, the number of times of entering a store/paying attention to people, the number of times of deeply visiting people and the total residence time of the object ID; input parameters are sensor ID array, object ID, year, day offset, interruption time, people stream residence time, store/attention residence time, and deep visit residence time; the output parameters are the number of people, the number of times of entering a store/paying attention to the people, the number of times of deep visiting the people and the total residence time; no return value; the result in the flow is returned through the output parameter, the input output parameter is the statistical result of the last object ID, the flow is to add the statistical result of this time to the statistical result of the last object, thus achieve the goal of counting a plurality of object IDs, the difference between the number of persons and the number of people is whether to remove the weight, the number of persons is caused by interrupt duration, the shorter the interrupt duration is, the more the number of persons is, and the number of persons is the result after removing the weight of a plurality of object IDs with the number of persons being more than 0, when the interrupt duration is set to 1 day, the number of persons and the number of persons are equal.
The stay time is the time difference between entering an area and leaving the area, the moving object is the object which can be monitored by a sensor, such as mobile equipment, people, animals and the like, and the unique identification of the object is the identification which can be used for distinguishing among some kind of objects in collected data, such as the fingerprint, iris, weight and height of the person, the network card address of a mobile phone, bluetooth, sim card and the like; the Redis (Remote Dictionary Server), namely the remote dictionary service, is an open-source log-type and Key-Value database which is written and supported by using ANSI C language, can be based on memory and can be persistent, and provides APIs of multiple languages; the monitoring points are a logic concept, which means that a sensor is placed at a certain position, and generally one monitoring point corresponds to one sensor, but if the sensor is damaged, the sensor can be replaced, and the sensor ID corresponding to the monitoring point ID needs to be bound in the invention; the interruption time is a threshold value in the invention, if an object ID has no data in a period of time (exceeding the threshold value), the object ID is judged to have been left, for example, the interruption time is set to be 5 minutes, the object ID has data at 9 points 59, the object ID is considered to have been left when 10 points 0 are not used, and the object ID is considered to have been left when the object ID has no data at 10 points 5; the BITs (BIT) are information volume units, are transliterated from English BIT, are BITs in Binary digits, are measurement units of information volume, are minimum units of information volume, and are information needed to reduce the number of alternative stimuli by half under the condition that different choices are needed, namely, the information volume (BIT number) of a signal is equal to a logarithmic value of the signal stimulus volume based on 2, and the information volume is considered to be most suitable for measurement in the logarithmic unit in the year L. The Value is a data Value stored in Redis, and the Key is a unique name of data in Redis and is used for searching the data Value; the store-in/attention duration is a threshold value in the invention, if a certain object ID has data in a period of time (exceeding the threshold value), the store-in/attention is judged, if the certain object ID is in a store/activity range and does not leave in business hours and the duration exceeds the threshold value; the traffic is the number of times (once per departure) all object IDs are collected by all sensors in the store/campaign; the number of people is the number of people after the people flow is de-duplicated; the first time store/attention is the first time store/attention number in the store/attention object in the time period; the multiple store entries/concerns are the 2 nd or more store entries/concerns in the store entries/concerns over a time period; the Tomcat server is a free WEB application server with open source codes, belongs to a lightweight application server, is commonly used in small and medium-sized systems and occasions with less concurrent access users, and is a first choice for developing and debugging JSP programs; the Spring MVC belongs to a subsequent product of Spring frame work, is fused in Spring WEB Flow, provides a full-function MVC module for constructing a WEB application program, and uses a Spring pluggable MVC framework, so that when Spring is used for WEB development, the Spring MVC framework of Spring or other MVC development frameworks integrated can be selected, such as Struts1 (which are not used at present), struts 2 (which are used in general old projects) and the like.
It is noted that relational terms such as first and second, and the like are used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Moreover, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus.
Although embodiments of the present invention have been shown and described, it will be understood by those skilled in the art that various changes, modifications, substitutions and alterations can be made therein without departing from the principles and spirit of the invention, the scope of which is defined in the appended claims and their equivalents.
The present invention and its embodiments have been described above without limitation, but one of the embodiments of the present invention is not limited to the actual structure. In summary, if one of ordinary skill in the art is informed by this disclosure, a structural manner and an embodiment similar to the technical solution should not be creatively devised without departing from the gist of the present invention.

Claims (3)

1. A method for rapidly counting the behavior of a moving object monitored by a plurality of sensors, comprising the steps of:
1. business process
a. Deploying a plurality of sensors at an exhibition site to collect data of objects or personnel;
b. an administrator binds sensors- > monitoring points- > monitoring areas- > stores/activities at the system;
c. extracting data from the sensor and transmitting the data to a system;
d. the system writes the collected data into redis according to a specified format;
e. setting a relevant threshold value of the stay time in the system by a user;
when a user views the chart, counting the stay time and the frequency of entering and exiting through combining the relevant threshold value into the redis through an interface;
2. technical architecture
a. Report form display: based on Spring MVC framework development, a user sets a threshold value and views a report;
b. and (3) data receiving: after collecting the data reported by the sensor, checking the integrity and the legality of the data, and analyzing the data into a readable format;
c. and (3) data storage: storing readable data after data receiving and analyzing to Redis according to a data statistics format;
d. data statistics: when a user views a report, the user reads the stored data to calculate through interface call on the independent development of Redis plug-in instructions;
3. technical proposal
a. Entity relationships;
b. a storage format;
c. middle layer calculation logic;
d. bottom layer computing logic;
the sensors collect data by timing scanning, so that the data of a certain object on a single sensor are discontinuous, and the server needs to comprehensively draw a time line of the object for all the sensors in a certain range at the same time; after all time points of a certain object are arranged, determining whether the two points are connected in line or not, wherein the time length of interruption is set by a user from an interface; the data collected by the sensor is typically "sensor ID, object ID, collection time"; the method takes the monitoring point ID as the minimum granularity for statistics, so that the condition that the monitoring point ID corresponds to different sensor IDs at different times exists; the entity relationship is that a manufacturer has a plurality of shops/activities, each shop has a plurality of monitoring areas, each monitoring area has a plurality of monitoring points, each monitoring point corresponds to a sensor, and each sensor collects a plurality of object IDs; the storage format comprises a binary type and a set type, wherein the binary type is that a certain object ID appears for a minute on a certain sensor day; key: sensor id+object id+year 1000+day offset; value: day 0-1439 minutes; 0 indicates that the minute object ID is free of data, and 1 indicates that the minute object ID is data; the collection type is a collection of all object IDs collected by the sensor on a certain day; key: p+ sensor id+year 1000+ day offset; member: a binary set of object IDs; the middle layer calculation logic is used for judging which level is the level according to the query condition, and respectively extracting corresponding monitoring points according to each level, wherein the monitoring points are the minimum units of middle layer calculation; inquiring business hours/activity time of store/activity set by a user, and daily business hours; inquiring a user to set interrupt time length for judging the number of people and the stay time length; inquiring store entering/paying attention time length and deep visit time length set by a user; for calculating store entry/attention stay time, deep visit stay time; judging the time granularity: all, month, week, day and hour, and the inquiry time range is divided into small sections; inquiring a sensor ID set corresponding to each monitoring point according to the time period; combining and calling the bottom layer calculation logic to count each sensor ID set; summarizing and outputting the statistical results to a chart on an interface; the bottom layer calculation logic comprises binary OR operation, time line splitting, combination of minute data of a plurality of sensors, statistics of the number of people in a certain day of an object ID, the number of times of store-in/attention, the number of times of deep visit and total residence time; the function of the binary OR operation is to realize OR operation of two binary character strings which can be transmitted by the function; the parameters are the pointer of the character string a, the length of the character string a, the pointer of the character string b and the length of the character string b; the return value is the pointer length of the OR operation result character string array c; the process is to compare the lengths of two character strings, and take each bit of the shortest character string and each bit of the other character string to perform OR operation, wherein 0|1 =1, 1|1 =1, 1|0 =1 and 0|0 =0; the function of splitting the time line is to split a time line formed by time points into a plurality of time periods according to a specified interruption duration threshold value; the parameter is a pointer of a time line character string timeline, the length of the time line character string timeline and the interrupt duration; the return value is a time period array, the format is a start time 1, an end time 1, a start time 2, an end time 2, a … start time n and an end time n; the minimum granularity of the time line is minutes, the time line represents 1 day, the character string length is fixed to 1440 bits, namely 1 day = 1440 minutes, the time line character string timeline is intercepted, the out of range caused by exceeding 1440 bits is avoided, each bit is circulated, 1 is encountered, the starting time is recorded, the ending time is always moved backwards, 0 is encountered, the calculation is started, whether the distance from the last 1 exceeds the interrupt duration or not, if the distance from the last 1 does not exceed the interrupt duration, the ending time is continuously moved until 1440 or the interrupt duration is exceeded; the function of combining the minute data of a plurality of sensors is to combine the minute data of a plurality of sensors of the same object ID, because the data collected by each sensor is only a part, all relevant data need to be combined; the parameters are a sensor ID array, an object ID, a year and a day offset; the return value is the pointer and the length of the minutes character string after the return combination; the function of counting the number of people in a certain day, the number of times of entering a store/paying attention to people and the number of times of deeply visiting people, and the total residence time is to count the number of people in data collected by a plurality of sensors in a certain day, the number of times of entering a store/paying attention to people, the number of times of deeply visiting people and the total residence time of the object ID; input parameters are sensor ID array, object ID, year, day offset, interruption time, people stream residence time, store/attention residence time, and deep visit residence time; the output parameters are the number of people, the number of times of entering a store/paying attention to the people, the number of times of deep visiting the people and the total residence time; no return value; the result in the flow is returned through the output parameter, the input output parameter is the statistical result of the last object ID, the flow is to add the statistical result of this time to the statistical result of the last object, thus achieve the goal of counting a plurality of object IDs, the difference between the number of persons and the number of people is whether to remove the weight, the number of persons is caused by interrupt duration, the shorter the interrupt duration is, the more the number of persons is, and the number of persons is the result after removing the weight of a plurality of object IDs with the number of persons being more than 0, when the interrupt duration is set to 1 day, the number of persons and the number of persons are equal.
2. A method for rapid statistical multi-sensor monitoring of moving object behavior according to claim 1, wherein: the bottom layer computing logic is operated in the Redis plug-in, a user-defined Redis command is provided for the outside, the Redis data is directly operated, network transmission is not needed, the speed is high, the data is directly operated by adopting C language writing, and the pointer operation is avoided occupying the memory space.
3. A method for rapid statistical multi-sensor monitoring of moving object behavior according to claim 2, wherein: the stay time is the time difference between entering an area and leaving the area of an object, the moving object is the object which can be monitored by a sensor in the method, the object ID is the identification used for distinguishing one class of objects in the collected data, the Redis, namely the remote dictionary service, is an open source log type, key-Value database which is written by using a C language, supports a network, can be based on a memory and can be persistent, and provides an API (application program interface) of multiple languages; the monitoring points are a logic concept, which means that a sensor is placed at a certain position, and generally one monitoring point corresponds to one sensor, but if the sensor is damaged, the sensor is replaced, and the sensor ID corresponding to the monitoring point ID needs to be bound in the method; the interruption time is a threshold value in the method, if an object ID has no data in a period of time, the object ID is judged to leave, the BIT, the computer technical term, which is an information quantity unit, is transliterated from English BIT, is also a BIT in binary digits, is a measurement unit of the information quantity, is a minimum unit of the information quantity, and reduces the number of alternative stimuli by half the necessary information under the condition that different selections are needed, namely, the information quantity of signals is equal to the logarithmic value of the signal stimulus quantity with 2 as a base number; the Value is a data Value stored in Redis, and the Key is a unique name of data in Redis and is used for searching the data Value; the store-in/attention time is a threshold value in the method, if the certain object ID has data in a period of time, the store-in/attention is judged, if the certain object ID is in a store/activity range and does not leave in business hours, and the duration exceeds the threshold value; the traffic is the number of times all object IDs are collected by all sensors in the store/campaign; the number of people is the number of people after the people flow is de-duplicated; the first store/attention is the first store/attention number in the store/attention object in the time period; multiple store entries/concerns are the number of store entries/concerns of more than 2 times in the store entries/concerns object within a time period; the Tomcat server is a free WEB application server with an open source code, belongs to a lightweight application server, is commonly used in small and medium-sized systems and occasions with less concurrent access users, and is a first choice for developing and debugging JSP programs; the Spring MVC belongs to a subsequent product of Spring frame work, is fused in Spring WEB Flow, provides a full-function MVC module for constructing an application program, and uses a Spring pluggable MVC framework, so that when Spring is used for WEB development, the Spring MVC framework is selected to be used or other MVC development frameworks are integrated.
CN202010661062.2A 2020-07-10 2020-07-10 Method for rapidly counting behavior of mobile object monitored by multiple sensors Active CN112035537B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010661062.2A CN112035537B (en) 2020-07-10 2020-07-10 Method for rapidly counting behavior of mobile object monitored by multiple sensors

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010661062.2A CN112035537B (en) 2020-07-10 2020-07-10 Method for rapidly counting behavior of mobile object monitored by multiple sensors

Publications (2)

Publication Number Publication Date
CN112035537A CN112035537A (en) 2020-12-04
CN112035537B true CN112035537B (en) 2023-10-20

Family

ID=73579012

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010661062.2A Active CN112035537B (en) 2020-07-10 2020-07-10 Method for rapidly counting behavior of mobile object monitored by multiple sensors

Country Status (1)

Country Link
CN (1) CN112035537B (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101051334A (en) * 2006-04-06 2007-10-10 香港理工大学 Structure health monitoring and information managing system and its method
CN104123388A (en) * 2014-08-07 2014-10-29 武汉大学 Massive-sensing-network-data-oriented high-concurrency real-time access system and method
CN107967135A (en) * 2017-10-31 2018-04-27 平安科技(深圳)有限公司 Computing engines implementation method, electronic device and storage medium
CN109144014A (en) * 2018-10-10 2019-01-04 北京交通大学 The detection system and method for industrial equipment operation conditions
CN109862106A (en) * 2019-03-04 2019-06-07 知轮(杭州)科技有限公司 The processing method and system of online monitoring data
CN110942200A (en) * 2019-11-28 2020-03-31 好买气电子商务有限公司 LNG energy management method based on Internet of things block chain technology

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10810225B2 (en) * 2015-03-10 2020-10-20 The Boeing Company System and method for large scale data processing of source data

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101051334A (en) * 2006-04-06 2007-10-10 香港理工大学 Structure health monitoring and information managing system and its method
CN104123388A (en) * 2014-08-07 2014-10-29 武汉大学 Massive-sensing-network-data-oriented high-concurrency real-time access system and method
CN107967135A (en) * 2017-10-31 2018-04-27 平安科技(深圳)有限公司 Computing engines implementation method, electronic device and storage medium
CN109144014A (en) * 2018-10-10 2019-01-04 北京交通大学 The detection system and method for industrial equipment operation conditions
CN109862106A (en) * 2019-03-04 2019-06-07 知轮(杭州)科技有限公司 The processing method and system of online monitoring data
CN110942200A (en) * 2019-11-28 2020-03-31 好买气电子商务有限公司 LNG energy management method based on Internet of things block chain technology

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于微服务架构的分布式测距系统的研究与设计;向彬彬;马明星;童茂林;彭瑾;苏文秀;高秀敏;;计算机应用与软件(第05期);全文 *
基于物联网技术的智能安全监控建筑信息模型;柏彬;陈勇;杜长青;茅鑫同;韩超;李东鑫;黄云天;郑兴;王磊磊;;工业建筑(第04期);全文 *

Also Published As

Publication number Publication date
CN112035537A (en) 2020-12-04

Similar Documents

Publication Publication Date Title
CN103136335B (en) A kind of data control method based on data platform
CN107895011B (en) Session information processing method, system, storage medium and electronic equipment
CN111241453B (en) Page access duration acquisition method and device, medium and electronic equipment
CN108537544A (en) A kind of transaction system method for real-time monitoring and its monitoring system
CN110502509B (en) Traffic big data cleaning method based on Hadoop and Spark framework and related device
KR101611166B1 (en) System and Method for Deducting about Weak Signal Using Big Data Analysis
CN107608862A (en) Monitoring alarm method, monitoring alarm device and computer-readable recording medium
CN107506451A (en) abnormal information monitoring method and device for data interaction
CN104966172A (en) Large data visualization analysis and processing system for enterprise operation data analysis
CN103250147A (en) Continuous querying of a data stream
US20090265374A1 (en) Method For Generating Access Statistic Data On Individual Visitor To Web Site
CN104183027A (en) Method and device for user state determination
CN102609474A (en) Access information providing method and system
CN109840782A (en) Clicking rate prediction technique, device, server and storage medium
Capinha et al. The worldwide networks of spread of recorded alien species
CN111367760A (en) Log collection method and device, computer equipment and storage medium
CN113486036A (en) Virtual resource management method and device, electronic equipment and storage medium
KR20180126792A (en) System and Method for processing complex stream data using distributed in-memory
CN112035537B (en) Method for rapidly counting behavior of mobile object monitored by multiple sensors
CN109754224A (en) Organizational affiliation map construction method, apparatus and computer storage medium
CN113254732B (en) Method and device for determining enterprise relationship, computer equipment and storage medium
CN115878877A (en) Concept drift-based visual detection method for access crawler of aviation server
CN112765170B (en) Embedded time sequence data management method and device
CN111105255A (en) Method for realizing store multi-channel member centralized management based on Internet platform
CN114090634A (en) Hotel data management method and device based on data warehouse

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