当前位置:首页 > 作文大全 >

基于MCR框架的热力学数据库架构模式设计

发布时间: 2022-03-21 10:06:54 浏览:

摘要:分析了三层和n层架构模式的Web热力学数据库在数值计算方面存在的问题。提出了基于MCR框架的、多层的、分布式计算的Web热力学数据库架构模式,将Web热力学数据库业务逻辑层与数值计算过程分离,简化了数值计算的过程。同时,利用服务器群集技术构建数值计算引擎集群,大大提高了Web热力学数据库数值计算能力和速度、

关键词:MCR;Web Service;架构模式;数值计算;热力学数据库

O 引言

随着Internet技术的不断发展,基于浏览器/Web服务器结构模型(即B/S结构模型)的热力学数据库得到了广泛的应用。在这种结构模型下,一部分事务逻辑在客户端浏览器实现,大部分事务逻辑在热力学数据库服务器端实现。然而,由于在热力学数据库的应用中涉及到大量的数值计算,会大量消耗服务器CPU和内存的资源,导致热力学数据库服务器的负载加重,增大响应时间,因此,如不能很好地解决数值计算的速度问题,热力学数据库系统整体性能将受到较大的影响。

在热力学数据库的开发过程中,开发人员不仅要集中精力将热力学数据库中的数学模型转换为计算机控制代码,而且还需要花费大量精力去实现、验证、优化数学模型中所涉及的数值计算方法,从而加大了热力学数据库的开发周期和难度。

本文针对Web热力学数据库数值计算的特点和性能要求,使用面向服务的架构思想,提出了基于MCR框架的Web热力学数据库架构模式,实现了Web热力学数据库计算模型控制与数值计算过程的分离,大大提高了系统数值计算能力和速度,用时简化了热力学数据库系统数值计算方法的实现过程。1Web热力学数据库架构模式研究

随着计算机技术和网络技术的迅猛发展,Web热力学数据库已成为当前热力学数据库技术发展的主流并得到广泛应用。但是围绕着提高Web热力学数据库系统性能的研究依然没有停止。这些研究主要集中在两个方面。一方面是对热力学数学模型的理论研究,目的在于建立解决特定热力学问题的正确、高效的数学模型;另一方面是对Web热力学数据库架构模式的研究,目的在于降低系统开发难度和缩短系统开发周期,优化网络计算性能,提高应用系统的效率和共享能力。在后一这类研究中,普遍采用多层架构思想,将系统不同类型的工作任务分配到不同的层中执行,这样不仅便于网络用户使用热力学数据库,同时也便于系统的协同开发,提高系统代码的复用性,便于业务逻辑的共享、重组和系统的维护。

1.1三层架构模式的Web热力学数据库

在图1所示的三层架构模式中,客户端采用浏览器作为的系统界面访问工具;数据库服务器提供高效、安全的数据存储操作;Web Server则实现整个系统的控制。

三层架构模式主要解决了热力学数据库业务逻辑控制与数据存储控制的分离,实现了“瘦客户端”,便于用户使用,系统部署简单,维护成本低。从图1可以看出,热力学数据库系统的工作负载主要集中在Web Server,导致Web Server负载过重,成为影响系统性能的瓶颈。

1.2n层架构模式的Web热力学数据库

为了减轻三层架构模式下Web热力学数据库系统WebServer的工作负载,系统架构师们提出了如图2所示的n层架构模式。其中,业务逻辑层负责热力学数据库的核心功能——计算模型控制和数值计算,表示层负责用户界面控制,数据访问层负责热力学数据库的访问并屏蔽使用数据库的细17信息。

采用n层架构模式使整个系统的工作负载分布到不同的服务器中,避免了因某台服务器负载过重而成为影响系统性能的瓶颈,也便于系统的协同开发和维护,增加了系统部署的灵活性。例如,可以在业务逻辑层利用负载均衡技术构建应用服务器集群,解决复杂业务逻辑控制和大量用户并发访问的性能问题;在数据访问层引入中间件技术,解决高效访问数据库的问题。

2 基于MCR框架的Web热力学数据库架构模式

虽然n层架构模式的Web热力学数据库具有很多优势,但是,在具体实现架构模式中的核心层一业务逻辑层时,面临两个比较棘手的问题。

一是如何实现热力学数据库数学模型中的数值计算,例如积分、方程组求解等,这需要热力学数据库开发人员耗费大量的时间和精力去编程实现各种相关数值计算求解程序。如果能够在系统中直接引用目前成熟的科学计算软件来解决数值计算求解问题,将大大简化数值计算的实现过程。

二是如何提高数值计算的效率。数值计算往往会消耗计算机大量的内存和CPU资源,加重应用服务器的负载,从而导致系统响应时间增长,成为影响系统性能的瓶颈。如果能够将数值计算过程从业务逻辑层中分离出来,将其转移到专用的数值计算服务器中,不仅能够减轻应用服务器的负载,而且专用的数值计算服务器能提供更好的执行效率,从而改善系统的性能。

本文提出的基于MCR框架的Web热力学数据库架构模式能够很好地解决以上两个问题。该架构模式的核心思想是,利用MCR框架构建高性能的、易于使用的热力学数据库数值计算引擎,避免了在热力学数据库的开发中直接编程实现数值计算算法;同时使热力学数据库计算模型控制与热力学数据库数值计算过程分离,从而达到简化热力学数据库的开发过程和提高系统性能的目的。

MCR(MATLAB Compiler Runtime)是建立在MATLAB基础上的一个独立的应用框架,能够执行MATLAB文件和函数。而MATLAB是世界上公认的功能强大、应用广泛的科学计算软件,具有丰富的数值计算工具和高效的数值计算效率,占据了世界上数值计算软件的主导地位。利用MATLAB提供的MATLAB Builder NE编译工具,能够将MATLAB数值计算函数转换成MCR组件(.net类)。因此,在,net框架中安装MCR就能够实现.net应用MCR组件(.net类),进而可以在程序中直接使用MATLAB强大的数值计算功能。为此,本文扩展了n层架构模式,构建了如图3所示的基于MCR框架的Web热力学数据库架构模式。

从图3可以看出,数值计算引擎将数值计算功能从业务逻辑层中独立了出来,数值计算引擎的构建采用了Service-OrientedArchitecture(面向服务体系架构)的思想,利用Web Service技术实现SOA。SOA是一科,IT体系结构样式,支持将业务作为链接服务或可重复业务任务进行集成,可在需要时通过网络访问这些服务和任务。SOA将应用程序的不同功能单元(称为服务)通过服务之间定义好的接口和契约联系起来。接口是采用中立的基于XML的语言(也称为Web服务描述语言,WebServices Definition Language,WSDL)定义的,它独立于现服务的硬件平台、操作系统和编程语言。这使得不同类型的业务逻辑层可以以一种统一和通用的方式与数值计算引擎进行交互,便于各种异构热力学数据库业务逻辑层与数值计算引擎的

集成和复用,同时也能够利用服务群集技术构建数值计算引警集群,动态均衡数值计算负载,满足网络高并发、高密集的数值计算需求,优化了系统性能,大大提高了Web热力学数据库数值计算引擎的计算能力和速度。

(1)数值计算引擎接口

本系统对外提供统一的热力学数值服务,例如焓、熵计算等的接口。只要通信双方定义好服务契约,数值计算引擎用以为各种同构或者异构系统提供热力学数值计算服务,从而使数值计算引擎能够实现跨系统的业务集成和复用。

(2)数值计算类

数值计算引擎接口定义的热力学数值计算方法,封装了各种热力学基本计算公式的求解过程,例如求解焓、熵的基本积分公式等。并在方法中调用MCR组件(net类)利用MATLAB完成具体的数值计算过程,例如定积分运算或矩阵运算等。此外,数值计算类还负责本地调用语言数据类型与MATLAB数据类型的转换,以及错误处理等辅助工作。

(3)MCR

系统根据数值计算类的调用请求,执行相应的MATLAB函数。

3基于MCR框架的Web热力学数据库架构模式的优点

在基于MCR框架的Web热力学数据库架构模式中,数值计算引擎的数值计算功能与热力学数据库业务逻辑层中分离,具有以下优点。

实现了业务逻辑层与数值计算引擎之间的松耦合,便于各种异构热力学数据库共享数值计算引擎服务。

采用SOA思想,能够使用服务器集群技术建立数值计算服务器群,各个数值计算引擎分担工作负荷,支持高密集数值计算,可灵活地增减系统数值计算能力。

减轻了热力学数据库应用服务器的负载,有利于提高系统的整体性能。

热力学数据库的业务逻辑层只需关注如何使用数值计算服务,而用不关心如何实现数值计算,简化了业务逻辑层的实现过程,提高了热力学数据库系统开发效率。

能够充分利用MATLAB丰富的数值计算工具,屏蔽了使用MATLAB的复杂过程。同时借助于MATLAB卓越的数值计算性能提高了数值计算效率。

可对数值计算引擎做进一步的优化。如可直接利用MATLAB并行计算功能构建多核、多处理器并行计算服务器,或利用MATLAB分布式并行计算功能构建MATLAB分布式计算计算机集群,提高数值计算引擎的数值计算速度。

4 结束语

在冶金、化工领域的生产和研究中,热力学数据库作为基本工其得到了越来越广泛的应用,对热力学数据库的计算性能要求也越来越高。系统的架构模式是影响热力学数据库系统性能的关键因素之一,是热力学数据库系统软件开发的基础。本文分析了三层和n层架构模式的Web热力学数据库所存在的问题,根据热力学数据库数值计算的特点,在n层架构模式的基础上,提出了基于MCR框架的、多层、分布式计算的Web热力学数据库架构模式。该模式可方便地实现对MATLAB计算功能的调用而无需了解具体的技术细节,从而大大简化了数值计算功能的实现过程,同时也为Web热力学数据库在重负载网络环境下的应用和异构热力学数据库共享热力学数值计算服务提供了一种可行方案。基于MCR框架的热力学数据库架构模式设计

胡元

摘要:分析了三层和n层架构模式的Web热力学数据库在数值计算方面存在的问题。提出了基于MCR框架的、多层的、分布式计算的Web热力学数据库架构模式,将Web热力学数据库业务逻辑层与数值计算过程分离,简化了数值计算的过程。同时,利用服务器群集技术构建数值计算引擎集群,大大提高了Web热力学数据库数值计算能力和速度、

关键词:MCR;Web Service;架构模式;数值计算;热力学数据库

O 引言

随着Internet技术的不断发展,基于浏览器/Web服务器结构模型(即B/S结构模型)的热力学数据库得到了广泛的应用。在这种结构模型下,一部分事务逻辑在客户端浏览器实现,大部分事务逻辑在热力学数据库服务器端实现。然而,由于在热力学数据库的应用中涉及到大量的数值计算,会大量消耗服务器CPU和内存的资源,导致热力学数据库服务器的负载加重,增大响应时间,因此,如不能很好地解决数值计算的速度问题,热力学数据库系统整体性能将受到较大的影响。

在热力学数据库的开发过程中,开发人员不仅要集中精力将热力学数据库中的数学模型转换为计算机控制代码,而且还需要花费大量精力去实现、验证、优化数学模型中所涉及的数值计算方法,从而加大了热力学数据库的开发周期和难度。

本文针对Web热力学数据库数值计算的特点和性能要求,使用面向服务的架构思想,提出了基于MCR框架的Web热力学数据库架构模式,实现了Web热力学数据库计算模型控制与数值计算过程的分离,大大提高了系统数值计算能力和速度,用时简化了热力学数据库系统数值计算方法的实现过程。1Web热力学数据库架构模式研究

随着计算机技术和网络技术的迅猛发展,Web热力学数据库已成为当前热力学数据库技术发展的主流并得到广泛应用。但是围绕着提高Web热力学数据库系统性能的研究依然没有停止。这些研究主要集中在两个方面。一方面是对热力学数学模型的理论研究,目的在于建立解决特定热力学问题的正确、高效的数学模型;另一方面是对Web热力学数据库架构模式的研究,目的在于降低系统开发难度和缩短系统开发周期,优化网络计算性能,提高应用系统的效率和共享能力。在后一这类研究中,普遍采用多层架构思想,将系统不同类型的工作任务分配到不同的层中执行,这样不仅便于网络用户使用热力学数据库,同时也便于系统的协同开发,提高系统代码的复用性,便于业务逻辑的共享、重组和系统的维护。

1.1三层架构模式的Web热力学数据库

在图1所示的三层架构模式中,客户端采用浏览器作为的系统界面访问工具;数据库服务器提供高效、安全的数据存储操作;Web Server则实现整个系统的控制。

三层架构模式主要解决了热力学数据库业务逻辑控制与数据存储控制的分离,实现了“瘦客户端”,便于用户使用,系统部署简单,维护成本低。从图1可以看出,热力学数据库系统的工作负载主要集中在Web Server,导致Web Server负载过重,成为影响系统性能的瓶颈。

1.2n层架构模式的Web热力学数据库

为了减轻三层架构模式下Web热力学数据库系统WebServer的工作负载,系统架构师们提出了如图2所示的n层架构模式。其中,业务逻辑层负责热力学数据库的核心功能——计算模型控制和数值计算,表示层负责用户界面控制,数据访问层负责热力学数据库的访问并屏蔽使用数据库的细17信息。

采用n层架构模式使整个系统的工作负载分布到不同的服务器中,避免了因某台服务器负载过重而成为影响系统性能的瓶颈,也便于系统的协同开发和维护,增加了系统部署的灵活性。例如,可以在业务逻辑层利用负载均衡技术构建应用服务器集

群,解决复杂业务逻辑控制和大量用户并发访问的性能问题;在数据访问层引入中间件技术,解决高效访问数据库的问题。

2 基于MCR框架的Web热力学数据库架构模式

虽然n层架构模式的Web热力学数据库具有很多优势,但是,在具体实现架构模式中的核心层一业务逻辑层时,面临两个比较棘手的问题。

一是如何实现热力学数据库数学模型中的数值计算,例如积分、方程组求解等,这需要热力学数据库开发人员耗费大量的时间和精力去编程实现各种相关数值计算求解程序。如果能够在系统中直接引用目前成熟的科学计算软件来解决数值计算求解问题,将大大简化数值计算的实现过程。

二是如何提高数值计算的效率。数值计算往往会消耗计算机大量的内存和CPU资源,加重应用服务器的负载,从而导致系统响应时间增长,成为影响系统性能的瓶颈。如果能够将数值计算过程从业务逻辑层中分离出来,将其转移到专用的数值计算服务器中,不仅能够减轻应用服务器的负载,而且专用的数值计算服务器能提供更好的执行效率,从而改善系统的性能。

本文提出的基于MCR框架的Web热力学数据库架构模式能够很好地解决以上两个问题。该架构模式的核心思想是,利用MCR框架构建高性能的、易于使用的热力学数据库数值计算引擎,避免了在热力学数据库的开发中直接编程实现数值计算算法;同时使热力学数据库计算模型控制与热力学数据库数值计算过程分离,从而达到简化热力学数据库的开发过程和提高系统性能的目的。

MCR(MATLAB Compiler Runtime)是建立在MATLAB基础上的一个独立的应用框架,能够执行MATLAB文件和函数。而MATLAB是世界上公认的功能强大、应用广泛的科学计算软件,具有丰富的数值计算工具和高效的数值计算效率,占据了世界上数值计算软件的主导地位。利用MATLAB提供的MATLAB Builder NE编译工具,能够将MATLAB数值计算函数转换成MCR组件(.net类)。因此,在,net框架中安装MCR就能够实现.net应用MCR组件(.net类),进而可以在程序中直接使用MATLAB强大的数值计算功能。为此,本文扩展了n层架构模式,构建了如图3所示的基于MCR框架的Web热力学数据库架构模式。

从图3可以看出,数值计算引擎将数值计算功能从业务逻辑层中独立了出来,数值计算引擎的构建采用了Service-OrientedArchitecture(面向服务体系架构)的思想,利用Web Service技术实现SOA。SOA是一科,IT体系结构样式,支持将业务作为链接服务或可重复业务任务进行集成,可在需要时通过网络访问这些服务和任务。SOA将应用程序的不同功能单元(称为服务)通过服务之间定义好的接口和契约联系起来。接口是采用中立的基于XML的语言(也称为Web服务描述语言,WebServices Definition Language,WSDL)定义的,它独立于现服务的硬件平台、操作系统和编程语言。这使得不同类型的业务逻辑层可以以一种统一和通用的方式与数值计算引擎进行交互,便于各种异构热力学数据库业务逻辑层与数值计算引擎的集成和复用,同时也能够利用服务群集技术构建数值计算引警集群,动态均衡数值计算负载,满足网络高并发、高密集的数值计算需求,优化了系统性能,大大提高了Web热力学数据库数值计算引擎的计算能力和速度。

(1)数值计算引擎接口

本系统对外提供统一的热力学数值服务,例如焓、熵计算等的接口。只要通信双方定义好服务契约,数值计算引擎用以为各种同构或者异构系统提供热力学数值计算服务,从而使数值计算引擎能够实现跨系统的业务集成和复用。

(2)数值计算类

数值计算引擎接口定义的热力学数值计算方法,封装了各种热力学基本计算公式的求解过程,例如求解焓、熵的基本积分公式等。并在方法中调用MCR组件(net类)利用MATLAB完成具体的数值计算过程,例如定积分运算或矩阵运算等。此外,数值计算类还负责本地调用语言数据类型与MATLAB数据类型的转换,以及错误处理等辅助工作。

(3)MCR

系统根据数值计算类的调用请求,执行相应的MATLAB函数。

3基于MCR框架的Web热力学数据库架构模式的优点

在基于MCR框架的Web热力学数据库架构模式中,数值计算引擎的数值计算功能与热力学数据库业务逻辑层中分离,具有以下优点。

实现了业务逻辑层与数值计算引擎之间的松耦合,便于各种异构热力学数据库共享数值计算引擎服务。

采用SOA思想,能够使用服务器集群技术建立数值计算服务器群,各个数值计算引擎分担工作负荷,支持高密集数值计算,可灵活地增减系统数值计算能力。

减轻了热力学数据库应用服务器的负载,有利于提高系统的整体性能。

热力学数据库的业务逻辑层只需关注如何使用数值计算服务,而用不关心如何实现数值计算,简化了业务逻辑层的实现过程,提高了热力学数据库系统开发效率。

能够充分利用MATLAB丰富的数值计算工具,屏蔽了使用MATLAB的复杂过程。同时借助于MATLAB卓越的数值计算性能提高了数值计算效率。

可对数值计算引擎做进一步的优化。如可直接利用MATLAB并行计算功能构建多核、多处理器并行计算服务器,或利用MATLAB分布式并行计算功能构建MATLAB分布式计算计算机集群,提高数值计算引擎的数值计算速度。

4 结束语

在冶金、化工领域的生产和研究中,热力学数据库作为基本工其得到了越来越广泛的应用,对热力学数据库的计算性能要求也越来越高。系统的架构模式是影响热力学数据库系统性能的关键因素之一,是热力学数据库系统软件开发的基础。本文分析了三层和n层架构模式的Web热力学数据库所存在的问题,根据热力学数据库数值计算的特点,在n层架构模式的基础上,提出了基于MCR框架的、多层、分布式计算的Web热力学数据库架构模式。该模式可方便地实现对MATLAB计算功能的调用而无需了解具体的技术细节,从而大大简化了数值计算功能的实现过程,同时也为Web热力学数据库在重负载网络环境下的应用和异构热力学数据库共享热力学数值计算服务提供了一种可行方案

相关热词搜索: 热力学 架构 框架 模式 数据库

版权所有:无忧范文网 2010-2024 未经授权禁止复制或建立镜像[无忧范文网]所有资源完全免费共享

Powered by 无忧范文网 © All Rights Reserved.。冀ICP备19022856号