基于区块链的报表生成方法、装置、设备及可读存储介质与流程

文档序号:17643311发布日期:2019-05-11 00:49阅读:282来源:国知局
基于区块链的报表生成方法、装置、设备及可读存储介质与流程

本发明涉及区块链技术领域,特别是涉及一种基于区块链的报表生成方法、装置、设备及可读存储介质。



背景技术:

近几年,随着数据处理技术的迅速发展,区块链技术在全球迅速兴起。区块链是比特币的一个重要概念,2008年由钟本聪第一次提出,在随后的几年中,区块链成为了电子货币比特币的核心组成部分。简单理解,区块链中的“区块”指的是信息块,这些信息块彼此互互连,形成的信息块链条被称为区块链。区块链是一个分布式账本,一种通过去中心化、去信息的方式集体维护一个可靠数据库的技术方案,由于区块链具有不可篡改的特性,因此,被广泛应用于各个企业的数据存储中,并且企业基于区块链生成数据统计报表。

相关技术中,企业在生成数据统计报表时,通常需要将区块链中的数据对应保存到关系型数据中,并在关系型数据中提取待统计数据,基于待统计数据,完成数据报表的统计。

在实现本发明的过程中,发明人发现相关技术至少存在以下问题:

由于区块链和关系型数据均是以区块的形式存储数据,因此,在进行数据报表的统计时,对数据的查看基本上都是按块或交易来查看,如果对特定属性的数据进行统计,具有较大的数据统计和分析的难度,导致生成数据统计报表的过程繁琐。



技术实现要素:

有鉴于此,本发明提供了一种基于区块链的报表生成方法、装置、设备及可读存储介质,主要目的在于解决目前具有较大的数据统计和分析的难度,导致生成数据统计报表的过程繁琐的问题。

依据本发明第一方面,提供了一种基于区块链的报表生成方法,该方法包括:

接收用户的报表生成请求,所述报表生成请求中携带目标数据属性,所述报表生成请求用于请求针对区块链中的数据标识指示的业务数据所生成的报表;

根据所述目标数据属性的目标属性类型,对状态数据库进行整理,生成所述目标属性类型的统计视图,所述状态数据库用于存储所述区块链中的数据标识指示的业务数据;

基于所述目标数据属性,在所述统计视图中提取目标数据,所述目标数据为所述统计视图中数据属性符合所述目标数据属性的要求的数据组;

获取预设模板,按照所述预设模板对所述目标数据进行整理,生成数据统计报表。

在另一个实施例中,所述根据所述目标数据属性的目标属性类型,对状态数据库进行整理,生成所述目标属性类型的统计视图,包括:

确定所述目标数据属性的目标属性类型;

分别确定所述状态数据库中每个数据与所述目标属性类型匹配的数据属性,将所述状态数据库中所述数据属性一致的至少一个数据整理为一个数据组,得到多个数据组;

将所述多个数据组作为所述目标属性类型的统计视图。

在另一个实施例中,所述基于所述目标数据属性,在所述统计视图中提取目标数据,包括:

分别确定所述统计视图中至少一个数据组的至少一个数据属性,所述统计视图根据所述至少一个数据属性生成,所述至少一个数据属性的属性类型一致;

获取所述至少一个数据属性中与所述目标数据属性一致的数据属性对应的目标数据组,将所述目标数据组作为所述目标数据。

在另一个实施例中,所述方法还包括:

当接收到数据修改请求时,在所述数据修改请求中提取修改数据,确定所述修改数据的修改数据属性;

将所述修改数据与所述修改数据属性对应存储至所述状态数据库中。

在另一个实施例中,所述方法还包括:

检测是否存在与所述修改数据属性对应的待修改统计视图;

如果存在与所述修改数据属性对应的所述待修改统计视图,则获取所述待修改统计视图,将所述修改数据与所述修改数据属性对应写入所述待修改统计视图;

如果不存在与所述修改数据属性对应的所述待修改统计视图,则结束当前流程。

在另一个实施例中,所述方法还包括:

当接收到数据查询请求时,在所述数据查询请求中提取待查询数据属性;

确定所述待查询数据属性的待查询属性类型,确定所述待查询数据类型指示的待查询统计视图;

在所述待查询统计视图中提取所述待查询数据属性指示的查询数据,返回所述查询数据。

依据本发明第二方面,提供了一种基于区块链的报表生成装置,该装置包括:

接收模块,用于接收用户的报表生成请求,所述报表生成请求中携带目标数据属性,所述报表生成请求用于请求针对区块链中的数据标识指示的业务数据所生成的报表;

整理模块,用于根据所述目标数据属性的目标属性类型,对状态数据库进行整理,生成所述目标属性类型的统计视图,所述状态数据库用于存储所述区块链中的数据标识指示的业务数据;

第一提取模块,用于基于所述目标数据属性,在所述统计视图中提取目标数据,所述目标数据为所述统计视图中数据属性符合所述目标数据属性的要求的数据组;

生成模块,用于获取预设模板,按照所述预设模板对所述目标数据进行整理,生成数据统计报表。

在另一个实施例中,所述整理模块,包括:

确定子模块,用于确定所述目标数据属性的目标属性类型;

整理子模块,用于分别确定所述状态数据库中每个数据与所述目标属性类型匹配的数据属性,将所述状态数据库中所述数据属性一致的至少一个数据整理为一个数据组,得到多个数据组;

存储子模块,用于将所述多个数据组作为所述目标属性类型的统计视图。

在另一个实施例中,所述第一提取模块,包括:

确定子模块,用于分别确定所述统计视图中至少一个数据组的至少一个数据属性,所述统计视图根据所述至少一个数据属性生成,所述至少一个数据属性的属性类型一致;

存储子模块,用于获取所述至少一个数据属性中与所述目标数据属性一致的数据属性对应的目标数据组,将所述目标数据组作为所述目标数据。

在另一个实施例中,所述装置还包括:

确定模块,用于当接收到数据修改请求时,在所述数据修改请求中提取修改数据,确定所述修改数据的修改数据属性;

存储模块,用于将所述修改数据与所述修改数据属性对应存储至所述状态数据库中。

在另一个实施例中,所述装置还包括:

检测模块,用于检测是否存在与所述修改数据属性对应的待修改统计视图;

写入模块,用于如果存在与所述修改数据属性对应的所述待修改统计视图,则获取所述待修改统计视图,将所述修改数据与所述修改数据属性对应写入所述待修改统计视图;

结束模块,用于如果不存在与所述修改数据属性对应的所述待修改统计视图,则结束当前流程。

在另一个实施例中,所述装置还包括:

第二提取模块,用于当接收到数据查询请求时,在所述数据查询请求中提取待查询数据属性;

获取模块,用于获取所述待查询数据属性的待查询属性类型,确定所述待查询数据类型指示的待查询统计视图;

查询模块,用于在所述待查询统计视图中提取所述待查询数据属性指示的查询数据,返回所述查询数据。

依据本发明第三方面,提供了一种设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述方法的步骤。

依据本发明第四方面,提供了一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的方法的步骤。

借由上述技术方案,本发明提供的一种基于区块链的报表生成方法、装置、设备及可读存储介质,与目前按块或交易来查看并统计数据的方式相比,本发明根据报表请求中携带的目标数据属性对状态数据库中的数据进行统计,生成目标数据属性的统计视图,使得可以直接基于统计视图实现对目标数据属性进行的数据的提取,并直接生成数据统计报表,降低了数据统计和分析的难度,简化了生成数据统计报表的过程。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了本发明实施例提供的一种基于区块链的报表生成方法流程示意图;

图2示出了本发明实施例提供的一种基于区块链的报表生成系统架构图;

图3a示出了本发明实施例提供的一种基于区块链的报表生成方法流程示意图;

图3b示出了本发明实施例提供的一种基于区块链的报表生成方法流程示意图;

图3c示出了本发明实施例提供的一种基于区块链的报表生成方法流程示意图;

图4a示出了本发明实施例提供的一种基于区块链的报表生成装置的结构示意图;

图4b示出了本发明实施例提供的一种基于区块链的报表生成装置的结构示意图;

图4c示出了本发明实施例提供的一种基于区块链的报表生成装置的结构示意图;

图4d示出了本发明实施例提供的一种基于区块链的报表生成装置的结构示意图;

图4e示出了本发明实施例提供的一种基于区块链的报表生成装置的结构示意图;

图4f示出了本发明实施例提供的一种基于区块链的报表生成装置的结构示意图;

图5示出了本发明实施例提供的一种设备的结构示意图。

具体实施方式

下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。

本发明实施例提供了一种基于区块链的报表生成方法,可以直接根据报表请求中携带的目标数据属性对状态数据库中的数据进行统计,生成目标数据属性的统计视图,使得可以直接基于统计视图实现数据的提取,并直接生成数据统计报表,达到了降低了数据统计和分析的难度,简化了生成数据统计报表的过程的目的,如图1所示,该方法包括:

101、接收用户的报表生成请求,报表生成请求中携带目标数据属性,报表生成请求用于请求针对区块链中的数据标识指示的业务数据所生成的报表。

在本发明实施例中,由于不同的用户对数据统计报表的需求是不同的,因此,为了根据用户的需求生成数据统计报表,用户的报表生成请求中需要携带目标数据属性,这样,报表生成系统便可以接收到携带目标数据属性的报表生成请求。

102、根据目标数据属性的目标属性类型,对状态数据库进行整理,生成目标属性类型的统计视图,状态数据库用于存储区块链中的数据标识指示的业务数据。

在本发明实施例中,由于目标数据属性仅为目标数据属性所述的属性类型中的某一组数据,因此,可以根据目标数据属性的目标属性类型,对状态数据库进行整理,从而生成该目标属性类型的统计视图,以便后续在目标属性类型的统计视图中可以直接提取到目标数据属性指示的那一组数据。其中,目标属性类型可以采用关键字提取的方法在目标数据属性中提取出来,也可以采用词义总结的方式对目标数据属性进行词义总结获取到,本发明实施例对确定目标数据属性的目标属性类型的方式不进行具体限定。

103、基于目标数据属性,在统计视图中提取目标数据,目标数据为统计视图中数据属性符合目标数据属性的要求的数据组。

在本发明实施例中,当生成了目标属性类型的统计视图后,该统计视图中包括的数据便均是采用该目标属性类型标准统计得到的,因此,在统计视图生成后,便可以基于目标数据属性,在统计视图中提取数据属性符合目标数据属性的要求的数据组,并将该数据组作为目标数据。

104、获取预设模板,按照预设模板对目标数据进行整理,生成数据统计报表。

在本发明实施例中,为了保证生成的数据统计报表是满足对数据统计报表的要求的,避免生成的数据统计报表无法正常使用,报表生成系统中可以设置预设模板,以便按照预设模板对目标数据进行整理,进而生成数据统计报表。其中,预设模板可以为一个或者多个,并为用户提供模板选择服务,用户可以选择希望使用的预设模板,使得报表生成系统可以按照用户选择的预设模板生成数据统计报表,保证生成的数据统计报表是满足用户需求的。

本发明实施例提供的方法,根据报表请求中携带的目标数据属性对状态数据库中的数据进行统计,生成目标数据属性的统计视图,使得可以直接基于统计视图实现对目标数据属性进行的数据的提取,并直接生成数据统计报表,降低了数据统计和分析的难度,简化了生成数据统计报表的过程。

在对本发明进行详细的解释说明之前,先对本发明涉及的区块链系统进行简单介绍。

参见图2,区块链系统是指用于进行节点与节点之间数据共享的系统,该区块链系统可为hyperledgerfabric(超级账本构造)结构的区块链系统,该区块链系统中包括多个节点,节点的形式可为org(organizations,组织)。为了保证区块链系统内的信息互通,区块链系统中的每个节点之间可以存在信息连接,节点之间可以通过上述信息连接进行信息传输。例如,当区块链系统中的任意节点接收到数据时,区块链系统中的全部节点便将数据作为区块链系统中的数据进行存储,使得区块链系统中全部节点上存储的数据均一致。其中,每个节点均可以搭载报表生成系统,用户可以基于节点中的报表生成系统实现对数据的统计,进而生成数据统计报表。

本发明实施例提供了一种基于区块链的报表生成方法,可以直接根据报表请求中携带的目标数据属性对状态数据库中的数据进行统计,生成目标数据属性的统计视图,使得可以直接基于统计视图实现数据的提取,并直接生成数据统计报表,达到了降低了数据统计和分析的难度,简化了生成数据统计报表的过程的目的,如图3a所示,该方法包括:

301、接收用户的报表生成请求。

在本发明实施例中,报表生成系统支持生成多种不同类型的报表,因此,为了明确用户生成报表的意愿,保证给用户生成想要的数据统计报表,报表生成请求中需要携带目标数据属性,以便后续根据目标数据属性生成关于该目标数据属性的数据统计报表。

其中,用户可以通过下载报表生成系统的客户端来使用报表生成系统所提供的服务。客户端可以提供报表生成入口,当检测到用户触发该报表生成入口时,显示包括目标数据属性输入框的报表生成页面,并在检测到用户对该报表生成页面确定时,确定接收到用户的报表生成请求,获取用户在目标数据属性输入框中输入的目标数据属性。具体地,目标数据属性可为人物a、时间b或者地点c等。

302、根据目标数据属性的目标属性类型,对状态数据库进行整理,生成目标属性类型的统计视图。

在本发明实施例中,根据报表生成请求中携带的目标数据属性的可知用户希望生成的数据统计报表是关于该目标数据属性的,为了便于提取符合目标数据属性的数据,从而生成数据统计报表,可以确定目标数据属性的目标属性类型,并采用该目标属性类型对区块链的状态数据库进行整理,从而生成以该目标属性类型为标准的统计视图。

其中,状态数据库中存储区块链包括的数据标识指示的业务数据。状态数据库可为couchdb(clusterofunreliablecommodityhardwaredatabase,开源的面向文档的数据库管理系统),在hyperledgerfabric结构的区块链中,区块链的区块中存储用于指示数据的数据标识,也即数据的key(标识),并以状态数据库来存储与业务相关的数据。由于区块链的区块中仅存储数据标识,而具体的数据均存储在状态数据库中,因此,在进行数据统计时,无需在每个区块中进行数据统计,直接对状态数据库进行数据的整理,为状态数据库创建统计视图即可。具体地,统计视图可为view(视图),统计视图的功能是将相同属性的数据进行统计,从而便于后续进行数据提取。在对状态数据库进行整理,生成目标属性类型的统计视同时,可以通过下述步骤一至步骤三实现。

步骤一、确定目标数据属性的目标属性类型。

其中,为了后续可以直接基于创建的统计视图提取到与目标数据属性匹配的数据,在生成统计视图时,需要根据目标数据属性的目标属性类型生成,因此,需要确定目标数据属性的目标属性类型。在确定目标数据属性的目标属性类型时,可以提取目标数据属性中的关键字,将该关键字作为该目标数据属性的目标属性类型。例如,如果目标数据属性为人物a,则可以提取该目标数据属性的关键字“人物”作为目标属性类型;如果目标数据属性为时间b,则可以提取该目标数据属性的关键字“时间”作为目标属性类型;如果目标数据属性为地点c,则可以提取该目标数据属性的关键字“地点”作为目标属性类型。

步骤二、分别确定状态数据库中每个数据与目标属性类型匹配的数据属性,将状态数据库中数据属性一致的至少一个数据整理为一个数据组,得到多个数据组。

当确定了目标数据属性的目标属性类型后,采用该目标属性类型对状态数据库中的数据进行统计。在对状态数据库进行数据统计时,分别确定状态数据库中每个数据与目标属性类型匹配的数据属性,将状态数据库中数据属性一致的至少一个数据整理为一个数据组,从而得到多个数据组。例如,如果目标属性类型为任务,则可按照人物,将人物a、人物b和人物c在状态数据库中的全部数据分别统计出来,分别得到人物a、人物b和人物c的数据组;如果目标属性类型为时间,则可按照时间,将时间d、时间e和时间f在状态数据库中的全部数据分别统计出来,分别得到时间d、时间e和时间f的数据组;如果目标属性类型为地点,则可按照时间,将地点g、地点h和地点i在状态数据库中的全部数据分别统计出来,分别得到地点g、地点h和地点i的数据组。

步骤三、将多个数据组作为目标属性类型的统计视图。

在得到多个数据组后,便可以将多个数据组作为该目标属性类型的统计视同,以便后续基于该统计视图提取匹配目标数据属性的目标数据。

需要说明的是,在实际应用的过程中,上述步骤一至步骤三所示的统计视图的生成过程可以在状态数据库创建时即刻生成,无需等接收到报表生成请求时生成。由于在状态数据库创建时生成统计视图时,并没有用户提供目标数据属性,因此,可以设置预设属性类型,并基于该预设属性类型生成统计视图,使得后续在进行数据统计时,如果目标属性类型与预设属性类型一致,则可以直接获取统计视图进行数据统计,从而缩短后续生成数据统计报表的时间。其中,预设属性类型可为一个或多个,如果预设属性类型为多个,则可以分别为每一个预设属性类型生成统计视图,从而生成多个统计视图,将预设属性类型与统计视图一一对应存储。本发明实施例对生成统计视图的时机不进行具体限定。

另外,目标数据属性可能并非一个数据属性,而是有两个或两个以上的数据属性组成,例如,目标数据属性可能为人物a和时间段j,这样,在确定目标属性类型时,可以选择任意数据属性,将该数据属性的属性类型作为目标属性类型,并在生成统计视图时,仅生成选取的目标属性类型的统计视图即可,无需再为其他的数据属性生成统计视图。本发明实施例对目标数据属性包括的数据属性的个数不进行具体限定。

303、分别确定统计视图中至少一个数据组的至少一个数据属性,获取至少一个数据属性中与目标数据属性一致的数据属性对应的目标数据组,将目标数据组作为目标数据。

在本发明实施例中,目标数据为统计视图中数据属性符合目标数据属性的要求的数据组。由于至少一个数据组均是根据目标属性类型生成的,仅是数据属性不同,因此,在生成统计视图后,分别确定统计视图中至少一个数据组的至少一个数据属性,并在至少一个数据属性中获取与目标数据属性一致的数据属性对应的目标数据组,将该目标数据组作为目标数据。

例如,如果目标数据属性为人物a,则在关于人物的至少一个数据组中提取关于人物a的数据组作为目标数据。在实际应用的过程中,由于目标数据属性可能不止一个,也即可能为两个或两个以上,例如,人物a和时间j,这时,便需要获取目标数据属性指示的目标数据组,并在目标数据组中提取目标数据属性指示范围的指定数据,将该指定数据作为目标数据。例如,设目标数据属性为人物a和时间段j,统计视图根据目标属性类型“人物”生成,则可以在统计视图中确定关于人物a的目标数据组,并在关于人物a的目标数据组中提取时间段j的指定数据作为目标数据。

304、获取预设模板,按照预设模板对目标数据进行整理,生成数据统计报表。

在本发明实施例中,当获取到目标数据,便可以基于目标数据生成数据统计报表。考虑在生成数据统计报表时是存在格式的要求的,因此,可以设置预设模板,在生成数据统计报表时,获取该预设模板,按照预设模板对目标数据进行整理,从而生成格式符合要求的数据统计报表。

另外,考虑到不同类型的数据统计报表的格式要求是不同的,可以为每一个属性类型均设置与其对应的预设模板,在生成数据统计报表时,获取属性类型对应的指定预设模板,并基于该指定预设模板生成数据统计报表。本发明实施例对预设模板的个数不进行具体限定。

需要说明的是,由于生成的数据统计报表的数量较多,为了对数据统计报表进行区分,可以采用目标数据属性对数据统计报表进行命名,进而在后续可以采用目标数据属性对数据统计报表进行查询。

在实际应用的过程中,用户可能会请求对状态数据库中的数据进行修改,而状态数据库属于区块链系统附属的用于存储数据的数据库,也是按照区块链存储数据的方式,采用区块存储数据的,想要确定修改数据所处的区块是一件复杂的事儿,因此,为了简化对数据的修改过程,本发明将修改数据重新写入区块链的状态数据库中,无需对之前已经存储的数据进行修改,参见图3b,该方法包括:

305、当接收到数据修改请求时,在数据修改请求中提取修改数据,确定修改数据的修改数据属性,将修改数据与修改数据属性对应存储至状态数据库中。

在本发明实施例中,数据修改请求中携带有修改数据,由于采用状态数据库对数据进行存储,因此,当接收到数据修改请求时,在数据修改请求中提取修改数据,并确定修改数据的修改数据属性,将该修改数据与修改数据属性对应存储至状态数据库中。

306、检测是否存在与修改数据属性对应的待修改统计视图,如果存在与修改数据属性对应的待修改统计视图,则执行下述步骤307;如果不存在与修改数据属性对应的待修改统计视图,则执行下述步骤308。

在本发明实施例中,考虑到有些数据属性已经对应生成的统计视图,如果此时需要对状态数据库中该数据属性对应的数据进行修改,则也需要对该数据属性对应的统计视图进行修改,因此,在确定了修改数据的修改数据属性后,检测是否存在与修改数据属性对应的待修改统计视图,如果存在与修改数据属性对应的待修改统计视图,则也需要对该待修改统计视图进行修改,也即执行下述步骤307;如果不存在与修改数据属性对应的待修改统计视图,则表示当前还没有生成修改数据属性对应的统计视图,无需对统计视图进行修改,也即执行下述步骤308。

307、如果存在与修改数据属性对应的待修改统计视图,则获取待修改统计视图,将修改数据与修改数据属性对应写入待修改统计视图。

在本发明实施例中,由于统计视图均是根据属性类型生成的,因此,如果存在与修改数据属性对应的待修改统计视图,则根据修改数据属性,获取修改数据属性指示的统计视图作为待修改统计视图,并将该修改数据与修改数据属性对应写入待修改统计视图,从而实现对待修改统计视图进行的数据更新,保证待修改统计视图中包括的数据与状态数据库中的数据的一致性。

308、如果不存在与修改数据属性对应的待修改统计视图,则结束当前流程。

在本发明实施例中,如果不存在与修改数据属性对应的待修改统计视图,则表示当前尚未生成与修改数据属性对应的待修改统计视图,此时无需对统计视图进行修改,结束当前流程即可。

在实际应用的过程中,由于区块链中的数据是实时变化的,因此,状态数据库可以实时进行数据变化的监控,当接收到新写入的数据时,便可以提取按照上述步骤305至308中所述的方法,按照接收到修改数据的流程,将新写入数据进行存储,并对新写入数据的数据属性对应的统计视图进行更改。另外,为了减轻状态数据库实时进行数据监控的负担,还可以为状态数据库设置监控周期,每到监控周期,便对状态数据库中的数据变化进行监测,并将监测到的变化数据更新至统计视图中。

在实际应用的过程中,报表生成系统还可以为用户提供数据查询服务,在进行数据查询时,可以基于统计视图进行数据查询,参见图3c,该方法包括:

309、当接收到数据查询请求时,在数据查询请求中提取待查询数据属性。

在本发明实施例中,由于统计视图都是根据属性类型生成的,因此,在接收到数据查询请求时,在数据查询请求中提取待查询数据属性,以便根据待查询数据属性提取符合要求的查询数据。

其中,报表生成系统所搭载的客户端可以设置数据查询入口,当检测到用户触发该数据查询入口时,确定接收到用户的数据查询请求,获取用户提供的待查询数据属性,以便根据待查询数据属性的待查询属性类型确定统计视图,并在统计视图中提取待查询数据属性指示查询数据。具体地,待查询数据属性具体可为属性名称,例如,人物a、时间b和地点c等。另外,需要说明的是,为了支持对统计视图的查询,需要修改fabric源码,扩展executequery(执行查询)方法,以便对统计视图进行查询。

需要说明的是,为了满足用户的更多查询需求,数据查询请求中还可以携带待查询数据范围,待查询数据范围具体可为时间范围、地点范围等,这样,用户便可以更精确地获取到某一特定范围内的数据。例如,数据查询请求中可以携带“人物a”和“2018.01至2018.02”,这样,后续便可以查询到人物a在2018.01至2018.02之间的数据。

310、获取待查询数据属性的待查询属性类型,确定待查询数据类型指示的待查询统计视图,在待查询统计视图中提取待查询数据属性指示的查询数据,返回查询数据。

在本发明实施例中,当确定了待查询统计视图后,便可以在待查询统计视图中提取待查询数据属性指示的查询数据,将查询数据返回给用户。例如,设待查询数据属性为人物a,根据待查询数据属性的待查询属性类型获取到的待查询统计视图中包括了人物a、人物b和人物c的全部数据,则将人物a在待查询统计视图中的全部数据作为查询数据。另外,如果数据查询请求中还携带了待查询数据范围,则在待查询统计视图中确定了待查询数据属性指示的数据后,还需要在该数据中确定待查询数据范围指示的数据作为查询数据并返回。例如,设待查询数据范围为2017年8月至2018年1月,根据待查询数据属性获取到的数据为人物a的全部数据,则将人物a在2017年8月至2018年1月之间的数据作为查询数据。

需要说明的是,报表生成系统还可以支持数据统计报表的查询,当接收到报表查询请求时,获取报表查询请求中携带的待查询报表名称,获取待查询报表名称指示的目标数据统计报表,将数据统计报表返回给用户即可。

本发明实施例提供的方法,根据报表请求中携带的目标数据属性对状态数据库中的数据进行统计,生成目标数据属性的统计视图,使得可以直接基于统计视图实现对目标数据属性进行的数据的提取,并直接生成数据统计报表,降低了数据统计和分析的难度,简化了生成数据统计报表的过程。

进一步地,作为图1所述方法的具体实现,本发明实施例提供了一种基于区块链的报表生成装置,如图4a所示,所述装置包括:接收模块401,整理模块402,第一提取模块403和生成模块404。

该接收模块401,用于接收用户的报表生成请求,报表生成请求中携带目标数据属性,报表生成请求用于请求针对区块链中的数据标识指示的业务数据所生成的报表;

该整理模块402,用于根据目标数据属性的目标属性类型,对状态数据库进行整理,生成目标属性类型的统计视图,状态数据库用于存储区块链中的数据标识指示的业务数据;

该第一提取模块403,用于基于目标数据属性,在统计视图中提取目标数据,目标数据为统计视图中数据属性符合目标数据属性的要求的数据组;

该生成模块404,用于获取预设模板,按照预设模板对目标数据进行整理,生成数据统计报表。

在具体的应用场景中,如图4b所示,整理模块402,包括确定子模块4021,整理子模块4022和存储子模块4023。

该确定子模块4021,用于确定目标数据属性的目标属性类型;

该整理子模块4022,用于分别确定状态数据库中每个数据与目标属性类型匹配的数据属性,将状态数据库中数据属性一致的至少一个数据整理为一个数据组,得到多个数据组;

该存储子模块4023,用于将多个数据组作为目标属性类型的统计视图。

在具体的应用场景中,如图4c所示,该第一提取模块403,包括确定子模块4031和存储子模块4032。

该确定子模块4031,用于分别确定统计视图中至少一个数据组的至少一个数据属性,统计视图根据至少一个数据属性生成,至少一个数据属性的属性类型一致;

该存储子模块4032,用于获取至少一个数据属性中与目标数据属性一致的数据属性对应的目标数据组,将目标数据组作为目标数据。

在具体的应用场景中,如图4d所示,该装置还包括确定模块405和存储模块406。

该确定模块405,用于当接收到数据修改请求时,在数据修改请求中提取修改数据,确定修改数据的修改数据属性;

该存储模块406,用于将修改数据与修改数据属性对应存储至状态数据库中。

在具体的应用场景中,如图4e所示,该装置还包括检测模块407,写入模块408和结束模块409。

该检测模块407,用于检测是否存在与修改数据属性对应的待修改统计视图;

该写入模块408,用于如果存在与修改数据属性对应的待修改统计视图,则获取待修改统计视图,将修改数据与修改数据属性对应写入待修改统计视图;

该结束模块409,用于如果不存在与修改数据属性对应的待修改统计视图,则结束当前流程。

在具体的应用场景中,如图4f所示,该装置还包括第二提取模块410,获取模块411和查询模块412。

该第二提取模块410,用于当接收到数据查询请求时,在数据查询请求中提取待查询数据属性;

该获取模块411,用于获取待查询数据属性的待查询属性类型,确定待查询数据类型指示的待查询统计视图;

该查询模块412,用于在待查询统计视图中提取待查询数据属性指示的查询数据,返回查询数据。

本发明实施例提供的装置,可以根据报表请求中携带的目标数据属性对状态数据库中的数据进行统计,生成目标数据属性的统计视图,使得可以直接基于统计视图实现对目标数据属性进行的数据的提取,并直接生成数据统计报表,降低了数据统计和分析的难度,简化了生成数据统计报表的过程。

需要说明的是,本发明实施例提供的一种基于区块链的报表生成装置所涉及各功能单元的其他相应描述,可以参考图1和图3a中的对应描述,在此不再赘述。

在示例性实施例中,参见图5,还提供了一种设备,该设备500包括通信总线、处理器、存储器和通信接口,还可以包括、输入输出接口和显示设备,其中,各个功能单元之间可以通过总线完成相互间的通信。该存储器存储有计算机程序,处理器,用于执行存储器上所存放的程序,执行上述实施例中的基于区块链的报表生成方法。

一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的基于区块链的报表生成方法的步骤。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景所述的方法。

本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本申请所必须的。

本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。

上述本申请序号仅仅为了描述,不代表实施场景的优劣。

以上公开的仅为本申请的几个具体实施场景,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1