确定及运用应用程序之间的关系关联的方法及装置与流程

文档序号:12034633阅读:236来源:国知局
确定及运用应用程序之间的关系关联的方法及装置与流程
本发明涉及智能技术,特别涉及一种确定及运用应用程序之间的关系关联的方法及装置。
背景技术
:随着移动通信技术的飞速发展和移动多媒体时代的到来,手机作为人们必备的移动通信工具,已从简单的通话工具向智能化发展,演变成一个移动的个人信息收集和处理平台。借助操作系统和丰富的应用软件,智能手机成了一台移动终端。当前的应用推荐方式,主要是在用于下载应用的应用商店中,对一些应用提供类似的:“相关应用”的推荐功能。然而,现有的应用推荐方式,其应用间的关联性都是静态的,即应用商店根据应用程序提供的静态信息(例如,应用程序的分类或应用程序来自于哪个开发商等)来分析应用程序间的关联性。然而,静态的关联性是预先配置的,并不能反应实际应用中应用程序间的关系,因此,降低了应用程序推荐的合理性。技术实现要素:本发明实施例提供一种确定及运用应用程序之间的关系关联的方法及装置,用以提高应用程序推荐的合理性。本发明实施例提供的具体技术方案如下:一种确定应用程序之间的关联关系的方法,包括:服务器根据智能设备上报的应用程序调用关系集合,确定应用程序之间的 关联关系;其中,所述应用程序调用关系中至少包含调用方应用程序的标识和被调用方应用程序的标识;服务器向智能设备发送所述应用程序之间的关联关系。一种运用应用程序之间的关联关系的方法,包括:智能设备确定应用程序之间的关联关系;其中,所述应用程序之间的关联关系至少根据所述智能设备上的应用程序调用关系集合确定;所述应用程序调用关系中至少包含调用方应用程序的标识和被调用方应用程序的标识;智能设备基于所述应用程序之间的关联关系,推送应用程序的推荐信息或控制应用程序的状态。一种确定应用程序之间的关联关系的服务器,包括:确定单元,用于根据智能设备上报的应用程序调用关系集合,确定应用程序之间的关联关系;其中,所述应用程序调用关系中至少包含调用方应用程序的标识和被调用方应用程序的标识;通信单元,用于向智能设备发送所述应用程序之间的关联关系。一种运用应用程序之间的关联关系的智能设备,包括:确定单元用于确定应用程序之间的关联关系;其中,所述应用程序之间的关联关系至少根据所述智能设备上的应用程序调用关系集合确定;所述应用程序调用关系中至少包含调用方应用程序的标识和被调用方应用程序的标识;处理单元,用于基于所述应用程序之间的关联关系,推送应用程序的推荐信息或控制应用程序的状态。本发明有益效果如下:本申请实施例中,基于至少一个智能设备上的应用程序调用关系集合,进行统一的信息汇总和分析,分别计算每一个应用程序和其他应用程序之间的关联关系,这样,可以通过收集智能设备上的应用程序调用关系,动态地获知各个应用程序在实际运行过程中彼此之间真正的调用关系,并通过统一汇总和分析,获得用户使用习惯,从而推送符合用户使用习惯的应用程序的推荐信息, 进而大大提高了应用程序推荐的内容合理性,更贴近用户的使用需求,进而有效提升了用户体验,也提升了系统的整体运行环境的合理性。附图说明图1为本申请实施例中智能设备上应用程序之间调用示意图;图2为本申请实施例中系统架构示意图;图3为本申请实施例中服务器确定及运用应用程序之间的关联关系流程图;图4为本申请实施例中智能设备确定及运用应用程序之间的关联关系流程图;图5为本申请实施例中服务器功能第一结构示意图;图6为本申请实施例中智能设备功能第一结构示意图;图7为本申请实施例中服务器功能第二结构示意图;图8为本申请实施例中智能设备功能第二结构示意图;具体实施方式为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,显然,所描述的实施例仅仅是本申请一部份实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。下面结合附图对本申请实施例进行详细描述。云os也可称为云操作系统或者云计算操作系统或者云计算中心操作系统,是以云计算、云存储技术作为支撑的操作系统,是云计算后台数据中心的整体管理运营系统。它是指构架于服务器、存储、网络等基础硬件资源和单机操作系统、中间件、数据库等基础软件之上的、管理海量的基础硬件、软件资源的云平台综合管理系统。当然,除云os之外,本申请实施例提供的技术方 案也可以应用在其他各类操作系统上,如,安卓操作系统,ios操作系统等等,本实施例中,仅以云os操作系统为例进行说明。目前业界存在多种类型的云os,yunos是其中的一种。yunos是运行在数据中心和移动终端上的操作系统,含有地图、邮箱和搜索等在内的互联网基础服务。yunos框架封装了web技术,包括html5以及计算机语言脚本javascript,同时还包括了移动终端运行环境appengine以及后台云服务。基于上述云os,本申请实施例提供了一种应用程序的推荐方法,用于实现不同应用程序的交互和关联,进而可为实现不同应用程序之间的跳转。本申请实施例可应用于各种云os,尤其适用于yunos。以下实施例均以yunos为例,描述基于yunos的应用程序管理方案。下面首先对yunos中与本申请实施例相关的架构以及组成部分进行说明。(1)page。在yunos中,page是对本地服务和远程服务的抽象,也即服务的基本单元,或称服务或应用程序。通过对数据和方法的封装,可以提供各种服务。一个服务场景可以包括多个page。举例来说,一个page可以是ui(用户界面)、拍照等服务,也可以是后台服务,如账户认证。运行态page称为page实例,是本地服务或远程服务的运行载体,可由dpms创建(比如dpms收到pagea发送的指向pageb的pagelink后可创建pageb的实例)、调度、管理,dpms可维护page实例的生命周期。操作系统中的应用程序可以在activedirectory(活动目录)中发布,从而可促进以服务为中心的管理和使用。应用程序通常可以在本地和通过网络为用户提供一些功能,例如,客户端/服务器应用程序、web服务器、数据库服务器以及其他基于服务器的应用程序。得益于yunos的内置web引擎(webengine),page对webpage(web网页)和webapp(web应用)提供良好的支持,因此远程服务可以通过page实现。每个page可以在yunos中被唯一标识,比如可以使用唯一资源标识符(uniformresourceidentifier,uri)对page进行标识,每个page也可以用唯一的id进行标识。uri可以通过各种方式生成,只要可以保证唯一性即可,本申请并不对uri的生成方式进行限制。page之间可以传递事件和/或数据,page可以通过用户界面(ui)与用户进行交互。uri可以理解为一个地址链接,通过该uri可以唯一地确定出其对应的page。例如,为了便于区分page提供的服务,为该page分配的uri中可以选择性地包括该服务的相关信息,例如:服务名称、服务内容、服务提供方等。例如:a公司提供的日历服务,为其对应的page分配的uri可以如下:page://calendar.a.com其中:“page://”用于区分该地址为page对应的地址,以和其他类型的地址区分;“calendar”表示提供的服务名称;“a”表示该服务的提供方。(2)pagelink。pagelink是page之间流转的信息实体,可以在page间传递信息,例如,事件和/或数据等。具体传递数据可以使用设定的应用程序编程接口的(applicationprogramminginterface,api),yunos以此为基础记录应用程序之间的关联关系。pagelink可以指定目标page的uri,并且可以包含事件、数据、服务等信息中的一种或多种。yunos中page通过pagelink以更加灵活的方式的组合,可以实现丰富的服务场景。本申请实施例中,通过pagelink可以实现各个page之间的调用跳转,例如,参阅图1所示,page1调用了page2,page2和page3分别调用了page4;其中,pagelink可以的主要结构如表1所示:表1其中,uri:表示目标page的标识(如,地址);data:表示源page传递给目标page的数据,通常是json格式;options:表示一些选项参数,留待扩展;eventname:表示事件名称;referer:表示源page的标识。在以上这些字段中,除了referer字段之外,其余字段均是由调用方在发送调用请求时指定的,而referer字段是由yunos4.0系统框架自动填入的。基于上述架构,参阅图2所示,本申请实施例中,各个智能设备由统一的服务器管理,各个智能设备会将本地的应用程序调用关系上报至服务器,而服务器将获得的应用程序调用关系进行汇总,计算得到每一个应用程序与其他应用程序之间的关联关系,再将计算结果在各个智能设备之间实现数据同步。具体的,参阅图3所示,本申请实施例中,服务器确定及运行应用程序之间的关联关系的具体流程如下:步骤300:各个智能设备分别记录各自本地的应用程序调用关系集合,其中,一条应用程序调用关系中至少包含调用方应用程序的标识和被调用方应用程序的标识。实际应用中,智能设备可以是智能手机、平板电脑、笔记本电脑、台式电脑等等。本申请实施例中,智能设备的数目为多个,此处仅以一个智能设备为例进行介绍,所有智能设备执行的操作均相同,将不再赘述。在执行步骤300时,智能设备会根据本地的各个应用程序之间发送的调用请求(如,pagelink),确定各个应用程序之间的调用关系,即确定每一条调用请求对应的调用方和被调用方,这样,对应每一条调用请求即可以生成相应的一条应用程序调用关系,而将记录的应用程序调用关系汇总,便得到了一个智能设备上的应用程序调用关系。例如,以调用请求是pagelink为例,在pagelink中至少需要携带调用方程序标识和被调用方程序标识,进一步地,还可以携带事件名称、传递数据和配置参数中的一种或任意组合。可选的,如表1所示,可以在pagelink中携带上述全部信息。而智能设备中的核心框架层会根据pagelink的使用情况,在系统运行过程中动态记录每一条应用程序调用关系,记录的数据主要包括:发送调用请求的page(即应用程序)的uri,接受调用请求的page的uri,最终生成的应用程序调用关系命令如表2所示:表2调用方被调用方page1的uripage2的uripage2的uripage4的uripage3的uripage4的uri当然,将page的uri作为标识仅为举例,实际应用中,还可以采用其他可唯一区分page的信息作为标识,如,page的应用id、序列号等等,在此不再赘述。步骤310:各个智能设备分别将自身记录的应用程序调用关系集合上报至服务器。具体的,智能设备可以按照设定的第一周期主动向服务器上报自身记录的应用程序调用关系集合,这样,服务器可以定期在各个智能设备之间进行数据同步,或者,智能设备也可以在接收到服务器的同步指令时,将自身记录的应用程序调用关系集合上报至服务器,令服务器实现一次数据同步;具体实施方式根据实际应用环境灵活配置,在此不再赘述。步骤320:服务器分别接收每一个智能设备上报的应用程序调用关系集合。本申请实施例中,每一个智能设备均上报其本地的应用程序调用关系集合,一个应用程序调用关系集合是由多条应用程序调用关系组成的,而一条应用程序调用关系中至少包含调用方应用程序的标识和被调用方应用程序的标 识,具体如表2所示。当然,在某些应用场景下,如果某个智能设备定制了符合个人使用习惯的个性化应用程序推荐服务,则服务器也可以只接收一个智能设备上报的应用程序关系集合并进行后续分析,本实施例仅以接收了多个智能设备上报的应用程序集合为例进行介绍,在此不再赘述。而在执行步骤320时,可选的,服务器可以采用但不限于以下三种方式:第一种方式为:服务器按照设定的第一周期,分别接收每一个智能设备主动上报的应用程序调用关系集合。第一周期可以是云端和客户端预先协商的,也可以是预先配置的。第二种方式为:服务器按照设定的第二周期,分别向每一个智能设备发送上报指令,并接收每一个智能设备上报的应用程序调用关系集合。这样,服务器可以在自身状态较好时,主动要求各个智能设备上报其各自的应用程序调用关系集合,从而完成数据同步。第三种方式为:服务器在接收到高层的指令时,分别向每一个智能设备发送上报指令,并接收每一个智能设备上报的应用程序调用关系集合。这样,服务器可以在管理人员认定需要进行数据同步的时候,随时要求各个智能设备上报其各自的应用程序调用关系集合,从而完成数据同步。当然,上述第三种方式可以和第一种方式、第二种方式分别结合使用,从而令数据同步的效果更为完善。当然,服务器接收多个智能设备上报的应用程序调用关系集合后,需要对接收的多个应用程序调用关系集合进行合并,并根据合并后的应用程序调用关系集合,确定应用程序之间的关联关系。步骤330:服务器基于获得的各个应用程序调用关系集合,分别计算每一个应用程序与每一个其他应用程序之间的关联关系,获得计算结果。下面以计算任意一个应用程序(以下称应用程序x)与任意一个其他应用程序(以下称应用程序a)之间的关联关系为例进行介绍,可以采用但不限于 以下几种方法:第一种方法:服务器基于获得的各个应用程序调用关系集合,获得应用程序x的作为调用方的第一总次数,以及获得应用程序x作为调用方调用应用程序a的第二总次数,并基于第二总次数和第一总次数的比值,确定应用程序x和应用程序a的关联关系。较佳的,可以将第二总次数和第一总次数的比值直接作为关联关系,也可以乘以设定系数后再作为关联关系,后续实施例中将以前一种情况为例进行说明。这样,可以以应用程序x主动调用其他应用程序的次数为基准,来确定应用程序x与每一种其他应用程序之间的关联关系。第二种方法为:服务器基于获得的各个应用程序调用关系集合,获得应用程序x作为被调用方的第三总次数,以及获得应用程序a作为调用方调用应用程序x的第四总次数,并基于第四总次数和第三总次数的比值,确定应用程序x和应用程序a的关联关系。较佳的,可以将第二总次数和第一总次数的比值直接作为关联关系,也可以乘以设定系数后再作为关联关系,后续实施例中将以前一种情况为例进行说明。这样,可以以应用程序x主动调用其他应用程序的次数为基准,来确定应用程序x与每一种其他应用程序之间的关联关系。例如,应用程序x与其他各个应用程序的关联关系如表3所示:对于所有的应用程序,均可以采用上述方式计算获得如表3所示的关联关系列表,而所有应用程序的关联关系列表集合,即是步骤330中提及的计算结果。表3进一步地,服务器可以将计算获得的应用程序的关联关系,通知各个智能设备。可选的,服务器向智能设备发送应用程序之间的关联关系时,向不同智能设备发送的应用程序之间的关联关系相同或不同。具体而言,即服务器可以向各个智能设备发送统一的应用程序之间的关联关系,也可以根据各个智能设备的个性化定制方案,或者,根据各个智能设备的请求,向不同的智能设备分别发送这些智能设备各自指定的应用程序之间的关联关系。步骤340:服务器基于上述计算结果向各个智能设备发送应用程序的推荐信息。可选的,在执行步骤340时,还可以采用但不限于以下方式:服务器分别针对每一个应用程序,根据已确定的关联关系选取关联度满足第一设定条件的至少一个其他应用程序,并且在满足第二设定条件时,将设定应用程序和/或对应的关联度满足第一设定条件的其他应用程序作为应用程序的推荐信息发送至智能设备。例如,服务器分别针对每一个应用程序,筛选出关联关系取值最大的n个其他应用程序(即满足第一设定条件),并在确定智能设备下载了某一应用程序(即满足第二设定条件)时,将所述某一应用程序及相应的n个其他应用程序作为应用程序的推荐信息发送至智能设备,其中,n为预设值且n≥。如表3所示,仍以应用程序x为例,假设n=2,则服务器确定智能设备请求下载应用程序x时,将应用程序x以及应用程序a和应用程序b,作为 应用程序的推荐信息发送至智能设备。又例如:服务器分别针对每一个应用程序,筛选出关联关系取值达到设定门限的m个其他应用程序(即满足第一设定条件),并在确定智能设备启动某一应用程序时(即满足第二设定条件),将所述某一应用程序及相应的m个其他应用程序作为应用程序的推荐信息发送至智能设备,其中,m为预设值。如表3所示,仍以应用程序x为例,假设门限值=15%,则服务器确定智能设备启动应用程序x时,将应用程序a、应用程序b和应用程序c作为应用程序x的应用程序的推荐信息发送至智能设备。另一方面,服务器向智能设备发送应用程序的推荐信息时,向不同智能设备发送的应用程序的推荐信息相同或不同。具体而言,即服务器可以向各个智能设备发送统一的应用程序的推荐信息,也可以根据各个智能设备的请求(如,上报某一应用程序),或者,根据各个智能设备的应用程序使用情况(如,下载某一应用程序),向不同的智能设备分别发送符合智能设备当前使用需求的应用程序的推荐信息。进一步地,服务器基于所述应用程序之间的关联关系,向智能设备发送应用程序的推荐信息,包含但不限于以下两种内容:内容1,发送应用程序的描述信息。例如,发送应用程序的下载地址、应用程序对应的网页页面等等。此时,智能设备尚未下载服务器推荐的应用程序。内容2:发送应用程序的服务信息。例如,发送应用程序具体提供的服务内容,如,天气预报信息、电影票推荐信息等等。此时,智能设备已下载了服务器推荐的应用程序,而服务器只是将最新的信息进行推荐。进一步地,服务器向智能设备发送应用程序的推荐信息时,可以直接发送至智能设备,也可以通过其他服务器或中继设备转发至智能设备,如果采用的 是转发方式,则服务器需要将应用程序之间的关联关系通知上述其他服务器或中继设备。步骤350:各个智能设备分别接收服务器返回的应用程序的推荐信息。可选的,应用服务器分别对应每一个应用程序配置相应的唯一资源标识符(uri),智能设备可以基于uri来识别应用程序的推荐信息。其中,每一个应用程序的uri中还附带有参数,而可选的,所述参数用于指示相应的应用程序的设定入口。这样,每个智能设备在上传本地的智能本机的应用程序调用关系集合的同时,也会获取经服务器汇总统计分析后得到的应用程序推荐信息。另一方面,智能设备也不仅仅只是向用户呈现应用程序推荐信息,也可以基于该应用程序推荐信息,自动下载和安装与本地已安装的应用程序相关联的其他应用程序,从而用户在需要时可以直接使用,当然,这一功能需要得到用户的预先授权,可以分别针对每一个应用程序预先询问用户是否允许下载相关联的应用程序,得到用户授权后,方可实施。下面采用一个具体的应用场景对上述实施例作出进一步详细说明。假设智能设备a上报的应用程序调用关系集合为:page1调用page3,page3调用page4,page1调用page4;假设智能设备b上报的应用程序调用关系集合为:page1调用page3,page2调用page5,page2调用page3;假设智能设备c上报的应用程序调用关系集合为:page1调用page3,page2调用page3,page1调用page4,page5调用page2。……那么,假设服务器计算得到各个应用程序之间的关联关系如下(假设以调用方为基准计算关联关系):page1:page1->page3:60%;page1->pag4:40%;page2:page2->page3:45%;page2->page5:50%;page3:page3->page4:10%;page4:无;page5:page5->page2:100%。假设智能设备d启动了page1,则服务器可以将page3和page4作为应用程序的推荐信息发往智能设备d;假设智能设备e请求下载page2,则服务器将page3和page5作为应用程序的推荐信息发往智能设备e;假设智能设备f同样请求下载page2,并限定只允许推荐关联度最大的一个应用程序,则服务器仅将page5作为应用程序的推荐信息发生智能设备f。区别于上述实施例,参阅图4所示,本申请实施例中,智能设备确定及运行应用程序之间的关联关系的详细流程如下:步骤400:智能设备确定应用程序之间的关联关系;其中,所述应用程序之间的关联关系至少根据所述智能设备上的应用程序调用关系集合确定;所述应用程序调用关系中至少包含调用方应用程序的标识和被调用方应用程序的标识。具体的,智能设备可以使用智能设备上的应用程序调用关系集合确定应用程序之间的关联关系;也可以将智能设备上的应用程序调用集合,与服务器通知的应用程序调用关系集合进行合并后,使用合并后的应用程序调用集合确定应用程序之间的关联关系;其中,服务器通知的应用程序调用关系集合,是服务器对多个智能设备上报的应用程序调用关系集合合并后获得的。这样,智能设备既可以根据本地的应用程序调用集合,确定出符合用户使用习惯的个性化的应用程序之间的关联关系,也可以根据服务器的通知,结合多个智能设备的应用程序调用集合,确定出更符合大多数用户使用习惯的大众化的应用程序的关联关系。下面以计算任意一个应用程序(以下称应用程序x)与任意一个其他应用程序(以下称应用程序a)之间的关联关系为例进行介绍,智能设备确定应用 程序之间的关联关系时,可以采用但不限于以下几种方法:第一种方法:服务器基于获得的各个应用程序调用关系集合,获得应用程序x的作为调用方的第一总次数,以及获得应用程序x作为调用方调用应用程序a的第二总次数,并基于第二总次数和第一总次数的比值,确定应用程序x和应用程序a的关联关系。较佳的,可以将第二总次数和第一总次数的比值直接作为关联关系,也可以乘以设定系数后再作为关联关系,后续实施例中将以前一种情况为例进行说明。这样,可以以应用程序x主动调用其他应用程序的次数为基准,来确定应用程序x与每一种其他应用程序之间的关联关系。第二种方法为:服务器基于获得的各个应用程序调用关系集合,获得应用程序x作为被调用方的第三总次数,以及获得应用程序a作为调用方调用应用程序x的第四总次数,并基于第四总次数和第三总次数的比值,确定应用程序x和应用程序a的关联关系。较佳的,可以将第二总次数和第一总次数的比值直接作为关联关系,也可以乘以设定系数后再作为关联关系,后续实施例中将以前一种情况为例进行说明。步骤410:智能设备基于所述应用程序之间的关联关系,推送应用程序的推荐信息或控制应用程序的状态。具体的,智能设备分别针对每一个应用程序,根据应用程序之间的关联关系确定出关联度满足第一设定条件的至少一个其他应用程序;以及在满足第二设定条件时,将设定应用程序和/或对应的关联度满足第一设定条件的其他应用程序作为应用程序的推荐信息进行推送;或者,对设定应用程序和/或对应的关联度满足第一设定条件的其他应用程序的状态进行控制。例如,服务器分别针对每一个应用程序,筛选出关联关系取值最大的n个其他应用程序(即满足第一设定条件),并在确定智能设备下载了某一应用程 序(即满足第二设定条件)时,将所述某一应用程序对应的n个其他应用程序作为应用程序的推荐信息进行推送,其中,n为预设值且n≥1。如表3所示,仍以应用程序x为例,假设n=2,则智能设备确定用户指示下载应用程序x时,将应用程序x对应的应用程序a和应用程序b,作为应用程序的推荐信息向用户推送。其中,应用程序的推荐信息包括:应用程序的描述信息(如,应用程序的下载地址、应用程序对应的网页页面等等)、应用程序的服务信息(即应用程序具体提供的服务内容,如,天气预报信息、电影票推荐信息等等)又例如:智能设备分别针对每一个应用程序,筛选出关联关系取值达到设定门限的m个其他应用程序(即满足第二设定条件),并在确定智能设备启动某一应用程序时,对所述某一应用程序或/和相应的m个其他应用程序的状态进行控制,其中,m为预设值。如表3所示,仍以应用程序x为例,假设门限值=15%,则智能设备确定用户指示启动应用程序x时,对应用程序a、应用程序b和应用程序c的状态进行控制。具体的,对应用程序的状态进行控制可以是进行下载(针对未下载情况),也可以是进行预加载(针对已下载情况)。上述实施例中,智能设备可以根据分别对应每一个应用程序配置相应的uri(需要与服务器侧一致),同理,每一个应用程序的uri中还附带有参数,可选的,所述参数用于指示相应的应用程序的设定入口。下面采用一个具体的应用场景对上述实施例作出进一步详细说明。假设智能设备a上的应用程序调用关系集合为:page1调用page3,page3调用page4,page1调用page4;……那么,假设智能设备a计算得到各个应用程序之间的关联关系如下(假设以调用方为基准计算关联关系):page1:page1->page3:60%;page1->pag4:40%;page2:无;page3:page3->page4:10%;page4:无;page5:无。假设智能设备a启动了page1,则智能设备a可以对page3和page4进行预加载;假设智能设备a下载了page3,则智能设备a可以将page4作为应用程序的推荐信息向用户推送。例如,用户在智能设备a上启动了“游戏软件1”,而智能设备a通过服务器下发的各个其他智能设备上报的应用程序调用关系集合,结合本地的应用程序调用关系集合,确定大多数用户在启动“游戏软件1”后,都会使用“外挂软件”,那么,智能设备a会向用户呈现“外挂软件”的推荐信息。又例如,用户在智能设备a上下载了“付款软件”,而智能设备a通过服务器下发的各个其他智能设备上报的应用程序调用关系集合,结合本地的应用程序调用关系集合,确定几乎所有用户在使用“付款软件”时,都会调用用于加强支付安全性的“控件软件”,那么,智能设备a询问用户是否下载“控件软件”,得到用户允许后,直接下载“控件软件”。之后,在用户每次启动“付款软件”时,智能设备a均对“控制软件”进行预加载。又例如:用户在智能设备a上启动了“天气预报软件”,而智能设备a通过本地的应用程序调用关系集合,确定用户每次在使用“天气预报软件”之后,都会调用“打车软件”,那么,智能设备a在启动“天气预报软件”后,会直接对“打车软件”进行预加载。基于上述实施例,参阅图5所示,本申请实施例中,提供了一种确定应用程序之间的关联关系的装置,该装置可以位于服务器中,具体地,该装置至少包括确定单元50和通信单元51,其中,确定单元50,用于根据智能设备上报的应用程序调用关系集合,确定应用 程序之间的关联关系;其中,所述应用程序调用关系中至少包含调用方应用程序的标识和被调用方应用程序的标识;通信单元51,用于向智能设备发送所述应用程序之间的关联关系。可选的,根据智能设备上报的应用程序调用关系集合,确定应用程序之间的关联关系之前,确定单元50进一步用于:通过通信单元51接收智能设备上报的应用程序调用关系集合;其中,通过通信单元51接收智能设备上报的应用程序调用关系集合,包括:按照设定的第一周期,接收智能设备主动上报的应用程序调用关系集合;或者,按照设定的第二周期,向智能设备发送上报指令,并接收智能设备上报的应用程序调用关系集合;或者,在接收到指令时,向智能设备发送上报指令,并接收智能设备上报的应用程序调用关系集合。可选的,接收智能设备上报的应用程序调用关系集合时,确定单元50用于:接收多个智能设备上报的应用程序调用关系集合;根据所述应用程序调用关系集合,确定应用程序之间的关联关系时,确定单元50用于:对接收的多个应用程序调用关系集合进行合并,并根据合并后的应用程序调用关系集合,确定应用程序之间的关联关系。可选的,向智能设备发送所述应用程序之间的关联关系时,通信单元51用于:向多个智能设备发送所述应用程序之间的关联关系;其中,向不同智能设备发送的应用程序之间的关联关系相同或不同。可选的,根据智能设备上报的应用程序调用关系集合,确定应用程序之间 的关联关系时,确定单元50用于:基于获得的应用程序调用关系集合,获得第一应用程序作为调用方的第一总次数,以及获得所述第一应用程序作为调用方调用第二应用程序的第二总次数;基于所述第二总次数和第一总次数,确定所述第一应用程序与所述第二应用程序之间的关联关系;或者,基于获得的应用程序调用关系集合,获得第一应用程序作为被调用方的第三总次数,以及获得第二应用程序作为调用方调用所述第一应用程序的第四总次数;基于所述第四总次数和第三总次数,确定所述第一应用程序与所述第二应用程序之间的关联关系;其中,所述第一应用程序为所述应用程序调用关系集合中的任意一个应用程序,所述第二应用程序为所述应用程序调用关系集合中除所述第一应用程序之外的至少一个应用程序。可选的,通信单元51进一步用于:基于所述应用程序之间的关联关系,向智能设备发送应用程序的推荐信息。可选的,所述应用程序的推荐信息包括:应用程序的描述信息,或者,应用程序的服务信息。可选的,基于所述应用程序之间的关联关系,向智能设备发送应用程序的推荐信息时,通信单元51用于:分别针对每一个应用程序,根据所述关联关系确定出关联度满足第一设定条件的至少一个其他应用程序;在满足第二设定条件时,将设定应用程序和/或对应的关联度满足第一设定条件的其他应用程序作为应用程序的推荐信息发送至智能设备。可选的,基于所述应用程序之间的关联关系,向智能设备发送应用程序的推荐信息时,通信单元51用于:基于所述应用程序之间的关联关系,向不同智能设备发送应用程序的推荐信息;其中,向不同智能设备发送的推荐信息相同或不同。可选的,确定单元50进一步用于:分别对应每一个应用程序配置相应的uri。可选的,每一个应用程序的uri中还附带有参数。可选的,所述参数用于指示相应的应用程序的设定入口。参阅图6所示,本申请实施例中,提供了一种运用应用程序之间的关联关系的装置,该装置可以位于智能设备中,具体地,该装置至少包括确定单元60和处理单元61,其中,确定单元60,用于确定应用程序之间的关联关系;其中,所述应用程序之间的关联关系至少根据所述智能设备上的应用程序调用关系集合确定;所述应用程序调用关系中至少包含调用方应用程序的标识和被调用方应用程序的标识;处理单元61,用于基于所述应用程序之间的关联关系,推送应用程序的推荐信息或控制应用程序的状态。可选的,确定应用程序之间的关联关系时,确定单元60用于:使用所述智能设备上的应用程序调用关系集合确定所述关联关系;或者,将所述智能设备上的应用程序调用集合,与服务器通知的应用程序调用关系集合进行合并后,使用合并后的应用程序调用集合确定所述关联关系;其中,所述服务器通知的应用程序调用关系集合,是服务器对多个智能设备上报的应用程序调用关系集合合并后获得的。可选的,确定应用程序之间的关联关系时,确定单元60用于:基于使用的应用程序调用关系集合,获得第一应用程序作为调用方的第一总次数,以及获得所述第一应用程序作为调用方调用第二应用程序的第二总次数;基于所述第二总次数和第一总次数,确定所述第一应用程序与所述第二应 用程序之间的关联关系;或者,基于使用的应用程序调用关系集合,获得第一应用程序作为被调用方的第三总次数,以及获得第二应用程序作为调用方调用所述第一应用程序的第四总次数;基于所述第四总次数和第三总次数,确定所述第一应用程序与所述第二应用程序之间的关联关系;其中,所述第一应用程序为所述应用程序调用关系集合中的任意一个应用程序,所述第二应用程序为所述应用程序调用关系集合中除所述第一应用程序之外的至少一个应用程序。可选的,基于所述应用程序之间的关联关系,推送应用程序的推荐信息或控制应用程序的状态时,处理单元61用于:分别针对每一个应用程序,根据所述关联关系确定出关联度满足第一设定条件的至少一个其他应用程序;在满足第二设定条件时,将设定应用程序和/或对应的关联度满足第一设定条件的其他应用程序作为应用程序的推荐信息进行推送;或者,对设定应用程序和/或对应的关联度满足第一设定条件的其他应用程序进行控制。可选的,所述应用程序的推荐信息包括:应用程序的描述信息,或者,应用程序的服务信息。可选的,控制应用程序的状态时,处理单元61用于:对应用程序进行下载,或者,对应用程序进行预加载。可选的,处理单元61进一步用于:分别对应每一个应用程序配置相应的uri。可选的,每一个应用程序的uri中还附带有参数。可选的,所述参数用于指示相应的应用程序的设定入口。可选的,基于所述应用程序之间的关联关系,控制应用程序的状态时,处理单元61用于:在检测到第一应用程序被启动后,基于所述应用程序之间的关联关系,预加载与所述第一应用程序关联的第二应用程序。可选的,基于所述应用程序之间的关联关系,控制应用程序的状态时,处理单元61用于:在检测到第一应用程序被下载,基于所述应用程序之间的关联关系,下载与所述第一应用程序关联的第二应用程序。可选的,下载与所述第一应用程序关联的第二应用程序之前,处理单元61还用于:向用户推荐与所述第一应用程序关联的第二应用程序;并根据用户的选择,确定待下载的第二应用程序。参阅图7所示,本申请实施例中,服务器至少包括处理器701和收发机702,其中,处理器701,用于读取存储器中的程序,通过收发机702执行下列过程:根据智能设备上报的应用程序调用关系集合,确定应用程序之间的关联关系;其中,所述应用程序调用关系中至少包含调用方应用程序的标识和被调用方应用程序的标识;向智能设备发送所述应用程序之间的关联关系;收发机702,用于在处理器701的控制下接收和发送数据。可选的,处理器701根据智能设备上报的应用程序调用关系集合,确定应用程序之间的关联关系之前,进一步用于:接收智能设备上报的应用程序调用关系集合;其中,处理器701接收智能设备上报的应用程序调用关系集合,包括:按照设定的第一周期,接收智能设备主动上报的应用程序调用关系集合;或者,按照设定的第二周期,向智能设备发送上报指令,并接收智能设备上报的应用程序调用关系集合;或者,在接收到指令时,向智能设备发送上报指令,并接收智能设备上报的应用 程序调用关系集合。可选的,处理器701接收智能设备上报的应用程序调用关系集合,包括:接收多个智能设备上报的应用程序调用关系集合;处理器701根据所述应用程序调用关系集合,确定应用程序之间的关联关系,包括:对接收的多个应用程序调用关系集合进行合并,并根据合并后的应用程序调用关系集合,确定应用程序之间的关联关系。可选的,处理器701向智能设备发送所述应用程序之间的关联关系,包括:向多个智能设备发送所述应用程序之间的关联关系;其中,处理器701向不同智能设备发送的应用程序之间的关联关系相同或不同。可选的,处理器701根据智能设备上报的应用程序调用关系集合,确定应用程序之间的关联关系,包括:基于获得的应用程序调用关系集合,获得第一应用程序作为调用方的第一总次数,以及获得所述第一应用程序作为调用方调用第二应用程序的第二总次数;基于所述第二总次数和第一总次数,确定所述第一应用程序与所述第二应用程序之间的关联关系;或者,基于获得的应用程序调用关系集合,获得第一应用程序作为被调用方的第三总次数,以及获得第二应用程序作为调用方调用所述第一应用程序的第四总次数;基于所述第四总次数和第三总次数,确定所述第一应用程序与所述第二应用程序之间的关联关系;其中,所述第一应用程序为所述应用程序调用关系集合中的任意一个应用程序,所述第二应用程序为所述应用程序调用关系集合中除所述第一应用程序之外的至少一个应用程序。可选的,处理器701进一步用于:基于所述应用程序之间的关联关系,向智能设备发送应用程序的推荐信息。可选的,处理器701基于所述应用程序之间的关联关系,向智能设备发送应用程序的推荐信息,包括:分别针对每一个应用程序,根据所述关联关系确定出关联度满足第一设定条件的至少一个其他应用程序;在满足第二设定条件时,将设定应用程序和/或对应的关联度满足第一设定条件的其他应用程序作为应用程序的推荐信息发送至智能设备。可选的,处理器701基于所述应用程序之间的关联关系,向智能设备发送应用程序的推荐信息,包括:基于所述应用程序之间的关联关系,向不同智能设备发送应用程序的推荐信息;其中,处理器701向不同智能设备发送的推荐信息相同或不同。可选的,处理器701基于所述应用程序之间的关联关系,控制应用程序的状态,包括:在检测到第一应用程序被启动后,基于所述应用程序之间的关联关系,预加载与所述第一应用程序关联的第二应用程序。可选的,处理器701基于所述应用程序之间的关联关系,控制应用程序的状态,包括:智能设备在检测到第一应用程序被下载,基于所述应用程序之间的关联关系,下载与所述第一应用程序关联的第二应用程序。可选的,处理器701下载与所述第一应用程序关联的第二应用程序之前,还包括:向用户推荐与所述第一应用程序关联的第二应用程序;并根据用户的选择,确定待下载的第二应用程序。在图7中,总线架构,总线可以包括任意数量的互联的总线和桥,总线将 包括由处理器701代表的一个或多个处理器和存储器代表的存储器的各种电路链接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。收发机702可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。处理器701负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器可以被用于存储处理器701在执行操作时所使用的数据。可选的,处理器701可以是中央处埋器(cpu)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或复杂可编程逻辑器件(complexprogrammablelogicdevice,cpld)。参阅图8所示,本申请实施例中,智能设备至少包括处理器801和收发机802,其中,处理器801,用于读取存储器中的程序,执行下列过程:确定应用程序之间的关联关系;其中,所述应用程序之间的关联关系至少根据所述智能设备上的应用程序调用关系集合确定;所述应用程序调用关系中至少包含调用方应用程序的标识和被调用方应用程序的标识;基于所述应用程序之间的关联关系,推送应用程序的推荐信息或控制应用程序的状态;收发机802,用于在处理器801的控制下接收和发送数据。可选的,处理器801确定应用程序之间的关联关系,包括:使用所述智能设备上的应用程序调用关系集合确定所述关联关系;或者,将所述智能设备上的应用程序调用集合,与服务器通知的应用程序调用关系集合进行合并后,使用合并后的应用程序调用集合确定所述关联关系;其中,所述服务器通知的应用程序调用关系集合,是服务器对多个智能设备上报的应 用程序调用关系集合合并后获得的。可选的,处理器801确定应用程序之间的关联关系,包括:基于使用的应用程序调用关系集合,获得第一应用程序作为调用方的第一总次数,以及获得所述第一应用程序作为调用方调用第二应用程序的第二总次数;基于所述第二总次数和第一总次数,确定所述第一应用程序与所述第二应用程序之间的关联关系;或者,基于使用的应用程序调用关系集合,获得第一应用程序作为被调用方的第三总次数,以及获得第二应用程序作为调用方调用所述第一应用程序的第四总次数;基于所述第四总次数和第三总次数,确定所述第一应用程序与所述第二应用程序之间的关联关系;其中,所述第一应用程序为所述应用程序调用关系集合中的任意一个应用程序,所述第二应用程序为所述应用程序调用关系集合中除所述第一应用程序之外的至少一个应用程序。处理器801基于所述应用程序之间的关联关系,推送应用程序的推荐信息或控制应用程序的状态,包括:分别针对每一个应用程序,根据所述关联关系确定出关联度满足第一设定条件的至少一个其他应用程序;在满足第二设定条件时,将设定应用程序和/或对应的关联度满足第一设定条件的其他应用程序作为应用程序的推荐信息进行推送;或者,对设定应用程序和/或对应的关联度满足第一设定条件的其他应用程序进行控制。处理器801控制应用程序的状态,包括:对应用程序进行下载,或者,对应用程序进行预加载。处理器801基于所述应用程序之间的关联关系,控制应用程序的状态,包括:在检测到第一应用程序被启动后,基于所述应用程序之间的关联关系,预 加载与所述第一应用程序关联的第二应用程序。处理器801基于所述应用程序之间的关联关系,控制应用程序的状态,包括:智能设备在检测到第一应用程序被下载,基于所述应用程序之间的关联关系,下载与所述第一应用程序关联的第二应用程序。处理器801下载与所述第一应用程序关联的第二应用程序之前,还包括:向用户推荐与所述第一应用程序关联的第二应用程序;并根据用户的选择,确定待下载的第二应用程序。在图8中,总线架构中,总线可以包括任意数量的互联的总线和桥,总线将包括由通用处理器801代表的一个或多个处理器和存储器代表的存储器的各种电路链接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。收发机802可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。例如:收发机802从其他设备接收外部数据。收发机802用于将处理器801处理后的数据发送给其他设备。取决于计算系统的性质,还可以提供用户接口,例如小键盘、显示器、扬声器、麦克风、操纵杆。处理器801负责管理总线和通常的处理,如前述所述运行通用操作系统。而存储器可以被用于存储处理器801在执行操作时所使用的数据。可选的,处理器801可以是cpu、asic、fpga或cpld。综上所述,本申请实施例中,基于至少一个智能设备上的应用程序调用关系集合,进行统一的信息汇总和分析,分别计算每一个应用程序和其他应用程序之间的关联关系,这样,可以通过收集智能设备上的应用程序调用关系,动态地获知各个应用程序在实际运行过程中彼此之间真正的调用关系,并通过统一汇总和分析,分出获得用户使用习惯,从而推送符合用户使用习惯的应用程序的推荐信息,进而大大提高了应用程序推荐的内容合理性,更贴近用户的使 用需求,进而有效提升了用户体验,也提升了系统的整体运行环境的合理性。本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属 于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1