CN113312184A - 一种业务数据的处理方法及相关设备 - Google Patents
一种业务数据的处理方法及相关设备 Download PDFInfo
- Publication number
- CN113312184A CN113312184A CN202110632940.2A CN202110632940A CN113312184A CN 113312184 A CN113312184 A CN 113312184A CN 202110632940 A CN202110632940 A CN 202110632940A CN 113312184 A CN113312184 A CN 113312184A
- Authority
- CN
- China
- Prior art keywords
- processing
- service
- service request
- channel
- data
- 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
Links
Images
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/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/524—Deadlock detection or avoidance
-
- 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/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Telephonic Communication Services (AREA)
Abstract
本申请实施例公开了一种业务数据的处理方法及相关设备,该业务数据的处理方法包括:接收来自客户端的第一业务请求,响应于第一业务请求,根据预设规则确定第一处理队列;通过第一处理队列对应的第一数据处理通道对第一业务请求进行无锁处理,其中,第一数据处理通道用于以单进程方式对被分配的业务请求进行处理。采用本申请实施例可以提升业务处理速度。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种业务数据的处理方法及相关设备。
背景技术
在金融行业的交易过程中,对业务数据的处理速度是金融机构越来越重视的一个方面。
现有的技术中,采用集中交易处理,当接收到业务请求后,需要争抢资源来处理业务请求;并且通过数据库来存储业务数据,而业务数据的一致是由数据库行锁来保证的,处理速率较低,且成本较大。
发明内容
本发明实施例提供了业务数据的处理方法及相关设备,采用本申请实施例可以提升业务处理速度。
第一方面,本发明实施例提供了一种业务数据的处理方法,包括:接收来自客户端的第一业务请求,响应于所述第一业务请求,根据预设规则确定第一处理队列;通过所述第一处理队列对应的第一数据处理通道对所述第一业务请求进行无锁处理,其中,所述第一数据处理通道用于以单进程方式对被分配的业务请求进行处理。
基于第一方面,在其中一种可能的实现方式中,所述第一数据处理通道包括第一子通道和第二子通道,所述第一业务请求用于请求处理第一业务和第二业务;所述通过所述第一处理队列对应的第一数据处理通道对所述第一业务请求进行无锁处理,包括:通过所述第一子通道以单进程方式对所述第一业务进行无锁处理,得到第一业务处理结果;基于所述第一业务处理结果,通过所述第二子通道以单进程方式对所述第二业务进行无锁处理,所述第一业务与所述第二业务为流程上关联的业务。
基于第一方面,在其中一种可能的实现方式中,所述第一业务请求用于请求处理第一业务和第二业务;所述通过所述第一处理队列对应的第一数据处理通道对所述第一业务请求进行无锁处理,包括:通过所述第一处理队列对应的第一数据处理通道以单进程方式对所述第一业务进行无锁处理,得到第一业务处理结果。
基于第一方面,在其中一种可能的实现方式中,所述通过所述第一处理队列对应的第一数据处理通道以单进程方式对所述第一业务进行无锁处理,得到第一业务处理结果之后,还包括:基于所述第一业务处理结果,通过第二处理队列对应的第二数据处理通道以单进程方式对所述第二业务进行无锁处理,所述第一业务与所述第二业务为流程上关联的业务。
基于第一方面,在其中一种可能的实现方式中,所述第一业务请求携带有第一标识,所述将所述处理数据存储在所述内存数据库中之后,还包括:接收来自所述客户端的第二业务请求;若所述第二业务请求中携带的用户标识与所述第一业务请求中携带的用户标识相同,则通过所述第一数据处理通道对所述第二业务请求进行无锁处理。
基于第一方面,在其中一种可能的实现方式中,述第一业务请求为共享内存的业务请求,所述通过所述第一处理队列对应的第一数据处理通道对所述第一业务请求进行无锁处理之前,还包括:根据所述第一业务请求预先在需要共享数据的数据处理通道中分配共享内存空间,其中,所述共享内存空间用于供所述第一数据处理通道和其他至少一个数据处理通道使用。
基于第一方面,在其中一种可能的实现方式中,根据权利要求1-6任一项所述的方法,其特征在于,所述根据预设规则确定第一处理队列,包括:根据所述第一业务请求的业务类型从多个处理队列中确定对应的第一处理队列。
第二方面,本申请实施例提供了一种业务数据的处理装置,包括:接收单元,用于接收来自客户端的第一业务请求;响应单元,用于响应于所述第一业务请求,根据预设规则确定第一处理队列;处理单元,用于通过所述第一处理队列对应的第一数据处理通道对所述第一业务请求进行无锁处理,其中,所述第一数据处理通道用于以单进程方式对被分配的业务请求进行处理。
基于第二方面,在其中一种可能的实现方式中,所述第一数据处理通道包括第一子通道和第二子通道,所述第一业务请求用于请求处理第一业务和第二业务;所述处理单元具体用于:通过所述第一子通道以单进程方式对所述第一业务进行无锁处理,得到第一业务处理结果;基于所述第一业务处理结果,通过所述第子二通道以单进程方式对所述第二业务进行无锁处理,所述第一业务与所述第二业务为流程上关联的业务。
基于第二方面,在其中一种可能的实现方式中,所述第一业务请求用于请求处理第一业务和第二业务;所述处理单元具体用于:通过所述第一处理队列对应的第一数据处理通道以单进程方式对所述第一业务进行无锁处理,得到第一业务处理结果。
基于第二方面,在其中一种可能的实现方式中,所述处理单元具体用于通过所述第一处理队列对应的第一数据处理通道以单进程方式对所述第一业务进行无锁处理,得到第一业务处理结果之后,还包括:
第二处理队列,具体用于基于所述第一业务处理结果,通过第二处理队列对应的第二数据处理通道以单进程方式对所述第二业务进行无锁处理,所述第一业务与所述第二业务为流程上关联的业务。
基于第二方面,在其中一种可能的实现方式中,所述第一业务请求携带有第一标识,所述装置还包括:第二接收单元,具体用于:接收来自客户端的第二业务请求;
若所述第二业务请求中携带的用户标识与所述第一业务请求中携带的用户标识相同,则通过所述第一数据处理通道对所述第二业务请求进行无锁处理。
基于第二方面,在其中一种可能的实现方式中,所述第一业务请求为共享内存的业务请求,所述处理单元用于通过所述第一处理队列对应的第一数据处理通道对所述第一业务请求进行处理之前,还包括:
分配单元,具体用于根据所述第一业务请求预先在需要共享数据的数据处理通道中分配共享内存空间,其中,所述共享内存空间用于供所述第一数据处理通道和其他至少一个数据处理通道使用。
基于第二方面,在其中一种可能的实现方式中,所述响应单元,具体用于根据预设规则从多个处理队列中确定对应的第一处理队列
第三方面,本申请实施例提供了一种业务数据的处理设备,包括处理器,其中,所述处理器被配置用于调用存储程序,执行如第一方面所述的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有程序指令,所述程序指令当被处理器执行时使所述处理器执行如第一方面所述的方法。
本申请实施例可以通过响应接收到的第一业务请求,根据预设规则确定对应的处理队列,然后通过处理队列对应的数据处理通道以单进程方式对业务请求进行无锁处理,无锁处理可以降低对资源访问的冲突,提高进程的处理速度和效率。因此,通过本申请实施例可以提高对业务请求的数据处理能力,减少成本开销。
附图说明
为了更清楚地说明本申请实施例或背景技术中的技术方案,下面将对本申请实施例或背景技术中所需要使用的附图进行说明。
图1是本申请实施例提供的一种业务数据的处理方法的系统架构图;
图2是本申请实施例提供的一种业务数据的处理方法的流程示意图;
图2a是本申请实施例提供的一种业务数据的处理方法的架构示意图;
图2b是本申请实施例提供的另一种业务数据的处理方法的架构示意图;
图3是本申请实施例提供的一种业务数据的处理装置的结构示意图;
图4是本申请实施例提供的一种业务数据的处理设备的结构示意图。
具体实施方式
下面结合本申请实施例中的附图对本申请实施例进行描述。
本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
在本说明书中使用的术语“部件”、“模块”、“系统”等用于表示计算机相关的实体、硬件、固件、硬件和软件的组合、软件、或执行中的软件。例如,部件可以是但不限于,在处理器上运行的进程、处理器、对象、可执行文件、执行线程、程序和/或计算机。通过图示,在计算设备上运行的应用和计算设备都可以是部件。一个或多个部件可驻留在进程和/或执行线程中,部件可位于一个计算机上和/或分布在2个或更多个计算机之间。此外,这些部件可从在上面存储有各种数据结构的各种计算机可读介质执行。部件可例如根据具有一个或多个数据分组(例如来自与本地系统、分布式系统和/或网络间的另一部件交互的二个部件的数据,例如通过信号与其它系统交互的互联网)的信号通过本地和/或远程进程来通信。
请参见图1,图1是本申请实施例提供的一种业务数据的处理方法的系统架构图。从图1可以看出,该系统架构图可以包括终端设备100、网关101以及处理平台103。当用户通过终端设备100进行交易操作生成第一业务请求后,将第一业务请求接入网关101,由网关101将第一业务请求分发给处理平台103,在处理平台103接收到第一业务请求后,可以根据第一业务请求的业务类型从多个处理队列中确定对应的第一处理队列,然后通过第一处理队列对应的第一数据处理通道对第一业务请求进行无锁处理,其中,第一数据处理通道用于以单进程方式对被分配的业务请求进行无锁处理。可以理解的是,处理平台103中存在多个处理队列,多个处理队列分别对应各自的业务类型。
第一数据处理通道用于以单进程方式对被分配的业务请求进行处理,其中,单进程中的线程为单线程。因为在同一进程下只有一个线程,所以线程在处理数据的时候不需要通过行锁来控制内存数据的完整性和一致性,通过单进程(线程)来保证内存数据的完整性和一致性。
需要说明的是,进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的一个独立单位。线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源。一个进程可以包括多个线程。在本申请实施例中,一个进程里面有一个线程。
可选地,当处理平台100接收到第二业务请求时,若第二业务请求中携带的用户标识与第一业务请求中携带的用户标识相同,则可以通过第一数据处理通道处理第二业务请求。其中,用户标识可以是发起业务请求的用户的资产账号。通过这种处理方式可以保证对于同一资产账号的委托处理、委托确定以及成交回报等类型的业务请求可以在同一个处理队列中进行队列分发,从而可以保证对同一资产账号的业务请求的处理一致性。
可选地,若处理平台103处接收到的第一业务请求中为共享内存的业务请求,这时可以根据共享内存的业务请求预先在需要共享数据的数据处理通道中分配共享内存空间,其中,共享内存空间用于供第一数据处理通道和其他至少一个数据处理通道使用。共享内存的业务请求可以包括合同序号、额度等共享信息。因此,在第一处理队列对应的第一数据处理通道中对第一业务请求进行无锁处理的过程中不需要与其他数据通道共享数据,可以减少由于切换通道而带来的成本。
需要说明的是,终端设备100可以包括手机、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(mobile internet device,MID)、可穿戴设备(例如智能手表、智能手环等)等设备。
处理平台103可以是具有计算处理能力、数据传输能力以及存储能力的一个或多个电子设备,或者,一个服务器或多个服务器组成的服务器集群。
可以理解的是,图1中的系统架构只是本申请实施例中的一种示例性的实施方式,本申请实施例中的系统架构包括但不仅限于以上系统架构。
请参见图2,图2是本申请实施例提供的一种业务数据的处理方法的流程示意图,该方法包括但不限于如下步骤:
S201,处理平台接收来自客户端的第一业务请求。
具体地,用户通过终端设备(比如说手机、电脑等)进行某些操作(比如说买入股票A或者卖出股票B等操作)后可以生成第一业务请求,并将第一业务请求通过网关发送给处理平台。因此,处理平台可以接收来自客户端的第一业务请求。
步骤S202,处理平台响应于第一业务请求,根据预设规则确定第一处理队列。
具体地,由处理平台接收第一业务请求并根据预设规则确定对应的第一处理队列。预设规则可以是根据业务请求的业务类型来设定,对于金融行业来说,金融产品有很多类型,比如说股票、期货、期权、债券、外汇、基金等,因此业务请求可能会存在多种业务类型。预设规则还是可以根据对业务的处理频率来确定的,比如说处理频率小于某一阈值的有其对应的处理队列,处理频率大于某一阈值的有其对应的处理队列。
比如,以预设规则根据业务类型来设定为例,因为每个处理队列是对应指定的业务类别,即,各个处理队列用于处理指定类别的业务,在处理平台中可以提前配置有业务类型与处理队列的对应关系。比如说,对于买入股票A这一业务请求,可以根据“股票A”这一业务类型从多个处理队列中确定对应的处理队列;或者,对于卖出股票B这一业务请求,可以根据“股票B”这一业务类型从多个处理队列中确定对应的处理队列;或者,对于大额客户发起的业务请求可以根据“大额客户”这一业务类型确定处理速度快的处理队列,这样对于大额客户来说可以享受较多的内存空间来对业务请求进行处理,可以极大的发挥处理平台的性能。
S203,通过所述第一处理队列对应的第一数据处理通道对所述第一业务请求进行无锁处理。
具体地,当处理平台确定好对应的第一处理队列后,因为第一数据处理通道与第一处理队列具有一一对应关系,所以可以通过第一处理队列调度至第一的数据处理通道中。通过多业务请求与多队列通道结合的方式,由处理平台在第一数据处理通道中以单进程方式对被分配的业务请求进行串行处理。每个数据处理通道的处理速度可以达到5000笔/秒,当多个数据处理通道并行处理时处理速度可以达到50000笔/秒。
可选地,单进程中的线程为单线程。一个进程里面只有一个线程,线程可以独自使用进程的内存地址的资源来对第一业务请求进行无锁处理,因为是独自使用进程的内存地址的资源,所以不需要锁操作来保证数据的一致性,线程的存在是无锁的。
可选地,对业务请求进行处理可以是对内存数据库中的数据进行读操作和/或写操作。
可选地,请参见图2a,图2a是本申请实施例提供的一种业务数据的处理方法的架构示意图,如图2a所示,通过第一数据处理通道包括第一子通道和第二子通道,第二子通道可以组合到第一子通道所在的模块中。第一子通道包括第一子通道1、第一子通道2、…、第一子通道N;第二子通道包括第二子通道1、第二子通道2、…、第二子通道N。第一业务请求用于请求处理第一业务和第二业务,处理平台通过第一处理队列调度至第一子通道,在第一子通道以单进程方式处理第一业务,得到第一业务处理结果;然后由第一子通道调度至第二子通道,并基于第一业务处理结果,在第二子通道以单进程方式处理第二业务,第一业务与第二业务为流程上关联的业务。举例来说,对于类似股票,债券,基金等业务请求来说,一般是由金融业务机构受理该业务请求,业务请求包括但不限于买入金融、卖出金融或者转化金融,等业务请求。而关于业务请求的行情数据和成交数据是由交易所来提供的,并且行情数据和成交数据是处于波动状态的。若第一业务请求是“买入股票A”,则在第一子通道中以单进程方式处理“买入股票A”的第一业务(可以是交易业务,比如买入的时间、金额等),从而可以得到第一业务处理结果(可以是“买入股票A”的时间数据、金额数据等)。接下来由第一子通道调度至第二子通道,并基于第一业务处理结果(“买入股票A”的时间数据、金额数据等)通过第二子通道以单进程方式处理第二业务(可以是确定“买入股票A”的份数)。
可选地,请参见图2b,图2b是本申请实施例提供的另一种业务数据的处理方法的架构示意图。如图2b所示,第一处理队列对应的有第一数据处理通道,第一数据处理通道包括第一子数据处理通道1、第一数据处理通道2、…、第一数据处理通道N;第二处理队列对应的有第二数据处理通道,第二数据处理通道包括第二子数据处理通道1、第二数据处理通道2、…、第二数据处理通道N;第二数据处理通道所在的模块与第一通道所在的模块是相互独立的。第二处理队列为与第一处理队列串联的处理队列,任意两个不同的处理队列串联的处理队列各不相同。第一业务请求用于请求处理第一业务和第二业务;通过第一处理队列对应的第一数据处理通道对所述第一业务请求进行无锁处理,包括:通过第一处理队列对应的第一数据处理通道以单进程方式处理第一业务,得到第一业务处理结果。在通过第一处理队列对应的第一数据处理通道以单进程方式处理第一业务,得到第一业务处理结果之后,还包括:基于第一业务处理结果,通过第二处理队列对应的第二数据处理通道以单进程方式处理第二业务,第一业务与第二业务为流程上关联的业务。
步骤S204,接收来自客户端的第二业务请求。
具体地,若第二业务请求中携带的用户标识与第一业务请求中携带的用户标识相同,则通过第一数据处理通道对第二业务请求进行无锁处理。
用户标识可以是用户发起第一业务请求时所使用的账户名称,该账户名称可以是用户在某交易平台上进行注册后所分配的,可以用来表明用户发起请求的唯一性。所以在用户发起的业务请求中携带的有用户标识,若处理平台接收的第二业务请求中携带的用户标识与所述第一业务请求中携带的用户标识相同,则通过所述第一数据处理通道处理所述第二业务请求。举例来说,若第一业务请求是通过账户A买入股票B,第二业务请求是通过账户A卖出股票B,则第一业务请求和第二业务请求都是通过账户A进行处理的,则可以通过对买入股票B这一业务请求的数据处理通道来处理卖出股票B这一业务请求。
本申请实施例可以根据业务请求的业务类型从多个处理队列中确定对应的处理队列,然后通过处理队列对应的数据处理通道以单进程方式对业务请求进行处理。通过本申请实施例可以提高对业务请求的数据处理能力,减少成本开销。
请参见图3,图3是本申请实施例提供的一种业务数据的处理装置的结构示意图,该装置可以是图2所示方法实施例中的处理平台,或者处理平台中的器件。该业务数据的处理装置30可包括接收单元301、响应单元302和处理单元303。其中,
接收单元301,用于接收来自客户端的第一业务请求;
响应单元302,用于响应于所述第一业务请求,根据预设规则确定第一处理队列;
处理单元303,用于通过所述第一处理队列对应的第一数据处理通道对所述第一业务请求进行无锁处理,其中,所述第一数据处理通道用于以单进程方式对被分配的业务请求进行处理。
在一种可能的实现方式中,所述第一数据处理通道包括第一子通道和第二子通道,所述第一业务请求用于请求处理第一业务和第二业务;处理单元303具体用于通过所述第一子通道以单进程方式处理所述第一业务,得到第一业务处理结果;基于所述第一业务处理结果,通过所述第二子通道以单进程方式处理所述第二业务,所述第一业务与所述第二业务为流程上关联的业务。
在一种可能的实现方式中,所述第一数据处理通道包括第一子通道和第二子通道,所述第一业务请求用于请求处理第一业务和第二业务;所述处理单元303具体用于:通过所述第一子通道以单进程方式处理所述第一业务,得到第一业务处理结果;基于所述第一业务处理结果,通过所述第二子通道以单进程方式处理所述第二业务,所述第一业务与所述第二业务为流程上关联的业务。
在一种可能的实现方式中,所述第一业务请求用于请求处理第一业务和第二业务;所述处理单元303具体用于:通过所述第一处理队列对应的第一数据处理通道以单进程方式对所述第一业务进行无锁处理,得到第一业务处理结果。
在一种可能的实现方式中,所述处理单元303具体用于通过所述第一处理队列对应的第一数据处理通道以单进程方式对所述第一业务进行无锁处理,得到第一业务处理结果之后,还包括:
第二处理单元,具体用于基于所述第一业务处理结果,通过第二处理队列对应的第二数据处理通道以单进程方式对所述第二业务进行处理,所述第一业务与所述第二业务为流程上关联的业务。
在一种可能的实现方式中,所述第一业务请求携带有第一标识,所述装置30还包括:第二接收单元,具体用于:接收第二业务请求;若所述第二业务请求中携带的用户标识与所述第一业务请求中携带的用户标识相同,则通过所述第一数据处理通道对所述第二业务请求进行无锁处理。
在一种可能的实现方式中,所述第一业务请求为共享内存的业务请求,所述处理单元303用于通过所述第一处理队列对应的第一数据处理通道对所述第一业务请求进行无锁处理之前,还包括:分配单元,具体用于根据所述第一业务请求预先在需要共享数据的数据处理通道中分配共享内存空间,其中,所述共享内存空间用于供所述第一数据处理通道和其他至少一个数据处理通道使用。
在一种可能的实现方式中,响应单元302具体用于,根据所述第一业务请求的业务类型从多个处理队列中确定对应的第一处理队列。。
需要说明的是,各个单元的实现还可以对应参照图2所示的方法实施例的相应描述,此处不再赘述。
请参见图4,图4是本发明实施例提供一种业务数据的处理设备的结构示意图。如图4所示,业务数据的处理设备40可以包括:一个或多个处理器401、一个或多个存储器402以及一个或多个通信接口403。这些部件可通过总线404或者其他方式连接,图4以通信总线连接为例。其中:
通信接口403可用于业务数据的处理设备40与其他通信设备,例如其他电子设备,进行通信。具体的,通信接口403可以是有线接口。
存储器402可以和处理器401通过总线404或者输入输出端口耦合,存储器402也可以与处理器401集成在一起。存储器402用于存储各种软件程序和/或多组指令或者数据。具体的,存储器402可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(ElectricallyErasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码资源并能够由计算机存取的任何其他介质,但不限于此。存储器402可包括高速随机存取的存储器,并且也可包括非易失性存储器,例如一个或多个磁盘存储设备、闪存设备或其他非易失性固态存储设备。存储器402可以存储操作系统(下述简称系统),例如uCOS、VxWorks、RTLinux等嵌入式操作系统。存储器402还可以存储网络通信程序,该网络通信程序可用于与一个或多个附加设备,一个或多个用户设备,一个或多个电子设备进行通信。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。
其中,所述存储器402用于存储执行以上方案的应用程序代码资源,并由处理器401来控制执行。所述处理器401用于执行所述存储器402中存储的应用程序代码资源。
处理器401可以是中央处理器单元,通用处理器,数字信号处理器,专用集成电路,现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现确定功能的组合,例如包含一个或多个微处理器组合,数字信号处理器和微处理器的组合等等。
处理器401可以用于调用存储器402中存储的应用程序,以实现图2所对应实施例中对业务数据的处理方法的相应步骤;具体实现中,计算机存储介质中的一条或多条指令由处理器401加载并执行如下步骤:
接收来自客户端的第一业务请求,响应于所述第一业务请求,根据预设规则确定第一处理队列;
通过所述第一处理队列对应的第一数据处理通道对所述第一业务请求进行无锁处理,其中,所述第一数据处理通道用于以单进程方式对被分配的业务请求进行处理。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可能可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以为个人计算机、服务端或者网络设备等,具体可以是计算机设备中的处理器)执行本申请各个实施例上述方法的全部或部分步骤。其中,而前述的存储介质可包括:U盘、移动硬盘、磁碟、光盘、只读存储器(Read-Only Memory,缩写:ROM)或者随机存取存储器(Random Access Memory,缩写:RAM)等各种可以存储程序代码资源的介质。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体RAM、磁碟或者光盘等各种可存储程序代码资源的介质。
Claims (10)
1.一种业务数据的处理方法,其特征在于,所述方法包括:
接收来自客户端的第一业务请求;
响应于所述第一业务请求,根据预设规则确定第一处理队列;
通过所述第一处理队列对应的第一数据处理通道对所述第一业务请求进行无锁处理,其中,所述第一数据处理通道用于以单进程方式对被分配的业务请求进行处理。
2.根据权利要求1所述的方法,其特征在于,所述第一数据处理通道包括第一子通道和第二子通道,所述第一业务请求用于请求处理第一业务和第二业务;所述通过所述第一处理队列对应的第一数据处理通道对所述第一业务请求进行无锁处理,包括:
通过所述第一子通道以单进程方式对所述第一业务进行无锁处理,得到第一业务处理结果;
基于所述第一业务处理结果,通过所述第二子通道以单进程方式对所述第二业务进行无锁处理,所述第一业务与所述第二业务为流程上关联的业务。
3.根据权利要求1所述的方法,其特征在于,所述第一业务请求用于请求处理第一业务和第二业务;所述通过所述第一处理队列对应的第一数据处理通道对所述第一业务请求进行无锁处理,包括:
通过所述第一处理队列对应的第一数据处理通道以单进程方式对所述第一业务进行无锁处理,得到第一业务处理结果。
4.根据权利要求3所述的方法,其特征在于,所述通过所述第一处理队列对应的第一数据处理通道以单进程方式对所述第一业务进行无锁处理,得到第一业务处理结果之后,还包括:
基于所述第一业务处理结果,通过第二处理队列对应的第二数据处理通道以单进程方式对所述第二业务进行无锁处理,所述第一业务与所述第二业务为流程上关联的业务。
5.根据权利要求1-3任一项所述的方法,其特征在于,所述第一业务请求携带有第一标识,还包括:
接收来自所述客户端的第二业务请求;
若所述第二业务请求中携带的用户标识与所述第一业务请求中携带的用户标识相同,则通过所述第一数据处理通道对所述第二业务请求进行无锁处理。
6.根据权利要求1所述的方法,其特征在于,所述第一业务请求为共享内存的业务请求,所述通过所述第一处理队列对应的第一数据处理通道对所述第一业务请求进行无锁处理之前,还包括:
根据所述第一业务请求预先在需要共享数据的数据处理通道中分配共享内存空间,其中,所述共享内存空间用于供所述第一数据处理通道和其他至少一个数据处理通道使用。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述根据预设规则确定第一处理队列,包括:
根据所述第一业务请求的业务类型从多个处理队列中确定对应的第一处理队列。
8.一种业务数据的处理装置,其特征在于,包括:
接收单元,用于接收来自客户端的第一业务请求;
响应单元,用于响应于所述第一业务请求,根据预设规则确定第一处理队列;
处理单元,用于通过所述第一处理队列对应的第一数据处理通道对所述第一业务请求进行无锁处理,其中,所述第一数据处理通道用于以单进程方式对被分配的业务请求进行处理。
9.一种业务数据的处理设备,其特征在于,包括处理器,其中,所述处理器被配置用于调用存储程序,执行如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110632940.2A CN113312184A (zh) | 2021-06-07 | 2021-06-07 | 一种业务数据的处理方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110632940.2A CN113312184A (zh) | 2021-06-07 | 2021-06-07 | 一种业务数据的处理方法及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113312184A true CN113312184A (zh) | 2021-08-27 |
Family
ID=77377891
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110632940.2A Pending CN113312184A (zh) | 2021-06-07 | 2021-06-07 | 一种业务数据的处理方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113312184A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114820197A (zh) * | 2022-06-28 | 2022-07-29 | 天津金城银行股份有限公司 | 一种金融业务处理系统及金融业务系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130282853A1 (en) * | 2012-04-20 | 2013-10-24 | Electronics And Telecommunications Research Institute | Apparatus and method for processing data in middleware for data distribution service |
CN108255620A (zh) * | 2018-01-08 | 2018-07-06 | 北京奇艺世纪科技有限公司 | 一种业务逻辑处理方法、装置、业务服务器及系统 |
CN108694083A (zh) * | 2017-04-07 | 2018-10-23 | 腾讯科技(深圳)有限公司 | 一种服务器的数据处理方法和装置 |
-
2021
- 2021-06-07 CN CN202110632940.2A patent/CN113312184A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130282853A1 (en) * | 2012-04-20 | 2013-10-24 | Electronics And Telecommunications Research Institute | Apparatus and method for processing data in middleware for data distribution service |
CN108694083A (zh) * | 2017-04-07 | 2018-10-23 | 腾讯科技(深圳)有限公司 | 一种服务器的数据处理方法和装置 |
CN108255620A (zh) * | 2018-01-08 | 2018-07-06 | 北京奇艺世纪科技有限公司 | 一种业务逻辑处理方法、装置、业务服务器及系统 |
Non-Patent Citations (1)
Title |
---|
邓胜兰等著: "《Unix系统原理与实践》", vol. 1, 国防科技大学出版社, pages: 34 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114820197A (zh) * | 2022-06-28 | 2022-07-29 | 天津金城银行股份有限公司 | 一种金融业务处理系统及金融业务系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108737325B (zh) | 一种多租户数据隔离方法、装置及系统 | |
EP3482294A1 (en) | Methods and modules relating to allocation of host machines | |
US20220229701A1 (en) | Dynamic allocation of computing resources | |
WO2019024994A1 (en) | SYSTEM, METHOD AND COMPUTER PROGRAM FOR VIRTUAL MACHINE RESOURCE ALLOCATION | |
CN113312184A (zh) | 一种业务数据的处理方法及相关设备 | |
CN111092814A (zh) | 业务办理请求报文分配方法及设备 | |
CN113095936B (zh) | 委托订单处理方法、装置、计算机设备和存储介质 | |
CN111190910B (zh) | 额度资源的处理方法、装置、电子设备及可读存储介质 | |
CN101310256A (zh) | 异步运行时编译 | |
CN107194712B (zh) | 共享账户变动信息记录方法及装置、内部账户补账方法及系统 | |
US20150161598A1 (en) | Assigning descriptors to transactions | |
CN111539730A (zh) | 基于区块链的数据处理方法、装置和电子设备 | |
CN115619486A (zh) | 订单处理方法、装置、电子设备和存储介质 | |
CN113485835B (zh) | 一种多场景下共享内存的实现方法、系统、设备及介质 | |
EP3420450A1 (en) | Methods and modules relating to allocation of host machines | |
CN115102863A (zh) | Dpu硬件资源池动态配置的方法以及装置 | |
CN110879748A (zh) | 一种共享资源分配方法、装置和设备 | |
US7546308B1 (en) | Model and method of an n-tier quality-of-service (QoS) | |
CN114281516A (zh) | 一种基于numa属性的资源分配方法及装置 | |
US9176910B2 (en) | Sending a next request to a resource before a completion interrupt for a previous request | |
CN113835862B (zh) | 任务处理方法及装置 | |
CN110717743A (zh) | 一种分配方法、电子设备及存储介质 | |
US10666754B2 (en) | System and method for cache reservation in an information handling system | |
US9600508B1 (en) | Data layer service availability | |
KR20200087648A (ko) | 암호 화폐 거래소 시스템 및 이를 수행하기 위한 컴퓨팅 장치 |
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 |