CN110688386A - 面向新型供电轨道交通大数据的分布式列族数据索引方法 - Google Patents
面向新型供电轨道交通大数据的分布式列族数据索引方法 Download PDFInfo
- Publication number
- CN110688386A CN110688386A CN201910936371.3A CN201910936371A CN110688386A CN 110688386 A CN110688386 A CN 110688386A CN 201910936371 A CN201910936371 A CN 201910936371A CN 110688386 A CN110688386 A CN 110688386A
- Authority
- CN
- China
- Prior art keywords
- key
- data
- tuple
- attribute
- column
- 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
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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
-
- 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
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
- G06F16/316—Indexing structures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种面向新型供电轨道交通大数据的分布式列族数据索引方法。对新型供电轨道交通系统运行时产生的结构化数据,根据基表存储结构将不同情境采集获得的结构化数据进行存储处理为列族模型:将不同的多个元组存储于同一列族模型中形成主表列族模型,再按照元组间的主外键关系在主表列族模型之中建立跨表索引结构:利用跨表索引结构进行查询数据。本发明解决了新型供电轨道交通系统大数据难以提供高效、易用数据检索的技术问题,来消除多表查询时的连接操作,保证查询性能,具备高效的数据存取能力和高可伸缩性,提高了系统的易用性。
Description
技术领域
本发明涉及计算机数据库领域的数据索引处理,尤其是涉及了一种面向新型供电轨道交通大数据的分布式列族数据索引方法。
背景技术
近年来,随着我国经济的高速持续增长,轨道交通事业迅猛发展。与传统轨道交通系统相比,新型供电轨道交通技术新颖,实际运营经验不足。为了支持针对新型轨道交通系统建立的多种数据分析、预测模型,亟须设计开发面向新型轨道交通系统的异构大数据分布式储系统。
关系模型是当代商用数据处理应用中最主要的数据模型。但是关系数据库水平扩展能力有限。并且当进行多表查询时,需要进行表格连接操作。虽然连接操作给用户带来很大的灵活性,但是该操作会产生多次硬盘和内存间的数据IO,导致检索性能低下。在面对新型供电轨道交通大数据时,无法满足低延时的查询需求。
列族数据模型的由谷歌公司提出,基于此开发了BigTable数据库,解决了数据库系统伸缩性和数据存取性能方面的问题。但是为了充分发挥该模型的优势,开发人员需要根据上层应用精心设计相应的数据存储格式。该模型虽然可以帮助解决新型供电轨道交通大数据的查询性能问题,但是该模型有较高的使用门槛,降低了开发人员的开发效率。
为了保证新型供电轨道交通大数据的查询性能,且提高易用性,目前已有一些工作在研究如何在NoSQL数据库的基础上提供关系数据模型。比如研究如何在分布式文件系统的基础上提供SQL查询接口。这些工作能够很好地处理批量的读写请求,但对与多表查询效果不佳。MegaStore和Spanner是建立在BigTable基础之上的关系型数据库。然而,MegaStore和Spanner需要用户自行设计如何将多个表存储在同一个BigTable中,易用性不佳。
发明内容
由于新型供电轨道交通系统产生的数据量大、数据类型复杂,传统数据管理技术难以提供高效、易用的数据检索解决方案,本发明的目的在于针对现有技术的不足,解决背景技术中存在的问题,提供一种面向新型供电轨道交通大数据的分布式列族数据索引方法,解决了新型供电轨道交通系统产生的数据量大、数据类型复杂难以提供高效、易用数据检索的技术问题。本发明具有简洁易用的特点和高伸缩、高效数据存取的优势。
如图1所示,本发明解决其技术问题采用的技术方案如下:
(1)不断实时读取新型供电轨道交通系统运行时产生的数据,包括非结构化数据和结构化数据;
对于非结构化数据中的文本数据,如列车内部控制系统、储能系统的工作日志文本,不作以下步骤处理,直接存入分布式列族数据存储系统中;
对于非结构化数据中的图片数据,不作处理,不存入分布式列族数据存储系统中;
对于结构化数据,如车载传感器的监测数据,继续执行以下步骤;
所述的分布式列族数据存储系统是为新型供电轨道交通系统运行时产生的数据所搭建的数据存储媒介,通常采用服务器。
(2)根据基表存储结构将不同情境采集获得的结构化数据进行存储处理为列族模型:
一个元组为结构化数据中同一中情境采集实时获得的记录集合,元组中的每条记录包括主键属性、外键属性、非主外键属性的三种属性值,元组的每条记录存为列族模型中的一行,将列族模型中的一行划分为行键、数据列族、索引列族的三部分不同类型的列,行键负责存储结构化数据中的主键,索引列族负责存储结构化数据中的外键属性,数据列族负责存储主外键以外的属性。具体是在主键属性的前面结合上元组对应的情境名一起存储为列族模型的行键,外键属性存储为列族模型的索引列族,非主外键属性存储为列族模型的数据列族,
主键属性为结构化数据中唯一属性集合,外键属性为与其他结构化数据的主键属性存在对应关系的属性。
(3)将不同的多个元组存储于同一列族模型中形成主表列族模型,再按照元组间的主外键关系在主表列族模型之中建立跨表索引结构:
若一个元组B的某一非主键属性和另一个元组A中的一个主键属性对应相同,将元组B具有该非主键属性的每条记录加入到元组A中该主键属性所在行的索引列族中并构建各个键值对,元组A中的主键属性是唯一的,因此其索引列族也是唯一的;元组B的一条记录加入构建一个键值对,在元组B该非主键属性的每条记录的主键属性前面结合上元组B对应的情境名作为该键值对的键名,该键值对的值为空;
键值对分为属性名和属性值,属性名即为键名,属性值即为值。
这样,系统会在“一”方的索引列族中记录“多”方的主键,形成“一对多”关系。
(4)在查询数据时,如果查询涉及的主表列族模型在多表元组之间存在主外键约束所表示的“一对多”或者“多对多”关系,那么查询是从主表列族模型中与查询词相同/相对应的元组的主键属性开始,先读取该元组的主键属性所在行的数据列族下的非主外键属性,然后利用该元组的主键属性所在行的索引列族中的各键名查询到另一元组的主键属性的各行,进而根据另一元组的主键逐步扩散至属于关系模型中另一元组的主键属性所在行的数据列族下的非主外键属性。
所述的“一对多”关系是指主表列族模型中的一个元组的一行的索引列族中记录有其他多个元组的主键属性。
所述的“多对多”关系是指主表列族模型中的一个元组的一行的索引列族中记录有其他多个元组的主键属性且其他多个元组的一行的索引列族中也记录有包含该元组在内的多个元组的主键属性。
本发明通过分布式列族关系索引,将新型轨道交通系统产生的结构化数据存储到分布式列族存储系统中。
本发明所述的高伸缩是指不受新型城轨列车大数据的数据量的限制。
本方法提出了一种基于列族模型的基表存储结构,来存储新型供电轨道交通系统产生的海量结构化数据。并依据元组间的引用关系建立跨表索引,来消除多表查询时的连接操作,保证查询性能。
本发明融合了关系数据模型和列族数据模型,以分布式列族数据存储系统作为底层存储,关系模型作为上层逻辑模型。
本发明具有的有益效果是:
本发明方法能够将新型供电轨道交通系统运行时产生的结构化数据与非结构化数据统一存储在分布式列族数据存储系统中,使新型供电轨道交通大数据存储系统具备高效的数据存取能力和高可伸缩性;同时提高了系统的易用性,即对于存储系统中海量的结构化数据,系统开发人员以及数据分析人员只需按照进行操作,而无须关心底层的物理存储结构。
本发明方法使数据存储系统拥有极好的水平扩展能力与高效的数据存取能力,同时数据库开发人员和维护人员只需按照操作数据,而无须关心实际的物理存储结构,提升了开发和维护效率。
本发明利用列族存储跨表连接索引,读取属性数据的同时,获得与该数据具有主外键关系的数据主键,减少了I/O次数并且消除多表查询所需的连接操作,保证了跨表查询时的数据查询性能。
附图说明
图1是本发明实施步骤流程图。
具体实施方式
现结合具体实施和示例对本发明的技术方案作进一步说明。
如图1,本发明具体实施例及其实施过程如下:
步骤1不断读入新型供电轨道交通系统运行时产生的数据,对与非结构化的文本及日志文件,如列车内部控制系统、储能系统的工作日志,不作处理,直接存入底层的分布式列族数据存储系统中,对于结构化数据,如车载传感器的监测数据,如表1、表2所示实例的结构化数据执行以下步骤。
表1本实施例的列车信息表
ID(主键) | From | To |
8838 | Hangzhou | Beijing |
6937 | Nanjing | Guangzhou |
表2本实施例的车厢内温度传感器监测数据表
ID(主键) | Temperature | Timestamp | trainID(外键) |
1 | 26.1 | 1567606478 | 8838 |
2 | 26.2 | 1567606538 | 8838 |
3 | 26.5 | 1567606420 | 6937 |
4 | 26.5 | 1567606480 | 6937 |
5 | 26.4 | 1567606540 | 6937 |
步骤2将列族模型中的一行划分为三部分:行键、数据列族、索引列族,作为基表存储结构,如表3所示。
表3本实施例的基表存储结构和跨表索引
行键 | 索引列族 | 数据列族 |
row1 | 外键ID1:””外键ID2:”” | 属性1:值1属性2:值2 |
row2 | 外键ID3:”” | 属性1:值3属性2:值4 |
一个元组为结构化数据中同一中情境采集实时获得的记录集合,元组中的每条记录包括主键属性、外键属性、非主外键属性的三种属性值,元组的每条记录存为列族模型中的一行,将列族模型中的一行划分为行键、数据列族、索引列族的三部分不同类型的列,在主键属性的前面结合上元组对应的情境名一起存储为列族模型的行键,即行键名是“<情境名(元组的表名)><主键属性>”,外键属性存储为列族模型的索引列族,非主外键属性存储为列族模型的数据列族。
例如,实例中表1、表2为不同情境采集的元组,表1元组的情境名为train,表2元组的情境名为Record。
将不同的表1元组和表2元组存储于同一列族模型中形成主表列族模型,表1、表2实例中列车信息和温度传感器的监测信息经过这一步处理得到的主表列族模型的基表格式如表4所示。
表4主表列族模型下列车信息和温度监测信息的基表数据
行键row key | 索引列族IndexFamily | 数据列族DataFamily |
Train8838 | From:Hangzhou To:Beijing | |
Train6937 | From:Nanjing To:Guangzhou | |
Record001 | Train8838:““ | Temperature:26.1 Timestamp:1567606478 |
Record002 | Train8838:““ | Temperature:26.2 Timestamp:1567606538 |
Record003 | Train6937:““ | Temperature:26.5 Timestamp:1567606420 |
Record004 | Train6937:““ | Temperature:26.5 Timestamp:1567606480 |
Record005 | Train6937:““ | Temperature:26.4 Timestamp:1567606540 |
(3)按照元组间的主外键关系建立跨表索引结构。将与基表元组存在引用关系的外表元组索引在该元组的所在行的索引列族下。
若一个元组B的某一非主键属性和另一个元组A中的一个主键属性对应相同,将元组B具有该非主键属性的每条记录加入到元组A中该主键属性的索引列族中并构建各个键值对,元组B的一条记录加入构建一个键值对,在元组B该非主键属性的每条记录的主键属性前面结合上元组B对应的情境名作为该键值对的键名,即以“<情境名(元组的表名)><主键属性>”作为该格键值对的键名,该键值对的值为空。
例如,表2的Record元组中的trainID外键属性8838和表1的Train元组中的ID主键属性8838相同,将表2的Record元组具有8838的每条记录加入到表1的Train元组中该主键属性8838所在行的索引列族中并构建一个键值对,即以“<Record(表2的Record元组的表名)><001>”作为该格键值对的键名,该键值对的值为空。表2的Record元组具有8838的有两条记录,因此在表1的Train元组中该主键属性8838所在行的索引列族中构建两个键值对,分别为Record001和Record002。
列车和温度传感器信息存在“一对多”的关系,因此建立跨表索引结构,并利用跨表索引结构进行快速查询,处理结果如表5所示。
表5列族模型下列车信息和温度监测信息的基表数据和跨表索引
(4)在查询数据时,如果查询涉及的主表列族模型在多表元组之间存在主外键约束所表示的“一对多”或者“多对多”关系,那么查询是从主表列族模型中与查询词相同/相对应的元组的主键属性开始,先读取该元组的主键属性所在行的数据列族下的非主外键属性,然后利用该元组的主键属性所在行的索引列族中的各键名查询到另一元组的主键属性的各行,即根据步骤(3)中设计的键名为情境名(元组的表名)+主键属性的措施和处理找到该情境名的元组及其下的该主键属性,进而根据另一元组的主键逐步扩散至另一元组的主键属性所在行的数据列族下的非主外键属性。
例如当查询实例中车次为“6937”的列车车内温度监测记录时,先根据列车的主键“Train6937”,从分布式列族存储系统中读取列车的各列属性值,从索引列族中读取以“Record”开头的列名,就可以获取和该车次所有的温度监测数据的主键,然后根据主键获取温度信息即可。
Claims (3)
1.一种面向新型供电轨道交通系大数据的分布式列族数据索引方法,其特征在于:该方法的步骤如下:
(1)不断实时读取新型供电轨道交通系统运行时产生的数据,包括非结构化数据和结构化数据;
对于非结构化数据中的文本数据,不作以下步骤处理,直接存入分布式列族数据存储系统中;
对于结构化数据,继续执行以下步骤;
(2)根据基表存储结构将不同情境采集获得的结构化数据进行存储处理为列族模型:一个元组为结构化数据中同一中情境采集实时获得的记录集合,元组中的每条记录包括主键属性、外键属性、非主外键属性的三种属性值,元组的每条记录存为列族模型中的一行,将列族模型中的一行划分为行键、数据列族、索引列族的三部分,在主键属性的前面结合上元组对应的情境名一起存储为列族模型的行键,外键属性存储为列族模型的索引列族,非主外键属性存储为列族模型的数据列族;
(3)将不同的多个元组存储于同一列族模型中形成主表列族模型,再按照元组间的主外键关系在主表列族模型之中建立跨表索引结构:
若一个元组B的某一非主键属性和另一个元组A中的一个主键属性对应相同,将元组B具有该非主键属性的每条记录加入到元组A中该主键属性所在行的索引列族中并构建各个键值对,元组B的一条记录加入构建一个键值对,在元组B该非主键属性的每条记录的主键属性前面结合上元组B对应的情境名作为该键值对的键名,该键值对的值为空;
(4)在查询数据时,如果查询涉及的主表列族模型在多表元组之间存在主外键约束所表示的“一对多”或者“多对多”关系,那么查询是从主表列族模型中与查询词相同/相对应的元组的主键属性开始,先读取该元组的主键属性所在行的数据列族下的非主外键属性,然后利用该元组的主键属性所在行的索引列族中的各键名查询到另一元组的主键属性的各行,进而根据另一元组的主键逐步扩散至另一元组的主键属性所在行的数据列族下的非主外键属性。
2.根据权利要求1所述的面向新型供电轨道交通大数据的分布式列族数据索引方法,其特征在于:所述的“一对多”关系是指主表列族模型中的一个元组的一行的索引列族中记录有其他多个元组的主键属性。
3.根据权利要求1所述的面向新型供电轨道交通大数据的分布式列族数据索引方法,其特征在于:所述的“多对多”关系是指主表列族模型中的一个元组的一行的索引列族中记录有其他多个元组的主键属性且其他多个元组的一行的索引列族中也记录有包含该元组在内的多个元组的主键属性。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910936371.3A CN110688386A (zh) | 2019-09-29 | 2019-09-29 | 面向新型供电轨道交通大数据的分布式列族数据索引方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910936371.3A CN110688386A (zh) | 2019-09-29 | 2019-09-29 | 面向新型供电轨道交通大数据的分布式列族数据索引方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110688386A true CN110688386A (zh) | 2020-01-14 |
Family
ID=69111218
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910936371.3A Pending CN110688386A (zh) | 2019-09-29 | 2019-09-29 | 面向新型供电轨道交通大数据的分布式列族数据索引方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110688386A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113448969A (zh) * | 2021-08-30 | 2021-09-28 | 阿里云计算有限公司 | 数据处理方法、设备、程序产品及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102750356A (zh) * | 2012-06-11 | 2012-10-24 | 清华大学 | 一种键值库辅助索引的构建与管理方法 |
CN104750809A (zh) * | 2015-03-26 | 2015-07-01 | 中国科学院软件研究所 | 一种支持关系模型和键-值结构的混合数据存储方法 |
CN104820670A (zh) * | 2015-03-13 | 2015-08-05 | 国家电网公司 | 一种电力信息大数据的采集和存储方法 |
-
2019
- 2019-09-29 CN CN201910936371.3A patent/CN110688386A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102750356A (zh) * | 2012-06-11 | 2012-10-24 | 清华大学 | 一种键值库辅助索引的构建与管理方法 |
CN104820670A (zh) * | 2015-03-13 | 2015-08-05 | 国家电网公司 | 一种电力信息大数据的采集和存储方法 |
CN104750809A (zh) * | 2015-03-26 | 2015-07-01 | 中国科学院软件研究所 | 一种支持关系模型和键-值结构的混合数据存储方法 |
Non-Patent Citations (1)
Title |
---|
鲁鹏凯 等: "《RStore:基于BigTable的关系数据模型存储系统》", 《计算机科学与探索》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113448969A (zh) * | 2021-08-30 | 2021-09-28 | 阿里云计算有限公司 | 数据处理方法、设备、程序产品及存储介质 |
CN113448969B (zh) * | 2021-08-30 | 2022-02-18 | 阿里云计算有限公司 | 数据处理方法、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109669934B (zh) | 一种切合电力客服业务的数据仓库系统及其构建方法 | |
CN107273506B (zh) | 一种数据库多表联合查询的方法 | |
CN104794123B (zh) | 一种为半结构化数据构建NoSQL数据库索引的方法及装置 | |
US20120303633A1 (en) | Systems and methods for querying column oriented databases | |
CN103631910A (zh) | 一种分布式数据库多列复合查询的系统及方法 | |
CN102270232B (zh) | 一种存储优化的语义数据查询系统 | |
Goil et al. | A parallel scalable infrastructure for OLAP and data mining | |
CN103577440A (zh) | 一种非关系型数据库中的数据处理方法和装置 | |
CN102890678A (zh) | 一种基于格雷编码的分布式数据布局方法及查询方法 | |
CN108009265B (zh) | 一种云计算环境下的空间数据索引方法 | |
CN103678589A (zh) | 一种基于等价类的数据库内核查询优化方法 | |
US20210374138A1 (en) | Distributed join index for shared-nothing and log-structured databases | |
CN111930817A (zh) | 一种基于大数据的分布式非结构化数据库关联查询方法 | |
CN110413631B (zh) | 一种数据查询方法及装置 | |
CN114064660B (zh) | 基于ElasticSearch的数据结构化分析方法 | |
Song et al. | Haery: a Hadoop based query system on accumulative and high-dimensional data model for big data | |
CN103365987A (zh) | 一种基于共享磁盘架构的集群数据库系统及数据处理方法 | |
CN110688386A (zh) | 面向新型供电轨道交通大数据的分布式列族数据索引方法 | |
CN107273443B (zh) | 一种基于大数据模型元数据的混合索引方法 | |
CN117235028A (zh) | 一种基于日志文件的数据查询方法和装置 | |
US20050102271A1 (en) | Indexes with embedded data | |
Weiliang et al. | A multiple sparse tables approach for multi-tenant data storage in SaaS | |
CN114791935A (zh) | 一种基于云对象存储的高性能多维数据仓库的实现方法 | |
Sun et al. | Handling multi-dimensional complex queries in key-value data stores | |
CN111104396A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20200114 |