CN110351325B - 一种数据处理方法及相关设备 - Google Patents

一种数据处理方法及相关设备 Download PDF

Info

Publication number
CN110351325B
CN110351325B CN201810306728.5A CN201810306728A CN110351325B CN 110351325 B CN110351325 B CN 110351325B CN 201810306728 A CN201810306728 A CN 201810306728A CN 110351325 B CN110351325 B CN 110351325B
Authority
CN
China
Prior art keywords
data
protocol
template
communication interface
data conversion
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
Application number
CN201810306728.5A
Other languages
English (en)
Other versions
CN110351325A (zh
Inventor
潘鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201810306728.5A priority Critical patent/CN110351325B/zh
Publication of CN110351325A publication Critical patent/CN110351325A/zh
Application granted granted Critical
Publication of CN110351325B publication Critical patent/CN110351325B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)

Abstract

本发明实施例公开了一种数据处理方法及相关设备,包括:获取调用的协议数据;确定所述协议数据所调用的通信接口;从模板配置信息中查找与所述通信接口对应的数据转换模板,所述模板配置信息包括所述通信接口与所述数据转换模板的映射关系;根据所述数据转换模板,对所述协议数据进行处理得到报文数据;通过所述通信接口向外部设备发送携带有所述报文数据的服务请求。采用本发明实施例,可以支持更多的复杂个性化的接口,支持动态扩展,满足更多的业务需求。

Description

一种数据处理方法及相关设备
技术领域
本发明涉及后台服务技术领域,尤其涉及一种数据处理方法及相关设备。
背景技术
系统在调用协议数据后,需要将协议数据组装成报文数据,然后通过通信接口将组装后的报文数据发送给外部设备。如图1所示,图1是现有技术方案提供的一种数据处理方式的示意图,包括:首先配置协议模板,模板转换插件加载协议模板,然后获取JavaScript对象表示法(JavaScript Object Notation,JSON)格式的数据,通过加载的协议模板对JSON格式的数据进行处理,最后输出经过处理后的JSON格式的数据,在数据处理过程中,仅支持单一格式的协议和单一接口需求。但是,随着处理业务的增多,通信接口的数量会不断增多、接口协议格式差异也会变大、接口调用个性化逻辑也会更加复杂,现有技术方案已经无法满足支持更复杂个性化的接口的需求、无法支持动态扩展以及满足更多的业务需求。
发明内容
本发明实施例提供一种数据处理方法及相关设备。可以支持更多的复杂个性化的接口,支持动态扩展,满足更多的业务需求。
本发明实施例提供了一种数据处理方法,包括:
获取调用的协议数据;
确定所述协议数据所调用的通信接口;
从模板配置信息中查找与所述通信接口对应的数据转换模板,所述模板配置信息包括所述通信接口与所述数据转换模板的映射关系;
根据所述数据转换模板,对所述协议数据进行处理得到报文数据;
通过所述通信接口向外部设备发送携带有所述报文数据的服务请求。
其中,所述获取调用的协议数据之后,还包括:
确定所述协议数据的数据格式;
查找系统中是否存在与所述数据格式相匹配的协议解析器;
若存在,则使用查找到所述协议解析器,对所述协议数据进行解析。
其中,所述查找系统中是否存在与所述数据格式相匹配的协议解析器之后,还包括:
若不存在,则显示提示信息,所述提示信息用于提示用户所述系统不支持所述数据格式、以及需要扩展所述协议解析器;
使用扩展后的所述协议解析器,对所述协议数据进行解析。
其中,所述获取调用的协议数据之前,还包括:
接收配置中心发送的管理命令;
根据所述管理命令,对所述模板配置信息进行加载。
其中,所述通过所述通信接口向外部设备发送携带有所述报文数据的服务请求之后,还包括:
通过所述通信接口接收所述外部设备发送的返回数据;
根据所述数据转换模板,对所述返回数据进行处理。
其中,所述数据转换模板包括第一数据转换模板和第二数据转换模板;
所述根据所述数据转换模板,对所述协议数据进行组装得到报文数据包括:
根据所述第一数据转换模板,对所述协议数据进行处理得到报文数据;
所述根据所述数据转换模板,对所述返回数据进行处理包括:
根据所述第二数据转换模板,对所述返回数据进行处理。
其中,所述数据转换模板包括变量、函数以及逻辑中的至少一项。
相应地,本发明实施例提供了一种数据处理装置,包括:
获取模块,用于获取调用的协议数据;
处理模块,用于确定所述协议数据所调用的通信接口;
所述处理模块,还用于从模板配置信息中查找与所述通信接口对应的数据转换模板,所述模板配置信息包括所述通信接口与所述数据转换模板的映射关系;
所述处理模块,还用于根据所述数据转换模板,对所述协议数据进行处理得到报文数据;
发送模块,用于通过所述通信接口向外部设备发送携带有所述报文数据的服务请求。
其中,所述处理模块,还用于确定所述协议数据的数据格式;查找系统中是否存在与所述数据格式相匹配的协议解析器;若存在,则使用查找到所述协议解析器,对所述协议数据进行解析。
其中,所述处理模块,还用于若不存在,则显示提示信息,所述提示信息用于提示用户所述系统不支持所述数据格式、以及需要扩展所述协议解析器;使用扩展后的所述协议解析器,对所述协议数据进行解析。
其中,所述处理模块,还用于接收配置中心发送的管理命令;根据所述管理命令,对所述模板配置信息进行加载。
其中,所述装置还包括接收模块,所述接收模块,用于通过所述通信接口接收所述外部设备发送的返回数据;所述处理模块,还用于根据所述数据转换模板,对所述返回数据进行处理。
其中,所述数据转换模板包括第一数据转换模板和第二数据转换模板;
所述处理模块具体用于:
根据所述第一数据转换模板,对所述协议数据进行处理得到报文数据;
根据所述第二数据转换模板,对所述返回数据进行处理。
其中,所述数据转换模板包括变量、函数以及逻辑中的至少一项。
第三方面,本发明提供了一种数据处理设备,包括:处理器、存储器和通信总线,其中,通信总线用于实现处理器和存储器之间连接通信,处理器执行存储器中存储的程序用于实现上述第一方面提供的一种数据处理方法中的步骤。
在一个可能的设计中,本发明提供的数据处理设备可以包含用于执行上述方法中行为相对应的模块。模块可以是软件和/或是硬件。
本发明的又一方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有多条指令,所述指令适于由处理器加载并执行上述各方面所述的方法。
本发明的又一方面提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
实施本发明实施例,首先获取调用的协议数据;确定协议数据所调用的通信接口;然后从模板配置信息中查找与通信接口对应的数据转换模板,模板配置信息包括通信接口与数据转换模板的映射关系;根据数据转换模板,对协议数据进行处理得到报文数据;最后通过通信接口向外部设备发送携带有报文数据的服务请求。由于模板配置信息可以动态的扩展并加载,使得系统支持更多的复杂个性化的接口,满足更多的业务需求。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术方案提供的一种数据处理方法的示意图;
图2是本发明实施例提供的一种支持多协议的接口调用模板系统的结构示意图;
图3是本发明实施例提供的一种数据处理方法的流程示意图;
图4是本发明实施例提供的一种接口调用模板系统的结构示意图;
图5是本发明实施例提供的一种数据转换模板的示意图;
图6是本发明另一实施例提供的一种数据处理方法的流程示意图;
图7是本发明实施例提供的一种数据处理装置的结构示意图;
图8是本发明实施例提出的一种服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图2所示,图2是本发明实施例提供的一种支持多协议的接口调用模板系统的结构示意图。该系统包括调用系统、逻辑服务、接口调用模板系统、配置中心以及多个通信接口(通信接口1、通信接口2、通信接口3、……),其中,调用系统用于生成外部设备需要用到的协议数据;逻辑服务用于对协议数据进行逻辑处理,包括写入数据库表、日志处理、逻辑判断等等;接口调用模板系统中存储有模板配置信息,该模板配置信息包括数据转换模板与通信接口的多个映射关系,每个通信接口对应一个数据转换模板,接口调用模板系统可以用于确定协议数据所调用的通信接口,并根据相应的数据转换模板对协议数据进行处理。配置中心可以用于对接口调用模板系统进行管理,例如,可以将扩展的数据转换模板加载到接口调用模板系统,或者对数据转换模板进行修改或删除等等。在通信接口很多的情况下,通过配置中心统一进行管理配置,接口调用模板系统来动态获取数据转换模板。基于上述系统,本发明实施例提出了如下技术方案。
如图3所示,图3是本发明实施例提供的一种数据处理方法的流程示意图。如图所示,本发明实施例中的方法包括:
S301,获取调用的协议数据。其中,协议数据可以为用户发送的请求命令经过处理后得到的内部数据,或者为某个应用的运行数据经过处理后得到的内部数据。
可选的,在获取调用的协议数据的之后,可以确定所述协议数据的数据格式;查找系统中是否存在与所述数据格式相匹配的协议解析器;若存在,则使用查找到所述协议解析器,对所述协议数据进行解析。若不存在,则显示提示信息,所述提示信息用于提示用户所述系统不支持所述数据格式、以及需要扩展所述协议解析器;使用扩展后的所述协议解析器,对所述协议数据进行解析。需要说明的是,可以通过动态的扩展协议解析器,从而支持更多格式的协议。
如图4所示,接口调用模板系统包括多种协议解析器、数据拼合器以及模板语法分析器,其中,模板语法分析器用于在从配置中心加载模板配置信息之后,确定通信接口对应的数据转换模板,分析出数据转换模板中的变量、函数、逻辑等关键字,使用数据结构存储该关键字,以便后续组装报文。协议解析器用于解析协议数据到内存或者解析外部数据到内存,支持动态扩展,必须与数据转换模板完全解耦,以便减少重配置的工作量。数据拼合器可以用于根据模板语法分析器分析出来的变量、函数、逻辑等关键字,对解析到内存中的协议数据或外部数据进行组装。如图所示,多个协议解析器包括JSON解析器、可扩展标记语言(Extensible Markup Language,XML)解析器以及&&解析器,其中,&&解析器可以用于处理超文本标记语言(HyperText Markup Language,HTML)表单协议的数据报文。当协议数据的数据格式为JSON时,可以使用JSON解析器对协议数据进行解析;当协议数据的数据格式为XML时,可以使用XML解析器对协议数据进行解析;当协议数据的数据格式为&&时,可以使用&&解析器对协议数据进行解析,最后将解析后的协议数据输出到数据拼合器。
S302,确定所述协议数据所调用的通信接口。
具体实现中,可以获取协议数据所调用的通信接口的接口地址,根据接口地址确定协议数据所调用的通信接口。
S303,从模板配置信息中查找与所述通信接口对应的数据转换模板,所述模板配置信息包括所述通信接口与所述数据转换模板的多个映射关系。
首先,在获取调用的协议数据的之前,可以接收配置中心发送的管理命令;根据所述管理命令,对所述模板配置信息进行加载。其中,模板配置信息可以包括数据转换模板与通信接口的多个映射关系,每个通信接口对应一个数据转换模板。配置中心可以将数据转换模板加载到接口调用模板系统,对数据转换模板进行扩展,或者对数据转换模板进行修改、删除等等。通过配置中心的动态管理配置,可以满足更加复杂个性化的接口需求。
然后,在确定所述协议数据所调用的通信接口之后,可以从模板配置信息中查找与所述通信接口对应的数据转换模板,其中,数据转换模板包括变量、函数以及逻辑中的至少一项。
如表1所示,表1为通过不同变量对协议数据进行不同处理,例如,定义${name},表示取协议数据第一层字段name的值;定义${req}.${col1},表示取协议数据第二层字段col1的值等等。
表1.变量
变量 含义
${name} 取协议数据第一层字段name的值
${req}.${col1} 取协议数据第二层字段col1的值
${req}.${body}.${col1} 取协议数据第三层字段col1的值
$[list](${name}) 取数组list的每个元素的name字段值
又如表2所示,表2为通过不同逻辑对协议数据进行不同处理。例如,%IF${name}==hello yes no%,表示字段name的值为hello,返回yes,否则no。
表2.逻辑
逻辑名 含义
%IF${name}==hello yes no% 字段name的值为hello,返回yes,否则no
又如表3所示,表3为通过不同函数对协议数据进行不同处理。例如,定义@NONCE32@,表示取32位随机数;定义@Add@(a,b),表示计算变量a和b的和等等。
表3.函数
函数名 含义
@NONCE32@() 取32位随机数
@NONCE64@() 取64位随机数
@Add@(a,b) 计算变量a和b的和
@Minus@(a,b) 计算变量a和b的差
@Append@(a,b,c,d) 将字符串a,b,c,d拼接起来
@Upper@(a) 将字符串a转换为大写
需要说明的是,本发明实施例中的变量、函数或逻辑包括但不限于上述几种含义,配置中心可以对变量、函数以及逻辑进行动态扩展,从而满足支持复杂多变的业务系统需求。
S304,根据所述数据转换模板,对所述协议数据进行处理得到报文数据。
具体实现中,在通过协议解析器将协议数据解析到内存之后,首先查找数据转换模板中的变量,如果未查找到变量,则执行结束。如果查找到变量,通过该变量对协议数据进行处理,继续执行数据转换模板中的函数。其次,查找数据转换模板中的函数,如果没有查找到函数,则执行结束,提示系统不支持该函数。如果查找到函数,则执行函数的调用,并得到返回值,继续执行逻辑。然后,查找对应的逻辑处理单元,如果没有查找到逻辑处理单元,则执行结束,提示系统不支持该逻辑。如果查找到逻辑处理单元,则执行逻辑处理单元。最后,将数据转换模板中的变量串、函数串和逻辑串替换为上述经过变量、函数和逻辑处理后的数据,进而最终得到报文数据。
例如,如图4所示,首先模板语法分析器分析出数据转换模板中的变量、函数、逻辑等关键字,通过变量、函数、逻辑等关键字分别对协议数据进行处理,并将处理后的数据传输给数据拼合器,数据拼合器将处理后的数据替换数据转换模板中原有的变量串、函数串和逻辑串,并对替换后的数据进行组装,进而最终得到报文数据。
S305,通过所述通信接口向外部设备发送携带有所述报文数据的服务请求。其中,服务请求可以为超文本传输安全协议(Hyper Text Transfer Protocol over SecureSocket Layer,HTTPS)请求或者超文本传输协议(Hyper Text Transfer Protocol,HTTP)请求。
例如,如图5所示,图5上部分的左边为协议数据,上部分的右边为报文数据,下部分为数据转换模板。首先,获取协议数据,由于该协议数据的格式为JSON,因此使用JSON解析器对协议数据进行解析。在协议数据中,id为1000,job为teacher,detail包括firstname为John、和lastname为Smith、age为30。其次,确定协议数据所使用的通信接口,确定与通信接口对应的数据转换模板。在数据转换模板中,${id}表示直接输出id;@Append@表示将firstname和lastname的字符串拼接起来,@Add@表示将age增加10,adaptor表示将teacher转换为教师或将student转换为学生。然后,根据数据转换模板对协议数据处理得到报文数据,在组装的报文数据中,id为1000,name为John Smith,age为40,job为教师,最后,向外部设备发送携带有该报文数据的服务请求。
在本发明实施例中,首先获取调用的协议数据;确定协议数据所调用的通信接口;然后从模板配置信息中查找与通信接口对应的数据转换模板,模板配置信息包括通信接口与数据转换模板的映射关系;根据数据转换模板,对协议数据进行处理得到报文数据;最后通过通信接口向外部设备发送携带有报文数据的服务请求。由于模板配置信息可以动态的扩展并加载,使得系统支持更多的复杂个性化的接口,支持动态扩展,满足更多的业务需求。
如图6所示,图6是本发明另一实施例提供的一种数据处理方法的流程示意图。如图所示,本发明实施例中的方法包括:
S601,服务器获取调用的协议数据。本步骤与上述实施例中的S301相同,本发明实施例不再赘述。
S602,服务器确定所述协议数据所调用的通信接口。本步骤与上述实施例中的S302相同,本发明实施例不再赘述。
S603,服务器从模板配置信息中查找与所述通信接口对应的数据转换模板,所述模板配置信息包括所述通信接口与所述数据转换模板的多个映射关系。本步骤与上述实施例中的S303相同,本发明实施例不再赘述。
S604,服务器根据所述数据转换模板,对所述协议数据进行处理得到报文数据。
具体实现中,同一个通信接口对应的数据转换模板包括第一数据转换模板和第二数据转换模板,第一数据转换模板用于处理发送的数据,第二数据转换模板用于处理接收的数据。在本步骤中,可以根据所述第一数据转换模板,对所述协议数据进行处理得到报文数据。具体步骤与上述实施例中的S304相同,本发明实施例不再赘述。
S605,服务器通过所述通信接口向外部设备发送携带有所述报文数据的服务请求。其中,服务请求可以为超文本传输安全协议(Hyper Text Transfer Protocol overSecure Socket Layer,HTTPS)请求或者超文本传输协议(Hyper Text TransferProtocol,HTTP)请求。
可选的,可以在服务器上部署网络后台服务,将网络后台服务绑定本机的网络地址,该网络地址可以包括IP(如10.2.2.2)和端口(443)。服务器可以向外部设备发送携带有该网络地址的服务请求,外部设备接收到该服务请求之后,可以通过该IP和端口向服务器发送返回数据。
S606,外部设备向服务器发送返回数据。其中,服务器可以通过相同的通信接口接收外部设备发送的返回数据。
S607,服务器根据所述数据转换模板,对所述返回数据进行处理。
具体实现中,同一个通信接口对应的数据转换模板可以包括第一数据转换模板和第二数据转换模板,第一数据转换模板用于处理发送的数据,第二数据转换模板用于处理接收的数据。在本步骤中,可以根据所述第二数据转换模板,对所述协议数据进行处理得到报文数据。
进一步的,可以首先确定所述返回数据的数据格式;查找系统中与所述数据格式相匹配的协议解析器,使用该协议解析器对所述返回数据进行解析。将返回数据解析到内存之后,查找数据转换模板中的变量,如果未查找到变量,则执行结束。如果查找到变量,通过该变量对返回数据进行处理,继续执行数据转换模板中的函数。其次,查找数据转换模板中的函数,如果没有查找到函数,则执行结束,提示系统不支持该函数。如果查找到函数,则执行函数的调用,并得到返回值,继续执行逻辑。然后,查找对应的逻辑处理单元,如果没有查找逻辑处理单元,则执行结束,提示系统不支持该逻辑。如果查找到逻辑处理单元,则执行逻辑处理单元。最后,将数据转换模板中的变量串、函数串和逻辑串替换为上述经过变量、函数和逻辑处理后的数据,进而最终得到服务器需要的数据。
如图7所示,图7是本发明实施例提供的一种数据处理装置的结构示意图。如图所示,本发明实施例中的装置包括获取模块701、处理模块702和发送模块703,其中:
获取模块701,用于获取调用的协议数据。其中,协议数据可以为用户发送的请求命令经过处理后得到的内部数据,或者为某个应用的运行数据经过处理后得到的内部数据。
可选的,在获取调用的协议数据的之后,可以确定所述协议数据的数据格式;查找系统中是否存在与所述数据格式相匹配的协议解析器;若存在,则使用查找到所述协议解析器,对所述协议数据进行解析。若不存在,则显示提示信息,所述提示信息用于提示用户所述系统不支持所述数据格式、以及需要扩展所述协议解析器;使用扩展后的所述协议解析器,对所述协议数据进行解析。通过动态的扩展协议解析器,从而支持更多格式的协议。
如图4所示,接口调用模板系统包括多种协议解析器、数据拼合器以及模板语法分析器,其中,模板语法分析器用于在从配置中心加载模板配置信息之后,确定通信接口对应的数据转换模板,分析出数据转换模板中的变量、函数、逻辑等关键字,使用数据结构存储该关键字,以便后续组装报文。协议解析器用于解析协议数据到内存或者解析外部数据到内存,支持动态扩展,必须与数据转换模板完全解耦,以便减少重配置的工作量。数据拼合器可以用于根据模板语法分析器分析出来的变量、函数、逻辑等关键字,对解析到内存中的协议数据或外部数据进行组装。如图所示,多个协议解析器包括JSON解析器、XML解析器、以及&&解析器,当协议数据的数据格式为JSON时,可以使用JSON解析器对协议数据进行解析;当协议数据的数据格式为XML时,可以使用XML解析器对协议数据进行解析;当协议数据的数据格式为&&时,可以使用&&解析器对协议数据进行解析,最后将解析后的协议数据输出到数据拼合器。
处理模块702,用于确定所述协议数据所调用的通信接口。
具体实现中,可以获取协议数据所调用的通信接口的接口地址,根据接口地址确定协议数据所调用的通信接口。
处理模块702,还用于从模板配置信息中查找与所述通信接口对应的数据转换模板,所述模板配置信息包括所述通信接口与所述数据转换模板的多个映射关系。
首先,在获取调用的协议数据的之前,可以接收配置中心发送的管理命令;根据所述管理命令,对所述模板配置信息进行加载。其中,模板配置信息可以包括数据转换模板与通信接口的多个映射关系,每个通信接口对应一个数据转换模板。配置中心可以将数据转换模板加载到接口调用模板系统,对数据转换模板进行扩展,或者对数据转换模板进行修改、删除等等。通过配置中心的动态管理配置,可以满足更加复杂个性化的接口需求。
然后,在确定所述协议数据所调用的通信接口之后,可以从模板配置信息中查找与所述通信接口对应的数据转换模板,其中,数据转换模板包括变量、函数以及逻辑中的至少一项。
处理模块702,还用于根据所述数据转换模板,对所述协议数据进行处理得到报文数据。
具体实现中,同一个通信接口对应的数据转换模板包括第一数据转换模板和第二数据转换模板,第一数据转换模板用于处理发送的数据,第二数据转换模板用于处理接收的数据。在本步骤中,可以根据所述第一数据转换模板,对所述协议数据进行处理得到报文数据。
进一步的,在通过协议解析器将协议数据解析到内存之后,首先查找数据转换模板中的变量,如果未查找到变量,则执行结束。如果查找到变量,通过该变量对协议数据进行处理,继续执行数据转换模板中的函数。其次,查找数据转换模板中的函数,如果没有查找到函数,则执行结束,提示系统不支持该函数。如果查找到函数,则执行函数的调用,并得到返回值,继续执行逻辑。然后,查找对应的逻辑处理单元,如果没有查找到逻辑处理单元,则执行结束,提示系统不支持该逻辑。如果查找到逻辑处理单元,则执行逻辑处理单元。最后,将数据转换模板中的变量串、函数串和逻辑串替换为上述经过变量、函数和逻辑处理后的数据,进而最终得到报文数据。
例如,如图4所示,首先模板语法分析器分析出数据转换模板中的变量、函数、逻辑等关键字,通过变量、函数、逻辑等关键字分别对协议数据进行处理,并将处理后的数据传输给数据拼合器,数据拼合器将处理后的数据替换数据转换模板中原有的变量串、函数串和逻辑串,并对替换后的数据进行组装,进而最终得到报文数据。
发送模块703,用于通过所述通信接口向外部设备发送携带有所述报文数据的服务请求。其中,服务请求可以为超文本传输安全协议(Hyper Text Transfer Protocolover Secure Socket Layer,HTTPS)请求或者超文本传输协议(Hyper Text TransferProtocol,HTTP)请求。
例如,如图5所示,图5上部分的左边为协议数据,上部分的右边为报文数据,下部分为数据转换模板。首先,获取协议数据,由于该协议数据的格式为JSON,因此使用JSON解析器对协议数据进行解析。在协议数据中,id为1000,job为teacher,detail包括firstname为John、lastname为Smith、age为30。其次,确定协议数据所使用的通信接口,确定与通信接口对应的数据转换模板。在数据转换模板中,${id}表示直接输出id;@Append@表示将firstname和lastname的字符串拼接起来,@Add@表示将age增加10,adaptor表示将teacher转换为教师或将student转换为学生。然后,根据数据转换模板对协议数据处理得到报文数据,在报文数据中,id为1000,name为John Smith,age为40,job为教师,最后,向外部设备发送携带有该报文数据的服务请求。
可选的,可以在服务器上部署网络后台服务,将网络后台服务绑定本机的网络地址,该网络地址可以包括IP(如10.2.2.2)和端口(443)。服务器可以向外部设备发送携带有该网络地址的服务请求,外部设备接收到该服务请求之后,可以通过该IP和端口向服务器发送返回数据。
可选的,本装置还可以进一步包括接收模块704,其中:
接收模块704,用于通过所述通信接口接收所述外部设备发送的返回数据。
处理模块702,还用于根据所述数据转换模板,对所述返回数据进行处理。
具体实现中,同一个通信接口对应的数据转换模板可以包括第一数据转换模板和第二数据转换模板,第一数据转换模板用于处理发送的数据,第二数据转换模板用于处理接收的数据。在本步骤中,可以根据所述第二数据转换模板,对所述协议数据进行处理得到报文数据。
进一步的,可以首先确定所述返回数据的数据格式;查找系统中与所述数据格式相匹配的协议解析器,使用该协议解析器对所述返回数据进行解析。将返回数据解析到内存之后,查找数据转换模板中的变量,如果未查找到变量,则执行结束。如果查找到变量,通过该变量对返回数据进行处理,继续执行数据转换模板中的函数。其次,查找数据转换模板中的函数,如果没有查找到函数,则执行结束,提示系统不支持该函数。如果查找到函数,则执行函数的调用,并得到返回值,继续执行逻辑。然后,查找对应的逻辑处理单元,如果没有查找逻辑处理单元,则执行结束,提示系统不支持该逻辑。如果查找到逻辑处理单元,则执行逻辑处理单元。最后,将数据转换模板中的变量串、函数串和逻辑串替换为上述经过变量、函数和逻辑处理后的数据,进而最终得到服务器需要的数据。
在本发明实施例中,首先获取调用的协议数据;确定协议数据所调用的通信接口;然后从模板配置信息中查找与通信接口对应的数据转换模板,模板配置信息包括通信接口与数据转换模板的映射关系;根据数据转换模板,对协议数据进行处理得到报文数据;最后通过通信接口向外部设备发送携带有报文数据的服务请求。由于模板配置信息可以动态的扩展并加载,使得系统支持更多的复杂个性化的接口,支持动态扩展,满足更多的业务需求。
请继续参考图8,图8是本发明实施例提出的一种服务器的结构示意图。如图所示,该服务器可以包括:至少一个处理器801,至少一个通信接口802,至少一个存储器803和至少一个通信总线804。
其中,处理器801可以是中央处理器单元,通用处理器,数字信号处理器,专用集成电路,现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理器和微处理器的组合等等。通信总线804可以是外设部件互连标准PCI总线或扩展工业标准结构EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信总线804用于实现这些组件之间的连接通信。其中,本发明实施例中设备的通信接口802用于与其他节点设备进行信令或数据的通信。存储器803可以包括易失性存储器,例如非挥发性动态随机存取存储(Nonvolatile Random Access Memory,NVRAM)、相变化随机存取存储(PhaseChange RAM,PRAM)、磁阻式随机存取存储(Magetoresistive RAM,MRAM)等,还可以包括非易失性存储器,例如至少一个磁盘存储器件、电子可擦除可编程只读存储器(ElectricallyErasable Programmable Read-Only Memory,EEPROM)、闪存器件,例如NOR闪存(NOR flashmemory)或是NAND闪存(NAND flash memory)、半导体器件,例如固态硬盘(Solid StateDisk,SSD)等。存储器803可选的还可以是至少一个位于远离前述处理器801的存储装置。存储器803中存储一组程序代码,且处理器801执行存储器803中的程序。
获取调用的协议数据;
确定所述协议数据所调用的通信接口;
从模板配置信息中查找与所述通信接口对应的数据转换模板,所述模板配置信息包括所述通信接口与所述数据转换模板的多个映射关系;
根据所述数据转换模板,对所述协议数据进行处理得到报文数据;
通过所述通信接口向外部设备发送携带有所述报文数据的服务请求。
可选的,处理器801还用于执行如下操作步骤:
确定所述协议数据的数据格式;
查找系统中是否存在与所述数据格式相匹配的协议解析器;
若存在,则使用查找到所述协议解析器,对所述协议数据进行解析。
可选的,处理器801还用于执行如下操作步骤:
若不存在,则显示提示信息,所述提示信息用于提示用户所述系统不支持所述数据格式、以及需要扩展所述协议解析器;
使用扩展后的所述协议解析器,对所述协议数据进行解析。
可选的,处理器801还用于执行如下操作步骤:
接收配置中心发送的管理命令;
根据所述管理命令,对所述模板配置信息进行加载。
可选的,处理器801还用于执行如下操作步骤:
通过所述通信接口接收所述外部设备发送的返回数据;
根据所述数据转换模板,对所述返回数据进行处理。
其中,所述数据转换模板包括第一数据转换模板和第二数据转换模板;
可选的,处理器801还用于执行如下操作步骤:
根据所述第一数据转换模板,对所述协议数据进行处理得到报文数据;
根据所述第二数据转换模板,对所述返回数据进行处理。
进一步的,处理器还可以与存储器和通信接口相配合,执行上述发明实施例中客户端的操作。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (13)

1.一种数据处理方法,其特征在于,所述方法包括:
获取调用的协议数据;
确定所述协议数据的数据格式;
查找系统中是否存在与所述数据格式相匹配的协议解析器;
若存在,则使用查找到所述协议解析器,对所述协议数据进行解析;
确定所述协议数据所调用的通信接口;
从模板配置信息中查找与所述通信接口对应的数据转换模板,所述模板配置信息包括所述通信接口与所述数据转换模板的多个映射关系,每个所述通信接口对应一个所述数据转换模板,所述数据转换模板支持动态扩展、修改或删除,所述数据转换模板与所述协议解析器是完全解耦的;
根据所述数据转换模板,对所述协议数据进行处理得到报文数据;
通过所述通信接口向外部设备发送携带有所述报文数据的服务请求。
2.如权利要求1所述的方法,其特征在于,所述查找系统中是否存在与所述数据格式相匹配的协议解析器之后,还包括:
若不存在,则显示提示信息,所述提示信息用于提示用户所述系统不支持所述数据格式、以及需要扩展所述协议解析器;
使用扩展后的所述协议解析器,对所述协议数据进行解析。
3.如权利要求1所述的方法,其特征在于,所述获取调用的协议数据之前,还包括:
接收配置中心发送的管理命令;
根据所述管理命令,对所述模板配置信息进行加载。
4.如权利要求1所述的方法,其特征在于,所述通过所述通信接口向外部设备发送携带有所述报文数据的服务请求之后,还包括:
通过所述通信接口接收所述外部设备发送的返回数据;
根据所述数据转换模板,对所述返回数据进行处理。
5.如权利要求4所述的方法,其特征在于,所述数据转换模板包括第一数据转换模板和第二数据转换模板;
所述根据所述数据转换模板,对所述协议数据进行组装得到报文数据包括:
根据所述第一数据转换模板,对所述协议数据进行处理得到报文数据;
所述根据所述数据转换模板,对所述返回数据进行处理包括:
根据所述第二数据转换模板,对所述返回数据进行处理。
6.如权利要求1-5任一项所述的方法,其特征在于,所述数据转换模板包括变量、函数以及逻辑中的至少一项。
7.一种数据处理装置,其特征在于,所述装置包括:
获取模块,用于获取调用的协议数据;
处理模块,用于确定所述协议数据的数据格式;查找系统中是否存在与所述数据格式相匹配的协议解析器;若存在,则使用查找到所述协议解析器,对所述协议数据进行解析;以及用于确定所述协议数据所调用的通信接口;
所述处理模块,还用于从模板配置信息中查找与所述通信接口对应的数据转换模板,所述模板配置信息包括所述通信接口与所述数据转换模板的多个映射关系,每个所述通信接口对应一个所述数据转换模板,所述数据转换模板支持动态扩展、修改或删除,所述数据转换模板与所述协议解析器是完全解耦的;
所述处理模块,还用于根据所述数据转换模板,对所述协议数据进行处理得到报文数据;
发送模块,用于通过所述通信接口向外部设备发送携带有所述报文数据的服务请求。
8.如权利要求7所述的装置,其特征在于,
所述处理模块,还用于若不存在,则显示提示信息,所述提示信息用于提示用户所述系统不支持所述数据格式、以及需要扩展所述协议解析器;使用扩展后的所述协议解析器,对所述协议数据进行解析。
9.如权利要求7所述的装置,其特征在于,
所述处理模块,还用于接收配置中心发送的管理命令;根据所述管理命令,对所述模板配置信息进行加载。
10.如权利要求7所述的装置,其特征在于,所述装置还包括接收模块,
所述接收模块,用于通过所述通信接口接收所述外部设备发送的返回数据;
所述处理模块,还用于根据所述数据转换模板,对所述返回数据进行处理。
11.如权利要求10所述的装置,其特征在于,所述数据转换模板包括第一数据转换模板和第二数据转换模板;
所述处理模块具体用于:
根据所述第一数据转换模板,对所述协议数据进行处理得到报文数据;
根据所述第二数据转换模板,对所述返回数据进行处理。
12.如权利要求7-11任一项所述的装置,其特征在于,所述数据转换模板包括变量、函数以及逻辑中的至少一项。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有多条指令,所述指令适于由处理器加载并执行如权利要求1-6任一项所述的方法。
CN201810306728.5A 2018-04-08 2018-04-08 一种数据处理方法及相关设备 Active CN110351325B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810306728.5A CN110351325B (zh) 2018-04-08 2018-04-08 一种数据处理方法及相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810306728.5A CN110351325B (zh) 2018-04-08 2018-04-08 一种数据处理方法及相关设备

Publications (2)

Publication Number Publication Date
CN110351325A CN110351325A (zh) 2019-10-18
CN110351325B true CN110351325B (zh) 2022-04-29

Family

ID=68173250

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810306728.5A Active CN110351325B (zh) 2018-04-08 2018-04-08 一种数据处理方法及相关设备

Country Status (1)

Country Link
CN (1) CN110351325B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113051202A (zh) * 2019-12-27 2021-06-29 中国移动通信集团湖南有限公司 接口适配方法、装置、电子设备和计算机可读存储介质
CN111314467A (zh) * 2020-02-19 2020-06-19 杭州涂鸦信息技术有限公司 一种产测上位机与物联网设备的通信方法及系统
CN111552838B (zh) * 2020-03-26 2023-02-03 深圳平安医疗健康科技服务有限公司 数据处理方法及装置、计算机设备、存储介质
CN113315842A (zh) * 2021-05-31 2021-08-27 中国民航信息网络股份有限公司 一种信息交互方法及相关设备
CN113268285B (zh) * 2021-06-08 2024-02-02 上海云从企业发展有限公司 基于业务平台的业务处理方法、系统、介质和设备
CN115103034A (zh) * 2022-06-27 2022-09-23 京东科技信息技术有限公司 一种报文协议转换的方法和装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101188561A (zh) * 2007-12-20 2008-05-28 北京大学 基于自定义模板的通用业务数据通讯方法与系统
CN101547156A (zh) * 2009-05-04 2009-09-30 华为技术有限公司 报文解析方法和装置
CN102413057A (zh) * 2011-12-22 2012-04-11 北京新媒传信科技有限公司 一种互联网中提供业务应用的方法和系统
CN102891796A (zh) * 2012-11-02 2013-01-23 中国科学院自动化研究所 矿用智能传输网关
CN104243172A (zh) * 2013-06-07 2014-12-24 国家电网公司 一种分散控制系统的扩展输入输出装置和方法
CN106230826A (zh) * 2016-08-02 2016-12-14 哈尔滨工业大学 应用系统接口协议自动解析装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7904595B2 (en) * 2001-01-18 2011-03-08 Sdl International America Incorporated Globalization management system and method therefor

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101188561A (zh) * 2007-12-20 2008-05-28 北京大学 基于自定义模板的通用业务数据通讯方法与系统
CN101547156A (zh) * 2009-05-04 2009-09-30 华为技术有限公司 报文解析方法和装置
CN102413057A (zh) * 2011-12-22 2012-04-11 北京新媒传信科技有限公司 一种互联网中提供业务应用的方法和系统
CN102891796A (zh) * 2012-11-02 2013-01-23 中国科学院自动化研究所 矿用智能传输网关
CN104243172A (zh) * 2013-06-07 2014-12-24 国家电网公司 一种分散控制系统的扩展输入输出装置和方法
CN106230826A (zh) * 2016-08-02 2016-12-14 哈尔滨工业大学 应用系统接口协议自动解析装置

Also Published As

Publication number Publication date
CN110351325A (zh) 2019-10-18

Similar Documents

Publication Publication Date Title
CN110351325B (zh) 一种数据处理方法及相关设备
CN104866383B (zh) 一种接口调用方法、装置及终端
CN110333863B (zh) 一种生成、显示小程序页面的方法及装置
CN111683066B (zh) 异构系统集成方法、装置、计算机设备和存储介质
CN108334609B (zh) Oracle中实现JSON格式数据存取的方法、装置、设备及存储介质
CN110276074B (zh) 自然语言处理的分布式训练方法、装置、设备及存储介质
CN111309593A (zh) Json接口校验的方法、装置、设备及计算机可读存储介质
CN111324619B (zh) 微服务系统中的对象更新方法、装置、设备和存储介质
CN111586097A (zh) 一种网络请求处理方法、计算设备及存储介质
CN111818175A (zh) 企业服务总线配置文件生成方法、装置、设备和存储介质
CN111984262A (zh) 微信层叠样式表文件的处理方法、装置、设备及存储介质
CN105094787B (zh) 企业互联网应用的处理方法及装置
CN110968339B (zh) 前端构建工具的方法、装置以及电子设备
CN116737662A (zh) 业务数据处理的方法、装置、电子设备和存储介质
CN112579312A (zh) 参数映射方法及装置、存储介质、接口调用平台、服务系统
CN112671567B (zh) 一种基于服务化接口的5g核心网拓扑发现方法及装置
CN112671565B (zh) 一种基于信令链路的5g核心网拓扑发现方法及装置
CN115048359A (zh) 一种多类型接入数据源的通用数据处理架构设计方法
CN111367500A (zh) 数据的处理方法和装置
CN114064601B (zh) 存储过程转换方法、装置、设备和存储介质
CN110471708B (zh) 基于可重用组件的配置项获取的方法及装置
CN112711602B (zh) 一种存储过程的运行方法、装置,数据库系统及存储介质
CN114219643A (zh) 一种交易调用方法、装置、设备及存储介质
CN113761588A (zh) 一种数据校验方法、装置、终端设备及存储介质
CN113098961A (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