CN112910763B - 一种提供实时数据接口服务的方法、装置、设备及介质 - Google Patents
一种提供实时数据接口服务的方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN112910763B CN112910763B CN202110181116.XA CN202110181116A CN112910763B CN 112910763 B CN112910763 B CN 112910763B CN 202110181116 A CN202110181116 A CN 202110181116A CN 112910763 B CN112910763 B CN 112910763B
- Authority
- CN
- China
- Prior art keywords
- message
- component
- router
- channel
- service
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/06—Message adaptation to terminal or network requirements
- H04L51/066—Format adaptation, e.g. format conversion or compression
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了一种提供实时数据接口服务的方法、装置、设备及介质。该方法通过消息译码器以及消息路由器执行,所述消息路由器包括的业务组件基于配置文件构成消息通道,所述配置文件包括满足业务场景要求的配置信息,所述方法包括:通过所述消息译码器对第一消息端点产生的数据进行格式调整,传输调整后得到的第一消息给所述消息路由器;通过所述消息路由器采用满足设定条件的消息通道对所述第一消息进行处理得到第二消息,分发所述第二消息至第二消息端点,实现新增业务场景时,修改配置文件即可符合业务场景要求,从而,根据配置文件中的配置信息对消息进行定制化的处理,以满足多样化的业务场景的性能要求。
Description
技术领域
本发明实施例涉及通信技术,尤其涉及一种提供实时数据接口服务的方法、装置、设备及介质。
背景技术
通常情况下,实时数据接口服务需要满足分布式、高可用、高性能和可定制的要求。
目前,常用的实时数据接口服务有Flume,它是一个高可用、高可靠、分布式的海量日志采集、聚合和传输系统,它支持定制各类数据发送方,用于收集数据;同时,提供对数据的简单处理,并写到各类接收方的能力。
然而,Flume只是一个简单的数据通道,它专注于把数据从一侧移动到另一侧,并不能提供复杂路由的能力,而且出于高可靠这一特性的要求,性能并不能达到某些业务场景的处理需要。
发明内容
本发明实施例提供一种提供实时数据接口服务的方法、装置、设备及介质,可以满足多样化的业务场景的性能要求。
第一方面,本发明实施例提供了一种提供实时数据接口服务的方法,通过消息译码器以及消息路由器执行,所述消息路由器包括的业务组件基于配置文件构成消息通道,所述配置文件包括满足业务场景要求的配置信息,所述方法包括:
通过所述消息译码器对第一消息端点产生的数据进行格式调整,传输调整后得到的第一消息给所述消息路由器;
通过所述消息路由器采用满足设定条件的消息通道对所述第一消息进行处理得到第二消息,分发所述第二消息至第二消息端点。
第二方面,本发明实施例还提供了一种提供实时数据接口服务的装置,该装置包括消息译码器以及消息路由器,所述消息路由器包括的业务组件基于配置文件构成消息通道,所述配置文件包括满足业务场景要求的配置信息,其中:
所述消息译码器,用于对第一消息端点产生的数据进行格式调整,传输调整后得到的第一消息给所述消息路由器;
所述消息路由器,用于采用满足设定条件的消息通道对所述第一消息进行处理得到第二消息,分发所述第二消息至第二消息端点。
第三方面,本发明实施例还提供了一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明任意实施例所述的提供实时数据接口服务的方法。
第四方面,本发明实施例还提供了一种包含计算机可执行指令的存储介质,其特征在于,所述计算机可执行指令在由计算机处理器执行时用于执行如本发明任意实施例所述的提供实时数据接口服务的方法。
本发明实施例提供一种提供实时数据接口服务的方法、装置、计算机设备和存储介质,通过消息译码器对第一消息端点产生的数据进行格式调整,传输调整后得到的第一消息给消息路由器,通过所述消息路由器采用满足设定条件的消息通道对所述第一消息进行处理得到第二消息,分发所述第二消息至第二消息端点。通过本发明实施例的技术方案可以解决相关技术不能提供复杂路由及性能不能满足业务场景要求的问题,实现新增业务场景时,修改配置文件,进而基于配置文件调整消息通道即可符合业务场景要求,从而,根据配置文件中的配置信息对消息进行定制化的处理,以满足多样化的业务场景的性能要求。
附图说明
图1为本发明实施例提供的一种提供实时数据接口服务的方法的流程图;
图2为本发明实施例提供的一种管道和过滤器架构下的消息路由器的处理流程示意图;
图3为本发明实施例提供的一种消息路由器的路由流程示意图;
图4为本发明实施例提供的消息通道中一对一通道的模型示意图;
图5为本发明实施例提供的消息通道中一对多通道的模型示意图;
图6为本发明实施例提供的消息通道中数据类型通道模型示意图;
图7为本发明实施例提供的消息通道中非法消息通道模型示意图;
图8为本发明实施例提供的消息通道中死信通道的模型示意图;
图9为本发明实施例提供的另一种提供实时数据接口服务的方法的流程图;
图10为本发明实施例提供的一种实时数据接口服务的业务流程示意图;
图11为本发明实施例提供的一种实现预定义业务过程的代码截图;
图12为一种基于SDTP协议的连接管理过程的信令图;
图13为一种基于SDTP协议的消息处理过程中类之间的调用图;
图14为另一种基于SDTP协议的消息处理过程中类之间的调用图;
图15为本发明实施例提供的一种提供实时数据接口服务的装置的结构框图;
图16为本发明实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
图1为本发明实施例提供的一种提供实时数据接口服务的方法的流程图,本实施例可适用于通过实时数据接口传输实时接口数据的情况,该方法可以由提供实时数据服务的装置来执行,该装置包括消息译码器以及消息路由器,可以由软件和/或硬件实现,其中,消息路由器包括的业务组件基于配置文件构成消息通道,该配置文件包括满足业务场景要求的配置信息。该装置通常集成于计算机设备中。如图1所示,该方法包括:
步骤110、通过所述消息译码器对第一消息端点产生的数据进行格式调整,传输调整后得到的第一消息给所述消息路由器。
其中,使用消息译码器可以将消息中包含的数据转换为与当前环境兼容的数据。示例性地,消息译码器包括封装器组件、内容丰富器组件、内容过滤器组件和标注化器组件等。其中,封装器组件用于给消息添加消息头。消息头类似于一个映射(Map),可以包括一些额外信息。内容丰富器组件用于根据消息属性及配置对消息进行二次加工。内容过滤器组件与内容丰富器组件的作用恰恰相反,有时候处于某些考虑(例如消息需要脱敏)需要减少消息的属性,此时,可以通过内容过滤器组件对消息的内容进行过滤。标准化器组件用于将不支持的消息传送给其它支持这类消息的系统。即当系统收到其不支持的类型的消息时,可以通过标准化器组件将这类详细传送给其它支持这类消息的系统。
消息用于将发送者意图传送给接收者,根据意图不同,可以将消息分为如下类型:命令消息、文档消息、事件消息和请求-回复模式消息等。例如,当实时数据生产者要求实时数据消费者执行某个操作时,那么实时数据生产者会发送命令消息。文档消息可以在不指明数据处理方式的情况下,向实时数据消费者传输数据。事件消息用于通知实时数据生产者或实时数据消费者发生的事件。当消息从实时数据生产者发送消息给实时数据消费者,该消息被视为请求。当接收到请求消息的实时数据消费者需要向实时数据生产者发送消息时,被发送的消息就是回复。在使用请求-回复模式消息时,如果想要使实时数据消费者根据地址做出回复,而不是直接对实时数据生产者做出回复,就需要使用返回地址。请求-回复模式通常会使用消息序列号在请求消息和回复消息之间建立关联,将消息序列号称为相关标识符。当需要发送必须由多条物理消息组成的一条逻辑消息时,可以使用消息序列。消息在有效性内有效,如果超出有效期则该条消息会因过期而失效。
消息端点是实时数据生产者和实时数据消费者。可选地,有时候消息端点并不完全等同于实时数据生产者和实时数据消费者,可以给物理上的实时数据生产者和实时数据消费者加上一定的逻辑意义,消息端点就是对这些逻辑意义的归类与描述。例如,根据逻辑意义不同,消息端点可以包括消息传输网关、事务型端点、轮询消费者、具有竞争力的消费者、选择性消费者、持久化订阅者和幂等接收者等。
其中,消息传输网关即实时数据生产者和实时数据消费者。
事务型端点可以用于处理特定事务。例如,读文件内容进行SDTP(Safe DataTransfer Protocol,安全数据传输协议)发送,只有SDTP发送成功,才能把文件删除。
轮询消费者模式下,实时数据消费者通过轮询方式向实时数据生产者请求获取信息,在实时数据生产者能够提供被请求信息前,需要阻塞实时数据消费者。
通常来讲,具有竞争性的消费者即为负载均衡。
选择性消费者是一种消息过滤器,仅允许系统处理它支持的消息。
持久化订阅者用于确保实时数据消费者还未准备激活的情况下,不会错过已发送的消息。
幂等接收者用来限定处理重复消费的场景。
第一消息是通过消息译码器,对实时消息生产者产生的数据进行格式调整得到的消息。
示例性地,消息译码器包括封装器组件、内容丰富器组件、内容过滤器组件和标准化器组件中的一种或多种的组合。通过所述消息译码器对第一消息端点产生的数据进行格式调整,包括下述步骤中的一项或多项:
通过封装器组件为第一消息端点产生的数据添加消息头;
通过内容丰富器组件根据消息属性及配置信息对第一消息端点产生的数据进行调整;
通过内容过滤器组件根据业务场景对第一消息端点产生的数据进行内容过滤;
通过标准化器组件将所述第一消息端点产生的数据中不支持的消息类型对应数据传送给其它消息译码器。
本实施例在对第一消息端点产生的数据进行格式整理得到第一消息之后,将第一消息传输给消息路由器。
步骤120、通过所述消息路由器采用满足设定条件的消息通道对所述第一消息进行处理得到第二消息,分发所述第二消息至第二消息端点。
其中,配置文件包括满足业务场景要求的配置信息。例如,可以使用yaml配置文件,映射某一个具体的实时数据传输场景。可以抽象实时数据传输场景下通用的业务逻辑,通过业务逻辑生成配置文件,并通过过程管理器使用配置文件对消息路由器的各业务组件进行组合构成处理过程。
其中,业务组件可以包括的过滤器组件、业务处理器组件、拆分器组件和聚合器组件,基于配置文件建立过滤器组件、业务处理器组件、拆分器组件和聚合器组件之间的联系,以构成所述消息路由器的至少一个消息通道。
在通过上述组件构成消息通道时,使用消息路由器架构,以通过将许多处理步骤链接到一起的方式构成处理过程。每个处理步骤都不会与其它处理步骤耦合。因此,当出现新需求时,所有处理步骤都会被重新安排或替换。图2为本发明实施例提供的一种管道和过滤器架构下的消息路由器的处理流程示意图。如图2所示,消息端点产生第一实时消息和第二实时消息,通过过滤器过滤掉第二实时消息,通过满足业务场景要求的业务组件对第一实时消息进行处理,得到第二消息。可选地,可以采用组合消息处理器组件将多个组件视为一个组合消息处理器,有助于将这些组件构成管道和过滤器模式中的独立过滤器。
过滤器组件用于过滤掉当前业务中不需要关注的内容。过滤方式可以包括基于组件的模式和基于通用组件的模式。当对性能要求比较苛刻或过滤规则非常复杂的场景下,会使用基于组件的模式。对需求侧提出的过滤规则进行代码化实现,并采用组件的形式使用过滤规则。可选地,还可以把一些通用的过滤规则以组件的方式提供。可以采用SpringEL表达式实现过滤规则,以实现灵活配置。
业务处理器组件用于对消息及上下文进行调整处理。例如,通过业务处理器组件实现传送名单。通过传送名单实现采用责任链的模式进行业务处理,将许多处理步骤链接到一起构成处理过程。每个处理步骤都不会与其它处理步骤耦合。因此,当出现新需求时,所有处理步骤都会被重新安排或替换。可选地,处理过程可以包括将一些通用的业务处理步骤以组件的方式提供,可支持新组件加入。
拆分器组件用于对消息进行拆分处理。如果逻辑上的一个消息是物理上的多条消息的集合,那么可以通过拆分器组件对其进行拆分。通常可以在文件处理过程中,按照行对文件进行拆分处理。可选地,可以将一些通用的拆分器以组件的方式提供,同时也支持新的组件加入。
聚合器组件用于将多个消息合并成一个进行输出。例如,在文件处理过程中,为了减少文件打开关闭的次数,通过聚合器组件一次写入多行记录。可选地,可以将一些通用的聚合器以组件的方式提供,同时也支持新的组件加入。
单一的路由器通常只能完成某一类职责,通过采用一种基于管道的定制化处理过程管理器使用yaml配置文件,映射某一个具体的实时数据传输场景,把上述组件进行组合构成处理过程。
需要说明的是,消息路由器用于在收到消息时,检查消息的某个属性(或消息本身的某个状态)、消息上下文的某个属性或上述所有这些元素,并通过符合技术或业务条件的消息通道分发当前的消息。具体地,消息路由器可以包括基于内容的路由器、消息过滤器、动态路由器、接收者列表、分离器、聚合器、重新定序器、组合消息处理器、分散-聚集路由器、传送名单和处理过程管理器等。图3为本发明实施例提供的一种消息路由器的路由流程示意图。如图3所示,通过消息路由器中符合技术或业务条件的消息通道将消息分发给消息接收端。
其中,基于内容的路由器用于根据从消息内容中分析的部分字段为整条消息提供路由。
消息过滤器用于过滤掉实时数据消费者不感兴趣或不兼容的消息。
动态路由器包含多个活动部分,通过使用规则根据实际情况对各活动部分适时地进行调整。
接收者列表与电子邮件通讯录类似,使用通讯录可以设置任意数量的电子邮件接收者,相似地,根据将要发送的消息类型预先确定接收者列表。
分离器用于基于消息内容对消息进行拆分。例如,当需要将较大的消息分隔成多个独立部分,并将这些独立部分作为消息发送时,可使用分离器。
聚合器用于将相关的多条消息合并成一条消息。需要说明的是,可以使用各种结束条件设计聚合器。结束条件包括但不限于等待所有操作完成,超时,采用最先到达的数据、因重写操作导致的超时或外部事件等。例如,等待所有操作完成时,进行聚合操作。或者,在超时的情况下,进行聚合操作。或者,在接收到最先到达的消息时,进行聚合操作。在发生因重写操作导致的超时的情况下,进行聚合操作。在检测到外部事件时,进行聚合操作。
由于分布式系统的复杂性,消息并不能总是按照发送时的顺序到达。当实时数据消费者关心发送消息的次序时,可以使用重新定序器。
在组合使用接收者列表和聚合器,以及基于内容的路由器和分离器时,就构成了一种较大的路由模式,将该路由模式称为组合消息过滤器。
分散-聚集路由器的实现形式可以包括:将接收者列表和聚合器组合起来实现分散-聚集路由器,以及,使用一对多消息通道实现分散-聚集路由器。
当某个大型的业务过程从逻辑方面看仅执行一个操作,但从物理方面看含有一系列处理步骤时,可以使用传送名单。例如,传送名单是一种处理过程管理器,但它只能处理一系列固定的线性处理步骤。
即使在设计程序时不知道有哪些必要步骤和排列处理步骤的顺序,使用处理过程管理器也可以为消息提供经过多个处理步骤的路由。具体地,实现处理过程管理器的方式主要有两个:一种方式是创建一门领域专用语言和一个解释程序,另一个是实现专门的用于具体业务领域的处理过程管理器。
本实施例中,消息通道是指实时数据生产者和实时数据消费者通信的方式,使用消息通道不会使实时数据生产者和实时数据消费者有任何关联。从逻辑方面讲,消息通道是一种先入先出的队列。本实施例中与消息通道相关的术语包括一对一通道、一对多通道、数据类型通道、非法消息通道和死信通道等。
图4为本发明实施例提供的消息通道中一对一通道的模型示意图。如图4所示,将从一个实时数据生产者到一个实时数据消费者的消息通道作为一对一通道。可选地,可以把多个负载均衡的实时数据消费者作为一个整体,以采用一对一通道进行消息传输。通常情况下,可以把多个实时数据生产者到一个实时数据消费者的模型抽象成多个一对一模型。
图5为本发明实施例提供的消息通道中一对多通道的模型示意图。如图5所示,将从一个实时数据生产者到多个实时数据消费者,且每个实时数据消费者都接收同样的一份数据的消息通道作为一对多通道。通常情况下,可以把从多个实时数据生产者到多个实时数据消费者的模型抽象成多个一对多模型。
图6为本发明实施例提供的消息通道中数据类型通道模型示意图。如图6所示,当实时数据消费者在不校验消息内容的情况下需要了解收到消息的数据类型时,可以使用数据类型通道。通常会在区分话单类型的业务时,使用数据类型通道。
图7为本发明实施例提供的消息通道中非法消息通道模型示意图。由于在消息通道中传输的消息只能是实时数据消费者能够处理的消息。
图8为本发明实施例提供的消息通道中死信通道的模型示意图。当实时数据消费者无法处理当前消息时,可以将当前消息发送给死信通道,以丢弃当前消息。
示例性地,根据所述第一消息的属性信息和/或消息上下文的属性信息,确定满足设定条件的消息通道;通过满足设定条件的所述消息通道包括的过滤器组件对所述第一消息进行过滤处理,保留关注消息;通过满足设定条件的所述消息通道包括的拆分器组件对所述关注消息进行拆分处理,传输拆分后的第一子消息给对应消息通道包括的聚合器组件,传输拆分后的第二子消息给对应消息通道包括的业务处理器组件;通过满足设定条件的消息通道包括的业务处理器组件对所述第二子消息及消息上下文进行调整处理;通过满足设定条件的消息通道包括的聚合器组件对所述第一子消息和调整处理后的第二子消息及消息上下文进行聚合处理,得到第二消息及消息上下文;通过满足设定条件的所述消息通道分发第二消息及消息上下文到第二消息端点。
本实施例的技术方案,通过消息译码器对第一消息端点产生的数据进行格式调整,传输调整后得到的第一消息给消息路由器,通过所述消息路由器采用满足设定条件的消息通道对所述第一消息进行处理得到第二消息,分发所述第二消息至第二消息端点。通过本发明实施例的技术方案可以解决相关技术不能提供复杂路由及性能不能满足业务场景要求的问题,实现新增业务场景时,修改配置文件,进而基于配置文件调整消息通道即可符合业务场景要求,从而,根据配置文件中的配置信息对消息进行定制化的处理,以满足多样化的业务场景的性能要求。
图9为本发明实施例提供的另一种提供实时数据接口服务的方法的流程图,本实施例是对上述实施例的进一步限定。如图9所示,该方法包括:
步骤210、获取数据生产者产生的数据,根据业务场景将数据抽象成满足业务场景要求的消息。
步骤220、通过所述消息译码器对第一消息端点产生的数据进行格式调整,传输调整后得到的第一消息给所述消息路由器。
步骤230、根据所述第一消息的属性信息和/或消息上下文的属性信息,确定满足设定条件的消息通道。
例如,根据第一消息的属性信息、消息的上下文的属性信息,或者结合第一消息的属性信息以及消息上下文的属性信息,从消息路由器的至少一个消息通道中选择符合技术或业务条件的消息通道,作为满足设定条件的消息通道。
步骤240、通过满足设定条件的所述消息通道包括的过滤器组件对所述第一消息进行过滤处理,保留关注消息。
具体地,过滤器组件包括接口过滤器组件、表达式过滤器组件和定制化过滤器组件。接口过滤器包括position、value和match三个参数,其中,position决定了取消息中那个字段、value决定了期望的值、match表明是做==判断还是!=判断。接口过滤器通常用来过滤指定类型的话单。Spring EL表达式过滤器,可以采用形如spel:#{body[21]==5}这样的语法实现,并可以灵活配置。手机号过滤器是一种定制化的过滤器组件,实现把所有手机号为空的话单进行过滤,手机号过滤器只为了某一项需求而产生。
步骤250、通过满足设定条件的所述消息通道包括的拆分器组件对所述关注消息进行拆分处理,传输拆分后的第一子消息给对应消息通道包括的聚合器组件,传输拆分后的第二子消息给对应消息通道包括的业务处理器组件。
示例性地,将文件按照行拆分成一个一个消息进行发送,根据配置文件中的配置信息将拆分得到的部分消息发送给聚合器组件,将剩余消息发送给业务处理器组件。
步骤260、通过满足设定条件的消息通道包括的业务处理器组件对所述第二子消息及消息上下文进行调整处理。
示例性的,在业务处理器组件是话单类型处理器组件的情况下,按照配置文件中的配置信息,通过话单类型处理器组件为第二子消息添加话单类型的消息头。可选地,在业务处理器组件是话单解析处理器组件的情况下,通过满足设定条件的消息通道包括的话单解析处理器组件,将所述第二子消息及消息上下文解析成键值对结构的实体。
具体地,话单类型是话单处理中最重要的属性,需要根据话单类型不同而进行不同的处理。通过话单类型处理器给消息增加一个话单类型的消息头,以区分不同话单类型的话单。话单通常是码流形式的,为方便后续的业务处理,通常会把码流形式的话单进行解析,翻译成key-value结构的实体,即得到调整处理后的第二子消息及消息上下文。
步骤270、通过满足设定条件的消息通道包括的聚合器组件对所述第一子消息和调整处理后的第二子消息及消息上下文进行聚合处理,得到第二消息。
示例性地,通过聚合器组件将第一子消息和第二子消息及消息上下文进行聚合处理,得到第二消息。对于文件来说,可以对通过文件拆分器按照行拆分得到的各子消息进行相应处理后,通过文件聚合器将多条子消息合并进行一次处理,以减少文件打开关闭的频率,提高性能。
具体地,通过过滤器组件、业务处理器组件、拆分器组件和聚合器组件等业务组件串联起业务处理过程。过滤器组件用来在消息处理前进行数据过滤,业务处理器组件用来对消息及上下文进行改造,拆分器组件用来对实时数据生产者生产的消息进行拆分,聚合器组件用来重定义实时数据消费者接收到的消息。
步骤280、通过满足设定条件的所述消息通道分发所述第二消息及消息上下文到第二消息端点。
需要说明的是,由于在设计程序时并不知道有哪些必要步骤和处理步骤的顺序等,可以通过处理过程管理器实现基于业务场景的灵活配置。
假设定义一个业务过程,该业务过程是从kafka接收全量原始话单,然后只对某一类型的话单进行处理,去掉某一类型的话单中的某些字段,最后通过SDTP协议发送给对端。图10为本发明实施例提供的一种实时数据接口服务的业务流程示意图。如图10所示,实时数据生产者作为消息端点101产生数据(即原始话单),根据业务场景要求将数据抽象为满足要求的消息。通过消息译码器102去掉某一类型的话单中的某些字段,然后通过消息路由器103进行配置文件规定的过滤和加工,然后,通过路由选择符合条件的消息通道,并通过SDTP协议发送给作为实时数据消费者的消息端点104。
可选地,根据业务目的确定是采用一对一通道,还是一对多通道。根据业务场景决定是否使用数据类型通道和非法消息通道。根据业务指标衡量使用死信通道的利弊。
可选地,消息端点的决策依赖于业务场景,实时数据的生产者与实时数据的消费者肯定是业务明确的,再根据实时数据的消费者的特性选择附加不同的逻辑意义就形成了消息端点。例如,在实时数据消费者请求SDTP消息时,其逻辑意义是事务。又如,对于实时数据消费者通过轮询方式向实时数据生产者请求获取消息时,其逻辑意义是轮询。
图11为本发明实施例提供的一种实现预定义业务过程的代码截图。图11所示的代码中,route.main定义了主程序,这里也支持组件扩展,可以实现自己的主程序。route.pipeline.pipelineSource中from定义了实时数据生产者,其中kafka是实时数据生产者所使用的数据接口。需要说明的是,本发明实施例不仅仅支持kafka,还支持诸如HTTP、FILE、FTP等数据接口,实时数据生产者的配置参数使用URL的方式进行管理。此外,route.pipeline.pipelineSource中filter定义了过滤器,用于对全量消息进行过滤只保留所关注的消息。此外,route.pipeline.pipelineSource中processors定义了业务处理器,多个业务处理器可以用逗号隔开以组成处理器链。route.pipeline.loadBalance用于定义是否使用负载均衡策略。route.pipeline.pipelineTos中to定义了实时数据消费者,其中SDTP是实时数据消费者所使用的数据接口。需要说明的是,本发明实施例不仅仅支持SDTP,还支持诸如HTTP、FILE、FTP等数据接口,实时数据消费者的配置参数使用URL的方式进行管理。
本发明实施例的技术方案,对实时数据接口服务进行定制化开发,抽象出通用业务处理的流程、并抽取出数据过滤、数据加工等逻辑概念形成配置文件,通过配置文件的配置信息把数据从一个消息端点经过过滤、加工,并通过消息路由器输出到另一个消息端点,实现复杂的路由。此外,在新增业务场景时,通过修改配置文件即可满足业务数据的流向要求,并根据业务场景定制对应的过滤或处理步骤等,满足多样化业务场景的要求。
在上述技术方案的基础上,通过对SDTP类型的消息端点之间的业务处理流程说明本发明实施例中的实时数据接口服务。
SDTP协议用来传输原始XDR及XDR对应的原始数据,是移动重要的数据接口规范;其消息类型如表1所示。
表1为SDTP协议的消息类型表。
消息名 | MessageType值 | 说明 |
verNego_Req | 0x0001 | 版本协商请求 |
verNego_Resp | 0x8001 | 版本协商应答 |
linkAuth_Req | 0x0002 | 鉴权请求 |
linkAuth_Resp | 0x8002 | 鉴权响应 |
linkCheck_Req | 0x0003 | 链路检测请求 |
linkCheck_Resp | 0x8003 | 链路检测应答 |
linkRel_Req | 0x0004 | 连接释放请求 |
linkRel_Resp | 0x8004 | 连接释放应答 |
linkDataCheck_Req | 0x0007 | 链路数据发送校验请求 |
linkDataCheck_Resp | 0x8007 | 链路数据发送校验应答 |
notifyXDRData_Req | 0x0005 | XDR数据通知请求 |
notifyXDRData_Resp | 0x8005 | XDR数据通知应答 |
XDRRawDataSend_Req | 0x0006 | XDR对应原始数据传输请求 |
XDRRawDataSend_Resp | 0x8006 | XDR对应原始数据传输应答 |
XDRRawDataQuery_Req | 0x0008 | XDR数据反查请求 |
XDRRawDataQuery_Resp | 0x8008 | XDR数据反查应答 |
notifyKpiData_Req | 0x0009 | KPI数据通知请求 |
notifyKpiData_Resp | 0x8009 | KPI数据通知应答 |
需要说明的是,表1中XDR对应原始数据传输请求、XDR对应原始数据传输应答、XDR数据反查请求、XDR数据反查应答、KPI数据通知请求、KPI数据通知应答这几种消息类型通常不会被使用。
SDTP协议规定的消息结构如表2和3所示。
表2为SDTP协议规定的消息整体结构表。
项目 | 说明 |
Message Header | 消息头(所有消息公共包头) |
Message Body | 消息体,即各种消息定义的参数,详见后续介绍 |
由表2可知,消息由消息头和消息体构成。
表3为SDTP协议规定的消息头结构表。
由表3可知,消息头的长度为9个字节。
需要说明的是,不同消息类型的消息对应的消息体结构不同。
图12为一种基于SDTP协议的连接管理过程的信令图。在图12中数据发送请求消息和数据发送应答消息使用了如本发明实施例中的提供实时数据接口服务的方法。如图12所示,TCP连接建立之后,还需要版本协商通过、链路鉴权通过才能成功进行通信;在程序功能实现上,系统使用Dubbo框架,基于Netty对SDTP协议进行实现。
图13为一种基于SDTP协议的消息处理过程中类之间的调用图。图13中,SdtpByteExchangeCodec是编码解码对象,它按照消息的整体结构,一方面把流转换成实体以便业务处理、一方面把实体转换成流以便进行发送。需要说明的是,此处只提到了消息的整体结构,也就是不涉及具体的消息类型。有一个特例是NotifyXDRDataRequest对象,我们在接到0x0005这种消息类型时,会把此条消息映射成一个NotifyXDRDataRequest对象。SdtpByteServiceHandler是服务端的实现,它具备处理版本协商、链路鉴权请求的能力,另外会包含一个IBusinessHandler对象进行NotifyXDRDataRequest的业务处理。SdtpByteClientHandler是客户端的实现,它具备在TCP连接建立之后,向服务端发送版本协商、链路鉴权请求的能力。
由于消息种类的繁多,以及载体通常是码流的形式,可以使用AVRO框架对消息进行解码,以便进行业务处理。
图14为另一种基于SDTP协议的消息处理过程中类之间的调用图。图14中,SdtpLogicType定义了一组不同于avro标准的数据类型,是运营商通常使用的消息字段格式。SdtpTypeEnum列举了每一种消息字段格式。SdtpConversion实现了流到实体的转换,实体到流的转换。SdtpConversion与SdtpLogicType在框架层面进行绑定,然后SdtpConversion使用SdtpTypeEnum进行转换,SdtpTypeEnum把转换的具体操作定义在SdtpLogicType里面。
需要说明的是,高吞吐量的系统势必会使用多线程技术,在多线程模型的选择上使用Disruptor框架。需要说明的是,Disruptor是英国外汇交易公司LMAX开发的一个高性能队列,研发的初衷是解决内存队列的延迟问题。基于Disruptor开发的系统单线程能支撑每秒600万订单;它使用一个RingBuffer的数据结构,巧妙的回避了多线程处理过程中存在的锁的问题,并消除了伪共享带来的CPU损耗。
分布式系统不可避免的会跟网络、IO打交道,使用Netty处理这些细节,在开发的时候,时刻遵循着Reactor模型、履行“零拷贝”的真谛,大大提高了系统性能与稳定性。并提供工具对网卡进行监控,对码流进行解析,加快了分布式系统对接的效率。
对比现有的实时数据接口服务,本发明提供的实时数据接口服务主要具有以下几大优势:
1.使用更高效的多线程处理模型,极大的提高了系统的性能;
2.基于Netty的网络处理,保证了系统的稳定性;
3.基于组件架构的设计,提高了系统的可扩展性及软件的生命周期;
4.基于配置化的处理过程管理器,使系统可轻松应对多种多样的业务场景。
可替换地,本发明实施例中基于Dubbo框架实现的SDTP规范抽象了通用的规范处理,可用来实现其他基于TCP协议的应用层规范。
可替换地,本发明实施例中实现了另外一组可用于通用话单解析的字段类型是基于AVRO框架,也可基于Protobuf、Thrift。
可替换地,本发明实施例中用于实时数据接口服务的处理过程管理器是基于Camel实现的,也可基于Webx等具备Pipeline流程的框架来实现。
图15为本发明实施例提供的一种提供实时数据接口服务的装置的结构框图,该装置可以由软件和/或硬件实现,并通常集成于计算机设备中。如图15所示,该装置包括:消息译码器310以及消息路由器320,所述消息路由器320包括的业务组件基于配置文件构成消息通道,所述配置文件包括满足业务场景要求的配置信息,其中:
所述消息译码器310,用于对第一消息端点产生的数据进行格式调整,传输调整后得到的第一消息给所述消息路由器320;
所述消息路由器320,用于采用满足设定条件的消息通道对所述第一消息进行处理得到第二消息,分发所述第二消息至第二消息端点。
可选地,所述消息译码器310包括封装器组件3101、内容丰富器组件3102、内容过滤器组件3103和标准化器组件3104中的一种或多种的组合;
以及,消息译码器310具体用于执行下述步骤中的一项或多项:
通过所述封装器组件为第一消息端点产生的数据添加消息头;
通过所述内容丰富器组件根据消息属性及配置信息对所述第一消息端点产生的数据进行调整;
通过所述内容过滤器组件根据业务场景对所述第一消息端点产生的数据进行内容过滤;
通过所述标准化器组件将所述第一消息端点产生的数据中不支持的消息类型对应数据传送给其它消息译码器。
可选地,消息路由器320包括过滤器组件3201、业务处理器组件3202、拆分器组件3203和聚合器组件3204,通过所述消息路由器330建立过滤器组件3201、业务处理器组件3202、拆分器组件3203和聚合器组件3204之间的联系,以构成所述消息路由器的至少一个消息通道;
以及,消息路由器320具体用于:
根据所述第一消息的属性信息和/或消息上下文的属性信息,确定满足设定条件的消息通道;
通过满足设定条件的所述消息通道包括的过滤器组件对所述第一消息进行过滤处理,保留关注消息;
通过满足设定条件的所述消息通道包括的拆分器组件对所述关注消息进行拆分处理,传输拆分后的第一子消息给对应消息通道包括的聚合器组件,传输拆分后的第二子消息给对应消息通道包括的业务处理器组件;
通过满足设定条件的消息通道包括的业务处理器组件对所述第二子消息及消息上下文进行调整处理;
通过满足设定条件的消息通道包括的聚合器组件对所述第一子消息和调整处理后的第二子消息及消息上下文进行聚合处理,得到第二消息。
可选地,所述过滤器组件3201包括接口过滤器组件、表达式过滤器组件和定制化过滤器组件。
可选地,在所述业务处理器组件是话单类型处理器组件的情况下,消息路由器320具体还用于:
通过满足设定条件的消息通道包括的话单类型处理器组件,为所述第二子消息添加话单类型的消息头。
可选地,在所述业务处理器组件是话单解析处理器组件的情况下,消息路由器320具体还用于:
通过满足设定条件的消息通道包括的话单解析处理器组件,将所述第二子消息及消息上下文解析成键值对结构的实体。
可选地,消息路由器320具体还用于:
通过满足设定条件的所述消息通道分发所述第二消息及消息上下文到第二消息端点。
本发明实施例所提供的提供实时数据接口服务的装置可执行本发明任意实施例所提供的提供实时数据接口服务的方法,具备执行方法相应的功能模块和有益效果。
图16为本发明实施例提供的一种计算机设备的结构示意图,如图16所示,该计算机设备包括处理器40、存储器41、输入装置42和输出装置43;计算机设备中处理器40的数量可以是一个或多个,图16中以一个处理器40为例;计算机设备中的处理器40、存储器41、输入装置42和输出装置43可以通过总线或其他方式连接,图16中以通过总线连接为例。
存储器41作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的提供实时数据接口服务的方法对应的程序指令/模块(例如,消息译码器310和消息路由器320)。处理器40通过运行存储在存储器41中的软件程序、指令以及模块,从而执行计算机设备的各种功能应用以及数据处理,即实现上述的提供实时数据接口服务的方法。
存储器41可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器41可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器41可进一步包括相对于处理器40远程设置的存储器,这些远程存储器可以通过网络连接至计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置42可用于接收输入的数字或字符信息,以及产生与计算机设备的用户设置以及功能控制有关的键信号输入。输出装置43可包括显示屏等显示设备。
本发明实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种提供实时数据接口服务的方法,该方法通过消息译码器以及消息路由器执行,所述消息路由器包括的业务组件基于配置文件构成消息通道,所述配置文件包括满足业务场景要求的配置信息,所述方法包括:
通过所述消息译码器对第一消息端点产生的数据进行格式调整,传输调整后得到的第一消息给所述消息路由器;
通过所述消息路由器采用满足设定条件的消息通道对所述第一消息进行处理得到第二消息,分发所述第二消息至第二消息端点。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的提供实时数据接口服务的方法中的相关操作.
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述提供实时数据接口服务的装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (9)
1.一种提供实时数据接口服务的方法,其特征在于,通过消息译码器以及消息路由器执行,所述消息路由器包括的业务组件基于配置文件构成消息通道,所述配置文件包括满足业务场景要求的配置信息,所述方法包括:
通过所述消息译码器对第一消息端点产生的数据进行格式调整,传输调整后得到的第一消息给所述消息路由器;
通过所述消息路由器采用满足设定条件的消息通道对所述第一消息进行处理得到第二消息,分发所述第二消息至第二消息端点;
其中,所述消息路由器包括过滤器组件、业务处理器组件、拆分器组件和聚合器组件,基于所述配置文件建立过滤器组件、业务处理器组件、拆分器组件和聚合器组件之间的联系,以构成所述消息路由器的至少一个消息通道;
以及,所述通过所述消息路由器采用满足设定条件的消息通道对所述第一消息进行处理得到第二消息,包括:
根据所述第一消息的属性信息和/或消息上下文的属性信息,确定满足设定条件的消息通道;
通过满足设定条件的所述消息通道包括的过滤器组件对所述第一消息进行过滤处理,保留关注消息;
通过满足设定条件的所述消息通道包括的拆分器组件对所述关注消息进行拆分处理,传输拆分后的第一子消息给对应消息通道包括的聚合器组件,传输拆分后的第二子消息给对应消息通道包括的业务处理器组件;
通过满足设定条件的消息通道包括的业务处理器组件对所述第二子消息及消息上下文进行调整处理;
通过满足设定条件的消息通道包括的聚合器组件对所述第一子消息和调整处理后的第二子消息及消息上下文进行聚合处理,得到第二消息。
2.根据权利要求1所述的方法,其特征在于,所述消息译码器包括封装器组件、内容丰富器组件、内容过滤器组件和标准化器组件中的一种或多种的组合;
以及,所述通过所述消息译码器对第一消息端点产生的数据进行格式调整,包括下述步骤中的一项或多项:
通过所述封装器组件为第一消息端点产生的数据添加消息头;
通过所述内容丰富器组件根据消息属性及配置信息对所述第一消息端点产生的数据进行调整;
通过所述内容过滤器组件根据业务场景对所述第一消息端点产生的数据进行内容过滤;
通过所述标准化器组件将所述第一消息端点产生的数据中不支持的消息类型对应数据传送给其它消息译码器。
3.根据权利要求1所述的方法,其特征在于,所述过滤器组件包括接口过滤器组件、表达式过滤器组件和定制化过滤器组件。
4.根据权利要求1所述的方法,其特征在于,在所述业务处理器组件是话单类型处理器组件的情况下,所述通过满足设定条件的消息通道包括的业务处理器组件对所述第二子消息及消息上下文进行调整处理,包括:
通过满足设定条件的消息通道包括的话单类型处理器组件,为所述第二子消息添加话单类型的消息头。
5.根据权利要求1所述的方法,其特征在于,在所述业务处理器组件是话单解析处理器组件的情况下,所述通过满足设定条件的消息通道包括的业务处理器组件对所述第二子消息及消息上下文进行调整处理,包括:
通过满足设定条件的消息通道包括的话单解析处理器组件,将所述第二子消息及消息上下文解析成键值对结构的实体。
6.根据权利要求1所述的方法,其特征在于,所述分发所述第二消息至第二消息端点,包括:
通过满足设定条件的所述消息通道分发所述第二消息及消息上下文到第二消息端点。
7.一种提供实时数据接口服务的装置,其特征在于,包括消息译码器以及消息路由器,所述消息路由器包括的业务组件基于配置文件构成消息通道,所述配置文件包括满足业务场景要求的配置信息,其中:
所述消息译码器,用于对第一消息端点产生的数据进行格式调整,传输调整后得到的第一消息给所述消息路由器;
所述消息路由器,用于采用满足设定条件的消息通道对所述第一消息进行处理得到第二消息,分发所述第二消息至第二消息端点;
其中,所述消息路由器包括过滤器组件、业务处理器组件、拆分器组件和聚合器组件,通过所述消息路由器建立过滤器组件、业务处理器组件、拆分器组件和聚合器组件之间的联系,以构成所述消息路由器的至少一个消息通道;
以及,所述消息路由器具体用于:
根据所述第一消息的属性信息和/或消息上下文的属性信息,确定满足设定条件的消息通道;
通过满足设定条件的所述消息通道包括的过滤器组件对所述第一消息进行过滤处理,保留关注消息;
通过满足设定条件的所述消息通道包括的拆分器组件对所述关注消息进行拆分处理,传输拆分后的第一子消息给对应消息通道包括的聚合器组件,传输拆分后的第二子消息给对应消息通道包括的业务处理器组件;
通过满足设定条件的消息通道包括的业务处理器组件对所述第二子消息及消息上下文进行调整处理;
通过满足设定条件的消息通道包括的聚合器组件对所述第一子消息和调整处理后的第二子消息及消息上下文进行聚合处理,得到第二消息。
8.一种计算机设备,其特征在于,所述计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-6中任一所述的提供实时数据接口服务的方法。
9.一种包含计算机可执行指令的存储介质,其特征在于,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-6中任一所述的提供实时数据接口服务的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110181116.XA CN112910763B (zh) | 2021-02-09 | 2021-02-09 | 一种提供实时数据接口服务的方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110181116.XA CN112910763B (zh) | 2021-02-09 | 2021-02-09 | 一种提供实时数据接口服务的方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112910763A CN112910763A (zh) | 2021-06-04 |
CN112910763B true CN112910763B (zh) | 2023-03-24 |
Family
ID=76123417
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110181116.XA Active CN112910763B (zh) | 2021-02-09 | 2021-02-09 | 一种提供实时数据接口服务的方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112910763B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101527704A (zh) * | 2008-03-05 | 2009-09-09 | 华为技术有限公司 | 一种多协议信令转换的方法和装置 |
CN101557593A (zh) * | 2009-05-26 | 2009-10-14 | 白江 | 一种多功能无线接入设备及无线接入方法 |
CN111770128A (zh) * | 2020-02-07 | 2020-10-13 | 北京沃东天骏信息技术有限公司 | 一种消息管理方法和装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9183064B2 (en) * | 2011-12-30 | 2015-11-10 | General Electric Company | Intelligent mediation of messages in a healthcare product integration platform |
US20130297528A1 (en) * | 2012-05-04 | 2013-11-07 | Sap Ag | Business process model notation extension for modeling of integration processes |
US9871848B1 (en) * | 2013-09-30 | 2018-01-16 | Emc Corporation | Integration engine for communications between source and target applications |
US10419586B2 (en) * | 2015-03-23 | 2019-09-17 | Sap Se | Data-centric integration modeling |
CN105893162B (zh) * | 2016-03-29 | 2019-04-09 | 浙江大学 | 一种基于消息自动路由的多医疗信息系统集成方法 |
US10176146B2 (en) * | 2016-12-06 | 2019-01-08 | Sap Se | Integration pattern implementations using reconfigurable logic devices |
CN109768885B (zh) * | 2018-12-28 | 2022-04-15 | 厦门熵基生物识别信息技术有限公司 | 一种支持多协议分布式高并发通信服务端设备和通信方法 |
-
2021
- 2021-02-09 CN CN202110181116.XA patent/CN112910763B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101527704A (zh) * | 2008-03-05 | 2009-09-09 | 华为技术有限公司 | 一种多协议信令转换的方法和装置 |
CN101557593A (zh) * | 2009-05-26 | 2009-10-14 | 白江 | 一种多功能无线接入设备及无线接入方法 |
CN111770128A (zh) * | 2020-02-07 | 2020-10-13 | 北京沃东天骏信息技术有限公司 | 一种消息管理方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112910763A (zh) | 2021-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11411897B2 (en) | Communication method and communication apparatus for message queue telemetry transport | |
CN111787066B (zh) | 一种基于大数据与ai的物联网数据平台 | |
CN110300056B (zh) | 一种实时响应式api网关及其请求处理方法 | |
CN101099345B (zh) | 利用采样和试探在网络元件处解释应用消息的方法和设备 | |
RU2419986C2 (ru) | Объединение многострочных протокольных вхождений | |
US8544075B2 (en) | Extending a customer relationship management eventing framework to a cloud computing environment in a secure manner | |
EP2140636B1 (en) | A messaging system and method | |
US20100115041A1 (en) | Creating a message readable by a plurality of heterogeneous recipients | |
US7802304B2 (en) | Method and system of providing an integrated reputation service | |
US20090122699A1 (en) | Prioritizing network traffic | |
US20110170505A1 (en) | Systems and methods for exposing different service facades of an underlying network | |
CN102355426A (zh) | 实现离线文件传输的方法和系统 | |
CN107135188B (zh) | 金融信息交换fix协议的业务实现方法、装置及系统 | |
CN106059892A (zh) | 一种用于融合通信系统的消息引擎 | |
US20230168955A1 (en) | Method and system for processing a stream of incoming messages sent from a specific input message source and validating each incoming message of that stream before sending them to a specific target system | |
CN110381058B (zh) | 基于全双工通信协议WebSocket的请求传输方法及装置 | |
CN113687958A (zh) | 数据处理方法、系统、计算机设备和存储介质 | |
US20090193095A1 (en) | Using message content to group messages | |
US20080268883A1 (en) | Spam short message blocking system using a call back short message and a method thereof | |
CN112910763B (zh) | 一种提供实时数据接口服务的方法、装置、设备及介质 | |
CN112689020A (zh) | 一种消息传输方法、消息中间件、电子设备及存储介质 | |
CN116055403A (zh) | 报文数据的传输方法、装置和服务器 | |
KR20040063646A (ko) | 소프트스위치 개방형 시스템의 이벤트 처리 방법 | |
Moreland Jr et al. | Service‐Oriented Architecture (SOA) Instantiation within a Hard Real‐Time, Deterministic Combat System Environment | |
CN111866157B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |