具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
容器:一种轻量级虚拟化技术。
容器引擎:管理容器生命周期的组件,管理各种容器组件,包括安全容器和普通容器。
热升级:在进程不停止的情况下,动态更新二进制的技术。
shim进程:容器进程的实际管理进程。
rpc:远程过程调用协议。
SIGUSR2:一种触发信号。
容器技术是一种轻量级的操作系统隔离方案,可以将应用程序及其运行依赖环境打包到镜像中,通过容器引擎进行调度,并且提供进程隔离和资源限制的运行环境。容器引擎创建容器时,会创建一个shim进程,shim进程实际上是容器进程的管理者,正是因为shim进程的存在,在不影响容器进程的情况下,容器引擎自身实现了的热更新能力。但是shim进程自身并没有热更新的能力,因此,如果shim进程在运行过程中出现问题,无法用热更新的能力实现动态修复,只能把容器重启来修复问题,但是对某些项目来说(比如有状态的项目)是不能容忍容器重启的操作的,所以本说明书实施例提供了一种shim进程热更新的方法来解决这个问题。
需要说明的是,本说明书实施例提供的数据更新方法可应用于各种项目进行数据更新的场景,比如电子商务、电信技术、音视频、人工智能等场景,本说明书对此不做任何限定,在电子商务的秒杀场景中,若shim进程出现问题,是不能接受重启执行秒杀项目的容器进程,以实现动态修复,因此可利用本说明书提供的数据更新方法,通过将旧的shim进程与容器引擎以及容器进程断开通信连接,且创建新的shim进程以替代旧的shim进程,即可实现在不影响容器进程处理秒杀项目的情况下,实现的对shim进程的热更新技术。
在本说明书中,提供了一种数据更新方法,本说明书同时涉及一种数据更新系统、一种数据更新装置,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
参见图1,图1示出了根据本说明书一个实施例提供的一种数据更新系统的结构示意图。
图1中的上部分为容器引擎A,中间部分为多个shim进程,可分别用shim进程B1、shim进程B2等表示,底层部分为多个容器进程,可分别用容器进程C1、容器进程C2等表示,其中,每个容器进程均对应着一个shim进程。
需要说明的是,容器引擎可以管理底层的多个容器进程中的数据;shim进程可以控制容器进程的具体操作,比如控制容器进程的开始与停止、向容器进程发送信号或发命令,或者是控制容器进程创建其他子进程等操作;容器进程可以执行具体的任务,比如,计算任务、网络服务任务等。
实际应用中,以shim进程B1为例进行说明,shim进程B1是容器进程C1的管理者,shim进程B1提供了rpc server(远程过程调用服务),容器引擎A实现了对应的rpc(远程过程调用协议)的客户端,shim进程向对应的容器进程发送启动线程的数据或者发送信号数据等,因此,容器引擎的停止是不影响实际的容器进程的,每次容器引擎的启停都会重新向shim进程发起rpc的连接。
参见图2,图2示出了根据本说明书一个实施例提供的一种数据更新方法的流程图,具体包括以下步骤。
步骤202:接收数据异常通知,基于所述数据异常通知确定目标配置文件。
其中,数据异常通知可以理解为监测模块监测到初始进程管理方的数据异常的信号,比如,开发人员可以预先在shim进程中设定SIGUSR2作为热升级的触发信号。
其中,目标配置文件可以理解为对数据异常的初始进程管理方的配置文件进行修复的正常的初始进程管理方的配置文件。
具体的,初始进程管理方在接收到监测模块发送的数据异常通知的情况下,初始进程管理方基于数据异常通知对初始进程管理方的配置文件进行处理,以确定初始进程管理方的目标配置文件,需要说明的是,配置文件可以理解为运行该初始进程管理方的代码文件。
实际应用中,初始进程管理方可以理解为shim进程,在shim进程接收到数据异常通知后,shim进程开始进程热升级的工作,以恢复shim进程的异常状况。
进一步地,所述接收数据异常通知,基于所述数据异常通知确定目标配置文件,包括:
接收数据异常通知,基于所述数据异常通知中携带的异常标识确定所述初始进程管理方的异常配置文件;
对所述异常配置文件进行调整,以确定所述初始进程管理方的目标配置文件。
其中,数据异常标识可以理解为初始进程管理方的配置文件中数据异常的标识,比如,在代码数据中,代码异常的标识。
其中,异常配置文件可以理解为初始进程管理方的配置文件中数据异常的配置文件。
具体的,初始进程管理方接收到数据异常通知后,基于该数据异常通知中携带的异常标识,确定初始进程管理方的异常配置文件,并对异常配置文件进程调整,进而确定初始进程管理方的目标配置文件。
实际应用中,初始进程管理方在对异常配置文件进行调整后,可获得正常的初始进程管理方的目标配置文件,基于该目标配置文件可以创建与该初始进程管理方相同的shim进程,进而实现对初始进程管理方的替换,也可称为对旧的shim进程的替换,即新的shim进程替换旧的shim进程。
本说明书实施例提供的数据更新方法,通过对初始进程管理方中的异常数据进程调整,获得初始进程管理方的目标配置文件,以便于后续将旧的shim进程替换成新的shim进程,实现shim进程的热升级。
步骤204:向容器管理方、容器进程发送所述数据异常信息,并基于所述数据异常信息与所述容器管理方、所述容器进程断开通信连接。
其中,容器管理方可以理解为管理容器进程的生命周期的组件,在容器管理方中可确定各容器进程中的容器信息或管理容器进程的具体操作,即容器进程的集合,比如容器引擎。
其中,数据异常信息可以理解为初始进程管理方向容器管理方、容器进程发送的数据异常的警报信息。
具体的,初始进程管理方在接收到数据异常通知后,将该数据异常通知作为初始进程管理方热升级的触发信号,并向容器管理方、容器进程发送数据异常的信息,并基于该数据异常的信息与容器管理方、容器进程断开通信连接。
实际应用中,在初始进程管理方基于数据异常信息与容器管理方断开通信连接之后,触发对初始进程管理方的热升级操作,进而实现与容器进程断开通信连接;具体的,所述基于所述数据异常信息与所述容器管理方、所述容器进程断开通信连接,包括:
基于所述数据异常信息与所述容器管理方断开通信连接;
接收与所述容器管理方断开通信连接的情况下,触发的数据更新通知;
基于所述数据更新通知与所述容器进程断开通信连接。
其中,数据更新通知可以理解为对初始进程管理方进行热升级的数据更新通知,比如,对于旧的shim进程损坏的情况下,触发的对旧的shim进程的热更新操作,其中,旧的shim进程可能出现资源泄露,进程无法响应等情况。
具体的,初始进程管理方基于数据异常信息与容器管理方断开通信连接,并接收与容器管理方断开通信连接的情况下,触发的数据更新通知,再基于数据更新通知与容器进程断开通信连接。
实际应用中,容器管理方的退出连接是不影响容器进程正常工作,进而可以在初始进程管理方的热升级的过程中,可以与容器管理方断开连接,需要说明的是,shim进程执行热升级的时间是在毫秒级别的,类比对容器管理方的停止再重启,基本可以忽略shim进程热更新的时间,可以认为整个是shim进程热升级的过程中只是发生了一次容器管理方的重启,并不影响实际的容器进程中的工作。
本说明书实施例提供的数据更新方法,初始进程管理方通过与容器管理方、容器进程断开通信连接,以实现后续对初始进程管理方的热升级过程,进而保证容器进程中执行的任务不受影响。
步骤206:基于所述目标配置文件创建目标进程管理方,并基于所述目标配置文件确定进程数据信息,且将所述进程数据信息发送至所述目标进程管理方。
其中,目标进程管理方可以理解为与初始进程管理方的数据相同的shim进程。
其中,进程数据信息可以理解为初始进程管理方的配置文件中,实现对容器进程管理的数据信息。
具体的,初始进程管理方基于确定的目标配置文件可以创建一个目标进程管理方,即基于旧的shim进程的目标配置文件创建新的shim进程,初始进程管理方基于目标配置文件确定进程数据信息,且将进程数据信息发送至目标进程管理方。
进一步地,所述基于所述目标配置文件确定进程数据信息,且将所述进程数据信息发送至所述目标进程管理方,包括:
基于所述目标配置文件确定进程管理数据、以及与所述容器管理方之间的通信协议,且将所述进程管理数据以及所述通信协议发送至所述目标进程管理方。
其中,进程管理数据可以理解为控制容器进程执行任务的管理数据,比如,控制容器进程的执行、控制容器进程的停止、向容器进程发送信号或者命令等。
其中,通信协议可以理解为初始容器进程与容器管理方之间可以实现通信的协议,比如rpc协议。
具体的,初始进程管理方基于确定的目标配置文件确定进程管理数据,以及与容器管理方之间的通信协议,且将进程管理数据以及通信协议发送至目标进程管理方。
实际应用中,初始进程管理方的进程管理数据、以及与容器管理方之间的通信协议,是实现初始进程管理方控制容器进程的数据,将上述进程管理数据以及通信协议发送至目标进程管理方,以实现目标进程管理方与初始进程管理方具有相同的数据,进而目标进程管理方可替代初始进程管理方。
本说明书实施例提供的数据更新方法,通过将初始进程管理方的进程管理数据以及通信协议发送至目标进程管理方,以实现目标进程管理方替代初始进程管理方,进而实现对初始进程管理方的热升级的过程。
进一步地,所述基于所述目标配置文件确定进程数据信息,且将所述进程数据信息发送至所述目标进程管理方,包括:
基于所述目标配置文件确定所述容器进程的容器属性信息,并按照预设处理方式将所述容器属性信息进行处理;
基于处理后的容器属性信息确定容器数据文件,并将所述容器数据文件通过第一信道发送至所述目标进程管理方。
其中,容器属性信息可以理解为容器进程中的各个容器的数量或者各个容器中的执行任务的属性信息。
具体的,初始进程管理方基于确定的目标配置文件确定容器进程的容器属性信息,并对该容器属性信息按照预设处理方式进行处理,将处理后的容器属性信息确定容器数据文件,将该容器数据文件通过第一信道发送至目标进程管理方。
实际应用中,初始进程管理方基于目标配置文件确定与该初始进程管理方对应的容器进程的容器属性信息,并将该容器属性信息进行持久化处理,基于持久化处理后的容器属性信息写入文件中,确定容器数据文件,并将该容器数据文件通过第一信道发送至目标进程管理方。
需要说明的是,预设处理方式的目的是对容器属性信息进行持久化处理,具体的处理方式本说明书在此不做任何限定;第一信道为初始进程管理方与目标进程管理方之间的数据传递的通信信道,具体的通信信道类型等属性信息,本说明书实施例对此不做任何限定。
本说明书实施例提供的数据更新方法,初始进程管理方将控制容器进程的容器属性信息发送至目标进程管理方,以便于后续目标进程管理方对所述容器进程的管理,实现对初始进程管理方的热升级。
初始进程管理方在将容器数据文件发送至目标进程管理方之后,目标进程管理方对该容器数据文件进行加载;具体的,所述将所述容器数据文件通过第一信道发送至所述目标进程管理方之后,还包括:
接收所述目标进程管理方加载所述容器数据文件的加载结果。
具体的,初始进程管理方接收目标进程管理方加载容器数据文件的加载结果,以确定目标进程管理对容器数据文件加载的成功与否,进而实现目标进程管理方对容器进程的管理。
本说明书实施例提供的数据更新方法,通过接收目标进程管理方加载容器数据文件的加载结果,以保证目标进程管理方中具有控制容器进程的容器属性信息,实现后续对容器进程的控制。
除了将上述容器属性信息发送至目标进程管理方之外,还需传输数据输出属性信息;具体的,所述基于所述目标配置文件确定进程数据信息,且将所述进程数据信息发送至所述目标进程管理方,包括:
基于所述目标配置文件确定所述初始进程管理方的数据输出属性信息,并将所述数据输出属性信息通过第一信道发送至所述目标进程管理方。
其中,数据输出属性信息可以理解为进程的标准输入输出数据,即容器进程的输出内容等信息。
具体的,初始进程管理方基于目标配置文件确定初始进程管理方的数据输出属性信息,并将该数据输出属性信息通过第一信道发送至目标进程管理方。
实际应用中,初始进程管理方将容器进程的stdio(标准输入输出)传递给目标进程管理方,目标进程管理方重新接管stdio,以避免容器进程发出线程后发生SIGPIPE信号,即警报信号(shim进程收到该警报信号后会退出,即表明热更新失败)。
本说明书实施例提供的数据更新方法,将初始进程管理方的数据输出属性信息发送至目标进程管理方,以实现目标进程管理方对数据输出属性信息的配置,使得目标进程管理方的进程数据与初始进程管理方的进程数据相同,实现初始进程管理方的热升级。
相应地目标进程管理方还需基于数据输出属性信息确定输出数据;具体的,所述将所述数据输出属性信息通过第一信道发送至所述目标进程管理方之后,还包括:
接收所述目标进程管理方基于所述数据输出属性信息确定输出数据的确定结果。
具体的,初始进程管理方可接收目标进程管理方基于数据输出属性信息确定的目标进程管理方输出数据的确定结果,以确定目标进程管理方具体的输出数据。
本说明书实施例提供的数据更新方法,通过确定目标进程管理方的输出数据的确定结果,以便于后续实现目标进程管理方对数据输出属性信息的配置,使得目标进程管理方的进程数据与初始进程管理方的进程数据相同,实现初始进程管理方的热升级。
更进一步地,所述基于所述目标配置文件确定进程数据信息,且将所述进程数据信息发送至所述目标进程管理方,包括:
基于所述目标配置文件确定与所述容器管理方之间的通信协议,以及所述通信协议对应的文件描述符,并将所述文件描述符发送至所述目标进程管理方。
具体的,初始进程管理方基于目标配置文件确定与容器管理方之间的通信协议,以及通信协议对应的文件描述符,并将所述文件描述符发送至目标进程管理方。
实际应用中,初始进程管理方可以将rpcserver(远程过程调用服务)的fd(文件描述符)传输至目标进程管理方,以便于后续目标进程管理方恢复容器进程,并启动rpcserver。
本说明书实施例提供的数据更新方法,将初始进程管理方与容器管理方的通信协议与文件描述符发送至目标进程管理方,以便于初始进程管理方和目标进程管理方之间进程通信连接。
相应地,所述将所述文件描述符发送至所述目标进程管理方之后,还包括:
接收所述目标进程管理方基于所述通信协议对应的文件描述符,与所述容器进程建立通信连接的建立结果。
具体的,初始进程管理方可接收目标进程管理方基于通信协议对应的文件描述符,与容器进程建立通信连接的建立结果。
本说明书实施例提供的数据更新方法,确定目标进程管理方与容器进程建立通信连接的建立结果,以便于初始进程管理方和目标进程管理方之间进行通信连接。
在初始进程管理方和目标进程管理方之间进程通信连接之后,还需进行通信连接测试;具体的,所述将所述进程数据信息以及所述通信协议发送至所述目标进程管理方之后,还包括:
基于所述通信协议,接收所述目标进程管理方发送的通信测试数据,并基于所述通信测试数据向所述目标进程管理方发送测试成功通知。
具体的,初始进程管理方基于通信协议,可接收目标进程管理方发送的通信测试数据,初始进程管理方可基于通信测试数据对初始进程管理方和目标进程管理方之间的通信进行测试,在确定可以建立正常的通信连接时候,则向目标进程管理方发送测试成功通知。
本说明书实施例提供的数据更新方法,确定初始进程管理方和目标进程管理方之间进程通信连接后,对该通信连接进行稳定性测试,以便于后续初始进程管理方的退出,进而实现目标进程管理方替代初始进程管理方。
步骤208:基于所述进程数据信息以及所述通信协议关闭所述初始进程管理方,以建立所述容器管理方、所述目标进程管理方以及所述容器进程的通信连接。
具体的,初始进程管理方基于进程数据信息以及通信协议关闭初始进程管理方,在初始进程管理方退出之后,即可建立容器管理方、目标进程管理方以及容器进程之间的通信连接。
实际应用中,初始进程管理方的退出,目的是为了使得容器管理方、容器进程之间通过目标进程管理方进行通信连接,进而实现对初始进程管理方的热升级过程。
在初始进程管理方退出后,还需重新启动容器管理方;具体的,所述基于所述进程数据信息以及所述通信协议关闭所述初始进程管理方之后,还包括:
向所述容器管理方发送启动通知,在接收到所述容器管理方启动失败的情况下,按照预设操作方式与所述容器管理方、所述容器进程建立通信连接。
具体的,初始进程管理方在退出整个进程之后,还需向容器管理方发送启动通知,若初始进程管理方接收到容器管理方启动失败的情况下,即可按照预设操作方式与容器管理方、容器进程之间建立通信连接,其中,预设操作方式可以为failover(回滚)操作,此时,能保证在初始进程管理方不受影响的基础上,仍能使得容器进程正常提供服务;若初始进程管理方接收到容器管理方启动成功的情况下,可实现对初始进程管理方的热升级的过程,进而容器管理方可连接到目标进程管理方,实现对容器进程的管理操作。
本说明书实施例提供的数据更新方法,在确定目标进程管理方与容器进程不能正常通信连接之后,可通过预设的操作方式,实现初始进程管理方与容器管理方、容器进程重新建立通信连接,以实现将初始进程管理方进行热更新的技术,不仅保证容器无需重启,在容器进程中的任务不受影响,也为操作者利用容器技术执行任务带来极大的便利。
参见图3,图3示出了本说明书一实施例提供的数据更新方法的处理过程流程图,具体包括以下步骤。
步骤302:old shim进程收到SIGUSR2信号,开始进程热升级。
步骤304:old shim进程向容器引擎发送数据异常信号,断开与容器引擎的通信连接。
步骤306:old shim进程暂停与容器进程的通信连接。
步骤308:old shim进程持久化容器进程的信息到文件,并向new shim进程发送加载信息通知。
需要说明的是,new shim进程基于old shim进程的配置文件进行调整后的目标配置文件创建的,old shim执行fork,用新的shim二进制(热更新前,新的shim二进制已经更新到机器上)拉起新的shim进程。
步骤310:new shim进程加载持久化的容器信息。
步骤312:old shim进程把容器的stdio传给new shim进程。
步骤314:new shim进程重新接管容器进程的stdio。
具体的,新的shim重新接管stdio,避免容器发出IO后发生SIGPIPE。
步骤316:old shim进程将rpc的server fd发送至new shim进程。
步骤318:new shim进程利用pidfd监听容器进程退出,从退出的fd中可读出退出码。
步骤320:new shim进程恢复容器进程。
步骤322:new shim进程向old shim进程发送退出通知。
步骤324:old shim进程执行退出。
步骤326:old shim进程向new shim进程发送同步确认信息。
步骤328:new shim进程在接收到同步确认信息后,设置new shim进程的日志输出到fifo,以便容器引擎收集日志,升级完成。
步骤330:启动容器引擎。
步骤332:判断容器引擎是否连接到new shim进程,shim热升级是否成功,若是,则确定容器引擎与new shim进程建立了新的连接,若否,则执行步骤334。
步骤334:old shim进程做回滚操作,容器引擎与old shim进程重新建立通信连接。
具体的,old shim会进行failover操作,此时shim不受影响,仍然正常提供服务。
本说明书实施例提供的数据更新方法,通过将初始进程管理方与容器管理方、容器进程断开通信连接,进而创建目标进程管理方,并将初始进程管理方的进程数据信息发送至目标进程管理方,以实现目标进程管理方与容器管理方、容器进程之间的通信连接,实现了通过将初始进程管理方替换为目标进程管理方,以将初始进程管理方进行热更新的技术,不仅保证容器无需重启,在容器进程中的任务不受影响,也为操作者利用容器技术执行任务带来极大的便利。
与上述方法实施例相对应,本说明书还提供了数据更新装置实施例,图4示出了本说明书一个实施例提供的一种数据更新装置的结构示意图。如图4所示,该装置包括:
接收模块402,被配置为接收数据异常通知,基于所述数据异常通知确定目标配置文件;
发送模块404,被配置为向容器管理方、容器进程发送所述数据异常信息,并基于所述数据异常信息与所述容器管理方、所述容器进程断开通信连接;
创建模块406,被配置为基于所述目标配置文件创建目标进程管理方,并基于所述目标配置文件确定进程数据信息,且将所述进程数据信息发送至所述目标进程管理方;
关闭模块408,被配置为基于所述进程数据信息以及所述通信协议关闭所述初始进程管理方,以建立所述容器管理方、所述目标进程管理方以及所述容器进程的通信连接。
可选地,所述创建模块406,进一步被配置为:
基于所述目标配置文件确定进程管理数据、以及与所述容器管理方之间的通信协议,且将所述进程管理数据以及所述通信协议发送至所述目标进程管理方。
可选地,所述接收模块402,进一步被配置为:
接收数据异常通知,基于所述数据异常通知中携带的异常标识确定所述初始进程管理方的异常配置文件;
对所述异常配置文件进行调整,以确定所述初始进程管理方的目标配置文件。
可选地,所述发送模块404,进一步被配置为:
基于所述数据异常信息与所述容器管理方断开通信连接;
接收与所述容器管理方断开通信连接的情况下,触发的数据更新通知;
基于所述数据更新通知与所述容器进程断开通信连接。
可选地,所述创建模块406,进一步被配置为:
基于所述目标配置文件确定所述容器进程的容器属性信息,并按照预设处理方式将所述容器属性信息进行处理;
基于处理后的容器属性信息确定容器数据文件,并将所述容器数据文件通过第一信道发送至所述目标进程管理方。
可选地,所述创建模块406,进一步被配置为:
接收所述目标进程管理方加载所述容器数据文件的加载结果。
可选地,所述创建模块406,进一步被配置为:
基于所述目标配置文件确定所述初始进程管理方的数据输出属性信息,并将所述数据输出属性信息通过第一信道发送至所述目标进程管理方。
可选地,所述创建模块406,进一步被配置为:
接收所述目标进程管理方基于所述数据输出属性信息确定输出数据的确定结果。
可选地,所述创建模块406,进一步被配置为:
基于所述目标配置文件确定与所述容器管理方之间的通信协议,以及所述通信协议对应的文件描述符,并将所述文件描述符发送至所述目标进程管理方。
可选地,所述创建模块406,进一步被配置为:
接收所述目标进程管理方基于所述通信协议对应的文件描述符,与所述容器进程建立通信连接的建立结果。
可选地,所述装置,还包括:
数据接收模块,被配置为基于所述通信协议,接收所述目标进程管理方发送的通信测试数据,并基于所述通信测试数据向所述目标进程管理方发送测试成功通知。
可选地,所述装置,还包括:
连接模块,被配置为向所述容器管理方发送启动通知,在接收到所述容器管理方启动失败的情况下,按照预设操作方式与所述容器管理方、所述容器进程建立通信连接。
本说明书实施例提供的数据更新装置,通过将初始进程管理方与容器管理方、容器进程断开通信连接,进而创建目标进程管理方,并将初始进程管理方的进程数据信息发送至目标进程管理方,以实现目标进程管理方与容器管理方、容器进程之间的通信连接,实现了通过将初始进程管理方替换为目标进程管理方,以将初始进程管理方进行热更新的技术,不仅保证容器无需重启,在容器进程中的任务不受影响,也为操作者利用容器技术执行任务带来极大的便利。
上述为本实施例的一种数据更新装置的示意性方案。需要说明的是,该数据更新装置的技术方案与上述的数据更新方法的技术方案属于同一构思,数据更新装置的技术方案未详细描述的细节内容,均可以参见上述数据更新方法的技术方案的描述。
图5示出了根据本说明书一个实施例提供的一种计算设备500的结构框图。该计算设备500的部件包括但不限于存储器510和处理器520。处理器520与存储器510通过总线530相连接,数据库550用于保存数据。
计算设备500还包括接入设备540,接入设备540使得计算设备500能够经由一个或多个网络560通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备540可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本说明书的一个实施例中,计算设备500的上述部件以及图5中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图5所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备500可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备500还可以是移动式或静止式的服务器。
其中,处理器520用于执行如下计算机可执行指令,其中,所述处理器执行所述计算机可执行指令时实现所述数据更新方法的步骤。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的数据更新方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述数据更新方法的技术方案的描述。
本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现所述数据更新方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的数据更新方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述数据更新方法的技术方案的描述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书实施例并不受所描述的动作顺序的限制,因为依据本说明书实施例,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书实施例所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书实施例的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书实施例的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。