CN111756836A - 一种基于事件管理模型的信息发送方法及装置 - Google Patents
一种基于事件管理模型的信息发送方法及装置 Download PDFInfo
- Publication number
- CN111756836A CN111756836A CN202010578313.0A CN202010578313A CN111756836A CN 111756836 A CN111756836 A CN 111756836A CN 202010578313 A CN202010578313 A CN 202010578313A CN 111756836 A CN111756836 A CN 111756836A
- Authority
- CN
- China
- Prior art keywords
- information
- information sending
- sending
- event
- target
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/42—Mailbox-related aspects, e.g. synchronisation of mailboxes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/56—Unified messaging, e.g. interactions between e-mail, instant messaging or converged IP messaging [CPM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/12—Messaging; Mailboxes; Announcements
- H04W4/14—Short messaging services, e.g. short message services [SMS] or unstructured supplementary service data [USSD]
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Business, Economics & Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Operations Research (AREA)
- Marketing (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Economics (AREA)
- Data Mining & Analysis (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于事件管理模型的信息发送方法及装置,涉及人工智能技术领域,主要目的在于能够利用预先建立的事件管理模型针对不同的信息发送类型,执行相应的信息发送算法,向目标地址发送信息,并通过区块链技术保存目标地址,从而减少代码维护工作量,提高工作效率。所述方法包括:通过预先创建的监听器建立事件管理模型,其中,所述监听器用于监听指定的目标业务完成事件;接收并解析所述目标业务完成事件,得到所述目标业务的业务标识;利用预先创建的事件管理模型以及所述业务标识,匹配并执行对应的信息发送算法,向目标地址发送信息,其中,所述目标地址存储于区块链网络的区块节点中。本发明适用于基于事件管理模型的信息发送。
Description
技术领域
本发明涉及人工智能技术领域,特别是涉及一种基于事件管理模型的信息发送方法及装置。
背景技术
互联网时代,在众多业务场景中配置短信提醒或者邮件提醒功能已经成为默认的标配,在某个业务逻辑处理成功之后,通常需要发送短信或者邮件来提醒对应的客户,可以提高业务双方的信息一致性。
本申请发明人在研究中发现,业务处理逻辑与信息发送逻辑通常耦合在一起,在业务处理成功后,调用运营商相应的信息发送接口把信息发送给用户。然而,如果后期信息发送方式发生了改变,比如用户想改用或者新增加发送微信推送通知等其他信息发送方式时,只有在原业务逻辑中新增加发送邮件或微信推送通知的逻辑,这样就会导致原本一个简单的业务变得越来越冗余,从而增加代码维护工作量,降低工作效率。
发明内容
有鉴于此,本发明提供一种基于事件管理模型的信息发送方法及装置,主要目的在于能够预先建立的事件管理模型分别针对不同信息发送类型,执行相应的信息发送算法,并通过区块链技术保存目标地址,从而减少代码维护工作量,提高工作效率。
依据本发明一个方面,提供了一种基于事件管理模型的信息发送方法,包括:
通过预先创建的监听器建立事件管理模型,其中,所述监听器用于监听指定的目标业务完成事件;
接收并解析所述目标业务完成事件,得到所述目标业务的业务标识;
利用所述事件管理模型以及所述业务标识,匹配并执行对应的信息发送算法,向目标地址发送信息,其中,所述目标地址存储于区块链网络的区块节点中。
进一步地,所述利用预先建立的事件管理模型以及所述业务标识,匹配并执行对应的信息发送算法,向目标地址发送信息之前,所述方法还包括:
获取并解析待执行的目标业务对应的业务标识,得到所述目标业务的信息发送类型标识;
分别在预先建立的信息发送算法库中查找与每个信息发送类型标识具有映射关系的信息发送算法;
基于每个信息发送算法,分别创建监听所述目标业务完成事件的监听器;
利用所述监听器建立事件管理模型。
进一步地,所述利用预先建立的事件管理模型以及所述业务标识,匹配并执行对应的信息发送算法,向目标地址发送信息,包括:
解析所述业务标识,得到所述目标业务的至少一个信息发送类型标识;
根据所述信息发送类型标识,匹配对应的监听器;
执行所述监听器中的信息发送算法,向目标地址发送信息。
进一步地,所述基于每个信息发送算法,分别创建监听所述目标业务完成事件的监听器,包括:
创建一个监听器对象,将所述信息发送算法保存在所述监听器对象的内部存储空间中;
将所述业务目标完成事件配置为所述监听器对象的传递参数。
进一步地,所述目标地址存储于区块链网络的区块节点中,所述向目标地址发送信息,包括:
接收并解析所述目标业务完成事件,得到区块节点标识和密钥;
利用所述区块节点标识在所述区块链网络中查找对应的区块节点;
根据所述密钥在所述区块节点中获取所述目标地址;
执行所述信息发送算法,向所述目标地址发送信息。
进一步地,所述分别在预先建立的信息发送算法库中查找与每个信息发送类型标识具有映射关系的信息发送算法之前,所述方法还包括:
建立信息发送算法库,其中,所述信息发送算法库中保存有所述信息发送算法、所述信息发送类型标识以及所述信息发送算法与所述信息发送类型的映射关系。
进一步地,所述利用预先建立的事件管理模型以及所述业务标识,匹配并执行对应的信息发送算法,向目标地址发送信息之前,所述方法还包括:
获取所述目标业务的多个目标地址,并分别计算所述目标地址之间的余弦相似度;
将所述余弦相似度大于预设阈值的目标地址确定为相同目标地址;
将预设时间段内向所述相同目标地址发送的所有信息进行聚合处理,并将所述聚合处理后的信息发送给所述相同目标地址。
依据本发明二个方面,提供了一种基于事件管理模型的信息发送装置,包括:
建立单元,用于通过预先创建的监听器建立事件管理模型,其中,所述监听器用于监听指定的目标业务完成事件;
接收单元,用于接收并解析所述目标业务完成事件,得到所述目标业务的业务标识;
发送单元,用于利用所述事件管理模型以及所述业务标识,匹配并执行对应的信息发送算法,向目标地址发送信息,其中,所述目标地址存储于区块链网络的区块节点中。
进一步地,所述装置还包括:
解析单元,用于获取并解析待执行的目标业务对应的业务标识,得到所述目标业务的信息发送类型标识;
查找单元,用于分别在预先建立的信息发送算法库中查找与每个信息发送类型标识具有映射关系的信息发送算法;
创建单元,用于基于每个信息发送算法,分别创建监听所述目标业务完成事件的监听器;
建立单元,用于利用所述监听器建立事件管理模型。
进一步地,所述发送单元,包括:
解析模块,用于解析所述业务标识,得到所述目标业务的至少一个信息发送类型标识;
匹配模块,用于根据所述信息发送类型标识,匹配对应的监听器;
执行模块,用于执行所述监听器中的信息发送算法,向目标地址发送信息。
进一步地,所述创建单元,包括:
创建模块,用于创建一个监听器对象,将所述信息发送算法保存在所述监听器对象的内部存储空间中;
配置模块,用于将所述业务目标完成事件配置为所述监听器对象的传递参数。
进一步地,所述发送单元,还包括:
所述解析模块具体还用于接收并解析所述目标业务完成事件,得到区块节点标识和密钥;
查找模块,用于利用所述区块节点标识在所述区块链网络中查找对应的区块节点;
获取模块,用于根据所述密钥在所述区块节点中获取所述目标地址;
所述执行模块具体还用于执行所述信息发送算法,向所述目标地址发送信息。
进一步地,所述建立单元具体还用于建立信息发送算法库,其中,所述信息发送算法库中保存有所述信息发送算法、所述信息发送类型标识以及所述信息发送算法与所述信息发送类型的映射关系。
进一步地,所述装置还包括:
计算单元,用于获取所述目标业务的多个目标地址,并分别计算所述目标地址之间的余弦相似度;
确定单元,用于将所述余弦相似度大于预设阈值的目标地址确定为相同的目标地址;
聚合单元,用于将预设时间段内向所述相同目标地址发送的所有信息进行聚合处理,并将所述聚合处理后的信息发送给所述相同目标地址。
依据本发明第三方面,提供了一种存储介质,所述存储介质中存储有至少一可执行指令,所述执行指令使处理器执行以下步骤:通过预先创建的监听器建立事件管理模型;获取目标业务完成事件,其中,所述目标业务完成事件中携带有所述目标业务的业务标识;利用预先建立的事件管理模型以及所述业务标识,匹配并执行对应的信息发送算法,向目标地址发送信息,其中,所述目标地址存储于区块链网络的区块节点中。
依据本发明第四方面,提供了一种计算机设备,包括处理器、存储器、通信接口和通信总线所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信,所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行以下步骤:通过预先创建的监听器建立事件管理模型;获取目标业务完成事件,其中,所述目标业务完成事件中携带有所述目标业务的业务标识;利用预先建立的事件管理模型以及所述业务标识,匹配并执行对应的信息发送算法,向目标地址发送信息,其中,所述目标地址存储于区块链网络的区块节点中。
本发明提供一种基于事件管理模型的信息发送方法及装置,与现有技术业务处理逻辑与信息发送逻辑通常耦合在一起,在业务处理成功后,调用运营商相应的信息发送接口把信息发送给用户相比,本发明通过通过预先创建的监听器建立事件管理模型;获取目标业务完成事件,其中,所述目标业务完成事件中携带有所述目标业务的业务标识;利用预先建立的事件管理模型以及所述业务标识,匹配并执行对应的信息发送算法,向目标地址发送信息,其中,所述目标地址存储于区块链网络的区块节点中。从而能够预先建立的事件管理模型分别针对不同信息发送类型,执行相应的信息发送算法,并通过区块链技术保存目标地址,从而减少代码维护工作量,提高工作效率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的一种基于事件管理模型的信息发送方法流程图;
图2示出了本发明实施例提供的一种传统信息发送模式示意图;
图3示出了本发明实施例提供的一种基于事件管理模型的信息发送模式示意图;
图4示出了本发明实施例提供的一种基于事件管理模型的信息发送装置的结构示意图;
图5示出了本发明实施例提供的一种计算机设备的实体结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
如背景技术所述,本申请发明人在研究中发现,业务处理逻辑与信息发送逻辑通常耦合在一起,在业务处理成功后,调用运营商相应的信息发送接口把信息发送给用户。然而,如果后期信息发送方式发生了改变,比如用户想改用或者新增加发送微信推送通知等其他信息发送方式时,只有在原业务逻辑中新增加发送邮件或微信推送通知的逻辑,这样就会导致原本一个简单的业务变得越来越冗余,从而增加代码维护工作量,降低工作效率。
为了解决上述问题,本发明实施例提供了一种基于事件管理模型的信息发送方法,如图1所示,所述方法包括:
101、通过预先创建的监听器建立事件管理模型。
其中,所述监听器用于监听指定的目标业务完成事件。所述事件管理模型具体可以为由多个监听器组成的事件管理器,所述事件管理器可以用于查找监听器,并调用所述监听器中的信息发送算法。所述监听器用于监听指定的目标业务完成事件。具体可以通过预先创建的监听器建立事件管理模型,在实际应用场景中,所述事件管理模型可以为通过多个监听器对象形成的方法类,用于调取监听器对象,并调用所述监听器对象中的信息发送方法,从而发送信息。具体地,可以通过预先创建的监听器建立事件管理模型。
102、接收并解析所述目标业务完成事件,得到所述目标业务的业务标识。
其中,所述信息发送指令可以为业务执行单元向事件管理器发送的,所述信息发送指令中可以携带有预设事件对应的信息发送类型标识,所述事件管理器可以用于创建监听器和销毁监听器等。例如,所述预设事件具体可以为银行开户业务,且规定当银行开户业务完成时,向客户的预留手机号码发送开户成功的短信提醒信息,具体地,当业务执行单元接收到银行开户业务后,生成短信标识,并将所述短信标识嵌入信息发送指令,发送至事件管理器。
对于本发明实施例,所述信息发送指令中还携带有预设事件对应的信息发送地址,所述信息发送地址可以用于信息发送时作为信息发送的目的地址。
其中,所述信息发送地址可以包括手机号码、邮箱地址、微信号码等。例如,解析所述信息发送指令,得到用户预留的手机号码,则当后续向用户发送信息时,可以将所述手机号码作为短信发送的目的地地址,即向所述手机号码发送短信提醒信息,同理,邮箱地址,微信号码等也可以作为目的地地址用于信息发送,此处不再赘述。
103、利用所述事件管理模型以及所述业务标识,匹配并执行对应的信息发送算法,向目标地址发送信息。
其中,所述目标地址存储于区块链网络的区块节点中。也可以通过事件管理模型创建监听器,所述监听器可以用于接收业务处理端发送的事件完成信息,并执行相应的信息发送算法。例如,所述信息发送类型标识为短信标识,则所述事件管理器可以创建一个监听器,所述监听器中保存有向指定手机号码发送短信的算法。
具体地,可以根据所述业务逻辑的要求创建监听器,例如,存款业务执行完成后,若需要向用户发送提示短信,则可以创建存款业务完成事件的监听器,并内置向用户发送提示短信的方法,以便于监听到所述事件后,调用所述方法向用户发送提示信息,同理,若所述存款业务执行完成后,需要向用户发送提示邮件,则可以创建存款业务执行完成事件的监听器,并内置向用户发送提示邮件的方法,以便于监听到所述事件后,调用所述方法向用户发送提示邮件。
对于本发明实施例,如图2所示,示出了传统的在业务逻辑处理成功之后直接添加发送短信的业务逻辑模式,在此种模式下,发短信业务和主业务耦合在一起,如果发短信业务发生了改变或者新增其他业务如发送邮件、微信推送通知等,也不可避免地会给主业务逻辑处理带来影响。而如图3所示,示出了本发明基于发布-订阅的信息发送方法示意图,将发送短信的业务功能从主业务逻辑中剥离出来,在主业务和短信发送业务之间增加一个事件管理器,在主业务的逻辑处理成功之后将事件发布给事件管理器,发送短信业务来订阅这个事件消息,即定义一个监听器,当监听到发布的事件时,就进行发送短信的业务逻辑处理。这样主业务和发送短信的业务就实现了松耦合,主业务只会依赖事件管理器,不再对接事件逻辑处理成功之后的发送短信业务或新增的其他逻辑处理。具体实现发布和订阅模式可以通过三个部分,事件(ApplicationEvent)、监听器(ApplicationListener)和事件发布操作。
需要说明的是,所述事件管理器,在实际应用中可以包括一系列监听器,比如发布事件A需要同时发送短信和发送邮件,此时就需要新增加两个监听事件A的监听器:发送短信的监听器(SendMsgListener)和发送邮件的监听器(SendEMailListener),发送短信的监听器(SendMsgListener)可以进行发送短信的操作,发送邮件的监听器(SendEMailListener)可以执行发送邮件的操作。另外,若发布事件B需要微信推送通知,则可以新增一个监听事件B的执行微信推送的监听器即可。也就是说,针对一个事件,新增一个信息发送类型,只需要新增一个监听该事件的监听器,然后发布该事件即可。
另外,在实际应用场景中,可能存在一个事件对应多种信息发送渠道的情况,例如,银行存款业务,规定在完成后,要向用户的手机号码发送短信提醒信息,同时,根据预留的邮箱地址,向用户的邮箱发送邮件提醒信息。此时,对于本发明实施例,可以同时创建两个监听器,一个监听器中保存有发送短信提醒信息对应的算法,另一个监听其中保存有发送邮件提醒信息对应的算法,即通过多个监听器同时订阅同一事件。
对于本发明实施例,当监听器监听到所述业务完成事件时,可以调用对应的信息发送算法,向用户发送信息。例如,已订阅银行开户业务这一事件的监听器,在接收到事件完成指令后,可以调用本地预设的短信发送算法,向用户发送短信。具体地,当所述业务逻辑执行完成后,发布该业务逻辑执行完成事件,此时,所有已订阅所述事件的监听器都可以监听到所述事件,并调用所述监听器中预设的信息发送方法,向用户发送所述业务逻辑已执行完成的信息。例如,执行完成一项存款业务后,发布存款业务执行完成的事件,已订阅所述事件的监听器SendMsgListener监听到所述事件后,可以调用内置的SendMsg方法,向用户发送存款业务执行完成的短信,已订阅所述事件的监听器SendEMailListener监听到所述事件后,可以调用内置的SendEMail方法,向用户方发送存款业务执行完成的邮件,以便于通过不同的方式向用户发送业务消息。
进一步的,为了更好的说明上述基于事件管理模型的信息发送方法的过程,作为对上述实施例的细化和扩展,本发明实施例提供了几种可选实施例,但不限于此,具体如下所示:
在本发明的一个可选实施例,为了对业务完成信息进行发布,所述方法还包括:获取并解析待执行的目标业务对应的业务标识,得到所述目标业务的信息发送类型标识;分别在预先建立的信息发送算法库中查找与每个信息发送类型标识具有映射关系的信息发送算法;基于每个信息发送算法,分别创建监听所述目标业务完成事件的监听器;利用所述监听器建立事件管理模型。
具体地,可以获取并解析待执行的目标业务对应的业务标识,得到所述目标业务的信息发送类型标识,分别在预先建立的信息发送算法库中查找与每个信息发送类型标识具有映射关系的信息发送算法,基于每个信息发送算法,分别创建监听所述目标业务完成事件的监听器,需要说明的是,本发明实施例通过针对每个信息发送方式,分别建立监听器,从而实现将信息发送逻辑与目标业务逻辑进行解耦,以便于后期再增加新的信息发送方式时,可以快速进行代码维护,减少代码冗余。
对于本发明实施例,所述基于每个信息发送算法,分别创建监听所述目标业务完成事件的监听器,包括:创建一个监听器对象,将所述信息发送算法保存在所述监听器对象的内部存储空间中;将所述业务目标完成事件配置为所述监听器对象的传递参数。
其中,所述监听器是事件对象的监听者,也可以称之为事件对象的接收者。具体地,在创建了对应的事件对象后,还可以创建用于对该事件对象进行监听的监听器对象。监听器接口类可以是Spring框架中的接口类ApplicationListener,创建继承自Spring框架中的接口类ApplicationListener的监听器对象MyEventListener,监听器对象MyEventListener是具体的实现类。当将某个事件对象作为监听器对象的传递参数时,监听器对象就可以监听该事件对象的发布。
具体地,在创建监听器之前,可以定义一个事件对象如MyEvent,所述事件对象可以继承org.springframework.context.ApplicationEvent接口,以便于预设事件可以被spring所识别。在此基础上,可以定义一个监听MyEvent对象的监听器对象如MyEventListener,所述监听器对象可以实现org.springframework.context.ApplicationListener这个类。在定义的监听器类中进行发送信息的业务逻辑处理。
其中,所述事件在spring中可以用于bean与bean之间传递消息。一个bean处理完了希望其余一个接着处理.这时就需要其余的一个bean监听当前bean所发送的事件。目前java开发基本都是基于spring框架的,而spring就是所有bean的管理器,只有继承spring事件的时间,才能被spring管理使用,才能进行事件监听等进一步的处理;Spring框架中提供了ApplicationListener这一接口,该接口提供了onApplicationEvent(Event)的方法,比如定义一个事件A的发送短信监听器ListenerA,必须实现这一接口的onApplicationEvent(Event)方法,在该方法中执行发送短信的操作实现。也就是说通过实现spring框架提供的事件监听的接口,spring内部机制会按照监听事件的监听器实现onApplicationEvent(Event)方法的执行动作来处理;publishEven这个方法也是spring框架提供的一个发布时间的接口方法,执行该方法后,也就意味着事件发布成功,spring会自动获取监听发布事件的所有监听器,然后按照每个监听器中的处理逻辑进行各自的业务处理。
对于本发明实施例,所述分别在预先建立的信息发送算法库中查找与每个信息发送类型标识具有映射关系的信息发送算法之前,所述方法还可以包括:建立信息发送算法库,其中,所述信息发送算法库中保存有所述信息发送算法、所述信息发送类型标识以及所述信息发送算法与所述信息发送类型的映射关系。
具体地,可以建立一个数据库,将通过各种渠道获取的信息发送算法保存至指定的数据结构中,并建立所述信息发送算法与所述信息发送类型标识之间的映射关系,以便于能够实现根据信息发送类型标识快速匹配对应的信息发送算法,从而提高信息发送的效率。
在本发明的另一个可选实施例,所述步骤103具体包括:解析所述业务标识,得到所述目标业务的至少一个信息发送类型标识;根据所述信息发送类型标识,匹配对应的监听器;执行所述监听器中的信息发送算法,向目标地址发送信息。
其中,所述业务标识具体可以用于识别所述目标业务,如存款、取款、支付等。所述信息发送类型标识具体可以用于识别所述目标业务的信息发送方式,如发送短信、发送邮件、发送微信等。具体地,解析所述业务标识,可以得到所述目标业务的信息发送类型标识,所述信息发送类型标识可以为一个或者多个,以便于根据不同的信息发送类型标识,分别查找信息发送算法,并分别建立监听器。执行所述监听器中的信息发送算法,可以向目标地址发送信息,所述目标地址具体可以为信息发送的地址,手机号码、微信号码、邮箱地址等。在实际应用场景中,可以通过spring调用信息发送算法,可以获取所有订阅所述事件的监听器,调用执行其中的方法。所述事件发布的具体架构流程可以包括:
S1:事件发布。具体地,利用ApplicationEventPublisher.publishEvent,使用其publishEvent方法发布任务后,代码进入了org.springframework.context.support.AbstractApplicationContext类的逻辑内。整个事件发布逻辑都在这个类以及其子类中,其最终发布事件的方法可以是publishEvent(Object event,@Nullable ResolvableTypeeventType)。
S2:获取事件发布工具。具体地,可以通过getApplicationEventMulticaster()函数获得容器中的ApplicationEventMulticaster类,主要是Spring用来辅助发布任务的工具类。所述ApplicationEventMulticaster类可以为org.springframework.context.event.AbstractApplicationEventMulticaster包的实现类,主要为了辅助事件进行发布,其内部发布任务主要核心逻辑在multicastEvent中。
S3:发布事件。具体地,可以通过ApplicationEventMulticaster.multicastEvent(applicationEvent,eventType)方法真正进行事件内容的发布。
S4:获取事件监听发布工具。具体地,获取监听器的主要逻辑可以在org.springframework.context.event.AbstractApplicationEventMulticaster包中的getApplicationListeners(event,type)方法。
S5:拼装事件监听缓存key。具体过程可以包括:通过时间类型和事件中的数据源类型,构建一个缓存key,先去缓存中获取有无此key对应的事件处理器。如果存在,则直接返回获得的监听器结果;如果不存在则构建一个新的ListenerRetriever,然后调用retrieveApplicationListeners方法获得监听的listener。
S6:从缓存中取出监听器。具体地,可以利用retrieveApplicationListeners方法从缓存中取出监听器。所述方法主要通过循环Listeners来进行监听匹配。而Listeners的来源主要为两部分:一部分为容器中已经存在的监听器,一部分是监听器bean的字符串标识的名称。applicationListenerBeans主要为了处理那些声明后还是还没有被添加进监听器集合中的bean。S7:执行监听器方法。具体地,使用invokeListener(listener,event)去执行监听器的方法,对于本发明实施例,也就是执行对应的信息发送算法,向用户发送对应的信息。
其中,所述invokeListener算法具体可以用于调用所述监听器中保存的信息发送算法,向用户发送信息。需要说明的是,对于本发明实施例,还可以预先获取用户对应的地址信息,包括手机号码、邮箱地址、微信号码等。例如,业务办理用户填写了手机号码,则可以将手机号码嵌入所述信息发送指令,在通过invokeListener函数调用信息发送算法时,可以将所述手机号码作为信息发送算法的参数,进行定向发送。另外,通过getApplicationListeners算法,可以获取所有已订阅业务完成事件的监听器,具体地,可以将所述监听器对象作为所述getApplicationListeners算法的参数,以便于可以获取监听器。通过获取监听器,从而Spring可以逐个调用监听器中的信息发送算法,实现信息发送过程。
在本发明的再一个可选实施例,所述步骤103具体还可以包括:接收并解析所述目标业务完成事件,得到区块节点标识和密钥;利用所述区块节点标识在所述区块链网络中查找对应的区块节点;根据所述密钥对所述区块节点进行解密,并获取所述目标地址;通过执行所述信息发送算法,向所述目标地址发送信息。
其中,所述区块节点标识可以用于在区块链网络中查找所述区块节点,所述密钥可以用于用户对所述区块节点进行解密,从而得到所述区块节点中的目标地址。具体地,接收并解析所述目标业务完成事件,得到区块节点的标识和密钥,所述密钥具体可以为所述区块节点的公钥,利用所述区块节点标识在所述区块链网络中查找对应的区块节点,并根据所述公钥在所述区块节点中获取所述目标地址,执行所述信息发送算法,向所述目标地址发送信息。从而能够保证目标地址的安全性和私密性,也能够提高信息发送的效率。
在本发明的再一个可选实施例,所述步骤103之前,所述方法还包括:获取所述目标业务的多个目标地址,并分别计算所述目标地址之间的余弦相似度;将所述余弦相似度大于预设阈值的目标地址确定为相同目标地址;将预设时间段内向所述相同目标地址发送的所有信息进行聚合处理,并将所述聚合处理后的信息发送给所述相同目标地址。
其中,所述余弦相似度可以用于计算两个向量之间的相似关系,在实际应用场景中,由于业务量繁多,信息发送量也极其复杂,因此,需要针对同一目标地址的信息进行合并,以减少信息的冗余,提高信息发送的效率,本发明实施例通过计算目标地址的余弦相似度,从而将大于预设阈值的目标地址确定为相同目标地址。将预设时间段内向所述相同目标地址发送的所有信息进行聚合处理,并将所述聚合处理后的信息发送给所述相同目标地址,所述聚合处理为对信息进行拼接,形成一个包含所有待发送信息的文本数据,并将所述文本数据统一进行发送。所述预设时间段可以根据信息发送频率进行设置,如可以设置为3s。本发明实施例通过将相同目标地址的信息进行聚合,从而减少信息发送次数,降低计算压力,提高信息发送的效率。
在本发明的再一个可选实施例,所述方法还包括:根据所述信息发送类型标识,在预先建立的信息发送算法库中匹配对应的信息发送算法,将所述算法保存在对应的监听器中。
其中,本发明实施例可以预先建立信息发送算法库,保存有各种信息发送方式对应的算法,如短信发送方式的算法,邮件发送方式的算法等。对于本发明实施例,可以预先建立所述算法与对应的信息发送标识之间的关系,并将所述算法、所述标识以及所述算法与所述标识的对应关系保存在数据库中,以便于创建监听器时,可以直接匹配对应的算法进行监听器的算法重写。
本发明提供一种基于事件管理模型的信息发送装置,能够通过预先创建的监听器建立事件管理模型;获取目标业务完成事件,其中,所述目标业务完成事件中携带有所述目标业务的业务标识;利用预先建立的事件管理模型以及所述业务标识,匹配并执行对应的信息发送算法,向目标地址发送信息,其中,所述目标地址存储于区块链网络的区块节点中。从而能够预先建立的事件管理模型分别针对不同信息发送类型,执行相应的信息发送算法,并通过区块链技术保存目标地址,从而减少代码维护工作量,提高工作效率。
进一步地,作为图1的具体实现,本发明实施例提供了一种基于事件管理模型的信息发送装置,如图4所示,所述装置包括:建立单元21、接收单元22和发送单元23。
建立单元21,可以用于通过预先创建的监听器建立事件管理模型,其中,所述监听器用于监听指定的目标业务完成事件;
接收单元22,可以用于接收并解析所述目标业务完成事件,得到所述目标业务的业务标识;
发送单元23,可以用于利用所述事件管理模型以及所述业务标识,匹配并执行对应的信息发送算法,向目标地址发送信息,其中,所述目标地址存储于区块链网络的区块节点中。
进一步地,所述装置还包括:
解析单元24,可以用于获取并解析待执行的目标业务对应的业务标识,得到所述目标业务的信息发送类型标识;
查找单元25,可以用于分别在预先建立的信息发送算法库中查找与每个信息发送类型标识具有映射关系的信息发送算法;
创建单元26,可以用于基于每个信息发送算法,分别创建监听所述目标业务完成事件的监听器;
所述建立单元21具体还可以用于利用所述监听器建立事件管理模型。
进一步地,所述发送单元23,包括:
解析模块231,可以用于解析所述业务标识,得到所述目标业务的至少一个信息发送类型标识;
匹配模块232,可以用于根据所述信息发送类型标识,匹配对应的监听器;
执行模块233,可以用于执行所述监听器中的信息发送算法,向目标地址发送信息。
进一步地,所述创建单元26,包括:
创建模块261,可以用于创建一个监听器对象,将所述信息发送算法保存在所述监听器对象的内部存储空间中;
配置模块262,可以用于将所述业务目标完成事件配置为所述监听器对象的传递参数。
进一步地,所述发送单元23,还包括:
所述解析模块231具体还可以用于接收并解析所述目标业务完成事件,得到区块节点标识和密钥;
查找模块234,可以用于利用所述区块节点标识在所述区块链网络中查找对应的区块节点;
获取模块235,可以用于根据所述密钥对所述区块节点进行解密,并获取所述目标地址;
所述执行模块233具体还可以用于通过执行所述信息发送算法,向所述目标地址发送信息。
进一步地,所述建立单元21具体还可以用于建立信息发送算法库,其中,所述信息发送算法库中保存有所述信息发送算法、所述信息发送类型标识以及所述信息发送算法与所述信息发送类型的映射关系。
进一步地,所述装置还包括:
计算单元27,可以用于获取所述目标业务的多个目标地址,并分别计算所述目标地址之间的余弦相似度;
确定单元28,可以用于将所述余弦相似度大于预设阈值的目标地址确定为相同的目标地址;
聚合单元29,可以用于将预设时间段内向所述相同目标地址发送的所有信息进行聚合处理,并将所述聚合处理后的信息发送给所述相同目标地址。
需要说明的是,本发明实施例提供的一种基于事件管理模型的信息发送装置所涉及各功能模块的其他相应描述,可以参考图1所示方法的对应描述,在此不再赘述。
基于上述如图1所示方法,相应的,本发明实施例还提供了一种存储介质,所述存储介质中存储有至少一可执行指令,所述执行指令使处理器执行以下步骤:通过预先建立的监听器建立事件管理模型;获取目标业务完成事件,其中,所述目标业务完成事件中携带有所述目标业务的业务标识;利用预先建立的事件管理模型以及所述业务标识,匹配并执行对应的信息发送算法,向目标地址发送信息,其中,所述目标地址存储于区块链网络的区块节点中。
基于上述如图1所示方法和如图4所示装置的实施例,本发明实施例还提供了一种计算机设备,如图5所示,处理器(processor)31、通信接口(Communications Interface)32、存储器(memory)33、以及通信总线34。其中:处理器31、通信接口32、以及存储器33通过通信总线34完成相互间的通信。通信接口34,用于与其它设备比如用户端或其它服务器等的网元通信。处理器31,用于执行程序,具体可以执行上述基于事件管理模型的信息发送方法实施例中的相关步骤。具体地,程序可以包括程序代码,该程序代码包括计算机操作指令。处理器31可能是中央处理器CPU,或者是特定集成电路ASIC(Application SpecificIntegrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
终端包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。存储器33,用于存放程序。存储器33可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。程序具体可以用于使得处理器31执行以下操作:通过预先建立的监听器建立事件管理模型;获取目标业务完成事件,其中,所述目标业务完成事件中携带有所述目标业务的业务标识;利用预先建立的事件管理模型以及所述业务标识,匹配并执行对应的信息发送算法,向目标地址发送信息,其中,所述目标地址存储于区块链网络的区块节点中。
通过本发明的技术方案,能够通过预先创建的监听器建立事件管理模型;获取目标业务完成事件,其中,所述目标业务完成事件中携带有所述目标业务的业务标识;利用预先建立的事件管理模型以及所述业务标识,匹配并执行对应的信息发送算法,向目标地址发送信息,其中,所述目标地址存储于区块链网络的区块节点中。从而能够预先建立的事件管理模型分别针对不同信息发送类型,执行相应的信息发送算法,并通过区块链技术保存目标地址,从而减少代码维护工作量,提高工作效率。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
Claims (10)
1.一种基于事件管理模型的信息发送方法,其特征在于,包括:
通过预先创建的监听器建立事件管理模型,其中,所述监听器用于监听指定的目标业务完成事件;
接收并解析所述目标业务完成事件,得到所述目标业务的业务标识;
利用所述事件管理模型以及所述业务标识,匹配并执行对应的信息发送算法,向目标地址发送信息,其中,所述目标地址存储于区块链网络的区块节点中。
2.根据权利要求1所述的方法,其特征在于,所述通过预先创建的监听器建立事件管理模型,包括:
获取并解析待执行的目标业务对应的业务标识,得到所述目标业务的信息发送类型标识;
分别在预先建立的信息发送算法库中查找与每个信息发送类型标识具有映射关系的信息发送算法;
基于每个信息发送算法,分别创建监听所述目标业务完成事件的监听器;
利用所述监听器建立事件管理模型。
3.根据权利要求1所述的方法,其特征在于,所述利用所述事件管理模型以及所述业务标识,匹配并执行对应的信息发送算法,向目标地址发送信息,包括:
解析所述业务标识,得到所述目标业务的至少一个信息发送类型标识;
根据所述信息发送类型标识,匹配对应的监听器;
执行所述监听器中的信息发送算法,向目标地址发送信息。
4.根据权利要求2所述的方法,其特征在于,所述基于每个信息发送算法,分别创建监听所述目标业务完成事件的监听器,包括:
创建一个监听器对象,将所述信息发送算法保存在所述监听器对象的内部存储空间中;
将所述业务目标完成事件配置为所述监听器对象的传递参数。
5.根据权利要求1所述的方法,其特征在于,所述向目标地址发送信息,其中,所述目标地址存储于区块链网络的区块节点中,包括:
接收并解析所述目标业务完成事件,得到区块节点标识和密钥;
利用所述区块节点标识在所述区块链网络中查找对应的区块节点;
根据所述密钥对所述区块节点进行解密,并获取所述目标地址;
通过执行所述信息发送算法,向所述目标地址发送信息。
6.根据权利要求2所述的方法,其特征在于,所述分别在预先建立的信息发送算法库中查找与每个信息发送类型标识具有映射关系的信息发送算法之前,所述方法还包括:
建立信息发送算法库,其中,所述信息发送算法库中保存有所述信息发送算法、所述信息发送类型标识以及所述信息发送算法与所述信息发送类型的映射关系。
7.根据权利要求1所述的方法,其特征在于,所述利用所述事件管理模型以及所述业务标识,匹配并执行对应的信息发送算法,向目标地址发送信息之前,所述方法还包括:
获取所述目标业务的多个目标地址,并分别计算所述目标地址之间的余弦相似度;
将所述余弦相似度大于预设阈值的目标地址确定为相同目标地址;
将预设时间段内向所述相同目标地址发送的所有信息进行聚合处理,并将所述聚合处理后的信息发送给所述相同目标地址。
8.一种基于事件管理模型的信息发送装置,其特征在于,包括:
建立单元,用于通过预先创建的监听器建立事件管理模型,其中,所述监听器用于监听指定的目标业务完成事件;
接收单元,用于接收并解析所述目标业务完成事件,得到所述目标业务的业务标识;
发送单元,用于利用所述事件管理模型以及所述业务标识,匹配并执行对应的信息发送算法,向目标地址发送信息,其中,所述目标地址存储于区块链网络的区块节点中。
9.一种存储介质,其上存储有计算机程序,所述存储介质中存储有至少一可执行指令,所述执行指令使处理器执行如权利要求1-7中任一项所述的基于事件管理模型的信息发送方法对应的操作。
10.一种计算机设备,包括处理器、存储器、通信接口和通信总线所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信,所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-7中任一项所述的基于事件管理模型的信息发送方法对应的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010578313.0A CN111756836B (zh) | 2020-06-23 | 2020-06-23 | 一种基于事件管理模型的信息发送方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010578313.0A CN111756836B (zh) | 2020-06-23 | 2020-06-23 | 一种基于事件管理模型的信息发送方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111756836A true CN111756836A (zh) | 2020-10-09 |
CN111756836B CN111756836B (zh) | 2022-09-23 |
Family
ID=72676532
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010578313.0A Active CN111756836B (zh) | 2020-06-23 | 2020-06-23 | 一种基于事件管理模型的信息发送方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111756836B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117314344A (zh) * | 2023-09-26 | 2023-12-29 | 选房宝(珠海横琴)数字科技有限公司 | 一种多渠道客户判定的管理方法、装置及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014006641A (ja) * | 2012-06-22 | 2014-01-16 | Nippon Telegr & Teleph Corp <Ntt> | イベント通知方法、プログラム、および装置 |
CN104636437A (zh) * | 2014-12-31 | 2015-05-20 | 华为技术有限公司 | 一种事件通知方法、监听器的处理方法及装置 |
CN105809299A (zh) * | 2014-12-27 | 2016-07-27 | 华为技术有限公司 | 业务流程管理的通知服务处理的方法及业务流程管理引擎 |
CN106685799A (zh) * | 2016-12-16 | 2017-05-17 | 上海高顿教育培训有限公司 | 基于CoreSeek的多平台微信服务的通知发送方法 |
CN106714123A (zh) * | 2016-12-08 | 2017-05-24 | 深圳市金立通信设备有限公司 | 一种消息发送的方法和通信设备 |
CN109118217A (zh) * | 2017-06-22 | 2019-01-01 | 万事达卡国际公司 | 使用区块链给消费者登记加索引的方法和系统 |
CN110838971A (zh) * | 2019-11-07 | 2020-02-25 | 北京奇艺世纪科技有限公司 | 消息发送方法、装置、电子设备及存储介质 |
-
2020
- 2020-06-23 CN CN202010578313.0A patent/CN111756836B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014006641A (ja) * | 2012-06-22 | 2014-01-16 | Nippon Telegr & Teleph Corp <Ntt> | イベント通知方法、プログラム、および装置 |
CN105809299A (zh) * | 2014-12-27 | 2016-07-27 | 华为技术有限公司 | 业务流程管理的通知服务处理的方法及业务流程管理引擎 |
CN104636437A (zh) * | 2014-12-31 | 2015-05-20 | 华为技术有限公司 | 一种事件通知方法、监听器的处理方法及装置 |
CN106714123A (zh) * | 2016-12-08 | 2017-05-24 | 深圳市金立通信设备有限公司 | 一种消息发送的方法和通信设备 |
CN106685799A (zh) * | 2016-12-16 | 2017-05-17 | 上海高顿教育培训有限公司 | 基于CoreSeek的多平台微信服务的通知发送方法 |
CN109118217A (zh) * | 2017-06-22 | 2019-01-01 | 万事达卡国际公司 | 使用区块链给消费者登记加索引的方法和系统 |
CN110838971A (zh) * | 2019-11-07 | 2020-02-25 | 北京奇艺世纪科技有限公司 | 消息发送方法、装置、电子设备及存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117314344A (zh) * | 2023-09-26 | 2023-12-29 | 选房宝(珠海横琴)数字科技有限公司 | 一种多渠道客户判定的管理方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111756836B (zh) | 2022-09-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8195757B2 (en) | Method, apparatus and computer program for controlling retention of publications | |
US20170318076A1 (en) | Naming of distributed business transactions | |
Yongguo et al. | Message-oriented middleware: A review | |
CN107133231B (zh) | 一种数据获取方法和装置 | |
US20240205077A1 (en) | Using generic key-value pairs to configure ran component attributes in a ran system | |
CN111447102A (zh) | Sdn网络设备访问方法、装置、计算机设备及存储介质 | |
CN111478968A (zh) | 一种数据处理方法和相关装置 | |
CN113918357A (zh) | 业务处理方法及装置、存储介质、电子设备 | |
CN114090366A (zh) | 一种监控数据的方法、装置和系统 | |
CN111061685A (zh) | 日志查询方法、装置、节点设备及存储介质 | |
CN111064626A (zh) | 配置更新方法、装置、服务器及可读存储介质 | |
CN111756836B (zh) | 一种基于事件管理模型的信息发送方法及装置 | |
CN112181678A (zh) | 业务数据的处理方法、装置和系统、存储介质、电子装置 | |
CN113626869B (zh) | 数据处理方法、系统、电子设备以及存储介质 | |
US8090873B1 (en) | Methods and systems for high throughput information refinement | |
US8516094B2 (en) | Method and network management apparatus for implementing information service level inheritance in network management system | |
CN117176802B (zh) | 一种业务请求的全链路监控方法、装置、电子设备及介质 | |
CN114125015A (zh) | 一种数据采集方法及系统 | |
US9904724B1 (en) | Method and apparatus for message based security audit logging | |
CN112235367B (zh) | 一种实体行为关系消息订阅方法、系统、终端及存储介质 | |
CN113343315B (zh) | 可插拔组件协议信息的安全验证方法、装置、设备及介质 | |
WO2018200167A1 (en) | Managing asynchronous analytics operation based on communication exchange | |
CN115883639A (zh) | 一种web实时消息推送方法及装置、设备、存储介质 | |
CN115361264B (zh) | 节点管理方法、装置、节点、系统及存储介质 | |
CN116662016B (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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220524 Address after: 518000 China Aviation Center 2901, No. 1018, Huafu Road, Huahang community, Huaqiang North Street, Futian District, Shenzhen, Guangdong Province Applicant after: Shenzhen Ping An medical and Health Technology Service Co.,Ltd. Address before: Room 12G, Area H, 666 Beijing East Road, Huangpu District, Shanghai 200001 Applicant before: PING AN MEDICAL AND HEALTHCARE MANAGEMENT Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |