CN104219271B - 基于多线程异步下载页面的多服务器同步方法 - Google Patents
基于多线程异步下载页面的多服务器同步方法 Download PDFInfo
- Publication number
- CN104219271B CN104219271B CN201310220524.7A CN201310220524A CN104219271B CN 104219271 B CN104219271 B CN 104219271B CN 201310220524 A CN201310220524 A CN 201310220524A CN 104219271 B CN104219271 B CN 104219271B
- Authority
- CN
- China
- Prior art keywords
- page
- effective page
- effective
- download
- download thread
- 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.)
- Active
Links
- 230000001360 synchronised effect Effects 0.000 title claims abstract description 32
- 238000000034 method Methods 0.000 title claims abstract description 21
- 230000003068 static effect Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
Landscapes
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种基于多线程异步下载页面的多服务器同步方法,包括以下步骤:基于线程创建规则创建多个下载线程;定义各个下载线程与有效页面地址的对应关系;各个下载线程通过与自身对应的有效页面地址,读取到有效页面,然后异步下载所述有效页面;各个所述下载线程通过读取配置文件,获得与有效页面地址对应的同步服务器IP和路径;各个下载线程将有效页面同步到同步服务器IP和路径所表示的同步服务器上;当任意一个下载线程执行结束时,下载线程申请处理下一个有效页面,直到没有需要处理的有效页面时,注销下载线程。在保证用户访问网站速度的同时,还能够保证各台WEB服务器的同步,从而提高了用户的访问体验。
Description
技术领域
本发明属于通信技术领域,具体涉及一种基于多线程异步下载页面的多服务器同步方法。
背景技术
随着IT的快速发展,网站发展迅速,网站访问量呈指数性增长,由此导致单一服务器无法承担巨大的访问量,从而导致网站访问速度降低。因此,为提高网站的访问速度,现有技术中,通常采用一个网站架设多台WEB服务器,并且,在每一台WEB服务器上运行定时静态化页面程序,通过定时静态化页面程序,将重点页面静态化,然后在每一台WEB服务器上保存静态化页面。
上述方式存在的主要问题为:由于各台WEB服务器的时间存在不一致性现象,因此,各台WEB服务器所生成的静态化页面存在页面生成时间偏差,例如:在同一时刻,WEB服务器A的当前设置时间为9:00,而WEB服务器B的当前设置时间为9:08;此时,WEB服务器A静态化9:00时的页面A,得到9:00时的页面A;而WEB服务器B静态化9:08时的页面A,得到9:08时的页面A;而9:00时的页面A和9:08时的页面A不相同。因此,在同一时刻,如果用户A和用户B同时访问该网站,则存在用户A和用户B访问到不同页面的情况,从而降低了用户的访问体验。
发明内容
针对现有技术存在的缺陷,本发明提供一种基于多线程异步下载页面的多服务器同步方法,在保证用户访问网站速度的同时,还能够保证各台WEB服务器的同步,从而提高了用户的访问体验。
本发明采用的技术方案如下:
本发明提供一种基于多线程异步下载页面的多服务器同步方法,包括以下步骤:
S1,接收配置文件的存储位置信息;
S2,根据接收到的所述存储位置信息,读取所述配置文件;其中,所述配置文件已存储由一个以上需要下载的原始页面地址组成的原始页面地址列表,还存储与每个所述原始页面地址对应的一个以上同步服务器IP和路径;
S3,对读取到的所述配置文件进行预处理,得到处理后的新配置文件;其中,所述新配置文件中存储由一个以上需要下载的有效页面地址组成的有效页面地址列表,还存储与每个所述有效页面地址对应的一个以上同步服务器IP和路径;
S4,计算所述有效页面地址列表中存储的有效页面地址数量,然后基于线程创建规则创建多个下载线程;
S5,定义各个所述下载线程与所述有效页面地址的对应关系;
S6,各个所述下载线程通过与自身对应的有效页面地址,读取到有效页面,然后异步下载所述有效页面;
S7,各个所述下载线程通过读取所述配置文件,获得与所述有效页面地址对应的同步服务器IP和路径;
S8,各个所述下载线程将S6得到的所述有效页面同步到S7获得的同步服务器IP和路径所表示的同步服务器上;
当任意一个所述下载线程执行S8结束时,所述下载线程申请处理下一个有效页面,直到没有需要处理的有效页面时,注销所述下载线程。
优选的,S3中,对读取到的所述配置文件进行预处理,具体为:
对读取到的所述配置文件进行过滤操作。
优选的,对读取到的所述配置文件进行过滤操作,具体为:
判断各个所述原始页面地址是否为合法的地址链接,如果存在不合法的地址链接,则删除所述不合法的地址链接;和/或
判断所述配置文件中是否存在说明性文字;如果存在,则删除所述说明性文字;和/或
判断所述配置文件中是否存在相同的原始页面地址与同步服务器IP和路径对应关系;如果存在,则删除重复的所述原始页面地址与同步服务器IP和路径对应关系。
优选的,S6中,指定下载线程异步下载指定有效页面具体为:
所述指定下载线程向指定页面服务器发送下载请求消息;然后判断是否在预定时间间隔内收到所述指定页面服务器返回的下载响应消息,如果收到,则继续后续流程;如果没有收到,则注销所述指定下载线程。
优选的,S8中,特定下载线程将特定有效页面同步到特定同步服务器上,具体为:
在前一时刻,所述特定下载线程下载所述特定有效页面地址所代表的有效页面P1;然后将所述有效页面P1以文件名X保存到所述特定同步服务器上;
在当前时刻,所述特定下载线程下载所述特定有效页面地址所代表的有效页面P2;然后,首先将所述有效页面P2以文件名Y写入所述特定同步服务器上;再用所述有效页面P2替换所述有效页面P1;其中,文件名X与文件名Y不相同。
优选的,S8,特定下载线程将特定有效页面同步到特定同步服务器上,具体为:
所述特定下载线程首先判断所述特定有效页面是否为只读属性;如果是,则将所述特定有效页面的只读属性改为非只读属性之后,再将非只读属性的所述特定有效页面同步到特定同步服务器上。
本发明的有益效果如下:
本发明提供的基于多线程异步下载页面的多服务器同步方法,在保证用户访问网站速度的同时,还能够保证各台WEB服务器的同步,从而提高了用户的访问体验。
附图说明
图1为本发明提供的基于多线程异步下载页面的多服务器同步方法的流程示意图。
具体实施方式
以下结合附图对本发明进行详细说明:
如图1所示,本发明提供一种基于多线程异步下载页面的多服务器同步方法,包括以下步骤:
S1,接收配置文件的存储位置信息;
S2,根据接收到的所述存储位置信息,读取所述配置文件;其中,所述配置文件已存储由一个以上需要下载的原始页面地址组成的原始页面地址列表,还存储与每个所述原始页面地址对应的一个以上同步服务器IP和路径;
例如:原始页面地址可以为页面URL地址。配置文件可以为txt文件,每一行为一个配置,页面URL地址和需要同步的同步服务器IP和路径之间用空格分割,各个同步服务器IP和路径用英文逗号分割。如:
http://m.autohome.com.cn/ashx/***/BookList.ashx?count=200\\10.168.0.120\d$\m.autohome.com.cn\includeFile\***\dealer\datalist.xml,\\10.168.0.166\d$\m.autohome.com.cn\includeFile\***\dealer\datalist.xml
其中,http://m.autohome.com.cn/ashx/***/BookList.ashx?count=200为页面URL地址;\\10.168.0.120\d$\m.autohome.com.cn\includeFile\***\dealer\datalist.xml为一个需要同步的服务器绝对路径;\\10.168.0.166\d$\m.autohome.com.cn\include File\***\dealer\datalist.xml为另一个需要同步的服务器绝对路径。
S3,对读取到的所述配置文件进行预处理,得到处理后的新配置文件;其中,所述新配置文件中存储由一个以上需要下载的有效页面地址组成的有效页面地址列表,还存储与每个所述有效页面地址对应的一个以上同步服务器IP和路径;具体的,本发明中,有效页面地址和同步服务器IP和路径为一对多关系。
实际应用中,可以利用.Net内部对象StreamReader读取配置文件内容,然后将读取到的配置文件放入固定容器中,对配置文件进行过滤和去重操作。
其中,过滤操作具体包括以下两种方式:(1)判断各个原始页面地址是否为合法的地址链接,如果存在不合法的地址链接,则删除不合法的地址链接。(2)判断配置文件中是否存在说明性文字;如果存在,则删除说明性文字。
去重操作具体包括以下方式:判断配置文件中是否存在相同的原始页面地址与同步服务器IP和路径对应关系;如果存在,则删除重复的原始页面地址与同步服务器IP和路径对应关系。
对于去重操作,具体还包括两种方式:(1)原始页面地址与同步服务器IP和路径完全相同。例如:配置文件记载以下两条对应关系:一、页面地址http://autohome.com.cn对应同步服务器1、同步服务器2和同步服务器3;二、页面地址http://autohome.com.cn对应同步服务器1、同步服务器2和同步服务器3。则这两条对应关系完全相同,需要删除其中任意一条对应关系。(2)相同的原始页面地址对应部分相同的同步服务器IP和路径。例如:配置文件记载以下两条对应关系:对应1:页面地址http://autohome.com.cn对应同步服务器1、同步服务器2和同步服务器3;对应2:页面地址http://autohome.com.cn对应同步服务器2、同步服务器3和同步服务器4。由于存在相同的以下对应关系:页面地址http://autohome.com.cn对应同步服务器2和同步服务器3。所以,需要删除对应1或对应2中的同步服务器2和同步服务器3。
通过上述对配置文件的预处理,可以简化后续异步下载和同步时的工作复杂度,简化异步下载和同步的步骤,提高异步下载和同步的效率。
S4,计算所述有效页面地址列表中存储的有效页面地址数量,然后基于线程创建规则创建多个下载线程。本步骤中,线程创建规则可以为:设置最大线程创建数,如果最大线程创建数大于有效页面地址数量,例如:最大线程创建数为20个,有效页面地址数量为15个,则创建与有效页面地址数量相同的下载线程,即,需要创建15个下载线程,一个下载线程处理一个有效页面。如果最大线程创建数小于有效页面地址数量,例如:最大线程创建数为15个,有效页面地址数量为20个,则创建与最大线程创建数相同的下载线程,即:需要创建15个下载线程,通过15个下载线程分别处理15个有效页面,当某个下载线程处理完成一个有效页面时,再申请处理尚未处理的有效页面,直到没有需要处理的有效页面时,则注销下载线程;当所有下载线程均被注销时,整个进程结束。
S5,定义各个所述下载线程与所述有效页面地址的对应关系;
S6,各个所述下载线程通过与自身对应的有效页面地址,读取到有效页面,然后异步下载所述有效页面。例如:如果需要下载3个有效页面,则同时开启3个下载线程,通过多线程下载页面,可以有效提高下载效率。
本步骤中,以指定下载线程异步下载指定有效页面为例,包括:指定下载线程向指定页面服务器发送下载请求消息;然后判断是否在预定时间间隔内收到所述指定页面服务器返回的下载响应消息,如果收到,则继续后续流程;如果没有收到,则携测指定页面服务器有可能发生故障,因此注销所述指定下载线程,释放资源。
S7,各个所述下载线程通过读取所述配置文件,获得与所述有效页面地址对应的同步服务器IP和路径;
S8,各个所述下载线程将S6得到的所述有效页面同步到S7获得的同步服务器IP和路径所表示的同步服务器上。当任意一个所述下载线程执行S8结束时,所述下载线程申请处理下一个有效页面,直到没有需要处理的有效页面时,注销所述下载线程。
本步骤中,以特定下载线程将特定有效页面同步到特定同步服务器上为例,包括以下步骤:
由于在不同时刻,同一个页面地址所包含的页面内容可能存在不同,例如:页面进行了更新操作等。因此,需要按照一定的频率,刷新特定同步服务器。下面介绍的流程即为一个刷新过程。
在前一时刻,所述特定下载线程下载所述特定有效页面地址所代表的有效页面P1;然后将所述有效页面P1以文件名X保存到所述特定同步服务器上;
在当前时刻,特定下载线程下载所述特定有效页面地址所代表的有效页面P2;然后,首先将所述有效页面P2以文件名Y写入所述特定同步服务器上,其中,文件名X与文件名Y不相同;再用文件Y替换文件X。由于文件写入的速度较慢,而文件替换的速度非常快,所以,本发明中,采用先写入再替换的方式更新页面,可以保证在不影响页面正常观看的前提下进行页面更新。
综上所述,本发明提供的基于多线程异步下载页面的多服务器同步方法,首先通过多线程异步下载各个页面,然后再将下载得到的页面同步到各个服务器上,从而在保证用户访问网站速度的同时,还能够保证各台WEB服务器的同步,提高了用户的访问体验。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。
Claims (6)
1.一种基于多线程异步下载页面的多服务器同步方法,其特征在于,包括以下步骤:
S1,接收配置文件的存储位置信息;
S2,根据接收到的所述存储位置信息,读取所述配置文件;其中,所述配置文件已存储由一个以上需要下载的原始页面地址组成的原始页面地址列表,还存储与每个所述原始页面地址对应的一个以上同步服务器IP和路径;
S3,对读取到的所述配置文件进行预处理,得到处理后的新配置文件;其中,所述新配置文件中存储由一个以上需要下载的有效页面地址组成的有效页面地址列表,还存储与每个所述有效页面地址对应的一个以上同步服务器IP和路径;
S4,计算所述有效页面地址列表中存储的有效页面地址数量,然后基于线程创建规则创建多个下载线程;
S5,定义各个所述下载线程与所述有效页面地址的对应关系;
S6,各个所述下载线程通过与自身对应的有效页面地址,读取到有效页面,然后异步下载所述有效页面;
S7,各个所述下载线程通过读取所述配置文件,获得与所述有效页面地址对应的同步服务器IP和路径;
S8,各个所述下载线程将S6得到的所述有效页面同步到S7获得的同步服务器IP和路径所表示的同步服务器上;
当任意一个所述下载线程执行S8结束时,所述下载线程申请处理下一个有效页面,直到没有需要处理的有效页面时,注销所述下载线程。
2.根据权利要求1所述的基于多线程异步下载页面的多服务器同步方法,其特征在于,S3中,对读取到的所述配置文件进行预处理,具体为:
对读取到的所述配置文件进行过滤操作和去重操作。
3.根据权利要求2所述的基于多线程异步下载页面的多服务器同步方法,其特征在于,对读取到的所述配置文件进行过滤操作和去重操作,具体为:
过滤操作具体包括:判断各个所述原始页面地址是否为合法的地址链接,如果存在不合法的地址链接,则删除所述不合法的地址链接;和/或判断所述配置文件中是否存在说明性文字;如果存在,则删除所述说明性文字;和/或
去重操作具体包括以下方式:判断所述配置文件中是否存在相同的原始页面地址与同步服务器IP和路径对应关系;如果存在,则删除重复的所述原始页面地址与同步服务器IP和路径对应关系。
4.根据权利要求1所述的基于多线程异步下载页面的多服务器同步方法,其特征在于,S6中,指定下载线程异步下载指定有效页面具体为:
所述指定下载线程向指定页面服务器发送下载请求消息;然后判断是否在预定时间间隔内收到所述指定页面服务器返回的下载响应消息,如果收到,则继续后续流程;如果没有收到,则注销所述指定下载线程。
5.根据权利要求1所述的基于多线程异步下载页面的多服务器同步方法,其特征在于,S8中,特定下载线程将特定有效页面同步到特定同步服务器上,具体为:
在前一时刻,所述特定下载线程下载所述特定有效页面地址所代表的有效页面P1;然后将所述有效页面P1以文件名X保存到所述特定同步服务器上;
在当前时刻,所述特定下载线程下载所述特定有效页面地址所代表的有效页面P2;然后,首先将所述有效页面P2以文件名Y写入所述特定同步服务器上;再用所述有效页面P2替换所述有效页面P1;其中,文件名X与文件名Y不相同。
6.根据权利要求1所述的基于多线程异步下载页面的多服务器同步方法,其特征在于,S8,特定下载线程将特定有效页面同步到特定同步服务器上,具体为:
所述特定下载线程首先判断所述特定有效页面是否为只读属性;如果是,则将所述特定有效页面的只读属性改为非只读属性之后,再将非只读属性的所述特定有效页面同步到特定同步服务器上。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310220524.7A CN104219271B (zh) | 2013-06-05 | 2013-06-05 | 基于多线程异步下载页面的多服务器同步方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310220524.7A CN104219271B (zh) | 2013-06-05 | 2013-06-05 | 基于多线程异步下载页面的多服务器同步方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104219271A CN104219271A (zh) | 2014-12-17 |
CN104219271B true CN104219271B (zh) | 2017-10-27 |
Family
ID=52100401
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310220524.7A Active CN104219271B (zh) | 2013-06-05 | 2013-06-05 | 基于多线程异步下载页面的多服务器同步方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104219271B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105049483B (zh) * | 2015-06-03 | 2019-05-14 | 中国银行股份有限公司 | 一种基于浏览器的数据上传方法和装置 |
CN105162885B (zh) * | 2015-09-25 | 2019-04-12 | 宇龙计算机通信科技(深圳)有限公司 | 资源下载方法、资源下载***和终端 |
CN112035198A (zh) * | 2020-08-12 | 2020-12-04 | 深圳创维-Rgb电子有限公司 | 主页加载方法、电视和存储介质 |
CN112162985B (zh) * | 2020-09-29 | 2024-05-03 | 银盛支付服务股份有限公司 | 一种基于kettle商业智能平台异步下载的方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009040425A2 (en) * | 2007-09-28 | 2009-04-02 | Apertio Limited | System and method for replication and synchronisation |
CN102868731A (zh) * | 2012-08-27 | 2013-01-09 | 济南大学 | 软件在线升级及加速下载的方法和装置 |
CN102917056A (zh) * | 2012-10-19 | 2013-02-06 | 山东中磁视讯股份有限公司 | 一种移动学习***及使用方法 |
-
2013
- 2013-06-05 CN CN201310220524.7A patent/CN104219271B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009040425A2 (en) * | 2007-09-28 | 2009-04-02 | Apertio Limited | System and method for replication and synchronisation |
CN102868731A (zh) * | 2012-08-27 | 2013-01-09 | 济南大学 | 软件在线升级及加速下载的方法和装置 |
CN102917056A (zh) * | 2012-10-19 | 2013-02-06 | 山东中磁视讯股份有限公司 | 一种移动学习***及使用方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104219271A (zh) | 2014-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102110132B (zh) | 统一资源定位符匹配查找方法、装置和网络侧设备 | |
CN102722563B (zh) | 页面显示方法及装置 | |
CN105608134B (zh) | 一种基于多线程的网络爬虫***及其网页爬取方法 | |
CN103475687B (zh) | 用于下载网站数据的分布式方法和*** | |
CN109002484B (zh) | 一种用于顺序消费数据的方法及*** | |
CN103118007B (zh) | 一种用户访问行为的获取方法和*** | |
CN104488248B (zh) | 一种文件同步方法、服务器及终端 | |
CN103970788A (zh) | 一种基于网页爬取的爬虫技术 | |
CN106202112A (zh) | 缓存目录刷新方法和装置 | |
CN104219271B (zh) | 基于多线程异步下载页面的多服务器同步方法 | |
CN104104717A (zh) | 投放渠道数据统计方法及装置 | |
CN106506703A (zh) | 基于共享内存的服务发现方法、装置及***、服务器 | |
CN104423982B (zh) | 请求的处理方法和处理设备 | |
CN110401724A (zh) | 文件管理方法、文件传输协议服务器及存储介质 | |
CN107343031A (zh) | 一种自动更新文件的方法、装置、电子设备及存储介质 | |
CN107391770A (zh) | 一种处理数据的方法、装置、设备以及存储介质 | |
CN101441629A (zh) | 一种非结构化网页信息的自动采集方法 | |
CN110427364A (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN104239353B (zh) | 一种web分类控制和日志审计的方法 | |
CN105868234A (zh) | 缓存数据的更新方法及装置 | |
CN104461929B (zh) | 基于***的分布式数据缓存方法 | |
CN109871503A (zh) | 数据调用方法、装置、计算机设备及存储介质 | |
CN110209909A (zh) | 数据爬取方法、装置、计算机设备和存储介质 | |
CN106021566A (zh) | 一种提高单台数据库并发处理能力的方法、装置及*** | |
CN106407442A (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 |