CN111008194A - 数据去重方法以及任意起始时间查询统计去重数据的方法 - Google Patents
数据去重方法以及任意起始时间查询统计去重数据的方法 Download PDFInfo
- Publication number
- CN111008194A CN111008194A CN201911267729.4A CN201911267729A CN111008194A CN 111008194 A CN111008194 A CN 111008194A CN 201911267729 A CN201911267729 A CN 201911267729A CN 111008194 A CN111008194 A CN 111008194A
- Authority
- CN
- China
- Prior art keywords
- time
- data
- tau
- event
- hash table
- 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.)
- Withdrawn
Links
Images
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/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Probability & Statistics with Applications (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Fuzzy Systems (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据去重方法以及任意起始时间查询统计去重数据的方法,所述数据去重方法包括以下步骤:跟踪每个事件;对于每个到来的事件s=(t,o),其中,t为事件发生时间,o为参与事件的对象,从散列表中查询对象o之前参与的最后事件的时间t0;其中:若散列表中没有对象o,则将所述对象o添加到散列表,相应值为t,同时将t和对象o添加到顺序统计树中;若散列表中存在对象o,根据所述对象o之前参与的最后事件的时间t0在顺序统计树中找到相应节点并删除,并按t重新添加值为对象o的节点,同时在散列表中更新对象o对应的值为t。上述数据去重方法以及任意起始时间查询统计去重数据的方法,与现有技术相比,极大降低数据统计复杂度和时间。
Description
技术领域
本发明涉及一种数据去重方法以及任意起始时间查询统计去重数据的方法。
背景技术
传统的数据统计通常基于离线数据,对实时性要求不高。随着数据中台、数字大屏等 技术的兴起,统计的实时性得到更多关注。基于流式计算可很好地实现计数、求和及加权 求和等常规统计功能。如果涉及去重,则可借助散列表等容器进行统计。在这种情况下,去重是从散列表初始化开始计算的,并不能针对其他起始时间。以电子商务平台为例,我们可以利用前面提到的散列表来统计来访顾客数量。但这个数量是从散列表初始化开始计算的。如果我们要查询从某个任意起始时间至查询时刻的来访顾客数量,则需要在该起始时间重新初始化散列表,或者利用数据库中的去重统计功能。显然,在海量数据时,这两 种方式都无法满足实时性的要求,并且对于不同的起始时间,无法共享统计数据。
发明内容
针对上述现有技术的不足,本发明所要解决的技术问题是:提供一种能够实时地、降 低时间复杂度、能够提供不同起始时间查询统计的数据去重方法以及任意起始时间查询统 计去重数据的方法。
为解决上述技术问题,本发明采用的一个技术方案是:提供一种数据去重方法,包括 以下步骤:
跟踪每个事件;
对于每个到来的事件s=(t,o),其中,t为事件发生时间,o为参与事件的对象,从散 列表中查询对象o之前参与的最后事件的时间t0;其中:
若散列表中没有对象o,则将所述对象o添加到散列表,相应值为t,同时将t和对象o添加到顺序统计树中;
若散列表中存在对象o,根据所述对象o之前参与的最后事件的时间t0在顺序统计树 中找到相应节点并删除,并按t重新添加值为对象o的节点,同时在散列表中更新对象o对应的值为t。
为解决上述技术问题,本发明采用的另一个技术方案是:一种满足任意起始时间查询 统计去重数据的方法,对权利要求1去重后的数据进行查询统计,包括:
获取需要查询的时间τ,其中,τ小于当前时间;
为解决上述技术问题,本发明采用的又一个技术方案是:提供一种满足任意起始时间 查询统计去重数据的方法,对权利要求1去重后的数据进行查询统计,包括:
获取需要查询的时间段τ1~τ2,其中,τ1表示查询时间段的起始时间,τ2表示查询时间段的结束时间,τ1<τ2;
上述数据去重方法以及任意起始时间查询统计去重数据的方法,与现有技术相比,极 大降低数据统计复杂度和时间,将该类问题的时间复杂度从现有通常的O(NlogN)显著降 低到O(logN),使实时去重统计能够突破起始时间限制,更好地满足实际需要。
附图说明
图1是本发明数据去重方法一实施例的流程图。
图2是本发明满足任意起始时间查询统计去重数据的方法一实施例的流程图。
图3是本发明满足任意起始时间查询统计去重数据的方法一实施例的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地 描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本 发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实 施例,都属于本发明保护的范围。
本发明提出一种数据去重方法,能够从时间序列数据中对同一对象的事件进行去重, 精确统计任意给定时间至查询时刻不同对象的数量。对于实时增长的{s1,s2,s3,...}事件序 列,对每个事件s,有s=(t,o),其中t为事件发生时间,o为参与事件的对象。同一对象 可以参与多个事件。在处理时间序列数据时,如果我们仅保留每个对象的最后一条记录, 则仍然能够准确统计任意给定时间至查询时刻不同对象的数量,并把去重统计问题转换为 一般的统计或分组统计问题。对于这些记录,既可以看作以对象为键,以最后时间为值的 散列表,也可以看作以时间为顺序的队列。注意这个队列存在删除操作,队列中的记录是 不连续的。
请参见图1,本发明数据去重方法包括以下步骤:
S101、跟踪每个事件;
S102、对于每个到来的事件s=(t,o),其中,t为事件发生时间,o为参与事件的对象, 从散列表中查询对象o之前参与的最后事件的时间t0;其中:
S103、若散列表中没有对象o,则将所述对象o添加到散列表,相应值为t,同时将t和对象o添加到顺序统计树中;
S104、若散列表中存在对象o,根据所述对象o之前参与的最后事件的时间t0在顺序 统计树中找到相应节点并删除,并按t重新添加值为对象o的节点,同时在散列表中更新对象o对应的值为t。
采用这种方法,判断散列表中是否存在对象o相关数据,若存在相关数据时,则将当 前事件发生的时间t更新至散列表中。同时根据所述对象o之前参与的最后事件的时间t0 在顺序统计树中找到相应节点并删除,并按t重新添加值为对象o的节点。若散列表中没有记录对象o的相关数据,则将对象o添加到散列表,同时将对象o和t添加到顺序统计 树中。这样,即可保证同一对象在散列表和顺序统计树中只有一个数据,不存在多个数据, 便于数据的去重统计。
请参见图2,本发明还提出一种满足任意起始时间查询统计去重数据的方法,对去重 后的数据进行查询统计,用于统计任意时间的对象出现数量,包括:
S201、获取需要查询的时间τ,其中,τ小于当前时间;
请参见图3,本发明还提出一种满足任意起始时间查询统计去重数据的方法,对去重 后的数据进行查询统计,用于统计任意时间段的对象出现数量,包括:
S301、获取需要查询的时间段τ1~τ2,其中,τ1表示查询时间段的起始时间,τ2表示查询时间段的结束时间,τ1<τ2;
采用上述统计方法,能够得到任意时刻、时间段的去重统计数据。适于电子商务网站 顾客访问数量、顾客流失数量、热销商品数量、滞销商品数量实时分析、智慧城市活动车辆、人流实时统计、物联网环境活跃对象数量实时跟踪等等领域的数据去重统计。
本发明的数据去重方法,同时使用散列表和顺序统计树跟踪每个对象的最后出现时间。 在散列表中,对象o为键,时间t为值。顺序统计树则按时间t为顺序存储,树节点中的值为对象o。顺序统计树是红黑树的一种变体,每个节点中包含对应子树中的节点数量。 对来到的每个事件s=(t,o),从散列表中查询对象o之前参与的最后事件的时间t0。如果 散列表中没有对象o,把o添加到散列表,相应值为t,同时把t和对象o添加到顺序统计 树中。如果散列表中存在对象o,根据t0在顺序统计树中找到相应节点并删除,并按t重 新添加值为对象o的节点,同时在散列表中更新对象o对应的值为t。对每条记录,散列 表操作的平均时间复杂度为O(1),为常量,顺序统计树操作的最坏时间复杂度为O(logN)。 本发明的任意起始时间查询统计去重数据的方法,对任意给定的起始时间τ,可在O(logN) 的时间内从顺序统计树中查询出小于该时间的节点数量用顺序统 计树的总节点数量N减去该值,即得到从τ至查询时刻出现的对象数量。对于任意给定的 时间τ(τ小于当前时间),统计从τ至查询时刻出现过的对象数量,用公式表示为: 对任意给定的时间τ1、τ2,τ1<τ2,可在O(logN)的时间内从顺序统计树中分 别查询出小于τ1、τ2的节点数量 n2-n1即为从τ1至τ2的时间段出现过,但在τ2之后不再出现的对象的数量。
上述数据去重方法以及任意起始时间查询统计去重数据的方法,与现有技术相比,极 大降低数据统计复杂度和时间,将该类问题的时间复杂度从通常的O(NlogN)显著降低到 O(logN),使实时去重统计能够突破起始时间限制,更好地满足实际需要。
具体结合实例,假设我们用该算法实时分析某电子商务网站的顾客访问数量。在下表 中,左面两列分别为顾客访问网站的时间和对应的顾客账号,右面两列分别为对应时刻散 列表和顺序统计树状态。散列表和顺序统计树新增或更新的部分用红色高亮显示,当前删 除记录则用下划线标注。
表1
若在2019-01-0100:00查询最近1天的顾客访问数量,则由对应时间顺序统计树的状态可知结果为3,相应的记录为:2018-12-319:00,d;2018-12-3112:00,b;2018-12-3116:00,a。
若在2019-01-0800:00查询最近3天的顾客访问数量,则由对应时间顺序统计树的状态可知结果为4,相应的记录为:2019-01-0514:00,a;2019-01-0610:00,c;2019-01-0711:00,b;2019-01-0713:00,e。
若在2019-02-0200:00查询上个月出现而本月没有再出现的对象数量,则由对应时 间顺序统计树的状态可知结果为4–1=3。在上述实例中,可以看出查询的结构所涉及到的对象均没有重复的。
以上仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明 书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域, 均同理包括在本发明的专利保护范围内。
Claims (3)
1.一种数据去重方法,包括以下步骤:
跟踪每个事件;
对于每个到来的事件s=(t,o),其中,t为事件发生时间,o为参与事件的对象,从散列表中查询对象o之前参与的最后事件的时间t0;其中:
若散列表中没有对象o,则将所述对象o添加到散列表,相应值为t,同时将t和对象o添加到顺序统计树中;
若散列表中存在对象o,根据所述对象o之前参与的最后事件的时间t0在顺序统计树中找到相应节点并删除,并按t重新添加值为对象o的节点,同时在散列表中更新对象o对应的值为t。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911267729.4A CN111008194A (zh) | 2019-12-11 | 2019-12-11 | 数据去重方法以及任意起始时间查询统计去重数据的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911267729.4A CN111008194A (zh) | 2019-12-11 | 2019-12-11 | 数据去重方法以及任意起始时间查询统计去重数据的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111008194A true CN111008194A (zh) | 2020-04-14 |
Family
ID=70114667
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911267729.4A Withdrawn CN111008194A (zh) | 2019-12-11 | 2019-12-11 | 数据去重方法以及任意起始时间查询统计去重数据的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111008194A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113903104A (zh) * | 2020-06-22 | 2022-01-07 | 丰田自动车株式会社 | 数据收集装置以及数据收集方法 |
-
2019
- 2019-12-11 CN CN201911267729.4A patent/CN111008194A/zh not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113903104A (zh) * | 2020-06-22 | 2022-01-07 | 丰田自动车株式会社 | 数据收集装置以及数据收集方法 |
CN113903104B (zh) * | 2020-06-22 | 2024-04-09 | 丰田自动车株式会社 | 数据收集装置以及数据收集方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11176200B2 (en) | Fast component enumeration in graphs with implicit edges | |
CN105940412A (zh) | 用于删除所请求信息的方法和系统 | |
US9514217B2 (en) | Message index subdivided based on time intervals | |
CN110869968A (zh) | 事件处理系统 | |
US20140074774A1 (en) | Distributed data base system and data structure for distributed data base | |
CN107103068A (zh) | 业务缓存的更新方法及装置 | |
US20240126817A1 (en) | Graph data query | |
CN104346458B (zh) | 数据存储方法和存储设备 | |
WO2014141594A1 (ja) | 計算機システム | |
CN105989129A (zh) | 实时数据统计方法和装置 | |
CN106447371A (zh) | 一种网页广告的推荐方法和装置 | |
US9135630B2 (en) | Systems and methods for large-scale link analysis | |
US20150169656A1 (en) | Distributed database system | |
KR20150040980A (ko) | 중개 시스템에서 데이터 집계 | |
CN105159845A (zh) | 存储器读取方法 | |
CN110389967A (zh) | 数据存储方法、装置、服务器及存储介质 | |
CN112035531A (zh) | 敏感数据处理方法、装置、设备及介质 | |
CN111008194A (zh) | 数据去重方法以及任意起始时间查询统计去重数据的方法 | |
Guo et al. | Parallelizing the extraction of fresh information from online social networks | |
US11930354B2 (en) | Methods and systems for anonymously tracking and/or analysing movement of mobile communication devices connected to a mobile network or cellular network | |
CN115295164A (zh) | 医保数据的处理方法、装置、电子设备和存储介质 | |
Lee et al. | A new cloaking algorithm using Hilbert curves for privacy protection | |
US20160292019A1 (en) | Systems and Methods for Servicing Database Events | |
AU2020360121A1 (en) | Methods and systems for anonymously tracking and/or analysing individuals based on biometric data | |
WO2021059035A1 (en) | Methods and systems for anonymously tracking and/or analysing individual subjects and/or objects based on identifying data of wlan/wpan devices |
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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20200414 |
|
WW01 | Invention patent application withdrawn after publication |