嵌入式系统、其升级方法及升级设备的制造方法_2

文档序号:8258065阅读:来源:国知局
执行代码,并将所述版本高于当前运行进程的执行代码存储至第二存储单元32 ;第二进程运行单元34能够同时运行版本不同的多个进程;第二检测单元35用于检测服务器中是否存在版本高于当前运行进程的文件。
[0028]升级管理模块4包括编码单元41和比较单元42,其中,编码单元41用于将通信进程或应用进程的端口号按照版本由低到高进行升序排列;比较单元42用于比较不同版本进程的端口号数值,将端口号数值最大的进程的数据发送至其他模块。
[0029]升级管理模块存在于各个功能模块之间,各个模块进程间的数据交互都要通过升级管理模块,当需要升级功能模块中的进程时,会直接运行新的功能模块进程,即新旧两个功能模块进程同时运行,由升级管理模块选择新的功能模块进程传递的数据,丢弃旧的功能模块进程传递的数据,并且负责告知控制模块停止运行旧的功能模块进程。
[0030]相应地,本发明还提供了上述嵌入式系统的升级方法,如图3所示,该方法包括如下步骤:
步骤S1:检测服务器中是否存在版本高于当前运行的通信进程或应用进程的文件。
[0031]步骤S2:从外界服务器下载版本高于当前运行的通信进程或应用进程的执行代码。
[0032]步骤S3:不同版本的通信进程或应用进程同时运行并发送数据至升级管理模块。
[0033]步骤S4:将通信进程或应用进程的端口号按照版本由低到高进行升序排列。
[0034]步骤S5:选择执行端口号数值最大的进程进行数据传送。
[0035]步骤S6:升级管理模块与通过控制模块进行数据交互,终止未被选择的进程。
[0036]下面以应用模块的进程为例,详细说明上述升级方法,如图4所示,该升级方法包括以下步骤:其中,进程I为需要升级的应用模块进程,进程2为升级后的新的应用模块进程。
[0037]当应用模块进程无需升级则执行步骤Hl至H4:
步骤Hl:进程I从共享内存I中获取需要的数据。
[0038]步骤H2:进程I与升级管理模块通过套接字的方式建立连接,端口号设置为n,等连接建立以后,进程I将从共享内存I中获取的数据处理后送给升级管理模块。
[0039]步骤H3:升级管理模块检测若只有端口号为η的模块向自己发送数据,即直接将此数据放入共享内存2中。
[0040]步骤4,通信模块进程从共享内存2中获取数据使用。
[0041]需要升级时,将新版本的可执行代码下载到嵌入式系统中,使之运行(即为进程2),此时进程2与进程I执行同样的数据处理算法(参见步骤Hl至步骤Η4)。
[0042]步骤Η5:进程2同样从共享内存I中获取需要的数据。
[0043]步骤Η6:进程2与升级管理模块通过套接字的方式建立连接,端口号设置为η+1 ;待连接建立以后,进程2也会将从共享内存I中获取的数据经过处理送给升级管理模块。
[0044]此时处理与未升级前的步骤Η3有些许不同,升级管理模块检测到有两个进程同时向自己发送处理后的数据,端口号分别是η与η+1,选择端口号大的进程2的数据传给共享内存2,舍弃端口号小的进程I的数据。
[0045]步骤Η7:升级管理模块与控制模块进行交互,告知控制模块停止运行进程I。
[0046]步骤HS:控制模块停止运行进程1,释放CPU资源。
[0047]另外,本发明还提供了一种嵌入式系统功能模块升级设备,请参阅图4所示,该升级设备包括:嵌入式系统100、与嵌入式系统100网络连接的服务器200。
[0048]嵌入式系统的结构请参见上述,在此不进行一一赘述。
[0049]值得说明的是,上述系统和设备内的模块、单元之间的信息交互、执行过程等内容,由于与本发明的处理方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
[0050]本领域普通技术人员可以理解实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,Random AccessMemory )、磁盘或光盘等。
[0051]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
【主权项】
1.一种嵌入式系统,其特征在于,该系统包括:应用模块、控制模块、通信模块以及升级管理模块; 其中,所述通信模块用于与外界设备进行数据交互以获取数据,所述通信模块具有至少一个通信进程; 所述应用模块用于处理所述通信模块获取的数据并将处理结果反馈至通信模块,所述应用模块具有至少一个应用进程; 所述控制模块用于对所述通信进程和/或所述应用进程进行调度,根据预先设定的调度顺序和用户脚本指令启动或终止所述通信进程和/或所述应用进程; 所述升级管理模块通过套接字方式与通信进程和/或应用进程进行连接,将通信进程或应用进程的端口号按照版本由低到高进行升序排列,选择执行端口号数值最大的进程并通过控制模块终止未被选择的进程。
2.根据权利要求1所述的嵌入式系统,其特征在于,所述通信模块或所述应用模块包括: 共享内存,用于为模块运行进程提供所需数据并接收来自其他模块的数据; 存储单元,用于存储各个版本进程执行代码; 下载单元,用于从服务器下载版本高于当前运行进程的执行代码,并将所述版本高于当前运行进程的执行代码存储至所述存储单元;以及进程运行单元,其同时运行版本不同的多个进程。
3.根据权利要求2所述的嵌入式系统,其特征在于,所述通信模块或所述应用模块还包括: 检测单元,用于检测服务器中是否存在版本高于当前运行进程的文件。
4.根据权利要求2所述的嵌入式系统,其特征在于,所述升级管理模块包括: 编码单元,用于将通信进程或应用进程的端口号按照版本由低到高进行升序排列; 比较单元,用于比较不同版本进程的端口号数值,将端口号数值最大的进程的数据发送至其他模块; 指令单元,将终止未被选择的进程的指令发送至控制模块。
5.权利要求1所述的嵌入式系统的升级方法,其特征在于,包括如下步骤: 从外界服务器下载版本高于当前运行的通信进程或应用进程的执行代码; 不同版本的通信进程或应用进程同时运行并发送数据至升级管理模块; 将通信进程或应用进程的端口号按照版本由低到高进行升序排列; 选择执行端口号数值最大的进程进行数据传送; 升级管理模块与通过控制模块进行数据交互,终止未被选择的进程。
6.根据权利要求5所述的升级方法,其特征在于,所述从外界服务器下载版本高于当前运行的通信进程或应用进程的执行代码步骤之前还包括: 检测服务器中是否存在版本高于当前运行的通信进程或应用进程的文件。
7.一种嵌入式系统功能模块升级设备,其特征在于,包括嵌入式系统、与所述嵌入式系统网络连接的服务器; 所述嵌入式系统包括:应用模块、控制模块、通信模块以及升级管理模块; 其中,所述通信模块用于与外界设备进行数据交互以获取数据,所述通信模块具有至少一个通信进程; 所述应用模块用于处理所述通信模块获取的数据并将处理结果反馈至通信模块,所述应用模块具有至少一个应用进程; 所述控制模块用于对所述通信进程和/或所述应用进程进行调度,根据预先设定的调度顺序和用户脚本指令启动或终止所述通信进程和/或所述应用进程; 所述升级管理模块通过套接字方式与通信进程和/或应用进程进行连接,将通信进程或应用进程的端口号按照版本由低到高进行升序排列,选择执行端口号数值最大的进程并通过控制模块终止未被选择的进程。
【专利摘要】本发明涉及嵌入式系统技术领域,具体涉及一种嵌入式系统、其升级方法以及升级设备。其中,该嵌入式系统包括:应用模块、控制模块、通信模块以及升级管理模块。本发明的嵌入式系统中通信模块和应用模块均支持多进程运行,由于设置了升级管理模块,在多个不同版本进程同时运行时,选择最高版本数据,终止低版本进程,在不影响嵌入式系统通信数据的持续性的情况下完成升级,增加了电网安全性。
【IPC分类】G06F9-445
【公开号】CN104572185
【申请号】CN201410819076
【发明人】谭蕾, 杨寒, 邹娴, 李晓, 崔新友, 文涛
【申请人】武汉烽火富华电气有限责任公司
【公开日】2015年4月29日
【申请日】2014年12月25日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1