发明内容
本公开的实施例解决的一个技术问题是:提供一种获取飞行记录数据的方法,以实现飞行记录数据的免下载播放。
根据本公开实施例的一个方面,提供了一种获取飞行记录数据的方法,包括:服务器接收从客户端发来的回放请求,所述回放请求包含无人机标识和飞行记录标识;验证所述无人机标识和所述飞机记录标识是否均正确;在所述无人机标识和所述飞机记录标识均正确的情况下,根据所述无人机标识和所述飞机记录标识建立回放任务,并将所述回放任务添加到任务线程池;以及利用所述任务线程池中的线程定时从飞行记录数据库中获取飞行记录数据,其中,所述飞行记录数据被返回给所述客户端。
在一些实施例中,在服务器接收从客户端发来的回放请求之前,所述方法还包括:所述服务器与所述客户端通过WebSocket方式建立连接;其中,在所述无人机标识和所述飞机记录标识中的至少一个错误的情况下,所述服务器与所述客户端断开连接。
在一些实施例中,在建立所述回放任务过程中,在所述回放任务中设置播放时间间隔参数、当前播放时间参数和暂停参数。
在一些实施例中,所述方法还包括:根据所述当前播放时间参数和所述播放时间间隔参数从飞行记录数据库中获取下一次播放时间的飞行记录数据。
在一些实施例中,所述方法还包括:生成并记录所述服务器与所述客户端之间的连接标识,其中,所述连接标识建立所述客户端与所述回放任务之间的一一对应关系。
在一些实施例中,所述方法还包括:接收来自于所述客户端的播放速度命令,所述播放速度命令包含播放速度级别参数,将所述回放任务中的播放时间间隔参数修改为与所述播放速度级别参数对应的播放时间间隔参数。
在一些实施例中,所述方法还包括:接收来自于所述客户端的暂停命令,并根据所述暂停命令将所述暂停参数的状态标记为暂停,并且不向所述客户端返回所述飞行记录数据;或者,接收来自于所述客户端的播放命令,并根据所述播放命令将所述暂停参数的状态标记为播放,并且向所述客户端返回所述飞行记录数据。
在一些实施例中,所述方法还包括:接收来自于所述客户端的播放时间戳,根据所述播放时间戳设置所述当前播放时间参数,以便按照所述播放时间戳获取下一次的飞行记录数据。
根据本公开实施例的另一个方面,提供了一种服务器,包括:接收器,用于接收从客户端发来的回放请求,所述回放请求包含无人机标识和飞行记录标识;以及处理器,用于验证所述无人机标识和所述飞机记录标识是否均正确,在所述无人机标识和所述飞机记录标识均正确的情况下,根据所述无人机标识和所述飞机记录标识建立回放任务,将所述回放任务添加到任务线程池,并利用所述任务线程池中的线程定时从飞行记录数据库中获取飞行记录数据;以及发送器,用于将所述飞行记录数据返回给所述客户端。
在一些实施例中,所述接收器和所述发送器分别与所述客户端通过WebSocket方式建立连接;其中,在所述处理器确定所述无人机标识和所述飞机记录标识中的至少一个错误的情况下,所述接收器和所述发送器分别与所述客户端断开连接。
在一些实施例中,所述处理器还用于在建立所述回放任务过程中,在所述回放任务中设置播放时间间隔参数、当前播放时间参数和暂停参数。
在一些实施例中,所述处理器还用于根据所述当前播放时间参数和所述播放时间间隔参数从飞行记录数据库中获取下一次播放时间的飞行记录数据。
在一些实施例中,所述处理器还用于生成并记录所述服务器与所述客户端之间的连接标识,其中,所述连接标识建立所述客户端与所述回放任务之间的一一对应关系。
在一些实施例中,所述接收器还用于接收来自于所述客户端的播放速度命令,所述播放速度命令包含播放速度级别参数;所述处理器还用于将所述回放任务中的播放时间间隔参数修改为与所述播放速度级别参数对应的播放时间间隔参数。
在一些实施例中,所述接收器还用于接收来自于所述客户端的暂停命令;所述处理器还用于根据所述暂停命令将所述暂停参数的状态标记为暂停;所述发送器用于在所述暂停参数的状态标记为暂停的情况下不向所述客户端返回所述飞行记录数据;
在一些实施例中,所述接收器还用于接收来自于所述客户端的播放命令;所述处理器还用于根据所述播放命令将所述暂停参数的状态标记为播放;所述发送器用于在所述暂停参数的状态标记为播放的情况下向所述客户端返回所述飞行记录数据。
在一些实施例中,所述接收器还用于接收来自于所述客户端的播放时间戳;所述处理器还用于根据所述播放时间戳设置所述当前播放时间参数,以便按照所述播放时间戳获取下一次的飞行记录数据。
根据本公开实施例的另一个方面,提供了一种服务器,包括:存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器的指令执行如前所述的方法。
根据本公开实施例的另一个方面,提供了一种获取飞行记录数据的系统,包括:客户端和如前所述的服务器。
根据本公开实施例的另一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现如前所述的方法的步骤。
在上述方法中,服务器接收从客户端发来的回放请求,该回放请求包含无人机标识和飞行记录标识。该服务器验证该无人机标识和该飞机记录标识是否均正确。在该无人机标识和该飞机记录标识均正确的情况下,该服务器根据该无人机标识和该飞机记录标识建立回放任务,并将该回放任务添加到任务线程池。该服务器利用该任务线程池中的线程定时从飞行记录数据库中获取飞行记录数据。该飞行记录数据被返回给客户端。该方法可以实现飞行记录数据的免下载播放,减少内存使用,而且可以提高播放的实时响应速度。
通过以下参照附图对本公开的示例性实施例的详细描述,本公开的其它特征及其优点将会变得清楚。
具体实施方式
现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
图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、光学存储器等)上实施的计算机程序产品的形式。
本公开是参照根据本公开实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
至此,已经详细描述了本公开。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
可能以许多方式来实现本公开的方法和系统。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和系统。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
虽然已经通过示例对本公开的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本公开的范围。本领域的技术人员应该理解,可在不脱离本公开的范围和精神的情况下,对以上实施例进行修改。本公开的范围由所附权利要求来限定。