一种面向粒的移动终端代码更新方法技术

技术编号:9596616 阅读:130 留言:0更新日期:2014-01-23 02:08
本发明专利技术公开了一种面向粒的移动终端代码更新方法,属于计算机应用领域,本发明专利技术通过在场所上下文中触发适合性测试支持移动终端程序个体在未知运行环境中的适合性自感知能力;通过在程序个体中定位不适合的粒,实现终端程序个体自主地决定代码更新的范围;通过相似粒查找和替换实现程序个体适合性的自维护;允许移动终端应用程序的开发目标被分解为相互独立的移动终端通用性目标和场所特殊性目标。能够有效解决移动终端上运行的程序的行为与该移动终端所在场所的上下文信息之间的适合性问题,从而增强移动终端的用户体验,体现出所在场所的特定行为,延长了移动终端程序个体的生命期。

【技术实现步骤摘要】
【专利摘要】本专利技术公开了,属于计算机应用领域,本专利技术通过在场所上下文中触发适合性测试支持移动终端程序个体在未知运行环境中的适合性自感知能力;通过在程序个体中定位不适合的粒,实现终端程序个体自主地决定代码更新的范围;通过相似粒查找和替换实现程序个体适合性的自维护;允许移动终端应用程序的开发目标被分解为相互独立的移动终端通用性目标和场所特殊性目标。能够有效解决移动终端上运行的程序的行为与该移动终端所在场所的上下文信息之间的适合性问题,从而增强移动终端的用户体验,体现出所在场所的特定行为,延长了移动终端程序个体的生命期。【专利说明】
本专利技术属于计算机应用领域,涉及一种移动终端代码更新方法,具体涉及。
技术介绍
面向对象编程语言,提出了对象、封装、继承和多态等思想。面向对象开发思想,使得程序的不同类与类之间实现了高内聚、低偶合;封装使得程序的开发模块化,类可以划分为不同的模块,模块结构清晰,粒度划分灵活;继承和多态对于开发功能多样化的程序提供了良好的实现机制。这些对于开发轻量、灵活、模块化和可复用的程序提供了强大的编程语言机制支持。每个程序都关联一些特定的上下文。在传统的编程机制中已经隐式或显式地蕴涵了程序和上下文之间的关系(适合性)。依赖于上下文的行为使得程序行为与上下文联系在一起以利于开发和维护那些上下文可知的程序,然而,程序运行的上下文往往是变化的,这就使得一个程序的开发和维护面临穷尽所有依赖上下文行为的问题,因而有必要采取不同的行为版本来适应上下文的变化。面向上下文的编程(COP)是对面向对象编程的革新,引入层(layer)封装部分类(partial class)。程序运行时根据运行时上下文变化激活与去活一些层来实现动态选择程序中的一些代码来执行。COP要求上下文是程序的一阶对象(first-class object),并要求程序员在程序中穷尽所有依赖上下文的行为,使得程序开发受到较大制约且容易产生代码膨胀,另一方面,因为COP的层是平的,所以COP程序结构的灵活性小,并且不支持动态代码更新,但允许在程序既有的代码中进行动态选择。动态软件更新(DSU)允许程序员给正在运行中的程序打补丁以修正错误或增加新功能,支持维护那些因停机代价过大的系统,提高其可用性。DSU技术发展历史比较长,主要解决了减轻更新操作对目标系统干扰的问题。DSU技术需要程序员指定更新的范围和实施更新的时机、以及提供更新代码,所以更新成本高,难以适应海量个性化软件系统的实时更新。现有移动终端软件的开发主要基于传统主流编程方式,程序本身不支持更新,需要借助程序外部的方法来支持软件更新。软件更新的触发主要通过外部检测和比较的方法,有些方法通过检测移动终端程序个体的运行状态以触发程序更新;专利200510134372.4和专利200910190619.2等一些方法通过比较移动终端当前软件版本与服务器、数据库存储等存储器中的软件版本,以决定软件是否需要更新。这些基于程序外部手段的软件更新触发方法使得程序更新可能产生滞后,更新局限性、开销比较大。软件代码更新主要基于构件、版本粒度,这种粗粒度的代码更新限制了代码更新的灵活性和更新代码的可复用性;并且软件更新所需的构件、版本一般都是静态的、提前准备好的,难以满足移动终端程序针对多样化上下文的动态更新需求,程序个体运行于不同终端和场所下的个性化需求也增加了程序员开发的难度;软件对应的程序本身不支持更新,需要通过软件工程方法来实现,开销比较大;在上下文变化频繁的情况下,容易产生组件或版本抖动,导致一些无谓的中间过程开销。
技术实现思路
本专利技术的目的在于提供,该方法能够有效解决移动终端上运行的程序的行为与该移动终端所在场所的上下文信息之间的适合性问题,从而增强移动终端的用户体验,体现出所在场所的特定行为,延长了移动终端程序个体的生命期。本专利技术是采用以下技术方案来实现:,包括以下步骤:I)将面向粒的终端程序个体加载到移动终端中运行;2)将面向粒的场所程序个体部署到场所服务器提供相似粒服务;3)触发面向粒的终端程序个体的适合性测试,感知终端程序个体的适合性是否满足,若满足则该终端程序个体继续运行,否则转4);4)面向粒的终端程序个体定位出自身中存在的不合适的粒,并通过场所路由器与对应的场所服务器通信,向场所服务器请求相似粒,由场所服务器从面向粒的场所程序个体中找到相似粒并返回;5)该终端程序个体将自身中的不适合的粒替换为步骤4)所找到的相似粒,完成本次移动终端代码更新,更新后的终端程序个体继续运行,并转3)。所述的适合性测试是封装在粒中的程序代码,根据当前上下文返回程序的适合性是否是满足的,且能根据当前上下文的信息分辨出移动终端是否处在某个场所范围内。所述的相似粒为处于同一个程序种群内的互为相似的两个粒,两个粒所依赖的上下文变量相同,对应的根类也相同,且两个粒的父粒都不存在或者两个粒的父粒也互为相似粒。所述的粒替换在安全点进行,安全点是指被替换粒的所有后代粒的粒方法都处于非活动状态。所述的面向粒的终端程序和面向粒的场所程序都由基础体部分和变体部分组成,基础体部分和变体部分通过粒联系在一起,且这些粒构成树状层次结构。所述的面向粒的终端程序个体与面向粒的场所程序个体属于同一个程序种群。所述的同一个程序种群中的程序个体的基础体都相同。所述的场所服务器维护指定场所范围内的场所程序个体和上下文信息、并为场所内的终端程序个体的代码更新提供更新代码服务。所述的场所服务器为终端程序个体提供的更新代码,是以粒的形式存在,且为场所程序个体的粒树中的粒。所述场所路由器与对应的场所服务器通信是通过有线连接或无线连接。与现有技术相比,本专利技术具有以下有益的技术效果:1、本专利技术通过在场所上下文中触发移动终端程序个体的适合性测试来反映该程序个体的适合性是否满足,对移动终端程序个体在未知运行环境中的适合性自感知能力提供了支持,实现了移动终端程序自主地决定何时进行代码更新;2、本专利技术通过定位适合性不满足的移动终端程序个体中的那些不适合的粒,实现了移动终端程序自主地决定在进行代码更新时更新的范围;3、本专利技术通过从场所服务器的场所程序个体中查找相似粒,程序个体通过相似粒替换机制,完成将移动终端中的不适合粒替换为适合粒的过程,实现了程序个体适合性的自维护;4、本专利技术允许移动终端程序个体的开发不受场所应用需求的制约,而场所程序个体的开发不受其他场所应用需求的制约,从而将移动终端应用程序的开发目标分解成移动终端本身通用性目标和场所特殊性目标这两个独立的开发目标,有助于提高移动终端应用程序的用户体验,并降低开发、维护的难度及成本。【专利附图】【附图说明】图1是程序个体运行环境的网络拓扑结构图;图2是移动终端程序的加载及运行支撑图;图3是程序个体的粒模块组成图;图4是程序个体的相似粒替换原理图;图5是移动终端程序个体的代码更新流程图;图6是移动终端程序个体的开发运行流程图;图7是场所程序个体的开发运行流程图。【具体实施方式】下面结合具体的附图及实施例对本专利技术做进一步的详细说明,所述是对本专利技术的解释而不是限定。面向粒的程序构造方法目前实现为对Java语言的扩展,称作GranuleJ Java语言是GranuleJ的宿主语言;基于Gran本文档来自技高网
...

【技术保护点】
一种面向粒的移动终端代码更新方法,其特征在于,包括以下步骤:1)将面向粒的终端程序个体加载到移动终端中运行;2)将面向粒的场所程序个体部署到场所服务器提供相似粒服务;3)触发面向粒的终端程序个体的适合性测试,感知终端程序个体的适合性是否满足,若满足则该终端程序个体继续运行,否则转4);4)面向粒的终端程序个体定位出自身中存在的不合适的粒,并通过场所路由器与对应的场所服务器通信,向场所服务器请求相似粒,由场所服务器从面向粒的场所程序个体中找到相似粒并返回;5)该终端程序个体将自身中的不适合的粒替换为步骤4)所找到的相似粒,完成本次移动终端代码更新,更新后的终端程序个体继续运行,并转3)。

【技术特征摘要】

【专利技术属性】
技术研发人员:赵银亮韩博曾庆花谭坛王洋
申请(专利权)人:西安交通大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1