计算机程序注入方法及系统的制作方法

文档序号:9375187阅读:704来源:国知局
计算机程序注入方法及系统的制作方法
【技术领域】
[0001]本发明属于程序注入领域,涉及一种计算机程序注入方法及系统,特别涉及一种用于星载计算的程序注入方法及系统。
【背景技术】
[0002]空间环境中,存在复杂的电磁环境,以及地面所没有的单粒子辐射,对于电子设备的功能和性能会造成不利的影响,严重的还会导设备的致功能失效。所以,在空间环境中工作的电子设备要有抗空间环境的不利因素的机制。单粒子反转会破坏程序的完整性和逻辑,能够导致软件加载失败或者运行错误,一般都会选在带有EDAC功能的器件。空间除了环境复杂外,所执行的任务也比较复杂,处于多种原因常常需要对电子设备的软件进行在轨修改,以在轨的方式改变软件功能,从而应对复杂多变的环境和任务。
[0003]目前已有的在轨注入方法主要为整体上注,即对软件存在更新时,需要对软件所有的程序进行注入以完成更新,这种方式虽然简单,但上注的数据量大,不适合于在轨应用。
[0004]因此,有必要提出一种新的程序注入方法,以减少因大量注入不需改变的程序带来的不便和由于大量注入而可能造成的注入错误。

【发明内容】

[0005]有鉴于此,为克服上述至少一个缺点,并提供下述至少一种优点。本发明公开了星载计算机软件在轨上注方法及系统。
[0006]一方面,通过本发明可以减少为在轨计算机的上注程序量。
[0007]另一方面,通过本发明可以实现对在轨计算机中程序或错误的及时维护。
[0008]为解决上述技术问题,本发明采用以下技术方案:
[0009]一方面,本发明公开了一种程序注入方法,包括以下步骤:
[0010]确定待注入程序与功能程序的原程序间的差异部分;
[0011]将所述差异部分注入存储器中;
[0012]合并所述原程序和所述差异部分。
[0013]进一步的,还包括以下步骤:
[0014]将所述原程序与所述差异部分合并执行。
[0015]进一步的,还包括以下步骤:
[0016]在存储器中为所述功能程序分配第一访问空间用于存储所述原程序;
[0017]对应于所述第一访问空间,在存储器中分配第二访问空间用于存储与所述原程序对应的所述差异部分。
[0018]进一步的,采用向量表存储对应于不同所述功能程序的第一访问空间的地址和第二访问空间的地址。
[0019]进一步的,所述合并所述原程序和所述差异部分的步骤包括:
[0020]判断所述差异部分是否为空;
[0021]若所述差异部分不为空,则将所述原程序与所述差异部分合并加载;
[0022]若所述差异部分为空,则仅加载所述原程序。
[0023]另一方面,本发明还公开了一种用于程序注入的系统,包括:
[0024]差异比较模块,用于确定待注入程序与功能程序的原程序间的差异部分;
[0025]程序注入模块,用于将所述差异部分注入存储器中;
[0026]程序合并模块,用于合并所述原程序和所述差异部分。
[0027]进一步的,还包括:
[0028]程序执行模块,用于将所述原程序与所述差异部分合并执行。
[0029]进一步的,还包括:
[0030]程序管理模块,用于在存储器中为所述功能程序分配第一访问空间用于存储所述原程序;并对应于所述第一访问空间,在存储器中分配第二访问空间用于存储与所述原程序对应的所述差异部分。
[0031]进一步的,所述程序管理模块,利用向量表存储对应于不同所述功能程序的第一访问空间的地址和第二访问空间的地址。
[0032]进一步的,所述程序合并模块,判断所述差异部分是否为空;若所述差异部分不为空,则将所述原程序与所述差异部分合并加载;若所述差异部分为空,则仅加载所述原程序。
[0033]通过采用上述技术方案,本发明的所达到的有益效果为:
[0034]本发明将与原程序不同的差异部分以增量进行注入方式,此种注入方式改变了将原程序存在差异时即整体进行注入的缺点,通过仅注入差异部分,减少了注入量,尤其对于空间通信环境距离远,通信时延长,受重量、体积、功耗,通信速率等限制,该注入方式节省了上注量对于空间设备的在轨及时维护的困难,且降低了大量注入程序所带来的风险。
【附图说明】
[0035]为了更清楚地说明本发明实施例中的技术方案,下面将对本发明实施例描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据本发明实施例的内容和这些附图获得其他的附图。
[0036]图1为本发明实施例程序注入流程图;
[0037]图2为本发明实施例存储器分区示意图;
[0038]图3为本发明实施例中合并原程序和差异部分的示意图;
[0039]图4为本发明实施例用于程序注入的系统的模块示意图。
【具体实施方式】
[0040]为使本发明解决的技术问题、采用的技术方案和达到的技术效果更加清楚,下面将结合附图对本发明实施例的技术方案作进一步的详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0041]程序注入是指在运行程序的载体或设备外部,将需要加载于该载体或设备的程序写入的载体内部的操作。一个通过程序的载体或设备是通过一系列功能程序的组合,完成控制和操作的,各功能程序可以被看做一个独立的模块,具有独立的某项或某几项的功能。在各功能程序运行和使用的过程中,为适应于不断产生的新需求和新功能,需要对相应的功能程序进行升级或更新,然而对于不能完全恢复全部设置并重新烧录程序的载体或设备,需要通过程序注入的方式完成对相应功能程序的升级或更新。
[0042]在本发明实施例中,给出了进行程序注入的一种实现方案,下面结合附图并通过【具体实施方式】来进一步说明本发明的技术方案。
[0043]图1为本发明实施例程序注入流程图。
[0044]SlOl中,对功能程序中,待注入的整体程序与原程序进行比较,确定待注入的整体程序与原程序间的差异部分。
[0045]在本发明实施例中,程序注入之前,需要对功能程序中待注入的整体程序与原程序进行比较,以确定待注入的整体程序与原程序间的差异部分。该差异部分可对应于功能程序中可以被更改的任意部分。
[0046]对差异部分的比较可以通过载体或设备之外的其他设备完成,在一种实施例中,该载体或设备可以为在宇宙空间中运行的卫星或飞行器,卫星或飞行器的在轨运行离不开根据其内部程序所具有的各种功能完成的自动控制,若要对该卫星或飞行器进行程序注入,考虑到空间通信的复杂性和带宽的限制性,可以在地面控制中心完成对差异部分的确定,即在地面控制中心将待注入的整体程序与当前在卫星或飞行器中运行的原程序进行比较,该种比较可以为按照程序的字段进行的逐字比较,也可以为对原程序按照更小组成单元的划分后,以组成单元为单位进行的比较,通过比较的结果,可以确定相对于原程序中待注入的整体程序的差异部分。通过该种实施例所记载的方式,可以将确定差异部分的操作在载体或设备之外完成,从而可以在通信传输过程中,仅传输所确定的差异部分,减少了通信传输过程中的数据流量,从而相应的减少了通信中出错和受干扰的可能性。
[0047]与卫星或飞行器不同,在另一种实施例中,差异部分可以在载体或设备中自动完成,在该实施例中,用于运行功能程序的模块以独立于其他模块的形式进行工作,载体或设备在相应的用于完成通信功能的模块的配合下,获取外部期望注入的整体程序,并由独立与运行功能程序的模块之外的模块,完成对待注入整体程序和原程序的比较,从而确定差异部分。虽然在该种实施例中,并未减少设备或载体与外部传输的数据流量,即仍然获取了待注入的整体程序,但是,相对于运行功能程序的模块,仍然可以在确定差异部分后,仅被注入差异部分,因此,仍然提高了功能程序运行效率和仅注入差异部分相对于整体程序的安全性。
[0048]当然,上述实施例仅为通过比较待注入整体程序和原程序以确定差异部分的示例性实施例,本领域技术人员清楚,仍然存在与上述实施例相同或等同的操作方式,可以从降低数据流量、减少干扰以及提供运行效率等角度完成的差异部分的比较。
[0049]S102中,在确定了差异部分后,需要将所确定差异部分注入存储器。
[0050]用于存储差异部分的存储器可以为非易失性存储器的一种,在本发明的一种实施例中,用于存储注入程序的存储器可以为载体或设备的R0M,该ROM可以用于存储载体或设备的全部程序,相应的在运行程序时,处理器可以从该ROM中读取相应的功能程序。
[0051]图2为本发明实施例存储器分区示意图。
[0052]参考图2,作为本发明实施的一种,在该存储器中,可以按照功能程序为单位,对存储器的中的存储空间进行划分,对应于不同的的存储空间一个区域,可以存储当前供当前载体或设备运行的具有某一功能的一个完整的功能程序的原程序,可以将用于存储某个完整的原程序的空间识别为第一访问空间,当然对应与不同功能程序的原程序,可以有不同的第一访问空间。同时,在存储器中,还对因故每个第一访问空间,分配有第二访问空间,该每个第二访问空间用于存储差异部分,即被注入的差异部分可被识别为对应原程序的增量程序,被存储与该第二访问空间。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1