一种基于动态标签的业务对象持久化处理方法

文档序号:6586414阅读:290来源:国知局
专利名称:一种基于动态标签的业务对象持久化处理方法
技术领域
本发明涉及一种业务对象持久化方法,尤其是涉及一种基于动态标签的业务对象
持久化处理方法。
背景技术
B/S(Browser-Server,浏览器服务器模式)架构的软件由于不需要部署客户端, 维护成本低,以及平台无关性等优势,应用范围越来越大。 B/S架构的软件一般按照MVC (MODEL业务层、VIEW视图层、CONTROLLER控制层) 三层模型进行系统开发。其中,业务层一般使用面向对象(00)的编程语言,如JAVA、 .NET 等编程语言,使用类(classes)、对象(objects)来定义实体对象,并进行对象的处理和持 久化。 而其中的业务对象持久化,重复开发工作较多,如何有效的提高其开发效率是一 个值得研究的问题。针对这一问题,本发明在现有技术的基础上,提出一种基于动态标签的 业务对象自动持久化的方法。

发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种通用性强的基
于动态标签的业务对象持久化处理方法。 本发明的目的可以通过以下技术方案来实现 —种基于动态标签的业务对象持久化处理方法,其特征在于,该方法包括以下步 骤 1)业务对象调用持久化引擎,并激活持久化引擎;
2)持久化引擎获得业务逻辑类的全名; 3)持久化引擎在缓冲中查找该业务逻辑类名是否有映射关系,如果存在映射关 系,执行步骤4),否则转到步骤5); 4)持久化引擎从缓冲区中得到映射关系,并跳转到步骤8); 5)通过动态标签映射,计算对于此业务逻辑类名的映射关系,并判断计算是否成
功,若为是,执行步骤6),若为否,则转到步骤7); 6)将此业务逻辑类名的映射关系存入缓冲,跳转到步骤8); 7)如果此类没有配置映射关系,或者映射关系配置错误,则执行异常处理,并跳转 到步骤10); 8)根据映射关系,调用JDK或者.NET的原始API函数,完成属性和字段的数据交 换,并判断是否成功,若为是,跳转到步骤10),若为否,则执行步骤9 ;
9)持久化执行失败,调用异常处理;
10)结束。 所述的持久化引擎安装在Java虚拟机或.NET平台的服务器上。
与现有技术相比,本发明具有以下优点 1、与传统的解决方案如Hibernate等,基于动态标签的业务对象持久化的方法是 更为轻量级的解决方案,本方法侧重于减小开发的复杂度。 2、由于本方案采用基于P0J0s (简单洁净Java对象)的方法进行开发,因此应用 不依赖于任何容器,这可以提高开发、调试和单元测试的执行效率。 3、利用此方法,只需要进行简单的配置,即可完成后台业务对象的持久化存储,实 现了业务对象与持久化对象的自动绑定。使得开发工作集中在关键的业务逻辑处理上,提 高了软件开发效率。 4、本发明实现的方法更加具有通用性,除了适用于标准的关系数据库外,还适用 于其他文件类型(包括二进制、文本、XML等),用户可以根据不同需求,选择合适的持久化 对象进行开发。



图1为-
图2为-
图3为-的映射图。
-种基于动态标签的业务对象持久化处理方法的流程图; -种基于动态标签的业务对象持久化处理方法的硬件结构图; -种基于动态标签的业务对象持久化处理方法的业务对象与数据库数据
具体实施例方式
下面结合附图和具体实施例对本发明进行详细说明。
实施例1 如图2所示,本方法主要通过一个数据持久化引擎a来实现业务对象c和数据库 数据d之间的映射,系统运行在安装有JVM或者.NET平台b的任何服务器上,不受操作系 统和其他组件库的影响。另外,数据持久化引擎a基于P0J0s方式开发,调用JDK或者.NET 平台的原生API函数,使其不依赖于其他任何容器或者组件。数据持久化的形式可以有很 多种,例如数据库存储方式、文件存储方式等。
以常用的数据库存储为例,详细介绍本方法的实现方式。 首先,如图3所示,持久化引擎a需要得到业务对象c和数据库数据d之间的映射 关系。 这些映射关系包括类名到数据库表名(或视图名)的映射,类属性到数据库表字 段的映射,以及类属性类型到数据库字段类型的映射。 目前,几乎所有的高级语言(JAVA、 . Net等)都支持标签注释功能。通过在类、属 性上增加特殊的标签标记,完成此业务类的映射关联。 最后,当某个业务对象需要持久化时,调用持久化引擎的标准方法(增、删、改、 查),以此完成业务对象的持久化工作。 持久化引擎a的整个工作流程如图1所示,具体说明如下
1)业务对象调用持久化引擎,并激活持久化引擎;
2)持久化引擎获得业务逻辑类的全名; 3)持久化引擎在缓冲中查找该业务逻辑类名是否有映射关系,如果存在映射关系,执行步骤4),否则转到步骤5); 4)持久化引擎从缓冲区中得到映射关系,并跳转到步骤8); 5)通过动态标签映射,计算对于此业务逻辑类名的映射关系,并判断计算是否成
功,若为是,执行步骤6),若为否,则转到步骤7); 6)将此业务逻辑类名的映射关系存入缓冲,跳转到步骤8); 7)如果此类没有配置映射关系,或者映射关系配置错误,则执行异常处理,并跳转 到步骤10); 8)根据映射关系,调用JDK或者.NET的原始API函数,完成属性和字段的数据交 换,并判断是否成功,若为是,跳转到步骤10),若为否,则执行步骤9 ;
9)持久化执行失败,调用异常处理;
10)结束。
实施例2 该方法已经被应用于上海10号线的地铁信号维护支持系统中,系统主要功能包
括设备状态的采集、报警信息的管理、维修工作管理和统计分析等工作。 地铁信号维护支持系统是基于JAVA开发的,采用Oracle数据库保存系统数据。 通过将后台数据对象与持久化对象进行绑定,自动实现对业务对象的添加、删除
和修改等操作方法; 从系统的开发进度来看,使用该发明方法后,编程复杂度降低了很多,开发效率有 很大提高,开发人员在数据持久化上基本上不需要花费时间;另一方面,由于使用了缓冲池 技术,执行效率除了第一次比传统方式(持久化层硬编码)慢一些之外,在整个运行过程中 系统的执行效率和传统方式相比基本接近。 在本系统实际运行过程中,数据库平均每秒执行SQL语句在500次左右,系统很好 完成了任务。另外,从用户使用后的反馈来看,其交互模式和响应速度也得到了广泛认可。
权利要求
一种基于动态标签的业务对象持久化处理方法,其特征在于,该方法包括以下步骤1)业务对象调用持久化引擎,并激活持久化引擎;2)持久化引擎获得业务逻辑类的全名;3)持久化引擎在缓冲中查找该业务逻辑类名是否有映射关系,如果存在映射关系,执行步骤4),否则转到步骤5);4)持久化引擎从缓冲区中得到映射关系,并跳转到步骤8);5)通过动态标签映射,计算对于此业务逻辑类名的映射关系,并判断计算是否成功,若为是,执行步骤6),若为否,则转到步骤7);6)将此业务逻辑类名的映射关系存入缓冲,跳转到步骤8);7)如果此类没有配置映射关系,或者映射关系配置错误,则执行异常处理,并跳转到步骤10);8)根据映射关系,调用JDK或者.NET的原始API函数,完成属性和字段的数据交换,并判断是否成功,若为是,跳转到步骤10),若为否,则执行步骤9;9)持久化执行失败,调用异常处理;10)结束。
2. 根据权利要求1所述的一种基于动态标签的业务对象持久化处理方法,其特征在 于,所述的持久化引擎安装在Java虚拟机或.NET平台的服务器上。
全文摘要
本发明涉及一种基于动态标签的业务对象持久化处理方法,该方法包括以下步骤1)业务对象调用持久化引擎,并激活持久化引擎;2)持久化引擎获得业务逻辑类的全名;3)持久化引擎在缓冲中查找该业务逻辑类名是否有映射关系,如果存在映射关系,执行步骤4),否则转到步骤5);4)持久化引擎从缓冲区中得到映射关系,并跳转到步骤8);5)通过动态标签映射,计算对于此业务逻辑类名的映射关系,并判断计算是否成功,若为是,执行步骤6),若为否,则转到步骤7);6)将此业务逻辑类名的映射关系存入缓冲,跳转到步骤8)等步骤。与现有技术相比,本发明具有提高开发、调试和单元测试的执行效率等优点。
文档编号G06F9/44GK101751260SQ20091025991
公开日2010年6月23日 申请日期2009年12月23日 优先权日2009年12月23日
发明者周庭梁, 张立鹏 申请人:卡斯柯信号有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1