CN112702270B - 基于事件分发机制的节点调用方法、***及存储介质 - Google Patents
基于事件分发机制的节点调用方法、***及存储介质 Download PDFInfo
- Publication number
- CN112702270B CN112702270B CN202011505476.2A CN202011505476A CN112702270B CN 112702270 B CN112702270 B CN 112702270B CN 202011505476 A CN202011505476 A CN 202011505476A CN 112702270 B CN112702270 B CN 112702270B
- Authority
- CN
- China
- Prior art keywords
- node
- destination node
- access address
- hash
- event
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 62
- 230000007246 mechanism Effects 0.000 title claims abstract description 56
- 230000009471 action Effects 0.000 claims abstract description 24
- 238000004590 computer program Methods 0.000 claims description 5
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 238000003780 insertion Methods 0.000 claims description 2
- 230000037431 insertion Effects 0.000 claims description 2
- 238000012545 processing Methods 0.000 abstract description 13
- 238000012423 maintenance Methods 0.000 abstract description 10
- 238000005516 engineering process Methods 0.000 abstract description 4
- 230000008569 process Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及大数据处理技术,揭露了一种基于事件分发机制的节点调用方法,方法包括通过转发中心接收并解析到源节点发出的调用请求,以获取与调用请求相关的调用目的节点;遍历转发中心的引用关系列表,判断调用目的节点是否在引用关系列表中;若存在,则通过转发中心将调用请求转发给调用目的节点;调用目的节点根据调用请求解析出来的数据参数执行事件动作。本发明还涉及区块链技术,数据存储于区块链中,本发明通过建立转发中心替代总线的角色,解决***节点维护成本过高问题的同时,也避免了在总线***下所有节点都会收到转发信息的问题,从而避免了信息泄露的情况的发生。
Description
技术领域
本发明涉及大数据处理技术,尤其涉及一种基于事件分发机制的节点调用方法、***及存储介质。
背景技术
软件开发中,多个业务节点协作完成一个复杂任务的场景比较普遍。比如一个复杂任务分解为a1,a2...an等n个先后步骤,分别由b1,b2...bn等n个节点按照1,2...n的顺序逐一处理,整个***是一个线性结构;节点间的协作通过链式调用实现,所以,一个节点需要保存复杂的引用关系,由此带来节点数量增长以及维护复杂度的指数级上升。
现有技术中通过建立事件总线机制,所有节点都向总线注册监听,通过总线实现转发,当相关节点收到事件后进行处理,无关节点收到事件后进行丢弃。虽然解决了节点间引用复杂的关系问题,但是存在的弊端如下:
1)由于总线是属于广播机制,会向所有节点发送事件,如果无关节点接收到事件后,将事件的节点数据信息获取,则该节点会获取不属于该节点访问范围的数据,存在较大安全隐患。
所以,亟需一种安全,高效的节点调用方法。
发明内容
本发明提供一种基于事件分发机制的节点调用方法、***及计算机可读存储介质,其主要解决目前节点调用中存在安全隐患问题。
为实现上述目的,本发明提供一种基于事件分发机制的节点调用方法,应用于电子装置,方法包括:
通过所述转发中心接收源节点发出的用于调用目的节点执行事件动作的调用请求并对所述调用请求进行解析以获取所述目的节点的访问地址;
判断所述目的节点的访问地址是否在所述引用关系列表中;
若存在,则按照所述访问地址将所述调用请求转发给所述目的节点以使所述目的节点执行所述事件动作。
进一步,优选的,获取所有节点的访问地址信息和调用事件信息;
将所获取的所有节点的访问地址信息和调用事件信息进行哈希运算,分别形成哈希key值和哈希value值;
哈希key值与哈希value值组成所述引用关系列表。
进一步,优选的,所述判断所述目的节点是否在所述引用关系列表中的步骤包括:
获取所述目的节点的访问地址信息;
将所获取的所述目的节点的访问地址信息进行哈希运算形成目的节点的哈希key值;
判断所述引用关系列表中是否存在与所述目的节点的哈希key值相对应的哈希value值;
若存在,调用所述哈希value值,并将所述哈希value值赋予一个变量item,所述item即为目的节点。
进一步,优选的,在通过所述转发中心接收源节点发出的用于调用目的节点执行事件动作的调用请求并对所述调用请求进行解析的步骤之前,包括:建立具有引用关系列表的转发中心。
进一步,优选的,增加新节点的步骤包括:
获取新增节点的访问地址信息和调用事件信息;
将所获取的新增节点的访问地址信息和调用事件信息进行哈希运算,分别形成新增节点的哈希key值和哈希value值;
将新增节点的哈希key值与哈希value值***所述引用关系列表。
为实现上述目的,本发明提供一种基于事件分发机制的节点调用***,包括转发中心建立单元、目的节点获取单元、目的节点判定单元和调用执行单元;其中,
包括转发中心建立单元、目的节点获取单元、目的节点判定单元和调用执行单元;其中,
所述转发中心建立单元,用于建立具有引用关系列表的转发中心;
所述目的节点获取单元,用于通过所述转发中心接收源节点发出的用于调用目的节点执行事件动作的调用请求并对所述调用请求进行解析以获取所述目的节点的访问地址;
所述目的节点判定单元,用于判断所述目的节点的访问地址是否在所述引用关系列表中;
所述调用执行单元,用于按照所述访问地址将所述调用请求转发给所述目的节点以使所述目的节点执行所述事件动作。
进一步,优选的,所述目的节点判定单元包括访问地址信息获取模块、哈希key值转换模块、目的节点判断模块和目的节点确定模块;
所述访问地址信息获取模块,用于将获取的所述目的节点的访问地址信息;
所述哈希key值转换模块,用于将所获取的所述目的节点的访问地址信息进行哈希运算形成目的节点的哈希key值;
所述目的节点判断模块,用于判断所述引用关系列表中是否存在与所述目的节点的哈希key值相对应的哈希value值;
所述目的节点确定模块,用于调用所述哈希value值,并将所述哈希value值赋予一个变量item,所述item即为目的节点。
进一步,优选的,还包括节点增加单元,包括新增节点信息获取模块、哈希值获取模块和引用关系列表***模块;
所述新增节点信息获取模块,用于获取新增节点的访问地址信息和调用事件信息;
所述哈希值获取模块,用于将所获取的新增节点的访问地址信息和调用事件信息进行哈希运算,分别形成新增节点的哈希key值和哈希value值;
所述引用关系列表***模块,用于将新增节点的哈希key值与哈希value值***所述引用关系列表。
为实现上述目的,本发明还提供一种电子装置,该电子装置包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的程序,所述程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上述的基于事件分发机制的节点调用方法。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现上述的基于事件分发机制的节点调用方法的步骤。
本发明提出的基于事件分发机制的节点调用方法、***、电子装置及计算机可读存储介质,通过建立具有引用关系列表的转发中心;转发中心接收到源节点发出的调用请求,解析调用请求并获取调用目的节点;遍历转发中心的引用关系列表,判断所述调用目的节点是否在所述引用关系列表中;若存在,则转发中心将调用请求转发给调用目的节点;调用目的节点根据调用请求解析出来的数据参数执行事件动作。有益效果如下:
1)、本发明的基于事件分发机制的节点调用方法采用转发中心替代总线的角色进行事件分发和节点调用,在解决***节点维护成本过高的同时,也避免了在总线***下,所有节点都会收到转发信息的问题,避免了无关节点收到某些敏感信息,而导致信息泄露的情况;
2)、本发明的基于事件分发机制的节点调用方法在不影响转发中心的业务逻辑的情况下,实现快速实现新增或删除节点;只是在引用关系列表中新增或删除了一条记录,***维护成本很低;
3)、所有的节点只需依赖转发中心,而不需要知道其他节点的存在,某个节点处理完分配的任务后,只需要将后续步骤按约定的协议向转发中心发起跳转请求即可,不必关心由哪个节点进行后续操作,从而实现节点的彻底解耦。
附图说明
图1为本发明的基于事件分发机制的节点调用方法较佳实施例的流程图;
图2为本发明的基于事件分发机制的节点调用方法的逻辑原理图;
图3本发明的基于事件分发机制的节点调用***的逻辑结构示意图;
图4为本发明的电子装置的较佳实施例的结构示意图;
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
为了提高用户编码效率,本发明提供一种基于事件分发机制的节点调用方法。图1示出了本发明基于事件分发机制的节点调用方法较佳实施例的流程。参照图1所示,该方法可以由一个装置执行,该装置可以由软件和/或硬件实现。
现有技术中线性结构的节点调用***,一个复杂任务分解为a1,a2...an等n个先后步骤,分别由b1,b2...bn等n个节点按照1,2...n的顺序逐一处理。b1节点需要保存b2节点的引用,当b1处理完当前任务a1后,调用b2节点的引用,把当前处理控制权交给b2,此时b2开始处理任务a2。以此类推,b2必需保存b3节点的引用,bn-1保留bn的引用,用于在适当的时候唤起bn处理任务an。b3节点在处理a3任务时,需要根据a3任务执行后的不同结果调用不同的后续任务。当a3任务处理的结果为y时,需要执行任务a6,而a3处理的结果为z时,需要执行任务a4。那么在这种需求下,a3需要保存a4和a6两个节点的引用。而当任务处理结果的可能性进一步加大,有m种可能性时,为了跳转m种不同的后续任务,b3节点需要保存m个节点的引用。进而将导致b1,b2...bn每个节点都有可能需要保存m个节点的引用。整个***变成了网状结构,节点之间变成网状关系。
本发明的一种基于事件分发机制的节点调用***采用转发中心替代总线的角色进行事件分发和节点调用,在解决***节点维护成本过高的同时,也避免了在总线***下,所有节点都会收到转发信息的问题,避免了无关节点收到某些敏感信息,而导致信息泄露的情况。
需要说明的是,本发明的一种基于事件分发机制的节点调用方法,具体地说,所述基于事件分发机制的节点调用方法包括步骤S110-步骤S130。
S110、通过所述转发中心接收源节点发出的用于调用目的节点执行事件动作的调用请求并对所述调用请求进行解析以获取所述目的节点的访问地址;
所述调用请求包括事件数据和请求数据,所述转发中心解析调用请求中的请求数据;
其中,所述事件数据为转发携带的数据,所述请求数据为调用目的节点数据,即目的节点的访问地址。
解析所述调用请求的方法包括源节点向转发中心发起请求:按照本文设计的协议,调用请求requestBody中有2个字段target请求数据和data事件数据;也就是说,target字段代表目标节点的唯一标识,即目的节点的访问地址,data字段代表该请求携带的数据。
S120、判断所述目的节点的访问地址是否在所述引用关系列表中。
具体地说,转发中心收到请求后,解析target请求数据的字段,再查询引用关系表。
而获取引用关系列表的方法包括:获取所有节点的访问地址信息和调用事件信息;将所获取的所有节点的访问地址信息和调用事件信息进行哈希运算,分别形成哈希key值和哈希value值;哈希key值与哈希value值组成所述引用关系列表。
进一步的,所述判断所述目的节点是否在所述引用关系列表中的步骤包括:将获取的所述目的节点的访问地址信息;将所获取的所述目的节点的访问地址信息进行哈希运算形成目的节点的哈希key值;判断所述引用关系列表中是否存在与所述目的节点的哈希key值相对应的哈希value值;若存在,调用所述哈希value值,并将所述哈希value值赋予一个变量item,所述item即为目的节点。
S130、若存在,则按照所述访问地址将所述调用请求转发给所述目的节点以使所述目的节点执行所述事件动作。
若不存在,则直接回复源节点,所述调用目的节点不存在。
调用目的节点解析调用请求中的事件数据,然后根据事件数据的参数执行具体的事件动作。
在一个具体的实施例中,在通过所述转发中心接收源节点发出的用于调用目的节点执行事件动作的调用请求并对所述调用请求进行解析的步骤之前,包括建立具有引用关系列表的转发中心。
具体地说,需要先建立具有引用关系列表的转发中心,所述引用关系列表包括当前***中所有节点的引用关系;引用关系表仅用于维持所有节点的访问地址,不包含任何数据。转发中心属于一种数据转发中心,在整个***中扮演的是辅助节点协作的角色,其包含引用关系哈希表和增加、删除节点的操作功能。
需要说明的是,所述引用关系列表为哈希队列组成的哈希表,所述哈希队列包含当前***所有节点的访问地址信息。引用关系表与现有的地址映射表不同,地址映射表是网络节点中的IP地址和节点间的映射关系;而引用关系表指的是每个节点的唯一标识和该节点的内存地址之间的映射关系所组成的列表,所示引用关系表仅包含引用关系,没有任何数据。
在具体的实施过程中,转发中心是个代码模块的形式。建立转发中心的步骤包括创建引用关系列表以及初始化引用关系列表。初始化引用关系列表包括调用LogicSys.insertTransferTable()把***中存在的节点引用写入到引用关系列表中。遍历***中的节点,把每一个节点的标识和引用写进引用关系列表。
在一个具体的实施例中,增加新节点的步骤包括:获取新增节点的访问地址信息和调用事件信息;将所获取的新增节点的访问地址信息和调用事件信息进行哈希运算,分别形成新增节点的哈希key值和哈希value值;将新增节点的哈希key值与哈希value值***所述引用关系列表。
当某个节点需要离开此体系时,可以向转发中心发起退出请求。转发中心将此节点在引用表中删除,从而使该节点退出本***。获取转发中心的引用关系列表,通过判断该节点是否存在于引用关系列表中,如果存在,则执行删除该节点。
在一个具体的实施例中,在调用目的节点执行完当前事件动作之后,判断当前的调用目的节点是否存在下一级调用;若该节点任务存在下一级调用,则该调用目的节点作为新的源节点向转发中心发出相应的跳转请求;转发中心再次遍历转发中心的引用关系列表,判断此次跳转请求对应的调用目的节点是否在所述引用关系列表中;若存在,则转发中心将调用请求转发给所述跳转请求对应的调用目的节点;若不存在,则转发中心将失败信息返回给新的源节点。
在一个具体的实施例中,若调用请求频发,转发中心对收到的调用请求需要定义事件队列进行事件存放,而事件队列的类型可以根据事件是否有优先级来划分,若事件本身具有优先级,则可由考虑最小堆的数据作为事件队列的选择;若事件没有优先级,则用普通的先进先出的队列即可。
本发明的基于事件分发机制的节点调用方法在不影响转发中心的业务逻辑的情况下,实现快速实现新增或删除节点;只是在引用关系列表中新增或删除了一条记录,***维护成本很低。本发明的基于事件分发机制的节点调用方法不再采用总线模式进行复杂***的优化而是通过转发中心替代总线的角色,在解决***节点维护成本过高的同时,也避免了在总线***下,所有节点都会收到转发信息的问题,避免了无关节点收到某些敏感信息,而导致信息泄露的情况的发生。
图2为本发明的基于事件分发机制的节点调用方法的逻辑原理示意图;参照图2所示,
基于事件分发机制的节点调用方法为通过所述转发中心接收源节点发出的用于调用目的节点执行事件动作的调用请求并对所述调用请求进行解析以获取所述目的节点的访问地址;判断所述目的节点的访问地址是否在所述引用关系列表中;若存在,则按照所述访问地址将所述调用请求转发给所述目的节点以使所述目的节点执行所述事件动作。若不存在,则直接回复源节点,所述调用目的节点不存在。在调用目的节点执行完当前事件动作之后,判断当前的目的节点是否存在下一级调用;若该节点任务存在下一级调用,则该调用目的节点作为新的源节点向转发中心发出相应的跳转请求。也就是说,根据任务执行后的不同结果调用不同的后续任务。执行一次任务进行一次遍历引用关系表的过程。
具体地说,转发中心属于一种数据转发中心,在整个***中扮演的是辅助节点协作的角色。所有节点间的引用关系是存储在转发中心的引用关系列表中以及存储在调用请求中的请求数据部分。节点本身并不需要保存下一级节点的引用。当前节点如果发现后续任务中存在调用,则向转发中心发送调用请求即可。
仍旧以一个复杂任务分解为a1,a2...an等n个先后步骤,分别由b1,b2...bn等n个节点按照1,2...n的顺序逐一处理的场景为例。
当b1节点处理完当前任务a1后,后续任务a2中存在调用b2节点的引用;则b1节点向转发中心发送调用b2节点的调用请求,若引用关系表中存在b2节点,则b2节点接收转发中心发送的调用请求,需要根据a2任务执行后的不同结果调用不同的后续任务即可。在这种需求下,b1节点本身并不需要保存b2节点的引用。所有的请求均是通过转发中心辅助。
本发明的基于事件分发机制的节点调用方法与现有技术中,当有m种可能性时,为了跳转m种不同的后续任务,b3节点需要保存m个节点的引用,以及导致b1,b2...bn每个节点都有可能需要保存m个节点的引用的现状不同。所有节点均不保存任何引用,只需通过解析当前调用请求中的数据进行下一步执行事件任务即可。也就是说,所有的节点只需依赖转发中心,而不需要知道其他节点的存在,某个节点处理完分配的任务后,只需要将后续步骤按约定的协议向转发中心发起跳转请求即可,不必关心由哪个节点进行后续操作,从而实现节点的彻底解耦。整个***变成了以转发中心为中心的放射状结构,节点之间并无关系。
本发明的基于事件分发机制的节点调用方法中,转发中心会解析调用请求中的请求数据,从而得知该任务要调用的目的节点。针对性的对调用目的节点发送调用请求。无关节点并不会收到调用请求,从而不存在发生信息泄露的隐患。
本发明的基于事件分发机制的节点调用方法与现有技术的总线***不同,避免了总线***下所有节点都会收到转发信息的问题,避免了无关节点收到某些敏感信息,而导致信息泄露的情况。
图3为本发明的基于事件分发机制的节点调用***的逻辑结构示意图;参照图3所示,
为实现上述目的,本发明提供一种基于事件分发机制的节点调用***300,包括转发中心建立单元310、目的节点获取单元320、目的节点判定单元330和调用执行单元340;其中,
所述转发中心建立单元310,用于建立具有引用关系列表的转发中心;
所述目的节点获取单元320,用于通过所述转发中心接收源节点发出的用于调用目的节点执行事件动作的调用请求并对所述调用请求进行解析以获取所述目的节点的访问地址;
所述目的节点判定单元330,用于判断所述目的节点的访问地址是否在所述引用关系列表中;
所述调用执行单元340,用于按照所述访问地址将所述调用请求转发给所述目的节点以使所述目的节点执行所述事件动作。。
进一步,优选的,所述目的节点判定单元330包括访问地址信息获取模块331、哈希key值转换模块332、目的节点判断模块333和目的节点确定模块334;
所述访问地址信息获取模块331,用于将获取的所述目的节点的访问地址信息;
所述哈希key值转换模块332,用于将所获取的所述目的节点的访问地址信息进行哈希运算形成目的节点的哈希key值;
所述目的节点判断模块333,用于判断所述引用关系列表中是否存在与所述目的节点的哈希key值相对应的哈希value值;
所述目的节点确定模块334,用于调用所述哈希value值,并将所述哈希value值赋予一个变量item,所述item即为目的节点。
进一步,优选的,还包括节点增加单元350,包括新增节点信息获取模块351、哈希值获取模块352和引用关系列表***模块353;
所述新增节点信息获取模块351,用于获取新增节点的访问地址信息和调用事件信息;
所述哈希值获取模块352,用于将所获取的新增节点的访问地址信息和调用事件信息进行哈希运算,分别形成新增节点的哈希key值和哈希value值;
所述引用关系列表***模块353,用于将新增节点的哈希key值与哈希value值***所述引用关系列表。
综上所述,本发明的基于事件分发机制的节点调用***不再采用总线模式进行复杂***的优化而是通过转发中心替代总线的角色,在解决***节点维护成本过高的同时,也避免了在总线***下,所有节点都会收到转发信息的问题,避免了无关节点收到某些敏感信息,而导致信息泄露的情况的发生。
本发明提供一种基于事件分发机制的节点调用方法,应用于一种电子装置4。
图4示出了根据本发明基于事件分发机制的节点调用方法较佳实施例的应用环境。
参照图4所示,在本实施例中,电子装置4可以是服务器、智能手机、平板电脑、便携计算机、桌上型计算机等具有运算功能的终端设备。
该电子装置4包括:处理器42、存储器41、通信总线43及网络接口45。
存储器41包括至少一种类型的可读存储介质。所述至少一种类型的可读存储介质可为如闪存、硬盘、多媒体卡、卡型存储器41等的非易失性存储介质。在一些实施例中,所述可读存储介质可以是所述电子装置4的内部存储单元,例如该电子装置4的硬盘。在另一些实施例中,所述可读存储介质也可以是所述电子装置4的外部存储器41,例如所述电子装置4上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。
在本实施例中,所述存储器41的可读存储介质通常用于存储安装于所述电子装置4的基于事件分发机制的节点调用程序40等。所述存储器41还可以用于暂时地存储已经输出或者将要输出的数据。
处理器42在一些实施例中可以是一中央处理器(Central Processing Unit,CPU),微处理器或其他数据处理芯片,用于运行存储器51中存储的程序代码或处理数据,例如执行基于事件分发机制的节点调用程序40等。
通信总线43用于实现这些组件之间的连接通信。
网络接口44可选地可以包括标准的有线接口、无线接口(如WI-FI接口),通常用于在该电子装置4与其他电子设备之间建立通信连接。
图4仅示出了具有组件41-44的电子装置4,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
可选地,该电子装置4还可以包括用户接口,用户接口可以包括输入单元比如键盘(Keyboard)、语音输入装置比如麦克风(microphone)等具有语音识别功能的设备、语音输出装置比如音响、耳机等,可选地用户接口还可以包括标准的有线接口、无线接口。
可选地,该电子装置4还可以包括显示器,显示器也可以称为显示屏或显示单元。在一些实施例中可以是LED显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(Organic Light-Emitting Diode,OLED)触摸器等。显示器用于显示在电子装置4中处理的信息以及用于显示可视化的用户界面。
可选地,该电子装置4还可以包括射频(Radio Frequency,RF)电路,传感器、音频电路等等,在此不再赘述。
在图4所示的装置实施例中,作为一种计算机存储介质的存储器41中可以包括操作***、以及基于事件分发机制的节点调用程序40;处理器42执行存储器41中存储的基于事件分发机制的节点调用程序40时实现如下步骤:通过所述转发中心接收源节点发出的用于调用目的节点执行事件动作的调用请求并对所述调用请求进行解析以获取所述目的节点的访问地址;判断所述目的节点的访问地址是否在所述引用关系列表中;若存在,则按照所述访问地址将所述调用请求转发给所述目的节点以使所述目的节点执行所述事件动作。
在其他实施例中,基于事件分发机制的节点调用程序40还可以被分割为一个或者多个模块,一个或者多个模块被存储于存储器41中,并由处理器42执行,以完成本发明。本发明所称的模块是指能够完成特定功能的一系列计算机程序程序段。基于事件分发机制的节点调用程序40可以分为包括转发中心建立单元310、目的节点获取单元320、目的节点判定单元330和调用执行单元340。
此外,本发明还提出一种计算机可读存储介质,主要包括存储数据区和存储程序区,其中,存储数据区可存储根据区块链节点的使用所创建的数据等,存储程序区可存储操作***、至少一个功能所需的应用程序,所述计算机可读存储介质中包括基于事件分发机制的节点调用程序,所述基于事件分发机制的节点调用程序被处理器执行时实现如基于事件分发机制的节点调用方法的操作。
本发明之计算机可读存储介质的具体实施方式与上述基于事件分发机制的节点调用方法、***、电子装置的具体实施方式大致相同,在此不再赘述。
总的来说,本发明基于事件分发机制的节点调用方法、***、电子装置及计算机可读存储介质,通过本发明的基于事件分发机制的节点调用方法在不影响转发中心的业务逻辑的情况下,实现快速实现新增或删除节点;只是在引用关系列表中新增或删除了一条记录,***维护成本很低。本发明的基于事件分发机制的节点调用方法不再采用总线模式进行复杂***的优化而是通过转发中心替代总线的角色,在解决***节点维护成本过高的同时,也避免了在总线***下,所有节点都会收到转发信息的问题,避免了无关节点收到某些敏感信息,而导致信息泄露的情况的发生。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干程序用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (9)
1.一种基于事件分发机制的节点调用方法,应用于电子装置,其特征在于,方法包括:
通过转发中心接收源节点发出的用于调用目的节点执行事件动作的调用请求并对所述调用请求进行解析以获取所述目的节点的访问地址;
判断所述目的节点的访问地址是否在引用关系列表中;
若存在,则按照所述访问地址将所述调用请求转发给所述目的节点以使所述目的节点执行所述事件动作;其中,所述引用关系列表的组成方法包括:
获取所有节点的访问地址信息和调用事件信息;
将所获取的所有节点的访问地址信息和调用事件信息进行哈希运算,分别形成哈希key值和哈希value值;
哈希key值与哈希value值组成所述引用关系列表。
2.根据权利要求1所述的基于事件分发机制的节点调用方法,其特征在于,所述判断所述目的节点是否在所述引用关系列表中的步骤包括:
获取所述目的节点的访问地址信息;
将所获取的所述目的节点的访问地址信息进行哈希运算形成目的节点的哈希key值;
判断所述引用关系列表中是否存在与所述目的节点的哈希key值相对应的哈希value值;
若存在,调用所述哈希value值,并将所述哈希value值赋予一个变量item,所述item即为目的节点。
3.根据权利要求1所述的基于事件分发机制的节点调用方法,其特征在于,在通过所述转发中心接收源节点发出的用于调用目的节点执行事件动作的调用请求并对所述调用请求进行解析的步骤之前,包括:
建立具有引用关系列表的转发中心。
4.根据权利要求1所述的基于事件分发机制的节点调用方法,其特征在于,增加新节点的步骤包括:
获取新增节点的访问地址信息和调用事件信息;
将所获取的新增节点的访问地址信息和调用事件信息进行哈希运算,分别形成新增节点的哈希key值和哈希value值;
将新增节点的哈希key值与哈希value值***所述引用关系列表。
5.一种基于事件分发机制的节点调用***,其特征在于,包括转发中心建立单元、目的节点获取单元、目的节点判定单元和调用执行单元;其中,
所述转发中心建立单元,用于建立具有引用关系列表的转发中心;其中,所述引用关系列表的组成方法包括:获取所有节点的访问地址信息和调用事件信息;将所获取的所有节点的访问地址信息和调用事件信息进行哈希运算,分别形成哈希key值和哈希value值;哈希key值与哈希value值组成所述引用关系列表;
所述目的节点获取单元,用于通过所述转发中心接收源节点发出的用于调用目的节点执行事件动作的调用请求并对所述调用请求进行解析以获取所述目的节点的访问地址;
所述目的节点判定单元,用于判断所述目的节点的访问地址是否在所述引用关系列表中;
所述调用执行单元,用于按照所述访问地址将所述调用请求转发给所述目的节点以使所述目的节点执行所述事件动作。
6.根据权利要求5所述的基于事件分发机制的节点调用***,其特征在于,所述目的节点判定单元包括访问地址信息获取模块、哈希key值转换模块、目的节点判断模块和目的节点确定模块;
所述访问地址信息获取模块,用于将获取的所述目的节点的访问地址信息;
所述哈希key值转换模块,用于将所获取的所述目的节点的访问地址信息进行哈希运算形成目的节点的哈希key值;
所述目的节点判断模块,用于判断所述引用关系列表中是否存在与所述目的节点的哈希key值相对应的哈希value值;
所述目的节点确定模块,用于调用所述哈希value值,并将所述哈希value值赋予一个变量item,所述item即为目的节点。
7.根据权利要求5所述的基于事件分发机制的节点调用***,其特征在于,还包括节点增加单元,包括新增节点信息获取模块、哈希值获取模块和引用关系列表***模块;
所述新增节点信息获取模块,用于获取新增节点的访问地址信息和调用事件信息;
所述哈希值获取模块,用于将所获取的新增节点的访问地址信息和调用事件信息进行哈希运算,分别形成新增节点的哈希key值和哈希value值;
所述引用关系列表***模块,用于将新增节点的哈希key值与哈希value值***所述引用关系列表。
8.一种电子装置,其特征在于,该电子装置包括:至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的程序,所述程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至4中任一所述的基于事件分发机制的节点调用方法。
9.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1至4中任一项所述的基于事件分发机制的节点调用方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011505476.2A CN112702270B (zh) | 2020-12-18 | 2020-12-18 | 基于事件分发机制的节点调用方法、***及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011505476.2A CN112702270B (zh) | 2020-12-18 | 2020-12-18 | 基于事件分发机制的节点调用方法、***及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112702270A CN112702270A (zh) | 2021-04-23 |
CN112702270B true CN112702270B (zh) | 2023-05-02 |
Family
ID=75507429
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011505476.2A Active CN112702270B (zh) | 2020-12-18 | 2020-12-18 | 基于事件分发机制的节点调用方法、***及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112702270B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101355490A (zh) * | 2007-07-25 | 2009-01-28 | 华为技术有限公司 | 消息路由方法、***和节点设备 |
CN102591970A (zh) * | 2011-12-31 | 2012-07-18 | 北京奇虎科技有限公司 | 一种分布式键-值查询方法和查询引擎*** |
CN104301233A (zh) * | 2014-10-31 | 2015-01-21 | 易准科技发展(上海)有限公司 | 路由访问方法、路由访问***及用户终端 |
CN108075978A (zh) * | 2016-11-17 | 2018-05-25 | 华为技术有限公司 | 一种报文发送方法、节点配置方法以及相关设备 |
CN108337170A (zh) * | 2018-01-30 | 2018-07-27 | 浙江省公众信息产业有限公司 | 分布式资源查找方法和*** |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1327653C (zh) * | 2004-12-09 | 2007-07-18 | 中国科学院软件研究所 | 构建于结构化P2P网络之上的pub/sub***的路由方法 |
CN103841090A (zh) * | 2012-11-26 | 2014-06-04 | 中兴通讯股份有限公司 | 实现会话发起协议多业务服务器分发的方法、装置及*** |
CN102968339B (zh) * | 2012-12-19 | 2015-06-17 | 普元信息技术股份有限公司 | 基于云计算架构实现复杂事件处理的***及其方法 |
CN104462549B (zh) * | 2014-12-25 | 2018-03-23 | 瑞斯康达科技发展股份有限公司 | 一种数据处理方法和装置 |
CN104580428B (zh) * | 2014-12-27 | 2018-09-04 | 北京奇虎科技有限公司 | 一种数据路由方法、数据管理装置和分布式存储*** |
CN107656824A (zh) * | 2016-07-25 | 2018-02-02 | 武汉票据交易中心有限公司 | 一种业务流程的处理方法及相关装置和服务器 |
CN107770076B (zh) * | 2016-08-23 | 2020-12-04 | 中兴通讯股份有限公司 | 一种哈希冲突的处理方法、装置及交换设备 |
CN107483306A (zh) * | 2017-07-28 | 2017-12-15 | 深圳怡化电脑股份有限公司 | 一种通信方法、通信***及存储介质 |
CN109408232B (zh) * | 2018-10-17 | 2020-08-14 | 山东易通发展集团有限公司 | 一种基于交易流程的组件化总线调用执行*** |
CN111224878B (zh) * | 2019-12-31 | 2022-05-13 | 中移(杭州)信息技术有限公司 | 路由转发方法、装置、电子设备及存储介质 |
CN111401903B (zh) * | 2020-06-03 | 2020-09-11 | 腾讯科技(深圳)有限公司 | 区块链消息处理方法、装置、计算机以及可读存储介质 |
-
2020
- 2020-12-18 CN CN202011505476.2A patent/CN112702270B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101355490A (zh) * | 2007-07-25 | 2009-01-28 | 华为技术有限公司 | 消息路由方法、***和节点设备 |
CN102591970A (zh) * | 2011-12-31 | 2012-07-18 | 北京奇虎科技有限公司 | 一种分布式键-值查询方法和查询引擎*** |
CN104301233A (zh) * | 2014-10-31 | 2015-01-21 | 易准科技发展(上海)有限公司 | 路由访问方法、路由访问***及用户终端 |
CN108075978A (zh) * | 2016-11-17 | 2018-05-25 | 华为技术有限公司 | 一种报文发送方法、节点配置方法以及相关设备 |
CN108337170A (zh) * | 2018-01-30 | 2018-07-27 | 浙江省公众信息产业有限公司 | 分布式资源查找方法和*** |
Also Published As
Publication number | Publication date |
---|---|
CN112702270A (zh) | 2021-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7877091B2 (en) | Method and system for executing a container managed application on a processing device | |
US8984530B2 (en) | Queued message dispatch | |
WO2018184535A1 (zh) | 保险业务处理方法、装置、服务器和存储介质 | |
CN107133309B (zh) | 流程实例的存储、查询方法及装置、存储介质及电子设备 | |
JP2005222533A (ja) | 挿入されたメッセージ修正を使用した、コード作成のため受信したメッセージディスパッチの調整 | |
CN111367925A (zh) | 数据动态实时更新方法、装置及存储介质 | |
JP6266588B2 (ja) | ローカル・データーおよびリモート・データーの同期 | |
CN112636957A (zh) | 基于日志的预警方法、装置、服务器及存储介质 | |
CN111737022A (zh) | 一种基于微服务的接口调用方法、***、设备及介质 | |
CN110795315A (zh) | 监控业务的方法和装置 | |
CN114528044B (zh) | 一种接口调用方法、装置、设备及介质 | |
CN112631751A (zh) | 任务调度方法、装置、计算机设备及存储介质 | |
CN113076153A (zh) | 一种接口调用方法和装置 | |
US20130346600A1 (en) | Apparatus for processing one or more events | |
CN109559121B (zh) | 交易路径调用异常分析方法、装置、设备及可读存储介质 | |
CN110619204A (zh) | 一种邀请码生成方法、装置、终端设备及存储介质 | |
CN111241189A (zh) | 一种同步数据的方法和装置 | |
JP2005228183A (ja) | プログラム実行方法、および、プログラム実行のための計算機システム | |
WO2019062020A1 (zh) | 异步任务统一处理方法、装置及存储介质 | |
CN112702270B (zh) | 基于事件分发机制的节点调用方法、***及存储介质 | |
CN111324645B (zh) | 区块链的数据处理方法及装置 | |
CN112100260A (zh) | 一种基于接口引擎的多应用数据融合的方法及*** | |
CN111488286A (zh) | 一种Android模块独立开发的方法及装置 | |
CN114936249A (zh) | 一种文件解析、转换方法、装置、设备及可读存储介质 | |
CN113296898A (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 |