CN1945530A - 具有依赖关系组件的部署***和方法 - Google Patents
具有依赖关系组件的部署***和方法 Download PDFInfo
- Publication number
- CN1945530A CN1945530A CN 200610138332 CN200610138332A CN1945530A CN 1945530 A CN1945530 A CN 1945530A CN 200610138332 CN200610138332 CN 200610138332 CN 200610138332 A CN200610138332 A CN 200610138332A CN 1945530 A CN1945530 A CN 1945530A
- Authority
- CN
- China
- Prior art keywords
- plug
- unit
- deployment
- dependence
- information
- 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
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开一种具有依赖关系组件的部署***和方法,为解决现有部署的步骤繁琐且部署封装粒度细,无法实现模块化部署可维护性低的问题而发明。本发明包括:插件和插件部署器;所述插件用于封装复杂应用的文件集合;所述插件部署器用于指定插件需要部署的范围并对插件进行部署。本发明通过插件机制实现了模块化部署,大大提高了***的可维护性。
Description
技术领域
本发明涉及计算机软件领域的组件部署技术,尤其涉及具有依赖关系组件的应用***的组件部署。
背景技术
随着运营规模的扩大,运营业务范围的扩展,企业更需要能够提供多种功能,支持多种业务,集成程度更高的大型***。电信领域中的网管***就是这样的一种大型***,网管***需要提供拓扑、告警、性能、配置、信令跟踪、安全、日志、策略管理等种类繁多的功能。一个大型应用***往往由数十个功能模块构成,每一个功能模块又由数个到数十个应用组件组成,因此大型应用***必然包含着数以百计的应用组件。
编码完成的应用组件,必须要经过部署这个步骤,才能够为用户使用。部署就是将应用组件按照一定的格式进行打包并放在应用服务器内;在部署时,部署服务需要对应用组件进行设置。目前所采用的部署机制是基于应用组件层面的,以J2EE(Java企业应用开发)为例:在J2EE中,应用组件往往打成不同格式的包(jar,war,ear等)来进行部署;在J2EE规范中,能够提供的最大部署单元就是ear,而ear只能提供对war和jar的简单封装,因此这样的部署方式更适应于简单的小型应用***。对于复杂的应用***,往往需要涉及到一些其它类型的应用组件,例如MBean、数据源等,这些都超出了ear的封装范畴,需要部署者通过专用管理接口手工配置和部署;此外,应用组件之间在部署上如果还存在依赖关系,部署者往往不得不采取一些特别措施来加以处理。类似的情况在其它架构环境中也是同样存在的。
由此可见,采用目前的部署方式,部署者为了保证一个***部署成功,需要进行大量工作,而且针对不同***可能还需要不同的部署实施措施;不仅增加了工作量和工作难度,而且***的模块化部署也无法实现。这样的方式带来了很多问题,造成***的可维护性大大降低,甚至出现***因为维护困难而报废的情况。
发明内容
为了克服上述缺陷,本发明的目的在于提供一种具有依赖关系组件模块化的部署***,有效解决大型应用***部署步骤繁琐,维护困难的问题。
为达到上述目的,本发明一种具有依赖关系组件的部署***,包括:插件和插件部署器;
所述插件用于封装复杂应用的文件集合;
所述插件部署器用于指定插件需要部署的范围并对插件进行部署。
进一步地,所述插件具有插件自描述信息,该插件的自描述信息包括:插件标识、插件版本、该插件所依赖的同组中其他插件的名字。
进一步地,所述插件自描述信息采用文件或数据库方式进行存储。
进一步地,上述部署***还包括:***总体部署信息,该***总体部署信息用于描述***中要部署的插件的范围以及插件组在部署上的先后顺序。
进一步地,所述***总体部署信息采用文件或数据库方式进行存储。
进一步地,上述部署***还包括解析器,所述解析器用于解析***总体部署信息以及一组插件自描述信息,完成部署范围的确定,并整理出一个全局意义上的插件依赖关系链表,然后根据该链表,依次调用插件部署器完成插件的部署。
为达到上述目的,一种具有依赖关系组件的部署方法,包括如下步骤:
(1)读取***总体部署信息;
(2)通过分析步骤(1)中得到的***总体部署信息,得出所部署的插件列表;
(3)通过分析步骤(2)中得到的插件列表,得出插件组之间的依赖关系;
(4)若要部署的插件存在且该要部署的插件具有自描述信息,则读取该要部署的插件的自描述信息,并根据该自描述信息判断该插件所依赖的其他插件是否存在,若不存在,异常退出,若存在,根据该插件的自描述信息整理出局部依赖关系列表;
(5)根据步骤(4)中整理出的局部依赖关系列表,并结合步骤(3)中得到的插件组之间的依赖关系,整理出全局依赖关系列表;
(6)根据步骤(5)中得到的全局依赖关系列表逐次调用插件部署器,对插件进行部署。
进一步地,所述的***总体部署信息采用文件或数据库方式存储;所述插件的自描述信息采用文件或数据库方式存储。
本发明是基于插件的部署是一种新型部署机制,只需修改***总体部署信息,就可以轻松实现功能模块(组)级别的部署与去部署;***总体部署信息格式简单明确,可以让部署者很容易定义需要部署的功能模块范围;通过***总体部署信息可以实现对复杂***部署的总体规划;通过引入插件机制,插件以下的部署由模块开发者维护,而应用程序部署者就只需要负责***中功能模块(组)级别的部署;插件(PAR)具有自描述性,可以描述局部依赖性关系,部署人员仅仅考虑更高层次(功能模块组之间)的依赖关系;插件(PAR)是一种打包部署的方式,但它又超越了打包部署,PAR下面可以指定某些目录不部署(例如:资源文件所在的目录);在实现功能模块结构上保持内聚性的同时,又不会增加***部署的时间开销;
这种方法有效降低***部署的复杂性,实现模块化部署;且实现起来简单,直观,不同角色(开发者,部署者,***管理者)只需要关心很少的配置文件,大大降低了这些角色的技能要求。
附图说明
图1是具有依赖关系组件的部署***示意图;
图2是具有依赖关系组件的部署***总体流程图;
图3是复杂***层次结构示例图;
图4是***总体部署文件示例图。
具体实施方式
下面结合附图对本发明的部署***和方法做进一步详细的描述,以电信领域中的网管软件***为例,电信领域中的网管***可以划分为基础支撑层Support Layer(SL)、框架层Framework Later(FL)和应用层Application Layer(AL)如图3所示。所有复杂的***都应有明确的层次划分,典型的如TCP/IP协议栈,功能模型中的层次概念在部署中与模块组对应,层下面(在部署中是模块组)就是一个个的功能模块,例如:告警、性能、拓扑等。
功能模块是从功能模型中提取出来的,可以对应于需求上一个个功能点,本发明基于这种情况提出了一种具有依赖关系功能模块的部署***,该***主要包括:插件(PAR Plug-inArchive)和插件部署器。
1、插件是相当于功能模块的一种新型的部署单元,且可以包容其它普通的部署单元,从而具备封装复杂应用的能力,复杂应用***的部署,可以视为一个个插件的部署。插件PAR是复杂***中一个软件模块在服务端/客户端上对应的物理实现,具体体现为一个软件模块的开发者所提供的全部文件和模块单元在运行期生成的文件的集合。
在没有提出插件的概念之前,一个软件模块所需要的各种文件是零碎的,如jar文件、配置文件、运行期文件等,往往分散在应用***的各个目录之下,为了达到各模块可拆卸的目的,需要手工做大量的工作,或者使用复杂的安装程序来解决这个问题。本发明提出插件的概念之后,可以将所有这些文件整合为一个插件,极大增强了***部署运行时的模块化程度;此外,插件(PAR)还支持依赖关系,一个插件可能利用另一个插件提供的服务完成自己的功能。以J2EE为例,即便是J2EE规范中最大的部署单元ear,也未必能够在部署上完全体现一个功能点;而且这些功能点(组)之间的依赖关系,在目前的部署单元更是无法描述清楚。因此,本发明提出一种新的部署单元:即插件PAR(Plug-in Archive)。实现了功能点部署上的模块化。
每一个都具有插件自身的信息,例如:插件ID,插件版本,以及该插件所依赖的同组中其它插件的名字(借以提供一个局部依赖关系列表)等,对于部署者而言是极为重要的。插件自身的信息可以用不同的方式(文件或者数据库等)来存储。本实施例中采用的是文件方式,每一个插件通过一个插件自描述文件(以特定的文件后缀加以区分)来存放这些插件自身的信息,每一个插件自描述文件的内容由插件开发者完成。
如下所示就是一个插件自描述文件的示例:
该文件中包含模块(在部署中为插件)的ID(标识)、版本、模块依赖关系等信息,
<?xml version="1.0"encoding="GB2312"?>
<par>
<info name="example1"version="1.0"/>
<depend>example2.par</depend>
<depend>example3.par</depend>
</par>
通过这个文件,可以知道插件的ID(example1),版本(1.0),其依赖的同一层次中其它par的名字(example2.par和example3.par)。
2、插件部署器,用于指定插件(PAR)中需要部署的范围,在实现功能点结构上保持内聚性的同时,又不会增加***部署的时间开销。
插件和插件部署器构成了部署***的核心,但是为了部署大型应用***,还需要一些辅助部件:
A、***总体部署信息,用以描述***中所要部署的插件PAR的范围,以及模块组在部署上的先后顺序。这些信息在***中是全局唯一的,可以用不同的方式(文件或者数据库等)来存储该信息,在本实施例中采用的是文件方式,用***总体部署文件来存储,如图4所示:该文件通过DeployedPar元素来定义部署插件的范围;通过fileset元素来定义插件组,在插件部署依赖关系处理的时候,写在前面fileset(插件组)会先部署,因此,图4中模块组部署的先后顺序就是dir1→dir1/dir2→dir1/dir3→dir1/dir4→dir1/dir5。该文件格式简单,并且支持通配符(例如:*或者?号等),从图中可以看出,只需要写几行文字,就可以很方便地定义需要部署的插件范围。因此用户可以很方便地在***总体部署文件中定义出需要部署的插件。
B、解析器,负责解析***总体部署文件(deploy.xml)以及一组插件自描述文件(本实施例中采用文件方式,如果采用数据库或者其它方式会略有不同),完成部署范围的确定,定义该插件所依赖的其他插件列表,收集所有的部署文件,将多个局部依赖关系列表合并成一个全局插件依赖关系列表,然后,根据该列表,调用插件部署器来依次部署插件;插件部署器根据部署约定,决定插件下面的哪些目录将会被部署;然后通过文件扫描器获取所有可被部署的组件集合,按照类型部署所有的组件。
插件部署依赖关系处理的原则是:
插件组(是指在***总体部署文件中的fileset元素)之间的依赖关系,是写在前面的fileset先部署。
插件组之内的依赖关系,是通过插件自描述文件(parinfo.xml)中定义的依赖关系来决定。
图2描述了本发明的具有依赖关系的插件部署的流程图,该流程主要包括如下步骤:
(1)读取总体部署文件deploy.xml;
(2)通过解析该总体部署文件,得出所部署的全局插件列表;
(3)分析出模块组(层)之间的依赖关系;
(4)判断要部署的插件实际上是否存在,如果不存在,异常退出,若存在,并判断该插件下面是否存在对应的自描述文件,若该插件没有对应的自描述文件,则异常退出,若该插件有对应的自描述文件,则根据该插件的自描述文件整理出局部依赖关系链表;
(5)根据局部依赖关系列表,结合模块组(层)之间的依赖关系,整理出全局依赖关系链表;
(6)根据全局依赖关系链表,逐次调用插件部署器,对插件进行部署。
由上述技术方案可以得知,本发明是基于插件的部署是一种新型部署机制,只需修改***总体部署信息,就可以轻松实现功能模块(组)级别的部署与去部署;而其它的部署机制,都需要从部署目录中添加/删除大量组件包才能实现某一个组件的部署/去部署;
***总体部署信息格式简单明确,可以让部署者很容易定义需要部署的功能模块范围;通过***总体部署信息可以实现对复杂***部署的总体规划;
通过引入插件机制,插件以下的部署由模块开发者维护,而应用程序部署者就只需要负责***中功能模块(组)级别的部署;
插件(PAR)具有自描述性,可以描述局部依赖性关系,部署人员仅仅考虑更高层次(功能模块组之间)的依赖关系;
插件(PAR)是一种打包部署的方式,但它又超越了打包部署,PAR下面可以指定某些目录不部署(例如:资源文件所在的目录);在实现功能模块结构上保持内聚性的同时,又不会增加***部署的时间开销;
这种方法有效降低***部署的复杂性,实现模块化部署;且实现起来简单,直观,不同角色(开发者,部署者,***管理者)只需要关心很少的配置文件,大大降低了这些角色的技能要求。
Claims (8)
1、一种具有依赖关系组件的部署***,其特征在于,包括:插件和插件部署器;
所述插件用于封装复杂应用的文件集合;
所述插件部署器用于指定插件需要部署的范围并对插件进行部署。
2、根据权利要求1所述的具有依赖关系组件的部署***,其特征在于,所述插件具有插件自描述信息,该插件的自描述信息包括:插件标识、插件版本、该插件所依赖的同组中其他插件的名字。
3、根据权利要求2所述的具有依赖关系组件的部署***,其特征在于,所述插件自描述信息采用文件或数据库方式进行存储。
4、根据权利要求3所述的具有依赖关系组件的部署***,其特征在于,还包括:***总体部署信息,该***总体部署信息用于描述***中要部署的插件的范围以及插件组在部署上的先后顺序。
5、根据权利要求4所述的具有依赖关系组件的部署***,其特征在于,所述***总体部署信息采用文件或数据库方式进行存储。
6、根据权利要求5所述的具有依赖关系组件的部署***,其特征在于,还包括解析器,所述解析器用于解析***总体部署信息以及一组插件自描述信息,完成部署范围的确定,并整理出一个全局意义上的插件依赖关系链表,然后根据该链表,依次调用插件部署器完成插件的部署。
7、一种具有依赖关系组件的部署方法,其特征在于,包括如下步骤:
(1)读取***总体部署信息;
(2)通过分析步骤(1)中得到的***总体部署信息,得出所部署的插件列表;
(3)通过分析步骤(2)中得到的插件列表,得出插件组之间的依赖关系;
(4)若要部署的插件存在且该要部署的插件具有自描述信息,则读取该要部署的插件的自描述信息,并根据该自描述信息判断该插件所依赖的其他插件是否存在,若不存在,异常退出,若存在,根据该插件的自描述信息整理出局部依赖关系列表;
(5)根据步骤(4)中整理出的局部依赖关系列表,并结合步骤(3)中得到的插件组之间的依赖关系,整理出全局依赖关系列表;
(6)根据步骤(5)中得到的全局依赖关系列表逐次调用插件部署器,对插件进行部署。
8、根据权利要求7所述的具有依赖关系组件的部署方法,其特征在于,所述的***总体部署信息采用文件或数据库方式存储;所述插件的自描述信息采用文件或数据库方式存储。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200610138332A CN1945530B (zh) | 2006-11-07 | 2006-11-07 | 一种具有依赖关系组件的部署***和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200610138332A CN1945530B (zh) | 2006-11-07 | 2006-11-07 | 一种具有依赖关系组件的部署***和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1945530A true CN1945530A (zh) | 2007-04-11 |
CN1945530B CN1945530B (zh) | 2010-05-12 |
Family
ID=38044947
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200610138332A Expired - Fee Related CN1945530B (zh) | 2006-11-07 | 2006-11-07 | 一种具有依赖关系组件的部署***和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1945530B (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101930379A (zh) * | 2010-08-20 | 2010-12-29 | 上海普元信息技术股份有限公司 | 分布式软件***中服务器应用程序增量部署的结构及方法 |
CN102521390A (zh) * | 2011-12-21 | 2012-06-27 | 北京人大金仓信息技术股份有限公司 | 一种基于功能插件的数据库管理监控*** |
CN103166787A (zh) * | 2011-12-15 | 2013-06-19 | ***通信集团浙江有限公司 | 信息分析方法及其设备 |
WO2013135133A1 (zh) * | 2012-03-16 | 2013-09-19 | 腾讯科技(深圳)有限公司 | 一种插件管理控制方法及装置、计算机存储介质 |
CN103678240A (zh) * | 2012-09-18 | 2014-03-26 | 阿里巴巴集团控股有限公司 | 用于对分布式计算进行组件化管理的方法和*** |
CN104063220A (zh) * | 2014-06-25 | 2014-09-24 | 清华大学 | 基于文件的Linux基础软件依赖关系分析方法 |
CN105099739A (zh) * | 2014-05-15 | 2015-11-25 | ***通信集团公司 | 一种基于插件式软件部署方法、装置及应用服务器 |
CN105138352A (zh) * | 2015-07-31 | 2015-12-09 | 百度在线网络技术(北京)有限公司 | 一种用于安装应用插件的方法和装置 |
CN107015820A (zh) * | 2016-01-27 | 2017-08-04 | 阿里巴巴集团控股有限公司 | 应用启动方法、装置及服务器 |
CN109491763A (zh) * | 2018-11-14 | 2019-03-19 | 北京奇艺世纪科技有限公司 | 一种***部署方法、装置及电子设备 |
CN109558139A (zh) * | 2018-11-21 | 2019-04-02 | 北京城市网邻信息技术有限公司 | 组件依赖关系的标示方法、装置、计算机设备及存储介质 |
CN109597627A (zh) * | 2017-09-30 | 2019-04-09 | 北京国双科技有限公司 | 一种组件安装方法、装置、存储介质和处理器 |
CN110442399A (zh) * | 2019-08-09 | 2019-11-12 | 广州小鹏汽车科技有限公司 | 应用的React Native业务执行方法、装置、存储介质及终端设备 |
CN116225464A (zh) * | 2023-05-09 | 2023-06-06 | 霖济智云科技(苏州)有限公司 | 一种平台的快速部署方法 |
CN117289951A (zh) * | 2023-11-22 | 2023-12-26 | 华信咨询设计研究院有限公司 | 一种基于递归原则的软件***多应用自动部署方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6892382B1 (en) * | 1999-05-06 | 2005-05-10 | Sun Microsystems, Inc. | Method and apparatus for implementing deployment descriptors in an enterprise environment |
EP1361509B1 (en) * | 2002-05-08 | 2013-07-10 | Sap Ag | Software delivery manager |
CN1277204C (zh) * | 2003-06-02 | 2006-09-27 | 联想(北京)有限公司 | 基于插件技术的设备集中管理方法 |
-
2006
- 2006-11-07 CN CN200610138332A patent/CN1945530B/zh not_active Expired - Fee Related
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101930379A (zh) * | 2010-08-20 | 2010-12-29 | 上海普元信息技术股份有限公司 | 分布式软件***中服务器应用程序增量部署的结构及方法 |
CN103166787A (zh) * | 2011-12-15 | 2013-06-19 | ***通信集团浙江有限公司 | 信息分析方法及其设备 |
CN102521390A (zh) * | 2011-12-21 | 2012-06-27 | 北京人大金仓信息技术股份有限公司 | 一种基于功能插件的数据库管理监控*** |
CN102521390B (zh) * | 2011-12-21 | 2015-07-08 | 北京人大金仓信息技术股份有限公司 | 一种基于功能插件的数据库管理监控*** |
US9396005B2 (en) | 2012-03-16 | 2016-07-19 | Tencent Technology (Shenzhen) Company Limited | Method, apparatus and computer storage medium for plug-in management and control |
WO2013135133A1 (zh) * | 2012-03-16 | 2013-09-19 | 腾讯科技(深圳)有限公司 | 一种插件管理控制方法及装置、计算机存储介质 |
CN103678240A (zh) * | 2012-09-18 | 2014-03-26 | 阿里巴巴集团控股有限公司 | 用于对分布式计算进行组件化管理的方法和*** |
CN105099739B (zh) * | 2014-05-15 | 2018-08-17 | ***通信集团公司 | 一种基于插件式软件部署方法、装置及应用服务器 |
CN105099739A (zh) * | 2014-05-15 | 2015-11-25 | ***通信集团公司 | 一种基于插件式软件部署方法、装置及应用服务器 |
CN104063220B (zh) * | 2014-06-25 | 2017-04-12 | 清华大学 | 基于文件的Linux基础软件依赖关系分析方法 |
CN104063220A (zh) * | 2014-06-25 | 2014-09-24 | 清华大学 | 基于文件的Linux基础软件依赖关系分析方法 |
CN105138352A (zh) * | 2015-07-31 | 2015-12-09 | 百度在线网络技术(北京)有限公司 | 一种用于安装应用插件的方法和装置 |
CN105138352B (zh) * | 2015-07-31 | 2020-03-20 | 百度在线网络技术(北京)有限公司 | 一种用于安装应用插件的方法和装置 |
CN107015820A (zh) * | 2016-01-27 | 2017-08-04 | 阿里巴巴集团控股有限公司 | 应用启动方法、装置及服务器 |
CN109597627A (zh) * | 2017-09-30 | 2019-04-09 | 北京国双科技有限公司 | 一种组件安装方法、装置、存储介质和处理器 |
CN109491763A (zh) * | 2018-11-14 | 2019-03-19 | 北京奇艺世纪科技有限公司 | 一种***部署方法、装置及电子设备 |
CN109558139A (zh) * | 2018-11-21 | 2019-04-02 | 北京城市网邻信息技术有限公司 | 组件依赖关系的标示方法、装置、计算机设备及存储介质 |
CN110442399A (zh) * | 2019-08-09 | 2019-11-12 | 广州小鹏汽车科技有限公司 | 应用的React Native业务执行方法、装置、存储介质及终端设备 |
CN116225464A (zh) * | 2023-05-09 | 2023-06-06 | 霖济智云科技(苏州)有限公司 | 一种平台的快速部署方法 |
CN117289951A (zh) * | 2023-11-22 | 2023-12-26 | 华信咨询设计研究院有限公司 | 一种基于递归原则的软件***多应用自动部署方法 |
CN117289951B (zh) * | 2023-11-22 | 2024-04-02 | 华信咨询设计研究院有限公司 | 一种基于递归原则的软件***多应用自动部署方法 |
Also Published As
Publication number | Publication date |
---|---|
CN1945530B (zh) | 2010-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1945530A (zh) | 具有依赖关系组件的部署***和方法 | |
US6892382B1 (en) | Method and apparatus for implementing deployment descriptors in an enterprise environment | |
US7552189B2 (en) | System and method for using virtual directories to service URL requests URL requests in application servers | |
KR101365832B1 (ko) | 데이터 액세스 계층 클래스 생성기 | |
US20030055809A1 (en) | Methods, systems, and articles of manufacture for efficient log record access | |
EP0986010A2 (en) | Self-contained documents management based on document properties | |
CN1904885A (zh) | 数据库适配器 | |
CN101043692A (zh) | 巡检方法及巡检服务器 | |
CN1858789A (zh) | 用来定义和产生文档管理应用的***和方法 | |
CN1578943A (zh) | 用于应用配置的智能目录的方法和设备 | |
US8214809B2 (en) | Grid-enabled ANT compatible with both stand-alone and grid-based computing systems | |
CN1469247A (zh) | 语法分析扩展标记语言文件的装置和方法 | |
CN1790343A (zh) | 产生接口代码以使用企业信息***的服务的方法和*** | |
CN1567248A (zh) | 应用程序日志记录方法及*** | |
CN1717686A (zh) | 自动数据合并 | |
CN1859505A (zh) | 话单查询***及查询方法 | |
US7657585B2 (en) | Automated process for identifying and delivering domain specific unstructured content for advanced business analysis | |
CN100351833C (zh) | 基于插件技术的设备日志实时解析***及日志解析方法 | |
Li et al. | Migrating legacy information systems to web services architecture | |
CN1192308C (zh) | 一种快速消除数据库差异信息的方法 | |
US8423957B2 (en) | Using the z/OS load module system status index to distinguish product tag files | |
CN101055521A (zh) | 映射规则的可视化生成方法及*** | |
CN100343805C (zh) | 支持网格计算标准wsrf的j2ee运行平台 | |
CN1581800A (zh) | 智能网平台中业务管理代理点动态支持多语种的方法 | |
Chen et al. | A Spark-Based Open Source Framework for Large-Scale Parallel Processing of Rich Text Documents |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100512 Termination date: 20151107 |
|
EXPY | Termination of patent right or utility model |