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

定额数据请求方法、发送方法、客户端、服务器和系统与流程

2021-11-15 18:22:00 来源:中国专利 TAG:


1.本发明涉及计算机技术领域,具体涉及一种定额数据请求方法、一种定额数据发送方法、一种客户端、一种服务器和一种定额数据管理系统。


背景技术:

2.定额数据作为计算工程造价的主要依据之一,一般由政府部门负责编制并由出版社以书籍形式发布,其主要包括定额条目和编制规范。计价软件作为辅助计算工程造价的工具软件,软件公司会将已发布的定额数据加工成电子版与计价软件一起进行打包,再由用户整体下载安装使用。
3.然而,将定额数据加工成电子版的过程中可能存在错误,并且随着时间的推移和市场的变化,已发布的定额数据可能不再准确,因此政府部门会发布用于修订定额数据的政策文件。当定额数据出现勘误或者政府部门发布新的政策文件后,软件公司会定时更新定额数据,并将更新后的定额数据和计价软件一起打包发布,然后再由用户整体下载安装,这样用户才能在计价软件中使用更新后的定额数据。
4.发明人发现,现有技术中当定额数据更新后,用户如果使用新定额数据就必须重新下载安装软件,再使用更新的定额数据。整个操作流程复杂且占用存储空间较大,针对这一问题目前尚未提供有效的解决方案。


技术实现要素:

5.本发明的目的在于提供了一种定额数据请求方法、一种定额数据发送方法、一种客户端、一种服务器和一种定额数据管理系统,能够解决上述技术问题。
6.本发明的一个方面提供了一种定额数据请求方法,所述方法包括:基于定额数据的属性信息和识别信息生成定额数据请求;将所述定额数据请求发送至第一服务器。
7.可选地,所述属性信息用于在所述第一服务器中确定出目标定额数据包,所述识别信息用于在所述目标定额数据包中识别出所述定额数据。
8.可选地,所述基于定额数据的属性信息和识别信息生成定额数据请求的步骤包括:接收定额数据插入指令;解析所述定额数据插入指令,确定与所述定额数据插入指令关联的属性信息和识别信息;根据所述定额数据插入指令关联的属性信息和识别信息生成所述定额数据请求。
9.可选地,所述确定与所述定额数据插入指令关联的属性信息和识别信息的步骤包括:获取所述定额数据插入指令所携带的识别信息,作为所述定额数据插入指令关联的识别信息;获取所述定额数据插入指令所携带的地区信息,并确定用于插入所述定额数据的工程文件的类型,根据所述工程文件的类型确定所述定额数据的版本信息,将所述定额数据插入指令中的地区信息和确定出的版本信息作为所述定额数据插入指令关联的属性信息。
10.可选地,所述根据所述工程文件的类型确定所述定额数据的版本信息,将所述定
额数据插入指令中的地区信息和确定出的版本信息作为所述定额数据插入指令关联的属性信息的步骤包括:当所述工程文件的类型为新建类型时,在当前可用定额数据包属性列表中,确定与所述定额数据插入指令中的地区信息相匹配的当前可用定额数据包的地区信息,并获取与确定的当前可用定额数据包的地区信息关联的版本信息;从获取的版本信息中确定出最新版本信息;将所述定额数据插入指令中的地区信息和所述最新版本信息作为所述定额数据插入指令关联的属性信息;其中,所述当前可用定额数据包属性列表预存储有所述第一服务器中的所有当前可用定额数据包的地区信息和版本信息,所述当前可用定额数据包包括状态信息为启用状态的定额数据包。
11.可选地,所述根据所述工程文件的类型确定所述定额数据的版本信息,将所述定额数据插入指令中的地区信息和确定出的版本信息作为所述定额数据插入指令关联的属性信息的步骤包括:当所述工程文件的类型为历史类型时,确定所述工程文件所使用的定额数据包的版本信息;将该版本信息和所述定额数据插入指令中的地区信息作为所述定额数据插入指令关联的属性信息。
12.可选地,所述将所述定额数据请求发送至第一服务器的步骤包括:判断当前是否处于联网状态;在当前处于联网状态时,通过网络引擎接口查找本地是否存储有所述定额数据,若是,从本地获取所述定额数据,若否,将所述定额数据请求发送至所述第一服务器,接收所述第一服务器基于所述定额数据请求返回的所述定额数据,并将接收的所述定额数据缓存在本地;在当前未处于联网状态时,通过离线引擎接口查找本地是否存储有所述定额数据,若是,从本地获取所述定额数据,若否,显示用于提示请联网获取所述定额数据的提示信息。
13.本发明的另一个方面提供了一种定额数据发送方法,所述方法包括:接收客户端发送的定额数据请求,所述定额数据请求中携带定额数据的属性信息和识别信息;基于所述定额数据请求中的属性信息和识别信息确定所述定额数据,并将所述定额数据返回至所述客户端。
14.可选地,所述基于所述定额数据请求中的属性信息和识别信息确定所述定额数据的步骤包括:根据所述定额数据请求中的属性信息确定目标定额数据包;在所述目标定额数据包中识别出所述定额数据请求中的识别信息所指向的定额数据。
15.可选地,所述根据所述定额数据请求中的属性信息确定目标定额数据包的步骤包括:在预置的第一数据库中确定与所述定额数据请求中的属性信息相匹配的定额数据包的属性信息,并获取与确定的定额数据包的属性信息关联的地址信息;根据获取的所述地址信息在用于存储定额数据包的所有第二数据库中确定一目标数据库;在所述目标数据库中查找与所述确定的定额数据包的属性信息关联的定额数据包,作为所述目标定额数据包;其中,所述第一数据库中预存储有定额数据包的属性信息以及第二数据库的地址信息。
16.可选地,所述获取与确定的定额数据包的属性信息关联的地址信息的步骤包括:在所述第一数据库中获取与确定的定额数据包的属性信息关联的状态信息;当获取的所述状态信息为启用状态时,获取与所述确定的定额数据包的属性信息关联的地址信息;当获取的所述状态信息为禁用状态或者删除状态时,生成用于提示请求无效的提示信息并返回所述客户端;其中,所述第一数据库中还预存储有用于表征定额数据包当前状态的状态信息。
17.可选地,在所述根据所述定额数据请求中的属性信息确定目标定额数据包的步骤之前,所述方法还包括:接收第二服务器上传的所述目标定额数据包;确定所述目标定额数据包的数据量和每个用于存储定额数据包的第二数据库的剩余存储容量;当存在所述剩余存储容量大于等于所述数据量的第二数据库时,将任一所述剩余存储容量大于等于所述数据量的第二数据库作为所需使用的第二数据库,否则根据预置扩容机制生成一剩余存储容量大于等于所述数据量的新数据库作为所需使用的第二数据库;将所述目标定额数据包存储至所述所需使用的第二数据库中。
18.可选地,在所述将所述目标定额数据包存储至所述所需使用的第二数据库中的步骤之后,所述方法还包括:获取所述目标定额数据包的属性信息和所述所需使用的第二数据库的地址信息;将所述目标定额数据包的属性信息和所述所需使用的第二数据库的地址信息进行关联,并将关联后的属性信息和地址信息存储至第一数据库中。
19.可选地,在所述将所述目标定额数据包的属性信息和所述所需使用的第二数据库的地址信息进行关联,并将关联后的该属性信息和该地址信息存储至第一数据库中的步骤之后,所述方法还包括:接收所述第二服务器针对所述目标定额数据包发送的启用指令,在所述第一数据库中设置所述目标定额数据包的状态信息为启用状态,并将该状态信息与所述目标定额数据包的属性信息和所述所需使用的第二数据库的地址信息进行关联;或者接收所述第二服务器针对所述目标定额数据包发送的禁用指令,在所述第一数据库中设置所述目标定额数据包的状态信息为禁用状态,并将该状态信息与所述目标定额数据包的属性信息和所述所需使用的第二数据库的地址信息进行关联;或者接收所述第二服务器针对所述目标定额数据包发送的删除指令,在所述第一数据库中设置所述目标定额数据包的状态信息为删除状态,将该状态信息与所述目标定额数据包的属性信息和所述所需使用的第二数据库的地址信息进行关联,并在所述所需使用的第二数据库中删除所述目标定额数据包。
20.可选地,在所述接收客户端发送的定额数据请求的步骤之前,所述方法还包括:接收所述客户端发送的当前可用定额数据包属性请求,在所述第一数据库中提取状态信息为启用状态的定额数据包的属性信息;根据提取的属性信息生成当前可用定额数据包属性列表,并返回至所述客户端。
21.本发明的再一个方面提供了一种客户端,所述客户端包括:生成模块,用于基于定额数据的属性信息和识别信息生成定额数据请求;发送模块,用于将所述定额数据请求发送至第一服务器。
22.本发明的又一个方面提供了一种服务器,所述服务器包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一实施例所述的定额数据发送方法。
23.本发明的又一个方面提供了一种定额数据管理系统,所述系统包括客户端、第一服务器和第二服务器,其中:所述客户端用于执行上述任一实施例所述的定额数据请求方法;所述第一服务器用于执行上述任一实施例所述的定额数据发送方法;所述第二服务器用于向所述第一服务器上传目标定额数据包,以及在上传完成之后向所述第一服务器发送针对所述目标定额数据包的启用指令或者禁用指令或者删除指令。
24.本技术将电子版的定额数据转化为直接可以调用的定额数据包,并将定额数据包
存储在第一服务器,当客户端需要加载定额数据时,不需要如现有技术那般下载并安装软件,而是直接从第一服务器请求获取所需的定额数据,不需要额外占用客户端的存储空间。并且当目前的定额数据需要更新时,只需工程师将更新后的定额数据包上传至第一服务器,当客户端需要加载定额数据时,通过预设逻辑可以直接向第一服务器请求最新的定额数据,对用户而言无需如现有技术那般重新下载安装更新后的定额安装包,整个操作流程非常简单,本技术解决了现有技术中用户使用定额数据必须提前下载安装软件导致操作流程复杂且占用存储空间较大的技术问题。
附图说明
25.通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
26.图1示出了本发明实施例一提供的定额数据管理系统的框图;
27.图2示出了本发明实施例一提供的第一数据库和第二数据库的关系示意图;
28.图3示出了本发明实施例一提供的客户端操作流程的示意图;
29.图4示出了本发明实施例一提供的定额数据管理系统的示意图;
30.图5示出了本发明实施例二提供的定额数据发送方法的流程图;
31.图6示出了本发明实施例三提供的定额数据请求方法的流程图;
32.图7示出了本发明实施例四提供的客户端的框图;
33.图8示出了本发明实施例五提供的适于实现定额数据请求方法或者定额数据发送方法的计算机设备的框图。
具体实施方式
34.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
35.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
36.图1示出了本发明实施例一提供的定额数据管理系统的框图,该定额数据管理系统100可以包括第一服务器101、第二服务器102和客户端103,其中,第一服务器101可以为云端服务器,第二服务器102可以为后端服务器,为了便于理解,本实施例以一个目标定额数据包为例详细阐述第一服务器101、第二服务器102和客户端103之间的交互流程,具体地:
37.所述第二服务器102用于向所述第一服务器101上传目标定额数据包。
38.在将纸质的定额书加工成电子版的数据之后,通过第二服务器可以将这些电子版
的数据转化为第二服务器能够读取的格式,即定额数据包。定额数据包中的定额数据可以包括定额条目和编制规范。此外,定额数据包中还可以包含自身的属性信息,该属性信息包括地区信息和版本信息,地区信息用于限定定额数据包所适用的地区范围,如北京地区的定额数据包适用于北京全区,版本信息用于限定定额数据包的版本。其中,同一地区信息的定额数据包可能有多个版本,比如当定额数据包需要更新时,第二服务器会生成新版本的定额数据包,因此同一地区信息可以关联多个版本信息。
39.需要说明的是,本实施例所述的定额数据包不同于定额安装包,定额安装包需要在本地安装之后才可以使用,而定额数据包不需要安装就可以被直接使用。
40.所述第一服务器101用于:接收第二服务器102上传的所述目标定额数据包;确定所述目标定额数据包的数据量和每个用于存储定额数据包的第二数据库的剩余存储容量;当存在所述剩余存储容量大于等于所述数据量的第二数据库时,将任一所述剩余存储容量大于等于所述数据量的第二数据库作为所需使用的第二数据库;当不存在所述剩余存储容量大于等于所述数据量的第二数据库时,根据预置扩容机制生成一剩余存储容量大于等于所述数据量的新数据库作为所需使用的第二数据库;将所述目标定额数据包存储至所述所需使用的第二数据库中;获取所述目标定额数据包的属性信息和所述所需使用的第二数据库的地址信息;将所述目标定额数据包的属性信息和所述所需使用的第二数据库的地址信息进行关联,并将关联后的属性信息和地址信息存储至第一数据库中。
41.在第一服务器中存在多个数据库实例,每个用于存储定额数据包的数据库实例称为一个第二数据库,每个用于存储索引信息的数据库实例称为一个第一数据库,本实施例中可以有一个第二数据库也可以有多个第二数据库,可以有一个第一数据库也可以有多个第一数据库。每个第二数据库中可以存储多个定额数据包,每个第一数据库中可以存储多条索引信息。所谓索引信息,即为能够准确定位出所需的目标定额数据包的信息。本实施例中的每条索引信息包括:定额数据包的属性信息和存储了该定额数据包的第二数据库的地址信息。
42.如图2所示,数据库实例0为第一数据库,数据库实例1

3分别为一个第二数据库,每个第二数据库均存储了多个定额数据包,且每个第二数据库存储的定额数据包可以包括不同地区的定额数据包,还可以包括同一地区不同版本的定额数据包。其中,v1可表示版本1,v2可以表示版本2,*可以表示其他版本,如版本3、版本4

43.本实施例通过分布式数据库方式存储定额数据包,有效解决数据量过大时单个数据库无法存储的问题,并且还可以在所有第二数据库均无法存储定额数据包时实现动态扩容。另外,通过第一数据库管理定额数据包和第二数据库之间的关系,可以便于快速定位存储有所需定额数据包的第二数据库,加快定额数据的确定速度。
44.所述第二服务器102还用于:在将所述目标定额数据包上传完成之后,向所述第一服务器101发送针对所述目标定额数据包的启用指令或者禁用指令或者删除指令。
45.所述第一服务器101还用于:接收所述第二服务器102针对所述目标定额数据包发送的启用指令,在所述第一数据库中设置所述目标定额数据包的状态信息为启用状态,并将该状态信息与所述目标定额数据包的属性信息和所述所需使用的第二数据库的地址信息进行关联;或者,接收所述第二服务器102针对所述目标定额数据包发送的禁用指令,在所述第一数据库中设置所述目标定额数据包的状态信息为禁用状态,并将该状态信息与所
述目标定额数据包的属性信息和所述所需使用的第二数据库的地址信息进行关联;或者,接收所述第二服务器102针对所述目标定额数据包发送的删除指令,在所述第一数据库中设置所述目标定额数据包的状态信息为删除状态,将该状态信息与所述目标定额数据包的属性信息和所述所需使用的第二数据库的地址信息进行关联,并在所述所需使用的第二数据库中删除所述目标定额数据包。
46.第二服务器的操作界面上可以显示目标定额数据包已经上传完成的信息,在此之后:
47.第二服务器可以向第一服务器发送针对目标定额数据包的启用指令,第一服务器根据该启用指令在第一数据库中查找到目标定额数据包的索引信息,然后在该索引信息中设置该目标定额数据包的状态信息为启用状态。
48.第二服务器还可以向第一服务器发送针对目标定额数据包的禁用指令,第一服务器根据该启用指令在第一数据库中查找到目标定额数据包的索引信息,然后在该索引信息中设置该目标定额数据包的状态信息为禁用状态。
49.第二服务器也可以向第一服务器发送针对目标定额数据包的删除指令,第一服务器根据该启用指令在第一数据库中查找到目标定额数据包的索引信息,然后在该索引信息中设置该目标定额数据包的状态信息为删除状态,并从该索引信息获取地址信息,确定该地址信息指向的第二数据库,然后删除该第二数据库中存储的目标定额数据包。
50.其中,上述状态信息用于表征目标定额数据包的当前状态。
51.需要说明的是,当首次设置目标定额数据包的状态信息(即第一数据库中不存在目标定额数据包的状态信息时),本实施例所述的设置即为添加,即在第一数据库中添加目标定额数据库的状态信息;当非首次设置目标定额数据包的状态信息时(即第一数据库中已目标定额数据包的状态信息时),只需将目标数据包的状态信息更改为本次指令(如启用指令、禁用指令或者删除指令)对应的状态即可。
52.所述客户端103用于向所述第一服务器101发送当前可用定额数据包属性请求。
53.当用户通过客户端(可以为计价软件也可以为安装有计价软件的设备)在工程文件中插入定额数据时,客户端可向第一服务器请求获取该定额数据。首先,用户会启用计价软件,然后在计价软件启动后,为了避免后续所请求的定额数据所属的定额数据包为禁用状态或者删除状态,从未导致一系列操作为无用操作且费时费力的缺陷,客户端会向第一服务器发送当前可用定额数据包属性请求,该当前可用定额数据包属性请求用于请求获取当前可用定额数据包属性列表,该当前可用定额数据包属性列表包括第一服务器关联的当前可用定额数据包的地区信息和版本信息,当前可用定额数据包是状态信息为启用状态的定额数据包,从而尽力确保所请求的数据为有效数据。
54.所述第一服务器101还用于:接收所述客户端103发送的当前可用定额数据包属性请求,在所述第一数据库中提取状态信息为启用状态的定额数据包的属性信息;根据提取的属性信息生成当前可用定额数据包属性列表,并返回至所述客户端。
55.第一服务器将第一数据库中状态信息为启用状态的所有定额数据库包的属性信息都提取出来,然后将提取的属性信息存储在数据表中,获得当前可用定额数据包属性列表,进一步将该当前可用定额数据包属性列表返回至客户端。
56.所述客户端103还用于:接收所述第一服务器101返回的所述当前可用定额数据包
属性列表,并将所述当前可用定额数据包属性列表存储在本地。
57.客户端可以将当前可用定额数据包属性列表存储在本地内存,还可以存储在本地磁盘。
58.所述客户端103还用于:基于定额数据的属性信息和识别信息生成定额数据请求;将所述定额数据请求发送至第一服务器101。
59.其中,所述属性信息用于在所述第一服务器中确定出目标定额数据包,所述识别信息用于在所述目标定额数据包中识别出所述定额数据。作为示例,识别信息包括定额数据的唯一标识,通过该唯一标识可以准确的查询到所请求的定额数据。
60.所述客户端103在执行基于定额数据的属性信息和识别信息生成定额数据请求的步骤时,还用于:接收定额数据插入指令;解析所述定额数据插入指令,确定与所述定额数据插入指令关联的属性信息和识别信息;根据所述定额数据插入指令关联的属性信息和识别信息生成所述定额数据请求。
61.所述客户端103在执行所述确定与所述定额数据插入指令关联的属性信息和识别性信息的步骤时,还用于:获取所述定额数据插入指令所携带的识别信息,作为所述定额数据插入指令关联的识别信息;获取所述定额数据插入指令所携带的地区信息,并确定用于插入所述定额数据的工程文件的类型,根据所述工程文件的类型确定所述定额数据的版本信息,将所述定额数据插入指令中的地区信息和确定出的版本信息作为所述定额数据插入指令关联的属性信息。
62.客户端在确定识别信息和属性信息时,其中,识别信息和属性信息中的地区信息均被包含在定额数据插入指令中,因此可以直接从定额数据插入指令中获取识别信息和地区信息,但此时还未完全确定出属性信息,因此可以进一步确定用于插入该定额数据的工程文件的类型,并根据工程文件的类型确定出属性信息中的版本信息,进而将该地区信息和版本信息作为属性信息。
63.所述客户端103在执行所述根据所述工程文件的类型确定所述定额数据的版本信息,将所述定额数据插入指令中的地区信息和确定出的版本信息作为所述定额数据插入指令关联的属性信息的步骤时,还用于:当所述工程文件的类型为新建类型时,在当前可用定额数据包属性列表中,确定与所述定额数据插入指令中的地区信息相匹配的当前可用定额数据包的地区信息,并获取与确定的当前可用定额数据包的地区信息关联的版本信息;从获取的版本信息中确定出最新版本信息;将所述定额数据插入指令中的地区信息和所述最新版本信息作为所述定额数据插入指令关联的属性信息;其中,所述当前可用定额数据包属性列表预存储有所述第一服务器101关联的当前可用定额数据包的地区信息和版本信息,所述当前可用定额数据包包括状态信息为启用状态的定额数据包。
64.所述客户端103在执行所述根据所述工程文件的类型确定所述定额数据的版本信息,将所述定额数据插入指令中的地区信息和确定出的版本信息作为所述定额数据插入指令关联的属性信息的步骤时,还用于:当所述工程文件的类型为历史类型时,确定所述工程文件所使用的定额数据包的版本信息;将该版本信息和所述定额数据插入指令中的地区信息作为所述定额数据插入指令关联的属性信息。
65.定额数据插入指令中携带有识别信息,直接从定额数据插入指令中获取识别信息即可作为定额数据插入指令关联的识别信息。其中,识别信息可以为定额数据标识,通过识
别信息可以从对应的定额数据包中识别出与该识别信息关联的定额数据。
66.定额数据插入指令中还携带有地区信息,在确定出本次所需的版本信息后,即可将定额数据插入指令中的地区信息和本次所需的版本信息作为定额数据插入指令关联的属性信息。本实施例中,可以通过用于插入定额数据的工程文件的类型确定出本次所需的版本信息。具体地:a、若用户打开了一个历史工程文件,则用于插入定额数据的工程文件(也即该历史工程文件)的类型为历史类型,该工程文件历史上与其所使用的定额数据包的版本信息有所关联,此时直接根据关联关系获取与该工程文件相关联的定额数据包的版本信息即可;b、若用户新建了一个工程文件,则用于插入定额数据的工程文件(也即该新建的工程文件)的类型为新建类型,此时该工程文件未关联过任何定额数据包,因此可以根据之前与第一服务器交互获得的当前可用定额数据包属性列表确定出本次所需的版本信息,具体为,从当前可用定额数据包属性列表中确定与定额数据插入指令中的地区信息关联的所有版本信息,然后从这些版本信息中确定出一最新版本信息,作为本次所需的版本信息。进一步,将a或b最终确定出的版本信息和定额数据插入指令中的地区信息作为定额数据插入指令关联的属性信息。
67.所述客户端103在执行所述将所述定额数据请求发送至第一服务器101的步骤时,还用于:判断当前是否处于联网状态;在当前处于联网状态时,通过网络引擎接口查找本地是否存储有所述定额数据,若是,从本地获取所述定额数据,若否,将所述定额数据请求发送至所述第一服务器,接收所述第一服务器基于所述定额数据请求返回的所述定额数据,并将接收的所述定额数据缓存在本地;在当前未处于联网状态时,通过离线引擎接口查找本地是否存储有所述定额数据,若是,从本地获取所述定额数据,若否,显示用于提示请联网获取所述定额数据的提示信息。
68.客户端为了灵活获取定额数据,预先设置了两个引擎接口,并通过当前的联网状态确定从哪个引擎接口请求定额数据。具体地,如图3所示,调用定额引擎接口层,判断当前是否处于联网状态,若处于联网状态,通过网络引擎接口(即网络版定额引擎)查找本地是否存储有所请求的定额数据,若有从本地获取,否则通过网络直接将定额数据请求发送至第二服务器(云定额应用服务为第二服务器中的一模块),然后通过网络接收第二服务器返回的定额数据并存储在本地;若未处于联网状态,通过离线引擎接口(即本地引擎)查找本地是否缓存有定额数据,若有从本地获取,否则显示用于提示请联网获取所述定额数据的提示信息。可选地,可以将获取到的定额数据下载至本地缓存,那么下次可以直接从本地缓存获取该定额数据,具有方便且快速的效果。
69.所述第一服务器101还用于:接收客户端103发送的定额数据请求;所述定额数据请求中携带定额数据的属性信息和识别信息;基于所述定额数据请求中的属性信息和识别信息确定请求的定额数据,并将所述定额数据返回至所述客户端。
70.其中,定额数据请求中携带有属性信息和识别信息,通过解析定额数据请求可以获取该属性信息和识别信息,属性信息用于在第一服务器中确定出目标定额数据包,识别信息用于在所述目标定额数据包中识别出所述定额数据。
71.所述第一服务器101在执行基于所述定额数据请求中的属性信息和识别信息确定所述定额数据的步骤时,还用于:根据所述定额数据请求中的属性信息确定目标定额数据包;在所述目标定额数据包中识别出所述定额数据请求中的识别信息所指向的定额数据。
72.第一服务器根据定额数据请求中的属性信息可以确定与一个目标定额数据包,根据定额数据请求中的识别信息可以从目标定额数据包中识别出定额数据,并将该定额数据返回至客户端。需要说明的是,客户端接收第一服务器返回的该定额数据之后,会将该定额数据插入至工程文件中,并且会将该定额数据缓存在本地。
73.所述第一服务器101在执行所述根据所述定额数据请求中的属性信息确定目标定额数据包的步骤时,还用于:在预置的第一数据库中确定与所述定额数据请求中的属性信息相匹配的定额数据包的属性信息,并获取与确定的定额数据包的属性信息关联的地址信息;根据获取的所述地址信息在用于存储定额数据包的所有第二数据库中确定一目标数据库;在所述目标数据库中查找与所述确定的定额数据包的属性信息关联的定额数据包,作为所述目标定额数据包;其中,所述第一数据库中预存储有定额数据包的属性信息以及第二数据库的地址信息。
74.第一服务器遍历第一数据库,确定与定额数据请求中的属性信息相匹配的定额数据包的属性信息,然后从第一数据库的所有索引信息中筛选出包含该确定出的定额数据包的属性信息的索引信息,获取该筛选出的索引信息中包含的地址信息,确定该地址信息指向的第二数据库作为目标数据库,该目标数据库中必然包含与该确定的定额数据包的属性信息关联的定额数据包,将该定额数据包作为所需寻找的目标定额数据包即可。
75.所述第一服务器101在执行所述获取与确定的定额数据包的属性信息关联的地址信息的步骤时,还用于:在所述第一数据库中获取与确定的定额数据包的属性信息关联的状态信息;当获取的所述状态信息为启用状态时,获取与所述确定的定额数据包的属性信息关联的地址信息;当获取的所述状态信息为禁用状态或者删除状态时,生成用于提示请求无效的提示信息并返回所述客户端;其中,所述第一数据库中还预存储有用于表征定额数据包当前状态的状态信息。
76.为了进一步确保所请求的定额数据为有效数据,避免无用操作,第二服务器还可以先确定该定额数据包的属性信息所关联的状态信息,只有在该状态信息为启用状态时,才进一步获取与该定额数据包的属性信息关联的地址信息;而当该状态信息为禁用状态或者删除状态时,表征想要获取的定额数据是不可用的,此时不再执行获取地址信息的这一无用操作,而是直接生成用于提示请求无效的提示信息并返回客户端,以使客户端基于该提示信息作出相应调整。
77.下面以图4为例,阐述第一服务器、第二服务器和客户端之间的交互流程。
78.第二服务器中可以包括打库工具模块和发布管理模块。对纸质的定额书加工成电子版的数据之后,通过打库工具模块可以将这些电子版的数据转化为第一服务器能够读取的格式,即定额数据包。为了便于理解,本实施例以一个目标定额数据包为例详细阐述客户端、第一服务器和第二服务器之间的交互流程。具体地,发布管理模块具有在线发布功能,通过发布管理模块可将目标定额数据包上传至第一服务器中。第一服务器中的云定额应用服务接收发布管理模块上传的目标定额数据包,将目标定额数据包存储在一可用的数据库(又称为所需使用的第二数据库)中,然后将目标定额数据包的属性信息和该所需使用的第二数据库的地址信息关联的存储在一管理数据库中(又称为第一数据库),此时第二服务器的操作界面上可以显示目标定额数据包已经上传完成。进一步,发布管理模块还具有启用功能、禁用功能和删除功能,在目标定额数据包上传完成之后,发布管理模块可以执行启用
功能、禁用功能或者删除功能向第一服务器发送针对该定额数据包的启用指令、禁用指令或者删除指令,云定额应用服务模块接收对应的指令,并在第一数据库中添加用于表征目标定额数据包当前状态为启用状态、禁用状态或删除状态的状态信息,然后将该状态信息与第一数据库中已存储的目标定额数据包的属性信息和对应所需使用的第二数据库的地址信息关联在一起。
79.基于此,用户通过客户端上安装的计价软件在工程文件中插入定额数据(又称为待插入定额数据)时,客户端可向第一服务器请求获取该待插入定额数据。具体地,在启动计价软件后,客户端会向第一服务器发送当前可用定额数据包属性请求,第一服务器的云定额应用服务响应该请求,从第一数据库中汇总状态信息为启用状态的所有定额数据包的属性信息,然后将汇总的属性信息存储在数据表中并返回客户端,其中,存储这些属性信息后的数据表又称为当前可用定额数据包属性列表。客户端接收该列表并将该列表存储在本地,响应于用户触发的定额数据插入指令,确定与定额数据插入指令关联的属性信息和识别信息。进一步,客户端通过定额数据插入指令关联的属性信息和识别信息生成定额数据请求,调用定额引擎接口层判断客户端当前是否处于联网状态,若未联网则通过离线引擎接口查找本地是否存储有待插入定额数据,若是,从本地获取,否则显示用于提示请联网获取待插入定额数据的提示信息;若联网则通过网络引擎接口查找本地是否存储有待插入定额数据,若是,从本地获取,否则将定额数据请求发送至第一服务器,第一服务器的云定额应用服务解析出该请求携带的属性信息和识别信息,在第一数据库中查找与定额数据请求中的属性信息匹配的定额数据包的属性信息,判断与确定的定额数据包的属性信息关联的状态信息,若该状态信息为启用状态,则获取与确定的定额数据包的属性信息关联的地址信息,确定该获取的地址信息指向的第二数据库,记为目标数据库,进一步,从目标数据库中查找与确定的定额数据包的属性信息关联的定额数据包,作为目标定额数据包,然后从目标定额数据包中提取定额数据请求中的识别信息指向的定额数据,将提取的定额数据作为待插入定额数据返回至客户端,客户端将接收的待插入定额数据存储在本地,同时将接收的待插入定额数据插入至工程文件中。
80.本技术将电子版的定额数据转化为直接可以调用的定额数据包,并将定额数据包存储在第一服务器,当客户端需要加载定额数据时,不需要如现有技术那般下载并安装软件,而是直接从第一服务器请求获取所需的定额数据,不需要额外占用客户端的存储空间。并且当目前的定额数据需要更新时,只需工程师将更新后的定额数据包上传至第一服务器,当客户端需要加载定额数据时,通过预设逻辑可以直接向第一服务器请求最新的定额数据,对用户而言无需如现有技术那般重新下载安装更新后的定额安装包,整个操作流程非常简单,本技术解决了现有技术中用户使用定额数据必须下载安装整个软件导致操作流程复杂且占用存储空间较大的技术问题。
81.实施例二
82.本实施例二提供的定额数据发送方法应用于第一服务器,如图5所示,图5示出了本发明实施例二提供的定额数据发送方法的流程图,该定额数据确定方法可以包括步骤s1~步骤s2,其中:
83.步骤s1,接收客户端发送的定额数据请求,所述定额数据请求中携带定额数据的属性信息和识别信息;
84.步骤s2,基于所述定额数据请求中的属性信息和识别信息确定请求的定额数据,并将所述定额数据返回至所述客户端。
85.可选地,所述属性信息用于在所述第一服务器中确定出目标定额数据包,所述识别信息用于在所述目标定额数据包中识别出所述定额数据。
86.可选地,步骤s3包括步骤s31~步骤s2,其中:
87.步骤s31,根据所述定额数据请求中的属性信息确定目标定额数据包;
88.步骤s31,在所述目标定额数据包中识别出所述定额数据请求中的识别信息所指向的定额数据
89.可选地,步骤s31可以包括步骤s311~步骤s313,其中:
90.步骤s311,在预置的第一数据库中确定与所述定额数据请求中的属性信息相匹配的定额数据包的属性信息,获取与确定的定额数据包的属性信息关联的地址信息;
91.步骤s312,根据获取的所述地址信息在用于存储定额数据包的所有第二数据库中确定一目标数据库;
92.步骤s313,在所述目标数据库中查找与所述确定的定额数据包的属性信息关联的定额数据包,作为所述目标定额数据包;
93.其中,所述第一数据库中预存储有定额数据包的属性信息以及第二数据库的地址信息。
94.可选地,步骤s311中所述获取与确定的定额数据包的属性信息关联的地址信息的步骤包括步骤s3111~步骤s3113,其中:
95.步骤s3111,在所述第一数据库中获取与确定的定额数据包的属性信息关联的状态信息;
96.步骤s3112,当获取的所述状态信息为启用状态时,获取与所述确定的定额数据包的属性信息关联的地址信息;
97.步骤s3113,当获取的所述状态信息为禁用状态或者删除状态时,生成用于提示请求无效的提示信息并返回所述客户端;
98.其中,所述第一数据库中还预存储有用于表征定额数据包当前状态的状态信息。
99.可选地,在步骤s31之前,所述定额数据发送还包括步骤a1~步骤a5,其中:
100.步骤a1,接收第二服务器上传的所述目标定额数据包;
101.步骤a2,确定所述目标定额数据包的数据量和每个用于存储定额数据包的第二数据库的剩余存储容量;
102.步骤a3,当存在所述剩余存储容量大于等于所述数据量的第二数据库时,将任一所述剩余存储容量大于等于所述数据量的第二数据库作为所需使用的第二数据库;
103.步骤a4,当不存在所述剩余存储容量大于等于所述数据量的第二数据库时,根据预置扩容机制生成一剩余存储容量大于等于所述数据量的新数据库作为所需使用的第二数据库;
104.步骤a5,将所述目标定额数据包存储至所述所需使用的第二数据库中。
105.可选地,在步骤a5之后,所述定额数据发送方法还包括步骤b1和步骤b2,其中:
106.步骤b1,获取所述目标定额数据包的属性信息和所述所需使用的第二数据库的地址信息;
107.步骤b2,将所述目标定额数据包的属性信息和所述所需使用的第二数据库的地址信息进行关联,并将关联后的属性信息和地址信息存储至第一数据库中。
108.可选地,在步骤b2之后,所述定额数据发送方法还包括步骤c1、步骤c2或者步骤c3,其中:
109.步骤c1,接收所述第二服务器针对所述目标定额数据包发送的启用指令,在所述第一数据库中设置所述目标定额数据包的状态信息为启用状态,并将该状态信息与所述目标定额数据包的属性信息和所述所需使用的第二数据库的地址信息进行关联;或者
110.步骤c2,接收所述第二服务器针对所述目标定额数据包发送的禁用指令,在所述第一数据库中设置所述目标定额数据包的状态信息为禁用状态,并将该状态信息与所述目标定额数据包的属性信息和所述所需使用的第二数据库的地址信息进行关联;或者
111.步骤c3,接收所述第二服务器针对所述目标定额数据包发送的删除指令,在所述第一数据库中设置所述目标定额数据包的状态信息为删除状态,将该状态信息与所述目标定额数据包的属性信息和所述所需使用的第二数据库的地址信息进行关联,并在所述所需使用的第二数据库中删除所述目标定额数据包。
112.可选地,在步骤s1之前,所述定额数据发送方法还包括步骤d1和步骤d2,其中:
113.步骤d1,接收所述客户端发送的当前可用定额数据包属性请求,在所述第一数据库中提取状态信息为启用状态的定额数据包的属性信息;
114.步骤d2,根据提取的属性信息生成当前可用定额数据包属性列表,并返回至所述客户端。
115.实施例三
116.本实施例三提供的定额数据请求方法应用于客户端,如图6所示,图6示出了本发明实施例三提供的定额数据请求方法的流程图,该定额数据请求方法可以包括步骤s1’~步骤s2’,其中:
117.步骤s1’,基于定额数据的属性信息和识别信息生成定额数据请求;
118.步骤s2’,将所述定额数据请求发送至第一服务器。
119.可选地,所述属性信息用于在所述第一服务器中确定出目标定额数据包,所述识别信息用于在所述目标定额数据包中识别出所述定额数据。
120.可选地,步骤s1’包括步骤s11’~步骤s13’,其中:
121.步骤s11’,接收定额数据插入指令;
122.步骤s12’,解析所述定额数据插入指令,确定与所述定额数据插入指令关联的属性信息和识别信息;
123.步骤s13’,根据所述定额数据插入指令关联的属性信息和识别信息生成所述定额数据请求。
124.可选地,步骤s12’中所述确定与所述定额数据插入指令关联的属性信息和识别信息的步骤包括步骤s121’和步骤s122’,其中:
125.步骤s121’,获取所述定额数据插入指令所携带的识别信息,作为所述定额数据插入指令关联的识别信息;作为示例,识别信息包括定额数据的唯一标识,通过该唯一标识可以准确的查询到所请求的定额数据。
126.步骤s122’,获取所述定额数据插入指令所携带的地区信息,并确定用于插入所述
定额数据的工程文件的类型,根据所述工程文件的类型确定所述定额数据的版本信息,将所述定额数据插入指令中的地区信息和确定出的版本信息作为所述定额数据插入指令关联的属性信息。
127.步骤s121’用于确定识别信息,步骤s122’用于确定属性信息,属性信息包括地区信息和版本信息,其中,识别信息和地区信息均被包含在定额数据插入指令中,因此可直接从定额数据插入指令中获取识别信息和地区信息,但此时还未完全确定出属性信息,需要进一步确定出用于插入该定额数据的工程文件的类型,并根据工程文件的类型确定出版本信息,进而将该地区信息和版本信息作为属性信息。
128.可选地,步骤s122’中根据所述工程文件的类型确定所述定额数据的版本信息,将所述定额数据插入指令中的地区信息和确定出的版本信息作为所述定额数据插入指令关联的属性信息的步骤包括步骤e1~步骤e3,其中:
129.步骤e1,当所述工程文件的类型为新建类型时,在当前可用定额数据包属性列表中,确定与所述定额数据插入指令中的地区信息相匹配的当前可用定额数据包的地区信息,并获取与确定的当前可用定额数据包的地区信息关联的版本信息;
130.步骤e2,从获取的版本信息中确定出最新版本信息;
131.步骤e3,将所述定额数据插入指令中的地区信息和所述最新版本信息作为所述定额数据插入指令关联的属性信息;
132.其中,所述当前可用定额数据包属性列表预存储有所述第一服务器关联的当前可用定额数据包的地区信息和版本信息,所述当前可用定额数据包包括状态信息为启用状态的定额数据包。
133.可选地,步骤s122’中根据所述工程文件的类型确定所述定额数据的版本信息,将所述定额数据插入指令中的地区信息和确定出的版本信息作为所述定额数据插入指令关联的属性信息的步骤包括步骤f1和步骤f2,其中:
134.步骤f1,当所述工程文件的类型为历史类型时,确定所述工程文件所使用的定额数据包的版本信息;
135.步骤f2,将该版本信息和所述定额数据插入指令中的地区信息作为所述定额数据插入指令关联的属性信息。
136.可选地,步骤s2’包括步骤s21’~步骤s23’,其中:
137.步骤s21’,判断当前是否处于联网状态;
138.步骤s22’,在当前处于联网状态时,通过网络引擎接口查找本地是否存储有所述定额数据,若是,从本地获取所述定额数据,若否,将所述定额数据请求发送至所述第一服务器,接收所述第一服务器基于所述定额数据请求返回的所述定额数据,并将接收的所述定额数据缓存在本地;
139.步骤s23’,在当前未处于联网状态时,通过离线引擎接口查找本地是否存储有所述定额数据,若是,从本地获取所述定额数据,若否,显示用于提示请联网获取所述定额数据的提示信息。
140.实施例四
141.图7示出了本发明实施例四提供的客户端的框图,如图7所示,所述客户端700包括生成模块701和发送模块702,其中:
142.生成模块701,用于基于定额数据的属性信息和识别信息生成定额数据请求;
143.发送模块702,用于将所述定额数据请求发送至第一服务器。
144.可选地,所述属性信息用于在所述第一服务器中确定出目标定额数据包,所述识别信息用于在所述目标定额数据包中识别出所述定额数据。
145.可选地,所述生成模块具体用于:接收定额数据插入指令;解析所述定额数据插入指令,确定与所述定额数据插入指令关联的属性信息和识别信息;根据所述定额数据插入指令关联的属性信息和识别信息生成所述定额数据请求。
146.可选定,所述生成模块在执行确定与所述定额数据插入指令关联的属性信息和识别信息的步骤时,具体用于:获取所述定额数据插入指令所携带的识别信息,作为所述定额数据插入指令关联的识别信息;获取所述定额数据插入指令所携带的地区信息,并确定用于插入所述定额数据的工程文件的类型,根据所述定额数据插入指令中的地区信息和所述工程文件的类型确定所述定额数据插入指令关联的属性信息。
147.可选地,所述生成模块在执行根据所述定额数据插入指令中的地区信息和所述工程文件的类型确定所述定额数据插入指令关联的属性信息的步骤,具体用于:当所述工程文件的类型为新建类型时,在当前可用定额数据包属性列表中,确定与所述定额数据插入指令中的地区信息相匹配的当前可用定额数据包的地区信息,并获取与确定的当前可用定额数据包的地区信息关联的版本信息;从获取的版本信息中确定出最新版本信息;将所述定额数据插入指令中的地区信息和所述最新版本信息作为所述定额数据插入指令关联的属性信息;其中,所述当前可用定额数据包属性列表预存储有所述第一服务器中的所有当前可用定额数据包的地区信息和版本信息,所述当前可用定额数据包包括状态信息为启用状态的定额数据包。
148.可选地,所述生成模块在执行根据所述定额数据插入指令中的地区信息和所述工程文件的类型确定所述定额数据插入指令关联的属性信息的步骤时,具体用于:当所述工程文件的类型为历史类型时,确定所述工程文件所使用的定额数据包的版本信息;将该版本信息和所述定额数据插入指令中的地区信息作为所述定额数据插入指令关联的属性信息。
149.可选地,所述发送模块在执行将所述定额数据请求发送至第一服务器的步骤时,具体用于:判断当前是否处于联网状态;在当前处于联网状态时,通过网络引擎接口查找本地是否存储有所述定额数据,若是,从本地获取所述定额数据,若否,将所述定额数据请求发送至所述第一服务器,接收所述第一服务器基于所述定额数据请求返回的所述定额数据,并将接收的所述定额数据缓存在本地;在当前未处于联网状态时,通过离线引擎接口查找本地是否存储有所述定额数据,若是,从本地获取所述定额数据,若否,显示用于提示请联网获取所述定额数据的提示信息。
150.实施例五
151.图8示出了本发明实施例五提供的适于实现定额数据请求方法或者定额数据发送方法的计算机设备的框图。其中,当计算机设备实现定额数据请求方法时,所述计算机设备具体可以是客户端,具体为:一种客户端,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时用于实现实施例三所述的定额数据请求方法;当计算机设备实现定额数据发送方法时,所述计算机设备具
体可以是服务器,具体地:一种服务器,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时用于实现实施例二所述的定额数据发送方法。本实施例中,计算机设备800可以是执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图8所示,本实施例的计算机设备800至少包括但不限于:可通过系统总线相互通信连接的存储器801、处理器802、网络接口803。需要指出的是,图8仅示出了具有组件801

803的计算机设备800,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
152.本实施例中,存储器803至少包括一种类型的计算机可读存储介质,可读存储介质包括包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器801可以是计算机设备800的内部存储单元,例如该计算机设备800的硬盘或内存。在另一些实施例中,存储器801也可以是计算机设备800的外部存储设备,例如该计算机设备800上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。当然,存储器801还可以既包括计算机设备800的内部存储单元也包括其外部存储设备。在本实施例中,存储器801通常用于存储安装于计算机设备800的操作系统和各类应用软件,例如定额数据请求方法的程序代码或者定额数据发送方法的程序代码等。
153.处理器802在一些实施例中可以是中央处理器(central processing unit,cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器802通常用于控制计算机设备800的总体操作。例如执行与计算机设备800进行数据交互或者通信相关的控制和处理等。本实施例中,处理器802用于运行存储器801中存储的定额数据请求方法的程序代码或者定额数据发送方法的程序代码。
154.在本实施例中,存储于存储器801中的定额数据请求方法或者定额数据发送方法还可以被分割为一个或者多个程序模块,并由一个或多个处理器(本实施例为处理器802)所执行,以完成本发明。
155.网络接口803可包括无线网络接口或有线网络接口,该网络接口803通常用于在计算机设备800与其他计算机设备之间建立通信链接。例如,网络接口803用于通过网络将计算机设备800与外部终端相连,在计算机设备800与外部终端之间的建立数据传输通道和通信链接等。网络可以是企业内部网(intranet)、互联网(internet)、全球移动通讯系统(global system of mobile communication,简称为gsm)、宽带码分多址(wideband code division multiple access,简称为wcdma)、4g网络、5g网络、蓝牙(bluetooth)、wi

fi等无线或有线网络。
156.实施例六
157.本实施例还提供一种计算机可读存储介质,包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘、服务器、app应用商城等,其上存储有计算机程序,所述计算机程序被处理器执行
时实现定额数据请求方法或者定额数据发送方法的步骤。
158.显然,本领域的技术人员应该明白,上述的本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明实施例不限制于任何特定的硬件和软件结合。
159.需要说明的是,本发明实施例序号仅仅为了描述,并不代表实施例的优劣。
160.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
161.以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
再多了解一些

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

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

相关文献