一种动态的基于对象格式的用于数据操纵的系统和方法技术方案

技术编号:2886496 阅读:145 留言:0更新日期:2012-04-11 18:40
一种用于操纵数据的方法,包括以下步骤:在一个可扩展框架中以一种动态的基于对象的形式为数据操纵建立一个统一的接口,所述框架包括一个接口和一个特定文件类,其中特定文件类定义了一个用于管理所述数据的基于对象的方法;操作所述特定文件类,以包括所述数据库管理器类并为访问者访问关系数据提供一个统一的接口;和操作所述特定文件类,以管理对以对象形式进行存储的信息的向量化访问。(*该技术在2019年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及信息操纵。尤其是,涉及一种动态方法学和对基于对象的信息操纵的抽象。目前,把数据抽象成一个对象需要进行信息的静态转换,并且每种信息需要各自的用于操纵数据的接口集合,其中所抽象成的对象用于基于对象的操纵。例如,目前C++编译器并不支持对以关系形式进行存储的数据的处理,其中关系形式的数据具有动态的列数或来自C++客户机的动态数据类型。而且,编译器要求在设计时必须建立一个与所访问的关系型数据例如SQL数据完全匹配的描述。这需要为每个被访问的关系型表建立一个每个列和数据类型的描述。然后一个面向对象程序(例如在一个C++计算机上)使用这一描述,以从关系数据存储中读取数据并把数据写到关系数据存储中。在上述方法中存在两个主要的问题。首先,必须事先为每个被访问的关系数据存储建立一个确定的描述。其次,如果数据存储改变了(添加或删除了一列,或列的数据类型改变了),则必须修改这个确定的描述并且访问该关系存储的程序必须重新进行编译并把编译好的程序重新分配给使用这一程序的所有客户机。本专利技术的一个目的在于提供一种改进的客户/服务器系统和方法,该系统和方法提供客户机端对存储在相同或不同机器上的数据的访问。本专利技术的另一个目的在于提供一种改进的系统和方法,该系统和方法通过面向对象程序提供对数据的动态访问,这种动态访问以一种统一的可扩展的方式进行。本专利技术的另一个目的在于提供一种系统和方法,该系统和方法用于把信息表示并转换成一种模型,该模型可提供数据的直接基于对象的操纵。本专利技术的另一个目的在于提供一种系统和方法,该系统和方法可把任何数据动态抽象成一个转换后的对象。本专利技术的另一个目的在于提供一种用于操纵信息的统一的基于对象的系统和方法。本专利技术的另一个目的在于提供一种改进的系统和方法,该系统和方法用于通过使用一种面向对象语言为非面向对象数据提供一种面向对象表示。本专利技术的另一个目的在于提供一种系统和方法,该系统和方法用于通过一个基于对象的程序动态地访问一个关系型数据存储,即不需要在设计时所建立的数据描述,其中数据描述在数据存储结构改变时需要重新建立并且需要对程序重新进行编译。本专利技术的另一个目的在于通过一个基于对象的程序提供一种对关系型数据的通用的行/列访问机制。根据本专利技术,一种可扩展框架以一种动态的基于对象的格式建立了一个用于数据操纵的统一的接口。数据库管理器类提供对存储在数据库中的数据的访问。特定文件类包括数据库管理器类并且为访问者提供了一个的统一的接口,例如应用94。列数据类用于管理对以对象方式进行存储的信息所做的修改。记录矩阵类用于管理对列数据类中的对象所进行的向量化访问。通过结合附图,可从下面的对于本专利技术的上述最佳实施例的详细描述中更清晰地了解到本专利技术的其它一些特点和优点。附图简介附图说明图1表示根据本专利技术的最佳实施例的数据访问层。图2表示图1中的CDatabaseManager的记录数据集。图3表示本专利技术的最佳实施例的数据访问层类。执行本专利技术的最佳模式本专利技术的最佳实施例提供了一种非面向对象数据的面向对象表示,并且提供了通过面向对象方法在数据的二维表示(行,列)中的访问。在最佳实施例中,被操纵的数据存储在表示中,其中数据从表示中被读出(即,其文件格式或数据库表模式)。本专利技术的最佳实施例还提供了一种系统和方法,该系统和方法借助于面向对象编程以一种动态的基于对象的格式实现了一个用于数据操纵的唯一的统一的接口。该最佳实施例还为开发人员提供了一个可扩展框架,以提供不需要访问者考虑基础数据变化的数据组件插件。根据本专利技术的最佳实施例,提供了一种用于操纵并动态转换数据的抽象系统和方法。而且,根据本专利技术的最佳实施例,提供了一种框架系统和方法,用于根据不同的访问方法获得并处理和写入任何类型的数据。参看图1,数据访问层的结构是根据本专利技术的最佳实施例提出的。应用94为要求访问数据的面向对象程序,其中所要求访问的数据可能在关系数据库80的任一个数据文件中,或在结构文件82(基于记录的)中,或在非结构文件84中。根据本专利技术,数据访问层70包括几个组成部分,这些组成部分包括CSpecializedFile 100(包括接口方法90),CDataBaseManager102,ODBC 96,文件API 98,AS/400命令语言88,AS/400程序调用86,AS/400系统对象访问72和数据的基于对象的表示92。如线91所示,表示92是从CSpecializedFile 100派生出来的,并且如线93所示,表示92由应用程序94进行初始化,以通过使用接口方法90来访问关系数据库80,结构化文件82和非结构化文件84,如线95所示。系统对象访问(SOA)72提供对于AS/400命令语言88和AS/400程序调用86的基于对象的访问。数据文件80,82和84可能位于与数据访问层70不同的机器上。开放数据库互连(ODBC)96是一个用于访问线81所示的不同厂家的数据库80的一种工业标准方法。数据访问层提供了如线83所示的应用程序接口(API)98,用于读取或写入结构化文件或非结构化文件,并且每个平台为API提供了特定的版本。数据访问层提供了如线85所示的AS/400命令语言88,用于写入任一个数据文件80,82,84。数据访问层使用了如线87所示的AS/400程序调用86,用于读取或写入到任一个数据文件80,82,84。根据本专利技术的最佳实施例,多维模型表示一种为任何类型的信息所提供并保持的抽象。这种抽象包括一种多维数据抽象,用于提供基于向量的访问,包括读取,修改,写入和删除。用于快速访问的多维数据的超高速缓存方法,其中访问者并不知道数据是否被超高速缓存。根据要求提交(即保存)数据。根据要求更新数据。根据访问者所要求的格式进行自动数据转换。用于管理多个访问者的引用计数。登记和通知机制,用于把对数据模型所做的改变通知给访问者。本专利技术的最佳实施例的系统和方法提供了,首先访问者可以使用并操纵信息,其次可以把组件执行器插入到提供信息访问的框架中。访问者通过初始化一个数据的抽象模型对象并对该对象进行注册来使用本专利技术的最佳实施例。这种方法可增加数据对象的使用者数并允许在对象改变时数据对象把这一情况通知给访问者。通过使用设置和获取方法并传递一个唯一标识一个元素请求的向量,可以在数据对象中读取并修改数据。所做的修改被高速缓存起来而未被写入到永久存储器中,直到访问者要求通过把所做的改变写入到永久存储器中来提交所做的修改。参看图3,组件执行器使用了四种抽象来实现一个框架。这四种抽象为CDatabaseManager 102CSpecializedFile 100CRecordData 110(aka CRecordArray)CColumnData 112CDatabaseManager 102是一种抽象,用于提供对存储在数据库中的数据的访问。CSpecializedFile 100是一个抽象类,该类为了使用CDatabaseManager中的数据访问方法而使用了CDatabaseManager 102,并且CSpecializedFile 100为访问者操纵信息提供了一个统一的接口。CRecordData 110管理对存储为CColumnData 112对象本文档来自技高网...

【技术保护点】
一种用于操纵数据的方法包括以下步骤:在一个可扩展框架中以一种动态的基于对象的形式为数据操纵建立一个统一的接口,所述框架包括一个接口和一个特定文件类,其中特定文件类定义了一个用于管理所述数据的基于对象的方法;操作所述特定文件类,以包括 所述数据库管理器类并为访问者访问关系数据提供一个统一的接口;和操作所述特定文件类,以管理对以对象形式进行存储的信息的向量化访问。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:罗伯特C汉森斯科特A西尔威斯特
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

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

1