一种WEB服务通信的方法及装置与流程

文档序号:18406775发布日期:2019-08-10 00:28阅读:133来源:国知局
一种WEB服务通信的方法及装置与流程

本发明实施例涉及业务监控技术领域,尤其涉及一种web服务通信的方法及装置。



背景技术:

web服务之间时刻进行着高频的信息通信,通信内容通常包含重复的结构化数据,这些重复的结构化数据为在通信的过程中占据了大量的带宽,给系统造成巨大的开销。



技术实现要素:

本发明实施例提供一种web服务通信的方法及装置,用以实现对通信内容进行数据压缩,降低通信内容占用的带宽,节省系统开销。

第一方面,本发明实施例提供的一种web服务通信的方法,包括:

服务发起方获取待传输的报文;

所述服务发起方在确定所述待传输的报文中不包括编码字典中的保留字符时,根据所述编码字典对所述待传输的报文进行编码,得到第一报文,并将所述第一报文的编码标志设置为真;所述编码字典是根据web服务的所有对外通信出口和历史通信报文确定的;

所述服务发起方将所述第一报文及其对应的编码标志发送给服务接收方,以使所述服务接收方对所述第一报文进行解码。

上述技术方案中,由于通过编码字典对待传输的报文进行压缩编码,从而可以降低传输报文所需的带宽,节省系统开销,提高通信效率。

可选的,所述服务发起方根据web服务的所有对外通信出口和历史通信报文确定所述编码字典,包括:

所述服务发起方获取所有对外通信出口的id和所述历史通信报文;

所述服务发起方根据所述历史通信报文以及所述对外通信出口的id,确定各对外通信出口被调用次数;

所述服务发起方根据所述各对外通信出口被调用次数和所述历史通信报文,确定所述各对外通信出口对应的历史通信报文集合;

所述服务发起方根据预设的字符集合,对所述各对外通信出口对应的历史通信报文集合中的报文内容进行断词,得到所述各对外通信出口对应的字符串数组集合;

所述服务发起方统计各所述字符串数组集合各个数据项的频度,根据关联规则确定出频繁项集;

所述服务发起方根据各所述频繁项集和多进制哈夫曼编码方法,确定出编码树;

所述服务发起方将所述编码树中所有节点的所有子树按照权值大小与预设的保留字符集合中的保留字符映射编码,确定出所述编码字典。

可选的,所述服务发起方根据所述各对外通信出口被调用次数和所述历史通信报文,确定所述各对外通信出口对应的历史通信报文集合,包括:

所述服务发起方对所述各对外通信出口按照所述各对外通信出口被调用次数进行排序,确定出被调用次数大于第一阈值的对外通信出口,作为第一集合;

所述服务发起方根据所述历史通信报文,统计预设时间内所述第一集合中各个元素在web服务中被调用的历史通信报文,确定出所述各对外通信出口对应的历史通信报文集合。

可选的,在所述服务发起方得到所述各对外通信出口对应的字符串数组集合之后,还包括:

所述服务发起方遍历所述字符串数组集合中的每个数组元素,根据每个数组元素的位置和预设的间隔符,对所述每个数组元素重新赋值。

可选的,所述服务发起方统计各所述字符串数组集合各个数据项的频度,根据关联规则确定出频繁项集,包括:

所述服务发起方统计各所述字符串数组集合各个数据项的频度,根据第二阈值和第三阈值,确定出骨架项集和一项频繁项集;

所述服务发起方创建根节点为空的关联规则树,对各所述字符串数组按照各数组元素在所述一项频繁项集的位置进行排序,删除各所述字符串数组中频度小于第二阈值与数组元素数量乘积的数组元素;

所述服务发起方将各所述字符串数组中的数组元素插入到所述根节点为空的关联规则树中;

所述服务发起方统计插入数组元素后的关联规则树的叶子节点,若叶子节点为单路径,生成条件模式基,若所述叶子节点不是单路径,则生成多路径条件模式基,构成条件模式树,确定出频繁项集;

所述服务发起方将所述骨架项集合并为一项频繁项集以及其频度,添加至所述频繁项集。

可选的,所述服务发起方根据各所述频繁项集和多进制哈夫曼编码方法,确定出编码树,包括:

所述服务发起方将所述频繁项集中的元素按照元素的字符长度和频度进行排序;

所述服务发起方为所述频繁项集中的每个元素构建由空二叉树扩充得到的扩充二叉树;

所述服务发起方从各所述扩充二叉树中,循环按照根节点权值有小到大的顺序选取k个,作为多路子树,确定出所述编码树。

可选的,所述服务发起方根据所述编码字典对所述待传输的报文进行编码,得到第一报文,包括:

所述服务发起方将所述待传输的报文根据预设的字符集合进行断词,得到第一字符串数组集合,并将字符记录为第一变量;

所述服务发起方遍历所述编码字典,若所述编码字典中的元素属于所述第一字符串数组集合,则将所述编码字典中的元素对应的字符确定为第二变量,并将所述编码字典中的元素从所述第一字符串数组中删除;

所述服务发起方遍历删除所述编码字典中的元素之后的所述第一字符串数组,根据各数组元素的位置和预设的间隔符重新赋值后确定为第三变量;

所述服务发起方通过游程编码方法对所述第一变量重新赋值后与所述第二变量和所述第三变量确定出所述第一报文。

可选的,在所述服务发起方获取待传输的报文之前,还包括:

所述服务发起方将所述编码字典发送给所述服务接收方。

第二方面,本发明实施例提供一种web服务通信的方法,包括:

服务接收方接收服务发起方发送的第一报文及其对应的编码标志;

若所述第一报文对应的编码标志为真,则所述服务接收方根据编码字典对所述第一报文进行解码;所述编码字典是所述服务发起方根据web服务的所有对外通信出口和历史通信报文确定的。

可选的,所述服务接收方根据编码字典对所述第一报文进行解码,包括:

所述服务接收方通过游程解码方法对所述第一报文进行解码得到第一变量;

所述服务接收方根据所述第一变量的个数创建字符串数组;

所述服务接收方根据所述编码字典和哈夫曼解码方法对所述第一报文进行解码,得到第二变量和第三变量;

所述服务接收方根据所述第一报文、所述第一变量、所述第二变量和所述第三变量,确定出解码后的第一报文。

可选的,服务接收方在接收服务发起方发送的第一报文及其对应的编码标志之前,还包括:

所述服务接收方接收所述服务发起方发送的所述编码字典。

第三方面,本发明实施例还提供了一种web服务通信的装置,包括:

获取单元,用于获取待传输的报文;

处理单元,用于在确定所述待传输的报文中不包括编码字典中的保留字符时,根据所述编码字典对所述待传输的报文进行编码,得到第一报文,并将所述第一报文的编码标志设置为真;所述编码字典是根据web服务的所有对外通信出口和历史通信报文确定的;

发送单元,用于将所述第一报文及其对应的编码标志发送给服务接收方,以使所述服务接收方对所述第一报文进行解码。

可选的,所述处理单元具体用于:

获取所有对外通信出口的id和所述历史通信报文;

根据所述历史通信报文以及所述对外通信出口的id,确定各对外通信出口被调用次数;

根据所述各对外通信出口被调用次数和所述历史通信报文,确定所述各对外通信出口对应的历史通信报文集合;

根据预设的字符集合,对所述各对外通信出口对应的历史通信报文集合中的报文内容进行断词,得到所述各对外通信出口对应的字符串数组集合;

统计各所述字符串数组集合各个数据项的频度,根据关联规则确定出频繁项集;

根据各所述频繁项集和多进制哈夫曼编码方法,确定出编码树;

将所述编码树中所有节点的所有子树按照权值大小与预设的保留字符集合中的保留字符映射编码,确定出所述编码字典。

可选的,所述处理单元具体用于:

对所述各对外通信出口按照所述各对外通信出口被调用次数进行排序,确定出被调用次数大于第一阈值的对外通信出口,作为第一集合;

根据所述历史通信报文,统计预设时间内所述第一集合中各个元素在web服务中被调用的历史通信报文,确定出所述各对外通信出口对应的历史通信报文集合。

可选的,所述处理单元还用于:

在所述得到所述各对外通信出口对应的字符串数组集合之后,遍历所述字符串数组集合中的每个数组元素,根据每个数组元素的位置和预设的间隔符,对所述每个数组元素重新赋值。

可选的,所述处理单元具体用于:

统计各所述字符串数组集合各个数据项的频度,根据第二阈值和第三阈值,确定出骨架项集和一项频繁项集;

创建根节点为空的关联规则树,对各所述字符串数组按照各数组元素在所述一项频繁项集的位置进行排序,删除各所述字符串数组中频度小于第二阈值与数组元素数量乘积的数组元素;

将各所述字符串数组中的数组元素插入到所述根节点为空的关联规则树中;

统计插入数组元素后的关联规则树的叶子节点,若叶子节点为单路径,生成条件模式基,若所述叶子节点不是单路径,则生成多路径条件模式基,构成条件模式树,确定出频繁项集;

将所述骨架项集合并为一项频繁项集以及其频度,添加至所述频繁项集。

可选的,所述处理单元具体用于:

将所述频繁项集中的元素按照元素的字符长度和频度进行排序;

为所述频繁项集中的每个元素构建由空二叉树扩充得到的扩充二叉树;

从各所述扩充二叉树中,循环按照根节点权值有小到大的顺序选取k个,作为多路子树,确定出所述编码树。

可选的,所述处理单元具体用于:

将所述待传输的报文根据预设的字符集合进行断词,得到第一字符串数组集合,并将字符记录为第一变量;

遍历所述编码字典,若所述编码字典中的元素属于所述第一字符串数组集合,则将所述编码字典中的元素对应的字符确定为第二变量,并将所述编码字典中的元素从所述第一字符串数组中删除;

遍历删除所述编码字典中的元素之后的所述第一字符串数组,根据各数组元素的位置和预设的间隔符重新赋值后确定为第三变量;

通过游程编码方法对所述第一变量重新赋值后与所述第二变量和所述第三变量确定出所述第一报文。

可选的,所述处理单元还用于:

在获取待传输的报文之前,控制所述发送单元将所述编码字典发送给所述服务接收方。

第四方面,本发明实施例还提供了一种web服务通信的装置,包括:

接收单元,用于接收服务发起方发送的第一报文及其对应的编码标志;

处理单元,用于若所述第一报文对应的编码标志为真,则根据编码字典对所述第一报文进行解码;所述编码字典是所述服务发起方根据web服务的所有对外通信出口和历史通信报文确定的。

可选的,所述处理单元具体用于:

通过游程解码方法对所述第一报文进行解码得到第一变量;

根据所述第一变量的个数创建字符串数组;

根据所述编码字典和哈夫曼解码方法对所述第一报文进行解码,得到第二变量和第三变量;

根据所述第一报文、所述第一变量、所述第二变量和所述第三变量,确定出解码后的第一报文。

可选的,所述处理单元还用于:

在接收服务发起方发送的第一报文及其对应的编码标志之前,控制所述接收单元接收所述服务发起方发送的所述编码字典。

第五方面,本发明实施例还提供了一种计算设备,包括:

存储器,用于存储程序指令;

处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行上述web服务通信的方法。

第六方面,本发明实施例还提供了一种计算机可读非易失性存储介质,包括计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行上述web服务通信的方法。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种系统架构的示意图;

图2为本发明实施例提供的一种服务方的结构示意图;

图3为本发明实施例提供的一种web服务通信的方法的流程示意图;

图4为本发明实施例提供的一种编码结果的示意图;

图5为本发明实施例提供的一种历史通信报文的示意图;

图6为本发明实施例提供的一种编码字典的示意图;

图7为本发明实施例提供的一种编码结果的示意图;

图8为本发明实施例提供的一种web服务通信的装置的结构示意图;

图9为本发明实施例提供的一种web服务通信的装置的结构示意图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

图1示例性地示出了本发明实施例所适用的一种系统架构的结构,该系统架构可以包括服务发起方100和服务接收方200。

其中,所述服务发起方100可以制定编码字典,根据编码字典对传输的报文进行编码后发送给服务接收方200。

服务发起方100和服务接收方200的可以包括如图2所示的结构,包括处理器110、通信接口120和存储器130。

其中,通信接口120用于与其它服务方进行通信,收发其它服务方传输的信息,实现通信。

处理器110是服务器100的控制中心,利用各种接口和路线连接整个服务器100的各个部分,通过运行或执行存储在存储器130内的软件程序/或模块,以及调用存储在存储器130内的数据,执行服务器100的各种功能和处理数据。可选地,处理器110可以包括一个或多个处理单元。

存储器130可用于存储软件程序以及模块,处理器110通过运行存储在存储器130的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器130可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据业务处理所创建的数据等。此外,存储器130可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

基于上述描述,图3示例性地示出了本发明实施例提供的一种web服务通信的方法的流程,该流程可以由web服务通信的装置执行,下面将通过服务发起方和服务接收方交互的方式来描述该web服务通信的流程。

如图3所示,该流程具体包括:

步骤301,服务发起方获取待传输的报文。

在本发明实施例中,服务发起方在获取待传输的报文之前,需要先确定编码字典,该编码字典可以依据web服务的所有对外通信出口和历史通信报文来确定。

具体的,可以服务发起方获取所有对外通信出口的id和历史通信报文,先根据历史通信报文以及对外通信出口的id,确定各对外通信出口被调用次数。然后根据各对外通信出口被调用次数和历史通信报文,确定各对外通信出口对应的历史通信报文集合。再根据预设的字符集合,对各对外通信出口对应的历史通信报文集合中的报文内容进行断词,得到各对外通信出口对应的字符串数组集合。统计各字符串数组集合各个数据项的频度,根据关联规则确定出频繁项集,根据各频繁项集和多进制哈夫曼编码方法,确定出编码树,最后将预设的保留字符集合中的保留字符与编码树中的所有节点进行映射,确定出编码字典。其中,预设的字符集合和预设的保留字符集合可以依据经验设置。

在确定各对外通信出口对应的历史通信报文集合时,可以先对各对外通信出口按照各对外通信出口被调用次数进行排序,确定出被调用次数大于第一阈值的对外通信出口,作为第一集合。然后根据历史通信报文,统计预设时间内第一集合中各个元素在web服务中被调用的历史通信报文,确定出各对外通信出口对应的历史通信报文集合。该第一阈值可以依据经验设置。

需要说明的是,服务发起方在得到各对外通信出口对应的字符串数组集合之后,还可以遍历字符串数组集合中的每个数组元素,根据每个数组元素的位置和预设的间隔符,对每个数组元素重新赋值。重新赋值的目的是避免因为报文中有重复的字符而出现编码错乱的情况。

当服务发起方确定频繁项集时,可以先统计各字符串数组集合各个数据项的频度,根据第二阈值和第三阈值,确定出骨架项集和一项频繁项集。创建根节点为空的关联规则树,对各字符串数组按照各数组元素在一项频繁项集的位置进行排序,删除各字符串数组中频度小于第二阈值与数组元素数量乘积的数组元素。将各字符串数组中的数组元素插入到根节点为空的关联规则树中,统计插入数组元素后的关联规则树的叶子节点,若叶子节点为单路径,生成条件模式基,若叶子节点不是单路径,则生成多路径条件模式基,构成条件模式树,确定出频繁项集。最后将骨架项集合并为一项频繁项集以及其频度,添加至频繁项集。该第二阈值和第三阈值可以依据经验设置。

进一步的,服务发起方在确定编码树时,可以将频繁项集中的元素按照元素的字符长度和频度进行排序,为频繁项集中的每个元素构建由空二叉树扩充得到的扩充二叉树。然后从各所述扩充二叉树中,循环按照根节点权值有小到大的顺序选取k个,作为多路子树,确定出编码树,k为正整数。

为了更好的解释上述实施例,举例来说,对web服务包含的所有对外通信出口,包括接口、消息队列等,做唯一编号处理,也就是对外通信出口的id,唯一编号作为key存入map类型的集合countmap。

统计时间段t1内,countmap中各个key被调用次数,用count表示,作为countmap的value存入集合。对countmap按照value降序排序,根据输入的选择阈值λ1(0<λ1<1,该λ1为第一阈值),取出集合中value值最大的n1,记为集合l1,计算公式(1)如下,s1为countmap的容量大小。

n1=s1×λ1……………………………(1)

统计在t2时间内,l1中第一个元素,在web服务中调用的记录集合d1,也就是各对外通信出口对应的历史通信报文集合。同理,在d1处理完毕后,依次取出l1中各个元素在t3、t4……时间内记录d2、d3……。

逐个取出d1的元素di,0<i<n+1,n为d的容量大小,根据文本内容按照预设的字符集合l3断词,得到字符串数组集合la{a1……an},遍历数组ai重新赋值,ai为数组元素,0<i<n+1,n为数组ai大小,公式(2)如下,变量b为预设的间隔符,该预设的间隔符可以依据经验设置。

a'i=i+'b'+ai……………………………(2)

其中,a'i为重新赋值后的数组元素。

统计字符串数组a1……an中各个数组元素的频度fc,0<c<c+1,c为数组元素的种类总数。根据预设第二阈值λ2、第三阈值λ3,0<λ2<λ3<1,获取骨架项集s2{(ai,fi)|n×λ3≤fi},fi为数组元素ai的频度,一项频繁项集s3{i|n×λ2<fi<n×λ3},按照频度对s3降序排列,n为字符串数组的个数。

创建根节点为null的树fptree,然后对集合la中字符串数组a1……an,按照数组元素在s3的位置排序,删除满足fc<n×λ2的数组元素ai。将la中ai逐条插入到fptree中,树节点ei(0<i<n+1),n为节点个数,相同前缀的ai共享ei,ei包含变量fc,表示该节点的频度数。统计叶子节点ei,若ei是一条单路径,生成条件模式基α,即该路径除去ei,计数为叶子节点计数fc;若ei不是单路径,生成各路径条件模式基αi,i>0,构成条件模式树fptreei,循环此步骤,得到频繁项集m。最后将骨架项集s2合并作为一项频繁项集m,与其频度f加入频繁项集m。

将频繁项集m元素按照h值正向排序,hi=li×fi,li为mi字符长度,fi为mi的频度,并设定编码保留字符集合code,该保留字符集合中的保留字符可以为希腊字母。为m中每个mi,构造由空二叉树扩充得到的扩充二叉树{t1……tm}。每个ti(0<i<m+1),只有一个外部节点,它的权值置为hi;从{t1……tm}中,按根结点权值小到大顺序选取k个,k为code的容量大小,作为多路子树,多路子树按照根节点大小顺序排列,根结点的权值置为多路子树根节点权值之和。重复上述步骤,每次使扩充二叉树的个数减少k个,剩余不足k个的当做k个处理,得到编码树htree。

遍历htree中所有节点,将节点所有子树按照权值大小与code映射编码,最终将m中每个mi与对应的编码mki存入map集合codemap中,mki作为key,mi作为value。其中集合codemap即为编码字典。例如code包含α、β、γ三个字符,编码结果可以如图4所示。

通过上述步骤得到编码字典之后,服务发起方将生成的编码字典发送至服务接收方。

步骤302,服务发起方在确定所述待传输的报文中不包括编码字典中的保留字符时,根据所述编码字典对所述待传输的报文进行编码,得到第一报文,并将所述第一报文的编码标志设置为真。

具体的,服务发起方将待传输的报文根据预设的字符集合进行断词,得到第一字符串数组集合,并将字符记录为第一变量。遍历所述编码字典,若所述编码字典中的元素属于所述第一字符串数组集合,则将所述编码字典中的元素对应的字符确定为第二变量,并将所述编码字典中的元素从所述第一字符串数组中删除。遍历删除所述编码字典中的元素之后的所述第一字符串数组,根据各数组元素的位置和预设的间隔符重新赋值后确定为第三变量。通过游程编码方法对所述第一变量重新赋值后与所述第二变量和所述第三变量确定出所述第一报文。

举例来说,web服务发起请求时,获取请求文本内容os,判断os是否包含code元素,也就是保留字符,若包含则停止编码。若不包含,对文本内容os按照字符集合l3断词,并将字符记录为is,也就是第一变量,对得到数组a重新赋值。

遍历codemap,若mi∈a,将相应的mki写入第二变量cs,并将mi包含的项集从a中删除。遍历a,通过公式ai=ai-i-'b'重新赋值,将剩余项集加入第三变量rs中。对is重新计算赋值,公式为is=f(is),f代表游程编码算法。通过公式rs=cs+os+is得到编码后的结果,也就是最终编码后的报文,即第一报文。服务发起方将编码标志cf置为true,并与编码结果rs一并发送至服务接收方。

步骤303,服务发起方发送所述第一报文及其对应的编码标志。

步骤304,若所述第一报文对应的编码标志为真,则服务接收方根据编码字典对所述第一报文进行解码。

具体的,服务接收方通过游程解码方法对第一报文进行解码得到第一变量,根据第一变量的个数创建字符串数组。根据编码字典和哈夫曼解码方法对第一报文进行解码,得到第二变量和第三变量。根据第一报文、第一变量、第二变量和第三变量,确定出解码后的第一报文。

举例来说,服务接收方接收到请求后,判断cf标志,若cf标志为true进行解码处理,得到原始报文ds。

首先通过游程解码算法将第一变量is解码,is=df(is)。然后创建字符串数组da,da大小为is字符个数。取第三变量rs中第二变量cs和codemap,通过进行huffman解码算法解码,第二变量cs=hf(cs)。遍历第二变量cs、报文内容os每个元素,取出上述公式(2)中的i、ai,对da赋值,da[i]=ai。将os、is顺序加入da中,dai=isi+dai。将da遍历输出即为压缩编码前的原始报文ds。

上述实施例可以表明,服务发起方获取待传输的报文,在确定所述待传输的报文中不包括编码字典中的保留字符时,根据编码字典对待传输的报文进行编码,得到第一报文,并将第一报文的编码标志设置为真,编码字典是根据web服务的所有对外通信出口和历史通信报文确定的,将第一报文及其对应的编码标志发送给服务接收方,以使服务接收方对第一报文进行解码。由于通过编码字典对待传输的报文进行压缩编码,从而可以降低传输报文所需的带宽,节省系统开销,提高通信效率。

基于上述web服务通信方法进行实际应用,从实际web服务中获取接口八条记录,见图5所示,作为训练集,支持度数置为2,保留字符集为24位希腊字母。通过fp-growth、multi-huffman算法、得到的编码字典,如图6所示。通过编码字典对测试集进行编码测试,可以如图7所示。本发明实施例在具体应用时,时间复杂度低,单次请求编码过程的时间复杂度为o[n],单次请求的解码的时间复杂度为o[n],n为报文的单词数,实际通常的取值范围0-100。由此可见,本发明实施例的压缩比高,时间复杂度低。

需要说明的是,本发明实施例提供一种web服务通信方法,通过fp-growth数据挖掘技术提取需要压缩的信息,然后通过本发明实施例提出的多进制的信息编码方法multi-huffman(多进制哈夫曼),得到占用空间最小的压缩信息,最后,通过游程编码方法对压缩信息的特定区域,进一步压缩处理,得到最终的压缩信息。实验证明,本发明实施例所提供的方法不仅能够大幅降低传输信息所需带宽,而且,方法的时间复杂度低,对系统的效率、稳定性都有显著提高,从而具有很强的实用价值。

基于相同的技术构思,图8示例性地示出了本发明实施例提供的一种web服务通信的装置,该装置可以执行上述web服务通信的流程,该装置可以为上述服务发起方。

如图8所示,该装置可以包括:

获取单元801,用于获取待传输的报文;

处理单元802,用于在确定所述待传输的报文中不包括编码字典中的保留字符时,根据所述编码字典对所述待传输的报文进行编码,得到第一报文,并将所述第一报文的编码标志设置为真;所述编码字典是根据web服务的所有对外通信出口和历史通信报文确定的;

发送单元803,用于将所述第一报文及其对应的编码标志发送给服务接收方,以使所述服务接收方对所述第一报文进行解码。

可选的,所述处理单元802具体用于:

获取所有对外通信出口的id和所述历史通信报文;

根据所述历史通信报文以及所述对外通信出口的id,确定各对外通信出口被调用次数;

根据所述各对外通信出口被调用次数和所述历史通信报文,确定所述各对外通信出口对应的历史通信报文集合;

根据预设的字符集合,对所述各对外通信出口对应的历史通信报文集合中的报文内容进行断词,得到所述各对外通信出口对应的字符串数组集合;

统计各所述字符串数组集合各个数据项的频度,根据关联规则确定出频繁项集;

根据各所述频繁项集和多进制哈夫曼编码方法,确定出编码树;

将所述编码树中所有节点的所有子树按照权值大小与预设的保留字符集合中的保留字符映射编码,确定出所述编码字典。

可选的,所述处理单元802具体用于:

对所述各对外通信出口按照所述各对外通信出口被调用次数进行排序,确定出被调用次数大于第一阈值的对外通信出口,作为第一集合;

根据所述历史通信报文,统计预设时间内所述第一集合中各个元素在web服务中被调用的历史通信报文,确定出所述各对外通信出口对应的历史通信报文集合。

可选的,所述处理单元802还用于:

在所述得到所述各对外通信出口对应的字符串数组集合之后,遍历所述字符串数组集合中的每个数组元素,根据每个数组元素的位置和预设的间隔符,对所述每个数组元素重新赋值。

可选的,所述处理单元802具体用于:

统计各所述字符串数组集合各个数据项的频度,根据第二阈值和第三阈值,确定出骨架项集和一项频繁项集;

创建根节点为空的关联规则树,对各所述字符串数组按照各数组元素在所述一项频繁项集的位置进行排序,删除各所述字符串数组中频度小于第二阈值与数组元素数量乘积的数组元素;

将各所述字符串数组中的数组元素插入到所述根节点为空的关联规则树中;

统计插入数组元素后的关联规则树的叶子节点,若叶子节点为单路径,生成条件模式基,若所述叶子节点不是单路径,则生成多路径条件模式基,构成条件模式树,确定出频繁项集;

将所述骨架项集合并为一项频繁项集以及其频度,添加至所述频繁项集。

可选的,所述处理单元802具体用于:

将所述频繁项集中的元素按照元素的字符长度和频度进行排序;

为所述频繁项集中的每个元素构建由空二叉树扩充得到的扩充二叉树;

从各所述扩充二叉树中,循环按照根节点权值有小到大的顺序选取k个,作为多路子树,确定出所述编码树。

可选的,所述处理单元802具体用于:

将所述待传输的报文根据预设的字符集合进行断词,得到第一字符串数组集合,并将字符记录为第一变量;

遍历所述编码字典,若所述编码字典中的元素属于所述第一字符串数组集合,则将所述编码字典中的元素对应的字符确定为第二变量,并将所述编码字典中的元素从所述第一字符串数组中删除;

遍历删除所述编码字典中的元素之后的所述第一字符串数组,根据各数组元素的位置和预设的间隔符重新赋值后确定为第三变量;

通过游程编码方法对所述第一变量重新赋值后与所述第二变量和所述第三变量确定出所述第一报文。

可选的,所述处理单元802还用于:

在获取待传输的报文之前,控制所述发送单元803将所述编码字典发送给所述服务接收方。

基于相同的技术构思,图9示例性地示出了本发明实施例提供的一种web服务通信的装置,该装置可以执行上述web服务通信的流程,该装置可以为上述服务接收方。

如图9所示,该装置具体包括:

接收单元901,用于接收服务发起方发送的第一报文及其对应的编码标志;

处理单元902,用于若所述第一报文对应的编码标志为真,则根据编码字典对所述第一报文进行解码;所述编码字典是所述服务发起方根据web服务的所有对外通信出口和历史通信报文确定的。

可选的,所述处理单元902具体用于:

通过游程解码方法对所述第一报文进行解码得到第一变量;

根据所述第一变量的个数创建字符串数组;

根据所述编码字典和哈夫曼解码方法对所述第一报文进行解码,得到第二变量和第三变量;

根据所述第一报文、所述第一变量、所述第二变量和所述第三变量,确定出解码后的第一报文。

可选的,所述处理单元902还用于:

在接收服务发起方发送的第一报文及其对应的编码标志之前,控制所述接收单元901接收所述服务发起方发送的所述编码字典。

基于相同的技术构思,本发明实施例还提供了一种计算设备,包括:

存储器,用于存储程序指令;

处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行上述web服务通信的方法。

基于相同的技术构思,本发明实施例还提供了一种计算机可读非易失性存储介质,包括计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行上述web服务通信的方法。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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