Http远程数据访问系统和方法

文档序号:9791768阅读:939来源:国知局
Http远程数据访问系统和方法
【技术领域】
[0001]本发明涉及跨互联网数据访问技术领域,特别是涉及一种HTTP远程数据访问系统和方法。
【背景技术】
[0002]随着大数据时代的到来,分布式计算、分布式服务器集群、分布式存储等都已经成为一种趋势。服务器的急剧扩张必然会存在应用服务器和数据库服务器不在同一局域网的情况,对于数据库而言安全性尤为重要,为了防止外网的恶意攻击,数据库会禁止外网访问。
[0003]传统的HTTP远程数据访问方法是基于XML和WebService技术的异构数据库集成方法,使用XML作为数据的载体。Web数据库的访问采用浏览器/Web服务器(B/S)或浏览器/Web服务器/数据库服务器(B/S/S)结构。客户通过浏览器向服务器发送请求和服务器进行连接,从而实现在Internet/Intranet的环境下对数据库的访问操作。
[0004]以XML数据格式传送数据,数据的冗余度较大,文件格式复杂,传输占带宽;传送数据过程中服务器端和客户端都需要花费大量代码来解析XML,导致服务器端和客户端代码变得异常复杂且不易维护;客户端不同浏览器之间解析XML的方式不一致,需要重复编写很多代码;由上所致服务器端和客户端解析XML花费较多的资源和时间。因此传统的HTTP远程数据访问方法存在数据查询效率低的缺点。

【发明内容】

[0005]基于此,有必要针对上述问题,提供一种数据查询效率高的HTTP远程数据访问系统和方法。
[0006]一种HTTP远程数据访问系统,包括客户终端、中间层服务器和数据库服务器,所述客户终端与所述中间层服务器通信连接,所述中间层服务器连接所述数据库服务器,
[0007]所述客户终端用于发送HTTP请求至所述中间层服务器,所述HTTP请求包括JSON格式的访问数据;
[0008]所述中间层服务器用于根据所述访问数据从所述数据库服务器中获取对应的查询结果,并将所述查询结果转换为JSON格式后发送至所述客户终端。
[0009]一种HTTP远程数据访问方法,包括以下步骤:
[0010]通过客户终端发送HTTP请求至中间层服务器,所述HTTP请求包括JSON格式的访问数据;
[0011]通过所述中间层服务器根据所述访问数据从数据库服务器中获取对应的查询结果;
[0012]通过所述中间层服务器将所述查询结果转换为JSON格式后发送至所述客户终端。
[0013]上述HTTP远程数据访问系统和方法,通过客户终端发送HTTP请求至中间层服务器,HTTP请求包括JSON格式的访问数据。通过中间层服务器根据访问数据从数据库服务器中获取对应的查询结果,并将查询结果转换为JSON格式后发送至客户终端。以JSON为数据载体进行远程访问,可在不同平台之间进行数据交换,不但跨平台性可以实施,而且传输过程中占用带宽也相对较小。JSON文件格式决定了在传送数据过程中可以轻松进行解析,使得代码变得简洁且易于维护,且避免了客户端重复编写相同功能的代码。与传统的HTTP远程数据访问方法相比,提高了数据查询效率。
【附图说明】
[0014]图1为一实施例中HTTP远程数据访问系统的结构图;
[0015]图2为一实施例中HTTP远程数据访问方法的流程图;
[0016]图3为另一实施例中HTTP远程数据访问方法的流程图。
【具体实施方式】
[0017]一种HTTP远程数据访问系统,如图1所示,包括客户终端110、中间层服务器120和数据库服务器130,客户终端110与中间层服务器120通信连接,中间层服务器120连接数据库服务器130。
[0018]客户终端110用于发送HTTP请求至中间层服务器I 20,HTTP请求包括JSON(JavaScript Object Notat1n)格式的访问数据;中间层服务器120用于根据访问数据从数据库服务器130中获取对应的查询结果,并将查询结果转换为JSON格式后发送至客户终端 IlO0
[0019]访问数据具体可包括查询数据,用于对数据库服务器130中的存储数据进行查询。此外,访问数据还可包括编辑数据,用于对数据库服务器130进行数据编辑,如数据增加、删除和修改等。客户终端110具体可以是台式电脑、笔记本电脑或触屏手机等终端设备,用户可通过客户终端110的网页输入相关指令,客户终端110根据接收的指令生成JSON格式访问数据,并以HTTP请求的形式发送至中间层服务器120以进行数据查询操作。
[0020]鉴于JSON是轻量级的数据交换格式,用JSON为载体传送数据使得数据较为精简,可在不同平台之间进行数据交换,不但跨平台性可以实施,而且传输过程中占用带宽也相对较小。JSON的文件格式决定了在传送数据过程中,无论是服务器端还是客户端都可以轻松的解析它,从而使得服务器端和客户端代码变得简洁且维护;此外,由于客户端不同浏览器之间解析JSON的方式一致,还可避免重复编写相同功能的代码。
[0021]在其中一个实施例中,HTTP请求还包括数据签名。客户终端110在发送HTTP请求至中间层服务器120之前,还用于获取HTTP请求方法、HTTP请求资源路径及时间戳生成数据签名,并根据数据签名和JSON格式的访问数据生成HTTP请求。时间戳即指客户终端110发送HTTP请求的时间,具体可获取HTTP请求方法、HTTP请求资源路径及时间戳用自由算法生成数据签名,并将数据签名写入HTTP请求头,再结合预先生成的JSON格式的访问数据生成HTTP请求。
[0022]在其中一个实施例中,中间层服务器120根据访问数据从数据库服务器130中获取对应的查询结果之前,还用于对HTTP请求进行验证,判断HTTP请求是否合法;若是,则根据访问数据从数据库服务器130中获取对应的查询结果。
[0023]判断HTTP请求是否合法的标准并不唯一,可根据实际情况调整。本实施例中与HTTP请求包括数据签名和访问数据对应,中间层服务器120对HTTP请求进行验证包括身份验证、有效性验证、安全鉴别验证和性能预测验证中的至少一种。身份验证即指验证HTTP请求的数字签名进行验证,具体可根据HTTP请求头中的HTTP请求方法、HTTP请求资源路径及时间戳用自由算法二次生成数据签名,然后与接收的数据签名进行比对,如果相同说明请求合法,否则说明请求不合法。有效性验证具体指检查HTTP请求是否重复以及是否超时,为了防止业务层被恶意攻击,本实施例中一个有效的HTTP请求只能访问一次,且有效的HTTP请求有效期是10分钟。具体可与存储的已经响应过的HTTP请求进行比对判断是否请求过,以及将请求中的时间戳与当前时间比对,判定是否在有效期。若是第一次请求且在有效期则是有效请求,否则为无效请求。安全鉴别验证即指检测HTTP请求的操作权限,具体可预先设置各HTTP请求方法对应的权限,若只有只读权限,而HTTP请求包含对数据库增加、删除、修改的操作,则判定此HTTP请求不合法。性能预测验证即指判定HTTP请求的操作条数是否操作预设阈值,具体可根据携带的访问数据判定HTTP请求是否含有大量的插入、修改及删除操作,如果操作条数大于预设阈值,则判定HTTP请求不合法。此外,中间层服务器120还可用于存储接收的HTTP请求,以便于进行下一 HTTP请求的验证比对。
[0024]本实施例中,中间层服务器120同时对HTTP请求进行身份验证、有效性验证、安全鉴别验证和性能预测验证,通过对数据访问进行多重防护,可以有效保障数据库的安全性,也杜绝了对中间层服务器120的恶意攻击。
[0025]在其中一个实施例中,中间层服务器120包括业务层服务器和数据连接层服务器,业务层服务器连接客户终端110和数据连接层服务器,数据连接层服务器连接数据库服务器 130。
[0026]业务层服务器根据访问数据获取对应数据存放的分片ID,并根据访问数据和分片ID生成实体参数发送至数据连接层服务器;及接收数据连接层服务器发送的查询结果,并转换为JSON格式后发送至客户终端110。
[0027]具体可将JSON格式的访问数据转换为实体对象,计算出HTTP请求的对应数据存放的分片ID并设置到实体对象中,最后将实体对象作为实体参数传递给数据连接层服务器。本实施例中业务层服务器在根据访问数据获取对应数据存放的分片ID之前,对HTTP请求进行验证,具体如上文所述,在此不再赘述。
[0028]数据连接层服务器用于将实体参数转化为sql (Structured Query Language,结构化查询语言)语句,根据sql语句从数据库服务器130关联得到查询结果并发送至业务层服务器。将实体参数转化为sql语句进行查询操作,提高数据查询便利性。对于涉及到多库多表的复杂操作语句,可先将复杂的语句分解,每条语句均为针对对应预设数据表的sql语句,进而查询数据库。
[0029]数据连接层服务器在数据库服务器中关联得到查询结果后发送至业务层服务器,业务层服务器将查询结果转换为JSON格式后发送至客户终端110。
[0030]上述HTTP远程数据访问系统,客户终端110发送HTTP请求至中间层服务器120,HTTP请求包括JSON格式的访问数据。中间层服务器120根据访问数据从数据库服务器130中获取对应的查询结果,并将查询结果转换为JSON格式后发送至客户终端110。以JSON为数据载体进行远程访问,可在不同平台之间进行数据交换,不但跨平台性可以实施,而且传输过程中占用带宽也相对较小。JSON文件格式决定了在传送数据过程中可以轻松进行解析,使得代码变得简洁且易于维护,且避免了客户端重复编写相同功能的代码。与传统的HTTP远程数据访问方法相比,提高了数据查询效率。
[0031]本发明还提供了一种HTTP远程数据访问方法,基于上述HTTP远程数据访问系统实现,如图2所示,包括以下步骤:
[0032]步骤SI 20:通过客户终端发送HTTP请求至中间层服务器。HTTP请求包括JSON格式的访问数据。访问数据具体可包括查询数据,用于对数据库服务器中的存储数据进行查询。此外,访问数据还可包括编辑数据,用于对数据库服务器进行数据编辑,如数据增加、删除和修改等。
[0033]客户终端具体可以是台式电脑、笔记本电脑或触屏手机等终端设备,用户可通过客户终端的网页输入相关指令,客户终端根据接收的指令生成JSON格式访问数据,并以HTTP请求的形式发送至中间层服务器以进行数据查询操作。
[0034]步骤S140:通过中间层服务器根据访问数据从数据库服务器中获取对应的查询结果。在其中一个实施例中,中间层服务器包括业务层服务器和数据连接层服务器。步骤S140具体可包括步骤142和
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1