System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及数据处理,尤其涉及一种请求响应方法、装置、计算机设备和存储介质。
技术介绍
1、当前,随着互联网的发展,各种应用程序层出不穷。这些应用程序需要与后端服务器进行交互,来实现各种业务功能。例如,有时应用程序需要查询一些终端设备中的信息时,会利用与后端服务器之间配置的网络协议来发送请求和接收响应实现。但后端服务器与终端设备之间所使用的网络协议可能与应用程序不同。导致需要对应用程序的网络协议进行改进或出现请求失败等问题。
技术实现思路
1、本申请的目的旨在至少能解决上述的技术缺陷之一,特别是提出了一种可在不同通信协议的对象之间及时、稳定地处理业务请求的请求响应方法。
2、第一方面,本申请提供了一种请求响应方法,包括:
3、响应于应用程序利用第一协议发送的业务请求,为业务请求创建对应的线程对象,并将线程对象挂起;
4、将业务请求利用第二协议发送至目标设备端;
5、响应于目标设备端反馈的响应信息,将响应信息存入缓存,并将响应信息对应的线程对象唤醒;
6、利用被唤醒的线程对象,从缓存中读取对应的响应信息,并利用第一协议将响应信息返回到应用程序。
7、在其中一个实施例中,在为业务请求创建对应的线程对象的过程中,还包括:
8、为业务请求创建业务标识,将业务标识与线程对象建立关联并将业务标识存入缓存;
9、将业务请求利用第二协议发送至目标设备端,包括:
10、将业务标识与业务请求利用第
11、将响应信息对应的线程对象唤醒,包括:
12、根据响应信息中携带的业务标识,唤醒对应的线程对象。
13、在其中一个实施例中,利用被唤醒的线程对象,从缓存中读取对应的响应信息,包括:
14、利用被唤醒的线程对象,根据自身对应的业务标识,从缓存中读取具有相同业务标识的响应信息。
15、在其中一个实施例中,在利用第一协议将响应信息返回到应用程序后还包括:
16、根据业务标识,将已返回的响应信息从缓存中删除。
17、在其中一个实施例中,第一协议包括http协议,利用第一协议将响应信息返回到应用程序,包括:
18、构造http响应;
19、将响应信息封装到http响应的消息体中;
20、向应用程序发送http响应。
21、在其中一个实施例中,业务请求包括目标地址和请求参数,第二协议包括websocket协议,将业务请求利用第二协议发送至目标设备端,包括:
22、根据目标地址,确定目标设备端,并与目标设备端建立websocket连接;
23、根据目标设备端的接口文档,从请求参数中提取目标参数,将目标参数通过websocket连接发送到目标设备端。
24、在其中一个实施例中,在为业务请求创建对应的线程对象的过程中,还包括:
25、为线程对象设置等待超时时间;线程对象在挂起的时间超过等待超时时间后将被回收。
26、第二方面,本申请提供了一种请求响应装置,包括:
27、线程创建模块,用于响应于应用程序利用第一协议发送的业务请求,为业务请求创建对应的线程对象,并将线程对象挂起;
28、请求发送模块,用于将业务请求利用第二协议发送至目标设备端;
29、响应接收模块,用于响应于目标设备端反馈的响应信息,将响应信息存入缓存,并将响应信息对应的线程对象唤醒;
30、响应返回模块,用于利用被唤醒的线程对象,从缓存中读取对应的响应信息,并利用第一协议将响应信息返回到应用程序。
31、第三方面,本申请提供了一种计算机设备,包括一个或多个处理器,以及存储器,存储器中存储有计算机可读指令,计算机可读指令被一个或多个处理器执行时,执行上述任一实施例中的请求响应方法的步骤。
32、第四方面,本申请提供了一种存储介质,存储介质中存储有计算机可读指令,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述任一实施例中的请求响应方法的步骤。
33、从以上技术方案可以看出,本申请实施例具有以下优点:
34、基于本实施例中的请求响应方法,应用程序利用第一协议发送业务请求,业务服务器接收请求后为其创建线程对象并挂起,同时转化协议将请求发送给目标设备端。目标设备端返回响应后业务服务器唤醒对应线程,由被唤醒的线程从缓存读取响应数据并利用第一协议将响应返回给应用程序。该方法以业务服务器作为中转,无需将应用程序与目标设备端保持通信协议的统一,避免了引入新的通信协议增加系统学习和迁移成本的问题。其所使用的线程对象挂起与恢复运行的设计保证了一个请求响应过程处于一个统一生命周期,没有进行消息的分离和重新分配等复杂操作,因此可以满足http协议等类似协议的使用规范,不会出现请求失败的现象。
本文档来自技高网...【技术保护点】
1.一种请求响应方法,其特征在于,包括:
2.根据权利要求1所述的请求响应方法,其特征在于,在所述为所述业务请求创建对应的线程对象的过程中,还包括:
3.根据权利要求2所述的请求响应方法,其特征在于,所述利用被唤醒的所述线程对象,从所述缓存中读取对应的所述响应信息,包括:
4.根据权利要求2所述的请求响应方法,其特征在于,在利用所述第一协议将所述响应信息返回到所述应用程序后还包括:
5.根据权利要求1所述的请求响应方法,其特征在于,所述第一协议包括http协议,所述利用所述第一协议将所述响应信息返回到所述应用程序,包括:
6.根据权利要求1所述的请求响应方法,其特征在于,所述业务请求包括目标地址和请求参数,所述第二协议包括websocket协议,所述将所述业务请求利用第二协议发送至目标设备端,包括:
7.根据权利要求1所述的请求响应方法,其特征在于,在为所述业务请求创建对应的线程对象的过程中,还包括:
8.一种请求响应装置,其特征在于,包括:
9.一种计算机设备,其特征在于,包括一个或
10.一种存储介质,其特征在于,所述存储介质中存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至7任一项所述的请求响应方法的步骤。
...【技术特征摘要】
1.一种请求响应方法,其特征在于,包括:
2.根据权利要求1所述的请求响应方法,其特征在于,在所述为所述业务请求创建对应的线程对象的过程中,还包括:
3.根据权利要求2所述的请求响应方法,其特征在于,所述利用被唤醒的所述线程对象,从所述缓存中读取对应的所述响应信息,包括:
4.根据权利要求2所述的请求响应方法,其特征在于,在利用所述第一协议将所述响应信息返回到所述应用程序后还包括:
5.根据权利要求1所述的请求响应方法,其特征在于,所述第一协议包括http协议,所述利用所述第一协议将所述响应信息返回到所述应用程序,包括:
6.根据权利要求1所述的请求响应方法,其特征在于,所述业务请求包括目标地址和请求参数,所...
【专利技术属性】
技术研发人员:陈少康,林惠武,蔡火添,李志华,
申请(专利权)人:厦门熵基科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。