一种资源验证方法及装置的制作方法

文档序号:6337117阅读:175来源:国知局
专利名称:一种资源验证方法及装置的制作方法
技术领域
本发明涉及资源管理技术,特别是涉及一种资源验证方法及装置。
背景技术
随着计算机应用以及软件应用程序的飞速发展,应用于不同应用环境、实现不同功能的程序不断涌现。随着现有网络的发展,通过网络传输各种信息、通过网络实现资源共享,已经成为人们获取信息资源必不可少的途径。很多用户会根据自身需求,在需要时加载相应的资源,完成所需的功能,那么,所加载的资源是否正确、是否有效就变得非常重要,如果所加载的资源错误或无效,就会导致用户终端不能正常完成所需功能,因此,进行资源验证是非常必要的。目前,在web flash应用中,用户加载所需资源时,只是通过所要加载资源的版本号对当前加载资源进行验证,虽然能确定当前加载的资源是否为用户需要的资源,但不能对资源的完整性进行验证,这样,可能会影响所加载资源的后续使用。

发明内容
有鉴于此,本发明的主要目的在于提供一种资源验证方法及装置,能验证资源的完整性。为达到上述目的,本发明的技术方案是这样实现的本发明提供了一种资源验证方法,包括需要加载资源时,从缓存或服务器中获取所需资源;从当前获取的资源的头位置和尾位置分别提取一定长度的信息计算密钥;将计算出的密钥与预设的参考密钥进行比较,验证当前获取的资源是否有效。上述方案中,所述缓存为内存缓存(memory_cache)、或动画缓存(flash_cache)、 或浏览器缓存。上述方案中,所述资源从服务器获取时,该方法进一步包括将当前获取的资源根据资源类型存储于mem0ry_cache、或flash_cache、或浏览器缓存中。上述方案中,所述从当前获取的资源的头位置和尾位置分别提取一定长度的信息为从头位置提取的信息长度大于尾位置提取的信息长度。上述方案中,该方法进一步包括预先设置包括各个资源参考密钥的配置表,其中,每个资源唯一对应一个参考密钥。上述方案中,所述验证当前资源是否有效为所计算出的密钥与配置表中相应资源的参考密钥一致,当前所获取的资源有效。本发明还提供了一种资源验证装置,包括资源获取单元、资源密钥计算单元、资源验证单元;其中,所述资源获取单元,用于在需要加载资源时,从缓存或服务器中获取所需资源;所述资源密钥计算单元,用于从当前所获取的资源的头位置和尾位置分别提取一定长度的信息进行密钥计算;所述资源验证单元,用于将计算出的密钥与参考密钥进行比较,验证当前获取的资源是否有效。其中,所述资源获取单元从memoryjache、或flash_CaChe、或浏览器缓存获取所需资源。所述资源密钥计算单元从头位置提取的信息长度大于尾位置提取的信息长度。本发明提供的资源验证方法及装置,在对所获取的资源进行验证时,从资源的头位置和尾位置提取一定长度的信息进行密钥计算,将计算出的密钥与参考密钥进行比较, 验证当前获取的资源是否有效。由于计算密钥时同时提取资源的头尾信息参与计算,因此, 能保证对资源的完整性进行验证。进一步的,由于进行比较的参考密钥与相应的资源版本号是一一对应的,例如参考密钥A对应的版本号为ver 1.0,参考密钥B对应的版本号为ver 2.0,依次类推,这样, 不仅可以根据当前所计算密钥与参考密钥是否一致,来确定当前所获取的资源是否为最新版本、是否有效;也可以根据当前所计算密钥找到匹配的参考密钥,来进一步确定当前获取的资源对应的资源版本号,如此,可实现对资源版本号的管理。另外,本发明在需要加载资源时,可以通过多种不同途径如从各类缓存、从服务器等获取所需要的资源,如此,使得资源获取更为灵活、方便、易于实现。


图1为本发明资源验证方法的实现流程示意图;图2为本发明资源验证方法一实施例的实现流程示意图;图3为本发明资源验证装置的组成结构示意图。
具体实施例方式本发明的基本思想是需要加载资源时,从缓存或服务器中获取所需资源;对所获取的资源进行验证时,从资源的头位置和尾位置分别提取一定长度的信息进行密钥计算,将计算出的密钥与参考密钥进行比较,验证当前获取的资源是否有效。这里,所述缓存包括不同类型的缓存,如mem0ry_CaChe、flashjache、浏览器缓存。所述从资源头位置和尾位置分别提取的信息长度一般不同,考虑到计算效率和准确度等问题,通常从头位置提取的信息长度大于尾位置提取的信息长度。所述参考密钥是预先设置的,每个资源都对应一个密钥,可将所有资源分别对应的参考密钥形成一个配置表进行存储,便于查找比对;进一步的,对于每个资源不同的版本,也可以将每个资源不同版本对应的参考密钥放置于配置表中,以便于在需要时进行匹配比较,例如配置表中包括资源X和资源Y,对于资源X又进一步包括资源X的ver 1.0版本和ver 2. 0版本。本发明的资源验证方法如图1所示,包括以下步骤步骤101 需要加载资源时,从缓存或服务器中获取所需资源;其中,所述缓存至少包括memoryjache、flash_cache,以及浏览器缓存;所述资源可以是文件、图片、应用程序等等。
步骤102 从当前所获取的资源的头位置和尾位置分别提取一定长度的信息进行密钥计算;通常,从头位置提取的信息长度大于尾位置提取的信息长度,比如对于大于15k 的文件,较佳的,提取头位置的IOk字节、尾位置的证字节进行密钥计算,当然,实际应用中也可以采用其它长度。对于密钥计算,较佳的,采用md5算法,当然,实际应用中也可以采用其它密钥计算方法。在具体应用中,可采用下述函数进行密钥计算,其中密钥计算方法采用md5算法static public function md5(bytes:ByteArray):String{bytes, position = 0 ;if (bytes, length < 1024*15)return MD5. hashBytes(bytes);var byte:ByteArray = new ByteArray();bytes. readBytes(byte,0,10*1024);bytes, position = bytes, length-5氺1024 ;bytes. readBytes (byte, byte, length, 0);return MD5. hashBytes (byte);}步骤103 :将计算出的密钥与参考密钥进行比较,验证当前获取的资源是否有效;本方法中,会预先设置包括每个资源参考密钥的配置表,参考密钥通常是在产品发布时、采用一定密钥计算方法如md5算法计算的,相应的,步骤102中对当前所获取资源进行密钥计算时,需要采用与参考密钥相同的密钥计算方法。其中,每个资源唯一对应一个参考密钥,如果一个资源有多种版本,那么,每个资源的每个版本唯一对应一个参考密钥。进一步的,本步骤中如果验证当前获取的资源有效、且当前获取的资源是从服务器获取的,则可以存储当前获取的资源到缓存中,以便下次需要加载时直接获取,具体的, 可根据资源类型将所获取的资源存储于memory^ache、或flaSh_CaChe、或浏览器缓存。图1所示的流程在终端执行;本发明主要适用于web flash应用,当然,如果有其他类似的应用环境,如至少包括mem0ry_cache、flash_cache、浏览器缓存的应用环境中,本发明同样适用。图2为本发明资源验证方法一实施例的实现流程示意图,本实施例中,在终端中预先设置并存储有包括各个资源参考密钥的配置表,所述参考密钥分别是在各个资源发布时采用指定密钥计算方法计算的。如图2所述,本实施例的资源验证方法包括以下步骤步骤201 202:需要加载资源时,判断是否使用缓存中的资源,如果使用,则执行步骤203 ;否则,执行步骤206 ;步骤203 :memory_cache中是否有所需资源,如果有,则获取所需资源,之后执行步骤207;否则,执行步骤204;步骤204 :flash_cache中是否有所需资源,如果有,则获取所需资源,之后执行步骤207 ;否则,执行步骤205 ;步骤205 浏览器缓存中是否有所需资源,如果有,则获取所需资源,之后执行步骤207 ;否则,执行步骤206 ;
步骤206 从服务器获取并下载所需资源,如果获取到,则执行步骤207 ;如果未获取到,则执行步骤209;步骤207 从当前所获取的资源的头位置和尾位置分别提取一定长度的信息,计算当前所获取资源的密钥;步骤208 将所计算出的密钥与配置表中的参考密钥进行比较,验证当前所获取的资源是否有效,如果验证通过,则执行步骤210,如果验证错误,则执行步骤209 ;这里,如果所计算出的密钥与配置表中相应资源的参考密钥一致,则验证通过,当前所获取的资源有效;否则,验证错误,当前所获取的资源无效。步骤209 判断是否需要重试,也就是说是否需要重新获取一次所需资源,如果需要,则返回步骤206 ;否则,结束当前处理流程。步骤210 存储当前所获取的资源,之后结束当前处理流程;这里,所述存储是指将从服务器获取的资源根据资源类型存储于相应缓存中,比如存储于mem0ry_cache、或flaSh_cache、或浏览器缓存中,以便下次需要加载时直接从缓存中获取。相应的,如果当前资源本身已经是从某个缓存中获取的,本步骤可以省略,无需再次存储获取的资源。为实现上述方法,本发明还提供了一种资源验证装置,包括资源获取单元、资源密钥计算单元、资源验证单元;其中,所述资源获取单元,用于在需要加载资源时,从缓存或服务器中获取所需资源;其中,所述从缓存获取为从memoryjache、或flash_CaChe、或浏览器缓存获取所需资源;所述资源密钥计算单元,用于从当前所获取的资源的头位置和尾位置分别提取一定长度的信息进行密钥计算;所述资源验证单元,用于将计算出的密钥与参考密钥进行比较,验证当前获取的资源是否有效。以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种资源验证方法,其特征在于,该方法包括需要加载资源时,从缓存或服务器中获取所需资源;从当前获取的资源的头位置和尾位置分别提取一定长度的信息计算密钥;将计算出的密钥与预设的参考密钥进行比较,验证当前获取的资源是否有效。
2.根据权利要求1所述的方法,其特征在于,所述缓存为内存缓存(mem0ry_cache)、或动画缓存(flash_CaChe)、或浏览器缓存。
3.根据权利要求2所述的方法,其特征在于,所述资源从服务器获取时,该方法进一步包括将当前获取的资源根据资源类型存储于memoryjache、或flaSh_CaChe、或浏览器缓存中。
4.根据权利要求1、2或3所述的方法,其特征在于,所述从当前获取的资源的头位置和尾位置分别提取一定长度的信息为从头位置提取的信息长度大于尾位置提取的信息长度。
5.根据权利要求1、2或3所述的方法,其特征在于,该方法进一步包括预先设置包括各个资源参考密钥的配置表,其中,每个资源唯一对应一个参考密钥。
6.根据权利要求5所述的方法,其特征在于,所述验证当前资源是否有效为所计算出的密钥与配置表中相应资源的参考密钥一致,当前所获取的资源有效。
7.一种资源验证装置,其特征在于,该装置包括资源获取单元、资源密钥计算单元、资源验证单元;其中,所述资源获取单元,用于在需要加载资源时,从缓存或服务器中获取所需资源;所述资源密钥计算单元,用于从当前所获取的资源的头位置和尾位置分别提取一定长度的信息进行密钥计算;所述资源验证单元,用于将计算出的密钥与参考密钥进行比较,验证当前获取的资源是否有效。
8.根据权利要求7所述的装置,其特征在于,所述资源获取单元从memoryjache、或 flaSh_CaChe、或浏览器缓存获取所需资源。
9.根据权利要求7或8所述的装置,其特征在于,所述资源密钥计算单元从头位置提取的信息长度大于尾位置提取的信息长度。
10.根据权利要求7或8所述的装置,其特征在于,每个资源唯一对应一个参考密钥。
全文摘要
本发明公开了一种资源验证方法,包括需要加载资源时,从缓存或服务器中获取所需资源;从当前获取的资源的头位置和尾位置分别提取一定长度的信息计算密钥;将计算出的密钥与预设的参考密钥进行比较,验证当前获取的资源是否有效。本发明还同时公开了一种资源验证装置,采用本发明能验证资源的完整性,并能完成资源版本号的管理。
文档编号G06F21/24GK102479306SQ20101056612
公开日2012年5月30日 申请日期2010年11月23日 优先权日2010年11月23日
发明者刘超俊, 文锦祥, 温光辉 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1