基于全局序列号的业务数据访问方法、装置、设备及介质与流程
未命名
10-08
阅读:108
评论:0

1.本发明涉及金融科技数据处理领域,尤其涉及一种基于全局序列号的业务数据访问方法、装置、电子设备及计算机可读存储介质。
背景技术:
2.银行、券商、信托、保险、基金、融资租赁等金融系统的业务模块数据量非常庞大,例如,客户群体投放业务数据、业务结算数据等数据日峰值可达到千万级别。针对金融行业大数据量的数据存储特点,通常金融业务系统会采用将业务数据进行分库分表存储,将一个数据库或一个业务表划分到多个物理节点上,这样可以缓解大数据量的数据存储压力,提升数据库性能。
3.但是同一业务的相关数据,会被分散到不同的数据库和数据分表中,在进行同一业务的关联操作中,因数据库被切分到多个物理结点上,数据访问无法依赖数据库自身的主键生成机制,且分区数据库自生成的id,无法保证在全局上是唯一的,尤其是在多系统的多关联数据访问中,涉及到的访问链条长,访问效率低。
技术实现要素:
4.本发明提供一种基于全局序列号的业务数据访问方法、装置、电子设备及计算机可读存储介质,其主要目的在于提升金融数据领域的数据访问效率。
5.为实现上述目的,本发明提供的一种基于基于全局序列号的业务数据访问方法,包括:
6.监测到业务应用发起数据操作请求时,解析所述数据访问请求得到分片键;
7.获取所述分片键对应的目标分表规则,在预设的分表规则与业务序列表映射关系表中,查询所述业务应用的当前已用序号;
8.根据预设的业务序列号构成规则,利用所述当前已用序号生成所述业务应用的业务序列号;
9.根据所述业务序列号,生成所述业务应用的数据路由树,利用所述数据路由树执行所述数据访问请求。
10.可选地,所述监测到业务应用发起数据操作请求时,解析所述数据访问请求得到分片键,包括:
11.根据预设的业务语法对所述数据操作请求进行结构化处理;
12.识别结构化处理后的数据操作请求中的待操作数据表;
13.在预设的分片键与数据表的映射关系表中,查询所述待操作数据表对应的分片键,将查询得到的分片键作为所述数据操作请求的分片键。
14.可选地,所述在预设的分表规则与业务序列表映射关系表中,查询所述业务应用的当前已用序号,包括:
15.在所述预设的分表规则与业务序列表映射关系表中,查询所述目标分表规则对应
的业务序列表,得到目标业务序列表;
16.获取所述目标分表规则对应的目标序号区间;
17.判断所述目标业务序列表中的当前已用序号是否已经达到目标序号区间的上限;
18.当所述当前已用序号已经达到所述目标序号区间的上限,则对所述目标序号区间按照预设顺序刷新,将刷新后的目标序号区间写入到所述目标业务序列表中,并选取所述刷新后的目标序号区间的最小值作为所述业务应用的当前已用序号;
19.当所述当前已用序号未达到所述目标序号区间的上限,则将所述目标业务序列表中的当前已用序号作为所述业务应用的当前已用序号。
20.可选地,所述在预设的分表规则与业务序列表映射关系表中,查询所述业务应用的当前已用序号,所述方法还包括:
21.当所述目标序号区间不在所述目标业务序列表中时,将所述目标序号区间更新到所述目标业务序列表中;
22.将所述目标序号区间的最小值-1的取值设置为所述目标业务序列表当前已用序号。
23.可选地,所述根据所述业务序列号,生成所述业务应用的数据路由树,包括:
24.获取所述分表键对应的所有路由表;
25.以所述业务应用的业务序列号为根节点,将每个所述路由表中的起始位置作为叶子节点,组成所述业务应用的数据路由树。
26.为了解决上述问题,本发明还提供一种基于全局序列号的业务数据访问装置,所述装置包括:
27.分片键获取模块,用于监测到业务应用发起数据操作请求时,解析所述数据访问请求得到分片键;
28.已用序号查询模块,用于获取所述分片键对应的目标分表规则,在预设的分表规则与业务序列表映射关系表中,查询所述业务应用的当前已用序号;
29.业务序列号生成模块,用于根据预设的业务序列号构成规则,利用所述当前已用序号生成所述业务应用的业务序列号;
30.路由统一模块,用于根据所述业务序列号,生成所述业务应用的数据路由树,利用所述数据路由树执行所述数据访问请求。
31.可选地,所述分片键获取模块通过下述方法解析所述数据访问请求得到分片键:
32.根据预设的业务语法对所述数据操作请求进行结构化处理;
33.识别结构化处理后的数据操作请求中的待操作数据表;
34.在预设的分片键与数据表的映射关系表中,查询所述待操作数据表对应的分片键,将查询得到的分片键作为所述数据操作请求的分片键。
35.可选地,所述已用序号查询模块,通过下述方法查询所述业务应用的当前已用序号:
36.在所述预设的分表规则与业务序列表映射关系表中,查询所述目标分表规则对应的业务序列表,得到目标业务序列表;
37.获取所述目标分表规则对应的目标序号区间;
38.判断所述目标业务序列表中的当前已用序号是否已经达到目标序号区间的上限;
39.当所述当前已用序号已经达到所述目标序号区间的上限,则对所述目标序号区间按照预设顺序刷新,将刷新后的目标序号区间写入到所述目标业务序列表中,并选取所述刷新后的目标序号区间的最小值作为所述业务应用的当前已用序号;
40.当所述当前已用序号未达到所述目标序号区间的上限,则将所述目标业务序列表中的当前已用序号作为所述业务应用的当前已用序号。
41.为了解决上述问题,本发明还提供一种电子设备,所述电子设备包括:
42.存储器,存储至少一个计算机程序;及
43.处理器,执行所述存储器中存储的程序以实现上述所述的基于全局序列号的业务数据访问方法。
44.为了解决上述问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个计算机程序,所述至少一个计算机程序被电子设备中的处理器执行以实现上述所述的基于全局序列号的业务数据访问方法。
45.本发明申请当监测到业务应用发起数据操作请求时,首先获取该业务应用对应的分片键信息,分片键是数据库拆分的关键字段,基于所述分片键生成所述业务应用的全局唯一的业务序列号,再根据所述业务序列号,生成所述业务应用的数据路由树,进而利用所述业务序列号实现该业务应用相关的数据操作的统一数据路由,提升该业务应用的数据访问效率。
附图说明
46.图1为本发明一实施例提供的基于全局序列号的业务数据访问方法的流程示意图;
47.图2为本发明一实施例提供的基于全局序列号的业务数据访问方法其中一个步骤的详细实施流程示意图;
48.图3为本发明一实施例提供的基于全局序列号的业务数据访问装置的功能模块图;
49.图4为本发明一实施例提供的实现所述基于全局序列号的业务数据访问方法的电子设备的结构示意图。
50.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
51.应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
52.本技术实施例提供一种基于全局序列号的业务数据访问方法。所述基于全局序列号的业务数据访问方法的执行主体包括但不限于服务端、终端等能够被配置为执行本技术实施例提供的该方法的电子设备中的至少一种。换言之,所述基于全局序列号的业务数据访问方法可以由安装在终端设备或服务端设备的软件或硬件来执行,所述软件可以是区块链平台。所述服务端可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(contentdelivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。
53.参照图1所示,为本发明一实施例提供的基于全局序列号的业务数据访问方法的流程示意图。在本实施例中,所述一种基于全局序列号的业务数据访问方法,包括:
54.s1、监测到业务应用发起数据操作请求时,解析所述数据访问请求得到分片键;
55.本发明实施例中,以金融业务为例说明所述一种基于全局序列号的业务数据访问方法。所述业务应用可以是金融业务对外提供的服务,例如,理财产品的结算服务、银行账户的扣款服务、证券交易服务等。
56.本发明实施例中,所述数据操作请求包括但不限于涉及数据查询、数据比对、数据校验、数据结算、数据插入等操作的请求。
57.示例性地,保险业务为增强与客户之间黏性,通常会组织一些参与特定项目领取卡券的活动。针对卡券这一业务应用,会涉及卡券有效性校验、卡券活动规则识别、卡券礼品或金额兑换、卡券注销等一些列数据操作,通常由于数据库的分库分表操作,这一系列数据操作所涉及的数据会分布在不同的物理节点上,不同的业务分表中。如果单独利用每个业务分表的对应的路由表以及每个业务分表自定义的主键,相应地查表路由的效率比较低。
58.本发明实施例中,当监测到业务应用发起数据操作请求时,基于上述业务应用数据较为分散的特点,本技术首先获取该业务应用对应的分片键信息,分片键是数据库拆分的关键字段,基于所述分片键生成所述业务应用的全局唯一的业务序列号,进而利用所述业务序列号实现该业务应用相关的数据操作的统一数据路由,提升该业务应用的数据访问效率。
59.详细地,所述监测到业务应用发起数据操作请求时,解析所述数据访问请求得到分片键,包括:
60.根据预设的业务语法对所述数据操作请求进行结构化处理;
61.识别结构化处理后的数据操作请求中的待操作数据表;
62.在预设的分片键与数据表的映射关系表中,查询所述待操作数据表对应的分片键,将查询得到的分片键作为所述数据操作请求的分片键。
63.本发明实施例中,所述预设的业务语法可根据实际业务开发逻辑进行设置,例如,实际金融业务采用的java语言、c++语言等,则采用相应的语法逻辑。
64.本发明实施例中,所述根据预设的业务语法对所述数据操作请求进行结构化处理,是指根据预设的业务语法对所述数据操作请求进行划分,例如,将所述数据操作请求划分为待操作数据表、待操作数据字段、操作条件字段等几部分。
65.本发明实施例中,所述预设的分片键与数据表的映射关系表是根据实际业务的分库分表情况确定分片键与数据表之间的对应关系,例如,根据既定的分表规则记录每个数据表对应的分片键信息。
66.本发明另一可选实施例中,所述分片键还可以根据实际业务需要预先设置,为不同的业务应用预先指定相应的分片键。
67.s2、获取所述分片键对应的目标分表规则,在预设的分表规则与业务序列表映射关系表中,查询所述业务应用的当前已用序号;
68.本发明实施例中,每个所述分片键对应的分库分表数据均有既定的分表规则,通常情况下,每个分表规则下都对应一张独立的业务序列表,所述业务序列表是用来定义全
局业务序列号的使用和分配情况。同一个业务应用对应的业务序列号是全局唯一的,即不同的业务应用对应的业务序列号是不同的。
69.本发明实施例中,所述当前已用序号是针对全局业务序列号的实用情况而言,被顺序占用的最近的序列号。
70.详细地,参阅图2所示,所述在预设的分表规则与业务序列表映射关系表中,查询所述业务应用的当前已用序号,包括:
71.s21、在所述预设的分表规则与业务序列表映射关系表中,查询所述目标分表规则对应的业务序列表,得到目标业务序列表;
72.s22、获取所述目标分表规则对应的目标序号区间;
73.s23、判断所述目标业务序列表中的当前已用序号是否已经达到目标序号区间的上限;
74.s24、当所述当前已用序号已经达到所述目标序号区间的上限,则对所述目标序号区间按照预设顺序刷新,将刷新后的目标序号区间写入到所述目标业务序列表中,并选取所述刷新后的目标序号区间的最小值作为所述业务应用的当前已用序号;
75.s25、当所述当前已用序号未达到所述目标序号区间的上限,则将所述目标业务序列表中的当前已用序号作为所述业务应用的当前已用序号。
76.本发明实施例中,每个分表规则对应一张业务序列表,每张所述业务序列表是用来记录同一业务应用所对应的业务序列号的情况,每个目标分表规则对应的目标序号区间是指同一分表规则可使用的序列号的区间范围。
77.示例性地,以卡券业务应用为例,该卡券业务应用对应的业务序列表包括但不限于以下字段:
78.id:表示该业务序列表的主键,例如,124562
79.seq_name:表示该业务序列表对应的业务序列号的名称,例如,seq_卡券业务;
80.currentvalue:表示卡券业务应用的当前已用序号;
81.min_value:表示卡券业务应用的序号区间的最小值;
82.max_value:表示卡券业务应用的序号区间的最大值;
83.假设,卡券业务应用的目标分表规则对应的目标序号区间为400-450,相应地目标业务序列表中,currentvalue为436,max_value为999,则卡券业务应用对应的当前已用序号为436。若其中,currentvalue为450,则按照预设顺序刷新所述目标序号区间为450-500,查询seq_卡券业务,卡券业务应用对应的当前已用序号为450。本发明实施例中,所述预设顺序是指根据实际业务情况设置的序号区间分布情况,按照从小到大的顺序,当一个序号区间已满,则顺序递增到下一个序号区间。
84.本发明实施例中,当所述目标序号区间不在所述目标业务序列表中时,可以通过下述方法,获取所述业务应用的当前已用序号:
85.将所述目标序号区间更新到所述目标业务序列表中,将所述目标序号区间的最小值-1的取值设置为所述目标业务序列表当前已用序号。
86.s3、根据预设的业务序列号构成规则,利用所述当前已用序号生成所述业务应用的业务序列号,根据所述业务序列号,生成所述业务应用的数据路由树,利用所述数据路由树执行所述数据访问请求。
87.本发明实施例中,所述预设的业务序列号构成规则可以根据实际业务的数据量的大小、业务应用的种类进行设置。
88.示例性地,根据预设的业务序列号构成规则,一条业务序列号的构成包括:yy+mm+dd+预留位+分表位+数字序号,其中,yy表示2位的年份,例如19;mm表示2位的月份,例如,06;dd表示2位的日期,例如,25;所述预留位可用于扩展,可设置为2位,分表位可根据查询所述业务序列表获得,通常为2位;数字序号可根据当前已用序号生成,可以为8位置。所述业务序列号的总长可以为18位,能够满足oracle和mysql等常见数据库的最大数字限制。
89.根据上述所述预设的业务序列号构成规则,可以通过将当前已用序号+1的方式得到所述数字序号,得到一个可用的全局唯一的业务序列号。
90.可以理解的是,每一个业务分表都对应一个路由表,该路由表记录这该业务分表所在的数据库分库节点及分表位置。本发明实施例可结合所述业务序列号及对应的业务分表的路由表构成该业务应用的数据路由树。
91.详细地,所述根据所述业务序列号,生成所述业务应用的数据路由树,包括:
92.获取所述分表键对应的所有路由表,以所述业务应用的业务序列号为根节点,将每个所述路由表中的起始位置作为叶子节点,组成所述业务应用的数据路由树。
93.本发明实施例可通过所述数据路由树实现对同一业务应用的开始检索。
94.本发明另一可选实施例中,可基于每个分片键设置一个分段锁,支持多个分表规则的数据访问的并发处理。
95.本发明申请当监测到业务应用发起数据操作请求时,首先获取该业务应用对应的分片键信息,分片键是数据库拆分的关键字段,基于所述分片键生成所述业务应用的全局唯一的业务序列号,再根据所述业务序列号,生成所述业务应用的数据路由树,进而利用所述业务序列号实现该业务应用相关的数据操作的统一数据路由,提升该业务应用的数据访问效率。
96.如图3所示,是本发明一实施例提供的基于全局序列号的业务数据访问装置的功能模块图。
97.本发明所述基于全局序列号的业务数据访问装置100可以安装于电子设备中。根据实现的功能,所述基于全局序列号的业务数据访问装置100包括分片键获取模块101、已用序号查询模块102、业务序列号生成模块103及路由统一模块104:本发明所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
98.在本实施例中,关于各模块/单元的功能如下:
99.所述分片键获取模块101,用于监测到业务应用发起数据操作请求时,解析所述数据访问请求得到分片键;
100.所述已用序号查询模块102,用于获取所述分片键对应的目标分表规则,在预设的分表规则与业务序列表映射关系表中,查询所述业务应用的当前已用序号;
101.所述业务序列号生成模块103,用于根据预设的业务序列号构成规则,利用所述当前已用序号生成所述业务应用的业务序列号;
102.所述路由统一模块104,用于根据所述业务序列号,生成所述业务应用的数据路由树,利用所述数据路由树执行所述数据访问请求。
103.详细地,所述基于全局序列号的业务数据访问装置100各模块的具体实施方式如下:
104.步骤一、监测到业务应用发起数据操作请求时,解析所述数据访问请求得到分片键;
105.本发明实施例中,以金融业务为例说明所述一种基于全局序列号的业务数据访问方法。所述业务应用可以是金融业务对外提供的服务,例如,理财产品的结算服务、银行账户的扣款服务、证券交易服务等。
106.本发明实施例中,所述数据操作请求包括但不限于涉及数据查询、数据比对、数据校验、数据结算、数据插入等操作的请求。
107.示例性地,保险业务为增强与客户之间黏性,通常会组织一些参与特定项目领取卡券的活动。针对卡券这一业务应用,会涉及卡券有效性校验、卡券活动规则识别、卡券礼品或金额兑换、卡券注销等一些列数据操作,通常由于数据库的分库分表操作,这一系列数据操作所涉及的数据会分布在不同的物理节点上,不同的业务分表中。如果单独利用每个业务分表的对应的路由表以及每个业务分表自定义的主键,相应地查表路由的效率比较低。
108.本发明实施例中,当监测到业务应用发起数据操作请求时,基于上述业务应用数据较为分散的特点,本技术首先获取该业务应用对应的分片键信息,分片键是数据库拆分的关键字段,基于所述分片键生成所述业务应用的全局唯一的业务序列号,进而利用所述业务序列号实现该业务应用相关的数据操作的统一数据路由,提升该业务应用的数据访问效率。
109.详细地,所述监测到业务应用发起数据操作请求时,解析所述数据访问请求得到分片键,包括:
110.根据预设的业务语法对所述数据操作请求进行结构化处理;
111.识别结构化处理后的数据操作请求中的待操作数据表;
112.在预设的分片键与数据表的映射关系表中,查询所述待操作数据表对应的分片键,将查询得到的分片键作为所述数据操作请求的分片键。
113.本发明实施例中,所述预设的业务语法可根据实际业务开发逻辑进行设置,例如,实际金融业务采用的java语言、c++语言等,则采用相应的语法逻辑。
114.本发明实施例中,所述根据预设的业务语法对所述数据操作请求进行结构化处理,是指根据预设的业务语法对所述数据操作请求进行划分,例如,将所述数据操作请求划分为待操作数据表、待操作数据字段、操作条件字段等几部分。
115.本发明实施例中,所述预设的分片键与数据表的映射关系表是根据实际业务的分库分表情况确定分片键与数据表之间的对应关系,例如,根据既定的分表规则记录每个数据表对应的分片键信息。
116.本发明另一可选实施例中,所述分片键还可以根据实际业务需要预先设置,为不同的业务应用预先指定相应的分片键。
117.步骤二、获取所述分片键对应的目标分表规则,在预设的分表规则与业务序列表映射关系表中,查询所述业务应用的当前已用序号;
118.本发明实施例中,每个所述分片键对应的分库分表数据均有既定的分表规则,通
常情况下,每个分表规则下都对应一张独立的业务序列表,所述业务序列表是用来定义全局业务序列号的使用和分配情况。同一个业务应用对应的业务序列号是全局唯一的,即不同的业务应用对应的业务序列号是不同的。
119.本发明实施例中,所述当前已用序号是针对全局业务序列号的实用情况而言,被顺序占用的最近的序列号。
120.详细地,所述在预设的分表规则与业务序列表映射关系表中,查询所述业务应用的当前已用序号,包括:
121.在所述预设的分表规则与业务序列表映射关系表中,查询所述目标分表规则对应的业务序列表,得到目标业务序列表;
122.获取所述目标分表规则对应的目标序号区间;
123.判断所述目标业务序列表中的当前已用序号是否已经达到目标序号区间的上限;
124.当所述当前已用序号已经达到所述目标序号区间的上限,则对所述目标序号区间按照预设顺序刷新,将刷新后的目标序号区间写入到所述目标业务序列表中,并选取所述刷新后的目标序号区间的最小值作为所述业务应用的当前已用序号;
125.当所述当前已用序号未达到所述目标序号区间的上限,则将所述目标业务序列表中的当前已用序号作为所述业务应用的当前已用序号。
126.本发明实施例中,每个分表规则对应一张业务序列表,每张所述业务序列表是用来记录同一业务应用所对应的业务序列号的情况,每个目标分表规则对应的目标序号区间是指同一分表规则可使用的序列号的区间范围。
127.示例性地,以卡券业务应用为例,该卡券业务应用对应的业务序列表包括但不限于以下字段:
128.id:表示该业务序列表的主键,例如,124562
129.seq_name:表示该业务序列表对应的业务序列号的名称,例如,seq_卡券业务;
130.currentvalue:表示卡券业务应用的当前已用序号;
131.min_value:表示卡券业务应用的序号区间的最小值;
132.max_value:表示卡券业务应用的序号区间的最大值;
133.假设,卡券业务应用的目标分表规则对应的目标序号区间为400-450,相应地目标业务序列表中,currentvalue为436,max_value为999,则卡券业务应用对应的当前已用序号为436。若其中,currentvalue为450,则按照预设顺序刷新所述目标序号区间为450-500,查询seq_卡券业务,卡券业务应用对应的当前已用序号为450。本发明实施例中,所述预设顺序是指根据实际业务情况设置的序号区间分布情况,按照从小到大的顺序,当一个序号区间已满,则顺序递增到下一个序号区间。
134.本发明实施例中,当所述目标序号区间不在所述目标业务序列表中时,可以通过下述方法,获取所述业务应用的当前已用序号:
135.将所述目标序号区间更新到所述目标业务序列表中,将所述目标序号区间的最小值-1的取值设置为所述目标业务序列表当前已用序号。
136.步骤三、根据预设的业务序列号构成规则,利用所述当前已用序号生成所述业务应用的业务序列号,根据所述业务序列号,生成所述业务应用的数据路由树,利用所述数据路由树执行所述数据访问请求。
137.本发明实施例中,所述预设的业务序列号构成规则可以根据实际业务的数据量的大小、业务应用的种类进行设置。
138.示例性地,根据预设的业务序列号构成规则,一条业务序列号的构成包括:yy+mm+dd+预留位+分表位+数字序号,其中,yy表示2位的年份,例如19;mm表示2位的月份,例如,06;dd表示2位的日期,例如,25;所述预留位可用于扩展,可设置为2位,分表位可根据查询所述业务序列表获得,通常为2位;数字序号可根据当前已用序号生成,可以为8位置。所述业务序列号的总长可以为18位,能够满足oracle和mysql等常见数据库的最大数字限制。
139.根据上述所述预设的业务序列号构成规则,可以通过将当前已用序号+1的方式得到所述数字序号,得到一个可用的全局唯一的业务序列号。
140.可以理解的是,每一个业务分表都对应一个路由表,该路由表记录这该业务分表所在的数据库分库节点及分表位置。本发明实施例可结合所述业务序列号及对应的业务分表的路由表构成该业务应用的数据路由树。
141.详细地,所述根据所述业务序列号,生成所述业务应用的数据路由树,包括:
142.获取所述分表键对应的所有路由表,以所述业务应用的业务序列号为根节点,将每个所述路由表中的起始位置作为叶子节点,组成所述业务应用的数据路由树。
143.本发明实施例可通过所述数据路由树实现对同一业务应用的开始检索。
144.本发明另一可选实施例中,可基于每个分片键设置一个分段锁,支持多个分表规则的数据访问的并发处理。
145.本发明申请当监测到业务应用发起数据操作请求时,首先获取该业务应用对应的分片键信息,分片键是数据库拆分的关键字段,基于所述分片键生成所述业务应用的全局唯一的业务序列号,再根据所述业务序列号,生成所述业务应用的数据路由树,进而利用所述业务序列号实现该业务应用相关的数据操作的统一数据路由,因此,本发明申请提供的一种基于全局序列号的业务数据访问装置可以提升该业务应用的数据访问效率。
146.如图4所示,是本发明一实施例提供的实现基于全局序列号的业务数据访问方法的电子设备的结构示意图。
147.所述电子设备1可以包括处理器10、存储器11和总线,还可以包括存储在所述存储器11中并可在所述处理器10上运行的计算机程序,如全局序列号的业务数据访问。
148.其中,所述存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:sd或dx存储器等)、磁性存储器、磁盘、光盘等。所述存储器11在一些实施例中可以是电子设备1的内部存储单元,例如该电子设备1的移动硬盘。所述存储器11在另一些实施例中也可以是电子设备1的外部存储设备,例如电子设备1上配备的插接式移动硬盘、智能存储卡(smart media card,smc)、安全数字(secure digital,sd)卡、闪存卡(flash card)等。进一步地,所述存储器11还可以既包括电子设备1的内部存储单元也包括外部存储设备。所述存储器11不仅可以用于存储安装于电子设备1的应用软件及各类数据,例如全局序列号的业务数据访问的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
149.所述处理器10在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(central processing unit,cpu)、微处理器、数字处理芯片、图形处理器
及各种控制芯片的组合等。所述处理器10是所述电子设备的控制核心(control unit),利用各种接口和线路连接整个电子设备的各个部件,通过运行或执行存储在所述存储器11内的程序或者模块(例如全局序列号的业务数据访问等),以及调用存储在所述存储器11内的数据,以执行电子设备1的各种功能和处理数据。
150.所述总线可以是外设部件互连标准(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。该总线可以分为地址总线、数据总线、控制总线等。所述总线被设置为实现所述存储器11以及至少一个处理器10等之间的连接通信。
151.图4仅示出了具有部件的电子设备,本领域技术人员可以理解的是,图4示出的结构并不构成对所述电子设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
152.例如,尽管未示出,所述电子设备1还可以包括给各个部件供电的电源(比如电池),优选地,电源可以通过电源管理装置与所述至少一个处理器10逻辑相连,从而通过电源管理装置实现充电管理、放电管理、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备1还可以包括多种传感器、蓝牙模块、wi-fi模块等,在此不再赘述。
153.进一步地,所述电子设备1还可以包括网络接口,可选地,所述网络接口可以包括有线接口和/或无线接口(如wi-fi接口、蓝牙接口等),通常用于在该电子设备1与其他电子设备之间建立通信连接。
154.可选地,该电子设备1还可以包括用户接口,用户接口可以是显示器(display)、输入单元(比如键盘(keyboard)),可选地,用户接口还可以是标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是led显示器、液晶显示器、触控式液晶显示器以及oled(organic light-emitting diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备1中处理的信息以及用于显示可视化的用户界面。
155.应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
156.所述电子设备1中的所述存储器11存储的全局序列号的业务数据访问是多个指令的组合,在所述处理器10中运行时,可以实现:
157.监测到业务应用发起数据操作请求时,解析所述数据访问请求得到分片键;
158.获取所述分片键对应的目标分表规则,在预设的分表规则与业务序列表映射关系表中,查询所述业务应用的当前已用序号;
159.根据预设的业务序列号构成规则,利用所述当前已用序号生成所述业务应用的业务序列号;
160.根据所述业务序列号,生成所述业务应用的数据路由树,利用所述数据路由树执行所述数据访问请求。
161.进一步地,所述电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。所述计算机可读存储介质可以是易失性的,也可以是非易失性的。例如,所述计算机可读介质可以包括:能够
携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)。
162.本发明还提供一种计算机可读存储介质,所述可读存储介质存储有计算机程序,所述计算机程序在被电子设备的处理器所执行时,可以实现:
163.监测到用户访问预设页面时,获取所述用户的用户信息,根据所述用户信息生成所述用户的用户类型;
164.监测到业务应用发起数据操作请求时,解析所述数据访问请求得到分片键;
165.获取所述分片键对应的目标分表规则,在预设的分表规则与业务序列表映射关系表中,查询所述业务应用的当前已用序号;
166.根据预设的业务序列号构成规则,利用所述当前已用序号生成所述业务应用的业务序列号;
167.根据所述业务序列号,生成所述业务应用的数据路由树,利用所述数据路由树执行所述数据访问请求。
168.另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
169.对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
170.因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
171.本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
172.本技术实施例可以基于全息投影技术对相关的数据进行获取和处理。其中,人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
173.此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。
174.最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
技术特征:
1.一种基于全局序列号的业务数据访问方法,其特征在于,所述方法包括:监测到业务应用发起数据操作请求时,解析所述数据访问请求得到分片键;获取所述分片键对应的目标分表规则,在预设的分表规则与业务序列表映射关系表中,查询所述业务应用的当前已用序号;根据预设的业务序列号构成规则,利用所述当前已用序号生成所述业务应用的业务序列号;根据所述业务序列号,生成所述业务应用的数据路由树,利用所述数据路由树执行所述数据访问请求。2.如权利要求1所述的基于全局序列号的业务数据访问方法,其特征在于,所述监测到业务应用发起数据操作请求时,解析所述数据访问请求得到分片键,包括:根据预设的业务语法对所述数据操作请求进行结构化处理;识别结构化处理后的数据操作请求中的待操作数据表;在预设的分片键与数据表的映射关系表中,查询所述待操作数据表对应的分片键,将查询得到的分片键作为所述数据操作请求的分片键。3.如权利要求1所述的基于全局序列号的业务数据访问方法,其特征在于,所述在预设的分表规则与业务序列表映射关系表中,查询所述业务应用的当前已用序号,包括:在所述预设的分表规则与业务序列表映射关系表中,查询所述目标分表规则对应的业务序列表,得到目标业务序列表;获取所述目标分表规则对应的目标序号区间;判断所述目标业务序列表中的当前已用序号是否已经达到目标序号区间的上限;当所述当前已用序号已经达到所述目标序号区间的上限,则对所述目标序号区间按照预设顺序刷新,将刷新后的目标序号区间写入到所述目标业务序列表中,并选取所述刷新后的目标序号区间的最小值作为所述业务应用的当前已用序号;当所述当前已用序号未达到所述目标序号区间的上限,则将所述目标业务序列表中的当前已用序号作为所述业务应用的当前已用序号。4.如权利要求1所述的基于全局序列号的业务数据访问方法,其特征在于,所述在预设的分表规则与业务序列表映射关系表中,查询所述业务应用的当前已用序号,所述方法还包括:当所述目标序号区间不在所述目标业务序列表中时,将所述目标序号区间更新到所述目标业务序列表中;将所述目标序号区间的最小值-1的取值设置为所述目标业务序列表当前已用序号。5.如权利要求1所述的基于全局序列号的业务数据访问方法,其特征在于,所述根据所述业务序列号,生成所述业务应用的数据路由树,包括:获取所述分表键对应的所有路由表;以所述业务应用的业务序列号为根节点,将每个所述路由表中的起始位置作为叶子节点,组成所述业务应用的数据路由树。6.一种基于全局序列号的业务数据访问装置,其特征在于,所述装置包括:分片键获取模块,用于监测到业务应用发起数据操作请求时,解析所述数据访问请求得到分片键;
已用序号查询模块,用于获取所述分片键对应的目标分表规则,在预设的分表规则与业务序列表映射关系表中,查询所述业务应用的当前已用序号;业务序列号生成模块,用于根据预设的业务序列号构成规则,利用所述当前已用序号生成所述业务应用的业务序列号;路由统一模块,用于根据所述业务序列号,生成所述业务应用的数据路由树,利用所述数据路由树执行所述数据访问请求。7.如权利要求6所述的基于全局序列号的业务数据访问装置,其特征在于,所述分片键获取模块通过下述方法解析所述数据访问请求得到分片键:根据预设的业务语法对所述数据操作请求进行结构化处理;识别结构化处理后的数据操作请求中的待操作数据表;在预设的分片键与数据表的映射关系表中,查询所述待操作数据表对应的分片键,将查询得到的分片键作为所述数据操作请求的分片键。8.如权利要求6所述的基于全局序列号的业务数据访问装置,其特征在于,所述已用序号查询模块,通过下述方法查询所述业务应用的当前已用序号:在所述预设的分表规则与业务序列表映射关系表中,查询所述目标分表规则对应的业务序列表,得到目标业务序列表;获取所述目标分表规则对应的目标序号区间;判断所述目标业务序列表中的当前已用序号是否已经达到目标序号区间的上限;当所述当前已用序号已经达到所述目标序号区间的上限,则对所述目标序号区间按照预设顺序刷新,将刷新后的目标序号区间写入到所述目标业务序列表中,并选取所述刷新后的目标序号区间的最小值作为所述业务应用的当前已用序号;当所述当前已用序号未达到所述目标序号区间的上限,则将所述目标业务序列表中的当前已用序号作为所述业务应用的当前已用序号。9.一种电子设备,其特征在于,所述电子设备包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至5中任意一项所述的基于全局序列号的业务数据访问方法。10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5中任意一项所述的基于全局序列号的业务数据访问方法。
技术总结
本发明涉及金融科技数据处理领域,揭露一种基于全局序列号的业务数据访问方法,包括:监测到业务应用发起数据操作请求时,解析所述数据访问请求得到分片键;获取所述分片键对应的目标分表规则,在预设的分表规则与业务序列表映射关系表中,查询所述业务应用的当前已用序号;根据预设的业务序列号构成规则,利用所述当前已用序号生成所述业务应用的业务序列号;根据所述业务序列号,生成所述业务应用的数据路由树,利用所述数据路由树执行所述数据访问请求。本发明还提出一种基于全局序列号的业务数据访问装置、电子设备及计算机可读存储介质。本发明可以提升金融数据领域的数据访问效率。效率。效率。
技术研发人员:崔成平
受保护的技术使用者:中国平安财产保险股份有限公司
技术研发日:2023.06.29
技术公布日:2023/10/6
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/