传感器数据的处理方法和系统
技术领域
本发明涉及移动终端虚拟化领域,具体而言,涉及一种传感器数据的处理方法和系统。
背景技术
随着移动终端,例如手机硬件配置的不断提高,手机的性能也在不断地提升。同时,手机上集成的传感器也随着传感器小型化和高集成度不断加强。硬件性能和功能提升,也必然导致上层软件出现更多的APP应用。据不完全统计,目前可集成在手机中的传感器超过30种,作为手机常见的传感器至少有10种。在某些游戏软件中,会调用5种以上的传感器接口,已完成丰富的应用体验。
伴随着云服务的发展,各种基于手机的应用虚拟化技术也得到了长足的发展。但是,由于应用虚拟化受限于底层虚拟化软件、上层应用软件是否可虚拟化以及手机传感器上行通道通信保障等因素,现有技术中手机端的虚拟化应用软件上行至云端的通道主要以触摸屏等为主的简单控制信息,而无法实现传感器数据同步上传至服务器,导致用户体验感差。
针对现有技术中移动终端应用虚拟化无法实现传感器数据上传至服务器,导致用户体验感差的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种传感器数据的处理方法和系统,以至少解决现有技术中移动终端应用虚拟化无法实现传感器数据上传至服务器,导致用户体验感差的技术问题。
根据本发明实施例的一个方面,提供了一种传感器数据的处理方法,包括:服务器接收移动终端发送的用于启动第一应用程序的第一启动指令;服务器启动第一应用程序,并获取第一应用程序对应的第一传感器列表,其中,第一传感器列表至少包括:第一应用程序调用的至少一个第一传感器;服务器将第一传感器列表发送至移动终端;服务器通过移动终端建立的至少一个第一传输通道,接收移动终端发送的至少一个第一传感器采集到的数据,其中,至少一个第一传输通道与至少一个第一传感器一一对应。
进一步地,第一传感器列表还包括:至少一个第一传感器的优先级信息。
进一步地,第一应用程序为服务器上安装的多个应用程序中的任意一个,其中,在服务器接收移动终端发送的用于启动第一应用程序的第一启动指令之前,上述方法还包括:服务器获取每个应用程序调用的传感器的类型和数量,其中,类型包括:常驻型传感器、应用触发型传感器和状态变化型传感器;服务器根据每个应用程序调用的传感器的类型和数量,建立每个应用程序对应的传感器列表。
进一步地,在服务器将第一传感器列表发送至移动终端之前,上述方法还包括:服务器获取按照至少一个第一传感器的类型和数量,为至少一个第一传输通道分配对应的第一传输端口。
进一步地,在服务器启动第一应用程序之后,上述方法还包括:服务器接收移动终端发送的用于启动第二应用程序的第二启动指令;服务器启动第二应用程序,并获取第二应用程序对应的第二传感器列表,其中,第二传感器列表至少包括:第二应用程序调用的至少一个第二传感器,以及至少一个第二传感器的优先级信息;服务器根据第一传感器列表和第二传感器列表,生成传感器组列表,其中,传感器组列表包括:至少一个第一传感器和至少一个第二传感器,以及至少一个第一传感器和至少一个第二传感器的优先级信息,至少一个第二传感器的优先级高于至少一个第一传感器的优先级;服务器将传感器组列表发送至移动终端;服务器通过移动终端建立的至少一个第二传输通道,接收移动终端发送的至少一个第二传感器采集到的数据,其中,至少一个第二传输通道与至少一个第二传感器一一对应。
进一步地,服务器根据第一传感器列表和第二传感器列表,生成传感器组列表,包括:服务器将每个第二传感器与至少一个第一传感器进行匹配;如果任意一个第二传感器与至少一个第一传感器匹配失败,则服务器将传感器组列表中至少一个第一传感器的优先级降低,并将任意一个第二传感器插入至传感器组列表的表头;如果任意一个第二传感器与任意一个第一传感器匹配成功,则服务器将任意一个第二传感器插入至传感器组列表的表头,并保留为任意一个第一传感器对应的第一传输通道分配的第一传输端口,且断开任意一个第一传感器对应的第一传输通道。
进一步地,在服务器将传感器组列表发送至移动终端之前,上述方法还包括:服务器获取按照至少一个第二传感器的类型和数量,为至少一个第二传输通道分配对应的第二传输端口。
进一步地,在服务器通过移动终端建立的至少一个第一传输通道,接收移动终端发送的至少一个第一传感器采集到的数据之后,上述方法还包括:服务器接收移动终端发送的用于关闭第一应用程序的关闭指令;服务器关闭为至少一个第一传输通道分配的第一传输端口,并更新传感器组列表;服务器存储至少一个第一传感器采集到的数据,并关闭第一应用程序。
进一步地,服务器接收移动终端发送的用于启动第一应用程序的第一启动指令或服务器接收移动终端发送的用于启动第二应用程序的第二启动指令,包括:服务器通过预设传输通道接收移动终端发送的第一启动指令或第二启动指令。
进一步地,服务器通过移动终端建立的至少一个第一传输通道,接收移动终端发送的至少一个第一传感器采集到的数据,包括:服务器依次接收至少一个第一传输通道传输的至少一个数据包;服务器对至少一个数据包进行解包处理,得到至少一个第一传感器采集到的数据。
进一步地,第一启动指令包括:第一位置信息,第二启动指令包括:第二位置信息,在服务器启动第一应用程序或服务器启动第二应用程序之前,上述方法还包括:服务器根据第一位置信息,确定第一应用程序,或根据第二位置信息,确定第二应用程序;服务器启动第一应用程序或第二应用程序。
根据本发明实施例的另一方面,还提供了一种传感器数据的处理方法,包括:移动终端发送用于启动第一应用程序的第一启动指令至服务器;在第一应用程序启动之后,移动终端接收服务器返回的第一应用程序对应的第一传感器列表,其中,第一传感器列表至少包括:第一应用程序调用的至少一个第一传感器;移动终端按照第一传感器列表与服务器建立至少一个第一传输通道,其中,至少一个第一传输通道与至少一个第一传感器一一对应;移动终端通过至少一个第一传输通道将至少一个第一传感器采集到的数据传输至服务器。
进一步地,第一传感器列表还包括:至少一个第一传感器的优先级信息,其中,移动终端通过至少一个第一传输通道将至少一个第一传感器采集到的数据传输至服务器,包括:移动终端按照至少一个第一传感器的优先级信息,通过至少一个第一传输通道将至少一个第一传感器采集到的数据传输至服务器。
进一步地,第一应用程序为服务器上安装的多个应用程序中的任意一个,其中,每个应用程序对应的传感器列表为服务器根据每个应用程序调用的传感器的类型和数量所建立的,其中,类型包括:常驻型传感器、应用触发型传感器和状态变化型传感器。
进一步地,移动终端按照第一传感器列表与服务器建立至少一个第一传输通道,包括:移动终端按照至少一个第一传感器的类型和数量,为至少一个第一传输通道分配对应的第三传输端口;移动终端建立第三传输端口与第一传输端口之间的连接,其中,第一传输端口为服务器按照至少一个第一传感器的类型和数量,为至少一个第一传输通道分配对应的端口。
进一步地,在第一应用程序启动之后,上述方法还包括:移动终端发送用于启动第二应用程序的第二启动指令至服务器;在第二应用程序启动之后,移动终端接收服务器返回的传感器组列表,其中,传感器组列表为服务器根据第一传感器列表和第二应用程序对应的第二传感器列表生成的,第二传感器列表至少包括:第二应用程序调用的至少一个第二传感器,以及至少一个第二传感器的优先级信息,传感器组列表包括:至少一个第一传感器和至少一个第二传感器,以及至少一个第一传感器和至少一个第二传感器的优先级信息,至少一个第二传感器的优先级高于至少一个第一传感器的优先级;移动终端按照传感器组列表与服务器建立至少一个第二传输通道,其中,至少一个第二传输通道与至少一个第二传感器一一对应;移动终端按照至少一个第二传感器的优先级信息,通过至少一个第二传输通道将至少一个第二传感器采集到的数据传输至服务器。
进一步地,移动终端按照传感器组列表与服务器建立至少一个第二传输通道,包括:移动终端按照至少一个第二传感器的类型和数量,为至少一个第二传输通道分配对应的第四传输端口;移动终端建立第四传输端口与第二传输端口之间的连接,其中,第二传输端口为服务器按照至少一个第二传感器的类型和数量,为至少一个第二传输通道分配对应的端口;移动终端将每个第二传感器与至少一个第一传感器进行匹配;如果任意一个第二传感器与任意一个第一传感器匹配成功,则移动终端保留为任意一个第一传感器对应的第一传输通道分配的第三传输端口,且断开任意一个第一传感器对应的第一传输通道。
进一步地,在至少一个第二传输通道出现拥塞的情况下,在移动终端按照至少一个第二传感器的优先级信息,通过至少一个第二传输通道将至少一个第二传感器采集到的数据传输至服务器之前,上述方法还包括:移动终端按照传感器组列表,获取最低优先级对应的传感器;移动终端丢弃最低优先级对应的传感器采集到的数据。
进一步地,在移动终端按照至少一个第一传感器的优先级信息,通过至少一个第一传输通道将至少一个第一传感器采集到的数据传输至服务器之后,上述方法还包括:移动终端发送用于关闭第一应用程序的关闭指令至服务器;移动终端关闭为至少一个第一传输通道分配的第三传输端口。
进一步地,移动终端发送用于启动第一应用程序的第一启动指令至服务器或移动终端发送用于启动第二应用程序的第二启动指令至服务器,包括:移动终端通过预设传输通道发送第一启动指令或第二启动指令至服务器。
进一步地,移动终端按照至少一个第一传感器的优先级信息,通过至少一个第一传输通道将至少一个第一传感器采集到的数据传输至服务器,包括:移动终端获取至少一个第一传感器采集到的数据;移动终端按照至少一个第一传感器的优先级信息,依次对至少一个第一传感器采集到的数据进行打包处理,得到至少一个数据包;移动终端依次将每个数据包通过对应的传输通道传输至服务器。
进一步地,第一启动指令包括:第一位置信息,第二启动指令包括:第二位置信息。
根据本发明实施例的另一方面,还提供了一种传感器数据的处理系统,包括:移动终端,用于发送用于启动第一应用程序的第一启动指令;服务器,与移动终端连接,用于启动第一应用程序,并发送第一应用程序对应的第一传感器列表,其中,第一传感器列表至少包括:第一应用程序调用的至少一个第一传感器;移动终端还用于按照第一传感器列表发送至少一个第一传感器采集到的数据。
进一步地,第一传感器列表还包括:至少一个第一传感器的优先级信息,移动终端还用于按照至少一个第一传感器与服务器建立至少一个第一传输通道,并按照至少一个第一传感器的优先级信息,通过至少一个第一传输通道发送至少一个第一传感器采集到的数据,其中,至少一个第一传输通道与至少一个第一传感器一一对应。
根据本发明实施例的另一方面,还提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述实施例中的传感器数据的处理方法。
根据本发明实施例的另一方面,还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述实施例中的传感器数据的处理方法。
在本发明实施例中,服务器接收移动终端发送的用于启动第一应用程序的第一启动指令,启动第一应用程序,并获取第一应用程序对应的第一传感器列表,将第一传感器列表发送至移动终端,通过移动终端建立的至少一个第一传输通道,接收移动终端发送的至少一个第一传感器采集到的数据,从而实现移动终端的传感器采集到的数据同步上传服务器,达到保证移动终端的应用体验最佳的效果,进而解决了现有技术中移动终端应用虚拟化无法实现传感器数据上传至服务器,导致用户体验感差技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种传感器数据的处理方法的流程图;
图2是根据本发明实施例的一种可选的APP1的上行通道列表1的示意图;
图3是根据本发明实施例的一种可选的传感器优先级分类的示意图;
图4是根据本发明实施例的一种可选的APP2的上行通道列表2的示意图;
图5是根据本发明实施例的一种可选的APP1和APP2的上行通道组列表的示意图;
图6是根据本发明实施例的一种可选的启动应用程序的流程图;
图7是根据本发明实施例的一种可选的切换应用程序的流程图;
图8是根据本发明实施例的一种可选的关闭应用程序的流程图;
图9是根据本发明实施例的另一种传感器数据的处理方法的流程图;以及
图10是根据本发明实施例的一种传感器数据的处理系统的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本发明实施例,提供了一种传感器数据的处理方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的一种传感器数据的处理方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,服务器接收移动终端发送的用于启动第一应用程序的第一启动指令。
具体地,上述的服务器可以是云端服务器,上述的移动终端可以是移动零终端,包括屏幕、外接存储接口、按键、传感器、接收侧屏幕会话管理模块、电池电源管理模块、移动通信模块等,主要完成接收来自云端服务器的屏幕显示图像,发送本地传感器、按键和外接存储会话信息至云端服务器,从而实现应用虚拟化。
在一种可选的方案中,当用户需要启动第一应用程序APP,例如,当用户需要开启微信时,用户可以通过对移动零终端进行触屏操作,移动零终端根据用户的触屏操作生成用于启动第一应用程序的第一启动指令,并将第一启动指令发送至云端服务器。
例如,以用户启动APP1为例进行详细说明。当用户需要启动APP1时,用户可以在移动零终端的触屏上选择APP1对应的图标,移动零终端生成启动APP1的启动指令1,并将启动指令1发送至云端服务器。
步骤S104,服务器启动第一应用程序,并获取第一应用程序对应的第一传感器列表,其中,第一传感器列表至少包括:第一应用程序调用的至少一个第一传感器。
具体地,终端在执行APP的过程中,可以调用一个或多个传感器,例如,微信(Wechat)对应的传感器可以包括但不限于:摄像头、麦克风、触摸屏、按键、GPS等传感器;上述的第一传感器列表可以是第一应用程序的上行通道列表。
步骤S106,服务器将第一传感器列表发送至移动终端。
在一种可选的方案中,在接收到移动零终端发送的第一启动指令之后,云端服务器可以启动第一应用程序,并获取第一应用程序在执行过程中需要调用的至少一个第一传感器,根据至少一个第一传感器的传感器编号或者传感器名称,生成第一传感器列表,并将第一传感器列表返回至移动零终端。
例如,仍以用户启动APP1为例进行详细说明。云端服务器在接收到启动指令1之后,可以启动APP1,并确定APP1调用的3个传感器,如图2所示,APP1调用传感器1_1、传感器2和传感器3,生成APP1的上行通道列表1,并将上行通道列表1返回至移动零终端。
步骤S108,服务器通过移动终端建立的至少一个第一传输通道,接收移动终端发送的至少一个第一传感器采集到的数据,其中,至少一个第一传输通道与至少一个第一传感器一一对应。
具体地,上述的第一传输通道可以是用于传输至少一个第一传感器采集到的数据的上行通道,移动零终端可以为每个第一传感器建立一个对应的上行通道。
在一种可选的方案中,移动零终端可以根据第一传感器列表,建立与第一应用程序调用的传感器一一对应的传输通道,开启第一应用程序调用的所有传感器,并通过对应的传输通道上传传感器采集到的数据至云端服务器,从而第一应用程序获取到传感器采集到的数据。
例如,仍以用户启动APP1为例进行详细说明。在接收到上行通道列表1之后,移动零终端可以建立三个上行通道,传感器1_1对应上行通道1,传感器2对应于上行通道2,传感器3对应于上行通道3,移动零终端可以通过上行通道1发送传感器1_1采集到的数据至云端服务器,通过上行通道2发送传感器2采集到的数据至云端服务器,并通过上行通道3上传传感器3采集到的数据至云端服务器。
根据本发明上述实施例,服务器接收移动终端发送的用于启动第一应用程序的第一启动指令,启动第一应用程序,并获取第一应用程序对应的第一传感器列表,将第一传感器列表发送至移动终端,通过移动终端建立的至少一个第一传输通道,接收移动终端发送的至少一个第一传感器采集到的数据,从而实现移动终端的传感器采集到的数据同步上传服务器,达到保证移动终端的应用体验最佳的效果,进而解决了现有技术中移动终端应用虚拟化无法实现传感器数据上传至服务器,导致用户体验感差技术问题。
可选地,在本发明上述实施例中,第一传感器列表还包括:至少一个第一传感器的优先级信息。
具体地,移动零终端中使用的各类传感器分为三类。第一类为常驻型传感器,此类传感器需要时刻与云端APP应用保持上行通道的连接,属于系统级应用APP,直接关系到用户的体验与操作,具有实时性,如,触摸屏,按键等。第二类为应用触发型传感器,此类传感器在应用APP开启后才与该传感器建立上行通道的连接,如,摄像头,麦克风,GPS,重力加速度,陀螺仪等。第三类为状态变化型传感器,此类传感器对应的状态变化不快,用户体验中不强调实时性,只有其状态发生变化时,才上报云端APP应用进行显示数据的同步,如,电源状态,计步器等。按照上述分类,如图3所示,常驻型传感器的优先级最高,处于整个传感器列表最前列,一旦产生数据,即刻通过建立的常连接通道将数据同步至云端;应用触发型传感器的优先级次之,处于整个传感器列表的中间,正常情况下处于关闭或者不上传数据的状态,当对应的云端APP开启后,对应的终端的传感器才开启或者建立上行通道同步数据至云端服务器;状态变化型传感器优先级最低,处于整个传感器列表的末端,正常情况下处于关闭或者不上传数据的状态,只有其状态发生变化后,传感器才建立上行通道同步数据至云端,一次上报完毕并得到确认后,即刻释放上行通道资源,待下次状态变化后再次上报。为了保证不同传感器上传数据的同步性,APP的上行通道列表中不仅仅包含APP调用的所有传感器的名称,还可以包含每个传感器的优先级信息,也即,上行通道列表为上行通道优先级列表,其中,可以通过列表中传感器位置先后顺序表明传感器的优先级的高低。例如,如图2所示,APP1可以调用3个传感器,即传感器1_1、传感器2和传感器3,其中,传感器1_1的优先级高于传感器2的优先级,传感器2的优先级高于传感器3的优先级。
可选地,在本发明上述实施例中,第一应用程序为服务器上安装的多个应用程序中的任意一个,其中,在步骤S102,服务器接收移动终端发送的用于启动第一应用程序的第一启动指令之前,该方法还包括:
步骤S110,服务器获取每个应用程序调用的传感器的类型和数量,其中,类型包括:常驻型传感器、应用触发型传感器和状态变化型传感器。
具体地,在云端服务器上安装有海量的APP应用,每个APP调用的传感器种类和数量均差异,为保证终端传感器上传数据的同步性,服务器可以预先为云端服务器上安装的每个APP设置一个上行通道列表,列表中包含每个APP调用的所有传感器的名称和每个传感器的优先级信息。
步骤S112,服务器根据每个应用程序调用的传感器的类型和数量,建立每个应用程序对应的传感器列表。
具体地,云端服务器可以依据每个APP调用的传感器种类和数量提供传感器列表和对应列表内的优先级顺序,即提供上行通道列表。并且,云端服务器可以根据用户的操作,动态更新属于该用户的APP上行通道列表,以保证终端的应用体验最佳。
例如,仍以用户启动APP1为例进行详细说明。云端服务器确定APP1调用传感器1_1、传感器2和传感器3,获取传感器1_1的类型为常驻型传感器,传感器2的类型为应用触发型传感器,传感器3的类型为状态变化型传感器,因此,生成APP1的上行通道列表1,传感器1_1的优先级高于传感器2的优先级,传感器2的优先级高于传感器3的优先级。
可选地,在本发明上述实施例中,在步骤S106,服务器将第一传感器列表发送至移动终端之前,该方法还包括:
步骤S114,服务器获取按照至少一个第一传感器的类型和数量,为至少一个第一传输通道分配对应的第一传输端口。
具体地,由于第一传输通道与第一传感器一一对应,因此,第一传输通道的类型和数量与第一传感器的类型和数量相同。
在一种可选的方案中,在获取到第一应用程序的第一传感器列表之后,为了保证移动零终端可以实时上传采集到的数据至云端服务器,云端服务器可以按照第一传感器列表中的第一传感器的类型和数量,也即,根据第一传输通道的类型和数量开放相应数量的第一传输端口,通过该端口可以接收到对应的第一传感器上传的数据。移动零终端也可以按照第一传感器列表中的第一传感器的类型和数量,也即,根据第一传输通道的类型和数量开放相应数量的第三传输端口,并建立第一传输端口和第三传输端口之间的连接,从而通过对应的第三传输端口上传第一传感器采集到的数据至云端服务器。
例如,仍以用户启动APP1为例进行详细说明。云端服务器在获取到上行通道列表1之后,可以根据传感器1_1、传感器2和传感器3的类型,为上行通道1、上行通道2和上行通道3分配传输端口,为上行通道1分配传输端口A,为上行通道2分配传输端口B,为上行通道3分配传输端口C。移动零终端可以根据传感器1_1、传感器2和传感器3的类型,为上行通道1、上行通道2和上行通道3分配传输端口,为上行通道1分配传输端口1,为上行通道2分配传输端口2,为上行通道3分配传输端口3,并建立传输端口1与传输端口A的连接,即建立上行通道1;建立传输端口2与传输端口B的连接,即建立上行通道2;建立传输端口3与传输端口C的连接,即建立上行通道3。
可选地,在本发明上述实施例中,在步骤S104,服务器启动第一应用程序之后,该方法还包括:
步骤S116,服务器接收移动终端发送的用于启动第二应用程序的第二启动指令。
在一种可选的方案中,在移动零终端执行第一应用程序的过程中,用户可能会切换第二应用程序,用户可以通过对移动零终端进行触屏操作,临时开启第二应用程序,例如,当用户需要开启百度地图时,移动零终端根据用户的触屏操作生成用于启动第二应用程序的第二启动指令,并将第二启动指令发送至云端服务器。云端服务器启动应用程序切换操作,此时,第二应用程序切换为前台运行,第一应用程序切换为后台运行。
例如,以用户启动APP1之后启动APP2为例进行详细说明。当移动零终端在执行APP1的过程中,用户需要启动APP2时,用户可以在移动零终端的触屏上选择APP2对应的图标,移动零终端生成启动APP2的启动指令2,并将启动指令2发送至云端服务器,云端服务器启动APP切换操作,APP1切换为前台运行,APP2切换为后台运行。
步骤S118,服务器启动第二应用程序,并获取第二应用程序对应的第二传感器列表,其中,第二传感器列表至少包括:第二应用程序调用的至少一个第二传感器,以及至少一个第二传感器的优先级信息。
步骤S120,服务器根据第一传感器列表和第二传感器列表,生成传感器组列表,其中,传感器组列表包括:至少一个第一传感器和至少一个第二传感器,以及至少一个第一传感器和至少一个第二传感器的优先级信息,至少一个第二传感器的优先级高于至少一个第一传感器的优先级。
具体地,由于第二应用程序为前台运行,第一应用程序为后台运行,新开启的第二应用程序的传感器列表则处于整个传感器组列表的最前列,需要说明的是,在第一应用程序从后台运行切换为前台运行之后,转至前台运行的第一应用程序的传感器列表则处于整个传感器组列表的最前列。
步骤S122,服务器将传感器组列表发送至移动终端。
在一种可选的方案中,在接收到移动零终端发送的第二启动指令之后,云端服务器可以启动第二应用程序,并获取第二应用程序在执行过程中需要调用的至少一个第二传感器,根据至少一个第二传感器的传感器编号或者传感器名称,以及至少一个第二传感器的优先级信息,生成第二传感器列表,并将第一传感器列表和第二传感器列表进行组合,得到传感器组列表,也即上行通道组列表,并将上行通道组列表返回至移动零终端。
例如,仍以用户启动APP1之后启动APP2为例进行详细说明。云端服务器在接收到启动指令2之后,可以启动APP2,并确定APP2调用的3个传感器,如图4所示,APP2调用传感器1_2、传感器4和传感器5,生成APP2的上行通道列表2,其中,传感器1_2的优先级高于传感器4的优先级,传感器4的优先级高于传感器5的优先级,然后将上行通道列表1和上行通道列表2进行组合,得到上行通道组列表,如图5所示,APP2调用的3个传感器的优先级高于APP1调用的3个传感器的优先级,即传感器1_2的优先级高于传感器4的优先级,传感器4的优先级高于传感器5的优先级,传感器5的优先级高于传感器2的优先级,传感器2的优先级高于传感器3的优先级。
步骤S124,服务器通过移动终端建立的至少一个第二传输通道,接收移动终端发送的至少一个第二传感器采集到的数据,其中,至少一个第二传输通道与至少一个第二传感器一一对应。
在一种可选的方案中,移动零终端可以根据第二传感器列表,建立与第二应用程序调用的传感器一一对应的传输通道,开启第二应用程序调用的所有传感器,并通过对应的传输通道上传传感器采集到的数据至云端服务器,从而第二应用程序获取到传感器采集到的数据。
例如,仍以用户启动APP1之后启动APP2为例进行详细说明。在接收到上行通道列表2之后,移动零终端可以建立三个上行通道,传感器1_2对应上行通道1,传感器4对应于上行通道4,传感器5对应于上行通道5,移动零终端可以通过上行通道1发送传感器1_1采集到的数据至云端服务器,通过上行通道4发送传感器4采集到的数据至云端服务器,并通过上行通道5上传传感器5采集到的数据至云端服务器。
可选地,在本发明上述实施例中,步骤S120,服务器根据第一传感器列表和第二传感器列表,生成传感器组列表,包括:
步骤S1202,服务器将每个第二传感器与至少一个第一传感器进行匹配。
步骤S1204,如果任意一个第二传感器与至少一个第一传感器匹配失败,则服务器将传感器组列表中至少一个第一传感器的优先级降低,并将任意一个第二传感器插入至传感器组列表的表头。
步骤S1206,如果任意一个第二传感器与任意一个第一传感器匹配成功,则服务器保留为任意一个第一传感器对应的第一传输通道分配的第一传输端口,且断开任意一个第一传感器对应的第一传输通道。
在一种可选的方案中,云端服务器在得到第一传感器列表和第二传感器列表之后,可以第一传感器列表和第二传感器列表进行比较,找到其中的相同项和不同项。如果一个第二传感器与所有的第一传感器均匹配失败,即该第二传感器与所有的第一传感器均不同,不存在冲突,为第一传感器列表和第二传感器列表的不同项,则可以保留第一传感器的当前状态,并将传感器组列表中的优先级依次降低,将该第二传感器插入至传感器组列表的表头。如果一个第二传感器与一个第一传感器匹配成功,即该第二传感器与该第一传感器相同,存在冲突,为第一传感器列表和第二传感器列表的相同项,可以确定第一应用程序和第二应用程序使用了相同的传感器,则云端服务器可以保留该第一传感器对应的第一传输通道的传输端口,但是,断开第一传输通道,即第一传感器释放当前传输通道控制权。
例如,仍以用户启动APP1为例进行详细说明。在得到APP1的上行通道列表1和APP2的上行通道列表2之后,如图2和图4所示,传感器1_1和传感器1_2为相同传感器,则可以将传感器1_2插入上行通道组列表的最前列,云端服务器可以保留传感器1_1对应的传输端口A,移动零终端可以保留传感器1_1对应的传输端口1,并且传感器1_1释放传输通道1的控制权;传感器4、传感器5和传感器2、传感器3为不同传感器,则可以降低传感器2和传感器3的优先级,并将传感器4、传感器5插入上行通道组列表的最前列,从而得到如图5所示的上行通道组列表。
可选地,在本发明上述实施例中,在步骤S122,服务器将传感器组列表发送至移动终端之前,该方法还包括:
步骤S126,服务器获取按照至少一个第二传感器的类型和数量,为至少一个第二传输通道分配对应的第二传输端口。
在一种可选的方案中,在获取到传感器组列表之后,为了保证移动零终端可以实时上传采集到的数据至云端服务器,云端服务器可以按照传感器组列表中的第二传感器的类型和数量,也即,根据第二传输通道的类型和数量开放相应数量的第二传输端口,通过该端口可以接收到对应的第二传感器上传的数据。移动零终端也可以按照传感器组列表中的第二传感器的类型和数量,也即,根据第二传输通道的类型和数量开放相应数量的第四传输端口,并建立第二传输端口和第四传输端口之间的连接,从而通过对应的第四传输端口上传第二传感器采集到的数据至云端服务器。
需要说明的是,如果第一传感器与第二传感器相同,则第一传感器对应的第二传输通道与第二传感器对应的第二传输通道相同;如果第一传感器与第二传感器不同,则第一传感器对应的第二传输通道与第二传感器对应的第二传输通道不同。
例如,仍以用户启动APP1之后启动APP2为例进行详细说明。云端服务器在获取到上行通道组列表之后,可以根据传感器1_2、传感器4和传感器5的类型,为上行通道1、上行通道4和上行通道5分配传输端口,为上行通道1分配传输端口D,为上行通道4分配传输端口E,为上行通道5分配传输端口F。移动零终端可以根据传感器1_2、传感器4和传感器5的类型,为上行通道1、上行通道4和上行通道5分配传输端口,为上行通道1分配传输端口4,为上行通道4分配传输端口5,为上行通道5分配传输端口6,并建立传输端口4与传输端口D的连接,即建立上行通道1;建立传输端口5与传输端口E的连接,即建立上行通道4;建立传输端口6与传输端口F的连接,即建立上行通道5。
可选地,在本发明上述实施例中,在步骤S1082,服务器通过移动终端建立的至少一个第一传输通道,接收移动终端发送的至少一个第一传感器采集到的数据之后,该方法还包括:
步骤S128,服务器接收移动终端发送的用于关闭第一应用程序的关闭指令。
在一种可选的方案中,当用户需要关闭第一应用程序APP,例如,当用户需要关闭微信时,用户可以通过对移动零终端进行触屏操作,移动零终端根据用户的触屏操作生成用于关闭第一应用程序的关闭指令,并将关闭指令发送至云端服务器。
例如,以用户关闭APP1为例进行详细说明。当用户需要关闭APP1时,用户可以在移动零终端的触屏上选择退出APP1,移动零终端生成启动APP1的关闭指令,并将关闭指令发送至云端服务器。
步骤S130,服务器关闭为至少一个第一传输通道分配的第一传输端口,并更新传感器组列表。
步骤S132,服务器存储至少一个第一传感器采集到的数据,并关闭第一应用程序。
在一种可选的方案中,在确定关闭第一应用程序之后,移动零终端可以关闭APP1调用的所有第一传感器,移动零终端关闭分配的第三传输端口,并释放上传通道资源。云端服务器在接收到关闭指令之后,可以关闭分配的第一传输端口,并刷刷新传感器组列表,第一应用程序保存所有传感器状态和数据,第一应用程序关闭,并释放云端服务器内存资源。
例如,仍以用户关闭APP1为例进行详细说明。移动零终端在发送关闭指令之后,可以关闭传感器1_1、传感器2和传感器3,并关闭传输端口1、传输端口2和传输端口3,释放上传通道资源。云端服务器在接收到关闭指令之后,可以关闭传输端口A、传输端口B和传输端口C,并刷新上传通道组列表,刷新后的上传通道组列表变为如图4所示的上行通道列表2,APP1保存传感器1_1、传感器2和传感器3状态和数据,APP1关闭,释放云端服务器内存资源。
可选地,在本发明上述实施例中,步骤S102,服务器接收移动终端发送的用于启动第一应用程序的第一启动指令或步骤S116,服务器接收移动终端发送的用于启动第二应用程序的第二启动指令,包括:
步骤S1022,服务器通过预设传输通道接收移动终端发送的第一启动指令或第二启动指令。
具体地,上述的预设传输通道可以是常驻型上传通道,移动零终端通过常驻型上传通道发送第一启动指令、第二启动指令和关闭指令。
可选地,在本发明上述实施例中,步骤S1082,服务器通过移动终端建立的至少一个第一传输通道,接收移动终端发送的至少一个第一传感器采集到的数据,包括:
步骤S10822,服务器依次接收至少一个第一传输通道传输的至少一个数据包。
步骤S10824,服务器对至少一个数据包进行解包处理,得到至少一个第一传感器采集到的数据。
在一种可选的方案中,在仅开启第一应用程序的情况下,移动零终端可以按照第一传感器列表,将第一传感器采集到的数据按照优先级顺序依次打包,得到打包后的数据包,并将数据包通过对应的第一传输通道上传至云端服务器。
在另一种可选的方案中,在开启第一应用程序之后开启第二应用程序的情况下,移动零终端可以按照传感器组列表,将第二传感器和第一传感器采集到的数据依次打包,并将打包后的数据包上传至云端服务器。
例如,仍以用户启动APP1为例进行详细说明。移动零终端可以按照上行通道列表1,先将传感器1_1采集到的数据进行打包,并将数据包上传至云端服务器,然后将传感器2采集到的数据进行打包,并将数据包上传至云端服务器,最后将传感器3采集到的数据进行打包,并将数据包上传至云端服务器。
可选地,在本发明上述实施例中,第一启动指令包括:第一位置信息,第二启动指令包括:第二位置信息,在步骤S104,服务器启动第一应用程序或步骤S118,服务器启动第二应用程序之前,该方法还包括:
步骤S134,服务器根据第一位置信息,确定第一应用程序,或根据第二位置信息,确定第二应用程序。
步骤S136,服务器启动第一应用程序或第二应用程序。
在一种可选的方案中,当用户需要启动第一应用程序,例如,当用户需要开启微信时,用户可以通过对移动零终端进行触屏操作,移动零终端获取触屏操作的位置信息,根据位置信息生成用于启动第一应用程序的第一启动指令,并将第一启动指令发送至云端服务器。云端服务器在接收到第一启动指令之后,可以按照触屏操作的位置信息,辨识出要启动的第一应用程序,并启动对应的第一应用程序。
需要说明的是,第二应用程序的启动方式与第一应用程序的启动方式相同。
图6是根据本发明实施例的一种可选的启动应用程序的流程图,图7是根据本发明实施例的一种可选的切换应用程序的流程图,图8是根据本发明实施例的一种可选的关闭应用程序的流程图,下面结合图6至图8对本发明一种优选的实施例进行详细说明,如图6所示,启动应用程序的方法包括如下步骤:
步骤S61,云端启动APP。
可选地,终端触屏将用户启用APP的指令通过常驻型上行通道传递至云端服务器,云端服务器按照触屏位置辨识出要启动的APP程序,服务器启动对应的APP应用。
步骤S62,开启传感器通道端口。
可选地,服务器从APP程序获取上行通道列表,并按照列表中的上行通道种类和数目开放通道端口。
步骤S63,云端传递上传通道列表至终端。
可选地,服务器将上行通道列表传递至终端的上行通道列表,终端更新本地上行通道列表。
步骤S64,终端与云端建立上行通道。
可选地,终端按照列表与服务器建立符合上行通道列表定义的上行通道簇,即,每个传感器建立一个上行通道。
步骤S65,终端开启传感器,按列表优先级上传传感器数据。
可选地,上行通道建立,终端开启传感器,按照上行通道列表,将各传感器数据按照通道的优先级逐次打包,发送给云端服务器。
如图7所示,切换应用程序的方法包括如下步骤:
步骤S71,云端APP切换。
可选地,当前终端在执行APP1,用户需要临时开启APP2,云端启动APP切换操作。
步骤S72,比较上行通道列表。
可选地,服务器对比新启动的APP2与即将后台运行的APP1程序的上行通道列表,发现其中的相同项和不同项。如果发现相同项,则进入步骤S73;如果发现不同项,则进入步骤S74。
步骤S73,关闭通道,保留端口。
可选地,发现其中的相同项,即两个APP应用使用了相同的传感器。后台运行APP2保留端口开放状态,释放当前通道控制权。
步骤S74,更新上行通道组列表。
可选地,发现其中的不同项,将后台运行APP2上行通道列表在服务器维护的上行通道组列表内降低优先级。新启动的APP1上行通道插入到上行通道组列表的最前列,完成对服务器上行通道组列表更新。
步骤S75,开启传感器通道端口。
可选地,在服务器为APP2上行通道分配端口号。
步骤S76,云端传递上行通道列表至终端。
可选地,将服务器上行通道组列表发送给终端。
步骤S77,终端与云端建立上行通道。
可选地,终端按照列表与服务器建立通道。
步骤S78,终端开启传感器,按列表优先级上传传感器数据。
可选地,终端开启对应传感器,按照列表通道传递数据给服务器。
如图8所示,关闭应用程序的方法包括如下步骤:
步骤S81,云端APP关闭。
可选地,云端APP接到终端关闭的指令。
步骤S82,终端关闭传感器。
步骤S83,终端关闭端口,释放上行通道。
步骤S84,云端关闭通道端口。
可选地,云端关闭APP上传通道端口,刷新终端上行通道组列表的内容。
步骤S85,APP保存传感器状态和数据,APP关闭。
可选地,APP保存传感器状态和数据,APP关闭,释放云端内存资源。
通过上述方法,可以实现移动终端的传感器采集到的数据同步上传服务器,达到保证移动终端的应用体验最佳的效果。
需要说明的是,本发明实施例的应用场景并不仅仅局限于触摸屏的基本办公应用。
实施例2
根据本发明实施例,提供了一种传感器数据的处理方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图9是根据本发明实施例的另一种传感器数据的处理方法的流程图,如图9所示,该方法包括如下步骤:
步骤S902,移动终端发送用于启动第一应用程序的第一启动指令至服务器。
具体地,上述的服务器可以是云端服务器,上述的移动终端可以是移动零终端,包括屏幕、外接存储接口、按键、传感器、接收侧屏幕会话管理模块、电池电源管理模块、移动通信模块等,主要完成接收来自云端服务器的屏幕显示图像,发送本地传感器、按键和外接存储会话信息至云端服务器,从而实现应用虚拟化。
在一种可选的方案中,当用户需要启动第一应用程序APP,例如,当用户需要开启微信时,用户可以通过对移动零终端进行触屏操作,移动零终端根据用户的触屏操作生成用于启动第一应用程序的第一启动指令,并将第一启动指令发送至云端服务器。
例如,以用户启动APP1为例进行详细说明。当用户需要启动APP1时,用户可以在移动零终端的触屏上选择APP1对应的图标,移动零终端生成启动APP1的启动指令1,并将启动指令1发送至云端服务器。
步骤S904,在第一应用程序启动之后,移动终端接收服务器返回的第一应用程序对应的第一传感器列表,其中,第一传感器列表至少包括:第一应用程序调用的至少一个第一传感器。
具体地,终端在执行APP的过程中,可以调用一个或多个传感器,例如,微信(Wechat)对应的传感器可以包括但不限于:摄像头、麦克风、触摸屏、按键、GPS等传感器;上述的第一传感器列表可以是第一应用程序的上行通道列表。
步骤S906,移动终端按照第一传感器列表与服务器建立至少一个第一传输通道,其中,至少一个第一传输通道与至少一个第一传感器一一对应。
在一种可选的方案中,在接收到移动零终端发送的第一启动指令之后,云端服务器可以启动第一应用程序,并获取第一应用程序在执行过程中需要调用的至少一个第一传感器,根据至少一个第一传感器的传感器编号或者传感器名称,生成第一传感器列表,并将第一传感器列表返回至移动零终端。
例如,仍以用户启动APP1为例进行详细说明。云端服务器在接收到启动指令1之后,可以启动APP1,并确定APP1调用的3个传感器,如图2所示,APP1调用传感器1_1、传感器2和传感器3,生成APP1的上行通道列表1,并将上行通道列表1返回至移动零终端。
步骤S908,移动终端通过至少一个第一传输通道将至少一个第一传感器采集到的数据传输至服务器。
具体地,上述的第一传输通道可以是用于传输至少一个第一传感器采集到的数据的上行通道,移动零终端可以为每个第一传感器建立一个对应的上行通道。
在一种可选的方案中,移动零终端可以根据第一传感器列表,建立与第一应用程序调用的传感器一一对应的传输通道,开启第一应用程序调用的所有传感器,并通过对应的传输通道上传传感器采集到的数据至云端服务器,从而第一应用程序获取到传感器采集到的数据。
例如,仍以用户启动APP1为例进行详细说明。在接收到上行通道列表1之后,移动零终端可以建立三个上行通道,传感器1_1对应上行通道1,传感器2对应于上行通道2,传感器3对应于上行通道3,移动零终端可以通过上行通道1发送传感器1_1采集到的数据至云端服务器,通过上行通道2发送传感器2采集到的数据至云端服务器,并通过上行通道3上传传感器3采集到的数据至云端服务器。
根据本发明上述实施例,移动终端发送用于启动第一应用程序的第一启动指令至服务器,在第一应用程序启动之后,接收服务器返回的第一应用程序对应的第一传感器列表,按照第一传感器列表与服务器建立至少一个第一传输通道,通过至少一个第一传输通道将至少一个第一传感器采集到的数据传输至服务器,从而实现移动终端的传感器采集到的数据同步上传服务器,达到保证移动终端的应用体验最佳的效果,进而解决了现有技术中移动终端应用虚拟化无法实现传感器数据上传至服务器,导致用户体验感差技术问题。
可选地,在本发明上述实施例中,第一传感器列表还包括:至少一个第一传感器的优先级信息,其中,步骤S908,移动终端通过至少一个第一传输通道将至少一个第一传感器采集到的数据传输至服务器,包括:
步骤S9082,移动终端按照至少一个第一传感器的优先级信息,通过至少一个第一传输通道将至少一个第一传感器采集到的数据传输至服务器。
具体地,移动零终端中使用的各类传感器分为三类。第一类为常驻型传感器,此类传感器需要时刻与云端APP应用保持上行通道的连接,属于系统级应用APP,直接关系到用户的体验与操作,具有实时性,如,触摸屏,按键等。第二类为应用触发型传感器,此类传感器在应用APP开启后才与该传感器建立上行通道的连接,如,摄像头,麦克风,GPS,重力加速度,陀螺仪等。第三类为状态变化型传感器,此类传感器对应的状态变化不快,用户体验中不强调实时性,只有其状态发生变化时,才上报云端APP应用进行显示数据的同步,如,电源状态,计步器等。按照上述分类,如图3所示,常驻型传感器的优先级最高,处于整个传感器列表最前列,一旦产生数据,即刻通过建立的常连接通道将数据同步至云端;应用触发型传感器的优先级次之,处于整个传感器列表的中间,正常情况下处于关闭或者不上传数据的状态,当对应的云端APP开启后,对应的终端的传感器才开启或者建立上行通道同步数据至云端服务器;状态变化型传感器优先级最低,处于整个传感器列表的末端,正常情况下处于关闭或者不上传数据的状态,只有其状态发生变化后,传感器才建立上行通道同步数据至云端,一次上报完毕并得到确认后,即刻释放上行通道资源,待下次状态变化后再次上报。为了保证不同传感器上传数据的同步性,APP的上行通道列表中不仅仅包含APP调用的所有传感器的名称,还可以包含每个传感器的优先级信息,也即,上行通道列表为上行通道优先级列表,其中,可以通过列表中传感器位置先后顺序表明传感器的优先级的高低。例如,如图2所示,APP1可以调用3个传感器,即传感器1_1、传感器2和传感器3,其中,传感器1_1的优先级高于传感器2的优先级,传感器2的优先级高于传感器3的优先级。
可选地,在本发明上述实施例中,第一应用程序为服务器上安装的多个应用程序中的任意一个,其中,每个应用程序对应的传感器列表为服务器根据每个应用程序调用的传感器的类型和数量所建立的,其中,类型包括:常驻型传感器、应用触发型传感器和状态变化型传感器。
具体地,在云端服务器上安装有海量的APP应用,每个APP调用的传感器种类和数量均差异,为保证终端传感器上传数据的同步性,服务器可以预先为云端服务器上安装的每个APP设置一个上行通道列表,列表中包含每个APP调用的所有传感器的名称和每个传感器的优先级信息;云端服务器可以依据每个APP调用的传感器种类和数量提供传感器列表和对应列表内的优先级顺序,即提供上行通道列表。并且,云端服务器可以根据用户的操作,动态更新属于该用户的APP上行通道列表,以保证终端的应用体验最佳。
例如,仍以用户启动APP1为例进行详细说明。云端服务器确定APP1调用传感器1_1、传感器2和传感器3,获取传感器1_1的类型为常驻型传感器,传感器2的类型为应用触发型传感器,传感器3的类型为状态变化型传感器,因此,生成APP1的上行通道列表1,传感器1_1的优先级高于传感器2的优先级,传感器2的优先级高于传感器3的优先级。
可选地,在本发明上述实施例中,步骤S906,移动终端按照第一传感器列表与服务器建立至少一个第一传输通道,包括:
步骤S9062,移动终端按照至少一个第一传感器的类型和数量,为至少一个第一传输通道分配对应的第三传输端口。
步骤S9064,移动终端建立第三传输端口与第一传输端口之间的连接,其中,第一传输端口为服务器按照至少一个第一传感器的类型和数量,为至少一个第一传输通道分配对应的端口。
具体地,由于第一传输通道与第一传感器一一对应,因此,第一传输通道的类型和数量与第一传感器的类型和数量相同。
在一种可选的方案中,在获取到第一应用程序的第一传感器列表之后,为了保证移动零终端可以实时上传采集到的数据至云端服务器,云端服务器可以按照第一传感器列表中的第一传感器的类型和数量,也即,根据第一传输通道的类型和数量开放相应数量的第一传输端口,通过该端口可以接收到对应的第一传感器上传的数据。移动零终端也可以按照第一传感器列表中的第一传感器的类型和数量,也即,根据第一传输通道的类型和数量开放相应数量的第三传输端口,并建立第一传输端口和第三传输端口之间的连接,从而通过对应的第三传输端口上传第一传感器采集到的数据至云端服务器。
例如,仍以用户启动APP1为例进行详细说明。云端服务器在获取到上行通道列表1之后,可以根据传感器1_1、传感器2和传感器3的类型,为上行通道1、上行通道2和上行通道3分配传输端口,为上行通道1分配传输端口A,为上行通道2分配传输端口B,为上行通道3分配传输端口C。移动零终端可以根据传感器1_1、传感器2和传感器3的类型,为上行通道1、上行通道2和上行通道3分配传输端口,为上行通道1分配传输端口1,为上行通道2分配传输端口2,为上行通道3分配传输端口3,并建立传输端口1与传输端口A的连接,即建立上行通道1;建立传输端口2与传输端口B的连接,即建立上行通道2;建立传输端口3与传输端口C的连接,即建立上行通道3。
可选地,在本发明上述实施例中,在步骤S904,第一应用程序启动之后,该方法还包括:
步骤S910,移动终端发送用于启动第二应用程序的第二启动指令至服务器。
在一种可选的方案中,在移动零终端执行第一应用程序的过程中,用户可能会切换第二应用程序,用户可以通过对移动零终端进行触屏操作,临时开启第二应用程序,例如,当用户需要开启百度地图时,移动零终端根据用户的触屏操作生成用于启动第二应用程序的第二启动指令,并将第二启动指令发送至云端服务器。云端服务器启动应用程序切换操作,此时,第二应用程序切换为前台运行,第一应用程序切换为后台运行。
例如,以用户启动APP1之后启动APP2为例进行详细说明。当移动零终端在执行APP1的过程中,用户需要启动APP2时,用户可以在移动零终端的触屏上选择APP2对应的图标,移动零终端生成启动APP2的启动指令2,并将启动指令2发送至云端服务器,云端服务器启动APP切换操作,APP1切换为前台运行,APP2切换为后台运行。
步骤S912,在第二应用程序启动之后,移动终端接收服务器返回的传感器组列表,其中,传感器组列表为服务器根据第一传感器列表和第二应用程序对应的第二传感器列表生成的,第二传感器列表至少包括:第二应用程序调用的至少一个第二传感器,以及至少一个第二传感器的优先级信息,传感器组列表包括:至少一个第一传感器和至少一个第二传感器,以及至少一个第一传感器和至少一个第二传感器的优先级信息,至少一个第二传感器的优先级高于至少一个第一传感器的优先级。
具体地,由于第二应用程序为前台运行,第一应用程序为后台运行,新开启的第二应用程序的传感器列表则处于整个传感器组列表的最前列,需要说明的是,在第一应用程序从后台运行切换为前台运行之后,转至前台运行的第一应用程序的传感器列表则处于整个传感器组列表的最前列。
在一种可选的方案中,在接收到移动零终端发送的第二启动指令之后,云端服务器可以启动第二应用程序,并获取第二应用程序在执行过程中需要调用的至少一个第二传感器,根据至少一个第二传感器的传感器编号或者传感器名称,以及至少一个第二传感器的优先级信息,生成第二传感器列表,并将第一传感器列表和第二传感器列表进行组合,得到传感器组列表,也即上行通道组列表,并将上行通道组列表返回至移动零终端。
例如,仍以用户启动APP1之后启动APP2为例进行详细说明。云端服务器在接收到启动指令2之后,可以启动APP2,并确定APP2调用的3个传感器,如图4所示,APP2调用传感器1_2、传感器4和传感器5,生成APP2的上行通道列表2,其中,传感器1_2的优先级高于传感器4的优先级,传感器4的优先级高于传感器5的优先级,然后将上行通道列表1和上行通道列表2进行组合,得到上行通道组列表,如图5所示,APP2调用的3个传感器的优先级高于APP1调用的3个传感器的优先级,即传感器1_2的优先级高于传感器4的优先级,传感器4的优先级高于传感器5的优先级,传感器5的优先级高于传感器2的优先级,传感器2的优先级高于传感器3的优先级。
步骤S914,移动终端按照传感器组列表与服务器建立至少一个第二传输通道,其中,至少一个第二传输通道与至少一个第二传感器一一对应。
步骤S916,移动终端按照至少一个第二传感器的优先级信息,通过至少一个第二传输通道将至少一个第二传感器采集到的数据传输至服务器。
在一种可选的方案中,移动零终端可以根据第二传感器列表,建立与第二应用程序调用的传感器一一对应的传输通道,开启第二应用程序调用的所有传感器,并通过对应的传输通道上传传感器采集到的数据至云端服务器,从而第二应用程序获取到传感器采集到的数据。
例如,仍以用户启动APP1之后启动APP2为例进行详细说明。在接收到上行通道列表2之后,移动零终端可以建立三个上行通道,传感器1_2对应上行通道1,传感器4对应于上行通道4,传感器5对应于上行通道5,移动零终端可以通过上行通道1发送传感器1_1采集到的数据至云端服务器,通过上行通道4发送传感器4采集到的数据至云端服务器,并通过上行通道5上传传感器5采集到的数据至云端服务器。
可选地,在本发明上述实施例中,步骤S914,移动终端按照传感器组列表与服务器建立至少一个第二传输通道,包括:
步骤S9142,移动终端按照至少一个第二传感器的类型和数量,为至少一个第二传输通道分配对应的第四传输端口。
步骤S9144,移动终端建立第四传输端口与第二传输端口之间的连接,其中,第二传输端口为服务器按照至少一个第二传感器的类型和数量,为至少一个第二传输通道分配对应的端口。
步骤S9146,移动终端将每个第二传感器与至少一个第一传感器进行匹配。
步骤S9148,如果任意一个第二传感器与任意一个第一传感器匹配成功,则移动终端保留为任意一个第一传感器对应的第一传输通道分配的第三传输端口,且断开任意一个第一传感器对应的第一传输通道。
在一种可选的方案中,云端服务器在得到第一传感器列表和第二传感器列表之后,可以第一传感器列表和第二传感器列表进行比较,找到其中的相同项和不同项。如果一个第二传感器与所有的第一传感器均匹配失败,即该第二传感器与所有的第一传感器均不同,不存在冲突,为第一传感器列表和第二传感器列表的不同项,则可以保留第一传感器的当前状态,并将传感器组列表中的优先级依次降低,将该第二传感器插入至传感器组列表的表头。如果一个第二传感器与一个第一传感器匹配成功,即该第二传感器与该第一传感器相同,存在冲突,为第一传感器列表和第二传感器列表的相同项,可以确定第一应用程序和第二应用程序使用了相同的传感器,则云端服务器可以保留该第一传感器对应的第一传输通道的传输端口,但是,断开第一传输通道,即第一传感器释放当前传输通道控制权。
例如,仍以用户启动APP1为例进行详细说明。在得到APP1的上行通道列表1和APP2的上行通道列表2之后,如图2和图4所示,传感器1_1和传感器1_2为相同传感器,则可以将传感器1_2插入上行通道组列表的最前列,云端服务器可以保留传感器1_1对应的传输端口A,移动零终端可以保留传感器1_1对应的传输端口1,并且传感器1_1释放传输通道1的控制权;传感器4、传感器5和传感器2、传感器3为不同传感器,则可以降低传感器2和传感器3的优先级,并将传感器4、传感器5插入上行通道组列表的最前列,从而得到如图5所示的上行通道组列表。
可选地,在本发明上述实施例中,在至少一个第二传输通道出现拥塞的情况下,在步骤S916,移动终端按照至少一个第二传感器的优先级信息,通过至少一个第二传输通道将至少一个第二传感器采集到的数据传输至服务器之前,该方法还包括:
步骤S918,移动终端按照传感器组列表,获取最低优先级对应的传感器。
步骤S920,移动终端丢弃最低优先级对应的传感器采集到的数据。
在一种可选的方案中,当移动零终端通多第二传输通道传输第二传感器采集到的数据的过程中,如果第二传输通道出现拥塞,则移动零终端可以丢弃优先级最低的传感器采集到的数据,直至第二传输通道恢复正常。
例如,仍以用户启动APP1为例进行详细说明。当传输通道1、传输通道4和传输通道5出现拥塞时,移动零终端可以丢弃优先级最低的传感器采集到的数据,例如丢弃传感器2和传感器3采集到的数据,甚至丢弃传感器5采集到的数据。
可选地,在本发明上述实施例中,在步骤S9082,移动终端按照至少一个第一传感器的优先级信息,通过至少一个第一传输通道将至少一个第一传感器采集到的数据传输至服务器之后,该方法还包括:
步骤S922,移动终端发送用于关闭第一应用程序的关闭指令至服务器。
在一种可选的方案中,当用户需要关闭第一应用程序APP,例如,当用户需要关闭微信时,用户可以通过对移动零终端进行触屏操作,移动零终端根据用户的触屏操作生成用于关闭第一应用程序的关闭指令,并将关闭指令发送至云端服务器。
例如,以用户关闭APP1为例进行详细说明。当用户需要关闭APP1时,用户可以在移动零终端的触屏上选择退出APP1,移动零终端生成启动APP1的关闭指令,并将关闭指令发送至云端服务器。
步骤S924,移动终端关闭为至少一个第一传输通道分配的第三传输端口。
在一种可选的方案中,在确定关闭第一应用程序之后,移动零终端可以关闭APP1调用的所有第一传感器,移动零终端关闭分配的第三传输端口,并释放上传通道资源。云端服务器在接收到关闭指令之后,可以关闭分配的第一传输端口,并刷刷新传感器组列表,第一应用程序保存所有传感器状态和数据,第一应用程序关闭,并释放云端服务器内存资源。
例如,仍以用户关闭APP1为例进行详细说明。移动零终端在发送关闭指令之后,可以关闭传感器1_1、传感器2和传感器3,并关闭传输端口1、传输端口2和传输端口3,释放上传通道资源。云端服务器在接收到关闭指令之后,可以关闭传输端口A、传输端口B和传输端口C,并刷新上传通道组列表,刷新后的上传通道组列表变为如图4所示的上行通道列表2,APP1保存传感器1_1、传感器2和传感器3状态和数据,APP1关闭,释放云端服务器内存资源。
可选地,在本发明上述实施例中,步骤S902,移动终端发送用于启动第一应用程序的第一启动指令至服务器或步骤S910,移动终端发送用于启动第二应用程序的第二启动指令至服务器,包括:
步骤S902,移动终端通过预设传输通道发送第一启动指令或第二启动指令至服务器。
具体地,上述的预设传输通道可以是常驻型上传通道,移动零终端通过常驻型上传通道发送第一启动指令、第二启动指令和关闭指令。
可选地,在本发明上述实施例中,步骤S9082,移动终端按照至少一个第一传感器的优先级信息,通过至少一个第一传输通道将至少一个第一传感器采集到的数据传输至服务器,包括:
步骤S90822,移动终端获取至少一个第一传感器采集到的数据。
步骤S90824,移动终端按照至少一个第一传感器的优先级信息,依次对至少一个第一传感器采集到的数据进行打包处理,得到至少一个数据包。
步骤S90826,移动终端依次将每个数据包通过对应的传输通道传输至服务器。
在一种可选的方案中,在仅开启第一应用程序的情况下,移动零终端可以按照第一传感器列表,将第一传感器采集到的数据按照优先级顺序依次打包,得到打包后的数据包,并将数据包通过对应的第一传输通道上传至云端服务器。
在另一种可选的方案中,在开启第一应用程序之后开启第二应用程序的情况下,移动零终端可以按照传感器组列表,将第二传感器和第一传感器采集到的数据依次打包,并将打包后的数据包上传至云端服务器。
例如,仍以用户启动APP1为例进行详细说明。移动零终端可以按照上行通道列表1,先将传感器1_1采集到的数据进行打包,并将数据包上传至云端服务器,然后将传感器2采集到的数据进行打包,并将数据包上传至云端服务器,最后将传感器3采集到的数据进行打包,并将数据包上传至云端服务器。
可选地,在本发明上述实施例中,第一启动指令包括:第一位置信息,第二启动指令包括:第二位置信息。
在一种可选的方案中,当用户需要启动第一应用程序,例如,当用户需要开启微信时,用户可以通过对移动零终端进行触屏操作,移动零终端获取触屏操作的位置信息,根据位置信息生成用于启动第一应用程序的第一启动指令,并将第一启动指令发送至云端服务器。云端服务器在接收到第一启动指令之后,可以按照触屏操作的位置信息,辨识出要启动的第一应用程序,并启动对应的第一应用程序。
需要说明的是,第二应用程序的启动方式与第一应用程序的启动方式相同。
实施例3
根据本发明实施例,提供了一种传感器数据的处理系统的实施例。
图10是根据本发明实施例的一种传感器数据的处理系统的示意图,如图10所示,该系统包括:移动终端101和服务器103。
其中,移动终端101用于发送用于启动第一应用程序的第一启动指令;服务器103与移动终端连接,用于启动第一应用程序,并发送第一应用程序对应的第一传感器列表,其中,第一传感器列表至少包括:第一应用程序调用的至少一个第一传感器;移动终端还用于按照第一传感器列表发送至少一个第一传感器采集到的数据。
具体地,上述的服务器可以是云端服务器,上述的移动终端可以是移动零终端,包括屏幕、外接存储接口、按键、传感器、接收侧屏幕会话管理模块、电池电源管理模块、移动通信模块等,主要完成接收来自云端服务器的屏幕显示图像,发送本地传感器、按键和外接存储会话信息至云端服务器,从而实现应用虚拟化;终端在执行APP的过程中,可以调用一个或多个传感器,例如,微信(Wechat)对应的传感器可以包括但不限于:摄像头、麦克风、触摸屏、按键、GPS等传感器;上述的第一传感器列表可以是第一应用程序的上行通道列表;上述的第一传输通道可以是用于传输至少一个第一传感器采集到的数据的上行通道,移动零终端可以为每个第一传感器建立一个对应的上行通道。
在一种可选的方案中,当用户需要启动第一应用程序APP,例如,当用户需要开启微信时,用户可以通过对移动零终端进行触屏操作,移动零终端根据用户的触屏操作生成用于启动第一应用程序的第一启动指令,并将第一启动指令发送至云端服务器。在接收到移动零终端发送的第一启动指令之后,云端服务器可以启动第一应用程序,并获取第一应用程序在执行过程中需要调用的至少一个第一传感器,根据至少一个第一传感器的传感器编号或者传感器名称,生成第一传感器列表,并将第一传感器列表返回至移动零终端。移动零终端可以根据第一传感器列表,建立与第一应用程序调用的传感器一一对应的传输通道,开启第一应用程序调用的所有传感器,并通过对应的传输通道上传传感器采集到的数据至云端服务器,从而第一应用程序获取到传感器采集到的数据。
例如,以用户启动APP1为例进行详细说明。当用户需要启动APP1时,用户可以在移动零终端的触屏上选择APP1对应的图标,移动零终端生成启动APP1的启动指令1,并将启动指令1发送至云端服务器。云端服务器在接收到启动指令1之后,可以启动APP1,并确定APP1调用的3个传感器,如图2所示,APP1调用传感器1_1、传感器2和传感器3,生成APP1的上行通道列表1,并将上行通道列表1返回至移动零终端。在接收到上行通道列表1之后,移动零终端可以建立三个上行通道,传感器1_1对应上行通道1,传感器2对应于上行通道2,传感器3对应于上行通道3,移动零终端可以通过上行通道1发送传感器1_1采集到的数据至云端服务器,通过上行通道2发送传感器2采集到的数据至云端服务器,并通过上行通道3上传传感器3采集到的数据至云端服务器。
根据本发明上述实施例,移动终端发送用于启动第一应用程序的第一启动指令,服务器启动第一应用程序,并发送第一应用程序对应的第一传感器列表,移动终端按照第一传感器列表发送至少一个第一传感器采集到的数据,从而实现移动终端的传感器采集到的数据同步上传服务器,达到保证移动终端的应用体验最佳的效果,进而解决了现有技术中移动终端应用虚拟化无法实现传感器数据上传至服务器,导致用户体验感差技术问题。
可选地,在本发明上述实施例中,第一传感器列表还包括:至少一个第一传感器的优先级信息,移动终端还用于按照至少一个第一传感器与服务器建立至少一个第一传输通道,并按照至少一个第一传感器的优先级信息,通过至少一个第一传输通道发送至少一个第一传感器采集到的数据,其中,至少一个第一传输通道与至少一个第一传感器一一对应。
具体地,移动零终端中使用的各类传感器分为三类。第一类为常驻型传感器,此类传感器需要时刻与云端APP应用保持上行通道的连接,属于系统级应用APP,直接关系到用户的体验与操作,具有实时性,如,触摸屏,按键等。第二类为应用触发型传感器,此类传感器在应用APP开启后才与该传感器建立上行通道的连接,如,摄像头,麦克风,GPS,重力加速度,陀螺仪等。第三类为状态变化型传感器,此类传感器对应的状态变化不快,用户体验中不强调实时性,只有其状态发生变化时,才上报云端APP应用进行显示数据的同步,如,电源状态,计步器等。按照上述分类,如图3所示,常驻型传感器的优先级最高,处于整个传感器列表最前列,一旦产生数据,即刻通过建立的常连接通道将数据同步至云端;应用触发型传感器的优先级次之,处于整个传感器列表的中间,正常情况下处于关闭或者不上传数据的状态,当对应的云端APP开启后,对应的终端的传感器才开启或者建立上行通道同步数据至云端服务器;状态变化型传感器优先级最低,处于整个传感器列表的末端,正常情况下处于关闭或者不上传数据的状态,只有其状态发生变化后,传感器才建立上行通道同步数据至云端,一次上报完毕并得到确认后,即刻释放上行通道资源,待下次状态变化后再次上报。为了保证不同传感器上传数据的同步性,APP的上行通道列表中不仅仅包含APP调用的所有传感器的名称,还可以包含每个传感器的优先级信息,也即,上行通道列表为上行通道传感器列表,其中,可以通过列表中传感器位置先后顺序表明传感器的优先级的高低。例如,如图2所示,APP1可以调用3个传感器,即传感器1_1、传感器2和传感器3,其中,传感器1_1的优先级高于传感器2的优先级,传感器2的优先级高于传感器3的优先级。
可选地,在本发明上述实施例中,第一应用程序为服务器上安装的多个应用程序中的任意一个,其中,服务器还用于每个应用程序调用的传感器的类型和数量,并根据每个应用程序调用的传感器的类型和数量,建立每个应用程序对应的传感器列表,其中,类型包括:常驻型传感器、应用触发型传感器和状态变化型传感器。
可选地,在本发明上述实施例中,服务器还用于获取按照至少一个第一传感器的类型和数量,为至少一个第一传输通道分配对应的第一传输端口;移动终端还用于按照至少一个第一传感器的类型和数量,为至少一个第一传输通道分配对应的第三传输端口,建立第三传输端口与第一传输端口之间的连接。
可选地,在本发明上述实施例中,移动终端还用于发送用于启动第二应用程序的第二启动指令;服务器还用于启动第二应用程序,获取第二应用程序对应的第二传感器列表,并根据第一传感器列表和第二传感器列表,生成传感器组列表,其中,第二传感器列表至少包括:第二应用程序调用的至少一个第二传感器,以及至少一个第二传感器的优先级信息,传感器组列表包括:至少一个第一传感器和至少一个第二传感器,以及至少一个第一传感器和至少一个第二传感器的优先级信息,至少一个第二传感器的优先级高于至少一个第一传感器的优先级;移动终端还用于按照传感器组列表与服务器建立至少一个第二传输通道,并按照至少一个第二传感器的优先级信息,通过至少一个第二传输通道将至少一个第二传感器采集到的数据传输至服务器,其中,至少一个第二传输通道与至少一个第二传感器一一对应。
可选地,在本发明上述实施例中,服务器还用于将每个第二传感器与至少一个第一传感器进行匹配,如果任意一个第二传感器与至少一个第一传感器匹配失败,则将传感器组列表中至少一个第一传感器的优先级降低,并将任意一个第二传感器插入至传感器组列表的表头,如果任意一个第二传感器与任意一个第一传感器匹配成功,则保留为任意一个第一传感器对应的第一传输通道分配的第一传输端口,且断开任意一个第一传感器对应的第一传输通道;移动终端还用于按照至少一个第二传感器的类型和数量,为至少一个第二传输通道分配对应的第四传输端口,并将每个第二传感器与至少一个第一传感器进行匹配,如果任意一个第二传感器与任意一个第一传感器匹配成功,则保留为任意一个第一传感器对应的第一传输通道分配的第三传输端口,且断开任意一个第一传感器对应的第一传输通道。
可选地,在本发明上述实施例中,服务器还用于获取按照至少一个第二传感器的类型和数量,为至少一个第二传输通道分配对应的第二传输端口。
可选地,在本发明上述实施例中,移动终端还用于在至少一个第二传输通道出现拥塞的情况下,按照传感器组列表,获取最低优先级对应的传感器,并丢弃最低优先级对应的传感器采集到的数据。
可选地,在本发明上述实施例中,移动终端还用于发送用于关闭第一应用程序的关闭指令,并关闭为至少一个第一传输通道分配的第三传输端口;服务器还用于关闭为至少一个第一传输通道分配的第一传输端口,并更新传感器组列表,存储至少一个第一传感器采集到的数据,并关闭第一应用程序。
可选地,在本发明上述实施例中,移动终端还用于通过预设传输通道发送第一启动指令或第二启动指令;服务器还用于通过预设传输通道接收第一启动指令或第二启动指令。
可选地,在本发明上述实施例中,移动终端还用于获取至少一个第一传感器采集到的数据,按照至少一个第一传感器的优先级信息,依次对至少一个第一传感器采集到的数据进行打包处理,得到至少一个数据包,并依次通过对应的传输通道发送每个数据包;服务器还用于对至少一个数据包进行解包处理,得到至少一个第一传感器采集到的数据。
可选地,在本发明上述实施例中,第一启动指令包括:第一位置信息,第二启动指令包括:第二位置信息,其中,服务器还用于根据第一位置信息,确定第一应用程序,或根据第二位置信息,确定第二应用程序,并启动第一应用程序或第二应用程序。
实施例4
根据本发明实施例,提供了一种存储介质的实施例,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述实施例1和2中的传感器数据的处理方法。
实施例5
根据本发明实施例,提供了一种处理器的实施例,处理器用于运行程序,其中,程序运行时执行上述实施例1和2中的传感器数据的处理方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。