[发明专利]一种数据库RPC服务器的工作方法和数据库RPC服务器在审
申请号: | 201910590375.0 | 申请日: | 2019-07-02 |
公开(公告)号: | CN110300176A | 公开(公告)日: | 2019-10-01 |
发明(设计)人: | 孙文峰 | 申请(专利权)人: | 斯德沃(深圳)网络科技有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L29/06;G06F9/54;G06F16/25 |
代理公司: | 北京知呱呱知识产权代理有限公司 11577 | 代理人: | 杜立军 |
地址: | 518000 广东省深圳市南山区粤海*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据库 服务请求 客户端 发送 连接请求 线程 结构化查询语言SQL 远程过程调用协议 应用开发技术 多个终端 开发周期 线程池 构建 服务器 并发 申请 开发 | ||
1.一种数据库RPC服务器的工作方法,其特征在于,所述方法包括:
接收多个客户端发送的连接请求;
从线程池中确定一个线程来接收多个客户端发送的连接请求;
接收多个客户端发送的服务请求;
根据所述服务请求构建结构化查询语言SQL并执行服务;
针对任意一个客户端,向所述客户端返回执行服务的结果。
2.如权利要求1所述的方法,其特征在于,从线程池中选择一个线程,包括:从线程池中选择出一个负载最小的线程。
3.如权利要求1所述的方法,其特征在于,根据所述服务请求构建结构化查询语言SQL并执行服务,包括:
对服务请求进行解析以获得协议标记符、数据长度、校验码、消息头和消息体;所述消息体包括服务名和服务参数;
判断协议标记符是否有效;以及判断数据长度是否在规定的范围内;以及判断校验码是否有效;
如果协议标记符有效,数据长度在规定的范围内并且校验码有效,则根据所述服务名从服务列表中找对应的服务原型,解析所述服务原型,得到服务参数,并为所述服务参数赋值,利用所述赋值的服务参数构建可执行的SQL并执行服务。
4.如权利要求3所述的方法,其特征在于,所述服务原型为所述数据库RPC服务器预先加载的服务定义文件中的内容,每一个服务原型对应一个服务;
所述服务原型包括服务参数列表和事务;
所述服务参数列表包括服务参数的集合;以及每一个服务参数的属性参数;
所述属性参数包括:参数名称、参数在数据库中定义的数据类型、参数方向和参数默认值。
5.如权利要求1所述的方法,其特征在于,如果符合下面的一个或者多个条件,则断开与客户端的连接;条件包括:协议标记符无效,数据长度不在规定的范围内和校验码无效。
6.如权利要求1所述的方法,其特征在于,所述方法还包括,验证用户的身份,包括:
判断用户的设备是否在设备白名单中,如果在白名单中,则确定用户是合法用户;或,
判断用户的IP地址是否在IP白名单中,如果在白名单,则确定用户是合法用户;或,
判断用户是否在预定义的应用系统用户表中,如果在系统用户表中,则确定用户是合法用户。
7.如权利要求1所述的方法,其特征在于,还包括:记录所述执行服务所涉及到的客户端的IP地址、服务名、服务开始时间、执行耗时和数据库影响行数。
8.一种数据库RPC服务器,其特征在于,包括:
接收模块,用于接收多个客户端发送的连接请求;以及接收多个客户端发送的服务请求;
确定模块,用于从线程池中确定一个线程来接收所述多个连接请求;
执行模块,用于根据所述服务请求构建结构化查询语言SQL并执行服务;
返回模块,用于针对任意一个客户端,向所述客户端返回执行服务的结果。
9.如权利要求8所述的数据库RPC服务器,其特征在于,还包括验证模块,所述验证模块用于:
判断用户的设备是否在设备白名单中,如果在白名单中,则用户是合法用户;或,
判断用户的IP地址是否在IP白名单中,如果在IP白名单中,则用户是合法用户;或,
判断用户是否在预定义的应用系统用户表中,如果在应用系统用户表,则用户是合法用户。
10.如权利要求9所述的数据库RPC服务器,其特征在于,所述确定模块还用于,从线程池中确定出一个负载最小的线程。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于斯德沃(深圳)网络科技有限公司,未经斯德沃(深圳)网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910590375.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:消息推送方法、装置、存储介质及服务器
- 下一篇:一种智慧校园信息推送系统