一种发布网页资源的方法及装置的制造方法
【技术领域】
[0001] 本发明涉及通信领域的管理技术,尤其涉及一种发布网页资源的方法及装置。
【背景技术】
[0002] 目前,网站一般采用如下两个方面的内容来保障用户的浏览体验:一、为了能让用 户正常访问最新信息和页面,网站的一般使用为基于J2EE的动态页面技术,每一次的页面 请求需要经过Webserver-AppServer-DB逐层处理后返回给用户;二、采用内容分发网 络(Q)N,ContentDeliveryNetwork)技术来解决跨网问题,一般将静态资源、视频发布到 距离用户较近的CDN服务器上,来实现针对不同网络、不同地域的用户加速的功能。
[0003] 但是,由于近年来随着网络客户数量大量增长,上述资源分配方式及构架设计已 不能满足当前的支撑压力,在整体构架及对资源的分类的设计上存在不足。其中,每个访问 的请求都需要经过Webserver-AppServer-DB逐层处理后响应页面,存在的关键问题 是:由于处理节点多,导致服务器负载大,使页面响应长,导致用户在网厅体验差。另外,网 厅页面不同资源的访问与响应机制并未根据资源自身的特性进行区分和优化,造成现有的 系统支撑资源不能有效响应。
【发明内容】
[0004] 有鉴于此,本发明的目的在于提供一种分布网页资源的方法及装置,能提升网站 的访问速度,提升用户体验。
[0005] 为达到上述目的,本发明的技术方案是这样实现的:
[0006] 本发明实施例提供了一种发布网页资源的方法,所述方法包括:
[0007] 按照预设的模块划分规则,将网页的内容划分为一个或多个模块;
[0008] 利用预设的资源识别模型,对所述一个或多个模块进行分析,得到所述一个或多 个模块的变更频率;
[0009] 根据各个模块的变更频率,分别所述一个或多个模块分别划分为静态资源或动态 资源;
[0010] 将所述静态资源对应的模块发布至缓存区,并对所述动态资源对应的模块进行异 步加载处理。
[0011] 上述方案中,所述利用预设的资源识别模型,对所述一个或多个模块进行分析,得 到所述一个或多个模块的变更频率之前,所述方法还包括:
[0012] 对多个页面进行分析,获取各个页面中各个模块的调用服务相关参数;
[0013] 根据所述各个模块的调用服务相关参数,确定所述各个模块对应的变更频率;
[0014] 利用所述各个模块的变更频率,确定资源识别模型。
[0015] 上述方案中,所述分别所述一个或多个模块分别划分为静态资源或动态资源,包 括:
[0016] 将页面中变更频率中和低的模块,划分为静态资源;将页面中变更频率高的模块 划分为动态资源。
[0017] 上述方案中,所述将所述静态资源对应的模块发布至缓存区,并对所述动态资源 对应的模块进行异步加载处理之后,所述方法还包括:
[0018] 检测到页面中的第一模块的内容发生变化时,利用预设的资源识别模型,计算所 述第一模块的变更频率;其中,所述第一模块当前为动态资源;
[0019] 当根据所述变更频率,确定所述第一模块变更为静态资源时,将所述第一模块发 布至缓存区。
[0020] 上述方案中,所述将所述静态资源对应的模块发布至缓存区,并对所述动态资源 对应的模块进行异步加载处理之后,所述方法还包括:
[0021]当检测到网页中的第二模块中内容发生变化时,其中,所述第二模块当前为静态 资源;
[0022] 利用预设的资源识别模型,重新计算所述第二模块的变更频率;
[0023] 根据所述变更频率,确定所述第二模块变更为动态资源,将所述第二模块进行异 步加载处理。
[0024] 本发明实施例还提供了一种发布网页资源的装置,所述装置包括:划分单元、计算 单元及处理单元;其中,
[0025] 所述划分单元,用于按照预设的模块划分规则,将网页的内容划分为一个或多个 模块;
[0026] 所述计算单元,用于利用预设的资源识别模型,对所述一个或多个模块进行分析, 得到所述一个或多个模块的变更频率;
[0027] 所述处理单元,用于根据各个模块的变更频率,分别所述一个或多个模块分别划 分为静态资源或动态资源;将所述静态资源对应的模块发布至缓存区,并对所述动态资源 对应的模块进行异步加载处理。
[0028] 上述方案中,所述计算单元,还用于对多个页面进行分析,获取各个页面中各个模 块的调用服务相关参数;根据所述各个模块的调用服务相关参数,确定所述各个模块对应 的变更频率;利用所述各个模块的变更频率,确定资源识别模型。
[0029] 上述方案中,所述处理单元,具体用于将页面中变更频率中和低的模块,划分为静 态资源;将页面中变更频率高的模块划分为动态资源。
[0030] 上述方案中,所述装置还包括:检测单元,用于当检测到页面中的第一模块的内容 发生变化时,通知所述计算单元计算所述第一模块的变更频率;其中,所述第一模块当前为 动态资源;
[0031] 相应的,所述计算单元,还用于利用预设的资源识别模型,计算所述第一模块的变 更频率;
[0032] 所述处理单元,还用于当根据所述变更频率,确定所述第一模块变更为静态资源 时,将所述第一模块发布至缓存区。
[0033] 上述方案中,所述检测单元,还用于当检测到网页中的第二模块中内容发生变化 时,通知所述计算单元计算所述第二模块的变更频率;其中,所述第二模块当前为静态资 源;
[0034] 相应的,所述计算单元,还用于利用预设的资源识别模型,重新计算所述第二模块 的变更频率;
[0035] 所述处理单元,具体用于根据所述变更频率,确定所述第二模块变更为动态资源; 将所述第二模块进行异步加载处理。
[0036] 本发明所提供的分布网页资源的方法及装置,能通过预设的资源识别模型,识别 出所要发布的网页中动态及静态内容,并分别将动态及静态内容发布至不同的区域,从而 实现静态及动态资源的分别处理,对静态资源进行缓存,只需要对动态资源进行加载,如此 在用户访问时,能够节省静态内容的读取时间,提升用户访问网页的速度,提升用户体验。
【附图说明】
[0037] 图1为本发明实施例发布网页资源的方法的操作流程示意图一;
[0038] 图2为本发明实施例计算得到资源识别模型的操作流程示意图;
[0039] 图3为本发明实施例发布网页资源的方法的操作流程示意图二;
[0040] 图4为本发明实施例发布网页资源的方法的操作流程示意图三;
[0041] 图5为本发明实施例发布网页资源的方法的操作流程示意图四;
[0042] 图6为本发明实施例发布网页资源的装置组成结构示意图。
【具体实施方式】
[0043] 下面结合附图及具体实施例对本发明再作进一步详细的说明。
[0044] 实施例一、
[0045] 本发明实施例提供的发布网页资源的方法,如图1所示,包括:
[0046] 步骤101:按照预设的模块划分规则,将网页的内容划分为一个或多个模块。
[0047] 步骤102:利用预设的资源识别模型,对所述一个或多个模块进行分析,得到所述 一个或多个模块的变更频率。
[0048] 步骤103 :根据各个模块的变更频率,分别所述一个或多个模块分别划分为静态 资源或动态资源。
[0049] 步骤104:将所述静态资源对应的模块发布至缓存区,并对所述动态资源对应的 模块进行异步加载处理。
[0050] 其中,所述模块划分规则为:根据当前网页中不同区域对应的功能设计和代码设 计,将网页划分为多个资源,比如,当前网页中的内容包括登录区域、内容选择区域、导航栏 区域等时,就可以将网页划分为上述几个模块,即登录区域模块、内容选择区域模块、导航 栏区域模块等。
[0051] 所述网页可以为即将发布的新网页。
[0052] 优选地,执行步骤102之前,还可以包括计算得到资源识别模型;所述计算,如图2 所示,包括:
[0053] 步骤201:对多个页面进行分析,获取各个页面中各个模块的调用服务相关参数。
[
0054] 具体的,根据模块划分规则将页面的内容划分为一个或多个资源;刷新每个页面, 获取所述一个或多个模块调用服务相关参数;
[0055] 所述调用服务相关参数可以包括:调用数据库的次数、和/或从数据库请求的字 节数、和/或调用Webserver的次数、和/或请求Webserver资源的字节数、和/或调用 AppServer次数、和/或请求AppServer资源的字节数。
[0056] 步骤202:根据所述各个模块的调用服务相关参数,确定所述各个模块对应的变 更频率。
[0057] 比如,可以由专家对各个模块的调用服务相关参数进行打分,将模块变更频率较 低的标记为1,变更频率较高的标记为2,变更频率中等的标记为3。
[0058] 优选地,在执行步骤202时,还可以对所述各个调用服务相关参数进行空值处理, 比如,所述各个模块对应的调用服务相关参数中的一部分会有空值现象,为了提高数据质 量,需要对空值数据进行处理。
[0059] 本发明实施例可以采用两种方式对空值数据进行处理:1、删除空值记录;2、将空 值数据替换为该字段的平均值。
[0060] 优选地,在获取调用服务相关参数时,可能会产生干扰数据,故需要根据每个字段 的预设情况,对每个字段的具体数据进行合法性校验,如数字型的字段允许出现字符。通过 合法性校验后,数据就能更好的用于机器学习训练。
[0061] 步骤203 :利用所述各个模块的变更频率,确定资源识别模型。
[0062] 所述确定资源识别模型可以使用现有技术对训练样本进行机器学习,由此生成神 经网络预测函数,将函数作为资源识别模型,比如,可以包括:
[0063] 1、网络初始化;给各连接权值分别赋一个区间(_1,1)内的随机数,设定误差函数 e,给定计算精度值和最大学习次数M。
[0064] 2、随机选取第k个输入样本及对应期望输出
[0065]
;其中,d代表数据样本,x代表期望值。
[0066] 3、将输入样本作为神经网络的输入层,通过simoid函数计算隐含层各神经元的 输入和输出。
[0067] 4、利用期望输出和实际输出,计算误差函数对输出层的各神经元的偏导数。
[0068] 5、利用隐含层到输出层的连接权值、输出层的6。〇〇和隐含层的输出计算误差 函数对隐含层各神经元的偏导数Sk(k)
[0069] 6、利用输出层各神经元的6。〇〇和隐含层各神经元的输出来修正连接权值 wh〇(k)
[0070] 7、利用隐含层各神经元的和输入层各神经元的输入修正连接权。
[0071] 8、计算全局误差
[0072] 9、若误差达到预设精度或学习次数大于设定的最大次数,则结束算法;否则,选取 下一个学习样本及对应的期望输出,返回到第3步,进入下一轮学习。
[0073] 如此,就可以通过建立一个资源识别模型,模块的输入参数为页面的调用服务相 关参数,输出为各个模块的变更频率。
[0074] 优选地,所述将所述一个或多个模块划分为静态资源或动态资源为:将页面中变 更频率中和低的模块,划分为静态资源;将页面中变更频率高的模块划分为动态资源;其 中,所述变更频率中或低均通过预设的阈值来进行区分,这里不做赘述。
[0075] 优选地,所述缓存区可以为Apache缓存区,具体可以通过页面静态化服务器和防 篡改服务器发布到Apache缓存区。
[0076] 所述异步加载处理可以为通过Ajax等异步加载技术实现,这里不做赘述。
[0077] 所述将所述静态资源对应的模块发布至缓存区,并对所述动态资源对应的模块进 行异步加载处理之后,还包括:
[0078] 检测到页面中的第一模块的内容发生变化时,利用预设的资源识别模型,计算所 述第一模块的变更频率;当根据所述变更频率,确定所述第一模块变更为静态资源时,将所 述第一模块发布至缓存区;
[0079] 或者,当检测到网页中的第二模块中内容发生变化时,其中,所述第二模块当前为 静态资源;
[0080] 利用预设的资源识别模型,重新计算所述第二模块的变更频率;根据所述变更频 率,确定所述第二模块变更为动态资源;将所述第二模块进行异步加载处理。
[0081] 实施例二、
[0082] 采用本发明实施例的一个场景为:当业务部门提出一个新页面的开发需求时,则 本实施例发布网页资源的方法,如图3所示,包括 :
[0083] 步骤301:程序员根据业务部门需求,生成新的页面。
[0084] 步骤302:将所述页面发布到页面静态化服务器上。
[0085] 步骤303:所述页面静态化服务器按照预设的模块划分规则,将所述网页的内容 划分为一个或多个模块。
[0086] 步骤304:所述页面静态化服务器利用预设的资源识别模型,分析得到页面的各 个模块的变更频率。
[0087] 步骤305:根据各个模块的变更频率,将所述一个或多个模块分别划分为静态资 源或动态资源。
[0088] 步骤306:将所述静态资源对应的模块发布至缓存区,并且对所述动态资源对应 的模块进行异步加载处理。
[0089] 实施例三、
[0090] 采用本发明实施例的一个场景为:完成上述实施例二的步骤306之后,当管理人 员需要将页面中的任意一个动态资源变更为静态资源、即将页面中的一部分动态内容变更 为静态内容时,本实施例发布网页资源的方法,如图4所示,包括 :
[0091] 步骤401:页面中的第一模块的内容发生变化。
[0092] 这里,所述第一模块可以为页面中发生变化的任意一个模块,本实施例中所述第 一模块的初始状态为动态资源。
[0093] 步骤402:利用预设的资源识别模型,重新计算所述第一模块的变更频率。
[0094] 步骤403:根据所述变更频率,确定所述第一模块变更为静态资源。
[0095] 步骤404:将所述第一模块发布至缓存区。
[0096]实施例四、
[0097] 采用本发明实施例的一个场景为:完成上述实施例二的步骤306完成后、或者实 施例三的步骤404完成后,当管理人员需要将页面中的任意一个静态资源变更为动态资 源、即将页面中的一部分静态内容变更为动态内容时,本实施例发布网页资源的方法,如图 5所示,包括:
[0098] 步骤501 :原有业务场景变更,网页中的第二模块中内容发生变化。
[0099] 这里,所述第二模块当前可以为静态资源。
[0100] 步骤502 :利用预设的资源识别模型,重新计算所述第二模块的变更频率。
[0101] 步骤503 :根据所述变更频率,确定所述第二模块变更为动态资源。
[0102] 步骤504 :将所述第二模块进行异步加载处理。
[0103] 实施例五、
[0104] 本发明实施例提供的发布网页资源的装置,如图6所示,包括:划分单元、计算单 元及处理单元;其中,
[0105] 划分单元,用于按照预设的模块划分规则,将网页的内容划分为一个或多个模 块;
[0106] 计算单元,用于利用预设的资源识别模型,对所述一个或多个模块进行分析,得到 所述一个或多个模块的变更频率;
[0107] 处理单元,用于根据各个模块的变更频率,分别所述一个或多个模块分别划分为 静态资源或动态资源;将所述静态资源对应的模块发布至缓存区,并对所述动态资源对应 的模块进行异步加载处理。
[0108] 其中,所述模块划分规则可以为:根据当前网页中的内容,将网页划分为多个模 块,比如,当前网页中的内容包括登录区域、内容选择区域、导航栏区域等时,就可以将网页 划分为上述几个模块,即登录区域模块、内容选择区域模块、导航栏区域模块等。所述网页 可以为即将发布的新网页。
[0109] 优选地,所述计算单元,还用于计算得到资源识别模型;所述计算包括:对多个页 面进行分析,分别获取各个页面中各个模块的数据;根据所述各个模块的数据,设置所述各 个模块对应的变更频率;对模块的变更频率进行空值处理;利用所述各个模块及其对应的 变更频率进行计算,得到资源识别模型。
[0110] 具体的,根据模块划分规则对每个页面进行模块化,得到一个或
多个模块;刷新 每个页面,将所述页面中一个或多个模块调用数据库的次数、从数据库请求的字节数、调用 Webserver的次数、请求Webserver资源的字节数、调用AppServer次数、请求AppServer资 源的字节数作为数据源。
[0111] 比如,可以由专家对各个模块的数据进行打分,将模块变更频率较低的标记为1, 变更频率较高的标记为2,变更频率中等的标记为3。
[0112] 所述各个模块中可能会有一部分模块由于在获取数据源时未获得具体数值,造成 空值现象,为了提高数据质量,需要将空值数据进行处理。本发明实施例可以采用两种方式 进行所述空值处理:1、删除空值记录;2、将空值数据替换为该字段的平均值。
[0113] 优选地,在获取数据时,可能会产生干扰数据,故需要根据每个字段的预设情况, 对每个字段的具体数据进行合法性校验,如数字型的字段允许出现字符。通过合法性校验 后,数据就能很好的用于机器学习训练。
[0114] 优选地,所述计算单元,具体用于采用机器学习,对训练样本进行机器学习,由此 生成神经网络预测函数,将函数作为资源识别模型,具体为:
[0115] 1、网络初始化;给各连接权值分别赋一个区间(_1,1)内的随机数,设定误差函数 e,给定计算精度值和最大学习次数M。
[0116] 2、随机选取第k个输入样本及对应期望输出
[0118] 3、计算隐含层各神经元的输入和输出。
[0119] 4、利用网络期望输出和实际输出,计算误差函数对输出层的各神经元的偏导数。
[0120] 5、利用隐含层到输出层的连接权值、输出层的6。〇〇和隐含层的输出计算误差 函数对隐含层各神经元的偏导数Sk(k)
[0121] 6、利用输出层各神经元的6。〇〇和隐含层各神经元的输出来修正连接权值 wh〇(k)
[0122] 7、利用隐含层各神经元的和输入层各神经元的输入修正连接权。
[0123] 8、计算全局误差
[0124] 9、判断网络误差是否满足要求,若误差达到预设精度或学习次数大于设定的最大 次数,则结束算法;否则,选取下一个学习样本及对应的期望输出,返回到第3步,进入下一 轮学习。
[0125] 如此,就可以通过建立一个资源识别模型,模块的输入参数为页面的各项模块数 据信息,该模块的字段同训练样本的字段,输出为各个模块的变更频率。
[0126] 优选地,所述处理单元,具体用于将页面中变更频率中和低的模块,划分为静态资 源;将页面中变更频率高的模块划分为动态资源。
[0127] 优选地,所述缓存区可以为Apache缓存区,具体可以通过页面静态化服务器和防 篡改服务器发布到Apache缓存区。
[0128] 所述异步加载处理可以为通过Ajax等异步加载技术实现,这里不做赘述。
[0129] 所述装置还包括:检测单元,用于检测到页面中的第一模块的内容发生变化时,通 知所述计算单元重新计算所述第一模块的变更频率;相应的,所述计算单元,还用于利用预 设的资源识别模型,计算所述第一模块的变更频率。
[0130] 或者,所述检测单元,用于当检测到网页中的第二模块中内容发生变化时,其中, 所述第二模块当前为静态资源,通知所述计算单元重新计算所述第二模块的变更频率;相 应的,所述计算单元,还用于利用预设的资源识别模型,重新计算所述第二模块的变更频 率。
[0131] 以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
【主权项】
1. 一种发布网页资源的方法,其特征在于,所述方法包括: 按照预设的模块划分规则,将网页的内容划分为一个或多个模块; 利用预设的资源识别模型,对所述一个或多个模块进行分析,得到所述一个或多个模 块的变更频率; 根据各个模块的变更频率,分别所述一个或多个模块分别划分为静态资源或动态资 源; 将所述静态资源对应的模块发布至缓存区,并对所述动态资源对应的模块进行异步加 载处理。2. 根据权利要求1所述的方法,其特征在于,所述利用预设的资源识别模型,对所述一 个或多个模块进行分析,得到所述一个或多个模块的变更频率之前,所述方法还包括: 对多个页面进行分析,获取各个页面中各个模块的调用服务相关参数; 根据所述各个模块的调用服务相关参数,确定所述各个模块对应的变更频率; 利用所述各个模块的变更频率,确定资源识别模型。3. 根据权利要求1或2所述的方法,其特征在于,所述分别所述一个或多个模块分别划 分为静态资源或动态资源,包括: 将页面中变更频率中和低的模块,划分为静态资源;将页面中变更频率高的模块划分 为动态资源。4. 根据权利要求3所述的方法,其特征在于,所述将所述静态资源对应的模块发布至 缓存区,并对所述动态资源对应的模块进行异步加载处理之后,所述方法还包括: 检测到页面中的第一模块的内容发生变化时,利用预设的资源识别模型,计算所述第 一模块的变更频率;其中,所述第一模块当前为动态资源; 当根据所述变更频率,确定所述第一模块变更为静态资源时,将所述第一模块发布至 缓存区。5. 根据权利要求3所述的方法,其特征在于,所述将所述静态资源对应的模块发布至 缓存区,并对所述动态资源对应的模块进行异步加载处理之后,所述方法还包括: 当检测到网页中的第二模块中内容发生变化时,其中,所述第二模块当前为静态资 源; 利用预设的资源识别模型,重新计算所述第二模块的变更频率; 根据所述变更频率,确定所述第二模块变更为动态资源,将所述第二模块进行异步加 载处理。6. -种发布网页资源的装置,其特征在于,所述装置包括:划分单元、计算单元及处理 单元;其中, 所述划分单元,用于按照预设的模块划分规则,将网页的内容划分为一个或多个模 块; 所述计算单元,用于利用预设的资源识别模型,对所述一个或多个模块进行分析,得到 所述一个或多个模块的变更频率; 所述处理单元,用于根据各个模块的变更频率,分别所述一个或多个模块分别划分为 静态资源或动态资源;将所述静态资源对应的模块发布至缓存区,并对所述动态资源对应 的模块进行异步加载处理。7. 根据权利要求6所述的装置,其特征在于, 所述计算单元,还用于对多个页面进行分析,获取各个页面中各个模块的调用服务相 关参数;根据所述各个模块的调用服务相关参数,确定所述各个模块对应的变更频率;利 用所述各个模块的变更频率,确定资源识别模型。8. 根据权利要求6或7所述的装置,其特征在于, 所述处理单元,具体用于将页面中变更频率中和低的模块,划分为静态资源;将页面中 变更频率高的模块划分为动态资源。9. 根据权利要求8所述的装置,其特征在于,所述装置还包括:检测单元,用于当检测 到页面中的第一模块的内容发生变化时,通知所述计算单元计算所述第一模块的变更频 率;其中,所述第一模块当前为动态资源; 相应的,所述计算单元,还用于利用预设的资源识别模型,计算所述第一模块的变更频 率; 所述处理单元,还用于当根据所述变更频率,确定所述第一模块变更为静态资源时,将 所述第一模块发布至缓存区。10. 根据权利要求9所述的装置,其特征在于, 所述检测单元,还用于当检测到网页中的第二模块中内容发生变化时,通知所述计算 单元计算所述第二模块的变更频率;其中,所述第二模块当前为静态资源; 相应的,所述计算单元,还用于利用预设的资源识别模型,重新计算所述第二模块的变 更频率; 所述处理单元,具体用于根据所述变更频率,确定所述第二模块变更为动态资源;将所 述第二模块进行异步加载处理。
【专利摘要】本发明公开了一种发布网页资源的方法及装置,其中方法包括:按照预设的模块划分规则,将网页的内容划分为一个或多个模块;利用预设的资源识别模型,对所述一个或多个模块进行分析,得到所述一个或多个模块的变更频率;根据各个模块的变更频率,分别所述一个或多个模块分别划分为静态资源或动态资源;将所述静态资源对应的模块发布至缓存区,并对所述动态资源对应的模块进行异步加载处理。采用本发明能提升网站的访问速度,提升用户体验。
【IPC分类】G06F17/30
【公开号】CN104899228
【申请号】CN201410083632
【发明人】宋浩, 宋晓亮, 侯佳佳, 李彦光, 王鹤雄
【申请人】中国移动通信集团河北有限公司
【公开日】2015年9月9日
【申请日】2014年3月7日