CN113553518A - 资源标识生成方法、装置、设备及存储介质 - Google Patents
资源标识生成方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113553518A CN113553518A CN202010330680.9A CN202010330680A CN113553518A CN 113553518 A CN113553518 A CN 113553518A CN 202010330680 A CN202010330680 A CN 202010330680A CN 113553518 A CN113553518 A CN 113553518A
- Authority
- CN
- China
- Prior art keywords
- information
- resource identifier
- identifier
- service
- resource
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了资源标识生成方法、装置、设备及存储介质,所述生成方法包括获取资源标识生成策略,所述资源标识生成策略包括标识结构信息和分割符信息,所述标识结构信息用于表征部结构的信息和部结构的邻接关系,所述部结构至少包括服务部和变化部,所述服务部指向用于表征与资源标识关联的服务,所述变化部指向用于表征确保所述资源标识具备唯一性的字段;提取所述标识结构信息中的部结构,获取各个部结构对应的待拼接信息;根据所述分隔符信息获取分隔符;根据所述标识结构信息中的部结构的邻接关系,以所述分隔符连接部结构相邻的待拼接信息,得到资源标识。本发明只需独立生成资源标识,即可确保生成的资源标识在分布式***全局唯一。
Description
技术领域
本发明涉及分布式计算领域,尤其涉及资源标识生成方法、装置、设备及存储介质。
背景技术
伴随云计算这种计算模式的兴起,大量计算机可以通过云交互获取理论上可无线扩展的计算力、存储空间和信息服务,各个计算机通过云交互实现资源共享的同时也带来了如何在支持云计算的分布式***中保证资源标识唯一性的技术问题。
为了保证分布式***中资源标识的唯一性,现有技术中提供了多种可行的方案,比如利用数据库自增标识,由服务器结合所述服务器本地的相关参数生成标识,或者基于现有的分布式组件生成标识。但是这些现有技术或存在对分布式组件的过度依赖,或可扩展性及灵活程度不强,因此对场景的适用度不广,从而在一定程度影响了其应用前景。
发明内容
现有技术中能够确保资源标识唯一性的方案都是各有利弊,有其自身的适用场景和局限性,尚没有一个方案在不依赖现有的开源组件的情况下高灵活地生成可以任意扩展的资源标识。为此,本发明实施例提供资源标识生成方法、装置、设备及存储介质。
一方面,本发明提供了一种资源标识生成方法,所述方法包括:
获取资源标识生成策略,所述资源标识生成策略包括标识结构信息和分割符信息,所述标识结构信息用于表征部结构的信息和部结构的邻接关系,所述部结构至少包括服务部和变化部,所述服务部指向用于表征与资源标识关联的服务,所述变化部指向用于表征确保所述资源标识具备唯一性的字段;
提取所述标识结构信息中的部结构,获取各个部结构对应的待拼接信息;
根据所述分隔符信息获取分隔符;
根据所述标识结构信息中的部结构的邻接关系,以所述分隔符连接部结构相邻的待拼接信息,得到资源标识。
另一方面,本发明提供一种资源标识的校验方法,所述方法包括:
获取资源标识和所述资源标识对应的资源标识生成策略,所述资源标识生成策略包括标识结构信息和分割符信息,所述标识结构信息用于表征部结构的信息和部结构的邻接关系,所述部结构至少包括服务部和变化部,所述服务部指向用于表征与资源标识关联的服务,所述变化部指向用于表征确保所述资源标识具备唯一性的字段;
根据所述资源标识策略解析所述资源标识,得到各个信息部对应的解析结果和校验部的解析结果,所述信息部为所述资源标识中有别于校验部的其它部结构;
根据各个信息部对应的解析结果计算目标校验信息;
若所述目标校验信息与所述校验部的解析结果一致,则校验通过。
另一方面,本发明提供一种资源标识生成装置,所述装置包括:
资源标识生成策略获取模块,用于获取资源标识生成策略,所述资源标识生成策略包括标识结构信息和分割符信息,所述标识结构信息用于表征部结构的信息和部结构的邻接关系,所述部结构至少包括服务部和变化部,所述服务部指向用于表征与资源标识关联的服务,所述变化部指向用于表征确保所述资源标识具备唯一性的字段;
待拼接信息生成模块,用于提取所述标识结构信息中的部结构,获取各个部结构对应的待拼接信息;
分隔符获取模块,用于根据所述分隔符信息获取分隔符;
资源标识得到模块,用于根据所述标识结构信息中的部结构的邻接关系,以所述分隔符连接部结构相邻的待拼接信息,得到资源标识。
另一方面,本发明提供一种资源标识的校验装置,所述装置包括:
资源标识获取模块,用于获取资源标识和所述资源标识对应的资源标识生成策略,所述资源标识生成策略包括标识结构信息和分割符信息,所述标识结构信息用于表征部结构的信息和部结构的邻接关系,所述部结构至少包括服务部和变化部,所述服务部指向用于表征与资源标识关联的服务,所述变化部指向用于表征确保所述资源标识具备唯一性的字段;
解析模块,用于根据所述资源标识策略解析所述资源标识,得到各个信息部对应的解析结果和校验部的解析结果,所述信息部为所述资源标识中有别于校验部的其它部结构;
目标校验信息计算模块,用于根据各个信息部对应的解析结果计算目标校验信息;
校验模块,用于若所述目标校验信息与所述校验部的解析结果一致,则校验通过。
另一方面,本发明提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或至少一段程序由处理器加载并执行以实现上述的一种资源标识生成方法或一种资源标识的校验方法。
另一方面,本发明提供了一种资源标识处理设备,其特征在于,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或至少一段程序由所述处理器加载并执行上述的一种资源标识生成方法或一种资源标识的校验方法。
本发明提供了资源标识生成方法、装置、设备及存储介质。本发明通过按照资源标识生成策略,得到多个部结构的信息,并基于分隔符进行信息拼接的步骤生成资源标识,使得分布式场景中,各个服务器只需独立生成资源标识,即可确保生成的资源标识在分布式***全局唯一,节省全局管理成本,降低资源标识的生成难度。资源标识各个部结构可以任意扩展,资源标识的长度也没有固定限制,从而在理论上支持任意粒度任意长度的资源标识生成。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1是本发明提供的一种资源标识生成方法的实施环境示意图;
图2是本发明提供的一种资源标识生成方法流程图;
图3是本发明提供的资源标识示意图;
图4是本发明提供的提取所述标识结构信息中的部结构,获取各个部结构对应的待拼接信息流程图;
图5是本发明提供的根据预设的加密算法得到加密字符串的流程图;
图6是本发明提供的在转码情况下,获取各个部结构对应的待拼接信息的流程图;
图7是本发明提供的校验部的信息生成方法流程图;
图8是本发明提供的资源标识的校验方法的流程图;
图9是本发明提供的一种资源标识生成装置框图;
图10是本发明提供的一种资源标识的校验装置框图;
图11是本发明提供的一种用于实现本发明实施例所提供的方法的设备的硬件结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了使本发明实施例公开的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明实施例进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本发明实施例,并不用于限定本发明实施例。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。为了便于理解本发明实施例所述的技术方案及其产生的技术效果,本发明实施例首先对于相关专业名词进行解释:
MySQL:一种关系型数据库管理***。
Redis:即远程字典服务(Remote Dictionary Server),是开源的支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的应用程序接口。
Twitter snowflake算法:是Twitter开源的分布式标识生成算法。
Zookeeper:是一个分布式的,开放源码的分布式应用程序协调服务。
进制转换:基于不同的数学进制,对数值进行转换,得到不同的展示结果,相同的数值,使用的进制越高,所需要的位数越少。
ASCII码:American Standard Code for Information Interchange,美国信息交换标准代码。是基于拉丁字母的一套电脑编码***,主要用于显示现代英语和其他西欧语言。
云计算(Cloud Computing)指通过网络以按需、易扩展的方式获得所需资源;广义云计算指服务的交付和使用模式,指通过网络以按需、易扩展的方式获得所需服务。这种服务可以是IT和软件、互联网相关,也可是其他服务。云计算是网格计算(Grid Computing)、分布式计算(DistributedComputing)、并行计算(Parallel Computing)、效用计算(Utility Computing)、网络存储(Network Storage Technologies)、虚拟化(Virtualization)、负载均衡(Load Balance)等传统计算机和网络技术发展融合的产物。
随着互联网、实时数据流、连接设备多样化的发展,以及搜索服务、社会网络、移动商务和开放协作等需求的推动,云计算迅速发展起来。不同于以往的并行分布式计算,云计算的产生从理念上将推动整个互联网模式、企业管理模式发生革命性的变革。
为了在支持云计算的分布式***中生成具有唯一性的资源标识,现有技术提供了几种可行的方案:
(1)利用数据库自增标识
利用MySQL的auto_increment字段实现自增标识,或利用Redis实现自增标识,对于不同的应用场景,可以设置不同的步长来生成唯一标识。利用数据库自增标识可以确保生成的标识唯一、有序,且使用方法简单;但是其需要独立部署数据库或Redis实例,使用成本较高,且有性能瓶颈。
(2)由服务器结合所述服务器本地的相关参数生成标识
可以由服务器结合本地网卡地址、本地时间、随机数,计算得到的唯一标识。由服务器结合所述服务器本地的相关参数在服务器本地即可生成标识,使用方法简单且性能好,满足分布式应用场景;但是这种方案生成的标识格式固定,长度较长,会占用较多的存储空间,且标识无序不可读。
(3)Twitter snowflake算法
Twitter snowflake算法生成的标识固定为64位,包括四个字段:1位符号位、41位时间戳差值、10位机器编号、12位毫秒内自增标识。可以保证分布式场景下的标识唯一性,生成性能高,并且按时间有序;但是这种方案需要独立开发和部署,依赖于服务器本地时间,且因为时间戳差值和机器编号字段,有长度限制,能支持的唯一标识规模有上限。
(4)基于现有的支持分布式***的开源组件生成标识
依赖于数据库、Zookeeper等组件生成标识,可以保证分布式场景下得到的资源标识全局唯一、单调递增,并且安全性高。
现有技术中能够确保资源标识唯一性的方案都是各有利弊,有其自身的适用场景和局限性,尚没有一个方案在不依赖现有的开源组件的情况下高灵活地生成可以任意扩展的资源标识。为此,本发明实施例提供一种资源标识生成方法,旨在提供这样一种资源标识生成解决方案:
(1)具有很好的扩展性,可以应用到不同的应用场景中,可以保证分布式生成资源标识的整体递增趋势,且全局唯一,不同应用中生成的资源标识,可以索引至对应的服务;
(2)可以保证唯一资源标识的信息安全,用户无法从资源标识本身获取任何内涵信息,从而也就无法伪造资源标识,即使生成资源标识的算法被泄漏,也无法通过所述算法直接重现已生成的资源标识,还是要依托暴力轮询,从而破解难度提升。
(3)对每一个资源标识,都可以进行合法性校验,且具有较好的执行效率。
首先,本发明实施例公开了在一个可行的实施例中所述一种资源标识生成方法的实施环境。
参见图1,该实施环境包括:至少一个客户端01和服务器03。
客户端01可以是用于与服务器03交互的实体设备,所述客户端01还可以包括运行于实体设备中的软体,例如运行可以获取服务器03所提供的服务的,并且与服务器03进行交互的相关程序等。所述客户端01可以基于浏览器/服务器模式(Browser/Server,B/S)或客户端/服务器模式C/S(Client/Server,C/S)与所述服务器03通信连接。
所述服务器03可以为分布式服务器,或者由多个服务器组成的服务器集群中的任意一个服务器。所述服务器03支持以分布式架构进行云计算,并提供云服务。所述服务器03中任意一个服务器都可以独立运行所述资源标识生成方法,以得到具备唯一性并且可以索引至所述服务器提供的服务的资源标识。
本发明实施例提供一种资源标识生成方法,如图2所示,所述方法可以运行于分布式***中的服务器中,所述方法包括:
S101.获取资源标识生成策略,所述资源标识生成策略包括标识结构信息和分割符信息,所述标识结构信息用于表征部结构的信息和部结构的邻接关系,所述部结构至少包括服务部和变化部,所述服务部指向用于表征与资源标识关联的服务,所述变化部指向用于表征确保所述资源标识具备唯一性的字段。
本发明实施例中生成的资源标识可以由多个部结构来构成,各个部结构的内容和临接关系被记录在标识结构信息之中,所述资源标识至少要包括服务部和变化部。服务部指向了与资源标识关联的服务,所述服务中需要使用所述资源标识或者所述服务用于生成所述资源标识,以便于根据所述资源标识可以索引至所述服务,还可以确保分布式***中不同服务对应的资源标识必然是不同的,这是保证资源标识唯一性的必要条件。所述变化部指向了资源标识中变化的字段,即使是相同的服务器基于相同的服务所生成的资源标识,其变化部指向的字段的内容也必然是不同的,从而确保资源标识的唯一性。
如图3所示,其示出了一个可行的实施例中的资源标识,所述资源标识由服务部,加密部,活动部和变化部构成,并且服务部、加密部、活动部和变化部的内容依次以分隔符进行拼接即可得到所述资源标识。具体地,各个部的内容如下:
服务部:包括业务字段和机器编号,所述资源标识为所述机器编号所对应的机器为了所述业务字段所对应的业务生成的资源标识。服务部的设置使得本实施例提供的资源标识生成方法可以支持按业务、按机器的扩展,不同业务、机器,分配不同的编号后,可以独立施行所述资源标识生成方法。
加密部:当对于资源标识长度有要求时可以通过设置加密部来补齐长度,并且加密部可以使用加密算法来生成以增强资源标识的安全性,即使所述资源标识生成算法被泄露,也无法直接复现所述资源标识。所述加密部可以通过随机字符串来构造。所述加密部可以本身是密文,也可以是明文。加密部的设置目的在于为资源标识补齐长度以及提升资源标识的破解难度。
活动部:活动部的设置是可扩展的,其可以使得资源标识的生成满足任意粒度要求,活动部可以包括至少一级活动标识,所述活动标识当然也可以是多级标识,活动标识的级数越多,粒度越小。活动部的设置使得本发明实施例中的资源标识生成方法不仅可以支持单业务单机器单活动粒度的资源标识生成,还可以支持针对任意粒度的活动的资源标识生成,从而可以使得资源标识按照批次进行生成。
变化部:变化部与所述活动部相关,用于对针对同一个活动生成的各个资源标识进行区分,所述变化部可以通过设定步长并进行自增的规则来生成。
在一个优选的实施例中,为了便于对资源标识进行校验,所述资源标识还可以包括校验部,校验部可以附着在资源标识尾部或者其它指定位置。
在所述资源标识中通过分隔符分割各个部结构的目的在于可以使得各个部结构对应的内容的长度是自由的,不需要固定,并且使得所述资源标识可扩展,各个部结构的长度和所述资源标识的整体长度都可以根据需要进行变动。在一个优选的实施例中,所述分隔符对应的标识是各个部结构对应的内容所不含有的标识,这样才能够起到分割作用。
图3中,“EB”是服务部,“HB”是加密部,“4U”是活动部,“HBT”是变化部,“8”是校验部,“Z”是分隔符。
S103.提取所述标识结构信息中的部结构,获取各个部结构对应的待拼接信息。
具体地,所述提取所述标识结构信息中的部结构,获取各个部结构对应的待拼接信息,如图4所示,包括:
S1031.获取所述资源标识指向的服务标识和所述服务器的服务器标识,根据所述服务标识和所述服务器标识,得到服务部对应的第一信息。
S1033.基于本地自增算法得到变化部对应的第二信息。
不同于现有技术分布式***中生成标识的自增算法,现有技术中的自增算法必须保证在分布式***的全局进行标识自增,才能够确保生成的标识在分布式***内部具有唯一性。本发明实施例中变化部仅仅通过服务器本地自增生成即可,无需考虑分布式***中的其它服务器或其它组件,因为不同服务器生成的资源标识的服务部不同,不再需要将区分资源标识的全部压力集中在变化部,因此,变化部只需要基于服务器本地自增算法得到即可,这显然相对于现有技术大大降低了自增算法的难度。服务器本地的自增算法可以基于现有技术实现,本发明实施例并不限定其具体的实施手段。
具体地,服务器本地自增算法可以使用现有的数据库自增算法实现,比如利用MySQL的auto_increment字段实现自增,或利用Redis实现自增。因为本发明实施例中的自增不需要考虑全局,只需要保证单个服务器中的资源标识的变化部自增,所以可以支持平行扩容,不会出现单点性能瓶颈。
在一个优选的实施例中,所述标识结构信息中还包括加密部、活动部和校验部,所述提取所述标识结构信息中的部结构,获取各个部结构对应的待拼接信息,还包括:
S1035.根据预设的加密算法得到加密字符串,将所述加密字符串作为所述加密部对应的第三信息。
在一个可行的实施例中,所述根据预设的加密算法得到加密字符串,如图5所示,包括:
S10351.获取加密部的目标长度。
具体地,所述目标长度可以根据实际需求进行确定,可以被灵活的增减。
S10353.在加密字符映射表中随机选取目标长度数量的字符,构成加密字符串,所述加密字符映射表中的字符均用于生成加密部。
S1037.获取活动信息,根据所述活动信息得到活动部对应的第四信息。
S1039.根据所述第一信息、第二信息、第三信息和第四信息得到校验部对应的第五信息。
若不进行后续处理,第一信息、第二信息、第三信息、第四信息和第五信息可以直接作为待拼接信息。
在一个优选的实施例中,为了进一步增加资源标识的安全性,还可以有选择的为各个部结构对应的信息进行转码。具体地,所述标识结构中还包括转码信息,所述转码信息包括至少一个转码项,所述转码项用于表征与所述转码项对应的部结构的转码要求,所述提取所述标识结构信息中的部结构,获取各个部结构对应的待拼接信息,如图6所示,还包括:
S10311.获取所述转码信息中全部转码项。
S10313.根据各个转码项对所述转码项对应的部结构的信息进行转码,得到所述部结构对应的待拼接信息。
具体地,所述转码可以基于进制转换实现。
具体地,所述转码项中的转码要求可以包括映射方法和映射表,所述映射方法用于描述部结构的信息与映射表的关系,将部结构的信息映射到映射表中得到的结果作为所述部结构的信息对应的待拼接信息。
在另一个优选的实施例中,校验部的信息可以基于转码前各个部结构的信息生成,也可以基于转码后各个部结构对应的待拼接信息生成。为了便于叙述,本发明实施例中将用于生成校验部的信息的各个信息均称为输入信息,所述输入信息显然可以是部结构的信息或部结构对应的待拼接信息。本发明实施例提供了一种校验部的信息生成方法,如图7所示,包括:
S1.获取各个输入信息;
S3.按照各个输入信息的邻接关系依次得到各个输入信息的字符的ASCII码值。
S5.将得到的各个输入信息的字符的ASCII码值累计求和,得到总和值。
S7.将所述总和值相对于所述加密字符映射表中元素总数取模,得到校验号。
S9.将所述加密字符映射表中与所述校验号对应的内容作为校验部的信息。
S105.根据所述分隔符信息获取分隔符。
具体地,可以维护一张分隔符映射表,根据所述分隔符信息在所述分隔符映射表中提取分隔符。
S107.根据所述标识结构信息中的部结构的邻接关系,以所述分隔符连接部结构相邻的待拼接信息,得到资源标识。
本发明实施例生成的资源标识中包括多种信息,比如服务部的信息,活动部的信息,基于这些信息可以对资源标识进行管理,通过服务部信息和/或活动部信息,可以索引到所述资源标识。实际应用中,不同机器独立生成和存储资源标识即可,对于性能要求较高的应用中,可以大批量提前生成好,因为本发明实施例中的资源标识的生成,不依赖于时间戳等实时信息,且可以基于业务、机器、单活动标识来进行分片存储,使用资源标识中的变化部进行索引,相对于现有技术中的单纯的使用不具有实际业务含义的字符串索引或数字类型的索引,可以有更好的写入和查询性能。
本发明实施例公开了一种资源标识生成方法,通过按照资源标识生成策略,得到多个部结构的信息,并基于分隔符进行信息拼接的步骤生成资源标识,使得这种资源标识生成方法至少具备下述优势:
(1)分布式场景中,各个服务器只需独立生成资源标识,即可确保生成的资源标识在分布式***全局唯一,节省全局管理成本,降低资源标识的生成难度。
(2)资源标识各个部结构可以任意扩展,资源标识的长度也没有固定限制,从而在理论上支持任意粒度任意长度的资源标识生成。
(3)资源标识设置加密部,可以提升资源标识的安全性,即使资源标识生成算法被泄露,资源标识无法被直接复现,从而使得资源标识在一定程度也是安全的,因此,可以应用于对资源标识有较高要求的场景之中。
(4)对于资源标识可以在部结构的粒度进行转码或者加密,从而进一步提升资源标识的安全性,通过转码还可以隐藏部结构的明文信息,有利于保证资源标识的信息安全。
与所述资源标识生成方法相对应的,本发明实施例还公开所述资源标识的校验方法,如图8所示,所述校验方法包括:
S201.获取资源标识和所述资源标识对应的资源标识生成策略,所述资源标识生成策略包括标识结构信息和分割符信息,所述标识结构信息用于表征部结构的信息和部结构的邻接关系,所述部结构至少包括服务部和变化部,所述服务部指向用于表征与资源标识关联的服务,所述变化部指向用于表征确保所述资源标识具备唯一性的字段。
S203.根据所述资源标识策略解析所述资源标识,得到各个信息部对应的解析结果和校验部的解析结果,所述信息部为所述资源标识中有别于校验部的其它部结构。
S205.根据各个信息部对应的解析结果计算目标校验信息。
所述目标校验信息的计算方法与资源标识的生成方法中的校验部的信息的生成方法一致,在此不再赘述。
S207.若所述目标校验信息与所述校验部的解析结果一致,则校验通过。
本发明实施例所述的资源标识的校验方法与上文的资源标识的生成方法互为逆过程,具体细节再此不再赘述。
在一个优选的实施例中,为了避免黑客通过暴力轮询的方式破解资源标识,还可以限制用户的资源校验请求提交速率,或设置用户的单日请求次数上限。
本发明实施例公开的资源标识生成方法以及对应的资源标识校验方法可以被广泛应用于各种分布式***之中,从而为各种云服务提供支撑,本发明实施例对其适用的场景进行举例:
(1)可以用于生成各个业务***的请求流水号
伴随分布式***规模越来越大,其可接入的服务也越来越多,模块复杂度也越来越高,各个服务需要的请求都可以基于本发明实施例提供的方法生成其对应的资源标识,并且在分布式***中流通共享。
例如:一个游戏内商城购买请求,会涉及后台接入层、登录鉴权、角色校验、余额查询、道具限量查询、余额扣除、道具发放等模块,因此需要全局唯一的请求流水号,来标识用户的每个请求,串联起完整的请求处理过程中,历经各个模块的所有日志记录,而这个请求流水号即为一种资源标识。
(2)可以用于生成支付领域中的交易流水号
仍以游戏为例,从单款游戏,到成百上千的业务线,商业化会催生各式各样的商城、售卖***,每一笔用户交易,需要全局唯一的交易流水号,来标记交易及所有关联信息,例如交易金额、交易物品、成交时间等,而这个交易流水号也是一种资源标识。
(3)可以用于生成交互标识号
以聊天室为例,前端不同业务接入,海量用户分布在不同的聊天室,每条用户消息,都需要有全局唯一交互标识号,后台需要根据此交互标识号来做消息分发,这个交互标识号即为一种资源标识。
(4)可以用于生成虚拟物品标识
随着电子商务的兴起,虚拟物品交易也越来越多,比如兑换码,红包,抵用券,电子抽奖券都可以被理解为虚拟物品,虚拟物品标识即为一种资源标识。
可见,本发明实施例可以为分布式***提供全局唯一,粒度可调节并且可以无限扩展的资源标识生成和校验方法,既可以用于常规的资源标识生成,也可以适用于高安全性要求的相关场景,并且不依赖现有的分布式***相关组件,也不需要对分布式***进行改造,执行难度和成本都较低,具有强可行性的显著优势。
本发明实施例还提供一种资源标识生成装置,如图9所示,所述装置包括:
资源标识生成策略获取模块301,用于获取资源标识生成策略,所述资源标识生成策略包括标识结构信息和分割符信息,所述标识结构信息用于表征部结构的信息和部结构的邻接关系,所述部结构至少包括服务部和变化部,所述服务部指向用于表征与资源标识关联的服务,所述变化部指向用于表征确保所述资源标识具备唯一性的字段;
待拼接信息生成模块303,用于提取所述标识结构信息中的部结构,获取各个部结构对应的待拼接信息;
分隔符获取模块305,用于根据所述分隔符信息获取分隔符;
资源标识得到模块307,用于根据所述标识结构信息中的部结构的邻接关系,以所述分隔符连接部结构相邻的待拼接信息,得到资源标识。
具体地,本发明实施例公开一种资源标识生成装置与上述方法实施例均基于相同发明构思。详情请参见方法实施例,在此不再赘述。
本发明实施例还提供一种资源标识的校验装置,如图10所示,所述装置包括:
资源标识获取模块401,用于获取资源标识和所述资源标识对应的资源标识生成策略,所述资源标识生成策略包括标识结构信息和分割符信息,所述标识结构信息用于表征部结构的信息和部结构的邻接关系,所述部结构至少包括服务部和变化部,所述服务部指向用于表征与资源标识关联的服务,所述变化部指向用于表征确保所述资源标识具备唯一性的字段;
解析模块403,用于根据所述资源标识策略解析所述资源标识,得到各个信息部对应的解析结果和校验部的解析结果,所述信息部为所述资源标识中有别于校验部的其它部结构;
目标校验信息计算模块405,用于根据各个信息部对应的解析结果计算目标校验信息;
校验模块407,用于若所述目标校验信息与所述校验部的解析结果一致,则校验通过。
具体地,本发明实施例公开一种资源标识的校验装置与上述方法实施例均基于相同发明构思。详情请参见方法实施例,在此不再赘述。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质可以存储有多条指令。所述指令可以适于由处理器加载并执行本发明实施例所述的一种资源标识生成方法或一种资源标识的校验方法。
进一步地,图11示出了一种用于实现本发明实施例所提供的方法的设备的硬件结构示意图,所述设备可以参与构成或包含本发明实施例所提供的装置或***。如图11所示,设备10可以包括一个或多个(图中采用102a、102b,……,102n来示出)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输装置106。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图11所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,设备10还可包括比图11中所示更多或者更少的组件,或者具有与图11所示不同的配置。
应当注意到的是上述一个或多个处理器102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到设备10(或移动设备)中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中所述的方法对应的程序指令/数据存储装置,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的一种资源标识生成方法或一种资源标识的校验方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至设备10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括设备10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(NetworkInterfaceController,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(RadioFrequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与设备10(或移动设备)的用户界面进行交互。
需要说明的是:上述本发明实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置和服务器实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种资源标识生成方法,其特征在于,所述方法包括:
获取资源标识生成策略,所述资源标识生成策略包括标识结构信息和分割符信息,所述标识结构信息用于表征部结构的信息和部结构的邻接关系,所述部结构至少包括服务部和变化部,所述服务部指向用于表征与资源标识关联的服务,所述变化部指向用于表征确保所述资源标识具备唯一性的字段;
提取所述标识结构信息中的部结构,获取各个部结构对应的待拼接信息;
根据所述分隔符信息获取分隔符;
根据所述标识结构信息中的部结构的邻接关系,以所述分隔符连接部结构相邻的待拼接信息,得到资源标识。
2.根据权利要求1所述的方法,其特征在于,所述提取所述标识结构信息中的部结构,获取各个部结构对应的待拼接信息,包括:
获取所述资源标识指向的服务标识和所述服务器的服务器标识,根据所述服务标识和所述服务器标识,得到服务部对应的第一信息;
基于本地自增算法得到变化部对应的第二信息。
3.根据权利要求1所述的方法,其特征在于,所述资源标识包括服务部,加密部,活动部、变化部和校验部,所述提取所述标识结构信息中的部结构,获取各个部结构对应的待拼接信息,包括:
获取所述资源标识指向的服务标识和所述服务器的服务器标识,根据所述服务标识和所述服务器标识,得到服务部对应的第一信息;
基于本地自增算法得到变化部对应的第二信息;
根据预设的加密算法得到加密字符串,将所述加密字符串作为所述加密部对应的第三信息;
获取活动信息,根据所述活动信息得到活动部对应的第四信息;
根据所述第一信息、第二信息、第三信息和第四信息得到校验部对应的第五信息。
4.根据权利要求2或3所述的方法,其特征在于:
所述标识结构中还包括转码信息,所述转码信息包括至少一个转码项,所述转码项用于表征与所述转码项对应的部结构的转码要求;所述提取所述标识结构信息中的部结构,获取各个部结构对应的待拼接信息,还包括;
获取所述转码信息中全部转码项;
根据各个转码项对所述转码项对应的部结构的信息进行转码,得到所述部结构对应的待拼接信息。
5.根据权利要求2或3所述的方法,其特征在于,所述资源标识还包括校验部,所述校验部的信息通过下述方法生成:
获取各个输入信息;
按照各个输入信息的邻接关系依次得到各个输入信息的字符的ASCI I码值;
将得到的各个输入信息的字符的ASCII码值累计求和,得到总和值;
将所述总和值相对于加密字符映射表中元素总数取模,得到校验号;
将所述加密字符映射表中与所述校验号对应的内容作为校验部的信息。
6.一种资源标识的校验方法,其特征在于,所述方法包括:
获取资源标识和所述资源标识对应的资源标识生成策略,所述资源标识生成策略包括标识结构信息和分割符信息,所述标识结构信息用于表征部结构的信息和部结构的邻接关系,所述部结构至少包括服务部和变化部,所述服务部指向用于表征与资源标识关联的服务,所述变化部指向用于表征确保所述资源标识具备唯一性的字段;
根据所述资源标识策略解析所述资源标识,得到各个信息部对应的解析结果和校验部的解析结果,所述信息部为所述资源标识中有别于校验部的其它部结构;
根据各个信息部对应的解析结果计算目标校验信息;
若所述目标校验信息与所述校验部的解析结果一致,则校验通过。
7.一种资源标识生成装置,其特征在于,所述装置包括:
资源标识生成策略获取模块,用于获取资源标识生成策略,所述资源标识生成策略包括标识结构信息和分割符信息,所述标识结构信息用于表征部结构的信息和部结构的邻接关系,所述部结构至少包括服务部和变化部,所述服务部指向用于表征与资源标识关联的服务,所述变化部指向用于表征确保所述资源标识具备唯一性的字段;
待拼接信息生成模块,用于提取所述标识结构信息中的部结构,获取各个部结构对应的待拼接信息;
分隔符获取模块,用于根据所述分隔符信息获取分隔符;
资源标识得到模块,用于根据所述标识结构信息中的部结构的邻接关系,以所述分隔符连接部结构相邻的待拼接信息,得到资源标识。
8.一种资源标识的校验装置,其特征在于,所述装置包括:
资源标识获取模块,用于获取资源标识和所述资源标识对应的资源标识生成策略,所述资源标识生成策略包括标识结构信息和分割符信息,所述标识结构信息用于表征部结构的信息和部结构的邻接关系,所述部结构至少包括服务部和变化部,所述服务部指向用于表征与资源标识关联的服务,所述变化部指向用于表征确保所述资源标识具备唯一性的字段;
解析模块,用于根据所述资源标识策略解析所述资源标识,得到各个信息部对应的解析结果和校验部的解析结果,所述信息部为所述资源标识中有别于校验部的其它部结构;
目标校验信息计算模块,用于根据各个信息部对应的解析结果计算目标校验信息;
校验模块,用于若所述目标校验信息与所述校验部的解析结果一致,则校验通过。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或至少一段程序由处理器加载并执行以实现如权利要求1所述的一种资源标识生成方法或权利要求6所述的一种资源标识的校验方法。
10.一种资源标识处理设备,其特征在于,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或至少一段程序由所述处理器加载并执行如权利要求1所述的一种资源标识生成方法或权利要求6所述的一种资源标识的校验方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010330680.9A CN113553518A (zh) | 2020-04-24 | 2020-04-24 | 资源标识生成方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010330680.9A CN113553518A (zh) | 2020-04-24 | 2020-04-24 | 资源标识生成方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113553518A true CN113553518A (zh) | 2021-10-26 |
Family
ID=78129519
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010330680.9A Pending CN113553518A (zh) | 2020-04-24 | 2020-04-24 | 资源标识生成方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113553518A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115361399A (zh) * | 2022-10-24 | 2022-11-18 | 中国水利水电第七工程局有限公司 | 一种多终端数据同步方法、装置及*** |
-
2020
- 2020-04-24 CN CN202010330680.9A patent/CN113553518A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115361399A (zh) * | 2022-10-24 | 2022-11-18 | 中国水利水电第七工程局有限公司 | 一种多终端数据同步方法、装置及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3832578A1 (en) | Electronic invoice identifier allocation method, and electronic ticket generating method, device and system | |
TWI743458B (zh) | 一種並行化執行區塊鏈交易的方法、裝置及系統 | |
CN111182025B (zh) | 一种报文处理方法、装置、服务器及存储介质 | |
CN110019125B (zh) | 数据库管理的方法和装置 | |
US20170364697A1 (en) | Data interworking method and data interworking device | |
CN107229619B (zh) | 互联网业务链路调用情况的统计、展示方法及装置 | |
US20160275603A1 (en) | Service processing method, device, and terminal | |
CN111611305A (zh) | 一种数据处理方法、装置及介质 | |
CN111611249A (zh) | 数据管理方法、装置、设备及存储介质 | |
CN104579909A (zh) | 一种用户信息的分类、用户分组信息的获取方法和设备 | |
CN111881329A (zh) | 一种账户余额管理方法和*** | |
EP4287102A1 (en) | Cross-chain transaction processing method and apparatus, electronic device, and storage medium | |
CN109146523A (zh) | 一种基于区块链的商品防伪验真***及方法 | |
CN109558710B (zh) | 用户登录方法、装置、***及存储介质 | |
CN111339743A (zh) | 一种账号生成的方法和装置 | |
CN113553518A (zh) | 资源标识生成方法、装置、设备及存储介质 | |
CN110928594A (zh) | 服务开发方法和平台 | |
CN106487653B (zh) | 一种消息处理方法及服务器 | |
CN110505276B (zh) | 对象匹配方法、装置及***、电子设备及存储介质 | |
CN116703071A (zh) | 资源共享方法、装置及设备和存储介质 | |
CN106708869B (zh) | 一种群组数据处理的方法及装置 | |
CN111726266A (zh) | 热点数据分桶方法、***和计算机设备 | |
CN111555894A (zh) | 数据处理方法、装置、设备和存储介质 | |
CN108667647B (zh) | 一种设备参数的设置方法、设备及服务器 | |
CN113420050A (zh) | 数据查询管理方法、装置、计算机设备及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |