云手机的传感器数据输入方法和服务器
技术领域
本发明涉及网络技术领域,特别涉及一种云手机的传感器数据输入方法和服务器。
背景技术
云手机,是一个基于云计算强大虚拟应用和移动互联网的智能手机应用云平台。基于云计算在大规模计算、强大的存储能力、虚拟化应用等方面突出的优势,云平台为智能手机用户提供多元化、全方位的虚拟手机应用和服务,全面支持各种手机应用程序的展示、下载、应用与管理服务,并卓越实现全天候云端智能托管应用,让用户脱离移动终端的状态下,也能将各种应用程序托管到到云端,保持全天候在线状态,全面实现智能手机应用虚拟化。
当前热门游戏为了保证显示效果和游戏体验,会要求设备配置越来越高,这种情况下对于一些使用低端手机的用户来说,则会出现无法体验这些热门游戏或者体验热门游戏时感受不好的问题。对于使用低端手机安装云手机的客户端的云手机用户来说,同样存在无法利用云手机体验到高配置热门游戏的问题。
发明内容
本发明的实施方式旨在至少解决现有技术中存在的技术问题之一。为此,本发明的实施方式需要提供一种云手机的传感器数据输入方法和服务器。
本发明实施方式的云手机的传感器数据输入方法,其特征在于,包括:
步骤1,初始化云手机传感器驱动的节点信息;
步骤2,发送数据写入请求到客户端告知传感器需要进行数据写入;
步骤3,通过控制服务接收客户端根据数据写入请求从客户端所在真实手机上采集的传感器数据;
步骤4,由控制服务将传感器数据转发至云手机;
步骤5,由云手机对接收到的传感器数据进行组包处理生成组包数据;
步骤6,由云手机将组包数据写入对应的传感器驱动。
一种实施方式中,步骤2包括:
以消息通知的方式侦听云手机传感器驱动,确定传感器需要开启后则发送数据写入请求到客户端告知传感器需要进行数据写入。
一种实施方式中,该方法还包括:
步骤7,侦听组包数据写入对应的传感器驱动后的传感器关闭消息,然后向客户端反馈传感器关闭消息以使客户端关闭所在真实手机上的传感器。
一种实施方式中,步骤5包括:由云手机对接收到的传感器数据进行加密封装后,发送至预设的程序接口进行解密生成组包数据。
一种实施方式中,传感器数据包括开始时间、结束时间、步数、路程、总体平均步调、当前平均步调和每秒步数中的任意一种或多种重力感应数据,则步骤5包括:由云手机对接收到的重力感应数据进行加密封装后,发送至预设的第一程序接口进行解密生成重力感应相关的第一组包数据;
或,传感器数据包括经度、纬度、海拔、水平误差、垂直误差、移动速度、方向和时间戳中的任意一种或多种定位数据,则步骤5包括:由云手机对接收到的定位数据进行加密封装后,发送至预设的第二程序接口进行解密生成定位相关的第二组包数据。
或,传感器数据包括通过摄像头采集的视频流数据,则步骤5包括:由云手机对接收到的视频流数据进行加密封装后,发送至预设的第三程序接口进行解密生成视频相关的第三组包数据。
本发明实施方式还提出一种服务器,其特征在于,包括:
初始化模块,用于初始化云手机传感器驱动的节点信息;
写入请求模块,用于发送数据写入请求到客户端告知传感器需要进行数据写入;
控制服务,用于接收客户端根据数据写入请求从客户端所在真实手机上采集的传感器数据;
控制服务还用于将传感器数据转发至云手机;
云手机,用于对接收到的传感器数据进行组包处理生成组包数据;
云手机还用于将组包数据写入对应的传感器驱动。
一种实施方式中,写入请求模块具体用于以消息通知的方式侦听云手机传感器驱动,确定传感器需要开启后则发送数据写入请求到客户端告知传感器需要进行数据写入。
一种实施方式中,服务器还包括:
关闭反馈模块,用于侦听组包数据写入对应的传感器驱动后的传感器关闭消息,然后向客户端反馈传感器关闭消息以使客户端关闭所在真实手机上的传感器。
一种实施方式中,云手机具体用于对接收到的传感器数据进行加密封装后,发送至预设的程序接口进行解密生成组包数据。
一种实施方式中,传感器数据包括开始时间、结束时间、步数、路程、总体平均步调、当前平均步调和每秒步数中的任意一种或多种重力感应数据,则云手机具体用于对接收到的重力感应数据进行加密封装后,发送至预设的第一程序接口进行解密生成重力感应相关的第一组包数据;
或,传感器数据包括经度、纬度、海拔、水平误差、垂直误差、移动速度、方向和时间戳中的任意一种或多种定位数据,则云手机具体用于对接收到的定位数据进行加密封装后,发送至预设的第二程序接口进行解密生成定位相关的第二组包数据。
或,传感器数据包括通过摄像头采集的视频流数据,则云手机具体用于对接收到的视频流数据进行加密封装后,发送至预设的第三程序接口进行解密生成视频相关的第三组包数据。
本发明实施方式的云手机的传感器数据输入方法和服务器,由服务器判断云手机上的传感器需要进行数据写入,然后向客户端反馈并由客户端采集所在真实手机上对应传感器的数据再发送至服务器,由服务器处理后写入对应传感器驱动,使得利用云手机体验到高配置游戏或应用软件成为可能,并且传感器数据解析完毕后客户端可获得关闭反馈,不需要一直采集传感器数据发送至服务器,保证客户端所在真实手机使用云手机的过程更加省电。
本发明的附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的实施方式的上述和/或附加的方面和优点从结合下面附图对实施方式的描述中将变得明显和容易理解,其中:
图1是本发明实施方式的云手机的传感器数据输入方法的流程示意图;
图2是本发明实施方式的服务器的组成示意图。
具体实施方式
下面详细描述本发明的实施方式,实施方式的示例在附图中示出,其中相同或类似的标号自始至终表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅可用于解释本发明的实施方式,而不能理解为对本发明的实施方式的限制。
请参阅图1,本发明实施方式的云手机的传感器数据输入方法,包括:
步骤1,初始化云手机传感器驱动的节点信息;
步骤2,发送数据写入请求到客户端告知传感器需要进行数据写入;
步骤3,通过控制服务接收客户端根据数据写入请求从客户端所在真实手机上采集的传感器数据;
步骤4,由控制服务将传感器数据转发至云手机;
步骤5,由云手机对接收到的传感器数据进行组包处理生成组包数据;
步骤6,由云手机将组包数据写入对应的传感器驱动。
请参阅图2,本发明实施方式的服务器,包括:
初始化模块,用于初始化云手机传感器驱动的节点信息;
写入请求模块,用于发送数据写入请求到客户端告知传感器需要进行数据写入;
控制服务,用于接收客户端根据数据写入请求从客户端所在真实手机上采集的传感器数据;
控制服务还用于将传感器数据转发至云手机;
云手机,用于对接收到的传感器数据进行组包处理生成组包数据;
云手机还用于将组包数据写入对应的传感器驱动。
在该实施方式中,云手机的传感器数据输入方法以服务器作为步骤的执行对象,或者以服务器内的各个组成部分作为步骤的执行对象。具体地,步骤1以初始化模块作为步骤的执行对象,步骤2以写入请求模块作为步骤的执行对象,步骤3和步骤4以控制服务作为步骤的执行对象,步骤5和步骤6以云手机作为步骤的执行对象。
步骤1中,初始化模块初始化云手机传感器驱动的节点信息。通过初始化,获悉了对应每个传感器的节点名称、节点连接情况等。
步骤2中,写入请求模块发送数据写入请求到客户端告知传感器需要进行数据写入。
具体地,步骤2包括:写入请求模块具体用于以消息通知的方式侦听云手机传感器驱动,确定传感器需要开启后则发送数据写入请求到客户端告知传感器需要进行数据写入。例如,以消息通知的方式Listen侦听云手机传感器驱动状态,若传感器A需要开启,则发送数据写入请求到客户端告知传感器A需要进行数据写入。
步骤3中,控制服务接收客户端根据数据写入请求从客户端所在真实手机上采集的传感器数据。即客户端解析数据写入请求,确定收到云手机上的传感器A需要进行数据写入,则对应采集客户端所在真实手机上的传感器A的数据然后发送采集的传感器A的数据给控制服务。为了表述的方便,可以将云手机上的传感器A命名为A1,客户端所在真实手机上的对应传感器命名为A2,A1和A2都是相同类型的传感器,则当客户端解析数据写入请求,确定收到云手机上的传感器A1需要进行数据写入,则对应采集客户端所在真实手机上的传感器A2的数据然后发送采集的传感器A2的数据给控制服务。
步骤4中,控制服务将客户端采集的传感器A的数据转发至云手机。在服务器上,控制服务可以和若干台云手机以私网进行连接。私网就是指的局域网(LAN),相对于广域网(WAN)而言,主要是指在小范围内的计算机互联网络。这个“小范围”可以是公司的一个机房,或者是一个网络集群。广域网上的每一台电脑(或其他网络设备)都有一个或多个广域网IP地址(或者说公网、外网IP地址),广域网IP地址一般要到ISP处交费之后才能申请到,广域网IP地址不能重复;局域网(LAN)上的每一台电脑(或其他网络设备)都有一个或多个局域网IP地址(或者说私网、内网IP地址),局域网IP地址是局域网内部分配的,不同局域网的IP地址可以重复,不会相互影响。控制服务可以和若干台云手机进行连接,这样保证了云手机和客户端之间可以通过控制服务来统一接收和发送,更加便捷和有序。
步骤5中,云手机对接收到的传感器数据进行组包处理生成组包数据。组包处理的过程包括数据加密封装、传送和解密等。即步骤5包括:云手机对接收到的传感器数据进行加密封装后,发送至预设的程序接口进行解密生成组包数据。
根据不同类型的传感器数据,有几种处理方式,具体如下:
一种情况中,传感器数据包括开始时间、结束时间、步数、路程、总体平均步调、当前平均步调和每秒步数中的任意一种或多种重力感应数据,则步骤5包括:云手机对接收到的重力感应数据进行加密封装后,发送至预设的第一程序接口进行解密生成重力感应相关的第一组包数据。
另一种情况中,传感器数据包括经度、纬度、海拔、水平误差、垂直误差、移动速度、方向和时间戳中的任意一种或多种定位数据,则步骤5包括:云手机对接收到的定位数据进行加密封装后,发送至预设的第二程序接口进行解密生成定位相关的第二组包数据。
再一种情况中,传感器数据包括通过摄像头采集的视频流数据,则步骤5包括:由云手机对接收到的视频流数据进行加密封装后,发送至预设的第三程序接口进行解密生成视频相关的第三组包数据。
上述第一程序接口、第二程序接口和第三程序接口可以设置为分开的独立接口,以此保证数据传输过程中的准确性和私密性。
步骤6,以步骤5中生成的组包数据包括经度、纬度等定位数据为例,经过解密还原出经度、纬度等定位数据后,云手机可以将组包数据写入定位对应的传感器驱动。
进一步地,云手机的传感器数据输入方法还包括:
步骤7,侦听组包数据写入对应的传感器驱动后的传感器关闭消息,然后向客户端反馈传感器关闭消息以使客户端关闭所在真实手机上的传感器。
对应地,服务器还包括:
关闭反馈模块,用于侦听组包数据写入对应的传感器驱动后的传感器关闭消息,然后向客户端反馈传感器关闭消息以使客户端关闭所在真实手机上的传感器。
步骤7可以由服务器作为步骤的执行对象,也可以由关闭反馈模块作为步骤的执行对象。
以地图软件为例,云手机上需要定位数据时,接收到客户端采集的定位数据并且解析完以后,GPS传感器会发一个类似于“关闭”的消息,然后Listen侦听到这个“关闭”的消息,马上发消息到客户端,告诉客户端不用对所在真实手机的GPS传感器继续采集了。
虽然不通知客户端关闭GPS传感器也行,但是这样的话客户端所在真实手机上就相当于一直开着GPS传感器,非常耗电。所以本发明实施方式中,都是使用完传感器后,一定要反馈一个关闭消息给客户端告知要关闭对应的传感器,不然资源一直都耗在传感器采集上面导致手机电量等非常浪费。
综上所述,本发明由服务器判断云手机上的传感器需要进行数据写入,然后向客户端反馈并由客户端采集所在真实手机上对应传感器的数据再发送至服务器,由服务器处理后写入对应传感器驱动,使得利用云手机体验到高配置游戏或应用软件成为可能,并且传感器数据解析完毕后客户端可获得关闭反馈,不需要一直采集传感器数据发送至服务器,保证客户端所在真实手机使用云手机的过程更加省电。
在本发明的实施方式的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本发明的实施方式的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本发明的实施方式的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接或可以相互通讯;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明的实施方式中的具体含义。
在本发明的实施方式中,除非另有明确的规定和限定,第一特征在第二特征之“上”或之“下”可以包括第一和第二特征直接接触,也可以包括第一和第二特征不是直接接触而是通过它们之间的另外的特征接触。而且,第一特征在第二特征“之上”、“上方”和“上面”包括第一特征在第二特征正上方和斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”包括第一特征在第二特征正下方和斜下方,或仅仅表示第一特征水平高度小于第二特征。
下文的公开提供了许多不同的实施方式或例子用来实现本发明的实施方式的不同结构。为了简化本发明的实施方式的公开,下文中对特定例子的部件和设置进行描述。当然,它们仅仅为示例,并且目的不在于限制本发明。此外,本发明的实施方式可以在不同例子中重复参考数字和/或参考字母,这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施方式和/或设置之间的关系。此外,本发明的实施方式提供了的各种特定的工艺和材料的例子,但是本领域普通技术人员可以意识到其他工艺的应用和/或其他材料的使用。
在本说明书的描述中,参考术语“一个实施方式”、“一些实施方式”、“示意性实施方式”、“示例”、“具体示例”或“一些示例”等的描述意指结合所述实施方式或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理模块的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的实施方式的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。此外,在本发明的各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。