CN101568911B - 群对群计算的方法及系统 - Google Patents

群对群计算的方法及系统 Download PDF

Info

Publication number
CN101568911B
CN101568911B CN2007800425705A CN200780042570A CN101568911B CN 101568911 B CN101568911 B CN 101568911B CN 2007800425705 A CN2007800425705 A CN 2007800425705A CN 200780042570 A CN200780042570 A CN 200780042570A CN 101568911 B CN101568911 B CN 101568911B
Authority
CN
China
Prior art keywords
group
node
search
task
content
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
Application number
CN2007800425705A
Other languages
English (en)
Other versions
CN101568911A (zh
Inventor
张永敏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Institute of Information Technology
Original Assignee
张永敏
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 张永敏 filed Critical 张永敏
Priority to CN2007800425705A priority Critical patent/CN101568911B/zh
Publication of CN101568911A publication Critical patent/CN101568911A/zh
Application granted granted Critical
Publication of CN101568911B publication Critical patent/CN101568911B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • H04L67/108Resource delivery mechanisms characterised by resources being split in blocks or fragments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • H04L67/1048Departure or maintenance mechanisms

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

一种群对群(G2G)计算的方法及系统,一种基于门户网站的G2G计算服务系统、以及一种基于G2G计算的G2G搜索服务系统。G2G计算是一种基于G2G网络的分布式计算,以群为单位承接计算任务,由群所组成且涉及群与群关系的网络称为G2G网络,群是一些具有相同属性节点的聚合。G2G计算定义了4种基本运算:传递(Transfer),交换(Exchange),节点处理(Node-process)和变形(Transmutation)。

Description

群对群计算的方法及系统
【技术领域】
本发明涉及计算机分布式计算方法,尤其涉及一种基于群对群网络的计算方法和系统。
【背景技术】
分布式计算是一门计算机科学,它研究如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分分配给许多计算机进行处理,最后把这些计算结果综合起来得到最终的结果。
其中,共享稀有资源和平衡负载是计算机分布式计算的核心思想之一,分布式资源的利用率是一个主要目标。分布式计算多数是在Internet上实施的,网络通信便成了其中一种稀有资源,而想在Internet广泛分布的节点计算机群取得平衡负载是非常因难的。
现在最有名的分布式计算可以算得上是对等计算(P2PComputing)和网格计算(Grid Computing)。在这两种分布式计算中Foster指出(参考文献Foster,I.and Iamnitchi,A.On death,taxes,and the convergence of peer-to-peer and grid computing.In 2nd International Workshopon Peer-to-Peer System s(IPTPS’03),Feb 2003):研究的问题都是虚拟社区中共享资源的组织;采用的方法都是构建覆盖网络;网格计算建立了体系结构,但没有解决结点失效问题:对等计算解决了失效问题,但没有建立体系结构。
对等计算没有建立体系结构是因为P2P系统缺少集中管理点,网格环境通常都有某种形式的集中管理和安全性(例如,资源管理和工作负载调度)。另一方面,P2P系统的可扩展性通常都比网格计算系统好,这是因为在P2P系统中,资源更具有动态性,资源出现和消失的变化比网格中更快。对等计算和网格计算的互补优点也许使两者逐渐融合,最终会殊途同归。但并不能阻止我们寻找新的利用各种优点的方法,寻找新的分布式计算方法。
【发明内容】
本发明的目的是解决现有技术中的问题,提供一种新的分布式计算方法和系统,即群对群(G2G,group-to-group)计算方法和系统,该方法和系统将对等计算和网格计算的优点集中起来,同时具有易扩展性和灵活的体系结构,G2G计算方法具有精确控制、高效率和灵活的特点。
为解决上述技术问题,本发明提供一种新的分布式计算方法:群对群(G2G)计算方法,首先说明几个概念:
计算机网络:是指将地理位置不同,并具有独立功能的多个计算机系统通过通信设备和线路连接起来,以功能完善的网络软件实现网络中资源共事的系统。网络中的具有计算功能的处理单元(如计算机,通信设备等等)称为节点。
群:是一些具有相同属性节点的聚合。(非空的)群具有一个或多个节点成员。负责内容传送的群叫传递群,接收由其他群传送内容的群叫接收群。
内容,任务,网络速率,地域,距离,延时,节点标识,稳定性(在线时间、丢包率),内容开始接收位置都可以作为群的属性。但不限于此,任何跟任务,行为,个体的差异,标识有关的属性也可以作为群的属性。属性是可以多选的,把预先设定不再细分的属性称为基本属性,而由两个基本属性以上组合的属性称为组合属性。
由群所组成的且涉及群与群关系的网络称为群对群网络,基于群对群网络的分布式计算称为群对群计算。
群具有多节点特征,为此,用群对群网络传输来替代多对多网络传输。多对多网络传输能大大提高效率,但实现起来却非常困难。用“群对群”替代“多对多”,正是尝试解决问题的开始,原来的“多”是任意或者是无组织的,而群则可以围绕着属性来建立,是一个有组织的“多”,从任意的“多”转变为有规则的“群”是有效的方法。
在这里,名称不用群计算,而是用G2G计算,是为了强调群内计算和群与群之间的协作调度与处理具有同等的重要性。
G2G传输是G2G计算的基础,我们来看G2G传输是如何工作的,有:
G2G传输原理:将所需传输的内容分成多个块,为参与传输内容的多个节点分成多个群,由传递群的部分或全部的成员参与所述的内容块分配,所述的成员将分配的内容块分别传输给需要得到内容的接收群的部分或全部成员,接收群的成员将从所述的节点发送来的内容块再次交换到群内的其它成员。
从G2G传输原理中,得出G2G传输有群间传输和群内传输两种,为了区别不同的传输,引用概念:
传递(Transfer);一个传递群将内容传输到另一个接收群。具体地,将所需传输的内容分成多个块,由传递群的部分或全部的成员参与所述的内容块分配,所述的成员将分配的内容块分别传输给需要得到内容的接收群的部分或全部成员。
交换(Exchange):在一个群内,成员与其它成员相互之间传输内容。具体地,接收群的成员将从传递群所传送来的内容块再次交换到群内的其它成员。一些属于节点但需要向其它节点公开的数据,也可以通过Exchange向其它节点传送。
所述的内容包括数据、程序和信息(例如,执行和查询命令)。
交换是群内传输,在属性相同成员之间进行,应该具有较为宽松的网络通信环境;而传递是群对群之间传输,有可能成为传输瓶颈问题。所以,在G2G网络传输中,应该充分考虑交换和传递之间的差别。
图2是G2G传输示意图,箭头所指,是从传递群到接收群,多角型表示一个群以及群内的交换,椭圆型表示传递,传递是一个多对多(i*j)连接。i是传递群参与传递的成员数;j是接收群参与接收传递内容的成员数;假定传递群的成员总数是M,接收群的成员总数是N,则i≤M,j≤N。
传递的多对多(i*j)连接的组合数是:V=2M×2N
上述组合数表明了传递的连接可以是任意的,则可以从任意的连接中选择较优的方案,而因为连接的组合数是巨大的,寻找最优的方案是困难的。所以,多对多连接是高效率的,但难以实现,好在有G2G传输原理。
交换并非是必要的,没有交换的接收群的成员接收数据全部依赖传递群的传递。如果有群内交换,便称G2G传输为有交换的G2G传输,来看看群内是如何交换的(见图3)。
图3是一个显示群内如何交换的G2G传输示意图,某一个传递群可能会有一个或多个节点,将所分配的内容传送到接收群,接收群接收到内容后,也可以作为一个新的传递群。经传递后交换,一个内容流可以变成了N个内容流,也就是说,交换可以具有放大功效。
上述的交换只是指对接收到的内容的交换,而不包含群内节点之间的私有信息相互传送。通常一个群拥有一个唯一的标识符,群内全部或者大部分成员节点通常都拥有群的状态信息,所以,群内节点之间的信息相互传送是非常容易的,我们称这种传送为私有信息传送。容易的私有信息传送是G2G计算的固有特性。
为了更好地实施G2G计算,本发明的群对群计算方法包括以下4种基本运算:
1,交换(Exchange);
2,传递(Transfer);
3,节点处理(Node-process):节点对任务的处理。是节点关于G2G计算的具体作业。节点处理可以完成群对成员节点所指派的任务,包括处理本节点对所接收信息的使用,例如,对信息归档或者把信息呈现给用户。通常情况下,Node-process运算有两种安排方式:一种是由作业调度所安排的作业;另一种是用户所设定的作业,例如,用户选择所观看的视频节目;作业程序可以由作业调度指定传送,也可以是节点的本地程序资源。
4,变形(Transmutation):根据接收到的信息进行处理而得出新的信息。根据各节点Node-process计算的结果,经Transmutation运算即为任务的计算结果。
如图2和图3所示,虽然信息可以继续传递到下一群,但是,有些接收群可能需要是一些经过加工的信息,例如,接收群需要的是将源视频内容按“快进”加工后的视频内容,传递群没有必要把整个源视频内容传送给接收群,而只需要传送经加工后的视频内容(往往会大幅度减少传输量)。这种加工就是变形运算。
有了上述的4种基本运算,就容易搭建我们所需的G2G计算。其中一个例子是所谓的P2P的IPTV(Internet Protocol TV):由具有内容源的一台或多台服务器组成的传递群,将内容传递(Transfer)给需要内容的接收群,接收群用交换(Exchange)来扩大用户规模,同时,某些既做接收,又做传递的群,可以把内容继续传递到下一群,某些群还可以把内容变形(Transmutation),然后传递到下一群,最后,节点通过节点处理(Node-process)来观看视频内容。
IPTV系统中的变形并不限于对接收信息的简单处理,还可以是一种总结,例如,返回群内用户对视频内容的满意程度,也可能是投票或者是投票率。更多地,变形与接收信息和各个节点处理有关,Transmutation的函数模型是:
Transmutation(R,C,{pi|pi∈Node-process})
其中,R是请求入口参数,C是接收内容,pi是节点i的节点处理。
当然,G2G计算的应用并不只限用于IPTV,G2G计算的应用可以是非常广泛的。例如,分布式存储系统,可以将需要存储的内容Transfer到目的节点,或许还需Exchange和Node-process,然后节点将各自的内容保存;当需要提取内容时,Node-process和Transmutation合力取得所需的内容,然后节点将内容传送给指定的用户。
从上述的例子可以看到,节点处理专注于个体处理,每个节点可以有不同的节点处理,节点处理也可以是多方面的,例如IPTV的节点处理可以是一个媒体播放器,还可以是个人视频记录器(PVR)。同样,不同的G2G计算系统的节点处理也是不同的,例如,分布式存储系统的节点处理涉及的是存储,检索等等。
Transmutation运算的结果可以是数据集。Transmutation运算可以在传输之前进行,即各个节点执行Transmutation运算其中的一部分;也可以将Node-process的结果或状态返回到指定的群或节点之后才进行Transmutation运算。
在节点执行部分的Transmutation运算或者需要传送的Node-Process运算的结果,各节点可以根据预先设定的方法,例如,立即传送或者等待命令传送,异步或者同步等方法,将已计算好的结果部分,传送给输出群或成为新的内容传送给指定的下一个(计算)群。无论传送Transmutation运算的结果或者Node-process运算的结果,其传输方式的方式可以采用Transfer和Exchange。
变形关注于群体的处理,通过Transfer传递到输出群,也可以传递到下一群,这点可以构造流水式的分布式计算网络:多个Node-process各自处理相应的计算,Transmutation则集中群的阶段结果,然后Transfer到下一群,以供下一级计算需要。其中,Transmutation的输出可以是异步和分散的,即Node-process处理好的数据可以按预定的策略传递到接收群所指的部分或全部的成员。Transmutation也可以是一组学习程序,使G2G计算成为一个学习网络。
Transmutation运算小结是:
1、Transmutation运算是将内容变形(例如,摘要,片断,再次加工)或取得内容相关的信息;
2、Transmuttion运算是群根据输入的内容(数据)和各节点Node-process运算的结果。
3、Transmutation运算的结果可以是数据集,各节点可以自行将已计算好的结果部分,传送给输出群或成为新的内容传送给指定的下一个(计算)群。
当IPTV的接收群的成员数过于庞大时,可以将这些节点分成多个接收群,传递群同时向多个接收群传递内容,这灵活的传输方法得益于G2G的分群。
G2G的分群可以没有任何限制,只要遵守按属性分群就行,分群甚至是可以重复的,例如,相邻的三位同学,一起读过相同的小学和中学,这三位同学可以组成相邻的小学同学群G1和相邻的中学同学群G2。G1和G2的成员集合是相同,差别在于某项属性不同。分群是可以重复。我们注意到寻找最优组合是非常困难或者是不可能的。为此,需要引入适当的条件约束,采用一些适用于G2G计算的有效和灵活的分群规则:
A1.第一优先,任务优先:不同任务建立不同的群。
B1.第二优先,任务运行状态优先:有些任务需要长时间来完成,节点在完成的过程也许会出现中断,用户再次加入或者调整时,需要按其任务完成的状况来分群。
C1.第三优先,其他属性优先,包括(并不限于):
C11.网络速度优先:很多应用中,网络速度是一个非常重要的属性。
C12.资源属性优先:有部分G2G计算需要明确知道节点的CPU处理能力,存储容量等各种资源情况,并以此来分群;
C13.稳定性优先:根据节点以往的网络连接的稳定性(包括在线时间、丢包率等等)来分群;
C14.地域优先:根据IP地址判断节点所处的地域,优先选择同一地域的节点加入同一群;
C15.延时或距离优先:距离通常也是用到达时间来衡量;
C16.节点标识属性相同优先:例如,根据DHT(分布式哈西表)赋予标识相邻的节点分为同一群。
D1.按照上述A1、B1和C1策略分群时,群的成员数不能大于一个系统设定的值,有需要时建立一个新的群,可以存在多个相同属性的群。
上述的A1、B1其实也是一种属性划分。可以选择上述的一个或者多个原则。
D1原则可以使得构造一个弹性的、负载均衡和易于扩展的系统。
为了满足某些计算类型,在不改变原有群的情况下,一个群的成员可以分成多个群,这些群称为子群。
G2G计算的另一个优势是,一些有相同属性或者相同任务的节点可以安排在同一群,具有群内解决问题的优势:有更多的群内成员相关信息,可以私有信息传送,而交换也是在群内完成的。
类似于程序中的进程,群内各节点的Node-process是可以相互通信的。以这为基础,一个数据集合上的计算任务就可以被Node-process并发执行。这些Node-process在同样存在运行、阻塞、就绪三种状态,以达到多个节点的Node-process协作处理一个任务。
最后,G2G计算得益于群与群之间的联系是多对多(i*j连接)方式。相对于超级路由或者超级节点,G2G的连接方式的效率明显比较高。
如何想了解一个节点,就必颈有这个节点信息。群会有一些关于节点,任务的信息,如果有多个群,为了区别,也可以有与群相关的标记信息,这些信息,称之为群的信息。如果无需查找每一个节点,而只需从一张数据表就可以知道群的相关信息,我们称此群为信息型的群。所述的数据表可以是一步得到,例如,控制数据集是保存在每一个节点或者是保存在一个管理服务器:或者是较少步骤得到,例如,log(N)以内。
并非所有的群都是信息型的,例如,一个广播型的网络,就无需知道接收群的具体信息。也有一些群是未能建立或者是不能建立群的信息,例如,一个地区所有节点所组成的群。非信息型的群一般是通过发现节点来取得相关信息。
上述数据表一步得到是指数据表保存在每一个节点或者是保存在一个管理服务器,通过一次取数据的操作就可以得到数据表。数据表以较少步骤得到是指群内有一个层次结构,数据表分成若干子表,存在若干子群里,将若干子群的数据表齐集便成了群的信息数据表。
为了区别所传输的信息(内容),又称反映群信息的数据表为控制数据集。有信息的群更具有操作性,我们主要关注的也是信息型的群。为了方便,所讨论群如非特别指出的群,都是信息型的群。
事实上,群的很多操作都是围绕着控制数据集来进行的,例如分群或者状态的变化,都反映到控制数据集。控制数据集包括群的标记,属性,策略,任务,状态以及各节点的资源、属性、相互通信用的必要数据、节点任务、传输状态和任务状态中的一种或一种以上的组合。图4是一个控制数据集应用的例子,用户加入所带来的通讯必要数据,分群的信息和任务信息等等都加到控制数据集,其它的用户退出,通讯状态变化,任务状态变化,也应该及时反映在控制数据集。
有了群的信息(控制数据集),就很容易实现G2G计算:支持分群及群的管理;支持G2G传输,如传输调度和拥塞控制;支持作业(负载)调度。
作业调度(job scheduling)对于分布式计算来说非常重要。调度程序最终要要负责将任务放到各节点的资源上执行,全面而及时的信息成了必要。G2G根据控制数据集可以准确知道有多少资源和资源分布情况,进行方便和有效的作业调度。分配任务也可以通过控制数据集来通知群各个成员节点。通常情况是,用Transfer和Exchange传达任务,也许需要给各节点派发不同的Node-process来处理不同的计算,再通过Transmutation返回计算结果。
图4的控制数据集图示体现出G2G计算能非常适应于实时变化的动态环境,用户的加入和退出,通讯和任务的状态变化,都能及时反映在控制数据集,使得即时作业改动成为可能,所以,G2G计算能做出即时的传输调度(更改)和作业调度(更改)。
通常情况下,传递群还应该具有相对应接收群的信息,使得传输调度和作业调度更为容易和灵活。大量依赖于控制数据集,使得在一定程度上,G2G计算是离不开控制数据集,也使得G2G计算具有一定的管理能力。
并不是使用了控制数据集就成了集中管理,例如,当多个节点向某一节点请求同一内容时,此节点即可建立一控制数据集来协助内容传输,此时,不能说是集中管理,这种没有中心结点,却有一致性控制、传输调度和任务调度等等的管理也是G2G计算的一个特点。
控制数据集的使用也提高了G2G计算的安全性,源于参与G2G计算的节点都是在控制数据集的成员,如果保护好控制数据集,可以防范黑客的攻击和病毒等破坏性程序的传播。还可以加上用户合法性检查,就能以一个较低的代价获得实用的安全性。
在保密性方面,G2G计算也有较好的表现,如果是中等保密程度,就可以采用对称保密算法,因为涉及群,密码随群动态产生,比静态或者不常变的环境具有更高的保密性;假如需要非常高保密程度,则可以采用非对称保密算法,也可以通过控制数据集来取得公钥或私钥来完成保密任务。
为解决上述技术问题,本发明还提出一种用G2G计算体系构成的群对群计算服务系统,至少有一个计算机可读介质,其具有用来实现群对群计算服务的计算机可读的程序代码逻辑,所述计算机可读的程序代码逻辑实现的群对群计算服务体系结构包括在计算机网络之上的四层结构,如图1所示:
管理层:管理群的信息。围绕着控制数据集进行管理,涉及用户的加入和退出,以及通讯和任务的状态变化。也负责群和节点的控制数据集更新。
支撑层:包括G2G计算的4种基本运算:传递(Transfer),交换(Exchange),节点处理(Node-process),变形(Transmutation)。为G2G计算提供有力的支持。
调度层:负责传输调度和任务调度。通常情况下,传输调度和任务调度直接使用控制数据集,监控的信息也可以返回给传输调度和任务调度。
应用层:这一层包括由开发工具、应用程序和服务实现的运行于G2G网络之上的各种具体应用,例如分布式计算(用在科学研究、金融业等),流媒体,内容和文件共享,及通信与协作系统。
以下说明用G2G计算构成的G2G计算服务系统
事实上,任意的节点都可以负责管理一个G2G计算,即G2G计算的管理可以是分散的。但分散的管理往往是低效率的,在很多情况下,有必要采用集中式的管理,当然,还可以采用层次式的管理。
例如,G2G计算系统可以有认证服务器,用于认证用户身份、存放用户证书及管理模块,以及源管理器用以管理各种资源,还有传输调度器、作业调度器、群管理器等等。这些多个逻辑服务器可以运行在一台或多台物理服务器,或者说,一台物理服务器可以运行多个逻辑服务器或逻辑模块。但是,一个逻辑服务器或逻辑模块也可以在多台分布的物理服务器运行,例如,在有些特定的群,有自己独立的群管理服务器,此时,也可能存在上一级的群管理服务器,来管理次一级分布的群管理服务器。
更进一步地,采用集中式的管理是Web方式,或者是用门户网站(Portal)提供G2G计算。采用Web服务来提供G2G计算的主要作用是,为用户提供G2G计算的入口(Portal)服务,具有提交交互式作业的功能,以及查询结果、信息查询、文件/目录管理、上传下载及一些常规应用功能,还可以提供一些工具及服务。
基于门户网站服务还可以提供定制的计算入口,引导用户只需以输入参数的方式来完成程序的G2G计算运行。本发明还同时提供一种基于G2G计算的G2G搜索服务。
事实上G2G搜索服务是具有G2G计算服务结构的搜索服务,首先,采用G2G计算方法,采用包含4种G2G基本运算的四层结构G2G体系结构;然后,用门户网站来为用户提供G2G计算的入口服务,具有提交交互式作业的功能;最后,为用户提供各种搜索服务。
在G2G搜索服务中,用户一进入G2G搜索服务的Portal,便进入协作搜索环境。协作搜索可以是多方面的,包括:
A2,与具有相同搜索需求的其他用户共同组成搜索任务群;
B2,为搜索系统承接搜索服务;
C2,请求搜索服务。
用户可以运行上述的一个或多个任务,视用户系统的能力和预先设置而定。
项A2中,多个用户共同组成搜索任务群,每个用户分摊其中的一部分任务,可以减轻每个用户的工作量,还可以搜索非常大的范围。但并不是每次的搜索请求都需要进行分布式的搜索,也可以从中心服务器里面查找出所需的信息,此时,组群仍然具有价值,可以将搜索到的内容以G2G的方式发布到所有的成员。
项B2中,搜索服务系统当用户在线时,按其节点的能力和预先约定来分派搜索任务。用户在线是指用户参与搜索的时间,也可以是预先约定的,例如,约定为用户连接网络的所有时间段或某特定时间段,或者约定为用户从进入Portal到退出Portal的时间段。搜索的结果可以返回到指定的服务器,也可以经过Transmutation运算,传送到指定的用户或接收群。
类似于基于门户网站的G2G计算,为了鼓励用户承接搜索服务,G2G搜索服务系统还可以采用激励的方法,例如承接搜索服务较多的用户,有较高的使用G2G搜索服务的优先权。
节点作为承担搜索服务,最好能和节点的本地(桌面)搜索相结合,这些本地搜索可以是搜索系统固有的一部分,也可以是调用节点已有的第三方本地搜索引擎。
项C2中,用户请求搜索的服务中,既可以按默认的方式,也可以按指定的方式来请求。默认的方式可以是系统根据具体的情况,安排从中心服务器里面查找出所需的信息(中心服务器的信息也可能是以前分布式搜索的结果),或者是进一步的分布式搜索。
下面来看看G2G搜索服务能给我们带来什么。
首先,G2G搜索服务具有分布式搜索的基本特点和优势:可以减轻硬件投资,用户搜索时无需通过Web服务瓶颈的限制,不受信息文档格式的限制,可达到传统目录式搜索引擎无可比拟的深度。还有可以得到原始的信息,而不仅是被垄断的信息。
其次,G2G搜索服务的G2G计算方式带来新的好处:
1,即使是集中式管理的搜索,也可以采用G2G传输,以加快搜索的内容的发布和减少对服务器带宽的需求。
2,即使是集中式管理的搜索,也可以通过闲置的分布式资源来帮助搜索,将结果返回给中心服务器。
3,DHT只是G2G计算其中的一个属性选择,G2G计算本身就具有结构化拓扑的分布式网络,由此可以克服DHT仅支持精确关键词匹配查询,无法支持内容/语义等复杂查询的问题。即G2G搜索可以是任意的,包括内容/语义的搜索。
4,网络链路长度与参数度数是结构化P2P网络搜索技术的两个重要参数,参数度数是表示邻居关系数或是路由表的容量,链路长度则为搜索算法的平均路径长度。参数度数和链路长度之间存在渐进曲线的关系,较大的参数度数可以减小链路长度。而作为参数度数的G2G计算的控制数据集的规模是比较灵活的,可以在很短的链路长度完成搜索,有助于提高搜索速度。
5,G2G计算是具有体系结构的系统,所以,基于G2G计算的G2G搜索服务可以根据节点不同属性进行分群协作搜索,能带来更高的效率。同时,还可以建立很多与群相关的信息库,来帮助定位搜索。
在G2搜索中,根据不同的场合,可以有不同的解决方法。例如用户请求搜索服务时,系统根据具有相同的用户请求来组群,在这里,用户多个独立的任务请求可以加入到多个群,系统再根据任务来查找,查找可以是在由最近刚刚被其它用户所查找过的结果cache中查找,也可以是在信息服务器查找,还可以用分布式搜索来查询。
查找的结果可以是以G2G传输方式返回给用户。返回给用户结果通常会有多个子项以供用户选择,例如返回的结果有A、B、C内容可供选择。对于不同选择的用户,同样可以再次分别组群,不同的群将各自的内容以G2G方式传送给群属的用户。
所述的结果Cache是指最近一段时间内用户向G2G搜索服务请求过,并且有结果的搜索内容的集合。结果Cache是有时间约束的,当结果Cache没有所需的内容时,进一步采用其它策略查询。从结果Cache查找能减免相同的查询。
结果Cache并不限于具体的存储方式,可以是计算机内存,也可以是硬盘,还可以是其它的存储系统。
请求查询任务群进行查询时,会有不同的策略,这些策略可以是用户设置的,也可以是系统根据具体的情况来采用的。返回结果可以由多方面查找的结果组成,包括:从结果Cache查找的结果,从信息服务器查找的结果和从分布式搜索查找的结果。
作为承接任务,用户也可以有不同的行为。比较简单的是群内成员之间的查找。其次是搜索系统向所有的或者相关的群发出查询节点的本地内容。搜索时可以逐一发出查询,也可以是广播式(以G2G方式群发)发出查询,或者是和群的信息相结合的。例如,假如有体育节目的群1,新闻节目的群2,综合节目的群3,当用户想查找足球节目A时,可以向三个群的各位成员同时发出查询,也可以先向群1发出查询,当群1没有足球节目A时,再向群2和群3发出查询,足球节目A往往会在群1中发现的。由此可见,围绕着群的信息,可以做很多事情,或者可以不限于P2P方式,和已有的大量成熟的信息搜索和数据挖掘相结合,走出搜索的新天地来。
承接任务的另一个主要方式是节点承接搜索系统所指派的搜索任务,这些搜索任务并不限于节点的本地搜索,节点还可以向外进行搜索。例如,搜索系统规划好一个搜索空间,将一个搜索任务细分,委派一个群的成员根据各自的搜索空间和任务进行搜索,通过群的管理,群的成员也能与其它成员协作处理任务。搜索空间的节点不一定是搜索系统的某一个群的成员,可以是广泛,节点就像一些常用的网络搜索机器人一样工作。
承接任务搜索的结果,可以(以G2G传输方式)直接传送给委托的任务群。
承接任务搜索的结果,可以完整地或者经加工后传回中心的服务器。也可以只传回相应的索引,而将搜索到的结果保存在本地,形成分布式存储网络。
因由群所组成且涉及群与群关系的网络称为G2G网络,群是一些具有相同属性节点的聚合。由此得出,G2G网络是最适宜搜索的网络结构。体现在:
1,群是一个分类,G2G网络就是分类网络,天生适宜搜索的网络结构。
2,G2G网络既有群对群对等的网状结构,以网状结构为主;又有基于子群的分层结构为辅,这种能替代分级/超级节点网络的灵活结构。可以使G2G网络更容易构造分布式搜索路由。
3,节点可以有多个属性,或者说,节点可以从属于多个的群,适度认为属性是任选的,则G2G网络可以构成各种灵活的信息网络。例如,我们可以构造一种基于G2G网络结构的语义覆盖网络。
4,特别适合于动态变化的网络环境,如用户随时加入和退出。
如引言所述,P2P搜索发展趋势之一是发展兴趣关系网络,这正是G2G网络的所长。将兴趣相同或相似的用户组群,然后形成了兴趣关系网络。有了如此的G2G兴趣关系网络,想知道一些感兴趣的信息,搜索就会变得比较容易。
比较有趣的是,大量成熟的信息搜索和数据挖掘,都可以应用在G2G网络上。例如,采用DHT技术;还可以采用混合技术,每个群都有唯一的DHT标识符,但群内则采用泛洪或广播技术。
基于门户网站的G2G搜索则采用了部分集中索引的拓扑结构。这种G2G搜索是结合了传统的集中式搜索引擎的功能,采用了部分集中索引是顺势而为。其实,群就是索引。
G2G 搜索的索引的集中程度因情况有所不同,以群的信息为主,还可以包含各节点的信息。索引的内容可以是简单的,以避免法律上的风险,例如,只包含节点的通讯必要数据,还可以是兴趣关系网络。索引的内容也可以是复杂的,每个群都附加了很多有关群的信息或者再附加上很多索引,以方便搜索,甚至为一个语义覆盖网络。
因此本发明的有益效果是:
1、本发明以群为单位来处理任务,可以避免相同的重复计算,另一个好处是,结果以G2G传输方式返回给用户,减轻对服务器网络带宽的需求,并提高传输速度。
2、根据本发明构建的G2G搜索服务具有分布式搜索的基本特点和优势:可以减轻硬件投资,用户搜索时无需通过Web服务瓶颈的限制,不受信息文档格式的限制,可达到传统目录式搜索引擎无可比拟的深度;可以得到原始的信息,而不仅是被垄断的信息;采用G2G传输,以加快搜索的内容的发布和减少对服务器带宽的需求;可以通过闲置的分布式资源来帮助搜索,将结果返回给中心服务器;搜索的关键词不需要精确匹配,G2G搜索可以是任意的,包括内容/语义的搜索;有助于提高搜索速度。
本发明的特征及优点将通过实施例结合附图进行详细说明。
【附图说明】
图1是本发明一种G2G计算体系结构;
图2是本发明一种G2G网络传输示意图;
图3是本发明一种G2G网络传输(交换)示意图;
图4是本发明一种分群与控制数据集图示;
图5是本发明一种用G2G计算构成的G2G计算服务结构的实施例的模块框图;
图6是本发明一种用G2G计算构成的G2G搜索服务结构的实施例的模块框图;
图7是本发明一个用户进入任务群例子图示;
图8-1、8-2、8-3是本发明一种用G2G计算构成的G2G计算服务结构的实施例中作业调度流程图;
图9是本发明一种G2G计算实施例中的流程图;
图10是本发明一种用G2G计算构成的G2G搜索服务结构的实施例的查询请求执行流程框图。
【具体实施方式】
本发明的环境是计算机网络,例如,群是由计算机网络上的节点组成。节点是网络内具有计算功能的处理单元,例如,个人计算机(PCs),掌上设备,多处理器系统,基于微处理器可编程的消费电子设备,网络PC机,微型计算机,桌上电脑,便携式计算机,具有微处理器或者微控制器的消费应用设备,路由器,网关,集线器或者类似的设备。
本发明还可以在分布式计算环境中实施,在这些环境中,任务由通过基于有线或者无线网络链接的节点来执行。这些节点,如远程处理装置或设备,可以是专门构造用于所需目的,也可以是与根据本文的理论所编写的计算机程序配合使用的各种通用机器。在分布式网络环境中,程序既可以存储在本地也可以存储在远端的存储器存储设备中。
本发明还可体现为计算机可读介质中的计算机可读代码。计算机可读介质将被理解为包括任何用于以计算机可读的形式来存储或发送信息的机制。例如,计算机可读介质包括只读存储器(ROM);随机访问存储器(RAM);磁盘存储介质;光存储介质;闪烁存储设备;电、光、声或其它形式的传播信号(例如,载波、红外信号、数字信号等)。
图1是G2G计算的一种体系结构,将体系分成了管理层102,支撑层112,调度层122和应用层128。
管理层有一个分群模块(框106),负责对用户进行群的管理,具体地,当用户登录时,便通过分群来进入到具体的群,当用户的属性发生变化而需要改变所属的群时,也是通过分群来执行。所述属性发生变化是通过监控模块(框108)来识别,监控可以周期性查询,又可以是单一事件的查询,以及QoS等各种反馈信息。
分群和监控所形成的信息记载在群的信息一控制数据集(框104)上,控制数据集为支撑层和调度层提供直接的支持。更新模块(框110)则负责相关的群以及具体的成员的控制数据集的更新。控制数据集可以保存在每一个节点或者保存在一个管理服务器上,以供群的成员可以一次操作得到控制数据集。
支撑层为G2G计算提供计算基础,有4种基本运算,包括Transfer(框114)运算,Exchange(框116)运算,Node-process(框118)运算,Transmutation(框120)运算。
传递(Transfer):一个传递群将内容传输到另一个接收群。具体地,将所需传输的内容分成多个块,由传递群的部分或全部的成员参与所述的内容块分配,所述的成员将分配的内容块分别传输给需要得到内容的接收群的部分或全部成员。
交换(Exchange):在一个群内,成员与其它成员相互之间传输内容。具体地,接收群的成员将从传递群所传送来的内容块再次交换到群内的其它成员。
节点处理(Node-process):节点对任务的处理。是节点关于G2G计算的具体作业。节点处理可以完成群对成员节点所指派的任务,包括处理本节点对所接收信息的使用,例如,对信息归当或者把信息呈现给用户。通常情况下,Node-process运算有两种安排方式:一种是由作业调度所安排的作业;另一种是用户所设定的作业,例如,用户选择所观看的视频节目;作业程序可以由作业调度指定传送,也可以是节点的本地程序资源。
变形(Transmutation):根据接收到的信息进行处理而得出新的信息。Transmutation所做的工作包括但不限于:
1,Transmutation运算是将内容变形(例如,摘要,片断,再次加工)或取得内容相关的信息;
2,Transmutation运算是群根据输入的内容(数据)和各节点Node-process运算的结果作为初始数据,而进行的再次运算。
Transmutation运算可以在传输之前进行,即各个节点执行Transmutation运算其中的一部分;也可以将Node-process的结果或状态返回到指定的群或节点之后才进行Transmutation运算。Transmutation运算的结果可以是数据集,如果在节点执行部分的Transmutation运算,各节点可以根据预先设定的方法,例如,立即传送或者等待命令传送,异步或者同步等方法,将已计算好的结果部分,传送给输出群或成为新的内容传送给指定的下一个(计算)群。无论传送Transmutation运算的结果或者Node-process运算的结果,其传输方式的方式可以采用Transfer和Exchange,即G2G传输。
调度层主要有传输调度模块(框124)和任务调度模块(框126)。
传输调度通常依赖于实时更新的控制数据集,为了达到可控制的传输和尽可能利用整体的传输能力,调度时充分考虑各节点能用于内容传输的最大上传速率以及接收群和传递群所内提供的整体上传带宽。
可以认为,满足G2G内容发布的基本条件是:
(U1+…+UN)+L*D≥f(N,D)
Uj≤MUj,Uj∈接收群,(j=1,2,…N)
L*D≤US-max
D≤Dmax
其中MUj是接收群点j上传内容所能用的最大上传速率,Uj是为节点j选定的上传速率,j=1,2,….N,N为接收群节点的数量,US-max是源端能提供最大的上传带宽,Dmax是内容流速率能使用的最大值,f(N,D))是接收群下载内容所需的下载带宽,L*D意义是源端的成员共同提供L倍速率为D的内容流。
通过为各节点选定上传速率和为源端指派上传速率,或者说改变满足G2G内容发布的基本条件的L、D和各节点Uj中的一个或者多个参数,可以实现各种条件的内容发布。这种传输方法应用到传输调度时又可以描述为:
使用一种各节点按指定上传速率参与上传服务的传输调度,其指定上传速率是与节点用于内容上传的最大速率,接受群所能够提供的最大上传速率和传输源端所能够提供的上传速率有关。一个节点j指定上传速率Uj的有效选择是:当MUj≤Davg时选Uj=MUj,当MUj>Davg时选Uj应满足Uj≥Davg,这里,Davg是群内节点内容平均上传传输速率,也就是Uavg=(f(N,D)-L*D)/N,MUj是节点j用于内容上传的最大速率。
同样地,任务调度依赖于实时更新的控制数据集,可以根据用户的权限和任务需求,参照于控制数据集,判断是否有足够的资源来满足任务请求,包括现在和不久的将来,进行安排或拒绝作业。
每一位用户,根据其属性,可以有一个或多个角色,例如用户有委派任务的权利和承接任务的义务。
任务调度可以下放给节点之间相互协商。但更多的应用是通过服务器来管理。
应用层由各种工具130,例如交互式的提交、监控作业;各种具体应用132,例如,分布式计算(用在科学研究、金融业等),流媒体,内容和文件共享,及通信与协作系统;各种服务134等组成。
图9是G2G计算对一个计算任务的实施例的流程图,包括以下步骤:
在步骤902,将进入群的任务分成多个作业部分,然后执行步骤904:
在步骤904,将作业部分的内容,包括数据、作业程序Node-process用Transfer运算传递到任务群,然后执行步骤906;
在步骤906,当步骤904所传递到各节点的内容不完整时,需要用Exchange将内容交换完整,然后执行步骤908;
在步骤908,执行作业程序Node-process,然后执行步骤910;
在步骤910,当Node-process完成或者有必要返回时,转入Transmutation运算。Transmutation运算可以在传输之前进行,即各个节点执行Transmutation运算其中的一部分;也可以将Node-process的结果或状态返回到指定的群或节点之后才进行Transmutation运算。其传输方式的方式可以采用Transfer和Exchange。
图5是本发明一种用G2G计算构成的G2G计算服务系统的实施例的模块框图。管理系统分三大部分:接口管理510,任务管理520和计算管理530。
用户可以通过登陆服务器进入G2G计算服务,尤其是通过Web接口进入G2G计算服务。G2G门户(Portal)作为G2G访问展现方式,G2G门户是最终用户使用G2G计算的入口。通过G2G门户,用户可以提交作业,监视作业运行、管理和传输数据、查询G2G资源信息,同时G2G门户还具有用户管理、G2G网络资源使用记账等功能。
接口管理部分包括:Web用户接口模块512,用户管理模块514,数据管理模块516。
接口管理方面提供了两种用户进入G2G计算方式:交互的Web方式和其它通信方式。这两种方式最后都是进入了用户管理模块。
G2G门户具有提交交互式作业的功能,其中主要使用网页形式,主要由Web用户接口模块实现,通常有以下部分:
用户部分:注册、资料修改、登陆、身份验证等;
作业部分:作业定义、提交、状态查询、删除、结果获取;
数据部分:数据上传、下载、更新;
信息部分:节点及其状态查询、服务及其状态查询。
用户管理模块管理进入系统的用户及其请求任务和承接任务,可以管理由Web方式进入的用户和其它方式进入的用户,其它方式是指不经本系统Web方式的其它通讯方式进入系统。
网格常常被比喻为与电力公用设施工作的方式类似,其中您不知道发电机的位置,以及电力网的连接方式。您只要求供电,就可以获得电力。网格就是如此的方式,当您需要计算时,便可以从网格得到计算。但单从这方面来看,许多网格是将使用者和提供者分开,即用户使用由供应方提供的高性能的计算能力。而G2G计算与之不同的是,用户可以有多种角色,可以是单一的委派计算任务或者是承担G2G计算,也可以同时具有承担G2G计算的义务和委派G2G计算的权利。
与一般的资源使用记账方法不同,为了鼓励用户承接计算任务,G2G计算网络往往会采用激励的记账方法,例如承接计算任务较多的用户,有较高的使用G2G计算网络的优先权。
因为用户可以有多种角色,当用户委派任务时,将任务交给任务管理模块,而用户能G2G计算时,则进入分群管理模块。
用户管理将用户按不同的角色进入分群管理(模块)和任务管理(模块)。
数据管理模块:主要功能是负责G2G计算环境中各类存储资源和文件数据的管理。
任务管理部分包括:任务管理模块522,资源管理模块524。
计算管理部分包括:分群管理模块532,作业调度模块534,作业监控模块536,传输调度模块538。
当用户委派任务而进入任务管理模块522时,同样可以用群来管理用户,见图7。用户加入时,执行步骤702,寻找是否有相同任务的群,有则执行步骤704,加入该群,无则执行步骤706,创建一个新的群。然后执行步骤708,以群为单位来处理任务,在步骤710,将结果以G2G传输方式返回给用户。如此可以避免相同的重复计算,另一个好处是,结果以G2G传输方式返回给用户,减轻对服务器网络带宽的需求。
资源可以是计算节点上所安装的各种软件和硬件,也可以是科学仪器设备。可以设每一个计算节点作为一个资源管理的单位,但更主要的是基于群的资源管理。有以基本属性分群和以任务分群两种。其实,计算管理部分的分群管理所采用的规则,大多是资源管理模块来制定。
资源管理提供两方面的功能,一是分群管理的规则的制定。二是资源的注册、查询、浏览、发现和监控功能;并向任务管理中的处理模块协助资源需求查询。
当有一个任务请求时,任务管理模块通过资源管理查询是否有足够的资源来满足任务请求,包括现在和不久的将来,如果没有则拒绝任务请求,如果现在有则即时提交给作业调度,如果是将来有,则将任务放在等待队列。
通常情况下,任务管理在提交作业之前,需向资源管理申请注册一个承接任务群,包括任务的描述和资源的需求,以方便资源分配,和分群管理的具体安排。
G2G是以属性来分群的。而属性可以是一个或多个,可以是基本属性或者是组合属性。根据这个特点,节点可以属于一个或多个群,例如,接收内容A是一基本属性,接收内容B是另一基本属性,则同时接收内容A和内容B是一个组合属性。一群成员,可以组成属性是接收内容A的群,也可以组成属性是接收内容B的群,还可以组成属性是同时接收内容A和内容B的群。
为了处理方便,对一个节点属于多个群的情况作一些简单约定:
1,一个节点不能同时属于两个属性完全相同的群。例如,有属性A和B,还有三个群G1、G2和G3,分别由A、A和A+B属性组成,则节点不能同时属于G1和G2,但可以同时属于G1和G3。因为G3比G1多了个属性B,G3和G1只是部分属性相同。
2,一个节点不能同时属于两个相冲突的群。例如,有两个其它的属性相同,但加上按不同时间段区分的群G1和G2,则节点不能同时属于G1和G2。
所以,一个节点,可以是委派任务群的成员,也可以是承接任务群(作业群)的成员。为了方便管理,通常还属于一个或多个管理群,这些群为了区别于任务群,也可称为资源群。为此,资源管理还需要制定如何形成和管理资源群的部署。
需要注意的是,维护群是需要开销的,尤其是在动态网络环境下,维护群的开销还要多些。因此,不能过分地细分作业群和资源群,应该寻求“够用”和“合适”的解决方法。
承接任务的用户,先进入计算管理部分的分群管理模块532,根据节点的属性(任务也是属性),分到相应的群,逻辑上需要向资源管理注册节点的相关资源,但通常在群的控制数据集上将资源登记即可,然后是由控制数据集反映到资源管理。
需要注意的是:所属某一个群的用户,当属性发生变化时,例如任务或状态发生变化时,是可以改变为另一个群的成员。用户可以加入到资源管理所指定的一个或多个资源群,但并非每一次进入分群管理,就立即进入任务群,因为此刻不一定有任务群,或者不一定有合适的任务群,惟有在资源群等待。
所以,一旦资源管理通知需要开一个新的任务群时,分群管理立即从资源群找到合适的节点来组成任务群。此后,分群管理还需要维护这些任务群,包括节点的加入和退出,状态的变化。
因为管理所采用的规则大多是资源管理模块来制定,所以,一个任务很容易落实到具体的群。任务管理模块将任务提交时,作业调度对任务进一步分配,任务可以由一个群来完成,当然,这样的群也可以包含多个子群,子群有点分级管理的味道;另外,任务还可以分成多个部分,分别由多个群来完成。无论上述哪一种方式,作业调度都是由群的作业调度组成。
采用群的作业调度有许多好处。首先,通过控制数据集可以清楚知道群的所有资源状况,容易进行安排作业;其次,基于控制数据集的实时作业监控,协助作业调度容易对作业进行实时的改动,以适应环境的变化;最后,一个相同属性的群更能协作地完成一个共同的任务。
群的作业调度模块534通常将分配到群的任务分成多个部分,假设为M部分。如果群的成员数为N,则可以使得M=N。但更应该使得M大于N或者使得M是N的多倍,这样更能协作完成任务,更适应于动态的网络环境,因为节点是动态加入和退出。
作业监控模块536为作业调度提供各节点的作业状态,可以是Transmutation运算返回结果,也可以是作业监控模块定期向节点查询作业状态。
传输调度模块538执行的是G2G计算中传输调度功能。
图8-1是本发明一种实施例中作业调度流程图。任务提交后,执行步骤802,作业调度将所提交的任务分成M部分作业,送到作业池;然后执行步骤804,将作业池的任务初始分配给群的N位成员,分配时,节点需要满足作业的要求,或者说,给节点寻找合适的作业。在步骤802中,当节点满足作业要求时,有两种分配方式:
A5,每个节点分一部分;
B5,根据节点资源的多少来安排不等量的作业。
在不考虑作业调度与节点之间通信代价时,方式A5具有方式B5的相同效果,即资源多的节点可能完成作业更快,从而能做更多的作业。从另一方面说,方式B5能减少通信的开销。
作业调度给节点分配作业部分的优选实施方案是:群预先设置一个时间阀值t,当群的成员执行一个作业部分的平均时间大于t时,本群选择A5的分配方式,否则选择B5的分配方式。
作业调度将分配好的作业交付节点执行,执行流程图如图8-2、8-3所示。
在步骤806,如果节点已完成本次作业,则执行步骤810,确认作业池是否还有未完成的作业,如果作业池还有来完成的作业,则执行步骤812,作业调度将继续为该节点分配新的作业,分配可以采用步骤802两种分配方式中的一种方式。
在步骤814,如果节点中断本次作业,则执行步骤816,将未完成的作业退回作业池。
所有的计算管理其实是与G2G计算的4种基本运算相关的。将任务提交给一个任务群后,将任务分成多个作业部分,然后分别指派给节点执行计算。其指派给节点执行计算到获取结果就是依赖于4种基本运算:作业部分通过Exchange和Transfer将作业的数据及需要传输的相关程序Node-process传送到节点,然后通过执行计算任务,Node-process如果不需要传送则选择节点本地的程序资源,计算的结果通过Transmutation返回给指定的群。Transmutation也可以成为作业监控其中的一部分。
基于控制数据集的作业调度,可以根据用户的权限和任务需求,参照于控制数据集,进行安排或拒绝作业;群内节点之间可以相互委派任务,节点有委派任务的权利和承接任务的义务。
图6是本发明一种用G2G计算构成的G2G搜索服务结构的实施例的流程图。
当用户进入G2G搜索服务时,根据用户任务请求和承接任务,以不同的角色,分别或者同时进入按任务(属性)分群步骤602和按系统选择分群步骤604。用户经按任务(属性)分群加入或创建具体的请求查询任务群。用户经按系统选择分群加入所属的资源管理群,当有任务要承接时,加入具体的承接任务群。
用户在进入按任务(属性)分群步骤602后,执行步骤618,请求查询任务群进行查询,此时会有不同的策略,这些策略可以是用户设置的,也可以是系统根据具体的情况来采用的,策略包括:
步骤606,从结果Cache查找;
步骤608,从信息服务器查找;
步骤610,从分布式搜索查找。
策略A3所述的结果Cache是指最近一段时间内用户向G2G搜索服务请求过,并且有结果的搜索内容的集合。结果Cache是有时间约束的,当结果Cache没有所需的内容时,进一步采用其它策略查询。策略A3能减免相同的查询。
结果Cache并不限于具体的存储方式,可以是计算机内存,也可以是硬盘,还可以是其它的存储系统。
策略B3是指从G2G搜索服务中的集中式的信息服务器查找,信息服务器的内容是G2G搜索服务系统以各种方法搜索得来的内容,包括以G2G搜索得来的内容。
策略C3为用户提供了G2G分布式搜索服务。将请求查询交给具体的承接任务群来处理搜索任务。
在优选方案中,执行步骤620,将查询任务群所查询的结果采用G2G通讯方式返回给查询任务群的成员。
用户在进入承接任务按系统选择分群步骤604后,用户承接任务也有三种方式,分别是:
步骤612,群内成员之间查找;
步骤614,查询节点的本地相关内容;
步骤616,完成系统委派的在指定搜索空间的指定搜索任务。
事实上,G2G网络的节点除非加以特别限制,否则都可以向群内其它成员进行查询。但方法A4仍然作为G2G分布式搜索服务的一部分,同时,还具有另外的意义,即系统可以委托群的某位成员,进行对此群进行查询。
当用户承接搜索任务时,就成为G2G网络中的节点,其它用户可以通过G2G网络查找到个该用户,依赖预先设置的条件,G2G搜索服务可以搜索某些被允许搜索节点的本地相关内容。本地搜索程序可以是G2G搜索系统自带的一部份,也可以是节点的第三方本地搜索引擎。
G2G搜索服务以方式C4委托用户参与搜索作业,主要是分担原先由非分布式搜索的任务,例如,做网络搜索机器入或网络蜘蛛程序一样的工作。搜索的结果,可以执行步骤622,将搜索结果完整地或者经加工后传回中心的服务器;也可以只传回相应的索引,而将搜索到的结果保存在本地,形成分布式存储网络。
图10是本发明一种用G2G计算构成的G2G搜索服务结构的实施例的查询请求优选的执行流程框图。当有一个查询请求时,首先执行步骤1002,判断是否为指定分布式查询,若是则转至执行步骤1014,从分布式搜索查找模块,否则执行步骤1004,按默认的方式执行从结果Cache查找。
从结果Cache查找到结果后执行步骤1006,判断从结果Cache查找到的结果能否满足查询要求,如果满足则执行步骤1016,以G2G通讯方式返回结果,否则执行步骤1008,从信息服务器查找。
从信息服务器查找到结果后执行步骤1010,判断该结果能否满足查询要求,如果满足,则执行步骤1016,以G2G通讯方式返回结果,否则执行步骤1012,判断是否需要进行分布式查询,若是则执行步骤1014,从分布式搜索查找模块,否则执行步骤1016,返回从结果Cache查找到的结果和从信息服务器查找到的结果,此时,结果有可能为空。
是否需要进行分布式查询的条件判断可以是:(1)用户指定的要或者不要;(2)根据系统预先设定规则。
执行从分布式搜索查找模块后,以G2G通讯方式返回结果,所述的结果有可能是分布式搜索所得,还可以包含结果Cache查找到的结果和从信息服务器查找到的结果。
术语“包括”,“具有”、“包含”看作是可扩充的术语(即意指“包括但不限于”),除非另有说明。通过利用例子或此处提供的示例性语言(例如、“例如”)仅仅是为了更好的阐述本发明,并不是提出限制本发明的范围,除非另有说明。
已为描述和说明的目的介绍了本发明,但非意指其为详尽无遗的或将其限制在该揭示之形式下的发明。在需要避免使一个或多个发明难以理解的情况下,描述可能省略相关领域的技术人员已知的某些信息。对于本领域一般技术人员来说许多修正和变化将是显然的,例如,这些步骤可以不同的顺序执行,也可以增加、删除、更改某些步骤,所有这些变化都被认为是所声明的本发明的一部分。

Claims (29)

1.一种群对群计算方法,以群为单位承接计算任务,所述群是在计算机网络上一些具有相同属性的节点的聚合,其特征在于包括以下四种基本运算:
传递:将所需传输的内容分成多个块,将所述的多个内容块分配给负责传送内容块的传递群的部分或全部节点,所述节点将分配的内容块分别传输给需要得到该内容块的接收群的部分或全部节点;
交换:在一个群内,节点与其它节点相互之间传输内容,包括将私有的内容块传送到群内其它节点,或者将接收到传递群发送来的内容块再次传送到群内其它需要该内容块的节点;
节点处理:节点对所分配任务的处理,完成群对成员节点所指派的任务;
变形:对群内各节点的经过节点处理后的数据的再次处理,包括在传输之前进行,各个节点执行变形运算其中的一部分或包括将节点处理的结果或状态返回到指定的群或节点之后才进行变形处理。
2.如权利要求1所述的群对群计算方法,其特征在于存在作业调度和监控:对于负责一个计算任务的群,作业调度将任务分成多个作业部分,通过交换和/或传递将作业部分的数据和需要传输的相关程序节点处理程序传送到相关的节点,节点处理程序如果不需要传送则选择节点原有的程序资源,然后通过执行节点处理程序来计算任务,节点处理计算的结果转入变形运算而得出任务的计算结果。
3.如权利要求2所述的群对群计算方法,其特征在于:所述变形为作业监控其中的一部分。
4.如权利要求1所述的群对群计算方法,其特征在于:所述属性包括任务、内容、网络速率、地域、距离、延时、节点标识、稳定性、内容开始接收位置中的至少一种。
5.如权利要求1所述的群对群计算方法,其特征在于:在使用以属性分群的方法将节点分配到具体的群时,一个节点可以属于一个或多个群。
6.如权利要求5所述的群对群计算方法,其特征在于:在分群时采用了以下预先设定的分群策略:
A1.第一优先,任务优先:不同任务建立不同的群;
B1.第二优先,任务运行状态优先;
C1.第三优先,其他属性优先,包括:
C11.网络速度优先;
C12.资源属性优先;
C13.稳定性优先;
C14.地域优先;
C15.延时或距离优先;
C16.节点标识属性相同优先;
D1.群的成员数不能大于一个系统设定的值,有需要时建立一个新的群,允许存在多个相同属性的群。
7.如权利要求6所述的群对群计算方法,其特征在于:在不改变原有群的情况下,将已存在的一个群分成两个或者多个子群。
8.如权利要求6所述的群对群计算方法,其特征在于:为每个群建立记录群的信息的控制数据集,控制数据集包括群的标记,属性,策略,任务,状态以及各节点的资源、属性、相互通信用的必要数据、节点任务、传输状态和任务状态中的一种或一种以上的组合。
9.如权利要求8所述的群对群计算方法,其特征在于:所述控制数据集保存在每一个节点或者保存在一个管理服务器上,以供群的成员可以一次操作得到控制数据集。
10.如权利要求8所述的群对群计算方法,其特征在于:控制数据集记录在案的数据发生变化或将有数据加入控制数据集时,实时更新各处的控制数据集或实时更新控制数据集与各处相关的部分。
11.如权利要求1所述的群对群计算方法,其特征在于:还包括使所述各节点在传输内容时按指定上传速率参与上传服务的传输调度步骤。
12.如权利要求11所述的群对群计算方法,其特征在于:所述指定上传速率与节点用于内容上传的最大速率、接收群所能够提供的最大上传速率和传输源端所能够提供的上传速率有关。
13.如权利要求12所述的群对群计算方法,其特征在于:一个节点j的指定上传速率Uj的有效选择是:当MUj≤Davg时选Uj=MUj,当MUj>Davg时选Uj应满足Uj≥Davg,其中,Davg是群内节点内容平均上传传输速率,MUj是节点j用于内容上传的最大速率。
14.如权利要求8所述的群对群计算方法,其特征在于:基于控制数据集的作业调度,可以根据用户的权限和任务需求,参照于控制数据集,进行安排或拒绝作业;群内节点之间可以相互委派任务,节点有委派任务的权利和承接任务的义务。
15.如权利要求1所述的群对群计算方法,其特征在于:用所述群对群计算方法构成的群对群计算服务系统,其可实现群对群计算服务的体系的结构包括:
管理层:负责用户管理、分群和管理群的信息;
支撑层:为用户提供群对群计算的4种基本运算:传递,交换,节点处理,变形;
调度层:负责传输调度和作业调度;
应用层:为用户提供开发工具、应用程序和服务。
16.如权利要求15所述的群对群计算方法,其特征在于:其中所述群对群计算服务包括:用门户网站来为用户提供群对群计算的入口服务,具有提交交互式作业的功能。
17.如权利要求16所述的群对群计算方法,其特征在于:其中所述群对群计算服务包括:用户可以同时具有承担群对群计算的义务和委派群对群计算的权利。
18.如权利要求16所述的群对群计算方法,其特征在于:其中所述群对群计算服务包括:采用激励的记账方法,承接计算任务较多的用户,有较高的使用群对群计算网络的优先权。
19.如权利要求16所述的群对群计算方法,其特征在于:其中所述群对群计算服务包括:对于负责一个计算任务的群,作业调度将任务分成多个作业部分,初始时,给每个成员分配一个作业部分,然后执行完作业部分的成员继续分配一个作业部分,直至群的任务完成为止。
20.如权利要求16所述的群对群计算方法,其特征在于:其中所述群对群计算服务包括:对于负责一个计算任务的群,作业调度将任务分成多个作业部分,初始时,给每个成员按其资源的多少来分配相应的作业份量。
21.如权利要求1所述的群对群计算方法,其特征在于:用所述群对群计算方法构成的群对群搜索服务系统,其可实现群对群搜索服务的体系的结构包括:
管理层:负责用户管理、分群和管理群的信息;
支撑层:为用户提供群对群计算的4种基本运算:传递,交换,节点处理,变形;
调度层:负责传输调度和作业调度;
应用层:为用户提供开发工具、应用程序和服务。
22.如权利要求21所述的群对群计算方法,其特征在于:其中所述群对群搜索服务包括:用门户网站来为用户提供群对群搜索的入口服务,具有提交交互式作业的功能。
23.如权利要求21所述的群对群计算方法,其特征在于:其中所述群对群搜索服务包括:在群对群搜索服务中,用户一进入群对群搜索服务的入口,便进入协作搜索环境,协作搜索包括:
A2,所述用户与具有相同搜索需求的其他用户共同组成搜索任务群,所述用户为搜索系统承担搜索服务;
C2,所述用户请求搜索服务。
24.如权利要求21所述的群对群计算方法,其特征在于:其中所述群对群搜索服务包括:群对群搜索服务在为用户提供查找信息时,包括以下查找方式中的一种或一种以上的组合:
A3,从结果Cache查找;
B3,从信息服务器查找;
C3,从分布式搜索查找。
25.如权利要求23所述的群对群计算方法,其特征在于:其中所述群对群搜索服务包括:用户承接搜索任务时,包括以下查找方式中的一种或一种以上的组合:
A4,所述用户在群内成员之间查找;
B4,所述用户查询节点的本地相关内容;
C4,所述用户完成系统委派的在指定搜索空间的指定搜索任务。
26.如权利要求25所述的群对群计算方法,其特征在于:所述节点采用本地搜索引擎来查询节点的本地内容,本地搜索引擎是群对群搜索服务系统自有的一部份或节点的第三方本地搜索引擎。
27.如权利要求25所述的群对群计算方法,其特征在于:其中所述群对群搜索服务包括:承接搜索任务时,群的成员能以协作方式处理任务。
28.如权利要求27所述的群对群计算方法,其特征在于:其中所述群对群搜索服务包括:节点搜索的结果以群对群传输方式传送给所需的用户;所述群对群传输方式为:将所需传输的内容分成多个块,为参与传输内容的多个节点分成多个群,由传递群的部分或全部的成员参与所述的内容块分配,所述的成员将分配的内容块分别传输给需要得到内容的接收群的部分或全部成员,接收群的成员将从所述的节点发送来的内容块再次交换到群内的其它成员。
29.如权利要求28所述的群对群计算方法,其特征在于:其中所述群对群搜索服务包括:节点将搜索的结果返回给所述群对群搜索服务系统,或将搜索的结果保存在节点的存储系统并将索引返回给所述群对群搜索服务系统。
CN2007800425705A 2006-11-29 2007-11-20 群对群计算的方法及系统 Expired - Fee Related CN101568911B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2007800425705A CN101568911B (zh) 2006-11-29 2007-11-20 群对群计算的方法及系统

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN200610157190.3 2006-11-29
CN200610157190 2006-11-29
PCT/CN2007/071095 WO2008064602A1 (fr) 2006-11-29 2007-11-20 Procédé et système de calcul de groupe à groupe
CN2007800425705A CN101568911B (zh) 2006-11-29 2007-11-20 群对群计算的方法及系统

Publications (2)

Publication Number Publication Date
CN101568911A CN101568911A (zh) 2009-10-28
CN101568911B true CN101568911B (zh) 2011-10-19

Family

ID=39467448

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007800425705A Expired - Fee Related CN101568911B (zh) 2006-11-29 2007-11-20 群对群计算的方法及系统

Country Status (3)

Country Link
US (1) US20100050181A1 (zh)
CN (1) CN101568911B (zh)
WO (1) WO2008064602A1 (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2304590A4 (en) * 2008-06-20 2012-04-25 Leostream Corp METHOD OF MANAGING LAYER AND APPARATUS FOR DYNAMICALLY ASSIGNING USERS TO COMPUTER RESOURCES
US8364751B2 (en) 2008-06-25 2013-01-29 Microsoft Corporation Automated client/server operation partitioning
US8640137B1 (en) * 2010-08-30 2014-01-28 Adobe Systems Incorporated Methods and apparatus for resource management in cluster computing
KR101577878B1 (ko) * 2011-02-03 2015-12-15 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 분산 환경들에서 신뢰도의 개선
US9049694B2 (en) 2011-10-03 2015-06-02 Qualcomm Incorporated Methods and apparatus for distributed medium access in wireless peer-to-peer networks
CN104838374A (zh) * 2012-12-06 2015-08-12 英派尔科技开发有限公司 分散hadoop集群
US9219782B2 (en) 2012-12-11 2015-12-22 Microsoft Technology Licensing, Llc Identifying seed computing devices using estimates in peer-to-peer networks
FR3030076B1 (fr) * 2014-12-10 2016-12-09 Bull Sas Procede de gestion d'un reseau de nœuds de calcul
US10409650B2 (en) * 2016-02-24 2019-09-10 Salesforce.Com, Inc. Efficient access scheduling for super scaled stream processing systems
US10545815B2 (en) * 2016-08-03 2020-01-28 Futurewei Technologies, Inc. System and method for data redistribution in a database
CN106649546A (zh) * 2016-11-04 2017-05-10 桂林电子科技大学 一种基于容错的分布式服务注册与查询方法
US11599369B1 (en) * 2018-03-08 2023-03-07 Palantir Technologies Inc. Graphical user interface configuration system
US11622090B2 (en) * 2019-03-28 2023-04-04 David Clark Company Incorporated System and method of wireless communication using destination based queueing

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69911000T2 (de) * 1999-07-28 2004-05-19 Motorola, Inc., Schaumburg Vorrichtung und Verfahren zur Initialisierung eines verteilten Rechnersystems
KR100777880B1 (ko) * 2002-06-21 2007-11-21 엘지노텔 주식회사 송신 노드 그룹화를 통한 단문 메시지 전송 방법
US7454424B2 (en) * 2003-01-16 2008-11-18 Hewlett-Packard Development Company, L.P. System and method for efficiently replicating a file

Also Published As

Publication number Publication date
US20100050181A1 (en) 2010-02-25
WO2008064602A1 (fr) 2008-06-05
CN101568911A (zh) 2009-10-28

Similar Documents

Publication Publication Date Title
CN101568911B (zh) 群对群计算的方法及系统
Cui et al. A blockchain-based containerized edge computing platform for the internet of vehicles
Jelasity Gossip
Wang et al. Towards network-aware service composition in the cloud
CN100433689C (zh) 一种流媒体直播系统中控制流的树形网络组织方法
CN114090244B (zh) 一种服务编排方法、装置、系统及存储介质
KR20020080468A (ko) 의미 정보 네트워크
CN105103506A (zh) 用于为云计算网络中的非均匀带宽请求分配带宽的方法和系统
US20080189351A1 (en) Network system which performs peer-to-peer communication
Ayyasamy et al. A cluster based replication architecture for load balancing in peer-to-peer content distribution
Gupta et al. Peer-to-peer networks and computation: current trends and future perspectives
CA2199090A1 (en) Network management method and apparatus of same and network systems
Vera-Rivera et al. Blockchain-based collaborative task offloading in MEC: A hyperledger fabric framework
Moufakir et al. Collaborative multi-domain routing in SDN environments
CN101009563A (zh) 内容交换网络
Xu et al. Near-optimal and collaborative service caching in mobile edge clouds
Latif et al. Resource discovery and scalability-aware routing in cloud federation using distributed meta-brokering paradigm
Talia et al. Peer-to-peer protocols and grid services for resource discovery on grids
Wen et al. An efficient content distribution network architecture using heterogeneous channels
Asgari et al. Performance-aware placement and chaining scheme for virtualized network functions: a particle swarm optimization approach
JPH11232201A (ja) 通信資源制御装置
Di Stefano et al. A P2P strategy for QoS discovery and SLA negotiation in Grid environment
Larangeira Reputation at stake! A trust layer over decentralized ledger for multiparty computation and reputation-fair lottery
Rho et al. An efficient peer-to-peer and distributed scheduling for cloud and grid computing
Liao et al. EdgeSFG: A matching game mechanism for service function graph deployment in industrial edge computing environment

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
ASS Succession or assignment of patent right

Owner name: SHENZHEN INFORMATION VOCATIONAL TECHNOLOGY COLLEGE

Free format text: FORMER OWNER: ZHANG YONGMIN

Effective date: 20150812

Owner name: ZHANG YONGMIN LIN GUANGMING

Effective date: 20150812

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150812

Address after: No. 2188 Longgang Longxiang Avenue District of Shenzhen city in Guangdong province 518000

Patentee after: Shenzhen Institute of Information Technology

Patentee after: Zhang Yongmin

Patentee after: Lin Guangming

Address before: 518000 Guangdong city of Shenzhen province Futian District Gang Lu Mei Bijia hill 7-402

Patentee before: Zhang Yongmin

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20111019

Termination date: 20201120