网站内容更新系统(【摘要】网站更新中的自动同步更新系统介绍)

优采云 发布时间: 2022-01-26 08:17

  网站内容更新系统(【摘要】网站更新中的自动同步更新系统介绍)

  【摘要】目前互联网网站和大部分企业管理软件都采用B/S架构模式。大型网站应用对系统并发、吞吐量、性能的要求更高,所以很多大型网站应用都是通过多台服务器的方式部署进行负载均衡的。但是如果服务器数量很大,就会给站点更新带来很大的不便。为了提高服务器站点的更新效率,增加更新的准确性,减少网站维护人员的工作量。开发了多站点自动同步更新系统。本文详细介绍了该系统。

  [关键词] 自动更新;负载均衡; 网站 维护

  【摘要】目前互联网的网站和大部分企业管理软件都采用B/S架构模式。大型Web应用对系统的并发、吞吐量和性能要求很高。所以很多大型网站都是采用多台服务器开发的。用于负载均衡。但是服务器数量过多会给网站更新带来很多不便。为了提高网站更新的效率,提高准确性,减少站长的工作量。设计开发了一个多站点自动同步更新系统. 本文对该系统进行了详细介绍。

  【关键词】自动更新;负载均衡; 网站维护

  0 概述

  随着信息时代的到来,Internet和Intranet上的客户端数量和任务密集程度不断增加。由于带宽、机器性能等因素的限制,单台Web服务器已经不能满足当前的需求。Web服务器集群系统可以实现负载均衡,可以大大提高系统的性能、可靠性和可扩展性。但是随着Web服务器集群的普及,也出现了新的问题。多台服务器的更新不仅需要管理员大量的时间,而且还需要管理员设置每台服务器的文件复制权限,不能保证复制过程。

  1 系统功能要求

  (1)更新前需要打开更新提示网站,提示用户保存手头工作并退出系统;

  (2)需要在多台服务器上删除并新建站点文件;

  (3)由于网站文件在更新和新建过程中可能会被占用,需要在操作前回收多台服务器上的网站应用池;

  (4)需要查看更新进度和完成情况;

  (5)更新完成后关闭更新提示。

  2 方案比较

  在使用当前方案之前,我尝试了其他方案,但效果并不理想,所以最终选择了当前方案。现在比较这两个选项。

  (1)计划 1

  通过在服务器上创建共享文件夹,将好的 网站 文件放入共享文件夹。然后每个服务器使用本地站点将文件从共享文件夹复制到本地站点。

  问题一:站点在访问共享文件夹时遇到权限不足的问题。在查询信息和在线搜索后,需要为.Net用户设置更高的权限。设置繁琐,存在一定的安全隐患。

  问题2:复制需要很长时间。由于电子病历、护理平台等网站文件较多,一般复印一份需要5分钟左右。复制的时候,所有文件都会放在缓存中,遇到系统资源不足时容易出错。六台服务器通常需要半个多小时。在此期间,用户无法正常使用系统,给用户带来了非常不好的体验。

  问题3:一旦启动拷贝,程序无法监控拷贝是否完成,更新者无法得到更新结果的反馈。

  (2)计划 2

  当前选择的选项。将好的站点文件上传到数据库。然后,每个服务器使用本地站点从数据库中获取文件并在本地站点中创建它。

  与方案一相比,您只需为站点设置相应的权限即可从Oracle数据库中获取文件并在本地创建。此外,站点文件的更新速度比文件副本快几倍。通常创建一个100M的文件只需要1分半钟。由于Oracle数据库的良好性能,多台服务器同时取文件完全不会影响文件读取的速度。因此,多台服务器复制100M以上文件的时间一般不超过2分钟,大大缩短了站点更新时间,以编程方式极大提升了用户体验。另外,当更新站点从数据库中读取站点的文件并创建文件时,一旦发生异常,程序可以将错误信息记录到数据库中。

  3 系统设计

  系统分为三部分,B/S结构的更新站点、C/S结构的更新程序和文件上传程序。

  3.1个B/S结构站点

  (1)自定义操作站点和应用程序池类:IISmanager。该类定义了3个静态函数来操作网站站点和IIS的应用程序池。它们是StartWebSite、StopWebSite、RecyclePool,其中StartWebSite和StopWebSite函数负责站点的启用和停止操作,RecyclePool函数负责程序池的停止、启用和回收操作。

  (2)使用递归的方式删除站点目录下的所有文件。函数名:DeleteFile。

  从数据库中读取站点所有文件的路径和文件内容,根据文件路径动态创建各个文件。创建文件函数CreatrFile。调用这个函数需要两个参数,文件路径和文件内容。文件内容被创建为二进制流。创建步骤如下。首先,您需要定义文件流:

  FileStream fs = new FileStream(ls_path, FileMode.Create)。然后定义二进制流,BinaryWriter bw = new BinaryWriter(fs); 最后,使用方法 bw.Write(file) 写出文件。

  B/S站点是自动更新系统的核心部分。它是在需要网站的应用服务器上建立的站点,主要负责更新该服务器的站点文件。更新程序时,站点根据参数确定需要更新的站点,并调用.NET提供的IISmanager类来回收和停止需要更新站点的应用程序池。然后,删除该站点下的所有文件。从数据库中下载最新的程序文件并在站点路径下生成文件。文件生成后,最后重启app pool,将changelog写入数据库。当发生更新错误时,更新日志也会写入数据库。

  3.2 C/S结构的更新过程

  (1)负责网站更新前后提示的操作

  操作者输入用户名和密码,点击打开更新提示或关闭更新提示,程序后台会自动通过发包登录需要更新的站点,并打开原设计的更新提示功能网站。开启提示后,系统会每分钟弹出一条系统公告,提醒用户保存手头的工作。

  (2)根据用户选择的需要更新的站点,调用B/S站点更新站点文件。每3秒从系统获取最新的更新日志,使用webbrowser控件今天更新所有服务器的数据,显示更新状态,用户也可以随时查询任何应用的更新日志。

  3.3 文件上传器

  上传器主要由以下功能组成:

  (1)每个应用文件的上传。用户可以选择要上传的应用,然后填写本地文件存放的路径。最后点击上传,将远程应用文件上传到数据库。

  (2)用户也可以根据文件名搜索上传的文件,在查询结果中点击文件名可以查看文件内容。也可以选择上传表单替换单个文件替换文件。

  (3)可以选择要下载的应用,填写下载路径,从数据库中下载应用文件。

  4 总结

  自动更新系统的应用,不仅节省了文件复制的时间,还避免了人工误操作可能导致的各种错误。并且在更新时,用户可以实时查看更新状态。一旦出现更新错误,用户可以及时发现并采取相应措施。本系统的应用大大提高了多台服务器更新文件的效率,减少了网站程序维护人员的工作量。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线