用于移动终端的远程监控系统和方法与流程

文档序号:11845674阅读:267来源:国知局
用于移动终端的远程监控系统和方法与流程

本发明总的涉及一种用于移动终端的远程监控系统和方法,特别用于中小学生家长利用移动终端对中小学生的移动终端进行远程监控,而为了使这样的监控有效,监控活动以对学生隐蔽的方式进行。



背景技术:

如今移动终端随处可见,给人们日常的联系与交流提供了极大的便利,然而国内现有的移动终端之间多用于相互间通信,不能实现一个终端对另一个终端的监控。

国外对移动终端间的监控技术研究得比较早,也取得了一定的成果。例如,针对学生对智能手机的使用,韩国政府正准备推行在学生智能手机中安装远程管理软件的计划——这款名为iSmartKeeper的应用能够对学生访问的服务和应用进行限制。在安装该应用后,教师能够将学生的手机锁定。而学校的教育管理人员甚至可以锁定学校内所有学生的手机,仅允许紧急呼叫,或者仅允许打电话、或者仅允许打电话和发短信,或者可以关闭某些特定的应用。此举是为了让学生们上课时不会因为手机而分心。iSmartKeeper还能设定仅可访问一款应用,这样能确保教师在上课时学生依然可以使用一种特定应用,例如与课程配套的教学应用。除了教师可使用的工具外,家长也有配套的管理应用可以使用,其使用方法大致上也跟教师的监控应用类似,例如,按照计划设定手机使用限制,比如在孩子做家庭作业的时候禁止孩子在手机上使用聊天工具。

这款iSmartKeeper应用利用的就是移动终端间的监控技术,但它是显式的监控,即学生知道自己的手机是被校方和家长监控的,即受控移动终端知晓被控。

而根据本发明的移动终端的远程监控系统和方法能实现终端间的隐式监控。通过在受控移动终端上安装一直在后台运行的程序,并对诸如安卓系统之类的操作系统进行权限设置,把app的入口Activity申明为由接收隐式的Intent来启动,来实现程序的隐蔽,从而″偷偷地″监控被控终端。



技术实现要素:

本发明的目的是提供一种用于移动终端的远程监控系统和方法,其中监控活动以对受控移动终端隐蔽的方式进行。所述目的通过根据权利要求的系统和方法来实现。

本发明提供了一种用于移动终端的远程监控方法,该方法包括:一个或多个受控移动终端接收来自一个或多个主控移动终端的包括命令的信息;所述一个或多个受控移动终端识别并隐蔽所述信息;所述一个或多个受控移动终端响应于所述命令执行相应操作;其中所述一个或多个受控移动终端接收、识别、隐蔽所述信息和响应于所述命令执行相应操作对于所述一个或多个受控移动终端的用户透明。本文中的″透明″是指,所述受控移动终端接收短信、识别短信、拦截和隐蔽短信以及响应于所述命令执行相应操作对于受控移动终端的用户透明,即受控移动终端的用户察觉不到受控移动终端进行了这些操作。

优选地,所述命令包括获取所述受控移动终端的位置信息、获取所述受控移动终端后台运行的应用软件的信息、关闭或卸载所述应用软件、开启或关闭所述受控移动终端的网络中的一个或多个。

优选地,所述操作包括经由web服务器向所述主控移动终端发送数据。

优选地,所述数据包括所述受控移动终端的位置信息、所述受控移动终端后台运行的应用软件的信息、操作反馈信息中的一种或多种。

优选地,所述操作包括关闭或卸载所述命令指定的应用软件。

优选地,所述操作包括开启或关闭所述受控移动终端的网络。

优选地,所述网络包括3G网络或WIFI。

优选地,所述web服务器向所述主控移动终端发送信息,供所述主控移动终端的用户查看。

优选地,所述web服务器基于所述命令和所述数据生成建议信息,并将所述建议信息发送至所述主控移动终端,供所述主控移动终端用户查看。

优选地,多个主控移动终端的用户之间通过web服务器交流信息。

优选地,所述受控移动终端上不显示任何与所述信息或所述操作有关的图标。

本发明还提供了一种用于移动终端的远程监控系统,该系统包括用于接收来自主控移动终端的包括命令的信息的装置,用于识别并隐蔽该信息的装置,以及用于响应于所述命令执行相应操作的装置,其中接收所述信息和响应于所述命令执行相应操作对于受控移动终端的用户透明。

根据下面结合附图的详细描述,本发明的优点、特征和实例将清楚明白。

附图说明

图1示意性示出主控移动终端140获取受控移动终端160位置信息的过程。

图2示意性示出主控移动终端140获取受控移动终端160运行的应用软件信息的过程。

图3示意性示出主控移动终端140关闭或卸载受控移动终端160正运行的应用软件的过程。

图4示意性示出所述主控移动终端140关闭所述受控移动终端160的无线网络的过程。

图5示意性示出系统框图。

图6示意性地示出了主控移动终端140的注册流程图。

图7示意性地示出了主控移动终端140的登录流程图。

图8示意性地示出了受控移动终端160接收、识别、隐蔽短信的流程图。

图9示意性地示出了主控移动终端140与数据库交互的流程图。

具体实施方式

出于简洁和说明的目的,通过主要提及本发明的原理的各种实施例来描述本发明的原理。然而,本领域技术人员容易认识到相同的原理同样可以应用于以及可以实施于所有类型的信息系统,还容易认识到任何这样的变形都不背离本发明的真实精神和范围。而且,在下面详细的描述中,参考了示意性示出各种实施方式的特定实例的附图。可以在不背离本发明的精神和范围的情况下对各种实施方式的实例做电气、机械、逻辑和结构上的改变。因此,下面的详细描述不以限制性意义来理解,本发明的范围由所附的权利要求书及其等同物来限定。

现在来详细描述实施例,实施例的实例在附图中被示意性示出。在整个附图中,相同的附图标记将被用于指代相同的或相似的部件。

图1示意性示出主控移动终端140获取受控移动终端160位置信息的过程。如图所示,主控移动终端140的用户登陆后,选择“获取定位”功能(S100),主控移动终端140就向受控移动终端160发送带有“获取定位”命令的短信(S102),受控移动终端160的短信监控模块161接收所述短信并识别出短信 是来自主控移动终端140的监控短信以及短信包括“获取定位”命令,在后台对该短信进行拦截和隐蔽(S104),然后调用受控移动终端160的获取定位模块162(S106),所述获取定位模块162获取受控移动终端160的位置信息并将位置信息上传到web服务器180(S108)以供主控移动终端140查看(S110)。其中,所述受控移动终端160接收短信、识别短信、拦截和隐蔽短信以及获取位置信息并将位置信息上传到web服务器180等操作对于受控移动终端的用户透明,即受控移动终端160的用户察觉不到受控移动终端160进行了这些操作。

图2示意性示出主控移动终端140获取受控移动终端160运行的应用软件信息的过程。如图所示,主控移动终端140在登录状态下,点击“获取运行的软件列表”功能(S200),主控移动终端140就向受控移动终端160发送带有“获取运行的软件列表”命令的短信(S202),受控移动终端160的短信监控模块161接收所述短信并识别出短信是来自主控移动终端140的监控短信以及短信包括“获取运行的软件列表”命令,并在后台对该短信进行拦截和隐蔽(S204),然后调用受控移动终端160的获取运行的软件模块163(S206),获取运行的软件模块163将正在运行的软件列表上传到web服务器180(S208)以供主控移动终端140查看(S210)。其中,所述受控移动终端160接收短信、识别短信、拦截和隐蔽短信以及获取运行的软件列表并将该信息上传到web服务器180等操作对于受控移动终端160的用户透明,即受控移动终端160的用户察觉不到受控移动终端160进行了这些操作。

图3示意性示出主控移动终端140关闭或卸载受控移动终端160正运行的应用软件的过程。如图所示,主控移动终端140首先获得并查看受控移动终端160正在运行的软件列表,这个过程同上述的主控移动终端140获取受控移动终端160正在运行的应用软件信息的过程。具体而言,主控移动终端140在登录状态下,点击“获取运行的软件列表”功能(S300),主控移动终端140就向受控移动终端160发送带有“获取运行的软件列表”命令的短信(S302),受控移动终端160的短信监控模块161接收所述短信并识别出短信是来自主控移动终端140的监控短信以及短信包括“获取运行的软件列表”命令,并在后台对该短信进行拦截和隐蔽(S304),然后调用受控移动终端160的获取运行的软件模块163(S306),获取运行的软件模块163将正在运行的软件列表上传到web服务器180(S308)以供主控移动终端140查看(S310)。主控移动终端140的用户根据软件列表情况选择将某一软件关闭或卸载 (S312),主控移动终端140向受控移动终端160发送带有“关闭/卸载xx程序”命令的短信(S314),受控移动终端160的短信监控模块161接收所述短信并识别出短信是来自主控移动终端140的监控短信以及短信包含″关闭/卸载xx程序″命令,并在后台对该短信进行拦截和隐蔽(S316),然后调用受控移动终端160的关闭/卸载程序模块164(S318),关闭/卸载程序模块164关闭/卸载相应软件(S320),并向所述主控移动终端反馈已关闭/卸载相应软件的信息(S322)。其中,所述受控移动终端160接收短信、识别短信、拦截和隐蔽短信以及获取运行的软件列表并将该信息上传到web服务器180等操作对于受控移动终端160的用户透明,即受控移动终端160的用户察觉不到受控移动终端160进行了这些操作。

图4示意性示出所述主控移动终端140关闭所述受控移动终端160的无线网络的过程。如图所示,主控移动终端140的用户登陆后,选择“关闭网络”功能(S400),主控移动终端140就向受控移动终端160发送带有“关闭网络”命令的短信(S402),受控移动终端160的短信监控模块161接收所述短信并识别出短信是来自主控移动终端140的监控短信以及短信包含″关闭网络″命令,并在后台对该短信进行拦截和隐蔽(S404),然后调用受控移动终端160的关闭网络模块165(S406),关闭网络模块165关闭受控移动终端160的网络(S408),并向所述主控移动终端140反馈已关闭网络的信息(S410)。其中,所述受控移动终端160接收短信、识别短信、拦截和隐蔽短信以及关闭网络等操作对于受控移动终端160的用户透明,即受控移动终端160的用户察觉不到受控移动终端160进行了这些操作。同样地,所述主控移动终端140也能远程地开启所述受控移动终端160的无线网络,过程与关闭网络过程相似,为了简洁,不做详细说明。

上述过程中的拦截短信的原理是取得系统的高级权限,在收到短信后先对内容核对电话号码及信息内容关键字。信息隐蔽的原理是指将特定的信息嵌入数字化宿主信息(如文本,数字化的声音、图像、视频信号等)中。短信拦截和隐蔽目的不在于限制正常的信息存取和访问,而在于使所述主控移动终端140发送的带有命令的短信不被受控移动终端160的用户发现和注意,减小远程监控活动被攻击、被破坏的可能性。同样地,为了增加受控移动终端的用户单方面卸载受控客户端的难度,受控客户端安装后图标不显示在受控移动终端的图形化用户界面上,即所述受控移动终端上不显示任何与前述信息或操作有关的图标。所述短信只是主控移动终端和受控移动终端之间通信 信息的一种,也可以是其他类型的信息。

根据一个实施例,所述web服务器180还可以发布信息,供所述主控移动终端140的用户查看。所述信息可以是公告、通知等任何主控移动终端140感兴趣的信息。

根据另一个实施例,所述web服务器180可以记录主控移动终端140的操作记录、受控移动终端160的位置信息、受控移动终端160运行的程序信息,并据此得到主控移动终端140的用户的登录频率、位置查询频率、软件信息程序频率、受控移动终端160的用户使用手机软件等情况,然后利用分类、主成分分析、关联规则等数据挖掘技术对数据进行分析,向主控移动终端140发送建议信息,供主控移动终端140的用户参考。

根据又一个实施例,多个主控移动终端的用户之间可以通过web服务器交流信息。例如,在web服务器上建立一个信息交流论坛,主控移动终端可以在所述信息交流论坛上“发帖”交流,如图5所示。图5示意性示出符合本公开的实施方式的远程移动终端监控系统500,包括多个主控移动终端140和多个受控移动终端160。

根据本发明的远程监控方法和系统,特别地可以用在学生家长对学生的管理上,也适合用于在特殊情况下上级对下级的管理,也适合用于国家安全或执法领域。以学生家长对学生的管理为例,学生家长持有所述主控移动终端,学生持有所述受控移动终端。本发明提供了多种监控技术集成:包括GPS定位,短信拦截等监控技术,全方位的对学生手机进行监控。获取定位功能一定程度上可以保证人员安全和手机安全。监控学生手机上运行的软件、关闭软件等功能可以起到规范学生使用手机活动的作用。本发明还提供多种交互方式,具有灵活性的特点。家长客户端通过短信这种实时、简单、有效的方式向学生手机发送命令。而学生客户端通过网络的方式将手机信息上传到web服务器以供家长查看。

本发明还提供了利用数据分析技术对数据进行分析,向家长提供智能化的管理建议。同时公告和论坛为家长提供获取信息和交流的平台,使得家长对学生的管理更合理更有效。对学生客户端进行隐藏,降低学生卸载学生客户端的难度。并通过短信截获、隐蔽技术使家长发送的监控命令和学生手机上传手机信息等过程都对学生透明,增加了本系统的有效性。

下面描述以上过程或方法的具体实现途径。本发明提供的移动终端远程监控方法是在Android平台上实现的,用Java语言编写程序。首先安装JDK 并设置环境变量,安装配置Android SDK,安装集成开发环境Eclipse,为Eclipse安装Android应用程序调试工具Android Debug Tools。Eclipse插件MyEclipse。配置完成后,创建虚拟设备运行示例工程来验证开发环境是否正确安装。移动终端的客户端可以运行的环境可以是Android 2.3以上的系统,Web服务器端的运行环境可以是tomcat6或以上版本。数据库可以是Mysql,辅助管理工具可以是Navicat for mysql。

本发明的程序设计所使用的特殊短信命令有:

本发明的程序设计的数据库基本表如下:

利用Android Service及BroadcastReceiver编写受控移动终端客户端,让其 成为长驻型BroadcastReceiver,Service后台一直运行;并通过设置BroadcastReceiver的priority,使其的优先级高于系统的roadcastReceiver优先级,让装有受控客户端的Android设备显示不了指定号码发来的特殊短信,实现短信拦截,受控客户端此时将收到的特殊短信进行解析,根据指令的不同执行不同的功能;受控客户端使用PackageManager.COMPONENT_ENABLED_STATE_DISABLE隐藏应用程序图标;主控客户端里面封装了特定的指令。

在主控客户端中,先注册要监控的号码。图6示意性地示出了注册流程图。注册的信息包括用户名、密码、受控的终端号码及注册的验证码,其中验证码由一个随机生成的8位数组成,当主控移动终端用户点击获取验证码时,会同时向受控移动终端和web服务器发送验证码,在用户注册时,向服务器核对该号码的验证码是否正确,核对成功后才将注册信息提交给服务器,完成注册。

图7示意性地示出了登录流程图。在完成注册后,主控客户端通过用户名和密码登录到后台服务器以获得受控端的号码,主控端的登录通过http协议,将用户名和密码作为BasicNameValuePair,使用http post提交给服务器。

图8示意性地示出了受控移动终端接收、隐蔽信息的流程图。当主控移动终端用户点击获取定位时,会将jiankong#GPS作为特殊短信发送给受控端,受控移动终端收到特殊命令,屏蔽系统的Notification,通过context.getSharedPreferences(″config″,Context.MODE_PRIVATE),截取收到的短信内容。通过java中的spilt方法解析特殊符号#,得到GPS,此时开启受控移动终端的定位getLocation(),使用Android中的location类,获得受控移动终端所处的经纬度lat和lng,并将两者通过http post发到服务器上,主控客户端通过进程阻塞Thread.sleep( ),当有新的经纬度信息时,通过http get得到两者的值。系统设置了两套定位的方案,在有街景的地区,主控移动终端用户可以选择定位到街景上,街景的实现,用的是腾讯街景的API;在无街景的地方,主控移动终端用户可以选择定位到地图,用的是百度地图的API,上面有很多poi点,还可以搜索到附近的很多信息。

主控移动终端用户点击获取当前正在运行的app时,主控移动终端用户会向受控移动终端发送指令jiankong#RUNAPP,与前文提及的截获特殊短信原理相同,当截获信息为RUNAPP,受控移动终端会使用ActivityManager,通过app包名将正在运行的app加入到List中,并通过Thread,http post将 信息发到服务器上,主控移动终端用户通过http get获得刚刚上传的app信息,显示在主控移动终端用户的listview上,给listview上的每一个item添加点击事件,给它们提供两种选择,停止运行或者卸载app。停止运行app,通过该app包名,杀死该进程,killBackgroundProcesses(killedPkg);卸载app时,同样是通过包名setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

在开启和关闭网络的操作中,受控移动终端截获短信及解析步骤前述相同,通过ConnectivityManager,执行开启网络的时候,先通过getMobileDataStatus(context,″getMobileDataEnabled″)获得当前网络状态,如果返回值为true,就什么也不执行;如果返回值为false,就执行setMobileDataStatus(context,true);执行关闭网络与开启网络过程相反,关闭3G网络setMobileDataStatus(context,false)和关闭wifi setWiFi(context,false);

主控移动终端用户查看公告信息的过程是系统的后台部分,使用j2ee框架,主控移动终端用户点击查看公告后,程序就通过http get获得后台Mysql数据库中bbs的内容,公告内容由标题,时间,正文组成,在listview上,只显示出公告的标题,点击之后,将正文显示在scrolview中;

论坛功能也是后台部分,通过jsp编写,每一行由cell组成,cell由正文、点赞、时间、用户身份组成,相比查看公告,增加了http post的功能,当主控移动终端用户点击发帖的时候,主控移动终端用户输入发帖内容,点击发帖,程序就会将一个cell的内容全部post到服务器上,数据库上对应的表就增加一条记录,当主控移动终端用户下拉刷新的时候,就先执行清空listview操作,然后再执行http get,显示在论坛的listview上。图9示意性地示出了主控移动终端与数据库交互的流程图。

关于发送建议信息的实现,本系统通过友盟的sdk统计用户量,通过后台程序,在主控移动终端用户点击哪个功能就给服务器发送一个+1的请求,并为每一个板块设定的不同值,为该主控移动终端用户推出他们所需要的公告。

通常而言,本文描述的过程可以实施为计算机程序。计算机程序可以以各种形式(活动的和不活动的)存在。例如,计算机程序可以作为软件程序(一个或多个)、固件程序(一个或多个)或硬件描述语言(HDL)文件而存在,所述软件程序(一个或多个)由源代码、对象代码、可执行代码或其他形式的程序指令构成。以上的任何一个都可以以压缩或未压缩的形式包含在包括存储设备和信号的计算机可读介质上。

前面的描述是仅仅是示意性的,本领域技术人员可以想到配置和实施上的其他任何可能的变形。

在一个或多个示例性实施例中,所描述的功能可以以硬件、软件、固件或其任意组合来实施。对于软件实施,本文所描述的技术可以用完成本文所描述的功能的模块(例如,规程、功能、子程序、程序、例程、子例程、模块、软件包、类,等等)来实施。模块可以通过传递和/或接收信息、数据、引数、参数或存储内容而耦合到另一模块或硬件电路。可以使用包括存储器共享、消息传递、令牌传递、网络传输等在内的任何合适方式来传递、转发或传输信息、引数、参数、数据等等。软件代码可以存储在存储器单元中并由处理器执行。所述存储器单元可以实施在处理器内部或处理器外部,在后面一种情况下,所述存储器单元可以经由本领域已知的各种方式通信地耦合到处理器。

在实施例中,被描述为单个的或集成的资源可以是复数个的或分布式的,被描述为多个的或分布式的资源在实施例中可以是组合的。本教导的范围相应地旨在仅由随后的权利要求限定。尽管本发明已参照特定实施例进行了描述,将理解的是,本发明旨在覆盖随后的权利要求范围内的所有修改和等同物。

尽管教导已经参照教导的实施方式进行了描述,本领域技术人员能够在不违背真实精神和范围的情况下对所描述的实施方式做出各种修改。本文使用的术语和描述仅仅通过示意性的方式阐述,且不意味着限制。特别是,尽管过程已经通过实例进行了描述,过程的各阶段可以以不同于示意性说明的顺序或同时地来完成。

本领域技术人员将根据前面的描述理解:本发明实施例的宽泛的技术可以以各种形式来实现。因此,尽管本发明的实施例已经结合其特定实例进行了描述,但是本发明实施例的真实范围不应限制于此,因为本领域技术人员在研究了附图、说明书以及后面的权利要求书后,其他的改变对于他们而言将变得清楚明白。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1