CN116204541A - 多维数据库更新方法、装置、计算机设备和存储介质 - Google Patents
多维数据库更新方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN116204541A CN116204541A CN202310269600.7A CN202310269600A CN116204541A CN 116204541 A CN116204541 A CN 116204541A CN 202310269600 A CN202310269600 A CN 202310269600A CN 116204541 A CN116204541 A CN 116204541A
- Authority
- CN
- China
- Prior art keywords
- target
- detail block
- updated
- cell
- identifier
- 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/23—Updating
-
- 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/242—Query formulation
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种多维数据库更新方法、装置、计算机设备、存储介质和计算机程序产品。所述方法包括:获取多维数据库对应的层级结构,以及目标单元格标识对应的目标值;基于所述目标值,对所述目标单元格标识对应的目标单元格中的数值进行更新;基于所述层级结构和所述目标单元格标识,确定所述目标单元格标识对应的目标非明细块;确定所述目标非明细块中的待更新单元格标识,对所述待更新单元格标识对应的待更新单元格中的数值进行更新。采用本方法能够提高多维数据库的更新效率。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种多维数据库更新方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
随着计算机技术的发展,多维数据库用于对大量具有关联关系的数据进行存储,实现以多维的形式对数据进行钻取、汇总等操作,以满足多层次、多角度的数据分析。
传统技术中,如果对多维数据库中一个单元格的数据进行了修改,则需要对多维数据库中的每个单元格的数据进行分析,以判断该单元格的数据是否需要进行更新,整个过程复杂繁琐,导致多维数据库更新效率低下。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高更新效率的多维数据库更新方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种多维数据库更新方法。所述方法包括:
获取多维数据库对应的层级结构,以及目标单元格标识对应的目标值;
基于所述目标值,对所述目标单元格标识对应的目标单元格中的数值进行更新;
基于所述层级结构和所述目标单元格标识,确定所述目标单元格标识对应的目标非明细块;
确定所述目标非明细块中的待更新单元格标识,对所述待更新单元格标识对应的待更新单元格中的数值进行更新。
在一个实施例中,所述多维数据库更新方法还包括:
生成更新版本号;
获取所述目标非明细块对应的第一版本号和第二版本号,将所述第一版本号更新为所述更新版本号;
对所述目标非明细块中,所有的待更新单元格标识对应的待更新单元格中的数值进行更新之后,将所述第二版本号更新为所述更新版本号。
在一个实施例中,所述基于所述层级结构和所述目标单元格标识,确定所述目标单元格标识对应的目标非明细块包括:
获取所述层级结构中明细块对应的明细块标识;
基于所述目标单元格标识与所述明细块标识之间的包含关系,确定所述目标单元格标识对应的目标明细块;
将所述层级结构中所述目标明细块的祖父非明细块,确定为所述目标单元格标识对应的目标非明细块;所述祖父非明细块是指目标明细块的父节点非明细块,以及所述父节点非明细块的父节点非明细块。
在一个实施例中,所述基于所述目标单元格标识与所述明细块标识之间的包含关系,确定所述目标单元格标识对应的目标明细块包括:
将所述明细块标识中的维度值,与所述目标单元格标识中的维度值进行比对;所述明细块标识中包括至少一个维度值,所述目标单元格标识中包含多个维度值;
若所述目标单元格标识中存在所述明细块标识中的所有维度值,则将所述明细块标识对应的明细块,确定为所述目标单元格标识对应的目标明细块。
在一个实施例中,所述对所述待更新单元格标识对应的待更新单元格中的数值进行更新包括:
基于所述目标值和所述待更新单元格标识,生成异步任务;
基于所述异步任务,对所述待更新单元格标识对应的待更新单元格中的数值进行更新。
在一个实施例中,所述确定所述目标非明细块中的待更新单元格标识包括:
获取所述目标单元格标识所属目标明细块的目标明细块标识;
将所述目标单元格标识中与所述目标明细块标识中不同的维度值,确定为差异维度值;
获取所述差异维度值对应维度的树状结构,将所述差异维度值和所述树状结构中所述差异维度值对应的祖父维度值,确定为所述差异维度值对应的差异维度值集合;所述祖父维度值是指所述差异维度值的父节点维度值,以及所述父节点维度值的父节点维度值;
将所述目标非明细块标识中的维度值,与每个所述差异维度值集合中一个维度值进行组合,得到所述目标非明细块中的待更新单元格标识。
在一个实施例中,所述多维数据库更新方法还包括:
获取待查询单元格标识;
基于所述待查询单元格标识,确定所述待查询单元格标识对应的查询非明细块;
获取所述查询非明细块对应的第一版本号和第二版本号,若所述第一版本号和所述第二版本号相同,则将所述待查询单元格标识对应单元格的数值作为查询结果。
第二方面,本申请还提供了一种多维数据库更新装置。所述装置包括:
获取模块,用于获取多维数据库对应的层级结构,以及目标单元格标识对应的目标值;
第一更新模块,用于基于所述目标值,对所述目标单元格标识对应的目标单元格中的数值进行更新;
确定模块,用于基于所述层级结构和所述目标单元格标识,确定所述目标单元格标识对应的目标非明细块;
第二更新模块,用于确定所述目标非明细块中的待更新单元格标识,对所述待更新单元格标识对应的待更新单元格中的数值进行更新。
获取多维数据库对应的层级结构,以及目标单元格标识对应的目标值;
基于所述目标值,对所述目标单元格标识对应的目标单元格中的数值进行更新;
基于所述层级结构和所述目标单元格标识,确定所述目标单元格标识对应的目标非明细块;
确定所述目标非明细块中的待更新单元格标识,对所述待更新单元格标识对应的待更新单元格中的数值进行更新。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取多维数据库对应的层级结构,以及目标单元格标识对应的目标值;
基于所述目标值,对所述目标单元格标识对应的目标单元格中的数值进行更新;
基于所述层级结构和所述目标单元格标识,确定所述目标单元格标识对应的目标非明细块;
确定所述目标非明细块中的待更新单元格标识,对所述待更新单元格标识对应的待更新单元格中的数值进行更新。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取多维数据库对应的层级结构,以及目标单元格标识对应的目标值;
基于所述目标值,对所述目标单元格标识对应的目标单元格中的数值进行更新;
基于所述层级结构和所述目标单元格标识,确定所述目标单元格标识对应的目标非明细块;
确定所述目标非明细块中的待更新单元格标识,对所述待更新单元格标识对应的待更新单元格中的数值进行更新。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
获取多维数据库对应的层级结构,以及目标单元格标识对应的目标值;
基于所述目标值,对所述目标单元格标识对应的目标单元格中的数值进行更新;
基于所述层级结构和所述目标单元格标识,确定所述目标单元格标识对应的目标非明细块;
确定所述目标非明细块中的待更新单元格标识,对所述待更新单元格标识对应的待更新单元格中的数值进行更新。
上述多维数据库更新方法、装置、计算机设备、存储介质和计算机程序产品,获取多维数据库对应的层级结构,以及目标单元格标识对应的目标值,基于目标值,对目标单元格标识对应的目标单元格中的数值进行更新,基于层级结构和目标单元格标识,确定目标单元格标识对应的目标非明细块,确定目标非明细块中的待更新单元格标识,对待更新单元格标识对应的待更新单元格中的数值进行更新。通过将多维数据库划分成多个明细块和非明细块,采用层级结构表示明细块和非明细块之间的关联关系,根据目标单元格标识和层级结构,快速确定受目标单元格影响的待更新单元格所属的目标非明细块,然后确定每一个目标非明细块中的待更新单元格标识,提高了待更新单元格标识的确定效率,根据待更新单元格标识从目标非明细块中确定待更新单元格,对待更新单元格中的数值进行更新,目标非明细块中只保存了多维数据中的部分单元格的数值,提高了待更新单元格的确定速率,以及待更新单元格中数值的更新效率,从而提高了多维数据库的更新效率。
附图说明
图1为一个实施例中多维数据库更新方法的应用环境图;
图2为一个实施例中多维数据库更新方法的流程示意图;
图3为一个实施例中目标非明细块对应版本号更新步骤的流程示意图;
图4为一个实施例中目标非明细块确定步骤的流程示意图;
图5为一个实施例多维数据库对应层级结构的示意图;
图6为一个实施例中待更新单元格标识确定步骤的流程示意图;
图7为一个实施例中树状结构的示意图;
图8为一个实施例中多维数据库更新装置的结构框图;
图9为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的多维数据库更新方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。终端和服务器均可单独用于执行本申请实施例中提供的多维数据库更新方法。终端和服务器也可协同用于执行本申请实施例中提供的多维数据库更新方法。例如,计算机设备获取多维数据库对应的层级结构,以及目标单元格标识对应的目标值,基于目标值,对目标单元格标识对应的目标单元格中的数值进行更新,基于层级结构和目标单元格标识,确定目标单元格标识对应的目标非明细块,确定目标非明细块中的待更新单元格标识,对待更新单元格标识对应的待更新单元格中的数值进行更新。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种多维数据库更新方法,该方法可应用于计算机设备,计算机设备可以是终端或服务器,由终端或服务器自身单独执行,也可以通过终端和服务器之间的交互来实现。本实施例以该方法应用于计算机设备为例进行说明,包括步骤202到步骤208。
步骤202,获取多维数据库对应的层级结构,以及目标单元格标识对应的目标值。
其中,多维数据库是指由多个单元格组成、单元格之间存在关联关系的数据库。单元格是多维数据库中数据存储的最小单元,每一个单元格与各维度的维度值相对应。可以理解为,一个单元格与一个维度值组合相对应。例如,一个家庭支出费用的多维数据库,该多维数据库对应日期维、费用维和成员维共3个维度,日期维包括一季度、一月、二月和三月共4个维度值,费用维包括服支出、购置和生活共3个维度值,成员维包括家庭、成员A和成员B共3个维度值,那么一共有4*3*3=36个维度值组合,即该多维数据库有36个单元格,每一个单元格对应一个维度值组合,每一个单元格中储存1个数值,如一月、购置、成员A为一个维度值组合,一月、购置、成员A对应一个单元格,该单元格中存储了一个数值。层级结构是指多维数据库中明细块和非明细块之间关联关系的结构。层级结构可以表示为多叉树结构。单元格标识是指与单元格一一对应的字符串。单元格标识可以采用该单元格对应的维度值组合进行标识。例如,用一月、购置、成员A作为单元格标识。目标值是指对目标单元格标识对应目标单元格中的数值进行更新的数据。目标值可以为实际更新值,或者更新程度值。例如,目标单元格中的数值为10,需要将该数值更新成100,则目标值可以为实际更新值100,或者更新程度值+90。
示例性地,计算集设备获取多维数据库对应的层级结构,以及多维数据库中目标单元格标识对应的目标值。
步骤204,基于目标值,对目标单元格标识对应的目标单元格中的数值进行更新。
其中,数值是指目标单元格中保存的数据。
示例性地,计算机设备根据目标单元格标识确定目标单元格,然后根据目标值对目标单元格中的数值进行更新。
在一个实施例中,计算机设备基于目标单元格标识,确定上述目标单元格标识对应的目标明细块,然后基于目标明细块,确定上述目标单元格标识对应的目标单元格,基于目标值,对目标单元格中的数值进行更新。
步骤206,基于层级结构和目标单元格标识,确定目标单元格标识对应的目标非明细块。
其中,非明细块是指多个非明细单元格组成的集合。非明细单元格是指单元格对应的维度值组合中至少存在一个非明细维度值的单元格,非明细维度值是指非叶子节点的维度值,明细维度值是指叶子节点的维度值。可以理解为,非明细块是由多个单元格组成,每个单元格对应的维度值集合中至少存在一个非叶子节点的维度值。例如,日期维包括一季度、一月、二月和三月共4个维度值,上述4个维度值组成一个树状结构,其中一季度是父节点维度值,一月、二月和三月均为叶子节点维度值,那么,一季度为非明细维度值,一月、二月和三月为明细维度值,一季度、购置、成员A对应的单元格为一个非明细单元格。
示例性地,计算机设备基于层级结构和目标单元格标识,确定目标单元格标识对应的目标非明细块。
在一个实施例中,计算机设备基于目标单元格标识,确定目标单元格标识所属于的目标明细块,基于上述层级结构和上述目标明细块,确定目标单元格标识对应的目标非明细块。
步骤208,确定目标非明细块中的待更新单元格标识,对待更新单元格标识对应的待更新单元格中的数值进行更新。
其中,待更新单元格是指数值受目标单元格中数值影响的单元格。待更新单元格的数量可以为一个或者多个。
示例性地,计算机设备确定每一个目标非明细块中的待更新单元格标识,然后对每一个目标非明细块中的待更新单元格标识对应的待更新单元格中的数值进行更新。
在一个实施例中,计算机设备使用多线程,同时对多个目标非明细块中的待更新单元格中的数值进行更新。
上述多维数据库更新方法中,获取多维数据库对应的层级结构,以及目标单元格标识对应的目标值,基于目标值,对目标单元格标识对应的目标单元格中的数值进行更新,基于层级结构和目标单元格标识,确定目标单元格标识对应的目标非明细块,确定目标非明细块中的待更新单元格标识,对待更新单元格标识对应的待更新单元格中的数值进行更新。通过将多维数据库划分成多个明细块和非明细块,采用层级结构表示明细块和非明细块之间的关联关系,根据目标单元格标识和层级结构,快速确定受目标单元格影响的待更新单元格所属的目标非明细块,然后确定每一个目标非明细块中的待更新单元格标识,提高了待更新单元格标识的确定效率,根据待更新单元格标识从目标非明细块中确定待更新单元格,对待更新单元格中的数值进行更新,目标非明细块中只保存了多维数据中的部分单元格的数值,提高了待更新单元格的确定速率,以及待更新单元格中数值的更新效率,从而提高了多维数据库的更新效率。
在一个实施例中,如图3所示,多维数据库更新方法还包括:
步骤302,生成更新版本号。
其中,更新版本号是指用于表征多维数据库此次更新的字符串。更新版本号可以为随机生成的数字,或者,对多维数据库上次更新的更新版本号加1得到数字。例如,103。
示例性地,计算机设备在执行完步骤204之后,生成一个更新版本号。
在一个实施例中,计算机设备在获取目标单元格标识对应的目标值之后,生成一个更新版本号。
步骤304,获取目标非明细块对应的第一版本号和第二版本号,将第一版本号更新为更新版本号。
其中,第一版本号和第二版本号是指与非明细块对应的两个字符串。若非明细块中不存在待更新单元格,则第一版本号和第二版本号相同,若非明细块中存在待更新单元格,则第一版本号和第二版本号不相同。可以根据非明细块的两个版本号是否一致,判断非明细块是否准确。
示例性地,计算机设备基于目标非明细块标识,获取目标非明细块对应的第一版本号和第二版本号,然后将第一版本号更新为更新版本号。
步骤306,对目标非明细块中,所有的待更新单元格标识对应的待更新单元格中的数值进行更新之后,将第二版本号更新为更新版本号。
示例性地,针对每一个目标非明细块,若该目标非明细块中的所有的待更新单元格标识对应的待更新单元格中的数值均进行了更新,则将该目标非明细块对应的第二版本号更新为更新版本号。
在本实施例中,通过对目标非明细块的第一版本号进行更新,此时目标非明细块的第一版本号为更新版本号,与第二版本号不同,表征此时的目标非明细块中存在待更新单元格,等目标非明细块中的所有待更新单元格更新完成之后,对目标非明细块的第二版本号进行更新,此时目标非明细块的第一版本号和第二版本号均为更新版本号,第一版本号和第二版本号相同,表征此时的目标非明细块中不存在待更新单元格,保证了目标非明细块中所有的待更新单元格进行更新,提高了目标非明细块更新的准确性。不仅如此,通过非明细块对应的第一版本号和第二版本号是否相同,可以确定非明细块中是否存在待更新单元格,即使多维数据库中存在待更新的单元格,仍然可以对第一版本号和第二版本号相同的非明细块中的单元格进行数据读取,实现了多维数据库的同步更新和读取。
在一个实施例中,如图4所示,基于层级结构和目标单元格标识,确定目标单元格标识对应的目标非明细块包括:
步骤402,获取层级结构中明细块对应的明细块标识。
其中,明细块是指由多个明细单元格组成的集合。明细块中的每个明细单元格的单元格标识中均包含明细块的明细块标识。明细单元格是指单元格对应的维度值组合中的每个维度值均为明细维度值的单元格。明细块为层级结构中最底层的块。可以理解为,明细块是由多个单元格组成,每个单元格对应的维度值集合中的每个维度值均为叶子节点维度值。层级结构中包含多个明细块。层级结构中的明细块可以根据实际需求进行划分。明细块标识是指与明细块一一对应的字符串。明细块标识可以用维度值或者维度值组合表示。例如,如图5所示的层级结构,该层级结构中包括了{一月,购置}、{二月,购置}、{三月,购置}、{一月,生活}、{二月,生活}和{三月,生活}共计6个明细块,以及{一季度,购置}、{一季度,生活}和{一季度,支出}共计3个非明细块,每一个明细块中包含多个单元格,如{一月,购置}中包括{一月,购置,成员A}和{一月,购置,成员B},每一个非明细块中也包含多个单元格,如{一季度,购置}中包括{一季度,购置,成员A}、{一季度,购置,成员B}和{一季度,购置,家庭}。
示例性地,计算机设备获取层级结构中的多个明细块标识。
步骤404,基于目标单元格标识与明细块标识之间的包含关系,确定目标单元格标识对应的目标明细块。
其中,目标明细块是指包含目标单元格标识对应目标单元格的明细块。
示例性地,计算机设备从多个明细块标识中获取当前明细块标识,将当前明细块标识与目标单元格标识进行比对,若目标单元格标识中不包括当前明细块标识,则获取多个明细块标识中的下一个明细块标识作为当前明细块标识,重复执行上述步骤;若目标单元格标识中包括当前明细块标识,则将当前明细块标识对应的明细块,确定为目标单元格标识对应的目标明细块。
步骤406,将层级结构中目标明细块的祖父非明细块,确定为目标单元格标识对应的目标非明细块;祖父非明细块是指目标明细块的父节点非明细块,以及父节点非明细块的父节点非明细块。
其中,父节点非明细块是指层级结构中明细块所在层级的上一层级中,与明细块具有关联关系的非明细块,或者是层级结构中非明细块所在层级的上一层级中,与非明细块具有关联关系的非明细块。例如,如图5所示的层级结构中,明细块{一月,购置}的父节点非明细块为{一季度,购置},父节点非明细块{一季度,购置}的父节点非明细块为{一季度,支出},则明细块{一月,购置}的祖父非明细块包括{一季度,购置}和{一季度,支出}。
示例性地,计算机设备基于层级结构,获取目标明细块的父节点非明细块,以及父节点非明细块的父节点非明细块,直至上述层级结构中的根节点非明细块,将上述多个父节点非明细块,确定为目标单元格标识对应的目标非明细块。
在本实施例中,基于目标单元格标识与明细块标识之间的包含关系,确定目标单元格标识对应的目标明细块,然后根据层级结构中明细块和非明细块之间的关联关系,确定目标单元格标识对应的目标非明细块,提高了目标非明细块的确定效率。
在一个实施例中,基于目标单元格标识与明细块标识之间的包含关系,确定目标单元格标识对应的目标明细块包括:
将明细块标识中的维度值,与目标单元格标识中的维度值进行比对;明细块标识中包括至少一个维度值,目标单元格标识中包含多个维度值;若目标单元格标识中存在明细块标识中的所有维度值,则将明细块标识对应的明细块,确定为目标单元格标识对应的目标明细块。
其中,维度值是指维度中的一个划分范围。例如,将日期维划分成一季度、一月、二月和三月共4个划分范围,一个划分范围就是一个维度值。
示例性地,计算机设备获取明细块标识对应的多个维度值,以及目标单元格标识对应的多个维度值,将明细块标识对应的多个维度值分别与目标单元格标识对应的多个维度值进行比对,若目标单元格标识对应的多个维度值中存在与明细块标识对应的多个维度值相同的维度值,则将该明细块标识确定为目标明细块标识,将目标明细块标识对应的明细块确定为目标明细块。
在本实施例中,基于目标单元格标识与明细块标识,确定目标单元格所属于的目标明细块,为后续基于目标明细块和层级结构,确定为目标单元格标识对应的目标非明细块提供基础数据。
在一个实施例中,对待更新单元格标识对应的待更新单元格中的数值进行更新包括:
基于目标值和待更新单元格标识,生成异步任务;基于异步任务,对待更新单元格标识对应的待更新单元格中的数值进行更新。
其中,异步任务是指可以同时执行的任务。可以理解为,根据一个或者多个目标值和对应的待更新单元格标识生成一个异步任务,由于存在多个目标值和对应的待更新单元格标识,会同时生成多个异步任务,多个异步任务可以同时执行。
示例性地,计算机设备基于预设数量的目标值和对应的待更新单元格标识,生成一个异步任务,得到多个异步任务,同时执行多个异步任务,完成对待更新单元格标识对应的待更新单元格中的数值进行更新。
在本实施例中,通过执行多个异步任务,同时对多个待更新单元格标识对应的待更新单元格中的数值进行更新,提高了待更新单元格中数值更新的速率。
在一个实施例中,如图6所示,确定目标非明细块中的待更新单元格标识包括:
步骤602,获取目标单元格标识所属目标明细块的目标明细块标识。
示例性地,计算机设备获取层级结构中的多个明细块标识,基于目标单元格标识与明细块标识之间的包含关系,确定目标明细块标识。
步骤604,将目标单元格标识中与目标明细块标识中不同的维度值,确定为差异维度值。
示例性地,计算机设备获取目标单元格标识中的多个维度值,以及目标明细块中的多个维度值,对目标单元格标识中的多个维度值与目标明细块中的多个维度值进行比对,将目标单元格标识中存在,目标明细块标识中不存在的维度值,确定为差异维度值。
步骤606,获取差异维度值对应维度的树状结构,将差异维度值和树状结构中差异维度值对应的祖父维度值,确定为差异维度值对应的差异维度值集合;祖父维度值是指差异维度值的父节点维度值,以及父节点维度值的父节点维度值。
其中,维度是指衡量和概括的属性。例如,成员维度、费用维度和时间维度。树状结构是指体现同一个维度中的多个维度值之间关系的二叉树或者多叉树。例如,如图7所示的成员维度树状结构、费用维度树状结构和时间维度树状结构。
示例性地,计算机设备获取差异维度值对应维度的树状结构,从树状结构中获取差异维度值的父节点维度值,以及父节点维度值的父节点维度值,直至根节点维度值,上述多个父节点维度值作为差异维度值的祖父维度值,将差异维度值和祖父维度值确定为差异维度值对应的差异维度值集合。
步骤608,将目标非明细块标识中的维度值,与每个差异维度值集合中一个维度值进行组合,得到目标非明细块中的待更新单元格标识。
示例性地,计算机设备将目标非明细块标识中的维度值,与每个差异维度值集合中一个维度值进行组合,得到目标非明细块中的多个待更新单元格标识。
在本实施例中,通过上述方法确定目标非明细块中的待更新单元格标识,为后续根据待更新单元格标识从目标非明细块中确定待更新单元格,对待更新单元格中的数值进行更新提供了基础数据。
在一个实施例中,多维数据库更新方法还包括:
获取待查询单元格标识;基于待查询单元格标识,确定待查询单元格标识对应的查询非明细块;获取查询非明细块对应的第一版本号和第二版本号,若第一版本号和第二版本号相同,则将待查询单元格标识对应单元格的数值作为查询结果。
其中,查询单元格标识是指与待查询单元格一一对应的字符串。
示例性地,计算机设备获取待查询单元格标识,以及多维数据库对应的层级结构,获取层级结构中多个非明细块标识,基于待查询单元格标识与非明细块标识之间的包含关系,确定待查询单元格标识对应的查询非明细块,获取查询非明细块对应的第一版本号和第二版本号,对第一版本号和第二版本号进行比较,若第一版本号和第二版本号相同,则将待查询单元格标识对应单元格的数值作为查询结果。
在本实施例中,通过对查询非明细块的第一版本号和第二版本号进行比较,对查询明细块的准确性进行判断,如果第一版本号和第二版本号相同,则说明查询非明细块中不包含待更新单元格,查询非明细块中的单元格保存的数值都是准确的,将待查询单元格标识对应单元格的数值作为查询结果,保证了查询结果的准确性,并且,在目标非明细块进行修改的同时,可以对其它的非明细块中的单元格进行数据读取,实现了多维数据库同步进行更新与查询。
在一个示例性地实施例中,多维数据库的更新包括以下步骤:
获取多维数据库中目标单元格标识对应的目标值,以及多维数据库对应的层级结构,根据目标单元格标识确定目标单元格,然后根据目标值对目标单元格中的数值进行更新,更新之后生成一个更新版本号。
从层级结构中获取明细块对应的明细块标识,从多个明细块标识中获取当前明细块标识,将当前明细块标识与目标单元格标识进行比对,若目标单元格标识中不包括当前明细块标识,则获取多个明细块标识中的下一个明细块标识作为当前明细块标识,重复执行上述步骤;若目标单元格标识中包括当前明细块标识,则将当前明细块标识对应的明细块,确定为目标单元格标识对应的目标明细块,从层级结构中获取目标明细块的父节点非明细块,以及父节点非明细块的父节点非明细块,直至上述层级结构中的根节点非明细块,将上述多个父节点非明细块,确定为目标单元格标识对应的目标非明细块。获取目标非明细块对应的第一版本号和第二版本号,将第一版本号更新为更新版本号。
获取目标单元格标识中的多个维度值,以及目标明细块中的多个维度值,对目标单元格标识中的多个维度值与目标明细块中的多个维度值进行比对,将目标单元格标识中存在,目标明细块标识中不存在的维度值,确定为差异维度值,获取差异维度值对应维度的树状结构,从树状结构中获取差异维度值的父节点维度值,以及父节点维度值的父节点维度值,直至根节点维度值,上述多个父节点维度值作为差异维度值的祖父维度值,将差异维度值和祖父维度值确定为差异维度值对应的差异维度值集合,将目标非明细块标识中的维度值,与每个差异维度值集合中一个维度值进行组合,得到目标非明细块中的多个待更新单元格标识。
基于预设数量的目标值和对应的待更新单元格标识,得到目标非明细块对应的多个异步任务,同时执行多个异步任务,完成待更新单元格标识对应的待更新单元格中的数值更新,当多个异步任务执行完之后,将该目标非明细块对应的第二版本号更新为更新版本号。
在本实施例中,获取多维数据库对应的层级结构,以及目标单元格标识对应的目标值,基于目标值,对目标单元格标识对应的目标单元格中的数值进行更新,基于层级结构和目标单元格标识,确定目标单元格标识对应的目标非明细块,确定目标非明细块中的待更新单元格标识,对待更新单元格标识对应的待更新单元格中的数值进行更新。通过将多维数据库划分成多个明细块和非明细块,采用层级结构表示明细块和非明细块之间的关联关系,根据目标单元格标识和层级结构,快速确定受目标单元格影响的待更新单元格所属的目标非明细块,然后确定每一个目标非明细块中的待更新单元格标识,提高了待更新单元格标识的确定效率,根据待更新单元格标识从目标非明细块中确定待更新单元格,对待更新单元格中的数值进行更新,目标非明细块中只保存了多维数据中的部分单元格的数值,提高了待更新单元格的确定速率,以及待更新单元格中数值的更新效率,从而提高了多维数据库的更新效率。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的多维数据库更新方法的多维数据库更新装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个多维数据库更新装置实施例中的具体限定可以参见上文中对于多维数据库更新方法的限定,在此不再赘述。
在一个实施例中,如图8所示,提供了一种多维数据库更新装置,包括:获取模块802、第一更新模块804、确定模块806和第二更新模块808,其中:
获取模块802,用于获取多维数据库对应的层级结构,以及目标单元格标识对应的目标值;
第一更新模块804,用于基于目标值,对目标单元格标识对应的目标单元格中的数值进行更新;
确定模块806,用于基于层级结构和目标单元格标识,确定目标单元格标识对应的目标非明细块;
第二更新模块808,用于确定目标非明细块中的待更新单元格标识,对待更新单元格标识对应的待更新单元格中的数值进行更新。
在一个实施例中,多维数据库更新装置还包括版本号更新模块,版本号更新模块用于:生成更新版本号;获取目标非明细块对应的第一版本号和第二版本号,将第一版本号更新为更新版本号;对目标非明细块中,所有的待更新单元格标识对应的待更新单元格中的数值进行更新之后,将第二版本号更新为更新版本号。
在一个实施例中,确定模块806还用于:获取层级结构中明细块对应的明细块标识;基于目标单元格标识与明细块标识之间的包含关系,确定目标单元格标识对应的目标明细块;将层级结构中目标明细块的祖父非明细块,确定为目标单元格标识对应的目标非明细块;祖父非明细块是指目标明细块的父节点非明细块,以及父节点非明细块的父节点非明细块。
在一个实施例中,确定模块806还用于:将明细块标识中的维度值,与目标单元格标识中的维度值进行比对;明细块标识中包括至少一个维度值,目标单元格标识中包含多个维度值;若目标单元格标识中存在明细块标识中的所有维度值,则将明细块标识对应的明细块,确定为目标单元格标识对应的目标明细块。
在一个实施例中,第二更新模块808还用于:基于目标值和待更新单元格标识,生成异步任务;基于异步任务,对待更新单元格标识对应的待更新单元格中的数值进行更新。
在一个实施例中,第二更新模块808还用于:获取目标单元格标识所属目标明细块的目标明细块标识;将目标单元格标识中与目标明细块标识中不同的维度值,确定为差异维度值;获取差异维度值对应维度的树状结构,将差异维度值和树状结构中差异维度值对应的祖父维度值,确定为差异维度值对应的差异维度值集合;祖父维度值是指差异维度值的父节点维度值,以及父节点维度值的父节点维度值;将目标非明细块标识中的维度值,与每个差异维度值集合中一个维度值进行组合,得到目标非明细块中的待更新单元格标识。
在一个实施例中,多维数据库更新装置还包括查询模块,查询模块用于:获取待查询单元格标识;基于待查询单元格标识,确定待查询单元格标识对应的查询非明细块;获取查询非明细块对应的第一版本号和第二版本号,若第一版本号和第二版本号相同,则将待查询单元格标识对应单元格的数值作为查询结果。
上述多维数据库更新装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图9所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种多维数据库更新方法。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置。显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种多维数据库更新方法,其特征在于,所述方法包括:
获取多维数据库对应的层级结构,以及目标单元格标识对应的目标值;
基于所述目标值,对所述目标单元格标识对应的目标单元格中的数值进行更新;
基于所述层级结构和所述目标单元格标识,确定所述目标单元格标识对应的目标非明细块;
确定所述目标非明细块中的待更新单元格标识,对所述待更新单元格标识对应的待更新单元格中的数值进行更新。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
生成更新版本号;
获取所述目标非明细块对应的第一版本号和第二版本号,将所述第一版本号更新为所述更新版本号;
对所述目标非明细块中,所有的待更新单元格标识对应的待更新单元格中的数值进行更新之后,将所述第二版本号更新为所述更新版本号。
3.根据权利要求1所述的方法,其特征在于,所述基于所述层级结构和所述目标单元格标识,确定所述目标单元格标识对应的目标非明细块包括:
获取所述层级结构中明细块对应的明细块标识;
基于所述目标单元格标识与所述明细块标识之间的包含关系,确定所述目标单元格标识对应的目标明细块;
将所述层级结构中所述目标明细块的祖父非明细块,确定为所述目标单元格标识对应的目标非明细块;所述祖父非明细块是指目标明细块的父节点非明细块,以及所述父节点非明细块的父节点非明细块。
4.根据权利要求3所述的方法,其特征在于,所述基于所述目标单元格标识与所述明细块标识之间的包含关系,确定所述目标单元格标识对应的目标明细块包括:
将所述明细块标识中的维度值,与所述目标单元格标识中的维度值进行比对;所述明细块标识中包括至少一个维度值,所述目标单元格标识中包含多个维度值;
若所述目标单元格标识中存在所述明细块标识中的所有维度值,则将所述明细块标识对应的明细块,确定为所述目标单元格标识对应的目标明细块。
5.根据权利要求1所述的方法,其特征在于,所述对所述待更新单元格标识对应的待更新单元格中的数值进行更新包括:
基于所述目标值和所述待更新单元格标识,生成异步任务;
基于所述异步任务,对所述待更新单元格标识对应的待更新单元格中的数值进行更新。
6.根据权利要求1所述的方法,其特征在于,所述确定所述目标非明细块中的待更新单元格标识包括:
获取所述目标单元格标识所属目标明细块的目标明细块标识;
将所述目标单元格标识中与所述目标明细块标识中不同的维度值,确定为差异维度值;
获取所述差异维度值对应维度的树状结构,将所述差异维度值和所述树状结构中所述差异维度值对应的祖父维度值,确定为所述差异维度值对应的差异维度值集合;所述祖父维度值是指所述差异维度值的父节点维度值,以及所述父节点维度值的父节点维度值;
将所述目标非明细块标识中的维度值,与每个所述差异维度值集合中一个维度值进行组合,得到所述目标非明细块中的待更新单元格标识。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取待查询单元格标识;
基于所述待查询单元格标识,确定所述待查询单元格标识对应的查询非明细块;
获取所述查询非明细块对应的第一版本号和第二版本号,若所述第一版本号和所述第二版本号相同,则将所述待查询单元格标识对应单元格的数值作为查询结果。
8.一种多维数据库更新装置,其特征在于,所述装置包括:
获取模块,用于获取多维数据库对应的层级结构,以及目标单元格标识对应的目标值;
第一更新模块,用于基于所述目标值,对所述目标单元格标识对应的目标单元格中的数值进行更新;
确定模块,用于基于所述层级结构和所述目标单元格标识,确定所述目标单元格标识对应的目标非明细块;
第二更新模块,用于确定所述目标非明细块中的待更新单元格标识,对所述待更新单元格标识对应的待更新单元格中的数值进行更新。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310269600.7A CN116204541A (zh) | 2023-03-14 | 2023-03-14 | 多维数据库更新方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310269600.7A CN116204541A (zh) | 2023-03-14 | 2023-03-14 | 多维数据库更新方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116204541A true CN116204541A (zh) | 2023-06-02 |
Family
ID=86507743
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310269600.7A Pending CN116204541A (zh) | 2023-03-14 | 2023-03-14 | 多维数据库更新方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116204541A (zh) |
-
2023
- 2023-03-14 CN CN202310269600.7A patent/CN116204541A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115544183B (zh) | 数据可视化方法、装置、计算机设备和存储介质 | |
CN116305895A (zh) | 产品模型生成方法、装置、计算机设备和存储介质 | |
CN116204541A (zh) | 多维数据库更新方法、装置、计算机设备和存储介质 | |
CN116910115A (zh) | 客群查询方法、装置、计算机设备和存储介质 | |
CN117390011A (zh) | 报表数据处理方法、装置、计算机设备和存储介质 | |
CN116226145A (zh) | 数据交互方法、装置、计算机设备和存储介质 | |
CN114647630A (zh) | 文件同步、信息生成方法、装置、计算机设备和存储介质 | |
CN117764529A (zh) | 目标项目确定方法、装置、计算机设备、存储介质和产品 | |
CN115510130A (zh) | 报表生成方法、装置、计算机设备和存储介质 | |
CN116881116A (zh) | 接口测试方法、装置、计算机设备、存储介质和程序产品 | |
CN116128616A (zh) | 资源风险试算的数据处理的计算方法、装置、计算机设备 | |
CN117667985A (zh) | 数据定位方法、装置、计算机设备和存储介质 | |
CN117435589A (zh) | 数据转存方法、装置、计算机设备、存储介质 | |
CN116150840A (zh) | 模型生成方法、装置、设备、存储介质和程序产品 | |
CN117495518A (zh) | 银行积分系统的物品管理方法、装置、设备和存储介质 | |
CN114138196A (zh) | 电力系统数据存储方法、装置、计算机设备和存储介质 | |
CN117312892A (zh) | 用户聚类方法、装置、计算机设备和存储介质 | |
CN116401323A (zh) | 指标数据处理方法、装置及计算机设备 | |
CN116029026A (zh) | 模型文件处理方法、装置、设备、存储介质和程序产品 | |
CN117634751A (zh) | 数据要素评估方法、装置、计算机设备以及存储介质 | |
CN118133331A (zh) | 芯片存储数据的隐私保护方法、装置和计算机设备 | |
CN116049491A (zh) | 数据生成方法、装置、计算机设备和存储介质 | |
CN118069044A (zh) | 芯片数据存储方法、装置、设备、介质和产品 | |
CN117271656A (zh) | 一种数据同步的方法、装置、计算机设备 | |
CN117435651A (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 |