一种分布式自增计数的实现方法、装置及系统制造方法及图纸

技术编号:8107871 阅读:245 留言:0更新日期:2012-12-21 08:25
本发明专利技术涉及云计算领域,公开了一种分布式自增计数的实现方法、装置及系统,用以提高分布式自增计数的执行效率,提升计数结果的准确性。该方法为:在云计算领域分布式缓存系统中,针对一个自增计数器在多个服务器上保存其计数结果的副本,每次执行自增计数操作时,在各服务器上针对同一自增计数器保存的计数结果中选取出最新的计数结果执行自增计数操作,从而有效保证了计数结果的准确性,同时,只需确认计数结果备份成功的服务器的数目达到设定阈值,便可确定当前自增计数操作成功,从而在一定程度上提高了自增计数操作的执行效率。

【技术实现步骤摘要】

本专利技术涉及云计算领域,特别涉及ー种分布式自增计数的实现方法、装置及系统
技术介绍
Cloud Computing(云计算)是 Grid Computing(网格计算)、DistributedComputing(分布式计算)、Parallel Computing(并行计算)、Utility Computing(效用计算)、Network Storage Technologies (网络存储)、Virtualization (虚拟化)、LoadBalance (负载均衡)等传统计算机技术和网络技术发展融合的产物。Cloud Computing旨在通过网络把多个成本相对较低的计算实体整合成ー个具有強大计算能力的系统。分布式缓存是云计算范畴中的ー个领域,其作用是提供海量数据的分布式存储服务以及高速读写访问的能力。分布式缓存系统是由若干服务器节点和服务终端互相连接构 成的;服务器节点负责数据的存储,服务终端可以对服务器节点做数据的写入、读取、更新、删除等操作,例如,商店里的监视器(即服务终端)针对每一个进入商店的顾客进行计数统计,并将统计结果上报至后台的服务节点进行存储。一般来说,为了保证数据的安全性,月艮务终端写入的数据不可能只保存在单个服务器节点(以下简称“节点”)上,而是在多台节点上保存同一个数据的副本,互为备份。而存储的数据由Key (键)和Value(值)构成,Key相当于数据的索引,例如,Key设置为“进入商店的顾客总数目,而Value是Key所代表的数据内容,例如,Value为“ 10203人次”,在逻辑上,Key和Value是ー对一的关系,用于唯一标识某一形式的数据存储,这种存储形式又称为分布式自增计数器。分布式自增计数器用途很广泛,可以实现在分布式环境中进行数值的原子加减运算,可以实现全局唯一序列号的生成,可以实现全局的统计计数功能等。基于分布式自增计数器,应用可以实现许多复杂的功能。目前,分布式自增计数器的准确性、并发性、可用性和效率是难以兼顾的关键问题。现有技术下,通常保证了并发性和准确性的系统,无法实现高可用性,如,在有任意ー节点故障时,整体服务会间断,将故障节点的任务全部转到其他节点上执行后,再恢复整体服务,这就往往要花费很长时间,从而在一定程度上降低了分布式自增计数器的服务效率;进一歩地,现有技术下,保证了准确性和可用性的系统,无法实现多请求并发,如,同一个数值的多个自增计数同时发到服务端时,只能允许ー个请求成功,其他请求将返回失败,请求失败的服务终端必须重试,这在一定程度上也降低了分布式自增计数器的服务效率;再进ー步地,保证了并发性和可用性的系统,无法保证准确性,如,多个自增计数请求同时执行吋,各服务器之间的计数结果未经协调,从而导致计数结果不一致,影响其计数准确性。鉴于上述现有技术的局限性,需要提供一种新的分布式自增计数的实现方法,以克服上述技术缺陷。
技术实现思路
本专利技术实施例提供ー种分布式自增计数的实现方法及装置,用以提高分布式自增计数的执行效率,提升计数结果的准确性。本专利技术实施例提供的具体技术方案如下ー种分布式自增计数的实现方法,包括第一服务器接收服务终端发送的自增计数请求消息,该自增计数请求消息中携帯用于指示操作内容的标识信息;第一服务器根据所述标识信息,获取本地对应该标识信息存储的计数结果,以及获取各第二服务器上对应该标识信息存储的计数结果,其中,第一服务器和第二服务器互为备份; 第一服务器根据获得的各计数结果中更新时间距当前时间的时长最小的计数结果执行自增计数操作,获得更新后的计数结果;第一服务器将所述更新后的计数结果发往各第二服务器进行备份,并在确认超过设定数目的第二服务器备份成功时,确定当前自增计数操作成功。ー种分布式自增计数的实现装置,包括第一通信単元,用于接收服务终端发送的自增计数请求消息,该自增计数请求消息中携帯用于指示操作内容的标识信息;获取单元,用于根据所述标识信息,获取本地对应该标识信息存储的计数结果,以及获取各第二服务器上对应该标识信息存储的计数结果,其中,本装置和第二服务器互为备份;执行单元,用于根据获得的各计数结果中更新时间距当前时间的时长最小的计数结果执行自增计数操作,获得更新后的计数结果;第二通信単元,用于将所述更新后的计数结果发往各第二服务器进行备份,并在确认超过设定数目的第二服务器备份成功时,确定当前自增计数操作成功。ー种分布式自增计数的实现系统,包括互为备份的第一服务器和第二服务器,其中,第一服务器,用于接收服务终端发送的自增计数请求消息,该自增计数请求消息中携帯用于指示操作内容的标识信息,根据所述标识信息,获取本地对应该标识信息存储的计数結果,以及获取各第二服务器上对应该标识信息存储的计数結果,井根据获得的各计数结果中更新时间距当前时间的时长最小的计数结果执行自增计数操作,获得更新后的计数結果,再将所述更新后的计数结果发往各第二服务器进行备份,并在确认超过设定数目的第二服务器备份成功时,确定当前自增计数操作成功;第二服务器,用于根据第一服务器发送的标识信息,向第一服务器返回本地对应所述标识信息保存的计数結果,以及对第一服务器发送的更新后的计数结果进行备份,并向第一服务器返回备份結果。本专利技术实施例中,针对云计算领域分布式缓存系统,提出了一种高效的分布式自增计数的实现方法,具体为针对ー个自增计数器在多个服务器上保存其计数结果的副本,每次执行自增计数操作时,在各服务器上针对同一自增计数器保存的计数结果中选取出最新的计数结果执行自增计数操作,从而有效保证了计数结果的准确性,同时,只需确认计数结果备份成功的服务器的数目达到设定阈值,便可确定当前自增计数操作成功,从而在一定程度上提高了自增计数操作的执行效率,并且当某服务器出现故障时只要正常工作的服务器的数目达到设置的门限值,就不会影响分布式缓存系统的正常工作,进而有效提高了分布式缓存系统的稳定性、安全性及可用性。附图说明图I为本专利技术实施例中分布式缓存系统体系架构图;图2为本专利技术实施例中协同服务器功能架构示意图;图3为本专利技术实施例中实现自增计数操作概述流程图;图4为本专利技术实施例中实现自增计数操作举例流程图。具体实施例方式在分布式缓存系统中,为了提供可用的高效的自增计数服务,令某服务器发生临 时故障时不影响系统的整体服务性能,本专利技术实施例中,提供了一种高效的分布式自增计数的方法,具体为在服务器端采用多副本机制,即针对同一个自增计数器在多个服务器上保存其数据副本,每次执行自增计数操作吋,执行自增计数操作成功的服务器的数目达到预设门限值,则视为系统整体执行自增操作成功;与现在技术相比,本专利技术实施例的优势在于,当某服务器出现故障时只要正常工作的服务器的数目达到设置的门限值,就不会影响分布式缓存系统的正常工作。下面结合附图对本专利技术优选的实施方式进行详细介绍。參阅图I所示,本专利技术实施例中,分布式缓存系统中设置有多个互为备份的服务器,其中,第一服务器,又称为协同服务器,用于接收服务终端发送的自增计数请求消息,该自增计数请求消息中携帯用于指示操作内容的标识信息,根据所述标识信息,获取本地对应该标识信息存储的计数結果,以及获取各副本服务器上对应该标识信息存储的计数结果,井根据获得的各计数结果中更新时间本文档来自技高网
...
一种分布式自增计数的实现方法、装置及系统

【技术保护点】
一种分布式自增计数的实现方法,其特征在于,包括:第一服务器接收服务终端发送的自增计数请求消息,该自增计数请求消息中携带用于指示操作内容的标识信息;第一服务器根据所述标识信息,获取本地对应该标识信息存储的计数结果,以及获取各第二服务器上对应该标识信息存储的计数结果,其中,第一服务器和第二服务器互为备份;第一服务器根据获得的各计数结果中更新时间距当前时间的时长最小的计数结果执行自增计数操作,获得更新后的计数结果;第一服务器将所述更新后的计数结果发往各第二服务器进行备份,并在确认超过设定数目的第二服务器备份成功时,确定当前自增计数操作成功。

【技术特征摘要】
1.一种分布式自增计数的实现方法,其特征在于,包括 第一服务器接收服务终端发送的自增计数请求消息,该自增计数请求消息中携带用于指示操作内容的标识信息; 第一服务器根据所述标识信息,获取本地对应该标识信息存储的计数结果,以及获取各第二服务器上对应该标识信息存储的计数结果,其中,第一服务器和第二服务器互为备份; 第一服务器根据获得的各计数结果中更新时间距当前时间的时长最小的计数结果执行自增计数操作,获得更新后的计数结果; 第一服务器将所述更新后的计数结果发往各第二服务器进行备份,并在确认超过设定数目的第二服务器备份成功时,确定当前自增计数操作成功。2.如权利要求I所述的方法,其特征在于,若第一服务器接收到至少两个服务终端发送的携带同一标识信息的自增计数请求消息,则第一服务器将所述至少两个自增计数请求消息指示的自增数目进行合并后,再进行后续操作。3.如权利要求I所述的方法,其特征在于,第一服务器根据所述标识信息,获取各第二服务器上对应该标识信息存储的计数结果,包括 第一服务器向所述标识信息对应的各第二服务器,发送携带该标识信息的副本获取请求消息,令每一个接收到所述标识信息的第二服务器,向第一服务器返回所述标识信息及第二服务器本地对应该标识信息保存的计数结果; 或者, 第一服务器向所述标识信息对应的各第二服务器,发送携带该标识信息及第一服务器对应该标识信息保存的计数结果的副本获取请求消息,令每一个接收到所述标识信息和计数结果的第二服务器,在确定第二服务器本地对应所述标识信息保存的计数结果的更新时间距当前时间的时长,小于接收的计数结果的更新时间距当前时间的时长时,向第一服务器返回所述标识信息及第二服务器本地对应该标识信息保存的计数结果。4.如权利要求3所述的方法,其特征在于,第一服务器发送副本获取请求消息后,确定针对该副本获取请求消息进行反馈的副本服务器的数目达到预设门限值时,根据获得的各计数结果中更新时间距当前时间的时长最小的计数结果执行自增计数操作。5.如权利要求1-4任一项所述的方法,其特征在于,第一服务器根据获得的各计数结果中更新时间距当前时间的时长最小的计数结果执行自增计数操作,包括 第一服务器根据获得的各计数结果中,时间截指示时间最晚的计数结果执行自增计数操作; 或者, 第一服务器根据获得的各计数结果中,版本号最大的计数结果执行自增计数操作。6.如权利要求5所述的方法,其特征在于,若服务终端确定协同服务器发生故障,则根据针对各副本服务器预设的优先级,选择优先级符合条件的一个副本服务器作为新的协同服务器。7.一种分布式自增计数的实现装置,其特征在于,包括 第一通信单元,用于接收服务终端发送的自增计数请求消息,该自增计数请求消息中携带用于指示操作内容的标识信息;获取单元,用于根据所述标识信息,获取本地对应该标识信息存储的计数结果,以及获取各第二服务器上对应该标识信息存储的计数结果,其中,本装置和第二服务器互为备份; 执行单元...

【专利技术属性】
技术研发人员:陈典强郭斌韩银俊
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1