CN111190901B - 业务数据存储方法、装置、计算机设备和存储介质 - Google Patents
业务数据存储方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN111190901B CN111190901B CN201911273765.1A CN201911273765A CN111190901B CN 111190901 B CN111190901 B CN 111190901B CN 201911273765 A CN201911273765 A CN 201911273765A CN 111190901 B CN111190901 B CN 111190901B
- Authority
- CN
- China
- Prior art keywords
- current
- data
- polymerization degree
- processing flow
- storage
- 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
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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及大数据领域,尤其是一种业务数据存储方法、装置、计算机设备和存储介质。该方法包括:将存储数据表中的业务数据存储地址映射到存储单元,元数据映射到数据仓库;根据责任链第一处理流程将原始数据存储到第一数据存储层,从责任链中获取当前处理流程,查询当前处理流程对应的当前聚合度,从数据仓库中查询当前聚合度对应的当前元数据,根据当前元数据对上一处理流程得到的数据进行聚合处理,并将得到的数据存储到当前存储层;继续上述处理直至责任链中所有的处理流程处理完成;根据责任链最后一个处理流程对应的最终聚合度对应的存储层,构建目标查询语句。采用本方法能够提高数据查询准确性。
Description
技术领域
本申请涉及大数据技术领域,特别是涉及一种业务数据存储方法、装置、计算机设备和存储介质。
背景技术
在数据分析领域,针对大数据量的聚合,查询等操作,通过分库分表的方式只能满足TP级的数据量,传统架构为使用Postgresql分为在线库,清洗库使用Jstorm将kafka数据处理后进入在线库,使用quwei-batch工程处理每日的数据进入按机构分表的清洗库,对所有的数据统计必须在总表的从表中查询。且查询的时候从总表中分步进行查询,由于查询需要多步进行,这样当某一步查询出错,则会导致整个数据查询失败。
发明内容
基于此,有必要针对上述技术问题,提供一种能够数据查询准确性的业务数据存储方法、装置、计算机设备和存储介质。
一种业务数据存储方法,所述方法包括:
将存储数据表中的业务数据存储地址映射到查询引擎的存储单元,元数据映射到数据仓库中;
从责任链获取到第一处理流程,并执行所述第一处理流程以获取所述数据仓库中的元数据,并查询所述存储单元得到元数据对应的业务数据存储地址,以根据所述业务数据存储地址获取原始数据,并将所述原始数据存储到第一存储层;
从责任链中获取当前处理流程,并查询到所述当前处理流程对应的当前聚合度,并从所述数据仓库中查询与所述当前聚合度对应的当前元数据,根据所述当前元数据对上一存储层中的数据进行聚合处理,并将聚合处理后的数据存储到当前存储层;
继续从责任链中获取下一处理流程对应的下一聚合度作为当前聚合度,并从所述数据仓库中查询与所述当前聚合度对应的当前元数据,直至所述责任链中所有的处理流程处理完成;
根据责任链最后一个处理流程对应的最终聚合度对应的存储层,构建目标查询语句。
在其中一个实施例中,所述根据责任链最后一个处理流程对应的最终聚合度对应的存储层,构建目标查询语句,包括:
获取责任链最后一个处理流程对应的最终聚合度对应的存储层;
获取预设的初始查询语句,所述初始查询语句包括待填写内容标识;
将所述最终聚合度添加到所述初始查询语句中所述待填写内容标识为聚合度的位置,将所述存储层添加到所述初始查询语句中所述待填写内容标识为存储层的位置,得到目标查询语句。
在其中一个实施例中,所述从责任链中获取当前处理流程,并查询到所述当前处理流程对应的当前聚合度,并从所述数据仓库中查询与所述当前聚合度对应的当前元数据,包括:
从责任链中获取当前处理流程,并查询到所述当前处理流程对应的当前聚合度;
判断所述当前聚合度是否为时间聚合度;
当所述当前聚合度判定为时间聚合度,则获取当前处理流程对应的定时任务,判断当前时间是否为定时任务的启动时间;
若当前时间为定时任务的启动时间,则从所述数据仓库中查询与所述时间聚合度对应的当前元数据。
在其中一个实施例中,所述从所述数据仓库中查询与所述当前聚合度对应的当前元数据,直至所述责任链中所有的处理流程处理完成之后,还包括:
获取责任链最后一个处理流程对应的最终聚合度;
生成与所述最终聚合度对应的数据报表。
在其中一个实施例中,所述方法还包括:
接收终端发送的查询请求,所述查询语句携带有聚合度;
根据所述聚合度获取到对应的数据报表;
根据所述数据报表生成可视化视图;
将所生成的可视化视图发送给所述终端。
一种业务数据存储装置,所述装置包括:
映射模块,用于将存储数据表中的业务数据存储地址映射到查询引擎的存储单元,元数据映射到数据仓库中;
第一处理模块,用于从责任链获取到第一处理流程,并执行所述第一处理流程以获取所述数据仓库中的元数据,并查询所述存储单元得到元数据对应的业务数据存储地址,以根据所述业务数据存储地址获取原始数据,并将所述原始数据存储到第一存储层;
存储模块,用于从责任链中获取当前处理流程,并查询到所述当前处理流程对应的当前聚合度,并从所述数据仓库中查询与所述当前聚合度对应的当前元数据,根据所述当前元数据对上一存储层中的数据进行聚合处理,并将聚合处理后的数据存储到当前存储层;
循环模块,用于继续从责任链中获取下一处理流程对应的下一聚合度作为当前聚合度,并从所述数据仓库中查询与所述当前聚合度对应的当前元数据,直至所述责任链中所有的处理流程处理完成;
查询语句构建模块,用于根据责任链最后一个处理流程对应的最终聚合度对应的存储层,构建目标查询语句。
在其中一个实施例中,所述查询语句构建模块包括:
存储层获取单元,用于获取责任链最后一个处理流程对应的最终聚合度对应的存储层;
初始语句获取单元,用于获取预设的初始查询语句,所述初始查询语句包括待填写内容标识;
查询语句生成单元,用于将所述最终聚合度添加到所述初始查询语句中所述待填写内容标识为聚合度的位置,将所述存储层添加到所述初始查询语句中所述待填写内容标识为存储层的位置,得到目标查询语句。
在其中一个实施例中,所述存储模块包括:
当前聚合度获取单元,用于从责任链中获取当前处理流程,并查询到所述当前处理流程对应的当前聚合度;
第一判断单元,用于判断所述当前聚合度是否为时间聚合度;
第二判断单元,用于当所述当前聚合度判定为时间聚合度,则获取当前处理流程对应的定时任务,判断当前时间是否为定时任务的启动时间;
启动单元,用于若当前时间为定时任务的启动时间,则从所述数据仓库中查询与所述时间聚合度对应的当前元数据。
上述业务数据存储方法、装置、计算机设备和存储介质,根据责任链获取到当前处理流程,并查询到当前处理流程对应的当前聚合度,并从数据仓库中查询与当前聚合度对应的当前元数据,根据当前元数据对上一处理流程得到的存储层中的数据进行聚合处理,并将聚合处理后的数据存储到当前存储层,且只有当前存储层中的数据存储成功后,才会进行下一步的数据处理,即在数据存储的时候通过责任链的模式将数据进行处理,即只有上一步的数据处理正确后,才会进行下一步的处理,这样保证了数据存储的正确性,进而根据最终聚合度对应的存储层构建了目标查询语句,从而通过该目标查询语句进行查询时,保证了所查询的业务数据的正确性。
附图说明
图1为一个实施例中业务数据存储方法的应用场景图;
图2为一个实施例中业务数据存储方法的流程示意图;
图3为一个实施例中的数据存储层的结构示意图;
图4为一个实施例中业务数据存储装置的结构框图;
图5为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的业务数据存储方法,可以应用于如图1所示的应用环境中。其中,预设存储系统106可以获取到数据源数据库104中的数据,并进行存储;服务器102可以通过直连方式消费预设存储系统106中的数据,并将数据的存储地址映射到服务器102中,元数据映射到数据仓库108中。
具体地,服务器预设存储系统106中可以存储有存储数据表,该存储数据表中的数据是根据数据源数据库104中的数据同步过来,并生成的存储地址和元数据的,其中服务器102将该存储数据表中的业务数据存储地址映射到查询引擎的存储单元,元数据映射到数据仓库108中,进而服务器102可以根据责任链来进行数据处理,例如获取到第一处理流程,并执行第一处理流程以根据存储单元中的业务数据存储地址获取原始数据,并将原始数据存储到第一存储层,从而后续服务器102开始对第一存储层中的数据进行处理,例如服务器继续从责任链中获取当前处理流程,并查询到当前处理流程对应的当前聚合度,并从数据仓库中查询与当前聚合度对应的当前元数据,根据当前元数据对上一处理流程得到的存储层中的数据进行聚合处理,并将聚合处理后的数据存储到当前存储层,服务器102继续判断当前存储层中是否存储有数据,若是,则继续从责任链中获取下一流程对应的下一聚合度作为当前聚合度,并从数据仓库中查询与当前聚合度对应的当前元数据,直至责任链中所有的处理流程处理完成;从而服务器102根据责任链最后一个处理流程对应的最终聚合度对应的存储层,构建目标查询语句。这样只有上一步的数据处理正确后,才会进行下一步的处理,这样保证了数据存储的正确性,进而根据最终聚合度对应的存储层构建了目标查询语句,从而通过该目标查询语句进行查询时,保证了所查询的业务数据的正确性。其中,服务器102可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种业务数据存储方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
S202:将存储数据表中的业务数据存储地址映射到查询引擎的存储单元,元数据映射到数据仓库中。
具体地,存储数据表是存储在预设存储系统中的表,其中预设存储系统可以是kudu表,则该存储数据表为table表,查询引擎是安装在服务器中的impala引擎,数据仓库是hive,hive是一个数据仓库基础工具在Hadoop中用来处理结构化数据。它架构在Hadoop之上,使得查询和分析方便,且由于Impala是基于Hive的大数据实时分析查询引擎,直接使用hive的元数据库Metadata,即impala元数据都存储在hive的metastore中,因此将元数据映射到数据仓库中,从而可以使得impala正常运行。
在实际应用中,kudu表中的数据是由sparking streaming从kafka中提取过来的,其按照master-table的存储方式进行存储。其中impala通过impala-shell脚本将kudu中的table表的数据映射到impala中,即将table表中数据的存储地址映射到impala中存储,将kudu表中的元数据存储至hive中,其中可以通过impala组件impala catalogd server获取元数据并存储到hive中,其中hive是impala中的基础组件。元数据是数据中的字段,例如门诊、住院、事件、机构等。
S204:从责任链获取到第一处理流程,并执行第一处理流程以获取数据仓库中的元数据,并查询存储单元得到元数据对应的业务数据存储地址,以根据业务数据存储地址获取原始数据,并将原始数据存储到第一存储层。
具体地,责任链是用于定义数据处理流程的链路,在该责任链中已经定义了处理流程的前后顺序,服务器仅需要按照该前后顺序执行对应的处理流程即可,从而保证了数据处理的准确性,即只有上一步的数据处理正确后,才会进行下一步的处理,这样保证了数据存储的正确性,且在数据存储正确后,则查询处理后的数据必然也是正确的,这是因为数据查询的sql已经确定,数据按照sql的类别进行分类存储的。
在实际应用中,impala在完成映射步骤后,可以根据映射的数据的地址获取到数据并存储到ODS层,即数据准备层,该步骤是impala从责任链中读取到第一处理流程,然后根据该第一处理流程获取到原始数据并存储到ODS层。具体地,impala从责任链获取到第一处理流程,该第一处理流程中给出了需要的原始数据的元数据,从而impala执行第一处理流程可以获取数据仓库中的元数据,并查询存储单元得到元数据对应的业务数据存储地址,从而impala根据业务数据存储地址获取原始数据,并将原始数据存储到第一存储层。
S206:从责任链中获取当前处理流程,并查询到当前处理流程对应的当前聚合度,并从数据仓库中查询与当前聚合度对应的当前元数据,根据当前元数据对上一存储层中的数据进行聚合处理,并将聚合处理后的数据存储到当前存储层。
具体地,责任链给出了数据的处理流程,即只有在上一步数据处理完成后才会进行下一步数据的处理,保证了每一步数据处理的准确性。impala首先获取到责任链,从而从责任链中读取到当前处理流程,从当前处理流程中读取到当前聚合度,然后从hive中查询与当前聚合度对应的当前元数据,并根据当前元数据对ODS层,即数据准备层中的数据进行聚合,并将聚合得到的结果存储到当前存储层中的数据表中。
S208:从责任链中获取下一处理流程对应的下一聚合度作为当前聚合度,并从数据仓库中查询与当前聚合度对应的当前元数据,直至责任链中所有的处理流程处理完成。
具体地,由于责任链的模式是在上一步数据处理完成后,才会进行下一步的处理,所以根据当前聚合度进行数据聚合后,服务器获取到下一聚合度,并根据下一聚合度对应的元数据继续对数据进行聚合处理,直至聚合完成,这样根据不同的聚合度进行聚合,可以将不同聚合度对应的数据进行分类存储。且可选地,在处理完上一步后还可以判断当前存储层是否存储有数据,如果是,则继续下一流程,即保证了数据的准确存储,避免因为系统故障等导致数据存储错误,进而进行下一步时无数据可用。
在实际应用中,参见图3,图3中给出了kudu表中的数据存储层,包括ODS层:数据准备层、DWD层:数据明细层、DW层:数据汇总层以及DM层:数据集市层。
服务器中的查询引擎impala首先将kudu表映射到impala中,然后根据映射的结果从kudu表中获取到原始数据存储到ODS层,即数据准备层,这是责任链中的第一处理流程,即impala在完成映射步骤后,可以根据映射的数据的地址获取到数据并存储到ODS层,即数据存储层,该步骤是impala从责任链中读取到第一处理流程,然后根据该第一处理流程获取到原始数据并存储到ODS层。在该处理流程结束后,即查询到ODS层存在数据更新时,则继续根据责任链获取到下一处理流程,即ODS层的数据存储到DWD层,该DWD层的聚合度是门诊,住院,结算,检查,处方,基金,医保等业务细分,Impala从ODS层中获取到数据按照上述业务对应的元数据进行聚合得到不同的业务表,再将所得到的业务表存储至对应的DWD层,其中DWD层的数据是将业务表按照机构号HASH业务时间Range多级分区。该当前聚合度是按门诊,住院,结算,检查,处方,基金,医保等业务细分,按流水号结合为业务表结构,这是第二处理流程,在第二处理流程处理完成后,Impala也是检查DWD层是否存在数据更新,如果存在,则继续根据责任链获取到下一处理流程,即DW层的数据处理,也是第三处理流程,该层的聚合度是将数据按照年,月,日做时间聚合,统计首页收入,人次,出院,门诊等业务年度,月度,今日等指标,这是第三处理流程,在第三处理流程处理完成后,Impala也是检查DW层是否存在数据更新,如果存在,则继续根据责任链获取到下一处理流程,即DM层的数据处理,该层是根据对应的sql进行聚类,即将对应的sql注册为impala视图,其中视图可以是一个或多个表的联合查询所得到的数据,其实在基本表之上建立的表。这样ODS层是数据准备层,用于准备数据,DWD层是数据明细层,用于根据业务类型对数据进行分类,DW层是数据汇总层,用于根据时间对数据进行汇总,DM层是数据集市层,用于将所有的数据按照机构进行分类。
可选地,impala在根据最终聚合度进行聚类的时候,是根据sql进行分类的,并将sql注册为impala视图。
S210:根据责任链最后一个处理流程对应的最终聚合度对应的存储层,构建目标查询语句。
其中,构建查询语句就是构建sql语句,即获取到最终聚合度和最终聚合度对应的存储层,然后选取对应的sql语句,例如select语句,从而所构建的查询语句为select聚合度from对应的存储层。
上述业务数据存储方法,根据责任链获取到当前处理流程,并查询到当前处理流程对应的当前聚合度,并从数据仓库中查询与当前聚合度对应的当前元数据,根据当前元数据对上一处理流程得到的存储层中的数据进行聚合处理,并将聚合处理后的数据存储到当前存储层,且只有当前存储层中的数据存储成功后,才会进行下一步的数据处理,即在数据存储的时候通过责任链的模式将数据进行处理,即只有上一步的数据处理正确后,才会进行下一步的处理,这样保证了数据存储的正确性,进而根据最终聚合度对应的存储层构建了目标查询语句,从而通过该目标查询语句进行查询时,保证了所查询的业务数据的正确性。
在其中一个实施例中,根据责任链最后一个处理流程对应的最终聚合度对应的存储层,构建目标查询语句,包括:获取责任链最后一个处理流程对应的最终聚合度对应的存储层;获取预设的初始查询语句,初始查询语句包括待填写内容标识;将最终聚合度添加到初始查询语句中待填写内容标识为聚合度的位置,将存储层添加到初始查询语句中待填写内容标识为存储层的位置,得到目标查询语句。
具体地,服务器首先获取到责任链中的最后一个处理流程,然后根据该最后一个处理流程得到最终聚合度,并获取该最终聚合度对应的存储层。进而服务器获取到对应的sql语句,例如select语句,例如初始查询语句为select**from**,则服务器根据聚合度以及存储层可以得到目标查询语句:select聚合度from存储层。具体地,impala可以识别初始查询语句包括待填写内容标识,然后当需要构建目标查询语句的时候,impala识别出初始查询语句中的待填写内容标识,然后去获取到与待填写内容标识对应的内容,即上述的最终聚合度和存储层,将所获取到的最终聚合度和存储层填写到待填写内容标识对应的位置即可以生成目标查询语句。
上述实施例中,在对数据处理完成后,则根据最后一个流程得到最终聚合度,然后根据该最终聚合度以及最终聚合度对应的存储层生成查询语句,从而用户在需要查询数据的时候,直接通过该查询语句查询到对应的数据即可。
在其中一个实施例中,从责任链中获取当前处理流程,并查询到当前处理流程对应的当前聚合度,并从数据仓库中查询与当前聚合度对应的当前元数据,包括:从责任链中获取当前处理流程,并查询到当前处理流程对应的当前聚合度;判断当前聚合度是否为时间聚合度;当当前聚合度判定为时间聚合度,则获取当前处理流程对应的定时任务,判断当前时间是否为定时任务的启动时间;若当前时间为定时任务的启动时间,则从数据仓库中查询与时间聚合度对应的当前元数据。
具体地,当聚合度为时间的时候,则可以根据定时任务来进行数据聚合,例如上述实施例中DW层是数据汇总层,用于根据时间对数据进行汇总,服务器首先判断当前聚合度是否为时间,如果为时间,则等待定时任务启动,即定时任务判断当前时间是否为定时任务的启动时间,如果是,则定时任务启动,根据定时任务对应的聚合度的子分类对数据进行聚合后存储至当前存储层,其中聚合度的子分类是根据聚合度获取到的,定时任务的启动时间是根据子分类来确定的。例如聚合度为时间,则子分类可以为年、月、日,对应定时任务的启动时间是每年、每月以及每年。
上述实施例中,通过定时任务执行,这样根据聚合度的指标可以分别进行处理,不用人工进行关注处理,减少了数据聚合的复杂度。
在其中一个实施例中,从数据仓库中查询与当前聚合度对应的当前元数据,直至责任链中所有的处理流程处理完成之后,还包括:获取责任链最后一个处理流程对应的最终聚合度;生成与最终聚合度对应的数据报表。
在其中一个实施例中,方法还包括:接收终端发送的查询请求,查询语句携带有聚合度;根据聚合度获取到对应的数据报表;根据数据报表生成可视化视图;将所生成的可视化视图发送给终端。
具体地,从数据仓库中查询与当前聚合度对应的当前元数据,直至责任链中所有的处理流程处理完成之后,还包括一数据报表生成的步骤,即每日定时根据DM层的数据生成数据报表,将统计指标使用easyexcel定时生成xls指标统计文件,其中指标统计文件中是根据最终聚合度分别生成的,即一个最终聚合度对应一个指标统计文件,最终聚合度是指机构分类(医院级别,是否直属,所属区县,是否高校医院)。这样在数据查询的时候,用户可以输入数据下载指令,impala可以直接根据数据下载指令输出对应的xls文件,而没有必要再次生成,提高了效率。
这样在数据查询的时候,服务器接收客户端发送的sql查询请求,然后返回给客户端一个请求标识(用于唯一地确定该请求),服务器对sql查询请求进行解析和分析生成对应的查询信息,通过该查询信息获取对应的impala视图并输出。其中根据数据报表生成可视化视图可以通过impala自带的视图生成功能进行操作。
上述实施例中,预先生成数据报表,这样在数据查询的时候,用户可以输入数据下载指令,服务器可以直接根据数据下载指令输出对应的xls文件,而没有必要再次生成,提高了效率。
应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图4所示,提供了一种业务数据存储装置,包括:映射模块100、第一处理模块200、存储模块300、循环模块400以及查询语句构建模块500:
映射模块100,用于将存储数据表中的业务数据存储地址映射到查询引擎的存储单元,元数据映射到数据仓库中。
第一处理模块200,用于从责任链获取到第一处理流程,并执行第一处理流程以获取数据仓库中的元数据,并查询存储单元得到元数据对应的业务数据存储地址,以根据业务数据存储地址获取原始数据,并将原始数据存储到第一存储层。
存储模块300,用于从责任链中获取当前处理流程,并查询到当前处理流程对应的当前聚合度,并从数据仓库中查询与当前聚合度对应的当前元数据,根据当前元数据对上一存储层中的数据进行聚合处理,并将聚合处理后的数据存储到当前存储层。
循环模块400,用于从责任链中获取下一处理流程对应的下一聚合度作为当前聚合度,并从数据仓库中查询与当前聚合度对应的当前元数据,直至责任链中所有的处理流程处理完成。
查询语句构建模块500,用于根据责任链最后一个处理流程对应的最终聚合度对应的存储层,构建目标查询语句。
在其中一个实施例中,查询语句构建模块500包括:
存储层获取单元,用于获取责任链最后一个处理流程对应的最终聚合度对应的存储层。
初始语句获取单元,用于获取预设的初始查询语句,初始查询语句包括待填写内容标识。
查询语句生成单元,用于将最终聚合度添加到初始查询语句中待填写内容标识为聚合度的位置,将存储层添加到初始查询语句中待填写内容标识为存储层的位置,得到目标查询语句。
在其中一个实施例中,存储模块300包括:
当前聚合度获取单元,用于从责任链中获取当前处理流程,并查询到当前处理流程对应的当前聚合度。
第一判断单元,用于判断当前聚合度是否为时间聚合度。
第二判断单元,用于当当前聚合度判定为时间聚合度,则获取当前处理流程对应的定时任务,判断当前时间是否为定时任务的启动时间。
启动单元,用于若当前时间为定时任务的启动时间,则从数据仓库中查询与时间聚合度对应的当前元数据。
在其中一个实施例中,上述业务数据存储装置还可以包括:
最终聚合度获取模块,用于获取责任链最后一个处理流程对应的最终聚合度。
数据报表生成模块,用于生成与最终聚合度对应的数据报表。
在其中一个实施例中,上述业务数据存储装置还可以包括:
接收模块,用于接收终端发送的查询请求,查询语句携带有聚合度。
数据报表查询模块,用于根据聚合度获取到对应的数据报表。
可视化视图生成模块,用于根据数据报表生成可视化视图。
发送模块,用于将所生成的可视化视图发送给终端。
关于业务数据存储装置的具体限定可以参见上文中对于业务数据存储方法的限定,在此不再赘述。上述业务数据存储装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种业务数据存储方法。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现以下步骤:将存储数据表中的业务数据存储地址映射到查询引擎的存储单元,元数据映射到数据仓库中;从责任链获取到第一处理流程,并执行第一处理流程以获取数据仓库中的元数据,并查询存储单元得到元数据对应的业务数据存储地址,以根据业务数据存储地址获取原始数据,并将原始数据存储到第一存储层;从责任链中获取当前处理流程,并查询到当前处理流程对应的当前聚合度,并从数据仓库中查询与当前聚合度对应的当前元数据,根据当前元数据对上一存储层中的数据进行聚合处理,并将聚合处理后的数据存储到当前存储层;从责任链中获取下一处理流程对应的下一聚合度作为当前聚合度,并从数据仓库中查询与当前聚合度对应的当前元数据,直至责任链中所有的处理流程处理完成;根据责任链最后一个处理流程对应的最终聚合度对应的存储层,构建目标查询语句。
在一个实施例中,处理器执行计算机程序时所实现的根据责任链最后一个处理流程对应的最终聚合度对应的存储层,构建目标查询语句,包括:获取责任链最后一个处理流程对应的最终聚合度对应的存储层;获取预设的初始查询语句,初始查询语句包括待填写内容标识;将最终聚合度添加到初始查询语句中待填写内容标识为聚合度的位置,将存储层添加到初始查询语句中待填写内容标识为存储层的位置,得到目标查询语句。
在一个实施例中,处理器执行计算机程序时所实现的从责任链中获取当前处理流程,并查询到当前处理流程对应的当前聚合度,并从数据仓库中查询与当前聚合度对应的当前元数据,包括:从责任链中获取当前处理流程,并查询到当前处理流程对应的当前聚合度;判断当前聚合度是否为时间聚合度;当当前聚合度判定为时间聚合度,则获取当前处理流程对应的定时任务,判断当前时间是否为定时任务的启动时间;若当前时间为定时任务的启动时间,则从数据仓库中查询与时间聚合度对应的当前元数据。
在一个实施例中,处理器执行计算机程序时所实现的从数据仓库中查询与当前聚合度对应的当前元数据,直至责任链中所有的处理流程处理完成之后,还包括:获取责任链最后一个处理流程对应的最终聚合度;生成与最终聚合度对应的数据报表。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:接收终端发送的查询请求,查询语句携带有聚合度;根据聚合度获取到对应的数据报表;根据数据报表生成可视化视图;将所生成的可视化视图发送给终端。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:将存储数据表中的业务数据存储地址映射到查询引擎的存储单元,元数据映射到数据仓库中;从责任链获取到第一处理流程,并执行第一处理流程以获取数据仓库中的元数据,并查询存储单元得到元数据对应的业务数据存储地址,以根据业务数据存储地址获取原始数据,并将原始数据存储到第一存储层;从责任链中获取当前处理流程,并查询到当前处理流程对应的当前聚合度,并从数据仓库中查询与当前聚合度对应的当前元数据,根据当前元数据对上一存储层中的数据进行聚合处理,并将聚合处理后的数据存储到当前存储层;从责任链中获取下一处理流程对应的下一聚合度作为当前聚合度,并从数据仓库中查询与当前聚合度对应的当前元数据,直至责任链中所有的处理流程处理完成;根据责任链最后一个处理流程对应的最终聚合度对应的存储层,构建目标查询语句。
在一个实施例中,计算机程序被处理器执行时所实现的根据责任链最后一个处理流程对应的最终聚合度对应的存储层,构建目标查询语句,包括:获取责任链最后一个处理流程对应的最终聚合度对应的存储层;获取预设的初始查询语句,初始查询语句包括待填写内容标识;将最终聚合度添加到初始查询语句中待填写内容标识为聚合度的位置,将存储层添加到初始查询语句中待填写内容标识为存储层的位置,得到目标查询语句。
在一个实施例中,计算机程序被处理器执行时所实现的从责任链中获取当前处理流程,并查询到当前处理流程对应的当前聚合度,并从数据仓库中查询与当前聚合度对应的当前元数据,包括:从责任链中获取当前处理流程,并查询到当前处理流程对应的当前聚合度;判断当前聚合度是否为时间聚合度;当当前聚合度判定为时间聚合度,则获取当前处理流程对应的定时任务,判断当前时间是否为定时任务的启动时间;若当前时间为定时任务的启动时间,则从数据仓库中查询与时间聚合度对应的当前元数据。
在一个实施例中,计算机程序被处理器执行时所实现的从数据仓库中查询与当前聚合度对应的当前元数据,直至责任链中所有的处理流程处理完成之后,还包括:获取责任链最后一个处理流程对应的最终聚合度;生成与最终聚合度对应的数据报表。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:接收终端发送的查询请求,查询语句携带有聚合度;根据聚合度获取到对应的数据报表;根据数据报表生成可视化视图;将所生成的可视化视图发送给终端。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种业务数据存储方法,所述方法包括:
将存储数据表中的业务数据存储地址映射到查询引擎的存储单元,元数据映射到数据仓库中;
从责任链获取到第一处理流程,并执行所述第一处理流程以获取所述数据仓库中的元数据,并查询所述存储单元得到元数据对应的业务数据存储地址,以根据所述业务数据存储地址获取原始数据,并将所述原始数据存储到第一存储层;
从责任链中获取当前处理流程,并查询到所述当前处理流程对应的当前聚合度,并从所述数据仓库中查询与所述当前聚合度对应的当前元数据,根据所述当前元数据对上一存储层中的数据进行聚合处理,并将聚合处理后的数据存储到当前存储层;所述责任链是用于定义数据处理流程的链路,给出了所述数据处理流程的前后顺序,当前处理流程的对应的当前聚合度是指对数据进行聚合的业务细分指标;
继续从责任链中获取下一处理流程对应的下一聚合度作为当前聚合度,并从所述数据仓库中查询与所述当前聚合度对应的当前元数据,直至所述责任链中所有的处理流程处理完成;
根据责任链最后一个处理流程对应的最终聚合度对应的存储层,构建目标查询语句。
2.根据权利要求1所述的方法,其特征在于,所述根据责任链最后一个处理流程对应的最终聚合度对应的存储层,构建目标查询语句,包括:
获取责任链最后一个处理流程对应的最终聚合度对应的存储层;
获取预设的初始查询语句,所述初始查询语句包括待填写内容标识;
将所述最终聚合度添加到所述初始查询语句中所述待填写内容标识为聚合度的位置,将所述存储层添加到所述初始查询语句中所述待填写内容标识为存储层的位置,得到目标查询语句。
3.根据权利要求1所述的方法,其特征在于,所述从责任链中获取当前处理流程,并查询到所述当前处理流程对应的当前聚合度,并从所述数据仓库中查询与所述当前聚合度对应的当前元数据,包括:
从责任链中获取当前处理流程,并查询到所述当前处理流程对应的当前聚合度;
判断所述当前聚合度是否为时间聚合度;
当所述当前聚合度判定为时间聚合度,则获取当前处理流程对应的定时任务,判断当前时间是否为定时任务的启动时间;
若当前时间为定时任务的启动时间,则从所述数据仓库中查询与所述时间聚合度对应的当前元数据。
4.根据权利要求1至3任意一项所述的方法,其特征在于,所述从所述数据仓库中查询与所述当前聚合度对应的当前元数据,直至所述责任链中所有的处理流程处理完成之后,还包括:
获取责任链最后一个处理流程对应的最终聚合度;
生成与所述最终聚合度对应的数据报表。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
接收终端发送的查询请求,所述查询语句携带有聚合度;
根据所述聚合度获取到对应的数据报表;
根据所述数据报表生成可视化视图;
将所生成的可视化视图发送给所述终端。
6.一种业务数据存储装置,其特征在于,所述装置包括:
映射模块,用于将存储数据表中的业务数据存储地址映射到查询引擎的存储单元,元数据映射到数据仓库中;
第一处理模块,用于从责任链获取到第一处理流程,并执行所述第一处理流程以获取所述数据仓库中的元数据,并查询所述存储单元得到元数据对应的业务数据存储地址,以根据所述业务数据存储地址获取原始数据,并将所述原始数据存储到第一存储层;
存储模块,用于从责任链中获取当前处理流程,并查询到所述当前处理流程对应的当前聚合度,并从所述数据仓库中查询与所述当前聚合度对应的当前元数据,根据所述当前元数据对上一存储层中的数据进行聚合处理,并将聚合处理后的数据存储到当前存储层;所述责任链是用于定义数据处理流程的链路,给出了所述数据处理流程的前后顺序,当前处理流程的对应的当前聚合度是指对数据进行聚合的业务细分指标;
循环模块,用于继续从责任链中获取下一处理流程对应的下一聚合度作为当前聚合度,并从所述数据仓库中查询与所述当前聚合度对应的当前元数据,直至所述责任链中所有的处理流程处理完成;
查询语句构建模块,用于根据责任链最后一个处理流程对应的最终聚合度对应的存储层,构建目标查询语句。
7.根据权利要求6所述的装置,其特征在于,所述查询语句构建模块包括:
存储层获取单元,用于获取责任链最后一个处理流程对应的最终聚合度对应的存储层;
初始语句获取单元,用于获取预设的初始查询语句,所述初始查询语句包括待填写内容标识;
查询语句生成单元,用于将所述最终聚合度添加到所述初始查询语句中所述待填写内容标识为聚合度的位置,将所述存储层添加到所述初始查询语句中所述待填写内容标识为存储层的位置,得到目标查询语句。
8.根据权利要求6所述的装置,其特征在于,所述存储模块包括:
当前聚合度获取单元,用于从责任链中获取当前处理流程,并查询到所述当前处理流程对应的当前聚合度;
第一判断单元,用于判断所述当前聚合度是否为时间聚合度;
第二判断单元,用于当所述当前聚合度判定为时间聚合度,则获取当前处理流程对应的定时任务,判断当前时间是否为定时任务的启动时间;
启动单元,用于若当前时间为定时任务的启动时间,则从所述数据仓库中查询与所述时间聚合度对应的当前元数据。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911273765.1A CN111190901B (zh) | 2019-12-12 | 2019-12-12 | 业务数据存储方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911273765.1A CN111190901B (zh) | 2019-12-12 | 2019-12-12 | 业务数据存储方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111190901A CN111190901A (zh) | 2020-05-22 |
CN111190901B true CN111190901B (zh) | 2023-02-07 |
Family
ID=70707305
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911273765.1A Active CN111190901B (zh) | 2019-12-12 | 2019-12-12 | 业务数据存储方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111190901B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111966677B (zh) * | 2020-06-28 | 2024-04-19 | 北京百度网讯科技有限公司 | 数据报表的处理方法、装置、电子设备及存储介质 |
CN113760487B (zh) * | 2020-08-05 | 2024-04-12 | 北京京东振世信息技术有限公司 | 一种业务处理方法和装置 |
CN112256806B (zh) * | 2020-11-04 | 2021-05-18 | 成都市食品药品检验研究院 | 一种食品生产经营全程风险信息库的构建方法及系统 |
CN112711614B (zh) * | 2021-01-15 | 2024-05-17 | 腾讯科技(深圳)有限公司 | 业务数据管理方法、装置 |
CN114925145B (zh) * | 2022-05-25 | 2024-05-14 | 盐城天眼察微科技有限公司 | 数据存储方法、装置以及存储介质和电子设备 |
CN115437796A (zh) * | 2022-11-09 | 2022-12-06 | 浪潮通信信息系统有限公司 | 资源管理方法、装置、设备及计算机可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9164969B1 (en) * | 2009-09-29 | 2015-10-20 | Cadence Design Systems, Inc. | Method and system for implementing a stream reader for EDA tools |
CN106649828A (zh) * | 2016-12-29 | 2017-05-10 | 中国银联股份有限公司 | 一种数据查询方法及系统 |
CN107748752A (zh) * | 2017-09-05 | 2018-03-02 | 新智云数据服务有限公司 | 一种数据处理方法及装置 |
CN108874528A (zh) * | 2017-05-09 | 2018-11-23 | 北京京东尚科信息技术有限公司 | 分布式任务存储系统和分布式任务存储/读取方法 |
CN109947718A (zh) * | 2019-02-25 | 2019-06-28 | 全球能源互联网研究院有限公司 | 一种数据存储方法、存储平台及存储装置 |
CN110287190A (zh) * | 2019-06-25 | 2019-09-27 | 四川深度在线广告传媒有限公司 | 一种大数据分析自定义编码储存结构及编码、解码方法 |
-
2019
- 2019-12-12 CN CN201911273765.1A patent/CN111190901B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9164969B1 (en) * | 2009-09-29 | 2015-10-20 | Cadence Design Systems, Inc. | Method and system for implementing a stream reader for EDA tools |
CN106649828A (zh) * | 2016-12-29 | 2017-05-10 | 中国银联股份有限公司 | 一种数据查询方法及系统 |
CN108874528A (zh) * | 2017-05-09 | 2018-11-23 | 北京京东尚科信息技术有限公司 | 分布式任务存储系统和分布式任务存储/读取方法 |
CN107748752A (zh) * | 2017-09-05 | 2018-03-02 | 新智云数据服务有限公司 | 一种数据处理方法及装置 |
CN109947718A (zh) * | 2019-02-25 | 2019-06-28 | 全球能源互联网研究院有限公司 | 一种数据存储方法、存储平台及存储装置 |
CN110287190A (zh) * | 2019-06-25 | 2019-09-27 | 四川深度在线广告传媒有限公司 | 一种大数据分析自定义编码储存结构及编码、解码方法 |
Non-Patent Citations (2)
Title |
---|
Wenying Zeng;Yuelong Zhao; Kairi Ou;Wei Song.Research on Cloud Storage Architecture and Key Technologies.《ICIS 2009》.2009, * |
薛荷.大数据存储优化及快速检索技术研究.《中国优秀硕士学位论文全文库》.2018, * |
Also Published As
Publication number | Publication date |
---|---|
CN111190901A (zh) | 2020-05-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111190901B (zh) | 业务数据存储方法、装置、计算机设备和存储介质 | |
CN110990400B (zh) | 数据库查询方法、装置、计算机设备和存储介质 | |
CN108573371B (zh) | 数据审批方法、装置、计算机设备和存储介质 | |
CN110413634B (zh) | 数据查询方法、系统、装置及计算机可读存储介质 | |
CN109766534B (zh) | 报表生成方法、装置、计算机设备及可读存储介质 | |
CN112861496A (zh) | 报表生成显示方法、装置、计算机设备和可读存储介质 | |
CN111177302A (zh) | 业务单据处理方法、装置、计算机设备和存储介质 | |
US8489639B2 (en) | Information source alignment | |
CN109062925A (zh) | 自动生成insert语句的方法、装置、计算机设备及存储介质 | |
CN110175157B (zh) | 一种列存储文件的查询方法及查询装置 | |
CN111008241A (zh) | 数据同步方法、装置、存储介质和计算机设备 | |
CN112000903A (zh) | 数据查询方法、装置、计算机设备和存储介质 | |
CN110457401B (zh) | 数据存储方法、装置、计算机设备和存储介质 | |
CN109101232B (zh) | 一种产品开发的方法、装置、计算机设备及存储介质 | |
CN109669951B (zh) | 对象查询方法、装置、计算机设备和存储介质 | |
CN112948504B (zh) | 数据采集方法、装置、计算机设备和存储介质 | |
CN112579608A (zh) | 案件数据查询方法、系统、设备及计算机可读存储介质 | |
CN110188081B (zh) | 基于cassandra数据库的日志数据存储方法、装置和计算机设备 | |
CN109471852B (zh) | 医疗数据库建立方法、装置、计算机设备和存储介质 | |
CN110704437B (zh) | 数据库查询语句的修改方法、装置、设备和存储介质 | |
CN111651457B (zh) | 数据分组方法、装置、计算机设备及存储介质 | |
CN117406967B (zh) | 组件识别方法、装置、电子设备及存储介质 | |
CN112435000B (zh) | 待审批订单通知方法、装置、计算机设备及存储介质 | |
CN110990466B (zh) | 一种数据同步方法及装置 | |
CN116881164A (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 |
Effective date of registration: 20220525 Address after: 518048 China Aviation Center 2901, No. 1018, Huafu Road, Huahang community, Huaqiang North Street, Futian District, Shenzhen, Guangdong Province Applicant after: Shenzhen Ping An medical and Health Technology Service Co.,Ltd. Address before: Room 12G, Area H, 666 Beijing East Road, Huangpu District, Shanghai 200001 Applicant before: PING AN MEDICAL AND HEALTHCARE MANAGEMENT Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |