CN105208004B - 一种基于obd设备的数据入库方法 - Google Patents

一种基于obd设备的数据入库方法 Download PDF

Info

Publication number
CN105208004B
CN105208004B CN201510525337.9A CN201510525337A CN105208004B CN 105208004 B CN105208004 B CN 105208004B CN 201510525337 A CN201510525337 A CN 201510525337A CN 105208004 B CN105208004 B CN 105208004B
Authority
CN
China
Prior art keywords
message
data
queue
entity
downstream
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
Application number
CN201510525337.9A
Other languages
English (en)
Other versions
CN105208004A (zh
Inventor
赵家君
李玮
孙力斌
王金
刘益伟
罗义斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing Lianchuang Digital Technology Co ltd
Original Assignee
Lian Motor Services Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Lian Motor Services Ltd filed Critical Lian Motor Services Ltd
Priority to CN201510525337.9A priority Critical patent/CN105208004B/zh
Publication of CN105208004A publication Critical patent/CN105208004A/zh
Application granted granted Critical
Publication of CN105208004B publication Critical patent/CN105208004B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例公开了一种基于OBD设备的数据入库方法,涉及高并发数据处理技术领域,能够保证OBD设备的实时监控过程的及时性,缓减数据拥堵。本发明包括:服务器接收OBD设备根据UDP/IP协议向服务器发送的数据;通过多业务处理线程从内存队列中取出接收到数据,并解析接收到数据的消息头,并根据消息头的关键字对应产生上行实体,并将上行实体加入上行实体队列;根据上行实体队列的处理结果,产生下行实体并压入下行实体队列,并根据下行实体产生下行报文,并将下行报文加入下行消息队列;依照下行消息队列对OBD设备下发下行消息。本发明适用于与OBD设备进行数据交互。

Description

一种基于OBD设备的数据入库方法
技术领域
本发明涉及高并发数据处理技术领域,尤其涉及一种基于OBD设备的数据入库方法。
背景技术
目前,车辆广泛配备有OBD(On Board Diagnostic,车载诊断***)终端,并以高频的形式向服务器上报数据。随着安装有OBD设备的车辆也在不断增加,服务端需要准实时的对大量数据进行快速的解析入库。但是,传统的报文解析入库方式需要通过逐条接收解析再入库的方法,难以满足实时监控过程中高并发大数据流量的传输需求,因此常常导致数据拥堵和数据丢失问题。
目前出现的几种妥协性的方案,其设计思路主要是:OBD设备直接将读取的数据上传到用户手机等移动终端,并不上传到云端服务器端存储,但是这就导致云端服务器无法对数据进行追溯,并且用户的移动终端也难以有效承担OBD设备上报的数据的处理工作;在一些方案中,为了保证数据上传的成功率,也会在OBD设备上采用TCP/IP协议进行数据上传,但是基于TCP/IP协议的传输方式需要进行较为复杂的握手过程,需要耗费用户较多的通信流量,并且也由于传输过程较为复杂,使得数据传输存在延时,难以保证OBD设备的实时监控过程的及时性,并且很容易造成数据拥堵。
发明内容
本发明的实施例提供一种基于OBD设备的数据入库方法,能够保证OBD设备实时监控过程的及时性,缓减数据拥堵。
为达到上述目的,本发明的实施例采用如下技术方案
基于OBD设备的数据入库方法,包括:
服务器接收OBD设备根据UDP/IP协议向所述服务器发送的数据,其中,由所述服务器启动监听接收数据流并通过多线程将接收到的16进制数据加入内存队列中;
通过多业务处理线程从所述内存队列中取出接收到数据,并解析所述接收到数据的消息头,并根据所述消息头的关键字对应产生上行实体,并将所述上行实体加入上行实体队列;
根据所述上行实体队列的处理结果,产生下行实体并压入下行实体队列,并根据所述下行实体产生下行报文,并将所述下行报文加入下行消息队列;
依照所述下行消息队列对所述OBD设备下发下行消息。
基于OBD设备的数据入库方法,本发明实施例提供的基于OBD设备的数据入库方法,能够接收OBD设备根据UDP/IP协议向服务器发送的数据,并通过多业务处理线程从内存队列中取出接收到数据,并解析接收到数据的消息头,并根据消息头的关键字对应产生上行实体,并将上行实体加入上行实体队列;当根据上行实体队列的处理结果后,产生下行实体并压入下行实体队列,并根据下行实体产生下行报文,并将下行报文加入下行消息队列。从而实现了将报文处理结果压入高并发队列,基于多线程的使用、旨在分解报文解析、业务处理步骤,解决处理过程中的速度瓶颈,有效保证使用高并发队列解决大数据量内存级存储问题、性能稳定、入库高效;使用多线程,充分利用***资源,使得***支持高并发,加快业务处理速度,从而保证OBD设备的实时监控过程的及时性,缓减数据拥堵。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例提供的一种基于OBD设备的数据入库方法的流程图;
图2为本发明实施例提供的一种基于OBD设备的数据入库具体实例的示意图。
具体实施方式
为使本领域技术人员更好地理解本发明的技术方案,下面结合附图和具体实施方式对本发明作进一步详细描述。下文中将详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
本发明实施例提供一种基于OBD设备的数据入库方法,如图1所示,包括:
101,服务器接收OBD设备根据UDP/IP协议向所述服务器发送的数据。
其中,由所述服务器启动监听接收数据流并通过多线程将接收到的16进制数据加入内存队列中。
102,服务器接收OBD设备根据UDP/IP协议向所述服务器发送的数据,所述服务器通过多业务处理线程从所述内存队列中取出接收到数据,并解析所述接收到数据的消息头,并根据所述消息头的关键字对应产生上行实体,并将所述上行实体加入上行实体队列。
例如:如图2所示,OBD设备基于UDP/IP协议向服务器发送报文数据,服务器对报文数据的入库处理包括:监听接收报文入缓存队列、解析报文头、解析报文体、业务处理、加入容器并生成文件、下发报文处理、报文下发。其中,***启动时,依次启动监听5555端口接收报文线程,报文头解析线程,报文体解析线程,业务处理线程,报文写文件线程,报文下发处理、发送线程,日志存储线程,和定时扫描文件,upload方案批量入库job任务。每个业务处理过程和上下游均隔离开来,使用高并发队列做数据交换支撑,从而提高报文解析过程的稳定、高效。在本实施例如图2所示的实例中OBD设备与服务器基于UDP/IP协议进行通讯,并模拟协议的握手过程,如果本次传输不成功可续传,避免UDP协议广播式通信的弊端。使用多线程将接收到的报文先压入内存队列,内存的处理速度相对于物理存储要快的多,可以有效避免报文拥堵在接收端口处,杜绝数据丢失;内存可以为后端业务处理压力过大时起到缓存作用,是报文解析入库过程中的缓冲区。整个过程中使用了内存队列、多线程、容器机制,能够充分利用现有资源处理报文入库,使资源的利用率达到最高。
具体的,服务器使用线程java类Thread循环监听服务端口,UDP服务端java类Datagram Socket接收数据,数据包JAVA类Datagram Packet封装数据,并可以直接压入高并发缓存队列Concurrent Linked Queue。
本实施例中所述的解析所述接收到数据的消息头的具体方式,包括:
通过所述多业务处理线程从高低优先级队列中取出所述接收到数据,并所述接收到数据的消息头。
所述根据所述下行实体产生下行报文,并将所述下行报文加入下行消息队列,包括:根据下行实体Bean多线程产生所述下行报文。将所述下行报文压入下行消息队列,并将GPS的更新数据缓存到Redis服务器。
本发明实施例,实现了OBD设备通过UDP/IP协议上报数据到服务端,相比TCP/IP协议没有复杂的握手机制,没有赘余的报文头尾,服务端不需要解析复杂的头尾报文消息,报文整体大小降低了70%,同时也降低了网络通信压力。
103,服务器接收OBD设备根据UDP/IP协议向所述服务器发送的数据,所述服务器启根据所述上行实体队列的处理结果,产生下行实体并压入下行实体队列,并根据所述下行实体产生下行报文,并将所述下行报文加入下行消息队列。
104,服务器接收OBD设备根据UDP/IP协议向所述服务器发送的数据,所述服务器启依照所述下行消息队列对所述OBD设备下发下行消息。
在本实施例中,还可以包括:当通过多业务处理线程从所述内存队列中取出接收到数据时,向所述OBD设备下发报文表示本次接收成功。
将所述接收到数据根据所述UDP/IP协议解析报文体并产生实体Bean,并将所述实体Bean放入所述容器中,并通过所述多业务处理线程从所述容器中批量取出数据并生成物理AVL文件。
例如:实体队列中的报文实体被服务器通过异步启动的多类多个业务处理线程取出,并根据报文结构体中的报文类型,分类型业务处理,并将生产的业务实体bean按字段属性顺序将属性值写AVL字符串,加入高并发容器ConcurrentHashMap。并将生产的返回实体返回给下发业务处理线程,压入下发实体队列;此时,下发实体队列中的实体被已经启动的下发处理线程取出,封装,转换成16进制下发报文后再次压入下发并发队列,以便于排队等待下发线程取出并以多线程UDP方式sender()方法下发报文。其中,每种报文的写文件线程可以每隔10秒钟从对应的容器中批量捞取文件,并生成一次AVL文件;而在对应文件目录下生产的文件被***初始化时启动的定时任务每隔20秒扫描一次,并以upload方式批量将报文入库。
本实施例中,当在依照所述下行消息队列对所述OBD设备下发下行消息之后,还包括:移除服务器的状态机中的终端记录,并压入日志队列。
例如:服务器可以通过JOB定时扫描盘符下的文件目录,并通过FileUpload方式将生成的物理AVL文件导入数据库,并且删除所述接收到的数据。从而将容器中的内容批量写成物理文件,使用FileUpload方式以不记录日志的方式将数据导入数据库,避免逐条入库时Web与数据库连接比较耗时和耗费资源的过程,从而提高入库能力,减少数据库压力。
本发明实施例提供的基于OBD设备的数据入库方法,能够接收OBD设备根据UDP/IP协议向服务器发送的数据,并通过多业务处理线程从内存队列中取出接收到数据,并解析接收到数据的消息头,并根据消息头的关键字对应产生上行实体,并将上行实体加入上行实体队列;当根据上行实体队列的处理结果后,产生下行实体并压入下行实体队列,并根据下行实体产生下行报文,并将下行报文加入下行消息队列。从而实现了将报文处理结果压入高并发队列、基本使用多线程,旨在分解报文解析、业务处理步骤,解决处理过程中的速度瓶颈,有效保证使用高并发队列解决大数据量内存级存储问题,稳定,高效;使用多线程,充分利用***资源,使得***支持高并发,加快业务处理速度,从而保证OBD设备的实时监控过程的及时性,缓减数据拥堵。
基于OBD设备的数据入库方法,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (3)

1.一种基于OBD设备的数据入库方法,其特征在于,包括:
服务器接收OBD设备根据UDP/IP协议向所述服务器发送的数据,其中,由所述服务器启动监听接收数据流并通过多线程将接收到的16进制数据加入内存队列中;
通过多业务处理线程从所述内存队列中取出接收到数据,并解析所述接收到数据的消息头,并根据所述消息头的关键字对应产生上行实体,并将所述上行实体加入上行实体队列;
根据所述上行实体队列的处理结果,产生下行实体并压入下行实体队列,并根据所述下行实体产生下行报文,并将所述下行报文加入下行消息队列;
依照所述下行消息队列对所述OBD设备下发下行消息;
还包括:当通过多业务处理线程从所述内存队列中取出接收到数据时,向所述OBD设备下发报文表示本次接收成功;
将所述接收到数据根据所述UDP/IP协议解析报文体并产生实体Bean,并将所述实体Bean放入容器中,并通过所述多业务处理线程从所述容器中批量取出数据并生成物理AVL文件;
所述解析所述接收到数据的消息头,包括:通过所述多业务处理线程从高低优先级队列中取出所述接收到数据,并所述接收到数据的消息头;
所述根据所述下行实体产生下行报文,并将所述下行报文加入下行消息队列,包括:根据下行实体Bean多线程产生所述下行报文;将所述下行报文压入下行消息队列,并将GPS的更新数据缓存到Redis服务器。
2.根据权利要求1所述的方法,其特征在于,在依照所述下行消息队列对所述OBD设备下发下行消息之后,还包括:移除服务器的状态机中的终端记录,并压入日志队列。
3.根据权利要求1所述的方法,其特征在于,还包括:通过JOB定时扫描盘符下的文件目录,并通过FileUpload方式将生成的物理AVL文件导入数据库,并且删除所述接收到的数据。
CN201510525337.9A 2015-08-25 2015-08-25 一种基于obd设备的数据入库方法 Active CN105208004B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510525337.9A CN105208004B (zh) 2015-08-25 2015-08-25 一种基于obd设备的数据入库方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510525337.9A CN105208004B (zh) 2015-08-25 2015-08-25 一种基于obd设备的数据入库方法

Publications (2)

Publication Number Publication Date
CN105208004A CN105208004A (zh) 2015-12-30
CN105208004B true CN105208004B (zh) 2018-10-23

Family

ID=54955438

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510525337.9A Active CN105208004B (zh) 2015-08-25 2015-08-25 一种基于obd设备的数据入库方法

Country Status (1)

Country Link
CN (1) CN105208004B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107273190A (zh) * 2017-05-19 2017-10-20 武汉票据交易中心有限公司 一种批量定时业务处理方法和***
CN111092932B (zh) * 2019-11-19 2022-07-08 山东大学 一种易于穿越防火墙的obd数据远程入库通信方法
CN110891032B (zh) * 2019-11-27 2023-06-30 佛山市蠢材科技有限公司 一种人脸数据并行下发方法、装置及电子设备
CN114339628B (zh) * 2021-12-27 2023-07-04 中国农业银行股份有限公司 5g富媒体消息发送方法、设备、存储介质及产品
CN114780353B (zh) * 2022-06-15 2022-09-27 统信软件技术有限公司 一种文件日志监控方法、***及计算设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103162973A (zh) * 2013-03-29 2013-06-19 深圳市凯尔卡科技有限公司 单芯片多线程的汽车诊断***及方法
CN103390049A (zh) * 2013-07-23 2013-11-13 南京联创科技集团股份有限公司 一种基于内存数据库缓存的高速消息队列溢出的处理方法
CN103886079A (zh) * 2014-03-26 2014-06-25 北京京东尚科信息技术有限公司 一种数据处理方法和***
CN104483960A (zh) * 2014-11-10 2015-04-01 深圳市元征科技股份有限公司 一种汽车诊断通信模块数据收发并行处理的方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040088498A1 (en) * 2002-10-31 2004-05-06 International Business Machines Corporation System and method for preferred memory affinity

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103162973A (zh) * 2013-03-29 2013-06-19 深圳市凯尔卡科技有限公司 单芯片多线程的汽车诊断***及方法
CN103390049A (zh) * 2013-07-23 2013-11-13 南京联创科技集团股份有限公司 一种基于内存数据库缓存的高速消息队列溢出的处理方法
CN103886079A (zh) * 2014-03-26 2014-06-25 北京京东尚科信息技术有限公司 一种数据处理方法和***
CN104483960A (zh) * 2014-11-10 2015-04-01 深圳市元征科技股份有限公司 一种汽车诊断通信模块数据收发并行处理的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
《基于OBD_的车载远程故障诊断***设计》;孟磊;《万方数据企业知识服务平台》;20120929;第1-4章 *

Also Published As

Publication number Publication date
CN105208004A (zh) 2015-12-30

Similar Documents

Publication Publication Date Title
CN105208004B (zh) 一种基于obd设备的数据入库方法
US10778761B2 (en) Processing search responses returned by search peers
CN104754036A (zh) 一种基于kafka的消息处理***及处理方法
CN103095819A (zh) 推送数据信息的方法及数据信息推送***
US10075549B2 (en) Optimizer module in high load client/server systems
CN106021315B (zh) 一种应用程序的日志管理方法及***
CN103023857B (zh) 一种信息资源远程部署的方法及***
CN111651510A (zh) 数据处理方法、装置、电子设备和计算机可读存储介质
CN103259683A (zh) 基于HTML5的Web网管***二级缓存推送方法
CN108737549A (zh) 一种大数据量的日志分析方法及装置
CN108712457A (zh) 基于Nginx反向代理的后端服务器动态负载调整方法及装置
US11741291B2 (en) Systems and methods for providing error recovery in data transmissions
CN103248645A (zh) Bt离线数据下载***及方法
CN109254854A (zh) 异步调用方法、计算机装置及存储介质
CN107438084A (zh) 多客户端数据同步方法和装置
CN108153828A (zh) 一种实时数据的持久化方法、装置及设备、存储介质
CN105653209A (zh) 一种对象存储数据传输方法及装置
CN105761039A (zh) 快递信息大数据处理方法
CN107357526A (zh) 用于处理网络数据的方法和装置、服务器和存储介质
CN109783330B (zh) 日志处理方法、显示方法和相关装置、***
CN111193789A (zh) 订阅信息推送方法、装置、计算机设备和可读存储介质
CN101013996A (zh) 块存储服务方法、块存储服务***及块存储服务客户端
CN101257461A (zh) 基于分类的内容过滤方法及其装置
CN109710679A (zh) 数据抽取方法及装置
US20150256502A1 (en) Method and system for processing social network information

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 210036 Drum Tower International Software and Service Outsourcing Industrial Park, 18 Jihui Road, Drum Tower District, Nanjing, Jiangsu Province

Applicant after: Automobile services Co.,Ltd. of Linkage

Address before: 210036 Drum Tower International Software and Service Outsourcing Industrial Park, 18 Jihui Road, Drum Tower District, Nanjing, Jiangsu Province

Applicant before: LIAN wisdom Driving Technology Co.,Ltd.

Address after: 210036 Drum Tower International Software and Service Outsourcing Industrial Park, 18 Jihui Road, Drum Tower District, Nanjing, Jiangsu Province

Applicant after: LIAN wisdom Driving Technology Co.,Ltd.

Address before: 210036 LIAN science and technology building, 18 Hui Ji Road, Gulou District, Nanjing, Jiangsu

Applicant before: CHINA AUTOMOBILE ALLIANCE MOTOR SERVICE Co.,Ltd.

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230316

Address after: 210019 4th floor, building 1, 69 Aoti street, Jianye District, Nanjing City, Jiangsu Province

Patentee after: Nanjing Lianchuang Digital Technology Co.,Ltd.

Address before: 210036 Drum Tower International Software and Service Outsourcing Industrial Park, 18 Jihui Road, Drum Tower District, Nanjing, Jiangsu Province

Patentee before: Automobile services Co.,Ltd. of Linkage