CN108062382A - 信息交互的方法、装置、设备以及存储介质 - Google Patents
信息交互的方法、装置、设备以及存储介质 Download PDFInfo
- Publication number
- CN108062382A CN108062382A CN201711328988.4A CN201711328988A CN108062382A CN 108062382 A CN108062382 A CN 108062382A CN 201711328988 A CN201711328988 A CN 201711328988A CN 108062382 A CN108062382 A CN 108062382A
- Authority
- CN
- China
- Prior art keywords
- middleware
- data
- interaction request
- end data
- sequence
- 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.)
- Pending
Links
- 230000003993 interaction Effects 0.000 title claims abstract description 103
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000003860 storage Methods 0.000 title claims abstract description 25
- 230000008569 process Effects 0.000 claims abstract description 13
- 238000013499 data model Methods 0.000 claims description 56
- 238000012795 verification Methods 0.000 claims description 43
- 238000012545 processing Methods 0.000 claims description 30
- 230000004044 response Effects 0.000 claims description 30
- 230000002159 abnormal effect Effects 0.000 claims description 8
- 230000005540 biological transmission Effects 0.000 claims description 7
- 238000004088 simulation Methods 0.000 claims description 5
- 238000004458 analytical method Methods 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 4
- 230000002452 interceptive effect Effects 0.000 claims description 3
- 238000010276 construction Methods 0.000 claims description 2
- 238000004364 calculation method Methods 0.000 claims 1
- 238000003032 molecular docking Methods 0.000 abstract description 15
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 10
- 230000008859 change Effects 0.000 description 6
- 230000005291 magnetic effect Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 241000606932 Echinoderes ajax Species 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 238000013497 data interchange Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 239000011229 interlayer Substances 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000005201 scrubbing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
- G06F16/24561—Intermediate data storage techniques for performance improvement
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种信息交互的方法、装置、设备及存储介质。所述方法包括:接收客户端发送的指向目标数据提供方的前端数据交互请求;将所述前端数据交互请求发送至匹配的中间件序列对所述前端数据交互请求进行处理,其中,所述中间件序列包括至少两个按照设定关联关系连接的中间件,且至少一个中间件指向所述目标数据提供方;将所述中间件序列的输出结果返回至所述客户端。本发明实施例优化了现有的前后端的数据对接方式,提高了前后端数据对接的灵活性,以及整个***的可扩展性。
Description
技术领域
本发明涉及信息处理技术,尤其涉及一种信息交互的方法、装置、设备以及存储介质。
背景技术
随着软件开发技术的不断发展,专业化的分工越来越细,前后端分离模式越来越受到重视,其中,在前后端分离模式中,前后端的数据对接显得尤为重要。前端,主要是指具有数据处理请求的客户端,后端主要是指用于存储海量数据的数据库或者服务器。
现有技术主要通过下述三种方式实现前后端的对接,第一种是客户端直接通过Form表单向服务器接口提交数据;第二种是客户端通过浏览器XMLHttpRequest(也可以称为可扩展超文本传输请求)的API(Application,应用程序)向服务器接口提交数据(即Ajax);第三种是通过客户端中间层(nodejs,php等技术实现)转发请求到服务器接口。
发明人在实现本发明的过程中,发现现有技术存在如下缺陷:1、当前端向后端传输的数据不完整时,后端程序依然处理请求,导致程序出错及***性能的浪费;2、前后端交互数据格式不一致时容易出现各种错误,例如后端返回的状态码为字符串“400”,而前端期望返回的是数字400,因此导致程序出错,又例如前端向后端提交了字符串类型的时间戳“2017-8-19 00:00:00”,但是后端期望上述时间戳是一个长类型的数字,因此导致存储出错;3、后端对返回的数据的改动会影响前端的功能,需要前端对应对业务逻辑进行修改,降低了开发效率,例如后端修改时间戳字段名称,前端需要将时间戳相关的业务代码都进行更改,工作量庞大。
发明内容
本发明实施例提供了一种信息交互的方法、装置、设备以及存储介质,优化现有的前后端的数据对接方式,提高了前后端数据对接的灵活性,以及整个***的可扩展性。
第一方面,本发明实施例提供了一种信息交互的方法,包括:
接收客户端发送的指向目标数据提供方的前端数据交互请求;
将所述前端数据交互请求发送至匹配的中间件序列对所述前端数据交互请求进行处理,其中,所述中间件序列包括至少两个按照设定关联关系连接的中间件,且至少一个中间件指向所述目标数据提供方;
将所述中间件序列的输出结果返回至所述客户端。
第二方面,本发明实施例还提供了一种信息交互的装置,包括:
前端请求接收模块,用于接收客户端发送的指向目标数据提供方的前端数据交互请求;
中间件处理模块,用于将所述前端数据交互请求发送至匹配的中间件序列对所述前端数据交互请求进行处理,其中,所述中间件序列包括至少两个按照设定关联关系连接的中间件,且至少一个中间件指向所述目标数据提供方;
输出结果返回模块,用于将所述中间件序列的输出结果返回至所述客户端。
第三方面,本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序所述处理器执行所述程序时实现如本发明实施例中任一所述的信息交互的方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例中任一所述的信息交互的方法。
本发明实施例提供了一种信息交互的方法、装置、设备以及存储介质,通过接收客户端发送的指向目标数据提供方的前端数据交互请求,采用中间件序列对所述交互请求进行处理,并将所述中间件序列的输出结果返回至所述客户端的技术手段,以一个或者多个中间件为桥梁实现了前后端的数据对接,优化了现有的前后端的数据对接方式,提高了前后端数据对接的灵活性,以及整个***的可扩展性。
附图说明
图1a是本发明实施例一中的一种信息交互的方法的流程图;
图1b是本发明实施例一中的一种中间件序列的工作流程图;
图2a是本发明实施例二中的一种信息交互的方法的流程图;
图2b是本发明实施例二中的一种信息交互的功能框图;
图2c是本发明实施例二中的一种调度中间件的功能框图;
图3是本发明实施例三中的一种信息交互的装置的结构图;
图4是本发明实施例四中的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
实施例一
图1a为本发明实施例一提供的一种信息交互的方法的流程图,本实施例可适用于以中间件序列为桥梁,实现前后端数据交互的情况,该方法可以由本发明实施例提供的信息交互的装置来执行,该装置可采用软件和/或硬件的方式实现,并一般可集成在存储中间件序列的终端设备中,与客户端设备和服务器端设备配合使用,或者可以直接集成在所述客户端设备或者所述服务器端设备中。如图1a所示,本实施例的方法具体包括:
S110、接收客户端发送的指向目标数据提供方的前端数据交互请求。
在本发明实施例中,数据提供方是指数据的来源或者存储数据的数据库(也即,后端),一般来说,不同类型的数据提供方可以提供不同类型的数据。
相应的,所述数据提供方可以包括下述至少一项:用于提供数据库数据的标准数据库,用于提供网络服务数据的网络服务器(包括后端提供的http协议的服务),用于提供模拟数据(例如,通过规则模拟产生的调试使用的数据)的模拟数据库以及用于提供用户数据(例如,开发者自定义的数据)的用户数据库等。
在本实施例中,所述前端数据交互请求具体是指客户端针对目标数据提供方提出的数据查询、数据添加、数据更改以及数据删除等请求。
典型的,客户端(也即前端)可以在前端数据交互请求中直接指定其所要交互的后端(也即,目标数据提供方),例如:可以在前端数据交互请求的配置信息中直接标明“datasource”即可。
S120、将所述前端数据交互请求发送至匹配的中间件序列对所述前端数据交互请求进行处理,其中,所述中间件序列包括至少两个按照设定关联关系连接的中间件,且至少一个中间件指向所述目标数据提供方。
在本实施例中,可以针对不同类型的前端数据交互请求设计不同类型的中间件序列进行处理,也可以针对全部前端数据交互请求都采取统一的中间件序列进行处理,这里并不进行限制。
所述中间件,具体是指在前后端数据交互过程中对前端数据交互请求的每一个处理步骤或者每一个处理单元。所述中间件序列具体是指按照设定关联关系连接的多个中间件。一个中间件处理完毕后才会流转到下一个中间件进行处理,直到处理结束,每个中间件职责明确。这种方式类似于工厂的流水线生产作业,一个工位完成后才会交到下一个工位。通过中间件序列中各个中间件的共同配合,最终实现针对该前端数据交互请求完成前后端的数据交互。
具体的,基于不同功能的中间件,并将不同功能的中间件按照设定关联关系连接形成中间件序列,可以根据需要对数据进行处理,实现不同功能,具有良好的扩展性。
在一个具体例子中,如果客户端发送了一个指向用户数据库的数据查询请求,则需要首先对该数据查询请求进行校验,并在校验通过后调用用户数据适配器将该数据查询请求发送至用户数据库,之后对该用户数据库针对数据查询请求返回的查询结果进行校验,最后将校验通过的查询结果返回至客户端。相应的,可以针对数据校验这一处理步骤设计一个校验中间件,针对调用设定适配器访问后端数据库这一处理步骤设计一个调度中间件。通过将校验中间件、调度中间件串接构成一个中间件序列,可以实现对上述数据查询请求的处理。
其中,按照设定的处理功能,中间件序列可以具体包括:校验中间件、调度中间件、解析中间件以及其他中间件等。
相应的,如图1b是本发明实施例一提供的中间件序列的工作流程图。如图1b所示,中间件序列包括校验中间件101、调度中间件102、解析中间件103以及其他中间件104。中间件序列处理流程为:校验中间件101对接收到的数据请求进行校验,当校验通过时,将数据请求发送至调度中间件102,在调度中间件102对接收的数据进行处理之后,将处理后的数据发送至解析中间件103,在解析中间件103对接收的数据进行解析之后,将解析后的数据发送至其他中间件104,在其他中间件104对接收的数据进行处理之后,将处理的数据发送至客户端105,同时,在每个中间件的处理过程中,如果出现不能处理的数据或者出现错误时,可以直接结束当前处理过程,并将错误信息反馈至客户端。采用中间件序列处理方法,基于中间件序列中包含的中间件的功能,分别进行不同的处理操作,同时可以根据需要在中间件序列中设置不同的中间件,使得中间件序列具有相应的功能,增强了中间件序列的可扩展性,而且所有中间件的错误都能捕获并返回给客户端,具有良好的错误处理机制。
S130、将所述中间件序列的输出结果返回至所述客户端。
在本实施例中,可以将校验结果以及在信息交互过程中出现的各种错误均返回至客户端,避免在信息交互过程中由于出现错误而导致***无法正常工作,增强了整个***的容错性。
本发明实施例通过接收客户端发送的指向目标数据提供方的前端数据交互请求,采用中间件序列对所述交互请求进行处理,并将所述中间件序列的输出结果返回至所述客户端的技术手段,以一个或者多个中间件为桥梁实现了前后端的数据对接,优化了现有的前后端的数据对接方式,提高了前后端数据对接的灵活性,以及整个***的可扩展性。
实施例二
图2a为本发明实施例二提供的一种信息交互的方法的流程图,本实施例以上述实施例为基础进行具体化,在本实施例中,将所述中间件序列具体通过校验中间件与调度中间件串接构成,同时将所述前端数据交互请求发送至匹配的中间件序列对所述前端数据交互请求进行处理具体为:通过校验中间件使用匹配的数据模型对所述前端数据交互请求进行校验,并在校验通过后,将前端数据交互请求通过与目标数据提供方相匹配的适配器发送到对应的目标数据提供方,并在后端响应数据通过校验后,将所述后端响应数据输出。
图2b是本发明实施例二提供的一种信息交互的功能框图,如图2b所示,客户端201即前端,发送前端数据交互请求至校验中间件202;当前端数据交互请求的校验通过时,校验中间件202发送前端交互数据请求至调度中间件203,当校验失败时,校验中间件202反馈数据至客户端201;调度中间件203将从与前端数据交互请求匹配的目标数据提供方204即后端中,获取后端响应数据,并返回至校验中间件202进行校验;当后端响应数据通过校验时,校验中间件202返回后端响应数据至客户端201,当校验失败时,校验中间件202反馈校验失败信息至客户端201。其中,客户端201可以是浏览器、安卓应用或iOS应用,校验中间件202是基于数据模型对数据进行校验,目标数据提供方204可以通过适配器(Adaptor)模式从不同的数据来源处获取后端返回数据。
相应的,本实施例的方法包括:
S210、接收客户端发送的指向目标数据提供方的前端数据交互请求。
S220、通过校验中间件接收所述前端数据交互请求,使用匹配的数据模型对所述前端数据交互请求进行校验,并在校验通过后,将所述前端数据交互请求发送至调度中间件。
在本发明实施例中,数据模型是指,定义了前端以及后端在对接部分的数据模型。具体的,数据模型包括定义前端以及后端在对接部分的数据结构、数据操作以及数据约束。通过对前端数据交互请求进行校验,以保证前端数据交互请求中所提供数据的数据格式与需要进行交互的后端期望的数据格式一致,同时保证前端数据交互请求存在目标数据提供方的指向信息,以便后续操作。
在本发明实施例中,可选的,所述校验中间件中的所述数据模型包括:前端数据模型和后端数据模型;其中,所述前端数据模型用于对前端数据交互请求进行校验,所述后端数据模型用于对后端响应数据进行校验;所述前端数据模型和所述后端数据模型为JSON格式的数据。
具体的,所述JSON格式的数据为通过JavaScript对象符号(JavaScript ObjectNotation,JSON)的方式描述的数据。其中,JSON是一种轻量级的数据交换格式。此外,前端数据模型和后端数据模型均支持嵌套的方式描述数据。通过采用JSON格式描述数据,简化了数据交互过程,降低了数据的冗长性,提高数据传输的效率。
例如,一个完整定义前端数据模型以及后端数据模型的数据模型结构可以包括:数据模型的名称(如“AUTH_VALIDATE”)、前端数据模型(如命名为“params”的结构体数据)和后端数据模型(如命名为“schema”的结构体数据)。
其中,前端数据模型“params”可以进一步包括前端数据模型的类型、参数和必要数据,在一个具体的例子中,前端数据模型的类型可以是对象(object)型的,其参数和必要数据均包括名为“accessToken”的参数,其中,“accessToken”的类型设置为字符串类型。通过上述前端数据模型可以对客户端传送过来的参数进行校验,其中,如果在校验过程中确定客户端没有传送前端数据模型中必要参数中定义的accessToken参数,则输出的校验结果为失败;
相应的,后端数据模型“schema”可以进一步包括后端数据模型的类型、参数和必要数据,在一个具体例子中,后端数据模型的类型是对象(object)型的,其参数和必要数据中均包括名为“uid”、“userName”、“token”、“nickName”以及“type”的参数,其中,上述参数的类型均设置为字符串类型,并定义删除或者附加均报错(例如:removeAdditional:false);通过上述后端数据模型可以对数据提供方传送过来的参数进行校验,其中,如果在校验过程中确定数据提供方没有传送后端数据模型中必要参数中定义的全部参数或者传送的数据中附加有其他类型的数据,则输出的校验结果为失败。
所述匹配的数据模型是指,与前端数据交互请求相匹配的数据模型。具体的,可以是基于前段数据交互请求中的指向目标数据提供方信息确定的数据模型。
所述使用匹配的数据模型对所述前端数据交互请求进行校验是指,基于匹配的数据模型,对输入的数据进行校验。具体的,校验包括:校验数据的完整性,例如,前例表示的数据模型中描述为必要参数的字段不能为空;校验数据类型,输入的数据必须为数据模型中描述的类型;数据清理,清理冗余的数据等。
S230、通过调度中间件接收所述前端数据交互请求,使用匹配的适配器向所述目标数据提供方发送所述前端数据交互请求,并将所述目标数据提供方成功反馈的后端响应数据发送至所述校验中间件。
在本发明实施例中,调度中间件根据交互请求中的目标数据提供方,确定与该目标数据提供方相匹配的适配器,并使用该适配器向该目标数据提供方发送交互请求,目标数据提供方提供数据并发送至调度中间件,调度中间件将接收的后端响应数据发送至校验中间件进行校验。其中,调度中间件可以是调度程序,该调度程序根据数据的来源即目标数据提供方,调度与该目标数据提供方相匹配的适配器获取或者生成数据
在本发明实施例中,可选的,所述适配器包括下述至少一项:数据库适配器、模拟适配器、网络服务适配器以及用户数据适配器;其中,不同适配器对应不同的数据提供方。
具体的,所述适配器为直接对接非关系型数据库的适配器,基于定义的数据类型和传入数据,调度程序能够自动向目标数据提供方发送前端数据交互请求,并将目标数据提供房反馈的后端响应数据发送到校验中间件,同时将后端响应数据保存到调度程序的数据库中。通过调度与目标数据提供方相匹配的适配器,可以兼容多种数据来源,并针对前端数据交互请求,与不同的数据提供方进行对接,具有针对性,同时能够快速存储后端响应数据,避免数据丢失,保证数据的完整。
例如,图2c是本发明实施例二中的一种调度中间件的功能框图。如图2c所示,调度中间件为调度程序205,分别调用数据库适配器206、模拟适配器207、网络服务适配器208、用户数据适配器209,对应从标准数据库、模拟数据库、网络服务器、用户数据库中获取对应数据。
S240、通过校验中间件接收所述后端响应数据,使用匹配的数据模型对所述后端响应数据进行校验,并在校验通过后,将所述后端响应数据输出。
在本发明实施例中,通过校验中间件使用后端数据模型对后端响应数据进行校验。可选的,当校验不通过时,输出校验不通过的信息;当校验通过时,输出后端响应数据。通过对后端响应数据进行校验,保证后端响应数据的数据格式与前端期望的数据的数据格式一致。
S250、将所述中间件序列的输出结果返回至所述客户端。
当前端数据交互请求以及后端响应数据均通过校验时,中间件序列输出后端响应数据,返回至客户端,为信息交互提供了严格的前后端交互数据校验流程,并保证前后端交互数据的一致性和完整性,提高开发效率。
本发明实施例的技术方案通过匹配的数据模型,在对客户端发送的前端数据交互请求进行校验通过后,进而将前端数据交互请求通过与目标数据提供方相匹配的适配器发送到对应的目标数据提供方,并在后端响应数据通过校验后输出的技术手段,可以解决前后端对接过程中数据未进行校验的问题,实现对前后端交互数据的校验,保证了前后端交互数据的一致性和完整性。
在上述各实施例的基础上,所述方法,还包括:如果所述中间件序列中的任一中间件出现处理异常,则所述中间件序列停止对所述前端数据交互请求继续处理,并将与所述处理异常匹配的异常标识作为所述中间件序列的输出结果进行输出。
通过当中间件序列中的任一中间件出现处理异常时,停止处理过程,并输出异常标识,能够将所有中间件的出现的错误均返回给客户端,提供了一种良好的错误处理机制,同时仅停止中间件序列对所述前端数据交互请求继续处理的操作,其他模块正常工作,增强了***的容错性。
在上述各实施例的基础上,在接收客户端发送的指向目标数据提供方的前端数据交互请求之前,还包括:预先构造与信息交互需求匹配的至少两个中间件存储于中间件数据库中,并建立不同前端数据交互请求与不同中间件序列之间的对应关系。
通过预设中间件数据库,并基于前端数据交互请求对应获取数据库中的中间件以及中间件之间的连接关系,能够根据不同的信息交互需求构造对应的中间件序列,针对性处理数据,同时设置数据库,可以构造多个中间件序列,提高了数据处理的灵活性,提高了中间件序列的可扩展性。
所述方法,还包括:在所述中间件数据库中添加、删除或者修改中间件;和/或添加,删除或者修改前端数据交互请求与中间件序列之间的对应关系。
通过在中间件数据库中添加、删除或者修改中间件,和前端数据交互请求与中间件序列之间的对应关系,允许任何自定义的中间件加入到中间件序列中,可以对中间件序列进行扩展,提高了整个***的可扩展性。
实施例三
图3为本发明实施例三提供的一种信息交互的装置的结构示意图。如图3所示,所述装置包括:
前端请求接收模块310,用于接收客户端发送的指向目标数据提供方的前端数据交互请求;
中间件处理模块320,用于将所述前端数据交互请求发送至匹配的中间件序列对所述前端数据交互请求进行处理,其中,所述中间件序列包括至少两个按照设定关联关系连接的中间件,且至少一个中间件指向所述目标数据提供方;
输出结果返回模块330,用于将所述中间件序列的输出结果返回至所述客户端。
本发明实施例通过接收客户端发送的指向目标数据提供方的前端数据交互请求,采用中间件序列对所述交互请求进行处理,并将所述中间件序列的输出结果返回至所述客户端的技术手段,以一个或者多个中间件为桥梁实现了前后端的数据对接,优化了现有的前后端的数据对接方式,提高了前后端数据对接的灵活性,以及整个***的可扩展性。
进一步的,所述中间件处理模块320,还包括:前端校验中间件模块,用于通过校验中间件接收所述前端数据交互请求,使用匹配的数据模型对所述前端数据交互请求进行校验,并在校验通过后,将所述前端数据交互请求发送至调度中间件;调度中间件模块,用于通过调度中间件接收所述前端数据交互请求,使用匹配的适配器向所述目标数据提供方发送所述前端数据交互请求,并将所述目标数据提供方成功反馈的后端响应数据发送至所述校验中间件;后端校验中间件模块,用于通过校验中间件接收所述后端响应数据,使用匹配的数据模型对所述后端响应数据进行校验,并在校验通过后,将所述后端响应数据输出。
进一步的,所述中间件处理模块320,用于:如果所述中间件序列中的任一中间件出现处理异常,则所述中间件序列停止对所述前端数据交互请求继续处理,并将与所述处理异常匹配的异常标识作为所述中间件序列的输出结果进行输出。
进一步的,所述装置还包括:中间件构造模块,用于预先构造与信息交互需求匹配的至少两个中间件存储于中间件数据库中,并建立不同前端数据交互请求与不同中间件序列之间的对应关系。
进一步的,所述装置还包括:中间件改变模块,用于在所述中间件数据库中添加、删除或者修改中间件;和/或添加,删除或者修改前端数据交互请求与中间件序列之间的对应关系。
进一步的,所述装置还包括:所述校验中间件中的所述数据模型包括:前端数据模型和后端数据模型;其中,所述前端数据模型用于对前端数据交互请求进行校验,所述后端数据模型用于对后端响应数据进行校验;所述前端数据模型和所述后端数据模型为JSON格式的数据。
进一步的,所述装置还包括:所述适配器包括下述至少一项:数据库适配器、模拟适配器、网络服务适配器以及用户数据适配器;其中,不同适配器对应不同的数据提供方。
上述信息交互的装置可执行本发明任意实施例所提供的信息交互的方法,具备执行的信息交互的方法相应的功能模块和有益效果。
实施例四
图4为本发明实施例四提供的一种计算机设备的结构示意图。图4示出了适于用来实现本发明实施方式的示例性计算机设备412的框图。图4显示的计算机设备412仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图4所示,计算机设备412以通用计算设备的形式表现。计算机设备412的组件可以包括但不限于:一个或者多个处理器或者处理单元416,***存储器428,连接不同***组件(包括***存储器428和处理单元416)的总线418。
总线418表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,***总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及***组件互连(PCI)总线。
计算机设备412典型地包括多种计算机***可读介质。这些介质可以是任何能够被计算机设备412访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
***存储器428可以包括易失性存储器形式的计算机***可读介质,例如随机存取存储器(RAM)430和/或高速缓存存储器432。计算机设备412可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机***存储介质。仅作为举例,存储***434可以用于读写不可移动的、非易失性磁介质(图4未显示,通常称为“硬盘驱动器”)。尽管图4中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器428可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块442的程序/实用工具440,可以存储在例如存储器428中,这样的程序模块442包括——但不限于——操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块442通常执行本发明所描述的实施例中的功能和/或方法。
计算机设备412也可以与一个或多个外部设备414(例如键盘、指向设备、显示器424等)通信,还可与一个或者多个使得用户能与该计算机设备412交互的设备通信,和/或与使得该计算机设备412能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口422进行。并且,计算机设备412还可以通过网络适配器420与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器420通过总线418与计算机设备412的其它模块通信。应当明白,尽管图4中未示出,可以结合计算机设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储***等。
处理单元416通过运行存储在***存储器428中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的一种信息交互的方法。
也即,所述处理单元执行所述程序时实现:接收客户端发送的指向目标数据提供方的前端数据交互请求;将所述前端数据交互请求发送至匹配的中间件序列对所述前端数据交互请求进行处理,其中,所述中间件序列包括至少两个按照设定关联关系连接的中间件,且至少一个中间件指向所述目标数据提供方;将所述中间件序列的输出结果返回至所述客户端。
实施例五
本发明实施例五提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请所有发明实施例提供的信息交互的方法:
也即,该程序被处理器执行时实现:接收客户端发送的指向目标数据提供方的前端数据交互请求;将所述前端数据交互请求发送至匹配的中间件序列对所述前端数据交互请求进行处理,其中,所述中间件序列包括至少两个按照设定关联关系连接的中间件,且至少一个中间件指向所述目标数据提供方;将所述中间件序列的输出结果返回至所述客户端。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种信息交互的方法,其特征在于,包括:
接收客户端发送的指向目标数据提供方的前端数据交互请求;
将所述前端数据交互请求发送至匹配的中间件序列对所述前端数据交互请求进行处理,其中,所述中间件序列包括至少两个按照设定关联关系连接的中间件,且至少一个中间件指向所述目标数据提供方;
将所述中间件序列的输出结果返回至所述客户端。
2.根据权利要求1所述的方法,其特征在于,所述中间件序列中包括:校验中间件以及调度中间件;
将所述前端数据交互请求发送至匹配的中间件序列对所述前端数据交互请求进行处理,包括:
通过校验中间件接收所述前端数据交互请求,使用匹配的数据模型对所述前端数据交互请求进行校验,并在校验通过后,将所述前端数据交互请求发送至调度中间件;
通过调度中间件接收所述前端数据交互请求,使用匹配的适配器向所述目标数据提供方发送所述前端数据交互请求,并将所述目标数据提供方成功反馈的后端响应数据发送至所述校验中间件;
通过校验中间件接收所述后端响应数据,使用匹配的数据模型对所述后端响应数据进行校验,并在校验通过后,将所述后端响应数据输出。
3.根据权利要求2所述的方法,其特征在于,将所述前端数据交互请求发送至匹配的中间件序列对所述前端数据交互请求进行处理,还包括:
如果所述中间件序列中的任一中间件出现处理异常,则所述中间件序列停止对所述前端数据交互请求继续处理,并将与所述处理异常匹配的异常标识作为所述中间件序列的输出结果进行输出。
4.根据权利要求1-3任一项所述的方法,其特征在于,在接收客户端发送的指向目标数据提供方的前端数据交互请求之前,还包括:
预先构造与信息交互需求匹配的至少两个中间件存储于中间件数据库中,并建立不同前端数据交互请求与不同中间件序列之间的对应关系。
5.根据权利要求4所述的方法,其特征在于,还包括:
在所述中间件数据库中添加、删除或者修改中间件;和/或
添加,删除或者修改前端数据交互请求与中间件序列之间的对应关系。
6.根据权利要求2所述的方法,其特征在于,所述校验中间件中的所述数据模型包括:前端数据模型和后端数据模型;
其中,所述前端数据模型用于对前端数据交互请求进行校验,所述后端数据模型用于对后端响应数据进行校验;
所述前端数据模型和所述后端数据模型为JSON格式的数据。
7.根据权利要求2所述的方法,其特征在于,所述适配器包括下述至少一项:数据库适配器、模拟适配器、网络服务适配器以及用户数据适配器;
其中,不同适配器对应不同的数据提供方。
8.一种信息交互装置,其特征在于,包括:
前端请求接收模块,用于接收客户端发送的指向目标数据提供方的前端数据交互请求;
中间件处理模块,用于将所述前端数据交互请求发送至匹配的中间件序列对所述前端数据交互请求进行处理,其中,所述中间件序列包括至少两个按照设定关联关系连接的中间件,且至少一个中间件指向所述目标数据提供方;
输出结果返回模块,用于将所述中间件序列的输出结果返回至所述客户端。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-7中任一所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711328988.4A CN108062382A (zh) | 2017-12-13 | 2017-12-13 | 信息交互的方法、装置、设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711328988.4A CN108062382A (zh) | 2017-12-13 | 2017-12-13 | 信息交互的方法、装置、设备以及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108062382A true CN108062382A (zh) | 2018-05-22 |
Family
ID=62138512
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711328988.4A Pending CN108062382A (zh) | 2017-12-13 | 2017-12-13 | 信息交互的方法、装置、设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108062382A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110888661A (zh) * | 2018-09-11 | 2020-03-17 | 传线网络科技(上海)有限公司 | 数据同步方法及装置 |
CN111338823A (zh) * | 2020-02-26 | 2020-06-26 | 山东汇贸电子口岸有限公司 | 一种基于LowDB实现Angular非父子组件交互的***及方法 |
CN111897843A (zh) * | 2020-06-19 | 2020-11-06 | 深圳奇迹智慧网络有限公司 | 物联网数据流转策略的配置方法、装置和计算机设备 |
CN112202899A (zh) * | 2020-09-30 | 2021-01-08 | 北京百度网讯科技有限公司 | 用于工作流的处理方法、装置、智能工作站和电子设备 |
CN113064734A (zh) * | 2021-03-01 | 2021-07-02 | 青岛海尔科技有限公司 | 数据处理方法、装置、前端中间层组件和前后端分离式开发*** |
CN113985793A (zh) * | 2021-11-22 | 2022-01-28 | 深圳供电局有限公司 | 一种基于中间层的智能设备远程交互方法及*** |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101945056A (zh) * | 2009-06-29 | 2011-01-12 | 软件Ag公司 | 基于策略的jms中间件群的***和/或方法 |
CN102426594A (zh) * | 2011-10-31 | 2012-04-25 | 沈文策 | 对数据库进行操作的方法和*** |
CN104252339A (zh) * | 2013-06-25 | 2014-12-31 | 腾讯科技(深圳)有限公司 | 接口层开发、接口层实现数据交互的方法和装置 |
CN104572099A (zh) * | 2014-12-31 | 2015-04-29 | 深圳市酷开网络科技有限公司 | 基于组件和中间件的低耦合框架数据处理方法及*** |
CN204334634U (zh) * | 2014-12-25 | 2015-05-13 | 唐山蓝普科技有限公司 | 一种基于云计算的中间件平台 |
-
2017
- 2017-12-13 CN CN201711328988.4A patent/CN108062382A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101945056A (zh) * | 2009-06-29 | 2011-01-12 | 软件Ag公司 | 基于策略的jms中间件群的***和/或方法 |
CN102426594A (zh) * | 2011-10-31 | 2012-04-25 | 沈文策 | 对数据库进行操作的方法和*** |
CN104252339A (zh) * | 2013-06-25 | 2014-12-31 | 腾讯科技(深圳)有限公司 | 接口层开发、接口层实现数据交互的方法和装置 |
CN204334634U (zh) * | 2014-12-25 | 2015-05-13 | 唐山蓝普科技有限公司 | 一种基于云计算的中间件平台 |
CN104572099A (zh) * | 2014-12-31 | 2015-04-29 | 深圳市酷开网络科技有限公司 | 基于组件和中间件的低耦合框架数据处理方法及*** |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110888661A (zh) * | 2018-09-11 | 2020-03-17 | 传线网络科技(上海)有限公司 | 数据同步方法及装置 |
CN111338823A (zh) * | 2020-02-26 | 2020-06-26 | 山东汇贸电子口岸有限公司 | 一种基于LowDB实现Angular非父子组件交互的***及方法 |
CN111897843A (zh) * | 2020-06-19 | 2020-11-06 | 深圳奇迹智慧网络有限公司 | 物联网数据流转策略的配置方法、装置和计算机设备 |
CN111897843B (zh) * | 2020-06-19 | 2023-10-31 | 深圳奇迹智慧网络有限公司 | 物联网数据流转策略的配置方法、装置和计算机设备 |
CN112202899A (zh) * | 2020-09-30 | 2021-01-08 | 北京百度网讯科技有限公司 | 用于工作流的处理方法、装置、智能工作站和电子设备 |
CN112202899B (zh) * | 2020-09-30 | 2022-10-25 | 北京百度网讯科技有限公司 | 用于工作流的处理方法、装置、智能工作站和电子设备 |
CN113064734A (zh) * | 2021-03-01 | 2021-07-02 | 青岛海尔科技有限公司 | 数据处理方法、装置、前端中间层组件和前后端分离式开发*** |
CN113985793A (zh) * | 2021-11-22 | 2022-01-28 | 深圳供电局有限公司 | 一种基于中间层的智能设备远程交互方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108062382A (zh) | 信息交互的方法、装置、设备以及存储介质 | |
JP2024088640A (ja) | ボットシステムの性能に関する見解 | |
JP6871943B2 (ja) | モバイルクラウドサービスのための予め形成された命令 | |
CN108519967A (zh) | 图表可视化方法、装置、终端和存储介质 | |
EP3379436B1 (en) | Method and apparatus for testing design of satellite wiring harness and signal processing units | |
CN104765621B (zh) | 一种在集群节点中部署程序的方法和*** | |
US11222016B2 (en) | Dynamic combination of processes for sub-queries | |
CN107404418B (zh) | 互联网产品测试方法、装置、设备及存储介质 | |
CN110049118A (zh) | 消息推送方法、装置、设备及存储介质 | |
CN108319575A (zh) | 一种页面组件的校验方法、装置、服务器和存储介质 | |
US11206300B2 (en) | Providing instructions during remote viewing of a user interface | |
CN110377429A (zh) | 一种实时任务计算的控制方法、装置、服务器及存储介质 | |
CN113505520A (zh) | 用于支持异构联邦学习的方法、装置和*** | |
US20220075609A1 (en) | System and method for application release orchestration and deployment | |
CN111669447A (zh) | 一种页面显示方法、装置、设备和介质 | |
JP2021192214A (ja) | アプリケーションの動作状態を検証する方法および装置 | |
US11176087B2 (en) | Efficient handling of bi-directional data | |
CN110413675A (zh) | 一种实时任务计算的控制方法、装置、服务器及存储介质 | |
US7546374B2 (en) | Methods and arrangements for managing and maintaining a switch environment | |
CN111061522B (zh) | 基于后端生成前端卡片组件的方法、装置、设备及存储介质 | |
CN112527678A (zh) | 用于测试协议的方法、装置、设备以及存储介质 | |
CN108182628A (zh) | 旅游下单的方法、***、设备及存储介质 | |
CN107526838A (zh) | 数据库集群扩容的方法和装置 | |
CN110020235A (zh) | Web浏览器三维模型定位方法、装置、介质和电子设备 | |
CN100385380C (zh) | 管理终端会话的命令的计算机实现方法和*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180522 |