首页> 中国专利> 业务对象内存表示和持久化表示的解耦合装置及方法

业务对象内存表示和持久化表示的解耦合装置及方法

摘要

本发明公开了一种业务对象内存表示和持久化表示的解耦合装置,该装置包括:至少一个业务表示接口、至少一个持久化接口、至少一个转换模块;所述持久化接口与转换模块一一对应;其中,业务表示接口,根据业务对象标准接口设置,用于支持转换模块的调用,根据系统的设定连接对应的转换模块;持久化接口,根据持久化方式标准接口设置,连接其对应的转换模块;转换模块,用于将业务对象的持久化表示转换为内存表示。本发明还公开了相应的方法,设置转换层,并根据业务对象与持久化表示之间的对应关系,转换层将各个业务对象通过对应的持久化接口持久化保存。本发明使得业务表示和持久化表示相互分离,可以极大地提升软件的可维护性和可重用性。

著录项

  • 公开/公告号CN101131638A

    专利类型发明专利

  • 公开/公告日2008-02-27

    原文格式PDF

  • 申请/专利权人 中兴通讯股份有限公司;

    申请/专利号CN200710129673.7

  • 发明设计人 邓辉;余晓文;朱丹绯;田小渝;

    申请日2007-08-14

  • 分类号G06F9/44(20060101);H04L29/06(20060101);

  • 代理机构11228 北京汇泽知识产权代理有限公司;

  • 代理人张颖玲

  • 地址 518057 广东省深圳市南山区高新技术产业园科技南路中兴通讯大厦法务部

  • 入库时间 2023-12-17 19:45:36

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-09-04

    未缴年费专利权终止 IPC(主分类):G06F9/44 授权公告日:20091118 终止日期:20170814 申请日:20070814

    专利权的终止

  • 2009-11-18

    授权

    授权

  • 2008-04-23

    实质审查的生效

    实质审查的生效

  • 2008-02-27

    公开

    公开

说明书

技术领域

本发明涉及电信软件业务对象的映射和转换技术,具体涉及一种业务对象内存表示和持久化表示的解耦合装置及方法。

背景技术

在软件系统中,一般将内存中的数据信息存储到数据库中永久保存的过程称为数据持久化的过程,而软件系统要运行,只能直接调用内存中的数据,因此需要建立业务对象的内存表示,这样,当系统由于掉电或其他原因重新启动时,可直接将数据库中的持久化数据转换为内存中的数据,软件系统就可以继续工作,而不会因为掉电等原因丢失数据信息。

与其他类型的软件系统相比,嵌入式电信软件系统具有一些特殊的要求。其中,为了更好地应对电信软件本身的复杂性、以及满足电信软件的性能规定,一方面要求能够贴近电信业务需求进行软件系统建模,这样,业务对象在内存中一般会彼此依赖,形成复杂的、网状的、耦合的关联关系;另一方面,在对业务对象进行持久化时,又会希望以一种规范的、无冗余并脱离内存表示独立变化的方式来对这些业务对象进行表示。

目前,有很多嵌入式电信软件系统多采用内存表示与持久化表示绑定,在同一系统中,采用固定的持久化表示方式,因此,同一业务对象的内存表示和持久化表示是在系统配置时一起确定且不再变化的,同时,业务对象的内存表示只能根据持久化表示的方式来确定。但是在不同的系统之间,持久化方式又是不一致的,没有很好地对内存表示与持久化表示形式进行区分和解耦,所谓解耦也就是解除关联关系,这样,就使得电信软件系统之间的兼容性差,系统自身升级维护也变得非常繁琐。

发明内容

有鉴于此,本发明的主要目的在于提供一种业务对象内存表示和持久化表示的解耦合装置,能将业务对象内存表示与持久化表示相互独立。

本发明的另一目的在于提供一种业务对象内存表示和持久化表示的解耦合方法,能将业务对象内存表示与持久化表示分离,提高系统的兼容性。

为达到上述目的,本发明的技术方案是这样实现的:

一种业务对象内存表示和持久化表示的解耦合装置,该装置包括:至少一个业务表示接口、至少一个持久化接口、至少一个转换模块;所述持久化接口与转换模块一一对应;其中,

业务表示接口,根据业务对象标准接口设置,用于支持转换模块的调用,根据系统的设定连接对应的转换模块;

持久化接口,根据持久化方式标准接口设置,连接其对应的转换模块;

转换模块,用于将业务对象的持久化表示转换为内存表示。

所述转换模块进一步包括:解析持久化信息的解析器和将解析结果转换成内存表示的处理器。

所述装置还包括建立新的业务对象的业务表示接口的业务对象创建器。

一种业务对象内存表示和持久化表示的解耦合方法,设置转换层,配置并保存系统的相关信息,该方法还包括:

A、根据设定信息创建业务对象的业务表示接口及内存表示,并根据设定信息在转换层建立业务对象与持久化表示之间的对应关系;

B、转换层将各个业务对象通过对应的持久化接口持久化保存。

所述相关信息包括但不限于:系统中的业务对象与持久化表示之间的对应信息、每种业务对象的持久化参数、每种业务对象的内存表示参数。

所述转换层中设置有一个以上转换模块;该方法进一步包括:

C、各转换模块提取业务对象的持久化信息,并对持久化信息进行解析,识别相应的业务对象;

D、各转换模块将各个业务对象转换为内存表示。

该方法进一步包括:增加新的业务对象时,对所增加的业务对象进行动态加载。

本发明所述的装置及方法,设置一个转换层,在进行业务建模时,业务对象的设计可以根据业务领域本身的要求去进行,而这些业务对象的持久化方法则可以根据其他需要独立进行,内存表示与持久化表示这两种不同的逻辑,被清晰地分隔到不同的层中,并通过所设置的转换层进行关联,如此就使得业务层和持久化层可以独立演化、独立重用,并根据需要进行组合。运用本发明的方法,由于业务表示和持久化表示相互分离,可以极大地提升软件的可维护性和可重用性,并很好地做到业务层和持久化层独立地根据自己的实际需要进行实现策略的选择和优化,并为业务层和持久化层的并行开发提供了基础。

附图说明

图1为本发明装置的组成结构图;

图2为本发明初始存储的处理流程图;

图3为本发明从持久化表示到业务对象的内存表示的处理流程图。

具体实施方式

本发明的基本思想是:在电信软件系统的业务层和持久化层之间设置一个转换层,业务对象的内存表示与持久化表示通过一种对应关系间接联系起来,这样,电信软件业务处理部分可以不受实际的持久化方法的影响。

如图1所示,本发明的解耦合装置从分层来说,包括业务层和持久化层,关键是在业务层和持久化层之间还设置有转换层。图1中N个业务表示接口属于业务层,N个转换模块属于转换层,N个持久化接口属于持久化层,转换层使业务层与持久化层分离,进而使业务对象的持久化方式可以选择或改变,通过转换模块调用持久化接口可将持久化信息解析出来并转换成内存表示,这样,可使业务对象与持久化表示完全分开,各自独立变化。

具体来说,本发明所述解耦合装置包括:至少一个业务表示接口、至少一个持久化接口、至少一个转换模块,其中,持久化接口连接对应的转换模块,业务表示接口根据系统设定连接对应的转换模块;业务表示接口是根据不同的业务对象设置的标准接口,用于支持转换模块的调用;持久化接口是根据不同的持久化方式设置的标准接口。转换模块用于将业务对象的持久化表示转换为内存表示,每个转换模块内进一步包括解析器和处理器,解析器将与业务对象对应的持久化信息解析出来,并将解析的结果交给处理器,处理器将解析器的解析结果根据该业务对象内存表示参数转换成内存表示。

此外,对于新的业务对象,该装置在转换层还具有业务对象创建器,根据新的业务对象的参数、属性,在系统中建立该业务对象的业务表示接口。

采用本发明方法的电信软件系统(以下简称系统),在系统启动时,业务对象的初始内存表示与持久化存储的处理步骤如图2所示:

步骤201:配置并保存系统的相关信息。

这里,所述相关信息包括:系统中的业务对象与持久化表示之间的对应信息、每种业务对象的持久化参数、每种业务对象的内存表示参数等。其中,需要转换为内存表示的参数即为内存表示参数,需要进行持久化保存的参数即为持久化参数。

举个例子来说,接入网络中的业务对象V5接口,具有自己的接口标识符、变量、链路数量、主/次链路标识、逻辑C通道标识、物理C通道标识、启动定时器时长和V5接口当前对接状态等多个参数,其中,对接状态表示该V5接口的动态运行状态,是个动态的变化量,无需持久化;其他参数均为相对固定量,需要作为持久化参数进行持久化保存。对V5接口采用扩展标记语言(XML,eXtensible Markup Language)持久化格式,对应XML转换模块的解析器为XML解析器,XML持久化接口即为持久化接口。

步骤202:根据设定的信息,创建业务对象的业务表示接口及内存表示。

由业务对象创建器建8立各业务对象的业务表示接口及各种参数,在业务对象创建器建立业务表示接口时,在内存中形成业务对象的内存表示。业务表示接口的定义完全基于业务本身的需要,而不必考虑持久化的表示方式。

对应V5接口的例子,业务对象创建器建立一个V5表示接口,具体的建立过程是这样:首先分配一块内存空间,将所分配的空间与V5业务对象的功能代码关联起来,然后根据配置参数来填充该内存空间,V5业务对象的功能代码知道每个参数在内存中的位置,就可以根据这些参数进行工作了。其中,业务对象创建所需要的配置参数是从持久化文件中解析得来的。完成上述分配空间、建立关联、填充空间的工作,就完成了业务对象内存表示的创建工作。

步骤203:根据设定的信息,在转换层建立业务对象与持久化表示之间的对应关系。

同一业务对象可以对应多种持久化表示,而多种业务对象也可以使用同一种持久化表示方式。持久化表示可以采用自描述的文本方式,以解决兼容性问题,如:普通文本格式描述,也可以采用二进制格式以减少存储规模,并提升访问效率。

对应V5的例子,在转换层将V5接口对应XML转换模块及XML持久化接口。

步骤204:通过对应的持久化接口,转换模块将各个业务对象持久化保存。

系统通过存储命令,由转换模块调用该业务对象的业务表示接口,将业务表示接口中业务对象的持久化参数提取出来,发送至转换模块对应的持久化接口,将业务对象转换为该持久化接口对应的持久化格式,存储在系统中。

对应V5接口的例子,转换模块调用业务表示接口即V5接口,将接口标识符、变量值等持久化参数传递给XML持久化表示接口,依据XML格式,将V5接口的接口标识符和变量值等持久化信息存储。

根据图2所示流程,系统建立了业务对象的内存表示和持久化表示,所建立的内存表示,在系统出现故障重新启动、升级系统时可能会丢失,而持久化表示仍然存在于系统中,因此,重新启动系统后,需要重新建立所有业务对象的内存表示,具体实现步骤如图3所示,包括:

步骤301:各转换模块提取业务对象的持久化表示信息。

各转换模块调用持久化接口,将该持久化接口下的所有业务对象的持久化信息提取到各转换模块的解析器;

对应V5接口的例子,将XML格式信息提取到XML解析器。

步骤302:对各个持久化信息进行解析,识别相应的业务对象。

各转换模块的解析器对持久化信息进行解析,识别各个持久化信息对应的业务对象,将解析结果交给处理器;

对应V5接口的例子,XML解析器将XML格式信息解析后,根据持久化表示参数识别出该业务对象是V5接口。

步骤303:各转换模块将各个业务对象转换为内存表示。

各转换模块中的解析器将解析结果即各个业务对象,发送到处理器,处理器根据持久化表示中的业务对象的属性值,将各业务对象转换为内存表示。

其实,所述的转换过程就是根据业务对象的持久化配置参数,创建业务对象内存表示的过程。各转换模块中的处理器是一组业务对象创建器的集合,其中包含业务对象类型到其对应的业务对象创建器的对应关系表。业务对象类型存在于持久化文件中,在解析完持久化文件后,可以根据解析出的业务对象类型找到该业务对象类型对应的业务对象创建器,然后把解析出的业务配置参数传递给业务对象创建器完成业务对象内存表示的创建,具体的创建过程与步骤202类似。

对应V5接口的例子,XML解析器将解析结果交给处理器,处理器根据从XML格式解析出的持久化参数,将V5接口转换为内存表示。

这样,所有的业务对象都转换为内存表示,系统可以直接调用这些内存表示信息,对各个业务对象进行操作。

如果是业务扩展需要添加新的业务对象,则不需要重新启动系统,直接进行动态加载,而不影响系统对其他业务对象的管理。系统中需要添加新的业务对象,动态加载过程如下:

业务对象创建器建立新的业务对象的业务表示接口,根据该业务对象的属性设定该业务对象的持久化存储格式、持久化参数、内存表示参数,由转换模块调用该业务对象的业务表示接口,提取该业务对象的持久化参数并传递给持久化接口,将该业务对象依据对应的持久化格式存储在系统中,同时,根据该业务对象的内存表示参数,完成该业务对象自身的内存表示。

以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号