CN113992740B - 一种基于自主可控的中间件及数据传输方法 - Google Patents
一种基于自主可控的中间件及数据传输方法 Download PDFInfo
- Publication number
- CN113992740B CN113992740B CN202111250252.6A CN202111250252A CN113992740B CN 113992740 B CN113992740 B CN 113992740B CN 202111250252 A CN202111250252 A CN 202111250252A CN 113992740 B CN113992740 B CN 113992740B
- Authority
- CN
- China
- Prior art keywords
- data
- transmission
- message
- protocol
- layer
- 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
- 230000005540 biological transmission Effects 0.000 title claims abstract description 166
- 238000000034 method Methods 0.000 title claims abstract description 27
- 239000010410 layer Substances 0.000 claims abstract description 69
- 239000012792 core layer Substances 0.000 claims abstract description 21
- 238000012545 processing Methods 0.000 claims abstract description 13
- 230000006978 adaptation Effects 0.000 claims abstract description 12
- 238000012544 monitoring process Methods 0.000 claims abstract description 10
- 230000006870 function Effects 0.000 claims description 32
- 238000001514 detection method Methods 0.000 claims description 22
- 230000006854 communication Effects 0.000 claims description 15
- 238000004891 communication Methods 0.000 claims description 14
- 238000012790 confirmation Methods 0.000 claims description 11
- 230000010354 integration Effects 0.000 claims description 7
- 230000002567 autonomic effect Effects 0.000 claims description 5
- 230000008569 process Effects 0.000 claims description 5
- 230000032683 aging Effects 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000008571 general function Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000008649 adaptation response Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005315 distribution function Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000012858 packaging process Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
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/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/18—Protocol analysers
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer And Data Communications (AREA)
Abstract
本说明书实施例公开了一种基于自主可控的中间件及数据传输方法,中间件包括:适配层用于提供适配多种操作系统的接口,通过选择适配层对应的操作系统接口,确定对应的操作系统;事件驱动核心层用于监听事件驱动核心层的上层传送的数据,并将数据发送至组件扩展层;组件扩展层包括策略管理模块、规则检查模块和协议管理模块;其中,策略管理模块用于根据数据传输需求配置对应的消息传输策略,并根据消息传输策略对数据进行处理;规则检查模块用于对处理后的数据进行检测;协议管理模块用于根据预设的数据传输协议选择对应的传输协议,确定出传输协议,在确定出处理后的数据符合预设规则时,通过传输协议将处理后的数据传送至对应的业务层。
Description
技术领域
本说明书涉及计算机技术领域,尤其涉及一种基于自主可控的中间件及数据传输方法。
背景技术
中间件、操作系统和数据库共同构成基础软件三大支柱。其中,中间件是系统软件和用户应用软件之间连接的软件,以便于软件各部件之间的沟通。同时,中间件还是一种独立的系统软件或服务程序,分布式应用软件借助中间件在不同的技术之间共享资源。中间件在客户服务器的操作系统、网络和数据库之上,管理计算资源和网络通信。总的作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。
现有技术中,用户在应用中间件时大都采用已开发的成品,此时,成品中间件可能并不适配当前的数据传输,在数据传输时可能出现传输失败的情况。
基于此,现需要一种适用于各种情况的中间件,用户可以基于当前的情况进行自主调控。
发明内容
本说明书一个或多个实施例提供了一种基于自主可控的中间件及数据传输方法,用于解决如下技术问题:现有技术中,用户在应用中间件时大都采用已开发的成品,现有的中间件不适配当前的数据传输,在数据传输时可能出现传输失败的情况。
本说明书一个或多个实施例采用下述技术方案:
本说明书一个或多个实施例提供一种基于自主可控的中间件,所述中间件包括:事件驱动核心层与组件扩展层;所述事件驱动核心层用于监听上层传送的数据,并将所述数据发送至所述组件扩展层;所述组件扩展层包括策略管理模块、规则检查模块和协议管理模块;其中,所述策略管理模块用于根据数据传输需求配置对应的消息传输策略,并根据所述消息传输策略对所述数据进行处理;所述规则检查模块用于对处理后的数据进行检测;所述协议管理模块用于根据预设的数据传输协议选择对应的传输协议,确定出传输协议,在确定出所述处理后的数据符合预设规则时,通过所述传输协议将所述处理后的数据传送至对应的业务层。
进一步地,所述消息传输策略根据预设需求划分为多端之间的互传确认策略、维护当前数据有效的时效传输策略、缓存后发送策略以及多线程同时传输策略中的一项或多项。
进一步地,所述多端之间的互传确认策略具体包括:接收端接收到所述数据后返回确认字符,发送端根据所述确认字符确认建立了所述接收端和所述发送端之间建立可靠连接。
进一步地,所述规则检查模块包括报文检查单元和自定义检查单元;所述规则检查模块用于对处理后的数据进行检测,具体包括:所述报文检查单元用于对所述处理后的数据进行数据报文长度有效性检测、数据有效性检测以及数据安全性检测中的一项或多项,通过所述自定义检查单元根据需求对处理后数据的预设字段范围进行检查。
进一步地,所述数据报文长度有效性检测具体包括以下任意一种:当所述处理后数据的数据报文为定长报文时,根据报文标识检测报文长度是否符合预设规定长度;当所述处理后数据的数据报文为变长报文时,根据所述数据的配置文件确定出所述报文长度的预设范围,检测所述报文长度是否处于所述预设范围内;所述数据有效性检测具体包括:检测所述数据的数据字段是否在预设的值域范围内,其中,所述预设的值域范围根据接口协议中定义的值域范围得到;所述数据安全性检测具体包括:根据接口协议定义,检测所述数据对应的域和主题是否超出所述接口协议中规定的范围。
进一步地,所述策略管理模块还包括域管理单元,用于控制消息域的加入或控制消息域的退出;其中,所述控制消息域的加入具体包括:当应用节点加入任一消息域后,所述应用节点与所述消息域中的其他节点进行自动匹配并建立通信关系;所述控制消息域的退出具体包括:当应用节点退出任一消息域后,所述消息域中的其他节点取消与所述应用节点预先构建的通信关系。
进一步地,所述事件驱动核心层包括Epoll反应器、Select反应器以及I/O完成端口反应器中的一项或多项,在监听到上层传送的数据后,读取所述数据,并发送至所述组件扩展层。
进一步地,所述业务层包括信息集成管理模块,用于提供应用程序的服务接口,以便于所述应用程序调用所述服务接口实现对应的目标功能。
进一步地,所述目标功能包括:发布功能、订阅功能以及发送功能中的一项或多项。
本说明书一个或多个实施例提供一种数据传输方法,应用于一种基于自主可控的中间件,所述方法包括:通过选择所述适配层对应的操作系统接口,确定对应的所述中间件的操作系统;通过所述事件驱动核心层监听所述事件驱动核心层的上层传送的数据,并将所述数据发送至所述组件扩展层;其中,所述组件扩展层包括策略管理模块、规则检查模块和协议管理模块;根据用户的数据传输策略需求,通过所述策略管理模块选择对应的消息传输策略,以便于所述策略管理模块根据所述消息传输策略对所述数据进行处理;根据用户的数据检测需求,通过所述规则检查模块对处理后的数据进行检测;根据预设的数据传输协议,通过所述协议管理模块选择对应的传输协议,确定出传输协议,在确定出所述处理后的数据符合预设规则时,通过所述传输协议将所述处理后的数据传送至对应的业务层,实现数据传输。本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:
通过适配层提供的接口可以适配多种操作系统,通过事件驱动核心层监听上层数据,并分发至组件扩展层;根据用户的应用需求通过策略管理模块选择对应的数据传输策略,对数据进行处理,并通过规则检查模块对处理后的数据进行检测,对通过检测的数据选择传输协议进行传输,为应用软件提供了实时数据收发功能,进一步提高了数据传输效率,可以根据用户需求选择传输策略、规则检查方法以及传输协议,通过规则检查避免数据传输过程中出现数据丢失等问题,可以根据用户需求,同时适配多种操作系统和传输规则。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本说明书实施例提供的一种基于自主可控的中间件组成结构示意图;
图2为本说明书实施例提供的一种发布策略流程示意图;
图3为本说明书实施例提供的一种订阅策略流程示意图;
图4为本说明书实施例提供的一种发送策略流程示意图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
中间件是系统软件和用户应用软件之间连接的软件,以便于软件各部件之间的沟通,同时,中间件还是一种独立的系统软件,或者说还是一种独立的服务程序,分布式应用软件借助中间件在不同的技术之间共享资源。中间件在客户服务器的操作系统、网络和数据库之上,管理计算资源和网络通信。总的作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。
也就是说,关于中间件可以理解为:是一类能够为一种或多种应用程序合作互通、资源共享,同时还能够为该应用程序提供相关的服务的软件。中间件是一类软件统称,而非一种软件;中间件不仅仅实现互连,还要实现应用之间的互操作。中间件、操作系统和数据库共同构成基础软件三大支柱。其中,中间件是系统软件和用户应用软件之间连接的软件,以便于软件各部件之间的沟通。中间件是一种应用于分布式系统的基础软件,位于应用与操作系统、数据库之间,为上层应用软件提供开发、运行和集成的平台。中间件解决了异构网络环境下软件互联和互操作等共性问题,并提供标准接口、协议,为应用软件间共享资源提供了可复用的“标准件”,屏蔽了底层操作系统的复杂性。使程序开发人员面对一个简单而统一的开发环境,减少程序设计的复杂性,将注意力集中在自己的业务上,不必再为程序在不同系统软件上的移植而重复工作,从而大大减少了技术上的负担。
现有技术中,用户在应用中间件时采用已开发的成品,成品中间件可能会不适配当前的数据传输,在数据传输时可能出现传输失败的情况。成品中间件中对应的数据传输规则都是固定的,当用户存在不同的传输需求时,需要更换不同的中间件。例如,部分中间件中规定的数据传输协议是UDP协议,而用户想要使用TCP传输协议进行数据传输,用户需要在现有中间件中选择一款可以使用TCP传输协议的中间件。目前的中间件大都只适用于Windows系统,或者只适用于某一种国产系统,用户在不同系统上使用中间件时,需要根据系统更换适配对应系统的中间件产品。另外,专业版中间件为收费产品,增加了用户的使用成本。
本说明书实施例提供一种基于自主可控的中间件,图1为中间件的组成结构示意图,如图1所示,本说明书实施例提供的基于自主可控的中间件主要包括:事件驱动核心层、组件扩展层以及业务层,事件驱动核心层用于监听上层传送的数据,并将数据发送至组件扩展层;组件扩展层包括策略管理模块、规则检查模块和协议管理模块;其中,策略管理模块用于根据数据传输需求配置对应的消息传输策略,并根据消息传输策略对数据进行处理;规则检查模块用于对处理后的数据进行检测;协议管理模块用于根据预设的数据传输协议选择对应的传输协议,确定出传输协议,在确定出处理后的数据符合预设规则时,通过传输协议将处理后的数据传送至对应的业务层。
在本说明书的一个实施例中,将事件监听分发功能封装成事件驱动核心层,通过Reactor反应器监听事件,当监听到上层传送的数据时,读取数据,并发送至组件扩展层。另外,事件驱动核心层包括Epoll反应器、Select反应器以及I/O完成端口(IOCP)反应器。
需要说明的是,Epoll反应器没有最大并发连接的限制,能打开的文件描述符的上限远大于1024(1G的内存上能监听约10万个端口);另外,效率也得到较大的提升,不是轮询的方式,不会随着文件描述符数目的增加效率下降,除此之外,epoll使用利用mmap()文件映射内存加速与内核空间的消息传递,减少复制开销。Epoll有边缘触发和水平触发两种触发模式,水平触发是默认的模式,边缘触发是“高速”模式。水平触发模式下,只要这个文件描述符还有数据可读,每次epoll_wait都会返回它的事件,提醒用户程序去操作,而在边缘触发模式中,它只会提示一次,无论文件描述符中是否还有数据可读,直到下次再有数据流入之前都不会再提示了。本说明书实施例对触发模式不做具体限定。Select反应器是通过设置或者检查存放文件描述符标志位的数据结构来进行下一步处理。而IOCP(I/OCompletion Port,I/O完成端口)是性能最好的一种I/O模型,是应用程序使用线程池处理异步I/O请求的一种机制;通过使用IOCP,可以解决“每个客户端占用一个线程”的问题。线程是系统资源,而这些资源既不是无限的,也不是低价的。IOCP提供了一种方式来使用几个线程“公平的”处理多客户端的输入/输出。线程被挂起,不占用CPU周期直到有事可做。用户可以根据实际需求选择合适的反应器监听数据并完成数据的分发功能。
在本说明书的一个实施例中,将策略管理组件、检查组件以及协议组件封装为组件扩展层,对应的组件扩展层包括策略管理模块、规则为检查模块和协议管理模块。
首先,根据数据传输需求,通过策略管理模块配置对应的消息传输策略,并根据消息传输策略对数据进行处理,例如,加密处理。需要说明的是,根据预设需求将消息传输策略划分为多端之间的互传确认策略、维护当前数据有效的时效传输策略、缓存后发送策略以及多线程同时传输策略。
在实际的应用场景下,针对不同类型的传输数据与实际应用情况,会存在不同的传输需求。例如,在一对多、多对一以及多对多的传输条件下,需要建立可靠连接实现可靠传输,在数据传输过程中,会存在数据传输不成功的情况,对于传输不成功的历史数据根据不同的应用场景,会出现两种需求,一种是忽略传输不成功的历史数据,只需要传输最新数据;另一种是针对传输不成功的历史数据进行重新发送,直至发送成功在发送下一组数据;另外,当数据传输容量较大时,常规的数据传输策略无法满足大容量传输场景。
在本说明书的一个实施例中,多端之间的互传确认策略也可以理解为可靠性传输策略,通过建立一对一、一对多、多对一的可靠连接来保证命令传输可靠性。使用可靠协议实现可靠策略,如果协议为不可靠的,需要协议层定义相关可靠实现方法,本组件假定传输协议为可靠的。需要说明的是,可靠传输就是指发送方给接收方发送数据,接收方保证能正确接收到数据。一个可靠传输协议一般需要有三个性质:确认字符(Acknowledgement,ACK)、超时重传、序列号(包括数据包的序列号与ACK的序列号)。也就是说,多端之间的互传确认策略具体包括:接收端接收到数据后返回确认字符,发送端根据确认字符确认接收端和发送端之间建立了可靠连接。在一种实现方式中,就是在运输层使用面向连接的TCP协议,可保证端到端的可靠传输。只要接收端的TCP发现了数据的传输有差错,就告诉发送端将出现差错的那部分数据重传,直到这部分数据正确传送到接收端为止。采用这样的建网策略,既可以使网络部分价格便宜和灵活可靠,又能够保证端到端的可靠传输。
在本说明书的一个实施例中,维护当前数据有效的时效传输策略也可以认为是尽力传输策略,尽力传输是指一种网络服务,是不使用复杂确认系统来保证可靠的信息传输的网络系统。在该服务中网络不提供任何恢复丢失或损坏数据分组这样的特殊功能。由于无需提供这些服务,因此网络可以更有效的运行。部分协议提供无保证的基本数据分组传输服务,因此被称为是尽力传输服务。它尽全力将数据分组传输到目的地,但对于恢复已丢失或错误传输的数据分组不采取任何措施。在本说明书的一个实施例中,使用Udp协议实现尽力传输策略。通过尽力传输策略实现传输最新数据,忽略可能传输不成功的历史数据,保证传输的实时性和快速性。
在本说明书的一个实施例中,缓存后发送策略也可以是大容量传输策略,当系统业务中需要传输大容量数据时,将数据进行缓存,建立可靠连接,将缓存后的数据使用多线程进行转发,保证传输的可靠性,并支持断点断传,在本说明书的一个实施例中,使用缓存、多线程、Tcp协议实现大容量策略。另外,多线程同时传输策略也可以是高频传输策略,使用多个线程及时传输数据,保证数据传输的快速性。
在本说明书的一个实施例中,将可靠性传输策略、尽力传输策略、大容量传输策略以及高频传输策略,分别封装为可靠性传输策略单元、尽力传输策略单元、大容量传输策略单元以及高频传输策略单元。当各个传输策略单元加载启动后,根据需求向策略管理模块进行注册。减少应用层对具体策略的直接依赖,实现策略的动态可配置,当应用程序使用策略时,查找具体的策略对象,调用具体策略的方法,实现具体的发布、发送、订阅功能。下面结合图2-4分析应用程序实现具体的发布、发送、订阅功能的流程,如图所示,图2为本说明书实施例提供的一种发布策略流程示意图。可靠性传输策略、尽力传输策略、大容量传输策略以及高频传输策略中的一项或多项向策略管理模块进行注册,信息集成管理模块选择在策略管理模块注册过的发布策略,并返回具体的传输策略,信息集成模块使用选择的传输策略进行发布。图3和图4分别对应订阅策略与发送策略的情况,与选择发布策略的流程基本一致,本说明书在此不再赘述。
在数据通信过程中,为避免出现非法消息、数据丢失等问题,需要对传过来的数据是否存在非法消息、是否丢失等信息进行检测。在本说明书的一个实施例中,设置规则检查模块,对处理后的数据进行检测。
在本说明书的一个实施例中,规则检查模块包括报文检查单元和自定义检查单元,通过报文检查单元对处理后的数据进行数据报文长度有效性检测、数据有效性检测以及数据安全性检测。首先是数据报文长度有效性检测,当处理后数据的数据报文为定长报文时,根据协议规定的报文标识和长度,在收发时检查报文长度是否正确;当处理后数据的数据报文为变长报文时,在收发时检查变长报文的长度是否在合理范围内,该范围可由配置文件设定。需要说明的是,定长报文,就是使用固定的长度来表示一个信息。
其次,对数据的有效性进行检测,检测数据的数据字段是否在预设的值域范围内,其中,预设的值域范围根据接口协议中定义的值域范围得到。最后是对数据安全性的检测根据接口协议定义,检测数据对应的域和主题是否超出接口协议中规定的范围。通过报文检查单元对数据进行非法消息检测,可以检测出传输数据不符合预设长度的数据、无效数据以及非安全数据。
在本说明书的一个实施例中,通过自定义检查单元根据需求对处理后数据的预设字段范围进行检查。需要说明的是,用户可以根据需求设置预设的字段范围,例如可以只对报文头进行检测,也可以是其他字段范围内的检测,或者多个检测的组合,具体可以根据需求通过代码编写实现自定义检查单元的功能。使得中间件可以自定义检测规则以达到过滤数据的作用,进一步地,也可以说提供了一种过滤规则。
在本说明书的一个实施例中,策略管理模块还包括域管理单元,用于控制消息域的加入或控制消息域的退出,通过控制域的加入、退出功能,以实现消息数据分发隔离及并发处理能力。当应用节点加入任一消息域后,应用节点与消息域中的其他节点进行自动匹配并建立通信关系;当应用节点退出任一消息域后,消息域中的其他节点能够更新通信权限,取消与应用节点预先构建的通信关系,进而取消与该节点的数据分发。
在本说明书的一个实施例中,协议管理模块包括TCP协议单元、UDP协议单元以及串口协议单元,预先将TCP协议、UDP协议以及串口协议封装为对应的协议单元,实现数据传输。在封装过程中,可以根据现有的传输协议的弊端进行处理,例如,由于现有的udp协议数据传输,无法保证对端设备能接收到数据的,因此对udp协议进行封装处理,并添加相应的机制,生成UDP协议单元,保证数据正常发送到对端。
在本说明书的一个实施例中,中间件的业务层还包括信息集成管理模块,用于提供应用程序的服务接口,以便于应用程序调用服务接口实现对应的目标功能。需要说明的是,应用程序在使用中间件进行数据传输时,预先设置了数据传输所需要使用的传输策略、需要对数据进行的检测以及传输协议等,应用程序通过调用信息集成管理模块的服务接口,声明预先设置的数据传输需求,并通过调用服务接口实现对应的目标功能,目标功能包括:发布功能、订阅功能以及发送功能中的一项或多项。
在本说明书的一个实施例中,中间件还包括适配层,将和操作系统密切相关的线程实现、同步队列中用到的互斥、同步实现操作封装成适配层,使得中间件可以应用于不同的操作系统。当中间件应用于不同的操作系统时,通过适配层选择对应的操作系统进行数据传输,增加中间件的通用性。
在本说明书的一个实施例中,中间件还包括支撑层,将信息域管理功能、组件配置功能、同步队列功能、配置文件读取功能、日志功能以及异常处理功能中的一项或多项封装为支撑层。
本说明书实施例提供的基于自主可控的中间件为应用软件提供基于订阅/发布机制的实时数据收发功能,支持应用软件完成主题的发布,向消息域中其他节点声明本节点能够提供何种报文数据,需要此数据的其他节点能够建立针对此类报文的通信关系;支持应用软件完成主题取消发布,向消息域中其他节点声明本节点不再产生相关报文数据,其他节点将取消针对此类报文的通信关系。另外,支持应用软件按照设定的传输模式,对发布过的报文数据进行发送。除此之外,还支持应用软件按照设定的传输模式,对订阅过的报文数据进行接收。
本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:通过事件驱动核心层监听上层数据,并分发至组件扩展层;根据用户的应用需求通过策略管理模块选择对应的数据传输策略,对数据进行处理,并通过规则检查模块对处理后的数据进行检测,对通过检测的数据选择传输协议进行传输,为应用软件提供了实时数据收发功能,进一步提高了数据传输效率,可以根据用户需求选择传输策略、规则检查方法以及传输协议,也可以根据用户的使用情况选择传输策略、规则检查方法以及传输协议,中间件受用户控制,实现了根据用户的需求进行功能定制,极大的方便了用户的使用过程。
本说明书实施例还提供一种数据传输方法,应用于一种基于自主可控的中间件,方法包括:通过选择适配层对应的操作系统接口,确定对应的所述中间件的操作系统;通过事件驱动核心层监听事件驱动核心层的上层传送的数据,并将数据发送至组件扩展层;其中,组件扩展层包括策略管理模块、规则检查模块和协议管理模块;根据用户的数据传输策略需求,通过策略管理模块选择对应的消息传输策略,以便于策略管理模块根据消息传输策略对数据进行处理;根据用户的数据检测需求,通过规则检查模块对处理后的数据进行检测;根据预设的数据传输协议,通过协议管理模块选择对应的传输协议,确定出传输协议,在确定出处理后的数据符合预设规则时,通过传输协议将处理后的数据传送至对应的业务层,实现数据传输。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备、非易失性计算机存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
以上所述仅为本说明书的一个或多个实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书的一个或多个实施例可以有各种更改和变化。凡在本说明书的一个或多个实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。
Claims (5)
1.一种基于自主可控的中间件,其特征在于,所述中间件包括:适配层、事件驱动核心层以及组件扩展层;
所述适配层用于提供适配多种操作系统的接口,以通过选择所述适配层对应的操作系统接口,确定对应的所述中间件的操作系统;
所述事件驱动核心层用于监听所述事件驱动核心层的上层传送的数据,并将所述数据发送至所述组件扩展层;
所述组件扩展层包括策略管理模块、规则检查模块和协议管理模块;其中,
所述策略管理模块用于根据数据传输需求配置对应的消息传输策略,并根据所述消息传输策略对所述数据进行处理;
所述规则检查模块用于对处理后的数据进行检测;
所述协议管理模块用于根据预设的数据传输协议选择对应的传输协议,确定出传输协议,在确定出所述处理后的数据符合预设规则时,通过所述传输协议将所述处理后的数据传送至对应的业务层;
所述消息传输策略根据预设需求划分为多端之间的互传确认策略、维护当前数据有效的时效传输策略、缓存后发送策略以及多线程同时传输策略中的一项或多项;
所述多端之间的互传确认策略,具体包括:
接收端接收到所述数据后返回确认字符,发送端根据所述确认字符确认建立了所述接收端和所述发送端之间建立可靠连接;
所述策略管理模块还包括域管理单元,用于控制消息域的加入或控制消息域的退出;
其中,所述控制消息域的加入具体包括:当应用节点加入任一消息域后,所述应用节点与所述消息域中的其他节点进行自动匹配并建立通信关系;
所述控制消息域的退出具体包括:当应用节点退出任一消息域后,所述消息域中的其他节点取消与所述应用节点预先构建的通信关系;
所述规则检查模块包括报文检查单元和自定义检查单元;
所述规则检查模块用于对处理后的数据进行检测,具体包括:
所述报文检查单元用于对所述处理后的数据进行数据报文长度有效性检测、数据有效性检测以及数据安全性检测中的一项或多项;
所述自定义检查单元用于根据需求对处理后数据的预设字段范围进行检查
所述数据报文长度有效性检测具体包括以下任意一种:
当所述处理后数据的数据报文为定长报文时,根据报文标识检测报文长度是否符合预设规定长度;
当所述处理后数据的数据报文为变长报文时,根据所述数据的配置文件确定出所述报文长度的预设范围,检测所述报文长度是否处于所述预设范围内;
所述数据有效性检测具体包括:检测所述数据的数据字段是否在预设的值域范围内,其中,所述预设的值域范围根据接口协议中定义的值域范围得到;
所述数据安全性检测具体包括:根据接口协议定义,检测所述数据对应的域和主题是否超出所述接口协议中规定的范围。
2.根据权利要求1所述的一种基于自主可控的中间件,其特征在于,所述事件驱动核心层包括Epoll反应器、Select反应器以及I/O完成端口反应器中的一项或多项;
所述Epoll反应器、所述Select反应器以及所述I/O完成端口反应器中的一项或多项,在监听到上层传送的数据后,读取所述数据,并发送至所述组件扩展层。
3.根据权利要求1所述的一种基于自主可控的中间件,其特征在于,所述业务层包括信息集成管理模块,用于提供应用程序的服务接口,以便于所述应用程序调用所述服务接口实现对应的目标功能。
4.根据权利要求3所述的一种基于自主可控的中间件,其特征在于,所述目标功能包括:发布功能、订阅功能以及发送功能中的一项或多项。
5.一种数据传输方法,应用于如权利要求1所述的一种基于自主可控的中间件,其特征在于,所述方法包括:
通过选择适配层对应的操作系统接口,确定对应的所述中间件的操作系统;
通过事件驱动核心层监听所述事件驱动核心层的上层传送的数据,并将所述数据发送至组件扩展层;其中,所述组件扩展层包括策略管理模块、规则检查模块和协议管理模块;
根据用户的数据传输策略需求,通过所述策略管理模块选择对应的消息传输策略,以便于所述策略管理模块根据所述消息传输策略对所述数据进行处理;
根据用户的数据检测需求,通过所述规则检查模块对处理后的数据进行检测;
根据预设的数据传输协议,通过所述协议管理模块选择对应的传输协议,确定出传输协议,在确定出所述处理后的数据符合预设规则时,通过所述传输协议将所述处理后的数据传送至对应的业务层,实现数据传输。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111250252.6A CN113992740B (zh) | 2021-10-26 | 2021-10-26 | 一种基于自主可控的中间件及数据传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111250252.6A CN113992740B (zh) | 2021-10-26 | 2021-10-26 | 一种基于自主可控的中间件及数据传输方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113992740A CN113992740A (zh) | 2022-01-28 |
CN113992740B true CN113992740B (zh) | 2024-03-22 |
Family
ID=79741879
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111250252.6A Active CN113992740B (zh) | 2021-10-26 | 2021-10-26 | 一种基于自主可控的中间件及数据传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113992740B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114579162B (zh) * | 2022-05-07 | 2022-08-23 | 杭州又拍云科技有限公司 | 一种基于事件驱动和水平触发的灰度发布方法 |
Citations (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101427517A (zh) * | 2005-12-16 | 2009-05-06 | 美商内数位科技公司 | 用于多无线接入技术设备的移动中间件架构 |
JP2009527133A (ja) * | 2005-12-16 | 2009-07-23 | インターデイジタル テクノロジー コーポレーション | マルチ無線アクセス技術機器用のモビリティミドルウェアアーキテクチャ |
CN101924582A (zh) * | 2010-07-29 | 2010-12-22 | 上海慧翰信息技术有限公司 | 通信装置及其中间件 |
CN102025727A (zh) * | 2010-11-23 | 2011-04-20 | 广州市轩辕网络科技有限公司 | 将多个应用系统汇聚接入的集成推送系统和方法 |
CN103247003A (zh) * | 2013-05-15 | 2013-08-14 | 上海大智慧股份有限公司 | 面向事件处理的分布式程序化交易系统 |
CN103336813A (zh) * | 2013-06-27 | 2013-10-02 | 南京邮电大学 | 一种基于中间件架构的物联网数据集成管理方案 |
CN103684963A (zh) * | 2013-11-18 | 2014-03-26 | 重庆邮电大学 | 一种面向车联网应用的中间件架构系统及实现方法 |
CN104410662A (zh) * | 2014-10-23 | 2015-03-11 | 山东大学 | 物联网并行海量数据传输中间件及其工作方法 |
CN104866326A (zh) * | 2015-06-19 | 2015-08-26 | 长沙廖氏软件科技有限公司 | 一种集成交换中间件及其实现方法 |
CN105207970A (zh) * | 2014-06-12 | 2015-12-30 | 中兴通讯股份有限公司 | 基于公有云的认证方法、安全认证中间件及云计算资源池 |
CN106407017A (zh) * | 2016-10-31 | 2017-02-15 | 华南理工大学 | 面向rfid的复杂事件规则动态调度与数据恢复方法 |
CN106773978A (zh) * | 2016-12-28 | 2017-05-31 | 武汉科技大学 | 一种基于opc ua协议的设备数据采集系统 |
CN107066885A (zh) * | 2016-10-11 | 2017-08-18 | 深圳市华威世纪科技股份有限公司 | 跨平台可信中间件的实现系统及实现方法 |
CN107943459A (zh) * | 2017-11-20 | 2018-04-20 | 中国运载火箭技术研究院 | 一种通用化航天器综合电子系统 |
CN108040034A (zh) * | 2017-11-15 | 2018-05-15 | 中国航空无线电电子研究所 | 分布式实时通信中间件 |
CN109104461A (zh) * | 2018-07-06 | 2018-12-28 | 安徽电科恒钛智能科技有限公司 | 一种基于物联网中间件的数据处理系统及其方法 |
CN109995800A (zh) * | 2017-12-29 | 2019-07-09 | 中国科学院沈阳自动化研究所 | 面向工业sdn网络中动态实时应用的中间件服务系统和方法 |
CN111698217A (zh) * | 2020-05-19 | 2020-09-22 | 电子科技大学 | 一种软件化雷达通用通信中间件 |
CN112637198A (zh) * | 2020-12-22 | 2021-04-09 | 辽宁大学 | 一种基于OPC UA PubSub的多协议自适配模块设计方法 |
CN112738237A (zh) * | 2020-12-29 | 2021-04-30 | 武汉华盛东方科技有限公司 | 基于多协议自适应的设备智能感知物联网网关管理平台 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030135556A1 (en) * | 2001-12-14 | 2003-07-17 | International Business Machines Corporation | Selection of communication strategies for message brokers or publish/subscribe communications |
-
2021
- 2021-10-26 CN CN202111250252.6A patent/CN113992740B/zh active Active
Patent Citations (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009527133A (ja) * | 2005-12-16 | 2009-07-23 | インターデイジタル テクノロジー コーポレーション | マルチ無線アクセス技術機器用のモビリティミドルウェアアーキテクチャ |
CN101427517A (zh) * | 2005-12-16 | 2009-05-06 | 美商内数位科技公司 | 用于多无线接入技术设备的移动中间件架构 |
CN101924582A (zh) * | 2010-07-29 | 2010-12-22 | 上海慧翰信息技术有限公司 | 通信装置及其中间件 |
CN102025727A (zh) * | 2010-11-23 | 2011-04-20 | 广州市轩辕网络科技有限公司 | 将多个应用系统汇聚接入的集成推送系统和方法 |
CN103247003A (zh) * | 2013-05-15 | 2013-08-14 | 上海大智慧股份有限公司 | 面向事件处理的分布式程序化交易系统 |
CN103336813A (zh) * | 2013-06-27 | 2013-10-02 | 南京邮电大学 | 一种基于中间件架构的物联网数据集成管理方案 |
CN103684963A (zh) * | 2013-11-18 | 2014-03-26 | 重庆邮电大学 | 一种面向车联网应用的中间件架构系统及实现方法 |
CN105207970A (zh) * | 2014-06-12 | 2015-12-30 | 中兴通讯股份有限公司 | 基于公有云的认证方法、安全认证中间件及云计算资源池 |
CN104410662A (zh) * | 2014-10-23 | 2015-03-11 | 山东大学 | 物联网并行海量数据传输中间件及其工作方法 |
CN104866326A (zh) * | 2015-06-19 | 2015-08-26 | 长沙廖氏软件科技有限公司 | 一种集成交换中间件及其实现方法 |
CN107066885A (zh) * | 2016-10-11 | 2017-08-18 | 深圳市华威世纪科技股份有限公司 | 跨平台可信中间件的实现系统及实现方法 |
CN106407017A (zh) * | 2016-10-31 | 2017-02-15 | 华南理工大学 | 面向rfid的复杂事件规则动态调度与数据恢复方法 |
CN106773978A (zh) * | 2016-12-28 | 2017-05-31 | 武汉科技大学 | 一种基于opc ua协议的设备数据采集系统 |
CN108040034A (zh) * | 2017-11-15 | 2018-05-15 | 中国航空无线电电子研究所 | 分布式实时通信中间件 |
CN107943459A (zh) * | 2017-11-20 | 2018-04-20 | 中国运载火箭技术研究院 | 一种通用化航天器综合电子系统 |
CN109995800A (zh) * | 2017-12-29 | 2019-07-09 | 中国科学院沈阳自动化研究所 | 面向工业sdn网络中动态实时应用的中间件服务系统和方法 |
CN109104461A (zh) * | 2018-07-06 | 2018-12-28 | 安徽电科恒钛智能科技有限公司 | 一种基于物联网中间件的数据处理系统及其方法 |
CN111698217A (zh) * | 2020-05-19 | 2020-09-22 | 电子科技大学 | 一种软件化雷达通用通信中间件 |
CN112637198A (zh) * | 2020-12-22 | 2021-04-09 | 辽宁大学 | 一种基于OPC UA PubSub的多协议自适配模块设计方法 |
CN112738237A (zh) * | 2020-12-29 | 2021-04-30 | 武汉华盛东方科技有限公司 | 基于多协议自适应的设备智能感知物联网网关管理平台 |
Also Published As
Publication number | Publication date |
---|---|
CN113992740A (zh) | 2022-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11470000B2 (en) | Medical device communication method | |
EP3734913A1 (en) | Communication method and communication apparatus | |
CN110413424B (zh) | 可配置的第三方消息回调方法、装置、服务器和存储介质 | |
CN108063813B (zh) | 一种集群环境下密码服务网络并行化的方法与系统 | |
CN109246220B (zh) | 一种消息推送系统及方法 | |
US11553021B2 (en) | Media downlink transmission control method and related device | |
CN110413425B (zh) | 第三方消息回调方法、装置、服务器和存储介质 | |
CN107528891B (zh) | 一种基于WebSocket的自动集群方法及其系统 | |
CN110808948B (zh) | 远程过程调用方法、装置及系统 | |
CA2104076C (en) | Session oriented connectionless data transfer for a computer network | |
CN113986501A (zh) | 实时数据库api无中断调用方法、系统、存储介质及服务器 | |
CN113992740B (zh) | 一种基于自主可控的中间件及数据传输方法 | |
CN109408251B (zh) | 消息发送方法与装置、消息接收处理方法与装置 | |
EP3320650B1 (en) | Service layer anycast and somecast | |
CN107872479B (zh) | 云管理平台与控制器集成方法和系统以及相关模块 | |
CN113259404B (zh) | 基于tcp/ip协议的工业通信中间件及其使用方法 | |
CN112995095B (zh) | 数据处理方法、装置及计算机可读存储介质 | |
US20230042583A1 (en) | Message exchange between computing devices operable to implement coap | |
WO2017040948A1 (en) | Enabling time flexibility for block transfer in coap protocol | |
CN111240867A (zh) | 一种信息通讯系统及方法 | |
CN113556208B (zh) | Hello报文传输方法、装置和可读存储介质 | |
WO2004062188A2 (en) | Generic communication server engine | |
WO2023035777A1 (zh) | 网络配置方法、代理组件、控制器、电子设备和存储介质 | |
CN118474160A (zh) | 一种netconf会话恢复方法、客户端、服务端以及网络系统 | |
CN107306223B (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 |