一种分组计算的云计算系统
技术领域
本发明涉及一种分组计算的云计算系统。
背景技术
云计算的核心思想是将大量用网络连接的计算资源统一管理和调度,构成一个计算资源池向用户按需服务。具体来说,云计算(cloud computing)是分布式计算技术的一种,其最基本的概念,是透过网络将庞大的计算处理程序自动分拆成无数个较小的子程序,再交由多部服务器所组成的庞大系统经搜寻、计算分析之后将处理结果回传给用户。透过这项技术,网络服务提供者可以在数秒之内,达成处理数以千万计甚至亿计的信息,达到和“超级计算机”同样强大效能的网络服务。
一个基于云计算技术的计算机集群称为“云”。云计算具有以下特点:
(1)超大规模:“云”具有相当的规模,企业私有云一般拥有数百上千台服务器。“云”能赋予用户前所未有的计算能力;
(2)虚拟化:云计算支持用户在任意位置、使用各种终端获取应用服务。所请求的资源来自“云”,而不是固定的有形的实体。应用在“云”中某处运行,但实际上用户无需了解、也不用担心应用运行的具体位置;
(3)高可靠性:“云”使用了数据多副本容错、计算节点同构可互换等措施来保障服务的高可靠性,使用云计算比使用本地计算机可靠;
(4)通用性:云计算不针对特定的应用,在“云”的支撑下可以构造出千变万化的应用,同一个“云”可以同时支撑不同的应用运行;
(5)高可扩展性:“云”的规模可以动态伸缩,满足应用和用户规模增长的需要;
(6)极其廉价:由于“云”的特殊容错措施可以采用极其廉价的节点来构成云。
云计算系统整合了多个计算机,每个计算机都是系统中的一个节点,但是云计算系统中如何整合多个计算机,以实现高效的数据处理,则是一个需要研究的课题。
发明内容
针对上述技术问题,本发明提供了一种可实现高效的数据处理的分组计算的云计算系统。
本发明提供的技术方案为:
一种分组计算的云计算系统,包括:
a个空闲节点;
b个存储节点,每个存储节点存储有至少一个待计算数据包;
c个计算节点;
管理节点,其评估b个存储节点,并为符合条件的f个存储节点配置组,并为不符合条件的g个存储节点标记为g个空闲的存储节点,b=f+g:
当一个存储节点的待计算数据包的个数d满足d≥5,并且,所有的待计算数据包的大小e大于等于该存储节点的存储空间的60%,则管理节点对该存储节点进行配置,配置过程为:管理节点为该存储节点建立一个组,并为该组再分配d个计算节点和一个空闲节点,在被管理节点分配给该组之前,该d个计算节点不属于任意一个组,所述管理节点将空闲节点配置为代理节点,设置代理节点可与组内的存储节点以及d个计算节点通信,并且设置存储节点和d个计算节点不与组外的任意节点通信,设置代理节点不与组外的与除管理节点以外的任意节点通信;
所述管理节点对一个存储节点配置完成后,代理节点与组内的d个计算节点通信,使d个计算节点依次与存储节点通信,每个计算节点从所述存储节点获取一个待计算数据包,并执行计算,当一个计算节点完成一个待计算数据包的计算后,就将计算结果提交给代理节点,代理节点将结算结果提交给管理节点,并将完成计算的计算节点从组内注销,直至所有的计算节点都完成计算,则管理节点将该组内的代理节点重新标记为空闲节点,并将该组注销;
当一个存储节点的待计算数据包的个数d满足0≤d<5时,或者,当一个存储节点的所有的待计算数据包的大小e小于该存储节点的存储空间的60%,则管理节点将该存储节点标记为空闲的存储节点,并允许该空闲的存储节点存储新的待计算数据包。
优选的是,所述的分组计算的云计算系统中,
所述管理节点构建节点组织关系表,该节点组织关系表包括当前的f个组、每个组内的存储节点的身份标识、每个组内的计算节点的身份标识、每个组内的代理节点的身份标识、当前的g个空闲的存储节点的身份标识、组外的所有的计算节点的身份标识以及所有的空闲节点的身份标识;
所述管理节点实时更新所述节点组织关系表。
优选的是,所述的分组计算的云计算系统中,所述节点组织关系表内的所有的存储节点、所有的计算节点、所有的代理节点以及所有的空闲节点的身份标识都可以用各自的IP地址为表示。
优选的是,所述的分组计算的云计算系统中,所述管理节点每隔一时间段t对b个存储节点进行一次评估。
优选的是,所述的分组计算的云计算系统中,所述时间段t为:所有的组中,第一个完成计算的计算节点从接受到一个待计算数据包到完成对该待计算数据包的计算的时间。
本发明所述的分组计算的云计算系统具有以下有益效果:本发明的分组计算的云计算系统包括有a个空闲节点、b个存储节点和c个计算节点;对于每个符合条件的存储节点,管理节点都为其建立一个组,并依据其所具有的待计算数据包的个数为其分配计算节点,每个计算节点进行一个待计算数据包的计算,同时为该组分配一个代理节点,存储节点和计算节点仅与组内的节点通信,代理节点仅与管理节点通信;同时,对于不符合条件的存储节点,则允许其继续存储新的待计算数据包。基于上述设计,符合条件的存储节点就进行运算,不符合条件的存储节点则继续接受新的待计算数据包,这样可以保证整个云计算系统的有序的高效的运行;进行运算的存储节点不受外界的干扰,保证了数据的安全性,运算过程和运算结果都不易被外界获取或篡改。
附图说明
图1为本发明所述的分组计算的云计算系统的结构示意图。
具体实施方式
下面结合附图对本发明做进一步的详细说明,以令本领域技术人员参照说明书文字能够据以实施。
如图1所示,本发明提供一种分组计算的云计算系统,包括:a个空闲节点;b个存储节点,每个存储节点存储有至少一个待计算数据包;c个计算节点;管理节点,其评估b个存储节点,并为符合条件的f个存储节点配置组,并为不符合条件的g个存储节点标记为g个空闲的存储节点,b=f+g。分组计算的云计算系统中包括有多个节点,每个节点实现不同的功能。
其中,当一个存储节点的待计算数据包的个数d满足d≥5,并且,所有的待计算数据包的大小e大于等于该存储节点的存储空间的60%,则管理节点对该存储节点进行配置,配置过程为:管理节点为该存储节点建立一个组,并为该组再分配d个计算节点和一个空闲节点,在被管理节点分配给该组之前,该d个计算节点不属于任意一个组,所述管理节点将空闲节点配置为代理节点,设置代理节点可与组内的存储节点以及d个计算节点通信,并且设置存储节点和d个计算节点不与组外的任意节点通信,设置代理节点不与组外的与除管理节点以外的任意节点通信。
当存储节点内的待计算数据包的个数满足d≥5,并且,所有的待计算数据包的大小e大于等于该存储节点的存储空间的60%,这是为了保证运算的效率,当存储节点内的待计算数据包的个数过多,或者,占用了过多的存储空间时,可能会导致计算节点提取待计算数据包的速度的下降,或者,导致运算速度减慢。
对于建立起来的任何一个组,存储节点和d个计算节点不与组外的任意节点通信,并且,代理节点也不与除管理节点以外的任意节点通信。这样就使得该组相对外界处于隔离状态,可最大程度降低外界对于组内的干扰,保证运算的高效进行,也保证运算过程以及计算结果的安全性。
组内仅代理节点可与管理节点通信,而其他节点不与组外通信,可以通过组播技术实现;也可以通过设置密码来实现,对于一个组,在每个节点都开启密码验证模块,举例来说,当计算节点要与存储节点通信时,就先发送组内的密码,当存储节点通过密码验证,才与该计算节点通信,如果一个计算节点没有位于该组,则该计算节点不会发送密码,其通信请求就会被拒绝。密码可以由该组建立之后,由该组的代理节点生成。
所述管理节点对一个存储节点配置完成后,代理节点与组内的d个计算节点通信,使d个计算节点依次与存储节点通信,每个计算节点从所述存储节点获取一个待计算数据包,并执行计算,当一个计算节点完成一个待计算数据包的计算后,就将计算结果提交给代理节点,代理节点将结算结果提交给管理节点,并将完成计算的计算节点从组内注销,直至所有的计算节点都完成计算,则管理节点将该组内的代理节点重新标记为空闲节点,并将该组注销。
每个计算节点仅处理一个待计算数据包,完成运算后,该计算节点就被注销;被从一个组内注销的计算节点可以在管理节点建立其他组时,继续参与到其他组的计算中去,这就可以有效的平衡分组计算的云计算系统内的资源。同时,代理节点由管理节点临时指定,被在一个组内代理执行管理节点的功能,也是为了一方面可以实现对组内各节点的有效管理,另一方面又不过多的依赖管理节点,造成管理节点的任务过重。
当一个存储节点的待计算数据包的个数d满足0≤d<5时,或者,当一个存储节点的所有的待计算数据包的大小e小于该存储节点的存储空间的60%,则管理节点将该存储节点标记为空闲的存储节点,并允许该空闲的存储节点存储新的待计算数据包。
所述的分组计算的云计算系统中,所述管理节点构建节点组织关系表,该节点组织关系表包括当前的f个组、每个组内的存储节点的身份标识、每个组内的计算节点的身份标识、每个组内的代理节点的身份标识、当前的g个空闲的存储节点的身份标识、组外的所有的计算节点的身份标识以及所有的空闲节点的身份标识;所述管理节点实时更新所述节点组织关系表。
管理节点将所建立的组、组内的所有节点以及组外的所有节点都记录下来,并定时更新该表,比如某一个计算节点从一个组内注销,则该计算节点在节点组织关系表内的位置和状态就发生了改变。
所述的分组计算的云计算系统中,所述节点组织关系表内的所有的存储节点、所有的计算节点、所有的代理节点以及所有的空闲节点的身份标识都可以用各自的IP地址为表示。
所述的分组计算的云计算系统中,所述管理节点每隔一时间段t对b个存储节点进行一次评估。评估可以以一个的时间间隔t以轮询的方式进行。
所述的分组计算的云计算系统中,所述时间段t为:所有的组中,第一个完成计算的计算节点从接受到一个待计算数据包到完成对该待计算数据包的计算的时间。在分组计算的云计算系统运行之初,在最早的建立起来的一批组内,第一个完成计算的计算节点从接受到一个待计算数据包到完成对该待计算数据包的计算的时间,可以作为评估的时间间隔,这样可以保证及时对分组计算的云计算系统进行更新,保证整个系统的工作效率。
尽管本发明的实施方案已公开如上,但其并不仅仅限于说明书和实施方式中所列运用,它完全可以被适用于各种适合本发明的领域,对于熟悉本领域的人员而言,可容易地实现另外的修改,因此在不背离权利要求及等同范围所限定的一般概念下,本发明并不限于特定的细节和这里示出与描述的图例。