数据读写方法

文档序号:7864896阅读:256来源:国知局
专利名称:数据读写方法
技术领域
本发明基本上涉及网络领域,更具体地来说,涉及一种数据读写方法。
背景技术
REST是Roy Thomas Fielding在他2000年的博士论文中提出的。目的就是想在符合架构原理的前提下,理解和评估以网络为基础的应用软件的架构设计,得到一个功能强、性能好、适宜通信的架构。实现了 REST原则的系统被称为RESTful。RESTful框架就是通过客户端对服务器端的资源进行操作,实现服务器端的资源状态转化,最终反映在客户端的状态层。其中,资源指的是网络上的文件和数据,通过URI (统一资源定位符)来指向,可以通过访问URI达到访问资源的目的。状态转化指的是网络上资源的创建、更新和删除。状态层指的是客户 端通过获取服务器端资源的数据,进行展示。现有技术中使用了 SOAP。SOAP主要应用在Web服务中,基于XML协议通过Http等交换信息。它是一种通信协议,用于在应用程序之间通信,通信数据包括发送数据与返回数据,通信数据以XML格式定义。它与应用程序运行平台及实现语言无关,并且可以实现扩展,使得运行在不同的操作系统并使用不同的技术和编程语言的应用程序可以互相进行通 目。然而,SOAP的URI是对SOAP服务的调用,不能直接根据URI进行操作类型判断,本身也没有特殊的意义,所以不能根据URI制定相应的安全等策略。HTTP协议使用特定的HTTP GET实现缓存机制,SOAP并没有强调与HTTP相同的工作方式,采用POST方式进行通信,所以不能充分发挥HTTP缓存能力。此外,SOAP与上下文有很大关联,不同的上下文执行相同的SOAP请求,会得到不同的响应,这样导致集群环境中,不能很好的实现负载均衡。

发明内容
为了克服上述缺陷,本发明提出了一种数据读写方法,解决了如何更好地进行在客户端和服务器端进行数据传输的技术问题。本发明描述了一种数据读写方法,其特征在于,包括客户端通过RESTful接口以HTTP协议向Web服务器发送所述HTTP协议的GET请求、PUT请求、DELETE请求或者POST请求;以及所述Web服务器响应于所述GET请求、所述PUT请求、所述DELETE请求或者所述POST请求执行相应的数据读写操作。在所述数据读写方法中,所述GET请求对应于所述客户端的数据下载请求和数据列表信息获取请求,所述PUT请求对应于所述客户端的数据上传请求,所述DELETE请求对应于所述客户端的数据删除请求,并且所述POST请求对应于所述客户端的数据修改请求。在所述数据读写方法中,所述方法还包括通过所述客户端将用户标识和与所述用户标识相对应的第一用户密钥保存在所述Web服务器中。在所述数据读写方法中,所述方法还包括所述客户端根据预定算法,由所述第一用户密钥生成第二客户端用户密钥;所述客户端向所述Web服务器发送包含所述用户标识的请求;所述Web服务器根据所述请求中的所述用户标识查找到与所述用户标识相对应的所述第一用户密钥,并根据所述预定算法,由所述第一用户密钥生成第二 Web服务器用户密钥;以及如果所述第二客户端用户密钥与所述第二 Web服务器用户密钥相同,则完成对所述客户端的身份认证。在所述数据读写方法中,所述方法还包括通过所述用户标识对所述客户端的所述GET请求、所述PUT请求、所述DELETE请求或者所述POST请求设定权限。在所述数据读写方法中,如果与所述GET请求、所述PUT请求、所述DELETE请求或者所述POST请求的URI时间戳之间的时间差超过预定失效时间,则所述Web服务器不再提供对所述GET请求、所述PUT请求、所述DELETE请求和所述POST请求的响应。在所述数据读写方法中,所述数据读写包括对共享目录的数据读写。通过本发明所公开的数据读写方法,能够更好地在客户端和服务器端进行数据传输。


附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实 施例一起用于解释本发明,并不构成对本发明的限制。在附图中图I是根据本发明的数据读写方法的总体流程图;图2是根据本发明的数据读写方法的包含注册及验证过程的具体流程图;图3是根据本发明的数据读写方法的一个具体实例。
具体实施例方式以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。图I是根据本发明的数据读写方法的总体流程图。在图I中步骤SlOO :客户端通过RESTful接口以HTTP协议向Web服务器发送HTTP协议的GET请求、PUT请求、DELETE请求或者POST请求。基于RESTful接口的数据读写方法,需要实现RESTful框架,通过HTTP标准请求方法即GET、PUT、DELETE、POST发送请求,而不是单一的使用POST。请求发送者不能也不需要根据访问URI理解应用逻辑,应用逻辑放在Web服务器段进行处理,只需要URI指定标准方法,根据标准方法,Web服务器进行数据处理。步骤S102 =Web服务器响应于GET请求、PUT请求、DELETE请求或者POST请求执行相应的数据读写操作。其中,HTTP协议中的四种请求分别对应着客户端的请求类型GET请求对应于客户端的数据下载请求和数据列表信息获取请求,PUT请求对应于客户端的数据上传请求,DELETE请求对应于客户端的数据删除请求,并且POST请求对应于客户端的数据修改请求。通过本实施例所描述的数据读写方法能够更好地在客户端和服务器端进行数据传输。其中,该数据读写包括对共享目录的数据读写。
图2是根据本发明的数据读写方法的包含注册及验证过程的具体流程图。在图2中,步骤S208与步骤SlOO相同,步骤S210与步骤S102相同,在此不再赘述。此外,步骤S200是用户通过客户端在Web服务器中的注册过程,步骤S202至步骤S208是用户在进行数据访问之前对该用户进行的身份验证。其中步骤S200 :通过客户端将用户标识和与用户标识相对应的第一用户密钥保存在Web服务器中。该步骤是注册过程。优选地,在用户通过客户端注册时,如果注册成功,则月艮务器端将用户标识及密钥保存。步骤S202 :客户端根据预定算法,由第一用户密钥生成第二客户端用户密钥。步骤S204 :客户端向Web服务器发送包含用户标识和所述第二客户端用户密钥的请求。步骤S206 =Web服务器根据请求中的用户标识查找到与用户标识相对应的第一用户密钥,并根据预定算法,由第一用户密钥生成第二 Web服务器用户密钥。·步骤S208 :如果第二客户端用户密钥与第二 Web服务器用户密钥相同,则完成对客户端的身份认证。具体来说,在客户端身份验证之前,需要一个注册的过程。注册过程包括客户端在服务器提供的注册页面进行注册,注册信息主要包括用户标识及与该用户标识相对应的第一用户密钥,注册成功后,服务器端在数据库中保存用户标识及其对应的第一用户密钥。身份验证时,客户端通过服务器端指定的算法,将第一用户密钥及某一参数值作为参数生成第二客户端用户密钥。客户端向服务端发出请求,服务器端根据客户端请求中的用户标识,在数据库中查找对应的第一用户密钥,然后通过与客户端相同的算法,将查找获取的第一用户密钥与请求中的某一参数值作为参数生成第二 Web服务器用户密钥,服务器端将服务器端生成的第二 Web服务器用户密钥与用户请求中的第二客户端用户密钥对比,如果相同,则做出响应,否则拒绝请求。优选地,每一次请求都包含用户标识及密钥,即每一次请求都要进行验证。通过本实施例所描述的数据读写方法,不仅能够更好地在客户端和服务器端进行数据传输,还能够通过用户身份验证,增强数据读写的安全性。在一个实施例中,可以通过所述用户标识对客户端的GET请求、PUT请求、DELETE请求或者POST请求设定权限。例如,在客户端向服务器发送包含有用户标识的请求时,月艮务器判断该用户标识的权限是否能够执行相应操作,如果能则执行相应请求,如果不能则拒绝执行。通过本实施例,不仅能够获得上述效果,还能通过为不同的用户设定不同的权限来保证系统的安全运行。在另一个实施例中,如果与GET请求、PUT请求、DELETE请求或者POST请求的URI时间戳之间的时间差超过预定失效时间,则Web服务器不再提供对GET请求、PUT请求、DELETE请求和POST请求的响应。通过本实施例,不仅能够获得上述效果,还能够防止重放攻击。以下将通过几个具体实例并结合图3来描述本发明。通用请求头
权利要求
1.一种数据读写方法,其特征在于,包括 客户端通过RESTful接口以HTTP协议向Web服务器发送所述HTTP协议的GET请求、PUT请求、DELETE请求或者POST请求;以及 所述Web服务器响应于所述GET请求、所述PUT请求、所述DELETE请求或者所述POST请求执行相应的数据读 写操作。
2.根据权利要求I所述的数据读写方法,其特征在于,所述GET请求对应于所述客户端的数据下载请求和数据列表信息获取请求,所述PUT请求对应于所述客户端的数据上传请求,所述DELETE请求对应于所述客户端的数据删除请求,并且所述POST请求对应于所述客户端的数据修改请求。
3.根据权利要求I所述的数据读写方法,其特征在于,所述方法还包括 通过所述客户端将用户标识和与所述用户标识相对应的第一用户密钥保存在所述Web服务器中。
4.根据权利要求3所述的数据读写方法,其特征在于,所述方法还包括 所述客户端根据预定算法,由所述第一用户密钥生成第二客户端用户密钥; 所述客户端向所述Web服务器发送包含所述用户标识的请求; 所述Web服务器根据所述请求中的所述用户标识查找到与所述用户标识相对应的所述第一用户密钥,并根据所述预定算法,由所述第一用户密钥生成第二 Web服务器用户密钥;以及 如果所述第二客户端用户密钥与所述第二 Web服务器用户密钥相同,则完成对所述客户端的身份认证。
5.根据权利要求4所述的数据读写方法,其特征在于,所述方法还包括通过所述用户标识对所述客户端的所述GET请求、所述PUT请求、所述DELETE请求或者所述POST请求设定权限。
6.根据权利要求I所述的数据读写方法,其特征在于,如果与所述GET请求、所述PUT请求、所述DELETE请求或者所述POST请求的URI时间戳之间的时间差超过预定失效时间,则所述Web服务器不再提供对所述GET请求、所述PUT请求、所述DELETE请求和所述POST请求的响应。
7.根据权利要求I所述的数据读写方法,其特征在于,所述数据读写包括对共享目录的数据读写。
全文摘要
本发明公开了一种数据读写方法,包括客户端通过RESTful接口以HTTP协议向Web服务器发送HTTP协议的GET请求、PUT请求、DELETE请求或者POST请求;以及Web服务器响应于GET请求、PUT请求、DELETE请求或者POST请求执行相应的数据读写操作。通过本发明公开的数据读写方法,能够更好地在客户端和服务器端进行数据传输。
文档编号H04L29/08GK102891863SQ201210441608
公开日2013年1月23日 申请日期2012年11月7日 优先权日2012年11月7日
发明者班军成, 郭庆, 谢莹莹, 苗艳超, 刘新春, 邵宗有 申请人:曙光信息产业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1