CN105915587A - 内容推送方法、系统、以及缓存服务器 - Google Patents
内容推送方法、系统、以及缓存服务器 Download PDFInfo
- Publication number
- CN105915587A CN105915587A CN201610208278.7A CN201610208278A CN105915587A CN 105915587 A CN105915587 A CN 105915587A CN 201610208278 A CN201610208278 A CN 201610208278A CN 105915587 A CN105915587 A CN 105915587A
- Authority
- CN
- China
- Prior art keywords
- propelling movement
- request
- content
- push
- subtask
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
- G06F16/9566—URL specific, e.g. using aliases, detecting broken or misspelled links
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Abstract
本发明提供一种内容推送方法、系统、以及缓存服务器,在缓存服务器接收到一内容推送请求后,令主进程对推送请求进行解析以构造一推送主任务,且将推送主任务存放于一共享内存中;并分别向各从进程发送通知信息;令各从进程分别根据接收的通知信息,从共享内存中读取相应推送子任务,并构造推送子请求,以执行推送子任务,且将执行结果发送至主进程;令主进程接收所有执行结果并进行综合分析得到主任务的执行结果,并响应内容推送请求。本发明令客户端不需要重复推送每个进程,只需往缓存服务器中某个进程发送推送请求,就能推送掉所有进程的相同缓存,既能提高推送效率,又能减少推送量,提高系统的运行性能。
Description
技术领域
本发明涉及网络架构技术,特别是涉及一种内容推送方法、系统、以及缓存服务器。
背景技术
对于已经在缓存服务器上缓存的内容,当源站更新资源后,如果缓存服务器上的内容没有过期,我们会继续使用缓存的内容。如果要及时更新缓存服务器上的缓存内容,我们需要使用内容推送的功能,使得缓存服务器及时更新缓存内容。
传统推送通过HTTP请求与缓存服务器交互进行推送来清除缓存,存在以下几个弊端:
1)推送采用的是网络通信,需要通过TCP协议来进行数据的交互与传输,在这个过程中,在正式收发数据前,必须和对方建立可靠的连接,而一个TCP连接必须要经过三次“握手”才能建立起来,且完成数据传输之前,需要通过TCP的四次“挥手”来关闭连接,由于内容推送可能会有多个URL或目录要进行推送,因此这种通信方式用于内容推送场景效率比较低。
2)由于事先并不知道每个缓存服务器进程的缓存情况,所以推送客户端需要向每个进程都重复推送,即向进程发送推送请求,才能达到删除或更新所有进程缓存的目的。但是,由于推送客户端的推送请求量已经达到饱和,且重复的推送请求删除或更新的是所有进程相同的缓存,这样会降低有效推送量。
所以需要一种更有效的内容推送方法来提高系统的运行性能。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种内容推送方法、系统、以及缓存服务器,用于解决现有技术中不能高效准确的对缓存服务器进行内容推送的问题。
为实现上述目的及其他相关目的,本发明提供一种内容推送方法,应用于CDN系统的缓存服务器,所述缓存服务器运行有多个进程,所述方法包括:接收一内容推送请求,且令处理所述内容推送请求的进程作为主进程,主进程以外的至少部分其它进程作为从进程;令所述主进程对所述推送请求进行解析以构造一推送主任务,所述推送主任务包含多个推送子任务;令所述主进程将所述推送主任务存放于一共享内存中;令所述主进程分别向各所述从进程发送通知信息,每个所述通知信息包括与所述从进程对应的所述推送子任务的索引信息,其中所述索引信息与相应推送子任务在所述共享内存中的位置对应;令各所述从进程分别根据接收的通知信息,从所述共享内存中读取相应的所述推送子任务,并根据读取结果构造推送子请求,且根据所述推送子请求执行所述推送子任务,以对相应的缓存进行更新,且将所述执行结果发送至所述主进程;令所述主进程接收所有所述执行结果并进行汇总并综合判断得到主任务的执行结果,并将所述主任务的执行结果响应所述内容推送请求。
于本发明一具体实施例中,令首次接收到所述内容推送请求的进程作为所述主进程,且对所述内容推送请求进行处理。
于本发明一具体实施例中,在接收所述内容推送请求之前,令至少部分所述进程通过本地套接字监听同一地址,以接收向所述地址发送的内容推送请求。
于本发明一具体实施例中,令所述从进程根据接收的通知信息,从所述共享内存中读取相应的多个所述推送子任务,并根据读取结果依次构造推送子请求,以依次根据所构造的所述推送子请求执行所述推送子任务,且在与所述从进程对应的所有推送子任务执行结束后,将所述执行结果发送至所述主进程。
于本发明一具体实施例中,所述推送主任务包括URL或推送目录,每个所述推送子任务对应一条URL或一条推送目录。
于本发明一具体实施例中,令所述主进程接收各子任务的执行结果并综合分析得到主任务的执行结果,并将所述主任务的执行结果以状态码形式响应所述内容推送请求。
于本发明一具体实施例中,所述主进程基于HTTP协议对所述推送请求进行解析。
于本发明一具体实施例中,所述主进程分别通过相应的通信路径管道与各所述从进程进行通信。
于本发明一具体实施例中,所述主进程分别通过相应的通信路径与各所述从进程进行通信。
于本发明一具体实施例中,对各所述通信路径进行加密处理。
为实现上述目的及其他相关目的,本发明还提供一种内容推送系统,应用于CDN系统的缓存服务器,所述缓存服务器运行有多个进程,所述系统包括:请求接收模块,用以接收一内容推送请求,且令处理所述内容推送请求的进程作为主进程,主进程以外的至少部分其它进程作为从进程;解析构造模块,用以令所述主进程对所述推送请求进行解析以构造一推送主任务,所述推送主任务包含多个推送子任务;保存模块,用以令所述主进程将所述推送主任务存放于一共享内存中;通知信息发送模块,用以令所述主进程分别向各所述从进程发送通知信息,每个所述通知信息包括与所述从进程对应的所述推送子任务的索引信息,其中所述索引信息与相应推送子任务在所述共享内存中的位置对应;执行模块,用以令各所述从进程分别根据接收的通知信息,从所述共享内存中读取相应的所述推送子任务,并根据读取结果构造推送子请求,且根据所述推送子请求执行所述推送子任务,以对相应的缓存进行更新,且将所述执行结果发送至所述主进程;反馈模块,用以令所述主进程接收所有所述执行结果并进行汇总并综合判断得到主任务的执行结果,并将所述主任务的执行结果响应所述内容推送请求。
于本发明一具体实施例中,所述请求接收模块用以令首次接收到所述内容推送请求的进程作为所述主进程,且对所述内容推送请求进行处理。
于本发明一具体实施例中,所述请求接收模块还用以在接收所述内容推送请求之前,令至少部分所述进程通过本地套接字监听同一地址,以接收向所述地址发送的内容推送请求。
于本发明一具体实施例中,所述执行模块用以令所述从进程根据接收的通知信息,从所述共享内存中读取相应的多个所述推送子任务,并根据读取结果依次构造推送子请求,以依次根据所构造的所述推送子请求执行所述推送子任务,且在与所述从进程对应的所有推送子任务执行结束后,将所述执行结果发送至所述主进程。
于本发明一具体实施例中,所述推送主任务包括URL或推送目录,每个所述推送子任务对应一条URL或一条推送目录。
于本发明一具体实施例中,所述反馈模块用以令所述主进程接收各子任务的执行结果并综合分析得到主任务的执行结果,并将所述主任务的执行结果以状态码形式响应所述内容推送请求。
于本发明一具体实施例中,所述主进程基于HTTP协议对所述推送请求进行解析。
于本发明一具体实施例中,所述主进程分别通过相应的通信路径管道与各所述从进程进行通信。
于本发明一具体实施例中,所述主进程分别通过相应的通信路径与各从进程进行通信。
于本发明一具体实施例中,还包括加密模块,用以对各所述通信路径进行加密处理。
为实现上述目的及其他相关目的,本发明还提供一种缓存服务器,运行如上任一项所述的内容推送系统,以更新其缓存内容。
为实现上述目的及其他相关目的,本发明还提供一种通信系统,包括客户端以及如上任一项所述的缓存服务器,所述客户端用以向所述缓存服务器发送内容推送请求,且接收所述缓存服务器对所述内容推送请求的响应。
如上所述,本发明的内容推送方法、系统、以及缓存服务器,在接收到一内容推送请求后,且令处理内容推送请求的进程作为主进程,主进程以外的至少部分其它进程作为从进程;令主进程对推送请求进行解析以构造一推送主任务,推送主任务包含多个推送子任务;令主进程将推送主任务存放于一共享内存中;令主进程分别向各从进程发送通知信息;令各从进程分别根据接收的通知信息,从共享内存中读取相应的推送子任务,并根据读取结果构造推送子请求,且根据推送子请求执行推送子任务,以对相应的缓存进行更新,且将执行结果发送至主进程;令主进程接收所有执行结果并进行汇总并综合判断得到主任务的执行结果,并将主任务的执行结果响应内容推送请求。本发明令客户端不需要重复推送每个进程,只需往缓存服务器中某个进程发送推送请求,就能推送掉所有进程的相同缓存,既能提高推送效率,又能减少推送量,提高系统的运行性能。此外,由于进程之间不再是通过请求来进行交互,而是以任务的方式进行推送处理,这样可以避免频繁地对请求进行读取和解析,节省处理时间,提高效率。
附图说明
图1显示为本发明的内容推送方法在一具体实施例中的流程示意图。
图2显示为本发明的内容推送系统在一具体实施例中的模块示意图。
图3显示为本发明的通信系统在一具体实施例中的模块示意图。
元件标号说明
1 内容推送系统
11 请求接收模块
12 解析构造模块
13 保存模块
14 通知信息发送模块
15 执行模块
16 反馈模块
2 通信系统
21 客户端
22 缓存服务器
S11~S16 步骤
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图示中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
为了解决内容分发网络(Content Delivery Network,CDN)中传统内容推送方法的低效和重复执行的弊端。通过对内容推送过程中的推送客户端与缓存服务器之间通信方式以及推送模式的改进来实现,具体改进的地方如下:
1)不再使用TCP协议进行传输,采用本地套接字进行推送客户端与进程之间的通信。它的优点在于不需要经过网络协议栈,不需要打包拆包、计算校验和、维护序号和应答等,只是将应用层数据从一个进程拷贝到另一个进程,相比普通的网络套接字更高效,消息既不会丢失也不会顺序错乱。
2)对推送模式的改进,不再重复地向每个缓存服务器进程发送推送请求,只需要向其中的某一个进程发送请求就能推送掉所有进程的相同缓存,这样既能提高推送效率,又能减少推送量。
3)对推送交互方式的改进,缓存服务器各进程间的交互方式不再是推送请求了,而是一个包含多个子任务的推送任务信息,这样可以去掉一些不必要的例如HTTP请求处理的过程,节省各进程推送处理的时间,使推送更快速。
具体的,请参阅图1,显示为本发明的内容推送方法在一具体实施例中的流程示意图。
所述内容推送方法,应用于CDN系统的缓存服务器,所述缓存服务器运行有多个进程,所述方法包括以下步骤:
S11:接收一内容推送请求,且令处理所述内容推送请求的进程作为主进程,主进程以外的至少部分其它进程作为从进程;即可以有部分或者全部的进程参与到内容推送过程中,于本发明一具体实施例中,令首次接收到所述内容推送请求的进程作为所述主进程,且对所述内容推送请求进行处理。或者在其他实施例中,可以指定某一进程为主进程,即使是由其他从进程接收到所述内容推送请求,也会将其转发至所述指定的主进程以进行处理。
优选的,在接收所述内容推送请求之前,令至少部分所述进程通过本地套接字监听同一地址,以接收向所述地址发送的内容推送请求。即不再使用TCP协议进行传输,采用本地套接字进行推送客户端与进程之间的通信。它的优点在于不需要经过网络协议栈,不需要打包拆包、计算校验和、维护序号和应答等,只是将应用层数据从一个进程拷贝到另一个进程,相比普通的网络套接字更高效,消息既不会丢失也不会顺序错乱。
S12:令所述主进程对所述推送请求进行解析以构造一推送主任务,所述推送主任务包含多个推送子任务;于具体应用中,所述主进程可以基于HTTP协议对所述推送请求进行解析。且,优选的,所述推送主任务包括URL或推送目录,每个所述推送子任务对应一条URL或一条推送目录。更优选的,所述推送主任务包括多条URL或多条推送目录,每个所述推送子任务对应一条URL或一条推送目录。
S13:令所述主进程将所述推送主任务存放于一共享内存中;在具体实施中,所述共享内存例如可为预先开辟的虚拟存储空间或真实存储空间,亦可为云端的存储空间。
S14:令所述主进程分别向各所述从进程发送通知信息,每个所述通知信息包括与相应所述从进程对应的所述推送子任务的索引信息,其中所述索引信息与相应推送子任务在所述共享内存中的位置对应;即,可根据所述索引信息直接链接到所述共享内存中相应的推送子任务。且当与所述从进程对应的推送子任务有多个时,从所述共享内存中读取相应的多个所述推送子任务,并根据读取结果依次构造推送子请求,以依次根据所构造的所述推送子请求执行所述推送子任务,且在与所述从进程对应的所有推送子任务执行结束后,将所述执行结果发送至所述主进程。
S15:令各所述从进程分别根据接收的通知信息,从所述共享内存中读取相应的所述推送子任务,并根据读取结果构造推送子请求,且根据所述推送子请求执行所述推送子任务,以对相应的缓存进行更新,且将所述执行结果发送至所述主进程;例如根据URL构造推送子请求,这样既可以按照原流程进行推送操作,又可以去掉一些不必要的HTTP或HTTPS请求处理过程。
S16:令所述主进程接收所有所述执行结果并进行汇总并综合判断得到主任务的执行结果,并将所述主任务的执行结果响应所述内容推送请求。
于本发明一具体实施例中,令所述主进程接收各子任务的执行结果并进行汇总并综合判断得到主任务的执行结果,并将所述主任务的执行结果以状态码形式响应所述内容推送请求。
于一具体实施例中,所述对所有所述子任务的执行结果进行汇总并综合判断例如为,所述主进程汇总所有所述子任务的执行结果,并综合判断是否所有子任务均有反馈,且更优选的,根据所述汇总和综合判断的结果,生成相应的状态码,并将所述主任务的执行结果以状态码形式响应所述内容推送请求。
优选的,所述状态码的定义包括以下3种:
200:表示所有进程都有反馈结果,并且至少有一个进程成功推送掉缓存;
404:表示所有进程都有反馈结果,并且所有进程都是缓存不存在的;
504:表示在超时时间到达后还有进程未反馈结果。
状态码及其对应的含义,为提前预设好的,例如在http协议的标准中,已经设定好了状态码及其对应的含义。
于本发明一具体实施例中,所述主进程分别通过相应的通信路径与各所述从进程进行通信。即,所述主进程和每个所述从进程之间都有一个与之对应的管道,所述管道优选为匿名管道。更优选的,对各所述通信路径进行加密处理,以保证信息传输的安全性。
请参阅图2,显示为本发明的内容推送系统在一具体实施例中的模块示意图。所述内容推送系统1应用于一缓存服务器,所述缓存服务器运行有多个进程,所述系统1包括:
请求接收模块11,用以接收一内容推送请求,且令处理所述内容推送请求的进程作为主进程,主进程以外的至少部分其它进程作为从进程;
解析构造模块12,用以令所述主进程对所述推送请求进行解析以构造一推送主任务,所述推送主任务包含多个推送子任务;
保存模块13,用以令所述主进程将所述推送主任务存放于一共享内存中;
通知信息发送模块14,用以令所述主进程分别向各所述从进程发送通知信息,每个所述通知信息包括与相应所述从进程对应的所述推送子任务的索引信息,其中所述索引信息与相应推送子任务在所述共享内存中的位置对应;
执行模块15,用以令各所述从进程分别根据接收的通知信息,从所述共享内存中读取相应的所述推送子任务,并根据读取结果构造推送子请求,且根据所述推送子请求执行所述推送子任务,以对相应的缓存进行更新,且将所述执行结果发送至所述主进程;
反馈模块16,用以令所述主进程接收所有所述执行结果并进行汇总并综合判断得到主任务的执行结果,并将所述主任务的执行结果响应所述内容推送请求。
于本发明一具体实施例中,所述请求接收模块11用以令首次接收到所述内容推送请求的进程作为所述主进程,且对所述内容推送请求进行处理。
于本发明一具体实施例中,所述请求接收模块11还用以在接收所述内容推送请求之前,令至少部分所述进程通过本地套接字监听同一地址,以接收向所述地址发送的内容推送请求。
于本发明一具体实施例中,所述执行模块15用以令所述从进程根据接收的通知信息,从所述共享内存中读取相应的多个所述推送子任务,并根据读取结果依次构造推送子请求,以依次根据所构造的所述推送子请求执行所述推送子任务,且在与所述从进程对应的所有推送子任务执行结束后,将所述执行结果发送至所述主进程。
于本发明一具体实施例中,所述推送主任务包括URL或推送目录,每个所述推送子任务对应一条URL或一条推送目录。更优选的,所述推送主任务包括多条URL或多条推送目录,每个所述推送子任务对应一条URL或一条推送目录。
于本发明一具体实施例中,所述反馈模块16用以令所述主进程接收各子任务的执行结果并综合分析得到主任务的执行结果,并将所述主任务的执行结果以状态码形式响应所述内容推送请求。
于本发明一具体实施例中,所述主进程基于HTTP协议对所述推送请求进行解析。
于本发明一具体实施例中,所述主进程分别通过相应的通信路径与各所述从进程进行通信。即,所述主进程和每个所述从进程之间都有一个与之对应的管道,所述管道优选为匿名管道。更优选的,还包括加密模块,用以对各所述通信路径进行加密处理。对各所述通信路径进行加密处理,以保证信息传输的安全性。
图2所示的内容推送系统1与图1所示的内容推送方法的技术方案相对应,所有关于图1所示实施例的描述均可应用于图2所示的内容推送系统1中。在此不加赘述。
请参阅图3,显示为本发明的一种通信系统在一具体实施例中的模块示意图。所述通信系统2包括客户端21以及缓存服务器22。所述缓存服务器22运行如图2所对应实施例中的内容推送系统1,以更新其缓存内容。
所述客户端21用以向所述缓存服务器22发送内容推送请求,且接收所述缓存服务器22对所述内容推送请求的响应。下面以一具体实例描述所述通信系统2的运行过程(其中本描述中的步骤序号与图3中的流程序号相对应):
1)推送客户端21向缓存服务器22发送推送请求,由于其所有进程通过本地套接字共同监听在相同的地址,因此客户端21往指定地址发送请求后,会由其中某个进程接收,这里为了方便阐述,将收到推送请求的缓存服务器22进程称为主进程,其他进程则称作从进程。
2)主进程收到客户端21的推送请求后,进行基于HTTP协议的推送请求解析,这里只利用部分正常的HTTP请求解析过程,省略了其他多余的操作。
3)推送请求解析完成后,主进程会根据该请求构造一个推送任务,它可以包含多条URL,相当于一个推送任务可以包含多个子任务,然后把推送任务放到共享内存中,该共享内存是由缓存服务器22启动时开辟的一块内存空间。
4)主进程通过管道通知各从进程去处理,主进程和每个从进程都有一个与之对应的匿名管道,每个进程都能访问到其他进程的管道,这样主进程就能通过管道来通知各从进程去读取推送任务进行处理,并在通知从进程处理任务的同时带上任务的索引,以便被通知的进程能准确获取到任务。
5)从进程收到推送任务处理通知时,会从共享内存中读取相应的推送任务进行处理,逐个执行各个子任务,根据要推送的URL构造出一个请求,这样既可以按照原流程进行推送操作,又可以去掉一些不必要的HTTP请求处理过程。
6)从进程在执行完推送任务后,通过管道将各自的推送结果传递给主进程。
7)主进程对所有推送处理结果进行汇总并综合判断,然后以响应状态码的方式发送给客户端21。对于响应状态码的定义,这里分为3种:
200:表示所有进程都有反馈结果,并且至少有一个进程成功推送掉缓存;
404:表示所有进程都有反馈结果,并且所有进程都是缓存不存在的;
504:表示在超时时间到达后还有进程未反馈结果。
综上所述,本发明的内容推送方法、系统、以及缓存服务器,在接收到一内容推送请求后,且令处理内容推送请求的进程作为主进程,主进程以外的至少部分其它进程作为从进程;令主进程对推送请求进行解析以构造一推送主任务,推送主任务包含多个推送子任务;令主进程将推送主任务存放于一共享内存中;令主进程分别向各从进程发送通知信息;令各从进程分别根据接收的通知信息,从共享内存中读取相应的推送子任务,并根据读取结果构造推送子请求,且根据推送子请求执行推送子任务,以对相应的缓存进行更新,且将执行结果发送至主进程;令主进程接收所有执行结果并进行综合分析得到主任务的执行结果,并将主任务的执行结果响应内容推送请求。本发明令客户端不需要重复推送每个进程,只需往缓存服务器中某个进程发送推送请求,就能推送掉所有进程的相同缓存,既能提高推送效率,又能减少推送量,提高系统的运行性能。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
Claims (13)
1.一种内容推送方法,其特征在于,应用于CDN系统的缓存服务器,所述缓存服务器运行有多个进程,所述方法包括:
接收一内容推送请求,且令处理所述内容推送请求的进程作为主进程,主进程以外的至少部分其它进程作为从进程;
令所述主进程对所述推送请求进行解析以构造推送主任务,所述推送主任务包含多个推送子任务;
令所述主进程将所述推送主任务存放于一共享内存中;
令所述主进程分别向各所述从进程发送通知信息,每个所述通知信息包括与所述从进程对应的所述推送子任务的索引信息,其中所述索引信息与相应推送子任务在所述共享内存中的位置对应;
令各所述从进程分别根据接收的通知信息,从所述共享内存中读取相应的所述推送子任务,并根据读取结果构造推送子请求,且根据所述推送子请求执行所述推送子任务,以对相应的缓存进行更新,且将所述执行结果发送至所述主进程;
令所述主进程接收所有所述执行结果并进行汇总并综合判断得到主任务的执行结果,并将所述主任务的执行结果响应所述内容推送请求。
2.根据权利要求1所述的内容推送方法,其特征在于:令首次接收到所述内容推送请求的进程作为所述主进程,且对所述内容推送请求进行处理。
3.根据权利要求1所述的内容推送方法,其特征在于:在接收所述内容推送请求之前,令至少部分所述进程通过本地套接字监听同一地址,以接收向所述地址发送的内容推送请求。
4.根据权利要求1所述的内容推送方法,其特征在于:所述推送主任务包括URL或推送目录,每个所述推送子任务对应一条URL或一条推送目录。
5.根据权利要求1所述的内容推送方法,其特征在于:令所述主进程接收各子任务的执行结果并综合分析得到主任务的执行结果,并将所述主任务的执行结果以状态码形式响应所述内容推送请求。
6.根据权利要求1所述的内容推送方法,其特征在于:所述主进程分别通过管道与各所述从进程进行通信。
7.一种内容推送系统,其特征在于,应用于CDN系统的缓存服务器,所述缓存服务器运行有多个进程,所述系统包括:
请求接收模块,用以接收一内容推送请求,且令处理所述内容推送请求的进程作为主进程,主进程以外的至少部分其它进程作为从进程;
解析构造模块,用以令所述主进程对所述推送请求进行解析以构造一推送主任务,所述推送主任务包含多个推送子任务;
保存模块,用以令所述主进程将所述推送主任务存放于一共享内存中;
通知信息发送模块,用以令所述主进程分别向各所述从进程发送通知信息,每个所述通知信息包括与所述从进程对应的所述推送子任务的索引信息,其中所述索引信息与相应推送子任务在所述共享内存中的位置对应;
执行模块,用以令各所述从进程分别根据接收的通知信息,从所述共享内存中读取相应的所述推送子任务,并根据读取结果构造推送子请求,且根据所述推送子请求执行所述推送子任务,以对相应的缓存进行更新,且将所述执行结果发送至所述主进程;
反馈模块,用以令所述主进程接收所有所述执行结果并进行汇总并综合判断得到主任务的执行结果,并将所述主任务的执行结果响应所述内容推送请求。
8.根据权利要求7所述的内容推送系统,其特征在于,所述请求接收模块用以令首次接收到所述内容推送请求的进程作为所述主进程,且对所述内容推送请求进行处理。
9.根据权利要求7所述的内容推送系统,其特征在于:所述请求接收模块在接收所述内容推送请求之前,还用以令至少部分所述进程通过本地套接字监听同一地址,以接收向所述地址发送的内容推送请求。
10.根据权利要求7所述的内容推送系统,其特征在于:所述推送主任务包括URL或推送目录,每个所述推送子任务对应一条URL或一条推送目录。
11.根据权利要求7所述的内容推送系统,其特征在于:所述反馈模块用以令所述主进程接收各子任务的执行结果并综合分析得到主任务的执行结果,并将所述主任务的执行结果以状态码形式响应所述内容推送请求。
12.根据权利要求7所述的内容推送系统,其特征在于:所述主进程分别通过管道与各从进程进行通信。
13.一种缓存服务器,其特征在于,运行有如权利要求7~12中任一项所述的内容推送系统,以更新其缓存内容。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610208278.7A CN105915587B (zh) | 2016-04-05 | 2016-04-05 | 内容推送方法、系统、以及缓存服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610208278.7A CN105915587B (zh) | 2016-04-05 | 2016-04-05 | 内容推送方法、系统、以及缓存服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105915587A true CN105915587A (zh) | 2016-08-31 |
CN105915587B CN105915587B (zh) | 2019-03-26 |
Family
ID=56745363
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610208278.7A Active CN105915587B (zh) | 2016-04-05 | 2016-04-05 | 内容推送方法、系统、以及缓存服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105915587B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107196848A (zh) * | 2017-05-09 | 2017-09-22 | 腾讯科技(深圳)有限公司 | 消息推送方法及装置 |
CN107302525A (zh) * | 2017-06-02 | 2017-10-27 | 上海帝联信息科技股份有限公司 | 拉流控制方法及装置、可读存储介质、流媒体服务器 |
CN111782412A (zh) * | 2019-04-03 | 2020-10-16 | 阿里巴巴集团控股有限公司 | 一种数据的获取方法、服务器及相关系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101782864A (zh) * | 2009-12-01 | 2010-07-21 | 深圳市蓝韵实业有限公司 | 一种改善Web服务器通信服务稳定性的方法 |
US20120197959A1 (en) * | 2011-01-28 | 2012-08-02 | Oracle International Corporation | Processing pattern framework for dispatching and executing tasks in a distributed computing grid |
CN104809058A (zh) * | 2011-06-17 | 2015-07-29 | 阿里巴巴集团控股有限公司 | 一种在测试执行中动态调度并发数量的方法及装置 |
-
2016
- 2016-04-05 CN CN201610208278.7A patent/CN105915587B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101782864A (zh) * | 2009-12-01 | 2010-07-21 | 深圳市蓝韵实业有限公司 | 一种改善Web服务器通信服务稳定性的方法 |
US20120197959A1 (en) * | 2011-01-28 | 2012-08-02 | Oracle International Corporation | Processing pattern framework for dispatching and executing tasks in a distributed computing grid |
CN104809058A (zh) * | 2011-06-17 | 2015-07-29 | 阿里巴巴集团控股有限公司 | 一种在测试执行中动态调度并发数量的方法及装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107196848A (zh) * | 2017-05-09 | 2017-09-22 | 腾讯科技(深圳)有限公司 | 消息推送方法及装置 |
CN107196848B (zh) * | 2017-05-09 | 2018-09-04 | 腾讯科技(深圳)有限公司 | 消息推送方法及装置 |
CN107302525A (zh) * | 2017-06-02 | 2017-10-27 | 上海帝联信息科技股份有限公司 | 拉流控制方法及装置、可读存储介质、流媒体服务器 |
CN111782412A (zh) * | 2019-04-03 | 2020-10-16 | 阿里巴巴集团控股有限公司 | 一种数据的获取方法、服务器及相关系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105915587B (zh) | 2019-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103270492B (zh) | 用于网络使能应用的硬件加速图形的方法和系统 | |
US9577911B1 (en) | Distributed computation system incorporating agent network, paths and associated probes | |
CN102713848B (zh) | 用于使用轻量级客户端通过网络来与虚拟化计算服务对接的方法 | |
CN102595208B (zh) | 云端控制网络化视频图像处理流媒体服务系统及方法 | |
US8243932B2 (en) | Methods and systems for distributed processing on consumer devices | |
CN108449633B (zh) | 基于nfv的机顶盒云化系统及业务实现方法 | |
CN105577801B (zh) | 一种业务加速方法及装置 | |
CN104735077B (zh) | 一种使用环形缓存和环形队列实现udp高效并发的方法 | |
CN110020046B (zh) | 一种数据抓取方法及装置 | |
US20160381127A1 (en) | Systems and methods for dynamic networked peer-to-peer content distribution | |
CN108769145A (zh) | 一种资源贡献量证明方法、装置及系统 | |
CN104010228B (zh) | 一种用于基于级的自动调整的对等媒体流的装置和方法 | |
CN109977822B (zh) | 数据供给方法、模型训练方法、装置、系统、设备和介质 | |
CN105915587A (zh) | 内容推送方法、系统、以及缓存服务器 | |
CN108696522A (zh) | 一种区块链中的任务处理方法、计算节点、区块链系统 | |
CN113259415B (zh) | 一种网络报文处理方法、装置及网络服务器 | |
CN110351276A (zh) | 数据处理方法、设备及计算机可读存储介质 | |
CN103248636B (zh) | 离线下载的系统及方法 | |
CN108540505A (zh) | 一种内容更新方法及装置 | |
US11411826B2 (en) | Monitoring a peer-to-peer network | |
CN105893429A (zh) | 用于优化web缓存的方法及系统 | |
CN105144099B (zh) | 通信系统 | |
CN102902593B (zh) | 基于缓存机制的协议分发处理系统 | |
KR20220073576A (ko) | 디지털 트윈을 이용한 실시간 분산 시뮬레이션 장치 및 이를 이용한 방법 | |
Prendinger et al. | Evaluation of 2D and 3D interest management techniques in the distributed virtual environment DiVE |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |