CN111752895A - 一种多系统级芯片之间的日志存储方法及装置 - Google Patents
一种多系统级芯片之间的日志存储方法及装置 Download PDFInfo
- Publication number
- CN111752895A CN111752895A CN202010599459.3A CN202010599459A CN111752895A CN 111752895 A CN111752895 A CN 111752895A CN 202010599459 A CN202010599459 A CN 202010599459A CN 111752895 A CN111752895 A CN 111752895A
- Authority
- CN
- China
- Prior art keywords
- log
- message
- processing chip
- processing
- emmc
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000012545 processing Methods 0.000 claims abstract description 216
- 238000007726 management method Methods 0.000 claims description 15
- 238000013500 data storage Methods 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 238000005259 measurement Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 239000002699 waste material Substances 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/113—Details of archiving
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种多系统级芯片之间的日志存储方法及装置,应用于多系统级芯片系统中的第一处理芯片,其中第一处理芯片部署有eMMC,第一处理芯片之外的其他处理芯片不设置对应的eMMC,方法包括:与第一处理芯片之外的其他处理芯片建立数据连接;通过数据连接接收其他处理芯片发送的日志报文并归档存储至eMMC。上述方法及装置应用的多系统级芯片系统中仅包含一个部署有eMMC的处理芯片,该处理芯片能够将其他处理芯片的日志报文统一收集到自身进行归档存储,该实现方案仅需要在系统中部署一个eMMC,相对于现有技术大大降低了成本,充分利用了eMMC存储资源,而且便于系统的日志数据的统一管理,能够提升用户的使用体验。
Description
技术领域
本发明涉及数据处理技术,更具体的说,是涉及一种多系统级芯片之间的日志存储方法及装置。
背景技术
在处理任务比较繁重的一些系统中,一个处理芯片往往不能够满足系统任务处理需求,这种情况下,就需要在系统中设置多个芯片,多个芯片协作完成系统任务处理需求。例如,智能驾驶终端一般要承担采集、数据处理、计算、显示、上报等一系列任务,而实现这些任务需要SOC(System on Chip,系统级芯片)提供十分强大的接口和算力;为了满足需要,通常在电路板上布置多个系统级芯片,不同的系统级芯片之间协力完成数据采集、处理、计算、显示、上报等任务。
在多个系统级芯片运行的过程中,会有多个处理器同时在运行不同的操作系统及应用。这些系统和应用会产生大量的日志文件,以记录运行过程中产生的信息。这些信息需要储存在终端上,通常是储存在eMMC(Embedded Multi-media Card,嵌入式多媒体储存卡)中,这是一种专用于嵌入式设备大容量存储的非易失闪存设备。
eMMC只有一个访问接口,即只有一个处理器可以访问它进行存储和读取。在单个SOC的场景下,只需要为SOC配备一块eMMC芯片,即可满足存储日志文件的需求;但在多个SOC的场景下,每个SOC都有日志存储的需求,那么就需要给每个SOC都配备一块eMMC,SOC访问自己专属的eMMC来存储日志文件。然而,这种一个处理器对应一个eMMC的数据存储方式不仅会造成eMMC成本的上升,且会造成eMMC存储资源的浪费,且不同处理器产生的日志文件存储在不同的eMMC中,不便于日志文件的统一管理。
发明内容
有鉴于此,本发明提供了一种多系统级芯片之间的日志存储方法及装置,以克服现有技术中每个SOC都配备一块eMMC存在的成本高、资源浪费和日志文件不便于统一管理的问题。
为实现上述目的,本发明提供如下技术方案:
一种多系统级芯片之间的日志存储方法,应用于多系统级芯片系统中的第一处理芯片,其中所述第一处理芯片部署有eMMC,所述第一处理芯片之外的其他处理芯片不设置对应的eMMC,包括:
与所述第一处理芯片之外的其他处理芯片建立数据连接;
通过所述数据连接接收所述其他处理芯片发送的日志报文;
将接收到的所述日志报文归档存储至所述eMMC。
可选的,所述将接收到的所述日志报文归档存储至所述eMMC,包括:
基于接收到的所述日志报文的来源处理芯片打开与所述来源处理芯片对应的日志文件;
将所述日志报文写入所述eMMC中与所述来源处理芯片对应的日志文件。
可选的,还包括:
针对每一个所述来源处理芯片:在其对应的所述日志文件达到限制容量的情况下,创建一个新的日志文件进行所述日志报文的存储;
并且,在其对应的所述日志文件的数量达到限制数量的情况下,将存在时间最久的日志文件删除,以释放存储空间。
可选的,还包括:
在当前需要打开的日志文件数量大于预设打开数量的情况下,基于所述当前需要打开的日志文件的优先级和/或数据量均衡策略确定能够打开的与所述预设打开数量相同个数的日志文件,并将与当前没有打开的日志文件对应的日志报文进行缓存;
其中,所述数据量均衡策略包括:在来自于某个来源处理芯片的所述日志报文的缓存量达到预设阈值时,关闭当前已经打开的数据处理任务量最少的日志文件,并打开缓存量达到预设阈值的所述日志报文对应的日志文件。
可选的,所述与所述第一处理芯片之外的其他处理芯片建立数据连接,包括:
接收所述其他处理芯片发送的注册请求;所述注册请求包括请求存储空间和用于指示所述其他处理芯片的来源名称:
为所述其他处理芯片保留与所述请求存储空间相应的存储空间并分配与所述来源名称对应的来源标识号;
向发送所述注册请求的所述其他处理芯片返回注册结果,建立与所述其他处理芯片的TCP数据连接;所述注册结果包括所述来源标识号。
可选的,所述日志报文包括消息头、消息体和消息尾;
其中,所述消息头包括所述来源标识号,所述消息尾包括校验和。
一种多系统级芯片之间的日志存储装置,应用于多系统级芯片系统中的第一处理芯片,其中所述第一处理芯片部署有eMMC,所述第一处理芯片之外的其他处理芯片不设置对应的eMMC,包括:
数据连接模块,用于与所述第一处理芯片之外的其他处理芯片建立数据连接;
报文接收模块,用于通过所述数据连接接收所述其他处理芯片发送的日志报文;
数据存储模块,用于将接收到的所述日志报文归档存储至所述eMMC。
可选的,所述数据存储模块包括:
文件确定模块,用于基于接收到的所述日志报文的来源处理芯片打开与所述来源处理芯片对应的日志文件;
日志存储模块,用于将所述日志报文写入所述eMMC中与所述来源处理芯片对应的日志文件。
可选的,数据存储模块还包括:
存储管理模块,用于针对每一个所述来源处理芯片:在其对应的所述日志文件达到限制容量的情况下,创建一个新的日志文件进行所述日志报文的存储;并且,在其对应的所述日志文件的数量达到限制数量的情况下,将存在时间最久的日志文件删除。
可选的,还包括:
文件管理模块,用于在当前需要打开的日志文件数量大于预设打开数量的情况下,基于所述当前需要打开的日志文件的优先级和/或数据量均衡策略确定能够打开的与所述预设打开数量相同个数的日志文件,并将与当前没有打开的日志文件对应的日志报文进行缓存;
其中,所述数据量均衡策略包括:在来自于某个来源处理芯片的所述日志报文的缓存量达到预设阈值时,关闭当前已经打开的数据处理任务量最少的日志文件,并打开缓存量达到预设阈值的所述日志报文对应的日志文件。
经由上述的技术方案可知,与现有技术相比,本发明实施例公开了一种多系统级芯片之间的日志存储方法及装置,应用于多系统级芯片系统中的第一处理芯片,其中第一处理芯片部署有eMMC,第一处理芯片之外的其他处理芯片不设置对应的eMMC,方法包括:与第一处理芯片之外的其他处理芯片建立数据连接;通过所述数据连接接收所述其他处理芯片发送的日志报文;将接收到的所述日志报文归档存储至eMMC。上述方法及装置应用的多系统级芯片系统中仅包含一个部署有eMMC的处理芯片,该处理芯片能够将其他处理芯片的日志报文统一收集到自身,并对收集到的日志报文归档存储,该实现方案仅需要在系统中部署一个eMMC,相对于现有技术大大降低了成本,充分利用了eMMC存储资源,而且将所有处理芯片的日志报文存储在一个eMMC中,便于系统的日志数据的统一管理,能够提升用户的使用体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例公开的一种多系统级芯片之间的日志存储方法的流程图;
图2为本发明实施例公开的一种多系统级芯片之间的日志服务系统实现架构图;
图3为本发明实施例公开的日志报文归档存储的流程图;
图4为本发明实施例公开的另一种多系统级芯片之间的日志存储方法的流程图;
图5为本发明实施例公开的客户端和服务器建立连接的过程示意图;
图6为本发明实施例公开的一种报文构成示意图;
图7为本发明实施例公开的一种多系统级芯片之间的日志存储装置结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例公开的一种多系统级芯片之间的日志存储方法的流程图,图1所示方法应用于多系统级芯片系统中的第一处理芯片,其中所述第一处理芯片部署有eMMC,所述第一处理芯片之外的其他处理芯片不设置对应的eMMC。参见图1所示,方法可以包括:
步骤101:与所述第一处理芯片之外的其他处理芯片建立数据连接。
其他处理芯片没有部署eMMC,而其产生的日志数据也需要进行存储,由于整个多系统级芯片系统中只有第一处理芯片部署有eMMC,因此其他处理芯片产生的日志数据也需要存储在第一处理芯片中部署的eMMC中。因此,第一处理芯片需要首先与其他处理芯片建立数据连接,以使得其他处理芯片后续能够将自身的日志数据发送给第一处理芯片进行存储。
步骤102:通过所述数据连接接收所述其他处理芯片发送的日志报文。
第一处理芯片与其他处理芯片建立数据连接后,其他处理芯片将自身产生的日志数据传送给第一处理芯片。本实施例中,日志数据可以以日志报文的形式传送;具体日志报文的格式并没有固定限制,在后面的实施例中,将对示意性的报文内容和格式做详细描述,在此不再过多介绍。
步骤103:将接收到的所述日志报文归档存储至所述eMMC。
第一处理芯片接收到其他处理芯片发送的日志报文后,可以依据预定的规则将接收到的日志报文进行归档存储,便于日后查阅调用。
本实施例所述多系统级芯片之间的日志存储方法应用的多系统级芯片中仅包含一个部署有eMMC的处理芯片,该处理芯片能够将其他处理芯片的日志报文统一收集到自身,并对收集到的日志报文归档存储,该实现方案仅需要在系统中部署一个eMMC,相对于现有技术大大降低了成本,充分利用了eMMC存储资源,而且将所有处理芯片的日志报文存储在一个eMMC中,便于系统的日志数据的统一管理,能够提升用户的使用体验。
在一个具体实现中,多系统级芯片之间的日志存储方法可以搭载在图2所示的多系统级芯片之间的日志服务系统上实现,让多个SOC(处理芯片)的日志通过本地局域网传输,统一存储到一块eMMC上。
其中,日志服务器模块运行在可以直接访问eMMC的SOC(可称为日志服务器)上,即第一处理芯片,接受来自其他SOC(可称为日志客户端),即除第一处理芯片之外的其他处理芯片的连接请求,并负责建立与日志客户端的TCP(Transmission Control Protocol,传输控制协议)连接。在连接建立后,负责接收日志数据报文并进行解析,推送给日志归档模块。当然,在其他实现中,也可以采用其他传输通道,如SPI((Serial Peripheral Interface,串行外设接口)通道。
日志客户端模块运行在不直接访问eMMC的SOC上,负责请求连接到日志服务器模块,并建立连接将本地日志打包并推送到日志到服务器上,日志客户端还具有缓存日志的功能,以便在日志服务器暂时不可访问时,也不会丢失本地的日志数据。
日志归档模块运行在可以直接访问eMMC的SOC1上,负责接收来自日志服务器的日志信息,进行分类、归档处理,形成日志文件,写入eMMC。
图3为本发明实施例公开的日志报文归档存储的流程图,结合图3所示,第一处理芯片将接收到的所述日志报文归档存储至所述eMMC,可以包括:
步骤301:基于接收到的所述日志报文的来源处理芯片打开与所述来源处理芯片对应的日志文件。
由于第一处理芯片会接收到多个其他处理芯片的日志报文,为了便于不同处理芯片的日志报文的区分、已存储日志数据的溯源和管理,需要对不同来源的日志报文分别存储。具体实现中,在第一处理芯片的eMMC中,针对不同的处理芯片分别设置有对应的日志文件,每个日志文件仅用于存储与其对应的处理芯片产生的日志数据。例如,A处理芯片发送的日志报文需要存储到A类日志文件中;B处理芯片发送的日志报文需要存储到B类日志文件中。
具体的,基于接收到的所述日志报文的来源处理芯片打开与所述来源处理芯片对应的日志文件可以包括:基于接收到的来自多个来源处理芯片的所述日志报文,打开与所述来源处理芯片分别一一对应的多个日志文件。分别将所述日志报文写入与自身的来源处理芯片对应的日志文件。
步骤302:将所述日志报文写入所述eMMC中与所述来源处理芯片对应的日志文件。
在打开与日志报文来源处理芯片对应的日志文件后,直接将该日志报文写入打开的日志文件进行存储。
本实现中,将不同的处理芯片产生的日志数据形成的日志报文分别单独的存储,便于日后对已存储日志数据的溯源和管理。
图4为本发明实施例公开的另一种多系统级芯片之间的日志存储方法的流程图,除特别说明外,本申请实施例中所有的多系统级芯片之间的日志存储方法(包括图4所示方法)均应用于多系统级芯片系统中的第一处理芯片,其中所述第一处理芯片部署有eMMC,所述第一处理芯片之外的其他处理芯片不设置对应的eMMC。如图4所示,方法可以包括:
步骤401:与所述第一处理芯片之外的其他处理芯片建立数据连接。
步骤402:通过所述数据连接接收所述其他处理芯片发送的日志报文。
步骤403:基于接收到的所述日志报文的来源处理芯片打开与所述来源处理芯片对应的日志文件。
步骤404:将所述日志报文写入所述eMMC中与所述来源处理芯片对应的日志文件。
步骤405:针对每一个所述来源处理芯片:在其对应的所述日志文件达到限制容量的情况下,创建一个新的日志文件进行所述日志报文的存储。
在第一处理芯片的eMMC中,对日志报文的存储可以采用日志文件的形式,可以预先设定好每一个日志文件的容量,针对每一个处理芯片的日志报文,一次仅打开一个日志文件存储日志报文,当这个日志文件达到限制容量的情况下,即这个日志文件存满数据后,可以重新开启一个新的日志文件用来存储后续的日志报文。
步骤406:在所述来源处理芯片对应的所述日志文件的数量达到限制数量的情况下,将存在时间最久的日志文件删除,以释放存储空间进行新的日志文件的创建。
在eMMC中,可以为每一个处理芯片配置限制容量,由于每一个日志文件的容量可以是固定的,这样处理芯片的限制容量可以通过限制其可以使用的日志文件的数量来实现。即,允许每一个处理芯片最多能够配置一定数量的日志文件,如100个。在某个处理芯片对应的日志文件的数量达到限制数量的情况下,将与该处理芯片对应的存在时间最久的日志文件删除,以释放存储空间进行最新的所述日志报文的存储。
或者,另一种实现中,不区分日志文件对应的是哪一个处理芯片,采用全局动态删除并增加日志文件的实现方式,即:在日志报文存储过程中,若所有的日志文件的总数量达到限制数量,则将存在时间最久的日志文件删除,而不考虑其是否与当前需要存储的日志报文的来源处理芯片具有对应关系。
在上述实施例的基础上,其他实现中,多系统级芯片之间的日志存储方法还可以包括:在当前需要打开的日志文件数量大于预设打开数量的情况下,基于所述当前需要打开的日志文件的优先级和/或数据量均衡策略确定能够打开的与所述预设打开数量相同个数的日志文件,并将与当前没有打开的日志文件对应的日志报文进行缓存。
其中,所述数据量均衡策略包括:在来自于某个来源处理芯片的所述日志报文的缓存量达到预设阈值时,关闭当前已经打开的数据处理任务量最少的日志文件,并打开缓存量达到预设阈值的所述日志报文对应的日志文件。或者,可以为每个日志文件预先配置优先级,当需要打开的日志文件数量大于预设打开数量的情况下,基于当前需要打开的日志文件的优先级从高到低顺序打开。
在一个具体实现中,第一处理芯片接收到其他处理芯片发送的日志报文后,首先需要对接收到的日志报文进行解析,解析成功后,就可以提取其中的日志数据进行归档操作。
在归档操作过程中,可以基于以下几个原则进行:
1、分类管理。对于同一来源标识号(为不同的其他处理芯片分配不同的来源标识号)的日志数据,认为它是来自于同一个日志源的数据,要存放到同一个目录下;对于不同的来源标识号,建立不同的目录来存放对应的日志数据。
2、上限管理。对于某个日志源(处理芯片)而言,只要它一直产生日志数据,就会导致其对应的日志文件体积一直增大。但eMMC的容量显然是有限的,对于某个日志源,会设定特定的文件大小限制、文件数量限制。当一个日志文件大小达到文件大小限制时,就会新开一个文件进行写入;当一个日志源产生的日志文件数量超过文件数量限制时,会删除最久的日志文件,然后新开一个文件进行写入。
3、资源节约。对每一个日志源,日志归档模块都会打开一个文件来写入来源于该日志源的数据,这样在日志源数量很多的时候,归档模块就会同时打开很多文件,这对于操作系统来说是一个巨大的负担。因此可以设定特定的同时打开文件数量上限。当日志源的数量少于同时打开文件数量上限时,每个日志源对应一个打开的文件;当日志源数量超过同时打开文件数量上限时,某一时刻内将只有“同时打开文件数量上限”个文件被打开,其对应的日志源的日志数据被即时写入,其它日志源的日志数据将缓存在内存中,等待其对应文件被打开时再写入。
决定某一时刻,有哪些日志源的对应文件被打开的方式可以但不限制为以下两种:
a)优先级度量:每个日志源/日志文件有一个优先级,比如为一个正整数,越大表示优先级越低。在某一时刻,如果有优先级更高的日志源产生了日志数据,而其对应的日志文件没有被打开,那么就关闭一个优先级最低的日志源对应的文件,转而处理这个优先级高的日志源的日志数据。
b)数据量公平度量:设定一个数据量大小阈值,一旦某个日志源在内存中缓存的日志数据大小达到该数据量大小阈值,而其对应的文件还没有被打开,就关闭一个当前空闲的日志源对应的文件,转而打开这个日志源对应的文件进行写入。如果没有空闲的日志源,就关闭一个最不繁忙的日志源。
实际应用中,上述两种度量方式可以单独使用其一,也可以结合使用,即总体上采用优先级度量,对优先级相同的日志源,采用数据量公平度量。例如,当前打开的多个日志文件中1个日志文件为高级别,3个日志文件为中级别,而没有被打开的一个日志文件对应的日志源在内存中缓存的日志数据大小达到设定阈值,且其优先级别为中级别,则需要关闭上述已经打开的3个中级别的日志文件中数据任务量最小的一个日志文件,并打开上述在内存中缓存的日志数据大小达到设定阈值的日志源对应的日志文件。其中,预设阈值可以根据经验人为设定。
上述实施例中,第一处理芯片与其他处理芯片建立数据连接,可以包括:
接收所述其他处理芯片发送的注册请求,其中注册请求包括请求存储空间和用于指示其他处理芯片的来源名称,请求存储空间即其他处理芯片请求第一处理芯片为自身预留或分配的存储空间;
为其他处理芯片保留与所述请求存储空间相应的存储空间并分配与所述来源名称对应的来源标识号;
向发送所述注册请求的所述其他处理芯片返回注册结果,建立与所述其他处理芯片的TCP数据连接,注册结果包括所述来源标识号。
结合图2所示,日志客户端到日志服务器的连接,从物理上看是同一块电路板上的两个SOC之间的连接,可以通过以太网连接来实现。对于多个SOC而言,可以是由交换机互连的一个本地局域网。
在TCP连接的基础上,通过报文交互的方式,来进行客户端和服务器之间的通信。应用中报文有加密和非加密两种方式,区别在于是否将报文使用特定的密钥和加密算法进行加密再传输、解密再解析。通常多SOC之间的本地局域网会通过划分VLAN(虚拟局域网)、设置防火墙等方式防止外部访问,但通过报文加密方式,仍能进一步提高日志数据的安全性。
实际应用中,由于包含eMMC的处理芯片只有一个,没有eMMC的处理芯片通常有多个,因此,可以将包含eMMC的第一处理芯片的连接信息“告知”给其他各个处理芯片,由其根据上述连接信息主动与包含eMMC的处理芯片建立通信连接。
本申请实施例中提及的日志报文可以包括消息头、消息体和消息尾,其中所述消息头包括所述来源标识号,所述消息尾包括校验和。日志报文的具体实现形式在后续的具体实例中会详细介绍,在此不再过多描述。
图5为本发明实施例公开的客户端和服务器建立连接的过程示意图,结合图5,日志客户端在启动后,会尝试连接位于指定地址和端口的日志服务器进行日志传输服务,包括:
1、建立到服务器的TCP连接。
2、发送注册请求。注册请求中,应发送包括一个自己设定的来源名称(见下表1)、请求服务器为自己保留的日志存储空间大小,包括单个文件大小和文件数量、日志数据的一些特定属性(见下表2)。
3、服务器返回注册结果。注册结果中,应包含服务器是否认可该次注册、服务器为客户端分配的来源标识号(见下表1)。
4、客户端通过向服务器发送日志报文进行日志数据的传输。
表1日志报文消息头结构
表2报文属性位结构
通信报文是用于传送日志数据的报文,表现为二进制字节流的形式,分为三个部分:消息头、消息体和消息尾。报文的总体长度不大于4096字节。
消息头中含有一些通用信息,例如标志号、加密位等,用于表明本帧报文的属性,长度为16字节;
消息体就是具体的日志内容,长度不大于4078字节;
消息尾则是校验和,用于服务器进行消息完整性和正确性的校验,长度为2字节。图6为本发明实施例公开的一种报文构成示意图,可结合图6理解前述内容。
消息体中包含要发送的日志数据内容。
消息尾为报文的校验和,用于校验报文的完整性和正确性。校验和的计算范围是从报文消息头的属性位字段(见上表1)开始,一直到报文消息体的最后一个字节结束,其两个字节值As、Bs的计算方式是一般的和校验:
1、令As=Bs=0;
2、对于校验和计算范围内的第i个字节Si,令:As=As+Si,Bs=Bs+As;
3、重复直到消息体的最后一个字节,得到最终的As、Bs值。
例如:校验和计算范围内,报文的内容是0x01 0x02 0x03,则:
第一步:A=0+0x01=0x01 B=0+0x01=0x0x1
第二步:A=0x01+0x02=0x03 B=0x01+0x03=0x04
第三步:A=0x03+0x03=0x06 B=0x04+0x06=0x0A
最终校验和为0x06 0x0A。
上述实施例公开的多系统级芯片之间的日志存储方法应用的多系统级芯片系统中仅包含一个部署有eMMC的处理芯片,该处理芯片能够将其他处理芯片的日志报文统一收集到自身,并对收集到的日志报文归档存储,该实现方案仅需要在系统中部署一个eMMC,相对于现有技术大大降低了成本,充分利用了eMMC存储资源,而且将所有处理芯片的日志报文存储在一个eMMC中,便于系统的日志数据的统一管理,能够提升用户的使用体验。
对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
上述本发明公开的实施例中详细描述了方法,对于本发明的方法可采用多种形式的装置实现,因此本发明还公开了一种装置,下面给出具体的实施例进行详细说明。
图7为本发明实施例公开的一种多系统级芯片之间的日志存储装置结构示意图,应用于多系统级芯片系统中的第一处理芯片,其中所述第一处理芯片部署有eMMC,所述第一处理芯片之外的其他处理芯片不设置对应的eMMC,参见图7所示,多系统级芯片之间的日志存储装置70可以包括:
数据连接模块701,用于与所述第一处理芯片之外的其他处理芯片建立数据连接。
报文接收模块702,用于通过所述数据连接接收所述其他处理芯片发送的日志报文。
数据存储模块703,用于将接收到的所述日志报文归档存储至所述eMMC。
本实施例所述多系统级芯片之间的日志存储装置应用的多系统级芯片系统中仅包含一个部署有eMMC的处理芯片,该处理芯片能够将其他处理芯片的日志报文统一收集到自身,并对收集到的日志报文归档存储,该实现方案仅需要在系统中部署一个eMMC,相对于现有技术大大降低了成本,充分利用了eMMC存储资源,而且将所有处理芯片的日志报文存储在一个eMMC中,便于系统的日志数据的统一管理,能够提升用户的使用体验。
其中,所述数据存储模块703可以包括:文件确定模块,用于基于接收到的所述日志报文的来源处理芯片打开与所述来源处理芯片对应的日志文件;日志存储模块,用于将所述日志报文写入所述eMMC中与所述来源处理芯片对应的日志文件。
一个实现中,数据存储模块703还可以包括:存储管理模块,用于针对每一个所述来源处理芯片:在其对应的所述日志文件达到限制容量的情况下,创建一个新的日志文件进行所述日志报文的存储;并且,在其对应的所述日志文件的数量达到限制数量的情况下,将存在时间最久的日志文件删除,以释放存储空间进行新的日志文件的创建。
其他实现中,多系统级芯片之间的日志存储装置还可以包括:文件管理模块,用于在当前需要打开的日志文件数量大于预设打开数量的情况下,基于所述当前需要打开的日志文件的优先级和/或数据量均衡策略确定能够打开的与所述预设打开数量相同个数的日志文件,并将与当前没有打开的日志文件对应的日志报文进行缓存。
其中,所述数据量均衡策略包括:在来自于某个来源处理芯片的所述日志报文的缓存量达到预设阈值时,关闭当前已经打开的数据处理任务量最少的日志文件,并打开缓存量达到预设阈值的所述日志报文对应的日志文件。
一个实现中,所述数据连接模块701具体可用于:接收所述其他处理芯片发送的注册请求;所述注册请求包括用于指示所述其他处理芯片的来源名称和请求存储空间:为所述其他处理芯片保留与所述请求存储空间相应的存储空间并分配与所述来源名称对应的来源标识号;向发送所述注册请求的所述其他处理芯片返回注册结果,建立与所述其他处理芯片的TCP数据连接;所述注册结果包括所述来源标识号。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种多系统级芯片之间的日志存储方法,应用于多系统级芯片系统中的第一处理芯片,其中所述第一处理芯片部署有eMMC,所述第一处理芯片之外的其他处理芯片不设置对应的eMMC,其特征在于,包括:
与所述第一处理芯片之外的其他处理芯片建立数据连接;
通过所述数据连接接收所述其他处理芯片发送的日志报文;
将接收到的所述日志报文归档存储至所述eMMC。
2.根据权利要求1所述的方法,其特征在于,所述将接收到的所述日志报文归档存储至所述eMMC,包括:
基于接收到的所述日志报文的来源处理芯片打开与所述来源处理芯片对应的日志文件;
将所述日志报文写入所述eMMC中与所述来源处理芯片对应的日志文件。
3.根据权利要求2所述的方法,其特征在于,还包括:
针对每一个所述来源处理芯片:在其对应的所述日志文件达到限制容量的情况下,创建一个新的日志文件进行所述日志报文的存储;
并且,在其对应的所述日志文件的数量达到限制数量的情况下,将存在时间最久的日志文件删除,以释放存储空间。
4.根据权利要求2所述的方法,其特征在于,还包括:
在当前需要打开的日志文件数量大于预设打开数量的情况下,基于所述当前需要打开的日志文件的优先级和/或数据量均衡策略确定能够打开的与所述预设打开数量相同个数的日志文件,并将与当前没有打开的日志文件对应的日志报文进行缓存;
其中,所述数据量均衡策略包括:在来自于某个来源处理芯片的所述日志报文的缓存量达到预设阈值时,关闭当前已经打开的数据处理任务量最少的日志文件,并打开缓存量达到预设阈值的所述日志报文对应的日志文件。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述与所述第一处理芯片之外的其他处理芯片建立数据连接,包括:
接收所述其他处理芯片发送的注册请求;所述注册请求包括请求存储空间和用于指示所述其他处理芯片的来源名称:
为所述其他处理芯片保留与所述请求存储空间相应的存储空间并分配与所述来源名称对应的来源标识号;
向发送所述注册请求的所述其他处理芯片返回注册结果,建立与所述其他处理芯片的TCP数据连接;所述注册结果包括所述来源标识号。
6.根据权利要求5所述的方法,其特征在于,所述日志报文包括消息头、消息体和消息尾;
其中,所述消息头包括所述来源标识号,所述消息尾包括校验和。
7.一种多系统级芯片之间的日志存储装置,应用于多系统级芯片系统中的第一处理芯片,其中所述第一处理芯片部署有eMMC,所述第一处理芯片之外的其他处理芯片不设置对应的eMMC,其特征在于,包括:
数据连接模块,用于与所述第一处理芯片之外的其他处理芯片建立数据连接;
报文接收模块,用于通过所述数据连接接收所述其他处理芯片发送的日志报文;
数据存储模块,用于将接收到的所述日志报文归档存储至所述eMMC。
8.根据权利要求7所述的装置,其特征在于,所述数据存储模块包括:
文件确定模块,用于基于接收到的所述日志报文的来源处理芯片打开与所述来源处理芯片对应的日志文件;
日志存储模块,用于将所述日志报文写入所述eMMC中与所述来源处理芯片对应的日志文件。
9.根据权利要求8所述的装置,其特征在于,数据存储模块还包括:
存储管理模块,用于针对每一个所述来源处理芯片:在其对应的所述日志文件达到限制容量的情况下,创建一个新的日志文件进行所述日志报文的存储;并且,在其对应的所述日志文件的数量达到限制数量的情况下,将存在时间最久的日志文件删除。
10.根据权利要求8所述的装置,其特征在于,还包括:
文件管理模块,用于在当前需要打开的日志文件数量大于预设打开数量的情况下,基于所述当前需要打开的日志文件的优先级和/或数据量均衡策略确定能够打开的与所述预设打开数量相同个数的日志文件,并将与当前没有打开的日志文件对应的日志报文进行缓存;
其中,所述数据量均衡策略包括:在来自于某个来源处理芯片的所述日志报文的缓存量达到预设阈值时,关闭当前已经打开的数据处理任务量最少的日志文件,并打开缓存量达到预设阈值的所述日志报文对应的日志文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010599459.3A CN111752895A (zh) | 2020-06-28 | 2020-06-28 | 一种多系统级芯片之间的日志存储方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010599459.3A CN111752895A (zh) | 2020-06-28 | 2020-06-28 | 一种多系统级芯片之间的日志存储方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111752895A true CN111752895A (zh) | 2020-10-09 |
Family
ID=72677659
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010599459.3A Pending CN111752895A (zh) | 2020-06-28 | 2020-06-28 | 一种多系统级芯片之间的日志存储方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111752895A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101136754A (zh) * | 2006-09-27 | 2008-03-05 | 中兴通讯股份有限公司 | 一种以太网芯片的数据传输控制系统 |
CN102439563A (zh) * | 2009-05-15 | 2012-05-02 | 汤姆森许可贸易公司 | 用于共享存储器的系统和方法 |
CN102750256A (zh) * | 2012-06-12 | 2012-10-24 | 福建睿矽微电子科技有限公司 | 一种多处理器共享存储实现技术 |
CN103176924A (zh) * | 2011-12-26 | 2013-06-26 | 株式会社理光 | 输出设备以及输出设备的日志信息收集方法 |
WO2017107812A1 (zh) * | 2015-12-21 | 2017-06-29 | 阿里巴巴集团控股有限公司 | 一种用户日志存储方法及设备 |
CN107092683A (zh) * | 2017-04-21 | 2017-08-25 | 北京奇艺世纪科技有限公司 | 一种日志处理系统和方法 |
CN108052675A (zh) * | 2017-12-28 | 2018-05-18 | 惠州Tcl家电集团有限公司 | 日志管理方法、系统及计算机可读存储介质 |
-
2020
- 2020-06-28 CN CN202010599459.3A patent/CN111752895A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101136754A (zh) * | 2006-09-27 | 2008-03-05 | 中兴通讯股份有限公司 | 一种以太网芯片的数据传输控制系统 |
CN102439563A (zh) * | 2009-05-15 | 2012-05-02 | 汤姆森许可贸易公司 | 用于共享存储器的系统和方法 |
CN103176924A (zh) * | 2011-12-26 | 2013-06-26 | 株式会社理光 | 输出设备以及输出设备的日志信息收集方法 |
CN102750256A (zh) * | 2012-06-12 | 2012-10-24 | 福建睿矽微电子科技有限公司 | 一种多处理器共享存储实现技术 |
WO2017107812A1 (zh) * | 2015-12-21 | 2017-06-29 | 阿里巴巴集团控股有限公司 | 一种用户日志存储方法及设备 |
CN107092683A (zh) * | 2017-04-21 | 2017-08-25 | 北京奇艺世纪科技有限公司 | 一种日志处理系统和方法 |
CN108052675A (zh) * | 2017-12-28 | 2018-05-18 | 惠州Tcl家电集团有限公司 | 日志管理方法、系统及计算机可读存储介质 |
Non-Patent Citations (3)
Title |
---|
李俊旺: "微型计算机及外设故障排除与维修", 31 August 1999, 国防工业出版社, pages: 104 * |
欧阳元新,熊璋: "物联网引论", 31 May 2016, 北京航空航天大学出版社, pages: 122 - 126 * |
罗东锋;李芳;郝汪洋;吴仲城;: "基于Docker的大规模日志采集与分析系统", 计算机系统应用, vol. 26, no. 10, pages 82 - 88 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113596184B (zh) | 混合云系统、网闸、网络访问方法及存储介质 | |
US6801927B1 (en) | Network adaptor card with reverse proxy and cache and method implemented therewith | |
US6292900B1 (en) | Multilevel security attribute passing methods, apparatuses, and computer program products in a stream | |
US7584506B2 (en) | Method and apparatus for controlling packet transmission and generating packet billing data on wired and wireless network | |
KR20200002987A (ko) | 네트워크 관리의 목적들을 위하여 도메인 명칭들을 추적하기 위한 시스템 및 방법 | |
WO2014101445A1 (zh) | 数据查询方法及系统 | |
RU2005120695A (ru) | Облегченный протокол ввода/вывода | |
US11494403B2 (en) | Method and apparatus for storing off-chain data | |
CN106027595A (zh) | 用于cdn节点的访问日志处理方法及系统 | |
US20170153909A1 (en) | Methods and Devices for Acquiring Data Using Virtual Machine and Host Machine | |
CN103823807A (zh) | 一种去除重复数据的方法、装置及系统 | |
CN109951514A (zh) | 基于云存储的文件处理方法、系统及计算机设备 | |
CN111314480A (zh) | 负载自适应跨平台文件传输协议及其分布式服务实现方法 | |
CN105991596A (zh) | 一种访问控制方法和系统 | |
CN111431967A (zh) | 基于业务规则的多源异构数据表示与分发方法、装置 | |
CN111752895A (zh) | 一种多系统级芯片之间的日志存储方法及装置 | |
CA2567798A1 (en) | Method, system and program product for storing downloadable content on a plurality of enterprise storage system (ess) cells | |
CN116155828B (zh) | 一种多个虚拟队列的报文保序方法及其装置、存储介质、电子设备 | |
CN111414339A (zh) | 一种文件的处理方法、系统、装置、设备及介质 | |
CN110417860A (zh) | 文件传输管理方法、装置、设备及存储介质 | |
CN107615259B (zh) | 一种数据处理方法及系统 | |
CN114443595A (zh) | 一种处理文件的方法及装置 | |
CN114465770A (zh) | 数据处理方法及相关装置 | |
CN114651236A (zh) | 资源删除方法、装置、设备及存储介质 | |
CN115865862B (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 | ||
CB02 | Change of applicant information |
Address after: 4 / F, building 1, No.14 Jiuxianqiao Road, Chaoyang District, Beijing 100020 Applicant after: Beijing Jingwei Hengrun Technology Co., Ltd Address before: 8 / F, block B, No. 11, Anxiang Beili, Chaoyang District, Beijing 100101 Applicant before: Beijing Jingwei HiRain Technologies Co.,Ltd. |
|
CB02 | Change of applicant information |