CN107391201A - 一种动态业务数据的软件框架的数据流动实现方法 - Google Patents
一种动态业务数据的软件框架的数据流动实现方法 Download PDFInfo
- Publication number
- CN107391201A CN107391201A CN201710624663.4A CN201710624663A CN107391201A CN 107391201 A CN107391201 A CN 107391201A CN 201710624663 A CN201710624663 A CN 201710624663A CN 107391201 A CN107391201 A CN 107391201A
- Authority
- CN
- China
- Prior art keywords
- data
- implementation method
- dynamic service
- layer
- software
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- 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/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Stored Programmes (AREA)
Abstract
本发明提出了一种动态业务数据的软件框架的数据流动实现方法,包括:由数据库服务器加载来自配置服务器的配置文件,并通过对象关系映射ORM进行识别并抽象为数据实例,发送至算法库;算法库调用上述数据实例,并以配置文件作为识别对象的映射表,建立业务层和算法库之间的映射关系;模块Modules的MVC架构通过DI表映射识别业务层数据;由显示层架构通过视图模型ViewModel与模块Modules建立通信,检测业务层数据的变化,并自动通知用户界面进行数据的重绘。本发明应用于软件的设计框架,用于将数据层,业务层和界面的抽象分离出来,方便大型软件的分组开发。
Description
技术领域
本发明涉及软件技术领域,特别涉及一种动态业务数据的软件框架的数据流动实现方法。
背景技术
现有的业务数据的软件框架的流动实现,存在有以下缺陷:
(1)在基础服务计算中的处理对象为单纯的数据概念,贯穿于数据的实现方式和转换方式中,导致算法的灵活度较低;
(2)业务层层级中的高层模块依赖于底层模块的具体实现,与底层存在依赖关系;
(3)应用程序本身依赖对象的创建的维护,如果要实现软件的多种功能,就需要大量的人力操作,软件开发效率较低。
发明内容
本发明的目的旨在至少解决所述技术缺陷之一。
为此,本发明的目的在于提出一种动态业务数据的软件框架的数据流动实现方法。
为了实现上述目的,本发明的实施例提供一种动态业务数据的软件框架的数据流动实现方法,包括如下步骤:
步骤S1,由数据库服务器加载来自配置服务器的配置文件,并通过对象关系映射ORM进行识别并抽象为数据实例,发送至算法库;
步骤S2,所述算法库调用上述数据实例,并以所述配置文件作为识别对象的映射表,建立业务层和算法库之间的映射关系;
步骤S3,所述模块Modules的MVC架构通过DI表映射识别业务层数据;
步骤S4,由显示层架构通过视图模型ViewModel与所述模块Modules建立通信,检测业务层数据的变化,并自动通知用户界面进行数据的重绘。
进一步,在所述步骤S1中,对配置文件进行ORM识别并抽象为数据实例,包括:对软件中全部数据本身作为数据实例,在基础服务计算中的对象为实际存在的实体,将数据的实现方式和转换方式隔离。
进一步,在所述步骤S2中,所述业务层和算法库之间通过类绑定关系的表进行映射关系。
进一步,所述模块Modules和所述显示层均以MVC架构为基础。
进一步,所述模块Modules上的MVC架构用于数据控制和通知,且与所述显示层的MVC架构分离。
进一步,所述DI表由所述算法库主动注册对象。
进一步,所述显示层架构基于上位机实现,基于操作系统和web访问通讯,所述用户通过浏览器浏览访问。
进一步,所述业务层的层级使用不同的接口抽象模式,采用依赖倒置的方式将实际的通用控制算法和数据显示层完全分离。
本发明实施例的动态业务数据的软件框架的数据流动实现方法,具有以下有益效果:
(1)在基础服务计算中的对象也不再是单纯的数据概念,而是实际存在的实体,将数据的实现方式和转换方式隔离,增加算法的实际目标和抽象对象之间的灵活程度,可以进一步完善底层交互和实际算法的功能程度。
(2)业务层的层级使用不同的接口抽象模式,采用依赖倒置的方式将实际的通用控制算法和数据显示层完全分离,使得高层模块不直接依赖于底层模块的具体实现,而依赖于底层的抽象,并不直接与底层有依赖关系。
(3)应用程序本身不负责依赖对象的创建和维护,而是将其交给一个外部容器来负责,这样控制权就由应用程序转移到了外部的IoC容器,即控制权实现了反转,层级之间的交互通过配置文件和虚拟接口完成交互和实现,将整体软件的功能性和逻辑性做出可动态加载的变化,通过在不同层级的业务区分,可以完成动态的模块加载和软件配置。根据业务和客户的需求,少量人力操作就可以实现不同的软件功能,业务逻辑和整体UI界面的大量变化和调整。通过对配置文件动态map的定义,可以很好的分离软件工作给不同层级的软件设计和开发人员,将有效的提高软件开发效率。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1为根据本发明一个实施例的动态业务数据的软件框架的数据流动实现方法的流程图;
图2为根据本发明实施例的动态业务数据的软件框架的数据流动实现方法的架构图;
图3为根据本发明另一个实施例的动态业务数据的软件框架的数据流动实现方法的流程图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参考图1-3对本发明的动态业务数据的软件框架的数据流动实现方法进行说明。
具体地,本发明的动态业务数据的软件框架的数据流动实现方法基于以下架构:
(1)数据库直行层架构:数据库服务器和配置服务器;
(2)应用执行层架构:服务进程和service服务器架构;
(3)显示层架构:基于操作系统和web访问通讯,使用浏览器浏览。
如图1-3所示,本发明实施例的动态业务数据的软件框架的数据流动实现方法,包括如下步骤:
步骤S1,由数据库服务器加载来自配置服务器的配置文件,并通过ORM(ObjectRelational Mapping,对象关系映射)进行识别并抽象为数据实例,发送至算法库。
在本步骤中,对配置文件进行ORM识别并抽象为数据实例,包括:对软件中全部数据本身作为数据实例,在基础服务计算中的对象为实际存在的实体,将数据的实现方式和转换方式隔离。
具体地,数据执行架构中通过ORM进一步抽象数据的层级,将软件中全部数据本身作为实际出现的实体。在基础服务计算中的对象也不再是单纯的数据概念,而是实际存在的实体,将数据的实现方式和转换方式隔离,增加算法的实际目标和抽象对象之间的灵活程度,可以进一步完善底层交互和实际算法的功能程度。
步骤S2,算法库调用上述数据实例,并以配置文件作为识别对象的映射表,建立业务层和算法库之间的映射关系。
即,步骤S1中的配置文件可以被算法库调用作为识别对象的映射表。具体地,业务层(Business Layer)和算法库之间通过类绑定关系的表进行映射关系。
需要说明的是,业务层的层级使用不同的接口抽象模式,采用依赖倒置的方式将实际的通用控制算法和数据显示层完全分离,使得高层模块不直接依赖于底层模块的具体实现,而依赖于底层的抽象,并不直接与底层有依赖关系。
在本发明中,模块Modules和显示层均与MVC架构为基础。
步骤S3,模块Modules的MVC架构通过DI表映射识别业务层数据。
在本发明的一个实施例中,DI表由算法库主动注册对象。Modules的MVC架构(模型(Model)、视图(View)、控制器(Controller))通过DI表的映射识别业务层数据。
步骤S4,由显示层架构通过视图模型ViewModel与模块Modules建立通信,检测业务层数据的变化,并自动通知用户界面进行数据的重绘。
首先需要说明的是,显示层架构基于上位机实现,基于操作系统和web访问通讯,用户通过浏览器浏览访问。
在本发明的一个实施例中,模块Modules和显示层均采用MVC架构。其中,模块Modules上的MVC架构用于数据控制和通知,且与显示层的MVC架构分离。
通过Modules加载业务层,modules架构上分层也是MVC架构,但是该MVC架构仅仅用于数据控制和通知,和显示层的MVC架构是分离的。
具体地,开发人员在基于该分层结构的软件开发模型中抽象软件功能和数据模型,使各个层级之间的接口更加逻辑清晰而又独立存在,用于显示的显示层架构通过ViewModel检测数据的变化,并且会自动通知用户界面进行数据的重绘,通过指定的数据通知,可以精确的重绘单点的数据,而无需将全部用户界面更新一遍。
根据本发明实施例的动态业务数据的软件框架的数据流动实现方法,主要应用于软件的设计框架,用于将数据层,业务层和界面的抽象分离出来,方便大型软件的分组开发。本发明主要应用于桌面软件的快速开发和快速业务迭代,一般需要面向对象类型的软件语言支持,在实际的开发中,为了考虑应用的实现,本发明主要选用较为高级的抽象语言,如Java,C#等对桌面语言支持比较好的为佳。
本发明实施例的动态业务数据的软件框架的数据流动实现方法,具有以下有益效果:
(1)在基础服务计算中的对象也不再是单纯的数据概念,而是实际存在的实体,将数据的实现方式和转换方式隔离,增加算法的实际目标和抽象对象之间的灵活程度,可以进一步完善底层交互和实际算法的功能程度。
(2)业务层的层级使用不同的接口抽象模式,采用依赖倒置的方式将实际的通用控制算法和数据显示层完全分离,使得高层模块不直接依赖于底层模块的具体实现,而依赖于底层的抽象,并不直接与底层有依赖关系。
(3)应用程序本身不负责依赖对象的创建和维护,而是将其交给一个外部容器来负责,这样控制权就由应用程序转移到了外部的IoC容器,即控制权实现了反转,层级之间的交互通过配置文件和虚拟接口完成交互和实现,将整体软件的功能性和逻辑性做出可动态加载的变化,通过在不同层级的业务区分,可以完成动态的模块加载和软件配置。根据业务和客户的需求,少量人力操作就可以实现不同的软件功能,业务逻辑和整体UI界面的大量变化和调整。通过对配置文件动态map的定义,可以很好的分离软件工作给不同层级的软件设计和开发人员,将有效的提高软件开发效率。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在不脱离本发明的原理和宗旨的情况下在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。本发明的范围由所附权利要求及其等同限定。
Claims (8)
1.一种动态业务数据的软件框架的数据流动实现方法,其特征在于,包括如下步骤:
步骤S1,由数据库服务器加载来自配置服务器的配置文件,并通过对象关系映射ORM进行识别并抽象为数据实例,发送至算法库;
步骤S2,所述算法库调用上述数据实例,并以所述配置文件作为识别对象的映射表,建立业务层和算法库之间的映射关系;
步骤S3,所述模块Modules的MVC架构通过DI表映射识别业务层数据;
步骤S4,由显示层架构通过视图模型ViewModel与所述模块Modules建立通信,检测业务层数据的变化,并自动通知用户界面进行数据的重绘。
2.如权利要求1所述的动态业务数据的软件框架的数据流动实现方法,其特征在于,在所述步骤S1中,对配置文件进行ORM识别并抽象为数据实例,包括:对软件中全部数据本身作为数据实例,在基础服务计算中的对象为实际存在的实体,将数据的实现方式和转换方式隔离。
3.如权利要求1所述的动态业务数据的软件框架的数据流动实现方法,其特征在于,在所述步骤S2中,所述业务层和算法库之间通过类绑定关系的表进行映射关系。
4.如权利要求1所述的动态业务数据的软件框架的数据流动实现方法,其特征在于,所述模块Modules和所述显示层均以MVC架构为基础。
5.如权利要求4所述的动态业务数据的软件框架的数据流动实现方法,其特征在于,所述模块Modules上的MVC架构用于数据控制和通知,且与所述显示层的MVC架构分离。
6.如权利要求1所述的动态业务数据的软件框架的数据流动实现方法,其特征在于,所述DI表由所述算法库主动注册对象。
7.如权利要求1所述的动态业务数据的软件框架的数据流动实现方法,其特征在于,所述显示层架构基于上位机实现,基于操作系统和web访问通讯,所述用户通过浏览器浏览访问。
8.如权利要求1所述的动态业务数据的软件框架的数据流动实现方法,其特征在于,所述业务层的层级使用不同的接口抽象模式,采用依赖倒置的方式将实际的通用控制算法和数据显示层完全分离。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710624663.4A CN107391201B (zh) | 2017-07-27 | 2017-07-27 | 一种动态业务数据的软件框架的数据流动实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710624663.4A CN107391201B (zh) | 2017-07-27 | 2017-07-27 | 一种动态业务数据的软件框架的数据流动实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107391201A true CN107391201A (zh) | 2017-11-24 |
CN107391201B CN107391201B (zh) | 2020-03-27 |
Family
ID=60341801
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710624663.4A Active CN107391201B (zh) | 2017-07-27 | 2017-07-27 | 一种动态业务数据的软件框架的数据流动实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107391201B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107861754A (zh) * | 2017-11-30 | 2018-03-30 | 广州市动景计算机科技有限公司 | 数据封装、处理方法、装置及电子设备 |
CN108073393A (zh) * | 2018-01-18 | 2018-05-25 | 山东浪潮通软信息科技有限公司 | 一种基于ef框架的仓储设计方法 |
CN109032566A (zh) * | 2018-06-22 | 2018-12-18 | 深圳探科技术有限公司 | 一种软件逻辑层与通讯层的去耦合方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101794226A (zh) * | 2010-03-08 | 2010-08-04 | 山东大学 | 一种适应多业务抽象层次的服务化软件构造方法和系统 |
CN102750145A (zh) * | 2012-06-05 | 2012-10-24 | 怯肇乾 | 一种网络系统软件体系框架及其实现方法 |
CN104572761A (zh) * | 2013-10-23 | 2015-04-29 | 中国科学院沈阳自动化研究所 | 一种分层应用技术框架 |
CN104657149A (zh) * | 2015-03-13 | 2015-05-27 | 浪潮集团有限公司 | 一种存储系统的管理模块的软件框架实现方法 |
-
2017
- 2017-07-27 CN CN201710624663.4A patent/CN107391201B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101794226A (zh) * | 2010-03-08 | 2010-08-04 | 山东大学 | 一种适应多业务抽象层次的服务化软件构造方法和系统 |
CN102750145A (zh) * | 2012-06-05 | 2012-10-24 | 怯肇乾 | 一种网络系统软件体系框架及其实现方法 |
CN104572761A (zh) * | 2013-10-23 | 2015-04-29 | 中国科学院沈阳自动化研究所 | 一种分层应用技术框架 |
CN104657149A (zh) * | 2015-03-13 | 2015-05-27 | 浪潮集团有限公司 | 一种存储系统的管理模块的软件框架实现方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107861754A (zh) * | 2017-11-30 | 2018-03-30 | 广州市动景计算机科技有限公司 | 数据封装、处理方法、装置及电子设备 |
CN107861754B (zh) * | 2017-11-30 | 2020-12-01 | 阿里巴巴(中国)有限公司 | 数据封装、处理方法、装置及电子设备 |
CN108073393A (zh) * | 2018-01-18 | 2018-05-25 | 山东浪潮通软信息科技有限公司 | 一种基于ef框架的仓储设计方法 |
CN109032566A (zh) * | 2018-06-22 | 2018-12-18 | 深圳探科技术有限公司 | 一种软件逻辑层与通讯层的去耦合方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107391201B (zh) | 2020-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107391201A (zh) | 一种动态业务数据的软件框架的数据流动实现方法 | |
Erkoyuncu et al. | A design framework for adaptive digital twins | |
CN110427204A (zh) | 一种基于容器和服务网格技术的自动化灰度发布方法 | |
CN106815016A (zh) | 一种基于领域驱动设计的mvvm设计模型 | |
CN106339525A (zh) | 产品可视化系统 | |
CN108595267A (zh) | 一种基于深度强化学习的资源调度方法和系统 | |
CN107280693A (zh) | 基于vr交互电子沙盘的心理分析系统及方法 | |
Orzechowski et al. | Transparent deployment of scientific workflows across clouds-kubernetes approach | |
Dodd et al. | Universal folding pathways of polyhedron nets | |
CN107479964A (zh) | 一种云渲染系统 | |
CN104732346A (zh) | 一种基于元数据的统一有限产能排产方法 | |
CN105022627A (zh) | 一种Android系统中View间的通信方法 | |
CN107515863A (zh) | 一种基于分布式数据库的sdn集群实现的方法及系统 | |
CN104457823B (zh) | 一种基于服务的测试仪器互换方法 | |
CN106030583A (zh) | 用于ransac算法的并行执行的技术 | |
CN107341614A (zh) | 基于互联网+的甘蔗制糖厂化学分析管理系统 | |
CN106897581A (zh) | 一种面向基因数据解读的可重构异构平台 | |
CN114707429A (zh) | 基于ear的可执行建模方法、装置、计算机设备和介质 | |
CN104732025B (zh) | 一种高速列车轮对的建模方法 | |
CN107808193A (zh) | 一种基于多智能体的普适计算操作系统原型 | |
Cheng | Composite quantile estimation in PLS-SEM for environment sustainable development evaluation | |
CN107133082A (zh) | 实现同步虚拟设备组件的方法及系统 | |
Rajkumar et al. | Moving to the cloud, fog, and edge computing paradigms: Convergences and future research direction | |
CN111625912A (zh) | 一种面向深度学习的Bom结构及其创建方法 | |
Shi et al. | Research on Hospital Self-service Machine Interaction Design Based on Kansei Engineering |
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 |