运行应用程序的方法、装置及系统与流程

文档序号:15272553发布日期:2018-08-28 22:36阅读:187来源:国知局

本发明涉及计算机技术领域,特别涉及一种运行应用程序的方法、装置及系统。



背景技术:

应用程序是一种人工智能(artificialintelligence,ai)的无形产品,凝聚了应用程序开发者的辛勤劳动。为防止应用程序被盗用,应用程序的经销商向购买正版的应用程序的用户提供授权信息(例如,产品序列号、激活码、注册码)。在用户利用授权信息激活终端已安装的应用程序的情况下,该应用程序才能够在该终端上正常的运行和使用。

相关技术中,终端启动应用程序时,检测该应用程序是否被激活。若检测出该应用程序已激活,直接运行该应用程序。若检测出该应用程序未激活,获取用户输入的授权信息,并将该授权信息发送至服务器进行验证。若服务器验证出该授权信息有效(也即,是经销商提供的),则向该终端发送激活信息。该终端利用激活信息激活该应用程序,终端运行激活后的该应用程序。

然而,盗版者可直接利用专用破解程序来激活盗版的应用程序,导致终端检测出该盗版应用程序已激活,进而运行该盗版应用程序,未实现应用程序的防盗用,给应用程序的经销商仍造成极大的经济损失。



技术实现要素:

为了解决现有技术中盗版者可直接利用专用破解程序来激活盗版的应用程序,激活后的盗版应用程序可在终端中正常运行和使用的问题,本发明实施例提供了一种运行应用程序的方法、装置及系统。所述技术方案如下:

第一方面,提供了一种运行应用程序的方法,所述方法包括:接收终端在启动应用程序时发送的携带有设备标识的验证请求;当存在与所述设备标识绑定的第一账号时,生成第一临时令牌;根据所述设备标识、所述第一账号和所述第一临时令牌验证所述终端的合法性;当验证出所述终端合法时,向所述终端发送验证通过消息,所述验证通过消息用于触发所述终端运行所述应用程序。

第二方面,提供了一种运行应用程序的方法,所述方法包括:在终端启动应用程序时,向服务器发送携带有设备标识的验证请求,所述验证请求用于触发所述服务器在确定出存在与所述设备标识绑定的第一账号时生成第一临时令牌,以及还用于触发所述服务器根据所述设备标识、所述第一账号和所述第一临时令牌验证所述终端的合法性;接收所述服务器在验证出所述终端合法时发送的验证通过消息;根据所述验证通过消息运行所述应用程序。

第三方面,提供了一种运行应用程序的方法,所述方法包括:终端在启动应用程序时,向服务器发送携带有设备标识的验证请求;当所述服务器中存在与所述设备标识绑定的第一账号时,所述服务器生成第一临时令牌(英文:token),根据所述设备标识、所述第一账号和所述第一临时令牌验证所述终端的合法性;当所述服务器验证出所述终端合法时,所述服务器向所述终端发送验证通过消息;所述终端根据所述验证通过消息运行所述应用程序。

第四方面,提供了一种运行应用程序的装置,所述装置包括:第一接收模块,用于接收终端在启动应用程序时发送的携带有设备标识的验证请求;生成模块,用于存在与所述第一接收模块接收到的设备标识绑定的第一账号的情况下,生成第一临时令牌;第一验证模块,用于根据所述第一接收模块接收到的设备标识、所述第一账号和生成模块生成的第一临时令牌验证所述终端的合法性;第一发送模块,用于在所述第一验证模块验证出所述终端合法的情况下,向所述终端发送验证通过消息,所述验证通过消息用于触发所述终端运行所述应用程序。

第五方面,提供了一种运行应用程序的装置,所述装置包括:第一发送模块,用于在终端启动应用程序时,向服务器发送携带有设备标识的验证请求,所述验证请求用于触发所述服务器在确定出存在与所述设备标识绑定的第一账号时生成第一临时令牌,以及还用于触发所述服务器根据所述设备标识、所述第一账号和所述第一临时令牌验证所述终端的合法性;第一接收模块,用于接收所述服务器在验证出所述终端合法时发送的验证通过消息;运行模块,用于根据所述第一接收模块接收到的验证通过消息运行所述应用程序。

第六方面,提供了一种运行应用程序的系统,所述系统包括服务器和用户设备,所述服务器包括上述第四方面所提供的运行应用程序的装置;用户设备包括上述第五方面所提供的运行应用程序的装置。

本发明实施例提供的技术方案带来的有益效果是:

终端通过每次在应用程序启动时,向服务器发送携带有设备标识的验证请求;服务器查询与该设备标识绑定的第一账号,根据该第一账号、该设备标识以及第一临时令牌验证该终端的合法性;当服务器验证出该终端合法时,服务器向该终端发送验证通过消息;该终端根据验证通过消息运行应用程序;由于该应用程序每次启动时,都需要服务器验证该终端是否合法,服务器只有在验证出该终端为合法终端时,才向该终端发送验证通过消息,该终端才能运行该应用程序,解决了现有技术中盗版者可直接利用专用破解程序来激活盗版的应用程序,激活后的盗版应用程序可在终端中正常运行和使用的问题,达到了防止应用程序被盗用的效果。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是根据本发明部分示例性实施例示出的一种实施环境的示意图;

图2是本发明一个实施例提供的激活应用程序的流程图;

图3是本发明一个实施例中提供的根据该设备标识、该第一账号和第一临时令牌验证终端的合法性的流程图;

图4是本发明一个实施例中提供的服务器根据第一临时令牌和第二临时令牌判定该终端的合法性的流程图;

图5是本发明一个实施例提供的运行应用程序的装置的结构示意图;

图6是本发明另一个实施例提供的运行应用程序的装置的结构示意图;

图7是本发明一个实施例提供的终端的结构示意图;

图8是本发明另一个实施例提供的服务器的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

图1是根据本发明部分示例性实施例示出的一种网络架构的示意图,该网络架构可以包括:至少一个终端110和服务器120。其中:

终端110可以为安装有应用程序的任意终端,诸如智能手机、平板电脑、智能电视、膝上型便携计算机、台式计算机、智能空调、虚拟现实(virtualreality,vr)眼镜、智能机器人等安装有应用程序的终端。本实施例不限定终端的具体类型,同样也不限定终端上安装的应用程序具体为何种应用程序。

服务器120用于对终端激活应用程序时发送的授权信息进行验证,以及对运行应用程序的终端进行验证,服务器120可以是一台服务器,或者由若干台服务器组成的服务器集群,或者是一个云计算服务中心。

终端110通过无线网络或者有线网络与服务器120相连。

此外,应用程序在终端成功安装后首先需要进行激活,激活成功后终端才可以运行应用程序;该应用程序激活未成功或未激活,终端无法运行该应用程序。终端在激活应用程序的同时在服务器中将其设备标识与其对应用户的第一账号绑定,在激活之后可以通过该设备标识和第一账号运行该应用程序。其中,在本实施例中,可以通过如下图2所示的方式激活应用程序,以及通过如图3所示的方式运行应用程序。

请参考图2,其示出了本发明一个实施例提供的激活应用程序的流程图,激活应用程序可以通过如下几个步骤实现。

步骤201,终端向服务器发送授权信息、设备标识以及用户提供的第一账号。

其中,本步骤可以在终端安装完应用程序后执行。第一账号可以为用户在服务器120中注册的账号,例如,可以是安全标识符(securityidentifiers,sid)。具体应用中,第一账号还可以为用户在社交应用程序所对应的服务器中注册的账号,也可以为用户的手机号或身份证号等等。

终端的设备标识是用于标识该终端的唯一标识。例如,该终端的设备标识可以为该终端的产品序列号。

可选的,在该终端为手机终端时,设备标识可以为移动设备国际身份码(internationalmobileequipmentidentity,imei)。

一般来讲,具有防止被盗版功能的应用程序在任一终端上成功安装后便进入激活流程,进入激活流程时该终端就获取用户输入的授权信息。其中,授权信息可以为产品序列号、激活码、注册码中的任意一种,还可以为由经销商提供的其他类型的授权信息。

步骤202,服务器接收该授权信息、该设备标识和第一账号,验证该授权信息是否有效。

一般来讲,用户在购买应用程序时可获得由经销商提供的授权信息,且该授权信息被记录在服务器中。

服务器在接收到该授权信息、该设备标识和第一账号后,可根据该授权信息是否存在或者该授权信息已验证的次数确定其是否有效。比如,若服务器确定出该授权信息存在,则判定该授权信息有效,否则,判定该授权信息无效;再比如,若服务器确定出该授权信息已验证的次数高于预定次数,则判定该授权信息无效,否则,判定该授权信息有效。本实施例对服务器验证授权信息是否有效的方式不做具体限定,可根据实际情况确定。

其中,预定次数由服务器的管理人员设定,还可以由应用程序的开发者设定。例如,应用程序的开发者为了限定利用同一授权信息激活该应用程序的终端的数量,管理人员可将预定次数设定为3次。

步骤203,当该服务器验证出该授权信息有效时,该服务器将该设备标识与第一账号绑定,并将该设备标识与第一账号之间的绑定关系存储在预定列表中,然后执行步骤204。

其中,预定列表用于存储设备标识与第一账号的对应关系。

上述流程只是绑定该设备标识与第一账号的一种实现实例,终端还可以采用其他方式来绑定该设备标识与第一账号。例如,终端在获取到授权信息后,先向服务器发送携带有该授权信息的验证请求;服务器验证该授权信息是否有效,将验证结果发送至终端。该验证结果为授权信息有效时,该终端获取其设备标识以及用户提供的第一账号,将该设备标识以及第一账号发送至服务器。服务器接收该设备标识和第一账号,将该设备标识与第一账号绑定,并将该设备标识与第一账号之间的绑定关系存储在预定列表中。

步骤204,服务器向该终端发送激活信息,以便终端利用该激活信息激活该应用程序。

其中,激活信息可以为激活码,还可以为用于指示用户提交的授权信息有效的通知信息,本实施例中对激活信息不做具体限定。

其中,当服务器验证出该授权信息无效时,服务器向终端发送验证结果,该验证结果为授权信息无效。终端接收该验证结果,展示验证失败消息,该验证失败消息用于提示用户已输入的授权信息无效或提示用户重新输入有效的授权信息。

上述流程是用户通过合法途径获得应用程序并取得应用程序的经销商的授权信息后所采用的激活应用程序的流程。但是,目前还存在非法用户(如盗版者)通过非法途径取得应用程序,盗版者往往采用其他方式来激活其取得的应用程序。

例如,盗版者可通过将应用程序复制至新终端进行安装(例如,盗版者从网络中下载其他用户分享的该应用程序进行安装),利用破解程序破解并激活该应用程序。但由于该终端并不是通过向服务器提交授权信息来激活该应用程序的,导致服务器的预定列表中不存在包含该新终端的设备标识的绑定关系,也就是说,预定列表中不存在与该新终端的设备标识绑定的第一账号。

为了便于说明,本申请中,可以将通过提交授权信息来激活应用程序的终端称为合法终端,利用授权信息激活的应用程序称为正版应用程序;通过利用非法手段激活该应用程序的终端称为非法终端,利用非法手段激活的应用程序称为盗版应用程序。

有时盗版者利用非法途径取得应用程序还可能取得合法终端的设备标识,但是由于合法用户一般都会对自己的账号进行较好保护,盗版者很难同时得到合法终端的设备标识和合法用户的账号。

综上所述,在本实施例中,通过服务器在验证出终端提交的授权信息有效时,表明该终端为合法终端,将合法终端的设备标识和合法终端用户提供的第一账号进行绑定存储,以便该合法终端后续运行程序时利用其设备标识以及该第一账号验证其合法性,在验证出合法时运行该应用程序。

本申请中为阻止盗版应用程序的正常运行,在终端运行已激活的应用程序时通过执行如图3所示的几个步骤验证该终端是否为合法终端。通过验证的合法终端继续运行该应用程序,未通过验证的非法终端结束运行该应用程序。

请参考图3,其示出了本发明一个实施例提供的运行应用程序的方法的流程图。该方法可以包括如下几个步骤。

步骤301,终端启动应用程序时,向服务器发送携带有设备标识的验证请求。

每次终端启动已激活的应用程序时,终端获取设备标识,向服务器发送携带有该设备标识的验证请求。

需要说明的是:一般来讲,终端获取到的设备标识为该终端自身的设备标识。但是,若该终端盗用了其他合法终端的设备标识,该终端获取到的设备标识是其盗用的设备标识。

步骤302,服务器接收该验证请求,在服务器中不存在与该验证请求携带的设备标识绑定的第一账号时,向该终端发送验证失败消息。

服务器在接收到携带有设备标识的验证请求后,在预定列表中查询与该设备标识绑定的第一账号。若未查询到,则表明该终端的用户利用非法手段激活了该应用程序,该终端上安装的应用程序是盗版的。此时,服务器判定该终端不合法,向该终端发送验证失败消息。

步骤303,终端根据该验证失败消息结束运行该应用程序。

终端接收到服务器发送的验证失败消息后,结束运行该应用程序。此时,该终端是否合法的验证已完成,不再执行步骤304。

步骤304,当服务器中存在与该设备标识绑定的第一账号时,服务器生成第一临时令牌,利用第一临时令牌加密该第一账号得到第一字符串,向该终端发送该第一字符串。

一般来讲,合法终端向服务器发送其设备标识后,服务器能够查询到与该设备标识绑定的第一账号。

然而,若非法终端盗用了其他合法终端的设备标识,服务器也能够查询到与该设备标识绑定的第一账号。因此,服务器中存在与该设备标识绑定的第一账号时,服务器还需要进行进一步地验证该终端的合法性。

具体的,当服务器中存在与该设备标识绑定的第一账号,服务器生成一个第一临时令牌,服务器利用预定加密算法和第一临时令牌加密该第一账号得到第一字符串,向该终端发送该第一字符串。

其中,预定加密算法由系统开发人员设定,例如系统开发人员可将该预定加密算法设定为安全哈希算法(securehashalgorithm,sha1)。

步骤305,终端接收第一字符串,利用用户提供的第二账号解密该第一字符串得到第二临时令牌,向服务器发送该第二临时令牌。

其中,第二账号可以为该应用程序记录的最近上一次验证所使用的账号,例如,该账号可能是上一次验证时用户输入的,还可以为该应用程序启动后用户输入的账号。

该终端接收服务器发送的第一字符串,获取第二账号,利用用户提供的第二账号和预定解密算法解密第一字符串得到第二临时令牌,并向服务器发送第二账号。可选的,该终端还可以获取设备标识,向服务器发送该第二临时令牌的同时还发送该设备标识。

其中,预定解密算法是与服务器所使用的预定加密算法相对应的解密算法。

需要说明的是,若该终端在步骤301中向服务器发送的设备标识不是终端自身的设备标识,而是盗用的其他合法终端的。通常由于该终端用户无法盗用合法用户的账号,所以无法提供与该设备标识绑定的第一账号,只能提供与该第一账号不一致的第二账号,则该终端利用第二账号和预定解密算法解密得到的第二临时令牌与第一临时令牌不同。

若该终端为合法终端,该终端对应的合法用户清楚该应用程序的激活过程中该终端向服务器提交的第一账号。也就是说,在验证该终端是否为合法终端的过程中,该合法用户能够提供与第一账号相同的第二账号,该终端利用该第二账号解密该第一字符串得到的第二临时令牌与第一临时令牌相同。

另外需要说明的是:在第二账号与该设备标识绑定的第一账号不同时,终端在利用用户提供的第二账号解密该第一字符串可能会出现失败的情况,当出现失败的情况时,终端直接结束运行该应用程序,使得盗版者无法使用该应用程序。

步骤306,服务器接收第二临时令牌,根据第一临时令牌和第二临时令牌判定该终端的合法性。

若第二临时令牌与第一临时令牌相同,则表明该终端用户提供的第二账号与第一账号相同,服务器判定该终端合法;若第二临时令牌与第一临时令牌不相同,则表明该终端用户提供的第二账号与第一账号不相同,服务器判定该终端不合法。

可选的,本步骤可通过如图4所示的几个步骤实现。

步骤3061,服务器利用第一临时令牌加密该设备标识得到第二字符串。

服务器在利用第一临时令牌和预定加密算法加密第一账号时,同时利用第一临时令牌和预定加密算法加密该设备标识得到第二字符串。

步骤3062,服务器利用该第二临时令牌加密该设备标识得到第三字符串。

服务器在接收到终端发送的第二临时令牌以及设备标识后,利用该第二临时令牌加密该设备标识得到第三字符串。

步骤3063,如果第二字符串与第三字符串相同,则服务器判定该终端合法,否则判定该终端不合法。

当第二字符串与第三字符串相同时,表明第二临时令牌与第一临时令牌相同,进而判断出用户提供的第二账号与第一账号相同,所以可以得出该用户是合法用户,在其对应的合法终端上运行应用程序。

由于利用相同预定加密算法和相同临时令牌加密设备标识得到字符串必定相同,第一临时令牌和第二临时令牌相同的情况下,第二字符串和第三字符串也应当相同。因此,服务器在确定出第二字符串与第三字符串相同时,可直接判定该终端合法;服务器在确定出第二字符串与第三字符串不相同时,判定该终端不合法。

可选的,上述步骤305和306是本申请验证终端合法性的一种实现实例,除了该实例,本申请还可以采用其他方式来实现。例如终端在解密第一字符串得到第二临时令牌后,也可直接利用预定加密算法和第二临时令牌加密其设备标识得到第三字符串,向服务器发送该第三字符串。服务器根据第二字符串和第三字符串判定该终端的合法性。

也就是说,步骤305可以替换为:若该终端利用用户提供的第二账号解密该第一字符串得到第二临时令牌,该终端利用预定加密算法和第二临时令牌加密其设备标识得到第三字符串,向服务器发送该第三字符串。

同时,步骤306可以替换为:服务器利用预定加密算法和第一临时令牌加密终端发送的设备标识得到第二字符串,在接收到该第三字符串后,直接确定第二字符串与第三字符串是否相同。若相同,则服务器判定该终端合法,否则判定该终端不合法。

步骤307,当服务器验证出该终端合法时,服务器向该终端发送验证通过消息。

其中,该验证通过消息用于触发终端运行该应用程序。

步骤308,该终端接收该验证通过消息,根据该验证通过消息运行该应用程序。

步骤309,当该服务器验证出该终端不合法时,服务器向该终端发送验证失败消息,执行步骤303。

综上所述,本实施例提供的运行应用程序的方法,终端通过每次在应用程序启动时,向服务器发送携带有设备标识的验证请求;服务器查询与该设备标识绑定的第一账号,根据该第一账号、该设备标识以及第一临时令牌验证该终端的合法性;当服务器验证出该终端合法时,服务器向该终端发送验证通过消息;该终端根据验证通过消息运行应用程序;由于该应用程序每次启动时,都需要服务器验证该终端是否合法,服务器只有在验证出该终端为合法终端时,才向该终端发送验证通过消息,该终端才能运行该应用程序,解决了现有技术中盗版者可直接利用专用破解程序来激活盗版的应用程序,激活后的盗版应用程序可在终端中正常运行和使用的问题,达到了防止应用程序被盗用的效果。

另外,服务器通过向终端发送利用第一临时令牌加密第一账号得到的第一字符串,使得盗用者即使截获该第一字符串,也不能成功解密该字符串得到第一账号,保证了第一账号的安全,即使盗用者截获了合法终端的设备标识,由于无法获取第一账号,非法终端仅利用合法终端的设备标识仍无法运行其上安装的盗版应用程序。

另外,只有在用户提供的第二账号与服务器中存储的该设备标识对应的第一账号相同时,终端通过利用用户提供的第二账号解密该第一字符串得到第二临时令牌才与第一服务器生成的第一临时令牌相同,由于在终端用户提供的第二账号和第一账号相同时,表明该终端为合法终端,使得服务器能够根据第一临时令牌和第二临时令牌判定终端的合法性。

另外,当服务器中不存在与该设备标识绑定的第一账号,表明该终端用户通过非法手段激活了该应用程序,并未通过购买正版应用程序获得授权信息、利用授权信息激活该应用程序,该终端不合法、为非法终端。服务器在确定出终端不合法时,向终端发送验证失败消息,使得终端根据验证失败消息结束运行该应用程序,成功的阻止了非法终端上盗版应用程序的运行。

需要补充说明的是,上述实施例中关于服务器侧的步骤可以单独实现成为服务器侧的运行应用程序的方法,关于终端侧的步骤可以单独实现成为终端侧的运行应用程序的方法。

请参考图5,其示出了本发明一个实施例提供的运行应用程序的装置的结构示意图,本实施例以该运行应用程序的装置用于图1所示的服务器120中来举例说明。如图5所示,该运行应用程序的装置可以包括:第一接收模块510、生成模块520、第一验证模块530和第一发送模块540。

第一接收模块510,用于接收终端在启动应用程序时发送的携带有设备标识的验证请求;

生成模块520,用于存在与第一接收模块510接收到的设备标识绑定的第一账号的情况下,生成第一临时令牌;

第一验证模块530,用于根据第一接收模块510接收到的设备标识、该第一账号和生成模块520生成的第一临时令牌验证该终端的合法性;

第一发送模块540,用于当第一验证模块530验证出该终端合法时,向该终端发送验证通过消息,验证通过消息用于触发该终端运行该应用程序。

可选的,第一验证模块530,包括:加密单元、接收单元和判定单元。

加密单元,用于利用生成模块520生成的第一临时令牌加密该第一账号得到第一字符串,向该终端发送该第一字符串;

接收单元,用于接收该终端利用用户提供的第二账号解密该第一字符串得到的第二临时令牌;

判定单元,用于根据生成模块520生成的第一临时令牌和接收单元接收到的第二临时令牌判定该终端的合法性。

可选的,该判定单元,包括:加密子单元、获取子单元和判定子单元。

加密子单元,用于利用生成模块520生成的第一临时令牌加密该设备标识得到第二字符串;

获取子单元,用于获取利用接收单元接收到的第二临时令牌加密该设备标识得到的第三字符串;

判定子单元,用于当加密子单元生成的第二字符串与获取子单元生成的第三字符串相同时,判定该终端合法。

可选的,判定子单元,还用于当加密子单元生成的第二字符串与获取子单元生成的第三字符串不相同时,判定该终端不合法。

可选的,该运行应用程序的装置,还包括:

第二发送模块,用于不存在与该设备标识绑定的第一账号或者验证出该终端不合法的情况下,向该终端发送验证失败消息,验证失败消息用于触发该终端结束运行该应用程序。

可选的,该运行应用程序的装置,还包括:

第二接收模块,用于接收终端发送的授权信息、设备标识以及用户提供的第一账号;

第二验证模块,用于验证第二接收模块接收到的授权信息是否有效;

绑定模块,用于在第二验证模块验证出第二接收模块接收到的授权信息有效的情况下,将第二接收模块接收到的设备标识与第二接收模块接收到的用户提供的第一账号绑定并存储。

综上所述,本实施例提供的运行应用程序的装置,服务器通过在接收到终端发送的携带有设备标识的验证请求时,服务器查询与该设备标识绑定的第一账号,根据该第一账号、该设备标识以及第一临时令牌验证该终端的合法性;在验证出该终端合法,向该终端发送验证通过消息;该终端根据验证通过消息运行应用程序;由于该终端每次应用程序每次启动发送验证请求时,只有服务器在验证出该设备为合法设备时,该终端上的该应用程序才能运行,解决了现有技术中盗版者可直接利用专用破解程序来激活盗版的应用程序,激活后的盗版应用程序可在终端中正常运行和使用的问题,达到了防止应用程序被盗用的效果。

需要说明的是:上述实施例中提供的运行应用程序的装置在运行应用程序时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将服务器的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的运行应用程序的装置与运行应用程序的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

请参考图6,其示出了本发明另一个实施例提供的运行应用程序的装置的结构示意图,本实施例以该运行应用程序的装置用于图1所示的终端110中来举例说明。如图6所示,该运行应用程序的装置可以包括:第一发送模块610、第一接收模块620和运行模块630。

第一发送模块610,用于在终端启动应用程序时,向服务器发送携带有设备标识的验证请求,该验证请求用于触发服务器在确定出存在与该设备标识绑定的第一账号时生成第一临时令牌,以及还用于触发服务器根据该设备标识、该第一账号和该第一临时令牌验证该终端的合法性;

第一接收模块620,用于接收服务器在验证出该终端合法时发送的验证通过消息;

运行模块630,用于根据第一接收模块620接收到的验证通过消息运行该应用程序。

可选的,该运行应用程序的装置,还包括:

第二接收模块,用于接收服务器利用第一临时令牌加密第一账号得到的第一字符串;

解密模块,用于利用用户提供的第二账号解密第二接收模块接收到的第一字符串得到第二临时令牌;

第二发送模块,用于向服务器发送解密模块解密得到的第二临时令牌,以便服务器根据该第一临时令牌和该第二临时令牌判定终端的合法性。

可选的,该运行应用程序的装置,还包括:

结束模块,用于接收服务器确定出不存在与第一发送模块610设备标识绑定的第一账号或验证出该终端不合法时发送的验证失败消息,根据该验证失败消息结束运行该应用程序。

可选的,该运行应用程序的装置,还包括:

第三发送模块,用于向服务器发送授权信息、设备标识以及用户提供的第一账号,以便用户在验证出该授权信息有效时将该设备标识与该用户提供的第一账号绑定并存储。

综上所述,本实施例提供的运行应用程序的装置,终端通过每次在应用程序启动时,向服务器发送携带有设备标识的验证请求;服务器查询与该设备标识绑定的第一账号,根据该第一账号、该设备标识以及第一临时令牌验证该终端的合法性;当服务器验证出该终端合法时,服务器向该终端发送验证通过消息;该终端根据验证通过消息运行应用程序;由于该终端每次在启动应用程序时,都需要服务器验证该终端是否合法,服务器只有在验证出该终端为合法终端时,才向该终端发送验证通过消息,该终端才能运行该应用程序,解决了现有技术中盗版者可直接利用专用破解程序来激活盗版的应用程序,激活后的盗版应用程序可在终端中正常运行和使用的问题,达到了防止应用程序被盗用的效果。

需要说明的是:上述实施例中提供的运行应用程序的装置在运行应用程序时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将终端的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的运行应用程序的装置与运行应用程序的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中的存储器中所包含的计算机可读存储介质;也可以是单独存在,未装配入终端中的计算机可读存储介质。该计算机可读存储介质存储有一个或者一个以上程序,该一个或者一个以上程序被一个或者一个以上的处理器用来执行上述终端侧的运行应用程序的方法或者用来执行上述服务器侧的运行应用程序的方法。

请参见图7所示,其示出了本发明部分实施例中提供的终端的结构示意图。该终端700用于实施上述实施例提供的运行应用程序的方法。本发明中的终端700可以包括一个或多个如下组成部分:用于执行计算机程序指令以完成各种流程和方法的处理器,用于信息和存储程序指令随机接入存储器(ram)和只读存储器(rom),用于存储数据和信息的存储器,i/o设备,界面,天线等。具体来讲:

终端700可以包括射频(英文:radiofrequency,简称:rf)电路710、存储器720、输入单元730、显示单元740、传感器750、音频电路760、无线保真(英文:wirelessfidelity,简称:wifi)模块770、处理器780、电源782、摄像头790等部件。本领域技术人员可以理解,图7中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

下面结合图7对终端700的各个构成部件进行具体的介绍:

rf电路710可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器780处理;另外,将设计上行的数据发送给基站。通常,rf电路包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(英文:lownoiseamplifier,简称:lna)、双工器等。此外,rf电路710还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(英文:globalsystemofmobilecommunication,简称:gsm)、通用分组无线服务(英文:generalpacketradioservice,简称:gprs)、码分多址(英文:codedivisionmultipleaccess,简称:cdma)、宽带码分多址(英文:widebandcodedivisionmultipleaccess,简称:wcdma)、长期演进(英文:longtermevolution,简称:lte)、电子邮件、短消息服务(英文:shortmessagingservice,简称:sms)等。

存储器720可用于存储软件程序以及模块,处理器780通过运行存储在存储器720的软件程序以及模块,从而执行终端700的各种功能应用以及数据处理。存储器720可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端700的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器720可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

输入单元730可用于接收输入的数字或字符信息,以及产生与终端700的用户设置以及功能控制有关的键信号输入。具体地,输入单元730可包括触控面板731以及其他输入设备732。触控面板731,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板731上或在触控面板731附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板731可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器780,并能接收处理器780发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板731。除了触控面板731,输入单元730还可以包括其他输入设备732。具体地,其他输入设备732可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。

显示单元740可用于显示由用户输入的信息或提供给用户的信息以及终端700的各种菜单。显示单元740可包括显示面板741,可选的,可以采用液晶显示器(英文:liquidcrystaldisplay,简称:lcd)、有机发光二极管(英文:organiclight-emittingdiode,简称:oled)等形式来配置显示面板741。进一步的,触控面板731可覆盖显示面板741,当触控面板731检测到在其上或附近的触摸操作后,传送给处理器780以确定触摸事件的类型,随后处理器780根据触摸事件的类型在显示面板741上提供相应的视觉输出。虽然在图7中,触控面板731与显示面板741是作为两个独立的部件来实现终端700的输入和输入功能,但是在某些实施例中,可以将触控面板731与显示面板741集成而实现终端700的输入和输出功能。

终端700还可包括至少一种传感器750,比如陀螺仪传感器、磁感应传感器、光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板741的亮度,接近传感器可在终端700移动到耳边时,关闭显示面板741和/或背光。作为运动传感器的一种,加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别终端姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端700还可配置的气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。

音频电路760、扬声器761,传声器762可提供用户与终端700之间的音频接口。音频电路760可将接收到的音频数据转换后的电信号,传输到扬声器761,由扬声器761转换为声音信号输出;另一方面,传声器762将收集的声音信号转换为电信号,由音频电路760接收后转换为音频数据,再将音频数据输出处理器780处理后,经rf电路710以发送给比如另一终端,或者将音频数据输出至存储器720以便进一步处理。

wifi属于短距离无线传输技术,终端700通过wifi模块770可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图7示出了wifi模块770,但是可以理解的是,其并不属于终端700的必须构成,完全可以根据需要在不改变公开的本质的范围内而省略。

处理器780是终端700的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或执行存储在存储器720内的软件程序和/或模块,以及调用存储在存储器720内的数据,执行终端700的各种功能和处理数据,从而对终端进行整体监控。可选的,处理器780可包括一个或多个处理单元;优选的,处理器780可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器780中。

终端700还包括给各个部件供电的电源782(比如电池),优选的,电源可以通过电源管理系统与处理器782逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。

摄像头790一般由镜头、图像传感器、接口、数字信号处理器、cpu、显示屏幕等组成。其中,镜头固定在图像传感器的上方,可以通过手动调节镜头来改变聚焦;图像传感器相当于传统相机的“胶卷”,是摄像头采集图像的心脏;接口用于把摄像头利用排线、板对板连接器、弹簧式连接方式与终端主板连接,将采集的图像发送给所述存储器720;数字信号处理器通过数学运算对采集的图像进行处理,将采集的模拟图像转换为数字图像并通过接口发送给存储器720。

尽管未示出,终端700还可以包括蓝牙模块等,在此不再赘述。

终端700除了包括一个或者多个处理器780,还包括有存储器,以及一个或者多个程序,其中一个或者多个程序存储于存储器中,并被配置成由一个或者多个处理器执行。上述一个或者一个以上程序包含用于执行上述运行应用程序的方法的指令。

请参考图8,其示出了本发明一个实施例提供的服务器的结构示意图。该服务器用于实施上述实施例中提供的运行应用程序的方法。具体来讲:

参照图8,服务器800包括处理组件822,其进一步包括一个或多个处理器,以及由存储器832所代表的存储器资源,用于存储可由处理部件822执行的指令,例如应用程序。存储器832中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件822被配置为执行指令,以执行上述运行应用程序的方法。

服务器800还可以包括一个电源组件826被配置为执行服务器800的电源管理,一个有线或无线网络接口850被配置为将服务器800连接到网络,和一个输入输出(i/o)接口858。服务器800可以操作基于存储在存储器832的操作系统,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm或类似。

术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或隐含所指示的技术特征的数量。由此,限定的“第一”、“第二”的特征可以明示或隐含地包括一个或者更多个该特征。在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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