一种节点初始化的方法、装置、设备及存储介质与流程

文档序号:16929815发布日期:2019-02-22 20:10阅读:182来源:国知局
一种节点初始化的方法、装置、设备及存储介质与流程

本申请涉及网络应用程序技术领域,尤其涉及一种节点初始化的方法、装置、设备及存储介质。



背景技术:

目前,在多页面通信方案中通常确定一个主节点页面(即,所包含的用于通信的节点为主节点的页面)和多个从节点页面(即,包含的用于通信的节点为从节点的页面)。进而,确定的主节点页面可以用于直接与服务端通信,而其他从节点页面不直接与服务端通信,而是通过主节点页面间接与服务端进行通信,如此即可以减轻服务端的压力。

现有技术中通常采用“令牌抢占机制”的方式,将新打开的页面的节点初始化为主节点,也即,使该新打开的页面成为主节点页面,其中,该“节点初始化”不同于打开页面时进行的“页面初始化”。然而,这种方式由于“新打开的页面抢占到令牌”与“在先的主节点页面接收到降级为从节点页面的通知”之间存在通信时间差,因而导致在这段时间内会有两个主节点页面存在,进而导致这两个主页点页面重复处理从节点页面发送过来的消息,会浪费系统的内存,并且,由于每个新打开的页面均会抢占令牌,因而会发生频繁的销毁和重建主节点的情况,进而会影响系统的性能。



技术实现要素:

有鉴于此,本申请提供一种节点初始化的方法、装置、设备及存储介质,以解决现有的确定主节点方案中所存在的问题。

具体地,本申请是通过如下技术方案实现的:

根据本申请的第一方面,提出了一种节点初始化的方法,包括:

广播用于申请将当前页面的节点初始化为主节点的申请信息;

读取反对信息,其中,所述反对信息为存在在先主节点页面时,所述在先主节点页面接收到所述申请信息后反馈的信息;

响应于读取所述反对信息的读取结果,对所述当前页面的节点进行初始化。

在一实施例中,所述申请信息的广播目标包括所述当前页面,所述读取反对信息包括:

若所述当前页面接收到所述申请信息,则执行所述读取反对信息的操作。

在一实施例中,若所述当前页面接收到所述申请信息,则执行所述读取反对信息的操作,还包括:

当所述当前页面接收到所述申请信息后,广播用于确认所述在先主节点页面已反馈所述反对信息的确认信息;

当所述当前页面接收到所述确认信息后,执行所述读取反对信息的操作。

在一实施例中,所述响应于读取所述反对信息的读取结果,对所述当前页面的节点进行初始化,包括:

若未成功读取到所述反对信息,则将所述当前页面的节点初始化为主节点;

若成功读取到所述反对信息,则将所述当前页面的节点初始化为从节点。

在一实施例中,所述若成功读取到所述反对信息,则将所述当前页面的节点初始化为从节点之后,所述方法还包括:

删除所述反对信息。

在一实施例中,所述读取反对信息包括:

等待预设时间,执行读取反对信息的操作。

根据本申请的第二方面,提出了一种节点初始化的装置,包括:

申请信息广播模块,用于广播用于申请将当前页面的节点初始化为主节点的申请信息;

反对信息读取模块,用于读取反对信息,其中,所述反对信息为存在在先主节点页面时,所述在先主节点页面接收到所述申请信息后反馈的信息;

节点初始化模块,用于响应于读取所述反对信息的读取结果,对所述当前页面的节点进行初始化。

在一实施例中,所述申请信息的广播目标包括所述当前页面,所述反对信息读取模块还用于当所述当前页面接收到所述申请信息时,执行所述读取反对信息的操作。

根据本申请的第三方面,提出了一种节点初始化的设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现上述任一所述的节点初始化的方法。

根据本申请的第四方面,提出了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述任一所述的节点初始化的方法。

由以上技术方案可见,本申请由于响应于读取反对信息的读取结果对当前页面的节点进行初始化,可以始终保持应用程序中存在唯一的主节点页面,不需要采用“令牌抢占机制”,因而不存在通信时间差,可以避免同时存在两个主节点页面导致的信息重复处理,浪费系统的内存的问题,也不需要频繁的销毁和重建主节点页面,因而可以提高系统的性能。

附图说明

图1a是一示例性实施例示出的一种多页面通信方案的节点结构示意图;

图1b是本申请一示例性实施例示出的一种节点初始化的方法的流程图;

图2是本申请一示例性实施例示出的如何基于广播确认信息的方式读取反对信息的流程图;

图3是本申请又一示例性实施例示出的一种节点初始化的方法的流程图;

图4是本申请一示例性实施例示出的一种节点初始化的装置的结构图;

图5是本申请又一示例性实施例示出的一种节点初始化的装置的结构图;

图6是本申请一示例性实施例示出的一种节点初始化的设备的结构图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

图1a是一示例性实施例示出的一种多页面通信方案的节点结构示意图;如图1a所示,目前的多页面通信方案中通常确定一个主节点页面(即,包含的用于通信的节点为主节点的页面)001和多个从节点页面(即,包含的用于通信的节点为从节点的页面)002。进而,确定的主节点页面001可以用于直接与服务端003通信,而其他从节点页面002不直接与服务端003通信,而是通过主节点页面001间接与服务端003进行通信,如此即可以减轻服务端003的压力。

现有技术中通常采用“令牌抢占机制”的方式,将新打开的页面004的节点初始化为主节点,即应用程序每次打开一个新的页面时,当前新打开的页面就会抢占令牌成为新的主节点页面,同时通知在先的主节点页面,使其降级为从节点页面。而当该新打开的主节点页面关闭时,再将令牌归还,进而再次通知在先的主节点,让其重新升级为主节点页面。

然而,这种方式由于“新打开的页面抢占到令牌”与“在先的主节点页面接收到降级为从节点的通知”之间存在时间差,因而导致在这段时间内会有两个主节点页面存在,进而导致这两个主页点页面重复处理从节点页面发送过来的消息,会浪费系统的内存,并且,由于每个新打开的页面均会抢占令牌,因而会发生频繁的销毁和重建主节点的情况,进而会影响应用程序的性能。

有鉴于此,本申请提供一种节点初始化的方法、装置、设备及存储介质,以解决现有的确定主节点方案中所存在的问题。

图1b是本申请一示例性实施例示出的一种节点初始化的方法的流程图;该实施例可以用于终端设备(例如手机、平板电脑、个人计算机等)中安装的应用程序。如图1b所示,该方法包括步骤s101-s103:

在步骤s101中:广播用于申请将当前页面的节点初始化为主节点的申请信息。

值得说明的是,本申请中的“页面的节点”可以是所属页面中通过代码实现的、用于实现页面的通信功能的“通信节点”,通过该节点,其所属页面可以实现与其他页面之间以及与服务端之间的通信。

在一实施例中,当应用程序打开当前页面时,或者用户对已打开的当前页面进行预设操作时,该应用程序可以广播用于申请将当前页面的节点初始化为主节点的申请信息。

在一实施例中,上述预设操作可以包括点击当前页面中展示的图像(如,客服头像等)或者预设文本等,本实施例对此不进行限定。

值得说明的是,上述申请信息的内容可以由开发人员根据实际业务需要进行设置,如设置为特定的符号、数值或字符串等,本实施例对此不进行限定。

在步骤s102中:读取反对信息。

其中,所述反对信息为存在在先主节点页面时,所述在先主节点页面接收到所述申请信息后反馈的信息。

在一实施例中,当应用程序广播用于申请将当前页面的节点初始化为主节点的申请信息后,若存在在先主节点页面,则该在先主节点页面可以接收到上述申请信息,并响应于该申请信息在预设位置(如,安装应用程序的终端设备的本地中)写入反对信息。进一步地,应用程序可以执行读取反对信息的操作。

举例来说,应用程序可以通过调用预设的处理函数,以从本地中读取上述反对信息。

值得说明的是,在实际实施中,开发人员可以根据需要选取现有的满足业务需求的处理函数,本实施例对此不进行限定。

在一实施例中,为了确保“在先主节点页面先写入反对信息,当前页面后读取反对信息”,可以参见下述图2所示实施例,在此先不进行详述。

在步骤s103中:响应于读取所述反对信息的读取结果,对所述当前页面的节点进行初始化。

在一实施例中,当应用程序执行“读取反对信息”的操作后,可以得到“成功读取到所述反对信息”的读取结果,或者,可以得到“未成功读取到所述反对信息”的读取结果。

在一实施例中,当得到上述不同的读取结果后,应用程序可以响应于得到的读取结果,基于不同的初始化方式对当前页面的节点进行初始化,以使该当前页面成为主节点页面或从节点页面,保持应用程序中存在唯一的主节点页面。

在一实施例中,响应于读取所述反对信息的读取结果,对所述当前页面的节点进行初始化的方式还可以参见图3所示实施例,在此先不进行详述。

由上述描述可知,本实施例通过广播用于申请将当前页面的节点初始化为主节点的申请信息,并读取反对信息,所述反对信息为存在在先主节点页面时,所述在先主节点页面接收到所述申请信息后反馈的信息,进而响应于读取所述反对信息的读取结果,对所述当前页面的节点进行初始化,由于响应于读取反对信息的读取结果对当前页面的节点进行初始化,可以始终保持应用程序中存在唯一的主节点页面,不需要采用“令牌抢占机制”,因而不存在通信时间差,可以避免同时存在两个主节点页面导致的信息重复处理,浪费系统的内存的问题,也不需要频繁的销毁和重建主节点页面,因而可以提高系统的性能。

在上述实施例的基础上,可以采用以下三种方式来确保“在先主节点页面先写入反对信息,当前页面后读取反对信息”。其中,第一种方式和第二种方式中,上述申请信息的广播目标可以包括当前页面(即,当前页面可以预先注册对上述申请信息的监听),进而步骤s102中所述读取反对信息,可以包括以下步骤s102’:

在步骤s102’中:若所述当前页面接收到所述申请信息,则执行所述读取反对信息的操作。

在第一种方式:

可以采用“基于w3c(worldwidewebconsortium)事件模型标准的消息注册-发布机制”来确保“在先主节点页面先写入反对信息,当前页面后读取反对信息”。其中,该机制实际上是一种“先注册先执行”机制,即先注册了对申请信息进行监听的页面能够先执行预设的操作(如,调用用于读取反对信息的函数或调用用于写入反对信息的函数等)。

举例来说,若当前已存在在先主节点页面,则对于当前页面而言,该在先主节点页面是先注册监听的,因而该在先主节点页面可以先接收到上述广播的申请信息,并先调用自己的回调函数,将反对信息写入预设位置;然后,在当前页面接收到上述广播的申请信息后,可以确定上述在先主节点页面已经执行完写入反对信息的操作,进而当前页面可以执行读取反对信息的操作。

第二种方式:若采用“并发通信”方式进行通信,则可以在广播上述申请信息,并且当前页面接收到上述广播的申请信息后,通过“广播确认信息”的方式来确保“在先主节点页面先写入反对信息,当前页面后读取反对信息”。

图2是本申请一示例性实施例示出的如何基于广播确认信息的方式读取反对信息的流程图。如图2所示,上述步骤s102’所述若所述当前页面接收到所述申请信息,则执行所述读取反对信息的操作,可以包括以下步骤s201-s202:

在步骤s201中:当所述当前页面接收到所述申请信息后,广播用于确认所述在先主节点页面已反馈所述反对信息的确认信息;

在步骤s202中:当所述当前页面接收到所述确认信息后,执行所述读取反对信息的操作。

在一实施例中,在当前页面接收到上述申请信息后,可以广播一确认信息,该确认信息用于确认当前存在的在先主节点页面已完成“反对信息”的写入操作,进而可以在所述当前页面接收到该确认信息后,执行所述读取反对信息的操作。

在一实施例中,上述确认信息的内容可以由开发人员根据实际业务需要进行设置,如设置为特定的符号、数值或字符串等,本实施例对此不进行限定。

值得说明的是,本方式中的当前页面除了注册对申请信息的监听外,还注册对确认信息的监听。区别于第一种方式的“先注册先执行”机制,本方式中当广播申请信息后,在先主节点页面和当前页面可能不分先后地接收到申请信息(即,不一定是孰先孰后接收到该申请信息)。在此情况下,为了确保“在先主节点页面先写入反对信息,当前页面后读取反对信息”,可以在当前页面接收到上述申请信息后,广播一确认信息,以为在先页面留出足够的时间执行写入反对信息的操作。进一步地,在当前页面接收到上述广播的确认信息后,可以确定上述在先主节点页面已经执行完写入反对信息的操作,进而可以执行读取反对信息的操作。

第三种方式:等待预设时间,执行读取反对信息的操作。

区别于上述第一种方式和第二种方式,本方式中当前页面不需要注册对申请信息的监听,而是在步骤s101中广播用于申请将当前页面的节点初始化为主节点的申请信息后,等待预设时间后再执行读取反对信息的操作。

值得说明的是,上述预设时间可以由开发人员根据实际需要或业务经验进行设置,本实施例对此不进行限定。

由上述描述可知,通过上述三种方式,可以确保在当前存在在先主节点页面的情况下,该在先主节点页面已接收到上述申请信息,并且写入了反对信息之后,执行读取反对信息的操作,可以避免“读取反对信息”的操作早于“在先主节点页面写入反对信息”的操作导致的反对信息读取失败的情况。

图3是本申请又一示例性实施例示出的一种节点初始化的方法的流程图;该实施例可以用于终端设备(例如手机、平板电脑、个人计算机等)中安装的应用程序。如图3所示,该方法包括步骤s301-s306:

在步骤s301中:广播用于申请将当前页面的节点初始化为主节点的申请信息;

在步骤s302中:读取反对信息,其中,所述反对信息为存在在先主节点页面时,所述在先主节点页面接收到所述申请信息后反馈的信息;

其中,步骤s301-s302的相关解释和说明可以参见上述实施例,在此不进行赘述。

在步骤s303中:确定是否成功读取到所述反对信息:若是,则执行步骤s304;若否,则执行步骤s306。

在步骤s304中:将所述当前页面的节点初始化为从节点。

在一实施例中,若应用程序成功读取到上述反对信息,则可以确定当前已存在在先主节点页面,因而可以将当前页面的节点初始化为从节点,以保持应用程序中存在唯一的主节点页面。

在一实施例中,当将所述当前页面的节点初始化为从节点后,该当前页面可以通过当前已存在的在先主节点页面与服务端进行通信。

举例来说,若当前页面需要向服务端发送信息,则该当前页面可以利用应用程序中预先构建的通信通道(如,主节点与从节点之间的通道),将待发送信息发送给在先主节点页面,以通过该在先主节点页面将该待发送信息发送给服务端;同理,若服务端需要向该当前页面发送信息,则服务端可以先将待发送信息发送给在先主节点页面,进而该在先主节点页面可以利用上述通信通道,将待发送信息发送给当前页面。

在步骤s305中:删除所述反对信息。

在一实施例中,在成功读取到上述反对信息后,并将所述当前页面的节点初始化为从节点后,可以从写入反对信息的位置(如,终端设备的本地中)删除所述反对信息。

值得说明的是,在将当前页面的节点初始化为从节点后,将反对信息及时删除,可以避免应用程序被强制退出(如用户强杀app或终端设备关机等)等情况下,失效的反对信息影响新的页面初始化成为主节点页面。

在步骤s306中:将所述当前页面的节点初始化为主节点。

在一实施例中,若应用程序未成功读取到上述反对信息,则可以确定当前不存在在先主节点页面,因而可以将当前页面的节点初始化为主节点,以使当前页面成为主节点页面,以保持应用程序中存在唯一的主节点页面。

在一实施例中,当将所述当前页面的节点初始化为主节点后,该当前页面可以直接与服务端建立连接,并进行通信。

在一实施例中,主节点页面与服务端之间可以建立长连接,进而可以基于建立的长连接,与服务端进行通信。

值得说明的是,上述对当前页面的节点进行初始化的具体方式可以参见现有的节点初始化的技术方案,本实施例对此不进行限定。

由上述描述可知,本实施例通过广播用于申请将当前页面的节点初始化为主节点的申请信息,并读取反对信息,进而当未成功读取到所述反对信息时,将所述当前页面的节点初始化为主节点,或者,当成功读取到所述反对信息时,将所述当前页面的节点初始化为从节点,可以实现响应于不同的反对信息读取结果对当前页面采用不同的节点初始化方式,以保持应用程序中存在唯一的主节点页面,避免同时存在两个主节点页面浪费系统的内存,并可以在一定程度上提高系统的性能。

图4是本申请一示例性实施例示出的一种节点初始化的装置的结构图;如图4所示,该装置可以包括:申请信息广播模块110、反对信息读取模块120以及节点初始化模块130,其中:

申请信息广播模块110,用于广播用于申请将当前页面的节点初始化为主节点的申请信息;

反对信息读取模块120,用于读取反对信息,其中,所述反对信息为存在在先主节点页面时,所述在先主节点页面接收到所述申请信息后反馈的信息;

节点初始化模块130,用于响应于读取所述反对信息的读取结果,对所述当前页面的节点进行初始化。

由上述描述可知,本实施例通过广播用于申请将当前页面的节点初始化为主节点的申请信息,并读取反对信息,所述反对信息为存在在先主节点页面时,所述在先主节点页面接收到所述申请信息后反馈的信息,进而响应于读取所述反对信息的读取结果,对所述当前页面的节点进行初始化,由于响应于读取反对信息的读取结果对当前页面的节点进行初始化,可以始终保持应用程序中存在唯一的主节点页面,不需要采用“令牌抢占机制”,因而不存在通信时间差,可以避免同时存在两个主节点页面导致的信息重复处理,浪费系统的内存的问题,也不需要频繁的销毁和重建主节点页面,因而可以提高系统的性能。

图5是本申请又一示例性实施例示出的一种节点初始化的装置的结构图;其中,申请信息广播模块210、反对信息读取模块220以及节点初始化模块230与前述图4所示实施例中的申请信息广播模块110、反对信息读取模块120以及节点初始化模块130的功能相同,在此不进行赘述。

如图5所示,所述申请信息的广播目标还可以包括所述当前页面。在此基础上,反对信息读取模块220还可以用于当所述当前页面接收到所述申请信息时,执行所述读取反对信息的操作。

在一实施例中,所述反对信息读取模块220,还可以包括:

确认信息广播单元221,可以用于当所述当前页面接收到所述申请信息后,广播可以用于确认所述在先主节点页面已反馈所述反对信息的确认信息;

反对信息读取单元222,可以用于所述当前页面接收到所述确认信息后,执行所述读取反对信息的操作。

在一实施例中,节点初始化模块230,可以包括:

主节点初始化单元231,可以用于当未成功读取到所述反对信息时,将所述当前页面的节点初始化为主节点;

从节点初始化单元233,可以用于当成功读取到所述反对信息时,将所述当前页面的节点初始化为从节点。

在一实施例中,节点初始化模块230,还可以包括:

反对信息删除单元234,可以用于删除所述反对信息。

在一实施例中,反对信息读取模块220还可以用于等待预设时间,执行读取反对信息的操作。

值得说明的是,上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。

本发明的节点初始化的装置的实施例可以应用程序在网络设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的,其中计算机程序可以用于执行上述图1b~图3所示实施例提供的节点初始化的方法。从硬件层面而言,如图6所示,为本发明的节点初始化的设备的硬件结构图,除了图6所示的处理器、网络接口、内存以及非易失性存储器之外,所述设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等;从硬件结构上来讲该设备还可能是分布式的设备,可能包括多个接口卡,以便在硬件层面进行报文处理的扩展。另一方面,本申请还提供了一种计算机可读存储介质,存储介质存储有计算机程序,计算机程序可以用于执行上述图1b~图3所示实施例提供的节点初始化的方法。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

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