CN115021865A - 数据读取方法、数据推送方法、电子设备及可读存储介质 - Google Patents

数据读取方法、数据推送方法、电子设备及可读存储介质 Download PDF

Info

Publication number
CN115021865A
CN115021865A CN202210499756.XA CN202210499756A CN115021865A CN 115021865 A CN115021865 A CN 115021865A CN 202210499756 A CN202210499756 A CN 202210499756A CN 115021865 A CN115021865 A CN 115021865A
Authority
CN
China
Prior art keywords
data
frame
data frame
instruction
error
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
CN202210499756.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.)
Ecoflow Technology Ltd
Original Assignee
Ecoflow Technology 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 Ecoflow Technology Ltd filed Critical Ecoflow Technology Ltd
Priority to CN202210499756.XA priority Critical patent/CN115021865A/zh
Publication of CN115021865A publication Critical patent/CN115021865A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/20Arrangements for detecting or preventing errors in the information received using signal quality detector
    • 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
    • Y02EREDUCTION OF GREENHOUSE GAS [GHG] EMISSIONS, RELATED TO ENERGY GENERATION, TRANSMISSION OR DISTRIBUTION
    • Y02E60/00Enabling technologies; Technologies with a potential or indirect contribution to GHG emissions mitigation
    • Y02E60/10Energy storage using batteries

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Communication Control (AREA)

Abstract

本申请适用于数据处理技术领域,提供了一种数据读取方法、数据推送方法及电子设备,该方法包括:第一设备接收第二设备发送的数据帧;对所述数据帧进行解析;在所述数据帧对应的解析结果为数据错误时,向所述第二设备发送补采指令,所述补采指令用于指示所述第二设备补发与所述数据错误对应的目标数据帧;接收所述第二设备补发的与所述数据错误对应的所述目标数据帧;提高了数据的传输的准确度。

Description

数据读取方法、数据推送方法、电子设备及可读存储介质
技术领域
本申请属于数据处理技术领域,尤其涉及一种数据读取方法、数据推送方法、电子设备及可读存储介质。
背景技术
目前,在对电子设备的主板进行测试时,通常需要利用上位机与被测试电子设备的主板进行通信。例如,在对储能设备的电池管理系统(Battery Management System,BMS)进行测试时,将BMS与上位机进行物理连接后,上位机可以向BMS发送读取指令,指示BMS在测试过程中主动向上位机推送数据,执行数据的传输过程。
然而,在传输的数据量较多时,现有的基于上位机的读取指令以及BMS主动推送的数据传输方式,容易出现数据丢帧或错帧的缺陷,导致数据传输的准确性较低。
发明内容
本申请实施例提供了一种数据读取方法、数据推送方法、电子设备及可读存储介质,可以提高数据的传输的准确度。
第一方面,本申请提供了一种数据读取方法,应用于第一设备,该方法可以包括:
接收第二设备发送的数据帧;对所述数据帧进行解析;在所述数据帧对应的解析结果为数据错误时,向所述第二设备发送补采指令,所述补采指令用于指示所述第二设备补发与所述数据错误对应的目标数据帧;接收所述第二设备补发的与所述数据错误对应的所述目标数据帧。
在第一方面的一种可能的实现方式中,在所述接收第二设备发送的数据帧之前,所述方法还包括:
接收所述第二设备发送的配置帧,所述配置帧包括所述数据帧的属性信息;
相应的,所述在所述数据帧对应的解析结果为数据错误时,向所述第二设备发送补采指令,包括:
在所述数据帧对应的基于所述属性信息的解析结果为数据错误时,向所述第二设备发送所述补采指令。
在第一方面的一种可能的实现方式中,所述数据错误包括数据内容错误;所述在所述数据帧对应的基于所述属性信息的解析结果为数据错误时,向所述第二设备发送所述补采指令,包括:
在所述数据帧对应的基于所述属性信息的解析结果为所述数据内容错误时,向所述第二设备发送所述补采指令。
在第一方面的一种可能的实现方式中,所述配置帧还包括所述数据帧的序号信息;所述在所述数据帧对应的解析结果为数据错误时,向所述第二设备发送补采指令,包括:
在所述数据帧对应的基于所述序号信息的解析结果为数据错误时,向所述第二设备发送所述补采指令。
在第一方面的一种可能的实现方式中,所述数据错误包括丢帧;所述在所述数据帧对应的基于所述序号信息的解析结果为数据错误时,向所述第二设备发送所述补采指令,包括:
在所述数据帧对应的基于所述序号信息的解析结果为所述丢帧时,向所述第二设备发送所述补采指令,所述补采指令包括所述丢帧对应数据的目标序号。
在第一方面的一种可能的实现方式中,在所述接收所述第二设备补发的与所述数据错误对应的目标数据帧之后,所述方法还包括:
在接收到所述目标数据帧后,继续接收所述第二设备发送的后续数据帧;所述后续数据帧的序号在所述目标序号之后。
在第一方面的一种可能的实现方式中,在所述向所述第二设备发送补采指令之前,所述方法还包括:
向所述第二设备发送第一读取指令,所述第一读取指令用于指示所述第二设备向所述第一设备依次发送配置帧和所述数据帧;根据所述配置帧创建初始数据列表;
或者,
在接收到所述第二设备定时发送的配置帧,且根据所述配置帧创建初始数据列表后,响应于用户触发的数据读取操作,向所述第二设备发送第二读取指令;所述第二读取指令用于指示所述第二设备反馈所述数据帧;
其中,所述初始数据列表用于记录所述数据帧的数据内容。
在第一方面的一种可能的实现方式中,在所述接收所述第二设备补发的与所述数据错误对应的目标数据帧之后,所述方法还包括:
在接收到所述目标数据帧时,按照所述目标序号调整所述目标数据帧对应的数据在所述初始数据列表中的位置。
第二方面,本申请提供了一种数据推送方法,应用于与第一设备进行通信的第二设备,该方法可以包括:
向所述第一设备发送数据帧;
在接收到所述第一设备基于所述数据帧反馈的补采指令时,根据所述补采指令向所述第一设备补发目标数据帧;其中,所述补采指令为所述第一设备在所述数据帧对应的解析结果为数据错误时发送的;所述目标数据帧与所述数据错误对应。
第三方面,本申请实施例提供了一种数据读取装置,该装置可以包括:
接收单元,用于接收第二设备发送的数据帧;
处理单元,用于对所述数据帧进行解析;
发送单元,用于在所述数据帧对应的解析结果为数据错误时,向所述第二设备发送补采指令,所述补采指令用于指示所述第二设备补发与所述数据错误对应的目标数据帧;
所述接收单元,还用于接收所述第二设备补发的与所述数据错误对应的所述目标数据帧。
第四方面,本申请实施例提供了一种数据推送装置,该装置可以包括:
发送单元,用于向所述第一设备发送数据帧;
所述发送单元,还用于在接收到所述第一设备基于所述数据帧反馈的补采指令时,根据所述补采指令向所述第一设备补发目标数据帧;其中,所述补采指令为所述第一设备在所述数据帧对应的解析结果为数据错误时发送的;所述目标数据帧与所述数据错误对应。
第五方面,本申请提供了一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现第一方面或第二方面所述的方法。
第六方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现第一方面或第二方面所述的方法。
第七方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第一方面或第二方面所述的方法。
可以理解的是,上述第二方面至第七方面的有益效果可以参见第一方面中的相关描述,在此不再赘述。
本申请与现有技术相比存在的有益效果是:本申请实施例第一设备在接收到第二设备发送的数据信息后,根据数据信息中的配置帧解析数据帧,得到解析结果,并在解析结果存在数据错误时,第一设备可以向第二设备发送补采指令,指示第二设备补发存在数据错的数据帧;从而在传输的数据量较多时,可以降低出现数据丢帧或错帧缺陷的概率,提高数据传输的准确性,从而可以提升设备的运行性能;具有较强的易用性与实用性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的数据传输系统的应用场景的示意图;
图2是本申请实施例提供的数据读取方法的流程示意图;
图3是本申请实施例提供的数据推送方法的流程示意图;
图4是本申请实施例提供的第一设备与第二设备的交互流程示意图;
图5是本申请实施例提供的数据写入数据列表的场景示意图;
图6是本申请实施例提供的数据读取装置的结构示意图;
图7是本申请实施例提供的电子设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
下面通过具体实施例介绍本申请所实施的应用场景及实施的具体过程。
请参见图1,图1是本申请实施例提供的数据传输系统的应用场景的示意图。如图1所示,该系统包括第一设备11和第二设备12,第一设备11与第二设备12通过有线或无线的方式建立通信连接;其中,第一设备11可以为上位机,第二设备12可以是被测试电子设备,或者是被测试电子设备中的功能模组,例如电池管理系统(BATTERY MANAGEMENT SYSTEM,BMS)。这里,BMS为监控电池运行状态的管理系统。BMS获取电池组在工作期间的动态数据,与上位机通信,将该动态数据传输至上位机,上位机对动态数据进行分析,反馈电池的运行状态。
下面以第一设备11为上位机,第二设备12为BMS为例进行说明。目前,电池管理系统与上位机通信过程中,上位机向BMS发送读取指令,电池管理系统采用数据推送函数“rec()”实现数据的主动推送,上位机接收完所有数据并保存。然而,BMS基于现有的“rec()”函数进行数据上传的方式,上位机无法判断上传的数据帧是否存在错误,进而在上传的数据帧存在错误时也无法及时进行数据的补充采集。
因此,本申请实施例对现有的基于数据推送函数“rec()”上传数据时的协议帧进行修改补充,增加上位机与BMS之间用于指示进行数据检测的协议帧;在协议帧中配置有用于对数据内容进行检测的描述信息,例如该描述信息可以包括对数据帧的数据内容进行检测的信息或对数据帧的序号信息进行检测的信息;上位机在接收到携带有该描述信息的协议帧后,在解析数据帧时对数据帧进行检测识别,并判断接收到的数据帧是否存在数据错误。
例如,BMS中预先配置有与待传输数据对应的rec配置列表,并将该rec配置列表注册到rec函数工具中,使得BMS基于该rec函数工具可以按预设周期主动向上位机推送与rec配置列表对应的配置帧,或者在接收到上位机发送的读取指令时向上位机发送配置帧。该rec配置列表可以基于BMS能够检测到的设备相关参量以及需要传输给上位机的参量进行预先配置,该配置帧的内容还可以随时间或被检测的设备的型号的改变而定期更新;上位机接收到该配置帧后,可以根据该配置帧创建初始数据列表。
相应的,上位机向BMS发送读取指令后,BMS根据读取指令调用rec函数工具,向上位机发送数据帧。数据帧中可以封装有协议帧,上位机中预先配置有与协议帧对应的检测策略;上位机在接收到BMS主动推送的数据帧后,上位机按照相应的协议帧的描述信息执行对应的检测策略,对BMS主动推送的数据帧进行解析,并在解析结果无误或针对解析结果有误的数据进行补采后,将数据帧对应的数据内容对应写入初始数据列表中。
通过上述方式,BMS基于rec函数工具,在接收上位机的读取指令后,主动推送待传输的所有数据帧;或者,BMS采用rec函数工具,基于预先配置的rec配置列表,按预设周期定时向上位机发送配置帧,并在接收到读取指令后,推送与读取指令长度对应的所有数据帧;相对于“一问一答”机制,本申请采用的基于上位机的一次读取指令,采用rec函数主动推送所有待传输数据的方式,可以提高数据传输的效率;基于上位机与BMS之间预先协商的协议帧,以及上位机中对应协议帧的检测策略,在上位机对数据帧进行解析时,可以检测接收到的数据帧是否存在数据错误,并在存在数据错误时进行补采,可以提高数据传输的准确度。
针对上述BMS与上位机之间进行数据传输的过程,本申请实施例提供了一种数据推送方法。下面通过本申请实施例介绍该方法实现的具体过程。
请参见图2,图2是本申请一实施例提供的数据推送方法的流程示意图。如图2所示,该方法的执行主体可以为图1中的第一设备11,以第一设备11为上位机为例进行说明,该方法可以包括以下步骤:
S201,第一设备接收第二设备发送的数据帧。
在一些实施例中,第一设备可以为上位机,第二设备可以为BMS。上位机与BMS建立通信连接,可以实时或定时的传输数据。上位机可以向BMS发送读取指令,BMS可以向上位机主动推送数据帧。
在一种应用场景中,BMS中预先配置有rec配置列表,BMS可以根据rec配置列表生成配置帧;上位机在接收数据帧之前,还可以接收BMS反馈的配置帧。上位机可以接收BMS按预设周期定时推送的配置帧;上位机也可以向BMS发送读取指令,接收BMS基于该读取指令反馈的配置帧。该读取指令可以包括待传输数据的类别信息或长度信息。例如,上位机可以向BMS发送一次读取指令,该读取指令中包括类别信息和长度信息,BMS基于该读取指令的类别信息反馈配置帧,基于长度信息反馈数据帧;或者,上位机与BMS之间预先设置待传输数据的类别信息,BMS基于预先设置的类别信息反馈配置帧。上位机可以根据配置帧创建具有数据表头的初始数据列表,该数据表头可以为与配置帧对应的数据类别,例如电压、电流或温度等。
示例性的,上位机向BMS发送一次读取指令后,BMS调用rec函数工具,向上位机发送配置帧,在上位机根据该配置帧创建初始数据列表后,BMS继续调用rec函数工具,根据读取指令中的数据长度向上位机发送数据帧。
在另一种应用场景中,BMS中预先配置有rec配置列表以及定时发送的机制;BMS根据rec配置列表生成配置帧,并基于该定时发送的机制,按预设周期定时向上位机发送配置帧。在上位机根据该配置帧创建初始数据列表后,用户需要读取数据时,上位机接收用户触发的指令,该指令可以为用户通过点击读取按钮触发的数据读取操作。
示例性的,上位机响应于用户触发的数据读取操作,向BMS发送读取指令。BMS根据该读取指令中的数据长度,调用rec函数工具,向上位机推送数据帧。其中,该读取指令中可以包括待传输数据的长度。
示例性的,上述数据长度可以为读取内容的范围大小(例如针对一类数据的时间范围或所述设备型号的范围等)或字节长度;还可以是待传输数据的总长度;或者,当一个数据帧能够容纳待传输数据的总长度时,该待传输数据的长度可以为一个数据帧对应的数据内容的长度。待传输数据的数据长度可以对应至少一个数据帧的数据内容的长度,当待传输数据的长度不足一个数据帧的数据内容的长度时,可以作为一个数据帧传输;当待传输数据的数据长度对应多个数据帧时,BMS可以基于上位机发送的一次读取指令,连续发送多个数据帧,直至发送完所有待传输数据。一个数据帧还可以定义为被配置有若干字节的单位数据帧,该单位数据帧定义了可以携带数据内容的字节大小。
示例性的,上述rec配置列表定义待传输数据的内容、类别或数据学名等;例如待传输数据可以包括电池的温度、电压及电流等类别,则在rec配置列表
中预先配置有电池的温度、电压及电流等类别,BMS可以基于该rec配置列表
中包含的类别生成配置帧。在BMS中,预先配置的rec配置列表与采集到的数
据帧相对应,一个rec配置列表可以对应至少一个数据帧,在BMS基于rec配
置列表生成配置帧后,配置帧与数据帧相对应;从而在上位机向BMS发送读
取指令后,BMS可以基于该对应关系向上位机主动推送数据帧。
示例性的,BMS基于待传输数据的数据长度,可以分多次向上位机发送数据帧,直至发送完该一次读取指令对应的所有数据;其中,每次可以发送一个或多个数据帧,每个数据帧中可以包括多条数据。例如,当待传输数据的长度小于单位数据帧可容纳数据内容的长度时,BMS则以单位数据帧发送该待传输数据。
示例性的,该数据帧对应的具体的数据内容可以为一类物理量的具体数据信息,例如电压对应数据帧可以包括“5V、6V”等字段,电流对应数据帧可以包括“10A、9A”等字段;该配置帧对应待传输数据的类型的名称,即数据学名,例如电池的电压、电流以及温度等;上位机在生成初始数据列表时,基于配置帧包含的数据类别配置初始数据列表的表头。BMS向上位机发送的配置帧,可以包括rec配置列表中的全部或部分数据类别,例如rec配置列表中包括电压、电流及温度等类别,所生成的配置帧中则可以包含其中的一种类别或多种类别,具体可以根据实际应用场景进行选择性设置或选择性生成。
S202,第一设备对数据帧进行解析。
在一些实施例中,上位机与BMS预先配置有一定格式的协议帧,该协议帧为传输指令或数据时,上位机和BMS均可以识别的命令帧。例如表1所示的读取指令对应的格式,当BMS接收到的读取指令对应的命令帧格式为:CMD_SET和CMD_ID分别为0x01和0xB1时,BMS可以确定该读取指令为普通读取数据的指令,基于该指令推送数据帧。
Figure BDA0003635019110000101
表1
为了实现上位机在解析数据时同时对数据进行检测,上位机和BMS还预先配置了用于触发检测策略的协议帧,该协议帧为在对数据帧解析时对数据帧进行检测的命令帧。在BMS向上位机推送数据帧时,该协议帧可以封装在相应的数据帧中;上位机接收到的数据帧后,对数据帧进行解析时,基于对应的协议帧,对数据帧的数据内容或序号进行检测,确定数据帧是否存在数据错误。
在一种可能实现的方式中,该协议帧被配置为检测数据帧的数据内容的命令帧,例如将该协议帧配置为CMD_SET和CMD_ID分别为0xFF和0x04的命令帧,上位机接收到数据帧,对数据帧解析过程中,基于该命令帧对数据内容进行校验。
示例性的,配置帧可以包括数据帧的属性信息。在上位机解析数据帧过程中,对数据内容的校验可以基于配置帧创建的初始数据列表中的数据帧的属性信息(例如数据类别)对数据内容进行校验对比,得到数据帧对应的基于该属性信息的解析结果。
在另一种可能的实现方式种,该协议帧被配置为检测数据帧序号信息的命令帧,例如将该协议帧定位CMD_SET和CMD_ID分别为0xFF和0x03的命令帧,上位机接收到数据帧,对数据帧解析过程中,基于该命令帧对数据帧的序号信息进行校验。
示例性的,配置帧中还可以包括数据帧的序号信息。在上位机解析数据帧过程中,可以基于配置帧创建的初始数据列表中的序号信息,对接收到的数据帧中数据的序号信息进行对比,得到数据帧对应的基于序号信息的解析结果。
S203,在所述数据帧对应的解析结果为数据错误时,向所述第二设备发送补采指令,所述补采指令用于指示所述第二设备补发与所述数据错误对应的目标数据帧。
为了避免补采的目标数据帧存在数据内容冗余,在本申请的所有实施例中,目标数据帧中的数据内容与数据帧解析出现错误的内容对应,也即在对数据帧进行解析的结果为部分数据错误时,目标数据帧中的数据内容与该部分错误的数据内容对应,在对数据帧进行解析的结果为全部数据错误时,目标数据帧中的数据内容则是数据帧的全部数据内容。基于此,通过对数据帧进行解析且在解析结果为数据错误时,向第二设备发送补采指令,且以该补采指令指示第二设备补发与数据错误对应的目标数据帧,进而限定了目标数据帧的数据内容范围,令补采得到目标数据帧中的数据内容仅为数据帧中存在错误的数据内容。
在一些实施例中,数据错误的解析结果可以包括数据帧对应的基于属性信息的解析结果或者数据帧对应的基于序号信息的解析结果;数据错误可以包括基于属性信息解析得到数据内容错误或者基于序号信息解析对应的丢帧错误。
示例性的,数据内容错误可以为数据帧的数据内容与配置帧定义的初始数据列表的表头内容完全不对应或者部分不对应,例如上位机需要读取的是电压和电流的数据,但是BMS反馈的是时间和温度的数据。
示例性的,一个数据帧可以包括多条数据内容,例如单位数据帧为50Kb,一条数据内容为5Kb,则发送一个数据帧可以包括连续的10条数据内容。相应的,一个数据帧可以包括多条数据内容;在数据帧出现数据内容错误时,可以是整个数据帧的全部数据内容出现错误,也可以是数据帧中某几条数据内容出现错误;从而基于初始数据列表的属性信息确定出现数据内容错误的数据。
示例性的,丢帧错误可以为接收到的数据帧不连续,或者解析得到的数据帧的序号信息与基于配置帧创建的初始数据列表中的序号信息不对应,出现跳帧等。例如,在解析数据帧时,得到数据帧的序号信息依次为1、2、5,缺少序号信息为3和4的数据,则可以判定数据帧不连续,出现丢帧错误;或者,在解析数据帧时,得到数据帧序号与初始数据列表中的依次建立的序号不对应(如初始数据列表的序号依次为1、2、3、4、5,而接收到的数据帧的序号为1、2、5,数据帧的序号5与初始数据列表中的3不对应),则判定接收到的数据帧不连续,出现丢帧错误。
示例性的,不管上位机要读取的数据条数是多少,数据帧的序号都是从1开始,直至需要读取的数据条数。数据帧的序号信息可以对应数据帧中所包括的数据内容的序号,在数据帧出现丢帧错误时,可以是整个数据帧的全部数据内容出现丢帧,也可以是数据帧中某几条数据内容出现丢帧;从而基于每条数据内容的序号确定出现丢帧错误对应的数据内容。
在一些实施例中,为了区分上位机发送的读取指令,上位机与BMS中预先配有补采指令对应的命令帧的格式,上位机与BMS均可以识别该补采指令对应的命令帧的格式。当数据帧对应的解析结果为数据错误时,上位机向BMS发送补采指令,BMS在接收到该补采指令的命令帧时,可以响应该补采指令,补发与该补采指令对应的数据帧。如表2所示的补采指令对应的命令帧格式,当BMS接收到的补采指令对应的命令帧格式为:CMD_SET和CMD_ID分别为0x01和0xB2时,BMS可以确定该补采指令为补发数据的指令,基于该指令补充发送目标数据帧。
示例性的,当数据内容错误时,补采指令中可以包括与待补发数据对应的目标属性标识;当丢帧错误时,补采指令中可以包括与待补发数据对应的目标序号。BMS接收到该补采指令后,可以基于该补采指令中的目标属性标识或目标序号,补充发送对应的数据。
Figure BDA0003635019110000131
表2
S204,第一设备接收第二设备补发的与数据错误对应的目标数据帧。
在一些实施例中,由于在数据帧出现数据内容错误时,可以是整个数据帧的全部数据内容出现错误,也可以是数据帧中某几条数据内容出现错误,或者多帧数据的数据内容出现错误,在数据帧出现丢帧错误时,可以是整个数据帧的全部数据内容出现丢帧,也可以是数据帧中某几条数据内容出现丢帧,或者出现多个数据帧的丢帧错误,从而该补发的目标数据帧可以为对应的一个数据帧的全部数据内容、几条数据内容或多个数据帧的数据内容;即只针对存在数据内容错误或丢帧错误的数据内容进行补发,补发的可以是一帧数据也可以是几条数据,补发的数据可以基于单位数据帧的形式发送,基于补采指令对应的数据内容的条数,可以一次发送一个或多个数据帧,直至补发完所有存在数据错误对应的数据。
需要说明的是,上位机在解析数据帧得到数据内容后,将数据内容按照接收到数据帧的顺序依次写入初始数据列表中;在接收到BMS补发的数据帧之后,调整已接收到的数据内容在初始数据列表中的位置,并写入补发的目标数据帧。
在一些实施例中,在接收所述第二设备补发的与所述数据错误对应的目标数据帧之后,该方法还包括:
在接收到所述目标数据帧后,继续接收第二设备发送的后续数据帧;所述后续数据帧的序号在所述目标序号之后。
示例性的,当BMS收到补采指令时,根据补采指令的目标序号,重新发送该目标序号的帧数据;补充发送完成后,再接着当前的已接收到的序号发送数据,直至发送完成。上位机接收到补采的数据之后,根据数据帧的序号,插入至原来创建的初始数据列表中。基于上述实施例,当上位机接收到序号5数据时,进行数据的补采,补采到序号3和序号4的数据后,BMS接着从序号5之后的序号6,向上位机发送数据。
在一些实施例中,在接收第二设备补发的与数据错误对应的目标数据帧之后,该方法还包括:
在接收到目标数据帧时,按照目标序号调整目标数据帧对应的数据在初始数据列表中的位置。
示例性的,如图5中的(a)图或(b)图所示,确定序号3和序号4的数据丢帧后,将序号5的数据移动两位,并将补采得到的序号3和序号4的数据插入空位。
请参见图3,本申请一实施例还提供了一种数据推送方法。如图3所示,该方法的执行主体可以为图1中的第二设备12,以第二设备12为BMS为例进行说明,与上述数据读取方法相对应,该方法实现的原理与上述数据读取方法的实现原理相对应,基于上述实施例的描述,该实施例不再赘述;该方法可以包括以下步骤:
S301,向所述第一设备发送数据帧。
S302,在接收到所述第一设备基于所述数据帧反馈的补采指令时,根据所述补采指令向所述第一设备补发目标数据帧。
其中,所述补采指令为所述第一设备在所述数据帧对应的解析结果为数据错误时发送的;所述目标数据帧与所述数据错误对应。
请参见图4,本申请实施例还提供了第一设备与第二设备交互的流程示意图,基于与上述实施例相同的实现原理,在此不再赘述;该交互过程可以包括以下步骤:
1、上位机向BMS发送读取指令。
2、BMS基于读取指令,调用rec函数工具,生成配置帧。
3、BMS向上位机发送配置帧(该配置帧还可以是基于定时发送机制向上位机发送的)。
4、上位机根据配置帧,创建初始数据列表。
5、在上位机创建初始数据列表后,BMS基于读取指令向上位机发送数据帧。
6、上位机根据配置帧,解析接收到的数据帧;并判断解析结果是否为数据帧存在错误;若是则执行步骤7;若否则判断数据传输是否结束,若是则执行步骤9,若否则BMS继续向上位机发送数据帧。在上位机根据配置帧,解析数据帧之后,还可以直接判断数据传输是否结束(可以由上位机基于带读取数据的数据长度判断,也可以由BMS基于读取指令中的数据长度判断),若是则执行步骤9,若否则执行步骤5,BMS继续向上位机发送数据帧。
7、上位机向BMS发送补采指令。
8、BMS基于补采指令向上位机补发目标数据帧。
9、上位机将数据帧按接收到顺序依次写入初始数据列表中并保存。
10、BMS关闭推送数据功能。
通过本申请实施例,第一设备在接收到第二设备发送的数据信息后,根据数据信息中的配置帧解析数据帧,得到解析结果,并在解析结果存在数据错误时,第一设备可以向第二设备发送补采指令,指示第二设备补发存在数据错的数据帧;从而在传输的数据量较多时,可以降低出现数据丢帧或错帧缺陷的概率,提高数据传输的准确性;并且只需对协议帧进行修改补充,即可直接调用,开发周期短;同时基于一次读取指令,可以发送完对应读取指令的所有数据,由于少了多次的应答机制,提高了数据传输的效率,从而提升了设备的运行性能。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
对应于上文实施例所述的数据读取方法,图6示出了本申请实施例提供的数据读取装置的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。
参照图6,该装置包括:
接收单元61,用于接收第二设备发送的数据帧;
处理单元62,用于对所述数据帧进行解析;
发送单元63,用于在所述数据帧对应的解析结果为数据错误时,向所述第二设备发送补采指令,所述补采指令用于指示所述第二设备补发与所述数据错误对应的目标数据帧;
所述接收单元61,还用于接收所述第二设备补发的与所述数据错误对应的所述目标数据帧。
对应于上文实施例所述的数据推送方法,本申请实施例还提供了数据推送装置,该装置可以包括:
发送单元,用于向所述第一设备发送数据帧;
所述发送单元,还用于在接收到所述第一设备基于所述数据帧反馈的补采指令时,根据所述补采指令向所述第一设备补发目标数据帧;其中,所述补采指令为所述第一设备在所述数据帧对应的解析结果为数据错误时发送的;所述目标数据帧与所述数据错误对应。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在移动终端上运行时,使得电子设备执行时实现可实现上述各个方法实施例中的步骤。
图7为本申请一实施例提供的电子设备7的结构示意图。如图7所示,该实施例的电子设备7包括:至少一个处理器70(图7中仅示出一个)、存储器71以及存储在所述存储器71中并可在所述至少一个处理器70上运行的计算机程序72,所述处理器70执行所述计算机程序72时实现上述实施例中的步骤。
该电子设备7可包括,但不仅限于,处理器70、存储器71。本领域技术人员可以理解,图7仅仅是电子设备7的举例,并不构成对电子设备7的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。
所称处理器70可以是中央处理单元(Central Processing Unit,CPU),该处理器70还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器71在一些实施例中可以是所述电子设备7的内部存储单元,例如电子设备7的硬盘或内存。所述存储器71在另一些实施例中也可以是所述电子设备7的外部存储设备,例如所述电子设备7上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器71还可以既包括所述电子设备7的内部存储单元也包括外部存储设备。所述存储器71用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器71还可以用于暂时地存储已经输出或者将要输出的数据。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (10)

1.一种数据读取方法,其特征在于,应用于第一设备,所述方法包括:
接收第二设备发送的数据帧;
对所述数据帧进行解析;
在所述数据帧对应的解析结果为数据错误时,向所述第二设备发送补采指令,所述补采指令用于指示所述第二设备补发与所述数据错误对应的目标数据帧;
接收所述第二设备补发的与所述数据错误对应的所述目标数据帧。
2.如权利要求1所述的方法,其特征在于,在所述接收第二设备发送的数据帧之前,所述方法还包括:
接收所述第二设备发送的配置帧,所述配置帧包括所述数据帧的属性信息;
相应的,所述在所述数据帧对应的解析结果为数据错误时,向所述第二设备发送补采指令,包括:
在所述数据帧对应的基于所述属性信息的解析结果为数据错误时,向所述第二设备发送所述补采指令。
3.如权利要求2所述的方法,其特征在于,所述数据错误包括数据内容错误;所述在所述数据帧对应的基于所述属性信息的解析结果为数据错误时,向所述第二设备发送所述补采指令,包括:
在所述数据帧对应的基于所述属性信息的解析结果为数据内容错误时,向所述第二设备发送所述补采指令。
4.如权利要求2所述的方法,其特征在于,所述配置帧还包括所述数据帧的序号信息;
所述在所述数据帧对应的解析结果为数据错误时,向所述第二设备发送补采指令,包括:
在所述数据帧对应的基于所述序号信息的解析结果为数据错误时,向所述第二设备发送所述补采指令。
5.如权利要求4所述的方法,其特征在于,所述数据错误包括丢帧;所述在所述数据帧对应的基于所述序号信息的解析结果为数据错误时,向所述第二设备发送所述补采指令,包括:
在所述数据帧对应的基于所述序号信息的解析结果为所述丢帧时,向所述第二设备发送所述补采指令,所述补采指令包括所述丢帧对应数据的目标序号。
6.如权利要求5所述的方法,其特征在于,在所述接收所述第二设备补发的与所述数据错误对应的目标数据帧之后,所述方法还包括:
在接收到所述目标数据帧后,继续接收所述第二设备发送的后续数据帧;所述后续数据帧的序号在所述目标序号之后。
7.如权利要求1至6任一项所述的方法,其特征在于,在所述向所述第二设备发送补采指令之前,所述方法还包括:
向所述第二设备发送第一读取指令,所述第一读取指令用于指示所述第二设备向所述第一设备依次发送配置帧和所述数据帧;根据所述配置帧创建初始数据列表;
或者,
在接收到所述第二设备定时发送的配置帧,且根据所述配置帧创建初始数据列表后,响应于用户触发的数据读取操作,向所述第二设备发送第二读取指令;所述第二读取指令用于指示所述第二设备反馈所述数据帧;
其中,所述初始数据列表用于记录所述数据帧的数据内容。
8.如权利要求7所述的方法,其特征在于,在所述接收所述第二设备补发的与所述数据错误对应的目标数据帧之后,所述方法还包括:
在接收到所述目标数据帧时,按照所述目标序号调整所述目标数据帧对应的数据在所述初始数据列表中的位置。
9.一种数据推送方法,其特征在于,应用于与第一设备进行通信的第二设备,所述方法包括:
向所述第一设备发送数据帧;
在接收到所述第一设备基于所述数据帧反馈的补采指令时,根据所述补采指令向所述第一设备补发目标数据帧;其中,所述补采指令为所述第一设备在所述数据帧对应的解析结果为数据错误时发送的;所述目标数据帧与所述数据错误对应。
10.一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8或者权利要求9中任一项所述方法的步骤。
CN202210499756.XA 2022-05-09 2022-05-09 数据读取方法、数据推送方法、电子设备及可读存储介质 Pending CN115021865A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210499756.XA CN115021865A (zh) 2022-05-09 2022-05-09 数据读取方法、数据推送方法、电子设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210499756.XA CN115021865A (zh) 2022-05-09 2022-05-09 数据读取方法、数据推送方法、电子设备及可读存储介质

Publications (1)

Publication Number Publication Date
CN115021865A true CN115021865A (zh) 2022-09-06

Family

ID=83069901

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210499756.XA Pending CN115021865A (zh) 2022-05-09 2022-05-09 数据读取方法、数据推送方法、电子设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN115021865A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014075453A1 (zh) * 2012-11-15 2014-05-22 掌赢信息科技(上海)有限公司 一种实时流媒体上传中的丢帧控制与续传方法及系统
CN109088763A (zh) * 2018-08-15 2018-12-25 中航锂电技术研究院有限公司 一种电池管理系统菊花链通信故障诊断及处理方法
CN109787722A (zh) * 2019-01-25 2019-05-21 北京数码视讯技术有限公司 数据传输方法、装置和服务器
CN112702411A (zh) * 2020-12-21 2021-04-23 上汽大通汽车有限公司 一种解决cantp多帧丢包重传的方法
CN112769596A (zh) * 2020-12-22 2021-05-07 四川虹微技术有限公司 一种电池管理系统数据通信存储系统及方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014075453A1 (zh) * 2012-11-15 2014-05-22 掌赢信息科技(上海)有限公司 一种实时流媒体上传中的丢帧控制与续传方法及系统
CN109088763A (zh) * 2018-08-15 2018-12-25 中航锂电技术研究院有限公司 一种电池管理系统菊花链通信故障诊断及处理方法
CN109787722A (zh) * 2019-01-25 2019-05-21 北京数码视讯技术有限公司 数据传输方法、装置和服务器
CN112702411A (zh) * 2020-12-21 2021-04-23 上汽大通汽车有限公司 一种解决cantp多帧丢包重传的方法
CN112769596A (zh) * 2020-12-22 2021-05-07 四川虹微技术有限公司 一种电池管理系统数据通信存储系统及方法

Similar Documents

Publication Publication Date Title
CN105262627B (zh) 一种固件升级方法、装置及系统
CN112714047B (zh) 基于工控协议流量的测试方法、装置、设备及存储介质
CN110798480B (zh) 安全仪表系统间的数据通讯方法及系统
CN112788128B (zh) 业务信息的推送方法、装置、存储介质及电子装置
EP3605881A1 (en) Method and device for transmitting and receiving network management information, transmitting apparatus and receiving apparatus
CN112100081B (zh) 基于双芯智能电表的升级测试方法、装置和计算机设备
CN110868458B (zh) 一种用于稳定控制系统的通信方法及装置
CN113722340A (zh) 基于配电装置的远程自动点表更新的处理方法及系统
CN115021865A (zh) 数据读取方法、数据推送方法、电子设备及可读存储介质
CN112671770A (zh) 室外机串口协议解析方法、装置、计算机设备及存储介质
CN104852785A (zh) 一种数据传输方法及装置
CN116634042A (zh) 大数据报文解析方法、装置及存储介质
CN114860437A (zh) 数据采集方法、边缘计算主机及计算机可读存储介质
CN113965447B (zh) 一种在线云诊断方法、装置、系统、设备及存储介质
CN111930582A (zh) 系统管理总线检测平台、处理器及系统管理总线检测方法
CN108243323B (zh) 一种软件升级方法及装置
CN112910838A (zh) 复合协议解析方法、装置、设备、系统和存储介质
CN115543755B (zh) 一种性能监管方法、装置、系统、设备和介质
CN111541697A (zh) 一种基于协议配置的在线通信方法
CN109726101A (zh) 参数识别方法、参数识别终端、装置及可读存储介质
CN112328290B (zh) 一种农机数据采集终端程序远程更新方法及系统
WO2024108940A1 (zh) 一种性能监管方法、装置、系统、设备和介质
CN112751873B (zh) 蓝牙midi数据转换方法、电路及存储介质
CN117336389A (zh) 一种数据解析方法、装置、设备以及存储介质
CN116208603A (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