[发明专利]用于管理信息系统的树视图节点加载显示方法有效
申请号: | 200810240437.7 | 申请日: | 2008-12-19 |
公开(公告)号: | CN101446973A | 公开(公告)日: | 2009-06-03 |
发明(设计)人: | 钟广友;倪永全 | 申请(专利权)人: | 北京数码大方科技有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京康信知识产权代理有限责任公司 | 代理人: | 吴孟秋 |
地址: | 100080北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 管理信息系统 视图 节点 加载 显示 方法 | ||
技术领域
本发明涉及数控领域,具体而言,涉及一种用于管理信息系统的树视图节点加载显示方法。
背景技术
面向离散制造业的企业管理软件如CAPP(Computer AidedProcess Planning,计算机辅助工艺过程设计)、EDM(ElectronicDocument Management)、PDM(Product Data Management,产品数据管理)、PLM(Product Lifecycle Management,产品生命周期管理)、ERP(Enterprise Resource Planning,企业资源规划)都是典型的MIS(Manager Information System,管理信息系统),也是典型的数据库应用系统,主要处理数据库中的数据信息。这类系统通常会存在由于一次性浏览加载大数据量/海量“数据”而引起的性能问题,如:界面UI树控件显示的“树视图(TreeView)”完整(或部分)展开显示非常慢,甚至会出现“死机”现象(一般是由于操作时间太长,系统UI又不能刷新等引起),从而严重影响系统的使用推广。
特别是目前面向对象系统的这种“数据”实际上就是对象,这种“数据”对象信息有可能很丰富(即大对象),并且一次性批量加载这些“大对象”过程中还有一些额外的业务逻辑(如权限判断、父子约束判断、用户自定义显示等,逻辑越复杂性能问题越严重)。然而根据实际应用场景,又必须一次性加载大量数据对象(如显示产品结构树中比较复杂的部件结构,其结构下可能存在几千或上万个子节点),这就存在不可避免的性能问题。
目前,树视图大数据量数据加载显示性能优化,一般软件系统首先会最大限度做好系统底层的性能优化,确保加载相同数量的树视图节点所花时间最少;其次会在系统UI层面进行优化,如增加人性化的进度提示,后台多线程/进程分散执行,以避免花屏“死机”,尽量增强用户好的体验,这在某种层面上基本能让用户接受。比较常见的优化方法有(这里主要讨论的是加载一级子节点):
(1)异步加载树视图节点,即通过多线程/进程进行分散加载,这样可以有效地避免由于大树视图展开加载引起的花屏与死机现象(这种死机一般就是由于某单线程/进程或某多线程/进程中的某一线程/进程长时间工作而表现出来的花屏或白屏现象)。该方法具体如下:
a)载入父节点;b)以名称VIRT为父节点添加子节点,这会使得TreeView在每个节点前放置一个加号;c)捕获OnAfterExpand事件;d)建立一个BackgroundWorker线程,并传递TreeNode及其他必要的信息到DoWork函数;e)在后台线程的DoWork函数中执行耗时的操作,同时增加进度条;f)OnAfterExpand事件中进行当前进程UI的实时刷新;g)从耗时操作返回原TreeNode和结果;h)从RunWorkerCompleted事件的服务中,取得TreeNode和数据;i)移除VIRT节点,并把它替换为新的TreeNodes;j)为每个新增的子节点添加一个VIRT节点(除非你知道它确实是一个末级节点)。
(2)利用系统闲余时间加载树视图节点,该方法是“异步加载树视图节点”方法的优化,即在系统闲余时间部分地去触发未完成节点的加载。如果在用户使用树视图前,系统“闲时”地将所有树视图节点加载,那么用户操作展开树视图没有等待延迟,这样有时能够很好地解决分散加载的问题。该方法具体如下:
a)定义系统休闲时触发的事件(.Net中可以定义“Application_Idle”事件,VB中可以利用“闲置循环”);b)在闲置事件中处理自动“加载树视图”操作;c)“加载树视图”即用递归算法完成整棵树的节点加载,具体一层节点加载逻辑与“异步加载树视图节点”一样。
在实现本发明过程中,发明人发现“异步加载树视图节点”方法并不能从根本上解决树视图大数据量数据加载显示性能的问题,即每展开一层比较多的节点都会有不同程度的等待,且等待时间基本与子节点数成正比。而“利用系统闲余时间加载对象数节点”方法在没有“闲时”地加载时,同样存在上述的问题。
发明内容
本发明旨在提供一种用于管理信息系统的树视图节点加载显示方法,能够解决现有技术在加载显示树视图大数据量数据时存在的性能问题。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京数码大方科技有限公司,未经北京数码大方科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810240437.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:人机接口的档案复制次数加密方法
- 下一篇:一种分时处理的方法和装置