[0033] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0034] 需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
[0035] 下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。
[0036] 如图1所示,一种扩展移动终端运算能力的系统,应用于移动终端中,包括:
[0037] 至少一个客户端1,客户端1与移动终端一一对应,客户端1用于获取移动终端当前的芯片运行状态,当移动终端的芯片运行状态达到一预设条件时,客户端1提取移动终端的密集型任务并将密集型任务的处理请求输出;
[0038] 服务器2,用以通过发送网络广播信号的方式以与客户端1建立连接,接收客户端1发送的处理请求,建立一与客户端1对应的移动终端的唯一用户标识符一一对应的用户空间实例,以对与处理请求对应的密集型任务进行处理,并将处理结果发送至客户端1。
[0039] 在本实施例中,客户端1实现于移动终端的应用框架层中,以原生指令方式运行于移动终端的芯片之上。服务器2可运行于PC电脑或者相应的服务器设备中,以用户空间实例为单位,用于隔离不同移动终端之间的数据,同时,该实例中运行对应各移动终端的芯片相同指令架构的虚拟机应用,用于为客户端1提供运算处理服务。
[0040] 扩展移动终端运算能力的系统可使移动终端在特定区域通过将过量的运算需求分配到服务器2上,利用服务器2的强大运算能力,降低移动终端芯片的运算和存储压力,极大的降低了芯片耗电量和发热情况,从而提高移动终端的运行体验和待机时长。
[0041] 在优选的实施例中,预设条件为移动终端的负载超过预定第一阈值或移动终端的温度值超过预定第二阈值。
[0042] 进一步地,用户可根据需要自行设置第一阈值和/或第二阈值。
[0043] 于一优选的实施中,第一阈值为移动终端负载的50%,第二阈值的范围在50度至60度之间。
[0044] 在优选的实施例中,密集型任务包括中央处理器密集型任务,和/或输入输出密集型任务。
[0045] 在本实施例中,中央处理器(CPU)密集型任务为与移动终端的中央处理器运算能力相关的任务,包括有:图像运算,解码视频,压缩数据,解压数据等;网络访问请求属于输入输出(I/O)密集型任务。
[0046] 在优选的实施例中,客户端1可包括:
[0047] 一扫描单元11,用于以预定时间间隔扫描服务器2发送的网络广播信号;
[0048] 一第一传输单元13,连接扫描单元11,用以与扫描到的网络广播信号对应的服务器2建立连接,以进行数据传输;
[0049] 一获取单元17,用以获取移动终端当前的芯片运行状态;
[0050] 一判断单元16,连接获取单元17,用以判断移动终端的芯片运行状态是否达到预设条件;
[0051] 一分配单元15,分别连接判断单元16、第一传输单元13和移动终端,用以在移动终端的芯片运行状态达到预设条件时,将移动终端的密集型任务的处理请求通过第一传输单元13发送至服务器2,或
[0052] 根据服务器2发送的反馈数据将与反馈数据对应的密集型任务的数据通过第一传输单元13发送至服务器2。
[0053] 进一步地,第一传输单元13采用无线模块,如蓝牙模块、WIFI模块等,采用免配置技术,即插即用。
[0054] 在本实施例中,服务器2通过网络广播方式发送网络广播信号,客户端1的扫描单元11通过代理发现协议,间歇性的判断附近是否存在服务器2。对应的,如果扫描单元11发现了相应的网络广播信号后,通过获取单元17获取移动终端当前的芯片运行状态,芯片运行状态包括CPU的负载运行状况和CPU的温度状况,通过判断单元16判断移动终端的芯片运行状态是否达到预设条件,即移动终端是否需要进行额外的算力扩展。如果负载超过预定第一阈值或芯片的温度值超过预定第二阈值时,分配单元15将密集型任务的处理请求发送至服务器2,申请由其代为执行。当服务器2接收处理请求,并发送相应的响应信息后,分配单元15将中央处理器密集型任务,和/或输入输出密集型任务发送至服务器2,通过服务器2进行相应的处理。
[0055] 在优选的实施例中,分配单元15用以在移动终端的芯片运行状态未达到预设条件时,将一断开请求通过第一传输单元13发送至服务器2。
[0056] 在本实施例中,如果移动终端的负载未超过预定第一阈值且芯片的温度值未超过预定第二阈值,则表示移动终端不需要进行额外的算力扩展,可通过分配单元15发送断开请求,以断开与服务器2的连接。
[0057] 在优选的实施例中,客户端1还可包括:
[0058] 一记录单元12,连接扫描单元11,用以记录扫描到的网络广播信号对应的服务器2的地理位置信息。
[0059] 在本实施例中,当扫描单元11发现了相应的网络广播信号,可通过记录单元12记录当前的地理位置信息,用于未来再次进入该区域时,通过地理围栏触发能够更快更及时的发现服务器2。
[0060] 在优选的实施例中,客户端1还可包括:
[0061] 一第一处理单元14,连接第一传输单元13,用以对服务器2发送的处理结果进行处理。
[0062] 在本实施例中,可通过第一处理单元14对服务器2发送的处理结果进行后期处理并显示于移动终端的显示屏幕上,供用户查看。
[0063] 在优选的实施例中,服务器2包括:
[0064] 一广播单元23,用以发送网络广播信号;
[0065] 一第二传输单元21,用以与接收到网络广播信号的客户端1建立连接,以进行数据传输;
[0066] 一第二处理单元22,分别连接广播单元23和第二传输单元21,用以根据客户端1发送的处理请求,建立一与客户端1对应的移动终端的唯一用户标识符一一对应的用户空间实例,以对与处理请求对应的密集型任务的数据进行处理,并将处理结果通过第二传输单元21发送至客户端1。
[0067] 在本实施例中,当服务器2在接收到客户端1发送的处理请求后,如果服务器2满足处理请求,则会根据移动终端本身的(User Identification,UID)用户标识符生成一个局域网唯一标识符(locally unique identifier,LUID),同时根据LUID对应生成一个基于Linux Container(容器)的用户空间实例即运算代理容器,以进行客户端1之间的隔离。随后在用户空间实例中会运行与移动终端的CPU相同指令集的CPU模拟环境,对接收到的处理请求进行处理。
[0068] 在优选的实施例中,第二处理单元22用以在客户端1发送断开请求时,删除与客户端1对应的移动终端的唯一用户标识符一一对应的用户空间实例。
[0069] 在本实施例中,服务器2与客户端1断开连接后,第二处理单元22可删除相应的用户空间实例,以免除信息泄漏的隐患。
[0070] 在优选的实施例中,服务器2还包括:
[0071] 一检测单元24,连接第二处理单元22,用以检测服务器2当前的任务空间是否满足处理请求,以获取检测结果;
[0072] 第二处理单元22根据检测结果通过第二传输单元21将反馈数据发送至客户端1。
[0073] 在本实施例中,当服务器2接收到客户端1发送的处理请求后,先通过检测单元24检测服务器2自身的任务空间是否仍有额外处理能力可以提供,如果不满足处理请求,则将不能满足客户端1处理请求的反馈信息及当前剩余的任务空间发送至客户端1,客户端1的分配单元15可根据反馈的任务空间重新分配密集型任务,将与剩余任务空间匹配的密集型任务发送至服务器2,以供服务器2进行处理。
[0074] 在服务器2对客户端1发送的密集型任务进行处理时,客户端1与服务器2之间使用专有数据包进行传输。专有数据包针对中央处理器密集型任务的任务请求,和/或输入输出密集型任务的任务请求提供区分支持,以及在数据结构上对两种处理请求的处理数据分别进行优化。
[0075] 特别的,如果处理请求是协助解码一段视频内容时,客户端1发送的处理请求为连续不断的视频流原生数据,服务器2对其进行解码之后会以类似用户数据报协议(User Datagram Protocol,UDP)数据报的方式返回至客户端1,确保移动终端播放时的流畅度;
[0076] 如果处理请求是协助压缩/解压缩一段数据,客户端1以数据流方式发给服务器2,服务器2以流方式处理完成并返回,返回时会附带校验码,以防止处理的数据出现偏差;
[0077] 如果客户端1发送的处理请求是网络访问请求,则服务器2会等客户端1从网络获取相应信息后,通过优化超文本标记语言(HyperText Markup Language,HTML)页面内容,再发送给客户端1,以起到缓冲代理服务器2的作用。
[0078] 本发明可以通过自动发现协议或者地理信息来激活服务器2的代理功能,并且服务器2以容器方式进行相应服务,资源相互隔离,不会互相串流产生影响,也不会存在个人隐私泄漏的问题。
[0079] 以上所述仅为本发明较佳的实施例,并非因此限制本发明的实施方式及保护范围,对于本领域技术人员而言,应当能够意识到凡运用本发明说明书及图示内容所作出的等同替换和显而易见的变化所得到的方案,均应当包含在本发明的保护范围内。