CN109660606A - 网络消息代理方法、装置及系统 - Google Patents
网络消息代理方法、装置及系统 Download PDFInfo
- Publication number
- CN109660606A CN109660606A CN201811481745.9A CN201811481745A CN109660606A CN 109660606 A CN109660606 A CN 109660606A CN 201811481745 A CN201811481745 A CN 201811481745A CN 109660606 A CN109660606 A CN 109660606A
- Authority
- CN
- China
- Prior art keywords
- service
- service node
- message
- server
- information
- 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
Classifications
-
- 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/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及网络通信技术领域,提供一种网络消息代理方法、装置及系统,所述方法包括:接收第一服务节点发送的按照预设交互模板生成的服务获取消息,其中,服务获取消息包括待获取的服务信息;依据待获取的服务信息从至少一个第二服务节点中确定出目标服务节点;向目标服务节点发送服务获取消息;接收目标服务节点按照预设交互模板生成的与待获取的服务信息对应的服务返回消息;将服务返回消息返回至第一服务节点。与现有技术相比,本发明通过建立网络消息代理,由网络消息代理统一负责服务节点之间的通信消息的转换及传输,任意一个服务节点无需预先知道其他服务节点提供的服务及支持的消息类型,极大地降低了企业业务系统的重构成本。
Description
技术领域
本发明涉及网络通信技术领域,具体而言,涉及一种网络消息代理方法、装置及系统。
背景技术
基于服务划分思想的面向服务的架构(Service-Oriented Architecture,SOA)解决了企业业务系统的单体架构臃肿、模块耦合性高、可复用性差等问题,实现企业业务系统功能的封装和服务编排功能,并将各个服务按照编排顺序组织起来,统一为外部提供完整服务。为了解决SOA中任意两个服务节点之间由于数据格式不统一带来的通信障碍,现有技术采用可扩展标记语言(eXtensible Markup Language,XML)作为服务节点之间进行消息传输的统一数据格式标准,即待传输的消息首先被消息发送服务节点转换成XML格式再传输,在到达消息接收服务节点之前,先将XML格式消息进行解析,再将解析后的消息发送至消息接收服务节点,在企业业务系统已经成型、尤其是服务节点数量相当庞大的情况下,按照XML格式对整个系统中任意两个服务节点之间的传输格式进行统一重构时,每一个服务节点都需要预先知道其他服务节点提供的服务及支持的消息类型,才能完成待传输的消息的XML格式和服务节点支持的消息类型之间的转换,导致重构成本较高。
发明内容
本发明实施例的目的在于提供一种网络消息代理方法、装置及系统,通过建立网络消息代理,由网络消息代理统一负责服务节点之间的通信消息的转换及传输,任意一个服务节点无需预先知道其他服务节点提供的服务及支持的消息类型,极大地降低了企业业务系统的重构成本。
为了实现上述目的,本发明实施例采用的技术方案如下:
第一方面,本发明实施例提供了一种网络消息代理方法,应用于服务器,服务器与第一服务节点和至少一个第二服务节点通信连接,所述方法包括:接收第一服务节点发送的按照预设交互模板生成的服务获取消息,其中,服务获取消息包括待获取的服务信息;依据待获取的服务信息从至少一个第二服务节点中确定出目标服务节点;向目标服务节点发送服务获取消息;接收目标服务节点按照预设交互模板生成的与待获取的服务信息对应的服务返回消息;将服务返回消息返回至第一服务节点。
第二方面,本发明实施例提供了一种网络消息代理方法,应用于第一服务节点,第一服务节点与服务器通信连接,服务器与至少一个第二服务节点通信连接,所述方法包括:将待获取的服务信息按照预设交互模板生成的服务获取消息发送至服务器,以便服务器依据待获取的服务信息从至少一个第二服务节点中确定出目标服务节点,并向目标服务节点发送服务获取消息,以及接收目标服务节点按照预设交互模板生成的、与待获取的服务信息对应的服务返回消息;接收服务器返回的服务返回消息。
第三方面,本发明实施例提供了一种网络消息代理方法,应用于第二服务节点,第二服务节点与服务器通信连接,服务器与第一服务节点通信连接,所述方法包括:接收服务器依据待获取的服务信息将第二服务节点确定为目标服务节点后发送的服务获取消息,其中,服务获取信息为第一服务节点按照预设交互模板生成并发送至服务器,服务获取消息包括待获取的服务信息;将按照预设交互模板生成的、与待获取的服务信息对应的服务返回消息发送至服务器以便服务器将服务返回消息返回至第一服务节点。
第四方面,本发明实施例还提供了一种网络消息代理装置,应用于服务器,所述服务器与第一服务节点和至少一个第二服务节点通信连接,所述装置包括第一接收模块、确定模块、第一发送模块、第二接收模块和第一返回模块。其中,第一接收模块,用于接收第一服务节点发送的按照预设交互模板生成的服务获取消息,其中,服务获取消息包括待获取的服务信息;确定模块,用于依据待获取的服务信息从至少一个第二服务节点中确定出目标服务节点;第一发送模块,用于向目标服务节点发送服务获取消息;第二接收模块,用于接收目标服务节点按照预设交互模板生成的与待获取的服务信息对应的服务返回消息;第一返回模块,用于将服务返回消息返回至第一服务节点。
第五方面,本发明实施例还提供了一种网络消息代理装置,应用于第一服务节点,所述第一服务节点与服务器通信连接,所述服务器与至少一个第二服务节点通信连接,所述装置包括第二发送模块和第三接收模块。其中,第二发送模块,用于将待获取的服务信息按照预设交互模板生成的服务获取消息发送至服务器,以便服务器依据待获取的服务信息从至少一个第二服务节点中确定出目标服务节点,并向目标服务节点发送服务获取消息,以及接收目标服务节点按照预设交互模板生成的、与待获取的服务信息对应的服务返回消息;第三接收模块,用于接收服务器返回的服务返回消息。
第六方面,本发明实施例还提供了一种网络消息代理装置,应用于第二服务节点,所述第二服务节点与服务器通信连接,所述服务器与第一服务节点通信连接,所述装置包括第四接收模块和第三发送模块。其中,第四接收模块,用于接收服务器依据待获取的服务信息将第二服务节点确定为目标服务节点后发送的服务获取消息,其中,服务获取信息为第一服务节点按照预设交互模板生成并发送至服务器,服务获取消息包括待获取的服务信息;第三发送模块,用于将按照预设交互模板生成的、与待获取的服务信息对应的服务返回消息发送至服务器以便服务器将服务返回消息返回至第一服务节点。
第七方面,本发明实施例还提供了一种网络消息代理系统,所述网络消息代理系统包括服务器、第一服务节点及第二服务节点,服务器与第一服务节点及第二服务节点均通信连接;第一服务节点用于将待获取的服务信息按照预设交互模板生成服务获取消息、并将服务获取消息发送至服务器;服务器用于接收第一服务节点发送的服务获取消息、并依据待获取的服务信息将第二服务节点确定为目标服务节点、以及将服务获取消息发送至第二服务节点;第二服务节点用于接收服务器发送的服务获取消息、并按照预设交互模板生成与待获取的服务信息对应的服务返回消息,以及将服务返回消息发送至服务器;服务器将服务返回消息返回至第一服务节点。
相对现有技术,本发明实施例提供的一种网络消息代理方法、装置及系统,当第一服务节点需要获取服务时,首先将待获取的服务信息按照预设交互模板生成服务获取消息,然后将该服务获取消息发送至服务器;服务器接收到该服务获取消息后,首先依据服务获取消息中的待获取的服务信息从至少一个第二服务节点中确定出目标服务节点,然后将该服务获取消息发送至该目标服务节点,目标服务节点在收到该服务获取消息后,首先获取与该服务获取消息中的待获取的服务信息对应的服务,并将该服务按照预设交互模板生成服务返回消息,最后将该服务返回消息发送至服务器,服务器最终将该服务返回消息返回至第一服务节点。与现有技术相比,本发明实施例通过建立网络消息代理,由网络消息代理统一负责服务节点之间的通信消息的转换及传输,任意一个服务节点无需预先知道其他服务节点提供的服务及支持的消息类型,极大地降低了企业业务系统的重构成本。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例提供的网络消息代理系统的方框示意图。
图2示出了本发明实施例提供的服务器的方框示意图。
图3示出了本发明实施例提供的第一服务节点的方框示意图。
图4示出了本发明实施例提供的第二服务节点的方框示意图。
图5示出了本发明实施例提供的应用于网络消息代理系统的网络消息代理方法流程图。
图6示出了本发明实施例提供的应用于服务器的网络消息代理方法流程图。
图7示出了本发明实施例提供的应用于第一服务节点的网络消息代理方法流程图。
图8示出了本发明实施例提供的应用于第二服务节点的网络消息代理方法流程图。
图9示出了本发明实施例提供的第一网络消息代理装置的方框示意图。
图10示出了本发明实施例提供的第二网络消息代理装置的方框示意图。
图11示出了本发明实施例提供的第三网络消息代理装置的方框示意图。
图标:10-服务器;101-第一存储器;102-第一通信接口;103-第一处理器;104-第一总线;20-第一服务节点;201-第二存储器;202-第二通信接口;203-第二处理器;204-第二总线;30-第二服务节点;301-第三存储器;302-第三通信接口;303-第三处理器;304-第三总线;400-第一网络消息代理装置;401-第一接收模块;402-确定模块;403-第一发送模块;404-第二接收模块;405-第一返回模块;406-广播模块;500-第二网络消息代理装置;501-第二发送模块;502-第三接收模块;600-第三网络消息代理装置;601-第四接收模块;602-第三发送模块。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
请参照图1,图1示出了本发明实施例提供的网络消息代理系统的方框示意图。网络消息代理系统包括服务器10、第一服务节点20及第二服务节点30,第一服务节点20可以通过网络与服务器10通信,以实现第一服务节点20与服务器10之间的消息交互,服务器10可以通过网络与至少一个第二服务节点30通信,以实现服务器10与至少一个第二服务节点30之间的消息交互。
在本发明实施例中,服务器10可以是、但不限于实体服务器、实体服务器上的虚拟机等能提供与所述服务器或者虚拟机有相同功能的计算机。服务器10的操作系统可以是,但不限于,Windows系统、Linux系统等。第一服务节点20可以是、但不限于主机、虚拟机、实体服务器、实体服务器上的虚拟机等,第一服务节点20的操作系统可以是,但不限于,Windows系统、Linux系统等。第二服务节点30可以是、但不限于主机、虚拟机、实体服务器、实体服务器上的虚拟机等,第二服务节点30的操作系统可以是,但不限于,Windows系统、Linux系统等。
请参照图2,图2示出了本发明实施例提供的服务器10的方框示意图。服务器10包括第一存储器101、第一通信接口102、第一处理器103及第一总线104,第一存储器101、第一通信接口102和第一处理器103通过第一总线104连接,第一处理器103用于执行第一存储器101中存储的可执行模块,例如第一网络消息代理装置400包括的软件功能模块或计算机程序。第一网络消息代理装置400包括至少一个可以软件或固件(firmware)的形式存储于第一存储器101中或固化在所述服务器10的操作系统(operating system,OS)中的软件功能模块。
第一存储器101可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。
第一处理器103可以是一种集成电路芯片,具有信号处理能力。上述的第一处理器103可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)、语音处理器以及视频处理器等;还可以是数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
第一总线104可以是ISA总线、PCI总线或EISA总线等。图2中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
请参照图3,图3示出了本发明实施例提供的第一服务节点20的方框示意图。第一服务节点20包括第二存储器201、第二通信接口202、第二处理器203及第二总线204,第二存储器201、第二通信接口202和第二处理器203通过第二总线204连接,第二处理器203用于执行第二存储器201中存储的可执行模块,例如第二网络消息代理装置500包括的软件功能模块或计算机程序。第二网络消息代理装置500包括至少一个可以软件或固件(firmware)的形式存储于第二存储器201中或固化在所述第一服务节点20的操作系统(operatingsystem,OS)中的软件功能模块。
第二存储器201可以是,但不限于,RAM,ROM,PROM,EPROM,EEPROM等。
第二处理器203可以是一种集成电路芯片,具有信号处理能力。上述的第二处理器203可以是通用处理器,包括CPU,NP等;还可以是数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
第二总线204可以是ISA总线、PCI总线或EISA总线等。图3中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
请参照图4,图4示出了本发明实施例提供的第二服务节点30的方框示意图。第二服务节点30包括第三存储器301、第三通信接口302、第三处理器303及第三总线304,第三存储器301、第三通信接口302和第三处理器303通过第三总线304连接,第三处理器303用于执行第三存储器301中存储的可执行模块,例如第三网络消息代理装置600包括的软件功能模块或计算机程序。第三网络消息代理装置600包括至少一个可以软件或固件(firmware)的形式存储于第三存储器301中或固化在所述第二服务节点30的操作系统(operatingsystem,OS)中的软件功能模块。
第三存储器301可以是,但不限于,RAM,ROM,PROM,EPROM,EEPROM等。
第三处理器303可以是一种集成电路芯片,具有信号处理能力。上述的第三处理器303可以是通用处理器,包括CPU,NP等;还可以是数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
第三总线304可以是ISA总线、PCI总线或EISA总线等。图4中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
第一实施例
请参照图5,图5示出了本发明实施例提供的应用于网络消息代理系统的网络消息代理方法流程图。应用于网络消息代理系统的网络消息代理方法包括以下步骤:
步骤S1,第一服务节点将待获取的服务信息按照预设交互模板生成服务获取消息、并将服务获取消息发送至服务器。
在本发明实施例中,业务系统提供的业务功能被划分成多个相对独立的服务,业务系统通过相关的多个服务间的交互统一对外提供服务。服务节点可以是该业务系统中将每个服务对应的操作进行独立封装后提供对应服务的网络节点,例如,业务系统对外提供支付功能,该支付功能包括支付账户身份的认证、账户数据库的更新等,服务节点A提供支付账户认证服务,服务节点B提供账户数据库更新服务,提供支付功能的服务节点首先从服务节点A处获取支付账户认证服务对支付账户进行认证,认证通过后,再从服务节点B处获取账户数据库更新服务,完成账户数据库的更新,最终实现支付功能。在本发明实施例中服务节点包括第一服务节点20和第二服务节点30,其中,第一服务节点20代表服务获取方,第二服务节点30代表服务提供方,对于同一个服务节点,当该服务节点要获取服务时,该服务节点为第一服务节点20,当该服务节点要为其他服务节点提供服务时,该服务节点为第二服务节点30。在本发明实施例中,待获取的服务信息可以包括待获取的服务的标识及获取该服务时需要的各种参数,例如,待获取的服务为账户认证服务,账户认证服务的标识为“pay”,待认证的账户名为:admin,密码为:123@#,则待获取的服务信息可以包括“pay”、“admin”、“123@#”等信息。服务获取消息是将待获取的服务信息按照预设交互模板转换而成的,服务获取消息中包含了待获取的服务信息,即服务获取消息与待获取的服务信息一一对应。
步骤S2,服务器接收第一服务节点发送的服务获取消息、并依据待获取的服务信息将第二服务节点确定为目标服务节点、以及将服务获取消息发送至第二服务节点。
在本发明实施例中,服务器10预先存储有服务信息与第二服务节点30的映射关系,作为一种实施方式,每个第二服务节点30可以对应一个第二服务节点30,也可以对应多个服务节点,服务器10收到服务获取消息后,首先从该服务获取消息中得到待获取的服务信息,在服务信息与第二服务节点30的映射关系中找到与待获取的服务信息对应的第二服务节点30,该第二服务节点30即为目标服务节点,最后,将该服务获取消息发送至已确定为目标服务节点的第二服务节点30。
步骤S3,第二服务节点接收服务器发送的服务获取消息、并按照预设交互模板生成与待获取的服务信息对应的服务返回消息,以及将服务返回消息发送至服务器。
在本发明实施例中,第二服务节点30接收到服务获取消息后,首先对该服务获取消息进行解析,得到该服务获取消息中的待获取的服务信息,然后,获取与待获取的服务信息对应的服务,并将该服务按照预设交互模板生成对应的服务返回消息,最后,将该服务返回消息发送至服务器10。
步骤S4,服务器将服务返回消息返回至第一服务节点。
在本发明实施例中,服务器10上建立有网络消息代理后,服务器10担当网络消息代理的角色,服务器10预先获取其所在网络中第一服务节点20及至少一个第二服务节点30提供的服务及其网络IP地址,并且在接收到第一服务节点20发送的服务获取消息时记录第一服务节点20的IP地址及该服务获取消息对应的待获取服务,当收到第二服务节点30发送的与该服务获取消息对应的服务返回消息时,依据之前记录的第一服务节点20的IP地址及该服务获取消息对应的待获取服务,将该服务返回消息返回至第一服务节点20。
在本发明实施例中,第一服务节点20无需知道待获取的服务所在第二服务节点30,只需将待获取的服务信息按照预设交互模板生成服务获取消息、并将服务获取消息发送至服务器10即可,服务器10依据待获取的服务信息确定出提供与待获取的服务信息对应服务的第二服务节点30,并将该服务获取消息发送至第二服务节点30,第二服务节点30对服务器10发送的服务获取消息进行解析后,将与待获取的服务信息对应的服务按照预设交互模板生成服务返回消息,并将该服务返回消息发送至服务器10,服务器10最终将该服务返回消息返回至第一服务节点20。
第二实施例
请参照图6,图6示出了本发明实施例提供的应用于服务器10的网络消息代理方法流程图。应用于服务器10的网络消息代理方法包括以下步骤:
步骤S101,接收第一服务节点发送的按照预设交互模板生成的服务获取消息,其中,服务获取消息包括待获取的服务信息。
步骤S102,依据待获取的服务信息从至少一个第二服务节点中确定出目标服务节点。
在本发明实施例中,目标服务节点为提供与待获取的服务信息对应服务的第二服务节点30。服务器10解析服务获取消息,并从中获取待获取的服务信息,在预先存储有服务信息与第二服务节点30的映射关系中找到与待获取的服务信息对应的第二服务节点30,将该第二服务节点30确定为目标服务节点。例如,业务系统中共有3个服务节点,分别为:1#服务节点、2#服务节点和3#服务节点,1#服务节点提供A服务,2#服务节点提供B服务,3#服务节点提供C服务,其中,1#服务节点为第一服务节点20,2#服务节点和3#服务节点均为第二服务节点30,1#服务节点需要获取的是B服务,则第二服务节点30中的2#服务节点即为目标服务节点。
步骤S103,向目标服务节点发送服务获取消息。
在本发明实施例中,向目标服务节点发送服务获取消息的同时,服务器10保存第一服务节点20的IP地址及待获取的服务信息,以便在收到目标服务节点发送的目标返回消息后将该目标返回消息返回至第一服务节点20。
步骤S104,接收目标服务节点按照预设交互模板生成的与待获取的服务信息对应的服务返回消息。
步骤S105,将服务返回消息返回至第一服务节点。
在本发明实施例中,为了使第一服务节点20及至少一个第二服务节点30将需要传输的服务信息转换成统一格式,需要通知第一服务节点20及至少一个第二服务节点30统一支持的格式,并按照该统一支持的格式各自生成预设交互模板,以便于在需要传输服务信息时将待传输的服务信息按照预设交互模板生成统一的消息格式,本发明实施例还包括步骤S106。
步骤S106,将预先配置的数据格式文件广播至第一服务节点及至少一个第二服务节点,以使第一服务节点及至少一个第二服务节点分别依据数据格式文件生成预设交互模板。
在本发明实施例中,数据格式文件可以、但不限于标准的网络服务描述语言(WebServices Description Language,WSDL)文件或JS对象简谱(JavaScript ObjectNotation,JSON)文件,数据格式文件也可以是自定义文件,该自定义文件描述与具体业务系统相关的自定义的数据格式的规范。预设交互模板是依据数据格式文件生成的、便于将待传输的服务信息进行统一格式化处理的模板,在本发明实施例中,步骤S106只需要在数据格式文件发生变化的时或者数据格式文件最开始配置好时才需要将其广播至第一服务节点20及至少一个第二服务节点30,以使第一服务节点20及至少一个第二服务节点30依据更新后的数据格式文件重新生成预设交互模板,即每次需要传输服务信息时,只需要使用之前生成的预设交互模板将待传输的服务信息转换成对应的服务消息即可。作为一种实施方式,服务器10可以通过超文本传输协议(Hyper Text Transfer Protocol,HTTP)通道、使用HttpClient(是Apache Jakarta Common下的子项目,用来提供高效的、最新的、功能丰富的支持HTTP协议的客户端编程工具包)提供的POST方法实现将预先配置的数据格式文件广播至第一服务节点20及至少一个第二服务节点30。
需要说明的是,应用于服务器10上的网络消息代理方法还可以进行扩展,例如,可以增加服务器10在转发消息失败时的重试功能,也可以增加服务器10在转发消息出现错误时记录出错信息,方便问题的回溯,提供定位问题的效率,还可以增加诸如安全校验,审计功能。
还需要说明的是,步骤S101-S106既可以用于独立于第一服务节点20及至少一个第二服务节点30的服务器10上,也可以用于提供其他服务如ftp服务的服务器10上。
第三实施例
请参照图7,图7示出了本发明实施例提供的应用于第一服务节点20的网络消息代理方法流程图。应用于第一服务节点20的网络消息代理方法包括以下步骤:
步骤S201,将待获取的服务信息按照预设交互模板生成的服务获取消息发送至服务器,以便服务器依据待获取的服务信息从至少一个第二服务节点中确定出目标服务节点,并向目标服务节点发送服务获取消息,以及接收目标服务节点按照预设交互模板生成的、与待获取的服务信息对应的服务返回消息。
在本发明实施例中,预设交互模板不同,则按照预设交互模板生成的服务获取消息的类型也不一样,例如,当预设交互模板是依据标准的WSDL文件生成的时,则待获取的服务信息按照预设交互模板生成的服务获取消息为SOAP消息,当预设交互模板是依据标准的JSON文件生成的时,则待获取的服务信息按照预设交互模板生成的服务获取消息为JSON消息,当预设交互模板是依据自定义文件生成的时,则待获取的服务信息按照预设交互模板生成的服务获取消息为自定义类型的消息,作为一种实施方式,第一服务节点20可以通过超文本传输协议(Hyper Text Transfer Protocol,HTTP)通道、使用HttpClient提供的GET、POST、PUT、DELETE等方法与服务器10进行服务获取消息及服务返回消息等消息的交换。
步骤S202,接收服务器返回的服务返回消息。
第四实施例
请参照图8,图8示出了本发明实施例提供的应用于第二服务节点30的网络消息代理方法流程图。应用于第二服务节点30的网络消息代理方法包括以下步骤:
步骤S301,接收服务器依据待获取的服务信息将第二服务节点确定为目标服务节点后发送的服务获取消息,其中,服务获取信息为第一服务节点按照预设交互模板生成并发送至服务器,服务获取消息包括待获取的服务信息。
步骤S302,将按照预设交互模板生成的、与待获取的服务信息对应的服务返回消息发送至服务器以便服务器将服务返回消息返回至第一服务节点。
在本发明实施例中,在服务器10上建立网络消息代理,由网络消息代理统一负责服务节点之间的通信消息的转换及传输,服务器10接收第一服务节点20发送的服务获取消息并依据服务获取消息中的待获取的服务信息确定提供服务的第二服务节点30,将服务获取消息发送至第二服务节点30,接收第二服务节点30返回的服务返回消息,并将该服务返回消息返回至第一服务节点20,与现有技术相比,具有以下有益效果:
第一,既支持标准XML和JSON消息类型,又支持用户根据场景的自定义消息类型,降低系统重构的成本,又极大地提高了消息类型支持的灵活性。
第二,第一服务节点20与第二服务节点30之间无需直接进行消息交互,避免了服务节点间的跨域通信问题,只需建立第一服务节点20、第二服务节点30与服务器10之间的通信通道即可,而不必在第一服务节点20与每个第二服务节点30之间建立通信通道。
第三,解耦第一服务节点20与第二服务节点30的通信流程,需要获取服务的第一服务节点20无需关心提供待获取服务的第二服务节点30的地址,只需要将服务获取消息发送至服务器10,由服务器10转发即可。
第四,便于对服务器10上建立的网络消息代理的功能的扩展,增加诸如消息的重发、错误发送失败时错误信息的记录、安全校验、审计等扩展功能。
第五实施例
请参照图9,图9示出了本发明实施例提供的第一网络消息代理装置400的方框示意图。第一网络消息代理装置400应用于服务器10,其包括第一接收模块401;确定模块402;第一发送模块403;第二接收模块404;第一返回模块405;广播模块406。
第一接收模块401,用于接收第一服务节点发送的按照预设交互模板生成的服务获取消息,其中,服务获取消息包括待获取的服务信息。
在本发明实施例中,第一接收模块401用于执行步骤S101。
确定模块402,用于依据待获取的服务信息从至少一个第二服务节点中确定出目标服务节点。
在本发明实施例中,确定模块402用于执行步骤S102。
第一发送模块403,用于向目标服务节点发送服务获取消息。
在本发明实施例中,第一发送模块403用于执行步骤S103。
第二接收模块404,用于接收目标服务节点按照预设交互模板生成的与待获取的服务信息对应的服务返回消息。
在本发明实施例中,第二接收模块404用于执行步骤S104。
第一返回模块405,用于将服务返回消息返回至第一服务节点。
在本发明实施例中,第一返回模块405用于执行步骤S105。
广播模块406,用于将预先配置的数据格式文件广播至第一服务节点及至少一个第二服务节点,以使第一服务节点及至少一个第二服务节点分别依据数据格式文件生成预设交互模板。
在本发明实施例中,广播模块406用于执行步骤S106。
第六实施例
请参照图10,图10示出了本发明实施例提供的第二网络消息代理装置500的方框示意图。第二网络消息代理装置500应用于第一服务节点20,其包括第二发送模块501;第三接收模块502。
第二发送模块501,用于将待获取的服务信息按照预设交互模板生成的服务获取消息发送至服务器,以便服务器依据待获取的服务信息从至少一个第二服务节点中确定出目标服务节点,并向目标服务节点发送服务获取消息,以及接收目标服务节点按照预设交互模板生成的、与待获取的服务信息对应的服务返回消息。
在本发明实施例中,第二发送模块501用于执行步骤S201。
第三接收模块502,用于接收服务器返回的服务返回消息。
在本发明实施例中,第三接收模块502用于执行步骤S202。
第七实施例
请参照图11,图11示出了本发明实施例提供的第三网络消息代理装置600的方框示意图。第三网络消息代理装置600应用于第二服务节点30,其包括第四接收模块601;第三发送模块602。
第四接收模块601,用于接收服务器依据待获取的服务信息将第二服务节点确定为目标服务节点后发送的服务获取消息,其中,服务获取信息为第一服务节点按照预设交互模板生成并发送至服务器,服务获取消息包括待获取的服务信息。
在本发明实施例中,第四接收模块601用于执行步骤S301。
第三发送模块602,用于将按照预设交互模板生成的、与待获取的服务信息对应的服务返回消息发送至服务器以便服务器将服务返回消息返回至第一服务节点。
在本发明实施例中,第三发送模块602用于执行步骤S302。
综上所述,本发明提供的一种网络消息代理方法、装置及系统,应用于服务器的网络消息代理方法包括:接收第一服务节点发送的按照预设交互模板生成的服务获取消息,其中,服务获取消息包括待获取的服务信息;依据待获取的服务信息从至少一个第二服务节点中确定出目标服务节点;向目标服务节点发送服务获取消息;接收目标服务节点按照预设交互模板生成的与待获取的服务信息对应的服务返回消息;将服务返回消息返回至第一服务节点。与现有技术相比,本发明实施例通过建立网络消息代理,由网络消息代理统一负责服务节点之间的通信消息的转换及传输,任意一个服务节点无需预先知道其他服务节点提供的服务及支持的消息类型,极大地降低了企业业务系统的重构成本。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
Claims (10)
1.一种网络消息代理方法,其特征在于,应用于服务器,所述服务器与第一服务节点和至少一个第二服务节点通信连接,所述方法包括:
接收所述第一服务节点发送的按照预设交互模板生成的服务获取消息,其中,所述服务获取消息包括待获取的服务信息;
依据所述待获取的服务信息从所述至少一个第二服务节点中确定出目标服务节点;
向所述目标服务节点发送所述服务获取消息;
接收所述目标服务节点按照所述预设交互模板生成的与所述待获取的服务信息对应的服务返回消息;
将所述服务返回消息返回至所述第一服务节点。
2.如权利要求1所述的网络消息代理方法,其特征在于,所述服务器预先存储有服务信息与第二服务节点的映射关系,所述依据所述待获取的服务信息从所述至少一个第二服务节点中确定出目标服务节点的步骤,包括:
将所述映射关系中与待获取的服务信息对应的第二服务节点确定为所述目标服务节点。
3.如权利要求1所述的网络消息代理方法,其特征在于,所述方法还包括:
将预先配置的数据格式文件广播至所述第一服务节点及所述至少一个第二服务节点,以使所述第一服务节点及所述至少一个第二服务节点分别依据所述数据格式文件生成所述预设交互模板。
4.一种网络消息代理方法,其特征在于,应用于第一服务节点,所述第一服务节点与服务器通信连接,所述服务器与至少一个第二服务节点通信连接,所述方法包括:
将待获取的服务信息按照预设交互模板生成的服务获取消息发送至所述服务器,以便所述服务器依据所述待获取的服务信息从所述至少一个第二服务节点中确定出目标服务节点,并向所述目标服务节点发送所述服务获取消息,以及接收所述目标服务节点按照所述预设交互模板生成的、与所述待获取的服务信息对应的服务返回消息;
接收所述服务器返回的所述服务返回消息。
5.一种网络消息代理方法,其特征在于,应用于第二服务节点,所述第二服务节点与服务器通信连接,所述服务器与第一服务节点通信连接,所述方法包括:
接收所述服务器依据待获取的服务信息将所述第二服务节点确定为目标服务节点后发送的服务获取消息,其中,所述服务获取信息为所述第一服务节点按照预设交互模板生成并发送至所述服务器,所述服务获取消息包括待获取的服务信息;
将按照所述预设交互模板生成的、与所述待获取的服务信息对应的服务返回消息发送至所述服务器以便所述服务器将所述服务返回消息返回至所述第一服务节点。
6.一种网络消息代理装置,其特征在于,应用于服务器,所述服务器与第一服务节点和至少一个第二服务节点通信连接,所述装置包括:
第一接收模块,用于接收所述第一服务节点发送的按照预设交互模板生成的服务获取消息,其中,所述服务获取消息包括待获取的服务信息;
确定模块,用于依据所述待获取的服务信息从所述至少一个第二服务节点中确定出目标服务节点;
第一发送模块,用于向所述目标服务节点发送所述服务获取消息;
第二接收模块,用于接收所述目标服务节点按照所述预设交互模板生成的与所述待获取的服务信息对应的服务返回消息;
第一返回模块,用于将所述服务返回消息返回至所述第一服务节点。
7.如权利要求6所述的网络消息代理装置,其特征在于,所述装置还包括:
广播模块,用于将预先配置的数据格式文件广播至所述第一服务节点及所述至少一个第二服务节点,以使所述第一服务节点及所述至少一个第二服务节点分别依据所述数据格式文件生成所述预设交互模板。
8.一种网络消息代理装置,其特征在于,应用于第一服务节点,所述第一服务节点与服务器通信连接,所述服务器与至少一个第二服务节点通信连接,所述装置包括:
第二发送模块,用于将待获取的服务信息按照预设交互模板生成的服务获取消息发送至所述服务器,以便所述服务器依据所述待获取的服务信息从所述至少一个第二服务节点中确定出目标服务节点,并向所述目标服务节点发送所述服务获取消息,以及接收所述目标服务节点按照所述预设交互模板生成的、与所述待获取的服务信息对应的服务返回消息;
第三接收模块,用于接收所述服务器返回的所述服务返回消息。
9.一种网络消息代理装置,其特征在于,应用于第二服务节点,所述第二服务节点与服务器通信连接,所述服务器与第一服务节点通信连接,所述装置包括:
第四接收模块,用于接收所述服务器依据待获取的服务信息将所述第二服务节点确定为目标服务节点后发送的服务获取消息,其中,所述服务获取信息为所述第一服务节点按照预设交互模板生成并发送至所述服务器,所述服务获取消息包括待获取的服务信息;
第三发送模块,用于将按照所述预设交互模板生成的、与所述待获取的服务信息对应的服务返回消息发送至所述服务器以便所述服务器将所述服务返回消息返回至所述第一服务节点。
10.一种网络消息代理系统,其特征在于,所述网络消息代理系统包括服务器、第一服务节点及第二服务节点,所述服务器与所述第一服务节点及第二服务节点均通信连接;
所述第一服务节点用于将待获取的服务信息按照预设交互模板生成服务获取消息、并将所述服务获取消息发送至所述服务器;
所述服务器用于接收所述第一服务节点发送的服务获取消息、并依据所述待获取的服务信息将所述第二服务节点确定为目标服务节点、以及将所述服务获取消息发送至所述第二服务节点;
所述第二服务节点用于接收所述服务器发送的服务获取消息、并按照所述预设交互模板生成与所述待获取的服务信息对应的服务返回消息,以及将所述服务返回消息发送至所述服务器;
所述服务器将所述服务返回消息返回至所述第一服务节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811481745.9A CN109660606A (zh) | 2018-12-05 | 2018-12-05 | 网络消息代理方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811481745.9A CN109660606A (zh) | 2018-12-05 | 2018-12-05 | 网络消息代理方法、装置及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109660606A true CN109660606A (zh) | 2019-04-19 |
Family
ID=66112524
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811481745.9A Pending CN109660606A (zh) | 2018-12-05 | 2018-12-05 | 网络消息代理方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109660606A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110633254A (zh) * | 2019-09-19 | 2019-12-31 | 中国银行股份有限公司 | 数据交互方法及装置 |
CN113794767A (zh) * | 2021-09-13 | 2021-12-14 | 联想(北京)有限公司 | 数据处理方法、服务器及通信交互系统 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050050228A1 (en) * | 2003-08-29 | 2005-03-03 | Michael Perham | Method and apparatus for the use of dynamic XML message formats with web services |
CN1607791A (zh) * | 2003-10-14 | 2005-04-20 | 国际商业机器公司 | 在面向服务的体系结构中选择服务绑定协议的方法和装置 |
CN1929425A (zh) * | 2005-09-07 | 2007-03-14 | 三星电子株式会社 | web服务提供设备和web服务请求设备及其方法 |
US20080140861A1 (en) * | 2006-12-06 | 2008-06-12 | Yahoo! Inc. | Web Services Multi-Protocol Support |
CN101674255A (zh) * | 2008-09-12 | 2010-03-17 | 北京东方通科技发展有限责任公司 | 一种企业服务总线的消息转发方法、服务器及其系统 |
CN101820381A (zh) * | 2009-02-27 | 2010-09-01 | 华为技术有限公司 | 一种业务路由的方法,系统和装置 |
CN102118370A (zh) * | 2009-12-31 | 2011-07-06 | 华为技术有限公司 | 业务管理方法、装置和系统 |
CN102498486A (zh) * | 2009-09-10 | 2012-06-13 | 摩托罗拉移动公司 | 内容提供商网站交互的系统、服务器和移动设备及其方法 |
CN102571550A (zh) * | 2010-12-30 | 2012-07-11 | 北京亿阳信通软件研究院有限公司 | 一种通用的信息交互平台和方法 |
CN102882934A (zh) * | 2012-09-05 | 2013-01-16 | 浪潮(北京)电子信息产业有限公司 | 基于ESB的Web服务实现方法、ESB和服务中心 |
CN104156822A (zh) * | 2014-08-11 | 2014-11-19 | 国家电网公司 | 一种基于soa的企业级信息系统综合运维管控方法 |
CN104320396A (zh) * | 2014-10-28 | 2015-01-28 | 用友优普信息技术有限公司 | 数据交互装置和方法 |
CN105144111A (zh) * | 2013-03-14 | 2015-12-09 | 微软技术许可有限责任公司 | 用于不同web服务架构的中继服务 |
-
2018
- 2018-12-05 CN CN201811481745.9A patent/CN109660606A/zh active Pending
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050050228A1 (en) * | 2003-08-29 | 2005-03-03 | Michael Perham | Method and apparatus for the use of dynamic XML message formats with web services |
CN1607791A (zh) * | 2003-10-14 | 2005-04-20 | 国际商业机器公司 | 在面向服务的体系结构中选择服务绑定协议的方法和装置 |
CN1929425A (zh) * | 2005-09-07 | 2007-03-14 | 三星电子株式会社 | web服务提供设备和web服务请求设备及其方法 |
US20080140861A1 (en) * | 2006-12-06 | 2008-06-12 | Yahoo! Inc. | Web Services Multi-Protocol Support |
CN101674255A (zh) * | 2008-09-12 | 2010-03-17 | 北京东方通科技发展有限责任公司 | 一种企业服务总线的消息转发方法、服务器及其系统 |
CN101820381A (zh) * | 2009-02-27 | 2010-09-01 | 华为技术有限公司 | 一种业务路由的方法,系统和装置 |
CN102498486A (zh) * | 2009-09-10 | 2012-06-13 | 摩托罗拉移动公司 | 内容提供商网站交互的系统、服务器和移动设备及其方法 |
CN102118370A (zh) * | 2009-12-31 | 2011-07-06 | 华为技术有限公司 | 业务管理方法、装置和系统 |
CN102571550A (zh) * | 2010-12-30 | 2012-07-11 | 北京亿阳信通软件研究院有限公司 | 一种通用的信息交互平台和方法 |
CN102882934A (zh) * | 2012-09-05 | 2013-01-16 | 浪潮(北京)电子信息产业有限公司 | 基于ESB的Web服务实现方法、ESB和服务中心 |
CN105144111A (zh) * | 2013-03-14 | 2015-12-09 | 微软技术许可有限责任公司 | 用于不同web服务架构的中继服务 |
CN104156822A (zh) * | 2014-08-11 | 2014-11-19 | 国家电网公司 | 一种基于soa的企业级信息系统综合运维管控方法 |
CN104320396A (zh) * | 2014-10-28 | 2015-01-28 | 用友优普信息技术有限公司 | 数据交互装置和方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110633254A (zh) * | 2019-09-19 | 2019-12-31 | 中国银行股份有限公司 | 数据交互方法及装置 |
CN113794767A (zh) * | 2021-09-13 | 2021-12-14 | 联想(北京)有限公司 | 数据处理方法、服务器及通信交互系统 |
CN113794767B (zh) * | 2021-09-13 | 2023-09-22 | 联想(北京)有限公司 | 数据处理方法、服务器及通信交互系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Sinha et al. | Building an E Ective IoT Ecosystem for Your Business | |
Backman et al. | Blockchain network slice broker in 5G: Slice leasing in factory of the future use case | |
Rayes et al. | Internet of things from hype to reality | |
US11196839B1 (en) | System and method for classifying API requests in API processing systems using a tree configuration | |
TWI683593B (zh) | 用以致能使用不同通訊協定之裝置間之通訊的系統、方法及/或設備 | |
US8843618B2 (en) | Cloud service information overlay | |
US9521053B1 (en) | Providing diagnostic metrics for virtual connections over physical connections into a provider network | |
WO2021073202A1 (zh) | 智能合约处理方法、计算机设备及存储介质 | |
US9124554B2 (en) | Mobility network operator service delivery hub | |
CN104662839B (zh) | 多个域的链接标识 | |
CN103747004A (zh) | 物联网平台通信协议的实现方法 | |
CN110769009B (zh) | 用户身份认证方法及系统 | |
CN102624918A (zh) | 一种基于url重写技术的代理访问方法 | |
CN113568970A (zh) | 应用业务数据管理方法、装置、设备以及存储介质 | |
CN109660606A (zh) | 网络消息代理方法、装置及系统 | |
CN109284466A (zh) | 用于在区块链中实现网页访问的方法、装置和存储介质 | |
CN109560895A (zh) | 数据传输方法及装置 | |
Muhammad et al. | OneM2M architecture based secure MQTT binding in Mbed OS | |
CN105099769A (zh) | 业务平台的异常操作处理方法、设备和系统 | |
US20110225320A1 (en) | Method For Mechanically Generating Content For Messages | |
Jung et al. | iotSilo: the agent service platform supporting dynamic behavior assembly for resolving the heterogeneity of IoT | |
US10404826B2 (en) | Content based routing architecture system and method | |
US20100241716A1 (en) | System for interconnecting manifold entities across a real-time Meshed Information Exchange network | |
Stusek et al. | Remote management of intelligent devices: Using TR-069 protocol in IoT | |
CN107666426A (zh) | 一种Android平台的IPv6接入系统 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190419 |