CN110750565A - 基于物联网数据流滑动窗口模型的实时区间查询方法 - Google Patents
基于物联网数据流滑动窗口模型的实时区间查询方法 Download PDFInfo
- Publication number
- CN110750565A CN110750565A CN201910760323.3A CN201910760323A CN110750565A CN 110750565 A CN110750565 A CN 110750565A CN 201910760323 A CN201910760323 A CN 201910760323A CN 110750565 A CN110750565 A CN 110750565A
- Authority
- CN
- China
- Prior art keywords
- internet
- things
- data
- hash
- data structure
- 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
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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24568—Data stream processing; Continuous 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/2453—Query optimisation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
技术领域
本发明涉及物联网数据流处理领域,具体涉及一种基于物联网数据流滑动 窗口模型的快速区间查询方法。
背景技术
随着物联网的快速发展,RFID阅读器、各种传感器等智能设备被广泛应用 于物体监控、信息采集、数据过滤等领域。之后,大量的物联网数据流通常会 从这些设备生成并发回。因此,物联网数据流的在线处理和分析对于物联网场 景中的许多实时应用程序来说都是至关重要的。通常,物联网数据流在快速下 连续生成新元素,导致大量数据无法存储在当今的设施中。因此,这些流的处 理算法面临严格的时间和空间约束。因此,物联网数据流对流上数据的查询问 题提出了巨大挑战。
本发明关注物联网数据流滑动窗口的n个最新元素,物联网数据流记为δ, 并研究滑动窗口上物联网数据流中的(ε,L)-Approximate Range Emptiness-problem,即近似范围(ε,L)内的空查询问题,表示为(ε,L)-ARE-problem。
在物联网数据流δ的一次扫描的约束下,(ε,L)-ARE-problem的主要任务是设 计一个节省空间的数据结构,该结构能够始终表示W(t,n),即直到时间点t为止, 流δ连续生成的n个最新元素(W(t,n)=emax{1,t-n+1},…,et-1,et),并且迅速回答一个形式 为的空查询,I表示假阳性率不超过ε、长度不超过L的任何查 询区间,记为I=[a,b](|b-a|≤L-1)。
从上面对(ε,L)-ARE-problem的描述中,可以观察到基于(ε,L)-ARE-problem设计的数据结构能够有效地处理流δ中的大量数据,因此可以明显地应用于广泛的 物联网应用,因为该数据结构中有以下三个关键点:1)是一种节省空间的数据 结构,可以存储在内存中;2)对流δ进行了单遍扫描,并且能够始终表示W(t,n) 直到每个时间点t>0;3)可以快速提供任何间隔查询的近似回答。
然而,如图1所示,基于(ε,L)-ARE-problem有关的现有技术与局限性,有一 些研究工作是关于具有各种假设的静态数据集的近似成员查询问题。但是,所 有这些数据结构都是针对静态数据集而设计的,其中不考虑元素的删除和插入, 并且在线性查询的区间为[a,b]所需的时间是关于长度L的变量O(L),将会导致 用户获得查询结果的等待时间很长,尤其是当L很大或者用户发出大量查询间隔 的时候,即现有的数据结构不支持恒定的查询时间,因此,它们不适用于物联 网数据流场景。
还有一些关注静态数据集的近似范围空问题,静态数据集回答对静态数据 集的区间查询(如回答),是目前解决近似范围空问题的唯一现有 工作。但是,它们只关注如何表示静态集,因此,他们的数据结构不能应用于 物联网数据流。
发明内容
本发明目的在于提供一种基于物联网数据流滑动窗口模型的快速区间查询 方法,旨在能够节省内存上的空间,支持长度为L的任意查询区间的快速查询。
为达成上述目的,本发明提出如下技术方案:一种基于物联网数据流滑动 窗口模型的快速区间查询方法,包括如下步骤:
所述数据结构D包括4个独立的哈希函数hj,j∈{1,2,3,4},以及与哈希函数 分别对应的4个哈希表Bj,j∈{1,2,3,4};其中,每个哈希表包含g个桶,g={1,..., n/24},g∈N*;每个桶包含8个槽,记为s[q],q={1,2,...,8};
任一槽s[q]包括三部分:s.Fp、s.P↑和s.P↓,s.Fp用于存储物联网数据流δ中 对应元素的指纹;s.P↑用于存储指向链接的单元格列表的指针,该指针首先按照 时间戳的升序排列,然后按偏移值的升序排列;s.P↓用于存储指向链接的单元列 表的指针,该指针首先按照时间戳的升序排列,然后按偏移值的降序排列;
对于链接的单元格列表中的任一单元格,记为c,由s.P↑或s.P↓指向,包含三 个部分:c.Ts,c.O和c.Pt,其中,c.Ts用于存储物联网数据流δ中对应元素的时 间戳;c.O用于存储对应元素在物联网数据流δ中的偏移量;c.Pt用于存储指向该 链接的单元格列表的下一个单元格的指针;
2)在时间点t,输入查询区间I=[a,b],通过数据结构D判断查询区间I的端 点元素a、b分别与滑动窗口W(t,n)的交集是否为空集;
首先,判断端点元素a:设置元素a的时间戳,记为Tt;设置元素a所在块的 值,记为aB;设置元素a所在块内偏移量,记为aO;生成端点元素a在4个哈希 表中散列桶的位置,Bj[hj(aB)],以及生成元素a的指纹f(aB);
当哈希表中4个散列桶中存在一个槽,记为s[a],使得s.Fp=f(aB),设置c为 s.P↓指向链接的单元格列表的第一个单元格,并且当c≠NULL,c.Ts≤(tmodn), 设置c指向c的下一个单元格指针,则当元素a在物联网数据流δ中偏移量大于其 块内偏移量时,判定端点元素a与滑动窗口W(t,n)的交集不为空集;
其次,判断端点元素b:设置元素b所在块的值,记为bB;b所在块内偏移量, 记为bO;生成端点元素b在4个哈希表中散列桶的位置,Bj[hj(bB)],以及生成元 素b的指纹f(bB);
当哈希表中4个散列桶中存在一个槽,记为s[b],使得s.Fp=f(bB),设置c为 s.P↑指向链接的单元格列表的第一个单元格,并且当c≠NULL,c.Ts≤(tmodn), 设置c指向c的下一个单元格指针,则当元素b在物联网数据流δ中偏移量大于其 块内偏移量,判定端点元素b与滑动窗口W(t,n)的交集不为空集;
进一步的,所述数据结构D支持数据插入,所述数据插入过程为:在时间点 t,物联网数据流δ连续生成的n个最新元素中的任一元素et,元素et所在块的 值为设置元素et的时间戳,记为 存储于环绕计数器中,且 设置元素et所在块内偏移量,记为 生成元素et在4个哈希表中散列桶的位置Bj[hj(etB)]和元素et的指 纹f(et B);
如果4个散列桶中存在一个槽s[q]使得s.Fp=f(et B),设置s.P↑指向的链接单元格列表中的第一个单元格为c1、s.P↓指向的链接单元格列表中的第一个单元格为 c2;
如果4个散列桶中不存在一个槽s[q]使得s.Fp=f(et B),则在4个散列桶中找 到空闲槽最小的桶,断开该空闲槽与相邻被占用的空闲槽的连接,生成两个新 的单元格,分别记单元格c1和c2,同时设置s.P↑指向c1,s.P↓指向c2,设置s.Fp=f(et B);
进一步的,所述数据结构D支持数据更新,所述数据更新过程为:当物联网 数据流δ在时间点t新到达的元素et插入数据结构D后,如果tmodn≠0,则元素 et停止更新;
如果tmodn=0,则对于四个哈希表的任一桶中的任意一个槽,设置c为s.P↑指 向链接的单元格列表的第一个单元格;当c≠NULL,如果c.Ts≤n,则删除c和c.Pt 所指向的子列表,否则,c=c.Pt;设置c为s.P↓指向链接的单元格列表的第一个 单元格,当c≠NULL,如果c.Ts≤n,删除c和c.Pt所指向的子列表;否则,c=c.Pt。
进一步的,所述数据结构D对任意长度不超过L的查询区间的空查询、数据 插入和数据更新均具有常数时间成本。
由以上技术方案可知,本发明的技术方案基于物联网数据流滑动窗口模型 的快速区间查询方法,获得了如下有益效果:
本发明公开的基于物联网数据流滑动窗口模型的快速区间查询方法,设计 了一种能够应用在服务器中、并能够节省内存空间的新数据结构D,数据结构D 包含五个独立的哈希函数,分别用于存储物联网数据流中元素的位置和指纹, 可以支持长度为L的任意区间的快速查询;本发明针对现有数据结构在查询过程 中等待时间很长的问题设计了一个在内存上的节省空间的数据结构,该结构能 够始终表示到时间点t的流δ的n个最新元素W(t,n),并且可以快速回答假阳性率 不超过ε,长度小于或者等于L的任何查询间隔I关于形式的 空查询;并且本发明设计的新的数据结构D不仅能支持数据查询操作,还支持数 据插入和更新;数据结构D具有常数时间成本,极大的减少了查询过程中的等待 时间,减少物联网流δ中元素插入数据结构所需的时间,以及从数据结构中驱逐 过时元素信息所需的时间。
应当理解,前述构思以及在下面更加详细地描述的额外构思的所有组合只 要在这样的构思不相互矛盾的情况下都可以被视为本公开的发明主题的一部分。
结合附图从下面的描述中可以更加全面地理解本发明教导的前述和其他方 面、实施例和特征。本发明的其他附加方面例如示例性实施方式的特征和/或有 益效果将在下面的描述中显见,或通过根据本发明教导的具体实施方式的实践 中得知。
附图说明
附图不意在按比例绘制。在附图中,在各个图中示出的每个相同或近似相 同的组成部分可以用相同的标号表示。为了清晰起见,在每个图中,并非每个 组成部分均被标记。现在,将通过例子并参考附图来描述本发明的各个方面的 实施例,其中:
图1为现有的数据结构促进物联网数据流上的实时服务例子的示意图;
图2为本发明数据结构D的组成结构图;
图3为数据结构D处理物联网数据流δ回答区间查询的过程;
图4为数据结构D的插入过程算法结构;
图5为数据结构D的更新过程算法结构;
图6为数据结构D的查询过程算法结构。
具体实施方式
为了更了解本发明的技术内容,特举具体实施例并配合所附图式说明如下。
在本公开中参照附图来描述本发明的各方面,附图中示出了许多说明的实 施例。本公开的实施例不定义包括本发明的所有方面。应当理解,上面介绍的 多种构思和实施例,以及下面更加详细地描述的那些构思和实施方式可以以很 多方式中任意一种来实施,这是因为本发明所公开的构思和实施例并不限于任 何实施方式。另外,本发明公开的一些方面可以单独使用,或者与本发明公开 的其他方面的任何适当组合来使用。
基于现有技术中的在解决(ε,L)-ARE-problem时设计的数据结构,都是针对静 态数据集而设计的,不支持恒定的查询时间,也不适用于物联网数据流场景, 并且现有的数据结构不考虑元素的删除和插入,并且在线性查询区间时所需等 待的时间长;本发明旨在提出一种基于物联网数据流滑动窗口模型的快速区间 查询方法,克服了数据结构无法应用于物联网数据流和没有研究支持快速范围 空查询优化方法等问题,支持长度为L的任意查询区间的快速查询、数据插入和 更新,并且具有常数时间成本。
下面结合附图所示的实施例,对本发明的基于物联网数据流滑动窗口模型 的快速区间查询方法作进一步具体介绍。
结合图2、图3和图6所示,一种基于物联网数据流滑动窗口模型的快速区 间查询方法,包括如下步骤:
所述数据结构D包括4个独立的哈希函数hj,j∈{1,2,3,4},以及与哈希函数 分别对应的4个哈希表Bj,j∈{1,2,3,4};其中,每个哈希表包含g个桶,g={1,..., n/24},g∈N*;每个桶包含8个槽,记为s[q],q={1,2,...,8};
任一槽s[q]包括三部分:s.Fp、s.P↑和s.P↓,s.Fp用于存储物联网数据流δ中 对应元素的指纹;s.P↑用于存储指向链接的单元格列表的指针,该指针首先按照 时间戳的升序排列,然后按偏移值的升序排列;s.P↓用于存储指向链接的单元列 表的指针,该指针首先按照时间戳的升序排列,然后按偏移值的降序排列;
对于链接的单元格列表中的任一单元格,记为c,由s.P↑或s.P↓指向,包含三 个部分:c.Ts,c.O和c.Pt,其中,c.Ts用于存储物联网数据流δ中对应元素的时 间戳;c.O用于存储对应元素在物联网数据流δ中的偏移量;c.Pt用于存储指向该 链接的单元格列表的下一个单元格的指针;
2)在时间点t,输入查询区间I=[a,b],通过数据结构D判断查询区间I的端 点元素a、b分别与滑动窗口W(t,n)的交集是否为空集;
首先,判断端点元素a:设置元素a的时间戳,记为Tt;设置元素a所在块的 值,记为aB;设置元素a所在块内偏移量,记为aO;生成端点元素a在4个哈希 表中散列桶的位置,Bj[hj(aB)],以及生成元素a的指纹f(aB);
当哈希表中4个散列桶中存在一个槽,记为s[a],使得s.Fp=f(aB),设置c为 s.P↓指向链接的单元格列表的第一个单元格,并且当c≠NULL,c.Ts≤(tmodn), 设置c指向c的下一个单元格指针,则当元素a在物联网数据流δ中偏移量大于其 块内偏移量时,判定端点元素a与滑动窗口W(t,n)的交集不为空集;
其次,判断端点元素b:设置元素b所在块的值,记为bB;b所在块内偏移量, 记为bO;生成端点元素b在4个哈希表中散列桶的位置,Bj[hj(bB)],以及生成元 素b的指纹f(bB);
当哈希表中4个散列桶中存在一个槽,记为s[b],使得s.Fp=f(bB),设置c为 s.P↑指向链接的单元格列表的第一个单元格,并且当c≠NULL,c.Ts≤(tmodn), 设置c指向c的下一个单元格指针,则当元素b在物联网数据流δ中偏移量大于其 块内偏移量,判定端点元素b与滑动窗口W(t,n)的交集不为空集;
在上述步骤中,哈希表中任一个桶中的任一槽s[q]的三个部分中s.Fp包含比特、s.P↑包含2log(2n)比特和s.P↓包含2log(2n)比特,因此,数据结构D 的四个哈希表中包含的所有槽的数量为,个,需要内存位的数量为比特。所述由s.P↑或s.P↓指向的任一单元格c包含的三个 部分c.Ts,c.O和c.Pt,其中c.O包含log2(L)比特、c.Ts和c.Pt均包含2log(2n)比特, 由于每个元素et∈W(t,n)的偏移量eo和时间戳最多存储在两个单元格中,因此 对于这些链接的单元格列表,至多需要内存位的数量为2n[log2(L)+2log(2n)]比特。
结合图3所示,所述数据结构D支持数据插入,所述数据插入过程为:对于 在时间点t,物联网数据流δ连续生成的n个最新元素中的任一元素et,元素et所 在块的值为设置元素et的时间戳,记为 存储于环绕计数器中,且 设置元素et所在块内偏移量,记为 生成元素et在4个哈希表中散列桶的位置Bj[hj(et B)]和元素et的指 纹f(et B)。
如果4个散列桶中存在一个槽s[q]使得s.Fp=f(et B),设置s.P↑指向的链接单元格列表中的第一个单元格为c1、s.P↓指向的链接单元格列表中的第一个单元格为 c2;当cc1≠NULL,或c1.Ts≤(tmodn)时,则删除c1.Pt指向的子列表中的单 元格,否则,将c1指向c1的下一个单元格指针;当c2≠NULL,或 c2.Ts≤(tmodn)时,则删除c2.Pt指向的子列表中的单元格,否则,将c2指向c2的 下一个单元格指针。
如果4个散列桶中不存在一个槽s[q]使得则在4个散列桶中找 到空闲槽最小的桶,断开该空闲槽与相邻被占用的空闲槽的连接,生成两个新 的单元格,分别记单元格c1和c2,同时设置s.P↑指向c1,s.P↓指向c2,设置s.Fp=f(et B); 当c1≠NULL且c2≠NULL时,设置 和c1.Pt=NULL,设置 和c2.Pt=NULL;通过上述判断完成在数据结构D中的数据插入操作。
结合图4所示,所述数据结构D支持数据更新,所述数据更新过程为:当物 联网数据流δ在时间点t新到达的元素et插入数据结构D后,如果tmodn≠0,则 元素et停止更新;
如果tmodn=0,则对于四个哈希表的任一桶中的任意一个槽,设置c为s.P↑指 向链接的单元格列表的第一个单元格;当c≠NULL,如果c.Ts≤n,则删除c和c.Pt 所指向的子列表,否则,c=c.Pt;设置c为s.P↓指向链接的单元格列表的第一个 单元格,当c≠NULL,如果c.Ts≤n,删除c和c.Pt所指向的子列表;否则,c=c.Pt;对 所有插入到数据结构D中的元素均按照上述过程完成数据结构D的更新。
结合图5所示的数据结构D基于查询区间的查询过程算法结构所示,所述数 据结构D对任意长度不超过L的查询区间的空查询、数据插入和数据更新均具有 常数时间成本,该常数时间成本记为O(1)。
下面分别结合图3至图6具体说明数据结构D对任意长度不超过L的查询区 间的空查询、数据插入和数据更新均具有常数时间成本的过程。
其中,如图3和图4所示,对任意长度不超过L的查询区间的空查询的查询 时间主要包括两部分,第一部分为算法步骤第2-3行,需要在最多48个桶中找 出满足s.Fp=f(et B)的槽s,至多48次数据比较耗时,该部分一般耗时较短,且 为常数时间,并且远远小于后续检查时间;第二部分为执行算法步骤第5-6行 和第13-14行的耗时,且为查询时间的重点关心段,即算法步骤第5-6行和第 13-14需要检查的单元格数量中的预期数量的时间。
在不失一般性的情况下,设定由s.P↓指向的链接的单元格列表包含K个单元 格:c1,c2,...,cK,其中K≤L,K是正整数,因为查询区间的元素最多有不超过L个 不同的偏移值。
为便于说明和计算,定义随机变量Yi,i=1,2,...,K,则:
基于在数据结构D中存储的2n个元素中最多有n个过期元素,并且c1.Ts<c2.Ts<…<cK.Ts,则:
由式1和式2可得,算法步骤中第5-6行需要检查单元格的期望数量为:
在K已知的条件下,式3的计算结果为常数,即为O(1);同时算法步骤的第 13-14行需要检查单元格预期数量的耗时计算步骤及同算法步骤的第5-6行的计 算过程,也得到相同的结果,即常数时间成本O(1);因此结合第一部分和第二部 分组成的查询时间可知数据结构D对任意长度不超过L的查询区间所需要的查 询时间为始终为常数时间成本,O(1)+O(1)=O(1)。
结合图5所示的数据结构D的插入过程算法结构,所述数据结构D支持数据 插入操作所需要的时间也为常数时间成本O(1)。在数据插入算法中,插入算法所 需的时间也主要是由算法步骤的第5-6行和第10-11行确定,因为插入算法中 的其它步骤只需要恒定的常数时间,因此进一步分析计算插入算法执行第5-6 行和第10-11行需要使用的预期比较次数。
在不失一般性的情况下,定义随机变量Zi,i=1,2,...,K,则:
由式4和式5可得,需要检查单元格预期数量为:
在K已知的条件下,式6的计算结果为常数,即O(1);插入算法步骤中第10-11 行需要检查单元格预期数量的耗时计算步骤及过程同算法步骤的第5-6行的计 算过程,也得到相同的结果,即常数时间成本O(1);因此由式6可知数据结构D 插入任一元素et的时间开销为常数时间成本,也即O(1)+O(1)=O(1)。
结合图6所示,在数据结构D完成数据插入后,进行数据更新时,对任意一 个单元格平均更新时间也为常数时间成本O(1);即在时间点t最多扫描数据结构 D中的2×n个单元格:n,2n,....,则对任意一个单元格平均更新时间是 也是常数时间成本。
本发明公开的基于物联网数据流滑动窗口模型的快速区间查询方法,旨在 设计一种能够应用在服务器中、并能够节省内存空间的新数据结构D,该数据结 构D可以支持长度为L的任意区间的快速查询;本发明的数据结构D能够始终表 示到时间点t的流δ的n个最新元素W(t,n),并且可以快速回答假阳性率不超过ε, 长度小于或者等于L的任何查询间隔I关于形式的空查询, 并且通过对数据结构D的改进,极大的减少物联网流δ中元素插入数据结构所需 的时间,以及从数据结构中驱逐过时元素信息所需的时间,极大的减少了查询 过程中的等待时间。
虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明。本发明 所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作各 种的更动与润饰。因此,本发明的保护范围当视权利要求书所界定者为准。
Claims (4)
1.一种基于物联网数据流滑动窗口模型的快速区间查询方法,其特征在于,包括如下步骤:
所述数据结构D包括4个独立的哈希函数hj,j∈{1,2,3,4},以及与哈希函数分别对应的4个哈希表Bj,j∈{1,2,3,4};其中,每个哈希表包含g个桶,g={1,...,n/24},g∈N*;每个桶包含8个槽,记为s[q],q={1,2,...,8};
任一槽s[q]包括三部分:s.Fp、s.P↑和s.P↓,s.Fp用于存储物联网数据流δ中对应元素的指纹;s.P↑用于存储指向链接的单元格列表的指针,该指针首先按照时间戳的升序排列,然后按偏移值的升序排列;s.P↓用于存储指向链接的单元列表的指针,该指针首先按照时间戳的升序排列,然后按偏移值的降序排列;
对于链接的单元格列表中的任一单元格,记为c,由s.P↑或s.P↓指向,包含三个部分:c.Ts,c.O和c.Pt,其中,c.Ts用于存储物联网数据流δ中对应元素的时间戳;c.O用于存储对应元素在物联网数据流δ中的偏移量;c.Pt用于存储指向该链接的单元格列表的下一个单元格的指针;
2)在时间点t,输入查询区间I=[a,b],通过数据结构D判断查询区间I的端点元素a、b分别与滑动窗口W(t,n)的交集是否为空集;
首先,判断端点元素a:设置元素a的时间戳,记为Tt;设置元素a所在块的值,记为aB;设置元素a所在块内偏移量,记为aO;生成端点元素a在4个哈希表中散列桶的位置,Bj[hj(aB)],以及生成元素a的指纹f(aB);
当哈希表中4个散列桶中存在一个槽,记为s[a],使得s.Fp=f(aB),设置c为s.P↓指向链接的单元格列表的第一个单元格,并且当c≠NULL,c.Ts≤(t mod n),设置c指向c的下一个单元格指针,则当元素a在物联网数据流δ中偏移量大于其块内偏移量时,判定端点元素a与滑动窗口W(t,n)的交集不为空集;
其次,判断端点元素b:设置元素b所在块的值,记为bB;b所在块内偏移量,记为bO;生成端点元素b在4个哈希表中散列桶的位置,Bj[hj(bB)],以及生成元素b的指纹f(bB);
当哈希表中4个散列桶中存在一个槽,记为s[b],使得s.Fp=f(bB),设置c为s.P↑指向链接的单元格列表的第一个单元格,并且当c≠NULL,c.Ts≤(t mod n),设置c指向c的下一个单元格指针,则当元素b在物联网数据流δ中偏移量大于其块内偏移量,判定端点元素b与滑动窗口W(t,n)的交集不为空集;
当查询区间I的两个端点元素a、b与滑动窗口W(t,n)的交集均为空集时,查询区间
2.根据权利要求1所述的基于物联网数据流滑动窗口模型的快速区间查询方法,其特征在于,所述数据结构D支持数据插入,所述数据插入过程为:
在时间点t,物联网数据流δ连续生成的n个最新元素中的任一元素et,元素et所在块的值为设置元素et的时间戳,记为 存储于环绕计数器中,且设置元素et所在块内偏移量,记为 生成元素et在4个哈希表中散列桶的位置Bj[hj(et B)]和元素et的指纹f(et B);
如果4个散列桶中存在一个槽s[q]使得s.Fp=f(et B),设置s.P↑指向的链接单元格列表中的第一个单元格为c1、s.P↓指向的链接单元格列表中的第一个单元格为c2;
如果4个散列桶中不存在一个槽s[q]使得s.Fp=f(et B),则在4个散列桶中找到空闲槽最小的桶,断开该空闲槽与相邻被占用的空闲槽的连接,生成两个新的单元格,分别记单元格c1和c2,同时设置s.P↑指向c1,s.P↓指向c2,设置s.Fp=f(et B);
3.根据权利要求2所述的基于物联网数据流滑动窗口模型的快速区间查询方法,其特征在于,所述数据结构D支持数据更新,所述数据更新过程为:
当物联网数据流δ在时间点t新到达的元素et插入数据结构D后,如果t mod n≠0,则元素et停止更新;
如果t mod n=0,则对于四个哈希表的任一桶中的任意一个槽:设置c为s.P↑指向链接的单元格列表的第一个单元格,当c≠NULL,如果c.Ts≤n,则删除c和c.Pt所指向的子列表,否则,c=c.Pt;设置c为s.P↓指向链接的单元格列表的第一个单元格,当c≠NULL,如果c.Ts≤n,删除c和c.Pt所指向的子列表;否则,c=c.Pt。
4.根据权利要求3所述的基于物联网数据流滑动窗口模型的快速区间查询方法,其特征在于,所述数据结构D对任意长度不超过L的查询区间的空查询、数据插入和数据更新均具有常数时间成本。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910760323.3A CN110750565B (zh) | 2019-08-16 | 2019-08-16 | 基于物联网数据流滑动窗口模型的实时区间查询方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910760323.3A CN110750565B (zh) | 2019-08-16 | 2019-08-16 | 基于物联网数据流滑动窗口模型的实时区间查询方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110750565A true CN110750565A (zh) | 2020-02-04 |
CN110750565B CN110750565B (zh) | 2022-02-22 |
Family
ID=69275886
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910760323.3A Active CN110750565B (zh) | 2019-08-16 | 2019-08-16 | 基于物联网数据流滑动窗口模型的实时区间查询方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110750565B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115547508A (zh) * | 2022-11-29 | 2022-12-30 | 联仁健康医疗大数据科技股份有限公司 | 数据校正方法、装置、电子设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100817026B1 (ko) * | 2006-12-05 | 2008-03-26 | 한국전자통신연구원 | 공간 슬라이딩 윈도우를 이용한 공간 데이터 스트림 처리시스템 및 방법 |
CN103154935A (zh) * | 2010-10-11 | 2013-06-12 | 惠普发展公司,有限责任合伙企业 | 用于查询数据流的系统和方法 |
CN103177130A (zh) * | 2013-04-25 | 2013-06-26 | 苏州大学 | 一种分布式数据流上的K-Skyband连续查询方法及系统 |
CN103309966A (zh) * | 2013-06-04 | 2013-09-18 | 中国科学院信息工程研究所 | 基于时间滑动窗口的数据流点连接查询方法 |
CN104156524A (zh) * | 2014-08-01 | 2014-11-19 | 河海大学 | 交通数据流的聚集查询方法及系统 |
CN106777093A (zh) * | 2016-12-14 | 2017-05-31 | 大连大学 | 基于空间时序数据流应用的Skyline查询系统 |
CN109783520A (zh) * | 2018-12-26 | 2019-05-21 | 东华大学 | 基于滑动窗口的可伸缩的大规模流数据顺序特征维持方法 |
-
2019
- 2019-08-16 CN CN201910760323.3A patent/CN110750565B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100817026B1 (ko) * | 2006-12-05 | 2008-03-26 | 한국전자통신연구원 | 공간 슬라이딩 윈도우를 이용한 공간 데이터 스트림 처리시스템 및 방법 |
CN103154935A (zh) * | 2010-10-11 | 2013-06-12 | 惠普发展公司,有限责任合伙企业 | 用于查询数据流的系统和方法 |
CN103177130A (zh) * | 2013-04-25 | 2013-06-26 | 苏州大学 | 一种分布式数据流上的K-Skyband连续查询方法及系统 |
CN103309966A (zh) * | 2013-06-04 | 2013-09-18 | 中国科学院信息工程研究所 | 基于时间滑动窗口的数据流点连接查询方法 |
CN104156524A (zh) * | 2014-08-01 | 2014-11-19 | 河海大学 | 交通数据流的聚集查询方法及系统 |
CN106777093A (zh) * | 2016-12-14 | 2017-05-31 | 大连大学 | 基于空间时序数据流应用的Skyline查询系统 |
CN109783520A (zh) * | 2018-12-26 | 2019-05-21 | 东华大学 | 基于滑动窗口的可伸缩的大规模流数据顺序特征维持方法 |
Non-Patent Citations (2)
Title |
---|
杨永滔: "n-of-N数据流模型上高效概率Skyline计算", 《计算机软件及计算机应用》 * |
王栩等: "基于滑动窗口的数据流压缩技术及连续查询处理方法", 《计算机研究与发展》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115547508A (zh) * | 2022-11-29 | 2022-12-30 | 联仁健康医疗大数据科技股份有限公司 | 数据校正方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110750565B (zh) | 2022-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Lim et al. | Mascot: Memory-efficient and accurate sampling for counting local triangles in graph streams | |
Chen et al. | Density-based clustering for real-time stream data | |
Hua et al. | Locality-sensitive bloom filter for approximate membership query | |
Li et al. | Efficient core maintenance in large dynamic graphs | |
Tu et al. | Stream data clustering based on grid density and attraction | |
WO2017012491A1 (zh) | 一种图像高维特征的相似比较方法及装置 | |
Singh et al. | Probabilistic data structures for big data analytics: A comprehensive review | |
CN110874488A (zh) | 一种基于混合差分隐私的流数据频数统计方法、装置、系统及存储介质 | |
CN102915347B (zh) | 一种分布式数据流聚类方法及系统 | |
CN114168608B (zh) | 一种用于更新知识图谱的数据处理系统 | |
CN108304409B (zh) | 一种基于进位的Sketch数据结构的数据频度估计方法 | |
Yu et al. | Effective algorithms for vertical mining probabilistic frequent patterns in uncertain mobile environments | |
Alrabea et al. | Enhancing k-means algorithm with initial cluster centers derived from data partitioning along the data axis with PCA | |
Park et al. | Cell trees: An adaptive synopsis structure for clustering multi-dimensional on-line data streams | |
Deng et al. | New estimation algorithms for streaming data: Count-min can do more | |
CN110750565B (zh) | 基于物联网数据流滑动窗口模型的实时区间查询方法 | |
Beyer et al. | Distinct-value synopses for multiset operations | |
Hershberger et al. | Adaptive sampling for geometric problems over data streams | |
CN108173876B (zh) | 基于最大频繁模式的动态规则库构建方法 | |
Huang et al. | Optimisation of mobile intelligent terminal data pre‐processing methods for crowd sensing | |
Cohen | Stream sampling framework and application for frequency cap statistics | |
US10706035B2 (en) | Auto unload | |
CN116303585A (zh) | 一种基于Flag标志位的数据流计数方法、设备和存储介质 | |
Fan et al. | OneSketch: A Generic and Accurate Sketch for Data Streams | |
Liu et al. | Towards in-network compact representation: Mergeable counting bloom filter vis cuckoo scheduling |
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 |