用户无感的应用程序内更新方法及用户端、程序服务器技术

技术编号:26303772 阅读:28 留言:0更新日期:2020-11-10 19:58
本发明专利技术属于软件工程技术领域,具体公开了一种用户无感的应用程序内更新方法,该方法在所述应用程序在线期间,直接更新用户端的内存,包括如下步骤:上传步骤,将修改过的代码以更新包的格式上传至一网络容器;通知步骤,支撑所述应用程序运行的程序服务器发出更新通知,并将所述网络容器的网络地址提供给所述用户端;获取步骤,所述用户端根据所述网络地址获取所述更新包;更新步骤,所述用户端解析所述更新包,并将解析后的文件加载到内存,覆盖内存中相应的内容。本发明专利技术的优点在于通过服务器端与用户端通信就解决了应用程序的更新问题,用户无感。

【技术实现步骤摘要】
用户无感的应用程序内更新方法及用户端、程序服务器
本专利技术涉及软件工程
,尤其涉及了一种用户无感的应用程序内更新方法及用户端、程序服务器。
技术介绍
无论是电脑端还是手机、平板,都可以运行品种繁多的应用程序。为了提供给用户更好的使用体验,通常应用程序都需要进行更新。而游戏作为应用程序中迭代速度最快的一个种类,总是会出现开发时未发现的漏洞以及在游戏生存期间对业务逻辑的调整需求。当前业界对上述问题的处理方式主要包括:①离线修复问题,即,重新发布新的应用程序安装包,通过运营渠道投放到市场,由用户主动选择是否更新;②在线修复问题,即,等用户退出游戏再重新登录后,拉取修复代码更新包。上述的第一种方案存在修复周期长,修复不完整问题,如果用户不主动去获取修复后的应用程序,那么这些漏洞是没法修复的。也就是说,如果用户不知道已发布了应用程序的更新包,那么更新就无法进行。而第二种方案存在玩家不重启游戏就无法修复的问题。而事实上,尤其是手机或平板的用户,往往登录了一个账号后,就不再退出,会维持登录状态很久很久,那么第二种修复方法也不能及时达到目的。综上,现有的更新/修复方法都对用户有要求,需要用户的主动参与,在一定程度上对用户的使用体验造成负面影响。
技术实现思路
为了解决上述缺陷,提高用户的使用感受,本专利技术提出了新的应用程序更新方法,该方法不需要用户主动参与,在用户无感的情况下,静默升级/修复程序,且过程短暂,不需要停止应用程序的使用,不影响用户使用应用程序。本专利技术提供一种用户无感的应用程序内更新方法,在所述应用程序在线期间,直接更新用户端的内存,包括如下步骤:上传步骤,支撑所述应用程序运行的程序服务器将更新包上传至一网络容器;通知步骤,所述程序服务器发出更新通知,并将所述网络容器的网络地址提供给所述用户端;获取步骤,所述用户端根据所述网络地址获取所述更新包;更新步骤,所述用户端解析所述更新包,并将解析后的文件加载到内存,覆盖内存中相应的内容。上述的更新方法,其中,所述更新包包括以文本格式存储的代码,所述代码为通过改写和/或复写方式修改的新的代码段;所述改写包括:删除原代码段并重新输入新的代码段;所述复写包括:保留原代码段并新增代码段,以修正所述原代码段中的偏差。上述的更新方法,其中,所述上传步骤中,上传的所述更新包是全部代码或部分代码段。上述的更新方法,其中,所述网络容器包括下载服务器。上述的更新方法,其中,所述通知步骤中包括:广播步骤,所述程序服务器向在线用户广播所述更新通知及所述网络地址;或强制更新步骤,对于离线后重新登录的用户,所述程序服务器强制用户端拉取所述更新包;或打时间戳步骤,所述程序服务器在发出所述更新通知时记录通知时间,当休眠用户发出重连请求后,首先比较所述用户最近一次的登录时间和所述通知时间,若所述登陆时间早于所述通知时间,则向所述用户发送所述更新通知及所述网络地址。上述的更新方法,其中,所述获取步骤中包括退出机制,所述退出机制包括:预设一超时时间,若所述用户端在所述超时时间内未能获得所述更新包,则退出,再次执行所述获取步骤。上述的更新方法,其中,所述获取步骤中包括退出机制,所述退出机制还包括:预设一最大次数,若所述用户端连续获取所述更新包不成功超次数过所述最大次数,则退出更新过程。相应的,本专利技术还提出了一种客户端,所述用户端响应于一更新通知执行如下步骤:获取步骤,根据所述更新通知提供的网络地址获取一更新包;更新步骤,解析所述更新包,并将解析后的文件加载到内存,覆盖内存中相应的内容。上述的用户端,其中,所述获取步骤中包括一退出机制,所述退出机制包括:预设一超时时间,若所述用户端在所述超时时间内未能获得所述更新包,则退出,再次执行所述获取步骤。上述的用户端,其中,所述退出机制还包括:预设一最大次数,若所述用户端连续获取所述更新包不成功次数超过所述最大次数,则退出更新过程。相应的,本专利技术还提出了一种程序服务器,所述程序服务器响应于一修改过的代码执行如下步骤:上传步骤,将所述修改过的代码以更新包的格式上传至一网络容器;通知步骤,发出更新通知,并提供所述网络容器的网络地址。上述的程序服务器中,对于在线用户,通过广播的方式通知所述更新通知及所述网络地址;对于离线后重新登录的用户,直接强制拉取所述更新包;对于休眠用户,所述程序服务器在发出所述更新通知时记录通知时间,当所述用户发出重连请求后,首先比较所述用户最近一次的登录时间和所述通知时间,若所述登陆时间早于所述通知时间,则向所述用户发送所述更新通知及所述网络地址,否则不通知。相应的,本专利技术还提出了一种应用程序的支撑系统,包括如上所述的程序服务器和如上所述的用户端,所述程序服务器向所述用户端提供更新包;所述用户端包括一代码解析器,所述代码解析器对所述代码文本进行解析,并使用解析后的文件替换内存中相应的内容,从而完成程序内更新与现有技术相比,本专利技术在通过服务器端与用户端通信就解决了应用程序的更新问题。以OSI的标准7层协议来分析,相当于在会话层就解决了程序更新的问题,不需要应用层(用户)的参与,因此可以做到用户无感。其次,用户端获取的是更新包主要包括的内容是文本文件,而一般来说,应用程序的文本部分至多是兆级(MB)的,因此,本专利技术中需要传输和编译的文件很小,从而可进一步保证用户无感。此外,用户端用解析后的文件直接覆盖内存中相应部分的内容,不需要像传统的升级方法那样重新启动应用程序,从另一个层面保证了用户无感。附图说明图1是根据本专利技术一实施例的系统流程图;图2是根据本专利技术中一个用户端实施例的流程图;图3是根据本专利技术中一个程序服务器实施例的流程图。具体实施方式以下由特定的具体实施例说明本专利技术的实施方式,本领域技术人员可由本说明书所揭示的内容轻易地了解本专利技术的其他优点及功效。虽然本专利技术的描述将结合较佳实施例一起介绍,但这并不代表此专利技术的特征仅限于该实施方式。恰恰相反,结合实施方式作专利技术介绍的目的是为了覆盖基于本专利技术的权利要求而有可能延伸出的其它选择或改造。为了提供对本专利技术的深度了解,以下描述中将包含许多具体的细节。本专利技术也可以不使用这些细节实施。此外,为了避免混乱或模糊本专利技术的重点,有些具体细节将在描述中被省略。需要说明的是,在不冲突的情况下,本专利技术中的实施例及实施例中的特征可以相互组合。应注意的是,在本说明书中,相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,默认为同一定义。本专利技术的核心思想在于,通过程序服务器和用户端在比较底层的通信协议层上静默完成应用程序的升级/修复以达到使用户无感的效果。此外,采用在网络传输中只传输代码文本、解析后的文件直接覆盖内存的手段,充分缩短更新/修复所占用的本文档来自技高网...

【技术保护点】
1.一种用户无感的应用程序内更新方法,其特征在于,在所述应用程序在线期间,直接更新用户端的内存,包括如下步骤:/n上传步骤,支撑所述应用程序运行的程序服务器将更新包上传至一网络容器;/n通知步骤,所述程序服务器发出更新通知,并将所述网络容器的网络地址提供给所述用户端;/n获取步骤,所述用户端根据所述网络地址获取所述更新包;/n更新步骤,所述用户端解析所述更新包,并将解析后的文件加载到内存,覆盖内存中相应的内容。/n

【技术特征摘要】
1.一种用户无感的应用程序内更新方法,其特征在于,在所述应用程序在线期间,直接更新用户端的内存,包括如下步骤:
上传步骤,支撑所述应用程序运行的程序服务器将更新包上传至一网络容器;
通知步骤,所述程序服务器发出更新通知,并将所述网络容器的网络地址提供给所述用户端;
获取步骤,所述用户端根据所述网络地址获取所述更新包;
更新步骤,所述用户端解析所述更新包,并将解析后的文件加载到内存,覆盖内存中相应的内容。


2.如权利要求1所述的方法,其特征在于,所述更新包包括以文本格式存储的代码,所述代码为通过改写和/或复写方式修改的新的代码段;
所述改写包括:删除原代码段并重新输入新的代码段;
所述复写包括:保留原代码段并新增代码段,以修正所述原代码段中的偏差。


3.如权利要求1所述的方法,其特征在于,所述上传步骤中,上传的所述更新包是全部代码或部分代码段。


4.如权利要求1所述的方法,其特征在于,所述网络容器包括下载服务器。


5.如权利要求1所述的方法,其特征在于,所述通知步骤中包括:
广播步骤,所述程序服务器向在线用户广播所述更新通知及所述网络地址;或
强制更新步骤,对于离线后重新登录的用户,所述程序服务器强制用户端拉取所述更新包;或
打时间戳步骤,所述程序服务器在发出所述更新通知时记录通知时间,当休眠用户发出重连请求后,首先比较所述用户最近一次的登录时间和所述通知时间,若所述登陆时间早于所述通知时间,则向所述用户发送所述更新通知及所述网络地址。


6.如权利要求1所述的方法,其特征在于,所述获取步骤中包括退出机制,所述退出机制包括:预设一超时时间,若所述用户端在所述超时时间内未能获得所述更新包,则退出,再次执行所述获取步骤。


7.如权利要求6所述的方法,其特征在于,所述获取步骤中包括退出机制,所述退出机...

【专利技术属性】
技术研发人员:周斌顾建叶杨昇徐建国李云龙
申请(专利权)人:上海莉莉丝科技股份有限公司
类型:发明
国别省市:上海;31

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

1