System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及数据处理,特别涉及一种数据库访问服务的处理方法。
技术介绍
1、每种编程语言都有一套自定义的数据库访问接口,基于同一种编程语言进行项目开发时,开发者默认会使用当前语言平台给出的统一接口进行数据库操作。但随着项目版本的持续迭代以及多样化的功能/插件引入,开发者会发同一个项目中可能会出现不同编程语言实现的组件或模块;而这些不同编程语言实现的组件或模块要访问同一个数据库时,就需要基于不同编程语言的数据库访问接口开发多套数据库驱动。这无疑会带来大量的重复性开发工作量,而且也会增加版本升级难度。
技术实现思路
1、本专利技术的目的,就是针对现有技术的缺陷,提供一种数据库访问服务的处理方法、电子设备及计算机可读存储介质。本专利技术给出一个以http/https协议为传输协议的数据库访问服务来对不同编程语言实现的组件或模块进行全向对接;该数据库访问服务的服务接口模块在收到任意客户端发送的请求报文后基于http/https协议从请求报文中解析出对应的请求头+请求体向服务主控模块发送,在接收到服务主控模块回发的响应状态+响应数据后基于http/https协议对响应状态+响应数据进行报文封装输出对应的响应报文向客户端回发;该数据库访问服务的服务主控模块从请求头+请求体中提取出对应的客户端标识、客户端令牌、三个超时时长和一条数据库指令语句,并根据客户端标识+客户端令牌进行一次鉴权验证,若验证失败就将响应状态设为鉴权失败、响应数据设为空,若验证成功就继续将客户端标识、客户端令牌、三个超时时长
2、为实现上述目的,本专利技术实施例第一方面提供了一种数据库访问服务的处理方法,方法包括:
3、数据库访问服务的服务接口模块接收第一客户端发送的第一请求报文,并基于预设的第一报文协议对所述第一请求报文进行解析得到对应的第一请求头和第一请求体向服务主控模块发送;并接收所述服务主控模块回发的第一响应状态和第一响应数据,并基于所述第一报文协议对所述第一响应状态和所述第一响应数据进行响应报文封装得到对应的第一响应报文向所述第一客户端回发;
4、所述服务主控模块从所述第一请求头和所述第一请求体中提取出对应的第一客户端标识、第一客户端令牌、第一超时时长、第二超时时长、第三超时时长和第一数据库指令语句;并根据所述第一客户端标识和所述第一客户端令牌进行一次鉴权验证得到对应的第一验证结果;并对所述第一验证结果进行识别;若所述第一验证结果为验证失败,则设置对应的所述第一响应状态为鉴权失败、并设置对应的所述第一响应数据为空;若所述第一验证结果为验证成功,则将所述第一客户端标识、所述第一客户端令牌、所述第一客户端标识、所述第一客户端令牌、所述第一超时时长、所述第二超时时长、所述第三超时时长和所述第一数据库指令语句向数据库驱动模块发送,并接收所述数据库驱动模块回发的所述第一响应状态和所述第一响应数据;并将所述第一响应状态和所述第一响应数据向所述服务接口模块回发;
5、所述数据库驱动模块根据所述第一客户端标识和所述第一客户端令牌进行一次鉴权验证得到对应的第二验证结果;并对所述第二验证结果进行识别;若所述第二验证结果为验证失败,则设置对应的所述第一响应状态为鉴权失败、并设置对应的所述第一响应数据为空;若所述第一验证结果为验证成功,则基于所述第一超时时长、所述第二超时时长、所述第三超时时长和所述第一数据库指令语句进行数据库指令交互得到对应的所述第一响应状态和所述第一响应数据;并将所述第一响应状态和所述第一响应数据向所述服务主控模块回发。
6、优选的,所述数据库访问服务的内部模块至少包括所述服务接口模块、所述服务主控模块和所述数据库驱动模块;
7、所述服务接口模块与任一个所述第一客户端连接;所述服务主控模块分别与所述服务接口模块和所述数据库驱动模块连接,还与外部的所述第一令牌服务器连接;所述数据库驱动模块与外部的所述第一数据库连接,还与外部的所述第一令牌服务器连接;
8、各个所述第一客户端也与所述第一令牌服务器连接;
9、所述第一令牌服务器用于分发、存储和校验令牌信息;所述第一令牌服务器对外提供至少两类访问接口,分别为令牌申请接口和令牌校验接口;所述令牌申请接口用于接收申请发起方发送的令牌分发请求,并将服务器为当前申请发起方分发的令牌信息向当前申请发起方回发;所述令牌校验接口用于接收申请发起方发送的令牌校验请求,并将服务器对当前令牌校验请求中携带得到令牌信息的校验结果向当前申请发起方回发;
10、所述第一报文协议至少包括http协议和https协议;
11、所述第一请求头带有多个参数,其中至少包括客户端标识参数、客户端鉴权令牌参数、数据库连接超时时长参数、数据库请求超时时长参数和数据库指令执行超时时长参数;所述第一请求体包括一条数据库指令语句;
12、所述第一数据库提供的数据库访问接口包括指令超时参数配置接口和数据库指令执行接口;
13、所述指令超时参数配置接口用于根据输入的时长信息对数据库的指令超时参数进行设置,并在设置成功时将对应的设置执行结果设为设置成功,并在设置失败时将对应的所述设置执行结果设为设置失败,并将最终得到的所述设置执行结果作为输出数据回发;
14、所述数据库指令执行接口用于将输入的数据库指令语句作为对应的当前指令语句,并以所述指令超时参数为指令执行时长限制执行所述当前指令语句,并在所述指令超时参数限制的指令执行时长内未能得到所述当前指令语句的执行结果时将对应的指令执行结果设为指令超时,并在所述指令超时参数限制的指令执行时长内得到所述当前指令语句的执行结果时将本次得到的执行结果作为对应的所述指令执行结果,并将最终得到的所述指令执行结果作为输出数据回发。
15、优选的,所述基于所述第一报文协议对所述第一响应状态和所述第一响应数据进行响应报文封装得到对应的第一响应报文向所述第一客户端回发,具体包括:
16、所述服务接口模块对所述第一响应状态是否为成功进行识别;
17、若所述第一响应状态为成功,则将所述第一响应状态作为对应的第一响应头,并将所述第一响应数据作为对应的第一响应体;并按所述第一报文协议的响应报文封装规本文档来自技高网...
【技术保护点】
1.一种数据库访问服务的处理方法,其特征在于,所述方法包括:
2.根据权利要求1所述的数据库访问服务的处理方法,其特征在于,
3.根据权利要求2所述的数据库访问服务的处理方法,其特征在于,所述基于所述第一报文协议对所述第一响应状态和所述第一响应数据进行响应报文封装得到对应的第一响应报文向所述第一客户端回发,具体包括:
4.根据权利要求2所述的数据库访问服务的处理方法,其特征在于,所述从所述第一请求头和所述第一请求体中提取出对应的第一客户端标识、第一客户端令牌、第一超时时长、第二超时时长、第三超时时长和第一数据库指令语句,具体包括:
5.根据权利要求2所述的数据库访问服务的处理方法,其特征在于,所述根据所述第一客户端标识和所述第一客户端令牌进行一次鉴权验证得到对应的第一验证结果,具体包括:
6.根据权利要求2所述的数据库访问服务的处理方法,其特征在于,所述根据所述第一客户端标识和所述第一客户端令牌进行一次鉴权验证得到对应的第二验证结果,具体包括:
7.根据权利要求2所述的数据库访问服务的处理方法,其特征在于,所
8.一种电子设备,其特征在于,包括:存储器、处理器和收发器;
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,当所述计算机指令被计算机执行时,使得所述计算机执行权利要求1-7任一项所述的方法。
...【技术特征摘要】
1.一种数据库访问服务的处理方法,其特征在于,所述方法包括:
2.根据权利要求1所述的数据库访问服务的处理方法,其特征在于,
3.根据权利要求2所述的数据库访问服务的处理方法,其特征在于,所述基于所述第一报文协议对所述第一响应状态和所述第一响应数据进行响应报文封装得到对应的第一响应报文向所述第一客户端回发,具体包括:
4.根据权利要求2所述的数据库访问服务的处理方法,其特征在于,所述从所述第一请求头和所述第一请求体中提取出对应的第一客户端标识、第一客户端令牌、第一超时时长、第二超时时长、第三超时时长和第一数据库指令语句,具体包括:
5.根据权利要求2所述的数据库访问服务的处理方法,其特征在于,所述根据所述第一客户端标识和所述第一客户端令牌进行一...
【专利技术属性】
技术研发人员:刘恩培,秦红兵,
申请(专利权)人:广东树米科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。