CN109408253A - 一种消息互通的方法及系统 - Google Patents

一种消息互通的方法及系统 Download PDF

Info

Publication number
CN109408253A
CN109408253A CN201811151954.7A CN201811151954A CN109408253A CN 109408253 A CN109408253 A CN 109408253A CN 201811151954 A CN201811151954 A CN 201811151954A CN 109408253 A CN109408253 A CN 109408253A
Authority
CN
China
Prior art keywords
interactive information
data
data format
format
current system
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
Application number
CN201811151954.7A
Other languages
English (en)
Inventor
郑强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Qihoo Technology Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201811151954.7A priority Critical patent/CN109408253A/zh
Publication of CN109408253A publication Critical patent/CN109408253A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种消息互通的方法及系统,通过接收使用第一数据格式表示的第一交互信息,然后利用当前系统中的预设数据格式对所述第一交互信息进行解析,得到所述第一交互信息的数据内容;然后利用所述当前系统中的第二数据格式将所述第一交互信息的数据内容进行转换,获得由所述第二数据格式表示的第二交互信息。由于所述第一数据格式和第二数据格式不同。故而,当前系统在接收到第一交互信息之后,会利用自身存储的预设数据格式对其进行解析,将第一交互信息中的数据内容解析出来,然后再利用自身携带的第二数据格式对其进行转换变成第二交互信息。

Description

一种消息互通的方法及系统
技术领域
本申请涉及互联网技术领域,尤其涉及一种消息互通的方法及系统。
背景技术
分布式系统之间的交互一般是利用远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。
由于交互信息具有各自的数据格式,这些数据格式相互之间不能互通,其使用的技术栈也不尽相同。
比如消息A使用THRIFT技术栈,那么发送thrift格式的消息A给现存系统B,由于现存系统B是NODEJS技术栈,因此现存系统的消息是JSON格式的,因此不能够解析thrift格式的消息,两者之间不能实现相互通信。
为了实现消息互通,有下面几种方式:
第一种,统一使用消息A或者现存系统B的格式进行通信。
第二种,约定一种共同的语言来实现相互之间的通信。
无论是上述哪种方式,都必须有一方妥协或者是两方妥协,当前系统都必须进行数据格式的适应性调整才能满足要求,故而,目前消息交互方式由于交互格式的限制,变得十分繁琐。
发明内容
本发明提供了一种消息互通的方法及系统,以解决或者部分解决现有技术的消息交互方式由于交互格式的限制进而变得十分繁琐的技术问题。
为解决上述技术问题,本发明提供了一种消息互通的方法,包括:
接收第一交互信息,所述第一交互信息携带有数据内容,并且所述第一交互信息使用第一数据格式表示;
利用当前系统中的预设数据格式对所述第一交互信息进行解析,得到所述第一交互信息携带的数据内容;
利用所述当前系统中的第二数据格式将所述第一交互信息携带的数据内容进行转换,获得由所述第二数据格式表示的第二交互信息,其中,所述第一数据格式和所述第二数据格式不同。
优选的,所述接收第一交互信息,具体包括:
接收第一外部系统发送的所述第一交互信息,其中,所述第一外部系统和所述当前系统是两个独立的系统,或者
接收所述当前系统中的第一功能模块发送的所述第一交互信息。
优选的,若所述当前系统中具有两种以上的预设数据格式;
所述利用当前系统中的预设数据格式对所述第一交互信息进行解析,得到所述第一交互信息的数据内容,具体包括:
利用所述两种以上的预设数据格式分别对所述对所述第一交互信息进行解析判断,得到能够解析所述第一交互信息的目标预设数据格式;
利用所述目标预设数据格式对所述第一交互信息进行解析,得到所述第一交互信息携带的数据内容。
优选的,若所述两种以上的预设数据格式具有各自的优先级别;
所述利用所述两种以上的预设数据格式分别对所述对所述第一交互信息进行解析判断,得到能够解析所述第一交互信息的目标预设数据格式,具体包括:
按照预先为各预设数据格式配置的优先级别,依次利用各预设数据格式对所述第一交互信息进行解析判断,得到能够解析所述第一交互信息的目标预设数据格式。
优选的,所述按照预先为各预设数据格式配置的优先级别,依次利用各预设数据格式对所述第一交互信息进行解析判断,得到能够解析所述第一交互信息的目标预设数据格式之后,所述方法还包括:
根据所述各预设数据格式各自的历史解析判断记录动态调整对应的预设数据格式的优先级别。
优选的,所述利用所述当前系统中的第二数据格式将所述第一交互信息携带的数据内容进行转换,获得由所述第二数据格式表示的第二交互信息,具体包括:
将所述第一交互信息对应的内容代码转换为所述第二数据格式对应的内容代码;
按照所述第二数据格式对所述第二数据格式对应的内容代码进行格式映射,获得所述第二交互信息。
优选的,所述利用所述当前系统中的第二数据格式将所述第一交互信息携带的数据内容进行转换,获得由所述第二数据格式表示的第二交互信息之后,所述方法还包括:
利用所述当前系统中的第三数据格式将第三交互信息携带的数据内容进行转换,获得由所述第三数据格式表示的第四交互信息,其中,所述第三数据格式和所述第二数据格式不同,所述第三数据格式和所述第一数据格式可以相同也可以不同。
优选的,所述在获得由所述第三数据格式表示的第四交互信息之后,所述方法还包括:
将所述第四交互信息发送给所述第一外部系统或者第二外部系统。
优选的,在获得由所述第三数据格式表示的第四交互信息之后,还包括:
将所述第四交互信息发送给所述第一功能模块或者所述当前系统中的第二功能模块。
本发明的另一个方面,公开了一种消息互通的系统,包括:
接收模块,用于接收第一交互信息,所述第一交互信息携带有数据内容,并且所述第一交互信息使用第一数据格式表示;
第一解析模块,用于利用当前系统中的预设数据格式对所述第一交互信息进行解析,得到所述第一交互信息携带的数据内容;
第一转换模块,用于利用所述当前系统中的第二数据格式将所述第一交互信息携带的数据内容进行转换,获得由所述第二数据格式表示的第二交互信息,其中,所述第一数据格式和所述第二数据格式不同。
优选的,所述接收模块,具体用于:
接收第一外部系统发送的所述第一交互信息,其中,所述第一外部系统和所述当前系统是两个独立的系统,或者
接收所述当前系统中的第一功能模块发送的所述第一交互信息。
优选的,若所述当前系统中具有两种以上的预设数据格式;
所述第一解析模块,具体包括:
判断模块,用于利用所述两种以上的预设数据格式分别对所述对所述第一交互信息进行解析判断,得到能够解析所述第一交互信息的目标预设数据格式;
第二解析模块,用于利用所述目标预设数据格式对所述第一交互信息进行解析,得到所述第一交互信息携带的数据内容。
优选的,若所述两种以上的预设数据格式具有各自的优先级别;
所述判断模块,具体用于按照预先为各预设数据格式配置的优先级别,依次利用各预设数据格式对所述第一交互信息进行解析判断,得到能够解析所述第一交互信息的目标预设数据格式。
优选的,所述系统还包括:
调整模块,用于根据所述各预设数据格式各自的历史解析判断记录动态调整对应的预设数据格式的优先级别。
优选的,所述第一转换模块,具体包括:
第二转换模块,用于将所述第一交互信息对应的内容代码转换为所述第二数据格式对应的内容代码;
第三转换模块,用于按照所述第二数据格式对所述第二数据格式对应的内容代码进行格式映射,获得所述第二交互信息。
优选的,所述系统还包括:
第四转换模块,用于利用所述当前系统中的第三数据格式将第三交互信息携带的数据内容进行转换,获得由所述第三数据格式表示的第四交互信息,其中,所述第三数据格式和所述第二数据格式不同,所述第三数据格式和所述第一数据格式可以相同也可以不同。
优选的,所述系统还包括:
第一发送模块,用于将所述第四交互信息发送给所述第一外部系统或者第二外部系统。
优选的,所述系统还包括:
第二发送模块,用于将所述第四交互信息发送给所述第一功能模块或者所述当前系统中的第二功能模块。
本发明公开了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。
本发明公开了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法的步骤。
通过本发明的一个或者多个技术方案,本发明具有以下有益效果或者优点:
本发明公开了一种消息互通的方法及系统,通过接收使用第一数据格式表示的第一交互信息,然后利用当前系统中的预设数据格式对所述第一交互信息进行解析,得到所述第一交互信息的数据内容;然后利用所述当前系统中的第二数据格式将所述第一交互信息的数据内容进行转换,获得由所述第二数据格式表示的第二交互信息。由于所述第一数据格式和第二数据格式不同。故而,当前系统在接收到第一交互信息之后,会利用自身存储的预设数据格式对其进行解析,将第一交互信息中的数据内容解析出来,然后再利用自身携带的第二数据格式对其进行转换(封装)变成第二交互信息。通过上述实施方式,不管第一交互信息是外部系统发送的还是自身的模块发送的,当前系统都能够识别并处理使用不同数据格式表示的第一交互信息,使其转换为当前系统能够识别的第二交互信息,解决数据格式不同导致的通信限制的问题,达到不管是何种数据格式的交互信息,当前系统都能够在不修改自身数据格式的情况下识别并处理的效果,方式简单。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的一种消息互通的方法的实施过程图;
图2示出了根据本发明一个实施例的一种消息互通的系统的示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明实施例提供了一种消息互通的方法及系统,用以解决现有技术的现有技术的消息交互方式由于交互格式的限制进而变得十分繁琐的技术问题,能够打破目前的数据格式不同导致的信息交互的限制,实现各种数据格式的消息的互通。
在本发明的一个或者多个实施例中提供的消息互通的方法,能够实现具有不同数据格式的系统之间的信息交互。为了详细的说明和解释各系统携带不同数据格式的信息进行交互的过程,本实施例先介绍涉及到的三个系统:
第一外部系统,当前系统(就是实施本发明的系统),第二外部系统。这几个系统都是相互之间独立的系统。
其中,第一外部系统和第二外部系统是不同的系统。
每个系统都有各自的数据格式,当然,每个系统的数据格式和其他系统的数据格式可能相同也可能不同。
目前存在的数据格式有很多种,例如THRIFT,PROTOBUF,JSON,XML,PB等等。如果两个系统的数据格式是相同的,那么相互之间就可以正常方便的通信,而如果两个系统的数据格式不同,受制于数据格式的限制,两个系统之间的通信就比较繁琐。
以上便是涉及到两个以上的系统之间通信时遇到的瓶颈。
而在本发明的一个或者多个实施例中,还存在下面的情况:
同一个系统间的各个功能都可以看做是模块,系统间各功能的实施实际上就可以看做是各个模块之间的交互。随着科技的发展,在同一个系统中,各模块之间的数据格式也可能也不同,那么受制于数据格式的限制,相同系统间的各模块之间的通信也会比较繁琐。
故而,本发明中的一个或者多个实施例的目的就是为了解决上述两种情况下的问题:受制于数据格式的限制导致的通信较为繁琐的问题。
在本发明的一个或者多个实施例中,通过接收使用第一数据格式表示的第一交互信息,然后利用当前系统中的预设数据格式对所述第一交互信息进行解析,得到所述第一交互信息的数据内容;然后利用所述当前系统中的第二数据格式将所述第一交互信息的数据内容进行转换,获得由所述第二数据格式表示的第二交互信息。由于所述第一数据格式和第二数据格式不同。故而,当前系统在接收到第一交互信息之后,会利用自身存储的预设数据格式对其进行解析,将第一交互信息中的数据内容解析出来,然后再利用自身携带的第二数据格式对其进行转换(封装)变成第二交互信息。
通过上述实施方式,不管第一交互信息是外部系统发送的还是自身的模块发送的,当前系统都能够识别并处理使用不同数据格式表示的第一交互信息,使其转换为当前系统能够识别的第二交互信息,解开由于数据格式不同导致的通信限制。不管是何种数据格式的交互信息,当前系统都能够在不修改自身数据格式的情况下识别并处理。
因此,通过上述方式,当前系统能够和具有任意数据格式的外部系统进行通信,外部系统也不用修改其数据格式就可以直接和当前系统进行通信,当前系统和外部系统都不需要修改自身的数据格式,相互之间就可以进行通信。
当然,当前系统也可以和当前系统中具有不同数据格式的其他模块进行通信,当前系统中不同数据格式的模块也不用修改其数据格式就可以直接和当前系统中的当前功能模块进行通信,当前系统内部的各模块也不需要修改自身的数据格式,相互之间就可以进行通信。
具体请参看图1,下面的实施例公开了一种消息互通的方法的具体实施过程,具体包括:
步骤11,接收第一交互信息。
其中,所述第一交互信息携带有数据内容,该数据内容就是第一交互信息的实际数据内容。并且所述第一交互信息使用第一数据格式表示。
进一步的,所述第一交互信息具体是由第一外部系统发送的交互信息,其中,所述第一外部系统和所述当前系统是两个独立的系统。或者,
所述第一交互信息具体是所述当前系统中的第一功能模块发送的交互信息。在这种情况下,具体由当前系统的当前功能模块接收该第一交互信息,进一步的,当前系统的当前功能模块和第一功能模块是两个相互独立执行各自功能的功能模块。
故而,在具体的实施过程中,接收第一交互信息,具体包括:接收第一外部系统发送的所述第一交互信息,其中,所述第一外部系统和所述当前系统是两个独立的系统,或者接收所述当前系统中的第一功能模块发送的所述第一交互信息。
步骤12,利用当前系统中的预设数据格式对所述第一交互信息进行解析,得到所述第一交互信息携带的数据内容。
在具体的实施过程中,当前系统中的预设数据格式有一种或者多种。
在预设数据格式为一种的情况下,那么该种预设数据格式必须和第一交互信息中的数据格式必须一致,才能够对第一交互信息进行解析。例如,第一交互信息的数据格式为JSON数据格式,那么预设数据格式必须也是JSON数据格式,才能够为第一交互信息进行解析。
若所述当前系统中具有两种以上的预设数据格式,则利用所述两种以上的预设数据格式分别对所述对所述第一交互信息进行解析判断,得到能够解析所述第一交互信息的目标预设数据格式,然后利用所述目标预设数据格式对所述第一交互信息进行解析,得到所述第一交互信息的数据内容。
其中,目标预设数据格式和第一数据格式一致。具体的,会判断当前预设数据格式和第一交互信息是否一致。若一致,则将和第一交互信息一致的预设数据格式确定为目标预设数据格式。
举例来说,若第一交互信息是JSON,当前系统中具有3种数据格式,分别为THRIFT,PROTOBUF,JSON,则会利用这三种数据格式THRIFT,PROTOBUF,JSON分别尝试对第一交互信息进行解析判断,判断出当前系统中的JSON格式和第一交互信息的数据格式是一样的,那么则将JSON格式作为目标预设数据格式。然后利用JSON格式对第一交互数据进行具体的解析操作,进而得到第一交互信息携带的数据内容。
作为一种可选的实施例,若所述两种以上的预设数据格式具有各自的优先级别;则按照各预设数据格式各自的优先级别,按照预先为各预设数据格式配置的优先级别,依次利用各预设数据格式对所述第一交互信息进行解析判断,得到能够解析所述第一交互信息的目标预设数据格式。具体的,使用优先级最高的预设数据格式对所述第一交互信息进行解析判断。若其和第一交互信息的数据格式不同,则根据优先级别,在选择优先级第二的预设数据格式对所述第一交互信息进行解析判断。若其和第一交互信息的数据格式也不同,则再选择优先级第二的预设数据格式对所述第一交互信息进行解析判断,依次类推,直到确定出目标预设数据格式。
作为一种可选的实施例,为了更好地使用预设格式对第一交互信息进行解析判断,可根据所述各预设数据格式各自的历史解析判断记录动态调整对应的预设数据格式的优先级别,以提高对第一交互信息的解析效率。例如上一次使用的目标预设格式为JSON格式,而JSON格式优先级排列在第三,那么利用JSON格式对所述第一交互信息进行解析之后,则可以动态的调整JSON格式的优先级,例如,将其调整为优先级第一或者第二。
进一步的,还可以根据各自的历史解析判断记录综合得出各预设数据格式的解析总次数,然后根据总次数进行动态调整,进而提高对第一交互信息的解析效率。
步骤13,利用所述当前系统中的第二数据格式将所述第一交互信息的数据内容进行转换,获得由所述第二数据格式表示的第二交互信息。
其中,所述第一数据格式和第二数据格式不同,第二数据格式是当前系统或者当前系统中的当前功能模块使用的数据格式。
第二交互信息是当前系统将第一交互信息进行转换之后能够识别的信息。
而在具体的实施过程中,将所述第一交互信息对应的内容代码转换为所述第二数据格式对应的内容代码;然后按照所述第二数据格式对所述第二数据格式对应的内容代码进行格式映射,获得所述第二交互信息。
具体来说,第一交互信息中携带有按照其第一数据格式显示的内容代码,该内容代码就是第一交互信息的数据内容。以JSON格式为例,接收到的第一交互信息是对用户的描述信息,0001,其以二进制的格式表示,其中该数据格式依次为:长度、数据类型、数据内容、key值。第三位的数据内容“0”中携带有(xx女23):姓名:xx、性别:女、年龄23。
进一步的,会将第一交互信息的内容代码进行编码,转换为所述第二数据格式对应的内容代码。假设第二数据格式为THRIFT格式,那么则会将第一交互信息的内容代码进行转换,则变成23girlxx。
在获得第二数据格式对应的结构之后,则会将所述其一一映射至第二数据格式对应的结构中,变成¥%*&,依次表示为:key值、数据类型、长度、数据内容,其数据内容为23girlxx。
也就是说,每个交互信息有都有数据格式、内容代码。将第一交互信息中的内容代码解析出来之后,需要将其转换为第二数据格式对应的内容代码,然后按照第二数据格式进行格式映射,映射成利用第二数据格式表示的第二交互信息,该交互信息能够被当前系统识别并处理。
作为一种可选的实施例,所述第二交互信息是所述当前系统需要处理的信息。也就是说,由于第一交互信息的第一数据格式和当前系统的第二数据格式不同,故而若当前系统要处理第一交互信息,则必须将其转换为使用第二数据格式表示的第二交互信息,然后对第二交互信息进行处理。
在处理之后,会将处理后的结果返回给第一外部系统,或者是发送给第二外部系统。
作为一种可选的实施例,还会利用所述当前系统中的第三数据格式将第三交互信息的数据内容进行转换,获得由所述第三数据格式表示的第四交互信息。
其中,第三交互信息可以包括以下几种情况:
第三交互信息是将第二交互信息处理之后得到的处理结果。
第三交互信息是第二交互信息,当前系统只是转发的功能,所以并不会对第二交互信息进行具体的处理。
第三交互信息是和第二交互信息无直接关联的信息。
而所述第三数据格式和所述第二数据格式不同,所述第三数据格式和所述第一数据格式可以相同也可以不同。
第三数据格式具体是第二外部系统的数据格式;或者第三数据格式是当前系统中的第二功能模块的数据格式。
故而,会利用所述当前系统中的第三数据格式将第三交互信息的数据内容进行转换,获得第四交互信息。
作为一种可选的实施例,将所述第四交互信息发送给所述第一外部系统或者第二外部系统,故而第四交互信息是所述当前系统发送给所述第一外部系统或者第二外部系统的交互信息。
此时,当前系统还可能和其他的外部系统(第二外部系统)进行交互,故而此时当前系统有两种处理方式。
第一种处理方式是直接将第三交互信息发送给第二外部系统,由第二外部系统实施本实施例中的方案对第三交互信息进行转换。
第二种处理方式是,利用所述当前系统中的第三数据格式将所述第三交互信息的数据内容进行转换,获得由所述第三数据格式表示的第四交互信息,转换方式可以参考上述一种或者多种实施例中的方案,本实施例不再赘述。如此,第二外部系统可以直接识别第四交互信息。第三数据格式和第一数据格式没有直接的联系,因此所述第三数据格式和所述第一数据格式可以相同也可以不同。
作为一种可选的实施例,在利用所述当前系统中的第三数据格式将所述第三交互信息的数据内容进行转换,获得由所述第三数据格式表示的第四交互信息之后,会将该第四交互信息发送给当前系统的第一功能模块或者是第二功能模块。
因此,第四交互信息是所述当前系统的当前功能模块发送给所述第一功能模块或者所述当前系统中的第二功能模块的交互信息。
以上便是本发明的一个或者多个实施例中的消息互通的方法。
而本发明实施例中的交互信息,涉及了当前的所有类型的交互信息,例如广告信息、金融信息、多媒体信息等等。
为了更加详细的说明和解释本发明,本发明以实际的例子进行举例。
例如广告服务商A和广告服务商B都请求在当前系统中投放广告。广告服务商A发送了PROTOBUF格式的广告请求A,广告服务商B发送了JSON格式的广告请求B。当然,还有其他的广告上服务器也会发送各自数据格式的交互信息。在此本实施例以当前系统和广告商服务器A为例进行说明,其他类似则不再赘述。
当前系统的数据格式为THRIFT。
当前系统接收到广告请求A之后,则会利用当前系统中的预设数据格式(THRIFT,PROTOBUF,JSON,XML,PB等等)对所述第一交互信息进行解析,当使用PROTOBUF解析出广告请求A中的具体内容:显示广告A。
则利用所述当前系统中的THRIFT格式将所述“显示广告A”这一内容进行格式转换,获得由所述THRIFT格式表示的广告请求A,然后当前系统再进行具体的处理。
作为一种可选的实施例,在实际应用中,当前系统中会内置一编译器,由编译器将第一交互信息转换为由第二数据格式表示的第二交互信息,实现第一数据格式到第二数据格式的转换。
当前系统中存在的预设数据格式和第二数据格式都是由编译器生成的,在编译器的thrift格式基于idl自动生成代码时,基于相同的原理,编译器会产生protobuf,json,xml等等格式声明文件,并且生成各个语言的protobuf,json,xml解析代码。故而当前系统可以利用这些数据格式的解析代码进行解析判断、转换等等操作。
基于同一发明构思,本发明实施例公开了一种消息互通的系统,参看图2,包括:
接收模块21,用于接收第一交互信息,所述第一交互信息携带有数据内容,并且所述第一交互信息使用第一数据格式表示;
第一解析模块22,用于利用当前系统中的预设数据格式对所述第一交互信息进行解析,得到所述第一交互信息携带的数据内容;
第一转换模块23,用于利用所述当前系统中的第二数据格式将所述第一交互信息携带的数据内容进行转换,获得由所述第二数据格式表示的第二交互信息,其中,所述第一数据格式和所述第二数据格式不同。
作为一种可选的实施例,接收模块21,具体用于:
接收第一外部系统发送的所述第一交互信息,其中,所述第一外部系统和所述当前系统是两个独立的系统,或者
接收所述当前系统中的第一功能模块发送的所述第一交互信息。
作为一种可选的实施例,若所述当前系统中具有两种以上的预设数据格式;
所述第一解析模块22,具体包括:
判断模块,用于利用所述两种以上的预设数据格式分别对所述对所述第一交互信息进行解析判断,得到能够解析所述第一交互信息的目标预设数据格式;
第二解析模块,用于利用所述目标预设数据格式对所述第一交互信息进行解析,得到所述第一交互信息携带的数据内容。
作为一种可选的实施例,若所述两种以上的预设数据格式具有各自的优先级别;
所述判断模块,具体用于按照预先为各预设数据格式配置的优先级别,依次利用各预设数据格式对所述第一交互信息进行解析判断,得到能够解析所述第一交互信息的目标预设数据格式。
作为一种可选的实施例,所述系统还包括:
调整模块,用于根据所述各预设数据格式各自的历史解析判断记录动态调整对应的预设数据格式的优先级别。
作为一种可选的实施例,所述第一转换模块23,具体包括:
第二转换模块,用于将所述第一交互信息对应的内容代码转换为所述第二数据格式对应的内容代码;
第三转换模块,用于按照所述第二数据格式对所述第二数据格式对应的内容代码进行格式映射,获得所述第二交互信息。
作为一种可选的实施例,所述系统还包括:
第四转换模块,用于利用所述当前系统中的第三数据格式将第三交互信息携带的数据内容进行转换,获得由所述第三数据格式表示的第四交互信息,其中,所述第三数据格式和所述第二数据格式不同,所述第三数据格式和所述第一数据格式可以相同也可以不同。
作为一种可选的实施例,所述系统还包括:
第一发送模块,用于将所述第四交互信息发送给所述第一外部系统或者第二外部系统。
作为一种可选的实施例,所述系统还包括:
第二发送模块,用于将所述第四交互信息发送给所述第一功能模块或者所述当前系统中的第二功能模块。
基于与前述实施例中同样的发明构思,本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前文任一所述方法的步骤。
基于与前述实施例中同样的发明构思,本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现前文任一所述方法的步骤。
通过本发明的一个或者多个实施例,本发明具有以下有益效果或者优点:
本发明公开了一种消息互通的方法及系统,通过接收使用第一数据格式表示的第一交互信息,然后利用当前系统中的预设数据格式对所述第一交互信息进行解析,得到所述第一交互信息的数据内容;然后利用所述当前系统中的第二数据格式将所述第一交互信息的数据内容进行转换,获得由所述第二数据格式表示的第二交互信息。由于所述第一数据格式和第二数据格式不同。故而,当前系统在接收到第一交互信息之后,会利用自身存储的预设数据格式对其进行解析,将第一交互信息中的数据内容解析出来,然后再利用自身携带的第二数据格式对其进行转换(封装)变成第二交互信息。通过上述实施方式,不管第一交互信息是外部系统发送的还是自身的模块发送的,当前系统都能够识别并处理使用不同数据格式表示的第一交互信息,使其转换为当前系统能够识别的第二交互信息,解决数据格式不同导致的通信限制的问题,达到不管是何种数据格式的交互信息,当前系统都能够在不修改自身数据格式的情况下识别并处理的效果,方式简单。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的网关、代理服务器、系统中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明公开了,A1、一种消息互通的方法,其特征在于,包括:
接收第一交互信息,所述第一交互信息携带有数据内容,并且所述第一交互信息使用第一数据格式表示;
利用当前系统中的预设数据格式对所述第一交互信息进行解析,得到所述第一交互信息携带的数据内容;
利用所述当前系统中的第二数据格式将所述第一交互信息携带的数据内容进行转换,获得由所述第二数据格式表示的第二交互信息,其中,所述第一数据格式和所述第二数据格式不同。
A2、如A1所述的方法,其特征在于,所述接收第一交互信息,具体包括:
接收第一外部系统发送的所述第一交互信息,其中,所述第一外部系统和所述当前系统是两个独立的系统,或者
接收所述当前系统中的第一功能模块发送的所述第一交互信息。
A3、如A1所述的方法,其特征在于,若所述当前系统中具有两种以上的预设数据格式;
所述利用当前系统中的预设数据格式对所述第一交互信息进行解析,得到所述第一交互信息的数据内容,具体包括:
利用所述两种以上的预设数据格式分别对所述对所述第一交互信息进行解析判断,得到能够解析所述第一交互信息的目标预设数据格式;
利用所述目标预设数据格式对所述第一交互信息进行解析,得到所述第一交互信息携带的数据内容。
A4、如A3所述的方法,其特征在于,若所述两种以上的预设数据格式具有各自的优先级别;
所述利用所述两种以上的预设数据格式分别对所述对所述第一交互信息进行解析判断,得到能够解析所述第一交互信息的目标预设数据格式,具体包括:
按照预先为各预设数据格式配置的优先级别,依次利用各预设数据格式对所述第一交互信息进行解析判断,得到能够解析所述第一交互信息的目标预设数据格式。
A5、如A4所述的方法,其特征在于,所述按照预先为各预设数据格式配置的优先级别,依次利用各预设数据格式对所述第一交互信息进行解析判断,得到能够解析所述第一交互信息的目标预设数据格式之后,所述方法还包括:
根据所述各预设数据格式各自的历史解析判断记录动态调整对应的预设数据格式的优先级别。
A6、如A1所述的方法,其特征在于,所述利用所述当前系统中的第二数据格式将所述第一交互信息携带的数据内容进行转换,获得由所述第二数据格式表示的第二交互信息,具体包括:
将所述第一交互信息对应的内容代码转换为所述第二数据格式对应的内容代码;
按照所述第二数据格式对所述第二数据格式对应的内容代码进行格式映射,获得所述第二交互信息。
A7、如A1所述的方法,其特征在于,所述利用所述当前系统中的第二数据格式将所述第一交互信息携带的数据内容进行转换,获得由所述第二数据格式表示的第二交互信息之后,所述方法还包括:
利用所述当前系统中的第三数据格式将第三交互信息携带的数据内容进行转换,获得由所述第三数据格式表示的第四交互信息,其中,所述第三数据格式和所述第二数据格式不同,所述第三数据格式和所述第一数据格式可以相同也可以不同。
A8、如A7所述的方法,其特征在于,所述在获得由所述第三数据格式表示的第四交互信息之后,所述方法还包括:
将所述第四交互信息发送给所述第一外部系统或者第二外部系统。
A9、如A7所述的方法,其特征在于,在获得由所述第三数据格式表示的第四交互信息之后,还包括:
将所述第四交互信息发送给所述第一功能模块或者所述当前系统中的第二功能模块。
B10、一种消息互通的系统,其特征在于,包括:
接收模块,用于接收第一交互信息,所述第一交互信息携带有数据内容,并且所述第一交互信息使用第一数据格式表示;
第一解析模块,用于利用当前系统中的预设数据格式对所述第一交互信息进行解析,得到所述第一交互信息携带的数据内容;
第一转换模块,用于利用所述当前系统中的第二数据格式将所述第一交互信息携带的数据内容进行转换,获得由所述第二数据格式表示的第二交互信息,其中,所述第一数据格式和所述第二数据格式不同。
B11、如B10所述的系统,其特征在于,所述接收模块,具体用于:
接收第一外部系统发送的所述第一交互信息,其中,所述第一外部系统和所述当前系统是两个独立的系统,或者
接收所述当前系统中的第一功能模块发送的所述第一交互信息。
B12、如B10所述的系统,其特征在于,若所述当前系统中具有两种以上的预设数据格式;
所述第一解析模块,具体包括:
判断模块,用于利用所述两种以上的预设数据格式分别对所述对所述第一交互信息进行解析判断,得到能够解析所述第一交互信息的目标预设数据格式;
第二解析模块,用于利用所述目标预设数据格式对所述第一交互信息进行解析,得到所述第一交互信息携带的数据内容。
B13、如B12所述的系统,其特征在于,若所述两种以上的预设数据格式具有各自的优先级别;
所述判断模块,具体用于按照预先为各预设数据格式配置的优先级别,依次利用各预设数据格式对所述第一交互信息进行解析判断,得到能够解析所述第一交互信息的目标预设数据格式。
B14、如B13所述的系统,其特征在于,所述系统还包括:
调整模块,用于根据所述各预设数据格式各自的历史解析判断记录动态调整对应的预设数据格式的优先级别。
B15、如B10所述的方法,其特征在于,所述第一转换模块,具体包括:
第二转换模块,用于将所述第一交互信息对应的内容代码转换为所述第二数据格式对应的内容代码;
第三转换模块,用于按照所述第二数据格式对所述第二数据格式对应的内容代码进行格式映射,获得所述第二交互信息。
B16、如B10所述的系统,其特征在于,所述系统还包括:
第四转换模块,用于利用所述当前系统中的第三数据格式将第三交互信息携带的数据内容进行转换,获得由所述第三数据格式表示的第四交互信息,其中,所述第三数据格式和所述第二数据格式不同,所述第三数据格式和所述第一数据格式可以相同也可以不同。
B17、如B16所述的系统,其特征在于,所述系统还包括:
第一发送模块,用于将所述第四交互信息发送给所述第一外部系统或者第二外部系统。
B18、如B16所述的系统,其特征在于,所述系统还包括:
第二发送模块,用于将所述第四交互信息发送给所述第一功能模块或者所述当前系统中的第二功能模块。
C19、一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现A1-A9任一项所述方法的步骤。
D20、一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现A1-A9任一项所述方法的步骤。

Claims (10)

1.一种消息互通的方法,其特征在于,包括:
接收第一交互信息,所述第一交互信息携带有数据内容,并且所述第一交互信息使用第一数据格式表示;
利用当前系统中的预设数据格式对所述第一交互信息进行解析,得到所述第一交互信息携带的数据内容;
利用所述当前系统中的第二数据格式将所述第一交互信息携带的数据内容进行转换,获得由所述第二数据格式表示的第二交互信息,其中,所述第一数据格式和所述第二数据格式不同。
2.如权利要求1所述的方法,其特征在于,所述接收第一交互信息,具体包括:
接收第一外部系统发送的所述第一交互信息,其中,所述第一外部系统和所述当前系统是两个独立的系统,或者
接收所述当前系统中的第一功能模块发送的所述第一交互信息。
3.如权利要求1所述的方法,其特征在于,若所述当前系统中具有两种以上的预设数据格式;
所述利用当前系统中的预设数据格式对所述第一交互信息进行解析,得到所述第一交互信息的数据内容,具体包括:
利用所述两种以上的预设数据格式分别对所述对所述第一交互信息进行解析判断,得到能够解析所述第一交互信息的目标预设数据格式;
利用所述目标预设数据格式对所述第一交互信息进行解析,得到所述第一交互信息携带的数据内容。
4.如权利要求3所述的方法,其特征在于,若所述两种以上的预设数据格式具有各自的优先级别;
所述利用所述两种以上的预设数据格式分别对所述对所述第一交互信息进行解析判断,得到能够解析所述第一交互信息的目标预设数据格式,具体包括:
按照预先为各预设数据格式配置的优先级别,依次利用各预设数据格式对所述第一交互信息进行解析判断,得到能够解析所述第一交互信息的目标预设数据格式。
5.如权利要求4所述的方法,其特征在于,所述按照预先为各预设数据格式配置的优先级别,依次利用各预设数据格式对所述第一交互信息进行解析判断,得到能够解析所述第一交互信息的目标预设数据格式之后,所述方法还包括:
根据所述各预设数据格式各自的历史解析判断记录动态调整对应的预设数据格式的优先级别。
6.如权利要求1所述的方法,其特征在于,所述利用所述当前系统中的第二数据格式将所述第一交互信息携带的数据内容进行转换,获得由所述第二数据格式表示的第二交互信息,具体包括:
将所述第一交互信息对应的内容代码转换为所述第二数据格式对应的内容代码;
按照所述第二数据格式对所述第二数据格式对应的内容代码进行格式映射,获得所述第二交互信息。
7.如权利要求1所述的方法,其特征在于,所述利用所述当前系统中的第二数据格式将所述第一交互信息携带的数据内容进行转换,获得由所述第二数据格式表示的第二交互信息之后,所述方法还包括:
利用所述当前系统中的第三数据格式将第三交互信息携带的数据内容进行转换,获得由所述第三数据格式表示的第四交互信息,其中,所述第三数据格式和所述第二数据格式不同,所述第三数据格式和所述第一数据格式可以相同也可以不同。
8.一种消息互通的系统,其特征在于,包括:
接收模块,用于接收第一交互信息,所述第一交互信息携带有数据内容,并且所述第一交互信息使用第一数据格式表示;
第一解析模块,用于利用当前系统中的预设数据格式对所述第一交互信息进行解析,得到所述第一交互信息携带的数据内容;
第一转换模块,用于利用所述当前系统中的第二数据格式将所述第一交互信息携带的数据内容进行转换,获得由所述第二数据格式表示的第二交互信息,其中,所述第一数据格式和所述第二数据格式不同。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-7任一项所述方法的步骤。
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1-7任一项所述方法的步骤。
CN201811151954.7A 2018-09-29 2018-09-29 一种消息互通的方法及系统 Pending CN109408253A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811151954.7A CN109408253A (zh) 2018-09-29 2018-09-29 一种消息互通的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811151954.7A CN109408253A (zh) 2018-09-29 2018-09-29 一种消息互通的方法及系统

Publications (1)

Publication Number Publication Date
CN109408253A true CN109408253A (zh) 2019-03-01

Family

ID=65465686

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811151954.7A Pending CN109408253A (zh) 2018-09-29 2018-09-29 一种消息互通的方法及系统

Country Status (1)

Country Link
CN (1) CN109408253A (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104320396A (zh) * 2014-10-28 2015-01-28 用友优普信息技术有限公司 数据交互装置和方法
CN104702696A (zh) * 2015-03-23 2015-06-10 北京合生共济投资咨询有限责任公司 一种跨平台即时数据交互方法、装置以及系统
US20150181647A1 (en) * 2012-07-23 2015-06-25 Yokogawa Electric Corporation Gateway device, communication system, and communication method
CN107992439A (zh) * 2017-10-13 2018-05-04 武汉高德智感科技有限公司 一种可扩展的数据交互方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150181647A1 (en) * 2012-07-23 2015-06-25 Yokogawa Electric Corporation Gateway device, communication system, and communication method
CN104320396A (zh) * 2014-10-28 2015-01-28 用友优普信息技术有限公司 数据交互装置和方法
CN104702696A (zh) * 2015-03-23 2015-06-10 北京合生共济投资咨询有限责任公司 一种跨平台即时数据交互方法、装置以及系统
CN107992439A (zh) * 2017-10-13 2018-05-04 武汉高德智感科技有限公司 一种可扩展的数据交互方法及系统

Similar Documents

Publication Publication Date Title
CN104932941B (zh) 一种分布式消息处理系统及其中的设备和方法
CN105956000B (zh) 一种数据交互方法及客户端
CN107590186A (zh) 管理和执行数据处理策略的方法和策略引擎系统
CN105939393A (zh) 一种任务运行状态的监控方法和系统
CN105812315B (zh) 基于用户登陆账号的多终端消息传输方法及装置
CN1783882A (zh) 灵活地传输类型化的应用程序数据
CN107688538A (zh) 一种脚本执行方法、装置及计算设备
CN110187983A (zh) 一种远程调用方法、装置及电子设备
CN108769017A (zh) 一种数据通信方法及装置
CN110324405A (zh) 消息发送方法、装置、系统及计算机可读存储介质
CN108241496A (zh) 应用程序的平滑升级方法及装置
CN104539516B (zh) 一种客服服务方法和一种客服服务器
CN107222545A (zh) 一种数据传输方法及装置
CN108924183A (zh) 用于处理信息的方法及装置
CN106055413A (zh) 传输智能手表的应用配置项的方法、装置、服务器和系统
CN101546272B (zh) 一种编译器及其实现方法
CN110234082A (zh) 一种移动终端的寻址方法、装置、存储介质和服务器
CN109408253A (zh) 一种消息互通的方法及系统
CN109815423A (zh) 基于终端分类的二维码识别方法、系统、设备及存储介质
CN104836883A (zh) 来电处理的方法、设备以及系统
CN105471812B (zh) 获取网络视频资源的方法及系统
CN101356503A (zh) 数据处理系统和数据处理方法
CN103634323B (zh) 基于长连接的数据处理实现方法、系统及装置
US20200412671A1 (en) Chat bot operation and management architecture
CN103473376B (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20190301