CN101504669B - 一种Web应用的模板发布方法、装置及*** - Google Patents
一种Web应用的模板发布方法、装置及*** Download PDFInfo
- Publication number
- CN101504669B CN101504669B CN2009101178481A CN200910117848A CN101504669B CN 101504669 B CN101504669 B CN 101504669B CN 2009101178481 A CN2009101178481 A CN 2009101178481A CN 200910117848 A CN200910117848 A CN 200910117848A CN 101504669 B CN101504669 B CN 101504669B
- Authority
- CN
- China
- Prior art keywords
- template
- web
- issue
- file
- storage address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种计算机执行的Web应用的模板发布方法、装置及***,所述方法包括:从Rails Web服务器上预置的数据库中获取Web应用名称,Web应用的模板文件的存放地址;依据所述Web应用名称生成第一模板发布页面,并依据需要进行模板发布的用户在第一模板发布页面上选择的Web应用,从所述数据库中获取选择的Web应用的模板文件目标地址;根据选择的Web应用的模板文件存放地址,生成包括选择的Web应用模板文件的第二模板发布页面;然后依据用户在第二模板发布页面上选择的模板文件和所述目标地址,进行所述选择的Web应用的模板发布。在本申请实施例中,可以提高大数据量Web应用的情况下模板发布的效率。
Description
技术领域
本发明涉及Web应用领域,特别是涉及一种计算机执行的Web应用的模板发布方法和***。
背景技术
模板是把数据和表现组装到一起的工具,是Web开发中的重要技术手段,模板发布可以理解为通过改动相关的后台代码,将版面或者页面的布局进行调整的方法。进行Web应用的模板发布,一般情况下可以从SVN服务器获取到Web应用的模板文件,所述SVN服务器可以用于对文件进行版本管理;并将模板文件和发布任务上传到分发服务器,所述分发服务器可以采用FTP服务器实现,FTP服务器基于FTP协议,主要用于在互联网上进行文件交换的常用服务。此外,在模板发布过程中,需要用到Shell脚本,Shell是*NIX***上的操作环境,用于管理***和编写脚本程序。
在现有技术中,有一种Web应用的模板发布方法,其实现过程具体为:从SVN服务器依据存放地址获取待发布Web应用的模板文件,当用户在Web界面上选择了需要发布的模板文件时,再将该选择的模板文件和存放模板文件名的名称文件(例如:vm.list)复制到分发服务器,该名称文件保存了模板文件的存放地址到目标地址之间的对应关系,然后在安全外壳协议(Secure Shell,SSH)到分发服务器上,并按照该存放地址和目标地址的对应关系将模板文件发布到对应的每一台目标服务器。
在上述模板发布的过程中,因为每一个Web应用都对应各自不同的一组服务器,并且不同Web应用的目录结构是不一样的,当新增Web应用、或者Web应用的数据量较大的时候,需要针对每个Web应用编写一套相对应的模板发布程序,相应的发布规则定义在该模板发布程序中,这就导致了在每新增一个Web应用时,需要手工编写对应的模板发布程序,耗费了开发人员大量的时间成本和维护成本,导致了模板发布的效率较低;进一步的,在发布过程中用到SSH和scp命令,需要在相关服务器上打通SSH通道,因此现有的模板发布方法安全性较低,加密的传输方式性能也较低,而且因为需要在更多的服务器间进行中转,对外地的目标服务器情况更差。
总之,目前需要本领域技术人员迫切解决的一个技术问题就是:如何能够创新的提出一种模板发布的方法,以在新增Web应用或者大数据量Web应用的情况下,解决模板发布过程中效率较低的问题。
发明内容
本申请所要解决的技术问题是提供一种Web应用的模板发布方法,以在新增Web应用或者大数据量Web应用的情况下,解决模板发布过程中效率较低的问题,进一步的,还可以提高模板发布方法的安全性。
本申请提供了一种计算机执行的Web应用的模板发布装置及***,用以保证上述方法在实际中的实现及应用。
为了解决上述问题,本申请公开了一种计算机执行的Web应用的模板发布方法,包括:
从Rails Web服务器上预置的数据库中获取Web应用名称,以及所述Web应用的模板文件的存放地址信息;
依据所述Web应用名称生成第一模板发布页面,并依据需要进行模板发布的用户在所述第一模板发布页面上选择的Web应用,从所述数据库中获取所述选择的Web应用的模板文件的目标地址;
根据所述选择的Web应用的模板文件的存放地址,生成包括所述选择的Web应用的模板文件的第二模板发布页面;
依据所述用户在所述第二模板发布页面上选择的模板文件和所述目标地址,进行所述选择的Web应用的模板发布。
优选的,所述从Rails Web服务器上预置的数据库中获取Web应用名称,以及所述Web应用的模板文件的存放地址之前,还包括:
在Rails Web服务器提供的配置界面上,接收用户在服务器端输入的Web应用名称,模板文件的存放地址和目标地址信息;
将所述Web应用名称,模板文件的存放地址和目标地址信息保存至预置的数据库中。
优选的,所述依据所述选择的Web应用的模板文件的存放地址,生成包括所述选择的Web应用的模板文件的第二模板发布页面,具体包括:
根据所述选择的Web应用的模板文件的存放地址,从SVN服务器上获取所述选择的Web应用的所有模板文件;
生成包括所述选择的Web应用的所有模板文件的第二模板发布页面。
优选的,所述依据所述用户在所述第二模板发布页面上选择的模板文件和所述目标地址,进行所述选择的Web应用的模板发布,具体包括:
依据需要进行模板发布的用户在所述第二模板发布页面上选择的模板文件和目标地址,生成模板发布包和发布任务信息;
根据所述用户的指令下载所述发布任务信息,并根据所述用户针对所述发布任务信息输入的指令下载相应的模板发布包;
将所述模板发布包中的模板文件根据目标地址发布至目标服务器。
优选的,所述根据所述用户针对所述发布任务信息输入的指令下载相应的模板发布包,具体为:
当存在本地任务列表时,比较所述发布任务信息和本地任务列表的版本顺序;
根据所述版本顺序下载相应的模板发布包。
优选的,所述存放地址信息包括第一存放地址和第二存放地址,所述第一存放地址为SVN服务器上模板文件共同的根目录,所述第二存放地址为SVN服务器上模板文件的各自不同的子目录。
优选的,所述从Rails Web服务器上预置的数据库中获取Web应用名称,具体为:
从Rails Web服务器上预置的数据库中通过可扩展标记语言XML接口获取至少两个Web应用名称。
优选的,所述发布任务信息以发布任务列表的形式进行维护。
本申请公开了一种Web应用的模板发布装置,包括:
第一获取模块,用于从Rails Web服务器上预置的数据库中获取Web应用名称,以及所述Web应用的模板文件的存放地址信息;
第一生成模块,用于依据所述Web应用名称生成第一模板发布页面;
第二获取模块,用于依据用户在所述第一模板发布页面上选择的Web应用,从所述数据库中获取所述选择的Web应用的模板文件的目标地址;
第二生成模块,用于根据所述选择的Web应用的模板文件的存放地址,生成包括所述选择的Web应用的模板文件的第二模板发布页面;
发布模块,用于依据所述用户在所述第二模板发布页面上选择的模板文件和所述目标地址,进行所述选择的Web应用的模板发布。
优选的,所述第二生成模块具体包括:
获取子模块,用于根据所述选择的Web应用的模板文件的存放地址,从SVN服务器上获取所述选择的Web应用的所有模板文件;
第一生成子模块,用于生成包括所述选择的Web应用的所有模板文件的第二模板发布页面。
优选的,所述发布模块具体包括:
第二生成子模块,用于依据需要进行模板发布的用户在所述第二模板发布页面上选择的模板文件和目标地址,生成模板发布包和发布任务信息;
第一下载子模块,用于根据所述用户的指令下载所述发布任务信息,并根据所述用户针对所述发布任务信息输入的指令下载相应的模板发布包;
发布子模块,用于将所述模板发布包中的模板文件根据目标地址发布至目标服务器。
优选的,所述第一发布子模块,具体包括:
比较子模块,用于当存在本地任务列表时,比较所述发布任务文件和本地任务列表的版本顺序;
第二下载子模块,用于根据所述版本顺序下载相应的模板文件。
优选的,所述第一获取模块,具体用于从Rails Web服务器上预置的数据库中通过可扩展标记语言XML接口获取至少两个Web应用名称,以及所述Web应用的模板文件的存放地址信息。
本申请公开了一种Web应用的模板发布装置,包括:
Rails Web服务器,用于在预置的数据库中保存Web应用名称、模板文件的存放地址和目标地址信息;
发布服务器,用于从Rails Web服务器上预置的数据库中获取Web应用名称,以及所述Web应用的模板文件的存放地址;依据所述Web应用名称生成第一模板发布页面,并依据需要进行模板发布的用户在所述第一模板发布页面上选择的Web应用,从所述数据库中获取所述选择的Web应用的模板文件的目标地址;根据所述选择的Web应用的模板文件的存放地址,生成包括所述选择的Web应用的模板文件的第二模板发布页面;并依据所述用户在所述第二模板发布页面上选择的模板文件和所述目标地址,进行所述选择的Web应用的模板发布。
优选的,所述Rails Web服务器还包括:
接收模块,用于在Rails Web服务器提供的配置界面上,接收用户输入的Web应用名称,模板文件的存放地址和目标地址;
保存模块,用于将所述Web应用名称,模板文件的存放地址和目标地址信息保存至预置的数据库中。
与现有技术相比,本申请包括以下优点:
本申请采用Rails Web服务器提供了一种预置的数据库,可以保存多个Web应用名称,以及所述至少两个Web应用的模板文件的存放地址,在本申请实施例中,主要采用通过XML接口从Rails Web服务器上获取各个Web应用的模板发布信息的方式,在新增Web应用或者大数据量的情况下,只需从Rails Web服务器上的数据库中调用和各Web应用的模板发布相关的信息,从而无需为每一个Web应用编写对应的发布程序,只需从Rails Web服务器获取相关的参数信息,进行相应的模板发布即可,因此,大大提高了模板发布的效率。并且,本申请实施例无需像现有技术一样还需要通过SSH通道,增加了模板发布的安全性;进一步,通过自定义格式的发布任务列表,还可以保证模板发布的完整性。当然,实施本申请的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请的一种计算机执行的Web应用的模板发布方法实施例1的流程图;
图2是本申请的一种计算机执行的Web应用的模板发布方法实施例2的流程图;
图3是本申请的一个具体例子中Rails Web服务器提供的一个配置界面示意图;
图4是本申请的一个具体例子中创建一项新的模板发布时的界面示意图;
图5是本申请的一个具体例子中修改一项模板发布时的界面示意图;
图6是本申请的一个具体例子中第一模板发布页面的页面示意图;
图7是本申请的具体例子中生成的第二模板发布页面的页面示意图;
图8是本申请的一种Web应用的模板发布装置实施例1的结构示意图;
图9是本申请的一种Web应用的模板发布装置实施例2的结构示意图;
图10是本申请的一种Web应用的模板发布***实施例的结构示意图;
图11是本申请的一种Web应用的模板发布***的实际连接的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请可用于众多通用或专用的计算装置环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器装置、包括以上任何装置或设备的分布式计算环境等等。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实现本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本申请的主要思想包括,在本申请实施例中,通过在Rails Web服务器上预置一个用于保存用户配置信息的数据库,该数据库可以保存Web应用名称,模板文件的存放地址以及目标地址等信息,在后续进行Web应用的模板发布时,就可以根据用户的指令或输入直接从所述数据库中获取到相关的发布信息,从SVN服务器中获取到Web应用的待发布的模板文件,并依据数据库中的目标地址信息进行模板发布,运用本实施例所述的方法,就可以在新增Web应用或者大数据量Web应用的情况下,也能够提高Web应用的模板发布效率。
参考图1,示出了本申请一种模板发布的方法实施例1的流程图,可以包括以下步骤:
步骤101:从Rails Web服务器上预置的数据库中获取Web应用名称,以及所述Web应用的模板文件的存放地址信息;
Rails是一种基于Ruby编程语言的Web开发框架,主要用于开发Web应用程序;所述Rails Web服务器可以提供一个预置的数据库,用于保存Web应用名称,以及所述Web应用的模板文件的存放地址;所述存放地址为模板文件在SVN服务器上的保存地址,可以根据存放地址获取到相应的模板文件;
其中,所述存放地址可以包括第一存放地址和第二存放地址,所述第一存放地址可以是SVN服务器上模板文件的相对目录地址,即是在SVN服务器上模板文件共同的根目录;所述第二存放地址为SVN服务器上模板文件的各自不同的子目录;
所述Rails Web服务器以可扩展标记语言XML接口提供配置数据,发布程序所在的服务器及其他用户端都可以从本接口获取到模板发布的相关信息;可扩展标记语言(eXtensible Markup Language,XML),与超文本标记语言(HyperText Mark-up Language,HTML)一样都是依赖于内容的技术,是当前处理结构化文档信息的工具;
步骤102:依据所述Web应用名称生成第一模板发布页面;
依据所述Web应用名称可以从所述预置的数据库中获取对应的配置数据,所述配置数据可以包括应用名称,及模板文件对应的第一存放地址,根据所述配置数据的内容生成了包括多个Web应用名称的第一模板发布页面,其中,每一个Web应用都可以对应一个模板发布的链接;生成第一模板发布页面之后,就使得需要进行模板发布的用户可以根据所述第一模板发布页面上的应用名称选择自己需要发布的Web应用;
步骤103:依据需要进行模板发布的用户在所述第一模板发布页面上选择的Web应用,从所述数据库中获取所述选择的Web应用的模板文件的目标地址;
依据用户在所述第一模板发布页面上选择的Web应用,即是需要发布模板文件的Web应用,从所述预置的数据库中获取到模板文件的第二存放地址,以及对应的目标地址,所述第二存放地址为模板文件在SVN服务器上存放的子目录,模板文件的第一存放地址和第二存放地址共同组成模板文件的唯一存放地址,所述目标地址为模板文件需要发布到何处的地址;
步骤104:根据所述选择的Web应用的模板文件的存放地址,生成包括所述选择的Web应用的模板文件的第二模板发布页面;
根据所述选择的Web应用的模板文件的存放地址,可以在SVN服务器上获取所述选择的Web应用的所有模板文件,将该相关的所有模板文件利用所述第二模板发布页面进行展示,以便于需要进行模板发布的用户进行选择,所述第二模板发布页面上包括获取到的所述相关的所有模板文件;
优选的,所述步骤104具体可以包括:
子步骤A1:根据所述选择的Web应用的模板文件的存放地址,从SVN服务器上获取所述选择的Web应用的所有模板文件;
子步骤A2:生成包括所述选择的Web应用的所有模板文件的第二模板发布页面;
步骤105:依据所述用户在所述第二模板发布页面上选择的模板文件和所述目标地址,进行所述选择的Web应用的模板发布。
根据用户在所述第二模板发布页面上选择的模板文件,即是需要发布的模板文件,以及该模板文件对应的目标地址,进行所述Web应用的模板发布。
在本实施例中,可以看出,进行模板发布的相关信息首先保存在了Rails Web服务器上预置的数据库中,并且在Rails Web服务器上能够以Web页面的方式,使得服务器端的用户可以进行添加、修改和删除等配置操作,所述Rails Web服务器以XML接口提供配置数据,发布程序的服务器及其他用户端都可以从该接口获取到相关信息;在本申请实施例中,主要采用通过XML接口从Rails Web服务器上获取各个Web应用的模板发布信息的方式,在新增Web应用时,只需将和该应用的模板发布相关的信息预置在Rails Web服务器上的数据库中,就可以在后续模板发布时进行调用,当Web应用的数据量较大时,也无需为每一个Web应用编写对应的发布程序,只需从Rails Web服务器获取相关的参数信息,进行相应的模板发布即可,因此,大大提高了模板发布的效率。
参考图2,示出了本申请一种模板发布的方法实施例2的流程图,可以包括以下步骤:
步骤201:在Rails Web服务器提供的配置界面上,接收用户在服务器端输入的Web应用名称,模板文件的第一存放地址、第二存放地址和目标地址;
Rails Web服务器可以提供一个配置界面,并通过所述配置界面接收用户输入的Web应用名称,模板文件的第一存放地址、第二存放地址和目标地址;
需要说明的是,在本实施例中,所述存放地址具体可以包括第一存放地址和第二存放地址,所述第一存放地址为SVN服务器上模板文件共同的根目录,所述第二存放地址为SVN服务器上模板文件的各自不同的子目录;在实际应用中,还可以为Web应用的多个模板文件设置多个存放地址;
步骤202:将所述Web应用名称,模板文件的第一存放地址、第二存放地址和目标地址信息保存至预置的数据库中;
将用户在服务器端输入的Web应用名称,模板文件的第一存放地址、第二存放地址和目标地址信息,保存至预置的数据库中,以便于后续从所述预置的数据库中获取相关信息,其中,Web应用名称,以及模板文件的存放地址和目标信息等,存放在所述数据库之后,随时都可以通过XML接口获取相关的模板发布数据;
步骤203:从所述数据库中获取Web应用名称,以及所述Web应用的模板文件的第一存放地址;
从所述数据库中获取所述Web应用名称,所述Web应用名称可以有多个,同时还要获取所述Web应用的模板文件的第一存放地址;所述第一存放地址用于说明在SVN服务器上模板文件的共同的根目录;
步骤204:依据所述Web应用名称生成第一模板发布页面;
依据获取到的多个Web应用名称生成第一模板发布页面,所述第一模板发布页面上可以包括所述多个Web应用名称,用户可以根据需要选择需要发布模板文件的Web应用名称,以触发模板文件的发布;
步骤205:依据需要进行模板发布的用户在所述第一模板发布页面上选择的Web应用,从所述数据库中获取模板文件的第二存放地址,以及对应的目标地址;
依据用户在所述第一模板发布页面上选择的Web应用,从Rails Web服务器上继续获取相应的模板文件的第二存放地址,并获取所述模板文件需要发布的目标地址;所述第二存放地址用于说明在SVN服务器上模板文件的各自不同的子目录;
步骤206:依据所述第一存放地址和第二存放地址从SVN服务器上获取相关的模板文件;
将所述第一存放地址和第二存放地址进行组合即是模板文件在SVN服务器上具体地址,并从SVN服务器上获取该地址下的模板文件,即是用户选择的Web应用的所有模板文件;
步骤207:依据所述相关的模板文件生成第二模板发布页面;
依据获取到的模板文件,生成第二模板发布页面,所述第二模板发布页面上可以以列表的形式展示所述模板文件的详细信息;
步骤208:依据用户在所述第二模板发布页面上选择的模板文件和目标地址生成模板发布包和发布任务信息;
所述第二模板发布页面上显示的全部模板文件,有时候并不一定都需要进行发布,则此刻可以由用户在所述第二模板发布页面上进行选择,选择需要发布的模板文件,并依据对应的模板地址生成模板发布包和发布任务信息;所述模板发布包包括模板文件和模板地址,所述模板发布包与发布任务信息一一对应;
在实际应用中,还可以在生成模板发布包和发布任务信息之后,首先上传至FTP服务器,或者HTTP服务器,以便于用户端根据实际需要再从所述FTP服务器或HTTP服务器下载相应的发布任务信息;
步骤209:根据用户的指令下载所述发布任务信息,并根据用户针对发布任务信息输入的指令下载相应的模板发布包;
根据用户输入的指令下载相应的发布任务信息,根据发布任务信息中的Web应用名称继续下载相应的模板发布包;
优选的,所述步骤209具体可以包括:
子步骤B1:当存在本地任务列表时,比较所述发布任务信息和本地任务列表的版本顺序;
当服务器上针对该Web应用已经进行过模板发布时,就需要同服务器上保存的本地任务列表进行比较,即是比较下载的模板发布包与本地任务列表的版本顺序;
子步骤B2:根据所述版本顺序下载相应的模板发布包;
按照版本的先后顺序下载相应的模板发布包;
步骤210:将所述模板发布包中的模板文件根据目标地址发布至目标服务器。
将所述模板发布包中的模板文件进行解压,并根据模板文件的目标地址发布至目标服务器上,完成所述选择的Web应用的模板发布。
在本实施例中,在模板发布的过程中,可以将模板文件根据相应的规则生成模板发布包和发布任务信息,最后可以上传到FTP服务器或HTTP服务器,并根据用户的指令进行下载和相应的模板发布;FTP服务器同时提供一个内网和外网的IP,这样不管在本地网络或外地网络的目标服务器上,都可以主动对模板进行发布,网络逻辑结构都为FTP服务器至目标服务器,运用本申请实施例的方法,不仅提高了大数据量Web应用模板发布的效率,并且在模板发布的过程中就不再需要有SSH通道;模板文件以FTP方式传输,稳定且高效;进一步,通过自定义格式的发布任务列表,还可以保证模板发布的完整性。对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
为使本领域技术人员更好地理解本申请,以下结合本申请在实际中应用的具体例子对本申请进一步说明。
步骤C1:在Rails Web服务器提供的配置界面上,接收用户在服务器端输入的至少两个Web应用名称,以及各Web应用的模板文件的第一存放地址、第二存放地址和目标地址;
在本例子中,用户在服务器端输入的信息有多组,包括至少两个Web应用名称,以及各个Web应用的模板文件的地址信息,参考图3,为实际应用中Rails Web服务器提供的一个配置界面,用户可以根据界面上的链接提示,可以进行模板的创建、修改或删除,其中,图3中所述的“Newvmupdate”用于创建一项新的模板发布,所述的“Edit”用于修改/编辑一项模板发布,所述的“Destroy”用于删除一项模板发布;参考图4,为创建一项新的模板发布时的界面示意图,所述“App name”为Web应用的名称,所述“Svn path”为第二存放地址,所述“App path”为模板文件的目标地址,所述“Svnco path”为第一存放地址,用户还可以通过“Note”一项进行自主设置;参考图5,为修改一项模板发布时的界面示意图,可以看出,编辑界面所对应的条目和创建时的条目相同,修改完成后单击“Update”按钮即可;
步骤C2:将所述至少两个Web应用名称,模板文件的第一存放地址、第二存放地址和目标地址信息保存至预置的数据库中;
将步骤C1中获取到用户输入信息全部保存至一个预置的数据库中,以便于后续模板发布的过程中进行调用;
步骤C3:从所述数据库中获取所述至少两个Web应用名称,以及所述至少两个Web应用的模板文件的第一存放地址;
步骤C4:依据所述至少两个Web应用名称生成第一模板发布页面;
在本例子中,具体的,可以根据所述至少两个Web应用名称通过XML接口从所述预置的数据库中获取到相应的XML文件,其中,所述XML文件中的数据即是该Web应用的模板文件的相关信息;可以根据所述XML文件的数据内容,生成第一模板发布页面,在本例子中,所述第一模板发布页面可以参考图6所示;其中,所述XML文件的数据内容可以如下所示:
<vmupdates>
<vmupdate>
<app-name>dating</app-name>
<id type=″integer″>10</id>
<svnco-path>/repos/zhidao/trunk/zhidao/web</svnco-path>
<tgz-name type=″NilClass″>dating-bundle-ear.tgz</tgz-name>
</vmupdate>
<vmupdate>
<app-name>denali</app-name>
<id type=″integer″>4</id>
<svnco-path>/repos/denali/trunk/denali/web</svnco-path>
<tgz-name type=″NilClass″>denali-bundle-ear.tgz</tgz-name>
</vmupdate>
<app-name>et</app-name>
<id type=″integer″>33</id>
<svnco-path>/repos/et/trunk/et/web</svnco-path>
<tgz-name type=″NilClass″>et.ear.tgz</tgz-name>
</vmupdate>
</vmupdates>
步骤C5:依据用户在所述第一模板发布页面上选择的Web应用,从所述数据库中获取模板文件的第二存放地址,以及对应的目标地址;
在本例子中,在获取所述模板文件的第二存放地址以及对应的目标地址时,具体也可以通过XML接口获取相应的XML文件,其中,所述XML文件中的数据即是所述选择的Web应用的模板文件的相关信息,具体的,当用户选择的Web应用名为“list”时,获取到的XML文件中的数据可以如下所示,其中包括模板文件的第二存放地址和对应的目标地址信息:
-<vmupdates>
-<vmupdate>
<app-name>list</app-name>
<app-path>/hesper.ear/hesper-bundle-war.war/common</app-path>
<id type=″integer″>8</id>
<note>list common</note>
<svn-path>/common/src/webroot</svn-path>
<svnco-path>/repos/hesper/trunk/hesper/web</svnco-path>
</vmupdate>
-<vmupdate>
<app-name>list</app-name>
<app-path>/hesper.ear/hesper-bundle-war.war/browse</app-path>
<id type=″integer″>9</id>
<note>list browse</note>
<svn-path>/browse/src/webroot</svn-path>
<svnco-path>/repos/hesper/trunk/hesper/web</svnco-path>
</vmupdate>
</vmupdates>
步骤C6:依据所述第一存放地址和第二存放地址从SVN服务器上获取相关的模板文件;
步骤C7:依据所述相关的模板文件生成第二模板发布页面;
在本例子中,生成的第二模板发布页面可以参考图7所示;
步骤C8:依据用户在所述第二模板发布页面上选择的模板文件和目标地址生成模板发布包和发布任务列表;
在图7所示的第二模板发布页面上,用户需要根据实际的发布情况进行选择,选择需要的模板文件进行发布;
发布任务列表在本例子中,具体可以如下所示:
20090108180112:list:20090108180112_1ist.tar:hesper.ear.tgz
20090109110920:denali:20090109110920_denali.tar:denali-bundle-ear.tgz
或者,所述发布任务列表也可以通过接口的方式提供;
步骤C9:将所述模板发布包和发布任务列表上传至FTP服务器;
步骤C10:根据用户的指令从FTP服务器上下载所述发布任务列表,并根据用户针对发布任务列表输入的指令下载相应的模板发布包;
根据用户指令下载了所述发布任务列表,并根据用户针对发布任务列表输入的指令,下载相应的模板发布包;
其中,一个模板发布包在实际中对应发布任务列表中的一行信息;在实际中,用户将FTP服务器上的发布任务列表下载之后,所述发布任务列表中会存在多个Web应用的发布信息,则用户根据需要选择当前需要发布的任务即可;
步骤C11:将所述模板发布包中的模板文件根据目标地址发布至目标服务器。
将所述模板发布包中的模板文件根据目标地址发布至目标服务器。
综上所述,在本申请实施例中,主要是通过将Web应用相关的模板发布文件及其他发布信息,都在Rails Web服务器上的预置数据库中进行了存储,并且Rails Web服务器可以提供一个配置界面,新增Web应用的模板发布任务时,只需要在配置界面上进行添加相关的模板发布信息即可,通过预置数据库中保存的模板发布的相关信息,可以看出,运用本申请实施例,可以在Web应用的数据量比较大的情况下,提高Web应用模板发布的效率。
与上述本申请一种模板发布的方法实施例1所提供的方法相对应,参见图8,本申请还提供了一种Web应用的模板发布的装置实施例1,在本实施例中,该装置具体可以包括:
第一获取模块801,用于从Rails Web服务器上预置的数据库中获取Web应用名称,以及所述Web应用的模板文件的存放地址信息;
第一生成模块802,用于依据所述Web应用名称生成第一模板发布页面;
第二获取模块803,用于依据需要进行模板发布的用户在所述第一模板发布页面上选择的Web应用,从所述数据库中获取所述选择的Web应用的模板文件的目标地址;
第二生成模块804,用于根据所述选择的Web应用的模板文件的存放地址,生成包括所述选择的Web应用的模板文件的第二模板发布页面;
发布模块805,用于依据所述用户在所述第二模板发布页面上选择的模板文件和所述目标地址,进行所述选择的Web应用的模板发布。
本实施例中,采用Rails Web服务器中预置的数据库存放模板发布的配置信息,数据安全、维护简单,并且,所述第一获取模块901通过XML接口从数据库中获取数据,使得本实施例的方法能够使用统一格式的数据。
可以看出,进行模板发布的相关信息首先保存在了Rails Web服务器上预置的数据库中,并且在Rails Web服务器上能够以Web方式进行添加、修改和删除等配置操作,运用本申请实施例的装置,在新增Web应用时,只需将和该应用的模板发布相关的信息预置在Rails Web服务器上的数据库中,就可以在后续模板发布时进行调用,当Web应用的数据量较大时,也无需为每一个Web应用编写对应的发布程序,只需从Rails Web服务器获取相关的参数信息,进行相应的模板发布即可,因此,大大提高了模板发布的效率,还可以减少维护成本。
与上述本申请一种模板发布的方法实施例2所提供的方法相对应,参见图9,本申请还提供了一种Web应用的模板发布的装置的优选实施例2,在本实施例中,该装置具体可以包括:
第一获取模块901,用于从Rails Web服务器上预置的数据库中通过可扩展标记语言XML接口获取至少两个Web应用名称,以及所述至少两个Web应用的模板文件的第一存放地址;
第一生成模块902,用于依据所述Web应用名称生成第一模板发布页面;
第二获取模块903,用于依据需要进行模板发布的用户在所述第一模板发布页面上选择的Web应用,从所述数据库中获取所述选择的Web应用的模板文件的目标地址;
获取子模块904,用于根据所述选择的Web应用的模板文件的存放地址,从SVN服务器上获取所述选择的Web应用的所有模板文件;
第一生成子模块905,用于生成包括所述选择的Web应用的所有模板文件的第二模板发布页面。
第二生成子模块906,用于依据需要进行模板发布的用户在所述第二模板发布页面上选择的模板文件和目标地址,生成模板发布包和发布任务信息;
所述发布任务信息中的一行数据对应一个所述模板发布包;
第一下载子模块907,用于根据所述用户的指令下载所述发布任务信息,并根据所述用户针对所述发布任务信息输入的指令下载相应的模板发布包;
发布子模块908,用于将所述模板发布包中的模板文件根据目标地址发布至目标服务器;
具体的,所述发布子模块908,可以包括:
比较子模块,用于当存在本地任务列表时,比较所述发布任务文件和本地任务列表的版本顺序;
第二下载子模块,用于根据所述版本顺序下载相应的模板文件。
在本实施例中,运用本实施例所述的装置进行模板发布的过程中,可以由所述第二生成子模块将模板文件根据相应的规则生成模板发布包和发布任务信息,然后再根据用户的指令进行下载并发布模板文件;具体的,可以首先将所述模板发布包和发布任务信息上传到FTP服务器或HTTP服务器,并根据用户的指令进行下载和相应的模板发布;FTP服务器同时提供一个内网和外网的IP,这样不管在本地网络或外地网络的目标服务器上,都可以主动对模板进行发布,网络逻辑结构都为FTP服务器至目标服务器,运用本申请实施例的方法,不仅提高了大数据量Web应用模板发布的效率,并且在模板发布的过程中就不再需要有SSH通道;模板文件以FTP方式传输,稳定且高效;进一步,通过自定义格式的发布任务列表,还可以保证模板发布的完整性。
与上述本申请一种Web应用的模板发布方法和装置实施例相对应,参见图10,本申请还提供了一种Web应用的模板发布***的实施例,在本实施例中,该***具体可以包括:
Rails Web服务器1001,用于在预置的数据库中保存Web应用名称、模板文件的存放地址和目标地址信息;
发布服务器1002,用于从Rails Web服务器上预置的数据库中获取Web应用名称,以及所述Web应用的模板文件的存放地址;依据所述Web应用名称生成第一模板发布页面,并依据需要进行模板发布的用户在所述第一模板发布页面上选择的Web应用,从所述数据库中获取所述选择的Web应用的模板文件的目标地址;根据所述选择的Web应用的模板文件的存放地址,生成包括所述选择的Web应用的模板文件的第二模板发布页面;并依据所述用户在所述第二模板发布页面上选择的模板文件和所述目标地址,进行所述选择的Web应用的模板发布。
具体的,所述Rails Web服务器还可以包括:
接收模块,用于在Rails Web服务器提供的配置界面上,接收用户输入的Web应用名称,模板文件的存放地址和目标地址;
保存模块,用于将所述Web应用名称,模板文件的存放地址和目标地址信息保存至预置的数据库中。
同时,参考图11所示,为实际应用中,一个Web应用模板发布***的连接示意图。需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于***类实施例而言,由于其与方法和装置实施例基本相似,所以描述的比较简单,相关之处参见方法和装置实施例的部分说明即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本申请所提供的一种模Web应用的模板发布方法、装置及***进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (12)
1.一种计算机执行的Web应用的模板发布方法,其特征在于,该方法包括:
从Rails Web服务器上预置的数据库中获取Web应用名称,以及所述Web应用的模板文件的存放地址信息;所述从Rails Web服务器上预置的数据库中获取Web应用名称,具体为:从Rails Web服务器上预置的数据库中通过可扩展标记语言XML接口获取至少两个Web应用名称;
依据所述Web应用名称生成第一模板发布页面,并依据需要进行模板发布的用户在所述第一模板发布页面上选择的Web应用,从所述数据库中获取所述选择的Web应用的模板文件的目标地址;
根据所述选择的Web应用的模板文件的存放地址,生成包括所述选择的Web应用的模板文件的第二模板发布页面;
依据所述用户在所述第二模板发布页面上选择的模板文件和所述目标地址,进行所述选择的Web应用的模板发布。
2.如权利要求1所述的方法,其特征在于,所述从Rails Web服务器上预置的数据库中获取Web应用名称,以及所述Web应用的模板文件的存放地址之前,还包括:
在Rails Web服务器提供的配置界面上,接收用户在服务器端输入的Web应用名称,模板文件的存放地址和目标地址信息;
将所述Web应用名称,模板文件的存放地址和目标地址信息保存至预置的数据库中。
3.如权利要求1所述的方法,其特征在于,所述依据所述选择的Web应用的模板文件的存放地址,生成包括所述选择的Web应用的模板文件的第二模板发布页面,具体包括:
根据所述选择的Web应用的模板文件的存放地址,从SVN服务器上获取所述选择的Web应用的所有模板文件;
生成包括所述选择的Web应用的所有模板文件的第二模板发布页面。
4.如权利要求1所述的方法,其特征在于,所述依据所述用户在所述第二模板发布页面上选择的模板文件和所述目标地址,进行所述选择的Web应用的模板发布,具体包括:
依据需要进行模板发布的用户在所述第二模板发布页面上选择的模板文件和目标地址,生成模板发布包和发布任务信息;
根据用户的指令下载所述发布任务信息,并根据所述用户针对所述发布任务信息输入的指令下载相应的模板发布包;
将所述模板发布包中的模板文件根据目标地址发布至目标服务器。
5.如权利要求4所述的方法,其特征在于,所述根据所述用户针对所述发布任务信息输入的指令下载相应的模板发布包,具体为:
当存在本地任务列表时,比较所述发布任务信息和本地任务列表的版本顺序;
根据所述版本顺序下载相应的模板发布包。
6.如权利要求1所述的方法,其特征在于,所述存放地址信息包括第一存放地址和第二存放地址,所述第一存放地址为SVN服务器上模板文件共同的根目录,所述第二存放地址为SVN服务器上模板文件的各自不同的子目录。
7.如权利要求4所述的方法,其特征在于,所述发布任务信息以发布任务列表的形式进行维护。
8.一种Web应用的模板发布装置,其特征在于,包括:
第一获取模块,用于从Rails Web服务器上预置的数据库中获取Web应用名称,以及所述Web应用的模板文件的存放地址信息;所述第一获取模块,具体用于从Rails Web服务器上预置的数据库中通过可扩展标记语言XML接口获取至少两个Web应用名称,以及所述Web应用的模板文件的存放地址信息;
第一生成模块,用于依据所述Web应用名称生成第一模板发布页面;
第二获取模块,用于依据用户在所述第一模板发布页面上选择的Web应用,从所述数据库中获取所述选择的Web应用的模板文件的目标地址;
第二生成模块,用于根据所述选择的Web应用的模板文件的存放地址,生成包括所述选择的Web应用的模板文件的第二模板发布页面;
发布模块,用于依据所述用户在所述第二模板发布页面上选择的模板文件和所述目标地址,进行所述选择的Web应用的模板发布。
9.如权利要求8所述的装置,其特征在于,所述第二生成模块具体包括:
获取子模块,用于根据所述选择的Web应用的模板文件的存放地址,从SVN服务器上获取所述选择的Web应用的所有模板文件;
第一生成子模块,用于生成包括所述选择的Web应用的所有模板文件的第二模板发布页面。
10.如权利要求8所述的装置,其特征在于,所述发布模块具体包括:
第二生成子模块,用于依据需要进行模板发布的用户在所述第二模板发布页面上选择的模板文件和目标地址,生成模板发布包和发布任务信息;
第一下载子模块,用于根据用户的指令下载所述发布任务信息,并根据所述用户针对所述发布任务信息输入的指令下载相应的模板发布包;
发布子模块,用于将所述模板发布包中的模板文件根据目标地址发布至目标服务器。
11.如权利要求10所述的装置,其特征在于,所述发布子模块,具体包括:
比较子模块,用于当存在本地任务列表时,比较所述发布任务信息和本地任务列表的版本顺序;
第二下载子模块,用于根据所述版本顺序下载相应的模板文件。
12.一种Web应用的模板发布***,其特征在于,包括:
Rails Web服务器,用于在预置的数据库中保存Web应用名称、模板文件的存放地址和目标地址信息;所述Rails Web服务器还包括:接收模块,用于在Rails Web服务器提供的配置界面上,接收用户输入的Web应用名称,模板文件的存放地址和目标地址;保存模块,用于将所述Web应用名称,模板文件的存放地址和目标地址信息保存至预置的数据库中;
发布服务器,用于从Rails Web服务器上预置的数据库中获取Web应用名称,以及所述Web应用的模板文件的存放地址;依据所述Web应用名称生成第一模板发布页面,并依据需要进行模板发布的用户在所述第一模板发布页面上选择的Web应用,从所述数据库中获取所述选择的Web应用的模板文件的目标地址;根据所述选择的Web应用的模板文件的存放地址,生成包括所述选择的Web应用的模板文件的第二模板发布页面;并依据所述用户在所述第二模板发布页面上选择的模板文件和所述目标地址,进行所述选择的Web应用的模板发布。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101178481A CN101504669B (zh) | 2009-03-06 | 2009-03-06 | 一种Web应用的模板发布方法、装置及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101178481A CN101504669B (zh) | 2009-03-06 | 2009-03-06 | 一种Web应用的模板发布方法、装置及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101504669A CN101504669A (zh) | 2009-08-12 |
CN101504669B true CN101504669B (zh) | 2011-08-24 |
Family
ID=40976915
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009101178481A Expired - Fee Related CN101504669B (zh) | 2009-03-06 | 2009-03-06 | 一种Web应用的模板发布方法、装置及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101504669B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9519726B2 (en) * | 2011-06-16 | 2016-12-13 | Amit Kumar | Surfacing applications based on browsing activity |
CN103812894B (zh) * | 2012-11-12 | 2017-09-01 | 中国石油天然气集团公司 | 一种实时监控***中web发布文件版本的管理方法 |
CN106162302B (zh) * | 2015-04-22 | 2020-08-18 | Tcl科技集团股份有限公司 | 一种Launcher主界面的编排方法、装置及智能电视 |
CN106682057A (zh) * | 2016-07-21 | 2017-05-17 | 深圳奇迹智慧网络有限公司 | 一种多维度数据可视化呈现方法 |
CN106326482A (zh) * | 2016-08-31 | 2017-01-11 | 江苏中威科技软件***有限公司 | 一种大数据可视化采集分析及文件转换***和方法 |
CN108958900A (zh) * | 2017-05-18 | 2018-12-07 | 腾讯科技(深圳)有限公司 | 一种任务发布方法和任务发布*** |
CN107436764A (zh) * | 2017-07-07 | 2017-12-05 | 福建天泉教育科技有限公司 | 代码模板管理方法、存储介质 |
CN108376153A (zh) * | 2018-02-07 | 2018-08-07 | 厦门集微科技有限公司 | 一种网络页面制作方法及装置 |
CN108763180A (zh) * | 2018-05-15 | 2018-11-06 | 福建省海洋预报台 | 一种海洋预警报产品制作方法及*** |
CN109885299B (zh) * | 2019-01-23 | 2024-05-03 | 平安科技(深圳)有限公司 | 模型开发中的模板处理方法、装置、计算机设备和存储介质 |
CN110471650B (zh) * | 2019-07-11 | 2022-08-09 | 新华三大数据技术有限公司 | 一种Web Service发布方法、装置及服务器 |
CN112230919A (zh) * | 2020-10-16 | 2021-01-15 | 蜂助手股份有限公司 | 页面模板化配置发布方法、***、存储介质及服务器 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101178740A (zh) * | 2007-12-19 | 2008-05-14 | 胡绍珠 | 搜索信息发布方法 |
CN101299679A (zh) * | 2008-06-13 | 2008-11-05 | 南京邮电大学 | 泛在网络业务动态重配置方法 |
-
2009
- 2009-03-06 CN CN2009101178481A patent/CN101504669B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101178740A (zh) * | 2007-12-19 | 2008-05-14 | 胡绍珠 | 搜索信息发布方法 |
CN101299679A (zh) * | 2008-06-13 | 2008-11-05 | 南京邮电大学 | 泛在网络业务动态重配置方法 |
Non-Patent Citations (1)
Title |
---|
赵连军.基于模板技术的Web信息发布模型.《航空制造技术》.2005,(第6期),论文第86页左栏第7行-87页右栏倒数第1行,图3-4. * |
Also Published As
Publication number | Publication date |
---|---|
CN101504669A (zh) | 2009-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101504669B (zh) | 一种Web应用的模板发布方法、装置及*** | |
CN111027921B (zh) | 一种业务处理方法、装置及电子设备和存储介质 | |
KR101105177B1 (ko) | 사용자 인터페이스 컨텐츠 데이터용 데이터 컨테이너 | |
CN103092608B (zh) | 采集设备信息的客户端的生成及运行方法、服务器和设备 | |
CN104820602A (zh) | 软件包发布方法、装置及*** | |
CN102946415B (zh) | 一种移动终端本地应用的实现方法和装置 | |
CN103412768A (zh) | 一种基于脚本程序自动化部署Zookeeper集群的方法 | |
CN105373390A (zh) | 面向oem的在线软件定制打包发布的方法和装置 | |
CN104516738A (zh) | 一种app应用的开发与发布一体化实现方法 | |
CN102109989A (zh) | 一种控制浏览器缓存的方法、装置和*** | |
CN104965726A (zh) | 配置更新方法、装置及*** | |
CN1591445A (zh) | 在提供***中定义资源配置简表的一般方法 | |
CN103297275A (zh) | Web网管客户端模块动态发现与加载的***及方法 | |
CN101944032A (zh) | 一种微件更新的方法及客户端、服务器及*** | |
CN102395123B (zh) | 管理服务器,以及移动终端的应用程序管理方法 | |
CN105487909B (zh) | 一种减少电力设备固件升级量的方法 | |
CN103345410A (zh) | 移动作业业务客制化界面实现方法和*** | |
CN104572092A (zh) | 网页制作方法与装置 | |
CN102129376B (zh) | 一种上传和下载软件更新信息的方法、设备和*** | |
CN109343858A (zh) | 一种基于服务端渲染的自动建站容器部署***及其工作方法 | |
CN107122627A (zh) | 基于云计算的数字出版*** | |
DE602005005435T2 (de) | System und Verfahren zur Kommunikationsverwaltung von Komponentenanwendungen | |
CN101876998B (zh) | 一种实现数据编辑的方法和*** | |
CN101482883B (zh) | 一种特征字库在线更新的实现方法及*** | |
CN101751258B (zh) | 智能卡与智能卡应用的开发方法、开发***及部署方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1133721 Country of ref document: HK |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: GR Ref document number: 1133721 Country of ref document: HK |
|
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110824 Termination date: 20210306 |
|
CF01 | Termination of patent right due to non-payment of annual fee |