CN110677277B - 数据处理方法、装置、服务器和计算机可读存储介质 - Google Patents
数据处理方法、装置、服务器和计算机可读存储介质 Download PDFInfo
- Publication number
- CN110677277B CN110677277B CN201910846061.2A CN201910846061A CN110677277B CN 110677277 B CN110677277 B CN 110677277B CN 201910846061 A CN201910846061 A CN 201910846061A CN 110677277 B CN110677277 B CN 110677277B
- Authority
- CN
- China
- Prior art keywords
- data
- message
- message data
- service
- port
- 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
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0015—Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0823—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
-
- 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/2866—Architectures; Arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供了一种数据处理方法、装置、服务器、和计算机可读存储介质,其中,数据处理方法包括:为同一类型的联网设备配置对应的通信端口,以使同一类型的多个所述联网设备通过所述通信端口传输消息数据;通过至少一个消息中间件将所述通信端口或多个所述通信端口监听到的所述消息数据转接至相应的编码服务,由所述编码服务对所述消息数据进行解码,生成解码数据,其中,将所述消息数据转接至相应的编码服务之前,对所述消息数据进行编码格式扩展。通过本发明的技术方案能够实现不同类型消息数据之间的互不干扰,对消息数据进行编码格式扩展扩展消息类型,还能够提升消息数据传输效率。
Description
技术领域
本发明涉及通讯数据传输领域,具体而言,涉及一种数据处理方法、一种数据处理装置、一种服务器和一种计算机可读存储介质。
背景技术
随着4G通讯和5G通讯等通讯技术的快速发展,万物互联的物联网应用场景越来越多,在各个领域、行业和社会民生的方方面面都铺展开来,同时又存在互联设备类型,设备传输数据,设备厂家标准各不相同的窘况。面对大量不同类型设备,不同设备的传输数据格式各异,传输的编码千姿百态,让数据的接收、解码和解析过程变得困难重重,数据***臃肿不堪。
相关技术中,对于处理多类型设备、多协议、多编码的情况,一般是通过一种类型设备从接收数据到业务应用,一种类型单独进行监听、解码、解析,导致应用***编码冗余、数据交叉难维护,数据易丢失,资源消耗大。
发明内容
本发明旨在至少解决现有技术或相关技术中存在的技术问题之一。
为此,本发明的一个目的在于提供一种数据处理方法。
本发明的另一个目的在于提供一种数据处理装置。
本发明的另一个目的在于提供一种服务器。
本发明的另一个目的在于提供一种计算机可读存储介质。
为了实现上述目的,根据本发明的第一方面的技术方案,提供了一种数据处理方法,包括:为同一类型的联网设备配置对应的通信端口,以使同一类型的多个联网设备通过通信端口传输消息数据,其中,若存在多种类型的联网设备,则为每一种类型的联网设备均配置相应的通信端口;通过至少一个消息中间件将通信端口或多个通信端口监听到的消息数据转接至相应的编码服务,由编码服务对消息数据进行解码,生成解码数据,其中,将消息数据转接至相应的编码服务之前,对消息数据进行编码格式扩展。
在该技术方案中,同时面对多种类型的联网设备,本申请提出为同一类型的多个联网设备配置一个统一的通信端口(分布式数据监听),同一类型的联网设备连接该统一通信端口进行通信,与其它类型联网设备上传的消息进行逻辑分离,保证各类型联网设备的消息的原子性。其中,对于多种类型的联网设备都对应设置独立的通信端口,即存在多种类型的联网设备的环境中,为每一种类型的联网设备均配置相应的通信端口,提升消息数据传输效率。消息中间件用于处理多种类型的多个联网设备的消息数据。对于多个通信端口可设置一个消息中间件进行数据处理,也可以设置多个消息中间件进行数据处理,通过消息中间件对通信端口监听到的消息数据进行中转分发,将同一类编码格式的消息数据转接至相应的编码服务进行统一解码(消息解码),提高解码效率,对消息数据的编码格式进行扩展,能够实现物联网编码到互联网编码的无缝衔接。
根据上述任一项技术方案的数据处理方法,可选地,还包括:根据联网设备的数据协议调用多线程池服务,将解码数据分配到多线程池服务中的执行线程中进行解析,生成解析数据。
在该技术方案中,解码后的消息数据会根据联网设备要求的数据协议调用多线程池服务,通过多线程池服务执行解析过程(多线程异步解析),多线程池服务的线程池管理技术支持让多个数据流进行并行流转、解析,解析完成的消息数据就是实际业务含义的设备指标数据,也就实现了从物联数据到直观互联数据的转接。
此外,需要特别指出的是,根据上述技术方案,分布式数据监听服务、消息解码服务和多线程异步解析服务能够抽象为API供***调用,理论上支持的联网设备的类型和数量没有上限。此外,对于消息数据的编码格式、数据协议、数据解析字段及类型能够进行可配置接入,从而实现对联网设备多类型、多设备、多编码、多协议高并发的兼容。
根据上述技术方案的数据处理方法,可选地,为同一类型的联网设备配置对应的通信端口,以使同一类型的多个联网设备通过通信端口传输消息数据,具体包括:为同一类型的联网设备配置统一的TCP/IP端口,以使同一类型的多个联网设备通过TCP/IP端口传输消息数据,其中,TCP/IP端口用于实现物联网和互联网对接。
在该技术方案中,对同一个类型的设备配置一个独立的TCP/IP端口,同一类型的设备通过连接指定端口实现和其他类型设备上传的消息进行逻辑分离,从而保证各类型设备消息的原子性。同时通过TCP/IP端口的tcp/ip协议实现物联网和互联网对接。基于socket的连接方式,保证数据消息传输的可靠性。
其中,socket基于BSD UNIX的进程通信机制,用于描述IP地址和端口,称为“套接字”,是一个通信句柄,用于实现不同虚拟机或计算设备之间的通信。在网络上主机(server端)一般运行多个应用,并提供多种服务,每种服务都对应一个独立的端口。客户软件通过socket连接到不同的端口,实现数据交互。TCP/IP称为传输控制协议/互联网协议,其中网络地址统一分配,网络中每一设备和终端都具有一个唯一地址。
根据上述任一项技术方案的数据处理方法,可选地,通过至少一个消息中间件将通信端口监听到的消息数据转接至相应的编码服务,具体包括:通信端口监听到消息数据后,通过至少一个基于异步传输原理进行数据消息并行接收和发布的消息中间件,将消息数据转接至相应的编码服务。
在该技术方案中,基于异步传输原理进行数据消息并行接收和发布的消息中间件可以是kafka(kafka是一种高吞吐量的分布式发布订阅消息中间件,具有高性能、持久化、多副本备份、横向扩展能力)。通过kafka消息队列对每个端口接收(监听)到的消息数据进行中转,提高消息数据传输效率。kafka消息队列将具有相同编码格式的消息数据转接至相应的编码服务进行解码,提升对编码格式的兼容度,提高了解码效率。kafka消息队列能够实时处理高并发的大量数据,延迟低,容错性能好,提升了数据传输效率。
根据上述任一项技术方案的数据处理方法,可选地,通过消息中间件将通信端口监听到的消息数据转接至相应的编码服务,由编码服务对消息数据进行解码,生成解码数据,其中,将消息数据转接至相应的编码服务之前,对消息数据进行编码格式扩展,具体包括:对消息数据进行并行缓存,根据联网设备的类型将对应的消息数据入队至带端口号的消息主题中;消息数据入队成功后断开数据传输的长连接;消息数据出队时,对消息数据的编码格式进行扩展,并进行组装分类;根据分类调用相应的编码服务对消息数据进行解码,以生成解码数据,其中,端口号与通信端口一一对应。
在该技术方案中,消息中间件可以是kafka消息队列,面对多个通信端口监听到的大量消息数据,kafka消息队列对消息数据进行并行缓存,消息数据入队至相应的消息主题,消息主题与通信端口的端口号建立联系,消息数据入队后断开当前的tcp连接,以免长连接增加***开销。消息数据出队时,根据端口号调用MINA框架对该消息主题中的消息数据进行编码格式的扩展,以便实现物联网和互联网编码无缝衔接。例如,传统物联网编码格式只支持ASCII和UNICODE,通过MINA框架可以对其进行扩展以便解码更多的数据类型。
其中,MINA是一种源于Java nio技术基于TCP/IP和UDP/IP协议提供抽象的、事件驱动的、异步的API。可扩展的编码格式包括:GBK、UTF-8、Unicode、USCII和UTF-16。
根据上述任一项技术方案的数据处理方法,可选地,还包括:检测到解码过程出现错误,调用回写接口将错误码返回联网设备,或者检测到解码过程出现错误或提示编码不符合编码规范,请求联网设备进行消息重传。
在该技术方案中,检测到解码过程出现错误,利用MINA框架调用回写接口将错误码返回联网设备,或者检测到解码过程出现错误或提示编码不符合编码规范,请求联网设备进行消息重传。利用MINA框架对解码过程出现的错误进行矫正,提高解码准确度,提高消息数据解码过程的可靠性。
根据上述任一项技术方案的数据处理方法,可选地,根据联网设备的数据协议调用多线程池服务,将解码数据分配到多线程池服务中的执行线程中进行解析,生成解析数据,具体包括:根据联网设备要求的数据协议调用Executor线程池框架,将解码数据分配到Executor线程池框架的执行线程中进行解析,生成解析数据,其中,执行线程调用解析接口指向相应的数据协议解析方法。
在该技术方案中,TCP报文一般包含表头、认证、加解密、报文内容等。由于每一种联网设备类型都有特定数据标准,数据协议在不同的行业中也各不相同。本申请通过抽象接口泛型化,对每一种数据解析通过同一接口进行扩展和实现,并将接口暴露出来供不同类型的联网设备调用。本申请采用Executor多线程管理技术来管理线程,每个线程执行方法中调用解析接口指向相应的解析协议方法。而且executor线程池管理技术支持让多个数据流进行并行流转、解析。解析完后的数据就是实际业务含义的设备指标数据,也就相当于实现了从物联数据到直观互联数据的转接。利用Executor多线程管理技术实现数据并行解析,保证了数据解析效率和及时性。其中,Executor是一种管理线程,以实现线程的重用,降低资源消耗,提高响应速度服务,此服务线程适用于执行异步任务。
根据上述任一项技术方案的数据处理方法,可选地,还包括:存储、展示或转发解析数据。
在该技术方案中,解析数据即经过解析的消息数据,解析出来的数据能够根据实际的业务需要进行数据存储、平台展示、转发第三方应用等等,使得物联网数据能够无缝上传至互联网端加以利用。
根据上述任一项技术方案的数据处理方法,可选地,还包括:对通信端口的端口监听应用服务进行分布式部署,以实现负载均衡。
在该技术方案中,针对同一类型中设备数量较多的情况(例如,超过一百个),通过将该类型的联网设备所对应的通信端口的监听应用服务进行分布式部署的方式进行负载均衡,保证联网设备数据稳定地成功上传。
根据本发明的第二方面的技术方案,提供了一种数据处理装置,包括:存储器、处理器及存储在存储器上并可在处理器上运行的程序,程序被处理器执行时实现如上述任一项技术方案的数据处理方法的步骤。该数据处理装置包括如上述任一项技术方案的数据处理方法的全部有益效果,在此不再赘述。
根据本发明的第三方面的技术方案,还提供了一种服务器,包括:上述第二方面技术方案所述的数据处理装置。该服务器包括如上述任一项技术方案的数据处理方法的全部有益效果,在此不再赘述。
根据本发明的第四方面的技术方案,还提供了一种计算机可读存储介质,其上存储有计算机程序,上述计算机程序被执行时实现上述第一方面的任一项技术方案限定的数据处理方法。
本发明的附加方面和优点将在下面的描述部分中给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1示出了根据本发明的一个实施例的数据处理方法的示意流程图;
图2示出了根据本发明的另一个实施例的数据处理方法的示意图;
图3示出了根据本发明的一个实施例的数据处理装置的示意框图;
图4示出了根据本发明的一个实施例的服务器的示意框图;
图5示出了根据本发明的一个实施例的计算机可读存储介质的示意框图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
实施例一
如图1所示,根据本发明的一个实施例的数据处理方法,包括:
步骤102,为同一类型的联网设备配置对应的通信端口,以使同一类型的多个联网设备通过通信端口传输消息数据;
步骤104,通过消息中间件将通信端口监听到的消息数据转接至相应的编码服务,由编码服务对消息数据进行解码,生成解码数据;
步骤106,根据联网设备的数据协议调用多线程池服务,将解码数据分配到多线程池服务中的执行线程中进行解析,生成解析数据。
在该实施例中,同时面对多种类型的联网设备,本申请提出为同一类型的多个联网设备配置一个统一的通信端口,同一类型的联网设备连接该统一通信端口进行通信,与其它类型联网设备上传的消息进行逻辑分离,保证各类型联网设备的消息的原子性。其中,对于多种类型的联网设备都对应设置独立的通信端口,消息中间件用于处理多种类型的多个联网设备的消息数据。通过消息中间件对通信端口监听到的消息数据进行中转分发,将同一类编码格式的消息数据转接至相应的编码服务进行统一解码,提高解码效率,同时也方便对消息数据的编码格式进行扩展。解码后的消息数据会根据联网设备要求的数据协议调用多线程池服务,通过多线程池服务执行解析过程,多线程池服务的线程池管理技术支持让多个数据流进行并行流转、解析,解析完成的消息数据就是实际业务含义的设备指标数据,也就实现了从物联数据到直观互联数据的转接。
在上述实施例中,可选地,为同一类型的联网设备配置对应的通信端口,以使同一类型的多个联网设备通过通信端口传输消息数据,具体包括:为同一类型的联网设备配置统一的TCP/IP端口,以使同一类型的多个联网设备通过TCP/IP端口传输消息数据,其中,TCP/IP端口用于实现物联网和互联网对接。
在该实施例中,对同一个类型的设备配置一个独立的TCP/IP端口,同一类型的设备通过连接指定端口实现和其他类型设备上传的消息进行逻辑分离,从而保证各类型设备消息的原子性。同时通过TCP/IP端口的tcp/ip协议实现物联网和互联网对接。基于socket的连接方式,保证数据消息传输的可靠性。其中,socket基于BSD UNIX的进程通信机制,用于描述IP地址和端口,称为“套接字”,是一个通信句柄,用于实现不同虚拟机或计算设备之间的通信。在网络上主机(server端)一般运行多个应用,并提供多种服务,每种服务都对应一个独立的端口。客户软件通过socket连接到不同的端口,实现数据交互。TCP/IP称为传输控制协议/互联网协议,其中网络地址统一分配,网络中每一设备和终端都具有一个唯一地址。
在上述任一项实施例中,可选地,通过消息中间件将通信端口监听到的消息数据转接至相应的编码服务,由编码服务对消息数据进行解码,生成解码数据,具体包括:通信端口监听到消息数据后,通过kafka消息队列将消息数据转接至相应的编码服务,由编码服务对消息数据进行解码,生成解码数据。
在该实施例中,kafka是一种高吞吐量的分布式发布订阅消息中间件,具有高性能、持久化、多副本备份、横向扩展能力。通过kafka消息队列对每个端口接收(监听)到的消息数据进行中转,提高消息数据传输效率。kafka消息队列将具有相同编码格式的消息数据转接至相应的编码服务进行解码,提升对编码格式的兼容度,提高了解码效率。kafka消息队列能够实时处理高并发的大量数据,延迟低,容错性能好。
在上述任一项实施例中,可选地,通过消息中间件将通信端口监听到的消息数据转接至相应的编码服务,由编码服务对消息数据进行解码,生成解码数据,具体包括:利用kafka消息队列对消息数据进行并行缓存,根据联网设备的类型将对应的消息数据入队至带端口号的消息主题中;消息数据入队成功后断开数据传输的长连接;消息数据出队时,根据消息主题的端口号调用MINA框架对消息数据的编码格式进行扩展,并进行组装分类;根据分类调用相应的编码服务对消息数据进行解码,以生成解码数据,其中,端口号与通信端口一一对应。
在该实施例中,面对多个通信端口监听到的大量消息数据,kafka消息队列对消息数据进行并行缓存,消息数据入队至相应的消息主题,消息主题与通信端口的端口号建立联系,消息数据入队后断开当前的tcp连接,以免长连接增加***开销。消息数据出队时,根据端口号调用MINA框架对该消息主题中的消息数据进行编码格式的扩展,以便实现物联网和互联网编码无缝衔接。例如,传统物联网编码格式只支持ASCII和UNICODE,通过MINA框架可以对其进行扩展以便解码更多的数据类型。
在上述任一项实施例中,可选地,还包括:检测到解码过程出现错误,利用MINA框架调用回写接口将错误码返回联网设备,或者,检测到解码过程出现错误或提示编码不符合编码规范,请求联网设备进行消息重传。
在该实施例中,利用MINA框架对解码过程出现的错误进行矫正,提高解码准确度,提高消息数据解码过程的可靠性。
在上述任一项实施例中,可选地,根据联网设备的数据协议调用多线程池服务,将解码数据分配到多线程池服务中的执行线程中进行解析,生成解析数据,具体包括:根据联网设备要求的数据协议调用Executor线程池框架,将解码数据分配到Executor线程池框架的执行线程中进行解析,生成解析数据,其中,执行线程调用解析接口指向相应的数据协议解析方法。
在该实施例中,利用Executor多线程管理技术实现数据并行解析,保证了数据解析效率和及时性。
在上述任一项实施例中,可选地,还包括:存储、展示或转发解析数据。
在该实施例中,解析数据即经过解析的消息数据,解析出来的数据能够根据实际的业务需要进行数据存储、平台展示、转发第三方应用等等,使得物联网数据能够无缝上传至互联网端加以利用。
在上述任一项实施例中,可选地,还包括:对通信端口的端口监听应用服务进行分布式部署,以实现负载均衡。
在该实施例中,针对同一类型中设备数量较多的情况(例如,超过一百个),通过将该类型的联网设备所对应的通信端口的监听应用服务进行分布式部署的方式进行负载均衡,保证联网设备数据稳定地成功上传。
实施例二
根据本发明的另一个实施例的数据处理方法,包括:
1、数据监听服务:
对同一个类型的设备配置一个独立的TCP/IP端口,同一类型的设备通过连接同一端口实现和其他类型设备上传的消息进行逻辑分离,从而保证各类型设备消息的原子性。同时通过TCP/IP协议实现物联网和互联网对接。此外,针对单一设备类型中设备数量较多的情况(超过百个),***通过将端口监听应用服务进行分布式部署的方式进行负载均衡,保证物联设备数据稳定地成功上传。
2、消息解码服务:
TCP/IP端口监听到数据消息后,运用kafka对已接收消息数据进行并行缓存,入队成功并断开当前TCP/IP连接以免长连接增加***开销。不同物联设备类型的消息入队到配置带端口号命名的消息主题中,出队时根据主题上的端口号调用MINA框架对传统的数据编码格式进行扩展,然后进行组装分类,最后根据分类对同类型的编码进行统一解码。如果出现解码错误,MINA框架会调用回写接口将错误码返回设备,提示编码不符合编码规范或者解码错误,要求设备端进行消息重传。
3、数据解析服务:
TCP报文一般包含表头、认证、加解密、报文内容等。由于每一种设备类型都有特定数据标准,数据协议在不同的行业中也各自有不同。方案对此通过抽象接口泛型化,对每一种数据解析通过同一接口进行扩展和实现,并将接口暴露出来供不同类型设备调用。我们采用Executor多线程管理技术来管理线程,每个线程执行方法中调用解析接口指向相应的解析协议方法。而且Executor线程池管理技术支持让多个数据流进行并行流转、解析。解析完后的数据就是实际业务含义的设备指标数据,也就相当于实现了从物联数据到直观互联数据的转接。
根据上述数据处理方法,本申请的数据传输流程如图2所示,数据传输流程主要包括:根据物联网设备的设备类型将物联网设备分类,为每一种设备类型(例如,包括:设备类型1、设备类型2、设备类型3、设备类型4……设备类型n)的物联网设备分别配置相应的TCP/IP端口(例如,包括:监听端口1、监听端口2、监听端口3、监听端口4……监听端口n),TCP/IP端口监听到的消息数据通过kafka消息队列进行入队和出队操作,并由MINA框架进行编码格式扩展和根据编码格式进行分组,根据分组情况将消息数据转接至相应的解码服务(例如,包括:解码方式1、解码方式2和解码方式3),解码后的消息数据再进行数据解析,有物联网数据转换为互联网数据以进行数据应用。其中,n为大于或等于5的正整数。
本实施例实现一种面向多设备类型、多频率、多协议、多编码的高并发物联网数据传输交互的技术方案。实施例分为分布式端口监听、数据解码和多线程异步解析三个应用子***服务。分布式监听针对不同类型的设备分别配置独立的tcp端口,所有相同类型的设备走同一端口进行消息传输,并通过kafka转接到不同的编码服务进行消息解码。对解码后的数据根据设备要求的数据协议调用多线程池服务分配到一个执行线程中进行解析,解析出来的数据根据实际的业务需要进行数据存储、平台展示、转发第三方应用等等,失败则通过MINA框架回写提示错误。这三种服务均已抽象为API供***调用,理论上对设备的类型、数量不限,方案提供支持GBK、UTF-8、Unicode、USCII、UTF-16等5种传统物联数据编码格式的解码。此外,该实施例还提供对编码格式、数据协议、数据解析字段及类型实现可配置接入。从而实现对物联设备多类型、多设备、多编码、多协议高并发的兼容。
实施例三
如图3所示,根据本发明的一个实施例的数据处理装置300,包括:存储器302、处理器304及存储在存储器302上并可在处理器304上运行的程序,程序被处理器304执行时实现如上述任一实施例的数据处理方法的步骤。该数据处理装置300包括如上述任一项实施例的数据处理方法的全部有益效果,在此不再赘述。
实施例四
如图4所示,根据本发明的一个实施例的服务器400,包括:实施例三所述的数据处理装置300。该服务器400运行时能够实现:为同一类型的联网设备配置对应的通信端口,以使同一类型的多个联网设备通过通信端口传输消息数据;通过消息中间件将通信端口监听到的消息数据转接至相应的编码服务,由编码服务对消息数据进行解码,生成解码数据;根据联网设备的数据协议调用多线程池服务,将解码数据分配到多线程池服务中的执行线程中进行解析,生成解析数据。该服务器400包括如上述任一实施例的数据处理方法的全部有益效果,在此不再赘述。
实施例五
如图5所示,根据本发明的一个实施例,还提供了一种计算机可读存储介质500,其上存储有计算机程序502,上述计算机程序502被执行时实现上述任一实施例限定的数据处理方法。
在该实施例中,计算机程序502被执行时实现:为同一类型的联网设备配置对应的通信端口,以使同一类型的多个联网设备通过通信端口传输消息数据;通过消息中间件将通信端口监听到的消息数据转接至相应的编码服务,由编码服务对消息数据进行解码,生成解码数据;根据联网设备的数据协议调用多线程池服务,将解码数据分配到多线程池服务中的执行线程中进行解析,生成解析数据。为同一类型的多个联网设备配置一个统一的通信端口,同一类型的联网设备连接该统一通信端口进行通信,与其它类型联网设备上传的消息进行逻辑分离,保证各类型联网设备的消息的原子性。其中,对于多种类型的联网设备都对应设置独立的通信端口,消息中间件用于处理多种类型的多个联网设备的消息数据。通过消息中间件对通信端口监听到的消息数据进行中转分发,将同一类编码格式的消息数据转接至相应的编码服务进行统一解码,提高解码效率,同时也方便对消息数据的编码格式进行扩展。解码后的消息数据会根据联网设备要求的数据协议调用多线程池服务,通过多线程池服务执行解析过程,多线程池服务的线程池管理技术支持让多个数据流进行并行流转、解析,解析完成的消息数据就是实际业务含义的设备指标数据,也就实现了从物联数据到直观互联数据的转接。
根据上述技术方案的计算机程序502,可选地,为同一类型的联网设备配置对应的通信端口,以使同一类型的多个联网设备通过通信端口传输消息数据,具体包括:为同一类型的联网设备配置统一的TCP/IP端口,以使同一类型的多个联网设备通过TCP/IP端口传输消息数据,其中,TCP/IP端口用于实现物联网和互联网对接。
在该技术方案中,对同一个类型的设备配置一个独立的TCP/IP端口,同一类型的设备通过连接指定端口实现和其他类型设备上传的消息进行逻辑分离,从而保证各类型设备消息的原子性。同时通过TCP/IP端口的tcp/ip协议实现物联网和互联网对接。基于socket的连接方式,保证数据消息传输的可靠性。
其中,socket基于BSD UNIX的进程通信机制,用于描述IP地址和端口,称为“套接字”,是一个通信句柄,用于实现不同虚拟机或计算设备之间的通信。在网络上主机(server端)一般运行多个应用,并提供多种服务,每种服务都对应一个独立的端口。客户软件通过socket连接到不同的端口,实现数据交互。TCP/IP称为传输控制协议/互联网协议,其中网络地址统一分配,网络中每一设备和终端都具有一个唯一地址。
根据上述任一项技术方案的计算机程序502,可选地,通过消息中间件将通信端口监听到的消息数据转接至相应的编码服务,由编码服务对消息数据进行解码,生成解码数据,具体包括:通信端口监听到消息数据后,通过kafka消息队列将消息数据转接至相应的编码服务,由编码服务对消息数据进行解码,生成解码数据。
在该技术方案中,kafka是一种高吞吐量的分布式发布订阅消息中间件,具有高性能、持久化、多副本备份、横向扩展能力。通过kafka消息队列对每个端口接收(监听)到的消息数据进行中转,提高消息数据传输效率。kafka消息队列将具有相同编码格式的消息数据转接至相应的编码服务进行解码,提升对编码格式的兼容度,提高了解码效率。kafka消息队列能够实时处理高并发的大量数据,延迟低,容错性能好。
根据上述任一项技术方案的计算机程序502,可选地,通过消息中间件将通信端口监听到的消息数据转接至相应的编码服务,由编码服务对消息数据进行解码,生成解码数据,具体包括:利用kafka消息队列对消息数据进行并行缓存,根据联网设备的类型将对应的消息数据入队至带端口号的消息主题中;消息数据入队成功后断开数据传输的长连接;消息数据出队时,根据消息主题的端口号调用MINA框架对消息数据的编码格式进行扩展,并进行组装分类;根据分类调用相应的编码服务对消息数据进行解码,以生成解码数据,其中,端口号与通信端口一一对应。
在该技术方案中,面对多个通信端口监听到的大量消息数据,kafka消息队列对消息数据进行并行缓存,消息数据入队至相应的消息主题,消息主题与通信端口的端口号建立联系,消息数据入队后断开当前的tcp连接,以免长连接增加***开销。消息数据出队时,根据端口号调用MINA框架对该消息主题中的消息数据进行编码格式的扩展,以便实现物联网和互联网编码无缝衔接。例如,传统物联网编码格式只支持ASCII和UNICODE,通过MINA框架可以对其进行扩展以便解码更多的数据类型。
根据上述任一项技术方案的计算机程序502,可选地,还包括:检测到解码过程出现错误,利用MINA框架调用回写接口将错误码返回联网设备,或者,检测到解码过程出现错误或提示编码不符合编码规范,请求联网设备进行消息重传。
在该技术方案中,利用MINA框架对解码过程出现的错误进行矫正,提高解码准确度,提高消息数据解码过程的可靠性。
根据上述任一项技术方案的计算机程序502,可选地,根据联网设备的数据协议调用多线程池服务,将解码数据分配到多线程池服务中的执行线程中进行解析,生成解析数据,具体包括:根据联网设备要求的数据协议调用Executor线程池框架,将解码数据分配到Executor线程池框架的执行线程中进行解析,生成解析数据,其中,执行线程调用解析接口指向相应的数据协议解析方法。
在该技术方案中,利用Executor多线程管理技术实现数据并行解析,保证了数据解析效率和及时性。
根据上述任一项技术方案的计算机程序502,可选地,还包括:存储、展示或转发解析数据。
在该技术方案中,解析数据即经过解析的消息数据,解析出来的数据能够根据实际的业务需要进行数据存储、平台展示、转发第三方应用等等,使得物联网数据能够无缝上传至互联网端加以利用。
根据上述任一项技术方案的计算机程序502,可选地,还包括:对通信端口的端口监听应用服务进行分布式部署,以实现负载均衡。
在该技术方案中,针对同一类型中设备数量较多的情况(例如,超过一百个),通过将该类型的联网设备所对应的通信端口的监听应用服务进行分布式部署的方式进行负载均衡,保证联网设备数据稳定地成功上传。
根据上述实施例,本申请对一种设备类型配置一个独立端口,根据端口分配资源进行入队、解码、解析,实现不同类型数据互不干扰。运用了MINA框架可以对传统的编码进行扩展。从而实现物联到互联编码的无缝衔接。kafka实现消息入队即断开TCP连接,并用Executor进行线程池管理来进行并发的数据处理,提高服务器资源的利用率。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
应当注意的是,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。本发明可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (11)
1.一种数据处理方法,其特征在于,包括:
为同一类型的联网设备配置对应的通信端口,以使同一类型的多个所述联网设备通过所述通信端口传输消息数据,其中,若存在多种类型的联网设备,则为每一种类型的联网设备均配置相应的通信端口;
通过至少一个消息中间件将所述通信端口或多个所述通信端口监听到的所述消息数据转接至相应的编码服务,由所述编码服务对所述消息数据进行解码,生成解码数据,其中,将所述消息数据转接至相应的编码服务之前,对所述消息数据进行编码格式扩展。
2.根据权利要求1所述的数据处理方法,其特征在于,还包括:
根据所述联网设备的数据协议调用多线程池服务,将所述解码数据分配到所述多线程池服务中的执行线程中进行解析,生成解析数据。
3.根据权利要求1所述的数据处理方法,其特征在于,所述为同一类型的联网设备配置对应的通信端口,以使同一类型的多个所述联网设备通过所述通信端口传输消息数据,具体包括:
为同一类型的联网设备配置统一的TCP/IP端口,以使同一类型的多个所述联网设备通过所述TCP/IP端口传输消息数据,其中,所述TCP/IP端口用于实现物联网和互联网对接。
4.根据权利要求1所述的数据处理方法,其特征在于,所述通过至少一个消息中间件将所述通信端口监听到的所述消息数据转接至相应的编码服务,具体包括:
所述通信端口监听到所述消息数据后,通过至少一个基于异步传输原理进行数据消息并行接收和发布的消息中间件,将所述消息数据转接至相应的编码服务。
5.根据权利要求1所述的数据处理方法,其特征在于,所述通过至少一个消息中间件将所述通信端口或多个所述通信端口监听到的所述消息数据转接至相应的编码服务,由所述编码服务对所述消息数据进行解码,生成解码数据,其中,将所述消息数据转接至相应的编码服务之前,对所述消息数据进行编码格式扩展,具体包括:
对所述消息数据进行并行缓存,
根据所述联网设备的类型将对应的消息数据入队至带端口号的消息主题中;
所述消息数据入队成功后断开数据传输的长连接;
所述消息数据出队时,对所述消息数据的编码格式进行扩展,并进行组装分类;
根据所述分类调用相应的编码服务对所述消息数据进行解码,以生成所述解码数据,
其中,所述端口号与所述通信端口一一对应。
6.根据权利要求5所述的数据处理方法,其特征在于,还包括:
检测到解码过程出现错误,调用回写接口将错误码返回所述联网设备,或者
检测到解码过程出现错误或提示编码不符合编码规范,请求所述联网设备进行消息重传。
7.根据权利要求2所述的数据处理方法,其特征在于,还包括:
存储、展示或转发所述解析数据。
8.根据权利要求1至5中任一项所述的数据处理方法,其特征在于,还包括:
对所述通信端口的端口监听应用服务进行分布式部署,以实现负载均衡。
9.一种数据处理装置,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时能够实现如权利要求1至8中任一项所述的数据处理方法限定的步骤。
10.一种服务器,其特征在于,包括:
如权利要求9所述的数据处理装置。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被执行时,实现如权利要求1至8中任一项所述的数据处理方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910846061.2A CN110677277B (zh) | 2019-09-02 | 2019-09-02 | 数据处理方法、装置、服务器和计算机可读存储介质 |
PCT/CN2020/098781 WO2021042840A1 (zh) | 2019-09-02 | 2020-06-29 | 数据处理方法、装置、服务器和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910846061.2A CN110677277B (zh) | 2019-09-02 | 2019-09-02 | 数据处理方法、装置、服务器和计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110677277A CN110677277A (zh) | 2020-01-10 |
CN110677277B true CN110677277B (zh) | 2021-12-28 |
Family
ID=69076625
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910846061.2A Active CN110677277B (zh) | 2019-09-02 | 2019-09-02 | 数据处理方法、装置、服务器和计算机可读存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110677277B (zh) |
WO (1) | WO2021042840A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110677277B (zh) * | 2019-09-02 | 2021-12-28 | 深圳中兴网信科技有限公司 | 数据处理方法、装置、服务器和计算机可读存储介质 |
CN113691553B (zh) * | 2021-08-31 | 2022-12-20 | 正元地理信息集团股份有限公司 | 一种市政管网物联网统一接入的方法、终端、***和存储介质 |
CN113904951B (zh) * | 2021-09-28 | 2023-07-25 | 济南浪潮数据技术有限公司 | 一种网关设备的数据监控方法、装置及相关设备 |
CN113821361B (zh) * | 2021-11-24 | 2022-05-17 | 中节能晶和智慧城市科技(浙江)有限公司 | 一种基于流式处理的物联网平台消息处理方法和*** |
CN114567416B (zh) * | 2022-04-06 | 2024-06-07 | 西安羚控电子科技有限公司 | 基于tcp数据传输免校验方法及*** |
CN115665218B (zh) * | 2022-12-28 | 2023-04-25 | 南方电网数字电网研究院有限公司 | 一种物联网设备远程控制方法、***及相关设备 |
CN116112536A (zh) * | 2022-12-30 | 2023-05-12 | 广州通康创智软件有限公司 | 一种tcp-串口通信透传的方法及装置 |
CN116028247B (zh) * | 2023-03-27 | 2023-06-13 | 中新宽维传媒科技有限公司 | 一种基于消息中间件的文件采集*** |
CN117522601B (zh) * | 2024-01-04 | 2024-03-22 | 山东保医通信息科技有限公司 | 一种基于接口统一管理的核保业务执行方法、设备及介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102045896A (zh) * | 2010-11-22 | 2011-05-04 | 中山爱科数字科技有限公司 | 实现多协议及网络自适应的虚拟物联网网关*** |
CN102469165A (zh) * | 2010-10-29 | 2012-05-23 | (株)拜斯倍斯 | 多协议适配器***和多协议适配器***中的数据转换方法 |
CN103699692A (zh) * | 2014-01-11 | 2014-04-02 | 樊建 | 物联网接入平台数据管理方法 |
CN106534107A (zh) * | 2016-11-04 | 2017-03-22 | 北方工业大学 | 一种物联网消息服务*** |
CN106878459A (zh) * | 2017-03-24 | 2017-06-20 | 深圳安邦科技有限公司 | 一种自适应的物联网智能网关实现方法及其设备 |
CN107317726A (zh) * | 2017-06-21 | 2017-11-03 | 深圳市盛路物联通讯技术有限公司 | 一种物联网数据的上报控制方法及设备 |
KR20180046758A (ko) * | 2016-10-28 | 2018-05-09 | 국민대학교산학협력단 | 사물인터넷 기반의 DUSS(Different Units Same Security) 장치 |
CN108459915A (zh) * | 2018-01-31 | 2018-08-28 | 中电福富信息科技有限公司 | 一种适用于高并发场景的tcp通道管理***及其方法 |
CN109040144A (zh) * | 2018-10-19 | 2018-12-18 | 京信通信***(中国)有限公司 | 物联网网关数据处理方法、装置、存储介质及网关设备 |
CN110109996A (zh) * | 2019-05-15 | 2019-08-09 | 浪潮通用软件有限公司 | 一种工业互联网设备实时数据采集与存储方法及*** |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101719927A (zh) * | 2009-11-18 | 2010-06-02 | 中兴通讯股份有限公司 | 对网关下挂的设备实行远程管理的方法及其*** |
CN102546461B (zh) * | 2011-12-13 | 2014-06-25 | 中国电子科技集团公司第十五研究所 | 多层级消息中间件***及其消息转发控制方法和装置 |
US20170054770A1 (en) * | 2015-08-23 | 2017-02-23 | Tornaditech Llc | Multimedia teleconference streaming architecture between heterogeneous computer systems |
WO2018226790A1 (en) * | 2017-06-09 | 2018-12-13 | ORock Holdings, LLC | Secure network-accessible system for executing remote applications |
CN109933575B (zh) * | 2019-02-28 | 2021-04-27 | 鲁东大学 | 监测数据的存储方法及装置 |
CN110677277B (zh) * | 2019-09-02 | 2021-12-28 | 深圳中兴网信科技有限公司 | 数据处理方法、装置、服务器和计算机可读存储介质 |
-
2019
- 2019-09-02 CN CN201910846061.2A patent/CN110677277B/zh active Active
-
2020
- 2020-06-29 WO PCT/CN2020/098781 patent/WO2021042840A1/zh active Application Filing
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102469165A (zh) * | 2010-10-29 | 2012-05-23 | (株)拜斯倍斯 | 多协议适配器***和多协议适配器***中的数据转换方法 |
CN102045896A (zh) * | 2010-11-22 | 2011-05-04 | 中山爱科数字科技有限公司 | 实现多协议及网络自适应的虚拟物联网网关*** |
CN103699692A (zh) * | 2014-01-11 | 2014-04-02 | 樊建 | 物联网接入平台数据管理方法 |
KR20180046758A (ko) * | 2016-10-28 | 2018-05-09 | 국민대학교산학협력단 | 사물인터넷 기반의 DUSS(Different Units Same Security) 장치 |
CN106534107A (zh) * | 2016-11-04 | 2017-03-22 | 北方工业大学 | 一种物联网消息服务*** |
CN106878459A (zh) * | 2017-03-24 | 2017-06-20 | 深圳安邦科技有限公司 | 一种自适应的物联网智能网关实现方法及其设备 |
CN107317726A (zh) * | 2017-06-21 | 2017-11-03 | 深圳市盛路物联通讯技术有限公司 | 一种物联网数据的上报控制方法及设备 |
CN108459915A (zh) * | 2018-01-31 | 2018-08-28 | 中电福富信息科技有限公司 | 一种适用于高并发场景的tcp通道管理***及其方法 |
CN109040144A (zh) * | 2018-10-19 | 2018-12-18 | 京信通信***(中国)有限公司 | 物联网网关数据处理方法、装置、存储介质及网关设备 |
CN110109996A (zh) * | 2019-05-15 | 2019-08-09 | 浪潮通用软件有限公司 | 一种工业互联网设备实时数据采集与存储方法及*** |
Also Published As
Publication number | Publication date |
---|---|
WO2021042840A1 (zh) | 2021-03-11 |
CN110677277A (zh) | 2020-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110677277B (zh) | 数据处理方法、装置、服务器和计算机可读存储介质 | |
CN108647104B (zh) | 请求处理方法、服务器及计算机可读存储介质 | |
US8094560B2 (en) | Multi-stage multi-core processing of network packets | |
EP2824880B1 (en) | Flexible offload of processing a data flow | |
US7274706B1 (en) | Methods and systems for processing network data | |
US20170279874A1 (en) | Translation of messages using sensor-specific and unified protocols | |
US10754686B2 (en) | Method and electronic device for application migration | |
US20140280988A1 (en) | System and method for parallel multiplexing between servers in a cluster | |
US20140351829A1 (en) | System and method for processing messages in a service-oriented pipeline architecture | |
Pipatsakulroj et al. | muMQ: A lightweight and scalable MQTT broker | |
CN108063813B (zh) | 一种集群环境下密码服务网络并行化的方法与*** | |
US10826977B2 (en) | System and method for supporting asynchronous request/response in a network environment | |
TW202038581A (zh) | 管理用戶端、設備監控系統及方法 | |
US8135785B2 (en) | System and method for processing messages using pluggable protocol processors in a service-oriented pipeline architecture | |
WO2020224300A1 (zh) | 基于用户态协议栈的报文分流方法、装置及*** | |
EP2321937A2 (en) | Load balancing for services | |
US9591057B1 (en) | Peer-to-peer file transfer task coordination | |
CN113127204B (zh) | 一种基于反应堆网络模型处理并发业务的方法和服务器 | |
CN112104679B (zh) | 处理超文本传输协议请求的方法、装置、设备和介质 | |
CN103338156B (zh) | 一种基于线程池的命名管道服务器并发通信方法 | |
CN113296974B (zh) | 数据库访问方法、装置、电子设备及可读存储介质 | |
CN111711675A (zh) | 一种针对局域网内并发消息传递的解决方法 | |
CN108076111B (zh) | 一种在大数据平台中分发数据的***及方法 | |
CN107463438B (zh) | 用于多Openstack环境的信息处理方法、装置和*** | |
CN108055305B (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 |