CN108509433A - 基于分布式系统的生成序列号的方法、装置及电子设备 - Google Patents

基于分布式系统的生成序列号的方法、装置及电子设备 Download PDF

Info

Publication number
CN108509433A
CN108509433A CN201710099814.9A CN201710099814A CN108509433A CN 108509433 A CN108509433 A CN 108509433A CN 201710099814 A CN201710099814 A CN 201710099814A CN 108509433 A CN108509433 A CN 108509433A
Authority
CN
China
Prior art keywords
sequence number
sequence
internal
instance
operation system
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
CN201710099814.9A
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.)
Beijing Jingdong Financial Technology Holding Co Ltd
Original Assignee
Beijing Jingdong Financial Technology Holding 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 Beijing Jingdong Financial Technology Holding Co Ltd filed Critical Beijing Jingdong Financial Technology Holding Co Ltd
Priority to CN201710099814.9A priority Critical patent/CN108509433A/zh
Publication of CN108509433A publication Critical patent/CN108509433A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请涉及基于分布式系统的生成序列号的方法、装置及电子设备,所述分布式系统包括多个服务器,各所述服务器包括至少一个序列号服务单元,各所述序列号服务单元包含至少一个序列号生成器,其中各所述序列号服务单元生成序列号的方法包括:接收序列号申请请求;通过序列号生成器生成内部序列号;从本地获取对应的实例号,根据所述实例号和所述内部序列号生成序列号。本申请的技术方案能够通过多个序列号服务单元并行产生序列号,能避免依赖数据库而造成数据库压力过大,能在数据库故障时提供不间断的服务。

Description

基于分布式系统的生成序列号的方法、装置及电子设备
技术领域
本申请涉及计算机应用技术领域,具体而言,涉及基于分布式系统的生成序列号的方法、装置及电子设备。
背景技术
序列号用于唯一标识系统元素,被广泛地应用于各种应用系统中,例如用于售货系统、保险系统、理财系统、以及金融系统等。随着数据量越来越大,要保证业务流水或者订单的唯一性,需要高可用、高可靠的序列号生成器来产生唯一的序列号。例如对于现有的大规模的理财系统来说,目前已经需要每天新生成万亿级的序列号。
相关技术中,一种序列号生成方案为:通过数据库乐观锁分配一段一段的序列,通过步长控制锁的粒度。如:A机器申请1-1000的号段,B机器来申请1001-2000的号段,依次类推。该方案通过全局唯一的数据库乐观锁,缺点很明显,严重依赖以数据库的稳定性和性能。在访问量过大时,比如1000的步长,每秒有500万个请求,那么平均每秒数据库处理5000个查询请求,会造成数据库压力过大,响应时间无法得到保障。而且在数据库故障时,无法提供不间断的服务。
发明内容
本申请公开基于分布式系统的生成序列号的方法,能够避免依赖数据库而造成数据库压力过大,能在数据库故障时提供不间断的服务。
本发明的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本发明的实践而习得。
根据本发明的一个方面,提供一种基于分布式系统的生成序列号的方法,所述分布式系统包括多个服务器,各所述服务器包括至少一个序列号服务单元,各所述序列号服务单元包含至少一个序列号生成器,其中各所述序列号服务单元生成序列号的方法包括:
接收序列号申请请求;
通过序列号生成器生成内部序列号;
从本地获取对应的实例号,根据所述实例号和所述内部序列号生成序列号。
根据一些实施例,所述实例号为根据唯一标识分配的实例号。
根据一些实施例,所述唯一标识为根据硬件标识和应用标识生成的唯一标识。
根据一些实施例,所述硬件标识为序列号服务单元所安装的计算机的网卡标识、硬盘标识、或处理器标识;。
根据一些实施例,所述应用标识为所述序列号服务单元的应用路径。
根据一些实施例,接收序列号申请请求包括:接收业务系统发送的包含业务标识的序列号申请请求;
根据所述实例号和所述内部序列号生成序列号包括:从本地获取所述业务标识对应的序列号规则,根据所述实例号和所述内部序列号采用所述序列号规则生成序列号,以返回给所述业务系统。
根据一些实施例,通过序列号生成器生成内部序列号包括:通过所述业务标识对应的序列号生成器生成所述内部序列号。
根据一些实施例,通过所述业务标识对应的序列号生成器生成所述内部序列号之前还包括:
根据所述业务标识在本地查找对应的序列号生成器,若查找失败,则在本地创建新的序列号生成器作为所述业务标识对应的序列号生成器。
根据一些实施例,所述业务系统为分布式的业务系统。
根据一些实施例,所述方法还包括,将所生成的序列号写入文件系统的页缓存,通过定时或定量的方式将所述页缓存映射到磁盘或数据库中;
当断电或重启后,根据所述磁盘或数据库中的序列号和配置的步长控制所述序列号生成器生成内部序列号。
根据一些实施例,通过序列号生成器生成内部序列号包括,将所述序列号生成器使用的内存缓存储在处理器的高速缓存里。
根据一些实施例,根据所述实例号和所述内部序列号生成序列号包括:将所述实例号、所述内部号、以及当前时间拼接起来作为所生成的序列号。
根据本发明的另一方面,提供一种基于分布式系统的生成序列号的装置,所述分布式系统包括多个服务器,各所述服务器包括至少一个序列号服务单元,各所述序列号服务单元包含至少一个序列号生成器,其中各序列号服务单元中基于分布式系统的生成序列号的装置包括请求接收模块、内部序列号生成模块内部序列号生成模块和内部序列号生成模块,其中:
所述请求接收模块用于接收序列号申请请求;
所述内部序列号生成模块内部序列号生成模块用于通过序列号生成器生成内部序列号;
所述内部序列号生成模块用于从本地获取对应的实例号,根据所述实例号和所述内部序列号生成序列号。
根据一些实施例,所述实例号为根据唯一标识分配的实例号。
根据一些实施例,所述请求接收模块用于,接收业务系统发送的包含业务标识的序列号申请请求;
所述内部序列号生成模块用于,从本地获取所述业务标识对应的序列号规则,根据所述实例号和所述内部序列号采用所述序列号规则生成序列号,以返回给所述业务系统。
根据一些实施例,所述内部序列号生成模块内部序列号生成模块用于,通过所述业务标识对应的序列号生成器生成所述内部序列号。
根据本发明的另一方面,提供一种电子设备,包括:处理器;存储器,存储用于处理器控制以下操作的指令:
接收序列号申请请求;
通过序列号生成器生成内部序列号;
从本地获取对应的实例号,根据所述实例号和所述内部序列号生成序列号。
本申请的实施例提供的技术方案可以包括以下有益效果:
本申请的实施例提供的技术方案能够避免依赖数据库而造成数据库压力过大,能在数据库故障时提供不间断的服务。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本发明。
附图说明
通过参照附图详细描述其示例实施例,本发明的上述和其它特征及优点将变得更加明显。
图1示出了根据本发明一实施例的基于分布式系统的生成序列号的方法;
图2示出了根据本发明另一实施例的基于分布式系统的生成序列号的方法;
图3示出了根据本发明又一实施例的基于分布式系统的生成序列号的方法;
图4示出了根据本发明一实施例的基于分布式系统的生成序列号的装置的框图
图5示出了根据本发明一实施例的电子设备。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本发明将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本发明的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本发明的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
图1示出了根据本发明一实施例的基于分布式系统的生成序列号的方法,本实施例可适用于分布式的序列号生成系统中各序列号服务单元基于分布式系统的生成序列号的情况,所述分布式系统包括多个服务器,各所述服务器包括至少一个序列号服务单元,各所述序列号服务单元包含至少一个序列号生成器,如图1所示,本实施例所述的各序列号服务单元生成序列号的方法包括:
在步骤S110中,接收序列号申请请求。
在步骤S120中,通过序列号生成器生成内部序列号。
在步骤S130中,从本地获取对应的实例号,根据所述实例号和所述内部序列号生成序列号。
所述实例号为根据唯一标识分配的实例号。所述唯一标识为执行上述操作的序列号服务单元的标识信息,其具体信息本实施例对此不作限定,只要能唯一标识序列号服务单元即可,本实施例对此不作限定,例如,可以为根据硬件标识和应用标识生成的唯一标识。
进一步地,根据本发明的一些实施例,所述硬件标识为序列号服务单元所安装的计算机的网卡标识、硬盘标识、或处理器标识。
根据本发明的一些实施例,所述应用标识为所述序列号服务单元的应用路径。
本实施例的执行主体为序列号服务单元,可同时为多个分布式的业务系统服务,例如为财务系统、保险系统、理财系统、人事系统等。
下面以甲业务系统和乙业务系统为例。例如,第一次,甲业务系统申请新序列号,该新建序列号的任务被分配给了A序列号服务单元,假设其实例号为A,A序列号服务单元通过序列号生成器生成内部序列号100001,最后根据实例号A和所述内部序列号100001生成序列号A100001。
第二次,甲业务系统再申请新序列号,该新建序列号的任务还被分配给了A序列号服务单元,得到序列号A100002。
第三次,甲业务系统再申请新序列号,该新建序列号的任务被分配给了B序列号服务单元,假设其实例号为B,B序列号服务单元通过序列号生成器生成内部序列号100001,最后根据实例号B和所述内部序列号100001生成序列号B100001。
第四次,乙业务系统申请新序列号,该新建序列号的任务被分配给了A序列号服务单元。得到序列号A100003。
第五次,乙业务系统再申请新序列号,该新建序列号的任务被分配给了B序列号服务单元。得到序列号B100002。
上述示例如下表所示。
任务序号 序列号申请主体 任务执行主体 产生的序列号
1 A A100001
2 A A100002
3 B B100001
4 A A100003
5 B B100002
由上述表格可见,能够通过多个序列号服务单元A和B并行产生序列号,A和B每次均从自己本地取得实例号,能避免依赖数据库而造成数据库压力过大,能在数据库故障时提供不间断的服务。
本实施例通过序列号服务单元在接收序列号申请请求之后,通过序列号生成器生成内部序列号,从本地获取对应的实例号,所述实例号为根据唯一标识分配的实例号。根据所述实例号和所述内部序列号生成序列号,能通过多个序列号服务单元并行产生序列号,避免依赖数据库而造成数据库压力过大,能在数据库故障时提供不间断的服务。
图2示出了根据本发明另一实施例的基于分布式系统的生成序列号的方法,如图2所示,本实施例所述的基于分布式系统的生成序列号的方法包括:
在步骤S210中,接收业务系统发送的包含业务标识的序列号申请请求。
本实施例中,所述业务系统可为分布式的业务系统。
在步骤S220中,通过序列号生成器生成内部序列号。
在步骤S230中,从本地获取对应的实例号,从本地获取所述业务标识对应的序列号规则,根据所述实例号和所述内部序列号采用所述序列号规则生成序列号,以返回给所述业务系统。
本实施例的执行主体为序列号服务单元,可同时为多个分布式的业务系统服务,例如为财务系统、保险系统、理财系统、人事系统等。下面以甲业务系统和乙业务系统为例。
例如,第一次,甲业务系统申请新序列号,该新建序列号的任务被分配给了A序列号服务单元,A序列号服务单元在本地存储有根据其唯一标识从统一资源实例号服务中获取的唯一实例号,例如为A。同时,A序列号服务单元中存储有各业务系统对应的规则库(各序列号服务单元存储相同的规则库),甲业务系统对应的规则为实例号+6位内部序列,乙业务系统对应的规则为实例号+日期+6位内部序列。
首先,A序列号服务单元通过序列号生成器生成内部序列号,例如100001,根据甲业务系统对应的规则为实例号+6位内部序列,得到序列号A100001,即完成该序列号新建任务,将该序列号返回给甲业务系统。
第二次,甲业务系统再申请新序列号,该新建序列号的任务还被分配给了A序列号服务单元,A序列号服务单元还是执行上述操作,还是通过序列号生成器,由其生成内部序列号,例如100002,根据甲业务系统对应的规则为实例号+6位内部序列,得到序列号A100002,即完成该第二次序列号新建任务。
第三次,甲业务系统再申请新序列号,该新建序列号的任务被分配给了B序列号服务单元,B序列号服务单元在本地存储有根据其唯一标识从统一资源实例号服务中获取的唯一实例号,例如为B。同时,B序列号服务单元中也存储有各业务系统对应的规则库(各序列号服务单元存储相同的规则库),甲业务系统对应的规则为实例号+6位内部序列,乙业务系统对应的规则为实例号+日期+6位内部序列。假设B序列号服务单元有甲业务系统对应的序列号生成器和乙业务系统对应的序列号生成器。
首先,B序列号服务单元通过序列号生成器生成内部序列号,例如100001,根据甲业务系统对应的规则为实例号+6位内部序列,得到序列号B100001,即完成该序列号新建任务,将该序列号返回给甲业务系统。
第四次,乙业务系统申请新序列号,该新建序列号的任务被分配给了A序列号服务单元。首先,A序列号服务单元通过序列号生成器生成内部序列号,例如100003,根据乙业务系统对应的规则为实例号+日期+6位内部序列,得到序列号A20061118100003,即完成该序列号新建任务,将该序列号返回给乙业务系统。
第五次,乙业务系统再申请新序列号,该新建序列号的任务被分配给了B序列号服务单元。首先,B序列号服务单元通过序列号生成器生成内部序列号,例如100002,根据乙业务系统对应的规则为实例号+日期+6位内部序列,得到序列号B20061118100002,即完成该序列号新建任务,将该序列号返回给乙业务系统。
上述示例如下表所示。
申请序号 序列号申请主体 任务执行主体 产生的序列号
1 A A100001
2 A A100002
3 B B100001
4 A A20161118100003
5 B B20161118100002
由上述示例可见,因为A序列号服务单元与B序列号服务单元在本地存储了不同业务系统的序列号规则(可以根据业务要求为业务系统自定义规则和长度,满足不同的业务系统的需求),最后为不同的业务系统生成的序列号是能有区别的。如上表所示,为甲应用系统生成的序列号是7位的,为乙应用系统生成的序列号是15位的。
因此,本实施例所述的方法可以根据业务要求为业务系统自定义规则和长度,满足不同的业务系统的需求。
图3示出了根据本发明又一实施例的基于分布式系统的生成序列号的方法,如图3所示,本实施例所述的基于分布式系统的生成序列号的方法包括:
在步骤S310中,接收业务系统发送的包含业务标识的序列号申请请求。
在步骤S320中,通过所述业务标识对应的序列号生成器生成所述内部序列号。
本步骤之前,还可包括根据所述业务标识在本地查找对应的序列号生成器,若查找失败,则在本地创建新的序列号生成器作为所述业务标识对应的序列号生成器。
在步骤S330中,从本地获取对应的实例号,从本地获取所述业务标识对应的序列号规则,根据所述实例号和所述内部序列号采用所述序列号规则生成序列号,以返回给所述业务系统。
本实施例的执行主体为序列号服务单元,可同时为多个分布式的业务系统服务,例如为财务系统、保险系统、理财系统、人事系统等。下面以甲业务系统和乙业务系统为例。
例如,第一次,甲业务系统申请新序列号,该新建序列号的任务被分配给了A序列号服务单元,A序列号服务单元在本地存储有根据其唯一标识从统一资源实例号服务中获取的唯一实例号,例如为A。同时,A序列号服务单元中存储有各业务系统对应的规则库(各序列号服务单元存储相同的规则库),甲业务系统对应的规则为实例号+6位内部序列,乙业务系统对应的规则为实例号+日期+6位内部序列。假设A序列号服务单元有甲业务系统对应的序列号生成器A1和乙业务系统对应的序列号生成器A2。
首先,A序列号服务单元找到甲业务系统对应的序列号生成器A1,由其生成内部序列号,例如100001,根据甲业务系统对应的规则为实例号+6位内部序列,得到序列号A100001,即完成该序列号新建任务,将该序列号返回给甲业务系统。
第二次,甲业务系统再申请新序列号,该新建序列号的任务还被分配给了A序列号服务单元,A序列号服务单元还是执行上述操作,还是找到甲业务系统对应的序列号生成器(与上次相同),由其生成内部序列号,例如100002,根据甲业务系统对应的规则为实例号+6位内部序列,得到序列号A100002,即完成该第二次序列号新建任务。
第三次,甲业务系统再申请新序列号,该新建序列号的任务被分配给了B序列号服务单元,B序列号服务单元在本地存储有根据其唯一标识从统一资源实例号服务中获取的唯一实例号,例如为B。同时,B序列号服务单元中也存储有各业务系统对应的规则库(各序列号服务单元存储相同的规则库),甲业务系统对应的规则为实例号+6位内部序列,乙业务系统对应的规则为实例号+日期+6位内部序列。假设B序列号服务单元有甲业务系统对应的序列号生成器和乙业务系统对应的序列号生成器。
首先,B序列号服务单元找到甲业务系统对应的序列号生成器,由其生成内部序列号,例如100001,根据甲业务系统对应的规则为实例号+6位内部序列,得到序列号B100001,即完成该序列号新建任务,将该序列号返回给甲业务系统。
第四次,乙业务系统申请新序列号,该新建序列号的任务被分配给了A序列号服务单元。首先,A序列号服务单元找到乙业务系统对应的序列号生成器,由其生成内部序列号,例如100003,根据乙业务系统对应的规则为实例号+日期+6位内部序列,得到序列号A20061118100003,即完成该序列号新建任务,将该序列号返回给乙业务系统。
第五次,乙业务系统再申请新序列号,该新建序列号的任务被分配给了B序列号服务单元。首先,B序列号服务单元找到乙业务系统对应的序列号生成器,由其生成内部序列号,例如100002,根据乙业务系统对应的规则为实例号+日期+6位内部序列,得到序列号B20061118100002,即完成该序列号新建任务,将该序列号返回给乙业务系统。
上述示例如下表所示。
申请序号 序列号申请主体 任务执行主体 产生的序列号
1 A A100001
2 A A100002
3 B B100001
4 A A20161118100001
5 B B20161118100001
由上表所示,因为A序列号服务单元与B序列号服务单元均有对同一业务系统的序列号生成器,它们可以独立的顺次生成内部序列号,而因为A序列号服务单元与B序列号服务单元的实例号不同,所以对于同一业务系统请求的任务而言,不管任务是分配给哪一个序列号服务单元,其返回的序列号是唯一的,不会重复,并且因其采用的同一序列号规则,因此两个服务得到的序列号是结构相似的,所以说可以根据业务要求为业务系统自定义规则和长度,满足不同的业务系统的需求。
采用本实施例的技术方案,同一个序列号服务单元为同一个应用系统产生的序列号连续,能使为各业务生成的序列号相互独立。
需要说明的是,本实施例还可以在序列号服务单元不断执行序列号生成任务,不断生成服务的同时。将所生成的序列号写入文件系统的页缓存,通过定时或定量的方式将所述页缓存映射到磁盘或数据库中。当序列号服务单元断电或重启后,能够根据所述磁盘或数据库中的序列号和配置的步长控制所述序列号生成器生成内部序列号。例如每生成100个序列号后就将页缓存映射到数据库中,当序列号服务单元断电或重启后,从数据库中读取最后存储的序列号,分析其内部序列号,若内部序列号为yyyy,则下一次生成的内部序列号从yyyy+100开始,即可避免产生重复的序列号。
另外,本实施例中,通过序列号生成器生成内部序列号,还可通过处理器的高速缓存确认序列号生成器所生成的内部序列号的唯一性。
图4示出了根据本发明一实施例的基于分布式系统的生成序列号的装置的框图,本实施例所述分布式系统包括多个服务器,各所述服务器包括至少一个序列号服务单元,各所述序列号服务单元包含至少一个序列号生成器,如图4所示,本实施例所述的各序列号服务单元中基于分布式系统的生成序列号的装置包括请求接收模块410、内部序列号生成模块内部序列号生成模块420和内部序列号生成模块430,其中:
该请求接收模块410被配置为,用于接收序列号申请请求;
该内部序列号生成模块内部序列号生成模块420被配置为,用于通过序列号生成器生成内部序列号;
该内部序列号生成模块430被配置为,用于从本地获取对应的实例号,根据所述实例号和所述内部序列号生成序列号。
根据本发明的实施例,所述请求接收模块410用于,接收业务系统发送的包含业务标识的序列号申请请求;所述内部序列号生成模块430用于,从本地获取所述业务标识对应的序列号规则,根据所述实例号和所述内部序列号采用所述序列号规则生成序列号,以返回给所述业务系统。
根据本发明的实施例,所述内部序列号生成模块内部序列号生成模块420用于,通过所述业务标识对应的序列号生成器生成所述内部序列号。
关于上述实施例中的装置,其中各个单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本实施例提供的基于分布式系统的生成序列号的装置可执行本发明方法实施例所提供的基于分布式系统的生成序列号的方法,具备执行方法相应的功能模块和有益效果。
图5示出了根据本发明一实施例的电子设备,如图5所示,电子设备500可包括处理器510、存储器520、及其他装置530。
存储器520可存储用于处理器510控制操作处理的指令。存储器520可包括易失性或非易失性存储器,如静态随机存取存储器(SRAM)、电可擦除可编程只读存储器(EEPROM)、可擦除可编程只读存储器(EPROM)、可编程只读存储器(PROM)、只读存储器(ROM)等,本发明对此没有限制。
处理器510可调用存储器520中存储的指令控制相关操作。根据一实施例,存储器520存储用于处理器510控制以下操作的指令:
接收序列号申请请求;
通过序列号生成器生成内部序列号;
从本地获取对应的实例号,根据所述实例号和所述内部序列号生成序列号。
易于理解,存储器520还可存储用于处理器510控制根据本发明实施例的其他操作的指令,这里不再赘述。
通过以上的详细描述,本领域的技术人员易于理解,根据本发明实施例的系统和方法具有以下优点中的一个或多个。
根据本发明的实施例,接收序列号申请请求包括:接收业务系统发送的包含业务标识的序列号申请请求;根据所述实例号和所述内部序列号生成序列号包括:从本地获取所述业务标识对应的序列号规则,根据所述实例号和所述内部序列号采用所述序列号规则生成序列号,以返回给所述业务系统。
根据本发明的一些实施例,通过序列号生成器生成内部序列号包括:通过所述业务标识对应的序列号生成器生成所述内部序列号。
根据一些实施例,本发明还提供一种非临时性计算机可读存储介质,例如包括指令的存储器,上述指令可由装置的处理器执行以完成上述方法。例如,非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。当存储介质中的指令由终端的处理器执行时,使得终端能够执行下述方法:将脚本模块中的原生资源名称变换为原生资源ID;原生应用模块通过原生资源ID获取相应的原生资源。
本领域技术人员可以理解,附图只是示例实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的,因此不能用于限制本发明的保护范围。
本领域技术人员可以理解上述各模块可以按照实施例的描述分布于装置中,也可以进行相应变化唯一不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
以上具体地示出和描述了本发明的示例性实施例。应该理解,本发明不限于所公开的实施例,相反,本发明意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效布置。

Claims (15)

1.一种基于分布式系统的生成序列号的方法,其特征在于,所述分布式系统包括多个服务器,各所述服务器包括至少一个序列号服务单元,各所述序列号服务单元包含至少一个序列号生成器,其中各所述序列号服务单元生成序列号的方法包括:
接收序列号申请请求;
通过序列号生成器生成内部序列号;
从本地获取对应的实例号,根据所述实例号和所述内部序列号生成序列号。
2.如权利要求1所述的方法,其特征在于,所述实例号为根据唯一标识分配的实例号,所述唯一标识为根据所在服务器的硬件标识和应用标识生成的唯一标识。
3.如权利要求2所述的方法,其特征在于:
所述硬件标识为序列号服务单元所安装的计算机的网卡标识、硬盘标识、或处理器标识;和/或
所述应用标识为所述序列号服务单元的应用路径。
4.如权利要求1所述的方法,其特征在于,接收序列号申请请求包括:接收业务系统发送的包含业务标识的序列号申请请求。
5.如权利要求4所述的方法,其特征在于,根据所述实例号和所述内部序列号生成序列号包括:从本地获取所述业务标识对应的序列号规则,根据所述实例号和所述内部序列号采用所述序列号规则生成序列号,以返回给所述业务系统。
6.如权利要求4所述的方法,其特征在于,通过序列号生成器生成内部序列号包括:通过所述业务标识对应的序列号生成器生成所述内部序列号。
7.如权利要求6所述的方法,其特征在于,通过所述业务标识对应的序列号生成器生成所述内部序列号之前还包括:
根据所述业务标识在本地查找对应的序列号生成器,若查找失败,则在本地创建新的序列号生成器作为所述业务标识对应的序列号生成器。
8.如权利要求4所述的方法,其特征在于,所述业务系统为分布式的业务系统。
9.如权利要求1所述的方法,其特征在于,所述方法还包括,将所生成的序列号写入文件系统的页缓存,通过定时或定量的方式将所述页缓存映射到磁盘或数据库中;
当断电或重启后,根据所述磁盘或数据库中的序列号和配置的步长控制所述序列号生成器生成内部序列号。
10.如权利要求1所述的方法,其特征在于,通过序列号生成器生成内部序列号还包括,通过处理器的高速缓存锁确保序列号生成器所生成的内部序列号的唯一性。
11.如权利要求1所述的方法,其特征在于,根据所述实例号和所述内部序列号生成序列号包括:将所述实例号、所述内部号、以及当前时间拼接起来作为所生成的序列号。
12.一种基于分布式系统的生成序列号的装置,其特征在于,所述分布式系统包括多个服务器,各所述服务器包括至少一个序列号服务单元,各所述序列号服务单元包含至少一个序列号生成器,其中各序列号服务单元中基于分布式系统的生成序列号的装置包括请求接收模块、内部序列号生成模块内部序列号生成模块和内部序列号生成模块,其中:
所述请求接收模块用于接收序列号申请请求;
所述内部序列号生成模块内部序列号生成模块用于通过序列号生成器生成内部序列号;
所述内部序列号生成模块用于从本地获取对应的实例号,根据所述实例号和所述内部序列号生成序列号。
13.如权利要求12所述的装置,其特征在于:
所述请求接收模块用于,接收业务系统发送的包含业务标识的序列号申请请求;
所述内部序列号生成模块用于,从本地获取所述业务标识对应的序列号规则,根据所述实例号和所述内部序列号采用所述序列号规则生成序列号,以返回给所述业务系统。
14.如权利要求13所述的装置,其特征在于,所述内部序列号生成模块内部序列号生成模块用于,通过所述业务标识对应的序列号生成器生成所述内部序列号。
15.一种电子设备,其特征在于,包括:处理器;存储器,存储用于所述处理器控制如权利要求1-11任一项所述的操作的指令。
CN201710099814.9A 2017-02-23 2017-02-23 基于分布式系统的生成序列号的方法、装置及电子设备 Pending CN108509433A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710099814.9A CN108509433A (zh) 2017-02-23 2017-02-23 基于分布式系统的生成序列号的方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710099814.9A CN108509433A (zh) 2017-02-23 2017-02-23 基于分布式系统的生成序列号的方法、装置及电子设备

Publications (1)

Publication Number Publication Date
CN108509433A true CN108509433A (zh) 2018-09-07

Family

ID=63373436

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710099814.9A Pending CN108509433A (zh) 2017-02-23 2017-02-23 基于分布式系统的生成序列号的方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN108509433A (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109450987A (zh) * 2018-10-18 2019-03-08 杭州云永网络科技有限公司 编号生成方法、装置及系统和存储介质
CN109493025A (zh) * 2018-10-23 2019-03-19 中国银行股份有限公司 一种账号生成方法及装置
CN109525658A (zh) * 2018-11-09 2019-03-26 广州虎牙科技有限公司 一种产号方法、服务器、设备、存储介质和业务系统
CN109597853A (zh) * 2018-10-22 2019-04-09 平安科技(深圳)有限公司 业务场景元素序列号生成方法、装置、介质和计算机设备
CN109597834A (zh) * 2018-10-22 2019-04-09 平安科技(深圳)有限公司 基于redis的海量数据存储方法、装置、介质和设备
CN109933574A (zh) * 2019-02-27 2019-06-25 常州猛犸电动科技有限公司 一种唯一键生成方法、装置及终端设备
CN111124635A (zh) * 2019-12-06 2020-05-08 北京达佳互联信息技术有限公司 任务处理方法、装置、电子设备和存储介质
CN111353772A (zh) * 2020-02-24 2020-06-30 网银在线(北京)科技有限公司 单号的生成方法和装置、存储介质、电子装置
CN112328637A (zh) * 2020-10-30 2021-02-05 中国平安人寿保险股份有限公司 高速分布式数据缓存方法、装置、计算机设备及存储介质
CN112667685A (zh) * 2020-12-29 2021-04-16 北京先进数通信息技术股份公司 一种流水号配置方法、装置、设备及存储介质
CN113127561A (zh) * 2020-01-14 2021-07-16 北京京东振世信息技术有限公司 业务单号的生成方法、装置、电子设备和存储介质
CN115766419A (zh) * 2022-10-28 2023-03-07 北京江融信科技有限公司 一种分布式环境下数字序列号生成方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102510378A (zh) * 2011-10-31 2012-06-20 福建天晴数码有限公司 一种通过移动设备登陆网络游戏的方法
CN103109509A (zh) * 2010-09-13 2013-05-15 诺基亚公司 用于使用接受者标识符提供与服务的通信的方法和装置
CN105447023A (zh) * 2014-08-25 2016-03-30 阿里巴巴集团控股有限公司 业务标识生成方法和装置
CN106453246A (zh) * 2016-08-30 2017-02-22 北京小米移动软件有限公司 设备身份信息分配方法、装置以及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103109509A (zh) * 2010-09-13 2013-05-15 诺基亚公司 用于使用接受者标识符提供与服务的通信的方法和装置
CN102510378A (zh) * 2011-10-31 2012-06-20 福建天晴数码有限公司 一种通过移动设备登陆网络游戏的方法
CN105447023A (zh) * 2014-08-25 2016-03-30 阿里巴巴集团控股有限公司 业务标识生成方法和装置
CN106453246A (zh) * 2016-08-30 2017-02-22 北京小米移动软件有限公司 设备身份信息分配方法、装置以及系统

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109450987A (zh) * 2018-10-18 2019-03-08 杭州云永网络科技有限公司 编号生成方法、装置及系统和存储介质
CN109450987B (zh) * 2018-10-18 2021-08-03 杭州云永网络科技有限公司 编号生成方法、装置及系统和存储介质
CN109597834A (zh) * 2018-10-22 2019-04-09 平安科技(深圳)有限公司 基于redis的海量数据存储方法、装置、介质和设备
CN109597853A (zh) * 2018-10-22 2019-04-09 平安科技(深圳)有限公司 业务场景元素序列号生成方法、装置、介质和计算机设备
CN109597853B (zh) * 2018-10-22 2024-01-23 平安科技(深圳)有限公司 业务场景元素序列号生成方法、装置、介质和计算机设备
CN109597834B (zh) * 2018-10-22 2024-05-07 平安科技(深圳)有限公司 基于redis的海量数据存储方法、装置、介质和设备
CN109493025B (zh) * 2018-10-23 2022-03-18 中国银行股份有限公司 一种账号生成方法及装置
CN109493025A (zh) * 2018-10-23 2019-03-19 中国银行股份有限公司 一种账号生成方法及装置
CN109525658A (zh) * 2018-11-09 2019-03-26 广州虎牙科技有限公司 一种产号方法、服务器、设备、存储介质和业务系统
CN109933574B (zh) * 2019-02-27 2021-03-19 常州猛犸电动科技有限公司 一种唯一键生成方法、装置及终端设备
CN109933574A (zh) * 2019-02-27 2019-06-25 常州猛犸电动科技有限公司 一种唯一键生成方法、装置及终端设备
CN111124635A (zh) * 2019-12-06 2020-05-08 北京达佳互联信息技术有限公司 任务处理方法、装置、电子设备和存储介质
CN113127561A (zh) * 2020-01-14 2021-07-16 北京京东振世信息技术有限公司 业务单号的生成方法、装置、电子设备和存储介质
CN113127561B (zh) * 2020-01-14 2023-09-22 北京京东振世信息技术有限公司 业务单号的生成方法、装置、电子设备和存储介质
CN111353772A (zh) * 2020-02-24 2020-06-30 网银在线(北京)科技有限公司 单号的生成方法和装置、存储介质、电子装置
CN111353772B (zh) * 2020-02-24 2024-01-16 网银在线(北京)科技有限公司 单号的生成方法和装置、存储介质、电子装置
CN112328637A (zh) * 2020-10-30 2021-02-05 中国平安人寿保险股份有限公司 高速分布式数据缓存方法、装置、计算机设备及存储介质
CN112328637B (zh) * 2020-10-30 2023-11-14 中国平安人寿保险股份有限公司 高速分布式数据缓存方法、装置、计算机设备及存储介质
CN112667685A (zh) * 2020-12-29 2021-04-16 北京先进数通信息技术股份公司 一种流水号配置方法、装置、设备及存储介质
CN112667685B (zh) * 2020-12-29 2024-04-16 北京先进数通信息技术股份公司 一种流水号配置方法、装置、设备及存储介质
CN115766419B (zh) * 2022-10-28 2023-05-23 北京江融信科技有限公司 一种分布式环境下数字序列号生成方法和装置
CN115766419A (zh) * 2022-10-28 2023-03-07 北京江融信科技有限公司 一种分布式环境下数字序列号生成方法和装置

Similar Documents

Publication Publication Date Title
CN108509433A (zh) 基于分布式系统的生成序列号的方法、装置及电子设备
CN110019540B (zh) 企业图谱的实现方法、展示方法及装置、设备
CN110737592B (zh) 一种链路异常识别方法、服务器及计算机可读存储介质
CN106909451A (zh) 一种分布式任务调度系统及方法
US20210174357A1 (en) Method for Making Smart Contract Executable in Block Chain Network, and Node
CN108874558A (zh) 分布式事务的消息订阅方法、电子装置及可读存储介质
CN110708247B (zh) 消息路由方法、装置、计算机设备和存储介质
US11019019B2 (en) Dynamic hashtag ordering based on projected interest
WO2012115965A1 (en) Entity fingerprints
CN107992350B (zh) 一种生成配置概览页面的方法及装置
CN103793428A (zh) 网页摘要信息的生成方法和装置
CN111639077B (zh) 数据治理方法、装置、电子设备、存储介质
CN112579622A (zh) 业务数据的处理方法、装置及设备
CN109684093A (zh) 数据处理方法及系统
CN115168166A (zh) 业务数据变更的记录方法、装置、设备及存储介质
CN106844529A (zh) 缓存数据更新方法、装置和系统
CN109408532B (zh) 数据获取方法、装置、计算机设备和存储介质
CN107918617A (zh) 数据查询方法和装置
CN107171959B (zh) 基于soa的动态路由方法及动态路由系统
CN113918305A (zh) 节点调度方法、装置、电子设备及可读存储介质
US11315055B2 (en) System and method for visualizing an order allocation process
CN114860390B (zh) 容器数据管理方法、装置、程序产品、介质及电子设备
CN117312349B (zh) 基于工业标识的数据更新方法及相关设备
CN110990414B (zh) 一种数据处理方法以及装置
CN113778423B (zh) 接口文档生成方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
CB02 Change of applicant information

Address after: Room 221, 2nd floor, Block C, 18 Kechuang 11th Street, Beijing Daxing District, Beijing

Applicant after: JINGDONG DIGITAL TECHNOLOGY HOLDINGS Co.,Ltd.

Address before: 101111 Room 221, 2nd Floor, Block C, 18 Kechuang 11th Street, Beijing Economic and Technological Development Zone

Applicant before: BEIJING JINGDONG FINANCIAL TECHNOLOGY HOLDING Co.,Ltd.

CB02 Change of applicant information
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: Room 221, 2 / F, block C, 18 Kechuang 11th Street, Daxing District, Beijing, 100176

Applicant after: Jingdong Technology Holding Co.,Ltd.

Address before: Room 221, 2 / F, block C, 18 Kechuang 11th Street, Daxing District, Beijing, 100176

Applicant before: Jingdong Digital Technology Holding Co.,Ltd.

Address after: Room 221, 2 / F, block C, 18 Kechuang 11th Street, Daxing District, Beijing, 100176

Applicant after: Jingdong Digital Technology Holding Co.,Ltd.

Address before: Room 221, 2 / F, block C, 18 Kechuang 11th Street, Daxing District, Beijing, 100176

Applicant before: JINGDONG DIGITAL TECHNOLOGY HOLDINGS Co.,Ltd.

CB02 Change of applicant information
RJ01 Rejection of invention patent application after publication

Application publication date: 20180907

RJ01 Rejection of invention patent application after publication