CN111190703B - 实时数据处理方法、装置、计算机设备和存储介质 - Google Patents

实时数据处理方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN111190703B
CN111190703B CN201911277999.3A CN201911277999A CN111190703B CN 111190703 B CN111190703 B CN 111190703B CN 201911277999 A CN201911277999 A CN 201911277999A CN 111190703 B CN111190703 B CN 111190703B
Authority
CN
China
Prior art keywords
task
initial
data
tasks
preset
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
Application number
CN201911277999.3A
Other languages
English (en)
Other versions
CN111190703A (zh
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.)
Shenzhen Ping An Medical Health Technology Service Co Ltd
Original Assignee
Shenzhen Ping An Medical Health Technology Service 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 Shenzhen Ping An Medical Health Technology Service Co Ltd filed Critical Shenzhen Ping An Medical Health Technology Service Co Ltd
Priority to CN201911277999.3A priority Critical patent/CN111190703B/zh
Publication of CN111190703A publication Critical patent/CN111190703A/zh
Application granted granted Critical
Publication of CN111190703B publication Critical patent/CN111190703B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/465Distributed object oriented systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请涉及大数据处理领域,尤其是一种实时数据处理方法、装置、计算机设备和存储介质。所述方法包括:获取待处理实时数据,并根据待处理实时数据的依赖方式生成有向无环图;将有向无环图进行拆分得到初始任务,并获取拆分后的每一初始任务的任务量;将初始任务分配到不同的执行机中进行处理;判断每一所述初始任务的任务量之间的差值是否大于预设阀值;当存在差值大于预设阀值的初始任务时,则将差值大于预设阀值的初始任务中,任务量较大的初始任务进行拆分得到多个过度任务;将所述过度任务分别分配到对应的执行机的不同的线程中进行执行;将各个执行机执行得到的交易对象存储至分布式存储系统中。采用本方法能够提高处理效率和资源利用率。

Description

实时数据处理方法、装置、计算机设备和存储介质
技术领域
本申请涉及大数据处理技术领域,特别是涉及一种实时数据处理方法、装置、计算机设备和存储介质。
背景技术
实时流处理已成为当下各大公司的基本需求,日志处理,日常的PV(页面浏览量),UV(页面点击量)统计,受欢迎的topN商品,活跃区域topN等等。实时掌握最近几分钟、几小时的指标情况,应对不同的情况,能让公司在第一时间进行相应的调整,比如个性化推荐,加大某个商品的权重,减少某些产品的权重。SparkStreaming由于其强大的离线批处理能力和实时的batch数据处理能力,受到广大公司的欢迎。
当数据处理的报文数据量较大时,比如一条报文数据达到500K甚至1M,sparkstreaming处理这些报文时,任务较重,经常会堵住,形成批量数据的积压,最后造成内存的溢出,任务终止。报文的业务类型有很多种,同一个topic中存在多种的业务类型,流式处理程序处理这些报文无法批量进行处理,处理的过程中容易造成数据倾斜,部分task任务处理时间较长,造成整体批次处理时间长,导致资源的浪费。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高数据处理效率以及资源利用率的实时数据处理方法、装置、计算机设备和存储介质。
一种实时数据处理方法,所述方法包括:
获取待处理实时数据,并根据所述待处理实时数据的依赖方式生成有向无环图;
将所述有向无环图进行拆分得到初始任务,并获取拆分后的每一所述初始任务的任务量;
将所述初始任务分配到不同的执行机中进行处理;
判断每一所述初始任务的任务量之间的差值是否大于预设阀值;
当存在差值大于预设阀值的初始任务时,则将差值大于预设阀值的初始任务中,任务量较大的初始任务进行拆分得到多个过度任务;
将所述过度任务分别分配到对应的执行机的不同的线程中进行执行;
将各个执行机执行得到的交易对象存储至分布式存储系统中。
在其中一个实施例中,所述将差值大于预设阀值的初始任务中,任务量较大的初始任务进行拆分得到多个过度任务,包括:
获取差值大于预设阀值的初始任务所分配的执行机,并获取所述执行机的当前所能设定的线程数;
确定差值大于预设阀值的初始任务中,任务量较大的初始任务;
根据所述线程数将所述任务量较大的初始任务进行拆分得到多个过度任务。
在其中一个实施例中,所述将所述初始任务分配到不同的执行机中进行处理,包括:
将所述初始任务分配到不同的执行机中;
获取执行机的当前运行环境以获取到与所述初始任务对应的执行方法;
获取所述初始任务中的当前数据;
调用所述执行方法中的中间任务执行方法对所述当前数据进行处理得到中间任务;
调用执行方法中的目标任务执行方法对所述中间任务进行处理得到交易对象;
根据迭代方法获取所述初始任务中的下一数据作为当前数据,并继续调用所述执行方法中的中间任务执行方法对所述当前数据进行处理得到中间任务,直至所述初始任务中的数据处理完成。
在其中一个实施例中,所述获取待处理实时数据,包括:
查询所述待处理实时数据是否已经缓存;
若所述待处理实时数据已经缓存,则从缓存中读取所述待处理实时数据;
若所述待处理实时数据未缓存,则获取预设数据集中的待处理实时数据。
在其中一个实施例中,所述方法还包括:
初始化预设存储系统的对象,以定义所述预设存储系统的数据存储类;
通过直连的方式消费所述预设存储系统的数据存储类,以建立与所述数据存储类中的预设存储分区对应的预设数据集;
解析所述预设存储系统中每个预设分区中存储的结构化数据为交易类型对象,并将所述交易类型对象存储到对应的预设数据集中。
在其中一个实施例中,所述通过直连的方式消费所述预设存储系统的数据存储类之前,还包括:
判断是否定义了对应的分布式存储系统;
如果未定义对应的分布式存储系统,则定义分布式存储系统以及交易类型对象,所述交易类型对象与结构化数据相对应。
在其中一个实施例中,所述解析所述预设存储系统中每个预设分区中存储的结构化数据为交易类型对象,包括:
获取所设置的预设时间内的最大读取数量;
在预设时间内从所述预设存储系统中每个预设分区读取小于等于所述最大读取数量的结构化数据;
解析所述预设存储系统中每个预设分区中存储的结构化数据为交易类型对象。
一种实时数据处理装置,所述装置包括:
图生成模块,用于获取待处理实时数据,并根据所述待处理实时数据的依赖方式生成有向无环图;
第一拆分模块,用于将所述有向无环图进行拆分得到初始任务,并获取拆分后的每一所述初始任务的任务量;
第一分配模块,用于将所述初始任务分配到不同的执行机中进行处理;
第一判断模块,用于判断每一所述初始任务的任务量之间的差值是否大于预设阀值;
第二拆分模块,用于当存在差值大于预设阀值的初始任务时,则将差值大于预设阀值的初始任务中,任务量较大的初始任务进行拆分得到多个过度任务;
第二分配模块,用于将所述过度任务分别分配到对应的执行机的不同的线程中进行执行;
存储模块,用于将各个执行机执行得到的交易对象存储至分布式存储系统中。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。
上述实时数据处理方法、装置、计算机设备和存储介质,在生成初始任务后,将初始任务分配到不同的执行机中进行执行,且为了避免某一执行机所处理的初始任务的任务量较大,导致数据倾斜,可以预先比较各个初始任务的任务量,将差值大于预设阀值的初始任务中,任务量较大的初始任务进行拆分得到多个过度任务,从而在对应的执行机中开辟多个线程来处理该过度任务,这样可以减少任务量较大的初始任务的执行时间,从而可以提高执行效率,且可以避免任务量较少的初始任务一直等待任务量较大的初始任务处理完成,减少了资源的浪费,提高了资源利用率。
附图说明
图1为一个实施例中实时数据处理方法的应用场景图;
图2为一个实施例中实时数据处理方法的流程示意图;
图3为一个实施例中的服务器将kafka中的数据存储到rdd对象中的步骤的流程图;
图4为一个实施例中实时数据处理装置的结构框图;
图5为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的实时数据处理方法,可以应用于如图1所示的应用环境中。其中,其中预设存储系统102可以获取到数据源数据库104中的数据,并进行存储;服务器102可以通过直连方式消费预设存储系统106中的数据,然后将所获取的数据实时存储至分布式存储系统108中。
其中为了方便理解,首先对图1中的应用环境图进行说明,其中主要分为两个处理流程,一个是将预设存储系统102中的数据存储到预设数据集中,第二个是预设数据集中的数据落地到分布式存储系统108中。其中采用直连方式消费预设存储系统102的数据存储类,拉取的batch interval为15s,即在一个15s中服务器一方面要将预设数据集中的数据进行处理后落地到分布式存储系统108,另一方面要从预设存储系统102中读取出新的数据存储到预设数据集中,从而实现将预设存储系统102中的多业务类型的数据实时落地到分布式存储系统108中。由于在将预设数据集中的数据落地到分布式存储系统108中时,部分任务中的数据量较大,从而会导致处理时间较长,进而整个批次的处理时间较长,因此导致处理效率较低。
因此,本申请中服务器获取待处理实时数据,然后根据待处理实时数据的依赖方式生成有向无环图;将有向无环图进行拆分得到初始任务,并获取每一初始任务的任务量,将初始任务分配到不同的执行机中进行处理,由于有的任务量较大,因此需要对任务量较大的初始任务进行进一步的划分,以分配到执行机中不同的线程中进行处理,从而可以减低任务量较大的初始任务的处理时间,即当存在差值大于预设阀值的初始任务时,则将差值大于预设阀值的初始任务中,任务量较大的初始任务进行拆分得到多个过度任务;将过度任务分别分配到对应的执行机的不同的线程中进行执行;将各个执行机执行得到的交易对象存储至分布式存储系统中。这样可以减少任务量较大的初始任务的执行时间,从而可以提高执行效率,且可以避免任务量较少的初始任务一直等待任务量较大的初始任务处理完成,减少了资源的浪费,提高了资源利用率。
其中,预设存储系统102可以为kafka存储系统,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现,上述服务器中集成有sparksteaming,分布式存储系统108可以为kudu分布式存储系统。
在一个实施例中,如图2所示,提供了一种实时数据处理方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
S202:获取待处理实时数据,并根据待处理实时数据的依赖方式生成有向无环图。
具体地,服务器可以根据任务依赖操作方式先生成有向无环图,DAG图,该DAG图是sparkstreaming模块,即服务器通过对预设数据集,即rdd对象的处理转换生成的,比如rdd3依赖于rdd2,而rdd2依赖于rdd1,则可以根据该操作依赖关系生成对应的有向无环图。即获取所有的rdd对象生成对应个数的节点,然后根据rdd对象的依赖关系建立各个节点之间的连接线,其中连接线的方向代表rdd的操作依赖关系,例如上述存在三个节点,每个节点分别代表rdd1、rdd2以及rdd3,且drr3指向rdd2,rdd2指向rdd1。
在其中一个实施例中,获取待处理实时数据,可以包括:查询待处理实时数据是否已经缓存;若待处理实时数据已经缓存,则从缓存中读取待处理实时数据;若待处理实时数据未缓存,则获取预设数据集中的待处理实时数据。即sparkstreaming模块在进行计算之前,首先检查缓存级别,即根据任务依赖操作方式检查当前待落地的数据是否已经缓存,如果已经缓存,则直接读取,如果没有缓存,则继续获取rdd对象中的数据并生成DAG图。sparkstreaming模块还可以判断是否存在检查点,如果存在检查点,则可以读取检查点的数据,此处的检查点是用于在故障或宕机恢复后,读取已缓存的数据。
S204:将有向无环图进行拆分得到初始任务,并获取拆分后的每一初始任务的任务量。
具体地,对于有向无环图进行拆分可以得到多个初始任务,其中拆分的时候可以根据数据条数进行拆分,例如优先按照有向无环图中的分支进行拆分,然后按照每一分支对应的数据条数进行拆分,例如相同类型的数据划分为一个初始任务进行处理,或者是根据待处理的数据的条数以及可用执行机的个数进行均分等。
初始任务的任务量是指初始任务所涉及的要处理的数据的数据量的大小,例如一个初始任务涉及到的数据为1M,则该初始任务的任务量为1M。
S206:将初始任务分配到不同的执行机中进行处理。
具体地,执行机是spark里的一套执行机制,用于执行上述的初始任务得到对应的交易对象,从而可以将交易对象落地到对应的kudu表中,即落地到分布式存储系统中。
S208:判断每一初始任务的任务量之间的差值是否大于预设阀值。
S210:当存在差值大于预设阀值的初始任务时,则将差值大于预设阀值的初始任务中,任务量较大的初始任务进行拆分得到多个过度任务。
S212:将过度任务分别分配到对应的执行机的不同的线程中进行执行。
具体地,本申请的思想是为了防止数据倾斜导致某一个初始任务处理时间较长,从而该批初始任务整体的处理时间较长,所采用的方法是首先计算所拆分的各个初始任务的任务量,由于拆分的时候是按照数据的条数进行拆分的,所以每个初始任务的任务量是不同的,在执行机对数据进行处理前,首先获取到各个初始任务的任务量,其可以通过数据量的大小来进行衡量,然后判断各个数据量之间的差值,从而来判断各个初始任务处理时间是否相差较大,如果相差较大,即存在差值大于预设阀值的初始任务,则将大任务量的初始任务进行拆分得到过度任务,然后将过度任务分配到新建立的线程中进行执行得到交易对象,这样避免一个执行机中通过一个线程来处理任务量大的任务所导致的时间较长,从而其他的执行机需要等待该执行机处理完成后才可以处理其他的初始任务的现象。
其中服务器在计算的时候,可以首先获取到各个初始任务的任务量,然后按照由大到小或者由小到大的顺序进行排序,然后计算任务量最大的初始任务与任务量最小的初始任务的差值,如果该差值未大于预设阀值,则可以直接执行机进行处理得到交易对象,并将所得到的交易对象存储到分布式存储系统中即可。当任务量最大的初始任务与任务量最小的初始任务的差值大于预设阀值时,则对任务量最大的初始任务进行拆分得到多个过度任务,并分配到执行机中的多个线程中进行执行。在任务量最大的初始任务拆分完成后,则继续获取下一任务量最大的初始任务,此时由于任务量最大的初始任务已经被拆分,因此排序在第二位的为下一任务量最大的初始任务,然后计算该任务量最大的初始任务与任务量最小的初始任务的差值,并计算任务量最大的初始任务与任务量最小的初始任务的差值,直至计算至任务量最大的初始任务与任务量最小的初始任务的差值小于预设阀值时,则停止,从而开始执行各个拆分后的过度任务和未拆分的初始任务。
S214:将各个执行机执行得到的交易对象存储至分布式存储系统中。
具体地,因为预先定义了分布式存储系统中的kudu表和交易对象,且建立了交易对象与kudu表的对应关系,即某一类型的交易对象对应一个kudu表等,从而可以根据该对应关系直接将交易对象存储至对应的kudu表中。
上述实时数据处理方法,在生成初始任务后,将初始任务分配到不同的执行机中进行执行,且为了避免某一执行机所处理的初始任务的任务量较大,导致数据倾斜,可以预先比较各个初始任务的任务量,将差值大于预设阀值的初始任务中,任务量较大的初始任务进行拆分得到多个过度任务,从而在对应的执行机中开辟多个线程来处理该过度任务,这样可以减少任务量较大的初始任务的执行时间,从而可以提高执行效率,且可以避免任务量较少的初始任务一直等待任务量较大的初始任务处理完成,减少了资源的浪费,提高了资源利用率。
在其中一个实施例中,将差值大于预设阀值的初始任务中,任务量较大的初始任务进行拆分得到多个过度任务,包括:获取差值大于预设阀值的初始任务所分配的执行机,并获取执行机的当前所能设定的线程数;确定差值大于预设阀值的初始任务中,任务量较大的初始任务;根据线程数将任务量较大的初始任务进行拆分得到多个过度任务。
具体地,将任务量较大的任务进行拆分的时候,可以获取到当前物理硬件所能设定的线程数,然后根据剩余线程数对任务量进行拆分,例如剩余可利用线程为n个,则将任务拆分成n+1个即可。即线程数受限于物理硬件,所以需要根据实际情况设定线程池中的并发过度任务的个数。其中服务器可以建立线程池,将一个执行机所有的线程放置在线程池中,并标注线程的状态,例如可用,不可用等,从而服务器可以根据线程的状态获取到所能设定的线程数。
上述实施例中,在实时数据处理的时候,增加线程,可以大大提高消息的处理效率,避免因部分任务数据量较大引起的整体数据处理时间较长。
在其中一个实施例中,将初始任务分配到不同的执行机中进行处理,包括:将初始任务分配到不同的执行机中;获取执行机的当前运行环境以获取到与初始任务对应的执行方法;获取初始任务中的当前数据;调用执行方法中的中间任务执行方法对当前数据进行处理得到中间任务;调用执行方法中的目标任务执行方法对中间任务进行处理得到交易对象;根据迭代方法获取初始任务中的下一数据作为当前数据,并继续调用执行方法中的中间任务执行方法对当前数据进行处理得到中间任务,直至初始任务中的数据处理完成。
具体地,执行机执行时,首先获取到运行环境,然后对初始任务或过度任务中的第一条数据进行处理,包括通过run方法根据第一条数据生成中间任务,通过最终任务ResultTask对应的run方法对中间任务进行处理得到最终任务的交易对象。第三,调用rdd的迭代方法继续处理初始任务或过度任务中的第二条数据直至所有的数据处理完成,即完成本次初始任务或过度任务。
实际应用中,执行机执行的时候,执行机先获取到运行环境然后调用任务的run方法开始执行,其中执行时是存在两种任务的一种是ShuffleMapTask,另外一种是ResultTask。有向无环图DAG任务执行的所有中间过程都生成ShuffleMapTask,为最终结果的Partition生成ResultTask。执行机根据run方法调用生成的中间任务ShuffleMapTask或者是根据最终任务ResultTask对应的run方法进行计算得到最终结果即交易对象DF。并通过rdd的iterator方法进行计算直至所有的数据处理完成。
上述实施例中,通过迭代的方式依次处理任务的数据,从而保证了数据的处理顺序,不会出现混乱,提高处理效率。
在其中一个实施例中,上述实时数据处理方法还可以包括:初始化预设存储系统的对象,以定义预设存储系统的数据存储类;通过直连的方式消费预设存储系统的数据存储类,以建立与数据存储类中的预设存储分区对应的预设数据集;解析预设存储系统中每个预设分区中存储的结构化数据为交易类型对象,并将交易类型对象存储到对应的预设数据集中。
在其中一个实施例中,通过直连的方式消费预设存储系统的数据存储类之前,还包括:判断是否定义了对应的分布式存储系统;如果未定义对应的分布式存储系统,则定义分布式存储系统以及交易类型对象,交易类型对象与结构化数据相对应。
在其中一个实施例中,解析预设存储系统中每个预设分区中存储的结构化数据为交易类型对象,包括:获取所设置的预设时间内的最大读取数量;在预设时间内从预设存储系统中每个预设分区读取小于等于最大读取数量的结构化数据;解析预设存储系统中每个预设分区中存储的结构化数据为交易类型对象。
具体地,参见图3,图3为一个实施例中的服务器将kafka中的数据存储到rdd对象中的步骤的流程图,具体可以包括:
初始化预设存储系统的对象,以定义预设存储系统的数据存储类,包括初始化kafkaprogram对象定义kafka参数,该参数包括序列化方式、bootstrap、topic、offset等。
第二,通过直连的方式消费预设存储系统的数据存储类,以建立与数据存储类中的预设存储分区对应的预设数据集,即sparktreaming模块通过直连的方式消费kafka的topic。
具体地,该步骤包括:sparktreaming模块首先获取到kafka中topic中的partitions的数量,然后建立对应的rdd分区,即一个partition对应一个rdd分区,从而sparktreaming模块通过增加并发使用异步确认的方式提交请求,以将kafka中的数据读取到rdd对应的分区中。即kafka中使用监听方法,异步等待消息回调。这样存在几个partition则对应几个rdd分区,从而对应几个并发线程,可以增加spark流式处理的并行度,提高处理的效率。此处采用直连方式消费kafka的topic,拉取的batch interval为15s,相对spark的receiver的方式,采用spark的createDstream的方式进行对接kafka,enable.auto.commit设置为false,增加并发,使用异步确认的方式提交commit,可满足消费的最多一次消费语义。
第三,解析预设存储系统中每个预设分区中存储的结构化数据为交易类型对象,并将交易类型对象存储到对应的预设数据集中,即sparktreaming模块解析kafka每个partition中存储的Json数据为交易类型对象,并存储到对应的rdd对象中。
其中此处的交易类型对象是与kudu表相对应的,即kudu表中存储的数据的形式。sparktreaming模块在解析Json数据的时候,根据Json数据的报文的类型获取到对应的解析方法,然后通过该解析方法将Json数据解析为交易类型对应并存储到rdd对象中,此处的rdd对象是一种处理逻辑概念。
优选地,在处理之前,sparktreaming模块首先定义kudu表,然后定义交易类型对象用于存储解析的Json消息,该Json消息是其他数据库等以报文的形式发送给kafka进行存储的,sparktreaming模块判断kudu表是否创建,如果没有创建则进行创建,否则的话开始处理,即上述的第二步和第三步。
在其中一个实施例中,此处还可以设置每个分区每秒拉去的信息的最大数量以及设置反压机制。sparktreaming模块获取到实时处理效率,并根据该实时处理效率对每个分区每秒拉取的数量进行调整,且所调整的数量不能大于最大数量,这样可以防止在spark提交任务时,初始化时间较长,一次性拉取数据量较多,导致处理压力较大。且还可以设置超时时间,避免因为kafka的问题导致spark拉取不到数据。
上述方法中,采用直连的方式,增加线程可以提高并行度,提高处理效率。且在spark,即服务器从kafka拉取数据时,采用反压机制,设置最大数量,从而可以动态调整每个分区每秒拉去的数量,提高数据的处理效率。
应该理解的是,虽然图2-3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图4所示,提供了一种实时数据处理装置,包括:图生成模块100、第一拆分模块200、第一判断模块400、第二拆分模块500、第二分配模块600和存储模块700,其中:
图生成模块100,用于获取待处理实时数据,并根据待处理实时数据的依赖方式生成有向无环图。
第一拆分模块200,用于将有向无环图进行拆分得到初始任务,并获取拆分后的每一初始任务的任务量。
第一分配模块300,用于将初始任务分配到不同的执行机中进行处理。
第一判断模块400,用于判断每一初始任务的任务量之间的差值是否大于预设阀值。
第二拆分模块500,用于当存在差值大于预设阀值的初始任务时,则将差值大于预设阀值的初始任务中,任务量较大的初始任务进行拆分得到多个过度任务。
第二分配模块600,用于将过度任务分别分配到对应的执行机的不同的线程中进行执行。
存储模块700,用于将各个执行机执行得到的交易对象存储至分布式存储系统中。
在其中一个实施例中,第二拆分模块500包括:
线程数获取单元,用于获取差值大于预设阀值的初始任务所分配的执行机,并获取执行机的当前所能设定的线程数。
确定单元,用于确定差值大于预设阀值的初始任务中,任务量较大的初始任务。
拆分单元,用于根据线程数将任务量较大的初始任务进行拆分得到多个过度任务。
在其中一个实施例中,第一分配模块300可以包括:
分配单元,用于将初始任务分配到不同的执行机中。
执行方法获取单元,用于获取执行机的当前运行环境以获取到与初始任务对应的执行方法。
当前数据获取单元,用于获取初始任务中的当前数据。
中间任务生成单元,用于调用执行方法中的中间任务执行方法对当前数据进行处理得到中间任务。
交易对象生成单元,用于调用执行方法中的目标任务执行方法对中间任务进行处理得到交易对象。
迭代单元,用于根据迭代方法获取初始任务中的下一数据作为当前数据,并继续调用执行方法中的中间任务执行方法对当前数据进行处理得到中间任务,直至初始任务中的数据处理完成。
在其中一个实施例中,图生成模块100可以包括:
查询单元,用于查询待处理实时数据是否已经缓存。
缓存读取单元,用于若待处理实时数据已经缓存,则从缓存中读取待处理实时数据。
数据集读取单元,用于若待处理实时数据未缓存,则获取预设数据集中的待处理实时数据。
在其中一个实施例中,实时数据处理装置还可以包括:
初始化模块,用于初始化预设存储系统的对象,以定义预设存储系统的数据存储类。
消费模块,用于通过直连的方式消费预设存储系统的数据存储类,以建立与数据存储类中的预设存储分区对应的预设数据集。
预设数据集生成模块,用于解析预设存储系统中每个预设分区中存储的结构化数据为交易类型对象,并将交易类型对象存储到对应的预设数据集中。
在其中一个实施例中,实时数据处理装置还可以包括:
第二判断模块,用于判断是否定义了对应的分布式存储系统。
定义模块,用于如果未定义对应的分布式存储系统,则定义分布式存储系统以及交易类型对象,交易类型对象与结构化数据相对应。
在其中一个实施例中,预设数据集生成模块包括:
阈值获取单元,用于获取所设置的预设时间内的最大读取数量。
数据读取单元,用于在预设时间内从预设存储系统中每个预设分区读取小于等于最大读取数量的结构化数据。
解析单元,用于解析预设存储系统中每个预设分区中存储的结构化数据为交易类型对象。
关于实时数据处理装置的具体限定可以参见上文中对于实时数据处理方法的限定,在此不再赘述。上述实时数据处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储实时数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种实时数据处理方法。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现以下步骤:获取待处理实时数据,并根据待处理实时数据的依赖方式生成有向无环图;将有向无环图进行拆分得到初始任务,并获取拆分后的每一初始任务的任务量;将初始任务分配到不同的执行机中进行处理;判断每一初始任务的任务量之间的差值是否大于预设阀值;当存在差值大于预设阀值的初始任务时,则将差值大于预设阀值的初始任务中,任务量较大的初始任务进行拆分得到多个过度任务;将过度任务分别分配到对应的执行机的不同的线程中进行执行;将各个执行机执行得到的交易对象存储至分布式存储系统中。
在一个实施例中,处理器执行计算机程序时所实现的将差值大于预设阀值的初始任务中,任务量较大的初始任务进行拆分得到多个过度任务,包括:获取差值大于预设阀值的初始任务所分配的执行机,并获取执行机的当前所能设定的线程数;确定差值大于预设阀值的初始任务中,任务量较大的初始任务;根据线程数将任务量较大的初始任务进行拆分得到多个过度任务。
在一个实施例中,处理器执行计算机程序时所实现的将初始任务分配到不同的执行机中进行处理,包括:将初始任务分配到不同的执行机中;获取执行机的当前运行环境以获取到与初始任务对应的执行方法;获取初始任务中的当前数据;调用执行方法中的中间任务执行方法对当前数据进行处理得到中间任务;调用执行方法中的目标任务执行方法对中间任务进行处理得到交易对象;根据迭代方法获取初始任务中的下一数据作为当前数据,并继续调用执行方法中的中间任务执行方法对当前数据进行处理得到中间任务,直至初始任务中的数据处理完成。
在一个实施例中,处理器执行计算机程序时所实现的获取待处理实时数据,包括:查询待处理实时数据是否已经缓存;若待处理实时数据已经缓存,则从缓存中读取待处理实时数据;若待处理实时数据未缓存,则获取预设数据集中的待处理实时数据。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:初始化预设存储系统的对象,以定义预设存储系统的数据存储类;通过直连的方式消费预设存储系统的数据存储类,以建立与数据存储类中的预设存储分区对应的预设数据集;解析预设存储系统中每个预设分区中存储的结构化数据为交易类型对象,并将交易类型对象存储到对应的预设数据集中。
在一个实施例中,处理器执行计算机程序时所实现的通过直连的方式消费预设存储系统的数据存储类之前,还包括:判断是否定义了对应的分布式存储系统;如果未定义对应的分布式存储系统,则定义分布式存储系统以及交易类型对象,交易类型对象与结构化数据相对应。
在一个实施例中,处理器执行计算机程序时所实现的解析预设存储系统中每个预设分区中存储的结构化数据为交易类型对象,包括:获取所设置的预设时间内的最大读取数量;在预设时间内从预设存储系统中每个预设分区读取小于等于最大读取数量的结构化数据;解析预设存储系统中每个预设分区中存储的结构化数据为交易类型对象。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:获取待处理实时数据,并根据待处理实时数据的依赖方式生成有向无环图;将有向无环图进行拆分得到初始任务,并获取拆分后的每一初始任务的任务量;将初始任务分配到不同的执行机中进行处理;判断每一初始任务的任务量之间的差值是否大于预设阀值;当存在差值大于预设阀值的初始任务时,则将差值大于预设阀值的初始任务中,任务量较大的初始任务进行拆分得到多个过度任务;将过度任务分别分配到对应的执行机的不同的线程中进行执行;将各个执行机执行得到的交易对象存储至分布式存储系统中。
在一个实施例中,计算机程序被处理器执行时所实现的将差值大于预设阀值的初始任务中,任务量较大的初始任务进行拆分得到多个过度任务,包括:获取差值大于预设阀值的初始任务所分配的执行机,并获取执行机的当前所能设定的线程数;确定差值大于预设阀值的初始任务中,任务量较大的初始任务;根据线程数将任务量较大的初始任务进行拆分得到多个过度任务。
在一个实施例中,计算机程序被处理器执行时所实现的将初始任务分配到不同的执行机中进行处理,包括:将初始任务分配到不同的执行机中;获取执行机的当前运行环境以获取到与初始任务对应的执行方法;获取初始任务中的当前数据;调用执行方法中的中间任务执行方法对当前数据进行处理得到中间任务;调用执行方法中的目标任务执行方法对中间任务进行处理得到交易对象;根据迭代方法获取初始任务中的下一数据作为当前数据,并继续调用执行方法中的中间任务执行方法对当前数据进行处理得到中间任务,直至初始任务中的数据处理完成。
在一个实施例中,计算机程序被处理器执行时所实现的获取待处理实时数据,包括:查询待处理实时数据是否已经缓存;若待处理实时数据已经缓存,则从缓存中读取待处理实时数据;若待处理实时数据未缓存,则获取预设数据集中的待处理实时数据。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:初始化预设存储系统的对象,以定义预设存储系统的数据存储类;通过直连的方式消费预设存储系统的数据存储类,以建立与数据存储类中的预设存储分区对应的预设数据集;解析预设存储系统中每个预设分区中存储的结构化数据为交易类型对象,并将交易类型对象存储到对应的预设数据集中。
在一个实施例中,计算机程序被处理器执行时所实现的通过直连的方式消费预设存储系统的数据存储类之前,还包括:判断是否定义了对应的分布式存储系统;如果未定义对应的分布式存储系统,则定义分布式存储系统以及交易类型对象,交易类型对象与结构化数据相对应。
在一个实施例中,计算机程序被处理器执行时所实现的解析预设存储系统中每个预设分区中存储的结构化数据为交易类型对象,包括:获取所设置的预设时间内的最大读取数量;在预设时间内从预设存储系统中每个预设分区读取小于等于最大读取数量的结构化数据;解析预设存储系统中每个预设分区中存储的结构化数据为交易类型对象。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种实时数据处理方法,其特征在于,所述方法包括:
获取待处理实时数据,并根据所述待处理实时数据的依赖方式生成有向无环图;
将所述有向无环图进行拆分得到初始任务,并获取拆分后的每一所述初始任务的任务量;
将所述初始任务分配到不同的执行机中进行处理;
判断每一所述初始任务的任务量之间的差值是否大于预设阀值,包括:获取各个初始任务的任务量,并按照由大到小或者由小到大的顺序进行排序,计算任务量最大的初始任务与任务量最小的初始任务的差值,判断所述差值是否大于预设阀值;
当存在差值大于预设阀值的初始任务时,则将差值大于预设阀值的初始任务中,任务量最大的初始任务进行拆分得到多个过度任务,继续获取下一任务量最大的初始任务,此时由于任务量最大的初始任务已经被拆分,因此排序在第二位的为下一任务量最大的初始任务,然后计算任务量最大的初始任务与任务量最小的初始任务的差值,并返回至所述判断每一所述初始任务的任务量之间的差值是否大于预设阀值的步骤,直至计算至任务量最大的初始任务与任务量最小的初始任务的差值小于预设阀值时,则停止;
将所述过度任务分别分配到对应的执行机的不同的线程中进行执行;
将各个执行机执行得到的交易对象存储至分布式存储系统中。
2.根据权利要求1所述的方法,其特征在于,所述将差值大于预设阀值的初始任务中,任务量最大的初始任务进行拆分得到多个过度任务,包括:
获取差值大于预设阀值的初始任务所分配的执行机,并获取所述执行机的当前所能设定的线程数;
确定差值大于预设阀值的初始任务中,任务量最大的初始任务;
根据所述线程数将所述任务量最大的初始任务进行拆分得到多个过度任务。
3.根据权利要求1所述的方法,其特征在于,所述将所述初始任务分配到不同的执行机中进行处理,包括:
将所述初始任务分配到不同的执行机中;
获取执行机的当前运行环境以获取到与所述初始任务对应的执行方法;
获取所述初始任务中的当前数据;
调用所述执行方法中的中间任务执行方法对所述当前数据进行处理得到中间任务;
调用执行方法中的目标任务执行方法对所述中间任务进行处理得到交易对象;
根据迭代方法获取所述初始任务中的下一数据作为当前数据,并继续调用所述执行方法中的中间任务执行方法对所述当前数据进行处理得到中间任务,直至所述初始任务中的数据处理完成。
4.根据权利要求1所述的方法,其特征在于,所述获取待处理实时数据,包括:
查询所述待处理实时数据是否已经缓存;
若所述待处理实时数据已经缓存,则从缓存中读取所述待处理实时数据;
若所述待处理实时数据未缓存,则获取预设数据集中的待处理实时数据。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
初始化预设存储系统的对象,以定义所述预设存储系统的数据存储类;
通过直连的方式消费所述预设存储系统的数据存储类,以建立与所述数据存储类中的预设存储分区对应的预设数据集;
解析所述预设存储系统中每个预设存储分区中存储的结构化数据为交易类型对象,并将所述交易类型对象存储到对应的预设数据集中。
6.根据权利要求5所述的方法,其特征在于,所述通过直连的方式消费所述预设存储系统的数据存储类之前,还包括:
判断是否定义了对应的分布式存储系统;
如果未定义对应的分布式存储系统,则定义分布式存储系统以及交易类型对象,所述交易类型对象与结构化数据相对应。
7.根据权利要求5所述的方法,其特征在于,所述解析所述预设存储系统中每个预设存储分区中存储的结构化数据为交易类型对象,包括:
获取所设置的预设时间内的最大读取数量;
在预设时间内从所述预设存储系统中每个预设存储分区读取小于等于所述最大读取数量的结构化数据;
解析所述预设存储系统中每个预设存储分区中存储的结构化数据为交易类型对象。
8.一种实时数据处理装置,其特征在于,所述装置包括:
图生成模块,用于获取待处理实时数据,并根据所述待处理实时数据的依赖方式生成有向无环图;
第一拆分模块,用于将所述有向无环图进行拆分得到初始任务,并获取拆分后的每一所述初始任务的任务量;
第一分配模块,用于将所述初始任务分配到不同的执行机中进行处理;
第一判断模块,用于判断每一所述初始任务的任务量之间的差值是否大于预设阀值,包括:获取各个初始任务的任务量,并按照由大到小或者由小到大的顺序进行排序,计算任务量最大的初始任务与任务量最小的初始任务的差值,判断所述差值是否大于预设阀值;
第二拆分模块,用于当存在差值大于预设阀值的初始任务时,则将差值大于预设阀值的初始任务中,任务量最大的初始任务进行拆分得到多个过度任务,继续获取下一任务量最大的初始任务,此时由于任务量最大的初始任务已经被拆分,因此排序在第二位的为下一任务量最大的初始任务,然后计算任务量最大的初始任务与任务量最小的初始任务的差值,并返回至所述判断每一所述初始任务的任务量之间的差值是否大于预设阀值的步骤,直至计算至任务量最大的初始任务与任务量最小的初始任务的差值小于预设阀值时,则停止;
第二分配模块,用于将所述过度任务分别分配到对应的执行机的不同的线程中进行执行;
存储模块,用于将各个执行机执行得到的交易对象存储至分布式存储系统中。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN201911277999.3A 2019-12-11 2019-12-11 实时数据处理方法、装置、计算机设备和存储介质 Active CN111190703B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911277999.3A CN111190703B (zh) 2019-12-11 2019-12-11 实时数据处理方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911277999.3A CN111190703B (zh) 2019-12-11 2019-12-11 实时数据处理方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN111190703A CN111190703A (zh) 2020-05-22
CN111190703B true CN111190703B (zh) 2023-02-07

Family

ID=70711032

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911277999.3A Active CN111190703B (zh) 2019-12-11 2019-12-11 实时数据处理方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN111190703B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112148455B (zh) * 2020-09-29 2021-07-27 星环信息科技(上海)股份有限公司 一种任务处理方法、设备及介质
CN112286917B (zh) * 2020-10-22 2022-10-18 北京锐安科技有限公司 数据处理方法、装置、电子设备和存储介质
CN113626207B (zh) * 2021-10-12 2022-03-08 苍穹数码技术股份有限公司 地图数据处理方法、装置、设备及存储介质
CN115277221B (zh) * 2022-07-29 2024-06-07 深圳市风云实业有限公司 一种基于数据透明落地及协议隔离的传输方法和隔离设备
CN116628428B (zh) * 2023-07-24 2023-10-31 华能信息技术有限公司 一种数据加工方法及系统
CN116663860B (zh) * 2023-07-27 2024-01-09 深圳昊通技术有限公司 一种项目需求的任务分配方法、系统和可读存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108564988A (zh) * 2018-03-20 2018-09-21 深圳中兴网信科技有限公司 基于OpenEHR的档案存储方法、档案存储系统
CN108829508A (zh) * 2018-03-30 2018-11-16 北京趣拿信息技术有限公司 任务处理方法和装置
WO2019019381A1 (zh) * 2017-07-25 2019-01-31 平安科技(深圳)有限公司 批量处理保单任务的方法、装置、计算机设备及存储介质
CN109558237A (zh) * 2017-09-27 2019-04-02 北京国双科技有限公司 一种任务状态管理方法及装置
CN109783232A (zh) * 2018-12-21 2019-05-21 王家万 视频数据处理方法、装置及存储介质
CN109814986A (zh) * 2017-11-20 2019-05-28 上海寒武纪信息科技有限公司 任务并行处理方法、存储介质、计算机设备、装置和系统
CN110232087A (zh) * 2019-05-30 2019-09-13 湖南大学 大数据增量迭代方法、装置、计算机设备和存储介质
CN110321223A (zh) * 2019-07-03 2019-10-11 湖南大学 Coflow协同作业流调度感知的数据流划分方法与装置
WO2019218454A1 (zh) * 2018-05-16 2019-11-21 平安科技(深圳)有限公司 订阅报表生成方法、装置、计算机设备和存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019019381A1 (zh) * 2017-07-25 2019-01-31 平安科技(深圳)有限公司 批量处理保单任务的方法、装置、计算机设备及存储介质
CN109558237A (zh) * 2017-09-27 2019-04-02 北京国双科技有限公司 一种任务状态管理方法及装置
CN109814986A (zh) * 2017-11-20 2019-05-28 上海寒武纪信息科技有限公司 任务并行处理方法、存储介质、计算机设备、装置和系统
CN108564988A (zh) * 2018-03-20 2018-09-21 深圳中兴网信科技有限公司 基于OpenEHR的档案存储方法、档案存储系统
CN108829508A (zh) * 2018-03-30 2018-11-16 北京趣拿信息技术有限公司 任务处理方法和装置
WO2019218454A1 (zh) * 2018-05-16 2019-11-21 平安科技(深圳)有限公司 订阅报表生成方法、装置、计算机设备和存储介质
CN109783232A (zh) * 2018-12-21 2019-05-21 王家万 视频数据处理方法、装置及存储介质
CN110232087A (zh) * 2019-05-30 2019-09-13 湖南大学 大数据增量迭代方法、装置、计算机设备和存储介质
CN110321223A (zh) * 2019-07-03 2019-10-11 湖南大学 Coflow协同作业流调度感知的数据流划分方法与装置

Also Published As

Publication number Publication date
CN111190703A (zh) 2020-05-22

Similar Documents

Publication Publication Date Title
CN111190703B (zh) 实时数据处理方法、装置、计算机设备和存储介质
CN110321223B (zh) Coflow协同作业流调度感知的数据流划分方法与装置
CN111708627B (zh) 基于分布式调度框架的任务调度方法以及装置
CN110232087B (zh) 大数据增量迭代方法、装置、计算机设备和存储介质
CN111225050B (zh) 云计算资源分配方法及装置
CN108205469B (zh) 一种基于MapReduce的资源分配方法及服务器
CN109189572B (zh) 一种资源预估方法及系统、电子设备和存储介质
CN112000465B (zh) 数据中心环境下减少延迟敏感程序性能干扰的方法及系统
CN114625507A (zh) 基于有向无环图的任务调度方法、系统、设备及存储介质
CN114595919A (zh) 业务流程编排方法、装置、计算机设备和存储介质
CN106528065B (zh) 一种线程获取方法及设备
CN108388409B (zh) 打印请求处理方法、装置、计算机设备和存储介质
CN112163734A (zh) 基于云平台整定计算资源动态调度方法及装置
CN111506400A (zh) 计算资源分配系统、方法、装置和计算机设备
CN111259012A (zh) 数据均匀化方法、装置、计算机设备及存储介质
CN115904729A (zh) 一种连接分配的方法、装置、系统、设备及介质
CN113641674B (zh) 一种自适应全局序号发生方法和装置
CN111290868B (zh) 任务处理方法、装置和系统以及流程引擎
CN111400368A (zh) 一种分布式服务器系统的日志查找方法及装置
CN114168594A (zh) 一种水平分区表的二级索引创建方法、装置、设备及存储介质
Menouer et al. Towards a parallel constraint solver for cloud computing environments
CN111047187A (zh) 信息匹配处理方法、装置、计算机设备和存储介质
CN112860763A (zh) 实时流数据处理方法、装置、计算机设备和存储介质
CN112631771A (zh) 一种大数据系统的并行处理方法
CN111831352A (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20220524

Address after: 518048 China Aviation Center 2901, No. 1018, Huafu Road, Huahang community, Huaqiang North Street, Futian District, Shenzhen, Guangdong Province

Applicant after: Shenzhen Ping An medical and Health Technology Service Co.,Ltd.

Address before: Room 12G, Area H, 666 Beijing East Road, Huangpu District, Shanghai 200001

Applicant before: PING AN MEDICAL AND HEALTHCARE MANAGEMENT Co.,Ltd.

GR01 Patent grant
GR01 Patent grant