在利用界面显示信息的过程中处理信息的方法

文档序号:6394965阅读:228来源:国知局
专利名称:在利用界面显示信息的过程中处理信息的方法
技术领域
本发明涉及信息的显示技术,特别涉及一种在利用界面显示信息的过程中处理信息的方法。
背景技术
对于大型信息系统来说,一个显著的特征就是系统数据量大。如一个网络级光传输网管系统,运行、维护一段时间后历史告警数量可能会达到50万条。再比如一个大型门户网站的BBS系统,每天成千上万甚至上亿的访问量,发帖和跟帖数可能会呈几何数字增长。在这样的环境中如果需要对大批量数据进行浏览查询等操作,对系统的负载能力和响应能力将是一个极大的考验。
目前,网页上BBS系统普遍的解决方案是提供分页浏览的方式,通过限定每页浏览的数据量,计算出所有需要显示的页面数,浏览时每次只取一个页面的内容,并通过前向和后向的页面导航实现页面之间的切换。这种方案虽然实现起来简单,也比较适用于网络页面显示系统,但是不适用于应用程序系统;页面之间的切换操作不具备连贯性,必须通过页面导航来浏览数据;该方案也不具备通用性,不同的应用系统需要独立实现,代价较高。
参阅图1所示,在应用程序系统中普遍采用的三层应用体系结构,即“表示层-业务逻辑层-数据存储层”。在表示层,进行数据的终端显示和人机交互处理;在业务逻辑层,接收来自表示层的操作请求,调用数据存储层提供的应用接口存取数据,并进行业务逻辑上的加工处理,最后将结果返回表示层显示;在数据存储层,进行数据到存储媒介的存取(如读写数据库或者硬盘文件)。当显示数据时,将要显示的全部数据从存储媒介上读到表示层。
这种方案适合于小数据量情况,但对于大数据量的情况,如用户需要浏览上万条甚至几十万条告警记录,系统将这些数据一次性显示到终端屏幕,用户不仅要等待较长的时间,而且也会占用大量的系统资源,甚至出现系统因资源不够而死机等现象。

发明内容
本发明的目的在于提供一种在利用界面显示信息的过程中处理信息的方法,以解决现有技术在显示大数据量信息时存在等待时间长和大量占用系统资源的问题。
为解决上述问题,本发明提供下述技术方案一种在利用界面显示信息的过程中处理信息的方法,用于从存储介质上的大数据量信息中读取信息到所述界面,由界面进行显示;该方法为A、响应所述界面上的操作视点切换,获取当前操作视点并计算出该界面显示的有效信息的范围域;B、触发缓存页面刷新事件,其中该缓存页面用于存储在界面中显示的信息;C、按缓存页面大小从存储介质读取信息来刷新该缓存页面,并且所读取的信息中包含所述范围域内的所有信息;D、从刷新后的缓存页面中读取所述范围域内的信息到所述界面。
其中进行步骤B之前,先判断缓存页面是否包含所述范围域内的所有信息,如果是,则直接将其读到所述界面;否则继续步骤B。
步骤B中,在触发缓存页面刷新事件后的预定时间内无新的缓存页面刷新事件产生时才进行步骤C,以避免因在所述界面上频繁切换操作视点而触发无效缓存页面刷新事件。
当在触发缓存页面刷新事件后的预定时间内又产生新的缓存页面刷新事件时,放弃前一次缓存页面刷新事件,并将新的缓存页面刷新事件作为有效的缓存页面刷新事件。
本发明具有以下有益效果
1、采用页面缓存处理机制,不仅处理高效,而且占用系统资源少,提高了系统在大数据量环境下的可用性。
2、界面在取数据时,仍可灵活拖动滚动条切换操作视点,而且视觉效果好。
3、通过普通页面或普通表格方式显示信息,操作简单,易于学习。


图1为现有技术中信息显示的三层体系结构示意图;图2A为普通表格的层次结构示意图;图2B为本发明的缓存表格示意图;图3为利用缓存表格显示数据的应用实例;图4为本发明的流程图。
具体实施例方式
在利用界面显示大数据量信息的情况下,本发明通过页面缓存机制来提高处理速度和尽可能少的占用系统资源。
不管系统的信息容量有多大,用户一次性接受的信息是有限的,同时考虑到信息的关联性(这种关联性可以体现在时间上的先后次序或者信息记录本身具备的一些特性),用户对信息的操作通常也是在一个有限的范围内进行的。因此,在一段时间内用户操作的信息的范围是一定的,在本发明中将这个范围的信息称之为有效的信息。这样在实现一次存取操作时,只需要对有效信息操作即可,其它信息并不关心。页面缓存控制机制正是在时间开销上和操作有效性上的一个均衡的考虑。
本发明通过缓存机制处理信息的主要过程为当在界面上切换操作视点时,获取当前操作视点并计算出该界面显示的有效信息的范围域;触发缓存页面刷新事件;响应刷新事件,按缓存页面大小从存储介质读取信息来刷新缓存页面,其中所读取的信息中包含所述范围域内的所有信息;最后从刷新后的缓存页面中读取所述范围域内的信息到所述界面。缓存页面的大小可以通过配置来设定,但至少应当能缓存有效信息。
界面显示信息可以根据信息的具体内容采用普通页面方式或表格方式,表格方式适合于显示数据记录,同时提供滚动条以供切换操作视点。
以下主要以表格方式显示数据为例进行详细说明参阅图2A、图2B所示,在内部处理机制上,普通表格是一次性将所有需要显示(或浏览)的数据从存储媒质中取到表示层显示,本发明的增加了一个页面缓存控制机制,存取数据的操作都是通过缓存页面来进行,仅根据当前操作视点将包含有效数据的部分数据取到表示层,大幅度地减少了对系统资源的占用,在很大程度上提高了数据访问效率。
通过表格显示的结果如图3所示,其外观表现和控制形式与普通的表格控件相似,都有垂直和水平滚动条,通过拖动垂直滚动条可以在不同的数据页面间切换显示。
在实现时,从表格上取得当前的操作视点(CurrentPoint),根据缓存页面的大小计算出有效数据范围域[FromPoint,ToPoint],刷新时获取这个域内的数据,并置入缓存页面中。当操作视点发生变化时(如拖动垂直滚动条等),表格会先到缓存页面中取数据,如果数据不在缓存页面中,则认为缓存页面数据已“脏”,需要重新计算当前有效数据域,并从存储媒介中获取该数据域内的数据来刷新缓存页面。表格初始化时范围域从首行开始。
由于表格中只保存了一个缓存页面大小的数据,为了使表格呈现出所有记录都已经存在的视觉效果和使垂直滚动条实时反映当前行在整个表格中的位置,在表格模中保存了所有行记录的唯一标识(ID),即在表格模中不保存行记录数据(将数据保存在缓存页面中)。对于采用表格方式显示,要求每条记录都存在一个唯一的ID,该ID可以是数据库表中的主键ID,也可以是用户自定义的复杂类型,所有对数据记录的查找都是通过ID进行的。在表格初始化时,先查询出所有记录的ID值,并按照查询先后顺序保存到表格模中。这样表格模中ID与表格视中行记录就建立了一一对应的关系,表格视与表格模就能实现同步了。对于有效数据的范围域可通过起始行ID和终止行ID来表示。
为了提高操作灵活性,当表格正在取数据时,垂直滚动条仍然可以拖动。由于刷新缓存页面向下层取数据需要一个响应时间,在这段时间内如果频繁地拖动垂直滚动条又会不断地触发缓存页面刷新事件,这样就存在一个刷新上的重入问题,会降低处理效率。为了避免出现这种情况,采用计时器进行缓冲处理。当接收到刷新事件时,计时器开始计时,等待一个缓冲的时间,如果在计时的过程中又接收到新的刷新事件,则将计时器清零重新计时,即放弃前一次的刷新事件,将新的刷新事件作为有效刷新事件;这样直到计时器的值达到约定的缓冲时间,才开始执行取数据的操作,从而避免频繁拖动垂直滚动条时触发无效刷新事件。
为了便于应用,可将表示层的处理进行封装来提供缓存表格控件,该控件提供统一的应用编程接口,第三方通过简单的接口实现,即可实现大批量数据从数据库或者硬盘文件等媒质到终端界面的显示。在应用时,根据不同的应用系统实现相应的处理逻辑即可。
参阅图4所示,表格显示大批量数据的具体处理流程如下步骤10拖动表格上的滚动条切换操作视点。
步骤20获取当前操作视点并计算出表格显示的有效数据的范围域。
对于采用表格显示来说,范围域以起始行的标识和终行的标识表示;对于采用页面显示而言,范围域以起始页的标识和终页的标识表示。
步骤30判断缓存页面是否包括所述范围域内的所有数据,如是,则进行步骤80,否则进行步骤40。
步骤40触发缓存页面刷新事件。
步骤50接收到缓存页面刷新事件,启动定时器对该刷新事件计时。
步骤60判断在预定时间内是否有新的缓存页面刷新事件,如果是,则进行步骤70,否则进行步骤80。
步骤70放弃前一次的刷新事件,将新的刷新事件作为有效刷新事件,重置计时器并进行步骤60,重新对刷新事件计时。
步骤80按缓存页面大小从存储介质读取数据来刷新该缓存页面。
步骤90从刷新后的缓存页面中读取所述范围域内的数据到表格。
除了上述采用表格方式显示信息外,还可能采用页面方式显示信息。页面是视的概念,是将内容呈现给用户的一种表现形式,如打开的Word文档中的页面。实现时,由业务逻辑层将存储介质中的大数据量信息的所有字符流信息进行分割处理,比如根据一个页面中所能显示的字符个数,计算出所有的页面总数,并维护页面的索引和起始读指针,当表示层有刷新请求时就根据页面索引、起始读指针和当前所需的数据量,从存储介质中读出相应的数据到缓存页面。这样的处理相当于做了一层适配处理,在业务逻辑层抽象出页面索引的概念,并作为唯一标识。页信息的标识可在初始化时计算出来,并维护在内存中。
权利要求
1.一种在利用界面显示信息的过程中处理信息的方法,用于从存储介质上的大数据量信息中读取信息到所述界面进行显示;其特征在于该方法为A、响应所述界面上的操作视点切换,获取当前操作视点并计算出该界面显示的有效信息的范围域;B、触发缓存页面刷新事件,其中该缓存页面用于存储在界面中显示的信息;C、按缓存页面大小从存储介质读取信息来刷新该缓存页面,并且所读取的信息中包含所述范围域内的所有信息;D、从刷新后的缓存页面中读取所述范围域内的信息到所述界面。
2.如权利要求1所述的方法,其特征在于,进行步骤B之前,先判断缓存页面是否包含所述范围域内的所有信息,如果是,则直接将其读到所述界面;否则继续步骤B。
3.如权利要求1所述的方法,其特征在于,步骤B中,在触发缓存页面刷新事件后的预定时间内无新的缓存页面刷新事件产生时才进行步骤C,以避免因在所述界面上频繁切换操作视点而触发无效缓存页面刷新事件。
4.如权利要求3所述的方法,其特征在于,当在触发缓存页面刷新事件后的预定时间内又产生新的缓存页面刷新事件时,放弃前一次缓存页面刷新事件,并将新的缓存页面刷新事件作为有效的缓存页面刷新事件。
5.如权利要求1至4之任一项所述的方法,其特征在于,所述界面采用表格显示信息,该信息则相应地按行方式保存在存储介质中,并且每行信息具有唯一的标识,通过该标识查询相应的信息。
6.如权利要求5所述的方法,其特征在于,在界面显示信息前,按一定顺序从存储介质中读取所有行信息的标识到一存储区,并使界面显示的行与该存储区内的标识建立一一对应关系。
7.如权利要求1至4之一项所述的方法,其特征在于,所述界面采用页面显示信息。
8.如权利要求7所述的方法,其特征在于,在初始化时,根据页面大小计算出存储介质上的大数据量信息所占的页面总数,通过维护页面的索引和起始读指针来从存储介质中读取所需信息。
9.如权利要求1所述的方法,其特征在于,所述缓存页面大小可配置。
10.如权利要求1所述的方法,其特征在于,有效信息的范围域以起始页或起始行的标识和终止页或终止行的标识表示。
全文摘要
本发明公开了一种在利用界面显示信息的过程中处理信息的方法,用于从存储介质上的大数据量信息中读取信息到所述界面,由界面进行显示;该方法为响应所述界面上的操作视点切换,获取当前操作视点并计算出该界面显示的有效信息的范围域;触发缓存页面刷新事件;按缓存页面大小从存储介质读取信息来刷新该缓存页面,并且所读取的信息中包含所述范围域内的所有信息;从刷新后的缓存页面中读取所述范围域内的信息到所述界面。
文档编号G06F3/14GK1670686SQ20041003035
公开日2005年9月21日 申请日期2004年3月19日 优先权日2004年3月19日
发明者吴上圣 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1