一种信息同步方法、装置及系统与流程

文档序号:13075691阅读:164来源:国知局
一种信息同步方法、装置及系统与流程

本发明实施例涉及信息技术领域,尤其涉及一种信息同步方法、装置及系统。



背景技术:

目前,当开发者对系统或软件的开发信息在服务器端进行了修改时,客户端的开发信息需要与服务器端修改后的最新的开发信息保持同步。

现有技术中,服务器端会对开发者在服务器端每次修改的开发信息进行保存,但客户端只需要获取服务器端最新的开发信息,如果开发者修改开发信息的频率较高,服务器端依然保存开发者每次修改的开发信息,则会浪费服务器端的资源。或者,服务器端仅保存开发者最后一次修改的最新的开发信息,但是客户端获取最新的开发信息存在时间延迟问题,如果客户端向服务器端发送信息同步请求的时间间隔较短,客户端会频繁访问服务器端,增加了服务器端的压力;如果客户端向服务器端发送信息同步请求的时间间隔较长,客户端便不能及时更新最新的开发信息,无法使客户端和服务器端的数据保持实时的一致性。



技术实现要素:

本发明实施例提供一种信息同步方法、装置及系统,以解决现有技术中客户端和服务器端的数据无法实时同步的问题。

第一方面,本发明实施例提供了一种信息同步方法,包括:

云端服务器在接收到开发者平台发送的已修改的开发信息时,更新数据库版本信息,其中,所述数据库版本信息用于标识所述云端服务器的数据库中所存储的开发信息的版本;

所述云端服务器确定各个客户端的在线状态;

如果有至少一个客户端在线,则:所述云端服务器根据所述已修改的开发信息生成用于存储在文件服务器的产品数据包,更新产品数据包版本信息,以及向在线的所述客户端发送推送消息;其中,所述产品数据包版本信息用于标识存储在所述文件服务器的产品数据包的版本;所述推送消息中携带所述产品数据包在所述文件服务器的下载信息,以及更新后的所述数据库版本信息和/或产品数据包版本信息;

如果全部客户端均离线,则:所述云端服务器继续监测是否接收到已修改的开发信息。

进一步地,所述云端服务器如果接收到客户端发送的版本请求消息,则检测所述数据库版本信息与所述产品数据包版本信息是否匹配;

如果所述数据库版本信息与所述产品数据包版本信息不匹配,则所述云端服务器根据与所述数据库版本信息对应的开发信息生成新的产品数据包,将所述新的产品数据包发送至所述文件服务器,以及更新所述产品数据包版本信息;

所述云端服务器向发送所述版本请求消息的客户端发送请求反馈消息,所述请求反馈消息中携带所述新的产品数据包在所述文件服务器的下载信息,以及与所述新的产品数据包对应的数据库版本信息和/或产品数据包版本信息。

进一步地,所述更新产品数据包版本信息,包括:

更新之后的产品数据包版本信息所标识的版本与数据库版本信息所标识的版本相同。

进一步地,所述云端服务器确定各个客户端的在线状态,包括:

所述云端服务器确定是否接收到客户端发送的心跳包;

如果接收到,则所述云端服务器将发送所述心跳包的客户端确定为在线客户端。

第二方面,本发明实施例提供了一种信息同步方法,包括:

客户端处于在线状态时,如果接收到云端服务器发送的推送消息,则获取所述推送消息中包括的产品数据包在文件服务器的下载信息,以及数据库版本信息和/或产品数据包版本信息,其中,所述数据库版本信息用于标识所述云端服务器的数据库中所存储的开发信息的版本,所述产品数据包版本信息用于标识存储在所述文件服务器的产品数据包的版本;

所述客户端根据所述产品数据包在文件服务器的下载信息,在所述文件服务器中下载所述产品数据包;

所述客户端使用所述数据库版本信息和/或产品数据包版本信息替换客户端本地的版本信息,使用下载的所述产品数据包替换客户端本地的产品数据包。

进一步地,所述客户端如果从离线状态切换至在线状态,则向所述云端服务器发送版本请求消息;

所述客户端接收所述云端服务器根据所述版本请求消息发送的请求反馈消息,所述请求反馈消息中携带所述文件服务器中最新产品数据包的下载信息,以及与所述最新产品数据包对应的数据库版本信息和/或产品数据包版本信息;

所述客户端使用所述数据库版本信息和/或产品数据包版本信息与客户端本地的版本信息进行匹配,并在匹配不一致时,根据所述最新产品数据包的下载信息,在所述文件服务器中下载产品数据包;

所述客户端使用所述与所述最新产品数据包对应的数据库版本信息和/或产品数据包版本信息替换客户端本地的版本信息,使用下载的产品数据包替换客户端本地的产品数据包。

进一步地,所述客户端在处于在线状态时,按照预设的时间间隔向所述云端服务器发送心跳包,以使所述云端服务器根据所述心跳包确定所述客户端的在线状态。

第三方面,本发明实施例还提供了一种信息同步装置,配置于云端服务器中,包括:

更新模块,用于在接收到开发者平台发送的已修改的开发信息时,更新数据库版本信息,其中,所述数据库版本信息用于标识所述云端服务器的数据库中所存储的开发信息的版本;

状态确定模块,用于确定各个客户端的在线状态;

在线模块,用于如果有至少一个客户端在线,则:所述云端服务器根据所述已修改的开发信息生成用于存储在文件服务器的产品数据包,更新产品数据包版本信息,以及向在线的所述客户端发送推送消息;其中,所述产品数据包版本信息用于标识存储在所述文件服务器的产品数据包的版本;所述推送消息中携带所述产品数据包在所述文件服务器的下载信息,以及更新后的所述数据库版本信息和/或产品数据包版本信息;

离线模块,用于如果全部客户端均离线,则:所述云端服务器继续监测是否接收到已修改的开发信息。

第四方面,本发明实施例还提供了一种信息同步装置,配置于客户端中,包括:

获取模块,用于在处于在线状态时,如果接收到云端服务器发送的推送消息,则获取所述推送消息中包括的产品数据包在文件服务器的下载信息,以及数据库版本信息和/或产品数据包版本信息,其中,所述数据库版本信息用于标识所述云端服务器的数据库中所存储的开发信息的版本,所述产品数据包版本信息用于标识存储在所述文件服务器的产品数据包的版本;

下载模块,用于根据所述产品数据包在文件服务器的下载信息,在所述文件服务器中下载所述产品数据包;

替换模块,用于使用所述数据库版本信息和/或产品数据包版本信息替换客户端本地的版本信息,使用下载的所述产品数据包替换客户端本地的产品数据包。

第五方面,本发明实施例还提供了一种信息同步系统,包括:

云端服务器,用于执行本发明实施例所述的信息同步方法,根据所述客户端是在线状态或离线状态,执行相应的信息同步操作;

客户端,用于执行本发明实施例所述的信息同步方法,实现与云端服务器之间开发信息同步;

文件服务器,用于存储产品数据包。

本发明实施例能够根据客户端的网络状态,执行相应的开发信息同步操作,使客户端在线时通过云端服务器的推送,实时获取更新的开发信息,在客户端离线时,最大化云端服务器的性能,节省云端服务器的资源,客户端上线时,及时拉取云端开发信息,利用推送和拉取相结合的方式,实现了客户端与云端服务器之间的信息实时同步。

附图说明

图1是本发明实施例一中的一种信息同步方法的流程图;

图2是本发明实施例二中的一种信息同步方法的流程图;

图3是本发明实施例三中的一种信息同步方法的流程图;

图4是本发明实施例四中的一种信息同步方法的流程图;

图5是本发明实施例五中的一种信息同步装置的结构示意图;

图6是本发明实施例六中的一种信息同步装置的结构示意图;

图7是本发明实施例七中的一种信息同步系统的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

实施例一

图1为本发明实施例一提供的一种信息同步方法的流程图,本实施例可适用于通过云端服务器来进行与客户端开发信息实时同步的情况,该方法可以由一种信息同步装置来执行,该装置可以采用软件和/或硬件的方式实现,一般集成于云端服务器。

本发明实施例一的方法具体包括:

s101、云端服务器在接收到开发者平台发送的已修改的开发信息时,更新数据库版本信息,其中,所述数据库版本信息用于标识所述云端服务器的数据库中所存储的开发信息的版本。

具体的,开发人员可以在开发者平台修改开发信息,开发信息包括开发商信息和产品信息,其中,开发商信息包括开发商名称、开发商身份标识号码以及开发商标志等与开发商有关的标识信息,产品信息包括产品的版本信息以及版本信息对应的产品数据包。产品数据包可以以压缩包的形式存在。云端服务器接收到已修改的开发信息之后,更新云端服务器的数据库中所存储的开发信息的版本,即更新数据库版本信息,以完成版本升级。

s102、所述云端服务器确定各个客户端的在线状态。

优选的,所述云端服务器确定各个客户端的在线状态,包括:

所述云端服务器确定是否接收到客户端发送的心跳包;

如果接收到,则所述云端服务器将发送所述心跳包的客户端确定为在线客户端。

具体的,云端服务器可以通过客户端发送的心跳包来确定客户端的网络状态为在线或者离线,如果云端服务器能够接收到客户端发送的心跳包,则确定该客户端处于在线状态。云端服务器如果在设定时间段内接收到第一客户端连续发送的心跳包,则将第一客户端的在线状态标识确定为在线标识。云端服务器如果在设定时间段内未接收到第二客户端发送任一心跳包,则将第二客户端的在线状态标识确定为离线标识。云端服务器可以根据各个客户端的在线状态标识,确定至少一个客户端处于在线状态。其中,设定时间段可以根据实际应用情况而具体设定,例如,设定时间段可以设置为10秒钟。如果云端服务器接收到客户端发送的心跳包,则云端服务器可以确定发送心跳包的客户端处于在线状态。

s103、如果有至少一个客户端在线,则:所述云端服务器根据所述已修改的开发信息生成用于存储在文件服务器的产品数据包,更新产品数据包版本信息,以及向在线的所述客户端发送推送消息;其中,所述产品数据包版本信息用于标识存储在所述文件服务器的产品数据包的版本;所述推送消息中携带所述产品数据包在所述文件服务器的下载信息,以及更新后的所述数据库版本信息和/或产品数据包版本信息。

优选的,所述更新产品数据包版本信息,包括:

更新之后的产品数据包版本信息所标识的版本与数据库版本信息所标识的版本相同。

具体的,当至少一个客户端处于在线状态时,云端服务器根据开发人员已修改的开发信息生成产品数据包,并更新产品数据包对应的产品数据包版本信息,使更新之后的产品数据包版本信息所标识的版本与数据库版本信息所标识的版本相同,即产品数据包版本信息与数据库版本信息相同。云端服务器将产品数据包发送至文件服务器进行存储,并将产品数据包在文件服务器的下载信息以及更新后的数据库版本信息和/或产品数据包版本信息推送至在线的客户端,使在线的客户端完成客户端产品数据包以及客户端产品数据包对应的客户端版本信息的更新操作,能够在开发信息修改时与云端服务器保持实时的开发信息同步。其中,产品数据包在文件服务器的下载信息是资源定位标识,即产品数据包在文件服务器中的存储位置,使客户端能够根据产品数据包的存储位置下载产品数据包。

s104、如果全部客户端均离线,则:所述云端服务器继续监测是否接收到已修改的开发信息。

具体的,如果云端服务器没有接收到任一心跳包,即所有客户端均处于离线状态,则云端服务器继续监测是否接收到已修改的开发信息:若是,执行s101;否则,执行s104。

本发明实施例一提供的一种信息同步方法,能够根据客户端的网络状态,执行相应的开发信息同步操作,使客户端在线时通过云端服务器的推送,实时获取更新的开发信息,在客户端离线时,最大化云端服务器的性能,节省云端服务器的资源,客户端上线时,及时拉取云端开发信息,利用推送和拉取相结合的方式,实现了客户端与云端服务器之间的信息实时同步。

实施例二

图2为本发明实施例二提供的一种信息同步方法的流程图,本发明实施例二以实施例一为基础进行了优化,具体是对云端服务器在客户端由离线状态切换至在线状态时的操作进行优化,如图2所示,本发明实施例二的具体包括:

s201、云端服务器在接收到开发者平台发送的已修改的开发信息时,更新数据库版本信息。

s202、云端服务器确定各个客户端的在线状态,判断是否有至少一个客户端在线:若是,执行s203;否则,执行s204。

s203、如果有至少一个客户端在线,则:所述云端服务器根据所述已修改的开发信息生成用于存储在文件服务器的产品数据包,更新产品数据包版本信息,以及向在线的所述客户端发送推送消息。

s204、如果全部客户端均离线,则:所述云端服务器继续监测是否接收到已修改的开发信息。

s205、所述云端服务器如果接收到客户端在由离线状态切换至在线状态时发送的版本请求消息,则检测所述数据库版本信息与所述产品数据包版本信息是否匹配:若是,执行s206;否则,执行s207。

具体的,当客户端从离线状态切换至在线状态时,云端服务器会接收到客户端发送的版本请求。客户端发送版本请求的目的是检测当前客户端版本信息与云端服务器的数据库版本信息是否一致。云端服务器如果接收到客户端发送的版本请求,则首先检测数据库版本信息与产品数据包版本信息是否匹配。

s206、如果所述数据库版本信息与产品数据包版本信息匹配,则所述云端服务器向发送所述版本请求消息的客户端发送请求反馈消息,所述请求反馈消息中携带所述云服务器中最新记录的数据库版本信息和/或产品数据包版本信息,以及相应产品数据包在文件服务器中的下载信息。

具体的,如果数据库版本信息与产品数据包版本信息是匹配的,云端服务器直接向发送版本请求消息的客户端发送请求反馈消息,将云服务器中最新记录的数据库版本信息和/或产品数据包版本信息以及相应产品数据包在文件服务器中的下载信息发送至客户端,并检测当前客户端版本信息与云端服务器的数据库版本信息和/或产品数据包版本信息是否一致,在不一致的情况下,可以根据下载信息在文件服务器中下载最新的产品数据包。

s207、如果所述数据库版本信息与所述产品数据包版本信息不匹配,则所述云端服务器根据与所述数据库版本信息对应的开发信息生成新的产品数据包,将所述新的产品数据包发送至所述文件服务器,以及更新所述产品数据包版本信息。

具体的,如果数据库版本信息与产品数据包版本信息不匹配,则云端服务器根据与数据库版本信息对应的开发信息生成新的产品数据包,使用加密算法对产品数据包进行加密,并进行数字签名的操作之后发送至文件服务器,以及更新云端服务器中产品数据包版本信息。

s208、所述云端服务器向发送所述版本请求消息的客户端发送请求反馈消息,所述请求反馈消息中携带所述新的产品数据包在所述文件服务器的下载信息,以及与所述新的产品数据包对应的数据库版本信息和/或产品数据包版本信息。

具体的,云端服务器向发送版本请求消息的客户端发送请求反馈消息,读取新的产品数据包在文件服务器中的存储位置之后,将新的产品数据包在文件服务器中的存储位置以及与新的产品数据包对应的数据库版本信息和/或产品数据包版本信息发送给客户端,并检测当前客户端版本信息与云端服务器的数据库版本信息和/或产品数据包版本信息是否一致,在不一致的情况下,可以根据新的产品数据包在文件服务器中的存储位置从文件服务器中下载新的产品数据包,自动完成客户端版本信息以及版本信息对应的产品数据包的更新。

本发明实施例二提供的一种信息同步方法,在至少一个客户端在线时,通过推送的方式使客户端完成版本升级的操作,实时与云端服务器保持同步,在客户端由离线状态切换至在线状态时,立即向云端服务器发送版本请求消息,在云端服务器的版本信息与客户端版本信息不一致的情况下,通过获取与数据库版本信息一致的产品数据包版本信息对应的新的产品数据包下载信息,使客户端实时与云端服务器保持同步,实现了客户端和云端服务器的开发信息实时同步。

实施例三

图3为本发明实施例三提供的一种信息同步方法的流程图,本发明实施例三以上述各实施例为基础进行了优化改进,本实施例可适用于通过客户端来进行与云端服务器开发信息实时同步的情况,该方法可以由一种信息同步装置来执行,该装置可以采用软件和/或硬件的方式实现,一般集成于客户端中。如图3所示,本发明实施例三的方法具体包括:

s301、客户端处于在线状态时,如果接收到云端服务器发送的推送消息,则获取所述推送消息中包括的产品数据包在文件服务器的下载信息,以及数据库版本信息和/或产品数据包版本信息,其中,所述数据库版本信息用于标识所述云端服务器的数据库中所存储的开发信息的版本,所述产品数据包版本信息用于标识存储在所述文件服务器的产品数据包的版本。

客户端在处于在线状态时,如果接收到云端服务器发送的推送消息,则获取所述推送消息中包括的产品数据包在文件服务器的下载信息,以及更新后的数据库版本信息和/或产品数据包版本信息。

优选的,所述客户端在处于在线状态时,按照预设的时间间隔向所述云端服务器发送心跳包,以使所述云端服务器根据所述心跳包确定所述客户端的在线状态。

具体的,客户端按照间隔设定时间向云端服务器发送心跳包,以使云端服务器根据心跳包来确定客户端处于在线状态。其中,设定间隔时间可以根据实际应用情况来设定,例如,可以设置为5秒。如果客户端处于在线状态,则接收云端服务器发送的推送消息,获取推送消息中包括的产品数据包在文件服务器的下载信息,以及更新后的数据库版本信息和/或产品数据包版本信息。

s302、所述客户端根据所述产品数据包在文件服务器的下载信息,在所述文件服务器中下载所述产品数据包。

具体的,客户端根据产品数据包在文件服务器中的下载地址向文件服务器请求下载数据库版本信息对应的产品数据包。

s303、所述客户端使用所述数据库版本信息和/或产品数据包版本信息替换客户端本地的版本信息,使用下载的所述产品数据包替换客户端本地的产品数据包。

具体的,客户端将原有的客户端版本信息替换为当前下载的产品数据包对应的版本信息,将原有的客户端产品数据包替换为从文件服务器下载的与数据库版本信息对应的产品数据包。根据云端服务器的推送,自动完成对客户端版本信息以及与客户端版本信息对应的产品数据包的更新,实现与云端服务器的开发信息实时同步。

本发明实施例三提供的一种信息同步方法,开发者在客户端处于在线的情况下修改开发信息,根据云端服务器的推送数据,客户端完成在线的实时更新,以实现与云端服务器的开发信息实时同步。

实施例四

图4为本发明实施例四提供的一种信息同步方法的流程图,本发明实施例四以上述各实施例为基础进行了优化改进,对客户端由离线状态切换至在线状态时的操作进行了进一步说明,如图4所示,本发明实施例四的方法具体包括:

s401、客户端处于在线状态时,如果接收到云端服务器发送的推送消息,则获取所述推送消息中包括的产品数据包在文件服务器的下载信息,以及数据库版本信息和/或产品数据包版本信息,其中,所述数据库版本信息用于标识所述云端服务器的数据库中所存储的开发信息的版本,所述产品数据包版本信息用于标识存储在所述文件服务器的产品数据包的版本。

s402、所述客户端根据所述产品数据包在文件服务器的下载信息,在所述文件服务器中下载所述产品数据包。

s403、所述客户端使用所述数据库版本信息和/或产品数据包版本信息替换客户端本地的版本信息,使用下载的所述产品数据包替换客户端本地的产品数据包。

s404、所述客户端如果从离线状态切换至在线状态,则向所述云端服务器发送版本请求消息。

具体的,客户端从离线状态切换至在线状态后,首先与云端服务器建立长连接,然后向云端服务器发送版本请求消息,可以将客户端版本信息发送至云端服务器,请求云端服务器比对数据库版本信息与客户端版本信息是否一致,以检查客户端本地的版本信息是否是最新的。

s405、所述客户端接收所述云端服务器根据所述版本请求消息发送的请求反馈消息,所述请求反馈消息中携带所述文件服务器中最新产品数据包的下载信息,以及与所述最新产品数据包对应的数据库版本信息和/或产品数据包版本信息。

s406、所述客户端使用所述数据库版本信息和/或产品数据包版本信息与客户端本地的版本信息进行匹配,并在匹配不一致时,根据所述最新产品数据包的下载信息,在所述文件服务器中下载产品数据包。

具体的,如果客户端本地的版本信息不是最新的,按照新的产品数据包的下载信息下载新的产品数据包,并且验证新的产品数据包的数字签名,并使用与加密算法匹配的解密算法解密新的产品数据包。

s407、所述客户端使用所述与所述最新产品数据包对应的数据库版本信息和/或产品数据包版本信息替换客户端本地的版本信息,使用下载的产品数据包替换客户端本地的产品数据包。

具体的,客户端将原有的本地版本信息替换为数据库版本信息和/或产品数据包版本信息,将原有的本地版本信息对应的产品数据包替换为与已下载的新的产品数据包,以完成从离线状态切换至在线状态后与云端服务器开发信息实时同步。

本发明实施例四提供的一种信息同步方法,客户端从离线状态切换至在线状态后,通过拉取的方式,向云端服务器请求云端服务器存储的版本信息,在云端服务器存储的版本信息已更新,而客户端本地版本信息没有更新的情况下,客户端完成版本信息以及版本信息对应的产品数据包的实时更新,与云端服务器保持开发信息的同步。

实施例五

图5是本发明实施例五中的一种信息同步装置的结构示意图,该装置应用于通过云端服务器来进行与客户端开发信息实时同步的情况,该装置可以采用软件和/或硬件的方式实现,一般集成于云端服务器中。如图5所示,装置包括:更新模块501、状态确定模块502、在线模块503以及离线模块504。

更新模块501,用于在接收到开发者平台发送的已修改的开发信息时,更新数据库版本信息,其中,所述数据库版本信息用于标识所述云端服务器的数据库中所存储的开发信息的版本;

状态确定模块502,用于确定各个客户端的在线状态;

在线模块503,用于如果有至少一个客户端在线,则:所述云端服务器根据所述已修改的开发信息生成用于存储在文件服务器的产品数据包,更新产品数据包版本信息,以及向在线的所述客户端发送推送消息;其中,所述产品数据包版本信息用于标识存储在所述文件服务器的产品数据包的版本;所述推送消息中携带所述产品数据包在所述文件服务器的下载信息,以及更新后的所述数据库版本信息和/或产品数据包版本信息;

离线模块504,用于如果全部客户端均离线,则:所述云端服务器继续监测是否接收到已修改的开发信息。

本发明实施例能够根据客户端的网络状态,执行相应的开发信息同步操作,使客户端在线时通过云端服务器的推送,实时获取更新的开发信息,在客户端离线时,最大化云端服务器的性能,节省云端服务器的资源,客户端上线时,及时拉取云端开发信息,利用推送和拉取相结合的方式,实现了客户端与云端服务器之间的信息实时同步。

在上述实施例的基础上,该装置还可以包括:

匹配模块,用于如果接收到客户端发送的版本请求消息,则检测所述数据库版本信息与所述产品数据包版本信息是否匹配;

匹配结果模块,用于如果所述数据库版本信息与所述产品数据包版本信息不匹配,则所述云端服务器根据与所述数据库版本信息对应的开发信息生成新的产品数据包,将所述新的产品数据包发送至所述文件服务器,以及更新所述产品数据包版本信息;

反馈模块,用于向发送所述版本请求消息的客户端发送请求反馈消息,所述请求反馈消息中携带所述新的产品数据包在所述文件服务器的下载信息,以及与所述新的产品数据包对应的数据库版本信息和/或产品数据包版本信息。

在上述实施例的基础上,所述在线模块503可以包括:

更新单元,用于更新之后的产品数据包版本信息所标识的版本与数据库版本信息所标识的版本相同。

在上述实施例的基础上,所述状态确定模块502可以包括:

心跳包接收单元,用于确定是否接收到客户端发送的心跳包;

在线状态确定单元,用于如果接收到所述心跳包,则所述云端服务器将发送所述心跳包的客户端确定为在线客户端。

本实施例中,当开发人员通过开发者平台修改开发信息并发送至云端服务器时,云端服务器更新数据库版本信息。云端服务器通过状态确定模块中的心跳包接收单元获取客户端发送的心跳包,如果接收到心跳包,则通过在线确定单元确定发送心跳包的客户端处于在线状态。当至少一个客户端处于在线状态时,通过在线模块,首先根据已修改的开发信息生成产品数据包,并发送产品数据包至文件服务器,然后更新产品数据包版本信息,通过更新单元,使更新之后的产品数据包版本信息所标识的版本与数据库版本信息所标识的版本相同,最后向在线的客户端发送包括产品数据包在文件服务器的下载地址,以及更新后的数据库版本信息和/或产品数据包版本信息的推送消息,以使客户端完成版本以及版本对应的产品数据包的更新。当客户端均处于离线状态时,继续监测是否接收到已修改的开发信息。当客户端由离线状态切换至在线状态时,通过匹配模块接收到客户端的版本请求消息之后,将数据库版本信息与产品数据包版本信息进行比对,如果两者不一致,根据数据库版本信息对应的开发信息生成新的产品数据包,将新的产品数据包发送至文件服务器之后,产品数据包版本信息。通过反馈模块,向发送版本请求消息的客户端发送携带有新的产品数据包在所述文件服务器的下载信息,以及与新的产品数据包对应的数据库版本信息和/或产品数据包版本信息的反馈消息,以使客户端完成与云端服务器开发信息实时同步。

本发明实施例五提供了一种信息同步装置,使云端服务器根据客户端的网络状态进行开发信息的更新操作,使用客户端在线时推送、客户端由离线切换至在线时拉取相结合的方式,实现了客户端与云端服务器之间的信息实时同步。

实施例六

图6是本发明实施例六中的一种信息同步装置的结构示意图,该装置应用于通过客户端来进行与云端服务器开发信息实时同步的情况,该装置可以采用软件和/或硬件的方式实现,一般集成于客户端中。如图6所示,装置包括:获取模块601、下载模块602以及替换模块603。

获取模块601,用于在处于在线状态时,如果接收到云端服务器发送的推送消息,则获取所述推送消息中包括的产品数据包在文件服务器的下载信息,以及数据库版本信息和/或产品数据包版本信息,其中,所述数据库版本信息用于标识所述云端服务器的数据库中所存储的开发信息的版本,所述产品数据包版本信息用于标识存储在所述文件服务器的产品数据包的版本;

下载模块602,用于根据所述产品数据包在文件服务器的下载信息,在所述文件服务器中下载所述产品数据包;

替换模块603,用于使用所述数据库版本信息和/或产品数据包版本信息替换客户端本地的版本信息,使用下载的所述产品数据包替换客户端本地的产品数据包。

本发明实施例能够在客户端处于在线时,接收云端服务器的推送消息,实时获取更新的开发信息,实现了客户端与云端服务器之间的信息实时同步。

在上述实施例的基础上,该装置还可以包括:

版本请求发送单元,用于如果从离线状态切换至在线状态,则向所述云端服务器发送版本请求消息;

接收单元,用于接收所述云端服务器根据所述版本请求消息发送的请求反馈消息,所述请求反馈消息中携带所述文件服务器中最新产品数据包的下载信息,以及与所述最新产品数据包对应的数据库版本信息和/或产品数据包版本信息;

下载单元,用于使用所述数据库版本信息和/或产品数据包版本信息与客户端本地的版本信息进行匹配,并在匹配不一致时,根据所述最新产品数据包的下载信息,在所述文件服务器中下载产品数据包;

替换单元,用于使用所述与所述最新产品数据包对应的数据库版本信息和/或产品数据包版本信息替换客户端本地的版本信息,使用下载的产品数据包替换客户端本地的产品数据包。

在上述实施例的基础上,该装置还可以包括:

心跳发送单元,用于在处于在线状态时,按照预设的时间间隔向所述云端服务器发送心跳包,以使所述云端服务器根据所述心跳包确定所述客户端的在线状态。

本实施例中,客户端通过心跳发送单元按照设定时间发送心跳包至云端服务器,以帮助云端服务器了解客户端的当前网络状态。其中,设定时间根据实际应用情况具体设定,例如,设定时间可以为20秒钟。当客户端处于在线状态时,通过获取模块获取云端服务器发送的推送消息,如果推送消息中的数据库版本信息和/或产品数据包版本信息与客户端本地的版本信息不一致,则根据推送消息中包括的产品数据包在文件服务器的下载信息,利用下载模块在文件服务器中下载产品数据包,通过替换模块,将原有的客户端本地版本信息替换为数据库版本信息和/或产品数据包版本信息,将原有的客户端本地产品数据包替换为下载的产品数据包。

当客户端由离线状态切换至在线状态时,通过版本请求发送单元向云端服务器发送版本请求,并通过接收单元接收云端服务器返回的新的产品数据包在的下载地址,以及与新的产品数据包对应的数据库版本信息和/或产品数据包版本信息。客户端将本地版本信息与云端服务器返回的版本信息进行比对,如果两者之间不一致,则通过下载单元下载新的产品数据包。在替换单元中,将本地的客户端版本信息替换为数据库版本信息和/或产品数据包版本信息,将本地的产品数据包替换为新的产品数据包。

本发明实施例六提供了一种信息同步装置,客户端从离线状态切换至在线状态时,通过拉取的方式,向云端服务器请求云端存储的版本信息,在云端存储的版本信息与本地版本信息不一致的情况下,完成版本信息以及版本信息对应的产品数据包的实时更新,与云端服务器保持开发信息的同步。

实施例七

图7是本发明实施例七中的一种信息同步系统的结构示意图,如图7所示,该系统包括:云端服务器701、客户端702以及文件服务器703。

云端服务器701,用于执行本发明实施例所述的信息同步方法,根据所述客户端是在线状态或离线状态,执行相应的开发信息同步操作;

客户端702,用于执行本发明实施例所述的信息同步方法,实现与云端服务器之间开发信息同步;

文件服务器703,用于存储产品数据包。

本实施例中,云端服务器在接收到已修改的开发信息时,更新数据库版本信息,客户端按照设定时间向云端服务器发送心跳包,云端服务器根据心跳包来判断客户端在线,否则为离线。在至少一个客户端在线时,云端服务器向在线的客户端发送推送消息,其中,推送消息包括:产品数据包在文件服务器的下载信息,以及更新后的数据库版本信息和/或产品数据包版本信息,客户端根据下载信息,从文件服务器下载产品数据包,并用数据库版本信息和下载的产品数据包替换原有的本地版本信息和产品数据包,以实现客户端与云端服务器的开发信息同步。

如果客户端均处于离线状态下,云端服务器在修改数据库版本信息之后,继续监测是否接收到已修改的开发信息。当客户端从离线状态切换至在线状态时,向云端服务器发送版本请求消息,云端服务器比对数据库版本信息和产品数据包版本信息是否一致,如果不一致,首先根据数据库版本信息对应的开发信息生成新的产品数据包,并发送至文件服务器之后,更新产品数据包版本信息,使产品数据包版本信息与数据库版本信息保持一致,然后向客户端返回新的产品数据包在文件服务器中的下载信息以及数据库版本信息和/或产品数据包版本信息。客户端使用云端服务器返回的版本信息与本地版本信息进行比对,如果两者不一致,则根据下载信息,在云端服务器下载新的产品数据包,并使用新的产品数据包替换客户端本地的原有的产品数据包,使用云端服务器返回的版本信息替换客户端本地的版本信息,以实现客户端从离线状态转为在线状态时能够与云端服务器同步开发信息。

本发明实施例七提供的一种信息同步系统,使客户端在线时通过云端服务器的推送,实时获取更新的开发信息,在客户端离线时,最大化云端服务器的性能,节省云端服务器的资源,客户端上线时,及时拉取云端开发信息,利用推送和拉取相结合的方式,实现了客户端与云端服务器之间的信息实时同步。

本发明实施例提供的信息同步装置可执行本发明任意实施例提供的信息同步方法,具备执行方法相应的功能模块和有益效果。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1