CN116185930A - 一种并发总线任务的处理方法、装置、系统及电子设备 - Google Patents

一种并发总线任务的处理方法、装置、系统及电子设备 Download PDF

Info

Publication number
CN116185930A
CN116185930A CN202211635615.2A CN202211635615A CN116185930A CN 116185930 A CN116185930 A CN 116185930A CN 202211635615 A CN202211635615 A CN 202211635615A CN 116185930 A CN116185930 A CN 116185930A
Authority
CN
China
Prior art keywords
bus
task
target
priority
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
Application number
CN202211635615.2A
Other languages
English (en)
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.)
Beijing Epsolar Technology Co ltd
Original Assignee
Beijing Epsolar Technology 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 Beijing Epsolar Technology Co ltd filed Critical Beijing Epsolar Technology Co ltd
Priority to CN202211635615.2A priority Critical patent/CN116185930A/zh
Publication of CN116185930A publication Critical patent/CN116185930A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Small-Scale Networks (AREA)

Abstract

本申请提供了一种并发总线任务的处理方法、装置、系统及电子设备,该方法包括:确定总线上锁标记的取值是否为第一设定值;若取值是第一设定值,从总线任务队列中选取当前执行的目标总线任务;将总线上锁标记的取值设置为第二设定值;在临界区内对目标总线任务进行数据组包生成目标数据包,将目标数据包发送至目标从设备;接收目标从设备返回的响应数据,将目标总线任务从总线任务队列中移除,将总线上锁标记的取值设置为第一设定值,返回执行确定总线上锁标记的取值是否为第一设定值的步骤。通过采用上述并发总线任务的处理方法、装置、系统及电子设备,解决了主机通过485总线与多台设备同时进行通信时,通讯数据不准确及数据通讯失败的问题。

Description

一种并发总线任务的处理方法、装置、系统及电子设备
技术领域
本申请涉及通信技术领域,具体而言,涉及一种并发总线任务的处理方法、装置、系统及电子设备。
背景技术
RS-485通信总线自诞生以来,因其具有抗干扰能力强、传输距离远、传输稳定性高、成本低廉等特点被广泛应用于工业控制、电力、仪器仪表等各个领域,尤其是在工业控制领域485总线的应用非常广泛。目前,对于大多数工业控制领域来说,485总线网络中通常不是单台设备间的点对点的通信,而是一主多从,甚至是多主多从的通信网络。
然而,由于485总线是半双工通信总线,如果有多台设备与主机同时通信的话就会造成数据粘包,数据通讯失败等问题。而数据不准确、数据通讯失败会对产品的性能大打折扣,如果产品对于数据准确性的要求较高,那么一旦发生数据失真,则会导致灾难性的后果。
发明内容
有鉴于此,本申请的目的在于提供一种并发总线任务的处理方法、装置、系统及电子设备,以解决主机通过485总线与多台设备同时进行通信时,通讯数据不准确及数据通讯失败的问题。
第一方面,本申请实施例提供了一种并发总线任务的处理方法,包括:
确定总线上锁标记的取值是否为第一设定值;
若取值是第一设定值,从总线任务队列中选取优先级最高的待处理总线任务作为当前执行的目标总线任务;
将总线上锁标记的取值设置为第二设定值;
在临界区内对目标总线任务进行数据组包生成目标数据包,通过485总线将目标数据包发送至目标从设备;
接收目标从设备返回的响应数据,将目标总线任务从总线任务队列中移除,将总线上锁标记的取值设置为第一设定值,返回执行确定总线上锁标记的取值是否为第一设定值的步骤。
可选地,在确定总线上锁标记的取值是否为第一设定值之前,还包括:响应于目标设备针对目标从设备发送的数据读写指令,生成目标待处理总线任务;基于数据读写指令的指令类型以及发送数据读写指令的目标设备的设备类型,确定目标待处理总线任务的任务优先级;按照任务优先级将目标待处理总线任务放入总线任务队列中。
可选地,在确定总线上锁标记的取值是否为第一设定值之后,还包括:若取值不是第一设定值,每隔设定时间间隔获取一次总线上锁标记的取值,直至取值为第一设定值,以执行目标总线任务。
可选地,指令类型包括数据读取类型以及数据写入类型,设备类型包括主机以及上位机;基于数据读写指令的指令类型以及发送数据读写指令的目标设备的设备类型,确定目标待处理总线任务的任务优先级,包括:将数据写入类型对应的待处理总线任务的任务优先级高于数据读取类型对应的待处理总线任务的任务优先级作为第一优先级原则;将主机对应的待处理总线任务的任务优先级高于上位机对应的待处理总线任务的任务优先级作为第二优先级原则;基于第一优先级原则以及第二优先级原则,确定目标待处理总线任务的任务优先级。
可选地,目标设备为上位机,上位机包括多个;在基于第一优先级原则以及第二优先级原则,确定目标待处理总线任务的任务优先级之后,还包括:确定目标设备在多个上位机中的排序;将排名靠前的上位机对应的待处理总线任务的任务优先级高于排名靠后的上位机对应的待处理总线任务的任务优先级作为第三优先级原则;基于第一优先级原则、第三优先级原则以及目标设备在多个上位机中的排序,确定目标待处理总线任务的任务优先级。
可选地,基于第一优先级原则以及第二优先级原则,确定目标待处理总线任务的任务优先级,包括:若指令类型为数据写入类型且发送数据读写指令的设备为主机,确定任务优先级为第一优先级;若指令类型为数据读取类型且发送数据读写指令的设备为主机,确定任务优先级为第二优先级;若指令类型为数据写入类型且发送数据读写指令的设备为上位机,确定任务优先级为第三优先级;若指令类型为数据读取类型且发送数据读写指令的设备为上位机,确定任务优先级为第四优先级。
可选地,按照任务优先级将待处理总线任务放入总线任务队列中,包括:将目标待处理总线任务依次与总线任务队列中的每个待处理总线任务的任务优先级进行比较;基于比较结果确定目标待处理总线任务在总线任务队列中的位置。
第二方面,本申请实施例还提供了一种并发总线任务的处理装置,所述装置包括:
数据判断模块,用于确定总线上锁标记的取值是否为第一设定值;
任务选取模块,用于若取值是第一设定值,从总线任务队列中选取优先级最高的待处理总线任务作为当前执行的目标总线任务;
标记设置模块,用于将总线上锁标记的取值设置为第二设定值;
数据发送模块,用于在临界区内对目标总线任务进行数据组包生成目标数据包,通过485总线将目标数据包发送至目标从设备;
循环执行模块,用于接收目标从设备返回的响应数据,将目标总线任务从总线任务队列中移除,将总线上锁标记的取值设置为第一设定值,返回执行确定总线上锁标记的取值是否为第一设定值的步骤。
第三方面,本申请实施例还提供了一种并发总线任务的处理系统,所述系统包括多个上位机、主机、多个从设备;
多个上位机通过485总线分别与主机连接,通过主机对多个从设备进行读写操作;
主机通过485总线与多个从设备连接,主机执行上述的并发总线任务的处理方法,对多个从设备进行读写操作。
第四方面,本申请实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如上述的并发总线任务的处理方法的步骤。
本申请实施例带来了以下有益效果:
本申请实施例提供的一种并发总线任务的处理方法、装置、系统及电子设备,能够根据总线上锁标记确定485总线是否处于未锁定状态,如果处于未锁定状态,则选取总线任务队列中优先级最高的待处理总线任务进行执行,同时更新总线上锁标记,以更新485总线的锁定状态,并在临界区内对目标总线任务进行数据组包,以保证数据组包的过程是原子操作,任何进程无法打断该正在执行的目标总线任务,当目标总线任务执行结束时同样更新485总线的锁定状态,以进行下一个总线任务的处理,与现有技术中的并发总线任务的处理方法相比,解决了主机通过485总线与多台设备同时进行通信时,通讯数据不准确及数据通讯失败的问题。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例所提供的并发总线任务的处理方法的流程图;
图2示出了本申请实施例所提供的并发总线任务的处理装置的结构示意图;
图3示出了本申请实施例所提供的并发总线任务的处理系统的结构示意图;
图4示出了本申请实施例所提供的电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的每个其他实施例,都属于本申请保护的范围。
值得注意的是,在本申请提出之前,RS-485通信总线自诞生以来,因其具有抗干扰能力强、传输距离远、传输稳定性高、成本低廉等特点被广泛应用于工业控制、电力、仪器仪表等各个领域,尤其是在工业控制领域485总线的应用非常广泛。目前,对于大多数工业控制领域来说,485总线网络中通常不是单台设备间的点对点的通信,而是一主多从,甚至是多主多从的通信网络。然而,由于485总线是半双工通信总线,如果有多台设备与主机同时通信的话就会造成数据粘包,数据通讯失败等问题。而数据不准确、数据通讯失败会对产品的性能大打折扣,如果产品对于数据准确性的要求较高,那么一旦发生数据失真,则会导致灾难性的后果。
基于此,本申请实施例提供了一种并发总线任务的处理方法,以提高主机通过485总线与多台设备同时进行通信时,通讯数据的准确性及数据通讯成功率的问题。
请参阅图1,图1为本申请实施例所提供的一种并发总线任务的处理方法的流程图。如图1所示,本申请实施例提供的并发总线任务的处理方法,应用于主机,包括:
步骤S101,确定总线上锁标记的取值是否为第一设定值。
该步骤中,总线上锁标记可指485总线是否被锁定的标记,总线上锁标记用于确定485总线的锁定状态。
第一设定值可指表征485总线处于非锁定状态的数值,示例性的,第一设定值可以是0。
在本申请实施例中,主机与多个从设备之间通过第一485总线连接,主机还与多个上位机通过第二485总线连接,上位机以及主机通过485总线对从设备进行数据读写操作,每次的数据读写操作对应一个待处理总线任务,在执行待处理总线任务之前,首先获取第一485总线的总线上锁标记,如果总线上锁标记的取值为0,说明第一485总线此时空闲,可以执行待处理总线任务。
在一可选实施例中,在确定总线上锁标记的取值是否为第一设定值之前,还包括:响应于目标设备针对目标从设备发送的数据读写指令,生成目标待处理总线任务;基于数据读写指令的指令类型以及发送数据读写指令的目标设备的设备类型,确定目标待处理总线任务的任务优先级,按照任务优先级将目标待处理总线任务放入总线任务队列中。
这里,数据读写指令可指数据读取指令或者数据写入指令。
不同的数据读写指令对应不同的指令类型,指令类型包括读取数据类型、写入数据类型。
设备类型包括主机、上位机,上位机针对从设备的处理都是通过主机来完成的,主机安装有ucosiii实时操作系统,可以实现可剥夺多任务管理。
具体的,在执行待处理总线任务之前,主机从目标设备处接收到针对某个目标从设备发送的数据读取指令或者数据写入指令后,根据数据读写指令生成对应的目标待处理总线任务,其中,这个目标设备可以是主机本身,也可以是主机的上位机,目标待处理总线任务包括但不限于:任务标识、目标从设备标识、目标设备标识、读取或写入的数据信息。然后,主机根据指令类型以及设备类型确定该目标待处理总线任务的任务优先级,并按照确定的任务优先级将目标待处理总线任务放入总线任务队列中,优先级越高在总线任务队列中的位置越靠前,优先级越低在总线任务队列中的位置越靠后。
在一可选实施例中,指令类型包括数据读取类型以及数据写入类型,设备类型包括主机以及上位机;基于数据读写指令的指令类型以及发送数据读写指令的目标设备的设备类型,确定目标待处理总线任务的任务优先级,包括:将数据写入类型对应的待处理总线任务的任务优先级高于数据读取类型对应的待处理总线任务的任务优先级作为第一优先级原则;将主机对应的待处理总线任务的任务优先级高于上位机对应的待处理总线任务的任务优先级作为第二优先级原则;基于第一优先级原则以及第二优先级原则,确定目标待处理总线任务的任务优先级。
具体的,为了区分不同待处理总线任务之间的任务优先级,需要确定优先级的确定原则,这里可根据数据读写指令的指令类型确定第一优先级原则,以将数据写入指令与数据读取指令对应的待处理总线任务的任务优先级进行区分,其中,数据写入类型的数据读写指令对应的待处理总线任务的任务优先级高于数据读取类型的数据读写指令对应的待处理总线任务的任务优先级。
根据发送数据读写指令的目标设备的设备类型来确定第二优先级原则,以将主机与上位机各自对应的待处理总线任务的任务优先级进行区分,其中,主机作为目标设备时生成的待处理总线任务的任务优先级高于上位机作为目标设备时生成的待处理总线任务的任务优先级。最后,将第一层任务类型区分条件与第二层任务类型区分条件结合,确定目标待处理总线任务的任务优先级。
在一可选实施例中,基于第一优先级原则以及第二优先级原则,确定目标待处理总线任务的任务优先级,包括:若指令类型为数据写入类型且发送数据读写指令的设备为主机,确定任务优先级为第一优先级;若指令类型为数据读取类型且发送数据读写指令的设备为主机,确定任务优先级为第二优先级;若指令类型为数据写入类型且发送数据读写指令的设备为上位机,确定任务优先级为第三优先级;若指令类型为数据读取类型且发送数据读写指令的设备为上位机,确定任务优先级为第四优先级。
具体的,按照优先级由高到低的顺序,对应的四个优先级的顺序为第一优先级、第二优先级、第三优先级、第四优先级,也就是说,第一优先级的任务优先级最高,第四优先级的任务优先级最低,即,主机的数据写入指令对应的待处理总线任务的任务优先级排名第一,主机的数据读取指令对应的待处理总线任务的任务优先级排名第二,上位机的数据写入指令对应的待处理总线任务的任务优先级排名第三,主机的数据读取指令对应的待处理总线任务的任务优先级排名第四。这样,可以根据目标设备的设备类型以及不同数据读写指令的指令类型来确定对应生成的待处理总线任务的任务优先级。
在一可选实施例中,目标设备为上位机,上位机包括多个;在基于第一优先级原则以及第二优先级原则,确定目标待处理总线任务的任务优先级之后,还包括:确定目标设备在多个上位机中的排序;将排名靠前的上位机对应的待处理总线任务的任务优先级高于排名靠后的上位机对应的待处理总线任务的任务优先级作为第三优先级原则;基于第一优先级原则、第三优先级原则以及目标设备在多个上位机中的排序,确定目标待处理总线任务的任务优先级。
具体的,当上位机为多个时,多个上位机均可能向主机发送数据读写指令,此时为了区分多个上位机对应的不同待处理总线任务的任务优先级,需要对多个上位机进行排序。这里,可以是根据上位机的编号进行排序,也可以根据上位机所执行的业务逻辑的重要程度进行排序,排名越靠前对应的任务优先级越高,以区分不同上位机对应的待处理总线任务的优先级,这些不同上位机对应的待处理总线任务的优先级整体低于主机对应的待处理总线任务的优先级。
以主机发出一个数据写入指令、一个数据读取指令,第一个上位机发送一个数据写入指令、一个数据读取指令,第二个上位机发送一个数据写入指令、一个数据读取指令为例,则主机发送的数据写入指令对应的待处理总线任务的优先级为第一优先级,主机发送的数据读取指令对应的待处理总线任务的优先级为第二优先级,第一个上位机发送的数据写入指令对应的待处理总线任务的优先级为第三优先级,第一个上位机发送的数据读取指令对应的待处理总线任务的优先级为第四优先级,第二个上位机发送的数据写入指令对应的待处理总线任务的优先级为第五优先级,第二个上位机发送的数据读取指令对应的待处理总线任务的优先级为第六优先级。
在一可选实施例中,按照任务优先级将待处理总线任务放入总线任务队列中,包括:将目标待处理总线任务依次与总线任务队列中的每个待处理总线任务的任务优先级进行比较;基于比较结果确定目标待处理总线任务在总线任务队列中的位置。
具体的,如果总线任务队列中已经存在了多个待处理总线任务,那么在将新生成的目标待处理总线任务加入总线任务队列时,需要将该目标待处理总线任务的任务优先级与队列中每个待处理总线任务的任务优先级进行比较。具体的,首先选取队列中排名第一的待处理总线任务作为参考总线任务,将目标待处理总线任务的任务优先级与该参考总线任务的任务优先级进行比较,如果不高于该参考总线任务的任务优先级,则选取排名第二的待处理总线任务作为参考总线任务,将目标待处理总线任务的任务优先级与该新选取的参考总线任务的任务优先级进行比较,依此类推,直至目标待处理总线任务的任务优先级高于新选取的参考总线任务的任务优先级,由于目标待处理总线任务的生成时间晚于新选取的参考总线任务前一个任务的生成时间,所以,将该新选取的参考总线任务插入到新选取的参考总线任务之前,以加入到总线任务队列中。
步骤S102,若取值是第一设定值,从总线任务队列中选取优先级最高的待处理总线任务作为当前执行的目标总线任务。
该步骤中,如果总线上锁标记的取值为0,表示485总线处于空闲状态,485总线中没有正在进行的数据通讯,因此,可以从总线任务队列中选取一个待处理总线任务进行执行,该被选取的待处理总线任务是总线任务队列中排名第一的待处理总线任务,也是优先级最高的待处理总线任务。
在一可选实施例中,在确定总线上锁标记的取值是否为第一设定值之后,还包括:若取值不是第一设定值,每隔设定时间间隔获取一次总线上锁标记的取值,直至取值为第一设定值,以执行目标总线任务。
具体的,如果总线上锁标记的取值不为0,表示485总线处于忙碌状态,485总线中存在正在进行的数据通讯,因此,为了避免造成数据冲突或者数据错误,此时不能从总线任务队列中选取新的待处理总线任务进行执行,只能等待正在执行的总线任务执行完毕后,才能从总线任务队列中选取新的待处理总线任务进行执行。在等待的过程中会每隔一段时间就获取一次总线上锁标记的取值,直至上锁标记的取值为0。
步骤S103,将总线上锁标记的取值设置为第二设定值。
该步骤中,一旦从总线任务队列中选取新的当前执行的目标总线任务并执行之后,需要立刻对总线上锁标记的取值进行更新,将总线上锁标记的取值设置为1,表示当前485总线中已经存在正在执行的总线任务,485总线已被锁定,禁止选取新的待处理总线任务进行执行。
步骤S104,在临界区内对目标总线任务进行数据组包生成目标数据包,通过485总线将目标数据包发送至目标从设备。
该步骤中,在主机与从设备的485总线进行数据通讯的过程中,为了保证数据的完整性以及从机可以正确的识别主机的命令,主机会建立临界区,该临界区用于对当前执行的目标总线任务的数据进行组包处理,无论是发送数据还是接收数据,数据组包都在临界区内完成,以保证数据组包的过程是原子操作,任何进程不得打断临界区内正在执行的任务。
组包完成后生成目标数据包,将目标数据包通过485总线发送至对应的目标从设备,完成主机与目标从设备的数据通信。
另外,为了提高任务处理的实时性,主从设备之间的收发数据基本控制在几十毫秒内完成。
步骤S105,接收目标从设备返回的响应数据,将目标总线任务从总线任务队列中移除,将总线上锁标记的取值设置为第一设定值,返回执行确定总线上锁标记的取值是否为第一设定值的步骤。
该步骤中,目标从设备根据接收到的目标数据包返回相应的响应数据,例如:如果目标总线任务为获取目标从设备的当前电压值,则目标从设备会将包括当前电压值的响应数据通过485总线发送至主机,如果这个目标总线任务是基于上位机的数据读写指令生成的,则主机还需要将响应数据通过主机与上位机之间的485总线发送至上位机。
当目标总线任务完成后,需要将该目标总线任务从总线任务队列中移除,并更新总线上锁标记的取值,将总线上锁标记的取值设置为0,表示485总线当前处于空闲状态,可以执行新的总线任务,于是返回执行步骤S101。
需要说明的是,主机与不同上位机之间的485总线、主机与从设备之间的485总线,这些485总线之间是相互独立的总线,在硬件设计上采用不同的串口。
与现有技术中并发总线任务的处理方法相比,本申请能够根据总线上锁标记确定485总线是否处于未锁定状态,如果处于未锁定状态,则选取总线任务队列中优先级最高的待处理总线任务进行执行,同时更新总线上锁标记,以更新485总线的锁定状态,并在临界区内对目标总线任务进行数据组包,以保证数据组包的过程是原子操作,任何进程无法打断该正在执行的目标总线任务,当目标总线任务执行结束时同样更新485总线的锁定状态,以进行下一个总线任务的处理,解决了主机通过485总线与多台设备同时进行通信时,通讯数据不准确及数据通讯失败的问题。
基于同一发明构思,本申请实施例中还提供了与并发总线任务的处理方法对应的并发总线任务的处理装置,由于本申请实施例中的装置解决问题的原理与本申请实施例上述并发总线任务的处理方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
请参阅图2,图2为本申请实施例所提供的一种并发总线任务的处理装置的结构示意图。如图2中所示,所述并发总线任务的处理装置200包括:
数据判断模块201,用于确定总线上锁标记的取值是否为第一设定值;
任务选取模块202,用于若取值是第一设定值,从总线任务队列中选取优先级最高的待处理总线任务作为当前执行的目标总线任务;
标记设置模块203,用于将所述总线上锁标记的取值设置为第二设定值;
数据发送模块204,用于在临界区内对所述目标总线任务进行数据组包生成目标数据包,通过485总线将所述目标数据包发送至目标从设备;
循环执行模块205,用于接收所述目标从设备返回的响应数据,将所述目标总线任务从总线任务队列中移除,将所述总线上锁标记的取值设置为第一设定值,返回执行所述确定总线上锁标记的取值是否为第一设定值的步骤。
请参阅图3,图3为本申请实施例所提供的一种并发总线任务的处理系统的结构示意图。如图3中所示,所述并发总线任务的处理系统300包括多个上位机310、主机320、多个从设备330;
多个上位机310分别通过485总线与主机320连接,通过主机320对多个从设备330进行读写操作;
主机320通过485总线与多个从设备330连接,主机320执行如上述的并发总线任务的处理方法,对多个从设备330进行读写操作。
在本申请实施例中,每个上位机通过一条485总线连接到主机320上,将数据读写指令发送到主机,主机接收数据读写指令后生成对应的待处理总线任务。当执行待处理总线任务时,将待处理总线任务对应的数据信息进行组包生成目标数据包,将目标数据包通过主机与多个从设备之间的485总线发送到对应的目标从设备。然后,通过主机与多个从设备之间的485总线接收目标从设备返回的响应数据,以完成待处理总线任务。
请参阅图4,图4为本申请实施例所提供的一种电子设备的结构示意图。如图4中所示,所述电子设备400包括处理器410、存储器420和总线430。
所述存储器420存储有所述处理器410可执行的机器可读指令,当电子设备400运行时,所述处理器410与所述存储器420之间通过总线430通信,所述机器可读指令被所述处理器410执行时,可以执行如上述图1所示方法实施例中的并发总线任务的处理方法的步骤,具体实现方式可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种并发总线任务的处理方法,其特征在于,包括:
确定总线上锁标记的取值是否为第一设定值;
若取值是第一设定值,从总线任务队列中选取优先级最高的待处理总线任务作为当前执行的目标总线任务;
将所述总线上锁标记的取值设置为第二设定值;
在临界区内对所述目标总线任务进行数据组包生成目标数据包,通过485总线将所述目标数据包发送至目标从设备;
接收所述目标从设备返回的响应数据,将所述目标总线任务从总线任务队列中移除,将所述总线上锁标记的取值设置为第一设定值,返回执行所述确定总线上锁标记的取值是否为第一设定值的步骤。
2.根据权利要求1所述的方法,其特征在于,在所述确定总线上锁标记的取值是否为第一设定值之前,还包括:
响应于目标设备针对所述目标从设备发送的数据读写指令,生成目标待处理总线任务;
基于所述数据读写指令的指令类型以及发送所述数据读写指令的目标设备的设备类型,确定目标待处理总线任务的任务优先级;
按照所述任务优先级将目标待处理总线任务放入总线任务队列中。
3.根据权利要求1所述的方法,其特征在于,在所述确定总线上锁标记的取值是否为第一设定值之后,还包括:
若取值不是第一设定值,每隔设定时间间隔获取一次总线上锁标记的取值,直至取值为第一设定值,以执行目标总线任务。
4.根据权利要求2所述的方法,其特征在于,所述指令类型包括数据读取类型以及数据写入类型,设备类型包括主机以及上位机;
所述基于所述数据读写指令的指令类型以及发送所述数据读写指令的目标设备的设备类型,确定所述目标待处理总线任务的任务优先级,包括:
将数据写入类型对应的待处理总线任务的任务优先级高于数据读取类型对应的待处理总线任务的任务优先级作为第一优先级原则;
将主机对应的待处理总线任务的任务优先级高于上位机对应的待处理总线任务的任务优先级作为第二优先级原则;
基于所述第一优先级原则以及所述第二优先级原则,确定所述目标待处理总线任务的任务优先级。
5.根据权利要求4所述的方法,其特征在于,所述目标设备为上位机,所述上位机包括多个;
在所述基于所述第一优先级原则以及所述第二优先级原则,确定所述目标待处理总线任务的任务优先级之后,还包括:
确定所述目标设备在多个上位机中的排序;
将排名靠前的上位机对应的待处理总线任务的任务优先级高于排名靠后的上位机对应的待处理总线任务的任务优先级作为第三优先级原则;
基于所述第一优先级原则、第三优先级原则以及目标设备在多个上位机中的排序,确定所述目标待处理总线任务的任务优先级。
6.根据权利要求4所述的方法,其特征在于,所述基于所述第一优先级原则以及所述第二优先级原则,确定所述目标待处理总线任务的任务优先级,包括:
若所述指令类型为数据写入类型且发送数据读写指令的设备为主机,确定任务优先级为第一优先级;
若所述指令类型为数据读取类型且发送数据读写指令的设备为主机,确定任务优先级为第二优先级;
若所述指令类型为数据写入类型且发送数据读写指令的设备为上位机,确定任务优先级为第三优先级;
若所述指令类型为数据读取类型且发送数据读写指令的设备为上位机,确定任务优先级为第四优先级。
7.根据权利要求2所述的方法,其特征在于,所述按照任务优先级将待处理总线任务放入总线任务队列中,包括:
将所述目标待处理总线任务依次与所述总线任务队列中的每个待处理总线任务的任务优先级进行比较;
基于比较结果确定目标待处理总线任务在总线任务队列中的位置。
8.一种并发总线任务的处理装置,其特征在于,包括:
数据判断模块,用于确定总线上锁标记的取值是否为第一设定值;
任务选取模块,用于若取值是第一设定值,从总线任务队列中选取优先级最高的待处理总线任务作为当前执行的目标总线任务;
标记设置模块,用于将所述总线上锁标记的取值设置为第二设定值;
数据发送模块,用于在临界区内对所述目标总线任务进行数据组包生成目标数据包,通过485总线将所述目标数据包发送至目标从设备;
循环执行模块,用于接收所述目标从设备返回的响应数据,将所述目标总线任务从总线任务队列中移除,将所述总线上锁标记的取值设置为第一设定值,返回执行确定所述总线上锁标记的取值是否为第一设定值的步骤。
9.一种并发总线任务的处理系统,其特征在于,包括多个上位机、主机、多个从设备;
所述多个上位机分别通过485总线与主机连接,通过主机对多个从设备进行读写操作;
所述主机通过485总线与所述多个从设备连接,主机执行如权利要求1-7中任一项所述的并发总线任务的处理方法,对多个从设备进行读写操作。
10.一种电子设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如权利要求1至7中任一项所述的并发总线任务的处理方法的步骤。
CN202211635615.2A 2022-12-19 2022-12-19 一种并发总线任务的处理方法、装置、系统及电子设备 Pending CN116185930A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211635615.2A CN116185930A (zh) 2022-12-19 2022-12-19 一种并发总线任务的处理方法、装置、系统及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211635615.2A CN116185930A (zh) 2022-12-19 2022-12-19 一种并发总线任务的处理方法、装置、系统及电子设备

Publications (1)

Publication Number Publication Date
CN116185930A true CN116185930A (zh) 2023-05-30

Family

ID=86443303

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211635615.2A Pending CN116185930A (zh) 2022-12-19 2022-12-19 一种并发总线任务的处理方法、装置、系统及电子设备

Country Status (1)

Country Link
CN (1) CN116185930A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117971439A (zh) * 2024-03-29 2024-05-03 山东云海国创云计算装备产业创新中心有限公司 一种任务处理方法、系统、设备及计算机可读存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117971439A (zh) * 2024-03-29 2024-05-03 山东云海国创云计算装备产业创新中心有限公司 一种任务处理方法、系统、设备及计算机可读存储介质
CN117971439B (zh) * 2024-03-29 2024-06-18 山东云海国创云计算装备产业创新中心有限公司 一种任务处理方法、系统、设备及计算机可读存储介质

Similar Documents

Publication Publication Date Title
US8381230B2 (en) Message passing with queues and channels
US8131872B2 (en) Affinity-based transaction processing
US8826301B2 (en) Method and system for processing data for preventing deadlock
EP3230860B1 (en) Technologies for efficient synchronization barriers with work stealing support
US10725796B2 (en) Robot task management method, robot using the same and non-transitory computer readable storage medium
WO2008075361A2 (en) Apparatus, method and computer readable medium for disambiguating commands with respect to logical protocols
US7827343B2 (en) Method and apparatus for providing accelerator support in a bus protocol
WO2021004256A1 (zh) 一种节点故障时进行节点切换的方法及相关设备
CN116185930A (zh) 一种并发总线任务的处理方法、装置、系统及电子设备
CN109544344B (zh) 基于dag的区块链的交易处理方法及设备
CN104102549A (zh) 一种实现多线程互斥操作的方法、装置和芯片
CN112596801B (zh) 事务处理方法、装置、设备、存储介质、数据库
US8543722B2 (en) Message passing with queues and channels
CN111857545B (zh) 一种读写锁冲突判断方法、系统、设备及计算机介质
CN110908644B (zh) 状态节点的配置方法、装置、计算机设备和存储介质
KR20170117326A (ko) 랜덤 액세스 메모리를 포함하는 하나 이상의 처리 유닛을 위한 직접 메모리 액세스 제어 장치
CN103488505B (zh) 补丁方法、设备及系统
CN107153580B (zh) 获取队列精确状态的装置及其方法
US10958597B2 (en) General purpose ring buffer handling in a network controller
CN108874560B (zh) 进行通信的方法和通信设备
CN113347115A (zh) 消息处理方法、装置、电子设备及介质
CN116501507B (zh) 用于中断处理的方法及中断控制模块、处理器、存储介质
CN113691434B (zh) 数据传输系统、方法、电子设备及存储介质
CN111274228B (zh) 保单数据迁移存储方法、系统、设备及可读存储介质
EP4213055A1 (en) Encryption processing system, encryption processing program, and encryption processing method

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