客制化软件的处理方法、嵌入式系统设备及存储介质与流程

文档序号:15462256发布日期:2018-09-18 18:26阅读:329来源:国知局

本发明涉及软件开发领域,尤其涉及一种客制化软件的处理方法、嵌入式系统设备及存储介质。



背景技术:

嵌入式应用软件是针对特定应用领域,基于某一固定的硬件平台,用来达到用户预期目标的计算机软件。由于用户任务可能有时间和精度上的要求,因此有些嵌入式应用软件需要特定嵌入式操作系统的支持。嵌入式应用软件和普通应用软件有一定的区别,它不仅要求其准确性、安全性和稳定性等方面能够满足实际应用的需要,而且还要尽可能地进行优化,以减少对系统资源的消耗,降低硬件成本。

在现有技术中,开发者进行嵌入式软件开发一般基于Linux或者安卓(Android)系统,系统本身提供将闪存(Flash)分成不同大小的区域,并按照功能进行挂载使用,但是无法将客制化存储区中的开发软件根据客户进行区分,从而无法保证开发软件的独立性。



技术实现要素:

本发明的主要目的在于提出一种客制化软件的处理方法、嵌入式系统设备及存储介质,旨在解决现有技术中无法对客制化软件进行区分的的技术问题。

为实现上述目的,本发明提供的一种客制化软件的处理方法,所述客制化软件的处理方法包括以下步骤:

嵌入式系统设备获取客制化软件,将所述客制化软件分为客制化代码和非客制化代码;

创建预设接口与所述非客制化代码进行通信的客制化存储区,并将所述客制化代码转化为预设通用格式;

接收写入指令,提取所述写入指令中的接口信息,根据所述接口信息在所述客制化存储区中查找对应的目标存储地址;

根据所述目标存储地址将所述客制化代码写入所述客制化存储区,并对写入后的客制化代码标上预设标签,从而通过所述预设标签进行目标软件的加载。

优选地,所述根据所述目标存储地址将所述客制化代码写入所述客制化存储区,并对写入后的客制化代码标上预设标签,从而通过所述预设标签进行目标软件的加载之前,所述客制化软件的处理方法还包括:

获取预设存储地址,根据所述预设存储地址对所述目标存储地址进行验证,在验证成功之后,执行根据所述目标存储地址将所述客制化代码写入所述客制化存储区的步骤。

优选地,所述获取预设目标存储地址,根据所述预设目标存储地址对所述目标存储地址进行验证,在验证成功之后,执行根据所述目标存储地址将所述客制化代码写入所述客制化存储区的步骤,具体包括:

提取所述接收写入指令中的用户标签信息,根据所述用户标签信息在预设关系映射表中查找与所述用户标签信息对应的预设存储地址,将所述预设存储地址与目标存储地址进行比较,在比较结果为一致时,根据所述目标存储地址将所述客制化代码写入所述客制化存储区。

优选地,所述根据所述目标存储地址将所述客制化代码写入所述客制化存储区,并对写入后的客制化代码标上预设标签,从而通过所述预设标签进行目标软件的加载,具体包括:

提取所述客制化代码中的私钥,根据所述私钥对所述客制化代码进行加密,将加密后客制化代码标上预设标签,从而通过所述预设标签进行目标软件的加载。

优选地,所述提取所述客制化代码中的私钥,根据所述私钥对所述客制化代码进行加密,将加密后客制化代码标上预设标签,从而通过所述预设标签进行目标软件的加载之后,所述客制化软件的处理方法还包括:

响应于客户端发送的软件加载指令,根据所述软件加载指令从预设存储区域中提取公钥,根据所述公钥对客制化存储区中的加密后的客制化代码进行验证,在验证结果为验证成功之后,授权客户端根据所述预设标签加载目标软件。

优选地,所述响应于客户端发送的软件加载指令,根据所述软件加载指令从预设存储区域中提取公钥,根据所述公钥对客制化存储区中的加密后的客制化代码进行验证,在验证结果为验证成功之后,授权客户端根据所述预设标签加载目标软件之前,所述客制化软件的处理方法还包括:

接收客户端的公钥保存指令,根据所述公钥保存指令将所述公钥进行保存。

优选地,所述嵌入式系统设备获取客制化软件,将所述客制化软件分为客制化代码和非客制化代码,具体包括:

嵌入式系统设备获取客制化软件,将所述客制化软件与预设代码进行比较,根据比较结果将所述客制化软件分为客制化代码和非客制化代码。

此外,为实现上述目的,本发明还提供一种嵌入式系统设备,所述嵌入式系统设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的客制化软件的处理程序,所述客制化软件的处理程序配置为实现如上文所述的客制化软件的处理方法的步骤。

此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有客制化软件的处理程序,所述客制化软件的处理程序被处理器执行时实现如上文所述的客制化软件的处理方法的步骤。

本发明提供的客制化软件的处理方法,本发明通过将客制化软件分为修改部分和不可修改部分,并将所述可修改部分通过分区进行管理并标上预设标签,客户可通过加载所述分区进行软件的使用,从而保证客制化软件的独立性。

附图说明

图1是本发明实施例方案涉及的硬件运行环境的嵌入式系统设备结构示意图;

图2为本发明客制化软件的处理方法第一实施例的流程示意图;

图3为本发明分区后的系统结构示意图;

图4为本发明客制化软件的处理方法第二实施例的流程示意图;

图5为本发明客制化软件的处理方法第三实施例的流程示意图;

图6为本发明客制化软件的处理方法第四实施例的流程示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

参照图1,图1为本发明实施例方案涉及的硬件运行环境的嵌入式系统设备结构示意图。

如图1所示,该嵌入式系统设备可以包括:处理器1001,例如CPU,通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WIFI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。

本领域技术人员可以理解,图1中示出的嵌入式系统设备结构并不构成对嵌入式系统设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

在图1所示的嵌入式系统设备中,网络接口1004主要用于连接网络,与网络进行数据通信;用户接口1003主要用于连接终端,与终端进行数据通信;本发明嵌入式系统设备通过处理器1001调用存储器1005中存储的客制化软件的处理程序,并执行以下操作:

获取客制化软件,将所述客制化软件分为客制化代码和非客制化代码;

创建预设接口与所述非客制化代码进行通信的客制化存储区,并将所述客制化代码转化为预设通用格式;

接收写入指令,提取所述写入指令中的接口信息,根据所述接口信息在所述客制化存储区中查找对应的目标存储地址;

根据所述目标存储地址将所述客制化代码写入所述客制化存储区,并对写入后的客制化代码标上预设标签,从而通过所述预设标签进行目标软件的加载。

进一步地,处理器1001可以调用存储器1005中存储的客制化软件的处理程序,还执行以下操作:

获取预设存储地址,根据所述预设存储地址对所述目标存储地址进行验证,在验证成功之后,执行根据所述目标存储地址将所述客制化代码写入所述客制化存储区的步骤。

进一步地,处理器1001可以调用存储器1005中存储的客制化软件的处理程序,还执行以下操作:

提取所述接收写入指令中的用户标签信息,根据所述用户标签信息在预设关系映射表中查找与所述用户标签信息对应的预设存储地址,将所述预设存储地址与目标存储地址进行比较,在比较结果为一致时,根据所述目标存储地址将所述客制化代码写入所述客制化存储区。

进一步地,处理器1001可以调用存储器1005中存储的客制化软件的处理程序,还执行以下操作:

提取所述客制化代码中的私钥,根据所述私钥对所述客制化代码进行加密,将加密后客制化代码标上预设标签,从而通过所述预设标签进行目标软件的加载。

进一步地,处理器1001可以调用存储器1005中存储的客制化软件的处理程序,还执行以下操作:

响应于客户端发送的软件加载指令,根据所述软件加载指令从预设存储区域中提取公钥,根据所述公钥对客制化存储区中的加密后的客制化代码进行验证,在验证结果为验证成功之后,授权客户端根据所述预设标签加载目标软件。

进一步地,处理器1001可以调用存储器1005中存储的客制化软件的处理程序,还执行以下操作:

接收客户端的公钥保存指令,根据所述公钥保存指令将所述公钥进行保存。

进一步地,处理器1001可以调用存储器1005中存储的客制化软件的处理程序,还执行以下操作:

嵌入式系统设备获取客制化软件,将所述客制化软件与预设代码进行比较,根据比较结果将所述客制化软件分为客制化代码和非客制化代码。

本实施例提供的所述客制化软件的处理方法,通过将客制化软件分为修改部分和不可修改部分,并将所述可修改部分通过分区进行管理并标上预设标签,客户可通过加载所述分区进行软件的使用,从而保证客制化软件的独立性。

基于图1硬件结构,提出本发明客制化软件的处理方法实施例。

参照图2,图2为本发明客制化软件的处理方法第一实施例的流程示意图。

在第一实施例中,所述客制化软件的处理方法包括以下步骤:

步骤S10,嵌入式系统设备获取客制化软件,将所述客制化软件分为客制化代码和非客制化代码。

需要说明的是,所述嵌入式系统设备可为装载有嵌入式系统的设备,所述嵌入式系统可为linux系统或安卓系统,还可为其他嵌入式系统,本实施例对此不作限制,所述嵌入式系统可将存储区域分成不同的区域,包括客制化存储区和非客制化存储区。

所述非客制化存储区为在当前存储区划分的用于存储软件通用代码的分区,可将通用代码存入所述非客制化存储区,从而可使开发人员进行使用,避免重复通用代码的开发,节省开发效率,例如Google产品的软件开发工具包(Software Development Kit,SDK)。

可以理解的是,所述嵌入式设备获取客制化软件,可通过指令获取客制化软件,例如开发人员通过软件开发平台选择对应的非客制化存储区进行软件开发,还可为通过特定的使用界面开始软件开发,还可为其他形式输入软件开发指令,本实施例对此不作限制。

步骤S20,创建预设接口与所述非客制化代码进行通信的客制化存储区,并将所述客制化代码转化为预设通用格式。

在具体实现中,通过预设接口将客制化存储区域非客制化存储区进行关联,在进行软件开发时,无需进行软件通用代码的编写,而可直接利用非客制化存储区中的软件通用代码,通过相应的接口在客制化存储区内进行非客制化软件的设计,从而提高软件开发效率。

可以理解的是,在本实施例中,所述非客制化存储区将软件通用代码进行标准化,从而通过预设接口可与客制化存储区进行通信,从而可使客制化软件的功能的实现。

图3为分区后的系统结构示意图,系统将闪存进行分区分为客制化存储区和非客制化存储区,其中,客户数据区为客制化存储区,非客制化存储区包括用户数据、浏览器文件、根文件、内核文件以及系统引导文件等不可修改软件部分,客户数据区可通过客户进行分区,例如客户定制的发光二极管(Light Emitting Diode,LED)控制文件、启动脚本、通用输入/输出控制以及空中下载文件等。

步骤S30,接收写入指令,提取所述写入指令中的接口信息,根据所述接口信息在所述客制化存储区中查找对应的目标存储地址。

需要说明的是,所述写入指令,可为开发者通过终端设备的软件平台界面输入源代码程序,还可为通过串口进行代码传输,还可为其他接入形式本实施例对此不作限制。

可以理解的是,在客户通过软件开发平台进行软件开发时,软件平台可对开发客户授权固定的地址,通过所述固定的地址进行软件存储,例如,在客制化存储区,将存储地址00001F-00128F分给客户A进行使用,将存储地址00129F-00256F分给客户B进行使用。

在具体实现中,通过在接入指令中提取到存储地址,根据所述存储地址在客制化存储区中查找到对应的地址,并通过所述地址进行相应的开发,从而实现软件开发的独立性。

为了实现软件开发的稳定性,在本实施例中,通过客户在对应的存储区进行软件开发,从而在不影响其他客户进行开发的基础上,实现客制化软件的开发。

步骤S40,根据所述目标存储地址将所述源代码写入所述客制化存储区,并对写入后的源代码标上预设标签,从而生成目标软件。

需要说明的是,所述标上预设标签可为对写入的源代码进行分区,还可为对所述源代码进行签名,还可通过其他方式对所述源代码进行处理,从而与其他客户的源代码进行区分,本实施例对此不作限制,在本实施例中,通过对源代码进行签名的方式进行说明。

在具体实现中,通过烧录的方式将客制化软件对应的分区进行单独烧录,通过烧录器,单独烧录的对应的分区形成开发人员的软件,从而可保证软件的独立性。

可以理解的是,通过烧录指令将对应的分区进行单独烧录,并通过烧录的分区标上预设标签,从而可形成客制化软件,客户可通过加载对应的分区进行软件加载,从而实现开发软件的效率。例如客户开发谷歌语音助手(Google Assistant)产品,Google可提供软件开发工具包(Software Development Kit,SDK),这部分就是固定的程序,是属于不可修改部分,存放在非客制化存储区,为了适配Google SDK的部分就是非客制化内容,存放在客制化存储区,可通过分支进行管理,并提供通用的接口,对所有客户进行开发使用。

继续如图3所示的存储客制化软件的客户数据区,通过在所述客户数据区依据客户需求进行单独开发,并在开发客户对应的分区后进行烧录形成客户的软件,从而实现软件的独立性,例如客户数据区中的LED控制文件等。

需要说明的是,还可将烧录后的分区标上预设标签,所述预设标签可为对写入的客制化代码进行分区,还可为对所述客制化代码进行签名,还可通过其他方式对所述客制化代码进行处理,从而与其他客户的客制化代码进行区分,本实施例对此不作限制,在本实施例中,通过对客制化代码进行签名的方式进行说明。

本实施例提供的所述客制化软件的处理方法,通过将客制化软件分为修改部分和不可修改部分,并将所述可修改部分通过分区进行管理并标上预设标签,客户可通过加载所述分区进行软件的使用,从而保证客制化软件的独立性。

进一步地,如图4所示,基于第一实施例提出本发明客制化软件的处理方法第二实施例,在本实施例中,所述步骤S40之前,所述客制化软件的处理方法还包括:

步骤S401,获取预设存储地址,根据所述预设存储地址对所述目标存储地址进行验证,在验证成功之后,执行根据所述目标存储地址将所述客制化代码写入所述客制化存储区的步骤。

可以理解的是,在客户通过软件开发平台进行软件开发时,软件平台可对开发客户授权固定的地址,通过所述固定的地址进行软件存储,例如,在客制化存储区,将存储地址00001F-00128F分给客户A进行使用,将存储地址00129F-00256F分给客户B进行使用。

在具体实现中,通过在接入指令中提取到存储地址,根据所述存储地址在客制化存储区中查找到对应的地址,并通过所述地址进行相应的开发,从而实现软件开发的独立性。

为了实现软件开发的稳定性,在本实施例中,通过客户在对应的存储区进行软件开发,从而在不影响其他客户进行开发的基础上,实现客制化软件的开发。

进一步地,所述步骤S401,具体包括:

步骤S402,提取所述接收写入指令中的用户标签信息,根据所述用户标签信息在预设关系映射表中查找与所述用户标签信息对应的预设存储地址,将所述预设存储地址与目标存储地址进行比较,在比较结果为一致时,根据所述目标存储地址将所述客制化代码写入所述客制化存储区。

在本实施例中,客户通过开发平台对写入的源代码分区之后,将源代码进行写入时可将所述源代码写入授权的写入地址,例如将存储地址00001F-00128F分给客户A进行使用,而对于存储地址00129F-00256F只能分给客户B进行使用,因此,在预设存储区域中存有地址与客户的对应的映射关系,可通过客户写入的地址在映射关系中进行查找,验证是否为客户对应的授权地址,如果写入的存储地址为其他客户的存储地址,则无法进行写入,相反地,当地址验证正确时,则可将源代码进行写入,从而保证软件开发的独立性。

本实施例中对客户写入的源代码进行存储时,对客户的写入的地址进行验证,在验证成功后,将所述源代码写入客制化存储区,从而保证软件开发的独立性。

进一步地,如图5所示,基于第一实施例或第二实施例提出本发明客制化软件的处理方法第三实施例,以基于第一实施例进行说明,在本实施例中,所述步骤S40之后,具体包括:

步骤S403,提取所述客制化代码中的私钥,根据所述私钥对所述客制化代码进行加密,将加密后客制化代码标上预设标签,从而通过所述预设标签进行目标软件的加载。

进一步地,所述步骤S403之后,所述客制化软件的处理方法还包括:

步骤S404,响应于客户端发送的软件加载指令,根据所述软件加载指令从预设存储区域中提取公钥,根据所述公钥对客制化存储区中的加密后的客制化代码进行验证,在验证结果为验证成功之后,授权客户端根据所述预设标签加载目标软件。

进一步地,所述步骤S404之前,所述客制化软件的处理方法还包括:

步骤S405,接收客户端的公钥保存指令,根据所述公钥保存指令将所述公钥进行保存。

需要说明的是,签名分为公钥和私钥,私钥可用于软件分区的加密,公钥用于确认软件分区是否正确,烧录到软件中,在启动过程中进行校验,每个客户提供对应的私钥加密对应的分区,然后通过预设指令将公钥存储在预设位置,例如通过ADB指令将软件公钥放到指定的位置,所述位置在软件加载分区时候进行获取,匹配成功之后可加载该分区。

在具体实现中,为了保证安全性,ADB指令将会在下一步删除,避免被其他人修改软件内容,从而保证软件的安全性。

本实施例可在加载分区时,通过公钥和私钥对加载分区进行验证,在验证成功之后,说明加载分区中的软件未被修改,从而保证分区加载的安全性。

进一步地,如图6所示,基于第一实施例或第二实施提出本发明客制化软件的处理方法第四实施例,在本实施例中,所述步骤S10,具体包括:

步骤S101,嵌入式系统设备获取客制化软件,将所述客制化软件与预设代码进行比较,根据比较结果将所述客制化软件分为客制化代码和非客制化代码。

需要说明的是,所述预设代码为可修改软件或者是不可修改软件,从而根据软件类型将各个软件进行区分,并根据区分结果将不可修改软件存储在非客制化存储区,其中,所述不可修改软件为软件通用代码,客户在针对不可修改软件进行软件开发时,可减少对非客制化软件的重新编写,从而提高软件开发效率。

在具体实现中,基于软件开发的平台的管理人员可将软件通用代码预先保存在开发平台中,开发人员通过查找对应的软件通用代码,根据查找到的软件通用代码进行在线软件开发。

本实施例通过将软件通用代码预先存储在软件开发平台中,在开发人员通过软件开发平台进行软件开发时,无需进行软件通用代码的编写,直接利用非客制化存储区中的软件通用代码进行软件开发。

此外,本发明实施例还提出一种存储介质,所述存储介质上存储有客制化软件的处理程序,所述客制化软件的处理程序被处理器执行时实现如下操作:

获取客制化软件,将所述客制化软件分为客制化代码和非客制化代码;

创建预设接口与所述非客制化代码进行通信的客制化存储区,并将所述客制化代码转化为预设通用格式;

接收写入指令,提取所述写入指令中的接口信息,根据所述接口信息在所述客制化存储区中查找对应的目标存储地址;

根据所述目标存储地址将所述客制化代码写入所述客制化存储区,并对写入后的客制化代码标上预设标签,从而通过所述预设标签进行目标软件的加载。

进一步地,所述客制化软件的处理程序被处理器执行时还实现如下操作:

获取预设存储地址,根据所述预设存储地址对所述目标存储地址进行验证,在验证成功之后,执行根据所述目标存储地址将所述客制化代码写入所述客制化存储区的步骤。

进一步地,所述客制化软件的处理程序被处理器执行时还实现如下操作:

提取所述接收写入指令中的用户标签信息,根据所述用户标签信息在预设关系映射表中查找与所述用户标签信息对应的预设存储地址,将所述预设存储地址与目标存储地址进行比较,在比较结果为一致时,根据所述目标存储地址将所述客制化代码写入所述客制化存储区。

进一步地,所述客制化软件的处理程序被处理器执行时还实现如下操作:

提取所述客制化代码中的私钥,根据所述私钥对所述客制化代码进行加密,将加密后客制化代码标上预设标签,从而通过所述预设标签进行目标软件的加载。

进一步地,所述客制化软件的处理程序被处理器执行时还实现如下操作:

响应于客户端发送的软件加载指令,根据所述软件加载指令从预设存储区域中提取公钥,根据所述公钥对客制化存储区中的加密后的客制化代码进行验证,在验证结果为验证成功之后,授权客户端根据所述预设标签加载目标软件。

进一步地,所述客制化软件的处理程序被处理器执行时还实现如下操作:

接收客户端的公钥保存指令,根据所述公钥保存指令将所述公钥进行保存。

进一步地,所述客制化软件的处理程序被处理器执行时还实现如下操作:

嵌入式系统设备获取客制化软件,将所述客制化软件与预设代码进行比较,根据比较结果将所述客制化软件分为客制化代码和非客制化代码。

本实施例提供的所述客制化软件的处理方法,通过将客制化软件分为修改部分和不可修改部分,并将所述可修改部分通过分区进行管理并标上预设标签,客户可通过加载所述分区进行软件的使用,从而保证客制化软件的独立性。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,终端设备,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1