一种版本切换方法、系统和应用程序与流程

文档序号:31733512发布日期:2022-10-05 02:46阅读:61来源:国知局
一种版本切换方法、系统和应用程序与流程

1.本发明涉及计算机技术领域,特别涉及人工智能技术领域,尤其涉及一种版本切换方法、系统和应用程序。


背景技术:

2.随着各个应用上云的进程推进,越来越多的应用使用基于spring framework以及spring boot作为框架的java web后端应用程序来实现容器化上云。目前主流的部署方式是将整体后端项目编译成为软件包(jar包)后发布到服务器上。但是,在发布软件包的新版本时,需要在较长时间内停止应用程序运行,在此期间用户无法使用应用功能,影响用户体验。


技术实现要素:

3.本发明的一个目的在于提供一种版本切换方法,能够在无需停止当前运行应用程序的情况下实现jar包的版本切换,保证用户使用的连贯性,提高用户体验。本发明的另一个目的在于提供一种应用程序。本发明的再一个目的在于提供一种版本切换系统。本发明的还一个目的在于提供一种计算机可读介质。本发明的还一个目的在于提供一种计算机设备。
4.为了达到以上目的,本发明一方面公开了一种版本切换方法,包括:
5.获取新版本软件包和原始版本网络服务;
6.根据新版本软件包对原始版本网络服务进行更新,生成新版本网络服务;
7.通过新版本网络服务对接收到的新用户请求进行处理,并保持通过原始版本网络服务对当前用户请求进行处理,直至所有当前用户请求处理完成,停止运行原始版本网络服务,完成网络服务版本切换。
8.优选的,在获取新版本软件包和原始版本网络服务之前,还包括:
9.接收持续集成流水线发送的新版本软件包的文件信息,文件信息包括加密密钥和位置信息;
10.按照位置信息从文件服务器中获取加密软件包;
11.通过加密密钥,对加密软件包进行解密,得到新版本软件包。
12.优选的,在通过加密密钥,对加密软件包进行解密,得到新版本软件包之后,还包括:
13.对新版本软件包进行完整性验证;
14.若验证通过,继续执行根据新版本软件包对原始版本网络服务进行更新,生成新版本网络服务的步骤。
15.优选的,根据新版本软件包对原始版本网络服务进行更新,生成新版本网络服务,包括:
16.拷贝原始版本网络服务,得到服务副本,服务副本包括原始版本软件包;
17.将新版本软件包替换服务副本中的原始版本软件包,得到待运行网络服务;
18.按照设置的端口信息和分配流量,对待运行网络服务进行配置,生成新版本网络服务。
19.优选的,方法还包括:
20.对新版本网络服务进行服务验证;
21.若服务验证通过,则版本切换成功;
22.若服务验证失败,则版本切换失败,停止运行新版本网络服务,并保持原始版本网络服务。
23.优选的,在通过新版本网络服务对接收到的新用户请求进行处理之前,还包括:
24.将新版本网络服务的端口信息发送至后台服务器,以供后台服务器将接收到的新用户请求连接至新版本网络服务。
25.优选的,在停止运行原始版本网络服务之后,还包括:
26.备份保存原始版本网络服务。
27.优选的,在停止运行原始版本网络服务之后,还包括:
28.将原始版本网络服务的分配流量转发至新版本网络服务。
29.本发明还公开了一种版本切换系统,系统包括:应用程序和文件服务器;
30.应用程序用于从文件服务器中获取新版本软件包和原始版本网络服务;根据新版本软件包对原始版本网络服务进行更新,生成新版本网络服务;通过新版本网络服务对接收到的新用户请求进行处理,并保持通过原始版本网络服务对当前用户请求进行处理,直至所有当前用户请求处理完成,停止运行原始版本网络服务,完成网络服务版本切换。
31.优选的,系统还包括持续集成流水线;
32.持续集成流水线用于向应用程序发送新版本软件包的文件信息,文件信息包括加密密钥和位置信息;
33.应用程序还用于按照位置信息从文件服务器中获取加密软件包;通过加密密钥,对加密软件包进行解密,得到新版本软件包。
34.优选的,系统还包括后台服务器;
35.应用程序还用于将新版本网络服务的端口信息发送至后台服务器,以供后台服务器将接收到的新用户请求连接至新版本网络服务。
36.本发明还公开了一种应用程序,包括:
37.第一获取单元,用于获取新版本软件包和原始版本网络服务;
38.更新单元,用于根据新版本软件包对原始版本网络服务进行更新,生成新版本网络服务;
39.切换单元,用于通过新版本网络服务对接收到的新用户请求进行处理,并保持通过原始版本网络服务对当前用户请求进行处理,直至所有当前用户请求处理完成,停止运行原始版本网络服务,完成网络服务版本切换。
40.本发明还公开了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述方法。
41.本发明还公开了一种计算机设备,包括存储器和处理器,所述存储器用于存储包括程序指令的信息,所述处理器用于控制程序指令的执行,所述处理器执行所述程序时实
现如上所述方法。
42.本发明还公开了一种计算机程序产品,包括计算机程序/指令,计算机程序/指令被处理器执行时实现如上所述方法。
43.本发明获取新版本软件包和原始版本网络服务;根据新版本软件包对原始版本网络服务进行更新,生成新版本网络服务;通过新版本网络服务对接收到的新用户请求进行处理,并保持通过原始版本网络服务对当前用户请求进行处理,直至所有当前用户请求处理完成,停止运行原始版本网络服务,完成网络服务版本切换,能够在无需停止当前运行应用程序的情况下实现jar包的版本切换,保证用户使用的连贯性,提高用户体验。
附图说明
44.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
45.图1为本发明实施例提供的一种版本切换系统的结构示意图;
46.图2为本发明实施例提供的一种版本切换方法的流程图;
47.图3为本发明实施例提供的又一种版本切换方法的流程图;
48.图4为本发明实施例提供的一种应用程序的结构示意图;
49.图5为本发明实施例提供的一种计算机设备的结构示意图。
具体实施方式
50.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
51.需要说明的是,本技术公开的一种版本切换方法、系统和应用程序可用于人工智能技术领域,也可用于除人工智能技术领域之外的任意领域,本技术公开的一种版本切换方法、系统和应用程序的应用领域不做限定。
52.为了便于理解本技术提供的技术方案,下面先对本技术技术方案的相关内容进行说明。本发明基于java的类加载器(classloader),通过将需要更新的软件包(jar包)上传至文件服务器,同时通过预留的通信接口通知应用程序进行class文件的获取与替换,在替换的同时通过调度器实现了新旧版本应用与新老用户会话的衔接,能够做到无感升级。其中,classloader用于将java程序加载到虚拟机中进行运行。
53.图1为本发明实施例提供的一种版本切换系统的结构示意图,如图1所示,该系统包括:应用程序110和文件服务器120,应用程序110与文件服务器120通信连接。
54.应用程序110包括调度器111和通信接口112,能够实现业务功能和对jar包的解密功能;文件服务器120用于存储jar包。
55.应用程序110用于从文件服务器120中获取新版本jar包和原始版本网络(web)服务;根据新版本jar包对原始版本web服务进行更新,生成新版本web服务;通过新版本web服
务对接收到的新用户请求进行处理,并保持通过原始版本web服务对当前用户请求进行处理,直至所有当前用户请求处理完成,停止运行原始版本web服务,完成web服务版本切换。
56.本发明实施例中,系统还包括持续集成流水线130,持续集成流水线130与应用程序110和文件服务器120分别通信连接。持续集成流水线130包括监控程序131和jar包加密装置132,能够实现文件上传功能和jar包加密功能。持续集成流水线130通过监控程序131和通信接口112与应用程序110连接。
57.持续集成流水线131用于向应用程序110发送新版本jar包的文件信息,文件信息包括加密密钥和位置信息;应用程序110还用于按照位置信息从文件服务器120中获取加密jar包;通过加密密钥,对加密jar包进行解密,得到新版本jar包。
58.本发明实施例中,系统还包括后台服务器140,后台服务器与应用程序110通信连接。后台服务器140用于对用户请求进行web服务处理。
59.应用程序110还用于将新版本web服务的端口信息发送至后台服务器140,以供后台服务器140将接收到的新用户请求连接至新版本web服务。
60.本发明实施例中,调度器111包括性能嗅探器(简称:嗅探器)和更新调度控制器(简称:控制器)。嗅探器负责监测现有的web服务应用程序的运行负载,为控制器提供应用性能与网络指标信息,以确定更新的时间段。调度器根据嗅探器收集到的数据对待更新jar包的应用程序进行包括但不限于数据移行、流量切换与配置修改的处理工作。
61.嗅探器的工作阶段包括嗅探器初始化阶段、持续嗅探阶段和信息上报阶段。在初始化阶段,嗅探器随web服务应用程序初始化而初始化并启动,在初始化过程中,首先检查设置的目标目录是否存在监控程序131的配置文件,如果存在则尝试初始化监控,初始化成功则进入持续监控阶段,初始化失败则会生成通知发送给数据中心。初始化阶段可以设置嗅探器的嗅探间隔、上报间隔、上报方式等参数。在持续嗅探阶段,嗅探器监控应用的各项预设的指标信息,包括但不限于:java虚拟机(jvm)堆栈使用情况、jvm垃圾回收发生情况与周期、jvm内存泄露情况、线程分析、应用会话数、数据库连接数、操作系统中央处理器(cpu)使用量、操作系统内存使用率和操作系统网络连接数,监控信息功能主要通过jvm内核钩子、应用程序内置接口和操作系统接口实现。在信息上报阶段,嗅探器根据初始化类型的不同,以不同方式进行数据上报。默认通过业内统一数据交换系统(uds)传输指标信息的chk文件和bin文件来实现数据上报,还可以配置为写入数据到数据库、联机接口调用的方式进行信息传输。本发明实施例对数据上报的具体方式不作限定。
62.控制器是实现jar包替换的重要组件,包括更新事件监听器、更新调度队列和更新执行器。更新事件监听器用于监听监控程序131发出的新版本jar包替换信号,收到事件的同时会校验事件合法性,如是否包括文件目录、文件是否存在、md5值是否正确、待更新程序是否与配置文件中的程序列表匹配等,若校验通过则新建更新事件变放入更新调度队列中。更新调度队列用于存放待调度的更新事件对象,当有新的待调度更新事件加入到更新事件调度队列时,更新事件调度队列会将队列中的所有待调度的更新事件对象根据优先级标签排序,将高优先级的往放至队头,低优先级的对象放至队尾。更新执行器根据嗅探器上报的数据确定执行更新事件的时间,执行更新时,从更新调度队列取出队头任务,根据新版本软件包对原始版本网络服务进行更新,生成新版本网络服务,通过新版本网络服务对接收到的新用户请求进行处理,并保持通过原始版本网络服务对当前用户请求进行处理,直
至所有当前用户请求处理完成,停止运行原始版本网络服务,完成网络服务版本切换。
63.值得说明的是,图1所示的版本切换系统还适用于图2或图3的版本切换方法,在此不再赘述。
64.下面以应用程序作为执行主体为例,说明本发明实施例提供的版本切换方法的实现过程。可理解的是,本发明实施例提供的版本切换方法的执行主体包括但不限于应用程序。
65.图2为本发明实施例提供的一种版本切换方法的流程图,如图2所示,该方法包括:
66.步骤101、获取新版本软件包和原始版本网络服务。
67.步骤102、根据新版本软件包对原始版本网络服务进行更新,生成新版本网络服务。
68.步骤103、通过新版本网络服务对接收到的新用户请求进行处理,并保持通过原始版本网络服务对当前用户请求进行处理,直至所有当前用户请求处理完成,停止运行原始版本网络服务,完成网络服务版本切换。
69.本发明实施例提供的技术方案中,获取新版本软件包和原始版本网络服务;根据新版本软件包对原始版本网络服务进行更新,生成新版本网络服务;通过新版本网络服务对接收到的新用户请求进行处理,并保持通过原始版本网络服务对当前用户请求进行处理,直至所有当前用户请求处理完成,停止运行原始版本网络服务,完成网络服务版本切换,能够在无需停止当前运行应用程序的情况下实现jar包的版本切换,保证用户使用的连贯性,提高用户体验。
70.图3为本发明实施例提供的又一种版本切换方法的流程图,如图3所示,该方法包括:
71.步骤201、接收持续集成流水线发送的新版本jar包的文件信息,文件信息包括加密密钥和位置信息。
72.本发明实施例中,各步骤由应用程序执行。
73.本发明实施例中,持续集成流水线从文件服务器中获取上传的新版本jar包,通过消息摘要算法(md5)对新版本jar包进行校验,若验证失败,生成验证失败消息,流程结束;当验证成功时,通过基于口令加密(password based encryption,简称:pbe)算法对新版本jar包进行加密,生成加密密钥;将加密后的新版本jar包重新上传至文件服务器,并记录新版本jar包在文件服务器中的位置信息;持续集成流水线将新版本jar包的位置信息和加密密钥存储至本地监控程序;监控程序读取新版本jar包的位置信息和加密密钥,调用预留的通信接口,通过通信接口将新版本jar包的位置信息和加密密钥作为新版本jar包的文件信息发送至应用程序。
74.值得说明的是,通过文件传输功能进行jar包的上传,支持从持续集成流水线上传或者生产部门管理员手工进行上传。本发明采用从持续集成流水线上传的方式,系统会自动记录上传jar包的位置信息,以供与应用程序进行通信。
75.本发明实施例中,为了防止上传的jar包被人篡改,对jar文件进行加密,在使用的时候进行解密和校验,保证以jar包的安全。
76.步骤202、按照位置信息从文件服务器中获取加密jar包。
77.具体地,应用程序中的调度器通过通信接口获取到位置信息,并按照位置信息从
文件服务器中获取加密jar包。
78.步骤203、通过加密密钥,对加密jar包进行解密,得到新版本jar包。
79.具体地,应用程序中的调度器通过通信接口获取到加密密钥,通过加密密钥对加密jar包进行解密,得到解密后的新版本jar包。
80.步骤204、对新版本jar包进行完整性验证,若验证失败,执行步骤205;若验证通过,执行步骤206。
81.本发明实施例中,通过消息摘要算法(md5)对新版本jar包进行完整性验证,若验证通过,表明解密后的新版本jar包完整,继续执行步骤205;若验证失败,表明解密后的新版本jar包存在缺失,执行步骤206。
82.本发明实施例中,对解密后的新版本jar包进行完整性校验,可以保证jar包的完整性,避免版本更新后出现应用程序由于jar包不完整而运行失败的情况。
83.步骤205、生成验证失败消息,流程结束。
84.本发明实施例中,若新版本jar包不完整,则生成验证失败消息,停止版本更新。
85.步骤206、根据新版本jar包对原始版本web服务进行更新,生成新版本web服务。
86.本发明实施例中,获取正在运行的web服务,正在运行的web服务为原始版本web服务。
87.本发明实施例中,步骤206具体包括:
88.步骤2061、拷贝原始版本web服务,得到服务副本,服务副本包括原始版本jar包。
89.本发明实施例中,服务副本中的jar包为正在运行的原始版本jar包。
90.步骤2062、将新版本jar包替换服务副本中的原始版本jar包,得到待运行web服务。
91.本发明实施例中,原始版本jar包中包括原始版本class文件,新版本jar包中包括新版本class文件,将新版本class文件替换原始版本class文件,完成将服务副本中的原始版本jar包更新为新版本jar包,替换后得到的服务为待运行web服务。
92.步骤2063、按照设置的端口信息和分配流量,对待运行网络服务进行配置,生成新版本web服务。
93.本发明实施例中,端口信息是预先设置的新端口的信息;修改后台服务器(nginx)配置,将原始版本web服务的部分流量转发到待运行web服务;运行配置后的待运行web服务,得到新版本web服务。
94.步骤207、对新版本web服务进行服务验证,若服务验证通过,继续执行步骤208;若服务验证失败,执行步骤210。
95.具体地,调度器模拟用户流量,对新版本web服务进行的接口进行访问,加载更新的class文件,若访问成功且加载更新的class文件成功,表明服务验证通过,版本切换成功,继续执行步骤208;若访问失败或加载更新的class文件失败,表明服务验证失败,版本切换失败,继续执行步骤210。
96.本发明实施例中,对新版本web服务进行模拟验证,可以保证正式切换之后应用程序的顺畅运行。
97.步骤208、将新版本web服务的端口信息发送至后台服务器,以供后台服务器将接收到的新用户请求连接至新版本web服务。
98.本发明实施例中,调度器将新版本web服务的端口信息发送至后台服务器,以通知后台服务器将后续接收到的新用户请求连接至新版本web服务,访问新版本jar包,原始版本jar包将不再接收新的用户请求。
99.步骤209、通过新版本web服务对接收到的新用户请求进行处理,并保持通过原始版本web服务对当前用户请求进行处理,直至所有当前用户请求处理完成,停止运行原始版本web服务,完成web服务版本切换,流程结束。
100.本发明实施例中,当新版本web服务正式上线,通过新版本web服务对接收到的新用户请求进行处理,通过原始版本web服务对现存的当前用户请求进行处理,此时新版本web服务和原始版本web服务保持并行状态,用户在用户端发起的用户请求会被后台服务器正常处理,用户对web服务的切换过程无感知。
101.本发明实施例中,当现存的当前用户请求处理完毕,停止运行原始版本web服务,为原始版本web服务添加后缀(.bak)进行备份保存,以供后续作为容灾保证。
102.进一步地,将原始版本web服务的分配流量转发至新版本web服务,恢复后台服务器(nginx)配置,保证新版本web服务能够高效运行,完成web服务版本切换。
103.步骤210、停止运行新版本web服务,并保持原始版本web服务。
104.本发明实施例中,若版本切换失败,生成切换失败消息,停止运行新版本web服务,继续运行原始版本web服务。
105.本发明实施例中,无需停止原始版本jar包运行的包内程序,即可完成web服务切换,能够快速解决各类后端系统问题,适用于绝大多数java web后端应用程序,面对突发的生产问题可以最快响应并提供解决方案;代码更新对用户无感,可以实现平滑升级;无需进行繁杂的上线流程,简化上线流程;面向单例部署的应用程序也可以做到无需停止服务即可完成更新。
106.本发明实施例提供的版本切换方法的技术方案中,获取新版本软件包和原始版本网络服务;根据新版本软件包对原始版本网络服务进行更新,生成新版本网络服务;通过新版本网络服务对接收到的新用户请求进行处理,并保持通过原始版本网络服务对当前用户请求进行处理,直至所有当前用户请求处理完成,停止运行原始版本网络服务,完成网络服务版本切换,能够在无需停止当前运行应用程序的情况下实现jar包的版本切换,保证用户使用的连贯性,提高用户体验。
107.图4为本发明实施例提供的一种应用程序的结构示意图,该应用程序用于执行上述版本切换方法,如图4所示,该应用程序包括:第一获取单元11、更新单元12和切换单元13。
108.第一获取单元11用于获取新版本软件包和原始版本网络服务。
109.更新单元12用于根据新版本软件包对原始版本网络服务进行更新,生成新版本网络服务。
110.切换单元13用于通过新版本网络服务对接收到的新用户请求进行处理,并保持通过原始版本网络服务对当前用户请求进行处理,直至所有当前用户请求处理完成,停止运行原始版本网络服务,完成网络服务版本切换。
111.本发明实施例中,该装置还包括:接收单元14、第二获取单元15和解密单元16。
112.接收单元14用于接收持续集成流水线发送的新版本软件包的文件信息,文件信息
包括加密密钥和位置信息。
113.第二获取单元15用于按照位置信息从文件服务器中获取加密软件包。
114.解密单元16用于通过加密密钥,对加密软件包进行解密,得到新版本软件包。
115.本发明实施例中,该装置还包括:第一验证单元17。
116.第一验证单元17用于对新版本软件包进行完整性验证;若验证通过,触发更新单元12继续执行根据新版本软件包对原始版本网络服务进行更新,生成新版本网络服务的步骤。
117.本发明实施例中,更新单元12具体用于拷贝原始版本网络服务,得到服务副本,服务副本包括原始版本软件包;将新版本软件包替换服务副本中的原始版本软件包,得到待运行网络服务;按照设置的端口信息和分配流量,对待运行网络服务进行配置,生成新版本网络服务。
118.本发明实施例中,该装置还包括:第二验证单元18、第一确定单元19和第二确定单元20。
119.第二验证单元18用于对新版本网络服务进行服务验证。
120.第一确定单元19用于若服务验证通过,则版本切换成功。
121.第二确定单元20用于若服务验证失败,则版本切换失败,停止运行新版本网络服务,并保持原始版本网络服务。
122.本发明实施例中,该装置还包括:发送单元21。
123.发送单元21用于将新版本网络服务的端口信息发送至后台服务器,以供后台服务器将接收到的新用户请求连接至新版本网络服务。
124.本发明实施例中,该装置还包括:备份单元22。
125.备份单元22用于备份保存原始版本网络服务。
126.本发明实施例中,该装置还包括:转发单元23。
127.转发单元23用于将原始版本网络服务的分配流量转发至新版本网络服务。
128.本发明实施例的方案中,获取新版本软件包和原始版本网络服务;根据新版本软件包对原始版本网络服务进行更新,生成新版本网络服务;通过新版本网络服务对接收到的新用户请求进行处理,并保持通过原始版本网络服务对当前用户请求进行处理,直至所有当前用户请求处理完成,停止运行原始版本网络服务,完成网络服务版本切换,能够在无需停止当前运行应用程序的情况下实现jar包的版本切换,保证用户使用的连贯性,提高用户体验。
129.上述实施例阐明的系统、应用程序、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机设备,具体的,计算机设备例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
130.本发明实施例提供了一种计算机设备,包括存储器和处理器,存储器用于存储包括程序指令的信息,处理器用于控制程序指令的执行,程序指令被处理器加载并执行时实现上述版本切换方法的实施例的各步骤,具体描述可参见上述版本切换方法的实施例。
131.下面参考图5,其示出了适于用来实现本技术实施例的计算机设备600的结构示意
图。
132.如图5所示,计算机设备600包括中央处理单元(cpu)601,其可以根据存储在只读存储器(rom)602中的程序或者从存储部分608加载到随机访问存储器(ram)603中的程序而执行各种适当的工作和处理。在ram603中,还存储有计算机设备600操作所需的各种程序和数据。cpu601、rom602、以及ram603通过总线604彼此相连。输入/输出(i/o)接口605也连接至总线604。
133.以下部件连接至i/o接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(crt)、液晶反馈器(lcd)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如lan卡,调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至i/o接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装如存储部分608。
134.特别地,根据本发明的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包括用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。
135.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
136.为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本技术时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
137.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
138.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
139.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或
其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
140.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
141.本技术技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
142.本领域技术人员应明白,本技术的实施例可提供为方法、系统或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
143.本技术可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本技术,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
144.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
145.以上所述仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1