CN117573687A - 一种基于ClickHouse数据库的业务表单反写/读取方法及系统 - Google Patents
一种基于ClickHouse数据库的业务表单反写/读取方法及系统 Download PDFInfo
- Publication number
- CN117573687A CN117573687A CN202410045618.3A CN202410045618A CN117573687A CN 117573687 A CN117573687 A CN 117573687A CN 202410045618 A CN202410045618 A CN 202410045618A CN 117573687 A CN117573687 A CN 117573687A
- Authority
- CN
- China
- Prior art keywords
- metadata
- description
- write
- writing
- grabbing
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000004458 analytical method Methods 0.000 claims abstract description 29
- 238000013507 mapping Methods 0.000 claims abstract description 20
- 230000008859 change Effects 0.000 claims description 30
- 238000013499 data model Methods 0.000 claims description 18
- 238000006243 chemical reaction Methods 0.000 claims description 8
- 238000012544 monitoring process Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 abstract description 9
- 238000004519 manufacturing process Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 238000011144 upstream manufacturing Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 238000011161 development Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000009193 crawling Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000013481 data capture Methods 0.000 description 1
- 238000013075 data extraction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
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/245—Query processing
- G06F16/2455—Query execution
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
-
- 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)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提出了一种基于ClickHouse数据库的业务表单反写/读取方法及系统,属于数据处理技术领域。本申请,包括:根据所述元数据描述建立所述业务表单元数据的解析引擎;对所述增加/修改的目标业务表单的元数据进行抓取,并将所述抓取的元数据映射为用于反写所述增加/修改的目标业务表单的元数据;基于ClickHouse数据库接收所述增加/修改的目标业务表单的元数据,根据所述业务解析引擎在所述ClickHouse数据库中建立反写表,基于反写表根据所述增加/修改的目标业务表单的反写元数据,对所述增加/修改的目标业务表单进行反写,得到反写业务表单;根据所述目标业务表单的表单元数据,读取反写业务表单。本申请的应用可以有效的解决业务数据的反写及读取的问题。
Description
技术领域
本申请涉及数据处理技术领域,并且更具体地,涉及一种基于ClickHouse数据库的业务表单反写/读取方法及系统。
背景技术
ClickHouse是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS),对于大多数查询而言,处理速度至少提高了100倍。
FlinkCDC是Apache Flink的一组源连接器,使用更改数据捕获(CDC)技术从MySQL、PostgreSQL 等数据库摄取更改的增量数据,以便在需要时可以轻松地将这些数据合并到其他系统中。
业务单据反写是指将下游业务单据某个字段对应的数据反写到上游单据的指定字段上,即是根据下游业务单据某个字段对应的数据来计算上游业务单据的指定字段上的内容。例如,销售订单的下游单据有生产主计划、生产任务单、生产报工单、生产入库单、销售发货单、采购单、销售出库单、退货单以及对应的生产数量、任务数量、报工数量、生产入库数量、销售发货数量、采购数量、销售出库数量和退货数量等。由于单据的种类和数量关系非常多,需要获取某些数据时,需要大量的查找过程,通过单据反写的方式就避免了大量的查找过程,而且将数据反写到上游单据中,也方便根据这些数据做出业务决策,比如根据销售订单反写的已出库产品数量,判断出所有产品是否已出库,则决定是否关闭此订单。
目前,将下游业务单据的实际执行情况反写到上游业务单据中,通常所采用的方法有两种:
一、针对每个具体的业务单据,收集其反写需求,通过硬编码实现,即在下游业务单据的保存或者确认代码中,直接编写反写至业务单据的功能。采用这种方法,由于反写功能是通过硬编码实现,因此其扩展性差,开发效率低且需要根据反写需求修改业务数据库。而且一个上游单据通常有多个下游单据,需要反写的字段很多,也需要专业人员针对每个反写的下游单据分别进行硬编码的操作, 同样会影响单据反写的开发效率、扩展性、反写业务和常规业务有耦合性、以及数据库的并发性能等。
二、配置出各业务单据的反写规则,通过单据按钮或者业务流程环节触发。该方法描述出需要把哪个字段值或者计算结果,反写到上游哪种业务单据的哪个字段上,上游单据的业务表要根据反写需求建立很多反写字段,并把反写规则转换为元数据进行存储;在单据保存或者业务流程的某个环节,读取出其配置的全部反写规则,根据反写规则所描述的内容,逐一把反写量反写到上游业务单据相应的字段上。该方法减少了反写的硬编码,提高了开发效率,但扩展性、反写业务和常规业务的耦合性以及业务数据库的并发性降低并没有解决。
发明内容
针对上述问题,本申请提出了一种基于ClickHouse数据库的业务表单反写/读取方法,包括:
根据业务数据库中存储的业务表单,建立所述业务表单的元数据描述,并根据所述元数据描述建立所述业务表单元数据的解析引擎;
基于所述解析引擎解析业务数据库中增加/修改目标业务表单的表单元数据,并基于所述表单元数据,对所述增加/修改的目标业务表单的元数据进行抓取,并将所述抓取的元数据映射为用于反写所述增加/修改的目标业务表单的元数据;
基于ClickHouse数据库接收所述增加/修改的目标业务表单的元数据,根据所述业务解析引擎在所述ClickHouse数据库中建立反写表,基于反写表根据所述增加/修改的目标业务表单的反写元数据,对所述增加/修改的目标业务表单进行反写,得到反写业务表单;
根据所述目标业务表单的表单元数据,读取反写业务表单。
可选的,建立所述业务表单的元数据描述,包括:建立表单元数据的描述、抓取元数据的描述和反写元数据的描述;
所述表单元数据的描述,包括:
业务表单的主数据和明细数据的关联关系描述和业务表单页面字段显示名称、数据类型、对应在业务数据库的字段及反写元数据的对照关系描述;
所述抓取元数据的描述,包括:
业务表单元数据的抽取条件描述、关联规则描述和转换规则描述;
所述反写元数据的描述,包括:
反写表的类型及字段显示名称/类型的描述。
可选的,表单元数据的描述、抓取元数据的描述和反写元数据的描述,用于建立解析引擎;
所述解析引擎,包括:表单元数据模型、抓取元数据模型和反写元数据模型;
其中,根据所述表单元数据的描述建立表单元数据模型,根据抓取元数据的描述建立抓取元数据模型,根据所述反写元数据的描述建立反写元数据模型。
可选的,表单换数据模型用于根据所述表单元数据的描述,解析业务数据中增加/修改目标业务表单的表单元数据;所述抓取元数据模型用于对抓取的元数据进行映射,将所述抓取的元数据映射为用于反写所述增加/修改的目标业务表单的元数据;所述反写元数据模型用于为ClickHouse数据库提供反写元数据的描述;
所述ClickHouse数据库根据所述反写元数据的描述,在ClickHouse数据库中建立SummingMergeTree引擎,所述SummingMergeTree引擎用于建立反写表。
可选的,方法还包括:
根据抓取元数据的描述,建立用于抓取元数据的抓取程序;
监控业务数据库的增加/修改目标业务表单的变化,并生成变化日志,在监控到业务数据库的变化日志后,抓取元数据模型启动抓取程序,抓取业务数据库增加/修改的目标业务表单的元数据。
再一方面,本申请还提出了一种基于ClickHouse数据库的业务表单反写/读取系统,包括:
描述单元,用于根据业务数据库中存储的业务表单,建立所述业务表单的元数据描述,并根据所述元数据描述建立所述业务表单元数据的解析引擎;
解析单元,用于基于所述解析引擎解析业务数据库中增加/修改目标业务表单的表单元数据,并基于所述表单元数据,对所述增加/修改的目标业务表单的元数据进行抓取,并将所述抓取的元数据映射为用于反写所述增加/修改的目标业务表单的元数据;
反写/读取单元,用于基于ClickHouse数据库接收所述增加/修改的目标业务表单的元数据,根据所述业务解析引擎在所述ClickHouse数据库中建立反写表,基于反写表根据所述增加/修改的目标业务表单的反写元数据,对所述增加/修改的目标业务表单进行反写,得到反写业务表单;根据所述目标业务表单的表单元数据,读取反写业务表单。
可选的,建立所述业务表单的元数据描述,包括:建立表单元数据的描述、抓取元数据的描述和反写元数据的描述;
所述表单元数据的描述,包括:
业务表单的主数据和明细数据的关联关系描述和业务表单页面字段显示名称、数据类型、对应在业务数据库的字段及反写元数据的对照关系描述;
所述抓取元数据的描述,包括:
业务表单元数据的抽取条件描述、关联规则描述和转换规则描述;
所述反写元数据的描述,包括:
反写表的类型及字段显示名称/类型的描述。
可选的,表单元数据的描述、抓取元数据的描述和反写元数据的描述,用于建立解析引擎;
所述解析引擎,包括:表单元数据模型、抓取元数据模型和反写元数据模型;
其中,根据所述表单元数据的描述建立表单元数据模型,根据抓取元数据的描述建立抓取元数据模型,根据所述反写元数据的描述建立反写元数据模型。
可选的,表单换数据模型用于根据所述表单元数据的描述,解析业务数据中增加/修改目标业务表单的表单元数据;所述抓取元数据模型用于对抓取的元数据进行映射,将所述抓取的元数据映射为用于反写所述增加/修改的目标业务表单的元数据;所述反写元数据模型用于为ClickHouse数据库提供反写元数据的描述;
所述ClickHouse数据库根据所述反写元数据的描述,在ClickHouse数据库中建立SummingMergeTree引擎,所述SummingMergeTree引擎用于建立反写表。
可选的,解析单元还用于:
根据抓取元数据的描述,建立用于抓取元数据的抓取程序;
监控业务数据库的增加/修改目标业务表单的变化,并生成变化日志,在监控到业务数据库的变化日志后,抓取元数据模型启动抓取程序,抓取业务数据库增加/修改的目标业务表单的元数据。
与现有技术相比,本申请的有益效果为:
本申请提出了一种基于ClickHouse数据库的业务表单反写/读取方法,包括:根据业务数据库中存储的业务表单,建立所述业务表单的元数据描述,并根据所述元数据描述建立所述业务表单元数据的解析引擎;基于所述解析引擎解析业务数据库中增加/修改目标业务表单的表单元数据,并基于所述表单元数据,对所述增加/修改的目标业务表单的元数据进行抓取,并将所述抓取的元数据映射为用于反写所述增加/修改的目标业务表单的元数据;基于ClickHouse数据库接收所述增加/修改的目标业务表单的元数据,根据所述业务解析引擎在所述ClickHouse数据库中建立反写表,基于反写表根据所述增加/修改的目标业务表单的反写元数据,对所述增加/修改的目标业务表单进行反写,得到反写业务表单;根据所述目标业务表单的表单元数据,读取反写业务表单。本申请的应用可以有效的解决业务数据的反写及读取的问题。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所使用的附图作简单介绍,显而易见,以下描述的附图仅仅是本申请的具体实施例,本领域技术人员在不付出创造性劳动的前提下,可以根据以下附图获得其他实施例。
图1为本申请方法实施例1的流程示意图;
图2为本申请方法实施例2的原理图;
图3为本申请方法实施例2的流程示意图;
图4为本申请方法实施例3的结构示意图。
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
具体实施方式
现在参考附图介绍本申请的示例性实施方式,然而,本申请可以用许多不同的形式来实施,并且不局限于此处描述的实施例,提供这些实施例是为了详尽地且完全地公开本申请,并且向所属技术领域的技术人员充分传达本申请的范围。对于表示在附图中的示例性实施方式中的术语并不是对本申请的限定。在附图中,相同的单元/元件使用相同的附图标记。
除非另有说明,此处使用的术语(包括科技术语)对所属技术领域的技术人员具有通常的理解含义。另外,可以理解的是,以通常使用的词典限定的术语,应当被理解为与其相关领域的语境具有一致的含义,而不应该被理解为理想化的或过于正式的意义。
实施例1:
本申请提出了一种基于ClickHouse数据库的业务表单反写/读取方法,如图1所示,包括:
步骤s1、根据业务数据库中存储的业务表单,建立所述业务表单的元数据描述,并根据所述元数据描述建立所述业务表单元数据的解析引擎;
步骤s2、基于所述解析引擎解析业务数据库中增加/修改目标业务表单的表单元数据,并基于所述表单元数据,对所述增加/修改的目标业务表单的元数据进行抓取,并将所述抓取的元数据映射为用于反写所述增加/修改的目标业务表单的元数据;
步骤s3、基于ClickHouse数据库接收所述增加/修改的目标业务表单的元数据,根据所述业务解析引擎在所述ClickHouse数据库中建立反写表,基于反写表根据所述增加/修改的目标业务表单的反写元数据,对所述增加/修改的目标业务表单进行反写,得到反写业务表单;
步骤s4、根据所述目标业务表单的表单元数据,读取反写业务表单。
其中,建立所述业务表单的元数据描述,包括:建立表单元数据的描述、抓取元数据的描述和反写元数据的描述;
所述表单元数据的描述,包括:
业务表单的主数据和明细数据的关联关系描述和业务表单页面字段显示名称、数据类型、对应在业务数据库的字段及反写元数据的对照关系描述;
所述抓取元数据的描述,包括:
业务表单元数据的抽取条件描述、关联规则描述和转换规则描述;
所述反写元数据的描述,包括:
反写表的类型及字段显示名称/类型的描述。
其中,表单元数据的描述、抓取元数据的描述和反写元数据的描述,用于建立解析引擎;
所述解析引擎,包括:表单元数据模型、抓取元数据模型和反写元数据模型;
其中,根据所述表单元数据的描述建立表单元数据模型,根据抓取元数据的描述建立抓取元数据模型,根据所述反写元数据的描述建立反写元数据模型。
其中,表单换数据模型用于根据所述表单元数据的描述,解析业务数据中增加/修改目标业务表单的表单元数据;所述抓取元数据模型用于对抓取的元数据进行映射,将所述抓取的元数据映射为用于反写所述增加/修改的目标业务表单的元数据;所述反写元数据模型用于为ClickHouse数据库提供反写元数据的描述;
所述ClickHouse数据库根据所述反写元数据的描述,在ClickHouse数据库中建立SummingMergeTree引擎,所述SummingMergeTree引擎用于建立反写表。
其中,方法还包括:
根据抓取元数据的描述,建立用于抓取元数据的抓取程序;
监控业务数据库的增加/修改目标业务表单的变化,并生成变化日志,在监控到业务数据库的变化日志后,抓取元数据模型启动抓取程序,抓取业务数据库增加/修改的目标业务表单的元数据。
实施例2:
本申请提出了一种基于ClickHouse数据库的业务表单反写/读取方法,其实施原理如图2所示,其原理包括如下:
建立元数据和对应的解析引擎,包括表单元数据,抓取元数据和反写元数据以及对应的解析引擎。
表单元数据主要是建立业务表单的主数据和明细数据的关联关系,以及每个页面字段的显示名称,数据类型和对应的数据库字段等,以及与反写元数据的对照关系。
抓取元数据定义业务数据的抽取条件、关联规则和转换规则等。抽取元数据依赖表单元数据,并映射到反写元数据。
反写元数据,描述反写表的类型和字段的显示名称,类型等,为创建ClickHouse数据库的SummingMergeTree 引擎的宽表提供规则描述。
应用系统的表单引擎解析表单元数据,把页面的数据写入到业务数据库。
FlinkCDC单元根据抓取元数据编写通用的数据抽取、关联程序,当监控到业务数据库变化的时候,进行变化内容的解析,并映射到对应的抓取元数据模型,执行元数据解析程序,将处理好的数据按照反写元数据的描述规则落盘到ClickHouse数据库。
应用系统读取反写的数据,应用系统按照表单元数据的描述读取业务数据和反写的数据。
经由上述的技术方案可知,与现有技术相比,本发明提供了一种实现单据反写的方法和系统,通过各种元数据的定义和对应的解析程序,只需要对元数据进行简单的配置就可以实现单据反写功能, 无需专业人员主动进行编写代码的操作,减小了工作量,且充分利用了ClickHouse数据库的特点,不需要修改业务数据库,减轻了业务数据库的反写压力和耦合,从而大幅提高了单据反写的开发效率和整体性能。
有上述原理进行实施,其实施步骤如图3所示,包括:
步骤100,即表单元数据定义,对业务表单建立元数据的描述,包括表单名称、表单的主数据和明细数据以及每个页面字段的显示名称,数据类型和对应的数据库字段等。业务系统中会有大量的表单,对表单建立统一的元数据描述,为后续通用的处理提供了基础,避免了对每个业务表单单独处理。该步骤只是元数据定义,并不需要修改业务数据库。
步骤110,120,业务系统表单新增、删除和修改等操作,触发数据库变化,数据库的变化会以增量的方式存储到数据库日志中。
步骤130,FlinkCDC实时捕捉到数据库日志的变化,包括新增、删除和修改等各种操作,变换的数据传给给步骤150。
步骤140,即抓取元数据定义,该步骤定义什么样的数据库日志变化被抓取,包括抓取条件,例如只有确认的单据才抓取。抓取元数据还定义数据的关联转换规则,例如销售订单一般分为销售订单主表数据和销售订单明细数据,主表数据存储客户等信息,明细数据存储客户购买的多个产品信息,数据反写到ClickHouse数据库前,需要定义数据打平的规则,即表单主数据左关联订单明细数据的规则。
步骤150,对实时捕捉到的变化数据,按照抓取元数据定义的规则进行解析与执行,对数据进行关联和处理。
步骤160,反写元数据定义,描述反写表的类型和字段的显示名称,类型等,业务的反写一般都是求和累计,反写表的类型一般都会设置为ClickHouse数据库支持的SummingMergeTree引擎,以充分利用其合并相同主键值记录的能力,会把所有具有相同主键的行合并为一行,该行包含了被合并的行中具有数值数据类型的列的汇总值,即如果存在重复的数据,会对对这些重复的数据进行合并成一条数据,类似于分组汇总的效果,可以显著减少存储空间并加快数据查询速度。
步骤170,按照反写原数据的定义,创建ClickHouse数据库中的表,接收步骤150处理好的数据,实现数据反写功能。
以销售订单下游的生产订单和发货单为例来列举过程,反写元数据的主要字段包括销售订单号、客户名称、产品代码、产品名称、订单数量,累计生产数量,累计发货数量。销售订单保存的时候,步骤150会把数据打平,数据落盘到ClickHouse数据库,包括销售订单号、客户名称、产品代码、产品名称、订单数量。该销售订单对应的生产订单保存的时候,步骤150会把数据打平,数据落盘到ClickHouse数据库,包括销售订单号、产品代码、生产数量,按照映射关系SummingMergeTree引擎聚合相同主键值记录的能力,该条数据会与销售订单的记录合并,并把生产数量落盘到累计生产数量字段,该销售订单第二次做生产订单的时候,同样在执行步骤150的时候,会把新的生产数量落盘并自动和原来的数据累加,最后合并到累计生产数量字段。发货单同理,会把发货数量反写到累计发货数量字段。上述过程,没有针对具体单据的自定义编码,只使用了各种元数据,并对元数据进行解析,就实现了单据反写功能,也没有操作业务数据库,效率和扩展性都非常好。
步骤180,业务表单显示的时候,按照表单元数据的定义,先从业务数据库取单据的基本数据,再从ClickHouse数据库中获取反写的数据。
本申请和现有技术相比,具有以下突出的有益效果:业务数据库不需要任何改动,充分利用了ClickHouse数据库的特点,非开发人员在系统运行期间配置相关的元数据,即可高效实现性能良好的单据反写功能,做到快速实现企业反写需求。
实施例3:
再一方面,本申请还提出了一种基于ClickHouse数据库的业务表单反写/读取系统300,如图4所示,包括:
描述单元301,用于根据业务数据库中存储的业务表单,建立所述业务表单的元数据描述,并根据所述元数据描述建立所述业务表单元数据的解析引擎;
解析单元302,用于基于所述解析引擎解析业务数据库中增加/修改目标业务表单的表单元数据,并基于所述表单元数据,对所述增加/修改的目标业务表单的元数据进行抓取,并将所述抓取的元数据映射为用于反写所述增加/修改的目标业务表单的元数据;
反写/读取单元303,用于基于ClickHouse数据库接收所述增加/修改的目标业务表单的元数据,根据所述业务解析引擎在所述ClickHouse数据库中建立反写表,基于反写表根据所述增加/修改的目标业务表单的反写元数据,对所述增加/修改的目标业务表单进行反写,得到反写业务表单;根据所述目标业务表单的表单元数据,读取反写业务表单。
其中,建立所述业务表单的元数据描述,包括:建立表单元数据的描述、抓取元数据的描述和反写元数据的描述;
所述表单元数据的描述,包括:
业务表单的主数据和明细数据的关联关系描述和业务表单页面字段显示名称、数据类型、对应在业务数据库的字段及反写元数据的对照关系描述;
所述抓取元数据的描述,包括:
业务表单元数据的抽取条件描述、关联规则描述和转换规则描述;
所述反写元数据的描述,包括:
反写表的类型及字段显示名称/类型的描述。
其中,表单元数据的描述、抓取元数据的描述和反写元数据的描述,用于建立解析引擎;
所述解析引擎,包括:表单元数据模型、抓取元数据模型和反写元数据模型;
其中,根据所述表单元数据的描述建立表单元数据模型,根据抓取元数据的描述建立抓取元数据模型,根据所述反写元数据的描述建立反写元数据模型。
其中,表单换数据模型用于根据所述表单元数据的描述,解析业务数据中增加/修改目标业务表单的表单元数据;所述抓取元数据模型用于对抓取的元数据进行映射,将所述抓取的元数据映射为用于反写所述增加/修改的目标业务表单的元数据;所述反写元数据模型用于为ClickHouse数据库提供反写元数据的描述;
所述ClickHouse数据库根据所述反写元数据的描述,在ClickHouse数据库中建立SummingMergeTree引擎,所述SummingMergeTree引擎用于建立反写表。
其中,解析单元302还用于:
根据抓取元数据的描述,建立用于抓取元数据的抓取程序;
监控业务数据库的增加/修改目标业务表单的变化,并生成变化日志,在监控到业务数据库的变化日志后,抓取元数据模型启动抓取程序,抓取业务数据库增加/修改的目标业务表单的元数据。
本申请的应用可以有效的解决业务数据的反写及读取的问题。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本申请实施例中的方案可以采用各种计算机语言实现,例如,面向对象的程序设计语言Java和直译式脚本语言JavaScript等。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种基于ClickHouse数据库的业务表单反写/读取方法,其特征在于,所述业务表单反写/读取方法,包括:
根据业务数据库中存储的业务表单,建立所述业务表单的元数据描述,并根据所述元数据描述建立所述业务表单元数据的解析引擎;
基于所述解析引擎解析业务数据库中增加/修改目标业务表单的表单元数据,并基于所述表单元数据,对所述增加/修改的目标业务表单的元数据进行抓取,并将所述抓取的元数据映射为用于反写所述增加/修改的目标业务表单的元数据;
基于ClickHouse数据库接收所述增加/修改的目标业务表单的元数据,根据所述业务解析引擎在所述ClickHouse数据库中建立反写表,基于反写表根据所述增加/修改的目标业务表单的反写元数据,对所述增加/修改的目标业务表单进行反写,得到反写业务表单;
根据所述目标业务表单的表单元数据,读取反写业务表单。
2.根据权利要求1所述的业务表单反写/读取方法,其特征在于,所述建立所述业务表单的元数据描述,包括:建立表单元数据的描述、抓取元数据的描述和反写元数据的描述;
所述表单元数据的描述,包括:
业务表单的主数据和明细数据的关联关系描述和业务表单页面字段显示名称、数据类型、对应在业务数据库的字段及反写元数据的对照关系描述;
所述抓取元数据的描述,包括:
业务表单元数据的抽取条件描述、关联规则描述和转换规则描述;
所述反写元数据的描述,包括:
反写表的类型及字段显示名称/类型的描述。
3.根据权利要求2所述的业务表单反写/读取方法,其特征在于,所述表单元数据的描述、抓取元数据的描述和反写元数据的描述,用于建立解析引擎;
所述解析引擎,包括:表单元数据模型、抓取元数据模型和反写元数据模型;
其中,根据所述表单元数据的描述建立表单元数据模型,根据抓取元数据的描述建立抓取元数据模型,根据所述反写元数据的描述建立反写元数据模型。
4.根据权利要求3所述的业务表单反写/读取方法,其特征在于,所述表单换数据模型用于根据所述表单元数据的描述,解析业务数据中增加/修改目标业务表单的表单元数据;所述抓取元数据模型用于对抓取的元数据进行映射,将所述抓取的元数据映射为用于反写所述增加/修改的目标业务表单的元数据;所述反写元数据模型用于为ClickHouse数据库提供反写元数据的描述;
所述ClickHouse数据库根据所述反写元数据的描述,在ClickHouse数据库中建立SummingMergeTree引擎,所述SummingMergeTree引擎用于建立反写表。
5.根据权利要求3所述的业务表单反写/读取方法,其特征在于,所述方法还包括:
根据抓取元数据的描述,建立用于抓取元数据的抓取程序;
监控业务数据库的增加/修改目标业务表单的变化,并生成变化日志,在监控到业务数据库的变化日志后,抓取元数据模型启动抓取程序,抓取业务数据库增加/修改的目标业务表单的元数据。
6.一种基于ClickHouse数据库的业务表单反写/读取系统,其特征在于,所述业务表单反写/读取系统,包括:
描述单元,用于根据业务数据库中存储的业务表单,建立所述业务表单的元数据描述,并根据所述元数据描述建立所述业务表单元数据的解析引擎;
解析单元,用于基于所述解析引擎解析业务数据库中增加/修改目标业务表单的表单元数据,并基于所述表单元数据,对所述增加/修改的目标业务表单的元数据进行抓取,并将所述抓取的元数据映射为用于反写所述增加/修改的目标业务表单的元数据;
反写/读取单元,用于基于ClickHouse数据库接收所述增加/修改的目标业务表单的元数据,根据所述业务解析引擎在所述ClickHouse数据库中建立反写表,基于反写表根据所述增加/修改的目标业务表单的反写元数据,对所述增加/修改的目标业务表单进行反写,得到反写业务表单;根据所述目标业务表单的表单元数据,读取反写业务表单。
7.根据权利要求6所述的业务表单反写/读取系统,其特征在于,所述建立所述业务表单的元数据描述,包括:建立表单元数据的描述、抓取元数据的描述和反写元数据的描述;
所述表单元数据的描述,包括:
业务表单的主数据和明细数据的关联关系描述和业务表单页面字段显示名称、数据类型、对应在业务数据库的字段及反写元数据的对照关系描述;
所述抓取元数据的描述,包括:
业务表单元数据的抽取条件描述、关联规则描述和转换规则描述;
所述反写元数据的描述,包括:
反写表的类型及字段显示名称/类型的描述。
8.根据权利要求7所述的业务表单反写/读取系统,其特征在于,所述表单元数据的描述、抓取元数据的描述和反写元数据的描述,用于建立解析引擎;
所述解析引擎,包括:表单元数据模型、抓取元数据模型和反写元数据模型;
其中,根据所述表单元数据的描述建立表单元数据模型,根据抓取元数据的描述建立抓取元数据模型,根据所述反写元数据的描述建立反写元数据模型。
9.根据权利要求8所述的业务表单反写/读取系统,其特征在于,所述表单换数据模型用于根据所述表单元数据的描述,解析业务数据中增加/修改目标业务表单的表单元数据;所述抓取元数据模型用于对抓取的元数据进行映射,将所述抓取的元数据映射为用于反写所述增加/修改的目标业务表单的元数据;所述反写元数据模型用于为ClickHouse数据库提供反写元数据的描述;
所述ClickHouse数据库根据所述反写元数据的描述,在ClickHouse数据库中建立SummingMergeTree引擎,所述SummingMergeTree引擎用于建立反写表。
10.根据权利要求8所述的业务表单反写/读取系统,其特征在于,所述解析单元还用于:
根据抓取元数据的描述,建立用于抓取元数据的抓取程序;
监控业务数据库的增加/修改目标业务表单的变化,并生成变化日志,在监控到业务数据库的变化日志后,抓取元数据模型启动抓取程序,抓取业务数据库增加/修改的目标业务表单的元数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410045618.3A CN117573687B (zh) | 2024-01-12 | 2024-01-12 | 一种基于ClickHouse数据库的业务表单反写/读取方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410045618.3A CN117573687B (zh) | 2024-01-12 | 2024-01-12 | 一种基于ClickHouse数据库的业务表单反写/读取方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117573687A true CN117573687A (zh) | 2024-02-20 |
CN117573687B CN117573687B (zh) | 2024-04-12 |
Family
ID=89888399
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410045618.3A Active CN117573687B (zh) | 2024-01-12 | 2024-01-12 | 一种基于ClickHouse数据库的业务表单反写/读取方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117573687B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103778154A (zh) * | 2012-10-24 | 2014-05-07 | 金蝶软件(中国)有限公司 | 表单属性的反写方法及装置 |
CN114186000A (zh) * | 2021-12-14 | 2022-03-15 | 上海识装信息科技有限公司 | 一种基于Flink的业务数据监控方法、装置及存储介质 |
WO2022133981A1 (zh) * | 2020-12-25 | 2022-06-30 | 京东方科技集团股份有限公司 | 数据处理方法、平台、计算机可读存储介质及电子设备 |
WO2023159680A1 (zh) * | 2022-02-24 | 2023-08-31 | 长鑫存储技术有限公司 | 测试方法、计算机设备和计算机可读存储介质 |
-
2024
- 2024-01-12 CN CN202410045618.3A patent/CN117573687B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103778154A (zh) * | 2012-10-24 | 2014-05-07 | 金蝶软件(中国)有限公司 | 表单属性的反写方法及装置 |
WO2022133981A1 (zh) * | 2020-12-25 | 2022-06-30 | 京东方科技集团股份有限公司 | 数据处理方法、平台、计算机可读存储介质及电子设备 |
CN114186000A (zh) * | 2021-12-14 | 2022-03-15 | 上海识装信息科技有限公司 | 一种基于Flink的业务数据监控方法、装置及存储介质 |
WO2023159680A1 (zh) * | 2022-02-24 | 2023-08-31 | 长鑫存储技术有限公司 | 测试方法、计算机设备和计算机可读存储介质 |
Non-Patent Citations (1)
Title |
---|
樊春美;朱建生;单杏花;杨立鹏;李雯;: "基于Flink实时计算的自动化流控制算法", 计算机技术与发展, no. 08, 10 August 2020 (2020-08-10) * |
Also Published As
Publication number | Publication date |
---|---|
CN117573687B (zh) | 2024-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8234248B2 (en) | Tracking changes to a business object | |
US8626702B2 (en) | Method and system for validation of data extraction | |
US9418127B2 (en) | Method and system for designing business domain model, data warehouse model and mapping therebetween synchronously | |
CN108829731A (zh) | 数据分析方法、系统、计算机可读存储介质、及电子终端 | |
JP5600185B2 (ja) | データベース内の大容量コレクションオブジェクトテーブルにアクセスするための方法 | |
US10580006B2 (en) | System and method of managing data injection into an executing data processing system | |
KR20150132858A (ko) | 메타데이터 관리를 위한 시스템 | |
CN112000656A (zh) | 基于元数据的智能化数据清洗方法及装置 | |
CN105630934A (zh) | 一种数据统计方法及系统 | |
Vogelgesang et al. | Celonis PQL: A query language for process mining | |
US20220253453A1 (en) | Method and system for persisting data | |
CN116579804A (zh) | 一种节假日商品销量预测方法、装置及计算机存储介质 | |
Wang et al. | Cloud-based in-memory columnar database architecture for continuous audit analytics | |
Jukic et al. | Expediting analytical databases with columnar approach | |
CN117573687B (zh) | 一种基于ClickHouse数据库的业务表单反写/读取方法及系统 | |
Milosevic et al. | Big data management processes in business intelligence systems | |
Su et al. | Business intelligence revisited | |
US8452636B1 (en) | Systems and methods for market performance analysis | |
CN114549052A (zh) | 基于数据的精准营销方法、装置、设备与存储介质 | |
JP2011040016A (ja) | 財務管理方法およびシステム | |
Lake et al. | A history of databases | |
Bog et al. | A composite benchmark for online transaction processing and operational reporting | |
JP5252008B2 (ja) | データ集計装置およびデータ集計プログラム | |
Xiao | Data Processing Model of Bank Credit Evaluation System. | |
Domdouzis et al. | A History of Databases |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |