发明内容
本发明实施例的目的在于提出一种基于用户访问时间的内容发布方法,旨在解决现有技术内容发布系统没有分批次的以分类别的方式逐步将信息传输,从而导致的网络带宽的瞬间压力比较大,内容信息到达客户端的时间比较长问题。
本发明实施例是这样实现的,一种基于用户访问时间的内容发布方法,所述方法包括以下步骤:
服务器定时从内容管理数据库获取已登录的第二类用户所属的第一类用户的数据内容;
将所述第一类用户的数据内容和服务器本地数据库存储的第一类用户的数据内容进行比较,根据比较结果对本地数据库中所述第一类用户相应的数据内容进行更新,并记录所述相应的数据内容更新的最后时间,设为第二时间;
客户端登陆服务器,发送访问请求信息,所述访问请求信息包括客户端的访问URL及访问URL附加信息;所述访问URL附加信息包括该客户端的用户名,访问类型、用户ID及时间信息,所述时间信息为所述客户端上一次访问服务器中相应第一类用户数据内容后,服务器对本地数据库中所述第一类用户相应的数据内容进行更新的时间,设为第一时间;
服务器端接收客户端访问请求信息并进行解析;
服务器根据所述访问请求信息,在服务器本地数据库中查找所述客户端在第一时间之后的,在所述访问类型下,客户端对应的第一类用户的数据内容及更新记录,以及客户端的访问记录。
在媒体库中查找客户端对应的播放记录和播放URL;
服务器将客户端在第一时间之后的所述访问类型下的有变化数据内容,再加上客户端的ID号、访问类型、第二时间、播放URL组织成XML或JSON格式的第二数据内容发送回客户端;
客户端接收并解析从服务器过来的第二数据内容,和当前访问栏目的数据内容进行对比,更新当前对应栏目的数据内容;
客户端本地保存服务器发送的第二数据内容中的第二时间以及客户端ID号;
客户端根据所述播放URL访问并播放媒体库中存储的相应的媒体文件;
媒体库记录客户端的播放记录。
本发明实施例的另一目的在于一种基于用户访问时间的内容发布系统,所述系统包括服务器、内容管理服务器、客户端、媒体库,
所述服务器包括数据内容获取模块、第一比较更新模块、本地数据库、第一解析模块、ID号分配模块、第一查找模块、第二查找模块、第二发送模块;
数据内容获取模块,用于定时从内容管理数据库获取已登录的客户端所属的第一类用户的数据内容;
第一比较更新模块,用于将客户端所属第一类用户的数据内容和服务器本地数据库存储的相应第一类用户的数据内容进行比较,根据比较结果对服务器本地数据库中所述第一类用户相应的数据内容进行更新并记录服务器本地数据库中所述相应的数据内容更新的最后时间,设为第二时间;
本地数据库,用于存储已登录的客户端所属的第一类用户的数据内容及最后更新时间,记为第二时间,并用于存储客户端的访问第二类用户访问相应第一类用户数据内容的访问记录,所述访问记录包括访问的各详细栏目、子栏目及访问时间;
第一解析模块,用于接收客户端访问请求信息并进行解析;所述访问请求信息包括客户端的访问URL及访问URL附加信息;所述访问URL附加信息包括该客户端的用户名,访问类型、用户ID及时间信息,所述时间信息为所述客户端上一次访问服务器中相应第一类用户数据内容后,服务器对本地数据库中所述第一类用户相应的数据内容进行更新的时间,设为第一时间;
ID号分配模块,用于当解析到用户ID为空时,为该客户端生成并分配一个唯一的ID号;
第一查找模块,用于根据所述访问请求信息,在服务器本地数据库中查找所述客户端在第一时间之后的,在所述访问类型下,客户端对应的第一类用户的数据内容及数据内容更新记录,以及客户端的访问记录,
第一时间表示客户端记录的客户端上一次访问服务器中相应第一类用户数据内容后,服务器对本地数据库中所述第一类用户相应的数据内容进行更新的时间。
第二查找模块,用于在媒体库中查找客户端对应的播放记录和播放URL;
第二发送模块,用于将第一查找模块发送的客户端在第一时间之后的所述访问类型下的有变化数据内容,再加上客户端的ID号、访问类型、第二时间以及第二查找模块发送的播放URL组织成XML或JSON格式的第二数据内容发送回客户端;
内容管理数据库,用于存储所有第一类用户的数据内容;
客户端包括客户端发送模块、数据接收模块、第二解析模块、第二比较更新模块、第二存储模块、显示模块、第二访问模块、播放模块,
第一访问模块,用于向服务器发送访问请求信息;
数据接收模块,用于接收从服务器发过来的第二数据内容;
第二解析模块,用于解析从服务器发过来的第二数据内容;
第二比较更新模块,用于将所述第二数据内容和客户端当前访问栏目的数据内容进行对比,更新当前对应栏目的数据内容;
第二存储模块,用于保存服务器发送的第二数据内容中的第二时间以及客户端ID号;
显示模块,用于显示更新后的客户端当前访问栏目的数据内容;
第二访问模块,用于根据所述播放URL访问并播放媒体库中存储的相应的媒体文件。
媒体库,用于存储第一类用户的数据内容的源文件,以及存储客户端的播放记录;
本发明的有益效果
本发明一改传统以服务器为中心的内容发布模式,以客户端服务器交互的方式,针对不同客户端的访问时间和访问类型提供不同的内容数据,将内容以分类的方式批次传输,只更新变更、新增的数据(增量更新导航),可有效有效加速传输过程,避免传输多余信息,最大化减少内容发布时的数据量,大大提高用户的访问速度和访问质量,保证内容发布的及时性以及在最短时间内实现网站内容的更新。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图和实施例,对本发明进行进一步详细说明,为了便于说明,仅示出了与本发明实施例相关的部分。应当理解,此处所描写的具体实施例,仅仅用于解释本发明,并不用以限制本发明。
本发明实施例一改传统以服务器为中心的内容发布模式,以客户端服务器交互的方式,针对不同客户端的访问时间和访问类型提供不同的内容数据,将内容以分类的方式批次传输,只更新变更、新增的数据(增量更新导航),可有效有效加速传输过程,避免传输多余信息,最大化减少内容发布时的数据量,大大提高用户的访问速度和访问质量,保证内容发布的及时性以及在最短时间内实现网站内容的更新。
实施例一
图1是本发明优选实施例一种基于用户访问时间的内容发布方法流程图;所述方法包括以下步骤:
S101、服务器定时从内容管理数据库获取已登录的第二类用户所属的第一类用户的数据内容;
S102、将所述第一类用户的数据内容和服务器本地数据库存储的第一类用户的数据内容进行比较,根据比较结果对服务器本地数据库中所述第一类用户相应的数据内容进行更新(在本地数据库内容上进行添加,修改,删除标记),并记录服务器本地数据库中所述相应的数据内容更新的最后时间,设为第二时间。
所述第一类用户为在服务器上的注册用户,所述第一类用户包含N个用户,N≥0其N为整数,例如,第一类用户包含用户A1、用户A2、用户A3......用户AN;每个第一类用户又包含n个第二类用户(第二类用户为第一类用户的注册用户,也称为第一类用户的子用户),n≥0其n为整数。例如第一类用户A1包含n个第二类用户:用户a1、用户a2、用户a3......用户an;
所述内容管理数据库存储所有第一类用户的数据内容;
所述服务器存储的信息包括已在服务器登录过的第二类用户相对应的第一类用户的数据内容、第一类用户数据内容(具体到各详细栏目及子栏目)的最后更新时间和更新记录、第二类用户访问相应第一类用户数据内容的访问记录,所述访问记录包括访问的各详细栏目、子栏目及访问时间)。例如第二类用户a1、第二类用户a2登录过服务器,则服务器存储有第一类用户A1(第二类用户a1对应的第一类用户)、第一类用户A2(第二类用户a2对应的第一类用户)的数据内容和数据内容的最后更新时间,所述最后更新时间为各具体栏目及子栏目的最后更新时间;
所述内容管理数据库和服务器中的数据内容均以数据表的形式存储。
S103、客户端登陆服务器,发送访问请求信息,所述访问请求信息包括客户端的访问URL及访问URL附加信息;所述访问URL附加信息包括该客户端的用户名,访问类型、用户ID及时间信息,所述时间信息为所述客户端上一次访问服务器中相应第一类用户数据内容后,服务器对本地数据库中所述第一类用户相应的数据内容进行更新的时间,设为第一时间。
所述客户端也即第二类用户,其为第一类用户的子用户,也可称为第一类用户的注册用户。所述客户端的用户名表示所述客户端登陆访问服务器时的注册用户名。
所述访问类型表示待访问媒体内容的具体分类;所述具体分类包括待访问媒体内容的主栏目(即第一级栏目,例如:电影、电视剧、娱乐、直播)以及主栏目下的子栏目等信息;各栏目可分多级,可进行设置。
所述用户ID表示服务器为每个客户端分配的ID号,每个客户端对应一个用户ID,用来区分不同客户端;如果所述客户端为初次访问(安装app客户端的首次访问),则访问URL附加信息中,用户名为登陆服务器时的用户名,访问类型为第一级(即第二类用户的数据内容的首页信息),用户ID为空(表示该ID还未被分配),时间信息为空。
S104、服务器端接收客户端访问请求信息并进行解析;
如果服务器解析到用户ID为空,则服务器为该客户端生成并分配一个唯一的ID号,然后进入步骤S104;否则直接进入步骤S104;
S105、服务器根据所述访问请求信息,在服务器本地数据库中查找所述客户端在第一时间之后的,在所述访问类型下,客户端对应的第一类用户的数据内容及数据内容更新记录,以及客户端的访问记录。
所述访问类型仅包括该级类型下的内容信息,不包括该类型下一级栏目的内容。
S106、在媒体库中查找客户端对应的播放记录和播放URL;
所述媒体库用于存储第一类用户的数据内容的源文件(即媒体文件),以及存储客户端的播放记录。
所述播放记录包括播放类型、播放时长、播放日期等。
S107、服务器将客户端在第一时间之后的所述访问类型下的有变化数据内容,再加上客户端的ID号、访问类型、第二时间、播放URL组织成一定的XML或JSON格式的第二数据内容发送回客户端;
S108、客户端接收并解析从服务器过来的第二数据内容,和当前访问栏目的数据内容进行对比,更新当前对应栏目的数据内容;
具体为:如果是新增的内容数据,添加在该栏目内容的前面;如果是修改的内容数据则在栏目里面进行修改,如果是需删除的内容,则在栏目里面进行删除;
S109、客户端本地保存服务器发送的第二数据内容中的第二时间以及客户端ID号。
S110、客户端根据所述播放URL访问并播放媒体库中存储的相应的媒体文件。
所述播放URL对应的媒体内容包括旧内容(第二时间之前服务器保存的数据内容)和更新后内容(第二时间之后服务器更新的数据内容)。
S111、媒体库记录客户端的播放记录。
实施例二
图2是本发明优选实施例一种基于用户访问时间的内容发布系统结构图,所述系统包括服务器、内容管理服务器、客户端、媒体库;
所述服务器还包括数据内容获取模块、第一比较更新模块、本地数据库、第一解析模块、ID号分配模块、第一查找模块、第二查找模块、第二发送模块;
数据内容获取模块,用于定时从内容管理数据库获取已登录的第二类用户(客户端)所属的第一类用户的数据内容;
第一比较更新模块,用于将客户端所属第一类用户的数据内容和服务器本地数据库存储的相应第一类用户的数据内容进行比较,根据比较结果对服务器本地数据库中所述第一类用户相应的数据内容进行更新并记录服务器本地数据库中所述相应的数据内容更新的最后时间,设为第二时间;
所述本地数据库进一步包括第一存储模块、客户端访问记录存储模块,
第一存储模块,用于存储已登录的客户端所属的第一类用户的数据内容及最后更新时间,记为第二时间;
客户端访问记录存储模块,用于存储客户端的访问第二类用户访问相应第一类用户数据内容的访问记录,所述访问记录包括访问的各详细栏目、子栏目及访问时间。
例如第二类用户a1、第二类用户a2登录过服务器,则服务器存储有第一类用户A1(第二类用户a1对应的第一类用户)、第一类用户A2(第二类用户a2对应的第一类用户)的数据内容和数据内容的最后更新时间,所述最后更新时间为各具体栏目及子栏目的最后更新时间;
所述第一类用户为在服务器上的注册用户,所述第一类用户包含N个用户,N≥0其N为整数,例如,第一类用户包含用户A1、用户A2、用户A3......用户AN;每个第一类用户又包含n个第二类用户(第二类用户为第一类用户的注册用户,也称为第一类用户的子用户),n≥0其n为整数。例如第一类用户A1包含n个第二类用户:用户a1、用户a2、用户a3......用户an;
所述内容管理数据库和服务器中的数据内容均以数据表的形式存储。
第一解析模块,用于接收客户端访问请求信息并进行解析;所述访问请求信息包括客户端的访问URL及访问URL附加信息;所述访问URL附加信息包括该客户端的用户名,访问类型、用户ID及时间信息,所述时间信息为所述客户端上一次访问服务器中相应第一类用户数据内容后,服务器对本地数据库中所述第一类用户相应的数据内容进行更新的时间,设为第一时间。
ID号分配模块,用于当解析到用户ID为空时,为该客户端生成并分配一个唯一的ID号;
第一查找模块,用于根据所述访问请求信息,在服务器本地数据库中查找所述客户端在第一时间之后的,在所述访问类型下,客户端对应的第一类用户的数据内容及数据内容更新记录,以及客户端的访问记录。
所述访问类型仅包括该级类型下的内容信息,不包括该类型下一级栏目的内容。
第一时间表示客户端记录的客户端上一次访问服务器中相应第一类用户数据内容后,服务器对本地数据库中所述第一类用户相应的数据内容进行更新的时间。
第二查找模块,用于在媒体库中查找客户端对应的播放记录和播放URL;
第二发送模块,用于将第一查找模块发送的客户端在第一时间之后的所述访问类型下的有变化数据内容,再加上客户端的ID号、访问类型、第二时间以及第二查找模块发送的播放URL组织成一定的XML或JSON格式的第二数据内容发送回客户端;
内容管理数据库,用于存储所有第一类用户的数据内容;
客户端包括客户端发送模块、数据接收模块、第二解析模块、第二比较更新模块、第二存储模块、显示模块、第二访问模块、播放模块,
第一访问模块,用于向服务器发送访问请求信息;
数据接收模块,用于接收从服务器发过来的第二数据内容;
第二解析模块,用于解析从服务器发过来的第二数据内容;
第二比较更新模块,用于将所述第二数据内容和客户端当前访问栏目的数据内容进行对比,更新当前对应栏目的数据内容;
第二存储模块,用于保存服务器发送的第二数据内容中的第二时间以及客户端ID号;
显示模块,用于显示更新后的客户端当前访问栏目的数据内容;
第二访问模块,用于根据所述播放URL访问并播放媒体库中存储的相应的媒体文件。
媒体库,用于存储第一类用户的数据内容的源文件(即媒体文件),以及存储客户端的播放记录;其包括媒体文件存储模块、客户端播放记录存储模块,
媒体文件存储模块,用于存储第一类用户的数据内容的源文件(即媒体文件);
客户端播放记录存储模块,用于存储播放记录,所述播放记录包括播放类型、播放时长、播放日期等。
本领域的普通技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序指令相关硬件来完成的,所述的程序可以存储于一计算机可读取存储介质中,所述的存储介质可以为ROM、RAM、磁盘、光盘等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。