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

文档序号:7658301阅读:89来源:国知局
专利名称:业务对象内存表示和持久化表示的解耦合装置及方法
技术领域
本发明涉及电信软件业务对象的映射和转换技术,具体涉及一种业务对象 内存表示和持久化表示的解耦合装置及方法。
背景技术
在软件系统中, 一般将内存中的数据信息存储到数据库中永久保存的过程 称为数据持久化的过程,而软件系统要运行,只能直接调用内存中的数据,因 此需要建立业务对象的内存表示,这样,当系统由于掉电或其他原因重新启动 时,可直接将数据库中的持久化数据转换为内存中的数据,软件系统就可以继 续工作,而不会因为掉电等原因丟失数据信息。与其他类型的软件系统相比,嵌入式电信软件系统具有一些特殊的要求。 其中,为了更好地应对电信软件本身的复杂性、以及满足电信软件的性能规定, 一方面要求能够贴近电信业务需求进行软件系统建^t,这样,业务对象在内存中一般会彼此依赖,形成复杂的、网状的、耦合的关联关系;另一方面,在对 业务对象进行持久化时,又会希望以一种规范的、无冗余并脱离内存表示独立 变化的方式来对这些业务对象进行表示。目前,有很多嵌入式电信软件系统多采用内存表示与持久化表示绑定,在 同一系统中,采用固定的持久化表示方式,因此,同一业务对象的内存表示和 持久化表示是在系统配置时一起确定且不再变化的,同时,业务对象的内存表 示只能根据持久化表示的方式来确定。但是在不同的系统之间,持久化方式又 是不一致的,没有很好地对内存表示与持久化表示形式进行区分和解耦,所谓 解耦也就是解除关联关系,这样,就使得电信软件系统之间的兼容性差,系统 自身升级维护也变得非常繁瑣。发明内容有鉴于此,本发明的主要目的在于提供一种业务对象内存表示和持久化表 示的解耦合装置,能将业务对象内存表示与持久化表示相互独立。本发明的另 一 目的在于提供一种业务对象内存表示和持久化表示的解耦合 方法,能将业务对象内存表示与持久化表示分离,提高系统的兼容性。为达到上述目的,本发明的技术方案是这样实现的一种业务对象内存表示和持久化表示的解耦合装置,该装置包括至少一个业务表示接口、至少一个持久化接口、至少一个转换模块;所述持久化接口与转换模块一一对应;其中,业务表示接口,根据业务对象标准接口设置,用于支持转换模块的调用,根据系统的设定连接对应的转换模块;持久化接口,根据持久化方式标准接口设置,连接其对应的转换模块; 转换模块,用于将业务对象的持久化表示转换为内存表示。 所述转换模块进一步包括解析持久化信息的解析器和将解析结果转换成内存表示的处理器。所述装置还包括建立新的业务对象的业务表示接口的业务对象创建器。 一种业务对象内存表示和持久化表示的解耦合方法,设置转换层,配置并保存系统的相关信息,该方法还包括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接口转换为内存表示。这样,所有的业务对象都转换为内存表示,系统可以直接调用这些内存表 示信息,对各个业务对象进行操作。如果是业务扩展需要添加新的业务对象,则不需要重新启动系统,直接进 行动态加载,而不影响系统对其他业务对象的管理。系统中需要添加新的业务 对象,动态加载过程如下业务对象创建器建立新的业务对象的业务表示接口 ,根据该业务对象的属 性设定该业务对象的持久化存储格式、持久化参数、内存表示参数,由转换模
块调用该业务对象的业务表示接口 ,提取该业务对象的持久化参数并传递给持 久化接口,将该业务对象依据对应的持久化格式存储在系统中,同时,根据该 业务对象的内存表示参数,完成该业务对象自身的内存表示。以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
权利要求
1、一种业务对象内存表示和持久化表示的解耦合装置,其特征在于,该装置包括至少一个业务表示接口、至少一个持久化接口、至少一个转换模块;所述持久化接口与转换模块一一对应;其中,业务表示接口,根据业务对象标准接口设置,用于支持转换模块的调用,根据系统的设定连接对应的转换模块;持久化接口,根据持久化方式标准接口设置,连接其对应的转换模块;转换模块,用于将业务对象的持久化表示转换为内存表示。
2、 根据权利要求1所述的业务对象内存表示和持久化表示的解耦合装置, 其特征在于,所述转换^i块进一步包括解析持久化信息的解析器和将解析结 果转换成内存表示的处理器。
3、 根据权利要求1所述的业务对象内存表示和持久化表示的解耦合装置, 其特征在于,所述装置还包括建立新的业务对象的业务表示接口的业务对象创 建器。
4、 一种业务对象内存表示和持久化表示的解耦合方法,其特征在于,设置 转换层,配置并保存系统的相关信息,该方法还包括A、 根据设定信息创建业务对象的业务表示接口及内存表示,并根据设定 信息在转换层建立业务对象与持久化表示之间的对应关系;B、 转换层将各个业务对象通过对应的持久化接口持久化保存。
5、 根据权利要求4所述的业务对象内存表示和持久化表示的解耦合方法, 其特征在于,所述相关信息包括但不限于系统中的业务对象与持久化表示之 间的对应信息、每种业务对象的持久化参数、每种业务对象的内存表示参数。
6、 根据权利要求4所述的业务对象内存表示和持久化表示的解耦合方法, 其特征在于,所述转换层中设置有一个以上转换模块;该方法进一步包括C、 各转换模块提取业务对象的持久化信息,并对持久化信息进行解析, 识别相应的业务对象;D、各转换模块将各个业务对象转换为内存表示。
7、根据权利要求4所述的业务对象内存表示和持久化表示的解耦合方法,其特征在于,该方法进一步包括增加新的业务对象时,对所增加的业务对象 进4亍动态力口载。
全文摘要
本发明公开了一种业务对象内存表示和持久化表示的解耦合装置,该装置包括至少一个业务表示接口、至少一个持久化接口、至少一个转换模块;所述持久化接口与转换模块一一对应;其中,业务表示接口,根据业务对象标准接口设置,用于支持转换模块的调用,根据系统的设定连接对应的转换模块;持久化接口,根据持久化方式标准接口设置,连接其对应的转换模块;转换模块,用于将业务对象的持久化表示转换为内存表示。本发明还公开了相应的方法,设置转换层,并根据业务对象与持久化表示之间的对应关系,转换层将各个业务对象通过对应的持久化接口持久化保存。本发明使得业务表示和持久化表示相互分离,可以极大地提升软件的可维护性和可重用性。
文档编号H04L29/06GK101131638SQ20071012967
公开日2008年2月27日 申请日期2007年8月14日 优先权日2007年8月14日
发明者余晓文, 朱丹绯, 田小渝, 辉 邓 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1