CN112468585B - 数据传输方法、装置、电子设备及存储介质 - Google Patents
数据传输方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112468585B CN112468585B CN202011350204.XA CN202011350204A CN112468585B CN 112468585 B CN112468585 B CN 112468585B CN 202011350204 A CN202011350204 A CN 202011350204A CN 112468585 B CN112468585 B CN 112468585B
- Authority
- CN
- China
- Prior art keywords
- service
- response
- service request
- hash value
- type parameter
- 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
Images
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]
- H04L67/025—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
-
- 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/14—Session management
- H04L67/146—Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
-
- 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/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
-
- 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/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- 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/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请提供的一种数据传输检测方法、装置、电子设备及存储介质,应用于计算机技术领域,所述方法包括:接收所述服务获取端发送的第一服务请求;生成所述第一服务请求中复杂类型参数的哈希值,并将所述第一服务请求进行序列化处理得到的第二服务请求;将所述第二服务请求发送给所述服务提供端,以接收所述服务提供端根据所述第二服务请求发送的第一服务响应;根据所述复杂类型参数的哈希值对所述第一服务响应进行反序列化处理,得到第二服务响应;将所述第二服务响应发送给所述服务获取端。本方案相较于之前需要生成所有类型参数的哈希值,可以减少了服务管理端的数据存储压力。
Description
技术领域
本申请属于计算机技术领域,特别是涉及一种数据传输方法、装置、电子设备及存储介质。
背景技术
微服务架构作为一种在云端部署的服务应用的架构技术,被越来越多的应用服务提供方所青睐。而在在微服务架构的使用过程中,基于PHP(Hypertext Preprocessor,超文本预处理器,一种通用开源脚本语言)对于微服务的调用也被经常使用。
现有PHP调用微服务的方式是服务获取端通过PHP-Client(PHP客户端)扩展包去远程调用服务信息,该扩展包在调用的时候首先需要从服务管理平台探测服务的调用类型参数后再将所有类型参数的哈希值存储在服务管理平台的APCU(Alternative PHP Cache,PHP扩展缓存)中,同时服务管理平台将服务获取请求进行序列化后发送给服务方来获取服务信息,再将获取到的服务信息进行反序列化后发送给服务获取端。
这种方式由于需要所有类型参数的哈希值,数据量较大,因此需要依赖于APCU来进行存储,而APCU的锁操作会导致在高并发情况下PHP的进程阻塞的问题。
发明内容
本申请提供一种数据传输方法、装置、电子设备及存储介质,以尽可能解决现有技术中在PHP微服务调用的过程中由于依赖于服务的所有类型参数的哈希值进行反序列化,导致服务管理端的数据存储压力大的问题。
有鉴于此,本申请第一方面提供一种数据传输方法,应用于应用服务系统中的服务管理端,所述应用服务系统还包括:服务获取端、服务提供端,所述方法包括:
接收所述服务获取端发送的第一服务请求;
生成所述第一服务请求中复杂类型参数的哈希值,并将所述第一服务请求进行序列化处理得到的第二服务请求;
将所述第二服务请求发送给所述服务提供端,以接收所述服务提供端根据所述第二服务请求发送的第一服务响应;
根据所述复杂类型参数的哈希值对所述第一服务响应进行反序列化处理,得到第二服务响应;
将所述第二服务响应发送给所述服务获取端。
可选地,所述根据所述复杂类型参数的哈希值对所述第一服务响应进行反序列化处理,得到第二服务响应,包括:
根据所述复杂类型参数的哈希值从所述服务获取端获取所述第一服务请求;
根据所述第一服务请求中的各类型参数对所述第一服务响应进行反序列化处理,得到第二服务响应。
可选地,所述根据所述第一服务请求中的各类型参数对所述第一服务响应进行反序列化处理,得到第二服务响应,包括:
将所述第一服务响应划分为预设字节长度的二进制流数据;
根据所述第一服务请求中的各类型参数对所述二进制流数据进行反序列化处理,得到第二服务响应。
可选地,在所述生成所述第一服务请求中复杂类型参数的哈希值之后,所述方法还包括:
将所述复杂类型参数的哈希值存储到符号表,所述符号表包括:所述复杂类型参数的哈希值与服务标识之间的对应关系;
在所述根据所述复杂类型参数的哈希值对所述第一服务响应进行反序列化处理,得到第二服务响应之前,所述方法还包括:
根据所述第一服务响应中携带的服务标识从所述符号表中获取所述复杂类型参数的哈希值。
可选地,在所述向所述服务获取端发送所述第二服务响应之后,所述方法还包括:
在当前时间点之后的预设时间段中在本地缓存中存储所述第二服务响应;
在当前时间点之后的预设时间段中接收到所述服务获取端对于所述第二服务响应的第三服务请求时,从所述本地缓存向所述服务获取端发送所述第二服务响应。
依据本申请第二方面,提供一种数据传输装置,应用于应用服务系统中的服务管理端,所述应用服务系统还包括:服务获取端、服务提供端,所述装置包括:
第一传输模块,被配置为接收所述服务获取端发送的第一服务请求;
序列化模块,被配置为生成所述第一服务请求中复杂类型参数的哈希值,并将所述第一服务请求进行序列化处理得到的第二服务请求;
第二传输模块,被配置为将所述第二服务请求发送给所述服务提供端,以接收所述服务提供端根据所述第二服务请求发送的第一服务响应;
反序列化模块,被配置为根据所述复杂类型参数的哈希值对所述第一服务响应进行反序列化处理,得到第二服务响应;
第三传输模块,被配置为将所述第二服务响应发送给所述服务获取端。
可选地,所述序列化模块,还被配置为:
根据所述复杂类型参数的哈希值从所述服务获取端获取所述第一服务请求;
根据所述第一服务请求中的各类型参数对所述第一服务响应进行反序列化处理,得到第二服务响应。
可选地,所述序列化模块,还被配置为:
将所述第一服务响应划分为预设字节长度的二进制流数据;
根据所述第一服务请求中的各类型参数对所述二进制流数据进行反序列化处理,得到第二服务响应。
可选地,所述序列化模块,还被配置为:
将所述复杂类型参数的哈希值存储到符号表,所述符号表包括:所述复杂类型参数的哈希值与服务标识之间的对应关系;
所述反序列化模块,还被配置为:
根据所述第一服务响应中携带的服务标识从所述符号表中获取所述复杂类型参数的哈希值。
可选地,所述装置还包括:
缓存模块,被配置为:
在当前时间点之后的预设时间段中在本地缓存中存储所述第二服务响应;
在当前时间点之后的预设时间段中接收到所述服务获取端对于所述第二服务响应的第三服务请求时,从所述本地缓存向所述服务获取端发送所述第二服务响应。
依据本申请第三方面,提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面任一所述的数据传输方法。
依据本申请第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现上述第一方面任一所述的数据传输方法。
针对现有技术,本申请具备如下优点:
本申请提供的一种数据传输方法、装置、电子设备及存储介质,本方案通过在将数据获取端发送的服务请求进行序列化的过程前,仅生成服务请求中复杂类型参数的哈希值,从而依据该复杂类型参数的哈希值来对后续获取到服务提供端的服务响应进行反序列化,相较于之前需要生成所有类型参数的哈希值,减少了服务管理端的数据存储压力。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是本申请实施例提供的一种数据传输方法的步骤流程图;
图2是本申请实施例提供的另一种数据传输方法的步骤流程图;
图3是本申请实施例提供一种反序列化方法的步骤流程图;
图4是本申请实施例提供的一种数据传输方法的交互步骤流程图;
图5是本申请实施例提供的一种数据传输装置的结构框图;
图6是本申请实施例提供的一种电子设备的结构框图。
具体实施方式
下面将参照附图更详细地描述本申请的示例性实施例。虽然附图中显示了本申请的示例性实施例,然而应当理解,可以以各种形式实现本申请而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本申请,并且能够将本申请的范围完整的传达给本领域的技术人员。
图1是本申请实施例提供的一种数据传输方法的步骤流程图应用于应用服务系统中的服务管理端,所述应用服务系统还包括:服务获取端、服务提供端,所述方法包括:
步骤101,接收所述服务获取端发送的第一服务请求。
在本申请实施例适用于PHP(Hypertext Preprocessor,超文本预处理器,一种通用开源脚本语言)微服务调用的应用场景,微服务是基于微服务架构提供的服务数据,而微服务架构是一种在云端部署应用服务技术。因此应用服务系统是应用程序基于微服务架构的服务系统,服务获取端是用户从服务提供端获取应用服务的终端,服务提供端是用于向服务获取端提供应用服务的终端,该服务提供端可以设置在云端服务器中,当然也可以设置在其他形式的服务器中,而服务管理端是用于连接和协调服务获取端和服务提供端之间的数据传输的终端。
服务获取端在调用微服时,首先会基于TCP(Transmission Control Protocol,传输控制协议)向服务管理端发送第一服务请求来探测服务的基本信息,如序列化方式、协议类型、签名正确与否、服务提供端的IP(Internet Protocol,互联网地址)列表等所需获取服务数据的参数信息,该第一服务请求为非序列化数据。
步骤102,生成所述第一服务请求中复杂类型参数的哈希值,并将所述第一服务请求进行序列化处理得到的第二服务请求。
在本申请实施例中,复杂类型参数是变量中存储有引用地址的参数,而与其相对的是简单类型参数,其中变量指存储有参数值。由于通常开发者在开发服务时,会通过复杂类型参数来引用微服务的所有类型参数,因此本申请实施例仅对复杂类型参数求哈希值,而不是对第一服务请求中的所有类型参数求哈希值,可以大大减少在微服务调用过程中,所需存储的类型参数的哈希值的数据量。同时,将第一服务请求中所有的类型参数基于序列化协议生成二进制协议流,得到第二服务请求。
步骤103,将所述第二服务请求发送给所述服务提供端,以接收所述服务提供端根据所述第二服务请求发送的第一服务响应。
在本申请实施例中,服务管理端将第二服务请求发送给服务提供端,服务提供端根据第二服务请求生成二进制协议流形式的第一服务响应,然后将该第一服务响应返回给服务管理端。
步骤104,根据所述复杂类型参数的哈希值对所述第一服务响应进行反序列化处理,得到第二服务响应。
在本申请实施例中,通过依据复杂类型参数的哈希值从服务获取端请求获取所需获取服务的类型参数,然后基于反序列化协议将第一服务响应进行从二进制流数据进行反序列化处理,得到设备可以运行的第二服务响应。
步骤105,将所述第二服务响应发送给所述服务获取端。
在本申请实施例中,服务管理端将所得到的第二服务响应发送给服务获取端后,完成整个微服务的调用流程。
本申请提供的一种数据传输方法,通过在将数据获取端发送的服务请求进行序列化的过程前,仅生成服务请求中复杂类型参数的哈希值,从而依据该复杂类型参数的哈希值来对后续获取到服务提供端的服务响应进行反序列化,相较于之前需要生成所有类型参数的哈希值,减少了服务管理端的数据存储压力。
图2是本申请实施例提供的另一种数据传输方法的步骤流程图应用于应用服务系统中的服务管理端,所述应用服务系统还包括:服务获取端、服务提供端,所述方法包括:
步骤201,接收所述服务获取端发送的第一服务请求。
该步骤可参照步骤101的详细描述,此处不在赘述。
步骤202,生成所述第一服务请求中复杂类型参数的哈希值,并将所述第一服务请求进行序列化处理得到的第二服务请求。
该步骤可参照步骤102的详细描述,此处不再赘述。
步骤203,将所述复杂类型参数的哈希值存储到符号表,所述符号表包括:所述复杂类型参数的哈希值与服务标识之间的对应关系。
在本申请实施例中,符号表(EG,symbol table)是PHP中的一种用于存储哈希值的对应关系,相较于现有技术中的APCU(Alternative PHP Cache,PHP扩展缓存)不存在锁操作,从而在高并发情况下不易导致进程阻塞。由于本申请实施例仅将复杂类型参数求哈希值,因此所需存储到符号表中的哈希值的数据量相较于现有技术中将所有类型参数的求哈希值后存储到APCU的方式,所需的存储资源更少。依据第一服务请求中所携带的服务标识将该复杂类型参数的哈希值与服务标识之间的对应关系存储到符号表中。
步骤204,将所述第二服务请求发送给所述服务提供端,以接收所述服务提供端根据所述第二服务请求发送的第一服务响应。
该步骤可参照步骤103的详细描述,此处不再赘述。
步骤205,根据所述第一服务响应中携带的服务标识从所述符号表中获取所述复杂类型参数的哈希值。
本申请实施例通过将复杂类型参数的哈希值存储到符号表中,相较于现有技术中将所有类型参数的哈希值存储到APCU的方式,所需占用的数据存储资源更少,并且有效改善了由于使用APCU存储哈希值,在高并发的情况下由于APCU的锁操作导致PHP的进程阻塞的问题。
步骤206,根据所述复杂类型参数的哈希值从所述服务获取端获取所述第一服务请求。
在本申请实施例中,由于复杂类型参数的哈希值是唯一指示复杂类型参数,因此可依据该复杂类型参数的哈希值向服务获取端请求获取第一服务请求中的复杂类型参数,然后由于复杂类型参数值为所有类型参数的引用地址,因此可以根据复杂类型参数从服务获取端获取第一服务请求中的所有类型参数。
步骤207,根据所述第一服务请求中的各类型参数对所述第一服务响应进行反序列化处理,得到第二服务响应。
在本申请实施例中,基于反序列化协议,以及各类型参数即可对第一服务响应进行反序列化处理,基于类型和描述信息参数对序列化数据进行反序列化可参照现有技术,此处不再详细描述。
步骤208,将所述第二服务响应发送给所述服务获取端。
该步骤可参照步骤105的详细描述,此处不再赘述。
步骤209,在当前时间点之后的预设时间段中在本地缓存中存储所述第二服务响应。
在本申请实施例中,本地缓存可以是TCP的buffer(缓冲)区域,也可以是具有缓存功能的其他存储区域。由于服务获取端可能从服务提供端针对同一微服务进行多次调用,因此通过在当前时间点之后的预设时间段中将先前获取到的第二响应数据存储到本地缓存中。
步骤210,在当前时间点之后的预设时间段中接收到所述服务获取端对于所述第二服务响应的第三服务请求时,从所述本地缓存向所述服务获取端发送所述第二服务响应。
在本申请实施例中,在当前时间点之后的预设时间段中若接收到服务端再次对于第二服务响应发送的第三服务请求,则无需从服务提供端重复获取服务响应,而是直接从本地缓存中提取第二服务响应后发送给服务获取端,从减少了微服务调用所需的数据传输资源,也减少了服务提供端和服务管理端所需的数据处理量。
可选地,参照图3,所述步骤207,包括:
子步骤2071,将所述第一服务响应划分为预设字节长度的二进制流数据。
在本申请实施例中,预设字节长度可以是通过对样本二进制流数据进行划分后测试反序列化效率得到的最优字节长度,也可以是根据实际需求设置的,具体可以根据实际需求确定,此处不做限定。由于原先二进制流数据中存在各种字节长度的字段,因此在反序列化的过程中需要频繁拷贝二进制流数据,降低了反序列化的效率。因此本申请实施例通过指定预设字节长度,从而在进行反序列化的过程中可以按照预设字节长度从第一服务响应中读取二进制数据来进行反序列化。
子步骤2072,根据所述第一服务请求中的各类型参数对所述二进制流数据进行反序列化处理,得到第二服务响应。
本申请实施例通过指定预设字节长度来进行反序列化,避免了由于二进制流数据中字节长度不统一导致对数据流频繁拷贝的现象,提高了反序列化的效率。
具体的,参照图4,示出本申请实施例提供的一种数据传输方法的数据交互步骤流程图,所述方法包括:
步骤301,所述服务获取端向所服务管理端发送第一服务请求;
步骤302,所述服务管理端将所述第一服务请求进行序列化处理得到第二服务请求;
步骤303,所述服务管理端向所述服务提供端发送所述第二服务请求;
步骤304,所述服务提供端根据所述第二服务请求向所述服务管理端发送第一服务响应;
步骤305,所述服务管理端将所述第一服务响应进行反序列化,得到第二服务响应,并将所述第二服务响应存储到本地缓存;
步骤306,所述服务管理端向所述服务获取端发送所述第二服务响应;
步骤307,所述服务获取端向所述服务管理端发送第三服务请求;
步骤308,所述服务管理端从所述本地缓存向所述服务获取端发送所述第二服务响应。
本申请提供的另一种数据传输方法,通过在将数据获取端发送的服务请求进行序列化的过程前,仅生成服务请求中复杂类型参数的哈希值,从而依据该复杂类型参数的哈希值从服务获取端获取所有类型参数来对后续获取到服务提供端的服务响应进行反序列化,相较于之前需要生成所有类型参数的哈希值,减少了服务管理端的数据存储压力。并且在服务管理端缓存反序列化得到的服务响应,在服务获取端再次请求该服务时直接从本地缓存向其提供服务响应,避免了同一服务多次调用造成资源浪费的问题。并且还通过指定序列化和反序列化的字节长度,避免了由于字节长度不统一导致服务管理端需要频繁拷贝来读取二进制流数据的问题。并且将复杂类型参数的哈希值存储在PHP的字符表中,解除了PHP微服务调用对于APCU的依赖,避免了APCU的锁操作导致PHP的进程阻塞的问题。
图6是本申请实施例提供的一种应用服务系统的结构框图,应用于应用服务系统40中的服务管理端41,所述应用服务系统40还包括:服务获取端42、服务提供端43,所述装置包括:
第一传输模块411,被配置为接收所述服务获取端发送的第一服务请求;
序列化模块412,被配置为生成所述第一服务请求中复杂类型参数的哈希值,并将所述第一服务请求进行序列化处理得到的第二服务请求;
第二传输模块413,被配置为将所述第二服务请求发送给所述服务提供端,以接收所述服务提供端根据所述第二服务请求发送的第一服务响应;
反序列化模块414,被配置为根据所述复杂类型参数的哈希值对所述第一服务响应进行反序列化处理,得到第二服务响应;
第三传输模块415,被配置为将所述第二服务响应发送给所述服务获取端。
可选地,所述序列化模块412,还被配置为:
根据所述复杂类型参数的哈希值从所述服务获取端获取所述第一服务请求;
根据所述第一服务请求中的各类型参数对所述第一服务响应进行反序列化处理,得到第二服务响应。
可选地,所述序列化模块412,还被配置为:
将所述第一服务响应划分为预设字节长度的二进制流数据;
根据所述第一服务请求中的各类型参数对所述二进制流数据进行反序列化处理,得到第二服务响应。
可选地,所述序列化模块412,还被配置为:
将所述复杂类型参数的哈希值存储到符号表,所述符号表包括:所述复杂类型参数的哈希值与服务标识之间的对应关系;
所述反序列化模块,还被配置为:
根据所述第一服务响应中携带的服务标识从所述符号表中获取所述复杂类型参数的哈希值。
可选地,所述装置还包括:
缓存模块,被配置为:
在当前时间点之后的预设时间段中在本地缓存中存储所述第二服务响应;
在当前时间点之后的预设时间段中接收到所述服务获取端对于所述第二服务响应的第三服务请求时,从所述本地缓存向所述服务获取端发送所述第二服务响应。
本申请提供的一种数据传输装置,通过在将数据获取端发送的服务请求进行序列化的过程前,仅生成服务请求中复杂类型参数的哈希值,从而依据该复杂类型参数的哈希值来对后续获取到服务提供端的服务响应进行反序列化,相较于之前需要生成所有类型参数的哈希值,减少了服务管理端的数据存储压力。
对于上述服务器的实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请实施例还提供了一种电子设备,如图6所示,包括处理器501、通信接口502、存储器503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信,
存储器503,用于存放计算机程序;
处理器501,用于执行存储器503上所存放的程序时,用于实现上述实施例中任一所述的数据传输方法的步骤。
上述终端提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended IndustryStandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述终端与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable GateArray,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本申请提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的数据传输方法。
在本申请提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的数据传输方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。
Claims (10)
1.一种数据传输方法,其特征在于,应用于应用服务系统中的服务管理端,所述应用服务系统还包括:服务获取端、服务提供端,所述方法包括:
接收所述服务获取端发送的第一服务请求;
生成所述第一服务请求中复杂类型参数的哈希值,并将所述第一服务请求进行序列化处理得到的第二服务请求;
将所述第二服务请求发送给所述服务提供端,以接收所述服务提供端根据所述第二服务请求发送的第一服务响应;
根据所述复杂类型参数的哈希值对所述第一服务响应进行反序列化处理,得到第二服务响应;
将所述第二服务响应发送给所述服务获取端。
2.根据权利要求1所述的方法,其特征在于,所述根据所述复杂类型参数的哈希值对所述第一服务响应进行反序列化处理,得到第二服务响应,包括:
根据所述复杂类型参数的哈希值从所述服务获取端获取所述第一服务请求;
根据所述第一服务请求中的各类型参数对所述第一服务响应进行反序列化处理,得到第二服务响应。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一服务请求中的各类型参数对所述第一服务响应进行反序列化处理,得到第二服务响应,包括:
将所述第一服务响应划分为预设字节长度的二进制流数据;
根据所述第一服务请求中的各类型参数对所述二进制流数据进行反序列化处理,得到第二服务响应。
4.根据权利要求1所述的方法,其特征在于,在所述生成所述第一服务请求中复杂类型参数的哈希值之后,所述方法还包括:
将所述复杂类型参数的哈希值存储到符号表,所述符号表包括:所述复杂类型参数的哈希值与服务标识之间的对应关系;
在所述根据所述复杂类型参数的哈希值对所述第一服务响应进行反序列化处理,得到第二服务响应之前,所述方法还包括:
根据所述第一服务响应中携带的服务标识从所述符号表中获取所述复杂类型参数的哈希值。
5.根据权利要求1所述的方法,其特征在于,在所述将所述第二服务响应发送给所述服务获取端之后,所述方法还包括:
在当前时间点之后的预设时间段中在本地缓存中存储所述第二服务响应;
在当前时间点之后的预设时间段中接收到所述服务获取端对于所述第二服务响应的第三服务请求时,从所述本地缓存向所述服务获取端发送所述第二服务响应。
6.一种数据传输装置,其特征在于,应用于应用服务系统中的服务管理端,所述应用服务系统还包括:服务获取端、服务提供端,所述装置包括:
第一传输模块,被配置为接收所述服务获取端发送的第一服务请求;
序列化模块,被配置为生成所述第一服务请求中复杂类型参数的哈希值,并将所述第一服务请求进行序列化处理得到的第二服务请求;
第二传输模块,被配置为将所述第二服务请求发送给所述服务提供端,以接收所述服务提供端根据所述第二服务请求发送的第一服务响应;
反序列化模块,被配置为根据所述复杂类型参数的哈希值对所述第一服务响应进行反序列化处理,得到第二服务响应;
第三传输模块,被配置为将所述第二服务响应发送给所述服务获取端。
7.根据权利要求6所述的装置,其特征在于,所述序列化模块,还被配置为:
根据所述复杂类型参数的哈希值从所述服务获取端获取所述第一服务请求;
根据所述第一服务请求中的各类型参数对所述第一服务响应进行反序列化处理,得到第二服务响应。
8.根据权利要求7所述的装置,其特征在于,所述序列化模块,还被配置为:
将所述第一服务响应划分为预设字节长度的二进制流数据;
根据所述第一服务请求中的各类型参数对所述二进制流数据进行反序列化处理,得到第二服务响应。
9.一种电子设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求1至5中任一所述的数据传输检测方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现权利要求1至5中任一所述的数据传输方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011350204.XA CN112468585B (zh) | 2020-11-26 | 2020-11-26 | 数据传输方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011350204.XA CN112468585B (zh) | 2020-11-26 | 2020-11-26 | 数据传输方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112468585A CN112468585A (zh) | 2021-03-09 |
CN112468585B true CN112468585B (zh) | 2022-09-13 |
Family
ID=74808013
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011350204.XA Active CN112468585B (zh) | 2020-11-26 | 2020-11-26 | 数据传输方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112468585B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114500647B (zh) * | 2022-01-18 | 2023-07-11 | 聚好看科技股份有限公司 | 一种数据传输方法及装置 |
CN115129325B (zh) * | 2022-06-29 | 2023-05-23 | 北京五八信息技术有限公司 | 一种数据处理方法、装置、电子设备及存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8707161B2 (en) * | 2009-09-30 | 2014-04-22 | Facebook, Inc. | Executing server side script code specified using PHP on a server to generate dynamic web pages |
CN105871960B (zh) * | 2015-01-22 | 2020-02-28 | 阿里巴巴集团控股有限公司 | 调用数据共享的方法、装置及设备 |
CN107315751A (zh) * | 2016-04-26 | 2017-11-03 | 北京京东尚科信息技术有限公司 | 多维数据查询方法和装置 |
CN108628611B (zh) * | 2018-04-20 | 2022-02-01 | 无锡盈达聚力科技有限公司 | 一种数据调用方法及数据调用装置 |
CN110278278A (zh) * | 2019-06-26 | 2019-09-24 | 深圳市迅雷网络技术有限公司 | 一种数据传输方法、系统、装置及计算机介质 |
-
2020
- 2020-11-26 CN CN202011350204.XA patent/CN112468585B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112468585A (zh) | 2021-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107360261B (zh) | 一种http请求处理方法、装置及电子设备 | |
CN109391673B (zh) | 一种管理更新文件的方法、系统及终端设备 | |
CN112468585B (zh) | 数据传输方法、装置、电子设备及存储介质 | |
US11368447B2 (en) | Oauth2 SAML token service | |
CN114090623A (zh) | 一种缓存资源的创建方法、装置、电子设备及存储介质 | |
CN110851290A (zh) | 一种数据同步方法、装置、电子设备及存储介质 | |
CN112866062B (zh) | 一种分布式压力测试系统、方法、装置、设备及存储介质 | |
CN111045833A (zh) | 接口调用的方法和装置 | |
CN112565406B (zh) | 一种灰度发布方法、灰度发布系统及电子设备 | |
CN111147310A (zh) | 一种日志跟踪处理的方法、装置、服务器及介质 | |
CN111338829B (zh) | 远程过程调用服务的调用方法及装置 | |
CN111385255B (zh) | 一种异步调用实现方法、装置、服务器及服务器集群 | |
CN109446445B (zh) | 一种资源获取方法及装置 | |
CN114328097A (zh) | 一种文件监控方法、装置、电子设备和存储介质 | |
CN112099965B (zh) | 原生应用调用js的方法、装置、电子设备及存储介质 | |
CN111338928A (zh) | 基于chrome浏览器测试的方法及装置 | |
CN109471713B (zh) | 用于查询信息的方法和装置 | |
CN114115941A (zh) | 资源发送方法、页面渲染方法、装置、电子设备和介质 | |
CN113760487B (zh) | 一种业务处理方法和装置 | |
CN112068899B (zh) | 插件加载方法、装置、电子设备及存储介质 | |
CN114928556A (zh) | 接口服务的测试方法及相关设备 | |
CN114625458A (zh) | 页面数据的处理方法、装置、电子设备和存储介质 | |
CN113760693A (zh) | 用于微服务系统的本地调试的方法和装置 | |
CN106156235A (zh) | 一种基于Android平台的图片下载方法及系统 | |
CN110557428A (zh) | 一种基于Kubernetes的脚本解释型服务代理方法和系统 |
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 |