CN113608818A - 数据处理方法、装置、电子设备、存储介质及程序产品 - Google Patents
数据处理方法、装置、电子设备、存储介质及程序产品 Download PDFInfo
- Publication number
- CN113608818A CN113608818A CN202110957000.0A CN202110957000A CN113608818A CN 113608818 A CN113608818 A CN 113608818A CN 202110957000 A CN202110957000 A CN 202110957000A CN 113608818 A CN113608818 A CN 113608818A
- Authority
- CN
- China
- Prior art keywords
- node
- data
- nodes
- distributed
- source node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 27
- 238000012545 processing Methods 0.000 title claims description 13
- 238000004891 communication Methods 0.000 claims abstract description 63
- 238000000034 method Methods 0.000 claims abstract description 23
- 238000004590 computer program Methods 0.000 claims description 11
- 230000005540 biological transmission Effects 0.000 claims description 4
- 238000012546 transfer Methods 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 10
- 230000008859 change Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请涉及一种数据处理方法、装置、电子设备、存储介质及程序产品,应用于通信技术领域,应用于终端设备界面组件,界面组件之间具有通信关系,通信关系基于界面组件之间的数据传递关系确定,根据通信关系确定界面组件对应的多叉树,多叉树中的每个节点对应一个或多个界面组件,与目标节点具有通信关系的其他节点均位于目标节点的父节点的子树内,目标节点为除根节点之外的任一节点;响应于界面组件中任一界面组件的数据发送请求,该任一界面组件对应的源节点向该源节点的父节点发送待分发数据;源节点的父节点以及源节点的父节点的子树内的各层节点向下一层节点发送接收到的待分发数据。本申请可以提高数据分发的安全性。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种数据处理方法、装置、电子设备、存储介质及程序产品。
背景技术
终端设备应用软件界面组件的组织方式是多叉树。基于该多叉树,需要通过对多叉树进行完整遍历来实现数据的分发,即需要将数据发送至多叉树中的所有节点。然而,某些节点不希望接收到该数据,并且,接收到该数据后可以对该数据进行修改,导致数据分发的安全性不高。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本申请提供了一种数据处理方法、装置、电子设备、存储介质及程序产品。
根据本申请的第一方面,提供了一种数据处理方法,应用于终端设备界面组件,界面组件之间具有通信关系,所述通信关系基于所述界面组件之间的数据传递关系确定;
所述方法包括:
根据所述通信关系确定所述界面组件对应的多叉树,其中,所述多叉树中的每个节点对应一个或多个所述界面组件,与目标节点具有通信关系的其他节点均位于所述目标节点的父节点的子树内,所述目标节点为除根节点之外的任一节点;
响应于所述界面组件中任一界面组件的数据发送请求,所述任一界面组件对应的源节点向所述源节点的父节点发送待分发数据;
所述源节点的父节点以及所述源节点的父节点的子树内的各层节点向下一层节点发送接收到的所述待分发数据。
在一种可选的实施方式中,所述源节点的父节点以及所述源节点的父节点的子树内的各层节点向下一层节点发送接收到的所述待分发数据,包括:
所述源节点的父节点以及所述源节点的父节点的子树内的各层节点向下一层的所有节点发送接收到的所述待分发数据。
在一种可选的实施方式中,所述源节点的父节点以及所述源节点的父节点的子树内的各层节点向下一层节点发送接收到的所述待分发数据,包括:
所述源节点的父节点以及所述源节点的父节点的子树内的各层接收到所述待分发数据的节点,根据所述待分发数据确定下一层的接收节点,并向下一层的接收节点发送所述待分发数据。
在一种可选的实施方式中,在所述源节点的父节点以及所述源节点的父节点的子树内的各层接收到所述待分发数据的节点,根据所述待分发数据确定下一层的接收节点之前,所述方法还包括:
所述源节点的父节点以及所述源节点的父节点的子树内的各层接收到所述待分发数据的节点,接收下一层节点中的接收节点的注册信息,所述注册信息用于指示所述接收节点对所述待分发数据感兴趣。
在一种可选的实施方式中,所述数据处理方法还包括:
所述源节点以及所述源节点的子树内的各层节点,向下一层节点发送所述待分发数据;
所述源节点的父节点以及所述源节点的父节点的子树内的各层节点向下一层节点发送接收到的所述待分发数据,包括:
所述源节点的父节点向所述源节点的父节点的下一层节点中除所述源节点之外的节点发送所述待分发数据;
接收到所述待分发数据的节点以及所述节点的子树内的各层节点向下一层节点发送从上一层节点接收到的所述待分发数据。
根据本申请的第二方面,提供了一种数据处理装置,应用于终端设备界面组件,所述界面组件之间具有通信关系,所述通信关系基于所述界面组件之间的数据传递关系确定;
所述装置包括:
多叉树建立模块,用于根据所述通信关系确定所述界面组件对应的多叉树,其中,所述多叉树中的每个节点对应一个或多个所述界面组件,与目标节点具有通信关系的其他节点均位于所述目标节点的父节点的子树内,所述目标节点为除根节点之外的任一节点;
第一发送模块,用于响应于所述界面组件中任一界面组件的数据发送请求,所述任一界面组件对应的源节点向所述源节点的父节点发送待分发数据;
第二发送模块,用于所述源节点的父节点以及所述源节点的父节点的子树内的各层节点,向下一层节点发送接收到的所述待分发数据。
在一种可选的实施方式中,所述第二发送模块,具体用于源节点的父节点以及所述源节点的父节点的子树内的各层节点向下一层的所有节点发送接收到的所述待分发数据。
在一种可选的实施方式中,所述第二发送模块,具体用于所述源节点的父节点以及所述源节点的父节点的子树内的各层接收到所述待分发数据的节点根据所述待分发数据确定下一层的接收节点,并向下一层的接收节点发送所述待分发数据。
在一种可选的实施方式中,所述装置还包括:
注册信息接收模块,用于所述源节点的父节点以及所述源节点的父节点的子树内的各层接收到所述待分发数据的节点接收下一层节点中的接收节点的注册信息,所述注册信息用于指示所述接收节点对所述待分发数据感兴趣。
在一种可选的实施方式中,所述装置还包括:
第三发送模块,用于所述源节点以及所述源节点的子树内的各层节点向下一层节点发送所述待分发数据;
第二发送模块,具体用于所述源节点的父节点向所述源节点的父节点的下一层节点中除所述源节点之外的节点发送所述待分发数据;接收到所述待分发数据的节点以及所述节点的子树内的各层节点向下一层节点发送从上一层节点接收到的所述待分发数据。
根据本申请的第三方面,提供了一种电子设备,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行第一方面所述的数据处理方法。
根据本申请的第四方面,提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的数据处理方法。
根据本申请的第五方面,提供了一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行第一方面所述的数据处理方法。
本申请实施例提供的技术方案与现有技术相比具有如下优点:
基于应用软件中的界面组件的通信关系建立的多叉树中,与目标节点具有通信关系的其他节点均位于目标节点的父节点的子树内。这样,在产生待分发数据的源节点作为目标节点的情况下,源节点将待分发数据发送至源节点的父节点后,待分发数据只在该父节点的子树内分发,而不会分发至该子树之外的节点。一方面,可以避免数据被不感兴趣的节点接收甚至修改,提高数据分发的安全性。另一方面,在程序设计中,通过子树的划分,有利于更好地实现解耦和模块化。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为相关技术中基于终端设备应用软件中的界面组件建立的多叉树的一种示意图;
图2为相关技术中节点间数据分发的一种示意图;
图3为本申请实施例中数据处理方法的一种流程图;
图4为本申请实施例中数据处理方法的又一种流程图;
图5为本申请实施例中基于终端设备应用软件中的界面组件建立的多叉树的一种示意图;
图6为本申请实施例中节点间数据分发的一种示意图;
图7为本申请实施例中数据处理装置的一种结构示意图;
图8为本申请实施例中电子设备的一种结构示意图。
具体实施方式
下面将参照附图更详细地描述本申请的实施例。虽然附图中显示了本申请的某些实施例,然而应当理解的是,本申请可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本申请。应当理解的是,本申请的附图及实施例仅用于示例性作用,并非用于限制本申请的保护范围。
应当理解,本申请的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本申请的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本申请中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本申请中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本申请实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
在终端设备应用软件的页面结构中,可以包含有多种不同的界面组件,例如,对于股票页面,可以包含股票行情、用户讨论等界面组件,而股票行情界面组件可以进一步包含分时、操盘线等界面组件。可见,界面组件的组织方式为多叉树。如果将界面组件定义为模块,那么界面组件可以根据位置关系或者逻辑关系聚合在一起,所在的容器可以定义为模块容器。终端设备屏幕窗口即为最外层的根模块容器。根据界面组件的聚合情况,可以将模块容器作为节点,也可以将单个界面组件作为节点,基于此所建立的多叉树可参见图1。
由于多叉树中的数据发送节点无法确定感兴趣的数据接收节点(即要监听数据发送节点所发送的数据并做出响应的节点)在多叉树中的位置,因此,只能遍历整棵多叉树广播通知到所有节点。基于图1所示的多叉树,例如,节点5发送事件E1,节点4对事件E1感兴趣,即节点4要监听事件E1,并在监听到事件E1时做出响应,那么,完整的数据传递路径可参见图2。首先,节点5发送事件E1至节点1,之后,节点1将该事件E1发送至根节点和节点4,节点4进一步将事件E1发送至节点8、节点9和节点10。根节点进一步将事件E1发送至节点2和节点3,以及节点3进一步将事件E1发送至节点6和节点7。
可以看出,上述过程对多叉树进行了完整地遍历,即使其他节点(即节点2、节点3、节点6、节点7、节点8、节点9、节点10)对该事件E1不感兴趣,也将会接收到该事件E1,并且,可以对该事件E1进行修改,导致数据分发的安全性比较低。
为了解决上述问题,本申请实施例提供了一种数据处理方法、装置、电子设备、存储介质及程序产品,可以避免在进行数据分发时导致数据泄露,提高数据分发的安全性。
本申请实施例应用于终端设备界面组件对应的多叉树,多叉树中的每个节点对应一个或多个界面组件(例如根据位置关系或逻辑关系聚合在一起的多个界面组件)。与目标节点具有通信关系的其他节点均位于目标节点的父节点的子树内,目标节点为除根节点之外的任一节点。
举例而言,针对图1所示的多叉树,如果目标节点为节点9,节点9的父节点为节点4,那么与节点9具有通信关系的节点为节点4的子树内,即节点8和/或节点10,节点9产生的数据可以发送至节点8和/或节点10。
如果目标节点为节点5,节点5的父节点为节点1,那么与节点5具有通信关系的节点为节点1的子树内,具体可以为节点4、节点8、节点9、节点10中的一个或多个。如果目标节点为节点4,节点4的父节点为节点1,那么与节点4具有通信关系的节点为节点1的子树内,具体可以为节点5、节点8、节点9、节点10中的一个或多个。
需要说明的是,通信关系可以基于界面组件之间的数据传递关系确定。由于数据传递具有方向性,两个节点之间具有通信关系,可以是两个节点之间互相对对方发送的数据感兴趣,例如,针对图1所示的多叉树,同一层级具有同一父节点的两个节点,相互之间可以通过父节点发送数据,例如,节点4和节点5。另外,两个节点之间具有通信关系,也可以是其中的一方对另一方的数据感兴趣。例如,节点5发送的数据可以在节点1的子树内分发,例如可以向节点9分发,而节点9发送的数据可以在节点4的子树内分发,因此,无法向节点5分发。
参见图3,图3为本申请实施例中数据处理方法的一种流程图,可以包括以下步骤:
S310,根据界面组件之间的通信关系,构建界面组件对应的多叉树。
在应用软件的界面设计中,如果两个界面组件之间有通信的需求,那么,该两个界面组件之间必然存在某种联系。基于此,可以将各个界面组件重新组合,使具有通信关系的界面组件位于一个子树内,以构建多叉树。这样,各个界面组件均在一棵重新排序组合的多叉树上,各个界面组件可以按照通信需求位于不同的子树内。
假设图1所示的多叉树是重新排列之前的多叉树,如果节点7和节点4、节点8和节点9具有通信关系,节点9和节点10具有通信关系,节点5和节点6具有通信关系,节点5、节点6与节点4、节点7、节点8、节点9和节点10均不具有通信关系。基于此,所建立的一种多叉树可参见图5。可以看出,节点4、节点8和节点9位于节点7的父节点的子树内,节点10位于节点9的父节点的子树内,节点6位于节点5的父节点的子树内,并且,节点5和节点6与节点4、节点7、节点8、节点9和节点10不在同一个子树内。
需要说明的是,基于上述通信关系,所建立的多叉树的结构并不是唯一的,还可以是其他类型的多叉树,例如,将图5中节点4、节点8的位置进行调整,或者,将节点8、节点9和节点10均作为节点1的子节点,或者,将节点8作为节点1的子节点,节点9和节点10作为节点8的子节点等等,在此不做限定。
另外,由于通信关系可能会随着界面组件功能变化或页面整体变化而发生变化,因此,在通信关系变化的情况下,还可以基于变化后的通信关系,重新建立多叉树,使重新构建的多叉树中具有通信关系的节点仍然划分到同一子树内。
如前所述,源节点可以是除根节点之外的任一节点。例如,图5所示的节点1~节点10,均可以作为源节点。如果节点1、节点2或节点3作为源节点,此时源节点的父节点即为根节点,源节点的父节点的子树即为整个多叉树。如果节点4作为源节点,源节点的父节点为节点1,源节点的父节点的子树即为节点1、节点4、节点7、节点8、节点9和节点10所构成的子树。
S320,响应于界面组件中任一界面组件的数据发送请求,该任一界面组件对应的源节点向源节点的父节点发送待分发数据。
本申请实施例中,源节点是多叉树中具有父节点的任一节点,即源节点为多叉树中除根节点之外的任一节点。多叉树中的任一节点,可以根据用户对界面组件的操作,生成相应的待分发数据,源节点是指产生待分发数据的节点。例如,用户在短视频应用软件中关注某个主播时,可以在该主播的界面组件“关注”上进行点击,相应地,可以生成“点击关注事件”,该“点击关注事件”即为待分发事件。
可以理解的是,用户关注某个主播后,界面组件“我”的下一层界面组件“关注”中通常会出现该主播的信息。因此,界面组件“我”的下一层界面组件“关注”对“点击关注事件”感兴趣,并且在接收到该“点击关注事件”后会做出响应。
由于多叉树中数据的传递发生在相邻层级,即父子节点之间可以传递数据,而数据分发只发生在源节点的父节点的子树内,因此,源节点可以向源节点的父节点发送待分发数据,以通过该父节点以及该父节点的子树内的各层节点将待分发数据发送至子树内的其他节点。
S330,源节点的父节点以及源节点的父节点的子树内的各层节点向下一层节点发送接收到的待分发数据。
本申请实施例中,源节点的父节点对应的子树,可以看做一个通信分组,源节点可以通过源节点的父节点与该通信分组内的其他节点进行通信,而无法与该通信分组之外的节点进行通信。因此,源节点的父节点接收到待分发数据后,可以将待分发数据发送给该父节点的子节点,子节点还可以进一步将待分发数据发送至该子节点的子节点等,以此类推。
在一种可选的实施方式中,源节点的父节点以及源节点的父节点的子树内的各层节点可以向下一层的所有节点发送接收到的待分发数据。这样,待分发数据不会发送至源节点的父节点的子树外的节点,数据分发只发生在源节点的父节点的子树内,从而建立了通信边界。相应地,源节点的父节点的子树外的其他节点也不会对待分发数据进行修改,保证了待分发数据的安全性。
在又一种可选的实施方式中,源节点的父节点以及源节点的父节点的子树内的各层节点也可以向下一层对待分发数据感兴趣的节点发送待分发数据,对于对待分发数据不感兴趣的节点,可以不发送待分发数据,以进一步缩小数据分发的范围,提高数据分发的安全性。
本申请实施例的数据处理方法,基于应用软件中的界面组件建立的多叉树中,与目标节点具有通信关系的其他节点均位于目标节点的父节点的子树内。这样,在产生待分发数据的源节点作为目标节点的情况下,源节点将待分发数据发送至源节点的父节点后,待分发数据只在该父节点的子树内分发,而不会分发至该子树之外的节点。一方面,可以避免数据被不感兴趣的节点接收甚至修改,提高数据分发的安全性。另一方面,在程序设计中,通过子树的划分,有利于更好地实现解耦和模块化。
参见图4,图4为本申请实施例中数据处理方法的又一种流程图,可以包括以下步骤:
S410,根据界面组件之间的通信关系,构建界面组件对应的多叉树。
多叉树的建立方法可参见S310中的描述,在此不再赘述。在多叉树中,源节点是指产生待分发数据的节点,与源节点具有通信关系的节点在源节点的父节点的子树内,包括:直接在源节点的子树内,即可以不经过源节点的父节点,此时可以执行S420。和/或,不在源节点的子树内,即要经过源节点的父节点发送待分发数据,此时可以执行S430。
S420,响应于界面组件中任一界面组件的数据发送请求,该任一界面组件对应的源节点以及源节点的子树内的各层节点,向下一层节点发送待分发数据。
需要说明的是,待分发数据在多叉树中是逐层发送的,具体为:源节点将待分发数据发送至源节点的下一层节点,下一层节点再将待分发数据发送至该下一层节点的下一层节点,以此类推。在数据分发时,源节点以及源节点的子树内的各层节点可以向下一层的所有节点发送待分发数据,也可以只对待分发数据感兴趣的节点发送待分发数据。
参见图6,图6为本申请实施例中节点间数据分发的一种示意图。如果源节点为节点4,与节点4具有通信关系的节点为节点7和节点8,由于节点8位于节点4的子树内,因此,节点4可以直接向节点8发送待分发数据E1。当然,如果节点8也有子节点,并且对待分发数据E1感兴趣,节点8还可以将待分发数据E1发送至该子节点等。
S430,源节点向源节点的父节点发送待分发数据。
本申请实施例中,如果与源节点具有通信关系的节点不在源节点的子树内,源节点可以向源节点的父节点发送待分发数据,源节点的父节点进一步将待分发数据发送至对待分发数据感兴趣的节点。例如,图6中的节点7,节点7不在节点4的子树内,节点4可以将待分发数据E1发送至父节点节点1,节点1可以再将待分发数据E1发送至节点7。再比如,节点6不在节点5的子树内,节点5可以将待分发数据E2发送至父节点节点3,节点3可以再将待分发数据E2发送至节点6。
S440,源节点的父节点向源节点的父节点的下一层节点中除源节点之外的节点发送待分发数据,接收到待分发数据的节点以及节点的子树内的各层节点,向下一层节点发送从上一层节点接收到的待分发数据。
本申请实施例中,源节点的父节点接收到待分发数据后,可以将待分发数据发送至源节点的父节点的下一层节点(源节点除外),下一层节点再将待分发数据发送至该下一层节点的下一层节点,以此类推。
需要说明的是,多叉树中对待分发数据感兴趣的节点可以预先向上一层节点发送注册信息,这样上一层节点接收到待分发数据后,可以知晓其对应的子节点是否对该待分发数据感兴趣。如果确定子节点感兴趣,可以发送待分发数据,如果确定子节点不感兴趣,可以不发送待分发数据。
因此,源节点的父节点以及源节点的父节点的子树内的各层接收到待分发数据的节点,在发送待分发数据之前,可以预先接收下一层节点中的接收节点的注册信息,注册信息用于指示接收节点对待分发数据感兴趣。这样,源节点的父节点以及源节点的父节点的子树内的各层接收到待分发数据的节点,可以根据待分发数据确定下一层的接收节点,即确定下一层对待分发数据感兴趣的节点,并向下一层的接收节点发送待分发数据。这样,待分发数据只发送至对待分发数据感兴趣的节点,而不会发送给其他节点,避免其他节点对待分发数据进行修改。
在特殊情况下,源节点的父节点也可以是多叉树的根节点。例如,所有的界面组件均依赖于某项数据,在此情况下,根节点接收到源节点发送的待分发数据后,可以将待分发数据逐层发送至多叉树中的其他节点。
另外,对于多叉树的根节点,本地也可以存储有全局数据(即多叉树中的各个节点均依赖的数据)。用户在界面中执行某个操作后,多叉树中的根节点可以将本地存储的全局数据逐级发送至多叉树中的其他节点。即,根节点可以将全局数据通知到整个多叉树中的每个节点,每个节点均可以获取到该全局数据。
举例而言,针对股票页面,如果当前页面中显示的为股票A的相关信息,如果用户重新选择股票B,那么,可以将该全局数据通知到所有节点,这样,股票页面中的所有的信息将会发生变化。
本申请实施例中,在根节点发送上述全局数据之后,多叉树中的任一节点均可以对全局数据进行修改,并将修改后的全局数据逐级发送至多叉树中的其他节点。也就是说,针对上述全局数据,任一节点均可以具有修改数据的能力,并且,数据的变更也会通知到整个多叉树,包括根节点。
本申请实施例的数据处理方法,可以根据节点之间的通信关系建立多叉树中,将具有通信关系的节点划分到同一子树内,这样,数据分发可以只发生在子树内。并且,还可以将待分发数据发送至对待分发数据感兴趣的节点,而不发送至对待分发数据不感兴趣的节点,进一步缩小数据分发的范围。一方面,可以遵循最小知道原则,避免了数据被不感兴趣的节点接收甚至修改,提高了数据分发的安全性。另一方面,在程序设计中,通过子树的划分,有利于更好地实现解耦和模块化。同时,在特殊情况下,对于各个节点均依赖的数据,可以通过根节点进行数据分发,以覆盖所有的场景。
相应于上述方法实施例,本申请实施例还提供了一种数据处理装置,应用于终端设备界面组件,界面组件之间具有通信关系,通信关系基于界面组件之间的数据传递关系确定;
参见图7,图7为本申请实施例中数据处理装置的一种结构示意图,包括:
多叉树建立模块710,用于根据通信关系确定界面组件对应的多叉树,其中,多叉树中的每个节点对应一个或多个界面组件,与目标节点具有通信关系的其他节点均位于目标节点的父节点的子树内,目标节点为除根节点之外的任一节点。
第一发送模块720,用于响应于界面组件中任一界面组件的数据发送请求,任一界面组件对应的源节点向源节点的父节点发送待分发数据;
第二发送模块730,用于源节点的父节点以及源节点的父节点的子树内的各层节点向下一层节点发送接收到的待分发数据。
在一种可选的实施方式中,第二发送模块730具体用于源节点的父节点以及源节点的父节点的子树内的各层节点向下一层的所有节点发送接收到的待分发数据。
在一种可选的实施方式中,第二发送模块730具体用于源节点的父节点以及源节点的父节点的子树内的各层接收到待分发数据的节点根据待分发数据确定下一层的接收节点,并向下一层的接收节点发送待分发数据。
在一种可选的实施方式中,上述数据处理装置还包括:
注册信息接收模块,用于源节点的父节点以及源节点的父节点的子树内的各层接收到待分发数据的节点接收下一层节点中的接收节点的注册信息,注册信息用于指示接收节点对待分发数据感兴趣。
在一种可选的实施方式中,上述数据处理装置还包括:
第三发送模块,用于源节点以及源节点的子树内的各层节点向下一层节点发送待分发数据;
第二发送模块,具体用于源节点的父节点向源节点的父节点的下一层节点中除源节点之外的节点发送待分发数据;接收到待分发数据的节点以及节点的子树内的各层节点向下一层节点发送从上一层节点接收到的待分发数据。
上述装置中各模块或单元的具体细节已经在对应的方法中进行了详细的描述,因此此处不再赘述。
在本申请的示例性实施例中,还提供一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,处理器被配置为执行本示例实施方式中上述数据处理方法。
参见图8,图8为本申请实施例中电子设备的一种结构示意图,本申请具体实施例并不对电子设备的具体实现做限定。需要说明的是,图8示出的电子设备仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图8所示,电子设备800包括中央处理单元(CPU)801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储部分808加载到随机访问存储器(RAM)803中的程序而执行各种适当的动作和处理。在RAM803中,还存储有系统操作所需的各种程序和数据。中央处理单元801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
以下部件连接至I/O接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如局域网(LAN)卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至I/O接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被中央处理单元801执行时,执行本申请的装置中限定的各种功能。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的装置中所包含的;也可以是单独存在,而未装配入该装置中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现上述数据处理方法。
需要说明的是,本申请上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
本申请实施例中,还提供了一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行上述数据处理方法的步骤。
上述根据本申请实施例的方法可在硬件、固件中实现,或者被实现为可存储在记录介质(诸如CD-ROM、RAM、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件(诸如ASIC或现场可编程逻辑门阵列)的记录介质上的这样的软件处理。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件(例如,RAM、ROM、闪存等),当所述软件或计算机代码被计算机、处理器或硬件访问且执行时,实现在此描述的数据处理方法。此外,当通用计算机访问用于实现在此示出的数据处理方法的代码时,代码的执行将通用计算机转换为用于执行在此示出的数据处理方法的专用计算机。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请实施例的范围。
以上实施方式仅用于说明本申请实施例,而并非对本申请实施例的限制,有关技术领域的普通技术人员,在不脱离本申请实施例的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本申请实施例的范畴,本申请实施例的专利保护范围应由权利要求限定。
以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种数据处理方法,其特征在于,应用于终端设备界面组件,所述界面组件之间具有通信关系,所述通信关系基于所述界面组件之间的数据传递关系确定;
所述方法包括:
根据所述通信关系确定所述界面组件对应的多叉树,其中,所述多叉树中的每个节点对应一个或多个所述界面组件,与目标节点具有通信关系的其他节点均位于所述目标节点的父节点的子树内,所述目标节点为除根节点之外的任一节点;
响应于所述界面组件中任一界面组件的数据发送请求,所述任一界面组件对应的源节点向所述源节点的父节点发送待分发数据;
所述源节点的父节点以及所述源节点的父节点的子树内的各层节点向下一层节点发送接收到的所述待分发数据。
2.根据权利要求1所述的方法,其特征在于,所述源节点的父节点以及所述源节点的父节点的子树内的各层节点向下一层节点发送接收到的所述待分发数据,包括:
所述源节点的父节点以及所述源节点的父节点的子树内的各层节点向下一层的所有节点发送接收到的所述待分发数据。
3.根据权利要求1所述的方法,其特征在于,所述源节点的父节点以及所述源节点的父节点的子树内的各层节点向下一层节点发送接收到的所述待分发数据,包括:
所述源节点的父节点以及所述源节点的父节点的子树内的各层接收到所述待分发数据的节点,根据所述待分发数据确定下一层的接收节点,并向下一层的接收节点发送所述待分发数据。
4.根据权利要求3所述的方法,其特征在于,在所述源节点的父节点以及所述源节点的父节点的子树内的各层接收到所述待分发数据的节点,根据所述待分发数据确定下一层的接收节点之前,所述方法还包括:
所述源节点的父节点以及所述源节点的父节点的子树内的各层接收到所述待分发数据的节点,接收下一层节点中的接收节点的注册信息,所述注册信息用于指示所述接收节点对所述待分发数据感兴趣。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述源节点以及所述源节点的子树内的各层节点,向下一层节点发送所述待分发数据;
所述源节点的父节点以及所述源节点的父节点的子树内的各层节点向下一层节点发送接收到的所述待分发数据,包括:
所述源节点的父节点向所述源节点的父节点的下一层节点中除所述源节点之外的节点发送所述待分发数据;
接收到所述待分发数据的节点以及所述节点的子树内的各层节点向下一层节点发送从上一层节点接收到的所述待分发数据。
6.一种数据处理装置,其特征在于,应用于终端设备界面组件,所述界面组件之间具有通信关系,所述通信关系基于所述界面组件之间的数据传递关系确定;
所述装置包括:
多叉树建立模块,用于根据所述通信关系确定所述界面组件对应的多叉树,其中,所述多叉树中的每个节点对应一个或多个所述界面组件,与目标节点具有通信关系的其他节点均位于所述目标节点的父节点的子树内,所述目标节点为除根节点之外的任一节点;
第一发送模块,用于响应于所述界面组件中任一界面组件的数据发送请求,所述任一界面组件对应的源节点向所述源节点的父节点发送待分发数据;
第二发送模块,用于所述源节点的父节点以及所述源节点的父节点的子树内的各层节点向下一层节点发送接收到的所述待分发数据。
7.根据权利要求6所述的装置,其特征在于,所述第二发送模块,具体用于所述源节点的父节点以及所述源节点的父节点的子树内的各层接收到所述待分发数据的节点,根据所述待分发数据确定下一层的接收节点,并向下一层的接收节点发送所述待分发数据。
8.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1~5任一项所述的数据处理方法。
9.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1~5任一项所述的数据处理方法。
10.一种计算机程序产品,其特征在于,当所述计算机程序产品在计算机上运行时,使得所述计算机执行权利要求1~5任一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110957000.0A CN113608818B (zh) | 2021-08-19 | 2021-08-19 | 数据处理方法、装置、电子设备、存储介质及程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110957000.0A CN113608818B (zh) | 2021-08-19 | 2021-08-19 | 数据处理方法、装置、电子设备、存储介质及程序产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113608818A true CN113608818A (zh) | 2021-11-05 |
CN113608818B CN113608818B (zh) | 2024-01-16 |
Family
ID=78341354
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110957000.0A Active CN113608818B (zh) | 2021-08-19 | 2021-08-19 | 数据处理方法、装置、电子设备、存储介质及程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113608818B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115242839A (zh) * | 2022-07-20 | 2022-10-25 | 北京天融信网络安全技术有限公司 | 物联网级联数据传输方法、装置、电子设备和存储介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5701137A (en) * | 1995-05-24 | 1997-12-23 | Microsoft Corporation | Method for separating a hierarchical tree control into one or more hierarchical child tree controls in a graphical user interface |
US20040239683A1 (en) * | 2003-05-27 | 2004-12-02 | Heng Chu | Methods, systems and computer program products for controlling tree diagram graphical user interfaces and/or for partially collapsing tree diagrams |
US7822756B1 (en) * | 2005-02-28 | 2010-10-26 | Adobe Systems Incorporated | Storing document-wide structure information within document components |
CN108932199A (zh) * | 2018-07-09 | 2018-12-04 | 南京网觉软件有限公司 | 一种基于用户界面分析的自动化污点分析系统 |
CN109582380A (zh) * | 2017-09-26 | 2019-04-05 | 北京国双科技有限公司 | 一种节点处理方法和装置、存储介质、处理器 |
CN111857720A (zh) * | 2020-07-31 | 2020-10-30 | 北京字节跳动网络技术有限公司 | 用户界面状态信息的生成方法、装置、电子设备及介质 |
CN112232017A (zh) * | 2020-12-17 | 2021-01-15 | 上海国微思尔芯技术股份有限公司 | 分割边界优化方法、装置、计算机设备和存储介质 |
CN112395483A (zh) * | 2020-11-13 | 2021-02-23 | 郑州阿帕斯数云信息科技有限公司 | 基于树形结构的页面渲染方法及装置 |
CN112527689A (zh) * | 2021-02-09 | 2021-03-19 | 腾讯科技(深圳)有限公司 | 应用测试方法、装置及存储介质 |
CN112764911A (zh) * | 2021-01-29 | 2021-05-07 | 建信金融科技有限责任公司 | 一种任务调度方法、装置、电子设备及可读存储介质 |
CN112784113A (zh) * | 2019-11-07 | 2021-05-11 | 北京京东尚科信息技术有限公司 | 数据处理方法及装置、计算机可读存储介质、电子设备 |
-
2021
- 2021-08-19 CN CN202110957000.0A patent/CN113608818B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5701137A (en) * | 1995-05-24 | 1997-12-23 | Microsoft Corporation | Method for separating a hierarchical tree control into one or more hierarchical child tree controls in a graphical user interface |
US20040239683A1 (en) * | 2003-05-27 | 2004-12-02 | Heng Chu | Methods, systems and computer program products for controlling tree diagram graphical user interfaces and/or for partially collapsing tree diagrams |
US7822756B1 (en) * | 2005-02-28 | 2010-10-26 | Adobe Systems Incorporated | Storing document-wide structure information within document components |
CN109582380A (zh) * | 2017-09-26 | 2019-04-05 | 北京国双科技有限公司 | 一种节点处理方法和装置、存储介质、处理器 |
CN108932199A (zh) * | 2018-07-09 | 2018-12-04 | 南京网觉软件有限公司 | 一种基于用户界面分析的自动化污点分析系统 |
CN112784113A (zh) * | 2019-11-07 | 2021-05-11 | 北京京东尚科信息技术有限公司 | 数据处理方法及装置、计算机可读存储介质、电子设备 |
CN111857720A (zh) * | 2020-07-31 | 2020-10-30 | 北京字节跳动网络技术有限公司 | 用户界面状态信息的生成方法、装置、电子设备及介质 |
CN112395483A (zh) * | 2020-11-13 | 2021-02-23 | 郑州阿帕斯数云信息科技有限公司 | 基于树形结构的页面渲染方法及装置 |
CN112232017A (zh) * | 2020-12-17 | 2021-01-15 | 上海国微思尔芯技术股份有限公司 | 分割边界优化方法、装置、计算机设备和存储介质 |
CN112764911A (zh) * | 2021-01-29 | 2021-05-07 | 建信金融科技有限责任公司 | 一种任务调度方法、装置、电子设备及可读存储介质 |
CN112527689A (zh) * | 2021-02-09 | 2021-03-19 | 腾讯科技(深圳)有限公司 | 应用测试方法、装置及存储介质 |
Non-Patent Citations (1)
Title |
---|
曲著伟: "基于树匹配的交互式Web数据抽取技术的研究", 中国优秀博硕士学位论文全文数据库 (硕士) 信息科技辑, no. 2006, pages 139 - 95 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115242839A (zh) * | 2022-07-20 | 2022-10-25 | 北京天融信网络安全技术有限公司 | 物联网级联数据传输方法、装置、电子设备和存储介质 |
CN115242839B (zh) * | 2022-07-20 | 2023-11-10 | 北京天融信网络安全技术有限公司 | 物联网级联数据传输方法、装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113608818B (zh) | 2024-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10268961B2 (en) | Generating predictive models to reconfigure electronic devices | |
US11237888B2 (en) | Message processing method and system, storage medium and electronic device | |
CN110390493B (zh) | 任务管理方法、装置、存储介质及电子设备 | |
CN110324185B (zh) | 超参数调优方法、装置、服务器、客户端及介质 | |
CN112764751A (zh) | 接口生成方法和装置、接口请求方法和装置及存储介质 | |
CN115145560B (zh) | 业务编排方法、装置、设备、计算机可读介质和程序产品 | |
CN108153803A (zh) | 一种数据获取方法、装置及电子设备 | |
CN113608818B (zh) | 数据处理方法、装置、电子设备、存储介质及程序产品 | |
CN112817562B (zh) | 业务处理的方法和装置 | |
US11533596B2 (en) | API publish method and apparatus | |
CN114513552B (zh) | 数据处理方法、装置、设备及存储介质 | |
US11706156B2 (en) | Method and system for changing resource state, terminal, and storage medium | |
CN115793911A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
US20240086850A1 (en) | Method, apparatus, device and storage medium for data processing | |
CN112105026A (zh) | 一种授权控制的方法、装置以及存储介质 | |
JP6578067B2 (ja) | セマンティック検証方法及び装置 | |
CN111176641B (zh) | 流程节点执行方法、装置、介质及电子设备 | |
US10505820B2 (en) | User interface with an expandable navigation tree | |
CN116069227A (zh) | 一种界面交互方法、装置、设备及存储介质 | |
CN112988158B (zh) | 自动生成代码的服务工程构建方法、系统、装置及介质 | |
US10223330B2 (en) | Group-aware command-based arrangement of graphic elements | |
CN114859935A (zh) | 应用于多节点组网的路径规划方法、装置、产品及介质 | |
CN114780800A (zh) | 一种多链路路由管理方法和装置 | |
US8880713B2 (en) | System and methods for use in communicating with an energy management device in an energy device network | |
CN118158082B (zh) | 智能家居设备通信资源报文更新方法、装置、设备与介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |