本公开涉及计算机技术领域,更具体地,涉及一种消息处理方法及装置、一种电子设备和一种计算机存储介质。
背景技术:
相关技术中,abs系统(asset-backedsecuritization,资产证券化系统)处理的资产数据(资产消息)为前一日(d-1)资产方业务系统产生的数据。具体来说,abs系统对前一日的离线资产数据进行资产的循环购买和还款、退款等处理,即采用离线模式对海量资产数据进行加工和处理,以批量处理模式更新资产数据,同时针对离线资产数据的统计信息进行还款和循环购买的操作,完成abs系统的证券发行和存续期的管理工作。
在实现本公开构思的过程中,发明人发现相关技术中至少存在如下问题:abs系统集中批量处理离线资产数据会造成abs系统数据处理设备负载不均衡,导致处理资源的浪费。此外,abs系统延迟一日处理资产循环购买等操作,会导致偿还资金滞留在投资人托管账户中,偿还资金无法从投资人托管账户中及时汇入受托人账户中进行循环购买,会降低资金利用率。
技术实现要素:
有鉴于此,本公开提供了一种消息处理方法和装置,从而提高资金利用率并使abs系统负载均衡。
本公开实施例的一个方面提供了一种消息处理方法,包括:通过消息接入模块获取资产系统的资产消息,其中,上述资产消息是根据上述资产系统中资产和/或资产属性的实时变化情况产生的;根据获取的上述资产消息,查询对应的消息分发策略;以及根据查询到的消息分发策略,将上述资产消息分发至多个消息处理模块中的对应消息处理模块,其中,多个消息处理模块分别用于处理彼此不同类型的资产消息。
根据本公开的实施例,消息处理方法还包括:采集上述资产系统产生的关于上述资产和/或上述资产属性发生变化的日志文件;解析上述日志文件,以生成上述资产消息;以及将生成的上述资产消息传输至上述消息接入模块。
根据本公开的实施例,消息处理方法还包括:通过以下方式之一将上述资产消息传输至上述消息接入模块:消息队列;以及接入网关和消息队列。
根据本公开的实施例,上述根据获取的上述资产消息,查询对应的消息分发策略,包括:提取上述资产消息中的标识信息;以及从预设配置表中查询与上述标识信息对应的消息分发策略。
根据本公开的实施例,上述根据查询到的消息分发策略,将上述资产消息分发至多个消息处理模块中的对应消息处理模块,包括以下之一:响应于上述资产消息是关于资产数据的消息,将上述资产消息分发至同步处理模块;响应于上述资产消息是关于资产属性的消息,将上述资产消息分发至异步处理模块;以及响应于上述资产消息包括关于资产数据的消息和关于资产属性的消息,将上述资产消息中关于资产数据的消息分发至同步处理模块,并将上述资产消息中关于资产属性的消息分发至异步处理模块。
根据本公开的实施例,消息处理方法还包括:将上述同步处理模块处理消息得到的数据存储至第一数据库;以及将上述异步处理模块处理消息得到的数据存储至与上述第一数据库分离设置的第二数据库。
根据本公开的实施例,消息处理方法还包括:利用消息队列将上述第二数据库中的数据同步至上述第一数据库中。
本公开实施例的另一个方面提供了一种消息处理装置,包括:获取模块,用于通过消息接入模块获取资产系统的资产消息,其中,上述资产消息是根据上述资产系统中资产和/或资产属性的实时变化情况产生的;查询模块,用于根据获取的上述资产消息,查询对应的消息分发策略;以及分发模块,用于根据查询到的消息分发策略,将上述资产消息分发至多个消息处理模块中的对应消息处理模块,其中,多个消息处理模块分别用于处理彼此不同类型的资产消息。
本公开实施例的另一方面提供了一种电子设备,包括:一个或多个处理器;以及存储装置,用于存储可执行指令,上述可执行指令在被上述处理器执行时,实现本公开实施例的方法。
本公开实施例的另一方面提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时实现本公开实施例的方法。
根据本公开的实施例,abs系统从资产系统实时采集并处理资产消息,可以至少部分地克服相关技术中资金利用率不高、消息处理模块负载不均衡的技术问题,并因此可以通过实时从资产系统获取资产消息并实时处理,实现提高资金利用率的技术效果,并通过实时处理消息接入模块中的资产消息,实现消息处理模块负载均衡的技术效果。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本公开实施例的可以应用消息处理方法的系统架构;
图2示意性示出了根据本公开实施例的消息处理方法的流程图;
图3示意性示出了根据本公开实施例的消息接入模块从资产系统获取资产消息的流程图;
图4示意性示出了根据本公开实施例的查询消息分发策略的流程图;
图5示意性示出了根据本公开另一实施例的消息处理方法的流程图;
图6示意性示出了根据本公开实施例的消息处理装置的框图;以及
图7示意性示出了根据本公开实施例的适于实现消息处理方法的电子设备的框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“使、b和c等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有a、b和c中至少一个的系统”应包括但不限于单独具有a、单独具有b、单独具有c、具有a和b、具有a和c、具有b和c、和/或具有a、b、c的系统等)。在使用类似于“a、b或c等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有a、b或c中至少一个的系统”应包括但不限于单独具有a、单独具有b、单独具有c、具有a和b、具有a和c、具有b和c、和/或具有a、b、c的系统等)。本领域技术人员还应理解,实质上任意表示两个或更多可选项目的转折连词和/或短语,无论是在说明书、权利要求书还是附图中,都应被理解为给出了包括这些项目之一、这些项目任一方、或两个项目的可能性。例如,短语“a或b”应当被理解为包括“a”或“b”或“a和b”的可能性。
术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。
本公开的实施例提供了一种消息处理方法及装置。该方法包括:通过消息接入模块获取资产系统的资产消息,其中,资产消息是根据资产系统中资产和/或资产属性的实时变化情况产生的。根据获取的资产消息,查询对应的消息分发策略。根据查询到的消息分发策略,将资产消息分发至多个消息处理模块中的对应消息处理模块,其中,多个消息处理模块分别用于处理彼此不同类型的资产消息。
图1示意性示出了根据本公开实施例的可以应用数据处理方法的系统架构100。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,根据该实施例的系统架构100可以包括多个资产系统101、接入网关102、消息接入模块103、解析模块104、多个同步处理模块105、多个异步处理模块106、第一数据库107和第二数据库108。其中,接入网关102、消息接入模块103、解析模块104、多个同步处理模块105、多个异步处理模块106、第一数据库107和第二数据库108等可以组成abs系统。
本公开的实施例中,消息接入模块103可以包括消息接入集群,例如,kafka消息集群等。消息接入模块103可以通过消息队列、接入网关102与消息队列、数据库日志三种方式中的至少一种方式从多个资产系统101获取资产消息。其中,如果消息接入模块103采用消息队列(mq,messagequeue)的方式,或者采用接入网关102与消息队列的方式,可以直接从资产系统101获取资产消息。当消息接入模块103采用接入网关102与消息队列的方式从资产系统101获取资产消息时,接入网关102可以通过实时交互接口与资产系统101连接,例如,实时交互接口可以是http/https接口组件。如果采用数据库日志方式,则从资产系统101获取日志文件,通常还需要解析模块104(例如,flume模块)解析从资产系统101采集的数据库日志,进而获得资产消息。多个同步处理模块105处理后的数据存储到第一数据库107中,多个异步处理模块106处理后的数据存储到第二数据库108。第二数据库108将其内的数据同步至第一数据库107中,方便客户查询。
本公开实施例中所记载的资产系统101可以是提供资产服务的各种服务器,可以包括资产方的业务系统、原始权益方的业务系统、贷款方的业务系统等。本公开实施例中所记载的资产消息可以包括资产数据变化信息和资产属性变化信息。其中,资产数据变化信息可以包括资产数据更新信息、资产数据新增信息等;资产属性变化信息可以包括资产数据结算信息、资产数据统计信息、资产数据置换信息等。
本公开的实施例中,同步处理模块105和异步处理模块106可以是各种电子设备,包括但不限于各种计算机、计算机集群、服务器及服务器集群等等。
具体地,同步处理模块105可以包括资产更新设备、资产还款设备和资产退款设备等。异步处理模块106可以包括结算服务设备、过滤服务设备、解标服务设备、监控服务设备、置换服务设备、统计服务设备、量化服务设备、拆分冲销和分布式锁等。
本公开的实施例中,第一数据库107可以包括hbase数据库。第二数据库108可以包括mysql数据库。
需要说明的是,本公开实施例所提供的数据处理方法一般可以由abs系统执行。相应地,本公开实施例所提供的数据处理装置一般可以设置于abs系统中。
应该理解,多个资产系统101、多个同步处理模块105、多个异步处理模块106的数目仅仅是示意性的。根据实现需要,可以具有任意数目的资产系统101、同步处理模块105和异步处理模块106。
在实现本公开实施例的过程中,发明人发现在相关技术中,abs系统在批量处理资产系统前一日产生的资产消息期间,会造成消息处理模块负荷过重,而在非批量处理资产消息期间,消息处理模块又会出现无资产消息处理的尴尬情况,abs系统负荷不均衡。同时abs系统延迟一日处理资产消息,会造成资产循环购买环节中借款人偿还的资金滞留在投资人的托管账户中,而无法从投资人托管账户中及时汇入受托人账户中进行资产(证券)循环购买,从而降低了资金利用率。而且,相关技术中,abs系统为了从资产系统批量获取资产数据,其与资产系统高度耦合,导致运行状态容易受资产系统故障及更新的影响。
以下将参考附图并结合具体实施例详细阐述本公开。
图2示意性示出了根据本公开实施例的消息处理方法的流程图。
在本公开实施例中,消息接入模块从资产系统实时获取资产消息,并获取资产消息对应的消息分发策略,再根据消息分发策略将获取的资产消息分发至不同的消息处理模块中。
具体地,作为一种可选的实施例,如图2所示,该消息处理方法例如可以包括以下操作s201~s203。
在操作s201,通过消息接入模块获取资产系统的资产消息,其中,资产消息是根据资产系统中资产和/或资产属性的实时变化情况产生的。
在本公开的实施例中,可以采用消息队列的方式,接入网关与消息队列的方式,以及数据库日志的方式中的至少一种从资产系统中获取的资产消息,并将获取的资产消息传送到消息接入模块中,消息接入模块可以为abs系统的组成部分。
接下来,在操作s202,根据获取的资产消息,查询对应的消息分发策略。
在本公开的实施例中,可以在资产消息中设置一标识字段,即资产消息中包含有标识信息,该标识字段用于表征该资产消息的产生原因。例如,资产本身变化产生的资产消息与资产的属性变化产生的资产消息属于不同类型的消息,通过标识字段可以对不同类型的消息进行区分。
然后,在操作s203,根据查询到的消息分发策略,将资产消息分发至多个消息处理模块中的对应消息处理模块,其中,多个消息处理模块分别用于处理彼此不同类型的资产消息。
在本公开的实施例中,消息分发策略的具体参数可以由用户预先设置,消息分发策略具体规定不同类型的消息由相应的消息处理模块处理。
通过本公开实施例,消息处理模块可以实时或者及时处理资产系统产生的资产消息,实现消息处理模块的负载均衡,避免数据处理资源的浪费。消息处理模块实时处理资产消息,有利于提升资金利用率。
下面参考图3,结合具体实施例对图2所示的方法做进一步说明。
图3示意性示出了根据本公开实施例的消息接入模块从资产系统获取资产消息的流程图。
在本公开实施例中,利用日志文件采集组件实时采集关于资产系统数据库中资产和/或资产属性发生变化的日志文件,并利用日志文件解析组件实时解析所采集的日志文件,获得资产消息,然后将资产消息传输至消息接入模块。
具体地,作为一种可选的实施例,如图3所示,在操作s201之前,消息处理方法还可以包括以下操作s301~s303。
在操作s301,实时采集资产系统产生的关于资产和/或资产属性发生变化的日志文件。
本公开的实施例中,资产系统数据库可以包括mysql等主流数据库。资产系统中的资产本身和/或资产的属性发生变化时,相应的日志文件会同步更新。
接下来,在操作s302,实时解析日志文件,以生成资产消息。
本公开的实施例中,解析日志文件可以得到关于资产本身和/或资产的属性发生实时变化的相关资产消息。
本公开的实施例中,可以采用开源采集解析框架(例如,flume框架)解析日志文件。
然后,在操作s303,将生成的资产消息传输至消息接入模块。
本公开的实施例中,消息接入模块可以包括消息接入集群,例如,kafka消息集群。
通过本公开实施例,实时采集并分析资产系统的日志文件即可得到有关资产和/或资产属性发生变化的资产消息。通过主动采集日志文件获取资产消息,资产系统不需要与abs系统进行信息交互,使得abs系统与资产系统解耦合,abs系统不易受资产系统故障及更新的影响。此外,从资产系统采集日志文件时不会影响到资产系统正常运行。同时,通过实时采集并分析日志文件得到实时的资产消息,并对资产消息实时处理,有利于提升资金利用率。
本公开实施例中,在操作s201之前,消息处理方法还可以包括通过以下方式之一将资产消息传输至消息接入模块:消息队列;以及接入网关和消息队列。
在本公开实施例中,例如消息接入模块可以通过以下三种方式中的至少一种主动从资产系统实时采集资产消息:1)通过消息队列主动从资产系统采集资产消息。2)通过接入网关和消息队列主动从资产系统采集资产消息,其中接入网关与资产系统的实时数据接口连接,接入网关将从资产系统采集的资产消息,通过消息队列方式传送至消息接入模块。3)利用日志文件采集组件从资产系统采集日志文件,再利用开源采集解析框架解析日志文件,得到资产消息,然后将得到的资产消息传送至消息接入模块。
通过本公开实施例,可以通过多种方式主动从资产系统实时采集有关资产和/或资产属性发生变化的资产消息,资产系统不需要与abs系统进行信息交互,实现了abs系统与资产系统解耦合,因而不会影响到资产系统正常运行,并且abs系统不易受资产系统故障及更新的影响。此外,通过实时采集并处理资产消息,有利于提升资金利用率。
图4示意性示出了根据本公开实施例的查询消息分发策略的流程图。
在本公开实施例中,消息接入模块可以根据资产消息的具体类型将资产消息分发至同步处理模块和/或异步处理模块。
具体地,作为一种可选的实施例,如图4所示,图2中的操作s202根据获取的资产消息,查询对应的消息分发策略,可以进一步包括以下操作s421~s422。
在操作s421,提取资产消息中的标识信息。
接下来,在操作s422,从预设配置表中查询与标识信息对应的消息分发策略。
本公开的实施例中,可以在预设配置表中规定各标识信息标识的资产消息具体是由哪个或哪几个消息处理模块负责处理的。
通过本公开实施例,可以将资产消息分发到对应的消息处理模块,从而能够及时处理,因此有利于提升资金利用率,并保证消息处理模块负载均衡。
作为一种可选的实施例,根据查询到的消息分发策略,将资产消息分发至多个消息处理模块中的对应消息处理模块,可以通过以下操作之一实现:响应于资产消息是关于资产数据的消息,将资产消息分发至同步处理模块;响应于资产消息是关于资产属性的消息,将资产消息分发至异步处理模块;响应于资产消息包括关于资产数据的消息和关于资产属性的消息,将资产消息中关于资产数据的消息分发至同步处理模块,并将资产消息中关于资产属性的消息分发至异步处理模块。
本公开的实施例中,多个消息处理模块至少包括一个同步处理模块和异步处理模块。同步处理模块实时处理资产消息,异步处理模块及时处理资产消息。
本公开的实施例中,有关资产变化的资产消息交由同步处理模块进行实时处理,有关资产属性变化的资产消息交由异步处理模块进行及时处理,同时关于资产变化和资产属性变化的资产消息,可以将其中有关资产变化的资产消息交由同步处理模块进行实时处理,并将其中有关资产属性变化的资产消息交由异步处理模块进行及时处理。
本公开的实施例中,可以附加设置异步消息模块。异步消息模块与消息接入模块连接,异步消息模块用于缓存有关资产属性变化的资产消息,便于异步处理模块分布式处理这些资产消息。
本公开的实施例中,同步处理模块可以包括同步服务器、同步服务器集群、同步处理器、同步处理器集群等。异步处理模块可以包括异步服务器、异步服务器集群、异步处理器、异步处理器集群等。同步处理模块实时处理资产消息,异步处理模块及时处理资产消息。应该理解,同步处理模块实时处理资产消息时,没有延时,即同步处理模块接收到资产消息后立即处理;异步处理模块处理资产消息时,可能会略有延迟,但延迟是有限的,例如,异步处理模块可能会延迟几秒来处理资产消息。
下面参考图5,结合具体实施例对图2所示的方法做进一步说明。
图5示意性示出了根据本公开另一实施例的消息处理方法的流程图。
在本公开实施例中,可以将同步处理模块处理资产消息得到的数据和异步处理模块处理资产消息得到的数据存储到不同的数据库中。
具体地,作为一种可选的实施例,如图5所示,在操作s203之后,消息处理方法还可以包括以下操作s501~s503。
在操作s501,将同步处理模块处理消息得到的数据存储至第一数据库。
本公开的实施例中,第一数据库可以包括一个数据或者多个数据库。第一数据库例如可以是一个hbase数据库。
接下来,在操作s502,将异步处理模块处理消息得到的数据存储至与第一数据库分离设置的第二数据库。
本公开的实施例中,第二数据库也可以包括一个数据库和多个数据库。第二数据库例如可以是一个mysql数据库。第二数据库可以在物理上与第一数据库相分离。
然后,在操作s503,利用消息队列将第二数据库中的数据同步至第一数据库中。
本公开的实施例中,将第二数据库中的数据同步至第一数据库中,可以保证处理数据的最终一致性。与第二数据库相比,第一数据库具有更大的存储空间,方便用户查询数据。因此将第二数据库中的数据同步到第一数据库中可以方便用户查询。第二数据库可以对同类数据进行集中操作,利于对资产属性进行集中变更。充分利用第一数据库与第二数据库的各自优势,满足用户的特定需求,提高用户体验度。
本公开的实施例中,为了便于用户查询数据,可以另外设置一个与第一数据库连接的缓存服务器,将用户经常查询且不发生变化的数据缓存到缓存服务器中,从而便于用户快速得到查询结果,提高用户体验度。
图6示意性示出了根据本公开实施例的消息处理装置的框图。
如图6所示的装置可以用于实现上述实施例中描述的方法。该消息处理装置600可以包括获取模块610、查询模块620和分发模块630。
具体地,获取模块610用于通过消息接入模块获取资产系统的资产消息,其中,资产消息是根据资产系统中资产和/或资产属性的实时变化情况产生的。
查询模块620用于根据获取的资产消息,查询对应的消息分发策略。
分发模块630用于根据查询到的消息分发策略,将资产消息分发至多个消息处理模块中的对应消息处理模块,其中,多个消息处理模块分别用于处理彼此不同类型的资产消息。
根据本公开的实施例的模块中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、片上系统、基板上的系统、封装上的系统、专用集成电路(asic),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,获取模块610、查询模块620和分发模块630中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,获取模块610、查询模块620和分发模块630中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、片上系统、基板上的系统、封装上的系统、专用集成电路(asic),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,获取模块610、查询模块620和分发模块630中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图7示意性示出了根据本公开实施例的适于实现消息处理方法的电子设备的框图。图7示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图7所示,根据本公开实施例的电子设备700包括处理器701,其可以根据存储在只读存储器(rom)702中的程序或者从存储部分708加载到随机访问存储器(ram)703中的程序而执行各种适当的动作和处理。处理器701例如可以包括通用微处理器(例如cpu)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(asic)),等等。处理器701还可以包括用于缓存用途的板载存储器。处理器701可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在ram703中,存储有电子设备700操作所需的各种程序和数据。处理器701、rom702以及ram703通过总线704彼此相连。处理器701通过执行rom702和/或ram703中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,程序也可以存储在除rom702和ram703以外的一个或多个存储器中。处理器701也可以通过执行存储在一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,电子设备700还可以包括输入/输出(i/o)接口705,输入/输出(i/o)接口705也连接至总线704。电子设备700还可以包括连接至i/o接口705的以下部件中的一项或多项:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至i/o接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。在该计算机程序被处理器701执行时,执行本公开实施例的电子设备中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的rom702和/或ram703和/或rom702和ram703以外的一个或多个存储器。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。
技术特征:
1.一种消息处理方法,包括:
通过消息接入模块获取资产系统的资产消息,其中,所述资产消息是根据所述资产系统中资产和/或资产属性的变化情况产生的;
根据获取的所述资产消息,查询对应的消息分发策略;以及
根据查询到的消息分发策略,将所述资产消息分发至多个消息处理模块中的对应消息处理模块,其中,多个消息处理模块分别用于处理彼此不同类型的资产消息。
2.根据权利要求1所述的方法,其中,所述方法还包括:
采集所述资产系统产生的关于所述资产和/或所述资产属性发生变化的日志文件;
解析所述日志文件,以生成所述资产消息;以及
将生成的所述资产消息传输至所述消息接入模块。
3.根据权利要求1所述的方法,其中,所述方法还包括:通过以下方式之一将所述资产消息传输至所述消息接入模块:
消息队列;以及
接入网关和消息队列。
4.根据权利要求1所述的方法,其中,所述根据获取的所述资产消息,查询对应的消息分发策略,包括:
提取所述资产消息中的标识信息;以及
从预设配置表中查询与所述标识信息对应的消息分发策略。
5.根据权利要求1所述的方法,其中,所述根据查询到的消息分发策略,将所述资产消息分发至多个消息处理模块中的对应消息处理模块,包括以下之一:
响应于所述资产消息是关于资产数据的消息,将所述资产消息分发至同步处理模块;
响应于所述资产消息是关于资产属性的消息,将所述资产消息分发至异步处理模块;以及
响应于所述资产消息包括关于资产数据的消息和关于资产属性的消息,将所述资产消息中关于资产数据的消息分发至同步处理模块,并将所述资产消息中关于资产属性的消息分发至异步处理模块。
6.根据权利要求5所述的方法,其中,所述方法还包括:
将所述同步处理模块处理消息得到的数据存储至第一数据库;以及
将所述异步处理模块处理消息得到的数据存储至与所述第一数据库分离设置的第二数据库。
7.根据权利要求6所述的方法,其中,所述方法还包括:
利用消息队列将所述第二数据库中的数据同步至所述第一数据库中。
8.一种消息处理装置,包括:
获取模块,用于通过消息接入模块获取资产系统的资产消息,其中,所述资产消息是根据所述资产系统中资产和/或资产属性的实时变化情况产生的;
查询模块,用于根据获取的所述资产消息,查询对应的消息分发策略;以及
分发模块,用于根据查询到的消息分发策略,将所述资产消息分发至多个消息处理模块中的对应消息处理模块,其中,多个消息处理模块分别用于处理彼此不同类型的资产消息。
9.一种电子设备,包括:
一个或多个处理器;以及
存储装置,用于存储可执行指令,所述可执行指令在被所述处理器执行时,实现根据权利要求1~7中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时实现根据权利要求1~7中任一项所述的方法。
技术总结
本公开的实施例提供了一种消息处理方法,包括:通过消息接入模块获取资产系统的资产消息,其中,资产消息是根据资产系统中资产和/或资产属性的实时变化情况产生的;根据获取的资产消息,查询对应的消息分发策略;以及根据查询到的消息分发策略,将资产消息分发至多个消息处理模块中的对应消息处理模块,其中,多个消息处理模块分别用于处理彼此不同类型的资产消息。本公开实施例还提供了一种消息处理装置、一种电子设备、一种计算机可读存储介质。
技术研发人员:李启坤
受保护的技术使用者:京东数字科技控股有限公司
技术研发日:.11.07
技术公布日:.02.28
如果觉得《消息处理方法及装置 电子设备 计算机可读存储介质与流程》对你有帮助,请点赞、收藏,并留下你的观点哦!