CN115114309A - 数据合并处理方法、装置、电子设备及存储介质 - Google Patents
数据合并处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115114309A CN115114309A CN202210657292.0A CN202210657292A CN115114309A CN 115114309 A CN115114309 A CN 115114309A CN 202210657292 A CN202210657292 A CN 202210657292A CN 115114309 A CN115114309 A CN 115114309A
- Authority
- CN
- China
- Prior art keywords
- data
- merging
- node
- service node
- fragment
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 37
- 238000003860 storage Methods 0.000 title claims abstract description 35
- 239000012634 fragment Substances 0.000 claims abstract description 358
- 238000012545 processing Methods 0.000 claims abstract description 103
- 238000000034 method Methods 0.000 claims abstract description 49
- 238000013467 fragmentation Methods 0.000 claims description 50
- 238000006062 fragmentation reaction Methods 0.000 claims description 50
- 230000004807 localization Effects 0.000 claims description 46
- 238000004590 computer program Methods 0.000 claims description 17
- 230000009467 reduction Effects 0.000 claims description 16
- 238000012790 confirmation Methods 0.000 claims description 5
- 238000009825 accumulation Methods 0.000 claims description 4
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 13
- 238000007726 management method Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 7
- 230000002159 abnormal effect Effects 0.000 description 4
- 239000002699 waste material Substances 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 238000011897 real-time detection Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
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/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- 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
- G06F16/256—Integrating or interfacing systems involving database management systems in federated or virtual 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提供了一种数据合并处理方法、装置、电子设备及存储介质,该方法包括:在满足合并触发条件的情况下,根据合并触发条件的条件类型,将N个分片服务节点中与条件类型相匹配的分片服务节点确定为目标分片服务节点;根据合并触发条件的条件类型对应的确定规则,从目标分片服务节点存储的多个分片数据中,确定与目标分片服务节点相对应的待合并的目标分片数据;向目标分片服务节点发送合并处理指令,以供目标分片服务节点根据合并处理指令对目标分片数据进行合并操作。本公开提供的数据合并处理方法,有利于节省系统资源,并且通过灵活设定合并触发条件,能够使合并操作的执行时机以及执行方式更加符合业务需求,能够适应多种应用场景。
Description
技术领域
本公开涉及数据处理技术领域,特别涉及一种数据合并处理方法、装置、电子设备及存储介质。
背景技术
在数据库中,尤其在列式数据库集群中,经常需要进行数据合成(compact)操作,以将数据存储单位中的数据进行合并,从而实现提升数据的读写效率、清除失效文件等目的。以列式数据库集群为Hbase数据库为例,目前,Hbase中执行合并操作通常采用如下方式:设置预设自然日周期,在预设自然日周期到达时,随机选定时间对Hbase中的所有分片服务节点中的分片数据执行合并操作。采用这种方式,只能针对所有的分片服务节点都执行合并操作,从而导致执行时间长以及对系统资源占用较大,并且,模式单一,只能够适用于定时执行的应用场景。
发明内容
本公开提供一种数据合并处理方法、装置、电子设备及存储介质。
第一方面,本公开提供了一种数据合并处理方法,包括:
应用于列式数据库集群,所述列式数据库集群包括N个分片服务节点和管理节点,每个分片服务节点中存储多个分片数据;N为大于1的整数;所述方法由所述管理节点执行,所述方法包括:
在满足合并触发条件的情况下,根据所述合并触发条件的条件类型,将所述N个分片服务节点中与所述条件类型相匹配的分片服务节点确定为目标分片服务节点;
根据所述合并触发条件的条件类型对应的确定规则,从所述目标分片服务节点存储的多个分片数据中,确定与所述目标分片服务节点相对应的待合并的目标分片数据;
向所述目标分片服务节点发送合并处理指令,以供所述目标分片服务节点根据所述合并处理指令对所述目标分片数据进行合并操作。
第二方面,本公开提供了一种数据合并处理装置,包括:
确认单元,用于在满足合并触发条件的情况下,根据所述合并触发条件的条件类型,将所述N个分片服务节点中与所述条件类型相匹配的分片服务节点确定为目标分片服务节点;
所述确认单元,还用于根据所述合并触发条件的条件类型对应的确定规则,从所述目标分片服务节点存储的多个分片数据中,确定与所述目标分片服务节点相对应的待合并的目标分片数据;
发送单元,用于向所述目标分片服务节点发送合并处理指令,以供所述目标分片服务节点根据所述合并处理指令对所述目标分片数据进行合并操作。
第三方面,本公开提供了一种电子设备,该电子设备包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的一个或多个计算机程序,一个或多个所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述方法。
第四方面,本公开提供了一种计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序在被处理器/处理核执行时实现上述方法。
本公开所提供的实施例,通过设置了多种类型的合并触发条件,针对不同类型的合并触发条件,选定不同范围的分片服务节点作为目标分片节点,再根据与合并触发条件的条件类型相匹配的确定规则,将目标分片服务节点中相应的分片数据确定为目标分片数据,从而仅需要对目标分片数据执行合并操作,而非必须针对所有分片服务节点中的各个分片数据均执行合并操作,从而有利于节省系统资源,并且通过灵活设定合并触发条件,能够使合并操作的执行时机以及执行方式更加符合业务需求,能够适应多种应用场景。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用来提供对本公开的进一步理解,并且构成说明书的一部分,与本公开的实施例一起用于解释本公开,并不构成对本公开的限制。通过参考附图对详细示例实施例进行描述,以上和其他特征和优点对本领域技术人员将变得更加显而易见,在附图中:
图1为HBase的架构图;
图2为本公开实施例提供的一种数据合并处理方法的流程图;
图3为本公开实施例提供的一种数据合并处理方法中设定节点并发参数的步骤的流程图;
图4为本公开实施例提供的另一种数据合并处理方法的流程图;
图5为本公开实施例提供的一种数据合并处理装置的框图;
图6为本公开实施例提供的一种电子设备的框图。
具体实施方式
为使本领域的技术人员更好地理解本公开的技术方案,以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
在不冲突的情况下,本公开各实施例及实施例中的各特征可相互组合。
如本文所使用的,术语“和/或”包括一个或多个相关列举条目的任何和所有组合。
本文所使用的术语仅用于描述特定实施例,且不意欲限制本公开。如本文所使用的,单数形式“一个”和“该”也意欲包括复数形式,除非上下文另外清楚指出。还将理解的是,当本说明书中使用术语“包括”和/或“由……制成”时,指定存在所述特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其它特征、整体、步骤、操作、元件、组件和/或其群组。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。
除非另外限定,否则本文所用的所有术语(包括技术和科学术语)的含义与本领域普通技术人员通常理解的含义相同。还将理解,诸如那些在常用字典中限定的那些术语应当被解释为具有与其在相关技术以及本公开的背景下的含义一致的含义,且将不解释为具有理想化或过度形式上的含义,除非本文明确如此限定。
本申请实施例为了提高数据合并的有效性,以及降低数据合并对数据库正常使用的影响,提出了一种数据合并处理方法,通过设置了多种类型的合并触发条件,针对不同类型的合并触发条件,选定不同范围的分片服务节点作为目标分片节点,再根据与合并触发条件的条件类型相匹配的确定规则,将目标分片服务节点中相应的分片数据确定为目标分片数据,从而仅需要对目标分片数据执行合并操作,而非必须针对所有分片服务节点中的各个分片数据均执行合并操作,从而有利于节省系统资源,并且通过灵活设定合并触发条件,能够使合并操作的执行时机以及执行方式更加符合业务需求,能够适应多种应用场景。
根据本申请实施例的数据合并处理方法可以由终端设备或服务器等电子设备执行,终端设备可以为车载设备、用户设备(User Equipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字助理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等;服务器可以是独立的物理服务器、服务器集群或者是能够进行云计算的云服务器。数据合并处理方法具体可以是通过处理器调用电子设备的存储器中存储的计算机可读程序指令的方式来实现。
根据本申请实施例的数据合并处理方法可以适用于各类型的数据库,以本申请实施例的数据合并处理方法应用在列式数据库集群Hbase为例,参见图1,图1示出Hbase的架构图。HBase至少包含3种主备模式架构的服务器节点:
(1)分片服务节点(Region Server,RS),RS中包含多个分片数据(Region),RS用于提供数据的读写功能,用户通过客户端(Client)操作数据时,直接与RS交互;
(2)主节点(HMaster),用于管理多个RS,处理RS中分片数据的分配(assignment)以及增删表等操作。
(3)状态管理节点(Zookeeper),Zookeeper作为一个分布式的协调服务,记录和管理整个列式数据库集群中各个节点(包括主节点和分配服务节点)的状态。
在Hbase中,分片数据作为Hbase内部管理数据的数据存储单位,一个分片数据与多个列数据(HFile)相关联,合并操作的实质即为将多个数据量较小的Hfile合并为一个数据量较大的Hfile。
此外,Hbase自身并不具备数据复制和维护数据副本的功能,而依赖分布式文件系统(HDFS,Hadoop Distributed File System)为HBase提供可靠和稳定的存储。HDFS中设置有多个数据节点(DataNode),RS将分片数据中存储的HFile通过分布式文件系统客户端(DFS Client)存储至数据节点,以实现持久化。通常RS会与部分数据节点部署在同一服务器中,RS从与其部署在同一服务器中的数据节点(即本地数据节点)读取数据的读写效率高,且对网络资源的占用率小,因此理想情况下,一个RS中的分片数据中的Hfile可以尽可能地存储至与RS部署在同一服务器中的数据节点,换言之,使RS的本地化率尽可能高。合并操作会在合并Hfile的同时,将远程数据节点(即与该RS部署在不同服务器上的数据节点)上的小Hfile数据读取出来重写(rewrite)至合并后的Hfile,合并后的Hfile会在本地数据节点上存储一个副本,通过这样的方式,合并操作能够快速提升RS的本地化率。
其中,一个RS的本地化率为:与该RS存储的多个分片数据相关联的多个列数据中,与该RS存储在同一存储结构的列数据的占比。其中,存储结构可以为服务器,由于列数据存储在数据节点中,因此,通过确定与RS部署在同一存储结构(例如服务器)的数据节点中存储的、与RS中的各个分片数据相关联的列数据的数量和与RS中的各个分片数据相关联的列数据的总数量的比值,即可得到RS的本地化率。
图2为本公开实施例提供的一种数据合并处理方法的流程图。参照图2,该方法应用于列式数据库集群,列式数据库集群包括N个分片服务节点和管理节点,每个分片服务节点中存储多个分片数据,N为大于1的整数。需要说明的是,该方法可以由管理节点执行,管理节点可以为列式数据库集群中的主节点(例如图1中的主节点)与客户端(例如图1中的客户端)中的一者。具体地,该方法包括:
S1、在满足合并触发条件的情况下,根据合并触发条件的条件类型,将N个分片服务节点中与条件类型相匹配的分片服务节点确定为目标分片服务节点。
合并触发条件为能够触发合并操作的条件,通过设置多种类型的合并触发操作,能够根据不同类型的合并触发操作选定不同范围的RS作为执行合并操作的执行主体。其中,合并触发条件的条件类型例如包括:全局节点类型和指定节点类型。
在合并触发条件的条件类型为全局节点类型的情况下,与合并触发条件的条件类型相匹配的RS为列式数据库集群内的所有RS,换言之,S1中将与合并触发条件的条件类型相匹配的RS确定为目标RS具体为:将所有RS确定为目标RS。在合并触发条件的条件类型为指定节点类型的情况下,与合并触发条件的条件类型相匹配的RS为列式数据库集群内的属于指定节点的RS,换言之,S1中将与合并触发条件的条件类型相匹配的RS确定为目标RS具体为:将属于指定节点的RS确定为目标RS。
其中,列式数据库集群为数据库(例如Hbase)中各个RS的集群。通过设置全局节点类型的合并触发条件和指定节点类型的合并触发条件,能够控制合并操作的执行范围。
在一些可实现的方式中,S1中的合并触发条件的条件类型包括:全局节点类型和指定节点类型。针对两种不同的条件类型,S1具体可以包括:
子步骤a:在合并触发条件的条件类型为全局节点类型的情况下,S1中,根据合并触发条件的条件类型,将N个分片服务节点中与条件类型相匹配的分片服务节点确定为目标分片服务节点包括:将所有分片服务节点确定为目标分片服务节点,换言之,与合并触发条件的条件类型相匹配的RS为列式数据库集群内的所有RS。
子步骤b:在合并触发条件的条件类型为指定节点类型的情况下,S1中,根据合并触发条件的条件类型,将N个分片服务节点中与条件类型相匹配的分片服务节点确定为目标分片服务节点包括:将属于指定节点的服务节点确定为目标分片服务节点,换言之,与合并触发条件的条件类型相匹配的RS为列式数据库集群内的属于指定节点的RS。
其中,指定节点可以包括如下节点中任意一个或多个:白名单中的分片服务节点;与节点集群扩容操作相关联的分片服务节点;与节点集群缩容操作相关联的分片服务节点;本地化率低于预设阈值的分片服务节点。
通过设置上述两种条件类型,能够控制合并操作的执行范围,在合并触发条件的条件类型为全局节点类型的情况下,会对整个列式数据库集群都进行合并操作,从而有利于提升整个集群的数据读写效率、本地化率,最大化释放存储空间;而在合并触发条件的条件类型为指定节点类型的情况下,仅针对指定节点进行合并操作,从而有利于减少不必要的系统资源占用,减少对其他业务的影响,并且,能够快速提升指定节点的本地化率和读写效率,以满足该指定节点的业务需求。
在一些示例中,针对子步骤a的情况,即合并触发条件的条件类型为全局节点类型,S1中的合并触发条件具体可以包括:检测到预设周期到达,和/或,检测到当前时间属于预设时段。
具体地,可以设定一个预设周期,当检测到预设周期到达,则将所有RS确定为目标RS。也就是说,每个预设周期固定对列式数据库集群进行合并操作,以优化列式数据库集群中各个RS的数据读写效率,清除各个RS中的冗余数据(例如:失效、过期、多余数据),提升RS的本地化率等。预设周期具体可以根据多个因素设置,例如:冗余数据产生周期、数据读写效率下降周期的至少一个。
进一步地,在一些情况下,需要考虑系统的业务高峰期与低峰期时段,避免在高峰期时段执行合并操作,因此,还可以检测当前要执行合并操作的时间是否属于预设时段。
其中,预设时段包括业务低峰时段,业务低峰时段具体为各个RS的总业务量小于预设业务阈值的时段。具体地,业务低峰时段可以采用以下方式之一确定:
方式一:设置固定的业务低峰时段。
方式二:动态监测各个RS的业务量,将总业务量少于预设业务阈值的时段设置为业务低峰时段。
也就是说,可以预先根据一段时间内的系统中的RS在各个时段的业务量,将总业务量最小的时段作为业务低峰时段,例如:0点-6点;也可以动态监测各个RS的业务量,若在一定时段内RS的总业务量少于预设业务阈值,则将该时段视为业务低峰时段。
S2、根据合并触发条件的条件类型对应的确定规则,从目标分片服务节点存储的多个分片数据中,确定与目标分片服务节点相对应的待合并的目标分片数据。
不同条件类型的合并触发条件对应不同的确定规则,进一步地,在目标RS存储的分片数据中,根据确定规则选定相应范围的分片数据作为执行合并操作的执行数据,从而能够进一步控制合并操作的执行范围。
在一些示例中,确定规则指示基于目标分片服务节点中各个分片数据的更新时间确定目标分片数据,基于此,S2包括:根据目标RS的更新时间确定与目标RS相对应的待合并的目标分片数据。
针对RS中的分片数据,其中产生碎片化的Hfile、产生冗余数据或本地化率下降,均需要一定时间,而非瞬间产生,因此,通常无需高频率地对同一分片数据执行合并操作。因此,可以根据RS记录的各个分片数据最新的更新时间与当前时间之间的时间间隔,确定分片数据是否需要执行合并操作。具体地,S2包括:
子步骤一:获取目标分片服务节点中各个分片数据的更新时间。
子步骤二:根据各个分片数据的更新时间以及当前时间,从各个分片数据中获取满足合并执行条件的分片数据,并将获取到的分片数据确定为待合并的目标分片数据。
其中,满足合并执行条件的分片数据的更新时间与当前时间之间的时间间隔大于预设间隔阈值,换言之,合并执行条件包括:更新时间与当前时间之间的时间间隔大于预设间隔阈值。若一个分片数据最近的更新时间与当前时间之间的时间间隔大于预设间隔阈值,则说明该分片数据有足够长的时间没有被执行合并操作,则将其确定为目标分片数据;若一个分片数据最近的更新时间与当前时间之间的时间间隔小于或等于预设间隔阈值,则说明该分片数据在近期刚被执行过合并操作,本次无需合并,因此不确定为目标分片数据。
其中,预设间隔阈值可以与上述预设周期相同。通过这种方式,能够避免对分片数据执行合并操作的频率过高,进而能够避免系统资源的浪费。
需要说明的是,上述子步骤一和子步骤二,可以在满足任意条件类型的合并触发条件的情况下,在S1之后执行,换言之,无论是针对目标RS为所有RS还是目标RS为指定节点的RS的情况,在确定目标RS后,可以根据更新时间进一步确定目标RS中的目标分片数据。
在一些示例中,针对子步骤b的情况,即合并触发条件的条件类型为指定节点类型,S1中的合并触发条件具体可以包括:检测到N个分片服务节点中存在至少一个分片服务节点属于指定节点。
其中,指定节点包括以下中的至少一个:
(1)白名单中的分片服务节点。
(2)与节点集群扩容操作相关联的分片服务节点。
(3)与节点集群缩容操作相关联的分片服务节点。
(4)本地化率低于预设阈值的分片服务节点。
针对(1),可以设置一个白名单,白名单内添加至少一个负责特殊业务的RS,特殊业务例如:冗余数据生成量大的业务,定期对白名单内的RS进行合并操作以进行维护;针对(2),与节点集群扩容操作相关联的RS即扩容操作得到的RS,在通过扩容操作得到一个RS后,通常该RS的本地化率为0%,因此需要执行合并操作快速提升该RS的本地化率;针对(3),与节点集群缩容操作相关联的RS即缩容后与原RS的数据迁移相关的RS,在对一个RS执行缩容操作后,该RS中的分片数据会按照一定规则或随机迁移至其他RS对应的数据节点中,因此其他RS的本地化率可能产生变化,因此需要执行合并操作快速提升这些RS的本地化率;针对(4),通过直接检测各个RS的本地化率,可以更直观得出哪些RS需要执行合并操作以快速提升自身的本地化率。
需要说明的是,通常RS会与部分数据节点部署在同一服务器中,RS从与其部署在同一服务器中的数据节点(即本地数据节点)读取数据的读写效率高,且对网络资源的占用率小,因此理想情况下,一个RS中的分片数据中的Hfile可以尽可能地存储至与RS部署在同一服务器中的数据节点,换言之,使RS的本地化率尽可能高。合并操作会在合并Hfile的同时,将远程数据节点(即与该RS部署在不同服务器上的数据节点)上的小Hfile数据读取出来重写(rewrite)至合并后的Hfile,合并后的Hfile会在本地数据节点上存储一个副本,通过这样的方式,合并操作能够快速提升RS的本地化率。
进一步地,在(4)的情况下,可以通过以下方式检测各个RS是否为指定节点:
子步骤一:动态检测各个RS的本地化率;
子步骤二:根据针对各个RS的本地化率的检测结果,将本地化率低于预设阈值的RS确定为指定节点。
进一步地,在上述情况下,S2包括:确定属于指定节点中的分片服务节点中的所有分片数据为目标分片数据。
当然,在一些示例中,在S2中,也可以进一步根据与指定节点类型相应的节点参数,确定属于指定节点的RS中的目标分片数据,即S2包括:获取属于指定节点的目标RS的节点参数,根据节点参数确定目标分片服务节点中相应的待合并的目标分片数据。具体地,节点参数可以为本地化率。则在指定节点为(1)白名单中的分片服务节点、(2)与节点集群扩容操作相关联的分片服务节点、(3)与节点集群缩容操作相关联的分片服务节点中的一者,且指定节点的数量为多个的情况下,与指定节点类型相对应的确定规则指示根据每个分片服务节点的本地化率确定目标分片数据,则S2包括:
子步骤一:获取多个目标分片服务节点中每个目标分片服务节点的本地化率。
子步骤二:将本地化率低于预设阈值的目标分片服务节点中的分片数据确定为待合并的目标分片数据。
当通过预设节点、或检测到扩容操作或缩容操作确定多个RS为指定节点的情况下,可以进一步根据各个目标RS的本地化率,精确地筛选出需要执行合并操作的目标RS中的分片数据作为目标分片数据,从而能够进一步避免对系统资源的浪费。
S3、向目标分片服务节点发送合并处理指令,以供目标分片服务节点根据合并处理指令对目标分片数据进行合并操作。
确定需要执行合并操作的目标分片数据后,向目标RS发送合并处理指令,使目标分片服务节点对目标分片数据执行合并操作。
在一些示例中,在S3中,向目标RS发送的合并处理指令中至少包括节点并发参数,节点并发参数用于指示目标RS创建与节点并发参数相对应的多个并发合并任务。其中,各个并发合并任务用于并行执行合并操作。
其中,节点并发参数表示一个RS中并行执行合并操作的任务数量。通常RS中包括数量巨大的分片数据,因此通常目标分片数据的数量也较多,若不限制执行合并操作的任务数量,则业务并发度会升高,对处理其他业务的影响较大。因此,在本公开实施例中,设置了节点并发参数,根据节点并发参数生成多个并发合并任务,也就是说通过节点并发参数限制执行合并操作的并发合并任务的数量,以避免执行合并操作的任务数量过多,而没有其他资源处理合并操作以外的业务。
在一些示例中,并发合并任务可通过线程或进程等方式创建。
在一些示例中,参见图3,图3示出本公开实施例中,设定节点并发参数的流程图。节点并发参数通过以下方式确定:
S01、获取与目标分片服务节点相对应的并发参考参数的参数值。
S02、根据获取到的并发参考参数的参数值,设定目标分片服务节点的节点并发参数。
其中,并发参考参数包括以下中的至少一个:系统性能参数、带宽参数、中央处理器数据参数、磁盘输入/输出参数。
并发参考参数为与数据库系统的并发度相关联的参数。其中,系统性能参数具体可以为系统的总线程数量、中央处理器数据参数可以为中央处理器能够并行负载的处理总量、磁盘输入/输出参数具体可以为磁盘的输入接口的数量和输出接口的数量。通过参考这些并发参考参数设定节点并发参数,能够避免合并操作对系统资源的过多占用,从而使得其他业务受到影响。
进一步地,节点并发参数具体可以采用两种方式确定:
方式一、静态确定方式。
在方式一中,S01为预先获取各个参数值,即S01包括:获取与目标分片服务节点相对应的并发参考参数的参数值,在这种情况下,还包括S03:将设定的节点并发参数写入配置文件中。则S3中,合并处理指令根据以下方式生成:
从配置文件中读取节点并发参数,并加入合并处理指令中。
方式二、动态确定方式。
在方式二中,S02为动态获取各个参数值,即S01包括:动态获取与目标分片服务节点相对应的并发参考参数的参数值,S02包括:根据获取到的并发参考参数的参数值,动态计算目标分片服务节点的节点并发参数。
其中,方式一能够直接读取并发参考参数,从而能够节省网络资源和系统资源,方式二能够根据当前的系统状态实时设定并发参考参数。
在一些示例中,本公开实施例提供的方法适用于列式数据库集群,在列式数据库集群中包含的目标分片服务节点的数量为多个的情况下,则设定目标分片服务节点的节点并发参数包括:
获取与列式数据库集群相对应的集群并发参数,结合集群并发参数设定各个目标分片服务节点的节点并发参数,以使一个节点集群中各个目标分片服务节点的节点并发参数的参数累加结果不大于集群并发参数。
集群并发参数表示列式数据库集群中的各个RS中并行执行合并操作的任务数量。多个RS组成列式数据库集群,协同处理业务,因此除了考虑单个RS的并发度外,还可以考虑节点集群的并发度。通过设置了集群并发参数,限制各个RS中执行合并操作的并发合并任务的总数量,以避免节点集群中执行合并操作的任务数量过多,而没有其他资源处理合并操作以外的业务。
在本公开实施例提供的数据合并处理方法中,由于上述步骤中通过节点并发参数和/或集群并发参数限制了并发合并任务的数量,也就是说,针对合并操作任务分配了固定数量的并发合并任务,因此,为了提升并发合并任务的效率,实现并行化,在S2之后,S3之前,该方法可以包括:根据目标分片数据的数量,为并发合并任务分配对应的目标分片数据。
具体地,在一些示例中,在S2之后,S3中向目标分片服务节点发送合并处理指令之前,该方法还包括:
子步骤一、将待合并的目标分片数据划分为多个子数据,分别针对各个并发合并任务分配对应的子数据。
子步骤二、将针对各个并发合并任务分配的子数据的数据标识信息携带在合并处理指令中。
则在这种情况下,S3中合并处理指令中进一步包括:针对各个并发合并任务分配的子数据的数据标识信息。
将目标分片数据中需要处理的数据划分为多个子数据,分发给各个并发合并任务去并行处理,能够增加并发处理的效率。为了能够方便匹配并发合并任务与子数据,以及分辨子数据的来源,可以在合并处理指令中携带子数据的数据标识信息。一个子数据的数据标识信息可以为该子数据所属的分片数据在元数据表中对应的标识,从而归属于一个分片数据的子数据的数据标识信息相同。
基于本方法对任务分配的控制的情况下,还可以进一步检测任务处理状态,具体地,在一些示例中,在S2之后,S3中向目标分片服务节点发送合并处理指令之后,该方法还包括:
子步骤一、获取目标分片服务节点中的各个并发合并任务的任务处理状态。
子步骤二、根据各个并发合并任务的任务处理状态,向目标分片服务节点发送任务控制指令,以供目标分片服务节点根据任务控制指令对并发合并任务进行控制。
其中,任务处理状态包括以下一者:完成状态、暂停状态、失败状态、异常状态等。
在合并处理指令发送给RS后,由RS分配并发合并任务执行合并操作,则执行本方法的管理节点(例如图1中的客户端Client或图1中的主节点HMaster)需要获取各个并发合并任务的任务处理状态,以便根据任务处理状态对各个并发合并任务进行控制。
其中,若一个并发合并任务的任务处理状态为完成状态,子步骤二包括:
为任务处理状态为完成状态的并发合并任务重新分配子数据;任务控制指令用于控制任务处理状态为完成状态的并发合并任务针对重新分配的子数据执行合并处理。
则子步骤二中的任务控制指令用于控制完成状态的并发合并任务针对重新分配的子数据执行合并处理。
在这种情况下,当合并处理指令中包含的针对各个并发合并任务分配的子数据仅为目标分片数据中的部分数据(即非目标分片数据中的全部数据),则需要进一步针对处理完毕的并发合并任务再次分配新的子数据,直至目标分片数据中包含的各个子数据都被处理完毕。
若一个并发合并任务的任务处理状态为失败状态或异常状态,子步骤二包括:
向与任务处理状态为失败状态或异常状态的并发合并任务对应的目标RS发送任务创建指令,以供RS重新创建一个新的并发合并任务;将任务处理状态为失败状态或异常状态的并发合并任务匹配的子数据,分配给新的并发合并任务。
若一个并发合并任务的任务处理状态为暂停状态,子步骤二包括:
向与任务处理状态为失败状态或异常状态的并发合并任务对应的目标RS发送任务开始指令,以供RS控制该并发合并任务重新开始。
在一些示例中,本公开实施例提供的数据合并处理方法还包括:当任务等待时间对应的时间间隔到达时,执行上述子步骤一:获取目标分片服务节点中的各个并发合并任务的任务处理状态。
该任务等待时间也即线程/进程等待时间,相当于查询任务处理状态的周期。在一些示例中,任务等待时间可以写入上述配置文件中。
通过动态监控任务处理状态,能够根据各个并发合并任务的实时处理状态,进行相应的任务控制,从而能够提升系统的容错机制,提升鲁棒性;并且,本公开实施例提供的方法对各个并发合并任务进行实时检测和数据分配操作,能够提升合并操作的灵活性。
根据本公开实施例的数据合并处理方法,通过设置了多种类型的合并触发条件,针对不同类型的合并触发条件,选定不同范围的分片服务节点作为目标分片节点,再根据与合并触发条件的条件类型相匹配的确定规则,将目标分片服务节点中相应的分片数据确定为目标分片数据,从而仅需要对目标分片数据执行合并操作,而非必须针对所有分片服务节点中的各个分片数据均执行合并操作,从而有利于节省系统资源,并且通过灵活设定合并触发条件,能够使合并操作的执行时机以及执行方式更加符合业务需求,能够适应多种应用场景。
需要说明的是,以本公开实施例提供的方法应用在Hbase为例,本方法执行主体可以为主节点、客户端、多个RS节点中的任一个,在此不做限定。目标RS接收合并处理指令,作为执行合并操作的执行主体,而目标分片数据作为合并操作的执行对象。
进一步地,以一个具体的实施例说明本申请实施例提供的数据合并处理方法,参见图4,图4为本申请实施例提供的有一种数据合并处理方法的流程图。该方法包括:
S100、在满足合并触发条件的情况下,根据合并触发条件的条件类型,将N个分片服务节点中与条件类型相匹配的分片服务节点确定为目标分片服务节点。
具体地,合并触发条件的条件类型例如包括:全局节点类型和指定节点类型,基于这两种类型,S100包括对应这两种类型的两种子步骤:
在合并触发条件的条件类型为全局节点类型的情况下,S100包括S111:将所有分片服务节点确定为目标分片服务节点,换言之,与合并触发条件的条件类型相匹配的RS为列式数据库集群内的所有RS。
在合并触发条件的条件类型为指定节点类型的情况下,S100包括S121:将属于指定节点的服务节点确定为目标分片服务节点,换言之,与合并触发条件的条件类型相匹配的RS为节点集群内的属于指定节点的RS。
其中,指定节点包括以下中的至少一个:
(1)白名单中的分片服务节点。
(2)与节点集群扩容操作相关联的分片服务节点。
(3)与节点集群缩容操作相关联的分片服务节点。
(4)本地化率低于预设阈值的分片服务节点。
通过设置上述两种条件类型,能够控制合并操作的执行范围,在合并触发条件的条件类型为全局节点类型的情况下,会对整个列式数据库集群都进行合并操作,从而有利于提升整个集群的数据读写效率、本地化率,最大化释放存储空间;而在合并触发条件的条件类型为指定节点类型的情况下,仅针对指定节点进行合并操作,从而有利于减少不必要的系统资源占用,减少对其他业务的影响,并且,能够快速提升指定节点的本地化率和读写效率,以满足该指定节点的业务需求。
S200、根据合并触发条件的条件类型对应的确定规则,从目标分片服务节点存储的多个分片数据中,确定与目标分片服务节点相对应的待合并的目标分片数据。
基于上述S111和S121,S200也包括两种子步骤:
在S111的情况下,确定规则指示基于目标分片服务节点中各个分片数据的更新时间确定目标分片数据,则S200包括:
S211:获取目标分片服务节点中各个分片数据的更新时间。
S212:根据各个分片数据的更新时间以及当前时间,从各个分片数据中获取满足合并执行条件的分片数据,并将获取到的分片数据确定为待合并的目标分片数据。
其中,满足合并执行条件的分片数据的更新时间与当前时间之间的时间间隔大于预设间隔阈值,换言之,合并执行条件包括:更新时间与当前时间之间的时间间隔大于预设间隔阈值。若一个分片数据最近的更新时间与当前时间之间的时间间隔大于预设间隔阈值,则说明该分片数据有足够长的时间没有被执行合并操作,则将其确定为目标分片数据;若一个分片数据最近的更新时间与当前时间之间的时间间隔小于或等于预设间隔阈值,则说明该分片数据在近期刚被执行过合并操作,本次无需合并,因此不确定为目标分片数据。
其中,预设间隔阈值可以与上述预设周期相同。通过这种方式,能够避免对分片数据执行合并操作的频率过高,进而能够避免系统资源的浪费。
在S121的情况下,确定规则指示根据每个分片服务节点的本地化率确定目标分片数据,则S200包括:
S221:获取多个目标分片服务节点中每个目标分片服务节点的本地化率。
S222:将本地化率低于预设阈值的目标分片服务节点中的分片数据确定为待合并的目标分片数据。
当通过预设节点、或检测到扩容操作或缩容操作确定多个RS为指定节点的情况下,可以进一步根据各个目标RS的本地化率,精确地筛选出需要执行合并操作的目标RS中的分片数据作为目标分片数据,从而能够进一步避免对系统资源的浪费。
S300、向目标分片服务节点发送合并处理指令,以供目标分片服务节点根据合并处理指令对目标分片数据进行合并操作。
确定需要执行合并操作的目标分片数据后,向目标RS发送合并处理指令,使目标分片服务节点对目标分片数据执行合并操作。
可以理解,本公开提及的上述各个方法实施例,在不违背原理逻辑的情况下,均可以彼此相互结合形成结合后的实施例,限于篇幅,本公开不再赘述。本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
此外,本公开还提供了数据合并处理装置、电子设备、计算机可读存储介质,上述均可用来实现本公开提供的任一种数据合并处理方法,相应技术方案和描述和参见方法部分的相应记载,不再赘述。
图5为本公开实施例提供的一种数据合并处理装置的框图。
参照图5,本公开实施例提供了一种数据合并处理装置,该数据合并处理装置包括:
确认单元101,用于在满足合并触发条件的情况下,根据所述合并触发条件的条件类型,将与所述条件类型相匹配的分片服务节点确定为目标分片服务节点;
确认单元101还用于根据所述合并触发条件的条件类型,确定与所述目标分片服务节点相对应的待合并的目标分片数据;
发送单元102,用于向所述目标分片服务节点发送合并处理指令,以供所述目标分片服务节点根据所述合并处理指令对所述目标分片数据进行合并操作。
在一些示例中,合并触发条件的条件类型包括:全局节点类型和指定节点类型;确认单元101具体用于:
在合并触发条件的条件类型为全局节点类型的情况下,根据合并触发条件的条件类型,将N个分片服务节点中与条件类型相匹配的分片服务节点确定为目标分片服务节点包括:将N个分片服务节点均确定为目标分片服务节点;
在合并触发条件的条件类型为指定节点类型的情况下,根根据合并触发条件的条件类型,将N个分片服务节点中与条件类型相匹配的分片服务节点确定为目标分片服务节点包括:将属于指定节点的分片服务节点确定为目标分片服务节点。
在一些示例中,合并触发条件的条件类型为全局节点类型;合并触发条件包括:检测到预设周期到达;和/或,检测到当前时间属于预设时段;其中,预设时段包括业务低峰时段。
在一些示例中,确定规则指示基于目标分片服务节点中各个分片数据的更新时间确定目标分片数据;确认单元101具体用于:
获取目标分片服务节点中各个分片数据的更新时间;
根据各个分片数据的更新时间以及当前时间,从各个分片数据中获取满足合并执行条件的分片数据,并将获取到的分片数据确定为待合并的目标分片数据;
其中,满足合并执行条件的分片数据的更新时间与当前时间之间的时间间隔大于预设间隔阈值。
在一些示例中,合并触发条件的条件类型为指定节点类型;合并触发条件包括:检测到N个分片服务节点中存在至少一个分片服务节点属于指定节点;其中,
指定节点包括以下中的至少一个:
白名单中的分片服务节点;
与节点集群扩容操作相关联的分片服务节点;
与节点集群缩容操作相关联的分片服务节点;
本地化率低于预设阈值的分片服务节点;其中,一个分片数据与多个列数据相关联;一个分片服务节点的本地化率表示与该分片服务节点存储的多个分片数据相关联的列数据中,与该分片服务节点存储在同一存储结构的列数据的占比。
在一些示例中,在指定节点为白名单中的分片服务节点、与节点集群扩容操作相关联的分片服务节点、与节点集群缩容操作相关联的分片服务节点中的一者,且指定节点的数量为多个的情况下;若目标分片服务节点的数量为多个,确定规则指示根据每个分片服务节点的本地化率确定目标分片数据,则确认单元101具体用于:
获取多个目标分片服务节点中每个目标分片服务节点的本地化率;
将本地化率低于预设阈值的目标分片服务节点中的分片数据确定为待合并的目标分片数据。
在一些示例中,合并处理指令中包括节点并发参数,节点并发参数用于指示目标分片服务节点创建与节点并发参数相对应的多个并发合并任务;其中,各个并发合并任务用于并行执行合并操作。
在一些示例中,确认单元101中的节点并发参数通过以下方式确定:
获取与目标分片服务节点相对应的并发参考参数的参数值;
根据获取到的并发参考参数的参数值,设定目标分片服务节点的节点并发参数;
其中,并发参考参数包括以下中的至少一个:系统性能参数、带宽参数、中央处理器数据参数、磁盘输入/输出参数。
在一些示例中,若目标分片服务节点的数量为多个,确认单元101中,则设定目标分片服务节点的节点并发参数,包括:
获取与列式数据库集群相对应的集群并发参数,结合集群并发参数设定各个目标分片服务节点的节点并发参数,以使一个节点集群中各个目标分片服务节点的节点并发参数的参数累加结果不大于集群并发参数。
在一些示例中,该装置还包括子数据分配单元,子数据分配单元用于:
合并将待合并的目标分片数据划分为多个子数据,分别针对各个并发合并任务分配对应的子数据;
将针对各个并发合并任务分配的子数据的数据标识信息携带在合并处理指令中。
在一些示例中,该装置还包括任务控制单元,任务控制单元用于:
获取目标分片服务节点中的各个并发合并任务的任务处理状态;
根据各个并发合并任务的任务处理状态,向目标分片服务节点发送任务控制指令,以供目标分片服务节点根据任务控制指令对并发合并任务进行控制。
在一些示例中,在针对各个并发合并任务分配的子数据为目标分片数据中的部分数据的情况下,任务控制单元具体用于:
为任务处理状态为完成状态的并发合并任务重新分配子数据;任务控制指令用于控制任务处理状态为完成状态的并发合并任务针对重新分配的子数据执行合并处理。
本公开实施例的数据合并处理装置,通过在确认单元101中设置了多种类型的合并触发条件,针对不同类型的合并触发条件,选定不同范围的分片服务节点作为目标分片节点,再根据与合并触发条件的条件类型相匹配的确定规则,将目标分片服务节点中相应的分片数据确定为目标分片数据,发送模块101向目标分片服务节点发送合并处理指令,从而目标分片服务节点仅需要对目标分片数据执行合并操作,而非必须针对所有分片服务节点中的各个分片数据均执行合并操作,从而有利于节省系统资源,并且通过灵活设定合并触发条件,能够使合并操作的执行时机以及执行方式更加符合业务需求,能够适应多种应用场景。
图6为本公开实施例提供的一种电子设备的框图。
参照图6,本公开实施例提供了一种电子设备,该电子设备包括:至少一个处理器501;至少一个存储器502,以及一个或多个I/O接口503,连接在处理器501与存储器502之间;其中,存储器502存储有可被至少一个处理器501执行的一个或多个计算机程序,一个或多个计算机程序被至少一个处理器501执行上述数据合并处理方法,该方法应用于列式数据库集群,所述列式数据库集群包括N个分片服务节点和管理节点,每个分片服务节点中存储多个分片数据;N为大于1的整数;该方法由所述管理节点执行,该方法包括:
在满足合并触发条件的情况下,根据合并触发条件的条件类型,将N个分片服务节点中与条件类型相匹配的分片服务节点确定为目标分片服务节点;
根据合并触发条件的条件类型对应的确定规则,从目标分片服务节点存储的多个分片数据中,确定与目标分片服务节点相对应的待合并的目标分片数据;
向目标分片服务节点发送合并处理指令,以供目标分片服务节点根据合并处理指令对目标分片数据进行合并操作。
在一些示例中,合并触发条件的条件类型包括:全局节点类型和指定节点类型;
在合并触发条件的条件类型为全局节点类型的情况下,根据合并触发条件的条件类型,将N个分片服务节点中与条件类型相匹配的分片服务节点确定为目标分片服务节点包括:将N个分片服务节点均确定为目标分片服务节点;
在合并触发条件的条件类型为指定节点类型的情况下,根根据合并触发条件的条件类型,将N个分片服务节点中与条件类型相匹配的分片服务节点确定为目标分片服务节点包括:将属于指定节点的分片服务节点确定为目标分片服务节点。
在一些示例中,合并触发条件的条件类型为全局节点类型;合并触发条件包括:检测到预设周期到达;和/或,检测到当前时间属于预设时段;其中,预设时段包括业务低峰时段。
在一些示例中,确定规则指示基于目标分片服务节点中各个分片数据的更新时间确定目标分片数据;根据合并触发条件的条件类型对应的确定规则,从目标分片服务节点存储的多个分片数据中,确定与目标分片服务节点相对应的待合并的目标分片数据,包括:
获取目标分片服务节点中各个分片数据的更新时间;
根据各个分片数据的更新时间以及当前时间,从各个分片数据中获取满足合并执行条件的分片数据,并将获取到的分片数据确定为待合并的目标分片数据;
其中,满足合并执行条件的分片数据的更新时间与当前时间之间的时间间隔大于预设间隔阈值。
在一些示例中,合并触发条件的条件类型为指定节点类型;合并触发条件包括:检测到N个分片服务节点中存在至少一个分片服务节点属于指定节点;其中,
指定节点包括以下中的至少一个:
白名单中的分片服务节点;
与节点集群扩容操作相关联的分片服务节点;
与节点集群缩容操作相关联的分片服务节点;
本地化率低于预设阈值的分片服务节点;其中,一个分片数据与多个列数据相关联;一个分片服务节点的本地化率表示与该分片服务节点存储的多个分片数据相关联的列数据中,与该分片服务节点存储在同一存储结构的列数据的占比。
在一些示例中,在指定节点为白名单中的分片服务节点、与节点集群扩容操作相关联的分片服务节点、与节点集群缩容操作相关联的分片服务节点中的一者,且指定节点的数量为多个的情况下;若目标分片服务节点的数量为多个,确定规则指示根据每个分片服务节点的本地化率确定目标分片数据,则根据合并触发条件的条件类型对应的确定规则,从目标分片服务节点存储的多个分片数据中,确定与目标分片服务节点相对应的待合并的目标分片数据,包括:
获取多个目标分片服务节点中每个目标分片服务节点的本地化率;
将本地化率低于预设阈值的目标分片服务节点中的分片数据确定为待合并的目标分片数据。
在一些示例中,合并处理指令中包括节点并发参数,节点并发参数用于指示目标分片服务节点创建与节点并发参数相对应的多个并发合并任务;其中,各个并发合并任务用于并行执行合并操作。
在一些示例中,节点并发参数通过以下方式确定:
获取与目标分片服务节点相对应的并发参考参数的参数值;
根据获取到的并发参考参数的参数值,设定目标分片服务节点的节点并发参数;
其中,并发参考参数包括以下中的至少一个:系统性能参数、带宽参数、中央处理器数据参数、磁盘输入/输出参数。
在一些示例中,若目标分片服务节点的数量为多个,则设定目标分片服务节点的节点并发参数,包括:
获取与列式数据库集群相对应的集群并发参数,结合集群并发参数设定各个目标分片服务节点的节点并发参数,以使一个节点集群中各个目标分片服务节点的节点并发参数的参数累加结果不大于集群并发参数。
在一些示例中,向目标分片服务节点发送合并处理指令之前,方法还包括:
将待合并的目标分片数据划分为多个子数据,分别针对各个并发合并任务分配对应的子数据;
将针对各个并发合并任务分配的子数据的数据标识信息携带在合并处理指令中。
在一些示例中,向目标分片服务节点发送合并处理指令之后,方法还包括:
获取目标分片服务节点中的各个并发合并任务的任务处理状态;
根据各个并发合并任务的任务处理状态,向目标分片服务节点发送任务控制指令,以供目标分片服务节点根据任务控制指令对并发合并任务进行控制。
在一些示例中,在针对各个并发合并任务分配的子数据为目标分片数据中的部分数据的情况下,根据各个并发合并任务的任务处理状态,向目标分片服务节点发送任务控制指令包括:
为任务处理状态为完成状态的并发合并任务重新分配子数据;任务控制指令用于控制任务处理状态为完成状态的并发合并任务针对重新分配的子数据执行合并处理。
本公开实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序在被处理器/处理核执行时实现上述的数据合并处理方法。计算机可读存储介质可以是易失性或非易失性计算机可读存储介质。
本公开实施例还提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备的处理器中运行时,所述电子设备中的处理器执行上述数据合并处理方法。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读存储介质上,计算机可读存储介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。
如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读程序指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM)、静态随机存取存储器(SRAM)、闪存或其他存储器技术、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读程序指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里所描述的计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software DevelopmentKit,SDK)等等。
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本文已经公开了示例实施例,并且虽然采用了具体术语,但它们仅用于并仅应当被解释为一般说明性含义,并且不用于限制的目的。在一些实例中,对本领域技术人员显而易见的是,除非另外明确指出,否则可单独使用与特定实施例相结合描述的特征、特性和/或元素,或可与其他实施例相结合描述的特征、特性和/或元件组合使用。因此,本领域技术人员将理解,在不脱离由所附的权利要求阐明的本公开的范围的情况下,可进行各种形式和细节上的改变。
Claims (15)
1.一种数据合并处理方法,其特征在于,应用于列式数据库集群,所述列式数据库集群包括N个分片服务节点和管理节点,每个分片服务节点中存储多个分片数据;N为大于1的整数;所述方法由所述管理节点执行,所述方法包括:
在满足合并触发条件的情况下,根据所述合并触发条件的条件类型,将所述N个分片服务节点中与所述条件类型相匹配的分片服务节点确定为目标分片服务节点;
根据所述合并触发条件的条件类型对应的确定规则,从所述目标分片服务节点存储的多个分片数据中,确定与所述目标分片服务节点相对应的待合并的目标分片数据;
向所述目标分片服务节点发送合并处理指令,以供所述目标分片服务节点根据所述合并处理指令对所述目标分片数据进行合并操作。
2.根据权利要求1所述的数据合并处理方法,其特征在于,所述合并触发条件的条件类型包括:全局节点类型和指定节点类型;
在所述合并触发条件的条件类型为全局节点类型的情况下,所述根据所述合并触发条件的条件类型,将所述N个分片服务节点中与所述条件类型相匹配的分片服务节点确定为目标分片服务节点,包括:将所述N个分片服务节点均确定为所述目标分片服务节点;
在所述合并触发条件的条件类型为指定节点类型的情况下,所述根据所述合并触发条件的条件类型,将所述N个分片服务节点中与所述条件类型相匹配的分片服务节点确定为目标分片服务节点,包括:将属于指定节点的分片服务节点确定为目标分片服务节点。
3.根据权利要求2所述的数据合并处理方法,其特征在于,所述合并触发条件的条件类型为全局节点类型;所述合并触发条件包括:检测到预设周期到达;和/或,检测到当前时间属于预设时段;其中,所述预设时段包括业务低峰时段。
4.根据权利要求1-3任一所述的数据合并处理方法,其特征在于,所述合并触发条件的条件类型对应的确定规则指示基于所述目标分片服务节点中各个分片数据的更新时间确定目标分片数据;所述根据所述合并触发条件的条件类型对应的确定规则,从所述目标分片服务节点存储的多个分片数据中,确定与所述目标分片服务节点相对应的待合并的目标分片数据,包括:
获取所述目标分片服务节点中各个分片数据的更新时间;
根据所述各个分片数据的更新时间以及当前时间,从所述各个分片数据中获取满足合并执行条件的分片数据,并将获取到的分片数据确定为所述待合并的目标分片数据;
其中,满足所述合并执行条件的分片数据的更新时间与所述当前时间之间的时间间隔大于预设间隔阈值。
5.根据权利要求2所述的数据合并处理方法,其特征在于,所述合并触发条件的条件类型为指定节点类型;所述合并触发条件包括:检测到所述N个分片服务节点中存在至少一个分片服务节点属于指定节点;其中,
所述指定节点包括以下中的至少一个:
白名单中的分片服务节点;
与节点集群扩容操作相关联的分片服务节点;
与节点集群缩容操作相关联的分片服务节点;
本地化率低于预设阈值的分片服务节点;
其中,一个所述分片数据与多个列数据相关联;任意一个分片服务节点的本地化率表示与所述任意一个分片服务节点存储的多个分片数据相关联的列数据中,与所述任意一个分片服务节点存储在同一存储结构的列数据的占比。
6.根据权利要求5所述的数据合并处理方法,其特征在于,在所述指定节点为白名单中的分片服务节点、与节点集群扩容操作相关联的分片服务节点、与节点集群缩容操作相关联的分片服务节点中的一者,且所述指定节点的数量为多个的情况下;若所述目标分片服务节点的数量为多个,所述确定规则指示根据每个分片服务节点的本地化率确定目标分片数据,则所述根据所述合并触发条件的条件类型对应的确定规则,从所述目标分片服务节点存储的多个分片数据中,确定与所述目标分片服务节点相对应的待合并的目标分片数据,包括:
获取多个目标分片服务节点中每个目标分片服务节点的本地化率;
将本地化率低于预设阈值的目标分片服务节点中的分片数据确定为所述待合并的目标分片数据。
7.根据权利要求1所述的数据合并处理方法,其特征在于,所述合并处理指令中包括节点并发参数,所述节点并发参数用于指示所述目标分片服务节点创建与所述节点并发参数相对应的多个并发合并任务;其中,各个并发合并任务用于并行执行合并操作。
8.根据权利要求7所述的数据合并处理方法,其特征在于,所述节点并发参数通过以下方式确定:
获取与所述目标分片服务节点相对应的并发参考参数的参数值;
根据获取到的并发参考参数的参数值,设定所述目标分片服务节点的节点并发参数;
其中,所述并发参考参数包括以下中的至少一个:系统性能参数、带宽参数、中央处理器数据参数、磁盘输入/输出参数。
9.根据权利要求8所述的数据合并处理方法,其特征在于,若所述目标分片服务节点的数量为多个,则所述设定所述目标分片服务节点的节点并发参数,包括:
获取与所述列式数据库集群相对应的集群并发参数,结合所述集群并发参数设定各个目标分片服务节点的节点并发参数,以使一个节点集群中各个目标分片服务节点的节点并发参数的参数累加结果不大于所述集群并发参数。
10.根据权利要求9所述的数据合并处理方法,其特征在于,所述向所述目标分片服务节点发送合并处理指令之前,所述方法还包括:
将所述待合并的目标分片数据划分为多个子数据,分别针对各个并发合并任务分配对应的子数据;
将针对各个并发合并任务分配的子数据的数据标识信息携带在所述合并处理指令中。
11.根据权利要求10所述的数据合并处理方法,其特征在于,所述向所述目标分片服务节点发送合并处理指令之后,所述方法还包括:
获取所述目标分片服务节点中的各个并发合并任务的任务处理状态;
根据各个并发合并任务的任务处理状态,向所述目标分片服务节点发送任务控制指令,以供所述目标分片服务节点根据所述任务控制指令对所述并发合并任务进行控制。
12.根据权利要求11所述的数据合并处理方法,其特征在于,在针对各个并发合并任务分配的子数据为所述目标分片数据中的部分数据的情况下,所述根据各个并发合并任务的任务处理状态,向所述目标分片服务节点发送任务控制指令,包括:
为任务处理状态为完成状态的并发合并任务重新分配子数据;所述任务控制指令用于控制任务处理状态为完成状态的并发合并任务针对重新分配的子数据执行合并处理。
13.一种数据合并处理装置,其特征在于,包括:
确认单元,用于在满足合并触发条件的情况下,根据所述合并触发条件的条件类型,将所述N个分片服务节点中与所述条件类型相匹配的分片服务节点确定为目标分片服务节点;
所述确认单元,还用于根据所述合并触发条件的条件类型对应的确定规则,从所述目标分片服务节点存储的多个分片数据中,确定与所述目标分片服务节点相对应的待合并的目标分片数据;
发送单元,用于向所述目标分片服务节点发送合并处理指令,以供所述目标分片服务节点根据所述合并处理指令对所述目标分片数据进行合并操作。
14.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的一个或多个计算机程序,一个或多个所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1-12中任一项所述的方法。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序在被处理器执行时实现如权利要求1-12中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210657292.0A CN115114309A (zh) | 2022-06-10 | 2022-06-10 | 数据合并处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210657292.0A CN115114309A (zh) | 2022-06-10 | 2022-06-10 | 数据合并处理方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115114309A true CN115114309A (zh) | 2022-09-27 |
Family
ID=83326044
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210657292.0A Pending CN115114309A (zh) | 2022-06-10 | 2022-06-10 | 数据合并处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115114309A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110443695A (zh) * | 2019-07-31 | 2019-11-12 | 中国工商银行股份有限公司 | 数据处理方法及其装置、电子设备和介质 |
US10528599B1 (en) * | 2016-12-16 | 2020-01-07 | Amazon Technologies, Inc. | Tiered data processing for distributed data |
CN111090687A (zh) * | 2019-12-24 | 2020-05-01 | 腾讯科技(深圳)有限公司 | 数据处理方法及装置、系统、计算机可读存储介质 |
CN114327817A (zh) * | 2021-12-22 | 2022-04-12 | 马上消费金融股份有限公司 | 一种任务分片方法、装置和电子设备 |
-
2022
- 2022-06-10 CN CN202210657292.0A patent/CN115114309A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10528599B1 (en) * | 2016-12-16 | 2020-01-07 | Amazon Technologies, Inc. | Tiered data processing for distributed data |
CN110443695A (zh) * | 2019-07-31 | 2019-11-12 | 中国工商银行股份有限公司 | 数据处理方法及其装置、电子设备和介质 |
CN111090687A (zh) * | 2019-12-24 | 2020-05-01 | 腾讯科技(深圳)有限公司 | 数据处理方法及装置、系统、计算机可读存储介质 |
CN114327817A (zh) * | 2021-12-22 | 2022-04-12 | 马上消费金融股份有限公司 | 一种任务分片方法、装置和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10303508B2 (en) | Adaptive self-maintenance scheduler | |
CN108776934B (zh) | 分布式数据计算方法、装置、计算机设备及可读存储介质 | |
CN111881133B (zh) | 存储桶管理方法、装置、计算机设备及可读存储介质 | |
EP2454666B1 (en) | Fault tolerant batch processing | |
CN110445828B (zh) | 一种基于Redis的数据分布式处理方法及其相关设备 | |
CN106201839B (zh) | 一种业务对象的信息加载方法和装置 | |
CN111723148A (zh) | 数据存储方法及装置、存储介质、电子装置 | |
CN112256433B (zh) | 基于Kafka集群的分区迁移方法和装置 | |
CN111782386A (zh) | 一种基于历史业务流量的数据库调度方法及系统 | |
CN112269661B (zh) | 基于Kafka集群的分区迁移方法和装置 | |
CN114746843A (zh) | 针对已分化数据恢复配置的存储器健康跟踪 | |
CN110609807A (zh) | 用于删除快照数据的方法、设备和计算机可读存储介质 | |
US9444890B2 (en) | Switch-based data tiering | |
US11836365B2 (en) | Automatically adjusting storage system configurations in a storage-as-a-service environment using machine learning techniques | |
CN109118361B (zh) | 额度管理方法、装置及系统 | |
CN108646987B (zh) | 一种文件卷的管理方法、装置、存储介质及终端 | |
CN109710454A (zh) | 一种云主机快照方法及装置 | |
CN112328392A (zh) | 一种数据处理方法及相关设备 | |
CN107422991B (zh) | 一种存储策略管理系统 | |
CN111209159A (zh) | 一种信息处理方法、装置、设备及存储介质 | |
CN115114309A (zh) | 数据合并处理方法、装置、电子设备及存储介质 | |
CN114513469A (zh) | 分布式系统的流量整形方法、装置和存储介质 | |
CN112148551B (zh) | 用于确定存储系统的使用变化率的方法、设备和计算机程序产品 | |
CN113360479A (zh) | 数据迁移方法、装置、计算机设备和存储介质 | |
CN114116790A (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 |