一种基于netty的分布式数据库数据访问控制方法技术

技术编号:28742950 阅读:17 留言:0更新日期:2021-06-06 16:47
本发明专利技术公开的一种基于netty的分布式数据库数据访问控制方法,通过开发并搭建基于netty的服务端与客户端网络应用服务,可以实现公网IP服务端与分布式数据库服务器通信以及分布式数据库高并发远程服务调用问题,并在服务端集成servlet请求为移动端提供数据访问接口入口,可以完成移动端与服务端之间的接口调用。本方法以映射有公网IP的服务端作为数据访问桥梁,通过移动端访问固定公网IP资源的服务端集成的http接口,再与netty客户端进行通信实现分布式数据库数据访问。针对分布式数据库互联网时代高并发数据请求需求,提供了一套完整的从移动端轻松访问各分布式数据库数据的访问流程及方法,并保证了数据请求过程的安全性、可靠性。可靠性。可靠性。

【技术实现步骤摘要】
一种基于netty的分布式数据库数据访问控制方法


[0001]本专利技术涉及的是数据库数据访问领域,特别涉及一种基于netty的分布式数据库数据访问控制方法。

技术介绍

[0002]随着传统的数据库技术日趋成熟、计算机网络技术的飞速发展和应用范围的扩大,以分布式为主要特征的数据库系统的研究与开发受到人们的注意。分布式数据库是数据库技术与网络技术相结合的产物,在数据库领域已形成一个分支,而随着移动信息化进程的发展,移动应用已经呈现爆发式的增长,如果分布式数据库没有固定IP,那么通过移动端就无法直接进行数据库数据读取,特别是现在的移动开发越来越趋于开发周期短、版本更新容易的WebApp的开发体系,此体系呈现为前端应用和后端逻辑分离的局面,很大程度上提高了对接口的访问需求。在此现状下,虽然通过为每个数据库提供固定IP地址的方式简单、方便,移动端可以直接访问数据库数据,但是公网IP地址资源一直处于缺乏状态,这种方式不仅会大量占用公网IP资源且成本高、申请周期长,而且无法满足批量的客户端增长的需求。

技术实现思路

[0003]鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的一种基于netty的分布式数据库数据访问控制方法。
[0004]为了解决上述技术问题,本申请实施例公开了如下技术方案:
[0005]一种基于netty的分布式数据库数据访问控制方法,包括:
[0006]S100.移动端向客户端发送请求数据;
[0007]S200.服务端向客户端通过协议转发请求数据;
[0008]S300.客户端根据请求数据,向数据库发送查询数据请求,数据库根据查询数据请求向客户端返回查询结果数据;
[0009]S400.客户端根据协议向服务端返回查询结果数据;
[0010]S500.服务端通过接口向移动端返回查询结果数据。
[0011]进一步地,服务端的开发和搭建过程具体为:首先定义两个线程组,用来处理客户端通道的accept和读写事件,然后绑定服务端通道NioServerSocketChannel,接着给读写事件的线程通道绑定handle来处理具体的业务逻辑,最后是绑定监听。
[0012]进一步地,客户端的搭建和开发过程为:通过服务端公网IP和端口绑定到服务端,完成与服务端的连接。
[0013]进一步地,搭建的服务端与客户端消息互通的过程为:服务端向客户端发送数据模拟移动端http请求,客户端接收到服务端的协议请求后,开始查询客户端数据库数据,查询导数据后通过Json压缩并返回给服务端,最后关闭连接。
[0014]进一步地,服务端还包括:集成servlet请求,重写doPost和doGet方法,针对Get请
求在doGet方法里实现客户端数据请求,对于Post请求在doPost方法里实现客户端数据请求。
[0015]进一步地,服务端通过建立哈希表来完成多个客户端的数据通道维护,具体方法为:以客户端编号ID为哈希表key,将包含数据通道信息bean为哈希表value,当需要向指定客户端发送数据时,通过遍历哈希表即可找到指定客户端通道,并且向此通道来发送和接收数据。
[0016]进一步地,客户端向数据库请求数据时,首先看数据库是否有此数据,如果有,数据库将此数据直接返回给客户端,如果没有,通过查看同步锁模块是否执行,来判断是否有其他并行客户端请求。
[0017]进一步地,当有同步锁模块执行时,等待同步锁模块释放,当同步锁释放后,其他的并行客户端已经将数据存储至内存数据库;再次请求内存数据库是否有数据,如果有,将此数据直接返回给客户端,如果仍然没有,就请求关系型数据库返回数据,并将此数据存入内存数据库。
[0018]本专利技术实施例提供的上述技术方案的有益效果至少包括:
[0019]本专利技术公开的一种基于netty的分布式数据库数据访问控制方法,通过开发并搭建基于netty的服务端与客户端网络应用服务,可以实现公网IP服务端与分布式数据库服务器通信以及分布式数据库高并发远程服务调用问题,并在服务端集成servlet请求为移动端提供数据访问接口入口,可以完成移动端与服务端之间的接口调用。本方法以映射有公网IP的服务端作为数据访问桥梁,通过移动端访问固定公网IP资源的服务端集成的http接口,再与netty客户端进行通信实现分布式数据库数据访问。针对分布式数据库互联网时代高并发数据请求需求,提供了一套完整的从移动端轻松访问各分布式数据库数据的访问流程及方法,并保证了数据请求过程的安全性、可靠性。
[0020]下面通过附图和实施例,对本专利技术的技术方案做进一步的详细描述。
附图说明
[0021]附图用来提供对本专利技术的进一步理解,并且构成说明书的一部分,与本专利技术的实施例一起用于解释本专利技术,并不构成对本专利技术的限制。在附图中:
[0022]图1为本专利技术实施例1中,移动端请求数据流程框图。
具体实施方式
[0023]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0024]为了解决现有技术中存在的问题,本专利技术实施例提供一种基于netty的分布式数据库数据访问控制方法。
[0025]实施例1
[0026]本实施例公开的一种基于netty的分布式数据库数据访问控制方法,该方法采用Java语言并在IDEA开发环境中具体实现netty客户端与服务端程序开发,以Postman工具以
及Android4.0以上系统移动端作为测试环境,实现间接党文底层无固定公网IP的客户端数据库数据。
[0027]具体的,一种基于netty的分布式数据库数据访问控制方法,如图1,包括:
[0028]S100.移动端向客户端发送请求数据。
[0029]S200.服务端向客户端通过协议转发请求数据;具体的,本实施例中,服务端的开发和搭建过程具体为:首先定义两个线程组,用来处理客户端通道的accept和读写事件,然后绑定服务端通道NioServerSocketChannel,接着给读写事件的线程通道绑定handle来处理具体的业务逻辑,最后是绑定监听。客户端的搭建和开发过程为:通过服务端公网IP和端口绑定到服务端,完成与服务端的连接。
[0030]搭建的服务端与客户端消息互通的过程为:服务端向客户端发送数据模拟移动端http请求,客户端接收到服务端的协议请求后,开始查询客户端数据库数据,查询导数据后通过Json压缩并返回给服务端,最后关闭连接。通过手动搭建netty服务端和客户端程序,实现两个服务器之间的通信以及协议数据互通。
[0031]针对多个客户端,服务端通过设置内存哈希表来对每个客户端连接上服务端之后建立的通道channe本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于netty的分布式数据库数据访问控制方法,其特征在于,包括:S100.移动端向客户端发送请求数据;S200.服务端向客户端通过协议转发请求数据;S300.客户端根据请求数据,向数据库发送查询数据请求,数据库根据查询数据请求向客户端返回查询结果数据;S400.客户端根据协议向服务端返回查询结果数据;S500.服务端通过接口向移动端返回查询结果数据。2.如权利要求1的一种基于netty的分布式数据库数据访问控制方法,其特征在于,服务端的开发和搭建过程具体为:首先定义两个线程组,用来处理客户端通道的accept和读写事件,然后绑定服务端通道NioServerSocketChannel,接着给读写事件的线程通道绑定handle来处理具体的业务逻辑,最后是绑定监听。3.如权利要求1的一种基于netty的分布式数据库数据访问控制方法,其特征在于,客户端的搭建和开发过程为:通过服务端公网IP和端口绑定到服务端,完成与服务端的连接。4.如权利要求1的一种基于netty的分布式数据库数据访问控制方法,其特征在于,搭建的服务端与客户端消息互通的过程为:服务端向客户端发送数据模拟移动端http请求,客户端接收到服务端的协议请求后,开始查询客户端数据库数据,查询导数据后通过Json压缩并返回给服务端,最后关闭连接。5.如权利要求...

【专利技术属性】
技术研发人员:叶婷李雪强陶强周宁
申请(专利权)人:武汉武钢绿色城市技术发展有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1