CN1920772B - 构件化软件系统中自动为构件分配通用唯一标识符的方法 - Google Patents

构件化软件系统中自动为构件分配通用唯一标识符的方法 Download PDF

Info

Publication number
CN1920772B
CN1920772B CN200610030220A CN200610030220A CN1920772B CN 1920772 B CN1920772 B CN 1920772B CN 200610030220 A CN200610030220 A CN 200610030220A CN 200610030220 A CN200610030220 A CN 200610030220A CN 1920772 B CN1920772 B CN 1920772B
Authority
CN
China
Prior art keywords
unique identifier
interface
name
universal unique
compression algorithm
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
Application number
CN200610030220A
Other languages
English (en)
Other versions
CN1920772A (zh
Inventor
陈榕
苏翼鹏
梁宇洲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Elcoteq Shanghai Huajie Technology Co. Ltd.
Original Assignee
KETAI CENTURY SCIENCE AND TECHNOLOGY Co Ltd SHANGHAI
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by KETAI CENTURY SCIENCE AND TECHNOLOGY Co Ltd SHANGHAI filed Critical KETAI CENTURY SCIENCE AND TECHNOLOGY Co Ltd SHANGHAI
Priority to CN200610030220A priority Critical patent/CN1920772B/zh
Publication of CN1920772A publication Critical patent/CN1920772A/zh
Priority to HK07107934.7A priority patent/HK1103588A1/xx
Application granted granted Critical
Publication of CN1920772B publication Critical patent/CN1920772B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明涉及一种构件化软件系统中自动为构件分配通用唯一标识符的方法,其中,分配构件类通用唯一标识符包括获取该构件通用唯一名称、获取该构件类的名称信息、根据构件类名称信息和构件通用唯一名称生成构件类通用唯一标识符,分配接口通用唯一标识符包括获取该接口的名称信息、获取该接口中的方法名称信息、根据接口名称信息和接口方法名称信息生成接口通用唯一标识符。采用该种构件化软件系统中自动为构件分配通用唯一标识符的方法,有效保证了标识符的避免了标识符冲突的发生,同时能够为构件的开发和使用隐藏相应的标识符,降低了构件开发的复杂度,使用方便简单,适用范围较为广泛,为构件化软件技术的进一步发展奠定了良好的基础。

Description

构件化软件系统中自动为构件分配通用唯一标识符的方法
技术领域
本发明涉及计算机构件化软件系统领域,特别涉及构件化软件系统中构件命名标识技术领域,具体是指一种构件化软件系统中自动为构件分配通用唯一标识符的方法。
背景技术
在软件构件编程中,需要为每个构件类和接口定义一个唯一的标识符,这样才能区分不同的构件和接口。但是构件开发人员是遍布全世界的,如何才能保证每一个标识符是唯一的呢?如果简单的使用名字,将很容易导致名字冲突。如果像IP地址一样,为每个构件分配一个唯一标识符,这就需要一个专门的权威机构分配标识符。这对于构件的开发和使用,是不能满足实际需要的。为了保证唯一性,微软COM构件规范采用了128位的通用唯一标识符(UUID,Universally unique idemifier),这是一个随机数,并不需要专门机构进行分配和管理。从理论上讲,如果一台机器每秒产生10000000个UUID,则可以保证(概率意义上)3240年不重复。微软提供一个uuidgen.exe工具用于产生UUID。
但是,现有技术中的UUID是一个128位的数,这些数字本身没有任何含意。对于初学构件编程的人,显得晦涩难懂。而且在开发构件的时候,经常拷贝旧的代码,改写成新的代码。如果漏了改UUID,将会造成UUID冲突,构件运行得不到预期结果(可能运行了旧的构件)。而这种错误是很难查找、定位的。另外,在开发构件过程中,经常修改接口方法,如果不改变UUID,有可能旧的客户端程序调用了修改接口后的构件时,会出现莫明其妙的错误。
发明内容
本发明的目的是克服了上述现有技术中的缺点,提供一种构件化软件系统中自动为构件分配通用唯一标识符的方法,该方法能够直接利用构件本身固有的特定信息来实现标识符的分配唯一性,有效保证了标识符的避免了标识符冲突的发生,降低了构件开发的复杂度,使用方便简单,适用范围较为广泛。
为了实现上述的目的,本发明的构件化软件系统中自动为构件分配通用唯一标识符的方法如下:
该构件化软件系统中自动为构件分配通用唯一标识符的方法,包括分配构件类通用唯一标识符的处理操作和分配接口通用唯一标识符的处理操作,其主要特点是,所述的分配构件类通用唯一标识符的处理操作包括以下步骤:
(1)系统获取该构件通用唯一名称;
(2)系统获取该构件类的名称信息;
(3)系统根据所述的构件类名称信息和所述的构件类所属的构件的通用唯一名称生成构件类通用唯一标识符;
所述的分配接口通用唯一标识符的处理操作包括以下步骤:
(1)系统获取该接口的名称信息;
(2)系统获取该接口中的方法名称信息;
(3)系统根据所述的接口名称信息和接口中的方法名称信息生成接口通用唯一标识符。
该构件化软件系统中自动为构件分配通用唯一标识符的方法的构件通用唯一名称的格式为:统一资源定位符+构件文件名称。
该构件化软件系统中自动为构件分配通用唯一标识符的方法的根据构件类名称信息和构件类所属的构件通用唯一名称生成构件类通用唯一标识符包括以下步骤:
(1)将构件通用唯一名称和构件类名称组合产生特定字符串;
(2)根据该特定字符串通过压缩算法生成压缩编码;
(3)根据该压缩编码产生校验位;
(4)将该压缩编码和校验位组合成为构件类通用唯一标识符。
该构件化软件系统中自动为构件分配通用唯一标识符的方法的压缩算法可以为字典压缩算法、固定位长压缩算法、RLE压缩算法或者LZ77压缩算法。
该构件化软件系统中自动为构件分配通用唯一标识符的方法的根据接口名称信息和接口中的方法名称信息生成接口通用唯一标识符包括以下步骤:
(1)将接口名称和接口中的方法名称组合产生特定字符串;
(2)根据该特定字符串通过压缩算法生成压缩编码;
(3)根据该压缩编码产生校验位;
(4)将该压缩编码和校验位组合成为接口通用唯一标识符。
该构件化软件系统中自动为构件分配通用唯一标识符的方法的压缩算法可以为字典压缩算法、固定位长压缩算法、RLE压缩算法或者LZ77压缩算法。
采用了该发明的构件化软件系统中自动为构件分配通用唯一标识符的方法,由于系统利用构件自身的特定信息,包括构件通用唯一名称(UUNM,Universally unique name)、构件类名称、接口名称和接口中的方法名称,通过一定的压缩算法产生全局唯一而且有意义的通用唯一标识符UUID,有效保证了标识符的避免了标识符冲突的发生;不仅如此,该方法能够为构件的开发和使用隐藏相应的UUID,降低了构件开发的复杂度,使用方便简单,适用范围较为广泛,为构件化软件技术的进一步发展奠定了良好的基础。
附图说明
图1为本发明的构件化软件系统中为构件类分配通用唯一标识符的方法过程示意图。
图2为本发明的构件化软件系统中为接口分配通用唯一标识符的方法过程示意图。
具体实施方式
为了能够更清楚地理解本发明的技术内容,特举以下实施例详细说明。
该构件化软件系统中自动为构件分配通用唯一标识符的方法,包括分配构件类通用唯一标识符的处理操作和分配接口通用唯一标识符的处理操作,其中,请参阅图1所示,所述的分配构件类通用唯一标识符的处理操作包括以下步骤:
(1)系统获取该构件通用唯一名称,该通用唯一名称的格式为:统一资源定位符+构件文件名称;
(2)系统获取该构件类的名称信息;
(3)系统根据所述的构件类名称信息和所述的构件类所属的构件的通用唯一名称生成构件类通用唯一标识符,包括以下步骤:
(a)将构件通用唯一名称和构件类名称组合产生特定字符串;
(b)根据该特定字符串通过压缩算法生成压缩编码,该压缩算法可以为字典压缩算
法、固定位长压缩算法、RLE压缩算法或者LZ77压缩算法;关于上述各压缩算法,
均为现有技术中常用的压缩编码算法,其详细的信息说明,请直接在因特网搜索引
擎上键入“压缩算法”关键字进行搜索,或者请参阅以下网址:
http://my.opera.com/neutronstar/blog/show.dml/161609;
(c)根据该压缩编码产生校验位;
(d)将该压缩编码和校验位组合成为构件类通用唯一标识符;
再请参阅图2所示,所述的分配接口通用唯一标识符的处理操作包括以下步骤:
(1)系统获取该接口的名称信息;
(2)系统获取该接口中的方法名称信息;
(3)系统根据所述的接口名称信息和接口中的方法名称信息生成接口通用唯一标识符,包括以下步骤:
(a)将接口名称和接口中的方法名称组合产生特定字符串;
(b)根据该特定字符串通过压缩算法生成压缩编码,该压缩算法可以为字典压缩算法、固定位长压缩算法、RLE压缩算法或者LZ77压缩算法;
(c)根据该压缩编码产生校验位;
(d)将该压缩编码和校验位组合成为接口通用唯一标识符;
在实际应用当中,通常人们都知道,internet的统一资源定位符(URL,Uniform ResourceLocators)是一个全球唯一的标识符,如:http://www.elastos.com/koretide.php是科泰世纪公司的简介网页。类似的,可以使用通用唯一名称(UUNM,Universally unique name)来唯一标识一个构件,如:www.elastos.com/car/sample/hello.dll,其中hello.dll为构件的文件名称。为了和以前的构件程序兼容,并且不影响程序执行效率,避免在程序中大量使用字符串比较、不定长字符数组分配释放等耗时的操作,还需要保留UUID。而这个UUID是根据UUNM等信息自动生成的,对构件开发者和使用者都是不可见的。
在构件中有两个地方要用到UUID,分别是构件类和接口,其对应的UUID也分别称为类标识(CLSID,Class Identifier)和接口标识(IID,Interface Identifier)。构件通过UUNM唯一标识。
对于构件类,由于类名(Class Name)只在一个构件中保证唯一,不同构件中两个具有不同实现的构件类可能存在类名相同的情况。为了解决这个问题,可以通过UUNM和类名生成UUID,以保证最终生成的构件类UUID的唯一性。
对于接口,由于相同的接口可能出现在不同的构件中,所以接口UUID与构件UUNM无关.但只用接口名的话,名字冲突的概率比较大,因此在生成接口UUID时,还结合了接口的方法名等信息.
本发明的方法中,生成的UUID使用了字典压缩算法,这样就可以从UUID反过来恢复类名或接口名,从而方便调试;同时还具有校验码,这样可以检查校验码确定是否是所生成的UUID。
采用了上述的构件化软件系统中自动为构件分配通用唯一标识符的方法,由于系统利用构件自身的特定信息,包括构件通用唯一名称(UUNM,Universally unique name)、构件类名称、接口名称和接口中的方法名称,通过一定的压缩算法产生全局唯一而且有意义的通用唯一标识符UUID,有效保证了标识符的避免了标识符冲突的发生;不仅如此,该方法能够为构件的开发和使用隐藏相应的UUID,降低了构件开发的复杂度,使用方便简单,适用范围较为广泛,为构件化软件技术的进一步发展奠定了良好的基础。
在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。

Claims (3)

1.一种构件化软件系统中自动为构件分配通用唯一标识符的方法,包括分配构件类通用唯一标识符的处理操作和分配接口通用唯一标识符的处理操作,其特征在于,所述的分配构件类通用唯一标识符的处理操作包括以下步骤:
(1)系统获取该构件通用唯一名称;
(2)系统获取该构件类的名称信息;
(3)系统根据所述的构件类名称信息和所述的构件类所属的构件的通用唯一名称生成构件类通用唯一标识符,包括以下步骤:
(a)将构件通用唯一名称和构件类名称组合产生特定字符串;
(b)根据该特定字符串通过压缩算法生成压缩编码;
(c)根据该压缩编码产生校验位;
(d)将该压缩编码和校验位组合成为构件类通用唯一标识符;
所述的分配接口通用唯一标识符的处理操作包括以下步骤:
(1)系统获取该接口的名称信息;
(2)系统获取该接口中的方法名称信息;
(3)系统根据所述的接口名称信息和接口中的方法名称信息生成接口通用唯一标识符,包括以下步骤:
(a)将接口名称和接口中的方法名称组合产生特定字符串;
(b)根据该特定字符串通过压缩算法生成压缩编码;
(c)根据该压缩编码产生校验位;
(d)将该压缩编码和校验位组合成为接口通用唯一标识符。
2.根据权利要求1所述的构件化软件系统中自动为构件分配通用唯一标识符的方法,其特征在于,所述的构件通用唯一名称的格式为:统一资源定位符+构件文件名称。
3.根据权利要求1所述的构件化软件系统中自动为构件分配通用唯一标识符的方法,其特征在于,所述的压缩算法为字典压缩算法、固定位长压缩算法、RLE压缩算法或者LZ77压缩算法。
CN200610030220A 2006-08-18 2006-08-18 构件化软件系统中自动为构件分配通用唯一标识符的方法 Expired - Fee Related CN1920772B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN200610030220A CN1920772B (zh) 2006-08-18 2006-08-18 构件化软件系统中自动为构件分配通用唯一标识符的方法
HK07107934.7A HK1103588A1 (en) 2006-08-18 2007-07-23 Method of automatic assigning uuid in component software system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200610030220A CN1920772B (zh) 2006-08-18 2006-08-18 构件化软件系统中自动为构件分配通用唯一标识符的方法

Publications (2)

Publication Number Publication Date
CN1920772A CN1920772A (zh) 2007-02-28
CN1920772B true CN1920772B (zh) 2010-05-12

Family

ID=37778502

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200610030220A Expired - Fee Related CN1920772B (zh) 2006-08-18 2006-08-18 构件化软件系统中自动为构件分配通用唯一标识符的方法

Country Status (2)

Country Link
CN (1) CN1920772B (zh)
HK (1) HK1103588A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8667466B2 (en) * 2010-12-28 2014-03-04 Microsoft Corporation Parameterized interface identifier techniques
CN102298716B (zh) * 2011-09-02 2014-05-07 北京地拓科技发展有限公司 一种识别码的生成方法和装置以及识别码应用方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5913217A (en) * 1997-06-30 1999-06-15 Microsoft Corporation Generating and compressing universally unique identifiers (UUIDs) using counter having high-order bit to low-order bit
EP1662380A2 (en) * 2004-07-21 2006-05-31 Rockwell Software Inc. Time stamp methods for unified plant model

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5913217A (en) * 1997-06-30 1999-06-15 Microsoft Corporation Generating and compressing universally unique identifiers (UUIDs) using counter having high-order bit to low-order bit
EP1662380A2 (en) * 2004-07-21 2006-05-31 Rockwell Software Inc. Time stamp methods for unified plant model

Also Published As

Publication number Publication date
CN1920772A (zh) 2007-02-28
HK1103588A1 (en) 2007-12-21

Similar Documents

Publication Publication Date Title
JP5350428B2 (ja) 自動プログラム生成装置、方法及びコンピュータプログラム
JP3736308B2 (ja) ソフトウェアコンポーネント自動生成システム
EP1333378A3 (en) System and method for providing contex information
JP2006164280A (ja) ウェブサービスを作成し、対話するためのインターフェースインフラストラクチャ
CN101841515A (zh) 可变目标的协议数据单元编解码代码自动生成的实现方法
CN110059456A (zh) 代码保护方法、代码保护装置、存储介质与电子设备
CN101310271A (zh) 用于生产性套件应用程序和主宿的用户界面的接口
CN104243399A (zh) 用户验证方法以及实现该方法的客户端、服务器及系统
CN104765603A (zh) 应用程序构建方法及装置
CN101639770A (zh) 用于在jvm中支持多租户隔离/多租户定制的系统和方法
CN104580378A (zh) 安装包的处理方法及装置
CN114528044A (zh) 一种接口调用方法、装置、设备及介质
CN112130830A (zh) 接口生成方法、装置及电子设备
CN1920772B (zh) 构件化软件系统中自动为构件分配通用唯一标识符的方法
CN102193789A (zh) 一种实现可配置跳转链接的方法和设备
CN107273102A (zh) 移动应用程序的生成方法及装置
CN104756138B (zh) 信息编码方法、系统以及设备
US20100269089A1 (en) Method and system for generation of reusable design patterns
CN101772196A (zh) 处理移动终端发送的信息的方法和系统以及代理服务器
JP2002342078A (ja) プログラム開発システム及び方法
US20060059459A1 (en) Generating solution-based software documentation
US20060253833A1 (en) System and method for efficient hosting of wireless applications by encoding application component definitions
CN114115648B (zh) 一种数据请求的处理方法、装置、设备及存储介质
Tiwari et al. A novel steganographic methodology for high capacity data hiding in executable files
CN102915231A (zh) 智能手机软件设计工具,解析器及其方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1103588

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1103588

Country of ref document: HK

ASS Succession or assignment of patent right

Owner name: SHANGHAI KORTIDE TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: KETAI CENTURY SCIENCE AND TECHNOLOGY CO., LTD., SHANGHAI

Effective date: 20110727

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20110727

Address after: 201203 No. 401, 177 and 501, blue wave road, Zhangjiang hi tech park, Shanghai

Patentee after: Elcoteq Shanghai Huajie Technology Co. Ltd.

Address before: 201203 Shanghai city Pudong New Area Jing Road 498 No. 17 Pudong Software Park Building 2 layer

Patentee before: Ketai Century Science and Technology Co., Ltd., Shanghai

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100512

Termination date: 20180818

CF01 Termination of patent right due to non-payment of annual fee