CN114116723A - 快照处理方法、装置及电子设备 - Google Patents
快照处理方法、装置及电子设备 Download PDFInfo
- Publication number
- CN114116723A CN114116723A CN202111444455.9A CN202111444455A CN114116723A CN 114116723 A CN114116723 A CN 114116723A CN 202111444455 A CN202111444455 A CN 202111444455A CN 114116723 A CN114116723 A CN 114116723A
- Authority
- CN
- China
- Prior art keywords
- snapshot
- target
- database
- information
- state
- 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.)
- Pending
Links
Images
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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及快照技术领域,具体涉及快照处理方法、装置及电子设备,应用于分布式数据库搜索分析引擎,所述方法包括获取快照创建请求,快照创建请求包括目标快照名称以及目标逻辑表;基于目标逻辑表中目标字段的状态,确定各个目标逻辑表对应的物理表,目标字段用于表示物理表所属的数据库;基于物理表创建对应的快照,并确定各个快照的创建状态;根据快照创建请求、物理表以及创建状态,确定与目标快照名称对应的快照记录信息,以利用快照记录信息对各个快照进行处理。通过该快照记录信息,对外屏蔽不同数据库的复杂性,用户只需访问该快照记录信息即可知道各个物理表对应的快照创建状态,无需进入这两个组件内部查询,提升了快照处理的效率。
Description
技术领域
本发明涉及快照技术领域,具体涉及快照处理方法、装置及电子设备。
背景技术
日常开发中,对于大数据量数据的存储及查询,业界存在一种比较流行的方案是HBase和Elasticsearch(简称为ES)组合。通过HBase存储全量数据,ES索引查询数据,各取所长,实现业务系统存储和查询性能的双向提升。针对上面的场景,其必然需要做数据的冗余备份,保证数据安全,那么快照就是最好的选择。因为HBase和ES它俩快照的后台操作逻辑完全不一致,比如说针对逻辑表A、表B两个表的快照,表A不分区,只有一个物理表A;同时表B是按年分区表,存在B_2020、B_2021两个物理表。而ES可以一次将它们创建完成,但是HBase只能一个一个创建,并且它们随时可能因为网络等其它问题而中途失败,如何更好的统一关联并管理它们就是必须解决的问题。
现有的处理方式是,用户选择指定的表,直接各自调用HBase及ES的API创建快照接口。然而,由于HBase及ES快照之间没有任何联系,不存在统一管理,需要用户各自操作,涉及两个系统组件操作,较麻烦。例如快照操作,因为数据量大,快照耗时长,快照通常都是异步操作,所以索引快照一旦失败,用户无法知道具体状态,只能各自去HBase及ES查看各自的快照状态及错误信息,导致快照处理的效率较低。同时,对于用户而言,并没有较好的方式去处理这些快照的对应关系,导致这些快照难以维护。在表较多的情况下表现尤为明显,比较容易出错。
发明内容
有鉴于此,本发明实施例提供了一种快照处理方法、装置及电子设备,以解决快照处理效率较低的问题。
根据第一方面,本发明实施例提供了一种快照处理方法,应用于分布式数据库搜索分析引擎,所述方法包括:
获取快照创建请求,所述快照创建请求包括目标快照名称以及目标逻辑表;
基于所述目标逻辑表中目标字段的状态,确定各个所述目标逻辑表对应的物理表,所述目标字段用于表示所述物理表所属的数据库;
基于所述物理表创建对应的快照,并确定各个快照的创建状态;
根据所述快照创建请求、所述物理表以及所述创建状态,确定与所述目标快照名称对应的快照记录信息,以利用所述快照记录信息对所述各个快照进行处理。
本发明实施例提供的快照处理方法,在创建快照时通过提供目标快照名称以及目标逻辑表,自动查询到目标逻辑表对应的物理表,从而创建相应的快照,其中,物理表可能是属于第一数据库的,也可能是属于第二数据库的,对于用户而言并不需要感知物理在哪个数据库中进行快照的创建;再利用快照记录信息将该快照的相关信息记录下来,后续仅需要查找该快照记录信息,用于存储各个数据库的快照信息,对外屏蔽不同数据库的复杂性,用户只需访问该快照记录信息即可知道各个物理表对应的快照创建状态,无需进入这两个组件内部查询,一定程度上提升了快照处理的效率。
结合第一方面,在第一方面第一实施方式中,所述基于所述目标逻辑表中目标字段的状态,确定各个所述目标逻辑表对应的物理表,包括:
判断所述目标逻辑表中是否存在目标字段;
当存在所述目标字段时,确定所述目标逻辑表存在复合表且所述物理表包括第一数据库的物理表以及第二数据库的物理表。
本发明实施例提供的快照处理方法,由于目标字段能够表征目标逻辑表是否用来存储附件信息,即是否需要进行大量数据的存储,当需要进行大量数据的存储时,需要利用第二数据库对应的物理表来进行快照的创建,从而实现自动确定对应的数据库,在用户看来,只知道建了一个表,根本不知道底层是两个数据库对应的物理表,便于用户操作,提高快照处理效率。
结合第一方面第一实施方式,在第一方面第二实施方式中,所述基于所述目标逻辑表中目标字段的状态,确定各个所述目标逻辑表对应的物理表,还包括:
当不存在所述目标字段时,确定所述目标逻辑表不存在所述复合表且所述物理表包括第一数据库的物理表。
本发明实施例提供的快照处理方法,在不存在目标字段时,表示此时进行的少量数据的快照处理,属于不使用第二数据库的情况,仅利用第一数据库进行快照创建,从而扩大使用场景,避免不必要的资源浪费。
结合第一方面,在第一方面第三实施方式中,所述根据所述快照创建请求、所述物理表以及所述创建状态,确定与所述目标快照名称对应的快照记录信息,以利用所述快照记录信息对所述各个快照进行处理,包括:
定时查询所述快照记录信息,确定是否存在状态异常的快照信息;
当存在所述状态异常的快照信息时,基于所述状态异常的快照信息对应的快照名称,在相应的数据库集群中查询创建状态,以更新所述快照记录信息。
本发明实施例提供的快照处理方法,通过定时任务的触发,使得状态异常的快照信息可以被补偿,保证状态不会丢失。例如,完成HBase、ES快照之后,更新快照记录信息时,系统突然断电,此时就可以利用该方式完成快照状态的写入。
结合第一方面第三实施方式,在第一方面第四实施方式中,所述快照记录信息还包括各个逻辑表是否存在复合表的标识,所述基于所述状态异常的快照信息对应的快照名称,在相应的数据库集群中查询创建状态,以更新所述快照记录信息,包括:
基于所述快照记录信息,确定所述状态异常的快照信息对应的逻辑表是否存在复合表;
当存在所述复合表时,确定所述状态异常的快照信息对应的目标数据库;
基于所述状态异常的快照信息对应的快照名称以及所述目标数据库,在目标数据库集群中查询创建状态,以更新所述快照记录信息。
本发明实施例提供的快照处理方法,通过在快照记录信息中引入是否存在复合表的信息,确保第一数据库单独使用时,该方案依旧适用,使用场景多样化。
结合第一方面第四实施方式,在第一方面第五实施方式中,所述基于所述状态异常的快照信息对应的快照名称,在相应的数据库集群中查询创建状态,以更新所述快照记录信息,还包括:
当不存在所述复合表时,确定所述状态异常的快照信息对应的目标数据库为第一数据库;
基于所述状态异常的快照信息对应的快照名称,在所述第一数据库集群中查询创建状态,以更新所述快照记录信息。
本发明实施例提供的快照处理方法,由于不存在复合表,就不会存在该状态异常的快照不可能在第二数据库中存在,因此仅需要在第一数据库中进行查询创建状态,提高了查询效率。
结合第一方面第四实施方式,在第一方面第六实施方式中,当所述目标数据库为第二数据库时,所述基于所述状态异常的快照信息对应的快照名称以及所述目标数据库,在目标数据库集群中查询创建状态,以更新所述快照记录信息,包括:
基于所述状态异常的快照信息,确定状态异常的快照在所述第二数据库中对应的物理表名称;
将所述状态异常的快照信息对应的快照名称与所述物理表名称进行拼接,确定所述状态异常的快照信息在所述第二数据库中的快照名称;
基于所述第二数据库中的快照名称在所述第二数据库集群中查询创建状态,以更新所述快照记录信息。
本发明实施例提供的快照处理方法,只要获取到相应的快照名称,即可通过拼接规则获取第一数据库以及第二数据库中对应的快照名称,从而实现针对两个快照的操作及信息获取,方便管理。
根据第二方面,本发明实施例还提供了一种快照处理装置,应用于分布式数据库搜索分析引擎,所述装置包括:
获取模块,用于获取快照创建请求,所述快照创建请求包括目标快照名称以及目标逻辑表;
第一确定模块,用于基于所述目标逻辑表中目标字段的状态,确定各个所述目标逻辑表对应的物理表,所述目标字段用于表示所述物理表所属的数据库;
第二确定模块,用于基于所述物理表创建对应的快照,并确定各个快照的创建状态;
第三确定模块,用于根据所述快照创建请求、所述物理表以及所述创建状态,确定与所述目标快照名称对应的快照记录信息,以利用所述快照记录信息对所述各个快照进行处理。
结合第二方面,在第二方面第一实施方式中,所述第一确定模块,包括:
判断单元,用于判断所述目标逻辑表中是否存在目标字段;
第一确定单元,用于当存在所述目标字段时,确定所述目标逻辑表存在复合表且所述物理表包括第一数据库的物理表以及第二数据库的物理表。
结合第一方面第一实施方式,在第一方面第二实施方式中,所述第一确定模块,还包括:
第二确定单元,用于当不存在所述目标字段时,确定所述目标逻辑表不存在所述复合表且所述物理表包括第一数据库的物理表。
结合第二方面,在第二方面第三实施方式中,所述第三确定模块,包括:
第一查询单元,用于定时查询所述快照记录信息,确定是否存在状态异常的快照信息;
第二查询单元,用于当存在所述状态异常的快照信息时,基于所述状态异常的快照信息对应的快照名称,在相应的数据库集群中查询创建状态,以更新所述快照记录信息。
结合第二方面第三实施方式,在第二方面第四实施方式中,所述快照记录信息还包括各个逻辑表是否存在复合表的标识,所述第二查询单元,包括:
第一确定子单元,用于基于所述快照记录信息,确定所述状态异常的快照信息对应的逻辑表是否存在复合表;
第二确定子单元,用于当存在所述复合表时,确定所述状态异常的快照信息对应的目标数据库;
第一查询子单元,用于基于所述状态异常的快照信息对应的快照名称以及所述目标数据库,在目标数据库集群中查询创建状态,以更新所述快照记录信息。
结合第二方面第四实施方式,在第二方面第五实施方式中,所述第二查询单元,还包括:
第三确定子单元,用于当不存在所述复合表时,确定所述状态异常的快照信息对应的目标数据库为第一数据库;
第二查询子单元,用于基于所述状态异常的快照信息对应的快照名称,在所述第一数据库集群中查询创建状态,以更新所述快照记录信息。
结合第二方面第四实施方式,在第二方面第六实施方式中,当所述目标数据库为第二数据库时,所述第一查询子单元,包括:
异常状态确定子单元,用于基于所述状态异常的快照信息,确定状态异常的快照在所述第二数据库中对应的物理表名称;
拼接子单元,用于将所述状态异常的快照信息对应的快照名称与所述物理表名称进行拼接,确定所述状态异常的快照信息在所述第二数据库中的快照名称;
更新子单元,用于基于所述第二数据库中的快照名称在所述第二数据库集群中查询创建状态,以更新所述快照记录信息。
根据第三方面,本发明实施例提供了一种电子设备,包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行第一方面或者第一方面的任意一种实施方式中所述的快照处理方法。
根据第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行第一方面或者第一方面的任意一种实施方式中所述的快照处理方法。
需要说明的是,本发明实施例提供的快照处理装置、电子设备及计算机可读存储介质的相应有益效果,请参见快照处理方法中相应内容的描述,在此不再赘述。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的快照处理方法的流程图;
图2是根据本发明实施例的快照创建的示意图;
图3是根据本发明实施例的快照处理方法的流程图;
图4是根据本发明实施例的状态异常的处理示意图;
图5是根据本发明实施例的复合快照的示意图;
图6是根据本发明实施例的快照处理方法的流程图;
图7是根据本发明实施例的快照处理装置的结构框图;
图8是本发明实施例提供的电子设备的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明实施例中,以第一数据库为ES数据库,第二数据库为HBase数据库为例进行详细描述。当然,也可以适用于其他数据库,在此对数据库的类型并不做任何限定,只需保证第一数据库用于数据备份,第二数据库主要用于存储附件且数据备份,同时第一数据库与第二数据库中创建快照的处理逻辑不同。
本发明实施例提供的快照处理方法,应用于分布式数据库搜索分析引擎中,是通过一个目标快照名称以及目标逻辑表,电子设备利用目标逻辑表中的目标字段自动确定出当前创建快照所涉及到的物理表,进而进行快照创建。在快照创建完成之后,通过快照记录信息记录该快照对应的信息,包括但不限于快照名称、快照涉及的逻辑表、物理表以及创建状态等等。其中,每次创建快照完成之后,均形成有对应的快照记录信息,这些快照记录信息通过一张数据表的形式进行记录,形成一个消息表。后续在对相应快照进行处理时,通过查找该消息表即可知晓各个快照的相关信息。
关于快照记录信息的生成过程将在下文中进行详细描述。
以第一数据库为ES数据库,第二数据库为HBase数据库为例,本发明实施例提供的快照处理方法通过快照记录信息确保HBase+ES的复合快照,以及ES的单独快照可以便捷地统一管理。用户创建快照时,仅需要提供一个快照名称和逻辑表即可,不需要用户再去单独对接HBase及ES,也不需要用户记录维护它们快照之间的对应关系,就可以方便地管理HBase及ES集群的快照创建。同时用户可以直接根据一个快照名称查询HBase及ES快照的具体创建状态,了解每个快照详细信息,包含HBase及ES快照包含的物理表及其出错时各自错误信息。
根据本发明实施例,提供了一种快照处理方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在本实施例中提供了一种快照处理方法,可用于电子设备,例如,分布式数据库搜索分析引擎,具体地如电脑、平板电脑、服务器等,图1是根据本发明实施例的快照处理方法的流程图,如图1所示,该流程包括如下步骤:
S11,获取快照创建请求。
其中,所述快照创建请求包括目标快照名称以及目标逻辑表。
用户在创建快照时,向电子设备发送快照创建请求,即可以在电子设备提供的人机交互界面上输入目标快照名称以及目标逻辑表。相应地,电子设备就可以获取到该快照创建请求。
在快照创建请求中所包括的目标逻辑表可以是一个,两个或多个,在此对其具体数量并不做任何限定。
S12,基于目标逻辑表中目标字段的状态,确定各个目标逻辑表对应的物理表。
其中,所述目标字段用于表示所述物理表所属的数据库。当目标逻辑表对应的物理表属于至少两个数据库时,则目标逻辑表中会存在一个目标字段,电子设备通过该目标字段就可以确定出目标逻辑表对应的物理表。例如,电子设备所获得的目标逻辑表包括表A以及表B,其中,表A不分区,只有一个物理表A;表B为按年分区表,存在B_2020、B_2021两个物理表。
具体地,如果某个目标逻辑表存在attachment字段,该字段用来存储附件信息,就需要为该表创建Hbase快照。因为在用户第一次建表时,只要存在attachment字段,电子设备会自动为其建立一个hbase表,用来存储附件(常见图片及word文档等)。在用户看来,仅知晓其建了一个表,根本不知道底层是两个表,即ES和HBase各一个。
电子设备在获取到目标逻辑表之后,依次对各个目标逻辑表中的目标字段进行分析,例如,确定出如表1所示的处理数据。
表1处理数据
如表1所示,在第一数据库ES中存在对应的物理表包括:A、B_2020以及B_2021;在第二数据库HBase中存在的物理表包括:A、B_2020以及B_2021。
S13,基于物理表创建对应的快照,并确定各个快照的创建状态。
电子设备在确定出物理表之后,就可以进行相应数据库的快照处理。例如,结合表1并如图2所示,若提交的目标逻辑表中存在目标字段,则表示需要进行HBase操作以及ES操作,那么,电子设备分别提交HBase快照创建以及ES快照创建请求,再分别在相应的数据库中进行快照创建,并记录创建状态。
具体地,若异步创建HBase快照成功,则记录HBase创建状态为true;否有,记录HBase创建状态为false。若异步创建ES快照成功,则记录ES创建状态为true;否有,记录ES创建状态为false。
S14,根据快照创建请求、物理表以及创建状态,确定与目标快照名称对应的快照记录信息,以利用快照记录信息对各个快照进行处理。
电子设备在确定出各个快照的创建状态时,通过一个快照记录信息记录与各个目标快照名称对应的快照信息。例如,目标逻辑表、物理表以及快照的创建状态等等。其中,快照记录信息可以采用表格的形式记录,也可以采用其他方式记录,在此对其记录方式并不做任何限定。以表格记录为例,如表2所示,表2快照记录信息
如表2所示,在该快照记录信息中记录有与快照名称对应的快照信息,将HBase快照信息与ES快照信息结合在一张信息表中,从而实现HBase以及ES的统一管理。具体地,电子设备在S12确定出对应的物理表之后,就可以在表格中创建对应于目标快照名称的快照记录信息,再分别提交快照请求到ES集群和HBase集群,提交成功即可返回提交成功。后续等到HBase快照以及ES快照创建处理完成之后,再通过回调写入状态或者错误信息到该信息表中,若全部都写入成功,相应的快照记录信息如表2所示。其中,关于表2中的开始时间及请求开始的时间,结束时间以HBase和ES最后一个结束时间为准。不论谁执行完,都在最终回调中更新结束时间。
本实施例提供的快照处理方法,在创建快照时通过提供目标快照名称以及目标逻辑表,自动查询到目标逻辑表对应的物理表,从而创建相应的快照,其中,物理表可能是属于第一数据库的,也可能是属于第二数据库的,对于用户而言并不需要感知物理在哪个数据库中进行快照的创建;再利用快照记录信息将该快照的相关信息记录下来,后续仅需要查找该快照记录信息,用于存储各个数据库的快照信息,对外屏蔽不同数据库的复杂性,用户只需访问该快照记录信息即可知道各个物理表对应的快照创建状态,无需进入这两个组件内部查询,一定程度上提升了快照处理的效率。
在本实施例中提供了一种快照处理方法,可用于电子设备,例如,分布式数据库搜索分析引擎,具体地如电脑、平板电脑、服务器等,图3是根据本发明实施例的快照处理方法的流程图,如图3所示,该流程包括如下步骤:
S21,获取快照创建请求。
其中,所述快照创建请求包括目标快照名称以及目标逻辑表。
详细请参见图1所示实施例的S11,在此不再赘述。
S22,基于目标逻辑表中目标字段的状态,确定各个目标逻辑表对应的物理表。
其中,所述目标字段用于表示所述物理表所属的数据库。
详细请参见图1所示实施例的S12,在此不再赘述。
S23,基于物理表创建对应的快照,并确定各个快照的创建状态。
详细请参见图1所示实施例的S13,在此不再赘述。
S24,根据快照创建请求、物理表以及创建状态,确定与目标快照名称对应的快照记录信息,以利用快照记录信息对各个快照进行处理。
在本实施例中主要是通过一种补偿机制,用于确保异常情况下,例如用户创建完HBase及ES快照后没有写入HBase及ES快照创建状态到消息表,依旧可以拿到Hbase及ES的创建状态及错误信息,及时更新到信息表,便于用户获取状态及错误信息。
例如,用户创建完成之后,系统突然断电,那么状态则无法成功写入到消息表,基于此,提供了一种异常补偿机制。设计一个定时调度方案,每隔一段时间去查询一次快照记录信息,一旦存在状态异常的快照信息,可以获取快照名称,依次去HBase及ES集群查询创建状态,及时更新他们创建的信息,确保异常情况下也能显示他们的创建状态,彻底杜绝状态丢失的问题。
具体地,上述S24包括:
S241,定时查询快照记录信息,确定是否存在状态异常的快照信息。
对于快照记录信息的查询时间,可以是每隔5分钟查询一次,也可以是每隔10分钟查询一次,在此对其具体时间并不做任何限定,具体可以根据实际需求进行设置。电子设备通过查询快照记录信息的各条记录,查询是否存在状态异常的快照信息,其中,所述的状态异常即为在快照记录信息中创建状态为空,或为其他数值。即通过创建状态的具体数值确定快照信息是否为状态异常的快照信息。
S242,当存在状态异常的快照信息时,基于状态异常的快照信息对应的快照名称,在相应的数据库集群中查询创建状态,以更新快照记录信息。
电子设备在确定出存在状态异常的快照信息时,可以从快照记录信息中获取到状态异常的快照信息的快照名称以及快照对应的物理表等信息。通过这些信息就可以确定出状态异常的快照所在的数据库,并从对应数据库集群中查询该快照的创建状态,并将查询到的创建状态更新到对应的快照记录信息中。
如图4所示,上述S24可以包括:
S1,定时任务,五分钟触发一次;
S2,实时获取信息表中HBase及ES状态为空的信息列表;
S3,根据列表去HBase查询快照创建状态;
S4,根据列表去ES查询快照创建状态。
具体地,电子设备在确定出存在状态异常的快照时,即实时获取信息表中HBase以及ES状态为空的信息列表,再分别从对应的数据库中查询创建状态。
本实施例提供的快照处理方法,通过定时任务的触发,使得状态异常的快照信息可以被补偿,保证状态不会丢失。例如,完成HBase、ES快照之后,更新快照记录信息时,系统突然断电,此时就可以利用该方式完成快照状态的写入。
在本实施例的一些可选实施方式中,所述快照记录信息还包括各个逻辑表是否存在复合表的标识。所述复合表,即,对于同一表A,既存储在HBase中,有存储在ES中,如表2所示。在形成快照记录信息时,若目标逻辑表中存在目标字段,则表示该目标逻辑表相应存在复合表,相应地,就可以将该信息存入快照记录信息中。基于此,上述S242可以包括:
(1)基于快照记录信息,确定状态异常的快照信息对应的逻辑表是否存在复合表。
当存在所述复合表时,执行步骤(2);否则,执行步骤(4)。
具体地,电子设备先通过快照记录信息,确定状态异常的快照信息对应的快照是否为复合表,只要包含一个复合表,复合表状态即为true。当存在复合表时,异常状态的快照就可能对应于第一数据库以及第二数据库,即对应于ES以及HBase;若不存在复合表时,异常状态的快照仅可能对应于第一数据库,即ES。
(2)确定状态异常的快照信息对应的目标数据库。
在确定出存在复合表时,电子设备可以再次通过快照记录信息,确定出异常状态的快照信息对应的目标数据库。若ES对应的创建状态为空,则目标数据库包括ES;若HBase对应的创建状态为空,则目标数据库包括HBase;若两者对应的创建状态均为空,则目标数据库包括ES以及HBase。
当目标数据库为第一数据库时,执行步骤(4)。当所述目标数据库为第二数据库时,上述步骤(2)可以包括:
2.1)基于状态异常的快照信息,确定状态异常的快照在第二数据库中对应的物理表名称。
2.2)将状态异常的快照信息对应的快照名称与物理表名称进行拼接,确定状态异常的快照信息在第二数据库中的快照名称。
2.3)基于第二数据库中的快照名称在第二数据库集群中查询创建状态,以更新所述快照记录信息。
对应于表2所示的快照记录信息,表征出的快照名称仅有一个,即对于用户而言,仅需要提供一个快照名称就可以在两个数据库中进行快照处理。具体地,可以在电子设备中设置两个数据库之间的映射关系,例如,第一数据库中的快照名称就直接是用户输入的快照名称,第二数据库中的快照名称是用户输入的快照名称与映射关系结合之后形成的。然而,对于这一过程用户并不感知,是电子设备自动处理的。
例如,电子设备建立Hbase及ES快照的映射关系,确保一个快照名称可以获取到Hbase及ES的所有快照信息,便于系统屏蔽后台复杂性,对外显示一个快照信息。映射规则如下:
用户输入快照名称=ES快照名称;
ES快照名称+物理表名称=HBase快照名称。
具体地,如图5所示,上述对应映射规则的流程如下,用户指定一个快照名称snapshot_a,此快照包含两个逻辑表A、B,其中A不分区,表名A;B为分区表,表名为B_2020、B_2021。ES集群直接使用该快照名称;HBase集群因为自身限制,一个快照只能包含一个表,所以指定HBase对应的快照名为snapshot_a_A、snapshot_a_B_2020、snapshot_a_B_2021。对外来说,用户只需要指定一个ES快照名称即可,其余类似HBase快照名称,电子设备会自动完成映射,后续需要操作快照时,直接可以根据一个ES快照名称和HBase物理表得出HBase所有相关联的快照。
(3)基于状态异常的快照信息对应的快照名称以及目标数据库,在目标数据库集群中查询创建状态,以更新所述快照记录信息。
电子设备在获取到状态异常的快照信息对应的快照名称之后,利用映射规则分别确定出各个数据库对应的快照名称,从而利用该快照名称在相应的目标数据库集群中查询创建状态,以更新快照记录信息。
在电子设备中设计映射规则,只要获取到状态异常的快照名称,即可通过拼接规则获取ES快照名称及HBase快照名称,从而实现针对两个快照的操作及信息获取,方便管理。比如,删除HBase及ES快照和获取它们的快照状态,只需用户指定一个快照名称即可,方便管理。
(4)确定状态异常的快照信息对应的目标数据库为第一数据库。
(5)基于状态异常的快照信息对应的快照名称,在第一数据库集群中查询创建状态,以更新快照记录信息。
当确定出目标数据库为第一数据库时,电子设备直接利用状态异常的快照信息的快照名称在第一数据库集群中查询相应的创建状态,并将查询到的创建状态写入快照记录信息中,以更新快照记录信息。
通过在快照记录信息中引入是否存在复合表的信息,确保第一数据库单独使用时,该方案依旧适用,使用场景多样化。当不存在复合表时,就不会存在该状态异常的快照不可能在第二数据库中存在,因此仅需要在第一数据库中进行查询创建状态,提高了查询效率。
在本实施例中提供了一种快照处理方法,可用于电子设备,例如,分布式数据库搜索分析引擎,具体地如电脑、平板电脑、服务器等,图6是根据本发明实施例的快照处理方法的流程图,如图6所示,该流程包括如下步骤:
S31,获取快照创建请求。
其中,所述快照创建请求包括目标快照名称以及目标逻辑表。
详细请参见图1所示实施例的S11,在此不再赘述。
S32,基于目标逻辑表中目标字段的状态,确定各个目标逻辑表对应的物理表。其中,所述目标字段用于表示所述物理表所属的数据库。
具体地,上述S32包括:
S321,判断目标逻辑表中是否存在目标字段。
如上文所述,当目标逻辑表存在复合表时,其就会存在相应的目标字段,而通过该目标字段就可以确定出物理表所属的数据库。当存在所述目标字段时,执行S322;否则,执行S323。
S322,确定目标逻辑表存在复合表且物理表包括第一数据库的物理表以及第二数据库的物理表。
S323,确定目标逻辑表不存在复合表且物理表包括第一数据库的物理表。
例如,用户选择了目标逻辑表A创建快照A,请求发到电子设备,电子设备首先判断该表A是否存在attachment字段。如果表A是按年分区的表,有attachment字段,存在A_2020、A_2021两个物理表;那么HBase也必然存在对应的两个物理表。此时,就需要进行ES、HBase操作。
如果A表没有attachment字段,则无需去HBase做操作,只需要进行ES操作即可。由于HBase的核心作用是用来存储附件,其次做个数据冗余备份。
S33,基于物理表创建对应的快照,并确定各个快照的创建状态。
详细请参见图1所示实施例的S13,在此不再赘述。
S34,根据快照创建请求、物理表以及创建状态,确定与目标快照名称对应的快照记录信息,以利用快照记录信息对各个快照进行处理。
详细请参见图3所示实施例的S24,在此不再赘述。
本实施例提供的快照处理方法,由于目标字段能够表征目标逻辑表是否用来存储附件信息,即是否需要进行大量数据的存储,当需要进行大量数据的存储时,需要利用第二数据库对应的物理表来进行快照的创建,从而实现自动确定对应的数据库,在用户看来,只知道建了一个表,根本不知道底层是两个数据库对应的物理表,便于用户操作,提高快照处理效率。在不存在目标字段时,表示此时进行的少量数据的快照处理,属于不使用第二数据库的情况,仅利用第一数据库进行快照创建,从而扩大使用场景,避免不必要的资源浪费。
在本实施例中还提供了一种快照处理装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
本实施例提供一种快照处理装置,应用于分布式数据库搜索分析引擎,如图7所示,该装置包括:
获取模块41,用于获取快照创建请求,所述快照创建请求包括目标快照名称以及目标逻辑表;
第一确定模块42,用于基于所述目标逻辑表中目标字段的状态,确定各个所述目标逻辑表对应的物理表,所述目标字段用于表示所述物理表所属的数据库;
第二确定模块43,用于基于所述物理表创建对应的快照,并确定各个快照的创建状态;
第三确定模块44,用于根据所述快照创建请求、所述物理表以及所述创建状态,确定与所述目标快照名称对应的快照记录信息,以利用所述快照记录信息对所述各个快照进行处理。
可选地,所述第一确定模块,包括:
判断单元,用于判断所述目标逻辑表中是否存在目标字段;
第一确定单元,用于当存在所述目标字段时,确定所述目标逻辑表存在复合表且所述物理表包括第一数据库的物理表以及第二数据库的物理表。
结合第一方面第一实施方式,在第一方面第二实施方式中,所述第一确定模块,还包括:
第二确定单元,用于当不存在所述目标字段时,确定所述目标逻辑表不存在所述复合表且所述物理表包括第一数据库的物理表。
可选地,所述第三确定模块,包括:
第一查询单元,用于定时查询所述快照记录信息,确定是否存在状态异常的快照信息;
第二查询单元,用于当存在所述状态异常的快照信息时,基于所述状态异常的快照信息对应的快照名称,在相应的数据库集群中查询创建状态,以更新所述快照记录信息。
可选地,所述快照记录信息还包括各个逻辑表是否存在复合表的标识,所述第二查询单元,包括:
第一确定子单元,用于基于所述快照记录信息,确定所述状态异常的快照信息对应的逻辑表是否存在复合表;
第二确定子单元,用于当存在所述复合表时,确定所述状态异常的快照信息对应的目标数据库;
第一查询子单元,用于基于所述状态异常的快照信息对应的快照名称以及所述目标数据库,在目标数据库集群中查询创建状态,以更新所述快照记录信息。
可选地,所述第二查询单元,还包括:
第三确定子单元,用于当不存在所述复合表时,确定所述状态异常的快照信息对应的目标数据库为第一数据库;
第二查询子单元,用于基于所述状态异常的快照信息对应的快照名称,在所述第一数据库集群中查询创建状态,以更新所述快照记录信息。
可选地,当所述目标数据库为第二数据库时,所述第一查询子单元,包括:
异常状态确定子单元,用于基于所述状态异常的快照信息,确定状态异常的快照在所述第二数据库中对应的物理表名称;
拼接子单元,用于将所述状态异常的快照信息对应的快照名称与所述物理表名称进行拼接,确定所述状态异常的快照信息在所述第二数据库中的快照名称;
更新子单元,用于基于所述第二数据库中的快照名称在所述第二数据库集群中查询创建状态,以更新所述快照记录信息。
本实施例中的快照处理装置是以功能单元的形式来呈现,这里的单元是指ASIC电路,执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。
上述各个模块的更进一步的功能描述与上述对应实施例相同,在此不再赘述。
本发明实施例还提供一种电子设备,具有上述图7所示的快照处理装置。
请参阅图8,图8是本发明可选实施例提供的一种电子设备的结构示意图,如图8所示,该电子设备可以包括:至少一个处理器51,例如CPU(Central Processing Unit,中央处理器),至少一个通信接口53,存储器54,至少一个通信总线52。其中,通信总线52用于实现这些组件之间的连接通信。其中,通信接口53可以包括显示屏(Display)、键盘(Keyboard),可选通信接口53还可以包括标准的有线接口、无线接口。存储器54可以是高速RAM存储器(Random Access Memory,易挥发性随机存取存储器),也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器54可选的还可以是至少一个位于远离前述处理器51的存储装置。其中处理器51可以结合图7所描述的装置,存储器54中存储应用程序,且处理器51调用存储器54中存储的程序代码,以用于执行上述任一方法步骤。
其中,通信总线52可以是外设部件互连标准(peripheral componentinterconnect,简称PCI)总线或扩展工业标准结构(extended industry standardarchitecture,简称EISA)总线等。通信总线52可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器54可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access memory,缩写:RAM);存储器也可以包括非易失性存储器(英文:non-volatile memory),例如快闪存储器(英文:flash memory),硬盘(英文:hard diskdrive,缩写:HDD)或固态硬盘(英文:solid-state drive,缩写:SSD);存储器54还可以包括上述种类的存储器的组合。
其中,处理器51可以是中央处理器(英文:central processing unit,缩写:CPU),网络处理器(英文:network processor,缩写:NP)或者CPU和NP的组合。
其中,处理器51还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(英文:application-specific integrated circuit,缩写:ASIC),可编程逻辑器件(英文:programmable logic device,缩写:PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(英文:complex programmable logic device,缩写:CPLD),现场可编程逻辑门阵列(英文:field-programmable gate array,缩写:FPGA),通用阵列逻辑(英文:generic arraylogic,缩写:GAL)或其任意组合。
可选地,存储器54还用于存储程序指令。处理器51可以调用程序指令,实现如本申请任一实施例中所示的快照处理方法。
本发明实施例还提供了一种非暂态计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的快照处理方法。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random Access Memory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard DiskDrive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (10)
1.一种快照处理方法,其特征在于,应用于分布式数据库搜索分析引擎,所述方法包括:
获取快照创建请求,所述快照创建请求包括目标快照名称以及目标逻辑表;
基于所述目标逻辑表中目标字段的状态,确定各个所述目标逻辑表对应的物理表,所述目标字段用于表示所述物理表所属的数据库;
基于所述物理表创建对应的快照,并确定各个快照的创建状态;
根据所述快照创建请求、所述物理表以及所述创建状态,确定与所述目标快照名称对应的快照记录信息,以利用所述快照记录信息对所述各个快照进行处理。
2.根据权利要求1所述的方法,其特征在于,所述基于所述目标逻辑表中目标字段的状态,确定各个所述目标逻辑表对应的物理表,包括:
判断所述目标逻辑表中是否存在目标字段;
当存在所述目标字段时,确定所述目标逻辑表存在复合表且所述物理表包括第一数据库的物理表以及第二数据库的物理表。
3.根据权利要求2所述的方法,其特征在于,所述基于所述目标逻辑表中目标字段的状态,确定各个所述目标逻辑表对应的物理表,还包括:
当不存在所述目标字段时,确定所述目标逻辑表不存在所述复合表且所述物理表包括第一数据库的物理表。
4.根据权利要求1所述的方法,其特征在于,所述根据所述快照创建请求、所述物理表以及所述创建状态,确定与所述目标快照名称对应的快照记录信息,以利用所述快照记录信息对所述各个快照进行处理,包括:
定时查询所述快照记录信息,确定是否存在状态异常的快照信息;
当存在所述状态异常的快照信息时,基于所述状态异常的快照信息对应的快照名称,在相应的数据库集群中查询创建状态,以更新所述快照记录信息。
5.根据权利要求4所述的方法,其特征在于,所述快照记录信息还包括各个逻辑表是否存在复合表的标识,所述基于所述状态异常的快照信息对应的快照名称,在相应的数据库集群中查询创建状态,以更新所述快照记录信息,包括:
基于所述快照记录信息,确定所述状态异常的快照信息对应的逻辑表是否存在复合表;
当存在所述复合表时,确定所述状态异常的快照信息对应的目标数据库;
基于所述状态异常的快照信息对应的快照名称以及所述目标数据库,在目标数据库集群中查询创建状态,以更新所述快照记录信息。
6.根据权利要求5所述的方法,其特征在于,所述基于所述状态异常的快照信息对应的快照名称,在相应的数据库集群中查询创建状态,以更新所述快照记录信息,还包括:
当不存在所述复合表时,确定所述状态异常的快照信息对应的目标数据库为第一数据库;
基于所述状态异常的快照信息对应的快照名称,在所述第一数据库集群中查询创建状态,以更新所述快照记录信息。
7.根据权利要求5所述的方法,其特征在于,当所述目标数据库为第二数据库时,所述基于所述状态异常的快照信息对应的快照名称以及所述目标数据库,在目标数据库集群中查询创建状态,以更新所述快照记录信息,包括:
基于所述状态异常的快照信息,确定状态异常的快照在所述第二数据库中对应的物理表名称;
将所述状态异常的快照信息对应的快照名称与所述物理表名称进行拼接,确定所述状态异常的快照信息在所述第二数据库中的快照名称;
基于所述第二数据库中的快照名称在所述第二数据库集群中查询创建状态,以更新所述快照记录信息。
8.一种快照处理装置,其特征在于,应用于分布式数据库搜索分析引擎,所述装置包括:
获取模块,用于获取快照创建请求,所述快照创建请求包括目标快照名称以及目标逻辑表;
第一确定模块,用于基于所述目标逻辑表中目标字段的状态,确定各个所述目标逻辑表对应的物理表,所述目标字段用于表示所述物理表所属的数据库;
第二确定模块,用于基于所述物理表创建对应的快照,并确定各个快照的创建状态;
第三确定模块,用于根据所述快照创建请求、所述物理表以及所述创建状态,确定与所述目标快照名称对应的快照记录信息,以利用所述快照记录信息对所述各个快照进行处理。
9.一种电子设备,其特征在于,包括:
存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1-7中任一项所述的快照处理方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使计算机执行权利要求1-7中任一项所述的快照处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111444455.9A CN114116723A (zh) | 2021-11-30 | 2021-11-30 | 快照处理方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111444455.9A CN114116723A (zh) | 2021-11-30 | 2021-11-30 | 快照处理方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114116723A true CN114116723A (zh) | 2022-03-01 |
Family
ID=80368582
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111444455.9A Pending CN114116723A (zh) | 2021-11-30 | 2021-11-30 | 快照处理方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114116723A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117692672A (zh) * | 2023-12-05 | 2024-03-12 | 朴道征信有限公司 | 基于快照的视频信息发送方法、装置、电子设备和介质 |
-
2021
- 2021-11-30 CN CN202111444455.9A patent/CN114116723A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117692672A (zh) * | 2023-12-05 | 2024-03-12 | 朴道征信有限公司 | 基于快照的视频信息发送方法、装置、电子设备和介质 |
CN117692672B (zh) * | 2023-12-05 | 2024-06-11 | 朴道征信有限公司 | 基于快照的视频信息发送方法、装置、电子设备和介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11455217B2 (en) | Transaction consistency query support for replicated data from recovery log to external data stores | |
CN107391653B (zh) | 一种分布式NewSQL数据库系统及图片数据储存方法 | |
US11977532B2 (en) | Log record identification using aggregated log indexes | |
CN109471851B (zh) | 数据处理方法、装置、服务器和存储介质 | |
CN111221791A (zh) | 一种多源异构数据导入数据湖的方法 | |
US9930113B2 (en) | Data retrieval via a telecommunication network | |
CN109408689A (zh) | 数据获取方法、装置、系统及电子设备 | |
WO2017107130A1 (zh) | 数据查询方法和数据库系统 | |
US20070174329A1 (en) | Presenting a reason why a secondary data structure associated with a database needs rebuilding | |
CN114116723A (zh) | 快照处理方法、装置及电子设备 | |
CN116501700B (zh) | 一种app格式化文件离线存储方法、装置、设备及存储介质 | |
WO2020192663A1 (zh) | 一种数据管理方法及相关设备 | |
CN114547086B (zh) | 数据处理方法、装置、设备及计算机可读存储介质 | |
CN116049306A (zh) | 数据同步方法、装置、电子设备以及可读存储介质 | |
US10762139B1 (en) | Method and system for managing a document search index | |
EP3944094A1 (en) | Parallel processing of changes in a distributed system | |
CN116628042A (zh) | 数据处理方法、装置、设备及介质 | |
US11169979B2 (en) | Database-documentation propagation via temporal log backtracking | |
EP2990960A1 (en) | Data retrieval via a telecommunication network | |
CN111159218B (zh) | 数据处理方法、装置及可读存储介质 | |
CN117874082A (zh) | 一种关联字典数据检索的方法及相关组件 | |
CN118260291A (zh) | 一种自主比对方法、装置、计算机设备及存储介质 | |
CN118193454A (zh) | 报表文件的获取方法、装置、设备、存储介质和程序产品 | |
CN118051536A (zh) | 一种多源跨源的数据查询方法、装置、设备及存储介质 | |
CN115952197A (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 |