欢迎光临112期刊网!
网站首页 > 论文范文 > 计算机论文 > 信息管理 > 利用Web Services实现软件自动升级

利用Web Services实现软件自动升级

日期:2023-01-24 阅读量:0 所属栏目:信息管理


利用web services实现软件自动升级 曹庆旭 (黔东南民族职业技术学院,贵州,凯里,556000)
摘 要:软件维护升级工作是软件生命周期最重要的环节。为了解决以往c/s(client/server)模式下的客户端软件升级效率低的问题,设计了c/s应用系统自动升级处理程序。该程序利用web services技术、c#和xml语言,通过网络来完成c/ s应用系统的自动升级。与原有手工升级、ftp 文件服务器升级和第三方控件升级相比,升级效率更高。该方案具有较好的参考价值。
关键词:c#;web services;xml;软件自动升级
中图法分类号: 文献标志码:
1 引言
随着计算机网络应用技术的不断发展,在开发mis系统时,大多采用基于c/s(客户机/服务器)模式或b/s(浏览器/服务器)模式。现在b/s模式以其真正意义上的瘦客户机/胖服务器模式优势占据了主导地位。但是由于客户机/服务器模式具有的数据流量小、响应时间短、安全性高等特点,在解决几十个到几百个用户的局域网中,仍然是一个不错的选择[1-3]。在c/s模式下,应用程序的每次升级都需要在每个客户端重新安装应用程序,这是一项十分繁琐的事情。面对这个实际问题,这里设计了一个通过软件实现自动升级技术方案,弥补了这一缺陷,有较好的参考价值。
2 设计思路
判断一个文件是否要更新,可以通过判断文件的大小、修改日期和文件的版本号来实现[3-5]。发现最新的则提示用户是否升级。
在web services中实现一个getver的webmethod方法,其作用是获取当前的最新版本。然后将现在版本与最新版本比较,如果有新版本,则进行升级。
3 自动升级的技术实现
(1)编写升级模板文件
准备一个xml文件 () ,作为一个升级用的模板。
……
升级记录

……






……
是internet explorer的一个组件,该组件负责控制对从web 站点返回的url和信息的处理。
(2)编写web services的getver方法
getver方法用于取得软件的更新版本。
[webmethod(description="取得更新版本")]
public string getver()
{
xmldocument doc = new xmldocument();
(h(""));
xmlelement root = ntelement;
return singlenode("version").inertest;
}
(3)编写web services的getupdatedata方法
getupdatedata方法用于在线更新软件。
[webmethod(description="在线更新软件")]
[soapheader("sheader")]
public ument getupdatedata()
{
//验证用户是否登陆
if(sheader==null)
return null;
if(!ogin(me,rd))
return null;
//取得更新的xml模板内容
xmldocument doc = new xmldocument();
(h(""));
xmlelement root = ntelement;
//看看有几个文件需要更新
xmlnode updatenode = singlenode("filelist");
string path = utes["sourcepath"].value;
int count = (utes["count"].value);
//将xml中的value用实际内容替换
for(int i=0;i= odes[i];
string filename = path + utes["name"].value;
filestream fs = ad(h(filename));
utes["size"].value = ng();
binaryreader br = new binaryreader(fs);
//这里是文件的实际内容,使用了base64string编码
singlenode("value").innertext = 64string(tes((int)),0,(int));
();
();
}
return doc;
}

(4)编写客户端的update方法
  首先引用此web services,例如命名为:websvs,
string nver = (); 
if(eto(nver)<=0)
update();
在本代码中vice是websvs的一个静态实例。功能是:首先检查版本,将结果与当前版本进行比较,如果为新版本则执行update方法。
update的作用是将升级的xml文件下载下来,保存为执行文件目录下的一个文件。任务完成,退出程序,等待 来进行升级。
void update()
{
= "正在下载...";
ument doc = ((ument)atedata());
(ppath + @"\");
(ppath + @"\");
close();
();
}    
(5)编写客户端的
的功能主要是:首先就是找到主进程;如果没有关闭,则用()来关闭主程序。然后则用一个xmldocument来load程序生成的文件。用xml文件里指定的路径和文件名来生成指定的文件,在这之前先前已经存在的文件删除。更新完毕后,则重新启动主应用程序。这样更新就完成了。
private void form1_load(object sender, rgs e)
{
s[] ps = cesses();
foreach(s p in ps)
{
//(sname);
if(r()=="customerapplication")
{
();
break;
}
}
xmldocument doc = new xmldocument();
(ppath + @"\");
xmlelement root = ntelement;
xmlnode updatenode = singlenode("filelist");
string path = utes["sourcepath"].value;
int count = (utes["count"].value);
for(int i=0;i= odes[i];
string filename = utes["name"].value;
fileinfo fi = new fileinfo(filename);
();
//(ppath + @"\" + filename);
= "正在更新:" + filename + " (" + utes["size"].value + ") ...";
filestream fs = (filename,,); (se64string(singlenode("value").innertext),0,(utes["size"].value));
();
}
= "更新完成";
(ppath + @"\");
= "正在重新启动应用程序...";
("");
close();
();
}
这里为了简单起见,没有使用异步方法,当然使用异步方法能更好的避免并发调用产生的冲突,这个需要读者自己去添加。
4 结束语
借助web services实现软件的自动升级,不仅设计简单,实现起来也很容易,取得了良好的效应,大大减轻了维护的工作量。本方案具有较好的参考价值。
参考文献
[1] 杨继家,张丽静,张晓蕾.面向c/s模式下的客户端软件自动升级的实现[j].微计算机应用,2005(5),290-293
yang ji-jia,zhang li-jing,zhang xiao-lei.an realization of automatically updating orienting to c/s application system[j].microcomputer applications,2005(5),290-293
[2] 何航校,蒋兆远.一种改进的通用客户端自动升级模型及实现[j].兰州交通大学学报(自然科学版),2005(8),110-113
he hang-xiao,jiang zhao-yuan.an improved universal auto upgrade model of client and its realization.journal of lanzhou jiaotong university (natural sciences),2005(8),110-113
[3] 乌云高娃.动态升级在mis 系统中的实现与应用[j].计算机工程与设计,2005(10),2854-2856
wuyun gao-wa.implementation and application of dynamic upgrade technique in mis[j].computer engineering and design,2005(10),2854-2856
[4] 叶利华,陶宏才,梁田.基于com的软件在线升级技术[j].成都信息工程学院学报,2005(2),73-75
ye li-hua,tao hong-cai,liang tian.software live updating technology based on com[j].journal of chengdu university of information technology,2005(2),73-75
[5] 余颖,董旭源,高宏.c/s模式管理信息系统实现自动升级和维护的方法[j].佳木斯大学学报(自然科学版),2005(4),200-202
yu ying,dong xu-yuan,gao hong.methods to perform upgrade and maintenance in c/s mode management information system[j],2005(4),200-202
implementation of software auto-update by web services
cao qing-xu
(qiandongnan vocational &technical institute,kaili,guizhou,556000)
abstract: the software maintaining and updating is an important section in the software life cycle. this paper makes use of the technology of web services、c# and xml language, to resolve the poor efficiency of client’s updating in old c/s application system. the automatically updating program can detect the new version, download the updating file, automatically backup and rollback. it makes the software updating by the client automatically, and it is practical.
keywords: c#;web services;xml;software auto-update

本文链接:http://www.qk112.com/lwfw/jsjlw/xinxiguanli/260024.html

论文中心更多

发表指导
期刊知识
职称指导
论文百科
写作指导
论文指导
论文格式 论文题目 论文开题 参考文献 论文致谢 论文前言
教育论文
美术教育 小学教育 学前教育 高等教育 职业教育 体育教育 英语教育 数学教育 初等教育 音乐教育 幼儿园教育 中教教育 教育理论 教育管理 中等教育 教育教学 成人教育 艺术教育 影视教育 特殊教育 心理学教育 师范教育 语文教育 研究生论文 化学教育 图书馆论文 文教资料 其他教育
医学论文
医学护理 医学检验 药学论文 畜牧兽医 中医学 临床医学 外科学 内科学 生物制药 基础医学 预防卫生 肿瘤论文 儿科学论文 妇产科 遗传学 其他医学
经济论文
国际贸易 市场营销 财政金融 农业经济 工业经济 财务审计 产业经济 交通运输 房地产经济 微观经济学 政治经济学 宏观经济学 西方经济学 其他经济 发展战略论文 国际经济 行业经济 证券投资论文 保险经济论文
法学论文
民法 国际法 刑法 行政法 经济法 宪法 司法制度 法学理论 其他法学
计算机论文
计算机网络 软件技术 计算机应用 信息安全 信息管理 智能科技 应用电子技术 通讯论文
会计论文
预算会计 财务会计 成本会计 会计电算化 管理会计 国际会计 会计理论 会计控制 审计会计
文学论文
中国哲学 艺术理论 心理学 伦理学 新闻 美学 逻辑学 音乐舞蹈 喜剧表演 广告学 电视电影 哲学理论 世界哲学 文史论文 美术论文
管理论文
行政管理论文 工商管理论文 市场营销论文 企业管理论文 成本管理论文 人力资源论文 项目管理论文 旅游管理论文 电子商务管理论文 公共管理论文 质量管理论文 物流管理论文 经济管理论文 财务管理论文 管理学论文 秘书文秘 档案管理
社科论文
三农问题 环境保护 伦理道德 城镇建设 人口生育 资本主义 科技论文 社会论文 工程论文 环境科学