一种数据组装入库的方法、装置、服务器、存储介质与流程

文档序号:17889889发布日期:2019-06-13 15:30阅读:216来源:国知局
一种数据组装入库的方法、装置、服务器、存储介质与流程

本发明实施例涉及数据传输技术,尤其涉及一种数据组装入库的方法、装置、服务器、存储介质。



背景技术:

两个业务系统之间的数据交互是通过同步接口的形式传输,一个系统需要的大量数据之间通过同步接口去另外一个系统获取。这种交互方式,难以保证数据的完整性,接口可能出现调用失败。导致数据传输不完整。需要事后补偿。

系统每天都需要获取多个资金方的数据进行对账,还款计划和实还等。这些大量的数据交互都是通过同步接口的形式进行获取或者写入。数据交互存在如下的缺陷:1、获取数据时,可能出在获取某页的数据失败,无保障数据的完整性。2、在数据入库侧也会存在入账获取连接失败,问题追溯比较麻烦,不便单条补数据。3、在提供数据的服务端,可能存在同一时间段,多个线程同时来获取数据,造成连接池过载而失败,服务端无法主动控制容错性。



技术实现要素:

本发明提供一种数据组装入库的方法、装置、服务器、存储介质,以实现通过文件传输数据,保证了数据交互的完整性。

第一方面,本发明实施例提供了一种数据组装入库的方法,包括:

接收数据组装触发指令,所述触发指令为数据发送通知或定时通知;

根据触发指令通知获取第一数据链接;

判断所述第一数据链接未被执行时从对应的服务器拉取第一数据文件;

根据预设规则解析所述第一数据文件为第一数据并存储所述第一数据至第一数据库。

可选的,所述判断所述第一数据链接未被执行,之前包括:

判断是否第一数据链接为空时重新获取所述第一数据链接。

可选的,所述根据触发指令通知获取第一数据链接,之后包括:

判断所述第一数据链接已经被执行过时,获取第二数据链接并对第二数据链接是否执行过进行判断,所述第二数据链接为第一数据链接的下一个链接;

判断所述第二数据链接未被执行时,从对应的服务器拉取对应的第二数据文件。

可选的,所述根据预设规则解析所述第一数据文件为第一数据并存储所述第一数据至第一数据库,之前包括:

判断从对应的服务器拉取第一数据文件是否成功;

如果不成功则重新拉取所述第一数据文件;

如果重新拉取所述第一数据文件失败则发出告警提示。

可选的,所述数据文件为多个,根据预设规则解析所述第一数据文件为第一数据并存储所述第一数据至第一数据库,包括:

判断每个数据文件对应的数据是否成功存储至第一数据库;

如果不成功,记录存储不成功的数据文件;

当所有存储不成功的数据文件记录完成后,将存储不成功的数据文件重复存储至第一数据库并记录为第一失败次数;

判断待所述第一失败次数达到预设第一重复次数时,存储所有存储失败的数据文件名称至第二数据库;

发送第一执行结果消息。

第二方面,本发明实施例还提供一种数据组装的方法,包括:

接收数据组装的触发指令;

根据所述指令分别在不同库和页获取数据;

将获取的数据写入文件中;

遍历所有库和页后将所述数据文件上传数据库。

可选的,所述根据所述指令分别在不同库和页获取数据,包括:

当出现数据获取异常时,对数据获取异常的库码和页码进行记录;

当所有异常的库码和页码记录完毕后,对异常库码和页码的数据进行重复获取并记录为第二失败次数;

判断对异常库码和页码的数据进行重复获取是否全部成功或者第二失败次数达到预设第二重复次数;

如果是,则发送第二执行结果消息。

可选的,所述将所述数据文件上传数据库,包括:

判断上传是否成功;

如果成功则记录数据文件的访问链接并提供查询入口;

如果失败则重新上传并记录重复次数;

当重新上传的重复次数超过预设第三重复次数时,则发送第三执行结果消息。

可选的,所述记录数据文件的访问链接并提供查询入口,之后包括:

根据所述访问链接和查询入口发送程序间消息通知。

第三方面,本发明实施例还提供了一种数据组装入库的装置,包括:

第一指令单元,用于接收数据组装触发指令,所述触发指令为数据发送通知或定时通知;

链接获取单元,用于根据触发指令通知获取第一数据链接;

文件拉取单元,用于判断所述第一数据链接未被执行时从对应的服务器拉取第一数据文件;

文件解析单元,用于根据预设规则解析所述第一数据文件为第一数据并存储所述第一数据至第一数据库。

第四方面,本发明实施例还提供了一种数据组装的装置,包括:

第二指令单元,用于接收数据组装的触发指令;

数据获取单元,用于根据所述指令分别在不同库和页获取数据;

文件写入单元,用于将获取的数据写入文件中;

库页遍历单元,用于遍历所有库和页后将所述数据文件上传数据库。

第五方面,本发明实施例还提供了一种服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现本发明实施例中任一所述的数据组装入库的方法或实现本发明实施例中任一所述的数据组装的方法。

第六方面,本发明实施例还提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明实施例中任一所述的数据组装入库的方法或实现本发明实施例中任一所述的数据组装的方法。

本发明通过文件传输数据,保证了数据交互的完整性,在组装数据端,如有拉取失败,记录失败的页数,多次重试拉起,其次在数据接收端,在解析文件数据入库时,如有失败,重新写入到另一个文件,等待再次重复执行,保证接收到的数据能完整入库。

附图说明

图1是本发明实施例一提供的一种数据组装入库的方法的流程示意图;

图2是本发明实施例二提供的一种数据组装的方法的流程示意图;

图3是本发明实施例三提供的一种数据组装入库的装置的结构示意图;

图4是本发明实施例四提供的一种数据组装的装置的结构示意图;

图5为本发明实施例五提供的一种服务器的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。

此外,术语“第一”、“第二”等可在本文中用于描述各种方向、动作、步骤或元件等,但这些方向、动作、步骤或元件不受这些术语限制。这些术语仅用于将第一个方向、动作、步骤或元件与另一个方向、动作、步骤或元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一速度差值为第二速度差值,且类似地,可将第二速度差值称为第一速度差值。第一速度差值和第二速度差值两者都是速度差值,但其不是同一速度差值。术语“第一”、“第二”等而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

实施例一

图1为本发明实施例一提供的数据组装入库的方法的流程图,本实施例可适用于数据组装入库的情况,该方法可以由数据组装入库的装置来执行,具体包括如下步骤:

步骤110、接收数据组装触发指令,所述触发指令为数据发送通知或定时通知。

具体的,数据组装触发指令用于触发数据组装,可以是数据发送通知,也可以是定时通知。具体的,数据发送通知是用于通知发送数据,定时通知是到达设定时间点判断是否已经拉取如未拉取,则自动拉取数据。

步骤120、根据触发指令通知获取第一数据链接。

具体的,在接收数据组装触发指令后,根据触发指令通知获取第一数据链接,可以理解的,第一数据链接可以是文件url。

步骤130、判断所述第一数据链接未被执行时从对应的服务器拉取第一数据文件;

具体的,判断第一数据链接是否被执行,当第一数据链接未被执行时,从对应的服务器拉取第一数据文件。可以理解的,对应的服务器可以是fastdfs服务器。

可选的,所述判断所述第一数据链接未被执行,之前包括:判断是否第一数据链接为空时重新获取所述第一数据链接。

具体的,在获取第一数据链接之后,判断第一数据链接是否为空,如若为空,则重新获取第一数据链接;如若不为空,则判断第一数据链接是否被执行,当未被执行时,从服务器拉取第一数据文件。

可选的,判断所述第一数据链接已经被执行过时,获取第二数据链接并对第二数据链接是否执行过进行判断,所述第二数据链接为第一数据链接的下一个链接;判断所述第二数据链接未被执行时,从对应的服务器拉取对应的第二数据文件。

步骤140、根据预设规则解析所述第一数据文件为第一数据并存储所述第一数据至第一数据库。

具体的,在从对应的服务器拉取第一数据文件后,将第一数据文件下载到本地,根据预设规则解析第一数据文件为第一数据并存储所述第一数据至第一数据库。

可选的,所述根据预设规则解析所述第一数据文件为第一数据并存储所述第一数据至第一数据库,之前包括:判断从对应的服务器拉取第一数据文件是否成功;如果不成功则重新拉取所述第一数据文件;如果重新拉取所述第一数据文件失败则发出告警提示。

具体的,在从对应的服务器拉取第一数据文件之后,判断从对应的服务器拉取第一数据文件是否成功;如果不成功则重新拉取所述第一数据文件;如果重新拉取所述第一数据文件失败则发出告警提示。

可选的,所述数据文件为多个,根据预设规则解析所述第一数据文件为第一数据并存储所述第一数据至第一数据库,包括:判断每个数据文件对应的数据是否成功存储至第一数据库;如果不成功,记录存储不成功的数据文件;当所有存储不成功的数据文件记录完成后,将存储不成功的数据文件重复存储至第一数据库并记录为第一失败次数;判断待所述第一失败次数达到预设第一重复次数时,存储所有存储失败的数据文件名称至第二数据库;发送第一执行结果消息。

本发明通过文件传输数据,保证了数据交互的完整性,在组装数据端,如有拉取失败,记录失败的页数,多次重试拉起,其次在数据接收端,在解析文件数据入库时,如有失败,重新写入到另一个文件,等待再次重复执行,保证接收到的数据能完整入库。

实施例二

图2为本发明实施例二提供的数据组装的方法的流程图,本实施例可适用于数据组装的情况,该方法可以由数据组装的装置来执行,具体包括如下步骤:

步骤210、接收数据组装的触发指令。

具体的,触发指令用于触发数据组装。可以是数据发送通知,也可以是定时通知。具体的,数据发送通知是用于通知发送数据,定时通知是到达设定时间点判断是否已经拉取如未拉取,则自动拉取数据。

步骤220、根据所述指令分别在不同库和页获取数据。

可选的,所述根据所述指令分别在不同库和页获取数据,包括:当出现数据获取异常时,对数据获取异常的库码和页码进行记录;当所有异常的库码和页码记录完毕后,对异常库码和页码的数据进行重复获取并记录为第二失败次数;判断对异常库码和页码的数据进行重复获取是否全部成功或者第二失败次数达到预设第二重复次数;如果是,则发送第二执行结果消息。

步骤230、将获取的数据写入文件中;

步骤240、遍历所有库和页后将所述数据文件上传数据库。

可以理解的,所述数据库包括fastdfs服务器。

可选的,所述将所述数据文件上传数据库,包括:判断上传是否成功;如果成功则记录数据文件的访问链接并提供查询入口;如果失败则重新上传并记录重复次数;当重新上传的重复次数超过预设第三重复次数时,则发送第三执行结果消息。

可选的,所述记录数据文件的访问链接并提供查询入口,之后包括:根据所述访问链接和查询入口发送程序间消息通知。

本发明通过文件传输数据,保证了数据交互的完整性,在组装数据端,如有拉取失败,记录失败的页数,多次重试拉起,其次在数据接收端,在解析文件数据入库时,如有失败,重新写入到另一个文件,等待再次重复执行,保证接收到的数据能完整入库。

实施例三

本发明实施例所提供的数据组装入库的装置可执行本发明任意实施例所提供的数据组装入库的方法,具备执行方法相应的功能模块和有益效果。图3是本发明实施例三提供的一种数据组装入库的装置的结构示意图,该装置包括:

第一指令单元310,用于接收数据组装触发指令,所述触发指令为数据发送通知或定时通知;

链接获取单元320,用于根据触发指令通知获取第一数据链接;

文件拉取单元330,用于判断所述第一数据链接未被执行时从对应的服务器拉取第一数据文件;

文件解析单元340,用于根据预设规则解析所述第一数据文件为第一数据并存储所述第一数据至第一数据库。

可选的,所述文件拉取单元330,还用于判断所述第一数据链接未被执行,之前包括:判断是否第一数据链接为空时重新获取所述第一数据链接。

可选的,所述链接获取单元320,还用于根据触发指令通知获取第一数据链接,之后包括:判断所述第一数据链接已经被执行过时,获取第二数据链接并对第二数据链接是否执行过进行判断,所述第二数据链接为第一数据链接的下一个链接;判断所述第二数据链接未被执行时,从对应的服务器拉取对应的第二数据文件。

可选的,所述文件解析单元340,还用于所述根据预设规则解析所述第一数据文件为第一数据并存储所述第一数据至第一数据库,之前包括:判断从对应的服务器拉取第一数据文件是否成功;如果不成功则重新拉取所述第一数据文件;如果重新拉取所述第一数据文件失败则发出告警提示。

可选的,所述数据文件为多个,所述文件解析单元340,还用于根据预设规则解析所述第一数据文件为第一数据并存储所述第一数据至第一数据库,包括:判断每个数据文件对应的数据是否成功存储至第一数据库;如果不成功,记录存储不成功的数据文件;当所有存储不成功的数据文件记录完成后,将存储不成功的数据文件重复存储至第一数据库并记录为第一失败次数;判断待所述第一失败次数达到预设第一重复次数时,存储所有存储失败的数据文件名称至第二数据库;发送第一执行结果消息。

本发明通过文件传输数据,保证了数据交互的完整性,在组装数据端,如有拉取失败,记录失败的页数,多次重试拉起,其次在数据接收端,在解析文件数据入库时,如有失败,重新写入到另一个文件,等待再次重复执行,保证接收到的数据能完整入库。

实施例四

本发明实施例所提供的数据组装的装置可执行本发明任意实施例所提供的数据组装的方法,具备执行方法相应的功能模块和有益效果。图4是本发明实施例四提供的一种数据组装的装置的结构示意图,该装置包括:

第二指令单元410,用于接收数据组装的触发指令;

数据获取单元420,用于根据所述指令分别在不同库和页获取数据;

文件写入单元430,用于将获取的数据写入文件中;

库页遍历单元440,用于遍历所有库和页后将所述数据文件上传数据库。

可选的,所述数据获取单元420还用于根据所述指令分别在不同库和页获取数据,包括:当出现数据获取异常时,对数据获取异常的库码和页码进行记录;当所有异常的库码和页码记录完毕后,对异常库码和页码的数据进行重复获取并记录为第二失败次数;判断对异常库码和页码的数据进行重复获取是否全部成功或者第二失败次数达到预设第二重复次数;如果是,则发送第二执行结果消息。

可选的,所述库页遍历单元440还用于将所述数据文件上传数据库,包括:判断上传是否成功;如果成功则记录数据文件的访问链接并提供查询入口;如果失败则重新上传并记录重复次数;当重新上传的重复次数超过预设第三重复次数时,则发送第三执行结果消息。

可选的,所述记录数据文件的访问链接并提供查询入口,之后包括:根据所述访问链接和查询入口发送程序间消息通知。

本发明通过文件传输数据,保证了数据交互的完整性,在组装数据端,如有拉取失败,记录失败的页数,多次重试拉起,其次在数据接收端,在解析文件数据入库时,如有失败,重新写入到另一个文件,等待再次重复执行,保证接收到的数据能完整入库。

实施例五

图5为本发明实施例五提供的一种服务器的结构示意图,如图5所示,该服务器包括处理器50、存储器51、输入装置52和输出装置53;服务器中处理器50的数量可以是一个或多个,图5中以一个处理器50为例;服务器中的处理器50、存储器51、输入装置52和输出装置53可以通过总线或其他方式连接,图5中以通过总线连接为例。

存储器51作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的数据组装入库的方法或数据组装的方法对应的程序指令/模块(例如,数据组装入库的装置中的第一指令单元310、链接获取单元320、文件拉取单元330和文件解析单元340;又例如,数据组装的装置中的第二指令单元410、数据获取单元420、文件写入单元430、库页遍历单元440)。处理器50通过运行存储在存储器51中的软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述的数据组装入库的方法或数据组装的方法。

存储器51可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器51可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器51可进一步包括相对于处理器50远程设置的存储器,这些远程存储器可以通过网络连接至服务器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

输入装置52可用于接收输入的数字或字符信息,以及产生与服务器的用户设置以及功能控制有关的键信号输入。输出装置53可包括显示屏等显示设备。

实施例六

本发明实施例六还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种数据组装入库的方法,该方法包括:

接收数据组装触发指令,所述触发指令为数据发送通知或定时通知;

根据触发指令通知获取第一数据链接;

判断所述第一数据链接未被执行时从对应的服务器拉取第一数据文件;

根据预设规则解析所述第一数据文件为第一数据并存储所述第一数据至第一数据库。

当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的数据组装入库的方法中的相关操作。

可替代的,本发明的存储介质的计算机可执行指令还可用于执行一种数据组装的方法,该方法包括:

接收数据组装的触发指令;

根据所述指令分别在不同库和页获取数据;

将获取的数据写入文件中;

遍历所有库和页后将所述数据文件上传数据库。

通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

值得注意的是,上述数据组装入库的装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1