CN114356403A - 一种基于低代码应用开发的组态数据处理方法、装置和系统 - Google Patents

一种基于低代码应用开发的组态数据处理方法、装置和系统 Download PDF

Info

Publication number
CN114356403A
CN114356403A CN202111607578.XA CN202111607578A CN114356403A CN 114356403 A CN114356403 A CN 114356403A CN 202111607578 A CN202111607578 A CN 202111607578A CN 114356403 A CN114356403 A CN 114356403A
Authority
CN
China
Prior art keywords
configuration data
low
subfile
subfiles
code application
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
Application number
CN202111607578.XA
Other languages
English (en)
Inventor
朱玮
朱玉银
钱勇
傅昆
蒋丽云
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Supcon Technology Co Ltd
Original Assignee
Zhejiang Supcon Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang Supcon Technology Co Ltd filed Critical Zhejiang Supcon Technology Co Ltd
Priority to CN202111607578.XA priority Critical patent/CN114356403A/zh
Publication of CN114356403A publication Critical patent/CN114356403A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/73Program documentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Library & Information Science (AREA)
  • Document Processing Apparatus (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于低代码应用开发的组态数据处理方法、装置和系统,其中,基于低代码应用开发的组态数据处理方法具体包括:将低代码应用开发的组态数据基于其逻辑结构分为若干分级子文件,其中,子文件之间通过标识进行关联,标识基于组态数据逻辑结构与子文件一一对应,将若干子文件分别存储至非关系型数据库中。本发明提出的一种基于低代码应用开发的组态数据处理方法、装置和系统,对组态数据进行逻辑拆分重组,通过使用多段XML储存到非关系型数据库的方式,降低了组态数据存取时的资源消耗,提高了前后端的解析速度,从而大大提高了平台的软件开发效率。

Description

一种基于低代码应用开发的组态数据处理方法、装置和系统
技术领域
本发明涉及智能制造领域的软件开发领域,具体的公开了一种基于低代码应用开发的组态数据处理方法、装置和系统。
背景技术
随着工业信息化的发展,越来越多的企业选择通过低代码应用开发平台进行智能制造领域相关功能的开发。当面对的业务功能较为复杂,页面组件较多时,对单一页面进行组态所产生的组态数据也会变得非常庞大。于是,如何高效存储和读取复杂的组态数据成为了平台发展的瓶颈。
当前的普遍做法是将组态数据作为一个整体以XML或者JSON的数据格式存储到关系型数据库的大字段中。该种数据存储方式存在如下问题:1)对页面组态的任何修改都将导致整个组态数据的修改,频繁进行大量数据的前后端交互将给网络和服务器IO带来巨大资源消耗。2)一次解析巨大XML或者JSON字段串给前后端都带来了巨大负担,影响了交互的响应速度。3)关系数据库存取大量的大文本字段给关系库本身的运行也带来了负担。
发明内容
本发明为了克服以上技术的不足,提供了一种用于基于低代码应用开发的组态数据处理方法、装置和系统,对组态数据进行逻辑拆分重组,通过使用多段XML储存到非关系型数据库的方式,降低了组态数据存取时的资源消耗,提高了前后端的解析速度,从而大大提高了平台的软件开发效率。
本发明克服其技术问题所采用的技术方案是:
本发明的第一个方面提出了一种基于低代码应用开发的组态数据处理方法,具体包括:将低代码应用开发的组态数据基于其逻辑结构分为若干分级子文件,其中,上下级子文件之间通过标识进行关联,所述标识基于组态数据逻辑结构与子文件一一对应;将若干子文件分别存储至非关系型数据库中。
进一步的,所述子文件基于组态数据的逻辑结构分为若干层级,上一层级子文件至少包括下一层级子文件的标识。
进一步的,还包括组态数据发生变化时,基于标识修改对应子文件,并将发生变化的子文件更新存储至非关系型数据库。
进一步的,所述组态数据发生变化时,基于标识修改对应子文件,并将发生变化的子文件更新存储至非关系数据库,具体包括:若基于低代码应用开发的组态数据添加新控件,则基于新控件增加新子文件,并将新子文件对应的标识和/或属性添加到其上级子文件中,以及,保存新子文件和更新后的上级子文件至非关系型数据库。
进一步的,还包括基于接收的若干子文件及其标识将其组合为完整组态数据用于低代码应用。
进一步的,所述标识为编码或坐标形式,所述逻辑结构为组态数据的层级结构。
进一步的,所述非关系数据库包括MongoDB。
进一步的,所述子文件为XML格式或JSON字符串。
本发明的第二个方面提出了一种基于低代码应用开发的组态数据处理装置,至少包括组态数据拆分重组模块,文件分析模块和数据存储模块;所述组态数据拆分重组模块用于将低代码应用开发的组态数据基于逻辑结构拆分为若干子文件,以及用于将接收的若干个子文件重组为一个组态数据文件;所述文件分析模块用于生成唯一标识用来对应分级子文件,并用于基于组态数据的变化,更新子文件内容;所述数据存储模块用于存储更新的若干子文件至非关系型数据库,或从非关系数据库中读取若干子文件。
本发明的第三个方面提出了一种基于低代码应用开发的组态数据处理系统,至少包括双向通讯的客户端和服务器,所述客户端用于运行权利要求1-8任一项所述的基于低代码应用开发的组态数据处理方法,所述服务器用于运行非关系型数据库。
本发明的有益效果是:
1、通过对组态数据进行逻辑拆分重组,以多级XML文件的方式存储到非关系型数据库,或将多级XML文件从非关系数据库中读取,从而将数据的存取范围控制在较小粒度,降低了前后台传输的数据量,减少了网络资源的占用,提高了保存效率。
2、避免关系型数据库进行大文本字段的存取操作,减少了前后台的资源占用,提升了平台响应效率。
附图说明
图1为本发明实施例的一种基于低代码应用开发的组态数据处理方法流程示意图;
图2为本发明实施例的低代码开发组态示意图;
图3为本发明实施例的页面组态子文件示意图;
图4为本发明实施例的控件组态子文件示意图;
图5为本发明实施例的标识关联子文件示意图;
图6为本发明实施例的更改控件属性的组态数据处理示意图;
图7为本发明实施例的新增控件的组态数据处理示意图;
图8为本发明实施例的多层级的组态数据处理示意图;
图9为本发明实施例的一种基于低代码应用开发的组态数据处理装置示意图。
具体实施方式
在描述本发明的一种基于低代码应用开发的组态数据处理方法、装置和系统之前,首先对一些专有名词进行解释:
低代码开发平台:指无需编码或通过少量代码就可以快速生成应用程序的开发平台。通过可视化进行应用程序开发的方法,使具有不同经验水平的开发人员可以通过图形化的用户界面,使用拖拽组件和模型驱动的逻辑来创建网页和移动应用程序。。
组态:指“配置”、“设定”、“设置”等意思,是指用户通过类似“搭积木”的简单方式来完成自己所需要的软件功能,而不需要编写计算机程序。
XML:全称为Extensible Markup Language,即可扩展标记语言。它可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。它非常适合万维网传输,提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。是Internet环境中跨平台的、依赖于内容的技术,也是当今处理分布式结构信息的有效工具。早在1998年,W3C就发布了XML1.0规范,使用它来简化Internet的文档信息传输。
JSON:全称为JavaScript Object Notation,是一种轻量级的数据交换格式。它基于ECMAScript(欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
关系型数据库:是指采用了关系模型来组织数据的数据库,其以行和列的形式存储数据,以便于用户理解,关系型数据库这一系列的行和列被称为表,一组表组成了数据库。用户通过查询来检索数据库中的数据,而查询是一个用于限定数据库中某些区域的执行代码。关系模型可以简单理解为二维表格模型,而一个关系型数据库就是由二维表及其之间的关系组成的一个数据组织。。
非关系型数据库:指区别于关系数据库,不保证关系数据的ACID特性的数据库,具有易扩展,支持大数据量,高性能,结构简单的优点。。
为了便于本领域人员更好的理解本发明,下面结合附图和具体实施例对本发明做进一步详细说明,下述仅是示例性的不限定本发明的保护范围。
如图1所示,为本发明的一种基于低代码应用开发的组态数据处理方法的流程示意图,包括:
S1,将低代码应用开发的组态数据基于其逻辑结构分为若干分级子文件,其中,上下级子文件之间通过标识进行关联,标识基于组态数据逻辑结构与子文件一一对应。
如图2所示的为应用低代码开发平台进行组态的界面,在本发明的一个实施例中,该页面包括4个控件,分别为控件A、控件B、控件C、控件D,每个控件有自身的属性。根据该页面的组态数据的逻辑结构,即页面的组成结构,将该页面的组态数据分为五个XML,分别是page.xml和其余是个用于存储四个控件属性的xml,分别对应如图3和图4所示。
由于四个控件的类型不同,属性的数量也不相同,因此每个控件对应的XML中都有程序生成唯一code字段与page.xml的xml元素进行对应。如图5所示,A.xml对应的标识是code001,B.xml对应的标识是code002,C.xml对应的标识是code003,D.xml对应的标识是code004,page.xml中包括了其下一个层级的A.xml、B.xml、C.xml、D.xml的code001、code002、code003和code004。
需要说明的是,上述实施例中,子文件采用XML格式,也可以采用JSON字符串的形式。并且表现形式除了使用code关联,还可以采用坐标关联的形式。
S2,将若干子文件分别存储至非关系型数据库中。
存储5个XML到非关系型数据库,即可保存当前的组态信息。在本发明的一个实施例中,非关系型数据库采用MongoDB。
在一些实施方式中,如图6所示,当组态数据发生修改时,不需要把五个XML全部重新保存,只需要保存修改的具体控件对应的XML文件即可。如图6中,修改了控件B的属性,那么只需保存B.XML即可,如图6所示。
在一些实施方式中,如图7所示,若新增了控件E,则只需将新控件E对应的子文件E.xml和page.xml,存储到非关系型数据库中,其他子文件不需更新存储。
在一些实施方式中,一些页面上包括复杂的控件,例如控件分为多层级,则可以使用多级XML子文件方式来存储,如图8所示,section.xml为嵌套了多个控件的复杂控件,那么section.xml子文件既有section.xml对应的唯一code,也包括控件c和控件d对应的子文件的code,page页面包括了section.xml的code、a.xml的code和b.xml的code。当控件d的属性发生变化时,仅需将d.xml、section.xml和page.xml均更新存储至非关系型数据库。如果新增了控件e,位于控件section.xml下一级,那么将控件e对应的标识和属性添加到其上一级子文件section.xml,以及添加增加了控件e标识和属性的section.xml,添加到其上一级子文件page.xml,并将d.xml、section.xml和page.xml均更新存储至非关系型数据库中。
对组态数据进行逻辑拆分重组,以多级XML文件的方式存储到非关系型数据库,从而既将数据的存取范围控制在较小粒度,避免了一次解析大XML文件的操作,降低了前后台传输的数据量,也提升了前后端的处理效率。
在一些实施方式中,前后台一般采用网络进行通讯,因此采用多级XML文件方式,特别是在组态数据发生修改时,仅需将发生变化部分的XML传输至后端进行保存,可以大大减少网络资源的占用,提高了保存的效率。
在一些实施方式中,还能够根据后端服务器返回的多个xml组合成完整的组态数据并且展现组态界面。
如果采用关系型数据库,例如oracle,在存储大字符串数据,比如xml格式的子文件的时候,xml的长度一般都会超过几万,所以只能用大字段存储,关系型数据库一般的字符字段只能存储4000个以下的字符,因此,超过这写字符只能使用例如clob这类的大字段类型,这类字段类型在插入,查询,修改的时候效率较低,对数据库服务器CPU、内存等硬件资源的占用也较大。而采取非关系型数据库就可以避免这个问题,大大提升了XML文件存取效率。
在本发明的另一个实施例中,还提出了一种基于低代码应用开发的组态数据处理装置,至少包括组态数据拆分重组模块,文件分析模块和数据存储模块;组态数据拆分重组模块用于将低代码应用开发的组态数据基于逻辑结构拆分为若干子文件,以及用于将接收的若干个子文件重组为一个组态数据文件;文件分析模块用于生成唯一标识用来对应分级子文件,并用于基于组态数据的变化,更新子文件内容;数据存储模块用于存储更新的若干子文件至非关系型数据库,或从非关系数据库中读取若干子文件。
在本发明的另一个实施例中,还提出了一种基于低代码应用开发的组态数据处理系统,包括双向通讯的客户端和服务器,客户端用于运行上述的基于低代码应用开发的组态数据处理方法,所述服务器用于运行非关系型数据库。
在一些实施方式中,客户端和服务器均通过网络进行通信。服务器返回至客户端的多个xml,通过客户端将其组合成完整的组态数据并且展现组态界面,或者是客户端在修改组态数据后,能够定位到修改所涉及的子xml,并且把更新后的结果返回给后端服务器进行更新。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
专业人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
以上仅描述了本发明的基本原理和优选实施方式,本领域人员可以根据上述描述做出许多变化和改进,这些变化和改进应该属于本发明的保护范围。

Claims (10)

1.一种基于低代码应用开发的组态数据处理方法,其特征在于,具体包括:
将低代码应用开发的组态数据基于其逻辑结构分为若干分级子文件,其中,上下级子文件之间通过标识进行关联,所述标识基于组态数据逻辑结构与子文件一一对应;
将若干子文件分别存储至非关系型数据库中。
2.根据权利要求1所述的基于低代码应用开发的组态数据处理方法,其特征在于,所述子文件基于组态数据的逻辑结构分为若干层级,上一层级子文件至少包括下一层级子文件的标识。
3.根据权利要求2所述的基于低代码应用开发的组态数据处理方法,其特征在于,还包括组态数据发生变化时,基于标识修改对应子文件,并将发生变化的子文件更新存储至非关系型数据库。
4.根据权利要求3所述的基于低代码应用开发的组态数据处理方法,其特征在于,所述组态数据发生变化时,基于标识修改对应子文件,并将发生变化的子文件更新存储至非关系数据库,具体包括:
若基于低代码应用开发的组态数据添加新控件,则基于新控件增加新子文件,并将新子文件对应的标识和/或属性添加到其上级子文件中,以及,保存新子文件和更新后的上级子文件至非关系型数据库。
5.根据权利要求1所述的基于低代码应用开发的组态数据处理方法,其特征在于,还包括基于接收的若干子文件及其标识将其组合为完整组态数据用于低代码应用。
6.根据权利要求1所述的基于低代码应用开发的组态数据处理方法,其特征在于,所述标识为编码或坐标形式,所述逻辑结构为组态数据的层级结构。
7.根据权利要求1所述的基于低代码应用开发的组态数据处理方法,其特征在于,所述非关系数据库包括MongoDB。
8.根据权利要求1-7任一项所述的基于低代码应用开发的组态数据处理方法,其特征在于,所述子文件为XML格式或JSON字符串。
9.一种基于低代码应用开发的组态数据处理装置,其特征在于,至少包括组态数据拆分重组模块,文件分析模块和数据存储模块;
所述组态数据拆分重组模块用于将低代码应用开发的组态数据基于逻辑结构拆分为若干子文件,以及用于将接收的若干个子文件重组为一个组态数据文件;
所述文件分析模块用于生成唯一标识用来对应分级子文件,并用于基于组态数据的变化,更新子文件内容;
所述数据存储模块用于存储更新的若干子文件至非关系型数据库,或从非关系数据库中读取若干子文件。
10.一种基于低代码应用开发的组态数据处理系统,至少包括双向通讯的客户端和服务器,其特征在于:所述客户端用于运行权利要求1-8任一项所述的基于低代码应用开发的组态数据处理方法,所述服务器用于运行非关系型数据库。
CN202111607578.XA 2021-12-17 2021-12-17 一种基于低代码应用开发的组态数据处理方法、装置和系统 Pending CN114356403A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111607578.XA CN114356403A (zh) 2021-12-17 2021-12-17 一种基于低代码应用开发的组态数据处理方法、装置和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111607578.XA CN114356403A (zh) 2021-12-17 2021-12-17 一种基于低代码应用开发的组态数据处理方法、装置和系统

Publications (1)

Publication Number Publication Date
CN114356403A true CN114356403A (zh) 2022-04-15

Family

ID=81101730

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111607578.XA Pending CN114356403A (zh) 2021-12-17 2021-12-17 一种基于低代码应用开发的组态数据处理方法、装置和系统

Country Status (1)

Country Link
CN (1) CN114356403A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115098567A (zh) * 2022-06-20 2022-09-23 上海纽酷信息科技有限公司 一种基于bi平台的低代码平台数据传输方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115098567A (zh) * 2022-06-20 2022-09-23 上海纽酷信息科技有限公司 一种基于bi平台的低代码平台数据传输方法
CN115098567B (zh) * 2022-06-20 2024-04-12 上海纽酷信息科技有限公司 一种基于bi平台的低代码平台数据传输方法

Similar Documents

Publication Publication Date Title
CN108027818B (zh) 基于图的查询
US11086894B1 (en) Dynamically updated data sheets using row links
US7599948B2 (en) Object relational mapping layer
US10467250B2 (en) Data model design collaboration using semantically correct collaborative objects
CN105808428B (zh) 一种对分布式文件系统进行统一性能测试的方法
US9910640B2 (en) Modeling representational state transfer application programming interfaces
US11907203B2 (en) Path encoded tree structures for operations
US6282539B1 (en) Method and system for database publishing
Martí et al. Dataclay: A distributed data store for effective inter-player data sharing
JP2008508640A (ja) 文書及びその表現に変更を加えるための文書処理及び管理方法
CN111213137A (zh) 源基础设施数据与bis概念模式的对齐
EP2984585B1 (en) Binding of data source to compound control
CN112650766A (zh) 数据库数据操作的方法、系统及服务器
US20150278190A1 (en) Web server system, dictionary system, dictionary call method, screen control display method, and demonstration application generation method
Walther Asp. Net Unleashed
US10776351B2 (en) Automatic core data service view generator
CN104182228A (zh) 一种创建网络应用的方法和系统
CN114356403A (zh) 一种基于低代码应用开发的组态数据处理方法、装置和系统
KR101552914B1 (ko) 웹 서버 어플리케이션 프레임워크 장치와 프레임워크를 이용한 웹 어플리케이션 처리 방법 및 이를 구현할 수 있는 컴퓨터로 읽을 수 있는 기록 매체
CN116400914A (zh) 一种基于数据模型快速构建web应用的方法
Walther ASP. NET 4 Unleashed
Kommadi Learn Data Structures and Algorithms with Golang: Level up your Go programming skills to develop faster and more efficient code
Estrada Apache Kafka Quick Start Guide: Leverage Apache Kafka 2.0 to simplify real-time data processing for distributed applications
CN113254455A (zh) 数据库的动态配置方法、装置、计算机设备及存储介质
Guo Design and Implementation of Travel Website Based on Java Web

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