CN105117457A - 一种虚拟资产保全***的索引重建方法 - Google Patents
一种虚拟资产保全***的索引重建方法 Download PDFInfo
- Publication number
- CN105117457A CN105117457A CN201510513994.1A CN201510513994A CN105117457A CN 105117457 A CN105117457 A CN 105117457A CN 201510513994 A CN201510513994 A CN 201510513994A CN 105117457 A CN105117457 A CN 105117457A
- Authority
- CN
- China
- Prior art keywords
- index
- region
- utilization rate
- attribute
- hit
- 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
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/2228—Indexing structures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (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
本发明属于索引重建领域,公开了一种虚拟资产保全***的索引重建方法,包括以下步骤:(1)数据库日志处理:分析虚拟资产保全***中的数据库操作日志,统计数据库中各个属性值被查询的次数,计算索引的查询命中率;(2)分析索引使用情况:统计各个属性列的索引条数和被命中的条数,计算出索引使用率;(3)进行索引效能评估:将查询命中率和索引使用率设置为衡量指标;根据查询命中率和索引使用率来评估当前索引所属情况;(4)重建索引,根据步骤(3)索引效能评估的所属情况,对属性列的索引进行增加或删除来重建索引。本发明针对虚拟资产保全***提出的索引重建方法,重建后的索引空间利用率较高,并且能减少查询响应时间。
Description
技术领域
本发明属于索引重建领域,具体涉及一种虚拟资产保全***的索引重建方法,用于解决虚拟资产保全***中的索引重建问题。
背景技术
虚拟资产是指在网络世界中存在的具有竞争性、持久性以及可以交换或者买卖的物品包网上银行、网络帐号、网游装备武器、虚拟货币等等。
目前,我国已经开展了基于eID的网域空间虚拟资产管理与保全技术研究,实现对虚拟资产的规范统一管理。海量多结构虚拟资产数据数据量大,增长快,如何对其进行高效的访问是一个需要迫切解决的问题。采用Cassandra分布式数据库是一种可行的解决方法,但是根据Cassandra的数据存储结构,读取数据只能根据行的唯一标识来获取其各个字段的值而无法通过某个属性满足某一条件来进行查询。因此引入了而二级索引机制。二级索引就是为了减少查询效应时间而针对某些特定的字段建立的索引。本发明所指的索引重建是针对二级索引进行重建。《Cassandra实战》(郭鹏.Cassandra实战[M].北京:机械工业出版社,2011)一书中详细介绍了Cassandra数据库,***地讲解了Cassandra数据库的工作原理和使用方法。
《海量虚拟身份数据的存储管理关键技术研究与实现》(邓璐,海量虚拟身份数据的存储管理关键技术研究与实现,2010),文章中采用Cassandra数据库来存储虚拟身份数据,根据虚拟身份数据的特点来建立二级索引进而提高查询效率。该文献中对虚拟身份数据的存储进行了研究,通过建立二级索引来提高查询效率,取得了很好的实验效果,虚拟资产保全***在一定程度上可以借鉴。但其二级索引的建立具有一定的主观性,并且一旦建立之后不会根据数据库的变化进行调整,随着时间的推移,会导致索引维护代价过大,索引效率逐渐降低。
发明内容
为解决上述技术问题,本发明在提高查询效率的同时,从提高索引的利用率,降低维护代价方面进行了研究。具体技术方案如下:
一种虚拟资产保全***的索引重建方法,包括以下步骤:
(1)数据库日志处理:分析虚拟资产保全***中的数据库操作日志,统计数据库中各个属性值被查询的次数,计算索引的查询命中率;
(2)分析索引使用情况:统计各个属性列的索引条数和被命中的条数,计算出索引使用率;
(3)进行索引效能评估:将查询命中率和索引使用率设置为衡量指标;根据查询命中率和索引使用率来评估当前索引所属情况;
(4)重建索引,根据步骤(3)索引效能评估的所属情况,对属性列的索引进行增加或删除来重建索引。
进一步地,所述步骤(3)的具体过程为:将查询命中率和索引使用率设置为衡量指标;建立坐标系,所述查询命中率为纵坐标,所述索引使用率为横坐标,在纵、横坐标轴上都取值为0.5,1作直线,并与纵、横坐标轴,在坐标系第一象限内围成四个区域,从左至右、从上至下分别记作区域A、区域B、区域C、区域D;根据查询命中率和索引使用率的值,确定落入所在的区域,记为当前索引所属情况。
进一步地,所述步骤(4)的具体过程为:所述步骤(3)确定的当前索引所属情况为落入区域A、区域B、区域C、区域D中的任一种情况;若属于C区域,则删除使用率低的属性列索引,增加查询命中率低的属性列索引;若属于A区域,删除部分索引使用率低的属性列索引;若属于D区域,则增加部分查询命中率低且查询次数多的属性列索引;若属于B区域,不做操作。
采用本发明获得的有益效果,本发明针对虚拟资产保全***提出一种索引重建方法,通过对索引效能分析方法,计算通过索引查询命中率和索引使用率来表示,然后根据当前索引的效能,来判断是否需要重建索引,如果需要重建,则根据日志分许的结果选择需要保留、增加或删除那些字段的索引最终达到重建的目的,重建后的索引空间利用率较高,并且能减少查询响应时间。
附图说明
图1是本发明的流程示意图;
图2是本发明中数据库日志处理流程图;
图3是本发明中索引使用情况分析流程图;
图4是本发明中的索引效能分析图;
图5是本发明中索引重建步骤的流程图。
具体实施方式
下面,结合附图和具体实施例对本发明作详细说明。
如图1所示,为本发明的虚拟资产保全***的索引重建方法流程图;具体包括以下步骤,
(1)对虚拟资产保全***中的数据库操作日志进行分析,统计数据库中各个属性值被查询的次数,计算出查询命中索引的命中率,计算过程是用命中索引的查询数除以总查询数;
本实施例中虚拟资产保全***采用Cassandra数据库,Cassandra数据库的操作日志记录了用户的每一次操作,数据库中column代表属性名,value代表属性值,日志分析过程要记录所有的column被查询的次数以及所有不同的column=value键值对出现的次数。通过日志记录中的where子句来记录各个属性以及属性与其对应的值被查询的次数,数据库日志处理过程如图2所示。输入数据库日志,对数据进行过滤,提取所有where子句,对每一条where子句提取其属性名,若属性名存在,则属性名记录数加1,判断属性值是否存在,若已经存在,则将该属性名与值的组合计数加1,若属性值不存在,新增该属性名与值的组合记录,并将该属性名与值的组合计数记为1;若属性名不存在,新增该属性名,并将该属性名记录数设为1。
处理结束后,各个属性名被查询的次数以及不同属性名与值的组合被查询的次数都已统计完成。
经常被查询的数据越容易在以后被查询,因此用数据库日志作为一个查询热点判断的依据,该结果为后面索引效能的分析提供数据基础。
(2)分析索引使用情况,统计各个属性列的索引条数和被命中的条数,计算出索引使用率,计算方法为用被命中的索引条数除以索引总条数;
Cassandra数据库的二级索引是由数据库管理员创建的,创建的时候需指定部分属性,在此之上建立索引,从本质上索引也是ColumnFamily(列族),索引的行键值就是相应的属性值,索引中的列值就是对应在Cassandra数据库中该记录所在行的行键值。
如表一、表二分别是一个用户数据库和对其用户名建立索引的示例。
表一用户数据库
ID | 用户名 | 年龄 | 性别 | … |
1 | 张三 | 18 | 男 | … |
2 | 李四 | 19 | 女 | … |
3 | 王五 | 20 | 男 | … |
… | … | … | … | … |
表二:对用户名建立的索引
用户名 | ID |
张三 | 1 |
李四 | 2 |
王五 | 3 |
… | … |
当要查询用户名为张三的信息时,不需要到Cassandra数据库中去遍历整个用户表,只需要查找索引中用户名为张三的ID值,然后通过这个ID就可以在Cassandra数据库的用户表中找到数据。
索引使用情况通过结合数据库日志分析的结果中各个属性值被查询的次数来计算,用图3所示流程方法计算哪些索引被命中过,并记录命中的次数,同时记录那些命中了索引的查询。输入日志分析结果,分别对每一条属性名记录进行判断该属性是否有索引,若有,则统计该索引的行数和被命中的行数,将该属性名记录数增加到查询命中数;并提取所有没有被命中的索引,统计未被命中的索引的行数,计算出索引使用率。
(3)索引效能评估:根据查询命中率和索引使用率来评估当前索引所属的区域,如图4所示,为了衡量索引的效能,定义了两个衡量指标:查询命中率和索引使用率。查询命中率表示数据库日志记录中的所有查询命中索引的比例,索引使用率表示被查询命中的索引占总索引的比例。查询命中率越高,说明索引起到提高查询效率的作用越大,而索引的使用率越低,说明索引维护的代价越浪费。图4中,建立坐标系,所述查询命中率为纵坐标,所述索引使用率为横坐标,在纵、横坐标轴上都取值为0.5,1作直线,并与纵、横坐标轴,在坐标系第一象限内围成四个区域,从左至右、从上至下分别记作区域A、区域B、区域C、区域D;根据查询命中率和索引使用率的值,确定落入所在的区域,记为当前索引所属情况。若根据查询命中率和索引使用率的值组成的坐标,落在边界线上,可以按照相邻的任一个区域的情况进行处理;如果当前索引的分析结果在上图中的区域B,说明当前索引工作状态较好,查询效率高,索引使用率高,无需做大的调整;若当前索引的工作效能处于区域A,则说明虽然用索引提高了查询效率,但索引的使用率很低,表示很多索引的建立是不必要的,这样造成了极大的维护代价的浪费,此时需要删除部分不必要的索引;若当前索引的工作效能处于区域D,则当前索引建立的比较准确,查询命中率低,索引使用率高,维护代价浪费小但查询效率低,则说明还需要更多的索引来提高查询效率,此时需要权衡索引的维护代价与查询的效率,进而适当的增加或替换部分索引。若索引项能处于区域C,则说明当前索引存在很大的问题,查询命中率低,索引使用率低,查询效率低且维护代价浪费大,此时的索引需要进行较大的调整。
(4)重建索引,根据步骤(3)索引效能的分析结果,对部分属性列的索引进行增加或删除来重建索引;
根据步骤(3)索引效能分析,确定的当前索引所属情况(即索引的效能衡量指标)为落入区域A、区域B、区域C、区域D中的一种情况;若属于区域C,则删除使用率低的属性列索引,增加查询命中率低的属性列索引;若属于区域A,删除部分索引使用率低的属性列索引;若属于区域D,则增加部分查询命中率低且查询次数多的属性列索引;若属于区域B,不做操作。
根据索引效能的分析并结合数据库日志的挖掘,对于索引是否需要重建以及如果需要,重建的方向如何都已经有了明确的说明。本实施例为某示例小型数据库的数据库日志分析结果,如表三所示。
表三日志分析结果
属性名 | V1 | V2 | V3 | V4 | V5 | 其他 | 合计 |
被查询次数 | 80 | 70 | 300 | 400 | 100 | 50 | 1000 |
当前索引是对属性V1,V2,V3建立的,各个索引的行数以及被查询到得行数统计如下:
表四索引使用情况分析
属性 | V1 | V2 | V3 |
被查询次数 | 80 | 70 | 300 |
被查询到的行数(去掉重复) | 70 | 50 | 160 |
索引行数 | 300 | 400 | 400 |
索引使用率 | 23.3% | 12.5% | 40% |
通过计算可以得知,查询命中率为45%,各个索引的使用率分别为:23.3%,12.5%,40%。从以上结果判断出当前索引处于图3中的区域C,此时的索引效能较低,需要对其进行调整。通过表三得知关于属性V4的查询占了40%,通过表四可以得知关于属性V1和V2的索引使用率并不高,因此将属性V1和V2的索引去掉,增加关于属性V4的索引,然后将经常被查询到的属性名与值的组合添加到索引中去,最终完成索引重建工作。
以上仅是本发明的优选实施方式,本发明的保护范围并不仅限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应当视为落入本发明的保护范围。
Claims (3)
1.一种虚拟资产保全***的索引重建方法,其特征在于,包括以下步骤:
(1)数据库日志处理:分析虚拟资产保全***中的数据库操作日志,统计数据库中各个属性值被查询的次数,计算索引的查询命中率;
(2)分析索引使用情况:统计各个属性列的索引条数和被命中的条数,计算出索引使用率;
(3)进行索引效能评估:将查询命中率和索引使用率设置为设衡量指标;根据查询命中率和索引使用率来评估当前索引所属情况;
(4)重建索引,根据步骤(3)索引效能评估的所属情况,对属性列的索引进行增加或删除来重建索引。
2.如权利要求1所述的一种虚拟资产保全***的索引重建方法,其特征在于,所述步骤(3)的具体过程为:将查询命中率和索引使用率设置为衡量指标;建立坐标系,所述查询命中率为纵坐标,所述索引使用率为横坐标,在纵、横坐标轴上都取值为0.5,1作直线,并与纵、横坐标轴,在坐标系第一象限内围成四个区域,从左至右、从上至下分别记作区域A、区域B、区域C、区域D;根据查询命中率和索引使用率的值,确定落入所在的区域,记为当前索引所属情况。
3.如权利要求1所述的一种虚拟资产保全***的索引重建方法,其特征在于,所述步骤(4)的具体过程为:所述步骤(3)确定的当前索引所属情况为落入区域A、区域B、区域C、区域D中的任一种情况;若属于区域C,则删除使用率低的属性列索引,增加查询命中率低的属性列索引;若属于区域A,删除部分索引使用率低的属性列索引;若属于区域D,则增加部分查询命中率低且查询次数多的属性列索引;若属于区域B,不做操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510513994.1A CN105117457B (zh) | 2015-08-20 | 2015-08-20 | 一种虚拟资产保全***的索引重建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510513994.1A CN105117457B (zh) | 2015-08-20 | 2015-08-20 | 一种虚拟资产保全***的索引重建方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105117457A true CN105117457A (zh) | 2015-12-02 |
CN105117457B CN105117457B (zh) | 2018-12-07 |
Family
ID=54665447
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510513994.1A Active CN105117457B (zh) | 2015-08-20 | 2015-08-20 | 一种虚拟资产保全***的索引重建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105117457B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106776704A (zh) * | 2016-11-14 | 2017-05-31 | 平安科技(深圳)有限公司 | 统计信息收集方法和装置 |
CN110795614A (zh) * | 2019-09-27 | 2020-02-14 | 广东浪潮大数据研究有限公司 | 一种索引自动优化方法及装置 |
CN117573680A (zh) * | 2024-01-17 | 2024-02-20 | 深圳市进择科技有限公司 | 一种基于大数据的定位数据传输管理***及方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1065606A2 (en) * | 1999-07-02 | 2001-01-03 | Robert S. Lenzie | Method and apparatus for identifying preferred indexes for databases |
CN101989283A (zh) * | 2009-08-04 | 2011-03-23 | 中兴通讯股份有限公司 | 一种数据库性能的监控方法和装置 |
CN102073643A (zh) * | 2009-11-23 | 2011-05-25 | 威知资讯股份有限公司 | 优化索引文件建构及检索方法及其*** |
CN104021205A (zh) * | 2014-06-18 | 2014-09-03 | 中国人民解放军国防科学技术大学 | 一种建立微博索引的方法及装置 |
-
2015
- 2015-08-20 CN CN201510513994.1A patent/CN105117457B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1065606A2 (en) * | 1999-07-02 | 2001-01-03 | Robert S. Lenzie | Method and apparatus for identifying preferred indexes for databases |
CN101989283A (zh) * | 2009-08-04 | 2011-03-23 | 中兴通讯股份有限公司 | 一种数据库性能的监控方法和装置 |
CN102073643A (zh) * | 2009-11-23 | 2011-05-25 | 威知资讯股份有限公司 | 优化索引文件建构及检索方法及其*** |
CN104021205A (zh) * | 2014-06-18 | 2014-09-03 | 中国人民解放军国防科学技术大学 | 一种建立微博索引的方法及装置 |
Non-Patent Citations (1)
Title |
---|
柯东林: "查询优化与索引建立", 《应用技术》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106776704A (zh) * | 2016-11-14 | 2017-05-31 | 平安科技(深圳)有限公司 | 统计信息收集方法和装置 |
CN106776704B (zh) * | 2016-11-14 | 2020-03-06 | 平安科技(深圳)有限公司 | 统计信息收集方法和装置 |
CN110795614A (zh) * | 2019-09-27 | 2020-02-14 | 广东浪潮大数据研究有限公司 | 一种索引自动优化方法及装置 |
CN117573680A (zh) * | 2024-01-17 | 2024-02-20 | 深圳市进择科技有限公司 | 一种基于大数据的定位数据传输管理***及方法 |
CN117573680B (zh) * | 2024-01-17 | 2024-04-12 | 深圳市进择科技有限公司 | 一种基于大数据的定位数据传输管理***及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105117457B (zh) | 2018-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Tang et al. | Is there a clubbing effect underlying C hinese research citation Increases? | |
CN102360371B (zh) | 数据处理装置和数据处理方法 | |
CN101409634B (zh) | 基于信息检索的互联网新闻影响力定量分析工具及方法 | |
CN108345985A (zh) | 一种配电网数据质量评估方法及*** | |
CN103092867B (zh) | 一种数据管理方法及***、数据分析装置 | |
CN103324724A (zh) | 数据处理方法及装置 | |
CN106484857A (zh) | 数据采集***及其方法 | |
CN105117457A (zh) | 一种虚拟资产保全***的索引重建方法 | |
CN102999506A (zh) | 一种获取用户独立访问数的方法与装置 | |
CN106055621A (zh) | 一种日志检索方法及装置 | |
CN104143006B (zh) | 一种城市数据处理方法及装置 | |
CN106327254A (zh) | 一种知识产权价值评估*** | |
CN105654361A (zh) | 一种基于社区o2o的信用评价方法和*** | |
CN109918429A (zh) | 基于Redis的Spark数据处理方法及*** | |
CN106168968A (zh) | 一种网站分类方法及装置 | |
CN105426425A (zh) | 一种基于移动信令的大数据营销方法 | |
CN108334549A (zh) | 一种设备数据存储方法、提取方法、存储平台及提取平台 | |
CN105335459A (zh) | 基于xbrl智能报告平台的合并报表数据抽取方法 | |
Geng et al. | Energy efficiency evaluation of ethylene product system based on density clustering data envelopment analysis model | |
CN117217933A (zh) | 用于保险行业的数据多维分析方法及装置 | |
CN107093018A (zh) | 基于健康模型的电信工程项目信息可视化方法及装置 | |
CN109471907A (zh) | 一种基于卡口数据的行车规律分析***和方法 | |
CN114638431A (zh) | 一种基于infoworks模型的典型地块年径流总量控制率速查方法 | |
CN108629454A (zh) | 用二三制法预测高校投档线的方法 | |
CN109769202A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |