`

Java与CORBA技术结合的前景展望

    博客分类:
  • J2EE
阅读更多
随着Internet、Intranet及Extranet在全球范围内的普及和发展,下一代的Web必须能够处理企业-企业(business-to- business)交易和客户-企业(consumer-to-business)多步骤交易过程中的复杂需求。为了实现这一目的,Web必须发展成为一种能够执行在线交易软件的一种成熟的客户机/服务器结构。现在的HTTP/CGI结构存在一些不足,它不能满足上述这些新的要求。而各种不同的CGI扩展规范,例如cookie、Microsoft Internet Services API(ISAPI)、Netscape Server API(NSAPI)以及Active Server page等,也都不能从根本上解决问题。为了能够满足不断发展的电子商务的要求,Web需要有分布式对象的功能。这就导致了人们所称的下一波的 Internet革命──对象化的Web(Object Web)有产生。


  建立Object Web的一种可行的方法,是使用COBRA(通用对象请求代理结构, Common Object Request Broker Architecture)和Java。如果没有Object Web的话,对大多数对企业级的客户机/服务器市场有兴趣的厂商,以及喜欢面向对象编程的人而言,CORBA及Java将只不过是一种容易使用的技术而已。因此业界都希望能将COBRA和Java各自的功能结合起来形成一种新的Object Web环境。软件界中除了Microsoft以外几乎所有其它的厂商所组成的联盟都力促COBRA和Java的结合以建立一个通用的Object Web环境。而Microsoft目前也正要据它的ActiveX/DCOM技术建立自己的Object Web环境。本文首先将分别对CORBA和Java进行介绍,接下来将会详述CORBA/Java以及Object Web的各种细节。


  首先,那些Java的拥护者必须清楚,CORBA不止是一种对象请求代理(ORB),它同时也是一个非常完整的分布式对象操作平台。CORBA能跨越网路、程序语言、组件界限以及操作系统,因此能够大大扩展Java应用软件的使用范围。


  对于那些CORBA的支持者,我们必须要指出的Java也不光只是一套能和CORBA结合的程序语言。Java不仅是一种面向对象的语言,同时也是具备对象功能的可移植性操作系统。Java允许CORBA对象在各种不同的机器上执行,无论是大型机、网路电脑(NC),甚至是蜂窝式电话等。Java简化了大型CORBA系统的程序分发──Java利用字节码使得用户开发的对象能到处运行,这同时也为CORBA便携式代理提供了一个切实可行的方案。现在人们都知道Java几乎是开发客户机/服务器CORBA对象的最理想的语言。它内建的多线程(multithreading)、垃圾收集(garbage collection)及错误管理(error management)功能,使人们可以很容易开发出可靠的面向对象的应用。


  这个方案成功的关键在于这两种技术的基础结构能够彼此互补。Java弥补了CORBA的一些不足,而CORBA则可以为Java带来可移植的面向对象的软件环境。


Java和COBRA如何结合


  对于如何将COBRA技术和Java技术结合起来,业界并目前没有一个统一的标准。这主要是因为推动COBRA发展的对象管理集团(OMG,Object Management Group)及推动Java发展的JavaSoft之间无法很清楚地划清界线。举个例子来说,当JavaSoft为不同的Java客户端之间,通过虚拟机(VM)的方式建立远程方法革新(Remote Method Invocation,RMI)时,它就已经在许多方面向OMG看齐了。以制定分布式对象标准为己任的OMG当然希望COBRA能成为Java的分布式对象模型,而JavaSoft则希望创建自己的分布式对象模型,但它又迟迟提不出自己的不同于COBRA的对象结构。


  不过据称这场分岐可能很快就要结束了。JavaSoft将采纳CORBA做为分布式的对象模型这个模型在OMG的帮助之下,将能够在CORBA/IIOP(Internet Interoperable ORB Protocol)上执行RMI API。今年六月所发布的这个消息,已经对消除CORBA及Java两个阵营之间的分岐起到了明显的效果。接下来我们介绍JavaSoft计划如何将CORBA加入Java的核心中。


  Java开发包(Java Development Kit;JDK)1.2版(97年第三季推出),包含一组纯粹由Java所发展的CORBA ORB。这组ORB将是Joe的一小部分,全部以Java开发的ORB将会包含在Sun的NEO这项产品中。此外,JDK 1.2版将会支持Java IDL(Java接口定义语言,Java Interface Definition Language),Java IDL是一套能从IDL中产生出CORBA识别标签及程序框架的开发环境。JDK 1.2版同时也将包含一组完全用Java所开发的CORBA命名服务(Naming Service)。Java RMI将运行在CORBA/IIOP结构上。这意味着JavaSoft将放弃目前所建立的专有ORB结构。


  将来的JDK将会支持Enterprise JavaBeans功能。Enterprise Beans将利用CORBA/IIOP以及其它的一些协议来与客户端的Beans进行通信。最重要的是, Enterprise JavaBeans将会支持Java交易服务(Java Transaction Service;JTS)功能,这个功能将建立在CORBA的对象交易服务(Object Transaction Service;OTS)的基础上。


  先前宣布的这些消息,对于低端以及高端的CORBA/Java市场有着非常深远的影响。在低端的市场方面,用户不仅可以从JDK提供厂商(即使是Microsoft也有可能)获得免费的CORBA/Java ORB,同时还可取得IDL开发环境。在高端的市场方面,用户将能取得具备交易功能的JavaBeans。交易功能为Beans带来ACID四种保护功能,


亦即不可分割性(Atomic)、一致性(Consistent)、隔离性(Isolated)以及持久性(Durable)。这个功能同时具有连接组件的功能,用户可利用这个功能使各个厂商所开发的Beans达到同步化。因为上述的各种原因,OMG和JavaSoft才有可能求同存异,实现COBRA与Java的顺利结合。
说了半天,读者可能要问,CORBA/Java ORB到底是什么呢?它实际上是为了具备可移植性而完全由Java所开发的CORBA/IIOP ORB。这个ORB必须要能够从CORBA IDL产生出能和Java语言相连结的组件。除此之外,由这个IDL编译器所产生的程序代码,必须完全由Java语言所组成,使用者只要下载这些程序码后,就能在任何具备Java运行环境的机器上运行。


  现在已经有三家公司推出了符合这些条件的ORB,它们分别是Sun的Joe、Iona的OrbixWeb以及Visigenic/Netscape的VisiBroker for Java。这三个ORB都得到了许多厂商的强力支持。Joe将会包含在JDK 1.2版中。OrbixWeb是ORB开发厂商的龙头老大Iona所推出的产品。VisiBroker for Java这套产品目前不但随着Netscape Communicator及Enterprise Server一起推出,而且也即将附加在Oracle的asp.cn/ class=wordstyle>网络计算结构(Network Computing Architecture,NCA)、Sybase的Jaguar,以及Novell的InternetWare等三项产品中。除了这些纯粹由Java所发展的ORB之外,许多由C++所开发出来的ORB现在也提供了与Java的结合能力,例如Expersoft的PowerBroker、IBM的Component Broker及BEA即将推出的ObjectBroker等就是这样的产品。

Web功能难以割舍
  Web起初只是一个用来出版及广播静态电子文件的一个媒体。w就基本功能而言,它只不过是一个以存放URL文件为主的巨型档案服务器。到了1995年后期,随著三层客户机/服务器CGI结构的推出,它才开始具备一些基本的交互操作功能。CGI目前已经应用在各种服务器环境中。
  CGI的HTTP结构使用起来不仅效率很低而且无法认证,同时它也不适用于开发目前流行的客户机/服务器应用程序。对具备面对对功能的Java客户端程序来讲, CGI并不是一种很合适的选择。为了打破HTTP/CGI的这些限制,Web服务器的开发厂商在这方面下了很大的功夫。厂商所研究出来的解决方案,通常是以他们专用的服务器扩展功能及新的API的方式表现出来的,如NSAPI、ISAPI、Next的WebObject以及WinCGI等。
  为了解决HTTP无法认证的问题,部分扩展规范要求客户端浏览器通过cookie(存在客户端的一些服务器信息)技术来实现认证的要求。其他的规范则更进一步的利用服务器端交易对象的特性来扩充cookie的功能,并且使用交易对象来代表使用者。然而这些尝试大部分都只符合特定的结构,而且还存在很严重的缺陷。
  此外,CGI的执行速度很慢。每当接到一个新的客户端请求时,CGI都会产生一个新的运行过程来满意这个请求。为了解决这个不足,许多厂商提出的扩展规范都提供了常驻内存的工作模式,例如DLL方式的执行程序(In-process DLL)、服务器plug-in、甚至是以ORB为基础的对象等。一般而言,为了有效的处理客户端的请求,服务器端会不计一切代价的将这个服务程序保留在内存中。但这样又会带来扩展规范标准不统一(或要求特殊操作平台)的问题。
  上面这些建议最主要的问题在于他们需要通过HTTP及Web服务器来调节客户端及服务器上所执行的对象。在客户端上的对象不能直接使用服务器上的对象。我们知道,使用HTTP表格只不过是客户机/服务器交互操作最基本的一个要求。但这种笨拙的操作模式并不适用于成熟的客户机/服务器应用软件,因为这些软件中的组件要求具有很强的交互操作性。此外,这种操作模式也没有弹性。
  到了1996年,Web终于开始具有了对象功能。Java applet是迈向开发客户机/服务器结构Object Web的第一步。在发展Object Web的过程上,虽然Java是必要可少的部分但但光有Java却还是不够的。Java需要具有分布式的基础设施才能变得更完整,而CORBA则刚好能弥补Java的这个不足。
  1997年6月,随着CORBA/Java ORB与Netscape Communicator一起面世,但意味着Object Web真正的诞生了。在Web服务器软件方面,每一套Netscape Enterprise Server 3.0版都同时包含有CORBA/C++及CORBA/Java这两种ORB一起出售。Java及CORBA交互操作的对象技术,是Object Web发展的第一个步骤。

Object Web中的交互操作

  在Object Web结构中,以Web为基础的客户端及服务器间的交互操作关系变得十分的简单∶
  1、Web浏览器下载用HTML编写的网页文件。在这种要求下,这个文件中将同时包含与Java applet的连结。

  2、Web浏览器从HTTP服务器中下载Java applet。HTTP服务器取得这些applet,并以字节码的型式将applet传送给浏览器。

  3、Web浏览器载入applet。这些applet必须先通过Java的安全检查,才会下载到本地硬盘上。

  4、Applet对CORBA服务器提出对象服务请求。Java applet中可以包含由IDL所产生的客户端识别标签,利用这个识别标签,applet就可以对CORBA服务器上的对象提出服务请求。Java applet以及CORBA对象之间的通信连接可以持续存在,直到任何一方决定中断连接。需注意的是要达到这项功能,用户必须使用具备IIOP功能的防火墙(firewall)设备。目前,由Iona所推出的WonderWall是唯一符合这一要求的产品。不久Netscape也很有可能将推出IIOP防火墙设备。

  5、服务器上的对象能够选择性地为用户产生下一页的HTML文件。当服务器准备好下一页文件后,它会通知客户端浏览器到特定的URL位址去下载这一页文件。

从Object Web结构来看,服务器通常不需要具备动态产生网页的功能。要在客户端上执行的软件会以单一HTML网页、内含象applet(或是Object标签中的JavaBeans)组件的方式封装起来。与HTTP/CGI结构相比,CORBA让使用者能快速地与服务器实现并互操作的效果,使用者只需用鼠标单击HTML文件的组件,而不需要再切换到不同的网页就能获得实现交互操作的目的。
CORBA/Java扩展Web结构

  利用CORBA/Java来扩展Web基本结构可立即看到下面两个好处∶

  1、CORBA避开了CGI的瓶颈困境。CORBA允许客户端程序直接调用服务器上的对象方法。客户端程序利用事先编译过的识别标签,直接将执行时所需要的参数传送给服务器,或是利用服务器上的CORBA动态请求服务程序,立即产生所需的参数。无论是那一种方式,服务器都会利用事先编译好的框架程序,直接接收客户端的服务请求。使用者可以调用服务器上任何一组由IDL定义出来的对象程序,而不光只是HTTP定义的服务程序。此外,使用者还可以传递任何形式的参数类别,而不再只局限于字符串型的参数。这说明这种结构对客户机/服务器环境的负载会很小,尤其是和原来HTTP/CGI的结构相比效果更为明显。

  2、CORBA提供了一种伸缩性很强的服务器与服务器之间进行通信的结构。每个服务器上的通信对象都可以利用CORBA ORB来相互通信。这些对象可以同时在多个服务器上执行,以便使来自客户端的各种服务请求能达到负载平衡。ORB会将服务请求分配给第一个可用的对象,同时会随着请求的增加而增加新的对象。通过对通信进行限制和相关的CORBA服务程序,CORBA允许服务器上的对象能以一致的行为来运行。而CGI应用程序会造成系统功能的瓶颈,因为它必须处理成千上万的服务需求。CGI不能将这些负载分散到不同的处理程序或是不同的处理器上执行。

三层式CORBA/Java Object Web

  Object Web上每个新的应用程序,都将设计或封装成组件的型式。用户可以在CORBA IDL中利用对象的接口来封装现有的程序代码。几乎每一种程序语言所编写出来的程序代码都能重新封装。举例来说,利用CORBA,用户可以像变魔术一样的使一百多万行COBOL程序看起来像是一个对象。任何由IDL所创建的对象,都能够以初始类别(first class)的方式运用在Object Web中。这种方法之所以能成功,是因为CORBA同Java一样,将对象的接口和对象的运行分得很清楚。
  一些主要的asp.cn/ class=wordstyle>电脑公司,包括Sun、IBM/Lotus、Netscape、Oracle、Sybase、Novell以及BEA等,都非常看好Object Web这个重量级的应用软件。这些公司同时选择CORBA/IIOP及JavaBeans作为与公司其它产品之间立即可使用的高级软件沟通方案。下面我们通过三层式结构(three-tier)的客户机/服务器结构来详细介绍一下Object Web。

◆客户端(client)

  结构中的第一层是由传统的Web浏览器及全新以Web为中心的桌面环境构成。相对于如今静态的网页而言,这些新对象将更能代表真实世界事物的样子。举例来说,用户将可以看到对象容器中包含有人、物体以及其它的对象容器。这个动态的网页内容,是由装载着可移动式对象容器的便携式容器软件内嵌的JavaBeans运行所产生的整体效果,像HTML网页或Jars等都可以算是便携式的容器软件。用户可以利用拖拉的动作或直接操作表格的方法来与这些对象达到交互操作的效果。位于客户端的Beans不仅可以和容器软件中其它客户端的Beans交互操作,同时也能和服务器上的Beans交互操作。

  此外,利用CORBA的事件或回叫(callback)模式,服务器上的Beans将可以直接调用客户端的对象程序。浏览器可以利用HTTP协议来下载Web网页、Jars以及图象文件等,而使用CORBA作为Java客户端到服务器,以及服务器到客户端的传输协议。

◆中间层(middle tier)

  结构中的中间层运行在每个服务器上,其主要的功能是为HTTP及CORBA客户端提供服务。几乎每种操作平台上的服务器都支持CORBA/HTTP这两种组合功能,如Unix、NT、OS/2、NetWare、MacOS、OS/400、MVS及Tandem NonStop Kernel等

CORBA对象将商业原则(business logic)封装到对象中,并在这个结构中起着中间接口应用程序服务器的作用,这些CORBA对象最后很有可能被封装成Enterprise JavaBeans。这些对象利用CORBA/IIOP与客户端的JavaBeans进行交互操作。一些可伸缩性差一些的软件,也可以利用HTML服务器网页上的script功能来调用这些对象。举例来说,Netscape的Web应用接口(Web Application Interface,WAI)就可以对应用软件提供这种服务。

  服务器上的CORBA对象会利用CORBA ORB来与其他服务器上的对象进行交互操作。这些对象也可以利用SQL/JDBC(Java数据库互连)或其它中间件(Middleware)来与第三层结构中现有的服务器应用软件通信。用户甚至还可以使用CORBA/IIOP服务器主干来作为普通数据的传送通道。这就是Oracle用来建立数据Plug-in的技术。

  现在I-Kinetics及Visigenic这两家公司,也推出了能将JDBC运用在IIOP上的数据传输软件。
  中间层的这个结构同时也必须提供服务器端“组件协调者(component coordinator)”的功能,这项功能也称为对象的TP纠察员(TP monitor)。这些组件协调者实际上是建立在ORB上的TP monitor。这些组件协调者不是用来管理远程的程序,而是用来管理对象。组件协调者会预先改变对象的共同成员、平衡对象的负载、提供容错的能力,并且协调多个组件之间的通信行为。如果没有组件协调者的话,根本无法管理服务器中成千上万的对象,而这项管理的功能却又是Object Web所需具备的能力。

  在以CORBA为基础的组件协调者中,比较有名的是IBM的Component Broker及BEA的Tuxedo/Iceberg。服务器端的组件是是一种包含一小部分组件服务功能CORBA服务器对象。Oracle的 Cartridge可算是这种组件中最具代表性的例子。Cartridge是著名的CORBA对象,它同时具有通信功能和保密功能,而且还能激发特定的事件。

用户可以对服务器端的组件进行可视化装配。这说明只要通过组件本身所提供的连结接口,用户就能利用可觉化工具软件将这些组件集成在一起。将来CORBA化的Enterprise JavaBeans中将提供服务器端组件的可视化装配功能。CORBA/JavaBean的这项技术已经集成到由Symantec、Penumbra、ParcPlace、IBM/Taligent、Borland及Sybase等公司所推出的可视化开发工具中。

  在CORBA/Java Object Web结构中的第二层,还必须具备能够存储组件名称、HTML网页及便携式对象容器的能力。这些对象可以存储在便携式的Java Jars中,并且通过面向对象的数据库管理系统(ODBMS)或传统的数据库管理系统(DBMS)来进行管理,不过使用面向对象的数据库管理系统要更合适一些。

◆后端服务器(back end)

  任何一种CORBA对象能够访问的资源,都可以算是此结构第三层的一部分。这包括程序性的TP monitor、中间件(middleware)、数据库管理系统、面向对象的数据库管理系统、Lotus Notes和电子邮件等。这样一来,利用CORBA对象来取代中间层中的CGI程序才能收到良好的效果。最后用户将可以取得封装大部分三层功能的CORBA/Java组件,这样就可以充分发挥CORBA的作用了。

结束语

  CORBA和Java为Object Web上各种产品的集成起着沾合剂的作用。这是软件工业界中第一个尝试即插即用(plug-and-play)功能的软件,而这个功能则是开放系统最终希望实现的。

  在其他厂商发展Object Web的同时,软件业的大腕Microsoft也不会甘于寂寞,它正努力的以自己的方式来诠释并试图主导Object Web的发展方向,而它所用的方法则是DCOM及ActiveX。Microsoft的Transaction Server(代号Viper)是一套DCOM组件协调软件,它是Microsoft计划用来统治Object Web的秘密武器。不过目前看来,Microsoft的Web环境还远不够成熟。相信随着Microsoft的Web环境的进一步发展,未来Object Web领域的竞争将会日趋激烈。
分享到:
评论

相关推荐

    基于S7-300PLC与MCGS6.2的饮料罐装生产线自动化控制系统设计,包含仿真、程序、IO表与电气原理,实现自动操作、灌装报警及瓶数记录功能 ,基于PLC的饮料罐装生产线控制系统设计 S7-30

    基于S7-300PLC与MCGS6.2的饮料罐装生产线自动化控制系统设计,包含仿真、程序、IO表与电气原理,实现自动操作、灌装报警及瓶数记录功能。,基于PLC的饮料罐装生产线控制系统设计。 S7-300PLC MCGS6.2仿真 仿真,程序,IO表,电气原理图,6500字说明。 实现功能有: (1)系统通过开关设定为自动操作模式,一旦启动,则传送带的驱动电机启动并一直保持到停止开关动作或罐装设备下的传感器检测到一个瓶子时停止;瓶子装满饮料后,传送带驱动电机必须自动启动,并保持到又检测到一个瓶子或停止开关动作。 (2)当瓶子定位在灌装设备下时,停顿1秒,罐装设备开始工作,灌装过程为5秒钟,罐装过程应有报警显示,5秒后停止并不再显示报警。 (2)用两个传感器和若干个加法器检测并记录空瓶数和满瓶数,一旦系统启动,必须记录空瓶和满瓶数,设最多不超过99999999瓶。 (4)可以手动对计数器清零(复位)。 ,关键词:S7-300PLC; MCGS6.2仿真; 传送带驱动电机; 传感器检测; 瓶装; 空瓶数; 满瓶数; 报警显示; 自动操作模式; 灌装设备。,基于S7-300PLC的饮料罐装

    python加密货币时间序列预测源码+数据集-最新出炉.zip

    python加密货币时间序列预测源码+数据集-最新出炉 加密货币分析: 对各种加密货币的数据进行分析和研究。可能会使用到从各种来源收集的数据,包括但不限于加密货币的价格、市值、交易量、交易时间等信息。 探索加密货币市场的趋势和模式,例如价格的波动情况、不同加密货币之间的相关性等。 数据处理与操作: 可能使用 Python 语言(Kaggle 上常用的数据分析语言),并运用一些数据处理和分析的库,如 pandas 用于数据的读取、清洗、整理和转换操作,将原始的加密货币数据转换为更易于分析的格式。 可视化展示: 通过可视化工具,如 matplotlib 或 seaborn 库,将加密货币的信息以图表的形式展示出来,以帮助直观地理解数据中的关系和趋势。 统计分析或预测: 可能会进行一些基本的统计分析,如计算加密货币价格的均值、中位数、标准差等统计量,以描述数据的特征。 或者使用机器学习或时间序列分析的方法对加密货币的价格进行预测,根据历史数据预测未来价格走势。 例如,使用 scikit-learn 进行简单的回归分析: 数据挖掘与特征提取: 挖掘加密货币数据中的特征,如找出影响价格的关键因素,对数据中的特征进行筛选和提取,以帮助更好地理解加密货币的市场行为。

    面对程序设计GJava

    类和对象、继承、封装、多态、接口、异常

    TF_demo1_keras.ipynb

    gee python相关教程

    夜间灯光数据 2023年全球_中国夜间灯光数据合集(数据权威)

    夜间灯光强度(平均灯光强度)的高低反映了一个地区城市化发展的水平,平均灯光强度越高,说明该地区城市群越多,城市化程度越高。夜间灯光数据现在越来越广泛地应用于经济增长分析、经济地理、城市经济学、数字经济等众多领域。 本数据包括三套: [1]中国类DMSP-OLS灯光数据1992-202 [2]中国超长序列灯光数据1984-2020 [3]全球类NPP-VIIRS夜间灯光数据2000-2022 包括:全国各省、市、县夜间灯光数据 矫正后夜间灯光数据 细分:标准差、平均值、总值、最大值和最小值

    工程项目总监绩效考核表.xls

    工程项目总监绩效考核表

    (数据权威)各省份一般公共预算转移支付数据(附送地级市转移支付)

    首先解释一下什么叫转移支付。其实,这和养老金的中央调剂是一样的。 每年,地方都要向中央缴纳财政。而中央又要根据各地方的财政实力,给予转移支付。比如一些经济弱省,本身财政收入就不够支出的,还得上交一部分给中央,怎么维持财政运转?由于各省市直接的财政收入能力存在差异,中央为实现各个地方的公共服务水平平等,于是便有了财政转移支付制度。 简单理解就是富省养穷省。 2022年全国一般预算内财政收入203703亿元,给地方转移支付了97144.75亿元,转移支付数额创下新高。

    基于门控卷积和堆叠自注意力的离线手写汉字识别算法研究.pdf

    基于门控卷积和堆叠自注意力的离线手写汉字识别算法研究.pdf

    逐月中国工业用水空间分布数据集(数据权威)

    【数据介绍】   作为第二大人类部门用水,高质量的工业用水格网数据对于水资源研究和管理至关重要。中国工业用水格网数据(China Industrial Water Withdrawal dataset, CIWW)基于超过 40 万家企业数据、月度工业产品产量数据和连续工业用水统计数据制作得到的一套1965-2020年逐月中国工业用水数据集,其空间分辨率为 0.1°和 0.25°。数据集包括工业用水、企业数量和企业生产总值(辅助数据)等变量,可被用于水文、地理学、环境、可持续发展等方面科学研究。 【数据来源】   数据来源为《中国经济普查年鉴》(省级工业取水量、工业产出)、《中国工业企业数据库》(企业地理位置、产值)、《中国工业产品产量数据库》(工业产品月生产量),以及《中国水资源公报》和(Zhou et al, 2020, PNAS)的工业用水量数据。 【数据处理】 首先通过2008年企业分布数据、经济普查年鉴中分省分部门的工业用水量和工业产值计算得到分省分部门工业用水效率和工业产品产量数据,得到了2008年逐月工业用水数据。然后结合中国水资源公报和相关文献中省级工业用水数据,以2008年工业用水的时空格局作为基础分配工业用水数据,最终得到1965-2020年逐月工业用水的格网数据。详细方法见High-resolution mapping of monthly industrial water withdrawal in China from 1965 to 2020 (Hou et al, 2024, ESSD). 将数据集与统计数据记录和其他数据集进行了验证,结果表示在时间尺度和空间尺度上都与统计数据具有一致性,相比已有工业用水数据有更好的精度。

    65 -质量管理部经理绩效考核表1.xlsx

    65 -质量管理部经理绩效考核表1

    11 -电脑部经理绩效考核表1.xlsx

    11 -电脑部经理绩效考核表1

    大英赛写作必备:实用英语万能句及其应用技巧

    内容概要:本文提供了针对大学生英语竞赛写作准备的重要资源——一系列通用的英文句子模板。这些模板涵盖了现代经济社会的各种话题,从科技进步到环境保护,以及个人品质和社会责任等,并且适用于论述类文章、观点对比和个人见解的表达。文章通过对每一句话的应用环境解释和语法提示,确保使用者可以在实际写作中正确且有效地应用这些表达方式。 适合人群:正在准备参加大学生英语竞赛的学生及其他希望提高书面表达能力的学习者。 使用场景及目标:考生能够在竞赛时间内迅速构建思路完整的文章,增强语言表达的流利性和规范性;帮助学习者积累高级词汇,提升英语写作水平并培养良好的思维逻辑。 阅读建议:结合历年优秀范文进行深入学习,熟悉不同类型话题下的表述方法;练习将提供的句子融入自身创作的文章中,通过不断修订和完善来巩固记忆。同时也可以用于日常的英语写作训练当中。

    法律事务专员绩效考核表.xls

    法律事务专员绩效考核表

    apache-commons-digester-javadoc-1.8.1-19.el7.x64-86.rpm.tar.gz

    1、文件内容:apache-commons-digester-javadoc-1.8.1-19.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/apache-commons-digester-javadoc-1.8.1-19.el7.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、安装指导:私信博主,全程指导安装

    永磁同步电机磁场定向控制(矢量控制)Simulink仿真模型波形展现与解析,永磁同步电机的磁场定向控制(矢量控制)simulink仿真模型,波形完美 ,核心关键词:永磁同步电机; 磁场定向控制(矢量控

    永磁同步电机磁场定向控制(矢量控制)Simulink仿真模型波形展现与解析,永磁同步电机的磁场定向控制(矢量控制)simulink仿真模型,波形完美 ,核心关键词:永磁同步电机; 磁场定向控制(矢量控制); Simulink仿真模型; 波形完美;,永磁同步电机矢量控制仿真模型:磁场完美调控,波形精确无误

    07 -储运部经理绩效考核表1.xlsx

    07 -储运部经理绩效考核表1

    OQC检验员(成品出货检验员)绩效考核表.xls

    OQC检验员(成品出货检验员)绩效考核表

    基于Matlab2020b的电机控制算法:无传感FOC算法Simulink仿真模型及实践指导,定位+电流闭环强拖+ 角度渐变切+ 速度电流双闭环+ 无传感器角度估算SMO+ PLL 控制方式 Sim

    基于Matlab2020b的电机控制算法:无传感FOC算法Simulink仿真模型及实践指导,定位+电流闭环强拖+ 角度渐变切+ 速度电流双闭环+ 无传感器角度估算SMO+ PLL 控制方式 Simulink 仿真模型 (Matlab2020b版本)以及教授模型搭建 这是一种常用的无传感FOC电机控制算法,掌握这种算法的基本原理,并有仿真模型在手,就可以用它来指导实践中的程序调试,做到实际项目不盲目调试。 模型特点: 1. 所有模块都做到了模块化,各个模块分区清楚,结构清晰。 2. 所有电机和控制参数均在m文件中体现,变量注释清楚,随用随改。 3. 速度环和电流环PI参数均实现自动整定。 4. 模型采用标幺值系统。 5. 各状态切使用stateflow,模型结构清晰。 6.通用表贴和内嵌式电机。 ,定位;电流闭环强拖;角度渐变切换;速度电流双闭环;无传感器角度估算SMO;PLL控制方式;Simulink仿真模型;Matlab2020b版本建模;教授模型搭建;模块化设计;参数自动整定;标幺值系统;Stateflow应用;通用表贴和内嵌式电机。,基于Matlab 2020b的FOC电机

Global site tag (gtag.js) - Google Analytics