CN117354400B - 一种用于北斗短报文的采集解析服务系统 - Google Patents
一种用于北斗短报文的采集解析服务系统 Download PDFInfo
- Publication number
- CN117354400B CN117354400B CN202311662686.6A CN202311662686A CN117354400B CN 117354400 B CN117354400 B CN 117354400B CN 202311662686 A CN202311662686 A CN 202311662686A CN 117354400 B CN117354400 B CN 117354400B
- Authority
- CN
- China
- Prior art keywords
- data
- service
- cluster
- beidou
- message
- 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
- 238000004458 analytical method Methods 0.000 title claims description 37
- 230000005540 biological transmission Effects 0.000 claims abstract description 85
- 238000012545 processing Methods 0.000 claims description 15
- 238000012544 monitoring process Methods 0.000 claims description 8
- 230000000977 initiatory effect Effects 0.000 claims description 5
- 230000000295 complement effect Effects 0.000 claims description 3
- 230000011218 segmentation Effects 0.000 claims description 3
- 238000000034 method Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 239000003999 initiator Substances 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 238000010223 real-time analysis Methods 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 101001094649 Homo sapiens Popeye domain-containing protein 3 Proteins 0.000 description 1
- 101000608234 Homo sapiens Pyrin domain-containing protein 5 Proteins 0.000 description 1
- 101000578693 Homo sapiens Target of rapamycin complex subunit LST8 Proteins 0.000 description 1
- 241000283973 Oryctolagus cuniculus Species 0.000 description 1
- 102100027802 Target of rapamycin complex subunit LST8 Human genes 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/12—Messaging; Mailboxes; Announcements
- H04W4/14—Short messaging services, e.g. short message services [SMS] or unstructured supplementary service data [USSD]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B7/00—Radio transmission systems, i.e. using radiation field
- H04B7/14—Relay systems
- H04B7/15—Active relay systems
- H04B7/185—Space-based or airborne stations; Stations for satellite systems
- H04B7/1851—Systems using a satellite or space-based relay
-
- 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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/08—Load balancing or load distribution
- H04W28/09—Management thereof
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Astronomy & Astrophysics (AREA)
- Aviation & Aerospace Engineering (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供一种用于北斗短报文的采集解析服务系统,该系统包括北斗用户机、两个负载均衡集群、透传服务集群、采集服务集群、发送服务集群、解析服务集群和注册中心集群,所述透传服务集群包括多个透传服务,所述采集服务集群包括多个采集服务,所述解析服务集群包括多个解析服务。本发明实现了服务与用户机连接的解耦,不仅可以达到负载均衡,还能保证双方的数据传输路径的正确性且不修改数据,同时还能提升整个系统的容错性和可维护性。
Description
技术领域
本发明涉及卫星通信领域,尤其是涉及一种用于北斗短报文的采集解析服务系统。
背景技术
目前北斗短报文已经广泛应用于林业、渔业、交通业和防灾减灾等各行各业中,随着北斗短报文的逐步应用,在报文的接收端遇到的问题也越来越多。在北斗用户机数量达到一定量时,需要并发处理的报文数据也越来越大,包含采集、处理、解析、发送功能的单体服务器已经无法满足实时解析的要求,将单体功能拆解,各个功能模块分开集群化部署成为解决问题的途径,然而具体怎样拆解却成为现阶段尚未攻克的难题,同时北斗用户机往往只有一个串口或者网口通信,无法同时与拆解后的采集服务和发送服务建立连接,也不能做到连接到时负载均衡。
发明内容
本发明的目的在于:针对现有技术存在的问题,提供一种用于北斗短报文的采集解析服务系统,解决现有单体服务器无法满足实时解析要求的问题。
本发明的发明目的通过以下技术方案来实现:
一种用于北斗短报文的采集解析服务系统,该系统包括北斗用户机、两个负载均衡集群、透传服务集群、采集服务集群、发送服务集群、解析服务集群和注册中心集群,所述透传服务集群包括多个透传服务,所述采集服务集群包括多个采集服务,所述解析服务集群包括多个解析服务;所述北斗用户机通过一个负载均衡集群和透传服务建立连接后,透传服务把连接信息记录到缓存集群,与此同时,透传服务保持与北斗用户机的连接,开始接收北斗用户机的数据;在透传服务接收到北斗用户机的数据后,通过另一个负载均衡集群向采集服务集群请求建立一个新的连接,将接收到的数据传输给采集服务;采集服务与透传服务首次建立连接时,将连接信息推送到注册中心集群,注册中心集群收到新的服务注册数据后,主动向发送服务集群发起北斗读卡请求,所述的北斗读卡请求同时携带有连接信息和北斗短报文读卡指令;当发送服务集群接收到系统新的北斗读卡请求时,通过另一个负载均衡集群向透传服务集群发起新的连接,建立连接后将北斗读卡请求发送到透传服务集群,透传服务集群收查找到对应已经建立连接的北斗用户机与透传服务,将北斗读卡请求转发到对应的透传服务,该透传服务通过已经建立的连接将北斗短报文读卡指令发送到对应的北斗用户机;北斗用户机接收到北斗短报文读卡指令后,执行读卡操作,将卡号数据发送到已经建立连接的透传服务,透传服务再将卡号数据透传到采集服务,采集服务收到卡号数据后将卡号信息注册到注册中心集群,将数据补全。
作为进一步的技术方案,在透传服务接收到北斗用户机的数据后,通过另一个负载均衡集群向采集服务集群请求建立一个新的TCP连接,经过三次握手后建立新的数据传输通道,将接收到的数据传输给采集服务。
作为进一步的技术方案,当透传服务与采集服务的连接创建完成后,将连接信息缓存到缓存集群和缓存数据库集群中;与此同时,透传服务将该北斗用户机的连接信息保存到缓存数据库集群中。
作为进一步的技术方案,当发送服务集群与透传服务集群建立连接后,将连接信息缓存到缓存集群和缓存数据库集群中。
作为进一步的技术方案,进行数据采集时,采集服务打开服务端的监听,服务端会启动并且维持两个线程组,一个线程组bossGroup用于监听客户端请求,另一个线程组workerGroup用于处理每条连接的数据读写;启动监听服务时,在Handler配置每条连接的数据读写与业务逻辑,采集到的数据以责任链模式在每个Handler上面流转,直到处理完毕;在Handler链条上,第一个Handler用于处理数据分割,第二个Handler用于对分割后的数据进行校验,第三个Handler用于根据北斗短报文协议去识别协议头;在识别出协议头后,根据北斗短报文协议对数据进行分解,使用“,”对数据进行分割,根据协议中的位置,对数据进行简单校验,如果这条报文中包含的所有数据均通过,即将该条报文转化为Java类对象,然后将Java类对象的所有信息序列化后发送给消息队列。
作为进一步的技术方案,解析服务集群从消息队列中拉取消息进行消费,消费成功后会通知消息队列该消息已经被消费,如果消费未成功会通知消息队列该消息未能消费成功,消息队列会重新派送该消息。
作为进一步的技术方案,解析服务从消息队列中拉取消息数据后,读取其中的数据信息,该数据信息包含北斗用户机数据、北斗卡卡号、北斗卡频度和北斗报文数据;根据北斗报文数据的协议头判断该协议的版本,再根据对应的协议版本,从北斗报文数据中对应的位置取出自定义用户协议数据段;获取到自定义用户协议数据后,再次根据自定义协议解析用户数据,将用户数据解析成为Java类对象的属性值,后续将数据序列化后存储到缓存中,设置失效时间,提供给应用服务快速查询获取数据,与此同时,也将数据持久化到缓存数据库中,提供给应用服务器做历史查询。
与现有技术相比,本发明具有以下优点:
1、设置一个中间透传服务集群,该服务集群会保存北斗用户机阵列的连接信息和数据采集、发送服务集群的连接信息,实现服务与用户机连接的解耦实现负载均衡,保证双方的数据传输路径的正确性但不修改数据,仅对传输的数据进行日志记录;
2、设置一个采集服务集群,将北斗短报文协议转为Http协议,通过引入消息队列将报文的采集服务与解析服务解耦,不仅实现了对北斗短报文采集和解析的削峰填谷,提升整个系统的容错性和可维护性;
3、设置一种解析服务集群,该集群提供对北斗短报文中自定义数据部分的解析功能,把自定义报文数据解析成为JSON格式的数据,提供给应用服务使用。
附图说明
图1为透传服务架构示意图;
图2为采集服务架构示意图;
图3为解析服务架构示意图。
实施方式
下面结合附图和具体实施例对本发明进行详细说明。
实施例
如图1、图2与图3所示,一种用于北斗短报文的采集解析服务系统,该系统可以分成透传服务构架、采集服务构架和解析服务构架。透传服务构架由北斗用户机阵列(包括北斗用户机1、北斗用户机2、北斗用户机3等)、两个负载均衡集群(一前一后)、透传服务集群(包括透传服务1、透传服务2、透传服务3等)、发送服务集群、采集服务集群和注册中心集群构成。采集服务构架由北斗用户机阵列(包括北斗用户机1、北斗用户机2、北斗用户机3等)、负载均衡集群、采集服务集群(包括采集服务1、采集服务2、采集服务3等)、消息队列集群和后续处理服务集群(如解析服务集群)构成。解析服务构架由采集服务集群、消息队列、解析服务集群、应用服务集群、MySQL数据库、Redis内存数据库构成。下面详细介绍各构架的工作流程。
1、透传服务
北斗用户机通过串口连接到串口服务器,每个串口服务器可以连接多台北斗用户机,在串口服务器的配置界面可以设置自己的网络信息和TCP连接的对端IP和端口,用于发起TCP连接,每个北斗用户机会单独发起一个TCP连接用于数据通信。
串口服务器会设置一个局域网IP,连接到网络交换机或网关。从网关连接到负载均衡集群,用集群的模式实现负载均衡的高可用性,同时增加系统整体的性能极限。负载均衡集群设有两个,一个设在前端与北斗用户机通信,一个设在后端。在本实施例中,透传服务、采集服务、发送服务、缓存、缓存数据库、注册中心等也采用集群的模式。
负载均衡集群的后端会反向代理到透传服务集群,透传服务使用Java语言开发而成,使用了基于NIO的Netty框架作为透传服务的核心,保证大量数据处理能力的同时兼顾稳定性。
在北斗用户机通过TCP和透传服务建立连接后,透传服务会记录下连接的本端和对端信息(简称连接信息)到缓存集群,该连接信息可提供给整个透传服务集群使用,缓存使用Redis内存数据库。与此同时,透传服务会保持与北斗用户机的连接,开始接收北斗用户机的数据。
在透传服务接收到北斗用户机的数据后,会通过后端的负载均衡集群向采集服务集群请求建立一个新的TCP连接,经过三次握手后会建立新的数据传输通道,将接收到的数据传输给采集服务,当连接创建完成后同样将连接信息缓存到Redis内存数据库和MySQL数据库中。与此同时,透传服务会将该北斗用户机连接的本端和对端连接信息保存到缓存数据库集群中,缓存数据库采用的MySQL。
采集服务与透传服务首次建立连接时,会将连接信息推送到注册中心,注册中心收到新的服务注册数据后,会主动向发送服务发起北斗读卡请求,北斗读卡请求同时携带有连接信息和北斗短报文读卡指令。
当发送服务接收到系统新的北斗读卡请求时,会通过后端的负载均衡集群向透传服务集群发起新的TCP连接,当连接创建完成后同样将连接信息缓存到Redis内存数据库和MySQL数据库中。建立连接后会将北斗读卡请求(包含目的IP、目的端口号和报文数据)发送到透传服务集群,透传服务集群收到北斗读卡请求后,会在缓存数据库中使用目的IP和目的端口号进行查找,查找到对应已经建立连接的北斗用户机与透传服务,将北斗读卡请求转发到对应的透传服务,该透传服务会通过已经建立的连接将北斗短报文读卡指令发送到对应的北斗用户机。
北斗用户机接收到北斗短报文读卡指令后,会执行读卡操作,在读取到卡号等信息后将数据发送到已经建立连接的透传服务,透传服务再将数据透传到采集服务,采集服务收到卡号数据会将卡号信息注册到注册中心,将数据补全。
2、采集服务
Netty是一个异步事件驱动的网络应用框架,用于快速开发可维护的高性能服务器和客户端。采集服务基于Netty框架和Java语言开发而成,使用MySQL关系型数据库作为缓存数据库管理系统,使用Redis作为内存高速缓存,使用RabbitMQ作为消息传输过程中保存消息的容器,用于采集服务和解析服务之间的异步通信。
在单台或多台服务器上面部署多个采集服务,使用Netty服务监听不同的端口号,数据传输请求通过Nginx负载均衡到每个采集服务。采集服务打开服务端的监听,服务端会启动并且维持两个线程组,bossGroup的作用是监听客户端请求,workerGroup的作用是处理每条连接的数据读写。客户端主动连接到服务端后从bossGroup处理线程组里面分配一个新的线程处理数据的采集。启动监听服务时,在Handler配置每条连接的数据读写与业务逻辑,采集到的数据会以责任链模式在每个Handler上面流转,直到处理完毕。
在Handler链条上,第一个Handler用于处理数据分割,当采集服务的Netty接收到数据后会通过LineBasedFrameDecoder解码器根据北斗用户机输出的北斗短报文的“$”符号或行尾控制符(\n或者\r\n)作为分隔符来进行分割。第二个Handler用于对分割后的数据进行校验,基于北斗短报文协议,校验和是指从“指令或内容”起始符“$”起到“校验和”前一字节,按字节异或的结果,如果单条数据的校验和与报文中携带的校验和一致则允许进入下一个处理程序Handler,否则该条数据将被记录到数据库且不进入下一个Handler。在链条上的第三个Handler会根据北斗短报文协议去识别协议头,根据协议头选择对应的处理方法,针对每个协议都会有相应的方法处理。例如$BDBSI,$符号为协议的起始符,根据北斗短报文协议版本,后面4个或者5个字符为协议头,根据协议头编写相应的解析类方法。
采集服务需要面对北斗用户机阵列采集的大数据量,所以需要采用集群部署的方式。在采集服务的配置文件中指定监听的端口号,在服务启动时会去读取配置文件的端口号配置,启动完成后会监听配置的端口号。采用一台高性能服务器或多台高性能服务器来部署采集服务,在每台服务器上按照性能估算部署多个采集服务,每个服务监听不同的端口号。
使用Nginx集群作为前端的反向代理,北斗用户机与采集服务建立TCP连接时,北斗用户机仅需要向Nginx集群发起请求,Nginx收到长连接请求后会根据负载均衡算法代理后具体的采集服务监听端口,在经过TCP三次握手后建立连接,开始接收数据。
在处理报文数据的Handler识别出协议头后,相应的处理方法会根据北斗短报文协议对数据进行分解,使用“,”对数据进行分割,根据协议中的位置,对数据进行简单校验,如果这条报文中包含的所有数据均通过,即可将其值赋值给一个Java类对象,即将一条报文数据转化为一个Java类对象。
采集服务启动后会与RabbitMQ消息队列建立连接,在将报文转化为类对象后,将类对象的所有信息序列化后发送给消息队列,系统后续的解析服务会拉取队列中的消息数据进行进一步的解析,至此采集服务成功的完成了数据从北斗短报文协议格式到JSON格式的转换,大大降低了后续服务使用上手的难度。消息可以堆积在消息队列中,即报文可以暂存在消息队列中,以待下游的解析服务逐步解析。
3、解析服务
采集服务集群会将报文采集成为面向对象的数据,将一条报文数据采集后,把整条报文和其他元数据信息组成一个对象数据,发送给消息队列集群,消息队列会保证这条消息被后续的解析服务成功消费。
解析服务集群从消息队列中拉取消息进行消费,消费成功后会通知消息队列该消息已经被消费,如果消费未成功会通知消息队列该消息未能消费成功,消息队列会重新派送该消息,保证该消息数据会被消费。
解析服务使用Java语言基于Springboot框架开发而成,采用集群式部署方式,集成了Rabbit消息队列消费者功能,能够从消息队列中拉取消息消费。
上游数据采集服务将短报文数据采集到消息队列中,解析服务从消息队列中拉取消息数据后,读取其中的数据信息,包含了北斗用户机数据、北斗卡卡号、北斗卡频度和北斗报文数据等信息,传输数据的报文包含北斗2.1协议的$BDTXR协议和北斗4.0协议的$TXXX协议,在这两者协议的报文中,包含了电文头部数据、自定义电文和电文尾部数据,自定义电文才是我们应用系统最关心的数据,故解析服务需要处理的就是将自定义电文解析转换为应用服务能直接使用的数据。
解析服务获取到消息后,主要对消息中北斗短报文的部分进行解析,首先根据报文信息的协议头判断该协议是2.1版本还是4.0版本,根据对应的协议版本,从报文中对应的位置取出自定义用户协议数据段。获取到自定义用户协议数据后,再次根据自定义协议解析用户数据,将用户数据解析成为Java类对象的属性值,后续将数据序列化后存储到Redis内存数据库中,设置失效时间,提供给应用服务快速查询获取数据,与此同时,也将数据持久化到MySQL数据库中,提供给应用服务器做历史查询。
应用服务会主动读取部分告警类型的报文数据,用户也可以通过主动点击页面去查询数据。应用服务与解析服务使用的是同一个Redis服务,故应用服务首先从Redis服务中查询相关数据,如果未查询到数据,则从数据库中查询,并将查询到的数据放入Redis缓存中。
本实施例涉及的英文缩写名词解释如下:
1.TCP:传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议,是为了在不可靠的互联网络上提供可靠的端到端字节流而专门设计的一个传输协议。
2.bossgroup,workgroup:在netty中,处理客户端的请求会被注册在两类selector上,这两类selector分别对应两个线程池bossGroup和workgroup,bossGroup主要处理客户端与服务端建立连接注册的selector; workgroup主要负责处理客户端读事件的selector逻辑。
3.Handler:在计算机中通常用来指代处理程序或处理函数。
4.Http: 超文本传输协议(Hypertext Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCII形式给出。
5.JSON: JSON(JavaScript Object Notation, JS对象简谱)是一种轻量级的数据交换格式。
6.Netty:Netty是由JBOSS提供的一个java开源框架,Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。
7.NIO:NIO(Non-Blocking IO)是同步非阻塞方式来处理IO数据。
8.Redis:Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库。
9.MySQL:MySQL是一个关系型数据库管理系统,MySQL是最好的RDBMS(Relational Database Management System,关系数据库管理系统)应用软件之一。
10.RabbitMQ:RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。
11.Nginx: Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。
12.LineBasedFrameDecoder:Netty中一个常用的解码器,是基于换行的,意味着只要在接收数据时遇到以换行符\n或者回车换行符\r\n结尾时,就表明数据已经接收完成可以被处理了。
13.$BDBSI:北斗短报文2.1协议,波束功率输出报文协议头。
14.$BDTXR:北斗短报文2.1协议,通信协议输出报文协议头。
15.$TXXX:北斗短报文4.0协议,通信信息报文协议头。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,应当指出的是,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种用于北斗短报文的采集解析服务系统,其特征在于,该系统包括北斗用户机、两个负载均衡集群、透传服务集群、采集服务集群、发送服务集群、解析服务集群和注册中心集群,所述透传服务集群包括多个透传服务,所述采集服务集群包括多个采集服务,所述解析服务集群包括多个解析服务;所述北斗用户机通过一个负载均衡集群和透传服务建立连接后,透传服务把连接信息记录到缓存集群,与此同时,透传服务保持与北斗用户机的连接,开始接收北斗用户机的数据;在透传服务接收到北斗用户机的数据后,通过另一个负载均衡集群向采集服务集群请求建立一个新的连接,将接收到的数据传输给采集服务;采集服务与透传服务首次建立连接时,将连接信息推送到注册中心集群,注册中心集群收到新的服务注册数据后,主动向发送服务集群发起北斗读卡请求,所述的北斗读卡请求同时携带有连接信息和北斗短报文读卡指令;当发送服务集群接收到系统新的北斗读卡请求时,通过另一个负载均衡集群向透传服务集群发起新的连接,建立连接后将北斗读卡请求发送到透传服务集群,透传服务集群收查找到对应已经建立连接的北斗用户机与透传服务,将北斗读卡请求转发到对应的透传服务,该透传服务通过已经建立的连接将北斗短报文读卡指令发送到对应的北斗用户机;北斗用户机接收到北斗短报文读卡指令后,执行读卡操作,将卡号数据发送到已经建立连接的透传服务,透传服务再将卡号数据透传到采集服务,采集服务收到卡号数据后将卡号信息注册到注册中心集群,将数据补全。
2.根据权利要求1所述的一种用于北斗短报文的采集解析服务系统,其特征在于,在透传服务接收到北斗用户机的数据后,通过另一个负载均衡集群向采集服务集群请求建立一个新的TCP连接,经过三次握手后建立新的数据传输通道,将接收到的数据传输给采集服务。
3.根据权利要求1所述的一种用于北斗短报文的采集解析服务系统,其特征在于,当透传服务与采集服务的连接创建完成后,将连接信息缓存到缓存集群和缓存数据库集群中;与此同时,透传服务将该北斗用户机的连接信息保存到缓存数据库集群中。
4.根据权利要求1所述的一种用于北斗短报文的采集解析服务系统,其特征在于,当发送服务集群与透传服务集群建立连接后,将连接信息缓存到缓存集群和缓存数据库集群中。
5.根据权利要求1所述的一种用于北斗短报文的采集解析服务系统,其特征在于,进行数据采集时,采集服务打开服务端的监听,服务端会启动并且维持两个线程组,一个线程组bossGroup用于监听客户端请求,另一个线程组workerGroup用于处理每条连接的数据读写;启动监听服务时,在Handler配置每条连接的数据读写与业务逻辑,采集到的数据以责任链模式在每个Handler上面流转,直到处理完毕;在Handler链条上,第一个Handler用于处理数据分割,第二个Handler用于对分割后的数据进行校验,第三个Handler用于根据北斗短报文协议去识别协议头;在识别出协议头后,根据北斗短报文协议对数据进行分解,使用“,”对数据进行分割,根据协议中的位置,对数据进行简单校验,如果这条报文中包含的所有数据均通过,即将该条报文转化为Java类对象,然后将Java类对象的所有信息序列化后发送给消息队列。
6.根据权利要求5所述的一种用于北斗短报文的采集解析服务系统,其特征在于,解析服务集群从消息队列中拉取消息进行消费,消费成功后会通知消息队列该消息已经被消费,如果消费未成功会通知消息队列该消息未能消费成功,消息队列会重新派送该消息。
7.根据权利要求5所述的一种用于北斗短报文的采集解析服务系统,其特征在于,解析服务从消息队列中拉取消息数据后,读取其中的数据信息,该数据信息包含北斗用户机数据、北斗卡卡号、北斗卡频度和北斗报文数据;根据北斗报文数据的协议头判断该协议的版本,再根据对应的协议版本,从北斗报文数据中对应的位置取出自定义用户协议数据段;获取到自定义用户协议数据后,再次根据自定义协议解析用户数据,将用户数据解析成为Java类对象的属性值,后续将数据序列化后存储到缓存中,设置失效时间,提供给应用服务快速查询获取数据,与此同时,也将数据持久化到缓存数据库中,提供给应用服务器做历史查询。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311662686.6A CN117354400B (zh) | 2023-12-06 | 2023-12-06 | 一种用于北斗短报文的采集解析服务系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311662686.6A CN117354400B (zh) | 2023-12-06 | 2023-12-06 | 一种用于北斗短报文的采集解析服务系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117354400A CN117354400A (zh) | 2024-01-05 |
CN117354400B true CN117354400B (zh) | 2024-02-02 |
Family
ID=89367241
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311662686.6A Active CN117354400B (zh) | 2023-12-06 | 2023-12-06 | 一种用于北斗短报文的采集解析服务系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117354400B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103913754A (zh) * | 2014-04-25 | 2014-07-09 | 航天科技控股集团股份有限公司 | 基于北斗和gps双模数据透传装置的数据透传方法 |
CN106448110A (zh) * | 2016-10-26 | 2017-02-22 | 南方电网科学研究院有限责任公司 | 基于北斗卫星的计量自动化数据采集系统及方法 |
CN209151166U (zh) * | 2018-12-28 | 2019-07-23 | 上海达华测绘有限公司 | 数据透传设备 |
CN110346819A (zh) * | 2019-07-17 | 2019-10-18 | 交通运输部东海航海保障中心上海航标处 | 一种北斗航标检测仪 |
CN115113251A (zh) * | 2022-07-25 | 2022-09-27 | 青岛银河矩阵数据系统有限公司 | 一种基于北斗定位的数据采集系统 |
CN116088016A (zh) * | 2022-12-09 | 2023-05-09 | 福信富通科技股份有限公司 | 车载定位终端卫星信号稽查方法、系统及其应用 |
CN116095664A (zh) * | 2023-04-10 | 2023-05-09 | 商飞软件有限公司 | 一种新增北斗用户机在系统中实现服务注册的方法 |
CN116170756A (zh) * | 2023-01-31 | 2023-05-26 | 湖北星纪时代科技有限公司 | 信息传输方法和终端 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070033301A1 (en) * | 2005-07-18 | 2007-02-08 | Eliezer Aloni | Method and system for transparent TCP offload with dynamic zero copy sending |
US10852724B2 (en) * | 2018-04-30 | 2020-12-01 | DJI Research LLC | Customizable waypoint missions |
-
2023
- 2023-12-06 CN CN202311662686.6A patent/CN117354400B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103913754A (zh) * | 2014-04-25 | 2014-07-09 | 航天科技控股集团股份有限公司 | 基于北斗和gps双模数据透传装置的数据透传方法 |
CN106448110A (zh) * | 2016-10-26 | 2017-02-22 | 南方电网科学研究院有限责任公司 | 基于北斗卫星的计量自动化数据采集系统及方法 |
CN209151166U (zh) * | 2018-12-28 | 2019-07-23 | 上海达华测绘有限公司 | 数据透传设备 |
CN110346819A (zh) * | 2019-07-17 | 2019-10-18 | 交通运输部东海航海保障中心上海航标处 | 一种北斗航标检测仪 |
CN115113251A (zh) * | 2022-07-25 | 2022-09-27 | 青岛银河矩阵数据系统有限公司 | 一种基于北斗定位的数据采集系统 |
CN116088016A (zh) * | 2022-12-09 | 2023-05-09 | 福信富通科技股份有限公司 | 车载定位终端卫星信号稽查方法、系统及其应用 |
CN116170756A (zh) * | 2023-01-31 | 2023-05-26 | 湖北星纪时代科技有限公司 | 信息传输方法和终端 |
CN116095664A (zh) * | 2023-04-10 | 2023-05-09 | 商飞软件有限公司 | 一种新增北斗用户机在系统中实现服务注册的方法 |
Non-Patent Citations (3)
Title |
---|
ECDSA-Based Message Authentication Scheme for BeiDou-II Navigation Satellite System;Zhijun Wu;IEEE Transactions on Aerospace and Electronic Systems;全文 * |
基于北斗卫星通信的偏远地区用电信息采集;妙红英;;电子设计工程(10);全文 * |
海洋地质调查远程监控系统研发与应用;郑宝锋;丁鸿弼;;现代电子技术(17);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN117354400A (zh) | 2024-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8312106B2 (en) | Optimizing the efficiency of an image retrieval system | |
US8195757B2 (en) | Method, apparatus and computer program for controlling retention of publications | |
CN109254982A (zh) | 一种流数据处理方法、系统、装置及计算机可读存储介质 | |
US10931479B2 (en) | Inband data gathering with dynamic intermediary route selections | |
CN109327511B (zh) | 一种基于http协议的数据请求方法和服务器 | |
CN111221793A (zh) | 数据挖掘方法、平台、计算机设备及存储介质 | |
CN113468221A (zh) | 一种基于kafka消息数据总线的系统集成方法 | |
US11956300B2 (en) | Message switching | |
CN117615043B (zh) | 一种边缘网关上服务间通信方法及系统 | |
CN117354400B (zh) | 一种用于北斗短报文的采集解析服务系统 | |
CN116842090A (zh) | 一种对账系统、方法、设备及存储介质 | |
US7937433B1 (en) | Queuing connector to promote message servicing | |
CN114390033A (zh) | 基于可扩展通信协议的回路状态巡检仪采集系统及方法 | |
CN113872814A (zh) | 内容分发网络的信息处理方法、装置和系统 | |
CN114201659A (zh) | 一种消息轨迹传输查询方法、装置及系统 | |
CN114817317A (zh) | 一种新能源发电监控系统 | |
CN111756836A (zh) | 一种基于事件管理模型的信息发送方法及装置 | |
CN112417015A (zh) | 数据分发方法和装置、存储介质及电子装置 | |
CN107330089B (zh) | 跨网络结构化数据收集系统 | |
CN115051866B (zh) | 一种报文处理方法及装置、存储介质及电子设备 | |
CN112910763B (zh) | 一种提供实时数据接口服务的方法、装置、设备及介质 | |
CN113098858B (zh) | 一种建链报文的无锁处理系统及方法 | |
US12021921B2 (en) | Data plane reduction for eventing components | |
CN115941454A (zh) | 一种日志传输存储方法和装置 | |
CN116760892A (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 |