发明内容
为解决上述技术问题,本申请实施例提供一种内容刷新系统,采用代理刷新服务器作为内容刷新的主体,可以及时对需要刷新的内容执行刷新操作,提高了刷新效率。
技术方案如下:
一种内容刷新系统,包括:中心任务服务器和若干代理刷新服务器;
所述中心任务服务器用于接收用户提交的任务,并将所述任务依据系统配置进行处理后以多线程方式发送至所述代理刷新服务器;
所述代理刷新服务器用于对所述中心任务服务器发送的任务进行刷新操作,并将操作结果反馈至所述中心任务服务器。
上述的系统,优选的,所述中心任务服务器包括:任务接收模块、任务处理模块、任务发送模块和任务执行状态处理模块;
其中:所述任务接收模块用于接收需要进行刷新操作的总任务;
所述任务处理模块用于读取所述任务接收模块接收的总任务,并根据系统配置生成所述总任务的子任务;
所述任务发送模块用于启动多线程将所述任务处理模块生成的子任务发送至代理刷新服务器;
所述任务执行状态处理模块用于接收所述代理刷新服务器发送的对所述子任务进行刷新操作的执行状态信息,并根据所述状态信息对所述任务接收模块接收的总任务进行更新。
上述的系统,优选的,所述任务接收模块接收的总任务包括:外部用户提交的任务和系统内部提交的任务。
上述的系统,优选的,所述任务接收模块包括验证单元;
所述验证单元用于在外部用于提交任务时对外部用户进行验证,包括对用户的用户名、密码及有效性的验证。
上述的系统,优选的,所述任务处理模块根据系统配置中的预设策略生成所述总任务的子任务。
上述的系统,优选的,所述任务发送模块以TCP协议将所述子任务发送至代理刷新服务器,每次发送的任务数量不超过预设阀值。
上述的系统,优选的,所述任务执行状态处理模块包括判断单元;
所述判断单元用于对所述任务发送模块对所述代理刷新服务器发送子任务的过程中子任务是否分发成功进行判断。
上述的系统,优选的,所述代理刷新服务器包括:任务刷新模块和任务执行状态反馈模块;
其中:所述任务刷新模块用于对所述中心任务服务器发送的任务进行刷新操作;
所述任务执行状态反馈模块用于将所述任务刷新模块执行刷新操作的执行状态信息反馈至所述中心任务服务器。
由以上本申请实施例提供的技术方案可见,本发明提供的内容刷新系统,设置有中心任务服务器和若干代理刷新服务器,中心任务服务器接收需要进行刷新操作的任务,对所述任务进行处理后发送至代理刷新服务器,代理刷新服务器执行对任务的刷新操作;本申请实施例提供的内容刷新系统,采用代理刷新服务器作为任务刷新的主体,解决了本地服务器由于负载压力过大等诸多情况不能及时对cache内容进行刷新的问题,有效的实现了对cache内容的实时刷新。
具体实施方式
本申请实施例提供了一种内容刷新系统,针对传统的内容刷新过程,本地服务器不能及时对需要进行刷新的内容及时进行刷新的现状,采用代理刷新服务器执行刷新操作的过程,有效解决传统刷新过程中刷新不及时的问题。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
本申请实施例提供的内容刷新系统的结构示意图如图1所示,包括:中心任务服务器101和若干代理刷新服务器102;
中心任务服务器101用于接收用户提交的任务,并将用户提交的任务依据系统配置进行处理后以多线程方式发送至代理刷新服务器102;
代理刷新服务器102对中心任务服务器101发送的任务进行刷新操作;并将操作结果反馈至中心任务服务器。
中心任务服务器101接收用户需要进行刷新的内容,将需要刷新的内容转发至代理刷新服务器102,代理刷新服务器102对需要执行刷新操作的内容进行刷新,由于代理刷新服务器102是代理设备,其自身设置有cache设备,能够调用自身的cache设备进行刷新操作,保证了刷新的及时性。
针对图1所示的内容刷新系统,图2展示了其工作的基本原理,客户程序通过HTTP接口与中心任务服务器连接,将客户端需要刷新的cache内容,例如URL网络地址或内容目录发送至中心任务服务器,中心任务服务器将将上述需要刷新的任务进行处理,为上述任务分配代理刷新服务器,将上述任务在代理刷新服务器中进行刷新操作,代理刷新服务器执行刷新操作结束后,将操作结果返回至中心任务服务器,中心任务服务器将经过刷新操作的内容发送至客户端,使得客户端的cache设备中的内容及时得到更新。
本申请实施例提供的内容刷新系统,中心任务服务器是刷新操作的中心控制部分,中心任务服务器主要负责管理内容刷新系统的任务,其中包括接收任务、处理任务、发送任务和接收任务执行状态。为了更清楚对中心任务服务器进行介绍,本申请实施例提供了内容刷新系统中中心任务服务器的详细组成结构示意图如图3所示,包括:任务接收模块201、任务处理模块202、任务发送模块203和任务执行状态处理模块204;
其中:
任务接收模块201用于接收需要进行刷新操作的总任务;
总任务是指一个需要刷新的URL的具体描述信息,以及需要刷新的URL的客户信息;
任务接收模块201通过系统提供的标准http协议接口接收总任务;
任务处理模块202用于读取任务接收模块201接收的总任务,并根据系统配置生成所述总任务的子任务;
子任务是指一个URL所需要刷新到的代理刷新服务器的信息;
子任务生成过程中需要应用预设策略进行生成,所述预设策略包括:
判断当前客户状态是否可用,如不可用则不生成子任务;
判断客户的优先级状态,优先级高的客户先生成子任务;
判断所有需要刷新的设备状态是否正常,如果设备不可用,则不生成子任务。
任务发送模块203用于启动多线程将任务处理模块202生成的子任务发送至代理刷新服务器;
任务发送模块203负责将已经生成成功的子任务以TCP协议的形式发送到每台代理刷新服务器上,发送子任务的方式以多线程的方式进行发送,每个线程负责多台代理刷新服务器,每个代理刷新服务器所需要刷新的内容一次发送完毕,每次发送的任务量不超过预设阀值,该阀值用户可以自己设定,如每次100个,发送任务的过程会不停重试,直至任务发送成功。
任务执行状态处理模块204用于接收代理刷新服务器发送的对子任务进行刷新操作的执行状态信息,并根据所述状态信息对任务接收模块201接收的总任务进行更新;
任务执行状态处理模块204主要负责接收代理刷新服务器的任务执行状态反馈。
由以上介绍可知,内容刷新系统中的任务分两种,总任务和子任务;所述两种任务分别有各自的状态,当所有的子任务处理成功后,则总任务成功,反之依然。
针对以上的中心任务服务器的组成示意图,本申请实施例还提供了另一关于中心任务服务器的组成结构示意图,如图4所示,整个系统的任务以及配置可以存储在单独的数据库内,任务接收模块201将接收到的总任务存储到数据库中,任务处理模块202从所述数据库中读取待生成子任务的总任务。
系统存储在数据库中的任务是总任务,总任务处于等待状态,任务处理模块读取总任务对其进行子任务处理操作。
任务处理模块202接收的总任务包括外部用户提交的任务和系统内部提交的任务;针对外部用户提交任务的过程,中心处理服务器中,任务处理模块202中设置了验证单元205;当客户提交任务时,验证模块205会对客户的身份进行验证,包括用户名、密码和有效性等,系统内部提交的总任务不进行验证,系统内部提交的任务只要符合系统规定的格式,即可进行子任务处理操作。
在图3、图4或图5的基础上,任务执行状态处理模块204中设置有判断单元206,如图6所示;
任务执行状态处理模块204在收到代理刷新服务器返回的任务处理状态后,判断单元206会判断诸多情况,最终通过更新任务接收模块201或数据库中的总任务来实现最终需要的刷新效果。其中判断的内容包括:
判断是否所有的需要刷新的代理刷新服务器都分发任务成功;
判断当前代理刷新服务器任务分发成功后,是否可以继续往其下面的设备进行任务分发。
代理刷新服务器主要负责URL和目录刷新操作,其内部的组成结构示意图如图7所示,包括任务执行状态反馈模块302和任务刷新模块301;
其中:
任务刷新模块301用于对中心任务服务器发送的任务进行刷新操作;
任务执行状态反馈模块302用于将任务刷新模块301执行刷新操作的执行状态信息反馈至中心任务服务器。
代理刷新服务器接收中心任务服务器发送的任务,并将所述任务序列化到本地进行保存;
任务刷新模块301通过http请求方式请求自身的cache设备,进行刷新操作;
任务执行状态反馈模块302使用TCP协议,将操作成功或失败的任务状态反馈至中心任务服务器,完成刷新过程。
本申请实施例提供的内容刷新系统,采用多线程分发子任务的形式对需要进行刷新操作的内容进行刷新,实现了多用户多频道同时进行刷新的过程;
通过采用代理刷新服务器代替本地服务器进行刷新操作的方式避免了内容刷新不及时的问题;
同时本申请实施例提供的内容刷新系统对刷新内容实时进行判断处理,保证了内容刷新的高效性和准确性。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。以上所述仅是本申请的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。