CN105224546A - 数据存储和查询方法及设备 - Google Patents

数据存储和查询方法及设备 Download PDF

Info

Publication number
CN105224546A
CN105224546A CN201410244517.5A CN201410244517A CN105224546A CN 105224546 A CN105224546 A CN 105224546A CN 201410244517 A CN201410244517 A CN 201410244517A CN 105224546 A CN105224546 A CN 105224546A
Authority
CN
China
Prior art keywords
numerical value
timestamp
metadata
storage
storage server
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
Application number
CN201410244517.5A
Other languages
English (en)
Other versions
CN105224546B (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.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201410244517.5A priority Critical patent/CN105224546B/zh
Publication of CN105224546A publication Critical patent/CN105224546A/zh
Application granted granted Critical
Publication of CN105224546B publication Critical patent/CN105224546B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种数据存储和查询方法及设备,利用元数据中的存储服务器的标识指示数值所属的存储服务器,利用时间戳和元数据中的存储标识共同指示数值在存储服务器上的存储位置,基于此对数值进行存储和查询,使得存储服务器不用再为时间戳建立次级索引,避免了为时间戳建立次级索引影响存储系统性能的问题,同时检索不再基于时间戳的次级索引,避免了通过次级索引检索数值时带来的I/O开销,提高存储和查询速度。

Description

数据存储和查询方法及设备
【技术领域】
本发明涉及网络技术领域,尤其涉及一种数据存储和查询方法及设备。
【背景技术】
无论是关系数据库管理系统(RelationalDatabaseManagementSystem,RDBMS)还是各类非关系型的数据库(NOSQL)产品,都支持日期(Date)、时间戳(Timestamp)等字段的存储。日期、时间戳等字段的数据一般为周期型数据,为了提升检索性能,开发者通常会直接利用这些字段并全部为这些字段创建次级索引。但随着时间的增长,日期、时间戳等字段的数据量会不断增多,为这些字段创建并维护次级索引会严重影响存储系统的性能,存储速度较低;另外,使用次级索引检索数据还会带来不容忽视的I/O开销,查询速度较低。
【发明内容】
本发明的多个方面提供一种数据存储和查询方法及设备,用以提高存储和查询数据的速度,并提高存储系统的性能。
本发明的一方面,提供一种数据存储方法,包括:
客户端获取数据记录,所述数据记录包括关键字、时间戳和数值;
所述客户端确定所述关键字对应的元数据,所述元数据包括存储服务器的标识和存储标识;
所述客户端根据所述存储服务器的标识,向所述存储服务器发送写入请求,所述写入请求包括所述存储标识、所述时间戳和所述数值;
所述存储服务器将所述数值存储到所述存储标识和所述时间戳指示的存储位置。
本发明的另一方面,提供一种数据查询方法,包括:
客户端获取待查询数值对应的关键字和时间戳;
所述客户端确定所述关键字对应的元数据,所述元数据包括存储服务器的标识和存储标识;
所述客户端根据所述存储服务器的标识,向所述存储服务器发送读请求,所述读请求包括所述时间戳和所述存储标识;
所述存储服务器从所述存储标识和所述时间戳指示的存储位置读取所述数值,并将所述数值发送给所述客户端。
本发明的又一方面,提供一种客户端,包括:
获取模块,用于获取数据记录,所述数据记录包括关键字、时间戳和数值;
确定模块,用于确定所述关键字对应的元数据,所述元数据包括存储服务器的标识和存储标识;
发送模块,用于根据所述存储服务器的标识,向所述存储服务器发送写入请求,以使所述存储服务器将所述数值存储到所述存储标识和所述时间戳指示的存储位置;所述写入请求包括所述存储标识、所述时间戳和所述数值。
本发明的又一方面,提供一种存储服务器,包括:
接收模块,用于接收客户端根据存储服务器的标识发送的写入请求;所述写入请求包括存储标识、数据记录中的时间戳以及所述数据记录中的数值,所述存储标识是所述客户端根据所述数据记录中的关键字确定的;
写入模块,用于将所述数值存储到所述存储标识和所述时间戳指示的存储位置。
本发明的又一方面,提供一种客户端,包括:
获取模块,用于获取待查询数值对应的关键字和时间戳;
确定模块,用于确定所述关键字对应的元数据,所述元数据包括存储服务器的标识和存储标识;
发送模块,用于根据所述存储服务器的标识,向所述存储服务器发送读请求,以使所述存储服务器从所述存储标识和所述时间戳指示的存储位置读取所述数值,所述读请求包括所述时间戳和所述存储标识;
接收模块,用于接收所述存储服务器返回的所述数值。
本发明的又一方面,提供一种存储服务器,包括:
接收模块,用于接收客户端根据存储服务器的标识发送的读请求,所述读请求包括待查询数值对应的时间戳和存储标识,所述存储标识是所述客户端根据所述数值对应的关键字确定的;
读取模块,用于从所述存储标识和所述时间戳指示的存储位置读取所述数值;
发送模块,用于将所述数值发送给所述客户端。
本发明提供的数据存储和查询方法及设备,确定关键字对应的元数据,元数据包括存储服务器的标识和存储标识;存储服务器的标识指示数值所在的存储服务器,存储标识和时间戳指示数值在存储服务器上的存储位置,这样既可以确定数值的存储位置又可以不用存储时间戳,也就避免了为时间戳建立次级索引影响存储系统性能的问题,提高了存储速度;同时检索不再基于时间戳的次级索引,避免了通过次级索引检索数值时带来的I/O开销,提高了查询速度。
【附图说明】
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的数据存储方法的流程示意图;
图2为本发明一实施例提供的数据查询方法的流程示意图;
图3为本发明一实施例提供的客户端的结构示意图;
图4为本发明一实施例提供的存储服务器的结构示意图;
图5为本发明另一实施例提供的存储服务器的结构示意图;
图6为本发明另一实施例提供的客户端的结构示意图;
图7为本发明又一实施例提供的存储服务器的结构示意图。
【具体实施方式】
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明一实施例提供的数据存储方法的流程示意图。如图1所示,该方法包括:
101、客户端获取数据记录,该数据记录包括关键字(key)、时间戳和数值(value)。
数据记录是指对应于数据源中一组完整的相关信息,在本实施例中,数据记录至少包括关键字、时间戳和数值。关键字也可以理解为可以代表该数据记录的数据标识。例如,以表1所示高速公路收费站对车辆通过情况的记录信息为例,其中一行信息就是一条数据记录。以表1中第一条数据记录为例,其表示在2013-11-11的00:00这一分钟,有999辆小型车在杭州通过转塘收费站进入了G50高速。其中,2013-11-11的00:00为时间戳,关键字是[小型车.杭州.G50.转塘],数值为999。
表1
通常,当有新的数据记录产生时,客户端就会获取该数据记录。数据记录可以由客户端自身产生,也可以由其它设备产生并提供给客户端。其它设备向客户端提供数据记录的方式可以有多种,例如可以是其它设备直接传输给客户端,也可以是客户端登录其它设备去获取,还可以是其它设备将数据记录存储到中间设备并由客户端从中间设备获取,等等。
102、客户端确定上述关键字对应的元数据,该元数据包括存储服务器的标识和存储标识。
客户端在获取数据记录之后,首先确定数据记录中关键字对应的元数据。该元数据至少包括:存储服务器的标识和存储标识。这里存储服务器的标识用于指示数据记录中的数值所属的存储服务器。举例说明,存储服务器的标识可以是存储服务器的网际协议(InternetProtocol,IP)地址、介质访问控制(MediaAccessControl,MAC)地址、名称等。本实施例中的存储服务器是真正的存储机器,存储服务器至少包括一个文件,每个文件可以包括一个或多个存储页。在本实施例中,用存储标识和时间戳共同指示数据记录中的数值在存储服务器上的存储位置。
在一可选实施方式中,客户端确定数据记录中关键字对应的元数据的方式可以包括:客户端可以根据该关键字在本地查询,以判断该元数据是否存在本地;当元数据存在客户端本地时,客户端从本地获取该元数据;当元数据不存在客户端本地时,客户端向元数据服务器发送获取请求,然后接收元数据服务器根据该获取请求返回的元数据,该获取请求包括上述关键字。优选的,客户端本地主要是指本地缓存。对于元数据服务器来说,接收客户端发送的获取请求,根据该获取请求,确定关键字对应的元数据并返回给客户端。
客户端首先在本地查找元数据,当元数据存在本地时,直接从本地获取元数据,有利于提高获取元数据的效率,进而提高存储效率;当元数据不存在本地时,再通过元数据服务器获取元数据,又可以保证成功获取元数据。
对元数据服务器来说,可以根据关键字在本地查询,以判断关键字对应的元数据是否存在本地;当元数据存在本地时,元数据服务器从本地获取元数据;当元数据不存在本地时,元数据服务器按照预设的分配规则为该关键字分配元数据。
这里的本地主要包括本地缓存空间和持久性存储空间。元数据服务器可以优先根据关键字在本地缓存中查找,如果在本地缓存中查找到该关键字对应的元数据,则直接从本地缓存中获取该元数据;如果未在本地缓存中查找到该关键字对应的元数据,则再根据关键字在持久性存储空间中查找;如果在持久性存储空间中查找到该关键字对应的元数据,则直接从持久性存储空间中获取该元数据,如果未在持久性存储空间中查找到元数据,则再按照预设的分配规则为该关键字分配元数据。可选的,预设的分配方案可以是单调递增分配方案。其中,单调递增分配方案中的单调递增其实可以简称为“递增”或“自增”,主要是针对元数据中的存储标识来说的。具体的,假设当前已分配的元数据中存储标识的最大值是M,那新分配的存储标识必须是M+1,与此同时更新M=M+1,以此类推。这样就能保证不断递增的分配新的不重复、具备唯一性的存储标识给每条数据记录,而且存储标识之间也是连续的,不会出现空缺浪费。
元数据服务器先在本地缓存中查找元数据,同样有利于提高获取元数据的效率,进而提高存储效率;当元数据不存在本地缓存中时,再去持久性存储空间查找或者为关键字分配元数据,可以保证成功获取关键字对应的元数据,为成功存储数值提供保障。
进一步,如果元数据服务器从持久性存储空间获取元数据之后,可以将元数据存储到本地缓存中;如果元数据服务器为关键字分配元数据之后,还可以将元数据存储到持久性存储空间和本地缓存中,这样可以提高后续获取元数据的效率。
在一可选实施方式中,元数据服务器为关键字分配元数据之后,可以将该关键字和元数据对应存储在本地,优选存储到持久性存储空间中。这就为客户端查询数值打下了基础。
进一步,当关键字被删除时,元数据服务器可以回收关键字对应的元数据。由于元数据中的存储标识被赋予了指示数值在存储服务器上的存储位置的职责,所以仅仅在每个存储服务器下保证唯一性是不够的,例如在单调递增的方案中,有可能老的存储标识已经作废了(由于对应的关键字被删除),而新分配的存储标识依然在不断递增,这会导致作废的关键字在每个文件中继续占据存储空间,导致极大浪费。本实施例中的元数据服务器通过回收被删除关键字对应的元数据在保证存储标识唯一性的同时还可以避免空间浪费。
103、客户端根据存储服务器的标识,向存储服务器发送写入请求,该写入请求包括上述存储标识、上述时间戳和上述数值。
在确定关键字对应的元数据之后,客户端将数据记录中的关键字替换为存储标识,并根据存储服务器的标识,向对应的存储服务器发送写入请求,以使存储服务器将数据记录中的数值写入存储标识和时间戳所指示的存储位置。
104、存储服务器将上述数值存储到存储标识和时间戳指示的存储位置。
存储服务器接收到客户端发送的写入请求后,从写入请求中获取存储标识、时间戳和数值,之后根据存储标识和时间戳确定数值的存储位置,将数值写入所确定的存储位置。
本发明的数据记录在时间上可以具有周期性。例如以表1中第一条数据记录为例,如果以分钟来记录数值,则对于[小型车.杭州.G50.转塘]这个关键字而言,一天有且仅有1440条数据记录;如果以秒来记录数据,则对于[小型车.杭州.G50.转塘]这个关键字而言,一天有且仅有86400条数据记录。除此之外,本实施例的数值占用的字节数是可以预知的,一般占用一个双精度浮点(double)类型的字节数。
基于上述特点,在一可选实施方式中,存储服务器可以按照预设的时间粒度进行数值存储,将每个时间粒度内的数值存储为一个文件;在一个文件中,不同关键值对应的数值用一个存储页进行存储。基于此,用时间戳和存储标识指示数值在存储服务器上的存储位置的方式为:时间戳可用来指示存储服务器上用于存储数据记录中数值的存储文件以及该数值在该存储文件中用于存储该数值的存储页内的位置,而存储标识具体可用于指示上述存储文件中用于存储该数值的存储页。
基于上述,步骤104的一种可选实施方式包括:
存储服务器用上述时间戳对预设的时间粒度取模,获取整数部分和余数部分,根据整数部分确定存储服务器上用于存储上述数值的存储文件,根据存储标识确定存储文件中用于存储上述数值的存储页,并根据余数部分确定上述数值在存储页内的起始位置。
举例说明,时间粒度可以为“一天”、“一星期”、“一月”、“一年”等。相应的,一天、一星期、一月或一年内的数值用一个文件存储,也就是说存储服务器上的文件以时间粒度为单位进行存储。
以时间粒度为“一天”为例,则上述存储文件以“一天”为单位来存储数值。则步骤104的具体实施方式包括:
存储服务器用时间戳对该时间粒度取模,获取整数部分作为时间戳中的日期,根据余数部分确定时间戳中偏离该日期的分钟数;
存储服务器确定以该日期命名的文件作为存储数据记录中数值的存储文件,将存储标识与单个存储页占用的字节数相乘的结果作为用于存储上述数值的存储页在存储文件中的起始位置,将上述分钟数与每分钟内数值占用的字节数相乘的结果作为上述数值在上述存储页内的起始位置。
例如,如果文件存储的是2013-11-11的数值,则可以用2013-11-11来命名;如果文件存储的是2013-12-11的数值,则可以用2013-12-11来命名等。这样,存储服务器可以将上述确定的时间戳中的日期与各文件的名称相比较,将匹配中的文件作为用于存储上述数值的存储文件。
在确定存储文件的基础上,假设每分钟内的数值占用8个字节(byte),1440个数值占用N=1440*8字节,此时的存储标识为M,则用于存储数据记录中数值的存储页在存储文件中的起始位置为存储空间的第M*N个字节,如果时间戳是2013-11-1101:01分,因为01:01分是这一天的第61个分钟,则上述数值在存储页内占用空间的起始位置是61*8,则上述数值在2013-11-11这个存储文件内的存储位置是M*N+61*8。
在本实施例中,客户端确定关键字对应的元数据,元数据中存储服务器的标识指示数值所在的存储服务器,元数据中的存储标识和数据记录中的时间戳共同指示数值在存储服务器上的存储位置,将时间戳与数值的存储位置相关联,这样既可以确定数值的存储位置又可以不用存储时间戳,也就避免了为时间戳建立次级索引影响存储系统性能的问题,有利于提高存储速度。
另外,周期型数据的存储都遵循价值递减原则,即数值的价值随着时间的流逝而递减,越实时的数值价值越高。基于此,近期的数值一般存储在高端机器和磁盘上,而年代久远的数值往往会被迁移到廉价的存储设备上。而本实施例将文件按数值产生的日期来命名能够便于这种迁移操作,迁移操作都是迁移某个日期之前的数值,而通过文件的名称可以非常方便的定位待迁移的数值。因此本实施例还历史久远的数值迁移(例如从线上机器迁移到廉价存储设备上等)提供了便利。
进一步,基于本实施例提供的数据存储方法,在进行数据检索时可以不再基于时间戳的次级索引,避免了通过次级索引检索数值时带来的I/O开销,有利于提高查询速度。
图2为本发明一实施例提供的数据查询方法的流程图。如图2所示,该方法包括:
201、客户端获取待查询数值对应的关键字和时间戳。
202、客户端确定上述关键字对应的元数据,该元数据包括存储服务器的标识和存储标识。
在需要查询数值时,客户端首先要获取待查询数值对应的关键字和时间戳。可选的,待查询数值对应的关键字和时间戳可以是客户端自身产生;或者也可以是其它设备产生后提供给客户端。其它设备向客户端提供待查询数值对应的关键字和时间戳的方式可以有多种,例如可以是其它设备直接传输给客户端,也可以是客户端登录其它设备去获取,还可以是其它设备将数据记录存储到中间设备并由客户端从中间设备获取,等等。
之后,客户端确定关键字对应的元数据。该元数据至少包括:存储服务器的标识和存储标识。其中,存储服务器的标识用于指示待查询数值所属的存储服务器。举例说明,存储服务器的标识可以是存储服务器的IP地址、MAC地址、名称等。本实施例中的存储服务器是真正的存储机器,存储服务器包括至少一个文件,每个文件可以包括一个或多个存储页。这里的存储标识和时间戳共同指示待查询数值在存储服务器上的存储位置。
在一可选实施方式中,客户端确定关键字对应的元数据的方式可以包括:客户端可以根据该关键字在客户端本地查询,以判断该元数据是否存在本地;当元数据存在客户端本地时,客户端从本地获取该元数据;当元数据不存在客户端本地时,客户端向元数据服务器发送获取请求,然后接收元数据服务器根据该获取请求返回的元数据,该获取请求包括关键字。优选的,客户端本地主要是指本地缓存。对于元数据服务器来说,接收客户端发送的获取请求,根据该获取请求,确定关键字对应的元数据并返回给客户端。
客户端首先在本地查找元数据,当元数据存在本地时,直接从本地获取元数据,有利于提高获取元数据的效率,进而提高查询效率;当元数据不存在本地时,再通过元数据服务器获取元数据,又可以保证成功获取元数据。
对元数据服务器来说,可以根据关键字在本地查询,以判断该关键字对应的元数据是否存在本地;当元数据存在本地时,元数据服务器从本地获取元数据;当元数据不存在本地时,元数据服务器向客户端返回异常信息,由客户端进行异常处理。
这里的本地包括本地缓存空间和持久性存储空间。元数据服务器可以优先根据关键字在本地缓存中查找,如果在本地缓存中查找到该关键字对应的元数据,则直接从本地缓存中获取该元数据;如果未在本地缓存中查找到该关键字对应的元数据,则再根据关键字在持久性存储空间中查找;如果在持久性存储空间中查找到该关键字对应的元数据,则直接从持久性存储空间中获取该元数据,如果未在持久性存储空间中查找到元数据,向客户端返回异常信息。
元数据服务器先在本地缓存中查找元数据,同样有利于提高获取元数据的效率,进而提高查询效率;当元数据不存在本地缓存中时,再去持久性存储空间查找或者为关键字分配元数据,可以保证成功获取元数据,为成功查询数值提供保障。
进一步,如果元数据服务器从持久性存储空间获取元数据之后,可以将元数据存储到本地缓存中,这样可以提高后续获取元数据的效率。
进一步,当关键字被删除时,元数据服务器回收该元数据。由于元数据中的存储标识被赋予了指示数值在存储服务器上的存储位置的职责,所以仅仅在每个存储服务器下保证唯一性是不够的,例如在单调递增的方案中,有可能老的存储标识已经作废了(由于对应的关键字被删除),而新分配的存储标识依然在不断递增,这就会导致作废的关键字在每个存储文件中都继续占据存储空间,导致极大浪费。本实施例中的元数据服务器通过回收被删除关键字对应的元数据在保证存储标识唯一性的同时还可以避免空间浪费。
203、客户端根据上述存储服务器的标识,向存储服务器发送读请求,该读请求包括上述时间戳和上述存储标识。
在确定关键字对应的元数据之后,客户端将关键字替换为存储标识,并根据存储服务器的标识,向对应的存储服务器发送读请求,以使存储服务器从时间戳和存储标识指示的存储位置读取数值。
204、存储服务器从上述存储标识和上述时间戳指示的存储位置读取数值,并将该数值发送给客户端。
存储服务器接收到客户端发送的读请求后,从读请求中获取时间戳和存储标识,根据时间戳和存储标识确定存储位置,从所确定的存储位置读取数值,将所读取的数值发送给客户端。
在本发明中,存储服务器上存储的数值具有周期性,数值的存储与其所对应的时间戳相关联。在一可选实施方式中,存储服务器可以按照预设的时间粒度进行数值存储,将每个时间粒度内的数值存储为一个文件;在一个文件中,不同关键值对应的数值用一个存储页进行存储。基于此,用时间戳和存储标识指示数值在存储服务器上的存储位置的方式为:时间戳可用来指示存储服务器上用于存储数值的存储文件以及该数值在该存储文件中用于存储该数值的存储页内的位置,而存储标识具体可用于指示上述存储文件中用于存储该数值的存储页。
基于上述,存储服务器从上述存储标识和上述时间戳指示的存储位置读取数值的一种可选实施方式包括:
存储服务器用上述时间戳对预设的时间粒度取模,获取整数部分和余数部分,根据整数部分确定存储服务器上用于存储待查询数值的存储文件,根据存储标识确定该存储文件中用于存储待查询数值的存储页,并根据余数部分确定该数值在存储页内的起始位置,然后自该起始位置开始从所确定的存储页内读取上述数值。
举例说明,时间粒度可以为“一天”、“一星期”、“一月”、“一年”等。相应的,一天、一星期、一月或一年内的数值用一个文件存储,也就是说存储服务器上的文件以时间粒度为单位进行存储。
以时间粒度为“一天”为例,则存储文件以“一天”为单位来存储数值。则存储服务器从上述存储标识和上述时间戳指示的存储位置读取数值的具体实施方式包括:
存储服务器用读请求携带的时间戳对该时间粒度取模,获取整数部分作为时间戳中的日期,根据余数部分确定时间戳中偏离所确定的日期的分钟数;
存储服务器确定以该日期命名的文件作为存储服务器上存储有待查询数值的存储文件,将存储标识与单个存储页占用的字节数相乘的结果作为存储有上述待查询数值的存储页在上述储文件中的起始位置,将上述分钟数与每分钟内数值占用的字节数相乘的结果作为待查询数值在上述存储页内的起始位置。
例如,如果文件存储的是2013-11-11的数值,则可以用2013-11-11来命名;如果文件存储的是2013-12-11的数值,则可以用2013-12-11来命名等。这样,存储服务器可以将上述确定的时间戳中的日期与各文件的名称相比较,将匹配中的文件作为存储有待查询数值的存储文件。
在确定存储文件的基础上,假设每分钟内的数值占用8个字节(byte),1440个数值占用N=1440*8字节,此时的存储标识为M,则存储有待查询数值的存储页在存储文件中的起始位置为存储空间的第M*N个字节,如果时间戳是2013-11-1101:01分,因为01:01分是这一天的第61个分钟,则待查询数值在存储页内占用空间的起始位置是61*8,则待查询数值在2013-11-11这个存储文件内的位置是M*N+61*8。
在本实施例中,客户端获取待存储数值对应的关键字和时间戳,之后确定关键字对应的元数据,元数据中存储服务器的标识指示待查询数值所在的存储服务器,时间戳和元数据中的存储标识共同指示待查询数值在存储服务器上的存储位置,将时间戳与待查询数值的存储位置相关联,这样可以直接利用时间戳和存储标识进行数值查询,使得数值查询不再基于时间戳的次级索引,避免了通过次级索引检索数值时带来的I/O开销,提高了查询速度。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
图3为本发明一实施例提供的客户端的结构示意图。如图3所示,该客户端包括:获取模块31、确定模块32和发送模块33。
获取模块31,用于获取数据记录,所述数据记录包括关键字、时间戳和数值。
确定模块32,与获取模块31连接,用于确定获取模块31获取的数据记录中关键字对应的元数据,所述元数据包括存储服务器的标识和存储标识。
发送模块33,与确定模块32连接,用于根据确定模块32确定的存储服务器的标识,向存储服务器发送写入请求,以使存储服务器将上述数值存储到上述存储标识和上述时间戳指示的存储位置;所述写入请求包括上述存储标识、上述时间戳和上述数值。
在一可选实施方式中,确定模块32具体用于在所述元数据不存在所述客户端本地时,向元数据服务器发送获取请求,接收所述元数据服务器根据所述获取请求确定并返回的所述元数据;所述获取请求包括所述关键字。
本实施例提供的客户端的各功能模块可用于执行图1所示数据存储方法,其工作原理不在赘述,详见方法实施例的描述。
本实施例提供的客户端,确定关键字对应的元数据,元数据中存储服务器的标识指示数值所在的存储服务器,元数据中的存储标识和数据记录中的时间戳共同指示数值在存储服务器上的存储位置,将时间戳与数值的存储位置相关联,这样既可以确定数值的存储位置又可以不用存储时间戳,也就避免了存储服务器为时间戳建立次级索引影响存储系统性能的问题,有利于提高存储速度。
图4为本发明一实施例提供的存储服务器的结构示意图。如图4所示,该存储服务器包括:接收模块41和写入模块43。
接收模块41,用于接收客户端根据存储服务器的标识发送的写入请求;所述写入请求包括存储标识、数据记录中的时间戳以及数据记录中的数值,所述存储标识是客户端根据数据记录中的关键字确定的。其中,客户端在获取数据记录后,确定数据记录中关键字对应的元数据,之后根据元数据中存储服务器的标识向存储服务器发送写入请求。数据记录包括时间戳、关键字和数值。元数据除了包括存储服务器的标识之外,还包括存储标识。
写入模块43,与接收模块41连接,用于将接收模块41接收的数值写入由存储标识和时间戳指示的存储位置。
在一可选实施方式中,写入模块43具体用于用时间戳对预设的时间粒度取模,获取整数部分和余数部分,根据所述整数部分确定所述存储服务器上用于存储所述数值的存储文件,根据所述存储标识确定所述存储文件中用于存储所述数值的存储页,并根据所述余数部分确定所述数值在所述存储页内的起始位置,自所述起始位置开始将所述数值写入所述存储页。
进一步,上述时间粒度可以是“一天”,则上述存储文件以“一天”为单位来存储数值。基于此,写入模块43具体可用于用所述时间戳对所述时间粒度取模,获取所述整数部分作为所述时间戳中的日期,根据所述余数部分确定所述时间戳中偏离所述日期的分钟数,确定以所述日期命名的文件作为所述存储文件,将所述存储标识与单个存储页占用的字节数相乘的结果作为所述存储页在所述存储文件中的起始位置,将所述分钟数与每分钟内数值占用的字节数相乘的结果作为所述数值在所述存储页内的起始位置,自所述起始位置开始将所述数值写入所述存储页。
进一步,如图5所示,该存储服务器还包括:元数据获取模块44,用于根据所述关键字在本地查询,以判断所述元数据是否存在本地,并在所述元数据存在本地时,从本地获取所述元数据,或者,在所述元数据不存在本地时,按照预设的分配规则为所述关键字分配所述元数据。元数据获取模块44与客户端连接(图5中未示出),用于向客户端提供关键字对应的元数据。
进一步,如图5所示,该存储服务器还包括:存储模块45,与元数据获取模块44连接,用于在元数据获取模块44为所述关键字分配所述元数据之后,将所述关键字和所述元数据对应存储在本地。
进一步,如图5所示,该存储服务器还包括:回收模块46,与存储模块45连接,用于在所述关键字被删除时,回收存储模块45所存储的元数据。
本实施例提供的存储服务器的各功能模块可用于执行图1所示数据存储方法的流程,其具体工作原理不在赘述,详见方法实施例的描述。
本实施例提供的存储服务器,利用存储标识和数据记录中的时间戳共同指示数值在存储服务器上的存储位置,将时间戳与数值的存储位置相关联,这样既可以确定数值的存储位置又可以不用存储时间戳,也就避免了为时间戳建立次级索引影响存储系统性能的问题,有利于提高存储速度。
图6为本发明另一实施例提供的客户端的结构示意图。如图6所示,该客户端包括:获取模块61、确定模块62、发送模块63和接收模块64。
获取模块61,用于获取待查询数值对应的关键字和时间戳。
确定模块62,与获取模块61连接,用于确定获取模块61获取的关键字对应的元数据,所述元数据包括存储服务器的标识和存储标识。
发送模块63,与存储服务器和确定模块62连接,用于根据确定模块62确定的存储服务器的标识,向所述存储服务器发送读请求,以使所述存储服务器从所述存储标识和所述时间戳指示的存储位置读取所述数值,所述读请求包括所述时间戳和所述存储标识。
接收模块64,与存储服务器连接,用于接收所述存储服务器发送的所述数值。
本实施提供的客户端的各功能模块可用于执行图2所示数据查询方法的流程,其具体工作原理不再赘述,详见方法实施例的描述。
本实施例的客户端,在获取元数据之后,向存储服务器发送读请求,在读请求中携带时间戳和存储标识,利用时间戳和存储标识共同指示待查询数值在存储服务器上的存储位置,这样客户端进行数值查询不再基于时间戳的次级索引,避免了通过次级索引检索数值时带来的I/O开销,提高了查询速度。
图7为本发明又一实施例提供的存储服务器的结构示意图。如图7所示,该存储服务器包括:接收模块71、读取模块73和发送模块74。
接收模块71,用于接收客户端根据存储服务器的标识发送的读请求,所述读请求包括待查询数值对应的时间戳和存储标识,所述存储标识是客户端根据待查询数值对应的关键字确定的。其中,客户端在获取待查询数值对应的关键字和时间戳后,确定关键字对应的元数据,根据元数据中存储服务器的标识,向存储服务器发送读请求。元数据除了包括存储服务器的标识之外,还包括存储标识。
读取模块73,与接收模块71连接,用于从接收模块71接收的存储标识和时间戳指示的存储位置读取数值。
发送模块74,与读取模块73连接,用于将读取模块73读取的数值发送给所述客户端。
在一可选实施方式中,读取模块73具体可用于用所述时间戳对预设的时间粒度取模,获取整数部分和余数部分,根据所述整数部分确定所述存储服务器上用于存储所述数值的存储文件,根据所述存储标识确定所述存储文件中用于存储所述数值的存储页,并根据所述余数部分确定所述数值在所述存储页内的起始位置,自所述起始位置开始从所述存储页中读取所述数值。
在一可选实施方式中,上述时间粒度为“一天”,则存储文件以“一天”为单位进行存储,基于此,读取模块具体用于用所述时间戳对所述时间粒度取模,获取所述整数部分作为所述时间戳中的日期,根据所述余数部分确定所述时间戳中偏离所述日期的分钟数,确定以所述日期命名的文件作为所述存储文件,将所述存储标识与单个存储页占用的字节数相乘的结果作为所述存储页在所述存储文件中的起始位置,将所述分钟数与每分钟内数值占用的字节数相乘的结果作为所述数值在所述存储页内的起始位置,自所述起始位置开始从所述存储页中读取所述数值。
本实施提供的存储服务器的各功能模块可用于执行图2所示数据查询方法的流程,其具体工作原理不再赘述,详见方法实施例的描述。
本实施例的存储服务器,接收到客户端发送的读请求之后,利用读请求中的时间戳和存储标识确定数值所在的存储位置,之后读取数值并返回给客户端,使得数值的查询不再基于时间戳的次级索引,避免了通过次级索引检索数值时带来的I/O开销,提高查询速度。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(RandomAccessMemory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (22)

1.一种数据存储方法,其特征在于,包括:
客户端获取数据记录,所述数据记录包括关键字、时间戳和数值;
所述客户端确定所述关键字对应的元数据,所述元数据包括存储服务器的标识和存储标识;
所述客户端根据所述存储服务器的标识,向所述存储服务器发送写入请求,所述写入请求包括所述存储标识、所述时间戳和所述数值;
所述存储服务器将所述数值存储到所述存储标识和所述时间戳指示的存储位置。
2.根据权利要求1所述的方法,其特征在于,所述存储服务器将所述数值存储到所述存储标识和所述时间戳指示的存储位置,包括:
所述存储服务器用所述时间戳对预设的时间粒度取模,获取整数部分和余数部分,根据所述整数部分确定所述存储服务器上用于存储所述数值的存储文件,根据所述存储标识确定所述存储文件中用于存储所述数值的存储页,并根据所述余数部分确定所述数值在所述存储页内的起始位置;
所述存储服务器自所述起始位置开始将所述数值写入所述存储页。
3.根据权利要求2所述的方法,其特征在于,所述时间粒度为“一天”,所述存储文件以“一天”为单位进行存储;
所述存储服务器用所述时间戳对预设的时间粒度取模,获取整数部分和余数部分,根据所述整数部分确定所述存储服务器上用于存储所述数值的存储文件,根据所述存储标识确定所述存储文件中用于存储所述数值的存储页,并根据所述余数部分确定所述数值在所述存储页内的起始位置,包括:
所述存储服务器用所述时间戳对所述时间粒度取模,获取所述整数部分作为所述时间戳中的日期,根据所述余数部分确定所述时间戳中偏离所述日期的分钟数;
所述存储服务器确定以所述日期命名的文件作为所述存储文件,将所述存储标识与单个存储页占用的字节数相乘的结果作为所述存储页在所述存储文件中的起始位置,将所述分钟数与每分钟内数值占用的字节数相乘的结果作为所述数值在所述存储页内的起始位置。
4.根据权利要求1或2或3所述的方法,其特征在于,所述客户端确定所述关键字对应的元数据,包括:
当所述元数据不存在所述客户端本地时,所述客户端向元数据服务器发送获取请求,所述获取请求包括所述关键字;
所述元数据服务器根据所述获取请求,确定所述元数据;
所述元数据服务器将所述元数据发送给所述客户端。
5.根据权利要求4所述的方法,其特征在于,所述元数据服务器根据所述获取请求,确定所述元数据,包括:
所述元数据服务器根据所述关键字在本地查询,以判断所述元数据是否存在本地;
当所述元数据存在本地时,所述元数据服务器从本地获取所述元数据;
当所述元数据不存在本地时,所述元数据服务器按照预设的分配规则为所述关键字分配所述元数据。
6.根据权利要求5所述的方法,其特征在于,还包括:
所述元数据服务器在为所述关键字分配所述元数据之后,将所述关键字和所述元数据对应存储在本地。
7.根据权利要求6所述的方法,其特征在于,还包括:
当所述关键字被删除时,所述元数据服务器回收所述元数据。
8.一种数据查询方法,其特征在于,包括:
客户端获取待查询数值对应的关键字和时间戳;
所述客户端确定所述关键字对应的元数据,所述元数据包括存储服务器的标识和存储标识;
所述客户端根据所述存储服务器的标识,向所述存储服务器发送读请求,所述读请求包括所述时间戳和所述存储标识;
所述存储服务器从所述存储标识和所述时间戳指示的存储位置读取所述数值,并将所述数值发送给所述客户端。
9.根据权利要求8所述的方法,其特征在于,所述存储服务器从所述存储标识和所述时间戳指示的存储位置读取所述数值,包括:
所述存储服务器用所述时间戳对预设的时间粒度取模,获取整数部分和余数部分,根据所述整数部分确定所述存储服务器上用于存储所述数值的存储文件,根据所述存储标识确定所述存储文件中用于存储所述数值的存储页,并根据所述余数部分确定所述数值在所述存储页内的起始位置;
所述存储服务器自所述起始位置开始从所述存储页中读取所述数值。
10.根据权利要求9所述的方法,其特征在于,所述时间粒度为“一天”,所述存储文件以“一天”为单位进行存储;
所述存储服务器用所述时间戳对预设的时间粒度取模,获取整数部分和余数部分,根据所述整数部分确定所述存储服务器上用于存储所述数值的存储文件,根据所述存储标识确定所述存储文件中用于存储所述数值的存储页,并根据所述余数部分确定所述数值在所述存储页内的起始位置,包括:
所述存储服务器用所述时间戳对所述时间粒度取模,获取所述整数部分作为所述时间戳中的日期,根据所述余数部分确定所述时间戳中偏离所述日期的分钟数;
所述存储服务器确定以所述日期命名的文件作为所述存储文件,将所述存储标识与单个存储页占用的字节数相乘的结果作为所述存储页在所述存储文件中的起始位置,将所述分钟数与每分钟内数值占用的字节数相乘的结果作为所述数值在所述存储页内的起始位置。
11.一种客户端,其特征在于,包括:
获取模块,用于获取数据记录,所述数据记录包括关键字、时间戳和数值;
确定模块,用于确定所述关键字对应的元数据,所述元数据包括存储服务器的标识和存储标识;
发送模块,用于根据所述存储服务器的标识,向所述存储服务器发送写入请求,以使所述存储服务器将所述数值存储到所述存储标识和所述时间戳指示的存储位置;所述写入请求包括所述存储标识、所述时间戳和所述数值。
12.根据权利要求11所述的客户端,其特征在于,所述确定模块具体用于在所述元数据不存在所述客户端本地时,向元数据服务器发送获取请求,接收所述元数据服务器根据所述获取请求确定并返回的所述元数据;所述获取请求包括所述关键字。
13.一种存储服务器,其特征在于,包括:
接收模块,用于接收客户端根据存储服务器的标识发送的写入请求;所述写入请求包括存储标识、数据记录中的时间戳以及所述数据记录中的数值,所述存储标识是所述客户端根据所述数据记录中的关键字确定的;
写入模块,用于将所述数值存储到所述存储标识和所述时间戳指示的存储位置。
14.根据权利要求13所述的存储服务器,其特征在于,所述写入模块具体用于用所述时间戳对预设的时间粒度取模,获取整数部分和余数部分,根据所述整数部分确定所述存储服务器上用于存储所述数值的存储文件,根据所述存储标识确定所述存储文件中用于存储所述数值的存储页,并根据所述余数部分确定所述数值在所述存储页内的起始位置,自所述起始位置开始将所述数值写入所述存储页。
15.根据权利要求14所述的存储服务器,其特征在于,所述时间粒度为“一天”,所述存储文件以“一天”为单位进行存储;
所述写入模块具体用于用所述时间戳对所述时间粒度取模,获取所述整数部分作为所述时间戳中的日期,根据所述余数部分确定所述时间戳中偏离所述日期的分钟数,确定以所述日期命名的文件作为所述存储文件,将所述存储标识与单个存储页占用的字节数相乘的结果作为所述存储页在所述存储文件中的起始位置,将所述分钟数与每分钟内数值占用的字节数相乘的结果作为所述数值在所述存储页内的起始位置,自所述起始位置开始将所述数值写入所述存储页。
16.根据权利要求13或14或15所述的存储服务器,其特征在于,还包括:
元数据获取模块,用于根据所述关键字在本地查询,以判断所述元数据是否存在本地,并在所述元数据存在本地时,从本地获取所述元数据,或者,在所述元数据不存在本地时,按照预设的分配规则为所述关键字分配所述元数据。
17.根据权利要求16所述的存储服务器,其特征在于,还包括:
存储模块,用于在所述元数据获取模块为所述关键字分配所述元数据之后,将所述关键字和所述元数据对应存储在本地。
18.根据权利要求17所述的存储服务器,其特征在于,还包括:
回收模块,用于在所述关键字被删除时,回收所述元数据。
19.一种客户端,其特征在于,包括:
获取模块,用于获取待查询数值对应的关键字和时间戳;
确定模块,用于确定所述关键字对应的元数据,所述元数据包括存储服务器的标识和存储标识;
发送模块,用于根据所述存储服务器的标识,向所述存储服务器发送读请求,以使所述存储服务器从所述存储标识和所述时间戳指示的存储位置读取所述数值,所述读请求包括所述时间戳和所述存储标识;
接收模块,用于接收所述存储服务器发送的所述数值。
20.一种存储服务器,其特征在于,包括:
接收模块,用于接收客户端根据存储服务器的标识发送的读请求,所述读请求包括待查询数值对应的时间戳和存储标识,所述存储标识是所述客户端根据所述数值对应的关键字确定的;
读取模块,用于从所述存储标识和所述时间戳指示的存储位置读取所述数值;
发送模块,用于将所述数值发送给所述客户端。
21.根据权利要求20所述的存储服务器,其特征在于,所述读取模块具体用于用所述时间戳对预设的时间粒度取模,获取整数部分和余数部分,根据所述整数部分确定所述存储服务器上用于存储所述数值的存储文件,根据所述存储标识确定所述存储文件中用于存储所述数值的存储页,并根据所述余数部分确定所述数值在所述存储页内的起始位置,自所述起始位置开始从所述存储页中读取所述数值。
22.根据权利要求21所述的存储服务器,其特征在于,所述时间粒度为“一天”,所述存储文件以“一天”为单位进行存储;
所述读取模块具体用于用所述时间戳对所述时间粒度取模,获取所述整数部分作为所述时间戳中的日期,根据所述余数部分确定所述时间戳中偏离所述日期的分钟数,确定以所述日期命名的文件作为所述存储文件,将所述存储标识与单个存储页占用的字节数相乘的结果作为所述存储页在所述存储文件中的起始位置,将所述分钟数与每分钟内数值占用的字节数相乘的结果作为所述数值在所述存储页内的起始位置,自所述起始位置开始从所述存储页中读取所述数值。
CN201410244517.5A 2014-06-04 2014-06-04 数据存储和查询方法及设备 Active CN105224546B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410244517.5A CN105224546B (zh) 2014-06-04 2014-06-04 数据存储和查询方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410244517.5A CN105224546B (zh) 2014-06-04 2014-06-04 数据存储和查询方法及设备

Publications (2)

Publication Number Publication Date
CN105224546A true CN105224546A (zh) 2016-01-06
CN105224546B CN105224546B (zh) 2020-10-30

Family

ID=54993520

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410244517.5A Active CN105224546B (zh) 2014-06-04 2014-06-04 数据存储和查询方法及设备

Country Status (1)

Country Link
CN (1) CN105224546B (zh)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105912666A (zh) * 2016-04-12 2016-08-31 中国科学院软件研究所 一种面向云平台的混合结构数据高性能存储、查询方法
CN106777146A (zh) * 2016-12-19 2017-05-31 北京奇虎科技有限公司 基于LSM‑tree结构的数据处理方法及装置
CN106991088A (zh) * 2016-01-20 2017-07-28 阿里巴巴集团控股有限公司 数据获取方法和装置
CN107222555A (zh) * 2017-06-27 2017-09-29 聚好看科技股份有限公司 消息处理方法及装置
CN107506481A (zh) * 2017-09-15 2017-12-22 北京京东尚科信息技术有限公司 用于处理信息的方法及装置
CN107657020A (zh) * 2017-09-27 2018-02-02 上海斐讯数据通信技术有限公司 一种海量小文件快速识别处理的方法及系统
CN107679093A (zh) * 2017-09-07 2018-02-09 北京神州绿盟信息安全科技股份有限公司 一种数据查询方法及装置
CN108399263A (zh) * 2018-03-15 2018-08-14 北京大众益康科技有限公司 时序数据的存储和查询方法及存储和处理平台
CN109213760A (zh) * 2018-08-02 2019-01-15 南瑞集团有限公司 非关系数据存储的高负载业务存储及检索方法
CN109299348A (zh) * 2018-11-28 2019-02-01 北京字节跳动网络技术有限公司 一种数据查询方法、装置、电子设备及存储介质
CN109726202A (zh) * 2018-12-18 2019-05-07 北京新唐思创教育科技有限公司 一种区块链数据存储方法及计算机存储介质
CN109885620A (zh) * 2018-12-25 2019-06-14 航天信息股份有限公司 基于Hive数据仓库的元数据读取方法及装置
CN109977121A (zh) * 2019-03-27 2019-07-05 上海鸣鸾互联网科技有限公司 一种大数据快速存储系统
WO2019196890A1 (en) * 2018-04-11 2019-10-17 Beijing Didi Infinity Technology And Development Co., Ltd. System and method for storing multimedia resources
CN111177077A (zh) * 2018-11-09 2020-05-19 杭州海康威视数字技术股份有限公司 数据存储及数据查询方法、装置、设备、介质
CN112667628A (zh) * 2020-07-03 2021-04-16 杭州星迈科技有限公司 一种大规模监控数据的存储方法、系统和可穿戴设备
CN113821409A (zh) * 2021-09-23 2021-12-21 中国建设银行股份有限公司 一种监控数据传输的方法、装置、存储介质和设备
CN113821409B (zh) * 2021-09-23 2024-06-04 中国建设银行股份有限公司 一种监控数据传输的方法、装置、存储介质和设备

Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6671705B1 (en) * 1999-08-17 2003-12-30 Emc Corporation Remote mirroring system, device, and method
CN1828599A (zh) * 2005-02-22 2006-09-06 微软公司 幻影同步
CN101313279A (zh) * 2005-10-14 2008-11-26 塞门铁克操作公司 一种在数据存储器中用于时间线压缩的技术
CN101477575A (zh) * 2009-01-22 2009-07-08 中兴通讯股份有限公司 一种多媒体信息存储和播放方法及其装置
US20100106747A1 (en) * 2008-10-23 2010-04-29 Benjamin Honzal Dynamically building and populating data marts with data stored in repositories
US20100195974A1 (en) * 2009-02-04 2010-08-05 Google Inc. Server-side support for seamless rewind and playback of video streaming
US20110022801A1 (en) * 2007-12-06 2011-01-27 David Flynn Apparatus, system, and method for redundant write caching
CN101965559A (zh) * 2007-12-27 2011-02-02 普莱恩特技术股份有限公司 包括将处理器与内部存储器连接的交叉切换器的用于闪存的存储控制器
CN102043795A (zh) * 2009-10-13 2011-05-04 上海新华控制技术(集团)有限公司 过程控制历史数据文件结构的建立方法和数据读写方法
CN102129436A (zh) * 2010-01-20 2011-07-20 北大方正集团有限公司 一种网页模板的构建方法、系统及装置
CN102694860A (zh) * 2012-05-25 2012-09-26 北京邦诺存储科技有限公司 一种云存储的数据处理方法、设备及系统
CN102708165A (zh) * 2012-04-26 2012-10-03 华为软件技术有限公司 分布式文件系统中的文件处理方法及装置
CN103067419A (zh) * 2011-10-19 2013-04-24 北大方正集团有限公司 一种分布式文件系统及在该系统中控制文件存储的方法
CN103336683A (zh) * 2013-06-24 2013-10-02 沈阳东软医疗系统有限公司 一种基于硬件的符合事件判定方法和装置
CN103605778A (zh) * 2013-11-28 2014-02-26 中安消技术有限公司 一种视频文件的定位方法、装置及系统
CN103714142A (zh) * 2013-12-25 2014-04-09 乐视网信息技术(北京)股份有限公司 一种数据查找方法及装置

Patent Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6671705B1 (en) * 1999-08-17 2003-12-30 Emc Corporation Remote mirroring system, device, and method
CN1828599A (zh) * 2005-02-22 2006-09-06 微软公司 幻影同步
CN101313279A (zh) * 2005-10-14 2008-11-26 塞门铁克操作公司 一种在数据存储器中用于时间线压缩的技术
US20110022801A1 (en) * 2007-12-06 2011-01-27 David Flynn Apparatus, system, and method for redundant write caching
CN101965559A (zh) * 2007-12-27 2011-02-02 普莱恩特技术股份有限公司 包括将处理器与内部存储器连接的交叉切换器的用于闪存的存储控制器
US20100106747A1 (en) * 2008-10-23 2010-04-29 Benjamin Honzal Dynamically building and populating data marts with data stored in repositories
CN101477575A (zh) * 2009-01-22 2009-07-08 中兴通讯股份有限公司 一种多媒体信息存储和播放方法及其装置
US20100195974A1 (en) * 2009-02-04 2010-08-05 Google Inc. Server-side support for seamless rewind and playback of video streaming
CN102043795A (zh) * 2009-10-13 2011-05-04 上海新华控制技术(集团)有限公司 过程控制历史数据文件结构的建立方法和数据读写方法
CN102129436A (zh) * 2010-01-20 2011-07-20 北大方正集团有限公司 一种网页模板的构建方法、系统及装置
CN103067419A (zh) * 2011-10-19 2013-04-24 北大方正集团有限公司 一种分布式文件系统及在该系统中控制文件存储的方法
CN102708165A (zh) * 2012-04-26 2012-10-03 华为软件技术有限公司 分布式文件系统中的文件处理方法及装置
CN102694860A (zh) * 2012-05-25 2012-09-26 北京邦诺存储科技有限公司 一种云存储的数据处理方法、设备及系统
CN103336683A (zh) * 2013-06-24 2013-10-02 沈阳东软医疗系统有限公司 一种基于硬件的符合事件判定方法和装置
CN103605778A (zh) * 2013-11-28 2014-02-26 中安消技术有限公司 一种视频文件的定位方法、装置及系统
CN103714142A (zh) * 2013-12-25 2014-04-09 乐视网信息技术(北京)股份有限公司 一种数据查找方法及装置

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106991088A (zh) * 2016-01-20 2017-07-28 阿里巴巴集团控股有限公司 数据获取方法和装置
CN105912666A (zh) * 2016-04-12 2016-08-31 中国科学院软件研究所 一种面向云平台的混合结构数据高性能存储、查询方法
CN105912666B (zh) * 2016-04-12 2019-06-25 中国科学院软件研究所 一种面向云平台的混合结构数据高性能存储、查询方法
CN106777146A (zh) * 2016-12-19 2017-05-31 北京奇虎科技有限公司 基于LSM‑tree结构的数据处理方法及装置
CN107222555A (zh) * 2017-06-27 2017-09-29 聚好看科技股份有限公司 消息处理方法及装置
CN107222555B (zh) * 2017-06-27 2020-08-25 聚好看科技股份有限公司 消息处理方法及装置
CN107679093A (zh) * 2017-09-07 2018-02-09 北京神州绿盟信息安全科技股份有限公司 一种数据查询方法及装置
CN107679093B (zh) * 2017-09-07 2020-04-07 北京神州绿盟信息安全科技股份有限公司 一种数据查询方法及装置
CN107506481A (zh) * 2017-09-15 2017-12-22 北京京东尚科信息技术有限公司 用于处理信息的方法及装置
CN107657020A (zh) * 2017-09-27 2018-02-02 上海斐讯数据通信技术有限公司 一种海量小文件快速识别处理的方法及系统
CN108399263A (zh) * 2018-03-15 2018-08-14 北京大众益康科技有限公司 时序数据的存储和查询方法及存储和处理平台
WO2019196890A1 (en) * 2018-04-11 2019-10-17 Beijing Didi Infinity Technology And Development Co., Ltd. System and method for storing multimedia resources
CN109213760A (zh) * 2018-08-02 2019-01-15 南瑞集团有限公司 非关系数据存储的高负载业务存储及检索方法
CN111177077B (zh) * 2018-11-09 2023-05-26 杭州海康威视数字技术股份有限公司 数据存储及数据查询方法、装置、设备、介质
CN111177077A (zh) * 2018-11-09 2020-05-19 杭州海康威视数字技术股份有限公司 数据存储及数据查询方法、装置、设备、介质
CN109299348B (zh) * 2018-11-28 2021-09-28 北京字节跳动网络技术有限公司 一种数据查询方法、装置、电子设备及存储介质
CN109299348A (zh) * 2018-11-28 2019-02-01 北京字节跳动网络技术有限公司 一种数据查询方法、装置、电子设备及存储介质
CN109726202A (zh) * 2018-12-18 2019-05-07 北京新唐思创教育科技有限公司 一种区块链数据存储方法及计算机存储介质
CN109726202B (zh) * 2018-12-18 2020-11-17 北京新唐思创教育科技有限公司 一种区块链数据存储方法及计算机存储介质
CN109885620A (zh) * 2018-12-25 2019-06-14 航天信息股份有限公司 基于Hive数据仓库的元数据读取方法及装置
CN109977121A (zh) * 2019-03-27 2019-07-05 上海鸣鸾互联网科技有限公司 一种大数据快速存储系统
CN112667628A (zh) * 2020-07-03 2021-04-16 杭州星迈科技有限公司 一种大规模监控数据的存储方法、系统和可穿戴设备
CN113821409A (zh) * 2021-09-23 2021-12-21 中国建设银行股份有限公司 一种监控数据传输的方法、装置、存储介质和设备
CN113821409B (zh) * 2021-09-23 2024-06-04 中国建设银行股份有限公司 一种监控数据传输的方法、装置、存储介质和设备

Also Published As

Publication number Publication date
CN105224546B (zh) 2020-10-30

Similar Documents

Publication Publication Date Title
CN105224546A (zh) 数据存储和查询方法及设备
CN102169507B (zh) 一种分布式实时搜索引擎的实现方法
CN102402605B (zh) 用于搜索引擎索引的混合分布模型
CN102541968B (zh) 一种索引方法
CN105069048A (zh) 一种小文件存储方法、查询方法和装置
EP3203386A1 (en) Data processing method, apparatus and system
CN104301360A (zh) 一种日志数据记录的方法、日志服务器及系统
CN109669622B (zh) 一种文件管理方法、文件管理装置、电子设备及存储介质
US20140351273A1 (en) System and method for searching information
CN111061752B (zh) 数据处理方法、装置及电子设备
CN103049355B (zh) 一种数据库系统恢复方法及设备
CN102567434A (zh) 一种数据块处理方法
CN109241004B (zh) 元数据文件大小恢复方法、系统、装置及可读存储介质
CN103678337A (zh) 数据清除方法、装置及系统
CN102567415B (zh) 一种数据库的控制方法和装置
CN104933051B (zh) 文件存储空间回收方法和装置
KR101744892B1 (ko) 시계열 계층 인덱싱을 이용한 데이터 검색 시스템 및 데이터 검색 방법
CN107783974B (zh) 数据处理系统及方法
CN114721972B (zh) 垃圾回收方法、装置、可读存储介质及电子设备
CN104424219A (zh) 一种数据文件的管理方法及装置
CN111008183B (zh) 一种用于业务风控日志数据的存储方法及系统
US20090157694A1 (en) Method and system for managing file metadata transparent about address changes of data servers and movements of their disks
CN102708166B (zh) 数据复制方法、数据恢复方法及装置
CN107463333B (zh) 网络硬盘空间的回收方法、装置和系统
CN109165175A (zh) 设备标识生成方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20200922

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20200922

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant