会话标识信息生成方法及装置与流程

文档序号:12278810阅读:479来源:国知局
会话标识信息生成方法及装置与流程

本发明涉及信息技术领域,尤其涉及一种会话标识信息生成方法及装置。



背景技术:

近些年来,随着信息技术的不断发展,网站维护的问题越来越受到人们的重视,网站需要定期或不定期地更新内容,才能不断地吸引更多的浏览者,增加访问量。为了得到更好的网站维护效果,需要对用户的访问行为进行分析。通常会对网站日志信息中的会话进行离线处理进行用户访问行为分析,因此,需要对每一个会话进行标识以区分不同会话。其中,会话是由用户一次访问中的多个行为组成的。

目前可以通过UUID(Universally Unique Identifier,通用唯一标识符)生成算法生成会话的标识信息,但是通过UUID生成算法生成会话的标识信息时,需要通过对当前日期和时间、时钟序列、全局唯一的机器识别号这三个参数进行分析,才可以生成会话的标识信息,从而造成现有会话标识信息的生成过程较为复杂,使得会话标识信息的生成效率较低,并且最终生成的结果需要占用128位内存,造成系统资源的浪费。



技术实现要素:

有鉴于此,本发明实施例提供一种会话标识信息生成方法及装置,主要目的是可以在分布式系统中提高生成会话的标识信息的效率。

为达到上述目的,本发明主要提供如下技术方案:

一方面,本发明实施例提供了一种会话标识信息生成方法,该方法包括:

获取日志信息中会话对应的时间信息和所述会话对应的分布式分区标识信息,其中,所述日志信息中不同会话分别对应不同分布式分区标识信息;

生成所述会话对应的时间信息的时间标识信息;

根据所述时间标识信息和所述分布式分区标识信息,生成所述会话的标识信息。

另一方面,本发明实施例还提供一种会话标识信息生成装置,该装置包括:

获取单元,用于获取日志信息中会话对应的时间信息和所述会话对应的分布式分区标识信息,其中,所述日志信息中不同会话分别对应不同分布式分区标识信息;

生成单元,用于生成所述获取单元获取的会话对应的时间信息的时间标识信息;

所述生成单元,还用于根据所述时间标识信息和所述分布式分区标识信息,生成所述会话的标识信息。

借由上述技术方案,本发明实施例提供的技术方案至少具有下列优点:

本发明实施例提供的一种会话标识信息生成方法及装置,首先获取日志信息中会话对应的时间信息和所述会话对应的分布式分区标识信息,其中,所述日志信息中不同会话分别对应不同分布式分区标识信息;然后生成所述会话对应的时间信息的时间标识信息;最后根据所述时间标识信息和所述分布式分区标识信息,生成所述会话的标识信息。与目前通过UUID生成算法需要对当前日期和时间、时钟序列、全局唯一的机器识别号这三个参数进行分析,生成会话的标识信息相比,本发明只需要根据会话对应的时间标识信息和会话对应的分布式分区标识信息,生成会话的标识信息,算法简单,生成速度快,进而可以 在分布式系统中提高生成会话的标识信息的效率,减少系统资源的浪费。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1为本发明实施例提供的一种会话标识信息生成方法流程示意图;

图2为本发明实施例提供的另一种会话标识信息生成方法流程示意图;

图3为本发明实施例提供的一种会话标识信息生成装置结构示意图;

图4为本发明实施例提供的另一种会话标识信息生成装置结构示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

本发明实施例提供了一种会话标识信息生成方法,如图1所示,所述方法包括:

101、获取日志信息中会话对应的时间信息和所述会话对应的分布式分区标识信息。

其中,所述日志信息中不同会话分别对应不同分布式分区标识信息。所述日志信息可以为网站日志信息,网站日志信息中可以包含用户访问的时间、行为等信息,并且日志信息也可以将单个用户一次访问中的多个行为的记录合并为一个会话的记录。所述日志信息可以为在一天中需要处理的日志信息。所述时间信息可以为日期时间信息,例如,1997年7月1日、2002年10月1日等,也可以为具体的时间信息,例如,2006年9月3日,15点53分59秒等,本发明实施例不做限定。所述分布式分区标识信息可以为分布式分区的名称信息,也可以为分布式分区的ID(Identity,身份标识号码)信息,对此本发明实施例不做限定,其中,分布式分区可以是指以分布式的分区方式对数据进行存储。

对于本发明实施例,当需要处理的日志信息的数据量较大时,可以采用分布式并行计算框架进行计算,将日志信息分成多个分日志信息,并将多个分日志信息保存在分布式系统中的各个分区中进行计算。例如,当需要处理的日志信息的数据量较大时,可以采用分布式计算(hadoop)或分布式数据集群计算(spark)等分布式并行计算框架进行计算,其中,hadoop分布式并行计算框架实现了一个分布式文件系统,具有高容错性的特点,并且设计用来部署在低廉的硬件上,而且提供高吞吐量来访问应用程序的数据,适合具有超大数据集的应用程序;spark分布式并行计算框架启用了内存分布数据集,除了能够提供交互式查询外,还可以优化迭代工作负载,可以用来构建大型的、低延迟的数据分析应用程序。

例如,在2015年3月1日这一天,需要处理的网站日志信息中保存了100个会话,包含了会话1至会话100,会话1至会话100中的100个会话对应的日期时间信息为2015年3月1日,并且网站日志信息通过spark分布式并行计算框架进行处理,将会话1至会话50中的50个会话分配到分区1中进行处理, 将会话51至会话100中的50个会话分配到分区2中进行处理。当需要生成会话1的标识信息时,获取得到会话1对应的日期时间信息为2015年3月1日,并且获取得到会话1对应的分布式分区标识信息为分区1对应的标识信息;当需要生成会话51的标识信息时,获取得到会话51对应的日期时间信息为2015年3月1日,并且获取得到会话51对应的分布式分区标识信息为分区2对应的标识信息。

102、生成所述会话对应的时间信息的时间标识信息。

其中,所述时间信息的时间标识信息可以为时间信息的ID信息,也可以为时间信息中包含的数字信息的组合,本发明实施例不做限定。

对于本发明实施例,可以通过在特定的计算机编程语言中将会话对应的时间信息进行转换的方式,实现生成所述会话对应的时间信息的时间标识信息的步骤。

例如,会话对应的日期时间信息为2015年1月1日,在标准的JAVA计算机编程语言中,通过日期型转换长整型的方式,将会话对应的时间信息转换得到精确到毫秒的数值为1420041600000,具体为1970年1月1日至2015年1月1日之间的毫秒值,再乘以1000得到微秒值为1420041600000000,该微秒值为所述会话对应的时间信息的时间标识信息,其二进制表示为00000000 00000101 00001011 10000101 00110011 00100010 01100000 00000000。

又例如,会话对应的时间信息为2014年3月1日,在标准的JAVA计算机编程语言中,采用日期型转换长整型的方式,将会话对应的时间信息转换得到精确到毫秒的数值为1393603200000,具体为1970年1月1日至2014年3月1日之间的毫秒值,再乘以1000得到微秒值为1393603200000000,该微秒值为所述会话对应的时间信息的时间标识信息,其二进制表示为00000000 00000100 11110011 01111001 10000111 10110001 10100000 00000000。

103、根据所述时间标识信息和所述分布式分区标识信息,生成所述会话的标识信息。

其中,所述会话的标识信息可以为会话的ID信息,也可以为会话对应的数字名称信息,本发明实施例不做限定。

例如,会话对应的分布式分区为分区100,分区100的标识信息为100,其二进制表示为00000110 0100,会话对应的时间信息为2015年5月2日,在标准的JAVA计算机编程语言中,采用日期型转换长整型的方式,将会话对应的时间信息进行转换,最终得到精确到微秒的数值为1430496000000000,用来作为所述会话对应的时间信息的时间标识信息,其二进制表示为00000000 00000101 00010101 00000111 01001101 11101110 11000000 00000000,将所述时间标识信息的前12位数据替换为所述会话对应的分布式分区标识信息的12位数据,最终得到64位的所述会话的标识信息,其二进制表示为00000110 01000101 00010101 00000111 01001101 11101110 11000000 00000000。

对于本发明实施例,通过在特定的计算机编程语言中将会话对应的时间信息进行转换,可以得到精确到如毫秒、微秒、纳秒等的数值,用来作为会话对应的时间标识信息,与会话对应的分布式分区标识信息合并,进而生成会话的标识信息,生成的会话标识信息还可以具有不同的位数,例如,32位、64位等。从而可以具有不同的取值空间来实现不同场景下的需求,具体可以根据取值空间的实际需求进行配置生成。

本发明实施例提供的一种会话标识信息生成方法,首先获取日志信息中会话对应的时间信息和所述会话对应的分布式分区标识信息,其中,所述日志信息中不同会话分别对应不同分布式分区标识信息;然后生成所述会话对应的时 间信息的时间标识信息;最后根据所述时间标识信息和所述分布式分区标识信息,生成所述会话的标识信息。与目前通过UUID生成算法需要对当前日期和时间、时钟序列、全局唯一的机器识别号这三个参数进行分析,生成会话的标识信息相比,本发明只需要根据会话对应的时间标识信息和会话对应的分布式分区标识信息,生成会话的标识信息,算法简单,生成速度快,进而可以在分布式系统中提高生成会话的标识信息的效率,减少系统资源的浪费。

本发明实施例提供了另一种会话标识信息生成方法,如图2所示,所述方法包括:

201、根据日志信息中的会话数量,划分多个分布式分区处理区域。

其中,所述日志信息可以为网站日志信息,网站日志信息中可以记录用户访问的时间、行为等信息,并且可以将单个用户一次访问中的多个行为合并为一个会话,所述日志信息可以为在一天中需要处理的日志信息。所述分布式分区处理区域可以为分布式处理的系统中分区的处理区域,所述分布式处理则是将不同地点的,或具有不同功能的,或拥有不同数据的多台计算机通过通信网络连接起来,在控制系统的统一管理控制下,协调地完成大规模信息处理任务的计算机系统。

对于本发明实施例,根据日志信息中的会话数量,划分多个分布式分区处理区域,具体可以根据分布式系统中各分区的处理能力和日志信息中的会话数量,划分多个分布式分区处理区域,也可以根据实际需求进行划分多个分布式分区处理区域,本发明实施例不做限定。例如,当日志信息中的会话数量较多,并且分布式系统中各分区的处理能力较差时,可以划分较多的分布式分区处理区域;当日志信息中的会话数量较少,并且分布式系统中各分区的处理能力较强时,可以划分较少的分布式分区处理区域。

对于本发明实施例,当需要处理的日志信息中的会话数量较多时,可以采用分布式并行计算框架进行计算,例如,可以采用hadoop或spark等分布式并行计算框架进行计算,其中所述hadoop或spark等分布式并行计算框架的概念解释可以参考所述步骤101中的相应描述,在此不再赘述。将日志信息中的大量会话划分到分布式并行计算框架中的各个分区处理区域内进行处理,可以将负载由单个节点转移到多个节点,从而可以提高处理效率,可以将分布在各处的资源综合利用,可以避免由于单个节点失效而导致整个系统崩溃的危险。

202、为所述多个分布式分区处理区域分别配置不同的分布式分区标识信息。

其中,所述分布式分区标识信息可以为分布式分区的名称信息,也可以为分布式分区的ID信息,本发明实施例不做限定。

例如,根据日志信息中的会话数量,划分得到3个分布式分区处理区域,分别为分区1、分区2、分区3,可以将分区1的标识信息配置为1,其二进制的表示为1,可以将分区2的标识信息配置为2,其二进制的表示为01,可以将分区3的标识信息配置为3,其二进制的表示为11。

203、获取日志信息中会话对应的时间信息和所述会话对应的分布式分区标识信息。

其中,所述日志信息中不同会话分别对应不同分布式分区标识信息。所述时间信息可以为日期时间信息,例如,1999年12月2日、2005年5月6日等,也可以为具体的时间信息,例如,2004年12月1日,20点23分40秒等,本发明实施例不做限定。

例如,在2010年3月31日这一天,需要处理的网站日志信息中保存了1000个会话,包含了会话1至会话1000,采用spark分布式并行计算框架进行处理, 将所述1000个会话划分到5个分布式处理区域进行处理,其中,5个分布式处理区域分别为分区1,、分区2、分区3、分区4、分区5,其标识信息分别1、2、3、4、5,将会话1至会话200中的200个会话分配到分区1中进行处理,将会话201至会话400中的200个会话分配到分区2中进行处理,将会话401至会话600中的200个会话分配到分区3中进行处理,将会话601至会话800中的200个会话分配到分区4中进行处理,最后将会话801至会话1000中的200个会话分配到分区5中进行处理,会话1至会话1000中的1000个会话对应的日期时间信息为2010年3月31日。当需要生成会话201的标识信息时,获取得到会话201对应的日期时间信息为2010年3月31日,并且获取得到会话201对应的分布式分区标识信息为2,当需要生成会话601的标识信息时,获取得到会话601对应的日期时间信息为2010年3月31日,并且会话601对应的分布式分区标识信息为4。

204、生成所述会话对应的时间信息的时间标识信息。

其中,所述时间信息的时间标识信息可以为时间信息的ID信息,也可以为时间信息中包含的数字信息的组合,本发明实施例不做限定。

对于本发明实施例,步骤204具体包括:通过预置转换规则将所述会话对应的时间信息转换为所述时间信息的时间标识信息。其中,所述预置转换规则可以按实际需求进行配置,也可以由系统默认配置,本发明实施例不做限定。具体可以通过将会话对应的时间信息在特定的计算机编程语言中进行转换的方式,得到所述会话对应的需要生成的时间标识信息。具体可以在特定的计算机编程语言中,通过日期型转换长整型的方式,将会话对应的时间信息转换得到长整型的数值。

例如,会话对应的日期时间信息为2013年2月1日,在标准的JAVA计算 机编程语言中,通过日期型转换长整型的方式,将会话对应的日期时间信息转换得到精确到毫秒的数值为1359648000000,具体为1970年1月1日至2013年2月1日之间的毫秒值,再将毫秒值乘以1000得到微秒值为1359648000000000,其二进制表示为00000000 00000100 11010100 10010111 10111000 00001111 01000000 00000000,至此上述二进制数值为所述会话对应的时间信息的时间标识信息。

对于本发明实施例,所述通过预置转换规则将所述会话对应的时间信息转换为所述时间信息的时间标识信息之前,还包括:检测所述会话是否为所述会话对应的分布式分区中的初始会话;所述通过预置转换规则将所述会话对应的时间信息转换为所述时间信息的时间标识信息包括:若是,则通过预置转换规则将所述会话对应的时间信息转换为所述时间信息的时间标识信息;若否,则获取所述初始会话对应的时间标识信息;将所述初始会话对应的时间标识信息进行累加得到所述会话对应的时间标识信息。其中,所述初始会话为所在分布式分区中第一个需要进行处理的会话。

需要说明的是,当检测出所述会话不是所述会话对应的分布式分区中的初始会话时,可以获取所述会话对应的分布式分区中最后生成的会话对应的时间标识信息,将所述分布式分区中最后生成的会话对应的时间标识信息的数值累计加1,得到所述会话对应的时间标识信息。

例如,当需要生成会话10对应的时间标识信息,并且会话10并非是所在分布式分区中需要处理的初始会话时,首先获取会话10所在分布式分区中最后生成的会话对应的时间标识信息1424534400009998,将该数值累计加1,得到会话10对应的时间标识信息1424534400009999,其二进制表示为00000000 00000101 00001111 10011011 01000010 11100010 00000111 00001111。

对于本发明实施例,还可以在每个分布式分区中分别统计已经生成的会话对应的时间标识信息的个数,当检测出所述会话不是所述会话对应的分布式分区中的初始会话时,可以获取所述会话对应的分布式分区中的初始会话的时间标识信息,并获取所述会话对应的分布式分区中已经生成的会话对应的时间标识信息的个数,根据所述初始会话的时间标识信息和所述分布式分区中已经生成的会话对应的时间标识信息的个数,得到所述会话对应的时间标识信息。

例如,在3个分布式分区中进行处理日志信息中的10个会话任务,3个分布式分区分别为分区1、分区2、分区3,其中,分区1内处理会话1至会话3中的3个会话任务,分区2内处理会话4至会话7中的4个会话任务,分区3内处理会话8至会话10中的3个会话任务,并且会话1为分区1内需要处理的初始会话,会话4为分区2内需要处理的初始会话,会话8为分区3内需要处理的初始会话,在3个分布式分区中分别统计已经生成的会话对应的时间标识信息的个数。

在上述场景下,当需要生成会话8对应的时间信息的时间标识信息时,判定会话8为所在分布式分区3内需要处理的初始会话,通过在标准的JAVA计算机编程语言中进行数值转换的方式,得到会话8对应的时间信息的标识信息为1424707200000000,其二进制表示为00000000 00000101 00001111 11000011 01111110 10010000 10100000 00000000;当需要生成会话2对应的时间信息的时间标识信息时,判定会话2并非为所在分布式分区1内需要处理的初始会话,获取得到会话2所在分布式分区1内的初始会话对应的时间标识信息,即会话1对应的时间信息的时间标识信息1424534400000000,再获取得到分区1内已经生成的会话对应的时间标识信息的个数为1个,将会话1对应的时间信息的时间标识信息累计加1,得到会话2对应的时间信息的时间标识信息 1424534400000001,其二进制表示为00000000 00000101 00001111 10011011 01000010 11100001 11100000 00000001;当需要生成会话7对应的时间信息的时间标识信息时,判定会话7并非为所在分布式分区2内需要处理的初始会话,获取得到会话7所在分布式分区2内的初始会话对应的时间标识信息,即会话4对应的时间信息的标识信息1424620800000000,再获取得到分区2内已经生成的会话对应的时间标识信息的个数为3个,将会话7对应的时间信息的时间标识信息累计加3,得到会话7对应的时间信息的时间标识信息1424620800000003,其二进制表示为00000000 00000101 00001111 10101111 01100000 10111001 01000000 00000011。

对于本发明实施例,在生成会话对应的时间标识信息时,检测所述会话是否为所述会话对应的分布式分区中的初始会话,若是,则通过预置转换规则将所述会话对应的时间信息转换为所述时间信息的时间标识信息;若否,则获取所述初始会话对应的时间标识信息;将所述初始会话对应的时间标识信息进行累加得到所述会话对应的时间标识信息,在生成新的会话对应的时间标识信息时,算法简单,生成速度快,进而可以在分布式系统中提高生成会话的标识信息的效率。

205、根据所述时间标识信息和所述分布式分区标识信息,生成所述会话的标识信息。

其中,所述会话的标识信息可以为会话的ID信息,也可以为会话对应的数字名称信息,本发明实施例不做限定。

对于本发明实施例,步骤205具体包括:将所述时间标识信息的预置位置上的数据替换为所述分布式分区标识信息。其中,所述预置位置可以根据实际需求进行配置,也可以由系统默认配置,本发明实施例不做限定。

例如,会话对应的时间信息为2015年3月3日,在标准的JAVA计算机编程语言中,采用日期型转换长整型的方式,将会话对应的时间信息进行转换,最终得到精确到微秒的数值为1425312000000000,用来作为所述会话对应的时间信息的时间标识信息,其二进制表示为00000000 00000101 00010000 01010000 01001111 01110100 01000000 00000000,会话对应的分布式分区为分区1000,分区1000的标识信息为1000,其二进制表示为00111110 1000,预置位置为会话对应的时间标识信息的前12位,将所述时间标识信息的前12位数据替换为所述会话对应的分布式分区标识信息的12位数据,最终得到64位的所述会话的标识信息,其二进制表示为00111110 10000101 00010000 01010000 01001111 01110100 01000000 00000000。

对于本发明实施例,通过将所述时间标识信息的预置位置上的数据替换为所述分布式分区标识信息的方式,生成所述会话的标识信息,具体可以为将会话对应的日期时间在标准的JAVA计算机编程语言中转换得到精确到微秒的64位的时间标识信息,当划分的分布式分区处理区域的数量小于4096时,为分布式分区处理区域配置的分布式分区标识信息为12位的标识信息,经过计算在公元2100年之前,会话对应的64位时间标识信息中前12位数据固定为0,将64位的时间标识信息的前12位数据替换为所述会话对应的分布式分区标识信息的12位数据,合并过程不会带来数据的冲突,最终生成的64位标识信息作为该会话的标识信息,可以保证每天具有八百亿以上的取值空间,具有丰富的取值空间,可以保证实际的需求,并且通过采用会话对应的日期时间生成会话对应的时间标识信息,与会话对应的分布式分区标识信息合并进而生成会话的标识信息,可以保证与集群时间无关。最终生成的64位的会话标识信息,与目前通过UUID生成算法生成128位的会话的标识信息相比,更加容易读取,占用空间小, 更容易存储。

对于本发明实施例,通过在特定的计算机编程语言中将会话对应的时间信息进行转换,可以得到精确到如毫秒、微秒、纳秒等的数值,用来作为会话对应的时间标识信息,与会话对应的分布式分区标识信息合并,进而生成会话的标识信息,生成的会话标识信息还可以具有不同的位数,例如,32位、64位等。从而可以具有不同的取值空间来实现不同场景下的需求,具体可以根据取值空间的实际需求进行配置生成。

对于本发明实施例具体应用场景可以如下所示,但不限于此,包括:

通过spark分布式并行计算框架处理在2014年9月6日这一天的网站日志信息,网站日志信息中具有5000个会话,其中包含会话1至会话5000,在spark分布式并行计算框架中,划分5个分布式分区处理区域进行处理网站日志信息中的5000个会话,为5个分布式分区处理区域分别配置的标识信息为1、2、3、4、5,将会话1至会话1000中的1000个会话分配到标识信息为1的分布式分区处理区域进行处理,将将会话1001至会话2000中的1000个会话分配到标识信息为2的分布式分区处理区域进行处理,将会话2001至会话3000中的1000个会话分配到标识信息为3的分布式分区处理区域进行处理将会话3001至会话4000中的1000个会话分配到标识信息为4的分布式分区处理区域进行处理,将会话,4001至会话5000中的1000个会话分配到标识信息为5的分布式分区处理区域进行处理;通过spark分布式并行计算框架读取到会话1至会话5000中的5000个会话对应的日期信息为2014年9月6日。

在上述场景下,当需要生成会话2001的标识信息时,判定会话2001为所在分布式分区处理区域中需要处理的初始会话,获取得到会话2001对应的日期时间信息为2014年9月6日,并且会话2001对应的分布式分区标识信息为3, 其二进制表示为00000000 0011,在标准的JAVA计算机编程语言中,通过日期型转换长整型的方式,将会话对应的日期时间信息转换得到精确到毫秒的数值为1409932800000,具体为1970年1月1日至2014年9月6日之间的毫秒值,再将毫秒值乘以1000得到微秒值为1409932800000000,其二进制表示为00000000 00000101 00000010 01010011 10001111 10110011 10000000 00000000,将会话2001对应的时间标识信息的前12位数据替换为会话2001对应的分布式分区标识信息的12位数据,最终得到64位的会话2001的标识信息,其二进制表示为00000000 00110101 00000010 01010011 10001111 10110011 10000000 00000000。

在上述场景下,当需要生成会话2002的标识信息时,判定会话2002不是所在分布式分区处理区域中需要处理的初始会话,获取得到会话2002所在分布式处理区域中需要处理的初始会话对应的标识信息,即会话2001对应的标识信息,将会话2001对应的标识信息累计加1得到会话2002对应的标识信息,最终得到64位的会话2002的标识信息,其二进制表示为00000000 00110101 00000010 01010011 10001111 10110011 10000000 00000001。

在上述场景下,当需要生成会话2003的标识信息时,判定会话2003不是所在分布式分区处理区域中需要处理的初始会话,获取得到会话2003所在分布式处理区域中最后生成的会话对应的标识信息,即会话2002对应的标识信息,将会话2002对应的标识信息累计加1得到会话2003对应的标识信息,最终得到64位的会话2003的标识信息,其二进制表示为00000000 00110101 00000010 01010011 10001111 10110011 10000000 00000010。

本发明实施例提供的另一种会话标识信息生成方法,首先获取日志信息中会话对应的时间信息和所述会话对应的分布式分区标识信息,其中,所述日志 信息中不同会话分别对应不同分布式分区标识信息;然后生成所述会话对应的时间信息的时间标识信息;最后根据所述时间标识信息和所述分布式分区标识信息,生成所述会话的标识信息。与目前通过UUID生成算法需要对当前日期和时间、时钟序列、全局唯一的机器识别号这三个参数进行分析,生成会话的标识信息相比,本发明只需要根据会话对应的时间标识信息和会话对应的分布式分区标识信息,生成会话的标识信息,算法简单,生成速度快,进而可以在分布式系统中提高生成会话的标识信息的效率,减少系统资源的浪费。

进一步地,作为图1所示方法的具体实现,本发明实施例提供了一种会话标识信息生成装置,如图3所示,所述装置包括:获取单元31、生成单元32。

所述获取单元31,可以用于获取日志信息中会话对应的时间信息和所述会话对应的分布式分区标识信息,其中,所述日志信息中不同会话分别对应不同分布式分区标识信息。

所述生成单元32,可以用于生成所述获取单元31获取的会话对应的时间信息的时间标识信息。

所述生成单元32,还可以用于根据所述时间标识信息和所述分布式分区标识信息,生成所述会话的标识信息。

需要说明的是,本发明实施例提供的一种会话标识信息生成装置所涉及各功能单元的其他相应描述,可以参考图1的对应描述,在此不再赘述。

本发明实施例提供的一种会话标识信息生成装置,首先获取日志信息中会话对应的时间信息和所述会话对应的分布式分区标识信息,其中,所述日志信息中不同会话分别对应不同分布式分区标识信息;然后生成所述会话对应的时间信息的时间标识信息;最后根据所述时间标识信息和所述分布式分区标识信息,生成所述会话的标识信息。与目前通过UUID生成算法需要对当前日期和时 间、时钟序列、全局唯一的机器识别号这三个参数进行分析,生成会话的标识信息相比,本发明只需要根据会话对应的时间标识信息和会话对应的分布式分区标识信息,生成会话的标识信息,算法简单,生成速度快,进而可以在分布式系统中提高生成会话的标识信息的效率,减少系统资源的浪费。

进一步地,作为图2所示方法的具体实现,本发明实施例提供了另一种会话标识信息生成装置,如图4所示,所述装置包括:获取单元41、生成单元42。

所述获取单元41,可以用于获取日志信息中会话对应的时间信息和所述会话对应的分布式分区标识信息,其中,所述日志信息中不同会话分别对应不同分布式分区标识信息。

所述生成单元42,可以用于生成所述获取单元41获取的会话对应的时间信息的时间标识信息。

所述生成单元42,还可以用于根据所述时间标识信息和所述分布式分区标识信息,生成所述会话的标识信息。

进一步地,所述生成单元42包括:转换模块421。

所述转换模块421,可以用于通过预置转换规则将所述会话对应的时间信息转换为所述时间信息的时间标识信息。

进一步地,所述装置还包括:检测单元43、累加单元44。

所述检测单元43,可以用于检测所述获取单元41获取的会话是否为所述会话对应的分布式分区中的初始会话。

所述转换模块421,具体可以用于若所述会话为所述会话对应的分布式分区中的初始会话,则通过预置转换规则将所述会话对应的时间信息转换为所述时间信息的时间标识信息。

所述获取单元41,还可以用于若所述会话不是所述会话对应的分布式分区 中的初始会话,则获取所述初始会话对应的时间标识信息。

所述累加单元44,可以用于将所述获取单元41获取的初始会话对应的时间标识信息进行累加得到所述会话对应的时间标识信息。

进一步地,所述生成单元42还包括:替换模块422。

所述替换模块422,可以用于将所述时间标识信息的预置位置上的数据替换为所述分布式分区标识信息。

进一步地,所述装置还包括:划分单元45、配置单元46。

所述划分单元45,可以用于根据所述日志信息中的会话数量,划分多个分布式分区处理区域。

所述配置单元46,可以用于为所述划分单元45划分的多个分布式分区处理区域分别配置不同的分布式分区标识信息。

需要说明的是,本发明实施例提供的另一种会话标识信息生成装置所涉及各功能单元的其他相应描述,可以参考图2的对应描述,在此不再赘述。

本发明实施例提供的另一种会话标识信息生成装置,首先获取日志信息中会话对应的时间信息和所述会话对应的分布式分区标识信息,其中,所述日志信息中不同会话分别对应不同分布式分区标识信息;然后生成所述会话对应的时间信息的时间标识信息;最后根据所述时间标识信息和所述分布式分区标识信息,生成所述会话的标识信息。与目前通过UUID生成算法需要对当前日期和时间、时钟序列、全局唯一的机器识别号这三个参数进行分析,生成会话的标识信息相比,本发明只需要根据会话对应的时间标识信息和会话对应的分布式分区标识信息,生成会话的标识信息,算法简单,生成速度快,进而可以在分布式系统中提高生成会话的标识信息的效率,减少系统资源的浪费。

通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发 明可借助软件加必需的通用硬件的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1