CN112328392B - 一种数据处理方法及相关设备 - Google Patents
一种数据处理方法及相关设备 Download PDFInfo
- Publication number
- CN112328392B CN112328392B CN202011164980.0A CN202011164980A CN112328392B CN 112328392 B CN112328392 B CN 112328392B CN 202011164980 A CN202011164980 A CN 202011164980A CN 112328392 B CN112328392 B CN 112328392B
- Authority
- CN
- China
- Prior art keywords
- key value
- value pair
- service request
- current thread
- threads
- 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.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 18
- 238000000034 method Methods 0.000 claims abstract description 32
- 230000000903 blocking effect Effects 0.000 claims description 6
- 230000008569 process Effects 0.000 description 11
- 238000004590 computer program Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000005059 dormancy Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000004617 sleep duration Effects 0.000 description 1
- 230000004622 sleep time Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/02—Banking, e.g. interest calculation or account maintenance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5018—Thread allocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5021—Priority
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- General Engineering & Computer Science (AREA)
- Development Economics (AREA)
- General Business, Economics & Management (AREA)
- Technology Law (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Economics (AREA)
- Mobile Radio Communication Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种数据处理方法及相关设备,可以使得业务请求的优先级控制方式更加灵活。该方法包括:根据线程轮询的方式调用当前线程访问键值存储系统,以获取键值存储系统中排序分数最高的第一键值对,键值存储系统中存储有包括当前线程在内的多个线程的键值对以及多个线程的键值对的排序分数,第一键值对包含第一键值对对应的第一业务请求的标识,第一键值对为多个线程的键值对中的任意一个键值对;判断当前线程的累计等待时长是否超时;若当前线程的累计等待时长未超时,则根据第一业务请求的标识判断第一业务请求与当前线程是否匹配;若第一业务请求与当前线程相匹配,则根据第一业务请求执行相应的操作。
Description
技术领域
本申请涉及通信领域,尤其涉及一种数据处理方法及相关设备。
背景技术
在银企直联系统中,由于前置机(前置机是银行部署在企业端的客户端程序,主要用于对接银行银企直联系统接口)性能限制最大并发数量,无法保证业务请求能够高并发处理,因此会通过前置机锁(前置机锁,是一种分布式锁,用于控制业务中台多个实例进程向银行前置机并行提交请求数量)来控制业务请求对前置机资源的占用。
不同业务种类的请求,对前置机资源占用情况不尽相同,但业务类型存在一定重要性划分,例如在某时间段内,付款与同步付款,相比较于余额查询更为重要。在付款业务处理流程中,通过对用户的付款业务设置付款标记,可以实现对付款类请求进行优先处理的控制。在其他业务处理流程中,在获取前置机锁之前,需要确认系统中是否存在付款标记,如果存在付款标记,就被阻塞,直到付款标记消失才能够进行分布式锁的竞争。
但是,上述标记方式控制粒度较粗,只能针对于某类业务例如付款请求,不具备一般性,无法做到灵活针对各种业务请求的优先级控制。
发明内容
本申请提供了一种数据处理方法及相关设备,业务请求并不限定于某种业务请求,只需要通过排序分数的方式,即可以实现对业务请求的优先级控制,可以使得业务请求的优先级控制方法更加灵活。
本申请第一方面提供了一种数据处理方法,包括:
根据线程轮询的方式调用当前线程访问键值存储系统,以获取所述键值存储系统中排序分数最高的第一键值对,所述键值存储系统中存储有包括所述当前线程在内的多个线程的键值对以及所述多个线程的键值对的排序分数,第一键值对包含所述第一键值对对应的第一业务请求的标识,所述第一键值对为所述多个线程的键值对中的任意一个键值对;
判断所述当前线程的累计等待时长是否超时;
若所述当前线程的累计等待时长未超时,则根据所述第一业务请求的标识判断所述第一业务请求与所述当前线程是否匹配;
若所述第一业务请求与所述当前线程相匹配,则根据所述第一业务请求执行相应的操作。
可选地,所述方法还包括:
生成所述多个线程的业务请求对应的第二键值对,所述多个线程的业务请求中携带时间戳;
根据业务优先级策略生成所述多个线程的业务请求对应的优先级数值;
根据所述优先级数值、所述时间戳生成所述第二键值对的排序分数;
将所述第二键值对以及所述第二键值对的排序分数存储至所述键值存储系统。
可选地,所述方法还包括:
获取预设时段内目标账户的业务请求的统计结果;
根据所述统计结果确定所述目标账户在所述预设时间内偏重的目标业务类型;
根据所述目标业务类型调整所述目标账户对应的所述业务优先级策略中所述第一业务类型的比重。
可选地,所述排序分数包括整数部分以及小数部分,所述根据所述优先级数值、所述时间戳生成所述第一键值对的排序分数包括:
将所述优先级数值确定为所述整数部分;
将所述时间戳与预设时刻的差值确定为所述小数部分;
根据所述整数部分以及所述小数部分生成所述第二键值对的排序分数。
可选地,所述根据所述第一业务请求执行相应的操作包括:
从所述键值存储系统中删除所述第一键值对;
控制所述当前线程跳出阻塞;
基于跳出阻塞后的所述当前线程发送所述第一业务请求。
可选地,所述方法还包括:
若所述当前线程的累计等待时长已超时,则将所述当前线程对应的键值对从所述键值存储系统中删除。
本申请第二方面提供了一种数据处理装置,包括:
获取单元,用于根据线程轮询的方式调用当前线程访问键值存储系统,以获取所述键值存储系统中排序分数最高的第一键值对,所述键值存储系统中存储有包括所述当前线程在内的多个线程的键值对以及所述多个线程的键值对的排序分数,第一键值对包含所述第一键值对对应的第一业务请求的标识,所述第一键值对为所述多个线程的键值对中的任意一个键值对;
判断单元,用于判断所述当前线程的累计等待时长是否超时;
所述判断单元,还用于若所述当前线程的累计等待时长未超时,则根据所述第一业务请求的标识判断所述第一业务请求与所述当前线程是否匹配;
处理单元,用于若所述第一业务请求与所述当前线程相匹配,则根据所述第一业务请求执行相应的操作。
可选地,所述处理单元还用于:
生成所述多个线程的业务请求对应的第二键值对,所述多个线程的业务请求中携带时间戳;
根据业务优先级策略生成所述多个线程的业务请求对应的优先级数值;
根据所述优先级数值、所述时间戳生成所述第二键值对的排序分数;
将所述第二键值对以及所述第二键值对的排序分数存储至所述键值存储系统。
可选地,所述处理单元还用于:
获取预设时段内目标账户的业务请求的统计结果;
根据所述统计结果确定所述目标账户在所述预设时间内偏重的目标业务类型;
根据所述目标业务类型调整所述目标账户对应的所述业务优先级策略中所述第一业务类型的比重。
可选地,所述排序分数包括整数部分以及小数部分,所述处理单元根据所述优先级数值、所述时间戳生成所述第一键值对的排序分数包括:
将所述优先级数值确定为所述整数部分;
将所述时间戳与预设时刻的差值确定为所述小数部分;
根据所述整数部分以及所述小数部分生成所述第二键值对的排序分数。
可选地,所述处理单元根据所述第一业务请求执行相应的操作包括:
从所述键值存储系统中删除所述第一键值对;
控制所述当前线程跳出阻塞;
基于跳出阻塞后的所述当前线程发送所述第一业务请求。
所述处理单元,还用于若所述当前线程的累计等待时长已超时,则将所述当前线程对应的键值对从所述键值存储系统中删除。
本申请第三方面提供了一种计算机装置,其包括至少一个连接的处理器和存储器,其中,所述存储器用于存储程序代码,所述程序代码由所述处理器加载并执行以实现上述所述的数据处理方法的步骤。
本申请第四方面提供了一种计算机可读存储介质,其包括指令,当其在计算机上运行时,使得计算机执行上述所述的数据处理方法的步骤。
综上所述,可以看出,本申请提供的实施例中,数据处理装置可以通过线程轮询的方式调用当前线程访问键值存储系统,以获取键值存储系统中排序分数最高的第一键值对,其中,该键值存储系统中存储有包括当前线程在内的多个线程的键值对以及多个线程的键值对的排序分数,第一键值对包含第一键值对对应的第一业务请求的标识,第一键值对为多个线程的键值对中的任意一个键值对,之后在当前线程未超时且第一业务请求与当前线程相匹配时,根据该第一业务请求执行相应的操作。可以看出,本申请提供的实施例中的业务请求并不限定于某种业务请求,只需要通过排序分数的方式,即可以实现对业务请求的优先级控制。
附图说明
图1为本申请实施例提供的数据处理方法的流程示意图;
图2为本请实施例提供的数据处理装置的虚拟结构示意图;
图3为本申请实施例提供的服务器的硬件结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块,本申请中所出现的模块的划分,仅仅是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式,例如多个模块可以结合成或集成在另一个系统中,或一些特征向量可以忽略,或不执行,另外,所显示的或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,模块之间的间接耦合或通信连接可以是电性或其他类似的形式,本申请中均不作限定。并且,作为分离部件说明的模块或子模块可以是也可以不是物理上的分离,可以是也可以不是物理模块,或者可以分布到多个电路模块中,可以根据实际的需要选择其中的部分或全部模块来实现本申请方案的目的。
下面从数据处理装置的角度对本申请提供的数据处理方法进行说明,该数据处理装置可以为服务器,也可以为服务器中的服务单元,具体不做限定。
请参阅图1,图1为本申请实施例提供的数据处理方法的流程示意图,包括:
101、根据线程轮询的方式调用当前线程访问键值存储系统,以获取键值存储系统中排序分数最高的第一键值对。
本实施例中,数据处理装置可以根据线程轮询的方式调用当前线程访问键值存储系统,以获取键值存储系统中排序分数最高的第一键值对,其中,该键值存储系统中存储有包括当前线程在内的多个线程的键值对以及多个线程的键值对的排序分数,第一键值对包含第一键值对对应的第一业务请求的标识,第一键值对为多个线程的键值对中的任意一个键值对。所述键值存储系统为Redis数据库,通常适用于分布式架构的系统,可以起到缓存、集合排序、分布式锁的作用,用于Web服务器和数据库之间,充当缓存系统,因为其具有持久化功能,可以连接数据库,大量的数据放在Redis里面缓存,Web服务器或者应用与Redis缓存进行交互,可提高程序执行的性能。
一个实施例中,数据处理装置可以生成多个线程的业务请求对应的第二键值对,该多个线程的业务请求中携带时间戳;
根据业务优先级策略生成多个线程的业务请求对应的优先级数值;
根据优先级数值、时间戳生成第二键值对的排序分数;
将第二键值对以及第二键值对的排序分数存储至键值存储系统。
本实施例中,数据处理装置可以在网关入口处,为多个线程的每一个业务请求生成唯一编号,记作requestID,同时以租户号(公有云环境上的客户都会有唯一的租户号来作区分,租户号代表客户的标识)+银行版本+前置机的组合作为key(可以理解的是,租户号、银行版本和前置机组合作为key值,可以确认该业务请求所属的分布式锁控制范围),requestID作为value生成第二键值对,并添加到Redis(其中,Redis中的键值对的主键都是租户号+银行版本+前置机,代表这个主键下的业务请求全部从属于该租户号的银行前置机,value为每个业务请求的requestID),之后根据预先定义的业务优先级策略,确定多个线程的每一个业务请求的优先级数值,记作P,并打上当前的时间戳T。
根据该优先级数值以及时间戳生成第二键值对的排序分数,其中,该排序分数包括整数部分以及小数部分,可以将优先级数值确定为整数部分,将时间戳与预设时刻的差值确定为小数部分,根据整数部分以及小数部分生成第二键值对的排序分数。也就是说,作为排序依据的排序分数,需要进行相应的处理,以未来的某个时间点(也即预设时刻)作为一个时间戳基点B,例如“2099-01-01 00:00:00.000”,计算出时间戳基点B与时间戳T的差值D,然后将该差值D作为小数部分,优先级数值P作为整数部分,组合成一个Double类型的数字作为排序分数。可以理解的是,该第二键值对的排序分数可以与第二键值对进行关联存储至键值存储系统,也可以单独进行存储,另外,此处以组合成一个Double类型的数字作为排序排序分数,当然也还可以是其他类型的数值,例如分数,P作为分母,D作为分子(在以分数作为排序分数时,优先级策略也要相应的进行调整,也即此时的优先级策略为优先级越高的,P越低),只要能得到一个具体的排序分数即可,具体不做限定。
102、判断当前线程的累计等待时长是否超时,若否,则执行步骤103,若是,则执行步骤105。
本实施例中,每一个线程都要从Redis中获取排序分数第一的键值对对应的流水号(也即该排序分数第一的键值对的业务请求的编号requestID),然后和自己的流水号进行匹配,如果不一致,就需要等待下一次匹配。为了降低访问Redis的频率,可以设置一个线程休眠时间;数据处理装置判断当前线程的累计等待时长是否超时,具体的可以判断该当前线程总的休眠时间有多少,并与预先设置的超时时长进行对比,以判断当前线程的累计等待时长是否超时,若当前线程的累计等待时长超时,则执行步骤105,若当前线程的累计等待时长未超时,则执行步骤103。
103、根据第一业务请求的标识判断第一业务请求与当前线程是否匹配,若是,则执行步骤104,若否,则执行步骤105。
本实施例中,数据处理装置在确定当前线程的累计等待时长未超时时,可以根据第一业务请求的标识(也即在网关出为第一业务请求生成的唯一编号requestID)判断第一业务请求与当前线程是否匹配,由于在网关入口处为每一个业务请求生成唯一编号requestID,此时可以根据第一业务请求的requestID判断该第一业务请求是否属于当前线程,若是,则执行步骤104,若否,则执行步骤105。
104、根据第一业务请求执行相应的操作。
本实施例中,数据处理装置在确定第一业务请求属于当前线程时,从键值存储系统中删除第一键值对,并控制当前线程跳出阻塞,之后基于跳出阻塞后的当前线程发送第一业务请求,以执行后续的操作。
需要说明的是,该第一业务请求可以为付款业务请求,也还可以为同步付款业务请求,当然也可以为其他的业务请求,例如余额查询业务,也就是说,该第一业务请求针对的可以是付款业务,也可以是非付款业务,只要是涉及到与银企进行交互的业务均可以通过上述技术方案来执行,具体不做限定。下面以该第一业务请求为付款业务请求进行说明:
在获取到键值存储系统中排序分数最高的第一键值对之后,且当前线程的累计等待时长未超时,且该付款业务请求的标识与当前线程相匹配时,可以从Redis中删除第一键值对,并控制当前线程跳出阻塞,通过跳出阻塞后的当前线程发送该付款业务请求,之后将该付款业务请求对应的标识写入Redis,获取前置机锁,并与银行的前置机进行交互,在交互完成(也即完成该付款业务请求对应的业务之后)后释放前置机锁,并清理Redis中该付款请求对应的标识,完成该次付款业务。
105、执行其他操作。
本实施例中,若当前线程的累计等待时长已超时,也就是说若当前线程的休眠时长已经超过了预先设置的超时时长,此时,可以将该当前线程对应的键值对从键值存储系统中删除。若该第一业务请求与当前线程不匹配,则控制当前线程进行休眠状态,等待下一次的轮询。
一个实施例中,数据处理装置可以获取预设时段内目标账户的业务请求的统计结果;
根据统计结果确定目标账户在预设时间内偏重的目标业务类型;
根据目标业务类型调整目标账户对应的业务优先级策略中第一业务类型的比重。
本实施例中,对于业务请求的优先级策略的定义,可以设置定义器装置,通过定时调度获取预设时段内(该预设时段为当前的一段时间,1个小时,当然也还可以是其他时长,例如2小时,具体不限定)目标账户的各种类型的业务请求的统计结果,并判断出目标账户在预设时段内偏重的业务类型,每个目标账户的业务请求不尽相同,将当前一段时间内的历史数据作为判断依据,确认当前一段时间内目标账户偏重于哪种业务类型,提高该种业务类型的业务请求的权重,之后根据统计的比重高低来划分业务优先级,实现优先级策略的自适应设置。
综上所述,可以看出,本申请提供的实施例中,数据处理装置可以通过线程轮询的方式调用当前线程访问键值存储系统,以获取键值存储系统中排序分数最高的第一键值对,其中,该键值存储系统中存储有包括当前线程在内的多个线程的键值对以及多个线程的键值对的排序分数,第一键值对包含第一键值对对应的第一业务请求的标识,第一键值对为多个线程的键值对中的任意一个键值对,之后在当前线程未超时且第一业务请求与当前线程相匹配时,根据该第一业务请求执行相应的操作。可以看出,本申请提供的实施例中的业务请求并不限定于某种业务请求,只需要通过排序分数的方式,即可以实现对业务请求的优先级控制。
上面从的数据处理方法的角度对本申请进行说明,下面从数据处理装置的角度对本申请进行说明。
请参阅图2,图2为本申请实施例提供的一种数据处理装置的虚拟结构示意图,包括:
获取单元201,用于根据线程轮询的方式调用当前线程访问键值存储系统,以获取所述键值存储系统中排序分数最高的第一键值对,所述键值存储系统中存储有包括所述当前线程在内的多个线程的键值对以及所述多个线程的键值对的排序分数,第一键值对包含所述第一键值对对应的第一业务请求的标识,所述第一键值对为所述多个线程的键值对中的任意一个键值对;
判断单元202,用于判断所述当前线程的累计等待时长是否超时;
所述判断单元202,还用于若所述当前线程的累计等待时长未超时,则根据所述第一业务请求的标识判断所述第一业务请求与所述当前线程是否匹配;
处理单元203,用于若所述第一业务请求与所述当前线程相匹配,则根据所述第一业务请求执行相应的操作。
可选地,所述处理单元203还用于:
生成所述多个线程的业务请求对应的第二键值对,所述多个线程的业务请求中携带时间戳;
根据业务优先级策略生成所述多个线程的业务请求对应的优先级数值;
根据所述优先级数值、所述时间戳生成所述第二键值对的排序分数;
将所述第二键值对以及所述第二键值对的排序分数存储至所述键值存储系统。
可选地,所述处理单元203还用于:
获取预设时段内目标账户的业务请求的统计结果;
根据所述统计结果确定所述目标账户在所述预设时间内偏重的目标业务类型;
根据所述目标业务类型调整所述目标账户对应的所述业务优先级策略中所述第一业务类型的比重。
可选地,所述排序分数包括整数部分以及小数部分,所述处理单元203根据所述优先级数值、所述时间戳生成所述第一键值对的排序分数包括:
将所述优先级数值确定为所述整数部分;
将所述时间戳与预设时刻的差值确定为所述小数部分;
根据所述整数部分以及所述小数部分生成所述第二键值对的排序分数。
可选地,所述处理单元203根据所述第一业务请求执行相应的操作包括:
从所述键值存储系统中删除所述第一键值对;
控制所述当前线程跳出阻塞;
基于跳出阻塞后的所述当前线程发送所述第一业务请求。
所述处理单元203,还用于若所述当前线程的累计等待时长已超时,则将所述当前线程对应的键值对从所述键值存储系统中删除。
图3是本申请实施例提供的一种服务器结构示意图,该服务器300可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processingunits,CPU)322(例如,一个或一个以上处理器)和存储器332,一个或一个以上存储应用程序342或数据344的存储介质330(例如一个或一个以上海量存储设备)。其中,存储器332和存储介质330可以是短暂存储或持久存储。存储在存储介质330的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器322可以设置为与存储介质330通信,在服务器300上执行存储介质330中的一系列指令操作。
服务器300还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述实施例中由数据处理装置所执行的步骤可以基于该图3所示的服务器结构。
本申请实施例还提供了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现上述所述数据处理方法的步骤。
本申请实施例还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述所述数据处理方法的步骤。
本申请实施例还提供了一种终端设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,所述程序代码由所述处理器加载并执行以实现上述所述数据处理方法的步骤。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行上述所述数据处理方法的步骤。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (8)
1.一种数据处理方法,其特征在于,包括:根据线程轮询的方式调用当前线程访问键值存储系统,以获取所述键值存储系统中排序分数最高的第一键值对,所述键值存储系统中存储有包括所述当前线程在内的多个线程的键值对以及所述多个线程的键值对的排序分数,第一键值对包含所述第一键值对对应的第一业务请求的标识,所述第一键值对为所述多个线程的键值对中的任意一个键值对;
判断所述当前线程的累计等待时长是否超时;
若所述当前线程的累计等待时长未超时,则根据所述第一业务请求的标识判断所述第一业务请求与所述当前线程是否匹配;
若所述第一业务请求与所述当前线程相匹配,则根据所述第一业务请求执行相应的操作;
若所述第一业务请求与所述当前线程不匹配,则控制所述当前线程进行休眠状态,等待下一次线程轮询;
生成所述多个线程的业务请求对应的第二键值对,所述多个线程的业务请求中携带时间戳;
根据业务优先级策略生成所述多个线程的业务请求对应的优先级数值;
根据所述优先级数值、所述时间戳生成所述第二键值对的排序分数;
将所述第二键值对以及所述第二键值对的排序分数存储至所述键值存储系统。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取预设时间内目标账户的业务请求的统计结果;
根据所述统计结果确定所述目标账户在所述预设时间内偏重的目标业务类型;
根据所述目标业务类型调整所述目标账户对应的所述业务优先级策略中所述第一业务请求的比重。
3.根据权利要求1所述的方法,其特征在于,所述排序分数包括整数部分以及小数部分,所述根据所述优先级数值、所述时间戳生成所述第一键值对的排序分数包括:
将所述优先级数值确定为所述整数部分;
将所述时间戳与预设时刻的差值确定为所述小数部分;
根据所述整数部分以及所述小数部分生成所述第二键值对的排序分数。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述根据所述第一业务请求执行相应的操作包括:
从所述键值存储系统中删除所述第一键值对;
控制所述当前线程跳出阻塞;
基于跳出阻塞后的所述当前线程发送所述第一业务请求。
5.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:
若所述当前线程的累计等待时长已超时,则将所述当前线程对应的键值对从所述键值存储系统中删除。
6.一种数据处理装置,其特征在于,包括:
获取单元,用于根据线程轮询的方式调用当前线程访问键值存储系统,以获取所述键值存储系统中排序分数最高的第一键值对,所述键值存储系统中存储有包括所述当前线程在内的多个线程的键值对以及所述多个线程的键值对的排序分数,第一键值对包含所述第一键值对对应的第一业务请求的标识,所述第一键值对为所述多个线程的键值对中的任意一个键值对;
判断单元,用于判断所述当前线程的累计等待时长是否超时;
所述判断单元,还用于若所述当前线程的累计等待时长未超时,则根据所述第一业务请求的标识判断所述第一业务请求与所述当前线程是否匹配;
处理单元,用于若所述第一业务请求与所述当前线程相匹配,则根据所述第一业务请求执行相应的操作;
所述处理单元,还用于若所述第一业务请求与所述当前线程不匹配,则控制所述当前线程进行休眠状态,等待下一次线程轮询;
所述处理单元还用于:
生成所述多个线程的业务请求对应的第二键值对,所述多个线程的业务请求中携带时间戳;
根据业务优先级策略生成所述多个线程的业务请求对应的优先级数值;
根据所述优先级数值、所述时间戳生成所述第二键值对的排序分数;
将所述第二键值对以及所述第二键值对的排序分数存储至所述键值存储系统。
7.一种计算机装置,其特征在于,包括:
至少一个连接的处理器和存储器,其中,所述存储器用于存储程序代码,所述程序代码由所述处理器加载并执行以实现上述权利要求1至5中任一项所述的数据处理方法的步骤。
8.一种计算机可读存储介质,其特征在于,包括指令,当所述指令在计算机上运行时,使得计算机执行上述权利要求1至5中任一项所述的数据处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011164980.0A CN112328392B (zh) | 2020-10-27 | 2020-10-27 | 一种数据处理方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011164980.0A CN112328392B (zh) | 2020-10-27 | 2020-10-27 | 一种数据处理方法及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112328392A CN112328392A (zh) | 2021-02-05 |
CN112328392B true CN112328392B (zh) | 2024-05-28 |
Family
ID=74296132
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011164980.0A Active CN112328392B (zh) | 2020-10-27 | 2020-10-27 | 一种数据处理方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112328392B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113434272B (zh) * | 2021-06-25 | 2024-03-22 | 中国工商银行股份有限公司 | 一种基于分布式缓存的线程调度方法和装置 |
CN116521351B (zh) * | 2023-07-03 | 2023-09-05 | 建信金融科技有限责任公司 | 多线程任务调度方法、装置、存储介质及处理器 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101510164A (zh) * | 2009-03-25 | 2009-08-19 | 北京中星微电子有限公司 | 一种多业务调度方法、装置与系统 |
CN102981904A (zh) * | 2011-09-02 | 2013-03-20 | 阿里巴巴集团控股有限公司 | 一种任务调度方法及系统 |
CN103677752A (zh) * | 2012-09-19 | 2014-03-26 | 腾讯科技(深圳)有限公司 | 基于分布式数据的并发处理方法和系统 |
CN109918141A (zh) * | 2019-03-15 | 2019-06-21 | Oppo广东移动通信有限公司 | 线程执行方法、装置、终端及存储介质 |
WO2019154353A1 (zh) * | 2018-02-07 | 2019-08-15 | 中兴通讯股份有限公司 | 系统运行参数查询方法、匹配方法、装置及节点设备 |
US10474512B1 (en) * | 2016-09-29 | 2019-11-12 | Amazon Technologies, Inc. | Inter-process intra-application communications |
CN110489217A (zh) * | 2019-07-11 | 2019-11-22 | 新华三大数据技术有限公司 | 一种任务调度方法及系统 |
CN110837401A (zh) * | 2018-08-16 | 2020-02-25 | 苏宁易购集团股份有限公司 | 一种java线程池分级处理方法和装置 |
CN110955508A (zh) * | 2019-11-28 | 2020-04-03 | 广州鼎甲计算机科技有限公司 | 基于分布式架构的异步任务调度方法、装置和计算机设备 |
CN110990142A (zh) * | 2019-12-13 | 2020-04-10 | 上海智臻智能网络科技股份有限公司 | 并发任务处理方法、装置、计算机设备和存储介质 |
CN111106955A (zh) * | 2019-12-17 | 2020-05-05 | 国网智能科技股份有限公司 | 一种智能站通信网关机及通信方法 |
CN111240864A (zh) * | 2020-01-13 | 2020-06-05 | 中国平安财产保险股份有限公司 | 异步任务处理方法、装置、设备及计算机可读存储介质 |
CN111402000A (zh) * | 2020-03-13 | 2020-07-10 | 苏宁云计算有限公司 | 一种业务页面的生成方法、装置、系统及计算机系统 |
CN111597019A (zh) * | 2020-04-22 | 2020-08-28 | 深圳中兴网信科技有限公司 | 调用请求处理方法、装置、终端和计算机可读存储介质 |
-
2020
- 2020-10-27 CN CN202011164980.0A patent/CN112328392B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101510164A (zh) * | 2009-03-25 | 2009-08-19 | 北京中星微电子有限公司 | 一种多业务调度方法、装置与系统 |
CN102981904A (zh) * | 2011-09-02 | 2013-03-20 | 阿里巴巴集团控股有限公司 | 一种任务调度方法及系统 |
CN103677752A (zh) * | 2012-09-19 | 2014-03-26 | 腾讯科技(深圳)有限公司 | 基于分布式数据的并发处理方法和系统 |
US10474512B1 (en) * | 2016-09-29 | 2019-11-12 | Amazon Technologies, Inc. | Inter-process intra-application communications |
WO2019154353A1 (zh) * | 2018-02-07 | 2019-08-15 | 中兴通讯股份有限公司 | 系统运行参数查询方法、匹配方法、装置及节点设备 |
CN110837401A (zh) * | 2018-08-16 | 2020-02-25 | 苏宁易购集团股份有限公司 | 一种java线程池分级处理方法和装置 |
CN109918141A (zh) * | 2019-03-15 | 2019-06-21 | Oppo广东移动通信有限公司 | 线程执行方法、装置、终端及存储介质 |
CN110489217A (zh) * | 2019-07-11 | 2019-11-22 | 新华三大数据技术有限公司 | 一种任务调度方法及系统 |
CN110955508A (zh) * | 2019-11-28 | 2020-04-03 | 广州鼎甲计算机科技有限公司 | 基于分布式架构的异步任务调度方法、装置和计算机设备 |
CN110990142A (zh) * | 2019-12-13 | 2020-04-10 | 上海智臻智能网络科技股份有限公司 | 并发任务处理方法、装置、计算机设备和存储介质 |
CN111106955A (zh) * | 2019-12-17 | 2020-05-05 | 国网智能科技股份有限公司 | 一种智能站通信网关机及通信方法 |
CN111240864A (zh) * | 2020-01-13 | 2020-06-05 | 中国平安财产保险股份有限公司 | 异步任务处理方法、装置、设备及计算机可读存储介质 |
CN111402000A (zh) * | 2020-03-13 | 2020-07-10 | 苏宁云计算有限公司 | 一种业务页面的生成方法、装置、系统及计算机系统 |
CN111597019A (zh) * | 2020-04-22 | 2020-08-28 | 深圳中兴网信科技有限公司 | 调用请求处理方法、装置、终端和计算机可读存储介质 |
Non-Patent Citations (4)
Title |
---|
Advection-Based Sparse Data Management for Visualizing Unsteady Flow;Hanqi Guo;《IEEE Transactions on Visualization and Computer Graphics ( Volume: 20, Issue: 12, 31 December 2014)》;全文 * |
一种基于云计算架构的业务流程优化研究;赵曦;;微电子学与计算机(第03期);全文 * |
并发程序缺陷检测技术研究;薄莉莉;《中国优秀硕士论文全文数据库》;全文 * |
赵曦 ; .一种基于云计算架构的业务流程优化研究.微电子学与计算机.2013,(第03期),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN112328392A (zh) | 2021-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108427886B (zh) | 一种应用程序访问权限设置方法、系统、设备及可读介质 | |
US10225145B2 (en) | Method and device for updating client | |
US11159649B2 (en) | Systems and methods of rate limiting for a representational state transfer (REST) application programming interface (API) | |
US10430332B2 (en) | System and method for performance tuning of garbage collection algorithms | |
CN112766907B (zh) | 业务数据的处理方法、装置和服务器 | |
CN108776934B (zh) | 分布式数据计算方法、装置、计算机设备及可读存储介质 | |
CN107241380B (zh) | 用于基于时间调整的负载均衡的方法和设备 | |
CN111881133A (zh) | 存储桶管理方法、装置、计算机设备及可读存储介质 | |
CN112328392B (zh) | 一种数据处理方法及相关设备 | |
CN110445828B (zh) | 一种基于Redis的数据分布式处理方法及其相关设备 | |
US20200012602A1 (en) | Cache allocation method, and apparatus | |
CN110019255A (zh) | 数据查询方法、装置、服务器及存储介质 | |
CN111078733A (zh) | 批量任务处理方法、装置、计算机设备和存储介质 | |
CN110602227B (zh) | 一种智能合约管理的方法以及相关装置 | |
CN112165436A (zh) | 流量控制方法、装置及系统 | |
CN110839069A (zh) | 一种节点数据部署方法、部署节点、系统及介质 | |
CN111752961A (zh) | 一种数据处理方法及装置 | |
CN113010310B (zh) | 作业数据的处理方法、装置和服务器 | |
US20180150342A1 (en) | Smart self-healing service for data analytics systems | |
CN111901405B (zh) | 一种多节点监控方法、装置、电子设备及存储介质 | |
JP6550945B2 (ja) | 判定制御プログラム、判定制御方法及び仮想マシン管理装置 | |
CN107632926B (zh) | 业务数量统计方法、装置、设备及计算机可读存储介质 | |
CN108647102A (zh) | 异构系统的服务请求处理方法、装置和电子设备 | |
CN114116783A (zh) | 数据表操作请求处理方法、装置、服务器及存储介质 | |
CN105447699B (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 |