CN113641674A - 一种自适应全局序号发生方法和装置 - Google Patents
一种自适应全局序号发生方法和装置 Download PDFInfo
- Publication number
- CN113641674A CN113641674A CN202110948621.2A CN202110948621A CN113641674A CN 113641674 A CN113641674 A CN 113641674A CN 202110948621 A CN202110948621 A CN 202110948621A CN 113641674 A CN113641674 A CN 113641674A
- Authority
- CN
- China
- Prior art keywords
- cache
- global
- sequence number
- subprogram
- request
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 101
- 230000003044 adaptive effect Effects 0.000 title claims description 43
- 238000007619 statistical method Methods 0.000 claims abstract description 125
- 230000004044 response Effects 0.000 claims abstract description 47
- 238000012545 processing Methods 0.000 claims abstract description 28
- 238000004422 calculation algorithm Methods 0.000 claims description 22
- 238000002360 preparation method Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 16
- 238000003860 storage Methods 0.000 claims description 13
- 238000007781 pre-processing Methods 0.000 claims description 11
- 238000007726 management method Methods 0.000 abstract description 108
- 238000005516 engineering process Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 26
- 230000008569 process Effects 0.000 description 21
- 230000008859 change Effects 0.000 description 10
- 238000004458 analytical method Methods 0.000 description 9
- 238000011161 development Methods 0.000 description 8
- 230000008602 contraction Effects 0.000 description 5
- 230000010485 coping Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000010354 integration Effects 0.000 description 4
- 239000002699 waste material Substances 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000007423 decrease Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000003828 downregulation Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2291—User-Defined Types; Storage management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2462—Approximate or statistical queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Computational Linguistics (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明提供了一种自适应全局序号发生方法和装置,属于分布式技术,该方法包括:由请求响应子程序接收外部系统发送的全局序号获取请求;由全局序号管理子程序调用全局序号缓存管理子程序从分布式缓存中获取全局唯一序号和当前剩余可用序号个数;将全局唯一序号进行加工,由请求响应子程序向请求的外部系统返回;由全局序号管理子程序异步调用请求统计分析子程序对全局序号获取请求进行统计分析,确定请求量统计分析结果;通过缓存容量控制子程序和全局序号缓存管理子程序调整缓存容量和缓存阈值;根据当前剩余可用序号个数以及分布式缓存的缓存容量和缓存阈值,通过全局序号批量管理子程序异步从数据库中动态批量加载全局唯一序号至分布式缓存。
Description
技术领域
本发明涉及计算机数据处理技术领域,尤其涉及一种自适应全局序号发生方法和装置。
背景技术
本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
在分布式系统中,存在需要在交易过程中产生全局唯一序列号,用以唯一标识关键对象的典型场景。通常来说,在系统的构建过程中通过借助数据库、分布式缓存等存储实现全局唯一序号的生成。全局唯一序列号的唯一性、生成的效率是衡量生成方法好坏的两个重要方面。
目前,常见的全局序号生成方法,通常采用数据库或者分布式缓存或者两者结合的方式。这些方法,存在序号生成效率不高、不能有效应对动态变化的请求量的问题。
因此,如何提供一种新的方案,其能够解决上述技术问题是本领域亟待解决的技术难题。
发明内容
本发明实施例提供一种自适应全局序号发生方法,满足全局唯一序号高性能生成要求的同时,还能够有效应对动态变化的请求量,该方法包括:
由请求响应子程序接收外部系统发送的全局序号获取请求;
根据全局序号获取请求,由全局序号管理子程序调用全局序号缓存管理子程序从分布式缓存中获取全局唯一序号和当前剩余可用序号个数;
将全局唯一序号进行加工,由请求响应子程序向请求的外部系统返回;
根据全局序号获取请求,由全局序号管理子程序异步调用请求统计分析子程序进行统计分析,确定请求量统计分析结果;
根据请求统计分析结果,通过缓存容量控制子程序和全局序号缓存管理子程序调整分布式缓存的缓存容量和缓存阈值;
根据当前剩余可用序号个数以及分布式缓存的缓存容量和缓存阈值,通过全局序号批量管理子程序异步从数据库中动态批量加载全局唯一序号至分布式缓存。
本发明实施例还提供一种自适应全局序号发生装置,包括:
全局序号获取请求接收模块,用于由请求响应子程序接收外部系统发送的全局序号获取请求;
全局唯一序号和当前剩余可用序号个数获取模块,用于根据全局序号获取请求,由全局序号管理子程序调用全局序号缓存管理子程序从分布式缓存中获取全局唯一序号和当前剩余可用序号个数;
全局唯一序号返回模块,用于将全局唯一序号进行加工,由请求响应子程序向请求的外部系统返回;
请求量统计分析结果确定模块,用于根据全局序号获取请求,由全局序号管理子程序异步调用请求统计分析子程序进行统计分析,确定请求量统计分析结果;
缓存容量和缓存阈值调整模块,用于根据请求统计分析结果,通过缓存容量控制子程序和全局序号缓存管理子程序调整分布式缓存的缓存容量和缓存阈值;
全局唯一序号动态批量加载模块,用于根据当前剩余可用序号个数以及分布式缓存的缓存容量和缓存阈值,通过全局序号批量管理子程序异步从数据库中动态批量加载全局唯一序号至分布式缓存。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述一种自适应全局序号发生方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述一种自适应全局序号发生方法的计算机程序。
本发明实施例提供的一种自适应全局序号发生方法和装置,包括:首先由请求响应子程序接收外部系统发送的全局序号获取请求;然后根据全局序号获取请求,由全局序号管理子程序调用全局序号缓存管理子程序从分布式缓存中获取全局唯一序号和当前剩余可用序号个数;接着将全局唯一序号进行加工,由请求响应子程序向请求的外部系统返回;继续根据全局序号获取请求,由全局序号管理子程序异步调用请求统计分析子程序进行统计分析,确定请求量统计分析结果;下一步根据请求统计分析结果,通过缓存容量控制子程序和全局序号缓存管理子程序调整分布式缓存的缓存容量和缓存阈值;最后根据当前剩余可用序号个数以及分布式缓存的缓存容量和缓存阈值,通过全局序号批量管理子程序异步从数据库中动态批量加载全局唯一序号至分布式缓存。本发明通过结合数据库和分布式缓存,通过对系统承受的全局序号获取请求量进行统计和分析,并采用一定的控制算法进行分析,可以在提供高效率全局序号生成的同时,实现自适应生成,从而能够有效应对动态变化的序号请求,在请求高峰时可以及时应对增长的请求,在低谷时可以有效节省系统资源。可以实现容量的动态伸缩,以有效应对请求量的波动,满足全局唯一序号高性能生成要求的同时,还能够有效应对动态变化的请求量。动态预测请求量变化趋势,从而实现自适应全局序号生成,有效应对交易量波动场景下的需求。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本发明实施例一种自适应全局序号发生方法示意图。
图2为本发明实施例一种自适应全局序号发生方法的流程图。
图3为本发明实施例一种自适应全局序号发生方法的各子程序交互关系图。
图4为本发明实施例一种自适应全局序号发生方法的环境准备及初始化过程示意图。
图5为本发明实施例一种自适应全局序号发生方法的全局序号获取请求接收处理过程示意图。
图6为本发明实施例一种自适应全局序号发生方法的缓存容量和缓存阈值调整过程示意图
图7为本发明实施例一种自适应全局序号发生方法的通过全局序号缓存管理子程序调整分布式缓存的缓存容量和缓存阈值过程示意图。
图8为本发明实施例一种自适应全局序号发生方法的动态批量加载全局唯一序号过程示意图。
图9为运行本发明实施的一种自适应全局序号发生方法的计算机装置示意图。
图10为本发明实施例一种自适应全局序号发生装置示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
本发明属于分布式技术领域。图1为本发明实施例一种自适应全局序号发生方法示意图,如图1所示,本发明实施例提供一种自适应全局序号发生方法,满足全局唯一序号高性能生成要求的同时,还能够有效应对动态变化的请求量,该方法包括:
步骤101:由请求响应子程序接收外部系统发送的全局序号获取请求;
步骤102:根据全局序号获取请求,由全局序号管理子程序调用全局序号缓存管理子程序从分布式缓存中获取全局唯一序号和当前剩余可用序号个数;
步骤103:将全局唯一序号进行加工,由请求响应子程序向请求的外部系统返回;
步骤104:根据全局序号获取请求,由全局序号管理子程序异步调用请求统计分析子程序进行统计分析,确定请求量统计分析结果;
步骤105:根据请求统计分析结果,通过缓存容量控制子程序和全局序号缓存管理子程序调整分布式缓存的缓存容量和缓存阈值;
步骤106:根据当前剩余可用序号个数以及分布式缓存的缓存容量和缓存阈值,通过全局序号批量管理子程序异步从数据库中动态批量加载全局唯一序号至分布式缓存。
本发明实施例提供的一种自适应全局序号发生方法,包括:首先由请求响应子程序接收外部系统发送的全局序号获取请求;然后根据全局序号获取请求,由全局序号管理子程序调用全局序号缓存管理子程序从分布式缓存中获取全局唯一序号和当前剩余可用序号个数;接着将全局唯一序号进行加工,由请求响应子程序向请求的外部系统返回;继续根据全局序号获取请求,由全局序号管理子程序异步调用请求统计分析子程序进行统计分析,确定请求量统计分析结果;下一步根据请求统计分析结果,通过全局序号缓存管理子程序调整分布式缓存的缓存容量和缓存阈值;最后根据当前剩余可用序号个数以及分布式缓存的缓存容量和缓存阈值,通过全局序号批量管理子程序异步从数据库中动态批量加载全局唯一序号至分布式缓存。本发明通过结合数据库和分布式缓存,通过对系统承受的全局序号获取请求量进行统计和分析,并采用一定的控制算法进行分析,可以在提供高效率全局序号生成的同时,实现自适应生成,从而能够有效应对动态变化的序号请求,在请求高峰时可以及时应对增长的请求,在低谷时可以有效节省系统资源。可以实现容量的动态伸缩,以有效应对请求量的波动,满足全局唯一序号高性能生成要求的同时,还能够有效应对动态变化的请求量。动态预测请求量变化趋势,从而实现自适应全局序号生成,有效应对交易量波动场景下的需求。
在本发明实施例中,涉及的专业词汇释义如下:
自适应:自适应是指程序或系统在运行过程中根据被处理对象的特征和状态,动态调整以适应被处理对象的变化,从而取得最佳处理效果的过程。
全局唯一序号:在分布式系统中,需要在交易过程中产生系统中全局唯一的序列号,用以唯一标识交易过程中的关键对象。
分布式缓存:采用分布式架构的缓存系统,向使用方提供高性能的读写能力。相比传统数据库,具有更高的读写性能,相比普通缓存,具有分布式的特点。
在分布式系统中,全局序号生成是一种典型的应用场景,如交易流水、用户唯一标识等。在非分布式系统中,唯一序号的生成,通常通过数据库自增序列等实现,能够在一定程度上解决问题,但是存在灵活性差的问题。当系统为分布式系统时,通常数据存储也为分布式系统,仅通过数据库本身的自增序列无法满足要求,此时通常采用建立全局表的方式进行解决,但由于数据库本身的性能限制,无法满足满足高性能要求。此时,可以通过引入分布式缓存,批量从全局表中获取序号后进行缓存,请求到达时缓存中获取序号,从而达到一定程度的高性能要求。
但是,在典型业务场景下,交易量存在动态波动较大的特征,全局序号的生成要求具有较高的性能、同时要求能够有效应对动态变化的请求量。为此,需要一种在满足高性能要求的同时,还能够有效应对动态变化的请求量的序号生成方法。
现有技术中,采用数据库全局表与分布式存储相结合的方式,从数据库批量获取一定量的序号并进行缓存,请求方通过缓存获取序号。
现有技术的方案虽然能够在一定程度上满足高性能要求,但是,由于现有技术仅采用缓存的高效读写能力,未对系统本身承受的请求量进行统计和分析,因此,对于典型的交易量波动场景无法有效应对。当交易量突增时,现有缓存中的序号可能无法满足瞬时的请求需求,导致大量请求积压,从而可能导致系统僵死。当交易量逐渐变小时,现有缓存中的序号并未得到有效利用,存在一定程度的资源浪费。
为了解决上述问题,本发明通过对系统承受的请求量进行统计和分析,动态预测请求量变化趋势,从而实现自适应全局序号生成,有效应对交易量波动场景下的需求。如图2本发明实施例一种自适应全局序号发生方法的流程图,以及图3本发明实施例一种自适应全局序号发生方法的各子程序交互关系图所示,具体实施本发明实施例提供的一种自适应全局序号发生方法时,在一个实施例中,可以包括:
根据全局序号获取请求,由全局序号管理子程序异步调用请求统计分析子程序进行统计分析,确定请求量统计分析结果;
根据请求统计分析结果,通过缓存容量控制子程序和全局序号缓存管理子程序调整分布式缓存的缓存容量和缓存阈值;
根据当前剩余可用序号个数以及分布式缓存的缓存容量和缓存阈值,通过全局序号批量管理子程序异步从数据库中动态批量加载全局唯一序号至分布式缓存。
本发明通过结合数据库和分布式缓存,通过对系统承受的全局序号获取请求量进行统计和分析,并采用一定的控制算法进行分析,可以在提供高效率全局序号生成的同时,实现自适应生成,从而能够有效应对动态变化的序号请求,在请求高峰时可以及时应对增长的请求,在低谷时可以有效节省系统资源。可以实现容量的动态伸缩,以有效应对请求量的波动,满足全局唯一序号高性能生成要求的同时,还能够有效应对动态变化的请求量。动态预测请求量变化趋势,从而实现自适应全局序号生成,有效应对交易量波动场景下的需求。
具体实施本发明实施例提供的一种自适应全局序号发生方法时,在一个实施例中,在由请求响应子程序接收外部系统发送的全局序号获取请求之前,还包括:
进行系统程序运行环境准备以及数据库及参数初始化和程序启动。
在实施实施例提供的一种自适应全局序号发生方法,技术人员首先需要完成运行环境准备以及参数初始化,具体的是:在由请求响应子程序接收外部系统发送的全局序号获取请求之前,进行系统程序运行环境准备以及数据库及参数初始化和程序启动。
图4为本发明实施例一种自适应全局序号发生方法的环境准备及初始化过程示意图,如图4所示,具体实施本发明实施例提供的一种自适应全局序号发生方法时,在一个实施例中,进行系统运行环境准备以及数据库参数初始化和程序启动,包括:
步骤401:对系统程序运行环境、数据库环境和分布式缓存环境完成基础环境准备;
步骤402:对数据库进行初始化,创建数据表以及创建缓存数据结构;
步骤403:对数据库、分布式缓存和多个程序集成启动。
实施例中,从从开发的角度,技术人员需要完成如下工作:
首先,技术人员需要完成系统运行基础环境的准备,包括系统程序运行环境、数据库环境以及分布式缓存环境的基础环境准备工作;
然后,需要进行数据库的初始化工作,包括创建数据表、创建缓存数据结构;
其次,需要进行程序的开发工作,请求响应子程序、全局序号管理子程序、全局序号批量获取子程序、全局序号缓存子程序、请求统计分析子程序、缓存容量控制子程序;
再次,需要完成上述步骤中各个子程序的集成和调试工作;
最后,需要完成程序、数据库和分布式缓存的整体集成并启动。
上述工作中,最重要也是最难的是各个子程序开发工作,尤其是请求统计分析子程序、缓存容量控制子程序的开发工作,需要进行算法的分析、设计以及开发验证。
图5为本发明实施例一种自适应全局序号发生方法的全局序号获取请求接收处理过程示意图,如图5所示,具体实施本发明实施例提供的一种自适应全局序号发生方法时,在一个实施例中,由请求响应子程序接收外部系统发送的全局序号获取请求,包括:
步骤501:由请求响应子程序连接外部系统,接收外部系统发送的全局序号获取请求;
步骤502:将全局序号获取请求进行预处理,进行有效性检查,在全局序号获取请求通过有效性检查后,交由全局序号管理子程序进行处理。
实施例中,请求响应子程序负责接收外部系统发送的全局序号获取请求,将请求进行预处理后交由全局序号管理子程序进行处理,并将全局序号管理子程序处理的结果向外部请求的系统进行响应。由请求响应子程序接收外部系统发送的全局序号获取请求的过程主要包括:由请求响应子程序接收外部系统发送的全局序号获取请求并进行预处理,进行请求有效性检查等,具体的是由请求响应子程序连接外部系统,接收外部系统发送的全局序号获取请求;将全局序号获取请求进行预处理,进行有效性检查,在全局序号获取请求通过有效性检查后,交由全局序号管理子程序进行处理。
具体实施本发明实施例提供的一种自适应全局序号发生方法时,在一个实施例中,根据全局序号获取请求,由全局序号管理子程序调用全局序号缓存管理子程序从分布式缓存中获取全局唯一序号和当前剩余可用序号个数,包括:根据请求响应子程序预处理后的请求,由全局序号管理子程序协调全局序号缓存管理子程序从分布式缓存中获取对应的全局序号以及当前剩余的可用序号个数。
实施例中,全局序号管理子程序负责协调和调度全局序号缓存管理子程序、请求统计分析子程序,完成从序号获取以及将请求交由统计子程序进行统计等任务的协调和调度工作。
实施例中,全局序号缓存管理子程序负责向缓存中存入批量获取的序号以及从缓存中获取可用的全局唯一序号以及当前剩余可用序号个数。
具体实施本发明实施例提供的一种自适应全局序号发生方法时,在一个实施例中,将全局唯一序号进行加工,由请求响应子程序向请求的外部系统返回,包括:将从缓存中获取到的全局唯一序号进行加工,并由请求响应子程序向请求方返回。
具体实施本发明实施例提供的一种自适应全局序号发生方法时,在一个实施例中,根据全局序号获取请求,由全局序号管理子程序异步调用请求统计分析子程序进行统计分析,确定请求量统计分析结果,包括:
由全局序号管理子程序异步调用请求统计分析子程序,将请求统计分析结果输入请求统计分析子程序对请求量进行统计分析,确定请求量统计分析结果。
实施例中,前述的“由请求响应子程序接收外部系统发送的全局序号获取请求,根据全局序号获取请求,由全局序号管理子程序调用全局序号缓存管理子程序从分布式缓存中获取全局唯一序号和当前剩余可用序号个数,将全局唯一序号进行加工,由请求响应子程序向请求的外部系统返回”三个步骤,是响应于外部系统发送的全局序号获取请求,实时高效的将全局唯一序号返回至外部系统,通过上述步骤,实现了高效率全局序号生成;进一步的,为了有效应对动态变化的序号请求,在请求高峰时可以及时应对增长的请求,在低谷时可以有效节省系统资源,由全局序号管理子程序异步调用请求统计分析子程序,将请求统计分析结果输入请求统计分析子程序对请求量进行统计分析,确定请求量统计分析结果,实现对系统承受的全局序号获取请求量进行统计和分析。
实施例中,请求统计分析子程序负责对系统接收到的请求进行统计和初步分析,并将统计分析结果输入缓存容量控制子程序。
图6为本发明实施例一种自适应全局序号发生方法的缓存容量和缓存阈值调整过程示意图,如图6所示,具体实施本发明实施例提供的一种自适应全局序号发生方法时,在一个实施例中,根据请求统计分析结果,通过缓存容量控制子程序和全局序号缓存管理子程序调整分布式缓存的缓存容量和缓存阈值,包括:
步骤601:将缓存容量控制子程序在后台常驻运行;
步骤602:从请求统计分析子程序中获取请求量统计分析结果;
步骤603:利用缓存容量控制子程序,根据请求量统计分析结果,采用自适应控制算法进行计算,确定缓存容量调整结果和缓存阈值调整结果;
步骤604:根据缓存容量调整结果和缓存阈值调整结果,通过全局序号缓存管理子程序调整分布式缓存的缓存容量和缓存阈值。
实施例中,缓存容量控制子程序负责根据请求统计分析子程序的统计分析结果作为输入,经过控制算法计算,得到全局唯一序号缓存容量和缓存阈值的调整结果。序号存储主要包括数据库及分布式缓存,主要用于全局序号的存储和生成。
调整分布式缓存的缓存容量和缓存阈值的过程,主要包括:
首先,将缓存容量控制子程序在后台常驻运行;然后,从请求统计分析子程序中获取请求量统计分析结果;接着,利用缓存容量控制子程序,根据请求量统计分析结果,采用自适应控制算法进行计算,确定缓存容量调整结果和缓存阈值调整结果;最后,根据缓存容量调整结果和缓存阈值调整结果,通过全局序号缓存管理子程序调整分布式缓存的缓存容量和缓存阈值。
实施例中,缓存容量控制子程序在系统后台常驻运行,从请求统计分析子程序中获取请求量的统计分析结果,根据统计分析结果,采用自适应控制算法进行计算,得到缓存容量及缓存阈值调整的结果。并将缓存容量和缓存阈值调整结果输入全局序号缓存管理子程序。全局序号缓存管理子程序根据输入的缓存容量调整结果、当前缓存的容量大小进行判断是否需要进行容量调整;根据输入的缓存阈值调整结果、当前缓存的阈值大小进行判断是否需要进行阈值调整。本发明实施例可以在提供高效率全局序号生成的同时,实现自适应生成,可以实现容量的动态伸缩,以有效应对请求量的波动,满足全局唯一序号高性能生成要求的同时,还能够有效应对动态变化的请求量。动态预测请求量变化趋势,从而实现自适应全局序号生成,有效应对交易量波动场景下的需求。本发明实施例通过对系统承受的请求量进行统计和分析,动态预测请求量变化趋势,从而实现自适应全局序号生成,有效应对交易量波动场景下的需求。
图7为本发明实施例一种自适应全局序号发生方法的通过全局序号缓存管理子程序调整分布式缓存的缓存容量和缓存阈值过程示意图,如图7所示,具体实施本发明实施例提供的一种自适应全局序号发生方法时,在一个实施例中,根据缓存容量调整结果和缓存阈值调整结果,通过全局序号缓存管理子程序调整分布式缓存的缓存容量和缓存阈值,包括:
步骤701:将缓存容量调整结果和缓存阈值调整结果输入全局序号缓存管理子程序;
步骤702:根据缓存容量调整结果和当前分布式缓存的缓存容量大小,通过全局序号缓存管理子程序判断是否需要进行缓存容量调整;
步骤703:当缓存容量调整结果大于当前分布式缓存的缓存容量大小时,将当前分布式缓存的缓存容量大小的值调整为等于缓存容量调整结果的值;
步骤704:当缓存容量调整结果小于等于当前分布式缓存的缓存容量大小时,阶梯下调当前分布式缓存的缓存容量;
步骤705:根据缓存阈值调整结果和当前分布式缓存的缓存阈值大小,通过全局序号缓存管理子程序判断是否需要进行缓存阈值调整;
步骤706:当缓存阈值调整结果大于当前分布式缓存的缓存阈值大小时,将当前分布式缓存的缓存阈值大小的值调整为等于缓存阈值调整结果的值;
步骤707:当缓存阈值调整结果小于等于当前分布式缓存的缓存阈值大小时,阶梯下调当前分布式缓存的缓存阈值。
实施例中,全局序号缓存管理子程序调整分布式缓存的缓存容量和缓存阈值的过程,主要包括:
首先将缓存容量调整结果和缓存阈值调整结果输入全局序号缓存管理子程序;
对于分布式缓存的缓存容量调整,主要包括:根据缓存容量调整结果和当前分布式缓存的缓存容量大小,通过全局序号缓存管理子程序判断是否需要进行缓存容量调整;
当缓存容量调整结果大于当前分布式缓存的缓存容量大小时,表示当前接收到的请求量突增,现有缓存中的序号可能无法满足瞬时的请求需求,因此需要增加缓存容量,所以将当前分布式缓存的缓存容量大小的值调整为等于缓存容量调整结果的值,可以快速增大缓存容量,使积压的请求迅速处理,防止系统僵死;
当缓存容量调整结果小于等于当前分布式缓存的缓存容量大小时,表示当前交易量逐步变小,现有缓存中的序号并未得到有效利用,存在一定程度的资源浪费,因此可以阶梯下调当前分布式缓存的缓存容量,节省系统资源,实现容量的动态伸缩,以有效应对请求量的波动;其中,阶梯下调当前分布式缓存的缓存容量,可以是按照设定时间长度,以设定百分比对缓存容量进行阶梯下调,例如,每10分钟下调当前分布式缓存的缓存容量的5%;也可以采用其他阶梯下调的方式。
对于分布式缓存的缓存阈值调整,主要包括:根据缓存阈值调整结果和当前分布式缓存的缓存阈值大小,通过全局序号缓存管理子程序判断是否需要进行缓存阈值调整;
当缓存阈值调整结果大于当前分布式缓存的缓存阈值大小时,表示当前接收到的请求量突增,现有缓存中的序号可能无法满足瞬时的请求需求,因此需要上调缓存阈值,将当前分布式缓存的缓存阈值大小的值调整为等于缓存阈值调整结果的值,可以实现快速上调缓存阈值,使得积压的请求能够有更长的时间来处理,防止突增的请求量满载缓存阈值而导致的系统效率骤降;
当缓存阈值调整结果小于等于当前分布式缓存的缓存阈值大小时,阶梯下调当前分布式缓存的缓存阈值。表示当前交易量逐步变小,现有缓存中的序号并未得到有效利用,存在一定程度的资源浪费,因此可以阶梯下调当前分布式缓存的缓存阈值,节省系统资源,实现缓存阈值的动态伸缩,以有效应对请求量的波动;其中,阶梯下调当前分布式缓存的缓存阈值,可以是按照设定时间长度,以设定百分比对缓存阈值进行阶梯下调,例如,每10分钟下调当前分布式缓存的缓存阈值的5%;也可以采用其他阶梯下调的方式。
本发明实施例采用自适应控制算法进行计算,得到缓存容量和阈值调整的结果,同时根据容量和阈值调整结果进行缓存容量和阈值的动态调整。本发明实施例将系统的请求进行统计分析,以统计分析结果作为输入,采用自适应控制算法实时得到缓存容量和阈值的调整结果,根据调整结果动态调整缓存容量和阈值的大小,从而实现容量的动态伸缩,以有效应对请求量的波动。
图8为本发明实施例一种自适应全局序号发生方法的动态批量加载全局唯一序号过程示意图,如图8所示,具体实施本发明实施例提供的一种自适应全局序号发生方法时,在一个实施例中,根据当前剩余可用序号个数以及分布式缓存的缓存容量和缓存阈值,通过全局序号批量管理子程序异步从数据库中动态批量加载全局唯一序号至分布式缓存,包括:
步骤801:读取分布式缓存当前的缓存容量和缓存阈值;
步骤802:根据当前剩余可用序号个数以及分布式缓存当前的缓存容量和缓存阈值,判断是否需要批量加载全局唯一序号至分布式缓存;
步骤803:如果需要批量加载全局唯一序号,则触发全局序号批量管理子程序,异步的从数据库中动态批量获取全局唯一序号;
步骤804:将批量获取的全局唯一序号存储至分布式缓存。
实施例中,全局序号批量管理子程序负责动态的从数据库中批量获取序号加载至分布式缓存,主要过程,包括:首先读取分布式缓存当前的缓存容量和缓存阈值;然后根据当前剩余可用序号个数以及分布式缓存当前的缓存容量和缓存阈值,判断是否需要批量加载全局唯一序号至分布式缓存;如果需要批量加载全局唯一序号,则触发全局序号批量管理子程序,异步的从数据库中动态批量获取全局唯一序号;最后将批量获取的全局唯一序号存储至分布式缓存。
本发明实施例与上述的“由请求响应子程序接收外部系统发送的全局序号获取请求,根据全局序号获取请求,由全局序号管理子程序调用全局序号缓存管理子程序从分布式缓存中获取全局唯一序号和当前剩余可用序号个数,将全局唯一序号进行加工,由请求响应子程序向请求的外部系统返回”三个步骤异步地进行:根据获取的可用序号个数、缓存容量以及缓存阈值判断是否需要批量加载全局序号至缓存,如果需要则触发全局序号批量管理子程序从数据库中批量获取序号,并将获取到的序号存储至分布式缓存中。实现容量的动态伸缩,以有效应对请求量的波动。实现自适应全局序号生成,有效应对交易量波动场景下的需求。
下面结合具体场景,对本发明实施例提供的一种自适应全局序号发生方法进行简要描述:
本发明提出一种自适应的全局序号发生方法,通过结合数据库和分布式缓存,对系统接收到的请求量进行统计,并采用一定的控制算法进行分析,可以在提供高效率全局序号生成的同时,实现自适应生成,从而能够有效应对动态变化的序号请求,在请求高峰时可以及时应对增长的请求,在低谷时可以有效节省系统资源。
本发明通过对系统承受的请求量进行统计和分析,动态预测请求量变化趋势,从而实现自适应全局序号生成,有效应对交易量波动场景下的需求。
从开发的角度,技术人员提前需要完成如下工作:
首先,技术人员需要完成系统运行基础环境的准备,包括系统程序运行环境、数据库环境以及分布式缓存环境。
然后,需要进行数据库的初始化工作,包括创建数据表、创建缓存数据结构。
其次,需要进行程序的开发工作,请求响应子程序、全局序号管理子程序、全局序号批量获取子程序、全局序号缓存子程序、请求统计分析子程序、缓存容量控制子程序。
再次,需要完成上述步骤中子程序的集成和调试工作。
最后,需要完成程序、数据库和分布式缓存的整体集成并启动。
上述工作中,最重要也是最难的是第三步程序开发工作,尤其是各个子程序的开发工作,需要进行算法的分析、设计以及开发验证。
本发明提出的自适应全局序号发生方法所运行的系统,在运行时,主要包括请求响应子程序、全局序号管理子程序、全局序号批量管理子程序、全局序号缓存管理子程序、请求统计分析子程序、缓存容量控制子程序以及序号存储等多个子程序。各子程序的作用如下:
1.请求响应子程序负责接收外部发送的序号请求,将请求进行预处理后交由全局序号管理子程序进行处理,并将全局序号管理子程序处理的结果向外部请求方进行响应。
2.全局序号管理子程序负责协调和调度全局序号缓存管理子程序、请求统计分析子程序,完成从序号获取以及将请求交由统计子程序进行统计等任务的协调和调度工作。
3.全局序号批量管理子程序负责从数据库中批量获取序号。
4.全局序号缓存管理子程序负责向缓存中存入批量获取的序号以及从缓存中获取可用的序号。
5.请求统计分析子程序负责对系统接收到的请求进行统计和初步分析,并将统计分析结果输入缓存容量控制子程序。
6.缓存容量控制子程序负责根据请求统计分析子程序的统计分析结果作为输入,经过控制算法计算,得到序号缓存容量和缓存阈值的调整结果。
7.序号存储主要包括数据库及分布式缓存,主要用于全局序号的存储和生成。
上述子程序的交互流程,包括:
1.完成系统运行环境准备、数据及参数初始化并启动系统。
2.由请求响应子程序接收外部系统发送的全局序号获取请求并进行预处理,进行请求有效性检查等。
3.根据请求响应子程序预处理后的请求,由全局序号管理子程序协调全局序号缓存管理子程序从分布式缓存中获取对应的全局序号以及当前剩余的可用序号个数。
4.将从缓存中获取到的全局唯一序号进行加工,并由请求响应子程序向请求方返回。
5.与第四步异步地同时进行:由全局序号管理子程序将请求输入请求统计分析子程序进行统计分析。
6.与第四步异步地同时进行:根据获取的可用序号个数、缓存容量以及缓存阈值判断是否需要批量加载全局序号至缓存,如果需要则触发全局序号批量管理子程序从数据库中批量获取序号,并将获取到的序号存储至分布式缓存中。
7.缓存容量控制子程序在系统后台常驻运行,从请求统计分析子程序中获取请求量的统计分析结果,根据统计分析结果,采用自适应控制算法进行计算,得到缓存容量及缓存阈值调整的结果。并将缓存容量和缓存阈值调整结果输入全局序号缓存管理子程序。
8.全局序号缓存管理子程序根据输入的缓存容量调整结果、当前缓存的容量大小进行判断是否需要进行容量调整;根据输入的缓存阈值调整结果、当前缓存的阈值大小进行判断是否需要进行阈值调整。
本发明实施例最核心的流程步骤在于:
1.由全局序号管理子程序将请求输入请求统计分析子程序进行统计分析。
2.缓存容量控制子程序在系统后台常驻运行,从请求统计分析子程序中获取请求量的统计分析结果,根据统计分析结果,采用自适应控制算法进行计算,得到缓存容量及缓存阈值调整的结果。并将缓存容量和缓存阈值调整结果输入全局序号缓存管理子程序。
3.全局序号缓存管理子程序根据输入的缓存容量调整结果、当前缓存的容量大小进行判断是否需要进行容量调整;根据输入的缓存阈值调整结果、当前缓存的阈值大小进行判断是否需要进行阈值调整。
4.根据获取的可用序号个数、缓存容量以及缓存阈值判断是否需要批量加载全局序号至缓存,如果需要则触发全局序号批量管理子程序从数据库中批量获取序号,并将获取到的序号存储至分布式缓存中。
本发明实施例的关键点在于:
1.自适应全局序号发生的整体方法;
2.将请求进行统计分析,并作为调整缓存容量和阈值调整的输入;
3.采用自适应控制算法进行计算,得到缓存容量和阈值调整的结果;
4.根据容量和阈值调整结果进行缓存容量和阈值的动态调整。
现有的全局序号生成方法,无法有效应对请求量波动较大的场景。当交易量突增时,现有缓存中的序号可能无法满足瞬时的请求需求,导致大量请求积压,从而可能导致系统僵死。当交易量逐渐变小时,现有缓存中的序号并未得到有效利用,存在一定程度的资源浪费。
为了应对上述问题,本发明将系统的请求进行统计分析,以统计分析结果作为输入,采用自适应控制算法实时得到缓存容量和阈值的调整结果,根据调整结果动态调整缓存容量和阈值的大小,从而实现容量的动态伸缩,以有效应对请求量的波动。
图9为运行本发明实施的一种自适应全局序号发生方法的计算机装置示意图,如图9所示,本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述一种自适应全局序号发生方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行实现上述一种自适应全局序号发生方法的计算机程序。
本发明实施例中还提供了一种自适应全局序号发生装置,如下面的实施例所述。由于该装置解决问题的原理与一种自适应全局序号发生方法相似,因此该装置的实施可以参见一种自适应全局序号发生方法的实施,重复之处不再赘述。
图10为本发明实施例一种自适应全局序号发生装置示意图,如图10所示,本发明实施例还提供一种自适应全局序号发生装置,具体实施时可以包括:
全局序号获取请求接收模块1001,用于由请求响应子程序接收外部系统发送的全局序号获取请求;
全局唯一序号和当前剩余可用序号个数获取模块1002,用于根据全局序号获取请求,由全局序号管理子程序调用全局序号缓存管理子程序从分布式缓存中获取全局唯一序号和当前剩余可用序号个数;
全局唯一序号返回模块1003,用于将全局唯一序号进行加工,由请求响应子程序向请求的外部系统返回;
请求量统计分析结果确定模块1004,用于根据全局序号获取请求,由全局序号管理子程序异步调用请求统计分析子程序进行统计分析,确定请求量统计分析结果;
缓存容量和缓存阈值调整模块1005,用于根据请求统计分析结果,通过缓存容量控制子程序和全局序号缓存管理子程序调整分布式缓存的缓存容量和缓存阈值;
全局唯一序号动态批量加载模块1006,用于根据当前剩余可用序号个数以及分布式缓存的缓存容量和缓存阈值,通过全局序号批量管理子程序异步从数据库中动态批量加载全局唯一序号至分布式缓存。
具体实施本发明实施例提供的一种自适应全局序号发生装置时,在一个实施例中,该装置还包括:环境准备及初始化模块,用于进行系统程序运行环境准备以及数据库及参数初始化和程序启动。
具体实施本发明实施例提供的一种自适应全局序号发生装置时,在一个实施例中,前述的环境准备及初始化模块,具体用于:
对系统程序运行环境、数据库环境和分布式缓存环境完成基础环境准备;
对数据库进行初始化,创建数据表以及创建缓存数据结构;
对数据库、分布式缓存和多个程序集成启动。
具体实施本发明实施例提供的一种自适应全局序号发生装置时,在一个实施例中,前述的全局序号获取请求接收模块,具体用于:
由请求响应子程序连接外部系统,接收外部系统发送的全局序号获取请求;
将全局序号获取请求进行预处理,进行有效性检查,在全局序号获取请求通过有效性检查后,交由全局序号管理子程序进行处理。
具体实施本发明实施例提供的一种自适应全局序号发生装置时,在一个实施例中,前述的请求量统计分析结果确定模块,具体用于:
由全局序号管理子程序异步调用请求统计分析子程序,将请求统计分析结果输入请求统计分析子程序对请求量进行统计分析,确定请求量统计分析结果。
具体实施本发明实施例提供的一种自适应全局序号发生装置时,在一个实施例中,前述的缓存容量和缓存阈值调整模块,具体用于:
将缓存容量控制子程序在后台常驻运行;
从请求统计分析子程序中获取请求量统计分析结果;
利用缓存容量控制子程序,根据请求量统计分析结果,采用自适应控制算法进行计算,确定缓存容量调整结果和缓存阈值调整结果;
根据缓存容量调整结果和缓存阈值调整结果,通过全局序号缓存管理子程序调整分布式缓存的缓存容量和缓存阈值。
具体实施本发明实施例提供的一种自适应全局序号发生装置时,在一个实施例中,前述的缓存容量和缓存阈值调整模块,还用于:
将缓存容量调整结果和缓存阈值调整结果输入全局序号缓存管理子程序;
根据缓存容量调整结果和当前分布式缓存的缓存容量大小,通过全局序号缓存管理子程序判断是否需要进行缓存容量调整;
当缓存容量调整结果大于当前分布式缓存的缓存容量大小时,将当前分布式缓存的缓存容量大小的值调整为等于缓存容量调整结果的值;
当缓存容量调整结果小于等于当前分布式缓存的缓存容量大小时,阶梯下调当前分布式缓存的缓存容量;
根据缓存阈值调整结果和当前分布式缓存的缓存阈值大小,通过全局序号缓存管理子程序判断是否需要进行缓存阈值调整;
当缓存阈值调整结果大于当前分布式缓存的缓存阈值大小时,将当前分布式缓存的缓存阈值大小的值调整为等于缓存阈值调整结果的值;
当缓存阈值调整结果小于等于当前分布式缓存的缓存阈值大小时,阶梯下调当前分布式缓存的缓存阈值。
具体实施本发明实施例提供的一种自适应全局序号发生装置时,在一个实施例中,前述的全局唯一序号动态批量加载模块,具体用于:
读取分布式缓存当前的缓存容量和缓存阈值;
根据当前剩余可用序号个数以及分布式缓存当前的缓存容量和缓存阈值,判断是否需要批量加载全局唯一序号至分布式缓存;
如果需要批量加载全局唯一序号,则触发全局序号批量管理子程序,异步的从数据库中动态批量获取全局唯一序号;
将批量获取的全局唯一序号存储至分布式缓存。
综上,本发明实施例提供的一种自适应全局序号发生方法和装置,包括:首先由请求响应子程序接收外部系统发送的全局序号获取请求;然后根据全局序号获取请求,由全局序号管理子程序调用全局序号缓存管理子程序从分布式缓存中获取全局唯一序号和当前剩余可用序号个数;接着将全局唯一序号进行加工,由请求响应子程序向请求的外部系统返回;继续根据全局序号获取请求,由全局序号管理子程序异步调用请求统计分析子程序进行统计分析,确定请求量统计分析结果;下一步根据请求统计分析结果,通过全局序号缓存管理子程序调整分布式缓存的缓存容量和缓存阈值;最后根据当前剩余可用序号个数以及分布式缓存的缓存容量和缓存阈值,通过全局序号批量管理子程序异步从数据库中动态批量加载全局唯一序号至分布式缓存。本发明通过结合数据库和分布式缓存,通过对系统承受的全局序号获取请求量进行统计和分析,并采用一定的控制算法进行分析,可以在提供高效率全局序号生成的同时,实现自适应生成,从而能够有效应对动态变化的序号请求,在请求高峰时可以及时应对增长的请求,在低谷时可以有效节省系统资源。可以实现容量的动态伸缩,以有效应对请求量的波动,满足全局唯一序号高性能生成要求的同时,还能够有效应对动态变化的请求量。动态预测请求量变化趋势,从而实现自适应全局序号生成,有效应对交易量波动场景下的需求。
本发明实施例将系统的请求进行统计分析,以统计分析结果作为输入,采用自适应控制算法实时得到缓存容量和阈值的调整结果,根据调整结果动态调整缓存容量和阈值的大小,从而实现容量的动态伸缩,以有效应对请求量的波动。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (18)
1.一种自适应全局序号发生方法,其特征在于,包括:
由请求响应子程序接收外部系统发送的全局序号获取请求;
根据全局序号获取请求,由全局序号管理子程序调用全局序号缓存管理子程序从分布式缓存中获取全局唯一序号和当前剩余可用序号个数;
将全局唯一序号进行加工,由请求响应子程序向请求的外部系统返回;
根据全局序号获取请求,由全局序号管理子程序异步调用请求统计分析子程序进行统计分析,确定请求量统计分析结果;
根据请求统计分析结果,通过缓存容量控制子程序和全局序号缓存管理子程序调整分布式缓存的缓存容量和缓存阈值;
根据当前剩余可用序号个数以及分布式缓存的缓存容量和缓存阈值,通过全局序号批量管理子程序异步从数据库中动态批量加载全局唯一序号至分布式缓存。
2.如权利要求1所述的方法,其特征在于,在由请求响应子程序接收外部系统发送的全局序号获取请求之前,还包括:
进行系统程序运行环境准备以及数据库及参数初始化和程序启动。
3.如权利要求2所述的方法,其特征在于,进行系统运行环境准备以及数据库参数初始化和程序启动,包括:
对系统程序运行环境、数据库环境和分布式缓存环境完成基础环境准备;
对数据库进行初始化,创建数据表以及创建缓存数据结构;
对数据库、分布式缓存和多个程序集成启动。
4.如权利要求1所述的方法,其特征在于,由请求响应子程序接收外部系统发送的全局序号获取请求,包括:
由请求响应子程序连接外部系统,接收外部系统发送的全局序号获取请求;
将全局序号获取请求进行预处理,进行有效性检查,在全局序号获取请求通过有效性检查后,交由全局序号管理子程序进行处理。
5.如权利要求1所述的方法,其特征在于,根据全局序号获取请求,由全局序号管理子程序异步调用请求统计分析子程序进行统计分析,确定请求量统计分析结果,包括:
由全局序号管理子程序异步调用请求统计分析子程序,将请求统计分析结果输入请求统计分析子程序对请求量进行统计分析,确定请求量统计分析结果。
6.如权利要求5所述的方法,其特征在于,根据请求统计分析结果,通过缓存容量控制子程序和全局序号缓存管理子程序调整分布式缓存的缓存容量和缓存阈值,包括:
将缓存容量控制子程序在后台常驻运行;
从请求统计分析子程序中获取请求量统计分析结果;
利用缓存容量控制子程序,根据请求量统计分析结果,采用自适应控制算法进行计算,确定缓存容量调整结果和缓存阈值调整结果;
根据缓存容量调整结果和缓存阈值调整结果,通过全局序号缓存管理子程序调整分布式缓存的缓存容量和缓存阈值。
7.如权利要求6所述的方法,其特征在于,根据缓存容量调整结果和缓存阈值调整结果,通过全局序号缓存管理子程序调整分布式缓存的缓存容量和缓存阈值,包括:
将缓存容量调整结果和缓存阈值调整结果输入全局序号缓存管理子程序;
根据缓存容量调整结果和当前分布式缓存的缓存容量大小,通过全局序号缓存管理子程序判断是否需要进行缓存容量调整;
当缓存容量调整结果大于当前分布式缓存的缓存容量大小时,将当前分布式缓存的缓存容量大小的值调整为等于缓存容量调整结果的值;
当缓存容量调整结果小于等于当前分布式缓存的缓存容量大小时,阶梯下调当前分布式缓存的缓存容量;
根据缓存阈值调整结果和当前分布式缓存的缓存阈值大小,通过全局序号缓存管理子程序判断是否需要进行缓存阈值调整;
当缓存阈值调整结果大于当前分布式缓存的缓存阈值大小时,将当前分布式缓存的缓存阈值大小的值调整为等于缓存阈值调整结果的值;
当缓存阈值调整结果小于等于当前分布式缓存的缓存阈值大小时,阶梯下调当前分布式缓存的缓存阈值。
8.如权利要求1所述的方法,其特征在于,根据当前剩余可用序号个数以及分布式缓存的缓存容量和缓存阈值,通过全局序号批量管理子程序异步从数据库中动态批量加载全局唯一序号至分布式缓存,包括:
读取分布式缓存当前的缓存容量和缓存阈值;
根据当前剩余可用序号个数以及分布式缓存当前的缓存容量和缓存阈值,判断是否需要批量加载全局唯一序号至分布式缓存;
如果需要批量加载全局唯一序号,则触发全局序号批量管理子程序,异步的从数据库中动态批量获取全局唯一序号;
将批量获取的全局唯一序号存储至分布式缓存。
9.一种自适应全局序号发生装置,其特征在于,包括:
全局序号获取请求接收模块,用于由请求响应子程序接收外部系统发送的全局序号获取请求;
全局唯一序号和当前剩余可用序号个数获取模块,用于根据全局序号获取请求,由全局序号管理子程序调用全局序号缓存管理子程序从分布式缓存中获取全局唯一序号和当前剩余可用序号个数;
全局唯一序号返回模块,用于将全局唯一序号进行加工,由请求响应子程序向请求的外部系统返回;
请求量统计分析结果确定模块,用于根据全局序号获取请求,由全局序号管理子程序异步调用请求统计分析子程序进行统计分析,确定请求量统计分析结果;
缓存容量和缓存阈值调整模块,用于根据请求统计分析结果,通过缓存容量控制子程序和全局序号缓存管理子程序调整分布式缓存的缓存容量和缓存阈值;
全局唯一序号动态批量加载模块,用于根据当前剩余可用序号个数以及分布式缓存的缓存容量和缓存阈值,通过全局序号批量管理子程序异步从数据库中动态批量加载全局唯一序号至分布式缓存。
10.如权利要求9所述的装置,其特征在于,还包括:环境准备及初始化模块,用于进行系统程序运行环境准备以及数据库及参数初始化和程序启动。
11.如权利要求10所述的装置,其特征在于,环境准备及初始化模块,具体用于:
对系统程序运行环境、数据库环境和分布式缓存环境完成基础环境准备;
对数据库进行初始化,创建数据表以及创建缓存数据结构;
对数据库、分布式缓存和多个程序集成启动。
12.如权利要求9所述的装置,其特征在于,全局序号获取请求接收模块,具体用于:
由请求响应子程序连接外部系统,接收外部系统发送的全局序号获取请求;
将全局序号获取请求进行预处理,进行有效性检查,在全局序号获取请求通过有效性检查后,交由全局序号管理子程序进行处理。
13.如权利要求9所述的装置,其特征在于,请求量统计分析结果确定模块,具体用于:
由全局序号管理子程序异步调用请求统计分析子程序,将请求统计分析结果输入请求统计分析子程序对请求量进行统计分析,确定请求量统计分析结果。
14.如权利要求13所述的装置,其特征在于,缓存容量和缓存阈值调整模块,具体用于:
将缓存容量控制子程序在后台常驻运行;
从请求统计分析子程序中获取请求量统计分析结果;
利用缓存容量控制子程序,根据请求量统计分析结果,采用自适应控制算法进行计算,确定缓存容量调整结果和缓存阈值调整结果;
根据缓存容量调整结果和缓存阈值调整结果,通过全局序号缓存管理子程序调整分布式缓存的缓存容量和缓存阈值。
15.如权利要求14所述的装置,其特征在于,缓存容量和缓存阈值调整模块,还用于:
将缓存容量调整结果和缓存阈值调整结果输入全局序号缓存管理子程序;
根据缓存容量调整结果和当前分布式缓存的缓存容量大小,通过全局序号缓存管理子程序判断是否需要进行缓存容量调整;
当缓存容量调整结果大于当前分布式缓存的缓存容量大小时,将当前分布式缓存的缓存容量大小的值调整为等于缓存容量调整结果的值;
当缓存容量调整结果小于等于当前分布式缓存的缓存容量大小时,阶梯下调当前分布式缓存的缓存容量;
根据缓存阈值调整结果和当前分布式缓存的缓存阈值大小,通过全局序号缓存管理子程序判断是否需要进行缓存阈值调整;
当缓存阈值调整结果大于当前分布式缓存的缓存阈值大小时,将当前分布式缓存的缓存阈值大小的值调整为等于缓存阈值调整结果的值;
当缓存阈值调整结果小于等于当前分布式缓存的缓存阈值大小时,阶梯下调当前分布式缓存的缓存阈值。
16.如权利要求9所述的装置,其特征在于,全局唯一序号动态批量加载模块,具体用于:
读取分布式缓存当前的缓存容量和缓存阈值;
根据当前剩余可用序号个数以及分布式缓存当前的缓存容量和缓存阈值,判断是否需要批量加载全局唯一序号至分布式缓存;
如果需要批量加载全局唯一序号,则触发全局序号批量管理子程序,异步的从数据库中动态批量获取全局唯一序号;
将批量获取的全局唯一序号存储至分布式缓存。
17.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8任一项所述方法。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行实现权利要求1至8任一项所述方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110948621.2A CN113641674B (zh) | 2021-08-18 | 2021-08-18 | 一种自适应全局序号发生方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110948621.2A CN113641674B (zh) | 2021-08-18 | 2021-08-18 | 一种自适应全局序号发生方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113641674A true CN113641674A (zh) | 2021-11-12 |
CN113641674B CN113641674B (zh) | 2024-02-23 |
Family
ID=78422604
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110948621.2A Active CN113641674B (zh) | 2021-08-18 | 2021-08-18 | 一种自适应全局序号发生方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113641674B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114281872A (zh) * | 2022-03-07 | 2022-04-05 | 广联达科技股份有限公司 | 分布式序列号的生成方法、装置、设备及可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107273050A (zh) * | 2012-11-08 | 2017-10-20 | Dssd股份有限公司 | 用于采用一致性散列的全局命名空间的方法 |
CN111949730A (zh) * | 2020-08-12 | 2020-11-17 | 中国银行股份有限公司 | 分布式全局序列号实现方法及序列分发器 |
CN112102040A (zh) * | 2020-09-27 | 2020-12-18 | 中国建设银行股份有限公司 | 一种分布式环境下全局库存控制方法及系统 |
CN112395313A (zh) * | 2019-08-16 | 2021-02-23 | 阿里巴巴集团控股有限公司 | 全局序列生成方法、装置、电子设备及计算机存储介质 |
-
2021
- 2021-08-18 CN CN202110948621.2A patent/CN113641674B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107273050A (zh) * | 2012-11-08 | 2017-10-20 | Dssd股份有限公司 | 用于采用一致性散列的全局命名空间的方法 |
CN112395313A (zh) * | 2019-08-16 | 2021-02-23 | 阿里巴巴集团控股有限公司 | 全局序列生成方法、装置、电子设备及计算机存储介质 |
CN111949730A (zh) * | 2020-08-12 | 2020-11-17 | 中国银行股份有限公司 | 分布式全局序列号实现方法及序列分发器 |
CN112102040A (zh) * | 2020-09-27 | 2020-12-18 | 中国建设银行股份有限公司 | 一种分布式环境下全局库存控制方法及系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114281872A (zh) * | 2022-03-07 | 2022-04-05 | 广联达科技股份有限公司 | 分布式序列号的生成方法、装置、设备及可读存储介质 |
CN114281872B (zh) * | 2022-03-07 | 2022-05-24 | 广联达科技股份有限公司 | 分布式序列号的生成方法、装置、设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113641674B (zh) | 2024-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021159638A1 (zh) | 集群队列资源的调度方法、装置、设备及存储介质 | |
CN108205469B (zh) | 一种基于MapReduce的资源分配方法及服务器 | |
CN111190703B (zh) | 实时数据处理方法、装置、计算机设备和存储介质 | |
CN112882818A (zh) | 任务动态调整方法、装置以及设备 | |
CN112181613A (zh) | 异构资源分布式计算平台批量任务调度方法及存储介质 | |
CN115033356B (zh) | 一种基于异构可重构的动态资源调度方法及系统 | |
CN115509951A (zh) | 内存回收方法、装置、电子设备及存储介质 | |
CN113641674B (zh) | 一种自适应全局序号发生方法和装置 | |
CN116227599A (zh) | 一种推理模型的优化方法、装置、电子设备及存储介质 | |
CN111459682B (zh) | 频率调整方法、装置、电子设备以及存储介质 | |
CN112771546A (zh) | 运算加速器和压缩方法 | |
CN113010262A (zh) | 一种基于云计算的内存优化方法 | |
CN111367645A (zh) | 一种实时任务调度控制方法、系统、设备及可读存储介质 | |
CN115718603A (zh) | 一种Python模型分布式在线部署方法及系统 | |
CN113792079B (zh) | 数据查询方法、装置、计算机设备和存储介质 | |
CN113419863B (zh) | 一种基于节点能力的数据分配处理方法及装置 | |
CN115130672A (zh) | 一种软硬件协同优化卷积神经网络计算的方法及装置 | |
CN112631771A (zh) | 一种大数据系统的并行处理方法 | |
CN114860449A (zh) | 数据处理方法、装置、设备和存储介质 | |
CN114253688A (zh) | 在云环境下应用负载重调度的方法及应用 | |
CN113282405B (zh) | 一种负载调整的优化方法及终端 | |
CN115905236B (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN111968190B (zh) | 游戏贴图的压缩方法、装置和电子设备 | |
CN113448708B (zh) | 异步等待时长优化方法、装置、计算机设备和存储介质 | |
CN114610575B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |