一种异构通信方法、装置以及设备
文献发布时间:2023-06-19 19:38:38
技术领域
本说明书涉及通信技术领域,尤其涉及一种异构通信方法、装置以及设备。
背景技术
当应用系统在和外部机构合作时,存在大量适配外部各种机构协议的诉求,包括报文协议、通信协议、安全策略等方面,如何高效快速适配各种外部机构协议对于提升业务接入效率具有重要意义、在适配大量机构差异化报文同时保证网络互联系统(通常可以称为网关系统)稳定性是业务平稳运行的核心。不同外部机构的通信协议不一,网关需屏蔽掉各种异构适配,向业务系统提供统一的报文协议,方便业务系统使用。
但是应用目前的异构通信方法,异构节点无法快递接入网络互联系统,从而使业务节点与异构节点可以通信不方便,并且异构节点的通信协议变更时,网络互联系统的稳定性差。
发明内容
本说明书一个或多个实施例提供一种异构通信方法、装置、设备以及存储介质,用以解决如下技术问题:异构节点无法快递接入网络互联系统,从而使业务节点与异构节点可以通信不方便,并且异构节点的通信协议变更时,网络互联系统的稳定性差。
为解决上述技术问题,本说明书一个或多个实施例是这样实现的:
本说明书一个或多个实施例提供的一种异构通信方法,适用于网络互联系统,包括:
获取异构节点对应的异构配置信息,并在校验通过后将异构配置信息同步至网络互联系统中线上环境对应的网络互联设备;
基于服务接口接收业务节点发送的统一请求报文;
根据预设服务接口索引,获取服务接口对应的异构配置信息;
基于异构配置信息,对统一请求报文进行组装,得到异构节点对应的异构请求报文;
将异构请求报文发送给异构节点,并接收异构节点返回的异构响应报文;
根据异构配置信息,将异构响应报文转换成统一响应报文,并发送给业务节点。
本说明书一个或多个实施例提供的一种异构通信装置,适用于网络互联设备中的配置终端,包括:
配置单元,用于获取异构节点对应的异构配置信息,并在校验通过后将异构配置信息同步至网络互联系统中线上环境对应的网络互联设备。
本说明书一个或多个实施例提供的一种异构通信装置,适用于网络互联设备中的运行终端,包括:
请求接收单元,用于基于服务接口接收业务节点发送的统一请求报文;
获取单元,用于根据预设服务接口索引,获取服务接口对应的异构配置信息;
组装单元,用于基于异构配置信息,对统一请求报文进行组装,得到异构节点对应的异构请求报文;
通信单元,用于将异构请求报文发送给异构节点,并接收异构节点返回的异构响应报文;
解析单元,用于根据异构配置信息,将异构响应报文转换成统一响应报文,并发送给业务节点。
本说明书一个或多个实施例提供的一种异构通信设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
基于服务接口接收业务节点发送的统一请求报文;
根据预设服务接口索引,获取所述服务接口对应的异构配置信息;
基于所述异构配置信息,对所述统一请求报文进行组装,得到所述异构节点对应的异构请求报文;
将所述异构请求报文发送给所述异构节点,并接收所述异构节点返回的异构响应报文;
根据所述异构配置信息,将所述异构响应报文转换成统一响应报文,并发送给所述业务节点。
本说明书一个或多个实施例提供的一种非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:
基于服务接口接收业务节点发送的统一请求报文;
根据预设服务接口索引,获取所述服务接口对应的异构配置信息;
基于所述异构配置信息,对所述统一请求报文进行组装,得到所述异构节点对应的异构请求报文;
将所述异构请求报文发送给所述异构节点,并接收所述异构节点返回的异构响应报文;
根据所述异构配置信息,将所述异构响应报文转换成统一响应报文,并发送给所述业务节点。
本说明书一个或多个实施例采用的上述至少一个技术方案能够达到以下有益效果:
当新的异构节点接入网络互联系统后,异构配置信息可以快速同步到线上环境对应的网络互联设备中,无需Git仓库,避免了存储路径、缓存等各种同步延迟与不一致风险,系统运行链路清晰,可维护性强。从而可以方便异构节点快速接入网络互联系统,从而使业务节点与异构节点可以快速通信,并且保证异构节点的通信协议变更时,网络互联系统的稳定性。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本说明书一个或多个实施例提供的异构通信系统的场景示意图;
图2a是本说明书一个或多个实施例提供的异构通信方法的第一种流程示意图;
图2b是本说明书一个或多个实施例提供的异构通信方法的第二种流程示意图;
图2c是本说明书一个或多个实施例提供的异构通信方法的第三种流程示意图;
图3a是本说明书一个或多个实施例提供的异构通信装置的第一种结构示意图;
图3b是本说明书一个或多个实施例提供的异构通信装置的第二种结构示意图;
图4是本说明书一个或多个实施例提供的异构通信系统的终端的架构示意图;
图5a是本说明书一个或多个实施例提供的提供的运行设备运行流程示意图;
图5b是本说明书一个或多个实施例提供的异构配置上线流程示意图;
图5c是本说明书一个或多个实施例提供的运行设备运行流程示意图。
具体实施方式
本说明书实施例提供一种异构通信方法、装置、设备以及存储介质。
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本说明书实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
目前主要有两种方案,第一种是:利用Git仓库存储异构velocity脚本、groovy脚本,基于velocity脚本和groovy脚本满足不同机构的差异化报文诉求,不同脚本只做一个模块功能,按不同的机构将Git地址存储于数据库,利用定时任务将Git仓库的脚本同步至服务器,运行过程中去服务器对应目录加载脚本实现差异化报文的适配,但是这种方式周期难以控制,无法实时同步到Git最新的脚本变更,并且网关系统加载过程中需要多次同步、转换,此外使用本地缓存、分布式缓存引入各种数据不一致风险,整体设计臃肿、使用复杂、使用门槛高,接入效率低下。机构上线之后经常会有报文、通信地址、密钥更换等诉求,设计过程中更多只考虑功能实现,在后续外部机构变更时无法支持配置平稳过渡,隔离性差、灰度能力差、应急能力弱,应急只能人工手动操作Git仓库,应急效率低而且机构变更时修改配置的风险过大,难以维持业务平稳有序迭代发展,系统高可用能力差,稳定性不足。第二种是:基于配置化的异构报文网关系统,基于产品化配置后台提供各种原子能力(如HTTP通信能力、算法签名能力、字符串转换能力等),完全利用配置实现对机构差异化报文的适配。但是,随着网关系统接入的异构节点(即外部机构)和业务节点(即业务系统)越来越多,面临的通信场景越来越复杂,基于配置化的原子能力无法枚举所有的差异化场景,会出现异构节点无法接入网关系统的问题,届时因原子能力不足导致接入效率会大打折扣,无法满足业务发展。
因此,需要一种快速适配外部机构协议的网关系统(即网络互联设备)设计方法,方便异构节点(即外部机构)快速接入的同时保证异构节点的协议变更时系统的稳定性。
基于此,本发明实施例可以获取异构节点对应的异构配置信息,并在校验通过后将异构配置信息同步至网络互联系统中线上环境对应的网络互联设备;基于服务接口接收业务节点发送的统一请求报文;根据预设服务接口索引,获取服务接口对应的异构配置信息;基于异构配置信息,对统一请求报文进行组装,得到异构节点对应的异构请求报文;将异构请求报文发送给异构节点,并接收异构节点返回的异构响应报文;根据异构配置信息,将异构响应报文转换成统一响应报文,并发送给业务节点。本申请实施例当新的异构节点接入网络互联系统后,异构配置信息可以快速同步到每一个网络互联设备中,无需Git仓库,避免了存储路径、缓存等各种同步延迟与不一致风险,系统运行链路清晰,可维护性强。从而可以方便异构节点快速接入网络互联系统,从而使业务节点与异构节点可以快速通信,并且保证异构节点的通信协议变更时,网络互联系统的稳定性。
比如,参考图1,异构通信系统可以包括网络互联设备(比如网关),以及终端和/或服务器,比如业务节点所在的业务终端和异构节点所在的异构服务器。包含不同环境的设备,比如线下环境对应的设备、预发环境对应的设备、线上环境对应的设备等,下文将会进行详细解释,此处不再赘述。
本发明中的网络互联系统是一种面向业务节点的异构网关系统,具体的是指满足各种业务节点与异构节点之间的通信协议适配,一般包括报文协议的适配(如报文替换、报文格式转换、报文排序等差异化处理)、报文通信方式的适配(如HTTP协议、HTTPS协议、TCP协议等)、报文安全策略的适配(如各种签名算法、加解密算法、摘要算法等)。不同机构(异构节点)的通信协议不一,网络互联设备需屏蔽掉各种异构适配,向业务节点提供统一的报文协议,方便业务节点使用。
其中,终端可以为手机、平板电脑、笔记本电脑等终端设备,也可以为穿戴设备、智能音箱、智能家电等智能终端。
上述图1的例子只是实现本发明实施例的一个系统架构实例,本发明实施例不限于上述图1所示的系统结构,基于该系统架构,提出本发明各个实施例。
以下分别进行详细说明。需说明的是,以下实施例的序号不作为对实施例优选顺序的限定。
本实施例将从第一异构通信装置的角度进行描述,该第一异构通信装置具体可以集成在终端设备中,该终端设备可以是手机、平板电脑、笔记本电脑或个人计算机(PC,Personal Computer)等。
图2为本说明书一个或多个实施例提供的一种异构通信方法的流程示意图。该方法可以应用于不同的业务领域,比如,互联网金融业务领域、电商业务领域、即时通信业务领域、游戏业务领域、公务业务领域等。该流程可以由相应领域的计算设备(比如,网关系统中的配置设备和运行设备)执行,流程中的某些输入参数或者中间结果允许人工干预调节,以帮助提高准确性。
图2a中的流程可以包括配置过程和运行过程,具体可以包括以下步骤:
101、获取异构节点对应的异构配置信息,并将异构配置信息同步至网络互联系统中的所有网络互联设备。
其中,异构节点指的是与业务节点采用不同通信协议的节点,在业务场景中,业务节点需要与异构节点通信,交换信息获取异构节点提供的服务。
在本申请实施例中,当新的异构节点接入网络互联系统后,异构配置信息可以快速同步到线上环境对应的网络互联设备中,迅速投入到实际使用中,进行通信,无需Git仓库,避免了存储路径、缓存等各种同步延迟与不一致的风险,系统运行链路清晰,可维护性强。
参考图5b和图5c,在一个实施例中,上述步骤具体包括以下步骤:
获取异构节点对应的异构配置信息;
将所述异构配置信息同步至线下环境对应的设备中,对所述异构配置信息进行线下环境验证;
当线下环境验证通过时,将所述异构配置信息同步至预发环境对应的设备中,并进行配置校验;
在所述预发环境中配置校验通过后,将所述异构配置信息同步至线下环境对应的所有网络互联设备。
新的异构节点接入时,对应配置人员可根据服务接口需求完成安全、通信、报文异构脚本的配置与开发,并将其录入配置终端的配置中心,配置中心可利用微服务中的分布式配置中间件(如Apollo等)实时将异构配置信息推送到网关对应环境下的设备,首先同步到线下环境用于与业务节点、异构节点共同联调测试链路的可用性。线下环境验证无误后,可将配置变更到预发环境的设备。
值得注意的是,因为预发环境相当于准生产环境,为了保证异构网关系统的稳定性,此处利用变更核心系统执行变更防御规则校验,用来保障配置变更时网络互联设备的稳定和安全。
参考图5b,本申请的变更防御规则校验指的是:在将异构配置信息推送到预发环境对应的网络互联设备之前,进行前置校验,具体可以进行如脚本风险监测扫描(防止危险代码加载)、配置信息完整性校验等,在将异构配置信息推送至预发环境的网络互联设备之后,还需要进行后置校验,具体可进行如网关系统实时运行监控、配置运行结果识别检测等,最大程度保证系统平稳运行、异构配置的正常运行。
预发环境的配置校验无问题后,可根据不同的预设规则将异构配置信息,分组逐步同步至线上环境对应的所有网络互联设备,完成配置上线。其中,预设规则可以为机器维度、用户维度等。在此过程中仍然进行前置校验与后置校验,保证配置过程中整个网络互联系统的稳定性。
102、基于服务接口接收业务节点发送的统一请求报文。
参考图5a,业务系统利用预设的内部微服务接口(如Dubbo协议的RPC接口),将业务系统统一报文发送给异构网关系统。
其中,微服务是一种架构,这种架构是将单个的整体应用程序分割成更小的项目关联的独立的服务。一个服务通常实现一组独立的特性或功能,包含自己的业务逻辑和适配器。各个微服务之间的关联通过暴露API(Application Program Interface,应用程序接口)来实现。这些独立的微服务不需要部署在同一个虚拟机,同一个系统和同一个应用服务器中。使用时直接调用对应的API接口即可。
103、根据预设服务接口索引,获取服务接口对应的异构配置信息。
参考图5a,异构网关系统根据给业务系统与某机构具体服务分配的唯一接口索引在配置中心获取到异构配置信息,此处异构配置信息具有环境隔离性,此处只能查到当前通信对应环境下的异构配置信息,与网络互联系统中的配置设备的异构配置信息同步过程中共同保证网络互联系统的高可用。
104、基于异构配置信息,对统一请求报文进行组装,得到异构节点对应的异构请求报文。
参考图5c,在获取到异构配置信息之后进入网络互联设备的核心处理流程,主要包括报文组装处理器、报文通信处理器、报文解析处理器。
报文组装主要是利用异构脚本函数方法完成业务节点的统一请求报文到异构请求报文的异构适配,异构脚本函数是网关系统在报文组装处理器预留的抽象类,并提供在脚本内对各种安全服务、各种转换过程中的常用方法的调用能力,如排序、遍历、替换等函数工具库,可最大程度减小异构脚本的开发难度,脚本开发者只需关注转换适配。
报文组装处理器中需要将配置中心对应的异构组装脚本加载至网络互联设备,此处不同语言可选择与此语言兼容较好的脚本语言,如Java语言可选择Groovy作为对应的脚本语言,groovy加载引擎可将配置中心对应的脚本加载进网关系统运行态中,完成对应的报文组装与安全处理。此处为了提升网关性能,加载引擎需将脚本缓存在系统中,不必每次业务请求均加载一次,消耗网关系统内存的同时增大了系统风险、增大了调用耗时。
运行异构组装脚本完成报文组装,业务节点的统一请求报文已经转换为异构节点的报文协议格式。
105、将异构请求报文发送给异构节点,并接收异构节点返回的异构响应报文。
参考图5c,进入报文通信处理器,网关系统需具备HTTP通信、TCP通信、HTTPS通信、webSocket通信等各种通信能力,根据通信配置信息设置异构节点的请求地址、超时时间等参数,将报文组装处理器加工后的报文发送给机构。
异构节点处理完成之后,将响应报文返回给网关系统的通信处理器,并将报文转给报文解析处理器。
106、根据异构配置信息,将异构响应报文转换成统一响应报文,并发送给业务节点。
参考图5c,报文解析处理器同样主要是运行异构解析脚本,利用脚本加载引擎将解析脚本加载到网关系统中,脚本内利用安全服务完成解密、验签等鉴权功能,之后根据解析脚本函数中的方法将响应报文转换业务系统统一的报文,完成报文解析。
网关处理完成后利用内部微服务接口将统一响应报文发送给业务系统。
由上可知,本申请实施例当新的异构节点接入网络互联系统后,异构配置信息可以快速同步到每一个网络互联设备中,无需Git仓库,避免了存储路径、缓存等各种同步延迟与不一致的风险,系统运行链路清晰,可维护性强。从而可以方便异构节点快速接入网络互联系统,从而使业务节点与异构节点可以快速通信,并且保证异构节点的通信协议变更时,网络互联系统的稳定性。
如图2b所示,提供了一种异构通信方法,该方法可以由配置设备终端的处理器执行,该异构通信方法的具体流程如下:
获取异构节点对应的异构配置信息。
新的异构节点接入时,对应配置人员可根据服务接口需求完成安全、通信、报文异构脚本的配置与开发,并将其录入网络互联设备的配置中心。
将异构配置信息同步至线下环境对应的设备中,对异构配置信息进行线下环境验证。
其中,线下环境指的是测试环境,线下环境包括网络互联设备、业务节点和异构节点。
在一个实施例中,可以利用分布式配置中间件(如Apollo等)实时将异构配置信息推送到对应环境下的设备,首先同步到线下环境用于与业务节点、异构节点共同联调测试链路的可用性。
当线下环境验证通过时,将异构配置信息同步至预发环境对应的设备中,并进行配置校验。
其中,预发环境指的是准生产环境,为了保证异构网关系统的稳定性,此处需要进行配置校验,并根据配置校验结果执行变更防御规则。
其中,配置校验具体包括如下步骤:
将异构配置信息同步至当预发环境对应的网络互联设备之前,根据异构配置信息的配置数据进行前置校验;
将异构配置信息同步至预发环境对应的网络互联设备之后,根据网络互联设备的运行结果进行后置校验;
当后置校验不通过时,获取异构节点对应的历史异构配置信息;
在网络互联设备中将当前的异构配置信息更新为历史异构配置信息。
一边校验,一边逐步将异构配置信息推送至预发环境中的所有网络互联设备,这种方式可以保证网关系统的稳定性。另外,当后置校验不通过时,还可以采用历史异构配置信息,最大程度保证了在异构节点的配置变更时,网关系统的稳定性。
在一个实施例中,后置校验的结果根据预设规则设置为通过或者不通过,比如,可以设置成功率低于80%或者成功率相较于历史运行结果下降超过5%为不通过,否则为通过。
在一个具体的实施例中,当后置校验不通过时,获取异构节点对应的历史异构配置信息,具体包括如下步骤:
当后置校验不通过时,生成结果通知;
根据用户针对结果通知的回滚操作,获取获取异构节点对应的历史异构配置信息。
一个实施例中,还包括如下步骤
当后置校验不通过时,生成结果通知;
根据用户针对结果通知的忽略操作,将当前的异构配置信息同步至下一网络互联设备中。
由于后置校验的规则通常是关于运行结果的,并不是确定的参数或者事件,因此,在后置校验不通过时,通常可以生成结果通知,结果通知包括运行结果、运行过程、运行参数等信息,将这些信息反馈给用户,用户可以根据这些信息进行人工决策,选择回滚操作或者忽略操作,从而可以进一步提供系统的稳定性。
在预发环境中配置校验通过后,将异构配置信息同步至线上环境对应的网络互联设备。
其中,线上环境对应的网络互联设备指的是实际通信过程中使用的网关设备,异构配置信息上线之后,表明该配置正式投入使用了。
在一个实施例中,该步骤包括如下步骤:
在预发环境中配置校验通过后,根据预设规则,将所述异构配置信息同步至线上环境对应的第一组网络互联设备中,并进行配置校验;
所述第一组网络互联设备配置校验通过后,根据所述预设规则,将所述异构配置信息同步至线上环境中的下一组网络互联设备中,并进行配置校验,直至将所述异构配置信息同步至所述线上环境中的所有网络互联设备。
其中,预设规则可以包括机器维度、用户维度等多种灰度策略,比如,在机器维度,可以根据设备的配置参数或者用户的需求进行。其中,灰度策略指的是分组逐步推送异构配置信息的策略。
在此过程中仍然进行前置校验与后置校验,保证配置过程中整个网络互联系统的稳定性。
其中,前置校验和后置校验具体可以包括如下步骤:
将异构配置信息同步至当线上环境对应的网络互联设备之前,根据异构配置信息的配置数据进行前置校验;
将异构配置信息同步至线上环境对应的网络互联设备之后,根据网络互联设备的运行结果进行后置校验;
当后置校验不通过时,获取异构节点对应的历史异构配置信息;
在网络互联设备中将当前的异构配置信息更新为历史异构配置信息。
在一个具体的实施例中,还可以包括如下步骤
当后置校验不通过时,生成结果通知;
根据用户针对结果通知的回滚操作,获取获取异构节点对应的历史异构配置信息;
或者,当后置校验不通过时,生成结果通知;
根据用户针对结果通知的忽略操作,将当前的异构配置信息同步至下一网络互联设备中。
可以由人工决策把控配置上线过程,能够提高系统的稳定性。
在上述过程中,基于配置中心实时同步下发到运行终端,无需Git仓库、存储路径、缓存等各种同步延迟与不一致风险,系统运行链路清晰,可维护性强。实现了线下环境、预发环境、线上环境等不同环境的配置隔离,配置中心实时同步变更,配置变更具备灰度能力、回滚能力,保证系统稳定性。
如图2c所示,提供了一种异构通信方法,该方法可以由运行设备终端的处理器执行,其中,运行设备和上一个实施例中的配置设备可以是相同的设备,此处为了区分不同流程的步骤,将正在执行配置过程的终端称为配置设备,正在执行运行过程的设备称为运行设备,该运行设备执行的异构通信方法的具体流程如下:
基于服务接口接收业务节点发送的统一请求报文。
在一个实施例中,业务系统利用内部微服务接口(如Dubbo协议的RPC接口)将业务系统统一报文发送给异构网关系统。
在一个实施例中,当用户在业务节点所在的终端进行操作时,业务节点向运行设备发送统一请求报文。
根据预设服务接口索引,获取服务接口对应的异构配置信息。
在一个实施例中,网路互联系统根据给业务节点与某异构节点具体服务分配的唯一的服务接口索引在配置中心获取到异构配置信息。
303、基于异构配置信息,对统一请求报文进行组装,得到异构节点对应的异构请求报文。
在一个实施例中,该步骤具体包括如下步骤:
基于所述异构配置信息,获取安全配置信息、通信配置信息、组装脚本和解析脚本;
基于所述组装脚本对所述统一请求报文进行组装,得到所述异构节点对应的异构请求报文。
参考图5c,组装脚本可以调用安全服务,根据不同的异构节点的需求,对统一请求报文进行加签、加密。这个过程对于不同的异构节点的算法可能不同、加密规则不一,需要处理的加密字段不一。
基于所述安全配置,对所述异构请求报文添加安全信息,得到携带所述安全信息的异构请求报文。
304、将异构请求报文发送给异构节点,并接收异构节点返回的异构响应报文。
在一个实施例中,该步骤具体包括如下步骤:
根据所述通信配置信息,将所述携带所述安全信息的异构请求报文发送给所述异构节点;
接收所述异构节点返回的异构响应报文。
根据异构配置信息,将异构响应报文转换成统一响应报文,并发送给业务节点。
在一个实施例中,异构响应报文携带安全信息,该步骤具体包括如下步骤:
根据所述安全信息对所述异构响应报文进行鉴权;
鉴权通过后,基于所述解析脚本,将所述异构响应报文转换成统一响应报文;
基于所述通信配置,将所述所述统一响应报文发送给所述业务节点。
相同的异构节点的安全配置是相同的,进行鉴权的主要确认信息是业务节点和异构节点采用相同的安全配置规则,两边报文处理方法一致,方可正常进行通信。
在一个实施例中还包括305、将所述组装脚本和所述解析脚本存储至所述线上网络互联设备中。
此处为了提升网关性能,加载引擎需将脚本缓存在系统中,不必每次业务请求均加载一次,消耗网关系统内存的同时增大了系统风险、增大了调用耗时。
由上可知,在本发明的方案中,报文组装主要是利用异构脚本函数方法完成业务系统统一报文到机构报文的异构适配,异构脚本函数是网关系统在报文组装处理器预留的抽象类,并提供在脚本内对各种安全服务、各种转换过程中的常用方法的调用能力,如排序、遍历、替换等函数工具库,可最大程度减小异构脚本的开发难度,脚本开发者只需关注转换适配。
基于脚本和配置设计的网路互联系统无需关心原子能力,可利用脚本与程序语言本身的各种能力自定义完成各种异构节点的报文适配功能,不会出现机构无法接入网络互联系统的场景。
根据前面实施例所描述的方法,以下将以该异构通信装置具体集成在终端中举例作进一步详细说明。
在一实施例中,还提供了一种异构通信装置(即第一异构通信装置),该异构通信装置具体可以集成在终端中如网络互联系统中的配置设备的终端,如图3a所示,该第一异构通信装置可以包括:配置单元401,具体如下:
配置单元401,用于获取异构节点对应的异构配置信息,并在校验通过后将异构配置信息同步至网络互联系统中线上环境对应的网络互联设备。
在一个具体的实施例中,配置单元401还包括录入子单元501、线下验证子单元502、预发子单元503、灰度子单元504,具体如下:
录入子单元501,用于获取异构节点对应的异构配置信息。
线下验证子单元502,用于将异构配置信息同步至线下环境对应的设备中,对异构配置信息进行线下环境验证。
预发子单元503,用于当线下环境验证通过时,将异构配置信息同步至预发环境对应的设备中,并进行配置校验。
其中,预发子单元503具体可以用于:
将所述异构配置信息同步至预发环境的所述网络互联设备之前,根据所述异构配置信息的配置数据进行前置校验;
将所述异构配置信息同步至预发环境的所述网络互联设备之后,根据所述网络互联设备的运行结果进行后置校验。
其中,预发子单元503还可以用于:
当后置校验不通过时,生成结果通知;
根据用户针对所述结果通知的回滚操作,获取所述获取所述异构节点对应的历史异构配置信息;
根据用户针对所述结果通知的忽略操作,将当前的所述异构配置信息同步至下一网络互联设备。
灰度子单元504,用于在预发环境中配置校验通过后,将异构配置信息同步至所述线上环境对应的网络互联设备。
其中,灰度子单元505具体可以用于:
在所述预发环境中配置校验通过后,根据预设规则,将所述异构配置信息同步至所述线上环境中的第一组网络互联设备中,并进行配置校验;
所述第一组网络互联设备配置校验通过后,根据所述预设规则,将所述异构配置信息同步至所述线上环境中的下一组网络互联设备中,并进行配置校验,直至将所述异构配置信息同步至所述线上环境中所有的网络互联设备。
其中,灰度子单元505还可以用于:
将所述异构配置信息同步至线上环境的所述网络互联设备之前,根据所述异构配置信息的配置数据进行前置校验;
将所述异构配置信息同步至线上环境的所述网络互联设备之后,根据所述网络互联设备的运行结果进行后置校验。
具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
为了更好地实施以上方法,本申请实施例还提供一种异构通信装置(即第二异构通信装置),该异构通信装置具体可以集成在电子设备中,该电子设备可以为终端、服务器、个人电脑等设备。比如,在本实施例中,将以异构通信装置集成在网络互联系统的运行设备终端中为例,对本发明实施例的方法进行详细说明。
如图3b所示,该异构通信装置可以包括:请求接收单元601、获取单元602、组装单元603、通信单元604以及解析单元605,具体如下:
(1)请求接收单元601,用于基于服务接口接收业务节点发送的统一请求报文。
(2)获取单元602,用于根据预设服务接口索引,获取服务接口对应的异构配置信息。
(3)组装单元603,用于基于异构配置信息,对统一请求报文进行组装,得到异构节点对应的异构请求报文。
在一个实施例中,组装单元603具体可以包括获取子单元和组装子单元,如下:
获取子单元,用于基于所述异构配置信息,获取安全配置信息、通信配置信息、组装脚本和解析脚本;
组装子单元,用于基于所述组装脚本对所述统一请求报文进行组装,得到所述异构节点对应的异构请求报文。
其中,组装子单元具体可以用于:
基于所述安全配置信息,对所述异构请求报文添加安全信息,得到携带所述安全信息的异构请求报文。
通信单元604,用于将异构请求报文发送给异构节点,并接收异构节点返回的异构响应报文。
在一个实施例中,通信单元604具体可以包括通信子单元和接收子单元,如下:
通信子单元,用于根据所述通信配置信息,将所述携带所述安全信息的异构请求报文发送给所述异构节点;
接收子单元,用于接收所述异构节点返回的异构响应报文。
(5)解析单元605,用于根据异构配置信息,将异构响应报文转换成统一响应报文,并发送给业务节点。
解析单元605具体可以用于:根据所述安全配置信息对所述异构响应报文进行鉴权;
鉴权通过后,基于所述解析脚本,将所述异构响应报文转换成统一响应报文;
基于所述通信配置,将所述所述统一响应报文发送给所述业务节点
在一个实施例中,还包括缓存单元606,用于将所述组装脚本和所述解析脚本存储至所述线上网络互联设备中。
具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
由上可知,本申请实施例可以获取异构节点对应的异构配置信息,并在校验通过后将异构配置信息同步至网络互联系统中的线上网络互联设备;基于服务接口接收业务节点发送的统一请求报文;根据预设服务接口索引,获取服务接口对应的异构配置信息;基于异构配置信息,对统一请求报文进行组装,得到异构节点对应的异构请求报文;将异构请求报文发送给异构节点,并接收异构节点返回的异构响应报文;根据异构配置信息,将异构响应报文转换成统一响应报文,并发送给业务节点。本申请实施例当新的异构节点接入网络互联系统后,异构配置信息可以快速同步到每一个网络互联设备中,无需Git仓库,避免了存储路径、缓存等各种同步延迟与不一致的风险,系统运行链路清晰,可维护性强。从而可以方便异构节点快速接入网络互联系统,从而使业务节点与异构节点可以快速通信,并且保证异构节点的通信协议变更时,网络互联系统的稳定性。
本申请实施例还提供一种终端设备,该终端设备可以是平板电脑、微型处理盒子、无人机、或者图像采集设备等等。如图4所示,其示出了本申请实施例所涉及的终端设备的结构示意图,具体来讲:
该终端设备可以包括一个或者一个以上处理核心的处理器801、一个或一个以上计算机可读存储介质的存储器802、电源803、输入模块804以及通信模块805等部件。本领域技术人员可以理解,图4中示出的终端设备结构并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器801是该终端设备的控制中心,利用各种接口和线路连接整个终端设备的各个部分,通过运行或执行存储在存储器802内的软件程序和/或模块,以及调用存储在存储器802内的数据,执行终端设备的各种功能和处理数据,从而对终端设备进行整体监控。在一些实施例中,处理器801可包括一个或多个处理核心;在一些实施例中,处理器801可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器801中。
存储器802可用于存储软件程序以及模块,处理器801通过运行存储在存储器802的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器802可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器802可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器802还可以包括存储器控制器,以提供处理器801对存储器802的访问。
终端设备还包括给各个部件供电的电源803,在一些实施例中,电源803可以通过电源管理系统与处理器801逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源803还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该终端设备还可包括输入模块804,该输入模块804可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
该终端设备还可包括通信模块805,在一些实施例中,通信模块805可以包括无线子模块,终端设备可以通过该通信模块805的无线子模块进行短距离无线传输,从而提供无线的宽带互联网访问。比如,该通信模块805可以用于帮助用户收发电子邮件、浏览网页和访问流式媒体等。
尽管未示出,终端设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,终端设备中的处理器801会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器802中,并由处理器801来运行存储在存储器802中的应用程序,从而实现各种功能,如下:
获取异构节点对应的异构配置信息,并在校验通过后将异构配置信息同步至网络互联系统中线上环境对应的网络互联设备;
基于服务接口接收业务节点发送的统一请求报文;
根据预设服务接口索引,获取服务接口对应的异构配置信息;
基于异构配置信息,对统一请求报文进行组装,得到异构节点对应的异构请求报文;
将异构请求报文发送给异构节点,并接收异构节点返回的异构响应报文;
根据异构配置信息,将异构响应报文转换成统一响应报文,并发送给业务节点。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
由上可知,本申请实施例当新的异构节点接入网络互联系统后,异构配置信息可以快速同步到每一个网络互联设备中,无需Git仓库、存储路径、缓存等各种同步延迟与不一致风险,系统运行链路清晰,可维护性强。从而可以方便异构节点快速接入网络互联系统,从而使业务节点与异构节点可以快速通信,并且保证异构节点的通信协议变更时,网络互联系统的稳定性。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本申请实施例所提供的任一种异构通信方法中的步骤。例如,该指令可以执行如下步骤:
获取异构节点对应的异构配置信息,并将异构配置信息同步至网络互联系统中的所有网络互联设备;
基于服务接口接收业务节点发送的统一请求报文;
根据预设服务接口索引,获取服务接口对应的异构配置信息;
基于异构配置信息,对统一请求报文进行组装,得到异构节点对应的异构请求报文;
将异构请求报文发送给异构节点,并接收异构节点返回的异构响应报文;
根据异构配置信息,将异构响应报文转换成统一响应报文,并发送给业务节点。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的指令,可以执行本申请实施例所提供的任一种异构通信方法中的步骤,因此,可以实现本申请实施例所提供的任一种异构通信方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
由上可知,本申请实施例当新的异构节点接入网络互联系统后,异构配置信息可以快速同步到每一个网络互联设备中,无需Git仓库、存储路径、缓存等各种同步延迟与不一致风险,系统运行链路清晰,可维护性强。从而可以方便异构节点快速接入网络互联系统,从而使业务节点与异构节点可以快速通信,并且保证异构节点的通信协议变更时,网络互联系统的稳定性。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本说明书实施例可提供为方法、系统、或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备、非易失性计算机存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
以上所述仅为本说明书的一个或多个实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书的一个或多个实施例可以有各种更改和变化。凡在本说明书的一个或多个实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。
- 一种车载通信设备的升级方法、装置和车载通信设备
- 基于物联网异构设备的自组网通信方法、装置及自组网
- 用于应急物流的异构网络融合通信装置及通信方法
- 一种实现KVM功能的USB设备通信方法与装置
- 一种本地设备与异构设备之间的通信方法、系统及相关装置
- 一种本地设备与异构设备之间的通信方法、系统及相关装置