开发平台装置、获取保单号的方法及计算机可读存储介质与流程

文档序号:15230697发布日期:2018-08-21 19:24阅读:182来源:国知局

本发明涉及通信技术领域,尤其涉及一种开发平台装置、获取保单号的方法及计算机可读存储介质。



背景技术:

目前,外部合作系统通过开放平台获取保单号,而开放平台需实时访问开放平台的数据库以获取到出单系统生成的保单号,然后将获取的保单号返回给外部合作系统。当开放平台的数据库不能访问时,将造成外部合作系统无法按照正常流程及时得到保单号,外部合作系统无法进行出单,导致业务无法办理,造成客户的流失。



技术实现要素:

本发明的目的在于提供一种开发平台装置、获取保单号的方法及计算机可读存储介质,旨在实现在数据库不可用状态下外部合作系统仍可以正常、及时出单,避免客户流失。

为实现上述目的,本发明提供一种开放平台装置,所述开放平台装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的处理系统,所述处理系统被所述处理器执行时实现如下步骤:

s1,在接收到外部合作系统发起的生成保单号的请求时,定时扫描分布式缓存及数据库;

s2,当扫描到所述数据库处于不可用状态时,分析所述分布式缓存中是否存储有预先生成的保单号;

s3,若所述分布式缓存中存储有预先生成的保单号,则将所述保单号发送给外部合作系统;

s4,若所述分布式缓存中未存储有预先生成的保单号,则调用预设的保单号接口,通过所述保单号接口获取出单系统生成的保单号,并将获取的保单号发送给外部合作系统。

优选地,所述处理系统被所述处理器执行实现所述步骤s1之后,还包括:

s5,当扫描到所述数据库处于可用状态时,分析所述数据库及分布式缓存中是否存储有预先生成的保单号;

s6,若所述分布式缓存中存储有预先生成的保单号,则将所述分布式缓存中的保单号发送给外部合作系统;

s7,若所述分布式缓存中未存储有预先生成的保单号,所述数据库中存储有预先生成的保单号,则将所述保单号从所述数据库中移入所述分布式缓存中,并将所述分布式缓存中的保单号发送给外部合作系统。

优选地,所述处理系统被所述处理器执行实现所述步骤s5之后,还包括:

若所述分布式缓存及数据库中均未存储有预先生成的保单号,则执行所述步骤s4。

优选地,所述处理系统被所述处理器执行实现所述步骤s1时,具体包括:

开放平台在接收到外部合作系统发起的生成保单号的请求时,基于timer计时器和nas共享文件锁原理模拟异步任务,定时异步扫描分布式缓存及数据库。

为实现上述目的,本发明还提供一种获取保单号的方法,所述获取保单号的方法包括:

s1,在接收到外部合作系统发起的生成保单号的请求时,定时扫描分布式缓存及数据库;

s2,当扫描到所述数据库处于不可用状态时,分析所述分布式缓存中是否存储有预先生成的保单号;

s3,若所述分布式缓存中存储有预先生成的保单号,则将所述保单号发送给外部合作系统;

s4,若所述分布式缓存中未存储有预先生成的保单号,则调用预设的保单号接口,通过所述保单号接口获取出单系统生成的保单号,并将获取的保单号发送给外部合作系统。

优选地,所述步骤s1之后,还包括:

s5,当扫描到所述数据库处于可用状态时,分析所述数据库及分布式缓存中是否存储有预先生成的保单号;

s6,若所述分布式缓存中存储有预先生成的保单号,则将所述分布式缓存中的保单号发送给外部合作系统;

s7,若所述分布式缓存中未存储有预先生成的保单号,所述数据库中存储有预先生成的保单号,则将所述保单号从所述数据库中移入所述分布式缓存中,并将所述分布式缓存中的保单号发送给外部合作系统。

优选地,所述步骤s5之后,还包括:若所述分布式缓存及数据库中均未存储有预先生成的保单号,则执行所述步骤s4。

优选地,所述步骤s1包括:开放平台在接收到外部合作系统发起的生成保单号的请求时,基于timer计时器和nas共享文件锁原理模拟异步任务,定时异步扫描分布式缓存及数据库。

优选地,所述出单系统生成保单号的步骤包括:

所述出单系统查询分布式文档存储数据库mongodb,以获取所述分布式文档存储数据库mongodb中基于数字序列sequence生成的保单号。

本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有处理系统,所述处理系统被处理器执行时实现如上述的获取保单号的方法的步骤。

本发明的有益效果是:本发明在外部合作系统向开放平台装置请求保单号,数据库处于不可用状态时,可分析分布式缓存中是否存储有预先生成的保单号,如果有,可以将分布式缓存中的保单号发送给外部合作系统,如果没有,则调用预设的保单号接口,通过保单号接口获取出单系统生成的保单号,将获取的保单号发送给外部合作系统。本发明在开放平台装置的数据库处于不可用状态时,仍可以及时获取到保单号并反馈给外部合作系统,保证外部合作系统在任何时间均可以正常出单,避免客户流失。

附图说明

图1为本发明各个实施例一可选的应用环境示意图;

图2是图1中开发平台装置一实施例的硬件架构的示意图;

图3为本发明获取保单号的方法第一实施例的流程示意图;

图4为本发明获取保单号的方法第二实施例的流程示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。

参阅图1,是本发明各个实施例一可选的应用环境示意图。

在本实施例中,本发明可应用于包括,但不仅限于,开发平台装置1、外部合作系统2、数据库3、分布式缓存4及出单系统5的应用环境中。其中,所述开发平台装置1可以是笔记本电脑、pda(个人数字助理)、pad(平板电脑)等等的可移动设备,以及诸如数字tv、台式计算机、笔记本、服务器等等的固定终端。其中,外部合作系统2可以是车险系统、寿险系统等等。其中,所述开发平台装置1与一个或多个外部合作系统2通信连接。

参阅图2,是图1中开发平台装置1一可选的硬件架构的示意图,本实施例中,开发平台装置1可包括,但不仅限于,可通过系统总线相互通信连接的处理系统10、存储器11、处理器12。需要指出的是,图2仅示出了具有组件10-12的开发平台装置1,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。

其中,所述存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器11可以是所述开发平台装置1的内部存储单元,例如该开发平台装置1的硬盘或内存。在另一些实施例中,所述存储器11也可以是所述开发平台装置1的外部存储设备,例如该开发平台装置1上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。当然,所述存储器11还可以既包括所述开发平台装置1的内部存储单元也包括其外部存储设备。本实施例中,所述存储器11通常用于存储安装于所述开发平台装置1的操作系统和各类应用软件,例如所述处理系统10的程序代码等。此外,所述存储器11还可以用于暂时地存储已经输出或者将要输出的各类数据。

所述处理器12在一些实施例中可以是中央处理器(centralprocessingunit,cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器12通常用于控制所述开发平台装置1的总体操作,例如执行与所述外部合作系统2进行数据交互或者通信相关的控制和处理等。本实施例中,所述处理器12用于运行所述存储器11中存储的程序代码或者处理数据,例如运行所述处理系统10等。

其中,上述处理系统10被所述处理器12执行时实现如下步骤:

步骤s1,在接收到外部合作系统发起的生成保单号的请求时,定时扫描分布式缓存及数据库;

本实施例中,外部合作系统可以集成在开放平台装置1中,也可以集成在其他装置中。外部合作系统通过网络将生成保单号的请求发送给开发平台装置1,开放平台装置1在接收到该请求时,定时扫描其分布式缓存4及数据库3。

优选地,开放平台装置1基于timer计时器和nas共享文件锁原理模拟异步任务,具体地,首先预设timer计时器的开始计时时刻及计时时间间隔,在开始计时时刻利用nas共享文件锁原理异步扫描分布式缓存4及数据库3,扫描后进行等待,timer计时器进行计时,当达到计时时间间隔时,再次利用nas共享文件锁原理异步扫描分布式缓存4及数据库3,以此类推,以实现定时异步扫描分布式缓存4及数据库3,扫描后能够获知数据库3当前的状态是可用状态还是不可用状态,且获知分布式缓存4是否存储有数据。

步骤s2,当扫描到所述数据库处于不可用状态时,分析所述分布式缓存中是否存储有预先生成的保单号;

本实施例中,出单系统5在生成保单号后,可将保单号只存储在其数据库中,也可将保单号只存储在其分布式缓存中,也可将保单号分别存储在数据库及分布式缓存中。

数据库3处于可用状态时可以进一步分析其是否存储有保单号;数据库3处于不可用状态时无法分析其是否存储有保单号。其中,数据库3处于不可用状态的情况有多种,例如出现存储故障或者出现网络故障等等。当扫描到数据库3处于不可用状态时,分析分布式缓存4中是否存储有预先生成的保单号。其中,分布式缓存4具有大容量的存储空间,包括内存及磁盘。在出单系统5生成保单号后,可以将生成的保单号存储在其内存或磁盘中。

步骤s3,若所述分布式缓存中存储有预先生成的保单号,则将所述保单号发送给外部合作系统;

步骤s4,若所述分布式缓存中未存储有预先生成的保单号,则调用预设的保单号接口,通过所述保单号接口获取出单系统生成的保单号,并将获取的保单号发送给外部合作系统。

如果分布式缓存4中存储有预先生成的保单号时,开放平台装置1可以直接将所存储的保单号发送给外部合作系统,使得外部合作系统能够及时获取到生成的保单号。如果分布式缓存4中未存储有预先生成的保单号,则开放平台装置1调用预设的保单号接口,通过该保单号接口获取出单系统即时生成的保单号,最终使得外部合作系统能够及时获取到生成的保单号。

与现有技术相比,本实施例在外部合作系统向开放平台装置请求保单号,数据库处于不可用状态时,可分析分布式缓存中是否存储有预先生成的保单号,如果有,可以将分布式缓存中的保单号发送给外部合作系统,如果没有,则调用预设的保单号接口,通过保单号接口获取出单系统生成的保单号,将获取的保单号发送给外部合作系统。本实施例在开放平台装置的数据库处于不可用状态时,仍可以及时获取到保单号并反馈给外部合作系统,保证外部合作系统在任何时间均可以正常出单,避免客户流失。

在一优选的实施例中,所述处理系统10被所述处理器12执行实现所述步骤s1之后,还包括:

步骤s5,当扫描到所述数据库处于可用状态时,分析所述数据库及分布式缓存中是否存储有预先生成的保单号。

步骤s6,若所述分布式缓存中存储有预先生成的保单号,则将所述分布式缓存中的保单号发送给外部合作系统。

步骤s7,若所述分布式缓存中未存储有预先生成的保单号,所述数据库中存储有预先生成的保单号,则将所述保单号从所述数据库中移入所述分布式缓存中,并将所述分布式缓存中的保单号发送给外部合作系统。

本实施例中,在扫描到数据库3处于可用状态时,同时分析数据库3及分布式缓存4中是否存储有预先生成的保单号,如果分布式缓存4中存储有预先生成的保单号,则开放平台装置1直接将分布式缓存4中的保单号发送给外部合作系统2,而对数据库3中的保单号不做任何处理;如果分布式缓存4中未存储有预先生成的保单号但数据库3中存储有,则先将数据库3中的保单号移入分布式缓存4中,并由开放平台装置1将所移入的在分布式缓存4中的保单号发送给外部合作系统2,通过这种方式,减轻对数据库3访问的压力,且由开放平台装置1将所移入的在分布式缓存4中的保单号发送给外部合作系统2的方式速度较快,使得外部合作系统能够快速获取到保单号。

在一优选的实施例中,所述处理系统10被所述处理器12执行实现所述步骤s5之后,还包括:

若所述分布式缓存及数据库中均未存储有预先生成的保单号,则执行所述步骤s4。

本实施例中,如果数据库3处于可用状态时,但是分布式缓存4及数据库3中均未存储有预先生成的保单号,则需要放平台装置1调用预设的保单号接口,通过该保单号接口获取出单系统即时生成的保单号,最终使得外部合作系统能够及时获取到生成的保单号。

如图3所示,图3为本发明获取保单号的方法一实施例的流程示意图,该获取保单号的方法包括以下步骤:

步骤s1,在接收到外部合作系统发起的生成保单号的请求时,定时扫描分布式缓存及数据库;

本实施例中,外部合作系统可以集成在开放平台装置1中,也可以集成在其他装置中。外部合作系统通过网络将生成保单号的请求发送给开发平台装置1,开放平台装置1在接收到该请求时,定时扫描其分布式缓存4及数据库3。

优选地,开放平台装置1基于timer计时器和nas共享文件锁原理模拟异步任务,具体地,首先预设timer计时器的开始计时时刻及计时时间间隔,在开始计时时刻利用nas共享文件锁原理异步扫描分布式缓存4及数据库3,扫描后进行等待,timer计时器进行计时,当达到计时时间间隔时,再次利用nas共享文件锁原理异步扫描分布式缓存4及数据库3,以此类推,以实现定时异步扫描分布式缓存4及数据库3,扫描后能够获知数据库3当前的状态是可用状态还是不可用状态,且获知分布式缓存4是否存储有数据。

步骤s2,当扫描到所述数据库处于不可用状态时,分析所述分布式缓存中是否存储有预先生成的保单号;

本实施例中,出单系统5在生成保单号后,可将保单号只存储在其数据库中,也可将保单号只存储在其分布式缓存中,也可将保单号分别存储在数据库及分布式缓存中。

数据库3处于可用状态时可以进一步分析其是否存储有保单号;数据库3处于不可用状态时无法分析其是否存储有保单号。其中,数据库3处于不可用状态的情况有多种,例如出现存储故障或者出现网络故障等等。当扫描到数据库3处于不可用状态时,分析分布式缓存4中是否存储有预先生成的保单号。其中,分布式缓存4具有大容量的存储空间,包括内存及磁盘。在出单系统5生成保单号后,可以将生成的保单号存储在其内存或磁盘中。

步骤s3,若所述分布式缓存中存储有预先生成的保单号,则将所述保单号发送给外部合作系统;

步骤s4,若所述分布式缓存中未存储有预先生成的保单号,则调用预设的保单号接口,通过所述保单号接口获取出单系统生成的保单号,并将获取的保单号发送给外部合作系统。

如果分布式缓存4中存储有预先生成的保单号时,开放平台装置1可以直接将所存储的保单号发送给外部合作系统,使得外部合作系统能够及时获取到生成的保单号。如果分布式缓存4中未存储有预先生成的保单号,则开放平台装置1调用预设的保单号接口,通过该保单号接口获取出单系统即时生成的保单号,最终使得外部合作系统能够及时获取到生成的保单号。

与现有技术相比,本实施例在外部合作系统向开放平台装置请求保单号,数据库处于不可用状态时,可分析分布式缓存中是否存储有预先生成的保单号,如果有,可以将分布式缓存中的保单号发送给外部合作系统,如果没有,则调用预设的保单号接口,通过保单号接口获取出单系统生成的保单号,将获取的保单号发送给外部合作系统。本实施例在开放平台装置的数据库处于不可用状态时,仍可以获取到保单号并反馈给外部合作系统,保证外部合作系统在任何时间均可以出单,避免客户流失。

在一优选的实施例中,如图4所示,在图3的实施例的基础上,所述步骤s1之后还包括:

s5,当扫描到所述数据库处于可用状态时,分析所述数据库及分布式缓存中是否存储有预先生成的保单号;

s6,若所述分布式缓存中存储有预先生成的保单号,则将所述分布式缓存中的保单号发送给外部合作系统;

s7,若所述分布式缓存中未存储有预先生成的保单号,所述数据库中存储有预先生成的保单号,则将所述保单号从所述数据库中移入所述分布式缓存中,并将所述分布式缓存中的保单号发送给外部合作系统。

本实施例中,在扫描到数据库3处于可用状态时,同时分析数据库3及分布式缓存4中是否存储有预先生成的保单号,如果分布式缓存4中存储有预先生成的保单号,则开放平台装置1直接将分布式缓存4中的保单号发送给外部合作系统2,而对数据库3中的保单号不做任何处理;如果分布式缓存4中未存储有预先生成的保单号但数据库3中存储有,则先将数据库3中的保单号移入分布式缓存4中,并由开放平台装置1将所移入的在分布式缓存4中的保单号发送给外部合作系统2,通过这种方式,减轻对数据库3访问的压力,且由开放平台装置1将所移入的在分布式缓存4中的保单号发送给外部合作系统2的方式速度较快,使得外部合作系统能够快速获取到保单号。

在一优选的实施例中,在图4的实施例的基础上,所述步骤s5之后,还包括:若所述分布式缓存及数据库中均未存储有预先生成的保单号,则执行所述步骤s4。

本实施例中,如果数据库3处于可用状态时,但是分布式缓存4及数据库3中均未存储有预先生成的保单号,则需要放平台装置1调用预设的保单号接口,通过该保单号接口获取出单系统即时生成的保单号,最终使得外部合作系统能够及时获取到生成的保单号。

在一优选的实施例中,在上述的实施例的基础上,所述出单系统生成保单号的步骤包括:所述出单系统查询分布式文档存储数据库mongodb,以获取所述分布式文档存储数据库mongodb中基于数字序列sequence生成的保单号。

其中,使用分布式文档存储数据库mongodb的出单系统需安装mongodb驱动包并增加包含mongodb数据库信息相关的配置文件,以确保出单系统可以访问分布式文档存储数据库mongodb。

其中,保单号由1位单证类型、6位出单机构编码(位数不够时右边补0)、2位数据库标示、11位数字序列组成,出单系统使用分布式文档存储数据库mongodb中的sequence表来生成11位随机数,sequence表为存放数据库系统按照一定规则自动增加的数字序列的表,该表受数据库系统控制,任何时候数据库系统都可以根据当前记录数大小加上步长来获取到该表下一条记录应该是多少,每条记录都不会重复。出单系统查询分布式文档存储数据库mongodb后得到11位随机数,该11位随机数与其他9位数字组合后作为保单号,因此所得到的保单号也不会重复,即每个保单号都不相同。另外,出单系统查询得到保单号后,将保单号存储于分布式缓存及/或数据库中。

本实施例中,随着外部合作系统增加,如果开放平台装置1接收到外部合作系统的高并发请求时,基于分布式文档存储数据库mongodb生成保单号,不会导致同一个用户得到相同的保单号。

本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有处理系统,所述处理系统被处理器执行时实现上述的获取保单号的方法的步骤。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

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

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

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