一种数据聚合方法和系统
技术领域
本说明书涉及计算机技术领域,尤其涉及一种数据聚合方法和系统。
背景技术
随着各种业务的不断发展,即便是相同领域内的业务,由于种类逐渐细化,而逐步趋向于多维度业务。比如,在金融领域中,储蓄业务、信贷业务本就具有不同业务维度(如存入、取出、定期、活期等),且分别都可以衍生细化出多种子业务,并在持续不断的发生变化。
针对这种多维度业务,通常需要根据不同的数据聚合需求,对业务数据进行聚合处理,比如,针对金融业务而言,可以根据不同的数据聚合需求,对财务核算数据进行数据聚合处理。这就需要在实现数据聚合的过程中,适应多维度的业务场景。所以亟需提供一种方案,针对当前的多维度业务,能够较为便捷的实现数据聚合,以便满足不同业务场景的数据聚合需求。
发明内容
本说明书实施例提供一种数据聚合方法和系统,用于较为便捷的实现数据聚合,从而满足不同业务场景的数据聚合需求。
为解决上述技术问题,本说明书实施例是这样实现的:
本说明书实施例采用下述技术方案:
第一方面,提出了一种基于集群运算框架的数据聚合方法,包括:
根据数据核算业务事件,按照对应的核算方式将所述数据核算业务事件中的业务维度转换为核算数据模型,并以列值的形式存储于非关系型数据库中;
根据数据聚合需求,从所述非关系型数据库中读取所述聚合需求对应的场景业务维度和核算业务维度,并基于所述场景业务维度对所述核算业务维度进行聚合,以形成所述场景业务维度对应的核算业务维度聚合结果。
第二方面,提出了一种基于集群运算框架的数据聚合系统,包括:核算存储单元以及数据聚合单元,其中,
所述核算存储单元,根据数据核算业务事件,按照对应的核算方式将所述数据核算业务事件中的业务维度转换为核算数据模型(核算数据结构),并以列值的形式存储于非关系型数据库中;
所述数据聚合单元,根据数据聚合需求,从所述非关系型数据库中读取所述聚合需求对应的场景业务维度和核算业务维度,并基于所述场景业务维度对所述核算业务维度进行聚合,以形成所述场景业务维度对应的核算业务维度聚合结果。
第三方面,提出了一种电子设备,该电子设备包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
根据数据核算业务事件,按照对应的核算方式将所述数据核算业务事件中的业务维度转换为核算数据模型,并以列值的形式存储于非关系型数据库中;
根据数据聚合需求,从所述非关系型数据库中读取所述聚合需求对应的场景业务维度和核算业务维度,并基于所述场景业务维度对所述核算业务维度进行聚合,以形成所述场景业务维度对应的核算业务维度聚合结果。
第四方面,提出了一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下操作:
根据数据核算业务事件,按照对应的核算方式将所述数据核算业务事件中的业务维度转换为核算数据模型,并以列值的形式存储于非关系型数据库中;
根据数据聚合需求,从所述非关系型数据库中读取所述聚合需求对应的场景业务维度和核算业务维度,并基于所述场景业务维度对所述核算业务维度进行聚合,以形成所述场景业务维度对应的核算业务维度聚合结果。
由以上实施例提供的技术方案可见,可以根据数据核算业务事件,按照对应的核算方式将该业务事件中的业务维度转换为核算数据模型,并以列值的形式存储于非关系型数据库中;当出现数据聚合需求时,可以从非关系型数据库中读取聚合需求对应的场景业务维度以及核算业务维度,并基于该场景业务维度对读取的核算业务维度进行聚合,以便形成该场景业务维度对应的核算业务维度聚合结果。
也即,在出现数据核算业务事件时,进行核算并将核算结果以列值的形式存储在非关系型数据库中;当出现数据聚合需求时,从非关系型数据库中读取对应的场景业务维度和核算业务维度,并对核算业务维度进行聚合,以满足该数据聚合需求。
由于以列值形式存储的非关系型数据库具有高可扩展性、适合存储和处理海量稀疏数据的特性,所以针对多维度业务的数据核算业务事件,可以将核算结果灵活方便的进行存储,从而可以基于非关系型数据库较为便捷的实现数据聚合,以便满足不同业务场景的数据聚合需求。
附图说明
为了更清楚地说明本说明书实施例或现有的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书实施例提供的数据聚合方法的流程示意图;
图2为本说明书实施例提供的财务核算场景的示意图;
图3为本说明书实施例提供的财务核算场景中多维列值设计的非关系型数据库的示意图;
图4为本说明书实施例提供的基于Spark集群运算框架实现数据聚合的示意图;
图5为本说明书实施例提供的数据聚合系统的结构图;
图6为本说明书实施例提供的基于Spark集群运算框架实现数据聚合的示意图;
图7为本说明书实施例提供的电子设备的结构示意图。
具体实施方式
为使本说明书的目的、技术方案和优点更加清楚,下面将结合具体实施例及相应的附图对本说明书的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书保护的范围。
以下结合附图,详细说明本说明书中各实施例提供的技术方案。
实施例1
本说明书实施例提供一种数据聚合方法,针对多维度业务,可以用于够较为便捷的实现数据聚合,从而满足不同业务场景的数据聚合需求。具体流程示意图如图1所示,包括:
步骤102:根据数据核算业务事件,按照对应的核算方式将该数据核算业务事件中的业务维度转换为核算数据模型,并以列值的形式存储于非关系型数据库中。
数据核算业务事件可以是指需要执行数据核算的业务事件。在金融领域中,可以是需要进行财务数据核算的业务事件,而在商业领域中,可以是需要进行交易数据核算的业务事件等。数据核算业务事件中可以包含一个或多个业务维度,比如财务数据核算的业务事件中,可以包括多个财务业务维度等。具体比如,在本步骤前,某个用户提交了一个储蓄业务请求,且根据该请求,生成了一个数据核算业务事件,该事件中就可以包括储蓄类型、金额、币种等多个业务维度。
不同的数据核算业务事件中通常可以包含不同的业务维度,比如针对储蓄业务的数据核算业务事件,可以包括储蓄账户、金额、币种等业务维度;针对信贷业务而言,还可以包括期限、还款类型等业务维度;而针对基金业务而言,还可以包括基金类型、期限类型等。所以基于不同业务维度的数据核算业务事件,也通常对应不同的核算方式。比如储蓄业务、信贷业务、基金业务的核算方式均可以不同;又如全款购买与分期购买,核算方式也可以不同。这里的核算方式可以是指,在对数据核算业务事件进行数据核算时,需要遵守的预定核算规则。
根据预设的转换方式,可以按照对应的核算方式,将数据核算业务事件中的业务维度转换为核算数据模型,也即对数据核算业务事件执行数据核算操作,从而得到数据核算结果。核算数据模型可以具有特定的核算数据结构,比如其中可以包含多个字段,用于表示不同的业务维度以及数据核算结果。在经过核算数据模型的转换后,就可以将核算结果以列值的形式存储于非关系型数据库中。
这里,非关系型数据库(NoSQL,Not Only SQL),是对不同于传统的关系数据库的数据库管理系统的统称,从存储结构上进行分类,非关系型数据库有多种,本说明书中可以采用列式存储的非关系型数据库,即以列值形式的存储架构进行数据存储的数据库。其具有较高的装载速度,主要适合于批量数据处理和便捷查询,具有扩展性强,适合存储和处理海量稀疏数据的特性。
列式存储的非关系型数据库可以有HBase和Cassandra等,在财务核算的应用场景中,通常可以采用HBase非关系型数据库,其具有高可用性、适合海量数据、以及可以具有很大的瞬间写入量。当然在其他应用场景中,也可以采用Cassandra非关系型数据库。在实际应用中,还可以在列式存储的非关系型数据库中结合键值对(key-value)的存储方式,对核算数据进行存储。
在前文已经介绍,不同的数据核算业务事件之间通常包含不同的业务维度,所以,在本步骤中的非关系型数据库,可以根据不同的业务维度预先设置不同的列值存储组合。比如,针对非关系型数据库是以列值的形式进行存储,所以可以根据新的业务维度,对数据库中的列项进行扩展。实际中,在日常的维护、以及出现新的业务后,为数据库中不断更新不同的列值存储组合均可。
在前文已经介绍,可以按照对应的核算方式,根据预设的转换方式将数据核算业务事件中的业务维度转换为核算数据模型。而在实际应用中,也可以先按照预先设定的转换方式,根据数据核算业务事件中的业务维度,将数据核算业务事件转换为业务数据模型,该业务数据模型可以起到数据收集的作用,目的可以是将业务维度转换为便于核算的格式,此后,再按照上述转换方式,将业务数据模型转换为核算数据模型,以便由核算数据模型得到最终的核算结果,并以列值的形式存储于非关系型数据库中。
需要说明的是,在执行模型转换时,将数据核算业务事件转换为业务数据模型的过程,可以以业务维度中的具体内容作为转换的依据,而将业务数据模型装换为核算数据模型时,还可以添加必要的核算信息,比如在执行财务核算时,还需要添加必要的会计科目信息、流水信息、日期信息等。
具体在实际的财务核算场景中,如图2所示,为财务核算场景的示意图,其中,财务数据核算业务事件中可以包含产品码、事件码、金额、币种等多个业务维度,HBase非关系型数据库中可以预存有一个或多个核算分录,用于存储财务核算数据。首先,可以按照预先设定的转换方式,将该业务事件转换为业务数据模型,比如,可以根据业务维度生成包含如图2中的产品码、事件码以及业务要素的业务数据模型。此后,可以再根据预设的转换方式,将业务数据模型转换为核算数据模型。如图2中所示,核算数据模型中可以包含至少一种核算方案,而核算方案中可以对应至少一个核算分录规则,所以就可以在将业务数据模型进行转换时,依据核算分录规则,对业务事件中的各业务维度进行核算,并将核算结果存储在对应的核算分录中。这里的核算分录,在财务核算场景中也可以称为会记分录,是一种可以根据记账的要求,对财务核算业务事件确定出相对应的双方账户及其金额。也即将数据核算业务事件中的业务维度转换为核算数据模型,并以列值的形式存储于非关系型数据库中的过程,在实际的财务核算场景中,就可以是将数据核算业务事件转换为对应的核算分录的过程。
如图3所示,为财务核算场景中多维列值设计的非关系型数据库的示意图,具体可以利用键值对的方式,在列值中进行存储。比如,在该数据库中,第一列可以是核算主体以及对应的值,第二列可以是币种以及对应的值,等。由于非关系型数据库以列值的方式存储,所以可以为每条核算数据对应已有的业务维度进行存储。这里,每个值可以对应一个预设的标识码,可以用于关联对应的值,比如以币种为例,156可以指人名币、111可以指美元等。
在一种实施方式中,为了对数据核算业务事件实现高效的核算存储,本说明书提出的方法还可以基于集群运算框架实现。则根据数据核算业务事件,按照对应的核算方式将该数据核算业务事件中的业务维度转换为核算数据模型,并以列值的形式存储于非关系型数据库中,可以包括:根据数据核算业务事件,通过集群运算框架中的驱动节点,按照数据核算业务事件中的业务维度以及对应的核算方式,创建核算存储任务,并分配至集群运算框架中的执行节点;通过该执行节点,按照核算存储任务将业务维度转换为核算数据模型,并以列值的形式存储于非关系型数据库中。
具体地,集群运算框架,或称分布式运算框架,能够较为高效的进行数据处理。所以可以在集群运算框架中至少预先创建驱动节点以及执行节点,在实际应用中,驱动节点和执行节点均可以有多个,而一般情况下,驱动节点可以有一个,而执行节点可以有多个。在接收到数据核算业务事件后,驱动节点则可以先按照业务维度以及对应的核算方式,确定出对应的核算存储任务,并分配至集群运算框架中的执行节点。也即,以业务维度以及对应的核算方式为依据,确定出如何将数据核算业务事件转换为核算数据模型,以及如何在非关系型数据库中将核算结果进行数据存储。
由于该非关系型数据库是以列值的形式进行存储,所以在创建核算存储任务时,还可以确定出将要存储的列位置。在创建完成核算存储任务后,驱动节点就可以将数据核算业务事件以及对应的核算存储任务,分配给执行节点,由执行节点完成数据核算以及数据存储的操作。在实际应用中,驱动节点在创建完核算存储任务后,可以根据多个执行节点的负载情况,进行基于负载均衡的协调分配。
在实际应用中,集群运算框架可以有多种,比如Spark和Hadoop等,在本方法中,由于Spark集群运算框架在数据处理过程中,可以将中间输出结果保存在内存中,因此能较好的适用于大规模数据处理,所以在本方法中,可以优先采用Spark集群运算框架。
步骤104:根据数据聚合需求,从非关系型数据库中读取该聚合需求对应的场景业务维度和核算业务维度,并基于场景业务维度对核算业务维度进行聚合,以形成该场景业务维度对应的核算业务维度聚合结果。
具体地,数据聚合可以是对数据进行读取、归类、统计的过程。在进行数据聚合时,通常会有对应的数据聚合需求。比如,在金融领域中,需要对每日的财务数据进行聚合,以便统计出每日的账目,而在实际中还可以以月和年为周期,进行数据聚合。又如,在商业领域中,需要定期对交易数据进行聚合,以便定期统计出交易数据。
数据聚合需求中,可以包含场景业务维度以及核算业务维度。这里,场景业务维度可以表示数据聚合场景对应的业务维度,而核算业务维度可以是核算数据对应的业务维度。不同的聚合需求,也通常包含不同的场景业务维度,以及核算业务维度。比如,在金融领域,一般都会存在存款、贷款、基金等多个业务,不同的数据聚合需求对于场景业务维度的要求通常不同,具体存款类聚合需求需要关注的场景业务维度包括核算主体、币种、产品等,则核算业务维度就可以是核算主体、币种、产品等业务维度对应的各核算数据;贷款类聚合需求还关注贷款的期限和还款类型;基金类聚合需求更关注基金类别等,对于上述的多维数据聚合需求,基于HBase的列值存储方式,可以更好的适应不同场景业务维度。
据此就可以根据数据聚合需求,从非关系型数据库中读取该聚合需求对应的场景业务维度和核算业务维度。由于本方法中的非关系型数据库是以列式存储,所以可以较为便捷地进行查询读取。
在读取到场景业务维度和核算业务维度后,则可以基于场景业务维度对核算业务维度进行聚合,以形成该场景业务维度对应的核算业务维度聚合结果。具体地,基于场景业务维度对核算业务维度进行聚合就可以是对核算数据进行归类统计的过程,比如统计出总存款金额、总取款金额等。
需要说明的是,本步骤中的聚合需求,可以是较为简单的数据加成,比如上文举例的统计总存款金额、总取款金额等。还可以是根据读取到的核算业务维度进行较为复杂的数据处理等,比如根据某些核算业务维度计算某些数据指标,预测某些数据趋向等。
在前述步骤中,为了实现高效的核算存储,可以基于集群运算框架实现。则本步骤中,也可以基于集群运算框架实现,则在一种实施方式中,为了实现高效的数据聚合,根据数据聚合需求,从非关系型数据库中读取该聚合需求对应的场景业务维度和核算业务维度,并基于场景业务维度对核算业务维度进行聚合,以形成该场景业务维度对应的核算业务维度聚合结果,可以包括:根据数据聚合需求,通过集群运算框架中的驱动节点,创建包含与聚合需求对应的场景业务维度和核算业务维度的数据聚合任务,并分配至集群运算框架中的执行节点;通过该执行节点,从非关系型数据库中读取该聚合需求对应的场景业务维度和核算业务维度,并基于该场景业务维度对所述核算业务维度进行聚合,以形成该场景业务维度对应的核算业务维度聚合结果。
与前述步骤类似地,也可以先在集群运算框架中创建驱动节点和执行节点,而在实际应用中,核算存储过程与数据聚合过程完全可以共用同一套集群运算框架中的驱动节点和执行节点。具体地,驱动节点可以根据数据聚合需求中的场景业务维度和核算业务维度,创建对应的数据聚合任务,该聚合任务中可以包括读取子任务,以及聚合子任务,并分配至对应的执行节点中。该执行节点则可以先根据读取子任务,从非关系型数据库中读取该聚合需求对应的场景业务维度和核算业务维度,并根据聚合子任务,基于该场景业务维度对所述核算业务维度进行聚合。根据前文的介绍,该聚合子任务,可以是较为简单的数据加成,也可以是较为复杂的数据处理等。
在前文已经介绍,可以定期进行数据聚合,所以在实际应用中,驱动节点也可以根据预设的周期性数据聚合需求,定时创建包含与聚合需求对应的场景业务维度和核算业务维度的数据聚合任务,并分配至集群运算框架中的执行节点,以便执行节点可以定时执行数据聚合操作。
如图4所示,为基于Spark集群运算框架实现数据聚合的示意图,其中,Spark驱动节点可以创建核算存储任务,并分配至Spark执行节点,由Spark执行节点将业务维度转换为核算数据模型,并以列值的形式存储于HBase非关系型数据库中。另外的,Spark驱动节点还可以创建数据聚合任务,并分配至Spark执行节点,由Spark执行节点从HBase非关系型数据库中读取该聚合需求对应的场景业务维度和核算业务维度,并进行聚合,以形成该场景业务维度对应的核算业务维度聚合结果。在实际中,两个任务可以是独立执行的,互不干扰,而执行的顺序可以是各为先后,而出于Spark集群运算框架的并发处理能力,两任务也可以同时执行,具体地协调分配,则可以由Spark驱动节点进行决策。
在实际的财务核算场景中,可以根据场景业务维度对应的核算业务维度聚合结果,生成各种财务统计数据,比如可以生成监管报告,账目报告等。
而在一种实施方式中,该方法还可以包括:将场景业务维度对应的核算业务维度聚合结果存储在非关系型数据库中。具体地,为了可以将聚合结果进行存储,也可以将场景业务维度对应的核算业务维度聚合结果进行存储,比如可以在HBase非关系型数据库创建聚合结果表,该表中就可以存储每日的账目统计结果。
由以上实施例提供的技术方案可见,可以根据数据核算业务事件,按照对应的核算方式将该业务事件中的业务维度转换为核算数据模型,并以列值的形式存储于非关系型数据库中;当出现数据聚合需求时,可以从非关系型数据库中读取聚合需求对应的场景业务维度以及核算业务维度,并基于该场景业务维度对读取的核算业务维度进行聚合,以便形成该场景业务维度对应的核算业务维度聚合结果。
由于以列值形式存储的非关系型数据库具有高可扩展性、适合存储和处理海量稀疏数据的特性,所以针对多维度业务的数据核算业务事件,可以将核算结果灵活方便的进行存储,从而可以基于非关系型数据库较为便捷的实现数据聚合,以便满足不同业务场景的数据聚合需求。
实施例2
基于相同的构思,本说明书实施例2提供了一种数据聚合系统,可以用于够较为便捷的实现数据聚合,从而满足不同业务场景的数据聚合需求。该系统的结构示意图如图5所示,包括:核算存储单元202以及数据聚合单元204,其中,
核算存储单元202,可以根据数据核算业务事件,按照对应的核算方式将数据核算业务事件中的业务维度转换为核算数据模型,并以列值的形式存储于非关系型数据库中;
数据聚合单元204,可以根据数据聚合需求,从非关系型数据库中读取聚合需求对应的场景业务维度和核算业务维度,并基于场景业务维度对核算业务维度进行聚合,以形成场景业务维度对应的核算业务维度聚合结果。
在一种实施方式中,核算存储单元202,可以
根据数据核算业务事件,通过集群运算框架中的驱动节点,按照数据核算业务事件中的业务维度以及对应的核算方式,创建核算存储任务,并分配至集群运算框架中的执行节点;
通过执行节点,按照核算存储任务将业务维度转换为核算数据模型,并以列值的形式存储于非关系型数据库中。
在一种实施方式中,数据聚合单元204,还可以
将场景业务维度对应的核算业务维度聚合结果存储在非关系型数据库中。
在一种实施方式中,非关系型数据库根据不同的业务维度预先设置不同的列值存储组合。
在一种实施方式中,非关系型列式存储数据库可以包括HBase非关系型数据库。
在一种实施方式中,集群运算框架可以包括Spark集群运算框架。
如图6所示,为实现数据聚合一种示意图,图中可以包含多个业务系统,以及基于Spark集群运算框架的数据聚合系统(简称Spark聚合系统)。其中,业务系统可以根据用户的业务请求,生成数据核算业务事件,也可以在业务系统中,预先配置不同的数据聚合需求,并发送给Spark聚合系统,此后,Spark驱动节点便可以根据数据核算业务事件,以及数据聚合需求,创建核算存储任务、以及数据聚合任务,并可以根据负载均衡,分别分配给Spark执行节点,由Spark执行节点分别执行核算存储任务、以及数据聚合任务,将数据核算结果以列值的形式存储于非关系型数据库HBase非关系型数据库中,以及形成场景业务维度对应的核算业务维度聚合结果。在实际应用中,Spark聚合系统还可以根据场景业务维度对应的核算业务维度聚合结果,执行(向相关行政部门提供)监管送报的服务,或根据聚合结果生成报表的操作,或对聚合结果进行存储的操作。
由以上实施例提供的系统可见,可以根据数据核算业务事件,按照对应的核算方式将该业务事件中的业务维度转换为核算数据模型,并以列值的形式存储于非关系型数据库中;当出现数据聚合需求时,可以从非关系型数据库中读取聚合需求对应的场景业务维度以及核算业务维度,并基于该场景业务维度对读取的核算业务维度进行聚合,以便形成该场景业务维度对应的核算业务维度聚合结果。
由于以列值形式存储的非关系型数据库具有高可扩展性、适合存储和处理海量稀疏数据的特性,所以针对多维度业务的数据核算业务事件,可以将核算结果灵活方便的进行存储,从而可以基于非关系型数据库较为便捷的实现数据聚合,以便满足不同业务场景的数据聚合需求。
图7是本说明书的一个实施例电子设备的结构示意图。在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成数据聚合系统。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
根据数据核算业务事件,按照对应的核算方式将所述数据核算业务事件中的业务维度转换为核算数据模型,并以列值的形式存储于非关系型数据库中;
根据数据聚合需求,从所述非关系型数据库中读取所述聚合需求对应的场景业务维度和核算业务维度,并基于所述场景业务维度对所述核算业务维度进行聚合,以形成所述场景业务维度对应的核算业务维度聚合结果。
上述如本说明书图5所示实施例提供的数据聚合系统执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本说明书实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
结合本说明书实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该电子设备还可执行图5所示实施例提供的数据聚合系统在图7所示实施例的功能,本说明书实施例在此不再赘述。
本说明书实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的电子设备执行时,能够使该电子设备执行图5所示实施例中数据聚合系统执行的方法,并具体用于执行:
根据数据核算业务事件,按照对应的核算方式将所述数据核算业务事件中的业务维度转换为核算数据模型,并以列值的形式存储于非关系型数据库中;
根据数据聚合需求,从所述非关系型数据库中读取所述聚合需求对应的场景业务维度和核算业务维度,并基于所述场景业务维度对所述核算业务维度进行聚合,以形成所述场景业务维度对应的核算业务维度聚合结果。
上述实施例阐明的系统、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上系统时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本说明书的实施例可提供为方法、系统、或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的系统。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令系统的制造品,该指令系统实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。