CN102314521B - 一种基于云计算环境的分布并行Skyline查询方法 - Google Patents
一种基于云计算环境的分布并行Skyline查询方法 Download PDFInfo
- Publication number
- CN102314521B CN102314521B CN201110327433A CN201110327433A CN102314521B CN 102314521 B CN102314521 B CN 102314521B CN 201110327433 A CN201110327433 A CN 201110327433A CN 201110327433 A CN201110327433 A CN 201110327433A CN 102314521 B CN102314521 B CN 102314521B
- Authority
- CN
- China
- Prior art keywords
- node
- skyline
- computing
- computing node
- door
- 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.)
- Active
Links
Images
Landscapes
- Multi Processors (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种基于云计算环境的分布并行Skyline查询方法,目的是有效控制节点失效对分布并行Skyline查询处理过程的影响。技术方案是先构建由一个门户节点和N个计算节点组成的云计算环境,门户节点上安装有任务管理程序和结果回收程序,计算节点上安装有查询处理程序和故障处理程序;门户节点执行任务管理程序,向各计算节点转发Skyline查询请求;各计算节点执行查询处理程序,并行进行Skyline查询处理;各计算节点执行故障处理程序,定期对邻居节点进行故障检测,进行故障修复;门户节点执行结果回收程序收集所有计算节点的Skyline集合,将其汇总返回给用户。采用本发明可有效控制节点失效对分布并行Skyline查询处理过程的影响,保证Skyline查询处理的高效性和可靠性、正确性。
Description
技术领域
本发明涉及Skyline查询的分布并行处理方法,尤其是基于云计算环境的高效可靠的分布并行Skyline查询方法。
背景技术
Skyline查询是海量数据管理领域亟待解决的核心问题之一。Skyline查询是指从给定的一个D维的数据对象集合S中选择一个子集,该子集中的任意一个数据对象都不能被S中的任意一个其他数据对象所控制。所谓控制关系是指在D维的数据对象集合S中,如果数据对象p至少在某一维度上优于另一个数据对象q,而且数据对象p在其他维度上都不比数据对象q差(p优于或等于q),那么数据对象p能够控制数据对象q。Skyline查询是目前解决多目标优化问题的典型方法之一,Skyline查询已经成为数据分析和信息提取的重要技术手段,在城市导航、市场分析、环境监控等诸多领域都有着重要应用。
近年来,随着计算机技术、网络技术和通信技术的快速发展,人们获取、存储和传递数据的能力日益增强,数据的规模急剧膨胀,“大数据”作为信息爆炸的产物应运而生。随着数据集规模的不断增大,Skyline查询的数据处理变得更加复杂,对存储资源和计算资源的需求也急剧增长,Skyline查询的处理效率逐渐成为影响数据分析和信息提取效果的关键因素。
随着集群计算、网格计算、P2P计算等网络计算模式的不断发展,分布式并行计算技术已经日趋成熟,并逐渐成为提高海量数据处理效率的有效技术途径之一。云计算是分布计算、并行计算和网格计算的发展,是一种新的分布式并行计算模式。它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和各种软件服务。将云计算技术与海量数据的Skyline查询相结合,可以通过开发查询计算的并行性来提高查询处理效率。
尽管随着技术的进步,各种软硬件资源的可靠性得到了显著提高,但是,随着云计算的资源规模的不断扩大,资源的失效概率明显上升。此外,为了有效降低维护成本,失效资源不是及时更新,而是成批维护的。在云计算环境下,资源失效是一种常态行为。
现有的Skyline查询方法主要关注查询处理过程及其查询结果的正确性,无法及时处理节点失效情况,无法有效兼顾Skyline查询处理的高效性和可靠性。因此,如何针对海量数据及其Skyline查询的本质特点,结合云计算环境的资源特点,设计高效可靠的分布并行Skyline查询方法,保证Skyline查询处理的效率和查询结果的正确性,已经成为并行与分布处理领域的热点研究问题。
发明内容
本发明要解决的技术问题是:针对现有的Skyline查询方法无法有效处理查询处理过程中的节点失效的问题,提出一种基于云计算环境的分布并行Skyline查询方法,有效控制节点失效对分布并行Skyline查询处理过程的影响,保证Skyline查询处理的高效性和可靠性、以及查询结果的正确性。
本发明技术方案包括以下步骤:
第一步,构建一个云计算环境,它由多个节点构成,每个节点都是一台可独立运行的计算机,各节点通过网络设备互连。
云计算环境中的节点分为两类:门户节点和计算节点。云计算环境包括一个门户节点,负责与用户交互,接收用户提交的查询请求并转发给计算节点,接收计算节点的查询处理结果并返回给用户。云计算环境包括N个计算节点(N为正整数),它们负责存储原始数据集并执行查询处理任务,并向门户节点返回查询处理结果。为了提高可靠性,同时降低系统成本,采用互为备份方式对计算节点进行容错处理,以避免计算节点失效对Skyline查询处理的影响。互为备份方式是指每个计算节点是其他所有计算节点的备份节点,其他所有计算节点上的原始数据集的副本都存储在该计算节点上;每个计算节点有N-1个备份节点,计算节点上的原始数据集的副本存储在其N-1个备份节点上。门户节点和计算节点上均安装有操作系统、TCP/IP协议软件,配置了网络环境。
门户节点上安装有任务管理程序和结果回收程序。任务管理程序接收用户提交的Skyline查询请求,向各计算节点转发Skyline查询请求。结果回收程序负责接收计算节点的查询处理结果并返回给用户。计算节点上安装有查询处理程序和故障处理程序。查询处理程序负责接收来自门户节点的Skyline查询请求,并对计算节点上存储的原始数据集进行Skyline查询处理。故障处理程序负责定期对邻居节点进行故障检测,并进行故障修复。设计算节点的编号为i(i=1,2,…,N),当1≤i≤N-1时,计算节点i的邻居节点为计算节点i+1;当i=N时,计算节点i的邻居节点为计算节点1。
第二步,门户节点执行任务管理程序,向各计算节点转发Skyline查询请求;各计算节点执行查询处理程序,接收来自门户节点的Skyline查询请求,并行进行Skyline查询处理;计算节点执行故障处理程序,定期对邻居节点进行故障检测,并进行故障修复。
2.1门户节点的任务管理程序接收用户提交的Skyline查询请求;
2.2门户节点的任务管理程序向所有计算节点转发Skyline查询请求;
2.3每个计算节点的查询处理程序接收来自门户节点的Skyline查询请求,根据接收的Skyline查询请求对各自存储的原始数据集进行Skyline查询处理,具体步骤如下:
2.3.1查询处理程序接收来自门户节点的Skyline查询请求;
2.3.3查询处理程序对本地(即该查询处理程序所属计算节点)原始数据集Set中的所有数据对象逐一进行数据对象之间的控制关系判断,将不被Set中任意一个其他数据对象所控制的数据对象放到Skyline集合LS中,即,判断本地原始数据集Set中的每个数据对象DO与Set中的所有其他数据对象之间的控制关系,如果DO不被Set中任意一个其他数据对象所控制,则将DO放入计算节点的Skyline集合LS中,即,LS=LS+{DO};
2.3.4查询处理程序将Skyline集合LS发送给其他所有计算节点;
2.3.5查询处理程序接收来自其他所有计算节点的Skyline集合,并将其合并为LS’;
2.3.6查询处理程序对Skyline集合LS中的所有数据对象逐一进行筛选,具体方法是:
判断LS中的每个数据对象SDO与来自其他所有计算节点的LS’中的所有数据对象之间的控制关系,如果数据对象SDO被LS’中任意一个数据对象所控制,则将数据对象SDO从LS中删除,即,LS=LS-{SDO};
2.3.7查询处理程序将LS返回给门户节点。
2.4每个计算节点的故障处理程序按故障检测的周期T(T通常取100s,T应根据系统的扩展性和维护开销进行动态调整)定期对邻居节点进行故障检测,并进行故障修复。具体步骤如下:
2.4.1故障处理程序按周期T定期向邻居节点发送探测消息;
2.4.2邻居节点接收探测消息,并向计算节点返回应答消息;
2.4.3故障处理程序检查t(t通常取10s)时间内是否收到邻居节点的应答消息;
2.4.4故障处理程序对未接收到应答消息的邻居节点进行如下故障修复处理:
2.4.4.1计算节点替代其邻居节点进行Skyline查询处理,并将最终的Skyline集合LS返回给门户节点;
2.4.4.2计算节点替代其邻居节点进行后续的定期故障检测和故障修复。
第三步,门户节点的结果回收程序收集所有计算节点的Skyline集合LS,并将其汇总返回给用户。
与现有技术相比,本发明具有以下技术优点:
1.本发明2.3.3步、2.3.4步、2.3.5步和2.3.6步通过各计算节点对各自的原始数据集进行Skyline查询处理得到Skyline集合LS,并利用接收到的来自其他所有计算节点的Skyline集合LS’对Skyline集合LS进行筛选得到最终的Skyline集合,充分利用了计算节点的数据处理能力,充分开发了Skyline查询处理的并行性,实现了Skyline查询的高效分布并行处理。
2.本发明2.4.1步、2.4.2步和2.4.3步通过计算节点定期向邻居节点发送探测消息,对计算节点进行故障检测,可及时发现和准确定位故障,为进行故障恢复提供有效信息。
3.本发明2.4.4步当计算节点发现其邻居节点失效后,及时替代其邻居节点完成Skyline查询处理,快速实现任务迁移,有效控制节点失效对分布并行Skyline查询处理过程的影响,保证查询结果的正确性;无需专门配置备份节点,减少系统冗余,低成本实现Skyline查询处理的可靠性。
附图说明
图1是本发明第一步构建的云计算环境的物理结构图。
图2是本发明云计算环境的软件部署图。
图3是本发明总流程图。
图4是本发明第二步门户节点执行任务管理程序、各计算节点执行查询处理程序和故障处理程序的流程图。
图5是本发明2.4步计算节点执行故障处理程序定期对邻居节点进行故障检测并进行故障修复的流程图。
具体实施方式
图1是本发明第一步构建的云计算环境的物理结构图。云计算环境的节点由门户节点和计算节点组成。门户节点和计算节点均是包含处理器、存储器、磁盘和网络接口的计算机。门户节点和计算节点之间通过互连网络相连。
图2是本发明云计算环境的软件部署图。门户节点上安装有操作系统、TCP/IP网络软件、任务管理程序和结果回收程序。其中前两者是通用软件,从公开发行的软件包中获得;后两者是本发明的专用软件。计算节点上安装有操作系统、TCP/IP网络软件、查询处理程序和故障处理程序。其中前两者是通用软件,从公开发行的软件包中获得;后两者是本发明的专用软件。
图3是本发明总流程图。具体流程如下:
第一步,构建一个云计算环境,它由多个节点构成,每个节点都是一台可独立运行的计算机,各节点通过网络设备互连。
第二步,门户节点执行任务管理程序,向各计算节点转发Skyline查询请求;各计算节点执行查询处理程序,接收来自门户节点的Skyline查询请求,并行进行Skyline查询处理;计算节点执行故障处理程序,定期对邻居节点进行故障检测,并进行故障修复。
第三步,门户节点的结果回收程序收集所有计算节点的Skyline集合LS,并将其汇总返回给用户。
图4是本发明第二步门户节点执行任务管理程序、各计算节点执行查询处理程序和故障处理程序的流程图。具体流程如下:
2.1门户节点的任务管理程序接收用户提交的Skyline查询请求;
2.2门户节点的任务管理程序向所有计算节点转发Skyline查询请求;
2.3每个计算节点的查询处理程序接收来自门户节点的Skyline查询请求,根据接收的Skyline查询请求对各自存储的原始数据集进行Skyline查询处理,具体步骤如下:
2.3.1查询处理程序接收来自门户节点的Skyline查询请求;
2.3.3查询处理程序对本地(即该查询处理程序所属计算节点)原始数据集Set中的所有数据对象逐一进行数据对象之间的控制关系判断,得到Skyline集合LS;
2.3.4查询处理程序将Skyline集合LS发送给其他所有计算节点;
2.3.5查询处理程序接收来自其他所有计算节点的Skyline集合,并将其合并为LS’;
2.3.6查询处理程序对Skyline集合LS中的所有数据对象逐一进行筛选,得到最终的Skyline集合LS;
2.3.7查询处理程序将Skyline集合LS返回给门户节点。
2.4每个计算节点的故障处理程序按故障检测的周期T定期对邻居节点进行故障检测,并进行故障修复。
图5是本发明2.4步计算节点执行故障处理程序定期对邻居节点进行故障检测并进行故障修复的流程图。具体流程如下:
2.4.1故障处理程序按周期T定期向邻居节点发送探测消息;
2.4.2邻居节点接收探测消息,并向计算节点返回应答消息;
2.4.3故障处理程序检查t时间内是否收到邻居节点的应答消息;
2.4.4故障处理程序对未接收到应答消息的邻居节点进行如下故障修复处理:
2.4.4.1计算节点替代其邻居节点进行Skyline查询处理,并将最终的Skyline集合LS返回给门户节点;
2.4.4.2计算节点替代其邻居节点进行后续的定期故障检测和故障修复。
Claims (2)
1.一种基于云计算环境的分布并行Skyline查询方法,其特征在于包括以下步骤:
第一步,构建一个云计算环境,它由多个节点构成,每个节点都是一台可独立运行的计算机,各节点通过网络设备互连;节点包括一个门户节点和N个计算节点,N为正整数;门户节点负责与用户交互,接收用户提交的查询请求并转发给计算节点,接收计算节点的查询处理结果并返回给用户;计算节点负责存储原始数据集并执行查询处理任务,并向门户节点返回查询处理结果;门户节点和计算节点上均安装有操作系统、TCP/IP协议软件,配置了网络环境;门户节点上安装有任务管理程序和结果回收程序,任务管理程序接收用户提交的Skyline查询请求,向各计算节点转发Skyline查询请求,结果回收程序负责接收计算节点的查询处理结果并返回给用户;计算节点上安装有查询处理程序和故障处理程序,查询处理程序负责接收来自门户节点的Skyline查询请求,并对计算节点上存储的原始数据集进行Skyline查询处理,故障处理程序负责定期对邻居节点进行故障检测,并进行故障修复;计算节点的编号为i,i=1,2,…,N,当1≤i≤N-1时,计算节点i的邻居节点为计算节点i+1;当i=N时,计算节点i的邻居节点为计算节点1;
第二步,门户节点执行任务管理程序,向各计算节点转发Skyline查询请求;各计算节点执行查询处理程序,接收来自门户节点的Skyline查询请求,并行进行Skyline查询处理;计算节点执行故障处理程序,定期对邻居节点进行故障检测,并进行故障修复:
2.1门户节点的任务管理程序接收用户提交的Skyline查询请求;
2.2门户节点的任务管理程序向所有计算节点转发Skyline查询请求;
2.3每个计算节点的查询处理程序接收来自门户节点的Skyline查询请求,根据接收的Skyline查询请求对各自存储的原始数据集进行Skyline查询处理,具体步骤如下:
2.3.1查询处理程序接收来自门户节点的Skyline查询请求;
2.3.3查询处理程序对本地原始数据集Set中的所有数据对象逐一进行数据对象之间的控制关系判断,将不被Set中任意一个其他数据对象所控制的数据对象放到Skyline集合LS中,即,判断本地原始数据集Set中的每个数据对象DO与Set中的所有其他数据对象之间的控制关系,如果DO不被Set中任意一个其他数据对象所控制,则将DO放入计算节点的Skyline集合LS中,即,LS=LS+{DO};
2.3.4查询处理程序将Skyline集合LS发送给其他所有计算节点;
2.3.5查询处理程序接收来自其他所有计算节点的Skyline集合,并将其合并为LS’;
2.3.6查询处理程序对Skyline集合LS中的所有数据对象逐一进行筛选,方法是判断LS中的每个数据对象SDO与来自其他所有计算节点的LS’中的所有数据对象之间的控制关系,如果数据对象SDO被LS’中任意一个数据对象所控制,则将数据对象SDO从LS中删除,即,LS=LS-{SDO};
2.3.7查询处理程序将LS返回给门户节点;
2.4每个计算节点的故障处理程序按故障检测的周期T定期对邻居节点进行故障检测,并进行故障修复,T取100s,具体步骤如下:
2.4.1故障处理程序按周期T定期向邻居节点发送探测消息;
2.4.2邻居节点接收探测消息,并向计算节点返回应答消息;
2.4.3故障处理程序检查t时间内是否收到邻居节点的应答消息,t取10s;
2.4.4故障处理程序对未接收到应答消息的邻居节点进行如下故障修复处理:
2.4.4.1计算节点替代其邻居节点进行Skyline查询处理,并将最终的Skyline集合LS返回给门户节点;
2.4.4.2计算节点替代其邻居节点进行后续的定期故障检测和故障修复;
第三步,门户节点的结果回收程序收集所有计算节点的Skyline集合LS,并将其汇总返回给用户。
2.如权利要求1所述的一种基于云计算环境的分布并行Skyline查询方法,其特征在于采用互为备份方式对计算节点进行容错处理,即每个计算节点是其他所有计算节点的备份节点,其他所有计算节点上的原始数据集的副本都存储在该计算节点上,每个计算节点有N-1个备份节点,计算节点上的原始数据集的副本存储在其N-1个备份节点上。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110327433A CN102314521B (zh) | 2011-10-25 | 2011-10-25 | 一种基于云计算环境的分布并行Skyline查询方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110327433A CN102314521B (zh) | 2011-10-25 | 2011-10-25 | 一种基于云计算环境的分布并行Skyline查询方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102314521A CN102314521A (zh) | 2012-01-11 |
CN102314521B true CN102314521B (zh) | 2012-10-03 |
Family
ID=45427686
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110327433A Active CN102314521B (zh) | 2011-10-25 | 2011-10-25 | 一种基于云计算环境的分布并行Skyline查询方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102314521B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103150327A (zh) * | 2012-12-21 | 2013-06-12 | 北京大学软件与微电子学院无锡产学研合作教育基地 | SaaS环境下基于多租户数据库的Skyline查询方法 |
CN103207915B (zh) * | 2013-04-18 | 2016-12-28 | 苏州大学 | 一种反轮廓查询方法、装置及系统 |
CN104639590B (zh) * | 2013-11-13 | 2017-11-07 | 同济大学 | 一种终端获取云服务的方法 |
CN104735166B (zh) * | 2015-04-13 | 2018-05-01 | 李金忠 | 基于MapReduce和多目标模拟退火的Skyline服务选择方法 |
CN104809210B (zh) * | 2015-04-28 | 2017-12-26 | 东南大学 | 一种基于分布式计算框架下海量数据加权top‑k查询方法 |
CN105607943A (zh) * | 2015-12-18 | 2016-05-25 | 浪潮集团有限公司 | 一种云环境下虚拟机动态部署机制 |
CN105608206A (zh) * | 2015-12-25 | 2016-05-25 | 天津理工大学 | 一种面向数据广播的位置相关skyline查询处理方法 |
CN109635048B (zh) * | 2018-10-29 | 2021-03-09 | 南京航空航天大学 | 基于道路网的多移动用户动态skyline查询方法 |
CN114095964B (zh) * | 2021-11-19 | 2023-05-26 | 中国联合网络通信集团有限公司 | 一种故障恢复方法、装置及计算机可读存储介质 |
-
2011
- 2011-10-25 CN CN201110327433A patent/CN102314521B/zh active Active
Non-Patent Citations (4)
Title |
---|
Skyline计算研究综述;朱琳等;《计算机工程与应用》;20080221(第6期);160-165 * |
云计算环境下的容错并行skyline查询算法研究;王媛等;《计算机科学与探索》;20110915(第9期);804-814 * |
朱琳等.Skyline计算研究综述.《计算机工程与应用》.2008,(第6期),160-165. |
王媛等.云计算环境下的容错并行skyline查询算法研究.《计算机科学与探索》.2011,(第9期),804-814. |
Also Published As
Publication number | Publication date |
---|---|
CN102314521A (zh) | 2012-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102314521B (zh) | 一种基于云计算环境的分布并行Skyline查询方法 | |
CN102254016B (zh) | 一种面向云计算环境的容错并行Skyline查询方法 | |
CN102323957B (zh) | 基于垂直划分模式的分布并行Skyline查询方法 | |
WO2020062211A1 (zh) | 一种融合区块链技术拟态存储防篡改日志的方法及系统 | |
CN103761309A (zh) | 一种运营数据处理方法及系统 | |
CN102694868B (zh) | 一种集群系统实现及任务动态分配方法 | |
WO2016113153A1 (en) | Distributed map reduce network | |
CN103970851A (zh) | 海量凭证数据直接出具大型企业集团总部财务报表的方法 | |
CN102170474A (zh) | 一种云计算网络中虚拟资源动态调度方法及系统 | |
CN101989283A (zh) | 一种数据库性能的监控方法和装置 | |
CN102571499A (zh) | 一种云端数据库服务器集群的监控方法 | |
CN104102543A (zh) | 一种云计算环境中负载调整的方法和装置 | |
CN104156296A (zh) | 智能监控大规模数据中心集群计算节点的系统和方法 | |
Narayanan et al. | Towards a leaner geo-distributed cloud infrastructure | |
CN103067297A (zh) | 一种基于资源消耗预测的动态负载均衡方法及装置 | |
KR20150030332A (ko) | 데이터 분산 처리 시스템 및 이의 동작 방법 | |
CN103678051B (zh) | 一种集群数据处理系统中的在线故障容错方法 | |
CN103490938A (zh) | 一种基于分层的云服务组合失效的恢复系统和方法 | |
CN103793295A (zh) | 用于灾难恢复虚拟化的模拟引擎的系统和方法 | |
CN102929613A (zh) | 操作系统的调优装置和方法 | |
CN107864195A (zh) | 一种用于建筑中的边缘服务器及其工作方法 | |
CN101334744B (zh) | 一种检测多处理器系统故障的方法、系统和装置 | |
CN1801131A (zh) | 火电厂实时数据库系统的设置方法 | |
CN115733762A (zh) | 具有大数据分析能力的监控系统 | |
Chen et al. | On failure recoverability of client-server applications in mobile wireless environments |
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 |