推送信息的方法与服务端与流程

文档序号:34993090发布日期:2023-08-03 22:02阅读:20来源:国知局
推送信息的方法与服务端与流程

本技术涉及云存储领域,并且更具体地,涉及推送信息的方法与服务端。


背景技术:

1、云数据库可以为客户端提供云端存储能力。在并发场景中,允许多个客户端同时请求操作云数据库中的数据,在这多个请求被云数据库成功处理后,云数据库里的数据通常会发生变化,在这种情况下,需要将云数据库中的数据的变化推送至各个客户端,以使各个客户端得到与云数据库一致的数据信息。

2、为了保证客户端能够得到与云数据库一致的数据信息,通常需要云数据库在请求执行完成后,将云数据库中的数据的变化按照多个请求的执行顺序依次推送至客户端,从而使得客户端得到与云数据一致的数据信息,然而,这会对云数据库的自身性能造成较大影响。


技术实现思路

1、本技术提供一种推送信息的方法与服务端,以期在向客户端推送云数据库中的数据的变化时,既能降低对云数据库的自身性能的影响,又能使得客户端得到与云数据库一致的数据信息。

2、第一方面,提供了一种推送信息的方法,包括:在云数据库成功执行操作后,将与所述操作关联的数据的标识与所述操作的类型存储在目标缓存空间;之后,服务端在向客户端推送时,根据所述数据的标识、所述操作的类型以及所述云数据库中当前是否存在所述数据,向所述客户端推送所述数据的相关信息,所述数据的相关信息用于所述客户端确定当前所述云数据库中的数据相对于执行所述操作前所发生的变化。

3、基于上述技术方案,服务端在云数据库成功执行操作后,将与操作关联的数据的标识与操作的类型存储在目标缓存空间,因此,服务端从目标缓存空间中可以确定出由于执行操作,云数据库中的数据中有哪些发生了变化以及发生了何种变化,之后,服务端在向客户端推送时,利用当前的云数据库对上述变化进行复核,即确定云数据库中当前是否存在与上述变化一致的变化,如果云数据库中当前存在与上述变化一致的变化,则向客户端推送与操作关联的数据的相关信息,以使客户端根据服务端的推送的数据的相关信息,确定当前云数据库中的数据相对于执行操作前所发生的变化,进而将发生的变化同步至本地,从而得到与云数据库一致的数据信息。

4、值得一提的是,上述的将操作的类型与标识存储在目标缓存空间,仅作为一种实现方式,并不构成对本技术实施例的限定,在具体实现时,还可以将操作的类型与标识对应的数据存储在目标缓存空间。由于标识相对于标识对应的数据对内存的占用较少,因此,将操作的类型与标识存储在目标缓存空间,相对于将操作的类型与标识对应的数据存储在目标缓存空间,可以减少对内存的占用。

5、结合第一方面,在第一方面的某些实现方式中,所述根据所述数据的标识、所述操作的类型以及所述云数据库中当前是否存在所述数据,向所述客户端推送数据的相关信息,包括:如果所述目标缓存空间中的所述操作的类型指示所述标识对应的所述数据是执行更新/插入操作后生成的,且所述云数据库中当前存在所述数据,向所述客户端推送数据的相关信息,所述数据的相关信息包括所述数据;或,在向客户端推送时,如果所述目标缓存空间中的所述操作的类型指示所述标识对应的所述数据被执行了删除操作,且所述云数据库中当前不存在所述数据,向所述客户端推送所述数据的相关信息,所述数据的相关信息包括所述数据对应的标识。

6、基于上述技术方案,服务端在云数据库成功执行删除操作或更新/插入操作后,将被执行了删除操作的数据对应的标识与删除操作的类型或执行更新/插入操作后生成的数据对应的标识与更新/插入操作的类型存储在目标缓存空间,因此,服务端从目标缓存空间中可以确定云数据库中哪些数据被删除了,哪些数据被记录在了云数据库里,之后,服务端在向客户端推送时,如果标识对应的数据是执行更新/插入操作后生成的,则服务端可以利用当前的云数据库对上述执行更新/插入操作后生成的数据进行复核,即确定云数据库中当前是否存在上述执行更新/插入操作后生成的数据,如果云数据库中当前存在上述执行更新/插入操作后生成的数据,则从云数据库中获取执行更新/插入操作后生成的数据,并向客户端推送该数据,以使客户端根据服务端的推送,将该数据同步至本地,从而得到与云数据库一致的数据信息,或者,服务端在向客户端推送时,如果标识对应的数据被执行了删除操作,则服务端可以利用当前的云数据库对上述被执行了删除操作的数据进行复核,即确定云数据库中当前是否不存在上述被执行了删除操作的数据,如果云数据库中当前不存在上述被执行了删除操作的数据,则向客户端推送该数据对应的标识,以使客户端根据服务端的推送,确定该数据当前已经被从云数据库中删除,进而将该数据从本地删除,从而得到与云数据库一致的数据信息。

7、此外,在该方案中,由于服务端仅需要利用云数据库对执行更新/插入操作后生成的数据或被执行了删除操作的数据进行复核,从而不会对云数据库自身的自身性能造成太大影响。

8、结合第一方面,在第一方面的某些实现方式中,如果服务端从目标缓存空间获取到了操作的类型与标识,所述方法还包括:服务端将已经获取到的操作的类型与标识从目标缓存空间内清空。

9、基于上述技术方案,服务端在从目标缓存空间获取到操作的类型与标识后,为了使得服务端后续能够从目标缓存空间中获取到在该操作的类型与标识之后被存储在目标缓存空间内的操作的类型与标识,服务端可以在从目标缓存空间获取该操作的类型与标识之后,将本次已经获取到的该操作的类型与标识从目标缓存空间内清空。

10、值得一提的是,上述仅作为示例性说明,并不构成对本技术实施例的限定,在具体实现时,服务端可以以覆盖存储的方式将操作的类型与标识存储在目标缓存空间。

11、结合第一方面及上述实现方式,在第一方面的某些实现方式中,如果所述目标缓存空间中的所述操作的类型指示所述标识对应的所述数据是执行更新/插入操作后生成的,且所述云数据库中当前存在所述数据,则所述数据的相关信息还包括所述更新/插入操作的类型。

12、基于上述技术方案,服务端通过向客户端即推送执行更新/插入操作后生成的数据,又推送更新/插入操作的类型,使得客户端根据数据的相关信息,不仅可以将执行更新/插入操作后生成的数据呈现给用户,进一步地,客户端还可以向用户呈现该数据是执行了更新/插入操作后生成的,从而提升用户体验。

13、结合第一方面及上述实现方式,在第一方面的某些实现方式中,如果所述目标缓存空间中的所述操作的类型指示所述标识对应的所述数据被执行了删除操作,且所述云数据库中当前不存在所述数据,则所述数据的相关信息还包括所述删除操作的类型。

14、结合第一方面及上述实现方式,在第一方面的某些实现方式中,所述目标缓存空间包括第一缓存空间与第二缓存空间,所述第一缓存空间用于存储执行所述更新/插入操作后生成的数据对应的标识与所述更新/插入操作的类型,所述第二缓存空间用于存储被执行所述删除操作的数据对应的标识与所述删除操作的类型。

15、结合第一方面及上述实现方式,在第一方面的某些实现方式中,在将与所述操作关联的数据的标识与操作的类型存储在目标缓存空间之前,所述方法还包括:确定所述目标缓存空间中是否已经存在与所述操作关联的数据的标识与所述操作的类型;如果所述目标缓存空间中已经存在与所述操作关联的数据的标识与所述操作的类型,所述将与所述操作关联的数据的标识与所述操作的类型存储在目标缓存空间,包括:以去重的方式将与所述操作关联的数据的标识与所述操作的类型存储在所述目标缓存空间。

16、基于上述技术方案,服务端在向目标缓存空间存储操作的类型与标识时,通过以去重的方式存储操作的类型与标识,从而合并了重复的操作类型与标识,这样一来,对于在很短的时间内云数据库内被执行了多次更新/插入操作,而执行这多次更新/插入操作生成的多个数据的标识相同的情况,通过合并重复的操作类型与标识,可以使得服务端无需将每次执行更新/插入操作后生成的数据均向客户端推送,而是可以根据该段时间内最后一对被存储在目标缓存空间内的更新/插入操作的类型以及执行该更新/插入操作后生成的数据对应的标识,仅向客户端推送执行该段时间内的最后一次更新/插入操作后生成的数据,从而减少了冗余推送,降低了推送流量的消耗。

17、结合第一方面及上述实现方式,在第一方面的某些实现方式中,所述方法还包括:获取订阅条件,所述订阅条件指示与所述订阅条件关联的客户端所关注的数据;所述将与所述操作关联的数据的标识与操作的类型存储在目标缓存空间,包括:在确定所述数据满足所述订阅条件后,将所述数据的标识与所述操作的类型存储在所述目标缓存空间。

18、基于上述技术方案,通过将满足订阅条件的数据的标识与操作的类型存储在目标缓存空间,使得服务端可以向客户端推送云数据库中被订阅的数据的变化,从而提升用户体验。

19、结合第一方面及上述实现方式,在第一方面的某些实现方式中,在向客户端推送所述数据的相关信息之前,所述方法还包括:确定所述订阅条件与所述客户端关联。

20、基于上述技术方案,通过向与订阅条件关联的客户端推送数据的相关信息,可以使得与订阅条件关联的客户端得到云数据库中该客户端更感兴趣的数据所发生的变化,从而提升用户体验。

21、第二方面,本技术提供了一种装置,该装置包含在服务端中,该装置具有实现上述方面及上述方面的可能实现方式中服务端行为的功能。功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块或单元。例如,处理模块或单元、推送模块或单元等。

22、第三方面,本技术提供了一种服务端,包括:处理器;存储器;以及一个或多个计算机程序。其中,一个或多个计算机程序被存储在存储器中,一个或多个计算机程序包括指令。当指令被服务端执行时,使得服务端执行上述任一方面任一项可能的实现中的推送信息的方法。

23、第四方面,本技术提供了一种计算机可读存储介质,包括计算机指令,当计算机指令在服务端上运行时,使得服务端执行上述任一方面任一项可能的视频播放的方法。

24、第五方面,本技术提供了一种计算机程序产品,当计算机程序产品在服务端上运行时,使得服务端执行上述任一方面任一项可能的推送信息的方法。

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