CN111831264A - 一种基于数据处理引擎的软件系统构建方法 - Google Patents

一种基于数据处理引擎的软件系统构建方法 Download PDF

Info

Publication number
CN111831264A
CN111831264A CN202010703611.8A CN202010703611A CN111831264A CN 111831264 A CN111831264 A CN 111831264A CN 202010703611 A CN202010703611 A CN 202010703611A CN 111831264 A CN111831264 A CN 111831264A
Authority
CN
China
Prior art keywords
data
processing engine
data processing
layer
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
CN202010703611.8A
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.)
Hangzhou Guangzhi Technology Co ltd
Original Assignee
Hangzhou Guangzhi 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 Hangzhou Guangzhi Technology Co ltd filed Critical Hangzhou Guangzhi Technology Co ltd
Priority to CN202010703611.8A priority Critical patent/CN111831264A/zh
Publication of CN111831264A publication Critical patent/CN111831264A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种基于数据处理引擎的软件系统构建方法,包括持久层、数据处理引擎、业务插件、应用构建层和应用交互层:持久层,所述的持久层为数据存储层,数据储存层包含数据库和文件服务器;数据处理引擎,所述的数据处理引擎用于接受应用构建层请求的数据,最后对应用构建层的上述请求作出反馈;业务插件,所述的业务插件通过适配数据处理引擎定义的一个或多个接口与数据处理引擎相连接;应用交互层,所述的应用交互层通过调用应用构建层的接口构建人机交互界面。本发明的数据处理引擎软件包具有良好的可扩展性,通过扩展可以支持不同类型的数据库,通过扩展可以实现个性化的业务接口调用控制,通过扩展可以构建个性化的软件应用层。

Description

一种基于数据处理引擎的软件系统构建方法
技术领域
本发明属于软件系统构建的技术领域,具体是一种基于数据处理引擎的软件系统构建方法。
背景技术
目前,市面上有很多低编码或零编码的快速开发平台,很多类似平台虽然减少了编程人员大量的编程时间,但是很多开发平台的效果并不是很理想,比如说某些开发平台比较复杂、难以掌握;有的开发平台通用性比较差;有的开发平台在时间上并没有得到改善;还有的依然还是需要写很多代码等等。这些平台的构建思路不外乎以下几点:1.基于代码生产器的方式;2.基于模块化的思路封装业务系统;3.堆积大量的框架和工具,用户在其中编写代码或脚本。
上述几种方式都存在各自的问题,例如基于代码生成器,那么代码是系统自动生产的,系统存在不易读、不易维护和不易升级的问题;基于模块化的思路封装业务系统的,那么模块化的思路将业务逻辑耦合在开发系统中,存在扩展难,个性话开发难的问题;堆框架的方式,并没有减少代码,反而使代码更加分散,存在不易维护的问题。
发明内容
本发明的目的是针对上述问题,提供一种基于数据处理引擎的软件系统构建方法,数据处理引擎软件包具有良好的可扩展性,通过扩展可以支持不同类型的数据库,通过扩展可以实现个性化的业务接口调用控制,通过扩展可以构建个性化的软件应用层。
本发明是通过以下技术方案来实现的:本发明的一种基于数据处理引擎的软件系统构建方法,包括持久层、数据处理引擎、业务插件、应用构建层和应用交互层:
持久层,所述的持久层为数据存储层,数据储存层包含数据库和文件服务器;
数据处理引擎,所述的数据处理引擎用于接受应用构建层请求的数据,然后将接收到的数据与持久层已有的相关数据打包,并将打包的数据发送给业务插件,然后接收业务插件的反馈,最后对应用构建层的上述请求作出反馈;
业务插件,所述的业务插件通过适配数据处理引擎定义的一个或多个接口与数据处理引擎相连接,所述的业务插件通过上述接口接收数据处理引擎发送的数据,并根据上述数据给出反馈;
应用构建层,所述的应用构建层向数据处理引擎发送请求以及接收数据处理引擎反馈的数据,所述的应用构建层通过多种交互方式与所述的应用交互层提供数据接口;
所述的数据处理引擎根据反馈把需要持久化的数据储存至持久层的数据库中;
应用交互层,所述的应用交互层通过调用应用构建层的接口构建人机交互界面。
作为优选,所述的数据库包括关系数据库以及非关系数据库,所述的数据处理引擎通过加载上述数据库的表、字段的元数据,均可以读写上述数据库。
作为优选,所述的数据处理引擎可以持久化应用构建层提交的数据和业务插件反馈的数据到所述的数据库,并且所述的数据处理引擎可以根据需要记录数据历史、扩展数据存储形式。
作为优选,所述的数据处理引擎可以查询所述的数据库的数据,并把数据传递给业务插件或反馈给应用构建层。
作为优选,所述的数据处理引擎可以限制应用构建层读写数据范围,所述的读写数据范围包括数据行和数据的列。
作为优选,所述的应用构建层调用数据处理引擎定义的有限个接口或服务。
作为优选,所述的应用构建层与应用交互层的交互方式可以是提交或请求列表数据、表单数据、树形数据中的任意一种或者多种形式的组合。
作为优选,所述的应用构建层与应用交互层适配的数据接口包括统一接口或者轻服务接口。
作为优选,所述的统一接口能够通过设置参数改变请求的数据,所述的统一接口返回的数据包含接口元数据和数据两部分;所述的轻服务接口为针对不同业务场景定义的个性化接口。
作为优选,所述的应用交互层可以通过调用统一接口构建通用页面或个性化页面,也可以通过调用轻服务接口构建不同业务场景所需求的页面。
本发明的有益效果是:
1.本发明从数据流入手,以一种业务无关的方式构建数据处理引擎,方法更通用,更灵活,同时数据处理引擎软件包具有良好的可扩展性,通过扩展可以支持不同类型的数据库,通过扩展可以实现个性化的业务接口调用控制,通过扩展可以构建个性化的软件应用层;
2.本发明完全解耦人机交互、业务逻辑和业务数据,实现三者的可插拔;
3.本发明为应用交互层提供数据供统一接口,实现应用交互层一次开发,处处可用的目的;还可以通过轻服务接口进行开发不同业务场景的页面,进而满足特定业务的需求;
4.本发明的系统构建方法从根本上消灭了增删改查等重复且易出错的细节工作,能够让企业和开发人员专注细节又不失大局;内聚的业务逻辑,不仅提高了开发和运维的效率,也为企业沉淀知识资产提供了便利;
5.本发明的系统可以剥离该数据处理引擎,使用任何可以关联数据库、业务、视图的编码方式重构系统。
图1为本发明的系统结构构架图;
图2为本发明的系统可插拔模型;
图3为本发明数据处理引擎的数据流模型;
图4为采用本发明的方法构建软件系统的模型。
具体实施方式
参阅图1-图4,本发明的一种基于数据处理引擎的软件系统构建方法,包括持久层、数据处理引擎、业务插件、应用构建层和应用交互层:
持久层,持久层为数据存储层,数据储存层包含数据库和文件服务器;数据库包括关系数据库以及非关系数据库,数据处理引擎通过加载上述数据库的表、字段的元数据,均可以读写上述数据库。本发明中的数据库使用模型工具(B/S架构)定义丰富的数据存储模模型(一个模型对应一个或多个数据库表),支持主从表存储、主外键关联存储。
数据处理引擎,数据处理引擎用于接受应用构建层请求的数据,然后将接收到的数据与持久层已有的相关数据打包,并将打包的数据发送给业务插件,然后接收业务插件的反馈,最后对应用构建层的上述请求作出反馈;数据处理引擎根据反馈把需要持久化的数据储存至持久层的数据库中。数据处理引擎可以持久化应用构建层提交的数据和业务插件反馈的数据到数据库,并且数据处理引擎可以根据需要记录数据历史、扩展数据存储形式。数据处理引擎可以查询数据库的数据,并把数据传递给业务插件或反馈给应用构建层。数据处理引擎可以限制应用构建层读写数据范围,读写数据范围包括数据行和数据的列。
本发明中的数据处理引擎(Carbon)是一个结构化数据的处理引擎,它提供了一套零编码构建信息化系统的解决方案,称为Hydrocarbon。该数据处理引擎使用java开发,以spring、hibernate等主流开源框架为基础,支持mysql、progreSQL等主流开源关系数据库和redis等缓存数据库。
业务插件,业务插件通过适配数据处理引擎定义的一个或多个接口与数据处理引擎相连接,业务插件通过上述接口接收数据处理引擎发送的数据,并根据上述数据给出反馈;其中用户可以把业务逻辑打包,以业务插件的形式集成到项目,业务插件只需实现Carbon FG API,业务插件可以调用外部服务、发送邮件、执行任务、对接工作流等。
具体的说,本发明中的数据处理引擎将所有的业务规则、算法剥离出来,独立开发或部署。在数据处理引擎中定义了一套接口,在处理数据的过程中,会按序调用这些接口,业务系统通过实现这些接口来控制数据及数据流向、或者产生新的数据。在实践开发中可以在模型工具中下载业务包项目,业务插件默认引入了KIE的Drools处理引擎,使业务开发变的简单、直接、易读、易维护、易重用。
应用构建层,应用构建层向数据处理引擎发送请求以及接收数据处理引擎反馈的数据,应用构建层通过多种交互方式与应用交互层提供数据接口;应用构建层调用数据处理引擎定义的有限个接口或服务。应用构建层与应用交互层的交互方式可以是提交或请求列表数据、表单数据、树形数据中的任意一种或者多种形式的组合。
应用构建层与应用交互层适配的数据接口包括统一接口或者轻服务接口。统一接口能够通过设置参数改变请求的数据,统一接口返回的数据包含接口元数据和数据两部分;轻服务接口为针对不同业务场景定义的个性化接口。此外,应用交互层可以通过调用统一接口构建通用页面或个性化页面,也可以通过调用轻服务接口构建不同业务场景所需求的页面。应用交互层,应用交互层通过调用应用构建层的接口构建人机交互界面。
具体地说,应用构建层构建的应用层可以最大限度的脱离底层的数据存储或业务逻辑而独立存在,专注于交互、应用场景即可。实现应用级的一次开发到处可用。使用Carbon数据处理引擎开发的业务系统,可以随时切换各种交互场景的应用层。Carbon数据处理引擎通过引入carbon业务构想平台,实现开发环境、测试环境、生成环境高效协同,系统升级轻松快捷。Carbon数据处理引擎作为一个零码开发框架,不生成任何代码。使用Carbon数据处理引擎开发,需要编写部分业务规则代码,用户写入的每一行代码都会成为他的知识资产,它不仅仅能以代码的形式存在,还能以汉语文档的形式存在。Carbon数据处理引擎的整个开发思路就是通常j2ee项目的开发思路,所以Carbon是一个开发人员视角的零码工具。Carbon数据处理引擎可以让开发人员快速聚集自身关注,比如前端开发,算法设计、框架构建、数据库调优、分布式系统设计、模型设计、数据处理等等。总之Carbon数据处理引擎给用户预先构建了一套完善的web应用体系,用户可以使用这个体系、也可以完善其中的某一部分,比如用户可以开发2个甚至更多的功能一样但表结构或业务规则不同的进销存系统,进行分析对比。
具体地说,使用本发明进行系统开发的流程包含以下步骤:
a.构想平台定义一个项目,并为项目指定一个数据库、一台服务器的开发端口。构想平台,一套可选的独立的软件系统,用于装配一个信息化项目及其运行环境要素,主要包括项目的基本信息,数据库、运行服务器,业务插件四部分。其中项目基本信息包括项目的中文名称、英文名称、描述;数据库包括数据库类型、JDBCURL;运行服务器主要包括服务器ip、端口;业务插件由一系列jar包组成。
b.使用构想平台初始化数据库,并在指定服务器的端口发布一个项目。
c.使用构想平台启动项目,在浏览地址栏中输入相应地址,可以正常访问上述项目。
d.使用模型工具为上述项目定义模型、结构体、枚举。模型定义工具,一套独立的软件系统,用于定义或提取数据库的元数据,并将这些元数据以数据处理引擎可以读取、解析的方式存储。模型工具主要定义、维护模型数据、结构体、枚举值三大类数据。数据处理引擎通过读取、解析模型数据获取相应数据库中表、字段、主外键信息,并据此实现对数据库中数据的增删改查。结构体以一个或多个模型数据为基础建立,结构体是一个树形结构,它有且只有一个根模型。在结构体中,模型之间通过模型关系联系起来。
e.使用构想平台把上述模型工具定义的数据发布到项目的数据库,并根据定义生成需要的表、字段、约束。
f.进入上述项目模板工具的系统配置模块,定义板块、菜单、页面接口、轻服务接口。模板工具是应用构建层的一部分,是一个独立的软件系统。它首先调用并获取数据处理引擎中的结构体数据,并根据这些结构体数据来定义列表数据、表单数据、树形数据中的任意一种或者多种形式的组合。
在上述开发流程中,数据处理引擎的数据流模型如下所述:
a.数据源来自应用构建层或其他调用数据处理引擎接口的软件系统。
b.数据处理引擎接收数据后,把来源数据转换成数据处理引擎和业务插件能够识别的形式。
c.把转换后的数据发送给业务插件,业务插件通过数据分析,得出是否继续处理的结论,并将结论反馈给数据处理引擎。
d.如果数据通过了初步检验,数据处理引擎会调用业务插件实现的寻找支持数据的接口,数据处理引擎根据业务插件的反馈,从相应数据库中获得支持数据。
e.分析来源数据与上述支持数据的差异,并将全部信息打包,发送给业务插件实现的数据完善接口,业务插件根据打包的数据,会产生新的数据,并反馈给数据处理引擎,数据处理引擎获取上述反馈数据,并与上述打包数据合并,如果有必要,数据处理引擎会再次打包这些数据,并调用相应接口,获得业务插件的再次反馈。根据当前设计,此过程通常重复三次即可完成各种场景的数据处理要求。
f.在数据处理引擎和业务插件的协同工作下,系统得到了最终的数据,数据处理引擎打包上述数据,并调用业务插件实现的后置数据校验接口,业务插件通过数据分析,得出是否持久化数据的结论,并反馈给数据处理引擎。
g.数据处理引擎根据业务插件的反馈,执行或放弃数据的持久化。
h.数据处理引擎将处理结果反馈给应用构建层或其他调用系统。
本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。

Claims (10)

1.一种基于数据处理引擎的软件系统构建方法,其特征在于,包括持久层、数据处理引擎、业务插件、应用构建层和应用交互层:
持久层,所述的持久层为数据存储层,数据储存层包含数据库和文件服务器;
数据处理引擎,所述的数据处理引擎用于接受应用构建层请求的数据,然后将接收到的数据与持久层已有的相关数据打包,并将打包的数据发送给业务插件,然后接收业务插件的反馈,最后对应用构建层的上述请求作出反馈;
业务插件,所述的业务插件通过适配数据处理引擎定义的一个或多个接口与数据处理引擎相连接,所述的业务插件通过上述接口接收数据处理引擎发送的数据,并根据上述数据给出反馈;
应用构建层,所述的应用构建层向数据处理引擎发送请求以及接收数据处理引擎反馈的数据,所述的应用构建层通过多种交互方式与所述的应用交互层提供数据接口;
所述的数据处理引擎根据反馈把需要持久化的数据储存至持久层的数据库中;
应用交互层,所述的应用交互层通过调用应用构建层的接口构建人机交互界面。
2.根据权利要求1所述的一种基于数据处理引擎的软件系统构建方法,其特征在于:所述的数据库包括关系数据库以及非关系数据库,所述的数据处理引擎通过加载上述数据库的表、字段的元数据,均可以读写上述数据库。
3.根据权利要求1所述的一种基于数据处理引擎的软件系统构建方法,其特征在于:所述的数据处理引擎可以持久化应用构建层提交的数据和业务插件反馈的数据到所述的数据库,并且所述的数据处理引擎可以根据需要记录数据历史、扩展数据存储形式。
4.根据权利要求1所述的一种基于数据处理引擎的软件系统构建方法,其特征在于:所述的数据处理引擎可以查询所述的数据库的数据,并把数据传递给业务插件或反馈给应用构建层。
5.根据权利要求1所述的一种基于数据处理引擎的软件系统构建方法,其特征在于:所述的数据处理引擎可以限制应用构建层读写数据范围,所述的读写数据范围包括数据行和数据的列。
6.根据权利要求1所述的一种基于数据处理引擎的软件系统构建方法,其特征在于:所述的应用构建层调用数据处理引擎定义的有限个接口或服务。
7.根据权利要求1所述的一种基于数据处理引擎的软件系统构建方法,其特征在于:所述的应用构建层与应用交互层的交互方式可以是提交或请求列表数据、表单数据、树形数据中的任意一种或者多种形式的组合。
8.根据权利要求1所述的一种基于数据处理引擎的软件系统构建方法,其特征在于:所述的应用构建层与应用交互层适配的数据接口包括统一接口或者轻服务接口。
9.根据权利要求8所述的一种基于数据处理引擎的软件系统构建方法,其特征在于:所述的统一接口能够通过设置参数改变请求的数据,所述的统一接口返回的数据包含接口元数据和数据两部分;所述的轻服务接口为针对不同业务场景定义的个性化接口。
10.根据权利要求8所述的一种基于数据处理引擎的软件系统构建方法,其特征在于:所述的应用交互层可以通过调用统一接口构建通用页面或个性化页面,也可以通过调用轻服务接口构建不同业务场景所需求的页面。
CN202010703611.8A 2020-07-21 2020-07-21 一种基于数据处理引擎的软件系统构建方法 Pending CN111831264A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010703611.8A CN111831264A (zh) 2020-07-21 2020-07-21 一种基于数据处理引擎的软件系统构建方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010703611.8A CN111831264A (zh) 2020-07-21 2020-07-21 一种基于数据处理引擎的软件系统构建方法

Publications (1)

Publication Number Publication Date
CN111831264A true CN111831264A (zh) 2020-10-27

Family

ID=72923662

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010703611.8A Pending CN111831264A (zh) 2020-07-21 2020-07-21 一种基于数据处理引擎的软件系统构建方法

Country Status (1)

Country Link
CN (1) CN111831264A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114764326A (zh) * 2022-03-30 2022-07-19 中国石油天然气集团有限公司 一种一体化软件的数据层扩展方法和系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050131783A1 (en) * 2002-03-12 2005-06-16 Myoung Jin System, method, and computer program product for network-based part management system
CN101539855A (zh) * 2008-12-25 2009-09-23 厦门亿力吉奥信息科技有限公司 一种业务基础软件平台
CN109144982A (zh) * 2018-09-29 2019-01-04 北京友友天宇系统技术有限公司 多维全息数据库动态构建技术系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050131783A1 (en) * 2002-03-12 2005-06-16 Myoung Jin System, method, and computer program product for network-based part management system
CN101539855A (zh) * 2008-12-25 2009-09-23 厦门亿力吉奥信息科技有限公司 一种业务基础软件平台
CN109144982A (zh) * 2018-09-29 2019-01-04 北京友友天宇系统技术有限公司 多维全息数据库动态构建技术系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
COSMIC_PARTICLE: "carbon使用介绍", pages 1 - 8, Retrieved from the Internet <URL:https://www.bilibili.com/video/av78687641/> *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114764326A (zh) * 2022-03-30 2022-07-19 中国石油天然气集团有限公司 一种一体化软件的数据层扩展方法和系统
CN114764326B (zh) * 2022-03-30 2023-09-19 中国石油天然气集团有限公司 一种一体化软件的数据层扩展方法和系统

Similar Documents

Publication Publication Date Title
EP3430529B1 (en) Intelligent metadata management and data lineage tracing
US9747360B2 (en) Mapping non-relational database objects into a relational database model
US6920456B2 (en) Method, system, and program for maintaining information in database tables and performing operations on data in the database tables
KR101621137B1 (ko) 아파치 하둡을 위한 로우 레이턴시 쿼리 엔진
US11847040B2 (en) Systems and methods for detecting data alteration from source to target
US7536406B2 (en) Impact analysis in an object model
CN101887365B (zh) 用于构造基于组件的应用的可执行代码的方法和编译器
US7043714B2 (en) Method, system, and program for using objects in data stores during execution of a workflow
CN105426394B (zh) 基于跨平台的移动报表生成方法和系统
US20140172827A1 (en) In-memory, columnar database multidimensional analytical view integration
CN101901265B (zh) 一种虚拟试验数据对象化管理系统
CN107291471B (zh) 一种支持可定制化数据采集的元模型框架系统
US8881127B2 (en) Systems and methods to automatically generate classes from API source code
CN103942234A (zh) 对多个异构数据库操作的方法、中间件装置及系统
US20230108560A1 (en) Methods and Systems for Representation, Composition and Execution of Artificial Intelligence Centric Applications
CN103279358A (zh) 一种面向行业应用的解释型业务组件动态构建方法
CN110134681B (zh) 数据存储与查询方法、装置、计算机设备及存储介质
CN112379884A (zh) 基于Spark和并行内存计算的流程引擎实现方法及系统
CN111831264A (zh) 一种基于数据处理引擎的软件系统构建方法
CN100410875C (zh) 一种基于实体的软件框架系统及运行方法
CN116186079B (zh) 一种sql批量查询自动改写和优化方法
CN103106238B (zh) 一种支持用户自定义的业务系统及其操作方法
CN110647518B (zh) 一种数据源融合计算方法、组件及装置
US20080022258A1 (en) Custom database system and method of building and operating the same
CN112527773A (zh) 一种基于dbvc框架的数据模型、视图标准化方法及系统

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20201027