CN117215571A - 一种基于大数据引擎的数据同步表单配置系统、方法 - Google Patents
一种基于大数据引擎的数据同步表单配置系统、方法 Download PDFInfo
- Publication number
- CN117215571A CN117215571A CN202311254345.5A CN202311254345A CN117215571A CN 117215571 A CN117215571 A CN 117215571A CN 202311254345 A CN202311254345 A CN 202311254345A CN 117215571 A CN117215571 A CN 117215571A
- Authority
- CN
- China
- Prior art keywords
- data
- engine
- rendering
- json schema
- configuration system
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 22
- 238000009877 rendering Methods 0.000 claims abstract description 35
- 238000012545 processing Methods 0.000 claims abstract description 18
- 239000000463 material Substances 0.000 claims abstract description 11
- 238000005192 partition Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 10
- 230000008859 change Effects 0.000 claims description 6
- 230000008569 process Effects 0.000 claims description 6
- 238000013507 mapping Methods 0.000 claims description 2
- 238000012423 maintenance Methods 0.000 abstract description 3
- 230000006870 function Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 241000282813 Aepyceros melampus Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000739 chaotic effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 239000003292 glue Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- 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
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及大数据处理技术领域中的一种基于大数据引擎的数据同步表单配置系统、方法,包括服务端、物料库和渲染引擎;服务端用于获取不同数据源的JSON Schema,并将不同数据源的JSON Schema存储在数据库内;物料库用于存储所配置的表单组件;渲染引擎用于在用户选择其中一种数据源的JSON Schema后,根据用户所选的数据源的JSON Schema生成UI渲染表单,解决了由于数据引擎的差异导致数据源维护混乱的问题。
Description
技术领域
本发明涉及大数据处理技术领域,具体涉及一种基于大数据引擎的数据同步表单配置系统、方法。
背景技术
在大数据引擎数据同步场景下,会存在跨多种引擎数据同步的情况,例如MySQL、Spark、Hive、Impala、Inceptor等。不同数据引擎之间在支持的特性、配置的方式之间存在差异,那么在配置的过程中也需要区分出来。比如,原有方案的实现是每新增一种数据引擎,都需要写一个对应的switch case,许多胶水代码。久而久之,数据同步模块的代码可读性、可维护性都很差,单个组件代码能够达到5000行以上,组件内部逻辑比较混乱,同时逻辑代码不清晰,排查问题耗费时间长、难定位。
发明内容
本发明针对现有技术中的缺点,提供了一种基于大数据引擎的数据同步表单配置系统、方法,解决了由于数据引擎的差异导致数据源维护混乱的问题。
为了解决上述技术问题,本发明通过下述技术方案得以解决:
一种基于大数据引擎的数据同步表单配置系统,包括服务端、物料库和渲染引擎;
所述服务端用于获取不同数据源的JSON Schema,并将不同数据源的JSON Schema存储在数据库内;
所述物料库用于存储所配置的表单组件;
所述渲染引擎用于在用户选择其中一种数据源的JSON Schema后,根据用户所选的数据源的JSON Schema生成UI渲染表单。
可选的,所述渲染引擎还用于处理表单之间的联动逻辑。
可选的,表单之间的联动逻辑处理包括表单项间数据的联动处理、表单项UI联动处理、表单项的值变化时调用接口处理。
可选的,所述表单项间数据的联动处理,包括以下步骤:
分析字段间的依赖关系,并基于分析的依赖关系生成依赖关系图。
可选的,表单项UI联动处理,包括以下步骤:
设定各个表单组件对应的表单项的特定值,并基于各个表单项对应的特定值设定分区字段表单项的显示情况,其中,表单项的特定值与分区字段表单项的显示情况为多对一的映射关系。
可选的,表单项的值变化时调用接口处理,包括以下步骤:
当某一表单项的字段值发生变化时,基于变化的字段值调用该表单项下的接口,并将调用的接口返回的结果进行存储。
可选的,所述表单组件包括自定义组件和固定组件。
可选的,根据用户所选的数据源的JSON Schema生成UI渲染表单,包括以下步骤:
获取用户所选的数据源的JSON Schema,并传入渲染引擎以完成UI渲染表单渲染。
一种基于大数据引擎的数据同步表单配置方法,所述方法应用于上述任意一项所述的基于大数据引擎的数据同步表单配置系统,包括以下步骤:
构建不同种类的UI组件;
基于物料库内的UI组件约定对应的配置项;
针对不同数据源生成不同的JSON Schema配置,并将不同数据源的JSON Schema配置存储至数据库中;
当用户选择其中一种数据源的JSON Schema后,渲染引擎根据用户所选数据源的JSON Schema生成UI渲染表单。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现上述所述的基于大数据引擎的数据同步表单配置方法。
采用本发明提供的技术方案,与现有技术相比,具有如下有益效果:
1、降低人工负荷,设置多种数据源以供选择,若新增一种数据源时,不需要再去开发重复而冗余的前端模版代码,只需新增一份JOSN Schema配置即可;
2、在添加新的数据源类型时,不会对其他数据源类型的JOSN产生干扰。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本实施例一提出的一种基于大数据引擎的数据同步表单配置系统的运行流程图。
具体实施方式
下面结合实施例对本发明做进一步的详细说明,以下实施例是对本发明的解释而本发明并不局限于以下实施例。
实施例一
如图1所示,一种基于大数据引擎的数据同步表单配置系统,包括服务端、物料库和渲染引擎;物料库用于存储所配置的表单组件,以及存储基于表单组件生成的配置项,具体地物料库指的是常见的表单组件,主要用于数据的管理、维护、收集,比如Input输入框、Select下拉框、Table表格等,基本的表单组件是不需要开发的,但是对于一些比较特殊的组件,比如带一键生成目标表的表名输入框,这种就属于自定义组件,需要单独开发,开发起来也较方便,遵守Ant Design自定义表单控件的约定即可,即支持value、onChange等属性。
而配置项则是根据组件库的表单组件来生成的,在本实施例中,可以根据业务实际情况来生成需要的配置项,如下表1所示,为所生成的配置项表单。
表1
创建完表单组件和配置项后,还需要考虑表单项间数据的联动的处理、表单项UI联动、表单项的值变化时调用接口三个部分的处理逻辑,其中,表单项间数据的联动处理指的是,当一个表单项的值变化时,另一个表单项的值也要跟着改变,比如在重新选择了schema后,之前所选的表名数据应当被清空。
具体地,开发者在数据源对应的JSON配置中使用dependencies字段描述(类似于Ant Design v4.0 Form.Item的dependencies属性)当前字段的值依赖哪些值,比如表名字段依赖schema字段,分区字段依赖表名(tableName)和schema,渲染引擎FormRender在接收到数据源JSON配置后,会去分析字段间的依赖关系,生成依赖关系图,以便拿到跟一个字段的所有直接和间接依赖,通过发布订阅,当用户交互触发某个值变化时,根据依赖关系图去处理字段间的数据联动。
更具体地,例如以下代码:
[
{fieldName:‘schema',dependencies:[]},
{fieldName:‘table',dependencies:[‘schema']},
{fieldName:‘partition',dependencies:[‘schema',‘table']},];
由上面的配置项代码就可分析出table字段依赖于schema字段;partition字段依赖于schema、table字段,在页面中表现为:当schema发生变化时,table、partition字段对应的dom都会重新渲染,当table发生变化时,partition字段对应的dom会重新渲染,从而能够拿到最新的值用于判断、计算、渲染等额外的操作。
表单项UI联动指的是当某个表单项的值为特定的值时,另一些表单项应当显示/隐藏,比如impala数据源在选择到hive表时,应当显示分区字段表单项,选择到库表时,隐藏分区字段表单项。
具体地,开发者在数据源对应的JSON配置中使用destroy、hidden字段来描述一个字段在UI上是否隐藏,支持使用JavaScript表达式,表达式中可使用formData和extraData变量,formData就是当前表单收集到的数据,extraData是一些额外的数据,这些数据来自于service,具体情况在下文中会讲到。
更具体地,例如impala数据源的分区字段的配置如下:
{
//当表类型不是hive时,此字段销毁并隐藏
fieldName:‘partition',
destroy:"{{extraData.tableType!==‘hive'}}",
};
由上述的配置项代码可以分析为只有当tableType的值为hive时才展示partition,其他情况partition字段对应的dom均隐藏。
以schema为例,表单项的值变化时调用接口指的是,当选择schema时,需要去请求当前schema下有哪些表。
开发者在数据源对应的JSON配置中用triggerActions字段来描述当此字段值变化时要去触发哪些动作,比如,当schema字段变化时,需要去请求当前schema下有哪些table,以以下代码为例:
{
fieldName:"schema",
triggerActions:[{
serviceName:"getTableList",
fieldInExtraData:"tableList",
}]
};其中,serviceName为需要调用的service名称;fieldInExtraData:指的是service的返回值需要被存在extraData中的哪个字段。
在上述配置项代码中,所表示的含义是,当schema字段发生变化时,发起serviceName为getTableList的接口调用,并将接口返回的结果赋值给tableList并存储在extraData中,便于form表单使用。
然后使用渲染引擎(engine)处理表单之间的联动逻辑,接受数据源对应的JSON配置,输出表单UI,在项目中引用FormRender渲染引擎,当用户选择数据源后请求对应数据源类型的JSON数据,将JSON数据传入FormRender,完成页面渲染,渲染引擎支持的属性如下表2所示:
表2
完成上述系统搭建后,运行流程如下:首先服务端(service)获取不同数据源的JSON Schema,并将不同数据源的JSON Schema存储在数据库内;页面中当用户选择了数据源后,会根据用户选择的数据源,获取对应数据源类型的JSON Schema配置,将获取到的JSON配置通过参数传递给渲染引擎(Engine);渲染引擎(Engine)接收到JSON配置后,会分析依赖关系、显隐逻辑等,递归渲染UI并输出UI渲染表单。
实施例二
一种基于大数据引擎的数据同步表单配置方法,应用于实施例一所述的基于大数据引擎的数据同步表单配置系统,包括以下步骤:构建不同种类的UI组件;基于物料库内的UI组件约定对应的配置项;针对不同数据源生成不同的JSON Schema配置,并将不同数据源的JSON Schema配置存储至数据库中;当用户选择其中一种数据源的JSON Schema后,渲染引擎根据用户所选数据源的JSON Schema生成UI渲染表单。
一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时,实现基于大数据引擎的数据同步表单配置方法。
计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线段的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线段、电线段、光缆、RF等等,或者上述的任意合适的组合。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块、模组或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元、模组或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。
所述单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分从网络上被下载和安装,和/或从可拆卸介质被安装。在该计算机程序被中央处理单元(CPU)执行时,执行本申请的方法中限定的上述功能。需要说明的是,本申请上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线段、或半导体的系统、装置或器件,或者任意以上的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何在本发明揭露的技术范围内的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种基于大数据引擎的数据同步表单配置系统,其特征在于,包括服务端、物料库和渲染引擎;
所述服务端用于获取不同数据源的JSON Schema,并将不同数据源的JSON Schema存储在数据库内;
所述物料库用于存储所配置的表单组件;
所述渲染引擎用于在用户选择其中一种数据源的JSON Schema后,根据用户所选的数据源的JSON Schema生成UI渲染表单。
2.根据权利要求1所述的一种基于大数据引擎的数据同步表单配置系统,其特征在于,所述渲染引擎还用于处理表单之间的联动逻辑。
3.根据权利要求2所述的一种基于大数据引擎的数据同步表单配置系统,其特征在于,表单之间的联动逻辑处理包括表单项间数据的联动处理、表单项UI联动处理、表单项的值变化时调用接口处理。
4.根据权利要求3所述的一种基于大数据引擎的数据同步表单配置系统,其特征在于,所述表单项间数据的联动处理,包括以下步骤:
分析字段间的依赖关系,并基于分析的依赖关系生成依赖关系图。
5.根据权利要求3所述的一种基于大数据引擎的数据同步表单配置系统,其特征在于,表单项UI联动处理,包括以下步骤:
设定各个表单组件对应的表单项的特定值,并基于各个表单项对应的特定值设定分区字段表单项的显示情况,其中,表单项的特定值与分区字段表单项的显示情况为多对一的映射关系。
6.根据权利要求3所述的一种基于大数据引擎的数据同步表单配置系统,其特征在于,表单项的值变化时调用接口处理,包括以下步骤:
当某一表单项的字段值发生变化时,基于变化的字段值调用该表单项下的接口,并将调用的接口返回的结果进行存储。
7.根据权利要求1所述的一种基于大数据引擎的数据同步表单配置系统,其特征在于,所述表单组件包括自定义组件和固定组件。
8.根据权利要求1所述的一种基于大数据引擎的数据同步表单配置系统,其特征在于,根据用户所选的数据源的JSON Schema生成UI渲染表单,包括以下步骤:
获取用户所选的数据源的JSON Schema,并传入渲染引擎以完成UI渲染表单渲染。
9.一种基于大数据引擎的数据同步表单配置方法,其特征在于,所述方法应用于如权利要求1-8任意一项所述的基于大数据引擎的数据同步表单配置系统,包括以下步骤:
构建不同种类的UI组件;
基于物料库内的UI组件约定对应的配置项;
针对不同数据源生成不同的JSON Schema配置,并将不同数据源的JSON Schema配置存储至数据库中;
当用户选择其中一种数据源的JSON Schema后,渲染引擎根据用户所选数据源的JSONSchema生成UI渲染表单。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现权利要求9所述的基于大数据引擎的数据同步表单配置方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311254345.5A CN117215571A (zh) | 2023-09-26 | 2023-09-26 | 一种基于大数据引擎的数据同步表单配置系统、方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311254345.5A CN117215571A (zh) | 2023-09-26 | 2023-09-26 | 一种基于大数据引擎的数据同步表单配置系统、方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117215571A true CN117215571A (zh) | 2023-12-12 |
Family
ID=89047978
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311254345.5A Pending CN117215571A (zh) | 2023-09-26 | 2023-09-26 | 一种基于大数据引擎的数据同步表单配置系统、方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117215571A (zh) |
-
2023
- 2023-09-26 CN CN202311254345.5A patent/CN117215571A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111177231B (zh) | 报表生成方法和报表生成装置 | |
CN109766127B (zh) | 用于更新应用程序版本信息的方法 | |
CN107016094B (zh) | 一种项目共享文件多人协同开发方法、装置及系统 | |
CN109766148B (zh) | 用于处理接口方法调用的方法和装置 | |
CN110555030A (zh) | 一种sql语句的处理方法和装置 | |
US20170154123A1 (en) | System and method for processing metadata to determine an object sequence | |
CN112527848B (zh) | 基于多数据源的报表数据查询方法、装置、系统及存储介质 | |
CN111143390A (zh) | 更新元数据的方法及装置 | |
CN112818026A (zh) | 数据整合方法和装置 | |
CN113760242A (zh) | 一种数据处理方法、装置、服务器和介质 | |
US20140372488A1 (en) | Generating database processes from process models | |
US20190213018A1 (en) | User interface configuration using activator fields | |
CN117215571A (zh) | 一种基于大数据引擎的数据同步表单配置系统、方法 | |
CN113495723B (zh) | 一种调用功能组件的方法、装置及存储介质 | |
CN110555178A (zh) | 数据代理方法及装置 | |
CN107679096B (zh) | 数据集市间指标共享的方法和装置 | |
CN115858905A (zh) | 数据处理的方法、装置、电子设备和存储介质 | |
CN115344786A (zh) | 一种云资源推荐系统、方法、设备及存储介质 | |
CN114020789A (zh) | 账单数据查询方法、系统、设备及存储介质 | |
CN112905178A (zh) | 业务功能页面生成方法、装置、设备及介质 | |
CN110727677B (zh) | 数据仓库内表格的血缘关系追溯的方法和装置 | |
CN113806327A (zh) | 一种数据库设计方法、装置及相关设备 | |
CN113760969A (zh) | 一种基于ElasticSearch的数据查询方法和装置 | |
CN113641678A (zh) | 一种基于多维表单的动态服务配置方法和系统 | |
CN114265846A (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 |