CN108062368B - 全量数据翻译方法、装置、服务器及存储介质 - Google Patents
全量数据翻译方法、装置、服务器及存储介质 Download PDFInfo
- Publication number
- CN108062368B CN108062368B CN201711296609.8A CN201711296609A CN108062368B CN 108062368 B CN108062368 B CN 108062368B CN 201711296609 A CN201711296609 A CN 201711296609A CN 108062368 B CN108062368 B CN 108062368B
- Authority
- CN
- China
- Prior art keywords
- data
- version
- full
- resource
- content
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
- G06F16/367—Ontology
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Animal Behavior & Ethology (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例公开了一种全量数据翻译方法、装置、服务器及存储介质,其中,该方法包括:按照预设时间间隔扫描预设存储单元中存储的各站点数据;比较同一站点下子链齐全的最大版本与各资源内容的版本;根据比较结果将所述站点的全量数据翻译为增量数据。本发明实施例能够将全量数据自动翻译成增量数据,解决了现有知识图谱数据处理***依赖产品端发现全量数据中的过期数据,且由人力删除过期数据导致的维护成本过高的问题,极大地提升了知识图谱数据库的全面性和稳定性。
Description
技术领域
本发明实施例涉及数据处理技术领域,尤其涉及一种全量数据翻译方法、装置、服务器及存储介质。
背景技术
随着互联网技术的发展,利用互联网上的海量数据构建知识图谱数据库,可以为用户提供搜索结果“即搜即得”的搜索体验。
目前,知识图谱数据的处理***主要是基于增量数据进行处理,而部分站长由于能力有限仅能提交全量数据,基于增量的数据处理***无法有效地自动找出不同版本全量数据之间发生变化的数据,只能依赖产品端发现过期数据后以人工干预的方式删除。
但是,人工干预的方式删除只能依赖产品端发现过期数据后进行,在发现过期数据前给数据的处理造成麻烦和风险,并且,通过人工干预的方式删除过期数据人力成本大、效率低下,严重影响了知识图谱数据库的全面性和稳定性。
发明内容
本发明实施例提供了一种全量数据翻译方法、装置、服务器及存储介质,解决了现有知识图谱数据处理***依赖产品端发现全量数据中的过期数据,且由人力删除过期数据导致的维护成本过高的问题,极大地提升了知识图谱数据库的全面性和稳定性。
第一方面,本发明实施例提供了一种全量数据翻译方法,包括:
按照预设时间间隔扫描预设存储单元中存储的各站点数据;
比较同一站点下子链齐全的最大版本与各资源内容的版本;
根据比较结果将所述站点的全量数据翻译为增量数据。
第二方面,本发明实施例提供了一种全量数据翻译装置,包括:
数据扫描模块,用于按照预设时间间隔扫描预设存储单元中存储的各站点数据;
版本比较模块,用于比较同一站点下子链齐全的最大版本与各资源内容的版本;
全量翻译模块,用于根据比较结果将所述站点的全量数据翻译为增量数据。
第三方面,本发明实施例提供了一种服务器,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明任意实施例所述的全量数据翻译方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例所述的全量数据翻译方法。
本发明实施例提供了一种全量数据翻译方法、装置、服务器及存储介质,通过按预设时间间隔扫描预设存储单元中存储的各站点数据,将同一站点下子链齐全的最大版本与各资源内容的版本进行比较,根据比较结果将站点的全量数据自动翻译为增量数据。解决了现有知识图谱数据处理***依赖产品端发现全量数据中的过期数据,且由人力删除过期数据导致的维护成本过高的问题,极大地提升了知识图谱数据库的全面性和稳定性。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明实施例的其它特征、目的和优点将会变得更明显:
图1是本发明实施例一提供的一种全量数据翻译方法的流程图;
图2是本发明实施例二提供的一种全量数据翻译方法中数据下发及存储过程的流程图;
图3是本发明实施例四提供的知识图谱数据处理架构示意图;
图4是本发明实施例四提供的Netty线程模型示意图;
图5是本发明实施例四提供的实时流分发模块线程流示意图;
图6是本发明实施例四提供的Ulpack处理器的示意图;
图7是本发明实施例五提供的一种全量数据翻译装置的结构框图;
图8是本发明实施例五提供的另一种全量数据翻译装置的结构框图;
图9是本发明实施例六提供的一种服务器的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。
实施例一
图1为本发明实施例一提供的一种全量数据翻译方法的流程图,本实施例可适用于基于增量的数据处理***,在数据处理时将全量数据自动翻译成增量数据,例如,知识图谱数据处理***。该方法可以由本发明实施例提供的全量数据翻译装置或服务器来执行,该装置可采用硬件和/或软件的方式实现,如图1所示,该全量数据翻译方法包括:
S101,按照预设时间间隔扫描预设存储单元中存储的各站点数据。
其中,预设存储单元存储有各站点的全量数据,包括:站点标识、站点各版本数据的子链信息、站点各子链的资源地址、站点各资源地址的资源内容及资源内容的版本等。优选可以按照预设格式存储各站点的全量数据,以实现快速扫描,提高翻译效率。预设存储单元可以是分布式存储单元,优选的,可以是分布式列式存储***(HBase),HBase支持大规模数据读写,内置多版本数据支持,并基于Hadoop计算框架,提供原生应用程序编程接口(API,Application Programming Interface)支持MapReduce离线任务对于所存储的数据的直接访问。
本发明实施例可以将获取的全量数据实时存储到预设存储单元中,当达到预设时间间隔时,扫描预设存储单元中的数据,以启动全量数据的自动翻译过程。预设时间间隔可以根据实际需求预先设定,例如结合预设存储单元中全量数据的存储频率和数据的时效性而设定。当然,工作人员根据具体情况可以随时对预设时间间隔进行修改,以达到预期效果。
通过扫描预设存储单元中存储的各站点数据,获取用于确定站点增量数据的信息,例如版本号。
S102,比较同一站点下子链齐全的最大版本与各资源内容的版本。
其中,通过S101中对预设存储单元中存储的数据进行扫描,可以确定站点的子链齐全的最大版本,然后将同一站点下各资源内容版本与该站点的子链齐全的最大版本进行比较。这里的版本即版本号。预设存储单元中存储的站点数据版本可以通过抓取数据的记录或者站长提交数据时的信息获得。
S103,根据比较结果将所述站点的全量数据翻译为增量数据。
将站点的全量数据翻译为增量数据是指找出该站点不同版本全量数据之间发生变化的数据,尤其是被删除的旧数据或脏数据,也就是将全量数据转换成增量数据的过程。优选的,根据比较结果将站点的全量数据翻译为增量数据,可以包括:如果资源内容的版本小于子链齐全的最大版本,则确定对应的资源内容已过期;依据过期的资源内容生成增量删除包,并发送至缓存单元。
对于当前站点,可以根据本次翻译过程中得到的该站点下所有过期的资源内容,一起生成该站点的增量删除包,发送至缓存单元;也可以是确定一个过期的资源内容,就根据该过期的资源内容生成对应的增量删除包,发送至缓存单元。将增量删除包发送至缓存单元,下游数据处理***可以从缓存单元中获取该增量删除包以进行数据处理,供产品端使用。例如,缓存单元可以是Kafka。
本实施例提供了一种全量数据翻译方法,通过按预设时间间隔扫描预设存储单元中存储的各站点数据,将同一站点下子链齐全的最大版本与各资源内容的版本进行比较,根据比较结果将站点的全量数据自动翻译为增量数据。解决了现有知识图谱数据处理***依赖产品端发现全量数据中的过期数据,且由人力删除过期数据导致的维护成本过高的问题,极大地提升了知识图谱数据库的全面性和稳定性。
进一步地,确定了过期的资源内容后,可以根据增量删除包将缓存单元中的过期数据删除,同时将预设存储单元中的过期数据删除,完成预设存储单元中数据的更新。
实施例二
本实施例在上述实施例的基础上,提供了一种全量数据翻译方法,图2为本发明实施例二提供的一种全量数据翻译方法中数据下发及存储过程的流程图,如图2所示,该方法包括:
S201,接收字节流数据。
其中,字节流数据是指数据平台下发到全量数据翻译装置中的数据,字节流数据可能包括需要由知识图谱数据处理***进行处理的数据。字节流数据可以由数据平台抓取得到。
具体的,数据平台可以是知识图谱开放平台(例如百度的KGopen平台),通过接收站长(泛指拥有个人网站的群体)输入的优质的字节流数据,实现数据的分享,使数据价值达到最大化,为用户提供更为优质的服务。知识图谱开放平台会将百度数据开放平台(例如百度的阿拉丁平台)提交的字节流数据录入数据库后,进行定期抓取,抓取后的字节流数据经过有效校验后被包装为预设协议格式的字节流数据,本实施例接收的就是所述被包装为预设协议格式的字节流数据。以百度的KGopen平台为例,预设协议格式可以是KGopen平台遵循的Ulpack协议格式。
S202,根据字节流数据的解码结果确定字节流数据的数据类型。
其中,由S201可知,获取的字节流是被包装为预设协议格式的字节流数据,且字节流中的数据可能是全量数据,也可能是增量数据,还可能是非有效数据(既不是全量数据类型,也不是增量数据类型的数据)。由于知识图谱数据处理***主要是基于增量数据处理的,所以,本发明实施例的全量数据翻译方法对于不同数据类型的字节流数据的处理方式是不同的。因此为了确定字节流数据的数据类型要对S201中接收到的字节流数据进行解码操作。由于字节流数据是按预设协议格式进行编码的,此时就要用与其相对应的预设协议进行字节流数据的解码操作。例如,若获取的字节流数据被包装为Ulpack协议格式的字节流数据,此时就要用Ulpack协议进行字节流数据的解码操作,解码后的字节流数据分为包头和包体两部分,包头中含有数据类型的标识,用于判断该数据的数据类型;包体中含有数据的具体信息。
S203,如果字节流数据的数据类型为全量数据,下发全量数据至缓存单元,并将全量数据按照预设格式存入预设存储单元。
其中,由于知识图谱数据处理***主要是基于增量数据处理的,所以将全量数据存储到预设存储单元以进行进一步地翻译处理,同时将全量数据下发至缓存单元,保证数据的实时性。优选的缓存单元可以是开源的分布式消息队列,例如,可以是高吞吐量的分布式发布订阅消息***(Kafka)。
在一个实施方式中,下发全量数据至缓存单元,可以是:按照预设规则对字节流数据的解码结果进行协议转换后,下发至缓存单元。
考虑到获取的字节流数据的协议与知识图谱数据处理***所支持的协议可能不同,此时如果直接将获取的全量数据下发到缓存单元,供知识图谱数据处理***消费处理,由于协议不同,该***无法对数据进行解析和处理。因此,上述实施例方式中对字节流数据的解码结果(即解码得到字节流数据中的具体数据内容)进行协议转换,得到符合知识图谱数据处理***的协议的数据。例如,获取的字节流数据是Ulpack协议格式,而知识图谱数据处理***支持Protobuf协议格式,需要将Ulpack协议格式的字节流数据转换为Protobuf协议格式的字节流数据,具体可以按照Ulpack对字节流数据进行解码,得到包头和包体,其中包体遵循Mcpack协议,按照Mcpack协议对包体进行解码,得到具体数据,然后再将该数据封装成Protobuf协议格式。
进一步地,S202中确定的字节流数据的数据类型还可能是增量数据或非有效数据,不同的数据类型对应的处理方法也不同,如果字节流数据的数据类型为增量数据,按照预设规则对字节流数据的解码结果进行协议转换后,下发至缓存单元;如果字节流数据的数据类型为非有效数据,丢弃字节流数据。
其中,当字节流数据的数据类型为增量数据时,不需要进行全量数据翻译过程,所以不用将增量数据存入预设存储单元内,只需要下发至缓存单元,具体的协议转换流程与全量数据的协议转换类似,此处不再赘述。
当数据信息缺失或抓取过程失败时可能会产生非有效数据,该数据的数据类型同样可以在字节流数据的解码结果的包头中的标识信息中查找。对于非有效类型的字节流数据,无需进行下发和存储,只需要将该字节流数据丢弃删除即可。
优选的,本实施例的数据下发及存储过程和本发明实施例一的全量数据离线翻译过程是两个独立的过程,没有先后顺序之分,可以是同时进行,本发明实施例不对两者的顺序做任何限定。
本实施例提供的全量数据翻译方法,通过接收字节流数据,确定字节流数据的数据类型后,将全量数据一方面下发至缓存单元,另一方面按预设格式存入预设存储单元中,为全量数据的翻译做准备,将增量数据下发至缓存单元,丢弃非有效类型的字节流数据,针对字节流数据的不同类型,对字节流数据做不同的处理,极大地提升了知识图谱数据库的全面性和稳定性。
实施例三
本实施例在上述各实施例的基础上,提供了预设存储单元中的一种优选存储格式,以及基于该存储格式的全量数据翻译过程。
本实施例中,预设存储单元为Hbase,预设存储格式为基于Sitemap格式设计的表结构。一个站点会有一个唯一标识(siteid)和一个索引(index)文件,该索引文件不包含实际内容,只包括该站点下的所有资源链接,即子链。每条子链中会存在多条loc数据,loc表示实际网页地址,即资源实际的位置(资源地址),也是资源增删的最小单位。
基于上述Sitemap格式,设计三个数据表来存储全量数据,如表1-3所示,包括:存储索引及子链信息的资源表、存储所有资源地址的链接表以及存储资源具体内容的内容表。
表1资源表
其中,sitemap_index表示网页地图索引;meta表示元数据;data表示数据;siteid表示站点资源的唯一标识;url表示索引的url地址;has_parent表示是否是有前链资源(用于区分一些没有索引链的特殊资源);num表示子链总数;fin表示是否收齐子链;link表示与索引关联的子链;last_fin_time表示最后收齐时间。在资源表中,一个站点下每个版本的全量数据均按照表1所示参数存为一行。每个站点下的一行数据代表该站点的一个版本数据,例如,某个站点下有50个版本,则在表1中该站点下就有50行数据。表1中并没有示出站点数据的版本,在实际应用中,也可以在资源表中增加一个字段写入数据版本。数据版本可以通过抓取数据的记录或者站长提交数据时的信息获得,例如站长首次提交数据时设置数据的版本号为0,对于第一次抓取的数据,记录其版本号为1,对于第二次抓取的数据,记录其版本号为2,以此类推。
表2链接表
sitemap_link | mate | data |
siteid-linkUrl | last_updata_time | locs |
其中,sitemap_link表示网页地图链接;meta表示元数据;data表示数据;siteid-linkUrl表示子链的唯一标识,包括子链所属的siteid与该子链的url地址;last_update_time表示最后更新时间;locs表示对应子链下的所有资源地址。在链接表中,一个站点下每个子链的相关信息均按照表2所示参数存为一行。
表3内容表
其中,sitemap_loc表示网页地图资源地址;meta表示元数据;data表示数据;siteid-locid表示资源地址的唯一标识,包括资源地址所属的siteid与该资源的地址;plink表示资源地址所属的子链;last_update_time表示资源地址对应的内容(即资源内容)的最后更新时间;ver表示资源内容所属版本;schema_id表示资源内容所属的数据格式的范式;body表示资源地址包括的具体内容。在内容表中,一个站点下每个资源地址的相关信息均按照表3所示参数存为一行。
上述三个表中,资源表通过子链字段(link)与链接表关联,链接表通过资源地址字段(locs)与内容表关联。这三个数据表为多版本的全量数据状态管理策略提供了数据支持。考虑到抓取数据时并不能保证数据的顺序,保存多个版本可以有效规避数据顺序混乱带来的影响。
将全量数据按照预设格式存入预设存储单元,可以是:将全量数据中的索引及子链信息存入预设存储单元的资源表中,作为对应站点下的一版数据;将全量数据中的资源地址存入预设存储单元的链接表中;将全量数据中的资源内容存入预设存储单元的内容表中,其中内容表中存储有资源内容对应的版本。
优选的,按照预设时间间隔扫描预设存储单元中存储的各站点数据,具体可以是:按照预设时间间隔扫描预设存储单元的资源表中各站点下的每个版本的数据;针对每个站点,根据该站点下各版本的子链信息确定该站点下子链齐全的版本数据,并在该站点下所有子链齐全的版本数据中确定最大版本,作为该站点的子链齐全的最大版本。
具体的,表1中的fin字段记录站点的子链是否收齐,通过扫描每行的fin字段来确定该行的版本数据是否是子链齐全的版本数据。一个站点下可能存在多个子链齐全的版本数据,这时需要获取该站点下所有子链齐全的版本数据的版本号,从中确定最大版本号,作为该站点的子链齐全的最大版本。其中,可以通过抓取数据的记录或者站长提交数据时的信息获得版本号。
基于上述存储格式,比较同一站点下子链齐全的最大版本与各资源内容的版本,可以是:针对同一站点,扫描预设存储单元的内容表中对应于该站点的各资源内容的版本;分别比较该站点的各资源内容的版本与该站点的子链齐全的最大版本。具体的,表3中的ver字段表示资源内容对应的版本号,因此可以将子链齐全的最大版本与内容表中对应站点下每个资源内容的ver字段进行比较,以判断资源内容是否过期。
此外,对应于上述三个数据表的存储格式,在生成增量删除包之后,可以对三个表进行相关数据信息的删除,以完成预设存储单元数据的更新。可以删除内容表中过期的资源内容,链接表中与过期的资源内容对应的资源地址,以及资源表中小于子链齐全的最大版本的版本数据。
本实施例中的存储格式为多版本的全量数据状态管理策略提供了数据支持,保存多个版本可以有效规避数据顺序混乱带来的影响。通过上述存储格式,能够实现快速扫描,提高全量数据的翻译效率。
实施例四
本实施例在上述各实施例的基础上,提供了全量数据翻译的一种优选实例,图3为本发明实施例四提供的知识图谱数据处理架构示意图,如图3所示,知识图谱数据处理架构包括:百度数据开放平台30、知识图谱开放平台31、全量数据翻译***32以及Mario数据处理***33,全量数据翻译***32处于知识图谱开放平台31与Mario数据处理***33之间。
站长通过百度数据开放平台30提交符合网页地图数据协议的XML(ExtensibleMarkup Language,可扩展标记语言)文件URL。知识图谱开放平台31会调用网页地图API311将百度数据开放平台30的数据录入数据库,从而进行定期抓取,抓取后的字节流数据经过有效性校验后会被包装为Ulpack协议格式的字节流数据,通过网页地图环路312的网页地图下发模块313下发给全量数据翻译***32。
全量数据翻译***32分为计算和存储两部分。计算部分包括两个模块,基于Netty框架开发的实时流分发模块321和利用Hadoop计算框架实现的离线任务处理模块322。存储部分也包括两个模块,用于存储全量数据的存储单元323和用于缓存字节流数据的缓存单元324。具体的,离线任务处理模块322用于处理MapReduce离线任务;存储单元323可以是Hbase分布式存储***,包括:Hbase客户端连接池(Client Pool)和SitemapBase数据表;缓存单元324可以是分布式消息队列Kafka。
其中,实时流分发模块321主要负责接收网页地图下发模块313发送的字节流数据,并将其根据Ulpack协议解码,字节流数据解码结果中包括包头和包体两部分,根据包头的字段判断字节流数据包的类型,不同类型的数据包处理方式不同,具体的:实时流分发模块321对增量数据包进行协议转换后,以实时流的方式直接发送到缓存单元324以支持后续的实时计算;实时流分发模块321一方面对全量数据包进行协议转换后实时下发至缓存单元324,另一方面将全量数据包的副本通过Hbase客户端连接池按照预设格式写入存储单元323的数据表(SitemapBase)中(即实施例三中的表1-3)。
离线任务处理模块322以离线任务的方式按预设时间间隔扫描存储单元323中的数据表,去比较同一站点下子链齐全的最大版本与各资源内容的版本,根据比较结果生成增量删除包,推送至缓存单元324。
全量数据翻译***32的下游Mario数据处理***33从缓存单元324中消费实时的增量数据进行计算加工和存储,供产品端使用。典型的产品为阿拉丁(Aladdin)垂类卡片,Mario数据处理***33实时处理后会提供给阿拉丁架构进行知识图谱数据的建库,最终在pc/wise端展示,其中,阿拉丁为百度数据开放平台30中具体的一个数据开放平台。
实时流分发模块321包括三个任务单元:Ulpack解码器、Mcpack解码器和Ulpack处理器。图4是本发明实施例四提供的Netty线程模型示意图,具体为服务器端的线程模型,通过图4所示的Netty线程模型示意图来介绍实时流分发模块321的构建及工作流程。为了接收字节流数据并对其进行处理,本实施例的服务器类创建了3个线程组(EventLoopGroup),包括:bossGroup 402、readerGroup 403和workerGroup 405。
具体的,bossGroup 402是用于服务器端接收客户端的连接线程,readerGroup403是用于进行连接通道(SocketChannel)的网络读写的线程,其主要负责处理Ulpack解码器404的任务;workerGroup 405负责处理Mcpack解码器406和Ulpack处理器407的任务。
具体操作流程为:1、在用户线程401与线程bossGroup 402之间进行服务器端端口绑定;2、选取一个线程作为接收端监听客户端连接,其中,若监听失败直接返回用户线程401,若连接成功,进入下一步;3、将客户端SocketChannel注册到IO线程池中;4、选取一个线程作为IO线程处理网络读写;5、IO线程负责处理网络读写。进一步地,将任务单元Ulpack解码器404、Mcpack解码器406和Ulpack处理器407注册到数据管道(ChannelPipeline)408中。
图5是本发明实施例四提供的实时流分发模块线程流示意图,如图5所示,网页地图下发模块313向Ulpack解码器404发送字节流数据;Ulpack解码器404负责对收到的字节流数据进行Ulpack解码,将解码结果发送给Mcpack解码器406;Mcpack解码器406负责对解码结果中的包体进行Mcpack解码,再将Mcpack解码后的数据发送给Ulpack处理器407;Ulpack处理器407用于实现具体的业务逻辑,将Mcpack解码后的数据转换为Protobuf协议格式,并下发至缓存单元324,以及将全量数据存储到存储单元323的数据表中。
图6是本发明实施例四提供的Ulpack处理器的示意图,如图6所示,Ulpack处理器407应用了简单策略加工厂模式(Ulpack处理器工厂类4071),会根据收到数据包的不同类型去生产不同的子任务单元(子处理器),这些子任务单元都继承Ulpack处理器407。子任务单元包括:Kafka下发数据流处理器4072、HBase下发数据流处理器4073和丢包处理器4074,工厂类通过这三个子任务单元构造顺序多类型处理器4075。
其中,Ulpack处理器工厂类4071将Mcpack解码器406解码后的数据按照数据类型,发送给对应的子任务单元。Kafka下发数据流处理器4072负责将数据转换为protobuf协议格式,并发送至缓存单元324;HBase下发数据流处理器4073负责向存储单元323的SitemapBase数据表中写数据;丢包处理器4074用于丢弃不符合预期类型的包,其中上游的网页地图环路抓取完成后会在包头信息中标识该数据是否为有效数据,非有效数据需要丢弃;顺序多类型处理器4075用于对Kafka下发数据流处理器4072、HBase下发数据流处理器4073和丢包处理器4074处理后的数据进行顺序多类处理。
优选的,Ulpack协议的扩展性很好,后续若有更多的业务需求,例如需要将数据做封装或直接发往其他***等,只需要在数据管道中添加相应的任务单元即可。
本实施例通过搭建知识图谱数据处理架构机制,将上述各实施例提供的全量数据翻译方法运用到搭建的知识图谱数据处理架构中,验证了本发明实施例提供的全量数据翻译方法,完成了全量数据到增量数据的自动翻译。解决了现有知识图谱数据处理***依赖产品端发现全量数据中的过期数据,且由人力删除过期数据导致的维护成本过高的问题,极大地提升了知识图谱数据库的全面性和稳定性。
实施例五
图7为本发明实施例五提供的一种全量数据翻译装置的结构框图,该装置可执行本发明任意实施例所提供的全量数据翻译方法,具备执行方法相应的功能模块和有益效果。如图7所示,该装置包括:
数据扫描模块701,用于按照预设时间间隔扫描预设存储单元中存储的各站点数据;
版本比较模块702,用于比较同一站点下子链齐全的最大版本与各资源内容的版本;
全量翻译模块703,用于根据比较结果将站点的全量数据翻译为增量数据。
可选的,如图8所示,上述全量数据翻译装置70还可以包括:
数据接收模块704,用于接收字节流数据;
数据类型确定模块705,用于根据字节流数据的解码结果确定字节流数据的数据类型;
全量数据下发模块706,用于如果字节流数据的数据类型为全量数据,下发全量数据至缓存单元;
全量数据存储模块707,用于如果字节流数据的数据类型为全量数据,将全量数据按照预设格式存入预设存储单元。
本实施例提供了一种全量数据翻译装置,通过按预设时间间隔扫描预设存储单元中存储的各站点数据,将同一站点下子链齐全的最大版本与各资源内容的版本进行比较,根据比较结果将站点的全量数据自动翻译为增量数据。解决了现有知识图谱数据处理***依赖产品端发现全量数据中的过期数据,且由人力删除过期数据导致的维护成本过高的问题,极大地提升了知识图谱数据库的全面性和稳定性。
进一步地,上述全量数据下发模块706具体用于:按照预设规则对字节流数据的解码结果进行协议转换后,下发至缓存单元。
进一步地,由于字节流数据的数据类型还可能是增量数据或非有效数据,因此,上述装置还包括:增量数据下发模块,用于在字节流数据的数据类型为增量数据的情况下,按照预设规则对字节流数据的解码结果进行协议转换后,下发至缓存单元;数据丢弃模块,用于在字节流数据的数据类型为非有效数据的情况下,丢弃字节流数据。
需要说明的是,增量数据下发模块和全量数据下发模块706具备协议转换和下发功能,二者可以由一个模块实现,也可以是不同的模块。
进一步地,上述全量数据存储模块707包括:
资源存储单元,用于将全量数据中的索引及子链信息存入预设存储单元的资源表中,作为对应站点下的一版数据;
链接存储单元,用于将全量数据中的资源地址存入预设存储单元的链接表中;
内容存储单元,用于将全量数据中的资源内容存入预设存储单元的内容表中,其中内容表中存储有资源内容对应的版本;
其中,资源表通过子链字段与链接表关联,链接表通过资源地址字段与内容表关联。
进一步地,上述数据扫描模块701包括:
资源表扫描单元,用于按照预设时间间隔扫描预设存储单元的资源表中各站点下的每个版本的数据;
最大版本确定单元,用于针对每个站点,根据所述站点下各版本的子链信息确定所述站点下子链齐全的版本数据,并在所述站点下所有子链齐全的版本数据中确定最大版本,作为所述站点的子链齐全的最大版本。
进一步地,上述版本比较模块702包括:
内容版本扫描单元,用于针对同一站点,扫描预设存储单元的内容表中对应于该站点的各资源内容的版本;
版本比较单元,用于分别比较该站点的各资源内容的版本与该站点的子链齐全的最大版本。
进一步地,上述全量翻译模块703包括:
过期内容确定单元,用于如果资源内容的版本小于子链齐全的最大版本,则确定对应的资源内容已过期;
删除包发送单元,用于依据过期的资源内容生成增量删除包,并发送至缓存单元。
进一步地,上述装置还包括:
删除模块,用于删除预设存储单元的内容表中过期的资源内容,链接表中与过期的资源内容对应的资源地址,以及资源表中小于子链齐全的最大版本的版本数据。
值得注意的是,上述全量数据翻译装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;例如,该装置可以仅包括存储模块和计算模块,存储模块实现全量数据的存储功能;计算模块实现全量数据的接收、解码、协议转换、下发、扫描、比较和翻译等相关功能。另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
实施例六
图9为本发明实施例六提供的一种服务器的结构示意图。图9示出了适于用来实现本发明实施方式的示例***器90的框图。图9显示的服务器90仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。如图9所示,该服务器90以通用计算设备的形式表现。该服务器90的组件可以包括但不限于:一个或者多个处理器或者处理单元901,***存储器902,连接不同***组件(包括***存储器902和处理单元901)的总线903。
总线903表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,***总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及***组件互连(PCI)总线。
服务器90典型地包括多种计算机***可读介质。这些介质可以是任何能够被服务器90访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
***存储器902可以包括易失性存储器形式的计算机***可读介质,例如随机存取存储器(RAM)904和/或高速缓存存储器905。服务器90可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机***存储介质。仅作为举例,存储***906可以用于读写不可移动的、非易失性磁介质(图9未显示,通常称为“硬盘驱动器”)。尽管图9中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线903相连。***存储器902可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块907的程序/实用工具908,可以存储在例如***存储器902中,这样的程序模块907包括但不限于操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块907通常执行本发明所描述的实施例中的功能和/或方法。
服务器90也可以与一个或多个外部设备909(例如键盘、指向设备、显示器910等)通信,还可与一个或者多个使得用户能与该设备交互的设备通信,和/或与使得该服务器90能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口911进行。并且,服务器90还可以通过网络适配器912与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图9所示,网络适配器912通过总线903与服务器90的其它模块通信。应当明白,尽管图中未示出,可以结合服务器90使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储***等。
处理单元901通过运行存储在***存储器902中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的全量数据翻译方法。
实施例七
本发明实施例七还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时可实现上述实施例所述的全量数据翻译方法。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于:电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
上述实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员应该明白,上述的本发明实施例的各模块或各操作可以用通用的计算装置来实现,它们可以集中在单个计算装置上,或者分布在多个计算装置所组成的网络上,可选地,他们可以用计算机装置可执行的程序代码来实现,从而可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或操作制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件的结合。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间的相同或相似的部分互相参见即可。
以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域技术人员而言,本发明可以有各种改动和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (16)
1.一种全量数据翻译方法,其特征在于,包括:
按照预设时间间隔扫描预设存储单元中存储的各站点的全量数据;其中,所述站点的全量数据至少包括站点的各版本子链和子链内各资源内容的资源内容版本;
比较同一站点下子链齐全的子链最大版本与各资源内容的资源内容版本;
根据比较结果将所述站点的全量数据翻译为增量数据。
2.根据权利要求1所述的方法,其特征在于,还包括:
接收字节流数据;
根据所述字节流数据的解码结果确定所述字节流数据的数据类型;
如果所述字节流数据的数据类型为全量数据,下发所述全量数据至缓存单元,并将所述全量数据按照预设格式存入所述预设存储单元。
3.根据权利要求2所述的方法,其特征在于,下发所述全量数据至缓存单元,包括:按照预设规则对所述字节流数据的解码结果进行协议转换后,下发至所述缓存单元。
4.根据权利要求2所述的方法,其特征在于,在根据所述字节流数据的解码结果确定所述字节流数据的数据类型之后,还包括:
如果所述字节流数据的数据类型为增量数据,按照预设规则对所述字节流数据的解码结果进行协议转换后,下发至所述缓存单元。
5.根据权利要求2所述的方法,其特征在于,将所述全量数据按照预设格式存入所述预设存储单元,包括:
将所述全量数据中的索引及子链信息存入所述预设存储单元的资源表中,作为对应站点下的一版数据;
将所述全量数据中的资源地址存入所述预设存储单元的链接表中;
将所述全量数据中的资源内容存入所述预设存储单元的内容表中,其中所述内容表中存储有所述资源内容对应的资源内容版本;
其中,所述资源表通过子链字段与所述链接表关联,所述链接表通过资源地址字段与所述内容表关联。
6.根据权利要求1所述的方法,其特征在于,按照预设时间间隔扫描预设存储单元中存储的各站点的全量数据,包括:
按照所述预设时间间隔扫描所述预设存储单元的资源表中各站点下的每个版本子链的子链信息;
针对每个站点,根据所述站点下各版本子链的子链信息确定所述站点下子链齐全的版本数据,并在所述站点下所有子链齐全的版本数据中确定子链最大版本,作为所述站点的子链齐全的子链最大版本。
7.根据权利要求1所述的方法,其特征在于,比较同一站点下子链齐全的子链最大版本与各资源内容的资源内容版本,包括:
针对同一站点,扫描所述预设存储单元的内容表中对应于该站点的各资源内容的资源内容版本;
分别比较该站点的各资源内容的资源内容版本与该站点的子链齐全的子链最大版本。
8.根据权利要求1所述的方法,其特征在于,根据比较结果将所述站点的全量数据翻译为增量数据,包括:
如果所述资源内容的资源内容版本小于所述子链齐全的子链最大版本,则确定对应的资源内容已过期;
依据过期的资源内容生成增量删除包,并发送至缓存单元。
9.根据权利要求8所述的方法,其特征在于,在确定对应的资源内容已过期之后,还包括:
删除所述预设存储单元的内容表中所述过期的资源内容,链接表中与所述过期的资源内容对应的资源地址,以及资源表中小于所述子链齐全的子链最大版本的版本数据。
10.一种全量数据翻译装置,其特征在于,包括:
数据扫描模块,用于按照预设时间间隔扫描预设存储单元中存储的各站点的全量数据;其中,所述站点的全量数据至少包括站点的各版本子链和子链内各资源内容的资源内容版本;
版本比较模块,用于比较同一站点下子链齐全的子链最大版本与各资源内容的资源内容版本;
全量翻译模块,用于根据比较结果将所述站点的全量数据翻译为增量数据。
11.根据权利要求10所述的装置,其特征在于,还包括:
数据接收模块,用于接收字节流数据;
数据类型确定模块,用于根据所述字节流数据的解码结果确定所述字节流数据的数据类型;
全量数据下发模块,用于如果所述字节流数据的数据类型为全量数据,下发所述全量数据至缓存单元;
全量数据存储模块,用于如果所述字节流数据的数据类型为全量数据,将所述全量数据按照预设格式存入所述预设存储单元。
12.根据权利要求11所述的装置,其特征在于,所述全量数据存储模块包括:
资源存储单元,用于将所述全量数据中的索引及子链信息存入所述预设存储单元的资源表中,作为对应站点下的一版数据;
链接存储单元,用于将所述全量数据中的资源地址存入所述预设存储单元的链接表中;
内容存储单元,用于将所述全量数据中的资源内容存入所述预设存储单元的内容表中,其中所述内容表中存储有所述资源内容对应的资源内容版本;
其中,所述资源表通过子链字段与所述链接表关联,所述链接表通过资源地址字段与所述内容表关联。
13.根据权利要求10所述的装置,其特征在于,所述数据扫描模块包括:
资源表扫描单元,用于按照所述预设时间间隔扫描所述预设存储单元的资源表中各站点下的每个版本子链的子链信息;
最大版本确定单元,用于针对每个站点,根据所述站点下各版本子链的子链信息确定所述站点下子链齐全的版本数据,并在所述站点下所有子链齐全的版本数据中确定子链最大版本,作为所述站点的子链齐全的子链最大版本。
14.根据权利要求10所述的装置,其特征在于,所述全量翻译模块包括:
过期内容确定单元,用于如果所述资源内容的资源内容版本小于所述子链齐全的子链最大版本,则确定对应的资源内容已过期;
删除包发送单元,用于依据过期的资源内容生成增量删除包,并发送至缓存单元。
15.一种服务器,其特征在于,所述服务器包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-9中任一所述的全量数据翻译方法。
16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-9中任一所述的全量数据翻译方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711296609.8A CN108062368B (zh) | 2017-12-08 | 2017-12-08 | 全量数据翻译方法、装置、服务器及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711296609.8A CN108062368B (zh) | 2017-12-08 | 2017-12-08 | 全量数据翻译方法、装置、服务器及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108062368A CN108062368A (zh) | 2018-05-22 |
CN108062368B true CN108062368B (zh) | 2021-05-07 |
Family
ID=62136270
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711296609.8A Active CN108062368B (zh) | 2017-12-08 | 2017-12-08 | 全量数据翻译方法、装置、服务器及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108062368B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113743228B (zh) * | 2018-12-10 | 2023-07-14 | 百度在线网络技术(北京)有限公司 | 基于多数据融合结果的障碍物存在性检测方法和装置 |
CN110069222A (zh) * | 2019-04-30 | 2019-07-30 | 北京百度网讯科技有限公司 | 应用数据迁移方法、装置、新存储***及介质 |
CN112182469A (zh) * | 2020-10-20 | 2021-01-05 | 南京焦点领动云计算技术有限公司 | 一种网站页面多语种自动复制及翻译方法 |
CN113890899B (zh) * | 2021-09-13 | 2022-11-18 | 北京交通大学 | 一种基于知识图谱的协议转换方法 |
CN114138196A (zh) * | 2021-11-26 | 2022-03-04 | 南方电网大数据服务有限公司 | 电力***数据存储方法、装置、计算机设备和存储介质 |
CN114579888B (zh) * | 2022-04-26 | 2022-08-30 | 支付宝(杭州)信息技术有限公司 | 知识图谱数据构建的方法、***和非瞬态计算机可读介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6547829B1 (en) * | 1999-06-30 | 2003-04-15 | Microsoft Corporation | Method and system for detecting duplicate documents in web crawls |
CN1680938A (zh) * | 2004-02-12 | 2005-10-12 | 微软公司 | 决策论web爬行探测和预测网页改变 |
CN103970788A (zh) * | 2013-02-01 | 2014-08-06 | 北京英富森信息技术有限公司 | 一种基于网页爬取的爬虫技术 |
CN104252364A (zh) * | 2013-06-25 | 2014-12-31 | 腾讯科技(深圳)有限公司 | 增量更新的方法、设备及*** |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7606793B2 (en) * | 2004-09-27 | 2009-10-20 | Microsoft Corporation | System and method for scoping searches using index keys |
CN101789042A (zh) * | 2010-01-29 | 2010-07-28 | 华东电网有限公司 | 电网企业cim模型增量比较工具 |
CN102033959A (zh) * | 2010-12-29 | 2011-04-27 | 北京播思软件技术有限公司 | 一种分布式计算***中对象传递的方法 |
GB2514590B (en) * | 2013-05-30 | 2016-01-06 | Keysight Technologies Singapore Holdings Pte Ltd | Method and apparatus for logging data records |
CN103678494B (zh) * | 2013-11-15 | 2018-09-11 | 北京奇虎科技有限公司 | 客户端同步服务端数据的方法及装置 |
CN106294461B (zh) * | 2015-06-01 | 2019-10-08 | 阿里巴巴集团控股有限公司 | 数据导入方法和装置 |
WO2017015220A1 (en) * | 2015-07-17 | 2017-01-26 | Speak Easy Language Learning Incorporated | Second language acquisition systems, methods, and devices |
CN105760534B (zh) * | 2016-03-10 | 2019-03-05 | 上海晶赞科技发展有限公司 | 自定义的可序列化的数据结构、hadoop集群、服务器及其应用方法 |
CN106294768A (zh) * | 2016-08-11 | 2017-01-04 | 深圳市宜搜科技发展有限公司 | 信息搜索方法及信息搜索引擎 |
-
2017
- 2017-12-08 CN CN201711296609.8A patent/CN108062368B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6547829B1 (en) * | 1999-06-30 | 2003-04-15 | Microsoft Corporation | Method and system for detecting duplicate documents in web crawls |
CN1680938A (zh) * | 2004-02-12 | 2005-10-12 | 微软公司 | 决策论web爬行探测和预测网页改变 |
CN103970788A (zh) * | 2013-02-01 | 2014-08-06 | 北京英富森信息技术有限公司 | 一种基于网页爬取的爬虫技术 |
CN104252364A (zh) * | 2013-06-25 | 2014-12-31 | 腾讯科技(深圳)有限公司 | 增量更新的方法、设备及*** |
Also Published As
Publication number | Publication date |
---|---|
CN108062368A (zh) | 2018-05-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108062368B (zh) | 全量数据翻译方法、装置、服务器及存储介质 | |
CN108920659B (zh) | 数据处理***及其数据处理方法、计算机可读存储介质 | |
US8819488B1 (en) | Architecture for end-to-end testing of long-running, multi-stage asynchronous data processing services | |
CN106815254B (zh) | 一种数据处理方法和装置 | |
CN103927314B (zh) | 一种数据批量处理的方法和装置 | |
CN110704484A (zh) | 一种对海量实时数据流进行处理的方法及*** | |
US11188443B2 (en) | Method, apparatus and system for processing log data | |
CN108563697B (zh) | 一种数据处理方法、装置和存储介质 | |
US9235564B2 (en) | Offloading projection of fixed and variable length database columns | |
CN108737549A (zh) | 一种大数据量的日志分析方法及装置 | |
CN110798445A (zh) | 公共网关接口测试方法、装置、计算机设备及存储介质 | |
WO2022068316A1 (zh) | 数据对账方法、装置、设备及存储介质 | |
CN113282611A (zh) | 一种流数据同步的方法、装置、计算机设备及存储介质 | |
CN111694866A (zh) | 数据搜索及存储方法、数据搜索***、装置、设备及介质 | |
CN111625532A (zh) | 数据血缘关系处理方法、装置、计算机设备及存储介质 | |
CN112583743B (zh) | 一种分布式文件交换方法及装置 | |
CN113010542B (zh) | 业务数据处理方法、装置、计算机设备及存储介质 | |
WO2024140058A1 (zh) | 数据表生命周期确定方法、装置、电子设备及存储介质 | |
CN111930385A (zh) | 数据采集方法、装置、设备及存储介质 | |
CN116069725A (zh) | 文件迁移方法、装置、设备、介质和程序产品 | |
CN114218173B (zh) | 传帐类交易文件的批处理***、处理方法、介质和设备 | |
CN113626438B (zh) | 一种数据表管理的方法、装置、计算机设备及存储介质 | |
CN113760950B (zh) | 指标数据查询方法、装置、电子设备以及存储介质 | |
WO2021244233A1 (zh) | 一种处理订单数据的方法和装置 | |
Jiang et al. | Scalable video transcoding in public clouds |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |