CN113515366A - 一种总线负载均衡处理方法、装置及存储介质 - Google Patents

一种总线负载均衡处理方法、装置及存储介质 Download PDF

Info

Publication number
CN113515366A
CN113515366A CN202110381750.8A CN202110381750A CN113515366A CN 113515366 A CN113515366 A CN 113515366A CN 202110381750 A CN202110381750 A CN 202110381750A CN 113515366 A CN113515366 A CN 113515366A
Authority
CN
China
Prior art keywords
bus
period
message
messages
small
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.)
Granted
Application number
CN202110381750.8A
Other languages
English (en)
Other versions
CN113515366B (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.)
Beijing Institute of Near Space Vehicles System Engineering
Original Assignee
Beijing Institute of Near Space Vehicles System Engineering
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 Institute of Near Space Vehicles System Engineering filed Critical Beijing Institute of Near Space Vehicles System Engineering
Priority to CN202110381750.8A priority Critical patent/CN113515366B/zh
Publication of CN113515366A publication Critical patent/CN113515366A/zh
Application granted granted Critical
Publication of CN113515366B publication Critical patent/CN113515366B/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/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
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load

Abstract

本申请公开了一种总线负载均衡处理方法、装置及存储介质,用于降低总线上消息传输的延迟时间,提高总线带宽利用率。本申请公开的总线负载均衡处理方法包括:读取周期性消息的相关信息;对所述周期性消息的相关消息进行重新排序,生成总线序列;根据所述总线序列生成总线表;根据所述总线表完成每个周期内的消息帧的发送或接收。本申请还提供了一种总线负载均衡处理装置及存储介质。

Description

一种总线负载均衡处理方法、装置及存储介质
技术领域
本申请涉及数据传输领域,尤其涉及一种总线负载均衡处理方法、装置和存储介质。
背景技术
1553B总线承担平台控制指令和数据消息的传输和分发。由于1553B总线的高可靠性与灵活性,经过多年的发展,成为航天型号应用最为广泛的平台设备接口通信方式。随着系统性能的不断提升,对1553B总线的实时性要求越来越高,而数据传输的性能是影响系统关键部件或者全系统运行安全性的重要元素。如何合理调度总线上的各类信息,满足系统消息传输的可靠性和性能指标,合理调度各周期性总线消息的处理时序保证总线控制器和远程终端设备软件匹配,是目前亟待解决的问题。
发明内容
针对上述技术问题,本申请实施例提供了一种总线负载均衡处理方法、装置及存储介质,用以降低总线上消息传输的延迟时间,提高总线带宽利用率。
第一方面,本申请实施例提供的一种总线负载均衡处理方法,包括:
读取周期性消息的相关信息;
对所述周期性消息的相关消息进行重新排序,生成总线序列;
根据所述总线序列生成总线表;
根据所述总线表完成每个周期内的消息帧的发送或接收。
进一步的,所述周期性消息的相关信息包括:
消息的长度、周期、消息模式和优先级。
优选的,所述根据所述总线序列生成总线表包括:
根据所述总线序列,生成周期性负载列表和负载率峰值图,确定每个小周期组成的消息帧负载,生成总线表;其中,所述小周期为所有消息的周期中最小的周期。
进一步的,所述对所述周期性消息的相关消息进行重新排序包括:
按照每条消息的优先级从小到大排序;
若优先级相同,则根据每条消息的周期从小到大排序;
若优先级和周期都相同,则根据传输数据字长度从小到大排序;
若优先级、周期和传输数据字长度均相同,则按照消息在消息列表中的序号从小到大进行排序。
进一步的,对重新排序后的每条消息,进行如下处理:
将所有消息的最大周期和最小周期的最小公倍数作为大周期,最小周期作为小周期,将总线传输时间以大周期为单位划分,并将每个大周期划分为N个小周期;
计算所述消息的周期和所述小周期的比值b;
在第0到第b个小周期内,找到传输用时最短的小周期为所述消息第一个排序的周期,隔b个周期均为所述消息的传输周期;
将所述消息的传输用时加到小周期已用传输时间内,并检查是否超过一个小周期的时长,如果是,则报告错误;
其中,N是大于等于1的整数。
优选的,所述生成总线表之后还包括:
将所述总线表写入初始化文件。
优选的,所述根据所述总线表完成每个周期内的消息帧的发送或接收包括:
根据预设的模式完成初始化;
在预设的中断处理中,启动总线控制器BC并切换堆栈,并判断当前周期否需要装载所述总线表中不同时序的周期数据,若需要则进行如下处理:
读取当前周期装载消息的堆栈,查看即将覆盖的堆栈中的消息并进行处理,对堆栈进行解析,读取数据块并判断指令类型;
生成当前周期需要发送的消息;
根据所述当前周期需要发送的消息进行装载发送。
进一步的,所述指令类型包括以下之一或者组合:
BC到远程终端RT;
RT到RT;
RT到BC;
方式字带数据字;
方式字不带数据字。
优选的,所述根据所述总线表完成每个周期内的消息帧的发送或接收包括:
确定不同时序内需传输的周期消息,周期数目不超过预设的数目;
针对每一个输入源,形成该周期内需要传输的消息列表,并写入预定的第一文件,其中所述消息列表依次为RT号1、子地址1、周期、发送长度、消息模式、RT号2、子地址2、通道和优先级;
获取源代码文件,读取所述第一文件中的列表个数,生成总线初始化文件;
根据所述总线初始化文件,形成该周期发送的消息数目和具体消息;。
优选的,所述总线为1553B总线。
使用本发明提供的总线负载均衡处理方法,构建静态总线表,从消息中抽象出与总线序列相关的参数,如消息类型、消息周期和周期时间等,并根据这些消息参数要求进行重新排序,能够实现降低总线上消息传输的延迟时间,提高总线带宽利用率。
第二方面,本申请实施例还提供一种总线负载均衡处理装置,包括:
总线负载均衡算法部件和总线构件框架部件;
所述总线负载均衡算法部件包括:
数据输入模块,用于读取周期性消息的相关信息;
负载均衡优化模块,用于对所述周期性消息的相关消息进行重新排序,生成总线序列;
列表生成模块,用于根据所述总线序列生成总线表;
所述总线构件框架部件包括:
初始化模型,用于完成不同时序内每个小周期的组帧及相关参数的初始化操作;
驱动层模块,用于切换时序、总线负载率计算和总线开始及结束;
应用层模块,用于根据所述总线表完成每个周期内的消息帧的发送或接收。
第三方面,本申请实施例还提供一种总线负载均衡处理装置,包括:存储器、处理器和用户接口;
所述存储器,用于存储计算机程序;
所述用户接口,用于与用户实现交互;
所述处理器,用于读取所述存储器中的计算机程序,所述处理器执行所述计算机程序时,实现本发明提供的总线负载均衡处理法。
第四方面,本申请实施例还提供一种处理器可读存储介质,所述处理器可读存储介质存储有计算机程序,所述处理器执行所述计算机程序时实现本发明提供的总线负载均衡处理方法。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的总线负载均衡处理方法示意图;
图2为本申请实施例提供的一种总线负载均衡优化方法示意图;
图3为本申请实施例提供的一种数据传输流程示意图;
图4为本申请实施例提供的总线负载均衡处理装置示意图;
图5为本申请实施例提供的另一种总线负载均衡处理装置结构示意图;
图6为本申请实施例提供的消息排序示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
下面对文中出现的一些词语进行解释:
1、本发明实施例中术语“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
2、本申请实施例中术语“多个”是指两个或两个以上,其它量词与之类似。
3、BC,是Bus Controller的缩写,即总线控制器。
4、RT,是Remote Terminal的缩写,即远程终端。
1553B总线系统主要由3部分组成:总线控制器BC,远程终端RT和总线监视器BM。总线控制器BC是在总线上唯一被安排为执行建立和启动数据传输任务的终端;远程终端RT是用户子系统到数据总线上的接口,在BC的控制下提取数据或接受数据;总线监视器BM“监控”总线上的信息传输,以完成对总线上的数据源进行记录和分析,本身不参与总线的通信。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,并不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请实施例的展示顺序仅代表实施例的先后顺序,并不代表实施例所提供的技术方案的优劣。
实施例一
参见图1,本申请实施例提供的一种总线负载均衡处理方法示意图,如图1所示,该方法包括步骤S101到S104:
S101,读取周期性消息的相关信息;
S102,对所述周期性消息的相关消息进行重新排序,生成总线序列;
S103,根据所述总线序列生成总线表;
S104,根据所述总线表完成每个周期内的消息帧的发送或接收。
需要说明的是,本发明实施例中,周期性消息的输入源可以有一个,也可以有多个,针对不同时序阶段不同的输入文件,均进行相同的处理。
本实施例中,周期性消息的相关信息包括以下之一或者组合:每个消息的长度、周期、消息模式或者优先级。上述步骤S101中,读取周期性消息的相关信息后,还可以包括计算消息指令字和数据量等操作,形成系统可利用的数据格式。需要说明的是,数据格式是预先设定的。
本实施例中,对所述周期性消息的相关消息进行重新排序,根据消息的优先级,周期大小,传输数据字长度和序号进行排序,具体规则可以是:
按照每条消息的优先级从小到大排序;
若优先级相同,则根据每条消息的周期从小到大排序;
若优先级和周期都相同,则根据传输数据字长度从小到大排序;
若优先级、周期和传输数据字长度均相同,则按照消息在消息列表中的序号从小到大进行排序。
其中,优先级表示数据传输的优先级别,优先级越小,表示级别越高,即级别高的数据排在前,优先级别低的排在后。
其中,消息在消息列表中的序号表示消息到达列表的先后顺序,先到达的序号小,后到达的序号大,按顺序进行编号。
按照上述规则进行重新排序后,生成总线序列。
作为一种优选示例,在上述步骤S102中,完成上述重新排序之后,对重新排序后的每条消息还可以进行如下处理:
将所有消息的最大周期和最小周期的最小公倍数作为大周期,最小周期作为小周期,将总线传输时间以大周期为单位划分,并将每个大周期划分为N个小周期;
计算所述消息的周期和所述小周期的比值b;
在第0到第b个小周期内,找到传输用时最短的小周期为所述消息第一个排序的周期,隔b个周期均为所述消息的传输周期;
将所述消息的传输用时加到小周期已用传输时间内,并检查是否超过一个小周期的时长,如果是,则报告错误;
其中,N是大于等于1的整数。
下面结合具体示例对上述S102进行描述。如图6所示,设大周期为100ms,小周期为5ms,则将总线传输时间按100ms进行划分,并将每个100ms划分为20个5ms,每个5ms可以传输M个字节,编号依次为第0个5ms,第1个5ms,第2个5ms,第3个5ms,…,第19个5ms。现有4个消息需要传输。
第1个消息长度为10B,传输周期为5ms,即每5ms需要传输一次;
第2个消息长度为10B,传输周期为10ms,即每10ms需要传输一次;
第3个消息长度为20B,传输周期为20ms,即每20ms需要传输一次;
第4个消息长度为30B,传输周期为40ms,即每40ms需要传输一次。
排序开始时,每个5ms内均没有安排数据传输。
对第1个消息,传输周期5ms与小周期5ms的比值b=1,则在第0到1个5ms内,寻找已排消息传输最小(即已占用的资源最小)的周期,即为第0个5ms,并每隔b=1个周期均为第1个消息的传输周期,即每个5ms周期内均安排第1个消息发送,如图6所示;
对于第2个消息,传输周期10ms与小周期5ms的比值b=2,则在第0到第2个5ms内,寻找已排消息传输最小的周期,即为第0个5ms,并每隔b=2个周期均为第2个消息的传输周期,即在第0个5ms,第2个5ms,第4个5ms,第6个5ms…均安排第2个消息发送,如图6所示;
对于第3个消息,传输周期20ms与小周期5ms的比值b=4,则在第0到第4个5ms内,寻找已排消息传输最小的周期,即为第1个5ms,并每隔b=4个周期均为第3个消息的传输周期,即在第1个5ms,第5个5ms,第9个5ms,第13个5ms…均安排第3个消息发送,如图6所示;
对于第4个消息,传输周期40ms与小周期5ms的比值b=8,则在第0到第8个5ms内,寻找已排消息传输最小的周期,即为第3个5ms,并每隔b=8个周期均为第4个消息的传输周期,即在第3个5ms,第11个5ms,第19个5ms均安排第4个消息发送,如图6所示;
需要说明的是,上述4个消息的排列过程中,当找到已排消息传输最小的周期时,将已排消息的长度加上该消息需要发送的长度之和H,与每个5ms可以发送的长度M字节比较,如果H大于M则报告错误。
本实施例中,上述步骤S103中,根据上述总线序列,对数据进行处理,生成周期负载列表及负载率峰值图,提供每个小周期组成的消息帧负载,同时生成软件框架可直接读取的总线表。作为一种优选示例,可以将所述总线表写入初始化文件。
经过上述步骤S101到S103,即完成了总线负载均衡的优化处理,为后续的数据传输做好准备。下面结合图2,对上述总线负载均衡的优化处理给出一个具体示例:
S201,读取消息参数。读取周期性消息的相关信息,例如每个消息的长度、周期、消息模式或者优先级;从输入文件中读取总线相关的参数,如总线消息类型、消息周期或频率和消息地址等信息,计算消息指令字、控制字和数据量;
S202,按照优先级、周期、数据字长度和序号排序。在时间轴上将消息列表中的所有消息按照如下规则进行重新排序:依据每条消息的优先级和周期时间从小到大排序(以优先级为第一排序级别),按照传输数据字长度从小到达进行排序,若优先级、周期时间和数据字长度均相同的情况下,按照其在消息列表中的序号进行排序;具体规则同S102中的重新排序规则,在此不再赘述。
S203、计算大周期和小周期。按照所有消息的最大周期和最小周期的最小公倍数作为大周期,最小周期作为小周期,将总线传输时间划分为1个大周期和N个小周期。
S204、判断所以后消息是否读取完毕,若是则执行S210,否则执行S205。
S205、计算消息周期比值b,即计算消息的周期和小周期的比值b,该比值即为消息的排序频率;
S206,在[0,b]小周期内找排序用时最短的小周期,即在第0到第b([0,b])个小周期内,找到已经排消息传输用时最短的小周期;
S207、隔b个周期均设置为该消息所在的周期。即为消息第一个排序的周期,隔b个周期均为该消息的传输周期;
S208,判断传输时间是否超过小周期时长,若是则执行S209,否则执行S204。即将消息的传输用时加载小周期已用传输时间内,并检查是否超过一个小周期的时长,如果是,则报告错误,否则继续;
S209、报错;
S210、生成周期负载列表;
S211、生成负载率峰值图。根据上述的总线表排序,处理消息数据生成周期负载列表及负载率峰值图,获取每个小周期内消息帧负载,写入软件框架可直接读取的初始化文件。
经过上述步骤,即完成了负载均衡优化过程,并进入S104的发送或者接收过程。作为一种优选示例,上述S104中,根据所述总线表完成每个周期内的消息帧的发送或接收包括:
根据预设的模式完成初始化;
在预设的中断处理中,启动BC并切换堆栈,并判断当前周期否需要装载所述总线表中不同时序的周期数据,若需要则进行如下处理:
读取当前周期装载消息的堆栈,查看即将覆盖的堆栈中的消息并进行处理,对堆栈进行解析,读取数据块并判断指令类型;
生成当前周期需要发送的消息;
根据所述当前周期需要发送的消息进行装载发送。
需要说明的是,指令类型包括以下之一或者组合:
总线控制器BC到远程终端RT;
RT到RT;
RT到BC;
方式字带数据字;
方式字不带数据字。
下面结合附图3,对上述数据发送过程给出一个具体示例:
S301,开始;飞行控制软件总线构件首先根据用户设定模式完成初始化,可选自动重发模式/手动重发模式,驱动层完成根据不同需求配置1553B HPPI寄存器和内核寄存器,配置存储区。
S302,判断是否为中断的第二个周期,若是则执行S303,否则执行S305。需要说明的是,中断是一个定时器中断处理函数,中断的周期是预先设定的,作为一种优选示例可以是5ms。
S303,启动总线控制器BC。
S304,切换堆栈。
S305,判断是否需要切换时序,若是则执行S306,否则执行S307。即确定当前周期是否需要切换时序,即是否需要装载静态总线表中不同时序的周期数据,如果需要调用时序切换函数处理。
S306,切换时序;
S307,判断上上周期消息数是否遍历完毕,若是则执行S310,否则执行S308。
S308,接收上上周期装载的消息。
S309,用户处理接收的数据。即完成接收消息的处理;
S310,生成当前周期发送的序列。
S311,判断当前周期消息是否装载完毕,若是则执行S314,否则执行S312。
S312,赋值需要发送的消息。即调用周期组帧函数,生成当前周期需要发送的消息。
S313,装载消息。在装载消息之前,读取当前周期装载消息的堆栈,查看即将覆盖的堆栈中的消息并进行处理,对堆栈进行解析,读取数据块并判断指令类型(包括总线控制器BC到远程终端RT、RT到RT、RT到BC、方式字带数据字、方式字不带数据字)。
S314,周期计数加1。即根据本周期需要发送的消息进行装载发送,周期数加一。
S315,结束。
作为另一种优选示例,从消息输入到组帧发送的过程,可以为:
确定不同时序内需传输的周期消息,周期数目不超过预设的数目;
针对每一个输入源,形成该周期内需要传输的消息列表,并写入预定的第一文件,其中所述消息列表依次为RT号1、子地址1、周期、发送长度、消息模式、RT号2、子地址2、通道和优先级;
获取源代码文件,读取所述第一文件中的列表个数,生成总线初始化文件;
根据所述总线初始化文件,形成该周期发送的消息数目和具体消息;
其中,每个周期组帧的消息为消息所在的初始周期加上当前已经发送过的次数乘以该消息发送的周期频率。即,每个消息下一次发送的时间为:发送间隔的周期数*已经发送过的次数+初次发送的周期;发送间隔的周期即为该消息发送的周期频率,初始周期即为初次发送的周期。
下面给出上述从消息输入到组帧发送的过程的一个具体示例:
步骤A、确定飞行控制软件不同时序内需传输的周期消息,周期数目不得超过64条;
步骤B、形成该时段需要传输的消息列表,列表依次为RT号1、子地址1、周期、发送长度、消息模式、RT号2、子地址2、通道和优先级共9列;
步骤C、整个飞行过程中,多个时序1553B通信设备不同,需要按照步骤B中规则创建不同的excel文件,如分别命名为Input1.xlsx,Input2.xlsx;
步骤D、经过总线优化算法获取源代码文件,输入步骤3中需生成输入列表个数,生成2个文件,分别为Init_1553B.h和Init_1553B.c总线初始化文件;
步骤E、根据总线初始化文件,每个周期组帧的消息为消息所在的初始周期加上当前已经发送过的次数乘以该消息发送的周期频率,形成该周期发送的消息数目和具体消息。
通过本实施例的方法,通过总线负载均衡优化方法构建静态总线表,静态总线表的排序优化算法建立在系统周期性消息的基础上,从消息中抽象出与总线序列相关的参数,并根据这些消息参数要求进行总线预规划,能够实现降低总线上消息传输的延迟时间,提高总线带宽利用率。
实施例二
基于同一个发明构思,本发明实施例还提供了一种总线负载均衡处理装置,如图4所示,该装置包括:
总线负载均衡算法部件401和总线构件框架部件402;
所述总线负载均衡算法部件401包括:
数据输入模块4011,用于读取周期性消息的相关信息;
负载均衡优化模块4012,用于对所述周期性消息的相关消息进行重新排序,生成总线序列;
列表生成模块4013,用于根据所述总线序列生成总线表;
所述总线构件框架部件402包括:
初始化模型4021,用于完成不同时序内每个小周期的组帧及相关参数的初始化操作;
驱动层模块4022,用于切换时序、总线负载率计算和总线开始及结束;
应用层模块4023,用于根据所述总线表完成每个周期内的消息帧的发送或接收。
数据输入模块4011具体用于读取周期性消息的相关信息,包括每个消息的长度、周期、消息模式和优先级等,计算消息指令字和数据量等形成负载优化模块可利用的数据格式;
负载优化模块4012具体用于根据消息参数进行总线预规划,按照飞行控制软件不同时序依据一定的规则对消息重新排序,生成总线序列;
列表生成模块4013具体用于接收负载优化模块生成的总线序列,对数据进行处理,生成周期负载列表及负载率峰值图,提供每个小周期组成的消息帧负载,同时生成软件框架可直接读取的总线表;
初始化模块4021具体配置为:根据由总线负载均衡算法部件生成的总线表初始化文件,完成飞行控制软件不同时序内每个小周期的组帧及相关参数的初始化操作;
驱动层模块4022具体配置为:包括总线相关的各种功能函数,提供飞行控制软件时序切换功能、总线负载率计算功能和总线开始及结束等功能,完成总线软件驱动层编程,实现复用型可编程型框架体系;
应用层模块4023具体配置为:在驱动层提供的各项功能服务的基础上,根据飞行过程中的时序要求,确定时序转换时机,融合周期消息、事件消息和管理消息,依据周期总线表,完成每周期内的消息帧发送与接收。
需要说明的是,本实施例提供的数据输入模块4011,能实现实施例一中步骤S101包含的全部功能,解决相同技术问题,达到相同技术效果,在此不再赘述;
相应的,本实施例提供的负载优化模块4012,能实现实施例一中步骤S102包含的全部功能,解决相同技术问题,达到相同技术效果,在此不再赘述;
相应的,本实施例提供的列表生成模块4013,能实现实施例一中步骤S103包含的全部功能,解决相同技术问题,达到相同技术效果,在此不再赘述;
需要说明的是,实施例二提供的装置与实施例一提供的方法属于同一个发明构思,解决相同的技术问题,达到相同的技术效果,实施例二提供的装置能实现实施例一的所有方法,相同之处不再赘述。
实施例三
基于同一个发明构思,本发明实施例还提供了一种总线负载均衡处理装置,如图5所示,该装置包括:
包括存储器502、处理器501和用户接口503;
所述存储器502,用于存储计算机程序;
所述用户接口503,用于与用户实现交互;
所述处理器501,用于读取所述存储器502中的计算机程序,所述处理器501执行所述计算机程序时,实现:
读取周期性消息的相关信息;
对所述周期性消息的相关消息进行重新排序,生成总线序列;
根据所述总线序列生成总线表;
根据所述总线表完成每个周期内的消息帧的发送或接收。
其中,在图5中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器501代表的一个或多个处理器和存储器502代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。处理器501负责管理总线架构和通常的处理,存储器502可以存储处理器501在执行操作时所使用的数据。
处理器501可以是CPU、ASIC、FPGA或CPLD,处理器501也可以采用多核架构。
处理器501执行存储器502存储的计算机程序时,实现实施例一中的任一总线负载均衡处理方法。
需要说明的是,实施例三提供的装置与实施例一提供的方法属于同一个发明构思,解决相同的技术问题,达到相同的技术效果,实施例三提供的装置能实现实施例一的所有方法,相同之处不再赘述。
本申请还提出一种处理器可读存储介质。其中,该处理器可读存储介质存储有计算机程序,所述处理器执行所述计算机程序时实现实施例一中的任一总线负载均衡处理方法。
需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (13)

1.一种总线负载均衡处理方法,其特征在于,包括:
读取周期性消息的相关信息;
对所述周期性消息的相关消息进行重新排序,生成总线序列;
根据所述总线序列生成总线表;
根据所述总线表完成每个周期内的消息帧的发送或接收。
2.根据权利要求1所述的方法,其特征在于,所述周期性消息的相关信息包括:
消息的长度、周期、消息模式和优先级。
3.根据权利要求2所述的方法,其特征在于,所述根据所述总线序列生成总线表包括:
根据所述总线序列,生成周期性负载列表和负载率峰值图,确定每个小周期组成的消息帧负载,生成总线表;
其中,所述小周期为所有消息的周期中最小的周期。
4.根据权利要求2所述的方法,其特征在于,所述对所述周期性消息的相关消息进行重新排序包括:
按照每条消息的优先级从小到大排序;
若优先级相同,则根据每条消息的周期从小到大排序;
若优先级和周期都相同,则根据传输数据字长度从小到大排序;
若优先级、周期和传输数据字长度均相同,则按照消息在消息列表中的序号从小到大进行排序。
5.根据权利要求4所述的方法,其特征在于,对重新排序后的每条消息,进行如下处理:
将所有消息的最大周期和最小周期的最小公倍数作为大周期,最小周期作为小周期,将总线传输时间以大周期为单位划分,并将每个大周期划分为N个小周期;
计算所述消息的周期和所述小周期的比值b;
在第0到第b个小周期内,找到传输用时最短的小周期为所述消息第一个排序的周期,隔b个周期均为所述消息的传输周期;
将所述消息的传输用时加到小周期已用传输时间内,并检查是否超过一个小周期的时长,如果是,则报告错误;
其中,N是大于等于1的整数。
6.根据权利要求3所述的方法,其特征在于,所述生成总线表之后还包括:
将所述总线表写入初始化文件。
7.根据权利要求3所述的方法,其特征在于,所述根据所述总线表完成每个周期内的消息帧的发送或接收包括:
根据预设的模式完成初始化;
在预设的中断处理中,启动总线控制器BC并切换堆栈,并判断当前周期否需要装载所述总线表中不同时序的周期数据,若需要则进行如下处理:
读取当前周期装载消息的堆栈,查看即将覆盖的堆栈中的消息并进行处理,对堆栈进行解析,读取数据块并判断指令类型;
生成当前周期需要发送的消息;
根据所述当前周期需要发送的消息进行装载发送。
8.根据权利要求7所述的方法,其特征在于,所述指令类型包括以下之一或者组合:
BC到远程终端RT;
RT到RT;
RT到BC;
方式字带数据字;
方式字不带数据字。
9.根据权利要求3所述的方法,其特征在于,所述根据所述总线表完成每个周期内的消息帧的发送或接收包括:
确定不同时序内需传输的周期消息,周期数目不超过预设的数目;
针对每一个输入源,形成该周期内需要传输的消息列表,并写入预定的第一文件,其中所述消息列表依次为RT号1、子地址1、周期、发送长度、消息模式、RT号2、子地址2、通道和优先级;
获取源代码文件,读取所述第一文件中的列表个数,生成总线初始化文件;
根据所述总线初始化文件,形成该周期发送的消息数目和具体消息。
10.根据权利要求1到9之一所述的方法,其特征在于,包括:
所述总线为1553B总线。
11.一种总线负载均衡处理装置,其特征在于,包括:
总线负载均衡算法部件和总线构件框架部件;
所述总线负载均衡算法部件包括:
数据输入模块,用于读取周期性消息的相关信息;
负载均衡优化模块,用于对所述周期性消息的相关消息进行重新排序,生成总线序列;
列表生成模块,用于根据所述总线序列生成总线表;
所述总线构件框架部件包括:
初始化模型,用于完成不同时序内每个小周期的组帧及相关参数的初始化操作;
驱动层模块,用于切换时序、总线负载率计算和总线开始及结束;
应用层模块,用于根据所述总线表完成每个周期内的消息帧的发送或接收。
12.一种总线负载均衡处理装置,其特征在于,包括存储器、处理器和用户接口;
所述存储器,用于存储计算机程序;
所述用户接口,用于与用户实现交互;
所述处理器,用于读取所述存储器中的计算机程序,所述处理器执行所述计算机程序时,实现如权利要求1到10之一所述的总线负载均衡处理方法。
13.一种处理器可读存储介质,其特征在于,所述处理器可读存储介质存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至10之一所述的总线负载均衡处理方法。
CN202110381750.8A 2021-04-09 2021-04-09 一种总线负载均衡处理方法、装置及存储介质 Active CN113515366B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110381750.8A CN113515366B (zh) 2021-04-09 2021-04-09 一种总线负载均衡处理方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110381750.8A CN113515366B (zh) 2021-04-09 2021-04-09 一种总线负载均衡处理方法、装置及存储介质

Publications (2)

Publication Number Publication Date
CN113515366A true CN113515366A (zh) 2021-10-19
CN113515366B CN113515366B (zh) 2023-11-17

Family

ID=78061774

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110381750.8A Active CN113515366B (zh) 2021-04-09 2021-04-09 一种总线负载均衡处理方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN113515366B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114531316A (zh) * 2022-01-18 2022-05-24 北京临近空间飞行器系统工程研究所 一种面向通用服务高可靠性的总线系统
CN116074156A (zh) * 2022-12-29 2023-05-05 北京机电工程研究所 通过时序设计规避数据冲突的1553b协议设计方法

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030070019A1 (en) * 2001-09-26 2003-04-10 Lambros Dalakuras Method and device for transmitting information on a bus system, and a bus system
CN102608979A (zh) * 2012-03-21 2012-07-25 山东省科学院自动化研究所 Can总线调度分析及监控系统
JP2012252418A (ja) * 2011-05-31 2012-12-20 Seiko Epson Corp 情報処理装置、プログラム及び情報処理方法
CN103473196A (zh) * 2013-08-30 2013-12-25 中国空间技术研究院 一种1553b总线与星内设备总线间遥测遥控数据传输装置
CN103684948A (zh) * 2013-12-13 2014-03-26 中国航空工业集团公司第六三一研究所 一种1553b总线表排序优化方法
CN106027308A (zh) * 2016-06-06 2016-10-12 西北工业大学 一种星载1553b总线通信优化方法
CN106980560A (zh) * 2017-03-17 2017-07-25 北京临近空间飞行器系统工程研究所 一种基于icd数据库多总线协议测试及仿真方法和平台
CN108092865A (zh) * 2017-11-28 2018-05-29 北京空间技术研制试验中心 一种周期性总线消息均衡分配方法
CN110149259A (zh) * 2019-05-09 2019-08-20 中国航空工业集团公司西安航空计算技术研究所 一种基于混合触发的gjb289a总线调度方法及装置
CN112506830A (zh) * 2020-11-27 2021-03-16 山东航天电子技术研究所 一种多路传输数据总线冗余同步通信方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030070019A1 (en) * 2001-09-26 2003-04-10 Lambros Dalakuras Method and device for transmitting information on a bus system, and a bus system
JP2012252418A (ja) * 2011-05-31 2012-12-20 Seiko Epson Corp 情報処理装置、プログラム及び情報処理方法
CN102608979A (zh) * 2012-03-21 2012-07-25 山东省科学院自动化研究所 Can总线调度分析及监控系统
CN103473196A (zh) * 2013-08-30 2013-12-25 中国空间技术研究院 一种1553b总线与星内设备总线间遥测遥控数据传输装置
CN103684948A (zh) * 2013-12-13 2014-03-26 中国航空工业集团公司第六三一研究所 一种1553b总线表排序优化方法
CN106027308A (zh) * 2016-06-06 2016-10-12 西北工业大学 一种星载1553b总线通信优化方法
CN106980560A (zh) * 2017-03-17 2017-07-25 北京临近空间飞行器系统工程研究所 一种基于icd数据库多总线协议测试及仿真方法和平台
CN108092865A (zh) * 2017-11-28 2018-05-29 北京空间技术研制试验中心 一种周期性总线消息均衡分配方法
CN110149259A (zh) * 2019-05-09 2019-08-20 中国航空工业集团公司西安航空计算技术研究所 一种基于混合触发的gjb289a总线调度方法及装置
CN112506830A (zh) * 2020-11-27 2021-03-16 山东航天电子技术研究所 一种多路传输数据总线冗余同步通信方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
DONG-HEE NOH 等: "Message Scheduling on CAN Bus for Large-Scaled Ship Engine Systems" *
DONG-HEE NOH 等: "Message Scheduling on CAN Bus for Large-Scaled Ship Engine Systems", 《IFAC PROCEEDINGS VOLUMES》, pages 7911 - 7916 *
范祥辉 等: "一种1553B总线表排序优化算法的设计与实现" *
范祥辉 等: "一种1553B总线表排序优化算法的设计与实现", 《计算机测量与控制》, pages 2079 - 2081 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114531316A (zh) * 2022-01-18 2022-05-24 北京临近空间飞行器系统工程研究所 一种面向通用服务高可靠性的总线系统
CN116074156A (zh) * 2022-12-29 2023-05-05 北京机电工程研究所 通过时序设计规避数据冲突的1553b协议设计方法

Also Published As

Publication number Publication date
CN113515366B (zh) 2023-11-17

Similar Documents

Publication Publication Date Title
CN113515366B (zh) 一种总线负载均衡处理方法、装置及存储介质
JPH0635726A (ja) 確率的優先順位に基づいてタスクを選択する方法
CN110427258B (zh) 基于云平台的资源调度控制方法及装置
CN110955523B (zh) 一种业务处理方法及装置
US20040015971A1 (en) Method and system for real-time multitasking
CN111143045B (zh) 智能家居操作系统的任务调度方法及装置、存储介质
JP2003067352A (ja) パーティション構成変更方式、パーティション構成変更方法およびパーティション構成変更用プログラム
CN101873257B (zh) 一种接收报文的方法及系统
CN114531316A (zh) 一种面向通用服务高可靠性的总线系统
CN115344370A (zh) 任务调度方法、装置、设备及存储介质
US9887928B2 (en) System and method for identifying performance characteristics in asynchronous networks
CN114995770A (zh) 一种数据处理方法、装置、设备、系统及可读存储介质
KR101981628B1 (ko) 버스 통신 기반의 프레임 스케줄링 방법 및 그를 위한 장치
JPH1069470A (ja) マルチプロセッサシステム
CN113419836A (zh) 任务处理方法、装置、电子设备和计算机可读存储介质
CN112231087A (zh) 任务调度方法、装置、设备及存储介质
CN113965563A (zh) 基于模型的业务处理方法及装置、服务器
CN112364001A (zh) 多维空间大数据的清洗方法、装置、计算机设备及介质
CN112631762B (zh) 一种车辆任务切换的方法和装置
CN106997273B (zh) 一种信息输入方法及装置
CN112148384B (zh) Sca波形组件加载方法、装置、可读介质及电子设备
CN113177741B (zh) 任务执行方法、装置、计算机设备及存储介质
KR101470744B1 (ko) 사용자 단말기 및 그의 프로세스 관리 방법
KR101083049B1 (ko) 시뮬레이션 시스템 및 시뮬레이션 방법
CN109871266A (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
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Wang Xiaotian

Inventor after: Li Zheng

Inventor after: Yang Fei

Inventor after: Jin Na

Inventor after: Dou Xiaoming

Inventor after: Mao Qiang

Inventor after: Xu Chunling

Inventor after: Sun Jinghua

Inventor after: Chen Chao

Inventor after: Wei Ke

Inventor after: Liang Ruiqing

Inventor before: Wang Xiaotian

Inventor before: Li Zheng

Inventor before: Yang Fei

Inventor before: Jin Na

Inventor before: Dou Xiaoming

Inventor before: Mao Qiang

Inventor before: Xu Chunling

Inventor before: Sun Jinghua

Inventor before: Chen Chao

Inventor before: Wei Ke

Inventor before: Liang Ruiqing

GR01 Patent grant
GR01 Patent grant