数据推送方法、装置、电子设备及存储介质与流程

文档序号:35284197发布日期:2023-09-01 04:46阅读:28来源:国知局
数据推送方法、装置、电子设备及存储介质与流程

本发明涉及计算机,尤其涉及一种数据推送方法、装置、电子设备及存储介质。


背景技术:

1、当前数据推送方法主要有主动推送方法、批量拉取方法和推拉结合方法。主动推送方法,即数据产生后通过消息通道将数据推送给客户端,包括数据处理消息,由客户端实时处理全部内容,但受限于客户端的处理性能低,使得数据推送效率低;批量拉取方法,即数据产生后先入库,再由客户端通过一定频率定时或手动触发从数据库中拉取数据,虽减少了客户端处理的消耗,但增加了数据到客户端的时延,导致数据推送效率低,且每次都需要拉取全量的数据,导致很多数据重复拉取而造成资源浪费;推拉结合方法,即数据本身通过消息通道实时推送,关联、清除和更新消息,通过拉取的方式定时同步,虽一定程度上减轻了客户端的负载,但同样存在时延大和同步慢的问题。


技术实现思路

1、本发明提供一种数据推送方法、装置、电子设备及存储介质,旨在提高数据处理和推送效率以及资源利用率。

2、第一方面,本发明提供一种数据推送方法,应用于客户端,包括:

3、将连接请求发送至服务端,以供所述服务端根据所述连接请求中的连接身份信息和数据过滤条件,创建数据虚拟化视图进行数据可视化逻辑的处理;

4、获取所述客户端的当前物理窗口的窗口信息,并基于所述窗口信息计算出所述当前物理窗口的第一数据推送范围;

5、基于所述第一数据推送范围在所述数据虚拟化视图中,拉取所述当前物理窗口的推送数据片段并更新;

6、所述客户端的当前物理窗口,与所述服务端的虚拟化视图之间存在的数据映射关系。

7、在一个实施例中,所述基于所述第一数据推送范围在所述数据虚拟化视图中,拉取所述当前物理窗口的推送数据片段并更新,包括:

8、获取所述当前物理窗口的数据更新模式;

9、基于所述数据更新模式和所述第一数据推送范围在所述数据虚拟化视图中,拉取推送数据片段并更新。

10、所述基于所述数据更新模式和所述第一数据推送范围在所述数据虚拟化视图中,拉取推送数据片段并更新,包括:

11、若所述数据更新模式为第一滑动更新模式,则在可视区的数据移动变化为第一预设参数时,计算出第二数据推送范围,并基于所述第二数据推送范围在所述数据虚拟化视图中,拉取推送数据片段并更新;所述第一滑动更新模式表征:纵向滚动条移动时,可视区的数据移动仍在所述第一数据推送范围内;

12、若所述数据更新模式为第二滑动更新模式,则在纵向滚动条移动停止时,计算出第三数据推送范围,并基于所述第三数据推送范围在所述数据虚拟化视图中,拉取推送数据片段并更新;所述第二滑动更新模式表征:纵向滚动条移动时,可视区的数据移动在所述第一数据推送范围外;

13、若所述数据更新模式为定时更新模式,则基于所述第一数据推送范围,以预设频率在所述数据虚拟化视图中,拉取推送数据片段并更新;所述定时更新模式表征:窗口处于静止且无操作状态;

14、若所述数据更新模式为显隐更新模式,则确定所述数据虚拟化视图中第一节点的标识id和显隐类型,并基于所述第一数据推送范围、所述第一节点的标识id和显隐类型,在所述数据虚拟化视图中,拉取推送数据片段并更新;所述显隐更新模式表征:接收到对物理窗口中的级联折叠按钮的操作信号。

15、所述窗口信息包括数据显示区的内容高度、数据列表的行高、纵向滚动条位置和预缓存参数;

16、所述基于所述窗口信息计算出所述当前物理窗口的第一数据推送范围,包括:

17、基于所述内容高度和所述行高,计算出数据显示区的数据条数;

18、若确定所述纵向滚动条位置满足第一条件,则基于所述纵向滚动条位置、所述预缓存参数和所述数据条数,确定所述第一数据推送范围的起始行和结束行;所述第一条件为:所述纵向滚动条位置大于,所述数据条数与所述预缓存参数的乘积;

19、若确定所述纵向滚动条位置满足第二条件,则将第二预设参数确定为所述第一数据推送范围的起始行,并基于所述纵向滚动条位置、所述预缓存参数和所述数据条数,确定所述第一数据推送范围的结束行;所述第二条件为:所述纵向滚动条位置小于或者等于,所述数据条数与所述预缓存参数的乘积。

20、第二方面,一种数据推送方法,应用于服务端,包括:

21、接收客户端发送的连接请求;

22、对所述连接请求进行解析,得到所述连接请求中的连接身份信息和数据过滤条件;

23、若确定所述连接身份信息验证通过,则基于所述数据过滤条件创建数据虚拟化视图;

24、其中,所述客户端基于当前物理窗口的第一数据推送范围,在所述数据虚拟化视图中,拉取所述当前物理窗口的推送数据片段并更新。

25、在一个实施例中,所述基于所述数据过滤条件创建数据虚拟化视图之后,还包括:

26、基于所述数据过滤条件为所述数据虚拟化视图分发待处理流式数据,并基于所述待处理流式数据更新所述数据虚拟化视图的视图树;

27、所述基于所述待处理流式数据更新所述数据虚拟化视图的视图树,包括:

28、若确定目标流式数据为非本身数据,则确定所述目标流式数据是否为关联消息;所述目标流式数据为所述待处理流式数据的任一数据;

29、若确定所述目标流式数据为非关联消息,则确定所述目标流式数据是否为清除消息;

30、若确定所述目标流式数据为非清除消息,则确定所述目标流式数据是否为更新消息;

31、若确定所述目标流式数据为更新消息,则根据所述目标流式数据中的待更新节点id,在所述视图树中确定出第二节点,并基于所述目标流式数据中的内容更新所述第二节点的数据属性。

32、所述确定所述目标流式数据是否为关联消息之后,还包括:

33、若确定所述目标流式数据为关联消息,则确定出所述目标流式数据中的待关联子节点id和视图树的父节点id;

34、确定所述待关联子节点id所属的原始子树,以及根据所述待关联子节点id确定出第三节点;

35、将所述第三节点从所述原始子树中移除,并将所述第三节点添加至所述父节点id对应的父节点中。

36、所述确定所述目标流式数据是否为清除消息之后,还包括:

37、若确定所述目标流式数据为清除消息,则确定出所述目标流式数据中的待清除节点id,并根据所述待清除节点id确定出第四节点;

38、若确定所述第四节点包含有子节点,则将子节点的父节点调整为所述第四节点的父节点,并将调整后的第四节点从所述视图树中移除;

39、若确定所述第四节点未包含有子节点,则将所述第四节点从所述视图树中移除。

40、第三方面,本发明提供一种数据推送装置,应用于客户端,包括:

41、发送模块,用于将连接请求发送至服务端,以供所述服务端根据所述连接请求中的连接身份信息和数据过滤条件,创建数据虚拟化视图进行数据可视化逻辑的处理;

42、获取计算模块,用于获取所述客户端的当前物理窗口的窗口信息,并基于所述窗口信息计算出所述当前物理窗口的第一数据推送范围;

43、数据推送模块,用于基于所述第一数据推送范围在所述数据虚拟化视图中,拉取所述当前物理窗口的推送数据片段并更新;

44、所述客户端的当前物理窗口,与所述服务端的虚拟化视图之间存在的数据映射关系。

45、第四方面,本发明提供一种数据推送装置,应用于服务端,包括:

46、接收模块,用于接收客户端发送的连接请求;

47、解析模块,用于对所述连接请求进行解析,得到所述连接请求中的连接身份信息和数据过滤条件;

48、视图创建模块,用于若确定所述连接身份信息验证通过,则基于所述数据过滤条件创建数据虚拟化视图;

49、其中,所述客户端基于当前物理窗口的第一数据推送范围,在所述数据虚拟化视图中,拉取所述当前物理窗口的推送数据片段并更新。

50、第五方面,本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面或第二方面所述数据推送方法。

51、第六方面,本发明还提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质包括计算机程序,所述计算机程序被所述处理器执行时实现第一方面或第二方面所述数据推送方法。

52、第七方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被所述处理器执行时实现第一方面或第二方面所述数据推送方法。

53、本发明提供的数据推送方法、装置、电子设备及存储介质,将连接请求发送至服务端,以供服务端根据连接请求中的连接身份信息和数据过滤条件,创建数据虚拟化视图进行数据可视化逻辑的处理;获取客户端的当前物理窗口的窗口信息,并基于窗口信息计算出当前物理窗口的第一数据推送范围;基于第一数据推送范围在数据虚拟化视图中,拉取当前物理窗口的推送数据片段并更新;客户端的当前物理窗口,与服务端的虚拟化视图之间存在的数据映射关系。

54、在数据推送的过程中,根据客户端的当前物理窗口的第一数据推送范围,在数据虚拟化视图中拉取与当前物理窗口的窗口大小匹配的推送数据片段并更新,避免了数据重复拉取,减少了资源浪费,从而提高了资源利用率,同时,通过第一数据推送范围微批量拉取与当前物理窗口的窗口大小匹配的推送数据片段,大大减少了网络传输的数据量,减少了数据到客户端的时延,从而提高了数据推送效率,同时,通过服务端创建数据虚拟化视图进行数据可视化逻辑的处理,提高了数据处理效率。

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