一种交易流水号生成方法、服务器、设备及介质与流程

文档序号:17790424发布日期:2019-05-31 20:07阅读:431来源:国知局
导航: X技术> 最新专利> 计算;推算;计数设备的制造及其应用技术
一种交易流水号生成方法、服务器、设备及介质与流程

本发明涉及流水号生成技术领域,尤其涉及一种交易流水号生成方法、服务器、设备及介质。



背景技术:

在软件开发技术领域,需要高频率的生成流水号,比如每个交易都需要对应有一个唯一的流水号(id)。传统的流水号生成方式中,需要在数据库中生成sequnce对象以存储一定量的流水号,为了保证分布式系统生成的流水号是唯一的,需要在逻辑集中的数据库上生成流水号,每次需要流水号的时候,通过访问数据库,从数据库的sequnce对象中获取流水号。这种流水号生成方式每生成一个流水号都要连接一次数据库执行一次sequnce中的流水号查询,并同时需要将生成的最新流水号持久化,防止丢失。当流水号获取请求高并发时,会对数据库产生较大压力,数据库响应速度会降低,从而流水号生成速度缓慢,影响任务进程。



技术实现要素:

本发明的一个目的在于提供一种交易流水号生成方法,降低数据库压力,提高流水号生成速度。本发明的另一个目的在于提供一种服务器。本发明的再一个目的在于提供一种计算机设备。本发明的还一个目的在于提供一种可读介质。

为了达到以上目的,本发明一方面公开了一种交易流水号生成方法,包括:

接收终端传输的流水号获取请求;

从内存中获取当前流水号;

根据所述当前流水号形成最新流水号,将所述最新流水号返回至终端,并将所述当前流水号的值替换为最新流水号的值。

优选的,根据所述当前流水号形成最新流水号具体包括:

将所述当前流水号的值增加第一预设数值得到所述最新流水号。

优选的,所述方法还包括:

在形成第二预设数量个最新流水号后将所述最新流水号存储至数据库。

优选的,当从内存中获取当前流水号失败时,从数据库中获取流水号初值,根据所述流水号初值形成当前流水号。

优选的,根据所述流水号初值形成当前流水号具体包括:

将所述流水号初值的值增加第三预设数值得到所述当前流水号。

优选的,所述第三预设数值大于将最新流水号存储至数据库时的最新流水号与数据库中流水号初值的差值。

本发明还公开了一种交易流水号生成方法,包括:

向服务器发送流水号获取请求以使所述服务器从内存中获取当前流水号,根据所述当前流水号形成最新流水号,将所述最新流水号返回,并将所述当前流水号的值替换为最新流水号的值。

本发明还公开了一种服务器,包括:

请求获取单元,用于接收终端传输的流水号获取请求;

流水号获取单元,用于从内存中获取当前流水号;

流水号生成单元,用于根据所述当前流水号形成最新流水号,将所述最新流水号返回至终端,并将所述当前流水号的值替换为最新流水号的值。

本发明还公开了一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,

所述处理器执行所述程序时实现如上所述方法。

本发明还公开了一种计算机可读介质,其上存储有计算机程序,

该程序被处理器执行时实现如上所述方法。

本发明将当前流水号存储在内存中,在接收到流水号获取请求后,从内存中获取到当前流水号,按照预设规则根据当前流水号生成最新流水号,以保证生成的流水号的唯一性,将生成的唯一的最新流水号返回给终端,并用最新流水号的值替换当前流水号的值作为当前流水号,从而在后续最新流水号的生成过程中不会产生重复的最新流水号。本发明生成流水号的过程中,无需在每生成一个流水号的过程中访问一次数据库,从而能够在流水号获取请求高并发时降低数据库的压力,提高流水号的生成速度,且能够降低生成流水号的成本。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示出本发明一种交易流水号生成方法一个具体实施例的流程图之一;

图2示出本发明一种交易流水号生成方法一个具体实施例的流程图之一;

图3示出本发明一种交易流水号生成方法一个具体实施例的流程图之一;

图4示出本发明一种交易流水号生成方法一个具体实施例的流程图之一;

图5示出本发明一种交易流水号生成方法一个具体实施例的流程图之一;

图6示出本发明一种交易流水号生成方法一个具体实施例的流程图之一;

图7示出本发明一种交易流水号生成方法一个具体实施例的算法流程图;

图8示出本发明一种服务器一个具体实施例的结构图之一;

图9示出本发明一种服务器一个具体实施例的结构图之二;

图10示出适于用来实现本发明实施例的计算机设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

根据本发明的一个方面,从服务器角度,本实施例公开了一种交易流水号生成方法。如图1所示,本实施例中,交易流水号生成方法包括:

s100:接收终端传输的流水号获取请求。

s200:从内存中获取当前流水号。

s300:根据所述当前流水号形成最新流水号,将所述最新流水号返回至终端,并将所述当前流水号的值替换为最新流水号的值。

本发明将当前流水号存储在内存中,在接收到流水号获取请求后,从内存中获取到当前流水号,按照预设规则根据当前流水号生成最新流水号,以保证生成的流水号的唯一性,将生成的唯一的最新流水号返回给终端,并用最新流水号的值替换当前流水号的值作为当前流水号,从而在后续最新流水号的生成过程中不会产生重复的最新流水号。本发明生成流水号的过程中,无需在每生成一个流水号的过程中访问一次数据库,从而能够在流水号获取请求高并发时降低数据库的压力,提高流水号的生成速度,且与数据库io操作是最耗时、成本最高的操作,通过充分利用内存,减少与数据库之间的操作,从而降低生成流水号的成本。

在一个优选的实施方式中,可采用sqlserver数据库存储流水号,例如存储流水号初值或定期将最新流水号存储至sqlserver数据库中以更新流水号初值,当流水号丢失后,可从数据库中获取存储的流水号初值,在流水号初值的基础上形成最新流水号,防止在流水号丢失后生成重复的流水号。具体的,可在sqlserver数据库中创建表sequenceno以定期存储流水号初值。

在优选的实施方式中,如图2所示,所述s300中根据所述当前流水号形成最新流水号具体包括:

s310:将所述当前流水号的值增加第一预设数值得到所述最新流水号。本实施例中,通过在当前流水号的基础上增加第一预设数值得到最新流水号。在其他实施方式中,也可通过减少一定数值等方式形成最新流水号,只需保证后续生成的最新流水号与之前的流水号不重复即可。优选的,第一预设数值可为1,在当前流水号的基础上加1后形成最新流水号,流水号生成方式简单且不重复,在实际应用中,第一预设数值也可采用其他数值。

在优选的实施方式中,如图3所示,所述方法还包括:

s400:在每形成第二预设数量个最新流水号后将所述最新流水号存储至数据库。通过定期存储最新流水号,可防止生成的最新流水号丢失,当系统开机初始化时,内存中并没有流水号,或当系统发生故障重启后,内存中的当前流水号会丢失,通过定期将最新流水号持久化至数据库中,可在内存中没有当前流水号时,重新从数据库中获取存储的流水号,从而能够获知前一次生成的最新流水号的数值范围,进而根据重新获取的流水号生成最新流水号,也能够保证生成的最新流水号与之前生成的流水号不重复。例如,当第二预设数量为100时,当每形成100个最新流水号,则将最新形成的最新流水号存储至数据库中,则当内存中不存在当前流水号时,可从数据库中获取最新存储的流水号,则上一次生成的最新流水号的数值范围在获取的流水号基础上连续生成的100个流水号的数值范围内,当无法获取前一次生成的最新流水号时,使生成的最新流水号避开上一次生成的最新流水号的数值范围即可防止生成的流水号与之前生成的流水号的重复问题,实现高效、安全的生成流水号的目的。

在优选的实施方式中,如图4所示,所述s200还包括:

s210:当从内存中获取当前流水号失败时,从数据库中获取流水号初值,根据所述流水号初值形成当前流水号。当从内存中获取当前流水号失败时,即表明系统可能是开机初始化或发生故障重启后,可从数据库中获取定期存储的流水号形成的流水号初值,从而能够继续生成流水号。

在优选的实施方式中,如图5所示,所述s210中根据所述流水号初值形成当前流水号具体可包括:

s211:将所述流水号初值的值增加第三预设数值得到所述当前流水号。通过在流水号初值的数值上增加第三预设数值,使生成的最新流水号避开上一次生成的最新流水号的数值范围即可防止生成的流水号与之前生成的流水号的重复问题。

在优选的实施方式中,所述第三预设数值大于将最新流水号存储至数据库时的最新流水号与数据库中流水号初值的差值。例如,当在当前流水号的数值上加1以形成最新流水号,并在形成100个最新流水号之后将当前形成的最新流水号存储至数据库中,则第三预设数值应大于存储时的最新流水号与数据库中已有的流水号的差值,则第三预设数值需大于第一预设数值和第二预设数量的乘积,即第三预设数值需大于1*100,以保证后续生成的最新流水号与之前生成的流水号不会重复。

在优选的实施方式中,如果需要定制化,使流水号可以循环利用,也可在第二天重新设置流水号初值。如图6所示,所述方法进一步可包括:

s500:在预设时间,将数据库中存储的流水号初值替换为预设值。其中,预设时间可以是服务器停止工作的时间,将内存和数据库的物理表清空也认为是将流水号初值替换为预设值。

图7示出本发明一个具体例子的算法流程图,其中,虚线表示对算法流程的解释说明。如图7所示,作为终端的客户端通过互联网访问服务器,调用应用程序接口,以获取最新流水号。内存中目前存储的当前流水号为@value。在获取到@value后,确认当前流水号是否存在,当@value==0成立(ture)时,当前流水号为0,表示服务器重启或其他原因造成缓存的@value值丢失,此时需要重新从数据库的表中读取流水号初值,即获取上次持久化的流水号,该步可通过select@value=[value]fromsequenceno实现。将获取的流水号初值的值加100后得到重新确定的当前流水号,该步可通过@value=@value+100实现。当@value==0不成立(false)时,表示当前内存缓存中存在当前流水号,通过@value=@value+1将缓存值加1,相当于将当前流水号的值加1形成最新流水号。进一步可通过@value%100==0?确定是否需要存储生成的最新流水号,即在最新流水号的值每增加100的时候存储一次最新流水号。具体的,当@value%100==0的结果为ture时,通过updatesequencenoset[value]=@value将数据库中表sequenceno中存储的流水号初始替换为当前的最新流水号,然后将生成的最新流水号返回给客户端。当@value%100==0的结果为false时,无需存储直接将最新流水号返回给客户端。

基于相同原理,从终端角度,本实施例还公开了一种交易流水号生成方法。所述方法包括向服务器发送流水号获取请求以使所述服务器从内存中获取当前流水号,根据所述当前流水号形成最新流水号,将所述最新流水号返回,并将所述当前流水号的值替换为最新流水号的值。

本发明将当前流水号存储在内存中,在接收到流水号获取请求后,从内存中获取到当前流水号,按照预设规则根据当前流水号生成最新流水号,以保证生成的流水号的唯一性,将生成的唯一的最新流水号返回给终端,并用最新流水号的值替换当前流水号的值作为当前流水号,从而在后续最新流水号的生成过程中不会产生重复的最新流水号。本发明生成流水号的过程中,无需在每生成一个流水号的过程中访问一次数据库,从而能够在流水号获取请求高并发时降低数据库的压力,提高流水号的生成速度,且与数据库io操作是最耗时、成本最高的操作,通过充分利用内存,减少与数据库之间的操作,从而降低生成流水号的成本。

在一个优选的实施方式中,可采用sqlserver数据库存储流水号,例如存储流水号初值或定期将最新流水号存储至sqlserver数据库中以更新流水号初值,当流水号丢失后,可从数据库中获取存储的流水号初值,在流水号初值的基础上形成最新流水号,防止在流水号丢失后生成重复的流水号。具体的,可在sqlserver数据库中创建表sequenceno以定期存储流水号初值。

在优选的实施方式中,根据所述当前流水号形成最新流水号具体可包括:将所述当前流水号的值增加第一预设数值得到所述最新流水号。本实施例中,通过在当前流水号的基础上增加第一预设数值得到最新流水号。在其他实施方式中,也可通过减少一定数值等方式形成最新流水号,只需保证后续生成的最新流水号与之前的流水号不重复即可。优选的,第一预设数值可为1,在当前流水号的基础上加1后形成最新流水号,流水号生成方式简单且不重复,在实际应用中,第一预设数值也可采用其他数值。

在优选的实施方式中,所述方法还包括:使服务器在每形成第二预设数量个最新流水号后将所述最新流水号存储至数据库。通过定期存储最新流水号,可防止生成的最新流水号丢失,当系统开机初始化时,内存中并没有流水号,或当系统发生故障重启后,内存中的当前流水号会丢失,通过定期将最新流水号持久化至数据库中,可在内存中没有当前流水号时,重新从数据库中获取存储的流水号,从而能够获知前一次生成的最新流水号的数值范围,进而根据重新获取的流水号生成最新流水号,也能够保证生成的最新流水号与之前生成的流水号不重复。例如,当第二预设数量为100时,当每形成100个最新流水号,则将最新形成的最新流水号存储至数据库中,则当内存中不存在当前流水号时,可从数据库中获取最新存储的流水号,则上一次生成的最新流水号的数值范围在获取的流水号基础上连续生成的100个流水号的数值范围内,当无法获取前一次生成的最新流水号时,使生成的最新流水号避开上一次生成的最新流水号的数值范围即可防止生成的流水号与之前生成的流水号的重复问题,实现高效、安全的生成流水号的目的。

在优选的实施方式中,当从内存中获取当前流水号失败时,服务器从数据库中获取流水号初值,根据所述流水号初值形成当前流水号。当从内存中获取当前流水号失败时,即表明系统可能是开机初始化或发生故障重启后,可从数据库中获取定期存储的流水号形成的流水号初值,从而能够继续生成流水号。

在优选的实施方式中,所述根据所述流水号初值形成当前流水号具体可包括:将所述流水号初值的值增加第三预设数值得到所述当前流水号。通过在流水号初值的数值上增加第三预设数值,使生成的最新流水号避开上一次生成的最新流水号的数值范围即可防止生成的流水号与之前生成的流水号的重复问题。

在优选的实施方式中,所述第三预设数值大于将最新流水号存储至数据库时的最新流水号与数据库中流水号初值的差值。例如,当在当前流水号的数值上加1以形成最新流水号,并在形成100个最新流水号之后将当前形成的最新流水号存储至数据库中,则第三预设数值应大于存储时的最新流水号与数据库中已有的流水号的差值,则第三预设数值需大于第一预设数值和第二预设数量的乘积,即第三预设数值需大于1*100,以保证后续生成的最新流水号与之前生成的流水号不会重复。

基于相同原理,本实施例还公开了一种服务器。如图8所示,该服务器包括请求获取单元11、流水号获取单元12和流水号生成单元13。

其中,所述请求获取单元11用于接收终端传输的流水号获取请求。

所述流水号获取单元12用于从内存中获取当前流水号。

所述流水号生成单元13用于根据所述当前流水号形成最新流水号,将所述最新流水号返回至终端,并将所述当前流水号的值替换为最新流水号的值。

该服务器可通过软件实现,也可通过硬件实现。在优选的实施方式中,可通过开发sqlserver数据库公共语言运行库(commonlanguageruntime,clr)组件,clr和java虚拟机一样也是一个运行时环境,它负责资源管理(内存分配和垃圾收集等),并保证应用和底层操作系统之间必要的分离,是.netframework的主要执行引擎。使用.net程序开发组件形成服务器的clr组件,并利用sqlserver可以集成用户自定义.net应用程序的功能,将clr组件安装至数据库,供客户端调用。clr组件可实现最新流水号的生成及发送给终端的功能,并能够定期将生成的最新流水号存储至数据库中,防止流水号丢失。如果需要扩展,可以将clr组件部署到多台数据库中,通过设置流水号初值、第一预设数值、第二预设数量和第三预设数值等参数,使每个数据库上的clr组件形成不同的流水号。

在一个优选的实施方式中,可采用sqlserver数据库存储流水号,例如存储流水号初值或定期将最新流水号存储至sqlserver数据库中以更新流水号初值,当流水号丢失后,可从数据库中获取存储的流水号初值,在流水号初值的基础上形成最新流水号,防止在流水号丢失后生成重复的流水号。具体的,可在sqlserver数据库中创建表sequenceno以定期存储流水号初值。

在优选的实施方式中,所述流水号生成单元13进一步用于将所述当前流水号的值增加第一预设数值得到所述最新流水号。

在优选的实施方式中,所述流水号生成单元13进一步用于在每形成第二预设数量个最新流水号后将所述最新流水号存储至数据库。

在优选的实施方式中,所述流水号获取单元12进一步用于当从内存中获取当前流水号失败时,从数据库中获取流水号初值,根据所述流水号初值形成当前流水号。

在优选的实施方式中,所述流水号获取单元12进一步用于将所述流水号初值的值增加第三预设数值得到所述当前流水号。

在优选的实施方式中,如图9所示,所述服务器还包括流水号重置单元14。该流水号重置单元用于在预设时间,将数据库中存储的流水号初值替换为预设值。

由于该服务器解决问题的原理与以上方法类似,因此本服务器的实施可以参见方法的实施,在此不再赘述。

基于相同原理,本实施例还公开了一种终端,该终端用于向服务器发送流水号获取请求以使所述服务器从内存中获取当前流水号,根据所述当前流水号形成最新流水号,将所述最新流水号返回,并将所述当前流水号的值替换为最新流水号的值。

由于该终端解决问题的原理与以上方法类似,因此本终端的实施可以参见方法的实施,在此不再赘述。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机设备,具体的,计算机设备例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。

在一个典型的实例中计算机设备具体包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上所述的由客户端执行的方法,或者,所述处理器执行所述程序时实现如上所述的由服务器执行的方法。

下面参考图10,其示出了适于用来实现本申请实施例的计算机设备600的结构示意图。

如图10所示,计算机设备600包括中央处理单元(cpu)601,其可以根据存储在只读存储器(rom)602中的程序或者从存储部分608加载到随机访问存储器(ram))603中的程序而执行各种适当的工作和处理。在ram603中,还存储有系统600操作所需的各种程序和数据。cpu601、rom602、以及ram603通过总线604彼此相连。输入/输出(i/o)接口605也连接至总线604。

以下部件连接至i/o接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(crt)、液晶反馈器(lcd)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如lan卡,调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至i/o接口606。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装如存储部分608。

特别地,根据本发明的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包括用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

完整全部详细技术资料下载
当前第1页 1  2 
相关技术
  • 客户营销方法及装置与流程
  • 一种大数据统计方法及用于大数...
  • 一种千万级数据计算方法、装置...
  • 一种面向定制装备制造协同过程...
  • 一种表单差异查询方法和装置与...
  • 一种分析处理的方法、装置、计...
  • PG数据库处理方法、装置、电...
  • 值班表显示方法、装置、计算机...
  • 一种数据处理方法及计算设备与...
  • 数据缓存方法、装置、终端及存...
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1

代做工资流水公司青岛代做购房银行流水石家庄离职证明代开江门银行流水账代开贵阳代开工资流水app截图许昌企业对公流水查询青岛办理房贷流水东莞车贷银行流水 打印烟台代做流水东莞入职工资流水制作徐州企业贷流水报价大庆工资证明费用菏泽办理日常消费流水盐城查工资代付流水合肥代办工资银行流水广州签证工资流水制作许昌在职证明样本常德背调银行流水公司淄博消费贷流水代开岳阳代办企业银行流水烟台个人银行流水制作沈阳公司银行流水济南背调流水多少钱大连流水报价烟台工作收入证明样本蚌埠个人流水代做重庆签证流水费用包头打银行流水电子版济南自存流水制作莆田打印贷款流水湘潭购房银行流水费用香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

代做工资流水公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化