一种联机事务处理系统中间件的封装方法技术方案

技术编号:2833742 阅读:310 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种联机事务处理系统中间件的封装方法,包括步骤:建立业务处理类基类,用业务处理类基类中的数据成员和成员函数的参数表征中间件处理的数据类型,业务处理类基类中的成员函数调用中间件的应用程序接口,实现联机事务处理系统中间件的数据处理功能;建立业务实体类基类,由业务实体类基类中的不同成员函数对对象进行序列化和反序列化;建立一个根基类,由根基类派生业务处理类基类和业务实体类基类;业务处理类基类派生至少一个业务处理类,由业务处理类中的成员函数对联机事务处理系统中间件的功能进行封装;业务实体类基类派生至少一个业务实体类,由业务实体类中的成员函数对对象进行序列化和反序列化。

【技术实现步骤摘要】

本专利技术涉及计算机系统
,具体涉及。
技术介绍
现有的OLTP(On Line Transaction Processing,联机事务处理)系统一般分为两层模式和三层模式。在两层模式OLTP系统中客户机直接跟数据库交互,解决实际的业务问题。通常是应用程序直接建立到数据库服务器的连接,并在此连接上完成业务需要的数据操作。两层模式的OLTP系统如图1所示,两层模式的OLTP系统能很好的支持并发度要求小的业务处理系统,适合规模不大的OLTP系统。随着信息系统的普及,大公司、大企业的业务扩张使数据的并发访问量越来越大,需要的数据库服务器处理能力越来越强,网络上数据传输量也越来越大,主机性能和网络带宽成为业务发展的瓶颈,除了采购更好、更多的硬件以外,三层模式的OLTP系统成为一种最佳选择。三层模式的OLTP系统如图2所示,三层模式OLTP系统将客户机与数据隔离,客户机不再直接访问数据,而是通过应用服务器来访问数据,由应用服务器建立数据库连接,只要建立比客户机个数小的多的应用服务器到数据库的连接个数就可以完全达到两层模式OLTP系统的效果;同时跟数据密切相关的业务逻辑也自然地从客户机移到应用服务器,使得业务处理过程和客户机完全分离,通过网络传输的数据量大大减少,网络带宽的问题得到缓解。三层模式使得OLTP系统的开发效率更高,维护更方便,扩展和应用部署更具有弹性,安全性也得到了增强。通常实现的大业务量三层模式OLTP系统都是基于中间件构建的,由中间件在客户机和数据之间架起数据存取的桥梁,并提供业务逻辑实现的应用框架(通常是应用服务器)。客户机和应用服务器之间使用的是私有应用开发接口协议,因此造成不同厂家开发的中间件并不相同,而且私有应用开发接口协议提供的客户机和应用服务器之间的数据交换方式也不相同,这给应用开发带来了很大的麻烦。 现有技术的OLTP中间件,对应用服务器长时间的事务处理以及应用服务器跟客户机之间的大数据量传递,都没有提供好的解决办法,有的中间件提供一个原始的应用开发接口,此接口通过一个数据结构在客户机和应用服务器之间进行通信,不同的功能采用不同的命令字来区分,并且客户机和应用服务器之间传递的业务数据一般每次不能超过32K字节,应用开发极其困难。有的中间件在原始接口之上提供简易的封装,但有很多限制。例如提供一套涵盖原始开发接口的C语言API(Application Program Interface,应用程序接口)封装和在此API之上的一个C++类封装;采用字符串作为底层数据传递的基本数据类型,对二进制流的传递要进行转意操作,即要首先将二进制数据转换成字符串,然后才能进行传输;业务数据按照“名=值“的方式进行打包封装传递;支持超过32K的业务数据传递,采用的是临时存储队列作为底层技术。前面所说的方案本质上是中间件原始应用开发接口的一套薄封装,业务开发人员要懂中间件技术;对二进制数据的数据支持不够,因为要进行转意操作两次,并且要逐个检查,效率低下;对超过32K的业务数据的支持不够,使用的是基于文件系统的临时队列,效率低下;对超过32K的业务数据的夸域调用支持不够,需要进行大量烦琐的操作和配置;没有对开发人员进行中间件技术的隔离,要求开发人员必须掌握底层中间件技术,对业务开发人员要求较高,开发效率低下。
技术实现思路
本专利技术要解决的技术问题是提供,克服现有技术要求联机事务处理系统的开发人员必须掌握中间件技术的缺点,以及现有技术的应用中间件技术的联机事务处理系统数据传递效率低下和缺乏通用高效的大数据量传递手段的缺点。 本专利技术采用如下的技术方案 ,包括步骤建立业务处理类基类,用业务处理类基类中的数据成员和成员函数的参数表征中间件处理的数据类型,业务处理类基类中的成员函数调用中间件的应用程序接口,实现联机事务处理系统中间件的数据处理功能。 所述的联机事务处理系统中间件的封装方法,其中建立业务实体类基类,由业务实体类基类中的不同成员函数对对象进行序列化和反序列化。 所述的联机事务处理系统中间件的封装方法,其中建立一个根基类,由根基类派生业务处理类基类和业务实体类基类。 所述的联机事务处理系统中间件的封装方法,其中业务处理类基类派生至少一个业务处理类,由业务处理类中的成员函数对联机事务处理系统中间件的功能进行封装。 所述的联机事务处理系统中间件的封装方法,其中业务实体类基类派生至少一个业务实体类,由业务实体类中的成员函数对对象进行序列化和反序列化。 所述的联机事务处理系统中间件的封装方法,其中在业务处理类基类中定义对联机事务处理系统中间件的功能进行封装的纯虚函数,由业务处理类中的成员函数对联机事务处理系统中间件的功能进行封装。 所述的联机事务处理系统中间件的封装方法,其中在业务实体类基类中定义对对象进行序列化和反序列化的纯虚函数,由业务实体类中的成员函数对对象进行序列化和反序列化。 所述的联机事务处理系统中间件的封装方法,其中建立一个对象序列化类,业务实体类基类或者业务实体类调用对象序列化类的成员函数对对象进行序列化和反序列化。 所述的联机事务处理系统中间件的封装方法,其中,构造宏来动态创建类和相应的类对象第一宏将类名和创建类对象的方法声明到类中;第二宏实现类声明中的方法,并将类名和类对象的创建方法注册到类工厂中;第三宏根据类名从类工厂中获得类的对象创建方法,并返回一个类对象。 所述的联机事务处理系统中间件的封装方法,其中定义和构造一对全局函数,用于数据传输时的数据压缩和数据解压缩。 所述的联机事务处理系统中间件的封装方法,其中定义和构造一对全局函数,用于数据传输时的数据加密和数据解密。 所述的联机事务处理系统中间件的封装方法,其中定义和构造一个全局函数,用于客户机到服务器的大数据量上传。 所述的联机事务处理系统中间件的封装方法,其中定义和构造一个全局函数,用于服务器到客户机的大数据量下载。 本专利技术的技术方案通过提供一套业务实体类和业务处理类体系、对象序列化机制和动态创建类对象的方法,使用二进制流进行数据传递,提供对任何类型数据的传递支持,业务开发人员可以对业务数据进行自主的序列化和反序列化操作,克服了中间件不能支持任意数据类型的缺点,并且业务处理可以根据业务类型进行灵活定制;通过提供一套基于中间件底层功能的封装,克服了了业务开发人员必须了解中间件技术的缺点;通过将数据上传和下载分离,提供一套高效的、基于共享内存的、客户机和服务器间的大数据量传递方法,有效解决了大数据量事务的超时问题和中间件每次服务调用对数据量的大小进行限制的缺点。 附图说明 本专利技术包括如下附图 图1是现有技术两层模式OLTP系统示意图; 图2是现有技术三层模式OLTP系统示意图; 图3是本专利技术对OLTP中间件进行封装的模块示意图; 图4是本专利技术的类继承关系图; 图5是本专利技术通过客户端封装和服务器端封装进行数据上传和下载流程示意图。 具体实施例方式 下面结合附图和实施例对本专利技术作进一步详细说明 本专利技术采用面向对象技术,利用类的数据成员和成员函数对中间件的功能进行封装,如图4所示,所有的类有一个共同的基类CPObject,此基类派生出业务实体类基类CPEntity和业务处理类基类CBus本文档来自技高网
...

【技术保护点】
一种联机事务处理系统中间件的封装方法,其特征在于,包括步骤:建立业务处理类基类,用业务处理类基类中的数据成员和成员函数的参数表征中间件处理的数据类型,业务处理类基类中的成员函数调用中间件的应用程序接口,实现联机事务处理系统中间件的数据处理功能。

【技术特征摘要】
1.一种联机事务处理系统中间件的封装方法,其特征在于,包括步骤建立业务处理类基类,用业务处理类基类中的数据成员和成员函数的参数表征中间件处理的数据类型,业务处理类基类中的成员函数调用中间件的应用程序接口,实现联机事务处理系统中间件的数据处理功能。2.根据权利要求1所述的联机事务处理系统中间件的封装方法,其特征在于建立业务实体类基类,由业务实体类基类中的不同成员函数对对象进行序列化和反序列化。3.根据权利要求2所述的联机事务处理系统中间件的封装方法,其特征在于建立一个根基类,由根基类派生业务处理类基类和业务实体类基类。4.根据权利要求3所述的联机事务处理系统中间件的封装方法,其特征在于业务处理类基类派生至少一个业务处理类,由业务处理类中的成员函数对联机事务处理系统中间件的功能进行封装。5.根据权利要求4所述的联机事务处理系统中间件的封装方法,其特征在于业务实体类基类派生至少一个业务实体类,由业务实体类中的成员函数对对象进行序列化和反序列化。6.根据权利要求5所述的联机事务处理系统中间件的封装方法,其特征在于在业务处理类基类中定义对联机事务处理系统中间件的功能进行封装的纯虚函数,由业务处理类中的成员函数对联机事务处理系统中间件的功能进行封装。7.根据权利要求6所述的联机事务处理系统中间件的封装...

【专利技术属性】
技术研发人员:姜琰祥
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1