一种生成hbase行健的方法及装置的制造方法

文档序号:10594226阅读:177来源:国知局
一种生成hbase行健的方法及装置的制造方法【专利摘要】本发明公开了一种生成HBASE行健的方法及装置,属于软件开发技术,用于解决现有的HBASE行健生成方法存在系统时间发生改变,导致行健重复或者排序不正确的问题。包括:在HBASE数据库内依次记录与HBASE对应的服务器的唯一标识,所述服务器与所述HBASE建立连接的时间;根据所述HBASE与所述服务器建立连接的时间和当前时间,建立第一时间并将所述第一时间确定为全局静态类生成的所述HBASE行健的起点;当访问所述全局静态类时,对所述HBASE行健的起点,采用Atomic原子加1的方法生成顺序号,并将所述服务器唯一标识和所述顺序号确定为HBASE行健。【专利说明】_种生成HBASE行健的方法及装置
技术领域
[0001]本发明属于软件开发
技术领域
,更具体的涉及一种生成HBASE行健的方法及装置。【
背景技术
】[0002]HBASE是一个分布式的、面向列的开源数据库,该技术来源于FayChang所撰写的Google论文“Bigtable:—个结构化数据的分布式存储系统”。就像Bigtable利用了Google文件系统(FileSystem)所提供的分布式数据存储一样,HBASE在Hadoop之上提供了类似于Bigtable的能力。[0003]通常情况下,HBASE行健的生成方法一般有以下几种情况:I)、由HBASE自动生成行健;2)、使用UUID(英文为:UniversalIyUniqueIdentifier,中文简称:通用唯一识别码)字符串作为行健;上述两种HBASE行健的生成方法,由于行健中不包括数据插入先后顺序信息,从而导致无法根据行健排序来显示先后数据的应用场景;为了解决上述问题,采用了使用自定义规则生成行健的方法,但是,由于自定义规则生成行健方法在分布式环境下可能会出现重复,可能导致保存在HBASE中的数据出现相互覆盖的情况,进一步地,由于使用时间戳来构造行健能满足排序的需要,但是系统时间发生改变后,很容易导致行健重复或排序不正确。[0004]综上所述,现有的HBASE行健生成方法存在系统时间发生改变,导致行健重复或者排序不正确的问题。【
发明内容】[0005]本发明实施例提供一种生成HBASE行健的方法及装置,用于解决现有的HBASE的行健生成方法存在系统容易发生改变,导致行健重复或者排序不正确的问题。[0006]本发明实施例提供一种生成HBASE行健的方法,包括:[0007]在HBASE数据库内依次记录与HBASE对应的服务器的唯一标识,所述服务器与所述HBASE建立连接的时间;[0008]根据所述HBASE与所述服务器建立连接的时间和当前时间,建立第一时间并将所述第一时间确定为全局静态类生成的所述HBASE行健的起点;[0009]当访问所述全局静态类时,对所述HBASE行健的起点,采用Atomic原子加I的方法生成顺序号,并将所述服务器唯一标识和所述顺序号确定为HBASE行健。[0010]优选地,所述根据所述HBASE与所述服务器建立连接的时间和当前时间,建立第一时间并将所述第一时间确定为全局静态类生成的所述HBASE行健的起点,包括:[0011]当所述建立连接的时间小于所述当前时间时,则将所述当前时间确定为所述第一时间;或者[0012]当所述建立连接的时间大于所述当前时间时,将当前时间增加一个预定义的增量后的时间确定为第一时间。[0013]本发明实施例提供一种生成HBASE行健的装置,包括:[0014]记录单元,用于在HBASE数据库内依次记录与HBASE对应的服务器的唯一标识,所述服务器与所述HBASE建立连接的时间;[0015]建立单元,用于根据所述HBASE与所述服务器建立连接的时间和当前时间,建立第一时间并将所述第一时间确定为全局静态类生成的所述HBASE行健的起点;[0016]确定单元,用于当访问所述全局静态类时,对所述HBASE行健的起点,采用Atomic原子加I的方法生成顺序号,并将所述服务器唯一标识和所述顺序号确定为HBASE行健。[0017]优选地,所述建立单元具体用于:[0018]当所述建立连接的时间小于所述当前时间时,则将所述当前时间确定为所述第一时间;或者[0019]当所述建立连接的时间大于所述当前时间时,将当前时间增加一个预定义的增量后的时间确定为第一时间。[0020]本发明实施例提供一种生成HBASE行健的方法及装置,包括在HBASE数据库内依次记录与HBASE对应的服务器的唯一标识,所述服务器与所述HBASE建立连接的时间;根据所述HBASE与所述服务器建立连接的时间和当前时间,建立第一时间并将所述第一时间确定为全局静态类生成的所述HBASE行健的起点;当所述全局静态类被访问时,采用Atomic原子加I的方法,生成顺序号,并将所述服务器唯一标识和所述顺序号确定为HBASE行健。在本发明实施例所提供的HBASE行健由服务器唯一标识和顺序号组成,其中,服务器唯一标识是安装服务器时配置的一个唯一编号,唯一性由手工指定,而顺序号为访问HBASE的应用程序生成的唯一编号;采用上述方法确定的HBASE行健,与服务器相关,与时间无关,具有可排序、不重复的特点,解决了现有技术当系统时间发生改变时,导致行健重复或者排序不正确的问题。【附图说明】[0021]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。[0022]图1为本发明实施例提供的一种生成HBASE行健的方法流程示意图;[0023]图2为本发明实施例提供的一种生成HBASE行健的装置结构示意图。【具体实施方式】[0024]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。[0025]图1示例性的示出了本发明实施例提供的一种生成HBASE行健的方法流程示意图;该方法至少可以应用在软件开发中。[0026]如图1所示,本发明实施例提供的一种生成HBASE行健的方法,包括以下步骤:[0027]步骤101,在HBASE数据库内依次记录与HBASE对应的服务器的唯一标识,所述服务器与所述HBASE建立连接的时间;[0028]步骤102,根据所述HBASE与所述服务器建立连接的时间和当前时间,建立第一时间并将所述第一时间确定为全局静态类生成的所述HBASE行健的起点;[0029]步骤103,当访问所述全局静态类时,对所述HBASE行健的起点,采用Atomic原子加I的方法生成顺序号,并将所述服务器唯一标识和所述顺序号确定为HBASE行健。[0030]需要说明的是,本发明实施例中的执行主体是服务器。[0031]在步骤101中,当HBASE与该HBASE对应的服务器建立连接之后,服务器会在HBASE数据库内记录该HBASE所对应的服务器的唯一标识,并且将HBASE与该HBASE对应的服务器建立连接的时间也记录在HBASE数据库内。[0032]需要说明的是,服务器可以在HBASE与该HBASE对应的服务器建立连接之前,在HBASE数据库内记录与该HBASE对应的服务器的唯一标识;也可以在HBASE与该HBASE对应的服务器建立连接之后,在HBASE数据库内记录与该HBASE对应的服务器的唯一标识;在本发明实施例中,对服务器在HBASE数据库内记录与该HBASE对应的服务器的唯一标识的时间先后顺序不做限定。[0033]进一步地,服务器可以在HBASE与该HBASE对应的服务器建立连接的同时,在HBASE数据库内记录与该HBASE对应的服务器建立连接的时间;也可以在布式存储系统与该HBASE对应的服务器建立连接之后,在HBASE数据库内记录与该HBASE对应的服务器建立连接的时间;在本发明实施例中,对服务器在HBASE数据库内记录与该HBASE对应的服务器建立连接的时间的的先后顺序不做限定。[0034]在步骤102中,根据所述HBASE与所述服务器建立连接的时间和当前时间,建立第一时间并将所述第一时间确定为全局静态类生成的所述HBASE行健的起点。[0035]在实际应用中,需要根据HBASE与服务器建立连接的时间和当前时间进行比较,确定那个时间比较大。具体地:当HBASE与服务器建立连接的时间大于当前时间时,则将HBASE与服务器建立连接的时间确定为第一时间;或者,当HBASE与服务器建立连接的时间小于当前时间时,在当前时间的基础上增加1000000000000,然后将增加了1000000000000的当前时间确定为第一时间。[0036]在步骤103中,当访问所述全局静态类时,对所述HBASE行健的起点,采用Atomic原子加I的方法生成顺序号,并将所述服务器唯一标识和所述顺序号确定为HBASE行健。[0037]在本发明实施例中,通过访问全局静态类提供的方法生成HBASE行健,当全局静态类被访问时,对HBASE行健的起点,使用Atomic原子加I的操作方法,生成顺序号,然后将服务器唯一标识和生成的顺序号连接起来作为HBASE行健,并将确定的HBASE行健返回。[0038]综上所述,在本发明实施例所提供的HBASE行健由服务器唯一标识和顺序号组成,其中,服务器唯一标识是安装服务器时配置的一个唯一编号,唯一性由手工指定,而顺序号为访问HBASE的应用程序生成的唯一编号;采用上述方法确定的HBASE行健,与服务器相关,与时间无关,具有可排序、不重复的特点,解决了现有技术当系统发生改变时,导致行健重复或者排序不正确的问题。[0039]基于同一发明构思,本发明实施例提供了一种确定火蔓延速度的装置,由于该装置解决技术问题的原理与一种确定火蔓延速度的方法相似,因此该装置的实施可以参见方法的实施,重复之处不再赘述。[0040]图2为本发明实施例提供的一种生成HBASE行健的装置结构示意图。如图2所示,本发明实施例提供的一种生成HBASE行健的装置,主要包括:[0041]记录单元20,用于在HBASE数据库内依次记录与HBASE对应的服务器的唯一标识,所述服务器与所述HBASE建立连接的时间;[0042]建立单元21,用于根据所述HBASE与所述服务器建立连接的时间和当前时间,建立第一时间并将所述第一时间确定为全局静态类生成的所述HBASE行健的起点;[0043]确定单元22,用于当访问所述全局静态类时,对所述HBASE行健的起点,采用Atomic原子加I的方法生成顺序号,并将所述服务器唯一标识和所述顺序号确定为HBASE行健。[0044]优选地,所述建立单元21具体用于:[0045]当所述建立连接的时间大于所述当前时间时,则将所述建立连接的时间确定为所述第一时间;或者[0046]当所述建立连接的时间小于所述当前时间时,将增加1000000000000的所述当前时间确定为第一时间。[0047]应当理解,以上一种生成HBASE行健的装置包括的单元仅为根据该设备装置实现的功能进行的逻辑划分,实际应用中,可以进行上述单元的叠加或拆分。并且该实施例提供的一种生成HBASE行健的装置所实现的功能与上述实施例提供的一种生成HBASE行健的方法一一对应,对于该装置所实现的更为详细的处理流程,在上述方法实施例一中已做详细描述,此处不再详细描述。[0048]本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。[0049]本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。[0050]这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。[0051]这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。[0052]尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。[0053]显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。【主权项】1.一种生成HBASE行健的方法,其特征在于,包括:在HBASE数据库内依次记录与HBASE对应的服务器的唯一标识,以及所述服务器与所述HBASE建立连接的时间;根据所述HBASE与所述服务器建立连接的时间和当前时间,建立第一时间并将所述第一时间确定为全局静态类生成的所述HBASE行健的起点;当访问所述全局静态类时,对所述HBASE行健的起点,采用Atomic原子加I的方法生成顺序号,并将所述服务器唯一标识和所述顺序号确定为HBASE行健。2.如权利要求1所述的方法,其特征在于,所述根据所述HBASE与所述服务器建立连接的时间和当前时间,建立第一时间并将所述第一时间确定为全局静态类生成的所述HBASE行健的起点,包括:当所述建立连接的时间小于所述当前时间时,则将所述当前时间确定为所述第一时间;或者当所述建立连接的时间大于所述当前时间时,将当前时间增加一个预定义的增量后的时间确定为第一时间。3.一种生成HBASE行健的装置,其特征在于,包括:记录单元,用于在HBASE数据库内依次记录与HBASE对应的服务器的唯一标识,所述服务器与所述HBASE建立连接的时间;建立单元,用于根据所述HBASE与所述服务器建立连接的时间和当前时间,建立第一时间并将所述第一时间确定为全局静态类生成的所述HBASE行健的起点;确定单元,用于当访问所述全局静态类时,对所述HBASE行健的起点,采用Atomic原子加I的方法生成顺序号,并将所述服务器唯一标识和所述顺序号确定为HBASE行健。4.如权利要求3所述的装置,其特征在于,所述建立单元具体用于:当所述建立连接的时间小于所述当前时间时,则将所述当前时间确定为所述第一时间;或者当所述建立连接的时间大于所述当前时间时,将当前时间增加一个预定义的增量后的时间确定为第一时间。【文档编号】G06F17/30GK105956205SQ201610511657【公开日】2016年9月21日【申请日】2016年7月1日【发明人】柏昆【申请人】百势软件(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1