CN111124707A - 一种数据传输方法、装置、设备及存储介质 - Google Patents

一种数据传输方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN111124707A
CN111124707A CN201911244749.XA CN201911244749A CN111124707A CN 111124707 A CN111124707 A CN 111124707A CN 201911244749 A CN201911244749 A CN 201911244749A CN 111124707 A CN111124707 A CN 111124707A
Authority
CN
China
Prior art keywords
node
variable
program
data transmission
ses
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
CN201911244749.XA
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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent 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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN201911244749.XA priority Critical patent/CN111124707A/zh
Priority to PCT/CN2020/087159 priority patent/WO2021109432A1/zh
Priority to US17/781,330 priority patent/US20230004518A1/en
Publication of CN111124707A publication Critical patent/CN111124707A/zh
Pending legal-status Critical Current

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/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • 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/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0028Serial attached SCSI [SAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Hardware Redundancy (AREA)

Abstract

本申请公开了一种数据传输方法、装置、设备及存储介质,该方法包括:接收并解析第一节点主程序发来的控制指令;解析到控制指令为用于控制第一节点的第一控制指令时,赋值给第一节点的第一变量;执行第一控制指令,得到第一结果数据并反馈至第一节点主程序;同时将第一节点的第一变量发送至第二节点SES程序,以便第二节点SES程序接收后解析并赋值给第二节点的第二变量。该方法在多控数据处理的情况下,增加节点数据的传输,经过双节点交互,实现一个节点对双节点SES程序的冗余链路控制,可以增强信息交互冗余机制,保证在设备正常和异常情况下,都可以正常的控制冗余度。

Description

一种数据传输方法、装置、设备及存储介质
技术领域
本发明涉及存储技术领域,特别是涉及一种数据传输方法、装置、设备及存储介质。
背景技术
对于存储系统接口,CPU处理业务数据,外有PICE接口;硬盘通用的是SAS接口,因而会有PICE转换为SAS接口,并且由SAS expander对接到每个硬盘。对于软件应用,有一个机箱管理模块,实时检测设备的运行情况,包括温度、电压、风扇等;为了保证设备可以长时间稳定可靠的运行,需要实时检测这些外围硬件的信息。该机箱管理模块分为两部分,一部分是以SAS expander上运行的SES程序,另一部分是主程序中的机箱管理(EnclosureManagement,EM)线程。
为了提高存储设备的高可靠性和高性能,通常在一套设备里有多个控制器建立集群,统一处理数据业务;常见是双控设备,如图1所示,由两个控制器组成,并且控制器上有每个SES程序可以单独控制的硬件,两个控制器组装在一个设备机框里,机框设置有机框共享硬件,如硬盘控制灯、系统灯、双控都一致的VPD信息等。但是,两套SES程序会引入一些问题,如双控都可以控制的硬件同时控制会出现异常,两个SES程序之间的交互也存在问题,当其中一个SES程序出现异常时如何进行处理也是问题所在。
因此,如何解决上述问题,实现机箱管理的可靠性可控控制和完整性信息获取,是本领域技术人员亟待解决的技术问题。
发明内容
有鉴于此,本发明的目的在于提供一种数据传输方法、装置、设备及存储介质,可以增强信息交互冗余机制,便于对机箱管理的控制和完整信息的获取。其具体方案如下:
一种数据传输方法,包括:
接收并解析第一节点主程序发来的控制指令;
解析到所述控制指令为用于控制第一节点的第一控制指令时,赋值给所述第一节点的第一变量;
执行所述第一控制指令,得到第一结果数据并反馈至所述第一节点主程序;
同时将所述第一节点的第一变量发送至第二节点SES程序,以便所述第二节点SES程序接收后解析并赋值给第二节点的第二变量。
优选地,在本发明实施例提供的上述数据传输方法中,在接收并解析第一节点主程序发来的控制指令之后,还包括:
解析到所述控制指令为用于控制第二节点的第二控制指令时,赋值给所述第一节点的第二变量;
将所述第一节点的第二变量发送到所述第二节点SES程序,以便所述第二节点SES程序接收后解析并赋值给所述第二节点的第一变量,并执行所述第二控制指令得到第二结果数据;
接收所述第二结果数据并反馈至所述第一节点主程序。
优选地,在本发明实施例提供的上述数据传输方法中,还包括:
获取查询指令;
上报所述第一节点和所述第二节点的数据。
优选地,在本发明实施例提供的上述数据传输方法中,在接收并解析第一节点主程序发来的控制指令之前,或,在获取查询指令之前,还包括:
将初始化后的所述第一节点的第一变量通过第一节点发送函数发送至第二节点接收函数,以便所述第二节点接收函数接收后解析并赋值给初始化后的所述第二节点的第二变量,并发送至所述第二节点SES程序。
优选地,在本发明实施例提供的上述数据传输方法中,在接收并解析第一节点主程序发来的控制指令之前,或,在获取查询指令之前,还包括:
将初始化后的所述第一节点的第二变量通过第一节点发送函数发送至第二节点接收函数,以便所述第二节点接收函数接收后解析并赋值给初始化后的所述第二节点的第一变量,并发送至所述第二节点SES程序。
优选地,在本发明实施例提供的上述数据传输方法中,还包括:
通过第一节点检测函数对所述第一节点的第一变量进行实时检测;
若检测到所述第一节点的第一变量发生变化时,将发生变化的所述第一变量通过所述第一节点发送函数发送至所述第二节点接收函数,以便所述第二节点接收函数接收后解析并赋值给所述第二节点的第二变量,并发送至所述第二节点SES程序。
优选地,在本发明实施例提供的上述数据传输方法中,还包括:
通过第一节点检测函数对所述第一节点的第二变量进行实时检测;
若检测到所述第一节点的第二变量发生变化时,将发生变化的所述第二变量通过所述第一节点发送函数发送至所述第二节点接收函数,以便所述第二节点接收函数接收后解析并赋值给所述第二节点的第一变量,并发送至所述第二节点SES程序。
本发明实施例还提供了一种数据传输装置,包括:
指令解析模块,用于接收并解析第一节点主程序发来的控制指令;
变量赋值模块,用于解析到所述控制指令为用于控制第一节点的第一控制指令时,赋值给所述第一节点的第一变量;
变量发送模块,用于将所述第一节点的第一变量发送至第二节点SES程序,以便所述第二节点SES程序接收后解析并赋值给第二节点的第二变量;
结果反馈模块,用于执行所述第一控制指令,得到第一结果数据并反馈至所述第一节点主程序。
优选地,在本发明实施例提供的上述数据传输装置中,所述指令解析模块,还用于解析到所述控制指令为用于控制第二节点的第二控制指令时,赋值给所述第一节点的第二变量;
所述变量发送模块,还用于将所述第一节点的第二变量发送到所述第二节点SES程序,以便所述第二节点SES程序接收后解析并赋值给所述第二节点的第一变量,并执行所述第二控制指令得到第二结果数据;
所述结果反馈模块,还用于接收所述第二结果数据并反馈至所述第一节点主程序。
优选地,在本发明实施例提供的上述数据传输装置中,还包括:
指令获取模块,用于获取查询指令;
数据上报模块,用于上报所述第一节点和所述第二节点的数据。
优选地,在本发明实施例提供的上述数据传输装置中,所述变量发送模块,还用于将初始化后的所述第一节点的第一变量通过第一节点发送函数发送至第二节点接收函数,以便所述第二节点接收函数接收后解析并赋值给初始化后的所述第二节点的第二变量,并发送至所述第二节点SES程序。
优选地,在本发明实施例提供的上述数据传输装置中,所述变量发送模块,还用于将初始化后的所述第一节点的第二变量通过第一节点发送函数发送至第二节点接收函数,以便所述第二节点接收函数接收后解析并赋值给初始化后的所述第二节点的第一变量,并发送至所述第二节点SES程序。
优选地,在本发明实施例提供的上述数据传输装置中,还包括:
变量检测模块,用于通过第一节点检测函数对所述第一节点的第一变量进行实时检测;
所述变量发送模块,还用于若检测到所述第一节点的第一变量发生变化时,将发生变化的所述第一变量通过所述第一节点发送函数发送至所述第二节点接收函数,以便所述第二节点接收函数接收后解析并赋值给所述第二节点的第二变量,并发送至所述第二节点SES程序。
优选地,在本发明实施例提供的上述数据传输装置中,所述变量检测模块,还用于通过第一节点检测函数对所述第一节点的第二变量进行实时检测;
所述变量发送模块,还用于若检测到所述第一节点的第二变量发生变化时,将发生变化的所述第二变量通过所述第一节点发送函数发送至所述第二节点接收函数,以便所述第二节点接收函数接收后解析并赋值给所述第二节点的第一变量,并发送至所述第二节点SES程序。
本发明实施例还提供了一种数据传输设备,包括处理器和存储器,其中,所述处理器执行所述存储器中保存的计算机程序时实现如本发明实施例提供的上述数据传输方法。
本发明实施例还提供了一种计算机可读存储介质,用于存储计算机程序,其中,所述计算机程序被处理器执行时实现如本发明实施例提供的上述数据传输方法。
从上述技术方案可以看出,本发明所提供的一种数据传输方法、装置、设备及存储介质,包括:接收并解析第一节点主程序发来的控制指令;解析到控制指令为用于控制第一节点的第一控制指令时,赋值给第一节点的第一变量;执行第一控制指令,得到第一结果数据并反馈至第一节点主程序;同时将第一节点的第一变量发送至第二节点SES程序,以便第二节点SES程序接收后解析并赋值给第二节点的第二变量。
本发明在多控数据处理的情况下,一个节点主程序可以向本节点SES程序发送本节点的控制指令,获取反馈数据,同时将变量发送给对端备份,增加节点数据的传输,经过双节点交互,实现一个节点对双节点SES程序的冗余链路控制,可以增强信息交互冗余机制,保证在设备正常和异常情况下,都可以正常的控制冗余度,以实现机箱管理的可靠性可控控制和完整性信息获取。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为现有的双控设备的结构示意图;
图2为本发明实施例提供的双节点程序布局示意图;
图3为本发明实施例提供的数据传输机制的示意图;
图4为本发明实施例提供的冗余链路控制示意图之一;
图5为本发明实施例提供的数据传输方法的信令交互图之一;
图6为本发明实施例提供的冗余链路控制示意图之二;
图7为本发明实施例提供的数据传输方法的信令交互图之二;
图8为本发明实施例提供的数据传输方法的信令交互图之三;
图9为本发明实施例提供的数据传输装置的结构示意图。
具体实施方式
当前双控节点中的每个节点都有主程序和SES程序;主程序经过与SES程序交互,来获取机箱管理信息;在设备都能正常运行的时候,每个都可以独立运行,并且独立交互;但是,很多的器件需要两端信息都获取后综合判定的,独立下发控制反而不方便,因而,考虑借助于双控建立通道,增加双控信息的传输,使得主程序可以方便获取双节点的信息,便于及时根据双控综合信息作出处理。当发生故障时,某个主程序或者链路不稳定,不能正常交互时,可以通过单节点程序收集双控的机箱信息,这样就能为定位问题提供便利。
鉴于目前所存在的上述问题,在建立SES程序之间交互通道的基础上,本发明提供一种数据传输方法,通过该方法能够增强信息交互冗余机制,保证在设备正常和异常情况下,都可以正常的控制冗余度。
为了便于理解,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了描述方便,后续双控节点中一个节点定义为第一节点,另一个节点定义为第二节点。图2示出了双节点程序布局示意图,第一节点和第二节点有各自的主程序和SES程序;SES程序将控制硬件,对各种数据与主程序进行交互。
定义双节点SES程序之间交互的变量集合,分别为第一变量和第二变量,加入一个枚举类型,每个变量有一个识别枚举ID。需要说明的是,除了主程序与SES程序之间的交互变量,为了扩展应用,该变量集合还可以包含各个功能模块中的重要数据;数据的添加灵活自由。
如图3所示,定义第一变量的名称为xxx_local变量,用于存放本节点的数据,定义第二变量的名称为xxx_remote变量,用于接收并存放对端节点的数据。具体地,第一节点SES程序中的xxx_local变量用于存放第一节点的数据,xxx_remote变量用于接收并存放第二节点的数据;第二节点SES程序中的xxx_local变量用于存放第二节点的数据,xxx_remote变量用于接收并存放第一节点的数据。在具体实施时,第一节点和第二节点的数据的传输是双向的。当接收主程序的控制时,变量可以逆向赋值。针对不同功能的数据,有不同的应用场景。
如图4所示,主程序可以实现对本节点SES程序的独立控制,即第一节点主程序可对第一节点SES程序独立控制,第二节点主程序可对第二节点SES程序独立控制,并使用xxx_local变量交互。该流程可发生在交互链路正常时,也可发生在主程序或交互链路异常时。
在具体实施时,如图5所示,本发明提供的数据传输方法,包括以下步骤:
S1、第一节点主程序向第一节点SES程序发送控制指令;
S2、第一节点SES程序解析到控制指令为用于控制第一节点的第一控制指令后,赋值给第一节点的xxx_local变量;
S3、第一节点SES程序将第一节点的xxx_local变量发送至第二节点SES程序;
S4、第二节点SES程序对第一节点的xxx_local变量解析并赋值给第二节点的xxx_remote变量并保存;
S5、第一节点SES程序执行第一控制指令,得到第一结果数据;
S6、第一节点SES程序将第一结果数据反馈至第一节点主程序。
在本发明实施例提供的上述数据传输方法中,在建立SES程序之间交互通道上,通过上述步骤S1至S6,一个节点主程序可以向本节点SES程序发送本节点的控制指令,获取反馈数据,同时将变量发送给对端备份,增加节点数据的传输,经过双节点交互,实现一个节点对双节点SES程序的冗余链路控制,这样可以增强主程序与SES程序之间的交互冗余度。
需要说明的是,当一个节点的主程序需要发送对SES程序的控制指令之前,可以首先检查对端主程序的运行状态和链路状态是否健康;当对端节点健康,则各节点独立控制,主程序只向SES程序发送本节点的控制指令,并获取本节点SES程序的反馈数据;而当对端节点不健康,第一节点主程序可以向第一节点SES程序发送针对第一节点的第一控制指令,也可以向第一节点SES程序发送对第二节点的第二控制指令。
如图6所示,当对端节点不健康(在主程序或交互链路异常时),在左图中,第一节点主程序可以向第一节点SES程序发送用于控制第二节点的第二控制指令,第一节点SES程序接收并解析到第一节点的xxx_remote变量,传递给第二节点的xxx_local变量。第二节点SES程序执行指令将反馈数据发送给第一节点SES程序,第一节点SES程序再反馈至主程序。右图与左图流程一致,这样在实现主程序或者链路异常时,依然可以对两个节点的SES程序都进行控制,进一步增强主程序与SES程序之间的交互冗余度。
根据上述描述,在具体实施时,在本发明实施例提供的上述数据传输方法中,如图7所示,还包括以下步骤:
S7、第一节点主程序向第一节点SES程序发送控制指令;
S8、第一节点SES程序解析到控制指令为用于控制第二节点的第二控制指令后,赋值给第一节点的xxx_remote变量;
S9、第一节点SES程序将第一节点的xxx_remote变量发送到第二节点SES程序;
S10、第二节点SES程序对第一节点的xxx_remote变量解析并赋值给第二节点的xxx_local变量;
S11、第二节点SES程序执行第二控制指令,得到第二结果数据;
S12、第二节点SES主程序将第二结果数据发送至第一节点SES程序;
S13、第一节点SES程序将第二结果数据反馈至第一节点主程序;
S14、第一节点主程序获取到第二节点SES程序的执行结果。
这样,通过上述步骤S7至S14,一个节点主程序可以向本节点SES程序发送对端节点的控制指令,利用交互通道完成双节点SES程序之间的指令和数据的结果。
从步骤S1至S14中可总结出,主程序可以实现对本节点和对端节点的SES程序的控制指令;具体地,当接收主程序发送的控制本节点的指令,则赋值给本节点的xxx_local变量;当接收主程序发送的控制对端节点的指令,则赋值给本节点的xxx_remote变量,传送到对端节点,对端节点赋值给对端节点的xxx_local变量。
在实际应用中,在冗余链路控制的基础上,发送对端节点的控制指令,可以扩展传输应用,用于固件升级、日志收集等场景,便于定位故障状态和采取异常修复措施,提高开发效率,降低维护成本。
由于SES程序与本节点主程序交互的内容包含双节点的变量数据,为了在已有建立的交互通道的基础上,增加交互内容,增强双节点SES程序之间的交互冗余度,在具体实施时,在本发明实施例提供的上述数据传输方法中,还包括:主程序向SES程序发送查询指令;SES程序可以上报本节点和对端节点的数据。也就是说,在与主程序交互时,可将每个节点的xxx_local变量和xxx_remote变量同时上传,即一个节点发送查询指令,可以本端和对端数据都获取到,实现在一个节点查询双端SES程序的数据,通过下发不同的控制码实现对双端的控制。当主节点进行机箱信息查询时,每个节点可以及时上报双节点的信息,保证了信息传递上报的全面和及时性,提供调试和定位的便利。
进一步地,在具体实施时,在本发明实施例提供的上述数据传输方法中,在第一节点主程序向第一节点SES程序发送控制指令之前,或,在第一节点主程序向第一节点SES程序发送查询指令之前,系统启动前,第一节点需要将交互集合的所有变量初始化,如图8所示,然后可以进行以下步骤:
S15、第一节点SES程序将初始化后的第一节点的xxx_local变量发送至第一节点发送函数;
S16、第一节点发送函数将初始化后的第一节点的xxx_local变量发送至第二节点接收函数;
S17、第二节点接收函数对初始化后的第一节点的xxx_local变量解析并赋值给第二节点的xxx_remote变量并发送至第二节点SES程序;
S18、第二节点SES程序与第二节点主程序交互。
同理,在具体实施时,在本发明实施例提供的上述数据传输方法中,还可以进行以下步骤:
步骤一、第一节点SES程序将初始化后的第一节点的xxx_remote变量发送至第一节点发送函数;
步骤二、第一节点发送函数将初始化后的第一节点的xxx_remote变量发送至第二节点接收函数;
步骤三、第二节点接收函数对初始化后的第一节点的xxx_remote变量解析并赋值给第二节点的xxx_local变量并发送至第二节点SES程序;
步骤四、第二节点SES程序与第二节点主程序交互。
针对硬件状态的变化,读取到本端的local变量变化时,需及时更新数据,发送到对端的remote变量,也就是说,一个节点当状态数据发生变化,第一时间需传递给对端节点进行保存;而传递的及时性,依赖于建立变量的检测机制和可靠的传输状态机。在具体实施时,在本发明实施例提供的上述数据传输方法中,如图8所示,还可以包括以下步骤:
S19、通过第一节点检测函数对第一节点的xxx_local变量进行实时检测;
S20、若检测到第一节点的xxx_local变量发生变化时,第一节点检测函数将发生变化的xxx_local变量发送至第一节点发送函数;
S21、第一节点发送函数将发生变化的xxx_local变量发送至第二节点接收函数;
S22、第二节点接收函数接收后解析并赋值给第二节点的xxx_remote变量,并发送至第二节点SES程序;
S23、第二节点SES程序与第二节点主程序交互。
同理,当读取到本端的remote变量变化时,也需及时更新数据,发送到对端的local变量,在具体实施时,在本发明实施例提供的上述数据传输方法中,还可以包括以下步骤:
第一步、通过第一节点检测函数对第一节点的xxx_remote变量进行实时检测;
第二步、若检测到第一节点的xxx_remote变量发生变化时,第一节点检测函数将发生变化的xxx_remote变量发送至第一节点发送函数;
第三步、第一节点发送函数将发生变化的xxx_remote变量发送至第二节点接收函数;
第四步、第二节点接收函数接收后解析并赋值给第二节点的xxx_local变量,并发送至第二节点SES程序;
第五步、第二节点SES程序与第二节点主程序交互。
这样在一个节点上增加对另一个节点的数据备份,即将一个节点更多更详尽的信息传输到对端节点,每个节点可以详尽地记录双节点的完整信息,并且及时更新,实现冗余数据备份,对于上报硬件状态提供方便;每个节点的主程序可以直接获取最新的完整机箱的详细数据,方便主程序对机箱的控制,提高了可靠性查询。
根据上述描述,可以理解的是,步骤S3和S4可以具体描述为第一节点SES程序将第一节点的xxx_local变量发送至第一节点发送函数;第一节点发送函数将第一节点的xxx_local变量发送至第二节点接收函数,第二节点接收函数对第一节点的xxx_local变量解析并赋值给第二节点的xxx_remote变量并发送至第二节点SES程序;也就是说,将第一节点的第一变量发送至第二节点SES程序,以便第二节点SES程序接收后解析并赋值给第二节点的第二变量,可以理解为将第一节点的第一变量通过第一节点发送函数发送至第二节点接收函数,以便第二节点接收函数接收后解析并赋值给第二节点的第二变量,并发送至第二节点SES程序。
同理,步骤S9和S10可以具体描述为第一节点SES程序将第一节点的xxx_remote变量发送至第一节点发送函数;第一节点发送函数将第一节点的xxx_remote变量发送至第二节点接收函数,第二节点接收函数对第一节点的xxx_remote变量解析并赋值给第二节点的xxx_local变量并发送至第二节点SES程序;也就是说,将第一节点的第二变量发送到第二节点SES程序,以便第二节点SES程序接收后解析并赋值给第二节点的第一变量,可以理解为将第一节点的第二变量通过第一节点发送函数发送至第二节点接收函数,以便第二节点接收函数接收后解析并赋值给第二节点的第一变量,并发送至第二节点SES程序。
基于同一发明构思,本发明实施例还提供了一种数据传输装置,由于该数据传输装置解决问题的原理与前述一种数据传输方法相似,因此该数据传输装置的实施可以参见数据传输方法的实施,重复之处不再赘述。
在具体实施时,本发明实施例提供的数据传输装置,如图9所示,具体包括:
指令解析模块11,用于接收并解析第一节点主程序发来的控制指令;
变量赋值模块12,用于解析到控制指令为用于控制第一节点的第一控制指令时,赋值给第一节点的xxx_local变量;
变量发送模块13,用于将第一节点的xxx_local变量发送至第二节点SES程序,以便第二节点SES程序接收后解析并赋值给第二节点的xxx_remote变量;
结果反馈模块14,用于执行第一控制指令,得到第一结果数据并反馈至第一节点主程序。
在本发明实施例提供的上述数据传输装置中,可以通过上述四个模块的相互作用,可以增加节点数据的传输,经过双节点交互,实现一个节点对双节点SES程序的冗余链路控制,增强信息交互冗余机制,保证在设备正常和异常情况下,都可以正常的控制冗余度。
进一步地,在具体实施时,在本发明实施例提供的上述数据传输装置中,指令解析模块11,还用于解析到控制指令为用于控制第二节点的第二控制指令时,赋值给第一节点的xxx_remote变量;
变量发送模块13,还用于将第一节点的xxx_remote变量发送到第二节点SES程序,以便第二节点SES程序接收后解析并赋值给第二节点的xxx_local变量,并执行第二控制指令得到第二结果数据;
结果反馈模块14,还用于接收第二结果数据并反馈至第一节点主程序。
SES程序管理着各个硬件的状态,借助于冗余控制通道,可以扩展实现机箱的查询,固件升级和日志收集等上层功能,实现异常情况下的机箱依然可控,为程序的调试和故障定位提供便利,提高开发效率,降低维护成本。
进一步地,在具体实施时,在本发明实施例提供的上述数据传输装置中,还包括:指令获取模块,还用于获取查询指令;数据上报模块,用于上报第一节点和第二节点的数据。
进一步地,在具体实施时,在本发明实施例提供的上述数据传输装置中,变量发送模块13,还用于将初始化后的第一节点的xxx_local变量通过第一节点发送函数发送至第二节点接收函数,以便第二节点接收函数接收后解析并赋值给第二节点的xxx_remote变量,并发送至第二节点SES程序。
同理,在具体实施时,在本发明实施例提供的上述数据传输装置中,变量发送模块13,还用于将初始化后的第一节点的xxx_remote变量通过第一节点发送函数发送至第二节点接收函数,以便第二节点接收函数接收后解析并赋值给第二节点的xxx_local变量,并发送至第二节点SES程序。
进一步地,在具体实施时,在本发明实施例提供的上述数据传输装置中,还包括:变量检测模块,用于通过第一节点检测函数对第一节点的xxx_local变量进行实时检测;变量发送模块13,还用于若检测到第一节点的xxx_local变量发生变化时,将发生变化的xxx_local变量通过第一节点发送函数发送至第二节点接收函数,以便第二节点接收函数接收后解析并赋值给第二节点的xxx_remote变量,并发送至第二节点SES程序。
同理,在具体实施时,在本发明实施例提供的上述数据传输装置中,变量检测模块,还用于通过第一节点检测函数对第一节点的xxx_remote变量进行实时检测;变量发送模块13,还用于若检测到第一节点的xxx_remote变量发生变化时,将发生变化的xxx_remote变量通过第一节点发送函数发送至第二节点接收函数,以便第二节点接收函数接收后解析并赋值给第二节点的xxx_local变量,并发送至第二节点SES程序。
关于上述各个模块更加具体的工作过程可以参考前述实施例公开的相应内容,在此不再进行赘述。
相应的,本发明实施例还公开了一种数据传输设备,包括处理器和存储器;其中,处理器执行存储器中保存的计算机程序时实现前述实施例公开的数据传输方法。
关于上述方法更加具体的过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
进一步的,本发明还公开了一种计算机可读存储介质,用于存储计算机程序;计算机程序被处理器执行时实现前述公开的数据传输方法。
关于上述方法更加具体的过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置、设备、存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
本发明实施例提供的一种数据传输方法、装置、设备及存储介质,包括:接收并解析第一节点主程序发来的控制指令;解析到控制指令为用于控制第一节点的第一控制指令时,赋值给第一节点的第一变量;执行第一控制指令,得到第一结果数据并反馈至第一节点主程序;同时将第一节点的第一变量发送至第二节点SES程序,以便第二节点SES程序接收后解析并赋值给第二节点的第二变量。这样在多控数据处理的情况下,增加节点数据的传输,经过双节点交互,实现一个节点对双节点SES程序的冗余链路控制,可以增强信息交互冗余机制,保证在设备正常和异常情况下,都可以正常的控制冗余度,以实现机箱管理的可靠性可控控制和完整性信息获取。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的数据传输方法、装置、设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (16)

1.一种数据传输方法,其特征在于,包括:
接收并解析第一节点主程序发来的控制指令;
解析到所述控制指令为用于控制第一节点的第一控制指令时,赋值给所述第一节点的第一变量;
执行所述第一控制指令,得到第一结果数据并反馈至所述第一节点主程序;
同时将所述第一节点的第一变量发送至第二节点SES程序,以便所述第二节点SES程序接收后解析并赋值给第二节点的第二变量。
2.根据权利要求1所述的数据传输方法,其特征在于,在接收并解析第一节点主程序发来的控制指令之后,还包括:
解析到所述控制指令为用于控制第二节点的第二控制指令时,赋值给所述第一节点的第二变量;
将所述第一节点的第二变量发送到所述第二节点SES程序,以便所述第二节点SES程序接收后解析并赋值给所述第二节点的第一变量,并执行所述第二控制指令得到第二结果数据;
接收所述第二结果数据并反馈至所述第一节点主程序。
3.根据权利要求2所述的数据传输方法,其特征在于,还包括:
获取查询指令;
上报所述第一节点和所述第二节点的数据。
4.根据权利要求3所述的数据传输方法,其特征在于,在接收并解析第一节点主程序发来的控制指令之前,或,在获取查询指令之前,还包括:
将初始化后的所述第一节点的第一变量通过第一节点发送函数发送至第二节点接收函数,以便所述第二节点接收函数接收后解析并赋值给初始化后的所述第二节点的第二变量,并发送至所述第二节点SES程序。
5.根据权利要求4所述的数据传输方法,其特征在于,在接收并解析第一节点主程序发来的控制指令之前,或,在获取查询指令之前,还包括:
将初始化后的所述第一节点的第二变量通过第一节点发送函数发送至第二节点接收函数,以便所述第二节点接收函数接收后解析并赋值给初始化后的所述第二节点的第一变量,并发送至所述第二节点SES程序。
6.根据权利要求5所述的数据传输方法,其特征在于,还包括:
通过第一节点检测函数对所述第一节点的第一变量进行实时检测;
若检测到所述第一节点的第一变量发生变化时,将发生变化的所述第一变量通过所述第一节点发送函数发送至所述第二节点接收函数,以便所述第二节点接收函数接收后解析并赋值给所述第二节点的第二变量,并发送至所述第二节点SES程序。
7.根据权利要求6所述的数据传输方法,其特征在于,还包括:
通过第一节点检测函数对所述第一节点的第二变量进行实时检测;
若检测到所述第一节点的第二变量发生变化时,将发生变化的所述第二变量通过所述第一节点发送函数发送至所述第二节点接收函数,以便所述第二节点接收函数接收后解析并赋值给所述第二节点的第一变量,并发送至所述第二节点SES程序。
8.一种数据传输装置,其特征在于,包括:
指令解析模块,用于接收并解析第一节点主程序发来的控制指令;
变量赋值模块,用于解析到所述控制指令为用于控制第一节点的第一控制指令时,赋值给所述第一节点的第一变量;
变量发送模块,用于将所述第一节点的第一变量发送至第二节点SES程序,以便所述第二节点SES程序接收后解析并赋值给第二节点的第二变量;
结果反馈模块,用于执行所述第一控制指令,得到第一结果数据并反馈至所述第一节点主程序。
9.根据权利要求8所述的数据传输装置,其特征在于,所述指令解析模块,还用于解析到所述控制指令为用于控制第二节点的第二控制指令时,赋值给所述第一节点的第二变量;
所述变量发送模块,还用于将所述第一节点的第二变量发送到所述第二节点SES程序,以便所述第二节点SES程序接收后解析并赋值给所述第二节点的第一变量,并执行所述第二控制指令得到第二结果数据;
所述结果反馈模块,还用于接收所述第二结果数据并反馈至所述第一节点主程序。
10.根据权利要求9所述的数据传输装置,其特征在于,还包括:
指令获取模块,用于获取查询指令;
数据上报模块,用于上报所述第一节点和所述第二节点的数据。
11.根据权利要求10所述的数据传输装置,其特征在于,所述变量发送模块,还用于将初始化后的所述第一节点的第一变量通过第一节点发送函数发送至第二节点接收函数,以便所述第二节点接收函数接收后解析并赋值给初始化后的所述第二节点的第二变量,并发送至所述第二节点SES程序。
12.根据权利要求11所述的数据传输装置,其特征在于,所述变量发送模块,还用于将初始化后的所述第一节点的第二变量通过第一节点发送函数发送至第二节点接收函数,以便所述第二节点接收函数接收后解析并赋值给初始化后的所述第二节点的第一变量,并发送至所述第二节点SES程序。
13.根据权利要求12所述的数据传输装置,其特征在于,还包括:
变量检测模块,用于通过第一节点检测函数对所述第一节点的第一变量进行实时检测;
所述变量发送模块,还用于若检测到所述第一节点的第一变量发生变化时,将发生变化的所述第一变量通过所述第一节点发送函数发送至所述第二节点接收函数,以便所述第二节点接收函数接收后解析并赋值给所述第二节点的第二变量,并发送至所述第二节点SES程序。
14.根据权利要求13所述的数据传输装置,其特征在于,所述变量检测模块,还用于通过第一节点检测函数对所述第一节点的第二变量进行实时检测;
所述变量发送模块,还用于若检测到所述第一节点的第二变量发生变化时,将发生变化的所述第二变量通过所述第一节点发送函数发送至所述第二节点接收函数,以便所述第二节点接收函数接收后解析并赋值给所述第二节点的第一变量,并发送至所述第二节点SES程序。
15.一种数据传输设备,其特征在于,包括处理器和存储器,其中,所述处理器执行所述存储器中保存的计算机程序时实现如权利要求1至7任一项所述的数据传输方法。
16.一种计算机可读存储介质,其特征在于,用于存储计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的数据传输方法。
CN201911244749.XA 2019-12-06 2019-12-06 一种数据传输方法、装置、设备及存储介质 Pending CN111124707A (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201911244749.XA CN111124707A (zh) 2019-12-06 2019-12-06 一种数据传输方法、装置、设备及存储介质
PCT/CN2020/087159 WO2021109432A1 (zh) 2019-12-06 2020-04-27 一种数据传输方法、装置、设备及存储介质
US17/781,330 US20230004518A1 (en) 2019-12-06 2020-04-27 Data Transmission Method, Apparatus, and Device, and Storage Medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911244749.XA CN111124707A (zh) 2019-12-06 2019-12-06 一种数据传输方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN111124707A true CN111124707A (zh) 2020-05-08

Family

ID=70497748

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911244749.XA Pending CN111124707A (zh) 2019-12-06 2019-12-06 一种数据传输方法、装置、设备及存储介质

Country Status (3)

Country Link
US (1) US20230004518A1 (zh)
CN (1) CN111124707A (zh)
WO (1) WO2021109432A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117807136A (zh) * 2024-02-29 2024-04-02 济南浪潮数据技术有限公司 一种数据访问的方法、装置、电子设备和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109117311A (zh) * 2018-08-22 2019-01-01 郑州云海信息技术有限公司 一种故障恢复方法及装置
CN110493328A (zh) * 2019-08-07 2019-11-22 苏州浪潮智能科技有限公司 一种状态信息处理方法、装置、服务器及可读存储介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6072804A (en) * 1995-05-24 2000-06-06 Thomson Consumer Electronics, Inc. Ring bus data transfer system
US6829657B1 (en) * 2001-06-15 2004-12-07 Lsi Logic Corporation Method to support general enclosure wiring when associating SES data with physical devices on a fiber channel loop with soft addresses
GB0201208D0 (en) * 2002-01-19 2002-03-06 Ibm Method and apparatus for hard address conflict resolution for enclosures in a loop network
US8504770B2 (en) * 2010-09-07 2013-08-06 Atto Technology, Inc. System and method for representation of target devices in a storage router
US9367510B2 (en) * 2013-11-26 2016-06-14 American Megatrends, Inc. Backplane controller for handling two SES sidebands using one SMBUS controller and handler controls blinking of LEDs of drives installed on backplane
CN105389123A (zh) * 2015-10-16 2016-03-09 浪潮(北京)电子信息产业有限公司 一种基于双控制器的存储管理方法及系统
CN105681359A (zh) * 2016-04-01 2016-06-15 浪潮电子信息产业股份有限公司 一种监控机柜的装置及方法
CN106407081B (zh) * 2016-09-30 2020-05-26 苏州浪潮智能科技有限公司 一种机箱管理系统及服务器
CN107544889A (zh) * 2017-08-24 2018-01-05 郑州云海信息技术有限公司 一种ses协议的信息元素的扩展方法及装置
CN107992372A (zh) * 2017-12-13 2018-05-04 郑州云海信息技术有限公司 一种机箱信息交互方法、系统、设备及计算机存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109117311A (zh) * 2018-08-22 2019-01-01 郑州云海信息技术有限公司 一种故障恢复方法及装置
CN110493328A (zh) * 2019-08-07 2019-11-22 苏州浪潮智能科技有限公司 一种状态信息处理方法、装置、服务器及可读存储介质

Also Published As

Publication number Publication date
US20230004518A1 (en) 2023-01-05
WO2021109432A1 (zh) 2021-06-10

Similar Documents

Publication Publication Date Title
CN101206569B (zh) 用于动态识别促使服务劣化的组件的方法和系统
CN111416821A (zh) 物联网设备信息采集方法、系统和装置
CN108897658B (zh) 主数据库监控方法、装置、计算机设备和存储介质
CN109933465B (zh) 异常处理方法、装置、服务器和存储介质
CN110995471A (zh) 一种日志采集方法、装置、系统及计算机可读存储介质
CN111767039B (zh) 基于脚本文件的工业采集网关及数据采集方法
CN108471343B (zh) 通讯校验码的确定方法及装置、通讯校验方法及系统
CN105471932A (zh) 一种前端应用的监控方法、设备和系统
CN103731663A (zh) 一种智能电视的测试方法和装置
CN115883407A (zh) 一种数据采集方法、系统、设备及存储介质
CN111124707A (zh) 一种数据传输方法、装置、设备及存储介质
US9935867B2 (en) Diagnostic service for devices that employ a device agent
CN112261114A (zh) 一种数据备份系统及方法
CN112822254A (zh) 数据采集传输系统及远程在线升级、调配参数的方法
CN104158843A (zh) 分布式文件存储系统的存储单元失效检测方法及装置
CN111324364A (zh) 一种设备管理的方法、装置、设备及存储介质
CN113434354B (zh) 一种总线异常处置方法、装置、电子设备及可读存储介质
CN105335145A (zh) 操作结果处理方法、装置及系统
CN110673710B (zh) 一种服务器机箱复位方法、装置、设备、介质
CN114791900A (zh) 基于Operator的Redis运维方法、装置、系统及存储介质
US9712380B2 (en) Analytical device control system
CN113835939A (zh) 故障信息的处理方法及装置、存储介质、电子装置
CN105827481A (zh) 一种业务纠错方法和装置
CN113553243A (zh) 远端侦错方法
KR101096799B1 (ko) 무선 센서 네트워크 기반의 프로파일 관리방법 및 그 장치

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20200508