CN114579303B - 一种工业互联网的业务数据处理方法、设备及介质 - Google Patents

一种工业互联网的业务数据处理方法、设备及介质 Download PDF

Info

Publication number
CN114579303B
CN114579303B CN202210180085.0A CN202210180085A CN114579303B CN 114579303 B CN114579303 B CN 114579303B CN 202210180085 A CN202210180085 A CN 202210180085A CN 114579303 B CN114579303 B CN 114579303B
Authority
CN
China
Prior art keywords
threads
logic processing
thread
logic
service information
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
CN202210180085.0A
Other languages
English (en)
Other versions
CN114579303A (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.)
Inspur Industrial Internet Co Ltd
Original Assignee
Inspur Industrial Internet 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 Inspur Industrial Internet Co Ltd filed Critical Inspur Industrial Internet Co Ltd
Priority to CN202210180085.0A priority Critical patent/CN114579303B/zh
Publication of CN114579303A publication Critical patent/CN114579303A/zh
Application granted granted Critical
Publication of CN114579303B publication Critical patent/CN114579303B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/278Data partitioning, e.g. horizontal or vertical partitioning
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16YINFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
    • G16Y10/00Economic sectors
    • G16Y10/25Manufacturing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5018Thread allocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Manufacturing & Machinery (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请公开了一种工业互联网的业务数据处理方法、设备及介质,用以解决现有的数据处理方法在数据量过大时处理性能较低的技术问题。方法包括:获取工业设备上传的业务信息,并通过IP协议栈对所述业务信息进行分片,得到分片后的若干数据块;根据预设的流程引擎,确定业务信息对应的多个逻辑处理节点,以及由多个逻辑处理节点组成的主处理流程;根据数据块的数量,确定当前需调用的子线程数量;按照主处理流程包含的各逻辑处理节点之间的流转逻辑,依次从各逻辑处理节点对应的线程池中,调用与线程数量对应的多个目标子线;执行目标子线程,以对业务信息对应的若干数据块进行相应的业务逻辑处理。

Description

一种工业互联网的业务数据处理方法、设备及介质
技术领域
本申请涉及大数据技术领域,具体涉及一种工业互联网的业务数据处理方法、设备及介质。
背景技术
随着大数据技术的不断发展,越来越多的工厂也相继进行了智能化改造。但是随着智能化程度的不断加深,以及智能联网设备数量的不断增多,智能监控、智能生产等应用平台所面临的数据处理压力也随之增大,易导致数据处理过程中发生阻塞,降低数据处理效率,严重时还会引起系统宕机等问题,对工业生产带来不便。
发明内容
为了解决上述问题,本申请提出了一种工业互联网的业务数据处理方法,包括:获取工业设备上传的业务信息,并通过IP协议栈对业务信息进行分片,得到分片后的若干数据块;
根据预设的流程引擎,确定业务信息对应的多个逻辑处理节点,以及由多个逻辑处理节点组成的主处理流程;其中,各逻辑处理节点分别对应不同的线程池,线程池由多个子线程组成,线程池包括业务逻辑线程池、网络连接线程池和数据库连接线程池;
根据数据块的数量,确定当前需调用的子线程数量;
按照主处理流程包含的各逻辑处理节点之间的流转逻辑,依次从各逻辑处理节点对应的线程池中,调用与线程数量对应的多个目标子线程;
执行目标子线程,以对业务信息对应的若干数据块进行相应的业务逻辑处理。
在本申请的一种实现方式中,确定业务信息对应的多个逻辑处理节点之后,方法还包括:
针对各逻辑处理节点,建立该逻辑处理节点对应的主线程;
将主线程与其对应的逻辑处理节点所包含的多个子线程依次进行绑定,以生成相应的映射关系。
在本申请的一种实现方式中,按照主处理流程包含的各逻辑处理节点之间的流转逻辑,依次从各逻辑处理节点对应的线程池中,确定与线程数量对应的多个目标子线程,具体包括:
确定业务逻辑线程池对应的第一主线程,根据第一主线程对应的映射关系,将业务信息对应的数据块分配至业务逻辑线程池中的多个第一目标子线程;
在多个第一目标子线程均完成其对应的业务逻辑处理后,通过第一主线程,将多个第一目标子线程的第一数据处理结果流转至网络连接线程池对应的第二主线程,并根据第二主线程对应的映射关系,将多个第一目标子线程的数据处理结果,分配至网络连接线程池中的多个第二目标子线程;
在多个第二目标子线程均完成其对应的业务逻辑处理后,通过第二主线程,将多个第二目标子线程的第二数据处理结果流转至数据库连接线程池对应的第三主线程,并根据第三主线程对应的映射关系,将多个第二目标子线程的数据处理结果,分配至数据库连接线程池中的多个第三目标子线程;
其中,第一目标子线程、第二目标子线程和第三目标子线程的数量与线程数量相对应,且至少分别对应一个数据块。
在本申请的一种实现方式中,确定与线程数量对应的多个目标子线程之后,方法还包括:
针对逻辑处理节点,生成业务信息对应的进度标识位,并为进度标识位分配相应的默认值;
在逻辑处理节点对应的任一目标子线程完成其对应的业务逻辑处理之后,在默认值的基础上将进度标识位加一;
在进度标识位与数据块的数量相等时,确定目标子线程已完成对业务信息的业务逻辑处理。
在本申请的一种实现方式中,执行目标子线程,以对业务信息对应的若干数据块进行相应的业务逻辑处理之后,方法还包括:
获取目标子线程的开始执行时间;
根据开始执行时间,确定目标子线程的已执行时长,若已执行时长大于预设执行时长,则发送超时提示信息至流程引擎,以根据超时提示信息停用当前正在执行的目标子线程。
在本申请的一种实现方式中,获取业务设备上传的业务信息之前,方法还包括:
在业务信息对应的处理任务为非实时任务的情况下,确定业务信息对应的任务优先级;
按照任务优先级的顺序,将业务信息添加至对应的任务队列中,并生成业务信息对应的优先级标识,以根据优先级标识,在预设处理时间时按照任务优先级,从任务队列中获取待处理的业务信息。
在本申请的一种实现方式中,获取业务设备上传的业务信息之前,方法还包括:
确定流程引擎部署的服务器硬件指标;其中,硬件指标包括中央处理器数量以及单个中央处理器的核数;
根据中央处理器数量以及单个中央处理器的核数,确定流程引擎对应的多个中央处理器核。
在本申请的一种实现方式中,针对各逻辑处理节点,建立该逻辑处理节点对应的主线程,具体包括:
从多个中央处理器核中,确定与各逻辑处理节点的数量相匹配的多个第一中央处理器核;
建立逻辑处理节点对应的主线程,并将主线程与第一中央处理器核进行绑定;
将主线程与其对应的逻辑处理节点所包含的多个子线程依次进行绑定之前,方法还包括:
针对各逻辑处理节点,建立其对应的多个子线程;
从多个中央处理器核中,确定除多个第一中央处理器核之外的多个第二中央处理器核,并将多个第二中央处理器核依次与多个子线程进行绑定。
本申请实施例提供了一种工业互联网的业务数据处理设备,设备包括:
至少一个处理器;以及,
与至少一个处理器通信连接的存储器;其中,
存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够:
获取工业设备上传的业务信息,并通过IP协议栈对业务信息进行分片,得到分片后的若干数据块;
根据预设的流程引擎,确定业务信息对应的多个逻辑处理节点,以及由多个逻辑处理节点组成的主处理流程;其中,各逻辑处理节点分别对应不同的线程池,线程池由多个子线程组成,线程池包括业务逻辑线程池、网络连接线程池和数据库连接线程池;
根据数据块的数量,确定当前需调用的子线程数量;
按照主处理流程包含的各逻辑处理节点之间的流转逻辑,依次从各逻辑处理节点对应的线程池中,调用与线程数量对应的多个目标子线程;
执行目标子线程,以对业务信息对应的若干数据块进行相应的业务逻辑处理。
本申请实施例提供了一种非易失性计算机存储介质,存储有计算机可执行指令,计算机可执行指令设置为:
获取工业设备上传的业务信息,并通过IP协议栈对业务信息进行分片,得到分片后的若干数据块;
根据预设的流程引擎,确定业务信息对应的多个逻辑处理节点,以及由多个逻辑处理节点组成的主处理流程;其中,各逻辑处理节点分别对应不同的线程池,线程池由多个子线程组成,线程池包括业务逻辑线程池、网络连接线程池和数据库连接线程池;
根据数据块的数量,确定当前需调用的子线程数量;
按照主处理流程包含的各逻辑处理节点之间的流转逻辑,依次从各逻辑处理节点对应的线程池中,调用与线程数量对应的多个目标子线程;
执行目标子线程,以对业务信息对应的若干数据块进行相应的业务逻辑处理。
本申请实施例提供的一种工业互联网的业务数据处理方法能够带来如下有益效果:
对业务信息进行分片得到若干数据块,通过预设的流程引擎所确定的主处理流程,对数据块进行处理流程的流转,并通过各逻辑处理节点对应的子线程对数据块进行相应的业务逻辑处理,使得主处理流程中包含的多个逻辑处理节点仅用于处理流程之间的流转,而具体的逻辑处理功能则分配给子线程去进行,在降低了主处理流程的处理压力的同时,也提供了更强的并发处理能力,提高了业务数据的处理性能。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例提供的一种工业互联网的业务数据处理方法的流程示意图;
图2为本申请实施例提供的一种通用业务数据处理流程示例图;
图3为本申请实施例提供的一种优化业务数据处理流程示例图;
图4为本申请实施例提供的一种工业互联网的业务数据处理设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下结合附图,详细说明本申请各实施例提供的技术方案。
如图1所示,本申请实施例提供的一种工业互联网的业务数据处理方法,包括:
S101:获取工业设备上传的业务信息,并通过IP协议栈对业务信息进行分片,得到分片后的若干数据块。
业务信息是指接入到工业互联网中的工业设备在运行过程中,上传至流程引擎的业务请求信息,比如,请求查询设备状态数据、请求写入生产数据等。流程引擎是在微服务架构下通过编程语言(比如,Java)编写的轻量级业务流程引擎,能够按照设定好的固定流程去驱动业务流程之间的流转。流程引擎在接收到业务信息后,需对上传的业务信息进行解析处理,以此实现相应业务逻辑的执行和流转。
服务器需从任务队列中获取工业设备上传的业务信息,而业务信息对应的处理任务包括实时任务和非实时任务。对于实时任务来说,当设备上传业务信息至流程引擎之后,服务器便立即从任务队列中获取待处理的业务信息,然后对业务信息进行后续处理。而对于非实时任务来说,其任务的处理时间是固定的,因此,服务器在接收到业务信息之后,首先需确定该业务信息对应的任务优先级,然后按照任务优先级的顺序,将业务信息添加至对应的任务队列中,并生成该业务信息对应的优先级标识,这样便可以根据优先级标识,在到达预设处理时间时,按照任务优先级,从任务队列中获取待处理的业务信息。设置任务队列,可以将数据处理任务等待到预设时间时再执行,这样能够避免主处理流程发生阻塞,而设置优先级则考虑到了实际的业务需求,实用性更强。
工厂内的业务信息大多为大批量数据,为降低流程引擎的处理压力,流程引擎所部署的服务器在接收到上传的业务信息之后,需通过IP协议栈对业务信息进行分片,得到分片后的若干数据块。需要说明的是,分片可以是均匀分片,也可以根据当前流程引擎中的空闲线程数,将业务信息划分为不同大小的数据块。
S102:根据预设的流程引擎,确定业务信息对应的多个逻辑处理节点,以及由多个逻辑处理节点组成的主处理流程;其中,各逻辑处理节点分别对应不同的线程池,线程池由多个子线程组成,线程池包括业务逻辑线程池、网络连接线程池和数据库连接线程池。
业务处理流程可大致分为以下步骤:业务逻辑处理、网络连接和数据库连接。服务器在解析出业务信息对应的业务逻辑之后,在执行业务逻辑的过程中,需通过确定网络连接逻辑来调用不同的I/O接口,并通过数据库调用逻辑实现与数据库之间的交互,最终完成对业务信息的处理。因此,在服务器接收到设备上传的业务信息并对业务信息进行分片之后,需根据流程引擎中预设的业务流程,确定出当前业务信息所要进行的逻辑处理流程(也就是主处理流程)以及对应的多个逻辑处理节点。
上述主处理流程仅为流程引擎驱动的流程流转逻辑,不包括实际的业务数据处理逻辑,而具体的业务逻辑处理由线程负责,这样可以降低主处理流程的处理压力,提高流程引擎的并发处理能力。
在一个实施例中,流程引擎所部署的服务器上运行有数据处理进程,流程引擎能够确定其部署的服务器硬件指标,比如中央处理器(central processing unit,CPU)数量以及单个CPU的核数,并根据CPU数量和单个CPU的核数之间的乘积,确定其对应的中央处理器核数。一个中央处理器核用于运行一个线程,因此,中央处理器核数也就决定了流程引擎可运行的数据处理线程数量N。数据处理线程分为主线程和子线程两种,其中,主线程对应逻辑处理节点,负责业务信息的流程流转,由流程引擎根据特定的触发条件驱动,子线程则是各逻辑处理节点用于处理其对应的业务逻辑时所需调用的线程,负责具体的业务逻辑处理,可以多并发执行任务。
在一个实施例中,在服务器确定业务信息对应的多个逻辑处理节点之后,需从多个中央处理器核中,确定与各逻辑处理节点的数量A相匹配的多个第一中央处理器核,在确定出多个第一中央处理器核之后,建立各逻辑处理节点分别对应的主线程,并将主线程与第一中央处理器核依次进行绑定,这样主线程便可运行于第一中央处理器核上。上述建立的主线程分别对应业务逻辑处理、网络连接和数据库连接的逻辑处理节点,可以实现不同逻辑处理节点之间的流程流转。
在建立完主线程之后,服务器需进一步针对各逻辑处理节点,为主线程建立其对应的各子线程,以在接收到数据流转请求时,能够将业务信息分发至对应的子线程中进行相应的逻辑处理。具体地,服务器可从多个中央处理器核中,确定除多个第一中央处理器核之外的多个第二中央处理器核,然后将多个第二中央处理器核依次与多个子线程进行绑定,这样,子线程便可运行于第二中央处理器核上,进行相应的业务逻辑处理。
在建立完主线程和子线程之后,服务器需将主线程与其对应的逻辑处理节点所包含的多个子线程依次进行绑定,从而生成相应的映射关系。由于业务信息的主处理流程与具体的业务逻辑处理是分离开的,为实现完整的数据处理过程,在业务信息流转到逻辑处理节点之后,还需确定出该逻辑处理节点对应的子线程,而映射关系便能够根据该逻辑处理节点对应的主线程匹配出相应的子线程。
S103:根据数据块的数量,确定当前需调用的子线程数量。
单个线程负责处理单个数据块中携带的数据,因此,服务器在对业务信息进行分片后,需根据数据块的数量,确定当前需调用的子线程数量。其中,各子线程至少对应一个数据块。
S104:按照主处理流程包含的各逻辑处理节点之间的流转逻辑,依次从各逻辑处理节点对应的线程池中,调用与线程数量对应的多个目标子线程。
在建立完主线程和子线程之后,服务器可按照各逻辑处理节点之间的流转逻辑,依次将数据流转至对应的逻辑处理节点,并在各逻辑处理节点处,通过调用其对应的线程池中的目标子线程,进行相应的业务逻辑处理。需要说明的是,各逻辑处理节点需调用的目标子线程数量都是相同的。
S105:执行目标子线程,以对业务信息对应的若干数据块进行相应的业务逻辑处理。
在一个实施例中,逻辑处理节点对应的线程池按照流转逻辑,依次为业务逻辑线程池、网络连接线程池和数据库连接线程池。在确定好各逻辑处理节点对应的目标子线程之后,服务器便能够按照主处理流程的流转逻辑,依次将数据块流转至对应的逻辑处理节点,并通过执行上述逻辑处理节点对应的目标子线程,对多个数据块并发进行相应的业务逻辑处理。
具体地,服务器在获取到确定需要调用的子线程数量之后,首先,确定业务逻辑线程池对应的第一主线程,根据第一主线程对应的映射关系,将业务信息对应的数据块分配至该业务逻辑线程池中的多个第一目标子线程。然后,在多个第一目标子线程均完成其对应的业务逻辑处理后,通过第一主线程,将多个第一目标子线程的第一数据处理结果流转至网络连接线程池对应的第二主线程,并根据第二主线程对应的映射关系,将多个第一目标子线程的数据处理结果分配至网络连接线程池中的多个第二目标子线程。最后,在多个第二目标子线程均完成其对应的业务逻辑处理后,通过第二主线程,将多个第二目标子线程的第二数据处理结果流转至数据库连接线程池对应的第三主线程,并根据第三主线程对应的映射关系,将多个第二目标子线程的数据处理结果分配至数据库连接线程池中的多个第三目标子线程。
而要确定目标子线程是否已对全部数据块完成了数据处理,需通过业务信息中携带的进度标识位来实现。在确定业务信息对应的目标子线程之后,服务器可针对逻辑处理节点,生成该业务信息对应的进度标识位,并为进度标识位分配相应的默认值,该默认值通常设为0。进度标识位用于记录当前业务信息的处理进度,在逻辑处理节点对应的任一目标子线程完成其对应的业务逻辑处理之后,便在默认值的基础上将进度标识位加一。若进度标识位与数据块的数量相等,此时,便确定当前目标子线程已完成对该业务信息的业务逻辑处理,可将其处理结果流转至下一逻辑处理节点,以进行下一阶段的业务逻辑处理。
在一个实施例中,服务器可通过设置监听事件,对当前正在执行的目标子线程的状态进行监听。在目标子线程开始执行之后,服务器需获取其开始执行时间,然后根据该开始执行时间和当前时间,确定目标子线程的已执行时长。如果已执行时长大于预设执行时长,则说明在预设的线程执行时间内,目标子线程并未及时向流程引擎发送响应信息,此时目标子线程应发生了异常,需发送超时提示信息至流程引擎,这样,流程引擎在接收到该超时提示信息后,便可停用当前正在执行的目标子线程,防止其占用处理资源,造成资源浪费。
图2为本申请实施例提供的一种通用业务数据处理流程示例图,如图2所示,通用的业务数据处理流程一般采用的是每个逻辑处理节点在负责业务逻辑处理的基础上,同时还负责业务处理流程的流转功能。图3为本申请实施例提供的一种优化处理流程示例图,如图3所示,通过本申请实施例提供的优化业务数据处理流程,可将流程流转逻辑与业务逻辑分离开来,主处理流程负责业务处理流程的流转功能,而具体的业务逻辑处理功能则由线程池中的子线程去进行。线程池包括业务逻辑线程池、网络I/O线程池(即网络连接线程池)和数据库I/O连接池(即数据库连接池),每一线程池均由其对应的多个子线程组成,在业务数据的处理过程中,可依次通过调用业务逻辑线程池、网络I/O线程池和数据库I/O连接池中的子线程进行相应的业务逻辑处理。
以上为本申请提出的方法实施例。基于同样的思路,本申请的一些实施例还提供了上述方法对应的设备和非易失性计算机存储介质。
图4为本申请实施例提供的一种工业互联网的业务数据处理设备的结构示意图。如图4所示,包括:
至少一个处理器;以及,
至少一个处理器通信连接的存储器;其中,
存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够:
获取工业设备上传的业务信息,并通过IP协议栈对业务信息进行分片,得到分片后的若干数据块;
根据预设的流程引擎,确定业务信息对应的多个逻辑处理节点,以及由多个逻辑处理节点组成的主处理流程;其中,各逻辑处理节点分别对应不同的线程池,线程池由多个子线程组成,线程池包括业务逻辑线程池、网络连接线程池和数据库连接线程池;
根据数据块的数量,确定当前需调用的子线程数量;
按照主处理流程包含的各逻辑处理节点之间的流转逻辑,依次从各逻辑处理节点对应的线程池中,调用与线程数量对应的多个目标子线程;
执行目标子线程,以对业务信息对应的若干数据块进行相应的业务逻辑处理。
本申请实施例还提供了一种非易失性计算机存储介质,存储有计算机可执行指令,计算机可执行指令设置为:
获取工业设备上传的业务信息,并通过IP协议栈对业务信息进行分片,得到分片后的若干数据块;
根据预设的流程引擎,确定业务信息对应的多个逻辑处理节点,以及由多个逻辑处理节点组成的主处理流程;其中,各逻辑处理节点分别对应不同的线程池,线程池由多个子线程组成,线程池包括业务逻辑线程池、网络连接线程池和数据库连接线程池;
根据数据块的数量,确定当前需调用的子线程数量;
按照主处理流程包含的各逻辑处理节点之间的流转逻辑,依次从各逻辑处理节点对应的线程池中,调用与线程数量对应的多个目标子线程;
执行目标子线程,以对业务信息对应的若干数据块进行相应的业务逻辑处理。
本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备和介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请实施例提供的设备和介质与方法是一一对应的,因此,设备和介质也具有与其对应的方法类似的有益技术效果,由于上面已经对方法的有益技术效果进行了详细说明,因此,这里不再赘述设备和介质的有益技术效果。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (9)

1.一种工业互联网的业务数据处理方法,其特征在于,所述方法包括:
获取工业设备上传的业务信息,并通过IP协议栈对所述业务信息进行分片,得到分片后的若干数据块;
根据预设的流程引擎,确定所述业务信息对应的多个逻辑处理节点,以及由所述多个逻辑处理节点组成的主处理流程;其中,各逻辑处理节点分别对应不同的线程池,所述线程池由多个子线程组成,所述线程池包括业务逻辑线程池、网络连接线程池和数据库连接线程池;
根据所述数据块的数量,确定当前需调用的子线程数量;
按照所述主处理流程包含的各逻辑处理节点之间的流转逻辑,依次从各所述逻辑处理节点对应的线程池中,调用与所述线程数量对应的多个目标子线程;
执行所述目标子线程,以对所述业务信息对应的若干数据块进行相应的业务逻辑处理;
确定所述业务信息对应的多个逻辑处理节点之后,所述方法还包括:
针对各逻辑处理节点,建立该逻辑处理节点对应的主线程;
将所述主线程与其对应的逻辑处理节点所包含的多个子线程依次进行绑定,以生成相应的映射关系。
2.根据权利要求1所述的一种工业互联网的业务数据处理方法,其特征在于,按照所述主处理流程包含的各逻辑处理节点之间的流转逻辑,依次从各所述逻辑处理节点对应的线程池中,确定与所述线程数量对应的多个目标子线程,具体包括:
确定所述业务逻辑线程池对应的第一主线程,根据所述第一主线程对应的映射关系,将所述业务信息对应的数据块分配至所述业务逻辑线程池中的多个第一目标子线程;
在所述多个第一目标子线程均完成其对应的业务逻辑处理后,通过所述第一主线程,将所述多个第一目标子线程的第一数据处理结果流转至所述网络连接线程池对应的第二主线程,并根据所述第二主线程对应的映射关系,将所述多个第一目标子线程的数据处理结果,分配至所述网络连接线程池中的多个第二目标子线程;
在所述多个第二目标子线程均完成其对应的业务逻辑处理后,通过所述第二主线程,将所述多个第二目标子线程的第二数据处理结果流转至所述数据库连接线程池对应的第三主线程,并根据所述第三主线程对应的映射关系,将所述多个第二目标子线程的数据处理结果,分配至所述数据库连接线程池中的多个第三目标子线程;
其中,所述第一目标子线程、所述第二目标子线程和所述第三目标子线程的数量与所述线程数量相对应,且至少分别对应一个所述数据块。
3.根据权利要求1所述的一种工业互联网的业务数据处理方法,其特征在于,确定与所述线程数量对应的多个目标子线程之后,所述方法还包括:
针对所述逻辑处理节点,生成所述业务信息对应的进度标识位,并为所述进度标识位分配相应的默认值;
在所述逻辑处理节点对应的任一目标子线程完成其对应的业务逻辑处理之后,在所述默认值的基础上将所述进度标识位加一;
在所述进度标识位与所述数据块的数量相等时,确定所述目标子线程已完成对所述业务信息的业务逻辑处理。
4.根据权利要求1所述的一种工业互联网的业务数据处理方法,其特征在于,执行所述目标子线程,以对所述业务信息对应的若干数据块进行相应的业务逻辑处理之后,所述方法还包括:
获取所述目标子线程的开始执行时间;
根据所述开始执行时间,确定所述目标子线程的已执行时长,若所述已执行时长大于预设执行时长,则发送超时提示信息至流程引擎,以根据所述超时提示信息停用当前正在执行的所述目标子线程。
5.根据权利要求1所述的一种工业互联网的业务数据处理方法,其特征在于,获取工业设备上传的业务信息之前,所述方法还包括:
在所述业务信息对应的处理任务为非实时任务的情况下,确定所述业务信息对应的任务优先级;
按照所述任务优先级的顺序,将所述业务信息添加至对应的任务队列中,并生成所述业务信息对应的优先级标识,以根据所述优先级标识,在预设处理时间时按照所述任务优先级,从所述任务队列中获取待处理的业务信息。
6.根据权利要求1所述的一种工业互联网的业务数据处理方法,其特征在于,获取工业设备上传的业务信息之前,所述方法还包括:
确定流程引擎部署的服务器硬件指标;其中,所述硬件指标包括中央处理器数量以及单个中央处理器的核数;
根据所述中央处理器数量以及所述单个中央处理器的核数,确定所述流程引擎对应的多个中央处理器核。
7.根据权利要求6所述的一种工业互联网的业务数据处理方法,其特征在于,针对各逻辑处理节点,建立该逻辑处理节点对应的主线程,具体包括:
从所述多个中央处理器核中,确定与各所述逻辑处理节点的数量相匹配的多个第一中央处理器核;
建立所述逻辑处理节点对应的主线程,并将所述主线程与所述第一中央处理器核进行绑定;
将所述主线程与其对应的逻辑处理节点所包含的多个子线程依次进行绑定之前,所述方法还包括:
针对各所述逻辑处理节点,建立其对应的多个子线程;
从所述多个中央处理器核中,确定除所述多个第一中央处理器核之外的多个第二中央处理器核,并将所述多个第二中央处理器核依次与所述多个子线程进行绑定。
8.一种工业互联网的业务数据处理设备,其特征在于,设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
获取工业设备上传的业务信息,并通过IP协议栈对所述业务信息进行分片,得到分片后的若干数据块;
根据预设的流程引擎,确定所述业务信息对应的多个逻辑处理节点,以及由所述多个逻辑处理节点组成的主处理流程;其中,各逻辑处理节点分别对应不同的线程池,所述线程池由多个子线程组成,所述线程池包括业务逻辑线程池、网络连接线程池和数据库连接线程池;
根据所述数据块的数量,确定当前需调用的子线程数量;
按照所述主处理流程包含的各逻辑处理节点之间的流转逻辑,依次从各所述逻辑处理节点对应的线程池中,调用与所述线程数量对应的多个目标子线程;
执行所述目标子线程,以对所述业务信息对应的若干数据块进行相应的业务逻辑处理;
确定所述业务信息对应的多个逻辑处理节点之后,还包括:
针对各逻辑处理节点,建立该逻辑处理节点对应的主线程;
将所述主线程与其对应的逻辑处理节点所包含的多个子线程依次进行绑定,以生成相应的映射关系。
9.一种非易失性计算机存储介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令设置为:
获取工业设备上传的业务信息,并通过IP协议栈对所述业务信息进行分片,得到分片后的若干数据块;
根据预设的流程引擎,确定所述业务信息对应的多个逻辑处理节点,以及由所述多个逻辑处理节点组成的主处理流程;其中,各逻辑处理节点分别对应不同的线程池,所述线程池由多个子线程组成,所述线程池包括业务逻辑线程池、网络连接线程池和数据库连接线程池;
根据所述数据块的数量,确定当前需调用的子线程数量;
按照所述主处理流程包含的各逻辑处理节点之间的流转逻辑,依次从各所述逻辑处理节点对应的线程池中,调用与所述线程数量对应的多个目标子线程;
执行所述目标子线程,以对所述业务信息对应的若干数据块进行相应的业务逻辑处理;
确定所述业务信息对应的多个逻辑处理节点之后,还包括:
针对各逻辑处理节点,建立该逻辑处理节点对应的主线程;
将所述主线程与其对应的逻辑处理节点所包含的多个子线程依次进行绑定,以生成相应的映射关系。
CN202210180085.0A 2022-02-25 2022-02-25 一种工业互联网的业务数据处理方法、设备及介质 Active CN114579303B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210180085.0A CN114579303B (zh) 2022-02-25 2022-02-25 一种工业互联网的业务数据处理方法、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210180085.0A CN114579303B (zh) 2022-02-25 2022-02-25 一种工业互联网的业务数据处理方法、设备及介质

Publications (2)

Publication Number Publication Date
CN114579303A CN114579303A (zh) 2022-06-03
CN114579303B true CN114579303B (zh) 2024-08-30

Family

ID=81774149

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210180085.0A Active CN114579303B (zh) 2022-02-25 2022-02-25 一种工业互联网的业务数据处理方法、设备及介质

Country Status (1)

Country Link
CN (1) CN114579303B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115964181B (zh) * 2023-03-10 2023-06-06 之江实验室 一种数据处理的方法、装置、存储介质及电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108665239A (zh) * 2018-05-08 2018-10-16 平安普惠企业管理有限公司 工作流处理方法、装置、计算机设备及存储介质
CN113326117A (zh) * 2021-07-15 2021-08-31 中国电子科技集团公司第十五研究所 一种任务调度方法、装置及设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7660638B2 (en) * 2005-09-30 2010-02-09 Rockwell Automation Technologies, Inc. Business process execution engine
CN103593236B (zh) * 2013-11-14 2017-02-22 华为技术有限公司 一种业务流程调度的计算机设备、方法和装置
CN111338803B (zh) * 2020-03-16 2024-01-09 北京达佳互联信息技术有限公司 一种线程处理方法和装置
CN113409153A (zh) * 2020-03-16 2021-09-17 京东安联财产保险有限公司 业务流程管理系统与业务流程处理方法、设备及存储介质
CN112667318A (zh) * 2020-12-31 2021-04-16 京信网络系统股份有限公司 逻辑核的绑定方法、装置、设备及存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108665239A (zh) * 2018-05-08 2018-10-16 平安普惠企业管理有限公司 工作流处理方法、装置、计算机设备及存储介质
CN113326117A (zh) * 2021-07-15 2021-08-31 中国电子科技集团公司第十五研究所 一种任务调度方法、装置及设备

Also Published As

Publication number Publication date
CN114579303A (zh) 2022-06-03

Similar Documents

Publication Publication Date Title
US10367719B2 (en) Optimized consumption of third-party web services in a composite service
CN113114715B (zh) 一种基于边缘计算的调度方法及边缘设备集群
US9104501B2 (en) Preparing parallel tasks to use a synchronization register
CN114579303B (zh) 一种工业互联网的业务数据处理方法、设备及介质
CN112615905B (zh) 区块链分片的调度方法、装置、设备及存储介质
CN110995616A (zh) 一种大流量服务器的管理方法、设备及可读介质
CN111338802A (zh) 一种优化大数据集群性能的方法、系统、设备及介质
WO2024156239A1 (zh) 视频流传输方法、装置、电子设备及存储介质
US20170344266A1 (en) Methods for dynamic resource reservation based on classified i/o requests and devices thereof
WO2020029405A1 (zh) 一种数据发射方法及装置
CN112416534A (zh) 一种基于Agent的任务管理方法及装置
CN110780993A (zh) 一种基于Kubernetes的资源调度优化的方法、设备及介质
US12019909B2 (en) IO request pipeline processing device, method and system, and storage medium
US20220188153A1 (en) System and method of executing task of operating system for vehicle
CN113419828B (zh) 一种对象存储的生命周期管理方法和系统
CN108255820B (zh) 分布式系统中数据入库的方法、装置以及电子设备
CN110618863A (zh) 一种基于Raft算法的作业调度方法
CN117041235A (zh) 一种基于Web应用的实时通信方法、设备及介质
CN111176845A (zh) 一种双控制器的数据读取方法及相关装置
CN111435925B (zh) 快照数据传输方法及装置
CN114095760B (zh) 一种数据传输的方法及其数据传输装置
CN114697299B (zh) 一种音视频转码优先级确定方法、系统、装置及存储介质
CN112311829B (zh) 一种调度访问请求的方法、装置、介质及设备
EP3933582B1 (en) Distributed storage method and device, electronic apparatus and computer-readable medium
CN112199168A (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
CB02 Change of applicant information
CB02 Change of applicant information

Country or region after: China

Address after: 250101 19th floor, building S02, Inspur Science Park, No. 1036, Inspur Road, high tech Zone, Jinan, Shandong Province

Applicant after: Inspur industrial Internet Co.,Ltd.

Address before: 250101 19th floor, building S02, Inspur Science Park, No. 1036, Inspur Road, high tech Zone, Jinan, Shandong Province

Applicant before: Shandong Inspur industrial Internet Industry Co.,Ltd.

Country or region before: China

GR01 Patent grant
GR01 Patent grant