CN107800552A - 一种数据交互方法及装置 - Google Patents
一种数据交互方法及装置 Download PDFInfo
- Publication number
- CN107800552A CN107800552A CN201610801558.9A CN201610801558A CN107800552A CN 107800552 A CN107800552 A CN 107800552A CN 201610801558 A CN201610801558 A CN 201610801558A CN 107800552 A CN107800552 A CN 107800552A
- Authority
- CN
- China
- Prior art keywords
- packet
- parameter
- data
- interaction
- module
- 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.)
- Granted
Links
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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
-
- 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/562—Brokering proxy services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供一种数据交互方法及装置,应用于支持命令行接口的接口模块,该方法包括:接收Web服务器发送的参数列表;解析参数列表并获得交互参数;将交互参数封装为与业务服务器的数据包格式相匹配的第二数据包;向业务服务器发送第二数据包,以使业务服务器解析第二数据包后进行数据处理并通过接口模块将处理结果反馈至Web服务器。应用本发明实施例提供的方案进行数据交互时,由于该接口模块为支持命令行接口的模块,因此Web服务器可以将交互参数拼接为参数列表,并将该参数列表发送给该接口模块,无需经过Web服务器的数据包解析和交互参数写入、以及网关接口模块的交互参数读出和数据包封装等复杂操作,提高了数据交互的速度。
Description
技术领域
本发明涉及云存储和计算机应用技术领域,特别是涉及一种数据交互方法及装置。
背景技术
Web服务器一般指网站服务器,是指驻留于因特网上某种类型计算机中的程序,可以向浏览器等Web客户端提供文档。一般的,Web服务器可以放置网站文件供用户浏览,也可以放置数据文件供用户下载。目前最主流的三个Web服务器是Apache、Nginx和IIS。
实际应用中,会经常涉及到Web服务器与相关业务的业务服务器之间的数据交互。相关技术中,考虑到Web服务器与业务服务器之间存在的数据包格式不兼容的问题,通常需要利用网关接口模块来实现二者之间的数据交互,具体的,Web服务器先接收Web客户端发送的数据包,然后对该数据包进行解析,得到用于数据交互的交互参数,并将所得到的该交互参数以字节流的方式写入预设的指定文件中;然后,网关接口模块从该文件中读取出包含交互参数的字节流,并对读取出的字节流解析后得到交互参数,以及将交互参数封装为业务服务器可读格式的数据包并发送至对应的业务服务器。
虽然上述方案可实现Web服务器与业务服务器之间的数据交互,但是,在该数据交互过程中,需要经过Web服务器的数据包解析和交互参数写入、以及网关接口模块的交互参数读出和数据包封装这一系列的复杂操作,而这种繁琐操作往往会耗费较多的计算资源,导致数据交互的速度慢。
发明内容
本发明实施例的目的在于提供一种数据交互方法及装置,以提高Web服务器与业务服务器之间的数据交互的速度。
为达到上述目的,本发明实施例公开了一种数据交互方法,应用于支持命令行接口的接口模块,所述方法包括:
接收Web服务器发送的参数列表;其中,所述参数列表为所述Web服务器在接收到Web客户端发送的第一数据包后生成并发送的,且所述参数列表中包括所述第一数据包中所携带的交互参数;
对所述参数列表进行解析,并获得所述交互参数;
按照预设的数据封装规则,将所述交互参数封装为与业务服务器的数据包格式相匹配的第二数据包;
向所述业务服务器发送所述第二数据包,以使所述业务服务器解析所述第二数据包后进行数据处理,并通过所述接口模块将处理结果反馈至Web服务器。
可选的,所述按照预设的数据封装规则,将所述交互参数封装为与业务服务器的数据包格式相匹配的第二数据包,包括:
按照预设数据结构封装规则,将所述交互参数封装为目标数据结构;
按照预设数据包封装规则,将所述目标数据结构封装为业务服务器可读格式的第二数据包。
可选的,所述参数列表为:
所述Web服务器对所述交互参数按照预设参数拼接规则所形成的列表。
可选的,所述向所述业务服务器发送所述第二数据包之后,还包括:
接收所述业务服务器发送的包含有处理结果的第三数据包;
对所述第三数据包进行解析并获得所述处理结果;
将所述处理结果封装为JSON格式数据;
将所述JSON格式数据输出至所述Web服务器,以便所述Web服务器将所述JSON格式数据反馈给所述Web客户端。
可选的,所述对所述参数列表进行解析,包括:
判断所述参数列表是否符合预设参数列表格式;
若符合,则对所述参数列表进行解析。
为达到上述目的,本发明实施例公开了一种数据交互装置,应用于支持命令行接口的接口模块,所述装置包括:
列表接收模块,用于接收Web服务器发送的参数列表;其中,所述参数列表为所述Web服务器在接收到Web客户端发送的第一数据包后生成并发送的,且所述参数列表中包括所述第一数据包中所携带的交互参数;
参数获得模块,用于对所述参数列表进行解析,并获得所述交互参数;
数据包封装模块,用于按照预设的数据封装规则,将所述交互参数封装为与业务服务器的数据包格式相匹配的第二数据包;
数据包发送模块,用于向所述业务服务器发送所述第二数据包,以使所述业务服务器解析所述第二数据包后进行数据处理,并通过所述接口模块将处理结果反馈至Web服务器。
可选的,所述数据包封装模块,包括:
数据结构封装子模块,用于按照预设数据结构封装规则,将所述交互参数封装为目标数据结构;
数据包封装子模块,用于按照预设数据包封装规则,将所述目标数据结构封装为业务服务器可读格式的第二数据包。
可选的,所述参数列表为:
所述Web服务器对所述交互参数按照预设参数拼接规则所形成的列表。
可选的,还包括:
处理结果接收模块,用于在所述数据包发送模块向所述业务服务器发送所述第二数据包之后,接收所述业务服务器发送的包含有处理结果的第三数据包;
数据包解析模块,用于对所述第三数据包进行解析并获得所述处理结果;
处理结果封装模块,用于将所述处理结果封装为JSON格式数据;
处理结果发送模块,用于将所述JSON格式数据输出至所述Web服务器,以便所述Web服务器将所述JSON格式数据反馈给所述Web客户端。
可选的,所述参数获得模块,具体用于:
判断所述参数列表是否符合预设参数列表格式;
若符合,则对所述参数列表进行解析,并获得所述交互参数。
本发明实施例提供的一种数据交互方法及装置,应用于支持命令行接口的接口模块,在进行数据交互时,接口模块首先接收Web服务器发送的参数列表,然后对参数列表进行解析并获得交互参数,接着将交互参数封装为与业务服务器的数据包格式相匹配的第二数据包,最后向业务服务器发送第二数据包;业务服务器解析第二数据包后进行数据处理,并通过接口模块将处理结果反馈至Web服务器。可见,应用本发明实施例提供的方案进行数据交互时,由于该接口模块为支持命令行接口的模块,因此Web服务器可以将用于数据交互的交互参数拼接为参数列表,并将拼接后的参数列表发送给该接口模块,无需经过Web服务器的数据包解析和交互参数写入、以及网关接口模块的交互参数读出和数据包封装这一系列的复杂操作,降低了对计算资源的耗费,提高了数据交互的速度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种数据交互方法的流程示意图;
图2为本发明实施例提供的另一种数据交互方法的流程示意图;
图3为本发明实施例提供的一种数据交互过程的信令流程图;
图4为本发明实施例提供的一种数据交互装置的结构示意图;
图5为本发明实施例提供的另一种数据交互装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了提高Web服务器与业务服务器进行数据交互时的速度,本发明实施例提供了一种数据交互方法及装置。
下面首先对本发明实施例提供的一种数据交互方法进行介绍。
需要说明的是,本发明实施例所提供的一种数据交互方法应用于支持命令行接口的接口模块。本领域技术人员可以理解的是,命令行接口是在图形用户界面得到普及之前使用最为广泛的人机交互界面,用户通过键盘输入指令,机器系统接收到指令后予以执行;相应的,支持命令行接口的接口模块能够直接接收到指令或参数,避免现有技术中网关接口需要从指定文件中读取指令或参数的过程。
具体的,图1所示的数据交互方法可以包括以下步骤:
S101:接收Web服务器发送的参数列表。
其中,参数列表为Web服务器对交互参数按照预设参数拼接规则所形成的列表,需要说明的是,参数列表为Web服务器在接收到Web客户端发送的第一数据包后生成并发送的,且参数列表中包括第一数据包中所携带的交互参数。
具体的,Web客户端在接收到数据交互指令后,根据具体的数据交互指令生成一个数据包即第一数据包,并且第一数据包中封装有用于数据交互的交互参数,由于Web客户端与Web服务器之间的数据包格式是兼容的,因此Web客户端可以将第一数据包直接发送给Web服务器;由于Web服务器与业务服务器之间的数据包格式不兼容,并且该接口模块是支持命令行接口的,因此,可以考虑将交互参数拼接成接口模块可读的参数列表,具体的,Web服务器在接收到该第一数据包之后,先从第一数据包中解析得到该交互参数,然后将得到的交互参数按照预设参数拼接规则拼接成一个参数列表。
需要说明的是,针对不同的协议类型或命令格式,参数列表的具体格式也是不同的。还需要说明的是,本发明实施例并不需要对参数列表的具体格式进行限定,本领域内的技术人员需要根据实际应用中的具体情况进行合理的设置。
举例而言,假设接口模块可以支持三级参数列表,第一级参数使用空格区分,第二级参数使用逗号区分,第三级参数使用冒号区分,如下双引号中的列表即为一个参数列表的具体例子:
“user_count user01:user_level_R,user02:user_level_W,user03:user_level_R”
S102:对参数列表进行解析,并获得交互参数。
需要说明的是,在对参数列表进行解析的过程中,可以通过参数列表中的分隔符进行解析,所说的分隔符可以包括逗号、冒号以及空格等,这里仅列举了几个分隔符的具体例子,当然,分隔符不限于上述提及的这3种。
通常情况下,接口模块所接收的参数列表与当前协议类型或命令格式是相符的,但是,当由于某种原因导致接口模块所接收的参数列表与当前协议类型或命令格式不相符时,直接对参数列表进行解析后得到的交互参数很有可能就是错误的,还可能根本就解析不出交互参数,因此,当接口模块所接收的参数列表与当前协议类型或命令格式不相符时,对参数列表的解析其实是没有意义的。鉴于此,在接口模块根据分隔符对参数列表进行解析之前,还需要判断参数列表是否符合预设参数列表格式,若符合,则对参数列表进行解析。
S103:按照预设的数据封装规则,将交互参数封装为与业务服务器的数据包格式相匹配的第二数据包。
一种实现方式中,可以按照以下方式将交互参数封装为与业务服务器的数据包格式相匹配的第二数据包:
(1)按照预设数据结构封装规则,将交互参数封装为目标数据结构;
(2)按照预设数据包封装规则,将目标数据结构封装为业务服务器可读格式的第二数据包。
需要说明的是,接口模块对所接收的参数列表进行解析后,先按照预设数据结构封装规则提供的数据结构的具体形式,将交互参数封装为一个数据结构即目标数据结构,然后接口模块在根据预先与业务服务器之间约定的协议类型,在目标数据结构的基础之上添加数据头部信息后,将目标数据结构封装为业务服务器可读格式的二进制数据包即第二数据包。
为了便于理解,下面列举一个第二数据包的具体例子:
需要说明的是,上述仅仅是第二数据包的一个具体实例,并不构成对第二数据包的具体形式的限定,本领域内的技术人员需要根据实际应用中的具体情况来封装第二数据包。
还需要说明的是,上述仅仅是本发明实施例提供的将交互参数封装为与业务服务器的数据包格式相匹配的第二数据包的具体实例,并不构成对第二数据包封装的限定。
S104:向业务服务器发送第二数据包,以使业务服务器解析第二数据包后进行数据处理,并通过接口模块将处理结果反馈至Web服务器。
具体的,当接口模块将第二数据包封装完成后,由于封装成的第二数据包为业务服务器可读格式的数据包,因此,接口模块可以直接将其发送至相应的业务服务器,并由相应的业务服务器对该数据包进行后续的数据处理,并通过接口模块将处理结果反馈至Web服务器。
一种实现方式中,接口模块可以根据业务服务器的标识信息,如IP地址(IntemetProtocol Address,网际协议地址)和端口号,确定第二数据包被发送至的业务服务器。当然,这里仅仅是举例说明,并不构成对如何确定第二数据包所应发送至的业务服务器的限定。
本发明实施例提供的一种数据交互方法及装置,应用于支持命令行接口的接口模块,在进行数据交互时,接口模块首先接收Web服务器发送的参数列表,然后对参数列表进行解析并获得交互参数,接着将交互参数封装为与业务服务器的数据包格式相匹配的第二数据包,最后向业务服务器发送第二数据包;业务服务器解析第二数据包后进行数据处理,并通过接口模块将处理结果反馈至Web服务器。可见,应用本发明实施例提供的方案进行数据交互时,由于该接口模块为支持命令行接口的模块,因此Web服务器可以将用于数据交互的交互参数拼接为参数列表,并将拼接后的参数列表发送给该接口模块,无需经过Web服务器的数据包解析和交互参数写入、以及网关接口模块的交互参数读出和数据包封装这一系列的复杂操作,降低了对计算资源的耗费,提高了数据交互的速度。
如图2所示,在图1所示方法实施例基础之上,本发明实施例所提供的一种数据交互方法还可以包括以下步骤:
S105:接收业务服务器发送的包含有处理结果的第三数据包。
具体的,当业务服务器接收到接口模块发送的第二数据包之后,可以对该第二数据包进行解析,并从第二数据包中解析出所封装的交互参数,并基于该交互参数进行相应的数据处理;然后,该业务服务器可以将数据处理后的处理结果也封装成一个数据包即第三数据包,并将携带有处理结果的数据包发送给接口模块。
同样的,为了便于理解,下面列举一个第三数据包的具体例子:
需要说明的是,上述仅仅是第三数据包的一个具体实例,并不构成对第三数据包的具体形式的限定,本领域内的技术人员需要根据实际应用中的具体情况来封装第三数据包。
S106:对第三数据包进行解析并获得处理结果。
同样,由于Web服务器与业务服务器之间的数据包格式的不兼容,需要借助于接口模块进行相应的转换处理。具体的,接口模块先对所接收的第三数据包进行解析,从而得到第三数据包中封装的处理结果。
S107:将处理结果封装为JSON格式数据。
一种实现方式中,接口模块可以将从第三数据包中解析得到的处理结果封装为JSON(JavaScript Object Notation,一种轻量级的数据交换格式)数据格式,当然,还可以将处理结果封装为XML(Extensible Markup Language,可扩展标记语言)格式文件。需要说明的是,本发明并不需要对处理结果的具体封装形式进行限定,只要所封装成的数据格式为Web服务器可读的数据格式即可,本领域内的技术人员需要根据实际应用中的具体情况进行合理的设置。
需要说明的是,XML格式文件往往比较庞大,文件格式也较复杂,在传输过程中需要占用较大的带宽,但是XML格式文件往往具有较好的扩展性;而JSON格式数据则更简单灵活。
在云存储业务应用中,数据交互具有如下特点:单次获取数据量大,并发请求量小,数据格式较为单一,列表型数据居多。因此,在云存储业务应用中往往不需要采用XML格式文件来传输数据,相比较而言,JSON格式数据的简单性和灵活性则更具有优势。
仍以上述列举的第三数据包的具体例子为例进行说明,第三数据包中的处理结果被封装成的JSON格式数据,如下:
{″error_num":"0","user_count":"3","1ist":[{″user_name":"user01","user_pass
wd":"ghuh21"},{″user_name":"user02","user_passwd":"gdf3543"},{″user_na
me":"user03","user_passwd":"3321jij"}]}
上述仅仅是列举了一个具体实例,目的在于方便理解如何将第三数据包中的处理结果封装为JSON格式数据,需要说明的是,上述所列举的JSON格式数据并不构成对封装成的JSON格式数据的具体形式的限定,本领域内的技术人员需要根据实际应用中的具体情况来封装JSON格式数据。
S108:将JSON格式数据输出至Web服务器,以便Web服务器将JSON格式数据反馈给Web客户端。
具体的,接口模块在将处理结果封装为JSON格式数据后,可以将该数据输出给Web服务器,然后,Web服务器可以将JSON格式数据反馈给Web客户端,以便Web客户端根据JSON格式数据中封装的处理结果进行相应的处理。
应用本发明实施例提供的方案进行数据交互时,由于该接口模块为支持命令行接口的模块,因此Web服务器可以将用于数据交互的交互参数拼接为参数列表,并将拼接后的参数列表发送给该接口模块,无需经过Web服务器的数据包解析和交互参数写入、以及网关接口模块的交互参数读出和数据包封装这一系列的复杂操作,降低了对计算资源的耗费,提高了数据交互的速度;并且,对于需要反馈处理结果时,接口模块可以把从第三数据包中解析出的处理结果封装为JSON格式数据,能够简化封装数据的复杂程度,有利于提高数据传输效率。
下面结合图3对数据交互过程进行下完整介绍。
S201:Web客户端在接收到数据交互指令后,生成携带交互参数的第一数据包。
具体的,在Web服务器与业务服务器之间的数据交互时,Web客户端需要首先接收到一个用于进行数据交互的数据交互指令,这样,Web客户端在接收到数据交互指令后,可以根据具体的数据交互指令生成一个数据包即第一数据包,并且第一数据包中封装有用于数据交互的交互参数。
S202:Web客户端将生成的第一数据包发送给Web服务器。
具体的,由于Web客户端与Web服务器之间的数据包格式是兼容的,因此Web客户端可以将第一数据包直接发送给Web服务器。
S203:Web服务器对接收到的第一数据包进行解析并获得交互参数。
具体的,Web服务器在接收到Web客户端发送的第一数据包之后,可以按照预设的第一数据包解析规则对该第一数据包进行解析处理,并在解析处理之后,获得该第一数据包中所封装的交互参数。
S204:Web服务器将交互参数拼接为一个参数列表。
由于Web服务器与业务服务器之间的数据包格式不兼容,并且该接口模块是支持命令行接口的,因此,可以考虑将交互参数拼接成接口模块可读的参数列表。具体的,当Web服务器从第一数据包中解析获得交互参数后,按照预设参数拼接规则,将该交互参数拼接为一个参数列表。
S205:Web服务器将拼接成的参数列表发送至接口模块。
具体的,在Web服务器将交互参数拼接为接口模块可读的参数列表之后,可以将该参数列表直接发送给接口模块,以便接口模块对所接收的参数列表进行后续的解析等操作。
S206:接口模块对接收到的参数列表进行解析并获得交互参数。
需要说明的是,在对参数列表进行解析的过程中,可以通过参数列表中的分隔符进行解析,所说的分隔符可以包括逗号、冒号以及空格等,这里仅列举了几个分隔符的具体例子,当然,分隔符不限于上述提及的这3种。
S207:接口模块将交互参数封装为第二数据包。
具体的,当接口模块从该参数列表中解析获得该交互参数后,可以按照预设的数据封装规则,将交互参数封装为与业务服务器的数据格式向匹配的第二数据包。
需要说明的是,接口模块对所接收的参数列表进行解析后,先按照预设数据结构封装规则提供的数据结构的具体形式,将交互参数封装为一个数据结构即目标数据结构,然后接口模块在根据预先与业务服务器之间约定的协议类型,在目标数据结构的基础之上添加数据头部信息后,将目标数据结构封装为业务服务器可读格式的二进制数据包即第二数据包。
S208:接口模块将封装好的第二数据包发送给相应的业务服务器。
具体的,当接口模块将第二数据包封装完成后,由于封装成的第二数据包为业务服务器可读格式的数据包,因此,接口模块可以直接将其发送至相应的业务服务器,并由相应的业务服务器对该数据包进行后续的数据处理。
S209:业务服务器对接收到的第二数据包进行解析并获得交互参数。
具体的,业务服务器在接收到接口模块发送的第二数据包之后,可以按照预设的第二数据包解析规则对该第二数据包进行解析处理,并在解析处理之后,获得该第二数据包中所封装的交互参数。
S210:业务服务器根据该交互参数进行相应的数据处理。
具体的,业务服务器在解析获得该交互参数之后,可以按照该交互参数的具体内容进行相应的数据处理,并获得相应的数据处理的处理结果。
S211:业务服务器将数据处理后的处理结果封装入第三数据包。
具体的,当业务服务器基于所解析获得交互参数进行相应的数据处理之后,需要将数据处理后的处理结果封装入第三数据包,以便业务服务器向接口模块发送所得到的处理结果。
S212:业务服务器将封装好的第三数据包发送给接口模块。
具体的,业务服务器将数据处理后的处理结果封装入第三数据包之后,可以将封装好的第三数据包发送给接口模块,以便后续的接口模块对该第三数据包中封装的处理结果进行再次的封装处理。
S213:接口模块对接收到的第三数据包进行解析并获得处理结果。
同样,由于Web服务器与业务服务器之间的数据包格式的不兼容,需要借助于接口模块进行相应的转换处理。具体的,接口模块先对所接收的第三数据包进行解析,从而得到第三数据包中封装的处理结果。
S214:接口模块将解析得到的处理结果封装为JSON格式数据。
一种实现方式中,接口模块可以将从第三数据包中解析得到的处理结果封装为JSON(JavaScript Object Notation,一种轻量级的数据交换格式)数据格式,当然,还可以将处理结果封装为XML(Extensible Markup Language,可扩展标记语言)格式文件。需要说明的是,本发明并不需要对处理结果的具体封装形式进行限定,只要所封装成的数据格式为Web服务器可读的数据格式即可,本领域内的技术人员需要根据实际应用中的具体情况进行合理的设置。
需要说明的是,XML格式文件往往比较庞大,文件格式也较复杂,在传输过程中需要占用较大的带宽,但是XML格式文件往往具有较好的扩展性;而JSON格式数据则更简单灵活。
S215:接口模块将封装好的JSON格式数据发送给Web服务器。
具体的,接口模块在将处理结果封装为JSON格式数据后,可以将该数据输出给Web服务器,然后,Web服务器可以将JSON格式数据反馈给Web客户端,以便Web客户端根据JSON格式数据中封装的处理结果进行相应的处理。
S216:Web服务器在接收到该JSON格式数据后,将其发送给Web客户端。
具体的,在Web服务器接收到该JSON格式数据后,可以将所接收的数据发送给Web客户端,以便Web客户端根据所接收的JSON格式数据进行相应的数据处理。
由上述交互过程可见,Web服务器可以将用于数据交互的交互参数拼接为参数列表,并将拼接后的参数列表发送给该接口模块,无需经过Web服务器的数据包解析和交互参数写入、以及网关接口模块的交互参数读出和数据包封装这一系列的复杂操作,降低了对计算资源的耗费,提高了数据交互的速度。
相应于上述的方法实施例,本发明实施例还提供了一种数据交互装置,该装置应用于支持命令行接口的接口模块,如图4所示,该装置可以包括以下模块:
列表接收模块310,用于接收Web服务器发送的参数列表。
其中,参数列表为Web服务器在接收到Web客户端发送的第一数据包后生成并发送的,且参数列表中包括第一数据包中所携带的交互参数。
参数获得模块320,用于对参数列表进行解析,并获得交互参数。
数据包封装模块330,用于按照预设的数据封装规则,将交互参数封装为与业务服务器的数据包格式相匹配的第二数据包。
数据包发送模块340,用于向业务服务器发送第二数据包,以使业务服务器解析第二数据包后进行数据处理,并通过接口模块将处理结果反馈至Web服务器。
应用本发明实施例提供的方案进行数据交互时,由于该接口模块为支持命令行接口的模块,因此Web服务器可以将用于数据交互的交互参数拼接为参数列表,并将拼接后的参数列表发送给该接口模块,无需经过Web服务器的数据包解析和交互参数写入、以及网关接口模块的交互参数读出和数据包封装这一系列的复杂操作,降低了对计算资源的耗费,提高了数据交互的速度。
具体的,参数列表为:Web服务器对交互参数按照预设参数拼接规则所形成的列表。
具体的,参数获得模块320,具体用于:判断参数列表是否符合预设参数列表格式;若符合,则对参数列表进行解析,并获得交互参数。
具体的,数据包封装模块330,包括:
数据结构封装子模块,用于按照预设数据结构封装规则,将交互参数封装为目标数据结构;
数据包封装子模块,用于按照预设数据包封装规则,将目标数据结构封装为业务服务器可读格式的第二数据包。
如图5所示,在图3所示装置实施例基础之上,还可以包括以下模块:
处理结果接收模块350,用于在数据包发送模块340向业务服务器发送第二数据包之后,接收业务服务器发送的包含有处理结果的第三数据包。
数据包解析模块360,用于对第三数据包进行解析并获得处理结果。
处理结果封装模块370,用于将处理结果封装为JSON格式数据。
处理结果发送模块380,用于将JSON格式数据输出至Web服务器,以便Web服务器将JSON格式数据反馈给Web客户端。
对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称的存储介质,如:ROM/RAM、磁碟、光盘等。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种数据交互方法,其特征在于,应用于支持命令行接口的接口模块,所述方法包括:
接收Web服务器发送的参数列表;其中,所述参数列表为所述Web服务器在接收到Web客户端发送的第一数据包后生成并发送的,且所述参数列表中包括所述第一数据包中所携带的交互参数;
对所述参数列表进行解析,并获得所述交互参数;
按照预设的数据封装规则,将所述交互参数封装为与业务服务器的数据包格式相匹配的第二数据包;
向所述业务服务器发送所述第二数据包,以使所述业务服务器解析所述第二数据包后进行数据处理,并通过所述接口模块将处理结果反馈至Web服务器。
2.根据权利要求1所述的方法,其特征在于,所述按照预设的数据封装规则,将所述交互参数封装为与业务服务器的数据包格式相匹配的第二数据包,包括:
按照预设数据结构封装规则,将所述交互参数封装为目标数据结构;
按照预设数据包封装规则,将所述目标数据结构封装为业务服务器可读格式的第二数据包。
3.根据权利要求1所述的方法,其特征在于,所述参数列表为:
所述Web服务器对所述交互参数按照预设参数拼接规则所形成的列表。
4.根据权利要求1所述的方法,其特征在于,所述向所述业务服务器发送所述第二数据包之后,还包括:
接收所述业务服务器发送的包含有处理结果的第三数据包;
对所述第三数据包进行解析并获得所述处理结果;
将所述处理结果封装为JSON格式数据;
将所述JSON格式数据输出至所述Web服务器,以便所述Web服务器将所述JSON格式数据反馈给所述Web客户端。
5.根据权利要求1所述的方法,其特征在于,所述对所述参数列表进行解析,包括:
判断所述参数列表是否符合预设参数列表格式;
若符合,则对所述参数列表进行解析。
6.一种数据交互装置,其特征在于,应用于支持命令行接口的接口模块,所述装置包括:
列表接收模块,用于接收Web服务器发送的参数列表;其中,所述参数列表为所述Web服务器在接收到Web客户端发送的第一数据包后生成并发送的,且所述参数列表中包括所述第一数据包中所携带的交互参数;
参数获得模块,用于对所述参数列表进行解析,并获得所述交互参数;
数据包封装模块,用于按照预设的数据封装规则,将所述交互参数封装为与业务服务器的数据包格式相匹配的第二数据包;
数据包发送模块,用于向所述业务服务器发送所述第二数据包,以使所述业务服务器解析所述第二数据包后进行数据处理,并通过所述接口模块将处理结果反馈至Web服务器。
7.根据权利要求6所述的装置,其特征在于,所述数据包封装模块,包括:
数据结构封装子模块,用于按照预设数据结构封装规则,将所述交互参数封装为目标数据结构;
数据包封装子模块,用于按照预设数据包封装规则,将所述目标数据结构封装为业务服务器可读格式的第二数据包。
8.根据权利要求6所述的装置,其特征在于,所述参数列表为:
所述Web服务器对所述交互参数按照预设参数拼接规则所形成的列表。
9.根据权利要求6所述的装置,其特征在于,还包括:
处理结果接收模块,用于在所述数据包发送模块向所述业务服务器发送所述第二数据包之后,接收所述业务服务器发送的包含有处理结果的第三数据包;
数据包解析模块,用于对所述第三数据包进行解析并获得所述处理结果;
处理结果封装模块,用于将所述处理结果封装为JSON格式数据;
处理结果发送模块,用于将所述JSON格式数据输出至所述Web服务器,以便所述Web服务器将所述JSON格式数据反馈给所述Web客户端。
10.根据权利要求6所述的装置,其特征在于,所述参数获得模块,具体用于:
判断所述参数列表是否符合预设参数列表格式;
若符合,则对所述参数列表进行解析,并获得所述交互参数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610801558.9A CN107800552B (zh) | 2016-09-02 | 2016-09-02 | 一种数据交互方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610801558.9A CN107800552B (zh) | 2016-09-02 | 2016-09-02 | 一种数据交互方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107800552A true CN107800552A (zh) | 2018-03-13 |
CN107800552B CN107800552B (zh) | 2020-11-27 |
Family
ID=61529825
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610801558.9A Active CN107800552B (zh) | 2016-09-02 | 2016-09-02 | 一种数据交互方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107800552B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109450679A (zh) * | 2018-11-01 | 2019-03-08 | 郑州云海信息技术有限公司 | 一种网络信息配置方法与装置 |
CN110336826A (zh) * | 2019-07-12 | 2019-10-15 | 北京字节跳动网络技术有限公司 | 一种接口参数类型的获取方法、装置、设备及存储介质 |
CN110545278A (zh) * | 2019-09-05 | 2019-12-06 | 中国联合网络通信集团有限公司 | 工业互联网标识解析方法和系统 |
CN110858146A (zh) * | 2018-08-23 | 2020-03-03 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置和机器可读介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5657447A (en) * | 1995-08-31 | 1997-08-12 | International Business Machines Corp. | Platform-transparent registration and build of stored procedures and user-defined functions |
CN101043522A (zh) * | 2006-03-22 | 2007-09-26 | 腾讯科技(深圳)有限公司 | 一种基于Web服务器的通信方法及系统 |
CN101695076A (zh) * | 2009-09-21 | 2010-04-14 | 中兴通讯股份有限公司 | 基于Web服务的统一代理适配方法、装置以及适配系统 |
CN102938776A (zh) * | 2012-09-28 | 2013-02-20 | 方正国际软件有限公司 | 基于ajax技术的动态页面处理系统 |
CN104168250A (zh) * | 2013-05-15 | 2014-11-26 | 腾讯科技(深圳)有限公司 | 基于cgi框架的业务流程控制方法及装置 |
CN104270470A (zh) * | 2014-10-24 | 2015-01-07 | 杭州高达软件系统股份有限公司 | 一种远程服务调用方法、装置及系统 |
-
2016
- 2016-09-02 CN CN201610801558.9A patent/CN107800552B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5657447A (en) * | 1995-08-31 | 1997-08-12 | International Business Machines Corp. | Platform-transparent registration and build of stored procedures and user-defined functions |
CN101043522A (zh) * | 2006-03-22 | 2007-09-26 | 腾讯科技(深圳)有限公司 | 一种基于Web服务器的通信方法及系统 |
CN101695076A (zh) * | 2009-09-21 | 2010-04-14 | 中兴通讯股份有限公司 | 基于Web服务的统一代理适配方法、装置以及适配系统 |
CN102938776A (zh) * | 2012-09-28 | 2013-02-20 | 方正国际软件有限公司 | 基于ajax技术的动态页面处理系统 |
CN104168250A (zh) * | 2013-05-15 | 2014-11-26 | 腾讯科技(深圳)有限公司 | 基于cgi框架的业务流程控制方法及装置 |
CN104270470A (zh) * | 2014-10-24 | 2015-01-07 | 杭州高达软件系统股份有限公司 | 一种远程服务调用方法、装置及系统 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110858146A (zh) * | 2018-08-23 | 2020-03-03 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置和机器可读介质 |
CN110858146B (zh) * | 2018-08-23 | 2024-04-12 | 阿里巴巴新加坡控股有限公司 | 数据处理方法、装置和机器可读介质 |
CN109450679A (zh) * | 2018-11-01 | 2019-03-08 | 郑州云海信息技术有限公司 | 一种网络信息配置方法与装置 |
CN110336826A (zh) * | 2019-07-12 | 2019-10-15 | 北京字节跳动网络技术有限公司 | 一种接口参数类型的获取方法、装置、设备及存储介质 |
CN110336826B (zh) * | 2019-07-12 | 2021-06-08 | 北京字节跳动网络技术有限公司 | 一种接口参数类型的获取方法、装置、设备及存储介质 |
CN110545278A (zh) * | 2019-09-05 | 2019-12-06 | 中国联合网络通信集团有限公司 | 工业互联网标识解析方法和系统 |
CN110545278B (zh) * | 2019-09-05 | 2022-02-25 | 中国联合网络通信集团有限公司 | 工业互联网标识解析方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN107800552B (zh) | 2020-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7570661B2 (en) | Script-based parser | |
US8458467B2 (en) | Method and apparatus for adaptive application message payload content transformation in a network infrastructure element | |
CN112039824B (zh) | 通信方法、系统、设备及计算机可读存储介质 | |
CN106209830B (zh) | 一种基于xml网络协议表示的报文构造方法 | |
US7934252B2 (en) | Filtering technique for processing security measures in web service messages | |
US6356529B1 (en) | System and method for rapid wireless application protocol translation | |
CN107800552A (zh) | 一种数据交互方法及装置 | |
CN111683066B (zh) | 异构系统集成方法、装置、计算机设备和存储介质 | |
CN111294235B (zh) | 数据处理方法、装置、网关及可读存储介质 | |
CN107332857B (zh) | 一种网络数据传输方法、装置、系统和存储介质 | |
CN106549989B (zh) | 一种数据传输方法及其系统、用户终端、应用服务器 | |
CN107124430A (zh) | 页面劫持监控方法、装置、系统和存储介质 | |
CN108446105A (zh) | 一种轻量级API Server开发框架及开发方法 | |
CN106582013B (zh) | 游戏服务系统、用于向在线的游戏更新数据的方法和装置 | |
US20150358283A1 (en) | Firewall Policy Converter | |
CN107040613A (zh) | 一种报文传输方法及系统 | |
CN112015383A (zh) | 一种登录方法和装置 | |
CN112491795A (zh) | 一种边缘物联代理装置的数据打包方法及系统 | |
WO2016058401A1 (zh) | 一种超文本传输协议数据还原方法及装置 | |
CN105808425A (zh) | 一种实现移动端应用测试的方法、装置和系统 | |
US20150358282A1 (en) | Firewall Policy Browser | |
EP3502925A1 (en) | Computer system and method for extracting dynamic content from websites | |
CN104349174A (zh) | 音视频数据传输系统、存储及生成方法、装置及设备 | |
CN104468190A (zh) | 一种wifi数据抓包方法、装置及智能终端 | |
CN105721205B (zh) | 一种app下载链接的推送方法及路由器 |
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 |