CN117827802B - 一种基于Hbase的数据处理系统、方法及装置 - Google Patents
一种基于Hbase的数据处理系统、方法及装置 Download PDFInfo
- Publication number
- CN117827802B CN117827802B CN202410039660.4A CN202410039660A CN117827802B CN 117827802 B CN117827802 B CN 117827802B CN 202410039660 A CN202410039660 A CN 202410039660A CN 117827802 B CN117827802 B CN 117827802B
- Authority
- CN
- China
- Prior art keywords
- hbase
- annotation
- code
- executed
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000012545 processing Methods 0.000 title claims abstract description 40
- 238000000034 method Methods 0.000 title claims description 26
- 238000003672 processing method Methods 0.000 claims abstract description 4
- 238000012217 deletion Methods 0.000 claims description 11
- 230000037430 deletion Effects 0.000 claims description 11
- 238000003032 molecular docking Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 10
- 238000003780 insertion Methods 0.000 description 7
- 230000037431 insertion Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 238000005192 partition Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000007812 deficiency Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/221—Column-oriented storage; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/73—Program documentation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Library & Information Science (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种基于Hbase的数据处理系统、方法及装置,所述系统包括:注解模块,用于存储预先定义的多个操作注解,所述操作注解用于标识针对Hbase数据库的Hbase操作,每一操作注解对应有相应Hbase操作的执行逻辑;扫描模块,用于响应于获取到的待执行代码,对待执行代码进行扫描,以确定所述待执行代码中与所述多个操作注解匹配的目标注解;确定目标注解对应的操作对象信息,所述操作对象信息包括操作范围和操作结果限定信息;执行模块,用于确定目标注解对应的执行逻辑,并在执行待执行代码时,根据确定的执行逻辑执行目标注解部分的代码,以对Hbase数据库中操作范围内的数据执行相应的Hbase操作并返回匹配于所述操作结果限定信息的操作结果。
Description
技术领域
本发明涉及数据库领域,尤其涉及一种基于Hbase的数据处理系统、方法及装置。
背景技术
HBase是Hadoop Database的简称,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统。利用HBase技术可在服务器上搭建起大规模结构化存储集群,基于其海量存储、列式存储和极易扩展的优势,Hbase技术被广泛应用于需要实时读写随机访问超大规模数据集的应用系统。但由于HBase作为一个分布式数据库系统,在CAP(Consistency,Availability, Partition Tolerance,一致性,可用性、分区容错性)原则中强调了一致性和分区容错性。这两个特性对于分布式系统的设计和运行非常重要,但同时也会对查询过程和系统的编程复杂性产生一定影响。
传统的HBase交互方式通常是使用HBase Java API(官方提供的接口)直接编写HBase客户端代码。虽然这种方式可以实现与HBase的交互,但使用HBase Java API编写代码可能相对复杂,需要了解HBase的底层架构、表模型和API,对于开发人员的要求较高。此外,传统的HBase客户端代码通常需要编写大量的样板代码,例如连接管理、表管理、数据转换等。这会导致代码冗长且容易出错。而且,传统的HBase客户端代码难以维护,特别是随着应用程序的增长和复杂性的增加,代码重构和维护将越加繁重。
发明内容
有鉴于此,本发明提供一种基于Hbase的数据处理系统、方法及装置,以解决相关技术中的不足。
具体地,本发明是通过如下技术方案实现:
根据本发明的第一方面,提供了一种基于Hbase的数据处理系统,所述系统包括:
注解模块,用于存储预先定义的多个操作注解,所述操作注解用于标识针对Hbase数据库的Hbase操作,每一操作注解对应有相应Hbase操作的执行逻辑;
扫描模块,用于响应于获取到的待执行代码,对所述待执行代码进行扫描,以确定所述待执行代码中与所述多个操作注解匹配的目标注解;确定所述目标注解对应的操作对象信息,所述操作对象信息包括操作范围和操作结果限定信息;
执行模块,用于确定所述目标注解对应的执行逻辑,并在执行所述待执行代码时,根据确定的执行逻辑执行所述目标注解部分的代码,以对所述Hbase数据库中所述操作范围内的数据执行相应的Hbase操作并返回匹配于所述操作结果限定信息的操作结果。
根据本发明的第二方面,提供了一种基于Hbase的数据处理方法,应用于Hbase客户端,所述Hbase客户端中存储有预先定义的多个操作注解,所述操作注解用于标识针对Hbase数据库的Hbase操作,每一操作注解对应有相应Hbase操作的执行逻辑;所述方法包括:
响应于获取到的待执行代码,对所述待执行代码进行扫描,以确定所述待执行代码中与所述多个操作注解匹配的目标注解;
确定所述目标注解对应的操作对象信息,所述操作对象信息包括操作范围和操作结果限定信息;
确定所述目标注解对应的执行逻辑,并在执行所述待执行代码时,根据确定的执行逻辑执行所述目标注解部分的代码,以对所述Hbase数据库中所述操作范围内的数据执行相应的Hbase操作并返回匹配于所述操作结果限定信息的操作结果。
根据本发明的第三方面,提供了一种基于Hbase的数据处理装置,应用于Hbase客户端,所述Hbase客户端中存储有预先定义的多个操作注解,所述操作注解用于标识针对Hbase数据库的Hbase操作,每一操作注解对应有相应Hbase操作的执行逻辑;所述装置包括:
扫描单元:响应于获取到的待执行代码,对所述待执行代码进行扫描,以确定所述待执行代码中与所述多个操作注解匹配的目标注解;
确定单元:确定所述目标注解对应的操作对象信息,所述操作对象信息包括操作范围和操作结果限定信息;
执行单元:确定所述目标注解对应的执行逻辑,并在执行所述待执行代码时,根据确定的执行逻辑执行所述目标注解部分的代码,以对所述Hbase数据库中所述操作范围内的数据执行相应的Hbase操作并返回匹配于所述操作结果限定信息的操作结果。
根据本发明的第四方面,提供了一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如第二方面所述的方法。
根据本发明的第五方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现第二方面所述方法的步骤。
本发明的实施例提供的技术方案可以包括以下有益效果:
一方面,通过操作注解替代复杂的代码编写,每一操作注解对应有相应Hbase操作的执行逻辑,使得在执行代码时仅需扫描代码中的操作注解,系统即可根据对应的执行逻辑自动实现Hbase操作,从而简化了代码编写操作。而且,通过操作注解对应的操作对象信息,可以相应Hbase操作对应的操作范围和操作结果限定信息,使得数据处理系统不仅可以实现简单的建表操作,还可以实现复杂的扫描或者字段插入等操作。另一方面,对系统进行模块化处理,将不同功能划分为独立的模块,使系统易于扩展和维护。并且,在存在特殊的业务需求时,仅需对注解模块中定义的操作注解和相应的执行逻辑进行编辑即可,操作简便,有助于提高代码编写效率。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1是本发明公开实施例示出的一种基于Hbase的数据处理系统的架构图;
图2是本发明公开实施例示出的一种扫描注解的示意图;
图3a是本发明公开实施例示出的一种单服务器部署多数据库的示意图;
图3b是本发明公开实施例示出的一种多服务器部署多数据库的示意图;
图4是本发明公开实施例示出的一种基于Hbase的数据处理方法的流程图;
图5是本发明公开实施例示出的一种电子设备的示意结构图;
图6是本发明公开实施例示出的一种基于Hbase的数据处理装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与本发明的一些方面相一致的装置和方法的例子。
在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
下面结合附图对本发明的一种基于Hbase的数据处理系统、方法及装置的实施例进行详细描述。
HBase是Hadoop Database的简称,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统。利用HBase技术可在服务器上搭建起大规模结构化存储集群,基于其海量存储、列式存储和极易扩展的优势,Hbase技术被广泛应用于需要实时读写随机访问超大规模数据集的应用系统。但由于HBase作为一个分布式数据库系统,在CAP(Consistency,Availability, Partition Tolerance,一致性,可用性、分区容错性)原则中强调了一致性和分区容错性。这两个特性对于分布式系统的设计和运行非常重要,但同时也会对查询过程和系统的编程复杂性产生一定影响。
传统的HBase交互方式通常是使用HBase Java API(官方提供的接口)直接编写HBase客户端代码。虽然这种方式可以实现与HBase的交互,但使用HBase Java API编写代码可能相对复杂,需要了解HBase的底层架构、表模型和API,对于开发人员的要求较高。此外,传统的HBase客户端代码通常需要编写大量的样板代码,例如连接管理、表管理、数据转换等。这会导致代码冗长且容易出错。而且,传统的HBase客户端代码难以维护,特别是随着应用程序的增长和复杂性的增加,代码重构和维护将越加繁重。
为解决相关技术中存在的不足,本说明书提出了一种基于Hbase的数据处理系统。
图1是本发明公开示例性实施例示出的一种基于Hbase的数据处理系统的架构图。如图1所示,该架构图包括:电脑10和服务器20。
电脑10是用户可以使用的一种类型的电子设备,当然用户所使用的电子设备并不限于此,例如还可以包括:手机、平板设备、笔记本电脑、掌上电脑(PDAs,Personal DigitalAssistants)、可穿戴设备(如智能眼镜、智能手表等)等,本说明书并不对此进行限制。在运行过程中,电脑10上运行有数据处理系统的客户端程序,使得该电脑10被配置为该通讯应用的客户端。该客户端程序可以接收用户发送的数据处理请求,并对数据处理请求中包含的待执行代码进行处理。该客户端程序可以包括3个模块,分别为:注解模块11、扫描模块12以及执行模块13。
其中,注解模块11用于存储预先定义的多个操作注解,所述操作注解用于标识针对Hbase数据库的Hbase操作,每一操作注解对应有相应Hbase操作的执行逻辑;扫描模块12用于响应于获取到的待执行代码,对所述待执行代码进行扫描,以确定所述待执行代码中与所述多个操作注解匹配的目标注解;执行模块13用于确定所述目标注解对应的执行逻辑,并在执行所述待执行代码时,根据确定的执行逻辑执行所述目标注解部分的代码。执行模块13在执行代码的过程中,可以向服务器20发送匹配于目标注解的Hbase操作的操作指令,以使服务器20执行相应的Hbase操作。
Hbase操作可以为针对Hbase数据库中数据执行的操作,任意针对数据库的增、删、改、查操作均可以作为Hbase操作,例如:创建数据表操作、删除数据表操作、修改操作、查看操作等等。对应于Hbase操作,操作注解可以有表删除注解、字段删除注解、扫描注解、创建注解、插入注解等等。每一操作注解对应有执行逻辑,操作注解在代码中的意义是由其对应的执行逻辑所赋予的。例如:字段删除注解对应的Hbase操作为删除Hbase数据库中某一数据表的某一字段,那么在扫描模块12扫描到该字段删除注解时,执行模块13可以在执行代码的过程中,根据该字段删除注解,向服务器20发送针对某一数据表的某一字段的删除指令,以使服务器20删除Hbase数据库21中的指定字段。
扫描模块12,用于响应于获取到的待执行代码,对所述待执行代码进行扫描,以确定所述待执行代码中与所述多个操作注解匹配的目标注解;确定所述目标注解对应的操作对象信息,所述操作对象信息包括操作范围和操作结果限定信息。
扫描到的目标注解可以为待执行代码中与注解模块11存储的操作注解匹配的任一注解,即若待执行代码中存在注解模块11存储的操作注解,则该注解可以被视为目标注解。待执行代码中可以存在多个目标注解,本说明并不对目标注解的数量进行限制。
在执行代码中,目标注释还对应有操作对象信息。操作对象信息为在执行操作注解对应的Hbase操作时操作对象的描述信息,例如:当目标注解为创建注解时,操作对象信息可以为待创建的数据表的表名称或者可以为待创建的数据行的位置;当目标注解为表删除注解时,操作对象信息可以为待删除的数据表的表标识。
下面以扫描注解为例对操作对象信息进行详细介绍,如图2所示,在待执行代码中扫描注解对应的操作对象信息分为两部分,一部分为用于描述扫描结果的操作结果限定信息,另一部分为用于定义扫描范围的操作范围。“List<MessageEntity>”意为:扫描结果的返回对象为“MessageEntity”,即根据扫描到的内容封装而成的结果为“MessageEntity”。扫描范围中的“RowKeyRange”用于定义扫描范围(数据库中存储数据行时是以键值为标识进行存储的,所以扫描范围往往包括扫描开始的键值startRowKey和扫描结束的键值endRowKey,图2中并没有详细列出),“Filter”用于定义过滤器。图2的扫描规则意为:在“rowKeyRange”这个扫描范围内使用“filter”过滤器进行扫描。也就是说,根据该扫描注释以及操作对象信息,电脑10发送至服务器20操作指令可以为:在“rowKeyRange”这个扫描范围内使用“filter”过滤器进行扫描,扫描结果的返回对象为“MessageEntity”。
执行模块13,用于确定所述目标注解对应的执行逻辑,并在执行所述待执行代码时,根据确定的执行逻辑执行所述目标注解部分的代码,以对所述Hbase数据库中所述操作范围内的数据执行相应的Hbase操作并返回匹配于所述操作结果限定信息的操作结果。例如:图2中的扫描注解可以对“rowKeyRange”这个扫描范围内的数据进行扫描,扫描结果的返回对象为“MessageEntity”。
电脑10与服务器20对接,服务器20可以为包含一独立主机的物理服务器,或者该服务器20可以为主机集群承载的虚拟服务器。服务器20上运行有数据处理系统的服务端程序,使得该服务器20被配置为数据处理系统的服务端。该服务端程序可以配合于上述的客户端,譬如可以根据执行模块13发送的操作指令执行相应的Hbase操作,并返回相应的操作结果。服务器20上可以部署有Hbase数据库21,服务器20可以根据操作指令对Hbase数据库21中的数据进行操作。例如:当Hbase操作为查看Hbase数据库21中的某一数据表时,服务器20可以获取该数据表,并将该数据表的内容反馈至电脑10。
在该实施例中,一方面,通过操作注解替代复杂的代码编写,每一操作注解对应有相应Hbase操作的执行逻辑,使得在执行代码时仅需扫描代码中的操作注解,系统即可根据对应的执行逻辑自动实现Hbase操作,从而简化了代码编写操作。而且,通过操作注解对应的操作对象信息,可以相应Hbase操作对应的操作范围和操作结果限定信息,使得数据处理系统不仅可以实现简单的建表操作,还可以实现复杂的扫描或者字段插入等操作。另一方面,对系统进行模块化处理,将不同功能划分为独立的模块,使系统易于扩展和维护。并且,在存在特殊的业务需求时,仅需对注解模块中定义的操作注解和相应的执行逻辑进行编辑即可,操作简便,有助于提高代码编写效率。
在一实施例中,所述扫描模块,还用于:确定所述目标注解对应的操作对象信息;所述执行模块用于:确定所述目标注解对应的实体类对象,并根据所述确定的执行逻辑和所述操作对象信息对所述目标注解对应的实体类对象执行相应的Hbase操作;其中,所述操作对象信息匹配于所述目标注解对应的实体类对象。
每一操作注解均存在对应的实体类对象,用于定义该操作注解对应的操作对象的数据结构,例如:表删除注解对应的实体类对象为数据表,字段删除注解对应的实体类对象为字段,插入注解对应的实体类对象为数据行或者数据列。
多个操作注解包括下述至少之一:表删除注解、字段删除注解、扫描注解、创建注解、插入注解。
每一操作注解均存在对应的实体类对象,用于定义该操作注解对应的操作对象的数据结构,例如:表删除注解对应的实体类对象为数据表,字段删除注解对应的实体类对象为字段,插入注解对应的实体类对象为数据行或者数据列。
在该实施例中,通过扫描模块扫描待执行代码中的目标注解,以及识别目标注解对应的操作对象信息,使得执行模块可以根据目标注解对应的执行逻辑以及操作对象信息执行目标注解部分的代码,从而简化了代码编写操作。
在所述目标注解为字段删除注解的情况下,所述操作对象信息为待删除字段的字段名称,所述执行模块用于:确定所述目标注解对应的实体类对象为字段;根据所述扫描模块确定的字段名称从Hbase数据库中检索所述待删除字段,并删除所述待删除字段。
在所述目标注解为扫描注解的情况下,所述操作对象信息为待扫描数据表的表标识,所述执行模块用于:确定所述目标注解对应的实体类对象为数据表;根据所述扫描模块确定的表标识扫描Hbase数据库中匹配于所述表标识的数据表,并将扫描的内容反馈至所述待执行代码的发送方。
在一实施例中,所述系统还包括:对接模块,用于获取数据处理请求,并根据所述数据处理请求中包含的配置信息与目标数据库对接;其中,所述数据获取请求包含待对接的目标数据库的配置信息和所述待执行代码。
如图3a所示,服务器20上也可以部署有多个数据库,包括Hbase数据库21-23。电脑10接收到的数据处理请求中包含待对接数据库的配置信息。该配置信息可以用于确定待对接数据库,例如:配置信息中包含待对接数据库的名称为“Hbase数据库23”,此时,电脑10上部署的对接模块14可以根据配置信息中包含的待对接数据库的名称确定待对接数据库为Hbase数据库23,并以此与Hbase数据库23对接。
当然,也可能存在多个服务器,每一服务器上部署有一个Hbase数据库。如图3b所示,服务器20上部署有Hbase数据库21,服务器30上部署有Hbase数据库31,服务器40上部署有Hbase数据库41。此时,配置信息可以包含待对接数据库的IP地址,例如:配置信息中包含服务器40的IP地址,电脑10上部署的对接模块14可以根据配置信息中包含的IP地址确定待对接数据库为服务器40上部署的Hbase数据库41,并以此与Hbase数据库41对接。
除了用于确定待对接数据库之外,配置信息中还可以包含待对接数据库的管理员账号与密码。对接模块14在对接与待对接数据库对接时,可以根据配置信息中包含的账号与密码登录待对接数据库,以此取得待对接数据库的操作权限。当然,配置信息中还可以包含除账号密码之外的其他授权信息,本说明书并不对此进行限制。
在该实施例中,Hbase客户端上部署的对接模块可以通过数据处理请求中的配置信息确定待对接数据库,并与其对接。一方面,避免将错误的Hbase数据库确定为数据处理的对象;另一方面,无需在编写代码时将待对接数据库的信息编写进代码中,简化了操作步骤,从而提升了数据处理的效率。
在一实施例中,所述注解模块还用于:响应于获取到的注解创建请求,存储所述注解创建请求中包含的预创建注解和所述预创建注解对应的执行逻辑。
如前所述,在存在特殊的业务需求时,仅需对注解模块中定义的操作注解和相应的执行逻辑进行编辑即可,操作简便,有助于提高代码编写效率。注解模块中预先定义的操作注解对应的Hbase操作往往为常用的操作,例如:查看、扫描、删除、创建等等。在实际情况中,为满足特殊的业务需求,可以将在注解模块中添加不常用的操作注解,订制满足需求的注解模块。
图4是本发明公开示例性实施例示出的一种基于Hbase的数据处理方法的流程图,该方法应用于Hbase客户端,所述Hbase客户端中存储有预先定义的多个操作注解,所述操作注解用于标识针对Hbase数据库的Hbase操作,每一操作注解对应有相应Hbase操作的执行逻辑;具体可以包括如下步骤:
步骤402,响应于获取到的待执行代码,对所述待执行代码进行扫描,以确定所述待执行代码中与所述多个操作注解匹配的目标注解;
步骤404,确定所述目标注解对应的执行逻辑,并在执行所述待执行代码时,根据确定的执行逻辑执行所述目标注解部分的代码。
在该实施例中,一方面,通过操作注解替代复杂的代码编写,每一操作注解对应有相应Hbase操作的执行逻辑,使得在执行代码时仅需扫描代码中的操作注解,系统即可根据对应的执行逻辑自动实现Hbase操作,从而简化了代码编写操作。而且,通过操作注解对应的操作对象信息,可以相应Hbase操作对应的操作范围和操作结果限定信息,使得数据处理系统不仅可以实现简单的建表操作,还可以实现复杂的扫描或者字段插入等操作。另一方面,对系统进行模块化处理,将不同功能划分为独立的模块,使系统易于扩展和维护。并且,在存在特殊的业务需求时,仅需对注解模块中定义的操作注解和相应的执行逻辑进行编辑即可,操作简便,有助于提高代码编写效率。
与前述方法的实施例相对应,本发明还提供了电子设备以及装置的实施例。
图5是本发明实施例示出的一种电子设备的示意结构图。请参考图5,在硬件层面,该设备包括处理器501、网络接口502、内存503、非易失性存储器504以及内部总线505,当然还可能包括其他业务所需要的硬件。本发明一个或多个实施例可以基于软件方式来实现,比如由处理器501从非易失性存储器504中读取对应的计算机程序到内存503中然后运行。当然,除了软件实现方式之外,本发明一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。在该实施例中,一方面,通过操作注解替代复杂的代码编写,每一操作注解对应有相应Hbase操作的执行逻辑,使得在执行代码时仅需扫描代码中的操作注解,系统即可根据对应的执行逻辑自动实现Hbase操作,从而简化了代码编写操作。而且,通过操作注解对应的操作对象信息,可以相应Hbase操作对应的操作范围和操作结果限定信息,使得数据处理系统不仅可以实现简单的建表操作,还可以实现复杂的扫描或者字段插入等操作。另一方面,对系统进行模块化处理,将不同功能划分为独立的模块,使系统易于扩展和维护。并且,在存在特殊的业务需求时,仅需对注解模块中定义的操作注解和相应的执行逻辑进行编辑即可,操作简便,有助于提高代码编写效率。
图6本发明实施例示出的一种基于Hbase的数据处理装置的框图。请参考图6,该装置可以应用于如图6所示的设备中,应用于Hbase客户端,所述Hbase客户端中存储有预先定义的多个操作注解,所述操作注解用于标识针对Hbase数据库的Hbase操作,每一操作注解对应有相应Hbase操作的执行逻辑,以实现本发明所述的技术方案,该装置包括:
扫描单元602,用于响应于获取到的待执行代码,对所述待执行代码进行扫描,以确定所述待执行代码中与所述多个操作注解匹配的目标注解;
确定单元604,用于确定所述目标注解对应的操作对象信息,所述操作对象信息包括操作范围和操作结果限定信息;
执行单元606,用于确定所述目标注解对应的执行逻辑,并在执行所述待执行代码时,根据确定的执行逻辑执行所述目标注解部分的代码,以对所述Hbase数据库中所述操作范围内的数据执行相应的Hbase操作并返回匹配于所述操作结果限定信息的操作结果。
所述执行单元606具体用于:确定所述目标注解对应的实体类对象,并根据所述确定的执行逻辑和所述操作对象信息对所述目标注解对应的实体类对象执行相应的Hbase操作;其中,所述操作对象信息匹配于所述目标注解对应的实体类对象。
可选的,所述多个操作注解包括下述至少之一:表删除注解、字段删除注解、扫描注解、创建注解、插入注解。
可选的,
在所述目标注解为字段删除注解的情况下,所述操作对象信息为待删除字段的字段名称,所述执行单元606具体用于:确定所述目标注解对应的实体类对象为字段;根据所述扫描模块确定的字段名称从Hbase数据库中检索所述待删除字段,并删除所述待删除字段;
在所述目标注解为扫描注解的情况下,所述操作对象信息为待扫描数据表的表标识,所述执行单元606具体用于:确定所述目标注解对应的实体类对象为数据表;根据所述扫描模块确定的表标识扫描Hbase数据库中匹配于所述表标识的数据表,并将扫描的内容反馈至所述待执行代码的发送方。
可选的,还包括:
对接单元608,用于获取数据处理请求,并根据所述数据处理请求中包含的配置信息与目标数据库对接;其中,所述数据获取请求包含待对接的目标数据库的配置信息和所述待执行代码。
可选的,还包括:
存储单元610,用于响应于获取到的注解创建请求,存储所述注解创建请求中包含的预创建注解和所述预创建注解对应的执行逻辑。
在该实施例中,一方面,通过操作注解替代复杂的代码编写,每一操作注解对应有相应Hbase操作的执行逻辑,使得在执行代码时仅需扫描代码中的操作注解,系统即可根据对应的执行逻辑自动实现Hbase操作,从而简化了代码编写操作。而且,通过操作注解对应的操作对象信息,可以相应Hbase操作对应的操作范围和操作结果限定信息,使得数据处理系统不仅可以实现简单的建表操作,还可以实现复杂的扫描或者字段插入等操作。另一方面,对系统进行模块化处理,将不同功能划分为独立的模块,使系统易于扩展和维护。并且,在存在特殊的业务需求时,仅需对注解模块中定义的操作注解和相应的执行逻辑进行编辑即可,操作简便,有助于提高代码编写效率。
虽然本发明包含许多具体实施细节,但是这些不应被解释为限制任何发明的范围或所要求保护的范围,而是主要用于描述特定发明的具体实施例的特征。本发明内在多个实施例中描述的某些特征也可以在单个实施例中被组合实施。另一方面,在单个实施例中描述的各种特征也可以在多个实施例中分开实施或以任何合适的子组合来实施。此外,虽然特征可以如上所述在某些组合中起作用并且甚至最初如此要求保护,但是来自所要求保护的组合中的一个或多个特征在一些情况下可以从该组合中去除,并且所要求保护的组合可以指向子组合或子组合的变型。
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应被理解为要求这些操作以所示的特定顺序执行或顺次执行、或者要求所有例示的操作被执行,以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中均需要这样的分离,并且应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中,或者封装成多个软件产品。
由此,主题的特定实施例已被描述。其他实施例在所附权利要求书的范围以内。在某些情况下,权利要求书中记载的动作可以以不同的顺序执行并且仍实现期望的结果。此外,附图中描绘的处理并非必需所示的特定顺序或顺次顺序,以实现期望的结果。在某些实现中,多任务和并行处理可能是有利的。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (10)
1.一种基于Hbase的数据处理系统,其特征在于,所述系统包括:
注解模块,用于存储预先定义的多个操作注解,所述操作注解用于标识针对Hbase数据库的Hbase操作,每一操作注解对应有相应Hbase操作的执行逻辑;
扫描模块,用于响应于获取到的待执行代码,对所述待执行代码进行扫描,以确定所述待执行代码中与所述多个操作注解匹配的目标注解;确定所述目标注解对应的操作对象信息,所述操作对象信息包括操作范围和操作结果限定信息;
执行模块,用于确定所述目标注解对应的执行逻辑,并在执行所述待执行代码时,根据确定的执行逻辑执行所述目标注解部分的代码,以对所述Hbase数据库中所述操作范围内的数据执行相应的Hbase操作并返回匹配于所述操作结果限定信息的操作结果。
2.根据权利要求1所述的系统,其特征在于,
所述执行模块用于:确定所述目标注解对应的实体类对象,并根据所述确定的执行逻辑和所述操作对象信息对所述目标注解对应的实体类对象执行相应的Hbase操作;其中,所述操作对象信息匹配于所述目标注解对应的实体类对象。
3.根据权利要求2所述的系统,其特征在于,所述多个操作注解包括下述至少之一:表删除注解、字段删除注解、扫描注解、创建注解、插入注解。
4.根据权利要求3所述的系统,其特征在于,
在所述目标注解为字段删除注解的情况下,所述操作对象信息为待删除字段的字段名称,所述执行模块用于:确定所述目标注解对应的实体类对象为字段;根据所述扫描模块确定的字段名称从Hbase数据库中检索所述待删除字段,并删除所述待删除字段;
在所述目标注解为扫描注解的情况下,所述操作对象信息为待扫描数据表的表标识,所述执行模块用于:确定所述目标注解对应的实体类对象为数据表;根据所述扫描模块确定的表标识扫描Hbase数据库中匹配于所述表标识的数据表,并将扫描的内容反馈至所述待执行代码的发送方。
5.根据权利要求1所述的系统,其特征在于,所述系统还包括:
对接模块,用于获取数据处理请求,并根据所述数据处理请求中包含的配置信息与目标数据库对接;其中,所述数据获取请求包含待对接的目标数据库的配置信息和所述待执行代码。
6.根据权利要求1所述的系统,其特征在于,所述注解模块还用于:
响应于获取到的注解创建请求,存储所述注解创建请求中包含的预创建注解和所述预创建注解对应的执行逻辑。
7.一种基于Hbase的数据处理方法,其特征在于,应用于Hbase客户端,所述Hbase客户端中存储有预先定义的多个操作注解,所述操作注解用于标识针对Hbase数据库的Hbase操作,每一操作注解对应有相应Hbase操作的执行逻辑;所述方法包括:
响应于获取到的待执行代码,对所述待执行代码进行扫描,以确定所述待执行代码中与所述多个操作注解匹配的目标注解;
确定所述目标注解对应的操作对象信息,所述操作对象信息包括操作范围和操作结果限定信息;
确定所述目标注解对应的执行逻辑,并在执行所述待执行代码时,根据确定的执行逻辑执行所述目标注解部分的代码,以对所述Hbase数据库中所述操作范围内的数据执行相应的Hbase操作并返回匹配于所述操作结果限定信息的操作结果。
8.一种基于Hbase的数据处理装置,其特征在于,应用于Hbase客户端,所述Hbase客户端中存储有预先定义的多个操作注解,所述操作注解用于标识针对Hbase数据库的Hbase操作,每一操作注解对应有相应Hbase操作的执行逻辑;所述装置包括:
扫描单元:响应于获取到的待执行代码,对所述待执行代码进行扫描,以确定所述待执行代码中与所述多个操作注解匹配的目标注解;
确定单元:确定所述目标注解对应的操作对象信息,所述操作对象信息包括操作范围和操作结果限定信息;
执行单元:确定所述目标注解对应的执行逻辑,并在执行所述待执行代码时,根据确定的执行逻辑执行所述目标注解部分的代码,以对所述Hbase数据库中所述操作范围内的数据执行相应的Hbase操作并返回匹配于所述操作结果限定信息的操作结果。
9.一种电子设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如权利要求7中所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求7中所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410039660.4A CN117827802B (zh) | 2024-01-11 | 2024-01-11 | 一种基于Hbase的数据处理系统、方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410039660.4A CN117827802B (zh) | 2024-01-11 | 2024-01-11 | 一种基于Hbase的数据处理系统、方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117827802A CN117827802A (zh) | 2024-04-05 |
CN117827802B true CN117827802B (zh) | 2024-05-28 |
Family
ID=90520888
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410039660.4A Active CN117827802B (zh) | 2024-01-11 | 2024-01-11 | 一种基于Hbase的数据处理系统、方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117827802B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104182484A (zh) * | 2014-08-07 | 2014-12-03 | 北京京东尚科信息技术有限公司 | 一种实现HBase数据与Java域对象映射的方法和装置 |
CN106547863A (zh) * | 2016-10-31 | 2017-03-29 | 努比亚技术有限公司 | 操作HBase的方法及装置 |
CN116010419A (zh) * | 2023-02-07 | 2023-04-25 | 江西数字网联信息安全技术有限公司 | 一种创建唯一索引和优化逻辑删除的方法及装置 |
CN116561146A (zh) * | 2023-05-10 | 2023-08-08 | 北京洞悉网络有限公司 | 数据库日志记录方法、装置、计算机设备及计算机可读存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10678519B2 (en) * | 2017-03-20 | 2020-06-09 | Coursera, Inc. | Code generation for isomorphic data fetching |
-
2024
- 2024-01-11 CN CN202410039660.4A patent/CN117827802B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104182484A (zh) * | 2014-08-07 | 2014-12-03 | 北京京东尚科信息技术有限公司 | 一种实现HBase数据与Java域对象映射的方法和装置 |
CN106547863A (zh) * | 2016-10-31 | 2017-03-29 | 努比亚技术有限公司 | 操作HBase的方法及装置 |
CN116010419A (zh) * | 2023-02-07 | 2023-04-25 | 江西数字网联信息安全技术有限公司 | 一种创建唯一索引和优化逻辑删除的方法及装置 |
CN116561146A (zh) * | 2023-05-10 | 2023-08-08 | 北京洞悉网络有限公司 | 数据库日志记录方法、装置、计算机设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117827802A (zh) | 2024-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107391653B (zh) | 一种分布式NewSQL数据库系统及图片数据储存方法 | |
CN109254733B (zh) | 用于存储数据的方法、装置和系统 | |
US9223817B2 (en) | Virtual repository management | |
CN111901294A (zh) | 一种构建在线机器学习项目的方法及机器学习系统 | |
CN108536745B (zh) | 基于Shell的数据表提取方法、终端、设备及存储介质 | |
CN112860777B (zh) | 数据处理方法、装置及设备 | |
KR101790766B1 (ko) | 데이터의 검색 방법, 장치 및 단말기 | |
CN109389299A (zh) | 工作流流程部署方法、装置、计算机设备和存储介质 | |
CN115576899B (zh) | 构建索引的方法和装置以及文件查找方法和装置 | |
US20060229927A1 (en) | Resolution of group membership for resources | |
CN112965939A (zh) | 一种文件合并方法、装置和设备 | |
CN103503388B (zh) | 一种分布式队列消息读取方法及设备、系统 | |
CN116360879A (zh) | 一种多层级信息框架的创建方法以及装置 | |
CN113377876A (zh) | 基于Domino平台的数据分库处理方法、装置及平台 | |
CN117827802B (zh) | 一种基于Hbase的数据处理系统、方法及装置 | |
US20080033948A1 (en) | Storage apparatus and method therefor | |
WO2019237949A1 (zh) | 搜索方法及装置 | |
CN116737838A (zh) | 一种数据同步方法、装置,计算机设备和存储介质 | |
CN110334064A (zh) | 一种日志文件的处理方法及相关装置 | |
CN115878625A (zh) | 数据处理方法和装置及电子设备 | |
US11580128B2 (en) | Preventing DBMS deadlock by eliminating shared locking | |
US6778978B1 (en) | Determining a workbasket identification for an item in a data store | |
CN112861495A (zh) | 一种基于Excel模板文件生成ImpalaSQL语句的方法 | |
CN111651531A (zh) | 数据导入方法、装置、设备及计算机存储介质 | |
CN113553329B (zh) | 数据集成系统和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |