System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及计算机,具体涉及一种cms基于水印发布的弹性恢复方法。
技术介绍
1、目前,网站静态页面生成技术主要分为发布时生成和触发式生成两种,其中,发布时生成是在访问前就已经生成了实体页面,访问不会带来压力;触发式生成是在是发布的时候只生成水印文件,效率很高,在访问的时候才生成实体文件,是一种懒加载方式,对于分散访问来说压力基本可控。
2、发布时生成技术在发布期间需要集中查询数据库,发布期间对数据库会产生持续的压力,从而会影响其他的操作的执行效率。由于需要全部生成页面,对于体量较大的网站这种发布模式发布效率比较低下,并且对于核心的页面,如首页、等综合栏目页更新的及时性也得不到保障。
3、触发式生成是申请号为201810131507.9,名称为一种基于cms系统的快速发布网站文件的方法中提到的方法,在访问时查询数据渲染页面模板生成html页面,从而达到实体页面恢复的效果,解决了发布效率,但是,在大规模恢复实体文件期间仍然存在恢复量太大带来的系统压力过载问题以及核心页面无法及时恢复问题。
技术实现思路
1、鉴于现有技术中的上述缺陷或不足,期望提供cms基于水印发布的弹性恢复方法。
2、本申请实施例提供了一种cms基于水印发布的弹性恢复方法,该方法包括以下步骤:
3、s1:发布网站,并判断网站页面是否被访问,若被访问,则发送网站页面恢复请求;
4、s2:将网站页面进行分级加入到不同的恢复队列,所述恢复队列包括一级页面恢复队列
5、s3:根据不同级别的恢复队列的请求分批取前25个进行恢复请求合并,合并重复请求,得到归并后的一级页面恢复队列、归并后二级页面恢复队列以及归并后的三级页面恢复队列;
6、s4:对归并后的页面恢复队列进行页面恢复。
7、在其中一个实施例中,在步骤s3中,归并后的一级页面恢复队列最多为25个,归并后二级页面恢复队列和归并后的三级页面恢复队列均不超过25个。
8、在其中一个实施例中,所述步骤s4包括:
9、s41:将归并后的页面恢复队列发送给恢复控制模块;
10、s42:恢复控制模块从压力感知模块获取当前系统的恢复压力,并决定恢复策略。
11、在其中一个实施例中,所述步骤s42包括:
12、s421:压力感知模块监控恢复执行模型在第一预设时间段内页面恢复的平均耗时记为t1;将第一预设时间段内10%的最长耗时的平均耗时记为t2;根据t1和t2将恢复压力级别定义为三级,其中,当t1<3s且t2<3s时,系统压力级别为一级,此时系统恢复处于正常运转模式;当3s<t1<5s且3s<t2<5s时,系统压力级别为二级,此时系统恢复处于维持运转模式,需要进行干预;当t1>5s时,系统压力级别为三级,此时系统恢复处于防护模式,存在无法恢复的风险,需要加强干预力度;
13、s422:恢复控制模块读取压力感知模块中当前系统的恢复压力,在系统恢复压力级别为一级时,所有请求都进行恢复;在系统恢复压力级别为二级时,只恢复一级页面和二级页面;在系统恢复压力级别为三级时,只恢复一级页面;
14、s423:在恢复执行模块进行页面恢复时,记录当前页面的恢复时间,并发送给压力感知模块,压力感知模块动态统计时间,保留第二预设时间内恢复页面的平均耗时以及第二预设时间内10%的最长耗时的平均耗时(10%low)作为反映当前系统恢复压力的指标。
15、在其中一个实施例中,所述步骤s421中,所述第一预设时间为5min。
16、在其中一个实施例中,所述步骤s422中,在系统恢复压力级别为一级时,所有请求都进行恢复,其中恢复优先级为:一级页面>二级页面>其他页面。
17、在其中一个实施例中,所述步骤s422中,在系统恢复压力级别为二级时,只恢复一级页面和二级页面;其中恢复优先级为一级页面>二级页面。
18、在其中一个实施例中,所述步骤s422中,在系统恢复压力级别为三级时,只恢复一级页面;同时,对一级页面恢复结果进行验证,恢复过程异步进行判断,若存在原页面的情况下则优先返回原页面。
19、在其中一个实施例中,该方法还包括:
20、当存在未执行真实页面恢复时,则将未执行真实页面恢复的请求加入到为执行页面恢复队列中;
21、守护线程会在系统恢复压力为一级的时候逐步进行恢复。
22、本申请的有益效果包括:
23、本申请提供的cms基于水印发布的弹性恢复方法,通过将网站页面分级成一级页面恢复队列、二级页面恢复队列、其他页面恢复队列;其中,一级页面指首页,二级页面指从首页可直接到达的页面,其余页面统称为其他页面,然后对分级的页面进行归并,从而有效减少了一定时间内重复恢复页面的数量,避免了恢复量太大带来的系统压力过载问题。
本文档来自技高网...【技术保护点】
1.一种CMS基于水印发布的弹性恢复方法,其特征在于,该方法包括以下步骤:
2.根据权利要求1所述的CMS基于水印发布的弹性恢复方法,其特征在于,在步骤S3中,
3.根据权利要求1所述的CMS基于水印发布的弹性恢复方法,其特征在于,所述步骤S4包括:
4.根据权利要求3所述的CMS基于水印发布的弹性恢复方法,其特征在于,所述步骤S42包括:
5.根据权利要求4所述的CMS基于水印发布的弹性恢复方法,其特征在于,所述步骤S421中,所述第一预设时间为5min。
6.根据权利要求4所述的CMS基于水印发布的弹性恢复方法,其特征在于,所述步骤S422中,在系统恢复压力级别为一级时,所有请求都进行恢复,其中恢复优先级为:一级页面>二级页面>其他页面。
7.根据权利要求4所述的CMS基于水印发布的弹性恢复方法,其特征在于,所述步骤S422中,在系统恢复压力级别为二级时,只恢复一级页面和二级页面;其中恢复优先级为一级页面>二级页面。
8.根据权利要求4所述的CMS基于水印发布的弹性恢复方法,
9.根据权利要求4所述的CMS基于水印发布的弹性恢复方法,其特征在于,该方法还包括:
...【技术特征摘要】
1.一种cms基于水印发布的弹性恢复方法,其特征在于,该方法包括以下步骤:
2.根据权利要求1所述的cms基于水印发布的弹性恢复方法,其特征在于,在步骤s3中,
3.根据权利要求1所述的cms基于水印发布的弹性恢复方法,其特征在于,所述步骤s4包括:
4.根据权利要求3所述的cms基于水印发布的弹性恢复方法,其特征在于,所述步骤s42包括:
5.根据权利要求4所述的cms基于水印发布的弹性恢复方法,其特征在于,所述步骤s421中,所述第一预设时间为5min。
6.根据权利要求4所述的cms基于水印发布的弹性恢复方法,其特征在于,所述步骤s422中,在系统恢复压力级别...
【专利技术属性】
技术研发人员:李传咏,陈宁,张亮,
申请(专利权)人:西安博达软件股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。