发明内容
本发明实施例的一个目的是提供一种对日志信息进行加密的新技术方案,以提高日志记录及传输的安全性。
根据本发明的第一方面,提供了一种日志设置方法,其包括:
获取针对日志记录设备开发的源文件;
提取所述源文件中日志的日志字段信息;
加密所述日志字段信息,获得密文信息;
根据所述日志字段信息与所述密文信息之间的映射关系,形成解密文件供日志打印设备解密所述密文信息;
将所述源文件中的所述日志字段信息替换为所述密文信息,获得加密后的源文件;
编译所述加密后的源文件,获得可执行文件供烧录在所述日志记录设备中。
可选地,所述加密所述日志字段信息,获得密文信息的步骤,包括:
对所述日志字段信息进行哈希处理,获得所述密文信息。
可选地,所述加密所述日志字段信息,获得密文信息的步骤,包括:
将所述日志字段信息的至少部分信息作为加密种子参与加密处理,获得所述密文信息。
可选地,所述加密所述日志字段信息,获得密文信息的步骤,包括:
对所述源文件中的每条日志分别进行加密,获得与所述每条日志一一对应的密文信息,其中,对于同一条日志的各日志字段信息进行整体加密,得到对应的密文信息。
可选地,所述方法还包括:
检测当前的文件处理模式;
在所述当前的文件处理模式为加密模式的情况下,再执行所述提取所述源文件中日志的日志字段信息的步骤。
可选地,所述方法还包括:
响应于文件处理模式的设置操作,提供设置入口;
获取通过所述设置入口输入的文件处理模式;
更新所述当前的文件处理模式为所述输入的文件处理模式。
可选地,所述方法还包括:
在所述当前的文件处理模式为非加密模式的情况下,直接编译所述源文件,以获得对应的可执行文件供烧录在所述日志记录设备中。
根据本发明的第二方面,本发明还提供了一种日志打印方法,其包括:
打印日志记录设备记录的日志文件,其中,所述日志文件中每条日志的日志字段信息为密文信息;
获取反映所述日志字段信息与所述密文信息之间的映射关系的解密文件;
根据所述解密文件,解密所述日志文件中的密文信息,得到解密后的日志文件。
根据本发明的第三方面,还提供了一种日志设置设备,其包括:
源文件获取模块,用于获取针对日志记录设备开发的源文件;
信息提取模块,用于提取所述源文件中日志的日志字段信息;
加密模块,用于加密所述日志字段信息,获得密文信息;
解密文件形成模块,用于根据所述日志字段信息与所述密文信息之间的映射关系,形成解密文件供日志打印设备解密所述密文信息;
替换模块,用于将所述源文件中的所述日志字段信息替换为所述密文信息,获得加密后的源文件;以及,
编译模块,用于编译所述加密后的源文件,获得可执行文件供烧录在所述日志记录设备中;或者,
所述日志设置设备包括存储器和处理器,所述存储器用于存储可执行的指令;所述处理器用于根据所述指令的控制进行操作以执行根据本发明的第一方面所述的日志设置方法。
根据本发明的第四发明,还提供了一种日志打印设备,其包括:
打印模块,用于打印日志记录设备记录的日志文件,其中,所述日志文件中每条日志的日志字段信息为密文信息;
解密文件获取模块,用于获取反映所述日志字段信息与所述密文信息之间的映射关系的解密文件;以及,
解密模块,用于根据所述解密文件,解密所述日志文件中的密文信息,得到解密后的日志文件;或者,
所述日志打印设备包括存储器和处理器,所述存储器用于存储可执行的指令;所述处理器用于根据所述指令的控制进行操作以执行根据本发明的第二方面所述的日志打印方法。
根据本发明的第五方面,还提供了一种日志***,包括本发明第三方面中的日志设置设备,本发明第四发明中的日志打印设备,以及日志记录设备,所述日志设置设备编译加密后的源文件得到的可执行文件被烧录在所述日志记录设备中,所述日志设置设备建立的解密文件存储在所述日志打印设备中。
本发明的一个有益效果在于,根据本发明实施例的方法、设备及***,其在获取到针对日志记录设备开发的源文件后,将对源文件中日志的日志字段信息进行加密,以获得加密后的源文件,最终编译该加密后的源文件,得到对应的可执行文件,并将该可执行文件烧录在日志记录设备中执行日志记录操作。在此,由于本发明实施例将源文件中的日志字段信息替换为对应的密文信息得到了加密后的源文件再进行编译,这样,日志记录设备根据可执行文件记录的日志中,将不会显示各字段数据所对应的字段定义的明文,因此,根据打印日志得到的日志文件将无法获悉数据含义,进而实现了关键信息的脱敏,提高了传输日志信息的安全性。另外,本发明实施例的方法没有改变源文件及日志的整体架构,对开发流程和开发成本没有任何影响。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
<硬件配置>
图1是可用于实现本发明实施例的日志***100的硬件配置的框图。
如图1所示,日志***包括日志设置设备1000、日志打印设备2000和日志记录设备3000。
日志设置设备1000用于生成源文件及对源文件进行编译得到机器能够识别的可执行文件。在本实施例中,日志设置设备1000还用于对源文件中日志的日志字段信息进行加密处理,得到加密后的源文件进行编译。该日志设置设备1000可以是PC机、笔记本电脑、平板电脑等具有程序编辑及编译功能的任何电子设备。
如图1所示,日志设置设备1000可以包括处理器1100、存储器1200、接口装置1300、通信装置1400、显示装置1500、输入装置1600、扬声器1700、麦克风1800等等。
处理器1100可以是移动版处理器。存储器1200例如包括ROM(只读存储器)、RAM(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置1300例如包括USB接口、耳机接口等。通信装置1400例如能够进行有线或无线通信,通信装置1400可以包括短距离通信装置,例如是基于Hilink协议、WiFi(IEEE 802.11协议)、Mesh、蓝牙、ZigBee、Thread、Z-Wave、NFC、UWB、LiFi等短距离无线通信协议进行短距离无线通信的任意装置,通信装置1400也可以包括远程通信装置,例如是进行WLAN、GPRS、2G/3G/4G/5G远程通信的任意装置。显示装置1500例如是液晶显示屏、触摸显示屏等。输入装置1600例如可以包括触摸屏、键盘等。用户可以通过扬声器1700和麦克风1800输入/输出语音信息。
本实施例中,日志设置设备1000的存储器1200用于存储可执行的指令,处理器1100用于根据指令的控制进行操作以执行根据本发明任意实施例的日志设置方法。技术人员可以根据本发明所公开方案设计指令。指令如何控制处理器1100进行操作,这是本领域公知,故在此不再详细描述。
尽管在图1中示出了日志设置设备1000的多个装置,但是,本发明可以仅涉及其中的部分装置,例如,日志设置设备1000只涉及存储器1200和处理器1100、通信装置1400和显示装置1500。
日志打印设备2000例如可以是服务器、PC机、笔记本电脑,也可以是移动终端以及故障诊断仪等,在此不做限定。
服务器提供处理、数据库、通讯设施的业务点。服务器可以是整体式服务器或是跨多计算机或计算机数据中心的分散式服务器。服务器可以是各种类型的,例如但不限于,网络服务器,新闻服务器,邮件服务器,消息服务器,广告服务器,文件服务器,应用服务器,交互服务器,数据库服务器,或代理服务器。在一些实施例中,每个服务器可以包括硬件,软件,或用于执行服务器所支持或实现的合适功能的内嵌逻辑组件或两个或多个此类组件的组合。例如,服务器例如刀片服务器、云端服务器等,或者可以是由多台服务器组成的服务器群组,可以包括上述类型的服务器中的一种或多种等等。
在一个实施例中,日志打印设备2000可以如图1所示,包括处理器2100、存储器2200、接口装置2300、通信装置2400、显示装置2500、输入装置2600。
在另外的实施例中,日志打印设备2000还可以包括扬声器、麦克风等等,在此不做限定。
处理器2100可以是专用的服务器处理器,也可以是满足性能要求的台式机处理器、移动版处理器等,在此不做限定。存储器2200例如包括ROM(只读存储器)、RAM(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置2300例如包括各种总线接口,例如串行总线接口(包括USB接口)、并行总线接口等。通信装置2400例如能够进行有线或无线通信。显示装置2500例如是液晶显示屏、LED显示屏触摸显示屏等。输入装置2600例如可以包括触摸屏、键盘等。
本实施例中,日志打印设备2000的存储器2200用于存储指令,处理器2100用于根据指令的控制进行操作以执行根据本发明任意实施例的日志打印方法。技术人员可以根据本发明所公开方案设计指令。指令如何控制处理器2100进行操作,这是本领域公知,故在此不再详细描述。
尽管在图1中示出了日志打印设备2000的多个装置,但是,本发明可以仅涉及其中的部分装置,例如,日志打印设备2000只涉及存储器2200、处理器2100、通信装置2400和显示装置2500。
日志记录设备3000可以是需要通过运行程序执行功能操作的任意电子设备,其可以是各种车辆,例如可以是图1中所示的自行车,也可以是三轮车、电动助力车、摩托车以及四轮乘用车等各种形态,在此不做限定。
如图1所示,日志记录设备3000可以包括处理器3100、存储器3200、接口装置3300、通信装置3400、显示装置3500、输入装置3600、扬声器3700、麦克风3800,等等。其中,处理器3100可以是微处理器MCU等。存储器3200例如包括ROM(只读存储器)、RAM(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置3300例如包括USB接口、耳机接口等。通信装置3400例如能够进行有线或无线通信,又例如能够进行短距离和远程通信。输出装置3500例如可以是输出信号的装置,可以显示装置,例如液晶显示屏、触摸显示屏等,也可以是扬声器等输出语音信息等。输入装置3600例如可以包括触摸屏、键盘等,也可以是麦克风输入语音信息。
尽管在图1中示出了日志记录设备3000的多个装置,但是,本发明可以仅涉及其中的部分装置,例如,日志记录设备3000只涉及通信装置3400、存储器3200和处理器3100。
网络4000可以是无线通信网络也可以是有线通信网络,可以是局域网也可以是广域网。在图1所示的日志***100中,日志记录设备3000与日志打印设备2000,日志设置设备1000与日志打印设备2000,可以通过网络4000进行通信。此外,日志记录设备3000与日志打印设备2000,以及日志设置设备1000与日志打印设备2000之间通信所基于的网络4000可以是同一个,也可以是不同的。
应当理解的是,尽管图1仅示出一个日志设置设备1000、日志打印设备2000、日志记录设备3000,但不意味着限制各自的数量,日志***100中可以包含多个日志设置设备1000,多个日志打印设备2000,多个日志记录设备3000中的任意一项或者多项。
<方法实施例>
图2是根据本发明实施例的日志设置方法的流程示意图,该方法由日志设置设备1000实施。
步骤S2100,日志设置设备1000获取针对日志记录设备3000开发的源文件。
源文件为用汇编语言或者高级语言编写出来的代码保存为文件后的结果,该高级语言例如但不限于是Java语言、C语言、C++语言和Python语言。例如,用C语言编写出来的代码保存为文件后,该文件的文件名后缀为.c,则文件名后缀为.c的文件为源文件;又例如,用C++语言编写出来的代码保存为文件后,该文件的文件名后缀为.cpp文件,则文件名后缀为.cpp的文件为源文件。
设计人员可以根据对目标设备(日志记录设备)的功能设置开发源文件,并为具有不同功能设置的日志记录设备3000开发不同的源文件,该种开发方式充分考虑不同功能设置的日志记录设备3000之间的差异性。例如,通过日志记录设备分别为共享汽车和共享电动车各自开发一套源文件。对于不同的源文件,其中的日志语句可以相同,也可以不同。
本实施例中,日志设置设备1000可以将针对日志记录设备3000开发的源文件保存在本地文件夹,以从本地文件夹中获取针对日志记录设备3000开发的源文件。
步骤S2200,日志设置设备1000提取源文件中日志的日志字段信息。
对源文件进行编译的过程可以为:对源文件进行预处理->编译预处理后的源文件,生成目标文件->链接目标文件,生成可执行文件。本实施例中的日志设置设备1000可以是在对源文件进行预处理时,提取源文件中日志的日志字段信息。
源文件中包括对应功能实现的主程序语句及***在主程序语句中的多条日志,或者称为日志语句,这样,日志记录设备3000在运行编译源文件得到的可执行文件时,便可在可执行文件的控制下记录并存储日志信息。
每条日志包括用于设置该日志的模板函数、日志字段信息和日志变量信息,其中,该日志字段信息为对该日志中的日志变量信息的解释信息,例如,该日志字段信息可以包括对日志变量信息的信息类型定义,以及,对日志变量信息的输出数据格式的格式定义中的至少一个。
例如,LOG_DEBUG_PRINT(“RECV DATA TYPE:%04X,DATA LENGTH:%d,RECVPATH:%d\r\n”,packet_p.pt,recv_data_len,recv_data_recv_path)可以表示为一条日志,其中,LOG_DEBUG_PRINT表示设置该日志的模板函数,packet_p.pt、recv_data_len和recv_data_recv_path表示该日志中的三个不同的日志变量信息,RECV DATA TYPE:%04X、DATA LENGTH:%d和RECV PATH:%d分别表示该日志中的上述三个变量信息对应的日志字段信息,即packet_p.pt表示RECV DATA TYPE(RECV数据类型),recv_data_len表示DATALENGTH(数据长度),recv_data_recv_path表示RECV PATH(RECV路径),%04X表示以十六进制形式输出packet_p.pt,%d表示以十进制形式输出recv_data_len和recv_data_recv_path。
本实施例中,日志设置设备1000可以直接从源文件中提取该源文件中日志的日志字段信息。例如,可以采用python做信息预处理,通过语法分析搜索源文件中的日志,并提取日志中的日志字段信息。
步骤S2300,日志设置设备1000加密日志字段信息,获得密文信息。
本实施例中,由于密文信息为加密后的日志字段信息,因此,可以直接用密文信息替换源文件中的日志字段信息便可获得加密后的源文件,进而将加密后的源文件进行编译获得可执行文件,最终由程序设计人员将可执行文件烧录在日志记录设备3000中。
在一个例子中,该步骤S2300中加密日志字段信息,获得密文信息可以进一步包括:对日志字段信息进行哈希处理,获得密文信息。
在例子中,可以利用加密哈希函数对日志字段信息进行哈希处理,以获得密文信息。
上述加密哈希函数可以是能够实现哈希(hash)处理的任意函数,例如但不限于是MD5消息摘要算法、数字签名算法(Digital Signature Algorithm,DSA)和PBKDF2算法。
上述密文信息可以是字符串信息,例如为dccbsfg,也可以是字符和数字的组合信息,例如为f4dcc3b5aa,在此不做限定。
该例子中,可以是对日志中的日志字段信息进行整体哈希处理,得到对应的密文信息。
例如,该条日志中的日志字段信息为:“RECV DATA TYPE:%04X,DATA LENGTH:%d,RECV PATH:%d”,对上述日志字段信息进行整体哈希处理,得到一个密文信息“937d3cd”,该密文信息为字符和数字的组合。
该例子中,也可以是对日志中的各个日志字段信息分别进行哈希处理,得到与各个日志字段信息一一对应的密文信息。例如,可以是采用相同的加密哈希函数对一条日志中的不同日志字段信息分别进行哈希处理。又例如,也可以是采用不同的加密哈希函数对一条日志中的不同日志字段信息分别进行哈希处理。
根据该例子,通过将日志字段信息加密成哈希值,由于哈希值的存储空间远小于日志字段信息的存储空间,从而,这一方面可以在保证日志信息的完整性的前提下减少数据量,进而使得日记记录设备3000能够将记录的日志信息存储在存入较小的flash中,另一方面可以对关键信息脱敏,保证信息传递的安全性。
在一个例子中,该步骤S2300中加密日志字段信息,获得密文信息还可以进一步包括:将日志字段信息的至少部分信息作为加密种子参与加密处理,获得密文信息。
加密种子为参与加密计算的数值。
该例子中,可以将日志字段信息的至少部分信息作为或者生成加密种子,以对该日志字段信息进行加密处理。在此,由于不同的日志中,日志字段信息会发生变化,因此,将日志字段信息的至少部分信息作为或者生成加密种子参与加密处理,可以提高加密的随机性,进而增加破解的难度。
在另外的例子中,加密种子也可以为固定数值,不同日志可以采用相同的加密种子对自身的日志字段信息进行加密处理,也可以采用不同的加密种子对自身的日志字段信息进行加密处理,在此不做限定。
在一个例子中,该步骤S2300中加密日志字段信息,获得密文信息还可以进一步包括:对源文件中的每条日志分别进行加密,获得与每条日志一一对应的密文信息,其中,对于同一条日志的各日志字段信息进行整体加密,得到对应的密文信息。
例如,同一条日志中的日志字段信息为:“RECV DATA TYPE:%04X,DATALENGTH:%d,RECV PATH:%d”,对上述日志字段信息进行整体加密,得到密文信息“937d3cd”。
根据该例子,通过对同一条日志的各日志字段信息进行整体加密,得到对应的密文信息,以进行整体替换,减少加密处理量。
步骤S2400,日志设置设备1000根据日志字段信息与密文信息之间的映射关系,形成解密文件。
在步骤S2300中,日志设置设备1000在对日志字段信息进行加密获得密文信息时,便可同时获知日志字段信息与密文信息之间的映射关系。这样,在步骤S2400中,日志设置设备1000就可以根据该映射关系形成解密文件,即,解密文件能够反映日志字段信息与密文信息之间的映射关系。
根据该步骤S2400获得的解密文件可以供日志打印设备2000解密日志文件中的密文信息。
本实施例中,解密文件可以保存有该源文件中的每条日志对应的密文信息。
例如,日志字段信息为:“RECV DATA TYPE:%04X,DATA LENGTH:%d,RECVPATH:%d”,密文信息为:937d3cd,则在解密文件中体现“937d3cd”映射于“RECV DATATYPE:%04X,DATA LENGTH:%d,RECV PATH:%d”。
又例如,该解密文件也可以是提供表示加密方式的解密信息,该解密信息例如包括加密所采用的加密算法、加密因子等。这样,日志打印设备2000便可以根据该解密文件对加密信息进行解密运算,以得到对应的日志字段信息。步骤S2500,日志设置设备1000将源文件中的日志字段信息替换为密文信息,获得加密后的源文件。
例如,日志字段信息为“RECV DATA TYPE:%04X,DATA LENGTH:%d,RECV PATH:%d”,密文信息为:937d3cd,可以是用937d3cd替换源文件中的“RECV DATA TYPE:%04X,DATALENGTH:%d,RECV PATH:%d”。
步骤S2600,日志设置设备1000编译加密后的源文件,获得可执行文件供烧录在日志记录设备3000中。
在本实施例中,日志设置设备1000可以是编译加密后的源文件,生成目标文件,链接目标文件,生成可执行文件,以将可执行文件烧录在日志记录设备3000中,这样,日志记录设备3000便可在运行可执行文件的过程中记录日志信息。在此,由于可执行文件中仅对日志的日志字段信息进行了加密处理,因此,日志记录设备3000依然可以通过识别日志模板准确地进行日志记录,进而不会因加密处理而对日志记录设备3000的运行方式带来任何改变。
根据本实施例的方法,其在获取到针对日志记录设备开发的源文件后,将对源文件中日志的日志字段信息进行加密,以获得加密后的源文件,最终编译该加密后的源文件,得到对应的可执行文件,并将该可执行文件烧录在日志记录设备中执行日志记录操作。在此,由于本发明实施例将源文件中的日志字段信息替换为对应的密文信息得到了加密后的源文件再进行编译,这样,日志记录设备3000根据可执行文件记录的日志中,将不会显示各字段数据所对应的字段定义的明文,因此,根据打印日志得到的日志文件将无法获悉数据含义,进而实现了关键信息的脱敏,提高了传输日志信息的安全性。另外,本发明实施例的方法没有改变源文件及日志的整体架构,对开发流程和开发成本没有任何影响。
在一个实施例中,参照图3,本发明实施例的日志设置方法还可以包括:
步骤S3100,日志设置设备1000检测当前的文件处理模式。
文件处理模式可以包括加密模式和非加密模式。该当前的文件处理模式可以是加密模式或者非加密模式。
步骤S3200,日志设置设备1000在当前的文件处理模式为加密模式的情况下,再执行提取源文件中日志的日志字段信息的步骤。
根据步骤S3100~S3200可知,该实施例在检测到当前的文件处理模式为加密模式的情况下,才执行提取源文件中日志的日志字段信息的步骤,从而支持多种处理模式,这样,操作人员便可以灵活地选择所需的处理模式。
在一个实施例中,参照图4,本发明实施例的日志设置方法还可以包括:
步骤S5100,在当前的文件处理模式为非加密模式的情况下,直接编译源文件,以获得对应的可执行文件供烧录在日志记录设备中。
根据该步骤S5100,在当前的文件处理模式为非加密模式的情况下,日志设置设备1000可以是编译源文件,生成目标文件,链接目标文件,生成可执行文件,以将可执行文件烧录在日志记录设备中。
根据步骤S5100可知,该实施例在当前的文件处理模式为非加密模式的情况下,直接编译源文件,即按照现有的方式对日志进行设置,从而,针对不同的文件处理模式对日志进行不同方式的设置,提高灵活性。
在一个实施例中,本发明实施例的日志设置方法还可以包括:
步骤S4100,日志设置设备1000响应于文件处理模式的设置操作,提供设置入口。
该设置入口可以是输入框、下拉列表、语音输入等,例如,设计人员可以通过输入框输入“加密模式”或者“非加密模式”;又例如,程设计人员可以通过下拉列表选择“加密模式”或者“非加密模式”;又例如,设计人员可以语音输入“加密模式”或者“非加密模式”。
步骤S4200,日志设置设备1000获取通过设置入口输入的文件处理模式。
例如,输入加密模式或者非加密模式。
步骤S4300,日志设置设备1000更新当前的文件处理模式为输入的文件处理模式。
根据该步骤S4300,如果当前的文件处理模式为非加密模型,日志设置设备1000可以根据设置操作将非加密模式更新为加密模式;如果当前的文件处理模式为加密模式,日志设置设备1000可以根据设置操作将加密模式更新为非加密模式。
根据步骤S4100~S4300可知,该例子提供人机交互接口,以支持程序设计人员根据当前的实际需要选择所需要的文件处理模式,实现定制化设计。
图5是根据本发明实施例的日志打印方法的流程示意图,该方法由日志打印设备2000实施。
步骤S6100,日志打印设备2000打印日志记录设备3000记录的日志文件。
日志记录设备3000可以是根据日志设置设备1000提供的可执行文件记录自身的日志文件,这也可以理解为是,当程序设计人员将日志设置设备1000获得的可执行文件烧录在日志记录设备3000中之后,日志记录设备3000运行可执行文件,以完成自身日志文件的记录。
日志打印设备2000可以是通过有线或者无线的方式与日志记录设备3000建立通信连接,以从日志记录设备3000中获得日志文件,并打印该日志文件。
在本实施例中,日志文件中每条日志的日志字段信息为密文信息,这也可以理解为是,日志设置设备1000加密每条日志的日志字段信息,得到对应每条日志的日志字段信息的密文信息,日志打印设备2000打印出来的日志文件中包括每条日志的日志字段信息对应的密文信息。
步骤S6200,日志打印设备2000获取反映日志字段信息与密文信息之间的映射关系的解密文件。
在一个例子中,日志打印设备2000可以是通过有线或者无线的方式与日志设置设备1000建立通信连接,以从日志设置设备1000中获取反映日志字段信息与密文信息之间的映射关系的解密文件。
在该例子中,可以是日志打印设备2000向日志设置设备1000发送获取解密文件的请求信息,请求日志设置设备1000发送反映日志字段信息与密文信息之间的映射关系的解密文件。
在该例子中,也可以是在日志设置设备1000建立日志字段信息与密文信息之间的映射关系,形成解密文件之后,主动将该解密文件发送给日志打印设备2000。
在该例子中,也可以是在日志设置设备1000建立日志字段信息与密文信息之间的映射关系,形成解密文件之后,程序设计人员将该解密文件拷贝到移动硬盘中,以通过该移动硬盘将解密文件拷贝到日志打印设备2000中。
在本实施例中,由于解密文件能够反映日志字段信息与密文信息之间的映射关系,因此,通过解密文件解密打印得到的日志文件,便可获得日志文件中与密文信息对应的日志字段信息,进而使得日志文件可读。
步骤S6300,日志打印设备2000根据解密文件,解密日志文件中的密文信息,得到解密后的日志文件。
根据本实施例的方法,其可以获取反映日志的日志字段信息与密文信息之间的映射关系的解密文件,并根据解密文件解密日志文件中的密文信息,从而得到解密后的日志文件。在此,由于本发明实施例对日志的日志字段信息进行了加密和对应的解密处理,因此,可以保证日志文件在传输过程中的安全性。
<例子>
图6为根据本发明实施例的日志设置设备1000、日志打印设备2000以及日志记录设备3000之间的交互过程的示意性流程图。
根据图6所示,本实施例的交互过程可以包括如下步骤:
步骤S7110,日志设置设备1000获取针对日志记录设备3000开发的源文件。
步骤S7120,日志设置设备1000检测当前的文件处理模式。
步骤S7130,日志设置设备1000在当前的文件处理模式为加密模式的情况下,提取源文件中日志的日志字段信息。
根据该步骤S7130,日志设置设备1000在当前的文件处理模式为非加密模式的情况下,直接编译源文件,以获得对应的可执行文件供烧录在日志记录设备3000中
步骤S7140,日志设置设备1000加密日志字段信息,获得密文信息和解密文件,其中,该解密文件反映。日志字段信息与密文信息之间的映射关系。
步骤S7150,日志设置设备1000将源文件中的日志字段信息替换为密文信息,获得加密后的源文件。
步骤S7160,日志设置设备1000编译加密后的源文件,获得可执行文件。
步骤S7170,将日志设置设备1000提供的可执行文件烧录到日志记录设备3000中。
步骤S7210,日志记录设备3000运行可执行文件,记录日志文件,并通过与日志打印设备2000之间建立的通信连接将该日志文件发送至日志打印设备2000中。
步骤S7310,日志打印设备2000打印日志记录设备3000记录的日志文件。
步骤S7320,日志打印设备2000通过与日志设置设备1000之间建立的通信连接,从日志设置设备1000中获取反映日志字段信息与密文信息之间的映射关系的解密文件。
步骤S7330,日志打印设备2000根据解密文件,解密日志文件中的密文信息,得到解密后的日志文件。
<装置实施例>
图7是根据本发明实施例的日志设置设备的原理框图。
根据图7所示,本实施例的志设置设备1000包括源文件获取模块6100、信息提取模块6200、加密模块6300、解密文件形成模块6400、替换模块6500和编译模块6600。
该源文件获取模块6100用于获取针对日志记录设备开发的源文件。
该信息提取模块6200用于提取所述源文件中日志的日志字段信息。
该加密模块6300用于加密所述日志字段信息,获得密文信息。
该解密文件形成模块6400用于根据日志字段信息与密文信息之间的映射关系,形成解密文件供日志打印设备解密该密文信息。
该替换模块6500用于将所述源文件中的所述日志字段信息替换为所述密文信息,获得加密后的源文件。
该编译模块6600用于编译所述加密后的源文件,获得可执行文件供烧录在所述日志记录设备中。
在一个例子中,该加密模块6300可以用于对日志字段信息进行哈希处理,获得该密文信息。
在一个例子中,该加密模块6300可以用于将该日志字段信息的至少部分信息作为加密种子参与加密处理,获得密文信息。
在一个例子中,该加密模块6300可以用于对所述源文件中的每条日志分别进行加密,获得与所述每条日志一一对应的密文信息,其中,对于同一条日志的各日志字段信息进行整体加密,得到对应的密文信息。
在一个例子中,该日志设置设备1000还可以包括模式检测模块(图中未示出)。该模式检测模块用于:检测当前的文件处理模式;以及,在当前的文件处理模式为加密模式的情况下,再通知信息提取模块6200执行提取源文件中日志的日志字段信息的步骤。
在一个例子中,上述模式检测模块还用于在当前的文件处理模式为非加密模式的情况下,通知编译模块6600直接编译该源文件,以获得对应的可执行文件供烧录在日志记录设备中。
在一个例子中,该日志设置设备1000还可以包括模式设置模块(图中未示出)。该模式设置模块用于:响应于文件处理模式的设置操作,提供设置入口;获取通过设置入口输入的文件处理模式;以及,更新当前的文件处理模式为输入的文件处理模式。
在另一个实施例中,参见图1所示,日志设置设备1000可以包括存储器1200和处理器1100,存储器1200用于存储可执行的指令;处理器1100用于根据该指令的控制进行操作以执行根据本发明任意实施例的日志设置方法。
图8是根据本发明实施例的日志打印设备的原理框图。
根据图8所示,本实施例的日志打印设备2000可以包括打印模块7100、解密文件获取模块7200和解密模块7300。
该打印模块7100用于打印日志记录设备记录的日志文件,其中,日志文件中每条日志的日志字段信息为密文信息;
该解密文件获取模块7200用于获取反映日志字段信息与密文信息之间的映射关系的解密文件。
该解密模块7300用于根据该解密文件,解密日志文件中的密文信息,得到解密后的日志文件。
在另一个实施例中,参见图1所示,日志打印设备2000可以包括存储器2200和处理器2100,存储器2200用于存储可执行的指令;处理器2100用于根据该指令的控制进行操作以执行根据本发明任意实施例的日志打印方法。
<***实施例>
在本实施例中,还提供了一种日志***100,如图9所示,其包括根据本发明任意实施例的日志设置设备,例如,如图1所示的日志设置设备1000,根据本发明任意实施例的日志打印设备,例如,如图1所示的日志打印设备2000,以及根据本发明任意实施例的日志记录设备,例如,如图1所示的日志记录设备3000(车辆),该日志设置设备1000编译加密后的源文件得到的可执行文件被烧录在日志记录设备3000中,该日志设置设备1000建立的解密文件存储在日志打印设备2000中。
本发明可以是***、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(***)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。本发明的范围由所附权利要求来限定。