一种基于动态加载和bitmap实现渠道对接及数据分析方法与流程

文档序号:35202276发布日期:2023-08-22 08:10阅读:38来源:国知局
一种基于动态加载和bitmap实现渠道对接及数据分析方法与流程

本发明涉及计算机网络和软件开发,尤其是涉及一种基于动态加载和bitmap实现销售渠道对接及数据分析方法。


背景技术:

1、营销自动化系统要实现消息触达需要有两个部分,确定需要触达的用户,以及使用何种方式进行触达。传统的方案,在使用何种方式进行触达时,通常通过两种方式来实现,第一种是在系统中内置可以触达的渠道,并且在系统中实现渠道触达接口的实现或者调用;第二种方式是定义外部的回调接口,然后通过代理网关来实现渠道触达接口的实现或者调用(即webhook方式)。

2、这两种实现方式对于私有化部署或者定制型的项目,存在缺陷,第一种方式不同的客户使用的触达渠道都不同,在产品中集成触达渠道,无法枚举所有的可能,且支持的渠道越多,系统越臃肿复杂,不利于维护。第二种方式,虽然使用代理网关减少了产品的复杂度,但是在每个客户现场都需要做对应的实施工作,每个客户现场的网关都是高度客制化的,不利于版本管理,另外,独立的网关需要独立的服务器资源来支持,整套系统的复杂度变大,不利于维护,安全方面,网关需要做认证,否则可能被攻击,这对于高并发下的性能影响比较大。

3、这两种方式还有一个最大的问题,触达调用和回执不好记录,如果是通过日志,不同触达渠道的日志可能不同,回执可能也不同,要收集这部分信息需要有单独的系统或者服务进行处理,且日志会因为大分群推送很快爆炸。


技术实现思路

1、针对现有技术存在的问题,本发明的目的在于提供一种基于动态加载和bitmap实现销售渠道对接及数据分析方法,通过动态加载插件的方式,实现不同触达渠道的全兼容,可通过动态加载插件的方式进行触达调用,同时,热加载的机制可以减轻运维压力,使得对接新的触达渠道可以无缝对接和使用,无需重新启动系统或进行系统/数据割接工作。另外,通过集中的触达行为记录和异步埋点发送模式,实现对整个触达过程的监控和分析。

2、为实现上述目的,本发明提供一种基于动态加载和bitmap实现渠道对接及数据分析方法,所述方法的包括以下步骤:

3、步骤s1,对接系统发起触达webhook类渠道触达;

4、步骤s2,通过classloader动态加载机制加载特定触达渠道的插件;

5、步骤s3,通过插件的send方法进行服务商api接口调用;

6、步骤s4,将上一步的发送记录和触达回执存放到bitmap文件里;

7、步骤s5,分析系统根据用户id,查找bitmap文件;

8、步骤s6,分析系统根据步骤s5的状态,更新数据库里触达状态,并提供给上层应用查询状态。

9、进一步,在步骤s1中,选择触达渠道,触达渠道使用服务商的api来完成触达调用,插件jar包应实现一个抽象类。

10、进一步,所述触达渠道为邮件触达,所述插件为邮箱触达插件。

11、进一步,所述触达渠道为短信触达,所述插件为短信插件。

12、进一步,所述触达渠道为公众号消息触达,所述插件为公众号消息推送插件。

13、进一步,步骤s1具体实现过程如下:

14、s1.1.定义插件抽象类,实现插件接口;

15、s1.2.提供一个消息处理抽象方法,在抽象方法内部实现业务逻辑从而实现触达渠道初始化以及接受触达调用的消息参数并做相应转换,用于将从营销系统传来的消息体解析为标准结构;

16、s1.3.定义发送函数,用于实现消息的发送,调用消息处理方法,将上一步构建好的触达消息标准结构作为http请求的内容,发送http请求,并根据http请求返回的状态码,确定请求是否执行成功;

17、s1.4.定义重试函数,用于实现失败重试,重试函数的实现方法如下:重复调用发送函数,若返回的状态码为服务异常,则打印该状态下的响应内容,并且不进行重试,若重试次数已达到,则直接返回发生失败;

18、s1.5.提供一个返回处理抽象函数,抽象函数内实现逻辑如下:在每次调用发送方法后做返回结果记录,返回结果记录写入日志。

19、进一步,步骤s1.3中的发送方法就是触达发送的调用,邮件触达类的插件需要实现这个类,并在发送方法中实现邮件服务商api调用;其逻辑及流程如下:

20、s1.3.1.基于定义的抽象类,定义一个发送邮件插件类,邮件插件类用于继承和重写抽象类的方法;

21、s1.3.2.发送邮件插件类重写抽象类的发送方法,接收发送邮件所需的参数,所述参数包括目标邮箱地址、邮件标题和邮件正文;重写的发送方法在插件实例被加载后被触达程序调用,以实现触达消息的发送;

22、s1.3.3.使用http客户端,向邮件服务商的api接口发送http post请求;

23、s1.3.4.若返回成功,记录为触达成功状态,失败记录为触达失败,超时记录为未知状态;

24、s1.3.5.通过异步的线程,刷新每个邮件触达调用的状态,如果返回有回执则记录回执状态。

25、进一步,在步骤s2中,使用类加载机制进行加载,具体实现方式如下:

26、s2.1.接收插件id和触达消息对象作为参数;

27、s2.2.在方法中首先使用自定义类加载器动态加载插件的类,再调用插件加载方法获取插件类对象;

28、s2.3.然后使用反射,获取发送方法,过程中会返回插件实例和插件的发送方法对象,并将触达消息对象作为参数传入;

29、s2.4.插件获取方法中,首先尝试从缓存中获取对应的插件方法,缓存的插件方法是上一步使用反射机制获取的实例和方法对象。

30、进一步,在步骤s3中,通过httpclient调用服务商的api。

31、进一步,步骤s6,分析系统通过获取每次调用生成的bucketbitmap确认每个用户的推送执行情况,批量更新数据库中的状态。

32、本发明的有益效果如下:通过定义插件接口,提供应用层调用,同时,触点插件实现接口对应方法,在方法里完成触达渠道逻辑实现或接口调用,最后将插件打包成jar包,放在指定目录通过java的classloader动态加载机制进行插件jar包的加载。当需要对客户进行触达时,即可使用不同的jar包,实现对不同的渠达渠道进行触达。同时,基于热加载机制和统一的接口调用方法定义,使得每个渠道触达行为都可以被记录,利用bitmap数据模型,可以将每次触达的人群及触达的情况通过bitmap来存储,从而实现超高的压缩率,也便于统计分析触达情况,且整个流程都对插件的实现无感。



技术特征:

1.一种基于动态加载和bitmap实现渠道对接及数据分析方法,其特征在于,所述方法的包括以下步骤:

2.根据权利要求1所述的基于动态加载和bitmap实现渠道对接及数据分析方法,其特征在于,在步骤s1中,选择触达渠道,触达渠道使用服务商的api来完成触达调用,插件jar包应实现一个抽象类。

3.根据权利要求1或2任一项所述的基于动态加载和bitmap实现渠道对接及数据分析方法,其特征在于,所述触达渠道为邮件触达,所述插件为邮箱触达插件。

4.根据权利要求1或2任一项所述的基于动态加载和bitmap实现渠道对接及数据分析方法,其特征在于,所述触达渠道为短信触达,所述插件为短信插件。

5.根据权利要求1或2任一项所述的基于动态加载和bitmap实现渠道对接及数据分析方法,其特征在于,所述触达渠道为公众号消息触达,所述插件为公众号消息推送插件。

6.根据权利要求3-5任一项所述的基于动态加载和bitmap实现渠道对接及数据分析方法,其特征在于,步骤s1具体实现过程如下:

7.根据权利要求3所述的基于动态加载和bitmap实现渠道对接及数据分析方法,其特征在于,其中,步骤s1.3中的发送方法就是触达发送的调用,邮件触达类的插件需要实现这个类,并在发送方法中实现邮件服务商api调用;其逻辑及流程如下:

8.根据权利要求1所述的基于动态加载和bitmap实现渠道对接及数据分析方法,其特征在于,在步骤s2中,使用类加载机制进行加载,具体实现方式如下:

9.根据权利要求1所述的基于动态加载和bitmap实现渠道对接及数据分析方法,其特征在于,在步骤s3中,通过httpclient调用服务商的api。

10.根据权利要求1所述的基于动态加载和bitmap实现渠道对接及数据分析方法,其特征在于,步骤s6,分析系统通过获取每次调用生成的bucketbitmap确认每个用户的推送执行情况,批量更新数据库中的状态。


技术总结
本发明公开了一种基于动态加载和bitmap实现渠道对接及数据分析方法,包括以下步骤:步骤S1,对接系统发起触达webhook类渠道触达;步骤S2,通过classloader动态加载机制加载特定触达渠道的插件;步骤S3,通过插件的send方法进行服务商api接口调用;步骤S4,将发送记录和触达回执存放到bitmap文件里;步骤S5,分析系统根据用户id,查找bitmap文件;步骤S6,分析系统根据步骤S5的状态,更新数据库里触达状态,并提供给上层应用查询状态。本方法能够实现对不同的渠达渠道进行触达。使得每个渠道触达行为都可以被记录,利用bitmap数据模型实现超高的压缩率。

技术研发人员:黄利舟,张溪梦,张金银,骆晓广,李锦
受保护的技术使用者:杭州比智科技有限公司
技术研发日:
技术公布日:2024/1/14
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1