数据处理系统的制作方法

文档序号:6425045阅读:209来源:国知局
专利名称:数据处理系统的制作方法
技术领域
本发明属于计算机技术领域,特别涉及一种数据对象导向的储存系统,其在各种不同的环境中可包括各种应用的不同组合与实施。
背景技术
众所周知,目前即便是使用非常有限的软件组合来进行信息处理也会产生很多问题,且无法利用现有的应用软件技术得到满意解决。这些问题包括办公应用的集成、数据库应用与办公应用之间的集成、办公应用与互联网网页中海量信息间的集成、数据库应用与互联网应用间的集成、以及办公应用间多层与多维的合并及其无缝集成。
这些问题的症结之一涉及电子表格应用程序内数据的组织。在传统的电子表格中,有四种类型的数据对象,即数字,日期,文本和公式。虽然某些电子表格含有其它类型的数据对象,如图表与图片,它们都要以特别针对的方式处理,每一个这种类型的数据对象需要以电子表格程序来特别处理。结果,电子表格应用与其它应用间的集成潜力被大大的限制。
现有技术的另一症结是,每一个应用支持其本身的数据文件格式,且多应用需要多套的文件格式来储存工作成果。即便可能,此情形仍造成交叉应用集成的困难。例如,电路设计图可被计算机辅助设计(CAD)应用储存在特别格式的数据文件中,且这种图可含有像印刷电路板尺寸及某些电子性能之类的属性,以供文字处理应用在准备设计文档时使用,或者供其它机械设计应用进一步设计而使用。然而,因为每一种应用有自己的唯一文件格式,所以没有统一的方式来取得所需信息。而另一个例子是,在许多情形下,例如准备预算或商业计划,经常需要综合各种不同的信息,此类信息至今仍由不同的应用所处理,并储存在格式不同且不兼容的数据文件中。甚至对于同一厂商所提供的应用,综合的实现也是十分困难的。此外,交换文件需要小心准备交换文件间的链接,以避免数据完整性的问题,像超链接指示器错误或链接到错误数据或文件。
因此,系统有需要提供统一的用户接口来操作含有不同厂商所提供的传统和多层的数据库应用的办公应用,且每个应用可方便存取互联网数据,系统保持多应用类型间数据的完整性,促进生产率,亦可与各种不同的操作环境兼容。

发明内容
本发明可解决这些问题,其方法是提供数据对象导向储存系统及相关独创的计算机环境的强化。本发明是有关于办公软件应用程序的操作,其在各种不同的环境中可包括下列工具的不同组合与实施电子表格,文字处理,桌面排版,商业图表,简报图表,网页合成与发布,数据库,电子邮件,个人信息管理,工作计划表,表单与报表生成器,应用生成器,在线业务处理(OLTP),多维决策支持系统(DSS),及在线分析处理(OLAP)应用等。
本发明特点为数据处理系统,其应用程序含有产生及编辑数据文件的工具,各数据文件含有主数据对象数组,各主数据对象对于数组的其它主要数据对象有唯一的地址;应用程序还含有在非易失性存储器中储存数据文件的工具。其中,产生工具包含用来在工作内存(working memory)中接收用户输入的定义特定数据文件中主要数据对象地址的工具,以及包含其中的要素;应用程序还包括用来确认主数据对象完成的工具;应用程序也包括用来将完成的数据对象及其地址添加到储存的数据文件副本的工具。应用程序也包括用来标识最近增加的具有特别地址的数据对象的工具,以及包括用来插入最近增加的数据对象作为主数据对象之一的工具,这样,当工作内存中内容丢失时,数据文件内容及最近增加的数据对象可从数据文件的储存副本中恢复。产生及编辑可在对话期中完成,系统还包含用来在各阶段结束处将版本记号添加到数据文件的储存副本的工具,该版本记号可与添加到数据文件的储存副本中其它版本记号区别。版本记号可包括日期及时间信息、作者信息(可选择)以及应用程序信息。
本系统最好也包括用来激活数据文件到一个或多个对应用户选定版本的中间状态的工具,其可以一系列版本。而且,系统可包括为用户进一步的互动选择特别中间状态的工具、用来选择性接受及拒绝与特别中间状态有关联的特别数据对象的工具、用来选择性接受数据对象终端子集的工具、用来接受和拒绝与选定版本和所有后续版本关联的数据对象终端子集的工具。
本系统还可包括这样的产生工具,即用来记录操作宏的工具,该宏操作将在一个编辑对话期中对数据对象进行操作;用来将宏添加到数据文件的储存副本的工具;用来在后续编辑对话期中执行宏的工具。宏的执行可因数据文件的激活而被激活。
以下结合附图和实施例进一步描述本发明,这将有助于更好地理解本发明的各个方面、特色以及优势。


图1是采用根据本发明设计的集成数据处理系统的计算机处理环境图。
图2是显示程序架构、多应用程序和图1所示数据对象导向存储系统的数据文件之间的功能关系的图。
图3是图2所示程序架构的举例应用切换条的屏幕显示图,切换条上有一套应用图标。
图4是图2所示程序架构的属性对话框的屏幕显示图。
图5是图2所示程序架构的标准用户界面的屏幕显示图,显示三个应用同时运行。
图6是图2所示程序架构用于打开旧版本文件的对话框的屏幕显示图。
图7是显示互联网上的数据如何与图2所示储藏库(repository)交迭的维恩图。
图8是显示互联网上的数据如何与图2所示储藏库、数据库交迭的维恩图。
图中,10为集成数据处理系统,12为计算机处理环境,14为处理器,16为工作内存,18为非易失性存储器,20为用户接口,22为显示器,24为键盘,26为指示组件,28为网络接口,30为通信网络,31为本地端口,32为远程端口,34为数据对象储藏库(DOOR),35为数据文件,36为标题,37为数据单元格,38为数据对象,40为程序架构,42为应用程序,42A、42A’为文字处理程序,42B、42B’为电子表格程序,42C为排版程序,42D、42D’为数据库程序,42E为电子邮件程序,42F为表单程序,42G、42G’为图形程序,44为应用切换条,46为应用程序图标,47为“第三方”应用程序图标,50为边框对话框,60为应用用户接口,62为共用菜单,64为状态栏,66为文字处理程序,67为简报制作程序,68为电子表格程序,70为逐步打开对话框。
具体实施例方式
本发明涉及一套系统及方法,用来帮助在办公应用计算机程序的各种组合与实施中进行集成数据处理。请参考图1,集成数据处理系统10在计算机处理环境12中进行操作,该系统10包括处理器14(含有工作内存16和非易失性存储器18)、用户接口20(含有显示器22、键盘24、指示组件26)、以及网络接口28(用来连通通信网络30)。通信网络30可包括一个用来与本地装置连接的本地端口31,和/或一个用来通过像互联网进行远程通信的远程端口32。应当理解,非易失性存储器18可包括常规软驱、硬盘驱动器、大容量存储器以及非易失性半导体存储器。而系统10亦可包括诸如打印机、扫描仪、及扬声器等其它组件(未显示在图中)。而且系统10可包括多个处理器14、内存16及18、用户接口20、本地和/或远程网络接口28。用户接口除了指称显示器22、键盘24、指示组件26(以及用户在操作系统10时可互动的其它任何物理组件)之外,还指在操作特殊应用程序时的特征,或有时表现为计算机程序的外观。
集成应用的数据储存库如图2所示,本发明使用通用电子表格当做数据储存库,称为数据对象导向储藏库(DOOR)34,其包括一个或多个数据文件35,每一个数据文件含有一个标题36和多个数据单元格37,每个单元格可储存一个且仅存有一个数据对象38,该数据对象不仅限于上述四种类型,即数字、日期、文本、公式。从而,本发明将图形、声音、网页、计算机程序等均作为数据对象。因为所有类型的数据对象均被统一处理,所以新的类型和新的应用都可容易被加进来扩展本发明的范围。而且,本发明提供一个通用平台来集成各种不同的桌面应用以及集成数据库数据和互联网数据。
数据对象导向的储存系统(DOORS)如图2所示,DOOR 34通常是数据处理系统10的一部分,因此后者也被称为数据对象导向的储存系统(DOORS)10。DOORS的实施最好包括一个程序架构40,用来操作多个应用程序42以实现集成访问DOOR 34,而用户接口20有一致的外观特色。应用程序42可包括多种类型的程序,如(但不限于)文字处理程序42A、电子表格程序42B、桌面排版程序42C,电子邮件程序42E、表单程序42F、及图形程序42G。而且,还包括相同类型的不同应用程序,如图2所示的替代的文字处理器42A’、替代的电子表格程序42B’、替代的数据库程序42D’、及替代的图形程序42G’,这些不同的应用程序42至少具有不兼容的数据文件格式。
基于一个或多个DOORS 34的数据处理系统有时也被指称为DOORS系统,一个DOORS系统包括多个数据文件中的大量数据对象及一套可应用于数据对象的操作方法,这些数据文件按照多维数组方式组织。如上所述,数组中每一个位置被称为单元格,可以存有一个数据对象38,或者是空的。此外,系统中可有而且一般均有链接,链接中含有系统中数据对象的唯一标识符,作为对数据对象的参考,下面会有进一步的说明。每个标识符用于指定含有数据对象的数据文件和数据文件中数组维度的一系列下标值(标识存有该数据对象的单元格)。
DOORS系统的操作不限于算术运算(如乘法与加法)、逻辑运算(如逻辑与、异或)、字符串运算(如并置、获取子串)等,也可以是其它一些操作如按比例缩小图片30%;从第Y秒开始剪除视频文件中X秒内容,X和Y为指定时间参数,以及其它受熟练用户欢迎的有用操作。
总之,一个或多个用户可与系统10互动,而且每个用户都可打开许多数据文件35以便处理,这些文件被称为激活的数据文件。
DOORS数据对象DOORS数据对象分成三大类基本数据对象、组合数据对象、复合数据对象。每一个数据对象含有一个数据对象的类型码、值、零个或多个属性。
基本数据对象这些数据对象是系统中数据的基本单位,它们的内容的完全取决于自身而与任何其它数据对象没有关联,它们可含有表示各种内容特性的属性,例如数字、日期、文本、图片或照片、图标、音频音轨、视频剪辑、URL地址等等。
组合数据对象这些数据对象包括链接、属性、操作信息以及这些操作如何被应用于有关的数据对象以得到这些数据对象的各值或内容的信息。虽然组合数据对象不包含任何完全内定值,但它可包含属性值这样的原始数据。组合数据对象举例商业图表(含有与将要被制表的数据序列和图表类型定义的链接),桌面排版页(含有与页面将要包含的内容以及编辑页格式要求的链接),多帧网页(含有与页标题、网页以及网页位置的链接),以及幻灯片(含有与各个组件及有关组件如何组合的信息的链接)。数据对象属性举例在水平及垂直方向要不要以及按多少比例进行缩放、文本的字体及大小等。
复合数据对象这些数据对象包含所有组合数据对象的成份,而且也包含基本数据对象值。例如,文档段落中的文本为基本数据值,同时还含有与系统中电子表格(或者一个数据对象)的范围的链接和与存储在系统中其他位置的图片数据对象的链接。
在本发明的一个实施例中,以电子表格为例,DOORS电子表格单元格可包含基本数据对象,该数据对象的值标识了一个通过图标和字幕播放的大型音视频文件。此例中的数据对象包含文件标识符(或不同实施例中的文件本身),以及关于如何处理文件的额外信息(在此例中为播放)。而且,被标识的文件本身不需要被存入工作内存16中,除非用户要求播放它。DOORS电子表格的用户界面可定义,通过双击“动作图标”(如在此例中播放音视频文件的图标)使标识的对象由数据对象类型决定的预设程序来执行。这样,应用程序42的用户接口在程序架构40下操作,可统一大量不同类型的数据对象。终端用户在经过基本训练后即可运用自如。
为说明DOORS方法的优点,在本发明另一实施例中,DOORS应用的某些数据对象虽然存储于电子表格的数组中,却能够显示在屏幕上,且当它遮盖了其它需要显示的信息时可被用户轻易地移走。假设该应用是文字处理,则浮动的数据对象可能为插在正文中的说明。通过简单链接,同样的说明可用到文档其它部分甚至另外一个文件,如DOORS简报制作应用。如果以后该说明被修改了,所有有关的链接可方便、一致、可靠地进行反映其修改。这种链接在所有支持此类数据对象的DOORS应用中统一使用,通过一套支持所有应用的程序执行。
数据对象类型示例为说明DOORS数据对象的广泛性,下面表1列出一些较普通的数据对象类型,以及DOORS系统支持应用的例子。请注意任何被支持的数据对象均可使用于任何的DOORS应用中,一些广泛使用的数据对象可在框架中获得系统级支持并成为DOORS系统的一部分。
表1 数据对象类型及其使用实例


强大且可扩展的多应用系统根据本发明,用来访问具有统一格式(下面会有进一步的说明)的数据文件的程序架构40,有利于合并DOORS10以外的其它应用程序。对于新的应用,所有由DOORS架构40所支持的现有数据对象均自动地被获取并处理,从而节省了开发工作。为新应用所需,应用设计者可集中于发展新的数据对象类型、修改或增强现有数据对象类型。当DOORS系统10中现有数据对象类型都合适时,增加新应用可以不增加新数据类型。
因此,第三方开发商只需或无需添加新的数据类型,就有可能方便地在DOORS系统中增加新的应用。参见图3,注册系统需要维护以支持各应用程序及相关应用图标,并在程序框架40的应用切换条上为相关应用图标预留位置。如图3所示,示例切换条44包括“一”字排列的应用程序图标46,它们用来启动各自相关的应用程序42。此类图标中可能有“第三方”应用程序图标47,用于执行程序架构40中的新增程序。
在本发明的一个实施例中,DOORS系统支持的每种数据对象都有数据对象类型码(DOT)。这种编码系统如果为每个数据对象分配四个字节,用于保存DOT码,则该系统可存在40亿种不同的数据对象类型。
对于每种数据对象类型的数据对象,其外观和外部操作都可定义,并可执行一套相关的操作。例如,含有一个音频视频剪辑的数据对象可以以展现该剪辑的初始图象的图标的形式显示,双击图标可开始播放剪辑。此类操作在所有DOORS应用中最好统一,从而可以大大减轻用户学习使用数据对象的负担。
在另一实例中,DOORS系统可支持多媒体数据对象,如声音、视频、图片、动画等,只要显示相应的图标即可启动。根据用户需要,这些多媒体数据对象激活的同时,用户可在其它应用中处理数字、文本、图表等。多媒体数据对象可以一致的方式插入到电子表格、文字处理、计算机辅助教育控制程序、网页编辑器、网页浏览器以及其它任何DOORS应用,既利于程序开发又便于用户学习使用。
如上所述,一旦特定的数据对象类型被支持运用在DOORS10中,所有由程序架构40所支持的现有应用及未来应用均受益开发者不需要多余的开发工作,终端用户仅需最少的学习。
当现存的DOORS系统执行某一标准程序接口时,第三方开发商可发展并融入专门化的数据对象类型以促进DOORS应用开发商发展的新应用。这种数据对象组装开发商在将上述定义的注册系统中保留特殊的数据对象类型码,这就为DOORS应用开发提供了一个DOORS应用开发平台。此平台提供一套丰富的数据对象类型,用于构建一组应用,同时方便地为编程工具提供一个应用程序接口标准。
作为数据对象的应用程序DOORS10中一种特别有用的数据对象是应用程序数据对象。例如,用户可选择存储一个完整的应用程序或在仅在DOORS单元格37中引用一应用程序。如果用户希望多次执行一个含有不同数据的应用程序,所需数据可在别处准备并存储在不同的单元格中。在程序每次执行时,用户在另一个单元格中插入一个引用应用程序和所需数据的执行命令。而且,如果用户希望保存执行动作的输出结果,则可在执行命令中指定一个或多个目标单元格。
另举一例,一个单元格中有一张从建筑公司购得的房屋工程设计图;另一单元格中可能有一个用于编辑设计图的软件程序;第三个单元格中含有另一个可分析设计图的程序,生成房屋的三维虚拟图文件和包含成本预算的材料清单;第四个单元格中也有一个程序,可基于第三单元格中程序生成的文件模拟展示房屋。整个组合可作为商业产品销售。再如,程序的各个版本可存储在DOORS电子表格中,用户测试程序时,可使用功能强大的电子表格工具构建系统数据用于程序测试。因此,DOORS10特别适用于批处理及交互处理。
多应用标准用户接口根据需要,所有应用程序可以共享用户界面,包括菜单命令树、对话框等,这是本发明的一个重要体现。应用设计师不再需要设计、开发不同的程序来处理不同的数据类,然后再痛苦地尝试集成它们。例如,文字处理、电子表格、简报制作和HTML文件编辑程序有相似的用户界面。所有应用的用户界面组合并精简成一个唯一、通用以及标准的用户界面,而不再是每个应用各有不同的用户界面。这就意味不但在线帮助系统操作,而且键盘和定位设备的使用和外观都被统一。其中即便有特殊的命令或用户自订界面功能,也很少。如此不仅开发简化了,而且对于用户来说,也是易学易用。
多应用公共用户界面的另一优点在于当用户需要同时使用多个应用窗口时,提高屏幕利用率,正如在浏览电子表格中数据的同时,可链接到文字处理。由于两个应用共用同一套菜单,就减少了屏幕的占用。如果各应用使用各自的界面,多套菜单占用了更多屏幕区域,那么用于显示用户数据区域就缩小了。相同或者类似的界面使得操作也相同或者类似,更易于用户学习,用户会发现这些操作容易学习,容易记忆。所有应用可以共用大多数对话框、工具栏、状态栏,以及帮助系统,。例如,如图4所示,边框对话框50可用于多个应用。图5说明本发明使屏幕区域得以有效利用,图中显示了一个共用的应用用户接口60,同时打开三个应用,即电子表格、文字处理和幻灯片简报。图中包括共用菜单62、应用切换条44、状态栏64、工具栏65、文字处理程序66、幻灯片简报制作程序67、电子表格程序68。
单一文件和单一文件格式本发明的另一重要方面,通过在一个文件中存储多个应用的所有数据、使用单一文件格式,可以避免现有技术中因数据共享引起的许多问题,大大方便了数据集成。例如,单个文件可以含有电子表格、文字处理文档、简报幻灯片、网页和多媒体数据。在DOORS10中的数据文件35使用单一文件格式,确保了链接数据的集成。如通过适当的数据对象38配置,机械设计应用可从电子电路设计图表中提取并使用所需信息。同样的,DOORS10中运行的所有应用都可提取并使用此信息。
如上所述,理论上每个数据对象都可作为数组元素存储在一个文件中,并通过其单元格地址被其它数据对象引用,正如现有技术的电子表格程序方式,而又无太多限制。例如,单元格地址形式为<工作表号,行号,列号>,索引三维数组下标表示地址。单元格还可包括特定数据和其它属性以充分描绘数据对象,所有单元格存储在文件中。这种结构对于所有应用和所有数据对象类型都是一致的,数据对象类型包括数字、公式、日期、文本、段落、商业图表、声音、图片、网页、视频剪辑等。因此所有类型的数据对象都可混合和存储在一个单一文件中。
作为说明举例,文件格式可以为对象二进制文件格式(OBFF),其基本情况见下文所述。
符合OBFF的文件含有一系列各种类型的数据对象。每个数据对象(见表2)包含1个单字节二进制码表示数据对象类型、1个2字节整数以字节表示数据对象大小、1个单字节整数表示属性数目,以及可变数据量(每种数据对象类型使用一个预设格式)表示数据对象的数据内容,后跟数据对象的属性。所以,一个OBFF数据对象最小为4字节,包括对象类型码(1字节)、对象大小(2字节)和属性数目(1字节),无对象内容和属性。
表2 OBFF数据对象格式


数据对象中每个属性含有1个单字节属性类型码及1个2字节属性值,见表3。
表3 OBFF对象属性格式

数据对象类型之一为OBFF文件标题对象(FHO),包含了与文件有关的固定数量的信息。为了更好地说明,表4中列举了OBFF文件标题对象中数据项示例。此例中,对象类型码的十六进制值为0Ah,其它数据项是预定的,并随OBFF文件标题对象而变化。这里没有给出所有的数据项,在此也不做讨论。
表4 OBFF文件标题对象中数据项示例

表5中列举了显示在文件中数据对象类型的示例,另附备注以说明每种数据对象类型的用途。
表5 OBFF文件中数据对象类型示例

用户单元格对象用于阐述电子表格单元格中的数据对象。此类数据对象含有单元格地址,加上其中的数据对象和相关单元格属性。单元格地址由工作表号、行号和列号组成。用户单元格对象中包含的数据对象也使用如表2中描述的普通数据对象格式。以下在表6中列举了用户单元格对象的数据项,应当理解还包括其它单元格类型,在此不做细述。
表6 用户单元格对象中的数据项

表7中列举出上述数据对象类型和其它数据对象类型的特定码值。每种数据对象类型的数据内容格式没有给出。
表7 数据对象类型码示例

表8列举了属性类型码值示例,用于表示一个数据对象的不同属性。
表8 属性类型码示例



以某个特定文件为例,新建一个数据文件并修改,单元格A1中有字符串“Test one”,单元格A2中有字符串“Test two”,单元格A3中有字符串“Test three”。在所有字符串作为数据对象存储在单元格中的情况下,表9中列举了OBFF文件标题对象的内容,文件其它内容列举在表10中。表10中的空行用于区分数据对象。一些未列举的数据项内容以N1,T2等形式显示。
表9 示例文件中部分OBFF文件标题对象内容

表10 文件内容示例


可以很容易地看出,电子表格中可包括所有符合OBFF格式的数据对象。特别是,用户单元格对象(UCO)可包含应用数据,如格式化的段落和多媒体文件。
此外,一些在对话框中定义的信息,如系统选项,皆可在隐藏的电子表格中定义并存储。为实现此种方式,本发明设计了系统工作表对象(SSO)作为特殊的工作表来存储这些信息和其它系统信息。
宏操作处理定义一连串操作(称为宏操作)用于执行DOORS10中的数据对象38是有益的。例如,操作一个数据文件35时,以下步骤都可定义为宏操作在单元格中输入数据;清空单元格内容;插入复制的单元格行;在单元格区域中插入数列等。
宏操作可用于undo/redo。就是说,当进行完一个操作后,用户可选择清除所有操作结果,好像该操作从未进行过,此为undo。同时用户可选择通过给系统发出一个命令进行同样的操作,而无需重复进行前一操作,此为redo。宏操作对于记录用户操作以支持undo/redo功能尤其有用。
此外,由于支持宏操作,本发明的DOORS10可结合下文描述的其它想要的功能。
在DOOR34中,一个宏操作的说明可作为一个数据对象,即宏操作对象(MOO)。延续上文中的OBFF示例,表11中列举了OBFF中MOO的格式示例。
表11 OBFF中MOO格式示例

表12中列举了一些用于电子表格操作的宏操作码。
表12 电子表格中宏操作代码示例

使用记录的宏操作自动恢复由于意外发生的情况经常导致工作丢失,自动恢复功能显得非常重要。例如,应用会出现故障和异常中断、操作系统会异常中断,或者可能出现突然断电。为了减少意外情况下的工作丢失,现有技术要求用户频繁地保存工作,或系统支持定期自动保存。用户要选择哪一个工作,如字处理文档,需要定期保存。选择保存的工作越多、频率越高,使用的系统资源也就越多,导致工作进展减慢甚至暂时性中断,降低了系统的利用率。
支持宏操作处理,执行自动恢复功能以尽量避免影响用户操作和系统资源使用,这是本发明的重要体现。此方式在用户进行系统操作时,记录宏操作对象。为得到可靠的恢复功能,此方式确保MOO以合理的时间、次数保存在外部存储器,如用户一按回车键后,或当用户离开电子表格单元格时。如此,用户可从频繁的保存工作中完全解脱出来。
例如,宏操作记录可从正被处理的文件处于一个良好状态时开始,如从外部存储器中获取数据后立即开始。宏操作记录在系统中通过程序架构40执行,独立于所有应用,并为所有应用共享。该操作技术简单、有效、可靠,如同在执行数据库管理系统的审核追踪中使用的技术。某些情况下,也可通过简单地打开文件、附加记录至文件末端、关闭文件来实现。
延续前例,记录的宏操作以记录顺序进行工作中断以前的处理,如同redo操作,从而恢复中断部分的工作。在此情况下,用户可随时断开计算机电源,丝毫不影响完成的工作。
单一文件中保存多个版本工作本发明的一个重要体现是,支持宏操作记录,可在一个单一文件中保存多个版本的工作。从一个良好状态的文件开始,如新文件或以前保存的文件,系统可持续记录对话期中生成的宏操作,在对话期结束或根据用户要求保存这些操作,并将其标记为一个新的版本,而非在对话期中所有操作进行完后才保存全部工作。根据这种方式,工作的多个版本可有效地保存在一个单一文件中,因为通过重新执行保存的宏操作,任何以前的版本都可恢复。通过记录宏操作来保存多版本工作通常比保存完整版本工作需要的存储空间要少得多。
除了恢复前期版本的工作外,上述系统还支持逐步重现功能,在恢复过程中显示每步操作的结果。这可用作如销售简报或培训教程等。当打开一个多版本文件时,系统还支持不同的动作,如同用户根据文件创建目的进行现场指导一般。系统可以(1)显示第一版本,(2)迅速重新执行所有宏操作以显示最新版本,(3)更为常见地,显示第一版本并启动宏操作的逐步重现功能,(4)根据特定脚本重新执行宏操作。
逐步打开的另一种实现方式如下文所述。当文件以逐步模式打开时,用户可修改数据内容。图6示出了一个为实现该目的增设的打开对话框70,表13中列举了用户选择。
表13 多版本文件逐步打开中的选择示例

为了控制使用的存储消耗,系统允许用户选择保存在文件中的版本数量,同时允许用户在一个较新的版本中选择一个新的起始点,并删除此点之前所有的数据。例如,用户可以将保存在文件中的版本数限制为5个,当附加第六版本时,删除第一版本,原来的第二版本成为第一版本。延续此例,用户后来可选择仅保存最新版本,删除所有前期版本,或仅保存第三版本,删除所有其它版本。
本发明还有其它应用,例如多个宏操作记录可进行修改、接合、合并、编辑以创建一个新的宏处理。老师可审阅学生执行的操作,并提出建议以提高学生使用某一个应用的能力。修改一份重要财务记录或关键文件的宏操作可作为追究某个操作者责任的追踪记录。
集成数据库表格在现有技术中,通过一次或预设的询问,或通过复制——粘贴过程,数据库表格中的记录可导入电子表格或其它办公应用中。各个记录的组成部分与电子表格单元格之间无任何链接,为保证复制数据与数据库的同步,必须执行另一个查询。由于数据间的差异,经常会产生一些问题。例如,用户一段时间以前将某一股票价格数据导入到电子表格,当用户根据这些数据作出决策时,股票价格可能已发生改变。
本发明在数据库表格与系统任何应用中的二维数组之间建立了双向链接。也就是说,根据特定的机制,数据库中的数据修改可反应在相应的DOORS数组中。根据另一种或同样的机制,DOORS数组中的数据修改也可写回数据库。这种特征称为数据库集成。
数据库集成的实现,首先要识别部分数据库表格(一个二维数组),称为A,然后从DOORS系统中选择某些数据对象形成另一个同样大小的二维数组,称为B。通过系统在数组A和数组B的每个组成部分间建立对应关系,从数组A中获取的数据填入数组B。在本发明一个实施例中,数组B的组成部分显示为行和列,行对应数据库中的数据记录,列对应数据库中的字段。数组B的组成部分可含有对应关系以外的其它数据对象。
一旦对应关系确立,用户可修改数组B中的数据,数组B也会从数组A中获取数据后改变,系统将时时保持两份数据的一致性。在前例中,由于对应关系已经确立以及成功的同步操作,为了方便用户的工作,每一行都有一个特殊的标记,以显示DOORS数据的状况(1)对应关系以外的行,(2)未改变的行,(3)已改变的行,(4)已删除的行,(5)插入到对应关系中的行。表14中列举了此类标记的一个实例。
表14 标识数据库表格对应关系中行状况的标记示例

本发明提供一种方法用于同步更新数据库数据和DOORS数据,包括1)从数据库表格中获取选择的数据。
2)确认数据库中的变化,并与DOORS数据的变化相比较。
3)对应关系中每个组成部分,如果对应关系中的一方发生改变,则更新另一方相应的数据。
4)如果一组成部分的两方都改变了,则通过预设方式确定主要方。如,假设某一方总是主要方,或者如果可以确定变更次数,则将最近变更较多的一方作为主要方。可触发同步更新的条件举例·建立对应关系之后;·含有选定数据对象的数据文件打开之后;·含有选定数据对象的数据文件关闭之前;·以一定时间为周期;·DOORS中对应关系的数据有任何改变时;·根据用户要求;·DOORS应用执行中检测到其它一些标准时。
上述数据库集成特色可能的扩展包括·行、列如上述进行标记,允许在数据库表格中添加或删除字段;·对应关系中显示的行、列可以倒置,行对应数据库表格中的字段,列对应数据库表格中的记录;·对应关系的显示可采用“数据表单”的形式,一次显示数据库中一个记录。该数据表单从数据库模式信息中自动生成,数据表单中的字段可包括DOORS系统中各种确认规则。
数据库集成的优点·通过使用电子表格和其它熟悉的应用查询、更新数据库记录,而无需复杂的程序和装置;·通过相关的数据库模式和现有的技术,如ODBC(开放式数据库连接)和JDBC(基于Java的数据库连接),用户可以使用电子表格和其它能够处理二维数组的应用集成各种来源的数据,而无需编程技能;·有了行状态标识,同步更新进程可随时中断,丝毫不影响数据集成;·在DOORS系统中一个二维数组和多层、多维决策支持系统中的数据间建立对应关系,形成双向链接,用户可使用功能强大的分析应用来充分利用决策支持系统提供的信息;·一般情形,数据库可访问的任何数据都可储存于DOORS单元格中,并保持链接。因此,这些数据可作为DOORS系统中的其它本地数据一样使用。这就实现了数据库数据到DOORS系统中的无缝集成。
集成互联网数据DOORS系统中,互联网数据以网页形式存在,或取自于URL和类似机制,这些数据可由DOORS系统存取并可有效地与DOORS系统中其它数据集成。同时,DOORS系统中的应用也可将数据以网页或URL和类似机制可访问的数据形式发布。
在下列一种或多种情况下,DOORS应用可检测并同步更新引用的互联网数据·以一定时间为周期;·引用互联网数据的数据文件打开之后;·引用互联网数据的数据文件关闭之前;·根据用户要求;·DOORS应用执行中检测到其它一些标准时。
当DOORS应用将数据发布到互联网时,发布的数据在下列情况下自动更新以反映在最后一次发布后的变化·以一定时间为周期;·含有发布数据的数据文件打开之后;·含有发布数据的数据文件关闭之前;·根据用户要求;·DOORS应用执行中检测到其它一些标准时。
互联网集成特色的一些应用包括·股票证券管理系统从各种网站监控股票数据和公司信息,向用户推荐某种股票并采取合适的举动;·从各种网站上获取有关某一影星的数据,加以整理和分析,可供新闻记者报道;·体育新闻组成员观看球赛时,各人记录各种有关比赛的不同数据,如每个队员的撞人、失误、得分,同时DOORS应用即时向互联网发布整理后的数据;·一般,任何来自互联网的数据可储存在DOORS单元格中,并保存链接。因此,这些数据可作为DOORS系统中的其它本地数据一样使用。这就实现了互联网数据到DOORS系统中的无缝集成。
根据本发明,所有这些机制结合起来,从互联网上获取的全部信息将在DOORS环境中自动快速地循环。一旦DOORS中有任何数据对象发生改变,网页也立即改变,通过网页重发布软件,网页访问者可下载最新信息。数据下载到DOORS后,将拆分成可以处理的数据对象存入单元格中。用户可利用这些拆解的数据对象进行分析和制定决策,可能导致另一修改网页发布到互联网等。这个过程可持续进行,使得发布的网页始终围绕DOORS进行,使DOORS成为互联网世界的中心。
这种功能在许多应用中特别有用,尤其是事情没有最后结束,用户希望不断更新数据,如奥运会奖牌统计、总统选举结果、股市价格。例如,股票报价应用,用户可以订购在线股票报价服务,如道琼斯指数。股票信息每隔10秒钟导入到用户工作表中,用户可自行创建规则来决定股票交易数量,以及在何种价格卖出某一股票。买卖决策形成另一张网页发送至证券交易所,实现买卖操作。所有这些都可通过本发明的DOORS来完成,无需编写复杂的程序和撰写HTML脚本。
加上多个用户可以协作编辑同一个DOORS文档,再复杂的互联网应用都无需编程和撰写HTML脚本。例如,网上直播职业篮球决赛,几个用户可同时编辑网页信息。当有人统计数据时,其它人可进行比赛描述,如谁得到了传球,谁投篮、谁得分等。根据本发明,所有这些可同时进行,并自动发布网页,无需编程和撰写HTML脚本。
如图7所示,互联网和DOORS的数据在任何时候都可交互。建立互联网和办公软件数据以及办公软件数据和数据库数据的链接后,DOORS就成为连接互联网数据和数据库数据的桥梁,如图8所示。
通过本发明的DOORS,互联网的数据可导入DOORS办公程序,然后在数据库中进行处理。从DOORS中可获取任何数据库数据,并使用适当的工具(如网页编辑器、表单/报表生成器)使之成为网页的一部分。数据库数据在发布到互联网之前,可通过查询选择导入DOORS办公电子表格。
此外,含有电子商务信息的网页添加或更新到数据库表格之前,将拆解到单元格,然后复制或移动至电子表格中的数据库记录区域。如此可更容易地实现互联网商务应用,而无需任何编码。
创建向上兼容应用的方法计算机程序通常是通过版本更新来提高应用性。这种提高可能会创建不同格式的数据文件。也就是说,计算机程序的一个旧版本(版本A)创建的数据文件(文件X)可能与一个较新版本(版本B)的不同数据文件格式相一致。区别在于版本B不能识别文件X的所有或部分内容,使得文件X对于版本B用户来说用途不大。一般情况下,版本B的开发至少能够准确完整地读入文件X,并进行正确地处理。如果是这样,计算机程序(版本B)称为“可向下兼容”。
在现有技术中,程序向上兼容新版本创建的数据文件,即便不是不可能的,也被认为是不切实际的。也就是说,在上例中版本A无法正确地读入版本B创建的数据文件,更别提处理它了。实现向上兼容数据文件的一种方式就是精确设计新版本创建的数据文件格式,使得旧版本也可识别该格式。由于此功能的实现需要在新版本的开发中加上很多限制,因此不太实用。
然而在本发明中,有可能实现保存未知类型的数据对象的向上兼容,以及处理此类数据对象的有限的向上兼容。
在一个能够确定数据对象大小的系统中,无论数据对象类型以及该数据对象的内部格式是什么,所有未知类型的数据对象都可保存在本系统中。载入数据文件时,某个应用如果遇到此类数据对象,则将这些数据对象作为一个整体传入内存,如有必要在内存中挪动,最后存入存储器中。如此,向上兼容就完全实现了。
如果未知类型的数据对象需要处理且不依赖数据对象的内容,此种处理可以执行。在一个能够确定数据对象属性的系统中,无论数据对象类型是什么,此类处理可利用已知属性类型的数据对象属性。例如,当一个幻灯片对象中含有一张未知类型的图片对象,且该图片由于某种原因需要放大时,即使图片本身的外观无法识别,幻灯片整个外观无论是在放大前还是后,都可正确识别,只要大小、缩放比例等所有必要的数据对象属性都可识别。
此外,在一个处理内容可以被描述并录制为宏操作的系统中,有关未知类型数据对象所需的处理信息可作为宏操作保存在数据文件中,随后在应用程序处理数据文件时,根据录制的宏操作正确处理这些数据对象,这就称为延时处理。当录制为延时处理的所需处理描述不依赖于数据对象的内容时,DOORS应用也可有效地实现向上兼容。
请注意,DOORS系统除了可以实现上述在数据保存和处理方面的向上兼容外,当链接既不依赖于对象类型也不依赖于数据对象的内容时,还可正确保存未知对象类型的所有数据对象的链接。
在DOORS系统中,当一个未知对象类型的数据对象含有与系统中其它对象的链接,而且链接数据对象的改变要求前一个数据对象作出相应的改变时,如果所需处理不依赖于前一个数据对象的内容,则该处理可以正确进行。
在相同条件下,对于未知属性类型的数据对象属性来说,如果对未知属性的处理可描述并可录制为宏操作以便由能够执行该处理的应用程序随后处理,则所有数据对象属性随时都可保存和进行正确地处理。
简而言之,在数据对象及其处理满足上述条件的系统中,应用可向上兼容新版本创建的数据文件。事实上,在上述的限制条件下,任何应用都可兼容其它应用创建的数据文件(见表15)。
表15 可向上兼容应用性能一览表

以下描述的是本发明的又一个实施例,与上文描述的DOORS10不完全一致。如下文描述,本例中数据文件符合向下兼容文件格式(DCFF)。无论何种应用,所有数据对象要么符合表16中的短格式,要么符合表17中的长格式。在短格式中,对象类型代码介于00h和0Fh之间,每个数据对象含有一个单字节对象类型代码、零或更多字节的对象内容,对象内容的精确大小和格式根据对象类型代码进行预设。在长格式中,对象类型代码介于10h和FFh之间,每个数据对象含有一个单字节对象类型代码、一个2字节对象大小(以字节形式指定对象的总大小)、一个或多个DCFF属性(最后一个属性为“空值属性”类型)、零或更多字节的对象内容(根据对象类型代码值来解释对象内容的格式)。
属性描述数据对象的性质。例如,一个一段文本数据对象,其属性也许指字体、字体大小、字体颜色、背景颜色等。
表16 DCFF数据对象短格式

表17 DCFF数据对象长格式

表18中为对象类型代码示例。
表18 DCFF数据对象类型代码示例

DCFF属性要么符合表19中的短格式,要么符合表20中的长格式。在短格式中仅有值为00h的1字节表示空值属性;在长格式中有1单字节属性代码表示属性类型,加上2字节属性值表示如字体大小、图片缩放比例或相关数据对象的其它一些属性。
表19 DCFF属性短格式

表20 DCFF属性长格式

DCFF中属性类型码示例,如表21所示。
表21 DCFF属性类型代码示例


DCFF格式的文件有3部分,即控制部分、数据对象部分、延时处理部分,如表22所示。
表22 向下兼容文件格式(DCFF)示例

DCFF控制部分包含与数据文件相关的固定信息,包括文件大小之类的数据项、生成此文件的应用程序标识符、最后一次修改此文件的应用程序标识符、文件版本号等;数据对象部分包含与应用直接有关的数据对象,加在数据对象部分大小之前;延时处理部分含有一系列宏操作对象(MOO,类型为F1h),指定需要执行的处理。
控制部分格式如表23所示。
表23 控制部分格式示例

每个控制代码的控制信息内容如表24所示,延时处理如表25所示。
表24 数据对象部分格式示例


表25 延时处理部分格式示例

链接粘贴图标在现有技术中,基于视窗操作和定位装置的计算机系统有两个经常使用的图标,即复制与粘贴。当用户希望复制系统中的一个数据对象,用户先使用定位装置标记需复制的数据对象(源数据对象),点击复制图标,将光标移至所需目标位置,然后点击粘贴图标插入源数据对象副本。
在含有各种数据对象且由多种类型应用共享的系统中,链接已有数据对象是很平常的。在系统中要共享已存数据对象,用户可在所需位置创建链接。使用这种方式,如果源数据对象将来改变了,系统将保证所有与之的链接自动更新,且应用程序能够正确地处理数据对象。
因此,对于该系统的用户来说,更频繁的操作将是标记一个对象(源对象),移至目标位置,插入源对象链接而不是插入副本。粘贴链接图标的发明更有利于此操作。点击粘贴链接图标可在当前位置插入最后标记的数据对象的链接。在本发明中还有其它一些方式可实现同样的目的。
如果不用粘贴链接图标,用户需要通过几个步骤来实现同样的结果。例如,用户可选择菜单中的粘贴链接命令。
粘贴链接图标的优点(1)有效创建某一源数据对象的副本,且副本随着源数据对象的改变而保持更新;(2)操作方式与现有技术的标记——复制——粘贴操作极其相似,用户可很容易地适应新的标记——复制——粘贴链接操作;(3)仅需要点击一次即可完成链接操作。
虽然本发明已进行了关于某些首选版本的详细阐述,但其它版本也是有可能的。因此,所附权利要求不应受限于这些首选版本的描述。在本说明中,包括权利要求、摘要及附图披露的所有特征,以及所有披露的方法或处理的步骤,都可任意组合在一起,除非有些特征和/或步骤相互排斥。在本说明中,包括权利要求、摘要及附图披露的每个特征都可被另一个可获得相同、相当或相似结果的特征取代,除非另有明确陈述说不行。因此,除非另有明确陈述,否则每个特征仅为一系列相同或相似特征通类的一个示例。
权利要求
1.一个含有可令用户与储存数据互动的应用程序的数据处理系统,其特征在于,包括a)用来产生与编辑数据文件的工具,各数据文件包含一个主数据对象数组,各主数据对象对于该数组其它主数据对象具有唯一的地址;b)用来将数据文件储存在非易失性存储器中的工具;c)该产生工具包括i.用来在工作内存(working memory)接收用户输入以定义某特定数据文件的主数据对象地址,以及其中包含的单元的工具;ii.用来确认主数据对象完成的工具;及iii.用来将完成的数据对象及其地址添加到数据文件中储存副本的工具;d)用来标识某个最新被添加的,具有特定地址的数据对象的工具;及e)用来将最新添加的数据对象作为一个主数据对象插入的工具;因此,在工作内存中内容丢失的情形下,数据文件的内容,包括最新添加的数据对象,可从数据文件的储存副本中恢复。
2.如权利要求1所述的系统,其特征在于,当文件的产生和编辑在多个对话期(sessions)中执行时,该系统还包括在各对话期结束时将版本记号添加到数据文件的储存副本中的工具,该版本记号可与添加到数据文件的储存副本中其它版本记号区分开来。
3.如权利要求2所述的系统,其特征在于,所述版本记号包含日期及时间信息。
4.如权利要求3所述的系统,其特征在于,所述版本记号还包含作者信息。
5.如权利要求3所述的系统,其特征在于,所述版本记号还包含应用信息。
6.如权利要求2所述的系统,其特征在于,所述系统还包含激活数据文件到一中间状态以对应用户选定版本的工具。
7.如权利要求2所述的系统,其特征在于,所述系统还包含激活数据文件到多个中间状态以对应一系列版本的工具。
8.如权利要求7所述的系统,其特征在于,该系统还包含在多个中间状态中选择一特别状态以便用户进行进一步互动的工具。
9.如权利要求8所述的系统,其特征在于,所述系统还包括a)选择性接受和拒绝选定版本中相关选定中间状态的特定数据对象的工具;b)选择性接受选定版本中相关数据对象末端子集(terminal subset)的工具;及c)选择性接受和拒绝选定版本和所有后续版本中相关数据对象末端子集的工具。
10.如权利要求1所述的系统,其特征在于,文件编辑可在多个对话期中实现,其编辑包括影响多个数据对象的操作,所述产生工具还包括a)记录编辑对话期中所定义的对数据对象进行操作的宏的工具;b)用来将宏添加到数据文件的储存副本中的工具;及c)用来在后续编辑对话期中执行此宏的工具。
11.如权利要求10所述的系统,其特征在于,其中执行宏的工具是在该数据文件被激活时启动的。
12.如权利要求1所述的系统,其特征在于,其中执行宏的工具是在该数据文件进入非激活状态时启动的。
全文摘要
本发明公开了一种集成多应用数据系统,包括用来产生、储存,及获取数据文件的工具,以及程序架构。该数据文件具有多维数组的数据单元格,而该程序架构提供的共用用户接口至少是一个应用程序,令用户与一个或多个数据文件互动,本发明所揭露的技术还包括版本兼容的数据处理系统,其具有供用户与储存数据互动的应用程序,及利用应用程序的各版本进行数据处理的方法,以及集成数据处理系统,其含有具备产生及编辑数据文件工具的应用程序。
文档编号G06F9/44GK1591411SQ200410074479
公开日2005年3月9日 申请日期2002年11月8日 优先权日2001年11月9日
发明者曹参 申请人:无锡永中科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1