一种可配置的消息推送方法和装置与流程

文档序号:24647023发布日期:2021-04-13 15:38阅读:124来源:国知局
一种可配置的消息推送方法和装置与流程

1.本发明涉及计算机技术领域,尤其涉及一种可配置的消息推送方法和可配置的消息推送装置。


背景技术:

2.在以往消息数据推送的开发部署过程中,都需要手工编写专门的数据加工脚本、消息组装脚本和推送程序,不仅费时费力,无法复用,而且在上线过程中容易产生问题。传统的消息数据推送开发过程中,脚本与配置并未分离,数据需求、消息格式或传输要求等任一需求发生变化,都需要对程序进行修改并进行手工部署,产生了大量重复工作,降低实施效率。
3.传统的消息数据推送方案包括:根据具体数据库和业务需求编写数据提取脚本,执行脚本获取数据,将数据封装成消息,推送到指定渠道端;每个消息推送需求需按照此模式重复开发,并且当数据需求或消息格式要求变更时,需重新修改数据提取脚本或是调整消息封装的格式,并再次进行部署工作。
4.现有方案中,数据提取脚本和消息封装处理均是手工开发操作,工作量大,开发时间长,且无法复用,效率低。当需求发生变更时,涉及修改文件较多,需花费较长时间进行修改测试,相关配置需进行优化。因此现有方案中,存在着工作量大、效率低下等问题。
5.如下列出与本发明相关联的一些术语:
6.nft:网络文件传输(network file transport)是使用网络的本地传输协议通过本地或全局网络(例如internet)接收或发送文件或数据的过程。


技术实现要素:

7.有鉴于此,本发明实施例提供一种可配置的消息推送方法和可配置的消息推送装置。该方法针对比较普遍的消息数据推送场景,分离配置和加工,分离数据与模板,用户通过配置数据加工规则、消息模板规则,并指定推送频率、推送时间和推送对象等,就能够实现数据的自动跑批、推送文件的自动生成、按指定的推送频率将生成的推送文件自动推送到推送对象的微信企业号,通过实施的配置化省去修改脚本的大量重复劳动,提高了上线部署和消息推送的效率,同时可以有效降低部署期间的操作风险。本发明中一套通用的可配置的消息自动化推送方案,利用配置信息和固定脚本,可自动完成消息数据的推送工作,技术人员仅需通过配置即可省去之后需要手动编写数据提取脚本和消息封装脚本的工作量,实时扫描规则配置库和消息库进行消息数据的封装,实现消息的实时自动化推送,简化上线工作并降低产生问题的可能性,提高工作质量,并且该方法具有一定的通用性,适用于大部分消息数据推送处理过程。
8.为实现上述目的,根据本发明实施例的一个方面,提供了一种可配置的消息推送方法,包括:
9.在配置表中,根据数据需求配置数据加工规则并根据业务需求配置消息模板规
则;
10.根据所述配置表中的数据加工规则和消息模板规则,将待推送的数据加工成被写入到消息表中的消息数据;并且
11.通过扫描所述配置表和所述消息表,对所述消息数据进行格式化封装,以便向相应的数据传输接口推送。
12.可选地,所述数据加工规则包括数据访问id、数据加工频率及数据查询sql等,并且所述消息模板规则包括消息内容模板、动态参数值等。
13.可选地,所述数据加工规则具体为有效标识、加工频率、数据访问标识、依赖数据库表名、数据查询sql、聚合字段、接收人字段、系统处理时间、最新数据日期。
14.可选地,所述消息模板规则具体为消息标题、功能描述、消息类型、功能描述、动态参数值、消息内容模板。
15.可选地,根据所述配置表中的数据加工规则和消息模板规则,将待推送的数据加工成被写入到消息表中的消息数据,包括:
16.手动地或者自动地根据所述配置表中的数据加工规则和消息模板规则,将待推送的数据加工成被写入到消息表中的消息数据。
17.可选地,自动地根据所述配置表中的数据加工规则和消息模板规则,将待推送的数据加工成被写入到消息表中的消息数据,包括:
18.定时脚本读取所述配置表中的数据查询sql,根据加工频率和数据最新时间来判断是否执行数据加工,若当前时间超过所述配置表中的最新数据时间,则执行所述数据加工,将消息数据写入到所述消息表中;若没有超过,则不执行所述数据加工。
19.可选地,通过扫描所述配置表和所述消息表,对所述消息数据进行格式化封装,包括:
20.通过扫描所述配置表和所述消息表,以dat文件格式,对所述消息数据进行格式化封装。
21.可选地,所述数据传输接口包括符合nft、eda、smtp协议的数据传输接口。
22.根据本发明实施例的第二方面,提供一种可配置的消息推送装置,包括:
23.配置模块,用于在配置表中,根据数据需求配置数据加工规则并根据业务需求配置消息模板规则;
24.加工模块,用于根据所述配置表中的数据加工规则和消息模板规则,将待推送的数据加工成被写入到消息表中的消息数据;并且
25.推送模块,用于通过扫描所述配置表和所述消息表,对所述消息数据进行格式化封装,以便向相应的数据传输接口推送。
26.根据本发明实施例的第三方面,提供一种实现可配置的消息推送电子设备,包括:
27.一个或多个处理器;
28.存储装置,用于存储一个或多个程序,
29.当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例第一方面提供的方法。
30.根据本发明实施例的第四方面,提供一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明实施例第一方面提供的方法。
31.上述发明中的一个实施例具有如下优点或有益效果:数据配置与加工的分离,方便维护和使用,降低数据变更上线成本;消息数据与模板的分离,降低消息处理模块的耦合性,提高消息处理效率;消息数据处理的自动化和实时化,既降低数据变更和版本出错的风险,又满足业务对数据处理的实时性需求。
32.上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施例加以说明。
附图说明
33.附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
34.图1是根据本发明实施例的可配置的消息推送方法的主要流程的示意图;
35.图2是根据本发明实施例的可配置的消息推送过程的示意图;
36.图3是根据本发明实施例的可配置的消息推送装置的主要模块的示意图;
37.图4是本发明实施例可以应用于其中的示例性装置的架构图;
38.图5是适于用来实现本发明实施例的终端设备或服务器的计算机装置的结构示意图。
具体实施方式
39.以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
40.本发明设计一种可配置的消息推送方法和装置,核心逻辑为配置和加工的分离,数据与模板的分离,将定时脚本执行任务及消息处理程序固化,使用时仅需修改相关配置或模板即可。
41.根据数据需求在界面配置数据加工规则,包括数据访问id、数据加工频率及数据查询sql等;依据业务需求配置消息模板规则,包括消息内容模板、动态参数值等;定时脚本读取配置库的数据查询sql,根据加工频率和数据最新时间来判断是否执行,若当前时间超过配置表里的最新数据时间,则提交到数据源以执行,将消息数据结果插入到消息表中;若没有超过,则不执行;消息处理程序准实时地读取消息表里的消息内容,并将其与配置表的消息模板进行匹配,以生成实际html,根据消息内容成一条消息日志,并将实际的html以及对应的用户信息封装成dat文件,通过相应传输协议传输给相应渠道,比如通过nft传输给微信公众号服务终端,同时将生成的文件路径保存到消息通知文件表。相应渠道根据收到的dat文件进行展示,比如微信端根据收到的dat文件展示在微信公众号。
42.根据本发明实施例的一个方面,提供了一种可配置的消息推送方法。图1是根据本发明实施例的可配置的消息推送方法的主要流程的示意图,如图1所示,根据本发明实施例的可配置的消息推送方法,包括:步骤s101、步骤s102和步骤s103。
43.在步骤s101中,在配置表中,根据数据需求配置数据加工规则并根据业务需求配置消息模板规则。提供了配置和加工的分离,当业务或数据需求发生变更时,只需修改相关配置参数即可,无需修改定时执行脚本。
44.在步骤s102中,根据所述配置表中的数据加工规则和消息模板规则,将待推送的数据加工成被写入到消息表中的消息数据。通过定时取数脚本和实时的消息处理程序,让消息数据在进行相关配置后即可自动定时取数并做实时数据推送处理,确保整体功能处理的自动化和实时化。
45.在步骤s103中,通过扫描所述配置表和所述消息表,对所述消息数据进行格式化封装,以便向相应的数据传输接口推送。数据与模板的分离,消息的数据通过定时执行脚本从数据源库获取,而模板则作为消息展现格式的封装形式,二者的变更互不影响,仅在最后数据被封装成指定格式的消息时才会相互关联。
46.图2是根据本发明实施例的可配置的消息推送过程的示意图,其中主要示出了三个控制逻辑部分,其分别是规则配置、消息数据加工与消息推送。如图所示,在界面处配置数据加工规则和消息模板规则,并且还可以查询已配置的数据模板规则。此后,定时脚本读取配置库的数据加工规则,符合加工条件的,提交到数据源执行,并且将数据结果写回到消息数据表中。接下来,通过消息处理程序对配置库和消息库进行实时扫描,对消息内容与模板进行匹配,以生成实际html。最后,对消息内容进行格式化封装,并按照配置库的配置调用相应的数据传输接口进行消息推送。
47.因此,需要在数据库中维护两张配置表,即针对数据加工规则的数据加工规则配置表以及针对消息模板规则的消息模板规则配置表。其中数据加工规则配置表包含的主要字段如下:
48.有效标识:消息模板是否有效,1:有效,0:无效;如果数据加工失败,会被自动修改为无效。
49.加工频率:用来定义该消息跑批的周期,频率分为“实时_10分钟”,“非实时_30分钟”,“非实时_6小时”,“非实时_24小时”,例如实时_10分钟,代表该作业每10分钟(相对于上一次作业执行结束时间)调起一次。对于一天数据更新多次的数据表,应配置为实时作业。对于一天更新一次或者多天更新一次的数据表,应配置为非实时作业。
50.数据访问标识:数据库访问控制id(并非schema),用来连接数据库的一个连接串,id里配置了连接数据库的详细信息,查询sql语句将通过连接定义的访问控制id中运行。
51.依赖数据库表名:输入格式是schema.表名:依赖的时间/日期字段,通过该字段实现按频率执行,需要设置依赖判断条件,然后会将获取的时间/日期与最新数据时间相比较,当大于的条件满足时,便会执行后面的sql脚本;不满足说明依赖表的数据未更新,在日志会显示跳过执行。例如,依赖表清单为:
52.ngb440view.f_ia_cst_bigamt_fnds_fldct_dtl:txn_lcl_tm;
53.那么系统便会执行select语句,然后取最小的时间/日期值,与最新数据日期比较,触发执行条件和单个依赖表一致。
54.数据查询sql:编写数据库select查询语句,返回的数据结果用于消息内容模板配置;
55.聚合字段:用于消息分组的字段,系统会按照聚合字段不同取值分别合成一条消息进行发送,如果不指定,则所有内容作为一条消息发送。这个字段填写的都是查询sql语句中的字段别名。聚合字段常用的场景是:按照客户经理员工编号生成多条数据,每条数据都是对应客户经理名下客户的信息,需要将客户信息发送给相应的客户经理,则需要将客
户经理员工编号指定为聚合字段。
56.接收人字段:作用是决定消息发送给谁,可以填写字段名或具体的员工编号。例如查询sql语句中返回了一个字段“接收员工编号”,则可填写“接收员工编号”。或者填写固定的员工编号:10447534,那么消息就会发送给10447534对应的员工。也可以填写多个员工编号,用逗号隔开,如10447534,10337856,则所有消息就会发送给这两个员工编号对应的员工。
57.系统处理时间:系统处理事件为该作业的系统调起的时间,不需要设置,作业调起时系统自动写入。
58.最新数据日期:最新数据日期代表的是该作业上一次执行中的eddt的变量值,是上一次执行依赖条件语句中的值,也是下一次执行语句传入的stdt的变量值。该变量值也无需设置,每次执行系统会将最新数据时间写入。
59.消息模板规则配置表包含的主要字段如下:
60.消息标题:填写推送消息的标题名称。
61.功能描述:对模板功能的具体描述,如“智数动查错误通知”。
62.消息类型:包括微信公众号、app消息和邮件三种类型。
63.功能描述:对模板功能的具体描述,如“智数动查错误通知”。
64.动态参数值:用于定义系统自动生成的文件名格式,配置示例如下:
65.{"ccbinsid":"440000000","systemname":"edagdzh","projectname":"lcdqtx","filename":"@systemname@_message_@projectname@_@sysdate@_@seq@.dat"}
66.其中,“ccbinsid”为分行机构号;“systemname”为推送微信企业号栏目系统名缩写;“projectname”为项目代码;“filename”为待推送文件名称格式。
67.消息内容模板:采用模板和数据分离的方式实现,定义消息的内容结构,采用freemarker格式编写。该部分代码,在后面生成文件的时候,会传入html的body版块,在这里可以个性化定制推送展现的形式以及功能,可以写css,html,以及js代码。
68.图3是根据本发明实施例的可配置的消息推送装置300的主要模块的示意图,如图3所示,可配置的消息推送装置300包括:配置模块301,用于在配置表中,根据数据需求配置数据加工规则并根据业务需求配置消息模板规则;加工模块302,用于根据所述配置表中的数据加工规则和消息模板规则,将待推送的数据加工成被写入到消息表中的消息数据;以及推送模块303,用于通过扫描所述配置表和所述消息表,对所述消息数据进行格式化封装,以便向相应的数据传输接口推送。
69.根据本发明的一个实施例,提供一种可配置的消息推送电子设备,包括:
70.一个或多个处理器;
71.存储装置,用于存储一个或多个程序,
72.当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例第一方面提供的方法。
73.根据本发明的又一实施例,提供一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明实施例第一方面提供的方法。
74.图4示出了可以应用本发明实施例的可配置的消息推送方法或可配置的消息推送装置的示例性装置架构400。
75.如图4所示,装置架构400可以包括终端设备401、402、403,网络404和服务器405。网络404用以在终端设备401、402、403和服务器405之间提供通信链路的介质。网络404可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
76.用户可以使用终端设备401、402、403通过网络404与服务器405交互,以接收或发送消息等。终端设备401、402、403上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
77.终端设备401、402、403可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
78.应该理解,图4中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
79.下面参考图5,其示出了适于用来实现本发明实施例的终端设备的计算机装置500的结构示意图。图5示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
80.如图5所示,计算机装置500包括中央处理单元(cpu)501,其可以根据存储在只读存储器(rom)502中的程序或者从存储部分508加载到随机访问存储器(ram)503中的程序而执行各种适当的动作和处理。在ram 503中,还存储有装置500操作所需的各种程序和数据。cpu 501、rom 502以及ram 503通过总线504彼此相连。输入/输出(i/o)接口505也连接至总线504。
81.以下部件连接至i/o接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至i/o接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。
82.特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。在该计算机程序被中央处理单元(cpu)501执行时,执行本发明的装置中限定的上述功能。
83.需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的装置、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd

rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行装置、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,
其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行装置、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。
84.附图中的流程图和框图,图示了按照本发明各种实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的装置来实现,或者可以用专用硬件与计算机指令的组合来实现。
85.描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括:任务生成模块,响应于用户存放尾箱的任务申请生成存箱任务请求,将所述存箱任务请求发送至服务端;任务执行模块,接收所述服务端响应于所述存箱任务请求生成的第一动态密码以及所述用户输入的存箱密码;对第一动态密码和所述存箱密码进行校验,并在校验通过时执行存箱任务以将与所述尾箱绑定的保管袋存入数据分箱装置。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,任务生成模块还可以被描述为“执行存箱任务的模块”。
86.作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:响应于用户存放尾箱的任务申请生成存箱任务请求,将所述存箱任务请求发送至服务端;接收所述服务端响应于所述存箱任务请求生成的第一动态密码以及所述用户输入的存箱密码;对第一动态密码和所述存箱密码进行校验,并在校验通过时执行存箱任务以将与所述尾箱绑定的保管袋存入数据分箱装置。
87.根据本发明实施例的技术方案,预先将网点的尾箱与保管袋绑定,通过保管袋将尾箱内的物品存放至网点的数据分箱装置,能保障特殊气象条件、堵车等情况下全部网点能够正常时间开门营业。同时由于无需日始日终押运,可压缩押运、寄库费用,降低运营成本,还能减少网点业务人员工作时间,提高工作效率。
88.上述具体实施例,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1