本发明涉及数据处理技术领域,具体涉及一种基于python的专利数据库的构建方法、系统及设备。
背景技术:
专利信息是人类智慧的结晶。专利技术研发、专利分析布局、专利运营、专利价值评估、专利侵权纠纷等方面都需要专利信息与诉讼信息的联动。专利信息官方平台无需登录和注册就能查看和下载技术信息、时间信息、空间信息、权利信息、人员信息,但其无法提供表格下载和大数据分析服务;裁判文书官方平台能够查询专利诉讼相关的法律文书,但其中专利的具体信息往往被隐去。付费专利数据库能够提供更多的检索维度,集成了部分专利相关的诉讼数据,但作为专门的专利检索平台,其收集、存储的裁判文书数量较少,匹配也不够精准;付费的裁判文书数据库能够在案件信息中匹配专利号和专利类型,但均无法通过专利信息定位到案件。相关工作人员在检索专利信息时,往往需要跳转多个数据库才能获得自己想要的资料。
因此,亟需一种能够实现专利信息和诉讼信息的融合的专利数据库的技术方案。
技术实现要素:
针对现有技术中存在的缺陷,本发明的目的在于提供一种基于python的专利数据库的构建方法、系统及设备,实现专利信息与诉讼信息的联动。
为达到以上目的,本发明采取的技术方案是:
本发明提供一种基于python的专利数据库的构建方法,包括以下步骤:
建立客户端与云服务器之间的通信连接;
在云服务器中创建专利数据库,在专利数据库中创建专利诉讼信息表、专利信息数据表和专利无效复审数据表;
从客户端输入包含诉讼信息的表格文件,读取表格文件中的诉讼信息并输出到python的list对象中;
将list对象中的数据插入所述专利数据库中专利诉讼信息表、专利信息数据表和专利无效和复审数据表。
在上述技术方案的基础上,其特征在于,建立客户端与云服务器之间的通信连接,具体包括以下步骤:
安装sqlserver客户端,绑定公网弹性ip;
设置安全组规则;
通过公网连接云服务器;
下载根证书,在客户端填写云服务器名称、主机ip、登录名、密码,将填写好的根证书上传至云服务器。
在上述技术方案的基础上,其特征在于,从客户端输入包含诉讼信息的表格文件,读取表格文件中的诉讼信息并输出到python的list对象中,具体包括以下步骤:
从客户端输入包含诉讼信息的表格文件,以及文件路径参数、dialect参数和fmtparams参数;
通过csv.reader()函数单独读取表格文件第一行作为python的list对象的表头;
通过csv.reader()函数从表格文件第二行开始遍历,直到读取完整个表格文件;
将输出的诉讼信息保存到python的list对象中。
在上述技术方案的基础上,所述dialect参数包括excel、excel-tab和unix;所述fmtparams参数包括用于指定分隔符的delimiter、用于指定引用符的quotechar、用于指定引用模式的quoting。
在上述技术方案的基础上,将list对象中的数据插入所述云服务器中专利诉讼信息表、专利信息数据表和专利无效和复审数据表,具体包括以下步骤:
调用pymssql.connect()方法,将用户端口、用户名和密码信息传入,得到一个连接对象;
调用connectcursor方法创建数据库游标对象;
调用connectexecute()方法执行sql语句,通过cursorfetch()方法获取查询到的list对象;
调用insert命令将list对象中的数据插入所述云服务器中专利诉讼信息表、专利信息数据表和专利无效和复审数据表中。
本发明还提供一种电子设备,包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序:处理器执行计算机程序时实现所述的方法。
本发明还提供一种基于python的专利数据库的构建系统,包括:
通信模块,其用于:建立客户端与云服务器之间的通信连接;
数据表创建模块,其用于:在云服务器中创建专利数据库,在专利数据库中创建专利诉讼信息表、专利信息数据表和专利无效复审数据表;
csv模块,其用于:从客户端输入包含诉讼信息的表格文件,读取表格文件中的诉讼信息并输出到python的list对象中;
pymssql模块,其用于:将list对象中的数据插入所述专利数据库中专利诉讼信息表、专利信息数据表和专利无效和复审数据表。
在上述技术方案的基础上,所述通信模块具体用于:
安装sqlserver客户端,绑定公网弹性ip;
设置安全组规则;
通过公网连接云服务器;
下载根证书,在客户端填写云服务器名称、主机ip、登录名、密码,将填写好的根证书上传至云服务器。
在上述技术方案的基础上,所述csv模块具体用于:
从客户端输入包含诉讼信息的表格文件,以及文件路径参数、dialect参数和fmtparams参数;
通过csv.reader()函数单独读取表格文件第一行作为python的list对象的表头;
通过csv.reader()函数从表格文件第二行开始遍历,直到读取完成整个表格文件;
将输出的诉讼信息保存到python的list对象中。
在上述技术方案的基础上,所述pymssql模块具体用于:
调用pymssql.connect()方法,将用户端口、用户名和密码信息传入,得到一个连接对象;
调用connectcursor方法创建数据库游标对象;
调用connectexecute()方法执行sql语句,通过cursorfetch()方法获取查询到的list对象;
调用insert命令将list对象中的数据插入所述云服务器中专利诉讼信息表、专利信息数据表和专利无效和复审数据表中。
与现有技术相比,本发明的优点在于:
本申请提供了一种基于python的专利数据库的构建方法、系统及设备,通过在云服务器中创建专利数据库,在专利数据库中创建专利诉讼信息表、专利信息数据表和专利无效复审数据表;从客户端输入包含诉讼信息的表格文件,读取表格文件中的诉讼信息并输出到python的list对象中;将list对象中的数据插入所述专利数据库中专利诉讼信息表、专利信息数据表和专利无效和复审数据表,实现专利信息与诉讼信息的联动,便于专利从业人员全面地了解专利状况,更加综合的评判专利的价值。
附图说明
图1为本发明实施例的基于python的专利数据库的构建方法的流程示意图;
图2为本发明实施例的云数据库的安装和设置的流程示意图;
图3为本发明实施例的基于诉讼信息的专利数据库的基本结构示意图;
图4为本发明实施例的基于诉讼信息的专利数据库的数据存储的过程的流程示意图;
图5为本发明实施例的基于诉讼信息的专利数据库的构建方法的pymssql模块的工作过程的流程示意图。
具体实施方式
以下结合附图对本发明的实施例作进一步详细说明。
参见图1所示,本发明实施例提供一种基于python的专利数据库的构建方法,包括以下步骤:
s1、建立客户端与云服务器之间的通信连接;
s2、在云服务器中创建专利数据库,在专利数据库中创建专利诉讼信息表、专利信息数据表和专利无效复审数据表;
s3、从客户端输入包含诉讼信息的表格文件,读取表格文件中的诉讼信息并输出到python的list对象中;包含诉讼信息的表格文件优选采用csv表格。
s4、将list对象中的数据插入所述专利数据库中专利诉讼信息表、专利信息数据表和专利无效和复审数据表。
为了便于用户在公网访问,数据存储优选为华为云关系型数据库sqlserver基础型。它具有完善的性能监控体系和多重安全防护措施,同时提供了专业的数据库管理平台,用户能够在云中进行设置和扩展关系型数据库。
(一)云数据库的安装和设置
云数据库要与之前的程序相连接首先要经过一定的配置,如图2所示。其中在通过弹性公网ip连接rds实例时,需要为rds所在安全组配置相应的入方向规则。安全组的默认规则是在出方向上的数据报文全部放行,同一个安全组内的弹性云服务器和华为云关系型数据库实例可互相访问。安全组创建后,可以在安全组中定义各种访问规则,并将华为云关系型数据库实例加入该安全组,以受到这些访问规则的保护。
默认情况下,一个租户可以创建500条安全组规则,为了避免增加首包延时,通常一个安全组内的安全组规则不超过50条。将设置修改为使用最小权限访问,并及时修改数据库默认端口号(3306),同时将可访问ip地址设置为远程主机地址或远程主机所在的最小子网地址,限制远程主机的访问范围。
通过公网连接sqlserver实例的具体步骤如下:
1)下载并上传ssl根证书
下载根证书或捆绑包,并将根证书上传至需要连接sqlserver实例的弹性云服务器,然后将根证书导入弹性云服务器windows操作系统。
2)启动客户端
客户端需要填写服务器名称、主机ip、登录名、密码,其中,“服务器名称”是目标实例的主机ip和数据库端口,主机ip为已绑定的弹性公网ip地址。
端口为“基本信息”页签中,“连接信息”模块的“数据库端口”。同时启用加密。
(二)数据库的设计
数据库的设计可以使用云关系型数据库的客户端进行。在数据库中创建专利诉讼信息表、专利信息数据表和专利无效和复审数据表,其字段的创建和命名规则遵从数据库的通常标准,在表1-3中截取了部分字段作为示例。y表示是主键,n则表示非主键。
表1专利信息数据表的部分字段
表2专利无效和复审数据表的部分字段
表3专利诉讼数据表的部分字段
由于三个表中的专利公开号是具有关联性的,专利无效和复审数据表和专利诉讼数据表中的decinum字段也是具有关联性的,三张表可通过外键相关联。
除了上述表单外,还需要创建关于用户信息和会话信息的表单,用户信息表用于储存用户名、密码等用户信息,如表4所示;而会话信息则用于储存用户与页面交互的信息,如表5所示,两张表中的用户名是具有关联性的,可通过外键相互关联。
表4用户信息表的部分字段
表5会话信息表的部分字段
用户信息数据的导入和其它三张表一样,同样依靠管理用户创建的list导入,而会话信息则由用互与页面交互的信息生成,最终数据库的整体结构如图3所示。
(三)数据存储
虽然直接用云关系型数据库的客户端也可以导入数据,但有些字段在前面是需要经过python加工的,所以直接使用python语言完成数据的存储功能,其中需要先用csv模块转换为python的list对象,再用pymssql模块写入数据库,如图4所示。
(1)读取csv表格
csv表格需要先经过csv模块读取才能导入数据库。python的csv模块实现了读写csv表格格式文件的一些类,可以让编写的程序以一种更容易被数据库处理的格式来输出或者输入数据,而不必纠结于csv表格的一些麻烦的小细节。而且使用csv模块可以自由地定制想要的csv格式文件。
在数据读取操作中使用的是csv.reader()函数,这个函数需要用到三个参数:第一个是文件路径;第二个是dialect参数,即操作表格文件的规范,可选的参数有三个,分别是excel,excel-tab和unix;第三个是fmtparams参数,包括用于指定分隔符的delimiter、用于指定引用符的quotechar、用于指定引用模式的quoting等。
当输入了相应的量后,返回结果是一个_csv.reader的对象。由于字段名称在csv表格的第一行,首先要单独读取第一行作为表头。然后再从第二行开始遍历,直到读取完成整个表格文件,最终输出保存到list对象中。
(2)写入数据库
python默认的数据库是sqllite,如果要读写sqlsever数据库的数据则需要使用到pymssql模块。pymssql是一个python的数据库接口,基于freetds构建,对_mssql模块进行了封装,遵循python的dbapi规范,其工作过程如图5所示。
通过调用pymssql.connect()方法,将记录的端口、用户名和密码信息传入,得到一个连接对象,再使用该对象的cursor方法得到数据库游标对象,再用游标对象的execute方法,即可执行sql语句。
用insert命令将数据插入数据库中创立的表以及用户信息,即完成了数据的写入。该命令中会带有list与表的对应信息。如果后续需要根据管理人员的要求修改数据库,也可以使用该模块相应的用于数据修改和数据删除的操作命令。
作为优选的实施方式,所述dialect参数包括excel、excel-tab和unix;所述fmtparams参数包括用于指定分隔符的delimiter、用于指定引用符的quotechar、用于指定引用模式的quoting。
作为优选的实施方式,将list对象中的数据插入所述云服务器中专利诉讼信息表、专利信息数据表和专利无效和复审数据表,具体包括以下步骤:
调用pymssql.connect()方法,将用户端口、用户名和密码信息传入,得到一个连接对象;
调用connectcursor方法创建数据库游标对象;
调用connectexecute()方法执行sql语句,通过cursorfetch()方法获取查询到的list对象;
调用insert命令将list对象中的数据插入所述云服务器中专利诉讼信息表、专利信息数据表和专利无效和复审数据表中。
本发明实施例通过在云服务器中创建专利数据库,在专利数据库中创建专利诉讼信息表、专利信息数据表和专利无效复审数据表;从客户端输入包含诉讼信息的表格文件,读取表格文件中的诉讼信息并输出到list对象中;将list对象中的数据插入所述专利数据库中专利诉讼信息表、专利信息数据表和专利无效和复审数据表,实现专利信息与诉讼信息的联动,便于专利从业人员全面地了解专利状况,更加综合的评判专利的价值。
本发明实施例还提供一种基于python的专利数据库的构建系统,包括:
通信模块,其用于:建立客户端与云服务器之间的通信连接;
数据表创建模块,其用于:在云服务器中创建专利数据库,在专利数据库中创建专利诉讼信息表、专利信息数据表和专利无效复审数据表;
csv模块,其用于:从客户端输入包含诉讼信息的表格文件,读取表格文件中的诉讼信息并输出到python的list对象中;
pymssql模块,其用于:将list对象中的数据插入所述专利数据库中专利诉讼信息表、专利信息数据表和专利无效和复审数据表。作为优选的实施方式,所述通信模块具体用于:
安装sqlserver客户端,绑定公网弹性ip;
设置安全组规则;
通过公网连接云服务器;
下载根证书,在客户端填写云服务器名称、主机ip、登录名、密码,将填写好的根证书上传至云服务器。
作为优选的实施方式,所述csv模块具体用于:
从客户端输入包含诉讼信息的表格文件,以及文件路径参数、dialect参数和fmtparams参数;
通过csv.reader()函数单独读取表格文件第一行作为python的list对象的表头;
通过csv.reader()函数从表格文件第二行开始遍历,直到读取完成整个表格文件;
将输出的诉讼信息保存到python的list对象中。
作为优选的实施方式,所述pymssql模块具体用于:
调用pymssql.connect()方法,将用户端口、用户名和密码信息传入,得到一个连接对象;
调用connectcursor方法创建数据库游标对象;
调用connectexecute()方法执行sql语句,通过cursorfetch()方法获取查询到的list对象;
调用insert命令将list对象中的数据插入所述云服务器中专利诉讼信息表、专利信息数据表和专利无效和复审数据表中。
基于同一发明构思,本申请实施例还提供一种电子设备,包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序,处理器执行计算机程序时实现基于python的专利诉讼信息检索方法中的所有方法步骤或部分方法步骤。
所称处理器可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,处理器是计算机装置的控制中心,利用各种接口和线路连接整个计算机装置的各个部分。
存储器可用于存储计算机程序和/或模块,处理器通过运行或执行存储在存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现计算机装置的各种功能。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、视频数据等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
1.一种基于python的专利数据库的构建方法,其特征在于,包括以下步骤:
建立客户端与云服务器之间的通信连接;
在云服务器中创建专利数据库,在专利数据库中创建专利诉讼信息表、专利信息数据表和专利无效复审数据表;
从客户端输入包含诉讼信息的表格文件,读取表格文件中的诉讼信息并输出到python的list对象中;
将list对象中的数据插入所述专利数据库中专利诉讼信息表、专利信息数据表和专利无效和复审数据表。
2.如权利要求1所述的方法,其特征在于,建立客户端与云服务器之间的通信连接,具体包括以下步骤:
安装sqlserver客户端,绑定公网弹性ip;
设置安全组规则;
通过公网连接云服务器;
下载根证书,在客户端填写云服务器名称、主机ip、登录名、密码,将填写好的根证书上传至云服务器。
3.如权利要求1所述的方法,其特征在于,从客户端输入包含诉讼信息的表格文件,读取表格文件中的诉讼信息并输出到python的list对象中,具体包括以下步骤:
从客户端输入包含诉讼信息的表格文件,以及文件路径参数、dialect参数和fmtparams参数;
通过csv.reader()函数单独读取表格文件第一行作为python的list对象的表头;
通过csv.reader()函数从表格文件第二行开始遍历,直到读取完整个表格文件;
将输出的诉讼信息保存到python的list对象中。
4.如权利要求3所述的方法,其特征在于,所述dialect参数包括excel、excel-tab和unix;所述fmtparams参数包括用于指定分隔符的delimiter、用于指定引用符的quotechar、用于指定引用模式的quoting。
5.如权利要求1所述的方法,其特征在于,将list对象中的数据插入所述云服务器中专利诉讼信息表、专利信息数据表和专利无效和复审数据表,具体包括以下步骤:
调用pymssql.connect()方法,将用户端口、用户名和密码信息传入,得到一个连接对象;
调用connectcursor方法创建数据库游标对象;
调用connectexecute()方法执行sql语句,通过cursorfetch()方法获取查询到的list对象;
调用insert命令将list对象中的数据插入所述云服务器中专利诉讼信息表、专利信息数据表和专利无效和复审数据表中。
6.一种电子设备,包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序,其特征在于:处理器执行计算机程序时实现权利要求1至5任一项所述的方法。
7.一种基于python的专利数据库的构建系统,其特征在于,包括:
通信模块,其用于:建立客户端与云服务器之间的通信连接;
数据表创建模块,其用于:在云服务器中创建专利数据库,在专利数据库中创建专利诉讼信息表、专利信息数据表和专利无效复审数据表;
csv模块,其用于:从客户端输入包含诉讼信息的表格文件,读取表格文件中的诉讼信息并输出到python的list对象中;
pymssql模块,其用于:将list对象中的数据插入所述专利数据库中专利诉讼信息表、专利信息数据表和专利无效和复审数据表。
8.如权利要求7所述的系统,其特征在于,所述通信模块具体用于:
安装sqlserver客户端,绑定公网弹性ip;
设置安全组规则;
通过公网连接云服务器;
下载根证书,在客户端填写云服务器名称、主机ip、登录名、密码,将填写好的根证书上传至云服务器。
9.如权利要求7所述的系统,其特征在于,所述csv模块具体用于:
从客户端输入包含诉讼信息的表格文件,以及文件路径参数、dialect参数和fmtparams参数;
通过csv.reader()函数单独读取表格文件第一行作为python的list对象的表头;
通过csv.reader()函数从表格文件第二行开始遍历,直到读取完成整个表格文件;
将输出的诉讼信息保存到python的list对象中。
10.如权利要求7所述的系统,其特征在于,所述pymssql模块具体用于:
调用pymssql.connect()方法,将用户端口、用户名和密码信息传入,得到一个连接对象;
调用connectcursor方法创建数据库游标对象;
调用connectexecute()方法执行sql语句,通过cursorfetch()方法获取查询到的list对象;
调用insert命令将list对象中的数据插入所述云服务器中专利诉讼信息表、专利信息数据表和专利无效和复审数据表中。
技术总结