专利名称:基于建模的智能化网站开发系统及方法
技术领域:
本发明涉及一种基于建模的智能化网站开发系统及方法。
技术背景随着互联网的飞速发展,网站已经广泛应用于我们工作与生活的各个领域,而对于网站 开发的技术也层出不穷,从最早的ASP和JSP到现在炙手可热的.NET和JSF等。这些技术的普 及和推广将Web程序的开发提升到一个新的高度,最终导致了Web 2.0时代的到来。然而这些 新技术同时存在一些缺点与不足,主要归纳为以下三点1. 过分强调动态,造成性能的损耗。随着信息的成倍增长,网页需要显示的内容也越来越多,这种情况促使了网站与数据库 技术的融合。传统的网页开发技术在这一点上,采用动态网页的技术,根据特定的页面解析 网页中包含的程序语句,同时实时从数据库中提取信息,网站服务器结合此页面生成包含该 提取信息的后台代码,然后反馈给用户的浏览器。其流程为用户发出请求一网站服务器解 析网页一网站服务器提取数据并生成代码一网站服务器反馈代码到用户浏览器。网站服务器的解析动作是反复进行的,每次解析不仅仅是更新部分的数据,而且包括网 页的程序语句、样式、颜色等都需要进行解析。这种方式对于数据时效性要求较高、用户数 量不多的小型系统而言是合适的。但是对于数据时效性要求不高、用户数量多的系统(如图 片网站和新闻资讯网站等)而言却不适合。因为解析的过程需要耗费一定时间,当用户访问 量大时会导致网页打开缓慢,且会增加网站服务器的压力,不利于网站服务器性能的稳定, 甚至会导致网站服务器崩溃。2. 开发难度大,对运行环境要求高,缺乏通用性。传统的动态网页开发方式,需要熟练掌握相关的程序语言,比如JSP需要Java知识, .NET需要Ctt知识等。同时,这些网站开发语言开发出来的系统需要特定的服务器程序来解 析,不利于网站的快速开发与通用。3. 动态网页的网站不利于推广。对于一个网站,流量是其价值的基本体现,目前网站推广的主流方式是通过搜索引擎收 录完成的。由于动态网页需要解析,会造成时间上的损耗,所以不易被搜索引擎所收录。而 不包含程序语句的静态网页最容易被搜索引擎收录,从而更利于网站的推广应用。发明内容鉴于以上内容,有必要提供一种基于建模的智能化网站开发系统,其可根据自定义的建 模标签和网页模板,进行数据库査询,生成静态网页。还有必要提供一种基于建模的智能化网站开发方法,其可根据自定义的建模标签和网页 模板,进行数据库査询,生成静态网页。一种基于建模的智能化网站开发系统,包括一个网站服务器,所述网站服务器包括配 置文件读取模块,用于从存储体中读取所需的模板配置文件,从所述模板配置文件中获取每 个网页模板的存储路径和各个网页模板之间的层级关系;标签获取模块,用于提取网站首页模板的所有编码,从所述编码中获取建模标签,所述建模标签包括跳转标签和数据获取标签;标签解析模块,用于依次解析所获取的每个建模标签,并根据解析结果生成静态网页;检 测模块,用于检测所述模板配置文件中是否存在跳转到次级网页的跳转标签;所述标签获取 模块,还用于当所述模板配置文件中存在跳转到次级网页的跳转标签时,提取所述跳转标签 对应的网页模板的所有编码,从所述编码中获取建模标签;所述标签解析模块,还用于对所 述跳转标签对应的网页模板编码中的建模标签进行解析,生成次级网页;日志生成模块,用 于当所述模板配置文件中不存在跳转到次级网页的跳转标签时,对所生成的所有的静态网页 进行结构记录,并生成日志文件记录生成操作。一种基于建模的智能化网站开发方法,包括如下步骤(a)从存储体中读取所需的模 板配置文件,从所述模板配置文件中获取每个网页模板的存储路径和各个网页模板之间的层 级关系;(b)提取网站首页模板的所有编码,从所述编码中获取建模标签,所述建模标签 包括跳转标签和数据获取标签;(c)依次解析所获取的每个建模标签,并根据解析结果生 成静态网页;(d)检测所述模板配置文件中是否存在跳转到次级网页的跳转标签;(e)当 所述模板配置文件中存在跳转到次级网页的跳转标签时,提取所述跳转标签对应的网页模板 的所有编码,从所述编码中获取建模标签,然后流程转到步骤(c) ;(f)当所述模板配置 文件中不存在跳转到次级网页的跳转标签时,对所生成的所有的静态网页进行结构记录,并 生成日志文件记录生成操作。相较于现有技术,所述的基于建模的智能化网站开发系统及方法,其可根据自定义的建 模标签和网页模板,进行数据库査询,生成静态网页,加快了网站开发速度,提高了网站服 务器的运行效率。
图l是本发明基于建模的智能化网站开发系统较佳实施例的硬件架构图。图2是图1中所示网站服务器的功能模块图。图3是本发明基于建模的智能化网站开发方法较佳实施例的流程图。
具体实施方式
如图1所示,是本发明基于建模的智能化网站开发系统较佳实施例的系统架构图。该系 统主要包括多个用户端电脑10和网站服务器20。所述多个用户端电脑10和网站服务器20通过 网络30相连,所述网络30可以是国际互联网络(Internet)或企业内部互联网(Intranet) 。所述管理服务器20通过数据库连接与数据库21相连,所述数据库21中存储有网页中的数据 。所述数据库连接可为开放式数据库连接(Open Database Connectivity, ODBC),或者 Java数据库连接(Java Database Connectivity, JDBC),所述数据库21可为Microsoft SQL Server 2000等。所述网站服务器20的存储体(如硬盘)中还存储有多种模板配置文件和网页模板,所述 模板配置文件是一种XML (Extensible Markup Language)文件。每种模板配置文件用于设 置该种模板配置文件所对应的每个网页模板的存储路径和各个网页模板之间的层级关系等。 例如,用符号"〈父模板名称〉〈/子模板名称〉"记录两个网页模板之间的层级关系。 一般而 言,每个网站都包含首页,首页下面又包含不同的次级网页,最终是包含数据的内容网页。 所述的次级网页可能有一级或者多级,但基本都在五级以下。在本发明中,通过对网站中每 一级网页设置对应的网页模板,在用户登录网站后,所述网站服务器20将根据不同的网页模 板生成相应的静态网页,整个生成过程从首页开始。如图2所示,是图1中所示网站服务器20的功能模块图。所述网站服务器20包括配置文件 读取模块210、标签获取模块211、标签解析模块212、检测模块213和日志生成模块214。本 发明所称的模块是完成一特定功能的计算机程序段,比程序更适合于描述软件在计算机中的 执行过程,因此在本发明以下对软件描述中都以模块描述。其中,所述配置文件读取模块210用于在用户通过用户端电脑10登录网站后,从网站服 务器20的存储体中读取所需的模板配置文件,从所述模板配置文件中获取每个网页模板的存 储路径和各个网页模板之间的层级关系,并载入标签解析API (Application Programming Interface,应用编程接口)开始生成静态网页。所述标签获取模块211用于提取网站首页模板的所有编码,从所述编码中获取建模标签 。此时,所述网站首页模板的所有编码和建模标签都暂存在内存空间。所述建模标签是一种 自定义的HTML (Hypertext Markup Language,超文本链接标示语言)标签,主要包括跳转 标签和数据获取标签等。其中,所述跳转标签负责超链接(Hyperlink)的跳转,例如,可以设定跳转标签为 〈m:a>〈/m:a>,其包括参数href、 model禾tlrandomld。其中,参数href的定义与HTML标签中的 href定义相同,比如〈m:a href href=" /Aegean/test, action" >〈/m:a>,参数model指定跑fe 转后网页的模板,比如〈m:a href href=" Aegean/test, action" model=" test, jsp" >, 参数randomld是一个递增的数值,用于记录该跳转标签出现的顺序,系统将以该参数 randomld的值命名该跳转标签对应网页的名称。所述数据获取标签用于设定数据获取方式、从数据库21中査询的数据库表名和所对应的 字段名、数据显示时的格式等,所述数据获取方式包括直接获取和从数据库中读取数据。例 如,可以设定数据获取标签为〈m:txt>〈/m:txt>,其包括参数Scope、 Table、 Field、 Lable和MaxRow等。其中,参数Scope指定直接获取数据时的范围,包括Request或Session, 参数Table指定从数据库中读取数据时査询的数据库表名,参数Field指定査询的字段名,参 数Lable指定前端显示文字,参数MaxRow指定网页中显示的记录条数,超过此条数则分页显 示。所述标签解析模块212用于依次解析所获取的每个建模标签,并根据解析结果生成静态 网页,具体过程如下所述。如果所述建模标签是跳转标签,则标签解析模块212将该跳转标签和跳转后的网页模板 信息存储到所述模板配置文件中,所述网页模板信息包括网页显示的样式、颜色和菜单等。如果所述建模标签是数据获取标签,则标签解析模块212根据所述数据获取标签中设定 的数据获取方式获取相应数据。具体而言,如果所述数据获取方式为直接获取,则所述标签 解析模块212在程序的Request范围或Session范围内获取数据。如果所述数据获取方式为从 数据库21中读取数据,则所述标签解析模块212根据所述数据获取标签中设定的数据库表名 和所对应的字段名进行数据库査询,获取相应的数据。然后,所述标签解析模块212格式化 所述获取的数据,所述格式化包括换行、设置显示长度和分页等。最后,所述标签解析模块 212将所述格式化后的数据替换掉所述数据获取标签,并输出最终的编码,生成静态网页。如果所述建模标签中只含有跳转标签,则所述标签解析模块212直接将跳转标签转化为 普通的HTML标签,并将整个页面输出为静态网页。所述检测模块213用于检测所述模板配置文件中是否存在跳转到次级网页的跳转标签。 如果一个跳转标签跳转后的网页模板为当前网页模板的下级模板,则所述检测模块213判断 该跳转标签为跳转到次级网页的跳转标签。如果所述模板配置文件中存在跳转到次级网页的 跳转标签,则所述标签获取模块211提取所述跳转标签对应的网页模板的所有编码,从所述8编码中获取建模标签。然后,所述标签解析模块212开始对其编码中的建模标签进行解析, 生成次级网页。整个解析过程以一个递归的方式进行,将所有次级网页依次进行解析,从而 构建出整个网站。所述日志生成模块214用于当所述模板配置文件中不存在跳转到次级网页的跳转标签时 ,通过XML对所生成的所有的静态网页进行结构记录,并生成日志文件用于记录生成操作。 所述结构记录是指记录所生成的所有的静态网页的层级关系。如图3所示,是本发明基于建模的智能化网站开发方法较佳实施例的流程图。步骤S401 ,所述配置文件读取模块210在用户通过用户端电脑10登录网站后,从网站服务器20的存储 体中读取所需的模板配置文件,从所述模板配置文件中获取每个网页模板的存储路径和各个 网页模板之间的层级关系,并载入标签解析API (Application Programming Interface,应 用编程接口)开始生成静态网页。步骤S402,所述标签获取模块211提取网站首页模板的所有编码,从所述编码中获取建 模标签。此时,所述网站首页模板的所有编码和建模标签都暂存在内存空间。所述建模标签 是一种自定义的HTML (Hypertext Markup Language,超文本链接标示语言)标签,主要包 括跳转标签和数据获取标签等。其中,所述跳转标签负责超链接(Hyperlink)的跳转,例如,可以设定跳转标签为 〈m:a>〈/m:a>,其包括参数href、 model禾tlrandomld。其中,参数href的定义与HTML标签中的 href定义相同,比如〈m:a href href=" /Aegean/test, action" >〈/m:a>,参数model指定跑fe 转后网页的模板,比如〈m:a href href=" Aegean/test, action" model=" test, jsp" >, 参数randomld是一个递增的数值,用于记录该跳转标签出现的顺序,系统将以该参数 randomld的值命名该跳转标签对应网页的名称。所述数据获取标签用于设定数据获取方式、从数据库21中査询的数据库表名和所对应的 字段名、数据显示时的格式等,所述数据获取方式包括直接获取和从数据库中读取数据。例 如,可以设定数据获取标签为〈m:txt>〈/m:txt>,其包括参数Scope、 Table、 Field、 Lable和MaxRow等。其中,参数Scope指定直接获取数据时的范围,包括Request或Session, 参数Table指定从数据库中读取数据时査询的数据库表名,参数Field指定査询的字段名,参 数Lable指定前端显示文字,参数MaxRow指定网页中显示的记录条数,超过此条数则分页显 示。步骤S403,所述标签解析模块212依次解析所获取的每个建模标签,并根据解析结果生 成静态网页,具体流程如下所述。如果所述建模标签是跳转标签,则标签解析模块212将该跳转标签和跳转后的网页模板 信息存储到所述模板配置文件中,所述网页模板信息包括网页显示的样式、颜色和菜单等。如果所述建模标签是数据获取标签,则标签解析模块212根据所述数据获取标签中设定 的数据获取方式获取相应数据。具体而言,如果所述数据获取方式为直接获取,则所述标签 解析模块212在程序的Request范围或Session范围内获取数据。如果所述数据获取方式为从 数据库21中读取数据,则所述标签解析模块212根据所述数据获取标签中设定的数据库表名 和所对应的字段名进行数据库査询,获取相应的数据。然后,所述标签解析模块212格式化 所述获取的数据,所述格式化包括换行、设置显示长度和分页等。最后,所述标签解析模块 212将所述格式化后的数据替换掉所述数据获取标签,并输出最终的编码,生成静态网页。如果所述建模标签中只含有跳转标签,则所述标签解析模块212直接将跳转标签转化为 普通的HTML标签,并将整个页面输出为静态网页。步骤S404,所述检测模块213检测所述模板配置文件中是否存在跳转到次级网页的跳转 标签。如果一个跳转标签跳转后的网页模板为当前网页模板的下级模板,则所述检测模块 213判断该跳转标签为跳转到次级网页的跳转标签。如果所述模板配置文件中存在跳转到次 级网页的跳转标签,则流程进入步骤S405,如果所述模板配置文件中不存在跳转到次级网页 的跳转标签,则流程进入步骤S406。步骤S405,所述标签获取模块211提取所述跳转标签对应的网页模板的所有编码,从所 述编码中获取建模标签,然后流程转到步骤S403,所述标签解析模块212开始对其编码中的 建模标签进行解析,生成次级网页。整个解析过程以一个递归的方式进行,将所有次级网页 依次进行解析,从而构建出整个网站。步骤S406,所述日志生成模块214通过XML对所生成的所有的静态网页进行结构记录,并 生成日志文件用于记录生成操作。所述结构记录是指记录所生成的所有的静态网页的层级关 系。最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实 施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案 进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
权利要求
1.一种基于建模的智能化网站开发系统,包括一个网站服务器,其特征在于,所述网站服务器包括配置文件读取模块,用于从存储体中读取所需的模板配置文件,从所述模板配置文件中获取每个网页模板的存储路径和各个网页模板之间的层级关系;标签获取模块,用于提取网站首页模板的所有编码,从所述编码中获取建模标签,所述建模标签包括跳转标签和数据获取标签;标签解析模块,用于依次解析所获取的每个建模标签,并根据解析结果生成静态网页;检测模块,用于检测所述模板配置文件中是否存在跳转到次级网页的跳转标签;所述标签获取模块,还用于当所述模板配置文件中存在跳转到次级网页的跳转标签时,提取所述跳转标签对应的网页模板的所有编码,从所述编码中获取建模标签;所述标签解析模块,还用于对所述跳转标签对应的网页模板编码中的建模标签进行解析,生成次级网页;及日志生成模块,用于当所述模板配置文件中不存在跳转到次级网页的跳转标签时,对所生成的所有的静态网页进行结构记录,并生成日志文件记录生成操作。
2 如权利要求l所述的基于建模的智能化网站开发系统,其特征在于 ,所述标签解析模块依次解析所获取的每个建模标签,并根据解析结果生成静态网页包括如果所述建模标签是跳转标签,则所述标签解析模块将该跳转标签和跳转后的网页模 板信息存储到所述模板配置文件中;如果所述建模标签是数据获取标签,则所述标签解析模块根据所述数据获取标签中设 定的数据获取方式获取相应数据,然后格式化所述获取的数据,将所述格式化后的数据替换 掉所述数据获取标签,并输出最终的编码,生成静态网页;及如果所述建模标签中只含有跳转标签,则所述标签解析模块直接将跳转标签转化为普 通的HTML标签,并将整个页面输出为静态网页。
3.如权利要求2所述的基于建模的智能化网站开发系统,其特征在于 ,所述标签解析模块根据所述数据获取标签中设定的数据获取方式获取相应数据包括 如果所述数据获取方式为直接获取,则所述标签解析模块在程序的Request范围或 Session范围内获取数据;及如果所述数据获取方式为从数据库中读取数据,则所述标签解析模块根据所述数据获 取标签中设定的数据库表名和所对应的字段名进行数据库査询,获取相应的数据。
4.如权利要求2所述的基于建模的智能化网站开发系统,其特征在于 ,所述网页模板信息包括网页显示的样式、颜色和菜单,所述格式化包括换行、设置显示长 度和分页。
5.一种基于建模的智能化网站开发方法,其特征在于,该方法包括如下步骤(a) 从存储体中读取所需的模板配置文件,从所述模板配置文件中获取每个网页模板 的存储路径和各个网页模板之间的层级关系;(b) 提取网站首页模板的所有编码,从所述编码中获取建模标签,所述建模标签包括 跳转标签和数据获取标签;(c) 依次解析所获取的每个建模标签,并根据解析结果生成静态网页;(d) 检测所述模板配置文件中是否存在跳转到次级网页的跳转标签;(e) 当所述模板配置文件中存在跳转到次级网页的跳转标签时,提取所述跳转标签对 应的网页模板的所有编码,从所述编码中获取建模标签,然后流程转到步骤(c);及(f) 当所述模板配置文件中不存在跳转到次级网页的跳转标签时,对所生成的所有的 静态网页进行结构记录,并生成日志文件记录生成操作。
6.如权利要求5所述的基于建模的智能化网站开发方法,其特征在于 ,所述步骤(c)包括如果所述建模标签是跳转标签,则将该跳转标签和跳转后的网页模板信息存储到所述 模板配置文件中;如果所述建模标签是数据获取标签,则根据所述数据获取标签中设定的数据获取方式 获取相应数据,然后格式化所述获取的数据,将所述格式化后的数据替换掉所述数据获取标 签,并输出最终的编码,生成静态网页;及如果所述建模标签中只含有跳转标签,则直接将跳转标签转化为普通的HTML标签,并 将整个页面输出为静态网页。
7.如权利要求6所述的基于建模的智能化网站开发方法,其特征在于 ,所述步骤根据所述数据获取标签中设定的数据获取方式获取相应数据包括如果所述数据获取方式为直接获取,则在程序的Request范围或Session范围内获取数 据;及如果所述数据获取方式为从数据库中读取数据,则根据所述数据获取标签中设定的数 据库表名和所对应的字段名进行数据库査询,获取相应的数据。
8.如权利要求6所述的基于建模的智能化网站开发方法,其特征在于 ,所述网页模板信息包括网页显示的样式、颜色和菜单,所述格式化包括换行、设置显示长 度和分页。
全文摘要
一种基于建模的智能化网站开发方法,该方法包括如下步骤(a)读取所需的模板配置文件;(b)提取网站首页模板的所有编码,从所述编码中获取建模标签;(c)依次解析所获取的每个建模标签,并根据解析结果生成静态网页;(d)检测所述模板配置文件中是否存在跳转到次级网页的跳转标签;(e)如果存在此跳转标签,提取所述跳转标签对应的网页模板的所有编码,从所述编码中获取建模标签,然后流程转到步骤(c);(f)如果不存在此跳转标签,对所生成的静态网页进行结构记录,并生成日志文件记录生成操作。本发明还提供一种基于建模的智能化网站开发系统。利用本发明可根据自定义的建模标签和网页模板,生成静态网页。
文档编号G06F9/44GK101609399SQ200810302258
公开日2009年12月23日 申请日期2008年6月20日 优先权日2008年6月20日
发明者常小军 申请人:鸿富锦精密工业(深圳)有限公司;鸿海精密工业股份有限公司