一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种自动同步方法与流程

2022-05-11 19:02:43 来源:中国专利 TAG:


1.本发明涉及计算机技术领域,具体涉及一种自动同步方法。


背景技术:

2.随着企业系统的不断扩大,定时自动同步任务在系统中有着举足轻重的地位。例如开票终端的同步,开票硬件设备的同步。如果不启用自动的同步任务调度的情况下,将消耗很大的人力成本去人工操作,而且人工同步还存在的数据不准确,网络传输稳定的风险。如果启用了同步定时调度任务,以自动同步终端为例:用户上架硬件设备之后,但是还没有在百望云上注册用户,自动同步终端时,同样会失败,因为缺少用户注册的操作。反之亦然。在用户上架硬件设备量很大的情况下,虽然减少了人为的操作,但是却增加了系统的开销,同步任务的失败率会增加,服务端系统的并发请求数量也会增加,大大增加了企业系统的压力。同步定时任务是企业业务系统中很重要的组成部分,其主要目的不仅可以减轻系统的压力,还可以在很大程度上减少使用者的人力成本的消耗。但是随着企业的发展,业务场景的增加,这种定时同步任务的弊端也显现出来。例如,当某一种同步任务需要依赖多个前提条件时,又不能保证依赖的前提条件在执行同步任务时间点之前完成,那么该同步任务就会执行失败,浪费系统资源。如果任务量巨大时,企业系统的压力也会增加。自动同步任务,在大型的企业系统中并不少见。合理的安排自动同步任务可以大量的减。少人力成本的开销,通时可以提高系统中数据的准确性、可靠性。给系统的使用者带来很大的方便。自动同步任务,不是指具体的某一个业务,而是所有为了节约人力成本的,系统可以独立完成任务调度的一个统称。例如:自动同步终端、自动修复发票、系统间的数据同步、开票硬件设备信息的获取等。传统的自动同步任务包括以下几种情况:(一)定时/延时触发调度任务:(二)根据具体的返回值触发调度任务。
3.综上所述,传统的自动同步任务,因为没有考虑到同步任务对系统其它操作的依赖,如果需要执行自动调度的任务数据量很大时,而且每个调度任务都要依赖一个或者多个前提条件,当前提条件不满足时,也可以自动执行。虽然传统的自动同步任务可以带来方便,但是也面临着系统的开销增大,执行后失败率变高,并发量大大增加,甚至可以导致整个系统的瘫痪。同样也面临着执行失败后排查问题的困难。


技术实现要素:

4.本发明的目的是提供一种自动同步方法。为了对披露的实施例的一些方面有一个基本的理解,下面给出了简单的概括。该概括部分不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围。其唯一目的是用简单的形式呈现一些概念,以此作为后面的详细说明的序言。
5.根据本发明实施例的一个方面,提供一种自动同步方法,包括:
6.将调度任务所依赖的前提条件抽象成一个事件;
7.将每笔调度任务抽象成一个规则。
8.进一步地,在所述将调度任务所依赖的前提条件抽象成一个事件之前,所述方法还包括定义事件模型和规则模型。
9.进一步地,所述事件模型包含事件的唯一标识、事件类型、事件的业务数据、生成时间、更新时间及事件扩展信息。
10.进一步地,所述方法还包括:
11.对每一个事件进行持久化存储;
12.对每个规则进行持久化存储。
13.进一步地,所述方法还包括:将每个规则下的调度任务的返回信息进行持久化处理。
14.进一步地,所述方法还包括:
15.将每个规则调度任务返回失败的请求进行重试操作;
16.将重试次数进行记录,达到某个阀值后发出告警信息至通讯设备当中。
17.根据本发明实施例的另一个方面,提供一种自动同步方法,包括:
18.s1,进行初始化规则操作。
19.进一步地,所述方法还包括:
20.s2,设计事件组合模型驱动的sdk包;
21.s3,对事件中的事件类型、事件包含的业务方数据进行赋值操作;
22.s4,将每个事件发送至事件组合模型驱动系统的服务端,服务端接受到请求后,检查该事件是否已经存在,如果已经存在不做任何处理,返回操作成功;如果没有存在,做持久化操作进行保存;
23.s5,服务端做完持久化操作后,获取包含该事件的所有规则;
24.s6,获取某一个规则中的所有事件,并检查该唯一标识下所有事件是否已经存在,如果不存在不做任何操作,如果都已经全部存在,执行s7;
25.s7,拼装规则模型中的请求模板数据,根据规则模型中的服务名,服务地址,请求方式,进行自动的任务调度操作;如果执行成功本次自动调用任务结束;如果失败,执行s8;
26.s8,将执行失败的调度任务,进行持久化操作,之后每隔固定的时间进行重试处理,并记录重试次数,如果重试次数达到了规定的阀值,通过程序将告警信息发送至通讯设备当中。
27.根据本发明实施例的另一个方面,提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现上述的自动同步方法。
28.根据本发明实施例的另一个方面,提供一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行,以实现上述的自动同步方法。
29.相较于现有技术,本发明实施例提供的技术方案可以包括以下有益效果:
30.本发明实施例提供的自动同步方法,降低了请求任务调用的失败率,降低了由于网络波动、服务熔断等干扰因素所带来的影响,大大降低了时间成本,节约了人力成本。
31.本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者,部分特征和优点可以从说明书中推知或毫无疑义地确定,或者通过实施本发明实施例了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附
图中所特别指出的结构来实现和获得。
附图说明
32.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
33.图1为本技术的一个实施方式的自动同步方法的业务场景原理图;
34.图2为本技术的一个实施方式的自动同步方法的流程时序图;
35.图3为本技术的一个实施方式的事件模型示意图;
36.图4为本技术的一个实施方式的规则模型示意图。
具体实施方式
37.为了使本发明的目的、技术方案及优点更加清楚明白,下面结合附图和具体实施例对本发明做进一步说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
38.本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
39.本技术的一个实施例提供了一种自动同步方法,包括以下步骤:
40.s1,进行初始化规则操作,将规则名称、规则所依赖的事件、任务调度时请求的服务名、地址、请求数据模板等信息进行存储。
41.s2,设计事件组合模型驱动的sdk包,sdk包中是对每笔调用前提条件的抽象操作。将前提条件抽象成一个事件模型;并对所有的事件进行抽取事件的唯一标识,然后归类处理;使得每一笔调度任务下的所有事件,生成同一个唯一标识。
42.s3,生成完事件之后,将对事件中的事件类型,事件包含的业务方数据进行赋值操作。
43.s4,通过sdk包将每个事件发送至事件组合模型驱动系统的服务端(以下简称服务端),服务端接受到请求后,检查该事件是否已经存在,如果已经存在不做任何处理,返回操作成功。如果没有存在,做持久化操作进行保存。
44.s5,服务端做完持久化操作后,获取包含该事件的所有规则。轮询每一个规则。
45.s6,获取某一个规则中的所有事件,并检查该唯一标识下所有事件是否已经存在,如果不存在不做任何操作,如果都已经全部存在,执行s7。
46.s7,拼装规则模型中的请求模板数据,根据规则模型中的服务名,服务地址,请求方式,进行自动的任务调度操作。如果执行成功本次自动调用任务结束;如果失败,执行s8。
47.s8,将执行失败的调度任务,进行持久化操作,之后每隔固定的时间进行重试处
理,并记录重试次数,如果重试次数达到了规定的阀值,通过程序将告警信息发送至通讯设备当中。
48.s9,系统管理人员可以通过告警信息,在具体的业务系统中进行错误的排查操作。
49.如图1所示为本技术的一个实施方式的自动同步方法的业务场景原理图。图2为本技术的一个实施方式的自动同步方法的流程时序图。例如在进行发票业务的终端同步时;自动同步终端所依赖的前提条件为:1,用户注册;2,设备上架;执行自动同步终端需要请求终端管理服务去触发,同步终端功能,将此任务抽象为一个规则模型为:
50.规则名称:同步终端
51.改规则所依赖的事件列表:用户注册,设备上架
52.业务系统名称:终端管理系统
53.调用类型:rpc调用
54.请求方式:post
55.请求地址:ip:port/../..
56.请求数据模板;json模板
57.执行顺序;0
58.当有用户注册时,用户注册事件保存起来同事查询到该规则,规则中包含设备上架事件,根据用户注册时的时间id查询设备上架事件,如果可以查询到则执行改规则,如果不存在则不做任何处理。
59.事件组合模型驱动是对定时调度任务的优化升级。事件组合机制是将每一笔请求任务抽象为一个事件,每一种业务规则由多个事件组合而成。一个业务规则的触发需要满足多个前置条件及事件,当该业务规则的所需前提事件全部到达后,则自动触发执行该业务规则的逻辑。该模型减小对系统资源的开销,是一个高性能,高扩展的一种实现机制。
60.将某笔请求调度任务所依赖的前提条件抽象成一个事件模型;将具体的请求调度任务抽象成一个规则模型;采取规则任务的调度依赖事件是否已经全部发送至服务端的方式来判断是否需要执行。将事件和规则任务的调度过程,返回结果等信息进行持久化操作,为后期管理人员排查提供便利。将返回的错误错误信息进行持久化记录,并定期重试,重试到某个自定义阀值时发出报警信息至通讯设备已经通讯软件当中。
61.因为该机制只有在满足所有的事件之后规则才会执行,减少了失败的请求任务调用、服务发出请求的并发量显著降低。
62.采取了任务调度错误后重试的方式,减少了由于网络波动,服务熔断等干扰因素对系统所带来的影响。
63.采用了告警发送至通讯设备的方式。系统管理人员在根据告警信息排查错误原因时,时间成本大大的减少、节约了人力成本。
64.本技术的另一个实施例提供了一种自动同步方法,包括:
65.s01、定义事件模型和规则模型的概念;
66.如图3所示为本技术的一个实施方式的事件模型示意图;如图4所示为本技术的一个实施方式的规则模型示意图。
67.s02、将调度任务所依赖的前提条件抽象成一个事件;
68.s03、将每笔调度任务抽象成一个规则。
69.事件模型包含:事件的唯一标识,事件类型,该事件的业务数据,生成时间,更新时间及事件扩展信息。
70.s04、通过程序对每一个事件进行持久化存储和获取。
71.规则中包括:规则名称,依赖的事件列表,触发调用时的服务端地址,调用方式,网络传输类型,调用地址,传输时的请求数据模板,规则间的顺序。
72.s05、通过程序对每个规则进行持久化存储和获取;
73.s06、将每个规则下的调度任务的返回信息进行持久化处理;
74.s07、将每个规则调度任务返回失败的请求进行重试操作;
75.s08、将重试次数进行记录,达到某个阀值后发出告警信息至通讯设备当中。
76.存储数据的模板类型可以自行定义但不仅限于xml,json,字符串等格式。
77.调用的方式包括本地调用,远程rpc调用。
78.请求的类型post,get等请求方式进行发起请求。
79.对于事件和规则的持久化操作可以是关系型数据库、非关系型数据库,以及文件系统磁盘。
80.对于程序将告警信息发送至通讯设备以及通讯软件。
81.本发明实施例提供的自动同步方法,降低了请求任务调用的失败率,降低了由于网络波动、服务熔断等干扰因素所带来的影响,大大降低了时间成本,节约了人力成本。
82.本技术另一个实施例还提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现上述的自动同步方法。
83.本技术另一个实施例还提供了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行,以实现上述的自动同步方法。
84.需要说明的是:
85.在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备固有相关。各种通用装置也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
86.在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
87.类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
88.本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地
改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
89.此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
90.本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本发明实施例的虚拟机的创建装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
91.应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
92.应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
93.以上所述实施例仅表达了本发明的实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献