CN116361031A - 消息的传输方法、系统、装置、处理器以及电子设备 - Google Patents
消息的传输方法、系统、装置、处理器以及电子设备 Download PDFInfo
- Publication number
- CN116361031A CN116361031A CN202310342578.4A CN202310342578A CN116361031A CN 116361031 A CN116361031 A CN 116361031A CN 202310342578 A CN202310342578 A CN 202310342578A CN 116361031 A CN116361031 A CN 116361031A
- Authority
- CN
- China
- Prior art keywords
- message
- processor
- processed
- level
- messages
- 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/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
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 And Data Communications (AREA)
Abstract
本申请公开了一种消息的传输方法、系统、装置、处理器以及电子设备。涉及网络通信领域,该方法包括:遍历第一处理器的M个消息队列,并获取M个消息队列中的N个待处理消息,其中,M个消息队列的级别不同,同一消息队列用于存储相同级别的待处理消息;根据消息队列的级别从高到低的顺序依次将N个待处理消息的传输通知发送至第二处理器,并接收第二处理器传递的消息处理结果;利用中断服务指令将消息处理结果回写至第一处理器的消息缓存空间中。通过本申请,解决了相关技术中传输处理器消息的效率低,难以提升传输效率的问题。
Description
技术领域
本申请涉及网络通信领域,具体而言,涉及一种消息的传输方法、系统、装置、处理器以及电子设备。
背景技术
在航天控制领域,每一处理器之间由总线进行连接,通过总线连接方式可以使得不同处理器之间顺利地进行消息的传输,已完成处理器通信的目的,由于在总线中进行传输的消息除单机遥测消息以外,均需要与本运行周期的计算紧密相关,因此每一条通信消息需要由主处理器来控制消息的发送。
现有技术中一般使用两种消息发送方法。单消息模式以及帧模式,在使用单消息模式进行消息的传递时,采用等待发送完成方式,每次消息产生时都能保证总线为空闲状态,发送流程设计简单但会过多的消耗主处理器的处理时间;而使用帧模式发送时,在帧消息处理期间无法处理新产生的消息,会增加新产生消息的延时。
针对相关技术中传输处理器消息的效率低,难以提升传输效率的问题,目前尚未提出有效的解决方案。
发明内容
本申请的主要目的在于提供一种消息的传输方法、系统、装置、处理器以及电子设备,以解决相关技术中传输处理器消息的效率低,难以提升传输效率的问题。
为了实现上述目的,根据本申请的一个方面,提供了一种消息的传输方法。该方法包括:遍历第一处理器的M个消息队列,并获取M个消息队列中的N个待处理消息,其中,M个消息队列的级别不同,同一消息队列用于存储相同级别的待处理消息;根据消息队列的级别从高到低的顺序依次将N个待处理消息的传输通知发送至第二处理器,并接收第二处理器传递的消息处理结果;利用中断服务指令将消息处理结果回写至第一处理器的消息缓存空间中。
可选地,在遍历第一处理器的M个消息队列,并获取M个消息队列中的N个待处理消息之前,方法还包括:获取消息缓存空间中存储的N个通信消息以及N个通信消息的级别的配置文件;在接收到N个通信消息的提升指令的情况下,遍历配置文件中的各个通信消息的级别,其中,提升指令用于指示消息需要提升至的目标级别;根据各个通信消息的级别和目标级别的关系提升X个通信消息的级别,将提升级别后的通信消息确定为待处理消息,并将待处理消息存储至匹配的消息队列中,其中,X小于等于N。
可选地,根据各个通信消息的级别和目标级别的关系提升X个通信消息的级别包括:判断各个通信消息的级别是否为预设级别;在每个通信消息的级别均不为预设级别的情况下,识别提升指令中的目标级别,将N个通信消息的级别提升至目标级别;在存在任意通信消息的级别为预设级别的情况下,将预设级别的通信消息以外的X个通信消息的级别提升至目标级别。
可选地,将待处理消息存储至匹配的消息队列中包括:获取M个消息队列的级别,根据待处理消息的级别和消息队列的级别从M个消息队列中匹配确定目标消息队列;将待处理消息存储至目标消息队列中。
可选地,在根据消息队列的级别从高到低的顺序依次将N个待处理消息的传输通知发送至第二处理器之前,方法还包括:识别每一消息队列关联的状态标签,并判断状态标签是否指示消息队列处于休眠状态;在M个消息队列存在处于休眠状态的消息队列的情况下,激活处于休眠状态的消息队列。
可选地,根据消息队列的级别从高到低的顺序依次将N个待处理消息的传输通知发送至第二处理器包括:按照顺序依次遍历M个消息队列,判断当前消息队列中是否存在待处理消息;在当前消息队列不存在待处理消息的情况下,遍历下一消息队列;在消息队列存在待处理消息的情况下,将待处理消息的传输通知发送至第二处理器。
可选地,在将待处理消息的传输通知发送至第二处理器之前,方法还包括:利用中断服务指令获取消息队列中的待处理消息;对待处理消息进行编译,得到传输通知。
为了实现上述目的,根据本申请的另一方面,提供了一种消息的传输系统。该系统包括:第一处理器,设置有M个消息队列和消息缓存空间,第一处理器用于遍历M个消息队列,并获取M个消息队列中的N个待处理消息,根据消息队列的级别从高到低的顺序依次将N个待处理消息的传输通知发送至第二处理器,第一处理器还用于接收由第二处理器传递的消息处理结果,利用中断服务指令将消息处理结果回写至消息缓存空间中;第二处理器,与第一处理器通信连接,用于接收传输通知,并响应传输通知向目标地址发送待处理消息,接收从目标地址反馈的消息处理结果,并将消息处理结果传递至第一处理器。
为了实现上述目的,根据本申请的另一方面,提供了一种消息的传输装置。该装置包括:第一遍历单元,用于遍历第一处理器的M个消息队列,并获取M个消息队列中的N个待处理消息,其中,M个消息队列的级别不同,同一消息队列用于存储相同级别的待处理消息;发送单元,用于根据消息队列的级别从高到低的顺序依次将N个待处理消息的传输通知发送至第二处理器,并接收第二处理器传递的消息处理结果;回写单元,用于利用中断服务指令将消息处理结果回写至第一处理器的消息缓存空间中。
根据本发明实施例的另一方面,还提供了一种处理器,处理器用于运行程序,其中,程序运行时控制非易失性存储介质所在的设备执行一种消息的传输方法。
根据本发明实施例的另一方面,还提供了一种电子设备,包含一个或多个处理器和存储器;存储器中存储有计算机可读指令,处理器用于运行计算机可读指令,其中,计算机可读指令运行时执行一种消息的传输方法。
通过本申请,采用以下步骤:遍历第一处理器的M个消息队列,并获取M个消息队列中的N个待处理消息,其中,M个消息队列的级别不同,同一消息队列用于存储相同级别的待处理消息;根据消息队列的级别从高到低的顺序依次将N个待处理消息的传输通知发送至第二处理器,并接收第二处理器传递的消息处理结果;利用中断服务指令将消息处理结果回写至第一处理器的消息缓存空间中,解决了相关技术中传输处理器消息的效率低,难以提升传输效率的问题,通过为每一个待处理消息以及每一个消息队列分配不同的优先级,进而利用优先级顺序处理消息队列中的待处理消息,进而达到了提高消息处理效率的效果。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例提供的消息的传输系统的示意图;
图2是根据本申请实施例提供的消息的传输方法的流程图;
图3是根据本申请实施例提供的可选的消息的传输方法的示意图;
图4是根据本申请实施例提供的消息的传输装置的示意图;
图5是根据本申请实施例提供的电子装置的示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,本公开所涉及的相关信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于展示的数据、分析的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
本申请实施例还提供了一种消息的传输系统。图1是根据本申请实施例提供的消息的传输系统的示意图,如图1所示,系统包括:
第一处理器101,设置有M个消息队列和消息缓存空间,第一处理器101用于遍历M个消息队列,并获取M个消息队列中的N个待处理消息,根据消息队列的级别从高到低的顺序依次将N个待处理消息的传输通知发送至第二处理器102,第一处理器101还用于接收由第二处理器102传递的消息处理结果,利用中断服务指令将消息处理结果回写至消息缓存空间中。
其中,消息队列的级别可以为消息队列的传输优先级,第一处理器101可以为数字信号处理器(DSP:Digital Signal Processor)、RISC微处理器(ARM:Advanced RISCMachines)、中央处理器(CPU)等主处理器,主要用于通过发送待处理消息的方式对通信过程进行控制,待处理消息是指以曼彻斯特码进行传输的总线消息,可以包括在总线中传输的单机遥测消息等。
具体的,在第一处理器101遍历自身的多个消息队列后可以得到待处理消息,再根据队列的传输优先级顺序向第二处理器102依次发送待处理消息的传输通知,在接收到第二处理器102返回的消息处理结果后,第一处理器101利用中断服务指令将其存储值消息缓存空间中。
需要说明的是,中断服务指令用于当CPU的外部或内部发生指定事件时,触发中断,并保存当前执行的程序状态,在执行完成后,跳回原程序位置恢复中断前的状态,也即当第一处理器101对多个消息队列中的待处理消息进行传输的过程中,需要回写上一个待处理消息的消息处理结果时,此时可以通过调用中断服务指令暂停消息的传输事件,在将第二处理器102转发的上一个待处理消息的消息处理结果回写至消息缓存空间中进行存储,也即完成回写操作后,返回原事件继续执行消息的传输。
第二处理器102,与第一处理器101通信连接,用于接收传输通知,并响应传输通知向目标地址发送待处理消息,接收从目标地址反馈的消息处理结果,并将消息处理结果传递至第一处理器101。
其中,第一处理器101与第二处理器102之间由物理传输介质构成的通信电缆连接,也即通过总线连接,以实现通信连接,第二处理器102可以包括不同型号的网卡,也即协同处理器,主要按照第一处理器101的控制要求完成待处理消息的传输,传输通知可以为提示第二处理器102发送该待处理消息的通知,目标地址是指待处理消息需要发送至的网络设备的地址。
具体的,第二处理器102在接收到由第一处理器101发送的传输通知后,识别传输通知中的待处理消息,将该消息发送给目标地址处的网络设备。进一步的,发送完成后接收由目标地址返回的消息处理结果,再将该结果转发至第一处理器101,其中,消息处理结果可以包括消息发送成功或消息发送失败。
本申请实施例提供的消息的传输系统,通过第一处理器101,设置有M个消息队列和消息缓存空间,第一处理器101用于遍历M个消息队列,并获取M个消息队列中的N个待处理消息,根据消息队列的级别从高到低的顺序依次将N个待处理消息的传输通知发送至第二处理器102,第一处理器101还用于接收由第二处理器102传递的消息处理结果,利用中断服务指令将消息处理结果回写至消息缓存空间中;第二处理器102,与第一处理器101通信连接,用于接收传输通知,并响应传输通知向目标地址发送待处理消息,接收从目标地址反馈的消息处理结果,并将消息处理结果传递至第一处理器101,解决了相关技术中传输处理器消息的效率低,难以提升传输效率的问题,通过为每一个待处理消息以及每一个消息队列分配不同的优先级,进而利用优先级顺序处理消息队列中的待处理消息,进而达到了提高消息处理效率的效果。
下面结合优选的实施步骤对本发明进行说明,图2是根据本申请实施例提供的消息的传输方法的流程图,如图2所示,该方法包括如下步骤:
步骤S201,遍历第一处理器的M个消息队列,并获取M个消息队列中的N个待处理消息,其中,M个消息队列的级别不同,同一消息队列用于存储相同级别的待处理消息。
其中,第一处理器是指以为数字信号处理器(DSP:Digital Signal Processor)、RISC微处理器(ARM:Advanced RISC Machines)、中央处理器(CPU)等主处理器,消息队列是指缓存待处理消息的存储空间,待处理消息的级别可以为待处理消息的传输优先级等级,每一消息队列的级别可以为消息队列的传输优先级等级,消息队列的级别越高,表明消息队列中的消息的传输优先级等级越高,在传输待处理消息的过程中,会根据优先级等级由高到低的顺序先传输高优先级的消息队列中的消息,再传输低优先级的消息队列中的消息。
具体的,在第一处理器遍历自身的每一个消息队列后,从中可以获得多个待处理消息,其中,待处理消息可以是指不同处理器之间在总线中进行传输的遥测消息。
步骤S202,根据消息队列的级别从高到低的顺序依次将N个待处理消息的传输通知发送至第二处理器,并接收第二处理器传递的消息处理结果。
具体的,在从消息队列中获取所有待处理消息后,需要判断第一处理器与第二处理器之间的传输通道,也即判断连接的总线是否处于空闲状态,在总线处于空闲状态的情况下,根据每一消息队列的优先级等级高低关系,得到优先级的由高到低的排列,例如,等级0的消息队列是指优先级等级最高的消息队列,在排列中处于首位,等级255的消息队列是指优先级等级最低的消息队列,该队列在排列顺序中处于末尾。
进一步的,第一处理器根据排列顺序将对应消息队列中的待处理消息进行处理得到每一待处理消息的传输通知,并根据由高排列顺序依次将传输通知发送给与第一处理器通信连接的第二处理器,由第二处理器对待处理消息进行处理后,第一处理器接收第二处理器发送的对应的消息处理结果,其中,消息处理结果可以包括传输待处理消息成功或发送待处理消息失败。
步骤S203,利用中断服务指令将消息处理结果回写至第一处理器的消息缓存空间中。
具体的,在第一处理器接收到由第二处理器发送的消息处理结果后,调用中断服务指令,将处理结果写入消息缓存空间中,也即将消息处理结果添加至存储在消息缓存空间的待处理消息所在的地址空间中,完成消息的处理。
本申请实施例提供的消息的传输方法,通过遍历第一处理器的M个消息队列,并获取M个消息队列中的N个待处理消息,其中,M个消息队列的级别不同,同一消息队列用于存储相同级别的待处理消息;根据消息队列的级别从高到低的顺序依次将N个待处理消息的传输通知发送至第二处理器,并接收第二处理器传递的消息处理结果;利用中断服务指令将消息处理结果回写至第一处理器的消息缓存空间中,解决了相关技术中传输处理器消息的效率低,难以提升传输效率的问题,通过为每一个待处理消息以及每一个消息队列分配不同的优先级,进而利用优先级顺序处理消息队列中的待处理消息,进而达到了提高消息处理效率的效果。
可选地,在本申请实施例提供的消息的传输方法中,将待处理消息存储至匹配的消息队列中包括:获取M个消息队列的级别,根据待处理消息的级别和消息队列的级别从M个消息队列中匹配确定目标消息队列;将待处理消息存储至目标消息队列中。
具体的,在获得待处理消息后,识别每一待处理消息的级别以及每一消息队列的级别,也即每一待处理消息和消息队列的优先级等级,通过“优先级相同”的存储原则,根据每一个待处理消息的优先级等级确定唯一的目标消息队列,在确定所有待处理消息可以存储的消息队列后,将待处理消息从消息缓存空间中拷贝至对应的目标消息队列中,其中,该目标消息队列的优先级与待处理消息的优先级相同。
消息队列中的待处理消息是通过消息缓存空间中的通信消息进行处理得到的,可选地,在本申请实施例提供的消息的传输方法中,在遍历第一处理器的M个消息队列,并获取M个消息队列中的N个待处理消息之前,方法还包括:获取消息缓存空间中存储的N个通信消息以及N个通信消息的级别的配置文件;在接收到N个通信消息的提升指令的情况下,遍历配置文件中的各个通信消息的级别,其中,提升指令用于指示消息需要提升至的目标级别;根据各个通信消息的级别和目标级别的关系提升X个通信消息的级别,将提升级别后的通信消息确定为待处理消息,并将待处理消息存储至匹配的消息队列中,其中,X小于等于N。
具体的,通信消息是由第一处理器在工作过程中生成,携带有处理器之间交流的通信数据。生成多个通信消息后,通过第一处理器为所有通信消息匹配预设的的级别信息,并将所有通信消息的级别信息组合为配置文件,并将通信消息与配置文件均存储至第一处理器的消息缓存空间中,其中,各个通信消息的级别可以各不相同,例如通信消息为系统必须输入的数据,则该消息的级别为最高的第一级别,在消息的传输过程中需要最先处理。
在第一处理器获取传输该通信消息的指令后,将消息缓存空间中的通信消息以及配置文件提取出,若接收到提升优先级的提升指令,则对配置文件中的各个通信消息的级别进行识别,并对不满足预设级别的通信消息进行级别提升,并将提升级别后的通信消息以及满足预设级别的通信消息确定为待处理消息。
为有效传输待处理消息,需要将每一待处理消息的级别进行临时提升,使得该待处理消息可以优先处理,可选地,在本申请实施例提供的消息的传输方法中,根据各个通信消息的级别和目标级别的关系提升X个通信消息的级别包括:判断各个通信消息的级别是否为预设级别;在每个通信消息的级别均不为预设级别的情况下,识别提升指令中的目标级别,将N个通信消息的级别提升至目标级别;在存在任意通信消息的级别为预设级别的情况下,将预设级别的通信消息以外的X个通信消息的级别提升至目标级别。
能够进行级别提升的通信消息需要满足预设要求,具体的,预设级别是指通信消息的级别为第一级别或第二级别,第一级别的通信消息是指操作系统在运行时必须最先进行传输的通信信息,其优先级最高,并且不可以降低等级,第二级别的通信消息是指优先级为第二位的通信信息,其优先级不可以再一次提升。
在判断得到所有的通信消息的级别均不为预设级别的情况下,将所有通信消息的级别进行提升,并提升至提升指令中指示的目标级别;在判断得到存在通信消息级别为预设级别,也即当某一通信消息的级别为第一级别或第二级别的情况下,不对属于第一级别或第二级别的通信消息进行级别的提升操作,将不属于级别属于其余级别的通信消息的级别提升至目标级别,例如,多个通信消息中存在一条系统中必须被传输的数据消息,该数据消息的级别为第一级别,则在遍历所有通信消息时,将该数据消息以外的剩余通信消息的级别提升至目标级别,不对该数据消息的级别进行处理。
进一步的,将进行级别提升操作后的通信消息以及级别为预设级别的通信消息确定为待处理消息。
消息队列在激活状态下才能够传输数据,遍历消息队列中的待处理消息前,需要将所有消息队列激活,可选地,在本申请实施例提供的消息的传输方法中,在根据消息队列的级别从高到低的顺序依次将N个待处理消息的传输通知发送至第二处理器之前,方法还包括:识别每一消息队列关联的状态标签,并判断状态标签是否指示消息队列处于休眠状态;在M个消息队列存在处于休眠状态的消息队列的情况下,激活处于休眠状态的消息队列。
具体的,在对所有待处理消息进行发送处理前,需要判断各个消息队列是否处于休眠状态,其中,处于休眠状态的消息队列是指待处理消息均已处理完毕并处于空闲状态的队列。
需要说明的是,判断消息队列状态是通过识别每一个消息队列关联的状态标签进行确定,遍历所有消息队列,当状态标签表示某一消息队列处于休眠状态的情况下,重新触发该队列,直至第一处理器中的所有消息队列均处于工作状态,其中,状态标签可以表示为工作状态或休眠状态,例如,状态标签为0时表示休眠状态,状态标签为1时表示工作状态,在状态标签为0时,说明消息队列处于休眠状态,需要对其进行激活操作,使得状态标签变为1。
可选地,在本申请实施例提供的消息的传输方法中,根据消息队列的级别从高到低的顺序依次将N个待处理消息的传输通知发送至第二处理器包括:按照顺序依次遍历M个消息队列,判断当前消息队列中是否存在待处理消息;在当前消息队列不存在待处理消息的情况下,遍历下一消息队列;在消息队列存在待处理消息的情况下,将待处理消息的传输通知发送至第二处理器。
具体的,在第一处理器与第二处理器之间的传输通道,也即连接的总线处于空闲状态的情况下,根据由高到低的优先级排列分别遍历所有的消息队列,并通过识别消息队列中关联的状态标签判断当前的消息队列中是否存在待处理消息,若状态标签显示休眠状态,则表明当前的消息队列中不存在待处理消息,则根据优先级排列继续遍历下一个消息队列直至识别到某一消息队列中存在待处理消息。
进一步的,当某一消息队列中存在待处理消息的情况下,对该消息队列中的待处理消息进行处理得到对应的传输通知,并将传输通知发送给第二处理器;处理完该消息队列中的消息后继续遍历剩余队列,直至所有消息队列中的待处理消息均处理完成。
传输通知是由中断服务指令生成,可选地,在本申请实施例提供的消息的传输方法中,在将待处理消息的传输通知发送至第二处理器之前,方法还包括:利用中断服务指令获取消息队列中的待处理消息;对待处理消息进行编译,得到传输通知。
传输通知的获取是由第一处理器调用中断服务指令,并利用该指令处理得到,具体的,通过调用中断服务指令,从即将进行传输操作的消息队列中获取待处理消息,并在得到消息接收对象的相关信息后,利用相关信息对待处理消息进行编译,以此得到第一处理器发送的传输通知。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例还提供了一种可选的消息的传输方法,图3是根据本申请实施例提供的可选的消息的传输方法的示意图,如图3所示,方法包括:
在第一处理器生成待处理消息的过程中,需要通过等待预设的时间段来获取所有需要在当前时间周期内处理的消息以及消息队列,并根据与待处理消息关联的配置文件中每一待处理消息的优先级情况,以及接收到的提升指令中所指示的优先级提升的目标级别,对每一个不符合预设级别的待处理消息进行优先级的临时提升,其中,预设级别是指消息优先级为第一优先级以及第二优先级,每一消息队列存在唯一优先级,第一优先级是指在系统中需要被最先处理的消息的优先级,第二优先级的级别仅次于第一优先级,是指在处理完毕消息优先级为第一优先级的消息后,第二位进行处理的消息的优先级。
进一步的,将提升优先级后的待处理消息以及符合预设级别的待处理消息均拷贝至对应优先级的消息队列中进行等待处理操作,在传输通道也即传输总线空闲的情况下,根据每一消息队列的优先级排列顺序依次查询每一消息队列中是否存在待处理消息,若消息队列中存在待处理消息,则向第二处理器发送该待处理消息的传输通知,若某一消息队列不存在待处理消息,则遍历优先级排列顺序中的下一个消息队列,直至遍历完毕所有消息队列以及将所有待处理消息的传输通知发送完毕;若所有队列中均不包含待处理消息,则将传输总线设置为空闲状态,等待下一次的消息传输。
第二处理器接收到多个传输通知后,根据获取传输通知的顺序依次对每一待处理消息向目标地址进行传输,并在接收到由目标地址反馈的消息处理结果后将其发送回第一处理器。第一处理器调用中断处理指令对发送的消息处理结果进行回写,以此完成消息的传输。
本实施例通过对每一个消息以及消息队列进行优先级的区分,利用优先级顺序完成消息传输,进而实现了快速有效地在总线中完成消息传输的效果。
本申请实施例还提供了一种消息的传输装置,需要说明的是,本申请实施例的消息的传输装置可以用于执行本申请实施例所提供的用于消息的传输方法。以下对本申请实施例提供的消息的传输装置进行介绍。
图4是根据本申请实施例提供的消息的传输装置的示意图。如图4所示,该装置包括:第一遍历单元40、发送单元41、回写单元42。
第一遍历单元40,用于遍历第一处理器的M个消息队列,并获取M个消息队列中的N个待处理消息,其中,M个消息队列的级别不同,同一消息队列用于存储相同级别的待处理消息;
发送单元41,用于根据消息队列的级别从高到低的顺序依次将N个待处理消息的传输通知发送至第二处理器,并接收第二处理器传递的消息处理结果;
回写单元42,用于利用中断服务指令将消息处理结果回写至第一处理器的消息缓存空间中。
可选地,在本申请实施例提供的消息的传输装置中,装置还包括:第一获取单元,用于在遍历第一处理器的M个消息队列,并获取M个消息队列中的N个待处理消息之前,获取消息缓存空间中存储的N个通信消息以及N个通信消息的级别的配置文件;第二遍历单元,用于在接收到N个通信消息的提升指令的情况下,遍历配置文件中的各个通信消息的级别,其中,提升指令用于指示消息需要提升至的目标级别;确定单元,用于根据各个通信消息的级别和目标级别的关系提升X个通信消息的级别,将提升级别后的通信消息确定为待处理消息,并将待处理消息存储至匹配的消息队列中,其中,X小于等于N。
可选地,在本申请实施例提供的消息的传输装置中,第一遍历单元40包括:判断模块,用于判断各个通信消息的级别是否为预设级别;识别模块,用于在每个通信消息的级别均不为预设级别的情况下,识别提升指令中的目标级别,将N个通信消息的级别提升至目标级别;提升模块,用于在存在任意通信消息的级别为预设级别的情况下,将预设级别的通信消息以外的X个通信消息的级别提升至目标级别。
可选地,在本申请实施例提供的消息的传输装置中,第一遍历单元40包括:获取模块,用于获取M个消息队列的级别,根据待处理消息的级别和消息队列的级别从M个消息队列中匹配确定目标消息队列;存储模块,用于将待处理消息存储至目标消息队列中。
可选地,在本申请实施例提供的消息的传输装置中,装置还包括:识别单元,用于在根据消息队列的级别从高到低的顺序依次将N个待处理消息的传输通知发送至第二处理器之前,识别每一消息队列关联的状态标签,并判断状态标签是否指示消息队列处于休眠状态;激活单元,用于在M个消息队列存在处于休眠状态的消息队列的情况下,激活处于休眠状态的消息队列。
可选地,在本申请实施例提供的消息的传输装置中,发送单元41包括:第一遍历模块,用于按照顺序依次遍历M个消息队列,判断当前消息队列中是否存在待处理消息;第二遍历模块,用于在当前消息队列不存在待处理消息的情况下,遍历下一消息队列;发送模块,用于在消息队列存在待处理消息的情况下,将待处理消息的传输通知发送至第二处理器。
可选地,在本申请实施例提供的消息的传输装置中,装置还包括:第二获取单元,用于在将待处理消息的传输通知发送至第二处理器之前,利用中断服务指令获取消息队列中的待处理消息;编译单元,用于对待处理消息进行编译,得到传输通知。
本申请实施例提供的消息的传输装置,通过第一遍历单元40,用于遍历第一处理器的M个消息队列,并获取M个消息队列中的N个待处理消息,其中,M个消息队列的级别不同,同一消息队列用于存储相同级别的待处理消息;发送单元41,用于根据消息队列的级别从高到低的顺序依次将N个待处理消息的传输通知发送至第二处理器,并接收第二处理器传递的消息处理结果;回写单元42,用于利用中断服务指令将消息处理结果回写至第一处理器的消息缓存空间中,解决了相关技术中传输处理器消息的效率低,难以提升传输效率的问题,通过为每一个待处理消息以及每一个消息队列分配不同的优先级,进而利用优先级顺序处理消息队列中的待处理消息,进而达到了提高消息处理效率的效果。
所述消息的传输装置包括处理器和存储器,上述第一遍历单元40、发送单元41、回写单元42等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来解决相关技术中传输处理器消息的效率低,难以提升传输效率的问题。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本发明实施例提供了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现所述消息的传输方法。
本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述消息的传输方法。
图5是根据本申请实施例提供的电子装置的示意图,如图5所示,本发明实施例提供了一种电子设备,电子设备50包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器用于运行计算机可读指令,其中,计算机可读指令运行时执行一种消息的传输方法。本文中的设备可以是服务器、PC、PAD、手机等。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行执行一种消息的传输方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (11)
1.一种消息的传输方法,其特征在于,包括:
遍历第一处理器的M个消息队列,并获取所述M个消息队列中的N个待处理消息,其中,所述M个消息队列的级别不同,同一消息队列用于存储相同级别的待处理消息;
根据消息队列的级别从高到低的顺序依次将所述N个待处理消息的传输通知发送至第二处理器,并接收所述第二处理器传递的消息处理结果;
利用中断服务指令将所述消息处理结果回写至所述第一处理器的消息缓存空间中。
2.根据权利要求1所述的方法,其特征在于,在遍历第一处理器的M个消息队列,并获取所述M个消息队列中的N个待处理消息之前,所述方法还包括:
获取所述消息缓存空间中存储的N个通信消息以及所述N个通信消息的级别的配置文件;
在接收到所述N个通信消息的提升指令的情况下,遍历所述配置文件中的各个通信消息的级别,其中,所述提升指令用于指示消息需要提升至的目标级别;
根据所述各个通信消息的级别和所述目标级别的关系提升X个通信消息的级别,将提升级别后的通信消息确定为所述待处理消息,并将所述待处理消息存储至匹配的消息队列中,其中,X小于等于N。
3.根据权利要求2所述的方法,其特征在于,根据所述各个通信消息的级别和所述目标级别的关系提升X个通信消息的级别包括:
判断所述各个通信消息的级别是否为预设级别;
在每个所述通信消息的级别均不为所述预设级别的情况下,识别所述提升指令中的所述目标级别,将所述N个通信消息的级别提升至所述目标级别;
在存在任意所述通信消息的级别为所述预设级别的情况下,将预设级别的通信消息以外的所述X个通信消息的级别提升至所述目标级别。
4.根据权利要求2所述的方法,其特征在于,将所述待处理消息存储至匹配的消息队列中包括:
获取所述M个消息队列的级别,根据所述待处理消息的级别和消息队列的级别从所述M个消息队列中匹配确定目标消息队列;
将所述待处理消息存储至所述目标消息队列中。
5.根据权利要求1所述的方法,其特征在于,在根据消息队列的级别从高到低的顺序依次将所述N个待处理消息的传输通知发送至第二处理器之前,所述方法还包括:
识别每一消息队列关联的状态标签,并判断所述状态标签是否指示消息队列处于休眠状态;
在所述M个消息队列存在处于休眠状态的消息队列的情况下,激活所述处于休眠状态的消息队列。
6.根据权利要求1所述的方法,其特征在于,根据消息队列的级别从高到低的顺序依次将所述N个待处理消息的传输通知发送至第二处理器包括:
按照所述顺序依次遍历所述M个消息队列,判断当前消息队列中是否存在待处理消息;
在所述当前消息队列不存在待处理消息的情况下,遍历下一消息队列;
在所述消息队列存在待处理消息的情况下,将所述待处理消息的传输通知发送至所述第二处理器。
7.根据权利要求6所述的方法,其特征在于,在将所述待处理消息的传输通知发送至所述第二处理器之前,所述方法还包括:
利用所述中断服务指令获取所述消息队列中的所述待处理消息;
对所述待处理消息进行编译,得到所述传输通知。
8.一种消息的处理系统,其特征在于,包括:
第一处理器,设置有M个消息队列和消息缓存空间,所述第一处理器用于遍历所述M个消息队列,并获取所述M个消息队列中的N个待处理消息,根据所述消息队列的级别从高到低的顺序依次将所述N个待处理消息的传输通知发送至第二处理器,所述第一处理器还用于接收由所述第二处理器传递的消息处理结果,利用中断服务指令将所述消息处理结果回写至所述消息缓存空间中;
所述第二处理器,与所述第一处理器通信连接,用于接收所述传输通知,并响应所述传输通知向目标地址发送所述待处理消息,接收从所述目标地址反馈的所述消息处理结果,并将所述消息处理结果传递至所述第一处理器。
9.一种消息的传输装置,其特征在于,包括:
第一遍历单元,用于遍历第一处理器的M个消息队列,并获取所述M个消息队列中的N个待处理消息,其中,所述M个消息队列的级别不同,同一消息队列用于存储相同级别的待处理消息;
发送单元,用于根据消息队列的级别从高到低的顺序依次将所述N个待处理消息的传输通知发送至第二处理器,并接收所述第二处理器传递的消息处理结果;
回写单元,用于利用中断服务指令将所述消息处理结果回写至所述第一处理器的消息缓存空间中。
10.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至7中任意一项所述的消息的传输方法。
11.一种电子设备,其特征在于,包括一个或多个处理器和存储器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至7中任意一项所述的消息的传输方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310342578.4A CN116361031A (zh) | 2023-03-31 | 2023-03-31 | 消息的传输方法、系统、装置、处理器以及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310342578.4A CN116361031A (zh) | 2023-03-31 | 2023-03-31 | 消息的传输方法、系统、装置、处理器以及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116361031A true CN116361031A (zh) | 2023-06-30 |
Family
ID=86919745
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310342578.4A Pending CN116361031A (zh) | 2023-03-31 | 2023-03-31 | 消息的传输方法、系统、装置、处理器以及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116361031A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117493048A (zh) * | 2023-12-29 | 2024-02-02 | 杭州有赞科技有限公司 | 消息动态处理方法、装置、设备和介质 |
-
2023
- 2023-03-31 CN CN202310342578.4A patent/CN116361031A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117493048A (zh) * | 2023-12-29 | 2024-02-02 | 杭州有赞科技有限公司 | 消息动态处理方法、装置、设备和介质 |
CN117493048B (zh) * | 2023-12-29 | 2024-04-02 | 杭州有赞科技有限公司 | 消息动态处理方法、装置、设备和介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107046508B (zh) | 报文接收方法及网络设备 | |
US8713287B2 (en) | Off-loading of processing from a processor blade to storage blades based on processing activity, availability of cache, and other status indicators | |
EP3562096B1 (en) | Method and device for timeout monitoring | |
CN108563518A (zh) | 主从机通信方法、装置、终端设备及存储介质 | |
US11010094B2 (en) | Task management method and host for electronic storage device | |
US9529651B2 (en) | Apparatus and method for executing agent | |
US10613992B2 (en) | Systems and methods for remote procedure call | |
CN107589990B (zh) | 一种基于线程池的数据通讯的方法及系统 | |
CN116361031A (zh) | 消息的传输方法、系统、装置、处理器以及电子设备 | |
WO2017193964A1 (zh) | 一种组件升级方法、装置和系统 | |
CN109842621A (zh) | 一种减少token存储数量的方法及终端 | |
CN116149559A (zh) | 队列处理方法、装置、服务器、电子设备和存储介质 | |
CN107819855B (zh) | 一种消息分发方法及装置 | |
CN113535341B (zh) | Linux下CPU核间中断通信的实现方法及装置 | |
US10678744B2 (en) | Method and system for lockless interprocessor communication | |
CN111522598A (zh) | 嵌入式设备的重启信息记录方法及装置 | |
CN112486638A (zh) | 用于执行处理任务的方法、装置、设备和存储介质 | |
CN112579308A (zh) | 任务处理方法及系统 | |
CN115454599A (zh) | 任务处理方法、系统、装置、存储介质以及电子设备 | |
US12019909B2 (en) | IO request pipeline processing device, method and system, and storage medium | |
CN111090627B (zh) | 基于池化的日志存储方法、装置、计算机设备及存储介质 | |
CN112463037B (zh) | 一种元数据保存方法、装置、设备、产品 | |
CN110928944B (zh) | 一种数据处理方法及其装置 | |
CN111857538A (zh) | 数据处理方法、装置及存储介质 | |
CN105573920A (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 |