CN116384956B - 一种消息批量发送方法、装置、设备和存储介质 - Google Patents
一种消息批量发送方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN116384956B CN116384956B CN202310651512.3A CN202310651512A CN116384956B CN 116384956 B CN116384956 B CN 116384956B CN 202310651512 A CN202310651512 A CN 202310651512A CN 116384956 B CN116384956 B CN 116384956B
- Authority
- CN
- China
- Prior art keywords
- sending
- task
- message
- target
- basic information
- 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 40
- 238000003860 storage Methods 0.000 title claims abstract description 17
- 230000005540 biological transmission Effects 0.000 claims abstract description 77
- 238000012216 screening Methods 0.000 claims abstract description 17
- 238000012545 processing Methods 0.000 claims description 13
- 239000000463 material Substances 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 9
- 238000001514 detection method Methods 0.000 claims description 9
- 238000001914 filtration Methods 0.000 claims description 9
- 238000004458 analytical method Methods 0.000 claims description 5
- 238000013507 mapping Methods 0.000 claims description 5
- 238000009826 distribution Methods 0.000 claims description 4
- 238000012544 monitoring process Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 238000007726 management method Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000002716 delivery method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- 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
- G06Q10/107—Computer-aided management of electronic mailing [e-mailing]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2291—User-Defined Types; Storage management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/02—Banking, e.g. interest calculation or account maintenance
-
- 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
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Human Resources & Organizations (AREA)
- Accounting & Taxation (AREA)
- Marketing (AREA)
- Databases & Information Systems (AREA)
- General Business, Economics & Management (AREA)
- Economics (AREA)
- Finance (AREA)
- Entrepreneurship & Innovation (AREA)
- Computer Hardware Design (AREA)
- Development Economics (AREA)
- Technology Law (AREA)
- Tourism & Hospitality (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请涉及计算机技术领域,提供了一种消息批量发送方法、装置、设备和存储介质。该方法包括:接收消息发送指令,以配置多个发送任务,并获取用于接收发送任务的所有对象及对象基本信息,生成名单文件;解析名单文件,得到结构化数据;对结构化数据进行两级筛选处理,得到目标名单数据;按照发送任务配置的发送优先级,将目标名单数据分发至相应的缓存队列;按照发送优先级依次获取当前待发送的发送任务,并从各缓存队列中提取出相应的目标对象的对象基本信息,进而根据对象基本信息,将发送任务发送至相应的目标对象。本申请实施例通过批量发送至目标对象,使得消息能够准确无误的触达客户,提高了消息发送效率。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种消息批量发送方法、装置、设备和存储介质。
背景技术
随着信息科技的迅速发展,传递消息的方法越来越便捷,也越来越多样化。如今,可以通过短信、聊天应用、邮箱以及智能语音呼叫等多种渠道向客户推送业务消息。
在金融科技领域,如银行等内部多个部门系统都有通过向同一客户或不同客户推送业务消息的需求,每个部门系统都需要自己开发针对不同推送渠道的消息推送功能,并使用各自系统中设置的推送功能分别向各个客户发送业务消息,从而难以实现对消息推送进行统一管理,且由于需要调用不同推送功能来推送消息,使得消息推送效率和准确性都不够高。
发明内容
有鉴于此,为了解决现有技术存在的不足,本申请实施例提供了一种消息批量发送方法、装置、设备和存储介质。
第一方面,本发明提供一种消息批量发送方法,包括:
接收消息发送指令,以配置多个发送任务,并获取用于接收所述发送任务的所有对象及对象基本信息,生成名单文件;
解析所述名单文件,得到结构化数据;
对所述结构化数据进行两级筛选处理,得到目标名单数据;所述目标名单数据用于关联记录待接收所述发送任务的所有目标对象的对象基本信息;
按照所述发送任务配置的发送优先级,将所述目标名单数据分发至相应的缓存队列;
按照所述发送优先级依次获取当前待发送的发送任务,并从各所述缓存队列中提取出相应的目标对象的对象基本信息,进而根据所述对象基本信息,将所述发送任务发送至相应的目标对象。
在可选的实施方式中,所述方法还包括:
实时监听并记录所述发送任务的发送状态;
周期性批量获取所述发送状态为失败的发送任务;
根据预先配置的补偿规则,重发所述发送任务,直至达到预设重发次数时停止重发。
在可选的实施方式中,所述对所述结构化数据进行两级筛选处理,得到目标名单数据,包括:
通过校验器对所述结构化数据进行合法性检测;
根据预设的业务过滤规则,对经过合法性检测后的结构化数据进行二次名单筛选处理,以筛选出待接收所述发送任务的所有目标对象的对象基本信息,生成目标名单数据。
在可选的实施方式中,所述按照所述发送优先级依次获取当前待发送的发送任务,并从各所述缓存队列中提取出相应的目标对象的对象基本信息,包括:
为所述目标名单数据中的每个目标对象设置一个流水号;其中,每个所述发送任务与用于接收所述发送任务的目标对象的流水号之间存在映射关系;
按照所有所述发送任务所配置的发送优先级,将每个所述目标对象对应的流水号分别存储至与所述发送优先级对应的缓存队列;
进行任务发送时,从各所述缓存队列中提取出用于接收当前待发送的所述发送任务的流水号,并根据所述流水号,获取所述目标对象及对象基本信息。
在可选的实施方式中,所述解析所述名单文件,得到结构化数据,包括:
按照预设解析规则,将所述名单文件中每个对象的对象基本信息进行字段拆分,得到多个字段;
将每个所述对象对应的各个所述字段关联存储至数据库,得到结构化数据。
在可选的实施方式中,所述配置多个发送任务,包括:
创建预定数量的发送任务,并对每个所述发送任务相应配置基本要素信息,所述基本要素信息包括任务名称、素材类型、发送类型、对象类型、发送优先级。
在可选的实施方式中,在所述根据所述对象基本信息,将所述发送任务发送至相应的目标对象之前,还包括:
根据所述发送任务对应配置的素材类型、发送类型,批量组装所述发送任务对应的消息体内容,其中,携带有所述消息体内容的发送任务用于发送至相应的目标对象。
第二方面,本发明提供一种消息批量发送装置,包括:
获取模块,用于接收消息发送指令,以配置多个发送任务,并获取用于接收所述发送任务的所有对象及对象基本信息,生成名单文件;
解析模块,用于解析所述名单文件,得到结构化数据;
筛选模块,用于对所述结构化数据进行两级筛选处理,得到目标名单数据;所述目标名单数据用于关联记录待接收所述发送任务的所有目标对象的对象基本信息;
分发模块,用于按照所述发送任务配置的发送优先级,将所述目标名单数据分发至相应的缓存队列;
发送模块,用于按照所述发送优先级依次获取当前待发送的发送任务,并从各所述缓存队列中提取出相应的目标对象的对象基本信息,进而根据所述对象基本信息,将所述发送任务发送至相应的目标对象。
第三方面,本发明提供一种计算机设备,所述计算机设备包括存储器和至少一个处理器,所述存储器存储有计算机程序,所述处理器用于执行所述计算机程序以实施前述的消息批量发送方法。
第四方面,本发明提供一种计算机存储介质,其存储有计算机程序,所述计算机程序被执行时,实施根据前述的消息批量发送方法。
本申请实施例具有如下有益效果:
本申请实施例提供了一种消息批量发送方法,该方法包括接收消息发送指令,以配置多个发送任务,并获取用于接收发送任务的所有对象及对象基本信息,生成名单文件;解析名单文件,得到结构化数据;对结构化数据进行两级筛选处理,得到目标名单数据;目标名单数据用于关联记录待接收发送任务的所有目标对象的对象基本信息;按照发送任务配置的发送优先级,将目标名单数据分发至相应的缓存队列;按照发送优先级依次获取当前待发送的发送任务,并从各缓存队列中提取出相应的目标对象的对象基本信息,进而根据对象基本信息,将发送任务发送至相应的目标对象。本申请实施例使得消息能够准确无误的触达客户,提高了消息发送效率,并且,本实施例支持各个发送任务按照相应发送优先级依次批量发送,从而保证了各个发送任务的时效性,另外,本实施例还设置了任务发送前的合法性检测和名单筛选处理,保证目标对象的准确性,从而提高消息批量发送的发送效率和可靠性。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对本申请保护范围的限定。在各个附图中,类似的构成部分采用类似的编号。
图1示出了本申请实施例中消息批量发送方法的第一个实施方式示意图;
图2示出了本申请实施例中消息批量发送方法的第二个实施方式示意图;
图3示出了本申请实施例中消息批量发送方法的第三个实施方式示意图;
图4示出了本申请实施例中消息批量发送方法的第四个实施方式示意图;
图5示出了本申请实施例中消息批量发送装置的结构示意图。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。
通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
在下文中,可在本申请的各种实施例中使用的术语“包括”、“具有”及其同源词仅意在表示特定特征、数字、步骤、操作、元件、组件或前述项的组合,并且不应被理解为首先排除一个或更多个其它特征、数字、步骤、操作、元件、组件或前述项的组合的存在或增加一个或更多个特征、数字、步骤、操作、元件、组件或前述项的组合的可能性。
此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
除非另有限定,否则在这里使用的所有术语(包括技术术语和科学术语)具有与本申请的各种实施例所属领域普通技术人员通常理解的含义相同的含义。所述术语(诸如在一般使用的词典中限定的术语)将被解释为具有与在相关技术领域中的语境含义相同的含义并且将不被解释为具有理想化的含义或过于正式的含义,除非在本申请的各种实施例中被清楚地限定。
本申请实施例提供了一种消息批量发送方法,该方法可以实现为具有统一管理消息发送相关的各种功能的应用程序或者插件。具体的,可以为消息中心平台。
示例的,该消息中心平台能够统一对消息发送的各项功能进行管理,使得本申请实施例的技术方案能够实现通过多个推送渠道进行消息推送。该消息中心推送系统可以集渠道管理、消息生产、消息推送于一体,并且可以通过消息中心平台对消息推送策略进行配置,各个接入渠道可以通过接口调用消息中心平台的各功能模块进行消息的推送。
请参照图1,下面对该方法进行详细说明。
S10,接收消息发送指令,以配置多个发送任务,并获取用于接收发送任务的所有对象及对象基本信息,生成名单文件。
在消息中心平台接收到消息发送指令时,首先配置消息发送指令所指定数量的发送任务,而后,从数据库中获取用于可相应接收所创建的发送任务的所有对象,以及各个对象对应的对象基本信息;根据所有对象及其对应的对象基本信息,生成名单文件;该对象基本信息包括如企业名称、企业标识号、企业联系人微信号、企业联系人手机号等;该名单文件的形式可以是excel或csv文件。
进一步地,消息中心平台创建预定数量的发送任务,并对每个发送任务相应配置基本要素信息,其中,基本要素信息包括任务名称、素材类型(如短信、微信等)、发送类型(如实时和定时)、对象类型、发送优先级、名单类型、是否全推等。其中,预定数量的具体取值、基本要素信息的配置可根据实际需求进行设置,在此均不做限定。
示例的,消息中心平台支持发送短信、微信、push消息等多种消息类型;在消息中心平台中设置有配置管理模块、文件处理模块、校验模块、消息分发模块、推送模块、消息存储模块和异常补偿模块。其中,配置管理模块用于配置不同消息类型的发送任务及其基本要素信息,创建成功的发送任务进入待复核流程,等待复核通过后生效。
示范性地,若需配置两个批量发送短信任务A(用户量8w)贷款额度提升通知、B(用户量10w)贷款利率下调通知,优先级分别为高和低,A、B两个发送任务的基本要素信息配置内容包括任务名称、素材类型(短信)、发送类型(实时)、名单类型(上传)、是否全推(是)等。
此外,消息中心平台的消息存储模块用于存储信息数据,包括各个发送任务所配置的基本要素信息、发送任务对应的所有对象的对象基本信息以及每个发送任务对应的发送状态数据。
S20,解析名单文件,得到结构化数据。
可以理解,消息中心平台的文件处理模块用于将名单文件解析成结构化数据,并将结构化数据传递给消息中心平台的后台服务。
具体地,按照预设解析规则,将名单文件中每个对象的对象基本信息进行字段拆分,得到多个字段;将每个对象对应的各个字段关联存储至数据库,得到结构化数据。其中,将每个对象的对象基本信息进行字段拆分,也即是将每个对象的对象基本信息分类别进行拆分,每个对象的对象基本信息的设置可根据需求进行设置,在此不做限定,例如,每个对象基本信息对应拆分得到的字段包括企业名称、企业标识号、企业联系人微信号、企业联系人手机号等信息。
S30,对结构化数据进行两级筛选处理,得到目标名单数据。
可以理解,消息中心平台的校验模块用于校验结构化数据的合法性,以此实现对结构化数据的两级筛选处理,得到最终用于接收发送任务的目标名单数据,其中,该目标名单数据关联记录用于接收发送任务的所有目标对象及对应的对象基本信息。
进一步地,请参照图2,上述的S30具体包括如下步骤:
S31,通过校验器对结构化数据进行合法性检测。
S32,根据预设的业务过滤规则,对经过合法性检测后的结构化数据进行二次名单筛选处理,以筛选出待接收发送任务的所有目标对象的对象基本信息,生成目标名单数据。
首先通过validator校验器对结构化数据进行合法性检测,以过滤不合规范的数据,其中,合法性检测的规则具体可根据实际需求进行设置,在此不做限定。
而后,根据预先配置的业务过滤规则,对经过合法性检测过滤后的结构化数据进行二次名单筛选处理,其具体的业务过滤规则可根据需求进行设置,在此不做限定。
可以理解,本申请实施例对结构化数据进行第一次过滤处理,是为了过滤掉不合法的数据,而后再次过滤掉不符合用于接收发送任务要求,或不能发送的发送任务对应的目标对象的对象基本信息。
S40,按照发送任务配置的发送优先级,将目标名单数据分发至相应的缓存队列。
示范性地,消息中心平台的消息分发模块用于将不同发送优先级的发送任务对应的目标名单数据分发到对应的缓存队列中;也即是,将各个目标名单数据中的各个目标对象的对象基本信息,按照对应接收的发送任务的发送优先级,分发至相应的缓存队列,每个缓存队列用于存放隶属于同一发送优先级对应的目标名单数据。
进一步地,消息中心平台还根据每个发送任务对应的发送优先级,将各个发送任务对应分发至相应的用于存储发送任务的缓存队列中等待处理。
S50,按照发送优先级依次获取当前待发送的发送任务,并从各缓存队列中提取出相应的目标对象的对象基本信息,进而根据对象基本信息,将发送任务发送至相应的目标对象。
消息中心平台的推送模块用于按照发送优先级,依次批量发送各个发送任务。也即是,按照发送优先级由高至低的顺序,依次批量推送隶属于同一发送优先级的所有发送。
具体地,按照各个发送任务的发送优先级,由高至低依次从各个缓存队列中选取隶属于同一发送优先级的发送任务,作为当前待发送的发送任务。
而后,从存储有目标名单数据的各个缓存队列中,相应获取用于接收当前待发送的发送任务的目标对象及其对象基本信息。从而根据该对象基本信息的联系方式等,将各个发送任务按照所配置的素材类型和发送类型发送至相应的目标对象。
进一步地,请参照图3,上述的S50具体包括如下步骤:
S51,为目标名单数据中的每个目标对象设置一个流水号;其中,每个发送任务与用于接收发送任务的目标对象的流水号之间存在映射关系。
S52,按照所有发送任务所配置的发送优先级,将每个目标对象对应的流水号分别存储至与发送优先级对应的缓存队列。
S53,进行任务发送时,从各缓存队列中提取出用于接收当前待发送的发送任务的流水号,并根据流水号,获取目标对象及对象基本信息。
可选的,在得到目标名单数据时,可对目标名单数据中的每个目标对象设置一个流水号,进而在每个目标对象的流水号与该目标对象对应接收的发送任务之间建立映射关系;消息中心平台可通过该流水号以获取相应目标对象的对象基本信息,以及该目标对象对应接收的发送任务。
按照所有发送任务对应的发送优先级,将每个目标对象对应的流水号存储至对应的缓存队列中。其中,每个缓存队列用于存储同一发送优先级对应的所有目标对象的流水号。
进而,在进行任务发送时,按照发送优先级由高至低依次从相应缓存队列中提取出相应发送优先级对应的目标对象的流水号,从而根据该流水号从数据库中读取该目标对象的对象基本信息。
在一实施方式中,该推送模块在批量推送各个发送任务之前,还用于组装各个发送任务的消息体内容。
进而,本申请实施例在步骤S50中“根据对象基本信息,将发送任务发送至相应的目标对象”之前,还包括:根据发送任务对应配置的素材类型、发送类型,批量组装发送任务对应的消息体内容,其中,携带有消息体内容的发送任务用于发送至相应的目标对象。
可以理解,消息中心平台的推送模块还用于根据每个发送任务所配置的基本要素信息,组装该发送任务的消息体内容,进而,将携带有消息体内容的发送任务发送至相应的目标对象。
具体地,根据发送任务对应配置的素材类型、发送类型,来相应组装每个发送任务的消息体内容。例如,若该发送任务的素材类型为短信、发送类型为定时,则获取消息中心平台预设的短信模板来组装短信类型的消息体内容,并在组装好消息体内容后,将携带有该短信类型的消息体内容的发送任务定时发送至相应的目标对象。
进一步地,该推送模块还用于触发消息推送服务的请求接口,将携带有消息体内容的发送任务通过相应请求接口发送至相应的目标对象,同时获取每个请求接口接收到发送任务时所反馈的响应信息,存储每个发送任务对应的响应信息,并及时更新记录每个发送任务的发送状态。
其中,若在预设时间范围内未接收到响应信息或是因系统异常、网络波动等原因所导致的发送中断或发送任务丢失,则确定相应的发送任务的发送状态为失败;反之,若接收到响应信息,则确定发送状态为成功。
作为一种可选的实施方式,如图4所示,本申请实施例还包括如下步骤:
S61,实时监听并记录发送任务的发送状态。
S62,周期性批量获取发送状态为失败的发送任务。
S63,根据预先配置的补偿规则,重发发送任务,直至达到预设重发次数时停止重发。
在本实施例中,消息中心平台实时监听并记录每个发送任务的发送状态。通过异常补偿模块按照预设周期以周期性批量获取发送状态为失败的所有发送任务,从而根据预先配置的补偿规则,对所有失败的发送任务执行重发流程。其中,预设周期的具体取值在此不做限定,具体可根据实际需求进行设置。
也即是,将发送状态为失败的发送任务再次组装消息体内容,而后将该携带消息体内容的发送任务进行重发;可以理解为,对发送失败的发送请求可进行多次重新发送;每重发一次都需要再次组装消息体内容,并实时记录该发送任务的发送状态,在发送状态为成功时则该发送任务无需重发。
进一步地,该补偿规则规定,若该发送任务的重发次数达到预设重发次数阈值,则停止该发送任务的重发。也即是,本实施例允许失败的发送任务在预设重发次数阈值内进行多次重发,从而避免在只发送一次时因系统异常、网络波动等原因所导致的发送中断或发送任务丢失,从而导致发送失败的问题。
本实施例通过设置的补偿规则,以保证较多发送任务的成功发送,提高了消息批量发送的稳定性和可靠性。
在本实施例中,通过该消息批量发送方法,使得消息能够准确无误的触达客户,达到变现的目的,为企业带来经济效益;并且,本实施例支持各个发送任务按照相应发送优先级依次批量发送,从而保证了各个发送任务的时效性,以根据业务使用场景,支持任务优先级低、中、高功能配置,业务处理规则会优先处理高优先级任务,快速触达客户,提高了消息批量发送的发送效率和准确度。另外,本实施例还设置了任务发送前的合法性检测和名单筛选处理,保证目标对象的准确性。
此外,本实施例还实时更新每个发送任务的发送状态,并周期性批量重发失败的发送任务,提高了消息批量发送的稳定性;并且,整个消息批量发送过程中,各个信息数据(如基本要素信息、对象基本信息等)均存储于内部数据库中,以减轻内存压力,从而提升消息批量发送的处理效率,以保障消息批量发送的稳定性。
如图5所示,本申请实施例还提供了一种消息批量发送装置,该装置包括:
获取模块110,用于接收消息发送指令,以配置多个发送任务,并获取用于接收所述发送任务的所有对象及对象基本信息,生成名单文件;
解析模块120,用于解析所述名单文件,得到结构化数据;
筛选模块130,用于对所述结构化数据进行两级筛选处理,得到目标名单数据;所述目标名单数据用于关联记录待接收所述发送任务的所有目标对象及对象基本信息;
分发模块140,用于按照所述发送任务配置的发送优先级,将所述目标名单数据分发至相应的缓存队列;
发送模块150,用于按照所述发送优先级依次获取当前待发送的发送任务,并从所述缓存队列中提取出相应的目标对象的对象基本信息,进而根据所述对象基本信息,将所述发送任务发送至所述目标对象。
上述的消息批量发送装置对应于上述实施例的消息批量发送方法;上述实施例中的任何可选项也适用于本实施例,这里不再详述。
本申请实施例还提供了一种计算机设备,该所述计算机设备包括存储器和至少一个处理器,所述存储器存储有计算机程序,所述处理器用于执行所述计算机程序以实施上述实施例的消息批量发送方法。
存储器可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据计算机设备的使用所创建的数据(比如名单文件等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
本申请实施例还提供了一种计算机存储介质,所述计算机存储介质存储有计算机可运行指令,所述计算机可运行指令在被处理器调用和运行时,所述计算机可运行指令促使所述处理器运行上述实施例的消息批量发送方法的步骤。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和结构图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,结构图和/或流程图中的每个方框、以及结构图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块或单元可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或更多个模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是智能手机、个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。
Claims (9)
1.一种消息批量发送方法,其特征在于,包括:
接收消息发送指令,以配置多个发送任务,并获取用于接收所述发送任务的所有对象及对象基本信息,生成名单文件;
解析所述名单文件,得到结构化数据;
对所述结构化数据进行两级筛选处理,得到目标名单数据;所述目标名单数据用于关联记录待接收所述发送任务的所有目标对象的对象基本信息;
按照所述发送任务配置的发送优先级,将所述目标名单数据分发至相应的缓存队列;
为所述目标名单数据中的每个目标对象设置一个流水号;其中,每个所述发送任务与用于接收所述发送任务的目标对象的流水号之间存在映射关系;按照所有所述发送任务所配置的发送优先级,将每个所述目标对象对应的流水号分别存储至与所述发送优先级对应的缓存队列;进行任务发送时,从各所述缓存队列中提取出用于接收当前待发送的所述发送任务的流水号,并根据所述流水号,获取所述目标对象及对象基本信息,进而根据所述对象基本信息,将所述发送任务发送至相应的目标对象。
2.根据权利要求1所述的消息批量发送方法,其特征在于,所述方法还包括:
实时监听并记录所述发送任务的发送状态;
周期性批量获取所述发送状态为失败的发送任务;
根据预先配置的补偿规则,重发所述发送任务,直至达到预设重发次数时停止重发。
3.根据权利要求1所述的消息批量发送方法,其特征在于,所述对所述结构化数据进行两级筛选处理,得到目标名单数据,包括:
通过校验器对所述结构化数据进行合法性检测;
根据预设的业务过滤规则,对经过合法性检测后的结构化数据进行二次名单筛选处理,以筛选出待接收所述发送任务的所有目标对象的对象基本信息,生成目标名单数据。
4.根据权利要求1所述的消息批量发送方法,其特征在于,所述解析所述名单文件,得到结构化数据,包括:
按照预设解析规则,将所述名单文件中每个对象的对象基本信息进行字段拆分,得到多个字段;
将每个所述对象对应的各个所述字段关联存储至数据库,得到结构化数据。
5.根据权利要求1所述的消息批量发送方法,其特征在于,所述配置多个发送任务,包括:
创建预定数量的发送任务,并对每个所述发送任务相应配置基本要素信息,所述基本要素信息包括任务名称、素材类型、发送类型、对象类型、发送优先级。
6.根据权利要求1或5所述的消息批量发送方法,其特征在于,在所述根据所述对象基本信息,将所述发送任务发送至相应的目标对象之前,还包括:
根据所述发送任务对应配置的素材类型、发送类型,批量组装所述发送任务对应的消息体内容,其中,携带有所述消息体内容的发送任务用于发送至相应的目标对象。
7.一种消息批量发送装置,其特征在于,包括:
获取模块,用于接收消息发送指令,以配置多个发送任务,并获取用于接收所述发送任务的所有对象及对象基本信息,生成名单文件;
解析模块,用于解析所述名单文件,得到结构化数据;
筛选模块,用于对所述结构化数据进行两级筛选处理,得到目标名单数据;所述目标名单数据用于关联记录待接收所述发送任务的所有目标对象的对象基本信息;
分发模块,用于按照所述发送任务配置的发送优先级,将所述目标名单数据分发至相应的缓存队列;
发送模块,用于为所述目标名单数据中的每个目标对象设置一个流水号;其中,每个所述发送任务与用于接收所述发送任务的目标对象的流水号之间存在映射关系;按照所有所述发送任务所配置的发送优先级,将每个所述目标对象对应的流水号分别存储至与所述发送优先级对应的缓存队列;进行任务发送时,从各所述缓存队列中提取出用于接收当前待发送的所述发送任务的流水号,并根据所述流水号,获取所述目标对象及对象基本信息,进而根据所述对象基本信息,将所述发送任务发送至相应的目标对象。
8.一种计算机设备,其特征在于,所述计算机设备包括存储器和至少一个处理器,所述存储器存储有计算机程序,所述处理器用于执行所述计算机程序以实施权利要求1-6中任一项所述的消息批量发送方法。
9.一种计算机存储介质,其特征在于,其存储有计算机程序,所述计算机程序被执行时,实施根据权利要求1-6中任一项所述的消息批量发送方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310651512.3A CN116384956B (zh) | 2023-06-05 | 2023-06-05 | 一种消息批量发送方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310651512.3A CN116384956B (zh) | 2023-06-05 | 2023-06-05 | 一种消息批量发送方法、装置、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116384956A CN116384956A (zh) | 2023-07-04 |
CN116384956B true CN116384956B (zh) | 2023-08-15 |
Family
ID=86980951
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310651512.3A Active CN116384956B (zh) | 2023-06-05 | 2023-06-05 | 一种消息批量发送方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116384956B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2512898A1 (en) * | 2003-01-16 | 2004-08-05 | Ironport Systems, Inc. | Electronic message delivery using a virtual gateway approach |
CN109450772A (zh) * | 2018-09-26 | 2019-03-08 | 中国平安人寿保险股份有限公司 | 一种消息发送方法、服务器及计算机可读存储介质 |
CN109525673A (zh) * | 2018-11-27 | 2019-03-26 | 五八有限公司 | 消息的目标用户配置方法、装置、服务器及可读存储介质 |
CN111078733A (zh) * | 2019-11-26 | 2020-04-28 | 金蝶软件(中国)有限公司 | 批量任务处理方法、装置、计算机设备和存储介质 |
CN112187903A (zh) * | 2020-09-22 | 2021-01-05 | 华云数据控股集团有限公司 | 一种消息推送方法、装置及消息服务系统 |
CN112311597A (zh) * | 2020-10-28 | 2021-02-02 | 南京尚网网络科技有限公司 | 消息推送方法和装置 |
CN112565405A (zh) * | 2020-12-01 | 2021-03-26 | 彩讯科技股份有限公司 | 消息统一推送方法、系统、设备和计算机可读存储介质 |
CN112559154A (zh) * | 2020-12-23 | 2021-03-26 | 平安银行股份有限公司 | 消息发送量增长的优化方法、系统、设备及可读存储介质 |
CN114374737A (zh) * | 2022-01-12 | 2022-04-19 | 平安普惠企业管理有限公司 | 消息推送方法、装置、计算机设备及存储介质 |
CN114390451A (zh) * | 2021-12-09 | 2022-04-22 | 上海帜讯信息技术股份有限公司 | 基于消息队列的5g消息批量发送方法、装置及电子设备 |
CN115589432A (zh) * | 2022-10-21 | 2023-01-10 | 神策网络科技(北京)有限公司 | 消息推送管理方法、装置、介质及设备 |
-
2023
- 2023-06-05 CN CN202310651512.3A patent/CN116384956B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2512898A1 (en) * | 2003-01-16 | 2004-08-05 | Ironport Systems, Inc. | Electronic message delivery using a virtual gateway approach |
CN109450772A (zh) * | 2018-09-26 | 2019-03-08 | 中国平安人寿保险股份有限公司 | 一种消息发送方法、服务器及计算机可读存储介质 |
CN109525673A (zh) * | 2018-11-27 | 2019-03-26 | 五八有限公司 | 消息的目标用户配置方法、装置、服务器及可读存储介质 |
CN111078733A (zh) * | 2019-11-26 | 2020-04-28 | 金蝶软件(中国)有限公司 | 批量任务处理方法、装置、计算机设备和存储介质 |
CN112187903A (zh) * | 2020-09-22 | 2021-01-05 | 华云数据控股集团有限公司 | 一种消息推送方法、装置及消息服务系统 |
CN112311597A (zh) * | 2020-10-28 | 2021-02-02 | 南京尚网网络科技有限公司 | 消息推送方法和装置 |
CN112565405A (zh) * | 2020-12-01 | 2021-03-26 | 彩讯科技股份有限公司 | 消息统一推送方法、系统、设备和计算机可读存储介质 |
CN112559154A (zh) * | 2020-12-23 | 2021-03-26 | 平安银行股份有限公司 | 消息发送量增长的优化方法、系统、设备及可读存储介质 |
CN114390451A (zh) * | 2021-12-09 | 2022-04-22 | 上海帜讯信息技术股份有限公司 | 基于消息队列的5g消息批量发送方法、装置及电子设备 |
CN114374737A (zh) * | 2022-01-12 | 2022-04-19 | 平安普惠企业管理有限公司 | 消息推送方法、装置、计算机设备及存储介质 |
CN115589432A (zh) * | 2022-10-21 | 2023-01-10 | 神策网络科技(北京)有限公司 | 消息推送管理方法、装置、介质及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN116384956A (zh) | 2023-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018113385A1 (zh) | 对客户端的应用程序动态埋点的方法、系统、客户端及服务器 | |
CN111245900B (zh) | 一种分布式消息发送的处理系统及其处理方法 | |
CN110232010A (zh) | 一种告警方法、告警服务器及监控服务器 | |
CN106534242B (zh) | 一种分布式系统中请求的处理方法以及装置 | |
CN111694644A (zh) | 基于机器人操作系统的消息处理方法、装置及计算机设备 | |
CN103607476A (zh) | 海量消息的分布式多阶段持久化的系统及方法 | |
CN111240812A (zh) | 任务执行方法及装置 | |
CN107203464B (zh) | 业务问题的定位方法以及装置 | |
CN105553770B (zh) | 一种数据采集控制方法和装置 | |
CN116204438A (zh) | 测试用例生成方法、自动化测试方法和相关装置 | |
CN110650164A (zh) | 文件的上传方法、装置、终端以及计算机存储介质 | |
CN111881093A (zh) | 一种数据报送方法、装置及报送系统 | |
CN109409948B (zh) | 交易异常检测方法、装置、设备及计算机可读存储介质 | |
US11194637B2 (en) | Extensible alerts platform | |
CN116384956B (zh) | 一种消息批量发送方法、装置、设备和存储介质 | |
WO2016176919A1 (zh) | 一种实现考勤的方法和考勤服务端 | |
CN114282913B (zh) | 一种多主体线上签约的方法及装置 | |
CN109901950A (zh) | 一种规避应用程序崩溃的方法及装置 | |
CN115525449A (zh) | 微服务数据传输系统、方法及存储介质 | |
CN112749142B (zh) | 句柄管理方法和系统 | |
CN108965431B (zh) | Ibm主机实现事件驱动架构的方法及装置 | |
CN109902113B (zh) | 征信反馈报告处理方法及装置、存储介质、计算机设备 | |
CN112988828A (zh) | 消息推送方法及电子设备 | |
CN112435063A (zh) | 资源处理方法、装置、电子设备及存储介质 | |
CN112799796A (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 |