CN111162988B - 消息分发方法与系统 - Google Patents

消息分发方法与系统 Download PDF

Info

Publication number
CN111162988B
CN111162988B CN201911210506.4A CN201911210506A CN111162988B CN 111162988 B CN111162988 B CN 111162988B CN 201911210506 A CN201911210506 A CN 201911210506A CN 111162988 B CN111162988 B CN 111162988B
Authority
CN
China
Prior art keywords
user
target
identification
matrix
binding array
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
Application number
CN201911210506.4A
Other languages
English (en)
Other versions
CN111162988A (zh
Inventor
尚璟轩
胡培铭
袁旭嵩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An Asset Management Co Ltd
Original Assignee
Ping An Asset Management Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ping An Asset Management Co Ltd filed Critical Ping An Asset Management Co Ltd
Priority to CN201911210506.4A priority Critical patent/CN111162988B/zh
Publication of CN111162988A publication Critical patent/CN111162988A/zh
Application granted granted Critical
Publication of CN111162988B publication Critical patent/CN111162988B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/214Monitoring or handling of messages using selective forwarding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种消息分发方法,包括:监测待分发目标对应的消息内容是否发生变化;若发生变化,则根据所述待分发目标的标识信息以及预先建立的绑定数组,查询所述待分发目标对应的目标用户的目标用户标识,所述绑定数组包括所述待分发目标与所述目标用户的关联关系;将所述消息内容发送给所述目标用户。本发明还公开了一种消息分发系统。本发明的有益效果在于:通过待分发目标的标识信息以及预先建立的绑定数组,可以快速查询得到待分发目标对应的目标用户,在后续的消息分发中,可以快速的进行消息内容的分发,减少了计算机的负载。

Description

消息分发方法与系统
技术领域
本发明实施例涉及通信领域,尤其涉及一种消息分发方法与系统。
背景技术
消息分发在具有订阅功能的场景下广泛应用,例如股票、新闻等。当用户订阅的股票出现行情波动或者订阅的行业出现新的新闻,需要将消息分发到对应用户。该功能主要有两方面的实现点:更改订阅信息与分发订阅信息。
目前消息分发的缓存的方案通常是以key-value的形式为主,数据结构是Map的形式。但是,该种数据缓存只能进行一个维度的查找,即通过key值找到value,若出现多维数据,则不能快速地对其他维度的数据进行查找或者修改。
现有技术中,为了解决上述问题,需要建立多个Map,Map的key就是各个维度的值。当对这样一种数据结构进行修改时,需要修改所有的Map。如果修改的值正好是某个Map的key时,需要遍历这个Map的原始Key,对其value进行修改,或删除key或新增key。该方法不能通过一个原子性的操作可以完成的,必定是通过一系列操作联合起来才能完成的,这就需要同步锁。但是当并发很多消息的时候,全局锁的冲突会比较严重,非常影响系统的性能,导致效率下降。
为了解决上述全局锁的冲突的问题,现有一种方法是通过分布式Map将数据分布到多个节点,这样就细化了全局锁的粒度,分散了全局锁的冲突,从而减少了同步锁带来的系统的性能问题,但是这样会导致系统变得非常复杂。因此,目前亟需一种既可以实现性能优化又可以简化系统的方案。
发明内容
有鉴于此,本发明实施例的目的是提供一种消息分发方法与系统,可以快速的通过绑定数组进行消息内容的分发,能够实现性能优化又可以简化系统。
为实现上述目的,本发明实施例提供了一种消息分发方法,包括:
监测待分发目标对应的消息内容是否发生变化;
若发生变化,则根据所述待分发目标的标识信息以及预先建立的绑定数组,查询所述待分发目标对应的目标用户的目标用户标识,所述绑定数组包括所述待分发目标与所述目标用户的关联关系;
将所述消息内容发送给所述目标用户。
进一步地,所述消息分发方法还包括:
获取用户数据,所述用户数据包括多个用户的用户标识以及各个用户相关联的分发目标的标识信息;
建立各个用户的用户标识与编码矩阵的矩阵行编号的第一映射关系;
建立各个分发目标的标识信息与所述编码矩阵的矩阵列编号的第二映射关系;
根据所述各个用户相关联的分发目标的标识信息与所述矩阵列编号创建所述各个用户对应的第一绑定数组;
根据所述各个分发目标相关联的用户的用户标识与所述矩阵行编号创建所述各个分发目标对应的第二绑定数组,其中,所述绑定数组包括所述第一绑定数组以及所述第二绑定数组。
进一步地,根据所述各个用户相关联的分发目标的标识信息与所述矩阵列编号创建所述各个用户对应的第一绑定数组包括:
在创建每个用户对应的第一绑定数组时,将所述每个用户相关联的分发目标的标识信息与所述矩阵列编号对应的标识信息进行比较;
若所述每个用户相关联的分发目标的标识信息中存在与所述矩阵列编号对应的标识信息,则采用第一标识对所述矩阵列编号对应的标识信息进行标记;
若所述每个用户相关联的分发目标的标识信息中不存在与所述矩阵列编号对应的标识信息,则采用第二标识对所述矩阵列编号对应的标识信息进行标记;
基于所述矩阵列编号对应的所述第一标识以及所述第二标识创建所述每个用户对应的第一绑定数组。
进一步地,根据所述各个分发目标相关联的用户的用户标识与所述矩阵行编号创建所述各个分发目标对应的第二绑定数组包括:
在创建每个分发目标对应的第二绑定数组时,将所述每个分发目标相关联的用户的用户标识与所述矩阵行编号对应的用户标识进行比较;
若所述每个分发目标相关联的用户的用户标识中存在与所述矩阵行编号对应的用户标识,则采用第一标识对所述矩阵行编号对应的用户标识进行标记;
若所述每个分发目标相关联的用户的用户标识中不存在与所述矩阵行编号对应的用户标识,则采用第二标识对所述矩阵行编号对应的用户标识进行标记;
基于所述矩阵行编号对应的所述第一标识以及所述第二标识创建所述每个分发目标对应的第二绑定数组。
进一步地,所述根据所述待分发目标的标识信息以及预先建立的绑定数组,查询所述待分发目标对应的目标用户的目标用户标识包括:
根据所述待分发目标的标识信息以及所述绑定数组的第二绑定数组,查询得到所述标识信息对应的目标矩阵列编号,所述第二绑定数组包括标识信息与所述目标矩阵列编号的关联关系;
根据所述目标矩阵列编号及所述绑定数组的第一绑定数组,查询得到所述待分发目标对应的目标用户标识,所述第一绑定数组包括用户标识与所述目标矩阵行编号的关联关系。
进一步地,所述方法还包括:
接收待修改用户发送的修改请求指令,所述修改请求指令包括所述待修改用户的待修改用户标识以及与所述待修改用户关联的待修改分发目标的待修改标识信息;
根据所述待修改用户标识以及所述待修改用户的待修改第一映射关系,查询所述待修改用户标识对应的待修改矩阵行编号;
利用所述待修改分发目标的第二映射关系与所述待修改标识信息,查询所述待修改标识信息对应的待修改矩阵列编号;
通过所述待修改矩阵行编号与待修改矩阵列编号,查询所述待修改用户的第一绑定数组的关联标识,并对所述第一绑定数组的关联标识进行修改,以得到第三绑定数组;
通过所述待修改矩阵行编号与待修改矩阵列编号,查询所述修改分发目标的第二绑定数组的关联标识,并对所述第二绑定数组的关联标识进行修改,以得到第四绑定数组。
为实现上述目的,本发明实施例还提供了一种消息分发系统,包括:
监测模块,用于监测待分发目标对应的消息内容是否发生变化;
查询模块,用于若发生变化,则根据所述待分发目标的标识信息以及预先建立的绑定数组,查询所述待分发目标对应的目标用户的目标用户标识,所述绑定数组包括所述待分发目标与所述目标用户的关联关系;
分发模块,用于将所述消息内容发送给所述目标用户。
进一步地,查询模块还用于:
根据所述待分发目标的标识信息以及所述绑定数组的第二绑定数组,查询得到所述标识信息对应的目标矩阵列编号,所述第二绑定数组包括标识信息与所述目标矩阵列编号的关联关系;
根据所述目标矩阵列编号及所述绑定数组的第一绑定数组,查询得到所述待分发目标对应的目标用户标识,所述第一绑定数组包括用户标识与所述目标矩阵行编号的关联关系。
为实现上述目的,本发明实施例还提供了一种计算机设备,所述计算机设备包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的消息分发方法的步骤。
为实现上述目的,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行如上所述的消息分发方法的步骤。
本发明实施例提供的消息分发方法与系统,通过待分发目标的标识信息以及预先建立的绑定数组,可以快速查询得到待分发目标对应的目标用户,在后续的消息分发中,可以快速的进行消息内容的分发,减少了计算机的负载。
附图说明
图1为本发明消息分发方法实施例一的流程图。
图2为本发明实施例一图1中步骤S102的流程图。
图3为本发明实施例一建立绑定数组的流程图。
图4为本发明实施例一图2中步骤S116的流程图。
图5为本发明实施例一图2中步骤S118的流程图。
图6为本发明实施例一修改绑定数组的流程图。
图7为本发明消息分发系统实施例二的程序模块示意图。
图8为本发明计算机设备实施例三的硬件结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
参阅图1,示出了本发明实施例一之消息分发方法的步骤流程图。可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。下面以计算机设备2为执行主体进行示例性描述。具体如下。
步骤S100,监测待分发目标对应的消息内容是否发生变化。
具体地,待分发目标为需要发送的消息主题,可以为新闻、股票等,可以实时监测待分发目标是否产生了新的内容消息,或者待分发目标相关联的用户是否修改了绑定关系,修改绑定关系时,会有相应的消息内容。
步骤S102,若发生变化,则根据所述待分发目标的标识信息以及预先建立的绑定数组,查询所述待分发目标对应的目标用户的目标用户标识,所述绑定数组包括所述待分发目标与所述目标用户的关联关系。
具体地,所述绑定数组包括第一绑定数组与第二绑定数组,根据所述待分发目标的标识信息与第二绑定数组,可查询到所述待分发目标对应的目标用户的目标用户标识。再通过所述目标用户的目标用户标识与所述第一绑定数组,进一步查询所述目标用户。
示例性地,参阅图2,步骤S102进一步包括:
步骤S102A,根据所述待分发目标的标识信息以及所述绑定数组的第二绑定数组,查询得到所述标识信息对应的目标矩阵列编号,所述第二绑定数组包括标识信息与所述目标矩阵列编号的关联关系。
具体地,第二绑定数组包括矩阵列编号与绑定标识之间的关联关系,绑定标识用于表示待分发目标与之关联的用户之间的绑定关系,且包括了与待分发目标关联的用户的矩阵列编号,通过关联关系可以查询到待分发目标的目标矩阵列编号。
步骤S102B,根据所述目标矩阵列编号及所述绑定数组的第一绑定数组,查询得到所述待分发目标对应的目标用户标识,所述第一绑定数组包括用户标识与所述目标矩阵行编号的关联关系。
具体地,通过第一绑定数组的关联关系可以查询到矩阵行编号对应的目标用户标识,既而查询到相应的目标用户。
步骤S104,将所述消息内容发送给所述目标用户。
具体地,将每个待分发目标对应一个分发节点,即有与待分发目标个数对应的分发节点,当有待分发目标的消息内容存在变化时,通过分发节点发送给该待分发目标绑定的目标用户。待分发目标可以为订阅、收藏的消息,消息内容即订阅、收藏的消息发送了新的推送,将新推送实时发送给用户。
示例性地,参阅图3,所述消息分发方法还包括建立绑定数组:
步骤S110,获取用户数据,所述用户数据包括多个用户的用户标识以及各个用户相关联的分发目标的标识信息。
具体地,用户标识可以由任意字符、数组组成,例如zhangsan、lis等;各个用户相关联的分发目标的标识信息可以由任意字符、数组组成,例如a、b、a等,每个用户有与之关联的分发目标。
步骤S112,建立所述各个用户的用户标识与编码矩阵的矩阵行编号的第一映射关系。
具体地,编码矩阵用以存储分发目标与用户的关联关系,以绑定数组的形式进行表示,便于查找。将每个用户的用户标识,以矩阵行编号的顺序进行关联,有多少个用户即有多少个矩阵行编号,形成第一映射关系,例如:[{1:“zhangsan”},{2:“lisi”},{3:“wangwu”}],1、2、3表示矩阵行编号,zhangsan、lisi、wangwu表示用户标识。
步骤S114,建立所有的分发目标的标识信息与所述编码矩阵的矩阵列编号的第二映射关系。
具体地,将每个分发目标的标识信息,以矩阵列编号的顺序进行关联,有多少个用户即有多少个矩阵列编号,形成第二映射关系,例如:[{1:“a”},{2:“b”},{3:“c”}],1、2、3表示矩阵列编号,a、b、c表示标识信息。
步骤S116,根据所述各个用户相关联的分发目标的标识信息与所述矩阵列编号创建所述各个用户对应的第一绑定数组。
示例性地,参阅图4,步骤S116进一步包括:
步骤S116A,在创建每个用户对应的第一绑定数组时,将所述每个用户相关联的分发目标的标识信息与所述矩阵列编号对应的标识信息进行比较。
具体地,每个用户相关联的分发目标各有不同,以分发目标的总类数为矩阵列编号的总编号数,将每个矩阵列编号与分发目标的标识信息进行关联。在创建每个用户对应的第一绑定数组时,即可比较每个用户相关联的分发目标的标识信息与矩阵列编号对应的标识信息。
步骤S116B,若所述每个用户相关联的分发目标的标识信息中存在与所述矩阵列编号对应的标识信息,则采用第一标识对所述矩阵列编号对应的标识信息进行标记。
具体地,第一标识可以以1表示,表示用户相关联的分发目标的标识信息中存在与矩阵列编号对应的标识信息,可以理解为:用户相关联的分发目标的标识信息,与矩阵列编号进行关联。
步骤S116C,若所述每个用户相关联的分发目标的标识信息中不存在与所述矩阵列编号对应的标识信息,则采用第二标识对所述矩阵列编号对应的标识信息进行标记。
具体地,第二标识可以以0表示,表示用户相关联的分发目标的标识信息中不存在与矩阵列编号对应的标识信息,可以理解为:用户相关联的分发目标的标识信息,与矩阵列编号没有关联。
步骤S116D,基于所述矩阵列编号对应的所述第一标识以及所述第二标识创建所述每个用户对应的第一绑定数组。
具体地,将每个用户的第一标识、第二标识与矩阵列编号之间的关系以矩阵行进行表示,即第一绑定数组,多个用户的矩阵行组成矩阵。例如:{“userId”:“zhangsan”,“targetId”:[“a”,”b”,“c”,“d’]},userId表示用户的ID,zhangsan表示用户标识,targetId表示分发目标的ID,a、b、c、d均表示标识信息,矩阵列编号为从a到z,即26,则该用户的第一绑定数组为:[11110000000000000000000000]。
步骤S118,根据所述各个分发目标相关联的用户的用户标识与所述矩阵行编号创建所述各个分发目标对应的第二绑定数组,其中,所述绑定数组包括所述第一绑定数组以及所述第二绑定数组。
示例性地,参阅图5,步骤S118进一步包括:
步骤S118A,在创建每个分发目标对应的第二绑定数组时,将所述每个分发目标相关联的用户的用户标识与所述矩阵行编号对应的用户标识进行比较。
具体地,各个分发目标中关联有多个用户,将所有的分发目标关联的用户的总数,即为矩阵行编号的个数,每个用户对应一个矩阵行编号。在创建每个分发目标对应的第二绑定数组时,即可比较每个分发目标相关联的用户的用户标识与矩阵行编号对应的用户标识。
步骤S118B,若所述每个分发目标相关联的用户的用户标识中存在与所述矩阵行编号对应的用户标识,则采用第一标识对所述矩阵行编号对应的用户标识进行标记。
具体地,第一标识可以以1表示,表示分发目标相关联的用户的用户标识中存在与矩阵行编号对应的用户标识,可以理解为:分发目标相关联的用户的用户标识,与矩阵行编号进行关联。
步骤S118C,若所述每个分发目标相关联的用户的用户标识中不存在与所述矩阵行编号对应的用户标识,则采用第二标识对所述矩阵行编号对应的用户标识进行标记。
具体地,第二标识可以以0表示,表示分发目标相关联的用户的用户标识中不存在与矩阵行编号对应的用户标识,可以理解为:分发目标相关联的用户的用户标识,与矩阵列编号没有关联。
步骤S118D,基于所述矩阵行编号对应的所述第一标识以及所述第二标识创建所述每个分发目标对应的第二绑定数组。
具体地,将每个分发目标的第一标识、第二标识与矩阵行编号之间的关系以矩阵列进行表示,即第二绑定数组,多个用户的矩阵列组成矩阵。例如:分发目标为abc,其关联的用户为zhangsan,对于第一映射关系[{1:“zhangsan”},{2:“lisi”},{3:“wangwu”}]其中的用户而言,第二绑定数组为[100]
示例性地,参阅图6,所述方法还包括修改绑定数组:
步骤S120,接收待修改用户发送的修改请求指令,所述修改请求指令包括所述待修改用户的待修改用户标识以及与所述待修改用户关联的待修改分发目标的待修改标识信息。
具体地,当待修改用户需要更改绑定数组时,对相应的分发目标的关联关系也进行修改。触发器接收到待修改用户的修改请求指令,请求修改其对应的关联关系,可以将修改用户与多个待修改分发目标的关联关系进行更改。
步骤S122,根据所述待修改用户标识以及所述待修改用户的待修改第一映射关系,查询所述待修改用户标识对应的待修改矩阵行编号。
步骤S124,利用所述待修改分发目标的第二映射关系与所述待修改标识信息,查询所述待修改标识信息对应的待修改矩阵列编号。
具体地,在待修改分发目标的第二映射关系中,查询到待修改标识信息对应的待修改矩阵列编号。
步骤S126,通过所述待修改矩阵行编号与待修改矩阵列编号,查询所述待修改用户的第一绑定数组的关联标识,并对所述第一绑定数组的关联标识进行修改,以得到第三绑定数组。
具体地,从第一绑定数组中,查到待修改矩阵行编号与待修改矩阵列编号对应的关联标识,该关联标识包括第一标识与第二标识。如果为第一标识即更改为第二标识,第二标识即更改为第一标识,再将修改后的关联标识重新放置于第一绑定数组中,以得到第三绑定数组。
步骤S128,通过所述待修改矩阵行编号与待修改矩阵列编号,查询所述修改分发目标的第二绑定数组的关联标识,并对所述第二绑定数组的关联标识进行修改,以得到第四绑定数组。
具体地,从第二绑定数组中,查到待修改矩阵行编号与待修改矩阵列编号对应的关联标识,该关联标识包括第一标识与第二标识。如果为第一标识即更改为第二标识,第二标识即更改为第一标识,再将修改后的关联标识重新放置于第二绑定数组中,以得到第三绑定数组。
实施例二
请继续参阅图7,示出了本发明消息分发系统实施例二的程序模块示意图。在本实施例中,消息分发系统20可以包括或被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本发明,并可实现上述消息分发方法。本发明实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序本身更适合于描述消息分发系统20在存储介质中的执行过程。以下描述将具体介绍本实施例各程序模块的功能:
监测模块200,用于监测待分发目标对应的消息内容是否发生变化。
具体地,待分发目标为需要发送的消息主题,可以为新闻、股票等,可以实时监测待分发目标是否产生了新的内容消息,或者待分发目标相关联的用户是否修改了绑定关系,修改绑定关系时,会有相应的消息内容。
查询模块202,用于若发生变化,则根据所述待分发目标的标识信息以及预先建立的绑定数组,查询所述待分发目标对应的目标用户标识。
具体地,所述绑定数组包括第一绑定数组与第二绑定数组,根据所述待分发目标的标识信息与第二绑定数组,可查询到所述待分发目标对应的目标用户的目标用户标识。再通过所述目标用户的目标用户标识与所述第一绑定数组,进一步查询所述目标用户。
示例性地,查询模块202还用于:
根据所述待分发目标的标识信息以及所述绑定数组的第二绑定数组,查询得到所述标识信息对应的目标矩阵列编号,所述第二绑定数组包括标识信息与所述目标矩阵列编号的关联关系。
具体地,第二绑定数组包括矩阵列编号与绑定标识之间的关联关系,绑定标识用于表示待分发目标与之关联的用户之间的绑定关系,且包括了与待分发目标关联的用户的矩阵列编号,通过关联关系可以查询到待分发目标的目标矩阵列编号。
根据所述目标矩阵列编号及所述绑定数组的第一绑定数组,查询得到所述待分发目标对应的目标用户标识,所述第一绑定数组包括用户标识与所述目标矩阵行编号的关联关系。
具体地,通过第一绑定数组的关联关系可以查询到矩阵行编号对应的目标用户标识,既而查询到相应的目标用户。
分发模块204,用于将所述消息内容发送给所述目标用户。
具体地,将每个待分发目标对应一个分发节点,即有与待分发目标个数对应的分发节点,当有待分发目标的消息内容存在变化时,通过分发节点发送给该待分发目标绑定的目标用户。待分发目标可以为订阅、收藏的消息,消息内容即订阅、收藏的消息发送了新的推送,将新推送实时发送给用户。
实施例三
参阅图8,是本发明实施例三之计算机设备的硬件架构示意图。本实施例中,所述计算机设备2是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。该计算机设备2可以是机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图8所示,所述计算机设备2至少包括,但不限于,可通过系统总线相互通信连接存储器21、处理器22、网络接口23、以及消息分发系统20。其中:
本实施例中,存储器21至少包括一种类型的计算机可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器21可以是计算机设备2的内部存储单元,例如该计算机设备2的硬盘或内存。在另一些实施例中,存储器21也可以是计算机设备2的外部存储设备,例如该计算机设备2上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器21还可以既包括计算机设备2的内部存储单元也包括其外部存储设备。本实施例中,存储器21通常用于存储安装于计算机设备2的操作系统和各类应用软件,例如实施例二的消息分发系统20的程序代码等。此外,存储器21还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器22在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器22通常用于控制计算机设备2的总体操作。本实施例中,处理器22用于运行存储器21中存储的程序代码或者处理数据,例如运行消息分发系统20,以实现实施例一的消息分发方法。
所述网络接口23可包括无线网络接口或有线网络接口,该网络接口23通常用于在所述服务器2与其他电子装置之间建立通信连接。例如,所述网络接口23用于通过网络将所述服务器2与外部终端相连,在所述服务器2与外部终端之间的建立数据传输通道和通信连接等。所述网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System of Mobile communication,GSM)、宽带码分多址(Wideband CodeDivision Multiple Access,WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。需要指出的是,图8仅示出了具有部件20-23的计算机设备2,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
在本实施例中,存储于存储器21中的所述消息分发系统20还可以被分割为一个或者多个程序模块,所述一个或者多个程序模块被存储于存储器21中,并由一个或多个处理器(本实施例为处理器22)所执行,以完成本发明。
例如,图7示出了所述实现消息分发系统20实施例二的程序模块示意图,该实施例中,所述消息分发系统20可以被划分为监测模块200、查询模块202与分发模块204。其中,本发明所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序更适合于描述所述消息分发系统20在所述计算机设备2中的执行过程。所述程序模块200-204的具体功能在实施例二中已有详细描述,在此不再赘述。
实施例四
本实施例还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,程序被处理器执行时实现相应功能。本实施例的计算机可读存储介质用于存储消息分发系统20,被处理器执行时实现实施例一的消息分发方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (6)

1.一种消息分发方法,其特征在于,包括:
监测待分发目标对应的消息内容是否发生变化;
若发生变化,则根据所述待分发目标的标识信息以及预先建立的绑定数组,查询所述待分发目标对应的目标用户的目标用户标识,所述绑定数组包括所述待分发目标与所述目标用户的关联关系;
将所述消息内容发送给所述目标用户;
其中,建立绑定数组包括:
获取用户数据,所述用户数据包括多个用户的用户标识以及各个用户相关联的分发目标的标识信息;
建立各个用户的用户标识与编码矩阵的矩阵行编号的第一映射关系;
建立各个分发目标的标识信息与所述编码矩阵的矩阵列编号的第二映射关系;
根据所述各个用户相关联的分发目标的标识信息与所述矩阵列编号创建所述各个用户对应的第一绑定数组;
根据所述各个分发目标相关联的用户的用户标识与所述矩阵行编号创建所述各个分发目标对应的第二绑定数组,其中,所述绑定数组包括所述第一绑定数组以及所述第二绑定数组;
其中,所述根据所述各个用户相关联的分发目标的标识信息与所述矩阵列编号创建所述各个用户对应的第一绑定数组包括:
在创建每个用户对应的第一绑定数组时,将所述每个用户相关联的分发目标的标识信息与所述矩阵列编号对应的标识信息进行比较;
若所述每个用户相关联的分发目标的标识信息中存在与所述矩阵列编号对应的标识信息,则采用第一标识对所述矩阵列编号对应的标识信息进行标记;
若所述每个用户相关联的分发目标的标识信息中不存在与所述矩阵列编号对应的标识信息,则采用第二标识对所述矩阵列编号对应的标识信息进行标记;
基于所述矩阵列编号对应的所述第一标识以及所述第二标识创建所述每个用户对应的第一绑定数组;
其中,根据所述各个分发目标相关联的用户的用户标识与所述矩阵行编号创建所述各个分发目标对应的第二绑定数组包括:
在创建每个分发目标对应的第二绑定数组时,将所述每个分发目标相关联的用户的用户标识与所述矩阵行编号对应的用户标识进行比较;
若所述每个分发目标相关联的用户的用户标识中存在与所述矩阵行编号对应的用户标识,则采用第一标识对所述矩阵行编号对应的用户标识进行标记;
若所述每个分发目标相关联的用户的用户标识中不存在与所述矩阵行编号对应的用户标识,则采用第二标识对所述矩阵行编号对应的用户标识进行标记;
基于所述矩阵行编号对应的所述第一标识以及所述第二标识创建所述每个分发目标对应的第二绑定数组。
2.根据权利要求1所述的消息分发方法,其特征在于,所述根据所述待分发目标的标识信息以及预先建立的绑定数组,查询所述待分发目标对应的目标用户的目标用户标识包括:
根据所述待分发目标的标识信息以及所述绑定数组的第二绑定数组,查询得到所述标识信息对应的目标矩阵列编号,所述第二绑定数组包括标识信息与所述目标矩阵列编号的关联关系;
根据所述目标矩阵列编号及所述绑定数组的第一绑定数组,查询得到所述待分发目标对应的目标用户标识,所述第一绑定数组包括用户标识与所述目标矩阵行编号的关联关系。
3.根据权利要求1所述的消息分发方法,其特征在于,所述方法还包括:
接收待修改用户发送的修改请求指令,所述修改请求指令包括所述待修改用户的待修改用户标识以及与所述待修改用户关联的待修改分发目标的待修改标识信息;
根据所述待修改用户标识以及所述待修改用户的待修改第一映射关系,查询所述待修改用户标识对应的待修改矩阵行编号;
利用所述待修改分发目标的第二映射关系与所述待修改标识信息,查询所述待修改标识信息对应的待修改矩阵列编号;
通过所述待修改矩阵行编号与待修改矩阵列编号,查询所述待修改用户的第一绑定数组的关联标识,并对所述第一绑定数组的关联标识进行修改,以得到第三绑定数组;
通过所述待修改矩阵行编号与待修改矩阵列编号,查询所述修改分发目标的第二绑定数组的关联标识,并对所述第二绑定数组的关联标识进行修改,以得到第四绑定数组。
4.一种消息分发系统,其特征在于,包括:
监测模块,用于监测待分发目标对应的消息内容是否发生变化;
查询模块,用于若发生变化,则根据所述待分发目标的标识信息以及预先建立的绑定数组,查询所述待分发目标对应的目标用户的目标用户标识,所述绑定数组包括所述待分发目标与所述目标用户的关联关系;
分发模块,用于将所述消息内容发送给所述目标用户;
其中,所述查询模块还用于建立绑定数组:
获取用户数据,所述用户数据包括多个用户的用户标识以及各个用户相关联的分发目标的标识信息;
建立各个用户的用户标识与编码矩阵的矩阵行编号的第一映射关系;
建立各个分发目标的标识信息与所述编码矩阵的矩阵列编号的第二映射关系;
根据所述各个用户相关联的分发目标的标识信息与所述矩阵列编号创建所述各个用户对应的第一绑定数组;
根据所述各个分发目标相关联的用户的用户标识与所述矩阵行编号创建所述各个分发目标对应的第二绑定数组,其中,所述绑定数组包括所述第一绑定数组以及所述第二绑定数组;
其中,所述查询模块还用于:
根据所述待分发目标的标识信息以及所述绑定数组的第二绑定数组,查询得到所述标识信息对应的目标矩阵列编号,所述第二绑定数组包括标识信息与所述目标矩阵列编号的关联关系;
根据所述目标矩阵列编号及所述绑定数组的第一绑定数组,查询得到所述待分发目标对应的目标用户标识,所述第一绑定数组包括用户标识与所述目标矩阵行编号的关联关系;
其中,所述查询模块还用于:
在创建每个分发目标对应的第二绑定数组时,将所述每个分发目标相关联的用户的用户标识与所述矩阵行编号对应的用户标识进行比较;
若所述每个分发目标相关联的用户的用户标识中存在与所述矩阵行编号对应的用户标识,则采用第一标识对所述矩阵行编号对应的用户标识进行标记;
若所述每个分发目标相关联的用户的用户标识中不存在与所述矩阵行编号对应的用户标识,则采用第二标识对所述矩阵行编号对应的用户标识进行标记;
基于所述矩阵行编号对应的所述第一标识以及所述第二标识创建所述每个分发目标对应的第二绑定数组。
5.一种计算机设备,其特征在于,所述计算机设备包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1-3中任一项所述的消息分发方法的步骤。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行如权利要求1-3中任一项所述的消息分发方法的步骤。
CN201911210506.4A 2019-12-02 2019-12-02 消息分发方法与系统 Active CN111162988B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911210506.4A CN111162988B (zh) 2019-12-02 2019-12-02 消息分发方法与系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911210506.4A CN111162988B (zh) 2019-12-02 2019-12-02 消息分发方法与系统

Publications (2)

Publication Number Publication Date
CN111162988A CN111162988A (zh) 2020-05-15
CN111162988B true CN111162988B (zh) 2022-04-22

Family

ID=70556283

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911210506.4A Active CN111162988B (zh) 2019-12-02 2019-12-02 消息分发方法与系统

Country Status (1)

Country Link
CN (1) CN111162988B (zh)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101464887B (zh) * 2008-12-30 2011-01-19 武汉大学 Web服务组合系统及方法
CN102467709B (zh) * 2010-11-17 2017-03-01 阿里巴巴集团控股有限公司 一种发送商品信息的方法和装置
US10338963B2 (en) * 2017-05-10 2019-07-02 Atlantic Technical Organization, Llc System and method of schedule validation and optimization of machine learning flows for cloud computing
CN107809374A (zh) * 2017-10-23 2018-03-16 湖南知间信息技术有限公司 微信矩阵管理系统及方法

Also Published As

Publication number Publication date
CN111162988A (zh) 2020-05-15

Similar Documents

Publication Publication Date Title
CN111970315A (zh) 推送消息的方法、装置及系统
CN107515878B (zh) 一种数据索引的管理方法及装置
US20150358217A1 (en) Web Polling Method, Device and System
CN110830581B (zh) 提升区块链响应速度的方法、区块链应用系统及相关设备
CN107682426B (zh) 接口代理方法及应用服务器
US20140359066A1 (en) System, method and device for offline downloading resource and computer storage medium
CN111177776A (zh) 多租户数据隔离方法与系统
CN112422450B (zh) 计算机设备、服务请求的流量控制方法及装置
CN111342992A (zh) 设备信息变更记录的处理方法及系统
CN111885184A (zh) 高并发场景下热点访问关键字处理方法和装置
CN116578746A (zh) 对象去重方法及装置
CN112134908B (zh) 应用适配方法及服务器、介质、车载多媒体系统
CN113656098B (zh) 配置获取方法及系统
CN111162988B (zh) 消息分发方法与系统
CN112969198A (zh) 数据传输方法、终端及存储介质
CN111008220A (zh) 数据源的动态识别方法及装置、存储介质和电子装置
CN112395337A (zh) 一种数据导出方法和装置
CN110474954B (zh) 基于区块链的文件分享方法、装置、计算机设备及可读存储介质
CN114238407A (zh) 基于分库分表中间件的预编译方法与系统
CN112527780A (zh) Redis集群的创建与管理方法、系统、计算机设备和存储介质
CN112583761B (zh) 安全实体的管理方法、装置、计算机设备和存储介质
CN113392131A (zh) 数据处理方法、装置及计算机设备
CN109582680B (zh) 基于新产品开发的业务处理方法、电子装置及可读存储介质
CN112100208A (zh) 一种操作请求的转发方法和装置
CN107784040B (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