[发明专利]一种面向粒的移动终端代码更新方法有效
申请号: | 201310426198.5 | 申请日: | 2013-09-17 |
公开(公告)号: | CN103530147A | 公开(公告)日: | 2014-01-22 |
发明(设计)人: | 赵银亮;韩博;曾庆花;谭坛;王洋 | 申请(专利权)人: | 西安交通大学 |
主分类号: | G06F9/445 | 分类号: | G06F9/445;H04L29/06 |
代理公司: | 西安通大专利代理有限责任公司 61200 | 代理人: | 汪人和 |
地址: | 710049 *** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 面向 移动 终端 代码 更新 方法 | ||
技术领域
本发明属于计算机应用领域,涉及一种移动终端代码更新方法,具体涉及一种面向粒的移动终端代码更新方法。
背景技术
面向对象编程语言,提出了对象、封装、继承和多态等思想。面向对象开发思想,使得程序的不同类与类之间实现了高内聚、低偶合;封装使得程序的开发模块化,类可以划分为不同的模块,模块结构清晰,粒度划分灵活;继承和多态对于开发功能多样化的程序提供了良好的实现机制。这些对于开发轻量、灵活、模块化和可复用的程序提供了强大的编程语言机制支持。
每个程序都关联一些特定的上下文。在传统的编程机制中已经隐式或显式地蕴涵了程序和上下文之间的关系(适合性)。依赖于上下文的行为使得程序行为与上下文联系在一起以利于开发和维护那些上下文可知的程序,然而,程序运行的上下文往往是变化的,这就使得一个程序的开发和维护面临穷尽所有依赖上下文行为的问题,因而有必要采取不同的行为版本来适应上下文的变化。
面向上下文的编程(COP)是对面向对象编程的革新,引入层(layer)封装部分类(partial class)。程序运行时根据运行时上下文变化激活与去活一些层来实现动态选择程序中的一些代码来执行。COP要求上下文是程序的一阶对象(first-class object),并要求程序员在程序中穷尽所有依赖上下文的行为,使得程序开发受到较大制约且容易产生代码膨胀,另一方面,因为COP的层是平的,所以COP程序结构的灵活性小,并且不支持动态代码更新,但允许在程序既有的代码中进行动态选择。
动态软件更新(DSU)允许程序员给正在运行中的程序打补丁以修正错误或增加新功能,支持维护那些因停机代价过大的系统,提高其可用性。DSU技术发展历史比较长,主要解决了减轻更新操作对目标系统干扰的问题。DSU技术需要程序员指定更新的范围和实施更新的时机、以及提供更新代码,所以更新成本高,难以适应海量个性化软件系统的实时更新。
现有移动终端软件的开发主要基于传统主流编程方式,程序本身不支持更新,需要借助程序外部的方法来支持软件更新。软件更新的触发主要通过外部检测和比较的方法,有些方法通过检测移动终端程序个体的运行状态以触发程序更新;专利200510134372.4和专利200910190619.2等一些方法通过比较移动终端当前软件版本与服务器、数据库存储等存储器中的软件版本,以决定软件是否需要更新。这些基于程序外部手段的软件更新触发方法使得程序更新可能产生滞后,更新局限性、开销比较大。软件代码更新主要基于构件、版本粒度,这种粗粒度的代码更新限制了代码更新的灵活性和更新代码的可复用性;并且软件更新所需的构件、版本一般都是静态的、提前准备好的,难以满足移动终端程序针对多样化上下文的动态更新需求,程序个体运行于不同终端和场所下的个性化需求也增加了程序员开发的难度;软件对应的程序本身不支持更新,需要通过软件工程方法来实现,开销比较大;在上下文变化频繁的情况下,容易产生组件或版本抖动,导致一些无谓的中间过程开销。
发明内容
本发明的目的在于提供一种面向粒的移动终端代码更新方法,该方法能够有效解决移动终端上运行的程序的行为与该移动终端所在场所的上下文信息之间的适合性问题,从而增强移动终端的用户体验,体现出所在场所的特定行为,延长了移动终端程序个体的生命期。
本发明是采用以下技术方案来实现:
一种面向粒的移动终端代码更新方法,包括以下步骤:
1)将面向粒的终端程序个体加载到移动终端中运行;
2)将面向粒的场所程序个体部署到场所服务器提供相似粒服务;
3)触发面向粒的终端程序个体的适合性测试,感知终端程序个体的适合性是否满足,若满足则该终端程序个体继续运行,否则转4);
4)面向粒的终端程序个体定位出自身中存在的不合适的粒,并通过场所路由器与对应的场所服务器通信,向场所服务器请求相似粒,由场所服务器从面向粒的场所程序个体中找到相似粒并返回;
5)该终端程序个体将自身中的不适合的粒替换为步骤4)所找到的相似粒,完成本次移动终端代码更新,更新后的终端程序个体继续运行,并转3)。
所述的适合性测试是封装在粒中的程序代码,根据当前上下文返回程序的适合性是否是满足的,且能根据当前上下文的信息分辨出移动终端是否处在某个场所范围内。
所述的相似粒为处于同一个程序种群内的互为相似的两个粒,两个粒所依赖的上下文变量相同,对应的根类也相同,且两个粒的父粒都不存在或者两个粒的父粒也互为相似粒。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安交通大学,未经西安交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310426198.5/2.html,转载请声明来源钻瓜专利网。