当前位置: 首页 > 专利查询>南京大学专利>正文

一种基于扩展Tag云的高效数据查找方法技术

技术编号:2914575 阅读:267 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种基于扩展Tag云的高效数据查找方法。本发明专利技术基于稀疏矩阵实现算法采用了十字链表,由于十字链表只能容纳数据,无法提供搜索和定位的功能,通过hash表和AVL树相结合的方式,对十字链表进行了改造,从而支持了数据的快速定位,并提供了搜索支持。本发明专利技术将Tag从普通标签,转变成可以赋值的容器。从而标签不仅仅提供了分类的作用,还可以容纳一定的信息。并且通过这个信息提供更为具体的定位作用。

【技术实现步骤摘要】

:本专利技术涉及Tag对象标签技术,特别扩展了Tag标签的形态,支持以变量形式存在的标签,以及其实现所需的查找搜索算法。
技术介绍
:Tag云技术已经被广泛的使用于博客,在线视频网站中。通过给某个对象贴上各种标签的方式,将对象分类。作为与传统的树型分类相对比,树型的层次型分类需要按照规模依次划分好主从层次,而标签方式不存在层次结构,所有的标签都处于一个平面上,根据标签被使用的频率,来决定每个标签的重要性,根据重要性来以不同的大小的字体呈现,远看就像大大小小的云,因而Tag云的名称因此得名。在网格环境中,传统的Globus的MDS实现中,依靠的是LDAP这样的树型分类机制来注册、区分、查找资源。为了提高资源分类的灵活性,在将这种传统的层次型资源管理方式,向基于标签的平面管理改造过程中,逐步发现一些Tag云技术的不足之处。虽然Tag云技术的问题在于其终究只是一种分类手段,而不是一种定位手段。在网格环境中,存在数以万计的资源对象,需要对这些对象精确的定位。而如果依靠Tag云技术进行定位,必须用大量的标签去区分各个对象之间的差别,这样势必会产生大量的标签。最终失去分类的意义。因此本专利技术对Tag云技术进行了改造,扩展了Tag的语义,使其更适合于用于大量对象的定位中,同时又不失去其分类的灵活性和有效性。
技术实现思路
:本专利技术所要解决的技术问题是提供一种基于扩展Tag云的数据查找方法,该方法既具有标签的灵活性,同时定位更准确。本专利技术所述的一种基于扩展Tag云的高效数据查找方法,包括以下步骤:1)对象存储数据结构的建立:首先建立对象存储的数据结构,该数据结构的行数据组织采用hash表,而纵数据组织采用AVL树;2)插入数据:获取插入对象的一系列属性值,查找已存在的属性树,并将属性值插入属性树,对不存在的属性树则创建之,最后将对象与所有的属性树中-->的值关联在一起,形成十字链表的横向,而每个属性树则对应十字链表的纵向;3)针对Tag对进行查找:通过下面描述的BNF格式对查找指令进行解析获得语义,包括属性树以及属性值描述;BNF格式的Tag云的语法:Tags  ::=[LogicOP2]Tag[LogicOP1[LogicOP2]Tag]Tag   ::=Letter|ExpressionsLetter::=″A″...″Z″|″a″..″z″Digit::=″0″..″9″Expression ::=Letter Op ValueValue ::=String|NumberString::=″Letter*″Number::=Non_Zero Digit*|″0″Non_Zero::=″1″..″9″Op::=″==″|″<=″|″<″|″>″|″>=″|″=″LogicOP1::=″and″|″or″LogicOP2::=″not″随后获得每一个Tag对所应得属性树,并在其中查找对应的属性值;再根据属性值描述进行范围筛选,并将筛选出来的结果对象存入集合之中;然后进行下一轮属性值的查找和筛选,并与结果集合作相交运算,直到找到最终的对象。本专利技术将现有的Tag云技术应用到网格技术中产生的不能同时兼顾标签的灵活性和标签对对象的唯一标识性之间的矛盾,提出了将Tag的语义进行扩展,允许对Tag进行赋值,从而提出扩展的Tag云技术,使得Tag云在保持对象灵活而高效的分类能力的基础上,又得到了唯一标识的能力。附图说明:图1是传统的Tag云分类方式,图2对象存储结构示意图,图3所示的是一个新数据的注册流程,图4所示的为一个Tag的查找过程,图5则是删除某对象的某个Tag的过程,图6则是一个数据对象的删除过程。-->具体实施方式:为实现本专利技术的目的,本专利技术提供了一套扩展的Tag云语义定义,以及结构组织算法,查找、插入等算法,下面结合附图进行详细说明。通过采用
技术实现思路
中的BNF语法,使经过扩展的Tag云除了仍然可以用Tag方式进行分类外,还可以将整数、字符串等各种数据类型赋值给Tag,从而避免了Tag种类的爆炸。如图1所示,在传统的Tag云中,如果需要唯一定位某个对象,只能创造很多标签创造足够细的分类。过于琐碎的分类又反过来降低了分类的有效性。如果允许对Tag赋值,那就创造了几乎无限的分类空间。本专利技术的数据结构如图2所示,本质上是一个稀疏矩阵实现。然而,稀疏矩阵只用于存储数据,缺乏检索和搜索的能力,因而数据结构的组织上用了hash和AVL树。其中,行的数据组织采用了hash表,而纵的数据组织采用AVL树。通过hash表命中Tag,再通过AVL树查找Tag的值。如图3所示,当插入数据时候,首先获取插入对象的一系列属性对,查找已存在的属性树,并将属性值插入属性树。对不存在的属性树则创建之。最后将对象与所有的属性树中的值关联在一起,形成十字链表的横向,而每个属性树则对应十字链表的纵向。当需要针对Tag对进行查找的时候,其流程如图4所示。首先通过前面描述的BNF格式对查找指令进行解析,获得语义,包括属性树,以及属性值描述。随后获得每一个Tag对所应得属性树,并在其中查找对应的属性值。并根据属性值描述(等于,大于,小于,大于等于,小于等于,不等于,以及与或非逻辑组合),进行范围筛选,并将筛选出来的结果对象存入集合之中。然后再进行下一轮属性值的查找和筛选,并与结果集合作相交运算,直到找到最终的对象。当需要删除某个对象的某个Tag标签的时候,其流程如图5所示,首先根据标签对,运用查找对象的流程找到对象,随后根据对象查找其所有的属性树,并在属性树中查找对应的属性值。找到后删除,并整理十字链表中纵向和横向的联系当需要删除某个对象的时候,如图6所示,首先根据标签对定位这个对象,随后查找其所有的属性,并按照图5的流程一个个删除其所有属性即可。以上所揭露的仅为专利技术的部分实施例,不能以此来限定本专利技术的权利范围,因此依本专利技术申请范围所作的等同变化,仍属本专利技术所涵盖的范围。-->本文档来自技高网
...

【技术保护点】
一种基于扩展Tag云的高效数据查找方法,其特征在于包括以下步骤: 1)对象存储数据结构的建立:首先建立对象存储的数据结构,该数据结构的行数据组织采用hash表,而纵数据组织采用AVL树; 2)插入数据:获取插入对象的一系列属性值 ,查找已存在的属性树,并将属性值插入属性树,对不存在的属性树则创建之,最后将对象与所有的属性树中的值关联在一起,形成十字链表的横向,而每个属性树则对应十字链表的纵向; 3)针对Tag对进行查找:通过下面描述的BNF格式对查找指令进行解 析获得语义,包括属性树以及属性值描述; BNF格式的Tag云的语法: Tags::=[LogicOP2]Tag[LogicOP1[LogicOP2]Tag] Tag::=Letter|Expressions Lett er::=″A″…″Z″|″a″..″z″ Digit::=″0″..″9″ Expression::=Letter Op Value Value::=String|Number String::=″Letter *″ Number::=Non_Zero Digit*|″0″ Non_Zero::=″1″..″9″ Op::=″==″|″<=″|″<″|″>″|″>=″|″=″ LogicOP1::=″and″|″or″   LogicOP2::=″not″ 随后获得每一个Tag对所应得属性树,并在其中查找对应的属性值,再根据属性值描述进行范围筛选,并将筛选出来的结果对象存入集合之中,然后进行下一轮属性值的查找和筛选,并与结果集合作相交运算,直到找到最 终的对象。...

【技术特征摘要】
1、一种基于扩展Tag云的高效数据查找方法,其特征在于包括以下步骤:1)对象存储数据结构的建立:首先建立对象存储的数据结构,该数据结构的行数据组织采用hash表,而纵数据组织采用AVL树;2)插入数据:获取插入对象的一系列属性值,查找已存在的属性树,并将属性值插入属性树,对不存在的属性树则创建之,最后将对象与所有的属性树中的值关联在一起,形成十字链表的横向,而每个属性树则对应十字链表的纵向;3)针对Tag对进行查找:通过下面描述的BNF格式对查找指令进行解析获得语义,包括属性树以及属性值描述;BNF格式的Tag云的语法:Tags::=[LogicOP2]Tag[LogicOP1[LogicOP2]Tag]Tag::=Letter|ExpressionsLetter::=″A″...″Z″|″a″..″z″Digit::=″0″..″9″Expression::=Letter 0p ValueValue::=String|NumberString::=″Letter*″Number::=Non_Zero Digit*|″0″Non_Zero::=″1″....

【专利技术属性】
技术研发人员:吕琦李文中陆桑璐陈道蓄
申请(专利权)人:南京大学
类型:发明
国别省市:84[中国|南京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1