CN106776955A - 一种数据存储和检索的方法及装置 - Google Patents
一种数据存储和检索的方法及装置 Download PDFInfo
- Publication number
- CN106776955A CN106776955A CN201611100629.9A CN201611100629A CN106776955A CN 106776955 A CN106776955 A CN 106776955A CN 201611100629 A CN201611100629 A CN 201611100629A CN 106776955 A CN106776955 A CN 106776955A
- Authority
- CN
- China
- Prior art keywords
- data
- value
- data store
- key
- store organisation
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 32
- 238000013500 data storage Methods 0.000 title claims abstract description 25
- 238000006116 polymerization reaction Methods 0.000 claims abstract description 17
- 230000006870 function Effects 0.000 claims description 6
- 238000012423 maintenance Methods 0.000 claims description 6
- 230000002452 interceptive effect Effects 0.000 claims description 5
- 241001269238 Data Species 0.000 claims 2
- 230000032683 aging Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
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/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Primary Health Care (AREA)
- Marketing (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- General Health & Medical Sciences (AREA)
- General Business, Economics & Management (AREA)
- Economics (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种数据存储和检索的方法及装置。该方法包括:根据key‑value模型设置内存数据库的数据存储结构,所述key‑value模型的基本存储单元用于存储“热”数据;基于不同的细分维度设置所述数据存储结构;根据指定维度和时间区间完成对数据的聚合和检索。从而考虑到数据的时间越久越冷,越新越热,会有cache的策略来提速“热”数据的检索和支持更大的并发;并基于完整的可复用的cache结构模型,细分不同的维度进行cache,cache的内容是按时间有序的,对于有时效性要求的内容服务来说,可以根据不同维度(垂直细分)按照时间推进顺序聚合内容。
Description
技术领域
本发明实施例涉及数据处理的技术领域,尤其涉及一种数据存储和检索的方法及装置。
背景技术
在现实社会中,人与人的交流是通过人与人之间的介绍、握手来形成一个朋友圈、联系圈的,每个人不需要直接认识所有人,只需要通过他的朋友,朋友的朋友,就能促成一次握手。社交网站允许用户在他们的网络共享他们的想法、图片、文章、活动、事件。
内容分发与订阅是一项连接内容消费者与内容生产者,同时创造出诸多供应的商业模式如广告、赞赏等的技术。基于时效性的feed系统推拉模型是实现内容分发与订阅的一种有效手段。行业动态已成为平台吸引用户、增加用户黏性的重要手段。
使用传统关系型的数据存储,“热”数据的检索和并发访问有较大局限性,对于有时效性要求的内容服务来说,根据不同维度垂直细分并按照时间推进顺序聚合内容更凸显了这个局限性。
发明内容
本发明实施例的目的在于提出一种数据存储和检索的方法及装置,旨在解决如何提速“热”数据的检索和支持更大的并发的问题。
为达此目的,本发明实施例采用以下技术方案:
第一方面,一种数据存储和检索的方法,所述方法包括:
根据key-value模型设置内存数据库的数据存储结构,所述key-value模型的基本存储单元用于存储“热”数据;
基于不同的细分维度设置所述数据存储结构;
根据指定维度和时间区间完成对数据的聚合和检索。
优选地,所述指定维度包括行业圈和朋友圈分别对应有序集合。
优选地,所述根据key-value模型设计内存数据库的数据存储结构之后,还包括:
对外发布接口,所述接口用于实现对存储内容数据的维护、查询,并提供完整的SNS交互功能。
优选地,所述根据key-value模型设计内存数据库的数据存储结构之后,还包括:
对外提供唯一指向索引。
优选地,所述对外提供唯一指向索引,包括:
使用时间戳作为分值构建有序集合sortedset,元素为所述数据存储结构中对应的唯一索引值。
第二方面,一种数据存储和检索的装置,所述装置包括:
第一设置模块,用于根据key-value模型设计内存数据库的数据存储结构,所述key-value模型的基本存储单元用于存储“热”数据;
第二设置模块,用于基于不同的细分维度设计所述数据存储结构;
检索模块,用于根据指定维度和时间区间完成对数据的聚合和检索。
优选地,所述指定维度包括行业圈和朋友圈分别对应有序集合。
优选地,所述装置还包括:
发布模块,用于在根据key-value模型设计内存数据库的数据存储结构之后,对外发布接口,所述接口用于实现对存储内容数据的维护、查询,并提供完整的SNS交互功能。
优选地,所述装置还包括:
接口模块,用于对外提供唯一指向索引。
优选地,所述接口模块,具体用于:使用时间戳作为分值构建有序集合sortedset,元素为所述数据存储结构中对应的唯一索引值。
本发明实施例提供的一种数据存储和检索的方法及装置,根据key-value模型设置内存数据库的数据存储结构,所述key-value模型的基本存储单元用于存储“热”数据;基于不同的细分维度设置所述数据存储结构;根据指定维度和时间区间完成对数据的聚合和检索。从而考虑到数据的时间越久越冷,越新越热,会有cache的策略来提速“热”数据的检索和支持更大的并发;并基于完整的可复用的cache结构模型,细分不同的维度进行cache,cache的内容是按时间有序的,对于有时效性要求的内容服务来说,可以根据不同维度(垂直细分)按照时间推进顺序聚合内容。
附图说明
图1是本发明实施例提供的一种数据存储和检索的方法的流程示意图;
图2是本发明实施例提供的另一种数据存储和检索的方法的流程示意图;
图3是本发明实施例提供的另一种数据存储和检索的方法的流程示意图;
图4是本发明实施例提供的一种数据存储和检索的装置的功能模块示意图。
具体实施方式
下面结合附图和实施例对本发明实施例作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明实施例,而非对本发明实施例的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明实施例相关的部分而非全部结构。
参考图1,图1是本发明实施例提供的一种数据存储和检索的方法的流程示意图。
如图1所示,所述数据存储和检索的方法包括:
步骤101,根据key-value模型设置内存数据库的数据存储结构,所述key-value模型的基本存储单元用于存储“热”数据;
步骤102,基于不同的细分维度设置所述数据存储结构;
步骤103,根据指定维度和时间区间完成对数据的聚合和检索。
其中,所述指定维度包括行业圈和朋友圈分别对应有序集合。
具体的,Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。SortedSet(有序集合)是Redis提供的数据存储方式的其中一种。
cache存储模型结构由七个部分组成:有序集合、动态、图片、转发、评论、赞、收藏。整个结构以有序集合部分为中心,有序集合部分由固定索引值(INDEX)指向;其他部分(动态、图片、转发、评论、赞、收藏)由唯一可变的索引值(MSGID_SUFFIX)指向,MSGID为可变部分,SUFFIX为用于区分各部分的固定值;有序集合的组成元素为MSGID。
本发明实施例提供的一种数据存储和检索的方法,根据key-value模型设置内存数据库的数据存储结构,所述key-value模型的基本存储单元用于存储“热”数据;基于不同的细分维度设置所述数据存储结构;根据指定维度和时间区间完成对数据的聚合和检索。从而考虑到数据的时间越久越冷,越新越热,会有cache的策略来提速“热”数据的检索和支持更大的并发;并基于完整的可复用的cache结构模型,细分不同的维度进行cache,cache的内容是按时间有序的,对于有时效性要求的内容服务来说,可以根据不同维度(垂直细分)按照时间推进顺序聚合内容。
参考图2,图2是本发明实施例提供的另一种数据存储和检索的方法的流程示意图。
如图2所示,所述数据存储和检索的方法包括:
步骤201,根据key-value模型设置内存数据库的数据存储结构,所述key-value模型的基本存储单元用于存储“热”数据;
步骤202,对外发布接口,所述接口用于实现对存储内容数据的维护、查询,并提供完整的SNS交互功能;
步骤203,基于不同的细分维度设置所述数据存储结构;
步骤204,根据指定维度和时间区间完成对数据的聚合和检索。
其中,所述指定维度包括行业圈和朋友圈分别对应有序集合。
具体的,数据流向首先从动态服务开始发布动态/分享路况,发布内容(包括图片)使用前述cache存储模型结构进行存储;动态服务进行评论、赞、收藏、转发,数据同样使用前述cache存储模型结构进行存储;动态服务根据维度、时间区间等的条件可以获取前述cache存储模型中存储的内容数据。
参考图3,图3是本发明实施例提供的另一种数据存储和检索的方法的流程示意图。
如图3所示,所述数据存储和检索的方法包括:
步骤301,根据key-value模型设置内存数据库的数据存储结构,所述key-value模型的基本存储单元用于存储“热”数据;
步骤302,对外提供唯一指向索引;
优选地,所述对外提供唯一指向索引,包括:
使用时间戳作为分值构建有序集合sortedset,元素为所述数据存储结构中对应的唯一索引值。
步骤303,基于不同的细分维度设置所述数据存储结构;
步骤304,根据指定维度和时间区间完成对数据的聚合和检索。
其中,所述指定维度包括行业圈和朋友圈分别对应有序集合。
参考图4,图4是本发明实施例提供的一种数据存储和检索的装置的功能模块示意图。
如图4所示,所述装置包括:
第一设置模块401,用于根据key-value模型设计内存数据库的数据存储结构,所述key-value模型的基本存储单元用于存储“热”数据;
第二设置模块402,用于基于不同的细分维度设计所述数据存储结构;
检索模块403,用于根据指定维度和时间区间完成对数据的聚合和检索。
优选地,所述指定维度包括行业圈和朋友圈分别对应有序集合。
优选地,所述装置还包括:
发布模块,用于在根据key-value模型设计内存数据库的数据存储结构之后,对外发布接口,所述接口用于实现对存储内容数据的维护、查询,并提供完整的SNS交互功能。
优选地,所述装置还包括:
接口模块,用于对外提供唯一指向索引。
优选地,所述接口模块,具体用于:使用时间戳作为分值构建有序集合sortedset,元素为所述数据存储结构中对应的唯一索引值。
本发明实施例提供的一种数据存储和检索的装置,根据key-value模型设置内存数据库的数据存储结构,所述key-value模型的基本存储单元用于存储“热”数据;基于不同的细分维度设置所述数据存储结构;根据指定维度和时间区间完成对数据的聚合和检索。从而考虑到数据的时间越久越冷,越新越热,会有cache的策略来提速“热”数据的检索和支持更大的并发;并基于完整的可复用的cache结构模型,细分不同的维度进行cache,cache的内容是按时间有序的,对于有时效性要求的内容服务来说,可以根据不同维度(垂直细分)按照时间推进顺序聚合内容。
以上结合具体实施例描述了本发明实施例的技术原理。这些描述只是为了解释本发明实施例的原理,而不能以任何方式解释为对本发明实施例保护范围的限制。基于此处的解释,本领域的技术人员不需要付出创造性的劳动即可联想到本发明实施例的其它具体实施方式,这些方式都将落入本发明实施例的保护范围之内。
Claims (10)
1.一种数据存储和检索的方法,其特征在于,所述方法包括:
根据key-value模型设置内存数据库的数据存储结构,所述key-value模型的基本存储单元用于存储“热”数据;
基于不同的细分维度设置所述数据存储结构;
根据指定维度和时间区间完成对数据的聚合和检索。
2.根据权利要求1所述的方法,其特征在于,所述指定维度包括行业圈和朋友圈分别对应有序集合。
3.根据权利要求1或2所述的方法,其特征在于,所述根据key-value模型设计内存数据库的数据存储结构之后,还包括:
对外发布接口,所述接口用于实现对存储内容数据的维护、查询,并提供完整的SNS交互功能。
4.根据权利要求1或2所述的方法,其特征在于,所述根据key-value模型设计内存数据库的数据存储结构之后,还包括:
对外提供唯一指向索引。
5.根据权利要求4所述的方法,其特征在于,所述对外提供唯一指向索引,包括:
使用时间戳作为分值构建有序集合sortedset,元素为所述数据存储结构中对应的唯一索引值,所述元素用于组成有序集合sortedset的每个对象。
6.一种数据存储和检索的装置,其特征在于,所述装置包括:
第一设置模块,用于根据key-value模型设计内存数据库的数据存储结构,所述key-value模型的基本存储单元用于存储“热”数据;
第二设置模块,用于基于不同的细分维度设计所述数据存储结构;
检索模块,用于根据指定维度和时间区间完成对数据的聚合和检索。
7.根据权利要求6所述的装置,其特征在于,所述指定维度包括行业圈和朋友圈分别对应有序集合。
8.根据权利要求6或7所述的装置,其特征在于,所述装置还包括:
发布模块,用于在根据key-value模型设计内存数据库的数据存储结构之后,对外发布接口,所述接口用于实现对存储内容数据的维护、查询,并提供完整的SNS交互功能。
9.根据权利要求6或7所述的装置,其特征在于,所述装置还包括:
接口模块,用于对外提供唯一指向索引。
根据权利要求9所述的装置,其特征在于,所述接口模块,具体用于:
10.使用时间戳作为分值构建有序集合sortedset,元素为所述数据存储结构中对应的唯一索引值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611100629.9A CN106776955A (zh) | 2016-12-02 | 2016-12-02 | 一种数据存储和检索的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611100629.9A CN106776955A (zh) | 2016-12-02 | 2016-12-02 | 一种数据存储和检索的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106776955A true CN106776955A (zh) | 2017-05-31 |
Family
ID=58884357
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611100629.9A Pending CN106776955A (zh) | 2016-12-02 | 2016-12-02 | 一种数据存储和检索的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106776955A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107798041A (zh) * | 2017-06-21 | 2018-03-13 | 平安科技(深圳)有限公司 | 保单数据存储方法、装置及终端设备 |
CN110083501A (zh) * | 2018-01-25 | 2019-08-02 | 北京京东尚科信息技术有限公司 | 接口调用计数方法和装置 |
CN110175176A (zh) * | 2019-05-31 | 2019-08-27 | 杭州复杂美科技有限公司 | 一种kv数据库配置方法、查询方法、设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103020146A (zh) * | 2012-11-22 | 2013-04-03 | 华为技术有限公司 | 数据处理方法及设备 |
US20150026207A1 (en) * | 2013-07-22 | 2015-01-22 | International Business Machines Corporation | Managing sparsity in an multidimensional data structure |
CN105138673A (zh) * | 2015-09-08 | 2015-12-09 | 浙江风向标科技有限公司 | 一种基于物联网的海量存储系统及存储方法 |
-
2016
- 2016-12-02 CN CN201611100629.9A patent/CN106776955A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103020146A (zh) * | 2012-11-22 | 2013-04-03 | 华为技术有限公司 | 数据处理方法及设备 |
US20150026207A1 (en) * | 2013-07-22 | 2015-01-22 | International Business Machines Corporation | Managing sparsity in an multidimensional data structure |
CN105138673A (zh) * | 2015-09-08 | 2015-12-09 | 浙江风向标科技有限公司 | 一种基于物联网的海量存储系统及存储方法 |
Non-Patent Citations (1)
Title |
---|
潘华 等: "《数据仓库与数据挖掘原理、工具及应用》", 31 December 2007, 中国电力出版社 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107798041A (zh) * | 2017-06-21 | 2018-03-13 | 平安科技(深圳)有限公司 | 保单数据存储方法、装置及终端设备 |
CN110083501A (zh) * | 2018-01-25 | 2019-08-02 | 北京京东尚科信息技术有限公司 | 接口调用计数方法和装置 |
CN110175176A (zh) * | 2019-05-31 | 2019-08-27 | 杭州复杂美科技有限公司 | 一种kv数据库配置方法、查询方法、设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103631909B (zh) | 对大规模结构化和非结构化数据联合处理的系统及方法 | |
Shang et al. | User oriented trajectory search for trip recommendation | |
US9442905B1 (en) | Detecting neighborhoods from geocoded web documents | |
CN102890713B (zh) | 一种基于用户当前地理位置和物理环境的音乐推荐方法 | |
CN104933070A (zh) | 一种用于政务信息平台的目录管理系统 | |
CN106776955A (zh) | 一种数据存储和检索的方法及装置 | |
CN103116610A (zh) | 基于HBase的矢量空间大数据存储方法 | |
CN103049575A (zh) | 一种主题自适应的学术会议搜索系统 | |
EP3028260A1 (en) | Rendering hierarchical visualizations of data sets | |
CN104391908B (zh) | 一种图上基于局部敏感哈希的多关键字索引方法 | |
CN108363768A (zh) | 一种基于Lucene的文档搜索方法、存储介质和服务器 | |
CN107832392A (zh) | 一种元数据管理系统 | |
CN106611053A (zh) | 一种数据清理、索引方法 | |
CN106202391A (zh) | 一种用户社群的自动分类方法及装置 | |
CN106649633A (zh) | 一种桌面文件夹的命名方法及系统 | |
Shibata et al. | Measuring relatedness between communities in a citation network | |
Intagorn et al. | Learning boundaries of vague places from noisy annotations | |
CN103886065A (zh) | 迷你小说阅读系统 | |
CN105205062B (zh) | 数据存储方法、数据读取方法和装置 | |
CN105894142A (zh) | 一种基于电子流程归档建模方法 | |
CN115658682A (zh) | 数据存储方法、装置、计算机存储介质及计算机程序产品 | |
Kim et al. | Evaluating residential location inference of twitter users at district level: focused on Seoul city | |
CN205158357U (zh) | 农地承包经营权数据库管理系统 | |
CN104699724A (zh) | 一种基于Lucene的数据搜索方法及装置 | |
Chen et al. | HIB-tree: An efficient index method for the big data analytics of large-scale human activity trajectories |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170531 |
|
RJ01 | Rejection of invention patent application after publication |