一种数据更新方法、装置、系统、计算机设备及存储介质制造方法及图纸

技术编号:21140914 阅读:32 留言:0更新日期:2019-05-18 05:06
本发明专利技术公开了一种数据更新方法、装置、系统、计算机设备及存储介质,其中,所述方法包括:接收服务器推送的至少一条更新后的数据,将所述至少一条更新后的数据保存至存储队列中;其中,所述至少一条更新后的数据中包含有业务类型、以及发生变化的数据的内容;基于所述数据获取请求从所述存储队列中提取目标数据,将所述目标数据发送至所述接入层服务器所连接的终端。

【技术实现步骤摘要】
一种数据更新方法、装置、系统、计算机设备及存储介质
本专利技术涉及信息处理技术,尤其涉及一种数据更新方法、装置、系统、计算机设备及存储介质。
技术介绍
目前,在客户端获取到后端服务器更新的某种业务的数据,通常采用的方法为,客户端或者客户端对应的接入层服务器直接从后端服务器进行数据提取。但是,接入层服务器由于并不知道后台哪些数据出现了更新,因此,就需要周期性的或者经常性的从后台提取某一个业务的数据,然后进行对比判断是否出现更新。可以看出,前面的处理方式,客户端获取更新数据的过程较为复杂,使得用户侧无法及时得到更新后的数据,尤其无法应对实时性要求较高的业务。
技术实现思路
有鉴于此,本专利技术实施例希望提供一种数据更新方法、装置、系统、计算机设备及存储介质,能至少解决现有技术中存在的上述问题。本专利技术实施例的技术方案是这样实现的:本专利技术实施例提供了一种数据更新方法,所述方法包括:接收服务器推送的至少一条更新后的数据,将所述至少一条更新后的数据保存至存储队列中;其中,所述至少一条更新后的数据中包含有业务类型、以及发生变化的数据的内容;检测到接入层服务器发来的数据获取请求时,基于所述数据获取请求从所述存储队列中提取目标数据,将所述目标数据发送至所述接入层服务器所连接的终端。本专利技术实施例提供了一种数据更新装置,所述装置包括:存储单元,用于接收服务器推送的至少一条更新后的数据;将所述至少一条更新后的数据保存至存储队列中;其中,所述至少一条更新后的数据中包含有业务类型、以及发生变化的数据的内容;提取单元,用于检测到接入层服务器发来的数据获取请求时,从所述存储队列中提取目标数据;数据发送单元,用于将所述目标数据发送至所述接入层服务器所连接的终端。本专利技术实施例提供了一种数据更新系统,所述系统包括:分布式消息队列系统,用于接收服务器推送的至少一条更新后的数据,将所述至少一条更新后的数据保存至存储队列中;其中,所述至少一条更新后的数据中包含有业务类型、以及发生变化的数据的内容;检测到接入层服务器发来的数据获取请求时,基于所述数据获取请求从所述存储队列中提取目标数据,将所述目标数据发送至所述接入层服务器所连接的终端;服务器,用于推送所述至少一条更新后的数据至分布式消息队列系统;接入层服务器,用于从所述分布式消息队列系统的存储队列中提取目标数据。本专利技术实施例提供了一种存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现前述所述方法的步骤。本专利技术实施例提供了一种计算机设备,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,其中,所述处理器用于运行所述计算机程序时,执行前述方法的步骤。采用本专利技术实施例,就能够获取到主动推送来的发生更新的数据,在接入层服务器发来请求的时候,直接从存储队列中发送更新后的数据;从而摈弃了现有技术中“拉取-对比”的过程所带来的用户侧获取更新数据的时间延迟;并且,接入层服务器避免了从后端服务器直接获取数据的操作,从而节省了大量的服务器资源。附图说明图1-1为本专利技术实施例场景示意图1;图1-2为本专利技术实施例数据更新方法流程示意图;图2为本专利技术实施例场景示意图2;图3为本专利技术实施例场景示意图3;图4为本专利技术实施例数据更新装置组成结构示意图;图5为本专利技术实施例数据更新系统组成结构示意图;图6为本专利技术实施例数据更新系统中的服务器组成结构示意图;图7为本专利技术实施例的计算机设备组成结构示意图。具体实施方式下面结合附图对技术方案的实施作进一步的详细描述。首先结合图1-1说明本申请的使用场景,在后台通过至少一个服务器组成的服务器集群提供多种业务的数据服务;通过中间的分布式消息队列系统获取后台更新后的数据并存储,由接入层从中间的分布式消息队列系统中获取存储队列中的数据;最后由接入层将存储队列中的数据发送到终端侧;终端侧可以有多种类型的设备,比如图中所示的智能手机、平板电脑、笔记本电脑等。实施例一:本专利技术实施例提供一种数据更新方法,如图1-2所示,包括:步骤101:接收服务器推送的至少一条更新后的数据,将所述至少一条更新后的数据保存至存储队列中;其中,所述至少一条更新后的数据中包含有业务类型、以及发生变化的数据的内容;步骤102:检测到接入层服务器发来的数据获取请求时,基于所述数据获取请求从所述存储队列中提取目标数据,将所述目标数据发送至所述接入层服务器所连接的终端。这里,本实施例所提供的方法可以应用于服务器中,具体来说,可以应用于至少一个服务器组成的系统中,该系统可以具备以下功能:兼容AMQP协议,AMQP是应用层协议的一个开放标准,为面向消息的中间件设计;具有面向消息、队列、路由、可靠性、安全的主要特征。本实施例提供的处理方法,可以参见图2的架构进行说明,后端数据一旦发生变化,主动通知给分布式消息队列系统,同时,在接入层,有个常驻的“准实时获取分布式消息队列系统变化数据的服务”,我们可以视为这个过程的时间差趋近为0。在接入层,可以准实时获取到变化数据,通过websocket推送给客户端。其中,后端数据变化,后端服务只需要调用分布式消息队列系统的API,发送一个消息,所述至少一条更新后的数据中包含有业务类型、以及发生变化的数据的内容。需要说明的是,后端的服务器数据发生变化由自身可以感知,一旦出现更新后的数据,就基于与中间的分布式消息队列系统中对应的写数据接口将更新后的数据发送到分布式消息队列系统中。本申请中,获取推送的更新后的数据的消息的结构可以如下:具体来说,上述business表征接入的业务;actionType表征消息的类型;比如,同一个业务下,会有多种消息类型;data表征:变化的数据。前面的结构中并未给出具体的变化内容,仅为一个示例,在实际处理中data后面可以设置在某一个消息类型下发生变化的数据的具体内容,这里不进行举例说明。服务端每次变化的数据,都包装成上述格式的消息并发出。接入层,有一个常驻服务:“准实时获取CRMQ变化数据的服务”;其中,CMRP即分布式高可靠消息队列(CloudReliableMessageQueue)。通过前述服务能够准实时的获取CRMQ队列中的数据。因此,在接入层,能够及时的获取后端变化数据,从而通过websocket推送给用户侧。其中,实时获取CRMQ变化数据的服务可以通过以下方式来实现:一个while循环调用CRMQ体统的API,receiveMsg。一旦取到了就继续取队列,直到取完这个队列的所有元素,当取不到的时候,就等待5毫秒(这样可以释放cpu,不至于这个程序卡死整个进程);然后再重复上述过程。所以消息最大可能的延迟,就是5毫秒。关于分布式消息队列系统,比如,可以为CRMQ即“分布式高可靠消息队列”(CloudReliableMessageQueue),为分布式消息队列系统的一种实现方案。关于分布式消息队列系统内维护的存储队列建立方式可以包括以下几种:第一种、即按照更新的数据到来的先后顺序,直接进行保存;在第一种处理方式下,相应的,所述检测到接入层服务器发来的数据获取请求时,从所述存储队列中提取目标数据,还包括:检测到接入层服务器发来的数据获取请求时,从所述数据获取请求中提取业务类型;基于所述业务类型,从所述存储队列中提取到与所述业务类型对应本文档来自技高网...

【技术保护点】
1.一种数据更新方法,其特征在于,所述方法包括:接收服务器推送的至少一条更新后的数据,将所述至少一条更新后的数据保存至存储队列中;其中,所述至少一条更新后的数据中包含有业务类型、以及发生变化的数据的内容;检测到接入层服务器发来的数据获取请求时,基于所述数据获取请求从所述存储队列中提取目标数据,将所述目标数据发送至所述接入层服务器所连接的终端。

【技术特征摘要】
1.一种数据更新方法,其特征在于,所述方法包括:接收服务器推送的至少一条更新后的数据,将所述至少一条更新后的数据保存至存储队列中;其中,所述至少一条更新后的数据中包含有业务类型、以及发生变化的数据的内容;检测到接入层服务器发来的数据获取请求时,基于所述数据获取请求从所述存储队列中提取目标数据,将所述目标数据发送至所述接入层服务器所连接的终端。2.根据权利要求1所述的方法,其特征在于,所述检测到接入层服务器发来的数据获取请求时,基于所述数据获取请求从所述存储队列中提取目标数据,将所述目标数据发送至所述接入层服务器所连接的终端,包括:检测到至少一个接入层服务器发来的数据获取请求时,基于所述数据获取请求,复制所述存储队列得到待用存储队列;将所述待用存储队列中的至少一条更新后的数据作为所述目标数据,将所述目标数据发送至发来数据获取请求的接入层服务器所连接的终端。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:检测未接收到接入层服务器发来数据获取请求的时长;当所述时长超过预设门限值时,删除所述存储队列。4.根据权利要求1所述的方法,其特征在于,所述将所述至少一条更新后的数据保存至存储队列中,还包括:基于所述至少一条更新后的数据中,每一条更新后的数据对应的业务类型,确定所述每一条更新后的数据的业务类型所对应的存储队列;将所述更新后的数据存储至其业务类型所对应的存储队列中。5.根据权利要求4所述的方法,其特征在于,所述检测到接入层服务器发来的数据获取请求时,从所述存储队列中提取目标数据,还包括:检测到接入层服务器发来的数据获取请求;从所述数据获取请求中提取得到所要获取的数据的业务类型;基于所述业务类型,选取对应的存储队列,从选取的所述存储队列中提取至少一条更新后的数据作为目标数据。6.一种数据更新装置,其特征在于,所述装置包括:存储单元,用于接收服务器推送的至少一条更新后的数据;将所述至少一条更新后的数据保存至存储队列中;其中,所述至少一条更新后的数据中包含有业务类型、以及发生变化的数据的内容;提取单元,用于检测到接入层服务器发来的数据获取请求时,基于所述数据获取请求从所述存储队列中提取目标数据;数据发送单元,用于将所述目标数据发送至所述接入层服务器所连接的终端。7.根据权利要求6所述的装置,其特征在于,所述提取单元,用于检测到至少一个接入层服务器发来的数...

【专利技术属性】
技术研发人员:颜喆明张双俊田晓波符云密聂森
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东,44

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

1