一种通过树型结构展现数据的方法及系统的制作方法

文档序号:7957027阅读:198来源:国知局
专利名称:一种通过树型结构展现数据的方法及系统的制作方法
技术领域
本发明属于计算机应用领域,尤其涉及一种通过树型结构展现数据的方法。
背景技术
树型结构作为一种展现数据的方式经常被使用。树型结构展现的数据类似,表现样式、控制以及操作方式也大同小异,例如展开节点、增加或者删除节点等操作。在传统的客户端/服务器端(Client/Server,C/S)结构的程序中,主要通过树型控件完成以上功能,而在浏览器端/服务器端(Browser/Server,B/S)结构的应用程序中,因为没有此类控件,需要使用多种技术来实现。
在现有技术的一种实现方案中,服务器根据所需要显示的数据及展现的样式,生成用于浏览器端显示的HTML(HyperText Markup Language,超文本标记语言)/XHTML(eXtensible Hyper Text Markup Language,可扩展超文本标记语言)代码,在服务器端针对每种不同的表现形式加入用于控制交互的JavaScript(一种基于对象的客户端脚本语言,在用户的浏览器端上运行),直接呈现给用户。浏览器端将用户响应的结果通过表单(Form)形式返回给服务器处理。
在该方案中针对不同的应用场景,程序员需要在服务器端直接编写代码生成不同的HTML/XHTML代码来显示相应的展现样式,并根据不同的样式生成相应的JavaScript用来控制交互,所以对程序员的要求比较高,而且代码的重用性也很差。另外这种利用服务器端语言编写代码生成浏览器端代码的方式使得服务器端代码与浏览器端代码混杂,如果需要对显示数据的层次或者表现样式修改,则需要做出大量修改,造成代码的修改和调试困难。同时树型结构的展现需要大量的HTML/XHTML代码,这种在服务器端直接生成HTML/XHTML代码的方式会由于每次数据都不同,浏览器端无法缓存而降低服务器的速度,浪费网络带宽。

发明内容
本发明的目的在于提供一种通过树型结构展现数据的方法,旨在于解决现有技术中在通过树型结构展现数据时,代码生成复杂,重用性差,以及修改和维护困难的问题。
本发明的另一目的在于提供一种通过树型结构展现数据的系统。
本发明的目的是这样实现的,一种通过树型结构展现数据的方法,其特征在于,所述方法包括下述步骤A.将原始数据转换为适合树型结构展现的表达数据,所述表达数据中包括原始数据信息,以及与树型结构的节点对应的描述和控制信息;B.接收用户通过浏览器提交的数据展现请求,生成与所述数据展现请求对应的展现控制指令;C.根据所述展现控制指令将与所述数据展现请求对应的表达数据转换为树型结构视图,通过浏览器将所述树型结构视图显示给用户。
所述方法进一步包括下述步骤D.接收用户通过浏览器提交的数据操作请求,根据所述数据操作请求更新原始数据。
所述展现控制指令通过Javascrip生成。
所述表达数据为XML数据。
所述树型视图通过可扩展的样式表单语言转换XSLT或JavaScript中的文档对象模型DOM将XML数据转换生成。
所述树型结构视图为HTML/XHTML、Flash或Applet形式。
一种通过树型结构展现数据的系统,所述系统包括数据表达处理单元,用于将原始数据转换为适合树型结构展现的表达数据,所述表达数据中包括原始数据信息,以及与树型结构的节点对应的描述和控制信息;交互控制单元,用于接收用户通过浏览器提交的数据展现请求,生成与所述数据展现请求对应的展现控制指令;以及数据显示转换单元,用于根据所述展现控制指令将与所述数据展现请求对应的表达数据转换为树型结构视图,通过浏览器将所述树型结构视图显示给用户。
所述数据表达处理单元包括原始数据存储管理模块,用于获取待展现的原始数据;以及数据表达模块,用于将所述待展现的原始数据转换为适合树型结构展现的表达数据。
所述数据表达处理单元进一步包括用户请求处理模块,用于接收用户通过浏览器提交的数据操作请求,根据所述数据操作请求更新原始数据。
所述展现控制指令通过Javascrip生成。
所述表达数据为XML数据。
所述树型视图通过可扩展的样式表单语言转换XSLT或JavaScript中的文档对象模型DOM将XML数据转换生成。
所述树型结构视图为HTML/XHTML、Flash或Applet形式。
本发明将展现数据的树型结构分为数据部分、显示部分以及控制部分进行独立实现,提高了代码的重用性以及修改和维护的灵活性,同时通过服务器端提供数据,浏览器端生成树型结构展现数据代码的方式减少了服务器端和浏览器端的数据传输量,提高了服务器端的速度,节省了网络带宽。


图1是MVC模型的结构原理图;
图2是本发明提供的树型结构的实现与MVC模型之间的对应关系示意图;图3是本发明提供的通过树型结构展现数据的实现原理图;图4是本发明提供的通过树型结构展现数据的实现流程图;图5是本发明提供的通过树型结构展现数据系统的结构图。
具体实施例方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明根据MVC(Model-View-Controller,模型-视图-控制器)模型原理,将展现数据的树型结构分为数据、显示以及控制三部分分别独立实现,从而增加实现树型结构代码的重用性,提高了代码修改、维护的灵活性。
图1示出了MVC模型的结构原理,其中,视图(View)是用户看到并与之交互的界面。对Web应用程序来说,视图就是由HTML、Macromedia Flash和如XHTML、XML/XSL或WML等一些标识语言和Web services等元素组成的界面。模型(Model)为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。控制器(Controller)接受用户的输入并调用模型和视图去完成用户的需求。在对数据进行处理时,首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过表示层呈现给用户。
MVC模型作为一种成熟的界面设计模式,在业界广泛使用,应用这种设计模式可以提高代码的重用性,减少数据表达、数据描述和引用操作的耦合度,同时提高软件的可维护性、可扩展性、灵活性以及封装性。本发明依据MVC模型原理在WEB页面中使用树型结构展现数据。
图2示出了本发明提供的B/S结构中树型结构的实现与MVC模型的对应关系,服务器端实现MVC模式中的Model部分,浏览器端实现MVC模式中的View和Controller部分。
图3示出了本发明提供的通过树型结构对数据进行展现的实现原理在服务器端,首先将需要展现的原始数据保存起来,可以存放在数据库、内存对象中,也可以直接从其它位置获取。这些被保存的原始数据的数据项之间一般都是层级或者列表关系,能够使用树型结构的方式呈现。例如对于设备,可以是设备ID、名称、IP以及状态等信息。
其次,将原始数据转换为适合树型结构展现的表达数据,以方便进行显示和处理。作为本发明的一个实施例,采用XML(eXtensible Markup Language,可扩展标记语言)来描述Model中的原始数据,可以有效地描述所需要展现的信息,方便程序的处理、转换以及扩展。生成的XML数据除包含原始数据信息外,还包括树型结构的节点的相关描述、控制信息,例如指定树型结构每个节点都包含一个复选框等。最后,服务器端通过用户操作结果的表单解析用户的请求,修改原始数据使得服务器端和浏览器端的数据同步。
在浏览器端,当用户打开浏览器,浏览器从服务器端下载JavaScript文件,该JavaScript文件根据用户展现请求生成数据展现控制指令。当树型结构初始化显示时,浏览器端根据数据展现控制指令从服务器端获取与用户请求对应的XML数据,选择下载有关展现形式的XSLT(eXtensible Stylesheet LanguageTransformations,可扩展的样式表单语言转换)文件,通过XSLT将XML数据转换成HTML/XHTML,由浏览器端将HTML/XHTML以树型结构视图的形式显示给用户。再次,通过JavaScript文件改变树型结构显示的状态以响应用户的操作,例如用户展开树型结构的节点,则显示该节点的子节点并改变父节点的状态。最后,如果用户对树型结构的操作需要改变服务器端的原始数据,则通过Form或者XMLHTTP方式将用户操作的操作结果提交给服务器端处理,服务器端解析用户的请求,改变原始数据,使得服务器端和浏览器端的数据同步。
图4示出了本发明提供的通过树型结构展现数据的实现流程,详述如下在步骤S401中,浏览器端根据用户的操作初始化包含树型结构的页面,准备进行下一步的数据显示,从服务器端下载JavaScript文件,对数据的展现以及用户请求进行控制。
在步骤S402中,浏览器端根据页面中指定的树型结构类型和参数向服务器端请求相应的XML数据以及选择相应的XSLT文件,由浏览器端从服务器端下载;在本发明中服务器端可以预先将所有的原始数据生成XML数据,当浏览器端请求XML数据时,直接返回XML数据给浏览器端。也可以根据浏览器端的请求生成XML数据,再返回给浏览器端;在步骤S403中,浏览器端使用XSLT将XML数据转换为HTML/XHTML,以树型结构视图呈现给用户;在本发明的一实施例中可以不使用XSLT来转换生成HTML/XHTML,而是在浏览器端的JavaScript中直接使用DOM(文档对象模型)解析XML生成HTML/XHTML。不过这样会损失使用XSLT的灵活性和易维护性,因为DOM解析这种方式需要将转换的规则写入浏览器端的源代码中,如果更改树型结构的展现则需要修改源代码以改变转换规则,而使用XSLT进行XML数据的转换只需要根据所要展现的形式从服务器端选择下载相应的XSLT文件即可,当然前提是XSLT文件已经由开发人员设计好并保存在服务器端。
在步骤S404中,浏览器端的JavaScript响应用户操作,改变树型结构内部数据,例如展开树型结构的节点、改变节点状态等;在步骤S405中,如果用户对树型结构的操作需要改变服务器端上的原始数据,则通过Form或者XMLHTTP方式将用户的操作结果提交给服务器端处理。
在本发明的一实施例中,下载到浏览器端的JavaScript、XSLT文件可以被浏览器端缓存,服务器只需要每次发送XML数据,而不需要发送产生HTML/XHTML的所有数据,从而大大减少了数据传输,节省了带宽,提高了用户访问网络的速度。
图5示出了本发明提供的通过树型结构展现数据的系统100的结构,数据处理单元101对通过树型结构展现的原始数据进行存储和转换处理,生成适合于树型结构展现的表达数据。原始数据存储管理模块1012用于保存或从外部存储介质获取待展现的原始数据。数据表达模块1011将原始数据转换为适合树型结构展现的表达数据,以方便进行展现和处理。作为本发明的一个实施例,采用XML来描述原始数据。
数据显示转换单元102将XML数据转换成HTML/XHTML代码,由浏览器端以树型结构视图的方式展现给用户。交互控制单元103对数据的展现进行控制,根据用户的数据展现请求生成数据展现控制指令,并响应用户对树型结构视图的操作,当用户对树型结构视图的操作需要改变服务器端的原始数据时,交互控制单元103将用户的操作请求以Form或XML HTTP方式提交给用户请求处理模块1013,用户请求处理模块1013根据该操作请求修改对应的原始数据,使得服务器端和浏览器端的数据同步。
需要说明的是本发明通过树型结构展现数据的形式不局限于HTML/XHTML,还可以是Flash(一种网页交互动画制作工具)或Applet(一种嵌入在HTML文件中的Java小应用程序),即通过XSLT将XML数据转换或直接提供给Flash或Applet中的树型控件。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种通过树型结构展现数据的方法,其特征在于,所述方法包括下述步骤A.将原始数据转换为适合树型结构展现的表达数据,所述表达数据中包括原始数据信息,以及与树型结构的节点对应的描述和控制信息;B.接收用户通过浏览器提交的数据展现请求,生成与所述数据展现请求对应的展现控制指令;C.根据所述展现控制指令将与所述数据展现请求对应的表达数据转换为树型结构视图,通过浏览器将所述树型结构视图显示给用户。
2.如权利要求1所述的通过树型结构展现数据的方法,其特征在于,所述方法进一步包括下述步骤D.接收用户通过浏览器提交的数据操作请求,根据所述数据操作请求更新原始数据。
3.如权利要求1所述的通过树型结构展现数据的方法,其特征在于,所述展现控制指令通过Javascrip生成。
4.如权利要求1所述的通过树型结构展现数据的方法,其特征在于,所述表达数据为XML数据。
5.如权利要求4所述的通过树型结构展现数据的方法,其特征在于,所述树型视图通过可扩展的样式表单语言转换XSLT或JavaScript中的文档对象模型DOM将XML数据转换生成。
6.如权利要求1所述的通过树型结构展现数据的方法,其特征在于,所述树型结构视图为HTML/XHTML、Flash或Applet形式。
7.一种通过树型结构展现数据的系统,其特征在于,所述系统包括数据表达处理单元,用于将原始数据转换为适合树型结构展现的表达数据,所述表达数据中包括原始数据信息,以及与树型结构的节点对应的描述和控制信息;交互控制单元,用于接收用户通过浏览器提交的数据展现请求,生成与所述数据展现请求对应的展现控制指令;以及数据显示转换单元,用于根据所述展现控制指令将与所述数据展现请求对应的表达数据转换为树型结构视图,通过浏览器将所述树型结构视图显示给用户。
8.如权利要求7所述的通过树型结构展现数据的系统,其特征在于,所述数据表达处理单元包括原始数据存储管理模块,用于获取待展现的原始数据;以及数据表达模块,用于将所述待展现的原始数据转换为适合树型结构展现的表达数据。
9.如权利要求7所述的通过树型结构展现数据的系统,其特征在于,所述数据表达处理单元进一步包括用户请求处理模块,用于接收用户通过浏览器提交的数据操作请求,根据所述数据操作请求更新原始数据。
10.如权利要求7所述的通过树型结构展现数据的系统,其特征在于,所述展现控制指令通过Javascrip生成。
11.如权利要求7所述的通过树型结构展现数据的系统,其特征在于,所述表达数据为XML数据。
12.如权利要求11所述的通过树型结构展现数据的系统,其特征在于,所述树型视图通过可扩展的样式表单语言转换XSLT或JavaScript中的文档对象模型DOM将XML数据转换生成。
13.如权利要求7所述的通过树型结构展现数据的系统,其特征在于,所述树型结构视图为HTML/XHTML、Flash或Applet形式。
全文摘要
本发明适用于计算机应用领域,提供了一种通过树型结构展现数据的方法及系统,所述方法包括下述步骤A.将原始数据转换为适合树型结构展现的表达数据,所述表达数据中包括原始数据信息,以及与树型结构的节点对应的描述和控制信息;B.接收用户通过浏览器提交的数据展现请求,生成与所述数据展现请求对应的展现控制指令;C.根据所述展现控制指令将与所述数据展现请求对应的表达数据转换为树型结构视图,通过浏览器将所述树型结构视图显示给用户。本发明提高了代码的重用性以及修改和维护的灵活性,同时通过服务器端提供数据,浏览器端生成树型结构展现数据代码的方式减少了服务器端和浏览器端的数据传输量,提高了服务器端的速度,节省了网络带宽。
文档编号H04L29/06GK1983257SQ20061006064
公开日2007年6月20日 申请日期2006年5月11日 优先权日2006年5月11日
发明者张晶晶 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1