CN113094391B - 一种支持缓存的数据汇总的计算方法、装置及设备 - Google Patents

一种支持缓存的数据汇总的计算方法、装置及设备 Download PDF

Info

Publication number
CN113094391B
CN113094391B CN202110434305.3A CN202110434305A CN113094391B CN 113094391 B CN113094391 B CN 113094391B CN 202110434305 A CN202110434305 A CN 202110434305A CN 113094391 B CN113094391 B CN 113094391B
Authority
CN
China
Prior art keywords
data
data node
processing result
task
information
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
Application number
CN202110434305.3A
Other languages
English (en)
Other versions
CN113094391A (zh
Inventor
胡天岳
孙立新
李玉成
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong Inspur Paisheng Network Technology Co ltd
Original Assignee
Inspur General Software Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Inspur General Software Co Ltd filed Critical Inspur General Software Co Ltd
Priority to CN202110434305.3A priority Critical patent/CN113094391B/zh
Publication of CN113094391A publication Critical patent/CN113094391A/zh
Application granted granted Critical
Publication of CN113094391B publication Critical patent/CN113094391B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24539Query rewriting; Transformation using cached or materialised query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24549Run-time optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种支持缓存的数据汇总的计算方法、装置及设备,用以解决中间计算结果未缓存或对应的缓存容量小,以至于中间计算结果可复用率低,以及数据节点之间数据共享能力低的技术问题。方法包括:第一数据节点确定不存在于本节点中的第二数据信息,以及确定存在于本节点中的第三数据信息;确定第二数据信息对应的第二数据节点;生成第一中间计算任务,发送给第二数据节点,以得到第一处理结果;根据第三数据信息生成第二中间计算任务,基于第二中间计算任务得到第二处理结果;根据第一处理结果以及第二处理结果,确定数据汇总指令对应的最终计算结果。本申请通过上述方法实现了中间计算结果的有效缓存,提高了数据节点之间数据共享的能力。

Description

一种支持缓存的数据汇总的计算方法、装置及设备
技术领域
本申请涉及计算机技术领域,尤其涉及一种支持缓存的数据汇总的计算方法、装置及设备。
背景技术
当前支持数据汇总的计算产品,基本上都使用“关系型数据库+串行计算”作为数据计算模块技术。也就是说,在计算过程中,通过当前关系型数据库查询数据,按照步骤进行顺序计算。如用友YonBIP、金蝶苍穹等产品。
但是当单次查询的数据量较大时,往往面临数据规模瓶颈、计算性能和存储性能等问题。主要表现为以下几个方面:首先,目前计算出的“可复用中间结果”(中间查询结果和中间计算结果)只使用纯内存缓存甚至未进行缓存,由于内存缓存容量有限,当变更查询条件时,大量未缓存的可复用中间结果需要重新计算,消耗系统性能。其次,原有方案计算数汇总信息计算并行度低,不支持高并行计算,进行复杂的关联查询势必会有性能问题。最后,现有模式下不同服务器之间存在数据节点数据粘度低的问题。目前,不同服务器之间难以进行高响应数据通信,当用户使用相同查询和权限条件分别查询两个服务器时,会在两个服务器分别进行计算。当两个服务器的数据不同步时甚至会得到不同的计算结果,产生数据错误。
发明内容
本申请实施例提供了一种支持缓存的数据汇总的计算方法及设备,用以解决现有的数据汇总计算方法在数据小计、合计等计算过程中的中间计算结果结果未缓存或对应的缓存容量小,以至于中间计算结果可复用率低,以及数据节点之间数据共享能力低的技术问题。
第一方面,本申请实施例提供了一种支持缓存的数据汇总的计算方法,方法包括:第一数据节点基于用户触发的数据汇总指令,确定第一数据信息,并在第一数据信息中确定不存在于第一数据节点中的第二数据信息,以及确定存在于第一数据节点中的第三数据信息;第一数据节点根据预设查找条件,确定第二数据信息对应的第二数据节点;第一数据节点根据第二数据信息生成第一中间计算任务,并将第一中间计算任务发送给第二数据节点,以得到第一处理结果,其中,第二数据节点基于预设缓存条件缓存第一中间计算任务与第一处理结果;第一数据节点根据第三数据信息生成第二中间计算任务,并基于第二中间计算任务得到第二处理结果,并基于预设缓存条件缓存第二中间计算任务与第二处理结果;第一数据节点根据第一处理结果以及第二处理结果,确定数据汇总指令对应的最终计算结果。
本申请实施例提供的计算方法,在计算过程中,通过将第一数据节点在计算过程中要涉及的第一数据信息划分成:第一数据节点不存在的第二数据信息以及第一数据节点存在的第三数据信息,实现了汇总其他数据节点(第二数据节点)的数据信息的功能,避免了不存在第二数据信息的第一数据节点参与计算第二数据信息,也就是说,避免了第一数据节点从第二数据节点上调用第二数据信息,通过减少数据节点间的数据移动,提高了计算的性能;通过将各个第二数据信息以第一中间计算任务的方式发送给对应的第二数据节点,以使第一中间任务在对应的第二数据节点上计算,实现了第一数据节点与第二数据节点之间数据的共享,此外,通过将一个计算任务中的若干个第一中间计算任务发送给各个第二数据节点共同执行,实现了不同数据节点之间数据的交互使用以及数据的共享;同时,通过将一个计算任务中的若干个中间计算任务发送给各个第二数据节点共同执行,实现了一个计算任务多个数据节点的并行计算,提高了数据小计、合计等汇总信息的计算速度,有效提升了用户的查询体验。另外,在数据节点上通过预设缓存条件缓存中间计算任务与处理结果(如:第一数据节点可以缓存第二中间计算任务和第二处理结果;第二数据节点可以缓存第一中间计算任务和第一处理结果),实现了将中间计算结果的分布式缓存,通过在多个数据节点上分布式缓存中间计算结果,实现了提高的中间计算结果缓存容量的效果。
在本申请的一种实现方式中,第二数据节点获取到第一中间计算任务后,确定第一中间计算任务及第一处理结果是否存在于第一缓存信息中;其中,第一缓存信息用于指示第二数据节点缓存的中间计算任务及处理结果;如果第一中间计算任务及第一处理结果存在于第一缓存信息中,则第二数据节点直接获取第一处理结果;如果第一中间计算任务及第一处理结果不存在于第一缓存信息中,则第二数据节点启动第一中间计算任务的计算,以获得第一处理结果;并且,第二数据节点将第一中间计算任务及第一处理结果缓存于第一缓存信息中。
本申请实施例提供的计算方法,第二数据节点在获取到第一中间任务后,第二数据节点通过检索第一缓存信息获取第一处理结果,实现了中间计算结果(第一处理结果)的可复用性,避免了重新计算可复用中间计算结果要消耗的系统性能;当在第一缓存信息中检索不到第一处理结果时,通过计算获取第一处理结果,并将第一处理结果缓存,提高了下一次获取同一个中间计算结果(第一处理结果)的效率。
在本申请的一种实现方式中,第一数据节点和第二数据节点对应的缓存方式至少包括以下任意一项或者多项:键值对缓存、内存数据表缓存;键值对缓存用于缓存第一中间计算任务及对应的第一处理结果之间的映射关系,以及用于缓存第二中间计算任务及对应的第二处理结果之间的映射关系;内存数据表缓存用于缓存查询条件、格式方案、关键应用以及第一中间计算任务与第一处理结果的对应关系,以及用于缓存查询条件、格式方案、关键应用以及第二中间计算任务与第二处理结果的对应关系。
本申请实施例提供的计算方法,提供了两种缓存第一中间计算任务与第一处理结果和第二中间计算任务与第二处理结果的缓存方式,在传统的键值对缓存的基础上,增加了内存数据表缓存,通过内存数据表缓存将第一中间计算任务与第一处理结果和第二中间计算任务与第二处理结果做数据映射,将第一中间计算任务与第一处理结果和第二中间计算任务与第二处理结果映射成内存数据库数据表,存储在数据节点中,实现了中间计算结果(第一处理结果和/或第二处理结果)的数据库结构化存储。
在本申请的一种实现方式中,第一数据节点获取第二数据信息对应的预设键值,并获取当前用户的账户信息对应的关键应用名;第一数据节点根据关键应用名,确定第一数据节点对应的关键应用区;第一数据节点向存在于同一关键应用区中的所有数据节点发送预设键值认领任务;其中,预设键值认领任务中包含第二数据信息对应的预设键值;第一数据节点确定接收预设键值认领任务的任一数据节点为第二数据信息对应的第二数据节点。
本申请实施例提供的计算方法,基于相同类型的数据被存储在相同关键应用名的数据节点上,使得通过获取第二数据信息对应的预设键值,能够向相同关键应用名的数据节点发送预设键值认领任务,实现了精准查询第二数据信息所在的第二数据节点,避免了向全部数据节点投放预设键值认领任务带来的资源损耗。
在本申请的一种实现方式中,第一数据节点根据第二数据信息生成预设数据认领任务;第一数据节点获取当前用户的账户信息对应的关键应用名;并根据关键应用名,确定第一数据节点对应的关键应用区;第一数据节点向存在于同一关键应用区中的所有数据节点发送预设数据认领任务;第一数据节点确定接收预设数据认领任务的任一数据节点为第二数据信息对应的第二数据节点。
在本申请的一种实现方式中,当第三数据信息不存在时;第一数据节点根据预设查找条件,确定第二数据信息对应的第二数据节点;第一数据节点根据第二数据信息生成第一中间计算任务,并将第一中间计算任务发送给第二数据节点,以得到第一处理结果;第一数据节点根据第一处理结果,确定数据汇总指令对应的最终计算结果。
在本申请的一种实现方式中,当第二数据信息不存在时;第一数据节点根据第三数据信息生成第二中间计算任务,并基于第二中间计算任务得到第二处理结果;第一数据节点根据第二处理结果,确定数据汇总指令对应的最终计算结果。
在本申请的一种实现方式中,第一数据节点确定第二中间计算任务及第二处理结果是否存在于第二缓存信息中;其中,第二缓存信息用于指示第一数据节点缓存的中间计算任务及处理结果;如果第二中间计算任务及第二处理结果存在于第二缓存信息中,则第二数据节点直接获取第二处理结果;如果第二中间计算任务及第二处理结果不存在于第二缓存信息中,则第二数据节点启动第二中间计算任务的计算,以获得第二处理结果;并且,第一数据节点将第二中间计算任务及基于第二中间计算任务得到的第二处理结果,缓存于第二缓存信息中。
第二方面,本申请实施例还提供了一种支持缓存的数据汇总的计算装置,其特征在于,装置包括:确定模块,用于基于用户触发的数据汇总指令,确定第一数据信息,并在第一数据信息中确定不存在于第一数据节点中的第二数据信息,以及确定存在于第一数据节点中的第三数据信息;确定模块,还用于根据预设查找条件,确定第二数据信息对应的第二数据节点;发送模块,用于根据第二数据信息生成第一中间计算任务,并将第一中间计算任务发送给第二数据节点,以得到第一处理结果;获得模块,用于根据第三数据信息生成第二中间计算任务,并基于第二中间计算任务获得第二处理结果;确定模块,还用于根据第一处理结果以及第二处理结果,确定数据汇总指令对应的最终计算结果。
第三方面,本申请实施例还提供了一种支持缓存的数据汇总的计算设备,其特征在于,设备包括:处理器;以及存储器,其上存储有可执行代码,当可执行代码被执行时,使得处理器执行如第一方面的一种支持缓存的数据汇总的计算方法。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例提供的一种支持缓存的数据汇总的计算方法流程图;
图2为本申请实施例提供的一种不存在第三数据信息的支持缓存的数据汇总的计算方法;
图3为本申请实施例提供的一种不存在第二数据信息的支持缓存的数据汇总的计算方法;
图4为本申请实施例提供的一种支持缓存的数据汇总的计算装置内部结构示意图;
图5为本申请实施例提供的一种支持缓存的数据汇总的计算设备内部结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供了一种支持缓存的数据汇总的计算方法,具体地,第一数据节点在接收到数据汇总指令后,将执行该数据汇总指令需要的第一数据信息分成第一数据节点存在的第三数据信息以及第一数据节点不存在的第二数据信息。基于预设键值认领任务或预设数据认领任务,获取存在第二数据信息的数据节点。在找到存在第二数据信息的第二数据节点后,向第二数据节点发送第一中间计算任务。其中,第二数据节点在接收到第一中间计算任务后,先检索第二数据节点上的第一缓存信息中是否缓存过该第一中间计算任务及其第一处理结果,如果有,则直接返回该第一处理结果给第一数据节点;如果没有,则将计算出的第一处理结果返回给第一数据节点,并将第一中间计算任务及其第一处理结果缓存到第一缓存信息中。第一数据节点将第二数据信息发送给对应的数据节点,并将第三数据信息生成第二中间计算任务后。在第一数据节点的第二缓存信息中检索是否缓存该第二中间计算任务及其第二处理结果,如果有,则直接获取该第二处理结果;如果没有,则计算第二处理结果,并将该第二中间计算任务及其第二处理结果缓存到第二缓存信息中。通过第一数据节点将第一处理结果与第二处理结果整合处理,获得数据汇总指令对应的最终计算结果。需要说明的是,第一数据节点和第二数据节点缓存数据的方式包括键值对缓存和内存数据表缓存。
下面通过附图对本申请实施例提出的技术方案进行详细的说明。
图1为本申请实施例提供的一种支持缓存的数据汇总的计算方法。如图1所示,本申请实施例提供的计算方法,主要包括以下步骤:
需要说明的是,本申请通过分布式数据库存储全部数据,换句话说,就是将全部数据分成若干份存储在各个数据节点上。此外,在本申请中将数据分配到各个数据节点的分配原则是:按照“数据血缘关系”方法缓存,即根据计算范围、关联条件,确定数据的“血缘”亲近关系,将具有相同“血缘”关系的数据缓存在相同数据节点。在部署方式上,相同领域维度的数据分配同一个数据节点集群里,如财务和供应链会分配不同的数据节点集群,不同集群间物理上采用分布式部署存在逻辑隔离。具体地,同一个数据节点集群(关键应用区)中的数据节点对应的关键应用名相同。本申请中的数据节点通过所在的关键应用区发现关键应用名相同的其它数据节点,基于传输通信协议(如,TCP/IP协议)实现相互通信。通过将具有“数据血缘关系”的数据布置在同一个关键应用区。实现了不同数据节点之间数据的有效利用,同时由于数据节点的数据共享主要针对同一关键应用区内的数据节点,也就是说,数据节点在检索本地缺少的信息时,不需要要向全部节点发送认领任务,只需要向同一个关键应用区内的数据节点发送查询请求即可,减少了不必要的资源损耗,提高了查询的效率。
步骤101、第一数据节点基于用户触发的数据汇总指令,确定第一数据信息,并在第一数据信息中确定不存在于第一数据节点中的第二数据信息,以及确定存在于第一数据节点中的第三数据信息。
具体地,当用户在第一数据节点上进行数据汇总的计算时,基于用户的操作,第一数据节点被触发,生成数据汇总指令。如,用户在操作页面上选择2018年、2019年和2020年的财务统计,生成财务统计指令。在第一数据节点获取到数据汇总指令后,根据数据汇总指令中包含的全部数据信息,查询本地数据库中是否存在对应的数据信息,将本地数据库不存在的数据信息设置为第二数据信息,汇总起来;将本地数据库存在的数据信息设置为第三数据信息。
以此完成该数据汇总指令的信息查询。
步骤102、第一数据节点根据预设查找条件,确定第二数据信息对应的第二数据节点。
需要说明的是,第一数据节通过预设查找条件查找存在第二数据信息的数据节点。当查找的数据节点满足预设查找条件时,表示该数据节点存在第二数据信息,第一数据节点将该数据节点设置为第二数据节点。其中,预设查找条件包含以下任一项或多项:数据节点是否接收预设键值认领任务、数据节点是否接收预数据认领任务
其中,第一数据节点根据数据节点是否接收预设键值认领任务,确定第二数据信息对应的第二数据节点,具体包括:第一数据节点获取第二数据信息中的预设键值和第一数据节点中记录的关键应用名。第一数据节点根据预设键值生成预设键值认领任务。然后,第一数据节点根据本节点的关键应用名,并通过传输协议(如,TCP/IP协议)向同一关键应用区中的所有数据节点发送预设键值认领任务。其中,同一个关键应用区中的数据节点将自动读取相同关键应用区的中的数据节点发送的预设键值认领任务。通过读取预设键值认领任务中的预设键值,以查询本地节点是否存在相同键值的数据,当本地数据节点查询到相同键值的数据时,接收该预设键值认领任务。
需要说明的是,在同一个关键应用区中的同一个数据,它的预设键值是唯一的,数据节点之间可以通过查找预设键值的方式,查找到该预设键值对应的数据;关键应用名可以是预设在当前数据节点的固定登录用户的账户信息中,也可以预设在数据节点的数据节点信息中。此外,预设关键值和关键应用名可以是数值、汉字、字母等能够进行区分数据节点的内容。
进一步地,第一数据节点根据是否接收预数据认领任务,确定第二数据信息对应的第二数据节点,具体包括:第一数据节点根据第二数据信息生成是预设数据认领任务,并获取第一数据节点对应的关键应用名。然后,第一数据节点通过传输协议(如,TCP/IP协议)向同一关键应用区中的所有数据节点发送预设数据认领任务。通过读取预设数据认领任务中的数据信息,来查询本地节点是否存在该数据,当本地数据节点查询到该数据时,接收该预设数据认领任务。
需要说明的是,在数据节点自动接受预设键值认领任务或预设数据认领任务后,会自动生成反馈信息发送给第一数据节点,第一数据节点根据该反馈信息将该数据节点设置为第二数据节点。
步骤103、第一数据节点根据第二数据信息生成第一中间计算任务,并将第一中间计算任务发送给第二数据节点,以得到第一处理结果,其中,第二数据节点基于预设缓存条件缓存第一中间计算任务与第一处理结果。
具体地,第一中间计算任务中包含第二数据信息应该被执行的计算任务。在本申请中第一数据节点将包含第二数据信息计算任务的第一中间计算任务通过传输协议(如,TCP/IP协议)发送给第二数据节点。其中,当第二数据节点接收到第一中间计算任务时,第二数据节点会先读取缓存第一中间计算任务及其第一处理结果的第一缓存信息,查询在第一缓存信息中是否存在与当前第一计算任务相同的第一计算任务及其第一处理结果,如果第一中间计算任务及第一处理结果存在于第一缓存信息中,则第二数据节点直接获取第一处理结果;如果第一中间计算任务及第一处理结果不存在于第一缓存信息中,则第二数据节点启动计算第一中间计算任务,在获得第一处理结果后,将第一中间计算任务及其第一处理结果缓存在第一缓存信息中,并将第一处理信息返回给第一数据节点。
在本申请的一个实施例中,第二数据节点对应的预设缓存方式至少包括以下任意一项或者多项:键值对缓存、内存数据表缓存。
其中,键值对缓存主要用于缓存第一中间计算任务及对应的第一处理结果之间的映射关系,以及用于缓存第二中间计算任务及对应的第二处理结果之间的映射关系;内存数据表缓存用于缓存查询条件、格式方案、关键应用以及第一中间计算任务与第一处理结果的对应关系,以及用于缓存查询条件、格式方案、关键应用区以及第二中间计算任务与第二处理结果的对应关系。具体地,查询条件是指在第二数据节点上查询该第一中间任务需要的条件;格式方案是指第一中间任务中包含的计算方案(如,累加方案);关键应用区为第二数据节点所在的关键应用区。需要说明的是,第二数据节点可以自由切换第一中间计算任务及对应的第一处理结果的缓存方式。当启动键值对缓存时,第二数据节点将第一中间计算任务及对应的第一处理结果的数值进行缓存,同时还将第一中间计算任务及对应的第一处理结果的映射关系进行缓存;当启动内存数据表缓存时,将第一中间计算任务及对应的第一处理结果及查询条件、格式方案、关键应用区等输入数据库中。
步骤104、第一数据节点根据第三数据信息生成第二中间计算任务,并基于第二中间计算任务得到第二处理结果,并基于预设缓存条件缓存第二中间计算任务与第二处理结果。
需要说明的是,第二中间计算任务中包含第三数据信息应该被执行的计算任务。
具体地,当第一数据节点根据第三数据信息生成第二中间计算任务后,第一数据节点会先读取缓存第二中间计算任务及其第二处理结果的第二缓存信息,查询在第二缓存信息中是否存在与当前第二计算任务相同的第二计算任务及其第二处理结果,如果第二中间计算任务及第二处理结果存在于第二缓存信息中,则第一数据节点直接获取第二处理结果;如果第二中间计算任务及第二处理结果不存在于第二缓存信息中,则第一数据节点启动计算第二中间计算任务,在获得第二处理结果后,将第二中间计算任务及其第二处理结果缓存在第二缓存信息中。
需要说明的是,在本申请中第一数据节点对应的预设缓存方式至少包括以下任意一项或者多项:键值对缓存、内存数据表缓存。
步骤105、第一数据节点根据第一处理结果以及第二处理结果,确定数据汇总指令对应的最终计算结果。
具体地,第一数据节点将第二数据节点上传的第一处理结果与第一数据节点获取的第二处理结果代入对应的计算过程中,计算出数据汇总指令对应的最终计算结果。需要说明的是,此处对应的计算过程是与用户触发的数据汇总指令相对应的计算过程,本申请实施例对此不作限定。
此外,本申请在步骤101中还存在第三数据信息不存在或第二数据信息不存在的情形。
图2为本申请实施例提供的一种不存在第三数据信息的支持缓存的数据汇总的计算方法。如图2所示,本申请实施例提供的计算方法,主要包括以下步骤:
步骤201、第一数据节点根据预设查找条件,确定第二数据信息对应的第二数据节点;
需要说明的是,第一数据节通过预设查找条件查找存在第二数据信息的数据节点。当查找的数据节点满足预设查找条件时,表示该数据节点存在第二数据信息,第一数据节点将该数据节点设置为第二数据节点。其中,预设查找条件包含以下任一项或多项:是否接收预设键值认领任务、是否接收预设数据认领任务
其中,第一数据节点根据是否接收预设键值认领任务,确定第二数据信息对应的第二数据节点,具体包括,第一数据节点获取第二数据信息中的预设键值和第一数据节点中记录的关键应用名。第一数据节点根据预设键值生成预设键值认领任务。然后,第一数据节点获取本节点的关键应用名,并通过传输协议(如,TCP/IP协议)向同一关键应用区中的所有数据节点发送预设键值认领任务。其中,同一个关键应用区中的数据节点将自动读取相同关键应用区的中的数据节点发送的预设键值认领任务。通过读取预设键值认领任务中的预设键值,来查询本地节点是否存在相同键值的数据,当本地数据节点查询到相同键值的数据时,接收该预设键值认领任务。需要说明的是,在同一个关键应用区中的同一个数据,它的预设键值是唯一的,数据节点之间可以通过查找预设键值的方式,查找到该预设键值对应的数据;关键应用名可以是预设在当前数据节点的固定登录用户的账户信息中,也可以预设在数据节点的数据节点信息中。此外,预设关键值和关键应用名可以是数值、汉字、字母等能够进行区分数据节点的内容。
其中,第一数据节点根据是否接收预数据认领任务,确定第二数据信息对应的第二数据节点,具体包括,第一数据节点根据第二数据信息生成是预设数据认领任务,并获取第一数据节点对应的关键应用名。然后,第一数据节点通过传输协议(如,TCP/IP协议)向同一关键应用区中的所有数据节点发送预设数据认领任务。通过读取预设数据认领任务中的数据信息,来查询本地节点是否存在该数据,当本地数据节点查询到该数据时,接收该预设数据认领任务。
需要说明的是,在数据节点自动接受预设键值认领任务或预设数据认领任务后,会自动生成接收反馈信息发送给第一数据节点,第一数据节点根据该反馈信息将该数据节点设置为第二数据节点。
步骤202、第一数据节点根据第二数据信息生成第一中间计算任务,并将第一中间计算任务发送给第二数据节点,以得到第一处理结果;
具体地,第一中间计算任务中包含第二数据信息应该被执行的计算任务。在本申请中第一数据节点将包含第二数据信息计算任务的第一中间计算任务通过传输协议(如,TCP/IP协议)发送给第二数据节点。其中,当第二数据节点接收到第一中间计算任务时,第二数据节点会先读取缓存第一中间计算任务及其第一处理结果的第一缓存信息,查询在第一缓存信息中是否存在与当前第一计算任务相同的第一计算任务及其第一处理结果,如果第一中间计算任务及第一处理结果存在于第一缓存信息中,则第二数据节点直接获取第一处理结果;如果第一中间计算任务及第一处理结果不存在于第一缓存信息中,则第二数据节点启动计算第一中间计算任务,在获得第一处理结果后,将第一中间计算任务及其第一处理结果缓存在第一缓存信息中,并将第一处理信息返回给第一数据节点。
需要说明的是,在本申请中第二数据节点对应的预设缓存方式至少包括以下任意一项或者多项:键值对缓存、内存数据表缓存。
步骤203、第一数据节点根据第一处理结果,确定数据汇总指令对应的最终计算结果。
具体地,第一数据节点将第二数据节点上传的第一处理结果代入对应的计算过程中,计算出数据汇总指令对应的最终计算结果。
图3为本申请实施例提供的一种不存在第二数据信息的支持缓存的数据汇总的计算方法。如图3所示,本申请实施例提供的计算方法,主要包括以下步骤:
步骤301、第一数据节点根据第三数据信息生成第二中间计算任务,并基于第二中间计算任务得到第二处理结果;
当第一数据节点根据第三数据信息生成第二中间计算任务后,第二数据节点会先读取缓存第二中间计算任务及其第二处理结果的第二缓存信息,查询在第二缓存信息中是否存在与当前第二计算任务相同的第二计算任务及其第二处理结果,如果第二中间计算任务及第二处理结果存在于第二缓存信息中,则第一数据节点直接获取第二处理结果;如果第二中间计算任务及第二处理结果不存在于第二缓存信息中,则第一数据节点启动计算第二中间计算任务,在获得第二处理结果后,将第二中间计算任务及其第二处理结果缓存在第二缓存信息中。
需要说明的是,在本申请中第一数据节点对应的预设缓存方式至少包括以下任意一项或者多项:键值对缓存、内存数据表缓存。
步骤302、第一数据节点根据第二处理结果,确定数据汇总指令对应的最终计算结果。
具体地,第一数据节点将第二处理结果代入对应的计算过程中,计算出数据汇总指令对应的最终计算结果。
以上为本申请实施例提供的方法实施例,基于同样的发明构思,本申请实施例还提供了一种支持缓存的数据汇总的计算装置。
图4为本申请实施例提供的一种支持缓存的数据汇总的计算装置内部结构示意图。
如图4所示,装置包括:确定模块401,用于基于用户触发的数据汇总指令,确定第一数据信息,并在第一数据信息中确定不存在于第一数据节点中的第二数据信息,以及确定存在于第一数据节点中的第三数据信息;还用于根据预设查找条件,确定第二数据信息对应的第二数据节点;还用于根据第一处理结果以及第二处理结果,确定数据汇总指令对应的最终计算结果;发送模块402,用于根据第二数据信息生成第一中间计算任务,并将第一中间计算任务发送给第二数据节点,以得到第一处理结果;获得模块403,用于根据第三数据信息生成第二中间计算任务,并基于第二中间计算任务获得第二处理结果。
除此之外,本申请实施例还提供了一种支持缓存的数据汇总的计算设备。该设备包括:处理器;以及存储器,其上存储有可执行代码,当可执行代码被执行时,使得处理器执行如上述实施例中的一种支持缓存的数据汇总的计算方法。
本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (10)

1.一种支持缓存的数据汇总的计算方法,其特征在于,所述方法包括:
第一数据节点基于用户触发的数据汇总指令,确定第一数据信息,并在所述第一数据信息中确定不存在于所述第一数据节点中的第二数据信息,以及确定存在于所述第一数据节点中的第三数据信息;
所述第一数据节点根据预设查找条件,确定所述第二数据信息对应的第二数据节点;
所述第一数据节点根据所述第二数据信息生成第一中间计算任务,并将所述第一中间计算任务发送给所述第二数据节点,以得到第一处理结果,其中,所述第二数据节点基于预设缓存方式缓存第一中间计算任务与第一处理结果;
所述第一数据节点根据所述第三数据信息生成第二中间计算任务,并基于所述第二中间计算任务得到第二处理结果,并基于所述预设缓存方式缓存第二中间计算任务与第二处理结果;
所述第一数据节点根据所述第一处理结果以及所述第二处理结果,确定所述数据汇总指令对应的最终计算结果。
2.根据权利要求1所述的一种支持缓存的数据汇总的计算方法,其特征在于,
所述第二数据节点获取到所述第一中间计算任务后,确定所述第一中间计算任务及所述第一处理结果是否存在于第一缓存信息中;其中,所述第一缓存信息用于指示所述第二数据节点缓存的中间计算任务及处理结果;
如果所述第一中间计算任务及所述第一处理结果存在于所述第一缓存信息中,则所述第二数据节点直接获取所述第一处理结果;
如果所述第一中间计算任务及所述第一处理结果不存在于所述第一缓存信息中,则所述第二数据节点启动所述第一中间计算任务的计算,以获得所述第一处理结果;并且,
所述第二数据节点将所述第一中间计算任务及所述第一处理结果缓存于所述第一缓存信息中。
3.根据权利要求1所述的一种支持缓存的数据汇总的计算方法,其特征在于,
所述第一数据节点和所述第二数据节点对应的预设缓存方式至少包括以下任意一项或者多项:键值对缓存、内存数据表缓存;
所述键值对缓存用于缓存第一中间计算任务及对应的第一处理结果之间的映射关系,以及用于缓存第二中间计算任务及对应的第二处理结果之间的映射关系;
所述内存数据表缓存用于缓存查询条件、格式方案、关键应用以及所述第一中间计算任务与所述第一处理结果的对应关系,以及用于缓存查询条件、格式方案、关键应用以及所述第二中间计算任务与所述第二处理结果的对应关系。
4.根据权利要求1所述的一种支持缓存的数据汇总的计算方法,其特征在于,所述第一数据节点根据预设查找条件,确定所述第二数据信息对应的第二数据节点,具体包括:
所述第一数据节点获取所述第二数据信息对应的预设键值,并获取第一数据节点对应的关键应用名;
所述第一数据节点根据所述关键应用名,确定所述第一数据节点对应的关键应用区;
所述第一数据节点向存在于同一所述关键应用区中的所有数据节点发送预设键值认领任务;其中,所述预设键值认领任务中包含所述第二数据信息对应的预设键值;
所述第一数据节点确定接收所述预设键值认领任务的任一数据节点为所述第二数据信息对应的所述第二数据节点。
5.根据权利要求1所述的一种支持缓存的数据汇总的计算方法,其特征在于,所述第一数据节点根据预设查找条件,确定所述第二数据信息对应的所述第二数据节点,具体包括:
所述第一数据节点根据所述第二数据信息生成预设数据认领任务;
所述第一数据节点获取对应的关键应用名;并根据所述关键应用名,确定所述第一数据节点对应的关键应用区;
所述第一数据节点向存在于同一所述关键应用区中的所有数据节点发送所述预设数据认领任务;
所述第一数据节点确定接收所述预设数据认领任务的任一数据节点为所述第二数据信息对应的所述第二数据节点。
6.根据权利要求1所述的一种支持缓存的数据汇总的计算方法,其特征在于,所述方法还包括:
当所述第三数据信息不存在时;
所述第一数据节点根据预设查找条件,确定所述第二数据信息对应的所述第二数据节点;
所述第一数据节点根据所述第二数据信息生成所述第一中间计算任务,并将所述第一中间计算任务发送给所述第二数据节点,以得到所述第一处理结果;
所述第一数据节点根据所述第一处理结果,确定所述数据汇总指令对应的最终计算结果。
7.根据权利要求1所述的一种支持缓存的数据汇总的计算方法,其特征在于,所述方法还包括:
当所述第二数据信息不存在时;
所述第一数据节点根据所述第三数据信息生成所述第二中间计算任务,并基于所述第二中间计算任务得到所述第二处理结果;
所述第一数据节点根据所述第二处理结果,确定所述数据汇总指令对应的最终计算结果。
8.根据权利要求1所述的一种支持缓存的数据汇总的计算方法,其特征在于,所述第一数据节点根据第三数据信息生成第二中间计算任务,并基于第二中间计算任务得到第二处理结果,具体包括:
所述第一数据节点确定所述第二中间计算任务及所述第二处理结果是否存在于第二缓存信息中;其中,所述第二缓存信息用于指示所述第一数据节点缓存的中间计算任务及处理结果;
如果所述第二中间计算任务及所述第二处理结果存在于所述第二缓存信息中,则所述第二数据节点直接获取所述第二处理结果;
如果所述第二中间计算任务及所述第二处理结果不存在于所述第二缓存信息中,则所述第二数据节点启动所述所述第二中间计算任务的计算,以获得所述第二处理结果;并且,
所述第一数据节点将所述第二中间计算任务及基于所述第二中间计算任务得到的所述第二处理结果,缓存于所述第二缓存信息中。
9.一种支持缓存的数据汇总的计算装置,其特征在于,所述装置包括:
确定模块,用于基于用户触发的数据汇总指令,确定第一数据信息,并在所述第一数据信息中确定不存在于所述第一数据节点中的第二数据信息,以及确定存在于所述第一数据节点中的第三数据信息;
确定模块,还用于根据预设查找条件,确定所述第二数据信息对应的第二数据节点;
发送模块,用于根据所述第二数据信息生成第一中间计算任务,并将所述第一中间计算任务发送给所述第二数据节点,以得到第一处理结果;
获得模块,用于根据所述第三数据信息生成第二中间计算任务,并基于所述第二中间计算任务获得第二处理结果;
确定模块,还用于根据所述第一处理结果以及所述第二处理结果,确定所述数据汇总指令对应的最终计算结果。
10.一种支持缓存的数据汇总的计算设备,其特征在于,所述设备包括:
处理器;
以及存储器,其上存储有可执行代码,当所述可执行代码被执行时,使得所述处理器执行如权利要求1-8任一项所述的一种支持缓存的数据汇总的计算方法。
CN202110434305.3A 2021-04-22 2021-04-22 一种支持缓存的数据汇总的计算方法、装置及设备 Active CN113094391B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110434305.3A CN113094391B (zh) 2021-04-22 2021-04-22 一种支持缓存的数据汇总的计算方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110434305.3A CN113094391B (zh) 2021-04-22 2021-04-22 一种支持缓存的数据汇总的计算方法、装置及设备

Publications (2)

Publication Number Publication Date
CN113094391A CN113094391A (zh) 2021-07-09
CN113094391B true CN113094391B (zh) 2022-08-26

Family

ID=76679159

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110434305.3A Active CN113094391B (zh) 2021-04-22 2021-04-22 一种支持缓存的数据汇总的计算方法、装置及设备

Country Status (1)

Country Link
CN (1) CN113094391B (zh)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106250566A (zh) * 2016-08-31 2016-12-21 天津南大通用数据技术股份有限公司 一种分布式数据库及其数据运算的管理方法
JP6951846B2 (ja) * 2017-03-07 2021-10-20 株式会社日立製作所 計算機システム及びタスクの割当方法
CN110659111A (zh) * 2018-06-29 2020-01-07 北京国双科技有限公司 数据处理方法及系统
CN109669934B (zh) * 2018-12-11 2023-08-01 江苏瑞中数据股份有限公司 一种切合电力客服业务的数据仓库系统及其构建方法

Also Published As

Publication number Publication date
CN113094391A (zh) 2021-07-09

Similar Documents

Publication Publication Date Title
US9948531B2 (en) Predictive prefetching to reduce document generation times
US8037076B2 (en) Federated indexing from hashed primary key slices
US11341202B2 (en) Efficient method of location-based content management and delivery
EP2073505B1 (en) Query routing in distributed database system
US8725862B1 (en) Server selection based upon time and query dependent hashing
CN111858496B (zh) 一种元数据的检索方法、装置、存储介质和电子设备
CN107783985B (zh) 一种分布式数据库查询方法、装置及管理系统
WO2011137189A1 (en) System and methods for mapping and searching objects in multidimensional space
CN113452808B (zh) 域名解析方法、装置、设备及存储介质
US9229960B2 (en) Database management delete efficiency
CN109766318B (zh) 文件读取方法及装置
CN112015820A (zh) 分布式图数据库实现的方法、系统、电子装置和存储介质
CN109254981B (zh) 一种分布式缓存系统的数据管理方法和装置
US10812322B2 (en) Systems and methods for real time streaming
CN111159219A (zh) 一种数据管理方法、装置、服务器及存储介质
CN111597259B (zh) 数据存储系统、方法、装置、电子设备及存储介质
CN110737747A (zh) 一种数据操作方法、装置及系统
CN105574010B (zh) 数据查询方法及装置
Bai et al. Collaborative personalized top-k processing
CN111400301A (zh) 一种数据查询方法、装置及设备
CN113094391B (zh) 一种支持缓存的数据汇总的计算方法、装置及设备
AU2002351296B2 (en) System and method for processing a request using multiple database units
JP7392168B2 (ja) Cdnにおけるurlリフレッシュ方法、装置、機器及びcdnノード
CN112559570A (zh) 缓存数据获取方法、装置、设备及存储介质
CN117539915B (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20220803

Address after: 250101 Inspur science and Technology Park, 1036 Inspur Road, hi tech Zone, Jinan City, Shandong Province

Applicant after: Inspur Genersoft Co.,Ltd.

Address before: 250101 Inspur science and Technology Park, 1036 Inspur Road, hi tech Zone, Jinan City, Shandong Province

Applicant before: SHANDONG INSPUR GENESOFT INFORMATION TECHNOLOGY Co.,Ltd.

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230331

Address after: A7-1, Enterprise Mansion, Dongba District, Intersection of Tangye West Road and Century Avenue, Licheng District, Jinan City, Shandong Province, 250000

Patentee after: Shandong Inspur Paisheng Network Technology Co.,Ltd.

Address before: 250101 Inspur science and Technology Park, 1036 Inspur Road, hi tech Zone, Jinan City, Shandong Province

Patentee before: Inspur Genersoft Co.,Ltd.