一种软件的保护方法及系统
技术领域
本发明涉及软件技术领域,尤其涉及一种软件的保护方法及系统。
背景技术
随着机顶盒技术的发展,机顶盒软件的开发和升级速度也日趋加快。软件供应商在为机顶盒提供软件、服务用户的同时,也同样需要保护软件信息,维护自身权益。现有技术中,软件供应商提供软件的方法通常为,将研发出的软件或升级软件提供给机顶盒运营商,由机顶盒运营商通过TS流传输至机顶盒终端,供用户安装使用。在这一软件传送的过程中,机顶盒运营商在接收软件、传送软件的过程中很容易造成软件信息泄露的隐患,并且,机顶盒运营商也很容易误将软件传送至权限等级低的用户,这些问题将损害软件供应商和机顶盒运营商的利益。
发明内容
本发明实施例可通过检验软件的使用期限,有效地维护软件供应商的权益。
具体的,本发明实施例提供的一种软件的保护方法,其可包括:
终端服务器接收前端服务器传输的传输流,所述传输流携带所述前端服务器欲传输的软件的软件数据包,所述软件数据包携带使用有效期以及时效检验消息;
提取所述传输流中的软件数据包,响应所述时效检验消息并对所述软件数据包进行时效检验;
若所述时效检验成功,则继续接收携带所述软件数据包的传输流,直到接收到完整的软件,所述软件携带使用有效期以及时效检验消息;
安装所述软件时,终端服务器响应所述时效检验消息并对接收到的所述软件进行时效检验;
若所述时效检验成功,则安装所述软件;若所述时效检验不成功,则提示软件安装错误。
较佳的,提取所述传输流中的软件数据包,响应所述时效检验消息并对所述软件数据包进行时效检验之后,若所述时效检验不成功,则停止接收所述传输流,并提示接收错误。
较佳的,对所述软件数据包进行时效检验包括:
从接收到的第一个所述软件数据包获取所述软件数据包的使用有效期;
判断当前时间是否在所述软件数据包的使用有效期内;
若所述当前时间在所述软件数据包的使用有效期内,则认为时效检验成功;或者,若所述当前时间不在所述软件数据包的使用有效期内,则认为时效检验不成功。
较佳的,终端服务器响应所述时效检验消息并对接收到的所述软件进行时效检验包括:
从所述软件获取所述软件的使用有效期;
判断当前时间是否在所述软件的使用有效期内;
若所述当前时间在所述软件的使用有效期内,则认为时效检验成功;若所述当前时间不在所述软件的使用有效期内,则认为时效检验不成功。
相应的,本发明实施例提供的一种软件的传输方法,其可包括:
通过传输流传输软件时,前端服务器响应所述软件中携带的时效检验消息并对所述软件进行时效检验;
若所述时效检验成功,则将所述软件通过传输流传送至终端服务器;或者,若所述时效检验不成功,则提示软件传输错误。
较佳的,前端服务器对待传输的软件进行时效检验包括:
从所述软件获取所述软件的使用有效期;
若所述软件带有使用有效期,则判断当前时间是否在所述使用有效期内;
若所述当前时间在所述使用有效期内,则认为时效检验成功;若所述当前时间不在所述使用有效期内,则认为时效检验不成功。
相应的,本发明实施例提供的一种终端服务器,其可包括:
接收模块,用于接收前端服务器传输的传输流,所述传输流携带所述传输服务器欲传输的软件的软件数据包,所述软件数据包携带使用有效期以及时效检验消息;
提取模块,用于提取所述传输流中的软件数据包;
终端检验模块,用于响应所述时效检验消息并对所述提取模块提取到的所述软件数据包进行时效检验;还用于所述时效检验成功时,发送时效检验成功消息并发送至所述接收模块;
所述接收模块,还用于接收到所述终端检验模块发送的所述时效检验成功消息后,继续接收携带所述软件数据包的传输流,接收完整的软件,所述软件携带使用有效期以及时效检验消息;
所述终端检验模块,还用于安装所述软件时,响应所述时效检验消息并对所述接收模块接收到的所述软件进行时效检验;还用于所述时效检验成功时,生成继续安装提示消息并发送至安装模块;还用于所述时效检验不成功时,生成软件安装错误消息并发送至终端服务器;
安装模块,还用于接收到所述终端检验模块发送的所述继续安装提示消息后,安装所述软件。
较佳的,所述终端检验模块还用于所述时效检验不成功时,发送时效检验失败消息并发送至所述接收模块;
所述接收模块还用于接收到所述终端检验模块发送的所述时效检验失败消息后,停止接收所述传输流,并生成接收错误提示消息并发送至所述终端服务器。
较佳的,所述终端检验模块包括:
第一获取单元,用于从接收到的第一个所述软件数据包获取所述软件数据包的使用有效期;
第一判断单元,用于判断当前时间是否在所述第一获取单元获取到的所述软件数据包的使用有效期内;还用于判断出当前时间在所述软件数据包的使用有效期内时,生成终端检验成功消息并发送至所述接收模块;还用于判断出当前时间不在所述软件数据包的使用有效期内时,生成终端检验失败消息并发送至所述接收模块。
较佳的,所述终端检验模块还包括:
第二获取单元,用于从所述软件获取所述软件的使用有效期;
第二判断单元,用于判断当前时间是否在所述第二获取单元获取到的所述软件的使用有效期内;还用于判断出当前时间在所述软件的使用有效期内时,生成继续安装提示消息并发送至所述安装模块;还用于判断出当前时间不在所述软件的使用有效期内时,生成软件安装错误消息并发送至终端服务器。
相应的,本发明实施例提供的一种前端服务器,其可包括:
前端检验模块,通过传输流传输软件时,用于响应所述软件中携带的时效检验消息并对所述软件进行时效检验;还用于所述时效检验成功时,生成前端检验成功消息并发送至传输模块;还用于所述时效检验不成功时,生成前端检验失败消息并发送至传输模块;
传输模块,用于接收到所述前端检验模块发送的所述前端检验成功消息后,将所述软件通过传输流传送至终端服务器;还用于接收到所述前端检验模块发送的所述前端检验失败消息后,生成软件传输错误提示消息。
较佳的,所述前端检验模块包括:
获取单元,用于从所述软件获取所述软件的使用有效期;
判断单元,用于判断当前时间是否在所述获取单元获取到的所述使用有效期内;还用于判断出当前时间在所述使用有效期内时,生成前端检验成功消息并发送至所述传输模块;还用于判断出当前时间不在所述使用有效期内时,生成前端检验失败消息并发送至所述传输模块。
相应的,本发明实施例提供的一种软件的保护系统,其可包括终端服务器和前端服务器,所述终端服务器为前述的终端服务器,所述前端服务器前述的前端服务器。
本发明实施例可通过检验软件的使用期限,有效地维护软件供应商的权益。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图是本发明实施例的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的软件的保护方法的一实施例流程示意图;
图2为本发明的软件的传输方法的一实施例流程示意图;
图3为本发明的终端服务器的一实施例结构组成示意图;
图4为本发明的终端服务器的另一实施例结构组成示意图;
图5为本发明的终端服务器的一实施例流程示意图;
图6为本发明的前端服务器的一实施例结构组成示意图;
图7为本发明的前端服务器的另一实施例结构组成示意图;
图8为本发明的前端服务器的一实施例流程示意图;
图9为本发明的软件的保护系统一实施例结构组成示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的一种软件的保护方法,其可包括:终端服务器接收前端服务器传输的传输流,所述传输流携带所述前端服务器欲传输的软件的软件数据包,所述软件数据包携带使用有效期以及时效检验消息;提取所述传输流中的软件数据包,响应所述时效检验消息并对所述软件数据包进行时效检验;若所述时效检验成功,则继续接收携带所述软件数据包的传输流,直到接收到完整的软件,所述软件携带使用有效期以及时效检验消息;安装所述软件时,终端服务器响应所述时效检验消息并对接收到的所述软件进行时效检验;若所述时效检验成功,则安装所述软件;若所述时效检验不成功,则提示软件安装错误。本发明实施例可通过检验软件的使用期限,有效地维护软件供应商的权益。
下面结合附图及具体实施方式,对本发明实施例的技术方案进行详细说明。
如图1所示,本发明提供的一种软件的保护方法的一实施例可以包括以下步骤:
步骤S110,终端服务器接收前端服务器传输的传输流,所述传输流携带所述前端服务器欲传输的软件的软件数据包,所述软件数据包携带使用有效期以及时效检验消息。终端服务器从前端服务器接收软件时,通常是以传输流的方式传送的,传输流传送的软件可以为用于安装于机顶盒的软件,或者升级软件。由于传输流携带传输数据的容量有限,在传输时,前端服务器通常是通过传输流工具制作若干个软件数据包通过传输流传送至终端服务器的方式,故终端服务器接收软件时通常是以软件数据包的方式接收。此外,为了实现保护软件供应商的权益,本发明实施例的前端服务器传输的软件需带有使用有效期和时效检验消息,其中,使用有效期可以为一种规定的起始日期和截止日期,也可以为一种以激活日期为基准的规定时间段;时效检验消息为一种必要的使用要求提示消息,用于提示终端服务器必须基于当前时间进行时效检验,并且使终端不能在超出使用有效期范围内使用该软件。例如,前端服务器欲传输的软件为一种升级软件,该升级软件带有规定时间为2013年3月1日至2013年3月31日的使用有效期,以及时效检验消息,那么机顶盒等终端服务器必须在2013年3月1日至2013年3月31日内接收该软件,并且,使用该软件时应软件的使用要求,对该软件进行时效检验。
步骤S111,提取所述传输流中的软件数据包,响应所述时效检验消息并对所述软件数据包进行时效检验。如步骤S110所提及的软件及软件数据包,本步骤主要是对终端服务器接收到的第一个软件数据包进行使用有效期的检验,具体实施中,终端服务器首先从接收到的第一个所述软件数据包获取所述软件数据包的使用有效期;判断当前时间是否在所述软件数据包的使用有效期内;若所述当前时间在所述软件数据包的使用有效期内,则认为时效检验成功;若所述当前时间不在所述软件数据包的使用有效期内,则认为时效检验不成功。本步骤的时效检验主要是改进了从传输流接收软件的方式,若时效检验不成功,则代表该升级软件已经过期,那么终端服务器也无需再继续接收传输流中的软件,例如,机顶盒接收到第一个升级软件的软件数据包时,首先获取该软件数据包的使用有效期(2013年3月1日至2013年3月31日),并且判断当前时间是否在2013年3月1日至2013年3月31日内,若当前时间为2013年3月2日,判断结果为当前时间在使用有效期内,则认为时效检验成功;若当前时间为2013年4月3日,判断结果为当前时间不在使用有效期内,则认为时效检验不成功。
步骤S112,若所述时效检验成功,则继续接收携带所述软件数据包的传输流,直到接收到完整的软件,所述软件携带使用有效期以及时效检验消息。若步骤S111判断出时效检验成功,那么本步骤将继续接受完整的软件。此外,若步骤S111判断出时效检验不成功,那么将机顶盒将停止接收传输流,并提示接收错误。
步骤S113,安装所述软件时,终端服务器响应所述时效检验消息并对接收到的所述软件进行时效检验。如步骤S110提及的软件,在进行安装使用时,终端服务器将接收到该软件发起的时效检验消息。具体实施中,终端服务器响应该软件发起的时效检验消息,并对接收到的所述软件进行时效检验包括:从所述软件获取所述软件的使用有效期;判断当前时间是否在所述软件的使用有效期内;若所述当前时间在所述软件的使用有效期内,则认为时效检验成功;若所述当前时间不在所述软件的使用有效期内,则认为时效检验不成功。本步骤是基于终端机顶盒平台上对该软件的进一步检验,主要是为了检验安装该软件的时间是否在该软件的使用有效期内。例如,机顶盒接收到该升级软件后的一段时间进行了升级软件安装,此时仍需进行时效校验,如前述步骤所提及的,若安装时间为2013年3月5日,那么此时仍在该升级软件的使用有效期内,那么则认为本次时效检验成功;若安装时间为2013年4月9日,那么此时已经超出该升级软件的使用有效期,则认为本次时效检验不成功。这一检验步骤可以防止该软件被泄露后产生的不良影响。
步骤S114,若所述时效检验成功,则安装所述软件;若所述时效检验不成功,则提示软件安装错误。
本发明实施例通过检验软件的使用期限,保证了软件只能在其使用有效期内被接收和使用,降低了软件信息泄露、以及使用权限所带来的不良影响,有效地维护软件供应商的权益。
相应的,本发明实施例提供了一种软件的传输方法,其可包括:通过传输流传输软件时,前端服务器响应所述软件中携带的时效检验消息并对所述软件进行时效检验;若所述时效检验成功,则将所述软件通过传输流传送至终端服务器;若所述时效检验不成功,则提示软件传输错误。本发明实施例的传输方法可通过检验软件的使用期限,有效地维护软件供应商的权益。
下面结合附图及具体实施方式,对本发明实施例的技术方案进行详细说明。
如图2所示,本发明提供的一种软件的传输方法的一实施例可以包括以下步骤:
步骤S210,通过传输流传输软件时,前端服务器响应所述软件中携带的时效检验消息并对所述软件进行时效检验。前端服务器向终端服务器传送软件时,通常是以传输流的方式传送的,传输流传送的软件可以为用于安装于机顶盒的软件,或者升级软件。由于传输流携带传输数据的容量有限,在传输时,前端服务器通常是通过传输流工具制作若干个软件数据包通过传输流传送至终端服务器的方式。此外,为了实现保护软件供应商的权益,本发明实施例的前端服务器传输的软件需带有使用有效期和时效检验消息,其中,使用有效期可以为一种规定的起始日期和截止日期,也可以为一种以激活日期为基准的规定时间段;时效检验消息为一种必要的传输要求提示消息,用于提示前端服务器必须基于当前时间进行时效检验,并且使前端服务器不能在超出使用有效期范围内传送该软件。例如,前端服务器欲传送的软件为一种升级软件,该升级软件带有规定时间为2013年3月1日至2013年3月31日的使用有效期,以及时效检验消息,那么前端服务器必须在2013年3月1日至2013年3月31日内传送该软件,并且,在通过传输流工具制作软件数据包时,应软件的使用要求,对该软件进行时效检验。
具体实施中,前端服务器对待传输的软件进行时效检验包括:从所述软件获取所述软件的使用有效期;若所述软件带有使用有效期,则判断当前时间是否在所述使用有效期内;若所述当前时间在所述使用有效期内,则认为时效检验成功;若所述当前时间不在所述使用有效期内,则认为时效检验不成功。本步骤的时效检验主要是改进了通过传输流传送软件的方式,若时效检验不成功,则代表该升级软件已经过期,那么前端服务器也无法将该软件制作成传输流软件数据包进行传送了,例如,前端服务器欲进行升级软件传送时,首先获取该软件的使用有效期(2013年3月1日至2013年3月31日),并且判断当前时间是否在2013年3月1日至2013年3月31日内,若当前时间为2013年3月2日,判断结果为当前时间在使用有效期内,则认为时效检验成功;若当前时间为2013年4月3日,判断结果为当前时间不在使用有效期内,则认为时效检验不成功。这一检验步骤可以防止该软件被泄露后产生的不良影响。
步骤S211,若所述时效检验成功,则将所述软件通过传输流传送至终端服务器;若所述时效检验不成功,则提示软件传输错误。
本发明实施例通过检验软件的使用期限,保证了软件只能在其使用有效期内被传输,降低了软件信息泄露所带来的不良影响,有效地维护软件供应商的权益。
相应的,本发明实施例提供了一种终端服务器,其可包括:接收模块,用于接收前端服务器传输的传输流,所述传输流携带所述传输服务器欲传输的软件的软件数据包,所述软件数据包携带使用有效期以及时效检验消息;提取模块,用于提取所述传输流中的软件数据包;终端检验模块,用于响应所述时效检验消息并对所述提取模块提取到的所述软件数据包进行时效检验;还用于所述时效检验成功时,发送时效检验成功消息并发送至所述接收模块;所述接收模块,还用于接收到所述终端检验模块发送的所述时效检验成功消息后,继续接收携带所述软件数据包的传输流,接收完整的软件,所述软件携带使用有效期以及时效检验消息;所述终端检验模块,还用于安装所述软件时,响应所述时效检验消息并对所述接收模块接收到的所述软件进行时效检验;还用于所述时效检验成功时,生成继续安装提示消息并发送至安装模块;还用于所述时效检验不成功时,生成软件安装错误消息并发送至终端服务器;安装模块,还用于接收到所述终端检验模块发送的所述继续安装提示消息后,安装所述软件。本发明实施例的终端服务器可通过时效校验,有效地维护软件供应商的权益。
下面结合附图及具体实施方式,对本发明实施例中装置的技术方案进行详细说明。
图3为本发明实施例的终端服务器的一结构组成示意图。该实施例的装置可用于执行图1所示的办法,具体的,该实施例的装置可包括:接收模块31、提取模块32、终端检验模块33和安装模块34,可一并参照图4所示的本发明实施例的终端服务器的另一结构组成示意图,本发明实施例的装置中终端检验模块33可进一步包括第一获取单元331、第一判断单元332、第二获取单元333和第二判断单元334,其中:
接收模块31,用于接收前端服务器传输的传输流,传输流携带传输服务器欲传输的软件的软件数据包,软件数据包携带使用有效期以及时效检验消息。
可参照本发明实施例提供的软件结构体:
本发明实施例所提及的软件是一种带有使用有效期以及时效检验消息的软件,软件结构体中的unsigned Conditional_receive_status是一种条件状态,例如当状态为0x0可代表软件不需要进行时效检验,可直接进行编译或使用;当状态为0x1时,可代表软件在被使用时需基于当前终端进行时效检验,本发明实施例的软件的默认状态为0x1。软件中的start_time和availability_time为软件供应商规定的使用有效期。
如前述步骤S110所提及的接收步骤,本模块是通过接收携带软件数据包的传输流的方式接收该软件的。
提取模块32,用于提取传输流中的软件数据包。
终端检验模块33,用于响应时效检验消息并对提取模块32提取到的软件数据包进行时效检验;还用于时效检验成功时,发送时效检验成功消息并发送至接收模块31;还用于所述时效检验不成功时,发送时效检验失败消息并发送至接收模块31。如前述步骤S110和步骤S111所提及的方法,终端检验模块33主要对提取模块32提取到的软件数据包进行校验,其中,终端检验模块33可进一步的包括第一获取单元331和第一判断单元332:
第一获取单元331,用于从接收到的第一个软件数据包获取软件数据包的使用有效期。如步骤S110所提及的软件,由于接收模块31接收到的是携带软件数据包的传输流,故本发明实施例的终端检验模块33将检验接收到的第一个软件数据包。具体实施方式可参照步骤S110所述的方法,在此不作赘述。
第一判断单元332,用于判断当前时间是否在第一获取单元331获取到的软件数据包的使用有效期内;还用于判断出当前时间在软件数据包的使用有效期内时,生成终端检验成功消息并发送至接收模块31;还用于判断出当前时间不在软件数据包的使用有效期内时,生成终端检验失败消息并发送至接收模块31。本单元的时效检验主要是改进了从传输流接收软件的方式,若时效检验不成功,则代表该升级软件已经过期,那么终端服务器也无需再继续接收传输流中的软件。具体实施方式可参照步骤S111所述的方法,在此不作赘述。
接收模块31,还用于接收到终端检验模块33发送的时效检验成功消息后,继续接收携带软件数据包的传输流,接收完整的软件,软件携带使用有效期以及时效检验消息;还用于接收到终端检验模块33发送的时效检验失败消息后,停止接收传输流,并生成接收错误提示消息并发送至终端服务器。具体步骤可参照步骤S112所述的方法,在此不作赘述。
终端检验模块33,还用于安装软件时,响应时效检验消息并对接收模块31接收到的软件进行时效检验;还用于时效检验成功时,生成继续安装提示消息并发送至安装模块34;还用于时效检验不成功时,生成软件安装错误消息并发送至终端服务器。终端检验模块33主要是安装软件时对软件的时效检验,如步骤S110所提及的软件,软件在安装时,会生成时效检验消息提示终端服务器,那么终端检验模块33将响应软件的时效检验消息并对软件进行时效检验。终端检验模块33进一步的,还包括第二获取单元333和第二判断单元334:
第二获取单元333,用于从软件获取软件的使用有效期。具体实施方式可参照步骤S113所提及的方法,在此不做赘述。
第二判断单元334,用于判断当前时间是否在第二获取单元333获取到的软件的使用有效期内;还用于判断出当前时间在软件的使用有效期内时,生成继续安装提示消息并发送至安装模块34;还用于判断出当前时间不在软件的使用有效期内时,生成软件安装错误消息并发送至终端服务器。具体实施方式可参照步骤S113所提及的方法,在此不做赘述。
安装模块34,还用于接收到终端检验模块33发送的继续安装提示消息后,安装软件。具体实施方式可参照步骤S114所提及的方法,在此不做赘述。
请一并参照图5所示的本发明实施例的前端服务器的一流程示意图,该图展示了本发明实施例的前端服务器向终端服务器传输软件的具体流程,其中:
步骤S510,接收TS流。TS流即为前端服务器携带欲传输软件的软件数据包的传输流。本步骤由接收模块31执行,具体实施方法可参照前述步骤S110所述的方法,在此不做赘述。
步骤S511,提取接收到第一个软件数据包。本步骤由提取模块32执行,具体实施方法可参照前述步骤S110所述的方法,在此不做赘述。
步骤S512,是否该软件数据包在使用有效期内。其中,若判断出该软件数据包在使用有效期内,则执行步骤S513;若判断出该软件数据包不在使用有效期内,则执行步骤S516;本步骤由终端检验模块33执行,具体实施方法可参照前述步骤S111所述的方法,在此不做赘述。
步骤S513,接收所有软件数据包。本步骤由接收模块31执行,具体实施方法可参照前述步骤S112所述的方法,在此不做赘述。
步骤S514,是否该软件在使用有效期内。在安装该软件时,终端服务器需要再次进行时效检验,判断使用该软件的时间是否是在该软件的使用有效期内。若本步骤判断出使用该软件的时间在该软件的使用有效期内,则继续执行步骤S515;若本步骤判断出使用该软件的时间不在该软件的使用有效期内,则继续执行步骤S516退出安装。本步骤由终端检验模块33执行,具体实施方法可参照前述步骤S113所述的方法,在此不做赘述。
步骤S515,安装。
步骤S516,结束。
本发明实施例的终端服务器通过检验软件的使用期限,保证了软件只能在其使用有效期内被接收和使用,降低了软件信息泄露、以及使用权限所带来的不良影响,有效地维护软件供应商的权益。
相应的,本发明实施例提供了一种前端服务器,其可包括:前端检验模块,通过传输流传输软件时,用于响应所述软件中携带的时效检验消息并对所述软件进行时效检验;还用于所述时效检验成功时,生成前端检验成功消息并发送至传输模块;还用于所述时效检验不成功时,生成前端检验失败消息并发送至传输模块;传输模块,用于接收到所述前端检验模块发送的所述前端检验成功消息后,将所述软件通过传输流传送至终端服务器;还用于接收到所述前端检验模块发送的所述前端检验失败消息后,生成软件传输错误提示消息。本发明实施例的前端服务器可通过检验软件的使用期限,保证软件只能在其使用有效期内被传输,有效地维护软件供应商的权益。
下面结合附图及具体实施方式,对本发明实施例中装置的技术方案进行详细说明。
图6为本发明实施例的前端服务器的一结构组成示意图,该实施例的装置可用于执行图2所示的办法,具体的,该实施例的装置包括:前端检验模块61和传输模块62,可一并参照图7所示的前端服务器的另一结构组成示意图,本发明实施例的前端检验模块61可进一步包括获取单元611和判断单元612,其中:
前端检验模块61,通过传输流传输软件时,用于响应软件中携带的时效检验消息并对软件进行时效检验;还用于时效检验成功时,生成前端检验成功消息并发送至传输模块;还用于时效检验不成功时,生成前端检验失败消息并发送至传输模块62。如步骤S110所述的软件,由于软件供应商提供的软件是一种带有使用有效期和时效检验消息的软件,故前端服务器在向终端服务器提供该软件时,需将通过传输流工具将该软件以软件数据包的形式传送至终端服务器。在使用传输流工具进行软件数据包制作时,需要响应软件中携带的时效检验消息并对软件进行时效检验,那么,前端检验模块61可进一步通过内部的单元进行时效检验,其中:
获取单元611,用于从软件获取软件的使用有效期。具体实施可参照步骤S210所述的方法,在此不作赘述。
判断单元612,用于判断当前时间是否在获取单元611获取到的使用有效期内;还用于判断出当前时间在使用有效期内时,生成前端检验成功消息并发送至传输模块62;还用于判断出当前时间不在使用有效期内时,生成前端检验失败消息并发送至传输模块62。具体实施可参照步骤S210所述的方法,在此不作赘述。
传输模块62,用于接收到前端检验模块61发送的前端检验成功消息后,将软件通过传输流传送至终端服务器;还用于接收到前端检验模块61发送的前端检验失败消息后,生成软件传输错误提示消息。具体实施可参照步骤S211所述的方法,在此不作赘述。
可一并参照图8所示的本发明实施例的前端服务器的一实施例流程示意图,该图展示了本发明实施例的前端服务器向终端服务器传输软件的流程,其中:
步骤S810,是否该软件要求时效检验。本步骤中,若前端服务器欲通过传输流传输的软件带有时效检验消息,则执行步骤S811;若前端服务器欲通过传输流传输的软件不带有时效检验消息,则执行步骤S813。
步骤S811,获取该软件的使用有效期。如前述步骤S210所提及的软件,当本发明实施例的前端服务器需要将带有使用有效期和时效检验消息的软件制作成软件数据包时,应该响应该软件的时效检验消息。本步骤为前端服务器对软件进行时效检验的第一步,本步骤由前端检验模块61的获取单元611执行。
步骤S812,是否当前时间在该软件的使用有效期内。本步骤为时效检验的第二部,由前端检验模块61的判断单元612执行。其中,若当前时间在该软件的使用有效期内,则执行步骤S813;若当前时间不在该软件的使用有效期内,则执行步骤S814,退出本次传输进程。
步骤S813,生成TS流并发送至终端服务器。本步骤由传输模块62执行,具体实施可参照前述步骤S211所述的方法,在此不作赘述。
步骤S814,结束。
本发明实施例的前端服务器通过检验软件的使用期限,保证了软件只能在其使用有效期内被传输,降低了软件信息泄露所带来的不良影响,有效地维护软件供应商的权益。
相应的,本发明实施例提供了一种软件的保护系统,其可包括终端服务器和前端服务器。下面结合附图及具体实施方式,对本发明实施例的系统的技术方案进行详细说明。
图9为本发明的软件的保护系统的一实施例结构示意图,该实施例系统的装置可包括前端服务器91和终端服务器92,前端服务器91可用于执行图2所示的办法,终端服务器92可用于执行图1所示的办法,其中:
前端服务器91,通过传输流传输软件时,用于响应软件中携带的时效检验消息并对软件进行时效检验;还用于时效检验成功时,将软件通过传输流传送至终端服务器92;还用于时效检验不成功时,提示软件传输错误。
终端服务器92,用于接收前端服务器91传输的传输流,传输流携带前端服务器91欲传输的软件的软件数据包,软件数据包携带使用有效期以及时效检验消息;还用于提取传输流中的软件数据包,响应时效检验消息并对软件数据包进行时效检验;还用于时效检验成功时,继续接收携带软件数据包的传输流,直到接收到完整的软件,软件携带使用有效期以及时效检验消息;还用于安装软件时,响应时效检验消息并对接收到的软件进行时效检验;还用于时效检验成功时,安装软件;还用于时效检验不成功时,提示软件安装错误。
当本发明实施例的前端服务器91欲将带有使用有效期和时效检验消息的软件通过传输流传输至终端服务器92时,首先需要响应所述软件的时效检验消息,对该软件进行时效检验,并且只有在进行传输的当前时间在该软件的时效期内的前提下,才能通过传输流工具将该软件制作成软件数据包并依次传输至终端服务器92;相应的,本发明实施例的终端服务器92在接收前端服务器92的用于传输软件的传输流的过程中,首先对从传输流中接收到的第一个软件数据包进行时效检验,并在时效检验成功的情况下继续接收传输流所传输的完整的软件的数据;若时效检验不成功,终端服务器92从传输流接收到的软件数据包的时间不在该软件的使用有效期内,则停止从传输流接收该软件。其次,终端服务器92在安装该软件时,也需要响应该软件的时效检验消息,对该软件进行时效检验,并且在时效检验成功的前提下,将该软件成功安装;若时效检验不成功,终端服务器92安装该软件的时间并不在该软件的使用有效期内,则提示安装错误,终端服务器92需在该软件的使用有效期内进行安装。
本发明实施例所提及的软件中携带的使用有效期和时效检验消息,可直接通过软件内部的数据编译来实现,其中,由于软件供应商可以直接编译、修改软件,故可将使用有效期缩短,并在发现软件漏洞时及时修改和升级,通过软件的使用有效期可较好的管理软件的使用情况。
本发明实施例的系统通过软件的时效检验环节,可将软件的有效使用时间控制在一定范围内,能够有效地降低由于前端服务器的软件信息泄露、软件误传所带来的不良影响,也能够有效降低由于终端服务器的使用反应所带来的不良传播效应。
本发明实施例的系统通过检验软件的使用期限,保证了软件只能在其使用有效期内被传输、接收和使用,有益于对软件的管理,降低了软件信息泄露所带来的不良影响,有效地维护软件供应商的权益。
本发明实施例中所述模块或单元,可以通过通用集成电路,例如CPU(CentralProcessing Unit,中央处理器),或通过ASIC(Application Specific IntegratedCircuit,专用集成电路)来实现。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。