CN109426433A - 读写控制、车联网数据处理方法及服务后台、车联网*** - Google Patents
读写控制、车联网数据处理方法及服务后台、车联网*** Download PDFInfo
- Publication number
- CN109426433A CN109426433A CN201710730599.8A CN201710730599A CN109426433A CN 109426433 A CN109426433 A CN 109426433A CN 201710730599 A CN201710730599 A CN 201710730599A CN 109426433 A CN109426433 A CN 109426433A
- Authority
- CN
- China
- Prior art keywords
- data
- vehicle
- read
- current
- reading part
- 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.)
- Pending
Links
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/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供一种读写控制、车联网数据处理方法及服务后台、车联网***,服务后台会处理来自终端的车辆报文得到车辆数据,并将车辆数据存入临时数据存储结构当前的写入部;同时,将临时数据存储结构当前读取部中的车辆数据写入到预设存储位置。在检测到当前读取部的车辆数据读取完毕,且写入部有车辆数据时,控制切换当前的读取部和写入部。所以,当某个车辆数据被写入当前的写入部,只要该写入部被切换成读取部,该车辆数据就有被读取写入预设存储位置的机会。当该读取部被切换成写入部时,该车辆数据必然已经被读取完毕。该方案能够保证车辆数据尽可能有序的被写入其他存储位置,避免终端侧信息更新缓慢的问题,提升了用户体验。
Description
技术领域
本发明涉及车联网领域,更具体地说,涉及一种读写控制、车联网数据处理方法及服务后台、车联网***。
背景技术
共享车辆的出现基本颠覆了人们传统的用车观念,这种新型的用车方案不仅有利于减轻城市的交通压力,提升交通工具的利用率,在极大程度上实现城市资源的优化配置。而且,也能够减少私人汽车的数量,降低交通工具的排放量,帮助“节能减排”目标的实现。
随着车联网应用业务形态的不断发展,共享车辆可通过与服务后台的通信得到服务后台的统一管理:终端将车辆数据以报文形式上报到后台服务器,由后台服务器对原始报文进行解析、逻辑处理后得到车辆数据后,以基础服务形式发布供其它应用调用。这种车联网数据处理能够使共享车辆得到更妥善的管理与维护,让问题车辆在第一时间得到故障检测、维修,方便使用者的随时出行。同时,车联网的管理方案也降低了人工现场检修、维护的负担,降低了共享车辆的运营成本。
服务后台对共享车辆上报的车辆数据进行处理,很重要的目的在于根据对车辆数据的处理结果向共享车辆上的终端反馈该共享车辆的相关状态信息。例如,共享车辆上报GPS数据,服务后台对GPS数据进行处理后,将处理结果存储到缓存服务器中,供其他应用调用,从而根据缓存服务器中的车辆数据向终端反馈共享车辆的位置信息。所以,服务器对车辆报文进行处理后,会将车辆数据先存储到一个临时存储位置,而后将临时存储位置中的车辆数据写入到包括缓存服务器的其他预设存储位置。但现有方案当中,服务后台从临时存储位置中提取车辆数据并写入预设存储位置时,往往是随机提取的,进而导致部分上报已久的车辆数据长时间无法被写入缓存服务器供其他处理模块调用,并据此向终端发出反馈信息。这导致该车辆数据对应的状态信息在终端始终得不到更新,影响用户体验和共享车辆提供商的企业形象。
所以,现在亟需提供一种新的数据处理方案,用以解决现有技术中服务后台在将临时存储位置中的车辆数据写入预设存储位置时,随机读取,导致部分数据长时间得不到被读取机会,影响用户体验的问题。
发明内容
本发明要解决的技术问题在于:现有车联网数据处理方案当中,服务后台在将临时存储位置中的车辆数据写入预设存储位置时,随机读取,导致部分数据长时间得不到被读取机会问题。
为解决上述技术问题,本发明提供一种读写控制方法,包括:
检测临时数据存储结构中当前的读取部待读取的数据是否读取完毕;
若是,则检测所述临时数据存储结构当前的写入部中是否存储有未读取的数据;
若是,则将所述临时数据存储结构当前的所述读取部和所述写入部进行切换,以将当前的读写部切换成写入部,将当前的所述写入部切换成读取部。
可选地,所述临时数据存储结构的读取部和写入部为map结构或队列结构。
可选地,所述读写控制方法还包括:
若检测到当前的所述读取部中存在尚未读取的数据,则将所述读取部中的所述数据写入到所述临时数据存储结构以外的预设存储位置,并清除所述读取部中已被读取的数据。
进一步地,本发明提供了一种车联网数据处理方法,包括:
当接收到终端上报的车辆报文,并对所述车辆报文进行处理得到车辆数据时,将处理所得的车辆数据存入临时数据存储结构当前的写入部;
在检测到所述临时数据存储结构中当前的读取部待读取的车辆数据读取完毕,且当前的所述写入部中有未读取的车辆数据时,将所述临时数据存储结构当前的所述读取部和所述写入部进行切换,以将当前的读写部切换成写入部,将当前的所述写入部切换成读取部。
可选地,所述对所述车辆报文进行处理得到车辆数据包括:
对所述车辆报文进行解析得到数据模型;
对所述数据模型进行业务逻辑处理得到车辆数据。
进一步地,本发明提供了一种服务后台,包括处理器、存储器及通信总线;
所述通信总线用于实现处理器和存储器之间的连接通信;
所述处理器用于执行存储器中存储的车联网数据处理程序,以实现如上任一项所述的车联网数据处理方法的步骤。
进一步地,本发明提供了一种车联网***,其特征在于,包括如上所述的服务后台以及至少一个终端。
可选地,所述服务后台包括第一服务器与第二服务器;
所述第一服务器的缓存中设置有作为临时数据存储结构的双Map数据结构,所述第一服务器用于来自所述终端的车辆报文进行处理得到车辆数据,将所述车辆数据写入所述双Map数据结构当前的写入部中,并用于将所述双Map数据结构当前读取部待读取的车辆数据写入到第一数据库中,以及用于在检测到所述双Map数据结构中当前的读取部待读取的车辆数据读取完毕,且当前的所述写入部中有未读取的车辆数据时,将所述双Map数据结构当前的所述读取部和所述写入部进行切换;
所述第二服务器中设置有作为临时数据存储结构的双队列数据结构,所述第二服务器用于来自所述终端的车辆报文进行处理得到车辆数据,将所述车辆数据写入所述双队列数据结构当前的写入部中,并用于将所述双队列数据结构当前读取部待读取的车辆数据写入到第二数据库中,以及用于在检测到所述双队列数据结构中当前的读取部待读取的车辆数据读取完毕,且当前的所述写入部中有未读取的车辆数据时,将所述双队列数据结构当前的所述读取部和所述写入部进行切换。
可选地,所述第一服务器用于定时将所述双Map数据结构中当前读取部待读取的车辆数据写入到所述第一数据库当中。
可选地,所述第二服务器用于批量提取所述双队列数据结构中当前读取部待读取的车辆数据存储到所述第二数据库当中。
进一步地,本发明还提供了一种计算机存储介质,所述计算机存储介质中存储有读写控制程序,所述读写控制程序可供处理器执行以实现前述的读写控制方法,或所述计算机存储介质中存储有车联网数据处理程序,所述读写控制程序可供处理器执行以实现前述的车联网数据处理方法。
有益效果
本发明实施例提供一种读写控制、车联网数据处理方法及服务后台、车联网***,其中,服务后台在对终端上报的车辆报文进行处理得到车辆数据之后,会将处理所得的车辆数据存入临时数据存储结构当前的写入部;另一方面,服务后台也会将临时数据存储结构当前的读取部中待读取的车辆数据读取写入到其他预设存储位置,服务后台在检测到临时数据存储结构中当前的读取部待读取的车辆数据读取完毕,且当前的写入部中有车辆数据时,会控制将临时数据存储结构当前的读取部和写入部进行切换,以将当前的读写部切换成写入部,将当前的写入部切换成读取部。在本发明实施例中,当某个车辆数据被写入到临时数据存储结构当前的写入部后,只要该写入部被切换成读取部,该车辆数据就有被读取写入预设存储位置的机会。当该读取部被切换成写入部时,该车辆数据必然已经被写入了预设存储位置。所以,该方案能够保证临时数据存储结构中的车辆数据尽可能有序的被写入到其他存储位置,避免现有随机读取的方案中部分车辆数据始终不被读取,造成终端侧信息更新缓慢的问题,提升了用户体验。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1为本发明实施例一提供的临时数据存储结构的一种示意图;
图2为本发明实施例一提供的读写控制方法的一种流程图;
图3为图1中临时数据存储结构经过切换之后的一种示意图;
图4为本发明实施例一提供的车联网***的一种结构示意图;
图5为本发明实施例一提供的车联网数据处理方法的一种流程图;
图6为本发明实施例一提供的服务后台的一种硬件结构示意图;
图7为本发明实施例二提供的车联网***的一种结构示意图。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
实施例一:
为了解决现有方案当中,在对临时存储位置的数据进行读取并写入其他存储唯一,以供其他应用调用的时候,随机读取,导致部分早已存入临时存储位置的数据始终得不到被读取的机会,让其他应用无法根据从临时存储位置中读取出来的数据做进一步处理,进而无法向终端侧更新信息,导致终端侧用户体验的不佳的问题,本实施例提供一种车联网数据处理方法。该车联网数据处理方法基于本实施例提供的读写控制方法。所以,为了使该车联网数据处理方法的优点与细节更加清楚,下面先对读写控制方法进行介绍:
在本实施例当中,提出了一种新的临时数据存储结构,该临时数据存储结构包括读取部与写入部。其中,写入部用于存储来自该临时数据存储结构以外的数据,而读取部,则用于将其内部存储待读取的数据提取出来,并写入其他预设存储位置。请参见图1给出的一种临时数据存储结构的示意图,其中,临时数据存储结构10包括一个读取部11和一个写入部12。不过,本领域技术人员应当明白的是,在其他示例当中,一个临时数据存储结构10当中可以包括两个及以上的读取部和/或两个及以上的写入部。或者说,图1当中的读取部11可以被细分成两个及以上的读取子部,而写入部12也可以被细分为两个及以上的写入子部。
下面,请参见图2提供的读写控制方法的一种流程图,本示例当中,执行该数据读写控制方法的是读写控制装置:
S202、读写控制装置检测临时数据存储结构中当前的读取部待读取的数据是否读取完毕。
读写控制装置可以实时监测临时数据存储结构10读取部11中剩余的未读取数据,也可以按照一定的时间间隔来检测当前读取部11中待读取数据的情况。当然,也不排除其随机确定检测时间点的情况。当读写控制装置采集到当前读取部中待读取的数据的情况后,其会根据检测结果来判断当前的读取部11中是否还有待读取的数据未被读取,也即当前的读取部11待读取的数据是否已经读取完毕。如果读写控制装置在某一个时刻检测到临时数据存储结构10当前的读取部11当中,已经没有未读取的数据了,换言之,当前读取部11中所有待读取数据均已读取完毕,则读写控制装置可以进入S204。否则的话,继续执行S202。在本实施例的一种示例当中,如果读写控制装置检测到当前的读取部11当中仍存在尚未读取的数据,则其会继续将该读取部11中的数据写入到临时数据存储结构10以外的预设存储位置,并清除读取部11中已被读取的数据。
S204、读写控制装置检测临时数据存储结构当前的写入部中是否存储有数据。
当读写控制装置确定临时数据存储结构10当前的读取部11待读取的数据均已读取完毕,则读写控制装置会进一步判断临时数据存储结构10当前的写入部12中当前是否存储有数据,如果判断结果为是,则读写控制装置执行S206,否则,结束流程。
S206、读写控制装置将临时数据存储结构当前的读取部和写入部进行切换。
读写控制装置判断临时数据存储结构10中当前的读取部11中所有的数据均已读取完毕,而写入部12当中又存储未读取的数据,则读写控制装置可以控制将临时数据存储结构10当前的读取部与写入部进行切换,从而将当前的读写部切换成写入部,将当前的写入部切换成读取部。以便继续对写入部中未读取的数据进行读取,也便于来自其他存储位置的数据能够存储到新的写入部当中,请参见图3,图3示出的是图1中临时数据存储结构10经历切换后的一种示意图。
应当明白的是,如果读写控制装置确定临时数据存储结构10中当前的写入部12中并没有存储未读取的数据,则可以暂时维持临时数据存储结构10中当期那读取部与写入部的角色不变,等下一时刻重新开始执行图2中的流程。不过,由于临时数据存储结构读取部的待读取数据绝大多数情况下,只能先来源于写入部。因为,数据需要先存储到写入部当中,当写入部变成读取部之后,写入原写入部的数据才能得到被读取的机会。所以,在本实施例的一种示例当中,读写控制装置在下一时刻可以不用从头开始执行图2中的流程,而是继续执行S204,即继续判断临时数据存储结构当前的写入部中是否存储有数据,若判断结果为否,则继续等待,继续判断,直至确定有新的数据写入到了当前的写入部为止。
可以理解的是,本实施例提供的临时数据存储结构和读写控制方法适用于各种数据存储与读取场合,而且,本实施例中也不具体限制“临时”的时间长短。另一方面,上述示例中的读写控制装置可以是各种类型的终端,例如手机、平板电脑、笔记本电脑、掌上电脑、个人数字助理(Personal Digital Assistant,PDA)、便捷式媒体播放器(Portable MediaPlayer,PMP)、导航装置、可穿戴设备、智能手环、等。
在上述基础上,下面对本发明中的车联网***进行简单介绍,车联网(Internetof Vehicles)是由车辆位置、速度和路线等信息构成的巨大交互网络。车联网可以通过GPS、RFID、传感器、摄像头图像处理等装置,车辆可以完成自身环境和状态信息的采集。通过互联网技术,所有的车辆可以将自身的各种信息传输汇聚到中央处理器。最后通过计算机技术,对这些车辆的信息进行分析和处理,从而计算出不同车辆的最佳路线、及时汇报路况和安排信号灯周期。下面请结合图4:
车联网***4包括服务后台40以及至少一个终端41,终端41可以设置在共享车辆上,其可以是固定于共享车辆上的车载终端,也可以是可拆卸的其他类型的终端,例如共享车辆用户的手机、PAD等。终端41主要实现对车辆的状态的监测和同服务后台之间的通信。以共享车辆为例,设置在共享车辆上的终端需要获取的信息包括车辆当前所属网点、车辆电量是否足够、运营状态是否空闲等,在用户还车时终端还需要确定车门、车锁状态,以及车辆是否还到网点等。
下面请进一步集合图5中提供的车联网数据处理方法的流程图:
S502、当接收到终端上报的车辆报文,并对车辆报文进行处理得到车辆数据时,服务后台将处理所得的车辆数据存入临时数据存储结构当前的写入部。
终端41会实时采集数据并将数据封装成车辆报文发送给服务后台40。由于终端41需要随着车辆一起移动,因此,本实施例中终端41与服务后台40通过无线通信方式进行通信,终端41与服务后台40之间可以直接通信,例如终端41与服务后台40可以直接基于第三代、***甚至是第五代移动通信技术进行通信。不过在绝大多数场景下,终端41与服务后台40之间可以网关设备等进行无线通信。终端41实时采集到的数据表征着车辆当前的状态,这种数据对于服务后台40而言是非常有价值的,一方面,服务后台40需要根据车辆报文中的数据对车辆的行进路线进行规划或者根据实时数据向用户提示前方路况等,让用户拥有更完美的用车体验。也就是说,服务后台40需要根据共享车辆侧终端41上报的车辆数据向终端41侧反馈信息,以辅助用户出行。另一方面,服务后台40需要对终端41车辆报文中的车辆数据进行存档存储,以便后续在对车辆进行问题检测、维修的时候使用。
无论是出于上述哪一方面的目的,服务后台40都需要对终端41上报的车辆报文进行处理,所以,终端41将包含采集结果的车辆报文发送给服务后台40,服务后台40在接收到车辆报文之后,控制解析线程将车辆报文解析为数据模型,随后由处理线程将数据模型通过业务逻辑处理得到对应的车辆数据。这里所说的数据模型实际是为了方便业务层处理,将报文解析后封装成的实体类,业务层通过调用类的属性即可获得对应值,而不需要再解析。数据模型在服务后台的各模块间通用。
得到车辆数据之后,服务后台会将处理结果暂时存储到临时数据存储结构当中,随后,再将临时数据存储结构中的数据读取并写入其他位置。例如,出于第一种目的,服务后台40需要将临时数据存储结构当中的数据读取到缓存服务器中,以供其他应用调用,以根据车辆数据向终端41反馈车辆的相关信息;另外,为了避免因缓存服务器断电等原因而导致其存储的车辆数据丢失,所以,本实施例一种示例当中,服务后台40还会将临时数据存储结构当中的数据存储一份到数据库中,以进行备份。若服务后台40对终端41上报数据的处理目的在于对车辆数据进行数据库存档,则服务后台40也需要将临时数据存储结构当中的车辆数据写入到数据库当中。所以,无论出于哪一种处理目的,服务后台40都需要执行将车辆数据在临时数据存储结构中的写入与读取过程。
S504、在检测到临时数据存储结构中当前的读取部待读取的车辆数据读取完毕,且当前的写入部中有未读取的车辆数据时,服务后台将临时数据存储结构当前的读取部和写入部进行切换。
将业务逻辑处理所得到的车辆数据存储到临时数据存储结构当前写入部的时刻之前、同时或之后,服务后台40都可能还在同时控制将该临时数据存储结构中当前读取部中待读取的车辆数据写入到其他预设存储位置。所以,服务后台40可以按照前面的读写控制方法来对车辆数据在临时数据存储结构中的写入与读取进行控制:对临时数据存储结构读取部中待读取的车辆数据进行检测,如果在某一时刻检测到当前读取部中所有的车辆数据都已读取完毕,或者说,当前读取部中没有待读取的车辆数据时,服务后台40进一步确定当前写入部中是否存储有未读取的车辆数据,如果该写入部中没有存储未读取的车辆数据,则服务后台40可以等待一定时间后继续对写入部进行检测,或者服务后台40也可以在等待一段时间后从头重新执行读写控制方法。如果服务后台40确定当前的写入部中有未读取的车辆数据时,则控制将临时数据存储结构当前的读取部和写入部进行切换,以便将当前的读写部切换成写入部,将当前的写入部切换成读取部。
下面,对本实施例中的服务后台40进行简单介绍,请参见图6:服务后台40包括处理器401、存储器402以及通信总线403,其中通信总线403用于实现处理器401与存储器402之间的通信。存储器402作为一种计算机可读存储介质,其中存储有至少一个计算机程序,这些计算机程序可以供处理器401读取、编译并执行,从而实现对应的处理流程。例如,在本实施例中,存储器402中存储有车联网数据处理程序,处理器401可以通过执行该计算机程序实现上述车联网数据处理方法。
本实施例提供的基于读写控制方法的车联网数据处理方法,车联网***中的服务后台在对终端上报的车辆报文处理得到车辆数据之后,会将车辆数据存储到本实施例提出的临时数据存储结构当中。与此同时,服务后台需要将车辆数据写入到其他预设存储位置,例如缓存服务器或者数据库,服务后台可以先对临时存储结构中读取部中待读取的车辆数据进行读取,若当前读取部中待读取车辆数据读取完毕,则其可以判断当前写入部当中是否存储有未读取的车辆数据,如果有,就将临时数据存储结构的读取部和写入部进行切换,从而保证可以从新的读取部中继续提取车辆数据以写入预设存储位置,让需要存储到临时数据存储结构当中的车辆数据可以写入新的写入部当中。通过读取部和写入部的切换,保证原读取部中的数据能够比新读取部中的数据先获得被读取并写入其他存储位置的机会。在一定程度上保证车辆数据“有序”地获得读取机会,从而避免现有技术中部分数据长时间无法被更新到预设存储位置,影响用户体验的问题。
实施例二:
本实施例将结合图7对本实施例提供的车联网***进行介绍:车联网***7包括网关设备50、至少一个终端60以及服务后台70,其中网关设备50用于接入各终端60并实现终端60与服务后台70间的通信。在车联网***7中,各终端60与网关设备50,以及服务后台70与网关设备50之间均通过建立TCP连接进行通信。应当理解的是,一个网关设备50可以接入多个终端60。网关设备50作为终端60与服务后台70之间的通信桥梁,需要向服务后台70转发终端60根据服务后台70的指令而上报的车辆报文以及终端60的其他请求信息。同时网关设备50还需要将服务后台70下发的指令以及服务后台70对终端60的响应信息转发给终端60,以便为车辆上的用户提供相应的服务。
在终端60接入到网关设备50的时候,网关设备50可以对终端60进行安全认证以便确定终端60的合法性,在合法性验证通过之后,网关设备50可以终端60分配一个UID(Unique identification,唯一标识),该UID也是终端60与网关设备之间TCP连接通道的唯一标识。网关设备50可以维护与终端60之间的连接,并在服务后台70需要向终端60发送信息时,查找对应的TCP连接,就如同找到专门的传输管道,以便向对应的终端60输送信息。
服务后台70包括第一服务器80以及第二服务器90。其中第一服务器80主要用于实现根据终端60上报的车辆报文向终端60反馈车辆相关信息的目的;而第二服务器90主要用于对终端60上报的车辆报文所对应的车辆数据进行数据库存档的目的。第一服务器80与第二服务器90均通过各自的SDK(Software Development Kit,软件开发工具包)与网关设备70建立并维持TCP(Transmission Control Protocol,传输控制协议)连接。TCP层是位于IP层之上,应用层之下的中间层。可以在应用层为终端20与网关设备30之间提供可靠的、像管道一样的连接。当服务后台40向某一个终端20下发了指令或者根据终端20的请求向其反馈了对应的响应消息,则网关设备30在接收到需要转发给终端的消息后,可以根据消息的接收端确定应当用哪一个TCP连接来发送消息,查找到对应的TCP连接这之后,利用该TCP连接将消息转发给对应的目标终端20。
根据前面的介绍可知,第一服务器80对车辆报文的处理器目的在于根据车辆报文对应的车辆数据向终端发送反馈信息,所以,第一服务器80并不是对终端60上报的所有数据均感兴趣。所以,第一服务器80只需要终端60上报部分关键数据即可。而第二服务器90主要用于对终端上报的各项关于车辆的参数进行存档处理,以便后续问题检测或维修的时候能够有足够的依据,所以第二服务器90需要全面获取终端60上报的所有数据。因此,第一服务器80和第二服务器90可以向网关设备50进行消息订阅。换言之,第一服务器80与第二服务器90与网关设备50事先约定,以便网关设备50在收到终端60上报的车辆报文之后,决定车辆报文的转发策略。例如,第二服务器90可以向网关设备50订阅所有类型的车辆报文,而第一服务器80可以仅向网关设备50订阅其需要的包含GPS数据、车辆电量信息等的车辆报文。
在终端60向服务后台70上报的车辆报文的报文包头中,包含有该车辆报文类型的信息,所以,当网关设备50接收到终端60的报文之后,可以根据报文包头中的信息决定是想第一服务器80和第二服务器90均发送该车辆报文,还是仅向第二服务器90进行转发。
若第一服务器80接收到来自网关设备50的车辆报文之后,会控制解析线程将车辆报文解析为数据模型,随后由处理线程将数据模型通过业务逻辑处理得到车辆数据,并将车辆数据存储到临时数据存储结构当中。同样地,第二服务器90在接收到网关设备50转发的车辆报文之后,也会对车辆报文进行类似处理,即先控制解析线程将车辆报文解析为数据模型,随后由处理线程将数据模型通过业务逻辑处理得到车辆数据,将得到的车辆数据写入临时数据存储结构的写入部。不过,在本实施例中,临时数据存储结构分为这样两种类型:
第一种,临时数据存储结构的读取部和写入部均为Map结构,称为“双Map数据结构”。Map是一种依照键值对的形式进行存储的数据结构。键值相当于数据表(list)和数组中的下标,其可以是任何类型的对象,但是不能存在重复的键值,且每个键值必须与一个相应的数据值对应存储。但是由于普通Map结构在读取数据时,是随机读取的,因此会导致部分数据始终得到不到读取,造成部分数据更新缓慢的问题。
第二种,临时数据存储结构的读取部和写入部均为队列结构,这种临时数据存储结构被称为“双队列结构”。
其中,第一处理器80中的临时数据存储结构就是第一种,即双Map数据结构,且该双Map数据结构被设置在第一处理器80的缓存当中。应当理解的是,缓存是数据交换的缓冲区,当某一硬件要读取数据时,会首先从缓存中查找需要的数据,如果找到了则直接执行,找不到的话则从内存中找。相对于内存,缓存具有更快的读写速度,所以,第一处理器80将车辆数据存储到缓存当中,能够提升车辆数据的读写速度,从而提升服务后台70整体对车辆数据的处理速度,进而提升服务后台根据车辆报文向终端60反馈信息的效率,增强用户体验。
具体地,第一服务器80从来自终端60的车辆报文中得到车辆数据后,将车辆数据写入双Map数据结构当前的写入部中,并用于将双Map数据结构当前读取部待读取的车辆数据写入到第一数据库中。另一方面,第一服务器在检测到双Map数据结构中当前的读取部待读取的车辆数据读取完毕,且当前的写入部中有未读取的车辆数据时,将双Map数据结构当前的读取部和写入部进行切换,继续从新的读取部中读取车辆数据以写入缓存服务器或者第一数据库当中。值得注意的是,当第一服务器80将双Map数据结构中当前读取部的某些数据写入到预设存储位置之后,需要清除读取部中的这些数据。因此,第一服务器80判断当前读取部中待读取的车辆数据是否读取完毕,实际上也就是判断当前的读取部是否为空的过程。
在本实施例的一种实施示例当中,第一服务器80是采用定时的方式将双Map数据结构中当前读取部待读取的车辆数据写入到预设存储位置。这样,不仅能够解决普通Map数据结构随机读取所带来的问题,而且其还可以一次性从读取部中取出全部车辆数据以存储到第一数据库中,减少第一服务器80提取(commit)车辆数据的次数,提高车辆数据读取效率。
和第一服务器80不同的是,第二服务器90中设置的是第二种临时数据存储结构,即双队列数据结构。由于第二服务器90对车辆数据的处理要求在于全面保存,避免任何车辆数据的遗漏,所以,在本实施例当中,第二处理器90中的双队列数据结构并不要求必须设置在缓存当中,可以直接设置在普通存储区,避免对缓存这种高速存储资源的占用,以优化资源配置。具体地,第二服务器90得到车辆数据后,将车辆数据写入双队列数据结构当前的写入部中,并用于将双队列数据结构当前读取部待读取的车辆数据写入到第二数据库中,以及用于在检测到双队列数据结构中当前的读取部待读取的车辆数据读取完毕,且当前的写入部中有未读取的车辆数据时,将双队列数据结构当前的读取部和写入部进行切换。
另一方面,第二服务器90可以采取批量提取的方式,将双队列数据结构中当前读取部待读取的车辆数据存储到第二数据库当中。相对于普通队列智能采用定时的提取方式,即按照固定的时间间隔从队列读取全部当前存储的全部车辆数据;或定量的提取方式,即每次从队列中提取车辆数据的条数均是一定的,本实施例中第二服务器90的批量提取方式可以避免现有两种提取方式所存在的问题:定时提取方式会使部分车辆数据的存储延时;对于定量提取方式而言,如果车辆数据条数未达到指定数据,则已经存储到队列中的车辆数据将一直得不到持久化处理。但是本示例中采用的双队列结构通过双队列的切换,能够保证车辆数据得到及时处理。同时第二处理器90可以一次从双队列结构的读取队列中提取出全部车辆数据,减少提取车辆数据的次数,提高了车辆数据的存储效率。
值得注意的是,当第二服务器90将双队列数据结构中当前读取部的某些数据写入到预设存储位置之后,需要清除读取部中的这些数据。因此,第二服务器90判断当前读取部中待读取的车辆数据是否读取完毕,实际上也就是判断当前的读取部是否为空的过程。
应当理解的是,本实施例中的第一数据库和第二数据库可以是同一个数据库,也可以是不同数据库。另外,第一服务器80与第二服务器90也可以是同一服务器,不过,即使在这种情况下,同一服务器中也依然存在两种临时数据存储结构。
本实施例提供的车联网***中,服务后台根据对车辆报文的处理目的实时性要求的不同,将两种处理方式拆分开,对于数据的存档处理,由于实时性要求不高,所以,通过普通存储区中的双队列数据结构进行数据读写,避免占用告诉缓存资源,以利于资源优化配置。让目的为信息反馈的车辆数据能够利用设置在缓存中的双Map数据结构进行读写,得到高效处理,从而提升服务后台整体对车辆数据的处理速度,进而提升服务后台根据车辆报文向终端反馈信息的效率,增强用户体验。
显然,本领域的技术人员应该明白,上述本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在计算机存储介质(ROM/RAM、磁碟、光盘)中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。所以,本发明不限制于任何特定的硬件和软件结合。
以上内容是结合具体的实施方式对本发明实施例所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (10)
1.一种读写控制方法,其特征在于,包括:
检测临时数据存储结构中当前的读取部待读取的数据是否读取完毕;
若是,则检测所述临时数据存储结构当前的写入部中是否存储有未读取的数据;
若是,则将所述临时数据存储结构当前的所述读取部和所述写入部进行切换,以将当前的读写部切换成写入部,将当前的所述写入部切换成读取部。
2.如权利要求1所述的读写控制方法,其特征在于,所述临时数据存储结构的读取部和写入部为map结构或队列结构。
3.如权利要求1或2所述的读写控制方法,其特征在于,所述读写控制方法还包括:
若检测到当前的所述读取部中存在尚未读取的数据,则将所述读取部中的所述数据写入到所述临时数据存储结构以外的预设存储位置,并清除所述读取部中已被读取的数据。
4.一种车联网数据处理方法,其特征在于,包括:
当接收到终端上报的车辆报文,并对所述车辆报文进行处理得到车辆数据时,将处理所得的车辆数据存入临时数据存储结构当前的写入部;
在检测到所述临时数据存储结构中当前的读取部待读取的车辆数据读取完毕,且当前的所述写入部中有未读取的车辆数据时,将所述临时数据存储结构当前的所述读取部和所述写入部进行切换,以将当前的读写部切换成写入部,将当前的所述写入部切换成读取部。
5.如权利要求4所述的车联网数据处理方法,其特征在于,所述对所述车辆报文进行处理得到车辆数据包括:
对所述车辆报文进行解析得到数据模型;
对所述数据模型进行业务逻辑处理得到车辆数据。
6.一种服务后台,其特征在于,包括处理器、存储器及通信总线;
所述通信总线用于实现处理器和存储器之间的连接通信;
所述处理器用于执行存储器中存储的车联网数据处理程序,以实现如权利要求4或5所述的车联网数据处理方法的步骤。
7.一种车联网***,其特征在于,包括如权利要求6所述的服务后台以及至少一个终端。
8.如权利要求7所述的车联网***,其特征在于,所述服务后台包括第一服务器与第二服务器;
所述第一服务器的缓存中设置有作为临时数据存储结构的双Map数据结构,所述第一服务器用于来自所述终端的车辆报文进行处理得到车辆数据,将所述车辆数据写入所述双Map数据结构当前的写入部中,并用于将所述双Map数据结构当前读取部待读取的车辆数据写入到第一数据库中,以及用于在检测到所述双Map数据结构中当前的读取部待读取的车辆数据读取完毕,且当前的所述写入部中有未读取的车辆数据时,将所述双Map数据结构当前的所述读取部和所述写入部进行切换;
所述第二服务器中设置有作为临时数据存储结构的双队列数据结构,所述第二服务器用于来自所述终端的车辆报文进行处理得到车辆数据,将所述车辆数据写入所述双队列数据结构当前的写入部中,并用于将所述双队列数据结构当前读取部待读取的车辆数据写入到第二数据库中,以及用于在检测到所述双队列数据结构中当前的读取部待读取的车辆数据读取完毕,且当前的所述写入部中有未读取的车辆数据时,将所述双队列数据结构当前的所述读取部和所述写入部进行切换。
9.如权利要求8所述的车联网***,其特征在于,所述第一服务器用于定时将所述双Map数据结构中当前读取部待读取的车辆数据写入到所述第一数据库当中。
10.如权利要求8所述的车联网***,其特征在于,所述第二服务器用于批量提取所述双队列数据结构中当前读取部待读取的车辆数据存储到所述第二数据库当中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710730599.8A CN109426433A (zh) | 2017-08-23 | 2017-08-23 | 读写控制、车联网数据处理方法及服务后台、车联网*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710730599.8A CN109426433A (zh) | 2017-08-23 | 2017-08-23 | 读写控制、车联网数据处理方法及服务后台、车联网*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109426433A true CN109426433A (zh) | 2019-03-05 |
Family
ID=65499208
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710730599.8A Pending CN109426433A (zh) | 2017-08-23 | 2017-08-23 | 读写控制、车联网数据处理方法及服务后台、车联网*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109426433A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116248711A (zh) * | 2022-12-19 | 2023-06-09 | 中电车联信安科技有限公司 | 一种基于车联网网关的网络安全*** |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1930794A (zh) * | 2004-03-05 | 2007-03-14 | 三星电子株式会社 | 宽带无线接入通信***中最小化乒乓效应造成的服务延迟的切换***与方法 |
CN101017423A (zh) * | 2006-02-06 | 2007-08-15 | 瀚邦科技股份有限公司 | 读写装置及其控制方法 |
CN101515844A (zh) * | 2009-01-20 | 2009-08-26 | 重庆无线绿洲通信技术有限公司 | 高效的多用户多元并行传输方法及装置 |
CN102208006A (zh) * | 2010-03-31 | 2011-10-05 | 日立欧姆龙金融***有限公司 | 数据写入装置及具备该数据写入装置的卡处理装置 |
CN103680461A (zh) * | 2012-09-20 | 2014-03-26 | 广东新岸线计算机***芯片有限公司 | 一种实现显示帧缓存切换的方法及显示*** |
CN103678493A (zh) * | 2013-11-13 | 2014-03-26 | 许继集团有限公司 | 电动汽车运营监控的数据存储***、方法 |
CN104618697A (zh) * | 2015-01-28 | 2015-05-13 | 中国科学院光电技术研究所 | 一种基于FPGA的全配置型Camera link转光纤实时图像*** |
-
2017
- 2017-08-23 CN CN201710730599.8A patent/CN109426433A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1930794A (zh) * | 2004-03-05 | 2007-03-14 | 三星电子株式会社 | 宽带无线接入通信***中最小化乒乓效应造成的服务延迟的切换***与方法 |
CN101017423A (zh) * | 2006-02-06 | 2007-08-15 | 瀚邦科技股份有限公司 | 读写装置及其控制方法 |
CN101515844A (zh) * | 2009-01-20 | 2009-08-26 | 重庆无线绿洲通信技术有限公司 | 高效的多用户多元并行传输方法及装置 |
CN102208006A (zh) * | 2010-03-31 | 2011-10-05 | 日立欧姆龙金融***有限公司 | 数据写入装置及具备该数据写入装置的卡处理装置 |
CN103680461A (zh) * | 2012-09-20 | 2014-03-26 | 广东新岸线计算机***芯片有限公司 | 一种实现显示帧缓存切换的方法及显示*** |
CN103678493A (zh) * | 2013-11-13 | 2014-03-26 | 许继集团有限公司 | 电动汽车运营监控的数据存储***、方法 |
CN104618697A (zh) * | 2015-01-28 | 2015-05-13 | 中国科学院光电技术研究所 | 一种基于FPGA的全配置型Camera link转光纤实时图像*** |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116248711A (zh) * | 2022-12-19 | 2023-06-09 | 中电车联信安科技有限公司 | 一种基于车联网网关的网络安全*** |
CN116248711B (zh) * | 2022-12-19 | 2024-01-30 | 中电车联信安科技有限公司 | 一种基于车联网网关的网络安全*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107464018B (zh) | 一种配送路径优化方法和装置、计算机设备、存储介质 | |
Ma et al. | T-share: A large-scale dynamic taxi ridesharing service | |
CN103080903B (zh) | 调度器、多核处理器***以及调度方法 | |
CN108062672A (zh) | 一种基于区块链智能合约的流程调度方法 | |
CN108694844A (zh) | 自动驾驶车辆控制方法、装置及存储介质 | |
CN104283948A (zh) | 服务器集群***及其负载均衡实现方法 | |
CN103795793B (zh) | 一种基于双服务器集群的道路车辆监控平台*** | |
CN109146129A (zh) | 充电桩群推荐方法、可用桩预测、结果获取方法及控制器 | |
CN109213792A (zh) | 数据处理的方法、服务端、客户端、装置及可读存储介质 | |
CN107730877A (zh) | 面向城市高架快速主干路网的预约出行管理***及方法 | |
CN103595805A (zh) | 一种基于分布式集群的数据放置方法 | |
CN107270921A (zh) | 一种代维巡检路径规划方法及装置 | |
CN108881485A (zh) | 保障大数据包下的高并发***响应时间的方法 | |
CN104408565A (zh) | 城市综合应急指挥调度任务派发***及其任务派发方法 | |
CN111325428A (zh) | 一种工单推送方法、装置及存储介质 | |
CN111464352A (zh) | 调用链路数据处理方法及装置 | |
Sun et al. | A graphical game approach to electrical vehicle charging scheduling: Correlated equilibrium and latency minimization | |
CN109062769A (zh) | It***性能风险趋势预测的方法、装置和设备 | |
CN109426433A (zh) | 读写控制、车联网数据处理方法及服务后台、车联网*** | |
CN109388482A (zh) | 任务的调度方法、装置及存储介质 | |
CN115118475A (zh) | 密码设备集群调度方法、装置、设备及介质 | |
CN105205605B (zh) | 一种城市智能门户终端与电力营销终端的交互服务*** | |
CN109246631B (zh) | 一种短信发送的方法 | |
CN106027685A (zh) | 一种基于云计算机***的高峰访问的方法 | |
CN110136425A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190305 |
|
RJ01 | Rejection of invention patent application after publication |