CN112118195A - 数据打包方法及装置、存储介质和处理器 - Google Patents
数据打包方法及装置、存储介质和处理器 Download PDFInfo
- Publication number
- CN112118195A CN112118195A CN202010247586.7A CN202010247586A CN112118195A CN 112118195 A CN112118195 A CN 112118195A CN 202010247586 A CN202010247586 A CN 202010247586A CN 112118195 A CN112118195 A CN 112118195A
- Authority
- CN
- China
- Prior art keywords
- data
- data packet
- length
- events
- event
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9057—Arrangements for supporting packet reassembly or resequencing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0006—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format
- H04L1/0007—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format by modifying the frame length
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/36—Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种数据打包方法及装置、存储介质和处理器。该发明包括:获取n个事件的n个事件属性,并依据n个事件的n个事件属性依次生成n个第一数据包,其中,n为大于0的正整数,事件属性至少用于定义事件的数据采集间隔时间和事件的数据长度;每生成一个第一数据包,计算生成的所有第一数据包的累计长度;当m个第一数据包的累计长度超过预设长度,m‑1个第一数据包的累计长度小于或者等于预设长度时,将m‑1个第一数据包进行打包生成第二数据包,m为小于等于n的正整数。通过本发明,解决了相关技术中文件中的数据按照固定的长度进行发送,导致在发生数据包丢失时,不能按照原先格式对数据包进行正确解析的技术问题。
Description
技术领域
本发明涉及数据处理领域,具体而言,涉及一种数据打包方法及装置、存储介质和处理器。
背景技术
相关技术中,原有的数据打包发送的方式是:文件里面的数据满某一个长度(比如有1024)就会发送一次。但是基于这种数据打包方式下发送的数据包,如果某一包数据丢失,那么数据的解析就不能按照格式进行正确的解析,一旦出错需要逐个字节进行判断,直到找到下一个文件头才能继续解析,同时无法分析数据异常发生在什么位置和什么时间,导致无法对发生异常的数据进行溯源分析。
针对相关技术中存在的上述问题,目前尚未提出有效的解决方案。
发明内容
本发明的主要目的在于提供一种数据打包方法及装置、存储介质和处理器,以解决相关技术中文件中的数据按照固定的长度进行发送,导致在发生数据包丢失时,不能按照原先格式对数据包进行正确解析的技术问题。
为了实现上述目的,根据本发明的一个方面,提供了一种数据打包方法。该发明包括:获取n个事件的n个事件属性,并依据n个事件的n个事件属性依次生成n个第一数据包,其中,n为大于0的正整数,事件属性至少用于定义事件的数据采集间隔时间和事件的数据长度;每生成一个第一数据包,计算生成的所有第一数据包的累计长度;当m个第一数据包的累计长度超过预设长度,m-1个第一数据包的累计长度小于或者等于预设长度时,将m-1个第一数据包进行打包生成第二数据包,m为小于等于n的正整数。
进一步地,获取n个事件的事件属性,并依据n个事件的事件属性依次生成n个第一数据包,包括:获取n个事件对应的n个事件号,事件号用于表征事件的数据采集间隔时间信息;按照事件的数据采集间隔时间和事件的长度进行数据采集,将采集的数据进行打包生成第一数据包,并将事件的事件号写入第一数据包的数据包格式中。
进一步地,在依据每个事件的数据采集间隔进行数据采集,将采集的数据进行打包生成第一数据包之后,该方法还包括:在每生成一个第一数据包后,生成第一数据包对应的时间戳,并将时间戳写入第一数据包的数据包格式中,其中,时间戳中包含生成第一数据包的时间信息。
进一步地,获取n个事件的n个事件属性,并依据获取n个事件的n个事件属性依次生成n个第一数据包之后,该方法还包括:每生成一个第一数据包后,记录生成的第一数据包的序列号;将序列号写入第一数据包的数据包格式中,其中,序列号为大于零的正整数。
进一步地,在每生成一个第一数据包后,将第一数据包对应的数据长度写入第一数据包的数据包格式中。
进一步地,每生成一个第一数据包,计算生成的所有第一数据包的累计长度包括:在每生成一个第一数据包后,记录生成的第一数据包的长度;依据记录的生成的所有第一数据包的长度,计算累计长度。
进一步地,在将m-1个第一数据包进行打包生成第二数据包之后,该方法还包括:将第二数据包写入发送队列进行发送。
为了实现上述目的,根据本发明的另一方面,提供了一种数据打包装置。该装置包括:获取单元,用于获取n个事件的n个事件属性,并依据n个事件的n个事件属性依次生成n个第一数据包,其中,n为大于0的正整数,事件属性至少用于定义事件的数据采集间隔时间和事件的数据长度;计算单元,每生成一个第一数据包,计算生成的所有第一数据包的累计长度;生成单元,用于当m个第一数据包的累计长度超过预设长度,m-1个第一数据包的累计长度小于或者等于预设长度时,将m-1个第一数据包进行打包生成第二数据包,m为小于等于n的正整数。
为了实现上述目的,根据本发明的另一方面,提供了一种存储介质。该存储介质包括存储的程序,其中,程序执行上述的一种数据打包方法。
为了实现上述目的,根据本发明的另一方面,提供了一种处理器。该处理器处理器用于运行程序,其中,程序运行时执行上述的一种数据打包方法。
通过本发明,采用以下步骤:获取n个事件的n个事件属性,并依据n个事件的 n个事件属性依次生成n个第一数据包,其中,n为大于0的正整数,事件属性至少用于定义事件的数据采集间隔时间和事件的数据长度;每生成一个第一数据包,计算生成的所有第一数据包的累计长度;当m个第一数据包的累计长度超过预设长度,m-1 个第一数据包的累计长度小于或者等于预设长度时,将m-1个第一数据包进行打包生成第二数据包,m为小于等于n的正整数,解决了相关技术中文件中的数据按照固定的长度进行发送,导致在发生数据包丢失时,不能按照原先格式对数据包进行正确解析的技术问题。
附图说明
构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例提供的一种数据打包方法的流程图;
图2是根据本发明实施例提供的一种依据事件长度进行数据打包的流程图;
图3是根据本发明实施例提供的一种数据打包装置的示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明的实施例,提供了一种数据打包方法。
图1是根据本发明实施例提供的一种数据打包方法的流程图。如图1所示,该发明包括以下步骤:
步骤S101,获取n个事件的n个事件属性,并依据n个事件的n个事件属性依次生成n个第一数据包,其中,n为大于0的正整数,事件属性至少用于定义事件的数据采集间隔时间和事件的数据长度。
步骤S102,每生成一个第一数据包,计算生成的所有第一数据包的累计长度。
步骤S103,当m个第一数据包的累计长度超过预设长度,m-1个第一数据包的累计长度小于或者等于预设长度时,将m-1个第一数据包进行打包生成第二数据包,m 为小于等于n的正整数。
具体地,数据的打包发送不是按照固定的长度进行打包进而发送数据包,而是将大量的数据通过事件的定义,定义为多个事件,其中,每个事件的事件属性中通过定义事件的数据长度和采集每个数据的采集间隔时间,将不同的数据归属至不同的数据事件中,并将数据按照事件属性打包成第一数据包,多个第一数据包的累计长度再与预设长度进行对比,如果前m个第一数据包的累计长度超过了预设长度,m-1个第一数据包的累计长度小于或者等于预设长度,则将m-1个第一数据包打包成第二数据包进行发送,通过将数据按照事件属性进行打包,可以在数据发送发生异常时,溯源异常情况,并在数据发生异常后照样可以按照每个事件对应的数据格式对没有丢失的数据包进行解析。
本发明实施例提供的一种数据打包方法,通过获取n个事件的n个事件属性,并依据n个事件的n个事件属性依次生成n个第一数据包,其中,n为大于0的正整数,事件属性至少用于定义事件的数据采集间隔时间和事件的数据长度;每生成一个第一数据包,计算生成的所有第一数据包的累计长度;当m个第一数据包的累计长度超过预设长度,m-1个第一数据包的累计长度小于或者等于预设长度时,将m-1个第一数据包进行打包生成第二数据包,m为小于等于n的正整数,解决了相关技术中文件中的数据按照固定的长度进行发送,导致在发生数据包丢失时,不能按照原先格式对数据包进行正确解析的技术问题,进而达到了降低数据解析出错的概率的效果。
可选地,获取n个事件的事件属性,并依据n个事件的事件属性依次生成n个第一数据包,包括:获取n个事件对应的n个事件号,事件号用于表征事件的数据采集间隔时间信息;按照事件的数据采集间隔时间和事件的长度进行数据采集,将采集的数据进行打包生成第一数据包,并将事件的事件号写入第一数据包的数据包格式中。
具体地,在通过每个事件对数据进行定义时,通过事件号来对事件的数据采集间隔时间进行定义,因此,在基于事件对数据进行打包时,获取事件对应的事件号即可获得事件的数据采集间隔时间,例如,事件1的数据采集间隔时间为10ms,事件2的数据采集间隔时间为100ms。
可选地,在依据每个事件的数据采集间隔进行数据采集,将采集的数据进行打包生成第一数据包之后,该方法还包括:在每生成一个第一数据包后,生成第一数据包对应的时间戳,并将时间戳写入第一数据包的数据包格式中,其中,时间戳中包含生成第一数据包的时间信息。
上述地,基于每个事件定义的事件属性,在每生成一个一个第一数据包后,给生成的第一数据包对应的时间戳,并将时间戳写入生成的第一数据包的数据格式中,其中,时间戳中包括生成第一数据包的具体的时间信息,例如:
可选地,获取n个事件的n个事件属性,并依据获取n个事件的n个事件属性依次生成n个第一数据包之后,该方法还包括:每生成一个第一数据包后,记录生成的第一数据包的序列号;将序列号写入第一数据包的数据包格式中,其中,序列号为大于零的正整数。
上述地,由于第一数据包依据每个事件定义的事件属性生成第一数据包,在多个第一数据包打包生成第二数据包之前,每个第一数据包是依次按照先后顺序生成的,因此,每生成一个第一数据包对应有一个序列号,例如,第一个生成的数据包的序列号为1,第二个生成的第一数据包的序列号为2,通过第一数据包的序列号,在后续接收到数据包后,通过丢失的数据可以对溯源哪个序列号的第一数据包发生异常。
需要说明的是,最优的选择是通过序列号对第一数据包进行标号,进而获取第一数据包生成的先后顺序,在另一个可选的实施例中,可以通过定义一组具有先后顺序的其他标号对第一数据包的生成次序进行标定,例如:AB C D……。
可选地,在每生成一个第一数据包后,将第一数据包对应的数据长度写入第一数据包的数据包格式中。
具体地,在本申请提供的实施例中,由于每个事件对应的数据包具有数据长度,在生成第一数据包后,还将数据包的长度写入第一数据包的数据包格式中,因此,在接收数据包的一方就可以通过第一数据包中数据格式知晓数据包的长度,进而判断接收的数据包是否发生异常。
可选地,每生成一个第一数据包,计算生成的所有第一数据包的累计长度包括:在每生成一个第一数据包后,记录生成的第一数据包的长度;依据记录的生成的所有第一数据包的长度,计算累计长度。
上述地,由于本实施例中,需要计算生成的多个第一数据包的累计长度,因此,在每个第一数据包生成后,需要记录每个数据包的长度,进而计算生成的第一数据包的累计长度。
在另一种可选的实施例中,由于第一数据包的长度已经写入了第一数据包的数据格式中,因此,可以无需记录第一数据包的格式,直接从第一数据包的格式中直接获取第一数据包对应的长度,进而计算多个第一数据包的累计长度。
在本申请一个可选的实施例中,通过将上述内容写入第一数据包的格式后,第一数据包的格式和数据内容,如表1所示:
起始字节 | 字段 | 数据类型 | 描述及要求 |
0 | 文件头 | WORD | 55AA |
2 | 事件号 | BYTE | 事件1:10ms;事件2:100ms |
3 | 事件数据序列号 | DWORD | |
7 | 时间戳 | DWORD | 从驾驶循环开始时及时 |
11 | 事件数据包长度 | WORD | N |
13 | 数据 | BYTE[N] |
可选地,在本申请提供的一个实施例中,数据打包的时候按照事件长度进行打包,以通讯模组单包发送数据的长度LENS为上限,发送数据的内容和格式按照表1进行组织,图2是根据本发明实施例提供的一种依据事件长度进行数据打包的流程图。具体打包发送流程如图2所示,包括以下步骤:
S201:开始,转到S202;
S202,确定第二数据包单包发送数据的最大长度LENS,并确定本次打包发送的数据的初始化长度LEN=0,转到S203;
S203,获取一个事件数据长度len,计算累计长度LEN1=+len,转到S204;
S204,判断LENm>LENS,LENm-1≤LENS是否成立,如果成立,转到S205,如果不成立,转到S203;
S205,当m-1个事件的数据打包完毕写入发送队列,转到S206;
S206,结束。
可选地,在将m-1个第一数据包进行打包生成第二数据包之后,该方法还包括:将第二数据包写入发送队列进行发送。
上述地,将依据当前硬件提供的最大长度打包第二数据包后,将第二数据包写入发送队列进行发送。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本发明实施例还提供了一种数据打包装置,需要说明的是,本发明实施例的一种数据打包装置可以用于执行本发明实施例所提供的用于一种数据打包方法。以下对本发明实施例提供的一种数据打包装置进行介绍。
图3是根据本发明实施例提供的一种数据打包装置的示意图。如图3所示,该装置包括:获取单元301,用于获取n个事件的n个事件属性,并依据n个事件的n个事件属性依次生成n个第一数据包,其中,n为大于0的正整数,事件属性至少用于定义事件的数据采集间隔时间和事件的数据长度;计算单元302,每生成一个第一数据包,计算生成的所有第一数据包的累计长度;生成单元303,用于当m个第一数据包的累计长度超过预设长度,m-1个第一数据包的累计长度小于或者等于预设长度时,将m-1个第一数据包进行打包生成第二数据包,m为小于等于n的正整数。
本发明实施例提供的一种数据打包装置,通过获取单元,用于获取n个事件的n 个事件属性,并依据n个事件的n个事件属性依次生成n个第一数据包,其中,n为大于0的正整数,事件属性至少用于定义事件的数据采集间隔时间和事件的数据长度;计算单元,每生成一个第一数据包,计算生成的所有第一数据包的累计长度;生成单元,用于当m个第一数据包的累计长度超过预设长度,m-1个第一数据包的累计长度小于或者等于预设长度时,将m-1个第一数据包进行打包生成第二数据包,m为小于等于n的正整数,解决了相关技术中文件中的数据按照固定的长度进行发送,导致在发生数据包丢失时,不能按照原先格式对数据包进行正确解析的技术问题,进而达到了降低数据解析出错的概率的效果。
可选地,获取单元包括:获取n个事件对应的n个事件号,事件号用于表征事件的数据采集间隔时间信息;按照事件的数据采集间隔时间和事件的长度进行数据采集,将采集的数据进行打包生成第一数据包,并将事件的事件号写入第一数据包的数据包格式中。
可选地,该装置还包括:第一写入单元,用于在依据每个事件的数据采集间隔进行数据采集,将采集的数据进行打包生成第一数据包之后,在每生成一个第一数据包后,生成第一数据包对应的时间戳,并将时间戳写入第一数据包的数据包格式中,其中,时间戳中包含生成第一数据包的时间信息。
可选地,该装置还包括:记录单元,用于获取n个事件的n个事件属性,并依据获取n个事件的n个事件属性依次生成n个第一数据包之后,每生成一个第一数据包后,记录生成的第一数据包的序列号;第二写入单元,用于将序列号写入第一数据包的数据包格式中,其中,序列号为大于零的正整数。
可选地,第三写入单元,用于在每生成一个第一数据包后,将第一数据包对应的数据长度写入第一数据包的数据包格式中。
可选地,计算单元包括:记录子单元,用于在每生成一个第一数据包后,记录生成的第一数据包的长度;计算子单元,用于依据记录的生成的所有第一数据包的长度,计算累计长度。
可选地,该装置还包括:发送单元,用于在将m-1个第一数据包进行打包生成第二数据包之后,将第二数据包写入发送队列进行发送。
一种数据打包装置包括处理器和存储器,上述获取单元301等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来解决相关技术中文件中的数据按照固定的长度进行发送,导致在发生数据包丢失时,不能按照原先格式对数据包进行正确解析的技术问题。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现一种数据打包方法。
本发明实施例提供了一种处理器,处理器用于运行程序,其中,程序运行时执行一种数据打包方法。
本发明实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:获取n个事件的n个事件属性,并依据n个事件的n个事件属性依次生成n个第一数据包,其中,n为大于0 的正整数,事件属性至少用于定义事件的数据采集间隔时间和事件的数据长度;每生成一个第一数据包,计算生成的所有第一数据包的累计长度;当m个第一数据包的累计长度超过预设长度,m-1个第一数据包的累计长度小于或者等于预设长度时,将 m-1个第一数据包进行打包生成第二数据包,m为小于等于n的正整数。
可选地,获取n个事件的事件属性,并依据n个事件的事件属性依次生成n个第一数据包,包括:获取n个事件对应的n个事件号,事件号用于表征事件的数据采集间隔时间信息;按照事件的数据采集间隔时间和事件的长度进行数据采集,将采集的数据进行打包生成第一数据包,并将事件的事件号写入第一数据包的数据包格式中。
可选地,在依据每个事件的数据采集间隔进行数据采集,将采集的数据进行打包生成第一数据包之后,该方法还包括:在每生成一个第一数据包后,生成第一数据包对应的时间戳,并将时间戳写入第一数据包的数据包格式中,其中,时间戳中包含生成第一数据包的时间信息。
可选地,获取n个事件的n个事件属性,并依据获取n个事件的n个事件属性依次生成n个第一数据包之后,该方法还包括:每生成一个第一数据包后,记录生成的第一数据包的序列号;将序列号写入第一数据包的数据包格式中,其中,序列号为大于零的正整数。
可选地,在每生成一个第一数据包后,将第一数据包对应的数据长度写入第一数据包的数据包格式中。
可选地,每生成一个第一数据包,计算生成的所有第一数据包的累计长度包括:在每生成一个第一数据包后,记录生成的第一数据包的长度;依据记录的生成的所有第一数据包的长度,计算累计长度。
可选地,在将m-1个第一数据包进行打包生成第二数据包之后,该方法还包括:将第二数据包写入发送队列进行发送。本文中的设备可以是服务器、PC、PAD、手机等。
本发明还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:获取n个事件的n个事件属性,并依据n个事件的n个事件属性依次生成n个第一数据包,其中,n为大于0的正整数,事件属性至少用于定义事件的数据采集间隔时间和事件的数据长度;每生成一个第一数据包,计算生成的所有第一数据包的累计长度;当m个第一数据包的累计长度超过预设长度,m-1 个第一数据包的累计长度小于或者等于预设长度时,将m-1个第一数据包进行打包生成第二数据包,m为小于等于n的正整数。
可选地,获取n个事件的事件属性,并依据n个事件的事件属性依次生成n个第一数据包,包括:获取n个事件对应的n个事件号,事件号用于表征事件的数据采集间隔时间信息;按照事件的数据采集间隔时间和事件的长度进行数据采集,将采集的数据进行打包生成第一数据包,并将事件的事件号写入第一数据包的数据包格式中。
可选地,在依据每个事件的数据采集间隔进行数据采集,将采集的数据进行打包生成第一数据包之后,该方法还包括:在每生成一个第一数据包后,生成第一数据包对应的时间戳,并将时间戳写入第一数据包的数据包格式中,其中,时间戳中包含生成第一数据包的时间信息。
可选地,获取n个事件的n个事件属性,并依据获取n个事件的n个事件属性依次生成n个第一数据包之后,该方法还包括:每生成一个第一数据包后,记录生成的第一数据包的序列号;将序列号写入第一数据包的数据包格式中,其中,序列号为大于零的正整数。
可选地,在每生成一个第一数据包后,将第一数据包对应的数据长度写入第一数据包的数据包格式中。
可选地,每生成一个第一数据包,计算生成的所有第一数据包的累计长度包括:在每生成一个第一数据包后,记录生成的第一数据包的长度;依据记录的生成的所有第一数据包的长度,计算累计长度。
可选地,在将m-1个第一数据包进行打包生成第二数据包之后,该方法还包括:将第二数据包写入发送队列进行发送。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等) 上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本发明的实施例可提供为方法、***或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本发明的实施例而已,并不用于限制本发明。对于本领域技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。
Claims (10)
1.一种数据打包方法,其特征在于,包括:
获取n个事件的n个事件属性,并依据所述n个事件的n个事件属性依次生成n个第一数据包,其中,n为大于0的正整数,所述事件属性至少用于定义所述事件的数据采集间隔时间和所述事件的数据长度;
每生成一个所述第一数据包,计算生成的所有所述第一数据包的累计长度;
当m个所述第一数据包的累计长度超过预设长度,m-1个所述第一数据包的累计长度小于或者等于所述预设长度时,将m-1个所述第一数据包进行打包生成第二数据包,m为小于等于n的正整数。
2.根据权利要求1所述的方法,其特征在于,获取n个事件的事件属性,并依据所述n个事件的事件属性依次生成n个第一数据包,包括:
获取所述n个事件对应的n个事件号,所述事件号用于表征所述事件的数据采集间隔时间信息;
按照所述事件的数据采集间隔时间和所述事件的长度进行数据采集,将采集的数据进行打包生成所述第一数据包,
并将所述事件的事件号写入所述第一数据包的数据包格式中。
3.根据权利要求2所述的方法,其特征在于,在依据每个事件的所述数据采集间隔进行数据采集,将采集的数据进行打包生成所述第一数据包之后,所述方法还包括:
在每生成一个所述第一数据包后,生成所述第一数据包对应的时间戳,并将所述时间戳写入所述第一数据包的所述数据包格式中,其中,所述时间戳中包含生成所述第一数据包的时间信息。
4.根据权利要求1所述的方法,其特征在于,获取n个事件的n个事件属性,并依据获取n个事件的n个事件属性依次生成n个第一数据包之后,所述方法还包括:
每生成一个所述第一数据包后,记录生成的所述第一数据包的序列号;
将所述序列号写入所述第一数据包的数据包格式中,其中,所述序列号为大于零的正整数。
5.根据权利要求1至4任意一项所述的方法,其特征在于,在每生成一个所述第一数据包后,将所述第一数据包对应的数据长度写入所述第一数据包的数据包格式中。
6.根据权利要求1所述的方法,其特征在于,每生成一个所述第一数据包,计算生成的所有所述第一数据包的累计长度包括:
在每生成一个所述第一数据包后,记录生成的所述第一数据包的长度;
依据记录的生成的所有所述第一数据包的长度,计算所述累计长度。
7.根据权利要求1所述的方法,其特征在于,在将m-1个所述第一数据包进行打包生成第二数据包之后,所述方法还包括:将所述第二数据包写入发送队列进行发送。
8.一种数据打包装置,其特征在于,包括:
获取单元,用于获取n个事件的n个事件属性,并依据所述n个事件的n个事件属性依次生成n个第一数据包,其中,n为大于0的正整数,所述事件属性至少用于定义所述事件的数据采集间隔时间和所述事件的数据长度;
计算单元,每生成一个所述第一数据包,计算生成的所有所述第一数据包的累计长度;
生成单元,用于当m个所述第一数据包的累计长度超过预设长度,m-1个所述第一数据包的累计长度小于或者等于所述预设长度时,将m-1个所述第一数据包进行打包生成第二数据包,m为小于等于n的正整数。
9.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序执行权利要求1至7中任意一项所述的一种数据打包方法。
10.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至7中任意一项所述的一种数据打包方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010247586.7A CN112118195B (zh) | 2020-03-31 | 2020-03-31 | 数据打包方法及装置、存储介质和处理器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010247586.7A CN112118195B (zh) | 2020-03-31 | 2020-03-31 | 数据打包方法及装置、存储介质和处理器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112118195A true CN112118195A (zh) | 2020-12-22 |
CN112118195B CN112118195B (zh) | 2022-10-28 |
Family
ID=73798860
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010247586.7A Active CN112118195B (zh) | 2020-03-31 | 2020-03-31 | 数据打包方法及装置、存储介质和处理器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112118195B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115348217A (zh) * | 2022-08-16 | 2022-11-15 | 青岛海信智慧生活科技股份有限公司 | 对数据进行打包的方法及电子设备 |
CN116522472A (zh) * | 2023-03-15 | 2023-08-01 | 中国船舶集团有限公司第七一九研究所 | 一种船舶多专业通用数据包构建及传递方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103501353A (zh) * | 2013-10-23 | 2014-01-08 | 北京经纬恒润科技有限公司 | 一种数据中继传输方法、装置及*** |
CN104301066A (zh) * | 2013-07-19 | 2015-01-21 | 华为技术有限公司 | 数据包传输方法及装置 |
CN104580009A (zh) * | 2015-01-28 | 2015-04-29 | 华为技术有限公司 | 芯片转发数据的方法及装置 |
CN110149660A (zh) * | 2019-05-24 | 2019-08-20 | 重庆邮电大学 | 基于目标导向的多数据包聚合选择方法 |
CN110850825A (zh) * | 2019-11-13 | 2020-02-28 | 武汉恒力华振科技有限公司 | 基于事件时间的工业过程数据处理方法 |
-
2020
- 2020-03-31 CN CN202010247586.7A patent/CN112118195B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104301066A (zh) * | 2013-07-19 | 2015-01-21 | 华为技术有限公司 | 数据包传输方法及装置 |
CN103501353A (zh) * | 2013-10-23 | 2014-01-08 | 北京经纬恒润科技有限公司 | 一种数据中继传输方法、装置及*** |
CN104580009A (zh) * | 2015-01-28 | 2015-04-29 | 华为技术有限公司 | 芯片转发数据的方法及装置 |
CN110149660A (zh) * | 2019-05-24 | 2019-08-20 | 重庆邮电大学 | 基于目标导向的多数据包聚合选择方法 |
CN110850825A (zh) * | 2019-11-13 | 2020-02-28 | 武汉恒力华振科技有限公司 | 基于事件时间的工业过程数据处理方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115348217A (zh) * | 2022-08-16 | 2022-11-15 | 青岛海信智慧生活科技股份有限公司 | 对数据进行打包的方法及电子设备 |
CN115348217B (zh) * | 2022-08-16 | 2024-03-22 | 青岛海信智慧生活科技股份有限公司 | 对数据进行打包的方法及电子设备 |
CN116522472A (zh) * | 2023-03-15 | 2023-08-01 | 中国船舶集团有限公司第七一九研究所 | 一种船舶多专业通用数据包构建及传递方法 |
CN116522472B (zh) * | 2023-03-15 | 2023-11-24 | 中国船舶集团有限公司第七一九研究所 | 一种船舶多专业通用数据包构建及传递方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112118195B (zh) | 2022-10-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106656536B (zh) | 一种用于处理服务调用信息的方法与设备 | |
CN112118195B (zh) | 数据打包方法及装置、存储介质和处理器 | |
CN109542789B (zh) | 一种代码覆盖率统计方法及装置 | |
CN106649788B (zh) | 一种数据库数据传输方法与装置 | |
CN109951494B (zh) | 仿真数据处理方法、装置、仿真设备及存储介质 | |
CN112069049A (zh) | 数据监控管理方法、装置、服务器及可读存储介质 | |
CN107566972B (zh) | 一种基于ble标准的蓝牙数据高速传输方法及装置 | |
CN115544304A (zh) | 文件解析方法、装置、可读存储介质及文件解析设备 | |
CN106708648B (zh) | 一种文本数据的存储校验方法和*** | |
CN110020074B (zh) | 确定网页流失率的方法及装置 | |
CN114553895B (zh) | 一种数据同步方法、***、存储介质及电子设备 | |
CN113225218A (zh) | 一种话单质量的核查方法和装置 | |
CN111125385A (zh) | 分析报表的生成方法、装置、存储介质和处理器 | |
CN106201818A (zh) | 一种应用程序运行时间的统计方法和装置 | |
CN101409643B (zh) | 电信网络模型化分析方法、装置和相应的*** | |
CN110908587A (zh) | 一种用于存储时序数据的方法及其装置 | |
CN110874268B (zh) | 数据处理方法、装置和设备 | |
CN110633214B (zh) | 一种内部测试报文的配置方法及装置 | |
CN110020348B (zh) | 圈选事件的预警方法及装置 | |
CN108810299B (zh) | 一种信息解析的方法、介质及设备 | |
CN110008281A (zh) | 一种基于Redis数据库可视化数据的处理方法及装置 | |
CN113071541B (zh) | 轨旁配置文件的生成方法及装置 | |
CN110489967B (zh) | 程序运行风险的分析方法及装置 | |
CN112131193B (zh) | 一种应用程序压缩的方法及设备 | |
CN115145865A (zh) | 一种ros数据包转换为iros数据包的方法、***及介质 |
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 |