一种程序文件调用方法、装置以及存储介质与流程

文档序号:27977311发布日期:2021-12-15 01:07阅读:87来源:国知局
一种程序文件调用方法、装置以及存储介质与流程

1.本技术涉及汽车技术领域,尤其涉及一种程序文件调用方法、装置以及存储介质。


背景技术:

2.汽车诊断设备是一种针对汽车检测的专业设备,通过汽车诊断设备可实时检测车辆的性能,并可对车辆故障进行检测。汽车诊断设备中的应用程序运行时,会产生很多的诊断数据,应用程序将获取的诊断数据转换成用户可识别的文字或图形的一种特殊文件,这些诊断数据文件通常都是储存在本地储存空间内。
3.汽车诊断设备中的应用程序运行时能够使用的内存是有限的,比如在标准的32位操作系统中,理论上用于支持应用程序运行的最大内存空间是4g,而实际程序运行过程时,能够占用的内存空间远不到4g。由于汽车诊断过程中会产生有很多数据,例如协议数据、刷写数据,如果诊断过程中产生的数据量比较大,已经超过程序能够使用的最大内存空间量,应用程序就无法一次性将诊断数据文件中的数据内容加载到相关程序所开辟的内存中,另外,如果因加载诊断数据文件而占用太多内存,那么程序很可能会陷入瘫痪状态。所以,当产生的数据量比较大时,可以选择将数据文件存放在磁盘中,但是不过对数据文件不做处理直接存放在磁盘中,这样会造成数据信息泄露的隐患问题,文件数据的安全性较差。


技术实现要素:

4.本技术提供了一种程序文件调用方法、装置以及存储介质,用于调用程序文件,提高文件处理的安全性。
5.为实现上述目的,本技术第一方面公开了一种程序文件调用方法包括:
6.获取程序文件调用指令;
7.根据所述调用指令获取目标程序文件集合,所述目标程序文件集合包括至少一个序号文件;所述目标程序文件集合记录了源文件编码符的位置序号;
8.根据所述位置序号确定对应的编码符;
9.使用编码符替换位置序号,生成目标调用文件;
10.调用所述目标调用文件以运行程序。
11.可选的,在所述根据所述调用指令获取目标程序文件集合之前,所述方法还包括:
12.获取程序的源文件;
13.提取源文件中的编码符;
14.为所述编码符创建变量字段,每一个变量字段对应一个不同的编码符;
15.使用所述变量字段存储对应的编码符。
16.可选的,在所述根据所述调用指令获取目标程序文件集合之前,所述方法包括:
17.遍历所述源文件中具有相同数据的第一编码符;
18.确定所述第一编码符在所述源文件中的位置序号;
19.根据所述位置序号生成所述序号文件,所述序号文件包括文件标识。
20.可选的,在所述根据所述调用指令获取目标程序文件集合之前,所述方法包括:
21.遍历所述源文件的全部编码符;
22.根据不同数据的编码符生成不同的序号文件;
23.集合所述不同的序号文件生成目标程序文件集合。
24.可选的,在所述根据所述调用指令获取目标程序文件集合之前,所述方法包括:
25.根据所述文件标识建立所述序号文件与变量字段的映射关系。
26.可选的,所述根据所述位置序号确定对应的编码符,具体包括:
27.确定所述位置序号所属的序号文件;
28.提取所述序号文件的文件标识;
29.根据所述序号文件与变量字段的映射关系确定对应的目标变量字段;
30.提取所述目标变量字段存储的目标编码符;
31.确定所述目标编码符为所述位置序号对应的编码符。
32.本技术第二方面提供了一种程序文件调用装置,所述装置包括:
33.第一获取单元,用于获取程序文件调用指令;
34.第二获取单元,用于根据所述调用指令获取目标程序文件集合,所述目标程序文件集合包括至少一个序号文件;所述目标程序文件集合记录了源文件编码符的位置序号;
35.确定单元,用于根据所述位置序号确定对应的编码符;
36.替换单元,用于使用编码符替换位置序号,生成目标调用文件;
37.调用单元,用于调用所述目标调用文件以运行程序。
38.可选的,所述装置还包括:第一处理单元,所述第一处理单元用于:
39.获取程序的源文件;
40.提取源文件中的编码符;
41.为所述编码符创建变量字段,每一个变量字段对应一个不同的编码符;
42.使用所述变量字段存储对应的编码符。
43.本技术第三方面提供了一种程序文件调用装置,所述装置包括:
44.处理器、存储器、输入输出单元以及总线;
45.所述处理器与所述存储器、所述输入输出单元以及所述总线相连;
46.所述存储器保存有程序,所述处理器调用所述程序以执行第一方面以及第一方面中任一项可选的所述方法。
47.本技术第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质上保存有程序,所述程序在计算机上执行时执行第一方面以及第一方面中任一项可选的所述方法。
48.从以上技术方案可以看出,本技术具有以下优点:
49.本技术提供的程序文件调用方法中,终端在调用文件时,获取的程序文件集合中包括有至少一个序号文件;所述目标程序文件集合记录了源文件编码符的位置序号;终端根据所述位置序号确定对应的编码符;使用编码符替换位置序号,生成目标调用文件;调用所述目标调用文件以运行程序。通过该方法可以将序号文件转换为目标调用文件,提升了调用文件的安全性。
附图说明
50.为了更清楚地说明本技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
51.图1为本技术中提供的程序文件调用方法的一个实施例流程示意图;
52.图2为本技术中提供的程序文件调用方法的另一个实施例流程示意图;
53.图3为本技术中提供的程序文件调用装置的一个实施例结构示意图;
54.图4为本技术中提供的程序文件调用装置的另一个实施例结构示意图。
具体实施方式
55.汽车诊断设备中的应用程序运行时能够使用的内存是有限的,比如在标准的32位操作系统中,理论上用于支持应用程序运行的最大内存空间是4g,而实际程序运行过程时,能够占用的内存空间远不到4g。由于汽车诊断过程中会产生有很多数据,例如协议数据、刷写数据,如果诊断过程中产生的数据量比较大,已经超过程序能够使用的最大内存空间量,应用程序就无法一次性将诊断数据文件中的数据内容加载到相关程序所开辟的内存中,另外,如果因加载诊断数据文件而占用太多内存,那么程序很可能会陷入瘫痪状态。所以,当产生的数据量比较大时,可以选择将数据文件存放在磁盘中,但是不过对数据文件不做处理直接存放在磁盘中,这样会造成数据信息泄露的隐患问题,文件数据的安全性较差。
56.基于此,下面将结合本技术中的附图,对本技术中的技术方案进行清楚、完整地描述。
57.需要说明的是,本技术提供的程序文件调用方法,可以应用于终端也可以应用于系统,还可以应用于服务器上,例如终端可以是智能手机或电脑、平板电脑、智能电视、智能手表、便携计算机终端也可以是台式计算机等固定终端。为方便阐述,本技术中以终端为执行主体进行举例说明。
58.在汽车诊断过程中,会产生很多的数据文件,这些文件中的数据内容通常是以某一种指定数制形式存在的数据,比如有二进制、八进制、十进制、十六进制等,在本技术中以诊断数据为十六进制的数据为例说明。
59.本技术第一方面公开了一种程序文件调用的方法,请参阅图1,图1为本技术提供的一种程序文件调用方法一个实施例流程示意图,该方法包括如下步骤:
60.101、获取程序文件调用指令。
61.102、根据调用指令获取目标程序文件集合,目标程序文件集合包括至少一个序号文件;目标程序文件集合记录了源文件编码符的位置序号。
62.终端获取程序文件调用指令后,根据该调用指令获取目标程序文件集合,本技术中的目标程序文件集合中包括有至少一个序号文件,该目标程序文件集合记录了源文件编码符的位置序号,在实际中,一个源文件包含有多个源文件的编码符,每一个编码符都有唯一对应的位置序号,例如在汽车诊断中,ecu刷写时,一般需要按顺序一次发送4095个字节的数据,其中就包含4095个编码符,对应的,编码符的位置序号就可以是0~4094。
63.103、根据位置序号确定对应的编码符。
64.终端根据位置序号确定对应的编码符,例如:如果确定位置序号为0~4094,那么确定出0~至4094所对应的全部编码符。
65.在一种可能的实现方式中,根据位置序号确定对应的编码符,具体可以是:确定位置序号所属的序号文件;提取序号文件的文件标识;根据序号文件与变量字段的映射关系确定对应的目标变量字段;提取目标变量字段存储的目标编码符;确定目标编码符为位置序号对应的编码符。
66.104、使用编码符替换位置序号,生成目标调用文件。
67.终端使用编码符替换位置序号,生成目标调用文件,得到的目标调用文件中,各个编码符按照对应的位置序号进行排序,得到可以被调用的目标调用文件。
68.105、调用目标调用文件以运行程序。
69.终端调用该目标调用文件以运行相应的程序。
70.本技术提供的程序文件调用方法中,终端在调用文件时,获取的程序文件集合中包括有至少一个序号文件;所述目标程序文件集合记录了源文件编码符的位置序号;终端根据所述位置序号确定对应的编码符;使用编码符替换位置序号,生成目标调用文件;调用所述目标调用文件以运行程序。通过该方法可以将序号文件转换为目标调用文件,提升了调用文件的安全性。
71.本技术中,目标程序文件集合中包括有至少一个序号文件,该目标程序文件集合记录了源文件编码符的位置序号,该目标程序文件集合可以由终端预先构建,具体的,下面将结合附图对该实施例进行详细说明。
72.请参阅图2,图2为本技术中提供的一种程序文件调用方法的另一个实施例流程示意图,该实施例包括:
73.201、获取程序的源文件。
74.假设汽车诊断过程中产生的源数据文件是以十六进制的数制形式生成的指令数据,例如0x00、0x05、0x3d、0x7f、0xff等。那么源文件中包含的编码符就是0~f的十六进制数字,ecu刷写文件由0~f的字符组成,在汽车诊断过程中,应用程序会将该文件中的字符进行组合,转化成16进制数,如:a4两个字符就对应0xa4;f5对应着0xf5,因此在基于诊断指令和刷写指令都是0x00~0xff的16进制数,文件中的编码符内容都是00~ff范围之间的16进制数,那么源文件中的编码符也均是00~ff范围之间的16进制数。
75.202、提取源文件中的编码符,并为编码符创建变量字段,每一个变量字段对应一个不同的编码符。
76.203、使用变量字段存储对应的编码符。
77.终端获取源文件后提取源文件中的编码符,并创建变量字段用于存储编码符,例如:在程序中新建变量【var_00】存储值为0x00的编码符。其中一个变量字段对应一个不同的编码符。
78.204、遍历源文件中具有相同数据的第一编码符,并确定该第一编码符在源文件中的位置序号。
79.205、根据位置序号生成序号文件,序号文件包括文件标识。
80.遍历源文件中具有相同数据的的第一编码符,确定该第一编码符在源文件中的位置序号。每一个源文件中有各种不同的编码符,为了实现本技术的数据安全传输的目的,可
以先将源文件进行转换成为序号文件集合。具体的,可以先找出源文件中的相同的编码符,然后根据该编码符的位置序号生成对应的序号文件。
81.例如:遍历所有值为“0x00”的编码符,同时新建一个文件【file_a】记录00在文件中出现的位置序号,文件【file_a】即为一个序号文件。
82.206、遍历源文件的全部编码符,根据不同数据的编码符生成不同的序号文件。
83.例如:在遍历值为“0x00”的编码符时,可以在程序中新建变量字段“var_00”存储值为0x00的编码符,通过新建一个文件【file_00】用于记录值为0x00的编码符在文件中出现的位置序号,当遍历值为“0x01”的编码符时,可以在程序中新建变量“var_01”存储值为0x01的编码符,再新建一个文件【file_01】用于记录值为0x01的编码符在文件中出现的位置序号,这样依次类推,当源数据文件的数据对象完全遍历之后,就建立了文件【file_00】、【file_01】......【fileff】等序号文件,并且各个序号文件中记录的是各个编码符在源文件中出现的位置序号,各个序号文件与编码符建立一一对应的映射关系。源文件的全部编码符就以序号文件的方式进行了重新组织。
84.在序号文件【file_00】中依次写入值为0x00的编码符在文件中出现的位置序号,当查找到值为0x01的编码符时,在序号文件【file_01】中写入值为0x01的编码符在文件中出现的位置序号,这样依次类推,文件【file_00】、“file_01”......【file_ff】等序号文件中均记录了编码符在源数据文件中依次出现的位置序号。
85.207、根据文件标识建立序号文件与变量字段的映射关系。
86.根据文件标识建立序号文件与变量字段的映射关系,该映射关系记录了序号文件中的位置序号所对应的编码符所位于的变量字段。
87.例如:在程序中新建变量【var_00】存储值为0x00的编码符,建立变量字段【var_00】与序号文件【file_a】的映射关系。
88.208、集合不同的序号文件生成目标程序文件集合。
89.将所有不同的序号文件进行集合,生成目标程序文件集合。
90.在生成目标程序文件集合之后,可以删除源文件,将源数据文件删除,只保留目标程序文件集合,非法用户即使得到该目标程序文件,也难以破解得到有效的数据。
91.209、获取程序文件调用指令。
92.210、根据调用指令获取目标程序文件集合,目标程序文件集合包括至少一个序号文件;目标程序文件集合记录了源文件编码符的位置序号。
93.例如:请参阅步骤205,序号文件【file_00】中依次写有值为00的编码符在文件中出现的位置序号,在序号文件【file_01】中写有01在文件中出现的位置序号,【file_00】、“file_01”......【file_ff】等序号文件中均记录了源文件编码符在源数据文件中依次出现的位置序号。
94.211、根据位置序号确定对应的编码符。
95.由于编码符和序号文件建立了一一对应的映射关系,而序号文件中记录了该编码符的位置序号,因此可以根据该位置序号来确定对应的编码符。
96.212、使用编码符替换位置序号,生成目标调用文件。
97.213、调用目标调用文件以运行程序。
98.本实施例中,步骤212至步骤213与前述实施例中步骤104至步骤105类似,此处不
再赘述。
99.本实施中,使用变量字段存储源文件中的编码符,并且通过序号文件记录各个编码符在源文件中的位置序号,进而建立序号文件与变量字段的映射关系,在进行文件的还原过程中,通过该映射关系可以还原出每一个编码符在源文件中的位置序号,进而能够将目标程序文件还原为位置序号,本实施例提供的方法,可以使得源文件不直接暴露于磁盘中,极大程度提高了数据的安全性,在进行汽车诊断时,可以将明文的诊断数据转化成序号文件,用户即使得到序号文件,也无法破解有效数据。通过程序中形成的映射关系,很容易获取原始数据的顺序组合,能够很好获取指定数据进行诊断。
100.为了更清楚的对本技术提供的方法进行阐述,下面将举例进行说明:
101.在实际应用中,诊断指令和刷写指令都是0x00~0xff的16进制数,以刷写文件为例,假如刷写文件中都是00~ff范围之间的16进制数,那么,详细步骤如下:
102.首先遍历所有值为“0x00”的编码符,同时新建一个文件【file_a】记录值为0x00的编码符在文件中出现的序号,在程序中新建变量【var_00】存储值为0x00的编码符,建立变量【var_00】与file_a的映射。
103.依次遍历值为“0x01”、“0x02
”…“
0xff”的编码符,建立序号记录文件,和变量映射关系。
104.当值为0x00~0xff范围的编码符都遍历完成,删除原始刷写文件。这样,刷写文件就转化成了序号文件。
105.当程序需要使用源文件中某段数据或某个字节数据时,可以利用已有的变量和文件映射关系,按顺序组合指令进行诊断。例如,ecu刷写,一般按顺序一次发送4095个字节的数据,那么,通过遍历所有的序号文件,找出序号为0~4094的编码符,按顺序组合后,发送给ecu,
106.第二次,查找序号为4095~8189的数据,组合发送。
107.通过以上方法和步骤,可以转化诊断数据文件,防止数据信息泄露。同时,在程序相关映射加持下,可以很好的按顺序还原诊断文件数据。
108.上述实施例对本技术中提供的程序文件调用方法进行了详细阐述,下面将结合附图对本技术中提供的程序文件调用装置以及存储介质进行阐述。
109.请参阅图3,图3为本技术中提供的程序文件调用装置的一个实施例结构示意图,该实施例包括:
110.第一获取单元301,用于获取程序文件调用指令;
111.第二获取单元302,用于根据调用指令获取目标程序文件集合,目标程序文件集合包括至少一个序号文件;目标程序文件集合记录了源文件编码符的位置序号;
112.确定单元303,用于根据位置序号确定对应的编码符;
113.替换单元304,用于使用编码符替换位置序号,生成目标调用文件;
114.调用单元305,用于调用目标调用文件以运行程序。
115.可选的,装置还包括:第一处理单元306,第一处理单元306用于:
116.获取程序的源文件;
117.提取源文件中的编码符;
118.为编码符创建变量字段,每一个变量字段对应一个不同的编码符;
119.使用变量字段存储对应的编码符。
120.可选的,装置还包括:第二处理单元307,第三处理单元307用于:
121.遍历源文件中具有相同数据的第一编码符;
122.确定第一编码符在源文件中的位置序号;
123.根据位置序号生成序号文件,序号文件包括文件标识。
124.可选的,装置还包括:第三处理单元308,第三处理单元308用于:
125.遍历源文件的全部编码符;
126.根据不同数据的编码符生成不同的序号文件;
127.集合不同的序号文件生成目标程序文件集合。
128.可选的,装置还包括:第四处理单元309,第四处理单元309用于:
129.根据文件标识建立序号文件与变量字段的映射关系。
130.可选的,确定单元303具体用于:
131.确定位置序号所属的序号文件;
132.提取序号文件的文件标识;
133.根据序号文件与变量字段的映射关系确定对应的目标变量字段;
134.提取目标变量字段存储的目标编码符;
135.确定目标编码符为位置序号对应的编码符。
136.本技术还提供了一种程序文件调用装置,包括:
137.处理器401、存储器402、输入输出单元403、总线404;
138.处理器401与存储器402、输入输出单元403以及总线404相连;
139.存储器402保存有程序,处理器401调用程序以执行如上任一程序文件调用方法。
140.本技术还涉及一种计算机可读存储介质,计算机可读存储介质上保存有程序,其特征在于,当程序在计算机上运行时,使得计算机执行如上任一程序文件调用方法。
141.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
142.在本技术所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
143.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
144.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
145.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用
时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1