System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种用于北斗短报文的采集解析服务系统技术方案_技高网

一种用于北斗短报文的采集解析服务系统技术方案

技术编号:40039551 阅读:9 留言:0更新日期:2024-01-16 19:30
本发明专利技术提供一种用于北斗短报文的采集解析服务系统,该系统包括北斗用户机、两个负载均衡集群、透传服务集群、采集服务集群、发送服务集群、解析服务集群和注册中心集群,所述透传服务集群包括多个透传服务,所述采集服务集群包括多个采集服务,所述解析服务集群包括多个解析服务。本发明专利技术实现了服务与用户机连接的解耦,不仅可以达到负载均衡,还能保证双方的数据传输路径的正确性且不修改数据,同时还能提升整个系统的容错性和可维护性。

【技术实现步骤摘要】

本专利技术涉及卫星通信领域,尤其是涉及一种用于北斗短报文的采集解析服务系统


技术介绍

1、目前北斗短报文已经广泛应用于林业、渔业、交通业和防灾减灾等各行各业中,随着北斗短报文的逐步应用,在报文的接收端遇到的问题也越来越多。在北斗用户机数量达到一定量时,需要并发处理的报文数据也越来越大,包含采集、处理、解析、发送功能的单体服务器已经无法满足实时解析的要求,将单体功能拆解,各个功能模块分开集群化部署成为解决问题的途径,然而具体怎样拆解却成为现阶段尚未攻克的难题,同时北斗用户机往往只有一个串口或者网口通信,无法同时与拆解后的采集服务和发送服务建立连接,也不能做到连接到时负载均衡。


技术实现思路

1、本专利技术的目的在于:针对现有技术存在的问题,提供一种用于北斗短报文的采集解析服务系统,解决现有单体服务器无法满足实时解析要求的问题。

2、本专利技术的专利技术目的通过以下技术方案来实现:

3、一种用于北斗短报文的采集解析服务系统,该系统包括北斗用户机、两个负载均衡集群、透传服务集群、采集服务集群、发送服务集群、解析服务集群和注册中心集群,所述透传服务集群包括多个透传服务,所述采集服务集群包括多个采集服务,所述解析服务集群包括多个解析服务;所述北斗用户机通过一个负载均衡集群和透传服务建立连接后,透传服务把连接信息记录到缓存集群,与此同时,透传服务保持与北斗用户机的连接,开始接收北斗用户机的数据;在透传服务接收到北斗用户机的数据后,通过另一个负载均衡集群向采集服务集群请求建立一个新的连接,将接收到的数据传输给采集服务;采集服务与透传服务首次建立连接时,将连接信息推送到注册中心集群,注册中心集群收到新的服务注册数据后,主动向发送服务集群发起北斗读卡请求,所述的北斗读卡请求同时携带有连接信息和北斗短报文读卡指令;当发送服务集群接收到系统新的北斗读卡请求时,通过另一个负载均衡集群向透传服务集群发起新的连接,建立连接后将北斗读卡请求发送到透传服务集群,透传服务集群收查找到对应已经建立连接的北斗用户机与透传服务,将北斗读卡请求转发到对应的透传服务,该透传服务通过已经建立的连接将北斗短报文读卡指令发送到对应的北斗用户机;北斗用户机接收到北斗短报文读卡指令后,执行读卡操作,将卡号数据发送到已经建立连接的透传服务,透传服务再将卡号数据透传到采集服务,采集服务收到卡号数据后将卡号信息注册到注册中心集群,将数据补全。

4、作为进一步的技术方案,在透传服务接收到北斗用户机的数据后,通过另一个负载均衡集群向采集服务集群请求建立一个新的tcp连接,经过三次握手后建立新的数据传输通道,将接收到的数据传输给采集服务。

5、作为进一步的技术方案,当透传服务与采集服务的连接创建完成后,将连接信息缓存到缓存集群和缓存数据库集群中;与此同时,透传服务将该北斗用户机的连接信息保存到缓存数据库集群中。

6、作为进一步的技术方案,当发送服务集群与透传服务集群建立连接后,将连接信息缓存到缓存集群和缓存数据库集群中。

7、作为进一步的技术方案,进行数据采集时,采集服务打开服务端的监听,服务端会启动并且维持两个线程组,一个线程组bossgroup用于监听客户端请求,另一个线程组workergroup用于处理每条连接的数据读写;启动监听服务时,在handler配置每条连接的数据读写与业务逻辑,采集到的数据以责任链模式在每个handler上面流转,直到处理完毕;在handler链条上,第一个handler用于处理数据分割,第二个handler用于对分割后的数据进行校验,第三个handler用于根据北斗短报文协议去识别协议头;在识别出协议头后,根据北斗短报文协议对数据进行分解,使用“,”对数据进行分割,根据协议中的位置,对数据进行简单校验,如果这条报文中包含的所有数据均通过,即将该条报文转化为java类对象,然后将java类对象的所有信息序列化后发送给消息队列。

8、作为进一步的技术方案,解析服务集群从消息队列中拉取消息进行消费,消费成功后会通知消息队列该消息已经被消费,如果消费未成功会通知消息队列该消息未能消费成功,消息队列会重新派送该消息。

9、作为进一步的技术方案,解析服务从消息队列中拉取消息数据后,读取其中的数据信息,该数据信息包含北斗用户机数据、北斗卡卡号、北斗卡频度和北斗报文数据;根据北斗报文数据的协议头判断该协议的版本,再根据对应的协议版本,从北斗报文数据中对应的位置取出自定义用户协议数据段;获取到自定义用户协议数据后,再次根据自定义协议解析用户数据,将用户数据解析成为java类对象的属性值,后续将数据序列化后存储到缓存中,设置失效时间,提供给应用服务快速查询获取数据,与此同时,也将数据持久化到缓存数据库中,提供给应用服务器做历史查询。

10、与现有技术相比,本专利技术具有以下优点:

11、1、设置一个中间透传服务集群,该服务集群会保存北斗用户机阵列的连接信息和数据采集、发送服务集群的连接信息,实现服务与用户机连接的解耦实现负载均衡,保证双方的数据传输路径的正确性但不修改数据,仅对传输的数据进行日志记录;

12、2、设置一个采集服务集群,将北斗短报文协议转为http协议,通过引入消息队列将报文的采集服务与解析服务解耦,不仅实现了对北斗短报文采集和解析的削峰填谷,提升整个系统的容错性和可维护性;

13、3、设置一种解析服务集群,该集群提供对北斗短报文中自定义数据部分的解析功能,把自定义报文数据解析成为json格式的数据,提供给应用服务使用。

本文档来自技高网...

【技术保护点】

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类对象的属性值,后续将数据序列化后存储到缓存中,设置失效时间,提供给应用服务快速查询获取数据,与此同时,也将数据持久化到缓存数据库中,提供给应用服务器做历史查询。

...

【技术特征摘要】

1.一种用于北斗短报文的采集解析服务系统,其特征在于,该系统包括北斗用户机、两个负载均衡集群、透传服务集群、采集服务集群、发送服务集群、解析服务集群和注册中心集群,所述透传服务集群包括多个透传服务,所述采集服务集群包括多个采集服务,所述解析服务集群包括多个解析服务;所述北斗用户机通过一个负载均衡集群和透传服务建立连接后,透传服务把连接信息记录到缓存集群,与此同时,透传服务保持与北斗用户机的连接,开始接收北斗用户机的数据;在透传服务接收到北斗用户机的数据后,通过另一个负载均衡集群向采集服务集群请求建立一个新的连接,将接收到的数据传输给采集服务;采集服务与透传服务首次建立连接时,将连接信息推送到注册中心集群,注册中心集群收到新的服务注册数据后,主动向发送服务集群发起北斗读卡请求,所述的北斗读卡请求同时携带有连接信息和北斗短报文读卡指令;当发送服务集群接收到系统新的北斗读卡请求时,通过另一个负载均衡集群向透传服务集群发起新的连接,建立连接后将北斗读卡请求发送到透传服务集群,透传服务集群收查找到对应已经建立连接的北斗用户机与透传服务,将北斗读卡请求转发到对应的透传服务,该透传服务通过已经建立的连接将北斗短报文读卡指令发送到对应的北斗用户机;北斗用户机接收到北斗短报文读卡指令后,执行读卡操作,将卡号数据发送到已经建立连接的透传服务,透传服务再将卡号数据透传到采集服务,采集服务收到卡号数据后将卡号信息注册到注册中心集群,将数据补全。

2.根据权利要求1所述的一种用于北斗短报文的采集解析服务系统,其特征在于,在透传服务接收到北斗用户机的数据后,通过另一个负载均衡集群向采集服务集群请求建立一个新的tcp连接,经过三次握手后建立新的数据传输通道,将接收到的数据传输给采集服务。

3.根据权利要求1所述的一种用于北斗短报文的采集解析服务系统,其特征在于,当透传服务与采集服务的连接创建完成后,将连接信息缓存到缓存集群和缓存数据库集群中;与此同时,透传服务将该北斗用户机的连接信息保存到缓存数据库集群中。

4.根据权利要求1所述的...

【专利技术属性】
技术研发人员:刘怡然莫鹏熹熊予青余崇贵黄应梦孙禀权
申请(专利权)人:商飞软件有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1