首页 / 专利库 / 软件 / 软件解决方案 / 一种分布嵌入式软件资源整合平台及使用方法

一种分布嵌入式软件资源整合平台及使用方法

阅读:827发布:2020-05-11

专利汇可以提供一种分布嵌入式软件资源整合平台及使用方法专利检索,专利查询,专利分析的服务。并且本 发明 属于应用 软件 下载技术领域,尤其涉及一种分布嵌入式软件资源整合平台及使用方法,所述平台包括设置于网络 服务器 端并依次连接的 软件包 仓库模 块 sw_store、兼容性检查模块compat_module、软件包配置器conf_gen、软件包整合器pack_gen,以及独立设置的软件包日志分析器log_anal;本发明将所有的软件包在最后都被整合为一个或一组同质的编译单元,可以使用同样的编译环境编译,也方便在多种工具链和架构上快速建立工程,真正实现了软件包的跨架构跨环境通用性。,下面是一种分布嵌入式软件资源整合平台及使用方法专利的具体信息内容。

1.一种分布嵌入式软件资源整合平台,其特征在于,包括:设置于网络服务器端并依次连接的软件包仓库模sw_store、兼容性检查模块compat_module、软件包配置器conf_gen、软件包整合器pack_gen,以及独立设置的软件包日志分析器log_anal;
软件包仓库模块sw_store,用于存放软件包的源代码src和描述文件sw_desc;
兼容性检查模块compat_module,用于检查软件包之间的接口兼容性与软件包的架构兼容性;
软件包配置器conf_gen,用于配置各个软件包sw_pack;
软件包整合器pack_gen,用于生成最终软件包sw_final;
软件包日志分析器log_anal,用于收集并分析软件运行时返回的日志sw_log和软件包配置列表sw_conf,按软件包开发者提供的错误分析流程dev_filter分析日志sw_log中的各类软件包的错误,生成的运行错误分析报告anal_report并发送给开发者。
2.根据权利要求1所述的一种分布嵌入式软件资源整合平台,其特征在于,所述软件包仓库模块sw_store支持多软件包开发者登录,每个软件包开发者都有包括但不限于读权限和写权限,并参与一个或多个软件包的编辑;编辑后的内容上传到软件包仓库模块sw_store中并供其他合作者下载共同编辑,在编辑完成或达到一定阶段后发布软件包的正式版本,软件包的正式版本包括源代码src和描述文件sw_desc,其中描述文件sw_desc中包括软件支持的配置模式、兼容的接口与架构。
3.根据权利要求1所述的一种分布嵌入式软件资源整合平台,其特征在于,所述所述分布嵌入式软件资源整合平台中设置一个或多个软件包仓库模块sw_store,或多个所述分布嵌入式软件资源整合平台共享同一个软件包仓库模块sw_store。
4.根据权利要求1所述的一种分布嵌入式软件资源整合平台,其特征在于,所述兼容性检查模块compat_module还用于读取最终软件用户提供的软件模块列表sw_list并给软件包生成互相兼容以及兼容用户硬件的合适的配置列表sw_conf。
5.根据权利要求1所述的一种分布嵌入式软件资源整合平台,其特征在于,所述软件包配置器conf_gen用于读取配置列表sw_conf,并对软件包正确配置源代码。
6.根据权利要求1所述的一种分布嵌入式软件资源整合平台,其特征在于,所述软件包整合器pack_gen用于读取软件包配置器conf_gen配置好的软件包,生成最终软件包sw_final并通过网络传输供应最终软件用户下载。
7.针对权利要求1的一种分布嵌入式软件资源整合平台的使用方法,其特征在于,包括如下具体步骤:
步骤1,采用软件包仓库模块sw_store存放软件包的源代码和描述文件;
步骤2,采用兼容性检查模块compat_module检查软件包之间的接口兼容性与软件包的架构兼容性;
步骤3,采用软件包配置器conf_gen读取配置列表sw_conf,并对软件包进行正确配置;
步骤4,采用软件包整合器pack_gen读取软件包配置器conf_gen配置好的软件包,并生成生成最终软件包sw_final并通过网络传输供应软件用户下载;
步骤5,采用软件包日志分析器log_anal收集并分析软件运行时返回的日志sw_log和软件包配置列表sw_conf,按软件包开发者提供的错误分析流程dev_filter分析日志sw_log中的各类软件包的错误,生成的运行错误分析报告anal_report并发送给开发者。
8.根据权利要求7所述的一种分布嵌入式软件资源整合平台的使用方法,其特征在于,所述步骤2中,兼容性检查模块compat_module的具体流程包括如下步骤:
1)读取最终软件用户或其他不属于本平台的组件提供的软件模块列表sw_list,并确认所选软件包的名称、所需硬件平台及其所选择的配置,并根据所选软件包对所需硬件平台的要求,写入配置列表sw_conf;
2)从软件包仓库模块sw_store下载所选软件包的描述文件sw_desc,并通过扫描其描述文件sw_desc确定所选软件包的依赖包,并将依赖包的配置信息也加入配置列表sw_conf;进一步从软件包仓库模块sw_store下载依赖包的描述文件sw_desc,并扫描确认二级依赖包,将二级依赖包的配置信息也加入配置列表sw_conf;重复本步骤,直到所有的被直接或间接依赖的软件包的配置都被加入了列表sw_conf;
3)当有软件包无法被正确配置以与其他软件包或者硬件平台兼容,则使用同功能的其他软件包替代;当最终不能找到可以替换的软件包或者替代解决方案,则向最终软件用户提示配置错误信息conf_err;
4)当配置方式通过,则确定sw_conf的内容并将其输出到一个文件。
9.根据权利要求7所述的一种分布嵌入式软件资源整合平台的使用方法,其特征在于,所述步骤4中,软件包整合器pack_gen的具体流程包括如下步骤:
1)读取软件包配置文件sw_conf,完成软件包间依赖关系有向树或图的构建,所述树或所述图中的父节点依赖于所有与其直接连接的子节点
2)读取软件包配置器conf_gen配置好的各个软件包的源代码;
3)将软件包中头文件和源文件根据软件包的配置列表sw_conf的指定,连接组成一个新的作为一个或一组同质的编译单元存在的源文件,并且其连接顺序按照一定的方法决定,方法包括但不限于依赖关系树的后序遍历,只要方法生成的源文件中保证了一个软件包的所有依赖都被连接或者声明在软件包之前;
4)将软件包的配置列表sw_conf描述文件和单一源文件打包生成新的最终软件包sw_final。
10.根据权利要求7所述的一种分布嵌入式软件资源整合平台的使用方法,其特征在于,所述步骤5中,软件包日志分析器log_anal的具体流程包括如下步骤:
1)最终软件用户从其嵌入式设备采集软件运行日志sw_log并上传到所述分布嵌入式软件资源整合平台端;
2)最终软件用户将软件包配置列表sw_conf也上传到所述分布嵌入式软件资源整合平台端端。
3)软件包日志分析器log_anal读取运行日志sw_log和软件包配置列表sw_conf并分析其中涉及的分立软件包sw_pack;
4)软件包日志分析器log_anal读取各个被涉及的软件包的错误分析流程dev_filter;
5)软件包日志分析器对运行日志sw_log和软件包配置列表分别运行各个分立软件包sw_pack的开发者指定的错误分析流程dev_filter,并得到针对每个分立软件包sw_pack的分析报告anal_report;
6)软件包日志分析器log_anal将每个分立软件包sw_pack的运行错误分析报告anal_report分别发送给订阅所述分析报告的软件包开发者。

说明书全文

一种分布嵌入式软件资源整合平台及使用方法

技术领域

[0001] 本发明属于应用软件下载技术领域,尤其涉及一种分布嵌入式软件资源整合平台及使用方法。

背景技术

[0002] 现阶段嵌入式系统的功能越来越多样化,用到的软件模组的数量与日俱增,软件包资源整合的难度也在快速增加。
[0003] 当前的嵌入式软件平台不能很好整合各类软件资源,导致软件包管理混乱,大大增加了配置的困难和配置错误的可能性。
[0004] 现有的嵌入式软件包管理平台往往直接把软件包下载到本地后由用户手动配置和编译,因此存在如下一些缺陷
[0005] 1、版本管理混乱,难以保证各个软件包之间的版本兼容性,导致编译、链接和运行时的众多难以排查和不可预知的错误。
[0006] 2、软件包小文件数量众多,下载缓慢,工程迁移更慢,给服务器和本地存储系统都带来压,软件包升级也比较困难。
[0007] 3、各个软件包缺乏统一的描述和建构策略,导致接口不兼容性增加,并经常出现因此导致的错误。
[0008] 4、软件包的编译环境非常复杂并且各自不同,致使软件包被绑定在一两种架构和工具链上,难以做到真正通用。
[0009] 5、从仓库拉取软件包需要执行复杂的脚本,或者需要人工输入命令,大大恶化了用户体验,增加了用户拉取软件包出错的几率。
[0010] 6、软件包在使用中当遇到错误,定位错误非常困难,因为难以确定是何软件包发生故障,因此开发团队也难以修复错误。
[0011] 如中国专利申请号为:CN201310484666.4的专利公布了一种应用软件智能下载方法、装置和系统;其中的应用软件智能下载方法包括:接收终端设备发送来的应用软件下载请求,所述应用软件下载请求中承载有应用软件图标;从所述应用软件下载请求中获取应用软件图标;将所述应用软件图标在预先设置的应用软件图标集合中进行图像匹配;在所述应用软件图标集合中存在匹配的应用软件图标的情况下,根据预先设置的应用软件图标与应用软件的对应关系获取所述匹配的应用软件图标对应的应用软件,并将所述应用软件下载至所述终端设备,所述下载方法,没有进一步整合各类软件资源,导致软件包管理混乱。

发明内容

[0012] 本发明的目的是针对现有技术的不足从而提供一种分布嵌入式软件资源整合平台及使用方法,以整合各类软件资源。
[0013] 本发明所述平台包括:设置于网络服务器端并依次连接的软件包仓库模sw_store、兼容性检查模块compat_module、软件包配置器conf_gen、软件包整合器pack_gen,以及独立设置的软件包日志分析器log_anal;
[0014] 软件包仓库模块sw_store,用于存放软件包的源代码src和描述文件sw_desc;
[0015] 兼容性检查模块compat_module,用于检查软件包之间的接口兼容性与软件包的架构兼容性;
[0016] 软件包配置器conf_gen,用于配置各个软件包sw_pack;
[0017] 软件包整合器pack_gen,用于生成最终软件包sw_final;
[0018] 软件包日志分析器log_anal,用于收集并分析软件运行时返回的日志sw_log和软件包配置列表sw_conf,按软件包开发者提供的错误分析流程dev_filter分析日志sw_log中的各类软件包的错误,生成的运行错误分析报告anal_report并发送给开发者。
[0019] 软件包仓库模块sw_store支持多软件包开发者登录,每个软件包开发者都有包括但不限于读权限和写权限,并参与一个或多个软件包的编辑;编辑后的内容上传到软件包仓库模块sw_store中并供其他合作者下载共同编辑,在编辑完成或达到一定阶段后发布软件包的正式版本,软件包的正式版本包括源代码src和描述文件sw_desc,其中描述文件sw_desc中包括软件支持的配置模式、兼容的接口与架构;
[0020] 所述分布嵌入式软件资源整合平台中设置一个或多个软件包仓库模块sw_store,或多个所述分布嵌入式软件资源整合平台共享同一个软件包仓库模块sw_store。
[0021] 兼容性检查模块compat_module还用于读取最终软件用户提供的软件模块列表sw_list并给软件包生成互相兼容以及兼容用户硬件的合适的配置列表sw_conf。
[0022] 软件包配置器conf_gen用于读取配置列表sw_conf,并对软件包正确配置源代码。
[0023] 软件包整合器pack_gen用于读取软件包配置器conf_gen配置好的软件包,生成最终软件包sw_final并通过网络传输供应最终软件用户下载。
[0024] 本发明所述分布嵌入式软件资源整合平台的使用方法包括以下步骤:
[0025] 步骤1、采用软件包仓库模块sw_store存放软件包的源代码和描述文件;
[0026] 步骤2、采用兼容性检查模块compat_module检查软件包之间的接口兼容性与软件包的架构兼容性;兼容性检查模块compat_module的具体流程包括如下步骤:
[0027] 步骤21读取最终软件用户或其他不属于本平台的组件提供的软件模块列表sw_list,并确认所选软件包的名称、所需硬件平台及其所选择的配置,并根据所选软件包对所需硬件平台的要求,写入配置列表sw_conf;
[0028] 步骤22从软件包仓库模块sw_store下载所选软件包的描述文件sw_desc,并通过扫描其描述文件sw_desc确定所选软件包的依赖包,并将依赖包的配置信息也加入配置列表sw_conf;进一步从软件包仓库模块sw_store下载依赖包的描述文件sw_desc,并扫描确认二级依赖包,将二级依赖包的配置信息也加入配置列表sw_conf;重复本步骤,直到所有的被直接或间接依赖的软件包的配置都被加入了列表sw_conf;
[0029] 步骤23当有软件包无法被正确配置以与其他软件包或者硬件平台兼容,则使用同功能的其他软件包替代;当最终不能找到能够替换的软件包或者替代解决方案,则向最终软件用户提示配置错误信息conf_err;
[0030] 步骤24当配置方式通过,则确定sw_conf的内容并将其输出到一个文件;
[0031] 步骤3、采用软件包配置器conf_gen读取配置列表sw_conf,并对软件包进行正确配置;
[0032] 步骤4、采用软件包整合器pack_gen读取软件包配置器conf_gen配置好的软件包,并生成最终软件包sw_final并通过网络传输供应软件用户下载;软件包整合器pack_gen的具体流程包括如下步骤:
[0033] 步骤41读取软件包配置文件sw_conf,完成软件包间依赖关系有向树或图的构建,所述树或所述图中的父节点依赖于所有与其直接连接的子节点
[0034] 步骤42读取软件包配置器conf_gen配置好的各个软件包的源代码;
[0035] 步骤43将软件包中头文件和源文件根据软件包的配置列表sw_conf的指定,连接组成一个新的作为一个或一组同质的编译单元存在的源文件,并且其连接顺序按照一定的方法决定,方法包括但不限于依赖关系树的后序遍历,只要方法生成的源文件中保证了一个软件包的所有依赖都被连接或者声明在软件包之前;
[0036] 步骤44将软件包的配置列表sw_conf描述文件和单一源文件打包生成新的最终软件包sw_final;
[0037] 步骤5、采用软件包日志分析器log_anal收集并分析软件运行时返回的日志sw_log和软件包配置列表sw_conf,按软件包开发者提供的错误分析流程dev_filter分析日志sw_log中的各类软件包的错误,生成的运行错误分析报告anal_report并发送给开发者,软件包日志分析器log_anal的具体流程包括如下步骤:
[0038] 步骤51最终软件用户从其嵌入式设备采集软件运行日志sw_log并上传到所述分布嵌入式软件资源整合平台端;
[0039] 步骤52最终软件用户将软件包配置列表sw_conf也上传到所述分布嵌入式软件资源整合平台端端。
[0040] 步骤53软件包日志分析器log_anal读取运行日志sw_log和软件包配置列表sw_conf并分析其中涉及的分立软件包sw_pack;
[0041] 步骤54软件包日志分析器log_anal读取各个被涉及的软件包的错误分析流程dev_filter;
[0042] 步骤55软件包日志分析器对运行日志sw_log和软件包配置列表分别运行各个分立软件包sw_pack的开发者指定的错误分析流程dev_filter,并得到针对每个分立软件包sw_pack的分析报告anal_report;
[0043] 步骤56软件包日志分析器log_anal将每个分立软件包sw_pack的运行错误分析报告anal_report分别发送给订阅所述分析报告的软件包开发者。
[0044] 本发明的有益效果是:
[0045] 1.本发明所述分布嵌入式软件资源整合平台,版本管理简单,由于依赖和兼容性完全由平台本身管理,因此用户不必担心自行下载的分立软件包不兼容的问题,减小了用户负担。
[0046] 2.本发明所述分布嵌入式软件资源整合平台,软件包下载简单,由于所有的软件包最终都被整合为一个具备一个或一组同质的编译单元的源文件作为最终软件包提供,因此用户无需下载分立的软件包而只需下载一个整合过的最终软件包,减小了本地存储和服务器带宽的压力。
[0047] 3.本发明所述分布嵌入式软件资源整合平台,各个软件包都具备独立的、同质的描述文件,具备相同的建构策略,减小了接口不兼容的可能性,因此减少了在兼容性上发生不可预知错误的机会。
[0048] 4.本发明所述分布嵌入式软件资源整合平台,所有的软件包在最后都被整合为一个或一组同质的编译单元,也即一个或者少数几个同质的源文件,因此能够使用同样的编译环境编译,也方便在多种工具链和架构上快速建立工程,真正实现了软件包的跨架构跨环境通用性。
[0049] 5.本发明所述分布嵌入式软件资源整合平台,从仓库拉取软件包只需要最终用户提供软件列表,在软件列表中用户没有指明的依赖软件包由自动的依赖分析确定,软件包的配置由用户输入的硬件信息自动决定,减少了用户的软件包拉取和配置负担,减小了出错几率。
[0050] 6.本发明所述分布嵌入式软件资源整合平台,软件在运行遇到错误时会打印运行日志,日志由用户上传,大大简化了用户向开发者团队提交错误报告的难度;这一流程也大大方便了用户进行软件包升级,因为最终软件包会被重新生成,因此用户不必自行手动完成替换软件包的流程,节约了用户的时间,减少了升级过程中版本不对或者出错的可能性。
[0051] 7.本发明所述分布嵌入式软件资源整合平台,这一平台还提供了日志分析器,软件开发者能够从客户的大量日志中抽取自己感兴趣的部分或者适合本团队的描述方式而不必直接面对用户的邮件或者问题列表,大大降低了嵌入式软件开发者问题定位的速度,减少了直接与客户沟通引起理解歧义的可能。附图说明
[0052] 图1是本发明所述分布嵌入式软件资源整合平台的结构示意图;
[0053] 图2是本发明所述分布嵌入式软件资源整合平台的软件资源整合平台的数据流示意图;
[0054] 图3是本发明所述软件包sw_pack的内容结构示意图;
[0055] 图4是本发明所述软件包的描述文件sw_desc的内容结构示意图;
[0056] 图5是本发明所述配置列表sw_conf的内容结构示意图;
[0057] 图6是本发明所述配置错误信息conf_err的内容结构示意图;
[0058] 图7是本发明所述最终软件包sw_final的内容结构示意图;
[0059] 图8是本发明所述日志sw_log的内容结构示意图;
[0060] 图9是本发明所述错误分析流程dev_filter的算法流程;
[0061] 图10是本发明所述运行错误分析报告anal_report的内容结构示意图;
[0062] 图11是本发明实施例1的流程图
[0063] 图12是本发明实施例1中软件模块列表sw_list 110的示意图;
[0064] 图13是本发明实施例1中配置列表sw_conf 160的示意图;
[0065] 图14是本发明实施例1中软件包配置器conf_gen 210的操作流程示意图;
[0066] 图15是本发明实施例1中软件包整合器pack_gen 240的操作流程示意图;
[0067] 图16是本发明实施例2的流程图;
[0068] 图17是本发明实施例2中软件模块列表sw_list 410的示意图;
[0069] 图18是本发明实施例2中端工具的操作流程示意图;
[0070] 图19是本发明实施例2中日志分析器log_anal 500的第1阶段操作流程示意图;
[0071] 图20是本发明实施例2中日志分析器log_anal 500的第2阶段操作流程示意图。

具体实施方式

[0072] 下面结合说明书附图对本发明做进一步说明。
[0073] 如图1所示,一种分布嵌入式软件资源整合平台,包括:设置于网络服务器端并依次连接的软件包仓库模块sw_store、兼容性检查模块compat_module、软件包配置器conf_gen、软件包整合器pack_gen,以及独立设置的软件包日志分析器log_anal;
[0074] 软件包仓库模块sw_store,用于存放软件包的源代码src和如图4所示的描述文件sw_desc;
[0075] 兼容性检查模块compat_module,用于检查软件包之间的接口兼容性与软件包的架构兼容性;
[0076] 软件包配置器conf_gen,用于配置各个如图3所示的软件包sw_pack;
[0077] 软件包整合器pack_gen,用于生成如图7所示的最终软件包sw_final;
[0078] 软件包日志分析器log_anal,用于收集并分析软件运行时返回的如图8所示的日志sw_log和如图5所示的配置列表sw_conf,按软件包开发者提供的如图9所示的错误分析流程dev_filter分析日志sw_log中的各类软件包的错误,生成的如图10所示的运行错误分析报告anal_report并发送给开发者。
[0079] 软件包仓库模块sw_store支持多软件包开发者登录,每个软件包开发者都有一定的权限参与一个或多个软件包的编辑;编辑后的内容上传到软件包仓库模块sw_store中并供其他合作者下载共同编辑,在编辑完成或达到一定阶段后发布软件包的正式版本,软件包的正式版本包括源代码src和描述文件sw_desc,其中描述文件sw_desc中包括软件支持的配置模式、兼容的接口与架构;
[0080] 所述分布嵌入式软件资源整合平台中设置一个或多个软件包仓库模块sw_store,或多个所述分布嵌入式软件资源整合平台共享同一个软件包仓库模块sw_store。
[0081] 兼容性检查模块compat_module还用于读取最终软件用户提供的软件模块列表sw_list并给软件包生成互相兼容以及兼容用户硬件的合适的配置列表sw_conf。
[0082] 软件包配置器conf_gen用于读取配置列表sw_conf,并对软件包进行正确配置源代码。
[0083] 软件包整合器pack_gen用于读取软件包配置器conf_gen配置好的软件包,并生成最终软件包sw_final,最终软件包sw_final的代码在逻辑上是一个或一组同质的源文件,能够作为一个或一组同质的编译单元参加编译,最终软件包sw_final通过网络传输供应最终软件用户下载。
[0084] 如图2所示,一种分布嵌入式软件资源整合平台的使用方法,包括如下具体步骤:
[0085] 步骤1,采用软件包仓库模块sw_store存放软件包的源代码和描述文件;
[0086] 步骤2,采用兼容性检查模块compat_module检查软件包之间的接口兼容性与软件包的架构兼容性,具体流程包括如下步骤:
[0087] 1)读取最终软件用户或其他不属于本平台的组件提供的软件模块列表sw_list,并确认所选软件包的名称、所需硬件平台及其所选择的配置,并根据所选软件包对所需硬件平台的要求,写入配置列表sw_conf;
[0088] 2)从软件包仓库模块sw_store下载所选软件包的描述文件sw_desc,并通过扫描其描述文件sw_desc确定所选软件包的依赖包,并将依赖包的配置信息也加入配置列表sw_conf;进一步从软件包仓库模块sw_store下载依赖包的描述文件sw_desc,并扫描确认二级依赖包,将二级依赖包的配置信息也加入配置列表sw_conf;重复本步骤,直到所有的被直接或间接依赖的软件包的配置都被加入了列表sw_conf;
[0089] 3)当有软件包无法被正确配置以与其他软件包或者硬件平台兼容,则使用同功能的其他软件包替代;当最终不能找到能够替换的软件包或者替代解决方案,则向最终软件用户提示如图6所示配置错误信息conf_err;
[0090] 4)当配置方式通过,则确定sw_conf的内容并将其输出到一个文件。
[0091] 步骤3,采用软件包配置器conf_gen读取配置列表sw_conf,并对软件包进行正确配置源代码;
[0092] 步骤4,采用软件包整合器pack_gen读取软件包配置器conf_gen配置好的软件包,并生成最终软件包sw_final并通过网络传输供应软件用户下载,具体流程包括如下步骤:
[0093] 1)读取软件包配置文件sw_conf,完成软件包间依赖关系有向树或图的构建,所述树或所述图中的父节点依赖于所有与其直接连接的子节点;
[0094] 2)读取软件包配置器conf_gen配置好的各个软件包的源代码;
[0095] 3)将软件包中头文件和源文件根据软件包的配置列表sw_conf的指定,连接组成一个新的作为一个或一组同质的编译单元存在的源文件,并且其连接顺序按照设定的方法决定,方法包括但不限于依赖关系树的后序遍历,只要方法生成的源文件中保证一个软件包的所有依赖都被连接或者声明在软件包之前;
[0096] 4)将软件包的配置列表sw_conf描述文件和单一源文件打包生成新的最终软件包sw_final。
[0097] 步骤5,采用软件包日志分析器log_anal收集并分析软件运行时返回的日志sw_log和软件包配置列表sw_conf,按软件包开发者提供的错误分析流程dev_filter分析日志sw_log中的各类软件包的错误,生成的运行错误分析报告anal_report并发送给开发者;具体流程包括如下步骤:
[0098] 1)最终软件用户从其嵌入式设备采集软件运行日志sw_log并上传到所述分布嵌入式软件资源整合平台端;
[0099] 2)最终软件用户将软件包配置列表sw_conf也上传到所述分布嵌入式软件资源整合平台端端。
[0100] 3)软件包日志分析器log_anal读取运行日志sw_log和软件包配置列表sw_conf并分析其中涉及的分立软件包sw_pack;
[0101] 4)软件包日志分析器log_anal读取各个被涉及的软件包的错误分析流程dev_filter;
[0102] 5)软件包日志分析器对运行日志sw_log和软件包配置列表分别运行各个分立软件包sw_pack的开发者指定的错误分析流程dev_filter,并得到针对每个分立软件包sw_pack的分析报告anal_report;
[0103] 6)软件包日志分析器log_anal将每个分立软件包sw_pack的运行错误分析报告anal_report分别发送给订阅所述分析报告的软件包开发者,方便其排查故障所在。
[0104] 实施例1
[0105] 如图12所示软件模块列表sw_list 110包括两个初始被选中的软件包,一个是网络协议栈120,一个是文件系统130,并且还含有对硬件平台的特性描述。
[0106] 如图11所示:
[0107] 步骤300:最终软件用户将软件模块列表sw_list 110提交给服务器端。
[0108] 步骤310:服务器端的配置分析器模块compat_module 200读取软件模块列表110。
[0109] 步骤320:配置分析器模块200首先通过读取上述两个软件包的如图4所示的软件包描述sw_desc确定网络协议栈模块120需要依赖于一个某网卡驱动,文件系统130需要依赖于某Flash驱动。
[0110] 步骤330:配置分析器模块200接下来根据软件模块列表sw_list 110中含有的硬件平台特性描述文件决定适合使用的网卡驱动140和Flash驱动150,并将各软件包的合适配置输出如图5、如图13所示的配置列表sw_conf 160。
[0111] 步骤340:如图14所示,软件包配置器conf_gen 210读取配置列表sw_conf 160,分别从远程仓库sw_store 220和远程仓库sw_store 230下载网络协议栈120、文件系统130和网卡驱动140、Flash驱动150,并根据配置列表sw_conf 160对相应的软件包源码进行正确配置。
[0112] 步骤350:如图15所示,软件包整合器pack_gen 240读取配置列表sw_conf 160和步骤340中已经正确配置的软件包,将源代码连接起来成为单一的编译单元,并整合成如图7所示的最终软件包sw_final 170。
[0113] 步骤360:用户下载生成的最终软件包sw_final 170,软件包的可编译部分只有一个源文件和一个头文件。
[0114] 在本实施例中,所述分布嵌入式软件资源整合平台通过分析流程,正确配置了所用到的四个软件包。
[0115] 最终,所述分布嵌入式软件资源整合平台还将这四个软件包整合成了一个仅含一个编译单元的最终软件包供用户下载,免去了用户下载分立软件包的流程,节约了网络带宽、用户的精力和时间,也方便用户建立工程进行编译。大大简化了软件包配置和下载的难度和工程建立的难度,大大增加了嵌入式系统配置的效率。
[0116] 上述步骤的顺序不是绝对的,当两个步骤之间没有互相依赖,允许以任意互相调换顺序。
[0117] 实施例2
[0118] 如图17所示的软件模块列表sw_list 410包括三个软件包:运动控制软件包420、通信软件包430和系统管理软件包440,并且软件模块列表sw_list 410还含有对硬件平台的特性描述。
[0119] 如图16所示:
[0120] 步骤600:如图18所示,最终软件用户将软件模块列表sw_list 410传给云端工具,经云端工具配置后,生成了最后适合最终软件用户使用的最终软件包sw_final 450,其中包含了运动控制软件包420、通信软件包430、系统管理软件包440的整合。
[0121] 步骤610:最终软件用户将最终软件包sw_final 450下载到本地并在工程中使用。
[0122] 步骤620:最终软件用户观察到系统在运行中出现故障,采集到运行日志sw_log 460。
[0123] 步骤630:最终软件用户将运行日志sw_log 460上传到服务器。
[0124] 步骤640:服务器中的日志分析器log_anal 500启动,读取最终软件用户上传的运行日志sw_log 460,分析出最终软件用户的最终软件包sw_final 460中使用了3个分立的软件包:运动控制软件包420、通信软件包430和系统管理软件包440。
[0125] 步骤650:如图19所示,日志分析器log_anal 500从软件包仓库sw_store 510下载上述3个分立软件包所对应的错误分析流程:运动控制软件包错误分析流程520、通信软件包错误分析流程530和系统管理软件包错误分析流程540。
[0126] 步骤660:如图20所示,日志分析器log_anal 500对运行日志sw_log 460分别运行运动控制软件包错误分析流程520、通信软件包错误分析流程530和系统管理软件包错误分析流程540,生成三份错误报告:运动控制软件包错误报告550、通信软件包错误报告560和系统管理软件包错误报告570。
[0127] 步骤670:日志分析器log_anal 500将上述三份错误报告分别发向运动控制软件包开发团队580、通信软件包开发团队585和系统管理软件包开发团队590。
[0128] 步骤680:上述三个开发团队接收到错误报告,修正了软件包中的错误,最终软件用户将步骤600中得到的旧最终软件包sw_final 450的sw_conf传给服务器,得到新的不含有错误的最终软件包sw_final 470,从而完成软件包的除错升级。
[0129] 在本实施例中,最初含有错误的最终软件包sw_final 460在出错时打印出了能够被日志分析器log_anal 500分析的运行日志sw_log 460,上述运行日志被分别发送往三个团队进行错误修正,在错误修正后最终软件用户重新运行生成得到没有问题的软件包。
[0130] 从最终软件用户的度看,上述步骤大大简化了最终软件用户向开发者团队提交错误报告的难度,因为运行日志sw_log 460是自动生成的,无需最终软件用户介入,大大方便了最终软件用户进行软件包升级,因为最终软件包会被重新生成,因此最终软件用户不必自行手动完成替换软件包的流程,节约了最终软件用户的时间,减少了升级过程中版本不对或者出错的可能性。从嵌入式软件开发团队的角度看,提供了客制化的、客观的分析流程,能够从客户的大量日志中抽取自己感兴趣的部分或者适合本团队的描述方式,不必直接面对最终软件用户的邮件或者问题列表,也不需要与最终软件用户直接进行沟通,大大降低了嵌入式软件开发者无用劳动的时间,大大加快了问题定位的速度,减少了直接与客户沟通引起理解歧义的可能。
[0131] 上述实施例的各个步骤流程的顺序不是绝对的,当两个步骤之间没有互相依赖,允许以任意互相调换顺序。
[0132] 显然,本领域的技术人员能够对本发明实施例进行各种改动和变形而不脱离本发明实施例的精神和范围。倘若本发明实施例的这些修改和变形属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变形在内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈