一种不可靠网络连接下的可靠数据传送方法

文档序号:7839933阅读:275来源:国知局
专利名称:一种不可靠网络连接下的可靠数据传送方法
技术领域
本发明涉及一种计算机应用技术,具体说是提供了一种不可靠网络连接下的可靠
数据传送方法,解决了当网络连接时断时续或偶尔连接的情况下,如何在网络间完整、可靠 的传送数据的问题。
背景技术
采用多层架构的信息化系统往往要求网络持续联接且有足够的带宽,因此对网络
依赖程度也越来越高,然而在现实中,网络连接又无法保证随时随地的可用性。 某些行业或者企业的用户可能会因为出差而暂时失去网络连接,或者可能有网络
连接但存在延迟或带宽问题,或者可能需要拆卸网络的某些部分进行维护,或者有意通过
网闸自动间隔联通内外网。但业务却不能由于网络的不可靠而暂停,对于部分业务,比如制
单,可以通过自动在本机缓存单据数据,再由一个后台服务自动轮询网络状态,当网络联通
时自动把数据传送到信息化系统中去。这样就可以有效地提高工作效率。

发明内容
本发明提供了 一种不可靠网络连接下的可靠数据传送方法。 1.信息化系统不直接访问网络服务,而是通过网络访问代理进行访问;网络访问 代理把信息化系统的访问请求包括数据自动保存在客户端;网络访问代理自动检测网络状 态,当网络联通时自动上传下载数据。 2.网络访问代理的定义代码为 class WebServiceProxy {void AddReuest(Request request);
bool DoWhenOnLine ();
bool IsCo皿ected(get ;} } 其中,请求类Request的定义代码为 public class Request { public object[]CallParameters{get ;set ;} public string Endpoint{get ;set public string MethodName{get ;set ;} public Guid Requestld{get ;set ;} Type ProxyType {get ;set ;} } 3.信息化系统访问网络服务时,首先根据访问的网络服务的定义,构建一个Request类的实例,然后调用WebServiceProxy类的AddReuest (Requestrequest)方法增力口 一个网络访问请求。 4.信息化系统调用AddReuest (Request request)方法时,该方法内部通过如下
代码把请求保存到本地的数据库中去。 public void AddReuest(Request request)




DBClient client = DBFactory. OpenClient() client.Set (request); client. Close 0 ;
5.网络访问代理从本地的数据库中读出缓存的网络服务请求,构建Request类 实例,根据Request类的EndPoint属性构建URL,然后发送HTTP请求,根据请求返回状态 码判断网络是否联通。当网络联通时,网络访问代理根据Request类实例的ProxyType、 MethodName、CallParameters属性,完成网络服务的访问。实现代码为
public bool DoWhen0nLine ()
{














} 本发明的优异效果是不仅能让用户在离线时使用其应用程序进行富有成效地工 作,并且能够在网络联通时及时上传离线数据,有效地提高用户生产率和工作效率。该发明 使得信息化系统的离线应用得到良好支持,具有很高的推广和经济价值。
if ( ! IsCo皿ected)return false ;
IList〈Request〉rqs = null ;
DBClien db = DBFactory. OpenClient0 ;
rqs = db. Query〈Request〉(typeof(Request));
foreach(Request rq in rqs)
Object proxy = Activator. Createlnstance(rq. ProxyType); proxy. Url = EndPoint ;
Methodlnfo method = rq. ProxyType. GetMethod(rq. MethodName) object result = method. Invoke(proxy, rq.CallParameters); db. Delete (rq);
db. Close 0 ; return true ;
具体实施例方式
本发明提供了一种不可靠网络连接下的可靠数据传送方法,包括网络访问代理; 网络状态判断;数据自动传送;数据自动缓存。网络访问代理将数据自动缓存到本机,然后 当网络连通时,自动把数据上传到服务器端或从服务器端下载到本机,这样就可以在网络
5不稳定的状态下使用系统了。 为使本发明的优点、目的更容易理解、易懂,下面就具体的实施方式做一个详细说 明。 1.在信息化系统中凡是需要访问网络服务的地方,WebServiceProxy类的 AddReuest (Request request)方法。
2.在操作系统启动时,自动启动网络访问代理程序。例如把网络访问代理程序 放到"c:\Documents and Settings\All Users\ 「开始」菜单\程序\启动"目录下。
该系统具有轻便小巧、易于部署的特点,能解决因失去网络连接造成的信息化系 统无法使用的问题。 目前本发明大量应用在政府行业以及大型综合型集团企业中,不仅能让用户在离 线时使用其应用程序进行富有成效地工作,并且能够在网络联通时及时上传离线数据,有 效地提高用户生产率和工作效率。该发明使得信息化系统的离线应用得到良好支持,具有 很高的推广和经济价值。
权利要求
一种不可靠网络连接下的可靠数据传送方法,其特征在于,包括网络访问代理;网络状态判断;数据自动传送;数据自动缓存,网络访问代理将数据自动缓存到本机,然后当网络连通时,自动把数据上传到服务器端或从服务器端下载到本机,实现在网络不稳定的状态下使用系统,包括以下步骤1)信息化系统不直接访问网络服务,而是通过网络访问代理进行访问;网络访问代理其定义代码为class WebServiceProxy { void AddReuest(Request request); bool DoWhenOnLine(); bool IsConnected{get;} } 其中,请求类Request的定义代码为 public class Request {public object[]CallParameters{get;set;}public string Endpoint{get;set;}public string MethodName{get;set;}public Guid RequestId{get;set;}Type ProxyType{get;set;} };2)网络访问代理把信息化系统的访问请求包括数据自动保存在客户端;3)网络访问代理自动检测网络状态,当网络联通时自动上传下载数据”,具体步骤如下网络访问代理从本地的数据库中读出缓存的网络服务请求,构建Request类实例,根据Request类的EndPoint属性构建URL,然后发送HTTP请求,根据请求返回状态码判断网络是否联通,当网络联通时,网络访问代理根据Request类实例的ProxyType、MethodName、CallParameters属性,完成网络服务的访问,实现代码为 public bool DoWhenOnLine(){if(!IsConnected)return false; IList<Request>rqs=null; DBClien db=DBFactory.OpenClient(); rqs=db.Query<Request>(typeof(Request)); foreach(Request rq in rqs) { Object proxy=Activator.CreateInstance(rq.ProxyType); proxy.Url=EndPoint; MethodInfo method=rq.ProxyType.GetMethod(rq.MethodName); object result=method.Invoke(proxy,rq.Cal lParameters); db.Delete(rq);}db.Close();return true;}
2. 根据权利要求l所述方法,其特征在于,信息化系统访问网络服务时,首先根据 访问的网络服务的定义,构建一个Request类的实例,然后调用WebServiceProxy类的 AddReuest (Request request)方法增力口一个网络访问请求。
3. 根据权利要求2所述方法,其特征在于,信息化系统调用AddReuest (Request request)方法时,该方法内部通过如下代码把请求保存到本地的数据库中去;public void AddReuest(Request request)DBClient client = DBFactory. OpenClient();client.Set (request) client.Close 0 ;
全文摘要
本发明提供了一种不可靠网络连接下的可靠数据传送方法,解决了当网络连接时断时续或偶尔连接的情况下,如何在网络间完整、可靠的传送数据的问题。所述方法包括网络访问代理;网络状态判断;数据自动传送;数据自动缓存。本发明大量应用在政府行业以及大型集团企业中,在只通过拨号短暂上网或网闸自动间隔联通内外网的情况下,用户离线制单或提交数据,待网络联通时由本发明自动把数据传送出去。由于具有操作简单,上传数据安全有效的特点,具有很好的推广使用价值。
文档编号H04L29/06GK101729562SQ20091022999
公开日2010年6月9日 申请日期2009年11月30日 优先权日2009年11月30日
发明者王涛威, 高乐光 申请人:浪潮集团山东通用软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1