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

一种数据同步方法、装置、服务器及存储介质与流程

2022-02-24 16:05:13 来源:中国专利 TAG:


1.本发明实施例涉及数据处理技术领域,尤其涉及一种数据同步方法、装置、服务器及存储介质。


背景技术:

2.在现实生活中,各企业需要的应用软件种类繁多。由于各企业没有过多的时间和金钱直接开发和/或与各应用供应商对接购买这些应用软件,接入有各种应用软件的企业经营管理工具箱系统(后文简称为企业工具箱)应运而生。
3.在实际应用中,各企业可以关联在相同或是不同的为企业提供服务的渠道(或称为平台)上。为了让关联在各渠道下的各企业有效应用接入在企业工具箱上的应用软件,可以将企业的企业数据同步到企业工具箱上。
4.实现本发明的过程中,发明人发现现有技术中存在以下技术问题:在面向多渠道多企业的数据同步需求时,现有的数据同步方案存在数据同步的准确性和时效性低下的问题。


技术实现要素:

5.本发明实施例提供了一种数据同步方法、装置、服务器及存储介质,以实现准确且及时的数据同步的效果。
6.第一方面,本发明实施例提供了一种数据同步方法,该方法可应用于数据同步服务端,可以包括:
7.在接收到数据同步指令时,确定数据同步指令对应的关联在待同步渠道上的待同步企业,获取包含分别用于对各待同步企业的企业数据进行同步的数据同步任务的数据同步列表,其中位于数据同步列表中的各数据同步任务被划分到至少两个数据同步页面中;
8.从数据同步列表中调用数据同步任务,并确定当前调用到的数据同步任务是否位于上一次调用到的数据同步任务所在的当前同步页面,其中,当前同步页面是各数据同步页面中的一个;
9.如果否,则在确定属于当前同步页面中的各数据同步任务均执行完毕之后,执行等待时长为预设分页时长的等待操作,并在等待操作执行完毕之后,执行当前调用到的数据同步任务以进行数据同步。
10.第二方面,本发明实施例还提供了一种数据同步装置,该装置配置于数据同步服务端,可以包括:
11.数据同步列表获取模块,用于在接收到数据同步指令时,确定与数据同步指令对应的关联在待同步渠道上的待同步企业,获取包含分别用于对各待同步企业的企业数据进行同步的数据同步任务的数据同步列表,其中位于数据同步列表中的各数据同步任务被划分到至少两个数据同步页面中;
12.数据同步任务确定模块,用于从数据同步列表中调用数据同步任务,确定当前调
用到的数据同步任务是否位于上一次调用到的数据同步任务所在的当前同步页面,其中当前同步页面是各数据同步页面中的一个;
13.数据同步模块,用于如果否,则在确定属于当前同步页面中的各数据同步任务均执行完毕之后,执行等待时长为预设分页时长的等待操作,在等待操作执行完毕之后,执行当前调用到的数据同步任务以进行数据同步。
14.第三方面,本发明实施例还提供了一种数据同步服务器,可以包括:
15.一个或多个处理器;
16.存储器,用于存储一个或多个程序;
17.当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现本发明任意实施例所提供的数据同步方法。
18.第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本发明任意实施例所提供的数据同步方法。
19.本发明实施例的技术方案,通过确定与接收到的数据同步指令对应的关联在待同步渠道上的待同步企业,获取包含与各待同步企业分别对应的数据同步任务的数据同步列表,该数据同步任务是用于对相应的待同步企业的企业数据进行同步的任务,并且各数据同步任务被划分到至少两个数据同步页面中;从数据同步列表中调用某数据同步任务,并确定当前调用到的数据同步任务是否位于上一次调用到的数据同步任务所在的当前同步页面,该当前同步页面是各数据同步页面中的一个,由此确定待同步渠道在短时间内响应的数据同步任务的任务数量是否可能导致该待同步渠道出现响应瓶颈;如果否,这说明待同步渠道此时可能出现响应瓶颈,那么可以在确定属于当前同步页面的各数据同步任务均执行完毕后,执行等待时长为预设分页时长的等待操作以让待同步渠道恢复服务性能,进而在等待操作执行完毕后,执行当前调用到的数据同步任务以进行数据同步,由此保证了每个数据同步任务的有效执行。上述技术方案,通过对各数据同步任务进行页面划分,并在执行完毕同一数据同步页面上的各数据同步任务后等待预设分页时长,然后再执行下一数据同步页面上的各数据同步任务,由此降低了待同步渠道出现响应瓶颈的可能性,进而在面向多渠道多企业的数据同步需求时,达到了准确且及时的数据同步的效果。
附图说明
20.图1是本发明实施例中的一种数据同步方法中企业工具箱的架构示意图;
21.图2是本发明实施例一中的一种数据同步方法的流程图;
22.图3是本发明实施例二中的一种数据同步方法的流程图;
23.图4是本发明实施例二中的一种数据同步方法中可选示例的流程图;
24.图5a是本发明实施例二中的一种数据同步方法中用户登录的第一示意图;
25.图5b是本发明实施例二中的一种数据同步方法中用户登录的第二示意图;
26.图6是本发明实施例二中的一种数据同步方法中应用上下架的流程图;
27.图7是本发明实施例三中的一种数据同步方法的流程图;
28.图8是本发明实施例四中的一种数据同步装置的结构框图;
29.图9是本发明实施例五中的一种数据同步服务器的结构示意图。
具体实施方式
30.下面结合附图和实施例对本发明作进一步详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
31.在介绍本发明实施例之前,先对本发明实施例的应用场景进行示例性说明:各企业涉及到的应用软件可以包括办公软件、财务软件、企业资源计划(enterprise resource planning,erp)软件、资产管理软件和/或人力软件等,涉及到的渠道可以包括erp渠道、智慧工商联渠道和/或撮合渠道等。上述企业工具箱可以理解为一个统一的渠道应用管理平台,支持多渠道多应用的接入。在实际应用中,可选的,参见图1,其可以基于部署在自身的渠道对接适配器对接多渠道多企业,如通过调用该渠道对接适配器(一种标准化的对接接口)来调用部署在渠道上的对接接口以获取企业数据,由此提供了面向渠道的统一对接规范,对接成本较低;可以基于部署在自身的应用对接适配器对接各应用软件,完成应用软件的发布、上下架、同步企业工具箱中的企业数据等操作,由此提供了面向应用的统一对接规范,二者相互配合,为渠道提供了能够快速部署的应用软件,减轻了渠道的产品交付压力(即因为直接开发和/或与各应用供应商对接购买这些应用软件而带来的压力);与此同时,其还提供用户管理、渠道管理、应用管理、统计分析、用户反馈等多种功能,为企业工具箱的运营提供了技术支撑。
32.在企业工具箱中可以涉及到多个服务器,数据同步服务端可以是部署在各服务器中的能够实现数据同步功能的数据同步服务器上的服务端。每个渠道上具有各自的渠道服务器,当数据同步服务端对接众多渠道服务器,或是说对接部署在渠道服务器上的渠道服务端时,针对每个渠道服务端,由于渠道服务端需要满足众多企业的数据同步需求,假设渠道服务端上部署有数据同步接口,数据同步服务端通过调用数据同步接口来同步企业数据,这意味着渠道服务端在短时间内需要批量调用数据同步接口来同步该渠道下各企业的企业数据(如每调用一次数据同步接口可以同步一个企业的企业数据)。由于每个渠道服务器的服务性能是有限的,这种短时间内的接口批量调用很有可能导致渠道服务器出现因为响应瓶颈而无法快速响应每次的接口调用的情况,这时渠道服务端就会因为处理不及时而响应失败。当响应失败的出现频次过多时,此时难以有效保证数据同步的准确性和时效性。
33.需要说明的是,数据同步的意义在于:某企业的员工想要应用对接在企业工具箱上的某应用软件的前提是,该企业的企业数据已经同步到企业工具箱上,上述企业数据可以包括企业名称、组织架构、用户信息(即员工信息)、用户和角色间的关系、和/或角色和权限间的关系等,这相当于应用软件的初始化过程,由此当员工应用该应用软件时,该应用软件所在的应用服务端可以从企业工具箱直接获取到该员工所在的企业的企业数据,进而确定该员工的操作权限。
34.实施例一
35.图2是本发明实施例一中提供的一种数据同步方法的流程图。本实施例可适用于面向多渠道多企业的数据同步的情况。该方法可以由本发明实施例提供的数据同步装置来执行,该装置可以由软件和/或硬件的方式实现,该装置可以集成在数据同步服务器上。
36.参见图2,本发明实施例的方法具体包括如下步骤:
37.s110、在接收到数据同步指令时,确定数据同步指令对应的关联在待同步渠道上
的待同步企业,获取包含分别用于对各待同步企业的企业数据进行同步的数据同步任务的数据同步列表,其中位于数据同步列表中的各数据同步任务被划分到至少两个数据同步页面中。
38.其中,数据同步指令可以是用于对关联在某待同步渠道下的各待同步企业的企业数据进行同步的情况,因此在接收到数据同步指令时,可以先确定与其对应的待同步渠道是多渠道中的哪个渠道,进而确定在该待同步渠道下关联有哪些待同步企业。为了实现待同步企业的企业数据的同步,可以预先为每个待同步企业配置各自的数据同步任务,并将这些数据同步任务存储在预设设置的数据同步列表中。在实际应用中,可选的,这些数据同步任务或是说数据同步列表可以存储在预设数据库中,因此可以从预设数据库中获取到它们。再可选,为了加快数据同步速度,可以基于多线程调用这些数据同步任务。
39.正如上文阐述,关联在待同步渠道下的待同步企业的企业数量可能是多个,当在短时间内通过多次调用数据同步任务来从待同步渠道中同步企业数据时,很可能出现响应瓶颈。为此,本发明实施例提出了对位于数据同步列表中的各数据同步任务进行分页,将这些数据同步任务划分到至少两个数据同步页面中,由此通过分批次调用这些数据同步任务来达到降低响应瓶颈的出现频次的效果。在实际应用中,可选的,某数据同步任务被划分到哪个数据同步页面中、划分到某数据同步页面中的哪个位置等,这均会对该数据同步任务的同步先后顺序造成影响。据此,为了让更重要的待同步企业的企业数据先被同步,可以根据各待同步企业的重要程度对与各待同步企业对应的数据同步任务进行页面划分,而各待同步企业的重要程度可以根据它们各自的活跃度,即根据它们对接入在企业工具箱中的各应用软件的应用频率确定。除此外,类似的,各渠道的同步优先级也可以根据它们对接入在企业工具箱中的各应用软件的应用频率确定,由此可以先发送与活跃度更高的渠道对应的数据同步指令。
40.s120、从数据同步列表中调用数据同步任务,确定当前调用到的数据同步任务是否位于上一次调用到的数据同步任务所在的当前同步页面,其中,当前同步页面是各数据同步页面中的一个。
41.其中,由于数据同步列表中存储有多个数据同步任务,各数据同步任务是依次调用的,因此在从数据同步列表中调用到某数据同步任务后,可以确定该数据同步任务(即当前调用到的数据同步任务)和上一次调用的数据同步任务是否位于同一数据同步页面中,其中同一数据同步页面可以是上一次调用到的数据同步任务所在的当前同步页面。在实际应用中,可选的,在对各数据同步任务进行页面划分时,可以根据它们对应的待同步企业的企业标识进行表示,如将被划分到不同数据同步页面中的各数据同步任务对应的企业标识进行区分,并将区分结果存储在可被数据同步服务端访问的存储区域如redis内存中。另外,各数据同步任务的页面划分过程可以由部署在企业工具箱中的某数据同步服务端实现,也可以由其余的服务端实现,在此未做具体限定。
42.本步骤设置的意义是,如果当前调用到的数据同步任务位于当前同步页面中,这说明位于当前同步页面中的各数据同步任务还未执行完毕,进而说明待同步渠道在短时间内响应的数据同步任务是较为有限的,此时出现响应瓶颈的可能性较低;否则,这说明待同步渠道在短时间内响应的数据同步任务较多,进而说明待同步渠道在短时间内已经响应较多的数据同步任务,此时出现响应瓶颈的可能性较高,需要采取一定措施来避免响应瓶颈
的出现。
43.s130、若否,则在确定属于当前同步页面中的各数据同步任务均执行完毕之后,执行等待时长为预设分页时长的等待操作,并在等待操作执行完毕之后,执行当前调用到的数据同步任务以进行数据同步。
44.其中,针对某数据同步任务,其可以先被调用再被执行,当其执行完毕后,可以认为该数据同步任务完成。因此在当前调用到的数据同步任务未位于当前同步页面时,可以确定属于当前同步页面中的各数据同步任务是否均执行完毕,这可能涉及到多种情况:如数据同步服务端中设置有多个线程在同时调用数据同步任务时,可能出现某个线程已经调用到当前同步页面的下一数据同步页面上的数据同步任务,而有些线程还在调用和/或执行当前同步页面上的数据同步任务的情况;如企业工具箱中配置有多个数据同步服务端在同时调用数据同步任务时,可能出现某数据同步服务端已经调用到当前同步页面的下一数据同步页面上的数据同步任务,而有些数据同步服务端还是在调用和/或执行当前同步页面上的数据同步任务的情况;等等,在此未做具体限定。
45.在确定当前同步页面中的各数据同步任务全部执行完毕后,可以执行等待时长为预设分页时长的等待操作,通过这一等待操作让待同步渠道的服务性能得到恢复,降低出现响应瓶颈的可能性;进而在等待操作执行完毕后,再执行当前调用到的数据同步任务以进行数据同步,即由此开启当前同步页面的下一数据同步页面中的数据同步任务的执行操作。实际应用中,可选的,上述预设分页时长可以根据待同步渠道的服务性能确定,由此通过等待时长为预设分页时长的等待操作能够保证待同步渠道正常响应后续的数据同步任务。
46.在此基础上,可选的,上述数据同步方法,还可以包括:s140、如果是,即当前调用到的数据同步任务位于当前同步页面上,则执行当前调用到的数据同步任务以进行数据同步,由此继续完成当前同步页面中的数据同步任务。
47.本发明实施例的技术方案,通过确定与接收到的数据同步指令对应的关联在待同步渠道上的待同步企业,获取包含与各待同步企业分别对应的数据同步任务的数据同步列表,该数据同步任务是用于对相应的待同步企业的企业数据进行同步的任务,并且各数据同步任务被划分到至少两个数据同步页面中;从数据同步列表中调用某数据同步任务,并确定当前调用到的数据同步任务是否位于上一次调用到的数据同步任务所在的当前同步页面,该当前同步页面是各数据同步页面中的一个,由此确定待同步渠道在短时间内响应的数据同步任务的任务数量是否可能导致该待同步渠道出现响应瓶颈;如果否,这说明待同步渠道此时可能出现响应瓶颈,那么可以在确定属于当前同步页面的各数据同步任务均执行完毕后,执行等待时长为预设分页时长的等待操作以让待同步渠道恢复服务性能,进而在等待操作执行完毕后,执行当前调用到的数据同步任务以进行数据同步,由此保证了每个数据同步任务的有效执行。上述技术方案,通过对各数据同步任务进行页面划分,并在执行完毕同一数据同步页面上的各数据同步任务后等待预设分页时长,然后再执行下一数据同步页面上的各数据同步任务,由此降低了待同步渠道出现响应瓶颈的可能性,进而在面向多渠道多企业的数据同步需求时,达到了准确且及时的数据同步的效果。
48.一种可选的技术方案,在如果否之后,上述数据同步方法,还可以包括:对与数据同步服务端对应的第一预设结束标识进行调整,并读取第二预设结束标识,其中第二预设
结束标识是根据第一预设结束标识的调整结果进行设置的;根据读取到的第二预设结束标识确定属于当前同步页面中的各数据同步任务是否均执行完毕。其中,第一预设结束标识可以表示数据同步服务端是否对其在当前同步页面中能够调用的数据同步任务均已执行完毕,因此数据同步服务端在确定当前调用到的数据同步任务并未位于当前同步页面时,这意味着上一次调用到的数据同步任务已执行完毕(因为执行完毕一个数据同步任务后,才会调用下一个数据同步任务),可以对与自身对应的第一预设结束标识进行调整。第二预设结束标识可以表示当前同步页面上的各数据同步任务是否均执行完毕。这里同时设置第一预设结束标识和第二预设结束标识的意义在于,在实际应用中,企业工具箱上可能配置至少两个数据同步服务端同时同步企业数据,因此可以为各数据同步服务端配置有各自的第一预设结束标识,然后再根据各第一预设结束标识确定第二预设结束标识,由此可以通过第二预设结束标识的读取结果准确确定属于当前同步页面中的各数据同步任务是否均已执行完毕。示例性的,假设存在3个数据同步服务端a、b和c,以a为例,当其调用到当前同步页面的下一数据同步页面的数据同步任务后,将自身对应的第一预设结束标识从0调整为1,然后持续读取第二预设结束标识,确定其是否为1;b和c的情况类似。当a、b和c的第一预设结束标识均为1后,由a、b和c中的任一个将第二预设结束标识从0调整为1,由此a、b和c在读取到第二预设结束标识是1时,开始调用该下一数据同步页面上的数据同步任务。
49.另一种可选的技术方案,各数据同步任务的划分可以通过如下步骤实现:获取被划分到同一数据同步页面上的各数据同步任务的任务数量的数量上限,其中,数量上限是根据用于执行数据同步任务的数据同步服务端的服务端数量确定的;根据数量上限对各数据同步任务进行划分。其中,每个待同步渠道的服务性能是有限的,同样,每台数据同步服务端的服务性能也是有限的,为了避免数据同步服务端出现服务瓶颈,可以根据该数据同步服务端的服务端数量确定被划分到同一数据同步页面上的各数据同步任务的任务数量的数量上限,即服务端数量越多,数量上限越大,二者呈正相关。当然,除此之外,还可以根据待同步渠道所在的渠道服务端的服务性能和高并发处理能力确定数量上限,服务性能越佳,高并发处理能力越强,则数量上限越大。在得到数量上限后,可以根据数量上限对数据同步列表进行分页,即将各数据同步任务划分到相应的数据同步页面中。上述技术方案,可以根据整体的数据同步服务端实际的服务性能确定数量上限,进而根据数量上限划分各数据同步任务,由此保证了数据同步服务端对各数据同步任务的有效调用。
50.示例性的,在对数据同步列表进行分页时,可以设置如下两个参数:每次分页的延迟参数(即预设分页时长)t
delay
以及分页大小(即数量上限)p
size
。在此基础上,假设数据同步列表中的数据同步任务的任务数量为j
total
,基于p
size
对数据同步列表进行分页,得到的数据同步页面的页数为:可知,p
size
越大,n
p
越小,需要执行的循环次数(即达到下一数据同步页面的次数)越小,由此总的数据同步时间越短。在此基础上,由于企业工具箱可以是分布式服务,假设有n
server
台数据同步服务器,每台数据同步服务器上部署了一个数据同步线程,则每台数据同步服务器在每个数据同步页面中需要执行的数据同步任务的任务数量为:由于单台数据同步服务器的服务性能是一定的,那么当数据同步服务器的服务器数量较多时,可以合理增加p
size
,p
size
的增大可以减小n
p
。进一步,假设
单台数据同步服务器执行单个数据同步任务的时间为t1,那么总的数据同步时间为:t
total
=j
single
*t1*n
p
(n
p-1)*t
delay
,即:由此可知,t
total
与j
total
、t1和t
delay
成正相关,且与n
server
和p
size
成负相关。
51.实施例二
52.图3是本发明实施例二中提供的一种数据同步方法的流程图。本实施例以上述各技术方案为基础进行优化。在本实施例中,可选的,确定当前调用到的数据同步任务是否位于上一次调用到的数据同步任务所在的当前同步页面,可包括:查询与当前调用到的数据同步任务对应的任务状态标识,根据查询结果确定当前调用到的数据同步任务是否已被执行;如果否,则确定当前调用到的数据同步任务是否位于上一次调用到的数据同步任务所在的当前同步页面;该数据同步方法,还可包括:修改任务状态标识以对当前调用到的数据同步任务进行加锁。其中,与上述各实施例相同或相应的术语的解释在此不再赘述。
53.参见图3,本实施例的方法具体可以包括如下步骤:
54.s210、在接收到数据同步指令时,确定数据同步指令对应的关联在待同步渠道上的待同步企业,获取包含分别用于对各待同步企业的企业数据进行同步的数据同步任务的数据同步列表,其中位于数据同步列表中的各数据同步任务被划分到至少两个数据同步页面中。
55.s220、从数据同步列表中调用数据同步任务,并查询与当前调用到的数据同步任务对应的任务状态标识,根据查询结果确定当前调用到的数据同步任务是否已被执行。
56.其中,任务状态标识可以表示相应的数据同步任务是否已经被其余的数据同步服务端或是部署在该数据同步服务端上的其余线程执行,因此通过查询与当前调用到的数据同步任务对应的任务状态标识,可以确定其是否已被执行。
57.s230、如果否,则确定当前调用到的数据同步任务是否位于上一次调用到的数据同步任务所在的当前同步页面,并且修改任务状态标识以对当前调用到的数据同步任务进行加锁,其中,当前同步页面是各数据同步页面中的一个。
58.其中,如果当前调用到的数据同步任务未被执行,则可以确定其是否位于当前同步页面中、以及对其进行加锁以避免被其余的数据同步服务端和/或线程执行。在实际应用中,可选的,当前同步页面的确定操作和加锁操作可以同时执行、先后执行或是后先执行,在此未做具体限定。示例性的,可以先对当前调用到的数据同步任务进行加锁,再确定其是否位于当前同步页面中,以避免出现在确定其是否位于当前同步页面的过程中,被其余的数据同步服务端和/或线程执行的情况,即避免出现同一数据同步任务被重复执行的情况。
59.在此基础上,可选的,上述数据同步方法,还可包括:若是,即根据查询结果确定当前调用到的数据同步任务已被执行,则重复执行从数据同步列表中调用数据同步任务的步骤,即再调用下一个数据同步任务,由此保证了各数据同步任务的依次有效执行的效果。
60.s240、若否,则在确定属于当前同步页面中的各数据同步任务均执行完毕之后,执行等待时长为预设分页时长的等待操作,并在等待操作执行完毕之后,执行当前调用到的数据同步任务以进行数据同步。
61.在此基础上,可选的,上述数据同步方法,还可以包括:s250、如果是,即当前调用到的数据同步任务位于当前同步页面上,则执行当前调用到的数据同步任务以进行数据同
步。另一可选的,在执行当前调用到的数据同步任务以进行数据同步后,上述数据同步方法,还可以包括:修改任务状态标识以释放当前调用到的数据同步任务上的锁,以保证在下次对待同步渠道进行数据同步时,可以再次执行该当前调用到的数据同步任务。
62.本发明实施例的技术方案,通过查询与当前调用到的数据同步任务对应的任务状态标识,如果根据查询结果确定当前调用到的数据同步任务未被执行,那么修改任务状态标识以对当前调用到的数据同步任务进行加锁,由此保证了同一数据同步任务不会被重复调用,进而保证了数据一致性和数据去重。
63.为了更好地理解上述各步骤的具体实现过程,下面结合具体示例对其进行示例性的说明。示例性的,参见图4,继续以上述例子中的a、b和c为例,企业工具箱通过定时器方式执行定时任务,如每天定时控制a、b和c同时从预设数据库中获取数据同步列表,并分页执行数据同步任务channel_job。以a为例,当调用某channel_job后,其先查询该channel_job的任务状态标识isrunning是否为1。如果是,这说明该channel_job已被b或者c执行并锁住,则a跳过该channel_job,继续查询下一channel_job的isrunning;否则(即isrunning为1),这说明该channel_job还未被b或者c执行,则执行该channel_job,并将其的isrunning设置为1,并在该channel_job执行完毕后,将isrunning设置为0(即释放锁)。实际应用中,可选的,当新增一个待同步渠道时,可以在预设数据库中新增一个数据同步列表,该新增的数据同步列表中channel_job的任务数量和该新增的待同步渠道下的待同步企业的企业数量一致。
64.针对某待同步企业内的某用户,如果该用户想要应用接入到企业工具箱上的某应用软件时,其需要先登录到该应用软件上。为了提高用户感知度,企业工具箱中设置有单点登录模式,即用户只需要在待同步渠道所在的渠道服务端进行一次登录,然后该用户在应用接入到企业工具箱中的应用软件时,只需要渠道服务端调用用户身份认证接口channelauthlogin,而无需再次输入用户名密码进行登录操作。在此基础上,一种可选的用户登录方案是,待登录用户(即待登录至待登录应用上的用户,待登录应用是待登录的应用软件)首先进入到企业工具箱的首页,然后通过触发设置在首页上的应用标识来登录到该待登录应用上。上述方式适合于待同步企业的企业管理员进入企业工具箱,首次开通该待登录应用的情况,此时可以通过channelauthlogin中的某字段如isconfig指定是否为企业管理员,其中企业管理员可以具有设置各种企业数据的权限。上述方式的具体流程参见图5a,当待登录用户登录到渠道服务端后,数据同步服务端可以获取到待登录用户在渠道服务端上输入的用户名和密码(即token),然后将与待登录用户在首页上触发的应用标识对应的应用链接返回渠道服务端,以使渠道服务端通过token和应用链接登录至应用服务端;进而,应用服务端从数据同步服务端获取待登录用户的用户数据,以使待登录用户能够正常应用待登录应用。另一种可选的用户登录方案如下所述:
65.在上述任一技术方案的基础上,可选的,上述数据同步方法,还可以包括:在检测到用户登录事件时,获取与用户登录事件对应的待登录应用的应用标识和待登录用户的用户令牌,其中,用户登录事件是待同步渠道所在的渠道服务端基于接收到的用户令牌和应用标识调用部署在数据同步服务端上的应用登录接口时触发的事件;确定与应用标识对应的应用链接,将应用链接发送给渠道服务端,以使渠道服务端根据应用链接、用户令牌以及应用标识跳转到待登录应用所在的应用服务端。其中,用户登录事件可以是待登录用户想
要登录到待登录应用上的事件,其可以是在渠道服务端接收到待登录用户输入的用户令牌和应用标识后,基于用户令牌和应用标识调用部署在数据同步服务端上的应用登录接口,然后数据同步服务端在检测到数据同步接口被调用时触发的事件。在实际应用中,可选的,用户令牌可以是待登录用户在渠道服务端输入的用户名和密码,应用标识可以是该待登录用户在待同步渠道的显示页面上触发的待登录应用的标识,其可以通过图标、文字等多种形式进行表示。再可选,上述应用登录接口applogin可以是企业工具箱提供的标准化的接口,其可以部署在数据同步服务端,也可以同时部署在应用服务端上,在此未做具体限定。进而,数据同步服务端确定与应用标识appid对应的应用链接url,并将url返回给渠道服务端,以使渠道服务端根据url、用户令牌和appid跳转到待登录应用所在的应用服务端,比如通过调用部署在应用服务端上的applogin进行跳转,示例性的,参见图5b中的1.1。
66.在此基础上,可选的,上述数据同步方法,还可以包括:在接收用户身份认证指令时,将用户身份认证指令对应的用户令牌发送给应用服务端,以使该应用服务端根据渠道服务端发送的用户令牌和数据同步服务端发送的用户令牌对待登录用户的用户身份进行认证。其中,用户身份认证指令可以是用于对待登录用户的用户身份进行认证的指令,在实际应用中,可选的,其可以是应用服务端通过调用部署在数据同步服务端上的channelauthlogin来发送的指令,示例性的,参见图5b中的1.2。数据同步服务端将与用户身份认证指令对应的用户令牌发送给应用服务端,以使应用服务端对渠道服务端发送的用户令牌和数据同步服务端发送的用户令牌进行对比,并根据对比结果进行待登录用户的用户身份进行认证。当待登录用户的用户身份认证成功时,待登录用户可通过渠道服务端直接跳转至应用服务端,示例性的,参见图5b中的1.3,由此无需待登录用户进入到企业工具箱的首页中,提高了用户感知度。在实际应用中,可选的,上述用户身份的认证过程可以是在渠道服务端跳转到应用服务端过程中执行。
67.再可选的,上述数据同步方法,还可以包括:在接收到数据获取指令时,从已同步的各企业数据中获取与数据获取指令对应的待登录用户的用户数据,并将用户数据发送给应用服务端。其中,数据获取指令可以是应用服务端用于从数据同步服务端中获取待登录用户的用户数据的指令,数据同步服务端接收到数据获取指令后,可以从同步到自身的各企业数据中获取待登录用户的用户数据,然后将其返回给应用服务端,以使待登录用户可以正常应用待登录应用。示例性的,参见图5b中的2和3。
68.在实际应用中,可选的,数据同步服务端的登录过程可以采用静态密码加图形验证码双重验证的方式,这可以有效防止暴力破解;而注册功能可以使用短信验证码加图形验证码的方式,这可以有效防止短信炸弹风险,而且还可以对短信验证码获取设置每天的次数限制和短信发送间隔限制。
69.在上述任一技术方案的基础上,可选的,上述数据同步方法,还可以包括:在检测到应用上架事件时,获取与应用上架事件对应的待上架应用的应用信息、及与待上架应用关联的待同步渠道的渠道信息,其中关联在与待上架应用关联的待同步渠道上的待同步企业包括允许使用待上架应用的企业;记录应用信息和渠道信息,并且将应用上架审核通知发送到负责审核待上架应用的上架与否的审核对象所在的审核客户端上。其中,应用上架事件可以是应用服务端上的某待上架应用准备上架到数据同步服务端上的事件,待上架应用可以是待上架的应用软件,应用信息可以是待上架应用的属性信息,渠道信息可以是能
够对待上架应用进行使用的待同步渠道的属性信息,即该待同步渠道下的各待同步企业可以是被允许使用待上架应用的企业。在记录下应用信息和渠道信息,且将应用上架审核通知发送到负责审核待上架应用的上架与否的审核对象所在的审核客户端上后,审核对象可以基于应用信息和渠道信息确定是否允许待上架应用接入到企业工具箱。上述技术方案,可以有效管理待上架应用的上架过程,而且可以根据待同步渠道的渠道信息(即待同步渠道的特点)为其下的待同步企业提供个性化的应用资源包,以使待同步企业根据实际的业务需求开通使用。
70.为了更好地理解上述各步骤的具体实现过程,下面结合具体示例对其进行示例性的说明。示例性的,参见图6,在将某待上架应用上架到企业工具箱时,该待上架应用的应用发布者可以先在企业工具箱上注册为应用开发者,然后由应用开发者创建应用以触发应用上架事件,发起应用上架流程。具体的,应用开发者设计数据库表来填写应用信息,其中的app_status可以标记待上架应用app的状态,如待上架、上架审核中、上架审核失败、已上架、已删除等状态。应用开发者设计数据库表,关联待上架应用和待同步渠道的关联关系(即选择渠道信息),由此指定哪些待同步渠道下的待同步企业可开通使用待上架应用。当应用开发者进行应用上下架等相关操作时,可以将对应的记录在表中,然后企业工具箱管理员和应用开发者可以针对该表对app上下架过程中进行更新、查看和/或审核等。在实际应用中,可选的,在上架待上架应用软件时可以设置收费模式,如免费、按月收费、按年收费等模式,在此未做具体限定。
71.实施例三
72.图7是本发明实施例三中提供的一种数据同步方法的流程图。本实施例以上述各技术方案为基础进行优化。在本实施例中,可选的,执行当前调用到的数据同步任务以进行数据同步,可以包括:获取当前调用到的数据同步任务中的任务参数,其中任务参数包括待同步企业的企业标识;基于任务参数对部署在渠道服务端上的数据同步接口进行调用,其中数据同步接口关联的数据同步函数是用于对与企业标识对应的待同步企业的企业数据进行标准化和/或归一化的函数,渠道服务端是待同步渠道所在的服务端;获取与企业标识对应的待同步企业的企业数据,并将获取到的企业数据同步到目标数据库中。其中,与上述各实施例相同或是相应的术语的解释在此不再赘述。
73.参见图7,本实施例的方法具体可以包括如下步骤:
74.s310、在接收到数据同步指令时,确定数据同步指令对应的关联在待同步渠道上的待同步企业,获取包含分别用于对各待同步企业的企业数据进行同步的数据同步任务的数据同步列表,其中位于数据同步列表中的各数据同步任务被划分到至少两个数据同步页面中。
75.s320、从数据同步列表中调用数据同步任务,确定当前调用到的数据同步任务是否位于上一次调用到的数据同步任务所在的当前同步页面,其中,当前同步页面是各数据同步页面中的一个。
76.s330、若否,则在确定属于当前同步页面中的各数据同步任务均执行完毕之后,执行等待时长为预设分页时长的等待操作,并在等待操作执行完毕之后,获取当前调用到的数据同步任务中的任务参数,其中任务参数包括待同步企业的企业标识。
77.其中,企业标识可以用于唯一的标识某个待同步企业,因此根据企业标识可以确
定当前调用到的数据同步任务是同步哪个待同步企业的企业数据。
78.s340、基于任务参数对部署在渠道服务端上的数据同步接口进行调用,其中数据同步接口关联的数据同步函数是用于对与企业标识对应的待同步企业的企业数据进行标准化和/或归一化的函数,渠道服务端是待同步渠道所在的服务端。
79.其中,数据同步接口可以是由企业工具箱提供的统一的数据对接接口,将数据同步接口部署在渠道服务端上,由此数据同步服务端可以基于任务参数来调用数据同步接口以同步与任务参数对应的企业数据。需要强调的是,由于各企业数据的数据格式可能存在差异性,为了让企业工具箱更好地整合这些企业数据,与数据同步接口关联的数据同步函数可以是用于对企业数据进行标准化和/或归一化的函数,即从数据同步接口获取到的企业数据已经是被标准化和/或归一化后的数据。在实际应用中,可选的,数据同步接口可以如表1所示:
80.表1数据同步接口
81.序号api名称功能1queryuserlist获取用户列表2countuserlist获取用户总数3countusercompany获取企业用户关系总数4queryusercompany获取企业用户5countuserorg获取机构用户关系总数6queryuserorg获取部门用户7countrolelist获取角色总数8queryrolelist获取角色列表9queryuserrole获取用户角色关系10countcompanylist获取企业总数11querycompanylist获取企业列表12countorglist获取机构总数13queryorglist获取部门列表
82.s350、获取与企业标识对应的待同步企业的企业数据,并将获取到的企业数据同步到目标数据库中。
83.其中,将获取到的企业数据同步到目标数据库,如对目标数据库中已存在的企业数据进行更新、对未存在的企业数据进行插入等,在此未做具体限定。上述目标数据库可以是mysql数据库、es数据库等,在此未做具体限定。
84.本发明实施例的技术方案,通过基于获取到的当前调用到的数据同步任务中的任务参数对部署在渠道服务端上的数据同步接口进行调用,由于数据同步接口是由企业工具箱提供的且关联有能对与任务参数对应的待同步企业的企业数据进行标准化和/或归一化的数据同步函数的接口,因此由此获取的企业数据是可以直接被企业工具箱应用的数据,将它们同步到目标数据库中。上述技术方案,企业工具箱通过提供的标准化的数据同步接口,在无需因为待同步渠道的增加而增加对接成本的情况下,实现了多渠道多企业接入的效果,进而实现了标准化的企业数据的有效获取的效果。
85.一种可选的技术方案,任务参数还包括待同步渠道的渠道标识,数据同步函数还
可用于将渠道标识和部署有数据同步接口的待同步渠道的预设标识进行对比;和/或,企业标识包括待同步企业的加密后的标识,任务参数还包括基于预设加密算法对未加密的企业标识进行加密后的校验码,则数据同步函数还可用于基于校验码和与预设加密算法对应的预设解密算法对企业标识进行解密。其中,渠道标识可以用于唯一的标识某待同步渠道,在将渠道标识传递给数据同步接口后,与数据同步接口关联的数据同步函数可以将接收到的渠道标识和预先存储的待同步渠道的预设标识进行对比,由此判断出数据同步任务是否是用于对部署有数据同步接口的待同步渠道下的待同步企业的企业数据进行同步,即数据同步任务是否与部署有数据同步接口的待同步渠道相匹配,由此保证了数据同步的准确性。为了保证任务参数传输时的私密性,任务参数可以是加密后的参数,如加密后的企业标识、加密后的渠道标识、基于预设加密算法对未加密的企业标识和/或渠道标识进行加密后的校验码,示例性的,预设加密算法是md5加密算法时,uniquecode=md5digestashex(chcode comid),其中,uniquecode是校验码,chcode是未加密的渠道标识,且comid是未加密的企业标识,由此数据同步函数还可以用于基于校验码和与预设加密算法对应的预设解密算法对企业标识和/或渠道标识进行解密。在实际应用中,可选的,在调用数据同步接口后获取的企业数据也可以携带有企业标识和/或渠道标识,或二者的复合加权,由此来唯一标识出企业数据的归属。
86.实施例四
87.图8为本发明实施例四所提供的数据同步装置的结构框图,该装置配置于数据同步服务端,用于执行上述任意实施例所提供的数据同步方法。该装置与上述各实施例的数据同步方法属于同一个发明构思,在数据同步装置的实施例中未详尽描述的细节内容,可以参考上述数据同步方法的实施例。参见图8,该装置具体可包括:数据同步列表获取模块410、数据同步任务确定模块420和数据同步模块430。
88.其中,数据同步列表获取模块410,用于在接收到数据同步指令时,确定与数据同步指令对应的关联在待同步渠道上的待同步企业,获取包含分别用于对各待同步企业的企业数据进行同步的数据同步任务的数据同步列表,其中,位于数据同步列表中的各数据同步任务被划分到至少两个数据同步页面中;
89.数据同步任务确定模块420,用于从数据同步列表中调用数据同步任务,并确定当前调用到的数据同步任务是否位于上一次调用到的数据同步任务所在的当前同步页面,其中当前同步页面是各数据同步页面中的一个;
90.数据同步模块430,用于如果否,则在确定属于当前同步页面中的各数据同步任务均执行完毕后,执行等待时长为预设分页时长的等待操作,并在等待操作执行完毕之后,执行当前调用到的数据同步任务以进行数据同步。
91.可选的,数据同步任务确定模块420,可以包括:
92.数据同步任务判断单元,用于查询当前调用到的数据同步任务对应的任务状态标识,根据查询结果确定当前调用到的数据同步任务是否已被执行;
93.数据同步任务确定单元,用于如果否,则确定当前调用到的数据同步任务是否位于上一次调用到的数据同步任务所在的当前同步页面;
94.相应的,上述数据同步装置,还可以包括:
95.数据同步任务加锁模块,用于修改任务状态标识以对当前调用的数据同步任务进
行加锁。
96.在此基础上,可选的,上述数据同步装置,还可以包括:
97.数据同步任务调用模块,用于如果根据查询结果确定当前调用的数据同步任务已被执行,则再次执行从数据同步列表中调用数据同步任务的步骤。
98.再可选的,上述数据同步装置,还可以包括:
99.数据同步任务释放模块,用于执行当前调用到的数据同步任务以进行数据同步之后,修改任务状态标识以释放当前调用到的数据同步任务上的锁。
100.可选的,上述数据同步装置,还可以包括:
101.第二预设结束标识读取模块,用于在如果否之后,对与数据同步服务端对应的第一预设结束标识进行调整,并读取第二预设结束标识,其中,第二预设结束标识是根据第一预设结束标识的调整结果进行设置的;
102.数据同步任务判断模块,用于根据读取到的第二预设结束标识确定属于当前同步页面中的各数据同步任务是否均执行完毕。
103.可选的,上述数据同步装置,还可以包括:
104.数据再同步模块,用于如果是,则重复执行当前调用到的数据同步任务以进行数据同步。
105.可选的,各数据同步任务的划分通过如下模块实现:
106.数量上限获取模块,用于获取被划分到同一数据同步页面上的各数据同步任务的任务数量的数量上限,其中,数量上限是根据用于执行数据同步任务的数据同步服务端的服务端数量确定的;
107.数据同步任务划分模块,用于根据数量上限对各数据同步任务进行划分。
108.可选的,数据同步模块430,可以包括:
109.任务参数获取单元,用于获取当前调用到的数据同步任务中的任务参数,其中,任务参数包括待同步企业的企业标识;
110.数据同步接口调用单元,用于基于任务参数对部署在渠道服务端上的数据同步接口进行调用,其中与数据同步接口关联的数据同步函数是用于对与企业标识对应的待同步企业的企业数据进行标准化和/或归一化的函数,渠道服务端是待同步渠道所在的服务端;
111.数据同步单元,用于获取与企业标识对应的待同步企业的企业数据,将获取到的企业数据同步到目标数据库中。
112.在此基础上,可选的,任务参数还包括待同步渠道的渠道标识,数据同步函数还可用于将渠道标识和部署有数据同步接口的待同步渠道的预设标识进行对比;和/或,
113.企业标识包括待同步企业的加密后的标识,任务参数还包括基于预设加密算法对未加密的企业标识进行加密后的校验码,则数据同步函数还可用于基于校验码和与预设加密算法对应的预设解密算法对企业标识进行解密。
114.可选的,上述数据同步装置,还可以包括:
115.用户令牌获取模块,用于在检测到用户登录事件时,获取与用户登录事件对应的待登录应用的应用标识和待登录用户的用户令牌,其中,用户登录事件是待同步渠道所在的渠道服务端基于接收到的用户令牌和应用标识调用部署在数据同步服务端上的应用登录接口时触发的事件;
116.应用链接确定模块,用确定与应用标识对应的应用链接,将应用链接发送给渠道服务端,以使渠道服务端根据应用链接、用户令牌以及应用标识跳转到待登录应用所在的应用服务端。
117.在此基础上,可选的,上述数据同步装置,还可以包括:
118.用户令牌发送模块,用于在接收用户身份认证指令时,将与用户身份认证指令对应的用户令牌发送给应用服务端,以使应用服务端根据渠道服务端发送的用户令牌以及数据同步服务端发送的用户令牌对待登录用户的用户身份进行认证;和/或,
119.用户数据发送模块,用于接收到数据获取指令时,从已同步的各企业数据中获取与数据获取指令对应的待登录用户的用户数据,将用户数据发送给应用服务端。
120.可选的,上述数据同步装置,还可以包括:
121.渠道信息获取模块,用于在检测到应用上架事件时,获取与应用上架事件对应的待上架应用的应用信息、及与待上架应用关联的待同步渠道的渠道信息,其中,关联在与待上架应用关联的待同步渠道上的待同步企业包括允许使用待上架应用的企业;
122.应用上架审核通知发送模块,用于记录应用信息和渠道信息,将应用上架审核通知发送到负责审核待上架应用的上架与否的审核对象所在的审核客户端上。
123.本发明实施例四提供的数据同步装置,通过数据同步列表获取模块确定与接收到的数据同步指令对应的关联在待同步渠道上的待同步企业,获取包含与各待同步企业分别对应的数据同步任务的数据同步列表,其中数据同步任务是用于对相应的待同步企业的企业数据进行同步的任务,并且各数据同步任务被划分到至少两个数据同步页面中;通过数据同步任务确定模块从数据同步列表中调用某数据同步任务,确定当前调用到的数据同步任务是否位于上一次调用到的数据同步任务所在的当前同步页面,该当前同步页面是各数据同步页面中的一个,由此确定待同步渠道在短时间内响应的数据同步任务的任务数量是否可能导致该待同步渠道出现响应瓶颈;通过数据同步模块若否,这说明待同步渠道此时可能出现响应瓶颈,那么可以在确定属于当前同步页面的各数据同步任务均执行完毕后,执行等待时长为预设分页时长的等待操作以让待同步渠道恢复服务性能,进而在等待操作执行完毕后,执行当前调用到的数据同步任务以进行数据同步,由此保证了每个数据同步任务的有效执行。上述装置,通过对各数据同步任务进行页面划分,并在执行完毕同一数据同步页面上的各数据同步任务后等待预设分页时长,然后再执行下一数据同步页面上的各数据同步任务,由此降低了待同步渠道出现响应瓶颈的可能性,进一步在面向多渠道多企业的数据同步需求时,达到了准确且及时的数据同步的效果。
124.本发明实施例所提供的数据同步装置可执行本发明任意实施例所提供的数据同步方法,具备执行方法相应的功能模块和有益效果。
125.值得注意的是,上述数据同步装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
126.实施例五
127.图9为本发明实施例五提供的一种数据同步服务器的结构示意图,如图9所示,该服务器包括存储器510、处理器520、输入装置530和输出装置540。服务器中的处理器520的数量可以是一个或是多个,图9中以一个处理器520为例;服务器中的存储器510、处理器
520、输入装置530和输出装置540可以通过总线或其它方式连接,图9中以通过总线550连接为例。
128.存储器510作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的数据同步方法对应的程序指令/模块(如,数据同步装置中的数据同步列表获取模块410、数据同步任务确定模块420和数据同步模块430)。处理器520是通过运行存储在存储器510中的软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述的数据同步方法。
129.存储器510可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据服务器的使用所创建的数据等。此外,存储器510可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或是其他非易失性固态存储器件。在一些实例中,存储器510可进一步包括相对于处理器520远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
130.输入装置530可用于接收输入的数字或字符信息,以及产生与装置的用户设置以及功能控制有关的键信号输入。输出装置540可包括显示屏等显示设备。
131.实施例六
132.本发明实施例六提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种数据同步方法,该方法配置于数据同步服务端,可以包括:
133.在接收到数据同步指令时,确定数据同步指令对应的关联在待同步渠道上的待同步企业,获取包含分别用于对各待同步企业的企业数据进行同步的数据同步任务的数据同步列表,其中位于数据同步列表中的各数据同步任务被划分到至少两个数据同步页面中;
134.从数据同步列表中调用数据同步任务,并确定当前调用到的数据同步任务是否位于上一次调用到的数据同步任务所在的当前同步页面,其中,当前同步页面是各数据同步页面中的一个;
135.如果否,则在确定属于当前同步页面中的各数据同步任务均执行完毕之后,执行等待时长为预设分页时长的等待操作,并在等待操作执行完毕之后,执行当前调用到的数据同步任务以进行数据同步。
136.当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的数据同步方法中的相关操作。
137.通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。依据这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
138.注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,
本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
再多了解一些

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

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

相关文献