外部设备对接方法、装置、计算机设备及可读存储介质
文献发布时间:2023-06-19 12:02:28
技术领域
本发明涉及云服务的云储存技术领域,尤其涉及一种外部设备对接方法、装置、计算机设备及可读存储介质。
背景技术
现有业内关于企业网关和供应商对接,用于使外部设备(即:供应商的设备)能够调用内部系统的组件的业务,通常因各外部设备的请求报文的格式和规则,以及外部设备需要调用的插件的不同,需要内部系统的控制端靠静态的URL转化至业务系统去开发的方式,或靠人肉写代码的方式,实现所述企业网关和供应商的对接,不仅会耗费大量的时间和精力,影响快速迭代节奏和效率。
发明内容
本发明的目的是提供一种外部设备对接方法、装置、计算机设备及可读存储介质,用于解决现有技术存在的通过静态的URL转化至业务系统去开发或通过人肉写代码的方式,实现企业网关和供应商的对接,所出现的耗费大量的时间和精力,及影响快速迭代节奏和效率的问题。
为实现上述目的,本发明提供一种外部设备对接方法,包括:
接收外部设备发送的请求报文;
通过预置的定制化模板从所述请求报文中提取关键数据,根据所述关键数据构建访问路径;
根据所述访问路径获取插件集合,调用所述插件集合运算所述关键数据生成反馈信息,其中,所述插件集合中预缓存有根据所述关键数据运行生成反馈信息的插件;
将所述反馈信息发送至所述外部设备。
上述方案中,所述接收外部设备发送的请求报文之前,所述方法还包括:
接收外部设备发送的需求信息,获取与所述需求信息对应的组件;其中,所述组件是通过对数据及方法进行封装,所形成的用于完成指定任务的软件单元;
读取所述组件的配置信息,根据所述配置信息对所述组件进行可插拔配置得到插件;
汇总所述插件得到插件集合。
上述方案中,所述根据所述配置信息对所述组件进行可插拔配置得到插件的步骤,包括:
根据所述配置信息构建定义注册表;
根据所述定义注册表实例化所述组件得到组件实现类;
将所述组件实现类录入预置的缓存模块中得到所述组件的插件。
上述方案中,所述汇总所述插件得到插件集合之后,所述方法还包括:
接收外部设备发送的更新信息,提取所述更新信息中的需求编码和自定义代码;
获取与所述需求编码对应的组件并将其设为目标组件,将所述自定义代码配置在所述目标组件之中,以修改所述目标组件并得到修改组件;其中,所述自定义代码定义了组件的数据接口、数据源、数据过滤器和数据轮询频次;
对所述修改组件进行可插拔式配置得到修改插件,将所述修改插件载入所述插件集合中以替换与所述目标组件对应的插件,以生成新的插件集合。
上述方案中,所述通过预置的定制化模板从所述请求报文中提取关键数据,根据所述关键数据构建访问路径的步骤,包括:
提取所述定制化模板中的字段,并将所述字段载入预置的正则表达式中得到提取表达式;
根据所述提取表达式从所述请求报文中提取关键数据;
从所述关键数据中提取地址信息,并根据预置的路径规范整合排布所述地址信息以构建访问路径。
上述方案中,所述根据所述访问路径获取插件集合之前,所述方法还包括:
提取所述关键数据中的请求签名信息,判断所述请求签名信息是否与预置的标准签名信息一致;若否,则向所述外部设备反馈拒绝信息;
所述将所述反馈信息发送至所述外部设备之后,所述方法还包括:
将所述反馈信息上传至区块链中。
上述方案中,所述根据所述访问路径获取插件集合,调用所述插件集合运算所述关键数据生成反馈信息的步骤,包括:
提取所述访问路径中的第三方标识,从所述缓存模块中获取与所述第三方标识对应的插件集合;
提取所述访问路径中的服务ID,从所述插件集合中获取与所述服务ID对应的插件并将其设为目标插件;
提取所述关键数据中的请求业务报文,调用所述目标插件运行所述请求业务报文生成反馈信息。
为实现上述目的,本发明还提供一种外部设备对接装置,包括:
输入模块,用于接收外部设备发送的请求报文;
提取构建模块,用于通过预置的定制化模板从所述请求报文中提取关键数据,根据所述关键数据构建访问路径;
插件调用模块,用于根据所述访问路径获取插件集合,调用所述插件集合运算所述关键数据生成反馈信息,其中,所述插件集合中预缓存有根据所述关键数据运行生成反馈信息的插件;
输出模块,用于将所述反馈信息发送至所述外部设备。
为实现上述目的,本发明还提供一种计算机设备,其包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述计算机设备的处理器执行所述计算机程序时实现上述外部设备对接方法的步骤。
为实现上述目的,本发明还提供一种计算机可读存储介质,所述可读存储介质上存储有计算机程序,所述可读存储介质存储的所述计算机程序被处理器执行时实现上述外部设备对接方法的步骤。
本发明提供的外部设备对接方法、装置、计算机设备及可读存储介质,通过定制化模板即可识别各外部设备不同请求报文的格式和规则的关键数据,并通过预缓存有插件的插件集合根据所述关键数据即可调用各外部设备需要调用的插件,因此,无需通过静态的URL转化至业务系统去开发,或人肉写代码,即可使外部设备能够调用内部系统的组件,进而实现企业网关与供应商的对接,极大的降低了企业网关与供应商对接业务所耗费的时间和精力,并且通过配置定制化模板中的字段,和插件集合中的插件,提高了所述对接业务的迭代节奏和效率。
附图说明
图1为本发明外部设备对接方法实施例一的流程图;
图2为本发明外部设备对接方法实施例二中外部设备对接方法的环境应用示意图;
图3是本发明外部设备对接方法实施例二中外部设备对接方法的具体方法流程图;
图4为本发明外部设备对接装置实施例三的程序模块示意图;
图5为本发明计算机设备实施例四中计算机设备的硬件结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供的外部设备对接方法、装置、计算机设备及可读存储介质,适用于云服务的云传输技术领域,为提供一种基于输入模块、提取构建模块、插件调用模块、输出模块的外部设备对接方法。本发明通过接收外部设备发送的请求报文,通过预置的定制化模板从所述请求报文中提取关键数据,根据所述关键数据构建访问路径,根据所述访问路径获取插件集合,调用所述插件集合运算所述关键数据生成反馈信息,将所述反馈信息发送至所述外部设备。
实施例一:
请参阅图1,本实施例的一种外部设备对接方法,包括:
S105:接收外部设备发送的请求报文。
S107:通过预置的定制化模板从所述请求报文中提取关键数据,根据所述关键数据构建访问路径。
S109:根据所述访问路径获取插件集合,调用所述插件集合运算所述关键数据生成反馈信息,其中,所述插件集合中预缓存有根据所述关键数据运行生成反馈信息的插件。
S110:将所述反馈信息发送至所述外部设备。
在示例性的实施例中,通过定制化模板从所述请求报文中获取组件运行所需的参数,即所述关键数据,并根据所述关键数据构建访问路径,即该请求报文需要调用的插件所在位置;不仅避免了因采用不同报文格式和规范的外部设备发送请求报文,导致组件无法运行报文的问题发生,还因所述定制化模板对接收到的请求报文进行了规范化处理,即:提取其中的关键数据并根据该关键数据构建同一格式的访问路径,方法简单可靠,极大的提高了开发效率,降低了开发强度。
根据所述访问路径获取插件集合,其中,所述插件集合中具有根据外部设备需求所设定的,用于根据所述关键数据运行生成反馈信息的可插拔式的组件,即:插件,所述插件集合预存在预置的缓存模块中;识别所述插件集合中与所述关键数据中的服务ID(serviceId)对应的插件并将其设为目标组件,调用所述目标组件运行所述关键数据中的请求业务报文得到反馈信息,以确保各外部设备能够调用其所需的组件并获得相应的反馈信息;同时,本步骤通过调用预缓存在插件集合中的插件运行所述关键数据,使请求报文无需调用运行内部系统底层的代码,或调用运行在内部系统中间层/控制层的组件,而仅需调用预缓存的插件即可获得反馈信息,提高了外部设备调用插件的速度和效率。
综上,内部系统的控制端仅需通过定制化模板即可识别各外部设备不同请求报文的格式和规则的关键数据,并通过预缓存有插件的插件集合根据所述关键数据即可调用各外部设备需要调用的插件,因此,无需通过静态的URL转化至业务系统去开发,或人肉写代码,即可使外部设备能够调用内部系统的组件,进而实现企业网关与供应商的对接,极大的降低了企业网关与供应商对接业务所耗费的时间和精力,并且通过配置定制化模板中的字段,和插件集合中的插件,提高了所述对接业务的迭代节奏和效率。
通过提取所述关键数据的第三方标识(cropId),将所述反馈信息发送至与所述第三方标识(cropId)对应的外部设备,以保证反馈信息能够准确发送给对应的外部设备。
实施例二:
本实施例为上述实施例一的一种具体应用场景,通过本实施例,能够更加清楚、具体地阐述本发明所提供的方法。
下面,以在运行有外部设备对接方法的服务器中,从请求报文中提取关键数据并构建访问路径,再调用与访问路径对应的插件集合,调用插件集合运算关键数据生成反馈信息为例,来对本实施例提供的方法进行具体说明。需要说明的是,本实施例只是示例性的,并不限制本发明实施例所保护的范围。
图2示意性示出了根据本申请实施例二的外部设备对接方法的环境应用示意图。
在示例性的实施例中,外部设备对接方法所在的网关服务器2通过网络分别连接内部系统3、外部设备4以及所述内部系统3的控制端31;所述网关2可以通过一个或多个网络3提供服务,网络3可以包括各种网络设备,例如路由器,交换机,多路复用器,集线器,调制解调器,网桥,中继器,防火墙,代理设备和/或等等。网络3可以包括物理链路,例如同轴电缆链路,双绞线电缆链路,光纤链路,它们的组合和/或类似物。网络3可以包括无线链路,例如蜂窝链路,卫星链路,Wi-Fi链路和/或类似物;所述外部设备4可为智能手机、平板电脑、笔记本电脑、台式电脑等计算机设备。
图3是本发明一个实施例提供的一种外部设备对接方法的具体方法流程图,该方法具体包括步骤S201至S210。
S201:接收外部设备发送的需求信息,获取与所述需求信息对应的组件;其中,所述组件是通过对数据及方法进行封装,所形成的用于完成指定任务的软件单元。
S202:读取所述组件的配置信息,根据所述配置信息对所述组件进行可插拔配置得到插件;
S203:汇总所述插件得到插件集合。
为避免在内部系统中组件的基础上编制大量定制化代码,使其符合外部设备的需求,造成开发强度高,效率低的问题发生,本步骤通过从预置的框架中获取组件,并对所述组件进行可插拔配置得到插件的方式,使各插件之间解耦,进而使所述插件能够根据外部设备的需求任意组合,因此,仅需简单的插件配置操作即可生成缓存有插件的插件集合,极大的提高了组件的配置及使用效率,进而提高了开发效率,降低了开发强度。
同时,为根据外部设备的需求对其有针对性的配置所需的组件,本步骤通过识别与所述需求对应的插件并形成插件集合,此时,该插件集合中的插件均为用于满足外部设备业务需求的组件;将所述插件集合存放至所述缓存模块中,以便于外部设备调用所述组合集合中的插件,避免了从框架的数据库/中间层中调用组件,导致调用效率低的问题发生。
在一个优选的实施例中,所述步骤S201接收外部设备发送的需求信息,获取与所述需求信息对应的组件的步骤,包括:
S11:接收外部设备发送的需求信息,提取所述需求信息中的需求编号。
S12:从预置的内部系统中获取与所述需求编号对应的组件。
示例性地,提取接收到的需求信息中的需求编号m,从内部系统中提取与需求编号m对应的组件bean-m。
所述内部系统中包括但不限于以下组件:熔断组件、限流组件、防刷组件、风控组件、解密组件、验签组件、前置组装组件、RPC调用组件、加密组件、加签组件、后置组装组件。
在一个优选的实施例中,步骤S202读取所述组件的配置信息,根据所述配置信息对所述组件进行可插拔配置得到插件,包括:
S21:根据所述配置信息构建定义注册表。
S22:根据所述定义注册表实例化所述组件得到组件实现类。
S23:将所述组件实现类录入预置的缓存模块中得到所述组件的插件。
示例性地,读取bean-m的配置信息bean-m.xml,调用spring容器(spring Ioc)根据bean-m.xml构建bean-m定义注册表,调用spring容器根据所述bean-m定义注册表实例化bean-m,以得到bean-m实现类,将bean-m实现类存放至spring容器的缓存池(即:所述缓存模块)中得到所述组件bean-m的插件bean-m。
需要说明的是,spring容器,即spring Ioc(Inverse Of Control,控制反转),其为spring框架中用于管理对象,底层可以理解为是一个map集合的模块,spring框架是Java平台的一个开源的全栈(Full-stack)应用程序框架和控制反转容器实现,一般被直接称为Spring。
在一个优选的实施例中,步骤S203汇总所述插件得到插件集合;步骤,包括:
S31:提取所述需求信息中的第三方标识,其中,所述第三方标识为所述外部设备唯一性标识。
S32:汇总缓存模块中的插件形成插件集合,并将所述第三方标识与所述插件集合关联。
示例性地,提取需求信息中的第三方标识a1,汇总缓存池中的插件bean-m、bean-n、bean-l得到插件集合bean-mnl,将所述第三方标识a1载入所述插件集合的名称得到插件集合bean-mnl-a1。
因此,内部系统的控制端通过需求信息获取组件,对所述组件进行可插拔配置得到插件,汇总所述插件得到插件集合,实现了快速配置外部设备所需插件的技术效果,通过在所述缓存模块中汇总所述插件集合并使其与外部设备的第三方标识关联,实现快速配置及刷新外部设备所需的插件的技术效果。
在一实施例中,所述汇总所述插件得到插件集合之后,还包括:
S204:根据外部设备发送的更新信息修改所述插件集合中的所述插件。
为保证插件集合中的插件能够满足外部设备的特定需求,本步骤通过识别所述插件集合中与所述更新信息对应的插件作为待修改组件,并根据所述更新信息对所述待修改组件进行修改,得到所述修改后的插件,再将所述修改后的插件载入所述插件集合之中,以动态刷新所述插件集合,进而满足外部设备的特定需求,扩大了插件的适用范围。
在一个优选的实施例中,所述根据外部设备发送的更新信息修改所述插件集合中的所述插件,并将修改后的所述插件载入所述插件集合中的步骤,包括:
S41:接收外部设备发送的更新信息,提取所述更新信息中的需求编码和自定义代码;
S42:获取与所述需求编码对应的组件并将其设为目标组件,将所述自定义代码配置在所述目标组件之中,以修改所述目标组件并得到修改组件;其中,所述自定义代码定义了组件的数据接口、数据源、数据过滤器和数据轮询频次。
S43:对所述修改组件进行可插拔式配置得到修改插件,将所述修改插件载入所述插件集合中以替换与所述目标组件对应的插件,以生成新的插件集合。
示例性地,接收外部设备发送的更新信息,提取所述更新信息中的需求编码m和自定义代码A;获取与所述需求编码m对应的组件bean-m,将所述自定义代码A配置在组件bean-m之中得到组件bean-m1,调用spring容器读取bean-m1的配置信息bean-m1.xml,并根据bean-m1.xml构建bean-m1定义注册表,及根据所述bean-m定义注册表实例化bean-m1以得到bean-m1实现类,将bean-m1实现类存放至spring容器的缓存池(即:所述缓存模块)中得到所述组件bean-m1的插件bean-m1,并删除所述缓存池中的插件bean-m,以生成新的插件集合,进而实现动态刷新插件集合的技术效果,进而实现了插件集合的热更新。
需要说明的是,所述自定义代码定义了组件的数据接口、数据源、数据过滤器和数据轮询频次。
其中,数据接口展示了组件所包含的数据字段、对应的映射以及数据响应状态。字段:展示组件的默认字段。映射:当配置的数据源中的字段与组件的默认字段名称不一致时,可以在映射输入框中,输入您数据源中的字段,将这些字段映射到组件对应的字段上。无需修改数据源中的字段,就可以实现数据的实时匹配。状态:可实时展示组件的数据响应状态,响应成功时显示为匹配成功。
受控模式,包括:打开开关,组件初始化状态下不请求数据,仅通过回调ID或蓝图编辑器配置的方法发起请求数据;关闭开关,可以使用自动更新请求数据。开关默认为关闭状态。
自动更新请求,即当选中自动更新请求,可以设置动态轮询,还可以手动输入轮询的时间频次。清除后则不会自动更新,需要手动刷新页面,或通过蓝图编辑器和回调ID事件来触发请求更新数据。
数据源,即:组件默认使用静态数据源。单击配置数据源,可在设置数据源页面修改数据源的类型和脚本,详情请参见设置组件数据源。
数据过滤器,即提供数据结构转换、筛选和一些简单的计算功能。单击添加过滤器,可在设置数据源页面配置数据过滤器脚本,详情请参见组件数据过滤器使用说明章节。
数据响应结果,即:实时展示了组件所使用的数据。当组件数据源发生变化时,数据响应结果会对应展示最新的数据。如果系统反应延迟,您可以单击右侧的刷新数据图标,获取组件的最新数据。
S205:接收外部设备发送的请求报文。
本步骤中,所述请求报文可为http请求报文,也可为https请求报文。
需要说明的是,运行有外部设备对接方法的服务器与所述外部设备之间进行通信连接,所述通信连接的是基于TCP/IP协议网络模型所构建的,其中,TCP/IP协议提供了点对点链接的机制,将资料应该如何封装、寻址、传输、路由以及在目的地如何接收,都加以标准化。
S206:创建记载有与所述插件的入参对应的字段的定制化模板,其中,所述字段用于提取所述请求报文中的关键数据。
为获得请求报文中的关键数据,以消除因格式不同导致请求报文无法运行的问题发生,本步骤通过创制记载有用于提取所述请求报文中关键数据的字段,其中,所述字段是所述插件的入参的元数据,因此,仅需通过所述定制化模板,即可识别出请求报文中用于调用插件的关键数据,因此,能够适配各种类型的请求报文,提高了对外部设备的适应性。
在一个优选的实施例中,所述创建记载有与所述插件的入参对应的字段的定制化模板的步骤,包括:
S61:获取空置模板。
本步骤中,所述空置模板为xml文档。
S62:获取控制端发送的字段,并将所述字段载入所述空置模板中得到所述定制化模板。
示例性地,所述入参对应的字段包括:reqTime(请求时间)、reqNum(请求流水号)、bizContent(请求业务报文)、bizSign(请求签名)、corpId(第三方标识)、serviceId(服务ID)。
S207:通过预置的定制化模板从所述请求报文中提取关键数据,根据所述关键数据构建访问路径。
为避免因不同的外部设备采用不同的报文格式和规范,导致组件无法运行报文的问发生,通常采用对组件编写大量的定制化代码用以使所述组件能够运行不同格式的报文,极大的提高了开发强度,降低开发效率。本步骤通过定制化模板从所述请求报文中获取组件运行所需的参数,即所述关键数据,并根据所述关键数据构建访问路径,即该请求报文需要调用的插件所在位置;不仅避免了因采用不同报文格式和规范的外部设备发送请求报文,导致组件无法运行报文的问题发生,还因所述定制化模板对接收到的请求报文进行了规范化处理,即:提取其中的关键数据并根据该关键数据构建同一格式的访问路径,方法简单可靠,极大的提高了开发效率,降低了开发强度。
在一个优选的实施例中,所述通过预置的定制化模板从所述请求报文中提取关键数据,根据所述关键数据构建访问路径的步骤,包括:
S71:提取所述定制化模板中的字段,并将所述字段载入预置的正则表达式中得到提取表达式;
S72:根据所述提取表达式从所述请求报文中提取关键数据;
S73:从所述关键数据中提取地址信息,并根据预置的路径规范整合排布所述地址信息以构建访问路径。
示例性地,基于上述举例,得到reqTime(请求时间)、reqNum(请求流水号)、bizContent(请求业务报文)、bizSign(请求签名)、corpId(第三方标识)、serviceId(服务ID)所对应的信息,即所述关键数据;提取关键数据中的地址信息,即:corpId(第三方标识)、serviceId(服务ID)所对应的信息,再通过预置路径规范:/{corpId}/{serviceId}/request,得到访问路径URL,因此,通过所述URL能够快速准确的获取外部设备所需的插件集合。
S208:提取所述关键数据中的请求签名信息,判断所述请求签名信息是否与预置的标准签名信息一致;
若是,则执行S209;
若否,则向所述外部设备反馈拒绝信息并结束。
本步骤中,所述标准签名信息是外部设备在所述内部系统中注册的,用于验证所述外部设备真伪的唯一性信息,例如:密码、数字签名、指纹信息等。通过将请求签名信息与标准签名信息进行比对,如果比对不一致,则判定该外部设备无权调用插件集合中的插件,即直接拒绝外部设备的请求,因此,保证了插件集合的安全性。
于所述图3中,所述S208通过以下标注展示:
S81:提取所述关键数据中的请求签名信息,判断所述请求签名信息是否与预置的标准签名信息一致;
S82:若是,则执行S209;
S83:若否,则向所述外部设备反馈拒绝信息并结束。
S209:根据所述访问路径获取插件集合,调用所述插件集合运算所述关键数据生成反馈信息,其中,所述插件集合中预缓存有根据所述关键数据运行生成反馈信息的插件。
本步骤中,所述插件集合中具有根据外部设备需求所设定的,用于根据所述关键数据运行生成反馈信息的可插拔式的组件,即:插件,所述插件集合预存在预置的缓存模块中。为确保各外部设备能够调用其所需的组件并获得相应的反馈信息,本步骤通过根据所述访问路径获取插件集合,从缓存模块中根据所述访问路径获取插件集合,识别所述插件集合中与所述关键数据中的服务ID(serviceId)对应的插件并将其设为目标组件,调用所述目标组件运行所述关键数据中的请求业务报文得到反馈信息。
同时,本步骤通过调用预缓存在插件集合中的插件运行所述关键数据,使请求报文无需调用运行内部系统底层的代码,或调用运行在内部系统中间层/控制层的组件,而仅需调用预缓存的插件即可获得反馈信息,提高了外部设备调用插件的速度和效率。
在一个优选的实施例中,所述根据所述访问路径获取插件集合,调用所述插件集合运算所述关键数据生成反馈信息的步骤,包括:
S91:提取所述访问路径中的第三方标识(cropId),从所述缓存模块中获取与所述第三方标识(cropId)对应的插件集合。
S92:提取所述访问路径中的服务ID(serviceId),从所述插件集合中获取与所述服务ID(serviceId)对应的插件并将其设为目标插件。
S93:提取所述关键数据中的请求业务报文,调用所述目标插件运行所述请求业务报文生成反馈信息。
示例性地,基于上述举例,根据访问路径中的第三方标识获得了插件集合bean-mnl,根据访问路径中的服务ID:m,从该插件集合中获得插件bean-m,即所述目标插件,调用插件bean-m运行所述关键数据中的请求业务报文,即:bizContent对应的信息,得到反馈信息。
S210:将所述反馈信息发送至所述外部设备。
为保证反馈信息能够准确发送给对应的外部设备,本步骤通过提取所述关键数据的第三方标识(cropId),将所述反馈信息发送至与所述第三方标识(cropId)对应的外部设备。
优选地,所述将所述反馈信息发送至所述外部设备之后,所述方法还包括:
将所述反馈信息上传至区块链中。
需要说明的是,基于反馈信息得到对应的摘要信息,具体来说,摘要信息由反馈信息进行散列处理得到,比如利用sha256s算法处理得到。将摘要信息上传至区块链可保证其安全性和对用户的公正透明性。用户设备可以从区块链中下载得该摘要信息,以便查证反馈信息是否被篡改。本示例所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
实施例三:
请参阅图4,本实施例的一种外部设备对接装置1,包括:
输入模块15,用于接收外部设备发送的请求报文;
提取构建模块17,用于通过预置的定制化模板从所述请求报文中提取关键数据,根据所述关键数据构建访问路径;
插件调用模块19,用于根据所述访问路径获取插件集合,调用所述插件集合运算所述关键数据生成反馈信息,其中,所述插件集合中预缓存有根据所述关键数据运行生成反馈信息的插件;
输出模块10,用于将所述反馈信息发送至所述外部设备。
可选的,所述外部设备对接装置1还包括:
需求输入模块11,用于接收外部设备发送的需求信息,获取与所述需求信息对应的组件;
插拔配置模块12,用于读取所述组件的配置信息,根据所述配置信息对所述组件进行可插拔配置得到插件;
插件汇总模块13,用于汇总所述插件得到插件集合;其中,所述组件是通过对数据及方法进行封装,所形成的用于完成指定任务的软件单元。
可选的,所述外部设备对接装置1还包括:
集合修改模块14,用于根据外部设备发送的更新信息修改所述插件集合中的所述插件。
可选的,所述集合修改模块14还包括:
信息提取单元141,用于接收外部设备发送的更新信息,提取所述更新信息中的需求编码和自定义代码;
目标修改单元142,用于获取与所述需求编码对应的组件并将其设为目标组件,将所述自定义代码配置在所述目标组件之中,以修改所述目标组件并得到修改组件;
插件替换单元143,用于对所述修改组件进行可插拔式配置得到修改插件,将所述修改插件载入所述插件集合中以替换与所述目标组件对应的插件。
可选的,所述外部设备对接装置1还包括:
模板创建模块16,用于创建记载有与所述插件的入参对应的字段的定制化模板,其中,所述字段用于提取所述请求报文中的关键数据。
可选的,所述模板创建模块16还包括:
模板获取单元161,用于获取空置模板;
模板生成单元162,用于获取控制端发送的字段,并将所述字段载入所述空置模板中得到所述定制化模板。
可选的,所述提取构建模块17还包括:
表达式构建单元171,用于提取所述定制化模板中的字段,并将所述字段载入预置的正则表达式中得到提取表达式;
信息提取单元172,用于根据所述提取表达式从所述请求报文中提取关键数据;
路径构建单元173,用于从所述关键数据中提取地址信息,并根据预置的路径规范整合排布所述地址信息以构建访问路径。
可选的,所述外部设备对接装置1还包括:
签名判断模块18,用于提取所述关键数据中的请求签名信息,判断所述请求签名信息是否与预置的标准签名信息一致;若是,则调用插件调用模块17;若否,则向所述外部设备反馈拒绝信息并结束。
可选的,所述插件调用模块19还包括:
集合识别单元191,用于提取所述访问路径中的第三方标识,从所述缓存模块中获取与所述第三方标识对应的插件集合。
插件识别单元192,用于提取所述访问路径中的服务ID,从所述插件集合中获取与所述服务ID对应的插件并将其设为目标插件。
报文运算单元193,用于提取所述关键数据中的请求业务报文,调用所述目标插件运行所述请求业务报文生成反馈信息。
本技术方案涉及云服务的云传输技术,并运行在网关服务器之中,其通过定制化模板从所述请求报文中提取关键数据,根据所述关键数据构建访问路径,根据所述访问路径获取插件集合,调用所述插件集合运算所述关键数据生成反馈信息,并将所述反馈信息发送至所述外部设备的方法,使所述网关服务器成为云存储网关。
实施例四:
为实现上述目的,本发明还提供一种计算机设备5,实施例三的外部设备对接装置的组成部分可分散于不同的计算机设备中,计算机设备5可以是执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个应用服务器所组成的服务器集群)等。本实施例的计算机设备至少包括但不限于:可通过系统总线相互通信连接的存储器51、处理器52,如图5所示。需要指出的是,图5仅示出了具有组件-的计算机设备,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
本实施例中,存储器51(即可读存储介质)包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器51可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,存储器51也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器51还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,存储器51通常用于存储安装于计算机设备的操作系统和各类应用软件,例如实施例三的外部设备对接装置的程序代码等。此外,存储器51还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器52在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器52通常用于控制计算机设备的总体操作。本实施例中,处理器52用于运行存储器51中存储的程序代码或者处理数据,例如运行外部设备对接装置,以实现实施例一和实施例二的外部设备对接方法。
实施例五:
为实现上述目的,本发明还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,程序被处理器52执行时实现相应功能。本实施例的计算机可读存储介质用于存储实现所述外部设备对接方法的计算机程序,被处理器52执行时实现实施例一和实施例二的外部设备对接方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
- 外部设备对接方法、装置、计算机设备及可读存储介质
- 计算机外部设备管理方法、装置、设备及可读存储介质