买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】标识生成方法和装置_北京星选科技有限公司_201710309238.6 

申请/专利权人:北京星选科技有限公司

申请日:2017-05-04

公开(公告)日:2021-07-20

公开(公告)号:CN107229555B

主分类号:G06F11/34(20060101)

分类号:G06F11/34(20060101);G06F11/30(20060101)

优先权:

专利状态码:有效-授权

法律状态:2021.07.20#授权;2017.11.03#实质审查的生效;2017.10.03#公开

摘要:本发明实施例提供一种标识生成方法和装置,该方法包括:响应于业务进程的启动,获取与业务进程对应的业务标识号和进程标识号,不同业务的业务标识号不同,同一业务的不同进程的进程标识号不同;响应于业务进程接收到数据处理请求,确定当前的时间戳;结合时间戳确定与数据处理请求对应的自增序列号;根据时间戳、业务标识号、进程标识号和自增序列号,生成与数据处理请求对应的日志标识。由于该日志标识中包含有业务标识和进程标识,可以对服务器中大量业务进程产生的日志进行唯一标识,当需要排查某业务的运行异常问题时,可以快速定位该业务对应的日志,提高了针对该业务的日志分析效率。

主权项:1.一种标识生成方法,其特征在于,包括:响应于业务进程的启动,获取与所述业务进程对应的业务标识号和进程标识号,不同业务的业务标识号不同,同一业务的不同进程的进程标识号不同;响应于所述业务进程接收到数据处理请求,确定当前的时间戳;确定与所述数据处理请求对应的自增序列号;确定与所述数据处理请求对应的自增序列号,包括:若所述时间戳与所述业务进程对应的前一时间戳不同,则确定所述数据处理请求对应的自增序列号为起始自增序列号;根据所述时间戳、所述业务标识号、所述进程标识号和所述自增序列号,生成与所述数据处理请求对应的日志标识。

全文数据:标识生成方法和装置技术领域[0001]本发明涉及互联网技术领域,尤其涉及一种标识生成方法和装置。背景技术[0002]在互联网行业中,服务器在运行时都会产生一条条的日志。日志是查看服务器运行状态以及排查服务器工作异常时的主要依据。[0003]在生成每条日志时,需要给每条日志赋予一个唯一的标识。常用的唯一标识产生方案是基于通用唯一识别码(UniversallyUniqueIdentifier,简称UUID来生成唯一的标识。但是使用UUID作为日志标识时,一方面,因为UUID需要128个二进制比特位,位数较长,不利于日志的存储与传输;另一方面,对日志进行分析的目的主要包括监测服务器中各业务的运行状况,以便及时发现并处理异常情况,而由于UUID通常是基于随机数产生的,在对大量日志进行分析时,往往需要逐个排查完全部日志,才能发现异常情况,使得日志分析效率较低。发明内容[0004]有鉴于此,本发明实施例提供一种标识生成方法和装置,用以生成包含业务标识的日志标识,使得在对日志分析时能够方便识别出日志所对应的业务,提高针对某业务的运行状况的日志分析效率。[0005]第一方面,本发明实施例提供一种标识生成方法,包括:[0006]响应于业务进程的启动,获取与所述业务进程对应的业务标识号和进程标识号,不同业务的业务标识号不同,同一业务的不同进程的进程标识号不同;[0007]响应于所述业务进程接收到数据处理请求,确定当前的时间戳;[0008]确定与所述数据处理请求对应的自增序列号;[0009]根据所述时间戳、所述业务标识号、所述进程标识号和所述自增序列号,生成与所述数据处理请求对应的日志标识。[0010]可选地,所述获取与所述业务进程对应的业务标识号,包括:[0011]根据所述业务进程对应的业务名称,查询预设配置文件,以获得与所述业务名称对应的所述业务标识号。[0012]可选地,所述获取与所述业务进程对应的进程标识号,包括:[0013]在预设进程标识号取值范围内,选择待获取进程标识号;[0014]查询所述待获取进程标识号是否己存在于预设编号服务中与所述业务标识号对应的已用进程标识号集合中;[0015]若不存在于所述已用进程标识号集合中,则确定所述待获取进程标识号为与所述业务进程对应的进程标识号。[0016]可选地,所述方法还包括:[0017]响应于所述业务进程的退出,删除所述己用进程标识号集合中与所述业务进程对应的进程标识号。[0018]可选地,所述确定与所述数据处理请求对应的自增序列号,包括:[0019]若所述时间戳与所述业务进程对应的前一时间戳不同,则确定所述数据处理请求对应的自增序列号为起始自增序列号;[0020]若所述时间戳与所述业务进程对应的前一时间戳相同,则对所述业务进程对应的前一自增序列号进行加一运算;[0021]根据所述加一运算后的自增序列号确定所述数据处理请求对应的自增序列号。[0022]可选地,所述根据所述加一运算后的自增序列号确定所述数据处理请求对应的自增序列号,包括:[0023]若所述加一运算后的自增序列号不大于预设自增序列号取值上限,则确定所述数据处理请求对应的自增序列号为所述加一运算后的自增序列号;[0024]若所述加一运算后的自增序列号大于预设自增序列号取值上限,则延迟到下一时间戳再确定所述数据处理请求对应的自增序列号。[0025]第二方面,本发明实施例提供一种标识生成装置,包括:[0026]获取模块,用于响应于业务进程的启动,获取与所述业务进程对应的业务标识号和进程标识号,不同业务的业务标识号不同,同一业务的不同进程的进程标识号不同;[0027]时间戳确定模块,用于响应于所述业务进程接收到数据处理请求,确定当前的时间戳;[0028]序列号确定模块,用于确定与所述数据处理请求对应的自增序列号;[0029]生成模块,用于根据所述时间戳、所述业务标识号、所述进程标识号和所述自增序列号,生成与所述数据处理请求对应的日志标识。[0030]在一个可能的设计中,上述标识生成装置的结构中包括处理器和存储器,所述存储器用于存储支持标识生成装置执行上述第一方面中标识生成方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。所述标识生成装置还可以包括通信接口,用于标识生成装置与其他设备或通信网络通信。[0031]第三方面,本发明实施例提供了一种计算机存储介质,用于储存标识生成装置所用的计算机软件指令,其包含用于执行上述第一方面中标识生成方法所涉及的程序。[0032]本发明实施例提供的标识生成方法和装置,当服务器中的某个业务进程被启动时,该业务进程获取与其对应的业务标识号和进程标识号。本方案中,服务器中不同业务的业务标识号不同,同一业务的不同进程的进程标识号不同,从而可以区分服务器中的不同业务以及同一业务下的不同进程。当上述业务进程接收到数据处理请求时,该业务进程确定当前的时间戳,并结合该时间戳确定与该数据处理请求对应的自增序列号,最后,根据上述时间戳、业务标识号、进程标识号和自增序列号,生成与该数据处理请求对应的日志标识,该日志标识用于唯一标识该数据处理请求对应的日志。由于该日志标识中包含有业务标识和进程标识,可以对服务器中大量业务进程产生的日志进行唯一标识,当需要排查某业务的运行异常问题时,可以快速定位该业务对应的日志,提高了针对该业务的日志分析效率。附图说明[0033]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。_[0034]图1为本发明实施例提供的一种日志标识的组成不意图;[0035]图2为本发明实施例提供的标识生成方法实施例一的流程图;[0036]图3为本发明实施例提供的一种获取进程标识号的流程图;[0037]图4为本发明实施例提供的标识生成方法实施例二的流程图;[0038]图5为本发明实施例提供的标识生成装置实施例一的结构示意图;[0039]图6为本发明实施例提供的标识生成装置实施例二的结构示意图;[0040]图7为本发明实施例提供的与标识生成装置对应的电子设备的结构示意图。具体实施方式[0041]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。[0042]在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种,但是不排除包含至少一种的情况。[0043]应当理解,本文中使用的术语“和或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符7”,一般表示前后关联对象是一种“或”的关系。[0044]应当理解,尽管在本发明实施例中可能采用术语第一、第二、第三等来描述XXX,但这些XXX不应限于这些术语。这些术语仅用来将XXX区分开。例如,在不脱离本发明实施例范围的情况下,第一XXX也可以被称为第二XXX,类似地,第二XXX也可以被称为第一XXX。[0045]取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件”可以被解释成为“当确定时”或“响应于确定”或“当检测陈述的条件或事件时”或“响应于检测陈述的条件或事件”。t〇〇46]还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。[0047]进一步值得说明的是,本发明各实施例中各步骤之间的顺序是可以调整的,不是必须按照以下举例的顺序执行。[0048]本发明实施例提供的标识生成方法可以用于生成日志标识,但是并不限于日志标识。在具体介绍本发明实施例提供的标识生成方法之前,先介绍本发明实施例提供的标识组成结构,如图1所示。[0049]该标识由64个二进制比特位组成,其中,自最高位至最低位依次包括:1个保留比特位,31个时间戳比特位,M个业务标识号比特位,N个进程标识号比特位,以及K个自增序列号比特位,M+N+K=32。图1所示中,1\1=64=14,1=12。但是实际应用中,1^、11的取值可以变化。[0050]具体地,保留位恒为0,以保证生成的标识始终为正数。时间戳比特位为31位,可以保证时间戳可以精确到秒,即本发明实施例中,使用的是秒级的时间戳,因为在实际情况下,单个业务进程一秒内产生的标识数即一秒内产生的日志数很少会超过2K个,比如212=4096个。[0051]可以根据服务器的实际配置情况确定业务标识比特位与进程标识比特位的数目,例如分别分配6位、14位给业务标识与进程标识。6位的业务标识可以表示26=64个业务,14位的进程标识可以表示214=16384个进程。在一般情况下,一个服务器的业务不会超过64个,同一个业务下的进程数目也不会超过1万,因此这种分配方案可以满足实际需求。[0052]下面结合如下的方法实施例介绍本发明实施例提供的标识生成方法。图2为本发明实施例提供的标识生成方法实施例一的流程图,本实施例提供的该标识生成方法可以由一标识生成装置来执行,该标识生成装置可以实现为软件,或者实现为软件和硬件的组合,该标识生成装置可以集成设置在一电子设备中,比如以下实施例中作为举例的服务器中。更为具体地,该标识生成装置可以设置在该电子设备的各业务进程的工作逻辑中。如图1所示,该方法包括如下步骤:[0053]201、响应于业务进程的启动,获取与业务进程对应的业务标识号和进程标识号。[0054]一般来说,服务器中往往会包含多个业务或者也可以称为服务,每个业务下可以支持大量的进程。[0055]对于业务标识号来说,可以预先针对服务器中包含的业务名称,为每个业务名称分配对应的业务标识号,该业务标识号比如为6位二进制数,不同业务的业务标识号不同。在为每个业务设置了对应的业务标识号后,可选地,可以将该各业务名称和业务标识号的对应关系写入服务器的某配置文件中。从而,当服务器中的某个业务进程即某业务下的某个进程被启动时,该业务进程可以根据其对应的业务名称通过查询该配置文件,从中获得相对应的业务标识号,以用于后续的日志标识生成。[0056]对于进程标识号来说,同一业务下的不同进程的进程标识号不同,但是,不同业务的进程之间可以存在相同的进程标识号,因为不同业务的进程可以通过业务标识号加以区分。[0057]可选地,对于当前的业务进程来说,其对应的进程标识号的获取,可以通过如下方式获得:可以在各业务下设置一个专门用于为该业务下的各业务进程分配进程标识号的进程,为方便描述,称为特殊进程。从而,当前的该业务进程启动时,可以向对应的特殊进程发送通知消息,该特殊进程为该业务进程分配进程标识号。该特殊进程为了保证不会给同一业务下的不同业务进程分配重复的进程标识号,对于进程标识号的分配可以这样进行:假设进程标识号的位数为14位,则说明同一业务下可用的进程标识号的个数为214=16384个,取值范围即为[0,16383],该特殊进程可以从头开始逐次使用各进程标识号。[0058]202、响应于业务进程接收到数据处理请求,确定当前的时间戳。[0059]当业务进程接收到某数据处理请求时,比如接收到用户触发的访问某个页面的请求时,该业务进程首先需要确定出当前的时间戳,用于表征在什么时间接收到了该数据处理请求。[0060]该时间戳可以是相对时间戳,即当前时间相对于某个参考时间来说,距离该参考时间多少秒。假设为T秒,通过对T进行二进制换算,可以得到对应于上述标识结构的时间戳比特位。[0061]203、确定与数据处理请求对应的自增序列号。[0062]该自增序列号用于区分同一业务进程下接收到的不同数据处理请求。[0063]上述当前的业务进程可以记录之前一次接收到某数据处理请求时所使用的自增序列号,从而,在一种情形下,该业务进程在接收到当前的数据处理请求时,可以在前一自增序列号的基础上,加一运算得到与当前的该数据处理请求对应的自增序列号。[0064]在得到该自增序列号后,可以将该自增序列号转换为二进制数,以对应于上述标识结构中的自增序列号比特位。[0065]2〇4、根据时间戳、业务标识号、进程标识号和自增序列号,生成与数据处理请求对应的日志标识。[0066]在得到上述时间戳、业务标识号、进程标识号和自增序列号之后,业务进程可以生成对应的日志标识,用于唯一标识一条日志。[0067]具体地,生成过程简单来说为:首先将时间戳、业务标识号、进程标识号和自增序列号分别表示为64位二进制数。进而,针对各自在标识结构中对应的比特位位置,分别对这几个64位二进制数进行不同位数的左移运算。比如以时间戳为例,假设时间戳表示的是16秒,则将16转换为二进制数10000,在10000前面补充59个0即变为64位二进制数。由于在标识结构中时间戳占据的是第2-32位这31个比特位,因此,可以对该64位二进制数左移32位。最后,将左移后的各64位二进制数进行位或运算,即可得到日志标识。[0068]本实施例中,当服务器中的某个业务进程被启动时,该业务进程获取与其对应的业务标识号和进程标识号。本方案中,服务器中不同业务的业务标识号不同,同一业务的不同进程的进程标识号不同,从而可以区分服务器中的不同业务以及同一业务下的不同进程。当上述业务进程接收到数据处理请求时,该业务进程确定当前的时间戳,并结合该时间戳确定与该数据处理请求对应的自增序列号,最后,根据上述时间戳、业务标识号、进程标识号和自增序列号,生成与该数据处理请求对应的日志标识,该日志标识用于唯一标识该数据处理请求对应的日志。由于该日志标识中包含有业务标识和进程标识,可以对服务器中大量业务进程产生的日志进行唯一标识,当需要排查某业务的运行异常问题时,可以快速定位该业务对应的日志,提高了针对该业务的日志分析效率。[0069]本发明实施例还提供了另一种可选地获取进程标识号的方式,如图3所示,可以包括如下步骤:[0070]301、在预设进程标识号取值范围内,选择待获取进程标识号。[0071]3〇2、查询待获取进程标识号是否已存在于预设编号服务中与业务标识号对应的已用进程标识号集合中,若不存在于,则执行步骤303,否则,继续执行步骤301。[0072]3〇3、确定待获取进程标识号为与业务进程对应的进程标识号。[0073]304、响应于业务进程的退出,删除己用进程标识号集合中与业务进程对应的进程标识号。[0074]本实施例中,在服务器中预先设置一编号服务,该编号服务用于保证服务器中同一业务下的不同进程的进程标识号各不相同。在该编号服务中可以创建与不同业务对应的已用进程标识号集合。各业务对应的已用进程标识号集合的创建时间可以是接收到各业务分别对应的首个业务进程的查询请求时。初始时,该已用进程标识号集合为空。[0075]本实施例提供的方案的主要过程是:业务进程在进程标识号的取值范围内可以逐个选择进程标识号。进而,以当前选择出的一个进程标识号作为待获取进程标识号,向编号服务发送查询请求,以查询编号服务中与该业务进程对应的已用进程标识号集合中是否已经存在当前选择出的待获取进程标识号。其中,该查询请求中可以包括该业务进程已经获得的业务标识号和当前选择的待获取进程标识号,用于使得编号服务能够获知该业务进程是对应于那个业务标识号对应的已用进程标识号集合的,以及该业务进程想要获得的进程标识号是什么。[0076]编号服务在相应的已用进程标识号集合中如果发现已经存在了该待获取进程标识号,则说明同一业务下的其他业务进程已经使用了该待获取进程标识号,向该业务进程反馈失败通知,以告知该业务进程不可用使用该待获取进程标识号。进而,该业务进程再尝试下一个进程标识号,如此反复,直到获得可用的进程标识号为止。[0077]相反地,假设当前该业务进程选择出的待获取进程标识号不存在于上述已用进程标识号集合中,说明同一业务下其他业务进程当前并没有使用该待获取进程标识号,则编号服务一方面向该业务进程反馈成功通知,以告知该业务进程可以使用该待获取进程标识号,另一方面,在该已用进程标识号集合中添加该待获取进程标识号,以避免后续被同一业务下的其他业务进程重复使用。[0078]综上,基于编号服务,可以对服务器中各业务下的业务进程进行统一的进程标识号分配管理,以保证同一业务下的不同业务进程能够具有不同的进程标识号。[0079]另外,在当前的业务进程退出时,该业务进程可以向编号服务发送删除请求,该删除请求中可以包括其对应的业务标识号和进程标识号。从而,编号服务在该业务标识号对应的已用进程标识号集合中删除该进程标识号,以便后续同一业务下的其他业务进程可以再次使用该进程标识号,提高进程标识号的利用率。[0080]图4为本发明实施例提供的标识生成方法实施例二的流程图,如图4所示,可以包括如下步骤:[0081]401、响应于业务进程的启动,获取与业务进程对应的业务标识号和进程标识号。[0082]402、响应于业务进程接收到数据处理请求,确定当前的时间戳。[0083]上述步骤的具体实现过程可以参见前述实施例中的说明,在此不再赘述。[0084]本实施例结合如下的步骤详细说明当前某业务进程在接收到某数据处理请求时,与该数据处理请求对应的自增序列号的获取过程。[0085]403、判断当前的时间戳与业务进程对应的前一时间戳是否相同,若不同,则执行步骤404,否则,执行步骤405。[0086]404、确定数据处理请求对应的自增序列号为起始自增序列号。[0087]405、对业务进程对应的前一自增序列号进行加一运算。[0088]上述前一时间戳和前一自增序列号与该业务进程接收到的前一数据处理请求对应。该业务进程可以记录该前一时间戳和前一自增序列号。[0089]如果该业务进程在接收到当前的数据处理请求时获得的时间戳与前一时间戳相同,由于该时间戳是秒级的时间戳,说明在同一秒内,该业务进程先后接收到了不同的数据处理请求,此时,为了区别不同的数据处理请求,业务进程可以在前一自增序列号的基础上进行加一运算,得到与当前的数据处理请求对应的自增序列号。相反地,如果当前的时间戳与前一时间戳不同,说明当前的数据处理请求是在新的一秒钟内接收到的第一个数据处理请求,此时,该数据处理请求对应的自增序列号为起始自增序列号,即自增序列号取值范围中的第一个,比如该取值范围为[0,4095]时,该起始自增序列号为〇。[0090]另外,上述在对前一自增序列号加一运算后得到的自增序列号,一般情况下,即为当前的数据处理请求对应的自增序列号,但是,也存在一种特殊情况,即当前时间戳内该业务进程接收到的数据处理请求数量非常多,超过了自增序列号的取值范围,比如超过了4096个,则此时,并不能简单地认为上述加一运算后的自增序列号即为当前数据处理请求对应的自增序列号。[0091]此时,可以参照如下步骤,根据加一运算后的自增序列号确定当前的数据处理请求对应的自增序列号:[0092]406、判断加一运算后的自增序列号是否大于预设自增序列号取值上限,若不大于,则执行步骤407,否则,执行步骤408。[0093]407、确定数据处理请求对应的自增序列号为前一自增序列号加一运算后的自增序列号。[0094]408、延迟到下一时间戳再确定数据处理请求对应的自增序列号。[0095]假设上述自增序列号取值上限为4095,那么,如果加一运算后的自增序列号小于或等于4095,则此时即可确定当前的数据处理请求对应的自增序列号为前一自增序列号加一运算后的自增序列号。反之,如果大于4095,则说明当前时间戳即当前一秒钟内,已经没有空闲的自增序列号分配给该业务进程使用了,此时,该业务进程不能即刻为当前接收到的数据处理请求设置对应的自增序列号,而需要延迟到下一个时间戳再进行处理。也就是说,该业务进程等待到下一个时间戳的到来之后,为当前接收的数据处理请求设置起始自增序列号。[0096]当然,可以理解的是,如果在当前时间戳内,该业务进程在接收到当前的数据处理请求,并发现前一自增序列号加一运算后的自增序列号已经超过4095之后,该业务进程又接收到了下一个数据处理请求,则该下一个数据处理请求对应的自增序列号的确定也会被延迟到下一时间戳进行。假设当前接收到的数据处理请求对应的自增序列号在下一个时间戳被确定为起始自增序列号,那么该下一个数据处理请求对应的自增序列号在下一个时间戳被确定为起始自增序列号加一后的自增序列号。[0097]409、根据时间戳、业务标识号、进程标识号和自增序列号,生成与数据处理请求对应的日志标识。[0098]通过本实施例,可以保证为业务进程在同一时间戳内接收到的各数据处理请求分配不同的自增序列号。[0099]由于该日志标识中包含有业务标识和进程标识,可以对服务器中大量业务进程产生的日志进行唯一标识,当需要排查某业务的运行异常问题时,可以快速定位该业务对应的日志,提高了针对该业务的日志分析效率。[0100]以下将详细描述本发明的一个或多个实施例的标识生成装置。本领域技术人员可以理解,这些标识生成装置均可使用市售的硬件组件通过本方案所教导的步骤进行配置来构成。[0101]图5为本发明实施例提供的标识生成装置实施例一的结构示意图,如图5所示,该装置包括:获取模块11、时间戳确定模块12、序列号确定模块13、生成模块14。[0102]获取模块11,用于响应于业务进程的启动,获取与所述业务进程对应的业务标识号和进程标识号,不同业务的业务标识号不同,同一业务的不同进程的进程标识号不同。[0103]时间戳确定模块12,用于响应于所述业务进程接收到数据处理请求,确定当前的时间戳。[0104]序列号确定模块13,用于确定与所述数据处理请求对应的自增序列号。[0105]生成模块14,用于根据所述时间戳、所述业务标识号、所述进程标识号和所述自增序列号,生成与所述数据处理请求对应的日志标识。[0106]可选地,所述日志标识由64个二进制比特位组成,其中,自最高位至最低位依次包括:1个保留比特位,31个时间戳比特位,M个业务标识号比特位,N个进程标识号比特位,以及K个自增序列号比特位,M+N+K=32。[0107]图5所示装置可以执行图1所示实施例的方法,本实施例未详细描述的部分,可参考对图1所示实施例的相关说明。该技术方案的执行过程和技术效果参见图1所示实施例中的描述,在此不再赘述。[0108]图6为本发明实施例提供的标识生成装置实施例二的结构示意图,如图5所示,在图5所示实施例基础上,可选地,所述获取模块11包括:获取单元111、选择单元112、查询单元113、确定单元114、删除单元115。[0109]获取单元111,用于根据所述业务进程对应的业务名称,查询预设配置文件,以获得与所述业务名称对应的所述业务标识号。[0110]选择单元112,用于在预设进程标识号取值范围内,选择待获取进程标识号。[0111]查询单元113,用于查询所述待获取进程标识号是否已存在于预设编号服务中与所述业务标识号对应的已用进程标识号集合中。[0112]确定单元114,用于若不存在于所述已用进程标识号集合中,则确定所述待获取进程标识号为与所述业务进程对应的进程标识号。[0113]删除单元115,用于响应于所述业务进程的退出,删除所述已用进程标识号集合中与所述业务进程对应的进程标识号。[0114]可选地,所述序列号确定模块13包括:第一序列号确定单元131、第二序列号确定单元132。[0115]第一序列号确定单元131,用于若所述时间戳与所述业务进程对应的前一时间戳不同,则确定所述数据处理请求对应的自增序列号为起始自增序列号。[0116]第二序列号确定单元132,用于若所述时间戳与所述业务进程对应的前一时间戳相同,则对所述业务进程对应的前一自增序列号进行加一运算;根据所述加一运算后的自增序列号确定所述数据处理请求对应的自增序列号。[0117]具体地,所述第二序列号确定单元132具体用于:[0118]若所述加一运算后的自增序列号不大于预设自增序列号取值上限,则确定所述数据处理请求对应的自增序列号为所述加一运算后的自增序列号;[0119]若所述加一运算后的自增序列号大于预设自增序列号取值上限,则延迟到下一时间戳再确定所述数据处理请求对应的自增序列号。[0120]图6所示装置可以执行图3-图4所示实施例的方法,本实施例未详细描述的部分,可参考对图3_图4所示实施例的相关说明。该技术方案的执行过程和技术效果参见图3-图4所示实施例中的描述,在此不再赘述。_[0121]以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。[0122]以上描述了标识生成装置的内部功能和结构,在一个可能的设计中,该标识生成装置的结构可实现为一电子设备,该电子设备比如为服务器,如图7所示,该电子设备可以包括:处理器21和存储器22。其中,所述存储器22用于存储支持标识生成装置执行上述任一实施例中提供的标识生成方法的程序,所述处理器31被配置为用于执行所述存储器22中存储的程序。[0123]所述程序包括一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器21执行时能够实现如下步骤:[0124]响应于业务进程的启动,获取与所述业务进程对应的业务标识号和进程标识号,不同业务的业务标识号不同,同一业务的不同进程的进程标识号不同;响应于所述业务进程接收到数据处理请求,确定当前的时间戳;确定与所述数据处理请求对应的自增序列号;根据所述时间戳、所述业务标识号、所述进程标识号和所述自增序列号,生成与所述数据处理请求对应的日志标识。[0125]可选地,所述处理器21还用于执行前述各方法步骤中的全部或部分步骤。[0126]其中,所述标识生成装置的结构中还可以包括通信接口23,用于标识生成装置与其他设备或通信网络通信。[0127]另外,本发明实施例提供了一种计算机存储介质,用于储存标识生成装置所用的计算机软件指令,其包含用于执行上述各方法实施例中标识生成方法所涉及的程序。[0128]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件和软件结合的方式来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以计算机产品的形式体现出来,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质包括但不限于磁盘存储器、CD-ROM、光学存储器等上实施的计算机程序广品的形式。[0129]本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和或方框图来描述的。应理解可由计算机程序指令实现流程图和或方框图中的每一流程和或方框、以及流程图和或方框图中的流程和或方框的结合。可提供这些计算机程序令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和或方框图一个方框或多个方框中指定的功能的装置。[0130]这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和或方框图一个方框或多个方框中指定的功能。[0131]这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和或方框图一个方框或多个方框中指定的功能的步骤。[0132]在一个典型的配置中,计算设备包括一个或多个处理器CPU、输入输出接口、网络接口和内存。[0133]内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器RAM和或非易失性内存等形式,如只读存储器ROM或闪存flashRAM。内存是计算机可读介质的示例。[0134]计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存PRAM、静态随机存取存储器SRAM、动态随机存取存储器DRAM、其他类型的随机存取存储器RAM、只读存储器ROM、电可擦除可编程只读存储器EEPR0M、快闪记忆体或其他内存技术、只读光盘只读存储器CD-ROM、数字多功能光盘DVD或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体transitorymedia,如调制的数据信号和载波。[0135]最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。[0136]本发明公开了A1、一种标识生成方法,包括:[0137]响应于业务进程的启动,获取与所述业务进程对应的业务标识号和进程标识号,不同业务的业务标识号不同,同一业务的不同进程的进程标识号不同;[0138]响应于所述业务进程接收到数据处理请求,确定当前的时间戳;[0139]确定与所述数据处理请求对应的自增序列号;[0140]根据所述时间戳、所述业务标识号、所述进程标识号和所述自增序列号,生成与所述数据处理请求对应的日志标识。[0141]A2、根据A1所述的方法,所述获取与所述业务进程对应的业务标识号,包括:[0142]根据所述业务进程对应的业务名称,查询预设配置文件,以获得与所述业务名称对应的所述业务标识号。[0143]A3、根据A1所述的方法,所述获取与所述业务进程对应的进程标识号,包括:[0144]在预设进程标识号取值范围内,选择待获取进程标识号;[0145]查询所述待获取进程标识号是否已存在于预设编号服务中与所述业务标识号对应的已用进程标识号集合中;[0146]若不存在于所述已用进程标识号集合中,则确定所述待获取进程标识号为与所述业务进程对应的进程标识号。[0147]A4、根据A3所述的方法,所述方法还包括:[0148]响应于所述业务进程的退出,删除所述己用进程标识号集合中与所述业务进程对应的进程标识号。[0149]A5、根据A1所述的方法,所述确定与所述数据处理请求对应的自增序列号,包括:[0150]若所述时间戳与所述业务进程对应的前一时间戳不同,则确定所述数据处理请求对应的自增序列号为起始自增序列号;[0151]若所述时间戳与所述业务进程对应的前一时间戳相同,则对所述业务进程对应的前一自增序列号进行加一运算;[0152]根据所述加一运算后的自增序列号确定所述数据处理请求对应的自增序列号。[0153]A6、根据A5所述的方法,所述根据所述加一运算后的自增序列号确定所述数据处理请求对应的自增序列号,包括:[0154]若所述加一运算后的自增序列号不大于预设自增序列号取值上限,则确定所述数据处理请求对应的自增序列号为所述加一运算后的自增序列号;[0155]若所述加一运算后的自增序列号大于预设自增序列号取值上限,则延迟到下一时间戳再确定所述数据处理请求对应的自增序列号。[0156]A7、根据A1至A6中任一项所述的方法,所述日志标识由64个二进制比特位组成,其中,自最高位至最低位依次包括:1个保留比特位,31个时间戳比特位,M个业务标识号比特位,N个进程标识号比特位,以及K个自增序列号比特位,M+N+K=32。[0157]本发明还公开B8、一种标识生成装置,包括:[0158]获取模块,用于响应于业务进程的启动,获取与所述业务进程对应的业务标识号和进程标识号,不同业务的业务标识号不同,同一业务的不同进程的进程标识号不同;[0159]时间戳确定模块,用于响应于所述业务进程接收到数据处理请求,确定当前的时间戳;[0160]序列号确定模块,用于确定与所述数据处理请求对应的自增序列号;[0161]生成模块,用于根据所述时间戳、所述业务标识号、所述进程标识号和所述自增序列号,生成与所述数据处理请求对应的日志标识。[0162]B9、根据B8所述的装置,所述获取模块包括:[0163]获取单元,用于根据所述业务进程对应的业务名称,查询预设配置文件,以获得与所述业务名称对应的所述业务标识号。[0164]B10、根据B8所述的装置,所述获取模块包括:[0165]选择单元,用于在预设进程标识号取值范围内,选择待获取进程标识号;[0166]查询单元,用于查询所述待获取进程标识号是否已存在于预设编号服务中与所述业务标识号对应的已用进程标识号集合中;[0167]确定单元,用于若不存在于所述已用进程标识号集合中,则确定所述待获取进程标识号为与所述业务进程对应的进程标识号。[0168]B11、根据B10所述的装置,所述获取模块包括:[0169]删除单元,用于响应于所述业务进程的退出,删除所述已用进程标识号集合中与所述业务进程对应的进程标识号。[0170]B12、根据B8所述的装置,所述序列号确定模块包括:[0171]第一序列号确定单元,用于若所述时间戳与所述业务进程对应的前一时间戳不同,则确定所述数据处理请求对应的自增序列号为起始自增序列号•,[0172]第二序列号确定单元,用于若所述时间戳与所述业务进程对应的前一时间戳相同,则对所述业务进程对应的前一自增序列号进行加一运算;根据所述加一运算后的自增序列号确定所述数据处理请求对应的自增序列号。[0173]B13、根据B12所述的装置,所述第二序列号确定单元具体用于:[0174]若所述加一运算后的自增序列号不大于预设自增序列号取值上限,则确定所述数据处理请求对应的自增序列号为所述加一运算后的自增序列号;[0175]若所述加一运算后的自增序列号大于预设自增序列号取值上限,则延迟到下一时间戳再确定所述数据处理请求对应的自增序列号。[0176]B14、根据B8至B13中任一项所述的装置,所述日志标识由64个二进制比特位组成,其中,自最高位至最低位依次包括:1个保留比特位,31个时间戳比特位,M个业务标识号比特位,N个进程标识号比特位,以及K个自增序列号比特位,M+N+K=32。[0177]本发明还公开了C15、一种电子设备,包括存储器和处理器;其中,[0178]所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现如A1至A7中任一项所述的标识生成方法。[0179]本发明还公开D16、一种存储有计算机程序的计算机可读存储介质,所述计算机程序使计算机执行时实现如A1至A7中任一项所述的标识生成方法。

权利要求:1.一种标识生成方法,其特征在于,包括:响应于业务进程的启动,获取与所述业务进程对应的业务标识号和进程标识号,不同业务的业务标识号不同,同一业务的不同进程的进程标识号不同;响应于所述业务进程接收到数据处理请求,确定当前的时间戳;确定与所述数据处理请求对应的自增序列号;根据所述时间戳、所述业务标识号、所述进程标识号和所述自增序列号,生成与所述数据处理请求对应的日志标识。2.根据权利要求1所述的方法,其特征在于,所述获取与所述业务进程对应的业务标识号,包括:根据所述业务进程对应的业务名称,查询预设配置文件,以获得与所述业务名称对应的所述业务标识号。3.根据权利要求1所述的方法,其特征在于,所述获取与所述业务进程对应的进程标识号,包括:在预设进程标识号取值范围内,选择待获取进程标识号;查询所述待获取进程标识号是否己存在于预设编号服务中与所述业务标识号对应的已用进程标识号集合中;若不存在于所述已用进程标识号集合中,则确定所述待获取进程标识号为与所述业务进程对应的进程标识号。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:响应于所述业务进程的退出,删除所述已用进程标识号集合中与所述业务进程对应的进程标识号。5.根据权利要求1所述的方法,其特征在于,所述确定与所述数据处理请求对应的自增序列号,包括:若所述时间戳与所述业务进程对应的前一时间戳不同,则确定所述数据处理请求对应的自增序列号为起始自增序列号;若所述时间戳与所述业务进程对应的前一时间戳相同,则对所述业务进程对应的前一自增序列号进行加一运算;根据所述加一运算后的自增序列号确定所述数据处理请求对应的自增序列号。6.根据权利要求5所述的方法,其特征在于,所述根据所述加一运算后的自增序列号确定所述数据处理请求对应的自增序列号,包括:若所述加一运算后的自增序列号不大于预设自增序列号取值上限,则确定所述数据处理请求对应的自增序列号为所述加一运算后的自增序列号;若所述加一运算后的自增序列号大于预设自增序列号取值上限,则延迟到下一时间戳再确定所述数据处理请求对应的自增序列号。7.根据权利要求1至6中任一项所述的方法,其特征在于,所述日志标识由64个二进制比特位组成,其中,自最高位至最低位依次包括:1个保留比特位,31个时间戳比特位,M个业务标识号比特位,N个进程标识号比特位,以及K个自增序列号比特位,M+N+K=32。8.—种标识生成装置,其特征在于,包括:获取模块,用于响应于业务进程的启动,获取与所述业务进程对应的业务标识号和进程标识号,不同业务的业务标识号不同,同一业务的不同进程的进程标识号不同;时间戳确定模块,用于响应于所述业务进程接收到数据处理请求,确定当前的时间戳;序列号确定模块,用于确定与所述数据处理请求对应的自增序列号;生成模块,用于根据所述时间戳、所述业务标识号、所述进程标识号和所述自增序列号,生成与所述数据处理请求对应的日志标识。9.根据权利要求8所述的装置,其特征在于,所述获取模块包括:获取单元,用于根据所述业务进程对应的业务名称,查询预设配置文件,以获得与所述业务名称对应的所述业务标识号。10.根据权利要求8所述的装置,其特征在于,所述获取模块包括:选择单元,用于在预设进程标识号取值范围内,选择待获取进程标识号;查询单元,用于查询所述待获取进程标识号是否已存在于预设编号服务中与所述业务标识号对应的已用进程标识号集合中;_确定单元,用于若不存在于所述已用进程标识号集合中,则确定所述待获取进程标识号为与所述业务进程对应的进程标识号。

百度查询: 北京星选科技有限公司 标识生成方法和装置

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。