节点数据处理方法、装置、设备和计算机可读存储介质与流程

文档序号:26821073发布日期:2021-09-29 04:18阅读:96来源:国知局
节点数据处理方法、装置、设备和计算机可读存储介质与流程

1.本公开的实施例一般涉及数据处理领域,并且更具体地,涉及节点数据处理方法、装置、设备和计算机可读存储介质。


背景技术:

2.在进行点对点数据传输业务中,需要先选择对端节点。而选择对端节点的过程通常为:从节点数据库中筛选出符合条件的匹配节点,以提高节点之间的数据传输效率;然而这种直接从数据库中筛选匹配节点的方案,由于数据库中节点的数量很多,往往会出现如下问题:
3.1.查找匹配节点的速度慢;
4.2.查找的匹配节点往往不是最优节点。


技术实现要素:

5.根据本公开的实施例,提供了一种节点数据处理方案。
6.在本公开的第一方面,提供了一种节点数据处理方法。该方法包括:接收第一节点发送的节点数据请求;
7.根据所述节点数据请求,确定对应的目标节点组;
8.从所述目标节点组中选择与所述节点数据请求相匹配的第二节点;
9.将所述第二节点的节点数据返回至所述第一节点。
10.如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述根据所述节点数据请求,确定对应的目标节点组,包括:
11.根据所述节点数据请求确定所述第一节点的当前特征信息;
12.根据所述当前特征信息,确定所述目标节点组;
13.所述当前特征信息包括以下至少一项:当前请求的资源、节点位置、运营商信息以及节点标识。
14.如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述根据所述节点数据请求确定所述第一节点的当前特征信息,包括:
15.获取所述节点数据请求携带的所述第一节点的ip地址;
16.对所述ip地址进行分析,确定所述当前特征信息;
17.和/或
18.获取所述节点数据请求中携带的所述第一节点的当前特征信息。
19.如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述根据所述当前特征信息,确定所述目标节点组,包括:
20.根据所述当前特征信息中的第一类特征信息,确定所述节点数据请求对应的第一节点组;
21.根据所述当前特征信息中的第二类特征信息,从所述第一节点组中确定出对应的
第二节点组,并将所述第二节点组作为所述目标节点组,所述当前特征信息中的第一类特征信息包括以下至少一项:当前请求的资源、节点位置以及运营商信息;所述当前特征信息中的第二类特征信息包括节点标识。
22.如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述根据所述当前特征信息中的第二类特征信息,从所述第一节点组中确定出对应的第二节点组,包括:
23.计算所述第一节点的节点标识的当前哈希值;
24.从所述第一节点组中确定出所述当前哈希值所属的哈希分组,并将所述哈希分组作为所述第二节点组。
25.如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述方法还包括:
26.获取所述第二节点的节点数据的最新时间戳;
27.根据所述最新时间戳,判断是否删除所述第二节点的节点数据。
28.如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,确定所述目标节点组的节点概率标记;所述节点概率标记用于表征所述目标节点组的历史节点连通概率;
29.所述从所述目标节点组中选择与所述节点数据请求相匹配的第二节点,包括:
30.当所述目标节点组包括多个节点组时,按照所述多个节点组中各节点组的节点概率标记,从所述各节点组中选择节点作为所述第二节点,其中,节点概率标记越大,从对应的节点组中选择的节点就越少;
31.当所述目标节点组仅包括一个节点组时,按照所述目标节点组的节点概率标记,从所述目标节点组中选择节点作为所述第二节点,其中,所述目标节点组的节点概率标记越大,所述第二节点就越多。
32.如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述方法还包括:
33.获取多个节点中各节点的第一类特征信息以及第二类特征信息;
34.根据所述各节点的第一类特征信息,将所述多个节点进行第一次分组;
35.根据所述各节点的第二类特征信息,在所述第一次分组的基础上,将所述多个节点进行第二次分组,其中,所述多个节点包括所述第二节点。
36.在本公开的第二方面,提供了一种节点数据处理装置。该装置包括:
37.接收模块,用于接收第一节点发送的节点数据请求;
38.确定模块,用于根据所述节点数据请求,确定对应的目标节点组;
39.选择模块,用于从所述目标节点组中选择与所述节点数据请求相匹配的第二节点;
40.返回模块,用于将所述第二节点的节点数据返回至所述第一节点。
41.在本公开的第三方面,提供了一种电子设备。该电子设备包括:存储器和处理器,所述存储器上存储有计算机程序,所述处理器执行所述程序时实现如以上所述的方法。
42.在本公开的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如根据本公开的第一方面和/或第二发面的方法。
43.应当理解,发明内容部分中所描述的内容并非旨在限定本公开的实施例的关键或重要特征,亦非用于限制本公开的范围。本公开的其它特征将通过以下的描述变得容易理解。
附图说明
44.结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:
45.图1示出了根据本公开的实施例的节点数据处理方法的流程图;
46.图2示出了根据本公开的实施例的节点分布示意图;
47.图3示出了根据本公开的实施例的节点数据处理装置的方框图;
48.图4示出了能够实施本公开的实施例的示例性电子设备的方框图。
具体实施方式
49.为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的全部其他实施例,都属于本公开保护的范围。
50.另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
51.本公开中,通过根据第一节点发送的节点数据请求,可确定其对应的目标节点组,然后从目标节点组中选择匹配的第二节点,以便第一节点能够与第二节点建立点对点连接,进而实现资源的共享,而这种通过先锁定节点组再选择匹配节点的方式,相比于直接从数据库中筛选匹配节点的方案而言,可缩小匹配节点的查找范围,提高匹配节点的匹配效率,同时也能兼顾查找出的匹配节点为最优节点的查找准确率。
52.图1示出了根据本公开实施例的节点数据处理100的流程图。如图1所示,所述方法还包括:
53.在步骤110中,接收第一节点发送的节点数据请求;
54.在步骤120中,根据所述节点数据请求,确定对应的目标节点组;
55.在步骤130中,从所述目标节点组中选择与所述节点数据请求相匹配的第二节点;
56.在步骤140中,将所述第二节点的节点数据返回至所述第一节点,其中,第二节点的节点数据可以是第二节点的地址、所观看或下载的资源列表、资源列表中各资源的具体观看或下载时间点等。
57.在接收到第一节点发送的节点数据请求后,可确定该节点数据请求对应的目标节点组,然后自动地从目标节点组中选择匹配的第二节点,从而将第二节点的节点数据返回至第一节点,以便于第一节点可与第二节点进行连接然后实现点对点传输,而这种通过先锁定节点组再选择匹配节点的方式,相比于直接从数据库中筛选匹配节点的方案而言,可缩小匹配节点的查找范围,提高匹配节点的匹配效率,同时也能兼顾查找出的匹配节点为最优节点的查找准确率。
58.通过本公开的技术方案,可帮助用户快速查找到观看同一个资源(如影片)的其他用户,从而方便用户与其他用户建立点对点连接,以从其他用户的客户端那里下载该同一资源。
59.在一个实施例中,所述根据所述节点数据请求,确定对应的目标节点组,包括:
60.根据所述节点数据请求确定所述第一节点的当前特征信息;
61.根据所述当前特征信息,确定所述目标节点组;
62.所述当前特征信息包括以下至少一项:当前请求的资源、节点位置、运营商信息以及节点标识。
63.根据第一节点的具体特征信息,可有利于快速确定其所属的目标节点组,进而再基于该目标节点组,选择与第一节点具有共同特性(如希望观看的资源一致、位置较近、访问服务器时使用网络的运营商相同、身份信息相近等)的第二节点,可提高第二节点查找效率以及准确率。
64.在一个实施例中,所述根据所述节点数据请求确定所述第一节点的当前特征信息,包括:
65.获取所述节点数据请求携带的所述第一节点的ip(internet protocol,网际互连协议)地址;
66.对所述ip地址进行分析,确定所述当前特征信息;
67.和/或
68.获取所述节点数据请求中携带的所述第一节点的当前特征信息。
69.在确定第一节点的当前特征信息时,可通过节点数据请求中携带的ip地址,确定出第一节点希望请求的资源、具体位置、所用网络的运营商信息等特征信息;当然,当前特征信息还可以携带在该节点数据请求中的各项参数中。
70.在一个实施例中,所述根据所述当前特征信息,确定所述目标节点组,包括:
71.根据所述当前特征信息中的第一类特征信息,确定所述节点数据请求对应的第一节点组;
72.在确定第一节点组时,除了按照节点数据请求所请求的资源、节点数据请求所反映的第一节点的运营商信息进行确定外,还可根据该节点数据请求所反映的节点位置,查找离该节点位置距离最近的节点组,即将数据位置最接近的节点列为最高匹配优先级,进而若该距离最近的节点组的总节点数量(当然,这里的总结点数量指的是查找到的所有匹配节点组中节点的数量,以便为查找第二节点留下足够的匹配空间)没有达到预设数量,则可以该节点位置为中心再逐渐扩大范围,直至查找的节点组的节点总数量达到该预设数量,则不再继续扩大范围查找。
73.根据所述当前特征信息中的第二类特征信息,从所述第一节点组中确定出对应的第二节点组,并将所述第二节点组作为所述目标节点组,所述当前特征信息中的第一类特征信息包括以下至少一项:当前请求的资源、节点位置以及运营商信息;所述当前特征信息中的第二类特征信息包括节点标识。
74.在确定所述目标节点组时,可根据当前特征信息中的第一类特征信息,先确定出第二节点所属的较大的分组即第一节点组,然后再根据当前特征信息中的第二类特征信息,从所述第一节点组中进一步确定出对应的第二节点组作为目标节点组,从而实现节点
组的逐渐细化及精准定位,如此,可提高匹配节点的查找速度,也能提高匹配节点的查找准确率。
75.在一个实施例中,所述根据所述当前特征信息中的第二类特征信息,从所述第一节点组中确定出对应的第二节点组,包括:
76.计算所述第一节点的节点标识的当前哈希值;一个节点可以是一个客户端,而节点标识可以是用户身份标识等。
77.从所述第一节点组中确定出所述当前哈希值所属的哈希分组,并将所述哈希分组作为所述第二节点组。同一个哈希分组中节点的哈希值可以有以下共同特征:前n1个字符相同,哈希值这个字符串中有n2个数字,有n2个某字母等。
78.通过计算第一节点的节点标识的当前哈希值,并将该当前哈希值所属的哈希分组作为第二节点组,可避免第一节点组的范围过大而导致直接从第一节点组中选择匹配节点所带来的最优节点查找效率低、最优节点查找准确率低的问题。而将同一类别的节点进行二次哈希存储,整体采用扁平化存储层级,可有效减少查找时间。
79.在一个实施例中,所述方法还包括:
80.获取所述第二节点的节点数据的最新时间戳;第二节点的节点数据每进行一次更新就会有一个新的时间作为最新时间戳。
81.根据所述最新时间戳,判断是否删除所述第二节点的节点数据。
82.通过获取第二节点的节点数据的最新时间戳,可对第二节点的有效性进行判断,以便于及时清除无效节点。
83.最新时间戳早于预设时间的节点为无效节点,晚于该预设时间的节点为有效节点。
84.在一个实施例中,确定所述目标节点组的节点概率标记;所述节点概率标记用于表征所述目标节点组的历史节点连通概率,如最近一次从该目标节点组中原来选择了10个节点作为匹配节点返回给源节点,有8个节点与源节点成功建立连接,则节点概率标记为0.8;
85.所述从所述目标节点组中选择与所述节点数据请求相匹配的第二节点,包括:
86.当所述目标节点组包括多个节点组时,按照所述多个节点组中各节点组的节点概率标记,从所述各节点组中选择节点作为所述第二节点,其中,节点概率标记越大,从对应的节点组中选择的节点就越少;
87.当所述目标节点组仅包括一个节点组时,按照所述目标节点组的节点概率标记,从所述目标节点组中选择节点作为所述第二节点,其中,所述目标节点组的节点概率标记越大,所述第二节点就越多。
88.当所述目标节点组包括多个节点组即第二节点可从多个节点组中选择时,可按照所述多个节点组中各节点组的节点概率标记,从所述各节点组中选择节点作为所述第二节点,具体地,哪个节点组的节点概率标记大说明该节点组的历史连通概率高,那么由于有多个节点组可选择,因而节点概率标记越大的组选择的节点可越少,从而从节点概率标记越小的组选择更多节点,以有效扩大节点查找范围,进而提高第二节点的连通概率;
89.当然,如果目标节点组仅剩一个,则目标节点组的节点概率标记越大选择的节点就应该越多,如此才能提高第二节点的连通概率,避免第二节点选择的过少,而导致第一节
点无法连通匹配节点,进而无法实现点对点数据传输。
90.在一个实施例中,所述方法还包括:
91.获取多个节点中各节点的第一类特征信息以及第二类特征信息;
92.根据所述各节点的第一类特征信息,将所述多个节点进行第一次分组;
93.根据所述各节点的第二类特征信息,在所述第一次分组的基础上,将所述多个节点进行第二次分组,其中,所述多个节点包括所述第二节点。
94.通过获取各节点的第一类特征信息以及第二类特征信息,可先按照第一类节点信息对多个节点进行第一次分组,从而得到各节点所属的较大分组,然后再第一次分组的基础上,对多个节点进行第二次分组,从而得到各节点所属的较小分组,如此,可更细化地对各节点进行分组,以便之后可更高效、更准确地查找最优节点。
95.下面将结合图2进一步详细说明本发明的技术方案:
96.客户端发送请求到接口服务器,接口服务器将请求转发至节点管理服务器;节点管理服务器根据客户端节点所属类别,去对应的节点组中快速查找匹配目标节点,返回给接口服务器;接口服务器再响应给客户端,最终客户端进行相关连接。
97.而本公开的分类方法为:按照请求的资源、访问服务器时节点的网络地域(即节点地理位置)和运营商信息,对节点进行第一次分类的之后,然后再按照访问服务器的用户身份的id对应的哈希值进行第二次分类。
98.需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本公开并不受所描述的动作顺序的限制,因为依据本公开,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本公开所必须的。
99.以上是关于方法实施例的介绍,以下通过装置实施例,对本公开所述方案进行进一步说明。
100.图3示出了根据本公开的实施例的节点数据处理装置300的方框图。
101.如图3所示,装置300包括:
102.接收模块310,用于接收第一节点发送的节点数据请求;
103.确定模块320,用于根据所述节点数据请求,确定对应的目标节点组;
104.选择模块330,用于从所述目标节点组中选择与所述节点数据请求相匹配的第二节点;
105.返回模块340,用于将所述第二节点的节点数据返回至所述第一节点。
106.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,所述描述的模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
107.图4示出了可以用来实施本公开的实施例的电子设备400的示意性框图。设备400可以用于实现图3的节点数据处理装置300。如图所示,设备400包括cpu401,其可以根据存储在rom402中的计算机程序指令或者从存储单元408加载到ram403中的计算机程序指令,来执行各种适当的动作和处理。在ram 403中,还可以存储设备400操作所需的各种程序和数据。cpu 401、rom 402以及ram 403通过总线404彼此相连。i/o接口405也连接至总线404。
108.设备400中的多个部件连接至i/o接口405,包括:输入单元406,例如键盘、鼠标等;
输出单元407,例如各种类型的显示器、扬声器等;存储单元408,例如磁盘、光盘等;以及通信单元409,例如网卡、调制解调器、无线通信收发机等。通信单元409允许设备400通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
109.处理单元401执行上文所描述的各个方法和处理,例如方法100。例如,在一些实施例中,方法100可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元408。在一些实施例中,计算机程序的部分或者全部可以经由rom 402和/或通信单元409而被载入和/或安装到设备400上。当计算机程序加载到ram 403并由cpu 401执行时,可以执行上文描述的方法100的一个或多个步骤。备选地,在其他实施例中,cpu 401可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法100。
110.本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、片上系统(soc)、复杂可编程逻辑器件(cpld)等等。
111.用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、ram、rom、eprom、光纤、cd

rom、光学储存设备、磁储存设备、或上述内容的任何合适组合。此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1