营销组件在线更新过程中客户端的协作方法及系统技术方案

技术编号:34915960 阅读:32 留言:0更新日期:2022-09-15 07:06
本申请涉及一种营销组件在线更新过程中客户端的协作方法及系统,先将每一个营销组件转化为一个json字符串,进而在每一个json字符串中写入至少一个原子操作序列字符串和冲突域ID,定义了冲突域的概念,以使得不同客户端对同一营销组件中的同一内容区域进行编辑时遇到的冲突问题可以自动化,去人为化地得到解决。此外,客户端执行的所有复杂修改操作都可以被拆解为不同的原子操作序列字符串,原理简单,避免给后续的OT算法带来很大的算力负担。避免给后续的OT算法带来很大的算力负担。避免给后续的OT算法带来很大的算力负担。

【技术实现步骤摘要】
营销组件在线更新过程中客户端的协作方法及系统


[0001]本申请涉及数据处理与管理
,特别是涉及一种营销组件在线更新过程中客户端的协作方法。

技术介绍

[0002]一次完整的营销活动从活动计划、落地执行,再到复盘,涉及到若干个用户之间的协作,协作过程中不仅仅使用到包括交易订单、用户信息等结构化数据,还包括文档、表格、图片、视频、活动流程等非结构化数据。
[0003]现有的结构化数据和非结构化数据的存储方案,一般是将结构化数据和非结构化数据分别存储,分别管理。
[0004]具体地,现有技术一般把结构化数据建模存储在数据仓库,数据分析师通过SQL语句进行挖掘后,使用独立BI工具展示分析结果。非结构化数据则是存储在DAM(数字资产管理系统)中,对于非结构化数据,存在协作困难的问题,比如内容在更改后,需要离线同步到相关人,多次编辑后多次同步,过程中会出现版本错误的问题,耗时耗力。
[0005]传统方案一般使用在线文档结合加锁技术来解决协作困难的问题,一般的做法是创建在线文档,向在线文档中写入结构化数据和非结构化数据,然后用户端在编辑在线文档前,先同步云端服务器的最新数据,然后向云端服务器发送加锁请求,将在线文档加锁,不允许其他用户端编辑,等用户端编辑完成后,云端服务器更新用户端编辑后的在线文档。
[0006]例如,用户端A在12时10分编辑好在线文档,向云端服务器发送加锁请求,用户端B在12时11分向云端服务器发送加锁请求,云端服务器由于是先收到用户端A的加锁请求,后收到用户端B的加锁请求,因此接收用户端A的加锁请求,对在线文档进行加锁处理,拒绝用户端B的加锁请求。在用户端A编辑在线文档完毕后,云端服务器更新用户端A编辑后的在线文档。云端服务器会返还用户端B一个提交拒绝的消息,并提示产生冲突。后续工作人员通过人工解决的方式去解决冲突。
[0007]可以看出,传统方案中使用在线文档结合加锁技术来解决协作困难的方法,有一个严重的缺陷,即只能提示产生了冲突,需要后续工作人员人工去解决冲突,并不能自动解决冲突,成本较高,且解决冲突过程中耗时严重,影响协作效率

技术实现思路

[0008]基于此,有必要针对传统方案使用在线文档结合加锁技术来解决协作困难的方法需要后续工作人员人工去解决冲突,并不能自动解决冲突,导致成本较高,且解决冲突过程中耗时严重,影响协作效率的问题,提供一种营销组件在线更新过程中客户端的协作方法。
[0009]本申请提供一种营销组件在线更新过程中客户端的协作方法,所述方法包括:
[0010]从组件服务器获取营销组件文件包中的至少一个营销组件,将每一个营销组件转化为一个json字符串并存储,将该json字符串定义为原始json字符串;
[0011]在每一个原始json字符串中写入至少一个原子操作序列字符串和冲突域ID,以在
每一个营销组件中生成至少一个冲突域;
[0012]将所有原始json字符串同步发送给每一个客户端;
[0013]判断在预设时间段内是否存在修改内容位于同一冲突域的多个不同的客户端;
[0014]若在预设时间段内存在修改内容位于同一冲突域的多个不同的客户端,则分别获取修改内容位于同一冲突域的多个不同的客户端中每一个客户端发送的json字符串中的原子操作序列字符串;
[0015]依据修改内容位于同一冲突域的多个不同的客户端中每一个客户端发送的json字符串中的原子操作序列字符串,利用OT算法生成冲突处理后的唯一json字符串,将冲突处理后的唯一json字符串同步发送给每一个客户端;
[0016]将冲突处理后的唯一json字符串存储,并替换掉原始json字符串,返回所述判断在预设时间段内是否存在修改内容位于同一冲突域的多个不同的客户端。
[0017]本申请还提供一种营销组件在线更新过程中客户端的协作系统,包括:
[0018]多个客户端;
[0019]Serverless容器,与每一个客户端通信连接,用于执行如前述内容提及的营销组件在线更新过程中客户端的协作方法;
[0020]组件服务器,与所述Serverless容器通信连接。
[0021]本申请涉及一种营销组件在线更新过程中客户端的协作方法及系统,先将每一个营销组件转化为一个json字符串,进而在每一个json字符串中写入至少一个原子操作序列字符串和冲突域ID,定义了冲突域的概念,以使得不同客户端对同一营销组件中的同一内容区域进行编辑时遇到的冲突问题可以自动化,去人为化地得到解决。此外,客户端执行的所有复杂修改操作都可以被拆解为不同的原子操作序列字符串,原理简单,避免给后续的OT算法带来很大的算力负担。
附图说明
[0022]图1为本申请一实施例提供的营销组件在线更新过程中客户端的协作方法的流程示意图。
[0023]图2为本申请一实施例提供的营销组件在线更新过程中客户端的协作系统的系统结构图。
具体实施方式
[0024]为了使本申请的目的.技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0025]本申请提供一种营销组件在线更新过程中客户端的协作方法。需要说明的是,本申请提供的营销组件在线更新过程中客户端的协作方法应用于任何类型的营销组件。
[0026]此外,本申请提供的营销组件在线更新过程中客户端的协作方法不限制其执行主体。可选地,本申请提供的营销组件在线更新过程中客户端的协作方法的执行主体可以为一种Serverless容器。
[0027]如图1所示,在本申请的一实施例中,营销组件的json序列化方法包括如下S100至
S700:
[0028]S100,从组件服务器获取营销组件文件包中的至少一个营销组件,将每一个营销组件转化为一个json字符串并存储,将该json字符串定义为原始json字符串。
[0029]具体地,营销组件指一次营销活动中需要使用的功能组件,包括但不限于文本组件、表格组件、图片组件、视频组件、流程画布组件、数据看板组件、以及审批流组件中的一种或多种。
[0030]营销组件是一种二进制对象,通过营销组件文件包的形式存在。json字符串由多个键值对组成。
[0031]S200,在每一个原始json字符串中写入至少一个原子操作序列字符串和冲突域ID,以在每一个营销组件中生成至少一个冲突域。
[0032]具体地,所有复杂的修改操作都可以被拆解为数个原子操作序列字符串。初始每个营销组件都会预先生成至少一个冲突域,当2个或2个以上的客户对处于同一冲突域中的营销组件内容进行修改时,就会触发后续的冲突处理流程。
[0033]S300,将所有原始json字符串同步发送给每一个客户端。
[0034]具体地,通过广播的方式将最终的json字符串同步发送至每一个客户端,借助微服务通用工具。...

【技术保护点】

【技术特征摘要】
1.一种营销组件在线更新过程中客户端的协作方法,其特征在于,所述方法包括:从组件服务器获取营销组件文件包中的至少一个营销组件,将每一个营销组件转化为一个json字符串并存储,将该json字符串定义为原始json字符串;在每一个原始json字符串中写入至少一个原子操作序列字符串和冲突域ID,以在每一个营销组件中生成至少一个冲突域;将所有原始json字符串同步发送给每一个客户端;判断在预设时间段内是否存在修改内容位于同一冲突域的多个不同的客户端;若在预设时间段内存在修改内容位于同一冲突域的多个不同的客户端,则分别获取修改内容位于同一冲突域的多个不同的客户端中每一个客户端发送的json字符串中的原子操作序列字符串;依据修改内容位于同一冲突域的多个不同的客户端中每一个客户端发送的json字符串中的原子操作序列字符串,利用OT算法生成冲突处理后的唯一json字符串,将冲突处理后的唯一json字符串同步发送给每一个客户端;将冲突处理后的唯一json字符串存储,并替换掉原始json字符串,返回所述判断在预设时间段内是否存在修改内容位于同一冲突域的多个不同的客户端。2.根据权利要求1所述的营销组件在线更新过程中客户端的协作方法,其特征在于,所述从组件服务器获取营销组件文件包中的至少一个营销组件,将每一个营销组件转化为一个json字符串并存储,将该json字符串定义为原始json字符串,包括:从组件服务器获取营销组件文件包,读取营销组件文件包中营销组件的框架特征;分析营销组件的框架特征,依据营销组件的框架特征将营销组件拆分为多个基础组件元素;将每个基础组件元素转化为键值对,将该键值对定义为基础组件元素键值对;创建json字符串,将不同基础组件元素的基础组件元素键值对写入所述json字符串中,并将该json字符串定义为原始json字符串。3.根据权利要求2所述的营销组件在线更新过程中客户端的协作方法,其特征在于,在一个营销组件中生成多个冲突域时,不同冲突域之间相互独立且数据隔离。4.根据权利要求3所述的营销组件在线更新过程中客户端的协作方法,其特征在于,所述判断在预设时间段内是否存在修改内容位于同一冲突域的多个不同的客户端,包括:判断在预设时间段内是否接收到大于一个的营销组件修改请求;若在预设时间段内接收到大于一个的营销组件修改请求,则读取每一个营销组件修改请求中包含的json字符串,得到多条json字符串;解析每一条json字符串,获取每一条json字符串中的营销组件ID;比对每一条json字符串中的营销组件ID,判断是否存在营销组件ID相同的多个json字符串;若存在营销组件ID相同的多个json字符串,则进一步读取营销组件ID相同的多个json字符串中每一个json字符串的原子操作序列字符串;依据营销组件ID相同的多个json字符串中每一个json字符串的原子操作序列字符串,判断营销组件ID相同的多个json字符串的修改内容是否位于同一冲突域;若营销组件ID相同的多个json字符串的修改内容位于同一冲突域,则确定在预设时间
段内存在修改内容位于同一冲突域的多个不同的客户端。5.根据权利要求4所述的营销组件在线更新过程中客户端的协作方法,其特征在于,所述预设时间段为大于等于20秒且小于等于30秒的时间区间。6.根据权利要求5所述的营销组件在线更新过程中客户端的协作方法,其特征在于,所述依据营销组件ID相同的多个json字符串中每一...

【专利技术属性】
技术研发人员:叶生晅刘佳
申请(专利权)人:杭州座头鲸科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1