CN110019408B - 一种用于追溯数据状态的方法、装置及计算机设备 - Google Patents

一种用于追溯数据状态的方法、装置及计算机设备 Download PDF

Info

Publication number
CN110019408B
CN110019408B CN201711483617.3A CN201711483617A CN110019408B CN 110019408 B CN110019408 B CN 110019408B CN 201711483617 A CN201711483617 A CN 201711483617A CN 110019408 B CN110019408 B CN 110019408B
Authority
CN
China
Prior art keywords
data
offset
state
increment
target data
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
CN201711483617.3A
Other languages
English (en)
Other versions
CN110019408A (zh
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 Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo 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 Qihoo Technology Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201711483617.3A priority Critical patent/CN110019408B/zh
Publication of CN110019408A publication Critical patent/CN110019408A/zh
Application granted granted Critical
Publication of CN110019408B publication Critical patent/CN110019408B/zh
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/2474Sequence data queries, e.g. querying versioned data

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Fuzzy Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种用于追溯数据状态的方法、装置及计算及设备,所述方法包括:从原始流数据中获取目标数据状态的多个增量数据以及每个所述增量数据对应的偏移量,所述原始流数据的数据状态包括所述目标数据状态;将所述目标数据状态的多个增量数据及每个增量数据对应的所述偏移量存储至预设的数据库中;当需要追溯所述原始流数据在指定范围内的目标数据状态的全量数据时,基于针对所述原始流数据的所述目标数据状态在所述数据库中存储的信息,查找所述指定范围内包含的各偏移量对应的所述目标数据状态的各增量数据;根据所述指定范围内的所述目标数据状态的各增量数据,获得所述原始流数据在所述指定范围内的目标数据状态的全量数据。

Description

一种用于追溯数据状态的方法、装置及计算机设备
技术领域
本发明涉及网络通信技术领域,尤其涉及一种用于追溯数据状态的方法、装置及计算及设备。
背景技术
流数据是一组顺序、大量、快速、连续到达的数据序列,由于流数据是无限增长的,一般都不会永久保存流数据的原始数据。
但是在有些场景中,需要对某个历史时间段(比如某个时刻之前的一年内)、具有某种数据状态的流数据进行统计,而由于原始数据是没有永久保存的,那就无法获取到某个时刻之前一年内的原始数据,因此就无法获取到该时间段内该流数据的数据状态。
发明内容
鉴于上述问题,本发明实施例提供了一种用于追溯数据状态的方法、装置及计算及设备,用于解决现有技术中由于流数据的原始数据无法永久保存,导致无法通过原始流数据来获取流数据的数据状态的技术问题。
第一方面,本发明提供一种用于追溯数据状态的方法,所述方法包括:
从原始流数据中获取目标数据状态的多个增量数据以及每个所述增量数据对应的偏移量,所述原始流数据的数据状态包括所述目标数据状态;
将所述目标数据状态的多个增量数据及每个增量数据对应的所述偏移量存储至预设的数据库中;
当需要追溯所述原始流数据在指定范围内的目标数据状态的全量数据时,基于针对所述原始流数据的所述目标数据状态在所述数据库中存储的信息,查找所述指定范围内包含的各偏移量对应的所述目标数据状态的各增量数据;
根据所述指定范围内的所述目标数据状态的各增量数据,获得所述原始流数据在所述指定范围内的目标数据状态的全量数据。
可选的,所述从原始流数据中获取目标数据状态的多个增量数据以及每个所述增量数据对应的偏移量,包括:
获取所述目标数据状态对应的提取标识;
根据所述提取标识从所述原始流数据中提取所述目标数据状态的多个增量数据以及每个所述增量数据及对应的偏移量。
可选的,还包括:
预先对所述数据库进行分块,形成各数据块,各所述数据块用于存储不同类型的目标数据状态的增量数据。
可选的,所述将所述目标数据状态的多个增量数据及每个增量数据对应的所述偏移量存储至预设的数据库中,包括:
对所述目标数据状态的多个增量数据分别进行打包,生成多个数据包;
在每个所述数据包中分别标记对应的时间偏移量,生成带有所述时间偏移量的数据包;
将所述带有所述时间偏移量的各数据包存储至所述数据库相应的数据块中。
可选的,所述将所述目标数据状态的多个增量数据及每个增量数据对应的所述偏移量存储至预设的数据库中,包括:
对所述目标数据状态的多个增量数据分别进行打包,生成多个数据包;
将每个所述数据包存储至预设的数据队列中,并在每个所述数据包中分别标记对应的序号偏移量,生成带有所述序号偏移量的数据包;
将所述数据队列存储至所述数据库相应的数据块中。
可选的,所述将所述目标数据状态的所述多个增量数据及每个增量数据对应的所述偏移量存储至预设的数据库中,包括:
对所述目标数据状态的多个增量数据分别进行打包,生成多个数据包;
在每个数据包中分别标记对应的地址偏移量,生成带有所述地址偏移量的数据包;
将所述带有所述地址偏移量的各数据包存储至所述数据库中相应的数据块中。
可选的,所述当需要追溯所述原始流数据在指定范围内的目标数据状态的全量数据时,基于针对所述原始流数据的所述目标数据状态在所述数据库中存储的信息,查找所述指定范围内包含的各偏移量对应的所述目标数据状态的各增量数据包括:
当接收到请求追溯所述原始流数据在指定范围内的目标数据状态的全量数据的请求信息时,从所述数据库查找针对所述原始流数据的所述目标数据状态而存储的信息;
将所述存储的信息中的多个偏移量与所述指定范围进行匹配,确定所述指定范围内包含的各偏移量;
获得所述指定范围内包含的各偏移量对应的所述目标数据状态的各增量数据。
可选的,所述根据所述指定范围内的目标数据状态的各增量数据,获得所述原始流数据在所述指定范围内的目标数据状态的全量数据,包括:
对所述指定范围内的所述目标数据状态的各增量数据进行累加,获取累加结果,所述累加结果为所述原始流数据在所述指定范围内的目标数据状态的全量数据。
可选的,所述目标数据状态包括:网页点击数量、网站访问量及预算经费。
第二方面,本发明实施例提供一种用于追溯数据状态的装置,所述装置包括:
第一获取单元,用于从原始流数据中获取目标数据状态的多个增量数据以及每个所述增量数据对应的偏移量,所述原始流数据的数据状态包括所述目标数据状态;
存储单元,用于将所述目标数据状态的多个增量数据及每个增量数据对应的所述偏移量存储至预设的数据库中;
第一查找单元,用于当需要追溯所述原始流数据在指定范围内的目标数据状态的全量数据时,基于针对所述原始流数据的所述目标数据状态在所述数据库中存储的信息,查找所述指定范围内包含的各偏移量对应的所述目标数据状态的各增量数据;
第二获取单元,用于根据所述指定范围内的所述目标数据状态的各增量数据,获得所述原始流数据在所述指定范围内的目标数据状态的全量数据。
可选的,所述第一获取单元具体用于:
获取所述目标数据状态对应的提取标识;
根据所述提取标识从所述原始流数据中提取所述目标数据状态的多个增量数据以及每个所述增量数据及对应的偏移量。
可选的,所述装置还包括:
分块单元,用于预先对所述数据库中进行分块,形成各数据块;各所述数据块用于存储不同类型的目标数据状态的增量数据。
可选的,所述存储单元具体用于:
对所述目标数据状态的多个所述增量数据分别进行打包,生成多个数据包;
在每个所述数据包中分别标记对应的时间偏移量,生成带有所述时间偏移量的数据包;
将所述带有所述时间偏移量的各数据包存储至所述数据库相应的数据块中。
可选的,所述存储单元具体用于:
对所述多个增量数据分别进行打包,生成多个数据包;
将每个所述数据包存储至预设的数据队列中,并在每个所述数据包中分别标记对应的序号偏移量,生成带有所述序号偏移量的数据包;
将所述数据队列存储至所述数据库相应的数据块中。
可选的,所述存储单元具体用于:
对所述多个增量数据分别进行打包,生成多个数据包;
在每个数据包中分别标记对应的地址偏移量,生成带有所述地址偏移量的数据包;
将所述带有所述地址偏移量的各数据包存储至所述数据库中相应的数据块中。
可选的,所述第一查找单元具体用于:
当接收到请求追溯所述原始流数据在指定范围内的目标数据状态的全量数据的请求信息时,从所述数据库查找针对所述原始流数据的所述目标数据状态而存储的信息;
将所述存储的信息中的多个偏移量与所述指定范围进行匹配,确定所述指定范围内包含的各偏移量;
获得所述指定范围内包含的各偏移量对应的所述目标数据状态的各增量数据。
可选的,所述第二获取单元具体用于:
对所述指定范围内的所述目标数据状态的各增量数据进行累加,获取累加结果,所述累加结果为所述原始流数据在所述指定范围内的目标数据状态的全量数据。
可选的,所述目标数据状态包括:网页点击数量、网站访问量及预算经费。
第三方面,本发明实施例提供一种用于追溯数据状态的方法,所述方法包括:
从针对原始流数据的目标数据状态在数据库存储的信息中查找指定范围内的各偏移量,所述数据库中预先存储有所述原始流数据的目标数据状态的多个增量数据以及每个增量数据对应的偏移量;
根据所述指定范围内的各偏移量,在所述数据库中查找各所述偏移量对应的所述目标数据状态的各增量数据;
根据所述目标数据状态在所述指定范围内的各增量数据,获得所述原始流数据在所述指定范围内的目标数据状态的全量数据。
第四方面,本发明实施例提供一种用于追溯数据状态的装置,所述装置包括:
第二查找单元,用于在基于针对所述原始流数据的目标数据状态在所述数据库中存储的信息中查找指定范围内的各偏移量,所述数据库中预先存储有所述原始流数据的目标数据状态的多个增量数据以及每个增量数据对应的偏移量;
第三查找单元,用于根据所述指定范围内的各偏移量,在所述数据库中查找各所述偏移量对应的所述目标数据状态的各增量数据;
第三获取单元,用于根据所述目标数据状态在所述指定范围内的各增量数据,获得所述原始流数据在所述指定范围内的目标数据状态的全量数据。
第五方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现第一方面的任一实现方式所述方法的步骤;
第六方面,本发明实施例提供一种用于追溯数据状态的计算机设备,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中,
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行第一方面的任一实现方式所述方法的步骤。
本申请实施例中提供的技术方案,至少具有如下技术效果或优点:
本发明实施例提供了一种用于追溯数据状态的方法、装置及计算及设备,所述方法包括:从原始流数据中获取目标数据状态的多个增量数据以及每个所述增量数据对应的偏移量,所述原始流数据的数据状态包括所述目标数据状态;将所述目标数据状态的多个增量数据及每个增量数据对应的所述偏移量存储至预设的数据库中;当需要追溯所述原始流数据在指定范围内的目标数据状态的全量数据时,基于针对所述原始流数据的所述目标数据状态在所述数据库中存储的信息,查找所述指定范围内包含的各偏移量对应的所述目标数据状态的各增量数据;根据所述指定范围内的所述目标数据状态的各增量数据,获得所述原始流数据在所述指定范围内的目标数据状态的全量数据;如此,预先将目标数据状态的增量数据及每个增量数据对应的偏移量从原始流数据中提取出,存储至预设的数据库中;当需要获取原始流数据在指定范围内的目标数据状态的全量数据时,可以先获取到该指定范围内的各偏移量,然后根据指定范围内的各偏移量直接从数据库中查找到对应的各增量数据,最后根据指定范围内的各所述增量数据确定原始流数据在所述指定范围内的所述目标数据状态的全量数据;这样在不需要永久保存原始流数据的情况下,也可以方便、快捷地统计出原始流数据在某个指定范围内的目标数据状态的全量数据,并且由于没有保存大量的原始流数据,因此网络运行效率也不会受到影响。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明实施例一的用于追溯数据状态的方法流程示意图;
图2示出了根据本发明实施例二的用于追溯数据状态的装置结构示意图;
图3示出了根据本发明实施例三的用于追溯数据状态的方法流程示意图;
图4示出了根据本发明实施例四的用于追溯数据状态的装置结构示意图;
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明实施例提供了一种用于追溯数据状态的方法,如图1所示,所述方法包括:
S110,从原始流数据中获取目标数据状态的多个增量数据以及每个所述增量数据对应的偏移量,所述原始流数据的数据状态包括所述目标数据状态;
本步骤中,所述原始流数据中可以为一个海量数据,原始流数据中可以包括多种流数据,每种流数据又包括多种数据状态。比如所述流数据可以包括点击数据、访问数据及经费数据等;所述点击数据的数据状态可以包括:网页点击数量、点击频率等;访问数据的数据状态包括:网站访问量;经费数据的数据状态包括:预算经费等。
当然,所述原始流数据也可以为多种原始流数据,每种原始流数据是不同的,每种原始流数据中可以只包括一种流数据,这种流数据可以包括多个数据状态。比如一种原始流数据中可以只包括点击数据,而点击数据的数据状态又包括:点击数量、点击频率等。而另一种原始流数据中可以只包括访问数据,访问数据的数据状态包括:网站访问量。以上两种方式都能使用,在此不做限制。
为了可以能够追溯原始流数据在指定范围内的目标状态的增量数据时,本步骤中预先从原始流数据中获取目标数据状态的多个增量数据以及每个所述增量数据对应的偏移量,所述原始流数据的数据状态包括所述目标数据状态,所述目标数据状态可以包括网页点击数量、网站访问量、预算经费中的一种或多种。
具体地,因每种数据状态都对应的不同的提取标识,比如网页点击数量对应的提取标识为A,网站访问量对应的提取标识为B、预算经费对应的提取标识为C;因此所述从原始流数据中获取目标数据状态的多个增量数据以及每个所述增量数据对应的偏移量,包括:
获取所述目标数据状态对应的提取标识;根据所述提取标识从所述原始流数据中提取所述目标数据状态的多个增量数据以及每个所述增量数据及对应的偏移量。
S111,将所述目标数据状态的多个增量数据及每个增量数据对应的所述偏移量存储至预设的数据库中;
本步骤中,获取到目标数据状态的多个增量数据及每个增量数据对应的所述偏移量后,将目标数据状态的多个增量数据及每个增量数据对应的所述偏移量存储至数据库中。
这里需要预先建立一个数据库,所述数据库可以为任意类型的数据库,优选地为基于KEY-VALUE的NOSQL数据库。数据库建立好之后,预先对所述数据库进行分块,形成各数据块,各所述数据块用于存储不同类型的目标数据状态的增量数据。那么就可以将目标数据状态的多个增量数据及每个增量数据对应的所述偏移量存储至数据库中相应的数据块中。
其中,所述偏移量可以包括:时间偏移量、地址偏移量及序号偏移量;那么将目标数据状态的多个增量数据及每个增量数据对应的所述偏移量存储至数据库相应的数据块中就可以利用以下几种方式进行存储:
对所述目标数据状态的多个增量数据分别进行打包,生成多个数据包;
在每个所述数据包中分别标记对应的时间偏移量,生成带有所述时间偏移量的数据包;将所述带有所述时间偏移量的各数据包存储至所述数据库相应的数据块中,并为每个数据块分配一个唯一的第一key值。
或者,对所述目标数据状态的多个增量数据分别进行打包,生成多个数据包;将每个所述数据包存储至预设的数据队列中,并在每个所述数据包中分别标记对应的序号偏移量,生成带有所述序号偏移量的数据包;将所述数据队列存储至所述数据库相应的数据块中。
或者,对所述目标数据状态的多个增量数据分别进行打包,生成多个数据包;在每个数据包中分别标记对应的地址偏移量,生成带有所述地址偏移量的数据包;将所述带有所述地址偏移量的各数据包存储至所述数据库中相应的数据块中。
S112,当需要追溯所述原始流数据在指定范围内的目标数据状态的全量数据时,基于针对所述原始流数据的所述目标数据状态在所述数据库中存储的信息,查找所述指定范围内包含的各偏移量对应的所述目标数据状态的各增量数据;
将目标数据状态的多个增量数据及每个增量数据对应的所述偏移量存储至相应的数据块中后,当需要追溯所述原始流数据在指定范围内的目标数据状态的全量数据时,基于针对所述原始流数据的所述目标数据状态在所述数据库中存储的信息,查找所述指定范围内包含的各偏移量对应的所述目标数据状态的各增量数据。
具体地,当需要追溯所述原始流数据在指定范围内的目标数据状态的全量数据时,会发送一个请求信息,当接收到请求追溯所述原始流数据在指定范围内的目标数据状态的全量数据的请求信息时,从所述数据库查找针对所述原始流数据的所述目标数据状态而存储的信息;将所述存储的信息中的多个偏移量与所述指定范围进行匹配,确定所述指定范围内包含的各偏移量;获得所述指定范围内包含的各偏移量对应的所述目标数据状态的各增量数据。其中,所述指定范围包括:指定时间段、指定序号段及指定位置段。
同样地,因存储方式包括以上三种,那么相应地,将所述存储的信息中的多个偏移量与所述指定范围进行匹配,确定所述指定范围内包含的各偏移量;获得所述指定范围内包含的各偏移量对应的所述目标数据状态的各增量数据时也包括以下三种:
对所述请求信息进行解析,获取所述目标数据状态的多个增量数据所在的数据块的第二key值;根据所述第一key值及所述第二key值确定所述目标数据状态的多个增量数据所在的数据块,具体为在多个第一key值中查找与第二key值相同的第一key值,再根据所述第一key值确定所述目标数据状态的多个增量数据所在的数据块。
然后根据所述数据块中存储的信息,将所述存储的信息中的多个时间偏移量与所述指定时间段进行匹配,确定所述指定时间段内的各时间偏移量,再根据指定时间段内的各时间偏移量获取所述指定时间段内的各时间偏移量对应的各增量数据的数据包;
对所述各增量数据的数据包进行解析,获取所述指定时间段内的所述各时间偏移量对应的所述目标数据状态的各增量数据。
或者,根据所述数据块的数据队列中存储的信息,将所述存储的信息中的多个序号偏移量与所述指定序号段进行匹配,确定所述指定序号段内的各序号偏移量,再根据指定序号段内的各序号偏移量获取各序号偏移量对应的各增量数据的数据包;
对所述各增量数据的数据包进行解析,获取所述指定序号段内的所述各序号偏移量对应的所述目标数据状态的各增量数据。
或者,根据所述数据块中存储的信息,将所述存储的信息中的多个位置偏移量与所述指定位置段进行匹配,确定所述指定位置段内的各位置偏移量,再根据所述指定位置段内的各位置偏移量获取各位置偏移量对应的各增量数据的数据包;
对所述各增量数据的数据包进行解析,获取所述指定位置段内的所述各位置偏移量对应的所述目标数据状态的各增量数据。
S113,根据所述指定范围内的所述目标数据状态的各增量数据,获得所述原始流数据在所述指定范围内的目标数据状态的全量数据。
获取到所述指定范围内的所述目标数据状态的各增量数据后,根据所述指定范围内的所述目标数据状态的各增量数据,获得所述原始流数据在所述指定范围内的目标数据状态的全量数据。
具体地,对所述指定范围内的所述目标数据状态的各增量数据进行累加,获取累加结果,所述累加结果为所述原始流数据在所述指定范围内的目标数据状态的全量数据。
这样在不需要永久保存原始流数据的情况下,根据指定范围内的各偏移量就可以方便地追溯到原始流数据在所述指定范围内的目标数据状态的全量数据。
实施例二
相应于实施例一,本实施例还提供一种用于追溯数据状态的装置,如图2所示,所述装置包括:第一获取单元21、存储单元22、第一查找单元23及第二获取单元24;其中,
第一获取单元21用于从原始流数据中获取目标数据状态的多个增量数据以及每个所述增量数据对应的偏移量,所述原始流数据的数据状态包括所述目标数据状态。
这里,所述原始流数据中可以为一个海量数据,原始流数据中可以包括多种流数据,每种流数据又包括多种数据状态。比如所述流数据可以包括点击数据、访问数据及经费数据等;所述点击数据的数据状态可以包括:网页点击数量、点击频率等;访问数据的数据状态包括:网站访问量;经费数据的数据状态包括:预算经费等。
当然,所述原始流数据也可以为多种原始流数据,每种原始流数据是不同的,每种原始流数据中可以只包括一种数据,这种流数据可以包括多个数据状态。比如一种原始流数据中可以只包括点击数据,而点击数据的数据状态又包括:点击数量、点击频率等。而另一种原始流数据中可以只包括访问数据,访问数据的数据状态包括:网站访问量。以上两种方式都能使用,在此不做限制。
为了可以能够追溯原始流数据在指定范围内的目标状态的增量数据时,本步骤中预先从原始流数据中获取目标数据状态的多个增量数据以及每个所述增量数据对应的偏移量,所述原始流数据的数据状态包括所述目标数据状态,所述目标数据状态可以包括网页点击数量、网站访问量、预算经费中的一种或多种。
具体地,因每种数据状态都对应的不同的提取标识,比如网页点击数量对应的提取标识为A,网站访问量对应的提取标识为B、预算经费对应的提取标识为C;因此第一获取单元21具体用于:
获取所述目标数据状态对应的提取标识;根据所述提取标识从所述原始流数据中提取所述目标数据状态的多个增量数据以及每个所述增量数据及对应的偏移量。
获取到目标数据状态的多个增量数据及每个增量数据对应的所述偏移量后,存储单元22用于将所述目标数据状态的多个增量数据及每个增量数据对应的所述偏移量存储至预设的数据库中。
其中,需要预先建立一个数据库,所述数据库可以为任意类型的数据库,优选地为基于KEY-VALUE的NOSQL数据库。数据库建立好之后,分块单元25预先对所述数据库进行分块,形成各数据块,各所述数据块用于存储不同类型的目标数据状态的增量数据。那么存储单元22就可以将目标数据状态的多个增量数据及每个增量数据对应的所述偏移量存储至数据库相应的数据块中。
其中,所述偏移量可以包括:时间偏移量、地址偏移量及序号偏移量;那么所述存储单元22就可以利用以下几种方式进行存储:
对所述目标数据状态的多个增量数据分别进行打包,生成多个数据包;
在每个所述数据包中分别标记对应的时间偏移量,生成带有所述时间偏移量的数据包;将所述带有所述时间偏移量的各数据包存储至所述数据库相应的数据块中,并为每个数据块分配一个唯一的第一key值。
或者,对所述目标数据状态的多个增量数据分别进行打包,生成多个数据包;将每个所述数据包存储至预设的数据队列中,并在每个所述数据包中分别标记对应的序号偏移量,生成带有所述序号偏移量的数据包;将所述数据队列存储至所述数据库相应的数据块中。
或者,对所述目标数据状态的多个增量数据分别进行打包,生成多个数据包;在每个数据包中分别标记对应的地址偏移量,生成带有所述地址偏移量的数据包;将所述带有所述地址偏移量的各数据包存储至所述数据库中相应的数据块中。
当所述存储单元22将目标数据状态的多个增量数据及每个增量数据对应的所述偏移量存储至相应的数据块中后,第一查找单元23用于当需要追溯所述原始流数据在指定范围内的目标数据状态的全量数据时,基于针对所述原始流数据的所述目标数据状态在所述数据库中存储的信息,查找所述指定范围内包含的各偏移量对应的所述目标数据状态的各增量数据。
具体地,当需要追溯所述原始流数据在指定范围内的目标数据状态的全量数据时,会发送一个请求信息,当第一查找单元23接收到请求追溯所述原始流数据在指定范围内的目标数据状态的全量数据的请求信息时,从所述数据库查找针对所述原始流数据的所述目标数据状态而存储的信息;将所述存储的信息中的多个偏移量与所述指定范围进行匹配,确定所述指定范围内包含的各偏移量;获得所述指定范围内包含的各偏移量对应的所述目标数据状态的各增量数据。其中,所述指定范围包括:指定时间段、指定序号段及指定位置段。
同样地,因存储方式包括以上三种,那么相应地,所述查找单元在将所述存储的信息中的多个偏移量与所述指定范围进行匹配,确定所述指定范围内包含的各偏移量;获得所述指定范围内包含的各偏移量对应的所述目标数据状态的各增量数据时也包括以下三种:
所述第一查找单元23对所述请求进行解析,获取所述目标数据状态的多个增量数据所在的数据块的第二key值;根据所述第一key值及所述第二key值确定所述目标数据状态的多个增量数据所在的数据块,具体为在多个第一key值中查找与第二key值相同的第一key值,再根据所述第一key值确定所述目标数据状态的多个增量数据所在的数据块。
然后根据所述数据块中存储的信息,将所述存储的信息中的多个时间偏移量与所述指定时间段进行匹配,确定所述指定时间段内的各时间偏移量,再根据指定时间段内的各时间偏移量获取所述指定时间段内的各时间偏移量对应的各增量数据的数据包;
对所述各增量数据的数据包进行解析,获取所述指定时间段内的所述各时间偏移量对应的所述目标数据状态的各增量数据。
或者,第一查找单元23根据所述数据块的数据队列中存储的信息,将所述存储的信息中的多个序号偏移量与所述指定序号段进行匹配,确定所述指定序号段内的各序号偏移量,再根据指定序号段内的各序号偏移量获取各序号偏移量对应的各增量数据的数据包;
对所述各增量数据的数据包进行解析,获取所述指定序号段内的所述各序号偏移量对应的所述目标数据状态的各增量数据。
或者,第一查找单元23根据所述数据块中存储的信息,将所述存储的信息中的多个位置偏移量与所述指定位置段进行匹配,确定所述指定位置段内的各位置偏移量,再根据所述指定位置段内的各位置偏移量获取各位置偏移量对应的各增量数据的数据包;
对所述各增量数据的数据包进行解析,获取所述指定位置段内的所述各位置偏移量对应的所述目标数据状态的各增量数据。
当第一查找单元23获取到所述指定范围内的所述目标数据状态的各增量数据后,第二获取单元24根据所述指定范围内的所述目标数据状态的各增量数据,获得所述原始流数据在所述指定范围内的目标数据状态的全量数据。
具体地,第二获取单元24对所述指定范围内的所述目标数据状态的各增量数据进行累加,获取累加结果,所述累加结果为所述原始流数据在所述指定范围内的目标数据状态的全量数据。
这样在不需要永久保存原始流数据的情况下,根据指定范围内的各偏移量就可以方便地追溯到原始流数据在所述指定范围内的目标数据状态的全量数据。
实施例三
本实施例还提供一种用于追溯数据状态的方法,如图3所示,所述方法包括:
S310,从针对原始流数据的目标数据状态在数据库存储的信息中查找指定范围内的各偏移量,所述数据库中预先存储有所述原始流数据的目标数据状态的多个增量数据以及每个增量数据对应的偏移量;
本步骤中,当需要追溯所述原始流数据在指定范围内的目标数据状态的全量数据时,从针对所述原始流数据的所述目标数据状态在所述数据库中存储的信息,查找所述指定范围内包含的各偏移量。
具体地,当需要追溯所述原始流数据在指定范围内的目标数据状态的全量数据时,会发送一个请求信息,当接收到请求追溯所述原始流数据在指定范围内的目标数据状态的全量数据的请求信息时,从所述数据库查找针对所述原始流数据的所述目标数据状态而存储的信息;将所述存储的信息中的多个偏移量与所述指定范围进行匹配,确定所述指定范围内包含的各偏移量。所述数据库中存储的信息包括:目标数据状态的多个增量数据及每个增量数据对应的所述偏移量。
其中,所述指定范围包括:指定时间段、指定序号段及指定位置段;所述偏移量包括:时间偏移量、序号偏移量及位置偏移量。
那么将所述存储的信息中的多个偏移量与所述指定范围进行匹配,确定所述指定范围内包含的各偏移量,可以包括三种:
对所述请求信息进行解析,获取所述目标数据状态的多个增量数据所在的数据块的第二key值;根据所述第一key值及所述第二key值确定所述目标数据状态的多个增量数据所在的数据块,具体为在多个第一key值中查找与第二key值相同的第一key值,再根据所述第一key值确定所述目标数据状态的多个增量数据所在的数据块。
然后根据所述数据块中存储的信息,将所述存储的信息中的多个时间偏移量与所述指定时间段进行匹配,确定所述指定时间段内的各时间偏移量。
或者,根据所述数据块中存储的信息,将所述存储的信息中的多个序号偏移量与所述指定序号段进行匹配,确定所述指定序号段内的各序号偏移量;
或者,根据所述数据块中存储的信息,将所述存储的信息中的多个位置偏移量与所述指定位置段进行匹配,确定所述指定位置段内的各位置偏移量。
S311,根据所述指定范围内的各偏移量,在所述数据库中查找各所述偏移量对应的所述目标数据状态的各增量数据;
获取到所述指定范围内的各偏移量后,根据所述指定范围内的各偏移量,在所述数据库中查找各所述偏移量对应的所述目标数据状态的各增量数据。相应地,也包括三种获取方式:
根据所述指定时间段内的各时间偏移量获取所述指定时间段内的各时间偏移量对应的各增量数据的数据包;
对所述各增量数据的数据包进行解析,获取所述指定时间段内的所述各时间偏移量对应的所述目标数据状态的各增量数据。
或者,根据所述指定序号段内的各序号偏移量获取所述指定序号段内的各序号偏移量对应的各增量数据的数据包;
对所述各增量数据的数据包进行解析,获取所述指定序号段内的所述各序号偏移量对应的所述目标数据状态的各增量数据。
或者,根据所述位置段内的各位置偏移量获取所述指定位置段内的各位置偏移量对应的各增量数据的数据包;
对所述各增量数据的数据包进行解析,获取所述指定位置段内的所述各位置偏移量对应的所述目标数据状态的各增量数据。
S312,根据所述目标数据状态在所述指定范围内的各增量数据,获得所述原始流数据在所述指定范围内的目标数据状态的全量数据。
获取到所述指定范围内的所述目标数据状态的各增量数据后,根据所述指定范围内的所述目标数据状态的各增量数据,获得所述原始流数据在所述指定范围内的目标数据状态的全量数据。
具体地,对所述指定范围内的所述目标数据状态的各增量数据进行累加,获取累加结果,所述累加结果为所述原始流数据在所述指定范围内的目标数据状态的全量数据。
这样在不需要永久保存原始流数据的情况下,根据指定范围内的各偏移量就可以方便地追溯到原始流数据在所述指定范围内的目标数据状态的全量数据。
实施例四
相应于实施例三,本实施例还提供一种用于追溯数据状态的装置,如图4所示,所述装置包括:第二查找单元41、第三查找单元42及第三获取单元43;其中,
当当需要追溯所述原始流数据在指定范围内的目标数据状态的全量数据时,所述第二查找单元41用于基于针对所述原始流数据的目标数据状态在所述数据库中存储的信息中查找指定范围内的各偏移量,所述数据库中预先存储有所述原始流数据的目标数据状态的多个增量数据以及每个增量数据对应的偏移量。
具体地,当需要追溯所述原始流数据在指定范围内的目标数据状态的全量数据时,会发送一个请求信息,第二查找单元41当接收到请求追溯所述原始流数据在指定范围内的目标数据状态的全量数据的请求信息时,从所述数据库查找针对所述原始流数据的所述目标数据状态而存储的信息;将所述存储的信息中的多个偏移量与所述指定范围进行匹配,确定所述指定范围内包含的各偏移量。所述数据库中存储的信息包括:目标数据状态的多个增量数据及每个增量数据对应的所述偏移量。
其中,所述指定范围包括:指定时间段、指定序号段及指定位置段;所述偏移量包括:时间偏移量、序号偏移量及位置偏移量。
那么第二查找单元41将所述存储的信息中的多个偏移量与所述指定范围进行匹配,确定所述指定范围内包含的各偏移量,可以包括三种:
对所述请求信息进行解析,获取所述目标数据状态的多个增量数据所在的数据块的第二key值;根据所述第一key值及所述第二key值确定所述目标数据状态的多个增量数据所在的数据块,具体为在多个第一key值中查找与第二key值相同的第一key值,再根据所述第一key值确定所述目标数据状态的多个增量数据所在的数据块。
然后根据所述数据块中存储的信息,将所述存储的信息中的多个时间偏移量与所述指定时间段进行匹配,确定所述指定时间段内的各时间偏移量。
或者,根据所述数据块中存储的信息,将所述存储的信息中的多个序号偏移量与所述指定序号段进行匹配,确定所述指定序号段内的各序号偏移量;
或者,根据所述数据块中存储的信息,将所述存储的信息中的多个位置偏移量与所述指定位置段进行匹配,确定所述指定位置段内的各位置偏移量。
当所述第二查找单元41确定所述指定范围内包含的各偏移量后,所述第三查找单元42用于根据所述指定范围内的各偏移量,在所述数据库中查找各所述偏移量对应的所述目标数据状态的各增量数据;相应地,也包括三种获取方式:
所述第三查找单元42根据所述指定时间段内的各时间偏移量获取所述指定时间段内的各时间偏移量对应的各增量数据的数据包;
对所述各增量数据的数据包进行解析,获取所述指定时间段内的所述各时间偏移量对应的所述目标数据状态的各增量数据。
或者,所述第三查找单元42根据所述指定序号段内的各序号偏移量获取所述指定序号段内的各序号偏移量对应的各增量数据的数据包;
对所述各增量数据的数据包进行解析,获取所述指定序号段内的所述各序号偏移量对应的所述目标数据状态的各增量数据。
或者,所述第三查找单元42根据所述位置段内的各位置偏移量获取所述指定位置段内的各位置偏移量对应的各增量数据的数据包;
对所述各增量数据的数据包进行解析,获取所述指定位置段内的所述各位置偏移量对应的所述目标数据状态的各增量数据。
当所述第三查找单元42在所述数据库中查找指定范围内的各所述偏移量对应的所述目标数据状态的各增量数据后,所述第三获取单元43用于根据所述目标数据状态在所述指定范围内的各增量数据,获得所述原始流数据在所述指定范围内的目标数据状态的全量数据。
具体地,对所述指定范围内的所述目标数据状态的各增量数据进行累加,获取累加结果,所述累加结果为所述原始流数据在所述指定范围内的目标数据状态的全量数据。
这样在不需要永久保存原始流数据的情况下,根据指定范围内的各偏移量就可以方便地追溯到原始流数据在所述指定范围内的目标数据状态的全量数据。
实施例五
实际应用时,有时网站需要统计出指定时间段内用户对某个网页的点击数量,以能对网页进行调整,那么就可以利用上述方法实现,具体实现如下:
首先从原始流数据中获取目标数据状态的多个增量数据以及每个所述增量数据对应的偏移量,所述原始流数据的数据状态包括所述目标数据状态;本实施例中的目标数据状态为网页点击数量。
具体地,因每种数据状态都对应的不同的提取标识,比如网页点击数量对应的提取标识为A,网站访问量对应的提取标识为B、预算经费对应的提取标识为C;因此所述从原始流数据中获取目标数据状态的多个增量数据以及每个所述增量数据对应的偏移量,包括:
获取所述目标数据状态对应的提取标识;根据所述提取标识从所述原始流数据中提取所述目标数据状态的多个增量数据以及每个所述增量数据及对应的偏移量。
比如,对于某网页点击数量来说,0点对应的增量数据为2;1点对应的增量数据为2;2点对应的增量数据为3;3点对应的增量数据为5;4点对应的增量数据为6;5点对应的增量数据为9;6点对应的增量数据为7等等;其中,整点时刻0点、1点、2点、3点、4点、5点及6点就是时间偏移量。
获取到目标数据状态的多个增量数据及每个增量数据对应的所述偏移量后,将目标数据状态的多个增量数据及每个增量数据对应的所述偏移量存储至数据库中。
这里需要预先建立一个数据库,所述数据库可以为任意类型的数据库,优选地为基于KEY-VALUE的NOSQL数据库。数据库建立好之后,预先对所述数据库进行分块,形成各数据块,各所述数据块用于存储不同类型的目标数据状态的增量数据。那么就可以将目标数据状态的多个增量数据及每个增量数据对应的所述偏移量存储至数据库中相应的数据块中。
那么将目标数据状态的多个增量数据及每个增量数据对应的所述偏移量存储至数据库相应的数据块中,包括:
对所述目标数据状态的多个增量数据分别进行打包,生成多个数据包;
在每个所述数据包中分别标记对应的时间偏移量,生成带有所述时间偏移量的数据包;将所述带有所述时间偏移量的各数据包存储至所述数据库相应的数据块中,并为每个数据块分配一个唯一的第一key值。
当需要追溯所述原始流数据在指定范围内的目标数据状态的全量数据时,基于针对所述原始流数据的所述目标数据状态在所述数据库中存储的信息,查找所述指定范围内包含的各偏移量对应的所述目标数据状态的各增量数据。
具体地,当需要追溯所述原始流数据在指定范围内的目标数据状态的全量数据时,会发送一个请求信息,当接收到请求追溯所述原始流数据在指定范围内的目标数据状态的全量数据的请求信息时,从所述数据库查找针对所述原始流数据的所述目标数据状态而存储的信息;将所述存储的信息中的多个偏移量与所述指定范围进行匹配,确定所述指定范围内包含的各偏移量;获得所述指定范围内包含的各偏移量对应的所述目标数据状态的各增量数据。其中本实施例中的所述指定范围包括:指定时间段。
那么相应地,将所述存储的信息中的多个偏移量与所述指定范围进行匹配,确定所述指定范围内包含的各偏移量;获得所述指定范围内包含的各偏移量对应的所述目标数据状态的各增量数据时,包括:
对所述请求信息进行解析,获取所述目标数据状态的多个增量数据所在的数据块的第二key值;根据所述第一key值及所述第二key值确定所述目标数据状态的多个增量数据所在的数据块,具体为在多个第一key值中查找与第二key值相同的第一key值,再根据所述第一key值确定所述目标数据状态的多个增量数据所在的数据块。
然后根据所述数据块中存储的信息,将所述存储的信息中的多个时间偏移量与所述指定时间段进行匹配,确定所述指定时间段内的各时间偏移量,再根据指定时间段内的各时间偏移量获取所述指定时间段内的各时间偏移量对应的各增量数据的数据包;
对所述各增量数据的数据包进行解析,获取所述指定时间段内的所述各时间偏移量对应的所述目标数据状态的各增量数据。
比如指定时间段为0~3点,那么就将所述存储的信息中的多个时间偏移量与所述指定时间段进行匹配,确定所述指定时间段内的各时间偏移量,各时间偏移量分别为0点、1点、2点及3点;再获取0点对应的增量数据2,1点对应的增量数据2,2点对应的增量数据3以及3点对应的增量数据5。
获取到所述指定范围内的所述目标数据状态的各增量数据后,根据所述指定范围内的所述目标数据状态的各增量数据,获得所述原始流数据在所述指定范围内的目标数据状态的全量数据。
具体地,对所述指定范围内的所述目标数据状态的各增量数据进行累加,获取累加结果,所述累加结果为所述原始流数据在所述指定范围内的目标数据状态的全量数据。
还是以0~3点为例,0点对应的增量数据2,1点对应的增量数据2,2点对应的增量数据3以及3点对应的增量数据5,那么0~3点内的点击数量的全量数据就是2+2+3+5=12;也就是说0~3点内的网页点击数量为12。
这样在不需要永久保存原始流数据的情况下,根据指定范围内的各偏移量就可以方便地追溯到原始流数据在所述指定范围内的目标数据状态的全量数据。
本发明实施例还公开了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法实施例的步骤。
本发明实施例还公开了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法实施例的步骤。
本申请实施例中提供的技术方案,至少具有如下技术效果或优点:
根据本发明的提供的一种用于追溯数据状态的方法、装置及计算及设备,所述方法包括:从原始流数据中获取目标数据状态的多个增量数据以及每个所述增量数据对应的偏移量,所述原始流数据的数据状态包括所述目标数据状态;将所述目标数据状态的多个增量数据及每个增量数据对应的所述偏移量存储至预设的数据库中;当需要追溯所述原始流数据在指定范围内的目标数据状态的全量数据时,基于针对所述原始流数据的所述目标数据状态在所述数据库中存储的信息,查找所述指定范围内包含的各偏移量对应的所述目标数据状态的各增量数据;根据所述指定范围内的所述目标数据状态的各增量数据,获得所述原始流数据在所述指定范围内的目标数据状态的全量数据;如此,预先将目标数据状态的增量数据及每个增量数据对应的偏移量从原始流数据中提取出,存储至预设的数据库中;当需要获取原始流数据在指定范围内的目标数据状态的全量数据时,可以先获取到该指定范围内的各偏移量,然后根据指定范围内的各偏移量直接从数据库中查找到对应的各增量数据,最后根据指定范围内的各所述增量数据确定原始流数据在所述指定范围内的所述目标数据状态的全量数据;这样在不需要永久保存原始流数据的情况下,也可以方便、快捷地统计出原始流数据在某个指定范围内的目标数据状态的全量数据,并且由于没有保存大量的原始流数据,因此网络运行效率也不会受到影响。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的网关、代理服务器、系统中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,存储介质可以包括:只读存储器(ROM,ReadOnly Memory)、随机存取存储器(RAM,Random Access Memory)、磁盘或光盘等;或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明公开了,A1、一种用于追溯数据状态的方法,所述方法包括:
从原始流数据中获取目标数据状态的多个增量数据以及每个所述增量数据对应的偏移量,所述原始流数据的数据状态包括所述目标数据状态;
将所述目标数据状态的多个增量数据及每个增量数据对应的所述偏移量存储至预设的数据库中;
当需要追溯所述原始流数据在指定范围内的目标数据状态的全量数据时,基于针对所述原始流数据的所述目标数据状态在所述数据库中存储的信息,查找所述指定范围内包含的各偏移量对应的所述目标数据状态的各增量数据;
根据所述指定范围内的所述目标数据状态的各增量数据,获得所述原始流数据在所述指定范围内的目标数据状态的全量数据。
A2、如A1所述的方法,所述从原始流数据中获取目标数据状态的多个增量数据以及每个所述增量数据对应的偏移量,包括:
获取所述目标数据状态对应的提取标识;
根据所述提取标识从所述原始流数据中提取所述目标数据状态的多个增量数据以及每个所述增量数据及对应的偏移量。
A3、如A1所述的方法,还包括:
预先对所述数据库进行分块,形成各数据块,各所述数据块用于存储不同类型的目标数据状态的增量数据。
A4、如A1所述的方法,所述将所述目标数据状态的多个增量数据及每个增量数据对应的所述偏移量存储至预设的数据库中,包括:
对所述目标数据状态的多个增量数据分别进行打包,生成多个数据包;
在每个所述数据包中分别标记对应的时间偏移量,生成带有所述时间偏移量的数据包;
将所述带有所述时间偏移量的各数据包存储至所述数据库相应的数据块中。
A5、如A1所述的方法,所述将所述目标数据状态的多个增量数据及每个增量数据对应的所述偏移量存储至预设的数据库中,包括:
对所述目标数据状态的多个增量数据分别进行打包,生成多个数据包;
将每个所述数据包存储至预设的数据队列中,并在每个所述数据包中分别标记对应的序号偏移量,生成带有所述序号偏移量的数据包;
将所述数据队列存储至所述数据库相应的数据块中。
A6、如A1所述的方法,所述将所述目标数据状态的所述多个增量数据及每个增量数据对应的所述偏移量存储至预设的数据库中,包括:
对所述目标数据状态的多个增量数据分别进行打包,生成多个数据包;
在每个数据包中分别标记对应的地址偏移量,生成带有所述地址偏移量的数据包;
将所述带有所述地址偏移量的各数据包存储至所述数据库中相应的数据块中。
A7、如A1至A6中任一项所述的方法,所述当需要追溯所述原始流数据在指定范围内的目标数据状态的全量数据时,基于针对所述原始流数据的所述目标数据状态在所述数据库中存储的信息,查找所述指定范围内包含的各偏移量对应的所述目标数据状态的各增量数据包括:
当接收到请求追溯所述原始流数据在指定范围内的目标数据状态的全量数据的请求信息时,从所述数据库查找针对所述原始流数据的所述目标数据状态而存储的信息;
将所述存储的信息中的多个偏移量与所述指定范围进行匹配,确定所述指定范围内包含的各偏移量;
获得所述指定范围内包含的各偏移量对应的所述目标数据状态的各增量数据。
A8、如A1至A6中任一项所述的方法,所述根据所述指定范围内的目标数据状态的各增量数据,获得所述原始流数据在所述指定范围内的目标数据状态的全量数据,包括:
对所述指定范围内的所述目标数据状态的各增量数据进行累加,获取累加结果,所述累加结果为所述原始流数据在所述指定范围内的目标数据状态的全量数据。
A9、如A1至A6中任一项所述的方法,所述目标数据状态包括:网页点击数量、网站访问量及预算经费。
本发明还公开了,B10、一种用于追溯数据状态的装置,所述装置包括:
第一获取单元,用于从原始流数据中获取目标数据状态的多个增量数据以及每个所述增量数据对应的偏移量,所述原始流数据的数据状态包括所述目标数据状态;
存储单元,用于将所述目标数据状态的多个增量数据及每个增量数据对应的所述偏移量存储至预设的数据库中;
第一查找单元,用于当需要追溯所述原始流数据在指定范围内的目标数据状态的全量数据时,基于针对所述原始流数据的所述目标数据状态在所述数据库中存储的信息,查找所述指定范围内包含的各偏移量对应的所述目标数据状态的各增量数据;
第二获取单元,用于根据所述指定范围内的所述目标数据状态的各增量数据,获得所述原始流数据在所述指定范围内的目标数据状态的全量数据。
B11、如B10所述的装置,所述第一获取单元具体用于:
获取所述目标数据状态对应的提取标识;
根据所述提取标识从所述原始流数据中提取所述目标数据状态的多个增量数据以及每个所述增量数据及对应的偏移量。
B12、如B10所述的装置,所述装置还包括:
分块单元,用于预先对所述数据库中进行分块,形成各数据块;各所述数据块用于存储不同类型的目标数据状态的增量数据。
B13、如B10所述的装置,所述存储单元具体用于:
对所述目标数据状态的多个所述增量数据分别进行打包,生成多个数据包;
在每个所述数据包中分别标记对应的时间偏移量,生成带有所述时间偏移量的数据包;
将所述带有所述时间偏移量的各数据包存储至所述数据库相应的数据块中。
B14、如B10所述的装置,所述存储单元具体用于:
对所述多个增量数据分别进行打包,生成多个数据包;
将每个所述数据包存储至预设的数据队列中,并在每个所述数据包中分别标记对应的序号偏移量,生成带有所述序号偏移量的数据包;
将所述数据队列存储至所述数据库相应的数据块中。
B15、如B10所述的装置,所述存储单元具体用于:
对所述多个增量数据分别进行打包,生成多个数据包;
在每个数据包中分别标记对应的地址偏移量,生成带有所述地址偏移量的数据包;
将所述带有所述地址偏移量的各数据包存储至所述数据库中相应的数据块中。
B16、如B10至B15任一项所述的装置,所述第一查找单元具体用于:
当接收到请求追溯所述原始流数据在指定范围内的目标数据状态的全量数据的请求信息时,从所述数据库查找针对所述原始流数据的所述目标数据状态而存储的信息;
将所述存储的信息中的多个偏移量与所述指定范围进行匹配,确定所述指定范围内包含的各偏移量;
获得所述指定范围内包含的各偏移量对应的所述目标数据状态的各增量数据。
B17、如B10至B15中任一项所述的装置,所述第二获取单元具体用于:
对所述指定范围内的所述目标数据状态的各增量数据进行累加,获取累加结果,所述累加结果为所述原始流数据在所述指定范围内的目标数据状态的全量数据。
B18、如B10至B15中任一项所述的装置,所述目标数据状态包括:网页点击数量、网站访问量及预算经费。
C19、一种用于追溯数据状态的方法,所述方法包括:
从针对原始流数据的目标数据状态在数据库存储的信息中查找指定范围内的各偏移量,所述数据库中预先存储有所述原始流数据的目标数据状态的多个增量数据以及每个增量数据对应的偏移量;
根据所述指定范围内的各偏移量,在所述数据库中查找各所述偏移量对应的所述目标数据状态的各增量数据;
根据所述目标数据状态在所述指定范围内的各增量数据,获得所述原始流数据在所述指定范围内的目标数据状态的全量数据。
D20、一种用于追溯数据状态的装置,所述装置包括:
第二查找单元,用于在基于针对所述原始流数据的目标数据状态在所述数据库中存储的信息中查找指定范围内的各偏移量,所述数据库中预先存储有所述原始流数据的目标数据状态的多个增量数据以及每个增量数据对应的偏移量;
第三查找单元,用于根据所述指定范围内的各偏移量,在所述数据库中查找各所述偏移量对应的所述目标数据状态的各增量数据;
第三获取单元,用于根据所述目标数据状态在所述指定范围内的各增量数据,获得所述原始流数据在所述指定范围内的目标数据状态的全量数据。
E21、一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:
从原始流数据中获取目标数据状态的多个增量数据以及每个所述增量数据对应的偏移量,所述原始流数据的数据状态包括所述目标数据状态;
将所述目标数据状态的多个增量数据及每个增量数据对应的所述偏移量存储至预设的数据库中;
当需要追溯所述原始流数据在指定范围内的目标数据状态的全量数据时,基于针对所述原始流数据的所述目标数据状态在所述数据库中存储的信息,查找所述指定范围内包含的各偏移量对应的所述目标数据状态的各增量数据;
根据所述指定范围内的所述目标数据状态的各增量数据,获得所述原始流数据在所述指定范围内的目标数据状态的全量数据。
F22、一种用于追溯数据状态的计算机设备,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中,
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如A1至A9以及A19任一所述的方法。

Claims (22)

1.一种用于追溯数据状态的方法,其特征在于,所述方法包括:
从原始流数据中获取目标数据状态的多个增量数据以及每个所述增量数据对应的偏移量,所述原始流数据的数据状态包括所述目标数据状态;
将所述目标数据状态的多个增量数据及每个增量数据对应的所述偏移量存储至预设的数据库中;
当需要追溯所述原始流数据在指定范围内的目标数据状态的全量数据时,基于针对所述原始流数据的所述目标数据状态在所述数据库中存储的信息,查找所述指定范围内包含的各偏移量对应的所述目标数据状态的各增量数据;
根据所述指定范围内的所述目标数据状态的各增量数据,获得所述原始流数据在所述指定范围内的目标数据状态的全量数据。
2.如权利要求1所述的方法,其特征在于,所述从原始流数据中获取目标数据状态的多个增量数据以及每个所述增量数据对应的偏移量,包括:
获取所述目标数据状态对应的提取标识;
根据所述提取标识从所述原始流数据中提取所述目标数据状态的多个增量数据以及每个所述增量数据及对应的偏移量。
3.如权利要求1所述的方法,其特征在于,还包括:
预先对所述数据库进行分块,形成各数据块,各所述数据块用于存储不同类型的目标数据状态的增量数据。
4.如权利要求1所述的方法,其特征在于,所述将所述目标数据状态的多个增量数据及每个增量数据对应的所述偏移量存储至预设的数据库中,包括:
对所述目标数据状态的多个增量数据分别进行打包,生成多个数据包;
在每个所述数据包中分别标记对应的时间偏移量,生成带有所述时间偏移量的数据包;
将所述带有所述时间偏移量的各数据包存储至所述数据库相应的数据块中。
5.如权利要求1所述的方法,其特征在于,所述将所述目标数据状态的多个增量数据及每个增量数据对应的所述偏移量存储至预设的数据库中,包括:
对所述目标数据状态的多个增量数据分别进行打包,生成多个数据包;
将每个所述数据包存储至预设的数据队列中,并在每个所述数据包中分别标记对应的序号偏移量,生成带有所述序号偏移量的数据包;
将所述数据队列存储至所述数据库相应的数据块中。
6.如权利要求1所述的方法,其特征在于,所述将所述目标数据状态的所述多个增量数据及每个增量数据对应的所述偏移量存储至预设的数据库中,包括:
对所述目标数据状态的多个增量数据分别进行打包,生成多个数据包;
在每个数据包中分别标记对应的地址偏移量,生成带有所述地址偏移量的数据包;
将所述带有所述地址偏移量的各数据包存储至所述数据库中相应的数据块中。
7.如权利要求1至6中任一项所述的方法,其特征在于,所述当需要追溯所述原始流数据在指定范围内的目标数据状态的全量数据时,基于针对所述原始流数据的所述目标数据状态在所述数据库中存储的信息,查找所述指定范围内包含的各偏移量对应的所述目标数据状态的各增量数据包括:
当接收到请求追溯所述原始流数据在指定范围内的目标数据状态的全量数据的请求信息时,从所述数据库查找针对所述原始流数据的所述目标数据状态而存储的信息;
将所述存储的信息中的多个偏移量与所述指定范围进行匹配,确定所述指定范围内包含的各偏移量;
获得所述指定范围内包含的各偏移量对应的所述目标数据状态的各增量数据。
8.如权利要求1至6中任一项所述的方法,其特征在于,所述根据所述指定范围内的目标数据状态的各增量数据,获得所述原始流数据在所述指定范围内的目标数据状态的全量数据,包括:
对所述指定范围内的所述目标数据状态的各增量数据进行累加,获取累加结果,所述累加结果为所述原始流数据在所述指定范围内的目标数据状态的全量数据。
9.如权利要求1至6中任一项所述的方法,其特征在于,所述目标数据状态包括:网页点击数量、网站访问量及预算经费。
10.一种用于追溯数据状态的装置,其特征在于,所述装置包括:
第一获取单元,用于从原始流数据中获取目标数据状态的多个增量数据以及每个所述增量数据对应的偏移量,所述原始流数据的数据状态包括所述目标数据状态;
存储单元,用于将所述目标数据状态的多个增量数据及每个增量数据对应的所述偏移量存储至预设的数据库中;
第一查找单元,用于当需要追溯所述原始流数据在指定范围内的目标数据状态的全量数据时,基于针对所述原始流数据的所述目标数据状态在所述数据库中存储的信息,查找所述指定范围内包含的各偏移量对应的所述目标数据状态的各增量数据;
第二获取单元,用于根据所述指定范围内的所述目标数据状态的各增量数据,获得所述原始流数据在所述指定范围内的目标数据状态的全量数据。
11.如权利要求10所述的装置,其特征在于,所述第一获取单元具体用于:
获取所述目标数据状态对应的提取标识;
根据所述提取标识从所述原始流数据中提取所述目标数据状态的多个增量数据以及每个所述增量数据及对应的偏移量。
12.如权利要求10所述的装置,其特征在于,所述装置还包括:
分块单元,用于预先对所述数据库中进行分块,形成各数据块;各所述数据块用于存储不同类型的目标数据状态的增量数据。
13.如权利要求10所述的装置,其特征在于,所述存储单元具体用于:
对所述目标数据状态的多个所述增量数据分别进行打包,生成多个数据包;
在每个所述数据包中分别标记对应的时间偏移量,生成带有所述时间偏移量的数据包;
将所述带有所述时间偏移量的各数据包存储至所述数据库相应的数据块中。
14.如权利要求10所述的装置,其特征在于,所述存储单元具体用于:
对所述多个增量数据分别进行打包,生成多个数据包;
将每个所述数据包存储至预设的数据队列中,并在每个所述数据包中分别标记对应的序号偏移量,生成带有所述序号偏移量的数据包;
将所述数据队列存储至所述数据库相应的数据块中。
15.如权利要求10所述的装置,其特征在于,所述存储单元具体用于:
对所述多个增量数据分别进行打包,生成多个数据包;
在每个数据包中分别标记对应的地址偏移量,生成带有所述地址偏移量的数据包;
将所述带有所述地址偏移量的各数据包存储至所述数据库中相应的数据块中。
16.如权利要求10至15任一项所述的装置,其特征在于,所述第一查找单元具体用于:
当接收到请求追溯所述原始流数据在指定范围内的目标数据状态的全量数据的请求信息时,从所述数据库查找针对所述原始流数据的所述目标数据状态而存储的信息;
将所述存储的信息中的多个偏移量与所述指定范围进行匹配,确定所述指定范围内包含的各偏移量;
获得所述指定范围内包含的各偏移量对应的所述目标数据状态的各增量数据。
17.如权利要求10至15中任一项所述的装置,其特征在于,所述第二获取单元具体用于:
对所述指定范围内的所述目标数据状态的各增量数据进行累加,获取累加结果,所述累加结果为所述原始流数据在所述指定范围内的目标数据状态的全量数据。
18.如权利要求10至15中任一项所述的装置,其特征在于,所述目标数据状态包括:网页点击数量、网站访问量及预算经费。
19.一种用于追溯数据状态的方法,其特征在于,所述方法包括:
从针对原始流数据的目标数据状态在数据库存储的信息中查找指定范围内的各偏移量,所述数据库中预先存储有所述原始流数据的目标数据状态的多个增量数据以及每个增量数据对应的偏移量;
根据所述指定范围内的各偏移量,在所述数据库中查找各所述偏移量对应的所述目标数据状态的各增量数据;
根据所述目标数据状态在所述指定范围内的各增量数据,获得所述原始流数据在所述指定范围内的目标数据状态的全量数据。
20.一种用于追溯数据状态的装置,其特征在于,所述装置包括:
第二查找单元,用于在基于针对所述原始流数据的目标数据状态在所述数据库中存储的信息中查找指定范围内的各偏移量,所述数据库中预先存储有所述原始流数据的目标数据状态的多个增量数据以及每个增量数据对应的偏移量;
第三查找单元,用于根据所述指定范围内的各偏移量,在所述数据库中查找各所述偏移量对应的所述目标数据状态的各增量数据;
第三获取单元,用于根据所述目标数据状态在所述指定范围内的各增量数据,获得所述原始流数据在所述指定范围内的目标数据状态的全量数据。
21.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至9及权利要求19任一项所述方法的步骤。
22.一种用于追溯数据状态的计算机设备,其特征在于,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中,
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1至9以及权利要求19任一项所述方法的步骤。
CN201711483617.3A 2017-12-29 2017-12-29 一种用于追溯数据状态的方法、装置及计算机设备 Active CN110019408B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711483617.3A CN110019408B (zh) 2017-12-29 2017-12-29 一种用于追溯数据状态的方法、装置及计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711483617.3A CN110019408B (zh) 2017-12-29 2017-12-29 一种用于追溯数据状态的方法、装置及计算机设备

Publications (2)

Publication Number Publication Date
CN110019408A CN110019408A (zh) 2019-07-16
CN110019408B true CN110019408B (zh) 2024-03-29

Family

ID=67187186

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711483617.3A Active CN110019408B (zh) 2017-12-29 2017-12-29 一种用于追溯数据状态的方法、装置及计算机设备

Country Status (1)

Country Link
CN (1) CN110019408B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112463434B (zh) * 2020-11-19 2022-08-02 苏州浪潮智能科技有限公司 一种基于纠删码的数据重构方法、装置、设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101937435A (zh) * 2009-07-01 2011-01-05 北京科东电力控制系统有限责任公司 面向电力系统的分布式实时数据库在线同步方法
CN103516690A (zh) * 2012-06-26 2014-01-15 阿里巴巴集团控股有限公司 一种业务处理状态信息查询方法及装置
CN105138587A (zh) * 2015-07-31 2015-12-09 小米科技有限责任公司 数据访问方法、装置和系统
CN105243086A (zh) * 2015-09-08 2016-01-13 北京北大千方科技有限公司 一种车辆信息查询方法和装置
CN105635207A (zh) * 2014-10-31 2016-06-01 小米科技有限责任公司 运行状态检测方法和装置
CN107077495A (zh) * 2014-10-19 2017-08-18 微软技术许可有限责任公司 数据库管理系统中的高性能事务
CN112380227A (zh) * 2020-11-12 2021-02-19 平安科技(深圳)有限公司 基于消息队列的数据同步方法、装置、设备及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100257403A1 (en) * 2009-04-03 2010-10-07 Microsoft Corporation Restoration of a system from a set of full and partial delta system snapshots across a distributed system

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101937435A (zh) * 2009-07-01 2011-01-05 北京科东电力控制系统有限责任公司 面向电力系统的分布式实时数据库在线同步方法
CN103516690A (zh) * 2012-06-26 2014-01-15 阿里巴巴集团控股有限公司 一种业务处理状态信息查询方法及装置
CN107077495A (zh) * 2014-10-19 2017-08-18 微软技术许可有限责任公司 数据库管理系统中的高性能事务
CN105635207A (zh) * 2014-10-31 2016-06-01 小米科技有限责任公司 运行状态检测方法和装置
CN105138587A (zh) * 2015-07-31 2015-12-09 小米科技有限责任公司 数据访问方法、装置和系统
CN105243086A (zh) * 2015-09-08 2016-01-13 北京北大千方科技有限公司 一种车辆信息查询方法和装置
CN112380227A (zh) * 2020-11-12 2021-02-19 平安科技(深圳)有限公司 基于消息队列的数据同步方法、装置、设备及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
使用JSON模型优化数据拉链表;王涛;;金融电子化;20160315(第03期);90-91 *
基于基态修正模型的矢量数据增量更新机制研究;霍亮等;测绘通报;20150525(第05期);46-49 *

Also Published As

Publication number Publication date
CN110019408A (zh) 2019-07-16

Similar Documents

Publication Publication Date Title
CN106998317B (zh) 异常访问请求识别方法及装置
CN104504077B (zh) 网页访问数据的统计方法和装置
CN107239701B (zh) 识别恶意网站的方法及装置
EP2820573A1 (en) Method and apparatus of user recognition and information distribution
MX2020012092A (es) Sistema y metodo de agregacion y analisis de datos geograficos.
CN109474691B (zh) 一种物联网设备识别的方法及装置
CN106557770A (zh) 通过比较贝塞尔曲线来标识图像中的形状
CN107688563B (zh) 一种同义词的识别方法及识别装置
CN110019408B (zh) 一种用于追溯数据状态的方法、装置及计算机设备
CN110865828A (zh) 数据升级方法、装置、设备及计算机可读存储介质
US10761862B2 (en) Method and device for adding indicative icon in interactive application
CN105491172B (zh) 一种用于确定网络地址的归属地信息的方法与设备
WO2020003174A3 (en) Semantic graph textual coding
US20160098442A1 (en) Verifying analytics results
CN103078946A (zh) 一种海量实时数据分布方法及其访问方法
CN116469039B (zh) 热点视频事件确定方法和系统、存储介质及电子设备
CN104599092A (zh) 用于监控订单业务的方法及设备
CN109587198B (zh) 图文信息推送方法及装置
CN104408135A (zh) 网页热力图的加载方法和装置
US10445080B2 (en) Methods for adaptive placement of applications and devices thereof
CN110362540A (zh) 一种数据存储、访客数获取方法及装置
CN111125087A (zh) 数据的存储方法及装置
CN103793509A (zh) 组图抓取方法与装置
CN110347683B (zh) 一种数据表合并处理方法及装置
CN110610375B (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