内容推送方法、系统、以及缓存服务器技术方案

技术编号:13623582 阅读:41 留言:0更新日期:2016-09-01 14:12
本发明专利技术提供一种内容推送方法、系统、以及缓存服务器,在缓存服务器接收到一内容推送请求后,令主进程对推送请求进行解析以构造一推送主任务,且将推送主任务存放于一共享内存中;并分别向各从进程发送通知信息;令各从进程分别根据接收的通知信息,从共享内存中读取相应推送子任务,并构造推送子请求,以执行推送子任务,且将执行结果发送至主进程;令主进程接收所有执行结果并进行综合分析得到主任务的执行结果,并响应内容推送请求。本发明专利技术令客户端不需要重复推送每个进程,只需往缓存服务器中某个进程发送推送请求,就能推送掉所有进程的相同缓存,既能提高推送效率,又能减少推送量,提高系统的运行性能。

【技术实现步骤摘要】

本专利技术涉及网络架构技术,特别是涉及一种内容推送方法、系统、以及缓存服务器
技术介绍
对于已经在缓存服务器上缓存的内容,当源站更新资源后,如果缓存服务器上的内容没有过期,我们会继续使用缓存的内容。如果要及时更新缓存服务器上的缓存内容,我们需要使用内容推送的功能,使得缓存服务器及时更新缓存内容。传统推送通过HTTP请求与缓存服务器交互进行推送来清除缓存,存在以下几个弊端:1)推送采用的是网络通信,需要通过TCP协议来进行数据的交互与传输,在这个过程中,在正式收发数据前,必须和对方建立可靠的连接,而一个TCP连接必须要经过三次“握手”才能建立起来,且完成数据传输之前,需要通过TCP的四次“挥手”来关闭连接,由于内容推送可能会有多个URL或目录要进行推送,因此这种通信方式用于内容推送场景效率比较低。2)由于事先并不知道每个缓存服务器进程的缓存情况,所以推送客户端需要向每个进程都重复推送,即向进程发送推送请求,才能达到删除或更新所有进程缓存的目的。但是,由于推送客户端的推送请求量已经达到饱和,且重复的推送请求删除或更新的是所有进程相同的缓存,这样会降低有效推送量。所以需要一种更有效的内容推送方法来提高系统的运行性能。
技术实现思路
鉴于以上所述现有技术的缺点,本专利技术的目的在于提供一种内容推送方法、系统、以及缓存服务器,用于解决现有技术中不能高效准确的对缓存服务器进行内容推送的问题。为实现上述目的及其他相关目的,本专利技术提供一种内容推送方法,应用于CDN系统的缓存服务器,所述缓存服务器运行有多个进程,所述方法包括:接收一内容推送请求,且令处理所述内容推送请求的进程作为主进程,主进程以外的至少部分其它进程作为从进程;令所述主进程对所述推送请求进行解析以构造一推送主任务,所述推送主任务包含多个推送子任务;令所述主进程将所述推送主任务存放于一共享内存中;令所述主进程分别向各所述从进程发送通知信息,每个所述通知信息包括与所述从进程对应的所述推送子任务的索引信息,其中所述索引信息与相应推送子任务在所述共享内存中的位置对应;令各所述从进程分别根
据接收的通知信息,从所述共享内存中读取相应的所述推送子任务,并根据读取结果构造推送子请求,且根据所述推送子请求执行所述推送子任务,以对相应的缓存进行更新,且将所述执行结果发送至所述主进程;令所述主进程接收所有所述执行结果并进行汇总并综合判断得到主任务的执行结果,并将所述主任务的执行结果响应所述内容推送请求。于本专利技术一具体实施例中,令首次接收到所述内容推送请求的进程作为所述主进程,且对所述内容推送请求进行处理。于本专利技术一具体实施例中,在接收所述内容推送请求之前,令至少部分所述进程通过本地套接字监听同一地址,以接收向所述地址发送的内容推送请求。于本专利技术一具体实施例中,令所述从进程根据接收的通知信息,从所述共享内存中读取相应的多个所述推送子任务,并根据读取结果依次构造推送子请求,以依次根据所构造的所述推送子请求执行所述推送子任务,且在与所述从进程对应的所有推送子任务执行结束后,将所述执行结果发送至所述主进程。于本专利技术一具体实施例中,所述推送主任务包括URL或推送目录,每个所述推送子任务对应一条URL或一条推送目录。于本专利技术一具体实施例中,令所述主进程接收各子任务的执行结果并综合分析得到主任务的执行结果,并将所述主任务的执行结果以状态码形式响应所述内容推送请求。于本专利技术一具体实施例中,所述主进程基于HTTP协议对所述推送请求进行解析。于本专利技术一具体实施例中,所述主进程分别通过相应的通信路径管道与各所述从进程进行通信。于本专利技术一具体实施例中,所述主进程分别通过相应的通信路径与各所述从进程进行通信。于本专利技术一具体实施例中,对各所述通信路径进行加密处理。为实现上述目的及其他相关目的,本专利技术还提供一种内容推送系统,应用于CDN系统的缓存服务器,所述缓存服务器运行有多个进程,所述系统包括:请求接收模块,用以接收一内容推送请求,且令处理所述内容推送请求的进程作为主进程,主进程以外的至少部分其它进程作为从进程;解析构造模块,用以令所述主进程对所述推送请求进行解析以构造一推送主任务,所述推送主任务包含多个推送子任务;保存模块,用以令所述主进程将所述推送主任务存放于一共享内存中;通知信息发送模块,用以令所述主进程分别向各所述从进程发送通知信息,每个所述通知信息包括与所述从进程对应的所述推送子任务的索引信息,其中所述索引信息与相应推送子任务在所述共享内存中的位置对应;执行模块,用以令各所述从进
程分别根据接收的通知信息,从所述共享内存中读取相应的所述推送子任务,并根据读取结果构造推送子请求,且根据所述推送子请求执行所述推送子任务,以对相应的缓存进行更新,且将所述执行结果发送至所述主进程;反馈模块,用以令所述主进程接收所有所述执行结果并进行汇总并综合判断得到主任务的执行结果,并将所述主任务的执行结果响应所述内容推送请求。于本专利技术一具体实施例中,所述请求接收模块用以令首次接收到所述内容推送请求的进程作为所述主进程,且对所述内容推送请求进行处理。于本专利技术一具体实施例中,所述请求接收模块还用以在接收所述内容推送请求之前,令至少部分所述进程通过本地套接字监听同一地址,以接收向所述地址发送的内容推送请求。于本专利技术一具体实施例中,所述执行模块用以令所述从进程根据接收的通知信息,从所述共享内存中读取相应的多个所述推送子任务,并根据读取结果依次构造推送子请求,以依次根据所构造的所述推送子请求执行所述推送子任务,且在与所述从进程对应的所有推送子任务执行结束后,将所述执行结果发送至所述主进程。于本专利技术一具体实施例中,所述推送主任务包括URL或推送目录,每个所述推送子任务对应一条URL或一条推送目录。于本专利技术一具体实施例中,所述反馈模块用以令所述主进程接收各子任务的执行结果并综合分析得到主任务的执行结果,并将所述主任务的执行结果以状态码形式响应所述内容推送请求。于本专利技术一具体实施例中,所述主进程基于HTTP协议对所述推送请求进行解析。于本专利技术一具体实施例中,所述主进程分别通过相应的通信路径管道与各所述从进程进行通信。于本专利技术一具体实施例中,所述主进程分别通过相应的通信路径与各从进程进行通信。于本专利技术一具体实施例中,还包括加密模块,用以对各所述通信路径进行加密处理。为实现上述目的及其他相关目的,本专利技术还提供一种缓存服务器,运行如上任一项所述的内容推送系统,以更新其缓存内容。为实现上述目的及其他相关目的,本专利技术还提供一种通信系统,包括客户端以及如上任一项所述的缓存服务器,所述客户端用以向所述缓存服务器发送内容推送请求,且接收所述缓存服务器对所述内容推送请求的响应。如上所述,本专利技术的内容推送方法、系统、以及缓存服务器,在接收到一内容推送请求后,且令处理内容推送请求的进程作为主进程,主进程以外的至少部分其它进程作为从进程;
令主进程对推送请求进行解析以构造一推送主任务,推送主任务包含多个推送子任务;令主进程将推送主任务存放于一共享内存中;令主进程分别向各从进程发送通知信息;令各从进程分别根据接收的通知信息,从共享内存中读取相应的推送子任务,并根据读取结果构造推送子请求,且根据推送子请求执行推送子任务,本文档来自技高网
...

【技术保护点】
一种内容推送方法,其特征在于,应用于CDN系统的缓存服务器,所述缓存服务器运行有多个进程,所述方法包括:接收一内容推送请求,且令处理所述内容推送请求的进程作为主进程,主进程以外的至少部分其它进程作为从进程;令所述主进程对所述推送请求进行解析以构造推送主任务,所述推送主任务包含多个推送子任务;令所述主进程将所述推送主任务存放于一共享内存中;令所述主进程分别向各所述从进程发送通知信息,每个所述通知信息包括与所述从进程对应的所述推送子任务的索引信息,其中所述索引信息与相应推送子任务在所述共享内存中的位置对应;令各所述从进程分别根据接收的通知信息,从所述共享内存中读取相应的所述推送子任务,并根据读取结果构造推送子请求,且根据所述推送子请求执行所述推送子任务,以对相应的缓存进行更新,且将所述执行结果发送至所述主进程;令所述主进程接收所有所述执行结果并进行汇总并综合判断得到主任务的执行结果,并将所述主任务的执行结果响应所述内容推送请求。

【技术特征摘要】
1.一种内容推送方法,其特征在于,应用于CDN系统的缓存服务器,所述缓存服务器运行有多个进程,所述方法包括:接收一内容推送请求,且令处理所述内容推送请求的进程作为主进程,主进程以外的至少部分其它进程作为从进程;令所述主进程对所述推送请求进行解析以构造推送主任务,所述推送主任务包含多个推送子任务;令所述主进程将所述推送主任务存放于一共享内存中;令所述主进程分别向各所述从进程发送通知信息,每个所述通知信息包括与所述从进程对应的所述推送子任务的索引信息,其中所述索引信息与相应推送子任务在所述共享内存中的位置对应;令各所述从进程分别根据接收的通知信息,从所述共享内存中读取相应的所述推送子任务,并根据读取结果构造推送子请求,且根据所述推送子请求执行所述推送子任务,以对相应的缓存进行更新,且将所述执行结果发送至所述主进程;令所述主进程接收所有所述执行结果并进行汇总并综合判断得到主任务的执行结果,并将所述主任务的执行结果响应所述内容推送请求。2.根据权利要求1所述的内容推送方法,其特征在于:令首次接收到所述内容推送请求的进程作为所述主进程,且对所述内容推送请求进行处理。3.根据权利要求1所述的内容推送方法,其特征在于:在接收所述内容推送请求之前,令至少部分所述进程通过本地套接字监听同一地址,以接收向所述地址发送的内容推送请求。4.根据权利要求1所述的内容推送方法,其特征在于:所述推送主任务包括URL或推送目录,每个所述推送子任务对应一条URL或一条推送目录。5.根据权利要求1所述的内容推送方法,其特征在于:令所述主进程接收各子任务的执行结果并综合分析得到主任务的执行结果,并将所述主任务的执行结果以状态码形式响应所述内容推送请求。6.根据权利要求1所述的内容推送方法,其特征在于:所述主进程分别通过管道与各所述从进程进行通信。7.一种内容推送系统,其特征在于,应用于CDN系统的缓存服务器,所述缓存服务器运行有多个进程,所述系统包括:请求接收模块,用以接收一...

【专利技术属性】
技术研发人员:洪珂蒋辉郭延明董曙佳
申请(专利权)人:网宿科技股份有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1