CN113254447A - Id生成方法、装置、电子设备及存储介质 - Google Patents

Id生成方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN113254447A
CN113254447A CN202110581192.XA CN202110581192A CN113254447A CN 113254447 A CN113254447 A CN 113254447A CN 202110581192 A CN202110581192 A CN 202110581192A CN 113254447 A CN113254447 A CN 113254447A
Authority
CN
China
Prior art keywords
type information
target type
data packet
information
sequencing
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
Application number
CN202110581192.XA
Other languages
English (en)
Inventor
刘杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An Puhui Enterprise Management Co Ltd
Original Assignee
Ping An Puhui Enterprise Management Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ping An Puhui Enterprise Management Co Ltd filed Critical Ping An Puhui Enterprise Management Co Ltd
Priority to CN202110581192.XA priority Critical patent/CN113254447A/zh
Publication of CN113254447A publication Critical patent/CN113254447A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2272Management thereof

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及数据存储领域,揭露了一种ID生成方法,包括:接收数据包,判断数据包中目标类型信息的数量;当数据包中目标类型信息的数量为一个时,对数据包中目标类型信息标记流水号,记录时间戳;当数据包中目标类型信息的数量为不止一个时,判断各个业务流程信息是否相同,将业务流程信息不相同的目标类型信息根据第一排序方法进行排序,将业务流程信息相同的目标类型信息根据第二排序方法进行排序,并根据排列顺序,对数据包中各个目标类型信息标记流水号,记录时间戳;时间戳、基础申请号及目标类型信息的流水号进行组合,生成目标类型信息的ID号。本发明可以解决生成ID号时,占用大量内存空间且ID号容易耗尽的问题。

Description

ID生成方法、装置、电子设备及存储介质
技术领域
本发明涉及数据存储领域,尤其涉及一种ID生成方法、装置、电子设备及计算机可读存储介质。
背景技术
在计算机应用中,处处存在ID,如订单号、商品ID、消息ID等。通过ID,可以迅速定位到实体,为对象之间建立关联。但是,现在分布式的应用越来越广,如果每个集群实体只管理生成自己的ID,可能导致生成的ID有所冲突。因此,目前唯一ID生成主要方法是采用内存ID管理中心进行管理的方法。但是这种方法每申请一个ID都请求一次ID管理中心,造成很大的网络负担,而且一般的ID管理中心生成的ID都是递增的,在互联网时代容易使得ID用尽,无法适应快速发展的时代。
发明内容
本发明提供一种ID生成方法、装置、电子设备及计算机可读存储介质,其主要目的在于解决传统生成ID时,会消耗大量内存空间且ID号容易耗尽的问题。
为实现上述目的,本发明提供的一种ID生成方法,包括:
从客户端集群接收包含目标类型信息的数据包,并判断所述数据包中的目标类型信息的数量;
当所述数据包中的目标类型信息的数量为一个时,对所述数据包中的目标类型信息标记流水号,并记录当前的时间戳;
当所述数据包中的目标类型信息的数量为不止一个时,提取所述数据包中各个目标类型信息的业务流程信息,将所述业务流程信息不相同的目标类型信息根据预设的第一排序方法进行排序,及将所述业务流程信息相同的目标类型信息根据预设的第二排序方法进行排序,得到所述数据包中各个目标类型信息的排列顺序,并根据所述排列顺序,对所述数据包中各个目标类型信息标记流水号,并记录当前的时间戳;
获取预设的全局唯一的基础申请号,利用所述基础申请号与所述时间戳、所述目标类型信息的流水号按照预设顺序进行组合,生成所述目标类型信息的ID号。
可选的,所述将所述业务流程信息相同的目标类型信息根据预设的第二排序方法进行排序,包括:
对业务流程信息相同的各个目标类型信息进行版本号递增标注;
根据所述版本号的标注顺序,利用前一个标注的目标类型信息,更新相邻的后一个标注的目标类型信息,直至最后标注的版本号对应的目标类型信息被更新;
根据所述版本号由小到大的顺序,将所述更新后的各个目标类型信息进行排列。
可选的,所述生成所述目标类型信息的ID号之后,所述方法还包括:
将已生成ID号的目标类型信息逐一存储至预构建的企业事件流水表格中;
对所述企业事件流水表格中的目标类型信息的数量进行统计;
每当所述企业事件流水表格中的目标类型信息的数量达到预设的最大值时,根据所述企业事件流水表格的属性信息,重新构建一个基础申请号。
可选的,所述构建一个基础申请号,包括:
随机申请一个全局唯一的初始ID号;
将所述初始ID号的左侧进行补零,直至所述初始ID的总体长度达到预设长度,得到基础申请号。
可选的,所述将已生成ID号的目标类型信息逐一存储至预构建的企业事件流水表格中之后,所述方法还包括:
利用预构建的编码器,将所述企业事件流水表格进行编译,得到编译数据;
将所述编译数据进行拆分,得到数据块集合;
利用Hash算法将所述数据块集合中的各个数据块分布式存储至多个存储服务器中。
可选的,所述将所述业务流程信息不相同的目标类型信息根据预设的第一排序方法进行排序,包括:
获取预构建的业务流程顺序表;及
根据所述业务流程顺序表及所述各个目标类型信息中的业务流程信息,将各个目标类型信息进行顺序排列。
可选的,所述将所述业务流程信息不相同的目标类型信息根据预设的第一排序方法进行排序,及将所述业务流程信息相同的目标类型信息根据预设的第二排序方法进行排序之前,所述方法还包括:
监控所述数据包中各个目标类型信息排序的线程;
当所述数据包中利用第一排序方法及所述第二排序方法同时对目标类型信息进行排序时,利用乐观锁算法,随机选择一种排序方法进行排序。
为了解决上述问题,本发明还提供一种ID生成装置,所述装置包括:
数据接收判断模块,用于从客户端集群接收包含生产交易事件信息的数据包,并判断所述数据包中的生产交易事件信息的数量;
流水号第一标记模块,用于当所述数据包中的目标类型信息的数量为一个时,对所述数据包中的目标类型信息标记流水号,并记录当前的时间戳;
流水号第二标记模块,用于当所述数据包中的目标类型信息的数量为不止一个时,提取所述数据包中各个目标类型信息的业务流程信息,并判断各个所述业务流程信息是否相同,将所述业务流程信息不相同的目标类型信息根据预设的第一排序方法进行排序,将所述业务流程信息相同的目标类型信息根据预设的第二排序方法进行排序,得到所述数据包中各个目标类型信息的排列顺序,并根据所述排列顺序,对所述数据包中各个目标类型信息标记流水号,并记录当前的时间戳;
ID号生成模块,用于获取预设的全局唯一的基础申请号,利用所述基础申请号与所述时间戳、所述目标类型信息的流水号按照预设顺序进行组合,生成所述目标类型信息的ID号。
为了解决上述问题,本发明还提供一种电子设备,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以实现上述所述的ID生成方法。
为了解决上述问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个计算机程序,所述至少一个计算机程序被电子设备中的处理器执行以实现上述所述的ID生成方法。
本发明实施例根据数据包中的目标类型信息的数量是否为多个、多个目标类型信息的业务流程是否相同的两个判断条件,对所述数据包中的目标类型信息进行区分排序,并标记流水号,避免一个流水号号被多个目标类型信息使用的问题,以产生唯一的ID,并进一步通过将预构建的基础申请号与流水号及生成所述流水号的时间戳进行组合,使得一个基础申请号能够对应产生多个目标类型信息的ID号,能有效缓解每次产生生产交易数据都要申请一次ID号而对内存产生占用及ID号容易耗尽的问题,因此,本发明实施例能够解决生成ID号时,会占用大量内存空间且ID号容易耗尽的问题。
附图说明
图1为本发明一实施例提供的ID生成方法的流程示意图;
图2为本发明一实施例提供的ID生成装置的模块示意图;
图3为本发明一实施例提供的实现ID生成方法的电子设备的内部结构示意图;
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本申请实施例提供一种ID生成方法。所述ID生成方法的执行主体包括但不限于服务端、终端等能够被配置为执行本申请实施例提供的该方法的电子设备中的至少一种。换言之,所述ID生成方法可以由安装在终端设备或服务端设备的软件或硬件来执行,所述软件可以是区块链平台。所述服务端包括但不限于:单台服务器、服务器集群、云端服务器或云端服务器集群等。
参照图1所示,为本发明一实施例提供的ID生成方法的流程示意图。在本发明实施例中,所述ID生成方法包括:
S1、接收包含目标类型信息的数据包,并判断所述数据包中的目标类型信息的数量。
本发明其中一个实施例中,所述目标类型信息为生产交易信息,而所述数据包可以从客户端集群中获取,其中,所述客户端集群包括不同部门的客户端或同一部门的多台客户端,本发明实施例中所述客户端集群之间相互协同工作,企业需要对各个部门的所有客户端产生的生产交易数据进行统一整理,其中,在同一时刻,不同客户端生成的目标类型信息作为一个批次的数据,发送至数据库中,并定义所述一个批次的数据为所述数据包。
本发明实施例利用预构建的数据库交互程序对数据库进行监控,当所述数据库中得到所述数据包时,利用所述数据库交互程序对所述数据包进行内容检测,得到所述数据包中包含目标类型信息的数量。
S2、当所述数据包中的目标类型信息的数量为一个时,对所述数据包中的目标类型信息标记流水号,并记录当前的时间戳。
本发明实施例,预构建一个企业事件流水表格,用于将所述目标类型信息进行ID号构建及存储。其中,所述企业事件流水表格中包括流水号、内容信息、业务流程信息、时间戳、版本号等预设属性,以及最大步长、基础申请号等预设的配置参数。其中,所述最大步长用于控制所述基础申请号可以组建所述目标类型信息的ID号的最大数量。所述基础申请号是构成所述目标类型信息的ID号的一个组成部分。
当所述数据包中的目标类型信息的数量为一个时,本发明实施例在所述企业事件流水表格中初始化一个流水号,利用所述流水号对存储至所述企业事件流水表格中的目标类型信息进行配置。此后,在所述企业事件流水表格中,每存储一次目标类型信息,就对所述流水号进行加一操作。
本发明其中一个实施例中,在流水号配置的同时,本发明实施例利用数据库中的代码函数,在网络中进行时间戳抓取,并将所述时间戳存储至与所述目标类型信息对应的预设位置上。
S3、当所述数据包中的目标类型信息的数量为不止一个时,提取所述数据包中各个目标类型信息的业务流程信息,将所述业务流程信息不相同的目标类型信息根据预设的第一排序方法进行排序,及将所述业务流程信息相同的目标类型信息根据预设的第二排序方法进行排序,得到所述数据包中各个目标类型信息的排列顺序,并根据所述排列顺序,对所述数据包中各个目标类型信息标记流水号,并记录当前的时间戳。
详细的,本发明实施例中,所述将所述业务流程信息不相同的目标类型信息根据预设的第一排序方法进行排序,包括:
获取预构建的业务流程顺序表;及
根据所述业务流程顺序表及所述各个目标类型信息中的业务流程信息,将各个目标类型信息进行顺序排列。
具体的,所述业务流程顺序表是通过对项目名称英文缩写进行首字母排序,或根据各个项目开始的时间顺序进行排序得到的顺序表。本发明实施例将业务流程信息不同的目标类型信息进行项目首字母排序。例如,所述数据包中的目标类型信息为【目标类型信息一,G部门、A流程;目标类型信息二,G部门、D流程;目标类型信息三,B部门、A流程】,则排序为【所述目标类型信息三、所述目标类型信息一、所述目标类型信息二】。
进一步地,本发明实施例中,所述将所述业务流程信息相同的目标类型信息根据预设的第二排序方法进行排序,包括:
对业务流程信息相同的各个目标类型信息进行版本号递增标注;
根据所述版本号的标注顺序,利用前一个标注的目标类型信息,更新相邻的后一个标注的目标类型信息,直至最后标注的版本号对应的目标类型信息被更新;
根据所述版本号由小到大的顺序,将所述更新后的各个目标类型信息进行排列。
当所述数据包中的几个目标类型信息的项目及流程信息都相同,随机为每个目标类型信息生成版本号,并对几个目标类型信息中的版本号进行排序,例如:目标类型信息有【目标类型信息四:G部门、A流程;目标类型信息五:G部门、A流程;目标类型信息六:G部门、A流程】,则版本号递增标注产生的版本号为【v1,v2,v3】。其中,所述目标类型信息四至所述目标类型信息六为同一部门流程,产生线程冲突,例如,所述目标类型信息四为“出售一台,车辆存量减一”,所述目标类型信息五为“出售两台,车辆存量减二”,所述目标类型信息六为“销售一台,车辆存量减一”,因为线程冲突导致目标类型信息四至目标类型信息六获取相同的初始值“车辆存量为六台”,产生结果依次为【剩余5台,剩余4台,剩余5台】,但实际上最终只剩一台,所述目标类型信息四至所述目标类型信息六需要进行更新才有存储意义。本发明实施例进行根据版本号【v1,v2,v3】进行排序,并利用所述目标类型信息四更新目标类型信息五,再利用更新后的目标类型信息五,来更新目标类型信息六,使得各个目标类型信息完成更新,并根据上述数据库交互程序将排序后的目标类型信息四至目标类型信息六进行流水号标注。
进一步的,本发明其中一个实施例中,所述将所述业务流程信息不相同的目标类型信息根据预设的第一排序方法进行排序,及将所述业务流程信息相同的目标类型信息根据预设的第二排序方法进行排序之前,所述方法还包括:
监控所述数据包中各个目标类型信息排序的线程;
当所述数据包中利用第一排序方法及所述第二排序方法同时对目标类型信息进行排序时,利用乐观锁算法,随机选择一种排序方法进行排序。
所述乐观锁算法为一种可以避免数据库幻读,保证数据在并发条件下有序进行的方法,本发明实施例通过乐观锁算法,可以实现在所述数据包中同时存在业务流程信息相同的及或不相同的目标类型信息的情况下,也能快速将各个目标类型信息进行排列。
S4、获取预设的全局唯一的基础申请号,利用所述基础申请号与所述时间戳、所述目标类型信息的流水号按照预设顺序进行组合,生成所述目标类型信息的ID号。
本发明实施例中,所述基础申请号是全局唯一且长度较短的数字串,本发明实施例将所述基础申请号预先配置于所述企业事件流水表格中,每存储一个目标类型信息,就根据所述基础申请号、流水号、时间戳的先后顺序进行依次连接,生成所述目标类型信息的ID号。
详细的,本发明实施例中,所述将所述时间戳、预先构建的基础申请号及所述目标类型信息的流水号按照预设顺序进行组合,生成所述目标类型信息的ID号之后,所述方法还包括:
将已生成ID号的目标类型信息逐一存储至预构建的企业事件流水表格中;
对所述企业事件流水表格中的目标类型信息的数量进行统计;
每当所述企业事件流水表格中的目标类型信息的数量达到预设的最大值时,根据所述企业事件流水表格的属性信息,重新构建一个基础申请号。
本发明实施例,利用所述数据库交互程序对所述企业事件流水表格中目标类型信息的数量进行把控,每生成一个目标类型信息,所述数据库交互程序的循环步长加一。当目标类型信息的数量达到所述最大值时,表明所述数据库交互程序中的循环步长达到所述最大步长,将所述数据库交互程序中的循环步长清零,重新申请一个新申请号,利用所述新申请号来配置所述企业事件流水表格中的所述基础申请号的配置参数。其中,所述基础申请号构建过程如下:
随机申请一个全局唯一的初始ID号;
将所述初始ID号的左侧进行补零,直至所述初始ID的总体长度达到预设长度,将所述初始ID号及补零得到所述基础申请号。
本发明实施例随机申请一个全局唯一的初始ID号为569438,当所述预设长度为8位时,则生成的所述基础申请号为00569428。
进一步的,本发明实施例中,所述将已生成ID号的目标类型信息逐一存储至预构建的企业事件流水表格中之后,所述方法还包括:
利用预构建的编码器,将所述企业事件流水表格进行编译,得到编译数据;
将所述编译数据进行拆分,得到数据块集合;
利用Hash算法将所述数据块集合中的各个数据块分布式存储至多个存储服务器中。
具体的,本发明实施例利用预构建的编码器对所述企业事件流水表格进行编译,得到编码数据,通过预构建的纠删码对所述编码数据进行矩阵计算,将所述编码数据分割成多个数据块。再通过Hash算法将所述多个数据块进行分布式存储至各个服务器中,完成数据的分布式存储,增加数据的安全性。其中,所述纠删码是一种矩阵块,可用于将数据进行矩阵转换加密,所述Hash算法是一种可以数据存储位置进行转换,增加数据存储安全性的分布式存储方法。
本发明实施例根据数据包中的目标类型信息的数量是否为多个、多个目标类型信息的业务流程是否相同的两个判断条件,对所述数据包中的目标类型信息进行区分排序,并标记流水号,避免一个流水号号被多个目标类型信息使用的问题,以产生唯一的ID,并进一步通过将预构建的基础申请号与流水号及生成所述流水号的时间戳进行组合,使得一个基础申请号能够对应产生多个目标类型信息的ID号,能有效缓解每次产生生产交易数据都要申请一次ID号而对内存产生占用及ID号容易耗尽的问题,因此,本发明实施例能够解决生成ID号时,会占用大量内存空间且ID号容易耗尽的问题。
如图2所示,是本发明ID生成装置的功能模块图。
本发明所述ID生成装置100可以安装于电子设备中。根据实现的功能,所述ID生成装置可以包括数据接收判断模块101、流水号第一标记模块102流水号第二标记模块103以及ID号生成模块104。本发所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
在本实施例中,关于各模块/单元的功能如下:
所述数据接收判断模块101,用于接收包含目标类型信息的数据包,并判断所述数据包中的目标类型信息的数量。
本发明其中一个实施例中,所述目标类型信息为生产交易信息,而所述数据包可以从客户端集群中获取,其中,所述客户端集群包括不同部门的客户端或同一部门的多台客户端,本发明实施例中所述客户端集群间协同工作,企业需要对各个部门的所有客户端产生的生产交易数据进行统一整理,其中,在同一时刻中,不同客户端生成的目标类型信息作为一个批次的数据,发送至数据库中,并定义所述一个批次的数据为所述数据包。
所述流水号第一标记模块102,用于当所述数据包中的目标类型信息的数量为一个时,对所述数据包中的目标类型信息标记流水号,并记录当前的时间戳。
本发明实施例,预构建一个企业事件流水表格,用于将所述目标类型信息进行ID号构建及存储。其中,所述企业事件流水表格中包括流水号、内容信息、业务流程信息、时间戳、版本号等预设属性,以及最大步长、基础申请号等预设的配置参数。其中,所述最大步长用于控制所述基础申请号可以组建ID的最大数量。所述基础申请号是构成ID的起始部分。
本发明实施例在所述企业事件流水表格中初始化一个流水号,利用所述流水号对存储至所述企业事件流水表格中的第一个目标类型信息进行配置。此后,当所述数据包中的目标类型信息的数量只有一个时,对所述企业事件流水表格中最后一个的目标类型信息对应的流水号进行加一后,配置在本次目标类型信息上。在流水号配置的同时,本发明实施例利用数据库中的代码函数,在网络中进行时间戳抓取,并将所述时间戳存储至与所述目标类型信息对应的预设位置上。
所述流水号第二标记模块103,用于当所述数据包中的目标类型信息的数量为不止一个时,提取所述数据包中各个目标类型信息的业务流程信息,并判断各个所述业务流程信息是否相同,将所述业务流程信息不相同的目标类型信息根据预设的第一排序方法进行排序,将所述业务流程信息相同的目标类型信息根据预设的第二排序方法进行排序,得到所述数据包中各个目标类型信息的排列顺序,并根据所述排列顺序,对所述数据包中各个目标类型信息标记流水号,并记录当前的时间戳;
详细的,本发明实施例中,所述将所述业务流程信息不相同的目标类型信息根据预设的第一排序方法进行排序,所述流水号第二标记模块103具体用于:
获取预构建的业务流程顺序表;及
根据所述业务流程顺序表及所述各个目标类型信息中的业务流程信息,将各个目标类型信息进行顺序排列。
具体的,所述业务流程顺序表是通过对项目名称英文缩写进行首字母排序,或根据各个项目开始的时间顺序进行排序得到的顺序表。本发明实施例将业务流程信息不同的目标类型信息进行项目首字母排序。例如,所述数据包中的目标类型信息为【目标类型信息一,G部门、A流程;目标类型信息二,G部门、D流程;目标类型信息三,B部门、A流程】,则排序为【所述目标类型信息三、所述目标类型信息一、所述目标类型信息二】。
详细的,本发明实施例中,所述将所述业务流程信息相同的目标类型信息根据预设的第二排序方法进行排序,所述流水号第二标记模块103具体用于:
对业务流程信息相同的各个目标类型信息进行版本号递增标注;
根据所述版本号的标注顺序,利用前一个标注的目标类型信息,更新相邻的后一个标注的目标类型信息,直至最后标注的版本号对应的目标类型信息被更新;
根据所述版本号由小到大的顺序,将所述更新后的各个目标类型信息进行排列。
当所述数据包中的几个目标类型信息的项目及流程信息都相同,随机为每个目标类型信息生成版本号,并对几个目标类型信息中的版本号进行排序,例如:目标类型信息有【目标类型信息四:G部门、A流程;目标类型信息五:G部门、A流程;目标类型信息六:G部门、A流程】,则版本号递增标注产生的版本号为【v1,v2,v3】。其中,所述目标类型信息四至所述目标类型信息六为同一部门流程,产生线程冲突,例如,所述目标类型信息四为“出售一台,车辆存量减一”,所述目标类型信息五为“出售两台,车辆存量减二”,所述目标类型信息六为“销售一台,车辆存量减一”,因为线程冲突导致目标类型信息四至目标类型信息六获取相同的初始值“车辆存量为六台”,产生结果依次为【剩余5台,剩余4台,剩余5台】,但实际上最终只剩一台,所述目标类型信息四至所述目标类型信息六需要进行更新才有存储意义。本发明实施例进行根据版本号【v1,v2,v3】进行排序,并利用所述目标类型信息四更新目标类型信息五,再利用更新后的目标类型信息五,来更新目标类型信息六,使得各个目标类型信息完成更新,并根据上述数据库交互程序将排序后的目标类型信息四至目标类型信息六进行流水号标注。
进一步的,本发明其中一个实施例中,所述将所述业务流程信息不相同的目标类型信息根据预设的第一排序方法进行排序,及将所述业务流程信息相同的目标类型信息根据预设的第二排序方法进行排序之前,所述流水号第二标记模块103还用于:
监控所述数据包中各个目标类型信息排序的线程;
当所述数据包中利用第一排序方法及所述第二排序方法同时对目标类型信息进行排序时,利用乐观锁算法,随机选择一种排序方法进行排序。
所述乐观锁算法为一种可以避免数据库幻读,保证数据在并发条件下有序进行的方法,本发明实施例通过乐观锁算法,可以实现在所述数据包中同时存在业务流程信息相同的及不相同的目标类型信息的情况下,也能快速将各个目标类型信息进行排列。
所述ID号生成模块104,用于获取预设的全局唯一的基础申请号,利用所述基础申请号与所述时间戳、所述目标类型信息的流水号按照预设顺序进行组合,生成所述目标类型信息的ID号。
本发明实施例中,所述基础申请号是全局唯一且长度较短的数字串,本发明实施例将所述基础申请号预先配置于所述企业事件流水表格中,每存储一个目标类型信息,就根据所述基础申请号、流水号、时间戳的先后顺序进行依次连接,生成所述目标类型信息的ID号。
详细的,本发明实施例中,所述将所述时间戳、预先构建的基础申请号及所述目标类型信息的流水号按照预设顺序进行组合,生成所述目标类型信息的ID号之后,所述ID号生成模块104还可用于:
将已生成ID号的目标类型信息逐一存储至预构建的企业事件流水表格中;
对所述企业事件流水表格中的目标类型信息的数量进行统计;
每当所述企业事件流水表格中的目标类型信息的数量达到预设的最大值时,根据所述企业事件流水表格的属性信息,重新构建一个基础申请号。
本发明实施例,利用所述数据库交互程序对所述企业事件流水表格中目标类型信息的数量进行把控,每生成一个目标类型信息,所述数据库交互程序的循环步长加一。当目标类型信息的数量达到所述最大值时,表明所述数据库交互程序中的循环步长达到所述最大步长,将所述数据库交互程序中的循环步长清零,重新申请一个新申请号,利用所述新申请号来配置所述企业事件流水表格中的所述基础申请号的配置参数。其中,所述基础申请号构建过程如下:
随机申请一个全局唯一的初始ID号;
将所述初始ID号的左侧进行补零,直至所述初始ID的总体长度达到预设长度,将所述初始ID号及补零的总体作为所述申请号。
本发明实施例随机申请一个全局唯一的初始ID号为569438,当所述预设长度为8位时,则生成的所述基础申请号为00569428。
进一步的,本发明实施例中,所述将已生成ID号的目标类型信息逐一存储至预构建的企业事件流水表格中之后,所述ID号生成模块104还可用于:
利用预构建的编码器,将所述企业事件流水表格进行编译,得到编译数据;
将所述编译数据进行拆分,得到数据块集合;
利用Hash算法将所述数据块集合中的各个数据块分布式存储至多个存储服务器中。
具体的,本发明实施例利用预构建的编码器对所述企业事件流水表格进行编译,得到编码数据,通过预构建的纠删码对所述编码数据进行矩阵计算,将所述编码数据分割成多个数据块。再通过Hash算法将所述多个数据块进行分布式存储至各个服务器中,完成数据的分布式存储,增加数据的安全性。其中,所述纠删码是一种矩阵块,可用于将数据进行矩阵转换加密,所述Hash算法是一种可以数据存储位置进行转换,增加数据存储安全性的分布式存储方法。
如图3所示,是本发明实现ID生成方法的电子设备的结构示意图。
所述电子设备可以包括处理器10、存储器11、通信总线12以及通信接口13,还可以包括存储在所述存储器11中并可在所述处理器10上运行的计算机程序,如ID生成程序。
其中,所述处理器10在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述处理器10是所述电子设备的控制核心(ControlUnit),利用各种接口和线路连接整个电子设备的各个部件,通过运行或执行存储在所述存储器11内的程序或者模块(例如执行ID生成程序等),以及调用存储在所述存储器11内的数据,以执行电子设备的各种功能和处理数据。
所述存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:SD或DX存储器等)、磁性存储器、磁盘、光盘等。所述存储器11在一些实施例中可以是电子设备的内部存储单元,例如该电子设备的移动硬盘。所述存储器11在另一些实施例中也可以是电子设备的外部存储设备,例如电子设备上配备的插接式移动硬盘、智能存储卡(Smart Media Card,SMC)、安全数字(Secure Digital,SD)卡、闪存卡(Flash Card)等。进一步地,所述存储器11还可以既包括电子设备的内部存储单元也包括外部存储设备。所述存储器11不仅可以用于存储安装于电子设备的应用软件及各类数据,例如ID生成程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
所述通信总线12可以是外设部件互连标准(peripheral componentinterconnect,简称PCI)总线或扩展工业标准结构(extended industry standardarchitecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。所述总线被设置为实现所述存储器11以及至少一个处理器10等之间的连接通信。
所述通信接口13用于上述电子设备与其他设备之间的通信,包括网络接口和用户接口。可选地,所述网络接口可以包括有线接口和或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该电子设备与其他电子设备之间建立通信连接。所述用户接口可以是显示器(Display)、输入单元(比如键盘(Keyboard)),可选地,用户接口还可以是标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备中处理的信息以及用于显示可视化的用户界面。
图3仅示出了具有部件的电子设备,本领域技术人员可以理解的是,图3示出的结构并不构成对所述电子设备的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
例如,尽管未示出,所述电子设备还可以包括给各个部件供电的电源(比如电池),优选地,电源可以通过电源管理装置与所述至少一个处理器10逻辑相连,从而通过电源管理装置实现充电管理、放电管理、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备还可以包括多种传感器、蓝牙模块、Wi-Fi模块等,在此不再赘述。
应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
所述电子设备中的所述存储器11存储的ID生成程序是多个计算机程序的组合,在所述处理器10中运行时,可以实现:
从客户端集群接收包含目标类型信息的数据包,并判断所述数据包中的目标类型信息的数量;
当所述数据包中的目标类型信息的数量为一个时,对所述数据包中的目标类型信息标记流水号,并记录当前的时间戳;
当所述数据包中的目标类型信息的数量为不止一个时,提取所述数据包中各个目标类型信息的业务流程信息,将所述业务流程信息不相同的目标类型信息根据预设的第一排序方法进行排序,及将所述业务流程信息相同的目标类型信息根据预设的第二排序方法进行排序,得到所述数据包中各个目标类型信息的排列顺序,并根据所述排列顺序,对所述数据包中各个目标类型信息标记流水号,并记录当前的时间戳;
获取预设的全局唯一的基础申请号,利用所述基础申请号与所述时间戳、所述目标类型信息的流水号按照预设顺序进行组合,生成所述目标类型信息的ID号。
具体地,所述处理器10对上述计算机程序的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。
进一步地,所述电子设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个非易失性计算机可读取存储介质中。所述计算机可读存储介质可以是易失性的,也可以是非易失性的。例如,所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)。
本发明还提供一种计算机可读存储介质,所述可读存储介质存储有计算机程序,所述计算机程序在被电子设备的处理器所执行时,可以实现:
从客户端集群接收包含目标类型信息的数据包,并判断所述数据包中的目标类型信息的数量;
当所述数据包中的目标类型信息的数量为一个时,对所述数据包中的目标类型信息标记流水号,并记录当前的时间戳;
当所述数据包中的目标类型信息的数量为不止一个时,提取所述数据包中各个目标类型信息的业务流程信息,将所述业务流程信息不相同的目标类型信息根据预设的第一排序方法进行排序,及将所述业务流程信息相同的目标类型信息根据预设的第二排序方法进行排序,得到所述数据包中各个目标类型信息的排列顺序,并根据所述排列顺序,对所述数据包中各个目标类型信息标记流水号,并记录当前的时间戳;
获取预设的全局唯一的基础申请号,利用所述基础申请号与所述时间戳、所述目标类型信息的流水号按照预设顺序进行组合,生成所述目标类型信息的ID号。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

Claims (10)

1.一种ID生成方法,其特征在于,所述方法包括:
接收包含目标类型信息的数据包,并判断所述数据包中的目标类型信息的数量;
当所述数据包中的目标类型信息的数量为一个时,对所述数据包中的目标类型信息标记流水号,并记录当前的时间戳;
当所述数据包中的目标类型信息的数量为不止一个时,提取所述数据包中各个目标类型信息的业务流程信息,将所述业务流程信息不相同的目标类型信息根据预设的第一排序方法进行排序,及将所述业务流程信息相同的目标类型信息根据预设的第二排序方法进行排序,得到所述数据包中各个目标类型信息的排列顺序,并根据所述排列顺序,对所述数据包中各个目标类型信息标记流水号,并记录当前的时间戳;
获取预设的全局唯一的基础申请号,利用所述基础申请号与所述时间戳、所述目标类型信息的流水号按照预设顺序进行组合,生成所述目标类型信息的ID号。
2.如权利要求1所述的ID生成方法,其特征在于,所述将所述业务流程信息相同的目标类型信息根据预设的第二排序方法进行排序,包括:
对业务流程信息相同的各个目标类型信息进行版本号递增标注;
根据所述版本号的标注顺序,利用前一个标注的目标类型信息,更新相邻的后一个标注的目标类型信息,直至最后标注的版本号对应的目标类型信息被更新;
根据所述版本号由小到大的顺序,将所述更新后的各个目标类型信息进行排列。
3.如权利要求1所述的ID生成方法,其特征在于,所述生成所述目标类型信息的ID号之后,所述方法还包括:
将已生成ID号的目标类型信息逐一存储至预构建的企业事件流水表格中;
对所述企业事件流水表格中的目标类型信息的数量进行统计;
每当所述企业事件流水表格中的目标类型信息的数量达到预设的最大值时,根据所述企业事件流水表格的属性信息,重新构建一个基础申请号。
4.如权利要求3所述的ID生成方法,其特征在于,所述构建一个基础申请号,包括:
随机申请一个全局唯一的初始ID号;
将所述初始ID号的左侧进行补零,直至所述初始ID的总体长度达到预设长度,得到基础申请号。
5.如权利要求3所述的ID生成方法,其特征在于,所述将已生成ID号的目标类型信息逐一存储至预构建的企业事件流水表格中之后,所述方法还包括:
利用预构建的编码器,将所述企业事件流水表格进行编译,得到编译数据;
将所述编译数据进行拆分,得到数据块集合;
利用Hash算法将所述数据块集合中的各个数据块分布式存储至多个存储服务器中。
6.如权利要求1所述的ID生成方法,其特征在于,所述将所述业务流程信息不相同的目标类型信息根据预设的第一排序方法进行排序,包括:
获取预构建的业务流程顺序表;及
根据所述业务流程顺序表及所述各个目标类型信息中的业务流程信息,将各个目标类型信息进行顺序排列。
7.如权利要求1所述的ID生成方法,其特征在于,所述将所述业务流程信息不相同的目标类型信息根据预设的第一排序方法进行排序,及将所述业务流程信息相同的目标类型信息根据预设的第二排序方法进行排序之前,所述方法还包括:
监控所述数据包中各个目标类型信息排序的线程;
当所述数据包中利用第一排序方法及所述第二排序方法同时对目标类型信息进行排序时,利用乐观锁算法,随机选择一种排序方法进行排序。
8.一种ID生成装置,其特征在于,所述装置包括:
数据接收判断模块,用于从客户端集群接收包含生产交易事件信息的数据包,并判断所述数据包中的生产交易事件信息的数量;
流水号第一标记模块,用于当所述数据包中的目标类型信息的数量为一个时,对所述数据包中的目标类型信息标记流水号,并记录当前的时间戳;
流水号第二标记模块,用于当所述数据包中的目标类型信息的数量为不止一个时,提取所述数据包中各个目标类型信息的业务流程信息,并判断各个所述业务流程信息是否相同,将所述业务流程信息不相同的目标类型信息根据预设的第一排序方法进行排序,将所述业务流程信息相同的目标类型信息根据预设的第二排序方法进行排序,得到所述数据包中各个目标类型信息的排列顺序,并根据所述排列顺序,对所述数据包中各个目标类型信息标记流水号,并记录当前的时间戳;
ID号生成模块,用于获取预设的全局唯一的基础申请号,利用所述基础申请号与所述时间戳、所述目标类型信息的流水号按照预设顺序进行组合,生成所述目标类型信息的ID号。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至7中任意一项所述的ID生成方法。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任意一项所述的ID生成方法。
CN202110581192.XA 2021-05-27 2021-05-27 Id生成方法、装置、电子设备及存储介质 Pending CN113254447A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110581192.XA CN113254447A (zh) 2021-05-27 2021-05-27 Id生成方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110581192.XA CN113254447A (zh) 2021-05-27 2021-05-27 Id生成方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN113254447A true CN113254447A (zh) 2021-08-13

Family

ID=77184972

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110581192.XA Pending CN113254447A (zh) 2021-05-27 2021-05-27 Id生成方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN113254447A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130166505A1 (en) * 2011-12-22 2013-06-27 Noam Peretz Monitoring replication lag between geographically dispersed sites
CN105446991A (zh) * 2014-07-07 2016-03-30 阿里巴巴集团控股有限公司 数据存储方法、查询方法及设备
CN106612159A (zh) * 2015-10-23 2017-05-03 华为技术有限公司 基于业务类型指示的确认方法及装置
CN110619114A (zh) * 2019-09-26 2019-12-27 北京明略软件系统有限公司 流水号生成方法及系统
CN112380208A (zh) * 2020-10-21 2021-02-19 珠海许继芝电网自动化有限公司 配电自动化系统的实时数据id生成方法、系统及介质
CN112559558A (zh) * 2020-12-07 2021-03-26 北京理房通支付科技有限公司 一种流水号生成方法和装置、计算设备和存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130166505A1 (en) * 2011-12-22 2013-06-27 Noam Peretz Monitoring replication lag between geographically dispersed sites
CN105446991A (zh) * 2014-07-07 2016-03-30 阿里巴巴集团控股有限公司 数据存储方法、查询方法及设备
CN106612159A (zh) * 2015-10-23 2017-05-03 华为技术有限公司 基于业务类型指示的确认方法及装置
CN110619114A (zh) * 2019-09-26 2019-12-27 北京明略软件系统有限公司 流水号生成方法及系统
CN112380208A (zh) * 2020-10-21 2021-02-19 珠海许继芝电网自动化有限公司 配电自动化系统的实时数据id生成方法、系统及介质
CN112559558A (zh) * 2020-12-07 2021-03-26 北京理房通支付科技有限公司 一种流水号生成方法和装置、计算设备和存储介质

Similar Documents

Publication Publication Date Title
CN112134739B (zh) 链路状态的追踪方法、装置、电子设备及计算机存储介质
CN112052370A (zh) 报文生成方法、装置、电子设备及计算机可读存储介质
CN112418798A (zh) 信息审核方法、装置、电子设备及存储介质
CN112464619B (zh) 大数据处理方法、装置、设备及计算机可读存储介质
CN112115145A (zh) 数据采集方法、装置、电子设备及存储介质
CN111651453A (zh) 用户历史行为查询方法、装置、电子设备及存储介质
CN112948427A (zh) 数据查询方法、装置、设备及存储介质
CN114881616A (zh) 业务流程执行方法、装置、电子设备及存储介质
CN111694844A (zh) 基于配置算法的企业运行数据分析方法、装置及电子设备
CN112580079A (zh) 权限配置方法、装置、电子设备及可读存储介质
CN114185895A (zh) 数据导入导出方法、装置、电子设备及存储介质
CN112256783A (zh) 数据导出方法、装置、电子设备及存储介质
CN115145870A (zh) 失败任务原因定位方法、装置、电子设备及存储介质
CN114844844A (zh) 延时消息处理方法、装置、设备及存储介质
CN113468175A (zh) 数据压缩方法、装置、电子设备及存储介质
CN113722533A (zh) 信息推送方法、装置、电子设备及可读存储介质
CN112685384A (zh) 数据迁移方法、装置、电子设备及存储介质
CN112328656A (zh) 基于中台架构的服务查询方法、装置、设备及存储介质
CN112256472A (zh) 分布式数据调取方法、装置、电子设备及存储介质
CN114185588A (zh) 增量包生成方法、装置、设备及存储介质
CN115220740A (zh) 数据库环境部署方法、装置、电子设备及存储介质
CN115033605A (zh) 数据查询方法、装置、电子设备及存储介质
CN114911479A (zh) 基于配置化的界面生成方法、装置、设备及存储介质
CN113254447A (zh) Id生成方法、装置、电子设备及存储介质
CN114547011A (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