著录项信息
专利名称 | 一种基于持续集成的部署方法、装置及系统 |
申请号 | CN201410355703.6 | 申请日期 | 2014-07-24 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2014-10-29 | 公开/公告号 | CN104125504A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04N21/443 | IPC分类号 | H;0;4;N;2;1;/;4;4;3;;;H;0;4;N;2;1;/;4;4;2查看分类表>
|
申请人 | 海信集团有限公司 | 申请人地址 | 山东省青岛市崂山区株洲路151号
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 海信集团有限公司 | 当前权利人 | 海信集团有限公司 |
发明人 | 乔彦东;王新志 |
代理机构 | 北京同达信恒知识产权代理有限公司 | 代理人 | 黄志华 |
摘要
本发明公开了一种基于持续集成的部署方法、装置及系统,应用于android系统的智能电视的测试过程中,主要内容包括:持续集成设备通过串口与智能电视进行指令的交互,并在监测到智能电视运行引导程序时发送停止命令,智能电视停止运行引导程序,并根据接收到的配置信息配置自身的IP地址;持续集成设备向智能电视发送刷机命令,智能电视根据与自身IP地址信息相匹配的持续集成设备的IP地址信息获取已生成的升级文件并执行刷机操作。从而,弥补了android系统的智能电视无法实现自动刷机的缺陷,同时,避免测试人员的主动干预,提高刷机效率。
1.一种基于持续集成的部署方法,其特征在于,应用于android系统的智能电视中,所述方法包括:
持续集成设备通过与智能电视连接的串口向所述智能电视发送重启命令,以指示所述智能电视重启;所述持续集成设备是指在读取提交的代码后能频繁的自动触发自动编译、自动刷机、自动测试这一连续的操作流程的设备;
所述持续集成设备利用所述串口监测所述智能电视的运行状态,并在监测到运行引导程序时,向所述智能电视发送停止命令,以指示所述智能电视停止运行所述引导程序;
所述持续集成设备接收所述智能电视返回的停止响应,并向所述智能电视发送配置信息,以指示所述智能电视根据所述配置信息配置自身的IP地址,其中,所述配置信息中包含智能电视的IP地址信息以及与所述智能电视的IP地址信息相匹配的持续集成设备的IP地址信息;
在监测到所述智能电视完成配置操作后,所述持续集成设备向所述智能电视发送刷机命令,以指示所述智能电视根据与自身IP地址信息相匹配的持续集成设备的IP地址信息获取已生成的升级文件并执行刷机操作。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
在监测到所述智能电视执行刷机操作结束后,所述持续集成设备向所述智能电视发送测试指令,以指示所述智能电视执行测试操作。
3.如权利要求1或2任一项所述的方法,其特征在于,所述升级文件通过以下方式生成:
按照预设周期、以及已配置的源代码的存储地址,获取源代码信息;
对所述源代码信息进行编译,生成升级文件。
4.一种持续集成设备,所述持续集成设备是指在读取提交的代码后能频繁的自动触发自动编译、自动刷机、自动测试这一连续的操作流程的设备;其特征在于,所述设备包括:
智能电视监测单元,用于通过与智能电视连接的串口监测所述智能电视的运行状态;
串口命令发送单元,用于利用所述串口向所述智能电视发送重启命令,以指示所述智能电视重启;以及
用于在智能电视监测单元监测到运行引导程序时,向所述智能电视发送停止命令;以及
用于向所述智能电视发送配置信息,以指示智能电视根据所述配置信息配置自身的IP地址,其中,所述配置信息中包含智能电视的IP地址信息以及与所述智能电视的IP地址信息相匹配的持续集成设备的IP地址信息;以及
用于在智能电视监测单元监测到所述智能电视完成配置操作后,向所述智能电视发送刷机命令,以指示所述智能电视根据与自身IP地址信息相匹配的持续集成设备的IP地址信息获取已生成的升级文件并执行刷机操作;
串口响应接收单元,用于接收所述智能电视返回的停止响应。
5.如权利要求4所述的设备,其特征在于,所述串口命令发送单元,还用于在监测到所述智能电视执行刷机操作结束后,向所述智能电视发送测试指令,以指示所述智能电视执行测试操作。
6.一种基于持续集成的部署方法,其特征在于,应用于android系统的智能电视中,所述方法包括:
智能电视通过与持续集成设备连接的串口接收重启命令,并根据所述重启命令执行重启操作;所述持续集成设备是指在读取提交的代码后能频繁的自动触发自动编译、自动刷机、自动测试这一连续的操作流程的设备;
所述智能电视根据接收到的停止命令,停止运行引导程序,并向所述持续集成设备返回停止响应;
所述智能电视接收所述持续集成设备发送的配置信息,根据所述配置信息配置自身的IP地址,其中,所述配置信息中包含智能电视的IP地址信息以及与所述智能电视的IP地址信息相匹配的持续集成设备的IP地址信息;
所述智能电视接收所述持续集成设备发送的刷机命令,并根据与自身IP地址信息相匹配的持续集成设备的IP地址信息获取已生成的升级文件并执行刷机操作。
7.如权利要求6所述的方法,其特征在于,所述方法还包括:
所述智能电视接收所述持续集成设备发送的测试指令,并根据所述测试指令执行测试操作。
8.如权利要求7所述的方法,其特征在于,所述升级文件通过以下方式生成:
按照预设周期、以及已配置的源代码的存储地址,获取源代码;
对所述源代码进行编译,生成升级文件。
9.一种智能电视,其特征在于,所述智能电视包括:
串口命令接收单元,用于通过与持续集成设备连接的串口接收重启命令,并根据所述重启命令触发重启操作,所述持续集成设备是指在读取提交的代码后能频繁的自动触发自动编译、自动刷机、自动测试这一连续的操作流程的设备;以及
用于接收所述持续集成设备发送的停止命令,并根据所述停止命令停止运行引导程序,以及
用于接收所述持续集成设备发送的配置信息,以及
用于接收所述持续集成设备发送的刷机命令;
串口响应发送单元,用于向持续集成设备返回停止响应;
配置单元,用于根据所述串口命令接收单元接收的所述配置信息配置自身的IP地址,其中,所述配置信息中包含智能电视的IP地址信息以及与所述智能电视的IP地址信息相匹配的持续集成设备的IP地址信息;
升级单元,用于在所述串口命令接收单元接收到刷机命令之后,根据与自身IP地址信息相匹配的持续集成设备的IP地址信息获取已生成的升级文件并执行刷机操作。
10.一种基于持续集成的部署系统,其特征在于,应用于android系统的智能电视中,包括:
持续集成设备,用于通过与智能电视连接的串口向所述智能电视发送重启命令,利用所述串口监测所述智能电视的运行状态,并在监测到运行引导程序时,向所述智能电视发送停止命令,以及接收所述智能电视返回的停止响应,并向所述智能电视发送配置信息,在监测到所述智能电视完成配置操作后,向所述智能电视发送刷机命令;所述持续集成设备是指在读取提交的代码后能频繁的自动触发自动编译、自动刷机、自动测试这一连续的操作流程的设备;
智能电视,用于根据接收到的重启命令进行重启,根据接收到的配置信息配置自身的IP地址,以及根据与自身IP地址信息相匹配的持续集成设备的IP地址信息获取已生成的升级文件并执行刷机操作;
其中,所述配置信息中包含智能电视的IP地址信息以及与所述智能电视的IP地址信息相匹配的持续集成设备的IP地址信息。
一种基于持续集成的部署方法、装置及系统\n技术领域\n[0001] 本发明涉及智能电视测试技术领域,尤其涉及一种基于持续集成的部署方法、装置及系统。\n背景技术\n[0002] 现有技术中,每个智能电视在出厂之前,都会经历多次的质量检测,除了硬件结构需要被检测之外,智能电视的软件系统也成为检测的关键之一。常见的软件系统的检测包括对智能电视的部署,即编译、刷机和测试。\n[0003] 当前软件开发模式下,开发人员需要在验证后,才可将修改的源代码上传源代码服务器,编译服务器定时编译一次,然后将编译后的脚本作为升级文件发送给测试人员进行人工刷机、测试。一般而言,测试人员在对待测试的智能电视进行刷机之前,需要手动重启智能电视,并清除掉智能电视的系统磁盘空间中的所有数据,然后通过外插包含升级文件的U盘来拷贝所述升级文件,然后将该升级文件安装到智能电视中,实现对智能电视的刷机,即更换新的升级软件。\n[0004] 在上述人工部署过程中,基本上都需要人工操作来实现,软件系统的集成复杂度较高,同时,软件集成的效率较低。具体体现在以下几个方面:\n[0005] 1、发送上传的代码质量不同,从而导致发布的升级文件不稳定的情况。\n[0006] 2、若在测试开始前才发现升级文件有严重质量问题,很难对升级文件进行调试,或对上传的源代码进行调试,严重影响测试进度;\n[0007] 若通过手动增加编译次数或对编译后的代码进行手动测试验证质量的方式,均会造成人力成本的成倍增长,增加编译的复杂度。\n[0008] 3、核心代码或者研发技术的权限保护问题;\n[0009] 若封闭所有的源代码信息,不能保证发布的升级文件的质量以及测试结果;若不封闭源代码信息,则可能会泄露需要保密的源代码信息。\n[0010] 4、通过外插安装包的方式向智能电视发送升级文件,以及手动重启智能电视,很难实现智能电视的自动刷机。\n发明内容\n[0011] 本发明实施例提供一种基于持续集成的智能电视的部署方法、装置及系统,用以解决现有技术中存在的人工部署导致软件系统集成复杂度高、效率低的问题。\n[0012] 本发明实施例采用以下技术方案:\n[0013] 一种基于持续集成的部署方法,应用于android系统的智能电视中,所述方法包括:\n[0014] 持续集成设备通过与智能电视连接的串口向所述智能电视发送重启命令,以指示所述智能电视重启;\n[0015] 所述持续集成设备利用所述串口监测所述智能电视的运行状态,并在监测到运行引导程序时,向所述智能电视发送停止命令,以指示所述智能电视停止运行所述引导程序;\n[0016] 所述持续集成设备接收所述智能电视返回的停止响应,并向所述智能电视发送配置信息,以指示所述智能电视根据所述配置信息配置自身的IP地址,其中,所述配置信息中包含智能电视的IP地址信息以及与所述智能电视的IP地址信息相匹配的持续集成设备的IP地址信息;\n[0017] 在监测到所述智能电视完成配置操作后,所述持续集成设备向所述智能电视发送刷机命令,以指示所述智能电视根据与自身IP地址信息相匹配的持续集成设备的IP地址信息获取已生成的升级文件并执行刷机操作。\n[0018] 在本发明实施例中,持续集成设备通过与智能电视进行信息交互,可实现智能电视的自动刷机,从而,避免测试人员的主动干预,提高刷机、测试的效率,而且,能够在整个部署过程中及时反馈不良问题,提升部署的准确性。\n[0019] 一种持续集成设备,所述设备包括:\n[0020] 智能电视监测单元,用于通过与智能电视连接的串口监测所述智能电视的运行状态;\n[0021] 串口命令发送单元,用于利用所述串口向所述智能电视发送重启命令,以指示所述智能电视重启;以及\n[0022] 用于在智能电视监测单元监测到运行引导程序时,向所述智能电视发送停止命令;以及\n[0023] 用于向所述智能电视发送配置信息,以指示智能电视根据所述配置信息配置自身的IP地址,其中,所述配置信息中包含智能电视的IP地址信息以及与所述智能电视的IP地址信息相匹配的持续集成设备的IP地址信息;以及\n[0024] 用于在智能电视监测单元监测到所述智能电视完成配置操作后,向所述智能电视发送刷机命令,以指示所述智能电视根据与自身IP地址信息相匹配的持续集成设备的IP地址信息获取已生成的升级文件并执行刷机操作;\n[0025] 串口响应接收单元,用于接收所述智能电视返回的停止响应。\n[0026] 在本发明实施例中,通过智能电视的智能电视监测单元、串口命令发送单元以及串口响应接收单元与持续集成设备进行信息交互,从而来实现自动刷机,避免测试人员的主动干预,提高刷机、测试的效率,而且,能够在整个部署过程中及时反馈不良问题,提升部署的准确性。\n[0027] 一种基于持续集成的部署方法,应用于android系统的智能电视中,所述方法包括:\n[0028] 智能电视通过与持续集成设备连接的串口接收重启命令,并根据所述重启命令执行重启操作;\n[0029] 所述智能电视根据接收到的停止命令,停止运行引导程序,并向所述持续集成设备返回停止响应;\n[0030] 所述智能电视接收所述持续集成设备发送的配置信息,根据所述配置信息配置自身的IP地址,其中,所述配置信息中包含智能电视的IP地址信息以及与所述智能电视的IP地址信息相匹配的持续集成设备的IP地址信息;\n[0031] 所述智能电视接收所述持续集成设备发送的刷机命令,并根据与自身IP地址信息相匹配的持续集成设备的IP地址信息获取已生成的升级文件并执行刷机操作。\n[0032] 在本发明实施例中,智能电视通过与持续集成设备进行信息交互,可实现自身的自动刷机,从而,避免测试人员的主动干预,提高刷机、测试的效率,而且,能够在整个部署过程中及时反馈不良问题,提升部署的准确性。\n[0033] 一种智能电视,所述智能电视包括:\n[0034] 串口命令接收单元,用于通过与持续集成设备连接的串口接收重启命令,并根据所述重启命令触发重启操作,以及\n[0035] 用于接收所述持续集成设备发送的停止命令,并根据所述停止命令停止运行引导程序,以及\n[0036] 用于接收所述持续集成设备发送的配置信息,以及\n[0037] 用于接收所述持续集成设备发送的刷机命令;\n[0038] 串口响应发送单元,用于向持续集成设备返回停止响应;\n[0039] 配置单元,用于根据所述串口命令接收单元接收的所述配置信息配置自身的IP地址,其中,所述配置信息中包含智能电视的IP地址信息以及与所述智能电视的IP地址信息相匹配的持续集成设备的IP地址信息;\n[0040] 升级单元,用于在所述串口命令接收单元接收到刷机命令之后,根据与自身IP地址信息相匹配的持续集成设备的IP地址信息获取已生成的升级文件并执行刷机操作。\n[0041] 在本发明实施例中,通过智能电视的串口命令接收单元、配置单元以及升级单元与持续集成设备进行信息交互,从而来实现自动刷机,避免测试人员的主动干预,提高刷机、测试的效率,而且,能够在整个部署过程中及时反馈不良问题,提升部署的准确性。\n[0042] 一种基于持续集成的部署系统,应用于android系统的智能电视中,包括:\n[0043] 持续集成设备,用于通过与智能电视连接的串口向所述智能电视发送重启命令,利用所述串口监测所述智能电视的运行状态,并在监测到运行引导程序时,向所述智能电视发送停止命令,以及接收所述智能电视返回的停止响应,并向所述智能电视发送配置信息,在监测到所述智能电视完成配置操作后,向所述智能电视发送刷机命令;\n[0044] 智能电视,用于根据接收到的重启命令进行重启,根据接收到的配置信息配置自身的IP地址,以及根据与自身IP地址信息相匹配的持续集成设备的IP地址信息获取已生成的升级文件并执行刷机操作;\n[0045] 其中,所述配置信息中包含智能电视的IP地址信息以及与所述智能电视的IP地址信息相匹配的持续集成设备的IP地址信息。\n[0046] 在本发明实施例中,利用由持续集成设备以及智能电视构成的基于持续集成的部署系统,借助智能电视与持续集成设备之间的信息交互来实现智能电视的自动刷机,从而,避免测试人员的主动干预,提高刷机、测试的效率,而且,能够在整个部署过程中及时反馈不良问题,提升部署的准确性。\n附图说明\n[0047] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。\n[0048] 图1为本发明实施例中涉及的一种持续集成的部署系统的架构图;\n[0049] 图2(a)为本发明实施例提供的持续集成设备的结构示意图;\n[0050] 图2(b)为本发明实施例提供的持续集成设备所能实现的部署操作的示意图;\n[0051] 图3为本发明实施例提供的智能电视的结构示意图;\n[0052] 图4为本发明实施例提供的自动编译操作能够解决的权限管理问题的示意图;\n[0053] 图5为本发明实施例提供的一种基于持续集成的部署方法的流程图;\n[0054] 图6为本发明实施例提供的一种智能电视自动测试的流程简图。\n具体实施方式\n[0055] 为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。\n[0056] 针对android系统的智能电视,在本发明实施例中,编译、刷机、测试三个部分的流程统称为部署。\n[0057] 在实际开发过程中,不可避免地涉及到多团队、多成员合作的项目,由于管理风格不同、技术实现等多种因素,极易产生背景技术中所涉及的问题。\n[0058] 为了解决现有技术中存在的问题,本发明将持续集成思想引入android系统的智能电视软件开发过程中,通过开发人员提交代码后,频繁的(触发频率可设定)的自动触发自动编译、自动刷机、自动测试这一连续的操作流程;而且,在每次自动编译结束后,都可以通过持续集成设备的web页面展示开发过程中源代码的提交信息,以及通过配置web页面的相关属性,将各个开发人员需求的jar包作为附件上传持续集成设备的web页面,从而,避免了泄露核心代码,保护了研发技术;同时,实现了不同开发人员都能获取各自需要的代码信息的目的。另外,持续集成设备通过与智能电视连接的串口与智能电视进行命令的交互,并通过网络接口向智能电视发送升级文件,以使得智能电视安装该升级文件,从而达到自动刷机的目的;而且,后续仅通过智能电视与持续设备之间的信息交互还可以实现自动测试,从而,避免测试人员的主动干预,提高刷机、测试的效率,而且,能够在整个部署过程中及时反馈不良问题,提升部署的准确性。\n[0059] 下面通过具体的实施例对本发明的技术方案进行详细描述,需要说明的是,本发明包括但并不限于以下实施例。\n[0060] 如图1所示,为本发明实施例中涉及的一种持续集成的部署系统的架构图,该系统中主要包括:持续集成设备101、智能电视102。\n[0061] 持续集成设备101,用于通过与智能电视102连接的串口向所述智能电视102发送重启命令,利用所述串口监测所述智能电视102的运行状态,并在监测到运行引导程序时,向所述智能电视102发送停止命令,以及接收所述智能电视102返回的停止响应,并向所述智能电视102发送配置信息,在监测到所述智能电视102完成配置操作后,向所述智能电视\n102发送刷机命令。\n[0062] 在进行部署操作之前,用户可根据实际需求对该持续集成设备101进行配置,可以包括以下方面:\n[0063] 为持续集成设备101配置触发部署操作的条件,例如:可根据源代码上传至源代码服务器的频率,设置触发部署操作的周期。一般情况下,所述触发部署操作的周期可以根据自动编译的周期进行设定,不论何时上传源代码,持续集成设备以一定的周期获取源代码信息,并触发自动编译操作。\n[0064] 为持续集成设备101配置获取源代码的地址,即源代码服务器的地址。在配置成功后,可根据该地址信息从源代码服务器的相应存储空间中获取源代码信息。\n[0065] 为持续集成设备101配置部署操作中具体的操作类型,在本发明实施例中主要涉及:编译、刷机和测试三种操作类型。在配置好之后,即表示该持续集成设备能够持续实现上述三种操作。\n[0066] 为持续集成设备101配置自动编译程序、自动刷机程序和自动测试程序。\n[0067] 同时,该持续集成设备101中开辟有专门用于存储获取的源代码的源代码存储空间。在该持续集成设备101根据预先配置的源代码服务器的地址,获取相应的源代码信息,然后同步存储到该持续集成设备101的源代码存储空间。\n[0068] 如图2(a)所示,本发明实施例提供的持续集成设备的结构示意图,主要包括以下功能单元:\n[0069] 智能电视监测单元1011,用于通过与智能电视连接的串口监测所述智能电视的运行状态;\n[0070] 串口命令发送单元1012,用于利用所述串口向所述智能电视发送重启命令,以指示所述智能电视重启;以及\n[0071] 用于在智能电视监测单元1011监测到运行引导程序时,向所述智能电视发送停止命令;以及\n[0072] 用于向所述智能电视发送配置信息,以指示智能电视根据所述配置信息配置自身的IP地址,其中,所述配置信息中包含智能电视的IP地址信息以及与所述智能电视的IP地址信息相匹配的持续集成设备的IP地址信息;以及\n[0073] 用于在智能电视监测单元1011监测到所述智能电视完成配置操作后,向所述智能电视发送刷机命令,以指示所述智能电视根据与自身IP地址信息相匹配的持续集成设备的IP地址信息获取已生成的升级文件并执行刷机操作;\n[0074] 串口响应接收单元1013,用于接收所述智能电视返回的停止响应。\n[0075] 优选地,该持续集成设备还包括:通知单元,用于在自动编译或自动刷机或自动测试过程中出现错误时,及时向网络侧管理员发送通知邮件。\n[0076] 智能电视102,用于根据接收到的重启命令进行重启,根据接收到的配置信息配置自身的IP地址,以及根据与自身IP地址信息相匹配的持续集成设备的IP地址信息获取已生成的升级文件并执行升级部署操作;其中,所述配置信息中包含智能电视的IP地址信息以及与所述智能电视的IP地址信息相匹配的持续集成设备的IP地址信息。\n[0077] 此外,该持续集成设备与智能电视交互还用于共同完成自动编译操作以及自动测试操作,如图2(b)所示。\n[0078] 如图3所示,为本发明实施例提供的智能电视的结构示意图,主要包括以下功能单元:\n[0079] 串口命令接收单元1021,用于通过与持续集成设备连接的串口接收重启命令,并根据所述重启命令触发重启操作,以及\n[0080] 用于接收所述持续集成设备发送的停止命令,并根据所述停止命令停止运行引导程序,以及\n[0081] 用于接收所述持续集成设备发送的配置信息,以及\n[0082] 用于接收所述持续集成设备发送的刷机命令;\n[0083] 串口响应发送单元1022,用于向持续集成设备返回停止响应;\n[0084] 配置单元1023,用于根据所述串口命令接收单元1021接收的所述配置信息配置自身的IP地址,其中,所述配置信息中包含智能电视的IP地址信息以及与所述智能电视的IP地址信息相匹配的持续集成设备的IP地址信息;\n[0085] 刷机单元1024,用于在所述串口命令接收单元1021接收到刷机命令之后,根据与自身IP地址信息相匹配的持续集成设备的IP地址信息获取已生成的升级文件并执行刷机操作。\n[0086] 此外,该持续集成的部署系统还用于执行自动编译操作以及自动测试操作,具体内容通过以下实施例说明。\n[0087] 在该持续集成设备成功获取源代码信息之后,会触发配置的自动编译程序进行自动编译操作,形成编译脚本,即用于后续测试的升级文件。由于自动编译操作的实现较为简单,本发明并不对此进行详细说明,以下结合图4仅具体说明该自动编译操作能够解决的权限管理问题。\n[0088] 利用配置的自动编译程序,对获取的源代码信息进行自动编译,在编译完成后,利用持续集成设备的服务器/浏览器结构,配置web页面,由于持续集成设备获取的代码提交信息被从代码审查软件中剥离,并以web网页的方式展现出来,因而所有测试人员以及外包人员都能看到。在自动编译过程中,各个开发人员可以获取的只是代码提交信息,并不能真正获取源代码信息,从而,在保证提交的源代码信息可以被开发人员监测的情况下,保护了开发过程中的核心代码不会外泄,很好的解决了权限管理的问题。\n[0089] 同时,利用持续集成设备的组件特性,自动编译操作触发后,会将必要的jar包上传,并以网页附件形式存在于持续集成设备的web网页,并可以实时发送给各个开发人员,实现核心代码与所需jar包的分离。从而,避免了人工手动跟踪、满足各个开发人员的需求,在保证编译过程中的jar包可以被各个开发人员获知的情况下,节省了人力成本,保护了开发过程中的核心代码不会外泄,也很好的解决了权限管理的问题。\n[0090] 在自动编译操作完成之后,该持续集成设备会自动进入自动刷机操作。相比现有技术中的手动重启智能电视进行刷机,本发明利用底层芯片平台支持的简单文件传输协议刷机模式以及自动刷机程序,来执行刷机的一系列流程。\n[0091] 如图5所示,为本发明实施例提供的一种基于持续集成的部署方法的流程图,主要应用于Android系统智能电视中,且该方法主要介绍了自动刷机的过程,具体包括以下步骤:\n[0092] 步骤201:持续集成设备通过与智能电视连接的串口向智能电视发送重启命令。\n[0093] 本发明实施例中所涉及的串口为现有技术中所有能够实现命令传输的串口。\n[0094] 步骤202:智能电视根据该重启命令执行重启操作。\n[0095] 步骤203:持续集成设备利用该串口监测智能电视的运行状态,并在监测到运行引导程序时,向智能电视发送停止命令。\n[0096] 在本步骤203中,智能电视重启过程中,会在显示页面展示表示各个运行阶段的日志信息,一般情况下,该日志信息中会携带有运行阶段的关键字,持续集成设备可以通过该串口实时读取日志信息中的关键字,进而获知该智能电视的运行状态。\n[0097] 由于刷机操作属于引导程序(一般称为:loader)中的一部分功能,因此,要在引导程序运行过程中,通过向智能电视发送停止命令,来终止该引导程序的正常运行,即在该停止运行状态下对智能电视进行刷机操作。\n[0098] 步骤204:智能电视根据接收到的停止命令,停止运行引导程序,并向持续集成设备返回停止响应。\n[0099] 步骤205:持续集成设备接收智能电视返回的停止响应,并向智能电视发送配置信息,其中,所述配置信息中包含智能电视的IP地址信息以及与所述智能电视的IP地址信息相匹配的持续集成设备的IP地址信息。\n[0100] 在实际的部署过程中,需要进行测试的智能电视的状态可能不一致(当前待测试的智能电视之前可能没有被配置,或当前待测试的智能电视的配置信息与当前的网络环境不符),这就需要在每次进行刷机操作时,都发送一次配置信息,从而将当前待测试的智能电视的配置信息设置为与当前网络环境一致。\n[0101] 由上述步骤205可知,所述配置信息中包含的是智能电视的IP地址信息以及持续集成设备的IP地址信息,之所以利用IP地址信息,是因为:该持续集成设备是连接网络的,而智能电视与与持续集成设备之间是不能通过串口传输文件的,因此,只能建立其他的数据传输连接,而考虑到传输速度的要求,简单的数据线的连接是满足不了的,因而,智能电视与持续集成设备之间建立网络连接,本发明并不对网络连接的方式做具体限定,无线连接、有线连接均可。考虑到传输速度,优选以有线连接为主。而网络上两个设备通讯必须都有IP地址,从而,需要向智能电视发送配置信息,用以配置智能电视的IP地址,同时,告知该智能电视持续集成设备的IP地址,保证能够从正确的地址获取升级文件。\n[0102] 步骤206:所述智能电视接收所述持续集成设备发送的配置信息,根据所述配置信息配置自身的IP地址。\n[0103] 步骤207:在监测到智能电视完成配置操作后,持续集成设备向智能电视发送刷机命令。\n[0104] 步骤208:智能电视接收所述持续集成设备发送的刷机命令,并根据与自身IP地址信息相匹配的持续集成设备的IP地址信息获取已生成的升级文件并执行刷机操作。\n[0105] 智能电视在接收到刷机命令之后,根据自身与持续集成设备之间建立的网络连接,从持续集成设备中获取已编译完成的升级文件;并通过安装该升级文件执行刷机操作。\n[0106] 一般的刷机操作都是为了利用新集成的源代码信息编译得到的升级文件,将待测试的智能电视的相应软件系统进行更新、完善。\n[0107] 优选地,在监测到所述智能电视执行刷机操作结束后,所述持续集成设备向所述智能电视发送测试指令,以指示所述智能电视执行测试操作。\n[0108] 如图6所示,为本发明实施例提供的一种智能电视自动测试的流程简图,具体包括:\n[0109] 步骤301:持续集成设备从源代码服务器获取测试源代码。\n[0110] 步骤302:持续集成设备将测试源代码编译为apk(android安装包)格式的测试文件。\n[0111] 步骤303:持续集成设备为该apk格式的测试文件进行标记(即打标签),并通过adb指令指示智能电视进行相应测试用例的测试。\n[0112] 在该步骤303中,每次adb指令中可以指示进行一个测试用例的测试,也可以同时指示进行多个测试用例的测试,本发明并不对此进行限定。其中,测试用例可以为:整机功能测试、模块接口测试、用户界面测试等。\n[0113] 优选地,所述升级文件通过上述自动编译获取,具体为:\n[0114] 按照预设周期、以及已配置的源代码的存储地址,获取源代码信息;对所述源代码信息进行编译,生成升级文件。\n[0115] 上述基于持续集成的部署方法主要由基于持续集成的部署系统来执行,所述基于持续集成的部署系统中持续集成设备可以为计算机等具有信息处理功能的设备。且该持续集成设备能够按照事先存储的程序,自动、高速地进行大量数值计算,以及信息处理的现代化智能电子设备,其硬件包括但不限于微处理器、嵌入式设备等。\n[0116] 在上述实施例中,自动编译、自动刷机、自动测试都是利用集成在该持续集成设备中的程序实现的,所述程序包括任何用计算机语言编写的命令序列的集合,包括但不限于能实现单一功能的命令序列集、能实现多功能的命令序列集等。\n[0117] 通过以上技术方案,针对android系统的智能电视进行部署操作,将自动编译、自动刷机以及自动测试集成到持续集成设备中,使得该部署操作能够按照预设周期触发,并按照预设的运行脚本执行自动编译、自动刷机和自动测试操作;由于自动编译过程中利用持续集成的特点,将源代码的提取信息展示在wed网页,以及将jar包以附件的形式提交给代码审查软件,在保证各个开发人员能够获知代码编译状况的同时,避免了核心代码的泄露,同时,节省了人力资源;而且,自动刷机的实现,弥补了android系统的智能电视无法实现自动刷机的缺陷,更为重要的是,本发明能够实现自动依次执行自动编译、自动刷机和自动测试的操作,在降低部署成本的同时,提高了部署的效率。\n[0118] 本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。\n[0119] 本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。\n[0120] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。\n[0121] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。\n[0122] 尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。\n[0123] 显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
法律信息
- 2017-05-17
- 2014-12-03
实质审查的生效
IPC(主分类): H04N 21/443
专利申请号: 201410355703.6
申请日: 2014.07.24
- 2014-10-29
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2010-09-01
|
2010-03-31
| | |
2
| |
2014-02-05
|
2013-10-25
| | |
3
| |
2011-03-02
|
2010-11-01
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |