CN113992641B - 一种数据处理方法、装置、设备及存储介质 - Google Patents
一种数据处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113992641B CN113992641B CN202111182352.XA CN202111182352A CN113992641B CN 113992641 B CN113992641 B CN 113992641B CN 202111182352 A CN202111182352 A CN 202111182352A CN 113992641 B CN113992641 B CN 113992641B
- Authority
- CN
- China
- Prior art keywords
- service
- data
- service request
- identifier
- server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 27
- 230000005540 biological transmission Effects 0.000 claims abstract description 13
- 230000004044 response Effects 0.000 claims description 38
- 238000004891 communication Methods 0.000 claims description 32
- 238000000034 method Methods 0.000 claims description 30
- 238000012545 processing Methods 0.000 claims description 24
- 230000015654 memory Effects 0.000 claims description 16
- 238000006243 chemical reaction Methods 0.000 claims description 15
- 238000012546 transfer Methods 0.000 claims description 8
- 230000006870 function Effects 0.000 description 10
- 230000009286 beneficial effect Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000003993 interaction Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/18—Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
Abstract
本公开关于一种数据处理方法、装置、设备及存储介质,涉及计算机技术领域,可以在不同的网络协议下向服务器发送业务请求,丰富了业务请求的传输模式。该数据处理方法包括:接收客户端通过第一网络协议发送的第一业务请求;第一业务请求用于请求从服务器获取业务数据;第一业务请求包括服务标识和数据标识;服务标识用于标识服务器;数据标识用于标识业务数据;生成包括数据标识和服务标识的第二业务请求;第二业务请求用于基于第二网络协议,从服务器中获取业务数据;通过第二网络协议,向服务器发送第二业务请求。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种数据处理方法、装置、设备及存储介质。
背景技术
远程过程调用(Remote Process Call,RPC)是一种客户端与服务器端之间进行通讯的沟通方式,其主要表现方式为客户端经由超文本传输协议(Hyper Text TransferProtocol,HTTP)请求的封装,对远程服务器发起函数调用请求,是一种服务器应用程序接口(Application Programming Interface,API)设计思路。而gRPC则是谷歌公司发布的一种开源的RPC系统。
目前gRPC业务请求可以基于HTTP/1.1进行调用,能够将服务器解析出的gRPC业务请求中的函数名和传递的参数通过系统建立好的接口调用文件调用对应的函数,实现了在支持HTTP/1.1协议的浏览器中实现gRPC业务请求的调用。
随着互联网技术的发展,HTTP/2逐渐广泛应用。HTTP/2是HTTP协议的第二版本,其在兼容之前的HTTP/1.1的基础上,又兼容了许多新的特性。相比HTTP/1.1,HTTP/2具有通讯效率高效、交互时间短、可以多路复用等特点。
因此,如何将gRPC业务请求应用于HTTP/2是目前亟需解决的技术问题。
发明内容
本公开提供一种数据处理方法、装置、设备及存储介质,可以提高数据处理的效率。
本公开实施例的技术方案如下:
根据本公开实施例的第一方面,提供一种数据处理方法,该方法可以应用于电子设备。该方法可以包括:接收客户端通过第一网络协议发送的第一业务请求;第一业务请求用于请求从服务器获取业务数据;第一业务请求包括服务标识和数据标识;服务标识用于标识服务器;数据标识用于标识业务数据;生成包括数据标识和服务标识的第二业务请求;第二业务请求用于基于第二网络协议,从服务器中获取业务数据;通过第二网络协议,向服务器发送第二业务请求。
可选地,生成包括数据标识和服务标识的第二业务请求,包括:从第一业务请求中,提取服务标识和数据标识;基于第二网络协议、服务标识和数据标识,生成第二业务请求。
可选地,从第一业务请求中,提取服务标识和数据标识,包括:解析第一业务请求,以得到用于描述服务器和业务数据的描述文件;解析描述文件,以得到用于描述服务器的第一描述字段和用于描述业务数据的第二描述字段;将第一描述字段确定为服务标识,以及将第二描述字段确定为数据标识。
可选地,基于第二网络协议、服务标识和数据标识,生成第二业务请求,包括:基于第二网络协议,生成用于与服务器通信的业务请求;基于第二网络协议,将服务标识和数据标识的数据格式转换为与服务器通信的数据格式;将格式转换后的服务标识和数据标识添加到与服务器通信的业务请求中,以得到第二业务请求。
可选地,第一网络协议为超文本传输协议HTTP;第二网络协议为HTTP/2;第一业务请求为HTTP业务请求;第二业务请求为谷歌远程过程调用gRPC业务请求。
可选地,该数据处理方法还包括:接收服务器响应于第二业务请求,基于第二网络协议发送的业务数据;基于第一网络协议,生成用于与客户端通信的业务响应;业务响应包括业务数据;通过第一网络协议,向客户端发送业务响应。
根据本公开实施例的第二方面,提供一种数据处理装置,可以应用于电子设备。该装置可以包括:接收单元、生成单元和发送单元;接收单元,用于接收客户端通过第一网络协议发送的第一业务请求;第一业务请求用于请求从服务器获取业务数据;第一业务请求包括服务标识和数据标识;服务标识用于标识服务器;数据标识用于标识业务数据;生成单元,用于生成包括数据标识和服务标识的第二业务请求;第二业务请求用于基于第二网络协议,从服务器中获取业务数据;发送单元,用于通过第二网络协议,向服务器发送第二业务请求。
可选地,生成单元,具体用于:从第一业务请求中,提取服务标识和数据标识;基于第二网络协议、服务标识和数据标识,生成第二业务请求。
可选地,生成单元,具体用于:解析第一业务请求,以得到用于描述服务器和业务数据的描述文件;解析描述文件,以得到用于描述服务器的第一描述字段和用于描述业务数据的第二描述字段;将第一描述字段确定为服务标识,以及将第二描述字段确定为数据标识。
可选地,生成单元,具体用于:基于第二网络协议,生成用于与服务器通信的业务请求;基于第二网络协议,将服务标识和数据标识的数据格式转换为与服务器通信的数据格式;将格式转换后的服务标识和数据标识添加到与服务器通信的业务请求中,以得到第二业务请求。
可选地,第一网络协议为超文本传输协议HTTP;第二网络协议为HTTP/2;第一业务请求为HTTP业务请求;第二业务请求为谷歌远程过程调用gRPC业务请求。
可选地,接收单元,还用于接收服务器响应于第二业务请求,基于第二网络协议发送的业务数据;生成单元,还用于基于第一网络协议,生成用于与客户端通信的业务响应;业务响应包括业务数据;发送单元,还用于通过第一网络协议,向客户端发送业务响应。
根据本公开实施例的第三方面,提供一种电子设备,可以包括:处理器和用于存储处理器可执行指令的存储器;其中,处理器被配置为执行所述指令,以实现上述第一方面中任一种可选地数据处理方法。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,计算机可读存储介质上存储有指令,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行上述第一方面中任一种可选地数据处理方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,该计算机程序产品包括计算机指令,当计算机指令在电子设备上运行时,使得电子设备执行如第一方面中任一种可选地实现方式所述的数据处理方法。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
本公开的实施例提供的技术方案至少带来以下有益效果:
基于上述任一方面,本公开中,电子设备在接收客户端通过第一网络协议发送的第一业务请求后,可以获取第一业务请求中的服务标识和数据标识,并生成包括数据标识和服务标识的第二业务请求。后续,电子设备并通过第二网络协议,向服务器发送第二业务请求。由于第二业务请求用于基于第二网络协议,从服务器中获取业务数据,因此,进行协议转换后的业务请求可以在不同的网络协议下向服务器发送业务请求,丰富了业务请求的传输模式。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1示出了本公开实施例提供的一种数据处理方法的流程示意图;
图2示出了本公开实施例提供的又一种数据处理方法的流程示意图;
图3示出了本公开实施例提供的又一种数据处理方法的流程示意图;
图4示出了本公开实施例提供的又一种数据处理方法的流程示意图;
图5示出了本公开实施例提供的又一种数据处理方法的流程示意图;
图6示出了本公开实施例提供的又一种数据处理装置的结构示意图;
图7示出了本公开实施例提供的一种电子设备的结构示意图;
图8示出了本公开实施例提供的又一种电子设备的结构示意图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
还应当理解的是,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其他特征、整体、步骤、操作、元素和/或组件的存在或添加。
本公开所涉及的数据可以为经用户授权或者经过各方充分授权的数据。
如背景技术中所描述,随着互联网技术的发展,HTTP/2逐渐广泛应用。HTTP/2是HTTP协议的第二版本,其在兼容之前的HTTP/1.1的基础上,又兼容了许多新的特性。相比HTTP/1.1,HTTP/2具有通讯效率高效、交互时间短、可以多路复用等特点。因此,如何将gRPC业务请求应用于HTTP/2是目前亟需解决的技术问题
基于此,本申请实施例提供了一种数据处理方法,包括:电子设备在接收客户端通过第一网络协议发送的第一业务请求后,可以获取第一业务请求中的服务标识和数据标识,并生成包括数据标识和服务标识的第二业务请求。后续,电子设备并通过第二网络协议,向服务器发送第二业务请求。由于第二业务请求用于基于第二网络协议,从服务器中获取业务数据,因此,进行协议转换后的业务请求可以在不同的网络协议下向服务器发送业务请求,丰富了业务请求的传输模式。
以下对本公开实施例提供的数据处理方法进行示例性说明:
本公开提供的数据处理方法可以应用于电子设备。
一些实施例中,电子设备可以是服务器与终端进行数据传输过程中的网关,也可以是其他用于进行数据处理的电子设备,本公开对此不作限定。
其中,网关(Gateway)又称网间连接器、协议转换器。网关在网络层以上实现网络互连,是复杂的网络互连设备,仅用于两个高层协议不同的网络互连。网关既可以用于广域网互连,也可以用于局域网互连。网关是一种充当转换重任的计算机系统或设备。使用在不同的通信协议、数据格式或语言,甚至体系结构完全不同的两种系统之间,网关是一个翻译器。与网桥只是简单地传达信息不同,网关对收到的信息要重新打包,以适应目的系统的需求。同层--应用层。
下面结合附图对本申请实施例提供的数据处理方法进行详细介绍。
如图1所示,当数据处理方法应用于电子设备时,该数据处理方法可以包括:
S101、电子设备接收客户端通过第一网络协议发送的第一业务请求。
具体的,在客户端上安装的应用程序,可以为用户提供各种服务。用户在使用某种服务时,客户端可以响应于用户的操作,通过第一网络协议向电子设备发送第一业务请求。相应的,电子设备接收客户端通过第一网络协议发送的第一业务请求。
其中,第一业务请求用于请求从服务器获取业务数据;第一业务请求包括服务标识和数据标识;服务标识用于标识服务器;数据标识用于标识业务数据。
可选的,第一网络协议可以是HTTP协议,第一业务请求可以是HTTP业务请求。
示例性的,用户在客户端上使用购物类应用程序可以购买商品。在为商品支付交易货币时,客户端需要向交易服务器获取交易服务。在这种情况下,客户端可以通过HTTP协议,向电子设备发送HTTP业务请求。该HTTP业务请求用于请求从交易服务器获取交易服务。该HTTP业务请求包括用于标识交易服务的数据标识以及交易服务器的服务标识。
S102、电子设备生成包括数据标识和服务标识的第二业务请求。
具体的,在接收客户端通过第一网络协议发送的第一业务请求后,电子设备可以生成包括数据标识和服务标识的第二业务请求。
其中,第二业务请求用于基于第二网络协议,从服务器中获取业务数据。
可选的,第二网络协议可以是HTTP/2协议,第二业务请求可以是gRPC业务请求。
结合上述示例,客户端可以通过HTTP协议,向电子设备发送HTTP业务请求后,由于HTTP业务请求包括用于标识交易服务的数据标识以及交易服务器的服务标识,因此,电子设备可以基于HTTP/2协议,生成包括用于标识交易服务的数据标识以及交易服务器的服务标识的gRPC业务请求。
HTTP/2是HTTP协议的第二版本,其在兼容之前的HTTP/1.0、HTTP/1.1的基础上,又兼容了许多新的特性,诸如基于HPACK算法的头字段数据压缩,服务器推送,请求管线化,数据多路复用等。而HTTP/2与HTTP/1.x的最大区别在于HTTP/2将TCP连接分为若干个流,在每个流中可以传输若干个消息,每个消息由若干个最小单位的二进制帧组成。也即是说,HTTP/1.x协议是一个文本协议,其可读性非常好,但是其并不高效。
首先,HTTP/1.x协议解析麻烦,比如对于一个完整的HTTP业务请求来说,首先需要正确的读出HTTP header,HTTP header各个fields使用\r\n分隔,然后跟body之间使用\r\n\r\n分隔。解析完header之后,才能从header里面的content-length拿到body的size,从而读取body。
其次,HTTP/1.x的交互模式为一个连接每次只能一问一答,也就是说客户端发送了请求之后,必须等到回复,才能继续发送下一次请求。而对于HTTP/2是一个二进制协议,其可读性为零,但是其支持了连接的多路复用,提高了连接的利用率;而且一条连接中允许多个流同时发送;而且在一个HTTP业务请求里面,可在Header上面携带很多请求的元信息,用来描述传输的资源以及它的相关属性;而对于HTTP/1.1协议中,其采用的是纯文本协议,在对元数据进行分隔时,采用的是“\r\n”分隔,一旦数据过大,就会导致header非常的庞大。
gRPC是RPC的一种,它使用Protocol Buffer(简称Protobuf)作为序列化格式,Protocol Buffer是来自google的序列化框架,比Json更加轻便高效,同时基于HTTP/2 标准设计,带来诸如双向流、流控、头部压缩、单TCP连接上的多复用请求等特性。这些特性使得其在移动设备上表现更好,更省电和节省空间占用。
在gRPC中,客户端应用程序可以直接在另一台计算机上的服务器应用程序上调用方法,就好像它是本地对象一样,从而更轻松地创建分布式应用程序和服务。
这样一来,当第一网络协议为HTTP协议,第二网络协议为HTTP/2协议,第一业务请求为HTTP业务请求,第二业务请求为gRPC业务请求时,本公开保证了HTTP业务请求可以在不同的网络协议下实现gRPC业务请求的转换,从而使得客户端与服务器进行数据传输时,可以利用HTTP/2通讯效率高效、交互时间短、可以多路复用等特点,提高了双击传输的效率。
S103、电子设备通过第二网络协议,向服务器发送第二业务请求。
具体的,在生成包括数据标识和服务标识的第二业务请求后,电子设备可以通过第二网络协议,向服务器发送第二业务请求。
结合上述示例,在基于HTTP/2协议,生成包括用于标识交易服务的数据标识以及交易服务器的服务标识的gRPC业务请求后,电子设备可以通过HTTP/2协议,向交易服务器发送gRPC业务请求,以获取客户端所需的交易服务。
上述实施例提供的技术方案至少带来以下有益效果:由S101-S103可知,电子设备在接收客户端通过第一网络协议发送的第一业务请求后,可以获取第一业务请求中的服务标识和数据标识,并生成包括数据标识和服务标识的第二业务请求。后续,电子设备并通过第二网络协议,向服务器发送第二业务请求。由于第二业务请求用于基于第二网络协议,从服务器中获取业务数据,因此,进行协议转换后的业务请求可以在不同的网络协议下向服务器发送业务请求,丰富了业务请求的传输模式。
在一种实施例中,结合图1,如图2所示,上述S102中,电子设备生成包括数据标识和服务标识的第二业务请求的方法具体包括:
S201、电子设备从第一业务请求中,提取服务标识和数据标识。
具体的,在生成包括数据标识和服务标识的第二业务请求时,为了保证第二业务请求可以从服务器获取到客户端需要的业务数据,电子设备可以从第一业务请求中,提取服务标识和数据标识。
可选的,服务标识和数据标识可以预先存储于第一业务请求的某个文件的某个字段中。在接收到第一业务请求后,电子设备可以从该文件提取该字段,以得到服务标识和数据标识。
S202、电子设备基于第二网络协议、服务标识和数据标识,生成第二业务请求。
具体的,在从第一业务请求中,提取服务标识和数据标识后,为了保证电子设备可以与服务器进行通信,电子设备可以基于第二网络协议、服务标识和数据标识,生成第二业务请求。
示例性的,当第一业务请求为HTTP业务请求,第二业务请求为gRPC业务请求时,可以预先定义method字段,这个字段表明了本次请求需要路由到哪个系统的哪个接口,比如字段A用于标识需要获取服务器A这个gRPC服务提供的A服务。
HTTP接口文档中的入参参数名称采用下划线形式。相应的,映射到proto文件也是下划线形式的入参参数。业务传入method后,电子设备可以通过字段A快速定位到服务器A这个proto文件,并根据A服务获取这个服务的接口名A。
在这种情况下,电子设备可以映射路由到服务器A这个rpc服务,通过gRPC的入参和出参描述符,创建gRPC所需要的Method Descriptor方法描述对象,以得到包括服务标识(用于标识服务器A)和数据标识(用于标识从服务器A这个gRPC服务获取提供A服务)的gRPC业务请求。
上述实施例提供的技术方案至少带来以下有益效果:由S201-S202可知,电子设备在生成包括数据标识和服务标识的第二业务请求时,为了保证第二业务请求可以从服务器获取到客户端需要的业务数据,可以从第一业务请求中,提取服务标识和数据标识。后续,电子设备可以基于第二网络协议、服务标识和数据标识,生成第二业务请求,给出了一种生成第二业务请求的具体实现方式,保证了进行协议转换后的业务请求可以在不同的网络协议下向服务器发送业务请求,丰富了业务请求的传输模式。
在一种实施例中,结合图2,如图3所示,上述S201中,电子设备从第一业务请求中,提取服务标识和数据标识的方法具体包括:
S301、电子设备解析第一业务请求,以得到用于描述服务器和业务数据的描述文件。
具体的,服务标识和数据标识可以预先存储于第一业务请求的某个描述文件的某个描述字段中。在接收到第一业务请求后,电子设备可以解析第一业务请求,以得到用于描述服务器和业务数据的描述文件。
可选的,描述文件可以是proto文件。
S302、电子设备解析描述文件,以得到用于描述服务器的第一描述字段和用于描述业务数据的第二描述字段。
具体的,在解析第一业务请求,以得到用于描述服务器和业务数据的描述文件后,电子设备可以解析描述文件,以得到用于描述服务器的第一描述字段和用于描述业务数据的第二描述字段。
可选的,第一描述字段和第二描述字段可以是method字段。
其中,两个字段之间可以通过下划线连接,也可以通过其他方式连接,本公开对此不作限定。
S303、电子设备将第一描述字段确定为服务标识,以及将第二描述字段确定为数据标识。
具体的,在解析描述文件,以得到用于描述服务器的第一描述字段和用于描述业务数据的第二描述字段后,由于第一描述字段用于描述服务器,因此,电子设备可以将第一描述字段确定为服务标识。相应的,由于第二描述字段用于描述业务数据,因此,电子设备可以将第二描述字段确定为数据标识。
上述实施例提供的技术方案至少带来以下有益效果:由S301-S303可知,服务标识和数据标识可以预先存储于第一业务请求的某个描述文件的某个描述字段中。在接收到第一业务请求后,电子设备可以解析第一业务请求,以得到用于描述服务器和业务数据的描述文件。后续,电子设备解析描述文件,以得到用于描述服务器的第一描述字段和用于描述业务数据的第二描述字段,并将第一描述字段确定为服务标识,以及将第二描述字段确定为数据标识,给出了一种从第一业务请求中,提取服务标识和数据标识的具体实现方式,保证了后续生成第二业务请求时,可以将业务标识和数据标识添加到第二业务请求中,进而使得进行协议转换后的业务请求可以在不同的网络协议下向服务器发送客户端所需的业务请求,丰富了业务请求的传输模式。
在一种实施例中,结合图2,如图4所示,上述S202中,电子设备基于第二网络协议、服务标识和数据标识,生成第二业务请求的方法具体包括:
S401、电子设备基于第二网络协议,生成用于与服务器通信的业务请求。
具体的,在基于第二网络协议、服务标识和数据标识,生成第二业务请求时,由于电子设备需要基于第二网络协议与服务器通信,因此,电子设备可以基于第二网络协议,生成用于与服务器通信的业务请求。
示例性的,电子设备接收到的第一业务请求为HTTP业务请求。当电子设备向服务器发送的业务请求为gRPC业务请求时,电子设备需要基于gRPC业务请求的网络协议(即第二网络协议:HTTP/2协议),向服务器发送gRPC业务请求。在这种情况下,电子设备基于HTTP/2协议,生成用于与服务器通信的业务请求。
S402、电子设备基于第二网络协议,将服务标识和数据标识的数据格式转换为与服务器通信的数据格式。
具体的,在基于第二网络协议、服务标识和数据标识,生成第二业务请求时,由于电子设备需要基于第二网络协议与服务器通信,因此,电子设备可以基于第二网络协议,将服务标识和数据标识的数据格式转换为与服务器通信的数据格式。
示例性的,电子设备接收到的第一业务请求为HTTP业务请求。其中,HTTP业务请求中包含的数据标识和服务标识为通过下划线连接的描述字段。当电子设备向服务器发送的业务请求为gRPC业务请求时,电子设备需要基于gRPC业务请求的网络协议(即第二网络协议:HTTP/2协议),将通过下划线连接的描述字段(HTTP业务请求中的数据标识和服务标识)转换为HTTP/2协议下的数据格式(例如,通过加号符号连接描述字段),以便于服务器可以基于HTTP/2协议,识别到数据标识和服务标识。
S403、电子设备将格式转换后的服务标识和数据标识添加到与服务器通信的业务请求中,以得到第二业务请求。
具体的,在生成用于与服务器通信的业务请求,以及基于第二网络协议,将服务标识和数据标识的数据格式转换为与服务器通信的数据格式后,电子设备可以将格式转换后的服务标识和数据标识添加到与服务器通信的业务请求中,以得到第二业务请求。
上述实施例提供的技术方案至少带来以下有益效果:由S401-S403可知,在基于第二网络协议、服务标识和数据标识,生成第二业务请求时,由于电子设备需要基于第二网络协议与服务器通信,因此,电子设备可以基于第二网络协议,生成用于与服务器通信的业务请求。此外,由于电子设备需要基于第二网络协议与服务器通信,因此,电子设备可以基于第二网络协议,将服务标识和数据标识的数据格式转换为与服务器通信的数据格式。后续,电子设备可以将格式转换后的服务标识和数据标识添加到与服务器通信的业务请求中,以得到第二业务请求,给出了一种基于第二网络协议、服务标识和数据标识,生成第二业务请求的具体实现方式,保证了进行协议转换后的业务请求可以在不同的网络协议下向服务器发送业务请求,丰富了业务请求的传输模式。
在一种实施例中,该数据处理方法还包括:
S501、电子设备接收服务器响应于第二业务请求,基于第二网络协议发送的业务数据。
具体的,电子设备通过第二网络协议,向服务器发送第二业务请求后,服务器可以响应于第二业务请求,为客户端提供业务数据。在这种情况下,电子设备接收服务器响应于第二业务请求,基于第二网络协议发送的业务数据。
结合上述示例,在基于HTTP/2协议,生成包括用于标识交易服务的数据标识以及交易服务器的服务标识的gRPC业务请求后,电子设备可以通过HTTP/2协议,向交易服务器发送gRPC业务请求,以获取客户端所需的交易服务。
交易服务器在接收到gRPC业务请求后,可以响应于gRPC业务请求为客户端提供交易服务的业务数据。在这种情况下,交易服务器可以基于HTTP/2协议,向电子设备发送交易服务的业务数据。
S502、电子设备基于第一网络协议,生成用于与客户端通信的业务响应。
具体的,在接收服务器响应于第二业务请求,基于第二网络协议发送的业务数据后,由于电子设备是基于第一网络协议与客户端进行通信的,因此,电子设备可以基于第一网络协议,生成用于与客户端通信的业务响应。
其中,业务响应包括业务数据。
结合上述示例,在接收交易服务器基于HTTP/2协议发送的交易服务的业务数据后,由于电子设备是基于HTTP协议与客户端进行通信的,因此,电子设备可以基于HTTP协议,生成用于与客户端通信的业务响应。其中,业务响应包括交易服务的业务数据。
S503、电子设备通过第一网络协议,向客户端发送业务响应。
具体的,在基于第一网络协议,生成用于与客户端通信的业务响应后,电子设备通过第一网络协议,向客户端发送业务响应。
结合上述示例,在基于HTTP协议,生成用于与客户端通信的业务响应后,电子设备通过HTTP协议,向客户端发送包括交易服务的业务数据的业务响应。
上述实施例提供的技术方案至少带来以下有益效果:由S501-S503可知,在接收服务器响应于第二业务请求,基于第二网络协议发送的业务数据后,由于电子设备是基于第一网络协议与客户端进行通信的,因此,电子设备可以基于第一网络协议,生成用于与客户端通信的业务响应。后续,电子设备通过第一网络协议,向客户端发送包括业务数据的业务响应。这样一来,电子设备还可以基于不同的网络协议,向客户端返回与业务请求对应的业务数据,丰富了业务数据的传输模式。
可以理解的,在实际实施时,本公开实施例所述的终端/服务器可以包含有用于实现前述对应数据处理方法的一个或多个硬件结构和/或软件模块,这些执行硬件结构和/或软件模块可以构成一个电子设备。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的算法步骤,本公开能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本公开的范围。
基于这样的理解,本公开实施例还对应提供一种数据处理装置,可以应用于电子设备。图6示出了本公开实施例提供的数据处理装置的结构示意图。如图6所示,该数据处理装置可以包括:接收单元601、生成单元602和发送单元603;
接收单元601,用于接收客户端通过第一网络协议发送的第一业务请求;第一业务请求用于请求从服务器获取业务数据;第一业务请求包括服务标识和数据标识;服务标识用于标识服务器;数据标识用于标识业务数据;
生成单元602,用于生成包括数据标识和服务标识的第二业务请求;第二业务请求用于基于第二网络协议,从服务器中获取业务数据;
发送单元603,用于通过第二网络协议,向服务器发送第二业务请求。
可选地,生成单元602,具体用于:
从第一业务请求中,提取服务标识和数据标识;
基于第二网络协议、服务标识和数据标识,生成第二业务请求。
可选地,生成单元602,具体用于:
解析第一业务请求,以得到用于描述服务器和业务数据的描述文件;
解析描述文件,以得到用于描述服务器的第一描述字段和用于描述业务数据的第二描述字段;
将第一描述字段确定为服务标识,以及将第二描述字段确定为数据标识。
可选地,生成单元602,具体用于:
基于第二网络协议,生成用于与服务器通信的业务请求;
基于第二网络协议,将服务标识和数据标识的数据格式转换为与服务器通信的数据格式;
将格式转换后的服务标识和数据标识添加到与服务器通信的业务请求中,以得到第二业务请求。
可选地,第一网络协议为超文本传输协议HTTP;第二网络协议为HTTP/2;第一业务请求为HTTP业务请求;第二业务请求为谷歌远程过程调用gRPC业务请求。
可选地,接收单元601,还用于接收服务器响应于第二业务请求,基于第二网络协议发送的业务数据;
生成单元602,还用于基于第一网络协议,生成用于与客户端通信的业务响应;业务响应包括业务数据;
发送单元603,还用于通过第一网络协议,向客户端发送业务响应。
如上所述,本公开实施例可以根据上述方法示例对电子设备进行功能模块的划分。其中,上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。另外,还需要说明的是,本公开实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。
关于上述实施例中的数据处理装置,其中各个模块执行操作的具体方式、以及具备的有益效果,均已经在前述方法实施例中进行了详细描述,此处不再赘述。
本公开实施例还提供一种电子设备。图7示出了本公开实施例提供的电子设备的结构示意图。该电子设备可以是数据处理装置可以包括至少一个处理器61,通信总线62,存储器63以及至少一个通信接口64。
处理器61可以是一个处理器(central processing units,CPU),微处理单元,ASIC,或一个或多个用于控制本公开方案程序执行的集成电路。作为一个示例,结合图6,电子设备中的生成单元602实现的功能与图7中的处理器61实现的功能相同。
通信总线62可包括一通路,在上述组件之间传送信息。
通信接口64,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如服务器、以太网,无线接入网(radio access network,RAN),无线局域网(wireless localarea networks,WLAN)等。作为一个示例,
存储器63可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理单元相连接。存储器也可以和处理单元集成在一起。
其中,存储器63用于存储执行本公开方案的应用程序代码,并由处理器61来控制执行。处理器61用于执行存储器63中存储的应用程序代码,从而实现本公开方法中的功能。
在具体实现中,作为一种实施例,处理器61可以包括一个或多个CPU,例如图7中的CPU0和CPU1。
在具体实现中,作为一种实施例,电子设备可以包括多个处理器,例如图7中的处理器61和处理器65。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,电子设备还可以包括输入设备66和输出设备67。输入设备66和输出设备67通信,可以以多种方式接受用户的输入。例如,输入设备66可以是鼠标、键盘、触摸屏设备或传感设备等。输出设备67和处理器61通信,可以以多种方式来显示信息。例如,输出设备61可以是液晶显示器(liquid crystal display,LCD),发光二级管(light emitting diode,LED)显示设备等。
本领域技术人员可以理解,图7中示出的结构并不构成对电子设备的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本公开实施例还提供一种电子设备。图8示出了本公开实施例提供的电子设备的结构示意图。该电子设备可以是数据处理装置。该电子设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器71和一个或一个以上的存储器72。其中,存储器72中存储有至少一条指令,至少一条指令由处理器71加载并执行以实现上述各个方法实施例提供的数据处理方法。当然,该电子设备还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该电子设备还可以包括其他用于实现设备功能的部件,在此不做赘述。
本公开还提供了一种包括指令的计算机可读存储介质,所述计算机可读存储介质上存储有指令,当所述计算机可读存储介质中的指令由计算机设备的处理器执行时,使得计算机能够执行上述所示实施例提供的数据处理方法。例如,计算机可读存储介质可以为包括指令的存储器63,上述指令可由终端的处理器61执行以完成上述方法。又例如,计算机可读存储介质可以为包括指令的存储器72,上述指令可由电子设备的处理器71执行以完成上述方法。可选地,计算机可读存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是ROM、RAM、CD-ROM、磁带、软盘和光数据存储设备等。
本公开还提供了一种计算机程序产品,该计算机程序产品包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行上述图1-图5任一附图所示的数据处理方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (8)
1.一种数据处理方法,其特征在于,包括:
接收客户端通过第一网络协议发送的第一业务请求;所述第一业务请求用于请求从服务器获取业务数据;所述第一业务请求包括服务标识和数据标识;所述服务标识用于标识所述服务器;所述数据标识用于标识所述业务数据;
从所述第一业务请求中,提取所述服务标识和所述数据标识;
基于第二网络协议,生成用于与所述服务器通信的业务请求,所述第二网络协议为与所述服务器通信时所使用的网络协议;
基于所述第二网络协议,将所述服务标识和所述数据标识的数据格式转换为与所述服务器通信的数据格式;
将格式转换后的服务标识和数据标识添加到与所述服务器通信的业务请求中,以得到第二业务请求;所述第二业务请求用于基于所述第二网络协议,从所述服务器中获取所述业务数据;所述第二业务请求的传输效率高于所述第一业务请求的传输效率;
通过所述第二网络协议,向所述服务器发送所述第二业务请求;
其中,所述第一网络协议为超文本传输协议HTTP;所述第二网络协议为HTTP/2;所述第一业务请求为HTTP业务请求;所述第二业务请求为谷歌远程过程调用gRPC业务请求。
2.根据权利要求1所述的数据处理方法,其特征在于,所述从所述第一业务请求中,提取所述服务标识和所述数据标识,包括:
解析所述第一业务请求,以得到用于描述所述服务器和所述业务数据的描述文件;
解析所述描述文件,以得到用于描述所述服务器的第一描述字段和用于描述所述业务数据的第二描述字段;
将所述第一描述字段确定为所述服务标识,以及将所述第二描述字段确定为所述数据标识。
3.根据权利要求1或2所述的数据处理方法,其特征在于,还包括:
接收所述服务器响应于所述第二业务请求,基于所述第二网络协议发送的所述业务数据;
基于所述第一网络协议,生成用于与所述客户端通信的业务响应;所述业务响应包括所述业务数据;
通过所述第一网络协议,向所述客户端发送所述业务响应。
4.一种数据处理装置,其特征在于,包括:接收单元、生成单元和发送单元;
所述接收单元,用于接收客户端通过第一网络协议发送的第一业务请求;所述第一业务请求用于请求从服务器获取业务数据;所述第一业务请求包括服务标识和数据标识;所述服务标识用于标识所述服务器;所述数据标识用于标识所述业务数据;
所述生成单元,用于从所述第一业务请求中,提取所述服务标识和所述数据标识;
所述生成单元,还用于基于第二网络协议,生成用于与所述服务器通信的业务请求,所述第二网络协议为与所述服务器通信时所使用的网络协议;
所述生成单元,还用于将所述服务标识和所述数据标识的数据格式转换为与所述服务器通信的数据格式;
所述生成单元,还用于将格式转换后的服务标识和数据标识添加到与所述服务器通信的业务请求中,以得到第二业务请求;所述第二业务请求用于基于所述第二网络协议,从所述服务器中获取所述业务数据;所述第二业务请求的传输效率高于所述第一业务请求的传输效率;
所述发送单元,用于通过所述第二网络协议,向所述服务器发送所述第二业务请求;
其中,所述第一网络协议为超文本传输协议HTTP;所述第二网络协议为HTTP/2;所述第一业务请求为HTTP业务请求;所述第二业务请求为谷歌远程过程调用gRPC业务请求。
5.根据权利要求4所述的数据处理装置,其特征在于,所述生成单元,具体用于:
解析所述第一业务请求,以得到用于描述所述服务器和所述业务数据的描述文件;
解析所述描述文件,以得到用于描述所述服务器的第一描述字段和用于描述所述业务数据的第二描述字段;
将所述第一描述字段确定为所述服务标识,以及将所述第二描述字段确定为所述数据标识。
6.根据权利要求4或5所述的数据处理装置,其特征在于,
所述接收单元,还用于接收所述服务器响应于所述第二业务请求,基于所述第二网络协议发送的所述业务数据;
所述生成单元,还用于基于所述第一网络协议,生成用于与所述客户端通信的业务响应;所述业务响应包括所述业务数据;
所述发送单元,还用于通过所述第一网络协议,向所述客户端发送所述业务响应。
7.一种电子设备,其特征在于,所述电子设备包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1-3中任一项所述的数据处理方法。
8.一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,其特征在于,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如权利要求1-3中任一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111182352.XA CN113992641B (zh) | 2021-10-11 | 2021-10-11 | 一种数据处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111182352.XA CN113992641B (zh) | 2021-10-11 | 2021-10-11 | 一种数据处理方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113992641A CN113992641A (zh) | 2022-01-28 |
CN113992641B true CN113992641B (zh) | 2024-09-20 |
Family
ID=79738119
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111182352.XA Active CN113992641B (zh) | 2021-10-11 | 2021-10-11 | 一种数据处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113992641B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114760235B (zh) * | 2022-04-24 | 2024-03-22 | 青岛海尔科技有限公司 | 拨测任务的执行方法及装置、存储介质、电子装置 |
CN118034959B (zh) * | 2024-04-10 | 2024-07-23 | 腾讯科技(深圳)有限公司 | 远程过程调用rpc服务调用方法、装置及电子设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111935177A (zh) * | 2020-09-23 | 2020-11-13 | 武汉中科通达高新技术股份有限公司 | 一种业务控制方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107332857B (zh) * | 2017-07-31 | 2021-01-08 | 腾讯科技(深圳)有限公司 | 一种网络数据传输方法、装置、系统和存储介质 |
CN109445968A (zh) * | 2018-11-09 | 2019-03-08 | 金瓜子科技发展(北京)有限公司 | 不同协议的服务请求处理方法、装置、设备及存储介质 |
CN111049854B (zh) * | 2019-12-25 | 2021-12-14 | 微民保险代理有限公司 | 一种服务请求的传输方法和装置 |
CN112311774B (zh) * | 2020-10-16 | 2023-05-05 | 北京金山云网络技术有限公司 | 一种数据处理方法、装置、电子设备及存储介质 |
-
2021
- 2021-10-11 CN CN202111182352.XA patent/CN113992641B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111935177A (zh) * | 2020-09-23 | 2020-11-13 | 武汉中科通达高新技术股份有限公司 | 一种业务控制方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113992641A (zh) | 2022-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109815107B (zh) | 自动化测试的方法和装置 | |
CN113992641B (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN111722947A (zh) | 服务调用方法及系统 | |
CN110704200A (zh) | 转换调用接口的方法和装置 | |
CN109343975B (zh) | 用于页面间异步通信的方法和装置 | |
CN110858202A (zh) | 数据库查询语句中where子句的生成方法和生成装置 | |
CN112417016B (zh) | 一种数据交换方法、系统、设备及存储介质 | |
CN112202744B (zh) | 一种多系统数据通信方法和装置 | |
CN113821352A (zh) | 一种远程服务的调用方法和装置 | |
CN110377273B (zh) | 一种数据处理的方法、装置、介质和电子设备 | |
CN113076294A (zh) | 一种信息分享方法和装置 | |
CN111787041A (zh) | 用于处理数据的方法和装置 | |
CN109981546B (zh) | 获取应用模块间的远程调用关系的方法和装置 | |
CN112015383A (zh) | 一种登录方法和装置 | |
CN116561013B (zh) | 基于目标服务框架的测试方法、装置、电子设备和介质 | |
CN116781586A (zh) | 一种gRPC流量解析方法、装置、设备及介质 | |
CN110807535A (zh) | 统一预约平台的构建方法、构建装置和统一预约平台系统 | |
CN110780915B (zh) | 一种数据处理方法、装置和存储介质 | |
CN114301970B (zh) | 服务调用方法、装置、电子设备及存储介质 | |
CN115374207A (zh) | 业务处理方法及装置、电子设备和计算机可读存储介质 | |
CN111953718A (zh) | 一种页面调试方法和装置 | |
CN112769975B (zh) | 一种数据集成方法、装置、服务器及存储介质 | |
CN113989046A (zh) | 交易处理方法、装置、电子设备、存储介质和程序产品 | |
CN114546370A (zh) | 一种数据对接方法及相关装置 | |
CN114116263A (zh) | 用于浏览器中多页签通信的系统、方法、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |