买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】一种位于HBase客户端的用户数据有效性验证方法_西南医科大学_201711123386.5 

申请/专利权人:西南医科大学

申请日:2017-11-14

公开(公告)日:2020-10-02

公开(公告)号:CN107888686B

主分类号:H04L29/08(20060101)

分类号:H04L29/08(20060101);G06F3/06(20060101)

优先权:

专利状态码:有效-授权

法律状态:2020.10.02#授权;2018.05.01#实质审查的生效;2018.04.06#公开

摘要:本发明公开一种位于HBase客户端的用户数据有效性验证方法,包括在HBase客户端的基于HBase的tablemeta表和基于HBase的ManageUserTableMeta类;tablemeta表用于存储用户表元数据,所述用户表元数据包括表名、列族、列成员;ManageUserTableMeta类封装了:建立用户表元数据、维护用户表元数据、在客户端验证用户表元数据。本发明提供的技术方案能够减轻HBase服务器的负载,减少HBase服务器资源和集群网络资源的开销。

主权项:1.一种位于HBase客户端的用户数据有效性验证方法,其特征在于,包括在HBase客户端的基于HBase的tablemeta表和基于HBase的ManageUserTableMeta类;所述tablemeta表用于存储用户表元数据,所述用户表元数据包括表名、列族、列成员;所述ManageUserTableMeta类封装了:建立用户表元数据、维护用户表元数据、在客户端验证用户表元数据;所述建立用户表元数据包括:将用户表元数据缓存在HBase客户端的hashmaptm变量中或者从tablemeta表将用户表元数据加载到hashmaptm中;所述维护用户表元数据包括:当创建、重命名和删除用户表名时,或者当增加、重命名和删除列族名时,或者当列族及其列成员集加载和移除时,更新tablemeta表中的用户表元数据;所述在客户端验证用户表元数据包括:利用tablemeta表验证用户请求的用户表元数据;所述tablemeta表只在首次启动时建立;所述tablemeta表的行关键字为用户表名+分隔符+列族名;tablemeta表的列族为metadata,列成员为qualifierset和loadmem,列成员qualifierset存储用户表和列族对应的列成员集合;列成员loadmem为布尔类型,列成员loadmem表明列族中的所有列成员是否要加载HBase客户端,列成员loadmem取值为逻辑真表明列族需加载到HBase客户端,否则不加载,列成员loadmem默认取值为逻辑真,加载的粒度为列族的所有列成员。

全文数据:一种位于HBase客户端的用户数据有效性验证方法技术领域[0001]本发明涉及数据处理技术领域,尤其涉及一种位于HBase客户端的用户数据有效性验证方法。背景技术[0002]HBase是成熟的具有广泛应用的分布式在线存储系统,应用HBase需频繁写入、读取、删除操作HBase用户表单元格数据,操作HBase用户表单元格数据的方法是通过HBase用户表的行关键字、列族:列成员和单元格版本号的组合。读写删HBase用户表数据需与HBase集群服务器通信,以验证表名和列族是否存在,该验证将占用HBase服务器和网络资源,若不验证将因表名或者列族不存在而引发异常。发明内容[0003]本发明旨在提供一种位于HBase客户端的用户数据有效性验证方法,能够减轻HBase服务器的负载,减少HBase服务器资源和集群网络资源的开销。[0004]为达到上述目的,本发明采用的技术方案包括:[0005]本发明公开的位于HBase客户端的用户数据有效性验证方法,包括在HBase客户端的基于HBase的tabIemeta表和基于HBase的ManageUserTabIeMeta类;[0000]所述tablemeta表用于存储用户表元数据,所述用户表元数据包括表名、列族、列成员;[0007]所述ManageUserTableMeta类封装了:建立用户表元数据、维护用户表元数据、在客户端验证用户表元数据;[0008]所述建立用户表元数据包括:将用户表元数据缓存在HBase客户端的hashmaptm变量中或者从tablemeta表将用户表元数据加载到hashmaptm中;[0009]所述维护用户表元数据包括:当创建、重命名和删除用户表名时,或者当增加、重命名和删除列族名时,或者当列族及其列成员集加载和移除时,更新tablemeta表中的用户表元数据;[0010]所述在客户端验证用户表元数据包括:利用tablemeta表验证用户请求的用户表元数据。[0011]优选的,所述tablemeta表只在首次启动时建立。[0012]进一步的,所述ManageUserTableMeta类还封装了:输出用户表元数据。[0013]优选的,所述tablemeta表的行关键字为用户表名+分隔符+列族名;tablemeta表的列族为metadata,列成员为qualifierset和Ioadmem,列成员qualifierset存储用户表和列族对应的列成员集合;列成员Ioadmem为布尔类型,列成员Ioadmem表明列族中的所有列成员是否要加载HBase客户端,列成员Ioadmem取值为逻辑真表明列族需加载到HBase客户端,否则不加载,列成员Ioadmem默认取值为逻辑真,加载的粒度为列族的所有列成员。[00M]优选的,在建立用户表元数据时,所述用户表元数据永久存储在tablemeta表中。[0015]优选的,所述ManageUserTableMeta类包括:[0016]MakeTabIe函数,用于在创建用户表时维护用户表元数据;[0017]addfamiIies函数,用于在增加列族时维护用户表元数据;[0018]deletefamilies函数,用于在删除列族时维护用户表元数据;[0019]FamiliesRename函数,用于在列族重命名时维护用户表元数据;Rebuild函数,用于重建用户表元数据。[0020]用户表表名和列族名的验证应放到HBase客户端执行,必须将表名和列族名缓存在客户端的内存缓存中。HBase主要应用在大数据的实时读取场合,如果读取记录的列成员不存在,则读取结果为NULL,虽然结果是NULL,但是读取操作仍需消耗HBase服务器和HBase集群网络的资源,因此客户端不仅要缓存用户表名和列族名,而且需缓存列族的列成员集。在关系数据库中将表名、字段定义为表元数据,类似地,在本发明中将用户表名、列族及其列成员集定义为HBase的用户表元数据。[0021]目前关于HBase元数据的研究如下:HBase的.ROOT根数据表存储了表名+开始行关键字+ID等元数据,本发明所定义的用户表元数据不同在于:.ROOT根数据表目的是定位数据存储所在的HRegionServer,本发明中的用户表元数据目的是在HBase客户端验证用户表名、列族名、列成员是否存在。在HBase客户端内存中缓冲用户表元数据,涉及到表设计要求和HashMap技术背景。[0022]IHBase表设计要点:将功能相似的列成员组织为一个列族,同一表中列族名不能相同,同一列族中列成员不能相同。本发明根据HBase表设计要求,设计用户表表名到列成员集合的二级映射:以用户表名为关键字映射到列族名和列成员集合,以列族名为关键字映射到列成员集合。[0023]2HashMap技术要点:TreeMap和HashMap技术支持泛型、一级映射和二级映射,TreeMap以树数据结构存储键值对数据,支持按关键字排序,增删改插的时间复杂度为0n,HashMap以哈希表存储键值对数据,不支持排序,增删改插的时间复杂度为01。[0024]本发明实施例提供的位于HBase客户端的用户数据有效性验证方法,将原来存储在HBase集群服务器上的用户表元数据,建立在HBase客户端上,并通过HBase客户端上的用户表元数据来进行用户数据验证,因此,本发明不需要与HBase集群服务器进行通信,从而极大地减轻了HBase集群服务器的负载,并减少了HBase集群服务器的网络开销。附图说明[0025]图1为本发明的流程图。具体实施方式[0026]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明进行进一步详细说明。[0027]如图1所示,本发明公开的位于HBase客户端的用户数据有效性验证方法,具体包括:[0028]一、设计tablemeta表[0029]为了永久存储用户表元数据和从永久存储数据中加载用户表元数据到HBase客户端,需首先设计tablemeta表。表tablemeta的行关键字为用户表名+分隔符+列族名组合,分隔符的选取要求为能区分用户表名和列族名即可。表tablemeta的列族为metadata,列成员为qualifierset和loadmem。列成员qualifierset存储用户表和列族对应的列成员集合,列成员Ioadmem为布尔类型,表明列族中的所有列成员是否要加载HBase客户端,如取值为逻辑真表明列族需加载到HBase客户端,否则不加载,默认取值为逻辑真,加载的粒度为列族的所有列成员。[0030]二、ManageUserTableMeta类[0031]ManageUserTableMeta类封装了:建立用户表元数据表名、列族、列成员);维护用户表元数据;运用用户表元数据在HBase客户端验证表名、列族名和列成员。建立用户表元数据的任务:建立用户表元数据时将用户表元数据缓存在HBase客户端的hashmaptm变量中,或者初始化时从tablemeta表将用户表元数据加载到hashmaptm中。当创建、重命名和删除用户表名时,当增加、重命名和删除列族名时,当列族及其列成员集加载和移除管理时,更新用户表元数据;根据用户要求重建用户表元数据。ManageUserTableMeta类的成员变量和成员函数描述如下:[0032]ManageUserTableMeta类成员变量:[0033]PrivateHashMaphashmaptm[0034]PrivateConfigurationconf[0035]PrivateHBaseAdminadmin[0036]PrivateHTablehtable[0037]ManageUserTableMeta类的成员函数:[0038]一用户表元数据的建立函数[0039]1、类构造函数[0040]函数功能:初始化HBase环境,在HBase客户端中建立用户表元数据[0041]输入参数:无[0042]输出参数:无[0043]函数算法:[0044]Stepl:初始化HBase运行变量hashmaptm、conf、admin、htable[0045]Step2:调用BuildUserTableMeta函数建立用户表元数据[0046]2、BuildUserTableMeta函数[0047]函数功能:建立用户表元数据[0048]输入参数:无[0049]输出参数:无[0050]函数算法:[0051]Stepl::刺用admin.获取所有用户表集合_tablesetStep2:iftableset:集中包含了”tablenmta”表、then转向Stcp.3Else转向Step:4EridifSt_ep.3.:_V从tabIemeta表中加载表元数据,建立用户表元数据扫描tabIcmcta获取所有记录For所有记录提取datameta:Ioadmem数据If.datameta:Ioadmem为逻辑假continueEndif提取行关键字,从行关键字中分离出表名tablename和列族名famiIy提耳又datamet.a:qualifierset数据f2q.—用(family.,qualifierse‘t构造映射关系用(tablcnamc,f2q映射关系写入hashmaptm中EncIfor转向StepSStep4:新建用户表元数据调用MakeTable”tablemata””datameta”)F〇r_所有用户表集ablc,sot[0052]提取当前用户表tabIenameIftablenfc飞me为’’tablemeta”continueEndif扫描tahlename,获取tablename所有记录For所有记录提取列族名family提取列成员qua.lif.iei*AppendWritetabIename,family,qualifier函数Encffor所有记录Endfor所有用户表集Step5:结束[0053]3、AppendWrite函数[00M]函数功能:在HBase客户端缓存用户表元数据,并同步存储在tablemeta表中,默认列族所有列成员加到HBase客户端,提供向HTable.put函数调用之前或者之后写入用户表元数据[0055]输入参数:Stringtablename,String[!families,String[Jqualifierset[0056]输出参数:无[0057]函数算法:St印1,;.1e.n.gth—famiIies数组长度Step2:forI=Otolength-I分离qualifierset[i]成数组stringarray[0058]size—stringarray的长度forj=0tosize-'Itenip^CheckQiialIf:ieftablename,[0059]familiesCIjistringarray[j]switchtemp{case:“表名不存在”f2q*-构建(fanLiliesCiLstringarray[j:]:键值対将.(tablename,f2q键值对写入hashmaptmΨbreakcase:“表名存在但到族名不存在”f2q^hashraaptm.gettab]ename将(famiIie:s[i],stringarray[j]键值对写入f2q中breakcase.::“列族存在但列成员不存在”valuer一-tmshmaptm.get.tabgetfamilies[i]〉stringarray[j]valueΦbreakease:“列成员存在”breakendforj:endfariStep3:用Put类初始化ArrayList泛型变量ptitsStcp4;forr_0tolength-1q:s^hashmaptm.gettabIename.getf:amilies[i][0060]rwk:ey.ftabIename+分隔符+famiIies[I]以rowkey初始化Put类对象putl列族为dataraeta,列成员qu_al.ifie:r_s:et值为qs.,写入putl中将put1添加到puts中以rowkey初始化Put类对象put2列族为dataineLa,列成员Ioadmein取值为逻辑真写入put2中将p:u1:2添加到puts中endfŭiriSt:ep5.:调用htable.putput..s_函数[0061]二用户表元数据的维护函数[0062]4、MakeTable函数[0063]函数功能:根据用户表名和列族名创建表,并将用户表元数据表名、列族、列成员集合)写入hashmaptm和tablemeta中[0064]输入参数:Stringtablename,String[]families[0065]输出参数:无[0066]函数算法:[0067]Stepl:根据tablename,初始化数据类型HTableDescriptor变量htd[0068]Step2:循环将families列族名数组元素添加到htd[0069]Step3:使用变量htd和admin,create函数创建用户表[0070]Step4:构造与families相同数量的qualifierset集合,集合每个元素为空[0071]Step5:Appendffritetablename,families,qualifierset[0072]5、TableRename函数[0073]函数功能:重命名用户表时,更新用户表元数据[0074]输入参数:StringOldTablename,StringNewTablename[0075]输出参数:无[0076]函数算法:[0077]Stepl:famiIies^hashniaptm,getOldTablenarae.KeySetStep2:length—提取famiUes:集合的长度Step3:Fori.=0tolength-1QualifierSei^-hashmaptni.getOltlTablename.getfamilies[i]AppendlriteNewTablename,fafflilies[i],:QualifierSet删除tablemeta中OldTablenamefarailies[i]、QualifierSet数据EndforIStep4:册Ij滕:OldTablenanie元数法居hashmaptm.removeiOldTablename[0078]6、TableDelete函数[0079]函数功能:删除hashmaptm和tablemeta表中的用户表元数据[0080]输入参数:Stringtablename[0081]输出参数:无[0082]函数算法:Step!::families数组一hashmaptm.gettablename.KeyS:et'Step2::length—提取families数组的长度[0083]一Step3:采用Delete构造ArrayList初始化变量IistSlop4:[0084]ForI二0to'leiigUi-l.采用tablename、分隔符和families[i]初始化Delete对象del将del对象添加到list列表中EndforiStep5:htable.deletelistStsp6:hashmaptm.:removetablename[0085]7、AddFamilies函数[0086]函数功能:向用户表元数据增加列族[0087]输入参数:Stringtablename,String[]families[0088]输出参数:无[0089]函数算法:[0090]Stepl:初始化qualifierset—维字符串对象数组,每个元素为空,长度与families数组相同[0091]Step2:调用AppendWritetablename,families,qualifies函数[0092]8、FamiliesRename函数[0093]函数功能:将用户表旧列族名批量修改为新列族名[0094]输入参数:Stringtablename,String[]oldfamilies,String[]newfamilies[0095]输出参数:无[0096]函数算法:Stepl::length一获取oldfamili.es的长度[0097]Step2:将表名和新列族名添加到缓存和tablemeta中Fori=0tolength^l[0098]qualifierset*—hashmaptm.gettablename.getoldfam:ilies[i]AppendWritetablename,dewfamiIIes[i]»quaIifIersbtEndforiStep3:删除缓存中旧的列族名数据Fori=Q:tolength-1qualifierset^hashmaptrn.gettahlenaine.getoldfamilies[i]hashmaptra.gettablename,removeoldfamilles[i],qualifiersetEndforiStep_4_;批量删除tablemeta表旧列族名初始化ListdeletesForΐ=ϋto"Length—Ir⑽key—tahIename+行关键字+〇IdfamiIies[iI的组合delete—用rowkey构造Delete对象将delete添加到deletes列表中EndforiStep5:调用htab:le,.deletedeletes[0099]9、DeleteFamilies函数[0100]函数功能:删除用户表列族及列成员集[0101]输入参数:Stringtablename,String[]families[0102]输出参数:无[0103]函数算法:Step!:[0104]length—获取families数组长度[0105]ForX=Otolength-Iq2f^-hashraaptm.gettablenaraehashmaptm,rem〇¥€tabloname,q2fEndforiStep2:删除”tablemeta”中的列族信息初始化Listdelates.Fori=0tolength-Irowkey—tabIename+行关键字+〇Idfami11.e..s.[i]的组合·delete—用rowkey构造Delete对象将delete添加到deletes列表中EndforiStep3:调用htable,deletedeletes[0106]10、LoadOrRemoveFamiIyQualifierSet函数[0107]函数功能:从hashmaptm中移除列族和列成员,或者从tablemeta表中加载列族和列成员加载到hashmaptm中;设置datameta:Ioadmem为相应值,以便下次启动能自动加载列族和列成员集合[0108]输入参数:Stringtablename,Stringfamily,Booleanload[0109]输出参数:RetString[0110]函数算法:[0111]Stepl:Str^-CheckFamilytablename,familySt.ep.2::Switchstr{Use“表名不存在”:Ifloadtruethen从tabLemeta表读取[0112]dat:ameta:qualifierset数据并将该数据缓存在hashmaptm中tablemetadatafngta:IoadmemA逻辑真EndifBreakCase“表名存在但列族名不存在”:Ifload^falsethen从hashtimptin中删除tabIename白勺family关键字若hashma.ptm中tablenarn'e..对应值为null,删除tablenametablemeta,dataraeta:loadmem为逻辑假EndifBreakCase“列族名己存在”:Ifload为falsethen从hashmaptm中删除tablenanie.的family关键字若]^iashniaptra中tablename对:应值为null',删除tablenamei£;Stablenietadatameta:loadraera为逻辑假EndifBreak[0113]}Step3:Return“OK”[0114]ll、Rebuild函数[0115]函数功能:删除存储用户表元数据的tablemeta表和删除缓存在hashmaptm中的用户表元数据,重建用户表元数据[0116]输入参数:无[0117]输出参数:无[0118]函数算法:St印L;调用admin,disableTaWeC“tableineta”)St印2::调用admin,d^.leteTabl.e“tabl·柳eta”)Step3:keyset—获取hashmaptm的所有用户表关键字集合Forkeyset[0119]获取循环当前用户表tablenameq2f^hashfflaiPtm-gettablenamehashmaptm,removetablename,q2fEndforkeysetStep4.:调用Bui.IdUserTabIeM.eta0[0120]三用户表元数据的应用函数[0121]12、CheckTableName函数[0122]函数功能:给定用户表表名验证列族是否存在[0123]输入参数:Stringtablename[0124]输出参数:RetStr[0125]函数算法:[0126]Stgpl:RetStr:一2串Step2:f2q—以tablename为关键字从hashmaptm中获取tablename对应的值Ste.pJ:Iff2q为空thenRetStr*-“表名不存在”ElseRetStr一“表名已存在”EndifStep4:returnRetStr[0127]13、CheckFamily函数[0128]函数功能:给定用户表表名和列族名,验证列族是否存在,同时检查表是否存在[0129]输入参数:Stringtablename,Stringfamily[0130]输出参数:RetStr[0131]函数算法:[0132]Stepl:RetStr一空串St:印.2::;f2q:—以tahlenanie为关键字从h.a_s.hm_aptra中获取tablermme对应的值Step3_:IfOq为空tti.enRetStr—“表名不存在”转向Step6Else转向Step4EndifStep4:qualifierset—以family为关键字从f2q中获取family对应的值Step5:IfiqualifiersetthenRciSU、一“表名存在但列族名不存在”Else[0133]RetStr—“列族名己存在”EndifStep6;returnRotSlr[0134]14、CheckQualifier函数[0135]函数功能:给定用户表表名、列族名和列成员,验证列成员是否存在,同时检查表名和列族是否存在[0136]输入参数:Stringtablename,Stringfamily,Stringqualifier[0137]输出参数:RetStr[0138]函数算法:[0139]Stepl:RetStr—空串Step:2::f2.q—以tablenam©为关键:字从hastomptm中获取tablenam母对应的值St:ep3;Iff2xithen;RetStr—“表名不存在”转向Step?Flse转向Step4EndifSt印4:_quali_f!^_361^以_fami.ly为关键字从f_2_.q中:获取.family对应的值Steps:Ifqualifierset为,空thenRetStr—“表名存在但列族名不存在”转何St卯7Else:转向Step6EndifStep6:Ifqualifier'set包含Γ歹iJ成员qualifier,then[0140]RetStr—“列成员存在’’Else:RoiStr—“列族存在但列成员不存在”EndifSlop?:rol.urnRolSlr[0141]15、GetQualifiers函数[0142]函数功能:返回用户表的所有列族及列成员集[0143]输入参数:Stringtablename,Stringfamily[0144]输出参数:RetHashMap[0145]函数算法:[0146]Stepl:RetHashMap^hashmaptm.gettablename[0147]Step2:returnRetHashMap[0148]三、应用[0149]1、向HBase用户表中写入、读取、删除数据时,利用缓存在HBase客户端的用户表元数据(表名、列族、列成员集)通过ManageUserTableMeta类的CheckTabIeName函数、CheckFamiIy函数、CheckQualifier函数在HBase客户端中验证表名、列族和列成员有效性。[0150]2、利用ManageUserTableMeta类的getQualifiers函数输出用户表的列成员集,利用表名、列族和列成员集实现用户表数据的导入和用户表的远程管理。将欲导入表如电子表格字段与用户表的列族:列成员建立关联,能将数据自动导入用户表中。远程管理用户表包括浏览用户表、列族及列成员集,创建、重命名和删除用户表,添加、重命名和删除列族。[0151]四、特点[0152]1、以HBase客户端内存开销换取在HBase客户端中验证用户表表名、列族名和列成员:用户表元数据表名、列族、列成员集缓存在HBase客户端的hashmaptm全局变量中,通过ManageUserTableMeta类的CheckTableName函数、CheckFamiIy函数、CheckQualifier函数在HBase客户端验证用户表名、列族、列成员的有效性,此验证不需与HBase集群的服务器建立连接,减轻了HBase服务器的负载,减少了HBase集群的网络IO开销。[0153]2、在建立用户表元数据时,将用户表元数据永久存储到tablemeta表中,此后初始化ManageUserTabIeMeta对象能从tabIemeta表自动加载用户表元数据到HBase客户端hashmaptm全局变量,新建用户表元数据只需建立1次。[0154]3、维护HBase客户端的全局变量hashmaptm和tablemeta表中用户表元数据:调用ManageUserTabIeMeta类的MakeTable函数在创建用户表时维护用户表元数据;调用addfamilies函数和deIetefamilies函数在增加和删除列族时维护用户表元数据;调用FamiIiesRename函数在列族重命名时维护用户表元数据;调用RebuiId函数重建用户表元数据。[0155]以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。

权利要求:1.一种位于HBase客户端的用户数据有效性验证方法,其特征在于,包括在HBase客户端的基于HBase的tabIemeta表和基于HBase的ManageUserTabIeMeta类;所述tablemeta表用于存储用户表元数据,所述用户表元数据包括表名、列族、列成员;所述ManageUserTableMeta类封装了:建立用户表元数据、维护用户表元数据、在客户端验证用户表元数据;所述建立用户表元数据包括:将用户表元数据缓存在HBase客户端的hashmaptm变量中或者从tablemeta表将用户表元数据加载到hashmaptm中;所述维护用户表元数据包括:当创建、重命名和删除用户表名时,或者当增加、重命名和删除列族名时,或者当列族及其列成员集加载和移除时,更新tablemeta表中的用户表元数据;所述在客户端验证用户表元数据包括:利用tabIemeta表验证用户请求的用户表元数据。2.根据权利要求1所述的位于HBase客户端的用户数据有效性验证方法,其特征在于,所述tablemeta表只在首次启动时建立。3.根据权利要求1所述的位于HBase客户端的用户数据有效性验证方法,其特征在于,所述ManageUserTabIeMeta类还封装了:输出用户表元数据。4.根据权利要求1所述的位于HBase客户端的用户数据有效性验证方法,其特征在于,所述tabIemeta表的行关键字为用户表名+分隔符+列族名;tabIemeta表的列族为metadata,列成员为qualifierset和Ioadmem,列成员qualifierset存储用户表和列族对应的列成员集合;列成员Ioadmem为布尔类型,列成员Ioadmem表明列族中的所有列成员是否要加载HBase客户端,列成员Ioadmem取值为逻辑真表明列族需加载到HBase客户端,否则不加载,列成员Ioadmem默认取值为逻辑真,加载的粒度为列族的所有列成员。5.根据权利要求1所述的位于HBase客户端的用户数据有效性验证方法,其特征在于,在建立用户表元数据时,所述用户表元数据永久存储在tablemeta表中。6.根据权利要求1所述的位于HBase客户端的用户数据有效性验证方法,其特征在于,所述ManageUserTableMeta类包括:MakeTabIe函数,用于在创建用户表时维护用户表元数据;addfamiIies函数,用于在增加列族时维护用户表元数据;deletefamilies函数,用于在删除列族时维护用户表元数据;FamiIiesRename函数,用于在列族重命名时维护用户表元数据;RebuiId函数,用于重建用户表元数据。

百度查询: 西南医科大学 一种位于HBase客户端的用户数据有效性验证方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。