CN100409184C - 一种面向图形绘制引擎的io中间件装置 - Google Patents
一种面向图形绘制引擎的io中间件装置 Download PDFInfo
- Publication number
- CN100409184C CN100409184C CNB2005100866607A CN200510086660A CN100409184C CN 100409184 C CN100409184 C CN 100409184C CN B2005100866607 A CNB2005100866607 A CN B2005100866607A CN 200510086660 A CN200510086660 A CN 200510086660A CN 100409184 C CN100409184 C CN 100409184C
- Authority
- CN
- China
- Prior art keywords
- module
- assembly
- middleware
- management module
- read
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
面向图形绘制引擎的IO中间件装置主要4个部分:中心管理模块,是其他模块的组织者和管理者,图形绘制引擎的IO调度中心,是整个IO中间件的核心;代理模块,用于向中心管理模块注册处于底层的IO组件,是所有处于底层的IO组件在IO中间件中的注册代理者;动态库模块,是处于底层的IO组件类库的实际管理者,中心管理模块通过动态库模块动态加载处于底层的IO组件;读写器模块,是实际文件读写操作的执行者,在IO中间件与处于底层的IO组件之间形成了一个接口,所有对于文件的读写最终都是由该模块实现的。本发明在保证绘制平台实时性能的基础上提高了系统的可扩展性,使得图形绘制平台可以支持多种文件IO,让大量的处于底层的IO组件为图形绘制平台所用。
Description
技术领域
本发明涉及一种面向图形绘制引擎的IO中间件装置。
背景技术
面向图形绘制平台的IO中间件是一种新型的中间件,是为图形绘制平台的特定应用而产生的。中间件技术是上个世纪90年代兴起的概念,它位于客户机/服务器的操作系统之上,管理计算资源和网络通讯。中间件特点包括:满足大量应用的需要;运行于多种硬件和OS平台;支持分布式计算,提供跨网络、硬件和OS平台的透明性的应用或服务的交互功能;支持标准的协议;支持标准的接口。中间件分类分为数据访问中间件、远程过程调用中间件、消息中间件、交易中间件、对象中间件等。
面向图形绘制平台的IO中间件,不同于当前广为流行的分布式系统中间件,这种中间件为专注于为图形绘制平台提供服务,用来解决图形绘制平台中存在多种文件输入输出而产生的问题。
图形绘制平台作为一种通用的平台,对各种三维模型、声音、文本、图像、视频等格式的文件支持必不可少,这样各种IO组件与图形绘制平台结合的问题就无法回避。就如同分布式系统中需要中间件来屏蔽底层的网络与操作系统为分布式高层应用提供统一的服务借口一样,图形绘制平台也需要一个IO中间件来对底层的文件读写进行封装,为图形绘制平台提供一个统一的服务接口。
随着面向对象技术的发展,目前大多数图形平台均使用面向对象的方法进行设计与实现。在IO部分的设计中,对于高层调用者的设计关键在于要提供一个统一的读写模型的调用接口,在对于具体的实现中则要着力考虑在提供统一接口的前提下如何提高系统的可扩展性、性能、实现复杂性等多方面的因素。
要完成上述目标就必须设计IO管理者来自动维护因为文件类型不同造成的不同对象的调用。因此实际上管理方法的设计是IO中间件设计的关键。
目前,现有的图形绘制引擎中没有明确划分得IO中间件,IO部分都是以IO模块的方式实现的。一种较好的IO模块的设计类图如图1所示,其中SceneFileHandler和SceneFileType构成图形高层平台,起到管理者的作用,SceneFileHandler提供统一接口和IO管理者的作用,它提供一个读写文件的静态方法接口,同时维护一张文件扩展名到不同具体读写对象之间的映射表;SceneFileType作为高层管理者的接口,具体为文件读写对象的基类,该类的读和写的方法就是具体完成读写文件的方法。VRMLSceneFileType、OBJSceneFileType、BINSceneFileType构成IO作业对象,是具体读取不同类型文件的子类。
文件的读写过程为:在读取文件的时候调用SceneFileHandler的读方法,该方法遍历扩展名后缀映射表根据文件的扩展名找到读取该文件的具体对象,再调用该对象的读和写方法进行读写。写文件的过程同读文件的过程相同。
扩展名后缀映射表初始化方法为:为了能够在读写文件的过程中能够从扩展名后缀映射表中找出读写相应文件的对象,就必须有一个初始化这张映射表的过程。
该方案利用了面向对象语言的特性。在每一个具体读写文件的类中都包含一个该类的静态实例对象,在大多数面向对象的语言中程序的载入过程中就会实例化这些静态成员,因而就会调用对应类的构造函数。在构造函数中调用SceneFileHandler的添加场景文件类型的静态方法向扩展名后缀映射表中添加静态对象本身,就实现了关键的初始化过程。
上述方案提供SceneFileHandler::read()方法的统一读取文件接口,在内部通过映射表完成根据文件类型到不同读写对象的调用,能够实现一部分IO中间件的设计要求。但是也存在着明显的不足,表现在:
(1)在这种方案中具体的读取对象与管理者紧耦合,不能明确的区分底层读写组件与中间件之间的层次划分。
(2)这种紧耦合的关系,使得底层组件无法脱离中间件形成单独的类库,这样随着图形绘制平台支持文件类型的增加中间件的体积将不断变大,从而影响对于图形绘制平台来说至关重要的实时性能。
(3)这种方案中采用静态成员变量对映射表进行注册,这种方法造成无用读写对象的冗余,且在系统运行过程中一直存在,随着处于底层的IO组件的增多将会造成内存空间的浪费从而影响系统实时性能。
综合来说,现有技术的不足点在于:只分为IO模块,没有对处于底层的IO组件与IO中间件概念进行划分,或者划分不明确,从而造成系统运行过程中的冗余,影响系统的实时性能,从而限制了处于底层的IO组件的扩展性,无法让大量的IO组件为图形绘制平台所用。
发明内容
本发明的技术解决问题:克服现有技术的不足,提供一种面向图形绘制引擎的IO中间件,该中间件在保证绘制平台实时性能的基础上提高了系统的可扩展性,使得图形绘制平台可以支持多种文件IO,让大量的现有IO组件容易为图形绘制平台所用。
本发明的技术解决方案:面向图形绘制引擎的IO中间件装置,其特点在于包括下列部分:
(1)中心管理模块,是其他模块的组织者和管理者,图形绘制引擎的IO调度中心,是整个IO中间件的核心,它主要完成4项功能:a.向图形绘制引擎的高层模块提供接口,该接口对于各种格式的文件保持同样的调用形式,从而屏蔽掉了底层的具体实现,图形绘制引擎的高层模块通过该接口向IO中间件发送读写命令并接受返回的文件读取结果;b.维护系统的IO组件列表和文件扩展名同IO组件的映射表,并根据图形的高层发送的读写命令,调度相应的IO组件来完成读写;c.为处于底层的IO组件的注册中心,当处于底层的IO组件对应的动态链接库载入时,动态链接库中会实例化一个代理对象,该对象自动向中心管理模块进行注册,中心管理模块接收代理对象的注册,向所维护的IO组件列表添加对应的表项;d.是读写器模块的调度者,当图形绘制引擎的高层模块向中心管理模块发送读写命令并且中心管理模块找到对应的组件以后,中心管理模块就会调用读写器模块实现读写操作。
中心管理模块采用singleton模式进行设计,全局的唯一实例保证了IO组件动态调度的统一性。
(2)代理模块,用于向IO中间件中注册IO组件,是处于底层的IO组件类库在IO中间件中的代理者。
代理模块是处于底层的IO组件的注册器,是所有处于底层的IO组件在IO中间件中的注册代理者,在中心管理模块载入动态链接库时代理模块会自动向中心管理模块注册处于底层的IO组件,使得IO中间件可以知道处于底层的IO组件的存在,并在需要的时候进行调用。
该模块采用了proxy模式进行设计,处于底层的IO组件要使用该代理模块需要在类库中实例化一个代理类对象并作为处于底层的IO组件的全局对象,这样在类库载入的时候就会调用构造函数实例化该对象,该构造函数向中心管理模块的读写器列表中写入该组件的读写器对象的指针,完成注册过程。
(3)动态库模块,是处于底层的IO组件类库的实际管理者,IO中间件通过动态库模块动态加载处于底层的IO组件,实现懒加载以提高图形系统的性能。
动态库模块对处于底层的IO组件动态链接库的加载受到中心管理模块的调度,因此中心管理模块与该模块之间是调用与被调用的关系。
动态库模块通过封装动态链接库的名字和链接库句柄的类的方法管理动态链接库。动态库模块查找中心管理模块中初始化的动态链接库目录,通过规定动态链接库的名字与其文件名字对应的一种映射方法,就能够最终载入处于底层的IO组件所对应的动态链接库。
(4)读写器模块,是实际文件读写操作的执行者,所有对于文件的读写最终都是由该模块实现的。
读写器模块在IO中间件与处于底层的IO组件之间形成了一个接口,无论是哪种类型的处于底层的IO组件,通过实现读写器的同样接口的读写方法,IO中间件就可以调用该接口完成IO操作,因此该模块与中心管理模块是调用与被调用的关系,可以将中心管理模块看成是该模块的指挥者。
读写器模块在接收到中心管理模块的读写命令以后,首先要判断该命令是否能够被读写器接受,即判断所要读写文件的扩展名是否能够为被调用的处于底层的IO组件所接受,如果上述判断成功读写器模块才调用处于底层的IO组件中的读或写方法完成具体的文件读写。文件读写完成后,读写器返回给中心管理模块读写操作的结果。
本发明中4个模块的动态工作过程是:图形绘制引擎的高层模块向本发明的IO中间件装置发送读写命令,首先中心管理模块根据要利用读取的文件扩展名遍历文件扩展名同IO组件的映射表,查找该类型文件对应的IO组件,完成从该模型文件扩展名到确定其对应处于底层的IO组件过程,处于底层的IO组件确定以后再遍历IO组件列表,如果发现对应处于底层的IO组件的对象已经存在于系统之中就调用读写器模块读取文件,如果该组件目前没有被载入那么中心管理模块就调用动态库模块载入IO组件对应的动态链接库,载入过程中IO组件通过代理模块向IO中间件进行注册,中心管理模块接受到IO组件的注册以后再调用IO组件完成读写文件的过程。
本发明与现有技术相比的优点在于:
(1)根据图形绘制平台存在多种三维模型、声音、文本、图像等输入的特点,采用组件化设计方法将平台中I/O管理部分定位为一种中间件,为图形绘制平台高层的核心绘制部分提供统一的文件读取接口,为底层I/O组件提供良好的接入方式,使得图形绘制平台可以支持多种文件IO,使大量的IO组件为图形绘制平台所用。
(2)为了向图形绘制平台高层提供统一的文件读取接口,在建立文件扩展名与I/O组件之间的映射关系表的基础之上,定义处于底层的IO组件动态链接库的命名规范,通过映射关系表和命名规范,I/O中间件可以将文件扩展名映射到对应的I/O组件上,从而动态载入链接库进行文件读取,提高了系统的可扩展性。
(3)为了对底层I/O组件提供良好的接入方式,首先生成可动态维护的I/O组件列表,采用代理模板机制,允许不同I/O组件中模板的实例对象动态修改I/O组件列表,从而达到I/O组件向图形绘制平台进行自注册的目的,使得I/O组件与图形绘制平台得到良好的结合,保证了系统的实时性。
(4)为了管理动态链接库的动态载入和I/O组件列表的动态维护过程,采用singleton模式设计了全局唯一实例的注册对象,通过该注册对象完成上述动态过程所必需的链接库路径初始化、映射关系表初始化等前提工作。使用singleton模式既能够保证了IO组件动态调度的统一性,同时又使初始化工作不必重复进行,无需在每次进行I/O操作时动态创建对象,有利于提高系统的实时性能。
附图说明
图1现有技术方案类图;
图2为本发明所处的层次关系示意图;
图3为本发明各模块关系图;
图4为本发明的IO中间件设计类图;
图5为本发明的读取文件的活动图。
具体实施方式
如图2所示,图2说明了本发明的面向图形绘制引擎的IO中间件在图形绘制系统中所处的层次关系,本发明处于底层的IO组件和图形绘制引擎的高层模块中间。本发明的IO中间件为图形绘制引擎所调用,通过向图形绘制引擎的高层模块提供统一的接口实现了对于具体的处于底层的IO组件的差别。IO中间件能够识别图形绘制系统调用命令中读写文件的格式,从而调用不同的处于底层的IO组件来完成具体的读写操作。IO中间件通过提供代理机制,并利用动态库模块和读写器模块实现了对处于底层的IO组件的管理和调用,这样形成了鲜明的层次关系。
如图3、图4所示,两图说明了IO中间件的模块组成以及各模块之间的相互作用关系,下面将具体进行介绍。
本发明由中心管理模块、代理模块,动态库模块和读写器模块四个模块组成,下面以C++语言为例具体说明各个模块的实现方案。图4展示了实现四个模块对应的类,分别是Registry,RegisterReaderWriterProxy,DynamicLibrary和ReaderWriter。
1.中心管理模块,是其他模块的组织者和管理者,图形绘制引擎的IO调度中心,是整个IO中间件的核心。
中心管理模块由Registry类实现,在该类中中心管理模块向图形绘制引擎的高层模块提供的统一的读文件接口:
ReaderWriter::ReadResult Registry::read()(const std::string& fileName)和写文件接口:
ReaderWriter::WriteResult Registry::write()(const std::string&fileName)
其中,ReadResult和WriteResult是封装读写操作的结果的两个类。
上述两个接口对于各种格式的文件保持同样的调用形式,从而达到屏蔽掉底层的具体实现的目的。图形绘制引擎通过该接口向IO中间件发送读写命令和返回文件读取结果。
中心管理模块通过读写器列表_rwList和动态库列表_dlList来维护系统的IO组件列表,同时使用一个map对象_extAliasMap的数据结构来维护文件扩展名同IO组件的映射表。
文件的读写由中心管理模块来控制,读取的过程中就是利用上述数据结构进行组件管理的过程。下面就以读取FLT模型文件(图2中处于底层的IO组件之一)为例具体说明读取文件的过程,如图5所示,图形绘制引擎的高层模块向IO中间件发送读取FLT模型文件的命令,中心管理模块首先利用_extAliasMap查找该类型文件对应的IO组件,完成从FLT的文件扩展名到确定其对应IO组件ReaderWriterFLT的过程。处于底层的IO组件确定以后再遍历IO组件列表_rwList,如果发现对应组件,即ReaderWriterFLT的对象已经存在于系统之中就调用读写器ReaderWriterFLT的read()方法读取文件,如果该组件目前没有被载入那么中心管理模块就调用动态库模块载入IO组件对应的动态链接库,然后再调用IO组件完成读取文件的过程。
中心管理模块作为处于底层的IO组件的注册中心是通过_rwList和_dlList两个组件列表来实现的。底层组件对应的动态链接库载入时,动态链接库中会实例化代理模块的读写器注册代理类RegisterReaderWriterProxy的一个对象,该对象自动向_rwList和_dlList添加对应的表项,从而完成注册过程。底层的其它组件如Bmp、3DS、RGB与该FLT的工作过程相似。
中心管理模块采用singleton模式进行设计,singleton模式的特点在于保证一个类仅有一个实例,并提供一个访问它的全局访问点。在具体的设计中使用C++语言的静态变量保证Register类在全局具有唯一实例,这样由于IO组件列表是Register类的成员变量,就保证了只有一套IO组件列表,保证了IO组件动态调度的统一性。Singleton和Proxy设计模式的参考资料如下:《设计模式--可复用面向对象软件的基础》,作者:[美]Erich Gamma Richard Helm等/著译者:李英军 马晓星 蔡敏 刘建中,出版社:机械工业出版社ISBN书号:7-111-07575-7,出版日期:2000年9月版别版次:2003年2月第7次印刷
2.代理模块,用于向IO中间件中注册IO组件,是处于底层的IO组件类库在IO中间件中的代理者。
该模块采用了proxy模式进行设计,proxy模式的特点在于为其他对象提供一个代理以控制对这个对象的访问。IO中间件的代理模块通过RegisterReaderWriterProxy类来实现。对于底层组件的扩展要求在每个类库中都有一个作为代理的RegisterReaderWriterProxy类的全局对象,在类库载入的时候就会调用构造函数实例化该对象。该构造函数向Register的读写器列表_rwlist中写入该组件的ReadWriter对象的指针,完成注册过程并准备在需要的时候进行调用。
3.动态库模块,是处于底层的IO组件类库的实际管理者,IO中间件通过动态库模块动态加载处于底层的IO组件,实现懒加载以提高图形系统的性能。动态库模块对处于底层的IO组件动态链接库的加载受到中心管理模块的调度,因此中心管理模块与该模块之间是调用与被调用的关系。
该模块的DynamicLibrary类封装了类库的名字_name链接库句柄_handle,中间件将通过该类的loadLibray()方法调用操作系统的系统调用载入处于底层的IO组件动态链接库的。将动态链接库文件放在中心管理模块初始化的动态链接库目录中,通过规定动态链接库的名字与其文件名字对应的一种映射方法,就能够最终载入处于底层的IO组件所对应的动态链接库。
4.读写器模块,是实际文件读写操作的执行者,接收中心管理模块的命令,调用具体的组件方法完成读写。
该模块封装了实现插件读写的接口,该接口是一个纯虚类,该类的所有方法都是虚函数。在该类中包含了read()和write()方法,同时包含了acceptExtension()方法用来判断组件与文件类型的兼容性。具体的IO组件继承自该类,实现read()和write()方法来完成具体的文件读写,实现acceptExtension()方法提供对兼容性的判断。
读写器模块实际上是在IO中间件与处于底层的IO组件之间形成了一个接口,要加入图形绘制引擎的底层组件必须实现上面提到的方法。这样,无论是哪种类型的处于底层的IO组件,都可以通过调用读写器同样的接口来完成IO操作。
Claims (3)
1. 面向图形绘制引擎的IO中间件装置,其特征在于包括下列部分:
(1)中心管理模块,是其他模块的组织者和管理者,图形绘制引擎的IO调度中心,是整个IO中间件的核心,它主要完成4项功能:向图形绘制引擎的高层模块提供接口,图形绘制引擎的高层模块通过该接口向IO中间件发送读写命令并接受返回的文件读取结果;维护系统的IO组件列表和文件扩展名同IO组件的映射表,并根据图形绘制引擎的高层模块发送的读写命令,调度相应的IO组件来完成读写;处于底层的IO组件的注册中心,当处于底层的IO组件对应的动态链接库载入时,动态链接库中会实例化一个代理对象,然后中心管理模块接受这个代理对象的注册并在中心管理模块所维护的IO组件列表添加一个相应的表项;读写器模块的调度者,当图形绘制引擎的高层模块向中心管理模块发送读写命令并且中心管理模块找到能够读取该类型文件的组件以后,中心管理模块就会调用读写器模块实现读写操作;
(2)代理模块,用于向中心管理模块注册IO组件,是所有处于底层的IO组件在IO中间件中的注册代理者,在中心管理模块载入动态链接库时,动态链接库中会实例化一个代理对象,代理模块通过代理对象自动向中心管理模块注册处于底层的IO组件;
(3)动态库模块,是处于底层的IO组件类库的实际管理者,中心管理模块通过动态库模块动态加载处于底层的IO组件;
(4)读写器模块,是实际文件读写操作的执行者,在IO中间件与处于底层的IO组件之间形成了一个接口,所有对于文件的读写最终都是由该模块实现的。
2. 根据权利要求1所述的面向图形绘制引擎的IO中间件装置,其特征在于:所述的中心管理模块采用singleton模式进行设计,保证了IO组件动态调度的统一性。
3. 根据权利要求1所述的面向图形绘制引擎的IO中间件装置,其特征在于:所述的代理模块采用proxy模式进行设计,自动向中心管理模块注册处于底层的IO组件的过程是:处于底层的IO组件若要使用该代理模块,需要首先实例化一个代理对象并作为处于底层的IO组件的全局对象,一般会在动态链接库载入的时候就会调用构造函数实例化代理对象,该构造函数向中心管理模块所维护的IO组件列表中写入该组件的读写器对象的指针,完成注册过程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100866607A CN100409184C (zh) | 2005-10-20 | 2005-10-20 | 一种面向图形绘制引擎的io中间件装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100866607A CN100409184C (zh) | 2005-10-20 | 2005-10-20 | 一种面向图形绘制引擎的io中间件装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1749957A CN1749957A (zh) | 2006-03-22 |
CN100409184C true CN100409184C (zh) | 2008-08-06 |
Family
ID=36605423
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100866607A Expired - Fee Related CN100409184C (zh) | 2005-10-20 | 2005-10-20 | 一种面向图形绘制引擎的io中间件装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100409184C (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102129389A (zh) * | 2011-03-09 | 2011-07-20 | 南京恩瑞特实业有限公司 | 基于linuxC语言的轻量级流程调度方法 |
CN102331931B (zh) * | 2011-07-25 | 2014-05-14 | 深圳万兴信息科技股份有限公司 | 动态库管理方法和装置 |
CN103530097B (zh) * | 2012-07-04 | 2018-01-30 | 深圳中兴网信科技有限公司 | 一种跨中间件平台的组件的实现方法和装置 |
CN109710356A (zh) * | 2018-12-19 | 2019-05-03 | 深圳市金刚蚁机器人技术有限公司 | Linux系统下的图形显示实现方法 |
CN111111197B (zh) * | 2019-12-23 | 2021-07-16 | 西南民族大学 | 一种基于DirectX平台的游戏引擎数据处理系统及方法 |
CN112347397A (zh) * | 2020-11-02 | 2021-02-09 | 杭州安恒信息技术股份有限公司 | 基于浏览器的数据可视化方法、装置及可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1241627A2 (en) * | 2001-03-16 | 2002-09-18 | Mitsubishi Denki Kabushiki Kaisha | System and method for modeling graphics objects |
US20040264782A1 (en) * | 2003-06-26 | 2004-12-30 | International Business Machines Corporation | System and method for object-oriented graphically integrated command shell |
CN1560741A (zh) * | 2004-02-23 | 2005-01-05 | 史宇清 | 基于j2ee的五层体系结构构建方法 |
-
2005
- 2005-10-20 CN CNB2005100866607A patent/CN100409184C/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1241627A2 (en) * | 2001-03-16 | 2002-09-18 | Mitsubishi Denki Kabushiki Kaisha | System and method for modeling graphics objects |
US20040264782A1 (en) * | 2003-06-26 | 2004-12-30 | International Business Machines Corporation | System and method for object-oriented graphically integrated command shell |
CN1560741A (zh) * | 2004-02-23 | 2005-01-05 | 史宇清 | 基于j2ee的五层体系结构构建方法 |
Non-Patent Citations (6)
Title |
---|
在C++中实现Singleton模式. 李建磊,庄波,杨玲玲.中国信息科技,第2005卷第8期. 2005 |
在C++中实现Singleton模式. 李建磊,庄波,杨玲玲.中国信息科技,第2005卷第8期. 2005 * |
基于工程图形对象的桥梁软件开发方法. 黄羚,刘明生,任伟新.公路交通科技,第22卷第1期. 2005 |
基于工程图形对象的桥梁软件开发方法. 黄羚,刘明生,任伟新.公路交通科技,第22卷第1期. 2005 * |
设计模式特化和模式库组织. 孟祥文,邵维忠.计算机工程,第28卷第5期. 2002 |
设计模式特化和模式库组织. 孟祥文,邵维忠.计算机工程,第28卷第5期. 2002 * |
Also Published As
Publication number | Publication date |
---|---|
CN1749957A (zh) | 2006-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100409184C (zh) | 一种面向图形绘制引擎的io中间件装置 | |
US20050229186A1 (en) | Method and apparatus for dynamic runtime object aggregation | |
WO2016169530A2 (zh) | 面向服务的模块化系统体系架构 | |
US20030182457A1 (en) | Method and apparatus for generating a code bridge | |
CN106484394A (zh) | 一种双引擎快速软件开发系统 | |
JPH04277838A (ja) | データ処理システム、及びデータ処理システムを動作させる方法 | |
KR100880536B1 (ko) | 이기종 컴퓨팅 및 서비스 통합을 위한 오픈 프레임워크시스템 | |
CN100553214C (zh) | 移动虚拟环境系统 | |
CN102646232A (zh) | 一种高并发企业集中应用系统 | |
CN101789944B (zh) | 多功能电能表通信协议栈的开发系统 | |
US8015236B2 (en) | Replication of objects having non-primitive fields, especially addresses | |
CN113094039B (zh) | 一种基于数据库表的代码自动生成系统 | |
CN104063231A (zh) | 一种基于hit-tena的试验资源快速接入方法 | |
CN103268245A (zh) | 一种气象数据快速处理流程化的方法 | |
CN112486807A (zh) | 一种压力测试方法、装置、电子设备和可读存储介质 | |
CN102779036B (zh) | 用于自动化技术的软件工具 | |
CN102968443A (zh) | 优化列车自动监控系统ats界面资源管理系统 | |
Liu et al. | A simple and practical embedded software system architecture | |
US20040221293A1 (en) | Systems and methods for implementation reuse in managed code | |
Kukla et al. | A general and scalable solution for heterogeneous workflow invocation and nesting | |
Späth | Learn Kotlin for Android Development | |
CN202736109U (zh) | 一种高并发企业集中应用系统 | |
Barabanov et al. | Conceptual Approaches to Seamless Integration of Enterprise Information Systems | |
Krogh | An introduction to Windows operating system | |
CN117170738B (zh) | Python与Fortran互调用的方法、系统、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080806 Termination date: 20111020 |