CN101833568B - Web数据管理系统 - Google Patents
Web数据管理系统 Download PDFInfo
- Publication number
- CN101833568B CN101833568B CN2010101401684A CN201010140168A CN101833568B CN 101833568 B CN101833568 B CN 101833568B CN 2010101401684 A CN2010101401684 A CN 2010101401684A CN 201010140168 A CN201010140168 A CN 201010140168A CN 101833568 B CN101833568 B CN 101833568B
- Authority
- CN
- China
- Prior art keywords
- data
- web
- user
- submodule
- demand
- 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.)
- Expired - Fee Related
Links
Images
Abstract
本发明涉及Web服务和数据库技术领域,尤其涉及一种Web数据管理系统。本发明包括数据服务模块,该模块基于数据管理模块提供的数据和语义关联,用于提供用户操作界面,允许用户个性化地组织Web数据;数据管理模块,用于建模和获取用户需求,在对象代理数据库中存储公共用户需求、Web数据以及数据间的语义关联;数据获取模块,用于根据公共用户需求从Web中选择合适的数据源提交按需查询请求,并根据数据源的返回结果抽取符合要求的Web数据、源数据,进而存储这些数据到数据管理模块中。本发明基于先进的对象代理数据库,能够有效获取和管理用户相关的Web数据,并为终端Web用户提供个性化的数据管理和查询服务。
Description
技术领域
本发明涉及Web服务和数据库技术领域,尤其涉及一种Web数据管理系统。
背景技术
网络硬件的升级以及个人电脑的普及推动着互联网的快速发展。BLOG、WIKIS、专业社区等新兴网络服务的流行,为Web提供了广阔的数据来源。数据源的丰富带来了Web数据形式的多样化,如邮件、RSS、图像、word文档等构成了Web数据的主要内容。面对规模巨大、结构复杂、语义丰富的Web数据,Web数据管理需要在用户需求和Web数据源之间建立沟通桥梁,通过对Web数据的获取和组织,为用户提供个性化的数据服务。
Google、Yahoo、Amazon等大型系统的成功运营,使得对Web数据的管理获得了巨大进展。但是在Web数据管理中仍然存在着诸多问题。
首先,有效的个性化Web数据管理方法依然比较缺乏。在现有的Web数据管理系统中,面向大众的个性化Web数据管理方法通常表现为,允许用户在系统中拷贝一份或多份其喜好的Web数据。这种方式往往需要大量的存储开销,并带来了冗余的Web数据。同时,由于用户的个性化数据是冗余存储的,当Web数据源更新后,用户的个性化数据很难被同步更新。对于数据的推荐,现有系统通过用户偏好分析,将相关或相似的数据推荐给用户,由用户进行选择。这种实现方法不但提高了系统与用户的交互次数,而且不够精确,让用户疲于选择。基于Web数据的查询服务主要为关键字查询及结构化查询,其查询内容通常为单模态媒体类型(如百度的图片搜索、视频搜索等),多模态Web数据间的各种语义关联还没有被建立和有效利用。
其次,对于Web数据的存储管理,现有系统都重在存储Web数据,而忽视了对Web数据间语义关联的存储管理。面向对象模型和XML模型虽然支持语义的存储管理,但是面向对象模型缺乏灵活性,难以动态地根据用户需求进行模式进化;而XML模型在查询效率方面仍待改进。
最后,对于Web数据的获取,现有系统可以分为三类,即,人工录入、Web搜索和元搜索。人工录入效率太低。Web搜索虽然能够根据Web页面的链接关系,访问整个网络获取数据,但是其数据粒度多以页面或文件为单位,数据质量不高。元搜索能够从搜索引擎、Deep Web中高效获得Web数据,现有的元搜索方法重在通过统一接口同时访问多数据源,重排数据后返回给用户。元搜索过程中并未考虑用户需求,从而搜索时不具有目的性,对复杂的查询需求也缺乏组合搜索的功能。
针对上述问题,在Web环境下实现三层体系架构的Web数据管理系统,提高了用户对Web数据的管理和访问能力。针对海量的Web数据,系统缓存了与用户需求相关的数据,并允许用户对其进行个性化的管理和复杂查询。在Web数据管理系统中,用户通过定义数据空间,个性化的管理、查询Web数据,数据空间中的Web数据代理自系统的源类,仅以指针的方式存储和维护,有效的减少了存储开销;基于数据空间及系统中的语义关联,用户能够跨媒体查询多模态的Web数据;依据用户需求的自动推送,减少了用户交互,能够将Web中的数据更新(已有数据的更新和满足用户需求的新数据)精确地反应到用户数据空间中。采用先进的对象代理数据库不仅能存储各种Web数据,而且能够存储Web数据间的各种语义关联。按需元搜索技术则在后台透明地为用户高效地按需获取Web数据,提供用户使用。在Web音乐数据管理系统中,各种类型的音乐数据由系统在后台不断获取、存储并更新到对象代理数据库中,用户通过定义音乐空间,个性化的组织Web音乐数据;跨媒体查询不同模态的Web音乐数据;以及享受时新Web音乐的自动推送。
发明内容
本发明的目的是提供一种三层体系架构的Web数据管理系统,该系统基于先进的对象代理数据库,能够有效获取和管理用户相关的Web数据,并为终端Web用户提供个性化的数据管理和查询服务。
为达到上述目的,本发明采用如下的技术方案:
本发明提供的Web数据管理系统,包括数据服务模块、数据管理模块、数据获取模块:
数据服务模块,该模块基于数据管理模块提供的数据和语义关联,用于提供用户操作界面,允许用户个性化地组织Web数据,根据个性化的数据组织形式查询和推送Web数据;
数据管理模块,用于建模和获取用户需求,在对象代理数据库中存储公共用户需求、Web数据以及数据间的语义关联,以及根据公共用户需求更新和维护系统内的Web数据;
数据获取模块,用于根据公共用户需求从Web中选择合适的数据源提交按需查询请求,并根据数据源的返回结果抽取符合要求的Web数据、源数据,进而存储这些数据到数据管理模块中。
所述数据服务模块进一步包括数据空间管理子模块、跨媒体查询子模块以及Web数据推送子模块:
①数据空间子模块,用于个性化的数据管理,该子模块通过定义灵活的对象视图,存储和管理非结构化的Web数据,对象视图之间根据用户偏好建立各种代理关系,具有层次结构,构成用户的数据空间,数据空间中的各种代理关系描述了非结构化数据间的语义关联;
②跨媒体查询子模块,用于根据语义关联检索多模态的Web数据,该子模块基于数据空间中的语义关联,利用对象代理数据库提供的跨类查询机制,从单模态Web数据出发,导航式地检索多模态的Web数据;
③Web数据推送子模块,用于将满足用户需求的Web数据精确推送到用户数据空间中,该子模块对数据管理模块中的Web数据,由程序在后台自动分发,将数据推送到满足用户定义的数据空间中。
所述数据管理模块进一步包括用户需求获取与合并子模块、对象代理数据库模式设计子模块以及数据与需求一致性维护子模块:
①用户需求获取与合并子模块,用于定义用户需求,抽取和归纳公共用户需求,该子模块从数据空间子模块的定义中抽取用户需求,使用对象代理模型建模,进而归纳出公共用户需求,用于指导按需元搜索子模块获取数据;
②对象代理数据库模式设计子模块,用于在对象代理数据库中设计合理的数据库模式,存储和管理公共用户需求、Web数据及其语义关联;
③数据与需求一致性维护子模块,用于保证Web数据管理系统中数据的一致性、有效性和时新性,该子模块根据动态变化的公共用户需求,定期清理需求无关的冗余Web数据,同时,动态计算公共用户需求的优先级,调整按需元搜索子模块中公共用户需求的执行顺序。
所述数据获取模块进一步包括按需元搜索子模块和Web数据融合子模块:
①按需元搜索子模块,用于从合适的Web数据源中按需获取Web数据,该子模块将用户需求获取与合并子模块中产生的公共用户需求,根据Web数据源的查询接口,构造为Web数据源可以接受的查询表单,提交到各个数据源进行查询,并接收数据源返回的结果;
②Web数据融合子模块,用于分析Web数据源的返回结果,获得Web数据和元数据,该子模块接收按需元搜索子模块获得的结果,根据结果集合的分布特征,抽取Web数据和元数据,并存储这些数据到数据管理模块中。
本发明具有以下优点和积极效果:
1)三层架构的Web数据管理系统能够对Web数据的获取、管理及服务进行一体化管理,有效的实现了用户对所需Web数据的获取和访问;
2)其数据服务模块利用对象代理数据库的先进功能,能够为用户提供个性化服务,其中包括数据空间、跨媒体查询以及Web数据的自动推送。基于对象代理数据库提供的柔软的对象视图,用户能够自定义数据空间,支持个性化Web数据管理。该方法既减少了普通个性化数据管理时的数据冗余问题,又使得用户数据空间具有语义性,能够支持更灵活的数据查询。基于对象代理数据库中存储的丰富语义关联,用户能够在数据空间中进行跨媒体查询,从多感官、多角度访问和使用非结构化Web数据。最后,对象代理数据库自身的动态分类机制为用户提供了Web数据的自动推送,解放了用户对Web音乐搜索工具的依赖,减少了用户交互,提高了用户工作效率;
3)其数据管理模块采用先进的对象代理数据库存储公共用户需求、Web数据及其语义关联。对象代理数据库不仅具有关系数据库的柔软性,而且具有面向对象数据库建模复杂语义关联的能力。采用对象代理数据库对Web数据进行管理具有通用性,易于系统开发及推广。通过用户需求获取与合并,系统能够统一管理用户需求,同时为大众用户提供满足其需求的Web数据。借助需求与数据的一致性维护,Web数据管理系统仅需存储和管理用户相关的Web数据,并且这些数据能够与Web中动态变化的数据源保持同步更新;
4)其数据获取模块采用元搜索技术,依据公共用户需求向Web数据源提交查询请求,数据获取方式综合了search engines和deep web技术的优点,能够实现数据来源既“广”又“精”。同时,对Web数据的融合分析,能够从数据源返回的结果集合中抽取数据及元数据;
5)在Web音乐领域中自主实现了Web音乐数据管理系统。在Web音乐数据管理系统中,各种类型的音乐数据由系统在后台不断获取、存储并更新到对象代理数据库中,用户通过定义音乐空间,个性化的组织Web音乐数据;跨媒体查询不同模态的Web音乐数据;以及享受时新Web音乐的自动推送。
附图说明
图1是本发明提供的三层Web数据管理系统体系架构图。
图2是本发明实施例中用户音乐空间的类层次结构图。
图3是本发明实施例中用户需求获取与合并流程图。
图4是本发明实施例中对象代理数据库的模式层次图。
图5是本发明实施例中按需元搜索流程图。
具体实施方式
一、理论基础
本发明提供的Web数据管理系统采用三层体系结构,基于对象代理模型的理论,下面首先详细介绍对象代理模型:
对象代理模型(Object Deputy Model)是在传统的面向对象数据模型中通过引入代理对象和代理类的概念而提出的一个新的数据模型,其核心在于“代理”的概念。在面向对象数据模型中,属性和方法封装在一个对象中,子对象可以继承父对象的属性和方法。面向对象数据模型的封装性,无法实现对象的分割和组合,缺乏柔软性;传统的面向对象数据模型也没有提供灵活的对象视图机制。在对象代理模型中,代理对象可以选择性继承源对象的部分或全部属性、方法,同时可以根据需要增加扩展属性和扩展方法的定义;代理对象继承的属性、方法定义有切换操作,对它们的引用都会通过切换操作切换到对源对象上相应属性、方法的引用;代理对象的模式由代理类定义,对象代理代数用于创建不同的代理类;源对象和代理对象之间通过双向指针链接,更新迁移机制建立在双向指针之上,用于保证源对象和代理对象间的语义一致性。对象代理模型提供了丰富的语义,代理对象可以扮演源对象的各种角色,也可以用于实现对象视图。通过代理对象可以灵活地实现对象的分割和组合,提供了柔软性。
基于对象代理模型实现的对象代理数据库管理系统,支持对象代理数据库语言进行数据定义和操作。在对象代理数据库中,每个对象和代理对象都有唯一的对象标识符;代理对象继承的属性称为“虚属性”,并不占有实际的物理存储,其值通过定义在其上的切换操作计算得到;对任何对象或代理对象的更新都会触发更新迁移,确保对象间的代理关系保持语义一致性。对象代理数据库语言采用类似标准SQL的风格,包括对象代理数据定义语言和对象代理数据操作语言。数据定义语言提供了类和代理类定义功能,一共有四种不同的代理类定义方式,包括:SELECT代理类、UNION代理类、JOIN代理类、GROUP代理类。代理类通过在普通类上声明一个代理规则创建,在代理类上还可以进一步创建代理类,在模式上形成一个代理层次网。代理对象由系统根据代理规则自动派生或消除,除了对代理对象的创建和删除操作由对象更新迁移自动完成外,在数据操作语言中,对代理对象的操作与一般对象上的操作无异。
对象代理数据库提供以下三个高级数据库功能:
(1)灵活的对象视图
代理类可以用于定义对象视图。SELECT代理类用于实现对象的特化,UNION代理类用于实现对象的泛化,JOIN代理类用于实现对象的聚集,GROUP代理类用于实现对象的分组。
(2)多重分类与动态分类
在对象代理数据库中,一个对象可以存在属于不同代理类的多个代理对象。由于代理类通过在源类上声明一个代理规则创建,只要源类中的对象满足代理规则,系统就会自动派生相应的代理对象。当添加、删除或更新一个对象时,更新迁移机制保证其代理对象也被相应地更新。
(3)高效的跨类查询
在对象代理数据库中,由于类层次和对象层次都存在复杂的语义关系,而且对象与其代理对象间存在双向指针链接,因此可以方便地根据对象间的代理关系实现对象导航遍历。基于这一特殊机制,对象代理查询语言提供路径表达式用于跨类查询,跨类查询从功能上等价于传统的基于值的连接查询,但是基于指针的连接查询比基于值的连接查询效率更高,使用更方便。
二、实现过程
本发明是一种三层体系架构的Web数据管理系统。下面结合实施及附图对本发明作进一步说明。
1.Web数据管理系统的实现
在Web环境中可以实现Web数据管理系统,Web数据管理系统的体系架构见附图1,其体系架构包括:数据服务模块、数据管理模块以及数据获取模块。数据服务模块用于个性化的组织、查询和推送Web数据,该模块通过交互界面,将用户操作转换为数据库操作,应用于数据管理模块中的Web数据。数据管理模块用于存储和维护用户需求、Web数据及其语义关联,该模块根据数据服务模块中的操作,获取和产生公共用户需求;向数据获取模块提供用户需求,建模存储和维护数据获取模块按需返回的Web数据及其语义关联。数据获取模块用于根据用户需求从海量Web数据源中获取数据,该模块从数据管理模块中接收公共用户需求,选择合适的Web数据源进行查询,对查询结果分析提取后返回给数据管理模块进行存储。
(1)实现数据服务模块的具体步骤
数据服务模块用于实现用户界面,与用户交互,帮助用户操作和使用各种数据服务。该模块的实现主要基于对象代理数据库的高级功能(灵活的对象视图、动态分类和跨类查询)。其中数据空间管理子模块用于帮助用户创建具有语义关联的个人数据空间,跨媒体查询子模块根据数据空间中的语义关联完成多模态Web数据的查询,Web数据推送子模块则根据数据空间的定义条件,将数据管理模块中的数据,自动分发到各个数据空间中。
①数据空间管理子模块
数据空间管理子模块用于用户从逻辑上对Web数据进行个性化组织和管理。用户数据空间是用户自定义对象视图(代理类)的集合,对象视图的定义既可以基于系统提供的各个源类,也可以基于数据空间中已有的代理类。数据空间子模块中可以使用的代理类包括SELECT代理类、UNION代理类、JOIN代理类、GROUP代理类。根据对象代理数据库提供的代理类操作方法,数据空间子模块能够实现用户自定义代理类的创建、修改或删除。
②跨媒体查询子模块
跨媒体查询子模块用于在数据空间中根据语义关联,从单模态的数据查询语义相关的多模态Web数据。在Web数据管理系统中,源类和代理类之间根据代理关系相互关联,系统的数据库模式呈现为一种层次结构。源类存储的不同模态的Web数据也在这种层次结构中被语义关联起来。借助对象代理数据库提供的跨类查询机制,跨媒体查询子模块将查询需求根据数据库模式,转换为相应的跨类查询,从任意类出发,根据代理路径查找具有相同语义内容的不同模态的Web数据。
③Web数据推送子模块
Web数据推送子模块用于将数据管理模块中的Web数据,根据数据空间子模块中的定义条件,自动进行分发。对象代理数据库的动态分类机制,能够对源类中数据的变化,根据代理关系自动更新到其相关的代理类中。基于代理类组成的数据空间,借助动态分类机制,能够自动接收源类中满足其定义的Web数据。Web数据推送子模块的功能属于对象代理数据库自带机制,无需编码实现。
(2)实现数据管理模块的具体步骤
数据管理模块用于存储和维护用户需求、Web数据及其语义关联。该模块的实现首先根据用户需求模型和Web数据结构在对象代理数据库中设计合理的数据库模式,进而存储和维护数据服务模块及数据获取模块产生各种数据。其中用户需求获取与合并子模块中定义了用户需求模型,根据数据空间子模块中的操作产生用户需求,并在数据库中存储和维护。对象代理数据库模式设计子模块则根据用户需求模型、Web数据结构以及其语义关联,合理设计数据库内的数据组织形式,以便高效查询和灵活扩展。数据与用户需求一致性维护子模块根据数据库中的公共用户需求,定期清理数据库内的冗余数据;同时由相关因素动态计算公共用户需求的优先级,按优先顺序赋予数据获取模块搜索需求。
①用户需求获取与合并子模块
用户需求获取与合并子模块用于定义用户需求模型,从数据空间子模块中抽取用户需求,并在对象代理数据库中合并、存储公共用户需求。数据空间的定义既用于个性化Web数据管理,又潜在的表达了用户对Web数据的需求。数据空间中每个对象视图的定义,被抽取为一组属性值对(key/value),用于表达一种特定的用户需求。属性值对(key/value)采用对象代理模型建模管理。由于大众用户需求相互重叠,存在冗余,使用前必须合并为公共用户需求。公共用户需求存储时在用户需求模型的基础上扩展了引用计数属性。公共用户需求合并即采用引用计数统计相同用户需求的重复频率。
当数据空间发生改变后,需要获取改变前后的用户需求,并将用户需求的变化更新到数据库中的公共用户需求中。
②对象代理数据库模式设计子模块
对象代理数据库模式设计子模块用于在对象代理数据库中设计合理的数据库模式,存储公共用户需求、各类Web数据及其语义关联。在对象代理数据库模式中,通过定义源类存储基本数据,包括公共用户需求、各种模态的Web数据及元数据;通过定义代理类存储Web数据、元数据之间的各种语义关联,即使用代理关系描述语义关联,将Web数据联系起来。
③数据与用户需求一致性维护子模块
数据与用户需求一致性维护子模块既用于清理数据库内的冗余数据,又用于保持系统内数据与Web数据源的同步更新。即,数据空间的变化需要Web数据管理系统中的Web数据与之相应。没有数据的公共用户需求,需要去获取数据;Web数据源的数据更新,也要同步到Web数据管理系统中;没有用户关注的Web数据,需要在Web数据管理系统进行清理。
数据的按需获取及更新,通过对公共用户需求按优先级轮询调度实现。调度公共用户需求的基础是优先级,在每次调度完成后,优先级必须动态计算,保证有效率的更新。优先级的计算由需求创建时间、用户关注度、Web数据质量、调度次数等因素共同决定,其中优先级的高低与用户关注度成正比,与创建时间、Web数据质量、调度次数成反比。用户关注度可以由公共用户需求中的引用计数获得,创建时间在公共需要需求创建时被记录下来,Web数据质量由Web数据本身的特性描述,调度次数则由系统统计并记录。
用户关注度为零的公共用户需求为冗余的用户需求,其对应的系统数据为冗余数据。通过对公共用户需求表的查询可以查找到所有用户关注度为零的公共用户需求,根据这些需求构造查询,能够在Web数据管理系统中标记冗余的数据。为了缓解数据空间频繁改变带来的频繁数据清理,被标记的冗余Web数据被赋予一个时间戳,只有超过时间戳一定时间范围的Web数据才会被定期清理。
(3)实现数据获取模块的具体步骤
数据获取模块用于根据用户需求从Web中获取满足用户需求的Web数据。该模块的实现需要在服务器端编写独立的程序,持续运行。其中按需元搜索子模块通过与数据管理模块的交互,获得公共用户需求,构造查询请求提交到Web数据源,接收数据源返回的结果。Web数据融合子模块对按需元搜索子模块返回的结果进行分析,提取其中包含的Web数据、元数据,去重并规整后更新到数据管理模块中。
①按需元搜索子模块
按需元搜索子模块用于将公共用户需求构造为Web数据源可识别的查询请求,并提交请求获得返回结果。根据Web数据管理系统的应用领域,Web数据源将被选定。同时,Web数据源的查询接口被分析和记录。按需元搜索子模块首先从公共用户需求类中获得优先级最高的需求,然后依据Web数据源的查询接口构造成查询表单,最后通过Post或Get方法提交到Web数据源,自动接收其返回的结果。对于类型相同的Web数据源,查询提交可以并行实现。当公共用户需求过于复杂,单个数据源不能获取所需的Web数据时,需要根据Web数据源之间的查询能力、范围,分步骤的组合Web数据源进行查询。
②Web数据融合子模块
Web数据融合子模块用于从数据源返回的结果中提取Web数据,整理后存储到数据库中。Web数据融合首先分析Web数据在返回结果中的分布规律,根据该规律构造数据抽取器,抽取Web数据、元数据等。其次,同类型不同数据源中的Web数据,还必须按统一的数据粒度进行规整、去重和重排。最后,符合公共用户需求的Web数据、元数据经筛选后,被存储到对象代理数据库中。
2.具体实施例1
Web音乐数据管理系统是根据上述Web数据管理系统构架实现的。数据服务模块通过WWW为用户提供音乐空间管理(数据空间管理)、跨媒体查询以及Web音乐推送等个性化服务。数据管理模块从用户音乐空间的定义中获取和合并用户需求;使用对象代理数据库存储Web数据、元数据及其语义关联;由一致性维护模块自动清理冗余的Web音乐,自动计算公共用户需求的优先级,指导数据获取模块更新系统内的Web音乐数据。数据获取模块依据系统内的公共用户需求,从Web音乐数据源中获取和分析音乐数据,并存储至数据库中。
(1)数据服务模块
数据服务模块主要包括用户音乐空间管理、跨媒体查询以及Web音乐自动推送三大子模块。
①用户音乐空间管理子模块
Web音乐数据管理系统中的音乐空间是用户通过系统接口在对象代理数据库中自定义的对象视图集合。音乐空间管理子模块允许用户从Web音乐数据源类(Music、MTV、Lyrics、Picture)中,创建、修改和删除自定义的代理类,并在代理类中追加属性(Rank varchar,Commentvarchar)描述用户对音乐数据的评价。用户创建的这些代理类集合组成了用户的个人音乐空间。用户音乐空间管理子模块的具体步骤包括:
a.用户通过音乐空间管理子模块提供的界面,描述其对音乐数据的偏好,自定义音乐空间的创建条件。由系统根据创建条件自动生成对象代理数据库中代理类的创建语句,并提交数据库执行。用户音乐空间的创建SQL如下例所示。其音乐空间相应的类层次结构见附图2。其中SELECT代理类TB Lyr表示用户订阅了TheBeatles所唱的所有歌曲,而Union代理类A_BJ_Lyr则表示用户在音乐空间中合并订阅了TheBeatles和Avirl的歌曲(同理,如Usr_Album),Group代理类TB_Alb表示用户列举其订阅的TheBeatles的所有专辑(同理,如2010_Alb)。
Deputy class in Music Space as follows:CREATE SELECTDEPUTYCLASS TB_Lyr(comment TEXT,rank TEXT)AS(SELECT*FROMTheBeatles_Lyr);CREATE UNIONDEPUTYCLASS A_BJ_Lyr(commnent TEXT,rank TEXT)AS(SELECT*FROMBonJovi_Lyr UNION SELECT*FROM Avirl_Lyr);CREATE GROUPDEPUTYCLASS TB_Alb AS(SELECT singer,album,publisher,pubdate FROMTB_Lyr GROUP BY Singer,album,publisher,pubdate);CREATE SELECTDEPUTYCLASS 2010_Alb AS(SELECT*FROM Album WHEREpubdate=2010);CREATE UNIONDEPUTYCLASS Usr_Album AS(SELECT*FROM TB_Alb UNION SELECT*FROM 2010_Alb); |
b.通过音乐空间子模块的操作界面,用户可以修改已有音乐空间中任意代理类的创建条件,系统根据这些修改自动生成SQL更新相应的代理类,进而改变音乐空间中的音乐数据组织方式。
c.用户还能在操作界面中删除音乐空间中的任意代理类。其中对音乐空间中父代理类删除,对象代理数据库会自动递归删除其子类。从而保证音乐空间中类层次结构的完整性、正确性。
②跨媒体查询子模块
对象代理数据库内存储有丰富的Web音乐数据语义关联,这些语义关联通过代理规则的定义存储在数据库中。借助对象代理数据库中特有的双向指针,不同模态的Web音乐数据间保持着语义联系。对象代理数据库提供了跨类查询机制,能够利用双向指针根据路径表达式实现导航式的数据查询。跨媒体查询基于Web音乐数据间的语义关联,将被使用的语义关联转换为查询路径,生成跨类查询SQL,提交数据库执行。跨媒体查询SQL如下例所示。该查询表示从TheBeathles的歌曲“girl”出发,查询该歌曲相应的MTV信息。跨媒体查询根据音乐数据管理系统中的语义关联(见附图4),由路径表达式TheBeatles_Lyr->Music_Lyr->Music->Music_MTV->MTV表示查询语义,进而在对象代理数据库内导航式地完成跨越媒体类型的复杂查询。
Web音乐数据管理系统中根据TheBeatles的歌曲“girl”,查询其相应的MTV:SELECT(TheBeatles_Lyr->Music_Lyr->Music->Music_MTV->MTV).mtv FROMTheBeatles_Lyr WHERE title=‘girl’AND artist=‘TheBeatles’; |
③Web音乐自动推送子模块
对象代理数据库中实现了动态分类机制,能够根据代理类上的代理规则,自动将源类中的数据分发到相关的代理类中。因此,当数据获取模块从Web中得到音乐数据并存储到对象代理数据库中后,数据库会根据用户音乐空间的创建条件,自动将Web音乐数据分发到相关音乐空间中。例如数据获取模块向数据库中源类Music增加了TheBeathles的歌曲“Hey Jude”,符合代理规则的代理类中都会自动增加该歌曲的信息,如Music_Lyr、TheBeatles_Lyr、TheBeatles_Abl等。该子模块的功能属于对象代理数据库自带功能,无需编码实现。
(2)数据管理模块
数据管理模块主要包括用户需求获取与合并子模块,对象代理数据库模式设计子模块,以及数据与需求一致性维护子模块。
①用户需求获取与合并子模块
a.用户需求获取
Web音乐数据管理系统中的用户需求采用对象代理模型建模管理。其用户需求模型形式化定义为:
<singer VARCHAR,album VARCHAR,title VARCHAR,genre VARCHAR,pubdateVARCHAR>
用户需求来自用户音乐空间的定义。当用户创建、更新音乐空间后,分析用户增、删、改的SQL,从中获得用户需求模型中的属性值对(key/value)。其中singer属性为歌手信息,album属性是专辑信息,title属性为歌曲信息,genre属性是歌曲对应的曲风,pubdate属性为歌曲发行的年代。音乐空间中的每个代理类对应用户需求模型中的一个对象(UNION类型代理类对应多个对象),对象中的属性值描述了用户对Web音乐在该属性上的具体需求。在用户需求获取时,属性值对的抽取来自SQL中的WHERE子句。对于WHERE子句中未出现的属性项,系统默认在用户需求模型的相应属性上赋值“ALL”,表示用户愿意接受该属性中可能出现的任意数据。用户需求模型仅用于内存中暂存用户需求数据。
b.合并公共用户需求
公共用户需求在用户需求模型的基础上进行了扩充,其形式化定义为:
<singer VARCHAR,album VARCHAR,title VARCHAR,genre VARCHAR,pubdateVARCHAR,citenumber INT,createtime VARCHAR,count INT,weight FLOAT>
公共用户需求以源类的形式定义在对象代理数据库中。获取得到的用户需求将存储至公共用户需求表中,重复的用户需求仅在公共用户需求的引用计数(citenumber)中统计。公共用户需求中的优先级(weight)将由数据与需求一致性维护子模块动态计算,公共用户需求的搜索次数由属性count记录。典型的公共用户需求类如下例所示,该类中的所有对象描述了图2音乐空间中所蕴含的用户需求。用户需求获取与合并见附图3。
Singer | Album | Title | Genre | Pubdate | CiteNumber | Createtime | Count | Weight |
TheBeatles | ALL | ALL | ALL | ALL | 3 | 2010.03.10 | 0 | Default |
BonJovi | ALL | ALL | ALL | ALL | 1 | 2010.03.10 | 0 | Default |
CelineDion | ALL | ALL | ALL | ALL | 1 | 2010.03.10 | 0 | Default |
ALL | ALL | ALL | ALL | 2010 | 2 | 2010.03.10 | 0 | Default |
②对象代理数据库模式设计子模块
由于Web音乐数据、元数据及其语义关联的共存,使得传统数据库系统在存储和管理这些数据时显得捉襟见肘。使用先进的对象代理数据库,各种Web音乐数据及其语义关联得以有效组织和使用。
在对象代理数据库中,Web音乐数据、元数据通过创建源类(Music、MTV、Lyrics、Picture)进行存储。Web音乐数据间的语义关联通过建立代理类,借助各种代理关系进行存储和表达。公共用户需求的存储已经在用户需求获取与合并子模块中详细介绍。Web音乐数据管理系统的数据库模式定义如下例所示,其模式相应的语义层次见附图4。其中,Join代理类Music_Lyr是由类Music与Lyrics聚集产生,表示了歌曲与歌词间一一对应的语义关联,同理如Music_MTV。Select代理类TheBeatles_Lyr是Music_Lyr代理类的特化,同理如Avirl_Lyr等。而Union代理类A_BJ_Lyr是代理类BonJovi_Lyr和CelineDion_Lyr的泛化,同理如TB_A_Lyr等。最后,Group代理类Album是代理类Music_Lyr的分组。
Basic class:CREATE CLASS Lyrics(title VARchar,singer VARchar,lyrics TEXT,mark VARchar,timestampVARchar);CREATE CLASS Music(title VARchar NOT NULL,singer VARchar NOT NULL,album VARchar,genreVARchar,publisher VARchar,pubdate VARchar,urls VARchar,mark VARchar,timestampVARchar);CREATE CLASS Picture(singer VARchar,album VARchar,pic OID,mark VARchar,timestampVARchar);CREATE CLASS MTV(title VARchar,singer VARchar,album VARchar,mtv OID,mark VARchar,timestamp VARchar);Deputy class(Level1):Deputy class Music_Lyr can be created as follows:CREATE JOINDEPUTYCLASS Music_Lyr(counts INT)AS(SELECT Music.title,Music.singer,album,genre,publisher,pubdate,urls,lyrics FROM Lyrics,Music WHERE Lyrics.title=Music.title and Lyrics.singer=Music.singer);Create Music_MTV as follows:CREATE JOINDEPUTYCLASS Music_MTV(counts INT)AS(SELECT Music.title,Mu sic.singer,Music.album,urls,mtv FROM Music,MTV WHERE Music.title=MTV.title AND Music.singer=MTV.singer);Deputy class(Level2):Deputy class BonJovi_Lyr as follows:CREATE SELECTDEPUTYCLASS BonJovi_Lyr AS(SELECT*FROM Music_Lyr WHERE singer=‘BonJovi’);Album as follows:CREATE GROUPDEPUTYCLASS ALbum(introduction TEXT)AS(SELECT singer,album,publisher,pubdateFROM Music_Lyr GROUP BY singer,album,publisher,pubdate);Deputy class(Level3)Album_Pic as followsCREATE JOINDEPUTYCLASS Album_Pic AS(SELECT Album.singer,Album.album,publisher,pubdate,pic FROM Picture,Album WHERE Album.singer=Picture.singer AND Album.album=Picture.album); |
③数据与需求一致性维护子模块
Web音乐数据管理系统并非也不可能管理所有的Web音乐数据,它仅需管理与用户需求相关的Web音乐数据,并维护系统中音乐数据与Web数据源的同步。数据与需求一致性维护子模块主要由两部分组成:
a.冗余音乐数据自动清理
当公共用户需求类中出现引用计数为零的记录时,表明没有用户再对该需求所对应的音乐数据感兴趣,这些数据应当被及时的清理。首先,选出所有引用计数为零的公共用户需求。其次,根据这些需求构造SQL查询,从所有数据源类中选出冗余的音乐数据,更改这些数据的mark属性值为“DELETE”,并在timestamp属性中记录标记时间。最后,如果48小时内公共用户需求的引用计数由零变为正值,则回收待删除的音乐数据,即修改相应数据的mark属性值为“KEEP”;否则删除引用计数为零的公共用户需求,同时删除mark属性值为“DELETE”的音乐数据。
b.公共用户需求优先级计算
影响公共用户需求优先级(weight)计算的因素主要包括用户关注度、需求创建时间、调度次数以及需求对应的音乐数据质量。公共用户需求优先级计算在Web数据融合子模块之后。首先,对从Web中获取的音乐数据进行测试,分析音乐数据的质量(Web音频的连接速率rate),再从数据库中读取用户关注度、调度次数以及需求创建时间,根据公式计算公共用户需求优先级。其计算公式为:
(3)数据获取模块
数据获取模块主要由按需元搜索和Web数据融合两大子模块组成。
①按需元搜索子模块
按需元搜索为7*24小时不间断搜索过程,该子模块总是从公共用户需求类中选取优先级最高的公共用户需求执行元搜索流程。其数据来源主要为soso.com,baidu.com,9sky.com等音乐数据源。按需元搜索的具体步骤包括:
a.从公共用户需求类中选取优先级最高的公共用户需求。
b.判断公共用户需求是否完善,即每个属性列中都有非ALL值。如果完善则直接进入步骤e。
c.从music.soso.com的歌手、专辑、歌曲信息页面中检索满足公共用户需求的音乐元数据。
d.从9sky.com的歌曲信息页面中检索音乐元数据中相应的曲风、年代。
e.根据完善的音乐元数据,从music.baidu.com,video.baidu.com,pic.baidu.com中查询相应的音乐数据。按需元搜索流程见附图5。
②Web数据融合子模块
Web数据融合模块针对9sky.com,video.baidu.com,pic.baidu.com等数据源返回的音乐数据集合进行解析,从中抽取音乐数据、元数据。Web数据融合的具体步骤包括:
a.分析9sky.com,video.baidu.com,pic.baidu.com等数据源返回结果的结构特征,发现音乐数据、元数据在结果页面中的分布规律。
b.根据不同Web数据源特有的数据分布规律,单独实现抽取函数,抽取其返回结果中的音乐数据及元数据。
c.使用公共用户需求过滤抽取获得的数据。
d.将Web音乐数据及元数据存储到对象代理数据库中相应的源类中。
Claims (2)
1.一种Web数据管理系统,其特征在于,包括:
数据服务模块,该模块基于数据管理模块提供的数据和语义关联,用于提供用户操作界面,允许用户个性化地组织Web数据,根据个性化的数据组织形式查询和推送Web数据;
数据管理模块,用于建模和获取用户需求,在对象代理数据库中存储公共用户需求、Web数据以及数据间的语义关联,以及根据公共用户需求更新和维护系统内的Web数据;
数据获取模块,用于根据公共用户需求从Web中选择合适的数据源提交按需查询请求,并根据数据源的返回结果抽取符合要求的Web数据和元数据,进而存储这些数据到数据管理模块中;
所述数据服务模块进一步包括数据空间管理子模块、跨媒体查询子模块以及Web数据推送子模块:
①数据空间管理子模块,用于个性化的数据管理,该子模块通过定义灵活的对象视图,存储和管理非结构化的Web数据,对象视图之间根据用户偏好建立各种代理关系,具有层次结构,构成用户的数据空间,数据空间中的各种代理关系描述了非结构化数据间的语义关联;
②跨媒体查询子模块,用于根据语义关联检索多模态的Web数据,该子模块基于数据空间中的语义关联,利用对象代理数据库提供的跨类查询机制,从单模态Web数据出发,导航式地检索多模态的Web数据;
③Web数据推送子模块,用于将满足用户需求的Web数据精确推送到用户数据空间中,该子模块对数据管理模块中的Web数据,由程序在后台自动分发,将数据推送到满足用户定义的数据空间中;
所述数据管理模块进一步包括用户需求获取与合并子模块、对象代理数据库模式设计子模块以及数据与需求一致性维护子模块:
①用户需求获取与合并子模块,用于定义用户需求,抽取和归纳公共用户需求,该子模块从数据空间子模块的定义中抽取用户需求,使用对象代理模型建模,进而归纳出公共用户需求,用于指导按需元搜索子模块获取数据;
②对象代理数据库模式设计子模块,用于在对象代理数据库中设计合理的数据库模式,存储和管理公共用户需求、Web数据及其语义关联;
③数据与需求一致性维护子模块,用于保证Web数据管理系统中数据的一致性、有效性和时新性,该子模块根据动态变化的公共用户需求,定期清理需求无关的冗余Web数据,同时,动态计算公共用户需求的优先级,调整按需元搜索子模块中公共用户需求的执行顺序。
2.根据权利要求1所述的Web数据管理系统,其特征在于:
所述数据获取模块进一步包括按需元搜索子模块和Web数据融合子模块:
①按需元搜索子模块,用于从合适的Web数据源中按需获取Web数据,该子模块将用户需求获取与合并子模块中产生的公共用户需求,根据Web数据源的查询接口,构造为Web数据源可以接受的查询表单,提交到各个数据源进行查询,并接收数据源返回的结果;
②Web数据融合子模块,用于分析Web数据源的返回结果,获得Web数据和元数据,该子模块接收按需元搜索子模块获得的结果,根据结果集合的分布特征,抽取Web数据和元数据,并存储这些数据到数据管理模块中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101401684A CN101833568B (zh) | 2010-04-01 | 2010-04-01 | Web数据管理系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101401684A CN101833568B (zh) | 2010-04-01 | 2010-04-01 | Web数据管理系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101833568A CN101833568A (zh) | 2010-09-15 |
CN101833568B true CN101833568B (zh) | 2012-02-08 |
Family
ID=42717638
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010101401684A Expired - Fee Related CN101833568B (zh) | 2010-04-01 | 2010-04-01 | Web数据管理系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101833568B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102426589B (zh) * | 2011-10-31 | 2013-04-03 | 合一网络技术(北京)有限公司 | 一种用于数据库信息检索的中间层系统及信息检索方法 |
CN103390018B (zh) * | 2013-04-28 | 2016-05-18 | 浙江工业大学 | 一种基于SDD的Web服务数据建模与搜索方法 |
CN107077691B (zh) * | 2014-07-14 | 2021-07-13 | 甲骨文国际公司 | 用于确定数据库高速缓存命中的基于年龄的策略 |
CN107132992B (zh) * | 2016-02-26 | 2020-12-15 | 创新先进技术有限公司 | 一种海量数据的处理方法及其装置 |
CN107239968A (zh) * | 2017-05-12 | 2017-10-10 | 浙江绿森数码科技有限公司 | 一种基于大数据的数据管理系统 |
CN108932118B (zh) * | 2018-04-20 | 2020-07-03 | 北京航空航天大学 | 一种基于卡牌的需求获取模型建立方法 |
CN109492023B (zh) * | 2018-10-12 | 2021-02-19 | 咪咕文化科技有限公司 | 一种汽车信息处理方法及其设备、计算机存储介质 |
CN111625548A (zh) * | 2019-02-27 | 2020-09-04 | 北京京东尚科信息技术有限公司 | 查询方法、系统、装置和计算机可读介质 |
CN111062684B (zh) * | 2019-11-29 | 2023-10-20 | 普元信息技术股份有限公司 | 云流程平台下实现业务数据与流程数据一致性处理的系统及其方法 |
CN111460053B (zh) * | 2020-04-15 | 2023-09-08 | 武汉大学 | 一种面向制造业刀具数据的数据查询方法 |
CN111552730B (zh) * | 2020-04-28 | 2024-01-26 | 杭州数梦工场科技有限公司 | 数据分发方法、装置、电子设备、存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5596744A (en) * | 1993-05-20 | 1997-01-21 | Hughes Aircraft Company | Apparatus and method for providing users with transparent integrated access to heterogeneous database management systems |
SG106068A1 (en) * | 2002-04-02 | 2004-09-30 | Reuters Ltd | Metadata database management system and method therefor |
CN101251852B (zh) * | 2008-01-11 | 2011-05-18 | 孟小峰 | 面向领域的Web数据集成系统和方法 |
CN101639776A (zh) * | 2009-09-07 | 2010-02-03 | 陈小青 | 一种数据库访问和集成方法及其系统 |
-
2010
- 2010-04-01 CN CN2010101401684A patent/CN101833568B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101833568A (zh) | 2010-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101833568B (zh) | Web数据管理系统 | |
CN108038222B (zh) | 用于信息系统建模和数据访问的实体-属性框架的系统 | |
CN107819824B (zh) | 一种城市数据开放与信息服务系统及服务方法 | |
US7231386B2 (en) | Apparatus, method, and program for retrieving structured documents | |
Suel et al. | ODISSEA: A Peer-to-Peer Architecture for Scalable Web Search and Information Retrieval. | |
Palopoli et al. | The System DIKE: Towards the Semi-Automatic Synthesis of Cooperative Information Systems and Data Warehouses. | |
US20040148278A1 (en) | System and method for providing content warehouse | |
WO2023087673A1 (zh) | 一种层次数据检索方法、装置和设备 | |
KR20090028758A (ko) | 정보 재사용 방법, 정보 제공 방법, 편집 가능한 문서, 및 문서 편집 시스템 | |
CN1938701A (zh) | 元数据型预取 | |
CN102810114A (zh) | 基于本体的个人计算机资源管理系统 | |
de la Vega et al. | Mortadelo: Automatic generation of NoSQL stores from platform-independent data models | |
CN101799826A (zh) | 一种基于虚拟视图的网络化数据共享系统及方法 | |
CN102999563A (zh) | 基于资源描述框架的网络资源语义检索方法及系统 | |
Mythily et al. | Clustering models for data stream mining | |
CN108804594A (zh) | 一种新闻内容全文检索引擎的构建方法及装置 | |
CN112800083B (zh) | 一种面向政府决策的政务大数据分析方法及设备 | |
Finis et al. | DeltaNI: An efficient labeling scheme for versioned hierarchical data | |
Hu et al. | Efficient top-k subscription matching for location-aware publish/subscribe | |
Scriney et al. | Efficient cube construction for smart city data | |
Kokolaki et al. | Facetize: An interactive tool for cleaning and transforming datasets for facilitating exploratory search | |
Li et al. | Building an Open Cloud Virtual Dataspace Model for Materials Scientific Data. | |
Cherniak et al. | Profile driven data management | |
Mertz et al. | NeoCube: Graph-Based Implementation of the M3Data Model | |
Vega Ruiz et al. | Mortadelo: automatic generation of NoSQL stores from platform-independent data models |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120208 |
|
CF01 | Termination of patent right due to non-payment of annual fee |