CN110677427B - 多报文解析方法 - Google Patents
多报文解析方法 Download PDFInfo
- Publication number
- CN110677427B CN110677427B CN201910947829.5A CN201910947829A CN110677427B CN 110677427 B CN110677427 B CN 110677427B CN 201910947829 A CN201910947829 A CN 201910947829A CN 110677427 B CN110677427 B CN 110677427B
- Authority
- CN
- China
- Prior art keywords
- message
- service
- request
- data
- sends
- 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
Links
- 238000004458 analytical method Methods 0.000 title claims abstract description 21
- 238000012545 processing Methods 0.000 claims abstract description 29
- 238000000034 method Methods 0.000 claims abstract description 14
- 238000007781 pre-processing Methods 0.000 claims abstract description 7
- 230000008569 process Effects 0.000 claims abstract description 7
- 230000005540 biological transmission Effects 0.000 claims abstract description 5
- 239000000872 buffer Substances 0.000 claims abstract description 3
- 230000010354 integration Effects 0.000 claims description 5
- 230000004044 response Effects 0.000 claims description 4
- 230000007246 mechanism Effects 0.000 claims description 3
- 230000008878 coupling Effects 0.000 abstract description 4
- 238000010168 coupling process Methods 0.000 abstract description 4
- 238000005859 coupling reaction Methods 0.000 abstract description 4
- 238000004891 communication Methods 0.000 abstract description 2
- 238000005516 engineering process Methods 0.000 description 9
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 239000000306 component Substances 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000010200 validation analysis Methods 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/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种多报文解析方法,属于计算机及通信技术领域。该方法使用XML和JSON格式报文进行系统间的消息传递,客户端发出消息处理请求后,服务前端适配器对请求进行标准化预处理及判断,并将消息发送到中端,中端接收到前端发送的请求消息后,对消息进行缓冲,并进行重新组织,基于后端消费能力发送消息到后端进行消息处理,后端根据请求消息进行逻辑处理,生产消息所需数据或结果;后端处理完消息后,将返回结果发送到中端,返回结果数据,唤醒前端程序,前端程序接收返回结果并返回到客户端。与现有技术相比,本发明的多报文解析方法降低了提供方和消费方的耦合程度,屏蔽了不同服务提供方技术实现的差异和细节,具有很好的推广应用价值。
Description
技术领域
本发明涉及计算机及通信技术领域,具体提供一种多报文解析方法。
背景技术
服务提供方提供的接口可供服务消费方系统访问、具有一定业务功能的服务。其业务功能最终由对应服务提供方系统实现。
服务提供方提供的接口是由不同业务系统提供的、具有一定业务功能的、可集成的实体,另外,业务系统接口表现方式有多种,根据具体业务系统实现技术和具体业务内容而不同;例如:某系统提供EJB,某系统提供Web Service,某系统提供JMS等。
数据服务交换,以前以多种交换工具和多种交换技术并存的方式进行,比如ETL工具、http请求,restful接口以及手动导出等,这种方式和技术存在很多问题,如不易维护管理、资源利用率低、自动化程度低等
发明内容
本发明是针对上述现有技术的不足提供一种多报文解析方法。该方法能够降低提供方和消费方的耦合程度,屏蔽了同服务提供方技术实现的差异和细节。
本发明解决其技术问题所采用的技术方案是:多报文解析方法,其特点是使用XML和JSON格式报文进行系统间的消息传递,客户端发出消息处理请求后,服务前端适配器对请求进行标准化预处理及判断,并将消息发送到中端,中端接收到前端发送的请求消息后,对消息进行缓冲,并进行重新组织,基于后端消费能力发送消息到后端进行消息处理,后端根据请求消息进行逻辑处理,生产消息所需数据或结果;后端处理完消息后,将返回结果发送到中端,返回结果数据,唤醒前端程序,前端程序接收返回结果并返回到客户端。
作为优选,服务前端缓存数据或结果,标准化预处理及判断完成后,从数据或结果中查找是否有历史缓存数据,如果有则对数据进行返回,如果没有则把消息发送到中端。
作为优选,客户端发出消息处理请求后,服务前端根据不同的接口请求协议类型分配到不同的适配器进行服务请求处理,并根据请求报文类型选择不同的报文解析适配器进行内容解析,以完成请求的标准化预处理。
作为优选,服务前端根据解析的认证信息确认服务调用方的身份信息,判断该请求是否符合安全规范以及是否有相应的权限。
作为优选,所述报文分为技术报文和业务报文,技术报文包含服务集成的技术控制信息,同时提供扩展性机制;业务报文表达业务服务的业务语义,包含业务逻辑所需要的业务属性。
业务报文包括业务请求报文和业务响应报文,对应业务服务的输入参数和输出参数。
多报文解析系统,其特点是使用XML和JSON格式报文进行系统间的消息传递,系统前端用于以适配器对请求进行标准化预处理及判断,并将消息发送到中端;系统中端用于接收到前端发送的请求消息,对消息进行缓冲,并进行重新组织,基于后端消费能力发送消息到后端进行消息处理;系统后端用于根据请求消息进行逻辑处理,生产消息所需数据或结果;后端处理完消息后,将返回结果发送到中端,返回结果数据,唤醒前端程序,前端程序接收返回结果并返回到客户端。
和现有技术相比,本发明的多报文解析方法具有以下突出的有益效果:
1.请求消息和响应消息均使用XML和JSON进行传递,采用XML和JSON字符串更符合松耦合原则,不但架起了服务提供方和服务消费方消息传递的桥梁,降低了提供方和消费方的耦合程度,最重要的是屏蔽了不同服务提供方技术实现的差异和细节,使用人员不需要了解底层使用的技术和工具,即可进行数据服务交换。
1.1跨平台能力,XML和JSON字符串不依赖于具体的实现平台而普适任何平台,可以方便对用于不同技术实现的系统进行整合传输。
1.2安全性好,XML和JSON是基于纯文本的,可以方便的被人读懂,它可以不受防火墙的限制,方便在系统之间进行传输。而对象格式是二进制格式,对于安全性要求很高的会被限制住。
1.3透明性高,XML和JSON对于各种协议都可以使用,所以可以根据需求灵活选择协议而达到协议的自由切换。
1.4侵入性低,XML和JSON避免对各集成系统的侵入,系统可以利用各种技术手段把接收到的XML和JSON数据进行处理,比如log记录下来以便于系统之间进行对账使用。而对象格式强制要求各系统使用并部署该对象,要求各系统也必须是同构的,在进行对账处理时还需要转换成原生的XML和JSON格式。
2.将报文在组织形式上划分为技术报文和业务报文两个部分,能够将一些技术控制信息与业务信息分离开来,一方面可使逻辑上更加清晰,一方面可以提高系统处理的效率。
附图说明
附图1是本发明多报文解析方法技术流程图;
附图2是本发明多报文解析方法整体图;
附图3是扩展信息节点结构图;
附图4是报文结构图;
附图5是技术报文的定义结构。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明,但不作为对本发明的限定。
实施例:
1、系统中心定位
报文解析在大数据的体系架构中处于应用和底层组件的桥梁位置,起着承上启下的作用,通过对核心组件API的抽象和封装,实现了对上层应用提供统一的、可管理的接口,降低了组件的使用门槛和使用成本;通过报文解析服务,很好的对数据进行封闭和保护,实现了对数据的管控、隔离。
2、系统分层设计
如附图1所示,服务分为前端、中端以及后端三部分,前端用于适配各种请求,如HTTP、WEBSERVICE、EJB等,可接受不同协议发送过来的报文,中端用于缓存请求,充分利用了Kafka的高吞吐量、高并发的特性,提高系统性能,后端用于处理请求报文并进行解析,处理业务逻辑并返回结果,完成从请求到处理到返回的闭环处理。
3、多种类型的接口类型适配
多报文解析服务不仅支持传统的HTTP接口,还支持WebService和EJB接口,符合这三种接口方式的客户端请求均可接入到系统中进行请求服务的处理,请求进入系统后,系统根据不同的接口请求类型分配到不同的适配器进行服务请求处理。
当服务提供方需要使用多报文解析服务的时候,服务提供方需要准备请求数据,请求数据支持XML和JSON两种格式,根据XML或者JSON的语法以及多报文解析服务融合技术对报文内容的要求进行请求数据拼装,拼装完成后即可调用多报文解析服务融合技术进行服务接口的调用。
4、多种报文格式的解析适配
多报文解析服务接收到请求后,系统会根据请求报文类型选择不同的报文解析适配器,系统目前支持XML和JSON两种报文格式的解析。
多报文解析服务对传递到系统的请求消息进行内容解析,解析时系统会根据报文类型的不同使用不同的解析适配器,系统根据解析出来的认证信息、路由信息进行后续处理,系统根据解析的认证信息确认服务调用方的身份信息,认证信息通过后,系统再根据路由信息进行接口服务的路由,根据路由信息路由到相应的服务提供方,服务提供方解析请求消息里的请求参数,解析完成后服务提供方根据请求参数内容、服务业务逻辑进行请求处理,请求处理完成后将处理结果返回给请求方。
对于JSON格式的请求报文,则调用JSONObject.parse("");即可完成对JSON字符串转化为JAVA对象。
如附图2所示,客户端发出消息处理请求,前端适配器对请求进行标准化预处理(根据不同的接口请求协议类型分配到不同的适配器进行服务请求处理,并根据请求报文类型选择不同的报文解析适配器进行内容解析),并判断该请求是否符合安全规范以及是否有相应的权限,通过后则从结果中查找是否有历史缓存数据,如果有则对数据进行返回,如果没有则把消息发送到中端,同时前端程序进行监控,等待返回结果。
消息到中端后,消息在中端进行缓冲,并对消息进行重新组织,基于后端消费能力,发送消息到后端进行消息处理,后端根据请求消息进行逻辑处理,生产消息所需数据或结果。
后端处理完消息后,再次把返回结果发送到中端,返回结果数据,唤醒前端程序,前端程序接收返回结果并返回到客户端。
5、报文结构
报文在组织形式上划分为技术报文和业务报文两个部分,目的是将一些技术控制信息与业务信息分离开来,一方面可使逻辑上更加清晰,一方面可以提高系统处理的效率。
5.1.技术报文
技术报文包含服务集成的一些技术控制信息,既需要考虑技术必须性的要求,比如交易服务、交易流水号、来源系统等,同时需要提供扩展性机制,比如人员、安全信息的可扩展。技术报文的组成结构内容定义如下表:
对于expand,可以增加任意个节点,具体结构如图3所示。
name表示具体类型key,value表示具体的对应值。在有需要时必须增加,有些特殊的name使用要求规范如下:
①目标ID:英文字母destination_id。
②数据人员:英文字母sjry,在业务需要传入人员信息时填写。
③数据机关:英文字母sjjg,在业务需要传入机关信息时填写。
④压缩算法:英文字母zipType,标识采用的压缩算法,用于报文压缩。
⑤加密算法:英文字母encryptType,标识采用的加密算法,用于报文加密。
⑥身份信息:英文字母identityType,标识渠道系统采用的身份信息,用于渠道系统的身份认证。
⑦签名信息:英文字母signatureInfo,标识渠道系统采用的签名信息,用于渠道系统对业务报文进行的签名。
⑧业务数据标识:英文字母ywsjbs,存在能标识此笔业务时需要,用于交易流水查找。
2.业务报文
业务报文表达了业务服务的业务语义,包含业务逻辑所需要的业务属性。
业务报文包括业务请求报文和业务响应报文,对应业务服务的输入参数和输出参数。应用集成平台需要能够根据要求配置这些服务参数是否进行业务语义上的校验,需要能够按照标准通用开放的形式定义业务报文格式及其效验格式。
3.报文规范
采用XML和JSON方式来传输接口数据,报文满足通用性和扩展性原则,能满足业务的各种需要,而且方便开发人员应对不断变化的业务需求,方便新交易的开发。
报文结构,从报文结构上体现技术报文和业务报文,如图4所示。
service为技术报文根节点;
head为技术报文头信息;
body节点为报文体,业务报文填写在此节点中。
技术报文的定义结构如图5所示。
Claims (2)
1.多报文解析方法,其特征在于,使用XML和JSON格式报文进行系统间的消息传递,
客户端发出消息处理请求后,服务前端缓存数据或结果,标准化预处理,并根据解析的认证信息确认服务调用方的身份信息,判断该请求是否符合安全规范以及是否有相应的权限,然后从数据或结果中查找是否有历史缓存数据,如果有则对数据进行返回,如果没有则采用以下方法把消息发送到中端,
服务前端根据不同的接口请求协议类型分配到不同的适配器进行服务请求处理,并根据请求报文类型选择不同的报文解析适配器进行内容解析,以完成请求的标准化预处理及判断,并将消息发送到中端,
中端接收到前端发送的请求消息后,对消息进行缓冲,并进行重新组织,基于后端消费能力发送消息到后端进行消息处理,后端根据请求消息进行逻辑处理,生产消息所需数据或结果;
后端处理完消息后,将返回结果发送到中端,返回结果数据,唤醒前端程序,前端程序接收返回结果并返回到客户端,
所述报文由技术报文、业务报文组成,
所述技术报文,包含服务集成的技术控制信息,同时提供扩展性机制;
所述业务报文,表达业务服务的业务语义,包含业务逻辑所需要的业务属性,包括业务请求报文和业务响应报文,对应业务服务的输入参数和输出参数。
2.根据权利要求1所述的多报文解析方法,其特征在于:对于JSON格式的请求报文,调用JSONObject.parse(""),完成对JSON字符串转化为JAVA对象。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910947829.5A CN110677427B (zh) | 2019-10-08 | 2019-10-08 | 多报文解析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910947829.5A CN110677427B (zh) | 2019-10-08 | 2019-10-08 | 多报文解析方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110677427A CN110677427A (zh) | 2020-01-10 |
CN110677427B true CN110677427B (zh) | 2022-05-24 |
Family
ID=69080807
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910947829.5A Active CN110677427B (zh) | 2019-10-08 | 2019-10-08 | 多报文解析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110677427B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113765857B (zh) * | 2020-06-04 | 2022-10-25 | 华为技术有限公司 | 报文转发方法、装置、设备及存储介质 |
CN112434187A (zh) * | 2020-11-20 | 2021-03-02 | 心医国际数字医疗系统(大连)有限公司 | 基于可配置api接口的医疗数据服务方法及系统 |
CN112836475A (zh) * | 2020-11-24 | 2021-05-25 | 辽宁振兴银行股份有限公司 | 一种混合json和xml数据转为二维数组的方法 |
CN113301160A (zh) * | 2021-05-27 | 2021-08-24 | 杭州海康威视数字技术股份有限公司 | 一种数据报文传输兼容性的实现方法、装置、及电子设备 |
CN114928663A (zh) * | 2022-06-02 | 2022-08-19 | 蜂助手股份有限公司 | 一种识别回调报文的方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102255935A (zh) * | 2010-05-20 | 2011-11-23 | 中兴通讯股份有限公司 | 云服务消费方法、云服务消息包、云服务中介及云系统 |
CN105554133A (zh) * | 2015-12-21 | 2016-05-04 | 世纪龙信息网络有限责任公司 | Http远程数据访问系统和方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8473595B2 (en) * | 2009-12-30 | 2013-06-25 | Bmc Software, Inc. | Method and system to automatically adapt web services from one protocol/idiom to another protocol/idiom |
CN102938731B (zh) * | 2012-11-22 | 2015-01-21 | 北京锐易特软件技术有限公司 | 一种基于代理缓存适配模型的交换集成装置及方法 |
CN103716310B (zh) * | 2013-12-19 | 2017-02-22 | 深圳市蓝凌软件股份有限公司 | 一种基于js的与企业系统进行对接的方法及装置 |
CN104932895A (zh) * | 2015-06-26 | 2015-09-23 | 南京邮电大学 | 一种基于soa的中间件及其信息发布方法 |
CN106484874A (zh) * | 2016-10-13 | 2017-03-08 | 福建星海通信科技有限公司 | 一种将软件平台底层异构数据统一封装的方法以及系统 |
CN106685815A (zh) * | 2017-01-04 | 2017-05-17 | 上海建坤信息技术有限责任公司 | 一种多协议硬件采集网关系统 |
CN109067860B (zh) * | 2018-07-20 | 2021-11-09 | 山东中创软件工程股份有限公司 | 一种移动端消息处理方法及相关装置 |
-
2019
- 2019-10-08 CN CN201910947829.5A patent/CN110677427B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102255935A (zh) * | 2010-05-20 | 2011-11-23 | 中兴通讯股份有限公司 | 云服务消费方法、云服务消息包、云服务中介及云系统 |
CN105554133A (zh) * | 2015-12-21 | 2016-05-04 | 世纪龙信息网络有限责任公司 | Http远程数据访问系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110677427A (zh) | 2020-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110677427B (zh) | 多报文解析方法 | |
US7689709B2 (en) | Native format tunneling | |
EP2739014B1 (en) | Systems and methods for performing caching of dynamically generated objects in a network | |
CN100586109C (zh) | 基于自定义模板的通用业务数据通讯方法与系统 | |
CN106209506B (zh) | 一种虚拟化深度包检测流量分析方法及系统 | |
US7870295B2 (en) | Parsing messages with multiple data formats | |
US8255456B2 (en) | System and method for performing flash caching of dynamically generated objects in a data communication network | |
US20070156852A1 (en) | System and method for performing flash crowd caching of dynamically generated objects in a data communication network | |
CN1987925A (zh) | 一种金融系统综合前置平台及交易数据的转发方法 | |
EP2352269B1 (en) | Service access method and system | |
KR20080048018A (ko) | 멀티-포맷 메시지들을 파싱하기 위한 스키머-기반 동적파스/빌드 엔진 | |
JP2009519508A (ja) | ウェブ・サービス通信の履歴を駆使した最適化のためのシステム及び方法 | |
JP2003518291A (ja) | 実行時コード発生機とトランスレータを用いるデータ交換の方法と装置 | |
CN111338812A (zh) | 数据处理方法及装置 | |
US8707329B2 (en) | Open framework system for heterogeneous computing and service integration | |
CN110858202A (zh) | 数据库查询语句中where子句的生成方法和生成装置 | |
CN109861998A (zh) | 一种基于北斗短报文协议的插件式动态解析系统及方法 | |
TWI442248B (zh) | 處理資料之處理器-伺服器混合系統 | |
US20020111986A1 (en) | Integration of messaging functions and database operations | |
CN107480302A (zh) | 一种基于企业级应用场景的松耦合数据集成同步实现方法 | |
CN111931133A (zh) | 一种基于b/s架构的权限控制方法 | |
US20030061337A1 (en) | Data transfer scheme using caching technique for reducing network load | |
CN113973105B (zh) | 一种简化服务总线上soap消息的系统及方法 | |
EP0912938A1 (en) | Method for coupling transaction systems | |
CN110995815B (zh) | 一种基于Gaia大数据分析系统的信息传输方法 |
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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220429 Address after: 250100 Inspur science and Technology Park, 1036 Inspur Road, hi tech Zone, Jinan City, Shandong Province Applicant after: Inspur Software Technology Co.,Ltd. Address before: 250100 First Floor of R&D Building 2877 Kehang Road, Sun Village Town, Jinan High-tech Zone, Shandong Province Applicant before: SHANDONG INSPUR BUSINESS SYSTEM Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |