CN110597644A - 数据流传输方法、传输装置、电子设备及存储介质 - Google Patents
数据流传输方法、传输装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN110597644A CN110597644A CN201910854182.1A CN201910854182A CN110597644A CN 110597644 A CN110597644 A CN 110597644A CN 201910854182 A CN201910854182 A CN 201910854182A CN 110597644 A CN110597644 A CN 110597644A
- Authority
- CN
- China
- Prior art keywords
- data stream
- value
- target
- array
- state
- 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
Links
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/544—Buffers; Shared memory; Pipes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/04—Protocols for data compression, e.g. ROHC
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请提供一种数据流交互方法,该方法应用于显示进程,包括:定义一个包含至少一个第一元素的状态数组,一个第一元素占用一个字节、一个比特位表征一个数据流的选择状态,每个第一元素的初始值表征对应的各数据流的初始选择状态为未选中;根据各第一元素对应的各数据流的实际选择状态,从标记数据中选取实际选择状态为选中的各个目标比特位对应的目标第二元素,并计算各第一元素的实际值;利用各个第一元素的实际值更新状态数组,并输出更新后的状态数组。本申请可以减少数据流的传输数据量,大大压缩数据存储的空间,提高数据传输效率,避免因数据流过多而造成内存溢出的风险。
Description
技术领域
本申请涉及通信技术领域,更具体地说,涉及一种数据流传输方法、传输装置、电子设备及存储介质。
背景技术
数据流是指电子设备内部、或者电子设备之间交流的数据参数,其真实的反映了电子设备的工作电压和状态。
目前数据流传输的一般流程为:按顺序列出所有数据流的名称,由用户选择想要查看的数据流,再将所有数据流的选择状态存储在一个数组中,通过内存共享的方式进行传输。
但是,由于数组的每一个元素至少占用一个字节,当数据流的数量无限大时,这种传输方式占用内存非常大,可能会内存溢出,造成程序崩溃。
发明内容
有鉴于此,为解决上述问题,本申请提供一种数据流传输方法、传输装置、电子设备及存储介质。技术方案如下:
一种数据流传输方法,所述方法包括:
定义一个状态数组,所述状态数组中包含至少一个第一元素,一个所述第一元素占用一个字节、一个比特位表征一个数据流的选择状态,每个所述第一元素的初始值表征每个所述第一元素对应的各数据流的初始选择状态为未选中;
针对所述状态数组中的每个所述第一元素,获取该第一元素对应的各数据流的实际选择状态,并确定至少一个数据流的实际选择状态为选中的目标比特位;
调取预先定义的一个标记数组,所述标记数组中包含多个第二元素,一个所述第二元素的数值用于标记一个字节中被选中的一个比特位;
从所述标记数组中选取各个所述目标比特位对应的目标第二元素,并根据该第一元素的初始值和各个所述目标第二元素的数值计算该第一元素的实际值;
利用各个所述第一元素的实际值更新所述状态数组,并输出更新后的所述状态数组。
优选的,所述定义一个状态数组,包括:
计算所述状态数组中第一元素的数量,包括:
获取所有数据流的数量;
计算所述所有数据流的数量与8的第一比值,以及所述所有数据流的数量与8的余数;
判断所述余数是否为0;
若是,将所述第一比值作为所述状态数组中第一元素的数量;
若否,将所述第一比值与1之和作为所述状态数组中第一元素的数量。
优选的,所述定义一个状态数组,包括:
确定一个数据流与所述状态数组中一个所述第一元素的对应关系,包括:
获取所述数据流的序号;
计算所述数据流的序号与8的第二比值;
建立所述数据流与所述状态数组中所述第二比值对应的所述第一元素的对应关系。
优选的,所述根据该第一元素的初始值和各个所述目标第二元素的数值计算该第一元素的实际值,包括:
将该第一元素的初始值作为该第一元素的当前值;
确定一个待处理的目标第二元素,并将该第一元素的当前值与所述待处理的目标第二元素的数值进行位或操作得到该第一元素的中间值;
判断是否存在未被处理的目标第二元素;
若是,将该第一元素的中间值作为该第一元素的当前值,并返回执行所述确定一个待处理的目标第二元素;
若否,将该第一元素的中间值作为该第一元素的实际值。
优选的,所述输出更新后的所述状态数组,包括:
显示进程将更新后的所述状态数组发送至诊断进程,以使所述诊断进程基于更新后的所述状态数组和所述标记数组确定实际选择状态为选中的数据流。
优选的,所述第一元素的数据类型为二进制、八进制、十进制和十六进制中的任意一种。
一种数据流传输装置,所述装置包括:
定义模块,用于定义一个状态数组,所述状态数组中包含至少一个第一元素,一个所述第一元素占用一个字节、一个比特位表征一个数据流的选择状态,每个所述第一元素的初始值表征每个所述第一元素对应的各数据流的初始选择状态为未选中;
确定模块,用于针对所述状态数组中的每个所述第一元素,获取该第一元素对应的各数据流的实际选择状态,并确定至少一个数据流的实际选择状态为选中的目标比特位;
调取模块,用于调取预先定义的一个标记数组,所述标记数组中包含多个第二元素,一个所述第二元素的数值用于标记一个字节中被选中的一个比特位;
计算模块,用于从所述标记数组中选取各个所述目标比特位对应的目标第二元素,并根据该第一元素的初始值和各个所述目标第二元素的数值计算该第一元素的实际值;
更新模块,用于利用各个所述第一元素的实际值更新所述状态数组,并输出更新后的所述状态数组。
优选的,用于根据该第一元素的初始值和各个所述目标第二元素的数值计算该第一元素的实际值的所述计算模块,用于:
将该第一元素的初始值作为该第一元素的当前值;确定一个待处理的目标第二元素,并将该第一元素的当前值与所述待处理的目标第二元素的数值进行位或操作得到该第一元素的中间值;判断是否存在未被处理的目标第二元素;若是,将该第一元素的中间值作为该第一元素的当前值,并返回执行所述确定一个待处理的目标第二元素;若否,将该第一元素的中间值作为该第一元素的实际值。
一种电子设备,包括:至少一个存储器和至少一个处理器;所述存储器存储有程序,所述处理器调用所述存储器存储的程序,所述程序用于实现任意一项所述的数据流传输方法。
一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令用于执行任意一项所述的数据流传输方法。
以上本申请提供一种数据流传输方法、传输装置、电子设备及存储介质首先定义一个第一元素占用一个字节、一个第一元素的一个比特位表征一个数据流的选择状态的状态数组、且每个第一元素的初始值表征对应的各数据流的初始选择状态为未选中,由于一个字节可以拆分为8个比特,因此一个第一元素可以最多表征8个数据流的选择状态。进一步,针对状态数组中的每个第一元素,可以基于该第一元素对应的数据流的实际选择状态和标记数组来计算该第一元素的实际值,该第一元素的实际值表征对应的数据流的实际选择状态。最后,输出利用各第一元素的实际值更新的状态数组。基于本申请,可以减少数据流的传输数据量,大大压缩数据存储的空间,提高数据传输效率,避免因数据流过多而造成内存溢出的风险。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的数据流交互方法的方法流程图;
图2为本申请实施例提供的第一元素的示例;
图3为本申请实施例提供的数据流交互方法的部分方法流程图;
图4为本申请实施例提供的数据流交互方法的另一部分方法流程图;
图5为本申请实施例提供的数据流显示界面示例;
图6为本申请实施例提供的标记数组的示例;
图7为本申请实施例提供的数据流交互方法的再一部分方法流程图;
图8为本申请实施例提供的数据流交互装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为方便理解本申请,本申请实施例以诊断仪读汽车数据流为例进行说明。但可以理解的是,其仅为本申请的一个应用场景,对于其他未列举到的涉及到数据流传输的应用场景,也是本申请保护范围内。
汽车数据流是指ECU(电子控制单元)与传感器、执行器交流的数据参数,其真实的反映了各传感器、各执行器的工作电压和状态,为汽车故障诊断提供了依据。
读数据流是诊断仪的一个重要功能。目前读数据流的一般流程为:显示进程按顺序列出所有数据流的名称,用户选择想要查看的数据流,显示进程将所有数据流的选择状态存储在一个数组中、将该数组通过共享内存的方式传输给诊断进程。诊断进程则读取选择状态为选中的数据流的信息,将最终的诊断结果显示给用户。
但是,由于数组的每一个元素至少占用一个字节,当数据流的数量无限大时,这种传递方式占用内存非常大,可能会内存溢出,造成程序崩溃。
为了解决该问题,本申请实施例提供一种数据流交互方法,方法流程图如图1所示,包括如下步骤:
S10,定义一个状态数组,状态数组中包含至少一个第一元素,一个第一元素占用一个字节、一个比特位表征一个数据流的选择状态,每个第一元素的初始值表征每个第一元素对应的各数据流的初始选择状态为未选中。
本实施例中,可以根据当前显示的数据流的数量确定状态数组中第一元素的数量,由于一个字节可以拆分为8个比特,因此一个第一元素可以最多表征8个数据流的选择状态。当然,如果数据流的数量不是8个整数倍,则增加一个第一元素,也就是一个字节来表征多余数据流的选择状态。
为方便理解,以下以序号0~7的数据流为例进行说明。这8个数据流的选择状态可以由第一元素Arr[0]来表征,Arr[0]的每个比特位表征一个数据流的选择状态,比特位的值为0、表征未选中,比特位的值为1、表征选中。而各比特位与数据流的对应关系可以预先设置,比如可以设置高位的数据流在前,比特位bite0对应序号为7的数据流、比特位bite1对应序号为6的数据流、……比特位bite7对应序号为0的数据流。
图2为一个第一元素的示例,该第一元素的初始值为0,相应的比特位bite0~bite7值均为0,即00000000。
在实际应用中,步骤S10“定义一个状态数组”中计算状态数组中第一元素的数量的过程,可以采用如下步骤,方法流程图如图3所示:
S1011,获取所有数据流的数量。
本实施例中,所有数据流为当前显示的数据流。
S1012,计算所有数据流的数量与8的第一比值,以及所有数据流的数量与8的余数。
本实施例中,假设所有数据流的数量为a,定义第一比值b、余数c两个变量。第一比值b=a/8,余数c=a%8。
S1013,判断余数是否为0;若是,则执行步骤S1014;若否,则执行步骤S1015。
S1014,将第一比值作为状态数组中第一元素的数量。
S1015,将第一比值与1之和作为状态数组中第一元素的数量。
此外,步骤S10“定义一个状态数组”中确定一个数据流与状态数组中一个第一元素的对应关系的过程,可以采用如下步骤,方法流程图如图4所示:
S1016,获取数据流的序号。
本实施例中,一个数据流包含数据流名称、数据流值和数据流单位等信息,而数据流的序号则是显示该数据流时对该数据流做的编号,参见图5所示的数据流显示界面,按照从上至下、从左至右的顺序,数据流“左视镜折叠/打开SW”的序号为0、数据流“左前门开关输入”的序号为1、数据流“右前门开关输入”的序号为2……。
S1017,计算数据流的序号与8的第二比值。
本实施例中,按照数据流的序号依次确定所对应的第一元素。由于一个字节可以拆分为8个比特,因此可以将第二比值作为状态数组中第一元素的序号。
S1018,建立数据流与状态数组中第二比值对应的第一元素的对应关系。
S20,针对状态数组中的每个第一元素,获取该第一元素对应的各数据流的实际选择状态,并确定至少一个数据流的实际选择状态为选中的目标比特位。
本实施例中,通过响应用户操作可以确定当前显示的各数据流的实际选择状态。并且由于一个数据流对应一个第一元素中的一个比特位,因此可以确定各比特位对应的数据流的实际选择状态,并从中选择实际选择状态为选择的目标比特位。
S30,调取预先定义的一个标记数组,标记数组中包含多个第二元素,一个第二元素的数值用于标记一个字节中被选中的一个比特位。
本实施例中,预先定义一个标记数组BYTE ucMask[]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01}。参见图6所示的标记数组示例,以0x80为例进行说明,比特位bite0~bite7的值为10000000,其在与第一元素00000000位或操作就得到10000000,这就可以确定比特位bite0对应的数据流被选中。同样的,如果第一元素00000000与0x40(比特位bite0~bite7的值为01000000)位或操作得到01000000,可以确定比特位bite1对应的数据流被选中;如果第一元素00000000与0x20(比特位bite0~bite7的值为00100000)位或操作得到00100000,可以确定比特位bite2对应的数据流被选中……。
综上,可以根据被选中的数据流所对应的第一元素的目标比特位,选取该目标比特位相应的第二元素与第一元素的初始值进行位或操作来计算第一元素的实际值。
需要说明的是,上述对标记数组的说明中,第二元素的数据类型为十六进制,可以理解的是,对于其他数据类型,比如二进制、八进制或者十进制,也在本实施例的保护范围内。
S40,从状态数组中选取各个目标比特位对应的目标第二元素,并根据该第一元素的初始值和各个目标第二元素的数值计算该第一元素的实际值。
本实施例中,针对状态数组中的每个第一元素,确定目标比特位对应的目标第二元素,比如目标比特位为比特位bite0时目标第二元素为0x80,再比如目标比特位为比特位bite1时目标第二元素为0x40等等。
进而综合各目标第二元素与第一元素的初始值的位或操作结果来确定该第一元素的实际值。
比如,目标第二元素分别为0x80、0x20、0x02,可以确定0x80与第一元素00000000的位或操作结果为10000000、0x20与第一元素00000000的位或操作结果为00100000、0x02与第一元素00000000的位或操作结果为00000010,则可以再对10000000、00100000和00000010再进行位或操作得到第一元素的实际值10100010。
当然,第一元素的数据类型可以为二进制、八进制、十进制和十六进制中的任意一种,本实施例对此不做限定。比如,第一元素的实际值十六进制时为10100010,在十进制时就为269484048。
当然,在其他一些实施例中,步骤S40中“根据该第一元素的初始值和各个目标第二元素的数值计算该第一元素的实际值”可以采用如下步骤,方法流程图如图7所示:
S401,将该第一元素的初始值作为该第一元素的当前值。
S402,确定一个待处理的目标第二元素,并将该第一元素的当前值与待处理的目标第二元素的数值进行位或操作得到该第一元素的中间值。
S403,判断是否存在未被处理的目标第二元素;若是,则执行步骤S404;若否,则执行步骤S405。
S404,将该第一元素的中间值作为该第一元素的当前值,并返回执行步骤S402。
S405,将该第一元素的中间值作为该第一元素的实际值。
为方便理解,继续以目标第二元素分别为0x80、0x20、0x02为例进行说明:
第一元素的初始值为00000000,首次将00000000作为第一元素的当前值。进一步,选取0x80作为待处理的目标第二元素,0x80与00000000的位或操作结果为10000000,此时10000000为第一元素的中间值、并将其作为第一元素的当前值。进一步,选取0x20作为待处理的目标第二元素,0x20与10000000的位或操作结果为10100000,此时10100000为第一元素的中间值、并将其作为第一元素的当前值。进一步,选取0x02作为待处理的目标第二元素,0x02与10100000的位或操作结果为10100010,由于此时不存在未处理的目标第二元素,因此将10100010作为第一元素的实际值。
当然,需要说明的是,选取待处理的目标第二元素时,可以随机选取,还可以按照一定规则,本实施例对此不做限定。
S50,利用各个第一元素的实际值更新状态数组,并输出更新后的状态数组。
在诊断仪读汽车数据流的应用场景下,可以由显示进程将更新后的状态数组发送至诊断进程,以使诊断进程基于更新后的状态数组和标记数组确定实际选择状态为选中的数据流。
具体的,诊断进程可以对数组中的一个第一元素的实际值与标记数组进行位与操作得到该第一元素对应的各数据流的实际选择状态。
继续以第一元素的实际值为10100010为例,将10100010以此与状态数组中的每个第二元素进行位与操作,假设位与操作的顺序为0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01,则:
首先,10100010与0x80进行位与操作得到10000000,由于10000000比特位bite0为1,因此可以确定第一元素的比特位bite0对应的数据流的实际选择状态为选中;
进一步,10100010与0x40进行位与操作得到00000000,由于00000000比特位bite1为0,因此可以确定第一元素的比特位bite1对应的数据流实际选择状态为未选中;
同理,10100010与0x20进行位与操作可以确定第一元素的比特位bite2对应的数据流的实际选择状态为选中;10100010与0x10进行位与操作可以确定第一元素的比特位bite3对应的数据流的实际选择状态为未选中;10100010与0x08进行位与操作可以确定第一元素的比特位bite4对应的数据流的实际选择状态为未选中;10100010与0x04进行位与操作可以确定第一元素的比特位bite5对应的数据流的实际选择状态为未选中;10100010与0x02进行位与操作可以确定第一元素的比特位bite6对应的数据流的实际选择状态为选中;10100010与0x01进行位与操作可以确定第一元素的比特位bite7对应的数据流的实际选择状态为未选中。
本申请实施例提供的数据流传输方法,可以减少数据流的传输数据量,大大压缩数据存储的空间,提高数据传输效率,避免因数据过多而造成内存溢出的风险。
基于上述实施例提供的数据流传输方法,本申请实施例还提供一种执行数据流传输方法的装置,该装置的结构示意图如图8所示,包括:
定义模块10,用于定义一个状态数组,状态数组中包含至少一个第一元素,一个第一元素占用一个字节、一个比特位表征一个数据流的选择状态,每个第一元素的初始值表征每个第一元素对应的各数据流的初始选择状态为未选中;
确定模块20,用于针对状态数组中的每个第一元素,获取该第一元素对应的各数据流的实际选择状态,并确定至少一个数据流的实际选择状态为选中的目标比特位;
调取模块30,用于调取预先定义的一个标记数组,标记数组中包含多个第二元素,一个第二元素的数值用于标记一个字节中被选中的一个比特位;
计算模块40,用于从标记数组中选取各个目标比特位对应的目标第二元素,并根据该第一元素的初始值和各个目标第二元素的数值计算该第一元素的实际值;
更新模块50,用于利用各个第一元素的实际值更新状态数组,并输出更新后的所述状态数组。
可选的,定义模块10,具体用于:
计算状态数组中第一元素的数量,包括:
获取所有数据流的数量;计算所有数据流的数量与8的第一比值,以及所有数据流的数量与8的余数;判断余数是否为0;若是,将第一比值作为状态数组中第一元素的数量;若否,将第一比值与1之和作为状态数组中第一元素的数量。
可选的,定义模块10,具体用于:
确定一个数据流与状态数组中一个第一元素的对应关系,包括:
获取数据流的序号;计算数据流的序号与8的第二比值;建立数据流与状态数组中第二比值对应的第一元素的对应关系。
可选的,用于根据该第一元素的初始值和各个目标第二元素的数值计算该第一元素的实际值的计算模块40,用于:
将该第一元素的初始值作为该第一元素的当前值;确定一个待处理的目标第二元素,并将该第一元素的当前值与待处理的目标第二元素的数值进行位或操作得到该第一元素的中间值;判断是否存在未被处理的目标第二元素;若是,将该第一元素的中间值作为该第一元素的当前值,并返回执行确定一个待处理的目标第二元素;若否,将该第一元素的中间值作为该第一元素的实际值。
可选的,用于输出更新后的所述状态数组的更新模块50,具体用于:
显示进程将更新后的所述状态数组发送至诊断进程,以使所述诊断进程基于更新后的所述状态数组和所述标记数组确定实际选择状态为选中的数据流。本申请实施例提供的数据流传输装置,可以减少数据流的传输数据量,大大压缩数据存储的空间,提高数据传输效率,避免因数据过多而造成内存溢出的风险。
本申请实施例还提供一种电子设备,包括:至少一个存储器和至少一个处理器;存储器存储有程序,处理器调用存储器存储的程序,程序用于实现任意一项的数据流传输方法。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机可执行指令,计算机可执行指令用于执行如任意一项所述的数据流传输方法。
以上对本申请所提供的一种数据流传输方法、传输装置、电子设备及计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备所固有的要素,或者是还包括为这些过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种数据流传输方法,其特征在于,所述方法包括:
定义一个状态数组,所述状态数组中包含至少一个第一元素,一个所述第一元素占用一个字节、一个比特位表征一个数据流的选择状态,每个所述第一元素的初始值表征每个所述第一元素对应的各数据流的初始选择状态为未选中;
针对所述状态数组中的每个所述第一元素,获取该第一元素对应的各数据流的实际选择状态,并确定至少一个数据流的实际选择状态为选中的目标比特位;
调取预先定义的一个标记数组,所述标记数组中包含多个第二元素,一个所述第二元素的数值用于标记一个字节中被选中的一个比特位;
从所述标记数组中选取各个所述目标比特位对应的目标第二元素,并根据该第一元素的初始值和各个所述目标第二元素的数值计算该第一元素的实际值;
利用各个所述第一元素的实际值更新所述状态数组,并输出更新后的所述状态数组。
2.根据权利要求1所述的方法,其特征在于,所述定义一个状态数组,包括:
计算所述状态数组中第一元素的数量,包括:
获取所有数据流的数量;
计算所述所有数据流的数量与8的第一比值,以及所述所有数据流的数量与8的余数;
判断所述余数是否为0;
若是,将所述第一比值作为所述状态数组中第一元素的数量;
若否,将所述第一比值与1之和作为所述状态数组中第一元素的数量。
3.根据权利要求1所述的方法,其特征在于,所述定义一个状态数组,包括:
确定一个数据流与所述状态数组中一个所述第一元素的对应关系,包括:
获取所述数据流的序号;
计算所述数据流的序号与8的第二比值;
建立所述数据流与所述状态数组中所述第二比值对应的所述第一元素的对应关系。
4.根据权利要求1所述的方法,其特征在于,所述根据该第一元素的初始值和各个所述目标第二元素的数值计算该第一元素的实际值,包括:
将该第一元素的初始值作为该第一元素的当前值;
确定一个待处理的目标第二元素,并将该第一元素的当前值与所述待处理的目标第二元素的数值进行位或操作得到该第一元素的中间值;
判断是否存在未被处理的目标第二元素;
若是,将该第一元素的中间值作为该第一元素的当前值,并返回执行所述确定一个待处理的目标第二元素;
若否,将该第一元素的中间值作为该第一元素的实际值。
5.根据权利要求1所述的方法,其特征在于,所述输出更新后的所述状态数组,包括:
显示进程将更新后的所述状态数组发送至诊断进程,以使所述诊断进程基于更新后的所述状态数组和所述标记数组确定实际选择状态为选中的数据流。
6.根据权利要求1所述的方法,其特征在于,所述第一元素的数据类型为二进制、八进制、十进制和十六进制中的任意一种。
7.一种数据流传输装置,其特征在于,所述装置包括:
定义模块,用于定义一个状态数组,所述状态数组中包含至少一个第一元素,一个所述第一元素占用一个字节、一个比特位表征一个数据流的选择状态,每个所述第一元素的初始值表征每个所述第一元素对应的各数据流的初始选择状态为未选中;
确定模块,用于针对所述状态数组中的每个所述第一元素,获取该第一元素对应的各数据流的实际选择状态,并确定至少一个数据流的实际选择状态为选中的目标比特位;
调取模块,用于调取预先定义的一个标记数组,所述标记数组中包含多个第二元素,一个所述第二元素的数值用于标记一个字节中被选中的一个比特位;
计算模块,用于从所述标记数组中选取各个所述目标比特位对应的目标第二元素,并根据该第一元素的初始值和各个所述目标第二元素的数值计算该第一元素的实际值;
更新模块,用于利用各个所述第一元素的实际值更新所述状态数组,并输出更新后的所述状态数组。
8.根据权利要求7所述的装置,其特征在于,用于根据该第一元素的初始值和各个所述目标第二元素的数值计算该第一元素的实际值的所述计算模块,用于:
将该第一元素的初始值作为该第一元素的当前值;确定一个待处理的目标第二元素,并将该第一元素的当前值与所述待处理的目标第二元素的数值进行位或操作得到该第一元素的中间值;判断是否存在未被处理的目标第二元素;若是,将该第一元素的中间值作为该第一元素的当前值,并返回执行所述确定一个待处理的目标第二元素;若否,将该第一元素的中间值作为该第一元素的实际值。
9.一种电子设备,其特征在于,包括:至少一个存储器和至少一个处理器;所述存储器存储有程序,所述处理器调用所述存储器存储的程序,所述程序用于实现如权利要求1-6任意一项所述的数据流传输方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令用于执行如权利要求1-6任意一项所述的数据流传输方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910854182.1A CN110597644B (zh) | 2019-09-10 | 2019-09-10 | 数据流传输方法、传输装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910854182.1A CN110597644B (zh) | 2019-09-10 | 2019-09-10 | 数据流传输方法、传输装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110597644A true CN110597644A (zh) | 2019-12-20 |
CN110597644B CN110597644B (zh) | 2022-05-10 |
Family
ID=68858623
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910854182.1A Active CN110597644B (zh) | 2019-09-10 | 2019-09-10 | 数据流传输方法、传输装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110597644B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111079390A (zh) * | 2019-12-20 | 2020-04-28 | 五八有限公司 | 一种复选框列表的选择状态确定方法以及装置 |
CN111722618A (zh) * | 2020-06-30 | 2020-09-29 | 深圳市元征科技股份有限公司 | 一种汽车数据流的单位切换方法及相关装置 |
CN117234977A (zh) * | 2023-11-10 | 2023-12-15 | 浪潮电子信息产业股份有限公司 | 数据处理方法、***、设备及计算机可读存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101243441B (zh) * | 2005-06-21 | 2012-07-18 | 国际字符股份有限公司 | 用于处理字符流的方法与设备 |
US20140330862A1 (en) * | 2007-02-24 | 2014-11-06 | Trend Micro Incorporated | Fast identification of complex strings in a data stream |
CN105843591A (zh) * | 2016-04-08 | 2016-08-10 | 龙芯中科技术有限公司 | 多维数组滑动生成数据的方法、装置及处理器 |
CN108205577A (zh) * | 2016-12-20 | 2018-06-26 | 阿里巴巴集团控股有限公司 | 一种数组构建、数组查询的方法、装置及电子设备 |
CN108647176A (zh) * | 2018-05-15 | 2018-10-12 | 北京经纬恒润科技有限公司 | 一种车联网设备数据传输方法及车联网设备 |
CN109829083A (zh) * | 2019-01-25 | 2019-05-31 | 深圳市金泰克半导体有限公司 | Spd数据自动验证方法、装置、计算机设备及存储介质 |
CN109995473A (zh) * | 2018-12-17 | 2019-07-09 | 芜湖智久机器人有限公司 | Tcp通讯数据包及其封装方法、校验***、校验方法 |
-
2019
- 2019-09-10 CN CN201910854182.1A patent/CN110597644B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101243441B (zh) * | 2005-06-21 | 2012-07-18 | 国际字符股份有限公司 | 用于处理字符流的方法与设备 |
US20140330862A1 (en) * | 2007-02-24 | 2014-11-06 | Trend Micro Incorporated | Fast identification of complex strings in a data stream |
CN105843591A (zh) * | 2016-04-08 | 2016-08-10 | 龙芯中科技术有限公司 | 多维数组滑动生成数据的方法、装置及处理器 |
CN108205577A (zh) * | 2016-12-20 | 2018-06-26 | 阿里巴巴集团控股有限公司 | 一种数组构建、数组查询的方法、装置及电子设备 |
CN108647176A (zh) * | 2018-05-15 | 2018-10-12 | 北京经纬恒润科技有限公司 | 一种车联网设备数据传输方法及车联网设备 |
CN109995473A (zh) * | 2018-12-17 | 2019-07-09 | 芜湖智久机器人有限公司 | Tcp通讯数据包及其封装方法、校验***、校验方法 |
CN109829083A (zh) * | 2019-01-25 | 2019-05-31 | 深圳市金泰克半导体有限公司 | Spd数据自动验证方法、装置、计算机设备及存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111079390A (zh) * | 2019-12-20 | 2020-04-28 | 五八有限公司 | 一种复选框列表的选择状态确定方法以及装置 |
CN111722618A (zh) * | 2020-06-30 | 2020-09-29 | 深圳市元征科技股份有限公司 | 一种汽车数据流的单位切换方法及相关装置 |
CN117234977A (zh) * | 2023-11-10 | 2023-12-15 | 浪潮电子信息产业股份有限公司 | 数据处理方法、***、设备及计算机可读存储介质 |
CN117234977B (zh) * | 2023-11-10 | 2024-02-27 | 浪潮电子信息产业股份有限公司 | 数据处理方法、***、设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110597644B (zh) | 2022-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110597644B (zh) | 数据流传输方法、传输装置、电子设备及存储介质 | |
CN106657197B (zh) | 文件上传的方法和装置 | |
CN108388598A (zh) | 电子装置、数据存储方法及存储介质 | |
CN112751810B (zh) | Can报文解析方法、装置及终端 | |
CN110851206A (zh) | 一种车型配置文件拓展方法、装置、设备及可读存储介质 | |
CN110888974A (zh) | 数据可视化方法及装置 | |
CN114780326B (zh) | 一种跨平台标定测试方法、装置及设备 | |
CN104468222A (zh) | 上报日志信息的方法、装置及*** | |
CN109542385B (zh) | 一种多数据流同屏显示方法、***、装置及可读存储介质 | |
CN112287638B (zh) | 一种数字展示方法及装置 | |
JP7201031B2 (ja) | 電子機器、プログラム、グラフ画像生成システムおよび画像生成方法 | |
CN113542225A (zh) | 一种数据的压缩方法、装置、终端设备及存储介质 | |
CN111090364A (zh) | 页面风格切换方法、装置、电子设备及可读存储介质 | |
CN109857295B (zh) | 焦点的控制方法、装置及存储介质 | |
CN116257666A (zh) | 一种基于Echarts的数据动态渲染展示方法及*** | |
CN115857863A (zh) | 基于监控软件的机房组态分屏渲染方法、装置及终端 | |
CN115291793A (zh) | 属性数据的转换方法和装置、存储介质及电子装置 | |
CN110019431A (zh) | 数据可视化的处理方法、***及终端设备 | |
CN111078518B (zh) | 数据采集方法、终端设备和计算机可读存储介质 | |
CN116208661B (zh) | 功能配置适配方法、装置、车辆及存储介质 | |
CN115543263A (zh) | 脚本生成方法、装置、设备及介质 | |
CN113811019B (zh) | 一种终端身份标识与IPv6地址映射方法及装置 | |
CN109388385A (zh) | 用于应用开发的方法和装置 | |
CN117111845B (zh) | 一种数据压缩方法、装置、设备及存储介质 | |
JP2001027984A5 (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |