CN113760871B - 一种模板同步方法和装置 - Google Patents

一种模板同步方法和装置 Download PDF

Info

Publication number
CN113760871B
CN113760871B CN202010827913.6A CN202010827913A CN113760871B CN 113760871 B CN113760871 B CN 113760871B CN 202010827913 A CN202010827913 A CN 202010827913A CN 113760871 B CN113760871 B CN 113760871B
Authority
CN
China
Prior art keywords
template
mark
template information
message
object list
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
CN202010827913.6A
Other languages
English (en)
Other versions
CN113760871A (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.)
Beijing Jingdong Century Trading Co Ltd
Beijing Wodong Tianjun Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Wodong Tianjun Information Technology 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 Beijing Jingdong Century Trading Co Ltd, Beijing Wodong Tianjun Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN202010827913.6A priority Critical patent/CN113760871B/zh
Publication of CN113760871A publication Critical patent/CN113760871A/zh
Application granted granted Critical
Publication of CN113760871B publication Critical patent/CN113760871B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Quality & Reliability (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种模板同步方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:接收客户端传输的同步模板请求,获取所述同步模板请求中的入参;调用与所述操作类型对应的操作方法,处理所述模板信息和所述对象列表,得到对象集合,并对集合中的每个对象添加操作标记;基于所述模板信息、集合中各对象的标识和操作标记,生成消息并以消息队列形式传输至服务端,以在所述服务端处同步对象与模板之间的绑定关系。该实施方式通过回调方式抽离个性化的操作流程,将模板模式业务以扩展包方式对外赋能,以组件的形式进行快速添加配置。

Description

一种模板同步方法和装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种模板同步方法和装置。
背景技术
模板模式在互联网应用中非常广泛,例如商品绑定的时效模板、商家绑定的运费模板等。模式页面需先设置模板,之后选择关联的对象,如商品、商家或地区等。而在保存时需先保存模板,然后再保存每一个对象与模板之间的绑定关系,便于在商品页展示,结算页计费时以商品、商家或地区为维度查询。
目前保存方式分有两种:
1、同步建立:即接收前端提交的请求,在创建模板、生成模板ID后,存储需绑定的对象和模板ID的关系,待存储完毕后,反馈执行结果。
2、异步建立:即接收前端提交的请求,创建模板并反馈至前端“模板关系正在同步中”,异步存储对象和模板ID之间的绑定关系,存储完毕后再通知前端更新状态。
在实现本发明的过程中,发明人发现现有技术至少存在如下问题:
1、同步方式在需绑定的对象数量较多的情况下,易造成阻塞超时现象,***性能和稳定性随着对象数量的增大而变差,导致响应时长增长。
2、异步方式需针对特定场景开发,复用性差;绑定关系时易失败,失败补偿难以控制,且无法高效获取到执行进度,用户感知度差;难以获取重试次数或需特殊逻辑对数据库做统计,对***性能损耗较大,虽可通过MQ做重试,但无法快速实现重试;当模板关系需要更新时,需特殊处理已经绑定的关系(更新)、未绑定的关系(添加)、已经删除的关系(删除),处理逻辑复杂。
发明内容
有鉴于此,本发明实施例提供一种模板同步方法和装置,至少能够解决现有技术中存储模板和绑定关系不理想的现象。
为实现上述目的,根据本发明实施例的一个方面,提供了一种模板同步方法,包括:
接收客户端传输的同步模板请求,获取所述同步模板请求中的入参;其中,入参至少包括模板信息、待绑定的对象列表和操作类型;
调用与所述操作类型对应的操作方法,处理所述模板信息和所述对象列表,得到对象集合,并对集合中的每个对象添加操作标记;
基于所述模板信息、集合中各对象的标识和操作标记,生成消息并以消息队列形式传输至服务端,以在所述服务端处同步对象与模板之间的绑定关系。
可选的,所述操作类型为创建;
所述调用与所述操作类型对应的操作方法,处理所述模板信息和所述对象列表,得到对象集合,并对集合中的每个对象添加操作标记,包括:
调用创建模板方法,基于所述模板信息生成模板,将所述模板信息存储至数据库中以及将存储编号作为所述模板的标识;
将所述对象列表中对象构成的集合作为待新建对象集合,并对集合中的每个对象添加新建标记。
可选的,所述操作类型为删除,所述模板信息包括模板标识,所述对象列表为空;
所述调用与所述操作类型对应的操作方法,处理所述模板信息和所述对象列表,得到对象集合,并对集合中的每个对象添加操作标记,包括:
调用删除模板方法,基于所述模板标识,在数据库中查询模板已同步的历史模板信息和已绑定的历史对象列表;
删除所述历史模板信息,将所述历史对象列表中对象构成的集合作为待删除对象集合,并对集合中的每个对象添加删除标记。
可选的,所述操作类型为修改,所述模板信息包括模板标识;
所述调用与所述操作类型对应的操作方法,处理所述模板信息和所述对象列表,得到对象集合,并对集合中的每个对象添加操作标记,包括:
调用修改模板方法,基于所述模板标识,在数据库中查询模板已同步的历史模板信息和已绑定的历史对象列表,将所述历史模板信息替换为所述模板信息;
将所述历史对象列表和所述对象列表的交集,作为待更新对象集合,并对集合中的每个对象添加更新标记;
将属于所述对象列表且不属于所述历史对象列表的对象构成的集合作为待新建对象集合,并对集合中的每个对象添加新建标记;
将属于所述历史对象列表且不属于所述对象列表的对象构成的集合作为待删除对象集合,并对集合中的每个对象添加删除标记。
可选的,所述在所述服务端处同步对象与模板之间的绑定关系,包括:
所述服务端在监听到消息触达时,获取所述消息中的操作标记、对象标识和模板信息,确定与所述对象标识对应的对象;
调用与所述操作标记对应的接口,以在数据库中针对所述模板,执行对所述对象的新建、删除或修改绑定关系操作。
可选的,在对集合中的每个对象添加操作标记之后,还包括:将集合中各对象的标识和重试次数保存至哈希表中;其中,初次保存时的重试次数为0;
在所述调用与所述操作标记对应的接口之前,还包括:在所述哈希表中查询与所述对象标识对应的重试次数,若重试次数大于或等于预定重试次数阈值,则结束对所述消息的执行逻辑;
所述调用与所述操作标记对应的接口,还包括:
若调用成功,则删除所述哈希表中与所述对象标识对应的数据;或
若调用失败,则将重试次数加1并更新至所述哈希表中,抛出异常,以通过消息重试机制再次推送消息。
可选的,所述入参还包括业务类型;
所述调用与所述操作类型对应的操作方法,包括:调用与所述业务类型和所述操作类型对应的操作方法;
所述调用与所述操作标记对应的接口,包括:调用与所述业务类型和所述操作标记对应的接口。
可选的,在所述调用与所述操作类型对应的操作方法之前,还包括:
在操作类型为删除或修改时,采用分布式锁方法,判断所述模板标识当前是否为锁定状态,若未锁,则对所述模板标识进行加锁操作;
所述基于所述模板标识,在数据库中查询模板已同步的历史模板信息和已绑定的历史对象列表,还包括:
若查询所述历史对象列表失败,则解除所述模板标识的锁定状态。
可选的,还包括:确定哈希表中的数据总量,获取当前剩余的数据量,计算剩余数据量在所述数据总量中的占比,将所述占比作为当前执行进度;其中,哈希表中的数据对应于一模板信息、一对象标识和一操作标记;
若剩余数据量为零,则确定同步绑定关系结束,解除所述模板标识的锁定状态。
为实现上述目的,根据本发明实施例的另一方面,提供了一种模板同步装置,包括:
请求接收模块,用于接收客户端传输的同步模板请求,获取所述同步模板请求中的入参;其中,入参至少包括模板信息、待绑定的对象列表和操作类型;
操作标记模块,用于调用与所述操作类型对应的操作装置,处理所述模板信息和所述对象列表,得到对象集合,并对集合中的每个对象添加操作标记;
关系同步模块,用于基于所述模板信息、集合中各对象的标识和操作标记,生成消息并以消息队列形式传输至服务端,以在所述服务端处同步对象与模板之间的绑定关系。
可选的,所述操作类型为创建;
所述操作标记模块,用于:
调用创建模板装置,基于所述模板信息生成模板,将所述模板信息存储至数据库中以及将存储编号作为所述模板的标识;
将所述对象列表中对象构成的集合作为待新建对象集合,并对集合中的每个对象添加新建标记。
可选的,所述操作类型为删除,所述模板信息包括模板标识,所述对象列表为空;
所述操作标记模块,用于:
调用删除模板装置,基于所述模板标识,在数据库中查询模板已同步的历史模板信息和已绑定的历史对象列表;
删除所述历史模板信息,将所述历史对象列表中对象构成的集合作为待删除对象集合,并对集合中的每个对象添加删除标记。
可选的,所述操作类型为修改,所述模板信息包括模板标识;
所述操作标记模块,用于:
调用修改模板装置,基于所述模板标识,在数据库中查询模板已同步的历史模板信息和已绑定的历史对象列表,将所述历史模板信息替换为所述模板信息;
将所述历史对象列表和所述对象列表的交集,作为待更新对象集合,并对集合中的每个对象添加更新标记;
将属于所述对象列表且不属于所述历史对象列表的对象构成的集合作为待新建对象集合,并对集合中的每个对象添加新建标记;
将属于所述历史对象列表且不属于所述对象列表的对象构成的集合作为待删除对象集合,并对集合中的每个对象添加删除标记。
可选的,所述关系同步模块,用于:
所述服务端在监听到消息触达时,获取所述消息中的操作标记、对象标识和模板信息,确定与所述对象标识对应的对象;
调用与所述操作标记对应的接口,以在数据库中针对所述模板,执行对所述对象的新建、删除或修改绑定关系操作。
可选的,还包括存储模块,用于将集合中各对象的标识和重试次数保存至哈希表中;其中,初次保存时的重试次数为0;
判断模块,用于在所述哈希表中查询与所述对象标识对应的重试次数,若重试次数大于或等于预定重试次数阈值,则结束对所述消息的执行逻辑;
所述关系同步模块,还用于:
若调用成功,则删除所述哈希表中与所述对象标识对应的数据;或
若调用失败,则将重试次数加10并更新至所述哈希表中,抛出异常,以通过消息重试机制再次推送消息。
可选的,所述入参还包括业务类型;
所述操作标记模块,用于调用与所述业务类型和所述操作类型对应的操作装置;
所述关系同步模块,用于调用与所述业务类型和所述操作标记对应的接口。
可选的,还包括加锁模块,用于:
在操作类型为删除或修改时,采用分布式锁装置,判断所述模板标识当前是否为锁定状态,若未锁,则对所述模板标识进行加锁操作;
以及解锁模块,用于:
若查询所述历史对象列表失败,则解除所述模板标识的锁定状态。
可选的,还包括进度计算模块,用于:
确定哈希表中的数据总量,获取当前剩余的数据量,计算剩余数据量在所述数据总量中的占比,将所述占比作为当前执行进度;其中,哈希表中的数据对应于一模板信息、一对象标识和一操作标记;
若剩余数据量为零,则确定同步绑定关系结束,解除所述模板标识的锁定状态。
为实现上述目的,根据本发明实施例的再一方面,提供了一种模板同步电子设备。
本发明实施例的电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任一所述的模板同步方法。
为实现上述目的,根据本发明实施例的再一方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现上述任一所述的模板同步方法。
根据本发明所述提供的方案,上述发明中的一个实施例具有如下优点或有益效果:分为模板处理阶段和模板绑定关系保存阶段,支持分布式***以及多种业务的同时接入,通过回调方式抽离个性化的操作流程,将模板模式业务以扩展包方式对外赋能,以组件的形式进行快速添加配置,使用者只需要关注自身业务数据的增删改查和简单的配置即可。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的一种模板同步方法的主要流程示意图;
图2是根据本发明实施例的操作类型为新建的对象集合处理流程示意图;
图3是根据本发明实施例的操作类型为删除的对象集合处理流程示意图;
图4是根据本发明实施例的操作类型为新建的对象集合处理流程示意图;
图5是根据本发明实施例的一种可选的模板同步方法的流程示意图;
图6是根据本发明实施例的另一种可选的模板同步方法的流程示意图;
图7是根据本发明实施例的一种模板同步装置的主要模块示意图;
图8是本发明实施例可以应用于其中的示例性***架构图;
图9是适于用来实现本发明实施例的移动设备或服务端的计算机***的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
需要说明的是,模板模式是比较常见的场景,很多领域都会用到,例如邮件/短信模板、运费模板、服务费模板、时效模板等,本发明对模板使用领域不做限定。
参见图1,示出的是本发明实施例提供的一种模板同步方法的主要流程图,包括如下步骤:
S101:接收客户端传输的同步模板请求,获取所述同步模板请求中的入参;其中,入参至少包括模板信息、待绑定的对象列表和操作类型;
S102:调用与所述操作类型对应的操作方法,处理所述模板信息和所述对象列表,得到对象集合,并对集合中的每个对象添加操作标记;
S103:基于所述模板信息、集合中各对象的标识和操作标记,生成消息并以消息队列形式传输至服务端,以在所述服务端处同步对象与模板之间的绑定关系。
上述实施方式中,对于步骤S101和S102,服务端提供模板操作接口,客户端实现该接口中的相应方法,包括模板的增删改查和绑定关系的增删改查。
客户端根据业务需求,拼接并提供入参,包括模板信息、对象列表和操作类型;其中,操作类型分为创建(创建模板及绑定关系)、修改(修改模板及绑定关系)和删除(删除模板及绑定关系)。
以下针对不同操作类型分别进行描述:
1)对于创建类型,入参包括模板信息、对象列表和操作类型,且模板信息中不包含模板ID,参见图2所示。
调用“模板的增删改查接口”的创建模板方法,基于模板信息生成新的模板。模板在创建后将模板信息同步保存到数据库时,会将存储编号(可以是序号或是基于一定规则生成的编号)作为模板ID,也可以在业务内部生成ID并传入,方式不做限定。
由于模板为新创建的,即表示相应绑定关系也需要新创建,具体地,将对象列表中对象构成的集合作为待新建对象集合,并对集合中的每个对象添加新建标记。
2)对于删除类型,入参包括模板信息(包括模板ID)和操作类型,此时对象列表为空,参见图3所示。
调用“模板的增删改查接口”的删除模板方法,基于模板信息中的模板ID,在数据库中查询该模板之前已同步的模板信息以及已绑定的历史对象列表。
由于本次操作类型为删除,因此可以直接删除历史模板信息。但绑定关系需要业务***下游处理,所以此处仅仅是将历史对象列表中对象构成的集合作为待删除对象集合,并对集合中的每个对象添加删除标记,之后由下游处理绑定关系。
3)对于修改类型,入参包括模板信息(包括模板ID)、对象列表和操作类型,参见图4所示。
调用“模板的增删改查接口”的修改模板方法,基于模板信息中的模板ID,在数据库中查询该模板之前已同步的模板信息以及已绑定的历史对象列表。由于本次操作类型为修改,因此可以直接删除历史模板信息,重新存储新的模板信息。
比对新传入的对象列表(集合A)和历史对象列表(集合B)的差异,A∩B为待更新对象集合,B-A为待删除对象集合,A-B为待新建对象集合,可利用Guava集合算法计算差集、交集等方法快速实现。
为便于后续业务***下服务端对绑定关系的快速处理,本方案针对不同集合设置不同的操作标记,如更新标记、删除标记和新建标记,具体添加至集合中的对象上。这三类操作标记是业务***需要关注的,以确定哪些绑定关系需要创建、哪些需要删除以及哪些需要修改。
需要说明的是,当业务***中模板数量和种类较多时,可以按照业务类型进行分类并设置相应的“模板的增删改查和绑定关系的增删改查”接口。例如,针对时效模板的新创建,调用的是时效业务下的创建模板方法。
对于步骤S103,将集合中的所有绑定关系,按照操作标记、各对象的ID和模板信息,针对一对象生成一消息,最终以MQ形式发送至业务***。该MQ是jar包对流程步骤的封装,通知业务***下游执行绑定关系的同步,具体参见后续图5所示描述。
上述实施例提供的方法,支持分布式***以及多种业务的同时接入,通过回调方式抽离个性化的操作流程,将模板模式业务以扩展包(jar包等)方式对外赋能,以组件的形式进行快速添加配置,使用者只需要关注自身业务数据的增删改查和简单的配置即可。
参见图5,示出了根据本发明实施例的一种可选的模板同步方法流程示意图,包括如下步骤:
S501:接收客户端传输的同步模板请求,获取所述同步模板请求中的入参;其中,入参至少包括模板信息、待绑定的对象列表和操作类型;
S502:在操作类型为删除或修改时,采用分布式锁方法,判断所述模板信息中的模板标识当前是否为锁定状态,若未锁,则对所述模板标识进行加锁操作;
S503:调用与所述操作类型对应的操作方法,处理所述模板信息和所述对象列表,得到对象集合,并对集合中的每个对象添加操作标记;
S504:基于所述模板信息、集合中各对象的标识和操作标记,生成消息并以消息队列形式传输至服务端,以在所述服务端处同步对象与模板之间的绑定关系。
上述实施方式中,对于步骤S501、S503和S504可参见图1所示步骤S101~S103、图2~图4所示描述,在此不再赘述。
上述实施方式中,对于步骤S502,以Redis为例,在调用操作方法之前,采用Redis的setNx方法,以业务类型(例如shixiao、yunfei等)和模板ID为key,待处理的对象数量为value,如待绑定时效模板的商品总数、待绑定运费模板的商家或者店铺总数。此处使用setNx方法有两个作用:
1、针对不同模板ID存储待处理的对象数量,用于后续进度计算。
2、使用setNx原子特性避免多人操作同一个模板的情况:setNx只会对第一个请求返回1,并锁定模板ID,其他均为0,表示模板及绑定关系流程未结束,反馈结果不可重复执行。例如两个人同时操作一个模板,会告知第二人操作重复。
需要说明的是,对于操作类型为新建的情况,由于未生成模板ID,故直接处理,无需加锁、解锁。而对于操作类型为修改或删除的情况,需对模板ID加锁。后续解锁分有两种情况:
1)在数据库中查询历史对象列表失败时会删除,并反馈失败原因,如客户端在实现接口业务时出现的一些异常,数据组装失败、数据查询失败以及其他各类原因抛出异常,以通知用户保存或者修改失败。
2)在服务端同步绑定关系完毕后,解除模板ID的锁定状态。
此处具体举例,设定X***为业务***(可以为分布式***,包含a、b、c等多台服务端),接入jar包并实现模板增删改查接口、绑定关系的增删改查接口。此处以模板为时效模板、操作类型为修改为例进行描述:
1、商家在客户端界面修改了时效模板中的信息,选择需要绑定的SKU(假设原来该模板绑定了100个SKU,商家删除其中10个旧SKU并添加了20个新的SKU,生成待绑定的对象列表共110个SKU),点击提交按钮。
2、X***中的a服务端收到该商家提交的同步模板请求,获取请求中的入参,包括操作类型为修改、待绑定的对象列表、模板信息(包括模板ID)和业务类型shixiao,之后调用jar包中的修改模板的方法:
1)由于操作类型为修改(非创建),则利用Redis的setNx方法判断该模板ID当前是否为锁定状态,若未锁定,则对该模板ID执行加锁操作,;
2)调用模板修改方法,将数据库中与模板ID对应的历史模板信息替换为本次提交的模板信息,修改成功后,基于模板ID查询该模板之前在数据库中已绑定的历史对象列表(一个SKU对应于一个绑定关系数据),共100个SKU;
3)对比历史对象列表(100个SKU)和商家本次提交的新对象列表(110个SKU),计算出三个集合,分别是:待删除SKU集合(商家删除的10个SKU)、待新建SKU集合(商家新增的20个SKU)以及未变动的SKU集合(90个,由业务***自主决定修改或不变动),并分别添加删除标记、新建标记和更新标记,最终每个SKU都有各自的操作标记(增/删/改);
4)上述三个SKU集合的SKU总数量为120个,分别将三个SKU集合中的数据取出,组装参数(模板信息(包括模板ID)、SKU的标识和操作标记等),发送MQ(分别发送,总共120个消息),随机落在a、b、c…服务端上。
需要说明的是,上述MQ发送,实质为X***发到X***内消费,通过这种方式把模板同步和绑定关系同步解耦,然后通过集群的处理能力来分担处理压力、提高处理效率。
上述实施例所提供的方法,通过使用Redis对模板ID加锁,提升业务流程的安全性,避免多人同时操作同一模板导致数据相互覆盖的情况。
参见图6,示出了根据本发明实施例的另一种可选的模板同步方法流程示意图,包括如下步骤:
S601:接收客户端传输的同步模板请求,获取所述同步模板请求中的入参;其中,入参至少包括模板信息、待绑定的对象列表和操作类型;
S602:调用与所述操作类型对应的操作方法,处理所述模板信息和所述对象列表,得到对象集合,并对集合中的每个对象添加操作标记;
S603:基于所述模板信息、集合中各对象的标识和操作标记,生成消息并以消息队列形式传输至服务端;
S604:服务端在监听到消息触达时,获取所述消息中的操作标记、对象标识和模板信息,确定与所述对象标识对应的对象;
S605:调用与所述操作标记对应的接口,以在数据库中针对所述模板,执行对所述对象的新建、删除或修改绑定关系操作。
上述实施方式中,对于步骤S601~S603可参见图1所示步骤S101~S102、图2~图4所示描述,在此不再赘述。
上述实施方式中,对于步骤S604和S605,业务***可以为分布式***,配置有多个服务端,MQ中的消息会随机分配至其中一个服务端中。Jar包中设有MQ监听机制,当服务端监听到有消息触达时,即可根据消息中的操作标记、对象标识和模板信息,确定待处理的对象。
此处同样针对不同的操作标记设置有不同的接口,进一步的,当入参包括业务类型时,需根据业务类型和操作标记调用对应绑定关系接口实现的方法。
为管理形象化,此处设有哈希表。以Redis为例,利用hSet方法,以key为业务类型、固定字符(relation)与模板ID的拼接,filed为待处理对象ID,value为重试次数默认为0,保存至哈希表中。这是一种存储结构,主要保存每一个需要操作的对象和已重试的次数,后续在同步模板绑定关系成功时会删除这些数据,但若同步失败则会对重试次数累加。
因此在处理绑定关系之前,首先根据消息中的对象标识,查看哈希表中该对象的重试次数是否大于或等于预定重试次数阈值:
1)如果未超过,则根据消息中的操作标记,调用对应绑定关系接口实现的方法。但若调用失败,则将重试次数加1后重新更新到哈希表中,抛出异常,MQ重试机制将再次推送消息。需要说明的是,初次保存时重试次数均为0。
2)如果大于或等于,则结束这条消息的执行逻辑。
在绑定关系处理成功后,将删除哈希表中与该对象标识对应的数据。判断哈希表中的数据剩余量是否为0,不为0表示绑定关系未处理完毕,若为0则表示绑定关系已经同步完毕,可以删除模板锁,整体流程结束。
设置哈希表的另一个用途,还可用于分析执行结果。如添加操作标记后,确定哈希表中需处理的对象总数量。在将消息传输至服务端处理后,基于服务端传输的结果执行删除哈希表中数据的操作。
计算数据剩余量与数据总量的占比,以此确定当前执行进度,在页面中展示任务正在执行。该功能以对外接口方式提供,使用者可以动态查询,用以获取进度展示给前端。
上述实施例所提供的方法,利用分布式存储特性,增强监控绑定关系操作状态,并在进度计算、重试补偿等功能方面做补充。
参见图7,示出了本发明实施例提供的一种模板同步装置700的主要模块示意图,包括:
请求接收模块701,用于接收客户端传输的同步模板请求,获取所述同步模板请求中的入参;其中,入参至少包括模板信息、待绑定的对象列表和操作类型;
操作标记模块702,用于调用与所述操作类型对应的操作装置,处理所述模板信息和所述对象列表,得到对象集合,并对集合中的每个对象添加操作标记;
关系同步模块703,用于基于所述模板信息、集合中各对象的标识和操作标记,生成消息并以消息队列形式传输至服务端,以在所述服务端处同步对象与模板之间的绑定关系。
本发明实施装置中,所述操作类型为创建;
所述操作标记模块702,用于:调用创建模板装置,基于所述模板信息生成模板,将所述模板信息存储至数据库中以及将存储编号作为所述模板的标识;
将所述对象列表中对象构成的集合作为待新建对象集合,并对集合中的每个对象添加新建标记。
本发明实施装置中,所述操作类型为删除,所述模板信息包括模板标识,所述对象列表为空;
所述操作标记模块702,用于:调用删除模板装置,基于所述模板标识,在数据库中查询模板已同步的历史模板信息和已绑定的历史对象列表;
删除所述历史模板信息,将所述历史对象列表中对象构成的集合作为待删除对象集合,并对集合中的每个对象添加删除标记。
本发明实施装置中,所述操作类型为修改,所述模板信息包括模板标识;
所述操作标记模块702,用于:调用修改模板装置,基于所述模板标识,在数据库中查询模板已同步的历史模板信息和已绑定的历史对象列表,将所述历史模板信息替换为所述模板信息;
将所述历史对象列表和所述对象列表的交集,作为待更新对象集合,并对集合中的每个对象添加更新标记;
将属于所述对象列表且不属于所述历史对象列表的对象构成的集合作为待新建对象集合,并对集合中的每个对象添加新建标记;
将属于所述历史对象列表且不属于所述对象列表的对象构成的集合作为待删除对象集合,并对集合中的每个对象添加删除标记。
本发明实施装置中,所述关系同步模块703,用于:所述服务端在监听到消息触达时,获取所述消息中的操作标记、对象标识和模板信息,确定与所述对象标识对应的对象;
调用与所述操作标记对应的接口,以在数据库中针对所述模板,执行对所述对象的新建、删除或修改绑定关系操作。
本发明实施装置还包括存储模块704(图中未标出),用于将集合中各对象的标识和重试次数保存至哈希表中;其中,初次保存时的重试次数为0;
判断模块705(图中未标出),用于在所述哈希表中查询与所述对象标识对应的重试次数,若重试次数大于或等于预定重试次数阈值,则结束对所述消息的执行逻辑;
所述关系同步模块703,还用于:若调用成功,则删除所述哈希表中与所述对象标识对应的数据;或
若调用失败,则将重试次数加10并更新至所述哈希表中,抛出异常,以通过消息重试机制再次推送消息。
本发明实施装置中,所述入参还包括业务类型;
所述操作标记模块702,用于调用与所述业务类型和所述操作类型对应的操作装置;
所述关系同步模块703,用于调用与所述业务类型和所述操作标记对应的接口。
本发明实施装置还包括加锁模块706(图中未标出),用于:
在操作类型为删除或修改时,采用分布式锁装置,判断所述模板标识当前是否为锁定状态,若未锁,则对所述模板标识进行加锁操作;
以及解锁模块,用于:
若查询所述历史对象列表失败,则解除所述模板标识的锁定状态。
本发明实施装置还包括进度计算模块707(图中未标出),用于:
确定哈希表中的数据总量,获取当前剩余的数据量,计算剩余数据量在所述数据总量中的占比,将所述占比作为当前执行进度;其中,哈希表中的数据对应于一模板信息、一对象标识和一操作标记;
若剩余数据量为零,则确定同步绑定关系结束,解除所述模板标识的锁定状态。
另外,在本发明实施例中所述装置的具体实施内容,在上面所述方法中已经详细说明了,故在此重复内容不再说明。
图8示出了可以应用本发明实施例的示例性***架构800。
如图8所示,***架构800可以包括终端设备801、802、803,网络804和服务端805(仅仅是示例)。网络804用以在终端设备801、802、803和服务端805之间提供通信链路的介质。网络804可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备801、802、803通过网络804与服务端805交互,以接收或发送消息等。终端设备801、802、803上可以安装有各种通讯客户端应用。
终端设备801、802、803可以是具有显示屏并且支持网页浏览的各种电子设备,服务端805可以是提供各种服务的服务端。
需要说明的是,本发明实施例所提供的方法一般由服务端805执行,相应地,装置一般设置于服务端805中。
应该理解,图8中的终端设备、网络和服务端的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务端。
下面参考图9,其示出了适于用来实现本发明实施例的终端设备的计算机***900的结构示意图。图9示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图9所示,计算机***900包括中央处理单元(CPU)901,其可以根据存储在只读存储器(ROM)902中的程序或者从存储部分908加载到随机访问存储器(RAM)903中的程序而执行各种适当的动作和处理。在RAM 903中,还存储有***900操作所需的各种程序和数据。CPU 901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
以下部件连接至I/O接口905:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至I/O接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被中央处理单元(CPU)901执行时,执行本发明的***中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括请求接收模块、操作标记模块、关系同步模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,关系同步模块还可以被描述为“同步绑定关系模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:
接收客户端传输的同步模板请求,获取所述同步模板请求中的入参;其中,入参至少包括模板信息、待绑定的对象列表和操作类型;
调用与所述操作类型对应的操作装置,处理所述模板信息和所述对象列表,得到对象集合,并对集合中的每个对象添加操作标记;
基于所述模板信息、集合中各对象的标识和操作标记,生成消息并以消息队列形式传输至服务端,以在所述服务端处同步对象与模板之间的绑定关系。
根据本发明实施例的技术方案,分为模板处理阶段和模板绑定关系保存阶段,支持分布式***以及多种业务的同时接入,通过回调方式抽离个性化的操作流程,将模板模式业务以扩展包(jar包等)方式对外赋能,以组件的形式进行快速添加配置,使用者只需要关注自身业务数据的增删改查和简单的配置即可。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (12)

1.一种模板同步方法,其特征在于,包括:
接收客户端传输的同步模板请求,获取所述同步模板请求中的入参;其中,入参至少包括模板信息、待绑定的对象列表和操作类型;
调用与所述操作类型对应的操作方法,处理所述模板信息和所述对象列表,得到对象集合,并对集合中的每个对象添加操作标记;
基于所述模板信息、集合中各对象的标识和操作标记,生成消息并以消息队列形式传输至服务端,以在所述服务端处同步对象与模板之间的绑定关系。
2.根据权利要求1所述的方法,其特征在于,所述操作类型为创建;
所述调用与所述操作类型对应的操作方法,处理所述模板信息和所述对象列表,得到对象集合,并对集合中的每个对象添加操作标记,包括:
调用创建模板方法,基于所述模板信息生成模板,将所述模板信息存储至数据库中以及将存储编号作为所述模板的标识;
将所述对象列表中对象构成的集合作为待新建对象集合,并对集合中的每个对象添加新建标记。
3.根据权利要求1所述的方法,其特征在于,所述操作类型为删除,所述模板信息包括模板标识,所述对象列表为空;
所述调用与所述操作类型对应的操作方法,处理所述模板信息和所述对象列表,得到对象集合,并对集合中的每个对象添加操作标记,包括:
调用删除模板方法,基于所述模板标识,在数据库中查询模板已同步的历史模板信息和已绑定的历史对象列表;
删除所述历史模板信息,将所述历史对象列表中对象构成的集合作为待删除对象集合,并对集合中的每个对象添加删除标记。
4.根据权利要求1所述的方法,其特征在于,所述操作类型为修改,所述模板信息包括模板标识;
所述调用与所述操作类型对应的操作方法,处理所述模板信息和所述对象列表,得到对象集合,并对集合中的每个对象添加操作标记,包括:
调用修改模板方法,基于所述模板标识,在数据库中查询模板已同步的历史模板信息和已绑定的历史对象列表,将所述历史模板信息替换为所述模板信息;
将所述历史对象列表和所述对象列表的交集,作为待更新对象集合,并对集合中的每个对象添加更新标记;
将属于所述对象列表且不属于所述历史对象列表的对象构成的集合作为待新建对象集合,并对集合中的每个对象添加新建标记;
将属于所述历史对象列表且不属于所述对象列表的对象构成的集合作为待删除对象集合,并对集合中的每个对象添加删除标记。
5.根据权利要求2-4中任一项所述的方法,其特征在于,所述在所述服务端处同步对象与模板之间的绑定关系,包括:
所述服务端在监听到消息触达时,获取所述消息中的操作标记、对象标识和模板信息,确定与所述对象标识对应的对象;
调用与所述操作标记对应的接口,以在数据库中针对所述模板,执行对所述对象的新建、删除或修改绑定关系操作。
6.根据权利要求5所述的方法,其特征在于,在对集合中的每个对象添加操作标记之后,还包括:将集合中各对象的标识和重试次数保存至哈希表中;其中,初次保存时的重试次数为0;
在所述调用与所述操作标记对应的接口之前,还包括:在所述哈希表中查询与所述对象标识对应的重试次数,若重试次数大于或等于预定重试次数阈值,则结束对所述消息的执行逻辑;
所述调用与所述操作标记对应的接口,还包括:
若调用成功,则删除所述哈希表中与所述对象标识对应的数据;或
若调用失败,则将重试次数加1并更新至所述哈希表中,抛出异常,以通过消息重试机制再次推送消息。
7.根据权利要求5所述的方法,其特征在于,所述入参还包括业务类型;
所述调用与所述操作类型对应的操作方法,包括:调用与所述业务类型和所述操作类型对应的操作方法;
所述调用与所述操作标记对应的接口,包括:调用与所述业务类型和所述操作标记对应的接口。
8.根据权利要求3或4所述的方法,其特征在于,在所述调用与所述操作类型对应的操作方法之前,还包括:
在操作类型为删除或修改时,采用分布式锁方法,判断所述模板标识当前是否为锁定状态,若未锁,则对所述模板标识进行加锁操作;
所述基于所述模板标识,在数据库中查询模板已同步的历史模板信息和已绑定的历史对象列表,还包括:
若查询所述历史对象列表失败,则解除所述模板标识的锁定状态。
9.根据权利要求8所述的方法,其特征在于,还包括:
确定哈希表中的数据总量,获取当前剩余的数据量,计算剩余数据量在所述数据总量中的占比,将所述占比作为当前执行进度;其中,哈希表中的数据对应于一模板信息、一对象标识和一操作标记;
若剩余数据量为零,则确定同步绑定关系结束,解除所述模板标识的锁定状态。
10.一种模板同步装置,其特征在于,包括:
请求接收模块,用于接收客户端传输的同步模板请求,获取所述同步模板请求中的入参;其中,入参至少包括模板信息、待绑定的对象列表和操作类型;
操作标记模块,用于调用与所述操作类型对应的操作装置,处理所述模板信息和所述对象列表,得到对象集合,并对集合中的每个对象添加操作标记;
关系同步模块,用于基于所述模板信息、集合中各对象的标识和操作标记,生成消息并以消息队列形式传输至服务端,以在所述服务端处同步对象与模板之间的绑定关系。
11.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-9中任一所述的方法。
12.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-9中任一所述的方法。
CN202010827913.6A 2020-08-17 2020-08-17 一种模板同步方法和装置 Active CN113760871B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010827913.6A CN113760871B (zh) 2020-08-17 2020-08-17 一种模板同步方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010827913.6A CN113760871B (zh) 2020-08-17 2020-08-17 一种模板同步方法和装置

Publications (2)

Publication Number Publication Date
CN113760871A CN113760871A (zh) 2021-12-07
CN113760871B true CN113760871B (zh) 2024-04-16

Family

ID=78785596

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010827913.6A Active CN113760871B (zh) 2020-08-17 2020-08-17 一种模板同步方法和装置

Country Status (1)

Country Link
CN (1) CN113760871B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104978385A (zh) * 2015-03-19 2015-10-14 腾讯科技(深圳)有限公司 信息处理方法、浏览器客户端及终端
CN107342820A (zh) * 2017-01-09 2017-11-10 烽火通信科技股份有限公司 基于模板管理实现volt的方法及***
CN107807931A (zh) * 2016-09-09 2018-03-16 北京京东尚科信息技术有限公司 模板信息管理的方法和***
CN108628812A (zh) * 2017-03-16 2018-10-09 北京京东尚科信息技术有限公司 自定义面单模板的方法、装置、电子设备和可读存储介质
CN110222293A (zh) * 2019-04-30 2019-09-10 北京三快在线科技有限公司 一种表单页面生成方法和装置
CN110290049A (zh) * 2019-05-20 2019-09-27 深圳壹账通智能科技有限公司 消息推送方法、服务器及计算机可读存储介质
CN110795443A (zh) * 2019-10-08 2020-02-14 中国建设银行股份有限公司 数据同步的方法、装置、设备和计算机可读介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7739351B2 (en) * 2004-03-23 2010-06-15 Salesforce.Com, Inc. Synchronous interface to asynchronous processes
US9294274B2 (en) * 2013-09-19 2016-03-22 Intel Corporation Technologies for synchronizing and restoring reference templates

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104978385A (zh) * 2015-03-19 2015-10-14 腾讯科技(深圳)有限公司 信息处理方法、浏览器客户端及终端
CN107807931A (zh) * 2016-09-09 2018-03-16 北京京东尚科信息技术有限公司 模板信息管理的方法和***
CN107342820A (zh) * 2017-01-09 2017-11-10 烽火通信科技股份有限公司 基于模板管理实现volt的方法及***
CN108628812A (zh) * 2017-03-16 2018-10-09 北京京东尚科信息技术有限公司 自定义面单模板的方法、装置、电子设备和可读存储介质
CN110222293A (zh) * 2019-04-30 2019-09-10 北京三快在线科技有限公司 一种表单页面生成方法和装置
CN110290049A (zh) * 2019-05-20 2019-09-27 深圳壹账通智能科技有限公司 消息推送方法、服务器及计算机可读存储介质
CN110795443A (zh) * 2019-10-08 2020-02-14 中国建设银行股份有限公司 数据同步的方法、装置、设备和计算机可读介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
一种基于XML的任务驱动型数据传输与同步方法;乔得吉;肖卫东;;计算机科学;20160615(S1);全文 *

Also Published As

Publication number Publication date
CN113760871A (zh) 2021-12-07

Similar Documents

Publication Publication Date Title
CN110310034B (zh) 一种应用于SaaS的服务编排、业务流程处理方法和装置
CN110601952B (zh) 多渠道消息通知发送方法和装置
US8326703B2 (en) Architectural design for product catalog management application software
US20110282969A1 (en) Method and system for exchanging information between back-end and front-end systems
KR101283019B1 (ko) SaaS 어플리케이션 생성 방법 및 이를 실행하는 어플리케이션 생성 서버
US11381488B2 (en) Centralized, scalable, resource monitoring system
CN110851468A (zh) 对客户端的测试请求做出模拟响应的方法和装置
CN112860342A (zh) 微服务配置的方法、装置、设备、***以及存储介质
CN107797849B (zh) 分布式事务处理的方法、装置与***
CN113672357A (zh) 任务调度的方法、装置和***
US9888050B2 (en) Method and apparatus for integrating various network elements and providing media processing services
US10789265B2 (en) Data migration system
CN110389976B (zh) 一种多接口数据的调度方法和装置
CN113760871B (zh) 一种模板同步方法和装置
CN115577040A (zh) 层级数据同步方法、装置、电子设备和可读介质
CN113780969A (zh) 一种海关申报方法和***
CN111984615A (zh) 一种共享文件的方法、装置及***
US20170139758A1 (en) Nondeterministic Operation Execution Environment Utilizing Resource Registry
CN107203724A (zh) 文件提交方法和装置
CN113204790B (zh) 一种视图权限处理方法、装置、设备及介质
CN115526587A (zh) 一种海关报文的生成方法和装置
CN112671877A (zh) 一种数据处理方法和装置
CN112905604A (zh) 一种数据处理方法和装置
CN111984614A (zh) 一种共享文件的方法、装置和***
CN112215529B (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