CN106170023A - 一种网络资源的处理方法、装置、系统以及服务器 - Google Patents

一种网络资源的处理方法、装置、系统以及服务器 Download PDF

Info

Publication number
CN106170023A
CN106170023A CN201610793091.8A CN201610793091A CN106170023A CN 106170023 A CN106170023 A CN 106170023A CN 201610793091 A CN201610793091 A CN 201610793091A CN 106170023 A CN106170023 A CN 106170023A
Authority
CN
China
Prior art keywords
content identification
content
request
source station
internet resources
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
Application number
CN201610793091.8A
Other languages
English (en)
Other versions
CN106170023B (zh
Inventor
洪珂
郭文强
翁志真
陈旭明
郭迎
朱建虎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wangsu Science and Technology Co Ltd
Original Assignee
Wangsu Science and Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wangsu Science and Technology Co Ltd filed Critical Wangsu Science and Technology Co Ltd
Priority to CN201610793091.8A priority Critical patent/CN106170023B/zh
Publication of CN106170023A publication Critical patent/CN106170023A/zh
Application granted granted Critical
Publication of CN106170023B publication Critical patent/CN106170023B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/765Media network packet handling intermediate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/566Grouping or aggregating service requests, e.g. for unified processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/06Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明提供一种网络资源的处理方法、装置、系统以及服务器,所述方法包括:在接收到用户终端发送的网络资源请求时,将网络资源请求传输至源站服务器;在接收到源站服务器返回的TCP报文时,判断TCP报文的可选字段中是否有与预先建立的内容标识存储表中的内容标识相同的内容标识,若是,则将可选字段中的内容标识添加到内容标识存储表中并将内容标识所对应的请求内容的连接复制后返回给用户终端,终止将用户终端的后续网络资源请求传输至源站服务器;若否,则将可选字段中的内容标识添加到内容标识存储表中并将TCP报文中携带的包含请求资源内容的连接返回给所述用户终端。本发明解决了TCP长连接应用中源站带宽使用量大的问题。

Description

一种网络资源的处理方法、装置、系统以及服务器
技术领域
本发明涉及网络资源技术领域,特别是涉及网络中传输动态数据技术领域,具体为一种网络资源的处理方法、装置、系统以及服务器。
背景技术
视频直播、弹幕等大并发长连接业务,源站通常需要储备非常大的带宽,但该类应用一般在闲时和忙时的出口使用带宽差别非常大,比如在周末及工作日的晚上访问量比较大,在工作时间的访问量比较小,这就导致在闲时会有大量的储备带宽浪费掉,但为了防止忙时带宽不足,源站往往又不得不使用大量资金储备带宽。而且这类应用通常传输的是动态数据,无法缓存,现有动态加速技术将每一次访问的流量全部引流到源站,并没有节省源站带宽,只是在加速网络内部采用私有协议、字节流缓存、内容压缩等技术实现了加速的作用。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种网络资源的处理方法、装置、系统以及服务器,用于解决现有技术中视频直播、弹幕等动态数据传输的TCP长连接应用的源站带宽使用量大的问题。
为实现上述目的及其他相关目的,本发明提供一种网络资源的处理方法,应用于包含有提供网络资源的源站服务器和与所述源站服务器建立TCP长连接为所述源站服务器提供网络加速服务的CDN服务器的网络环境中,所述网络资源的处理方法包括:在接收到所述CDN服务器传输的网络资源请求时,根据所述网络资源请求获取请求资源内容;根据所述请求资源内容从包含有请求资源内容与对应的内容标识的内容标识对照表中查找与获取的所述请求资源内容对应的内容标识;将查找到的所述内容标识写入TCP报文的可选字段中;将包含所述请求资源内容的连接通过所述TCP报文传输至所述CDN服务器。
为实现上述目的,本发明还提供一种网络资源的处理方法,应用于包含有提供网络资源的源站服务器和与所述源站服务器建立TCP长连接为所述源站服务器提供网络加速服务的CDN服务器的网络环境中,所述网络资源的处理方法包括:在接收到用户终端发送的网络资源请求时,将所述网络资源请求传输至源站服务器;在接收到所述源站服务器返回的TCP报文时,提取所述TCP报文的可选字段并判断所述TCP报文的可选字段中是否有与预先建立的内容标识存储表中的内容标识相同的内容标识,若是,则将所述可选字段中的内容标识添加到所述内容标识存储表中并将所述内容标识存储表中的内容标识所对应的请求内容的连接复制后返回给所述用户终端,并终止将所述用户终端的后续网络资源请求传输至所述源站服务器;若否,则将所述可选字段中的内容标识添加到所述内容标识存储表中并将所述TCP报文中携带的包含请求资源内容的连接返回给所述用户终端。
于本发明的一实施例中,所述网络资源的处理方法还包括:在接收到用户终端发送的网络资源断开请求时,断开与所述用户终端的连接并将针对该用户终端在所述内容标识存储表中添加的内容标识清除。
于本发明的一实施例中,在所述内容标识存储表中有相同的内容标识全部被清除后,断开与所述源站服务器间用于传输与所述内容标识所对应的请求内容的TCP长连接。
为实现上述目的,本发明还提供一种网络资源的处理装置,应用于包含有提供网络资源的源站服务器和与所述源站服务器建立TCP长连接为所述源站服务器提供网络加速服务的CDN服务器的网络环境中,所述网络资源的处理装置包括:请求接受处理模块,用于在接收到所述CDN服务器传输的网络资源请求时,根据所述网络资源请求获取请求资源内容;对照表模块,用于建立包含请求资源内容与对应的内容标识的内容标识对照表;标识内容查找模块,用于根据所述请求资源内容从所述内容标识对照表中查找与获取的所述请求资源内容对应的内容标识;标识内容写入模块,用于将查找的所述内容标识写入TCP报文的可选字段中;传输模块,用于将包含所述请求资源内容的连接通过所述TCP报文传输至所述CDN服务器。
为实现上述目的,本发明还提供一种源站服务器,所述源站服务器包括如上所述的网络资源的处理装置。
为实现上述目的,本发明还提供一种网络资源的处理装置,应用于包含有提供网络资源的源站服务器和与所述源站服务器建立TCP长连接为所述源站服务器提供网络加速服务的CDN服务器的网络环境中,所述网络资源的处理装置包括:请求接收传输模块,用于在接收到用户终端发送的网络资源请求时,将所述网络资源请求传输至源站服务器;报文接收处理模块,在接收到所述源站服务器返回的TCP报文时,提取所述TCP报文的可选字段并判断所述TCP报文的可选字段中是否有与预先建立的内容标识存储表中的内容标识相同的内容标识;内容标识存储表模块,用于建立用于存储从所述TCP报文的可选字段中提取的内容标识的内容标识存储表;内容标识添加模块,用于将从所述TCP报文的可选字段中提取的内容标识添加到所述内容标识存储表;复制返回处理模块,用于在所述TCP报文的可选字段中有与预先建立的内容标识存储表中的内容标识相同的内容标识时,将所述内容标识存储表中的内容标识所对应的请求内容的连接复制后返回给所述用户终端;直接返回处理模块,用于在所述TCP报文的可选字段中没有与预先建立的内容标识存储表中的内容标识相同的内容标识时,将所述TCP报文中携带的包含请求资源内容的连接返回给所述用户终端。
于本发明的一实施例中,所述网络资源的处理装置还包括:断开及清除模块,用于在接收到用户终端发送的网络资源断开请求时,断开与所述用户终端的连接并将针对该用户终端在所述内容标识存储表中添加的内容标识清除。
于本发明的一实施例中,所述断开及清除模块还用于在所述内容标识存储表中有相同的内容标识全部被清除后,断开与所述源站服务器间用于传输与所述内容标识所对应的请求内容的TCP长连接。
为实现上述目的,本发明还提供一种CDN服务器,所述CDN服务器包括如上所述的网络资源的处理装置。
为实现上述目的,本发明还提供一种网络资源的处理系统,所述网络资源的处理系统包括如上所述的源站服务器和如上所述的CDN服务器。
如上所述,本发明的一种网络资源的处理方法、装置、系统以及服务器,具有以下有益效果:
1、本发明中源站服务器将与请求资源内容对应的内容标识写入TCP报文的可选字段中,CDN服务器根据内容标识将对应的请求内容的连接复制后返回给所述用户终端,减少了回源节点与源站服务器的长连接数量,不同用户请求的相同动态内容由回源节点复制连接回复相同动态内容给不同用户,请求相同动态内容的用户越多,源站服务器带宽节约的越明显,有效解决了现有技术中视频直播、弹幕等动态数据传输的TCP长连接应用的源站服务器带宽使用量大的问题。
2、本发明中,当多个请求相同动态内容的用户断开连接时,多个用户与CDN服务器的回源节点断开连接,并不需要源站与每个用户断开连接,源站仅需要在最后一个请求相同动态内容的用户断开连接时断开与CDN服务器回源节点的连接即可,大大减少了源站的性能开销。
3、本发明对于用户终端是无感知的,用户终端无需做任何更改,无论是手机端app用户还是网页用户均可以使用,用户体验性好,具有广泛的应用前景。
附图说明
图1显示为本发明的应用于源站服务器的一种网络资源的处理方法的流程示意图。
图2显示为本发明的应用于CDN服务器的一种网络资源的处理方法的流程示意图。
图3显示为本发明的应用于源站服务器的一种网络资源的处理系统的原理框图。
图4显示为本发明的应用于CDN服务器的一种网络资源的处理系统的原理框图。
图5和图6显示为本发明中用户终端、源站服务器以及CDN服务器的连接关系示意图。
图7和图8显示为本发明中用户终端、源站服务器以及CDN服务器的整体交互示意图。
元件标号说明
10 源站服务器
100 网络资源的处理装置
101 请求接受处理模块
102 对照表模块
103 标识内容查找模块
104 标识内容写入模块
105 传输模块
20 CDN服务器
201 请求接收传输模块
202 报文接收处理模块
203 内容标识存储表模块
204 内容标识添加模块
205 直接返回处理模块
206 复制返回处理模块
30 用户终端
S101~S104 步骤
S201~S205 步骤
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
本发明的目的在于提供一种网络资源的处理方法、装置、系统以及服务器,用于解决现有技术中视频直播、弹幕等动态数据传输的TCP长连接应用的源站服务器带宽使用量大的问题。以下将详细阐述本发明的一种网络资源的处理方法、装置、系统以及服务器的原理及实施方式,使本领域技术人员不需要创造性劳动即可理解本发明的一种网络资源的处理方法、装置、系统以及服务器。
本实施例提供的网络资源的处理方法、装置、系统以及服务器,应用于包含有提供网络资源的源站服务器和与所述源站服务器建立TCP长连接为所述源站服务器提供网络加速服务的CDN服务器的网络环境中。
以下对本实施例中的网络资源的处理方法、装置、系统以及服务器进行具体说明。
本实施例提供一种网络资源的处理方法,所述网络资源的处理方法应用于源站服务器中,所述源站服务器存储有网络资源内容,具体地,如图1所示,所述网络资源的处理方法包括以下步骤:
步骤S101,在接收到所述CDN服务器传输的网络资源请求时,根据所述网络资源请求获取请求资源内容。即源站服务器在接收到所述CDN服务器传输的网络资源请求时,根据所述网络资源请求获取请求资源内容。
步骤S102,根据所述请求资源内容从包含有请求资源内容与对应的内容标识的内容标识对照表中查找与获取的所述请求资源内容对应的内容标识。其中,所述源站服务器维护一个预先约定好的请求资源内容与对应的内容标识的内容标识对照表,将用户请求内容与相应的数据(内容标识)对应起来,例如视频1对应成1,视频2对应成2,以此类推,视频n对应成n。
步骤S103,将查找到的所述内容标识写入TCP报文的可选字段中。
其中,TCP协议在设计时,专门预留了可以多达40字节的可选(option)字段使用。TCP报文段由TCP首部和TCP数据部分组成,其中TCP首部由20字节的固定首部和长度可变的选项(option字段)组成,如表1所示,TCP首部可以有多达40字节的可选信息,用于把附加信息传递给终点,或用来对齐其他选项,填充字段的作用则是为了使整个TCP首部的长度是4字节的整数倍。
表1
典型的TCP首部的option字段结构如表2所示。选项的第一个字段kind说明选项的类型,有的TCP选项没有后面两个字段,仅包含1字节的kind字段。第二个字段length(如果有的话)指定该选项的总长度,该长度包括kind字段和length字段占据的2字节以及info占据的字节数。第三个字段info(如果有的话)是选项的具体信息。
表2
kind(1字节) length(1字节) info(n字节)
于本实施例中,可以开发一个软件开发工具包(SDK:Software DevelopmentKit),提供给源站服务器安装,用于源站服务器向CDN服务器返回数据时在TCP option字段中插入用户请求的内容标识。
具体地,本实施例中,源站服务器的SDK通过内核在TCP option中插入的内容如表3所示。
表3
如表3所示,在TCP的option字段的后面插入8个字节的内容,字节1和字节2都是不无操作内容NOP(No option)的,值为0x01,目的是将option字段补成4字节的整数倍;字节3是kind,值为0x63,即99,可根据情况与源站服务器约定其他数值;字节4是length,即该选项的长度,这里为0x0A,即10,该长度包含kind、length及info的总长度;字节5-12是info,是8字节的内容标识,具体数值由源站服务器根据请求资源内容与内容标识的对应关系决定。
步骤S104,将包含所述请求资源内容的连接通过所述TCP报文传输至所述CDN服务器。
如上所述,源站服务器解析请求信息,确定该用户所请求的视频或弹幕内容,将其对应成一个内容标识(例如对应成1),SDK通过内核将该内容标识信息写入响应TCP option字段中,并将该TCP报文返回请求内容给CDN服务器。
本实施例还提供一种网络资源的处理方法,应用于为所述源站服务器提供网络加速服务的CDN服务器中,具体地,如图2所示,所述网络资源的处理方法包括以下步骤:
步骤201,在接收到用户终端发送的网络资源请求时,将所述网络资源请求传输至源站服务器。即当用户终端请求某源站服务器的直播或者弹幕业务时,通过CDN服务器(回源节点)与源站服务器建立TCP长连接。
步骤202,在接收到所述源站服务器返回的TCP报文时,提取所述TCP报文的可选字段。
步骤203,判断所述TCP报文的可选字段中是否有与预先建立的内容标识存储表中的内容标识相同的内容标识,若是,则接着执行步骤204,若否,则接着执行步骤205。
步骤204,将所述可选字段中的内容标识添加到所述内容标识存储表中并将所述内容标识存储表中的内容标识所对应的请求内容的连接复制后返回给所述用户终端,并终止将所述用户终端的后续网络资源请求传输至所述源站服务器。
步骤205,将所述可选字段中的内容标识添加到所述内容标识存储表中并将所述TCP报文中携带的包含请求资源内容的连接返回给所述用户终端。
也就是说,CDN服务器维护一个内容标识存储表,最初时刻,所述内容标识存储表为空,当第一个用户终端向源站服务器请求资源内容,源站服务器在TCP option字段插入相应的内容标识后,返回相应数据给CDN服务器(该连接假设为连接1)时,CDN服务器通过内核从TCP option的可选字段中提取出内容标识后,将该内容标识(假设为1)记录到内容标识存储表中,并将源站服务器响应的资源内容通过CDN服务器的动态加速网络传输给第一个用户终端。
当第二个用户终端请求的内容通过源站服务器插入内容标识后回复给CDN服务器,CDN服务器同样从TCP option的相应字段中取出该内容标识,若该内容标识在所述内容标识存储表中已存在,则说明已存在请求同样内容的连接,则复制连接1,回复与连接1相同的内容给第二个用户终端,断开第二个用户终端使用的CDN服务器与源站服务器的连接,同时在所述内容标识存储表中再记录一次内容标识1;若第二个用户终端请求的内容与第一个用户终端的不同,则说明无请求相同内容的连接存在,则将第二个用户终端请求的内容标识(假设为2)记录到所述内容标识存储表中,并按正常的过程回复第二个用户终端,并不断开CDN服务器与源站的连接。依次类推,第n个用户终端的资源内容请求过程与第二个用户终端的资源内容请求过程相同,在此不再赘述。
也就是说,当用第二个用户终端的请求到达CDN服务器时,CDN服务器为第二个用户终端与源站服务器建立连接,源站服务器解析第二个用户终端请求的信息,确定该请求所对应的视频或者弹幕内容标识,通过内核将内容标识写入响应的TCP option字段中,返回请求内容给CDN服务器,CDN服务器收到响应内容后,解析该响应包的TCP option字段,匹配当前还与源站服务器建立的长连接的TCP option中的内容标识,若有相同标识的连接(假设是第一个用户终端与源站服务器建立的连接),则主动断开为第二个用户终端与源站服务器建立的连接,并由CDN服务器复制一条第一个用户终端的连接给第二个用户终端(即第二个用户终端的连接由第一个用户终端的连接复制而成),将匹配成功的内容(第一个用户终端请求的内容)响应给第二个用户终端。如果无法匹配成功,则整个过程同正常请求及响应的过程,即第一个用户终端的请求及响应过程。
于本实施例中,所述网络资源的处理方法还包括:在接收到用户终端发送的网络资源断开请求时,断开与所述用户终端的连接并将针对该用户终端在所述内容标识存储表中添加的内容标识清除。其中,在所述内容标识存储表中有相同的内容标识全部被清除后,断开与所述源站服务器间用于传输与所述内容标识所对应的请求内容的TCP长连接。
也就是说,于本实施例中,当某个用户终端的连接断开后,CDN服务器需要从内容标识存储表中清除一个该连接传输内容的内容标识(假设为n),当传输该同一内容的所有连接都断开后,所述内容标识存储表中的内容标识n全部被清除,则说明已无用户终端请求该内容,CDN服务器断开与源站服务器为传输该内容建立的长连接。之后若再有用户请求内容n时,需重新建立整个完整TCP长连接。
相对应地,本实施例还提供一种网络资源的处理装置,应用于包含有提供网络资源的源站服务器和与所述源站服务器建立TCP长连接为所述源站服务器提供网络加速服务的CDN服务器的网络环境中,所述网络资源的处理装置应用于源站服务器中,所述源站服务器存储有网络资源内容,具体地,如图3所示,所述网络资源的处理装置100包括:请求接受处理模块101,对照表模块102,标识内容查找模块103,标识内容写入模块104以及传输模块105。
具体地,于本实施例中,所述请求接受处理模块101用于在接收到所述CDN服务器传输的网络资源请求时,根据所述网络资源请求获取请求资源内容。即源站服务器在接收到所述CDN服务器传输的网络资源请求时,根据所述网络资源请求获取请求资源内容。
具体地,于本实施例中,所述对照表模块102用于建立包含请求资源内容与对应的内容标识的内容标识对照表。所述源站服务器维护一个预先约定好的请求资源内容与对应的内容标识的内容标识对照表,将用户请求内容与相应的数据(内容标识)对应起来,例如视频1对应成1,视频2对应成2,以此类推,视频n对应成n。
具体地,于本实施例中,所述标识内容查找模块103用于根据所述请求资源内容从所述内容标识对照表中查找与获取的所述请求资源内容对应的内容标识。
具体地,于本实施例中,所述标识内容写入模块104用于将查找的所述内容标识写入TCP报文的可选字段中。
其中,TCP协议在设计时,专门预留了可以多达40字节的可选(option)字段使用。TCP报文段由TCP首部和TCP数据部分组成,其中TCP首部由20字节的固定首部和长度可变的选项(option字段)组成,如表1所示,TCP首部可以有多达40字节的可选信息,用于把附加信息传递给终点,或用来对齐其他选项,填充字段的作用则是为了使整个TCP首部的长度是4字节的整数倍。
典型的TCP首部的option字段结构如表2所示。选项的第一个字段kind说明选项的类型,有的TCP选项没有后面两个字段,仅包含1字节的kind字段。第二个字段length(如果有的话)指定该选项的总长度,该长度包括kind字段和length字段占据的2字节以及info占据的字节数。第三个字段info(如果有的话)是选项的具体信息。
于本实施例中,可以开发一个软件开发工具包(SDK:Software DevelopmentKit),提供给源站服务器安装,用于源站服务器向CDN服务器返回数据时在TCP option字段中插入用户请求的内容标识。
具体地,本实施例中,源站服务器的SDK通过内核在TCP option中插入的内容如表3所示。在TCP的option字段的后面插入8个字节的内容,字节1和字节2都是不无操作内容NOP(No option)的,值为0x01,目的是将option字段补成4字节的整数倍;字节3是kind,值为0x63,即99,可根据情况与源站服务器约定其他数值;字节4是length,即该选项的长度,这里为0x0A,即10,该长度包含kind、length及info的总长度;字节5-12是info,是8字节的内容标识,具体数值由源站服务器根据请求资源内容与内容标识的对应关系决定。
具体地,于本实施例中,所述传输模块105用于将包含所述请求资源内容的连接通过所述TCP报文传输至所述CDN服务器。
如上所述,源站服务器解析请求信息,确定该用户所请求的视频或弹幕内容,将其对应成一个内容标识(例如对应成1),SDK通过内核将该内容标识信息写入响应TCP option字段中,并将该TCP报文返回请求内容给CDN服务器。
相对应地,如图5和图6所示,本实施例还提供一种源站服务器10,所述源站服务器10包括如上所述的网络资源的处理装置100。所述源站服务器10解析用户终端的请求内容,查找预存在源站服务器10上资源内容与内容标识对应表,并通过预先安装好的SDK在响应包的TCP option中插入相应的内容标识。
本实施例还提供一种网络资源的处理装置,应用于为所述源站服务器10提供网络加速服务的CDN服务器中,具体地,如图4所示,所述网络资源的处理装置200包括:请求接收传输模块201,报文接收处理模块202,内容标识存储表模块203,内容标识添加模块204,复制返回处理模块206以及直接返回处理模块205。
具体地,于本实施例中,所述请求接收传输模块201用于在接收到用户终端发送的网络资源请求时,将所述网络资源请求传输至源站服务器10。即当用户终端请求某源站服务器10的直播或者弹幕业务时,通过CDN服务器(回源节点)与源站服务器10建立TCP长连接。
具体地,于本实施例中,所述报文接收处理模块202在接收到所述源站服务器10返回的TCP报文时,提取所述TCP报文的可选字段并判断所述TCP报文的可选字段中是否有与预先建立的内容标识存储表中的内容标识相同的内容标识。
具体地,于本实施例中,所述内容标识存储表模块203用于建立用于存储从所述TCP报文的可选字段中提取的内容标识的内容标识存储表。
具体地,于本实施例中,所述内容标识添加模块204用于将从所述TCP报文的可选字段中提取的内容标识添加到所述内容标识存储表。
具体地,于本实施例中,所述复制返回处理模块206用于在所述TCP报文的可选字段中有与预先建立的内容标识存储表中的内容标识相同的内容标识时,将所述内容标识存储表中的内容标识所对应的请求内容的连接复制后返回给所述用户终端。
具体地,于本实施例中,所述直接返回处理模块205用于在所述TCP报文的可选字段中没有与预先建立的内容标识存储表中的内容标识相同的内容标识时,将所述TCP报文中携带的包含请求资源内容的连接返回给所述用户终端。
也就是说,CDN服务器维护一个内容标识存储表,最初时刻,所述内容标识存储表为空,当第一个用户终端向源站服务器10请求资源内容,源站服务器10在TCP option字段插入相应的内容标识后,返回相应数据给CDN服务器(该连接假设为连接1)时,CDN服务器通过内核从TCP option的可选字段中提取出内容标识后,将该内容标识(假设为1)记录到内容标识存储表中,并将源站服务器10响应的资源内容通过CDN服务器的动态加速网络传输给第一个用户终端。
当第二个用户终端请求的内容通过源站服务器10插入内容标识后回复给CDN服务器,CDN服务器同样从TCP option的相应字段中取出该内容标识,若该内容标识在所述内容标识存储表中已存在,则说明已存在请求同样内容的连接,则复制连接1,回复与连接1相同的内容给第二个用户终端,断开第二个用户终端使用的CDN服务器与源站服务器10的连接,同时在所述内容标识存储表中再记录一次内容标识1;若第二个用户终端请求的内容与第一个用户终端的不同,则说明无请求相同内容的连接存在,则将第二个用户终端请求的内容标识(假设为2)记录到所述内容标识存储表中,并按正常的过程回复第二个用户终端,并不断开CDN服务器与源站的连接。依次类推,第n个用户终端的资源内容请求过程与第二个用户终端的资源内容请求过程相同,在此不再赘述。
也就是说,当用第二个用户终端的请求到达CDN服务器时,CDN服务器为第二个用户终端与源站服务器10建立连接,源站服务器10解析第二个用户终端请求的信息,确定该请求所对应的视频或者弹幕内容标识,通过内核将内容标识写入响应的TCP option字段中,返回请求内容给CDN服务器,CDN服务器收到响应内容后,解析该响应包的TCP option字段,匹配当前还与源站服务器10建立的长连接的TCP option中的内容标识,若有相同标识的连接(假设是第一个用户终端与源站服务器10建立的连接),则主动断开为第二个用户终端与源站服务器10建立的连接,并由CDN服务器复制一条第一个用户终端的连接给第二个用户终端(即第二个用户终端的连接由第一个用户终端的连接复制而成),将匹配成功的内容(第一个用户终端请求的内容)响应给第二个用户终端。如果无法匹配成功,则整个过程同正常请求及响应的过程,即第一个用户终端的请求及响应过程。
于本实施例中,所述网络资源的处理装置200还包括:断开及清除模块,用于在接收到用户终端发送的网络资源断开请求时,断开与所述用户终端的连接并将针对该用户终端在所述内容标识存储表中添加的内容标识清除;其中,所述断开及清除模块还用于在所述内容标识存储表中有相同的内容标识全部被清除后,断开与所述源站服务器10间用于传输与所述内容标识所对应的请求内容的TCP长连接。
也就是说,于本实施例中,当某个用户终端的连接断开后,CDN服务器需要从内容标识存储表中清除一个该连接传输内容的内容标识(假设为n),当传输该同一内容的所有连接都断开后,所述内容标识存储表中的内容标识n全部被清除,则说明已无用户终端请求该内容,CDN服务器断开与源站服务器10为传输该内容建立的长连接。之后若再有用户请求内容n时,需重新建立整个完整TCP长连接。
相对应地,如图5和图6所示,本实施还提供一种CDN服务器20,所述CDN服务器20包括如上所述的网络资源的处理装置200。动态加速网络由许多分布在不同区域不同运营商的节点组成,包含边缘节点、中转节点和回源节点,其中所述回源节点即相当于本实施例中的CDN服务器20,CDN服务器20负责提取并且比对源站服务器10传输回来的响应包的TCPoption中的内容标识,若发现已存在相同内容标识,则复制已存在的相同内容的该连接回复此相同内容给不同用户,并断开为后面用户建立的回源节点与源站的长连接,从而节约源站的出口带宽。
此外,本实施还提供一种网络资源的处理系统,所述网络资源的处理系统包括如上所述的源站服务器10和如上所述的CDN服务器20。
为使本领域技术人员进一步理解本实施例中网络资源的处理方法、装置、系统以及服务器,如图5至图8所示,以下进一步说明本实施例中网络资源的处理方法、装置、系统以及服务器的具体实施工作过程。
本实施例中,用户终端30、CDN服务器20构成的动态加速网络以及源站服务器10的连接示意图如图5和图6所示。
如图6和图7所示,用户终端1发起请求,请求源站服务器10某内容,请求到达CDN服务器20,CDN服务器20向源站服务器10发起请求1,传递用户请求给源站。源站服务器10解析该用户请求,判断用户终端1请求的内容,查找内容与内容标识对照表,利用SDK通过内核在回复给用户终端1的响应内容的TCP头部的option中插入内容标识,并将响应1回给CDN服务器20。CDN服务器20收到源站服务器10回复的响应1后,调用内核接口解析并提取TCPoption字段中的内容标识,判断该内容标识是否在内容标识存储表中,此时,由于用户终端1是第一个请求该内容的用户,所以此时内容标识存储表中没有该内容标识,若没有,将源站服务器10插入的内容标识记录下来,插入到内容标识存储表中,CDN服务器20将响应1的内容经过CDN加速网络的多个节点回给用户终端1。
用户终端2向源站服务器10请求与用户终端1相同的内容,通过多个节点请求2到达CDN服务器20。CDN服务器20向源站服务器10发起请求2。源站服务器10的SDK通过内核在响应内容的TCP头部的option中插入内容标识,并将响应2回给CDN服务器20。CDN服务器20收到响应2后,调用内核接口解析响应2的TCP option字段,匹配响应1的TCPoption中的内容标识,匹配成功,CDN服务器20将响应1的连接内容复制一份,回给用户终端2,并断开响应2与源站服务器10的连接。如果内容标识无法匹配成功,则整个请求及响应过程如正常请求,即用户终端1请求及响应过程。依次类推,用户终端n的资源内容请求过程与用户终端2的资源内容请求过程相同。
如图8所示,用户终端30主动断开与CDN服务器20的连接,CDN服务器20在内容标识存储表中删除一个该连接传输内容对应的内容标识;若删除内容标识后,内容标识存储表中不存在该内容标识及于该内容标识相同的内容标识了,则CDN服务器20断开与源站服务器10为提供该内容标识对应的内容建立的长连接;若还有该内容标识,则CDN服务器20无需断开与源站服务器10为提供该内容标识对应的内容建立的长连接。
综上所述,本发明中源站服务器将与请求资源内容对应的内容标识写入TCP报文的可选字段中,CDN服务器根据内容标识将对应的请求内容的连接复制后返回给所述用户终端,减少了回源节点与源站服务器的长连接数量,不同用户请求的相同动态内容由回源节点复制连接回复相同动态内容给不同用户,请求相同动态内容的用户越多,源站服务器带宽节约的越明显,有效解决了现有技术中视频直播、弹幕等动态数据传输的TCP长连接应用的源站服务器带宽使用量大的问题;本发明中,当多个请求相同动态内容的用户断开连接时,多个用户与CDN服务器的回源节点断开连接,并不需要源站与每个用户断开连接,源站仅需要在最后一个请求相同动态内容的用户断开连接时断开与CDN服务器回源节点的连接即可,大大减少了源站的性能开销;本发明对于用户终端是无感知的,用户终端无需做任何更改,无论是手机端app用户还是网页用户均可以使用,用户体验性好,具有广泛的应用前景。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

Claims (11)

1.一种网络资源的处理方法,其特征在于,应用于包含有提供网络资源的源站服务器和与所述源站服务器建立TCP长连接为所述源站服务器提供网络加速服务的CDN服务器的网络环境中,所述网络资源的处理方法包括:
在接收到所述CDN服务器传输的网络资源请求时,根据所述网络资源请求获取请求资源内容;
根据所述请求资源内容从包含有请求资源内容与对应的内容标识的内容标识对照表中查找与获取的所述请求资源内容对应的内容标识;
将查找到的所述内容标识写入TCP报文的可选字段中;
将包含所述请求资源内容的连接通过所述TCP报文传输至所述CDN服务器。
2.一种网络资源的处理方法,其特征在于,应用于包含有提供网络资源的源站服务器和与所述源站服务器建立TCP长连接为所述源站服务器提供网络加速服务的CDN服务器的网络环境中,所述网络资源的处理方法包括:
在接收到用户终端发送的网络资源请求时,将所述网络资源请求传输至源站服务器;
在接收到所述源站服务器返回的TCP报文时,提取所述TCP报文的可选字段并判断所述TCP报文的可选字段中是否有与预先建立的内容标识存储表中的内容标识相同的内容标识,若是,则将所述可选字段中的内容标识添加到所述内容标识存储表中并将所述内容标识存储表中的内容标识所对应的请求内容的连接复制后返回给所述用户终端,并终止将所述用户终端的后续网络资源请求传输至所述源站服务器;若否,则将所述可选字段中的内容标识添加到所述内容标识存储表中并将所述TCP报文中携带的包含请求资源内容的连接返回给所述用户终端。
3.根据权利要求2所述的网络资源的处理方法,其特征在于,所述网络资源的处理方法还包括:
在接收到用户终端发送的网络资源断开请求时,断开与所述用户终端的连接并将针对该用户终端在所述内容标识存储表中添加的内容标识清除。
4.根据权利要求3所述的网络资源的处理方法,其特征在于,在所述内容标识存储表中有相同的内容标识全部被清除后,断开与所述源站服务器间用于传输与所述内容标识所对应的请求内容的TCP长连接。
5.一种网络资源的处理装置,其特征在于,应用于包含有提供网络资源的源站服务器和与所述源站服务器建立TCP长连接为所述源站服务器提供网络加速服务的CDN服务器的网络环境中,所述网络资源的处理装置包括:
请求接受处理模块,用于在接收到所述CDN服务器传输的网络资源请求时,根据所述网络资源请求获取请求资源内容;
对照表模块,用于建立包含请求资源内容与对应的内容标识的内容标识对照表;
标识内容查找模块,用于根据所述请求资源内容从所述内容标识对照表中查找与获取的所述请求资源内容对应的内容标识;
标识内容写入模块,用于将查找的所述内容标识写入TCP报文的可选字段中;
传输模块,用于将包含所述请求资源内容的连接通过所述TCP报文传输至所述CDN服务器。
6.一种源站服务器,其特征在于,所述源站服务器包括如权利要求5所述的网络资源的处理装置。
7.一种网络资源的处理装置,其特征在于:应用于包含有提供网络资源的源站服务器和与所述源站服务器建立TCP长连接为所述源站服务器提供网络加速服务的CDN服务器的网络环境中,所述网络资源的处理装置包括:
请求接收传输模块,用于在接收到用户终端发送的网络资源请求时,将所述网络资源请求传输至源站服务器;
报文接收处理模块,在接收到所述源站服务器返回的TCP报文时,提取所述TCP报文的可选字段并判断所述TCP报文的可选字段中是否有与预先建立的内容标识存储表中的内容标识相同的内容标识;
内容标识存储表模块,用于建立用于存储从所述TCP报文的可选字段中提取的内容标识的内容标识存储表;
内容标识添加模块,用于将从所述TCP报文的可选字段中提取的内容标识添加到所述内容标识存储表;
复制返回处理模块,用于在所述TCP报文的可选字段中有与预先建立的内容标识存储表中的内容标识相同的内容标识时,将所述内容标识存储表中的内容标识所对应的请求内容的连接复制后返回给所述用户终端;
直接返回处理模块,用于在所述TCP报文的可选字段中没有与预先建立的内容标识存储表中的内容标识相同的内容标识时,将所述TCP报文中携带的包含请求资源内容的连接返回给所述用户终端。
8.根据权利要求7所述的网络资源的处理装置,其特征在于,所述网络资源的处理装置还包括:
断开及清除模块,用于在接收到用户终端发送的网络资源断开请求时,断开与所述用户终端的连接并将针对该用户终端在所述内容标识存储表中添加的内容标识清除。
9.根据权利要求8所述的网络资源的处理装置,其特征在于,所述断开及清除模块还用于在所述内容标识存储表中有相同的内容标识全部被清除后,断开与所述源站服务器间用于传输与所述内容标识所对应的请求内容的TCP长连接。
10.一种CDN服务器,其特征在于,所述CDN服务器包括如权利要求7至权利要求9任一权利要求所述的网络资源的处理装置。
11.一种网络资源的处理系统,其特征在于,所述网络资源的处理系统包括如权利要求6所述的源站服务器和如权利要求10所述的CDN服务器。
CN201610793091.8A 2016-08-31 2016-08-31 一种网络资源的处理方法、装置、系统以及服务器 Active CN106170023B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610793091.8A CN106170023B (zh) 2016-08-31 2016-08-31 一种网络资源的处理方法、装置、系统以及服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610793091.8A CN106170023B (zh) 2016-08-31 2016-08-31 一种网络资源的处理方法、装置、系统以及服务器

Publications (2)

Publication Number Publication Date
CN106170023A true CN106170023A (zh) 2016-11-30
CN106170023B CN106170023B (zh) 2019-04-26

Family

ID=57376098

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610793091.8A Active CN106170023B (zh) 2016-08-31 2016-08-31 一种网络资源的处理方法、装置、系统以及服务器

Country Status (1)

Country Link
CN (1) CN106170023B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107438201A (zh) * 2017-07-06 2017-12-05 北京潘达互娱科技有限公司 消息处理系统、方法及装置
CN109361925A (zh) * 2018-11-14 2019-02-19 浙江远算云计算有限公司 一种基于hevc转码的视频流加速方法
CN110830531A (zh) * 2018-08-09 2020-02-21 阿里巴巴集团控股有限公司 资源请求的处理方法和装置及存储系统,电子和存储设备
CN111404761A (zh) * 2019-01-02 2020-07-10 中国移动通信有限公司研究院 内容成环检测处理方法、装置和计算机可读存储介质
CN112788090A (zh) * 2020-05-08 2021-05-11 珠海金山办公软件有限公司 一种网络资源传输方法、装置及系统
CN112866325A (zh) * 2019-11-28 2021-05-28 北京金山云网络技术有限公司 资源文件传输方法、装置、cdn中的上层及边缘节点

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1339890A (zh) * 2000-08-22 2002-03-13 朗迅科技公司 光波通信网络中传送多种协议格式的系统和方法
CN102970179A (zh) * 2012-11-01 2013-03-13 合一网络技术(北京)有限公司 一种基于点对点数据传输的媒体播放器测试方法及系统
CN103036967A (zh) * 2012-12-10 2013-04-10 北京奇虎科技有限公司 一种下载管理设备、方法及数据下载系统
CN103581248A (zh) * 2012-07-31 2014-02-12 中兴通讯股份有限公司 内容分发网络cdn服务的提供方法及装置
US20140095592A1 (en) * 2011-03-14 2014-04-03 Edgecast Networks, Inc. Network Connection Hand-Off and Hand-Back
CN104967685A (zh) * 2015-06-25 2015-10-07 广东德诚网络科技有限公司 基于Flash P2P的流媒体多级缓存网络加速方法
CN105072172A (zh) * 2015-07-31 2015-11-18 网宿科技股份有限公司 一种基于内容分发网络的热点统计及推送方法及系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1339890A (zh) * 2000-08-22 2002-03-13 朗迅科技公司 光波通信网络中传送多种协议格式的系统和方法
US20140095592A1 (en) * 2011-03-14 2014-04-03 Edgecast Networks, Inc. Network Connection Hand-Off and Hand-Back
CN103581248A (zh) * 2012-07-31 2014-02-12 中兴通讯股份有限公司 内容分发网络cdn服务的提供方法及装置
CN102970179A (zh) * 2012-11-01 2013-03-13 合一网络技术(北京)有限公司 一种基于点对点数据传输的媒体播放器测试方法及系统
CN103036967A (zh) * 2012-12-10 2013-04-10 北京奇虎科技有限公司 一种下载管理设备、方法及数据下载系统
CN104967685A (zh) * 2015-06-25 2015-10-07 广东德诚网络科技有限公司 基于Flash P2P的流媒体多级缓存网络加速方法
CN105072172A (zh) * 2015-07-31 2015-11-18 网宿科技股份有限公司 一种基于内容分发网络的热点统计及推送方法及系统

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107438201A (zh) * 2017-07-06 2017-12-05 北京潘达互娱科技有限公司 消息处理系统、方法及装置
CN107438201B (zh) * 2017-07-06 2020-08-21 北京潘达互娱科技有限公司 消息处理系统、方法及装置
CN110830531A (zh) * 2018-08-09 2020-02-21 阿里巴巴集团控股有限公司 资源请求的处理方法和装置及存储系统,电子和存储设备
CN110830531B (zh) * 2018-08-09 2022-06-10 阿里巴巴集团控股有限公司 资源请求的处理方法和装置及存储系统,电子和存储设备
CN109361925A (zh) * 2018-11-14 2019-02-19 浙江远算云计算有限公司 一种基于hevc转码的视频流加速方法
CN109361925B (zh) * 2018-11-14 2019-07-16 浙江远算云计算有限公司 一种基于hevc转码的视频流加速方法
CN111404761A (zh) * 2019-01-02 2020-07-10 中国移动通信有限公司研究院 内容成环检测处理方法、装置和计算机可读存储介质
CN112866325A (zh) * 2019-11-28 2021-05-28 北京金山云网络技术有限公司 资源文件传输方法、装置、cdn中的上层及边缘节点
CN112866325B (zh) * 2019-11-28 2023-05-16 北京金山云网络技术有限公司 资源文件传输方法、装置、cdn中的上层及边缘节点
CN112788090A (zh) * 2020-05-08 2021-05-11 珠海金山办公软件有限公司 一种网络资源传输方法、装置及系统
CN112788090B (zh) * 2020-05-08 2023-06-23 珠海金山办公软件有限公司 一种网络资源传输方法、装置及系统

Also Published As

Publication number Publication date
CN106170023B (zh) 2019-04-26

Similar Documents

Publication Publication Date Title
CN106170023A (zh) 一种网络资源的处理方法、装置、系统以及服务器
CN104125208B (zh) 数据传输方法及装置
CN103780679B (zh) 基于http协议的长延时远程调用方法
CN101304330B (zh) 一种资源配置方法、服务器、及网络系统
CN105827687A (zh) 集群管理方法及其管理系统
CN111193773B (zh) 负载均衡方法、装置、设备及存储介质
CN109189856A (zh) 分布式数据库服务管理方法、装置、服务器及存储介质
US8903972B2 (en) Method and apparatus for sharing contents using information of group change in content oriented network environment
CN104601702B (zh) 集群远程过程调用方法及系统
CN106936791A (zh) 拦截恶意网址访问的方法和装置
CN104348798A (zh) 一种分配网络的方法、装置、调度服务器和系统
CN104809028A (zh) 一种本地多进程间数据订阅推送的方法
CN103873523A (zh) 客户端集群访问方法及装置
CN103812900A (zh) 一种数据同步方法、装置及系统
CN107870982A (zh) 数据处理方法、系统和计算机可读存储介质
CN104243610A (zh) 一种分布式文件传输服务方法
CN111163172B (zh) 消息处理系统、方法、电子设备及存储介质
CN108901035A (zh) 物联网终端的识别方法和装置
CN111614792B (zh) 透传方法、系统、服务器、电子设备及存储介质
CN106231003B (zh) 一种地址分配方法及装置
CN104852964A (zh) 一种多功能服务器调度方法
CN115982091A (zh) 基于rdma引擎的数据处理方法与系统、介质、设备
CN110535959A (zh) 一种传输数据的方法、装置和计算机可读存储介质
CN101146107A (zh) 一种下载数据的方法及装置
CN106657424B (zh) 物联网中实现域名服务的方法、设备以及系统

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