CN104537091A - 一种基于层次标识路由的网络化关系数据查询方法 - Google Patents
一种基于层次标识路由的网络化关系数据查询方法 Download PDFInfo
- Publication number
- CN104537091A CN104537091A CN201510003869.6A CN201510003869A CN104537091A CN 104537091 A CN104537091 A CN 104537091A CN 201510003869 A CN201510003869 A CN 201510003869A CN 104537091 A CN104537091 A CN 104537091A
- Authority
- CN
- China
- Prior art keywords
- inquiry
- data
- query
- routing
- name
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/288—Entity relationship models
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于层次标识路由的网络化关系数据查询方法,包括以下步骤:(1)在每个本地关系数据库中构造各数据实体的层次化命名;(2)根据用户查询的信息转换为由层次化路由因子和查询约束因子组成的查询分组,发送到与客户端连接的一个路由节点中;(3)节点对收到的每个查询分组进行匹配和转发;(4)将查询分组的信息转换为支持本地关系数据库的SQL查询语句,进行本地查询;(5)本地查询结果加上原查询请求的层次化路由因子封装成数据分组,回送至收到对应查询分组的接口上;(6)各路由节点对收到的数据分组进行缓存、聚合和原路返回。本发明能够解决由NDN网络连接的所有关系数据库的SQL查询问题。
Description
技术领域
本发明涉及关系数据库、自组织网络环境、命名数据网络领域,具体地说涉及一种基于层次标识路由的网络化关系数据查询方法。
背景技术
自组织P2P、无线传感网络WSN、移动互联网等都存在动态分布数据的复杂查询和获取的困难,因为既要考虑在动态分布环境下查询请求的正确、有效路由问题,还要考虑分布式结果的动态聚合和可靠返回问题。其中动态路由会影响查询结果的查全率、查准率以及数据传输效率。此外,查询结果的动态聚合和可靠返回会影响查询结果的可用性、可靠性。而动态分布环境下查询***所支持的形式对动态分布数据的个性化获取能力具有重要影响。为便于更好的开放查询和共享,对动态分布的数据对象进行结构化或半结构化描述,建立规范的元数据格式及结构化或半结构化数据库具有重要的作用。
为了有效获取互联网络环境中的动态分布内容块,CCN/NDN网络(即Content-Centric Network/Named Data Networking)提出了一种基于层次命名标识获取动态分布内容块的路由方法(我们称之为层次标识路由)。该路由方法中路由的名字不仅标识了内容所属层次及名字,更重要的是代替IP地址成为路由处理中的基本单元。其核心的路由实现机制是根据来自所有数据源的层次化名字在网络中建立形式为(层次化前缀-接口)的转发树。因此,该路由机制与机器位置(包括IP地址)无关,并能实现用户请求的异步组播,而且其数据传输更为有效,因为其路由通告会优先选择最快的路径。
然而,面对大规模、动态和分布的关系数据或其它结构化数据或半结构化数据,复杂查询应该适应路由变化和数据移动,并且各种形式的查询应能以统一的方式智能的路由。而且构造查询语句时***应不需要提前知道数据的分布和变化情况;为减少数据源的计算负担和提高查询效率,当查询通过通信网络向相关数据源转发时,该查询应不需要查看数据的分布特征而进行查询分解,即大规模数据的分布和动态变化情况能够对查询用户和上层应用透明。当前实现了单播或组播模式的查询方法主要基于地址映射方式,当网络拓扑或数据的存储地址变化时很难及时获取大规模、分布的数据并且达到较高的数据传输效率。
发明内容
针对现有技术存在的上述技术问题,本发明的目的是提供一种当网络拓扑或数据的存储地址变化时能及时获取大规模、分布的数据并且具有较高的数据传输效率的基于层次标识路由的网络化关系数据查询方法。
为实现上述目的,本发明的一种基于层次标识路由的网络化关系数据查询方法,包括以下步骤:
(1)在每个本地关系数据库中识别数据实体之间的包含关系,构造各数据实体的层次化命名,并将每一个层次化的命名或者前缀通告到命名数据网络(简称为NDN网络)的各路由节点中的转发信息表(简称为FIB表)中;
(2)针对每一查询请求根据用户查询的数据类别和其它约束条件参照转发信息表中的层次化命名将其转换为由层次化路由因子和查询约束因子组成的查询分组(简称为NDNQL),发送到与客户端连接的一个路由节点中;
(3)每个路由节点对收到的每个查询分组,使用命名数据网络的路由匹配算法将查询分组中的层次化路由因子与转发信息表中的每一项进行匹配和转发,在命名数据网络的请求暂存表(简称为PIT表)中登记从每个接口转发出去的查询分组的信息;
(4)当查询分组的信息到达相关的数据库节点后,将查询分组的信息转换为支持本地关系数据库的SQL查询语句,进行本地查询;
(5)本地查询结果(简称为LRS)加上原查询请求的层次化路由因子封装成数据分组(简称为NDNRS),然后将其回送至收到对应查询分组的接口上;
(6)各路由节点对收到的数据分组进行缓存、聚合和原路返回(用户获得结果简称为RS)。
所述查询分组包括以下项目:层次化命名或前缀,查询约束条件,返回形式,其它条件,安全参数,不重数,其中层次化命名或前缀、返回形式可以多于一个。
所述数据分组包括以下项目:层次化命名或前缀,返回结果,安全参数和时间戳,其中返回结果可以一维、二维数组或链表的形式组织。
所述步骤(4)中的SQL查询语句解构为由层次化路由因子和查询约束因子组成的查询分组。
所述步骤(4)中的层次化路由因子与转发信息表中的每一项进行的匹配为最长前缀匹配,将查询分组经过多次路由转发,送到相关本地数据库中。
本发明能够解决由NDN网络连接的所有关系数据库的SQL查询问题,使用时采用统一格式,使用一个查询分组可以路由到所有相关数据库节点,各数据库节点可以很容易将该查询分组转换为支持本地查询的SQL语句。
本发明一方面可以解决在NDN网络环境下进行关系数据查询时,用户的SQL查询请求在动态分布网络环境中的高效路由问题及其查询结果的返回和聚合问题;另一方面,只需要抽取各数据实体的层次化分类和命名信息并通告到路由节点,就可以很容易使各本地数据库发布共享内容,用户只要根据发布内容的多级分类(或者加上命名信息)即可找到发布的内容。
本发明能在动态分布的网络环境下(如非结构化P2P网络、WSN和其它自组织网络)提供比现有查询方法如概率查询方法、基于标识-地址映射的查询方法、基于语义-地址映射的查询方法等更好的查询召回率和精确度。本发明的查询对象不限于动态分布网络中的关系数据、结构化数据或半结构化数据,还可以是所有能对其进行层次化分类和命名的数字化对象。
附图说明
图1为本发明中查询分组的数据结构图;
图2为本发明中数据分组的数据结构图;
图3为本发明中基于NDN网络的SQL查询***图;
图4为本发明中从关系数据库中抽取层次化命名信息的流程图;
图5为本发明中单个概念(表)的SQL查询语句到查询分组的映射实例图;
图6为本发明中两个概念(表)的有关连接(join)查询的SQL语句到查询分组的映射实例图;
图7为本发明中两个概念(表)的有关联合(union)查询的SQL语句到查询分组的映射实例图;
图8为本发明中两个概念(表)的有关相交(intersect)查询的SQL语句到查询分组的映射实例图;
图9为本发明中两个概念(表)的有关嵌套(nested)查询的SQL语句到查询分组的映射实例图;
图10为本发明中单个概念(表)的查询分组的查询处理流程图;
图11为本发明中多个概念(表)的join、union、intersect、except查询分组的查询处理流程图;
图12为本发明中多个概念(表)的nested查询分组的查询处理流程图;
图13为本发明中聚合查询avg的分步聚合计算处理流程图。
具体实施方式
下面的实施例只是用于详细说明本发明,并不以任何方式限制发明的保护范围。
关系数据库中,元数据主要以表格的形式来定义,一般是声明列的取值范围和其它约束。每个表格(有时被称为一个关系)包含用列表示的一个或更多的数据属性。每行包含一个唯一的数据实体。在关系数据库中,表之间的连接结构(如主键与外键的关联)不仅指明了表格之间的数据联系,还经常指明了数据所属的种类或类别之间的层次关系。而且该层次信息一般要求即使数据被垂直划分也能在每个分片中存在。因此,在一个给定的应用领域中,建立的关系数据库不管是集中式的还是分布式的数据库,实质上都会包括以下几种主要信息:
(1)事物(或概念):如图书、人、商品、网站、地理信息等;
(2)分类依据或分类体系:限定要查询对象的分类范围,一般是由能划分层次的属性得到;
(3)实例名称:用户给定名称,可能重名,可以通过类别、属性值区分;
(4)其它属性-值。
通常,在“Select-From-Where”结构形式的SQL语句中的每个子句所表示的意思为:
“Select list<属性名>”:该子句声明要返回的信息,主要是某类对象的各属性值;
“From table<表名>”:该子句指定将要查找的信息所属于的概念(概念定义了一类对象,基本等同表名)集合范畴;
“Where<expression list>”:该子句给出查询结果的约束条件,如限定所属的类别、部分名字(不确定的部分用通配符表示)、以及其它属性的范围值(如时间、作者等);
“Group by<name>”:该子句对返回数据进行分类(组)整合;
“Having<条件表达式>”:该子句对返回分组按条件表达式要求进行过滤计算(一般需要延迟到最后一个汇聚节点进行)。
例如一个NDN网络中存储了很多电子书籍,则对于查询请求“网络工程专业近3年出版的书”,其查询的SQL表达形式为:
Query=Select*(书名,作者,出版社,出版年份)
From书籍表
Where学科=计算机and专业=网络工程and(2013-Year(出版时间))<=3
从该SQL查询中可以提取出上述主要信息,如:
如图1所示,为用在本发明中的查询分组的数据结构。本发明的查询分组的数据结构可以包括以下项目:层次化命名或前缀,查询约束条件,返回形式,安全参数,其它条件,不重数。其中层次化命名或前缀是根据用户需求和路由节点FIB中的表项确定,它指定了查询所涉及的数据实体所属的层次分类,甚至指定其名字或部分名字(如通过通配符表示)。查询约束条件是指在层次化命名或前缀限定的范围进一步约束返回结果所需要满足的条件,如进一步指定其它属性需要满足的范围值。在一个SQL查询中可以指定在多个表中进行查询,因此在一个查询分组中可以有多个层次化命名或前缀,表明查询结果可以来自多个层次分类中。返回形式指明返回结果是由数据实体的某些属性值组成,或者按一定条件进行分组,或者是某些统计值等。约束条件和返回形式也都可以多于一个,以指明在查询不同表时的约束条件和需要返回结果的形式。安全参数是用于携带用户身份、摘要签名信息等,以判断用户访问的权限、查询分组没有被篡改、伪造等。其它条件如指定数据源的类型或转发跳数的限制,指定是否聚合返回结果,等。不重数可以是随机数或时间戳,以使路由节点或数据服务器能区别收到的新旧查询分组。
如图2所示,为用在本发明中的数据分组的数据结构。本发明的数据分组的数据结构可以包括以下项目:层次化命名或前缀,返回结果,安全参数和时间戳。数据分组中的层次化命名或前缀是与对应查询分组中的层次化命名或前缀一致。返回结果是关系数据库中满足查询条件并按照返回形式要求所返回的内容。返回结果可以以一维、二维数组或链表的形式组织。安全参数是用于鉴定数据提供者身份,并验证返回结果是否被篡改和伪造。时间戳主要记录返回结果的返回时间,路由节点或用户可用于判断结果是否过期。
为了实现上述查询分组在NDN网络中的查询处理,其***实现的主要结构如图3所示。基于该***架构,大致实现思路是:
首先提取出关系数据库中某些数据实体的层次类别(hierarchicaltaxonomy),并拼接上实体数据的名字,然后将此层次命名信息作为路由索引扩散到路由节点中,建立命名数据网络的路由索引(存储于FIB中)。由于CCN/NDN的数据获取请求可以通过使用层次化标识路由到正确的数据源中,则查询请求也可以通过层次化标识将其路由到正确的数据源中。
具体查询请求描述方法是对命名数据获取请求的定义进行适当扩展。其核心思想是:基于FIB和用户请求,从中提取出与之相关的层次标识信息,并携带其它属性值约束条件,形成能在NDN中被路由转发的查询分组(NDNQL),然后通过与路由索引的最长前缀匹配(LPM),将其组播路由到正确的数据源中,路由转发过程中还将NDNQL的主要信息和经过的路由接口记录在PIT表中;当NDNQL到达数据源中后,将其转换为SQL形式的查询,然后进行本地化关系数据的查询,获取满足用户需求的相关元组及属性值。返回结果封装为适合原路返回的数据分组(称之为NDNRS)并利用NDN的PIT表信息将NDNRS原路返回。最后,由客户端从NDNRS中提取出满足用户需求的所有相关元组和属性值等。
查询处理过程与分布式关系数据库查询的处理过程基本相同,主要步骤包括:本地化查询、结果聚合和返回。但要考虑数据的动态变化,且不通过IP地址路由和定位数据,因此具体查询处理算法完全不同。
图4示出了从关系数据库中抽取层次化命名信息的流程。数据库中的表定义了数据对象的各种属性信息,其中包括具有多层类别的数据实体属性信息,而这些层次化类别之间还具有包含性关系。因此,如果能将这些属性的层次类别信息提取出来作为层次标识路由中的索引,则可以实现命名数据网络中的关系数据查询。具体过程是:首先提取出关系数据库中某些数据实体的层次类别(hierarchicaltaxonomy),并拼接上实体数据的名字,然后将此层次命名信息作为路由索引扩散到路由节点中,建立命名数据网络的路由索引(FIB)。围绕层次化标识索引,从用户请求中提取出与之相关的层次化类别信息,使得请求中包含所查数据种类层次甚至数据实体名称,即包含层次标识,并携带其它属性值约束条件,形成能在NDN中被路由转发的查询分组(NDNQL)。
涉及单个概念的查询分组只有一种层次化命名或前缀。其对于基本SQL查询语句中一般只涉及一个表。图5示出了涉及单个概念(表)的SQL查询语句到查询分组的映射实例。例如:根据区域(AreaID)汇总各商品(ProductID)的销售情况的聚合查询。其SQL查询语句为:
Select AreaID,ProductID,Sum(Total)
From CW_Orderdetail
Where ostate=1
Group By AreaID,ProductID With cube
该SQL查询语句可转换为NDN的结构化查询,其主要的3类信息分别为:
当一个结构查询中涉及多个概念(即多个表)时,这多个概念可能具有也可能不具有直接本地(local)关联。当不具有直接本地关联时,则需要将查询请求发送到与这些概念(表)相关的数据源中进行局部查询,然后将各分布的返回结果进行聚合并返回给用户。因此路由转发中需要用到各个概念的层次标识,将查询请求路由到各概念所在的数据源中。图6示出了涉及两个概念(表)的有关连接(join)查询的SQL语句到查询分组的映射实例。如对于如下SQL形式的连接查询(join):
Select customer-name,borrower.loan-number,amount
From borrower,loan
Where borrower.loan-number=loan.loan-number
该SQL查询语句可以转换为适用层次标识路由的结构化形式:
Type | Information |
层次化命名1 | “borrower”的层次标识 |
返回形式1 | customer-name,loan-number |
层次化命名2 | “loan”的层次标识 |
返回形式2 | loan-number,amount |
约束条件(聚合节点) | borrower.loan-number=loan.loan-number |
图7示出了涉及两个概念(表)的有关联合(union)查询的SQL语句到查询分组的映射实例。如对于如下SQL形式的并(union)查询(一般需要在单个节点上进行本地union查询处理和在整个NDN网络中进行全局union查询处理):
(Select customer-name From depositor)union(Selectcustomer-name From borrower)
该SQL查询语句可以转换为适用层次标识路由的结构化形式,为:
Type | Information |
层次化命名1 | “depositor”的层次标识 |
返回形式1 | customer-name |
层次化命名2 | “borrower”的层次标识 |
返回形式2 | customer-name |
约束条件 | 局部或全局的union处理 |
图8示出了涉及两个概念(表)的有关相交(intersect)查询的SQL语句到查询分组的映射实例。如对于如下SQL形式的交(Intersect)查询:(需要声明只在单个节点上进行本地Intersect查询处理或在整个NDN网络中进行全局Intersect查询处理,分别表示为IntersectL或IntersectG)
(Select customer-name From depositor)IntersectG(Selectcustomer-name From borrower)
该SQL查询语句可以转换为适用层次标识路由的结构化形式,为:
Type | Information |
层次化命名1 | “depositor”的层次标识 |
返回形式1 | customer-name |
层次化命名2 | “borrower”的层次标识 |
返回形式2 | customer-name |
约束条件 | IntersectG |
对于涉及两个概念(表)的有关相异(except)查询的SQL语句到查询分组的映射实例,其转换形式同样类似于图8。如对于如下SQL形式的差(Except)查询:(需要声明只在单个节点上进行本地Except查询处理或在整个NDN网络中进行全局Except查询处理,分别表示为ExceptL或ExceptG)
(Select customer-name From depositor)ExceptG(Selectcustomer-name From borrower)
该SQL查询语句可以转换为适用层次标识路由的结构化形式,为:
Type | Information |
层次化命名1 | “depositor”的层次标识 |
返回形式1 | customer-name |
层次化命名2 | “borrower”的层次标识 |
返回形式2 | customer-name |
约束条件 | ExceptG |
图9示出了涉及两个概念(表)的有关嵌套(nested)查询的SQL语句到查询分组的映射实例。如对于如下SQL形式的嵌套查询:
Select CustomerID From Sales.Customer Where TerritoryID=(Select TerritoryID From Sales.SalesPerson Where SalesPersonID=276)
该SQL查询语句可以转换为适用层次标识路由的结构化形式,为:
Type | Information |
层次化命名(外) | “Sales.Customer”的层次标识 |
返回形式(外) | CustomerID |
层次化命名(内) | “Sales.SalesPerson”的层次标识 |
返回形式(内) | TerritoryID |
约束条件(外) | TerritoryID=返回结果(内) |
约束条件(内) | SalesPersonID=276 |
图10示出了单个概念(表)的查询分组的查询处理流程。查询处理过程与分布式关系数据库查询的处理过程基本相同,主要步骤包括:本地化查询、结果聚合和返回。查询分组中的层次化命名或前缀通过与路由索引的最长前缀匹配(LPM),以组播路由到正确的数据源中,路由转发过程中还将NDNQL的主要信息及经过的路由接口记录在PIT表中;然后在数据源中将其转换为SQL形式的查询,完成本地化关系数据的查询,获取满足用户需求的相关元组及属性值。返回结果封装为适合原路返回的数据分组(NDNRS)并利用NDN的PIT表信息将NDNRS原路返回。
涉及单个概念的关系数据查询如投影(如πa1,...,an(R))和选择(如)等操作。对于这类查询,前面已经给出了如何定义其路由因子和约束条件(主要指给出的选择条件或需要满足给定属性的值)。对于这类查询的分布式实现,需要在网络中进行自组织处理,主要包括两个部分,分别是:自组织的路由处理过程和自组织的查询处理过程。
(1)自组织路由处理
为了实现结构化查询的自组织路由处理,我们采用如下步骤:首先将查询分组中的层次标识与FIB的前缀进行最长前缀匹配,然后根据FIB匹配的接口进行转发处理。在每个收到查询分组的路由节点重复上述处理,直到将查询分组转发到各相关数据源中。此外,各数据源节点经过本地查询后获得的查询结果则需要根据查询分组所经过的路径原路返回,或者多个返回结果经过汇聚节点的聚合后再原路返回。
(2)自组织查询处理
自组织查询处理主要包括本地查询处理和返回结果的聚合处理。本地查询处理主要是先在各收到查询的数据源节点将查询分组转换成SQL格式,然后在本地数据库中执行本地查询。
返回结果的聚合处理主要在汇聚节点对关于某个查询的各个返回结果进行聚合。根据返回结果的特点,聚合处理主要分为两类:
一种是属性聚合(垂直聚合):即对于具有一定程度的垂直划分的各返回结果,根据其数据属性进行垂直聚合,但要去掉各元组中重复的属性值;
另一种是元组聚合(水平聚合):即对于各相关数据源中获得满足条件的元组子集,在汇聚节点中对各元组子集进行水平聚合,但要剔除冗余的元组。
图11示出了涉及多个概念(表)的join、union、intersect、except等操作的查询分组处理流程。该类查询处理的主要工作是首先需要将查询分组发送到与这些概念(表)相关的数据源中进行SQL转换并完成局部查询,然后将各分布的返回数据分组进行聚合并返回给用户。因此路由转发中需要用到各个概念的层次标识,将查询分组路由到各概念所在的数据源中。具体对于前述的join、union、intersect、except等复杂查询的分布式处理,如果多个概念分布在同一数据源,则查询分组的处理类似于单个概念的查询处理,不同之处主要是本地查询。如果多个概念分布在不同数据源,则需要考虑具体查询形式的分布式处理方法。下面我们以等值连接方法为例,介绍此类复杂查询的分布式处理一般方法。
等值连接()一般涉及两个概念,不妨设为T和S。则等值连接的结果是在T和S中公共属性名字上值相等的所有元组的组合。例如,从学生表、教师表查找同一老师上课的学生姓名、系名、课程编号及教师姓名:
Select Sname,S.Dname,S.CNO,Tname
From Student AS S,Teacher AS T
Where S.CNO=T.CNO
Order By Sname
对于该查询的分布式处理过程中,首先需要考虑两种情况:
(1)S和T的关系数据在同一源节点:路由可以任意选择一个路由因子进行匹配和转发,本地查询与集中式关系数据库的查询处理类似;
(2)S和T的关系数据在不同源节点。这里主要考虑这种情况的查询处理,主要方法是通过改进的分布式半连接方法。
方法1半连接查询实现方法:
对于并、交和差运算的分布式自组织处理,还要考虑在源节点或汇聚节点将各字句的返回结果进行相应的并、交或差运算。
图12示出了涉及多个概念(表)的嵌套(nested)查询分组的处理流程。如用户发出的查询请求涉及多个概念(表),则在嵌套查询分组中一定存在多个层次化标识或前缀,则具体处理过程为:
(1)设i为最内层查询,将i层查询当作一个查询分组;
(2)判断i层查询涉及的概念个数是否多于一个,如果多于一个,则按涉及多个概念的查询分组处理流程处理该层查询,否则按涉及单个概念的查询分组处理流程处理该层查询;
(3)当收到i层的查询结果,先判断i层是否为最外层查询,如果是则转(5),否则转(4);
(4)根据i层的查询结果,重写i+1层的查询,并将其当作一个查询分组,然后将i自增1,转(2);
(5)将i层的查询结果回送给用户。
SQL语言提供了5种预定义聚集函数,分别是平均值(avg)、最小值(min)、最大值(max)、总和(sum)和计数(count)。在动态分布网络环境下,对于聚集函数的运算我们可以采用递归多次聚集的方法,如图13示出了聚合查询avg的分步聚合计算处理流程。对于avg聚集函数,可以多次在汇聚节点(主要是NDN的路由节点)将局部的平均值运算结果再次进行平均值运算。只是对于平均值运算时要考虑对于经历运算次数不同的局部平均值再次进行平均值运算时,则需要考虑各自的权重(根据包含的原始数据个数来定)。
Claims (5)
1.一种基于层次标识路由的网络化关系数据查询方法,其特征在于,包括以下步骤:
(1)在每个本地关系数据库中识别数据实体之间的包含关系,构造各数据实体的层次化命名,并将每一个层次化的命名或者前缀通告到命名数据网络的各路由节点中的转发信息表中;
(2)针对每一查询请求根据用户查询的数据类别和其它约束条件参照转发信息表中的层次化命名将其转换为由层次化路由因子和查询约束因子组成的查询分组,发送到与客户端连接的一个路由节点中;
(3)每个路由节点对收到的每个查询分组,使用命名数据网络的路由匹配算法将查询分组中的层次化路由因子与转发信息表中的每一项进行匹配和转发,在命名数据网络的请求暂存表中登记从每个接口转发出去的查询分组的信息;
(4)当查询分组的信息到达相关的数据库节点后,将查询分组的信息转换为支持本地关系数据库的SQL查询语句,进行本地查询;
(5)本地查询结果加上原查询请求的层次化路由因子封装成数据分组,然后将其回送至收到对应查询分组的接口上;
(6)各路由节点对收到的数据分组进行缓存、聚合和原路返回。
2.如权利要求1所述的基于层次标识路由的网络化关系数据查询方法,其特征在于,所述查询分组包括以下项目:层次化命名或前缀,查询约束条件,返回形式,其它条件,安全参数,不重数,其中层次化命名或前缀、返回形式可以多于一个。
3.如权利要求1所述的基于层次标识路由的网络化关系数据查询方法,其特征在于,所述数据分组包括以下项目:层次化命名或前缀,返回结果,安全参数和时间戳,其中返回结果可以一维、二维数组或链表的形式组织。
4.如权利要求1所述的基于层次标识路由的网络化关系数据查询方法,其特征在于,所述步骤(4)中的SQL查询语句解构为由层次化路由因子和查询约束因子组成的查询分组。
5.如权利要求1所述的基于层次标识路由的网络化关系数据查询方法,其特征在于,所述步骤(4)中的层次化路由因子与转发信息表中的每一项进行的匹配为最长前缀匹配,将查询分组经过多次路由转发,送到相关本地数据库中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510003869.6A CN104537091B (zh) | 2015-01-06 | 2015-01-06 | 一种基于层次标识路由的网络化关系数据查询方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510003869.6A CN104537091B (zh) | 2015-01-06 | 2015-01-06 | 一种基于层次标识路由的网络化关系数据查询方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104537091A true CN104537091A (zh) | 2015-04-22 |
CN104537091B CN104537091B (zh) | 2018-08-10 |
Family
ID=52852619
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510003869.6A Active CN104537091B (zh) | 2015-01-06 | 2015-01-06 | 一种基于层次标识路由的网络化关系数据查询方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104537091B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104754065A (zh) * | 2015-04-28 | 2015-07-01 | 湖南科技大学 | 基于内容中心网络的动态分布Web资源管理方法及*** |
CN107870978A (zh) * | 2017-09-30 | 2018-04-03 | 上海壹账通金融科技有限公司 | 关系网络拓扑方法及应用服务器 |
CN109247065A (zh) * | 2016-06-10 | 2019-01-18 | 国际商业机器公司 | 启用不同应用的持续流识别器 |
CN110417668A (zh) * | 2019-07-24 | 2019-11-05 | 新华三大数据技术有限公司 | 报文传输方法及网络设备 |
CN110572455A (zh) * | 2019-09-06 | 2019-12-13 | 赛尔网络有限公司 | 资源访问的方法、装置、节点、设备及介质 |
CN110598072A (zh) * | 2019-09-24 | 2019-12-20 | 恩亿科(北京)数据科技有限公司 | 一种特征数据聚合方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120317643A1 (en) * | 2011-06-09 | 2012-12-13 | Samsung Electronics Co., Ltd. | Apparatus and method preventing overflow of pending interest table in name based network system |
CN103873371A (zh) * | 2014-02-21 | 2014-06-18 | 北京邮电大学 | 一种名字路由快速匹配查找方法与装置 |
-
2015
- 2015-01-06 CN CN201510003869.6A patent/CN104537091B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120317643A1 (en) * | 2011-06-09 | 2012-12-13 | Samsung Electronics Co., Ltd. | Apparatus and method preventing overflow of pending interest table in name based network system |
CN103873371A (zh) * | 2014-02-21 | 2014-06-18 | 北京邮电大学 | 一种名字路由快速匹配查找方法与装置 |
Non-Patent Citations (1)
Title |
---|
廖祝华 等: "互联网络中语义媒体查询的关系路由方法", 《软件学报》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104754065A (zh) * | 2015-04-28 | 2015-07-01 | 湖南科技大学 | 基于内容中心网络的动态分布Web资源管理方法及*** |
CN104754065B (zh) * | 2015-04-28 | 2018-01-16 | 湖南科技大学 | 基于内容中心网络的动态分布Web资源管理方法及*** |
CN109247065A (zh) * | 2016-06-10 | 2019-01-18 | 国际商业机器公司 | 启用不同应用的持续流识别器 |
CN109247065B (zh) * | 2016-06-10 | 2021-08-24 | 国际商业机器公司 | 启用不同应用的持续流识别器 |
CN107870978A (zh) * | 2017-09-30 | 2018-04-03 | 上海壹账通金融科技有限公司 | 关系网络拓扑方法及应用服务器 |
CN110417668A (zh) * | 2019-07-24 | 2019-11-05 | 新华三大数据技术有限公司 | 报文传输方法及网络设备 |
CN110417668B (zh) * | 2019-07-24 | 2021-11-02 | 新华三大数据技术有限公司 | 报文传输方法及网络设备 |
CN110572455A (zh) * | 2019-09-06 | 2019-12-13 | 赛尔网络有限公司 | 资源访问的方法、装置、节点、设备及介质 |
CN110572455B (zh) * | 2019-09-06 | 2022-05-13 | 赛尔网络有限公司 | 资源访问的方法、装置、节点、设备及介质 |
CN110598072A (zh) * | 2019-09-24 | 2019-12-20 | 恩亿科(北京)数据科技有限公司 | 一种特征数据聚合方法及装置 |
CN110598072B (zh) * | 2019-09-24 | 2022-03-01 | 恩亿科(北京)数据科技有限公司 | 一种特征数据聚合方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104537091B (zh) | 2018-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104537091A (zh) | 一种基于层次标识路由的网络化关系数据查询方法 | |
CN101436192B (zh) | 用于优化针对垂直存储式数据库的查询的方法和设备 | |
US8166074B2 (en) | Index data structure for a peer-to-peer network | |
CN101873335B (zh) | 一种跨域语义Web服务的分布式搜索方法 | |
CN105930446B (zh) | 一种基于Hadoop分布式技术的电信客户标签生成方法 | |
CN102708130A (zh) | 计算用户微细分以用于要约匹配的可扩展引擎 | |
CN102567932A (zh) | 综合资源管理方法、装置和*** | |
CN103425726A (zh) | 使用业务智能工具访问开放数据 | |
CN104091228A (zh) | 物联网资源管理、注册、查询和语义库管理*** | |
CN104378270A (zh) | 一种组网数据中心***及方法 | |
CN102591960A (zh) | 农业经济电子地图数据服务接口方法 | |
CN103246719B (zh) | 一种基于Web的网络信息资源整合方法 | |
CN101667191A (zh) | 基于p2p的信息共享方法 | |
CN102378407B (zh) | 一种物联网中的对象名字解析***及其解析方法 | |
CN102571427B (zh) | 一种分布式***中cim资源命名及解析方法 | |
Sladić et al. | The use of ontologies in cadastral systems | |
CN105868414A (zh) | 一种聚类分离的分布式索引方法 | |
CN104765763B (zh) | 一种基于概念格的异构空间信息服务分类的语义匹配方法 | |
CN113792068A (zh) | 多层级多专题空间数据组织与检索的方法及装置 | |
CN109947764A (zh) | 一种基于时延构建弹性现场的查询增强***及方法 | |
CN101442466B (zh) | 一种叠加网络及实现方法 | |
CN101813485B (zh) | 基于地理信息数据的电子地图及其导航方法 | |
CN106649181A (zh) | 一种用于钻完井现场同时集成wits数据和witsml数据的方法 | |
CN116467026A (zh) | 一种基于区块链的云桌面数据安全共享、溯源方法和*** | |
CN102929914A (zh) | 一种基于p2p节点调度的移动地图服务搜索方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |