在不同尺寸显示器上展现信息的方法

文档序号:6412335阅读:476来源:国知局
专利名称:在不同尺寸显示器上展现信息的方法
一般地说,本发明涉及计算机数据库,更具体地说,本发明涉及在不同尺寸的显示器上展现信息。
传统上,计算机系统的显示器具有近似相同的尺寸。例如,通常的显示器具有的监视器总尺寸类似于面向消费者的电视机的总尺寸。大多数界面设计者假定标准的监视器屏面尺寸(大约对角线13至19英寸)。其结果是先前进行的关于界面的工作(特别是信息系统的界面)大多数不能把比例尺调整得适合于比通常尺寸小的显示器。
存在这一事实的实例是便携计算机、笔式计算机、及PDA。当前这些机器的小尺寸显示器提出了一个问题,即试图在一个很有限的区域中显示大量数据,而这样做时又不牺牲清晰度和相关性,显然,一个解决办法是简单地在屏幕上显示所有数据,而让使用者去浏览(例如使用滚动条)全部信息。已经不得不以这种方式翻滚大量数据的任何人都知道这种过程能变得多么地令人受挫。再有,这种作法会使用户很快被弄糊涂了,特别是当屏上连续显示的信息项目彼此没有逻辑关系时更是如此。
在超文本领域,相关研究课题更具有帮助使用者在读超文本信息时跟踪信息位置的性质。在这方面已建议使用总览图(OverviewDiagram)(例如见J.Nielsen的浏览超文本技术,ACM通讯,33(3),1990年3月)。这是一种提供高级信息阅读的技术。然而,总览图不是自动产生的,它们提供关于整个报告的信息,而且不依赖于任何与数据库有关的信息。
在数据库界面领域,重点放在建立易于使用的界面。例如,PICASSO图形界面为无经验使用者提供了一个图形方式进入数据库查询和接收关于他们查询的语言信息的工具(请见H.-J.Kim,H.F.Korth,及A.Silberschatz的PICASSO一种图形查询语言,软件实线与经验,18(3)169-203,1988年3月)。
QBE(以例查询)的设计者提供了一个界面,允许使用者通过提供一个他们正查询的答案类型的实例来可视查询一个数据库(见M.M.Zloof的OBE/QBE用于办公室和商务自动化的一种语言,IEEE计算机,13-22页,1981年5月)。
其他系统(如OdeView)确实利用语义链接来向用户提供可能的查询路径(请见R.Agrawal,N.H.Gehani,及J.Srinivassan的OdeView到Ode的图形界面,ACM-SIGMOD 1990年数据管理国际会议文集,大西洋城,新泽西州,34-43页,1990年5月)。然而,这些系统给用者提供所有可能路径,而不限于有关的路径。他们也不使用一门限去确定相关性,对其他系统也是如此,如ISIS(请见P.C.Kanellakis,K.J.Goldman,S.A.Goldman及S.B.Zdonik的Isis语义信息系统的界面,ACM-SIGMOD 1986年数据管理国际会议文集,Austin,1985)。
所以,本发明的一个重要目的是克服先有技术的一个或多个缺点和局限性。
本发明的首要目的是使如何在小的计算机显示器上最佳显示信息实现自动化。
本发明的另一目的是在任何时刻显示关于所有数据的一个有关子集的信息。
本发明的另一目的是给有关的数据子集以优先级并确定如何显示该信息。
本发明是一种方法,用于在不同尺寸的显示器上展现信息。具体地说,该方法允许使用者去利用很小的显示表面,如在便携计算机和个人数字助理(PDA)上看到的那样。本方法的可用性在于它确定哪些信息是使用者多半想要同时查看的信息,从而减少了在任一时刻需展现的数据量。这种方法能调准到屏面尺寸和信息“颗粒度”(即数据项的大小)的任何组合。
大的总表(schema)(由大量的表组成)应被分成子集,每个子集含有较少量的表。当然,每个子集应足够小从而它能方便地显示在小屏幕上。该方法的一个特点是每个子集包含的表以某种方式在逻辑上彼此相关。这种“关系”的实际性质会取决于许多因素,但它当前基于使用者已宣称是“最可能”查询的一个查询集合。
类似地,本发明是一种方法,用于从数据库向一计算机输出设备发送数据,那里的数据库包含多个表来容纳数据。数据库有一总表指出各表之间的关系。这些表有包含数据的若干属性。该方法包含处理数据库查询的步骤,那里的查询包含查询表。另一步骤是确定每个查询表对的权重,这里的权重是这些查询表一起在先前查询中出现多少的指示。本方法还包括一个步骤去根据加权来确定查询表集合,并把这些集合之一送到计算机输出设备上。
本发明的其他优点和特点将从下面参照附图的描述和所附权利要求中清楚看出,这些附图是

图1是功能流程框图,显示出为实现在不同尺寸显示器上展现信息的方法所具有的顶级功能;图2是实体关系图,显示一个数据库总表作为说明如何确定“以表连接的总表子集(TCSSs)”的一个实例;图3是流程图,显示在确定TCSSs时如何选择表集合;图4是流程图,显示使一表成为一查询焦点的过程;图5是流程图,显示从一表中去掉焦点的过程;图6是实体关系图,显示一个带有示例关系和属性值的数据库总表;图7是一PDA显示,作为本发明输出的一例;以及图8是一网络图,显示放在网络上各单个数据库中的一些表,该网络与一打印机及互联网相连。
如图1所示,该方法包括完成下列步骤1.以加权图G的形式表示总表。这一步骤在块20处完成。
2.使用联合查询(如果存在的话),从经常执行的查询集合产生属于图G的边。这一步骤在块30处完成。
3.找出门限值t,使得在以低于t的权重去掉边来剪裁该图之后,能把从剪裁过的图得到的最大的相连总表子集完全地在屏面上显示出来。这是一个迭代过程。这一步骤在块40处完成。
4.能把单个表作为焦点,它增加了对给定表关系的强调。这一步骤在块50处完成。
5.最后,焦点能从先前造成集中点的表中去掉。块60完成这一步骤。
对于本发明,块50和块60是可选步骤。可以增加它们来增加本发明的功能,但即使把它们加上了,它们也不一定总要进行。下面的材料更详细地描述每一步骤。
总表的图形表示假定使用者常在数据库上执行的一个查询集合是可以访问的。通常,许多这类查询会涉及多个表之间的联合操作。考虑用一个由节点{N}和边{E}组成的加权图G来表示数据库总表。在总表的每个表中的每一列(即每个属性)由图中的一个节点表示。任何涉及一对属性的二元联合操作能由该联合中的属性(即图中的节点)之间的边(权重为1)表示。当考虑更多个查询时,如果在两个属性之间已经有一个边,则该边的权重加1。
建立加权图G的这一过程的伪代码如下建立加权图G;对每个表的每列构成图G中的节点n,把边E的集合初始化为空(NULL);对涉及表Ti和Tj的每个联合查询,开始如果在E中已经存在涉及Ti和Tj的边则对e的权重加1否则建立边e并使其与Ti和Tj关联,设e的权重为1条件句结束结束这样构成的图代表数据库总表中各表的列之间的关系强度。
剪裁该图一旦建立了这个图,便通过去掉其权重低于某选定门限值的所有边来对该图进行剪裁。门限值是以迭代方式选定的,从而使得到的最大的表子集仍能适合放入所能得到的显示屏空间。
对得到的图形进行处理,以选择那样一些表集,它们彼此间由至少一个其权重超过门限值的边连接起来。每个这种连接的表集构成该图形的所谓“以表连接的总表子集(TCSS)”或简单连接的总表子集。请注意,该图中被连接子集的概念不同于图形理论中该各词的传统含义。这里,利用了图形的单个节点属于父表这一事实。如果在两个表的任何分量节点(即列)之间存在边,则它们是被连接的。
得到“以表连接的总表子集”的机制由下列伪代码描述对于G中每个权重<门限的边e,从G中删除e剩余的图是G’初始化剩余的表{RT}使其成为图元数据中的全部表集初始化当前集{CS}为空(NULL)永远重复开始如果{RT}为空集则输出{CS}中的表作为最后的TCSS退出循环条件句结束t={RT}中的任意表从{RT}中去掉t把t加到{CS}中对于G中每个与CS中任意表t’相关联的边e开始边e与表t’及tother相关联把tother加到{CS}中从G中删除e
循环语句结束重复语句结束图2中给出一个实例。总表包含6个表,每个表(R1,100,R2102,R3104,R4106,R5108,R6110)包含所示各列(a1,a2等)。具有在它们之间所画边的列(实线和虚线两种)对应于从一组针对这些表的SQL查询中得到的联合路径。例如,在R1.a1和R2.a2之间有一联合路径114。在每个边上的数字表示该边的权重。例如,联合路径112有权重“3”,标号为114。对应于这个总表的图含有17个节点(总表的每个表里的每一列有一个节点),和6个边,如图2所示。如果给定一门限值3,则只有3个边(它们至少有这个值)在图2中用实线表示联合路径112、联合路径116、及联合路径118。虚线的边是权重低于门限值的边。这个图产生3个连接的子集包含表R1,100,R2102及R4106的S1;包含表R3104及R5108的S2;及只包含表R6110的S3。
应该理解,本发明不限于数据库单独存在一个计算机上的情况,也会遇到数据库及其表可能分布在几个计算机上的情况。再有,本发明不限于待查询表只包含在一个数据库中的情况,而可能在几个数据库中找到。
通过选择适当的门限值(根据原始图中边的权重和节点的连接情况,以及显示屏的尺寸),能构成一组连接的总表子集,从而使每个表集能适合于一个显示屏中。请注意,这些表在逻辑上彼此相连,因为它们是从在它们之间频繁发生的联合路径中选取出来的。考虑到联合路径本身是从一套常用查询中得到的,可以预计这些表分组代表了使用者想要一起看到的信息。如果初始门限选得太高,则可能有许多子集,而每个子集总共含有很少的表。所以要减小门限值直至找到一个适当的值。
还请注意,如果得不到联合信息,则有许多子集,每个只包含一个单独表,即TCSS个数等于总表中的表个数。这相当于这样一种情况,即预处理已不能产生总表中各表的自然组合。使用者可以逐个观看各表,也可以一起观看全部表,并使用传统的浏览方法(如滚动条)。
图3显示了如何选择要显示的正确表集。开始块200表明处理在块210开始。块210把门限设为最大边权重。块220从图G得到所有的TCSS。决定块230询问最大TCSS是否能适合于计算机输出显示器的尺寸。如果不能,则块240把门限值减1。决定块250询问是否门限值为0。如果是,则处理在块260继续;否则处理返回块220。
如果决定块230确定最大TCSS能适于计算机输出显示器的尺寸,则块260显示TCSS中的表。于是,本发明在这方面的处理在停止块270结束。
对表增加焦点对每个被显示的表,只是那些参加到各表间联合之中的列才在屏上显示。一旦把一组相关的表呈现给使用者,还有一个选项能使一特定表成为焦点。使一个表成为焦点涉及显示给定表的所有列,此外还要显示其他一些列(属于其他表),这些列与属于焦点的表的列共享边。这会造成显示全部有与焦点表各列共享边的列的那些表。现在显示的增加的表是那些与焦点表的列共享边的表,而不论所涉及的边的权重有多大。
以这种方式,使用者能通过使不同的表成为焦点来浏览整个总表。当然,如果当一特定表成为焦点而因此要显示太多的其他相关表时,可以滚动显示屏或采用第二个门限来剪裁要显示的项目数。使一表成为焦点的想法是要表明对逻辑上与该被聚焦表相关的所有其他表的兴趣。
例如,回过来参考图2,当显示子集S2时只在屏上显示表R3104和R5108。如果现在使R3104成为焦点,则在原来二表旁边显示的附加表是R4106、R6110和R1100,因为所有这些表有与R3104中列共同的边。
图4显示出使表T成为焦点的过程。起始块300表明处理过程从块310开始。块310得到图G。决定块320确定在图中是否有更多的边。如果没有更多的边,则块330把表T加到焦点表集合中,并在停止块340结束本发明在这方面的处理。
如果决定块320确定在图中有更多的边,则块350得到边E。接下来,决定块360确定边E是否涉及表T。如果不是,则处理过程返回决定块320。如果决定块360确定边E涉及表T,则块370得到涉及边E的其他表T1。处理过程在决定块380继续。
如果决定块380确定T1被显示了,则处理返回决定块320。如果未显示,则块390显示T1并把T1加到由T引出的清单中。
从表中删除焦点当一个表作为焦点被删除时,由焦点表引入到显示器的那些包含权重低于门限值的边的所有表均被去掉。由于不能保证使用者按照造成焦点的相反顺序来去掉作为焦点的表,故保留了使一些表成为焦点的顺序,从而能按相反的顺序取消它们。这有些类似于超文本浏览系统,即以这种方式浏览总表是与横越物堆积(a stack of traversals)属于同类。
表T的第一级近邻定义为其列与表T的列共享边的所有其他表。这是一个总表,这里使一表成为焦点涉及显示该表的所有第一级近邻。人们可以扩展这一概念并显示第n级近邻,这里n是一个可调参数。
图5显示从表T中去掉焦点的这一过程。起始块400表明处理过程在决定块410开始。如果决定块410确定焦点表不包含表T,则处理转移到块450,这将在下文中讨论。如果决定块410确定焦点表确实包含表T,则处理在块420继续,块420从焦点表中得到下一个表T1。
决定块430确定表T是否与表T1相同。如果它们相同,则处理转移到块450。如果T与T1不同,则对于每个表T2,块440从被显示表清单中去掉表T2。块450显示表清单并在停止块460结束本发明在这方面的处理过程。
举例下例中使用表R1510、R2512、R3514、R4516,其关系示于图6(这些关系类似于图2中所示关系)。
表1可假定为具有如下值<
表2可假定为具有如下值
表3可假定为具有如下值
表4可假定为有如下值
使用者可以通过指定下列查询表请求把R1、R2、R3及R4表中的数据送到使用者的PDA显示屏上SELECT DISTINCTROW R1.[Employee Grade],R1.[Employee Id],R2.Salary,R4.[Employee Name],R4.[Work Phone Number],R3.[County of Residence],R3.[Employee Home Address],R3.[Home Phone Number],*FROM((R1 INNER JOIN R2 ON R1.[Employee Grade]=R2.[Employee Grade])INNER JOIN R3 ON R1.[Employee Id]=R3.[Employee Id]INNER JOIN R4 ON(R4.[Employee Id]=R3.[Employee Id])AND(R1.[Employee Id]=R4.[Employee Id])ORDER BY R1.[Employee Grade];
上述查询造成如下4条路径,每个的权重为1(R1.Employee Grade,R2.Employee Grade)(R1.Employee Id,R3.Employee Id)(R3.Employee Id,R4.Employee Id)(R1.Employee Id,R4.Employee Id)本发明根据前述方法处理这一查询以产生结果580,该结果将适合于PDA 600的显示屏590,如图7所示。
本最佳实施例有一SQL解析器,它对给定的一组查询(选择查询)产生形如Ri,Aj,RK,Al…的联合路径集合。每个这种集合包含有在单个查询中一起出现并对集合中的每一对贡献一个边的那些属性。利用上述所产生的联合路径信息集合和总表图元数据(即表名及其列),另一个程序产生描述路径信息的图。给定一门限制(当前为一整数值),该程序便产生该图的各种子集,这些子集带有表组合信息。还有一个命令行界面,它允许不同的表成为焦点(并在其后去掉它们)。上面提到的所有程序代码在UNIX上运行,但本发明不限于这一特定软件。
例如,另一实施例能在Windows 3.1上运行。给定一总表和一门限值,程序确定最大的被连接子集并把它显示在显示屏上。利用鼠标交互作用,能按前面讨论的方式使不同的表成为焦点(并在其后使它们不再是焦点)。
图8给出本发明的另一实施例。图8是一个网络图,显示出放在一局域网上分散的数据库中的表,该网络连于一台打印机和互联网。计算机650上的一个使用者可以查询在计算机662上的数据库660及计算机672上的数据库670中包含的表中所包含的信息。本实施例能使用本发明对要通过网络(例如互联网680)发送的信息给定优先级。在这种情况下,本发明能向计算机650上的使用者发送该使用者最想首先看到的信息。本发明还能把输出指向位于局域网700上的打印机690。
上面已提出的实施例是为了便于说明,并不想以此来限制本发明。本领域技术人员会理解,可以对本说明中描述的实施例进行各种改变和修改而不偏离由所附权利要求规定的本发明的精神和范围。
权利要求
1.一种从数据库向计算机输出设备发送数据的方法,所述数据库包括多个表以容纳所述数据,所述数据库有一个总表指明所述各表之间的关系,所述各表有属性,所述属性包含所述数据,该方法的组成是处理对所述数据库的查询,所述查询包含查询表;对每对查询表确定权重,所述权重表明在以往查询中所述查询表对的发生情况;基于所述权重确定所述查询表对的集合;以及向所述计算机输出设备发送含有所述查询中指定的查询表的所述集合之一。
2.权利要求1的方法,这里所述关系是所述各查询表之间的联合关系。
3.权利要求1的方法,这里所述计算机输出设备是一个计算机显示屏。
4.权利要求3的方法,这里所述发送步骤中的集合基本上显示在计算机输出设备的显示范围内。
5.权利要求4的方法,这里所述计算机显示屏的尺寸小于标准桌面计算机显示屏的尺寸。
6.权利要求1的方法,这里所述计算机输出设备是一打印机。
7.权利要求1的方法,这里所述计算机输出设备通过网络接收所述发送步骤中的所述集合。
8.权利要求1的方法,还包括如下步骤对于其所述权重满足一个分组门限水平的那些查询表加以组合。
9.权利要求8的方法,这里所述分组门限水平是基于计算机输出设备的显示尺寸,从而使所述发送步骤的每个所述集合基本上能被显示在计算机输出设备的显示范围之内。
10.权利要求1的方法,这里的数据库包含的所述表位于多个计算机上。
11.权利要求1的方法,还包括以下步骤选择所述查询表之一供在所述计算机输出设备上的聚焦显示,所述聚焦显示是在所述计算机输出设备上显示所述被选查询表的全部属性和所述被选查询表的近邻表的全部属性,所述近邻表至少有一个与所述被选查询表的所述关系。
12.权利要求11的方法,还包括以下步骤滚动计算机输出设备的显示,以观看所述聚焦显示。
13.从数据库向计算机输出设备发送数据的一种装置,所述数据库包括多个表以容纳所述数据,所述数据库有一总表指明所述各表之间的关系,所述各表有属性,所述属性包含所述数据,该装置的组成是处理对所述数据库的一个查询的装置,所述查询包含若干查询表;为每对查询表确定权重的装置,所述权重指明在先前的查询中所述查询表对的发生情况;根据所述权重确定所述查询表对集合的装置;以及向所述计算机输出设备发送含有所述查询中指定的查询表的所述集合之一的装置。
14.权利要求13的装置,这里所述关系是所述各查询表之间的联合关系。
15.权利要求13的装置,这里所述计算机输出设备是一个计算机显示屏。
16.权利要求15的装置,这里所述发送装置发出的集合基本上显示在计算机输出设备的显示范围内。
17.权利要求16的装置,这里所述计算机显示屏的尺寸小于标准桌面计算机显示屏的尺寸。
18.权利要求13的装置,这里所述计算机输出设备是一个打印机。
19.权利要求13的装置,这里所述计算机输出设备通过网络接收所述发送装置发出的所述集合。
20.权利要求13的装置,还包括对于其所述权重满足一个分组门限水平的那些查询表加以组合的装置。
21.权利要求20的装置,这里所述分组门限水平是基于计算机输出设备的显示尺寸,从而使所述发送装置中发出的每个所述集合基本上能被显示在计算机输出设备的显示范围之内。
22.权利要求13的装置,这里的数据库包含的所述表位于多个计算机上。
23.权利要求13的装置,还包括一个种装置,用于选择所述查询表之一供在所述计算机输出设备上的聚焦显示,所述聚焦显示是在所述计算机输出设备上显示所述被选查询表的全部属性和所述被选查询表的近邻表的全部属性,所述近邻表至少有一个与所述被选查询表的所述关系。
24.权利要求23的装置,还包括滚动计算机输出设备的显示以观看所述聚焦显示的装置。
全文摘要
在不同尺寸的显示设备上展现信息的一种方法。该方法处理对数据库的一个查询,并确定哪些表最可能包含用户希望首先看到的信息。数据库表间的联合关系被用于确定显示这些表的优先次序。那些在先前的查询中用得较频繁的联合关系被赋予较高的权重评分,从而相应地有较大的机会被优先显示在计算机显示屏上。再有,使用者可以选择一特定的表使得聚焦其上。在这种情况下,该方法不仅显示被聚焦的表,还显示与它有直接关系的表。
文档编号G06F17/30GK1176430SQ9711792
公开日1998年3月18日 申请日期1997年9月2日 优先权日1996年9月3日
发明者维斯万塞安·萨布拉·玛尼, 拉斐尔·阿朗索 申请人:松下电器产业株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1