支持多终端的内容发布系统及方法与流程

文档序号:19074769发布日期:2019-11-08 21:18阅读:267来源:国知局
支持多终端的内容发布系统及方法与流程

本发明涉及网络技术领域,特别是一种支持多终端的内容发布系统及方法。



背景技术:

在网络飞速发展的当今时代,网页浏览成为人们获取信息的重要渠道。随着手机、平板电脑等移动设备的出现和普及,用户浏览网页的平台也日益增多,网页浏览行为不仅局限在固定的台式电脑上,而且开始频繁地出现在手机和平板电脑等移动设备上。但是由于移动终端们的显示屏尺寸差异,适用在一类终端显示屏上的页面内容,并不适用于其他终端显示。比如在pc端,因为电脑屏幕大,因此导航栏是一排<li>,但是在手机端,因为手机屏幕小,需要让导航栏隐藏,导航栏的地方换成一个按钮,点击之后原来的导航栏以侧边栏的形式出现。为了使网页在不同分辨率的屏幕上正常显示,必须将页面数据与显示屏幕的数据进行匹配。

内容管理系统(content management system,CMS)作为一种位于WEB前端(Web服务器)和后端办公系统或流程(内容创作、编辑)之间的软件系统,

可以向通过专用通信网络连接到该系统的一个或多个客户端(例如终端消费者)提供对具体内容的访问,CMS被广泛用作网页内容发布工具。CMS的基本思想是分离内容的管理和设计。页面设计存储在模板里,而内容存储在数据库或独立的文件中。当一个用户请求页面时,各部分联合生成一个标准的HTML页面。

一个内容管理系统通常有如下要素:

文档模板

脚本语言或标记语言

与数据库集成

内容的包含物由内嵌入页面的特殊标记控制。这些标记对于一个内容管理系统通常是唯一的。这些系统通常有对较复杂的操作的语言支持,如Python,Perl,或Java等。

内容管理系统对站点管理和创造编辑都有好处。这其中最大的好处是能够使用模板和通用的设计元素以确保整个网站的协调。作者只需在他们的文档中采用少量的模板代码,然后即可把精力集中在设计之上的内容了。

目前的CMS发布系统上,基本上采用的是不同的页面数据管理来呈现不同屏幕的内容,即:根据屏幕不同,写成多个网页页面,这种方式下,不同屏幕下的数据之间没有建立一个强联系,利于对各个屏幕对应的数据进行修改,呈现差异化显示效果,但正是因为各个数据之间没有强联系,若要想让同一条数据在不同屏幕上展示,则需要在不同的屏幕上多次添加同一数据,这也给后期的数据维护带来不便。

总之,现有的这种采用不同的页面数据管理来呈现不同屏幕内容固定方式存在管理繁杂、维护不同屏幕下展示数据的代价成本较高、管理效率低的缺陷。因而亟需设计一种能对展示数据进行高效管理的内容管理系统。



技术实现要素:

发明人通过对现有的内容发布系统CMS研究后,发现现有的内容发布系统CMS采用MySOL作为数据存储,限制了相同字段的含义扩展,因而为实现同一数据在不同屏幕上展示时,技术人员不得不采用不同的页面数据管理来呈现不同屏幕的内容,究其根源,数据存储结构是解决现有内容发布系统CMS缺陷的重点。

为了克服现有技术的不足,本发明提出在构建内容发布系统CMS时,采用MongoDB作为底层的存储结构,与关系型数据库MySOL相比,MongoDB是文档结构的存储方式,在字段上比较松散,在处理同一层级式的数据结构时能够更便捷的查询和获取数据。采用MongoDB作为底层的存储结构,可以根据需要扩展数据,通过修改分屏或基础屏下的数据还能实现对不同屏幕做差异化显示。本发明在同一个页面内,将不同屏幕下的数据列为同一个层级,实现用同一套页面管理数据维护不同屏幕的展示内容,提高了管理效率。

本发明提供一种支持多终端的内容发布系统,包括:

CMS模块,用于存储待发布数据,所述待发布数据包括基础屏下的数据和分屏下的数据;

获取模块,用于获取终端发起的页面展示请求;

识别模块,用于根据页面展示请求识别UA(UserAgent,用户代理)信息,UA是一个特殊字符串头,是一种记录浏览器类型及版本、客户端操作系统及版本、浏览器内核等信息的标识。客户端的UA信息反映了客户端的硬件平台、系统软件的相关信息;

数据调用模块,用于根据UA信息从CMS模块中查找并调取与终端适配的待发布数据;

发布模块,用于将与终端适配的待发布数据发布到相应的终端。

具体地,所述CMS模块采用MongoDB作为数据存储。与关系型数据库相比,MongoDB具有以下优点:

1、MongoDB具有弱一致性,更能保证用户的访问速度;

2、MongoDB是文档结构的存储方式,能够更便捷的获取数据;

3、MongoDB可以通过内置GridFS,实现支持大容量的存储,满足对大数据集的快速范围查询。

进一步地,所述数据调用模块用于在未查找到与终端适配的待发布数据时,将基础屏下的待发布数据作为与终端适配的待发布数据。

优选地,所述基础屏下的数据包括作为基础屏的终端的参数信息和与该终端适配的待发布数据,所述分屏下的数据包括作为分屏的终端的参数信息和与该终端适配的待发布数据。所述终端的参数信息是指能够从UA信息中识别的终端的硬件和/或软件信息,如浏览器类型及版本、客户端操作系统及版本、浏览器内核等信息。

具体地,所述CMS模块还用于管理基础屏下的数据和分屏下的数据,包括对所述基础屏下的数据和分屏下的数据进行修改、增加和/或删除。

相应地,本发明还提供一种支持多终端的内容发布方法,包括:

S1、获取终端发起的页面展示请求;

S2、根据页面展示请求识别UA信息;

S3、根据UA信息从CMS模块中调取与终端适配的待发布数据;

S4、将与终端适配的待发布数据发布到对应的终端。

具体地,所述CMS模块采用MongoDB作为数据存储,存储所述待发布数据。

具体地,所述待发布数据包括基础屏下的数据和分屏下的数据,所述基础屏下的数据包括作为基础屏的终端的参数信息和与该终端适配的待发布数据,所述分屏下的数据包括作为分屏的终端的参数信息和与该终端适配的待发布数据。

进一步地,所述步骤S3中,在未查找到与终端适配的待发布数据时,将基础屏下的待发布数据作为与终端适配的待发布数据。

进一步地,所述方法还包括对所述基础屏下的数据和分屏下的数据进行管理,包括对所述基础屏下的数据和分屏下的数据进行修改、增加和/或删除。

本发明还提供了一种内容发布方法,所述方法包括:服务器接收客户端发送的页面展示请求,根据所述页面展示请求识别客户端UA信息,根据所述UA信息查询CMS模块,从CMS模块中调取与客户端适配的待发布数据,将待发布数据发送至客户端;所述CMS模块采用MongoDB作为数据存储。

本发明具有以下有益效果:

本发明提出在构建内容发布系统CMS时,采用MongoDB作为底层的存储结构,实现用同一套页面管理数据维护不同屏幕的展示内容,提高了管理效率。采用MongoDB作为底层的存储结构可以根据需要扩展数据,通过修改相应屏幕的内容还能实现对不同屏幕做差异化显示。通过识别UA来源,自动将适合终端屏幕的数据发送给相应终端,实现自动适配展示。

附图说明

为了更清楚地说明本发明的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。

图1是本发明系统框架图;

图2是本发明系统的功能框图;

图3是本发明实施例4的方法流程图;

图4是本发明实施例5的方法流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明提供一种支持多终端的内容发布系统,使用同一页面管理数据,来维护不同屏幕的内容,并可以从页面、模块、数据、标题等任何的粒度做差异呈现或者合一呈现,使用上灵活方便。

实施例1

一种支持多终端的内容发布系统,包括:获取模块、识别模块、数据调用模块、发布模块和多个CMS模块。

所述CMS模块,用于存储待发布数据,所述待发布数据包括基础屏下的数据和分屏下的数据。

具体地,所述CMS模块采用MongoDB作为数据存储。

所述获取模块,用于获取终端发起的页面展示请求。

所述识别模块,用于根据页面展示请求识别UA(UserAgent,用户代理)信息;UA是一个特殊字符串头,是一种记录浏览器类型及版本、客户端操作系统及版本、浏览器内核等信息的标识。客户端的UA信息反映了客户端的硬件平台、系统软件的相关信息。

所述数据调用模块,用于根据UA信息从各个CMS模块中查找并调取与终端适配的待发布数据;通过识别终端的用户代理,可以判别终端信息,以便于调取到与该终端显示适配的显示内容。

发布模块,用于将与终端适配的各项待发布数据发布到相应的终端,在终端页面组合形成完整的页面展示内容。

本发明系统采用MongoDB作为底层的存储结构,MongoDB是一个文档对象模型,在字段上比较松散,无需预先设计,适合处理CMS的数据内容,可以做到从页面、模块、数据源上对不同屏幕screen做分屏控制。并且,用户在创建页面时,只需要创建基础屏下的数据,在需要对不同屏幕做差异化显示时,只需修改相应屏幕的内容即可。基于本发明的内容发布系统,当同一链接在不同屏幕发起请求时,可以根据UA识别来源,然后传入相应的参数获取页面、模块、数据等到相应屏幕予以呈现,实现自动适配展示。

实施例2

一种支持多终端的内容发布系统,包括:获取模块、识别模块、数据调用模块、发布模块和多个CMS模块。

所述CMS模块采用MongoDB作为数据存储,用于存储待发布数据,所述待发布数据包括基础屏下的数据和分屏下的数据;

进一步地,所述CMS模块还用于管理基础屏下的数据和分屏下的数据,包括对所述基础屏下的数据和分屏下的数据进行修改、增加和/或删除。

优选地,所述基础屏下的数据包括作为基础屏的终端的参数信息和与该终端适配的待发布数据,所述分屏下的数据包括作为分屏的终端的参数信息和与该终端适配的待发布数据。

所述获取模块,用于获取终端发起的页面展示请求。

所述识别模块,用于根据页面展示请求识别UA(UserAgent,用户代理)信息,UA是一个特殊字符串头,是一种记录浏览器类型及版本、客户端操作系统及版本、浏览器内核等信息的标识。客户端的UA信息反映了客户端的硬件平台、系统软件的相关信息

所述数据调用模块,用于根据UA信息分别查询各个CMS模块,将各个CMS模块中与终端适配的数据发送给发布模块。

具体地,所述数据调用模块用于根据UA信息查找各个CMS模块,CMS模块采用MongoDB作为数据存储,各个CMS模块中预先设置有基础屏下的数据和分屏下的数据,基础屏下的数据包括作为基础屏的终端的参数和配置的用于在该终端上进行显示的数据项,分屏下的数据为多个,对应不同的终端,所述分屏下的数据包括作为分屏的终端的参数和配置的用于在该终端上进行显示的数据项。所述终端的参数信息是指能够从UA信息中识别的终端的硬件和/或软件信息,如浏览器类型及版本、客户端操作系统及版本、浏览器内核等信息。通过将获取的UA信息与CMS模块中记录的终端的信息进行匹配,在匹配成功后,调取与终端信息对应的待发布数据。

发布模块,用于将与终端适配的各项待发布数据发布到相应的终端,在终端页面组合形成完整的页面展示内容。

上述系统的具体实现步骤如下:

(一)创建频道,新增页面,在内容发布系统后台创建能够支持多屏的页面;

(二)在页面列表下,新增多个CMS模块,在每个CMS模块下创建基础屏数据。

本发明的内容发布系统采用MongoDB作为数据存储,MongoDB是文档结构的存储方式,在字段上比较松散,在处理同一层级式的数据结构时能够更便捷的查询和获取数据。在采用MongoDB作为底层的存储结构时,很容易扩展,当需要支持多屏,很容易对字段进行多屏扩展;解决了现有技术中采用MySQL作为数据存储时所带来的相同字段含义扩展困难的问题。

(三)创建数据源,往数据源中添加数据。

(四)最后将(二)中创建的CMS模块与数据源绑定。

(五)接收终端反馈的页面展示请求,根据页面地址识别UA信息,判断终端类型及型号,根据终端类型分别查询各个CMS模块,将各个CMS模块中与终端适配的数据发布到对应的终端。

本发明提出在构建内容发布系统CMS时,采用MongoDB作为底层的存储结构,与关系型数据库MySOL相比,MongoDB是文档结构的存储方式,在字段上比较松散,在处理同一层级式的数据结构时能够更便捷的查询和获取数据。采用MongoDB作为底层的存储结构,可以根据需要扩展数据,通过修改分屏或基础屏下的数据还能实现对不同屏幕做差异化显示。本发明在同一个页面内,将不同屏幕下的数据列为同一个层级,实现用同一套页面管理数据维护不同屏幕的展示内容,提高了管理效率。

实施例3

一种支持多终端的内容发布系统,包括:获取模块、识别模块、数据调用模块、发布模块和多个CMS模块。

所述CMS模块采用MongoDB作为数据存储,用于存储待发布数据,所述待发布数据包括基础屏下的数据和分屏下的数据;

进一步地,所述CMS模块还用于管理基础屏下的数据和分屏下的数据,包括对所述基础屏下的数据和分屏下的数据进行修改、增加和/或删除。

优选地,所述基础屏下的数据包括作为基础屏的终端的参数信息和与该终端适配的待发布数据,所述分屏下的数据包括作为分屏的终端的参数信息和与该终端适配的待发布数据。

所述获取模块,用于获取终端发起的页面展示请求。

所述识别模块,用于根据页面展示请求识别UA(UserAgent,用户代理)信息,UA是一个特殊字符串头,是一种记录浏览器类型及版本、客户端操作系统及版本、浏览器内核等信息的标识。客户端的UA信息反映了客户端的硬件平台、系统软件的相关信息。

所述数据调用模块,用于根据终端类型分别查询各个CMS模块,若查找到与所述终端屏幕适配的待发布数据,则调取该待发布数据;若未查找到与所述终端屏幕适配的待发布数据,则根据预先设定的规则进行待发布数据调取;预先设定的规则可以是:在CMS模块中未配置与当前请求终端的屏幕适配的待发布数据时,将基础屏下的待发布数据作为与当前终端的屏幕适配的数据;或者,在CMS模块中未配置与当前请求终端的屏幕适配的待发布数据时,将上一次调取的待发布数据作为与当前终端的屏幕适配的数据。

所述CMS模块采用MongoDB作为数据存储,各个CMS模块中预先设置有基础屏下的数据和分屏下的数据,基础屏下的数据包括作为基础屏的终端的参数和配置的用于在该终端上进行显示的数据项,分屏下的数据为多个,对应不同的终端,所述分屏下的数据包括作为分屏的终端的参数和配置的用于在该终端上进行显示的数据项。所述终端的参数信息是指能够从UA信息中识别的终端的硬件和/或软件信息,如浏览器类型及版本、客户端操作系统及版本、浏览器内核等信息。

发布模块,用于将与终端适配的各项待发布数据发布到相应的终端,在终端页面组合形成完整的页面展示内容。

上述系统的具体实现步骤如下:

(一)创建频道,新增页面,在内容发布系统后台创建能够支持多屏的页面;

(二)在页面列表下,新增多个CMS模块,在每个CMS模块下创建基础屏数据,若需要实现同一内容在不同终端上的差异化显示,则可以选中需要支持的屏幕,在CMS模块下创建分屏数据,所述分屏数据包括分屏的屏幕参数和适配于该屏幕的待发布数据。

本发明的内容发布系统采用MongoDB作为数据存储,MongoDB是文档结构的存储方式,在字段上比较松散,在处理同一层级式的数据结构时能够更便捷的查询和获取数据。在采用MongoDB作为底层的存储结构时,很容易扩展,当需要支持多屏,很容易对字段进行多屏扩展;解决了现有技术中采用MySQL作为数据存储时所带来的相同字段含义扩展困难的问题。

(三)创建数据源,往数据源中添加数据。要实现不同终端屏幕的差异话显示,则数据源也需要支持多终端屏幕显示。在往数据源中添加数据时,要对具体数据进行分屏的差异控制,比如,首先设置好基础屏数据,然后设置分屏下的数据,分屏下的数据如标题,可以选择承自基础屏的标题,也可以填入其他数据。

(四)将(二)中创建的CMS模块与设置的数据源绑定。

(五)接收终端反馈的页面展示请求,根据页面地址识别UA(UserAgent,用户代理)信息,UA是一个特殊字符串头,是一种记录浏览器类型及版本、客户端操作系统及版本、浏览器内核等信息的标识。客户端的UA信息反映了客户端的硬件平台、系统软件的相关信息。根据UA信息查找各个CMS模块,CMS模块采用MongoDB作为数据存储,各个CMS模块中预先设置有基础屏下的数据和分屏下的数据,基础屏下的数据包括作为基础屏的终端的参数和配置的用于在该终端上进行显示的数据项,分屏下的数据为多个,对应不同的终端,所述分屏下的数据包括作为分屏的终端的参数和配置的用于在该终端上进行显示的数据项。所述终端的参数信息是指能够从UA信息中识别的终端的硬件和/或软件信息,如浏览器类型及版本、客户端操作系统及版本、浏览器内核等信息。通过将获取的UA信息与CMS模块中记录的终端的信息进行匹配,在匹配成功后,调取与终端信息对应的待发布数据,将各个CMS模块中与终端适配的数据发布到对应的终端,在终端页面组合形成完整的页面展示内容。

本发明提出在构建内容发布系统CMS时,采用MongoDB作为底层的存储结构,与关系型数据库MySOL相比,MongoDB是文档结构的存储方式,在字段上比较松散,在处理同一层级式的数据结构时能够更便捷的查询和获取数据。采用MongoDB作为底层的存储结构,可以根据需要扩展数据,通过修改分屏或基础屏下的数据还能实现对不同屏幕做差异化显示。本发明在同一个页面内,将不同屏幕下的数据列为同一个层级,实现用同一套页面管理数据维护不同屏幕的展示内容,提高了管理效率。

实施例4

参见图3,本发明还提供了一种支持多终端的内容发布方法,该方法包括:

S1、终端发起页面展示请求,CMS系统的获取模块获取终端发起的页面展示请求;

S2、识别模块根据获取模块获取的页面展示请求识别UA(UserAgent,用户代理)信息,UA是一个特殊字符串头,是一种记录浏览器类型及版本、客户端操作系统及版本、浏览器内核等信息的标识。客户端的UA信息反映了客户端的硬件平台、系统软件的相关信息。

S3、根据UA信息从CMS模块中调取与终端适配的待发布数据。

根据UA信息查找各个CMS模块,CMS模块采用MongoDB作为数据存储,各个CMS模块中预先设置有基础屏下的数据和分屏下的数据,基础屏下的数据包括作为基础屏的终端的参数和配置的用于在该终端上进行显示的数据项,分屏下的数据为多个,对应不同的终端,所述分屏下的数据包括作为分屏的终端的参数和配置的用于在该终端上进行显示的数据项。所述终端的参数信息是指能够从UA信息中识别的终端的硬件和/或软件信息,如浏览器类型及版本、客户端操作系统及版本、浏览器内核等信息。通过将获取的UA信息与CMS模块中记录的终端的信息进行匹配,在匹配成功后,调取与终端信息对应的待发布数据。

S4、发布模块将与终端适配的待发布数据发布到对应的终端。

简单而言,一个网页的呈现内容被划分成多个项,每个项对应一个CMS模块,而每个CMS模块下针对不同的显示终端又配置有相应的数据项,当终端发起页面显示请求时,根据终端信息从各个CMS模块中调取适应与该终端适配的数据进行展示,实现自动适配。

实施例5

一种支持多终端的内容发布方法,该方法包括:

S1、获取模块获取终端发起的页面展示请求;

S2、根据获取的页面展示请求识别UA(UserAgent,用户代理)信息,UA是一个特殊字符串头,是一种记录浏览器类型及版本、客户端操作系统及版本、浏览器内核等信息的标识。客户端的UA信息反映了客户端的硬件平台、系统软件的相关信息。

S3、根据UA信息从CMS模块中调取与终端适配的待发布数据。

根据UA信息查找各个CMS模块,CMS模块采用MongoDB作为数据存储,各个CMS模块中预先设置有基础屏下的数据和分屏下的数据,基础屏下的数据包括作为基础屏的终端的参数和配置的用于在该终端上进行显示的数据项,分屏下的数据为多个,对应不同的终端,所述分屏下的数据包括作为分屏的终端的参数和配置的用于在该终端上进行显示的数据项。所述终端的参数信息是指能够从UA信息中识别的终端的硬件和/或软件信息,如浏览器类型及版本、客户端操作系统及版本、浏览器内核等信息。通过将获取的UA信息与CMS模块中记录的终端的信息进行匹配,在匹配成功后,调取与终端信息对应的待发布数据。

存在一种情况是,CMS模块中未包含请求终端的的参数信息,也没有配置相应的数据项(即待发布数据),则在请求终端发起页面展示请求后,不能根据请求终端的UA信息,从CMS模块中找到与该终端适配的待发布数据。对于这种情况,我们提供两种解决方案:参见图4,一种是预先设置待发布数据调取规则,在未找到与请求终端匹配的数据时,将基础屏下的待发布数据作为与请求终端适配的待发布数据;另一种是将上一次使用的待发布数据作为与请求终端适配的待发布数据。

S4、将与终端适配的待发布数据发布到对应的终端。

众所周知,新技术的发展日新月异,终端的更新速度较快,CMS模块中未包括某些终端信息及未配置相应的待发布数据的情况是极常见的,因此,数据的可扩展性显得尤为重要。

本发明在构建内容发布系统CMS时,采用MongoDB作为底层的存储结构,与关系型数据库MySOL相比,MongoDB是文档结构的存储方式,在字段上比较松散,在处理同一层级式的数据结构时能够更便捷的查询和获取数据。采用MongoDB作为底层的存储结构,可以根据需要扩展数据,通过修改分屏或基础屏下的数据还能实现对不同屏幕做差异化显示。

进一步地,本发明方法还包括:对所述基础屏下的数据和分屏下的数据进行管理,包括对所述基础屏下的数据和分屏下的数据进行修改、增加和/或删除。

实施例6

本发明还提供了一种由服务器执行的内容发布方法,所述方法包括:服务器接收客户端发送的页面展示请求,根据所述页面展示请求识别客户端UA信息,根据所述UA信息查询CMS模块,从CMS模块中调取与客户端适配的待发布数据,将待发布数据发送至客户端。

其中,所述CMS模块采用MongoDB作为数据存储,用户可以根据需要扩展或修改数据,轻松实现不同不同终端的差异化显示。

总之,本发明在同一个页面内,将不同屏幕下的数据列为同一个层级,实现用同一套页面管理数据维护不同屏幕的展示内容,提高了管理效率。

以上所揭露的仅为本发明的较佳实施例而已,当然不能以此来限定本发明的权利范围,依据本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1