发明内容
有鉴于此,本发明实施例提供了一种优化方法和优化服务器,能够在不改变任何网站内容以及不降低网民的访问感受的情况下,对网站内容进行优化,并能够通过合理增加用户和服务器的连接、减小网站内容的大小、减少二次访问用户需要获取的对象、改善加载顺序等方法,大幅度改善网民的访问体验。
第一方面提供了一种优化方法,包括:
步骤一:当接收到被引导的用户访问时,判断所述用户要访问的源站的内容是动态内容还是静态内容,如果是动态内容,获取所述用户要访问的源站的内容,并判断获取的内容是否可以进行实时的优化,如果可以进行实时的优化,则将其优化后提供给用户,结束本次优化,如果不能进行实时的优化,则直接提供给用户,结束本次优化;如果是静态内容,则转入步骤二;
步骤二:判断是否存储有所述用户要访问的源站的内容:如果没有存储用户要访问的源站的内容,获取所述用户要访问的源站的内容,进入步骤三;如果存储有所述用户要访问的源站内容,判断存储的内容中是否有经过优化的内容:如果存储的内容中有经过优化的内容,则将所述经过优化的内容作为待处理的内容,转入步骤四;如果存储的内容中没有经过优化的内容,则将未经过优化的内容作为待处理的内容,转入步骤四;
步骤三:判断获取的内容是否可以进行实时的优化,如果可以进行实时的优化,则将其优化后提供给用户并存储,结束本次优化;如果不可以进行实时的优化,则将其提供给用户并存储,然后转入步骤六;
步骤四:判断所述待处理的内容是否超过生存期,如果没有超过生存期,则将其发送给用户,并结束本次优化;如果超过生存期,则转入步骤五;
步骤五:判断源站的内容是否有更新,如果源站的内容没有更新,则将所述待处理的内容发送给用户并将其生存时间重置为0,结束本次优化;如果源站的内容有更新,则删除所述待处理的内容,获取更新的内容,然后转入步骤三:
步骤六:对不能进行实时的优化的的内容进行后台的优化,并对经过后台的优化的内容进行存储,结束本次优化。
在第一种可能的实现方式中,所述优化包括:
对内容进行自适应压缩;
删除内容中的无效文件;
删除内容中的代码类文件中的无效部分;
压缩内容中的URL长度;
根据用户的需要,设置内容中的图片文件的大小;
根据用户设备的类型,进行重新排版;
压缩内容中的图片文件、视频文件;
合并内容中的元素以减少请求次数;
控制内容的并发量以达到合理的并发请求量;
判断用户浏览器是否支持SPDY协议,如果支持,则开启内容的SPDY传输,否则,不开启内容的SPDY传输;
对内容启用keepalive,并根据所述源站的类型,设置相应的超时时间;
对内容的url进行替换以使用户能够实时获取更新内容;
对内容中的元素的存储时间和加载顺序进行优化设置;
根据内容中的css或html,设置内容中的图片的尺寸;
将文件格式和字符集的类型加入内容的http头部;
删除内容中的空的src、空的href以及无效的HTTP响应头部;
隔离针对内容中的静态内容的用户请求的cookie;
增加内容中的必要的HTTP响应头部。
结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述判断获取的内容是否可以进行实时的优化是通过负载、cpu使用率数据并结合所述获取的内容的大小和类型来判断。
第二方面提供了一种优化服务器,包括第一判断模块、第二判断模块、第三判断模块、第四判断模块、第五判断模块、优化模块以及存储模块,其中,
第一判断模块,用于当接收到被引导的用户访问时,判断所述用户要访问的源站的内容是动态内容还是静态内容,如果是动态内容,获取所述用户要访问的源站的内容,并判断获取的内容是否可以进行实时的优化,如果可以进行实时的优化,则将其优化后提供给用户,结束本次优化,如果不能进行实时的优化,则直接提供给用户,结束本次优化;如果是静态内容,启动第二判断模块;
第二判断模块,用于判断存储模块是否存储有所述用户要访问的源站的内容:如果没有存储用户要访问的源站的内容,获取所述用户要访问的源站的内容,并发送给第三判断模块;如果存储有所述用户要访问的源站内容,判断存储的内容中是否有经过优化的内容:如果存储的内容中有经过优化的内容,则将所述经过优化的内容作为待处理的内容,启动第四判断模块;如果存储的内容中没有经过优化的内容,则将未经过优化的内容作为待处理的内容,启动第四判断模块;
第三判断模块:用于接收第二判断模块、第五判断模块发送的内容,判断接收的内容是否可以进行实时的优化,如果可以,则将其优化后提供给用户并存储于存储模块,结束本次优化;如果不可以进行实时的优化,则将其提供给用户并存储于存储模块,以及将其发送给优化模块;
第四判断模块:用于判断存储模块中的所述待处理的内容是否超过生存期,如果没有超过生存期,则将其发送给用户,并结束本次优化;如果超过生存期,则启动第五判断模块;
第五判断模块:用于判断源站的内容是否有更新,如果源站的内容没有更新,则将存储模块中存储的所述待处理的内容发送给用户并将其生存时间重置为0,结束本次优化;如果源站的内容有更新,获取源站的更新的内容,则删除存储模块中所述待处理的内容,然后将获取的更新的内容发送给第三判断模块;
优化模块:用于接收第三判断模块发送的内容,并对其进行后台的优化,将经过后台的优化的内容存储于存储模块,结束本次优化。
在第二方面的第一种可能的实现方式中,所述第一判断模块、第三判断模块和优化模块进行的优化,包括以下操作:
对内容进行自适应压缩;
删除内容中的无效文件;
删除内容中的代码类文件中的无效部分;
压缩内容中的URL长度;
根据用户的需要,设置内容中的图片文件的大小;
根据用户设备的类型,进行重新排版;
压缩内容中的图片文件、视频文件;
合并内容中的元素以减少请求次数;
控制内容的并发量以达到合理的并发请求量;
判断用户浏览器是否支持SPDY协议,如果支持,则开启内容的SPDY传输,否则,不开启内容的SPDY传输;
对内容启用keepalive,并根据所述源站的类型,设置相应的超时时间;
对内容的url进行替换以使用户能够实时获取更新内容;
对内容中的元素的存储时间和加载顺序进行优化设置;
根据内容中的css或html,设置内容中的图片的尺寸;
将文件格式和字符集的类型加入内容的http头部;
删除内容中的空的src、空的href以及无效的HTTP响应头部;
隔离针对内容中的静态内容的用户请求的cookie;
增加内容中的必要的HTTP响应头部。
结合第二方面或第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述第一判断模块和第三判断模块是通过负载、cpu使用率数据并结合内容的大小和类型来判断是否可以对内容进行实时的优化。
结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述优化服务器是由单台服务器构成,或是由多台服务器组成的服务器群构成。
由上述技术方案可知,本发明通过判断是否存储有用户要访问的源站的内容以及判断源站的内容是否已经更新以确定对用户要访问的内容是否进行优化,从而能够在不改变任何网站内容以及不降低网民的访问感受的情况下,对网站内容进行优化,此外,本发明通过合理增加用户和服务器的连接、减小网站内容的大小、减少二次访问用户需要获取的对象、改善加载顺序等方法,大幅度改善网民的访问体验。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明一实施例提供的优化方法的流程示意图,如图1所示,本实施例的优化方法可以包括:
步骤一:当接收到被引导的用户访问时,判断所述用户要访问的源站的内容是动态内容还是静态内容,如果是动态内容,获取所述用户要访问的源站的内容,并判断获取的内容是否可以进行实时的优化,如果可以进行实时的优化,则将其优化后提供给用户,结束本次优化,如果不能进行实时的优化,则直接提供给用户,结束本次优化;如果是静态内容,则转入步骤二;
其中,对内容进行实时的优化,包括以下操作:
对内容进行自适应压缩;
删除内容中的无效文件;可以通过对用户的浏览器进行模拟发现源站内容中没有被引用或者没有被调用的无效文件。
删除内容中的代码类文件中的无效部分;例如,可以去除代码类文件中的不必要的格式、注释、换行符等无效部分。
压缩内容中的URL长度;
根据用户的需要,设置内容中的图片文件的大小;例如,如果用户需要一个10*50大小的图片,而源站提供的图片的大小是1000*5000,这时,可以通过将图片直接设置成10*50的大小来较小需要传输的数据量并且不对用户的浏览效果产生任何影响。
根据用户设备的类型,进行重新排版;其中,用户设备的类型可以是手机、ipad、电脑等。
压缩内容中的图片文件、视频文件;
合并内容中的元素以减少请求次数;
控制内容的并发量以达到合理的并发请求量;例如,如果用户访问的源站网页有100多个url,但是只有一个域名,受浏览器限制,只能有6个并发,这时可以将源站的域名拆分为4个域名,使其可以达到24个并发,以提高并发量;如果源站网页的域名有30个,由于每个域名都需要DNS请求,这时可以将域名压缩为6个,以减少请求时间。
判断用户浏览器是否支持SPDY协议,如果支持,则开启内容的SPDY传输,否则,不开启内容的SPDY传输;由于SPDY协议的传输效率较高,所以可以针对用户的浏览器,确定其是否支持SPDY协议,如果支持,就使用SPDY协议进行传输,从而能够大大提高传输效率。
对内容启用keepalive,并根据所述源站的类型,设置相应的超时时间;其中,由于开启keepalive后,会带来性能的消耗,所以会设置相应的超时时间,到了时间后,如果还没有数据交互,就会断开连接。可选地,可以根据源站的类型来进行超时时间的设置,例如,新闻类源站,用户一般停留的时间较短,可以将超时时间设置为10s;而电子商务类源站,用户一般停留的时间较长,可以将超时时间设置为30s。
对内容的url进行替换以使用户能够实时获取更新内容;例如,可以对内容的url和其获取时间进行hash计算,形成一个新的url,一旦出现url变更或被修改,都会形成一个新的url,从而使用户可以立刻获取到更新内容。
对内容中的元素的存储时间和加载顺序进行优化设置;例如,可以将CSS置顶,使用户最先下载CSS文件,从而使得用户可以最快地看到页面的展示;可以将js置低,从而不会因加载js而延长网页的展示时间。
根据内容中的css或html,设置内容中的图片的尺寸;
将文件格式和字符集的类型加入内容的http头部;
删除内容中的空的src、空的href以及无效的HTTP响应头部;
隔离针对内容中的静态内容的用户请求的cookie;
增加内容中的必要的HTTP响应头部。
可选地,所述的用户要访问的源站的内容可以是一个url对应的内容。
步骤二:判断是否存储有所述用户要访问的源站的内容:如果没有存储用户要访问的源站的内容,获取所述用户要访问的源站的内容,进入步骤三;如果存储有所述用户要访问的源站内容,判断存储的内容中是否有经过优化的内容:如果存储的内容中有经过优化的内容,则将所述经过优化的内容作为待处理的内容,转入步骤四;如果存储的内容中没有经过优化的内容,则将未经过优化的内容作为待处理的内容,转入步骤四;
其中,所述判断存储的内容中是否有经过优化的内容,是将存储的所述用户要访问的源站内容作为判断内容。
步骤三:判断获取的内容是否可以进行实时的优化,如果可以进行实时的优化,则将其优化后提供给用户并存储,结束本次优化;如果不可以进行实时的优化,则将其提供给用户并存储,然后转入步骤六;其中,本步骤中的优化操作和步骤一中的优化操作相同。
可选地,可以通过获取负载、cpu使用率数据并结合所述获取的内容的大小和类型来判断获取的内容是否可以进行实时的优化。
步骤四:判断所述待处理的内容是否超过生存期,如果没有超过生存期,
则将其发送给用户,并结束本次优化;如果超过生存期,则转入步骤五;
步骤五:判断源站的内容是否有更新,如果源站的内容没有更新,则将所述待处理的内容发送给用户并将其生存时间重置为0,结束本次优化;如果源站的内容有更新,则删除所述待处理的内容,获取更新的内容,然后转入步骤三:
步骤六:对不能进行实时的优化的的内容进行后台的优化,并对经过后台的优化的内容进行存储,结束本次优化。其中,本步骤中的优化操作和步骤一中的优化操作相同。
本实施例的方法通过判断是否存储有用户要访问的源站的内容以及判断源站的内容是否已经更新以确定对用户要访问的内容是否进行优化,从而能够在不改变任何网站内容以及不降低网民的访问感受的情况下,对网站内容进行优化,此外,本发明通过合理增加用户和服务器的连接、减小网站内容的大小、减少二次访问用户需要获取的对象、改善加载顺序等方法,大幅度改善网民的访问体验。
图2为本发明另一实施例提供的优化服务器20的结构示意图,如图2所示,本实施例的优化服务器20可以包括第一判断模块201、第二判断模块202、第三判断模块203、第四判断模块204、第五判断模块205、优化模块206以及存储模块207,其中,
第一判断模块201,用于当接收到被引导的用户访问时,判断所述用户要访问的源站的内容是动态内容还是静态内容,如果是动态内容,获取所述用户要访问的源站的内容,并判断获取的内容是否可以进行实时的优化,如果可以进行实时的优化,则将其优化后提供给用户,结束本次优化,如果不能进行实时的优化,则直接提供给用户,结束本次优化;如果是静态内容,启动第二判断模块202;
其中,第一判断模块201进行的实时的优化操作包括:对内容进行自适应压缩;
删除内容中的无效文件;
删除内容中的代码类文件中的无效部分;
压缩内容中的URL长度;
根据用户的需要,设置内容中的图片文件的大小;
根据用户设备的类型,进行重新排版;
压缩内容中的图片文件、视频文件;
合并内容中的元素以减少请求次数;
控制内容的并发量以达到合理的并发请求量;
判断用户浏览器是否支持SPDY协议,如果支持,则开启内容的SPDY传输,否则,不开启内容的SPDY传输;
对内容启用keepalive,并根据所述源站的类型,设置相应的超时时间;
对内容的url进行替换以使用户能够实时获取更新内容;
对内容中的元素的存储时间和加载顺序进行优化设置;
根据内容中的css或html,设置内容中的图片的尺寸;
将文件格式和字符集的类型加入内容的http头部;
删除内容中的空的src、空的href以及无效的HTTP响应头部;
隔离针对内容中的静态内容的用户请求的cooki e;
增加内容中的必要的HTTP响应头部。
可选地,第一判断模块201可以通过获取负载、cpu使用率数据并结合从源站获取的内容的大小和类型来判断该内容是否可以进行实时的优化。
第二判断模块202:用于判断存储模块207是否存储有所述用户要访问的源站的内容:如果没有存储用户要访问的源站的内容,获取所述用户要访问的源站的内容,并发送给第三判断模块203;如果存储有所述用户要访问的源站内容,判断存储的内容中是否有经过优化的内容:如果存储的内容中有经过优化的内容,则将所述经过优化的内容作为待处理的内容,启动第四判断模块204;如果存储的内容中没有经过优化的内容,则将未经过优化的内容作为待处理的内容,启动第四判断模块204;
第三判断模块203:用于接收第二判断模块202、第五判断模块205发送的内容,判断接收的内容是否可以进行实时的优化,如果可以,则将其优化后提供给用户并存储于存储模块207,结束本次优化;如果不可以进行实时的优化,则将其提供给用户并存储于存储模块207,以及将其发送给优化模块206;
可选地,第三判断模块203可以通过获取负载、cpu使用率数据并结合第二判断模块202、第五判断模块205发送的内容的大小和类型来判断该内容是否可以进行实时的优化。
其中,第三判断模块203进行的实时的优化操作与第一判断模块201进行的实时的优化操作相同。
第四判断模块204:用于判断存储模块207中的所述待处理的内容是否超过生存期,如果没有超过生存期,则将其发送给用户,并结束本次优化;如果超过生存期,则启动第五判断模块205;
第五判断模块205:用于判断源站的内容是否有更新,如果源站的内容没有更新,则将存储模块207中存储的所述待处理的内容发送给用户并将其生存时间重置为0,结束本次优化;如果源站的内容有更新,获取源站的更新的内容,则删除存储模块207中所述待处理的内容,然后将获取的更新的内容发送给第三判断模块203;
优化模块206:用于接收第三判断模块203发送的内容,并对其进行后台的优化,将经过后台的优化的内容存储于存储模块207,结束本次优化。
其中,优化模块206进行的实时的优化操作与第一判断模块201进行的实时的优化操作相同。
其中,可选地,所述存储模块207可以是缓存。
其中,优化服务器20可以由单台服务器构成,或可以由多台服务器组成的服务器群构成。服务器群中的多台服务器可以集中在一个物理地域,也可以分散在多个物理地域内。
本实施例的优化服务器20通过判断是否存储有用户要访问的源站的内容以及判断源站的内容是否已经更新以确定对用户要访问的内容是否进行优化,从而能够在不改变任何网站内容以及不降低网民的访问感受的情况下,对网站内容进行优化,此外,本发明通过合理增加用户和服务器的连接、减小网站内容的大小、减少二次访问用户需要获取的对象、改善加载顺序等方法,大幅度改善网民的访问体验。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所示模块的划分,仅仅为一种逻辑功能划分,实际实现时,可以有另外的划分方式,例如各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现,或一些特征可以忽略,或不执行。
另外,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关硬件完成的,所述的程序可以存储于一计算机可读存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁盘、光盘、只读存储记忆体(Read-OnlyMemory;简称:ROM)或随机存储记忆体(Random Access Memory;简称:RAM)等。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。