CN116436989A - 报文转换方法、装置、设备以及存储介质 - Google Patents
报文转换方法、装置、设备以及存储介质 Download PDFInfo
- Publication number
- CN116436989A CN116436989A CN202310427583.5A CN202310427583A CN116436989A CN 116436989 A CN116436989 A CN 116436989A CN 202310427583 A CN202310427583 A CN 202310427583A CN 116436989 A CN116436989 A CN 116436989A
- Authority
- CN
- China
- Prior art keywords
- field
- processing
- type
- instance
- target
- 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
- 238000006243 chemical reaction Methods 0.000 title claims abstract description 75
- 238000000034 method Methods 0.000 title claims abstract description 73
- 238000012545 processing Methods 0.000 claims abstract description 249
- 238000004891 communication Methods 0.000 claims description 41
- 238000004364 calculation method Methods 0.000 claims description 25
- 238000013507 mapping Methods 0.000 claims description 17
- 238000011161 development Methods 0.000 abstract description 27
- 230000008569 process Effects 0.000 abstract description 24
- 238000002347 injection Methods 0.000 abstract description 18
- 239000007924 injection Substances 0.000 abstract description 18
- 238000012423 maintenance Methods 0.000 abstract description 9
- 238000010586 diagram Methods 0.000 description 14
- 230000008859 change Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000001965 increasing effect Effects 0.000 description 2
- 239000000243 solution Substances 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 235000006719 Cassia obtusifolia Nutrition 0.000 description 1
- 235000014552 Cassia tora Nutrition 0.000 description 1
- 244000201986 Cassia tora Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种报文转换方法、装置、设备以及存储介质,该报文转换方法包括:获取待配置字段所属的类型和待配置字段对应的字段处理参数;基于待配置字段所属的类型获取待配置字段对应的实例化规则;基于实例化规则对待配置字段对应的字段处理参数进行实例化处理,得到各个待配置字段对应的实例资源;基于各个待配置字段对应的实例资源对待转换的网络报文进行报文转换。上述方案,能够对字段处理逻辑的注入过程进行统一,达到字段处理逻辑注入的标准化,提高代码开发效率,降低开发运维成本。
Description
技术领域
本申请涉及通信技术领域,特别是涉及一种报文转换方法、装置、设备以及存储介质。
背景技术
网关是一种充当转换重任的计算机***或设备,其使用在不同的通信协议、数据格式或语言,甚至体系结构完全不同的两种***之间,在***互联时,网关一般承担着报文转换、安全认证和报文转发的职责。其中报文的转发是最核心最基本的功能。
传统的网关报文转发一般只涉及到报文格式转换和字段名转换,然而随着互联网的蓬勃发展,对接场景日益丰富,各***之间数据字典各异,越来越需要对字段数据值进行差异化转换,而业界常见的网关由于其设计的重点在于报文格式转换,对于字段值处理的支持都非常薄弱,大多数需要在业务代码层面进行侵入式的开发,在原有的业务代码上不停的叠加转换逻辑,且在网关***以及业务层***均可能存在代码开发,导致代码臃肿不堪,***之间的边界模糊不清,运行时健壮性差,后期维护成本高。
发明内容
本申请至少提供一种报文转换方法、报文转换装置、电子设备以及计算机可读存储介质。
本申请第一方面提供了一种报文转换方法,包括:获取待配置字段所属的类型和待配置字段对应的字段处理参数;基于待配置字段所属的类型确定待配置字段对应的实例化规则;基于实例化规则对待配置字段对应的字段处理参数进行实例化处理,得到各个待配置字段对应的实例资源;基于各个待配置字段对应的实例资源对待转换的网络报文进行报文转换。
在一实施例中,获取待配置字段所属的类型和待配置字段对应的字段处理参数,包括:响应于配置数据输入界面中的字段处理参数输入操作,得到待配置字段对应的字段处理参数;对字段处理参数进行复杂度计算,得到待配置字段对应的处理复杂度;基于处理复杂度确定待配置字段所属的类型。
在一实施例中,字段处理参数由一个或多个处理步骤组成;对字段处理参数进行复杂度计算,得到待配置字段对应的处理复杂度,包括:提取字段处理参数中含有的处理步骤,并获取每个处理步骤的类型和步骤内容;分别获取每个处理步骤的类型对应的复杂权重,以及基于步骤内容得到每个处理步骤的步骤复杂度;基于每个处理步骤的类型对应的复杂权重对每个处理步骤的步骤复杂度进行加权计算,得到待配置字段对应的处理复杂度。
在一实施例中,字段处理参数由一个或多个处理步骤组成;基于待配置字段所属的类型确定待配置字段对应的实例化规则,包括:从预设的代码模板集合中获取与待配置字段所属的类型匹配的代码模板,得到字段处理参数对应的候选代码模板,以及提取字段处理参数中各个处理步骤的步骤类型;从候选代码模板中获取与各个处理步骤的步骤类型匹配的代码模板,得到各个处理步骤对应的目标代码模板;组合各个处理步骤对应的目标代码模板,得到待配置字段对应的实例化规则。
在一实施例中,基于实例化规则对待配置字段对应的字段处理参数进行实例化处理,得到各个待配置字段对应的实例资源,包括:基于实例化规则获取实例代码模板;将待配置字段对应的字段处理参数填入至实例代码模板中,得到实例代码;基于实例代码得到待配置字段对应的实例资源。
在一实施例中,网络报文由第一通信设备向第二通信设备发送;基于实例资源对待转换的网络报文进行报文转换,包括:提取网络报文中的待转换字段;基于预设的字段映射表对待转换字段的字段名称进行映射处理,得到目标字段名称;其中,字段映射表用于存储第一通信设备对应的字段名称和第二通信设备对应的字段名称之间的映射关系;从各个待配置字段对应的实例资源中获取与目标字段名称匹配的实例资源,得到目标实例资源;基于目标实例资源对待转换的网络报文进行报文转换。
在一实施例中,基于目标实例资源对待转换的网络报文进行报文转换,包括:基于目标实例资源计算目标字段名称对应的目标字段值;基于目标字段名称替换待转换字段的字段名称,以及基于目标字段值替换待转换字段对应的字段值,得到替换后的目标字段;基于目标字段得到转换后的网络报文。
本申请第二方面提供了一种报文转换装置,包括:获取模块,用于获取待配置字段所属的类型和待配置字段对应的字段处理参数;规则确定模块,用于基于待配置字段所属的类型确定待配置字段对应的实例化规则;实例化模块,用于基于实例化规则对待配置字段对应的字段处理参数进行实例化处理,得到各个待配置字段对应的实例资源;转换模块,用于基于各个待配置字段对应的实例资源对待转换的网络报文进行报文转换。
本申请第三方面提供了一种电子设备,包括存储器和处理器,处理器用于执行存储器中存储的程序指令,以实现上述报文转换方法。
本申请第四方面提供了一种计算机可读存储介质,其上存储有程序指令,程序指令被处理器执行时实现上述报文转换方法。
上述方案,通过对字段处理逻辑的注入过程进行统一,达到字段处理逻辑注入的标准化,使得各个***接口和字段之间的处理逻辑相互隔离,且对不同类型的字段采用不同的实例化方式,极大提高了代码开发效率,降低开发运维成本。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本申请的实施例,并与说明书一起用于说明本申请的技术方案。
图1是本申请的报文转换方法的一示例性实施例的网络架构图;
图2是本申请的报文转换方法的一示例性实施例的流程图;
图3是本申请的报文转换方法中获取待配置字段所属的类型和待配置字段对应的字段处理参数的示意图;
图4是本申请的报文转换方法中获取实例化规则的示意图;
图5是本申请的报文转换方法中获取实例资源的示意图;
图6是本申请的报文转换方法中报文转换的示意图;
图7是本申请的一示例性实施例示出的报文转换装置的框图;
图8是本申请电子设备一实施例的结构示意图;
图9是本申请计算机可读存储介质一实施例的结构示意图。
具体实施方式
下面结合说明书附图,对本申请实施例的方案进行详细说明。
以下描述中,为了说明而不是为了限定,提出了诸如特定***结构、接口、技术之类的具体细节,以便透彻理解本申请。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。此外,本文中的“多”表示两个或者多于两个。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
本实施例提供的一种报文转换方法可应用于网关设备或其他服务器设备,若应用于网关设备,则本实施例提供的报文转换方法的网络架构如图1所示,包括至少一个第一通信设备100、第二通信设备200和网关设备300,第一通信设备100和第二通信设备200之间通过网关设备300进行通信。
其中,本实施例提供的报文转换方法部署在网关设备,与网关设备本身功能进行集成,当需要进行字段处理逻辑的注入时,可以向网关设备请求进行字段处理逻辑的添加,即根据获取的待配置字段对应的字段处理参数添加字段处理逻辑,通过待配置字段所属的类型确定实例化规则,以基于实例化规则对待配置字段对应的字段处理参数进行实例化处理后,使用该实例化处理得到的实例资源对网关设备接收的待转换的网络报文进行报文转换,从而对字段处理逻辑的注入过程进行统一,提高代码开发效率,降低开发运维成本。
第一通信设备100和第二通信设备200可以是终端设备,也可以是服务器。终端设备可以是手机、电脑、智能语音交互设备、智能家电、车载终端、飞行器等,但并不局限于此。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
请参阅图2,图2是本申请的一示例性实施例示出的报文转换方法的流程图。该报文转换方法可以应用于图1所示的实施环境,并由该实施环境中的网关设备具体执行。应理解的是,该方法也可以适用于其它的示例性实施环境,并由其它实施环境中的设备具体执行,本实施例不对该方法所适用的实施环境进行限制。
下面以网关设备作为具体地执行主体来对本申请实施例提出的报文转换方法进行详细介绍。
如图2所示,在一示例性的实施例中,报文转换方法至少包括步骤S210至步骤S240,详细介绍如下:
步骤S210:获取待配置字段所属的类型和待配置字段对应的字段处理参数。
待配置字段的类型是通过对待配置字段进行分类得到的,待配置字段对应的字段处理参数为在报文转换过程中进行待配置字段的字段值获取时所需要的逻辑数据,如进行字段值获取所需要的步骤、各个步骤的具体执行内容等。其中,可以根据字段对应的字段值获取逻辑的复杂程度对字段进行分类,以使得后续可以根据不同复杂程度的字段值获取逻辑选择合适的数据注入方式。
示例性地,请参阅图3,图3为本申请一实例性实施例提供的获取待配置字段所属的类型和待配置字段对应的字段处理参数的示意图。如图3所示,终端A为第一网络***对应的管理终端,网关设备向终端A提供有待配置字段所属的类型和待配置字段对应的字段处理参数的注入接口,终端A通过调用该注入接口向网关设备发起字段配置请求,网关设备根据接收到的字段配置请求向终端A展示配置数据输入界面,该配置数据输入界面含有可配置的字段,其中,这些可配置的字段即为可以被第一***接收的网络报文中可能含有的字段。
通过响应于配置数据输入界面中的字段选择操作,将被选中的字段作为待配置字段,如图3中待配置字段包括字段a和字段b。然后,通过配置数据输入界面展示待配置字段对应的可以被选择的字段类型,响应于配置数据输入界面中的类型选择操作,确定待配置字段所属的类型,例如字段a对应的可以被选择的字段类型包括类型1、类型2和类型3,若字段a对应的类型选择操作表明被选中的类型为类型1,则将字段a所属的类型为类型1。其中,每个字段对应的可以被选择的字段类型可以相同也可以不同,如字段b相对字段a来说不可以采用类型3对应的实例化规则进行实例化,则字段b对应的可以被选择的字段类型包括类型1和类型2,以避免由于类型标记错误而造成后续流程浪费的情况。
然后,响应于配置数据输入界面中的字段处理参数输入操作,得到待配置字段对应的字段处理参数,并响应于配置数据输入界面中的提交操作,得到待配置字段所属的类型和待配置字段对应的字段处理参数。
在一些实施方式中,在上述实施例的基础上,终端A可以仅向网关设备提供待配置字段对应的字段处理参数,网关设备可以基于待配置字段的属性信息(如字段对应的安全等级、字段对应的网络报文类型等)、字段处理参数的属性信息(如字段处理参数的参数数量、字段处理参数含有的计算量等)等为待配置字段自动分配其所属的类型,以简化终端侧进行字段处理配置的流程,提高开发效率。
可以理解的是,还可以采用其他方式获取待配置字段所属的类型和待配置字段对应的字段处理参数,本申请对此不进行限定。
步骤S220:基于待配置字段所属的类型确定待配置字段对应的实例化规则。
实例化规则是指在对待配置字段对应的字段处理参数进行实例化处理的过程中的需要的相关规则参数。
可以理解的是,不同类型的字段进行字段值获取的逻辑不同,即不同类型的字段对应的字段处理参数的复杂程度不同,进而使得不同复杂程度的字段处理参数的实例化方式不同。
示例性地,网关设备中预先存储有多个代码模板,可以根据待配置字段所属的类型从预先存储的多个代码模板中提取出需要的代码模板,进而基于需要的代码模板得到该待配置字段对应的实例化规则。
例如,根据待配置字段对应的字段处理参数确定需要使用的代码模板,代码生成工具根据需要使用的代码模板和字段处理参数生成该待配置字段对应的字段值获取实例的框架代码,将框架代码作为实例化规则,以便于后续根据待配置字段对应的字段处理参数和实例化规则进行实例化处理,得到各个待配置字段对应的实例资源,这既可以提高开发效率,也有助于增强所开发服务的稳定和性能。
请参阅图4,图4实例性示出了通过代码生成工具获取实例化规则的示意图。
如图4所示,待配置字段对应的字段处理参数含有一个或多个处理步骤,首先,依次读取各个处理步骤,然后,将当前所读取的处理步骤与各个代码模板进行匹配,将匹配成功的代码模板加入框架代码中,其中,匹配成功是指对应的代码模板满足当前所读取的处理步骤的功能需求。如各个代码模板对应标记有模板标签,如模板1标记为赋值步骤、模板2标记为数据库查询步骤、模板3标记为公式1计算步骤,通过对当前所读取的处理步骤“对字段a赋予一个固定的值θ”进行功能需求分析,得到与当前所读取的处理步骤匹配的代码模板为模板1。
对字段处理参数中的每个处理步骤均进行代码模板的确定,然后结合每个处理步骤的代码模板得到框架代码,然后将框架代码作为实例化规则。注意,图4中的各个处理步骤之间的代码模板确定顺序的可以以不同于所示出的顺序执行。
步骤S230:基于实例化规则对待配置字段对应的字段处理参数进行实例化处理,得到各个待配置字段对应的实例资源。
实例化处理是指将待配置字段对应的字段处理参数转换为代码文件,将这些转换得到的代码文件作为各个待配置字段对应的实例资源,后续可以通过直接调用这些实例资源执行其对应的字段值获取步骤。
示例性地,在上述实施例的基础上,得到框架代码后,根据待配置字段对应的字段处理参数对框架代码进行参数填充,以得到该待配置字段对应的代码文件。例如,基于实例化规则获取实例代码模板;将待配置字段对应的字段处理参数填入至实例代码模板中,得到实例代码;基于实例代码得到待配置字段对应的实例资源。
举例来说,字段a的字段处理参数含有“对字段a赋予一个固定的值θ”,对字段a的字段处理参数进行参数提取,得到赋值的字段名称参数为“字段a”,赋值的值参数为“θ”,字段a对应的框架代码中与“对字段a赋予一个固定的值θ”对应的代码模板为模板1,模板1中含有字段名称参数填充位和值参数填充位,将“字段a”填充至框架代码的模板1中的字段名称参数填充位,将“θ”填充至框架代码的模板1中的值参数填充位。
完成框架代码的参数填充后,得到代码文件,将该代码文件作为该待配置字段对应的实例资源。
对字段处理参数进行实例化处理的过程实际是创建对象的过程,在一些实施方式中,可以是基于Spring技术对字段处理参数进行实例化处理,Spring是轻量级的Java开发框架,其使用基本的JavaBean来创建对象。应理解,虽然上述示例中是以Java作为编程语言,但实际上,本申请提出的各种方法也可以以C、C++、PHP(PHP:HypertextPreprocessor)、Python等各种编程语言实现,本申请对此不进行限定。
示例性地,请参阅图5,图5为本申请一实例性实施例提供的获取实例资源的示意图。如图5所示,将字段所属的类型和字段对应的字段处理参数作为该字段的字段配置数据,值处理资源库中存储有各个字段对应的字段配置数据,终端可以将待配置字段对应的字段配置数据上传至值处理资源库中,终端也可以对值处理资源库中已存储的字段配置数据进行删除或修改,该值处理资源库可以独立于网关设备设置,也可以于网关设备集成设置,本申请对此不进行限定。网关设备中设置有变更***和实例资源管理器,实例资源管理器对各个字段的实例资源进行存储和管理,该变更***用于对值处理资源库中的数据进行监听,若变更***检测到值处理资源库中存在字段配置数据的变更,则触发对应的管更事件,以使实例资源管理器执行该管更事件。
以终端将待配置字段对应的字段配置数据上传至值处理资源库为例进行说明:例如,值处理资源库对终端上传的字段a的字段配置数据进行存储,变更***检测到值处理资源库中存在字段配置数据的增加,则出发数据增加事件,实例资源管理器获取字段a的字段配置数据,基于字段a的字段配置数据进行实例化处理,得到字段a的实例资源,将字段a的实例资源添加至实例资源管理器中。
以终端对值处理资源库中已存储的字段配置数据进行删除为例进行说明:例如,终端对值处理资源库中字段b的字段配置数据进行删除,变更***检测到值处理资源库中存在字段配置数据的删除,则出发数据删除事件,实例资源管理器获取字段b的字段名称,将字段b的实例资源从实例资源管理器中删除。
以终端对值处理资源库中已存储的字段配置数据进行修改为例进行说明:例如,终端对值处理资源库中字段c的字段配置数据进行修改,变更***检测到值处理资源库中存在字段配置数据的修改,则出发数据修改事件,实例资源管理器获取字段c修改后的字段配置数据,基于修改后的字段配置数据进行实例化处理,得到字段c新的实例资源,将实例资源管理器中字段c的原始实例资源替换为新的实例资源。
步骤S240:基于各个待配置字段对应的实例资源对待转换的网络报文进行报文转换。
在实际应用过程中,网关设备接收到待转换的网络报文后,通过调用需要进行转换的字段的实例资源,得到这些字段的字段值,以完成对待转换的网络报文的报文转换。
通过对字段处理逻辑的注入过程进行统一,达到字段处理逻辑注入的标准化,使得各个***接口和字段之间的处理逻辑相互隔离,且对不同类型的字段采用不同的实例化方式,极大提高了代码开发效率,降低开发运维成本。
在上述实施例的基础上,获取待配置字段所属的类型和待配置字段对应的字段处理参数,包括:响应于配置数据输入界面中的字段处理参数输入操作,得到待配置字段对应的字段处理参数;对字段处理参数进行复杂度计算,得到待配置字段对应的处理复杂度;基于处理复杂度确定待配置字段所属的类型。
处理复杂度是指基于字段处理参数对字段进行字段值获取的实现难度,处理复杂度越低,则表明基于字段处理参数对字段进行字段值获取的实现难度越低;处理复杂度越高,则表明基于字段处理参数对字段进行字段值获取的实现难度越高。
其中,待配置字段对应的处理复杂度可以是由字段处理参数中含有的参数类型、参数数量、参数对应的计算量等决定的,对字段处理参数进行复杂度计算的具体实施方式可以根据实际应用情况灵活选择,本申请对此不进行限定。
例如,字段处理参数由一个或多个处理步骤组成;对字段处理参数进行复杂度计算,得到待配置字段对应的处理复杂度,包括:提取字段处理参数中含有的处理步骤,并获取每个处理步骤的类型和步骤内容;分别获取每个处理步骤的类型对应的复杂权重,以及基于步骤内容得到每个处理步骤的步骤复杂度;基于每个处理步骤的类型对应的复杂权重对每个处理步骤的步骤复杂度进行加权计算,得到待配置字段对应的处理复杂度。
获取每个处理步骤的类型可以是对处理步骤的步骤内容进行关键信息提取,然后基于提取到的关键信息与预先设定的步骤类型进行匹配,将匹配度最高的步骤类型作为该处理步骤的类型,如处理步骤为“对字段a赋予一个固定的值θ”,则通过对该处理步骤进行关键信息提取得到的关键信息为“赋予”,将该关键信息与各个预设步骤类型进行匹配,得到匹配度最高的步骤类型为“赋值”,则该处理步骤的类型为“赋值”。然后,获取据处理步骤的类型对应的复杂权重,该复杂权重可以是对每个类型的步骤进行预先设定的。
进一步地,基于步骤内容得到每个处理步骤的步骤复杂度,如根据步骤内容得到执行该步骤所需要的计算量,通过该计算量得到步骤复杂度。计算量越大则步骤复杂度越高,例如,步骤内容“采用公式1对数据1进行10次循环计算”中含有10次计算过程,步骤内容“采用公式1对数据1进行50次循环计算”中含有50次计算过程,则后者的计算量明显大于前者的计算量。
然后,基于每个处理步骤的类型对应的复杂权重对每个处理步骤的步骤复杂度进行加权计算,得到待配置字段对应的处理复杂度。
通过每个处理步骤的类型对应的复杂权重对每个处理步骤的步骤复杂度计算待配置字段对应的处理复杂度,提高了计算得到的处理复杂度的准确性,便于后续进行字段的分类。
基于处理复杂度确定待配置字段所属的类型,如将处理复杂度处于不同阈值区间的处理步骤划分为不同的类型,例如,将处理复杂度处于0至0.3的处理步骤划分为配置型字段;将处理复杂度处于0.3至0.7的处理步骤划分为轻量型字段;将处理复杂度处于0.7至1的处理步骤划分为重量型字段,以得到待配置字段所属的类型和其对应的字段处理参数。
基于待配置字段对应的字段处理参数进行复杂度计算,以根据计算得到的待配置字段对应的处理复杂度,对待配置字段进行自动的字段类型的分配,减少了开发人员的工作量,且避免了人为判断字段类型导致判断错误的情况,提高了开发效率。
在上述实施例的基础上,字段处理参数由一个或多个处理步骤组成;基于待配置字段所属的类型获取待配置字段对应的实例化规则的步骤可以包括:从代码模板集合中获取与待配置字段所属的类型匹配的代码模板,得到字段处理参数对应的候选代码模板,以及提取字段处理参数中各个处理步骤的步骤类型;从候选代码模板中获取与各个处理步骤的步骤类型匹配的代码模板,得到各个处理步骤对应的目标代码模板;组合各个处理步骤对应的目标代码模板,得到待配置字段对应的实例化规则。
代码模板可以是预先存储在网关设备中的。
以待配置字段所属的类型分为以下三种为例对实例化规则的获取过程进行说明:
(1)配置型字段:不存在计算步骤以及业务逻辑处理步骤,可以通过简单的参数配置实现字段值的获取,例如,对字段a赋予一个固定的值。
下面介绍一种获取配置型字段的实例化规则的示例,具体如下:
字段a属于配置型字段,且字段a对应的字段处理参数为“对字段a赋予一个固定的值θ”。
查询配置型字段可以使用的代码模板含有模板1和模板2,对字段a对应的字段处理参数进行分析,得到该字段处理参数中含有的字段值获取步骤属于赋值步骤,则从模板1和模板2中选择出可以用于赋值的代码模板为模板1,因此将模板1作为该字段a对应的实例化规则。
示例性地,配置型字段对应的字段处理参数可以为配置文件。
(2)轻量型字段;存在简单的计算步骤,例如采用指定的计算公式对字段b的原始值进行计算,以实现字段值的获取。
下面介绍一种获取轻量型字段的实例化规则的示例,具体如下:
字段b属于轻量型字段,且字段b对应的字段处理参数为“从待转换的网络报文中获取字段b的原始值,采用公式1对字段b的原始值进行计算,得到中间值,并采用公式2对中间值进行计算,得到最终的字段值”。
查询轻量型字段可以使用的代码模板含有模板3、模板4和模板5,对字段b对应的字段处理参数进行分析,得到该字段处理参数中的字段值获取步骤包括公式1计算步骤和公式2计算步骤,则从模板3、模板4和模板5中选择出可以用于公式1计算的代码模板为模板3,可以用于公式2计算的代码模板为模板5,因此将模板3和模板5均作为该字段b对应的实例化规则。
示例性地,轻量型字段对应的字段处理参数可以为表达式文件。
(3)重量型字段;存在复杂的计算步骤或业务逻辑处理步骤,例如字段c需要查询第三方数据源(例如缓存、数据文件或第三方***)后再加以判断处理,以实现字段值的获取。
下面介绍一种获取重量型字段的实例化规则的示例,具体如下:
字段c属于重量型字段,且字段c对应的字段处理参数为“从数据库的表1中查询指定数据项的值,若该指定数据项的值大于0,则采用公式3对字段c的原始值和该指定数据项的值进行计算,得到最终的字段值”。
查询重量型字段可以使用的代码模板含有模板6、模板7和模板8,对字段c对应的字段处理参数进行分析,得到该字段处理参数中的字段值获取步骤包括数据库表1查询步骤和公式3计算步骤,则从模板6、模板7和模板8中选择出可以用于数据库表1查询的代码模板为模板7,可以用于公式3计算的代码模板为模板8,因此将模板7和模板8均作为该字段c对应的实例化规则。
示例性地,重量型字段对应的字段处理参数可以为代码文件,如JAR(JavaArchive File)包。
可以理解的是,待配置字段所属的类型的具体划分,可以根据不同的应用场景进行相应的设定,本申请实施例对此不作限定。
通过待配置字段所属的类型确定待配置字段对应的代码模板,以达到代码自动生成,降低开发成本,提高开发效率,并对开发过程进行了统一,便于后续的开发运维。
在上述实施例的基础上,网络报文由第一通信设备向第二通信设备发送;基于实例资源对待转换的网络报文进行报文转换,包括:提取待转换的网络报文中的待转换字段;基于预设的字段映射表对待转换字段的字段名称进行映射处理,得到目标字段名称;其中,字段映射表用于存储第一通信设备对应的字段名称和第二通信设备对应的字段名称之间的映射关系;从各个待配置字段对应的实例资源中获取与目标字段名称匹配的实例资源,得到目标实例资源;基于目标实例资源对待转换的网络报文进行报文转换。
待转换的网络报文中的待转换字段是第二通信设备需要的字段,可以是网关设备中存储有第二通信设备需要的字段,通过这些字段对待转换的网络报文中的字段进行选取,得到待转换字段。其中,第一通信设备和第二通信设备分别处于不同的网络中。
字段映射表用于存储第一通信设备对应的字段名称和第二通信设备对应的字段名称之间的映射关系,如第一通信设备生成的网络报文中含有的字段a的字段名称为“a1”,字段映射表中存储有第一通信设备的字段a的字段名称“a1”需要映射为字段名称“a2”。
通过预设的字段映射表对所有待转换字段的字段名称进行映射处理,得到每个待转换字段的目标字段名称。
然后,从各个待配置字段对应的实例资源中获取与目标字段名称匹配的实例资源,得到目标实例资源,并调用该目标实例资源进行报文转换。
例如,基于目标实例资源对待转换的网络报文进行报文转换,包括:基于目标实例资源计算目标字段名称对应的目标字段值;基于目标字段名称替换待转换字段的字段名称,以及基于目标字段值替换待转换字段对应的字段值,得到替换后的目标字段;基于目标字段得到转换后的网络报文。
目标字段值是指转换后的网络报文中待转换字段的实际值。
通过预先设定的目标实例资源对待转换字段进行字段值计算,进而得到该待转换字段的目标字段值,再基于目标字段名称替换待转换字段的字段名称,以及基于目标字段值替换待转换字段对应的字段值,得到替换后的目标字段。对每个待转换字段均进行上述处理,得到转换后的网络报文,以实现网络报文的转换过程。
在一些实施方式中,在基于目标实例资源对待转换的网络报文进行报文转换之后,还包括:获取第二通信设备对应的通信地址;基于通信地址将转换后的网络报文发送给第二通信设备。例如,网关设备向域名服务器(Domain Name Server,DNS)查询第二通信设备的通信地址,然后根据查询到的通信地址将转换后的网络报文发送给第二通信设备,实现不同网络之间的网络报文的转发。
示例性地,请参阅图6,图6为本申请实施例实例性示出的报文转换的示意图,如图6所示,处于第一网络***的第一通信设备终端A向处于第二网络***的第二通信设备终端B发送请求报文,第一网络***和第二网络***之间的网关设备接收到该请求报文,对该请求报文执行报文格式转换处理和字段转换处理,字段转换处理包括字段名称查找,得到终端B可以识别的目标字段名称,然后根据目标字段名称进行实例资源获取,得到目标实例资源,再执行该目标实例资源得到目标字段值,对该目标字段值进行新值重新注入处理,以根据目标字段值替换待转换字段对应的原始字段值。在对请求报文进行报文格式转换处理和字段转换处理后,得到转换后的网络报文,网关设备将该转换后的网络报文转发给终端B。
本申请提供的报文转换方法,通过获取待配置字段所属的类型和待配置字段对应的字段处理参数,基于待配置字段所属的类型获取待配置字段对应的实例化规则,再基于实例化规则对待配置字段对应的字段处理参数进行实例化处理,得到各个待配置字段对应的实例资源,进而基于各个待配置字段对应的实例资源对待转换的网络报文进行报文转换,统一了字段处理逻辑的注入过程,达到字段处理逻辑注入的标准化,使得各个***接口和字段之间的处理逻辑相互隔离,且对不同类型的字段采用不同的实例化方式,极大提高了代码开发效率,降低开发运维成本。
图7是本申请的一示例性实施例示出的报文转换装置的框图。如图7所示,该示例性的报文转换装置700包括:获取模块710、规则确定模块720、实例化模块730和转换模块740。具体地:
获取模块710,用于获取待配置字段所属的类型和所述待配置字段对应的字段处理参数;
规则确定模块720,用于基于所述待配置字段所属的类型获取所述待配置字段对应的实例化规则;
实例化模块730,用于基于所述实例化规则对所述待配置字段对应的字段处理参数进行实例化处理,得到各个待配置字段对应的实例资源;
转换模块740,用于基于所述各个待配置字段对应的实例资源对待转换的网络报文进行报文转换。
在该示例性的报文转换装置中,通过统一字段处理逻辑的注入过程,达到字段处理逻辑注入的标准化,使得各个***接口和字段之间的处理逻辑相互隔离,且对不同类型的字段采用不同的实例化方式,极大提高了代码开发效率,降低开发运维成本。
其中,各个模块的功能可参见报文转换方法实施例所述,此处不再赘述。
请参阅图8,图8是本申请电子设备一实施例的结构示意图。电子设备800包括存储器801和处理器802,处理器802用于执行存储器801中存储的程序指令,以实现上述任一报文转换方法实施例中的步骤。在一个具体的实施场景中,电子设备800可以包括但不限于:微型计算机、服务器,此外,电子设备800还可以包括笔记本电脑、平板电脑等移动设备,在此不做限定。
具体而言,处理器802用于控制其自身以及存储器801以实现上述任一报文转换方法实施例中的步骤。处理器802还可以称为CPU(Central Processing Unit,中央处理单元)。处理器802可能是一种集成电路芯片,具有信号的处理能力。处理器802还可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。另外,处理器802可以由集成电路芯片共同实现。
上述方案,通过统一字段处理逻辑的注入过程,达到字段处理逻辑注入的标准化,使得各个***接口和字段之间的处理逻辑相互隔离,且对不同类型的字段采用不同的实例化方式,极大提高了代码开发效率,降低开发运维成本。
请参阅图9,图9是本申请计算机可读存储介质一实施例的结构示意图。计算机可读存储介质900存储有能够被处理器运行的程序指令910,程序指令910用于实现上述任一报文转换方法实施例中的步骤。
上述方案,通过获取待配置字段所属的类型和待配置字段对应的字段处理参数;基于待配置字段所属的类型获取待配置字段对应的实例化规则;基于实例化规则对待配置字段对应的字段处理参数进行实例化处理,得到各个待配置字段对应的实例资源;基于各个待配置字段对应的实例资源对待转换的网络报文进行报文转换,能够对字段处理逻辑的注入过程进行统一,达到字段处理逻辑注入的标准化,提高代码开发效率,降低开发运维成本。
在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性、机械或其它的形式。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (10)
1.一种报文转换方法,其特征在于,所述方法包括:
获取待配置字段所属的类型和所述待配置字段对应的字段处理参数;
基于所述待配置字段所属的类型确定所述待配置字段对应的实例化规则;
基于所述实例化规则对所述待配置字段对应的字段处理参数进行实例化处理,得到各个待配置字段对应的实例资源;
基于所述各个待配置字段对应的实例资源对待转换的网络报文进行报文转换。
2.根据权利要求1所述的方法,其特征在于,所述获取待配置字段所属的类型和所述待配置字段对应的字段处理参数,包括:
响应于配置数据输入界面中的字段处理参数输入操作,得到所述待配置字段对应的字段处理参数;
对所述字段处理参数进行复杂度计算,得到所述待配置字段对应的处理复杂度;
基于所述处理复杂度确定所述待配置字段所属的类型。
3.根据权利要求2所述的方法,其特征在于,所述字段处理参数由一个或多个处理步骤组成;所述对所述字段处理参数进行复杂度计算,得到所述待配置字段对应的处理复杂度,包括:
提取所述字段处理参数中含有的处理步骤,并获取每个处理步骤的类型和步骤内容;
分别获取所述每个处理步骤的类型对应的复杂权重,以及基于所述步骤内容得到所述每个处理步骤的步骤复杂度;
基于所述每个处理步骤的类型对应的复杂权重对所述每个处理步骤的步骤复杂度进行加权计算,得到所述待配置字段对应的处理复杂度。
4.根据权利要求1所述的方法,其特征在于,所述字段处理参数由一个或多个处理步骤组成;所述基于所述待配置字段所属的类型确定所述待配置字段对应的实例化规则,包括:
从预设的代码模板集合中获取与所述待配置字段所属的类型匹配的代码模板,得到所述字段处理参数对应的候选代码模板,以及提取所述字段处理参数中各个处理步骤的步骤类型;
从所述候选代码模板中获取与所述各个处理步骤的步骤类型匹配的代码模板,得到所述各个处理步骤对应的目标代码模板;
组合所述各个处理步骤对应的目标代码模板,得到所述待配置字段对应的实例化规则。
5.根据权利要求1所述的方法,其特征在于,所述基于所述实例化规则对所述待配置字段对应的字段处理参数进行实例化处理,得到各个待配置字段对应的实例资源,包括:
基于所述实例化规则获取实例代码模板;
将所述待配置字段对应的字段处理参数填入至所述实例代码模板中,得到实例代码;
基于所述实例代码得到所述待配置字段对应的实例资源。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述网络报文由第一通信设备向第二通信设备发送;所述基于所述实例资源对待转换的网络报文进行报文转换,包括:
提取所述待转换的网络报文中的待转换字段;
基于预设的字段映射表对所述待转换字段的字段名称进行映射处理,得到目标字段名称;其中,所述字段映射表用于存储所述第一通信设备对应的字段名称和所述第二通信设备对应的字段名称之间的映射关系;
从所述各个待配置字段对应的实例资源中获取与所述目标字段名称匹配的实例资源,得到目标实例资源;
基于所述目标实例资源对所述待转换的网络报文进行报文转换。
7.根据权利要求5所述的方法,其特征在于,所述基于所述目标实例资源对所述待转换的网络报文进行报文转换,包括:
基于所述目标实例资源计算所述目标字段名称对应的目标字段值;
基于所述目标字段名称替换所述待转换字段的字段名称,以及基于所述目标字段值替换所述待转换字段对应的字段值,得到替换后的目标字段;
基于所述目标字段得到转换后的网络报文。
8.一种报文转换装置,其特征在于,包括:
获取模块,用于获取待配置字段所属的类型和所述待配置字段对应的字段处理参数;
规则确定模块,用于基于所述待配置字段所属的类型确定所述待配置字段对应的实例化规则;
实例化模块,用于基于所述实例化规则对所述待配置字段对应的字段处理参数进行实例化处理,得到各个待配置字段对应的实例资源;
转换模块,用于基于所述各个待配置字段对应的实例资源对待转换的网络报文进行报文转换。
9.一种电子设备,其特征在于,包括存储器和处理器,所述处理器用于执行所述存储器中存储的程序指令,以实现权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,其上存储有程序指令,其特征在于,所述程序指令被处理器执行时实现权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310427583.5A CN116436989A (zh) | 2023-04-12 | 2023-04-12 | 报文转换方法、装置、设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310427583.5A CN116436989A (zh) | 2023-04-12 | 2023-04-12 | 报文转换方法、装置、设备以及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116436989A true CN116436989A (zh) | 2023-07-14 |
Family
ID=87087041
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310427583.5A Pending CN116436989A (zh) | 2023-04-12 | 2023-04-12 | 报文转换方法、装置、设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116436989A (zh) |
-
2023
- 2023-04-12 CN CN202310427583.5A patent/CN116436989A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220035600A1 (en) | API Specification Generation | |
CN107403173B (zh) | 一种人脸识别***及方法 | |
CN110598280B (zh) | 一种设备仿真***和方法、计算机可读存储介质 | |
US10453165B1 (en) | Computer vision machine learning model execution service | |
CN109213519B (zh) | 一种异构api适配处理方法及*** | |
WO2020042029A1 (zh) | 调用链路的发现方法、装置、设备及存储介质 | |
CN109684052B (zh) | 事务分析方法、装置、设备及存储介质 | |
US10382387B2 (en) | OID configuration, resolution method, client, node, database and storage medium | |
RU2697648C2 (ru) | Система классификации трафика | |
CN111209325B (zh) | 业务***接口识别方法、装置及存储介质 | |
CN113626512A (zh) | 数据处理方法、装置、设备及可读存储介质 | |
CN111949720B (zh) | 基于大数据和人工智能的数据分析方法及云端数据服务器 | |
CN116776030A (zh) | 灰度发布方法、装置、计算机设备、存储介质 | |
CN112883088A (zh) | 一种数据处理方法、装置、设备及存储介质 | |
WO2023077815A1 (zh) | 一种处理敏感数据的方法及装置 | |
CN116436989A (zh) | 报文转换方法、装置、设备以及存储介质 | |
CN112182413B (zh) | 一种基于教学大数据的智能推荐方法及服务器 | |
CN108809900B (zh) | 一种统一资源访问的框架及方法 | |
CN112445811A (zh) | 基于sql配置的数据服务方法、装置、存储介质及组件 | |
CN112688947A (zh) | 基于互联网的网络通信信息智能监测方法及*** | |
CN111695031A (zh) | 基于标签的搜索方法、装置、服务器及存储介质 | |
CN115052035B (zh) | 消息推送方法、设备及存储介质 | |
US11899664B2 (en) | Computerized system and method for optimizing queries in a templated virtual semantic layer | |
CN114499759B (zh) | 报文生成方法、装置、电子设备及存储介质 | |
CN116821888A (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 |