用于生成区块链授权信息的方法、装置及***
技术领域
本公开涉及区块链技术领域,具体地,涉及用于生成区块链授权信息的方法、装置及***。
背景技术
联盟链是区块链的一种类型,联盟链的各个区块链节点由与之对应的机构或组织构成。参与联盟链的机构或组织可以通过授权加入相应的区块链网络以组成具有相同业务诉求的联盟,并共同维护区块链运行。
对于联盟链的场景,联盟参与方需要经过授权,对联盟参与方的授权构建了信任基础。在公有链中,所有机构或个人都可以向区块链上传信息或同步区块链数据到本地,而在联盟链中,只有经过授权的联盟参与方能够加入该联盟链。因此,对参与方的授权管理技术成为了联盟链领域中的关键。
发明内容
鉴于上述,本公开提供了一种用于生成区块链授权信息的方法、装置及***。利用该方法、装置和***,能够利用专业平台来为各个区块链节点生成授权信息,以提高所生成的授权信息的安全性和可靠性。
根据本公开的一个方面,提供了一种用于生成区块链授权信息的方法,包括:接收客户端发送的用于请求生成区块链授权信息的区块链授权信息生成请求,所述区块链授权信息生成请求包括目标区块链标识和用户信息;获取与所述目标区块链标识匹配的区块链参数;以及基于所获取的区块链参数和所述用户信息,生成所述区块链授权信息。
可选的,在一个示例中,所述方法还可以包括:将所生成的区块链授权信息发送给所述客户端。
可选的,在一个示例中,基于所获取的区块链参数和所述用户信息,生成所述区块链授权信息可以包括:基于所获取的区块链参数,确定用于生成所述区块链授权信息的密码生成算法;以及利用所确定的密码生成算法来基于所述用户信息生成所述区块链授权信息。
可选的,在一个示例中,所述区块链授权信息包括区块链身份证书,利用所确定的密码生成算法来基于所述用户信息生成所述区块链授权信息可以包括:利用所确定的密码生成算法来基于所述用户信息生成区块链身份证书请求,以作为所述区块链身份证书。
可选的,在一个示例中,所述区块链授权信息包括区块链身份证书,利用所确定的密码生成算法来基于所述用户信息生成所述区块链授权信息还可以包括:将所述区块链身份证书请求发送给授权认证服务器,以进行签名认证;以及从所述授权认证服务器接收经过签名认证后的身份证书请求,以作为所述区块链身份证书。
可选的,在一个示例中,所述区块链身份证书请求可以是经过区块链管理员审核通过后发送给所述授权认证服务器的。
可选的,在一个示例中,所述区块链授权信息还可以包括私钥,利用所确定的密码生成算法来基于所述用户信息生成所述区块链授权信息包括:利用所确定的密码生成算法来基于所述用户信息生成所述私钥。
可选的,在一个示例中,所述区块链授权信息生成请求还可以包括私钥加密信息,所述方法还可以包括:利用所述私钥加密信息来对所述私钥进行加密处理。
可选的,在一个示例中,所述区块链参数可以是基于所述目标区块链的业务安全等级确定的。
根据本公开的另一方面,还提供一种用于生成区块链授权信息的装置,包括:生成请求接收单元,被配置为接收客户端发送的用于请求生成区块链授权信息的区块链授权信息生成请求,所述区块链授权信息生成请求包括目标区块链标识和用户信息;区块链参数获取单元,被配置为获取与所述目标区块链标识匹配的区块链参数;以及授权信息生成单元,被配置为基于所获取的区块链参数和所述用户信息,生成所述区块链授权信息。
可选的,在一个示例中,所述装置还可以包括:授权信息发送单元,被配置为将所生成的区块链授权信息发送给所述客户端。
可选的,在一个示例中,所述授权信息生成单元可以包括:密码生成算法确定模块,被配置为基于所获取的区块链参数,确定用于生成所述区块链授权信息的密码生成算法;以及授权信息生成模块,被配置为利用所确定的密码生成算法来基于所述用户信息生成所述区块链授权信息。
可选的,在一个示例中,所述区块链授权信息包括区块链身份证书,所述授权信息生成模块可以包括:证书请求生成子模块,被配置为利用所确定的密码生成算法来基于所述用户信息生成区块链身份证书请求,以作为所述区块链身份证书。
可选的,在一个示例中,所述区块链授权信息包括区块链身份证书,所述授权信息生成模块还可以包括:证书请求发送子模块,被配置为将所述区块链身份证书请求发送给授权认证服务器,以进行签名认证;以及证书请求接收子模块,被配置为从所述授权认证服务器接收经过签名认证后的身份证书请求,以作为所述区块链身份证书。
可选的,在一个示例中,所述区块链身份证书请求可以是经过区块链管理员审核通过后发送给所述授权认证服务器的。
可选的,在一个示例中,所述区块链授权信息还可以包括私钥,所述授权信息生成模块还可以包括:私钥生成子模块,被配置为利用所确定的密码生成算法来基于所述用户信息生成所述私钥。
可选的,在一个示例中,所述区块链授权信息生成请求还可以包括私钥加密信息,所述装置还可以包括:私钥加密单元,被配置为利用所述私钥加密信息来对所述私钥进行加密处理。
根据本公开的另一方面,还提供一种用于生成区块链授权信息的***,包括:如上所述的装置;以及授权认证服务器,被配置为从所述装置接收身份证书请求,并对身份证书请求进行签名认证后,将经过签名认证的身份证书请求发送给所述装置。
根据本公开的另一方面,还提供一种计算设备,包括:至少一个处理器;以及存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如上所述的方法。
根据本公开的另一方面,还提供一种非暂时性机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如上所述的方法。
利用本公开的方法、装置和***,在接收到客户端发送的区块链授权信息生成请求时,获取与目标区块链标识匹配的区块链参数,并基于所获取的参数来生成区块链授权信息,从而能够利用专业平台来为客户端生成授权信息,不仅能够为客户端提供便利,而且在生成授权信息时能够利用平台端的软硬件资源,而不局限于客户端自身的软硬件,因此能够提高所生成的授权信息的安全性和可靠性。
利用本公开的方法、装置和***,通过将所生成的区块链授权信息发送给客户端,能够使客户端不需要自行获取授权信息,进一步为客户端提高便利。
利用本公开的方法、装置和***,通过基于所获取的区块链参数而确定的密码生成算法,来生成授权信息,能够适配于相应的区块链而生成安全可靠的授权信息。
利用本公开的方法、装置和***,通过利用权威平台来生成区块链身份证书请求,从而可将权威平台生成的区块链身份证书请求作为区块链身份证书,而不需要再发送给其它认证机构进行认证,从而能提高授权信息生成效率,并能节约通信资源。
利用本公开的方法、装置和***,通过将所生成的区块链身份证书请求发送给授权认证服务器以进行签名认证,能够利用授权认证服务器的签名来进一步提高区块链身份证书的安全性。
利用本公开的方法、装置和***,利用客户端发送的私钥加密信息对私钥进行加密,能够确保私钥的安全性,且能使客户端顺利获取相应的私钥。
附图说明
通过参照下面的附图,可以实现对于本公开内容的本质和优点的进一步理解。在附图中,类似组件或特征可以具有相同的附图标记。附图是用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开的实施例,但并不构成对本公开的实施例的限制。在附图中:
图1是根据本公开的一个实施例的用于生成区块链授权信息的方法的流程图;
图2是根据本公开的一个实施例的用于生成区块链授权信息的方法中的授权信息生成过程的一个示例的流程图;
图3是根据本公开的一个实施例的用于生成区块链授权信息的方法中的区块链身份证书生成过程的一个示例的流程图;
图4示出了根据本公开的一个实施例的用于生成区块链授权信息的方法中所生成的身份证书请求的一个示例;
图5是根据本公开的一个实施例的用于生成区块链授权信息的方法中的区块链身份证书生成过程的另一示例的流程图;
图6是根据本公开的一个实施例的用于生成区块链授权信息的方法中的私钥生成过程的一个示例的流程图;
图7是根据本公开的一个实施例的用于生成区块链授权信息的装置的结构框图;
图8是图7所示的用于生成区块链授权信息的装置中的授权信息生成单元的一个示例结构框图;
图9是图8所示的用于生成区块链授权信息的装置中的授权信息生成单元中的授权信息生成模块的一个示例的结构框图;
图10是根据本公开的一个实施例的用于生成区块链授权信息的***的结构框图;
图11是根据本公开的一个实施例的用于实现用于生成区块链授权信息的方法的计算设备的结构框图。
具体实施方式
以下将参考示例实施方式讨论本文描述的主题。应该理解,讨论这些实施方式只是为了使得本领域技术人员能够更好地理解从而实现本文描述的主题,并非是对权利要求书中所阐述的保护范围、适用性或者示例的限制。可以在不脱离本公开内容的保护范围的情况下,对所讨论的元素的功能和排列进行改变。各个示例可以根据需要,省略、替代或者添加各种过程或组件。另外,相对一些示例所描述的特征在其它例子中也可以进行组合。
如本文中使用的,术语“包括”及其变型表示开放的术语,含义是“包括但不限于”。术语“基于”表示“至少部分地基于”。术语“一个实施例”和“一实施例”表示“至少一个实施例”。术语“另一个实施例”表示“至少一个其他实施例”。下面可以包括其他的定义,无论是明确的还是隐含的。除非上下文中明确地指明,否则一个术语的定义在整个说明书中是一致的。
现在结合附图来描述本公开的用于生成区块链授权信息的方法、装置和***。
图1是根据本公开的一个实施例的用于生成区块链授权信息的方法的流程图。
如图1所示,在块120,接收客户端发送的用于请求生成区块链授权信息的区块链授权信息生成请求,区块链授权信息生成请求包括目标区块链标识和用户信息。客户端可以是任意想要加入目标区块链的机构或组织的服务器,在加入目标区块链之后,该客户端将成为目标区块链中的区块链节点。
目标区块链标识用于标识客户端想要加入的目标区块链,不同的区块链对授权信息的要求会有所不同,因而客户端在请求生成区块链授权信息时可以在区块链授权信息生成请求中标明想要加入的目标区块链。目标区块链标识例如可以是目标区块链的编号或名称。用户信息用于生成区块链授权信息。用户信息例如可以是用户的国别、所在省份、所在城市、公司名、FQDN(全限定域名)等信息。用户信息可以标识相应的客户端,以使生成的区块链信息能够区别于其它客户端。不同的区块链对生成区块链授权信息时要提供的用户信息可能会有所不同。
在接收到区块链授权信息生成请求时,在块140,获取与目标区块链标识匹配的区块链参数。区块链参数例如可以是区块链版本号、MPT树组件、密钥格式、密钥安全等级、密钥复杂度等。密钥格式例如可以是密钥长度。***可以与各区块链网络对接,以获取各个区块链的参数。此外,也可以将各区块链的参数存储在本地。在一个示例中,区块链参数可以是根据目标区块链的业务安全等级来确定的。例如,可以根据目标区块链的安全等级来确定密钥长度、密钥复杂度等参数。
当客户端在本地自行生成区块链授权信息时,需要手动输入这些参数,因而效率较低且对于客户端来说操作过于复杂。通过根据目标区块链来匹配区块链参数,能够提高授权信息的效率,并为客户端提供便利,并减小授权生成过程的出错概率。
对于联盟链的场景,请求加入目标区块链的客户端可以是已经过目标区块链审核的。即目标区块链的管理机构可以事先基于各项审核标准,对请求加入该区块链的客户端进行审核,例如,审核该客户端的资金状况、信用状况、经营状况、技术能力、许可经营范围等。只有当该客户端符合要求时,才允许该客户端加入目标区块链。客户端可以在被批准加入时,发出区块链授权信息生成请求。
在区配区块链参数之后,在块160,基于所获取的区块链参数和用户信息,生成区块链授权信息。由此可生成符合目标区块链且能够标识客户端身份的授权信息。
在本公开的实施例所提供的用于生成区块链授权信息的方法例如可以由授权信息生成服务器来执行。在授权信息生成服务器还可以配置有密钥安全装置,例如HSM、SGX等装置。密钥安全装置可为授权信息的生成提供安全环境,防止黑客攻击等因素导致的安全隐患,从而提高授权信息生成过程的可靠性。而由于其硬件成本较高,这些硬件难以在各个客户端进行分别部署。
图2是根据本公开的一个实施例的用于生成区块链授权信息的方法中的授权信息生成过程的一个示例的流程图。
如图2所示,在块220,基于所获取的区块链参数,确定用于生成区块链授权信息的密码生成算法。密码生成算法例如可以是EC、RSA等算法。在一个示例中,可以基于目标区块链所要求的密钥格式、安全等级等来确定相应的密码生成算法。例如,对于某些区块链项目,可以选择国密算法。各种密码生成算法所生成的密钥长度等密钥格式也会不同,因而还可以基于目标区块链要求的密钥格式来确定密码生成算法。
在确定密码生成算法之后,在块240,利用所确定的密码生成算法来基于用户信息生成区块链授权信息。
在通过专业平台来生成授权信息时,平台端可以部署具有足够规模的硬件,从而使密码生成算法能够生成安全性更高的密钥。例如,平台端的软硬件资源可以使得在密钥生成过程中生成的随机数的随机程度达到真正随机水平,基于由此生成的随机数所生成的授权信息难以被破解。而当客户端在本地生成密钥时,由于硬件资源有限,所生成的随机数的随机程度可能达不到真正随机水平,因而所生成的密钥安全性较低。
所生成的区块链授权信息可以发送给客户端,客户端也可以访问相应的授权信息生成平台,以获取所生成的区块链授权信息。在获取到区块链授权信息之后,客户端可以凭借区块链授权信息加入目标区块链,以在目标区块链中读写交易。
区块链授权信息可以包括区块链身份证书,还可以包括对应于区块链身份证书的私钥。私钥用于客户端在向目标区块链发送交易时对所发送的交易进行加密。区块链身份证书用于证明客户端的身份,只有具有区块链身份证书的客户端才会被目标区块链中的其它参与方接受为合法的区块链节点。客户端在加入目标区块链时,可以将区块链身份证书分发给目标区块链的其它参与方,以用于目标区块链的其它参与方对该客户端所发送的加密交易进行解密。区块链身份证书中包含有该客户端的公钥,并且还包括客户端的用户信息。以下参考图3至图5对区块链身份证书和私钥的生成过程进行说明。
图3是根据本公开的一个实施例的用于生成区块链授权信息的方法中的区块链身份证书生成过程的一个应用场景的流程图。
如图3所示,在块302,授权信息生成平台利用所确定的密码生成算法来基于用户信息生成区块链身份证书请求。区块链身份证书请求中包括基于用户信息生成的公钥和用户信息(部分或全部用户信息),是没有经过签名认证的区块链身份证书。图4示出了身份证书请求的一个示例,如图4所示,该身份证书请求中包括国家代码、省份名称、城市名、单位名称、所在部门名称、FQDN等信息。
当授权信息生成平台是可信任的权威平台时,可以基于对授权信息生成平台的信任,将所生成的区块链身份证书请求作为区块链身份证书。由此,能够免去由额外的授权认证机构进行认证的过程,从而不仅能提高效率,还能够节约通信资源。此外,授权信息生成平台还可以对区块链身份证书请求进行签名后,将其作为区块链身份证书。在另一示例中,该签名过程还可以是在生成区块链身份证书请求的过程中进行的。
为了进一步提高为客户端生成的区块链身份证书的安全性,本实施在生成区块链身份证书请求之后,在块304将所述区块链身份证书请求发送给授权认证服务器,以进行签名认。授权认证服务器可以是第三方认证机构(例如CA机构),还可以是目标区块链的区块链管理员。对于联盟链,各个区块链可以配置有区块链管理员(例如,管理服务器)。区块链管理员可以对区块链身份证书进行签名认证。
在接收到区块链身份证书请求时,在块306,授权认证服务器对接收到的区块链身份证书请求进行签名认证。经过签名认证后的身份证书请求中包括授权认证服务器的签名,由此成为正式的具有公信力的区块链身份证书。
然后,在块308,授权认证服务器将签名认证后的区块链身份证书请求发送给授权信息生成平台。
在块310,授权信息生成平台从授权认证服务器接收经过签名认证后的身份证书请求,并把接收到的经过签名认证后的区块链身份证书请求作为区块链身份证书。
图5是根据本公开的一个实施例的用于生成区块链授权信息的方法中的区块链身份证书生成过程的另一示例的流程图。在该示例中,授权认证机构是独立于目标区块链和授权信息生成平台的第三方认证机构。
如图5所示,在块502,授权信息生成平台利用所确定的密码生成算法来基于用户信息生成区块链身份证书请求。
在块504,授权信息生成平台将区块链身份证书请求发送给目标区块链的管理员。然后在块506和块508,目标区块链的区块链管理员对接收到的区块链身份证书请求进行审核。区块链管理员可以对身份证书请求的格式内容进行审核,以审核区块链身份证书请求是否符合要求。
当区块链身份证书请求审核通过时,在块510,区块链管理员将审核通过的区块链身份证书请求发送给授权认证服务器,以进行签名认证。如果审核不通过,区块链管理员可以向授权信息生成平台返回审核不通过的通知消息,通知消息中还可以包括审核不通过的原因。授权信息生成平台在接收到该通知消息时,可以重新生成区块链身份证书请求并发送给区块链管理员以进行审核。
经过区块链管理员的审核,能够保证最终生成的区块链身份证书的安全性和可靠性。
当授权认证服务器接收到区块链身份证书请求时,在块512,对接收到的区块链身份证书请求进行签名认证。然后,在块514,授权认证服务器将签名认证后的区块链身份证书请求发送给授权信息生成平台。
在块516,授权信息生成平台从授权认证服务器接收经过签名认证后的身份证书请求,并把接收到的经过签名认证后的区块链身份证书请求作为区块链身份证书。
对于区块链的各个参与方来说,私钥不能被他人知晓,否则其写入目标区块链的交易数据可能会遭到篡改。由授权信息生成平台生成的私钥如果不进行任何处理,则可能被他人获取,这将不利于客户端在目标区块链上安全地读写交易。因而,在一个示例中,客户端所发送的区块链授权信息生成请求中可以包括私钥加密信息。
图6是根据本公开的一个实施例的用于生成区块链授权信息的方法中的私钥生成过程的一个示例的流程图。
如图6所示,在块620中,利用所确定的密码生成算法来基于用户信息生成私钥。
然后,在块640,可以利用私钥加密信息来对私钥进行加密处理。客户端可以在本地利用密码生成工具生成私钥加密密码,并将其包含在区块链授权信息生成请求中一同发送。在将被加密的私钥发送给客户端或由客户端下载时,客户端可以用自己已知的私钥加密信息来进行解密,从而获得私钥。
在另一示例中,区块链授权信息生成请求中也可以不包括私钥加密信息,此时,可以不执行私钥加密过程。
图7是根据本公开的一个实施例的用于生成区块链授权信息的装置的结构框图。如图7所示,区块链授权信息生成装置700包括生成请求接收单元710、区块链参数获取单元720和授权信息生成单元730。
生成请求接收单元710被配置为接收客户端发送的用于请求生成区块链授权信息的区块链授权信息生成请求,区块链授权信息生成请求包括目标区块链标识和用户信息。区块链参数获取单元720被配置为获取与目标区块链标识匹配的区块链参数。在获取到区块链参数时,授权信息生成单元730基于所获取的区块链参数和用户信息,生成区块链授权信息。
此外,虽然图中没有示出,区块链授权信息生成装置700还可以包括授权信息发送单元。授权信息发送单元被配置为将所生成的区块链授权信息发送给客户端。
图8是图7所示的区块链授权信息生成装置700中的授权信息生成单元730的一个示例的结构框图。如图8所示,授权信息生成单元730包括密码生成算法确定模块731和授权信息生成模块732。
密码生成算法确定模块731被配置为基于所获取的区块链参数,确定用于生成所述区块链授权信息的密码生成算法。授权信息生成模块732被配置为利用所确定的密码生成算法来基于用户信息生成区块链授权信息。
图9是图8所示的授权信息生成单元中的授权信息生成模块732的一个示例结构框图。在该示例中,区块链授权信息包括区块链身份证书和私钥。如图9所示,授权信息生成模块732包括证书请求生成子模块7321、证书请求发送子模块7322、证书请求接收子模块7323和私钥生成子模块7324。
证书请求生成子模块7321被配置为利用所确定的密码生成算法来基于用户信息生成区块链身份证书请求。在生成区块链身份证书请求后,证书请求发送子模块7322将区块链身份证书请求发送给授权认证服务器,以进行签名认证。
授权认证服务器在对区块链身份证书请求进行签名认证之后,将经过签名认证的区块链身份证书发回给区块链授权信息生成装置700。然后,证书请求接收子模块7323从授权认证服务器接收经过签名认证后的身份证书请求,作为区块链身份证书。
在另一示例中,证书请求发送子模块7322可以将区块链身份证书请求发送给区块链管理员,以进行审核。在审核通过后,由区块链管理员审核发送给授权认证服务器的。
在另一示例中,授权信息生成模块732可以不包括证书请求发送子模块7322和证书请求接收子模块7323。此时,证书请求生成子模块7321可以将所生成的区块链证书请求作为针对客户端的区块链身份证书。
私钥生成子模块7324被配置为利用所确定的密码生成算法来基于用户信息生成私钥。在另一示例中,区块链授权信息可以不包括私钥,此时,授权信息生成模块可以不包括私钥生成模块。
在区块链授权信息包括私钥时,区块链授权信息生成请求还可以包括私钥加密信息。在该情形下,授权信息生成装置700还可以包括私钥加密单元(附图中未示出)。私钥加密单元被配置为利用私钥加密信息来对私钥进行加密处理。
图10是根据本公开的一个实施例的用于生成区块链授权信息的***的结构框图。如图10所示,授权信息生成***1000包括区块链授权信息生成装置1010和授权认证服务器1020。
区块链授权信息生成装置1010可以具有如上实施例所述的功能。授权认证服务器1020被配置为从区块链授权信息生成装置1010接收身份证书请求,并对身份证书请求进行签名认证后,将经过签名认证的身份证书请求发送给区块链授权信息生成装置1010。
以上参照图1到图9,对根据本公开的用于生成区块链授权信息的方法及装置的实施例进行了描述。在以上对方法实施例的描述中所提及的细节,同样适用于本公开的装置的实施例。
本公开的用于生成区块链授权信息的装置可以采用硬件实现,也可以采用软件或者硬件和软件的组合来实现。本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见。
本公开的用于生成区块链授权信息的装置可以采用硬件实现,也可以采用软件或者硬件和软件的组合来实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将存储器中对应的计算机程序指令读取到内存中运行形成的。在本公开中,用于生成区块链授权信息的装置例如可以利用计算设备实现。
图11是根据本公开的一个实施例的用于实现用于生成区块链授权信息的方法的计算设备的结构框图。如图11所示,计算设备1100包括处理器1110、存储器1120、内存1130、通信接口1140和内部总线1150。根据一个实施例,计算设备1100可以包括至少一个处理器1110,该至少一个处理器1110执行在计算机可读存储介质(即,存储器1120)中存储或编码的至少一个计算机可读指令(即,上述以软件形式实现的元素)。
在一个实施例中,在存储器1120中存储计算机可执行指令,其当执行时使得至少一个处理器1110:接收客户端发送的用于请求生成区块链授权信息的区块链授权信息生成请求,所述区块链授权信息生成请求包括目标区块链标识和用户信息;获取与所述目标区块链标识匹配的区块链参数;以及基于所获取的区块链参数和所述用户信息,生成所述区块链授权信息。
应该理解,在存储器1120中存储的计算机可执行指令当执行时使得至少一个处理器1110进行本公开的各个实施例中以上结合图1-9描述的各种操作和功能。
根据一个实施例,提供了一种例如非暂时性机器可读介质的程序产品。非暂时性机器可读介质可以具有指令(即,上述以软件形式实现的元素),该指令当被机器执行时,使得机器执行本公开的各个实施例中以上结合图1-9描述的各种操作和功能。
具体地,可以提供配有可读存储介质的***或者装置,在该可读存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该***或者装置的计算机或处理器读出并执行存储在该可读存储介质中的指令。
在这种情况下,从可读介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此机器可读代码和存储机器可读代码的可读存储介质构成了本发明的一部分。
可读存储介质的实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD-RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上或云上下载程序代码。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
上述各流程和各***结构图中不是所有的步骤和单元都是必须的,可以根据实际的需要忽略某些步骤或单元。各步骤的执行顺序不是固定的,可以根据需要进行确定。上述各实施例中描述的装置结构可以是物理结构,也可以是逻辑结构,即,有些单元可能由同一物理实体实现,或者,有些单元可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
在整个本说明书中使用的术语“示例性”意味着“用作示例、实例或例示”,并不意味着比其它实施例“优选”或“具有优势”。出于提供对所描述技术的理解的目的,具体实施方式包括具体细节。然而,可以在没有这些具体细节的情况下实施这些技术。在一些实例中,为了避免对所描述的实施例的概念造成难以理解,公知的结构和装置以框图形式示出。
以上结合附图详细描述了本公开的实施例的可选实施方式,但是,本公开的实施例并不限于上述实施方式中的具体细节,在本公开的实施例的技术构思范围内,可以对本公开的实施例的技术方案进行多种简单变型,这些简单变型均属于本公开的实施例的保护范围。
本公开内容的上述描述被提供来使得本领域任何普通技术人员能够实现或者使用本公开内容。对于本领域普通技术人员来说,对本公开内容进行的各种修改是显而易见的,并且,也可以在不脱离本公开内容的保护范围的情况下,将本文所定义的一般性原理应用于其它变型。因此,本公开内容并不限于本文所描述的示例和设计,而是与符合本文公开的原理和新颖性特征的最广范围相一致。