CN108833961A - 获取飞行记录数据的方法、服务器和*** - Google Patents

获取飞行记录数据的方法、服务器和*** Download PDF

Info

Publication number
CN108833961A
CN108833961A CN201810658637.8A CN201810658637A CN108833961A CN 108833961 A CN108833961 A CN 108833961A CN 201810658637 A CN201810658637 A CN 201810658637A CN 108833961 A CN108833961 A CN 108833961A
Authority
CN
China
Prior art keywords
client
parameter
server
flight record
play time
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.)
Granted
Application number
CN201810658637.8A
Other languages
English (en)
Other versions
CN108833961B (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.)
Beijing Jingdong Qianshi Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co 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 Beijing Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201810658637.8A priority Critical patent/CN108833961B/zh
Publication of CN108833961A publication Critical patent/CN108833961A/zh
Application granted granted Critical
Publication of CN108833961B publication Critical patent/CN108833961B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • H04N21/42684Client identification by a unique number or address, e.g. serial number, MAC address, socket ID
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4331Caching operations, e.g. of an advertisement for later insertion during playback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47217End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for controlling playback functions for recorded or on-demand content, e.g. using progress bars, mode or play-point indicators or bookmarks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6587Control parameters, e.g. trick play commands, viewpoint selection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates
    • H04N21/8352Generation of protective data, e.g. certificates involving content or source identification data, e.g. Unique Material Identifier [UMID]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8547Content authoring involving timestamps for synchronizing content

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Power Engineering (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本公开提供了一种获取飞行记录数据的方法、服务器和***,涉及无人机领域。该方法包括:服务器接收从客户端发来的回放请求,该回放请求包含无人机标识和飞行记录标识;验证该无人机标识和该飞机记录标识是否均正确;在该无人机标识和该飞机记录标识均正确的情况下,根据该无人机标识和该飞机记录标识建立回放任务,并将该回放任务添加到任务线程池;利用该任务线程池中的线程定时从飞行记录数据库中获取飞行记录数据,其中,该飞行记录数据被返回给该客户端。本公开可以实现飞行记录数据的免下载播放,减少内存使用,而且可以提高播放的实时响应速度。

Description

获取飞行记录数据的方法、服务器和***
技术领域
本公开涉及无人机领域,特别涉及一种获取飞行记录数据的方法、服务器和***。
背景技术
随着科技的发展,无人机在当代成为一门比较热门的技术与话题。无人机可以应用于街拍、巡检、环保、农业、灾后救援、物流等领域。为了帮助无人机在执行任务后更好的分析问题与技术改进,需要将无人机在飞行过程中每时每刻相关的关键数据及飞行轨迹记录下来,并可以支持飞行记录的回放。
在相关技术中,可以将无人机每次的飞行记录数据存储在关系型数据库中。客户端在查看飞行记录回放时,需要从数据库中下载本次的飞行记录,然后解析该飞行记录数据,使用JavaScript脚本实现飞行记录回放。由于每次客户端查看飞行记录时都要从数据库中下载飞行记录数据,因此,当数据比较大时,这样的方法将浪费内存空间,而且下载数据慢、耗时大。
发明内容
本公开的实施例解决的一个技术问题是:提供一种获取飞行记录数据的方法,以实现飞行记录数据的免下载播放。
根据本公开实施例的一个方面,提供了一种获取飞行记录数据的方法,包括:服务器接收从客户端发来的回放请求,所述回放请求包含无人机标识和飞行记录标识;验证所述无人机标识和所述飞机记录标识是否均正确;在所述无人机标识和所述飞机记录标识均正确的情况下,根据所述无人机标识和所述飞机记录标识建立回放任务,并将所述回放任务添加到任务线程池;以及利用所述任务线程池中的线程定时从飞行记录数据库中获取飞行记录数据,其中,所述飞行记录数据被返回给所述客户端。
在一些实施例中,在服务器接收从客户端发来的回放请求之前,所述方法还包括:所述服务器与所述客户端通过WebSocket方式建立连接;其中,在所述无人机标识和所述飞机记录标识中的至少一个错误的情况下,所述服务器与所述客户端断开连接。
在一些实施例中,在建立所述回放任务过程中,在所述回放任务中设置播放时间间隔参数、当前播放时间参数和暂停参数。
在一些实施例中,所述方法还包括:根据所述当前播放时间参数和所述播放时间间隔参数从飞行记录数据库中获取下一次播放时间的飞行记录数据。
在一些实施例中,所述方法还包括:生成并记录所述服务器与所述客户端之间的连接标识,其中,所述连接标识建立所述客户端与所述回放任务之间的一一对应关系。
在一些实施例中,所述方法还包括:接收来自于所述客户端的播放速度命令,所述播放速度命令包含播放速度级别参数,将所述回放任务中的播放时间间隔参数修改为与所述播放速度级别参数对应的播放时间间隔参数。
在一些实施例中,所述方法还包括:接收来自于所述客户端的暂停命令,并根据所述暂停命令将所述暂停参数的状态标记为暂停,并且不向所述客户端返回所述飞行记录数据;或者,接收来自于所述客户端的播放命令,并根据所述播放命令将所述暂停参数的状态标记为播放,并且向所述客户端返回所述飞行记录数据。
在一些实施例中,所述方法还包括:接收来自于所述客户端的播放时间戳,根据所述播放时间戳设置所述当前播放时间参数,以便按照所述播放时间戳获取下一次的飞行记录数据。
根据本公开实施例的另一个方面,提供了一种服务器,包括:接收器,用于接收从客户端发来的回放请求,所述回放请求包含无人机标识和飞行记录标识;以及处理器,用于验证所述无人机标识和所述飞机记录标识是否均正确,在所述无人机标识和所述飞机记录标识均正确的情况下,根据所述无人机标识和所述飞机记录标识建立回放任务,将所述回放任务添加到任务线程池,并利用所述任务线程池中的线程定时从飞行记录数据库中获取飞行记录数据;以及发送器,用于将所述飞行记录数据返回给所述客户端。
在一些实施例中,所述接收器和所述发送器分别与所述客户端通过WebSocket方式建立连接;其中,在所述处理器确定所述无人机标识和所述飞机记录标识中的至少一个错误的情况下,所述接收器和所述发送器分别与所述客户端断开连接。
在一些实施例中,所述处理器还用于在建立所述回放任务过程中,在所述回放任务中设置播放时间间隔参数、当前播放时间参数和暂停参数。
在一些实施例中,所述处理器还用于根据所述当前播放时间参数和所述播放时间间隔参数从飞行记录数据库中获取下一次播放时间的飞行记录数据。
在一些实施例中,所述处理器还用于生成并记录所述服务器与所述客户端之间的连接标识,其中,所述连接标识建立所述客户端与所述回放任务之间的一一对应关系。
在一些实施例中,所述接收器还用于接收来自于所述客户端的播放速度命令,所述播放速度命令包含播放速度级别参数;所述处理器还用于将所述回放任务中的播放时间间隔参数修改为与所述播放速度级别参数对应的播放时间间隔参数。
在一些实施例中,所述接收器还用于接收来自于所述客户端的暂停命令;所述处理器还用于根据所述暂停命令将所述暂停参数的状态标记为暂停;所述发送器用于在所述暂停参数的状态标记为暂停的情况下不向所述客户端返回所述飞行记录数据;
在一些实施例中,所述接收器还用于接收来自于所述客户端的播放命令;所述处理器还用于根据所述播放命令将所述暂停参数的状态标记为播放;所述发送器用于在所述暂停参数的状态标记为播放的情况下向所述客户端返回所述飞行记录数据。
在一些实施例中,所述接收器还用于接收来自于所述客户端的播放时间戳;所述处理器还用于根据所述播放时间戳设置所述当前播放时间参数,以便按照所述播放时间戳获取下一次的飞行记录数据。
根据本公开实施例的另一个方面,提供了一种服务器,包括:存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器的指令执行如前所述的方法。
根据本公开实施例的另一个方面,提供了一种获取飞行记录数据的***,包括:客户端和如前所述的服务器。
根据本公开实施例的另一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现如前所述的方法的步骤。
在上述方法中,服务器接收从客户端发来的回放请求,该回放请求包含无人机标识和飞行记录标识。该服务器验证该无人机标识和该飞机记录标识是否均正确。在该无人机标识和该飞机记录标识均正确的情况下,该服务器根据该无人机标识和该飞机记录标识建立回放任务,并将该回放任务添加到任务线程池。该服务器利用该任务线程池中的线程定时从飞行记录数据库中获取飞行记录数据。该飞行记录数据被返回给客户端。该方法可以实现飞行记录数据的免下载播放,减少内存使用,而且可以提高播放的实时响应速度。
通过以下参照附图对本公开的示例性实施例的详细描述,本公开的其它特征及其优点将会变得清楚。
附图说明
构成说明书的一部分的附图描述了本公开的实施例,并且连同说明书一起用于解释本公开的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
图1是示出根据本公开一些实施例的获取飞行记录数据的方法的流程图;
图2是示出根据本公开另一些实施例的获取飞行记录数据的方法的流程图;
图3是示出根据本公开另一些实施例的获取飞行记录数据的方法的流程图;
图4是示意性地示出根据本公开一些实施例的服务器的结构图;
图5是示意性地示出根据本公开另一些实施例的服务器的结构图;
图6是示意性地示出根据本公开另一些实施例的服务器的结构图;
图7是示意性地示出根据本公开一些实施例的***的结构图。
具体实施方式
现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
图1是示出根据本公开一些实施例的获取飞行记录数据的方法的流程图。如图1所示,该方法可以包括步骤S102~S110。
在步骤S102,服务器接收从客户端发来的回放请求,该回放请求包含无人机标识和飞行记录标识。
例如,该客户端可以设置在终端(例如手机、台式电脑、平板电脑或笔记本等)上。例如,该客户端可以包括浏览器或其他应用模块等。
在一些实施例中,在该步骤S102之前,该方法还可以包括:服务器与客户端通过WebSocket(基于TCP(Transmission Control Protocol,传输控制协议)的全双工通信协议)方式建立连接。
例如,客户端可以通过调用WebSocket API(Application ProgrammingInterface,应用程序编程接口)直接与服务器建立连接。例如,客户端(例如浏览器)与服务器建立WebSocket连接的伪代码为:var ws=new WebSocket("ws://host:port/path")。这里,host为主机名,port为端口号,path为路径。var ws表示声明了一个变量名为ws的变量,用来保存与服务器建立连接后返回的对象。
WebSocket协议是一种双向通信协议,在建立连接后,WebSocket服务器和客户端(例如浏览器)之间都能互相主动的向对方发送或接收数据。该WebSocket技术可以节省资源,提高效率。
需要说明的是,服务器与客户端还可以通过其他协议方式连接,例如可以通过HTTP(HyperText Transfer Protocol,超文本传输协议)方式连接。因此,本公开实施例的范围并不仅限于这里所公开的服务器与客户端的连接方式。
在上述步骤中,在服务器与客户端建立连接后,客户端向服务器发送回放请求,服务器接收该回放请求。该回放请求可以包含无人机标识(planeId)和飞行记录标识(flyRecordId)。该无人机标识是某架无人机的唯一标识。某架飞机进行了一次飞行记录后,会生成一个该次飞行记录的唯一标识,即飞行记录标识。该飞行记录标识可以用来以后查看该次飞行情况。无人机标识和飞行记录标识一起用来指定某架无人机的某次飞行记录。
在步骤S104,验证无人机标识和飞机记录标识是否均正确。如果均正确,则过程进入步骤S106;否则过程进入步骤S108。关于该验证无人机标识和飞机记录标识是否均正确的过程将在后面结合图2详细描述。
在步骤S106,在无人机标识和飞机记录标识均正确的情况下,根据无人机标识和飞机记录标识建立回放任务,并将该回放任务添加到任务线程池。例如,该任务线程池可以记为ScheduledExecutorService。
在一些实施例中,服务器在建立该回放任务过程中,可以在该回放任务中设置播放时间间隔参数(该播放时间间隔参数也可以被称为播放速度)、当前播放时间参数和暂停参数。例如,服务器可以根据无人机标识和飞机记录标识从飞行记录数据库(例如Redis数据库)中获取飞行记录回放的最开始时间,该最开始时间作为当前播放时间参数。
在一些实施例中,服务器在建立该回放任务过程中,可以对上述参数初始化。例如,可以设置默认的播放时间间隔参数和默认的当前播放时间参数。该播放时间间隔参数的单位例如可以为毫秒。该当前播放时间参数是指飞行记录回放开始时的时间点。通过初始化参数,可以控制飞行记录回放的播放速度以及获得飞行记录回放开始时的飞行信息。
在步骤S108,在无人机标识和飞机记录标识中的至少一个错误的情况下,服务器与客户端断开连接。
例如,服务器如果确定无人机标识和飞机记录标识中的至少一个不存在于飞行记录数据库中,则确定该无人机标识和该飞机记录标识中的所述至少一个错误。在这样的情况下,服务器向客户端返回表示信息错误的响应消息,从而与客户端断开连接。
在步骤S110,利用任务线程池中的线程定时从飞行记录数据库中获取飞行记录数据。该飞行记录数据被返回给客户端。
例如,该飞行记录数据库可以包括Redis数据库。该Redis数据库可以提高飞行数据的查询速度,使用有序集合的数据结构。在一些实施例中,飞行记录数据可以采用SortedSet(有序集合)的数据结构方式存储在飞行记录数据库中。使用该SortedSet数据结构,可以根据分值(score)大小自动排序,并还可以根据给定的分值从指定位置开始获取指定数量的记录数。例如,在查询数据的过程中,可以使用跳跃表(Skip List)来查找SortedSet数据结构形式的飞行记录数据,不需要遍历整个集合,因而可以提高数据的查询速度,改善用户体验。
表1 SortedSet有序集合的数据结构图
分值(Score) 对应的值(Value)
分值1 飞行记录数据1
分值2 飞行记录数据2
分值3 飞行记录数据3
…… ……
表1是SortedSet有序集合的数据结构图。例如,分值为接收到无人机数据的时间戳。例如,该分值可以是long数值类型。对应的值是指无人机当时的飞行记录数据。
需要说明的是,本公开实施例的飞行记录数据还可以采用其他数据结构形式存储在飞行记录数据库中。例如,该飞行记录数据可以采用列表(List)数据结构的形式。可以按时间先后顺序存储飞机每个时间点的飞行记录数据。因此本公开实施例的范围并不仅限于这里所公开的飞行记录数据的数据结构形式。
在上述步骤S110中,服务器利用任务线程池中的线程定时从飞行记录数据库中查询并获得飞行记录数据。在获得该飞行记录数据后,服务器将该飞行记录数据返回给客户端。
需要说明的是,该步骤中的“定时”可以根据实际情况或需要来确定。通过设置预定时间间隔从而从飞行记录数据库中获取飞行记录数据,可以减小服务器的处理压力。
至此,提供了根据本公开一些实施例的获取飞行记录数据的方法。在该方法中,服务器接收从客户端发来的回放请求,该回放请求包含无人机标识和飞行记录标识。该服务器验证该无人机标识和该飞机记录标识是否均正确。在该无人机标识和该飞机记录标识均正确的情况下,该服务器根据该无人机标识和该飞机记录标识建立回放任务,并将该回放任务添加到任务线程池。该服务器利用该任务线程池中的线程定时从飞行记录数据库中获取飞行记录数据。该飞行记录数据被返回给客户端。该方法可以实现飞行记录数据的免下载播放,减少内存使用(例如减少客户端所在终端的内存使用),而且可以提高播放的实时响应速度。
在一些实施例中,所述方法还可以包括:根据当前播放时间参数和播放时间间隔参数从飞行记录数据库中获取下一次播放时间的飞行记录数据。这样实现了持续获得飞行记录数据的效果。
例如,curTime为当前播放时间参数,Speed为播放时间间隔参数(即,距离下一次播放所增加的时间)。利用curTime+Speed即可得到下一次播放时间。例如,curTime为第2秒,speed为500毫秒,那么下一次播放时间点为第2.5秒,再下一次播放时间点为第3秒,等等。相应地,服务器从飞行记录数据库中获取第2.5秒、第3秒等的飞行记录数据。
在一些实施例中,所述方法还可以包括:生成并记录服务器与客户端之间的连接标识。该连接标识建立该客户端与回放任务之间的一一对应关系。例如,服务器在建立回放任务之后,生成该服务器与客户端的连接标识(例如,连接标识记为webSocketSesssionId),并记录该连接标识。这样,在客户端与回放任务之间建立了一一对应关系。服务器在从客户端接收到请求或命令(例如播放速度命令或暂停命令等)后,可以从客户端的IP地址等获知接收的是哪个客户端的请求或命令,并且可以根据该连接标识查找到对应的回放任务,按照上述请求或命令对该回放任务执行相应的操作。服务器还可以根据该连接标识将响应消息(例如该响应消息为包含飞行记录数据的消息)返回给与回放任务对应的客户端。
在一些实施例中,任务线程池在执行一个回放任务的过程中可以返回一个任务对象。该任务对象可以用来执行停止任务等操作。
在一些实施例中,所述方法还可以包括:接收来自于客户端的播放速度命令,该播放速度命令包含播放速度级别参数,将回放任务中的播放时间间隔参数修改为与该播放速度级别参数对应的播放时间间隔参数。这样可以实现改变播放速度的功能。
例如,客户端通过Websocket方式向服务器发送播放速度命令。例如,该播放速度命令可以包括快速播放命令或慢速播放命令。该播放速度命令可以包含播放速度级别参数。该服务器可以存储有播放速度级别参数与播放时间间隔参数的对应关系。该服务器接收到该播放速度命令后,可以根据连接标识查找到与该客户端对应的回放任务,并将该回放任务中的播放时间间隔参数修改为与该播放速度级别参数对应的播放时间间隔参数。这样可以实现快放或慢放的功能。
在一些实施例中,所述方法还可以包括:接收来自于客户端的暂停命令,并根据该暂停命令将暂停参数的状态标记为暂停,并且不向客户端返回所述飞行记录数据。在另一些实施例中,所述方法还可以包括:接收来自于客户端的播放命令,并根据该播放命令将暂停参数的状态标记为播放,并且向该客户端返回飞行记录数据。
在上述实施例中,客户端例如可以通过Websocket向服务器发送暂停命令或者播放命令,服务器解析命令后,会设置回放任务的暂停(isPause)参数,根据该暂停命令将暂停参数的状态标记为暂停,根据该播放命令将暂停参数的状态标记为播放(例如,暂停标记为true,播放标记为false)。服务器通过回放任务在获取数据后,先判断该暂停参数的状态。如果是暂停则服务器不向客户端返回飞行记录数据,如果是播放则服务器向该客户端返回飞行记录数据。
在一些实施例中,所述方法还可以包括:接收来自于客户端的播放时间戳,根据该播放时间戳设置当前播放时间参数,以便按照该播放时间戳获取下一次的飞行记录数据。
例如,客户端通过Websocket向服务器发送包含播放时间戳的命令,服务器解析命令后获得该播放时间戳,并根据该播放时间戳设置回放任务的当前播放时间参数。这样下次获取数据时,服务器就可以从客户端指定的播放时间戳的时间获取,从而实现选定特定时刻播放的功能。
图2是示出根据本公开另一些实施例的获取飞行记录数据的方法的流程图。该图2示出了验证无人机标识和飞机记录标识是否均正确的过程。该过程可以包括步骤S202~S208。
在步骤S202,验证无人机标识是否正确。例如,服务器验证飞行记录数据库中是否存在该无人机标识。如果存在(即正确),则过程进入步骤S204;否则过程进入步骤S208。
在步骤S204,验证飞机记录标识是否正确。例如,服务器验证飞行记录数据库中是否存在该飞机记录标识。如果存在(即正确),则过程进入步骤S206;否则过程进入步骤S208。
在步骤S206,根据无人机标识和飞机记录标识建立回放任务。
在步骤S208,服务器与客户端断开连接。
在该实施例中,实现了对无人机标识和飞机记录标识的验证。在这两个标识通过验证后,建立回放任务,提高了回放任务的准确性。
图3是示出根据本公开另一些实施例的获取飞行记录数据的方法的流程图。该图3示出了服务器从飞行记录数据库查找数据并将数据返回给客户端的过程。该过程可以包括步骤S302~S308。
在步骤S302,服务器从飞行记录数据库中查找并获取飞行记录数据。例如,该飞行记录数据库可以设置在服务器内部,也可以设置在服务器外部。
例如,服务器可以根据无人机标识和飞机记录标识获取飞行记录数据,在查找数据时可以使用飞行记录数据库(例如Redis数据库)的ZRANGEBYSCORE命令查找距离当前分值最近的一条飞行记录数据。飞行记录数据库将该数据返回给服务器。
在步骤S304,判断是否获取到飞行记录数据。如果是,则过程进入步骤S306;否则过程进入步骤S308。
在步骤S306,将飞行记录数据返回给客户端。
在步骤S308,将播放结束信息返回给客户端。即查询返回后没有数据,表示该记录已经播放完毕。
在该实施例中,实现了服务器从飞行记录数据库查找数据并将数据返回给客户端的过程。
图4是示意性地示出根据本公开一些实施例的服务器的结构图。如图4所示,该服务器可以包括接收器402、处理器404和发送器406。
该接收器402可以用于接收从客户端(图4中未示出)发来的回放请求。该回放请求可以包含无人机标识和飞行记录标识。
该处理器404可以用于验证该无人机标识和该飞机记录标识是否均正确,在该无人机标识和该飞机记录标识均正确的情况下,根据该无人机标识和该飞机记录标识建立回放任务,将该回放任务添加到任务线程池,并利用该任务线程池中的线程定时从飞行记录数据库中获取飞行记录数据。
例如,可以在处理器中设置***,用于解析回放请求以得到无人机标识和飞行记录标识。又例如,可以在处理器中设置回放任务管理器,用来建立回放任务和任务线程池等。
该发送器406可以用于将该飞行记录数据返回给客户端。
在该实施例的服务器中,接收器接收从客户端发来的回放请求。该回放请求包含无人机标识和飞行记录标识。处理器验证该无人机标识和该飞机记录标识是否均正确,在该无人机标识和该飞机记录标识均正确的情况下,根据该无人机标识和该飞机记录标识建立回放任务,将该回放任务添加到任务线程池,并利用该任务线程池中的线程定时从飞行记录数据库中获取飞行记录数据。发送器将该飞行记录数据返回给客户端。该服务器可以实现飞行记录数据的免下载播放,减少内存使用(例如减少客户端所在终端的内存使用),而且可以提高播放的实时响应速度。
在一些实施例中,接收器402和发送器406分别与客户端通过WebSocket方式建立连接。
在一些实施例中,在处理器404确定无人机标识和飞机记录标识中的至少一个错误的情况下,该接收器402和该发送器406分别与客户端断开连接。
在一些实施例中,该处理器404还可以用于在建立回放任务过程中,在该回放任务中设置播放时间间隔参数、当前播放时间参数和暂停参数。
在一些实施例中,该处理器404还可以用于根据当前播放时间参数和播放时间间隔参数从飞行记录数据库中获取下一次播放时间的飞行记录数据。
在一些实施例中,该处理器404还可以用于生成并记录服务器与客户端之间的连接标识。该连接标识建立该客户端与回放任务之间的一一对应关系。
在一些实施例中,该接收器402还可以用于接收来自于客户端的播放速度命令。该播放速度命令包含播放速度级别参数。该处理器404还可以用于将回放任务中的播放时间间隔参数修改为与该播放速度级别参数对应的播放时间间隔参数。
在一些实施例中,该接收器402还可以用于接收来自于客户端的暂停命令。该处理器404还可以用于根据该暂停命令将暂停参数的状态标记为暂停。该发送器406可以用于在该暂停参数的状态标记为暂停的情况下不向客户端返回飞行记录数据。
在另一些实施例中,该接收器402还可以用于接收来自于客户端的播放命令。该处理器404还可以用于根据该播放命令将暂停参数的状态标记为播放。该发送器406可以用于在该暂停参数的状态标记为播放的情况下向客户端返回飞行记录数据。
在一些实施例中,该接收器402还可以用于接收来自于客户端的播放时间戳。该处理器404还可以用于根据该播放时间戳设置当前播放时间参数,以便按照该播放时间戳获取下一次的飞行记录数据。
图5是示意性地示出根据本公开另一些实施例的服务器的结构图。该服务器包括存储器510和处理器520。其中:
存储器510可以是磁盘、闪存或其它任何非易失性存储介质。存储器用于存储图1、图2和/或图3所对应实施例中的指令。
处理器520耦接至存储器510,可以作为一个或多个集成电路来实施,例如微处理器或微控制器。该处理器520用于执行存储器中存储的指令,从而可以实现飞行记录数据的免下载播放,减少内存使用,而且可以提高播放的实时响应速度。
在一些实施例中,还可以如图6所示,该服务器600包括存储器610和处理器620。处理器620通过BUS总线630耦合至存储器610。该服务器600还可以通过存储接口640连接至外部存储装置650以便调用外部数据,还可以通过网络接口660连接至网络或者另外一台计算机***(未标出),此处不再进行详细介绍。
在该实施例中,通过存储器存储数据指令,再通过处理器处理上述指令,从而可以实现飞行记录数据的免下载播放,减少内存使用,而且可以提高播放的实时响应速度。
图7是示意性地示出根据本公开一些实施例的***的结构图。如图7所示,该***可以包括客户端702和服务器704。例如,该客户端可以是浏览器,该服务器可以是如图4、图5或图6所示的服务器。
根据本公开一些实施例的方法、服务器或***可以实现飞行记录回放功能,可以利用WebSocket技术和Redis数据库实现回放快速响应、减少内存使用及实现暂停、快放、慢放、选择播放时间等功能。此外,还可以实现服务器异常发送消息给客户端以终止回放的效果。
在另一个实施例中,本公开还提供了一种计算机可读存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现图1、图2和/或图3所对应实施例中的方法的步骤。本领域内的技术人员应明白,本公开的实施例可提供为方法、装置、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本公开是参照根据本公开实施例的方法、设备(***)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
至此,已经详细描述了本公开。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
可能以许多方式来实现本公开的方法和***。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和***。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
虽然已经通过示例对本公开的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本公开的范围。本领域的技术人员应该理解,可在不脱离本公开的范围和精神的情况下,对以上实施例进行修改。本公开的范围由所附权利要求来限定。

Claims (19)

1.一种获取飞行记录数据的方法,包括:
服务器接收从客户端发来的回放请求,所述回放请求包含无人机标识和飞行记录标识;
验证所述无人机标识和所述飞机记录标识是否均正确;
在所述无人机标识和所述飞机记录标识均正确的情况下,根据所述无人机标识和所述飞机记录标识建立回放任务,并将所述回放任务添加到任务线程池;以及
利用所述任务线程池中的线程定时从飞行记录数据库中获取飞行记录数据,其中,所述飞行记录数据被返回给所述客户端。
2.根据权利要求1所述的方法,其中,
在服务器接收从客户端发来的回放请求之前,所述方法还包括:所述服务器与所述客户端通过WebSocket方式建立连接;
其中,在所述无人机标识和所述飞机记录标识中的至少一个错误的情况下,所述服务器与所述客户端断开连接。
3.根据权利要求1所述的方法,其中,
在建立所述回放任务过程中,在所述回放任务中设置播放时间间隔参数、当前播放时间参数和暂停参数。
4.根据权利要求3所述的方法,还包括:
根据所述当前播放时间参数和所述播放时间间隔参数从飞行记录数据库中获取下一次播放时间的飞行记录数据。
5.根据权利要求1所述的方法,还包括:
生成并记录所述服务器与所述客户端之间的连接标识,其中,所述连接标识建立所述客户端与所述回放任务之间的一一对应关系。
6.根据权利要求3所述的方法,还包括:
接收来自于所述客户端的播放速度命令,所述播放速度命令包含播放速度级别参数,将所述回放任务中的播放时间间隔参数修改为与所述播放速度级别参数对应的播放时间间隔参数。
7.根据权利要求3所述的方法,还包括:
接收来自于所述客户端的暂停命令,并根据所述暂停命令将所述暂停参数的状态标记为暂停,并且不向所述客户端返回所述飞行记录数据;或者,
接收来自于所述客户端的播放命令,并根据所述播放命令将所述暂停参数的状态标记为播放,并且向所述客户端返回所述飞行记录数据。
8.根据权利要求3所述的方法,还包括:
接收来自于所述客户端的播放时间戳,根据所述播放时间戳设置所述当前播放时间参数,以便按照所述播放时间戳获取下一次的飞行记录数据。
9.一种服务器,包括:
接收器,用于接收从客户端发来的回放请求,所述回放请求包含无人机标识和飞行记录标识;以及
处理器,用于验证所述无人机标识和所述飞机记录标识是否均正确,在所述无人机标识和所述飞机记录标识均正确的情况下,根据所述无人机标识和所述飞机记录标识建立回放任务,将所述回放任务添加到任务线程池,并利用所述任务线程池中的线程定时从飞行记录数据库中获取飞行记录数据;以及
发送器,用于将所述飞行记录数据返回给所述客户端。
10.根据权利要求9所述的服务器,其中,
所述接收器和所述发送器分别与所述客户端通过WebSocket方式建立连接;
其中,在所述处理器确定所述无人机标识和所述飞机记录标识中的至少一个错误的情况下,所述接收器和所述发送器分别与所述客户端断开连接。
11.根据权利要求9所述的服务器,其中,
所述处理器还用于在建立所述回放任务过程中,在所述回放任务中设置播放时间间隔参数、当前播放时间参数和暂停参数。
12.根据权利要求11所述的服务器,其中,
所述处理器还用于根据所述当前播放时间参数和所述播放时间间隔参数从飞行记录数据库中获取下一次播放时间的飞行记录数据。
13.根据权利要求9所述的服务器,其中,
所述处理器还用于生成并记录所述服务器与所述客户端之间的连接标识,其中,所述连接标识建立所述客户端与所述回放任务之间的一一对应关系。
14.根据权利要求11所述的服务器,其中,
所述接收器还用于接收来自于所述客户端的播放速度命令,所述播放速度命令包含播放速度级别参数;
所述处理器还用于将所述回放任务中的播放时间间隔参数修改为与所述播放速度级别参数对应的播放时间间隔参数。
15.根据权利要求11所述的服务器,其中,
所述接收器还用于接收来自于所述客户端的暂停命令;
所述处理器还用于根据所述暂停命令将所述暂停参数的状态标记为暂停;
所述发送器用于在所述暂停参数的状态标记为暂停的情况下不向所述客户端返回所述飞行记录数据;
或者,
所述接收器还用于接收来自于所述客户端的播放命令;
所述处理器还用于根据所述播放命令将所述暂停参数的状态标记为播放;
所述发送器用于在所述暂停参数的状态标记为播放的情况下向所述客户端返回所述飞行记录数据。
16.根据权利要求11所述的服务器,其中,
所述接收器还用于接收来自于所述客户端的播放时间戳;
所述处理器还用于根据所述播放时间戳设置所述当前播放时间参数,以便按照所述播放时间戳获取下一次的飞行记录数据。
17.一种服务器,包括:
存储器;以及
耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器的指令执行如权利要求1至8任意一项所述的方法。
18.一种获取飞行记录数据的***,包括:客户端和如权利要求9至17任意一项所述的服务器。
19.一种计算机可读存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现如权利要求1至8任意一项所述的方法的步骤。
CN201810658637.8A 2018-06-25 2018-06-25 获取飞行记录数据的方法、服务器和*** Active CN108833961B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810658637.8A CN108833961B (zh) 2018-06-25 2018-06-25 获取飞行记录数据的方法、服务器和***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810658637.8A CN108833961B (zh) 2018-06-25 2018-06-25 获取飞行记录数据的方法、服务器和***

Publications (2)

Publication Number Publication Date
CN108833961A true CN108833961A (zh) 2018-11-16
CN108833961B CN108833961B (zh) 2021-01-26

Family

ID=64137615

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810658637.8A Active CN108833961B (zh) 2018-06-25 2018-06-25 获取飞行记录数据的方法、服务器和***

Country Status (1)

Country Link
CN (1) CN108833961B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111092939A (zh) * 2019-12-04 2020-05-01 深圳市机场股份有限公司 基于机位分配的消息处理方法、装置及电子设备
CN112205020A (zh) * 2019-10-30 2021-01-08 深圳市大疆创新科技有限公司 视频传输方法、设备及计算机可读存储介质
CN112214484A (zh) * 2019-10-23 2021-01-12 北京京东振世信息技术有限公司 一种无人机数据监测***、方法、服务器和存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8973101B1 (en) * 2012-04-18 2015-03-03 The Boeing Company Method and apparatus for authenticating information received at an airport surface wireless node
CN105225540A (zh) * 2015-10-21 2016-01-06 杨珊珊 无人飞行器的飞行区域监控装置及其监控方法
US20160285864A1 (en) * 2015-03-27 2016-09-29 Amazon Technologies, Inc. Authenticated messages between unmanned vehicles
CN106060227A (zh) * 2015-04-07 2016-10-26 Lg电子株式会社 移动终端和控制该移动终端的方法
CN107615358A (zh) * 2015-03-31 2018-01-19 深圳市大疆创新科技有限公司 用于标识经授权的参与者的认证***和方法
CN107831783A (zh) * 2017-11-10 2018-03-23 南昌航空大学 一种支持多无人机自主飞行的地面站控制***

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8973101B1 (en) * 2012-04-18 2015-03-03 The Boeing Company Method and apparatus for authenticating information received at an airport surface wireless node
US20160285864A1 (en) * 2015-03-27 2016-09-29 Amazon Technologies, Inc. Authenticated messages between unmanned vehicles
CN107615358A (zh) * 2015-03-31 2018-01-19 深圳市大疆创新科技有限公司 用于标识经授权的参与者的认证***和方法
CN106060227A (zh) * 2015-04-07 2016-10-26 Lg电子株式会社 移动终端和控制该移动终端的方法
CN105225540A (zh) * 2015-10-21 2016-01-06 杨珊珊 无人飞行器的飞行区域监控装置及其监控方法
CN107831783A (zh) * 2017-11-10 2018-03-23 南昌航空大学 一种支持多无人机自主飞行的地面站控制***

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112214484A (zh) * 2019-10-23 2021-01-12 北京京东振世信息技术有限公司 一种无人机数据监测***、方法、服务器和存储介质
CN112214484B (zh) * 2019-10-23 2024-04-12 北京京东振世信息技术有限公司 一种无人机数据监测***、方法、服务器和存储介质
CN112205020A (zh) * 2019-10-30 2021-01-08 深圳市大疆创新科技有限公司 视频传输方法、设备及计算机可读存储介质
CN111092939A (zh) * 2019-12-04 2020-05-01 深圳市机场股份有限公司 基于机位分配的消息处理方法、装置及电子设备

Also Published As

Publication number Publication date
CN108833961B (zh) 2021-01-26

Similar Documents

Publication Publication Date Title
CN107025165B (zh) 游戏自动化测试方法及相关装置
CN102946343B (zh) 访问音视频社区虚拟房间的方法和***
CN104598513B (zh) 一种基于网页框架的数据流控制方法和***
CN110365721A (zh) 一种基于用户场景感知触发服务的方法、终端设备及***
CN107920122A (zh) 游戏玩家匹配方法、装置、匹配服务器及可读存储介质
CN105512044B (zh) 用于关键字驱动测试的对象库的更新方法及***
CN108833961A (zh) 获取飞行记录数据的方法、服务器和***
CN104765678A (zh) 对移动终端设备上的应用进行测试的方法及装置
CN110716853A (zh) 一种测试脚本录制方法、应用程序测试方法和相关装置
CN110348219A (zh) 版本比对方法、***、计算机设备及可读存储介质
CN107395404B (zh) 为网络应用提示网络环境、预测服务质量的方法和装置
CN105338564B (zh) 一种客户端适配方法、客户端、服务器以及***
CN107819611A (zh) 基于iec61850多服务端仿真的客户端测试方法
CN112994980A (zh) 时延测试方法、装置、电子设备和存储介质
CN113676761B (zh) 一种多媒体资源播放方法、装置及主控设备
CN106802865B (zh) 用于软件测试的应答模拟装置及方法
CN109634838A (zh) 定位应用程序故障的方法、装置、存储介质和电子设备
CN112988267A (zh) 加载方法、装置、存储介质及电子设备
CN117499287A (zh) Web测试方法、装置、存储介质及代理服务器
CN107517237A (zh) 一种视频识别方法和装置
CN114185773A (zh) 程序测试方法、装置、电子设备和计算机可读存储介质
CN105245535A (zh) 多客户端统一管理方法及***
CN113949739A (zh) 跨设备播放方法、装置、电子设备及存储介质
CN115913912A (zh) 报文拦截及业务链路图的生成方法及装置
CN109522187B (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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20210301

Address after: 101, 1st floor, building 2, yard 20, Suzhou street, Haidian District, Beijing 100080

Patentee after: Beijing Jingbangda Trading Co.,Ltd.

Address before: 100195 Beijing Haidian Xingshikou Road 65 West Cedar Creative Garden 4 District 11 Building East 1-4 Floor West 1-4 Floor

Patentee before: BEIJING JINGDONG SHANGKE INFORMATION TECHNOLOGY Co.,Ltd.

Patentee before: BEIJING JINGDONG CENTURY TRADING Co.,Ltd.

Effective date of registration: 20210301

Address after: Room a1905, 19 / F, building 2, No. 18, Kechuang 11th Street, Daxing District, Beijing, 100176

Patentee after: Beijing Jingdong Qianshi Technology Co.,Ltd.

Address before: 101, 1st floor, building 2, yard 20, Suzhou street, Haidian District, Beijing 100080

Patentee before: Beijing Jingbangda Trading Co.,Ltd.