一种基于云计算平台的缓存服务节点的调度方法和设备的制作方法
【专利摘要】本发明公开了一种基于云计算平台的缓存服务节点的调度方法和设备,主要内容包括:接收本地开发引擎确定的待存储数据的位置信息,根据预设的映射关系,确定所述位置信息对应本地缓存节点集群中的多个缓存服务节点的标识信息,并根据确定的多个缓存服务节点的标识信息,选择至少两个标识信息对应的缓存服务节点,将所述待存储数据存储至选择的缓存服务节点中,这样不仅能够避免开发者必须实时联网才能获得云计算运行引擎平台的缓存服务的情形,而且还能够为本地开发引擎提供多个缓存服务节点,降低单缓存服务节点故障引发的风险,提高使用云计算运行引擎平台中缓存服务节点灵活性和可靠性。
【专利说明】一种基于云计算平台的缓存服务节点的调度方法和设备
【技术领域】
[0001]本发明涉及计算机缓存服务应用领域,尤其涉及一种基于云计算平台的缓存服务节点的调度方法和设备。
【背景技术】
[0002]随着计算机技术的不断发展,云计算技术已成为当今计算机信息技术发展的重要方向。所谓云计算技术是指基于互联网的相关服务的增加、使用和交付模式,通常涉及通过互联网来提供动态易扩展且虚拟化的网络资源。云计算技术在使用过程中主要分为三个方面:基础设施级服务、平台级服务和软件级服务,其中:平台级服务是指将软件研发的平台作为一种服务,并把各种服务资源开放式地提供给开发者,对使用的资源进行合理收费,同时对开发的应用程序进行托管运营和维护,例如:缓存服务。
[0003]缓存服务是云计算运行引擎平台为开发者提供的分布式缓存服务,用来以共享的方式缓存开发者的非关键性小数据。具体地,首先,开发者在开发云计算应用程序时,可通过申请获取使用云计算运行引擎平台中缓存提供的服务,包括:开通缓存服务、确定缓存服务节点、写缓存数据、读缓存数据、设置过期时间和关闭缓存服务等操作;其次,开发者通过标准缓存服务API接口将缓存的数据读写至申请的缓存服务节点中。
[0004]由于开发者需要共享缓存一些Key-value键值对形式的小数据,对缓存数据的一致性以及缓存速率要求都比较高,因此采用云计算运行引擎平台提供的缓存服务节点,不仅可以快速进行数据响应,而且可以减轻后台服务器的存储压力。
[0005]在现有技术中,使用云计算运行引擎平台提供的缓存服务的方式有两种:第一种方式是通过互联网直接使用云计算运行引擎平台提供的缓存服务节点;第二种方式是在开发者本地单机模拟云计算运行引擎平台提供的缓存服务节点。
[0006]具体地,第一种方式,即通过互联网直接使用云计算运行引擎平台提供的缓存服务节点,具体方式包括:
[0007]基于开发者本地的开发引擎统一集成开发工具,将开发完的云计算应用程序部署到云计算运行引擎平台后,通过查看云计算运行引擎平台的运行日志,确定进程调试使用云计算的缓存服务节点cache,如图1所示,为通过互联网使用云计算运行引擎平台缓存服务节点的示意图。
[0008]但是这种方式必须要求开发者在能够连接互联网的状态下,才可对申请的云计算运行引擎的缓存服务节点进行使用,这样对应用程序的调试环境提出了相对较高的要求;此外由于开发者技术水平参差不齐,有可能带有不好的编程习惯,往往对已使用过的缓存服务节点不能及时调用API方法释放相应的缓存资源,将造成云计算运行引擎平台中缓存资源的浪费。
[0009]为了克服第一种方式存在的缺陷,在实际应用中出现了第二种方式,即在开发者本地单机模拟云计算运行引擎平台提供的缓存服务节点,具体包括:
[0010]在本地预安装一个能够模拟云计算引擎平台提供的缓存服务的缓存服务节点cache,这样将通过互联网使用云计算引擎平台提供的缓存服务转变成为调用本地的缓存服务,如图2所示,为本地单机模拟云计算引擎平台提供的缓存服务节点的示意图,这样不仅实现了对缓存服务节点应用的实时监控,而且也能够避免由于程序运行结束不及时释放缓存服务节点而对云计算引擎平台的缓存资源造成的浪费情况。
[0011]但是,第二种方式在使用过程中没有考虑到大量云计算应用程序集中使用缓存服务节点的情形,有限地在本地安装一个模拟的缓存服务节点cache,将无法满足开发者的并发请求,并且,一旦模拟的缓存服务节点cache出现故障,将会导致运行数据的丢失,因此,采用第二种方式使用云计算运行引擎平台提供的缓存服务存在针对集群系统的可靠性较差,单一的缓存服务存在较高的单点故障的风险。
[0012]由此可见,现有技术中,在使用云计算运行引擎平台中的缓存服务时,存在调度缓存服务节点的灵活性和可靠性差,导致使用单个缓存服务节点时面临较大的单点故障风险。
【发明内容】
[0013]本发明实施例提供了一种基于云计算平台的缓存服务节点的调度方法和设备,用于解决现有技术中在使用云计算运行引擎平台中的缓存服务时,存在调度缓存服务节点的灵活性和可靠性差,导致使用缓存服务节点面临较大的单点故障风险的问题。
[0014]一种基于云计算平台的缓存服务节点的调度方法,所述方法包括:
[0015]接收本地开发引擎确定的待存储数据的位置信息,所述待存储数据是在本地开发引擎中调试云计算应用程序时产生的,所述位置信息是待存储数据存储至云计算运行引擎平台中缓存服务节点的标识信息;
[0016]根据预设的云计算运行引擎平台中缓存服务节点的标识信息与本地缓存节点集群中的缓存服务节点的标识信息之间的映射关系,确定所述位置信息对应本地缓存节点集群中的多个缓存服务节点的标识信息;
[0017]根据确定的多个缓存服务节点的标识信息,选择至少两个标识信息对应的缓存服务节点,并将所述待存储数据存储至选择的缓存服务节点中。
[0018]一种基于云计算平台的缓存服务节点的调度设备,所述设备包括:
[0019]接收模块,用于接收本地开发引擎确定的待存储数据的位置信息,所述待存储数据是在本地开发引擎中调试云计算应用程序时产生的,所述位置信息是待存储数据存储至云计算运行引擎平台中缓存服务节点的标识信息;
[0020]确定模块,用于根据预设的云计算运行引擎平台中缓存服务节点的标识信息与本地缓存节点集群中的缓存服务节点的标识信息之间的映射关系,确定所述位置信息对应本地缓存节点集群中的多个缓存服务节点的标识信息;
[0021]调度模块,用于根据确定的多个缓存服务节点的标识信息,选择至少两个标识信息对应的缓存服务节点,并将所述待存储数据存储至选择的缓存服务节点中。
[0022]本发明有益效果如下:
[0023]本发明实施例在本地开发引擎平台中模拟云计算运行引擎平台中的多个缓存服务节点,接收本地开发引擎确定的待存储数据的位置信息,根据预设的云计算运行引擎平台中缓存服务节点的标识信息与本地缓存节点集群中的缓存服务节点的标识信息之间的映射关系,确定所述位置信息对应本地缓存节点集群中的多个缓存服务节点的标识信息,并根据确定的多个缓存服务节点的标识信息,选择至少两个标识信息对应的缓存服务节点,并将所述待存储数据存储至选择的缓存服务节点中,这样不仅能够避免开发者必须实时联网才能获得云计算运行引擎平台的缓存服务的情形,而且还能够为本地开发引擎提供多个缓存服务节点,降低单缓存服务节点故障引发的风险,提高使用云计算运行引擎平台中缓存服务节点灵活性和可靠性。
【专利附图】
【附图说明】
[0024]图1为通过互联网使用云计算运行引擎平台缓存服务节点的示意图;
[0025]图2为本地单机模拟云计算引擎平台提供的缓存服务节点的示意图;
[0026]图3为本发明实施例一的一种基于云计算平台的缓存服务节点的调度方法的示意图;
[0027]图4为各个缓存服务节点在本地缓存节点集群中的分布示意图;
[0028]图5为本发明实施例二的一种基于云计算平台的缓存服务节点的调度方法的示意图;
[0029]图6为拆分后的环形缓存节点群中各个子缓存服务节点的分布示意图;
[0030]图7为本地开发引擎使用本地缓存节点集群的示意图;
[0031]图8为本实施例三的一种基于云计算平台的缓存服务节点的调度设备的结构示意图。
【具体实施方式】
[0032]为了实现本发明的目的,本发明实施例提供了一种基于云计算平台的缓存服务节点的调度方法和设备,通过接收本地开发引擎确定的待存储数据的位置信息,根据预设的云计算运行引擎平台中缓存服务节点的标识信息与本地缓存节点集群中的缓存服务节点的标识信息之间的映射关系,确定所述位置信息对应本地缓存节点集群中的多个缓存服务节点的标识信息,并根据确定的多个缓存服务节点的标识信息,选择至少两个标识信息对应的缓存服务节点,并将所述待存储数据存储至选择的缓存服务节点中。
[0033]与现有技术相比,通过在本地开发引擎平台中模拟云计算运行引擎平台中的多个缓存服务节点,根据预设的云计算运行引擎平台中缓存服务节点的标识信息与本地缓存节点集群中的缓存服务节点的标识信息之间的映射关系,确定待存储数据的位置信息对应本地缓存节点集群中的多个缓存服务节点的标识信息,再根据确定的多个缓存服务节点的标识信息,选择至少两个标识信息对应的缓存服务节点,并将所述待存储数据存储至选择的缓存服务节点中,这样不仅能够避免开发者必须实时联网才能获得云计算运行引擎平台的缓存服务的情形,而且还能够为本地开发引擎提供多个缓存服务节点,降低单缓存服务节点故障引发的风险,提高使用云计算运行引擎平台中缓存服务节点灵活性和可靠性。
[0034]下面结合说明书附图对本发明的各实施例进行详细描述。
[0035]实施例一:
[0036]如图3所示,为本发明实施例一的一种基于云计算平台的缓存服务节点的调度方法的示意图,所述方法包括:[0037]步骤101:预设的云计算运行引擎平台中缓存服务节点的标识信息与本地缓存节点集群中的缓存服务节点的标识信息之间的映射关系。
[0038]在步骤101中,预设云计算运行引擎平台中一个缓存服务节点的标识信息与本地缓存节点集群中的至少两个缓存服务节点的标识信息之间的映射关系。
[0039]也就是说,在本地缓存节点集群中模拟云计算运行引擎平台中的缓存服务节点时,建立本地缓存服务节点集群中的多个缓存服务节点的标识信息与云计算运行引擎平台中的一个缓存服务节点的标识信息之间的映射关系,这种多对一的映射关系,确保了缓存至本地缓存节点集群中的数据在存储时的灵活性,同时避免了现有技术中存储时出现单点故障的风险。
[0040]具体地,当本地缓存服务节点集群中的多个缓存服务节点的标识信息与云计算运行引擎平台中的一个缓存服务节点的标识信息之间存在映射关系时,设定本地缓存节点集群中的多个缓存服务节点的标识信息之间具有主从映射关系,其中,一个标识信息对应主缓存服务节点,其他标识信息对应从缓存服务节点。
[0041]所述多个缓存服务节点表示至少两个缓存服务节点。
[0042]步骤102:确定本地缓存节点集群中各个缓存服务节点的标识信息。
[0043]在步骤102中,由于云计算运行引擎平台中的缓存服务是本地模拟的目标缓存服务,利用云计算运行引擎平台中分布式缓存服务方式,为本地开发引擎的应用程序提供缓存服务,这样就需要在本地缓存节点集群中模拟云计算运行引擎平台中的各个缓存服务节点,模拟的方式可以通过步骤101的方式实现。
[0044]所述本地缓存节点集群可以是环形缓存节点集群,也可以是其他形式的缓存节点集群。当本地的缓存节点集群是环形缓存节点集群时,将环形缓存节点集群圆周周长设置为232,保证了本地缓存节点集群中有足够的缓存节点供本地开发引擎使用,其中,所有的模拟云计算运行引擎平台中的缓存服务节点都将分布在该环形缓存节点集群中,如图4所示,为各个缓存服务节点在本地缓存节点集群中的分布示意图。
[0045]具体地,确定本地缓存节点集群中多个缓存服务节点的标识信息的方式为:
[0046]首先,确定一个IP地址。
[0047]其中,所述IP地址是本地缓存节点集群中的一个缓存服务节点对应与云计算运行引擎平台中的一个缓存服务节点的IP地址。
[0048]具体地,为了对云计算运行引擎平台中缓存服务节点进行区别,可以通过为每一个缓存服务节点分配相应的IP地址,当开发者需要使用云计算运行引擎平台中缓存服务节点时,从云计算运行引擎平台中获取该缓存服务节点的IP地址,并通过互联网将需要缓存的数据存储在所述IP地址对应的缓存服务节点中,因此,在模拟云计算运行引擎平台中的缓存服务节点时,可以在云计算运行引擎平台中获取每一个缓存服务节点的IP地址。
[0049]例如:通过模拟方式得到本地缓存节点集群中的缓存服务节点A对应与云计算运行引擎平台中的缓存服务节点11,此时确定的IP地址就是云计算运行引擎平台中的缓存服务节点11在云计算运行引擎平台中的IP地址。
[0050]其次,利用所述IP地址进行哈希运算后得到相应的第一哈希值。
[0051]具体地,利用哈希算法对得到的每一个缓存服务节点的IP地址进行哈希运算,得到相应的第一哈希值。[0052]需要说明的是,这里的计算所使用的算法不一定必须是哈希算法,还可以是其他算法,为了保证缓存服务节点能够均匀的分布在本地缓存节点集群中,优选哈希算法。
[0053]最后,根据得到的第一哈希值确定本地缓存节点集群中中该缓存服务节点的标识信息。
[0054]具体地,将得到的第一哈希值作为本地缓存节点集群中该缓存节点的标识信息。
[0055]步骤103:接收本地开发引擎确定的待存储数据的位置信息。
[0056]其中,所述待存储数据是在本地开发引擎中调试云计算应用程序时产生的,所述位置信息是待存储数据存储至云计算运行引擎平台中缓存服务节点的标识信息。
[0057]在步骤103中,所述调试云计算应用程序时产生的待存储的数据可以是Key-value键值对形式的非关键性小数据。由于缓存服务是以共享的方式为开发者Key-value键值对形式的非关键性小数据提供服务,因此,需要为本地开发引擎中的非关键性小数据确定相应的缓存服务节点,以方便在该缓存服务节点存放非关键性小数据。
[0058]在为本地开发引擎中的非关键性小数据确定相应的缓存服务节点之前,首先需要确定该待存储数据待存储的位置信息,具体包括:
[0059]首先,确定在本地开发引擎中调试云计算应用程序时产生的待存储数据的属性值。
[0060]具体地,针对待存储的每一个非关键性小数据,查找与其对应的Key值,并将找到Key值作为该数据的属性信息。
[0061]需要说明的是,这里涉及的数据的属性值不限于Key值,还可以是其他表征数据自身属性的参数值。
[0062]其次,利用预设的哈希算法对确定的所述属性值进行哈希运算得到第二哈希值。
[0063]需要说明的是,上述计算所使用的算法不一定必须是哈希算法,还可以是其他算法,为了保证数据能够准确地确定待存储的缓存服务节点,优选与确定缓存服务节点分布位置相同的算法一哈希算法。
[0064]最后,将所述第二哈希值作为该待存储数据的位置信息。
[0065]由于在现有技术中待存储数据将存放至云计算运行引擎平台中的缓存服务节点中,因此,确定的待存储数据的位置信息可以用来确定存储在云计算运行引擎平台中的哪个缓存服务节点上,因此,所述位置信息是待存储数据存储至云计算运行引擎平台中缓存服务节点的标识信息。
[0066]在确定待存储数据的位置信息之后,将通过该位置信息得到待存储数据存放的云计算运行引擎平台中缓存服务节点的标识信息。
[0067]步骤104:根据步骤101预设的映射关系,确定所述位置信息对应本地缓存节点集群中的多个缓存服务节点的标识信息。
[0068]步骤105:根据确定的多个缓存服务节点的标识信息,选择至少两个标识信息对应的缓存服务节点。
[0069]较优地,当确定的多个缓存服务节点的标识信息之间具有主从映射关系时,从确定的多个缓存服务节点的标识信息中选择至少两个缓存服务节点,具体包括:从确定的多个缓存服务节点的标识信息中选择一个主缓存服务节点和该主缓存服务节点对应的一个从缓存服务节点。[0070]步骤106:将所述待存储数据存储至选择的缓存服务节点中。
[0071]较优地,当选择的缓存服务节点中包含一个主缓存服务节点和一个从缓存服务节点时,将所述待存储数据存储至选择的主缓存服务节点中,并将该主缓存服务节点中存储的数据备份至选择的从缓存服务节点中。
[0072]通过本实施例一的方案,在本地开发引擎平台中模拟云计算运行引擎平台中的多个缓存服务节点,接收本地开发引擎确定的待存储数据的位置信息,根据预设的云计算运行引擎平台中缓存服务节点的标识信息与本地缓存节点集群中的缓存服务节点的标识信息之间的映射关系,确定所述位置信息对应本地缓存节点集群中的多个缓存服务节点的标识信息,并根据确定的多个缓存服务节点的标识信息,选择至少两个标识信息对应的缓存服务节点,并将所述待存储数据存储至选择的缓存服务节点中,这样不仅能够避免开发者必须实时联网才能获得云计算运行引擎平台的缓存服务的情形,而且还能够为本地开发引擎提供多个缓存服务节点,降低单缓存服务节点故障引发的风险,提高使用云计算运行引擎平台中缓存服务节点灵活性和可靠性。
[0073]实施例二:
[0074]如图5所示,为本发明实施例二的一种基于云计算平台的缓存服务节点的调度方法的示意图,本实施例二是对实施例一中各个步骤的详细描述。所述方法包括:
[0075]步骤201:预设云计算运行引擎平台中缓存服务节点的标识信息与本地缓存节点集群中的缓存服务节点的标识信息之间的映射关系。
[0076]在步骤201中,为了保证本地开发引擎中的数据能够均匀分布在各模拟的缓存服务节点中,防止有些缓存服务节点存储数据较多,或者有些缓存服务节点存储数据较少的情形,在确定本地缓存节点集群中各个缓存服务节点的分布地址信息之前,可以为多个缓存服务节点设置虚拟缓存服务节点,具体方式为:
[0077]将本地缓存节点集群中的一个缓存服务节点拆分为多个子缓存服务节点,如图6所示,为拆分后的环形缓存节点群中各个子缓存服务节点的分布示意图。
[0078]其中,多个子缓存服务节点又称为该缓存服务节点的虚拟节点。
[0079]例如:缓存服务节点cache A,经过拆分操作后得到的两个子缓存服务节点cacheAl和cache A2,那么存储在cache Al和cache A2的数据最终都归属于cache A,这样通过变相增加子缓存服务节点的方法,使得数据分配到每个子缓存服务节点,在经过聚合后使得各个缓存服务节点中的数据达到平衡分布的目的。
[0080]需要说明的是,将缓存服务节点进行拆分的操作可以是在实施例一的步骤106之后执行,也可以是在实施例一的步骤101之前执行。在实施例一的步骤106之后执行,是当发现本地缓存节点集群中各个缓存服务节点中存储的数据不均衡时的一种补救措施,使得之后存储的数据能够保证本地缓存节点集群中各个缓存服务节点中存储的数量达到相对均衡;在实施例一的步骤101之前执行,是为了避免出现本地缓存节点集群中各个缓存服务节点中存储的数据不均衡这一现象的预防措施,具体执行的时间根据开发者的需要自行设置,这里不限于本实施例的这种执行顺序。
[0081]对于拆分得到的子缓存服务节点,需要预设云计算运行引擎平台中一个缓存服务节点的标识信息与本地缓存节点集群中的一个缓存服务节点对应的多个子缓存服务节点的标识信息之间的映射关系。[0082]步骤202:确定本地缓存节点集群中各个缓存服务节点的标识信息。
[0083]在步骤202中,对于没有拆分的缓存服务节点的标识信息的确定方法可以通过实施例一步骤102的方式得到;但是对于拆分后的子缓存服务节点,通过以下方式确定本地缓存节点集群中的一个缓存服务节点对应的多个子缓存服务节点的标识信息:
[0084]首先,确定一个缓存服务节点对应与云计算运行引擎平台中的一个缓存服务节点的IP地址。
[0085]其次,将该IP地址和一个缓存服务节点对应的一个子缓存服务节点的序号进行组合后,利用哈希算法得到第三哈希值。
[0086]具体地,每一个缓存服务节点(例如:cacheA)的子缓存服务节点(cache Al)可以表示为:cache A的IP#1。
[0087]第三,根据得到的第三哈希值确定该子缓存服务节点在本地缓存节点集群中的标识息。
[0088]具体地,对cache A的IP#1进行哈希运算,得到cacheAl对应的第三哈希值。
[0089]最后,根据得到的第三哈希值确定每一个子缓存服务节点在本地缓存节点集群中的分布地址信息。
[0090]步骤203:接收本地开发引擎确定的待存储数据的位置信息。
[0091]其中,所述待存储数据是在本地开发引擎中调试云计算应用程序时产生的,所述位置信息是待存储数据存储至云计算运行引擎平台中缓存服务节点的标识信息。
[0092]步骤204:根据预设的云计算运行引擎平台中缓存服务节点的标识信息与本地缓存节点集群中的缓存服务节点的标识信息之间的映射关系,确定所述位置信息对应本地缓存节点集群中的多个缓存服务节点的标识信息。
[0093]步骤205:根据确定的多个缓存服务节点的标识信息,选择至少两个标识信息对应的缓存服务节点。
[0094]其中,一个标识信息对应主缓存服务节点,另一个标识信息对应从缓存服务节点。
[0095]在步骤205中,选择缓存服务节点之后,判断选择的主缓存服务节点是否是故障节点,若是,则沿着设定的查找方向,将临近该主缓存服务节点的下一个节点作为选择的主缓存服务节点。
[0096]所述设定的查找方向可以是顺时针的方向,也可以是逆时针的方向。
[0097]根据新选择的主缓存服务节点确定该主缓存服务节点对应的一个从缓存服务节点。
[0098]步骤206:将所述待存储数据存储至选择的主缓存服务节点中。
[0099]步骤207:将该主缓存服务节点中存储的数据备份至选择的从缓存服务节点中。
[0100]为了保证该缓存服务节点在数据存储过程中发生故障,导致该缓存服务节点中存储的数据的丢失,在本发明的实施例中,还可以预先为每一个缓存服务节点复制备份一个从缓存服务节点,这样保证了本地缓存节点集群的稳定性和可靠性。
[0101]较优地,将所述数据存储至所述缓存服务节点之后,若确定此时在本地缓存节点集群中增加了一个缓存服务节点,则将该新增加的缓存服务节点优选作为存储之后产生的待存储的数据的缓存服务节点。
[0102]此外,如图7所示,为本地开发引擎使用本地缓存节点集群的示意图。[0103]本地开发引擎对本地缓存节点集群的方法主要包括:开启cache缓存服务、查询本地缓存服务数据、修改本地缓存服务数据和增加本地缓存服务数据等操作,具体方式为:
[0104]1、在调用开启cache缓存服务时,通过open ()方法启动缓存服务。
[0105]2、通过调用select (APPID)方法查询本地缓存节点集群中的缓存数据。
[0106]3、通过调用modify (APPID,Key)方法修改本地缓存节点集群中的缓存数据。
[0107]具体地,通过修改APPID应用程序的Key键值所对应的数据内容。
[0108]4、通过调用add (APPID, Key, Value)方法新增本地缓存节点集群中的缓存数据。
[0109]具体地,通过向APPID应用程序的缓存中添加Key/Value键值对数据。
[0110]5、通过调用set Expire Time (APPID, Key, Value)方法设置缓存过期时间。
[0111]具体地,将APPID应用程序的缓存中Key键值对应的缓存数据设置过期时间time。
[0112]6、通过调用delete (APPID, Key)方法删除已缓存的数据。
[0113]具体地,将APPID应用程序的缓存中Key键值对应的缓存数据删除。
[0114]7、通过调用flush (APPID)方法清空APPID的应用程序的缓存数据。
[0115]8、通过调用Is FuII(APPID)方法判断缓存是否为空。
[0116]9、通过调用save (APPID)方法将APPID的应用程序的缓存数据进行数据持久化保存。
[0117]10、通过调用close ()方法关闭cache缓存服务。
[0118]其中,APPID是唯一标识应用程序的标识信息。
[0119]实施例三:
[0120]如图8所示,为本实施例三的一种基于云计算平台的缓存服务节点的调度设备的结构示意图,所述设备包括:接收模块11、确定模块12和调度模块13,其中:
[0121]接收模块11,用于接收本地开发引擎确定的待存储数据的位置信息,所述待存储数据是在本地开发引擎中调试云计算应用程序时产生的,所述位置信息是待存储数据存储至云计算运行引擎平台中缓存服务节点的标识信息;
[0122]确定模块12,用于根据预设的云计算运行引擎平台中缓存服务节点的标识信息与本地缓存节点集群中的缓存服务节点的标识信息之间的映射关系,确定所述位置信息对应本地缓存节点集群中的多个缓存服务节点的标识信息;
[0123]调度模块13,用于根据确定的多个缓存服务节点的标识信息,选择至少两个标识信息对应的缓存服务节点,并将所述待存储数据存储至选择的缓存服务节点中。
[0124]具体地,所述确定模块12,具体用于预设云计算运行引擎平台中一个缓存服务节点的标识信息与本地缓存节点集群中的至少两个缓存服务节点的标识信息之间的映射关系O
[0125]当所述与云计算运行引擎平台中一个缓存服务节点对应的本地缓存节点集群中的至少两个缓存服务节点满以下条件:本地缓存节点集群中的至少两个缓存服务节点之间具有主从映射关系,其中,一个标识信息对应主缓存服务节点,其他标识信息对应从缓存服务节点时,所述调度模块13,具体用于从确定的多个缓存服务节点的标识信息中选择一个主缓存服务节点和该主缓存服务节点对应的一个从缓存服务节点,并将所述待存储数据存储至选择的主缓存服务节点中,并将该主缓存服务节点中存储的数据备份至选择的从缓存服务节点中。
[0126]所述确定模块12,具体用于通过以下方式确定本地缓存节点集群中的各个缓存服务节点的标识信息:
[0127]确定一个IP地址,所述IP地址是本地缓存节点集群中的一个缓存服务节点对应与云计算运行引擎平台中的一个缓存服务节点的IP地址;
[0128]利用所述IP地址进行哈希运算后得到相应的第一哈希值;
[0129]根据得到的第一哈希值确定本地缓存节点集群中该缓存服务节点的标识信息。
[0130]较优地,所述设备还包括:判断模块14,其中:
[0131]判断模块14,用于在选择缓存服务节点之后,将所述待存储的数据存储至选择的缓存服务节点之前,判断选择的主缓存服务节点是否是故障节点,若是,则触发调度模块13。
[0132]所述调度模块13,具体用于沿着设定的查找方向,将临近该主缓存服务节点的下一个节点作为选择的主缓存服务节点,并根据新选择的主缓存服务节点确定该主缓存服务节点对应的一个从缓存服务节点。
[0133]所述设备还包括:拆分模块15,其中:
[0134]拆分模块15,用于在预设云计算运行引擎平台中缓存服务节点的标识信息与本地缓存节点集群中的缓存服务节点的标识信息之间的映射关系之前,将本地缓存节点集群中的一个缓存服务节点拆分为多个子缓存服务节点。
[0135]所述确定模块12,具体用于预设云计算运行引擎平台中一个缓存服务节点的标识信息与本地缓存节点集群中的一个缓存服务节点对应的多个子缓存服务节点的标识信息之间的映射关系。
[0136]所述确定模块12,具体用于通过以下方式确定本地缓存节点集群中的一个缓存服务节点对应的多个子缓存服务节点的标识信息:
[0137]确定一个缓存服务节点对应与云计算运行引擎平台中的一个缓存服务节点的IP地址;
[0138]将该IP地址和一个缓存服务节点对应的一个子缓存服务节点的序号进行组合后,利用哈希算法得到第三哈希值;
[0139]根据得到的第三哈希值确定该子缓存服务节点在本地缓存节点集群中的标识信
肩、O
[0140]显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
【权利要求】
1.一种基于云计算平台的缓存服务节点的调度方法,其特征在于,所述方法包括: 接收本地开发引擎确定的待存储数据的位置信息,所述待存储数据是在本地开发引擎中调试云计算应用程序时产生的,所述位置信息是待存储数据存储至云计算运行引擎平台中缓存服务节点的标识信息; 根据预设的云计算运行引擎平台中缓存服务节点的标识信息与本地缓存节点集群中的缓存服务节点的标识信息之间的映射关系,确定所述位置信息对应本地缓存节点集群中的多个缓存服务节点的标识信息; 根据确定的多个缓存服务节点的标识信息,选择至少两个标识信息对应的缓存服务节点,并将所述待存储数据存储至选择的缓存服务节点中。
2.如权利要求1所述的方法,其特征在于,预设云计算运行引擎平台中缓存服务节点的标识信息与本地缓存节点集群中的缓存服务节点的标识信息之间的映射关系,具体包括: 预设云计算运行引擎平台中一个缓存服务节点的标识信息与本地缓存节点集群中的至少两个缓存服务节点的标识信息之间的映射关系。
3.如权利要求2所述的方法,其特征在于,所述与云计算运行引擎平台中一个缓存服务节点对应的本地缓存节点集群中的至少两个缓存服务节点的标识信息满足以下条件: 本地缓存节点集群中的至少两个缓存服务节点的标识信息之间具有主从映射关系,其中,一个标识信息对应主缓存服务节点,其他标识信息对应从缓存服务节点; 从确定的多个缓存服务节点的标识信息中选择至少两个缓存服务节点,具体包括:从确定的多个缓存服务节点的标识信息中选择一个主缓存服务节点和该主缓存服务节点对应的一个从缓存服务节点; 将所述待存储数据存储至选择的缓存服务节点中,具体包括: 将所述待存储数据存储至选择的主缓存服务节点中,并将该主缓存服务节点中存储的数据备份至选择的从缓存服务节点中。
4.如权利要求1所述的方法,其特征在于,通过以下方式确定本地缓存节点集群中的各个缓存服务节点的标识信息: 确定一个IP地址,所述IP地址是本地缓存节点集群中的一个缓存服务节点对应与云计算运行引擎平台中的一个缓存服务节点的IP地址; 利用所述IP地址进行哈希运算后得到相应的第一哈希值; 根据得到的第一哈希值确定本地缓存节点集群中该缓存服务节点的标识信息。
5.如权利要求1所述的方法,其特征在于,通过以下方式确定的待存储数据的位置信息: 确定所述待存储数据的属性值; 利用预设的哈希算法对确定的所述属性值进行哈希运算得到第二哈希值,将所述第二哈希值作为该待存储数据的位置信息。
6.如权利要求3所述的方法,其特征在于,选择缓存服务节点之后,将所述待存储的数据存储至选择的缓存服务节点之前,所述方法还包括: 判断选择的主缓存服务节点是否是故障节点,若是,则沿着设定的查找方向,将临近该主缓存服务节点的下一个节点作为选择的主缓存服务节点;根据新选择的主缓存服务节点确定该主缓存服务节点对应的一个从缓存服务节点。
7.如权利要求1所述的方法,其特征在于,预设云计算运行引擎平台中缓存服务节点的标识信息与本地缓存节点集群中的缓存服务节点的标识信息之间的映射关系之前,所述方法还包括: 将本地缓存节点集群中的一个缓存服务节点拆分为多个子缓存服务节点; 预设云计算运行引擎平台中缓存服务节点的标识信息与本地缓存节点集群中的缓存服务节点的标识信息之间的映射关系,具体包括: 预设云计算运行引擎平台中一个缓存服务节点的标识信息与本地缓存节点集群中的一个缓存服务节点对应的多个子缓存服务节点的标识信息之间的映射关系。
8.如权利要求7所述的方法,其特征在于,通过以下方式确定本地缓存节点集群中的一个缓存服务节点对应的多个子缓存服务节点的标识信息: 确定一个缓存服务节点对应与云计算运行引擎平台中的一个缓存服务节点的IP地址; 将该IP地址和一个缓存服务节点对应的一个子缓存服务节点的序号进行组合后,利用哈希算法得到第三哈希值; 根据得到的第三哈希值确定该子缓存服务节点在本地缓存节点集群中的标识信息。
9.一种基于云计算平台的缓存服务节点的调度设备,其特征在于,所述设备包括: 接收模块,用于接收本地开发引擎确定的待存储数据的位置信息,所述待存储数据是在本地开发引擎中调试云计算应用程序时产生的,所述位置信息是待存储数据存储至云计算运行引擎平台中缓存服务节点的`标识信息; 确定模块,用于根据预设的云计算运行引擎平台中缓存服务节点的标识信息与本地缓存节点集群中的缓存服务节点的标识信息之间的映射关系,确定所述位置信息对应本地缓存节点集群中的多个缓存服务节点的标识信息; 调度模块,用于根据确定的多个缓存服务节点的标识信息,选择至少两个标识信息对应的缓存服务节点,并将所述待存储数据存储至选择的缓存服务节点中。
10.如权利要求9所述的设备,其特征在于, 所述确定模块,具体用于预设云计算运行引擎平台中一个缓存服务节点的标识信息与本地缓存节点集群中的至少两个缓存服务节点的标识信息之间的映射关系。
11.如权利要求10所述的设备,其特征在于,所述与云计算运行引擎平台中一个缓存服务节点对应的本地缓存节点集群中的至少两个缓存服务节点满以下条件:本地缓存节点集群中的至少两个缓存服务节点之间具有主从映射关系,其中,一个标识信息对应主缓存服务节点,其他标识信息对应从缓存服务节点; 所述调度模块,具体用于从确定的多个缓存服务节点的标识信息中选择一个主缓存服务节点和该主缓存服务节点对应的一个从缓存服务节点,并将所述待存储数据存储至选择的主缓存服务节点中,并将该主缓存服务节点中存储的数据备份至选择的从缓存服务节点中。
12.如权利要求9所述的设备,其特征在于, 所述确定模块,具体用于通过以下方式确定本地缓存节点集群中的各个缓存服务节点的标识信息:确定一个IP地址,所述IP地址是本地缓存节点集群中的一个缓存服务节点对应与云计算运行引擎平台中的一个缓存服务节点的IP地址; 利用所述IP地址进行哈希运算后得到相应的第一哈希值; 根据得到的第一哈希值确定本地缓存节点集群中该缓存服务节点的标识信息。
13.如权利要求11所述的设备,其特征在于,所述设备还包括: 判断模块,用于在选择缓存服务节点之后,将所述待存储的数据存储至选择的缓存服务节点之前,判断选择的主缓存服务节点是否是故障节点,若是,则触发调度模块; 所述调度模块,具体用于沿着设定的查找方向,将临近该主缓存服务节点的下一个节点作为选择的主缓存服务节点,并根据新选择的主缓存服务节点确定该主缓存服务节点对应的一个从缓存服务节点。
14.如权利要求9所述的设备,其特征在于,所述设备还包括: 拆分模块,用于在预设云计算运行引擎平台中缓存服务节点的标识信息与本地缓存节点集群中的缓存服务节点的标识信息之间的映射关系之前,将本地缓存节点集群中的一个缓存服务节点拆分为多个子缓存服务节点; 所述确定模块,具体用于预设云计算运行引擎平台中一个缓存服务节点的标识信息与本地缓存节点集群中的一个缓存服务节点对应的多个子缓存服务节点的标识信息之间的映射关系。
15.如权利要求14所述的设备,其特征在于, 所述确定模块,具体用于通过以下方式确定本地缓存节点集群中的一个缓存服务节点对应的多个子缓存服务节点的标识信息: 确定一个缓存服务节点对应与云计算运行引擎平台中的一个缓存服务节点的IP地址; 将该IP地址和一个缓存服务节点对应的一个子缓存服务节点的序号进行组合后,利用哈希算法得到第三哈希值; 根据得到的第三哈希值确定该子缓存服务节点在本地缓存节点集群中的标识信息。
【文档编号】H04L29/08GK103685351SQ201210324570
【公开日】2014年3月26日 申请日期:2012年9月4日 优先权日:2012年9月4日
【发明者】杨帅, 王磊建, 刘涛, 孔令军 申请人:中国移动通信集团公司