CN107332854B - 一种报文序列化协商方法及服务提供设备 - Google Patents
一种报文序列化协商方法及服务提供设备 Download PDFInfo
- Publication number
- CN107332854B CN107332854B CN201710582345.6A CN201710582345A CN107332854B CN 107332854 B CN107332854 B CN 107332854B CN 201710582345 A CN201710582345 A CN 201710582345A CN 107332854 B CN107332854 B CN 107332854B
- Authority
- CN
- China
- Prior art keywords
- message
- serialization
- service
- message serialization
- service providing
- 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
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/24—Negotiation of communication capabilities
-
- 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/142—Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms
-
- 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
Abstract
本发明实施例提供一种报文序列化协商方法及服务提供设备,用以解决现有技术中由于服务使用方与服务提供方之间的交互次数较多,导致服务使用方与服务提供方之间的数据交互的复杂度较高的技术问题。其中,报文序列化协商方法包括接收与服务提供设备进行通信连接的服务使用设备发送的请求报文;其中,请求报文包括报文序列化协商参数及服务使用设备请求与服务提供设备进行交互的交互数据,报文序列化协商参数用于指示交互数据的报文序列化方式;确定存储的多个报文序列化方式中与报文序列化协商参数对应的第一报文序列化方式;按照第一报文序列化方式对请求报文进行反序列化处理,获得交互数据。
Description
技术领域
本发明涉及通信领域,尤其涉及一种报文序列化协商方法及服务提供设备。
背景技术
随着互联网业务的发展,通信网络的服务化已经成为趋势。
目前,服务使用方和服务提供方进行数据交互之前,会进行一次报文序列化的协商交互。即:服务使用方与服务提供方建立超文本传输协议(Hyper Test TransferProtocol,HTTP)连接后,服务使用方与服务提供方通过HTTP协议头的Accept字段交换各自支持的报文序列化方式,待双方了解各自支持的报文序列化方式之后,服务使用方再选择双方支持的报文序列化方式与服务提供方进行数据交互。
但通常情况下,数据交互前可能需要进行的报文序列化的协商操作可能还较多。例如,若服务使用方需要与多个服务提供方进行数据交互,那么在进行数据交互前,服务使用方将与多个服务提供方中的每个服务提供方进行一次报文序列化的协商交互,或者,若服务提供方需要与多个服务进行数据交互,则服务提供方将与多个服务使用方中的每个服务使用方进行一次报文序列化的协商交互,从而使得服务使用方与服务提供方之间的交互次数较多,导致服务使用方与服务提供方之间的数据交互的复杂度较高。
发明内容
本发明实施例提供一种报文序列化协商方法及服务提供设备,用以解决现有技术中的由于服务使用方与服务提供方之间的交互次数较多,导致服务使用方与服务提供方之间的数据交互的复杂度较高的技术问题。
第一方面,本发明实施例提供一种报文序列化协商方法,应用于服务提供设备,该方法包括:
接收与所述服务提供设备进行通信连接的服务使用设备发送的请求报文;其中,所述请求报文包括报文序列化协商参数及所述服务使用设备请求与所述服务提供设备进行交互的交互数据,所述报文序列化协商参数用于指示所述交互数据的报文序列化方式;
确定存储的多个报文序列化方式中与所述报文序列化协商参数对应的第一报文序列化方式;
按照所述第一报文序列化方式对所述请求报文进行反序列化处理,获得所述交互数据。
可选的,在所述接收与所述服务提供设备进行通信连接的服务使用设备发送的请求报文之前,所述方法还包括:
基于多种通信协议中的任一通信协议,建立所述服务提供设备与所述服务使用设备之间的通信连接;其中,所述多种通信协议至少包括传输控制协议TCP和用户数据报协议UDP。
可选的,所述报文序列化协商参数为由所述服务使用设备设置于所述请求报文的报文头或所述请求报文的固定字段中的参数。
可选的,在所述接收与所述服务提供设备进行通信连接的服务使用设备发送的请求报文之后,确定存储的多个报文序列化方式中与所述报文序列化协商参数对应的第一报文序列化方式之前,所述方法还包括:
判断所述多个报文序列化方式中是否存在与所述报文序列化协商参数对应的报文序列化方式;
其中,若确定所述多个报文序列化方式中存在与所述报文序列化协商参数对应的报文序列化方式,则确定与所述报文序列化协商参数对应的第一报文序列化方式,否则,向所述服务使用设备发送包括所述多个报文序列化方式的报文序列化方式列表,以使所述服务使用设备能够从所述报文序列化方式列表中确定第二报文序列化方式,并按照所述第二报文序列化方式对所述交互数据进行序列化处理。
可选的,在所述按照所述第一报文序列化方式对所述请求报文进行反序列化处理,获得所述交互数据之后,所述方法还包括:
根据所述交互数据所指示的通信业务,获得与所述通信业务对应的响应数据;其中,所述响应数据为所述服务提供设备基于所述交互数据所指示的通信业务所确定的数据;
按照所述第一报文序列化方式对所述响应数据进行序列化处理,获得序列化响应数据;
向所述服务使用设备发送所述序列化响应数据。
第二方面,本发明实施例提供一种服务提供设备,包括:
服务处理模块,用于接收与所述服务提供设备进行通信连接的服务使用设备发送的请求报文;其中,所述请求报文包括报文序列化协商参数及所述服务使用设备请求与所述服务提供设备进行交互的交互数据,所述报文序列化协商参数用于指示所述交互数据的报文序列化方式;
报文序列化模块,用于确定存储的多个报文序列化方式中与所述报文序列化协商参数对应的第一报文序列化方式;及,
按照所述第一报文序列化方式对所述请求报文进行反序列化处理,获得所述交互数据。
可选的,所述服务处理模块用于:
在所述接收与所述服务提供设备进行通信连接的服务使用设备发送的请求报文之前,基于多种通信协议中的任一通信协议,建立所述服务提供设备与所述服务使用设备之间的通信连接;其中,所述多种通信协议至少包括传输控制协议TCP和用户数据报协议UDP。
可选的,所述报文序列化协商参数为由所述服务使用设备设置于所述请求报文的报文头或所述请求报文的固定字段中的参数。
可选的,报文序列化模块用于:
判断所述多个报文序列化方式中是否存在与所述报文序列化协商参数对应的报文序列化方式;
其中,若确定所述多个报文序列化方式中存在与所述报文序列化协商参数对应的报文序列化方式,则确定与所述报文序列化协商参数对应的第一报文序列化方式,否则,向所述服务使用设备发送包括所述多个报文序列化方式的报文序列化方式列表,以使所述服务使用设备能够从所述报文序列化方式列表中确定第二报文序列化方式,并按照所述第二报文序列化方式对所述交互数据进行序列化处理。
可选的,所述服务处理模块用于:
在所述按照所述第一报文序列化方式对所述请求报文进行反序列化处理,获得所述交互数据之后,根据所述交互数据所指示的通信业务,获得与所述通信业务对应的响应数据;其中,所述响应数据为所述服务提供设备基于所述交互数据所指示的通信业务所确定的数据;
按照所述第一报文序列化方式对所述响应数据进行序列化处理,获得序列化响应数据;
向所述服务使用设备发送所述序列化响应数据。
上述技术方案中的一个或多个技术方案,具有如下技术效果或优点:
第一、本发明实施例的报文序列化协商方法,应用于服务提供设备,该方法中,首先服务提供设备会接收与其进行通信连接的服务使用设备发送的请求报文,其中,请求报文包括报文序列化协商参数及服务使用设备请求与服务提供设备进行交互的交互数据,报文序列化协商参数用于指示交互数据的报文序列化方式,然后服务提供设备将确定存储的多个报文序列化方式中确定与报文序列化协商参数对应的第一报文序列化方式,并按照第一报文序列化方式对请求报文进行反序列化处理,以获得交互数据。即本发明实施例中,在服务使用设备与服务提供设备进行数据交互的过程中实现报文序列化方式的协商,不需要单独进行报文序列化的协商交互;并且,由于服务提供设备存储有多种报文序列化方式,因此无论服务使用设备采用何种报文序列化方式,服务提供设备均可以确定出与请求报文中的报文序列化协商参数对应的第一报文序列化方式,解决了现有技术中存在的服务使用方与服务提供方之间的数据交互的复杂度较高的技术问题,简化了数据交互过程中报文序列化方式的协商操作。
第二、由于在接收到服务使用设备发送的请求报文之前,服务提供设备会基于多种通信协议中的任一通信协议建立与服务使用设备之间的通信连接,该多种通信协议至少包括传输控制协议TCP和用户数据报协议UDP,因此本发明实施例中服务提供设备可以支持多种协议的报文序列化方式,提高了对多种通信协议的扩展支持。
第三、由于服务提供设备能够支持多种报文序列化方式,因此无论服务使用设备采用何种报文序列化方式,服务提供设备均能够提供与报文序列化协商参数对应的报文序列化方式,使得服务使用设备不需要开发和对接新的报文序列化方式即可与服务提供设备进行数据交互,减少了服务使用设备的接入成本。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所介绍的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中报文序列化协商方法的流程示意图;
图2为本发明实施例中服务提供设备的模块示意图;
图3为本发明实施例中计算机装置的模块示意图。
具体实施方式
为了使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
首先,对本发明实施例中的部分用语进行解释说明,以便于本领域技术人员理解。
服务使用设备可以是使用服务器资源的客户端;服务提供设备可以是为服务使用设备提供资源的设备,例如服务提供设备可以为服务器,该服务器可以对客户端的服务请求进行响应,因此一般来说服务器具备承担服务并且保障服务的能力。
报文,是网络中交换与传输的数据单元,即站点一次性要发送的数据块。报文包含了将要发送的完整的数据信息,报文的长度可以不一致且可变。
本发明实施例中,服务提供设备和服务使用设备可以位于同一通信网络下,在服务使用设备与服务提供设备建立通信连接后,服务使用设备可以向服务提供设备发送服务请求,服务提供设备在接收到服务请求之后可以对服务请求对应的通信业务进行业务处理,然后向服务使用设备反馈业务处理的响应结果,从而实现服务提供设备与服务使用设备之间的数据交互。
下面结合附图对本发明优选的实施方式进行详细说明。
实施例一
请参见图1,本发明实施例提供一种报文序列化协商方法,应用于服务提供设备,该方法的过程可以描述如下:
S100:接收与服务提供设备进行通信连接的服务使用设备发送的请求报文;其中,请求报文包括报文序列化协商参数及服务使用设备请求与服务提供设备进行交互的交互数据,报文序列化协商参数用于指示交互数据的报文序列化方式;
S200:确定存储的多个报文序列化方式中与报文序列化协商参数对应的第一报文序列化方式;
S300:按照第一报文序列化方式对请求报文进行反序列化处理,获得交互数据。
首先,服务提供设备在接收服务使用设备发送的请求报文之前,可以根据多种通信协议中的任一通信协议,建立与服务使用设备之间的通信连接;其中,多种通信协议可以包括但不限于传输控制协议TCP和用户数据报协议UDP。
本发明实施例中,通信协议可以为服务使用设备与服务提供设备在进行通信时,所协商遵循的规则和约定,从而实现两者之间的数据交换。例如,通信协议可以规定报文的字节序,报文中各字段类型,使用的压缩算法或加密算法等,通信协议有流程规范和编码规范,其中,流程规范可以是通信中的信令流程,如呼叫流程等的规范方式,编码规范可以规定服务使用设备和服务提供设备在交互过程中的所有信令和数据的打包方式和解包方式。
本发明实施例中的多种通信协议包括但不仅限于传输控制协议(TransmissionControl Protocol,TCP)、用户数据报协议(User Datagram Protocol,UDP)、HTTP协议,会话初始协议(Session Initiation Protocol,SIP)等。
其中,由于服务提供设备可以支持基于上述多种通信协议的报文序列化方式,服务使用设备也可以支持基于上述多种通信协议的报文序列化方式,因此,无论服务使用设备使用基于上述通信协议中的哪种通信协议的报文序列化方式对交互数据进行序列化处理,服务提供设备在接收到经序列化处理后的交互数据后,均可以以相应的报文序列化方式对交互数据进行反序列化处理。
或者,无论服务提供设备使用基于上述通信协议中的哪种通信协议的报文序列化方式对响应数据进行序列化处理,服务使用设备在接收到经序列化处理后的响应数据后,均可以以相应的报文序列化方式对响应数据进行反序列化处理。使得服务提供设备与服务使用设备之间的报文序列化方式的协商不再仅限于一种通信协议,如HTTP协议,提高了服务提供设备与服务使用设备之间的交互效率。
可选的,服务提供设备可以从请求报文的报文头或请求报文的固定字段中获取报文序列化协商参数。对应的服务使用设备在发送请求报文的时候,将报文序列化协商参数设置在请求报文的报文头或请求报文的固定字段中。
比如,服务使用设备可以在请求报文的报文头的指定位置扩展一个空间,如1-4字节,以固定的报文头格式描述需要协商的报文序列化方式对应的报文序列化协商参数。或者,服务使用设备也可以在请求报文中的某段固定字段中描述需要协商的报文序列化方式对应的报文序列化协商参数。
在根据上述多种通信协议中的任一通信协议,建立服务提供设备与服务使用设备之间的通信连接之后,可以进行S100,服务提供设备可以接收由服务使用设备发送的请求报文,该请求报文可以为服务使用设备向服务提供设备发送的数据块,包括了服务使用设备请求与服务提供设备进行交互的交互数据,及可以指示该交互数据的报文序列化方式的报文序列化协商参数。
在实际应用中,交互数据可以是服务使用设备向服务提供设备所请求的服务相应的数据,举例来说,服务使用设备向服务提供设备请求用户A的信用记录,交互数据即为“请求用户A的信用记录”所对应的请求数据等。
本发明实施例中,报文序列化方式可以包括但不限于以下几种:
第一种:JSON(Java Script Object Notation)序列化方式,它是一种基于JavaScript编程语言ECMA-262 3rd Edition-December 1999标准的轻量级的数据交换格式,JSON序列化方式易于人阅读和编写,同时也易于机器解析和生成。
第二种:可扩展标记语言(Extensible Markup Language,XML)序列化方式,可以提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。
第三种:远程过程调用协议(Remote Procedure Call Protocol,RPC)序列化方式,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的序列化方式。
第四种:协议缓冲Protocol Buffers序列化方式,是一种数据描述语言,类似于XML能够将对交互数据进行序列化。
报文序列化协商参数可以指示服务使用设备对请求报文中的交互数据进行序列化处理时所采用的报文序列化方式,比如交互数据是按照JSON进行序列化处理的,则报文序列化协商参数可以为JSON,若交互数据按照XML进行序列化处理的,则报文序列化协商参数可以为XML等。
需要说明的是,报文序列化与报文反序列化是对应的,如上述描述的JSON报文序列化方式,其同时也是报文反序列化方式。
可选的,服务提供设备在接收服务使用设备发送的请求报文之后,还可以根据请求报文中的报文序列化协商参数判断存储的多个报文序列化方式中是否存在与报文序列化协商参数对应的报文序列化方式,在此之后,可以分为两种情况进行描述:
第一、若服务提供设备确定多个报文序列化方式中存在与报文序列化协商参数对应的报文序列化方式,则确定与报文序列化协商参数对应的第一报文序列化方式。
第二、若服务提供设备确定多个报文序列化方式中不存在与报文序列化协商参数对应的报文序列化方式,则可以向服务使用设备发送响应报文,该响应报文中携带了服务提供设备所支持的报文序列化方式列表,该报文序列化列表中可以包括服务提供设备所支持的多种报文序列化方式及与多种报文序列化方式对应的协商参数,以使服务使用设备在接收到响应报文后可以响应报文中的报文序列化方式列表中确定第二报文序列化方式,并按照第二报文序列化方式重新对交互数据进行序列化处理。即本发明实施例中,若服务提供设备中不存在服务使用设备使用的报文序列化方式,则将服务提供设备支持的所有报文序列化方式反馈给服务使用设备,使得服务使用设备可以选择其中一种报文序列化方式重新对交互数据进行序列化处理,提高了服务使用设备接入服务提供设备的成功率。
当然,在实际应用中,报文序列化列表可以被服务提供设备设置于响应报文的报文头或者响应报文的固定字段中,具体的设置方式可以参照前述报文序列化协商参数在请求报文中的设置方式,本发明实施例中不再详述。
S200中,服务使用设备在接收到请求报文之后,可以确定其存储的多个报文序列化方式中与报文序列化协商参数对应的第一报文序列化方式,以对请求报文进行处理。
举例来说,假设服务提供设备支持JSON、RPC、Protocol Buffers、XML等报文序列化方式,当服务提供设备接收请求报文后,可以根据请求报文中的报文序列化协商参数来确定第一报文序列化方式,如报文序列化协商参数指示JSON,则服务使用设备确定存储的多个报文序列化方式中与报文序列化协商参数对应的JSON来对请求报文进行反序列化处理。由于服务提供设备支持所有的报文序列化方式,因此,服务提供设备与服务使用设备在建立通信连接后,可以直接在数据交互的过程中进行报文序列化方式的协商,而不需要单独进行一次协商交互,相较于现有技术,节省了通信报文交互次数,减少了网络负载。
服务使用设备确定了第一报文序列化方式之后,进入S300,即服务使用设备按照确定出的第一报文序列化方式对请求报文进行反序列化处理,得到交互数据。
可选的,在按照第一报文序列化方式对请求报文进行反序列化处理,获得交互数据之后,方法还可以包括:根据交互数据所指示的通信业务,获得与通信业务对应的响应数据;其中,响应数据为服务提供设备基于交互数据所指示的通信业务所确定的数据;按照第一报文序列化方式对响应数据进行序列化处理,获得序列化响应数据;向服务使用设备发送序列化响应数据。
也就是说,服务提供设备可以根据第一报文序列化方式对请求报文进行反序列化处理,得到交互数据,然后可以对交互数据所指示的通信业务进行业务受理,然后对业务受理结果数据,即响应数据,按照第一报文序列化方式进行序列化处理,获得序列化响应数据,服务使用设备将序列化响应数据响应给服务使用设备。
在实际应用中,对响应数据的处理可以同交互数据的处理,服务提供设备可以向服务使用设备发送响应报文,然后将序列化响应数据和协商参数放入响应报文发送给服务使用设备,以同时实现报文序列化方式的协商与数据交互。
实施例二
基于同一发明构思,请参见图2,本发明实施例还提供一种服务提供设备,包括服务处理模块21和报文序列化模块22。
其中,服务处理模块21,用于接收与所述服务提供设备进行通信连接的服务使用设备发送的请求报文;其中,所述请求报文包括报文序列化协商参数及所述服务使用设备请求与所述服务提供设备进行交互的交互数据,所述报文序列化协商参数用于指示所述交互数据的报文序列化方式;
报文序列化模块22,用于确定存储的多个报文序列化方式中与所述报文序列化协商参数对应的第一报文序列化方式;及,
按照所述第一报文序列化方式对所述请求报文进行反序列化处理,获得所述交互数据。
可选的,所述服务处理模块21用于:
在所述接收与所述服务提供设备进行通信连接的服务使用设备发送的请求报文之前,基于多种通信协议中的任一通信协议,建立所述服务提供设备与所述服务使用设备之间的通信连接;其中,所述多种通信协议至少包括传输控制协议TCP和用户数据报协议UDP。
可选的,所述报文序列化协商参数为由所述服务使用设备设置于所述请求报文的报文头或所述请求报文的固定字段中的参数。
可选的,报文序列化模块22用于:
判断所述多个报文序列化方式中是否存在与所述报文序列化协商参数对应的报文序列化方式;
其中,若确定所述多个报文序列化方式中存在与所述报文序列化协商参数对应的报文序列化方式,则确定与所述报文序列化协商参数对应的第一报文序列化方式,否则,向所述服务使用设备发送包括所述多个报文序列化方式的报文序列化方式列表,以使所述服务使用设备能够从所述报文序列化方式列表中确定第二报文序列化方式,并按照所述第二报文序列化方式对所述交互数据进行序列化处理。
可选的,所述服务处理模块21用于:
在所述按照所述第一报文序列化方式对所述请求报文进行反序列化处理,获得所述交互数据之后,根据所述交互数据所指示的通信业务,获得与所述通信业务对应的响应数据;其中,所述响应数据为所述服务提供设备基于所述交互数据所指示的通信业务所确定的数据;
按照所述第一报文序列化方式对所述响应数据进行序列化处理,获得序列化响应数据;
向所述服务使用设备发送所述序列化响应数据。
上述服务提供设备是在与本发明实施例第一方面提供的报文序列化协商方法的相同构思下提出的,本发明实施例中的上述方法的各种变化方式和具体实施例同样适用于本发明实施例服务提供设备,因此为了说明书的简洁,在此不再详述。
实施例三
本发明实施例中还提供一种计算机装置,请参考图3所示,该计算机装置包括处理器31和存储器32,其中,处理器31用于执行存储器32中存储的计算机程序时实现本发明实施例中提供的报文序列化协商方法的步骤。
可选的,处理器31具体可以是中央处理器、特定应用集成电路(ApplicationSpecific Integrated Circuit,ASIC),可以是一个或多个用于控制程序执行的集成电路,可以是使用现场可编程门阵列(Field Programmable Gate Array,FPGA)开发的硬件电路,可以是基带处理器。
可选的,处理器31可以包括至少一个处理核。
可选的,电子设备还包括存储器32,存储器32可以包括只读存储器(Read OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)和磁盘存储器。存储器32用于存储处理器31运行时所需的数据。存储器32的数量为一个或多个。
实施例四
本发明实施例中还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述指令在计算机上运行时可以实现如本发明实施例提供的报文序列化协商方法的步骤。
在本发明实施例中,应该理解到,所揭露报文序列化协商方法及服务提供设备,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性或其它的形式。
在本发明实施例中的各功能单元可以集成在一个处理单元中,或者各个单元也可以均是独立的物理模块。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备,例如可以是个人计算机,服务器,或者网络设备等,或处理器(Processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:通用串行总线闪存盘(Universal Serial Bus flash drive,USB)、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以对本发明的技术方案进行了详细介绍,但以上实施例的说明只是用于帮助理解本发明实施例的方法,不应理解为对本发明实施例的限制。本技术领域的技术人员可轻易想到的变化或替换,都应涵盖在本发明实施例的保护范围之内。
Claims (8)
1.一种报文序列化协商方法,应用于服务提供设备,其特征在于,所述方法包括:
接收与所述服务提供设备进行通信连接的服务使用设备发送的请求报文;其中,所述请求报文包括报文序列化协商参数及所述服务使用设备请求与所述服务提供设备进行交互的交互数据,所述报文序列化协商参数用于指示所述交互数据的报文序列化方式;
确定存储的多个报文序列化方式中与所述报文序列化协商参数对应的第一报文序列化方式;
按照所述第一报文序列化方式对所述请求报文进行反序列化处理,获得所述交互数据;
其中,在所述接收与所述服务提供设备进行通信连接的服务使用设备发送的请求报文之后,确定存储的多个报文序列化方式中与所述报文序列化协商参数对应的第一报文序列化方式之前,所述方法还包括:
判断所述多个报文序列化方式中是否存在与所述报文序列化协商参数对应的报文序列化方式;
其中,若确定所述多个报文序列化方式中存在与所述报文序列化协商参数对应的报文序列化方式,则确定与所述报文序列化协商参数对应的第一报文序列化方式,否则,向所述服务使用设备发送包括所述多个报文序列化方式的报文序列化方式列表,以使所述服务使用设备能够从所述报文序列化方式列表中确定第二报文序列化方式,并按照所述第二报文序列化方式对所述交互数据进行序列化处理。
2.如权利要求1所述的方法,其特征在于,在所述接收与所述服务提供设备进行通信连接的服务使用设备发送的请求报文之前,所述方法还包括:
基于多种通信协议中的任一通信协议,建立所述服务提供设备与所述服务使用设备之间的通信连接;其中,所述多种通信协议至少包括传输控制协议TCP和用户数据报协议UDP。
3.如权利要求2所述的方法,其特征在于,所述报文序列化协商参数为由所述服务使用设备设置于所述请求报文的报文头或所述请求报文的固定字段中的参数。
4.如权利要求1所述的方法,其特征在于,在所述按照所述第一报文序列化方式对所述请求报文进行反序列化处理,获得所述交互数据之后,所述方法还包括:
根据所述交互数据所指示的通信业务,获得与所述通信业务对应的响应数据;其中,所述响应数据为所述服务提供设备基于所述交互数据所指示的通信业务所确定的数据;
按照所述第一报文序列化方式对所述响应数据进行序列化处理,获得序列化响应数据;
向所述服务使用设备发送所述序列化响应数据。
5.一种服务提供设备,其特征在于,所述服务提供设备包括:
服务处理模块,用于接收与所述服务提供设备进行通信连接的服务使用设备发送的请求报文;其中,所述请求报文包括报文序列化协商参数及所述服务使用设备请求与所述服务提供设备进行交互的交互数据,所述报文序列化协商参数用于指示所述交互数据的报文序列化方式;
报文序列化模块,用于确定存储的多个报文序列化方式中与所述报文序列化协商参数对应的第一报文序列化方式;及,按照所述第一报文序列化方式对所述请求报文进行反序列化处理,获得所述交互数据;
其中,报文序列化模块用于:判断所述多个报文序列化方式中是否存在与所述报文序列化协商参数对应的报文序列化方式;其中,若确定所述多个报文序列化方式中存在与所述报文序列化协商参数对应的报文序列化方式,则确定与所述报文序列化协商参数对应的第一报文序列化方式,否则,向所述服务使用设备发送包括所述多个报文序列化方式的报文序列化方式列表,以使所述服务使用设备能够从所述报文序列化方式列表中确定第二报文序列化方式,并按照所述第二报文序列化方式对所述交互数据进行序列化处理。
6.如权利要求5所述的服务提供设备,其特征在于,所述服务处理模块用于:
在所述接收与所述服务提供设备进行通信连接的服务使用设备发送的请求报文之前,基于多种通信协议中的任一通信协议,建立所述服务提供设备与所述服务使用设备之间的通信连接;其中,所述多种通信协议至少包括传输控制协议TCP和用户数据报协议UDP。
7.如权利要求6所述的服务提供设备,其特征在于,所述报文序列化协商参数为由所述服务使用设备设置于所述请求报文的报文头或所述请求报文的固定字段中的参数。
8.如权利要求7所述的服务提供设备,其特征在于,所述服务处理模块用于:
在所述按照所述第一报文序列化方式对所述请求报文进行反序列化处理,获得所述交互数据之后,根据所述交互数据所指示的通信业务,获得与所述通信业务对应的响应数据;其中,所述响应数据为所述服务提供设备基于所述交互数据所指示的通信业务所确定的数据;
按照所述第一报文序列化方式对所述响应数据进行序列化处理,获得序列化响应数据;
向所述服务使用设备发送所述序列化响应数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710582345.6A CN107332854B (zh) | 2017-07-17 | 2017-07-17 | 一种报文序列化协商方法及服务提供设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710582345.6A CN107332854B (zh) | 2017-07-17 | 2017-07-17 | 一种报文序列化协商方法及服务提供设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107332854A CN107332854A (zh) | 2017-11-07 |
CN107332854B true CN107332854B (zh) | 2020-01-03 |
Family
ID=60227273
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710582345.6A Active CN107332854B (zh) | 2017-07-17 | 2017-07-17 | 一种报文序列化协商方法及服务提供设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107332854B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109151037B (zh) * | 2018-09-04 | 2022-03-04 | 政采云有限公司 | 一种通信方法及装置 |
CN111629278B (zh) * | 2020-05-22 | 2022-07-26 | 新石器慧通(北京)科技有限公司 | 图像传输方法、装置、可移动平台、服务器及存储介质 |
CN113726864A (zh) * | 2021-08-24 | 2021-11-30 | 中国信息通信研究院 | 智能音箱和大数据平台系统的数据传输系统及方法 |
CN114915516A (zh) * | 2022-05-11 | 2022-08-16 | 中国第一汽车股份有限公司 | 一种通信方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106777292A (zh) * | 2016-12-29 | 2017-05-31 | 北京神州绿盟信息安全科技股份有限公司 | 一种数据序列化方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7051042B2 (en) * | 2003-05-01 | 2006-05-23 | Oracle International Corporation | Techniques for transferring a serialized image of XML data |
US9977817B2 (en) * | 2014-10-20 | 2018-05-22 | Conduent Business Services, Llc | Matching co-referring entities from serialized data for schema inference |
CN104780222B (zh) * | 2015-04-29 | 2019-03-12 | 江苏物联网研究发展中心 | 基于http和对象序列化的通用数据交换方法 |
-
2017
- 2017-07-17 CN CN201710582345.6A patent/CN107332854B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106777292A (zh) * | 2016-12-29 | 2017-05-31 | 北京神州绿盟信息安全科技股份有限公司 | 一种数据序列化方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107332854A (zh) | 2017-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107332854B (zh) | 一种报文序列化协商方法及服务提供设备 | |
WO2019000871A1 (zh) | 用于提供语音服务的方法、装置和服务器 | |
CN106878460B (zh) | 通信处理方法及装置 | |
WO2019227427A1 (zh) | 文件下载方法、装置及设备/终端/服务器 | |
CN102904959A (zh) | 网络加速方法和网关 | |
EP3087502B1 (en) | Transmitting and displaying screen content | |
WO2022057677A1 (zh) | 振动控制方法、装置、电子设备和计算机可读存储介质 | |
CN109151037B (zh) | 一种通信方法及装置 | |
CA2839013A1 (en) | Methods for implementing web services and devices thereof | |
CN111367685B (zh) | 接口调用的方法及装置、计算机设备、存储介质 | |
CN107295003B (zh) | 一种数据传输方法、装置及系统 | |
CN110618768B (zh) | 信息呈现方法和装置 | |
CN108512889B (zh) | 一种基于http的应用响应推送方法及代理服务器 | |
CN103905496A (zh) | 一种图片下载方法及装置 | |
CN109951487A (zh) | 一种Portal认证方法和装置 | |
CN113778499B (zh) | 发布服务的方法、装置、设备和计算机可读介质 | |
CN112422485B (zh) | 一种传输控制协议的通信方法及装置 | |
WO2023246060A1 (zh) | 用户认证授权方法、装置、介质及设备 | |
CN104796929A (zh) | 网络调试方法及装置 | |
CN115883572A (zh) | 外设共享方法及装置 | |
CN113992641A (zh) | 一种数据处理方法、装置、设备及存储介质 | |
JP7298008B2 (ja) | スマートコントラクトを開発するためのシステム、方法及び装置 | |
CN110636114B (zh) | 一种客服接入方法及接入系统、业务系统、云平台 | |
CN110602194B (zh) | Iot消息的订阅方法、装置及计算机可读存储介质 | |
CN111092916B (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 |