CN102147797A - 一种内容管理***中管理元素文件的方法及装置 - Google Patents
一种内容管理***中管理元素文件的方法及装置 Download PDFInfo
- Publication number
- CN102147797A CN102147797A CN2010101085742A CN201010108574A CN102147797A CN 102147797 A CN102147797 A CN 102147797A CN 2010101085742 A CN2010101085742 A CN 2010101085742A CN 201010108574 A CN201010108574 A CN 201010108574A CN 102147797 A CN102147797 A CN 102147797A
- Authority
- CN
- China
- Prior art keywords
- sign
- element file
- file
- template
- files
- 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.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及网站技术,特别涉及一种CMS中管理元素文件的方法及装置,该方法为:接收用以提取元素文件的指令,所述指令中携带所述元素文件的标识;根据所述元素文件的标识及预设的基于各元素文件的标识之间的邻接关系来表征的各元素文件之间的调用关系,获取与该元素文件存在调用关系的其他元素文件的标识;将获得的所述其他元素文件的标识,以预设形式进行呈现。这样,可以通过查看特定元素文件的调用关系来分析该元素文件的性能从而进行优化,并限制该元素文件可调用模板的数量和深度,以保证元素文件的响应速度,从而有效避免发生元素文件调用错误,保证网站正常运行。本申请同时公开了一种CMS中管理元素文件的装置。
Description
技术领域
本申请涉及网站技术,特别涉及一种内容管理***中管理元素文件的方法及装置。
背景技术
目前,各网站通常采用内容管理***(Content Management System,CMS)对网站内使用的页面和模板进行设计,从而加快网站开发的速度,以及减少开发的成本,其中网站内使用的页面和模板统称为管理元素。
所谓页面,即是指一个完整的、可供用户访问的html页面。一个页面可以调用若干个模板。
所谓模板,即是指一段可被调用的代码,调用模板的可以是某个页面或是另一个模板。例如,在页面中呈现的可供用户选择的菜单。
以管理元素中的模板为例进行说明,模板的调用方式分为调用和被调用两种,其中,调用又可分为直接调用、递归调用、环路调用和自调用;被调用又可分为直接被调用和递归被调用。
例如,直接调用和直接被调用是指:页面A通过代码引用了模板B,则称A直接调用B,或B被A直接调用。
递归调用和递归被调用是指:页面A通过代码引用了模板B,而模板B又引用了模板C,则称页面A递归调用了模板C,或模板C被A递归调用。
环路调用是指:模板A调用了模板B,模板B调用了模板C,模板C反过来又调用了模板A。
自调用是指:模板A调用了模板A自身。
基于上述原理,技术人员往往会使用大量的页面、模板来构建网站,而大量的页面、模板之间又存在错综复杂的调用关系,例如,多层递归调用、环路调用等等,所有的页面和模板的调用关系总体上构成了一张有向无环图;那么,这些调用关系会为技术人员在分析网站性能等方面提供重要的参考依据。
而现有技术下,各页面、模板之间的调用关系仅仅是在设置页面、模板时自然形成的,并没有进行适当的整理、归纳和控制。这样,当某一模板A(如网站头、尾、导航栏、功能模块等)被较多页面或其他模板引用时,对模板A的修改将变得十分困难,因为,在传统技术下无法获知修改模版A会影响到哪些页面和模板的使用,最终,导致技术人员无法对修改模板A所带来的技术影响进行相应控制,从而,在很大程度上容易造成网站页面、模板的调用错误,从而影响网站的正常运行。
发明内容
本申请实施例提供一种内容管理***中管理元素文件的方法及装置,用以避免各元素文件之间发生调用错误,保证网站的正常运行。
本申请实施例提供的具体技术方案如下:
一种内容管理***中管理元素文件的方法,包括:
接收用以提取元素文件的指令,所述指令中携带所述元素文件的标识;
根据所述元素文件的标识及预设的基于各元素文件的标识之间的邻接关系来表征的各元素文件之间的调用关系,获取与该元素文件存在调用关系的其他元素文件的标识;
将获得的所述其他元素文件的标识,以预设形式进行呈现。
一种内容管理***中管理元素文件的装置,包括:
通信单元,用于接收用以提取元素文件的指令,所述指令中携带所述元素文件的标识;
处理单元,用于根据所述元素文件的标识及预设的基于各元素文件的标识之间的邻接关系来表征的各元素文件之间的调用关系,获取与该元素文件存在调用关系的其他元素文件的标识;
呈现单元,用于将获得的所述其他元素文件的标识,以预设形式进行呈现。
综上所述,本申请实施例中,在编辑元素文件时,将该元素文件的调用关系以特定的数据结构存放在数据库中,并在用户提取该元素文件时,将与该元素文件存在调用关系的其他元素文件通过预设方式进行呈现,这样,管理人员可以在较短时间内确定对提取的元素文件进行编辑,会对各元素文件之间的调用关系造成何种影响;以及管理人员可以通过查看特定元素文件的调用关系来分析该元素文件的性能从而进行优化,并可以限制该元素文件可调用模板的数量和深度,以保证元素文件的响应速度,从而有效避免发生元素文件调用错误,保证网站正常运行。
附图说明
图1为本申请实施例中模板管理装置功能结构图;
图2为本申请实施例中显示页面的模板调用关系流程图;
图3为本申请实施例中显示模板的模板调用关系流程图。
具体实施方式
在使用CMS***对网站的元素文件(包括页面和模板)进行管理时,为了有效避免发生模板调用错误,保证网站正常运行,本申请实施例中,以指定的数据结构记录CMS***内各元素文件(如,页面或模板)之间的调用关系,例如,在数据库中建立“模板关系表”,该模板关系表基于各模板之间的调用关系建立而成。用户编辑(包括新建和修改)某一元素文件时,在代码中引用了若干个模板,每个模板都有一唯一标识,那么,用户通过这些模板标识,将当前编辑的元素文件直接调用的模板进行记录,本申请实施例中,以邻接表的形式对当前编辑的元素文件直接调用的模板进行记录,如,页面A->模板B,表示页面A直接调用模板B;而模板A->模板C表示模板A直接调用模板C。进一步地,在修改元素文件的代码时,可以只记录新增的模板调用关系,而不会对已存在的模板调用关系进行重新记录,以达到增量更新模板关系表的目的,从而减少数据库读取/输入操作所消耗的***资源。
另一方面,针对当前编辑的元素文件的模板调用关系,用户可以将其以特定的存储形式进行呈现,如,数据库、XML文件或其它形式的配置文件等等,本实施例中,仅以数据库为例进行说明。
基于上述原理,在模板关系表建立后,当用户提取出某元素文件时,为了避免用户之后执行的操作引起模板调用错误,***应当对模板关系表进行扫描,获得与上述元素文件之间存在直接或间接调用关系的其他元素文件的信息,并将其呈现给用户,以提示用户在提取上述元素文件后,若对其进行编辑,会对哪些元素文件造成影响。进一步地,为了避免用户忘记或遗漏了上述提示信息,***还可以对元素文件进行相应标记。
具体为:接收用以提取元素文件的指令,所述指令中携带所述元素文件的标识;根据所述元素文件的标识及预设的各元素文件之间的调用关系,获取与该元素文件存在调用关系的其他元素文件的标识;将获得的所述其他元素文件的标识,以预设形式进行呈现。
其中,所述元素文件为网页页面或/和网页页面内嵌入的模板。
下面结合附图对本申请优选的实施方式进行详细说明。
参阅图1所示,本申请实施例中,用于对CMS***中的元素文件进行管理的管理装置包括通信单元10、处理单元11和呈现单元12,其中,
通信单元10,用于接收用以提取元素文件的指令,所述指令中携带所述元素文件的标识;
处理单元11,用于根据所述元素文件的标识及预设的基于各元素文件的标识之间的邻接关系来表征的各元素文件之间的调用关系,获取与该元素文件存在调用关系的其他元素文件的标识;
呈现单元12,用于将获得的所述其他元素文件的标识,以预设形式进行呈现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
基于上述原理,参阅图2所示,本实施例中,当用户提取的元素文件是页面时,模板管理装置显示该页面的模板调用关系的详细流程如下:
步骤200:接收用户的页面提取指令,该页面提取指令中包含元素文件的标识,本实施例中,假设用户指示提取的页面的标识为页面A。
步骤210:在模板调用关系表中进行扫描,获取页面A直接调用的模板的标识。
例如,模板关系表中记载了以下调用关系:页面A->模板B,则模板B即是页面A直接调用的模板。
步骤220:在模板调用关系表中继续扫描,获取页面A递归调用(即间接调用)的模板的标识。
例如,模板关系表中记载了以下调用关系:模板B->模板C,模板C->模板D,模板D->模板E,则模板C、模板D和模板E均为页面A间接调用的模板。
在获取递归调用的模板的标识时,可以采用广度优先遍历算法,或是深度优先遍历算法两种形式获取所有递归调用的模板关系,下同,不再赘述。
步骤230:将页面A直接调用和/或递归调用的模板的标识,按照设定的数据结构进行呈现。
本实施例中,较佳地,以链表或示图的形式呈现页面A直接调用和递归调用的模板的标识,以哈希链表为例,可以以如下方式呈现:页面A-->模板B、模板C、模板D。
区别于上述实施例,参阅图3所示,本实施例中,当用户提取的元素文件是模板时,模板管理装置显示该模板的模板调用关系的详细流程如下:
步骤300:接收用户的模板提取指令,该模板提取指令中包含模板的标识,本实施例中,假设用户指示提取的模板的标识为模板E。
步骤310:在模板调用关系表中扫描,获取模板E直接调用和/或递归调用的模板的标识。
步骤320:在模板调用关系表中继续扫描,获取直接调用和/或递归调用模板E的模板的标识。
当然,若用户提取的是底层模板,则也可以不执行步骤310,而直接执行步骤320,本实施例仅以两者都执行的情况为例,在此不再赘述。
步骤330:将步骤310和步骤320中获取的与模板E存在调用关系的所有模板的标识,按照设定的数据结构进行呈现。
本实施例中,较佳地,以链表或示图的形式呈现模板E直接调用和递归调用的模板的标识,以哈希链表为例,可以以如下方式呈现:模板E-->模板B、模板C、页面A。
在实际应用中,环路调用和自调用属于设置错误的情况,两者都会造成无限循环,因此,在模板调用关系表设置初期,应在设置完毕后,对整个模板关系表进行检测,判断是否存在环路调用和自调用的设置情况,若是,应即时修改。另一方面,为了进一步保证模板调用关系表的准确性,在上述步骤200~步骤230和步骤300~步骤330执行完毕后,在呈现页面A和模板E的模板调用关系之前,先对该模板调用关系进行检验,判断是否不存在环路调用或/和自调用的设置,若是,则将模板调用关系呈现给用户,否则,提示用户进行相应修改,如,以示图的形式呈现将环路调用或/和自调用的模板的路径呈现给用户。
综上所述,采用上述技术方案,可以在编辑元素文件时,将该元素文件的调用关系以特定的数据结构存放在数据库中,并在用户提取该元素文件时,将与该元素文件存在调用关系的其他元素文件通过预设方式进行呈现,这样,管理人员可以在较短时间内确定对提取的元素文件进行编辑,会对各元素文件之间的调用关系造成何种影响;以及管理人员可以通过查看特定元素文件的调用关系来分析该元素文件的性能从而进行优化,并可以限制该元素文件可调用模板的数量和深度,以保证元素文件的响应速度,从而有效避免发生元素文件调用错误,减少对***资源的消耗,保证网站正常运行。
另一方面,管理人员可以通过查看各元素文件之间的调用关系,确定哪一部分元素文件的复用率高,从而对这部分元素文件进行相应优化,以及确定哪一部分元素文件的复用率较低,从而对这部分元素文件进行下线(如,修改、删除等等)。
本领域内的技术人员应明白,本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请中的实施例进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请实施例中的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请中的实施例也意图包含这些改动和变型在内。
Claims (9)
1.一种内容管理***中管理元素文件的方法,其特征在于,包括:
接收用以提取元素文件的指令,所述指令中携带所述元素文件的标识;
根据所述元素文件的标识及预设的基于各元素文件的标识之间的邻接关系来表征的各元素文件之间的调用关系,获取与该元素文件存在调用关系的其他元素文件的标识;
将获得的所述其他元素文件的标识,以预设形式进行呈现。
2.如权利要求1所述的方法,其特征在于,根据所述元素文件的标识及所述调用关系,获取与该元素文件存在调用关系的其他元素文件的标识,包括:
根据所述元素文件的标识及所述调用关系,获取该元素文件直接调用和/或递归调用的其他元素文件的标识;或/和
根据所述元素文件的标识及所述调用关系,获取直接调用和/或递归调用该元素文件的其他元素文件的标识。
3.如权利要求1所述的方法,其特征在于,所述元素文件为网页页面或/和网页页面内嵌入的模板。
4.如权利要求1、2或3所述的方法,其特征在于,将获得的所述其他元素文件的标识,以预设形式进行呈现之前,还包括:
根据所述调用关系对获得的所述其他元素文件的标识进行检测,在判断出所述其他元素文件之间存在非法调用关系时,对存在非法调用关系的元素文件进行修改。
5.如权利要求1、2或3所述的方法,其特征在于,所述以预设形式进行呈现包括:以链表或示图的方式进行呈现。
6.一种内容管理***中管理元素文件的装置,其特征在于,包括:
通信单元,用于接收用以提取元素文件的指令,所述指令中携带所述元素文件的标识;
处理单元,用于根据所述元素文件的标识及预设的基于各元素文件的标识之间的邻接关系来表征的各元素文件之间的调用关系,获取与该元素文件存在调用关系的其他元素文件的标识;
呈现单元,用于将获得的所述其他元素文件的标识,以预设形式进行呈现。
7.如权利要求6所述的装置,其特征在于,所述处理单元根据所述元素文件的标识及所述调用关系,获取该元素文件直接调用和/或递归调用的其他元素文件的标识;或/和根据所述元素文件的标识及所述调用关系,获取直接调用和/或递归调用该元素文件的其他元素文件的标识。
8.如权利要求6所述的装置,其特征在于,所述处理单元在呈现单元将获得的所述其他元素文件的标识,以预设形式进行呈现之前,根据所述调用关系对获得的所述其他元素文件的标识进行检测,在判断出所述其他元素文件之间存在非法调用关系时,对存在非法调用关系的元素文件进行修改。
9.如权利要求6、7或8所述的装置,其特征在于,所述呈现单元以链表或示图的方式对获得的所述其他元素文件的标识进行呈现。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101085742A CN102147797A (zh) | 2010-02-08 | 2010-02-08 | 一种内容管理***中管理元素文件的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101085742A CN102147797A (zh) | 2010-02-08 | 2010-02-08 | 一种内容管理***中管理元素文件的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102147797A true CN102147797A (zh) | 2011-08-10 |
Family
ID=44422063
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010101085742A Pending CN102147797A (zh) | 2010-02-08 | 2010-02-08 | 一种内容管理***中管理元素文件的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102147797A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107092491A (zh) * | 2017-04-21 | 2017-08-25 | 网宿科技股份有限公司 | 一种配置加载方法和*** |
CN107291333A (zh) * | 2017-06-22 | 2017-10-24 | 环球智达科技(北京)有限公司 | 终端界面导航信息的处理方法 |
CN108829885A (zh) * | 2018-06-27 | 2018-11-16 | 珠海市君天电子科技有限公司 | 页面生成方法、装置、服务器、电子设备及存储介质 |
CN111158746A (zh) * | 2019-12-31 | 2020-05-15 | 中国银行股份有限公司 | 一种调用关系的获取方法及装置 |
CN111290739A (zh) * | 2020-02-10 | 2020-06-16 | 腾讯科技(深圳)有限公司 | 文件引用策略的确定方法、装置、设备及存储介质 |
-
2010
- 2010-02-08 CN CN2010101085742A patent/CN102147797A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107092491A (zh) * | 2017-04-21 | 2017-08-25 | 网宿科技股份有限公司 | 一种配置加载方法和*** |
CN107291333A (zh) * | 2017-06-22 | 2017-10-24 | 环球智达科技(北京)有限公司 | 终端界面导航信息的处理方法 |
CN108829885A (zh) * | 2018-06-27 | 2018-11-16 | 珠海市君天电子科技有限公司 | 页面生成方法、装置、服务器、电子设备及存储介质 |
CN111158746A (zh) * | 2019-12-31 | 2020-05-15 | 中国银行股份有限公司 | 一种调用关系的获取方法及装置 |
CN111158746B (zh) * | 2019-12-31 | 2024-01-23 | 中国银行股份有限公司 | 一种调用关系的获取方法及装置 |
CN111290739A (zh) * | 2020-02-10 | 2020-06-16 | 腾讯科技(深圳)有限公司 | 文件引用策略的确定方法、装置、设备及存储介质 |
CN111290739B (zh) * | 2020-02-10 | 2022-02-22 | 腾讯科技(深圳)有限公司 | 文件引用策略的确定方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109840206B (zh) | 数据测试方法、装置、终端及存储介质 | |
US7721253B2 (en) | Software development support system | |
CN111639287A (zh) | 一种页面处理方法、装置、终端设备及可读存储介质 | |
US20090125826A1 (en) | Systems and methods providing a declarative screen model for automated testing | |
CN111241454A (zh) | 一种生成网页代码的方法、***和装置 | |
RU2008108992A (ru) | Указание, задание и обнаружение параметров документов электронных таблиц | |
CN111400899A (zh) | 一种用于电缆敷设建模的处理方法、***和存储介质 | |
CN110287098A (zh) | 自动创建测试脚本方法、服务器及计算机可读存储介质 | |
CN102541740A (zh) | 一种基于Android的手机便签自动化测试方法 | |
CN102147797A (zh) | 一种内容管理***中管理元素文件的方法及装置 | |
CN112494940B (zh) | 用户界面的制作方法、装置、存储介质及计算机设备 | |
CN106777036A (zh) | 一种数据渲染方法及数据渲染*** | |
CN104239206A (zh) | 网页测试方法和装置 | |
CN111966580A (zh) | 基于人工智能的自动化测试方法、装置、设备和存储介质 | |
CN105550114A (zh) | 自动化测试方法、装置和移动终端 | |
JP2008142788A (ja) | 動作プログラム作成支援方法および動作プログラム作成装置。 | |
CN103605521A (zh) | 一种实现界面对位的方法及装置 | |
CN111506306A (zh) | 一种Ansible剧本编写方法、装置和电子设备 | |
CN107861779A (zh) | 页面对象定位方法及装置、存储介质、电子设备 | |
CN104267935A (zh) | 代码转换方法与装置 | |
KR101488815B1 (ko) | 메뉴 테스트용 스크립트 생성 장치, 이를 포함하는 메뉴 테스트 자동화 시스템, 및 그 방법 | |
CN113434938B (zh) | Bim模型的检查方法、装置、计算机设备及存储介质 | |
JP2010231594A (ja) | 試験プログラム及び試験装置 | |
CN110968342B (zh) | 一种版本比对方法、装置及*** | |
CN114022105A (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: 1159794 Country of ref document: HK |
|
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20110810 |
|
REG | Reference to a national code |
Ref country code: HK Ref legal event code: WD Ref document number: 1159794 Country of ref document: HK |